From eabb841edb08515ed43b4c0fb8f98c2d03283111 Mon Sep 17 00:00:00 2001 From: Vadym Parakonnyi Date: Tue, 12 Mar 2024 18:36:57 +0100 Subject: [PATCH 1/7] feat: add streamlit app - WIP --- examples/shared/index.ts | 2 +- examples/shared/todos.schema.ts | 41 + nx.json | 60 +- package-lock.json | 8547 ++++++++++++++--- package.json | 29 +- .../collection/src/lib/collection.service.ts | 4 +- packages/rxdb/collection/src/lib/helpers.ts | 23 +- packages/rxdb/config/src/index.ts | 1 + packages/rxdb/config/src/lib/config.ts | 11 - .../{core => config}/src/lib/plugin.loader.ts | 11 +- packages/rxdb/core/src/index.ts | 2 - packages/rxdb/core/src/lib/service.ts | 5 +- packages/rxdb/prepare/README.md | 3 + packages/rxdb/prepare/ng-package.json | 5 + packages/rxdb/prepare/src/index.ts | 1 + .../src/lib/prepare.plugin.spec.ts | 0 .../src/lib/prepare.plugin.ts | 2 +- packages/rxdb/src/lib/rxdb.providers.ts | 18 +- packages/rxdb/utils/src/lib/utils.ts | 70 +- packages/streamlit-rxdb-dataframe/LICENSE | 19 + packages/streamlit-rxdb-dataframe/MANIFEST.in | 1 + .../streamlit-rxdb-dataframe/e2e/e2e_utils.py | 172 + .../e2e/test_rxdb_dataframe.py | 36 + packages/streamlit-rxdb-dataframe/example.py | 18 + .../frontend/.eslintrc.json | 18 + .../frontend/index.html | 16 + .../frontend/project.json | 8 + .../frontend/public/.gitkeep | 0 .../frontend/src/assets/.gitkeep | 0 .../frontend/src/assets/data/col.dump.json | 27 + .../frontend/src/assets/data/db.dump.json | 33 + .../frontend/src/assets/data/todo.schema.json | 42 + .../frontend/src/lib/Database.tsx | 76 + .../frontend/src/lib/RxDBDataframe.tsx | 177 + .../frontend/src/main.tsx | 11 + .../frontend/src/styles.css | 1 + .../frontend/tsconfig.app.json | 24 + .../frontend/tsconfig.json | 21 + .../frontend/tsconfig.spec.json | 28 + .../frontend/vite.config.ts | 54 + packages/streamlit-rxdb-dataframe/poetry.lock | 1396 +++ .../streamlit-rxdb-dataframe/pyproject.toml | 23 + .../rxdb_dataframe/__init__.py | 23 + packages/streamlit-rxdb-dataframe/setup.py | 33 + tsconfig.base.json | 5 + 45 files changed, 9740 insertions(+), 1357 deletions(-) create mode 100644 examples/shared/todos.schema.ts rename packages/rxdb/{core => config}/src/lib/plugin.loader.ts (83%) create mode 100644 packages/rxdb/prepare/README.md create mode 100644 packages/rxdb/prepare/ng-package.json create mode 100644 packages/rxdb/prepare/src/index.ts rename packages/rxdb/{core => prepare}/src/lib/prepare.plugin.spec.ts (100%) rename packages/rxdb/{core => prepare}/src/lib/prepare.plugin.ts (99%) create mode 100644 packages/streamlit-rxdb-dataframe/LICENSE create mode 100644 packages/streamlit-rxdb-dataframe/MANIFEST.in create mode 100644 packages/streamlit-rxdb-dataframe/e2e/e2e_utils.py create mode 100644 packages/streamlit-rxdb-dataframe/e2e/test_rxdb_dataframe.py create mode 100644 packages/streamlit-rxdb-dataframe/example.py create mode 100644 packages/streamlit-rxdb-dataframe/frontend/.eslintrc.json create mode 100644 packages/streamlit-rxdb-dataframe/frontend/index.html create mode 100644 packages/streamlit-rxdb-dataframe/frontend/project.json create mode 100644 packages/streamlit-rxdb-dataframe/frontend/public/.gitkeep create mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/assets/.gitkeep create mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/assets/data/col.dump.json create mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/assets/data/db.dump.json create mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/assets/data/todo.schema.json create mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/lib/Database.tsx create mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx create mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/main.tsx create mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/styles.css create mode 100644 packages/streamlit-rxdb-dataframe/frontend/tsconfig.app.json create mode 100644 packages/streamlit-rxdb-dataframe/frontend/tsconfig.json create mode 100644 packages/streamlit-rxdb-dataframe/frontend/tsconfig.spec.json create mode 100644 packages/streamlit-rxdb-dataframe/frontend/vite.config.ts create mode 100644 packages/streamlit-rxdb-dataframe/poetry.lock create mode 100644 packages/streamlit-rxdb-dataframe/pyproject.toml create mode 100644 packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py create mode 100644 packages/streamlit-rxdb-dataframe/setup.py diff --git a/examples/shared/index.ts b/examples/shared/index.ts index 21a291a..aaadc15 100644 --- a/examples/shared/index.ts +++ b/examples/shared/index.ts @@ -2,8 +2,8 @@ export * from './todos.animation'; export * from './todos.config'; export * from './todos.model'; +export * from './todos.schema'; export * from './todos.replication'; export * from './todos.migration'; export * from './environment'; // end:ng42.barrel - diff --git a/examples/shared/todos.schema.ts b/examples/shared/todos.schema.ts new file mode 100644 index 0000000..4666033 --- /dev/null +++ b/examples/shared/todos.schema.ts @@ -0,0 +1,41 @@ +export const TODO_SCHEMA = { + definitions: {}, + type: 'object', + title: 'Todo', + description: 'Todo Schema', + required: ['id', 'title', 'createdAt'], + version: 3, + properties: { + id: { + type: 'string', + title: 'Id', + pattern: '^(.*)$', + maxLength: 36, + readOnly: true, + }, + title: { + type: 'string', + title: 'Title', + }, + completed: { + type: 'boolean', + title: 'Done', + }, + createdAt: { + type: 'string', + title: 'Created Date', + format: 'date-time', + readOnly: true, + }, + last_modified: { + type: 'number', + title: 'Last Modified Date', + multipleOf: 1, + }, + }, + __indexes: ['createdAt'], + primaryKey: 'id', + attachments: { + encrypted: false, + }, +}; diff --git a/nx.json b/nx.json index f1332fe..d5745b9 100644 --- a/nx.json +++ b/nx.json @@ -9,9 +9,7 @@ "defaultBase": "origin/master" }, "release": { - "projects": [ - "packages/*" - ], + "projects": ["packages/*"], "projectChangelogs": { "createRelease": "github" }, @@ -23,13 +21,8 @@ }, "targetDefaults": { "build": { - "dependsOn": [ - "^build" - ], - "inputs": [ - "production", - "^production" - ], + "dependsOn": ["^build"], + "inputs": ["production", "^production"], "cache": true }, "lint": { @@ -42,11 +35,7 @@ "cache": true }, "@nx/jest:jest": { - "inputs": [ - "default", - "^production", - "{workspaceRoot}/jest.preset.js" - ], + "inputs": ["default", "^production", "{workspaceRoot}/jest.preset.js"], "cache": true, "options": { "passWithNoTests": true @@ -60,10 +49,7 @@ } }, "namedInputs": { - "default": [ - "{projectRoot}/**/*", - "sharedGlobals" - ], + "default": ["{projectRoot}/**/*", "sharedGlobals"], "production": [ "default", "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)", @@ -89,6 +75,40 @@ }, "@nx/angular:component": { "style": "css" + }, + "@nx/react": { + "library": { + "style": "css", + "linter": "eslint", + "unitTestRunner": "jest" + }, + "application": { + "babel": true, + "style": "css", + "linter": "eslint", + "bundler": "vite" + }, + "component": { + "style": "css" + } + } + }, + "plugins": [ + { + "plugin": "@nx/eslint/plugin", + "options": { + "targetName": "lint" + } + }, + { + "plugin": "@nx/vite/plugin", + "options": { + "buildTargetName": "build", + "previewTargetName": "preview", + "testTargetName": "test", + "serveTargetName": "serve", + "serveStaticTargetName": "serve-static" + } } - } + ] } diff --git a/package-lock.json b/package-lock.json index df9b2e3..a86aab0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,9 +26,12 @@ "ngxtension": "^1.12.0", "normalize.css": "8.0.1", "query-string": "^8.1.0", + "react": "18.2.0", + "react-dom": "18.2.0", "reflect-metadata": "0.1.13", "rxdb": "^15.9.1", "rxjs": "7.8.1", + "streamlit-component-lib": "^2.0.0", "todomvc-app-css": "2.4.3", "todomvc-common": "1.0.5", "tslib": "^2.6.2", @@ -58,25 +61,41 @@ "@nx/eslint": "17.2.7", "@nx/eslint-plugin": "17.2.7", "@nx/jest": "17.2.7", - "@nx/js": "^17.2.7", + "@nx/js": "17.3.2", + "@nx/react": "17.3.2", + "@nx/vite": "17.2.7", + "@nx/web": "17.2.7", "@nx/workspace": "17.2.7", "@schematics/angular": "17.0.8", - "@swc-node/register": "~1.6.7", + "@swc-node/register": "~1.8.0", + "@swc/cli": "~0.1.62", "@swc/core": "~1.3.85", + "@swc/helpers": "~0.5.2", + "@swc/jest": "0.2.20", + "@testing-library/react": "14.0.0", "@twittwer/compodoc": "1.12.0", "@types/fs-extra": "^11.0.2", "@types/jest": "^29.4.0", "@types/node": "18.16.9", + "@types/react": "18.2.33", + "@types/react-dom": "18.2.14", "@types/webpack": "4.41.25", "@typescript-eslint/eslint-plugin": "6.15.0", "@typescript-eslint/parser": "6.15.0", + "@vitejs/plugin-react": "^4.2.0", + "@vitejs/plugin-react-swc": "^3.5.0", + "@vitest/coverage-v8": "~0.34.6", + "@vitest/ui": "~0.34.6", "conventional-changelog-cli": "^4.1.0", "document-register-element": "1.14.10", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsdoc": "^46.8.2", + "eslint-plugin-jsx-a11y": "6.7.1", "eslint-plugin-prettier": "5.1.2", + "eslint-plugin-react": "7.32.2", + "eslint-plugin-react-hooks": "4.6.0", "eslint-plugin-rxjs": "=5.0.3", "eslint-plugin-rxjs-angular": "=2.0.1", "fs-extra": "^9.1.0", @@ -87,6 +106,7 @@ "jest-localstorage-mock": "2.4.26", "jest-marbles": "^3.0.6", "jest-preset-angular": "~13.1.4", + "jsdom": "~22.1.0", "jsonc-eslint-parser": "^2.1.0", "lcov-result-merger": "^3.1.0", "lint-staged": "^15.2.0", @@ -106,7 +126,10 @@ "ts-jest": "^29.1.0", "ts-node": "10.9.1", "type-fest": "^4.3.1", - "typescript": "5.2.2" + "typescript": "5.2.2", + "vite": "~5.0.0", + "vite-plugin-dts": "~2.3.0", + "vitest": "~0.34.6" }, "engines": { "node": ">=16" @@ -297,6 +320,358 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/agent-base": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", @@ -334,6 +709,22 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/@angular-devkit/build-angular/node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/undici": { "version": "5.27.2", "resolved": "https://registry.npmjs.org/undici/-/undici-5.27.2.tgz", @@ -346,6 +737,98 @@ "node": ">=14.0" } }, + "node_modules/@angular-devkit/build-angular/node_modules/vite": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", + "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/vite/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, "node_modules/@angular-devkit/build-webpack": { "version": "0.1700.8", "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1700.8.tgz", @@ -1133,14 +1616,14 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz", - "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", "dev": true, "dependencies": { - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1161,9 +1644,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", - "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -2163,6 +2646,116 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz", + "integrity": "sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dev": true, + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", + "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", + "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-regenerator": { "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", @@ -2497,6 +3090,26 @@ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/preset-react": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/preset-typescript": { "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", @@ -2541,23 +3154,23 @@ "dev": true }, "node_modules/@babel/template": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", - "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dev": true, "dependencies": { "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.23.9", - "@babel/types": "^7.23.9" + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", - "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.23.5", @@ -2566,8 +3179,8 @@ "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.9", - "@babel/types": "^7.23.9", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2591,9 +3204,9 @@ } }, "node_modules/@babel/types": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", - "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.23.4", @@ -5531,6 +6144,113 @@ "node": ">=8" } }, + "node_modules/@jest/create-cache-key-function": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz", + "integrity": "sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/create-cache-key-function/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/environment": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", @@ -6261,6 +6981,303 @@ "node": ">= 0.4" } }, + "node_modules/@microsoft/api-extractor": { + "version": "7.42.3", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.42.3.tgz", + "integrity": "sha512-JNLJFpGHz6ekjS6bvYXxUBeRGnSHeCMFNvRbCQ+7XXB/ZFrgLSMPwWtEq40AiWAy+oyG5a4RSNwdJTp0B2USvQ==", + "dev": true, + "dependencies": { + "@microsoft/api-extractor-model": "7.28.13", + "@microsoft/tsdoc": "0.14.2", + "@microsoft/tsdoc-config": "~0.16.1", + "@rushstack/node-core-library": "4.0.2", + "@rushstack/rig-package": "0.5.2", + "@rushstack/terminal": "0.10.0", + "@rushstack/ts-command-line": "4.19.1", + "lodash": "~4.17.15", + "minimatch": "~3.0.3", + "resolve": "~1.22.1", + "semver": "~7.5.4", + "source-map": "~0.6.1", + "typescript": "5.3.3" + }, + "bin": { + "api-extractor": "bin/api-extractor" + } + }, + "node_modules/@microsoft/api-extractor-model": { + "version": "7.28.13", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.28.13.tgz", + "integrity": "sha512-39v/JyldX4MS9uzHcdfmjjfS6cYGAoXV+io8B5a338pkHiSt+gy2eXQ0Q7cGFJ7quSa1VqqlMdlPrB6sLR/cAw==", + "dev": true, + "dependencies": { + "@microsoft/tsdoc": "0.14.2", + "@microsoft/tsdoc-config": "~0.16.1", + "@rushstack/node-core-library": "4.0.2" + } + }, + "node_modules/@microsoft/api-extractor-model/node_modules/@rushstack/node-core-library": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-4.0.2.tgz", + "integrity": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==", + "dev": true, + "dependencies": { + "fs-extra": "~7.0.1", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4", + "z-schema": "~5.0.2" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/api-extractor-model/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "optional": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/@microsoft/api-extractor-model/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@microsoft/api-extractor-model/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@microsoft/api-extractor-model/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@microsoft/api-extractor-model/node_modules/z-schema": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", + "integrity": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==", + "dev": true, + "dependencies": { + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "validator": "^13.7.0" + }, + "bin": { + "z-schema": "bin/z-schema" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "commander": "^9.4.1" + } + }, + "node_modules/@microsoft/api-extractor/node_modules/@rushstack/node-core-library": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-4.0.2.tgz", + "integrity": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==", + "dev": true, + "dependencies": { + "fs-extra": "~7.0.1", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4", + "z-schema": "~5.0.2" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/api-extractor/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "optional": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/@microsoft/api-extractor/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@microsoft/api-extractor/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@microsoft/api-extractor/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@microsoft/api-extractor/node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@microsoft/api-extractor/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@microsoft/api-extractor/node_modules/z-schema": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", + "integrity": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==", + "dev": true, + "dependencies": { + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "validator": "^13.7.0" + }, + "bin": { + "z-schema": "bin/z-schema" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "commander": "^9.4.1" + } + }, + "node_modules/@microsoft/tsdoc": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz", + "integrity": "sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==", + "dev": true + }, + "node_modules/@microsoft/tsdoc-config": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz", + "integrity": "sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==", + "dev": true, + "dependencies": { + "@microsoft/tsdoc": "0.14.2", + "ajv": "~6.12.6", + "jju": "~1.4.0", + "resolve": "~1.19.0" + } + }, + "node_modules/@microsoft/tsdoc-config/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@microsoft/tsdoc-config/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/@microsoft/tsdoc-config/node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@mole-inc/bin-wrapper": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@mole-inc/bin-wrapper/-/bin-wrapper-8.0.1.tgz", + "integrity": "sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA==", + "dev": true, + "dependencies": { + "bin-check": "^4.1.0", + "bin-version-check": "^5.0.0", + "content-disposition": "^0.5.4", + "ext-name": "^5.0.0", + "file-type": "^17.1.6", + "filenamify": "^5.0.2", + "got": "^11.8.5", + "os-filter-obj": "^2.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, "node_modules/@mongodb-js/saslprep": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.1.tgz", @@ -6619,12 +7636,21 @@ } }, "node_modules/@nrwl/js": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.2.7.tgz", - "integrity": "sha512-8AAUmqESQ89Cbark8DlkElINMmDpEJLivan6RPksUUEK6lrZQwVnHf4eWLQzN2/C4i5XkfdxavzluuDPCqHQSQ==", + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.3.2.tgz", + "integrity": "sha512-WuIeSErulJuMeSpeK41RfiWI3jLjDD0S+tLnYdOLaWdjaIPqjknClM2BAJKlq472NnkkNWvtwtOS8jm518OjOQ==", "dev": true, "dependencies": { - "@nx/js": "17.2.7" + "@nx/js": "17.3.2" + } + }, + "node_modules/@nrwl/react": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nrwl/react/-/react-17.3.2.tgz", + "integrity": "sha512-LjH/odvCwCEqlqy4dqy4jnlyTCHLb13W3DoTb7vEy9g+i1vaCXfV061zmFvbweIXV2416sU6TcUCIVYwBVWH6g==", + "dev": true, + "dependencies": { + "@nx/react": "17.3.2" } }, "node_modules/@nrwl/tao": { @@ -6639,6 +7665,15 @@ "tao": "index.js" } }, + "node_modules/@nrwl/vite": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nrwl/vite/-/vite-17.2.7.tgz", + "integrity": "sha512-Fe1ILe5QJb5wxFtupxODpcvGS/vsoLRglwPLEz8eSPeiersXAOaV7kBPtYmZVIF2Qw1Fei8mMwDjQnaihJv82A==", + "dev": true, + "dependencies": { + "@nx/vite": "17.2.7" + } + }, "node_modules/@nrwl/web": { "version": "17.2.7", "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-17.2.7.tgz", @@ -6716,6 +7751,15 @@ "@nx/devkit": "17.2.7" } }, + "node_modules/@nx/angular/node_modules/@nrwl/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.2.7.tgz", + "integrity": "sha512-8AAUmqESQ89Cbark8DlkElINMmDpEJLivan6RPksUUEK6lrZQwVnHf4eWLQzN2/C4i5XkfdxavzluuDPCqHQSQ==", + "dev": true, + "dependencies": { + "@nx/js": "17.2.7" + } + }, "node_modules/@nx/angular/node_modules/@nx/devkit": { "version": "17.2.7", "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.2.7.tgz", @@ -6734,6 +7778,52 @@ "nx": ">= 16 <= 18" } }, + "node_modules/@nx/angular/node_modules/@nx/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.2.7.tgz", + "integrity": "sha512-IghIrp26b9TprxDzJlqH1ZLer+dNmnSDjoT1jviQWcjNY/8wUxe3avd7niMCpfYD6+r7sSGPZ+KVQSRwT3L09g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "17.2.7", + "@nx/devkit": "17.2.7", + "@nx/workspace": "17.2.7", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "3.0.5", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, "node_modules/@nx/angular/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -6783,6 +7873,22 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/@nx/angular/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@nx/angular/node_modules/find-cache-dir": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", @@ -6813,6 +7919,20 @@ "node": ">=8" } }, + "node_modules/@nx/angular/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/@nx/angular/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -6870,6 +7990,28 @@ "semver": "bin/semver.js" } }, + "node_modules/@nx/angular/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@nx/angular/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -6924,6 +8066,25 @@ "node": ">=10" } }, + "node_modules/@nx/angular/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/angular/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/@nx/angular/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -6975,6 +8136,15 @@ "@nx/devkit": "17.2.7" } }, + "node_modules/@nx/cypress/node_modules/@nrwl/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.2.7.tgz", + "integrity": "sha512-8AAUmqESQ89Cbark8DlkElINMmDpEJLivan6RPksUUEK6lrZQwVnHf4eWLQzN2/C4i5XkfdxavzluuDPCqHQSQ==", + "dev": true, + "dependencies": { + "@nx/js": "17.2.7" + } + }, "node_modules/@nx/cypress/node_modules/@nx/devkit": { "version": "17.2.7", "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.2.7.tgz", @@ -6993,6 +8163,140 @@ "nx": ">= 16 <= 18" } }, + "node_modules/@nx/cypress/node_modules/@nx/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.2.7.tgz", + "integrity": "sha512-IghIrp26b9TprxDzJlqH1ZLer+dNmnSDjoT1jviQWcjNY/8wUxe3avd7niMCpfYD6+r7sSGPZ+KVQSRwT3L09g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "17.2.7", + "@nx/devkit": "17.2.7", + "@nx/workspace": "17.2.7", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "3.0.5", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/cypress/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nx/cypress/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@nx/cypress/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nx/cypress/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@nx/cypress/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/cypress/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nx/cypress/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/@nx/cypress/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -7005,6 +8309,28 @@ "node": ">=10" } }, + "node_modules/@nx/cypress/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@nx/cypress/node_modules/semver": { "version": "7.5.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", @@ -7020,6 +8346,37 @@ "node": ">=10" } }, + "node_modules/@nx/cypress/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/cypress/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@nx/cypress/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@nx/cypress/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -7105,6 +8462,15 @@ "@nx/devkit": "17.2.7" } }, + "node_modules/@nx/eslint-plugin/node_modules/@nrwl/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.2.7.tgz", + "integrity": "sha512-8AAUmqESQ89Cbark8DlkElINMmDpEJLivan6RPksUUEK6lrZQwVnHf4eWLQzN2/C4i5XkfdxavzluuDPCqHQSQ==", + "dev": true, + "dependencies": { + "@nx/js": "17.2.7" + } + }, "node_modules/@nx/eslint-plugin/node_modules/@nx/devkit": { "version": "17.2.7", "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.2.7.tgz", @@ -7123,6 +8489,52 @@ "nx": ">= 16 <= 18" } }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.2.7.tgz", + "integrity": "sha512-IghIrp26b9TprxDzJlqH1ZLer+dNmnSDjoT1jviQWcjNY/8wUxe3avd7niMCpfYD6+r7sSGPZ+KVQSRwT3L09g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "17.2.7", + "@nx/devkit": "17.2.7", + "@nx/workspace": "17.2.7", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "3.0.5", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, "node_modules/@nx/eslint-plugin/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -7172,6 +8584,36 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/@nx/eslint-plugin/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/@nx/eslint-plugin/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7193,6 +8635,28 @@ "node": ">=10" } }, + "node_modules/@nx/eslint-plugin/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@nx/eslint-plugin/node_modules/semver": { "version": "7.5.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", @@ -7208,6 +8672,25 @@ "node": ">=10" } }, + "node_modules/@nx/eslint-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/@nx/eslint-plugin/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -7235,6 +8718,15 @@ "@nx/devkit": "17.2.7" } }, + "node_modules/@nx/eslint/node_modules/@nrwl/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.2.7.tgz", + "integrity": "sha512-8AAUmqESQ89Cbark8DlkElINMmDpEJLivan6RPksUUEK6lrZQwVnHf4eWLQzN2/C4i5XkfdxavzluuDPCqHQSQ==", + "dev": true, + "dependencies": { + "@nx/js": "17.2.7" + } + }, "node_modules/@nx/eslint/node_modules/@nx/devkit": { "version": "17.2.7", "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.2.7.tgz", @@ -7253,37 +8745,224 @@ "nx": ">= 16 <= 18" } }, - "node_modules/@nx/eslint/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@nx/eslint/node_modules/@nx/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.2.7.tgz", + "integrity": "sha512-IghIrp26b9TprxDzJlqH1ZLer+dNmnSDjoT1jviQWcjNY/8wUxe3avd7niMCpfYD6+r7sSGPZ+KVQSRwT3L09g==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "@babel/core": "^7.22.9", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "17.2.7", + "@nx/devkit": "17.2.7", + "@nx/workspace": "17.2.7", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "3.0.5", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } } }, - "node_modules/@nx/eslint/node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "node_modules/@nx/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@nx/eslint/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/@nx/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@nx/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nx/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@nx/eslint/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/eslint/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nx/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/eslint/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/eslint/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/eslint/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/eslint/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/eslint/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@nx/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/eslint/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "node_modules/@nx/jest": { @@ -7307,34 +8986,1000 @@ "tslib": "^2.3.0" } }, - "node_modules/@nx/jest/node_modules/@nrwl/devkit": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.2.7.tgz", - "integrity": "sha512-TISLlIH3xSWre2NLg0aMUBmTvMus+xUicaMeg8DWvwSXJJIMC5QFlB1hjw0VkyLsSraHpd5PWtyDqldHWRfKUQ==", + "node_modules/@nx/jest/node_modules/@nrwl/devkit": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.2.7.tgz", + "integrity": "sha512-TISLlIH3xSWre2NLg0aMUBmTvMus+xUicaMeg8DWvwSXJJIMC5QFlB1hjw0VkyLsSraHpd5PWtyDqldHWRfKUQ==", + "dev": true, + "dependencies": { + "@nx/devkit": "17.2.7" + } + }, + "node_modules/@nx/jest/node_modules/@nrwl/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.2.7.tgz", + "integrity": "sha512-8AAUmqESQ89Cbark8DlkElINMmDpEJLivan6RPksUUEK6lrZQwVnHf4eWLQzN2/C4i5XkfdxavzluuDPCqHQSQ==", + "dev": true, + "dependencies": { + "@nx/js": "17.2.7" + } + }, + "node_modules/@nx/jest/node_modules/@nx/devkit": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.2.7.tgz", + "integrity": "sha512-RyJyFO5PkNhMrebpv93Bci6pRkrw6guyfX7Esl/5+O6UfN0ytnmaRIrbiVwftTQ6m/T08OWrJQHZMuByP0WWHQ==", + "dev": true, + "dependencies": { + "@nrwl/devkit": "17.2.7", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "semver": "7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "nx": ">= 16 <= 18" + } + }, + "node_modules/@nx/jest/node_modules/@nx/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.2.7.tgz", + "integrity": "sha512-IghIrp26b9TprxDzJlqH1ZLer+dNmnSDjoT1jviQWcjNY/8wUxe3avd7niMCpfYD6+r7sSGPZ+KVQSRwT3L09g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "17.2.7", + "@nx/devkit": "17.2.7", + "@nx/workspace": "17.2.7", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "3.0.5", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nx/jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@nx/jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nx/jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@nx/jest/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/jest/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nx/jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/jest/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/jest/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/jest/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/jest/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/jest/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@nx/jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/jest/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@nx/js": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.3.2.tgz", + "integrity": "sha512-37E3OILyu/7rCj6Z7tvC6PktHYa51UQBU+wWPdVWSZ64xu1SUsg9B9dfiyD1LXR9/rhjg4+0+g4cou0aqDK1Wg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "17.3.2", + "@nx/devkit": "17.3.2", + "@nx/workspace": "17.3.2", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/js/node_modules/@nrwl/tao": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-17.3.2.tgz", + "integrity": "sha512-5uvpSmij0J9tteFV/0M/024K+H/o3XAlqtSdU8j03Auj1IleclSLF2yCTuIo7pYXhG3cgx1+nR+3nMs1QVAdUA==", + "dev": true, + "dependencies": { + "nx": "17.3.2", + "tslib": "^2.3.0" + }, + "bin": { + "tao": "index.js" + } + }, + "node_modules/@nx/js/node_modules/@nrwl/workspace": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-17.3.2.tgz", + "integrity": "sha512-7xE/dujPjOIxsCV6TB0C4768voQaQSxmEUAbVz0mywBGrVpjpvAIx1GvdB6wwgWqtpZTz34hKFkUSJFPweUvbg==", + "dev": true, + "dependencies": { + "@nx/workspace": "17.3.2" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-darwin-arm64": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.3.2.tgz", + "integrity": "sha512-hn12o/tt26Pf4wG+8rIBgNIEZq5BFlHLv3scNrgKbd5SancHlTbY4RveRGct737UQ/78GCMCgMDRgNdagbCr6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-darwin-x64": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-17.3.2.tgz", + "integrity": "sha512-5F28wrfE7yU60MzEXGjndy1sPJmNMIaV2W/g82kTXzxAbGHgSjwrGFmrJsrexzLp9oDlWkbc6YmInKV8gmmIaQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-freebsd-x64": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.3.2.tgz", + "integrity": "sha512-07MMTfsJooONqL1Vrm5L6qk/gzmSrYLazjkiTmJz+9mrAM61RdfSYfO3mSyAoyfgWuQ5yEvfI56P036mK8aoPg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.3.2.tgz", + "integrity": "sha512-gQxMF6U/h18Rz+FZu50DZCtfOdk27hHghNh3d3YTeVsrJTd1SmUQbYublmwU/ia1HhFS8RVI8GvkaKt5ph0HoA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.3.2.tgz", + "integrity": "sha512-X20wiXtXmKlC01bpVEREsRls1uVOM22xDTpqILvVty6+P+ytEYFR3Vs5EjDtzBKF51wjrwf03rEoToZbmgM8MA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-arm64-musl": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.3.2.tgz", + "integrity": "sha512-yko3Xsezkn4tjeudZYLjxFl07X/YB84K+DLK7EFyh9elRWV/8VjFcQmBAKUS2r9LfaEMNXq8/vhWMOWYyWBrIA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-x64-gnu": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.3.2.tgz", + "integrity": "sha512-RiPvvQMmlZmDu9HdT6n6sV0+fEkyAqR5VocrD5ZAzEzFIlh4dyVLripFR3+MD+QhIhXyPt/hpri1kq9sgs4wnw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-x64-musl": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.3.2.tgz", + "integrity": "sha512-PWfVGmFsFJi+N1Nljg/jTKLHdufpGuHlxyfHqhDso/o4Qc0exZKSeZ1C63WkD7eTcT5kInifTQ/PffLiIDE3MA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.3.2.tgz", + "integrity": "sha512-O+4FFPbQz1mqaIj+SVE02ppe7T9ELj7Z5soQct5TbRRhwjGaw5n5xaPPBW7jUuQe2L5htid1E82LJyq3JpVc8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-win32-x64-msvc": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.3.2.tgz", + "integrity": "sha512-4hQm+7coy+hBqGY9J709hz/tUPijhf/WS7eML2r2xBmqBew3PMHfeZuaAAYWN690nIsu0WX3wyDsNjulR8HGPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/workspace": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-17.3.2.tgz", + "integrity": "sha512-2y952OmJx+0Rj+LQIxat8SLADjIkgB6NvjtgYZt8uRQ94jRS/JsRvGTw0V8DsY9mvsNbYoIRdJP25T3pGnI3gQ==", + "dev": true, + "dependencies": { + "@nrwl/workspace": "17.3.2", + "@nx/devkit": "17.3.2", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "17.3.2", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/js/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nx/js/node_modules/axios": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/@nx/js/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nx/js/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@nx/js/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nx/js/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nx/js/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@nx/js/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/js/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nx/js/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/js/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/js/node_modules/nx": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-17.3.2.tgz", + "integrity": "sha512-QjF1gnwKebQISvATrSbW7dsmIcLbA0fcyDyxLo5wVHx/MIlcaIb/lLYaPTld73ZZ6svHEZ6n2gOkhMitmkIPQA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@nrwl/tao": "17.3.2", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.0-rc.46", + "@zkochan/js-yaml": "0.0.6", + "axios": "^1.6.0", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.3.1", + "dotenv-expand": "~10.0.0", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "js-yaml": "4.1.0", + "jsonc-parser": "3.2.0", + "lines-and-columns": "~2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "17.3.2", + "@nx/nx-darwin-x64": "17.3.2", + "@nx/nx-freebsd-x64": "17.3.2", + "@nx/nx-linux-arm-gnueabihf": "17.3.2", + "@nx/nx-linux-arm64-gnu": "17.3.2", + "@nx/nx-linux-arm64-musl": "17.3.2", + "@nx/nx-linux-x64-gnu": "17.3.2", + "@nx/nx-linux-x64-musl": "17.3.2", + "@nx/nx-win32-arm64-msvc": "17.3.2", + "@nx/nx-win32-x64-msvc": "17.3.2" + }, + "peerDependencies": { + "@swc-node/register": "^1.6.7", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nx/js/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/js/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/js/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@nx/js/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/linter": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-17.2.7.tgz", + "integrity": "sha512-t85R1r+fiEV8wwU6mAD9kKq+YqAxwzBDp3Dx42cX5uokp2jsUKcTHYsibTJ7SVgViJicDLoVDonlJc8SxA0cfQ==", + "dev": true, + "dependencies": { + "@nx/eslint": "17.2.7" + } + }, + "node_modules/@nx/nx-darwin-arm64": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.2.7.tgz", + "integrity": "sha512-d534L13VUlnSW61rabBl3TTuSpzHxtqy8eF5vsYkFSMonBDjqqNR6+vFfQEa7PW/3Qfeuw4MpmojtamCYLd/TA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-darwin-x64": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-17.2.7.tgz", + "integrity": "sha512-K1pHWiSiYTJqk//ZJylvuQcNZR9HUKvOxuh2540+6X9ThQ7kzkC1abXJ4c9wwH3fYDwL29m7glh3AueJvyaXJA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-freebsd-x64": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.2.7.tgz", + "integrity": "sha512-VyouszZjV7Ew4qNrNfG8JApm7/UcreRuC+W/YZ2ORGzM0KUnB/D4rXGmeTp1Ff+L5WUhoomwEnaBkbgqu+2wjA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.2.7.tgz", + "integrity": "sha512-YfwW8NYi33Li1Q7BDUusNlfpJNWfXOnHt6JKvQGc8fy8StmWq13zNnU0IxPQyqCDK5Ymx95IoctFrMLpeXPAwQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm64-gnu": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.2.7.tgz", + "integrity": "sha512-oJyEf2q+5jj6ci6WEXvRUoU2Sj0Mo+J/0NwtPY6sRIhqgPwpmxc6Pja4zmB16iQ5ap48zstB9glfJ6qtr3iU0Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm64-musl": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.2.7.tgz", + "integrity": "sha512-IzsCJgJCM61THBMDghz+EY5aCeO7wBWOWq2sTDek1ve67qZtu/E/Z5qBp93JRAvNYgQT7KbC40WhaXuE/NpWEA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-gnu": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.2.7.tgz", + "integrity": "sha512-CCY3o9zs9ypsT40GyRGQMfl63Wy3Spu21ULcteoLTI2/py601XIdhv6zclzBqeYIWPVxMoGGlIq10m2rdEeAOA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-musl": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.2.7.tgz", + "integrity": "sha512-hBzrXpoDg1OJBl/Ja5nU3oYTBk/FW6J+jTJM1zmXJOJ8Z7NR26I783qlVLQFDYkMynwGBE3kI4a7L87p633BRw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-arm64-msvc": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.2.7.tgz", + "integrity": "sha512-imLrVpeBXQwcYDUujBZRE9YG9lqM7F8Qw51JxmCxG2twijlVeofGWw0uVHM16t95cuizt/Ho+bTfNukV7Oza3g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-x64-msvc": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.2.7.tgz", + "integrity": "sha512-MBQxvEE1sz47prRCid+axKwb6zqcbR4XBKj+l9V5NA7/0Rw5PHjrEfWv5Lr5TckYAdIZ1PVgPHlril6hX89evw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/react": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/react/-/react-17.3.2.tgz", + "integrity": "sha512-QVfC0hDJJn3QOV6zX376f2PoHMw9svvnNMlBp/SLy/fmWCPbrvPOGZUMyyJ6DZ921OO9wP46J9/3llJCWIGGbA==", + "dev": true, + "dependencies": { + "@nrwl/react": "17.3.2", + "@nx/devkit": "17.3.2", + "@nx/eslint": "17.3.2", + "@nx/js": "17.3.2", + "@nx/web": "17.3.2", + "@phenomnomnominal/tsquery": "~5.0.1", + "@svgr/webpack": "^8.0.1", + "chalk": "^4.1.0", + "file-loader": "^6.2.0", + "minimatch": "9.0.3", + "tslib": "^2.3.0" + } + }, + "node_modules/@nx/react/node_modules/@nrwl/web": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-17.3.2.tgz", + "integrity": "sha512-h8cpbr242ORQ829EygBoQ9AnGk2QSoS/tvO0TIPbzTa4zQhRq5M0+X/M86nUbktKTfElWbAF54ZWCk4sx1Fs2g==", + "dev": true, + "dependencies": { + "@nx/web": "17.3.2" + } + }, + "node_modules/@nx/react/node_modules/@nx/eslint": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-17.3.2.tgz", + "integrity": "sha512-KArvmi9Y4Qcf0bIRXGC1/FZsjL6XtT7wzhJ5uGsJIvXAJUiMMlw/KqIR31pY4nu2cBbphCa0/P1Jp2C/IFXG8w==", + "dev": true, + "dependencies": { + "@nx/devkit": "17.3.2", + "@nx/js": "17.3.2", + "@nx/linter": "17.3.2", + "eslint": "^8.0.0", + "tslib": "^2.3.0", + "typescript": "~5.3.2" + }, + "peerDependencies": { + "js-yaml": "4.1.0" + }, + "peerDependenciesMeta": { + "js-yaml": { + "optional": true + } + } + }, + "node_modules/@nx/react/node_modules/@nx/linter": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-17.3.2.tgz", + "integrity": "sha512-ruB72ODekAlqGI65IeO37vqgJIY+ROcx2Gyf12H3tZGUYeC1IwpPltbU63vD5Qkgj2znrD6aNkpYPV7C0b0scQ==", "dev": true, "dependencies": { - "@nx/devkit": "17.2.7" + "@nx/eslint": "17.3.2" } }, - "node_modules/@nx/jest/node_modules/@nx/devkit": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.2.7.tgz", - "integrity": "sha512-RyJyFO5PkNhMrebpv93Bci6pRkrw6guyfX7Esl/5+O6UfN0ytnmaRIrbiVwftTQ6m/T08OWrJQHZMuByP0WWHQ==", + "node_modules/@nx/react/node_modules/@nx/web": { + "version": "17.3.2", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-17.3.2.tgz", + "integrity": "sha512-+FxqiAy3AdJ7nV83dBcWmylHGth/c31xtz3dJinnnUtOaECGWKXkx8hLjWsvM+V+EFMqeD+q1t7q/7CkLPrtXw==", "dev": true, "dependencies": { - "@nrwl/devkit": "17.2.7", - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "semver": "7.5.3", - "tmp": "~0.2.1", + "@nrwl/web": "17.3.2", + "@nx/devkit": "17.3.2", + "@nx/js": "17.3.2", + "chalk": "^4.1.0", + "detect-port": "^1.5.1", + "http-server": "^14.1.0", "tslib": "^2.3.0" - }, - "peerDependencies": { - "nx": ">= 16 <= 18" } }, - "node_modules/@nx/jest/node_modules/ansi-styles": { + "node_modules/@nx/react/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -7349,7 +9994,16 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@nx/jest/node_modules/chalk": { + "node_modules/@nx/react/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nx/react/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -7365,7 +10019,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@nx/jest/node_modules/color-convert": { + "node_modules/@nx/react/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -7377,13 +10031,13 @@ "node": ">=7.0.0" } }, - "node_modules/@nx/jest/node_modules/color-name": { + "node_modules/@nx/react/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/@nx/jest/node_modules/has-flag": { + "node_modules/@nx/react/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -7392,52 +10046,102 @@ "node": ">=8" } }, - "node_modules/@nx/jest/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@nx/react/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@nx/jest/node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "node_modules/@nx/react/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "has-flag": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/react/node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, "bin": { - "semver": "bin/semver.js" + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=10" + "node": ">=14.17" } }, - "node_modules/@nx/jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@nx/vite": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-17.2.7.tgz", + "integrity": "sha512-F/LGc7RXEabFctsoYmx65QcKdowBvPgyw3x9WtKOC2tQA524IWtAivRaO0zFgAUWZSS6mpGsrr8adla1eAxttA==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@nrwl/vite": "17.2.7", + "@nx/devkit": "17.2.7", + "@nx/js": "17.2.7", + "@phenomnomnominal/tsquery": "~5.0.1", + "@swc/helpers": "~0.5.0", + "enquirer": "~2.3.6", + "tsconfig-paths": "^4.1.2" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "vite": "^5.0.0", + "vitest": ">=0.34.6" } }, - "node_modules/@nx/jest/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/@nx/vite/node_modules/@nrwl/devkit": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.2.7.tgz", + "integrity": "sha512-TISLlIH3xSWre2NLg0aMUBmTvMus+xUicaMeg8DWvwSXJJIMC5QFlB1hjw0VkyLsSraHpd5PWtyDqldHWRfKUQ==", + "dev": true, + "dependencies": { + "@nx/devkit": "17.2.7" + } }, - "node_modules/@nx/js": { + "node_modules/@nx/vite/node_modules/@nrwl/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.2.7.tgz", + "integrity": "sha512-8AAUmqESQ89Cbark8DlkElINMmDpEJLivan6RPksUUEK6lrZQwVnHf4eWLQzN2/C4i5XkfdxavzluuDPCqHQSQ==", + "dev": true, + "dependencies": { + "@nx/js": "17.2.7" + } + }, + "node_modules/@nx/vite/node_modules/@nx/devkit": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.2.7.tgz", + "integrity": "sha512-RyJyFO5PkNhMrebpv93Bci6pRkrw6guyfX7Esl/5+O6UfN0ytnmaRIrbiVwftTQ6m/T08OWrJQHZMuByP0WWHQ==", + "dev": true, + "dependencies": { + "@nrwl/devkit": "17.2.7", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "semver": "7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "nx": ">= 16 <= 18" + } + }, + "node_modules/@nx/vite/node_modules/@nx/js": { "version": "17.2.7", "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.2.7.tgz", "integrity": "sha512-IghIrp26b9TprxDzJlqH1ZLer+dNmnSDjoT1jviQWcjNY/8wUxe3avd7niMCpfYD6+r7sSGPZ+KVQSRwT3L09g==", @@ -7483,34 +10187,7 @@ } } }, - "node_modules/@nx/js/node_modules/@nrwl/devkit": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.2.7.tgz", - "integrity": "sha512-TISLlIH3xSWre2NLg0aMUBmTvMus+xUicaMeg8DWvwSXJJIMC5QFlB1hjw0VkyLsSraHpd5PWtyDqldHWRfKUQ==", - "dev": true, - "dependencies": { - "@nx/devkit": "17.2.7" - } - }, - "node_modules/@nx/js/node_modules/@nx/devkit": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.2.7.tgz", - "integrity": "sha512-RyJyFO5PkNhMrebpv93Bci6pRkrw6guyfX7Esl/5+O6UfN0ytnmaRIrbiVwftTQ6m/T08OWrJQHZMuByP0WWHQ==", - "dev": true, - "dependencies": { - "@nrwl/devkit": "17.2.7", - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "semver": "7.5.3", - "tmp": "~0.2.1", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "nx": ">= 16 <= 18" - } - }, - "node_modules/@nx/js/node_modules/ansi-styles": { + "node_modules/@nx/vite/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -7525,7 +10202,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@nx/js/node_modules/chalk": { + "node_modules/@nx/vite/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -7541,7 +10218,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@nx/js/node_modules/color-convert": { + "node_modules/@nx/vite/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -7553,13 +10230,13 @@ "node": ">=7.0.0" } }, - "node_modules/@nx/js/node_modules/color-name": { + "node_modules/@nx/vite/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/@nx/js/node_modules/fast-glob": { + "node_modules/@nx/vite/node_modules/fast-glob": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", @@ -7575,7 +10252,7 @@ "node": ">=8" } }, - "node_modules/@nx/js/node_modules/fs-extra": { + "node_modules/@nx/vite/node_modules/fs-extra": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", @@ -7589,7 +10266,7 @@ "node": ">=14.14" } }, - "node_modules/@nx/js/node_modules/has-flag": { + "node_modules/@nx/vite/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -7598,7 +10275,19 @@ "node": ">=8" } }, - "node_modules/@nx/js/node_modules/ora": { + "node_modules/@nx/vite/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/vite/node_modules/ora": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", @@ -7620,7 +10309,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nx/js/node_modules/semver": { + "node_modules/@nx/vite/node_modules/semver": { "version": "7.5.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", @@ -7635,19 +10324,7 @@ "node": ">=10" } }, - "node_modules/@nx/js/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nx/js/node_modules/source-map": { + "node_modules/@nx/vite/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", @@ -7656,7 +10333,7 @@ "node": ">=0.10.0" } }, - "node_modules/@nx/js/node_modules/source-map-support": { + "node_modules/@nx/vite/node_modules/source-map-support": { "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", @@ -7666,7 +10343,7 @@ "source-map": "^0.6.0" } }, - "node_modules/@nx/js/node_modules/supports-color": { + "node_modules/@nx/vite/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -7678,171 +10355,12 @@ "node": ">=8" } }, - "node_modules/@nx/js/node_modules/yallist": { + "node_modules/@nx/vite/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/@nx/linter": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-17.2.7.tgz", - "integrity": "sha512-t85R1r+fiEV8wwU6mAD9kKq+YqAxwzBDp3Dx42cX5uokp2jsUKcTHYsibTJ7SVgViJicDLoVDonlJc8SxA0cfQ==", - "dev": true, - "dependencies": { - "@nx/eslint": "17.2.7" - } - }, - "node_modules/@nx/nx-darwin-arm64": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.2.7.tgz", - "integrity": "sha512-d534L13VUlnSW61rabBl3TTuSpzHxtqy8eF5vsYkFSMonBDjqqNR6+vFfQEa7PW/3Qfeuw4MpmojtamCYLd/TA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-darwin-x64": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-17.2.7.tgz", - "integrity": "sha512-K1pHWiSiYTJqk//ZJylvuQcNZR9HUKvOxuh2540+6X9ThQ7kzkC1abXJ4c9wwH3fYDwL29m7glh3AueJvyaXJA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-freebsd-x64": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.2.7.tgz", - "integrity": "sha512-VyouszZjV7Ew4qNrNfG8JApm7/UcreRuC+W/YZ2ORGzM0KUnB/D4rXGmeTp1Ff+L5WUhoomwEnaBkbgqu+2wjA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.2.7.tgz", - "integrity": "sha512-YfwW8NYi33Li1Q7BDUusNlfpJNWfXOnHt6JKvQGc8fy8StmWq13zNnU0IxPQyqCDK5Ymx95IoctFrMLpeXPAwQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.2.7.tgz", - "integrity": "sha512-oJyEf2q+5jj6ci6WEXvRUoU2Sj0Mo+J/0NwtPY6sRIhqgPwpmxc6Pja4zmB16iQ5ap48zstB9glfJ6qtr3iU0Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-linux-arm64-musl": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.2.7.tgz", - "integrity": "sha512-IzsCJgJCM61THBMDghz+EY5aCeO7wBWOWq2sTDek1ve67qZtu/E/Z5qBp93JRAvNYgQT7KbC40WhaXuE/NpWEA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-linux-x64-gnu": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.2.7.tgz", - "integrity": "sha512-CCY3o9zs9ypsT40GyRGQMfl63Wy3Spu21ULcteoLTI2/py601XIdhv6zclzBqeYIWPVxMoGGlIq10m2rdEeAOA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-linux-x64-musl": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.2.7.tgz", - "integrity": "sha512-hBzrXpoDg1OJBl/Ja5nU3oYTBk/FW6J+jTJM1zmXJOJ8Z7NR26I783qlVLQFDYkMynwGBE3kI4a7L87p633BRw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.2.7.tgz", - "integrity": "sha512-imLrVpeBXQwcYDUujBZRE9YG9lqM7F8Qw51JxmCxG2twijlVeofGWw0uVHM16t95cuizt/Ho+bTfNukV7Oza3g==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/nx-win32-x64-msvc": { - "version": "17.2.7", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.2.7.tgz", - "integrity": "sha512-MBQxvEE1sz47prRCid+axKwb6zqcbR4XBKj+l9V5NA7/0Rw5PHjrEfWv5Lr5TckYAdIZ1PVgPHlril6hX89evw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@nx/web": { "version": "17.2.7", "resolved": "https://registry.npmjs.org/@nx/web/-/web-17.2.7.tgz", @@ -7867,6 +10385,15 @@ "@nx/devkit": "17.2.7" } }, + "node_modules/@nx/web/node_modules/@nrwl/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.2.7.tgz", + "integrity": "sha512-8AAUmqESQ89Cbark8DlkElINMmDpEJLivan6RPksUUEK6lrZQwVnHf4eWLQzN2/C4i5XkfdxavzluuDPCqHQSQ==", + "dev": true, + "dependencies": { + "@nx/js": "17.2.7" + } + }, "node_modules/@nx/web/node_modules/@nx/devkit": { "version": "17.2.7", "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.2.7.tgz", @@ -7885,6 +10412,52 @@ "nx": ">= 16 <= 18" } }, + "node_modules/@nx/web/node_modules/@nx/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.2.7.tgz", + "integrity": "sha512-IghIrp26b9TprxDzJlqH1ZLer+dNmnSDjoT1jviQWcjNY/8wUxe3avd7niMCpfYD6+r7sSGPZ+KVQSRwT3L09g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "17.2.7", + "@nx/devkit": "17.2.7", + "@nx/workspace": "17.2.7", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "3.0.5", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, "node_modules/@nx/web/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -7934,6 +10507,36 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/@nx/web/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/web/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/@nx/web/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7955,6 +10558,28 @@ "node": ">=10" } }, + "node_modules/@nx/web/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@nx/web/node_modules/semver": { "version": "7.5.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", @@ -7970,6 +10595,25 @@ "node": ">=10" } }, + "node_modules/@nx/web/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nx/web/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/@nx/web/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -8041,6 +10685,15 @@ "@nx/devkit": "17.2.7" } }, + "node_modules/@nx/webpack/node_modules/@nrwl/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.2.7.tgz", + "integrity": "sha512-8AAUmqESQ89Cbark8DlkElINMmDpEJLivan6RPksUUEK6lrZQwVnHf4eWLQzN2/C4i5XkfdxavzluuDPCqHQSQ==", + "dev": true, + "dependencies": { + "@nx/js": "17.2.7" + } + }, "node_modules/@nx/webpack/node_modules/@nx/devkit": { "version": "17.2.7", "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.2.7.tgz", @@ -8059,6 +10712,52 @@ "nx": ">= 16 <= 18" } }, + "node_modules/@nx/webpack/node_modules/@nx/js": { + "version": "17.2.7", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.2.7.tgz", + "integrity": "sha512-IghIrp26b9TprxDzJlqH1ZLer+dNmnSDjoT1jviQWcjNY/8wUxe3avd7niMCpfYD6+r7sSGPZ+KVQSRwT3L09g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "17.2.7", + "@nx/devkit": "17.2.7", + "@nx/workspace": "17.2.7", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "3.0.5", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, "node_modules/@nx/webpack/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -8160,6 +10859,48 @@ "node": ">=10" } }, + "node_modules/@nx/webpack/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/webpack/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@nx/webpack/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/@nx/webpack/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -8308,6 +11049,28 @@ "webpack": "^5.0.0" } }, + "node_modules/@nx/webpack/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@nx/webpack/node_modules/parse5": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", @@ -8416,7 +11179,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "optional": true, "engines": { "node": ">=0.10.0" } @@ -8442,6 +11204,16 @@ "webpack": "^5.0.0" } }, + "node_modules/@nx/webpack/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/@nx/webpack/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -8657,6 +11429,12 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/@polka/url": { + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", + "dev": true + }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -8921,146 +11699,730 @@ "win32" ] }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.1.tgz", - "integrity": "sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==", - "cpu": [ - "ia32" - ], + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.1.tgz", + "integrity": "sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.1.tgz", + "integrity": "sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/wasm-node": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.9.1.tgz", + "integrity": "sha512-awrdTJgcUC0IA5X7Zi2HJlCcdhxaSDZHaBhoNuKt+TgDPdLatbw8GKKcLpqKVEAIOwfajNCQP+taQ/EgM+090A==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/@rushstack/node-core-library": { + "version": "3.66.1", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.66.1.tgz", + "integrity": "sha512-ker69cVKAoar7MMtDFZC4CzcDxjwqIhFzqEnYI5NRN/8M3om6saWCVx/A7vL2t/jFCJsnzQplRDqA7c78pytng==", + "dev": true, + "dependencies": { + "colors": "~1.2.1", + "fs-extra": "~7.0.1", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4", + "z-schema": "~5.0.2" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@rushstack/node-core-library/node_modules/colors": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz", + "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@rushstack/node-core-library/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "optional": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/@rushstack/node-core-library/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@rushstack/node-core-library/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@rushstack/node-core-library/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@rushstack/node-core-library/node_modules/z-schema": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", + "integrity": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==", + "dev": true, + "dependencies": { + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "validator": "^13.7.0" + }, + "bin": { + "z-schema": "bin/z-schema" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "commander": "^9.4.1" + } + }, + "node_modules/@rushstack/rig-package": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.5.2.tgz", + "integrity": "sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==", + "dev": true, + "dependencies": { + "resolve": "~1.22.1", + "strip-json-comments": "~3.1.1" + } + }, + "node_modules/@rushstack/terminal": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.10.0.tgz", + "integrity": "sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==", + "dev": true, + "dependencies": { + "@rushstack/node-core-library": "4.0.2", + "supports-color": "~8.1.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@rushstack/terminal/node_modules/@rushstack/node-core-library": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-4.0.2.tgz", + "integrity": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==", + "dev": true, + "dependencies": { + "fs-extra": "~7.0.1", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4", + "z-schema": "~5.0.2" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@rushstack/terminal/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "optional": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/@rushstack/terminal/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@rushstack/terminal/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@rushstack/terminal/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@rushstack/terminal/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@rushstack/terminal/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@rushstack/terminal/node_modules/z-schema": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", + "integrity": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==", + "dev": true, + "dependencies": { + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "validator": "^13.7.0" + }, + "bin": { + "z-schema": "bin/z-schema" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "commander": "^9.4.1" + } + }, + "node_modules/@rushstack/ts-command-line": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.19.1.tgz", + "integrity": "sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==", + "dev": true, + "dependencies": { + "@rushstack/terminal": "0.10.0", + "@types/argparse": "1.0.38", + "argparse": "~1.0.9", + "string-argv": "~0.3.1" + } + }, + "node_modules/@rushstack/ts-command-line/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@schematics/angular": { + "version": "17.0.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.0.8.tgz", + "integrity": "sha512-1h5mwKFv1B/L5JWZ0mxnC4ms06iwnSi/w+GgRZPeM3P5BpuZuvAkFiClNnM55iLlQJXRQioPNLM3sOsz7spR6w==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "17.0.8", + "@angular-devkit/schematics": "17.0.8", + "jsonc-parser": "3.2.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.1.0.tgz", + "integrity": "sha512-89uOo6yh/oxaU8AeOUnVrTdVMcGk9Q1hJa7Hkvalc6G3Z3CupWk4Xe9djSgJm9fMkH69s0P0cVHUoKSOemLdng==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", + "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.0.tgz", + "integrity": "sha512-AAbmnEHDQv6CSfrWA5wXslGtzLPtAtHZleKOgxdQYvx/s76Fk6T6ZVt7w2IGV9j1UrFeBocTTQxaXG2oRrDhYA==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.1.0", + "@sigstore/protobuf-specs": "^0.2.1", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.2.0.tgz", + "integrity": "sha512-KKATZ5orWfqd9ZG6MN8PtCIx4eevWSuGRKQvofnWXRpyMyUEpmrzg5M5BrCpjM+NfZ0RbNGOh5tCz/P2uoRqOA==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.1", + "tuf-js": "^2.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", "dev": true, - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.1.tgz", - "integrity": "sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==", - "cpu": [ - "x64" - ], + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", "dev": true, - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/@rollup/wasm-node": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.9.1.tgz", - "integrity": "sha512-awrdTJgcUC0IA5X7Zi2HJlCcdhxaSDZHaBhoNuKt+TgDPdLatbw8GKKcLpqKVEAIOwfajNCQP+taQ/EgM+090A==", + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", "dev": true, - "bin": { - "rollup": "dist/bin/rollup" + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "dev": true, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": ">=12" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@schematics/angular": { - "version": "17.0.8", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.0.8.tgz", - "integrity": "sha512-1h5mwKFv1B/L5JWZ0mxnC4ms06iwnSi/w+GgRZPeM3P5BpuZuvAkFiClNnM55iLlQJXRQioPNLM3sOsz7spR6w==", + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", "dev": true, "dependencies": { - "@angular-devkit/core": "17.0.8", - "@angular-devkit/schematics": "17.0.8", - "jsonc-parser": "3.2.0" + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@sigstore/bundle": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.1.0.tgz", - "integrity": "sha512-89uOo6yh/oxaU8AeOUnVrTdVMcGk9Q1hJa7Hkvalc6G3Z3CupWk4Xe9djSgJm9fMkH69s0P0cVHUoKSOemLdng==", + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "dev": true, "dependencies": { - "@sigstore/protobuf-specs": "^0.2.1" + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", - "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", + "node_modules/@svgr/core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@sigstore/sign": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.0.tgz", - "integrity": "sha512-AAbmnEHDQv6CSfrWA5wXslGtzLPtAtHZleKOgxdQYvx/s76Fk6T6ZVt7w2IGV9j1UrFeBocTTQxaXG2oRrDhYA==", + "node_modules/@svgr/core/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "dependencies": { - "@sigstore/bundle": "^2.1.0", - "@sigstore/protobuf-specs": "^0.2.1", - "make-fetch-happen": "^13.0.0" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@sigstore/tuf": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.2.0.tgz", - "integrity": "sha512-KKATZ5orWfqd9ZG6MN8PtCIx4eevWSuGRKQvofnWXRpyMyUEpmrzg5M5BrCpjM+NfZ0RbNGOh5tCz/P2uoRqOA==", + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", "dev": true, "dependencies": { - "@sigstore/protobuf-specs": "^0.2.1", - "tuf-js": "^2.1.0" + "@babel/types": "^7.21.3", + "entities": "^4.4.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", "dev": true, "dependencies": { - "type-detect": "4.0.8" + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "node_modules/@svgr/plugin-svgo/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "dependencies": { - "@sinonjs/commons": "^3.0.0" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", - "dev": true + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } }, "node_modules/@swc-node/core": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/@swc-node/core/-/core-1.10.6.tgz", - "integrity": "sha512-lDIi/rPosmKIknWzvs2/Fi9zWRtbkx8OJ9pQaevhsoGzJSal8Pd315k1W5AIrnknfdAB4HqRN12fk6AhqnrEEw==", - "devOptional": true, + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@swc-node/core/-/core-1.13.0.tgz", + "integrity": "sha512-lFPD4nmy4ifAOVMChFjwlpXN5KQXvegqeyuzz1KQz42q1lf+cL3Qux1/GteGuZjh8HC+Rj1RdNrHpE/MCfJSTw==", + "dev": true, "engines": { "node": ">= 10" }, @@ -9069,21 +12431,22 @@ "url": "https://github.com/sponsors/Brooooooklyn" }, "peerDependencies": { - "@swc/core": ">= 1.3" + "@swc/core": ">= 1.3", + "@swc/types": ">= 0.1" } }, "node_modules/@swc-node/register": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@swc-node/register/-/register-1.6.8.tgz", - "integrity": "sha512-74ijy7J9CWr1Z88yO+ykXphV29giCrSpANQPQRooE0bObpkTO1g4RzQovIfbIaniBiGDDVsYwDoQ3FIrCE8HcQ==", - "devOptional": true, - "dependencies": { - "@swc-node/core": "^1.10.6", - "@swc-node/sourcemap-support": "^0.3.0", - "colorette": "^2.0.19", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@swc-node/register/-/register-1.8.0.tgz", + "integrity": "sha512-8K3589HoBSmVmrEVrtr4K5sWEithpGDzcFGic81OW0A9sZY38IV5EGRODQWCk0SBDyLhaF+pid120vJAtsHo1A==", + "dev": true, + "dependencies": { + "@swc-node/core": "^1.12.0", + "@swc-node/sourcemap-support": "^0.4.0", + "colorette": "^2.0.20", "debug": "^4.3.4", - "pirates": "^4.0.5", - "tslib": "^2.5.0" + "pirates": "^4.0.6", + "tslib": "^2.6.2" }, "funding": { "type": "github", @@ -9095,20 +12458,85 @@ } }, "node_modules/@swc-node/sourcemap-support": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@swc-node/sourcemap-support/-/sourcemap-support-0.3.0.tgz", - "integrity": "sha512-gqBJSmJMWomZFxlppaKea7NeAqFrDrrS0RMt24No92M3nJWcyI9YKGEQKl+EyJqZ5gh6w1s0cTklMHMzRwA1NA==", - "devOptional": true, + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@swc-node/sourcemap-support/-/sourcemap-support-0.4.0.tgz", + "integrity": "sha512-weuRmYTO+4yOtHtPZHXlPdA1dJJJp3QOoZAFZ6uZidu992F2X5v1fQdnb26xs1o3Ex/e2sYhRyY5R6NGNuoATQ==", + "dev": true, "dependencies": { "source-map-support": "^0.5.21", - "tslib": "^2.5.0" + "tslib": "^2.6.2" + } + }, + "node_modules/@swc/cli": { + "version": "0.1.65", + "resolved": "https://registry.npmjs.org/@swc/cli/-/cli-0.1.65.tgz", + "integrity": "sha512-4NcgsvJVHhA7trDnMmkGLLvWMHu2kSy+qHx6QwRhhJhdiYdNUrhdp+ERxen73sYtaeEOYeLJcWrQ60nzKi6rpg==", + "dev": true, + "dependencies": { + "@mole-inc/bin-wrapper": "^8.0.1", + "commander": "^7.1.0", + "fast-glob": "^3.2.5", + "minimatch": "^9.0.3", + "semver": "^7.3.8", + "slash": "3.0.0", + "source-map": "^0.7.3" + }, + "bin": { + "spack": "bin/spack.js", + "swc": "bin/swc.js", + "swcx": "bin/swcx.js" + }, + "engines": { + "node": ">= 12.13" + }, + "peerDependencies": { + "@swc/core": "^1.2.66", + "chokidar": "^3.5.1" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@swc/cli/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@swc/cli/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@swc/cli/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@swc/core": { "version": "1.3.101", "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.101.tgz", "integrity": "sha512-w5aQ9qYsd/IYmXADAnkXPGDMTqkQalIi+kfFf/MHRKTpaOL7DHjMXwPp/n8hJ0qNjRvchzmPtOqtPBiER50d8A==", - "devOptional": true, + "dev": true, "hasInstallScript": true, "dependencies": { "@swc/counter": "^0.1.1", @@ -9306,13 +12734,229 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz", "integrity": "sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==", - "devOptional": true + "dev": true + }, + "node_modules/@swc/helpers": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.6.tgz", + "integrity": "sha512-aYX01Ke9hunpoCexYAgQucEpARGQ5w/cqHFrIR+e9gdKb1QWTsVJuTJ2ozQzIAxLyRQe/m+2RqzkyOOGiMKRQA==", + "dev": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@swc/jest": { + "version": "0.2.20", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.20.tgz", + "integrity": "sha512-5qSUBYY1wyIMn7p0Vl9qqV4hMI69oJwZCIPUpBsTFWN2wlwn6RDugzdgCn+bLXVYh+Cxi8bJcZ1uumDgsoL+FA==", + "dev": true, + "dependencies": { + "@jest/create-cache-key-function": "^27.4.2" + }, + "engines": { + "npm": ">= 7.0.0" + }, + "peerDependencies": { + "@swc/core": "*" + } }, "node_modules/@swc/types": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz", "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==", - "devOptional": true + "dev": true + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@testing-library/dom": { + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz", + "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@testing-library/dom/node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/react": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", + "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } }, "node_modules/@thednp/event-listener": { "version": "2.0.4", @@ -9334,6 +12978,21 @@ "pnpm": ">=8.6.0" } }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "dev": true + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -9752,18 +13411,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/@twittwer/compodoc/node_modules/dotenv": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", - "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/motdotla/dotenv?sponsor=1" - } - }, "node_modules/@twittwer/compodoc/node_modules/fs-extra": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", @@ -9931,10 +13578,22 @@ "anymatch": "*" } }, + "node_modules/@types/argparse": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", + "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", + "dev": true + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true + }, "node_modules/@types/babel__core": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", - "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "dependencies": { "@babel/parser": "^7.20.7", @@ -9990,11 +13649,48 @@ "@types/node": "*" } }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/chai": { + "version": "4.3.12", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.12.tgz", + "integrity": "sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==", + "dev": true + }, + "node_modules/@types/chai-subset": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.5.tgz", + "integrity": "sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==", + "dev": true, + "dependencies": { + "@types/chai": "*" + } + }, "node_modules/@types/clone": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@types/clone/-/clone-2.1.4.tgz", "integrity": "sha512-NKRWaEGaVGVLnGLB2GazvDaZnyweW9FJLLFL5LhywGJB3aqGMT9R/EUoJoSRP4nzofYnZysuDmrEJtJdAqUOtQ==" }, + "node_modules/@types/command-line-args": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", + "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==" + }, + "node_modules/@types/command-line-usage": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", + "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==" + }, "node_modules/@types/common-tags": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.1.tgz", @@ -10080,6 +13776,11 @@ "@types/send": "*" } }, + "node_modules/@types/flatbuffers": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@types/flatbuffers/-/flatbuffers-1.10.3.tgz", + "integrity": "sha512-kwJQsAROanCiMXSLjcTLmYVBIJ9Qyuqs92SaDIcj2EII2KnDgZbiU7it1Z/JfZd1gmxw/lAahMysQ6ZM+j3Ryw==" + }, "node_modules/@types/fs-extra": { "version": "11.0.2", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.2.tgz", @@ -10099,6 +13800,12 @@ "@types/node": "*" } }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "dev": true + }, "node_modules/@types/http-errors": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", @@ -10179,6 +13886,15 @@ "@types/node": "*" } }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/mime": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", @@ -10201,12 +13917,23 @@ "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", "dev": true }, + "node_modules/@types/pad-left": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/pad-left/-/pad-left-2.1.1.tgz", + "integrity": "sha512-Xd22WCRBydkGSApl5Bw0PhAOHKSVjNL3E3AwzKaps96IMraPqy5BvZIsBVK6JLwdybUzjHnuWVwpDd0JjTfHXA==" + }, "node_modules/@types/parse-json": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", "dev": true }, + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", + "dev": true + }, "node_modules/@types/qs": { "version": "6.9.8", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", @@ -10217,18 +13944,53 @@ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" }, + "node_modules/@types/react": { + "version": "18.2.33", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz", + "integrity": "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.14.tgz", + "integrity": "sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/resolve": { "version": "1.20.2", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", "dev": true }, + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", "dev": true }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "dev": true + }, "node_modules/@types/semver": { "version": "7.5.2", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz", @@ -10988,21 +14750,6 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, - "node_modules/@use-gesture/core": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.3.0.tgz", - "integrity": "sha512-rh+6MND31zfHcy9VU3dOZCqGY511lvGcfyJenN4cWZe0u1BH6brBpBddLVXhF2r4BMqWbvxfsbL7D287thJU2A==", - "peer": true - }, - "node_modules/@use-gesture/vanilla": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@use-gesture/vanilla/-/vanilla-10.3.0.tgz", - "integrity": "sha512-hehZWLaNyNc+TWAbhJpj84yumD8ZBp/eet6HGg3xztPcchuNNTGEu5LEEdSg69SXHzS7exWE6j5VnsZ3VXVFxQ==", - "peer": true, - "dependencies": { - "@use-gesture/core": "10.3.0" - } - }, "node_modules/@vitejs/plugin-basic-ssl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz", @@ -11015,6 +14762,480 @@ "vite": "^3.0.0 || ^4.0.0" } }, + "node_modules/@vitejs/plugin-react": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", + "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.5", + "@babel/plugin-transform-react-jsx-self": "^7.23.3", + "@babel/plugin-transform-react-jsx-source": "^7.23.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/@vitejs/plugin-react-swc": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.6.0.tgz", + "integrity": "sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==", + "dev": true, + "dependencies": { + "@swc/core": "^1.3.107" + }, + "peerDependencies": { + "vite": "^4 || ^5" + } + }, + "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.6.tgz", + "integrity": "sha512-A7iK9+1qzTCIuc3IYcS8gPHCm9bZVKUJrfNnwveZYyo6OFp3jLno4WOM2yBy5uqedgYATEiWgBYHKq37KrU6IA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@swc/counter": "^0.1.2", + "@swc/types": "^0.1.5" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.4.6", + "@swc/core-darwin-x64": "1.4.6", + "@swc/core-linux-arm-gnueabihf": "1.4.6", + "@swc/core-linux-arm64-gnu": "1.4.6", + "@swc/core-linux-arm64-musl": "1.4.6", + "@swc/core-linux-x64-gnu": "1.4.6", + "@swc/core-linux-x64-musl": "1.4.6", + "@swc/core-win32-arm64-msvc": "1.4.6", + "@swc/core-win32-ia32-msvc": "1.4.6", + "@swc/core-win32-x64-msvc": "1.4.6" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core-darwin-arm64": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.6.tgz", + "integrity": "sha512-bpggpx/BfLFyy48aUKq1PsNUxb7J6CINlpAUk0V4yXfmGnpZH80Gp1pM3GkFDQyCfq7L7IpjPrIjWQwCrL4hYw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core-darwin-x64": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.6.tgz", + "integrity": "sha512-vJn+/ZuBTg+vtNkcmgZdH6FQpa0hFVdnB9bAeqYwKkyqP15zaPe6jfC+qL2y/cIeC7ASvHXEKrnCZgBLxfVQ9w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.6.tgz", + "integrity": "sha512-hEmYcB/9XBAl02MtuVHszhNjQpjBzhk/NFulnU33tBMbNZpy2TN5yTsitezMq090QXdDz8sKIALApDyg07ZR8g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.6.tgz", + "integrity": "sha512-/UCYIVoGpm2YVvGHZM2QOA3dexa28BjcpLAIYnoCbgH5f7ulDhE8FAIO/9pasj+kixDBsdqewHfsNXFYlgGJjQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core-linux-arm64-musl": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.6.tgz", + "integrity": "sha512-LGQsKJ8MA9zZ8xHCkbGkcPSmpkZL2O7drvwsGKynyCttHhpwVjj9lguhD4DWU3+FWIsjvho5Vu0Ggei8OYi/Lw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core-linux-x64-gnu": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.6.tgz", + "integrity": "sha512-10JL2nLIreMQDKvq2TECnQe5fCuoqBHu1yW8aChqgHUyg9d7gfZX/kppUsuimqcgRBnS0AjTDAA+JF6UsG/2Yg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core-linux-x64-musl": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.6.tgz", + "integrity": "sha512-EGyjFVzVY6Do89x8sfah7I3cuP4MwtwzmA6OlfD/KASqfCFf5eIaEBMbajgR41bVfMV7lK72lwAIea5xEyq1AQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.6.tgz", + "integrity": "sha512-gfW9AuXvwSyK07Vb8Y8E9m2oJZk21WqcD+X4BZhkbKB0TCZK0zk1j/HpS2UFlr1JB2zPKPpSWLU3ll0GEHRG2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.6.tgz", + "integrity": "sha512-ZuQm81FhhvNVYtVb9GfZ+Du6e7fZlkisWvuCeBeRiyseNt1tcrQ8J3V67jD2nxje8CVXrwG3oUIbPcybv2rxfQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core-win32-x64-msvc": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.6.tgz", + "integrity": "sha512-UagPb7w5V0uzWSjrXwOavGa7s9iv3wrVdEgWy+/inm0OwY4lj3zpK9qDnMWAwYLuFwkI3UG4Q3dH8wD+CUUcjw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitejs/plugin-react/node_modules/@babel/core": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@vitejs/plugin-react/node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@vitejs/plugin-react/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@vitejs/plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@vitest/coverage-v8": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-0.34.6.tgz", + "integrity": "sha512-fivy/OK2d/EsJFoEoxHFEnNGTg+MmdZBAVK9Ka4qhXR2K3J0DS08vcGVwzDtXSuUMabLv4KtPcpSKkcMXFDViw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.1.5", + "magic-string": "^0.30.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "test-exclude": "^6.0.0", + "v8-to-istanbul": "^9.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": ">=0.32.0 <1" + } + }, + "node_modules/@vitest/expect": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.6.tgz", + "integrity": "sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==", + "dev": true, + "dependencies": { + "@vitest/spy": "0.34.6", + "@vitest/utils": "0.34.6", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/expect/node_modules/@vitest/utils": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.6.tgz", + "integrity": "sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==", + "dev": true, + "dependencies": { + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.6.tgz", + "integrity": "sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==", + "dev": true, + "dependencies": { + "@vitest/utils": "0.34.6", + "p-limit": "^4.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/@vitest/utils": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.6.tgz", + "integrity": "sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==", + "dev": true, + "dependencies": { + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.6.tgz", + "integrity": "sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "pretty-format": "^29.5.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.6.tgz", + "integrity": "sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==", + "dev": true, + "dependencies": { + "tinyspy": "^2.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/ui": { + "version": "0.34.7", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-0.34.7.tgz", + "integrity": "sha512-iizUu9R5Rsvsq8FtdJ0suMqEfIsIIzziqnasMHe4VH8vG+FnZSA3UAtCHx6rLeRupIFVAVg7bptMmuvMcsn8WQ==", + "dev": true, + "dependencies": { + "@vitest/utils": "0.34.7", + "fast-glob": "^3.3.0", + "fflate": "^0.8.0", + "flatted": "^3.2.7", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "sirv": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": ">=0.30.1 <1" + } + }, + "node_modules/@vitest/ui/node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/@vitest/utils": { + "version": "0.34.7", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.7.tgz", + "integrity": "sha512-ziAavQLpCYS9sLOorGrFFKmy2gnfiNU0ZJ15TsMz/K92NAPS/rp9K4z6AJQQk5Y8adCy4Iwpxy7pQumQ/psnRg==", + "dev": true, + "dependencies": { + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", @@ -11250,9 +15471,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -11491,7 +15712,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -11512,6 +15732,32 @@ "node": ">= 8" } }, + "node_modules/apache-arrow": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/apache-arrow/-/apache-arrow-11.0.0.tgz", + "integrity": "sha512-M8J4y+DimIyS44w2KOmVfzNHbTroR1oDpBKK6BYnlu8xVB41lxTz0yLmapo8/WJVAt5XcinAxMm14M771dm/rA==", + "dependencies": { + "@types/command-line-args": "5.2.0", + "@types/command-line-usage": "5.0.2", + "@types/flatbuffers": "*", + "@types/node": "18.7.23", + "@types/pad-left": "2.1.1", + "command-line-args": "5.2.1", + "command-line-usage": "6.1.3", + "flatbuffers": "2.0.4", + "json-bignum": "^0.0.3", + "pad-left": "^2.1.0", + "tslib": "^2.4.0" + }, + "bin": { + "arrow2csv": "bin/arrow2csv.js" + } + }, + "node_modules/apache-arrow/node_modules/@types/node": { + "version": "18.7.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", + "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==" + }, "node_modules/apache-crypt": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.6.tgz", @@ -11557,6 +15803,26 @@ "node": ">=8" } }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", @@ -11592,14 +15858,25 @@ "dequal": "^2.0.3" } }, + "node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "engines": { + "node": ">=6" + } + }, "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -11711,18 +15988,32 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", "is-shared-array-buffer": "^1.0.2" }, "engines": { @@ -11746,6 +16037,15 @@ "resolved": "https://registry.npmjs.org/as-typed/-/as-typed-1.3.2.tgz", "integrity": "sha512-94ezeKlKB97OJUyMaU7dQUAB+Cmjlgr4T9/cxCoKaLM4F2HAmuIHm3Q5ClGCsX5PvRwCQehCzAa/6foRFXRbqA==" }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/ast-transform": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/ast-transform/-/ast-transform-0.0.0.tgz", @@ -11831,6 +16131,12 @@ "node": ">= 0.6" } }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true + }, "node_modules/async": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", @@ -11897,9 +16203,12 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -11907,6 +16216,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/axe-core": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.4.tgz", + "integrity": "sha512-CZLSKisu/bhJ2awW4kJndluz2HLZYIHh5Uy1+ZwDRkJi69811xgIXXfdU9HSLX0Th+ILrHj8qfL/5wzamsFtQg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/axios": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", @@ -12335,6 +16653,169 @@ "node": "*" } }, + "node_modules/bin-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", + "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", + "dev": true, + "dependencies": { + "execa": "^0.7.0", + "executable": "^4.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/bin-check/node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-check/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/bin-check/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-check/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-check/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/bin-check/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, + "node_modules/bin-version": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-6.0.0.tgz", + "integrity": "sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "find-versions": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bin-version-check": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-5.1.0.tgz", + "integrity": "sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g==", + "dev": true, + "dependencies": { + "bin-version": "^6.0.0", + "semver": "^7.5.3", + "semver-truncate": "^3.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/binary-decision-diagram": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/binary-decision-diagram/-/binary-decision-diagram-3.2.0.tgz", @@ -13067,7 +17548,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "devOptional": true + "dev": true }, "node_modules/builtin-modules": { "version": "3.3.0", @@ -13105,6 +17586,15 @@ "integrity": "sha512-i4uu6M4zuMUiyfZN4RU2+i9+peJh//pXhd9x1oSe1LBkZ3LEbCoygu8W0bXTukU1Jme2txKuotpCZRaC3FLxcQ==", "dev": true }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/cacache": { "version": "18.0.0", "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.0.tgz", @@ -13211,6 +17701,58 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/caching-transform": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", @@ -13263,12 +17805,18 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -13356,11 +17904,28 @@ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -13385,6 +17950,18 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, "node_modules/cheerio": { "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -13638,6 +18215,18 @@ "node": ">=6" } }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/clone-stats": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", @@ -13710,7 +18299,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -13718,8 +18306,7 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/color-support": { "version": "1.1.3", @@ -13740,7 +18327,7 @@ "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "devOptional": true + "dev": true }, "node_modules/colors": { "version": "1.4.0", @@ -13775,6 +18362,50 @@ "node": ">= 0.8" } }, + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/command-line-usage": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", + "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "dependencies": { + "array-back": "^4.0.2", + "chalk": "^2.4.2", + "table-layout": "^1.0.2", + "typical": "^5.2.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/command-line-usage/node_modules/array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/command-line-usage/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "engines": { + "node": ">=8" + } + }, "node_modules/commander": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", @@ -13977,6 +18608,38 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/content-type": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", @@ -14788,33 +19451,6 @@ "node": ">= 0.4.0" } }, - "node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "dev": true, - "peer": true, - "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/cosmiconfig-typescript-loader": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz", @@ -15353,6 +19989,12 @@ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, "node_modules/cuint": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", @@ -15385,6 +20027,12 @@ "type": "^1.0.1" } }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, "node_modules/dargs": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", @@ -15400,6 +20048,20 @@ "integrity": "sha512-5TXltWJGc+RdnabUGzhRae1TRq6m4gr+3K2wQX0is5/F2yS6MJXJvLyI3ErAnsAXuJoGqvfVD5icRgim07DrxQ==", "dev": true }, + "node_modules/data-urls": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", + "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.0" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -15485,6 +20147,45 @@ "node": ">=14.16" } }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/deep-equal": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", @@ -15505,6 +20206,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -15573,18 +20282,29 @@ "resolved": "https://registry.npmjs.org/defekt/-/defekt-9.3.0.tgz", "integrity": "sha512-AWfM0vhFmESRZawEJfLhRJMsAR5IOhwyxGxIDOh9RXGKcdV65cWtkFB31MNjUfFvAlfbk3c2ooX0rr1pWIXshw==" }, - "node_modules/define-data-property": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", - "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-lazy-prop": { @@ -15784,6 +20504,12 @@ "deprecated": "V0 is gone and the best V1 polyfill is now @ungap/custom-elements", "dev": true }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -15810,6 +20536,19 @@ } ] }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", @@ -15845,6 +20584,16 @@ "integrity": "sha512-kxM7fSnNQTXOmaeGuBSXM8O3fEsBb7XSDBllkGbRwa0lJSJTxxDE/4eSNGLKZUmlFw0f1vJ5qSV2BljrgQtgIA==", "dev": true }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -15857,6 +20606,17 @@ "node": ">=8" } }, + "node_modules/dotenv": { + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.2.tgz", + "integrity": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, "node_modules/dotenv-expand": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", @@ -16269,50 +21029,52 @@ } }, "node_modules/es-abstract": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", - "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", + "version": "1.22.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz", + "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", + "hasown": "^2.0.1", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.0", + "safe-regex-test": "^1.0.3", "string.prototype.trim": "^1.2.8", "string.prototype.trimend": "^1.0.7", "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -16321,6 +21083,45 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-module-lexer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", @@ -16328,26 +21129,26 @@ "dev": true }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { @@ -16459,7 +21260,6 @@ "integrity": "sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==", "dev": true, "hasInstallScript": true, - "optional": true, "bin": { "esbuild": "bin/esbuild" }, @@ -16825,6 +21625,72 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-plugin-prettier": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz", @@ -16855,6 +21721,97 @@ } } }, + "node_modules/eslint-plugin-react": { + "version": "7.32.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", + "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-plugin-rxjs": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/eslint-plugin-rxjs/-/eslint-plugin-rxjs-5.0.3.tgz", @@ -17269,6 +22226,18 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -17309,6 +22278,31 @@ "type": "^2.7.2" } }, + "node_modules/ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "dev": true, + "dependencies": { + "mime-db": "^1.28.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "dev": true, + "dependencies": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/ext/node_modules/type": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", @@ -17426,6 +22420,12 @@ "bser": "2.1.1" } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true + }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -17452,6 +22452,106 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/file-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/file-type": { + "version": "17.1.6", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-17.1.6.tgz", + "integrity": "sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==", + "dev": true, + "dependencies": { + "readable-web-to-node-stream": "^3.0.2", + "strtok3": "^7.0.0-alpha.9", + "token-types": "^5.0.0-alpha.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -17479,6 +22579,35 @@ "node": ">=10" } }, + "node_modules/filename-reserved-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", + "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/filenamify": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-5.1.1.tgz", + "integrity": "sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA==", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^3.0.0", + "strip-outer": "^2.0.0", + "trim-repeated": "^2.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -17550,6 +22679,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -17566,6 +22706,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/find-versions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-5.1.0.tgz", + "integrity": "sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==", + "dev": true, + "dependencies": { + "semver-regex": "^4.0.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/firebase": { "version": "10.8.0", "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.8.0.tgz", @@ -17636,6 +22791,11 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/flatbuffers": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-2.0.4.tgz", + "integrity": "sha512-4rUFVDPjSoP0tOII34oQf+72NKU7E088U5oX7kwICahft0UB2kOQ9wUzzCp+OHxByERIfxRDCgX5mP8Pjkfl0g==" + }, "node_modules/flatted": { "version": "3.2.9", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", @@ -17683,9 +22843,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "funding": [ { "type": "individual", @@ -18176,6 +23336,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/get-graphql-from-jsonschema": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/get-graphql-from-jsonschema/-/get-graphql-from-jsonschema-8.1.0.tgz", @@ -18193,14 +23362,18 @@ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -18228,13 +23401,14 @@ } }, "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -18483,6 +23657,31 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -18592,6 +23791,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -18612,27 +23812,25 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -18652,11 +23850,11 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -18691,10 +23889,9 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dev": true, + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" }, @@ -18728,6 +23925,19 @@ "he": "bin/he" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -19100,6 +24310,31 @@ "node": ">=8" } }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/http2-wrapper/node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -19311,6 +24546,15 @@ "node": ">=4" } }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/import-local": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", @@ -19597,13 +24841,13 @@ } }, "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", + "es-errors": "^1.3.0", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { @@ -19614,7 +24858,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "devOptional": true + "dev": true }, "node_modules/ipaddr.js": { "version": "1.9.1", @@ -19654,14 +24898,16 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -19851,6 +25097,18 @@ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -19884,9 +25142,9 @@ } }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, "engines": { "node": ">= 0.4" @@ -20005,13 +25263,28 @@ "node": ">=0.10.0" } }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -20072,11 +25345,11 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dependencies": { - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -20130,6 +25403,18 @@ "node": ">=0.10.0" } }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -20142,6 +25427,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-what": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", @@ -20554,23 +25855,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-circus/node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, "node_modules/jest-circus/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -20605,24 +25889,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/jest-circus/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-circus/node_modules/dedent": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", @@ -21079,15 +26345,6 @@ } } }, - "node_modules/jest-environment-jsdom/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, "node_modules/jest-environment-jsdom/node_modules/acorn-globals": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", @@ -21127,18 +26384,6 @@ "node": ">=12" } }, - "node_modules/jest-environment-jsdom/node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, - "dependencies": { - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/jest-environment-jsdom/node_modules/http-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", @@ -21198,18 +26443,6 @@ } } }, - "node_modules/jest-environment-jsdom/node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, "node_modules/jest-environment-jsdom/node_modules/tr46": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", @@ -21222,36 +26455,6 @@ "node": ">=12" } }, - "node_modules/jest-environment-jsdom/node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", - "dev": true, - "dependencies": { - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/jest-environment-jsdom/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/jest-environment-jsdom/node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/jest-environment-jsdom/node_modules/whatwg-url": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", @@ -21286,15 +26489,6 @@ } } }, - "node_modules/jest-environment-jsdom/node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/jest-environment-node": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", @@ -22406,6 +27600,12 @@ "jiti": "bin/jiti.js" } }, + "node_modules/jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", + "dev": true + }, "node_modules/js-base64": { "version": "3.7.7", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.7.tgz", @@ -22414,8 +27614,7 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "4.1.0", @@ -22437,6 +27636,95 @@ "node": ">=12.0.0" } }, + "node_modules/jsdom": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", + "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", + "domexception": "^4.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/cssstyle": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", + "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", + "dev": true, + "dependencies": { + "rrweb-cssom": "^0.6.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/jsdom/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -22449,6 +27737,14 @@ "node": ">=4" } }, + "node_modules/json-bignum": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/json-bignum/-/json-bignum-0.0.3.tgz", + "integrity": "sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -22561,6 +27857,21 @@ "node": "*" } }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, "node_modules/karma-source-map-support": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", @@ -22612,6 +27923,27 @@ "node": ">= 8" } }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dev": true, + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, "node_modules/launch-editor": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", @@ -23224,6 +28556,18 @@ "node": ">= 12.13.0" } }, + "node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/localtunnel": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", @@ -23702,6 +29046,44 @@ "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -23717,6 +29099,15 @@ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", "dev": true }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, "node_modules/macos-release": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.1.tgz", @@ -23999,6 +29390,15 @@ "node": ">=6" } }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -24294,6 +29694,18 @@ "node": ">=10" } }, + "node_modules/mlly": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", + "dev": true, + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, "node_modules/moment": { "version": "2.30.1", "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", @@ -24357,25 +29769,6 @@ "whatwg-url": "^13.0.0" } }, - "node_modules/mongodb-connection-string-url/node_modules/tr46": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", - "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", - "dependencies": { - "punycode": "^2.3.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/mongodb-connection-string-url/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "engines": { - "node": ">=12" - } - }, "node_modules/mongodb-connection-string-url/node_modules/whatwg-url": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz", @@ -24453,9 +29846,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, "funding": [ { @@ -24828,6 +30221,16 @@ "node": ">=10.0.0" } }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, "node_modules/node-abort-controller": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", @@ -25059,6 +30462,18 @@ "node": ">=0.10.0" } }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/normalize.css": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", @@ -25357,17 +30772,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/nx/node_modules/dotenv": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", - "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/motdotla/dotenv?sponsor=1" - } - }, "node_modules/nx/node_modules/fs-extra": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", @@ -25746,15 +31150,14 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -25786,13 +31189,13 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -25803,6 +31206,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/object.fromentries": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", @@ -25832,6 +31249,19 @@ "get-intrinsic": "^1.2.1" } }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object.values": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", @@ -26121,6 +31551,18 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/os-filter-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", + "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", + "dev": true, + "dependencies": { + "arch": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/os-name": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", @@ -26146,6 +31588,15 @@ "node": ">=0.10.0" } }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -26303,6 +31754,17 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/pad-left": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pad-left/-/pad-left-2.1.0.tgz", + "integrity": "sha512-HJxs9K9AztdIQIAIa/OIazRAUW/L6B9hbQDxO4X07roW3eo9XqZc2ur9bn1StH9CnbbI9EgvejHQX7CBpCF1QA==", + "dependencies": { + "repeat-string": "^1.5.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -26496,6 +31958,21 @@ "node": ">=8" } }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/pause-stream": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", @@ -26546,6 +32023,19 @@ "node": ">=0.10.0" } }, + "node_modules/peek-readable": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -26588,7 +32078,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "devOptional": true, + "dev": true, "engines": { "node": ">= 6" } @@ -26704,6 +32194,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, "node_modules/png-js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", @@ -26777,6 +32278,14 @@ "lodash": "^4.17.14" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", @@ -28079,6 +33588,21 @@ "node": ">= 6" } }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "node_modules/propagating-hammerjs": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/propagating-hammerjs/-/propagating-hammerjs-1.5.0.tgz", @@ -28145,6 +33669,12 @@ "dev": true, "optional": true }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -28356,11 +33886,43 @@ "node": ">= 0.8" } }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, "node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -28668,6 +34230,22 @@ "node": ">= 6" } }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dev": true, + "dependencies": { + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -28698,6 +34276,14 @@ "node": ">=8" } }, + "node_modules/reduce-flatten": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "engines": { + "node": ">=6" + } + }, "node_modules/reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", @@ -28742,14 +34328,15 @@ "dev": true }, "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -28881,6 +34468,14 @@ "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, "node_modules/replace-ext": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", @@ -28944,6 +34539,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true + }, "node_modules/resolve-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", @@ -29065,6 +34666,18 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -29198,7 +34811,6 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.1.tgz", "integrity": "sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==", "dev": true, - "optional": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -29223,6 +34835,12 @@ "fsevents": "~2.3.2" } }, + "node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", + "dev": true + }, "node_modules/run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -29441,13 +35059,13 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -29464,15 +35082,18 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -29549,6 +35170,26 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, "node_modules/schema-utils": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", @@ -29621,6 +35262,33 @@ "node": ">=10" } }, + "node_modules/semver-regex": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", + "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver-truncate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-3.0.0.tgz", + "integrity": "sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -29907,6 +35575,22 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/set-function-name": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", @@ -29995,6 +35679,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -30071,6 +35761,29 @@ "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sirv/node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -30130,12 +35843,22 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "devOptional": true, + "dev": true, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/socket.io": { "version": "4.7.2", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", @@ -30215,7 +35938,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "devOptional": true, + "dev": true, "dependencies": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" @@ -30251,6 +35974,30 @@ "node": ">= 14" } }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", + "dev": true, + "dependencies": { + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", @@ -30446,7 +36193,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "devOptional": true, + "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -30456,7 +36203,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } @@ -30664,6 +36411,12 @@ "node": ">=8" } }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, "node_modules/static-eval": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.1.tgz", @@ -30845,6 +36598,24 @@ "node": ">= 0.6" } }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/stream-combiner": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", @@ -30883,6 +36654,53 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, + "node_modules/streamlit-component-lib": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/streamlit-component-lib/-/streamlit-component-lib-2.0.0.tgz", + "integrity": "sha512-ekLjskU4Cz+zSLkTC9jpppv2hb8jlA3z2h+TtwGUGuwMKrGLrvTpzLJI1ibPuI+bZ60mLHVI1GP/OyNb7K7UjA==", + "dependencies": { + "apache-arrow": "^11.0.0", + "hoist-non-react-statics": "^3.3.2", + "react": "^16.14.0", + "react-dom": "^16.14.0" + } + }, + "node_modules/streamlit-component-lib/node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/streamlit-component-lib/node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/streamlit-component-lib/node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -30960,6 +36778,26 @@ "node": ">=8" } }, + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/string.prototype.trim": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", @@ -31038,6 +36876,15 @@ "node": ">=8" } }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -31071,6 +36918,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "dev": true, + "dependencies": { + "acorn": "^8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-outer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-2.0.0.tgz", + "integrity": "sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strong-log-transformer": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", @@ -31087,6 +36958,23 @@ "node": ">=4" } }, + "node_modules/strtok3": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", + "dev": true, + "dependencies": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^5.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, "node_modules/style-loader": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", @@ -31166,7 +37054,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -31192,6 +37079,12 @@ "integrity": "sha512-JaKkGHHfGvRrcMPdJWkssLBeWqM+Isg/a09H7kgNNajT1cX5AztDTNs+C8UzpCxjCTRrG34WbquwaovZbmSk9g==", "dev": true }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true + }, "node_modules/svgo": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.1.0.tgz", @@ -31257,6 +37150,36 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/table-layout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", + "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "dependencies": { + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/table-layout/node_modules/array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/table-layout/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "engines": { + "node": ">=8" + } + }, "node_modules/tablesort": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/tablesort/-/tablesort-5.3.0.tgz", @@ -31654,6 +37577,30 @@ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", "dev": true }, + "node_modules/tinybench": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", + "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==", + "dev": true + }, + "node_modules/tinypool": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.7.0.tgz", + "integrity": "sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -31792,6 +37739,32 @@ "node": ">=0.6" } }, + "node_modules/token-types": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", + "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", + "dev": true, + "dependencies": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/tough-cookie": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", @@ -31816,6 +37789,17 @@ "node": ">= 4.0.0" } }, + "node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "dependencies": { + "punycode": "^2.3.0" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/traverse": { "version": "0.6.7", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", @@ -31843,6 +37827,30 @@ "node": ">=8" } }, + "node_modules/trim-repeated": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-2.0.0.tgz", + "integrity": "sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^5.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ts-api-utils": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", @@ -32271,29 +38279,30 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -32303,16 +38312,17 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -32322,14 +38332,20 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz", + "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -32360,7 +38376,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "devOptional": true, + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -32369,6 +38385,14 @@ "node": ">=14.17" } }, + "node_modules/typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "engines": { + "node": ">=8" + } + }, "node_modules/ua-parser-js": { "version": "1.0.37", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", @@ -32392,6 +38416,12 @@ "node": "*" } }, + "node_modules/ufo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", + "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==", + "dev": true + }, "node_modules/uglify-js": { "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", @@ -32806,536 +38836,405 @@ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/vinyl-fs/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/vinyl-fs/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/vinyl-sourcemap": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", - "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==", - "dev": true, - "dependencies": { - "append-buffer": "^1.0.2", - "convert-source-map": "^1.5.0", - "graceful-fs": "^4.1.6", - "normalize-path": "^2.1.1", - "now-and-later": "^2.0.0", - "remove-bom-buffer": "^3.0.0", - "vinyl": "^2.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vinyl-sourcemap/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vis": { - "version": "4.21.0-EOL", - "resolved": "https://registry.npmjs.org/vis/-/vis-4.21.0-EOL.tgz", - "integrity": "sha512-JVS1mywKg5S88XbkDJPfCb3n+vlg5fMA8Ae2hzs3KHAwD4ryM5qwlbFZ6ReDfY8te7I4NLCpuCoywJQEehvJlQ==", - "deprecated": "Please consider using https://github.com/visjs", - "dev": true, - "dependencies": { - "emitter-component": "^1.1.1", - "hammerjs": "^2.0.8", - "keycharm": "^0.2.0", - "moment": "^2.18.1", - "propagating-hammerjs": "^1.4.6" - } - }, - "node_modules/vite": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", - "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", - "dev": true, - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], + "node_modules/vinyl-fs/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], + "node_modules/vinyl-fs/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], + "node_modules/vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, "engines": { - "node": ">=12" + "node": ">= 0.10" } }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], + "node_modules/vinyl-sourcemap/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], + "node_modules/vis": { + "version": "4.21.0-EOL", + "resolved": "https://registry.npmjs.org/vis/-/vis-4.21.0-EOL.tgz", + "integrity": "sha512-JVS1mywKg5S88XbkDJPfCb3n+vlg5fMA8Ae2hzs3KHAwD4ryM5qwlbFZ6ReDfY8te7I4NLCpuCoywJQEehvJlQ==", + "deprecated": "Please consider using https://github.com/visjs", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "emitter-component": "^1.1.1", + "hammerjs": "^2.0.8", + "keycharm": "^0.2.0", + "moment": "^2.18.1", + "propagating-hammerjs": "^1.4.6" } }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], + "node_modules/vite": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", + "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, "engines": { - "node": ">=12" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], + "node_modules/vite-node": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.6.tgz", + "integrity": "sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "mlly": "^1.4.0", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, "engines": { - "node": ">=12" + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], + "node_modules/vite-plugin-dts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-2.3.0.tgz", + "integrity": "sha512-WbJgGtsStgQhdm3EosYmIdTGbag5YQpZ3HXWUAPCDyoXI5qN6EY0V7NXq0lAmnv9hVQsvh0htbYcg0Or5Db9JQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/parser": "^7.21.4", + "@microsoft/api-extractor": "^7.34.4", + "@rollup/pluginutils": "^5.0.2", + "@rushstack/node-core-library": "^3.55.2", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "fs-extra": "^10.1.0", + "kolorist": "^1.7.0", + "magic-string": "^0.29.0", + "ts-morph": "18.0.0" + }, "engines": { - "node": ">=12" + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": ">=2.9.0" } }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], + "node_modules/vite-plugin-dts/node_modules/@ts-morph/common": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.19.0.tgz", + "integrity": "sha512-Unz/WHmd4pGax91rdIKWi51wnVUW11QttMEPpBiBgIewnc9UQIX7UDLxr5vRlqeByXCwhkF6VabSsI0raWcyAQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "fast-glob": "^3.2.12", + "minimatch": "^7.4.3", + "mkdirp": "^2.1.6", + "path-browserify": "^1.0.1" } }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], + "node_modules/vite-plugin-dts/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], + "node_modules/vite-plugin-dts/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, - "optional": true, - "os": [ - "netbsd" - ], + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, "engines": { "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], + "node_modules/vite-plugin-dts/node_modules/magic-string": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", + "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", "dev": true, - "optional": true, - "os": [ - "openbsd" - ], + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, "engines": { "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], + "node_modules/vite-plugin-dts/node_modules/minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", "dev": true, - "optional": true, - "os": [ - "sunos" - ], + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], + "node_modules/vite-plugin-dts/node_modules/mkdirp": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz", + "integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], + "node_modules/vite-plugin-dts/node_modules/ts-morph": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-18.0.0.tgz", + "integrity": "sha512-Kg5u0mk19PIIe4islUI/HWRvm9bC1lHejK4S0oh1zaZ77TMZAEmQC0sHQYiu2RgCQFZKXz1fMVi/7nOOeirznA==", "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@ts-morph/common": "~0.19.0", + "code-block-writer": "^12.0.0" } }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], + "node_modules/vite/node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", "dev": true, - "optional": true, - "os": [ - "win32" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, "engines": { - "node": ">=12" + "node": "^10 || ^12 || >=14" } }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "node_modules/vitest": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.6.tgz", + "integrity": "sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==", "dev": true, - "hasInstallScript": true, + "dependencies": { + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.34.6", + "@vitest/runner": "0.34.6", + "@vitest/snapshot": "0.34.6", + "@vitest/spy": "0.34.6", + "@vitest/utils": "0.34.6", + "acorn": "^8.9.0", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.10", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.7.0", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0", + "vite-node": "0.34.6", + "why-is-node-running": "^2.2.2" + }, "bin": { - "esbuild": "bin/esbuild" + "vitest": "vitest.mjs" }, "engines": { - "node": ">=12" + "node": ">=v14.18.0" }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@vitest/browser": "*", + "@vitest/ui": "*", + "happy-dom": "*", + "jsdom": "*", + "playwright": "*", + "safaridriver": "*", + "webdriverio": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } } }, - "node_modules/vite/node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "node_modules/vitest/node_modules/@vitest/utils": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.6.tgz", + "integrity": "sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==", "dev": true, - "bin": { - "rollup": "dist/bin/rollup" + "dependencies": { + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vitest/node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true, "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" + "node": ">=0.4.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "dependencies": { + "xml-name-validator": "^4.0.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "engines": { + "node": ">=14" } }, "node_modules/walker": { @@ -33378,6 +39277,14 @@ "defaults": "^1.0.3" } }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, "node_modules/webpack": { "version": "5.89.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", @@ -33536,18 +39443,6 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/webpack-dev-server/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/webpack-dev-server/node_modules/cookie": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", @@ -33955,6 +39850,28 @@ "node": ">=0.10.0" } }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", + "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", + "dev": true, + "dependencies": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -33986,6 +39903,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-module": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", @@ -33993,15 +39928,15 @@ "dev": true }, "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -34010,6 +39945,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wildcard": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", @@ -34103,6 +40054,26 @@ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, + "node_modules/wordwrapjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", + "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", + "dependencies": { + "reduce-flatten": "^2.0.0", + "typical": "^5.2.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/wordwrapjs/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "engines": { + "node": ">=8" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -34222,6 +40193,7 @@ "version": "8.11.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, "engines": { "node": ">=10.0.0" }, @@ -34244,6 +40216,15 @@ "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==", "dev": true }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", diff --git a/package.json b/package.json index 0c3a1cd..fea831b 100644 --- a/package.json +++ b/package.json @@ -81,9 +81,12 @@ "ngxtension": "^1.12.0", "normalize.css": "8.0.1", "query-string": "^8.1.0", + "react": "18.2.0", + "react-dom": "18.2.0", "reflect-metadata": "0.1.13", "rxdb": "^15.9.1", "rxjs": "7.8.1", + "streamlit-component-lib": "^2.0.0", "todomvc-app-css": "2.4.3", "todomvc-common": "1.0.5", "tslib": "^2.6.2", @@ -113,25 +116,41 @@ "@nx/eslint": "17.2.7", "@nx/eslint-plugin": "17.2.7", "@nx/jest": "17.2.7", - "@nx/js": "^17.2.7", + "@nx/js": "17.3.2", + "@nx/react": "17.3.2", + "@nx/vite": "17.2.7", + "@nx/web": "17.2.7", "@nx/workspace": "17.2.7", "@schematics/angular": "17.0.8", - "@swc-node/register": "~1.6.7", + "@swc-node/register": "~1.8.0", + "@swc/cli": "~0.1.62", "@swc/core": "~1.3.85", + "@swc/helpers": "~0.5.2", + "@swc/jest": "0.2.20", + "@testing-library/react": "14.0.0", "@twittwer/compodoc": "1.12.0", "@types/fs-extra": "^11.0.2", "@types/jest": "^29.4.0", "@types/node": "18.16.9", + "@types/react": "18.2.33", + "@types/react-dom": "18.2.14", "@types/webpack": "4.41.25", "@typescript-eslint/eslint-plugin": "6.15.0", "@typescript-eslint/parser": "6.15.0", + "@vitejs/plugin-react": "^4.2.0", + "@vitejs/plugin-react-swc": "^3.5.0", + "@vitest/coverage-v8": "~0.34.6", + "@vitest/ui": "~0.34.6", "conventional-changelog-cli": "^4.1.0", "document-register-element": "1.14.10", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsdoc": "^46.8.2", + "eslint-plugin-jsx-a11y": "6.7.1", "eslint-plugin-prettier": "5.1.2", + "eslint-plugin-react": "7.32.2", + "eslint-plugin-react-hooks": "4.6.0", "eslint-plugin-rxjs": "=5.0.3", "eslint-plugin-rxjs-angular": "=2.0.1", "fs-extra": "^9.1.0", @@ -142,6 +161,7 @@ "jest-localstorage-mock": "2.4.26", "jest-marbles": "^3.0.6", "jest-preset-angular": "~13.1.4", + "jsdom": "~22.1.0", "jsonc-eslint-parser": "^2.1.0", "lcov-result-merger": "^3.1.0", "lint-staged": "^15.2.0", @@ -161,7 +181,10 @@ "ts-jest": "^29.1.0", "ts-node": "10.9.1", "type-fest": "^4.3.1", - "typescript": "5.2.2" + "typescript": "5.2.2", + "vite": "~5.0.0", + "vite-plugin-dts": "~2.3.0", + "vitest": "~0.34.6" }, "engines": { "node": ">=16" diff --git a/packages/rxdb/collection/src/lib/collection.service.ts b/packages/rxdb/collection/src/lib/collection.service.ts index aa74756..147aefb 100644 --- a/packages/rxdb/collection/src/lib/collection.service.ts +++ b/packages/rxdb/collection/src/lib/collection.service.ts @@ -41,9 +41,9 @@ import { switchMap, takeWhile, } from 'rxjs'; -import { ensureCollection, ensureCollection$ } from './helpers'; +import { ensureCollection, ensureCollection$, runInZone } from './helpers'; -const { getMaybeId, logger, debug, runInZone } = NgxRxdbUtils; +const { getMaybeId, logger, debug } = NgxRxdbUtils; /** * Injection token for Service for interacting with a RxDB {@link RxCollection}. diff --git a/packages/rxdb/collection/src/lib/helpers.ts b/packages/rxdb/collection/src/lib/helpers.ts index 8366ec7..c4b4556 100644 --- a/packages/rxdb/collection/src/lib/helpers.ts +++ b/packages/rxdb/collection/src/lib/helpers.ts @@ -1,7 +1,8 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ +import { NgZone } from '@angular/core'; import type { RxCollectionCreatorExtended } from '@ngx-odm/rxdb/config'; import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; -import { Observable, defer, lastValueFrom, switchMap } from 'rxjs'; +import { Observable, OperatorFunction, defer, lastValueFrom, switchMap } from 'rxjs'; const { debug } = NgxRxdbUtils; @@ -10,6 +11,26 @@ type CollectionLike = { readonly config: RxCollectionCreatorExtended; }; +export function isNgZone(zone: unknown): zone is NgZone { + return zone instanceof NgZone; +} + +/** + * Moves observable execution in and out of Angular zone. + * @param zone + */ +export function runInZone(zone: NgZone): OperatorFunction { + return source => { + return new Observable(subscriber => { + return source.subscribe( + (value: T) => zone.run(() => subscriber.next(value)), + (e: any) => zone.run(() => subscriber.error(e)), + () => zone.run(() => subscriber.complete()) + ); + }); + }; +} + /** * Collection method decorator for Observable return type * diff --git a/packages/rxdb/config/src/index.ts b/packages/rxdb/config/src/index.ts index db3b131..4dab479 100644 --- a/packages/rxdb/config/src/index.ts +++ b/packages/rxdb/config/src/index.ts @@ -1 +1,2 @@ export * from './lib/config'; +export * from './lib/plugin.loader'; diff --git a/packages/rxdb/config/src/lib/config.ts b/packages/rxdb/config/src/lib/config.ts index 3942c66..7876ef8 100644 --- a/packages/rxdb/config/src/lib/config.ts +++ b/packages/rxdb/config/src/lib/config.ts @@ -1,6 +1,5 @@ // INFO: we NEED to keep `any` here. only Typescript complains, but type resolution for consumers does work /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types */ -import { InjectionToken } from '@angular/core'; import type { MangoQuery, RxCollection, @@ -85,16 +84,6 @@ export type MangoQueryParams = { limit?: number | undefined; }; -/** - * Instance of RxDatabaseCreator - */ -export const RXDB_CONFIG = new InjectionToken('RxDatabaseCreator'); -/** - * Instance of RxCollectionCreator - */ -/* prettier-ignore */ -export const RXDB_CONFIG_COLLECTION = new InjectionToken('RxCollectionCreator'); - /** * Custom options object for {@link RxDatabaseCreator} */ diff --git a/packages/rxdb/core/src/lib/plugin.loader.ts b/packages/rxdb/config/src/lib/plugin.loader.ts similarity index 83% rename from packages/rxdb/core/src/lib/plugin.loader.ts rename to packages/rxdb/config/src/lib/plugin.loader.ts index 9918e6e..e50e191 100644 --- a/packages/rxdb/core/src/lib/plugin.loader.ts +++ b/packages/rxdb/config/src/lib/plugin.loader.ts @@ -1,5 +1,5 @@ -import { isDevMode } from '@angular/core'; -import { RxDBPUseQueryParamsPlugin } from '@ngx-odm/rxdb/query-params'; +import { RxDBPreparePlugin } from '@ngx-odm/rxdb/prepare'; +// import { RxDBPUseQueryParamsPlugin } from '@ngx-odm/rxdb/query-params'; import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; import { RxPlugin, addRxPlugin } from 'rxdb'; import { RxDBCleanupPlugin } from 'rxdb/plugins/cleanup'; @@ -7,7 +7,8 @@ import { RxDBJsonDumpPlugin } from 'rxdb/plugins/json-dump'; import { RxDBLocalDocumentsPlugin } from 'rxdb/plugins/local-documents'; import { RxDBMigrationPlugin } from 'rxdb/plugins/migration-schema'; import { RxDBUpdatePlugin } from 'rxdb/plugins/update'; -import { RxDBPreparePlugin } from './prepare.plugin'; + +const { isDevMode, isTestEnvironment } = NgxRxdbUtils; /** * Loads all the necessary and additional RxDB plugins for the application to work. @@ -25,14 +26,14 @@ export async function loadRxDBPlugins(plugins: RxPlugin[] = []): Promise { addRxPlugin(RxDBCleanupPlugin); // custom addRxPlugin(RxDBPreparePlugin); - addRxPlugin(RxDBPUseQueryParamsPlugin); + // addRxPlugin(RxDBPUseQueryParamsPlugin); // additional plugins for (const plugin of plugins) { addRxPlugin(plugin); } /** * to reduce the build-size, we use some plugins in dev-mode only */ - if (isDevMode() && !NgxRxdbUtils.isTestEnvironment()) { + if (isDevMode() && !isTestEnvironment()) { // https://rxdb.info/dev-mode.html const { RxDBDevModePlugin } = await import('rxdb/plugins/dev-mode'); addRxPlugin(RxDBDevModePlugin); diff --git a/packages/rxdb/core/src/index.ts b/packages/rxdb/core/src/index.ts index e3f84da..485d68b 100644 --- a/packages/rxdb/core/src/index.ts +++ b/packages/rxdb/core/src/index.ts @@ -1,3 +1 @@ export * from './lib/service'; -export * from './lib/prepare.plugin'; -export * from './lib/plugin.loader'; diff --git a/packages/rxdb/core/src/lib/service.ts b/packages/rxdb/core/src/lib/service.ts index 3f0d8e3..68ccd39 100644 --- a/packages/rxdb/core/src/lib/service.ts +++ b/packages/rxdb/core/src/lib/service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; -import type { RxCollectionCreatorExtended } from '@ngx-odm/rxdb/config'; +import { RxCollectionCreatorExtended, loadRxDBPlugins } from '@ngx-odm/rxdb/config'; +import { prepareCollections } from '@ngx-odm/rxdb/prepare'; import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; import { CollectionsOfDatabase, @@ -7,8 +8,6 @@ import { RxDatabaseCreator, createRxDatabase, } from 'rxdb'; -import { loadRxDBPlugins } from './plugin.loader'; -import { prepareCollections } from './prepare.plugin'; const { logger } = NgxRxdbUtils; diff --git a/packages/rxdb/prepare/README.md b/packages/rxdb/prepare/README.md new file mode 100644 index 0000000..6746442 --- /dev/null +++ b/packages/rxdb/prepare/README.md @@ -0,0 +1,3 @@ +# @ngx-odm/rxdb/utils + +Secondary entry point of `@ngx-odm/rxdb`. It can be used by importing from `@ngx-odm/rxdb/utils`. diff --git a/packages/rxdb/prepare/ng-package.json b/packages/rxdb/prepare/ng-package.json new file mode 100644 index 0000000..c781f0d --- /dev/null +++ b/packages/rxdb/prepare/ng-package.json @@ -0,0 +1,5 @@ +{ + "lib": { + "entryFile": "src/index.ts" + } +} diff --git a/packages/rxdb/prepare/src/index.ts b/packages/rxdb/prepare/src/index.ts new file mode 100644 index 0000000..e8140e3 --- /dev/null +++ b/packages/rxdb/prepare/src/index.ts @@ -0,0 +1 @@ +export * from './lib/prepare.plugin'; diff --git a/packages/rxdb/core/src/lib/prepare.plugin.spec.ts b/packages/rxdb/prepare/src/lib/prepare.plugin.spec.ts similarity index 100% rename from packages/rxdb/core/src/lib/prepare.plugin.spec.ts rename to packages/rxdb/prepare/src/lib/prepare.plugin.spec.ts diff --git a/packages/rxdb/core/src/lib/prepare.plugin.ts b/packages/rxdb/prepare/src/lib/prepare.plugin.ts similarity index 99% rename from packages/rxdb/core/src/lib/prepare.plugin.ts rename to packages/rxdb/prepare/src/lib/prepare.plugin.ts index aad1393..66cbc10 100644 --- a/packages/rxdb/core/src/lib/prepare.plugin.ts +++ b/packages/rxdb/prepare/src/lib/prepare.plugin.ts @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-explicit-any */ -import { +import type { RxCollectionExtended as RxCollection, RxCollectionCreatorExtended, RxDbMetadata, diff --git a/packages/rxdb/src/lib/rxdb.providers.ts b/packages/rxdb/src/lib/rxdb.providers.ts index 173a4ef..2cffa53 100644 --- a/packages/rxdb/src/lib/rxdb.providers.ts +++ b/packages/rxdb/src/lib/rxdb.providers.ts @@ -1,16 +1,22 @@ -import { APP_INITIALIZER, Provider } from '@angular/core'; +import { APP_INITIALIZER, InjectionToken, Provider } from '@angular/core'; import { NgxRxdbCollectionService, collectionServiceFactory, } from '@ngx-odm/rxdb/collection'; -import { - RXDB_CONFIG, - RXDB_CONFIG_COLLECTION, - RxCollectionCreatorExtended, -} from '@ngx-odm/rxdb/config'; +import type { RxCollectionCreatorExtended } from '@ngx-odm/rxdb/config'; import { NgxRxdbService } from '@ngx-odm/rxdb/core'; import { RxDatabaseCreator } from 'rxdb'; +/** + * Instance of RxDatabaseCreator + */ +export const RXDB_CONFIG = new InjectionToken('RxDatabaseCreator'); +/** + * Instance of RxCollectionCreator + */ +/* prettier-ignore */ +export const RXDB_CONFIG_COLLECTION = new InjectionToken('RxCollectionCreator'); + /** * Initializes DB at `APP_INITIALIZER` cycle * @param dbService diff --git a/packages/rxdb/utils/src/lib/utils.ts b/packages/rxdb/utils/src/lib/utils.ts index 0740b44..6edbd78 100644 --- a/packages/rxdb/utils/src/lib/utils.ts +++ b/packages/rxdb/utils/src/lib/utils.ts @@ -1,5 +1,4 @@ /* eslint-disable @typescript-eslint/no-namespace, @typescript-eslint/no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/no-explicit-any, no-console */ -import { NgZone, isDevMode } from '@angular/core'; import type { FilledMangoQuery, PreparedQuery, RxDocument, RxJsonSchema } from 'rxdb'; import { prepareQuery } from 'rxdb'; import { RxReplicationState } from 'rxdb/plugins/replication'; @@ -214,8 +213,8 @@ export namespace NgxRxdbUtils { export const isObject = (x: any): x is object => Object.prototype.toString.call(x) === '[object Object]'; - export function isNgZone(zone: unknown): zone is NgZone { - return zone instanceof NgZone; + export function isDevMode(): boolean { + return typeof globalThis['ngDevMode'] === 'undefined' || !!globalThis['ngDevMode']; } export function isValidNumber(value: any): value is number { @@ -230,6 +229,55 @@ export namespace NgxRxdbUtils { return value; } + /** + * Invokes the iteratee `n` times, returning an array of the results of each invocation. + * + * Differences from lodash: + * - has undefined behavior when given a non natural number for `n` + * - does not provide a default for `iteratee` + * + * Contribution to minified bundle size, when it is the only function imported: + * - Lodash: 1,497 bytes + * - Micro-dash: 51 bytes + * @param n + * @param iteratee + */ + export function times(n: number, iteratee: (index: number) => T): T[] { + const result: T[] = []; + for (let i = 0; i < n; ++i) { + result[i] = iteratee(i); + } + return result; + } + + /** + * Creates an array of numbers _(positive and/or negative)_ progressing from `start` up to, but not including, `end`. A `step` of `-1` is used if a negative `start` is specified without an `end` or `step`. If `end` is not specified, it's set to `start` with `start` then set to `0`. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving floating-point values which can produce unexpected results. + * + * Differences from lodash: + * - does not work as an iteratee for methods like `map` + * + * Contribution to minified bundle size, when it is the only function imported: + * - Lodash: 2,020 bytes + * - Micro-dash: 181 bytes + */ + + export function range(end: number): number[]; + // tslint:disable-next-line:unified-signatures + export function range(start: number, end: number, step?: number): number[]; + + export function range(start: number, end?: number, step?: number): number[] { + if (isUndefined(end)) { + end = start; + start = 0; + } + if (isUndefined(step)) { + step = end < start ? -1 : 1; + } + return times(Math.abs((end - start) / (step || 1)), i => start + step! * i); + } + export function getMaybeId(entityOrId: object | string): string { if (isObject(entityOrId)) { return entityOrId['_id']; @@ -330,22 +378,6 @@ export namespace NgxRxdbUtils { }; } - /** - * Moves observable execution in and out of Angular zone. - * @param zone - */ - export function runInZone(zone: NgZone): OperatorFunction { - return source => { - return new Observable(subscriber => { - return source.subscribe( - (value: T) => zone.run(() => subscriber.next(value)), - (e: any) => zone.run(() => subscriber.error(e)), - () => zone.run(() => subscriber.complete()) - ); - }); - }; - } - /** * Simple rxjs exponential backoff retry operator * @param count diff --git a/packages/streamlit-rxdb-dataframe/LICENSE b/packages/streamlit-rxdb-dataframe/LICENSE new file mode 100644 index 0000000..d7e8cff --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2018-2021 Streamlit Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/streamlit-rxdb-dataframe/MANIFEST.in b/packages/streamlit-rxdb-dataframe/MANIFEST.in new file mode 100644 index 0000000..96612fe --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/MANIFEST.in @@ -0,0 +1 @@ +recursive-include rxdb_dataframe/frontend/build * diff --git a/packages/streamlit-rxdb-dataframe/e2e/e2e_utils.py b/packages/streamlit-rxdb-dataframe/e2e/e2e_utils.py new file mode 100644 index 0000000..85fb4b5 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/e2e/e2e_utils.py @@ -0,0 +1,172 @@ +import contextlib +import logging +import os +import shlex +import socket +import subprocess +import sys +import time +import typing +from contextlib import closing +from tempfile import TemporaryFile + +import requests + + +LOGGER = logging.getLogger(__file__) + + +def _find_free_port(): + """Find and return a free port on the local machine.""" + with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as s: + s.bind(("", 0)) # 0 means that the OS chooses a random port + s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + return int(s.getsockname()[1]) # [1] contains the randomly selected port number + + +class AsyncSubprocess: + """A context manager. Wraps subprocess. Popen to capture output safely.""" + + def __init__(self, args: typing.List[str], cwd: typing.Optional[str] = None, + env: typing.Optional[typing.Dict[str, str]] = None): + """Initialize an AsyncSubprocess instance. + + Args: + args (List[str]): List of command-line arguments. + cwd (str, optional): Current working directory. Defaults to None. + env (dict, optional): Environment variables. Defaults to None. + """ + self.args = args + self.cwd = cwd + self.env = env + self._proc = None + self._stdout_file = None + + def terminate(self) -> typing.Optional[str]: + """Terminate the process and return its stdout/stderr in a string.""" + if self._proc is not None: + self._proc.terminate() + self._proc.wait() + self._proc = None + + # Read the stdout file and close it + stdout = None + if self._stdout_file is not None: + self._stdout_file.seek(0) + stdout = self._stdout_file.read() + self._stdout_file.close() + self._stdout_file = None + + return stdout + + def __enter__(self) -> "AsyncSubprocess": + """Start the subprocess when entering the context.""" + self.start() + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + """Stop the subprocess and close resources when exiting the context.""" + self.stop() + + def start(self): + # Start the process and capture its stdout/stderr output to a temp + # file. We do this instead of using subprocess.PIPE (which causes the + # Popen object to capture the output to its own internal buffer), + # because large amounts of output can cause it to deadlock. + self._stdout_file = TemporaryFile("w+") + LOGGER.info("Running command: %s", shlex.join(self.args)) + self._proc = subprocess.Popen( + self.args, + cwd=self.cwd, + stdout=self._stdout_file, + stderr=subprocess.STDOUT, + text=True, + env={**os.environ.copy(), **self.env} if self.env else None, + ) + + def stop(self): + """Terminate the subprocess and close resources.""" + if self._proc is not None: + self._proc.terminate() + self._proc = None + if self._stdout_file is not None: + self._stdout_file.close() + self._stdout_file = None + + +class StreamlitRunner: + """A context manager for running Streamlit scripts.""" + + def __init__( + self, script_path: os.PathLike, server_port: typing.Optional[int] = None + ): + """Initialize a StreamlitRunner instance. + + Args: + script_path (os.PathLike): Path to the Streamlit script to run. + server_port (int, optional): Port for the Streamlit server. Defaults to None. + """ + self._process = None + self.server_port = server_port + self.script_path = script_path + + def __enter__(self) -> "StreamlitRunner": + """Start the Streamlit server when entering the context.""" + self.start() + return self + + def __exit__(self, type, value, traceback): + """Stop the Streamlit server and close resources when exiting the context.""" + self.stop() + + def start(self): + """Start the Streamlit server using the specified script and options.""" + self.server_port = self.server_port or _find_free_port() + self._process = AsyncSubprocess( + [ + sys.executable, + "-m", + "streamlit", + "run", + str(self.script_path), + f"--server.port={self.server_port}", + "--server.headless=true", + "--browser.gatherUsageStats=false", + "--global.developmentMode=false", + ] + ) + self._process.start() + if not self.is_server_running(): + self._process.stop() + raise RuntimeError("Application failed to start") + + def stop(self): + """Stop the Streamlit server and close resources.""" + self._process.stop() + + def is_server_running(self, timeout: int = 30) -> bool: + """Check if the Streamlit server is running. + + Args: + timeout (int, optional): Maximum time to wait for the server to start. Defaults to 30. + + Returns: + bool: True if the server is running, False otherwise. + """ + with requests.Session() as http_session: + start_time = time.time() + while True: + with contextlib.suppress(requests.RequestException): + response = http_session.get(self.server_url + "/_stcore/health") + if response.text == "ok": + return True + time.sleep(3) + if time.time() - start_time > 60 * timeout: + return False + + @property + def server_url(self) -> str: + """Get the URL of the Streamlit server.""" + if not self.server_port: + raise RuntimeError("Unknown server port") + return f"http://localhost:{self.server_port}" diff --git a/packages/streamlit-rxdb-dataframe/e2e/test_rxdb_dataframe.py b/packages/streamlit-rxdb-dataframe/e2e/test_rxdb_dataframe.py new file mode 100644 index 0000000..16d31e0 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/e2e/test_rxdb_dataframe.py @@ -0,0 +1,36 @@ +from pathlib import Path + +import pytest + +from playwright.sync_api import Page, expect + +from e2e_utils import StreamlitRunner + +ROOT_DIRECTORY = Path(__file__).parent.parent.absolute() +BASIC_EXAMPLE_FILE = ROOT_DIRECTORY / "rxdb_dataframe" / "example.py" + +@pytest.fixture(autouse=True, scope="module") +def streamlit_app(): + with StreamlitRunner(BASIC_EXAMPLE_FILE) as runner: + yield runner + + +@pytest.fixture(autouse=True, scope="function") +def go_to_app(page: Page, streamlit_app: StreamlitRunner): + page.goto(streamlit_app.server_url) + # Wait for app to load + page.get_by_role("img", name="Running...").is_hidden() + + +def test_should_render_dataframe(page: Page): + frame = page.frame_locator( + 'iframe[title="rxdb_dataframe\\.rxdb_dataframe"]' + ) + cell_in_frame = frame.get_by_role("cell", name="Jason") + expect(cell_in_frame).to_be_visible() + + st_table = page.get_by_test_id('stTable') + + frame.get_by_role("button", name="Return dataframe").click() + cell_generated = st_table.get_by_role("cell", name="Jason") + expect(cell_generated).to_be_visible() diff --git a/packages/streamlit-rxdb-dataframe/example.py b/packages/streamlit-rxdb-dataframe/example.py new file mode 100644 index 0000000..29de9e4 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/example.py @@ -0,0 +1,18 @@ +import streamlit as st +import pandas as pd +from rxdb_dataframe import rxdb_dataframe + +# Test code to play with the component while it's in development. +# During development, we can run this just as we would any other Streamlit +# app: `$ streamlit run rxdb_dataframe/example.py` +raw_data = { + "First Name": ["Jason", "Molly", "Tina", "Jake", "Amy"], + "Last Name": ["Miller", "Jacobson", "Ali", "Milner", "Smith"], + "Age": [42, 52, 36, 24, 73], +} + +df = pd.DataFrame(raw_data, columns=["First Name", "Last Name", "Age"]) +returned_df = rxdb_dataframe(df) + +if not returned_df.empty: + st.table(returned_df) diff --git a/packages/streamlit-rxdb-dataframe/frontend/.eslintrc.json b/packages/streamlit-rxdb-dataframe/frontend/.eslintrc.json new file mode 100644 index 0000000..75b8507 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "extends": ["plugin:@nx/react", "../../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/packages/streamlit-rxdb-dataframe/frontend/index.html b/packages/streamlit-rxdb-dataframe/frontend/index.html new file mode 100644 index 0000000..3a49a7e --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/index.html @@ -0,0 +1,16 @@ + + + + + RxdbDataframe + + + + + + + +
+ + + diff --git a/packages/streamlit-rxdb-dataframe/frontend/project.json b/packages/streamlit-rxdb-dataframe/frontend/project.json new file mode 100644 index 0000000..497a483 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/project.json @@ -0,0 +1,8 @@ +{ + "name": "streamlit-rxdb-dataframe-frontend", + "$schema": "../../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "packages/streamlit-rxdb-dataframe/frontend/src", + "projectType": "application", + "targets": {}, + "tags": [] +} diff --git a/packages/streamlit-rxdb-dataframe/frontend/public/.gitkeep b/packages/streamlit-rxdb-dataframe/frontend/public/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/assets/.gitkeep b/packages/streamlit-rxdb-dataframe/frontend/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/col.dump.json b/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/col.dump.json new file mode 100644 index 0000000..16de3ee --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/col.dump.json @@ -0,0 +1,27 @@ +{ + "name": "todo", + "schemaHash": "9b18d72e95209a29cdc5f4849e21dc3c7c399f7d0fa070f159820e80ec2dee29", + "docs": [ + { + "id": "a4c6a479-7cca-4d3b-ab90-45d3eaa957f3", + "title": "Check other examples", + "completed": false, + "createdAt": 1548979200000, + "last_modified": 1548979200000 + }, + { + "id": "a4c6a479-7cca-4d3b-bc10-45d3eaa957r5", + "title": "Use \"@ngx-odm/rxdb\" in your project", + "completed": false, + "createdAt": 1698404710931, + "last_modified": 1698404710931 + }, + { + "id": "ac3ef2c6-c98b-43e1-9047-71d68b1f92f4", + "title": "Open Todo list example", + "completed": true, + "createdAt": 1546300800000, + "last_modified": 1546300800000 + } + ] +} diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/db.dump.json b/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/db.dump.json new file mode 100644 index 0000000..f6a9e1c --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/db.dump.json @@ -0,0 +1,33 @@ +{ + "name": "demo", + "instanceToken": "vhngmgjupw", + "collections": [ + { + "name": "todo", + "schemaHash": "9b18d72e95209a29cdc5f4849e21dc3c7c399f7d0fa070f159820e80ec2dee29", + "docs": [ + { + "id": "a4c6a479-7cca-4d3b-ab90-45d3eaa957f3", + "title": "Check other examples", + "completed": false, + "createdAt": 1548979200000, + "last_modified": 1548979200000 + }, + { + "id": "a4c6a479-7cca-4d3b-bc10-45d3eaa957r5", + "title": "Use \"@ngx-odm/rxdb\" in your project", + "completed": false, + "createdAt": 1698404710931, + "last_modified": 1698404710931 + }, + { + "id": "ac3ef2c6-c98b-43e1-9047-71d68b1f92f4", + "title": "Open Todo list example", + "completed": true, + "createdAt": 1546300800000, + "last_modified": 1546300800000 + } + ] + } + ] +} diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/todo.schema.json b/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/todo.schema.json new file mode 100644 index 0000000..9aab956 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/todo.schema.json @@ -0,0 +1,42 @@ +{ + "definitions": {}, + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "Todo", + "description": "Todo Schema", + "required": ["id", "title", "createdAt"], + "version": 3, + "properties": { + "id": { + "type": "string", + "title": "Id", + "pattern": "^(.*)$", + "maxLength": 36, + "readOnly": true + }, + "title": { + "type": "string", + "title": "Title" + }, + "completed": { + "type": "boolean", + "title": "Done" + }, + "createdAt": { + "type": "string", + "title": "Created Date", + "format": "date-time", + "readOnly": true + }, + "last_modified": { + "type": "number", + "title": "Last Modified Date", + "multipleOf": 1 + } + }, + "__indexes": ["createdAt"], + "primaryKey": "id", + "attachments": { + "encrypted": false + } +} diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/lib/Database.tsx b/packages/streamlit-rxdb-dataframe/frontend/src/lib/Database.tsx new file mode 100644 index 0000000..9a91706 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/src/lib/Database.tsx @@ -0,0 +1,76 @@ +import { createRxDatabase } from 'rxdb'; +import { getRxStorageDexie } from 'rxdb/plugins/storage-dexie'; +import { TODOS_COLLECTION_CONFIG, TODO_SCHEMA } from '@shared'; +// import { replicateCouchDB } from 'rxdb/plugins/replication-couchdb'; +import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; +import { loadRxDBPlugins } from '@ngx-odm/rxdb/config'; + +const { logger } = NgxRxdbUtils; +const syncURL = 'http://' + window.location.hostname + ':10102/'; + +logger.log('host: ' + syncURL); + +let dbPromise = null; + +const _create = async () => { + await loadRxDBPlugins(); + + logger.log('DatabaseService: creating database..'); + const db = await createRxDatabase({ + name: 'heroesreactdb', + storage: getRxStorageDexie(), + }); + logger.log('DatabaseService: created database'); + window['db'] = db; // write to window for debugging + + // create collections + logger.log('DatabaseService: create collections'); + await db.addCollections({ + [TODOS_COLLECTION_CONFIG.name]: { ...TODOS_COLLECTION_CONFIG, schema: TODO_SCHEMA }, + }); + + /* + + // sync + logger.log('DatabaseService: sync'); + await Promise.all( + Object.values(db.collections).map(async col => { + try { + // create the CouchDB database + await fetch(syncURL + col.name + '/', { + method: 'PUT', + }); + } catch (err) { + logger.log('e', err); + } + }) + ); + + logger.log('DatabaseService: sync - start live'); + + Object.values(db.collections) + .map(col => col.name) + .map(colName => { + const url = syncURL + colName + '/'; + logger.log('url: ' + url); + const replicationState = replicateCouchDB({ + collection: db[colName], + url, + live: true, + pull: {}, + push: {}, + autoStart: true, + }); + replicationState.error$.subscribe(err => { + logger.log('Got replication error:'); + console.dir(err); + }); + }); */ + + return db; +}; + +export const get = () => { + if (!dbPromise) dbPromise = _create(); + return dbPromise; +}; diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx b/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx new file mode 100644 index 0000000..92a7427 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx @@ -0,0 +1,177 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import type { RxCollectionExtended as RxCollection } from '@ngx-odm/rxdb/config'; +import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; +import React, { Fragment, ReactNode, useEffect } from 'react'; +import { + ArrowTable, + ComponentProps, + Streamlit, + withStreamlitConnection, +} from 'streamlit-component-lib'; +import * as Database from './Database'; +import { Subscription } from 'rxjs'; +import type { RxCollection as _RxCollection, RxDatabase } from 'rxdb'; +import { Todo } from '@shared'; + +const { logger, range } = NgxRxdbUtils; + +interface TableProps { + element: ArrowTable; +} + +class Table extends React.PureComponent { + subs: Subscription[] = []; + collection!: RxCollection; + + public returnDataframe = (): void => { + // NOTE: Returning Styler data is not supported, + // so it won't be included in the returned dataframe. + Streamlit.setComponentValue(this.props.element); + }; + + async componentDidMount() { + const db: RxDatabase = await Database.get(); + this.collection = db.collections['todo']; + const meta = await this.collection.getMetadata(); + logger.log('meta', meta); + } + + componentWillUnmount() { + this.subs.forEach(sub => sub.unsubscribe()); + } + + public render = (): ReactNode => { + logger.log(this.props.element); + + const table = this.props.element; + const hasHeader = table.headerRows > 0; + const hasData = table.dataRows > 0; + const id = table.uuid ? 'T_' + table.uuid : undefined; + const classNames = 'table table-bordered' + (hasData ? undefined : 'empty-table'); + const caption = table.caption ? {table.caption} : null; + + return ( + <> +
+ + + {caption} + {hasHeader && ( + + + + )} + + {hasData ? ( + + ) : ( + + + + )} + +
empty
+
+ + + ); + }; +} + +/** + * Purely functional component returning a list of rows. + * + * isHeader - Whether to display the header. + * table - The table to display. + */ + +interface TableRowsProps { + isHeader: boolean; + table: ArrowTable; +} + +const TableRows: React.FC = props => { + const { isHeader, table } = props; + const { headerRows, rows } = table; + const startRow = isHeader ? 0 : headerRows; + const endRow = isHeader ? headerRows : rows; + + const tableRows = range(startRow, endRow).map(rowIndex => ( + + + + )); + + return {tableRows}; +}; + +/** + * Purely functional component returning a list entries for a row. + * + * rowIndex - The row index. + * table - The table to display. + */ + +interface TableRowProps { + rowIndex: number; + table: ArrowTable; +} + +const TableRow: React.FC = props => { + const { rowIndex, table } = props; + const { columns } = table; + + const cells = range(0, columns).map(columnIndex => { + const { classNames, content, id, type } = table.getCell(rowIndex, columnIndex); + + // Format the content if needed + const formattedContent = (content || '').toString(); + + switch (type) { + case 'blank': { + return ; + } + case 'index': { + return ( + + {formattedContent} + + ); + } + case 'columns': { + return ( + + {formattedContent} + + ); + } + case 'data': { + return ( + + {formattedContent} + + ); + } + default: { + throw new Error(`Cannot parse type "${type}".`); + } + } + }); + + return {cells}; +}; + +/** + * Dataframe example using Apache Arrow. + */ +const RxDBDataframe: React.FC = props => { + useEffect(() => { + Streamlit.setFrameHeight(); + }); + + return ; +}; + +export default withStreamlitConnection(RxDBDataframe); diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/main.tsx b/packages/streamlit-rxdb-dataframe/frontend/src/main.tsx new file mode 100644 index 0000000..68ed644 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/src/main.tsx @@ -0,0 +1,11 @@ +import { StrictMode } from 'react'; +import * as ReactDOM from 'react-dom/client'; + +import RxDBDataframe from './lib/RxDBDataframe'; + +const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); +root.render( + + + +); diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/styles.css b/packages/streamlit-rxdb-dataframe/frontend/src/styles.css new file mode 100644 index 0000000..90d4ee0 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/src/styles.css @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/packages/streamlit-rxdb-dataframe/frontend/tsconfig.app.json b/packages/streamlit-rxdb-dataframe/frontend/tsconfig.app.json new file mode 100644 index 0000000..2ddac06 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/tsconfig.app.json @@ -0,0 +1,24 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../dist/out-tsc", + "types": [ + "node", + "@nx/react/typings/cssmodule.d.ts", + "@nx/react/typings/image.d.ts", + "vite/client", + "vitest/importMeta" + ] + }, + "exclude": [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "src/**/*.spec.tsx", + "src/**/*.test.tsx", + "src/**/*.spec.js", + "src/**/*.test.js", + "src/**/*.spec.jsx", + "src/**/*.test.jsx" + ], + "include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"] +} diff --git a/packages/streamlit-rxdb-dataframe/frontend/tsconfig.json b/packages/streamlit-rxdb-dataframe/frontend/tsconfig.json new file mode 100644 index 0000000..ccd1b14 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "jsx": "react-jsx", + "allowJs": false, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "types": ["vite/client", "vitest"] + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ], + "extends": "../../../tsconfig.base.json" +} diff --git a/packages/streamlit-rxdb-dataframe/frontend/tsconfig.spec.json b/packages/streamlit-rxdb-dataframe/frontend/tsconfig.spec.json new file mode 100644 index 0000000..7e126fd --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/tsconfig.spec.json @@ -0,0 +1,28 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../dist/out-tsc", + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest", + "@nx/react/typings/cssmodule.d.ts", + "@nx/react/typings/image.d.ts" + ] + }, + "include": [ + "vite.config.ts", + "vitest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" + ] +} diff --git a/packages/streamlit-rxdb-dataframe/frontend/vite.config.ts b/packages/streamlit-rxdb-dataframe/frontend/vite.config.ts new file mode 100644 index 0000000..53dbd1d --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/vite.config.ts @@ -0,0 +1,54 @@ +/* eslint-disable import/no-default-export */ +/// +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; +import react from '@vitejs/plugin-react-swc'; +import { defineConfig } from 'vite'; +// import json from 'vite-plugin-json'; + +export default defineConfig({ + root: __dirname, + cacheDir: '../../../node_modules/.vite/packages/streamlit-rxdb-dataframe/frontend', + + server: { + port: 4201, + host: 'localhost', + }, + + preview: { + port: 4301, + host: 'localhost', + }, + + plugins: [/* json(), */ react(), nxViteTsPaths()], + + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + + build: { + outDir: '../../../dist/packages/streamlit-rxdb-dataframe/frontend', + reportCompressedSize: true, + commonjsOptions: { + transformMixedEsModules: true, + }, + }, + + define: { + 'import.meta.vitest': undefined, + }, + test: { + globals: true, + cache: { + dir: '../../../node_modules/.vitest', + }, + environment: 'jsdom', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + includeSource: ['src/**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + reporters: ['default'], + coverage: { + reportsDirectory: '../../../coverage/packages/streamlit-rxdb-dataframe/frontend', + provider: 'v8', + }, + }, +}); diff --git a/packages/streamlit-rxdb-dataframe/poetry.lock b/packages/streamlit-rxdb-dataframe/poetry.lock new file mode 100644 index 0000000..e1ffd32 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/poetry.lock @@ -0,0 +1,1396 @@ +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. + +[[package]] +name = "altair" +version = "5.2.0" +description = "Vega-Altair: A declarative statistical visualization library for Python." +optional = false +python-versions = ">=3.8" +files = [ + {file = "altair-5.2.0-py3-none-any.whl", hash = "sha256:8c4888ad11db7c39f3f17aa7f4ea985775da389d79ac30a6c22856ab238df399"}, + {file = "altair-5.2.0.tar.gz", hash = "sha256:2ad7f0c8010ebbc46319cc30febfb8e59ccf84969a201541c207bc3a4fa6cf81"}, +] + +[package.dependencies] +jinja2 = "*" +jsonschema = ">=3.0" +numpy = "*" +packaging = "*" +pandas = ">=0.25" +toolz = "*" +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} + +[package.extras] +dev = ["anywidget", "geopandas", "hatch", "ipython", "m2r", "mypy", "pandas-stubs", "pyarrow (>=11)", "pytest", "pytest-cov", "ruff (>=0.1.3)", "types-jsonschema", "types-setuptools", "vega-datasets", "vegafusion[embed] (>=1.4.0)", "vl-convert-python (>=1.1.0)"] +doc = ["docutils", "jinja2", "myst-parser", "numpydoc", "pillow (>=9,<10)", "pydata-sphinx-theme (>=0.14.1)", "scipy", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinxext-altair"] + +[[package]] +name = "attrs" +version = "23.2.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.7" +files = [ + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, +] + +[package.extras] +cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] +dev = ["attrs[tests]", "pre-commit"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] +tests = ["attrs[tests-no-zope]", "zope-interface"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] + +[[package]] +name = "blinker" +version = "1.7.0" +description = "Fast, simple object-to-object and broadcast signaling" +optional = false +python-versions = ">=3.8" +files = [ + {file = "blinker-1.7.0-py3-none-any.whl", hash = "sha256:c3f865d4d54db7abc53758a01601cf343fe55b84c1de4e3fa910e420b438d5b9"}, + {file = "blinker-1.7.0.tar.gz", hash = "sha256:e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182"}, +] + +[[package]] +name = "cachetools" +version = "5.3.3" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.3.3-py3-none-any.whl", hash = "sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945"}, + {file = "cachetools-5.3.3.tar.gz", hash = "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"}, +] + +[[package]] +name = "certifi" +version = "2024.2.2" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.0" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "gitdb" +version = "4.0.11" +description = "Git Object Database" +optional = false +python-versions = ">=3.7" +files = [ + {file = "gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4"}, + {file = "gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"}, +] + +[package.dependencies] +smmap = ">=3.0.1,<6" + +[[package]] +name = "gitpython" +version = "3.1.42" +description = "GitPython is a Python library used to interact with Git repositories" +optional = false +python-versions = ">=3.7" +files = [ + {file = "GitPython-3.1.42-py3-none-any.whl", hash = "sha256:1bf9cd7c9e7255f77778ea54359e54ac22a72a5b51288c457c881057b7bb9ecd"}, + {file = "GitPython-3.1.42.tar.gz", hash = "sha256:2d99869e0fef71a73cbd242528105af1d6c1b108c60dfabd994bf292f76c3ceb"}, +] + +[package.dependencies] +gitdb = ">=4.0.1,<5" + +[package.extras] +test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar"] + +[[package]] +name = "greenlet" +version = "3.0.3" +description = "Lightweight in-process concurrent programming" +optional = false +python-versions = ">=3.7" +files = [ + {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"}, + {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"}, + {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"}, + {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"}, + {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"}, + {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"}, + {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"}, + {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"}, + {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"}, + {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"}, + {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"}, + {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"}, + {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"}, + {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"}, + {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"}, + {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"}, +] + +[package.extras] +docs = ["Sphinx", "furo"] +test = ["objgraph", "psutil"] + +[[package]] +name = "idna" +version = "3.6" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, +] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +optional = false +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "jinja2" +version = "3.1.3" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, + {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "jsonschema" +version = "4.21.1" +description = "An implementation of JSON Schema validation for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jsonschema-4.21.1-py3-none-any.whl", hash = "sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f"}, + {file = "jsonschema-4.21.1.tar.gz", hash = "sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"}, +] + +[package.dependencies] +attrs = ">=22.2.0" +jsonschema-specifications = ">=2023.03.6" +referencing = ">=0.28.4" +rpds-py = ">=0.7.1" + +[package.extras] +format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] + +[[package]] +name = "jsonschema-specifications" +version = "2023.12.1" +description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, + {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, +] + +[package.dependencies] +referencing = ">=0.31.0" + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +optional = false +python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "markupsafe" +version = "2.1.5" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "numpy" +version = "1.26.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, + {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, + {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, + {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, + {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, + {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, + {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, + {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, + {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, + {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, +] + +[[package]] +name = "packaging" +version = "23.2" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, +] + +[[package]] +name = "pandas" +version = "2.2.1" +description = "Powerful data structures for data analysis, time series, and statistics" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pandas-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8df8612be9cd1c7797c93e1c5df861b2ddda0b48b08f2c3eaa0702cf88fb5f88"}, + {file = "pandas-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0f573ab277252ed9aaf38240f3b54cfc90fff8e5cab70411ee1d03f5d51f3944"}, + {file = "pandas-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f02a3a6c83df4026e55b63c1f06476c9aa3ed6af3d89b4f04ea656ccdaaaa359"}, + {file = "pandas-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c38ce92cb22a4bea4e3929429aa1067a454dcc9c335799af93ba9be21b6beb51"}, + {file = "pandas-2.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c2ce852e1cf2509a69e98358e8458775f89599566ac3775e70419b98615f4b06"}, + {file = "pandas-2.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:53680dc9b2519cbf609c62db3ed7c0b499077c7fefda564e330286e619ff0dd9"}, + {file = "pandas-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:94e714a1cca63e4f5939cdce5f29ba8d415d85166be3441165edd427dc9f6bc0"}, + {file = "pandas-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f821213d48f4ab353d20ebc24e4faf94ba40d76680642fb7ce2ea31a3ad94f9b"}, + {file = "pandas-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c70e00c2d894cb230e5c15e4b1e1e6b2b478e09cf27cc593a11ef955b9ecc81a"}, + {file = "pandas-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e97fbb5387c69209f134893abc788a6486dbf2f9e511070ca05eed4b930b1b02"}, + {file = "pandas-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101d0eb9c5361aa0146f500773395a03839a5e6ecde4d4b6ced88b7e5a1a6403"}, + {file = "pandas-2.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7d2ed41c319c9fb4fd454fe25372028dfa417aacb9790f68171b2e3f06eae8cd"}, + {file = "pandas-2.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:af5d3c00557d657c8773ef9ee702c61dd13b9d7426794c9dfeb1dc4a0bf0ebc7"}, + {file = "pandas-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:06cf591dbaefb6da9de8472535b185cba556d0ce2e6ed28e21d919704fef1a9e"}, + {file = "pandas-2.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:88ecb5c01bb9ca927ebc4098136038519aa5d66b44671861ffab754cae75102c"}, + {file = "pandas-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:04f6ec3baec203c13e3f8b139fb0f9f86cd8c0b94603ae3ae8ce9a422e9f5bee"}, + {file = "pandas-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a935a90a76c44fe170d01e90a3594beef9e9a6220021acfb26053d01426f7dc2"}, + {file = "pandas-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c391f594aae2fd9f679d419e9a4d5ba4bce5bb13f6a989195656e7dc4b95c8f0"}, + {file = "pandas-2.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9d1265545f579edf3f8f0cb6f89f234f5e44ba725a34d86535b1a1d38decbccc"}, + {file = "pandas-2.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:11940e9e3056576ac3244baef2fedade891977bcc1cb7e5cc8f8cc7d603edc89"}, + {file = "pandas-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:4acf681325ee1c7f950d058b05a820441075b0dd9a2adf5c4835b9bc056bf4fb"}, + {file = "pandas-2.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9bd8a40f47080825af4317d0340c656744f2bfdb6819f818e6ba3cd24c0e1397"}, + {file = "pandas-2.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:df0c37ebd19e11d089ceba66eba59a168242fc6b7155cba4ffffa6eccdfb8f16"}, + {file = "pandas-2.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:739cc70eaf17d57608639e74d63387b0d8594ce02f69e7a0b046f117974b3019"}, + {file = "pandas-2.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9d3558d263073ed95e46f4650becff0c5e1ffe0fc3a015de3c79283dfbdb3df"}, + {file = "pandas-2.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4aa1d8707812a658debf03824016bf5ea0d516afdea29b7dc14cf687bc4d4ec6"}, + {file = "pandas-2.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:76f27a809cda87e07f192f001d11adc2b930e93a2b0c4a236fde5429527423be"}, + {file = "pandas-2.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:1ba21b1d5c0e43416218db63037dbe1a01fc101dc6e6024bcad08123e48004ab"}, + {file = "pandas-2.2.1.tar.gz", hash = "sha256:0ab90f87093c13f3e8fa45b48ba9f39181046e8f3317d3aadb2fffbb1b978572"}, +] + +[package.dependencies] +numpy = [ + {version = ">=1.22.4,<2", markers = "python_version < \"3.11\""}, + {version = ">=1.23.2,<2", markers = "python_version == \"3.11\""}, + {version = ">=1.26.0,<2", markers = "python_version >= \"3.12\""}, +] +python-dateutil = ">=2.8.2" +pytz = ">=2020.1" +tzdata = ">=2022.7" + +[package.extras] +all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] +aws = ["s3fs (>=2022.11.0)"] +clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] +compression = ["zstandard (>=0.19.0)"] +computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] +consortium-standard = ["dataframe-api-compat (>=0.1.7)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] +feather = ["pyarrow (>=10.0.1)"] +fss = ["fsspec (>=2022.11.0)"] +gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] +hdf5 = ["tables (>=3.8.0)"] +html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] +mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] +parquet = ["pyarrow (>=10.0.1)"] +performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] +plot = ["matplotlib (>=3.6.3)"] +postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] +pyarrow = ["pyarrow (>=10.0.1)"] +spss = ["pyreadstat (>=1.2.0)"] +sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] +test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.9.2)"] + +[[package]] +name = "pillow" +version = "10.2.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"}, + {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"}, + {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"}, + {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"}, + {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"}, + {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"}, + {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"}, + {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"}, + {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"}, + {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"}, + {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"}, + {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"}, + {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"}, + {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"}, + {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"}, + {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"}, + {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] + +[[package]] +name = "playwright" +version = "1.42.0" +description = "A high-level API to automate web browsers" +optional = false +python-versions = ">=3.8" +files = [ + {file = "playwright-1.42.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:e2b293f077efeaa45253fde31cea4bc6b0ae8be6b5e65e8ce8b4aa3b9f0d55b6"}, + {file = "playwright-1.42.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:283887f0bdd0039c3d720e32fbc73a045c24fa800599a6ad60fb199c29580534"}, + {file = "playwright-1.42.0-py3-none-macosx_11_0_universal2.whl", hash = "sha256:4e1fc1c049a0af64626ddd50814d14a01f316bcbb4d1aa83c3416fe420add558"}, + {file = "playwright-1.42.0-py3-none-manylinux1_x86_64.whl", hash = "sha256:313f2551a772f57c9ccca017c4dd4661f2277166f9e1d84bbf5a2e316f0f892c"}, + {file = "playwright-1.42.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2a46a24641e5d468046cde567c98fdb8d85e32df901630b14dfb288cbd1ed4f"}, + {file = "playwright-1.42.0-py3-none-win32.whl", hash = "sha256:dbf473496808d4c2c816902c1dee2aabc029648e56ce8514b643f5a1a6fc8e22"}, + {file = "playwright-1.42.0-py3-none-win_amd64.whl", hash = "sha256:e092c6cfbf797bff03fbdfc53c3e6a9e29fbcf6b82f9e43113d37494aee0561b"}, +] + +[package.dependencies] +greenlet = "3.0.3" +pyee = "11.0.1" + +[[package]] +name = "pluggy" +version = "1.4.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"}, + {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "protobuf" +version = "4.25.3" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "protobuf-4.25.3-cp310-abi3-win32.whl", hash = "sha256:d4198877797a83cbfe9bffa3803602bbe1625dc30d8a097365dbc762e5790faa"}, + {file = "protobuf-4.25.3-cp310-abi3-win_amd64.whl", hash = "sha256:209ba4cc916bab46f64e56b85b090607a676f66b473e6b762e6f1d9d591eb2e8"}, + {file = "protobuf-4.25.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:f1279ab38ecbfae7e456a108c5c0681e4956d5b1090027c1de0f934dfdb4b35c"}, + {file = "protobuf-4.25.3-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:e7cb0ae90dd83727f0c0718634ed56837bfeeee29a5f82a7514c03ee1364c019"}, + {file = "protobuf-4.25.3-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:7c8daa26095f82482307bc717364e7c13f4f1c99659be82890dcfc215194554d"}, + {file = "protobuf-4.25.3-cp38-cp38-win32.whl", hash = "sha256:f4f118245c4a087776e0a8408be33cf09f6c547442c00395fbfb116fac2f8ac2"}, + {file = "protobuf-4.25.3-cp38-cp38-win_amd64.whl", hash = "sha256:c053062984e61144385022e53678fbded7aea14ebb3e0305ae3592fb219ccfa4"}, + {file = "protobuf-4.25.3-cp39-cp39-win32.whl", hash = "sha256:19b270aeaa0099f16d3ca02628546b8baefe2955bbe23224aaf856134eccf1e4"}, + {file = "protobuf-4.25.3-cp39-cp39-win_amd64.whl", hash = "sha256:e3c97a1555fd6388f857770ff8b9703083de6bf1f9274a002a332d65fbb56c8c"}, + {file = "protobuf-4.25.3-py3-none-any.whl", hash = "sha256:f0700d54bcf45424477e46a9f0944155b46fb0639d69728739c0e47bab83f2b9"}, + {file = "protobuf-4.25.3.tar.gz", hash = "sha256:25b5d0b42fd000320bd7830b349e3b696435f3b329810427a6bcce6a5492cc5c"}, +] + +[[package]] +name = "pyarrow" +version = "15.0.1" +description = "Python library for Apache Arrow" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyarrow-15.0.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:c2ddb3be5ea938c329a84171694fc230b241ce1b6b0ff1a0280509af51c375fa"}, + {file = "pyarrow-15.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7543ea88a0ff72f8e6baaf9bfdbec2c62aeabdbede9e4a571c71cc3bc43b6302"}, + {file = "pyarrow-15.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1519e218a6941fc074e4501088d891afcb2adf77c236e03c34babcf3d6a0d1c7"}, + {file = "pyarrow-15.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28cafa86e1944761970d3b3fc0411b14ff9b5c2b73cd22aaf470d7a3976335f5"}, + {file = "pyarrow-15.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:be5c3d463e33d03eab496e1af7916b1d44001c08f0f458ad27dc16093a020638"}, + {file = "pyarrow-15.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:47b1eda15d3aa3f49a07b1808648e1397e5dc6a80a30bf87faa8e2d02dad7ac3"}, + {file = "pyarrow-15.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e524a31be7db22deebbbcf242b189063ab9a7652c62471d296b31bc6e3cae77b"}, + {file = "pyarrow-15.0.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:a476fefe8bdd56122fb0d4881b785413e025858803cc1302d0d788d3522b374d"}, + {file = "pyarrow-15.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:309e6191be385f2e220586bfdb643f9bb21d7e1bc6dd0a6963dc538e347b2431"}, + {file = "pyarrow-15.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83bc586903dbeb4365cbc72b602f99f70b96c5882e5dfac5278813c7d624ca3c"}, + {file = "pyarrow-15.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07e652daac6d8b05280cd2af31c0fb61a4490ec6a53dc01588014d9fa3fdbee9"}, + {file = "pyarrow-15.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:abad2e08652df153a72177ce20c897d083b0c4ebeec051239e2654ddf4d3c996"}, + {file = "pyarrow-15.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cde663352bc83ad75ba7b3206e049ca1a69809223942362a8649e37bd22f9e3b"}, + {file = "pyarrow-15.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:1b6e237dd7a08482a8b8f3f6512d258d2460f182931832a8c6ef3953203d31e1"}, + {file = "pyarrow-15.0.1-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:7bd167536ee23192760b8c731d39b7cfd37914c27fd4582335ffd08450ff799d"}, + {file = "pyarrow-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7c08bb31eb2984ba5c3747d375bb522e7e536b8b25b149c9cb5e1c49b0ccb736"}, + {file = "pyarrow-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0f9c1d630ed2524bd1ddf28ec92780a7b599fd54704cd653519f7ff5aec177a"}, + {file = "pyarrow-15.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5186048493395220550bca7b524420471aac2d77af831f584ce132680f55c3df"}, + {file = "pyarrow-15.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:31dc30c7ec8958da3a3d9f31d6c3630429b2091ede0ecd0d989fd6bec129f0e4"}, + {file = "pyarrow-15.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:3f111a014fb8ac2297b43a74bf4495cc479a332908f7ee49cb7cbd50714cb0c1"}, + {file = "pyarrow-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:a6d1f7c15d7f68f08490d0cb34611497c74285b8a6bbeab4ef3fc20117310983"}, + {file = "pyarrow-15.0.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:9ad931b996f51c2f978ed517b55cb3c6078272fb4ec579e3da5a8c14873b698d"}, + {file = "pyarrow-15.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:738f6b53ab1c2f66b2bde8a1d77e186aeaab702d849e0dfa1158c9e2c030add3"}, + {file = "pyarrow-15.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c1c3fc16bc74e33bf8f1e5a212938ed8d88e902f372c4dac6b5bad328567d2f"}, + {file = "pyarrow-15.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1fa92512128f6c1b8dde0468c1454dd70f3bff623970e370d52efd4d24fd0be"}, + {file = "pyarrow-15.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:b4157f307c202cbbdac147d9b07447a281fa8e63494f7fc85081da351ec6ace9"}, + {file = "pyarrow-15.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:b75e7da26f383787f80ad76143b44844ffa28648fcc7099a83df1538c078d2f2"}, + {file = "pyarrow-15.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:3a99eac76ae14096c209850935057b9e8ce97a78397c5cde8724674774f34e5d"}, + {file = "pyarrow-15.0.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:dd532d3177e031e9b2d2df19fd003d0cc0520d1747659fcabbd4d9bb87de508c"}, + {file = "pyarrow-15.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ce8c89848fd37e5313fc2ce601483038ee5566db96ba0808d5883b2e2e55dc53"}, + {file = "pyarrow-15.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:862eac5e5f3b6477f7a92b2f27e560e1f4e5e9edfca9ea9da8a7478bb4abd5ce"}, + {file = "pyarrow-15.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f0ea3a29cd5cb99bf14c1c4533eceaa00ea8fb580950fb5a89a5c771a994a4e"}, + {file = "pyarrow-15.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:bb902f780cfd624b2e8fd8501fadab17618fdb548532620ef3d91312aaf0888a"}, + {file = "pyarrow-15.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:4f87757f02735a6bb4ad2e1b98279ac45d53b748d5baf52401516413007c6999"}, + {file = "pyarrow-15.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:efd3816c7fbfcbd406ac0f69873cebb052effd7cdc153ae5836d1b00845845d7"}, + {file = "pyarrow-15.0.1.tar.gz", hash = "sha256:21d812548d39d490e0c6928a7c663f37b96bf764034123d4b4ab4530ecc757a9"}, +] + +[package.dependencies] +numpy = ">=1.16.6,<2" + +[[package]] +name = "pydeck" +version = "0.8.0" +description = "Widget for deck.gl maps" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydeck-0.8.0-py2.py3-none-any.whl", hash = "sha256:a8fa7757c6f24bba033af39db3147cb020eef44012ba7e60d954de187f9ed4d5"}, + {file = "pydeck-0.8.0.tar.gz", hash = "sha256:07edde833f7cfcef6749124351195aa7dcd24663d4909fd7898dbd0b6fbc01ec"}, +] + +[package.dependencies] +jinja2 = ">=2.10.1" +numpy = ">=1.16.4" + +[package.extras] +carto = ["pydeck-carto"] +jupyter = ["ipykernel (>=5.1.2)", "ipython (>=5.8.0)", "ipywidgets (>=7,<8)", "traitlets (>=4.3.2)"] + +[[package]] +name = "pyee" +version = "11.0.1" +description = "A rough port of Node.js's EventEmitter to Python with a few tricks of its own" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyee-11.0.1-py3-none-any.whl", hash = "sha256:9bcc9647822234f42c228d88de63d0f9ffa881e87a87f9d36ddf5211f6ac977d"}, + {file = "pyee-11.0.1.tar.gz", hash = "sha256:a642c51e3885a33ead087286e35212783a4e9b8d6514a10a5db4e57ac57b2b29"}, +] + +[package.dependencies] +typing-extensions = "*" + +[package.extras] +dev = ["black", "flake8", "flake8-black", "isort", "jupyter-console", "mkdocs", "mkdocs-include-markdown-plugin", "mkdocstrings[python]", "pytest", "pytest-asyncio", "pytest-trio", "toml", "tox", "trio", "trio", "trio-typing", "twine", "twisted", "validate-pyproject[all]"] + +[[package]] +name = "pygments" +version = "2.17.2" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.7" +files = [ + {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, + {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, +] + +[package.extras] +plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] + +[[package]] +name = "pyperclip" +version = "1.8.2" +description = "A cross-platform clipboard module for Python. (Only handles plain text for now.)" +optional = false +python-versions = "*" +files = [ + {file = "pyperclip-1.8.2.tar.gz", hash = "sha256:105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57"}, +] + +[[package]] +name = "pytest" +version = "8.1.1" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytest-8.1.1-py3-none-any.whl", hash = "sha256:2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7"}, + {file = "pytest-8.1.1.tar.gz", hash = "sha256:ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=1.4,<2.0" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} + +[package.extras] +testing = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] + +[[package]] +name = "pytest-base-url" +version = "2.1.0" +description = "pytest plugin for URL based testing" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytest_base_url-2.1.0-py3-none-any.whl", hash = "sha256:3ad15611778764d451927b2a53240c1a7a591b521ea44cebfe45849d2d2812e6"}, + {file = "pytest_base_url-2.1.0.tar.gz", hash = "sha256:02748589a54f9e63fcbe62301d6b0496da0d10231b753e950c63e03aee745d45"}, +] + +[package.dependencies] +pytest = ">=7.0.0" +requests = ">=2.9" + +[package.extras] +test = ["black (>=22.1.0)", "flake8 (>=4.0.1)", "pre-commit (>=2.17.0)", "pytest-localserver (>=0.7.1)", "tox (>=3.24.5)"] + +[[package]] +name = "pytest-playwright" +version = "0.4.4" +description = "A pytest wrapper with fixtures for Playwright to automate web browsers" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytest-playwright-0.4.4.tar.gz", hash = "sha256:5488db4cc49028491c5130af0a2bb6b1d0b222a202217f6d14491d4c9aa67ff9"}, + {file = "pytest_playwright-0.4.4-py3-none-any.whl", hash = "sha256:df306f3a60a8631a3cfde1b95a2ed5a89203a3408dfa1154de049ca7de87c90b"}, +] + +[package.dependencies] +playwright = ">=1.18" +pytest = ">=6.2.4,<9.0.0" +pytest-base-url = ">=1.0.0,<3.0.0" +python-slugify = ">=6.0.0,<9.0.0" + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python-dotenv" +version = "1.0.1" +description = "Read key-value pairs from a .env file and set them as environment variables" +optional = false +python-versions = ">=3.8" +files = [ + {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, + {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, +] + +[package.extras] +cli = ["click (>=5.0)"] + +[[package]] +name = "python-slugify" +version = "8.0.4" +description = "A Python slugify application that also handles Unicode" +optional = false +python-versions = ">=3.7" +files = [ + {file = "python-slugify-8.0.4.tar.gz", hash = "sha256:59202371d1d05b54a9e7720c5e038f928f45daaffe41dd10822f3907b937c856"}, + {file = "python_slugify-8.0.4-py2.py3-none-any.whl", hash = "sha256:276540b79961052b66b7d116620b36518847f52d5fd9e3a70164fc8c50faa6b8"}, +] + +[package.dependencies] +text-unidecode = ">=1.3" + +[package.extras] +unidecode = ["Unidecode (>=1.1.1)"] + +[[package]] +name = "pytz" +version = "2024.1" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +files = [ + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, +] + +[[package]] +name = "referencing" +version = "0.33.0" +description = "JSON Referencing + Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"}, + {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"}, +] + +[package.dependencies] +attrs = ">=22.2.0" +rpds-py = ">=0.7.0" + +[[package]] +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.7" +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "rich" +version = "13.7.1" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"}, + {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"}, +] + +[package.dependencies] +markdown-it-py = ">=2.2.0" +pygments = ">=2.13.0,<3.0.0" + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] + +[[package]] +name = "rpds-py" +version = "0.18.0" +description = "Python bindings to Rust's persistent data structures (rpds)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "rpds_py-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e"}, + {file = "rpds_py-0.18.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434"}, + {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3"}, + {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e"}, + {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88"}, + {file = "rpds_py-0.18.0-cp310-none-win32.whl", hash = "sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337"}, + {file = "rpds_py-0.18.0-cp310-none-win_amd64.whl", hash = "sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66"}, + {file = "rpds_py-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4"}, + {file = "rpds_py-0.18.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6"}, + {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688"}, + {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b"}, + {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836"}, + {file = "rpds_py-0.18.0-cp311-none-win32.whl", hash = "sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1"}, + {file = "rpds_py-0.18.0-cp311-none-win_amd64.whl", hash = "sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa"}, + {file = "rpds_py-0.18.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0"}, + {file = "rpds_py-0.18.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157"}, + {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496"}, + {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f"}, + {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7"}, + {file = "rpds_py-0.18.0-cp312-none-win32.whl", hash = "sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98"}, + {file = "rpds_py-0.18.0-cp312-none-win_amd64.whl", hash = "sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec"}, + {file = "rpds_py-0.18.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e"}, + {file = "rpds_py-0.18.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c"}, + {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f"}, + {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c"}, + {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594"}, + {file = "rpds_py-0.18.0-cp38-none-win32.whl", hash = "sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e"}, + {file = "rpds_py-0.18.0-cp38-none-win_amd64.whl", hash = "sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1"}, + {file = "rpds_py-0.18.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33"}, + {file = "rpds_py-0.18.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f"}, + {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e"}, + {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024"}, + {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20"}, + {file = "rpds_py-0.18.0-cp39-none-win32.whl", hash = "sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7"}, + {file = "rpds_py-0.18.0-cp39-none-win_amd64.whl", hash = "sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f"}, + {file = "rpds_py-0.18.0.tar.gz", hash = "sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d"}, +] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "smmap" +version = "5.0.1" +description = "A pure Python implementation of a sliding window memory map manager" +optional = false +python-versions = ">=3.7" +files = [ + {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"}, + {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"}, +] + +[[package]] +name = "streamlit" +version = "1.32.0" +description = "A faster way to build and share data apps" +optional = false +python-versions = ">=3.8, !=3.9.7" +files = [ + {file = "streamlit-1.32.0-py2.py3-none-any.whl", hash = "sha256:d8458d6d00fd9d7e965e8125ec97d0ef7ed3d82844bf5663e71231fdb623ebb1"}, + {file = "streamlit-1.32.0.tar.gz", hash = "sha256:65bf22e190de973b910c0b127b33d80d31c5275ed891c6fde740de46e5e05323"}, +] + +[package.dependencies] +altair = ">=4.0,<6" +blinker = ">=1.0.0,<2" +cachetools = ">=4.0,<6" +click = ">=7.0,<9" +gitpython = ">=3.0.7,<3.1.19 || >3.1.19,<4" +numpy = ">=1.19.3,<2" +packaging = ">=16.8,<24" +pandas = ">=1.3.0,<3" +pillow = ">=7.1.0,<11" +protobuf = ">=3.20,<5" +pyarrow = ">=7.0" +pydeck = ">=0.8.0b4,<1" +requests = ">=2.27,<3" +rich = ">=10.14.0,<14" +tenacity = ">=8.1.0,<9" +toml = ">=0.10.1,<2" +tornado = ">=6.0.3,<7" +typing-extensions = ">=4.3.0,<5" +watchdog = {version = ">=2.1.5", markers = "platform_system != \"Darwin\""} + +[package.extras] +snowflake = ["snowflake-connector-python (>=2.8.0)", "snowflake-snowpark-python (>=0.9.0)"] + +[[package]] +name = "streamlit-parameters" +version = "0.1.5" +description = "Streamlit parameter management for page configuration" +optional = false +python-versions = "*" +files = [ + {file = "streamlit_parameters-0.1.5-py3-none-any.whl", hash = "sha256:de69024ba84d5df6cc48bd5f86d429371b00590697c1caafcf9a9c6071660af6"}, + {file = "streamlit_parameters-0.1.5.tar.gz", hash = "sha256:d800981d58aa29e25d238de1bcee203bd9f7602bb78a858900bec422f4573a98"}, +] + +[package.dependencies] +streamlit = ">=1.12,<2" + +[package.extras] +test = ["pytest", "pytest-mock", "tox"] + +[[package]] +name = "streamlit-superapp" +version = "1.3.0" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "streamlit_superapp-1.3.0-py3-none-any.whl", hash = "sha256:b48e87f148d642aadc5eb77542b955be71d3cc8534900cb29200c6f4ec9ecf80"}, + {file = "streamlit_superapp-1.3.0.tar.gz", hash = "sha256:3ec9e76f79df42065eb4439087fef232857e2535d5f238cc777cfa2b457399fc"}, +] + +[[package]] +name = "tenacity" +version = "8.2.3" +description = "Retry code until it succeeds" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tenacity-8.2.3-py3-none-any.whl", hash = "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c"}, + {file = "tenacity-8.2.3.tar.gz", hash = "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a"}, +] + +[package.extras] +doc = ["reno", "sphinx", "tornado (>=4.5)"] + +[[package]] +name = "text-unidecode" +version = "1.3" +description = "The most basic Text::Unidecode port" +optional = false +python-versions = "*" +files = [ + {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, + {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, +] + +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[[package]] +name = "toolz" +version = "0.12.1" +description = "List processing tools and functional utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "toolz-0.12.1-py3-none-any.whl", hash = "sha256:d22731364c07d72eea0a0ad45bafb2c2937ab6fd38a3507bf55eae8744aa7d85"}, + {file = "toolz-0.12.1.tar.gz", hash = "sha256:ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d"}, +] + +[[package]] +name = "tornado" +version = "6.4" +description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." +optional = false +python-versions = ">= 3.8" +files = [ + {file = "tornado-6.4-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:02ccefc7d8211e5a7f9e8bc3f9e5b0ad6262ba2fbb683a6443ecc804e5224ce0"}, + {file = "tornado-6.4-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:27787de946a9cffd63ce5814c33f734c627a87072ec7eed71f7fc4417bb16263"}, + {file = "tornado-6.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7894c581ecdcf91666a0912f18ce5e757213999e183ebfc2c3fdbf4d5bd764e"}, + {file = "tornado-6.4-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e43bc2e5370a6a8e413e1e1cd0c91bedc5bd62a74a532371042a18ef19e10579"}, + {file = "tornado-6.4-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0251554cdd50b4b44362f73ad5ba7126fc5b2c2895cc62b14a1c2d7ea32f212"}, + {file = "tornado-6.4-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fd03192e287fbd0899dd8f81c6fb9cbbc69194d2074b38f384cb6fa72b80e9c2"}, + {file = "tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl", hash = "sha256:88b84956273fbd73420e6d4b8d5ccbe913c65d31351b4c004ae362eba06e1f78"}, + {file = "tornado-6.4-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:71ddfc23a0e03ef2df1c1397d859868d158c8276a0603b96cf86892bff58149f"}, + {file = "tornado-6.4-cp38-abi3-win32.whl", hash = "sha256:6f8a6c77900f5ae93d8b4ae1196472d0ccc2775cc1dfdc9e7727889145c45052"}, + {file = "tornado-6.4-cp38-abi3-win_amd64.whl", hash = "sha256:10aeaa8006333433da48dec9fe417877f8bcc21f48dda8d661ae79da357b2a63"}, + {file = "tornado-6.4.tar.gz", hash = "sha256:72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee"}, +] + +[[package]] +name = "typing-extensions" +version = "4.10.0" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"}, + {file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"}, +] + +[[package]] +name = "tzdata" +version = "2024.1" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ + {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, + {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, +] + +[[package]] +name = "urllib3" +version = "2.2.1" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, + {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "watchdog" +version = "4.0.0" +description = "Filesystem events monitoring" +optional = false +python-versions = ">=3.8" +files = [ + {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:39cb34b1f1afbf23e9562501673e7146777efe95da24fab5707b88f7fb11649b"}, + {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c522392acc5e962bcac3b22b9592493ffd06d1fc5d755954e6be9f4990de932b"}, + {file = "watchdog-4.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6c47bdd680009b11c9ac382163e05ca43baf4127954c5f6d0250e7d772d2b80c"}, + {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8350d4055505412a426b6ad8c521bc7d367d1637a762c70fdd93a3a0d595990b"}, + {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c17d98799f32e3f55f181f19dd2021d762eb38fdd381b4a748b9f5a36738e935"}, + {file = "watchdog-4.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4986db5e8880b0e6b7cd52ba36255d4793bf5cdc95bd6264806c233173b1ec0b"}, + {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:11e12fafb13372e18ca1bbf12d50f593e7280646687463dd47730fd4f4d5d257"}, + {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5369136a6474678e02426bd984466343924d1df8e2fd94a9b443cb7e3aa20d19"}, + {file = "watchdog-4.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76ad8484379695f3fe46228962017a7e1337e9acadafed67eb20aabb175df98b"}, + {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:45cc09cc4c3b43fb10b59ef4d07318d9a3ecdbff03abd2e36e77b6dd9f9a5c85"}, + {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eed82cdf79cd7f0232e2fdc1ad05b06a5e102a43e331f7d041e5f0e0a34a51c4"}, + {file = "watchdog-4.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba30a896166f0fee83183cec913298151b73164160d965af2e93a20bbd2ab605"}, + {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d18d7f18a47de6863cd480734613502904611730f8def45fc52a5d97503e5101"}, + {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2895bf0518361a9728773083908801a376743bcc37dfa252b801af8fd281b1ca"}, + {file = "watchdog-4.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:87e9df830022488e235dd601478c15ad73a0389628588ba0b028cb74eb72fed8"}, + {file = "watchdog-4.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6e949a8a94186bced05b6508faa61b7adacc911115664ccb1923b9ad1f1ccf7b"}, + {file = "watchdog-4.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6a4db54edea37d1058b08947c789a2354ee02972ed5d1e0dca9b0b820f4c7f92"}, + {file = "watchdog-4.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d31481ccf4694a8416b681544c23bd271f5a123162ab603c7d7d2dd7dd901a07"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8fec441f5adcf81dd240a5fe78e3d83767999771630b5ddfc5867827a34fa3d3"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:6a9c71a0b02985b4b0b6d14b875a6c86ddea2fdbebd0c9a720a806a8bbffc69f"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:557ba04c816d23ce98a06e70af6abaa0485f6d94994ec78a42b05d1c03dcbd50"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:d0f9bd1fd919134d459d8abf954f63886745f4660ef66480b9d753a7c9d40927"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:f9b2fdca47dc855516b2d66eef3c39f2672cbf7e7a42e7e67ad2cbfcd6ba107d"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:73c7a935e62033bd5e8f0da33a4dcb763da2361921a69a5a95aaf6c93aa03a87"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6a80d5cae8c265842c7419c560b9961561556c4361b297b4c431903f8c33b269"}, + {file = "watchdog-4.0.0-py3-none-win32.whl", hash = "sha256:8f9a542c979df62098ae9c58b19e03ad3df1c9d8c6895d96c0d51da17b243b1c"}, + {file = "watchdog-4.0.0-py3-none-win_amd64.whl", hash = "sha256:f970663fa4f7e80401a7b0cbeec00fa801bf0287d93d48368fc3e6fa32716245"}, + {file = "watchdog-4.0.0-py3-none-win_ia64.whl", hash = "sha256:9a03e16e55465177d416699331b0f3564138f1807ecc5f2de9d55d8f188d08c7"}, + {file = "watchdog-4.0.0.tar.gz", hash = "sha256:e3e7065cbdabe6183ab82199d7a4f6b3ba0a438c5a512a68559846ccb76a78ec"}, +] + +[package.extras] +watchmedo = ["PyYAML (>=3.10)"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.10" +content-hash = "1a458c3d79daca92a99ed01773afb5c43179dd63385f2f45079bdd259d5168fd" diff --git a/packages/streamlit-rxdb-dataframe/pyproject.toml b/packages/streamlit-rxdb-dataframe/pyproject.toml new file mode 100644 index 0000000..526e8e5 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/pyproject.toml @@ -0,0 +1,23 @@ +[tool.poetry] +name = "streamlit-rxdb-dataframe" +version = "0.1.0" +description = "" +authors = ["voznik "] +readme = "README.md" +packages = [{include = "streamlit-rxdb-dataframe"}] + +[tool.poetry.dependencies] +python = "^3.10" +pytest-playwright = "^0.4.4" +streamlit = "^1.31.0" +pyperclip = "^1.8.2" +python-dotenv = "^1.0.1" +playwright = "^1.41.2" +pandas = "^2.2.1" +streamlit-superapp = "^1.3.0" +streamlit-parameters = "^0.1.5" + + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py new file mode 100644 index 0000000..a3e9c4e --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py @@ -0,0 +1,23 @@ +import os + +import pandas as pd + +import streamlit.components.v1 as components + +# Create a _RELEASE constant. We'll set this to False while we're developing +# the component, and True when we're ready to package and distribute it. +_RELEASE = False + +if not _RELEASE: + _rxdb_dataframe = components.declare_component( + "rxdb_dataframe", + url="http://localhost:4201", + ) +else: + parent_dir = os.path.dirname(os.path.abspath(__file__)) + build_dir = os.path.join(parent_dir, "frontend/build") + _rxdb_dataframe = components.declare_component("rxdb_dataframe", path=build_dir) + + +def rxdb_dataframe(data, key=None): + return _rxdb_dataframe(data=data, key=key, default=pd.DataFrame()) diff --git a/packages/streamlit-rxdb-dataframe/setup.py b/packages/streamlit-rxdb-dataframe/setup.py new file mode 100644 index 0000000..99ed557 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/setup.py @@ -0,0 +1,33 @@ +import setuptools + +setuptools.setup( + name="streamlit-rxdb-dataframe", + version="0.0.1", + author="voznik", + author_email="", + author_url="github.com/voznik", + description="Custom DataFrame connecting RxDB collection", + long_description="Custom DataFrame connecting RxDB collection", + long_description_content_type="text/plain", + url="", + packages=setuptools.find_packages(), + include_package_data=True, + classifiers=[], + python_requires=">=3.7", + install_requires=[ + # By definition, a Custom Component depends on Streamlit. + # If your component has other Python dependencies, list + # them here. + "streamlit >= 0.66", + ], + extras_require={ + "devel": [ + "wheel", + "pytest==7.4.0", + "playwright==1.39.0", + "requests==2.31.0", + "pytest-playwright-snapshot==1.0", + "pytest-rerunfailures==12.0", + ] + } +) diff --git a/tsconfig.base.json b/tsconfig.base.json index b73dc5e..fe1204b 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -39,6 +39,10 @@ "dist/packages/rxdb/query-params", "packages/rxdb/query-params/src/index.ts" ], + "@ngx-odm/rxdb/prepare": [ + "dist/packages/rxdb/prepare", + "packages/rxdb/prepare/src/index.ts" + ], "@ngx-odm/rxdb/replication-kinto": [ "dist/packages/rxdb/replication-kinto", "packages/rxdb/replication-kinto/src/index.ts" @@ -47,6 +51,7 @@ "dist/packages/rxdb/signals", "packages/rxdb/signals/src/index.ts" ], + "@ngx-odm/rxdb/sreamlit": ["packages/streamlit-rxdb-dataframe-frontend/src/index.ts"], "@ngx-odm/rxdb/testing": [ "dist/packages/rxdb/testing", "packages/rxdb/testing/src/index.ts" From 5174e67566587ab0839c7a91e46f35557b254074 Mon Sep 17 00:00:00 2001 From: Vadym Parakonnyi Date: Thu, 14 Mar 2024 02:18:12 +0100 Subject: [PATCH 2/7] refactor: split rxdb to use w\o angular, react & streamlit works --- .vscode/launch.json | 12 + .vscode/settings.json | 3 +- examples/demo/src/app/todos/todos.module.ts | 6 +- examples/demo/src/app/todos/todos.pipe.ts | 2 +- examples/demo/src/app/todos/todos.service.ts | 9 +- package-lock.json | 1155 +++++++++++++---- package.json | 4 + packages/rxdb/collection/src/index.ts | 1 - .../collection/src/lib/collection.module.ts | 19 - .../src/lib/collection.service.spec.ts | 10 +- .../collection/src/lib/collection.service.ts | 39 +- packages/rxdb/collection/src/lib/helpers.ts | 15 +- packages/rxdb/config/src/index.ts | 1 - packages/rxdb/config/src/lib/config.ts | 4 +- .../{config => core}/src/lib/plugin.loader.ts | 6 +- packages/rxdb/core/src/lib/service.spec.ts | 6 +- packages/rxdb/core/src/lib/service.ts | 20 +- packages/rxdb/query-params/src/index.ts | 1 - packages/rxdb/query-params/src/tokens.ts | 39 - .../src/with-collection-service.spec.ts | 14 +- .../signals/src/with-collection-service.ts | 9 +- packages/rxdb/src/lib/rxdb.module.spec.ts | 18 +- packages/rxdb/src/lib/rxdb.module.ts | 31 +- .../lib/rxdb.providers.spec.ts} | 4 +- packages/rxdb/src/lib/rxdb.providers.ts | 88 +- packages/rxdb/testing/src/lib/mocks.ts | 18 +- packages/rxdb/utils/src/lib/utils.ts | 3 + .../.streamlit/config.toml | 12 + packages/streamlit-rxdb-dataframe/README.md | 0 packages/streamlit-rxdb-dataframe/example.py | 119 +- .../frontend/build/index-ABWravge.js | 7 + .../frontend/build/index.js | 97 ++ .../frontend/build/package.json | 4 + .../{src => public}/assets/data/col.dump.json | 0 .../{src => public}/assets/data/db.dump.json | 0 .../assets/data/todo.schema.json | 7 +- .../frontend/src/lib/Database.tsx | 76 -- .../frontend/src/lib/RxDBDataframe.tsx | 278 ++-- .../frontend/src/main.tsx | 4 +- .../frontend/vite.config.ts | 9 +- packages/streamlit-rxdb-dataframe/poetry.lock | 212 ++- .../streamlit-rxdb-dataframe/pyproject.toml | 63 +- .../rxdb_dataframe/__init__.py | 201 ++- 43 files changed, 1956 insertions(+), 670 deletions(-) delete mode 100644 packages/rxdb/collection/src/lib/collection.module.ts rename packages/rxdb/{config => core}/src/lib/plugin.loader.ts (89%) delete mode 100644 packages/rxdb/query-params/src/tokens.ts rename packages/rxdb/{query-params/src/tokens.spec.ts => src/lib/rxdb.providers.spec.ts} (92%) create mode 100644 packages/streamlit-rxdb-dataframe/.streamlit/config.toml create mode 100644 packages/streamlit-rxdb-dataframe/README.md create mode 100644 packages/streamlit-rxdb-dataframe/frontend/build/index-ABWravge.js create mode 100644 packages/streamlit-rxdb-dataframe/frontend/build/index.js create mode 100644 packages/streamlit-rxdb-dataframe/frontend/build/package.json rename packages/streamlit-rxdb-dataframe/frontend/{src => public}/assets/data/col.dump.json (100%) rename packages/streamlit-rxdb-dataframe/frontend/{src => public}/assets/data/db.dump.json (100%) rename packages/streamlit-rxdb-dataframe/frontend/{src => public}/assets/data/todo.schema.json (88%) delete mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/lib/Database.tsx diff --git a/.vscode/launch.json b/.vscode/launch.json index b9e65b1..6bd4d46 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -84,6 +84,18 @@ "TS_NODE_TRANSPILE_ONLY": "true" }, "disableOptimisticBPs": true + }, + // + { + "name": "Python: Streamlit", + "type": "python", + "request": "launch", + "module": "streamlit", + "args": ["run", "${file}", "--server.headless=true", "--browser.gatherUsageStats=false"], + "env": { + "PYTHONPATH": "${workspaceFolder}" + }, + "console": "integratedTerminal" } ], "inputs": [ diff --git a/.vscode/settings.json b/.vscode/settings.json index 93beb94..6ccd01a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,5 +9,6 @@ "statusBarItem.remoteBackground": "#8d2089", "statusBarItem.remoteForeground": "#e7e7e7" }, - "peacock.color": "#8d2089" + "peacock.color": "#8d2089", + "python.defaultInterpreterPath": "/home/voznik/.cache/pypoetry/virtualenvs/streamlit-rxdb-dataframe-zuiqvGqO-py3.10" } diff --git a/examples/demo/src/app/todos/todos.module.ts b/examples/demo/src/app/todos/todos.module.ts index 533afe7..7919b44 100644 --- a/examples/demo/src/app/todos/todos.module.ts +++ b/examples/demo/src/app/todos/todos.module.ts @@ -3,8 +3,8 @@ import { Inject, NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { RouterModule } from '@angular/router'; import { LetDirective, PushPipe } from '@ngrx/component'; -import { NgxRxdbModule } from '@ngx-odm/rxdb'; -import { NgxRxdbCollection, NgxRxdbCollectionService } from '@ngx-odm/rxdb/collection'; +import { NgxRxdbCollectionService, NgxRxdbModule } from '@ngx-odm/rxdb'; +import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; import { TODOS_COLLECTION_CONFIG, Todo } from '@shared'; import { TodosComponent } from './todos.component'; import { TodosPipe } from './todos.pipe'; @@ -24,7 +24,7 @@ import { TodosService } from './todos.service'; }) export class TodosModule { constructor( - @Inject(NgxRxdbCollectionService) private collectionService: NgxRxdbCollection + @Inject(NgxRxdbCollectionService) private collectionService: RxDBCollectionService ) { this.collectionService.sync(); } diff --git a/examples/demo/src/app/todos/todos.pipe.ts b/examples/demo/src/app/todos/todos.pipe.ts index 0f65e88..30e79a0 100644 --- a/examples/demo/src/app/todos/todos.pipe.ts +++ b/examples/demo/src/app/todos/todos.pipe.ts @@ -1,5 +1,5 @@ import { Pipe, PipeTransform, inject } from '@angular/core'; -import { RXDB_CONFIG_COLLECTION } from '@ngx-odm/rxdb/config'; +import { RXDB_CONFIG_COLLECTION } from '@ngx-odm/rxdb'; import { Todo, TodosFilter } from '@shared'; @Pipe({ name: 'byStatus' }) diff --git a/examples/demo/src/app/todos/todos.service.ts b/examples/demo/src/app/todos/todos.service.ts index a099357..655e6f3 100755 --- a/examples/demo/src/app/todos/todos.service.ts +++ b/examples/demo/src/app/todos/todos.service.ts @@ -1,6 +1,7 @@ /* eslint-disable no-console */ import { Injectable, inject } from '@angular/core'; -import { NgxRxdbCollection, NgxRxdbCollectionService } from '@ngx-odm/rxdb/collection'; +import { NgxRxdbCollectionService } from '@ngx-odm/rxdb'; +import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; import { DEFAULT_LOCAL_DOCUMENT_ID } from '@ngx-odm/rxdb/config'; import { Todo, TodosFilter, TodosLocalState } from '@shared'; import { Observable, distinctUntilChanged, startWith } from 'rxjs'; @@ -10,9 +11,9 @@ const withAttachments = true; @Injectable() export class TodosService { - private collectionService: NgxRxdbCollection = inject>( - NgxRxdbCollectionService - ); + private collectionService: RxDBCollectionService = inject< + RxDBCollectionService + >(NgxRxdbCollectionService); newTodo = ''; current: Todo = undefined; diff --git a/package-lock.json b/package-lock.json index a86aab0..d02e050 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,10 +19,12 @@ "@angular/platform-browser-dynamic": "17.0.8", "@angular/router": "17.0.8", "@angular/service-worker": "17.0.8", + "@emotion-icons/material-outlined": "^3.14.0", "@ngrx/component": "^17.0.1", "@ngrx/operators": "^17.0.1", "@ngrx/signals": "^17.0.1", "compare-versions": "^6.1.0", + "fast-deep-equal": "^3.1.3", "ngxtension": "^1.12.0", "normalize.css": "8.0.1", "query-string": "^8.1.0", @@ -129,6 +131,8 @@ "typescript": "5.2.2", "vite": "~5.0.0", "vite-plugin-dts": "~2.3.0", + "vite-plugin-json-server": "^0.1.1", + "vite-plugin-static": "^0.0.3", "vitest": "~0.34.6" }, "engines": { @@ -1205,7 +1209,6 @@ "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" @@ -1456,7 +1459,6 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, "dependencies": { "@babel/types": "^7.22.15" }, @@ -1578,7 +1580,6 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -1587,7 +1588,6 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -1633,7 +1633,6 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -3139,7 +3138,6 @@ "version": "7.23.2", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", - "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -3150,8 +3148,7 @@ "node_modules/@babel/runtime/node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/@babel/template": { "version": "7.24.0", @@ -3207,7 +3204,6 @@ "version": "7.24.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -4636,6 +4632,239 @@ "node": ">=10.0.0" } }, + "node_modules/@emotion-icons/emotion-icon": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@emotion-icons/emotion-icon/-/emotion-icon-4.1.0.tgz", + "integrity": "sha512-bOUbWj8DPjUK5MtRx2ApMudOnh/tasqJwa+sdRbqsZD0g0hYf0jCsTDNs/57VvGOJH2PfWDKD1jbLjwajAYT9A==", + "dependencies": { + "@babel/runtime": "^7.14.0" + }, + "funding": { + "type": "GitHub", + "url": "https://github.com/sponsors/jacobwgillespie" + }, + "peerDependencies": { + "@emotion/react": ">=11.0.0 <12", + "@emotion/styled": ">=11.0.0 <12", + "react": "*" + } + }, + "node_modules/@emotion-icons/material-outlined": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@emotion-icons/material-outlined/-/material-outlined-3.14.0.tgz", + "integrity": "sha512-Y4YS4OLPbu5ytN9XjB+7duM5pkkofUhr6YqBlta1Fer6dMHTMKy9GnnDyqGPJ/jYxS+6keVmL8WcTzWYHzQktA==", + "dependencies": { + "@babel/runtime": "^7.14.0", + "@emotion-icons/emotion-icon": "4.1.0" + }, + "funding": { + "type": "GitHub", + "url": "https://github.com/sponsors/jacobwgillespie" + }, + "peerDependencies": { + "@emotion/react": ">=11.0.0 <12", + "@emotion/styled": ">=11.0.0 <12", + "react": "*" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "peer": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "peer": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "peer": true, + "dependencies": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==", + "peer": true + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", + "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "peer": true, + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==", + "peer": true + }, + "node_modules/@emotion/react": { + "version": "11.11.4", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz", + "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.3.tgz", + "integrity": "sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==", + "peer": true, + "dependencies": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==", + "peer": true + }, + "node_modules/@emotion/styled": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", + "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/is-prop-valid": "^1.2.1", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", + "peer": true + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "peer": true, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==", + "peer": true + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==", + "peer": true + }, "node_modules/@es-joy/jsdoccomment": { "version": "0.40.1", "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", @@ -12422,7 +12651,7 @@ "version": "1.13.0", "resolved": "https://registry.npmjs.org/@swc-node/core/-/core-1.13.0.tgz", "integrity": "sha512-lFPD4nmy4ifAOVMChFjwlpXN5KQXvegqeyuzz1KQz42q1lf+cL3Qux1/GteGuZjh8HC+Rj1RdNrHpE/MCfJSTw==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 10" }, @@ -12439,7 +12668,7 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/@swc-node/register/-/register-1.8.0.tgz", "integrity": "sha512-8K3589HoBSmVmrEVrtr4K5sWEithpGDzcFGic81OW0A9sZY38IV5EGRODQWCk0SBDyLhaF+pid120vJAtsHo1A==", - "dev": true, + "devOptional": true, "dependencies": { "@swc-node/core": "^1.12.0", "@swc-node/sourcemap-support": "^0.4.0", @@ -12461,7 +12690,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/@swc-node/sourcemap-support/-/sourcemap-support-0.4.0.tgz", "integrity": "sha512-weuRmYTO+4yOtHtPZHXlPdA1dJJJp3QOoZAFZ6uZidu992F2X5v1fQdnb26xs1o3Ex/e2sYhRyY5R6NGNuoATQ==", - "dev": true, + "devOptional": true, "dependencies": { "source-map-support": "^0.5.21", "tslib": "^2.6.2" @@ -12536,7 +12765,7 @@ "version": "1.3.101", "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.101.tgz", "integrity": "sha512-w5aQ9qYsd/IYmXADAnkXPGDMTqkQalIi+kfFf/MHRKTpaOL7DHjMXwPp/n8hJ0qNjRvchzmPtOqtPBiER50d8A==", - "dev": true, + "devOptional": true, "hasInstallScript": true, "dependencies": { "@swc/counter": "^0.1.1", @@ -12734,7 +12963,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz", "integrity": "sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==", - "dev": true + "devOptional": true }, "node_modules/@swc/helpers": { "version": "0.5.6", @@ -12764,7 +12993,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz", "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==", - "dev": true + "devOptional": true }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", @@ -13925,8 +14154,7 @@ "node_modules/@types/parse-json": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "dev": true + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" }, "node_modules/@types/prop-types": { "version": "15.7.11", @@ -14750,6 +14978,21 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, + "node_modules/@use-gesture/core": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.3.0.tgz", + "integrity": "sha512-rh+6MND31zfHcy9VU3dOZCqGY511lvGcfyJenN4cWZe0u1BH6brBpBddLVXhF2r4BMqWbvxfsbL7D287thJU2A==", + "peer": true + }, + "node_modules/@use-gesture/vanilla": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@use-gesture/vanilla/-/vanilla-10.3.0.tgz", + "integrity": "sha512-hehZWLaNyNc+TWAbhJpj84yumD8ZBp/eet6HGg3xztPcchuNNTGEu5LEEdSg69SXHzS7exWE6j5VnsZ3VXVFxQ==", + "peer": true, + "dependencies": { + "@use-gesture/core": "10.3.0" + } + }, "node_modules/@vitejs/plugin-basic-ssl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz", @@ -16843,6 +17086,72 @@ "readable-stream": "^3.4.0" } }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/body-parser/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/bonjour-service": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", @@ -17548,7 +17857,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "devOptional": true }, "node_modules/builtin-modules": { "version": "3.3.0", @@ -17835,7 +18144,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "engines": { "node": ">=6" } @@ -18327,7 +18635,7 @@ "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true + "devOptional": true }, "node_modules/colors": { "version": "1.4.0", @@ -18593,6 +18901,15 @@ "node": ">=0.8" } }, + "node_modules/connect-pause": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/connect-pause/-/connect-pause-0.1.1.tgz", + "integrity": "sha512-a1gSWQBQD73krFXdUEYJom2RTFrWUL3YvXDCRkyv//GVXc79cdW9MngtRuN9ih4FDKBtfJAJId+BbDuX+1rh2w==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/connect/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -19313,8 +19630,7 @@ "node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/cookie": { "version": "0.4.2", @@ -19451,6 +19767,33 @@ "node": ">= 0.4.0" } }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "peer": true, + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/cosmiconfig-typescript-loader": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz", @@ -19992,8 +20335,7 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/cuint": { "version": "0.2.2", @@ -21023,11 +21365,23 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } }, + "node_modules/errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "dev": true, + "dependencies": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/es-abstract": { "version": "1.22.5", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz", @@ -22269,6 +22623,186 @@ "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", "dev": true }, + "node_modules/express": { + "version": "4.18.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express-urlrewrite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/express-urlrewrite/-/express-urlrewrite-1.4.0.tgz", + "integrity": "sha512-PI5h8JuzoweS26vFizwQl6UTF25CAHSggNv0J25Dn/IKZscJHWZzPrI5z2Y2jgOzIaw2qh8l6+/jUcig23Z2SA==", + "dev": true, + "dependencies": { + "debug": "*", + "path-to-regexp": "^1.0.3" + } + }, + "node_modules/express-urlrewrite/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/express-urlrewrite/node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/express/node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/ext": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", @@ -22690,6 +23224,12 @@ "node": ">=4.0.0" } }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "peer": true + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -24525,7 +25065,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -24541,7 +25080,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "engines": { "node": ">=4" } @@ -24858,7 +25396,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true + "devOptional": true }, "node_modules/ipaddr.js": { "version": "1.9.1", @@ -24916,8 +25454,7 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-bigint": { "version": "1.0.4", @@ -24995,7 +25532,6 @@ "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, "dependencies": { "hasown": "^2.0.0" }, @@ -25230,6 +25766,12 @@ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, "node_modules/is-property": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", @@ -25855,6 +26397,23 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/jest-circus/node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, "node_modules/jest-circus/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -25889,6 +26448,24 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/jest-circus/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jest-circus/node_modules/dedent": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", @@ -27754,14 +28331,125 @@ "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-parse-helpfulerror": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz", + "integrity": "sha512-XgP0FGR77+QhUxjXkwOMkC94k3WtqEBfcnjWqhRd82qTat4SWKRE+9kUnynz/shm3I4ea2+qISvTIeGTNU7kJg==", + "dev": true, + "dependencies": { + "jju": "^1.1.0" + } }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, + "node_modules/json-server": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/json-server/-/json-server-0.17.4.tgz", + "integrity": "sha512-bGBb0WtFuAKbgI7JV3A864irWnMZSvBYRJbohaOuatHwKSRFUfqtQlrYMrB6WbalXy/cJabyjlb7JkHli6dYjQ==", + "dev": true, + "dependencies": { + "body-parser": "^1.19.0", + "chalk": "^4.1.2", + "compression": "^1.7.4", + "connect-pause": "^0.1.1", + "cors": "^2.8.5", + "errorhandler": "^1.5.1", + "express": "^4.17.1", + "express-urlrewrite": "^1.4.0", + "json-parse-helpfulerror": "^1.0.3", + "lodash": "^4.17.21", + "lodash-id": "^0.14.1", + "lowdb": "^1.0.0", + "method-override": "^3.0.0", + "morgan": "^1.10.0", + "nanoid": "^3.1.23", + "please-upgrade-node": "^3.2.0", + "pluralize": "^8.0.0", + "server-destroy": "^1.0.1", + "yargs": "^17.0.1" + }, + "bin": { + "json-server": "lib/cli/bin.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/json-server/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/json-server/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/json-server/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/json-server/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/json-server/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/json-server/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -28651,6 +29339,15 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "node_modules/lodash-id": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/lodash-id/-/lodash-id-0.14.1.tgz", + "integrity": "sha512-ikQPBTiq/d5m6dfKQlFdIXFzvThPi2Be9/AHxktOnDSfSxE1j9ICbBT5Elk1ke7HSTgM38LHTpmJovo9/klnLg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -29066,6 +29763,31 @@ "get-func-name": "^2.0.1" } }, + "node_modules/lowdb": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", + "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.3", + "is-promise": "^2.1.0", + "lodash": "4", + "pify": "^3.0.0", + "steno": "^0.4.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lowdb/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -29330,6 +30052,36 @@ "node": ">= 8" } }, + "node_modules/method-override": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz", + "integrity": "sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==", + "dev": true, + "dependencies": { + "debug": "3.1.0", + "methods": "~1.1.2", + "parseurl": "~1.3.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/method-override/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/method-override/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -31775,7 +32527,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "dependencies": { "callsites": "^3.0.0" }, @@ -31787,7 +32538,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -31804,8 +32554,7 @@ "node_modules/parse-json/node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/parse-node-version": { "version": "1.0.1", @@ -31915,8 +32664,7 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-scurry": { "version": "1.10.1", @@ -31953,7 +32701,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "engines": { "node": ">=8" } @@ -32078,7 +32825,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 6" } @@ -32205,6 +32952,24 @@ "pathe": "^1.1.0" } }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/png-js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", @@ -34526,7 +35291,6 @@ "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -35262,6 +36026,12 @@ "node": ">=10" } }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true + }, "node_modules/semver-regex": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", @@ -35843,7 +36613,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" @@ -35938,7 +36708,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "dev": true, + "devOptional": true, "dependencies": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" @@ -36193,7 +36963,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, + "devOptional": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -36203,7 +36973,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -36604,6 +37374,15 @@ "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, + "node_modules/steno": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", + "integrity": "sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.3" + } + }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", @@ -37007,6 +37786,12 @@ "postcss": "^8.4.31" } }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "peer": true + }, "node_modules/stylus": { "version": "0.59.0", "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.59.0.tgz", @@ -37065,7 +37850,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -37649,7 +38433,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, "engines": { "node": ">=4" } @@ -38376,7 +39159,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "dev": true, + "devOptional": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -39097,6 +39880,84 @@ "code-block-writer": "^12.0.0" } }, + "node_modules/vite-plugin-json-server": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/vite-plugin-json-server/-/vite-plugin-json-server-0.1.1.tgz", + "integrity": "sha512-bMr96f71FmfemQuW8ta5vsXtCVGyZR11q+YU4FTnoSiEdjcayimBPsWiTBlySvAV9xVbiUiPIAM6Hep38UerGg==", + "dev": true, + "dependencies": { + "json-server": "^0.17.3" + }, + "peerDependencies": { + "vite": "^4.0.0" + } + }, + "node_modules/vite-plugin-static": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/vite-plugin-static/-/vite-plugin-static-0.0.3.tgz", + "integrity": "sha512-j9Pnya2VGX3mQhbcbgJmMIToXjEMHQfIP1QiS0kmE+cBPdbqdwi5+YjgQ8RC9rHs+Pcdt8hNaYa0dLHwupN5Rg==", + "dev": true, + "dependencies": { + "glob": "^8.0.3", + "typescript": "^4.8.2" + }, + "peerDependencies": { + "vite": "^2.5.10" + } + }, + "node_modules/vite-plugin-static/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/vite-plugin-static/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/vite-plugin-static/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vite-plugin-static/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/vite/node_modules/postcss": { "version": "8.4.35", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", @@ -39419,108 +40280,6 @@ } } }, - "node_modules/webpack-dev-server/node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/webpack-dev-server/node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack-dev-server/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "dev": true, - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/webpack-dev-server/node_modules/ipaddr.js": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", @@ -39530,54 +40289,6 @@ "node": ">= 10" } }, - "node_modules/webpack-dev-server/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/webpack-dev-server/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/webpack-dev-server/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/webpack-dev-server/node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/webpack-dev-server/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -39593,50 +40304,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/webpack-dev-server/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/webpack-dev-server/node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/webpack-dev-server/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", @@ -40193,7 +40860,6 @@ "version": "8.11.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "dev": true, "engines": { "node": ">=10.0.0" }, @@ -40284,7 +40950,6 @@ "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, "engines": { "node": ">= 6" } diff --git a/package.json b/package.json index fea831b..6fa0114 100644 --- a/package.json +++ b/package.json @@ -74,10 +74,12 @@ "@angular/platform-browser-dynamic": "17.0.8", "@angular/router": "17.0.8", "@angular/service-worker": "17.0.8", + "@emotion-icons/material-outlined": "^3.14.0", "@ngrx/component": "^17.0.1", "@ngrx/operators": "^17.0.1", "@ngrx/signals": "^17.0.1", "compare-versions": "^6.1.0", + "fast-deep-equal": "^3.1.3", "ngxtension": "^1.12.0", "normalize.css": "8.0.1", "query-string": "^8.1.0", @@ -184,6 +186,8 @@ "typescript": "5.2.2", "vite": "~5.0.0", "vite-plugin-dts": "~2.3.0", + "vite-plugin-json-server": "^0.1.1", + "vite-plugin-static": "^0.0.3", "vitest": "~0.34.6" }, "engines": { diff --git a/packages/rxdb/collection/src/index.ts b/packages/rxdb/collection/src/index.ts index 4e4f555..99a4079 100644 --- a/packages/rxdb/collection/src/index.ts +++ b/packages/rxdb/collection/src/index.ts @@ -1,2 +1 @@ -export * from './lib/collection.module'; export * from './lib/collection.service'; diff --git a/packages/rxdb/collection/src/lib/collection.module.ts b/packages/rxdb/collection/src/lib/collection.module.ts deleted file mode 100644 index 0051b4c..0000000 --- a/packages/rxdb/collection/src/lib/collection.module.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Inject, NgModule } from '@angular/core'; -import { NgxRxdbCollection, NgxRxdbCollectionService } from './collection.service'; - -/** - * (Fake) Feature module for NgxRxdbModule - * - * By being provided with `forChild` method of *root* NgxRxdbModule, - * and by injecting `NgxRxdbCollectionService` in its constructor, - * this module actually creates a collection with collectionService and provided config - */ -@NgModule({ - declarations: [], - exports: [], -}) -export class NgxRxdbFeatureModule { - constructor( - @Inject(NgxRxdbCollectionService) private collectionService: NgxRxdbCollection - ) {} -} diff --git a/packages/rxdb/collection/src/lib/collection.service.spec.ts b/packages/rxdb/collection/src/lib/collection.service.spec.ts index a1481de..63e21fa 100644 --- a/packages/rxdb/collection/src/lib/collection.service.spec.ts +++ b/packages/rxdb/collection/src/lib/collection.service.spec.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-var-requires */ import { TestBed } from '@angular/core/testing'; -import { NgxRxdbService } from '@ngx-odm/rxdb/core'; +import { RxDBService } from '@ngx-odm/rxdb/core'; import { TEST_FEATURE_CONFIG_1, TestDocType, @@ -11,7 +11,7 @@ import { createRxLocalDocument } from 'rxdb/plugins/local-documents'; import { RxReplicationState } from 'rxdb/plugins/replication'; import { EMPTY, Observable, Subject, firstValueFrom, of } from 'rxjs'; import { - NgxRxdbCollection, + RxDBCollectionService, NgxRxdbCollectionService, collectionServiceFactory, } from './collection.service'; @@ -26,14 +26,14 @@ const getMockReplicationState = (obj: Partial>) => describe(`NgxRxdbCollectionService`, () => { describe(`test methods using mock NgxRxdbService`, () => { - let dbService: NgxRxdbService; - let service: NgxRxdbCollection; + let dbService: RxDBService; + let service: RxDBCollectionService; beforeEach(async () => { dbService = await getMockRxdbService(); TestBed.configureTestingModule({ providers: [ - { provide: NgxRxdbService, useValue: dbService }, + { provide: RxDBService, useValue: dbService }, { provide: NgxRxdbCollectionService, useFactory: collectionServiceFactory(TEST_FEATURE_CONFIG_1), diff --git a/packages/rxdb/collection/src/lib/collection.service.ts b/packages/rxdb/collection/src/lib/collection.service.ts index 147aefb..456ac8e 100644 --- a/packages/rxdb/collection/src/lib/collection.service.ts +++ b/packages/rxdb/collection/src/lib/collection.service.ts @@ -1,13 +1,11 @@ /* eslint-disable @typescript-eslint/ban-types */ -import { InjectionToken, NgZone, inject } from '@angular/core'; import type { RxCollectionExtended as RxCollection, RxCollectionCreatorExtended, RxCollectionHooks, RxDbMetadata, } from '@ngx-odm/rxdb/config'; -import { NgxRxdbService } from '@ngx-odm/rxdb/core'; -import { CURRENT_URL, updateQueryParams } from '@ngx-odm/rxdb/query-params'; +import { RxDBService } from '@ngx-odm/rxdb/core'; import { Entity, EntityId, @@ -41,35 +39,14 @@ import { switchMap, takeWhile, } from 'rxjs'; -import { ensureCollection, ensureCollection$, runInZone } from './helpers'; +import { ZoneLike, ensureCollection, ensureCollection$, runInZone } from './helpers'; -const { getMaybeId, logger, debug } = NgxRxdbUtils; - -/** - * Injection token for Service for interacting with a RxDB {@link RxCollection}. - * This token is used to inject an instance of NgxRxdbCollection into a component or service. - */ -export const NgxRxdbCollectionService = new InjectionToken( - 'NgxRxdbCollection' -); - -/** - * Factory function that returns a new instance of NgxRxdbCollection - * with the provided NgxRxdbService and RxCollectionCreator. - * @param config - The configuration object for the collection to be created automatically. - */ -export function collectionServiceFactory(config: RxCollectionCreatorExtended) { - return (): NgxRxdbCollection => new NgxRxdbCollection(config); -} +const { getMaybeId, logger, debug, noop } = NgxRxdbUtils; /** * Service for interacting with a RxDB {@link RxCollection}. */ -export class NgxRxdbCollection { - protected readonly dbService: NgxRxdbService = inject(NgxRxdbService); - protected readonly ngZone: NgZone = inject(NgZone); - protected readonly currentUrl$ = inject(CURRENT_URL); - protected readonly updateQueryParamsFn = inject(updateQueryParams); +export class RxDBCollectionService { private _collection!: RxCollection; private _replicationState: RxReplicationState | null = null; private _init$ = new ReplaySubject(); @@ -101,7 +78,13 @@ export class NgxRxdbCollection { return this.initialized$.pipe(switchMap(() => this.collection.queryParams!.$)); } - constructor(public readonly config: RxCollectionCreatorExtended) { + constructor( + public readonly config: RxCollectionCreatorExtended, + protected readonly dbService: RxDBService, + protected readonly ngZone: ZoneLike = {} as any, // eslint-disable-line + protected readonly currentUrl$: Observable = of(''), + protected readonly updateQueryParamsFn: any = noop // eslint-disable-line + ) { this.init(config); } diff --git a/packages/rxdb/collection/src/lib/helpers.ts b/packages/rxdb/collection/src/lib/helpers.ts index c4b4556..7b2318d 100644 --- a/packages/rxdb/collection/src/lib/helpers.ts +++ b/packages/rxdb/collection/src/lib/helpers.ts @@ -1,25 +1,30 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { NgZone } from '@angular/core'; import type { RxCollectionCreatorExtended } from '@ngx-odm/rxdb/config'; import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; import { Observable, OperatorFunction, defer, lastValueFrom, switchMap } from 'rxjs'; -const { debug } = NgxRxdbUtils; +const { debug, isEmptyObject, isFunction } = NgxRxdbUtils; type CollectionLike = { readonly initialized$: Observable; readonly config: RxCollectionCreatorExtended; }; -export function isNgZone(zone: unknown): zone is NgZone { - return zone instanceof NgZone; +export type ZoneLike = { + run(fn: (...args: any[]) => T, applyThis?: any, applyArgs?: any[]): T; +}; + +function isZone(obj: any): obj is ZoneLike { + return !isEmptyObject(obj) && isFunction(obj.run); } /** * Moves observable execution in and out of Angular zone. * @param zone */ -export function runInZone(zone: NgZone): OperatorFunction { +export function runInZone(zone: ZoneLike): OperatorFunction { + if (!isZone(zone)) return source => source; + return source => { return new Observable(subscriber => { return source.subscribe( diff --git a/packages/rxdb/config/src/index.ts b/packages/rxdb/config/src/index.ts index 4dab479..db3b131 100644 --- a/packages/rxdb/config/src/index.ts +++ b/packages/rxdb/config/src/index.ts @@ -1,2 +1 @@ export * from './lib/config'; -export * from './lib/plugin.loader'; diff --git a/packages/rxdb/config/src/lib/config.ts b/packages/rxdb/config/src/lib/config.ts index 7876ef8..6a0aac6 100644 --- a/packages/rxdb/config/src/lib/config.ts +++ b/packages/rxdb/config/src/lib/config.ts @@ -100,13 +100,13 @@ type RxDatabaseCreatorPartialStorage = SetOptional /* prettier-ignore */ type RxDatabaseCreatorRequireOptions = SetRequired< RxDatabaseCreatorPartialStorage, 'options'>; /* prettier-ignore */ -type NgxRxdbConfig = Merge< RxDatabaseCreatorRequireOptions, { options: NgxRxdbConfigOptions }>; +export type RxDatabaseCreatorExtended = Merge< RxDatabaseCreatorRequireOptions, { options: NgxRxdbConfigOptions }>; /** * Returns full configuration object for creating an RxDatabase instance. * @param config - Partial configuration options for the RxDatabase instance. */ -export function getRxDatabaseCreator(config: NgxRxdbConfig): RxDatabaseCreator { +export function getRxDatabaseCreator(config: RxDatabaseCreatorExtended): RxDatabaseCreator { // eslint-disable-next-line prefer-const let { name, options, storage, ...rest } = config; if (!storage) { diff --git a/packages/rxdb/config/src/lib/plugin.loader.ts b/packages/rxdb/core/src/lib/plugin.loader.ts similarity index 89% rename from packages/rxdb/config/src/lib/plugin.loader.ts rename to packages/rxdb/core/src/lib/plugin.loader.ts index e50e191..a613d7e 100644 --- a/packages/rxdb/config/src/lib/plugin.loader.ts +++ b/packages/rxdb/core/src/lib/plugin.loader.ts @@ -1,5 +1,5 @@ import { RxDBPreparePlugin } from '@ngx-odm/rxdb/prepare'; -// import { RxDBPUseQueryParamsPlugin } from '@ngx-odm/rxdb/query-params'; +import { RxDBPUseQueryParamsPlugin } from '@ngx-odm/rxdb/query-params'; import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; import { RxPlugin, addRxPlugin } from 'rxdb'; import { RxDBCleanupPlugin } from 'rxdb/plugins/cleanup'; @@ -8,7 +8,7 @@ import { RxDBLocalDocumentsPlugin } from 'rxdb/plugins/local-documents'; import { RxDBMigrationPlugin } from 'rxdb/plugins/migration-schema'; import { RxDBUpdatePlugin } from 'rxdb/plugins/update'; -const { isDevMode, isTestEnvironment } = NgxRxdbUtils; +const { isDevMode, isTestEnvironment } = NgxRxdbUtils; // /** * Loads all the necessary and additional RxDB plugins for the application to work. @@ -26,7 +26,7 @@ export async function loadRxDBPlugins(plugins: RxPlugin[] = []): Promise { addRxPlugin(RxDBCleanupPlugin); // custom addRxPlugin(RxDBPreparePlugin); - // addRxPlugin(RxDBPUseQueryParamsPlugin); + addRxPlugin(RxDBPUseQueryParamsPlugin); // additional plugins for (const plugin of plugins) { addRxPlugin(plugin); diff --git a/packages/rxdb/core/src/lib/service.spec.ts b/packages/rxdb/core/src/lib/service.spec.ts index 6776ee5..32c318d 100644 --- a/packages/rxdb/core/src/lib/service.spec.ts +++ b/packages/rxdb/core/src/lib/service.spec.ts @@ -2,15 +2,15 @@ import { TestBed } from '@angular/core/testing'; import { NgxRxdbModule } from '@ngx-odm/rxdb'; import { TEST_DB_CONFIG_1, TEST_SCHEMA } from '@ngx-odm/rxdb/testing'; -import { NgxRxdbService } from './service'; +import { RxDBService } from './service'; describe('NgxRxdbService', () => { - let service: NgxRxdbService; + let service: RxDBService; beforeEach(async () => { TestBed.configureTestingModule({ imports: [NgxRxdbModule.forRoot(TEST_DB_CONFIG_1)], }); - service = TestBed.inject(NgxRxdbService); + service = TestBed.inject(RxDBService); }); afterEach(() => { diff --git a/packages/rxdb/core/src/lib/service.ts b/packages/rxdb/core/src/lib/service.ts index 68ccd39..a32000d 100644 --- a/packages/rxdb/core/src/lib/service.ts +++ b/packages/rxdb/core/src/lib/service.ts @@ -1,5 +1,7 @@ -import { Injectable } from '@angular/core'; -import { RxCollectionCreatorExtended, loadRxDBPlugins } from '@ngx-odm/rxdb/config'; +import { + RxCollectionExtended as RxCollection, + RxCollectionCreatorExtended, +} from '@ngx-odm/rxdb/config'; import { prepareCollections } from '@ngx-odm/rxdb/prepare'; import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; import { @@ -8,16 +10,14 @@ import { RxDatabaseCreator, createRxDatabase, } from 'rxdb'; +import { loadRxDBPlugins } from './plugin.loader'; const { logger } = NgxRxdbUtils; /** * Service for managing a RxDB database instance. */ -@Injectable({ - providedIn: 'root', -}) -export class NgxRxdbService { +export class RxDBService { private dbInstance!: RxDatabase; private options!: RxDatabaseCreator; @@ -30,8 +30,8 @@ export class NgxRxdbService { return this.options; } - get collections(): CollectionsOfDatabase { - return this.db.collections; + get collections(): { [name: string]: RxCollection } { + return this.db.collections as { [name: string]: RxCollection }; } async destroyDb() { @@ -51,7 +51,9 @@ export class NgxRxdbService { * @param config */ async initDb(config: RxDatabaseCreator): Promise { - // eslint-disable-next-line no-useless-catch + if (this.dbInstance) { + return; + } try { await loadRxDBPlugins(config.options?.plugins); this.dbInstance = await createRxDatabase(config); diff --git a/packages/rxdb/query-params/src/index.ts b/packages/rxdb/query-params/src/index.ts index 8d1644b..8a7d4e2 100644 --- a/packages/rxdb/query-params/src/index.ts +++ b/packages/rxdb/query-params/src/index.ts @@ -1,2 +1 @@ -export * from './tokens'; export * from './query-params.plugin'; diff --git a/packages/rxdb/query-params/src/tokens.ts b/packages/rxdb/query-params/src/tokens.ts deleted file mode 100644 index 6abf377..0000000 --- a/packages/rxdb/query-params/src/tokens.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Location } from '@angular/common'; -import { InjectionToken, inject } from '@angular/core'; -import { Router } from '@angular/router'; -import { MangoQueryParams } from '@ngx-odm/rxdb/config'; -import { Observable, BehaviorSubject, defer, distinctUntilChanged } from 'rxjs'; - -/** - * The current URL as an observable - */ -export const CURRENT_URL = new InjectionToken>('CURRENT_URL', { - providedIn: 'root', - factory: () => { - const location = inject(Location); - const subject = new BehaviorSubject(window.location.href); - - location.onUrlChange(url => { - subject.next(url); - }); - return defer(() => subject).pipe(distinctUntilChanged()); - }, -}); - -/** - * Updates query params in the URL via {@link Router.navigate } - */ -export const updateQueryParams = new InjectionToken< - (queryParams: MangoQueryParams) => Promise ->('UPDATE_QUERY_PARAMS', { - providedIn: 'root', - factory: () => { - const router = inject(Router); - return (queryParams: MangoQueryParams) => { - return router.navigate([], { - queryParams, - queryParamsHandling: 'merge', - }); - }; - }, -}); diff --git a/packages/rxdb/signals/src/with-collection-service.spec.ts b/packages/rxdb/signals/src/with-collection-service.spec.ts index 06856c6..dc00948 100644 --- a/packages/rxdb/signals/src/with-collection-service.spec.ts +++ b/packages/rxdb/signals/src/with-collection-service.spec.ts @@ -4,8 +4,8 @@ import { getState, signalStore } from '@ngrx/signals'; import { withEntities } from '@ngrx/signals/entities'; import { EntitySignals } from '@ngrx/signals/entities/src/models'; import { provideRxCollection } from '@ngx-odm/rxdb'; -import { NgxRxdbCollection, NgxRxdbCollectionService } from '@ngx-odm/rxdb/collection'; -import { NgxRxdbService } from '@ngx-odm/rxdb/core'; +import { RxDBCollectionService, NgxRxdbCollectionService } from '@ngx-odm/rxdb/collection'; +import { RxDBService } from '@ngx-odm/rxdb/core'; import { MOCK_DATA, TEST_FEATURE_CONFIG_1, @@ -29,14 +29,14 @@ describe('withCollectionService', () => { filter: 'any', }) ); - let dbService: NgxRxdbService; + let dbService: RxDBService; beforeEach(async () => { dbService = await getMockRxdbService(); TestBed.configureTestingModule({ providers: [ // - { provide: NgxRxdbService, useValue: dbService }, + { provide: RxDBService, useValue: dbService }, TestStore, ], }); @@ -54,9 +54,9 @@ describe('withCollectionService', () => { EntitySignals & CollectionServiceSignals & CollectionServiceMethods; - let dbService: NgxRxdbService; + let dbService: RxDBService; let rxCollection: RxCollection; - let colService: NgxRxdbCollection; + let colService: RxDBCollectionService; let spyFind: jest.SpyInstance; /** mock data & wait for promise from collection */ @@ -98,7 +98,7 @@ describe('withCollectionService', () => { TestBed.configureTestingModule({ providers: [ // - { provide: NgxRxdbService, useValue: dbService }, + { provide: RxDBService, useValue: dbService }, provideRxCollection(TEST_FEATURE_CONFIG_1), TestStore, ], diff --git a/packages/rxdb/signals/src/with-collection-service.ts b/packages/rxdb/signals/src/with-collection-service.ts index f38303a..9073c24 100644 --- a/packages/rxdb/signals/src/with-collection-service.ts +++ b/packages/rxdb/signals/src/with-collection-service.ts @@ -19,7 +19,8 @@ import { setAllEntities } from '@ngrx/signals/entities'; import { NamedEntitySignals } from '@ngrx/signals/entities/src/models'; import { SignalStoreFeatureResult } from '@ngrx/signals/src/signal-store-models'; import { StateSignal } from '@ngrx/signals/src/state-signal'; -import { NgxRxdbCollection, NgxRxdbCollectionService } from '@ngx-odm/rxdb/collection'; +import { NgxRxdbCollectionService } from '@ngx-odm/rxdb'; +import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; import { DEFAULT_LOCAL_DOCUMENT_ID } from '@ngx-odm/rxdb/config'; import { Entity, EntityId, NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; import { computedAsync } from 'ngxtension/computed-async'; @@ -258,7 +259,7 @@ export function withCollectionService< countQuery?: MangoQuerySelectorAndIndex; // eslint-disable-next-line @typescript-eslint/no-explicit-any }): SignalStoreFeature { - let colService: NgxRxdbCollection; + let colService: RxDBCollectionService; const { collection: prefix, filter, query, countQuery } = options; const { @@ -291,10 +292,10 @@ export function withCollectionService< }; const ensureCollection = () => { - if (colService instanceof NgxRxdbCollection) return; + if (colService instanceof RxDBCollectionService) return; const injector = inject(Injector); // eslint-disable-next-line @typescript-eslint/no-explicit-any - colService = injector.get(NgxRxdbCollectionService) as NgxRxdbCollection; + colService = injector.get(NgxRxdbCollectionService) as RxDBCollectionService; }; return signalStoreFeature( diff --git a/packages/rxdb/src/lib/rxdb.module.spec.ts b/packages/rxdb/src/lib/rxdb.module.spec.ts index bc71070..86890bd 100644 --- a/packages/rxdb/src/lib/rxdb.module.spec.ts +++ b/packages/rxdb/src/lib/rxdb.module.spec.ts @@ -1,9 +1,9 @@ /* eslint-disable @typescript-eslint/no-var-requires */ import { ApplicationInitStatus } from '@angular/core'; import { TestBed, inject } from '@angular/core/testing'; -import { NgxRxdbCollection, NgxRxdbCollectionService } from '@ngx-odm/rxdb/collection'; +import { RxDBCollectionService, NgxRxdbCollectionService } from '@ngx-odm/rxdb/collection'; import { RXDB_CONFIG } from '@ngx-odm/rxdb/config'; -import { NgxRxdbService } from '@ngx-odm/rxdb/core'; +import { RxDBService } from '@ngx-odm/rxdb/core'; import { setupNavigationWarnStub, getMockRxdbService, @@ -31,7 +31,7 @@ describe('NgxRxdbModule', () => { expect(() => TestBed.inject(RXDB_CONFIG)).toThrowError( /InjectionToken RxDatabaseCreator is not provided. Make sure you call the 'forRoot'/ ); - expect(() => TestBed.inject(NgxRxdbService)).toThrowError( + expect(() => TestBed.inject(RxDBService)).toThrowError( // /No provider for/ /InjectionToken RxDatabaseCreator is not provided. Make sure you call the 'forRoot'/ ); @@ -46,7 +46,7 @@ describe('NgxRxdbModule', () => { }); it(`should provide db service`, () => { - expect(TestBed.inject(NgxRxdbService)).toBeDefined(); + expect(TestBed.inject(RxDBService)).toBeDefined(); }); it(`should provide db config`, () => { @@ -55,12 +55,12 @@ describe('NgxRxdbModule', () => { }); describe(`NgxRxdbModule :: init w/o forFeature`, () => { - let dbService: NgxRxdbService; + let dbService: RxDBService; beforeEach(async () => { dbService = await getMockRxdbService(); TestBed.configureTestingModule({ imports: [NgxRxdbModule.forRoot(TEST_DB_CONFIG_1)], - providers: [{ provide: NgxRxdbService, useValue: dbService }], + providers: [{ provide: RxDBService, useValue: dbService }], }); }); @@ -76,7 +76,7 @@ describe('NgxRxdbModule', () => { }); describe(`NgxRxdbModule :: forFeature`, () => { - let dbService: NgxRxdbService; + let dbService: RxDBService; beforeEach(async () => { dbService = await getMockRxdbService(); @@ -85,7 +85,7 @@ describe('NgxRxdbModule', () => { NgxRxdbModule.forRoot(TEST_DB_CONFIG_1), NgxRxdbModule.forFeature(TEST_FEATURE_CONFIG_1), ], - providers: [{ provide: NgxRxdbService, useValue: dbService }], + providers: [{ provide: RxDBService, useValue: dbService }], }); const appInitStatus = TestBed.inject(ApplicationInitStatus); await appInitStatus.donePromise; @@ -93,7 +93,7 @@ describe('NgxRxdbModule', () => { it(`should init db via dbService`, inject( [NgxRxdbCollectionService], - async (colService: NgxRxdbCollection) => { + async (colService: RxDBCollectionService) => { expect(dbService.initDb).toHaveBeenCalledWith(TEST_DB_CONFIG_1); expect(dbService.initCollections).toHaveBeenCalledWith({ [TEST_FEATURE_CONFIG_1.name]: TEST_FEATURE_CONFIG_1, diff --git a/packages/rxdb/src/lib/rxdb.module.ts b/packages/rxdb/src/lib/rxdb.module.ts index 8a1d1c2..2d1bedb 100644 --- a/packages/rxdb/src/lib/rxdb.module.ts +++ b/packages/rxdb/src/lib/rxdb.module.ts @@ -8,12 +8,18 @@ import { Self, SkipSelf, } from '@angular/core'; -import { NgxRxdbFeatureModule } from '@ngx-odm/rxdb/collection'; -import { RXDB_CONFIG, RxCollectionCreatorExtended } from '@ngx-odm/rxdb/config'; -import { NgxRxdbService } from '@ngx-odm/rxdb/core'; +import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; +import type { RxCollectionCreatorExtended } from '@ngx-odm/rxdb/config'; +import { RxDBService } from '@ngx-odm/rxdb/core'; import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; import type { RxDatabaseCreator } from 'rxdb'; -import { provideRxCollection, provideRxDatabase } from './rxdb.providers'; +import { + NgxRxdbCollectionService, + RXDB, + RXDB_CONFIG, + provideRxCollection, + provideRxDatabase, +} from './rxdb.providers'; /** * Main module which should be imported once in app module, will init RxDbDatabase with given configuration @@ -118,7 +124,7 @@ export class NgxRxdbModule { if (trueNgxRxdbConfig && !ngxRxdbConfig) { appInitStatus.donePromise.then(() => { - const ngxRxdbService = injector.get(NgxRxdbService); + const ngxRxdbService = injector.get(RXDB); if (ngxRxdbService.db.startupErrors.length) { NgxRxdbUtils.logger.log(ngxRxdbService.db.startupErrors); } @@ -129,3 +135,18 @@ export class NgxRxdbModule { } } } + +/** + * (Fake) Feature module for NgxRxdbModule + * + * By being provided with `forChild` method of *root* NgxRxdbModule, + * and by injecting `NgxRxdbCollectionService` in its constructor, + * this module actually creates a collection with collectionService and provided config + */ +@NgModule() +export class NgxRxdbFeatureModule { + constructor( + @Inject(RXDB) private dbService: RxDBService, + @Inject(NgxRxdbCollectionService) private collectionService: RxDBCollectionService + ) {} +} diff --git a/packages/rxdb/query-params/src/tokens.spec.ts b/packages/rxdb/src/lib/rxdb.providers.spec.ts similarity index 92% rename from packages/rxdb/query-params/src/tokens.spec.ts rename to packages/rxdb/src/lib/rxdb.providers.spec.ts index 0990c9a..14df3f9 100644 --- a/packages/rxdb/query-params/src/tokens.spec.ts +++ b/packages/rxdb/src/lib/rxdb.providers.spec.ts @@ -2,9 +2,9 @@ import { Location } from '@angular/common'; import { SpyLocation } from '@angular/common/testing'; import { TestBed } from '@angular/core/testing'; import { Router } from '@angular/router'; -import { MangoQueryParams } from '@ngx-odm/rxdb/config'; +import type { MangoQueryParams } from '@ngx-odm/rxdb/config'; import { Observable, take } from 'rxjs'; -import { CURRENT_URL, updateQueryParams } from './tokens'; +import { CURRENT_URL, updateQueryParams } from './rxdb.providers'; describe('query-params injection tokens', () => { describe('CURRENT_URL should emit stream', () => { diff --git a/packages/rxdb/src/lib/rxdb.providers.ts b/packages/rxdb/src/lib/rxdb.providers.ts index 2cffa53..a0a654a 100644 --- a/packages/rxdb/src/lib/rxdb.providers.ts +++ b/packages/rxdb/src/lib/rxdb.providers.ts @@ -1,29 +1,47 @@ -import { APP_INITIALIZER, InjectionToken, Provider } from '@angular/core'; -import { - NgxRxdbCollectionService, - collectionServiceFactory, -} from '@ngx-odm/rxdb/collection'; +import { Location } from '@angular/common'; +import { APP_INITIALIZER, InjectionToken, NgZone, Provider, inject } from '@angular/core'; +import { Router } from '@angular/router'; +import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; import type { RxCollectionCreatorExtended } from '@ngx-odm/rxdb/config'; -import { NgxRxdbService } from '@ngx-odm/rxdb/core'; +import { MangoQueryParams } from '@ngx-odm/rxdb/config'; +import { RxDBService } from '@ngx-odm/rxdb/core'; import { RxDatabaseCreator } from 'rxdb'; +import { BehaviorSubject, Observable, defer, distinctUntilChanged } from 'rxjs'; + +/** + * Instance of RxDB service + */ +export const RXDB = new InjectionToken('RxDBService Instance', { + providedIn: 'root', + factory: () => new RxDBService(), +}); /** * Instance of RxDatabaseCreator */ export const RXDB_CONFIG = new InjectionToken('RxDatabaseCreator'); + /** * Instance of RxCollectionCreator */ /* prettier-ignore */ export const RXDB_CONFIG_COLLECTION = new InjectionToken('RxCollectionCreator'); +/** + * Injection token for Service for interacting with a RxDB {@link RxCollection}. + * This token is used to inject an instance of NgxRxdbCollection into a component or service. + */ +export const NgxRxdbCollectionService = new InjectionToken( + 'NgxRxdbCollection' +); + /** * Initializes DB at `APP_INITIALIZER` cycle * @param dbService * @param dbConfig */ function dbInitializerFactory( - dbService: NgxRxdbService, + dbService: RxDBService, dbConfig: RxDatabaseCreator ): () => Promise { return async () => { @@ -56,7 +74,7 @@ export function provideRxDatabase(config: RxDatabaseCreator): Provider[] { { provide: APP_INITIALIZER, useFactory: dbInitializerFactory, - deps: [NgxRxdbService, RXDB_CONFIG], + deps: [RXDB, RXDB_CONFIG], multi: true, }, ]; @@ -89,8 +107,58 @@ export function provideRxCollection( { provide: RXDB_CONFIG_COLLECTION, useValue: collectionConfig }, { provide: NgxRxdbCollectionService, - useFactory: collectionServiceFactory(collectionConfig), - deps: [], + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + useFactory: (config, dbService, ngZone, currentUrl, updateQueryParamsFn) => + new RxDBCollectionService( + config, + dbService, + ngZone, + currentUrl, + updateQueryParamsFn + ), + deps: [ + // + RXDB_CONFIG_COLLECTION, + RXDB, + NgZone, + CURRENT_URL, + updateQueryParams, + ], }, ]; } + +/** + * The current URL as an observable + */ +export const CURRENT_URL = new InjectionToken>('CURRENT_URL', { + providedIn: 'root', + factory: () => { + const location = inject(Location); + const subject = new BehaviorSubject(window.location.href); + + location.onUrlChange(url => { + subject.next(url); + }); + return defer(() => subject).pipe(distinctUntilChanged()); + }, +}); + +/** + * Updates query params in the URL via {@link Router.navigate } + */ +export const updateQueryParams = new InjectionToken< + (queryParams: MangoQueryParams) => Promise +>('UPDATE_QUERY_PARAMS', { + providedIn: 'root', + factory: () => { + const router = inject(Router); + return (queryParams: MangoQueryParams) => { + return router.navigate([], { + queryParams, + queryParamsHandling: 'merge', + }); + }; + }, +}); diff --git a/packages/rxdb/testing/src/lib/mocks.ts b/packages/rxdb/testing/src/lib/mocks.ts index bb92c39..aec360b 100644 --- a/packages/rxdb/testing/src/lib/mocks.ts +++ b/packages/rxdb/testing/src/lib/mocks.ts @@ -2,15 +2,20 @@ /// import { RxCollectionCreatorExtended } from '@ngx-odm/rxdb/config'; -import { NgxRxdbService, loadRxDBPlugins } from '@ngx-odm/rxdb/core'; +import { RxDBService } from '@ngx-odm/rxdb/core'; import { RxCollectionCreator, RxDatabaseCreator, RxJsonSchema, + addRxPlugin, createRxDatabase, randomCouchString, } from 'rxdb'; +import { RxDBCleanupPlugin } from 'rxdb/plugins/cleanup'; +import { RxDBJsonDumpPlugin } from 'rxdb/plugins/json-dump'; +import { RxDBMigrationPlugin } from 'rxdb/plugins/migration-schema'; import { getRxStorageMemory } from 'rxdb/plugins/storage-memory'; +import { RxDBUpdatePlugin } from 'rxdb/plugins/update'; export type TestDocType = { id: string; @@ -109,7 +114,12 @@ export const getMockRxCollection = async ( colConfig: RxCollectionCreatorExtended = TEST_FEATURE_CONFIG_1, randomName = false ) => { - await loadRxDBPlugins(); + // await loadRxDBPlugins(); + addRxPlugin(RxDBJsonDumpPlugin); + addRxPlugin(RxDBMigrationPlugin); + addRxPlugin(RxDBUpdatePlugin); + addRxPlugin(RxDBCleanupPlugin); + const database = await createRxDatabase({ name: randomName ? randomCouchString(6) : 'test', storage: getRxStorageMemory(), @@ -153,6 +163,6 @@ export const getMockRxdbService = async ( service.collections[colConfig.name] = collection; return Promise.resolve(service.collections); }); - Object.setPrototypeOf(service, NgxRxdbService.prototype); - return service as unknown as NgxRxdbService; + Object.setPrototypeOf(service, RxDBService.prototype); + return service as unknown as RxDBService; }; diff --git a/packages/rxdb/utils/src/lib/utils.ts b/packages/rxdb/utils/src/lib/utils.ts index 6edbd78..7a3025e 100644 --- a/packages/rxdb/utils/src/lib/utils.ts +++ b/packages/rxdb/utils/src/lib/utils.ts @@ -213,6 +213,9 @@ export namespace NgxRxdbUtils { export const isObject = (x: any): x is object => Object.prototype.toString.call(x) === '[object Object]'; + export const isEmptyObject = (x: any): x is object => + isNullOrUndefined(x) || (isObject(x) && isEmpty(x)); + export function isDevMode(): boolean { return typeof globalThis['ngDevMode'] === 'undefined' || !!globalThis['ngDevMode']; } diff --git a/packages/streamlit-rxdb-dataframe/.streamlit/config.toml b/packages/streamlit-rxdb-dataframe/.streamlit/config.toml new file mode 100644 index 0000000..6b77658 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/.streamlit/config.toml @@ -0,0 +1,12 @@ +[server] +headless = true +runOnSave = true +allowRunOnSave = true +# fastReruns = true +fileWatcherType = "auto" + +[browser] +gatherUsageStats = false + +[logger] +level = "info" diff --git a/packages/streamlit-rxdb-dataframe/README.md b/packages/streamlit-rxdb-dataframe/README.md new file mode 100644 index 0000000..e69de29 diff --git a/packages/streamlit-rxdb-dataframe/example.py b/packages/streamlit-rxdb-dataframe/example.py index 29de9e4..a94ed96 100644 --- a/packages/streamlit-rxdb-dataframe/example.py +++ b/packages/streamlit-rxdb-dataframe/example.py @@ -1,18 +1,117 @@ import streamlit as st -import pandas as pd -from rxdb_dataframe import rxdb_dataframe +from rxdb_dataframe import ( + RxCollectionCreator, + RxJsonSchema, + get_dataframe_by_schema, + reset_editing_state, + rxdb_dataframe, + get_column_config, +) +import datetime + +# from jsonschema import validate, TypeChecker + +collection_name = "todo" +todoSchema: RxJsonSchema = { + "type": "object", + "title": "Todo", + "description": "Todo Schema", + "required": ["id", "title", "createdAt"], + "version": 0, + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Id", + "pattern": "^(.*)$", + "maxLength": 36, + "readOnly": True, + }, + "title": { + "type": "string", + "title": "Title", + "minLength": 3, + }, + "completed": {"type": "boolean", "title": "Done"}, + "createdAt": { + "type": "string", + "title": "Created Date", + "format": "date-time", + "readOnly": True, + }, + "last_modified": { + "type": "integer", + "format": "time", + "title": "Last Modified Date", + "description": "Last modified date in milliseconds, " + + "automatically updated by database", + "multipleOf": 1, + }, + }, + "primaryKey": "id", + "attachments": {"encrypted": False}, +} + +initial_docs = [ + { + "id": "ac3ef2c6-c98b-43e1-9047-71d68b1f92f4", + "title": "Python Todo list example", + "completed": True, + "createdAt": datetime.datetime.fromtimestamp(1546300800).isoformat(), + "last_modified": 1546300800000, + }, + { + "id": "a4c6a479-7cca-4d3b-ab90-45d3eaa957f3", + "title": "Python example 2", + "completed": False, + "createdAt": datetime.datetime.fromtimestamp(1548979200).isoformat(), + "last_modified": 1548979200000, + }, + { + "id": "a4c6a479-7cca-4d3b-bc10-45d3eaa957r5", + "title": 'Use "@ngx-odm/rxdb" in your project', + "completed": False, + "createdAt": datetime.datetime.now().isoformat(), + "last_modified": int( + datetime.datetime.now().timestamp() * 1000 + ), # in milliseconds + }, +] # Test code to play with the component while it's in development. # During development, we can run this just as we would any other Streamlit # app: `$ streamlit run rxdb_dataframe/example.py` -raw_data = { - "First Name": ["Jason", "Molly", "Tina", "Jake", "Amy"], - "Last Name": ["Miller", "Jacobson", "Ali", "Milner", "Smith"], - "Age": [42, 52, 36, 24, 73], +collection_config: RxCollectionCreator = { + "name": collection_name, + "schema": todoSchema, # to load schema from remote url pass None + "localDocuments": True, + "options": { + # 'schemaUrl': 'assets/data/todo.schema.json', + "initialDocs": initial_docs, + "recreate": True, + }, } -df = pd.DataFrame(raw_data, columns=["First Name", "Last Name", "Age"]) -returned_df = rxdb_dataframe(df) +df = get_dataframe_by_schema(todoSchema) +column_config = get_column_config(todoSchema) +data = rxdb_dataframe(collection_config, dataframe=df) + + +def on_change(): + """ + Called after RxDB Dataframe component applies changes + """ + st.success("on_change") + reset_editing_state(collection_name) + -if not returned_df.empty: - st.table(returned_df) +st.data_editor( + data, + key=collection_name, + num_rows="dynamic", + use_container_width=True, + column_config=column_config, + column_order=["title", "completed", "createdAt"], + on_change=on_change, +) +st.sidebar.json(st.session_state.to_dict()) diff --git a/packages/streamlit-rxdb-dataframe/frontend/build/index-ABWravge.js b/packages/streamlit-rxdb-dataframe/frontend/build/index-ABWravge.js new file mode 100644 index 0000000..b9d37f0 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/build/index-ABWravge.js @@ -0,0 +1,7 @@ +import{R as _,a as M,b as Q,c as A,n as a,g as P,d as p,i as y,f as O,e as h,t as x,h as F,j as u,k as I,l as L,m as $,p as W,o as H}from"./index-xwFleaWe.js";var S={UT1:"given name is no string or empty",UT2:`collection- and database-names must match the regex to be compatible with couchdb databases. + See https://neighbourhood.ie/blog/2020/10/13/everything-you-need-to-know-about-couchdb-database-names/ + info: if your database-name specifies a folder, the name must contain the slash-char '/' or '\\'`,UT3:"replication-direction must either be push or pull or both. But not none",UT4:"given leveldown is no valid adapter",UT5:"keyCompression is set to true in the schema but no key-compression handler is used in the storage",UT6:"schema contains encrypted fields but no encryption handler is used in the storage",UT7:"attachments.compression is enabled but no attachment-compression plugin is used",PL1:"Given plugin is not RxDB plugin.",PL3:"A plugin with the same name was already added but it was not the exact same JavaScript object",P2:"bulkWrite() cannot be called with an empty array",QU1:"RxQuery._execOverDatabase(): op not known",QU4:"RxQuery.regex(): You cannot use .regex() on the primary field",QU5:"RxQuery.sort(): does not work because key is not defined in the schema",QU6:"RxQuery.limit(): cannot be called on .findOne()",QU9:"throwIfMissing can only be used in findOne queries",QU10:"result empty and throwIfMissing: true",QU11:"RxQuery: no valid query params given",QU12:"Given index is not in schema",QU13:"A top level field of the query is not included in the schema",QU14:"Running a count() query in slow mode is now allowed. Either run a count() query with a selector that fully matches an index or set allowSlowCount=true when calling the createRxDatabase",QU15:"For count queries it is not allowed to use skip or limit",QU16:"$regex queries must be defined by a string, not an RegExp instance. This is because RegExp objects cannot be JSON stringified and also they are mutable which would be dangerous",MQ1:"path must be a string or object",MQ2:"Invalid argument",MQ3:"Invalid sort() argument. Must be a string, object, or array",MQ4:"Invalid argument. Expected instanceof mquery or plain object",MQ5:"method must be used after where() when called with these arguments",MQ6:"Can't mix sort syntaxes. Use either array or object | .sort([['field', 1], ['test', -1]]) | .sort({ field: 1, test: -1 })",MQ7:"Invalid sort value",MQ8:"Can't mix sort syntaxes. Use either array or object",DB1:"RxDocument.prepare(): another instance on this adapter has a different password",DB2:"RxDatabase.addCollections(): collection-names cannot start with underscore _",DB3:"RxDatabase.addCollections(): collection already exists. use myDatabase.[collectionName] to get it",DB4:"RxDatabase.addCollections(): schema is missing",DB5:"RxDatabase.addCollections(): collection-name not allowed",DB6:"RxDatabase.addCollections(): another instance created this collection with a different schema. Read this https://rxdb.info/questions-answers.html#cant-change-the-schema",DB8:`createRxDatabase(): A RxDatabase with the same name and adapter already exists. +Make sure to use this combination only once or set ignoreDuplicate to true if you do this intentional- +This often happens in react projects with hot reload that reloads the code without reloading the process.`,DB11:"createRxDatabase(): Invalid db-name, folder-paths must not have an ending slash",DB12:"RxDatabase.addCollections(): could not write to internal store",DB13:"createRxDatabase(): Invalid db-name or collection name, name contains the dollar sign",DB14:"no custom reactivity factory added on database creation",COL1:"RxDocument.insert() You cannot insert an existing document",COL2:"RxCollection.insert() fieldName ._id can only be used as primaryKey",COL3:"RxCollection.upsert() does not work without primary",COL4:"RxCollection.incrementalUpsert() does not work without primary",COL5:"RxCollection.find() if you want to search by _id, use .findOne(_id)",COL6:"RxCollection.findOne() needs a queryObject or string",COL7:"hook must be a function",COL8:"hooks-when not known",COL9:"RxCollection.addHook() hook-name not known",COL10:"RxCollection .postCreate-hooks cannot be async",COL11:"migrationStrategies must be an object",COL12:"A migrationStrategy is missing or too much",COL13:"migrationStrategy must be a function",COL14:"given static method-name is not a string",COL15:"static method-names cannot start with underscore _",COL16:"given static method is not a function",COL17:"RxCollection.ORM: statics-name not allowed",COL18:"collection-method not allowed because fieldname is in the schema",COL20:"Storage write error",CONFLICT:"Document update conflict. When changing a document you must work on the previous revision",DOC1:"RxDocument.get$ cannot get observable of in-array fields because order cannot be guessed",DOC2:"cannot observe primary path",DOC3:"final fields cannot be observed",DOC4:"RxDocument.get$ cannot observe a non-existed field",DOC5:"RxDocument.populate() cannot populate a non-existed field",DOC6:"RxDocument.populate() cannot populate because path has no ref",DOC7:"RxDocument.populate() ref-collection not in database",DOC8:"RxDocument.set(): primary-key cannot be modified",DOC9:"final fields cannot be modified",DOC10:"RxDocument.set(): cannot set childpath when rootPath not selected",DOC11:"RxDocument.save(): can't save deleted document",DOC13:"RxDocument.remove(): Document is already deleted",DOC14:"RxDocument.destroy() does not exist",DOC15:"query cannot be an array",DOC16:"Since version 8.0.0 RxDocument.set() can only be called on temporary RxDocuments",DOC17:"Since version 8.0.0 RxDocument.save() can only be called on non-temporary documents",DOC18:"Document property for composed primary key is missing",DOC19:"Value of primary key(s) cannot be changed",DOC20:"PrimaryKey missing",DOC21:"PrimaryKey must be equal to PrimaryKey.trim(). It cannot start or end with a whitespace",DOC22:"PrimaryKey must not contain a linebreak",DOC23:'PrimaryKey must not contain a double-quote ["]',DOC24:"Given document data could not be structured cloned. This happens if you pass non-plain-json data into it, like a Date() or a Function. In vue.js this happens if you use ref() on the document data which transforms it into a Proxy object.",DM1:"migrate() Migration has already run",DM2:"migration of document failed final document does not match final schema",DM3:"migration already running",DM4:"Migration errored",DM5:"Cannot open database state with newer RxDB version. You have to migrate your database state first. See see https://rxdb.info/migration-storage.html",AT1:"to use attachments, please define this in your schema",EN1:"password is not valid",EN2:"validatePassword: min-length of password not complied",EN3:"Schema contains encrypted properties but no password is given",EN4:"Password not valid",JD1:"You must create the collections before you can import their data",JD2:"RxCollection.importJSON(): the imported json relies on a different schema",JD3:"RxCollection.importJSON(): json.passwordHash does not match the own",LD1:"RxDocument.allAttachments$ can't use attachments on local documents",LD2:"RxDocument.get(): objPath must be a string",LD3:"RxDocument.get$ cannot get observable of in-array fields because order cannot be guessed",LD4:"cannot observe primary path",LD5:"RxDocument.set() id cannot be modified",LD6:"LocalDocument: Function is not usable on local documents",LD7:"Local document already exists",LD8:"localDocuments not activated. Set localDocuments=true on creation, when you want to store local documents on the RxDatabase or RxCollection.",RC1:"Replication: already added",RC2:"replicateCouchDB() query must be from the same RxCollection",RC4:"RxCouchDBReplicationState.awaitInitialReplication() cannot await initial replication when live: true",RC5:"RxCouchDBReplicationState.awaitInitialReplication() cannot await initial replication if multiInstance because the replication might run on another instance",RC6:"syncFirestore() serverTimestampField MUST NOT be part of the collections schema and MUST NOT be nested.",RC7:"SimplePeer requires to have process.nextTick() polyfilled, see https://rxdb.info/replication-webrtc.html",RC_PULL:"RxReplication pull handler threw an error - see .errors for more details",RC_STREAM:"RxReplication pull stream$ threw an error - see .errors for more details",RC_PUSH:"RxReplication push handler threw an error - see .errors for more details",RC_PUSH_NO_AR:"RxReplication push handler did not return an array with the conflicts",RC_WEBRTC_PEER:"RxReplication WebRTC Peer has error",RC_COUCHDB_1:"replicateCouchDB() url must end with a slash like 'https://example.com/mydatabase/'",RC_COUCHDB_2:"replicateCouchDB() did not get valid result with rows.",RC_OUTDATED:"Outdated client, update required. Replication was canceled",RC_UNAUTHORIZED:"Unauthorized client, update the replicationState.headers to set correct auth data",RC_FORBIDDEN:"Client behaves wrong so the replication was canceled. Mostly happens if the client tries to write data that it is not allowed to",SC1:"fieldnames do not match the regex",SC2:"SchemaCheck: name 'item' reserved for array-fields",SC3:"SchemaCheck: fieldname has a ref-array but items-type is not string",SC4:"SchemaCheck: fieldname has a ref but is not type string, [string,null] or array",SC6:"SchemaCheck: primary can only be defined at top-level",SC7:"SchemaCheck: default-values can only be defined at top-level",SC8:"SchemaCheck: first level-fields cannot start with underscore _",SC10:"SchemaCheck: schema defines ._rev, this will be done automatically",SC11:"SchemaCheck: schema needs a number >=0 as version",SC13:"SchemaCheck: primary is always index, do not declare it as index",SC14:"SchemaCheck: primary is always unique, do not declare it as index",SC15:"SchemaCheck: primary cannot be encrypted",SC16:"SchemaCheck: primary must have type: string",SC17:"SchemaCheck: top-level fieldname is not allowed",SC18:"SchemaCheck: indexes must be an array",SC19:"SchemaCheck: indexes must contain strings or arrays of strings",SC20:"SchemaCheck: indexes.array must contain strings",SC21:"SchemaCheck: given index is not defined in schema",SC22:"SchemaCheck: given indexKey is not type:string",SC23:"SchemaCheck: fieldname is not allowed",SC24:"SchemaCheck: required fields must be set via array. See https://spacetelescope.github.io/understanding-json-schema/reference/object.html#required",SC25:"SchemaCheck: compoundIndexes needs to be specified in the indexes field",SC26:"SchemaCheck: indexes needs to be specified at collection schema level",SC27:"SchemaCheck: encrypted fields need to be specified at collection schema level",SC28:"SchemaCheck: encrypted fields is not defined in the schema",SC29:"SchemaCheck: missing object key 'properties'",SC30:"SchemaCheck: primaryKey is required",SC32:"SchemaCheck: primary field must have the type string/number/integer",SC33:"SchemaCheck: used primary key is not a property in the schema",SC34:"Fields of type string that are used in an index, must have set the maxLength attribute in the schema",SC35:"Fields of type number/integer that are used in an index, must have set the multipleOf attribute in the schema",SC36:"A field of this type cannot be used as index",SC37:"Fields of type number that are used in an index, must have set the minimum and maximum attribute in the schema",SC38:"Fields of type boolean that are used in an index, must be required in the schema",SC39:"The primary key must have the maxLength attribute set",SC40:"$ref fields in the schema are not allowed. RxDB cannot resolve related schemas because it would have a negative performance impact.It would have to run http requests on runtime. $ref fields should be resolved during build time.",VD1:"Sub-schema not found, does the schemaPath exists in your schema?",VD2:"object does not match schema",S1:"You cannot create collections after calling RxDatabase.server()",GQL1:"GraphQL replication: cannot find sub schema by key",GQL3:"GraphQL replication: pull returns more documents then batchSize",CRDT1:"CRDT operations cannot be used because the crdt options are not set in the schema.",CRDT2:"RxDocument.incrementalModify() cannot be used when CRDTs are activated.",CRDT3:"To use CRDTs you MUST NOT set a conflictHandler because the default CRDT conflict handler must be used",SNH:"This should never happen"},C;function K(){if(!C){var e=new M,t=Object.getOwnPropertyNames(e),r=Object.getOwnPropertyNames(Object.getPrototypeOf(e));C=[...t,...r]}return C}var b;function z(){if(!b){var e=new _("pseudoInstance","memory"),t=Object.getOwnPropertyNames(e),r=Object.getOwnPropertyNames(Object.getPrototypeOf(e));b=[...t,...r],e.destroy()}return b}var G=A(Q),V=new G,w;function E(){if(!w){var e=["deleted","synced"],t=Object.getOwnPropertyNames(V),r=Object.getOwnPropertyNames(Q);w=[...t,...r,...e]}return w}function J(e){if(e!=="_deleted"){if(["properties"].includes(e))throw a("SC23",{fieldName:e});var t="^[a-zA-Z](?:[[a-zA-Z0-9_]*]?[a-zA-Z0-9])?$",r=new RegExp(t);if(e!=="_id"&&!e.match(r))throw a("SC1",{regex:t,fieldName:e})}}function Y(e){var t=P(e.primaryKey);function r(n,i,c){if(typeof n=="string"&&typeof i=="object"&&!Array.isArray(i)&&c.split(".").pop()!=="patternProperties"&&J(n),Object.prototype.hasOwnProperty.call(i,"item")&&i.type!=="array")throw a("SC2",{fieldName:n});if(Object.prototype.hasOwnProperty.call(i,"required")&&typeof i.required=="boolean")throw a("SC24",{fieldName:n});if(Object.prototype.hasOwnProperty.call(i,"$ref"))throw a("SC40",{fieldName:n});if(Object.prototype.hasOwnProperty.call(i,"ref"))if(Array.isArray(i.type)){if(i.type.length>2||!i.type.includes("string")||!i.type.includes("null"))throw a("SC4",{fieldName:n})}else switch(i.type){case"string":break;case"array":if(!i.items||!i.items.type||i.items.type!=="string")throw a("SC3",{fieldName:n});break;default:throw a("SC4",{fieldName:n})}var s=c.split(".").length>=2;if(s&&i.default)throw a("SC7",{path:c});if(!s){if(n==="_id"&&t!=="_id")throw a("COL2",{fieldName:n});if(n.charAt(0)==="_"){if(n==="_id"||n==="_deleted")return;throw a("SC8",{fieldName:n})}}}function o(n,i){!n||typeof n!="object"||Object.keys(n).forEach(c=>{var s=n[c];!n.properties&&s&&typeof s=="object"&&!Array.isArray(n)&&r(c,s,i);var l=i;c!=="properties"&&(l=l+"."+c),o(s,l)})}return o(e,""),!0}function Z(e){if(!e.primaryKey)throw a("SC30",{schema:e});function t(l){if(!l)throw a("SC33",{schema:e});var d=l.type;if(!d||!["string","number","integer"].includes(d))throw a("SC32",{schema:e,args:{schemaPart:l}})}if(typeof e.primaryKey=="string"){var r=e.primaryKey,o=e.properties[r];t(o)}else{var n=e.primaryKey,i=p(e,n.key);t(i),n.fields.forEach(l=>{var d=p(e,l);t(d)})}var c=P(e.primaryKey),s=e.properties[c];if(!s.maxLength)throw a("SC39",{schema:e,args:{primaryPathSchemaPart:s}})}function k(e){for(var t=e.split("."),r="",o=0;o{var r=e.properties[t];if(t===e.primaryKey){if(e.indexes&&e.indexes.includes(t))throw a("SC13",{value:r,schema:e});if(r.unique)throw a("SC14",{value:r,schema:e});if(e.encrypted&&e.encrypted.includes(t))throw a("SC15",{value:r,schema:e});if(r.type!=="string")throw a("SC16",{value:r,schema:e})}if(E().includes(t))throw a("SC17",{key:t,schema:e})}),e.indexes){if(!y(e.indexes))throw a("SC18",{indexes:e.indexes,schema:e});e.indexes.forEach(t=>{if(!(typeof t=="string"||Array.isArray(t)))throw a("SC19",{index:t,schema:e});if(Array.isArray(t)){for(var r=0;r{var i=p(e,n),c=i.type;switch(c){case"string":var s=i.maxLength;if(!s)throw a("SC34",{index:t,field:n,schema:e});break;case"number":case"integer":var l=i.multipleOf;if(!l)throw a("SC35",{index:t,field:n,schema:e});var d=i.maximum,B=i.minimum;if(typeof d>"u"||typeof B>"u")throw a("SC37",{index:t,field:n,schema:e});break;case"boolean":var f="",D=n;if(n.includes(".")){var g=n.split(".");D=g.pop(),f=g.join(".")}var R=f===""?e:p(e,f);if(!R.required||!R.required.includes(D))throw a("SC38",{index:t,field:n,schema:e});break;default:throw a("SC36",{fieldName:n,type:i.type,schema:e})}})})}Object.keys(O(e)).map(t=>{var r=t.split(".");return r.pop(),r.join(".")}).filter(t=>t!=="").filter((t,r,o)=>o.indexOf(t)===r).filter(t=>{var r=h(e,t);return r&&!!r.index}).forEach(t=>{throw t=t.replace("properties.",""),t=t.replace(/\.properties\./g,"."),a("SC26",{index:x(t),schema:e})}),(e.indexes||[]).reduce((t,r)=>(y(r)?F(t,r):t.push(r),t),[]).filter((t,r,o)=>o.indexOf(t)===r).map(t=>{var r=k(t),o=h(e,r);if(!o||typeof o!="object")throw a("SC21",{index:t,schema:e});return{indexPath:t,schemaObj:o}}).filter(t=>t.schemaObj.type!=="string"&&t.schemaObj.type!=="integer"&&t.schemaObj.type!=="number"&&t.schemaObj.type!=="boolean").forEach(t=>{throw a("SC22",{key:t.indexPath,type:t.schemaObj.type,schema:e})}),Object.keys(O(e)).map(t=>{var r=t.split(".");return r.pop(),r.join(".")}).filter(t=>t!==""&&t!=="attachments").filter((t,r,o)=>o.indexOf(t)===r).filter(t=>{var r=h(e,t);return r&&!!r.encrypted}).forEach(t=>{throw t=t.replace("properties.",""),t=t.replace(/\.properties\./g,"."),a("SC27",{index:x(t),schema:e})}),e.encrypted&&e.encrypted.forEach(t=>{var r=k(t),o=h(e,r);if(!o||typeof o!="object")throw a("SC28",{field:t,schema:e})})}function v(e){e&&Object.entries(e).forEach(([t,r])=>{if(typeof t!="string")throw u("COL14",{name:t});if(t.startsWith("_"))throw u("COL15",{name:t});if(typeof r!="function")throw u("COL16",{name:t,type:typeof t});if(K().includes(t)||E().includes(t))throw a("COL17",{name:t})})}function X(e,t){var r=Object.keys(e.properties);t&&Object.keys(t).filter(o=>r.includes(o)).forEach(o=>{throw a("COL18",{funName:o})})}function j(e,t){if(typeof t!="object"||Array.isArray(t))throw u("COL11",{schema:e});var r=I(e);if(r.length!==Object.keys(t).length)throw a("COL12",{have:Object.keys(t),should:r});return r.map(o=>({v:o,s:t[o+1]})).filter(o=>typeof o.s!="function").forEach(o=>{throw u("COL13",{version:o.v,type:typeof o,schema:e})}),!0}function ee(e){if(z().includes(e.name))throw a("DB5",{name:e.name});U(e.name)}function te(e){if(U(e.name),e.name.includes("$"))throw a("DB13",{name:e.name});if(L(e.name)&&(e.name.endsWith("/")||e.name.endsWith("\\")))throw a("DB11",{name:e.name})}var q="^[a-z][_$a-z0-9\\-]*$",re=new RegExp(q);function U(e){if(typeof e!="string"||e.length===0)throw u("UT1",{name:e});if(L(e))return!0;if(!e.match(re)&&e!==":memory:")throw a("UT2",{regex:q,givenName:e});return!0}function ae(e){var t=Object.prototype.toString.call(e.queryObj)==="[object Object]";if(!t)throw u("QU11",{op:e.op,collection:e.collection.name,queryObj:e.queryObj});var r=["selector","limit","skip","sort","index"];if(Object.keys(e.queryObj).forEach(o=>{if(!r.includes(o))throw u("QU11",{op:e.op,collection:e.collection.name,queryObj:e.queryObj,key:o,args:{validKeys:r}})}),e.op==="count"&&(e.queryObj.limit||e.queryObj.skip))throw a("QU15",{collection:e.collection.name,query:e.queryObj});m(e.queryObj)}function oe(e){var t=e.rxQuery.collection.schema.jsonSchema,r=e.mangoQuery.selector,o=Object.keys(t.properties);Object.keys(r).filter(s=>!s.startsWith("$")).filter(s=>!s.includes(".")).forEach(s=>{if(!o.includes(s))throw a("QU13",{schema:t,field:s,query:e.mangoQuery})});var n=t.indexes?t.indexes:[],i=e.mangoQuery.index;if(i){var c=n.find(s=>$(s,i));if(!c)throw a("QU12",{collection:e.rxQuery.collection.name,query:e.mangoQuery,schema:t})}if(e.rxQuery.op==="count"&&!ne(e.rxQuery.collection.schema.jsonSchema,e.mangoQuery)&&!e.rxQuery.collection.database.allowSlowCount)throw a("QU14",{collection:e.rxQuery.collection,query:e.mangoQuery});e.mangoQuery.sort&&e.mangoQuery.sort.map(s=>Object.keys(s)[0]).filter(s=>!s.includes(".")).forEach(s=>{if(!o.includes(s))throw a("QU13",{schema:t,field:s,query:e.mangoQuery})}),m(e.mangoQuery)}function ne(e,t){var r=W(e,t);return r.queryPlan.selectorSatisfiedByIndex}function m(e){if(!(typeof e!="object"||e===null)){var t=Object.keys(e);t.forEach(r=>{var o=e[r];if(o instanceof RegExp)throw a("QU16",{field:r,query:e});Array.isArray(o)?o.forEach(n=>m(n)):m(o)})}}function ie(e,t){if(!e)throw a("DOC20",{primaryKey:e,document:t});if(e!==e.trim())throw a("DOC21",{primaryKey:e,document:t});if(e.includes("\r")||e.includes(` +`))throw a("DOC22",{primaryKey:e,document:t});if(e.includes('"'))throw a("DOC23",{primaryKey:e,document:t})}var T=!0;function ue(){T=!1}function se(e){return!e||typeof e=="string"||typeof e=="number"?e:H(e)}var ce="dev-mode",de={name:ce,rxdb:!0,init:()=>{T&&console.warn(["-------------- RxDB dev-mode warning -------------------------------","you are seeing this because you use the RxDB dev-mode plugin https://rxdb.info/dev-mode.html ","This is great in development mode, because it will run many checks to ensure","that you use RxDB correct. If you see this in production mode,","you did something wrong because the dev-mode plugin will decrease the performance.","","🤗 Hint: To get the most out of RxDB, check out the Premium Plugins","to get access to faster storages and more professional features: https://rxdb.info/premium","","You can disable this warning by calling disableWarnings() from the dev-mode plugin.","---------------------------------------------------------------------"].join(` +`))},overwritable:{isDevMode(){return!0},deepFreezeWhenDevMode:se,tunnelErrorMessage(e){if(!S[e])throw console.error("RxDB: Error-Code not known: "+e),new Error("Error-Code "+e+" not known, contact the maintainer");return S[e]}},hooks:{preCreateRxSchema:{after:N},preCreateRxDatabase:{after:function(e){te(e)}},preCreateRxCollection:{after:function(e){if(ee(e),X(e.schema,e.methods),e.name.charAt(0)==="_")throw a("DB2",{name:e.name});if(!e.schema)throw a("DB4",{name:e.name,args:e})}},createRxDocument:{before:function(e){ie(e.primary,e.toJSON(!0))}},preCreateRxQuery:{after:function(e){ae(e)}},prePrepareQuery:{after:e=>{oe(e)}},createRxCollection:{after:e=>{v(e.creator.statics),v(e.creator.methods),v(e.creator.attachments),e.creator.schema&&e.creator.migrationStrategies&&j(e.creator.schema,e.creator.migrationStrategies)}}}};export{ce as DEV_MODE_PLUGIN_NAME,de as RxDBDevModePlugin,ne as areSelectorsSatisfiedByIndex,J as checkFieldNameRegex,oe as checkMangoQuery,Z as checkPrimaryKey,ae as checkQuery,N as checkSchema,se as deepFreezeWhenDevMode,ue as disableWarnings,ee as ensureCollectionNameValid,te as ensureDatabaseNameIsValid,m as ensureObjectDoesNotContainRegExp,U as validateDatabaseName,Y as validateFieldsDeep}; diff --git a/packages/streamlit-rxdb-dataframe/frontend/build/index.js b/packages/streamlit-rxdb-dataframe/frontend/build/index.js new file mode 100644 index 0000000..58efd9d --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/build/index.js @@ -0,0 +1,97 @@ +var Xx=Object.defineProperty;var Zx=(t,e,n)=>e in t?Xx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Uc=(t,e,n)=>(Zx(t,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();var yw=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rh(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var B1={exports:{}},ih={},F1={exports:{}},Me={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var zl=Symbol.for("react.element"),eC=Symbol.for("react.portal"),tC=Symbol.for("react.fragment"),nC=Symbol.for("react.strict_mode"),rC=Symbol.for("react.profiler"),iC=Symbol.for("react.provider"),sC=Symbol.for("react.context"),oC=Symbol.for("react.forward_ref"),aC=Symbol.for("react.suspense"),uC=Symbol.for("react.memo"),lC=Symbol.for("react.lazy"),vw=Symbol.iterator;function cC(t){return t===null||typeof t!="object"?null:(t=vw&&t[vw]||t["@@iterator"],typeof t=="function"?t:null)}var L1={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$1=Object.assign,j1={};function nu(t,e,n){this.props=t,this.context=e,this.refs=j1,this.updater=n||L1}nu.prototype.isReactComponent={};nu.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};nu.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function U1(){}U1.prototype=nu.prototype;function wv(t,e,n){this.props=t,this.context=e,this.refs=j1,this.updater=n||L1}var _v=wv.prototype=new U1;_v.constructor=wv;$1(_v,nu.prototype);_v.isPureReactComponent=!0;var gw=Array.isArray,z1=Object.prototype.hasOwnProperty,bv={current:null},V1={key:!0,ref:!0,__self:!0,__source:!0};function K1(t,e,n){var r,i={},s=null,o=null;if(e!=null)for(r in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)z1.call(e,r)&&!V1.hasOwnProperty(r)&&(i[r]=e[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,xt=G[Re];if(0>>1;Rei(Un,ue))tni(Ji,Un)?(G[Re]=Ji,G[tn]=ue,Re=tn):(G[Re]=Un,G[Ct]=ue,Re=Ct);else if(tni(Ji,ue))G[Re]=Ji,G[tn]=ue,Re=tn;else break e}}return oe}function i(G,oe){var ue=G.sortIndex-oe.sortIndex;return ue!==0?ue:G.id-oe.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],f=[],h=1,p=null,y=3,w=!1,I=!1,O=!1,$=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,b=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function E(G){for(var oe=n(f);oe!==null;){if(oe.callback===null)r(f);else if(oe.startTime<=G)r(f),oe.sortIndex=oe.expirationTime,e(l,oe);else break;oe=n(f)}}function z(G){if(O=!1,E(G),!I)if(n(l)!==null)I=!0,Te(W);else{var oe=n(f);oe!==null&&Dt(z,oe.startTime-G)}}function W(G,oe){I=!1,O&&(O=!1,_(X),X=-1),w=!0;var ue=y;try{for(E(oe),p=n(l);p!==null&&(!(p.expirationTime>oe)||G&&!ce());){var Re=p.callback;if(typeof Re=="function"){p.callback=null,y=p.priorityLevel;var xt=Re(p.expirationTime<=oe);oe=t.unstable_now(),typeof xt=="function"?p.callback=xt:p===n(l)&&r(l),E(oe)}else r(l);p=n(l)}if(p!==null)var ft=!0;else{var Ct=n(f);Ct!==null&&Dt(z,Ct.startTime-oe),ft=!1}return ft}finally{p=null,y=ue,w=!1}}var Q=!1,H=null,X=-1,U=5,ee=-1;function ce(){return!(t.unstable_now()-eeG||125Re?(G.sortIndex=ue,e(f,G),n(l)===null&&G===n(f)&&(O?(_(X),X=-1):O=!0,Dt(z,ue-Re))):(G.sortIndex=xt,e(l,G),I||w||(I=!0,Te(W))),G},t.unstable_shouldYield=ce,t.unstable_wrapCallback=function(G){var oe=y;return function(){var ue=y;y=oe;try{return G.apply(this,arguments)}finally{y=ue}}}})(Q1);H1.exports=Q1;var SC=H1.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Y1=as,Zn=SC;function Z(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Am=Object.prototype.hasOwnProperty,IC=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,_w={},bw={};function EC(t){return Am.call(bw,t)?!0:Am.call(_w,t)?!1:IC.test(t)?bw[t]=!0:(_w[t]=!0,!1)}function OC(t,e,n,r){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function kC(t,e,n,r){if(e===null||typeof e>"u"||OC(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function gn(t,e,n,r,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var en={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){en[t]=new gn(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];en[e]=new gn(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){en[t]=new gn(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){en[t]=new gn(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){en[t]=new gn(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){en[t]=new gn(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){en[t]=new gn(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){en[t]=new gn(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){en[t]=new gn(t,5,!1,t.toLowerCase(),null,!1,!1)});var Iv=/[\-:]([a-z])/g;function Ev(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Iv,Ev);en[e]=new gn(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Iv,Ev);en[e]=new gn(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Iv,Ev);en[e]=new gn(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){en[t]=new gn(t,1,!1,t.toLowerCase(),null,!1,!1)});en.xlinkHref=new gn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){en[t]=new gn(t,1,!1,t.toLowerCase(),null,!0,!0)});function Ov(t,e,n,r){var i=en.hasOwnProperty(e)?en[e]:null;(i!==null?i.type!==0:r||!(2a||i[o]!==s[a]){var l=` +`+i[o].replace(" at new "," at ");return t.displayName&&l.includes("")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=a);break}}}finally{xp=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?Lu(t):""}function DC(t){switch(t.tag){case 5:return Lu(t.type);case 16:return Lu("Lazy");case 13:return Lu("Suspense");case 19:return Lu("SuspenseList");case 0:case 2:case 15:return t=Cp(t.type,!1),t;case 11:return t=Cp(t.type.render,!1),t;case 1:return t=Cp(t.type,!0),t;default:return""}}function Mm(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case ca:return"Fragment";case la:return"Portal";case Pm:return"Profiler";case kv:return"StrictMode";case Rm:return"Suspense";case Tm:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case X1:return(t.displayName||"Context")+".Consumer";case J1:return(t._context.displayName||"Context")+".Provider";case Dv:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case xv:return e=t.displayName||null,e!==null?e:Mm(t.type)||"Memo";case us:e=t._payload,t=t._init;try{return Mm(t(e))}catch{}}return null}function xC(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Mm(e);case 8:return e===kv?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Ps(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function eS(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function CC(t){var e=eS(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,s=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Kc(t){t._valueTracker||(t._valueTracker=CC(t))}function tS(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=eS(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function Uf(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Nm(t,e){var n=e.checked;return Et({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Iw(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=Ps(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function nS(t,e){e=e.checked,e!=null&&Ov(t,"checked",e,!1)}function Bm(t,e){nS(t,e);var n=Ps(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Fm(t,e.type,n):e.hasOwnProperty("defaultValue")&&Fm(t,e.type,Ps(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function Ew(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Fm(t,e,n){(e!=="number"||Uf(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var $u=Array.isArray;function Sa(t,e,n,r){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=Wc.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function cl(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var Wu={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},AC=["Webkit","ms","Moz","O"];Object.keys(Wu).forEach(function(t){AC.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Wu[e]=Wu[t]})});function oS(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||Wu.hasOwnProperty(t)&&Wu[t]?(""+e).trim():e+"px"}function aS(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=oS(n,e[n],r);n==="float"&&(n="cssFloat"),r?t.setProperty(n,i):t[n]=i}}var PC=Et({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function jm(t,e){if(e){if(PC[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Z(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Z(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Z(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Z(62))}}function Um(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var zm=null;function Cv(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Vm=null,Ia=null,Ea=null;function Dw(t){if(t=Wl(t)){if(typeof Vm!="function")throw Error(Z(280));var e=t.stateNode;e&&(e=lh(e),Vm(t.stateNode,t.type,e))}}function uS(t){Ia?Ea?Ea.push(t):Ea=[t]:Ia=t}function lS(){if(Ia){var t=Ia,e=Ea;if(Ea=Ia=null,Dw(t),e)for(t=0;t>>=0,t===0?32:31-(zC(t)/VC|0)|0}var qc=64,Hc=4194304;function ju(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Wf(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,i=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var a=o&~i;a!==0?r=ju(a):(s&=o,s!==0&&(r=ju(s)))}else o=n&~i,o!==0?r=ju(o):s!==0&&(r=ju(s));if(r===0)return 0;if(e!==0&&e!==r&&!(e&i)&&(i=r&-r,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if(r&4&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0n;n++)e.push(t);return e}function Vl(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-Dr(e),t[e]=n}function HC(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=Hu),Bw=String.fromCharCode(32),Fw=!1;function CS(t,e){switch(t){case"keyup":return bA.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function AS(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var fa=!1;function IA(t,e){switch(t){case"compositionend":return AS(e);case"keypress":return e.which!==32?null:(Fw=!0,Bw);case"textInput":return t=e.data,t===Bw&&Fw?null:t;default:return null}}function EA(t,e){if(fa)return t==="compositionend"||!Fv&&CS(t,e)?(t=DS(),gf=Mv=ms=null,fa=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Uw(n)}}function MS(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?MS(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function NS(){for(var t=window,e=Uf();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=Uf(t.document)}return e}function Lv(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function TA(t){var e=NS(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&MS(n.ownerDocument.documentElement,n)){if(r!==null&&Lv(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,s=Math.min(r.start,i);r=r.end===void 0?s:Math.min(r.end,i),!t.extend&&s>r&&(i=r,r=s,s=i),i=zw(n,s);var o=zw(n,r);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,da=null,Ym=null,Yu=null,Gm=!1;function Vw(t,e,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Gm||da==null||da!==Uf(r)||(r=da,"selectionStart"in r&&Lv(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Yu&&yl(Yu,r)||(Yu=r,r=Qf(Ym,"onSelect"),0ma||(t.current=ny[ma],ny[ma]=null,ma--)}function ut(t,e){ma++,ny[ma]=t.current,t.current=e}var Rs={},ln=Us(Rs),Dn=Us(!1),Co=Rs;function Ma(t,e){var n=t.type.contextTypes;if(!n)return Rs;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function xn(t){return t=t.childContextTypes,t!=null}function Gf(){mt(Dn),mt(ln)}function Gw(t,e,n){if(ln.current!==Rs)throw Error(Z(168));ut(ln,e),ut(Dn,n)}function KS(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(Z(108,xC(t)||"Unknown",i));return Et({},n,r)}function Jf(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Rs,Co=ln.current,ut(ln,t),ut(Dn,Dn.current),!0}function Jw(t,e,n){var r=t.stateNode;if(!r)throw Error(Z(169));n?(t=KS(t,e,Co),r.__reactInternalMemoizedMergedChildContext=t,mt(Dn),mt(ln),ut(ln,t)):mt(Dn),ut(Dn,n)}var Ii=null,ch=!1,Vp=!1;function WS(t){Ii===null?Ii=[t]:Ii.push(t)}function WA(t){ch=!0,WS(t)}function zs(){if(!Vp&&Ii!==null){Vp=!0;var t=0,e=Ge;try{var n=Ii;for(Ge=1;t>=o,i-=o,Di=1<<32-Dr(e)+i|n<X?(U=H,H=null):U=H.sibling;var ee=y(_,H,E[X],z);if(ee===null){H===null&&(H=U);break}t&&H&&ee.alternate===null&&e(_,H),b=s(ee,b,X),Q===null?W=ee:Q.sibling=ee,Q=ee,H=U}if(X===E.length)return n(_,H),gt&&uo(_,X),W;if(H===null){for(;XX?(U=H,H=null):U=H.sibling;var ce=y(_,H,ee.value,z);if(ce===null){H===null&&(H=U);break}t&&H&&ce.alternate===null&&e(_,H),b=s(ce,b,X),Q===null?W=ce:Q.sibling=ce,Q=ce,H=U}if(ee.done)return n(_,H),gt&&uo(_,X),W;if(H===null){for(;!ee.done;X++,ee=E.next())ee=p(_,ee.value,z),ee!==null&&(b=s(ee,b,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return gt&&uo(_,X),W}for(H=r(_,H);!ee.done;X++,ee=E.next())ee=w(H,_,X,ee.value,z),ee!==null&&(t&&ee.alternate!==null&&H.delete(ee.key===null?X:ee.key),b=s(ee,b,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return t&&H.forEach(function(de){return e(_,de)}),gt&&uo(_,X),W}function $(_,b,E,z){if(typeof E=="object"&&E!==null&&E.type===ca&&E.key===null&&(E=E.props.children),typeof E=="object"&&E!==null){switch(E.$$typeof){case Vc:e:{for(var W=E.key,Q=b;Q!==null;){if(Q.key===W){if(W=E.type,W===ca){if(Q.tag===7){n(_,Q.sibling),b=i(Q,E.props.children),b.return=_,_=b;break e}}else if(Q.elementType===W||typeof W=="object"&&W!==null&&W.$$typeof===us&&i_(W)===Q.type){n(_,Q.sibling),b=i(Q,E.props),b.ref=Ru(_,Q,E),b.return=_,_=b;break e}n(_,Q);break}else e(_,Q);Q=Q.sibling}E.type===ca?(b=Io(E.props.children,_.mode,z,E.key),b.return=_,_=b):(z=kf(E.type,E.key,E.props,null,_.mode,z),z.ref=Ru(_,b,E),z.return=_,_=z)}return o(_);case la:e:{for(Q=E.key;b!==null;){if(b.key===Q)if(b.tag===4&&b.stateNode.containerInfo===E.containerInfo&&b.stateNode.implementation===E.implementation){n(_,b.sibling),b=i(b,E.children||[]),b.return=_,_=b;break e}else{n(_,b);break}else e(_,b);b=b.sibling}b=Jp(E,_.mode,z),b.return=_,_=b}return o(_);case us:return Q=E._init,$(_,b,Q(E._payload),z)}if($u(E))return I(_,b,E,z);if(Du(E))return O(_,b,E,z);ef(_,E)}return typeof E=="string"&&E!==""||typeof E=="number"?(E=""+E,b!==null&&b.tag===6?(n(_,b.sibling),b=i(b,E),b.return=_,_=b):(n(_,b),b=Gp(E,_.mode,z),b.return=_,_=b),o(_)):n(_,b)}return $}var Ba=ZS(!0),eI=ZS(!1),ql={},ui=Us(ql),_l=Us(ql),bl=Us(ql);function po(t){if(t===ql)throw Error(Z(174));return t}function Hv(t,e){switch(ut(bl,e),ut(_l,t),ut(ui,ql),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:$m(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=$m(e,t)}mt(ui),ut(ui,e)}function Fa(){mt(ui),mt(_l),mt(bl)}function tI(t){po(bl.current);var e=po(ui.current),n=$m(e,t.type);e!==n&&(ut(_l,t),ut(ui,n))}function Qv(t){_l.current===t&&(mt(ui),mt(_l))}var bt=Us(0);function rd(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Kp=[];function Yv(){for(var t=0;tn?n:4,t(!0);var r=Wp.transition;Wp.transition={};try{t(!1),e()}finally{Ge=n,Wp.transition=r}}function vI(){return gr().memoizedState}function YA(t,e,n){var r=Os(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},gI(t))wI(e,n);else if(n=YS(t,e,n,r),n!==null){var i=yn();xr(n,t,r,i),_I(n,e,r)}}function GA(t,e,n){var r=Os(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(gI(t))wI(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,n);if(i.hasEagerState=!0,i.eagerState=a,Pr(a,o)){var l=e.interleaved;l===null?(i.next=i,Wv(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}finally{}n=YS(t,e,i,r),n!==null&&(i=yn(),xr(n,t,r,i),_I(n,e,r))}}function gI(t){var e=t.alternate;return t===It||e!==null&&e===It}function wI(t,e){Gu=id=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function _I(t,e,n){if(n&4194240){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,Pv(t,n)}}var sd={readContext:vr,useCallback:sn,useContext:sn,useEffect:sn,useImperativeHandle:sn,useInsertionEffect:sn,useLayoutEffect:sn,useMemo:sn,useReducer:sn,useRef:sn,useState:sn,useDebugValue:sn,useDeferredValue:sn,useTransition:sn,useMutableSource:sn,useSyncExternalStore:sn,useId:sn,unstable_isNewReconciler:!1},JA={readContext:vr,useCallback:function(t,e){return qr().memoizedState=[t,e===void 0?null:e],t},useContext:vr,useEffect:o_,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,Sf(4194308,4,dI.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Sf(4194308,4,t,e)},useInsertionEffect:function(t,e){return Sf(4,2,t,e)},useMemo:function(t,e){var n=qr();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var r=qr();return e=n!==void 0?n(e):e,r.memoizedState=r.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},r.queue=t,t=t.dispatch=YA.bind(null,It,t),[r.memoizedState,t]},useRef:function(t){var e=qr();return t={current:t},e.memoizedState=t},useState:s_,useDebugValue:eg,useDeferredValue:function(t){return qr().memoizedState=t},useTransition:function(){var t=s_(!1),e=t[0];return t=QA.bind(null,t[1]),qr().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var r=It,i=qr();if(gt){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=e(),Qt===null)throw Error(Z(349));Po&30||iI(r,e,n)}i.memoizedState=n;var s={value:n,getSnapshot:e};return i.queue=s,o_(oI.bind(null,r,s,t),[t]),r.flags|=2048,El(9,sI.bind(null,r,s,n,e),void 0,null),n},useId:function(){var t=qr(),e=Qt.identifierPrefix;if(gt){var n=xi,r=Di;n=(r&~(1<<32-Dr(r)-1)).toString(32)+n,e=":"+e+"R"+n,n=Sl++,0<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[Gr]=e,t[wl]=r,CI(t,e,!1,!1),e.stateNode=t;e:{switch(o=Um(n,r),n){case"dialog":ht("cancel",t),ht("close",t),i=r;break;case"iframe":case"object":case"embed":ht("load",t),i=r;break;case"video":case"audio":for(i=0;i$a&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304)}else{if(!r)if(t=rd(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),Tu(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!gt)return on(e),null}else 2*Tt()-s.renderingStartTime>$a&&n!==1073741824&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Tt(),e.sibling=null,n=bt.current,ut(bt,r?n&1|2:n&1),e):(on(e),null);case 22:case 23:return og(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&e.mode&1?Wn&1073741824&&(on(e),e.subtreeFlags&6&&(e.flags|=8192)):on(e),null;case 24:return null;case 25:return null}throw Error(Z(156,e.tag))}function sP(t,e){switch(jv(e),e.tag){case 1:return xn(e.type)&&Gf(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Fa(),mt(Dn),mt(ln),Yv(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return Qv(e),null;case 13:if(mt(bt),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(Z(340));Na()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return mt(bt),null;case 4:return Fa(),null;case 10:return Kv(e.type._context),null;case 22:case 23:return og(),null;case 24:return null;default:return null}}var nf=!1,an=!1,oP=typeof WeakSet=="function"?WeakSet:Set,ae=null;function wa(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){At(t,e,r)}else n.current=null}function py(t,e,n){try{n()}catch(r){At(t,e,r)}}var m_=!1;function aP(t,e){if(Jm=qf,t=NS(),Lv(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,f=0,h=0,p=t,y=null;t:for(;;){for(var w;p!==n||i!==0&&p.nodeType!==3||(a=o+i),p!==s||r!==0&&p.nodeType!==3||(l=o+r),p.nodeType===3&&(o+=p.nodeValue.length),(w=p.firstChild)!==null;)y=p,p=w;for(;;){if(p===t)break t;if(y===n&&++f===i&&(a=o),y===s&&++h===r&&(l=o),(w=p.nextSibling)!==null)break;p=y,y=p.parentNode}p=w}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Xm={focusedElem:t,selectionRange:n},qf=!1,ae=e;ae!==null;)if(e=ae,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,ae=t;else for(;ae!==null;){e=ae;try{var I=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(I!==null){var O=I.memoizedProps,$=I.memoizedState,_=e.stateNode,b=_.getSnapshotBeforeUpdate(e.elementType===e.type?O:Sr(e.type,O),$);_.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var E=e.stateNode.containerInfo;E.nodeType===1?E.textContent="":E.nodeType===9&&E.documentElement&&E.removeChild(E.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(z){At(e,e.return,z)}if(t=e.sibling,t!==null){t.return=e.return,ae=t;break}ae=e.return}return I=m_,m_=!1,I}function Ju(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&py(e,n,s)}i=i.next}while(i!==r)}}function hh(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function my(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function RI(t){var e=t.alternate;e!==null&&(t.alternate=null,RI(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Gr],delete e[wl],delete e[ty],delete e[VA],delete e[KA])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function TI(t){return t.tag===5||t.tag===3||t.tag===4}function y_(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||TI(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function yy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Yf));else if(r!==4&&(t=t.child,t!==null))for(yy(t,e,n),t=t.sibling;t!==null;)yy(t,e,n),t=t.sibling}function vy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(vy(t,e,n),t=t.sibling;t!==null;)vy(t,e,n),t=t.sibling}var Xt=null,Ir=!1;function ss(t,e,n){for(n=n.child;n!==null;)MI(t,e,n),n=n.sibling}function MI(t,e,n){if(ai&&typeof ai.onCommitFiberUnmount=="function")try{ai.onCommitFiberUnmount(sh,n)}catch{}switch(n.tag){case 5:an||wa(n,e);case 6:var r=Xt,i=Ir;Xt=null,ss(t,e,n),Xt=r,Ir=i,Xt!==null&&(Ir?(t=Xt,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):Xt.removeChild(n.stateNode));break;case 18:Xt!==null&&(Ir?(t=Xt,n=n.stateNode,t.nodeType===8?zp(t.parentNode,n):t.nodeType===1&&zp(t,n),pl(t)):zp(Xt,n.stateNode));break;case 4:r=Xt,i=Ir,Xt=n.stateNode.containerInfo,Ir=!0,ss(t,e,n),Xt=r,Ir=i;break;case 0:case 11:case 14:case 15:if(!an&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&py(n,e,o),i=i.next}while(i!==r)}ss(t,e,n);break;case 1:if(!an&&(wa(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){At(n,e,a)}ss(t,e,n);break;case 21:ss(t,e,n);break;case 22:n.mode&1?(an=(r=an)||n.memoizedState!==null,ss(t,e,n),an=r):ss(t,e,n);break;default:ss(t,e,n)}}function v_(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new oP),e.forEach(function(r){var i=yP.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function _r(t,e){var n=e.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~s}if(r=i,r=Tt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*lP(r/1960))-r,10t?16:t,ys===null)var r=!1;else{if(t=ys,ys=null,ud=0,Fe&6)throw Error(Z(331));var i=Fe;for(Fe|=4,ae=t.current;ae!==null;){var s=ae,o=s.child;if(ae.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lTt()-ig?So(t,0):rg|=n),Cn(t,e)}function zI(t,e){e===0&&(t.mode&1?(e=Hc,Hc<<=1,!(Hc&130023424)&&(Hc=4194304)):e=1);var n=yn();t=Li(t,e),t!==null&&(Vl(t,e,n),Cn(t,n))}function mP(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),zI(t,n)}function yP(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(e),zI(t,n)}var VI;VI=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||Dn.current)kn=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return kn=!1,rP(t,e,n);kn=!!(t.flags&131072)}else kn=!1,gt&&e.flags&1048576&&qS(e,Zf,e.index);switch(e.lanes=0,e.tag){case 2:var r=e.type;If(t,e),t=e.pendingProps;var i=Ma(e,ln.current);ka(e,n),i=Jv(null,e,r,t,i,n);var s=Xv();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,xn(r)?(s=!0,Jf(e)):s=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,qv(e),i.updater=fh,e.stateNode=i,i._reactInternals=e,ay(e,r,t,n),e=cy(null,e,r,!0,s,n)):(e.tag=0,gt&&s&&$v(e),dn(null,e,i,n),e=e.child),e;case 16:r=e.elementType;e:{switch(If(t,e),t=e.pendingProps,i=r._init,r=i(r._payload),e.type=r,i=e.tag=gP(r),t=Sr(r,t),i){case 0:e=ly(null,e,r,t,n);break e;case 1:e=d_(null,e,r,t,n);break e;case 11:e=c_(null,e,r,t,n);break e;case 14:e=f_(null,e,r,Sr(r.type,t),n);break e}throw Error(Z(306,r,""))}return e;case 0:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),ly(t,e,r,i,n);case 1:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),d_(t,e,r,i,n);case 3:e:{if(kI(e),t===null)throw Error(Z(387));r=e.pendingProps,s=e.memoizedState,i=s.element,GS(t,e),nd(e,r,null,n);var o=e.memoizedState;if(r=o.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){i=La(Error(Z(423)),e),e=h_(t,e,r,n,i);break e}else if(r!==i){i=La(Error(Z(424)),e),e=h_(t,e,r,n,i);break e}else for(Yn=Ss(e.stateNode.containerInfo.firstChild),Jn=e,gt=!0,Or=null,n=eI(e,null,r,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Na(),r===i){e=$i(t,e,n);break e}dn(t,e,r,n)}e=e.child}return e;case 5:return tI(e),t===null&&iy(e),r=e.type,i=e.pendingProps,s=t!==null?t.memoizedProps:null,o=i.children,Zm(r,i)?o=null:s!==null&&Zm(r,s)&&(e.flags|=32),OI(t,e),dn(t,e,o,n),e.child;case 6:return t===null&&iy(e),null;case 13:return DI(t,e,n);case 4:return Hv(e,e.stateNode.containerInfo),r=e.pendingProps,t===null?e.child=Ba(e,null,r,n):dn(t,e,r,n),e.child;case 11:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),c_(t,e,r,i,n);case 7:return dn(t,e,e.pendingProps,n),e.child;case 8:return dn(t,e,e.pendingProps.children,n),e.child;case 12:return dn(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(r=e.type._context,i=e.pendingProps,s=e.memoizedProps,o=i.value,ut(ed,r._currentValue),r._currentValue=o,s!==null)if(Pr(s.value,o)){if(s.children===i.children&&!Dn.current){e=$i(t,e,n);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(s.tag===1){l=Pi(-1,n&-n),l.tag=2;var f=s.updateQueue;if(f!==null){f=f.shared;var h=f.pending;h===null?l.next=l:(l.next=h.next,h.next=l),f.pending=l}}s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),sy(s.return,n,e),a.lanes|=n;break}l=l.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(Z(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),sy(o,n,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}dn(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,r=e.pendingProps.children,ka(e,n),i=vr(i),r=r(i),e.flags|=1,dn(t,e,r,n),e.child;case 14:return r=e.type,i=Sr(r,e.pendingProps),i=Sr(r.type,i),f_(t,e,r,i,n);case 15:return II(t,e,e.type,e.pendingProps,n);case 17:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),If(t,e),e.tag=1,xn(r)?(t=!0,Jf(e)):t=!1,ka(e,n),XS(e,r,i),ay(e,r,i,n),cy(null,e,r,!0,t,n);case 19:return xI(t,e,n);case 22:return EI(t,e,n)}throw Error(Z(156,e.tag))};function KI(t,e){return yS(t,e)}function vP(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function mr(t,e,n,r){return new vP(t,e,n,r)}function ug(t){return t=t.prototype,!(!t||!t.isReactComponent)}function gP(t){if(typeof t=="function")return ug(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Dv)return 11;if(t===xv)return 14}return 2}function ks(t,e){var n=t.alternate;return n===null?(n=mr(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function kf(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")ug(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case ca:return Io(n.children,i,s,e);case kv:o=8,i|=8;break;case Pm:return t=mr(12,n,e,i|2),t.elementType=Pm,t.lanes=s,t;case Rm:return t=mr(13,n,e,i),t.elementType=Rm,t.lanes=s,t;case Tm:return t=mr(19,n,e,i),t.elementType=Tm,t.lanes=s,t;case Z1:return mh(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case J1:o=10;break e;case X1:o=9;break e;case Dv:o=11;break e;case xv:o=14;break e;case us:o=16,r=null;break e}throw Error(Z(130,t==null?t:typeof t,""))}return e=mr(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Io(t,e,n,r){return t=mr(7,t,r,e),t.lanes=n,t}function mh(t,e,n,r){return t=mr(22,t,r,e),t.elementType=Z1,t.lanes=n,t.stateNode={isHidden:!1},t}function Gp(t,e,n){return t=mr(6,t,null,e),t.lanes=n,t}function Jp(t,e,n){return e=mr(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function wP(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pp(0),this.expirationTimes=Pp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pp(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function lg(t,e,n,r,i,s,o,a,l){return t=new wP(t,e,n,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=mr(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},qv(s),t}function _P(t,e,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(QI)}catch(t){console.error(t)}}QI(),q1.exports=nr;var OP=q1.exports,YI,O_=OP;YI=O_.createRoot,O_.hydrateRoot;var Sy=function(t,e){return Sy=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},Sy(t,e)};function pi(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Sy(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function tt(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}function re(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function ve(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(h){try{f(r.next(h))}catch(p){o(p)}}function l(h){try{f(r.throw(h))}catch(p){o(p)}}function f(h){h.done?s(h.value):i(h.value).then(a,l)}f((r=r.apply(t,e||[])).next())})}function GI(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(f){return function(h){return l([f,h])}}function l(f){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,f[0]&&(n=0)),n;)try{if(r=1,i&&(s=f[0]&2?i.return:f[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,f[1])).done)return s;switch(i=0,s&&(f=[f[0]&2,s.value]),f[0]){case 0:case 1:s=f;break;case 4:return n.label++,{value:f[1],done:!1};case 5:n.label++,i=f[1],f=[0];continue;case 7:f=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(f[0]===6||f[0]===2)){n=0;continue}if(f[0]===3&&(!s||f[1]>s[0]&&f[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Rr(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function ci(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r1||a(y,w)})})}function a(y,w){try{l(r[y](w))}catch(I){p(s[0][3],I)}}function l(y){y.value instanceof ge?Promise.resolve(y.value.v).then(f,h):p(s[0][2],y)}function f(y){a("next",y)}function h(y){a("throw",y)}function p(y,w){y(w),s.shift(),s.length&&a(s[0][0],s[0][1])}}function Df(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(o){return(n=!n)?{value:ge(t[i](o)),done:!1}:s?s(o):o}:s}}function Ds(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof ja=="function"?ja(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(f){s({value:f,done:a})},o)}}function kl(t){"@babel/helpers - typeof";return kl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kl(t)}function kP(t,e){if(kl(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e||"default");if(kl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function DP(t){var e=kP(t,"string");return kl(e)=="symbol"?e:String(e)}function k_(t,e){for(var n=0;nr[t]:r=>{for(var i=r,s=0;s"u")return i}return i}}function RP(t){var e={};for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n))if(typeof t[n]=="object"){var r=RP(t[n]);for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[n+"."+i]=r[i])}else e[n]=t[n];return e}function $e(t){return Object.assign({},t)}function TP(t){return Object.keys(t)[0]}function fd(t,e=!1){if(!t)return t;if(!e&&Array.isArray(t))return t.sort((r,i)=>typeof r=="string"&&typeof i=="string"?r.localeCompare(i):typeof r=="object"?1:-1).map(r=>fd(r,e));if(typeof t=="object"&&!Array.isArray(t)){var n={};return Object.keys(t).sort((r,i)=>r.localeCompare(i)).forEach(r=>{n[r]=fd(t[r],e)}),n}return t}function Iy(t){if(!t||t===null||typeof t!="object")return t;if(Array.isArray(t)){for(var e=new Array(t.length),n=e.length;n--;)e[n]=Iy(t[n]);return e}var r={};for(var i in t)r[i]=Iy(t[i]);return r}var Pn=Iy;function xs(t,e,n){return Object.defineProperty(t,e,{get:function(){return n}}),n}var pg=1;function Ks(){return{lwt:pg}}function Rn(){return""}function MP(t){return Object.assign({},t,{_meta:void 0,_deleted:void 0,_rev:void 0})}function NP(t,e,n){if(e.length!==n.length)return!1;for(var r=0,i=e.length;r>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=e.words[n>>>2];return this.sigBytes+=e.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new Cs([...this.words])}}const BP={stringify(t){const e=[];for(let n=0;n>>2]>>>24-n%4*8&255;e.push((r>>>4).toString(16),(r&15).toString(16))}return e.join("")}},FP={parse(t){const e=t.length,n=[];for(let r=0;r>>2]|=(t.charCodeAt(r)&255)<<24-r%4*8;return new Cs(n,e)}},LP={parse(t){return FP.parse(unescape(encodeURIComponent(t)))}};class $P{constructor(){this._data=new Cs,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new Cs,this._nDataBytes=0}_append(e){typeof e=="string"&&(e=LP.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_doProcessBlock(e,n){}_process(e){let n,r=this._data.sigBytes/(this.blockSize*4);e?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const i=r*this.blockSize,s=Math.min(i*4,this._data.sigBytes);if(i){for(let o=0;o>>7)^(E<<14|E>>>18)^E>>>3,W=so[y-2],Q=(W<<15|W>>>17)^(W<<13|W>>>19)^W>>>10;so[y]=z+so[y-7]+Q+so[y-16]}const w=l&f^~l&h,I=i&s^i&o^s&o,O=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),$=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),_=p+$+w+UP[y]+so[y],b=O+I;p=h,h=f,f=l,l=a+_|0,a=o,o=s,s=i,i=_+b|0}r[0]=r[0]+i|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+l|0,r[5]=r[5]+f|0,r[6]=r[6]+h|0,r[7]=r[7]+p|0}finalize(e){super.finalize(e);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function VP(t){return new zP().finalize(t).toString()}function KP(t){return Promise.resolve(VP(t))}async function WP(t){var e=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",e),r=Array.prototype.map.call(new Uint8Array(n),i=>("00"+i.toString(16)).slice(-2)).join("");return r}var qP=typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof crypto.subtle.digest=="function",HP=qP?WP:KP;function QP(){return new Promise(t=>setTimeout(t,0))}function YP(t=0){return new Promise(e=>setTimeout(e,t))}function ZI(t){return t&&typeof t.then=="function"?t:Promise.resolve(t)}var dd=Promise.resolve(!0),Gn=Promise.resolve(!1),mg=Promise.resolve(null),un=Promise.resolve();function yg(t=1e4){return typeof requestIdleCallback=="function"?new Promise(e=>{requestIdleCallback(()=>e(),{timeout:t})}):YP(0)}var Zp=un;function GP(t=void 0){return Zp=Zp.then(()=>yg(t)),Zp}function JP(t,e){return t.reduce((n,r)=>n.then(r),Promise.resolve(e))}var XP=/\./g,C_="abcdefghijklmnopqrstuvwxyz";function su(t=10){for(var e="",n=0;n{var e=typeof t;return t!==null&&(e==="object"||e==="function")},em=new Set(["__proto__","prototype","constructor"]),ZP=new Set("0123456789");function tE(t){var e=[],n="",r="start",i=!1;for(var s of t)switch(s){case"\\":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");i&&(n+=s),r="property",i=!i;break}case".":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="property";break}if(i){i=!1,n+=s;break}if(em.has(n))return[];e.push(n),n="",r="property";break}case"[":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="index";break}if(i){i=!1,n+=s;break}if(r==="property"){if(em.has(n))return[];e.push(n),n=""}r="index";break}case"]":{if(r==="index"){e.push(Number.parseInt(n,10)),n="",r="indexEnd";break}if(r==="indexEnd")throw new Error("Invalid character after an index")}default:{if(r==="index"&&!ZP.has(s))throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");r==="start"&&(r="property"),i&&(i=!1,n+="\\"),n+=s}}switch(i&&(n+="\\"),r){case"property":{if(em.has(n))return[];e.push(n);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}function nE(t,e){if(typeof e!="number"&&Array.isArray(t)){var n=Number.parseInt(e,10);return Number.isInteger(n)&&t[n]===t[e]}return!1}function eR(t,e){if(nE(t,e))throw new Error("Cannot use string index")}function Ts(t,e,n){if(Array.isArray(e)&&(e=e.join(".")),!e.includes(".")&&!e.includes("["))return t[e];if(!Ey(t)||typeof e!="string")return n===void 0?t:n;var r=tE(e);if(r.length===0)return n;for(var i=0;i"u")throw new Error("missing value from map "+e);return n}function Tr(t,e,n,r){var i=t.get(e);return typeof i>"u"?(i=n(),t.set(e,i)):r&&r(i),i}function pt(t){var e=t.split("-"),n="RxDB";return e.forEach(r=>{n+=eE(r)}),n+="Plugin",new Error(`You are using a function which must be overwritten by a plugin. + You should either prevent the usage of this function or add the plugin via: + import { `+n+" } from 'rxdb/plugins/"+t+`'; + addRxPlugin(`+n+`); + `)}function Oy(t){var e={name:t.name,message:t.message,rxdb:t.rxdb,parameters:t.parameters,code:t.code,stack:t.stack?t.stack.replace(/\n/g,` + `):void 0};return e}var tm=0;function Ft(){var t=Date.now();t=t+.01,t<=tm&&(t=tm+.01);var e=parseFloat(t.toFixed(2));return tm=e,e}function ye(t,e){if(!t)throw e||(e=""),new Error("ensureNotFalsy() is falsy: "+e);return t}var Ci={bufferSize:1,refCount:!0},vg="15.9.1";function Dl(t,e){return Dl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},Dl(t,e)}function gg(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Dl(t,e)}function ky(t){return ky=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ky(t)}function tR(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function iE(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(iE=function(){return!!t})()}function nR(t,e,n){if(iE())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&Dl(i,n.prototype),i}function hd(t){var e=typeof Map=="function"?new Map:void 0;return hd=function(r){if(r===null||!tR(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(r))return e.get(r);e.set(r,i)}function i(){return nR(r,arguments,ky(this).constructor)}return i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),Dl(i,r)},hd(t)}var it={isDevMode(){return!1},deepFreezeWhenDevMode(t){return t},tunnelErrorMessage(t){return"RxDB Error-Code "+t+`. + Error messages are not included in RxDB core to reduce build size. + - To find out what this error means, either use the dev-mode-plugin https://rxdb.info/dev-mode.html + - or search for the error code here: https://github.com/pubkey/rxdb/search?q=`+t+` + `}};function rR(t){var e="";return Object.keys(t).length===0||(e+=`Given parameters: { +`,e+=Object.keys(t).map(n=>{var r="[object Object]";try{n==="errors"?r=t[n].map(i=>JSON.stringify(i,Object.getOwnPropertyNames(i))):r=JSON.stringify(t[n],function(i,s){return s===void 0?null:s},2)}catch{}return n+":"+r}).join(` +`),e+="}"),e}function sE(t,e,n){return"RxError ("+e+`): +`+t+` +`+rR(n)}var iR=function(t){gg(e,t);function e(r,i,s={}){var o,a=sE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Vs(e,[{key:"name",get:function(){return"RxError ("+this.code+")"}},{key:"typeError",get:function(){return!1}}]),e}(hd(Error)),sR=function(t){gg(e,t);function e(r,i,s={}){var o,a=sE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Vs(e,[{key:"name",get:function(){return"RxTypeError ("+this.code+")"}},{key:"typeError",get:function(){return!0}}]),e}(hd(TypeError));function le(t,e){return new iR(t,it.tunnelErrorMessage(t),e)}function el(t,e){return new sR(t,it.tunnelErrorMessage(t),e)}function _h(t){return t&&t.status===409?t:!1}var oR={409:"document write conflict",422:"schema validation error",510:"attachment data missing"};function aR(t){return le("COL20",{name:oR[t.status],document:t.documentId,writeError:t})}var xl={preAddRxPlugin:[],preCreateRxDatabase:[],createRxDatabase:[],preCreateRxCollection:[],createRxCollection:[],postDestroyRxCollection:[],postRemoveRxCollection:[],preCreateRxSchema:[],createRxSchema:[],preCreateRxQuery:[],prePrepareQuery:[],createRxDocument:[],postCreateRxDocument:[],preCreateRxStorageInstance:[],preMigrateDocument:[],postMigrateDocument:[],preDestroyRxDatabase:[],postRemoveRxDatabase:[],preReplicationMasterWrite:[],preReplicationMasterWriteDocumentsHandle:[]};function Mr(t,e){xl[t]&&xl[t].forEach(n=>n(e))}function No(t,e){return Promise.all(xl[t].map(n=>n(e)))}function Ui(t,e){var n=e;n=n.replace(XP,".properties."),n="properties."+n,n=zu(n);var r=Ts(t,n);return r}function oE(t,e,n){if(typeof e.primaryKey=="string")return n;var r=Ws(e,n),i=n[t];if(i&&i!==r)throw le("DOC19",{args:{documentData:n,existingPrimary:i,newPrimary:r},schema:e});return n[t]=r,n}function Fn(t){return typeof t=="string"?t:t.key}function uR(t){var e=Fn(t.primaryKey),n=Ui(t,e);return ye(n.maxLength)}function Ws(t,e){if(typeof t.primaryKey=="string")return e[t.primaryKey];var n=t.primaryKey;return n.fields.map(r=>{var i=Ts(e,r);if(typeof i>"u")throw le("DOC18",{args:{field:r,documentData:e}});return i}).join(n.separator)}function lR(t){var e=fd(t,!0);return e}function cR(t){return["_deleted",t]}function bh(t){t=$e(t);var e=Fn(t.primaryKey);t.properties=$e(t.properties),t.additionalProperties=!1,Object.prototype.hasOwnProperty.call(t,"keyCompression")||(t.keyCompression=!1),t.indexes=t.indexes?t.indexes.slice(0):[],t.required=t.required?t.required.slice(0):[],t.encrypted=t.encrypted?t.encrypted.slice(0):[],t.properties._rev={type:"string",minLength:1},t.properties._attachments={type:"object"},t.properties._deleted={type:"boolean"},t.properties._meta=fR,t.required=t.required?t.required.slice(0):[],t.required.push("_deleted"),t.required.push("_rev"),t.required.push("_meta"),t.required.push("_attachments");var n=aE(t);za(t.required,n),t.required=t.required.filter(s=>!s.includes(".")).filter((s,o,a)=>a.indexOf(s)===o),t.version=t.version||0;var r=t.indexes.map(s=>{var o=hg(s)?s.slice(0):[s];return o.includes(e)||o.push(e),o[0]!=="_deleted"&&o.unshift("_deleted"),o});r.length===0&&r.push(cR(e)),r.push(["_meta.lwt",e]),t.internalIndexes&&t.internalIndexes.map(s=>{r.push(s)});var i=new Set;return r.filter(s=>{var o=s.join(",");return i.has(o)?!1:(i.add(o),!0)}),t.indexes=r,t}var fR={type:"object",properties:{lwt:{type:"number",minimum:pg,maximum:1e15,multipleOf:.01}},additionalProperties:!0,required:["lwt"]};function aE(t){var e=Object.keys(t.properties).filter(r=>t.properties[r].final),n=Fn(t.primaryKey);return e.push(n),typeof t.primaryKey!="string"&&t.primaryKey.fields.forEach(r=>e.push(r)),e}function dR(t,e){for(var n=Object.keys(t.defaultValues),r=0;r"u")&&(e[i]=t.defaultValues[i])}return e}var uE=function(){function t(n,r){this.jsonSchema=n,this.hashFunction=r,this.indexes=hR(this.jsonSchema),this.primaryPath=Fn(this.jsonSchema.primaryKey),this.finalFields=aE(this.jsonSchema)}var e=t.prototype;return e.validateChange=function(r,i){this.finalFields.forEach(s=>{if(!Ka(r[s],i[s]))throw le("DOC9",{dataBefore:r,dataAfter:i,fieldName:s,schema:this.jsonSchema})})},e.getDocumentPrototype=function(){var r={},i=Ui(this.jsonSchema,"");return Object.keys(i).forEach(s=>{var o=s;r.__defineGetter__(s,function(){if(!(!this.get||typeof this.get!="function")){var a=this.get(o);return a}}),Object.defineProperty(r,s+"$",{get:function(){return this.get$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"$$",{get:function(){return this.get$$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"_",{get:function(){return this.populate(o)},enumerable:!1,configurable:!1})}),xs(this,"getDocumentPrototype",()=>r),r},e.getPrimaryOfDocumentData=function(r){return Ws(this.jsonSchema,r)},Vs(t,[{key:"version",get:function(){return this.jsonSchema.version}},{key:"defaultValues",get:function(){var n={};return Object.entries(this.jsonSchema.properties).filter(([,r])=>Object.prototype.hasOwnProperty.call(r,"default")).forEach(([r,i])=>n[r]=i.default),xs(this,"defaultValues",n)}},{key:"hash",get:function(){return xs(this,"hash",this.hashFunction(JSON.stringify(this.jsonSchema)))}}]),t}();function hR(t){return(t.indexes||[]).map(e=>hg(e)?e:[e])}function pR(t){var e=t.version?t.version:0,n=0;return new Array(e).fill(0).map(()=>n++)}function mR(t,e,n=!0){n&&Mr("preCreateRxSchema",t);var r=bh(t);r=lR(r),it.deepFreezeWhenDevMode(r);var i=new uE(r,e);return Mr("createRxSchema",i),i}function qe(t){return typeof t=="function"}function yR(t){return qe(t==null?void 0:t.lift)}function Ln(t){return function(e){if(yR(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}var wg=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function lE(t){return qe(t==null?void 0:t.then)}function _g(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var nm=_g(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription: +`+n.map(function(r,i){return i+1+") "+r.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=n}});function pd(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var Hl=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,i,s;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=ja(o),l=a.next();!l.done;l=a.next()){var f=l.value;f.remove(this)}}catch(O){e={error:O}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}else o.remove(this);var h=this.initialTeardown;if(qe(h))try{h()}catch(O){s=O instanceof nm?O.errors:[O]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var y=ja(p),w=y.next();!w.done;w=y.next()){var I=w.value;try{A_(I)}catch(O){s=s??[],O instanceof nm?s=ci(ci([],Rr(s)),Rr(O.errors)):s.push(O)}}}catch(O){r={error:O}}finally{try{w&&!w.done&&(i=y.return)&&i.call(y)}finally{if(r)throw r.error}}}if(s)throw new nm(s)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)A_(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&pd(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&pd(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),cE=Hl.EMPTY;function fE(t){return t instanceof Hl||t&&"closed"in t&&qe(t.remove)&&qe(t.add)&&qe(t.unsubscribe)}function A_(t){qe(t)?t():t.unsubscribe()}var dE={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Dy={setTimeout:function(t,e){for(var n=[],r=2;r0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,i=this,s=i.hasError,o=i.isStopped,a=i.observers;return s||o?cE:(this.currentObservers=null,a.push(n),new Hl(function(){r.currentObservers=null,pd(a,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,i=r.hasError,s=r.thrownError,o=r.isStopped;i?n.error(s):o&&n.complete()},e.prototype.asObservable=function(){var n=new Ot;return n.source=this,n},e.create=function(n,r){return new N_(n,r)},e}(Ot),N_=function(t){pi(e,t);function e(n,r){var i=t.call(this)||this;return i.destination=n,i.source=r,i}return e.prototype.next=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,n)},e.prototype.error=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&i!==void 0?i:cE},e}(Kt);function B_(){for(var t=[],e=0;e0&&(h=new Wa({next:function(Q){return W.next(Q)},error:function(Q){O=!0,$(),p=sm(_,i,Q),W.error(Q)},complete:function(){I=!0,$(),p=sm(_,o),W.complete()}}),ir(E).subscribe(h))})(f)}}function sm(t,e){for(var n=[],r=2;r!!t.queryParams.limit,IT=t=>t.queryParams.limit===1,ET=t=>!!(t.queryParams.skip&&t.queryParams.skip>0),OT=t=>t.changeEvent.operation==="DELETE",kT=t=>t.changeEvent.operation==="INSERT",DT=t=>t.changeEvent.operation==="UPDATE",xT=t=>NE(t)&&t.previousResults.length>=t.queryParams.limit,CT=t=>{const e=t.queryParams.sortFields,n=t.changeEvent.previous,r=t.changeEvent.doc;if(!r)return!1;if(!n)return!0;for(let i=0;i{const e=t.changeEvent.id;if(t.keyDocumentMap)return t.keyDocumentMap.has(e);{const n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e=t.previousResults[0];return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},RT=t=>{const e=Dg(t.previousResults);return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},TT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},MT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=Dg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},NT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},BT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=Dg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},FT=t=>{const e=t.changeEvent.previous;return e?t.queryParams.queryMatcher(e):!1},LT=t=>{const e=t.changeEvent.doc;return e?t.queryParams.queryMatcher(e):!1},$T=t=>t.previousResults.length===0,jT={0:kT,1:DT,2:OT,3:NE,4:IT,5:ET,6:$T,7:xT,8:PT,9:RT,10:CT,11:AT,12:TT,13:MT,14:NT,15:BT,16:FT,17:LT};function BE(t,e,n,r){var i=t.length,s=i-1,o=0;if(i===0)return t.push(e),0;for(var a;r<=s;)o=r+(s-r>>1),a=t[o],n(a,e)<=0?r=o+1:s=o-1;return n(a,e)<=0&&o++,t.splice(o,0,e),o}const UT=t=>{},xg=t=>{t.previousResults.unshift(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Cg=t=>{t.previousResults.push(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Ag=t=>{const e=t.previousResults.shift();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},Pg=t=>{const e=t.previousResults.pop();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},zT=t=>{Ag(t),Cg(t)},VT=t=>{Pg(t),xg(t)},KT=t=>{Ag(t),xg(t)},WT=t=>{Pg(t),Cg(t)},FE=t=>{t.keyDocumentMap&&t.keyDocumentMap.delete(t.changeEvent.id);const e=t.queryParams.primaryKey,n=t.previousResults;for(let r=0;r{const e=t.changeEvent.doc,n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e={_id:"wrongHuman"+new Date().getTime()};t.previousResults.length=0,t.previousResults.push(e),t.keyDocumentMap&&(t.keyDocumentMap.clear(),t.keyDocumentMap.set(e._id,e))},LE=t=>{const e=t.changeEvent.id,n=t.changeEvent.doc;if(t.keyDocumentMap){if(t.keyDocumentMap.has(e))return;t.keyDocumentMap.set(e,n)}else if(t.previousResults.find(i=>i[t.queryParams.primaryKey]===e))return;BE(t.previousResults,n,t.queryParams.sortComparator,0)},QT=t=>{FE(t),LE(t)},YT=t=>{throw new Error("Action runFullQueryAgain must be implemented by yourself")},GT=t=>{throw new Error("Action unknownAction should never be called")},JT=["doNothing","insertFirst","insertLast","removeFirstItem","removeLastItem","removeFirstInsertLast","removeLastInsertFirst","removeFirstInsertFirst","removeLastInsertLast","removeExisting","replaceExisting","alwaysWrong","insertAtSortPosition","removeExistingAndInsertAtSortPosition","runFullQueryAgain","unknownAction"],XT={doNothing:UT,insertFirst:xg,insertLast:Cg,removeFirstItem:Ag,removeLastItem:Pg,removeFirstInsertLast:zT,removeLastInsertFirst:VT,removeFirstInsertFirst:KT,removeLastInsertLast:WT,removeExisting:FE,replaceExisting:qT,alwaysWrong:HT,insertAtSortPosition:LE,removeExistingAndInsertAtSortPosition:QT,runFullQueryAgain:YT,unknownAction:GT},ZT=40;function om(t){return t.charCodeAt(0)-ZT}function eM(t){return t?"1":"0"}function $_(t,e){const n=[];for(let r=0,i=t.length;rnM(iM(),jT,t);function oM(t){const e=sM(t);return JT[e]}function aM(t,e,n,r,i){const s=XT[t];return s({queryParams:e,changeEvent:n,previousResults:r,keyDocumentMap:i}),r}var Cr=String.fromCharCode(65535),li=Number.MIN_SAFE_INTEGER;function uM(t,e){var n=e.selector,r=t.indexes?t.indexes.slice(0):[];e.index&&(r=[e.index]);var i=!!e.sort.find(h=>Object.values(h)[0]==="desc"),s=new Set;Object.keys(n).forEach(h=>{var p=Ui(t,h);p&&p.type==="boolean"&&Object.prototype.hasOwnProperty.call(n[h],"$eq")&&s.add(h)});var o=e.sort.map(h=>Object.keys(h)[0]),a=o.filter(h=>!s.has(h)).join(","),l=-1,f;if(r.forEach(h=>{var p=!0,y=!0,w=h.map(b=>{var E=n[b],z=E?Object.keys(E):[],W={};if(!E||!z.length){var Q=y?li:Cr;W={startKey:Q,endKey:p?Cr:li,inclusiveStart:!0,inclusiveEnd:!0}}else z.forEach(H=>{if(Rg.has(H)){var X=E[H],U=dM(H,X);W=Object.assign(W,U)}});return typeof W.startKey>"u"&&(W.startKey=li),typeof W.endKey>"u"&&(W.endKey=Cr),typeof W.inclusiveStart>"u"&&(W.inclusiveStart=!0),typeof W.inclusiveEnd>"u"&&(W.inclusiveEnd=!0),y&&!W.inclusiveStart&&(y=!1),p&&!W.inclusiveEnd&&(p=!1),W}),I=w.map(b=>b.startKey),O=w.map(b=>b.endKey),$={index:h,startKeys:I,endKeys:O,inclusiveEnd:p,inclusiveStart:y,sortSatisfiedByIndex:!i&&a===h.filter(b=>!s.has(b)).join(","),selectorSatisfiedByIndex:fM(h,e.selector,I,O)},_=hM(t,e,$);(_>=l||e.index)&&(l=_,f=$)}),!f)throw le("SNH",{query:e});return f}var Rg=new Set(["$eq","$gt","$gte","$lt","$lte"]),lM=new Set(["$eq","$gt","$gte"]),cM=new Set(["$eq","$lt","$lte"]);function fM(t,e,n,r){var i=Object.entries(e),s=i.find(([H,X])=>{if(!t.includes(H))return!0;var U=Object.entries(X).find(([ee,ce])=>!Rg.has(ee));return U});if(s||e.$and||e.$or)return!1;var o=[],a=new Set;for(var[l,f]of Object.entries(e)){if(!t.includes(l))return!1;var h=Object.keys(f).filter(H=>lM.has(H));if(h.length>1)return!1;var p=h[0];if(p&&a.add(l),p!=="$eq"){if(o.length>0)return!1;o.push(p)}}var y=[],w=new Set;for(var[I,O]of Object.entries(e)){if(!t.includes(I))return!1;var $=Object.keys(O).filter(H=>cM.has(H));if($.length>1)return!1;var _=$[0];if(_&&w.add(I),_!=="$eq"){if(y.length>0)return!1;y.push(_)}}var b=0;for(var E of t){for(var z of[a,w]){if(!z.has(E)&&z.size>0)return!1;z.delete(E)}var W=n[b],Q=r[b];if(W!==Q&&a.size>0&&w.size>0)return!1;b++}return!0}function dM(t,e){switch(t){case"$eq":return{startKey:e,endKey:e,inclusiveEnd:!0,inclusiveStart:!0};case"$lte":return{endKey:e,inclusiveEnd:!0};case"$gte":return{startKey:e,inclusiveStart:!0};case"$lt":return{endKey:e,inclusiveEnd:!1};case"$gt":return{startKey:e,inclusiveStart:!1};default:throw new Error("SNH")}}function hM(t,e,n){var r=0,i=h=>{h>0&&(r=r+h)},s=10,o=Xp(n.startKeys,h=>h!==li&&h!==Cr);i(o*s);var a=Xp(n.startKeys,h=>h!==Cr&&h!==li);i(a*s);var l=Xp(n.startKeys,(h,p)=>h===n.endKeys[p]);i(l*s*1.5);var f=n.sortSatisfiedByIndex?5:0;return i(f),r}const pM=2147483647,mM=-2147483648,yM=Number.MAX_SAFE_INTEGER,vM=Number.MIN_SAFE_INTEGER,zi=Symbol("missing"),$E=Object.freeze(new Error("mingo: cycle detected while processing object/array")),gM=Object.getPrototypeOf([]),jE=Object.getPrototypeOf({}),wM="[object Object]",_M=/^\[object ([a-zA-Z0-9]+)\]$/;let Tg=class{};class Mg{}const Fo=t=>t===null?Tg:t===void 0?Mg:t.constructor,Yl=t=>{const e=DM(t);let n=0,r=e.length;for(;r;)n=(n<<5)-n^e.charCodeAt(--r);return n>>>0},UE=new Set(["null","undefined","boolean","number","string","date","regexp"]),j_=new Set([Mg,Tg,Boolean,String,Number]),Nu=t=>t.toString(),br=t=>`${Fo(t).name}[${t.toString()}]`,Lo=new Map([[Number,Nu],[Boolean,Nu],[RegExp,Nu],[Function,Nu],[Symbol,Nu],[Date,t=>t.toISOString()],[String,JSON.stringify],[Tg,t=>"null"],[Mg,t=>"undefined"],[Int8Array,br],[Uint8Array,br],[Uint8ClampedArray,br],[Int16Array,br],[Uint16Array,br],[Int32Array,br],[Uint32Array,br],[Float32Array,br],[Float64Array,br]]);typeof BigInt<"u"&&Lo.set(BigInt,t=>"0x"+t.toString(16));typeof BigInt64Array<"u"&&Lo.set(BigInt64Array,br);typeof BigUint64Array<"u"&&Lo.set(BigUint64Array,br);const bM={null:0,undefined:0,number:1,string:2,object:3,array:4,boolean:5,date:6,regexp:7,function:8},Mn=(t,e)=>{t===zi&&(t=void 0),e===zi&&(e=void 0);const[n,r]=[t,e].map(i=>bM[Al(i).toLowerCase()]);return n!==r?n-r:n===1||n===2||n===6?te?1:0:Ki(t,e)?0:te?1:0};function Yt(t,e){if(!t)throw new Error(e)}const SM=t=>{const e=Object.getPrototypeOf(Fo(t));return e&&e.name==="TypedArray"},Py=t=>{if(j_.has(Fo(t)))return t;const e=new Set,n=r=>{if(e.has(r))throw $E;const i=Fo(r);if(j_.has(i))return r;try{if(Lt(r))return e.add(r),r.map(n);if(wt(r)){e.add(r);const s={};for(const o in r)s[o]=n(r[o]);return s}}finally{e.delete(r)}return i===Date||i===RegExp||SM(r)?new i(r):r};return n(t)},Al=t=>_M.exec(Object.prototype.toString.call(t))[1],um=t=>typeof t=="boolean",Vi=t=>typeof t=="string",Hn=t=>!isNaN(t)&&typeof t=="number",Lt=Array.isArray,wt=t=>{if(!t)return!1;const e=Object.getPrototypeOf(t);return(e===jE||e===null)&&wM===Object.prototype.toString.call(t)},Sh=t=>t===Object(t),Ry=t=>t instanceof Date,Cf=t=>t instanceof RegExp,Ih=t=>typeof t=="function",cn=t=>t==null,qa=(t,e)=>t.includes(e),zE=(t,e)=>!qa(t,e),IM=(t,e=!0)=>!!t||e&&t==="",uu=t=>cn(t)||Vi(t)&&!t||t instanceof Array&&t.length===0||wt(t)&&Object.keys(t).length===0,U_=t=>t===zi,Gl=t=>t instanceof Array?t:[t],Xn=(t,e)=>!!t&&Object.prototype.hasOwnProperty.call(t,e),EM=(t,e)=>wt(t)&&wt(e)||Lt(t)&&Lt(e);function Ty(t,e,n){if(n=n||{flatten:!1},U_(t)||cn(t))return e;if(U_(e)||cn(e))return t;if(!EM(t,e)){if(n.skipValidation)return e||t;throw Error("mismatched types. must both be array or object")}if(n.skipValidation=!0,Lt(t)){const r=t,i=e;if(n.flatten){let s=0,o=0;for(;s{const s=KE(r,e);n.has(s)?n.get(s).some(o=>Ki(t[o],r))||n.get(s).push(i):n.set(s,[i])}),n}function Ng(t,e=Yl){if(t.some(a=>a.length==0))return[];if(t.length===1)return Array.from(t);const n=xM(t.map((a,l)=>[l,a.length]),a=>a[1]),r=t[n[0][0]],i=My(r,e),s=new Map,o=new Array;return i.forEach((a,l)=>{const f=a.map(w=>r[w]),h=f.map(w=>0),p=f.map(w=>[n[0][0],0]);let y=!1;for(let w=1;w$[b]);y=f.map((b,E)=>_.some((z,W)=>{const Q=h[E];return Ki(b,z)&&(h[E]++,Iw===t.length-1?[f[I],p[I]]:zi).filter(w=>w!==zi))}),o.sort((a,l)=>{const[f,[h,p]]=a,[y,[w,I]]=l,O=Mn(h,w);return O!==0?O:Mn(p,I)}).map(a=>a[0])}function VE(t,e=0){const n=new Array;function r(i,s){for(let o=0,a=i.length;o0||s<0)?r(i[o],Math.max(-1,s-1)):n.push(i[o])}return r(t,e),n}const OM=t=>{let[e,n]=[Object.getPrototypeOf(t),Object.getOwnPropertyNames(t)],r=e;for(;!n.length&&e!==jE&&e!==gM;)r=e,n=Object.getOwnPropertyNames(e),e=Object.getPrototypeOf(e);const i={};return n.forEach(s=>i[s]=t[s]),[i,r]};function Ki(t,e){const n=[[t,e]];for(;n.length>0;){if([t,e]=n.pop(),t===e)continue;const r=Fo(t);if(r!==Fo(e)||Ih(t))return!1;if(Lo.has(r)){const i=Lo.get(r);if(i(t)!==i(e))return!1;continue}if(r===Array||r===Object){const i=Object.keys(t),s=Object.keys(e);if(i.length!==s.length||new Set(i.concat(s)).size!=i.length)return!1;for(const o of i)n.push([t[o],e[o]]);continue}return!1}return!n.length}function kM(t,e=Yl){const n=t.map(r=>zi);return My(t,e).forEach((r,i)=>{r.forEach(s=>n[s]=t[s])}),n.filter(r=>r!==zi)}function DM(t){const e=new Set,n=r=>{const i=Fo(r);if(Lo.has(i))return Lo.get(i)(r);const s=i===Object?"":i.name;if(Ih(r.toJSON))return`${s}(${JSON.stringify(r)})`;if(e.has(r))throw $E;e.add(r);try{if(i===Array)return"["+r.map(n).join(",")+"]";if(i!==Object){const[a,l]=OM(r);if(Lt(r))return`${s}${n([...r,a])}`;r=a}const o=Object.keys(r);return o.sort(),`${s}{`+o.map(a=>`${a}:${n(r[a])}`).join(",")+"}"}finally{e.delete(r)}};return n(t)}function KE(t,e){return e=e||Yl,cn(t)?null:e(t).toString()}function xM(t,e,n=Mn){if(uu(t))return t;const r=new Array,i=new Array;for(let s=0;sn(s[0],o[0])),Jl(i,r.map(s=>s[1]))}function CM(t,e,n=Yl){if(t.length<1)return new Map;const r=new Map,i=new Map;for(let s=0;sKi(h,a)):null;cn(f)?(i.set(a,[o]),r.has(l)?r.get(l).push(a):r.set(l,[a])):i.get(f).push(o)}}return i}const lm=5e4;function Jl(t,...e){return t instanceof Array?e.reduce((n,r)=>{let i=Math.ceil(r.length/lm),s=0;for(;i-- >0;)Array.prototype.push.apply(n,r.slice(s,s+lm)),s+=lm;return n},t):e.filter(Sh).reduce((n,r)=>(Object.assign(n,r),n),t)}function Ny(t,e){return Sh(t)?t[e]:void 0}function AM(t,e){if(e<1)return t;for(;e--&&t.length===1;)t=t[0];return t}function lu(t,e,n){let r=0;function i(o,a){let l=o;for(let f=0;f0)break;r+=1;const y=a.slice(f);l=l.reduce((w,I)=>{const O=i(I,y);return O!==void 0&&w.push(O),w},[]);break}else l=Ny(l,h);if(l===void 0)break}return l}const s=UE.has(Al(t).toLowerCase())?t:i(t,e.split("."));return s instanceof Array&&(n!=null&&n.unwrapArray)?AM(s,r):s}function Af(t,e,n){const r=e.split("."),i=r[0],s=r.slice(1).join("."),o=/^\d+$/.exec(i)!==null,a=r.length>1;let l,f;if(t instanceof Array)if(o)l=Ny(t,Number(i)),a&&(l=Af(l,s,n)),l=[l];else{l=[];for(const h of t)f=Af(h,e,n),n!=null&&n.preserveMissing?(f===void 0&&(f=zi),l.push(f)):f!==void 0&&l.push(f)}else{if(f=Ny(t,i),a&&(f=Af(f,s,n)),f===void 0)return;l=n!=null&&n.preserveKeys?Object.assign({},t):{},l[i]=f}return l}function By(t){if(t instanceof Array)for(let e=t.length-1;e>=0;e--)t[e]===zi?t.splice(e,1):By(t[e]);else if(wt(t))for(const e in t)Xn(t,e)&&By(t[e])}const z_=/^\d+$/;function Pl(t,e,n,r){const i=e.split("."),s=i[0],o=i.slice(1).join(".");if(i.length===1)(wt(t)||Lt(t)&&z_.test(s))&&n(t,s);else{r!=null&&r.buildGraph&&cn(t[s])&&(t[s]={});const a=t[s];if(!a)return;const l=!!(i.length>1&&z_.test(i[1]));a instanceof Array&&(r!=null&&r.descendArray)&&!l?a.forEach(f=>Pl(f,o,n,r)):Pl(a,o,n,r)}}function PM(t,e,n){Pl(t,e,(r,i)=>{r[i]=Ih(n)?n(r[i]):n},{buildGraph:!0})}function V_(t,e,n){Pl(t,e,(r,i)=>{if(r instanceof Array){if(/^\d+$/.test(i))r.splice(parseInt(i),1);else if(n&&n.descendArray)for(const s of r)wt(s)&&delete s[i]}else wt(r)&&delete r[i]},n)}const RM=/^\$[a-zA-Z0-9_]+$/;function Ko(t){return RM.test(t)}function WE(t){if(UE.has(Al(t).toLowerCase()))return Cf(t)?{$regex:t}:{$eq:t};if(Sh(t)){if(!Object.keys(t).some(Ko))return{$eq:t};if(Xn(t,"$regex")){const n=Object.assign({},t);return n.$regex=new RegExp(t.$regex,t.$options),delete n.$options,n}}return t}var vs;(function(t){t.CLONE_ALL="CLONE_ALL",t.CLONE_INPUT="CLONE_INPUT",t.CLONE_OUTPUT="CLONE_OUTPUT",t.CLONE_OFF="CLONE_OFF"})(vs||(vs={}));class Eo{constructor(e,n,r,i=Date.now()){this._opts=e,this._root=n,this._local=r,this.timestamp=i,this.update(n,r)}static init(e,n,r){return e instanceof Eo?new Eo(e._opts,cn(e.root)?n:e.root,Object.assign({},e.local,r)):new Eo(e,n,r)}update(e,n){var r;return this._root=e,this._local=n&&Object.assign({},n,{variables:Object.assign({},(r=this._local)===null||r===void 0?void 0:r.variables,n==null?void 0:n.variables)}),this}getOptions(){return Object.freeze(Object.assign(Object.assign({},this._opts),{context:$o.from(this._opts.context)}))}get root(){return this._root}get local(){return this._local}get idKey(){return this._opts.idKey}get collation(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collation}get processingMode(){var e;return((e=this._opts)===null||e===void 0?void 0:e.processingMode)||vs.CLONE_OFF}get useStrictMode(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useStrictMode}get scriptEnabled(){var e;return(e=this._opts)===null||e===void 0?void 0:e.scriptEnabled}get useGlobalContext(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useGlobalContext}get hashFunction(){var e;return(e=this._opts)===null||e===void 0?void 0:e.hashFunction}get collectionResolver(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collectionResolver}get jsonSchemaValidator(){var e;return(e=this._opts)===null||e===void 0?void 0:e.jsonSchemaValidator}get variables(){var e;return(e=this._opts)===null||e===void 0?void 0:e.variables}get context(){var e;return(e=this._opts)===null||e===void 0?void 0:e.context}}function Bg(t){return t instanceof Eo?t.getOptions():Object.freeze(Object.assign(Object.assign({idKey:"_id",scriptEnabled:!0,useStrictMode:!0,useGlobalContext:!0,processingMode:vs.CLONE_OFF},t),{context:t!=null&&t.context?$o.from(t==null?void 0:t.context):$o.init({})}))}var Ye;(function(t){t.ACCUMULATOR="accumulator",t.EXPRESSION="expression",t.PIPELINE="pipeline",t.PROJECTION="projection",t.QUERY="query",t.WINDOW="window"})(Ye||(Ye={}));class $o{constructor(e){this.operators={[Ye.ACCUMULATOR]:{},[Ye.EXPRESSION]:{},[Ye.PIPELINE]:{},[Ye.PROJECTION]:{},[Ye.QUERY]:{},[Ye.WINDOW]:{}};for(const[n,r]of Object.entries(e))this.addOperators(n,r)}static init(e={}){return new $o(e)}static from(e){return new $o(e.operators)}addOperators(e,n){for(const[r,i]of Object.entries(n))this.getOperator(e,r)||(this.operators[e][r]=i);return this}addAccumulatorOps(e){return this.addOperators(Ye.ACCUMULATOR,e)}addExpressionOps(e){return this.addOperators(Ye.EXPRESSION,e)}addQueryOps(e){return this.addOperators(Ye.QUERY,e)}addPipelineOps(e){return this.addOperators(Ye.PIPELINE,e)}addProjectionOps(e){return this.addOperators(Ye.PROJECTION,e)}addWindowOps(e){return this.addOperators(Ye.WINDOW,e)}getOperator(e,n){return e in this.operators&&this.operators[e][n]||null}}const co=$o.init();function K_(t,e){for(const[n,r]of Object.entries(e)){Yt(Ih(r)&&Ko(n),`'${n}' is not a valid operator`);const i=Oo(t,n,null);Yt(!i||r===i,`${n} already exists for '${t}' operators. Cannot change operator function once registered.`)}switch(t){case Ye.ACCUMULATOR:co.addAccumulatorOps(e);break;case Ye.EXPRESSION:co.addExpressionOps(e);break;case Ye.PIPELINE:co.addPipelineOps(e);break;case Ye.PROJECTION:co.addProjectionOps(e);break;case Ye.QUERY:co.addQueryOps(e);break;case Ye.WINDOW:co.addWindowOps(e);break}}function Oo(t,e,n){const{context:r,useGlobalContext:i}=n||{},s=r?r.getOperator(t,e):null;return!s&&i?co.getOperator(t,e):s}const W_={$$ROOT(t,e,n){return n.root},$$CURRENT(t,e,n){return t},$$REMOVE(t,e,n){},$$NOW(t,e,n){return new Date(n.timestamp)}},Fy={$$KEEP(t,e,n){return t},$$PRUNE(t,e,n){},$$DESCEND(t,e,n){if(!Xn(e,"$cond"))return t;let r;for(const[i,s]of Object.entries(t))if(Sh(s)){if(s instanceof Array){const o=[];for(let a of s)wt(a)&&(a=q_(a,e,n.update(a))),cn(a)||o.push(a);r=o}else r=q_(s,e,n.update(s));cn(r)?delete t[i]:t[i]=r}return t}};function Xr(t,e,n,r){var i;const s=Eo.init(r,t);if(n=n||"",Ko(n)){const o=Oo(Ye.EXPRESSION,n,r);if(o)return o(t,e,s);const a=Oo(Ye.ACCUMULATOR,n,r);if(a)return t instanceof Array||(t=Xr(t,e,null,s),e=null),Yt(t instanceof Array,`'${n}' target must be an array.`),a(t,e,s.update(null,s.local));throw new Error(`operator '${n}' is not registered`)}if(Vi(e)&&e.length>0&&e[0]==="$"){if(Xn(Fy,e))return e;let o=s.root;const a=e.split(".");if(Xn(W_,a[0]))o=W_[a[0]](t,null,s),e=e.slice(a[0].length+1);else if(a[0].slice(0,2)==="$$"){o=Object.assign({},s.variables,{this:t},(i=s.local)===null||i===void 0?void 0:i.variables);const l=a[0].slice(2);Yt(Xn(o,l),`Use of undefined variable: ${l}`),e=e.slice(2)}else e=e.slice(1);return e===""?o:lu(o,e)}if(Lt(e))return e.map(o=>Xr(t,o,null,s));if(wt(e)){const o={};for(const[a,l]of Object.entries(e))if(o[a]=Xr(t,l,a,s),[Ye.EXPRESSION,Ye.ACCUMULATOR].some(f=>!!Oo(f,a,r)))return Yt(Object.keys(e).length===1,"Invalid aggregation expression '"+JSON.stringify(e)+"'"),o[a];return o}return e}function q_(t,e,n){const r=Xr(t,e,null,n);return Xn(Fy,r)?Fy[r](t,e,n):r}function Ha(t){return t instanceof H_?t:new H_(t)}function TM(...t){let e=0;return Ha(()=>{for(;e{const i=r.next();if(i.done)throw Ly;return i.value}}else if(e instanceof Array){const r=e,i=r.length;let s=0;n=()=>{if(s0?this.push(si.TAKE,e):this}drop(e){return e>0?this.push(si.DROP,e):this}transform(e){const n=this;let r;return Ha(()=>(r||(r=Ha(e(n.value()))),r.next()))}value(){return this.isDone||(this.isDone=this.getNext(!0).done),this.yieldedValues}each(e){for(;;){const n=this.next();if(n.done)break;if(e(n.value)===!1)return!1}return!0}reduce(e,n){let r=this.next();for(n===void 0&&!r.done&&(n=r.value,r=this.next());!r.done;)n=e(n,r.value),r=this.next();return n}size(){return this.reduce((e,n)=>++e,0)}[Symbol.iterator](){return this}}class FM{constructor(e,n){this.pipeline=e,this.options=Bg(n)}stream(e){let n=Ha(e);const r=this.options.processingMode;(r==vs.CLONE_ALL||r==vs.CLONE_INPUT)&&n.map(Py);const i=new Array;if(!uu(this.pipeline))for(const s of this.pipeline){const o=Object.keys(s),a=o[0],l=Oo(Ye.PIPELINE,a,this.options);Yt(o.length===1&&!!l,`invalid pipeline operator ${a}`),i.push(a),n=l(n,s[a],this.options)}return(r==vs.CLONE_OUTPUT||r==vs.CLONE_ALL&&Ng([["$group","$unwind"],i]).length)&&n.map(Py),n}run(e){return this.stream(e).value()}}class LM{constructor(e,n,r,i){this.source=e,this.predicate=n,this.projection=r,this.options=i,this.operators=[],this.result=null,this.buffer=[]}fetch(){return this.result?this.result:(wt(this.projection)&&this.operators.push({$project:this.projection}),this.result=Ha(this.source).filter(this.predicate),this.operators.length>0&&(this.result=new FM(this.operators,this.options).stream(this.result)),this.result)}fetchAll(){const e=Ha([...this.buffer]);return this.buffer=[],TM(e,this.fetch())}all(){return this.fetchAll().value()}count(){return this.all().length}skip(e){return this.operators.push({$skip:e}),this}limit(e){return this.operators.push({$limit:e}),this}sort(e){return this.operators.push({$sort:e}),this}collation(e){return this.options=Object.assign(Object.assign({},this.options),{collation:e}),this}next(){if(this.buffer.length>0)return this.buffer.pop();const e=this.fetch().next();if(!e.done)return e.value}hasNext(){if(this.buffer.length>0)return!0;const e=this.fetch().next();return e.done?!1:(this.buffer.push(e.value),!0)}map(e){return this.all().map(e)}forEach(e){this.all().forEach(e)}[Symbol.iterator](){return this.fetchAll()}}class qs{constructor(e,n){this.condition=e,this.options=Bg(n),this.compiled=[],this.compile()}compile(){Yt(wt(this.condition),`query criteria must be an object: ${JSON.stringify(this.condition)}`);const e={};for(const[n,r]of Object.entries(this.condition)){if(n==="$where")Object.assign(e,{field:n,expr:r});else if(qa(["$and","$or","$nor","$expr","$jsonSchema"],n))this.processOperator(n,n,r);else{Yt(!Ko(n),`unknown top level operator: ${n}`);for(const[i,s]of Object.entries(WE(r)))this.processOperator(n,i,s)}e.field&&this.processOperator(e.field,e.field,e.expr)}}processOperator(e,n,r){const i=Oo(Ye.QUERY,n,this.options);if(!i)throw new Error(`unknown operator ${n}`);const s=i(e,r,this.options);this.compiled.push(s)}test(e){for(let n=0,r=this.compiled.length;nthis.test(r),n||{},this.options)}remove(e){return e.reduce((n,r)=>(this.test(r)||n.push(r),n),[])}}const $M=(t,e,n)=>{if(uu(e)||!wt(e))return t;let r=Mn;const i=n.collation;return wt(i)&&Vi(i.locale)&&(r=UM(i)),t.transform(s=>{const o=Object.keys(e);for(const a of o.reverse()){const l=CM(s,h=>lu(h,a),n.hashFunction),f=Array.from(l.keys()).sort(r);e[a]===-1&&f.reverse(),s=[],f.reduce((h,p)=>Jl(h,l.get(p)),s)}return s})},jM={1:"base",2:"accent",3:"variant"};function UM(t){const e={sensitivity:jM[t.strength||3],caseFirst:t.caseFirst==="off"?"false":t.caseFirst||"false",numeric:t.numericOrdering||!1,ignorePunctuation:t.alternate==="shifted"};(t.caseLevel||!1)===!0&&(e.sensitivity==="base"&&(e.sensitivity="case"),e.sensitivity==="accent"&&(e.sensitivity="variant"));const n=new Intl.Collator(t.locale,e);return(r,i)=>{if(!Vi(r)||!Vi(i))return Mn(r,i);const s=n.compare(r,i);return s<0?-1:s>0?1:0}}function wn(t){const e=(n,r,i)=>{const s={unwrapArray:!0},o=Math.max(1,n.split(".").length-1);return a=>{const l=lu(a,n,s);return t(l,r,Object.assign(Object.assign({},i),{depth:o}))}};return e.op="query",e}function qE(t,e,n){if(Ki(t,e)||cn(t)&&cn(e))return!0;if(t instanceof Array){const r=Ki.bind(null,e);return t.some(r)||VE(t,n==null?void 0:n.depth).some(r)}return!1}function zM(t,e,n){return!qE(t,e,n)}function HE(t,e,n){return cn(t)?e.some(r=>r===null):Ng([Gl(t),e],n==null?void 0:n.hashFunction).length>0}function VM(t,e,n){return!HE(t,e,n)}function KM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)<0)}function WM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)<=0)}function qM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)>0)}function HM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)>=0)}function QM(t,e,n){return Gl(t).some(r=>e.length===2&&r%e[0]===e[1])}function YM(t,e,n){const r=Gl(t),i=s=>Vi(s)&&IM(e.exec(s),n==null?void 0:n.useStrictMode);return r.some(i)||VE(r,1).some(i)}function GM(t,e,n){return(e===!1||e===0)&&t===void 0||(e===!0||e===1)&&t!==void 0}function JM(t,e,n){if(!Lt(t)||!Lt(e)||!t.length||!e.length)return!1;let r=!0;for(const i of e){if(!r)break;wt(i)&&qa(Object.keys(i),"$elemMatch")?r=QE(t,i.$elemMatch,n):i instanceof RegExp?r=t.some(s=>typeof s=="string"&&i.test(s)):r=t.some(s=>Ki(i,s))}return r}function XM(t,e,n){return Array.isArray(t)&&t.length===e}function ZM(t){return Ko(t)&&["$and","$or","$nor"].indexOf(t)===-1}function QE(t,e,n){if(Lt(t)&&!uu(t)){let r=o=>o,i=e;Object.keys(e).every(ZM)&&(i={temp:e},r=o=>({temp:o}));const s=new qs(i,n);for(let o=0,a=t.length;ot===null,Y_=t=>Hn(t)&&t>=mM&&t<=pM&&t.toString().indexOf(".")===-1,G_=t=>Hn(t)&&t>=vM&&t<=yM&&t.toString().indexOf(".")===-1,e2={array:Lt,bool:um,boolean:um,date:Ry,decimal:Hn,double:Hn,int:Y_,long:G_,number:Hn,null:Q_,object:wt,regex:Cf,regexp:Cf,string:Vi,undefined:cn,function:t=>{throw new Error("unsupported type key `function`.")},1:Hn,2:Vi,3:wt,4:Lt,6:cn,8:um,9:Ry,10:Q_,11:Cf,16:Y_,18:G_,19:Hn};function J_(t,e,n){const r=e2[e];return r?r(t):!1}function t2(t,e,n){return Array.isArray(e)?e.findIndex(r=>J_(t,r))>=0:J_(t,e)}function Eh(t,e,n){return Gl(t).some(r=>Al(r)===Al(e)&&n(r,e))}const X_=(t,e)=>{const n={};return t.split("").forEach((r,i)=>n[r]=e*(i+1)),n};Object.assign(Object.assign(Object.assign({},X_("ABCDEFGHIKLM",1)),X_("NOPQRSTUVWXY",-1)),{Z:0});const Z_={undefined:null,null:null,NaN:NaN,Infinity:new Error,"-Infinity":new Error};function sr(t,e=Z_){const n=Object.assign({},Z_,e),r=new Set(Object.keys(n));return(i,s,o)=>{const a=Xr(i,s,null,o);if(r.has(`${a}`)){const l=n[`${a}`];if(l instanceof Error)throw new Error(`cannot apply $${t.name} to -inf, value must in (-inf,inf)`);return l}return t(a)}}sr(Math.acos,{Infinity:1/0,0:new Error});sr(Math.acosh,{Infinity:1/0,0:new Error});sr(Math.asin);sr(Math.asinh,{Infinity:1/0,"-Infinity":-1/0});sr(Math.atan);sr(Math.atanh,{1:1/0,"-1":-1/0});sr(Math.cos);sr(Math.cosh,{"-Infinity":1/0,Infinity:1/0});const n2=Math.PI/180;sr(t=>t*n2,{Infinity:1/0,"-Infinity":1/0});const r2=180/Math.PI;sr(t=>t*r2,{Infinity:1/0,"-Infinity":-1/0});sr(Math.sin);sr(Math.sinh,{"-Infinity":-1/0,Infinity:1/0});sr(Math.tan);const i2=(t,e,n)=>{if(uu(e))return t;let r=Object.keys(e),i=!1;YE(e,n);const s=n.idKey;if(qa(r,s)){const a=e[s];(a===0||a===!1)&&(r=r.filter(zE.bind(null,[s])),i=r.length==0)}else r.push(s);const o=Eo.init(n);return t.map(a=>$y(a,e,o.update(a),r,i))};function $y(t,e,n,r,i){let s={},o=!1,a=!1;const l=[];i&&l.push(n.idKey);for(const f of r){let h;const p=e[f];if(f!==n.idKey&&qa([0,!1],p)&&(a=!0),f===n.idKey&&uu(p))h=t[f];else if(Vi(p))h=Xr(t,p,f,n);else if(!qa([1,!0],p))if(p instanceof Array)h=p.map(w=>{const I=Xr(t,w,null,n);return cn(I)?null:I});else if(wt(p)){const w=p,I=Object.keys(p),O=I.length==1?I[0]:"",$=Oo(Ye.PROJECTION,O,n);if($)O==="$slice"?Gl(w[O]).every(Hn)?(h=$(t,w[O],f,n),o=!0):h=Xr(t,w,f,n):h=$(t,w[O],f,n);else if(Ko(O))h=Xr(t,w[O],O,n);else if(Xn(t,f)){YE(w,n);let _=t[f];_ instanceof Array?h=_.map(b=>$y(b,w,n,I,!1)):(_=wt(_)?_:t,h=$y(_,w,n,I,!1))}else h=Xr(t,p,null,n)}else{l.push(f);continue}const y=Af(t,f,{preserveMissing:!0});y!==void 0&&Ty(s,y,{flatten:!0}),zE([0,1,!1,!0],p)&&(h===void 0?V_(s,f,{descendArray:!0}):PM(s,f,h))}if(By(s),(o||a||i)&&(s=Jl({},t,s),l.length>0))for(const f of l)V_(s,f,{descendArray:!0});return s}function YE(t,e){const n=[!1,!1];for(const[r,i]of Object.entries(t)){if(r===(e==null?void 0:e.idKey))return;i===0||i===!1?n[0]=!0:(i===1||i===!0)&&(n[1]=!0),Yt(!(n[0]&&n[1]),"Projection cannot have a mix of inclusion and exclusion.")}}const s2=(t,e,n)=>{Yt(Lt(e),"Invalid expression: $and expects value to be an Array.");const r=e.map(i=>new qs(i,n));return i=>r.every(s=>s.test(i))},GE=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $or expects value to be an Array");const r=e.map(i=>new qs(i,n));return i=>r.some(s=>s.test(i))},o2=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $nor expects value to be an array.");const r=GE("$or",e,n);return i=>!r(i)},a2=(t,e,n)=>{const r={};r[t]=WE(e);const i=new qs(r,n);return s=>!i.test(s)},u2=wn(qE),l2=wn(qM),c2=wn(HM),f2=wn(HE),d2=wn(KM),h2=wn(WM),p2=wn(zM),m2=wn(VM),y2=wn(QM),v2=wn(YM);wn(JM);const g2=wn(QE),w2=wn(XM),_2=wn(GM),b2=wn(t2);var eb=!1;function S2(t){return eb||(K_(Ye.PIPELINE,{$sort:$M,$project:i2}),K_(Ye.QUERY,{$and:s2,$eq:u2,$elemMatch:g2,$exists:_2,$gt:l2,$gte:c2,$in:f2,$lt:d2,$lte:h2,$ne:p2,$nin:m2,$mod:y2,$nor:o2,$not:a2,$or:GE,$regex:v2,$size:w2,$type:b2}),eb=!0),new qs(t)}function Rl(t,e){var n=Fn(t.primaryKey);e=$e(e);var r=Pn(e);if(typeof r.skip!="number"&&(r.skip=0),r.selector?(r.selector=r.selector,Object.entries(r.selector).forEach(([f,h])=>{(typeof h!="object"||h===null)&&(r.selector[f]={$eq:h})})):r.selector={},r.index){var i=Ua(r.index);i.includes(n)||i.push(n),r.index=i}if(r.sort){var l=r.sort.find(f=>TP(f)===n);l||(r.sort=r.sort.slice(0),r.sort.push({[n]:"asc"}))}else if(r.index)r.sort=r.index.map(f=>({[f]:"asc"}));else{if(t.indexes){var s=new Set;Object.entries(r.selector).forEach(([f,h])=>{var p=!1;typeof h=="object"&&h!==null?p=!!Object.keys(h).find(y=>Rg.has(y)):p=!0,p&&s.add(f)});var o=-1,a;t.indexes.forEach(f=>{var h=hg(f)?f:[f],p=h.findIndex(y=>!s.has(y));p>0&&p>o&&(o=p,a=h)}),a&&(r.sort=a.map(f=>({[f]:"asc"})))}r.sort||(r.sort=[{[n]:"asc"}])}return r}function Fg(t,e){if(!e.sort)throw le("SNH",{query:e});var n=[];e.sort.forEach(i=>{var s=Object.keys(i)[0],o=Object.values(i)[0];n.push({key:s,direction:o,getValueFn:XI(s)})});var r=(i,s)=>{for(var o=0;on.test(i);return r}function I2(t,e){return!e.sort||e.sort.length===0?[t]:e.sort.map(n=>Object.keys(n)[0])}var E2=new WeakMap;function O2(t){return Tr(E2,t,()=>{var e=t.collection,n=Rl(e.storageInstance.schema,Pn(t.mangoQuery)),r=e.schema.primaryPath,i=Fg(e.schema.jsonSchema,n),s=(f,h)=>{var p={docA:f,docB:h,rxQuery:t};return i(p.docA,p.docB)},o=Oh(e.schema.jsonSchema,n),a=f=>{var h={doc:f,rxQuery:t};return o(h.doc)},l={primaryKey:t.collection.schema.primaryPath,skip:n.skip,limit:n.limit,sortFields:I2(r,n),sortComparator:s,queryMatcher:a};return l})}function k2(t,e){if(!t.collection.database.eventReduce)return{runFullQueryAgain:!0};var n=O2(t),r=ye(t._result).docsData.slice(0),i=ye(t._result).docsDataMap,s=!1,o=e.map(l=>fT(l)).filter(JI),a=o.find(l=>{var f={queryParams:n,changeEvent:l,previousResults:r,keyDocumentMap:i},h=oM(f);if(h==="runFullQueryAgain")return!0;if(h!=="doNothing")return s=!0,aM(h,n,l,r,i),!1});return a?{runFullQueryAgain:!0}:{runFullQueryAgain:!1,changed:s,newResults:r}}var D2=function(){function t(){this._map=new Map}var e=t.prototype;return e.getByQuery=function(r){var i=r.toString();return Tr(this._map,i,()=>r)},t}();function x2(){return new D2}function tb(t,e){e.uncached=!0;var n=e.toString();t._map.delete(n)}function C2(t){return t.refCount$.observers.length}var A2=100,P2=30*1e3,R2=(t,e)=>(n,r)=>{if(!(r._map.size0)){if(a._lastEnsureEqual===0&&a._creationTimep._lastEnsureEqual-y._lastEnsureEqual),h=f.slice(0,l);h.forEach(p=>tb(r,p))}}},JE=R2(A2,P2),cm=new WeakSet;function T2(t){cm.has(t)||(cm.add(t),QP().then(()=>GP(200)).then(()=>{t.destroyed||t.cacheReplacementPolicy(t,t._queryCache),cm.delete(t)}))}var XE=function(){function t(n,r,i){this.cacheItemByDocId=new Map,this.registry=typeof FinalizationRegistry=="function"?new FinalizationRegistry(s=>{var o=s.docId,a=this.cacheItemByDocId.get(o);a&&(a.byRev.delete(s.revisionHeight),a.byRev.size===0&&this.cacheItemByDocId.delete(o))}):void 0,this.registerIdleTasks=[],this.primaryPath=n,this.changes$=r,this.documentCreator=i,r.subscribe(s=>{var o=s.documentId,a=this.cacheItemByDocId.get(o);if(a){var l=kg(s);a.last=l}})}var e=t.prototype;return e.getLatestDocumentData=function(r){var i=Mo(this.cacheItemByDocId,r);return i.last},e.getLatestDocumentDataIfExists=function(r){var i=this.cacheItemByDocId.get(r);if(i)return i.last},Vs(t,[{key:"getCachedRxDocument",get:function(){var n=M2(this);return xs(this,"getCachedRxDocument",n)}}]),t}();function M2(t){var e=t.primaryPath,n=t.cacheItemByDocId,r=t.registry,i=it.deepFreezeWhenDevMode,s=t.documentCreator,o=a=>{var l=a[e],f=D_(a._rev),h=Tr(n,l,()=>N2(a)),p=h.byRev,y=p.get(f),w=y?y.deref():void 0;return w||(a=i(a),w=s(a),p.set(f,F2(w)),r&&(t.registerIdleTasks.push(w),t.registerIdlePromise||(t.registerIdlePromise=yg().then(()=>{t.registerIdlePromise=void 0;var I=t.registerIdleTasks;I.length!==0&&(t.registerIdleTasks=[],I.forEach(O=>{r.register(O,{docId:O.primary,revisionHeight:D_(O.revision)})}))})))),w};return o}function ZE(t,e){for(var n=t.getCachedRxDocument,r=[],i=0;ie._data))}},{key:"docsDataMap",get:function(){var e=new Map;return this.documents.forEach(n=>{e.set(n.primary,n._data)}),xs(this,"docsDataMap",e)}},{key:"docsMap",get:function(){for(var e=new Map,n=this.documents,r=0;r{var p=this.collection._docCache.getLatestDocumentDataIfExists(h);if(p){if(!p._deleted){var y=this.collection._docCache.getCachedRxDocument(p);o.set(h,y)}}else a.push(h)}),a.length>0){var l=await this.collection.storageInstance.findDocumentsById(a,!1);l.forEach(h=>{var p=this.collection._docCache.getCachedRxDocument(h);o.set(p.primary,p)})}return o}var f=nO(this);return f.then(h=>(this._lastExecEnd=Ft(),h))},e.exec=function(r){if(r&&this.op!=="findOne")throw le("QU9",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return rb(this).then(()=>As(this.$)).then(i=>{if(!i&&r)throw le("QU10",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return i})},e.toString=function(){var r=fd({op:this.op,query:this.mangoQuery,other:this.other},!0),i=JSON.stringify(r);return this.toString=()=>i,i},e.getPreparedQuery=function(){var r={rxQuery:this,mangoQuery:Rl(this.collection.schema.jsonSchema,this.mangoQuery)};r.mangoQuery.selector._deleted={$eq:!1},r.mangoQuery.index&&r.mangoQuery.index.unshift("_deleted"),Mr("prePrepareQuery",r);var i=Xl(this.collection.schema.jsonSchema,r.mangoQuery);return this.getPreparedQuery=()=>i,i},e.doesDocumentDataMatch=function(r){return r._deleted?!1:this.queryMatcher(r)},e.remove=function(){return this.exec().then(r=>Array.isArray(r)?Promise.all(r.map(i=>i.remove())):r.remove())},e.update=function(r){throw pt("update")},e.where=function(r){throw pt("query-builder")},e.sort=function(r){throw pt("query-builder")},e.skip=function(r){throw pt("query-builder")},e.limit=function(r){throw pt("query-builder")},Vs(t,[{key:"$",get:function(){if(!this._$){var n=this.collection.$.pipe(lt(r=>!r.isLocal),Ql(null),Nr(()=>rb(this)),Mt(()=>this._result),Ai(Ci),Bo((r,i)=>!!(r&&r.time===ye(i).time)),lt(r=>!!r),Mt(r=>{var i=ye(r);return this.op==="count"?i.count:this.op==="findOne"?i.documents.length===0?null:i.documents[0]:this.op==="findByIds"?i.docsMap:i.documents.slice(0)}));this._$=_T(n,this.refCount$.pipe(lt(()=>!1)))}return this._$}},{key:"$$",get:function(){var n=this.collection.database.getReactivityFactory();return n.fromObservable(this.$,void 0)}},{key:"queryMatcher",get:function(){var n=this.collection.schema.jsonSchema,r=Rl(this.collection.schema.jsonSchema,this.mangoQuery);return xs(this,"queryMatcher",Oh(n,r))}},{key:"asRxQuery",get:function(){return this}}]),t}();function tl(){return{selector:{}}}function z2(t){return t.collection._queryCache.getByQuery(t)}function ra(t,e,n,r){Mr("preCreateRxQuery",{op:t,queryObj:e,collection:n,other:r});var i=new eO(t,e,n,r);return i=z2(i),T2(n),i}function tO(t){var e=t.asRxQuery.collection._changeEventBuffer.counter;return t._latestChangeEvent>=e}function rb(t){return t.collection.database.destroyed||tO(t)?Gn:(t._ensureEqualQueue=t._ensureEqualQueue.then(()=>V2(t)),t._ensureEqualQueue)}function V2(t){if(t._lastEnsureEqual=Ft(),t.collection.database.destroyed||tO(t))return Gn;var e=!1,n=!1;if(t._latestChangeEvent===-1&&(n=!0),!n){var r=t.asRxQuery.collection._changeEventBuffer.getFrom(t._latestChangeEvent+1);if(r===null)n=!0;else{t._latestChangeEvent=t.asRxQuery.collection._changeEventBuffer.counter;var i=t.asRxQuery.collection._changeEventBuffer.reduceByLastOfDoc(r);if(t.op==="count"){var s=ye(t._result).count,o=s;i.forEach(l=>{var f=l.previousDocumentData&&t.doesDocumentDataMatch(l.previousDocumentData),h=t.doesDocumentDataMatch(l.documentData);!f&&h&&o++,f&&!h&&o--}),o!==s&&(e=!0,t._setResultData(o))}else{var a=k2(t,i);a.runFullQueryAgain?n=!0:a.changed&&(e=!0,t._setResultData(a.newResults))}}}return n?t._execOverDatabase().then(l=>(t._latestChangeEvent=t.collection._changeEventBuffer.counter,typeof l=="number"?((!t._result||l!==t._result.count)&&(e=!0,t._setResultData(l)),e):((!t._result||!NP(t.collection.schema.primaryPath,l,t._result.docsData))&&(e=!0,t._setResultData(l)),e))):Promise.resolve(e)}function Xl(t,e){if(!e.sort)throw le("SNH",{query:e});var n=uM(t,e);return{query:e,queryPlan:n}}async function nO(t){var e=[],n=t.collection;if(t.isFindOneByIdQuery)if(Array.isArray(t.isFindOneByIdQuery)){var r=t.isFindOneByIdQuery;if(r=r.filter(h=>{var p=t.collection._docCache.getLatestDocumentDataIfExists(h);return p?(p._deleted||e.push(p),!1):!0}),r.length>0){var i=await n.storageInstance.findDocumentsById(r,!1);za(e,i)}}else{var s=t.isFindOneByIdQuery,o=t.collection._docCache.getLatestDocumentDataIfExists(s);if(!o){var a=await n.storageInstance.findDocumentsById([s],!1);a[0]&&(o=a[0])}o&&!o._deleted&&e.push(o)}else{var l=t.getPreparedQuery(),f=await n.storageInstance.query(l);e=f.documents}return e}function K2(t,e){if(!e.skip&&e.selector&&Object.keys(e.selector).length===1&&e.selector[t]){var n=e.selector[t];if(typeof n=="string")return n;if(Object.keys(n).length===1&&typeof n.$eq=="string"||Object.keys(n).length===1&&Array.isArray(n.$eq)&&!n.$eq.find(r=>typeof r!="string"))return n.$eq}return!1}var W2="_rxdb_internal";async function Zl(t,e){var n=await t.findDocumentsById([e],!1),r=n[0];if(r)return r}async function Tl(t,e,n){var r=await t.bulkWrite([e],n);if(r.error.length>0){var i=r.error[0];throw i}else{var s=r.success[0];return s}}function q2(t,e){var n=Zl(t,e),r=t.changeStream().pipe(Mt(i=>i.events.find(s=>s.documentId===e)),lt(i=>!!i),Mt(i=>Promise.resolve(ye(i).documentData)),Ql(n),Cl(i=>i),lt(i=>!!i));return r}function Ml(t){return Object.assign({},...t)}function rO(t,e,n){var r=e.documentData,i=e.previousDocumentData,s={documentId:e.documentId,collectionName:n?n.name:void 0,isLocal:t,operation:e.operation,documentData:it.deepFreezeWhenDevMode(r),previousDocumentData:it.deepFreezeWhenDevMode(i)};return s}function yd(t,e,n,r){if(r)throw r.status===409?le("CONFLICT",{collection:t.name,id:e,writeError:r,data:n}):r.status===422?le("VD2",{collection:t.name,id:e,writeError:r,data:n}):r}function iO(t,e,n,r,i,s,o){for(var a=!!t.schema.attachments,l=[],f=[],h=[],p=su(10),y={id:p,events:[],checkpoint:null,context:i,startTime:Ft(),endTime:0},w=y.events,I=[],O=[],$=[],_=n.size>0,b,E=r.length,z=function(){var Q=r[W],H=Q.document,X=Q.previous,U=H[e],ee=H._deleted,ce=X&&X._deleted,de=void 0;_&&(de=n.get(U));var Pe;if(de){var Te=de._rev;if(!X||X&&Te!==X._rev){var Dt={isError:!0,status:409,documentId:U,writeRow:Q,documentInDb:de};return h.push(Dt),1}var G=a?fm(Q):Q;a&&(ee?X&&Object.keys(X._attachments).forEach(ft=>{O.push({documentId:U,attachmentId:ft,digest:ye(X)._attachments[ft].digest})}):(Object.entries(H._attachments).find(([ft,Ct])=>{var Un=X?X._attachments[ft]:void 0;return!Un&&!Ct.data&&(Pe={documentId:U,documentInDb:de,isError:!0,status:510,writeRow:Q,attachmentId:ft}),!0}),Pe||Object.entries(H._attachments).forEach(([ft,Ct])=>{var Un=X?X._attachments[ft]:void 0;if(!Un)I.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest});else{var tn=G.document._attachments[ft].digest;Ct.data&&Un.digest!==tn&&$.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest})}}))),Pe?h.push(Pe):(a?(f.push(fm(G)),o&&o(H)):(f.push(G),o&&o(H)),b=G);var oe=null,ue=null,Re=null;if(ce&&!ee)Re="INSERT",oe=a?gs(H):H;else if(X&&!ce&&!ee)Re="UPDATE",oe=a?gs(H):H,ue=X;else if(ee)Re="DELETE",oe=ye(H),ue=X;else throw le("SNH",{args:{writeRow:Q}});var xt={documentId:U,documentData:oe,previousDocumentData:ue,operation:Re};w.push(xt)}else{var ot=!!ee;if(a&&Object.entries(H._attachments).forEach(([ft,Ct])=>{Ct.data?I.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest}):(Pe={documentId:U,isError:!0,status:510,writeRow:Q,attachmentId:ft},h.push(Pe))}),Pe||(a?(l.push(fm(Q)),s&&s(H)):(l.push(Q),s&&s(H)),b=Q),!ot){var ct={documentId:U,operation:"INSERT",documentData:a?gs(H):H,previousDocumentData:a&&X?gs(X):X};w.push(ct)}}},W=0;W{e._attachments[n]=Q2(r)}),e}function Lg(t){var e=$e(t);return e._meta=$e(t._meta),e}function $g(t,e,n){it.deepFreezeWhenDevMode(n);var r=Fn(n.primaryKey);function i(o){var a=$e(o.document);if(a._meta=$e(a._meta),it.isDevMode()){a=oE(r,n,a);try{typeof structuredClone=="function"?structuredClone(o):JSON.parse(JSON.stringify(o))}catch{throw le("DOC24",{collection:e.collectionName,document:o.document})}o.previous,o.previous&&Object.keys(o.previous._meta).forEach(l=>{if(!Object.prototype.hasOwnProperty.call(o.document._meta,l))throw le("SNH",{dataBefore:o.previous,dataAfter:o.document})})}return a._meta.lwt=Ft(),a._rev=ji(t.token,o.previous),{document:a,previous:o.previous}}var s={originalStorageInstance:e,schema:e.schema,internals:e.internals,collectionName:e.collectionName,databaseName:e.databaseName,options:e.options,bulkWrite(o,a){var l=o.map(f=>i(f));return t.lockedRun(()=>e.bulkWrite(l,a)).then(f=>{var h={error:[],success:f.success.slice(0)},p=f.error.filter(w=>w.status===409&&!w.writeRow.previous&&!w.writeRow.document._deleted&&ye(w.documentInDb)._deleted?!0:(h.error.push(w),!1));if(p.length>0){var y=p.map(w=>({previous:w.documentInDb,document:Object.assign({},w.writeRow.document,{_rev:ji(t.token,w.documentInDb)})}));return t.lockedRun(()=>e.bulkWrite(y,a)).then(w=>(za(h.error,w.error),za(h.success,w.success),h))}return f})},query(o){return t.lockedRun(()=>e.query(o))},count(o){return t.lockedRun(()=>e.count(o))},findDocumentsById(o,a){return t.lockedRun(()=>e.findDocumentsById(o,a))},getAttachmentData(o,a,l){return t.lockedRun(()=>e.getAttachmentData(o,a,l))},getChangedDocumentsSince:e.getChangedDocumentsSince?(o,a)=>t.lockedRun(()=>e.getChangedDocumentsSince(ye(o),a)):void 0,cleanup(o){return t.lockedRun(()=>e.cleanup(o))},remove(){return t.storageInstances.delete(s),t.lockedRun(()=>e.remove())},close(){return t.storageInstances.delete(s),t.lockedRun(()=>e.close())},changeStream(){return e.changeStream()},conflictResultionTasks(){return e.conflictResultionTasks()},resolveConflictResultionTask(o){if(o.output.isEqual)return e.resolveConflictResultionTask(o);var a=Object.assign({},o.output.documentData,{_meta:Ks(),_rev:Rn(),_attachments:{}}),l=$e(a);return delete l._meta,delete l._rev,delete l._attachments,e.resolveConflictResultionTask({id:o.id,output:{isEqual:!1,documentData:l}})}};return t.storageInstances.add(s),s}function sO(t){if(t.schema.keyCompression)throw le("UT5",{args:{params:t}});if(vd(t.schema))throw le("UT6",{args:{params:t}});if(t.schema.attachments&&t.schema.attachments.compression)throw le("UT7",{args:{params:t}})}function vd(t){return!!(t.encrypted&&t.encrypted.length>0||t.attachments&&t.attachments.encrypted)}function Y2(t,e,n){var r=Fn(t.schema.primaryKey),i=n?n.lwt:pg,s=n?n.id:"";return Rl(t.schema,{selector:{$or:[{"_meta.lwt":{$gt:i}},{"_meta.lwt":{$eq:i},[r]:{$gt:n?s:""}}],"_meta.lwt":{$gte:i}},sort:[{"_meta.lwt":"asc"},{[r]:"asc"}],skip:0,limit:e})}async function oO(t,e,n){if(t.getChangedDocumentsSince)return t.getChangedDocumentsSince(e,n);var r=Fn(t.schema.primaryKey),i=Xl(t.schema,Y2(t,e,n)),s=await t.query(i),o=s.documents,a=xP(o);return{documents:o,checkpoint:a?{id:a[r],lwt:a._meta.lwt}:n||{id:"",lwt:0}}}var aO=function(){function t(n,r,i,s){this.queueByDocId=new Map,this.isRunning=!1,this.storageInstance=n,this.primaryPath=r,this.preWrite=i,this.postWrite=s}var e=t.prototype;return e.addWrite=function(r,i){var s=r[this.primaryPath],o=Tr(this.queueByDocId,s,()=>[]),a=new Promise((l,f)=>{var h={lastKnownDocumentState:r,modifier:i,resolve:l,reject:f};ye(o).push(h),this.triggerRun()});return a},e.triggerRun=async function(){if(!(this.isRunning===!0||this.queueByDocId.size===0)){this.isRunning=!0;var r=[],i=this.queueByDocId;this.queueByDocId=new Map,await Promise.all(Array.from(i.entries()).map(async([o,a])=>{var l=G2(a.map(p=>p.lastKnownDocumentState)),f=l;for(var h of a)try{f=await h.modifier(Pn(f))}catch(p){h.reject(p),h.reject=()=>{},h.resolve=()=>{}}try{await this.preWrite(f,l)}catch(p){a.forEach(y=>y.reject(p));return}r.push({previous:l,document:f})}));var s=r.length>0?await this.storageInstance.bulkWrite(r,"incremental-write"):{error:[],success:[]};return await Promise.all(s.success.map(o=>{var a=o[this.primaryPath];this.postWrite(o);var l=Mo(i,a);l.forEach(f=>f.resolve(o))})),s.error.forEach(o=>{var a=o.documentId,l=Mo(i,a),f=_h(o);if(f){var h=Tr(this.queueByDocId,a,()=>[]);l.reverse().forEach(y=>{y.lastKnownDocumentState=ye(f.documentInDb),ye(h).unshift(y)})}else{var p=aR(o);l.forEach(y=>y.reject(p))}}),this.isRunning=!1,this.triggerRun()}},t}();function ib(t){var e=async n=>{var r=MP(n);r._deleted=n._deleted;var i=await t(r),s=Object.assign({},i,{_meta:n._meta,_attachments:n._attachments,_rev:n._rev,_deleted:typeof i._deleted<"u"?i._deleted:n._deleted});return typeof s._deleted>"u"&&(s._deleted=!1),s};return e}function G2(t){var e=t[0],n=Va(e._rev).height;return t.forEach(r=>{var i=Va(r._rev).height;i>n&&(e=r,n=i)}),e}var kh={get primaryPath(){var t=this;if(t.isInstanceOfRxDocument)return t.collection.schema.primaryPath},get primary(){var t=this;if(t.isInstanceOfRxDocument)return t._data[t.primaryPath]},get revision(){var t=this;if(t.isInstanceOfRxDocument)return t._data._rev},get deleted$(){var t=this;if(t.isInstanceOfRxDocument)return t.$.pipe(Mt(e=>e._data._deleted))},get deleted$$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.deleted$,t.getLatest().deleted)},get deleted(){var t=this;if(t.isInstanceOfRxDocument)return t._data._deleted},getLatest(){var t=this.collection._docCache.getLatestDocumentData(this.primary);return this.collection._docCache.getCachedRxDocument(t)},get $(){var t=this;return t.collection.$.pipe(lt(e=>!e.isLocal),lt(e=>e.documentId===this.primary),Mt(e=>kg(e)),Ql(t.collection._docCache.getLatestDocumentData(this.primary)),Bo((e,n)=>e._rev===n._rev),Mt(e=>this.collection._docCache.getCachedRxDocument(e)),Ai(Ci))},get $$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.$,t.getLatest()._data)},get$(t){if(it.isDevMode()){if(t.includes(".item."))throw le("DOC1",{path:t});if(t===this.primaryPath)throw le("DOC2");if(this.collection.schema.finalFields.includes(t))throw le("DOC3",{path:t});var e=Ui(this.collection.schema.jsonSchema,t);if(!e)throw le("DOC4",{path:t})}return this.$.pipe(Mt(n=>Ts(n,t)),Bo())},get$$(t){var e=this.get$(t),n=this.collection.database.getReactivityFactory();return n.fromObservable(e,this.getLatest().get(t))},populate(t){var e=Ui(this.collection.schema.jsonSchema,t),n=this.get(t);if(!n)return mg;if(!e)throw le("DOC5",{path:t});if(!e.ref)throw le("DOC6",{path:t,schemaObj:e});var r=this.collection.database.collections[e.ref];if(!r)throw le("DOC7",{ref:e.ref,path:t,schemaObj:e});return e.type==="array"?r.findByIds(n).exec().then(i=>{var s=i.values();return Array.from(s)}):r.findOne(n).exec()},get(t){return Tr(this._propertyCache,t,()=>{var e=Ts(this._data,t);if(typeof e!="object"||e===null||Array.isArray(e))return it.deepFreezeWhenDevMode(e);var n=this,r=new Proxy($e(e),{get(i,s){if(typeof s!="string")return i[s];var o=s.charAt(s.length-1);if(s.endsWith("$$")){var a=s.slice(0,-2);return n.get$$(zu(t+"."+a))}else if(o==="$"){var l=s.slice(0,-1);return n.get$(zu(t+"."+l))}else if(o==="_"){var f=s.slice(0,-1);return n.populate(zu(t+"."+f))}else return n.get(zu(t+"."+s))}});return r})},toJSON(t=!1){if(t)return it.deepFreezeWhenDevMode(this._data);var e=$e(this._data);return delete e._rev,delete e._attachments,delete e._deleted,delete e._meta,it.deepFreezeWhenDevMode(e)},toMutableJSON(t=!1){return Pn(this.toJSON(t))},update(t){throw pt("update")},incrementalUpdate(t){throw pt("update")},updateCRDT(t){throw pt("crdt")},putAttachment(){throw pt("attachments")},getAttachment(){throw pt("attachments")},allAttachments(){throw pt("attachments")},get allAttachments$(){throw pt("attachments")},async modify(t,e){var n=this._data,r=await ib(t)(n);return this._saveData(r,n)},incrementalModify(t,e){return this.collection.incrementalWriteQueue.addWrite(this._data,ib(t)).then(n=>this.collection._docCache.getCachedRxDocument(n))},patch(t){var e=this._data,n=Pn(e);return Object.entries(t).forEach(([r,i])=>{n[r]=i}),this._saveData(n,e)},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t,e){if(t=$e(t),this._data._deleted)throw le("DOC11",{id:this.primary,document:this});await lO(this.collection,t,e);var n=await this.collection.storageInstance.bulkWrite([{previous:e,document:t}],"rx-document-save-data"),r=n.error[0];return yd(this.collection,this.primary,t,r),await this.collection._runHooks("post","save",t,this),this.collection._docCache.getCachedRxDocument(n.success[0])},remove(){var t=this.collection;if(this.deleted)return Promise.reject(le("DOC13",{document:this,id:this.primary}));var e=$e(this._data),n;return t._runHooks("pre","remove",e,this).then(async()=>{e._deleted=!0;var r=await t.storageInstance.bulkWrite([{previous:this._data,document:e}],"rx-document-remove"),i=r.error[0];return yd(t,this.primary,e,i),r.success[0]}).then(r=>(n=r,this.collection._runHooks("post","remove",e,this))).then(()=>this.collection._docCache.getCachedRxDocument(n))},incrementalRemove(){return this.incrementalModify(async t=>(await this.collection._runHooks("pre","remove",t,this),t._deleted=!0,t)).then(async t=>(await this.collection._runHooks("post","remove",t._data,t),t))},destroy(){throw le("DOC14")}};function uO(t=kh){var e=function(r,i){this.collection=r,this._data=i,this._propertyCache=new Map,this.isInstanceOfRxDocument=!0};return e.prototype=t,e}function J2(t,e,n){var r=new t(e,n);return Mr("createRxDocument",r),r}function lO(t,e,n){return e._meta=Object.assign({},n._meta,e._meta),it.isDevMode()&&t.schema.validateChange(n,e),t._runHooks("pre","save",e,n)}var ko="collection",jg="storage-token",Pf="rx-migration-status",X2="RxInternalDocument",Ug=bh({version:0,title:X2,primaryKey:{key:"id",fields:["context","key"],separator:"|"},type:"object",properties:{id:{type:"string",maxLength:200},key:{type:"string"},context:{type:"string",enum:[ko,jg,Pf,"OTHER"]},data:{type:"object",additionalProperties:!0}},indexes:[],required:["key","context","data"],additionalProperties:!1,sharding:{shards:1,mode:"collection"}});function Qa(t,e){return Ws(Ug,{key:t,context:e})}async function zg(t){var e=Xl(t.schema,{selector:{context:ko,_deleted:{$eq:!1}},sort:[{id:"asc"}],skip:0}),n=await t.query(e),r=n.documents;return r}var cO="storageToken",Z2=Qa(cO,jg);async function eN(t){var e=su(10),n=t.password?await t.hashFunction(JSON.stringify(t.password)):void 0,r={id:Z2,context:jg,key:cO,data:{rxdbVersion:t.rxdbVersion,token:e,instanceToken:t.token,passwordHash:n},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}},i=await t.internalStore.bulkWrite([{document:r}],"internal-add-storage-token");if(i.success[0])return i.success[0];var s=ye(i.error[0]);if(s.isError&&_h(s)){var o=s;if(!tN(o.documentInDb.data.rxdbVersion,t.rxdbVersion))throw le("DM5",{args:{database:t.name,databaseStateVersion:o.documentInDb.data.rxdbVersion,codeVersion:t.rxdbVersion}});if(n&&n!==o.documentInDb.data.passwordHash)throw le("DB1",{passwordHash:n,existingPasswordHash:o.documentInDb.data.passwordHash});var a=o.documentInDb;return ye(a)}throw s}function tN(t,e){if(!t||e.includes("beta")&&e!==t)return!1;var n=t.split(".")[0],r=e.split(".")[0];return n===r}async function fO(t,e,n){if(t.schema.version!==n.version)throw le("SNH",{schema:n,version:t.schema.version,name:t.name,collection:t,args:{storageCollectionName:e}});for(var r=jy(t.name,t.schema.jsonSchema),i=Qa(r,ko);;){var s=await Zl(t.database.internalStore,i),o=Pn(ye(s)),a=o.data.connectedStorages.find(l=>l.collectionName===e&&l.schema.version===n.version);if(a)return;o.data.connectedStorages.push({collectionName:e,schema:n});try{await Tl(t.database.internalStore,{previous:ye(s),document:o},"add-connected-storage-to-collection")}catch(l){if(!_h(l))throw l}}}function jy(t,e){return t+"-"+e.version}function dm(t,e){return e=$e(e),e=dR(t,e),e=oE(t.primaryPath,t.jsonSchema,e),e._meta=Ks(),Object.prototype.hasOwnProperty.call(e,"_deleted")||(e._deleted=!1),Object.prototype.hasOwnProperty.call(e,"_attachments")||(e._attachments={}),Object.prototype.hasOwnProperty.call(e,"_rev")||(e._rev=Rn()),e}async function nN(t,e){e.multiInstance=t.multiInstance;var n=await t.storage.createStorageInstance(e);return n}async function dO(t,e,n,r,i,s,o){var a=await zg(e),l=a.filter(y=>y.data.name===i),f=[];l.forEach(y=>{f.push({collectionName:y.data.name,schema:y.data.schema,isCollection:!0}),y.data.connectedStorages.forEach(w=>f.push({collectionName:w.collectionName,isCollection:!1,schema:w.schema}))});var h=new Set;if(f=f.filter(y=>{var w=y.collectionName+"||"+y.schema.version;return h.has(w)?!1:(h.add(w),!0)}),await Promise.all(f.map(async y=>{var w=await t.createStorageInstance({collectionName:y.collectionName,databaseInstanceToken:n,databaseName:r,multiInstance:!1,options:{},schema:y.schema,password:s,devMode:it.isDevMode()});await w.remove(),y.isCollection&&await No("postRemoveRxCollection",{storage:t,databaseName:r,collectionName:i})})),o){var p=l.map(y=>{var w=Lg(y);return w._deleted=!0,w._meta.lwt=Ft(),w._rev=ji(n,y),{previous:y,document:w}});await e.bulkWrite(p,"rx-database-remove-collection-all")}}var rN=function(){function t(n){this.subs=[],this.limit=100,this.counter=0,this.eventCounterMap=new WeakMap,this.buffer=[],this.collection=n,this.subs.push(this.collection.$.pipe(lt(r=>!r.isLocal)).subscribe(r=>this._handleChangeEvent(r)))}var e=t.prototype;return e._handleChangeEvent=function(r){for(this.counter++,this.buffer.push(r),this.eventCounterMap.set(r,this.counter);this.buffer.length>this.limit;)this.buffer.shift()},e.getArrayIndexByPointer=function(r){var i=this.buffer[0],s=this.eventCounterMap.get(i);if(ri(o))},e.reduceByLastOfDoc=function(r){return r.slice(0)},e.destroy=function(){this.subs.forEach(r=>r.unsubscribe())},t}();function iN(t){return new rN(t)}var sN=new WeakMap;function oN(t){var e=t.schema.getDocumentPrototype(),n=lN(t),r=kh,i={};return[e,n,r].forEach(s=>{var o=Object.getOwnPropertyNames(s);o.forEach(a=>{var l=Object.getOwnPropertyDescriptor(s,a),f=!0;(a.startsWith("_")||a.endsWith("_")||a.startsWith("$")||a.endsWith("$"))&&(f=!1),typeof l.value=="function"?Object.defineProperty(i,a,{get(){return l.value.bind(this)},enumerable:f,configurable:!1}):(l.enumerable=f,l.configurable=!1,l.writable&&(l.writable=!1),Object.defineProperty(i,a,l))})}),i}function aN(t){return Tr(sN,t,()=>uO(oN(t)))}function uN(t,e){var n=J2(aN(t),t,it.deepFreezeWhenDevMode(e));return t._runHooksSync("post","create",e,n),Mr("postCreateRxDocument",n),n}function lN(t){var e={};return Object.entries(t.methods).forEach(([n,r])=>{e[n]=r}),e}async function gd(t,e){var n=Ws(t.input.metaInstance.schema,{isCheckpoint:"1",itemId:e}),r=await t.input.metaInstance.findDocumentsById([n],!1),i=r[0];if(t.lastCheckpointDoc[e]=i,i)return i.checkpointData}async function wd(t,e,n){t.checkpointQueue=t.checkpointQueue.then(async()=>{var r=t.lastCheckpointDoc[e];if(n&&!t.events.canceled.getValue()&&(!r||JSON.stringify(r.checkpointData)!==JSON.stringify(n))){var i={id:"",isCheckpoint:"1",itemId:e,_deleted:!1,_attachments:{},checkpointData:n,_meta:Ks(),_rev:Rn()};for(i.id=Ws(t.input.metaInstance.schema,i);!t.events.canceled.getValue();){if(r&&(i.checkpointData=Ml([r.checkpointData,i.checkpointData])),i._meta.lwt=Ft(),i._rev=ji(await t.checkpointKey,r),t.events.canceled.getValue())return;var s=await t.input.metaInstance.bulkWrite([{previous:r,document:i}],"replication-set-checkpoint"),o=s.success[0];if(o){t.lastCheckpointDoc[e]=o;return}else{var a=s.error[0];if(a.status!==409)throw a;r=ye(a.documentInDb),i._rev=ji(await t.checkpointKey,r)}}}}),await t.checkpointQueue}async function cN(t){var e=await t.hashFunction([t.identifier,t.forkInstance.databaseName,t.forkInstance.collectionName].join("||"));return"rx_storage_replication_"+e}function sb(t,e,n,r,i){var s=Object.assign({},r,{_attachments:e&&r._attachments?r._attachments:{},_meta:n?r._meta:{lwt:Ft()},_rev:n?r._rev:Rn()});return s._rev||(s._rev=ji(t,i)),s}function cs(t,e,n){var r=$e(t);return e||delete r._attachments,n||(delete r._meta,delete r._rev),r}function Uy(t,e){return t.hasAttachments?e.map(n=>{var r=Pn(n.document);return r.docData=gs(r.docData),{document:r,previous:n.previous}}):e}function zy(t){for(;;)if(t.underlyingPersistentStorage)t=t.underlyingPersistentStorage;else return t}var Rf="RxReplicationProtocolMetaData";function Vy(t,e){var n=uR(t),r={title:Rf,primaryKey:{key:"id",fields:["itemId","isCheckpoint"],separator:"|"},type:"object",version:t.version,additionalProperties:!1,properties:{id:{type:"string",minLength:1,maxLength:n+2},isCheckpoint:{type:"string",enum:["0","1"],minLength:1,maxLength:1},itemId:{type:"string",maxLength:n>4?n:4},checkpointData:{type:"object",additionalProperties:!0},docData:{type:"object",properties:t.properties},isResolvedConflict:{type:"string"}},keyCompression:t.keyCompression,required:["id","isCheckpoint","itemId"]};e&&(r.encrypted=["docData"]);var i=bh(r);return i}function hO(t,e){return t.input.metaInstance.findDocumentsById(e.map(n=>{var r=Ws(t.input.metaInstance.schema,{itemId:n,isCheckpoint:"0"});return r}),!0).then(n=>{var r={};return Object.values(n).forEach(i=>{r[i.itemId]={docData:i.docData,metaDocument:i}}),r})}async function _d(t,e,n,r){var i=e[t.primaryPath],s=n?Lg(n):{id:"",isCheckpoint:"0",itemId:i,docData:e,_attachments:{},_deleted:!1,_rev:Rn(),_meta:{lwt:0}};s.docData=e,r&&(s.isResolvedConflict=r),s._meta.lwt=Ft(),s.id=Ws(t.input.metaInstance.schema,s),s._rev=ji(await t.checkpointKey,n);var o={previous:n,document:s};return o}async function fN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.downstream){var e=await gd(t,"down");e||await wd(t,"down",t.input.initialCheckpoint.downstream)}var n=await t.input.hashFunction(t.input.identifier),r=t.input.replicationHandler,i=0,s=[];function o(I){t.stats.down.addNewTask=t.stats.down.addNewTask+1;var O={time:i++,task:I};s.push(O),t.streamQueue.down=t.streamQueue.down.then(()=>{for(var $=[];s.length>0;){t.events.active.down.next(!0);var _=ye(s.shift());if(!(_.time{t.events.active.down.next(!1),!t.firstSyncDone.down.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.down.next(!0)})}if(o("RESYNC"),!t.events.canceled.getValue()){var a=r.masterChangeStream$.pipe(Nr(async I=>(await As(t.events.active.up.pipe(lt(O=>!O))),I))).subscribe(I=>{t.stats.down.masterChangeStreamEmit=t.stats.down.masterChangeStreamEmit+1,o(I)});As(t.events.canceled.pipe(lt(I=>!!I))).then(()=>a.unsubscribe())}var l=-1;async function f(){if(t.stats.down.downstreamResyncOnce=t.stats.down.downstreamResyncOnce+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"down"));for(var I=await t.checkpointQueue,O=[];!t.events.canceled.getValue();){l=i++;var $=await r.masterChangesSince(I,t.input.pullBatchSize);if($.documents.length===0||(I=Ml([I,$.checkpoint]),O.push(w($.documents,I)),$.documents.length{if(_==="RESYNC")throw new Error("SNH");za(O,_.documents),$=Ml([$,_.checkpoint])}),w(O,ye($))}var p=un,y={docs:{}};function w(I,O){var $=t.primaryPath;return t.stats.down.persistFromMaster=t.stats.down.persistFromMaster+1,I.forEach(_=>{var b=_[$];y.docs[b]=_}),y.checkpoint=O,p=p.then(()=>{var _=y.docs;y.docs={};var b=y.checkpoint,E=Object.keys(_);if(t.events.canceled.getValue()||E.length===0)return un;var z=[],W={},Q={},H=[];return Promise.all([t.input.forkInstance.findDocumentsById(E,!0),hO(t,E)]).then(([X,U])=>{var ee=new Map;return X.forEach(ce=>ee.set(ce[$],ce)),Promise.all(E.map(async ce=>{var de=ee.get(ce),Pe=de?cs(de,t.hasAttachments,!1):void 0,ot=_[ce],ct=U[ce];if(ct&&de&&ct.metaDocument.isResolvedConflict===de._rev)return un;var Te=!ct||!Pe?!1:await t.input.conflictHandler({realMasterState:ct.docData,newDocumentState:Pe},"downstream-check-if-equal-0").then(Re=>Re.isEqual);if(!Te&&ct&&ct.docData._rev&&de&&de._meta[t.input.identifier]&&Va(de._rev).height===de._meta[t.input.identifier]&&(Te=!0),de&&ct&&Te===!1||de&&!ct)return un;var Dt=Pe?await t.input.conflictHandler({realMasterState:ot,newDocumentState:Pe},"downstream-check-if-equal-1").then(Re=>Re.isEqual):!1;if(Pe&&Dt)return(!ct||Te===!1)&&H.push(await _d(t,Pe,ct?ct.metaDocument:void 0)),un;var G=Object.assign({},ot,de?{_meta:$e(de._meta),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{},_rev:Rn()}:{_meta:{lwt:Ft()},_rev:Rn(),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{}});if(ot._rev){var oe=de?Va(de._rev).height+1:1;G._meta[t.input.identifier]=oe,t.input.keepMeta&&(G._rev=ot._rev)}t.input.keepMeta&&ot._meta&&(G._meta=ot._meta);var ue={previous:de,document:G};ue.document._rev=ue.document._rev?ue.document._rev:ji(n,ue.previous),z.push(ue),W[ce]=ue,Q[ce]=await _d(t,ot,ct?ct.metaDocument:void 0)}))}).then(async()=>{if(z.length>0)return t.input.forkInstance.bulkWrite(z,await t.downstreamBulkWriteFlag).then(X=>{X.success.forEach(U=>{var ee=U[$];t.events.processed.down.next(W[ee]),H.push(Q[ee])}),X.error.forEach(U=>{U.status!==409&&t.events.error.next(le("RC_PULL",{writeError:U}))})})}).then(()=>{if(H.length>0)return t.input.metaInstance.bulkWrite(Uy(t,H),"replication-down-write-meta").then(X=>{X.error.forEach(U=>{t.events.error.next(le("RC_PULL",{id:U.documentId,writeError:U}))})})}).then(()=>{wd(t,"down",b)})}).catch(_=>t.events.error.next(_)),p}}var bd=function(t,e){var n=gs(t.newDocumentState),r=gs(t.realMasterState);return Ka(n,r)?Promise.resolve({isEqual:!0}):Promise.resolve({isEqual:!1,documentData:t.realMasterState})};async function dN(t,e,n){var r=t.input.conflictHandler,i=await r(e,"replication-resolve-conflict");if(!i.isEqual){var s=Object.assign({},i.documentData,{_meta:$e(n._meta),_rev:Rn(),_attachments:$e(n._attachments)});return s._meta.lwt=Ft(),s._rev=ji(await t.checkpointKey,n),{resolvedDoc:s,output:i}}}async function Ky(t,e,n,r){if(!n._attachments||r&&!r._attachments)throw new Error("_attachments missing");var i=n[t],s=new Set(r&&r._attachments?Object.keys(r._attachments):[]);return await Promise.all(Object.entries(n._attachments).map(async([o,a])=>{if((!s.has(o)||r&&ye(r._attachments)[o].digest!==a.digest)&&!a.data){var l=await e.getAttachmentData(i,o,a.digest);a.data=l}})),n}async function hN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.upstream){var e=await gd(t,"up");e||await wd(t,"up",t.input.initialCheckpoint.upstream)}var n=t.input.replicationHandler;t.streamQueue.up=t.streamQueue.up.then(()=>f().then(()=>{h()}));var r=0,i=-1,s=[],o=Gn,a={docs:{}},l=t.input.forkInstance.changeStream().subscribe(async y=>{if(y.context!==await t.downstreamBulkWriteFlag)return t.stats.up.forkChangeStreamEmit=t.stats.up.forkChangeStreamEmit+1,s.push({task:y,time:r++}),t.events.active.up.getValue()||t.events.active.up.next(!0),t.input.waitBeforePersist?t.input.waitBeforePersist().then(()=>h()):h()});As(t.events.canceled.pipe(lt(y=>!!y))).then(()=>l.unsubscribe());async function f(){if(t.stats.up.upstreamInitialSync=t.stats.up.upstreamInitialSync+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"up"));for(var y=await t.checkpointQueue,w=new Set,I=async function(){i=r++,w.size>3&&await Promise.race(Array.from(w));var _=await oO(t.input.forkInstance,t.input.pushBatchSize,y);if(_.documents.length===0)return 1;y=Ml([y,_.checkpoint]);var b=p(_.documents,ye(y));w.add(b),b.catch().then(()=>w.delete(b))};!t.events.canceled.getValue()&&!await I(););var O=await Promise.all(w),$=O.find(_=>!!_);$?await f():!t.firstSyncDone.up.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.up.next(!0)}}function h(){if(t.events.canceled.getValue()||s.length===0){t.events.active.up.next(!1);return}t.stats.up.processTasks=t.stats.up.processTasks+1,t.events.active.up.next(!0),t.streamQueue.up=t.streamQueue.up.then(()=>{for(var y=[],w={};s.length>0;){var I=ye(s.shift());I.time$.documentData)),w=Ml([w,I.task.checkpoint]))}var O=y.length===0?Gn:p(y,w);return O.then(()=>{s.length===0?t.events.active.up.next(!1):h()})})}function p(y,w){return t.stats.up.persistToMaster=t.stats.up.persistToMaster+1,y.forEach(I=>{var O=I[t.primaryPath];a.docs[O]=I}),a.checkpoint=w,o=o.then(async()=>{if(t.events.canceled.getValue())return!1;var I=a.docs;a.docs={};var O=a.checkpoint,$=Object.keys(I);if($.length===0)return!1;var _=await hO(t,$),b={},E=[],z={},W={};if(await Promise.all($.map(async Te=>{var Dt=I[Te];W[Te]=Dt;var G=cs(Dt,t.hasAttachments,!!t.input.keepMeta),oe=_[Te];oe&&oe.metaDocument.isResolvedConflict!==Dt._rev&&(await t.input.conflictHandler({realMasterState:oe.docData,newDocumentState:G},"upstream-check-if-equal")).isEqual||oe&&oe.docData._rev&&Va(Dt._rev).height===Dt._meta[t.input.identifier]||(E.push(Te),b[Te]={assumedMasterState:oe?oe.docData:void 0,newDocumentState:G},z[Te]=await _d(t,G,oe?oe.metaDocument:void 0))})),E.length===0)return!1;var Q=Object.values(b),H=new Set,X={},U=CP(Q,t.input.pushBatchSize);await Promise.all(U.map(async Te=>{t.hasAttachments&&await Promise.all(Te.map(async G=>{G.newDocumentState=await Ky(t.primaryPath,t.input.forkInstance,Pn(G.newDocumentState),G.assumedMasterState)}));var Dt=await n.masterWrite(Te);Dt.forEach(G=>{var oe=G[t.primaryPath];H.add(oe),X[oe]=G})}));var ee=[];if(E.forEach(Te=>{H.has(Te)||(t.events.processed.up.next(b[Te]),ee.push(z[Te]))}),t.events.canceled.getValue())return!1;ee.length>0&&await t.input.metaInstance.bulkWrite(Uy(t,ee),"replication-up-write-meta");var ce=!1;if(H.size>0){t.stats.up.persistToMasterHadConflicts=t.stats.up.persistToMasterHadConflicts+1;var de=[],Pe={};if(await Promise.all(Object.entries(X).map(([Te,Dt])=>{var G=b[Te],oe={newDocumentState:G.newDocumentState,assumedMasterState:G.assumedMasterState,realMasterState:Dt};return dN(t,oe,W[Te]).then(async ue=>{if(ue){t.events.resolvedConflicts.next({input:oe,output:ue.output}),de.push({previous:W[Te],document:ue.resolvedDoc});var Re=_[Te];Pe[Te]=await _d(t,ye(Dt),Re?Re.metaDocument:void 0,ue.resolvedDoc._rev)}})})),de.length>0){ce=!0,t.stats.up.persistToMasterConflictWrites=t.stats.up.persistToMasterConflictWrites+1;var ot=await t.input.forkInstance.bulkWrite(de,"replication-up-write-conflict"),ct=[];ot.success.forEach(Te=>{var Dt=Te[t.primaryPath];ct.push(Pe[Dt])}),ct.length>0&&await t.input.metaInstance.bulkWrite(Uy(t,ct),"replication-up-write-conflict-meta")}}return wd(t,"up",O),ce}).catch(I=>(t.events.error.next(I),!1)),o}}function pO(t){t=$e(t),t.forkInstance=zy(t.forkInstance),t.metaInstance=zy(t.metaInstance);var e=cN(t),n={primaryPath:Fn(t.forkInstance.schema.primaryKey),hasAttachments:!!t.forkInstance.schema.attachments,input:t,checkpointKey:e,downstreamBulkWriteFlag:e.then(r=>"replication-downstream-"+r),events:{canceled:new Jr(!1),active:{down:new Jr(!0),up:new Jr(!0)},processed:{down:new Kt,up:new Kt},resolvedConflicts:new Kt,error:new Kt},stats:{down:{addNewTask:0,downstreamProcessChanges:0,downstreamResyncOnce:0,masterChangeStreamEmit:0,persistFromMaster:0},up:{forkChangeStreamEmit:0,persistToMaster:0,persistToMasterConflictWrites:0,persistToMasterHadConflicts:0,processTasks:0,upstreamInitialSync:0}},firstSyncDone:{down:new Jr(!1),up:new Jr(!1)},streamQueue:{down:un,up:un},checkpointQueue:un,lastCheckpointDoc:{}};return fN(n),hN(n),n}function Tf(t){return As(AE([t.firstSyncDone.down.pipe(lt(e=>!!e)),t.firstSyncDone.up.pipe(lt(e=>!!e))])).then(()=>{})}function ob(t){return Promise.all([t.streamQueue.up,t.streamQueue.down,t.checkpointQueue])}function pN(t,e,n,r=!1){t=zy(t);var i=!!t.schema.attachments,s=Fn(t.schema.primaryKey),o={masterChangeStream$:t.changeStream().pipe(Nr(async a=>{var l={checkpoint:a.checkpoint,documents:await Promise.all(a.events.map(async f=>{var h=cs(f.documentData,i,r);return i&&(h=await Ky(s,t,Pn(h),void 0)),h}))};return l})),masterChangesSince(a,l){return oO(t,l,a).then(async f=>({checkpoint:f.documents.length>0?f.checkpoint:a,documents:await Promise.all(f.documents.map(async h=>{var p=cs(h,i,r);return i&&(p=await Ky(s,t,Pn(p),void 0)),p}))}))},async masterWrite(a){var l={};a.forEach(O=>{var $=O.newDocumentState[s];l[$]=O});var f=Object.keys(l),h=await t.findDocumentsById(f,!0),p=new Map;h.forEach(O=>p.set(O[s],O));var y=[],w=[];if(await Promise.all(Object.entries(l).map(async([O,$])=>{var _=p.get(O);_?_&&!$.assumedMasterState?y.push(cs(_,i,r)):(await e({realMasterState:cs(_,i,r),newDocumentState:ye($.assumedMasterState)},"rxStorageInstanceToReplicationHandler-masterWrite")).isEqual===!0?w.push({previous:_,document:sb(n,i,r,$.newDocumentState,_)}):y.push(cs(_,i,r)):w.push({document:sb(n,i,r,$.newDocumentState)})})),w.length>0){var I=await t.bulkWrite(w,"replication-master-write");I.error.forEach(O=>{if(O.status!==409)throw new Error("non conflict error");y.push(cs(ye(O.documentInDb),i,r))})}return y}};return o}async function mO(t){t.events.canceled.next(!0),t.events.active.up.complete(),t.events.active.down.complete(),t.events.processed.up.complete(),t.events.processed.down.complete(),t.events.resolvedConflicts.complete(),t.events.canceled.complete(),await t.checkpointQueue}var yO=["pre","post"],vO=["insert","save","remove","create"],ab=!1,gO=function(){function t(n,r,i,s,o={},a={},l={},f={},h={},p=JE,y={},w=bd){this.storageInstance={},this.timeouts=new Set,this.incrementalWriteQueue={},this._incrementalUpsertQueues=new Map,this.synced=!1,this.hooks={},this._subs=[],this._docCache={},this._queryCache=x2(),this.$={},this.checkpoint$={},this._changeEventBuffer={},this.onDestroy=[],this.destroyed=!1,this.database=n,this.name=r,this.schema=i,this.internalStorageInstance=s,this.instanceCreationOptions=o,this.migrationStrategies=a,this.methods=l,this.attachments=f,this.options=h,this.cacheReplacementPolicy=p,this.statics=y,this.conflictHandler=w,mN(this.asRxCollection)}var e=t.prototype;return e.prepare=async function(){this.storageInstance=$g(this.database,this.internalStorageInstance,this.schema.jsonSchema),this.incrementalWriteQueue=new aO(this.storageInstance,this.schema.primaryPath,(o,a)=>lO(this,o,a),o=>this._runHooks("post","save",o));var r=this.database.eventBulks$.pipe(lt(o=>o.collectionName===this.name));this.$=r.pipe(Nr(o=>o.events)),this.checkpoint$=r.pipe(Mt(o=>o.checkpoint)),this._changeEventBuffer=iN(this.asRxCollection),this._docCache=new XE(this.schema.primaryPath,this.$.pipe(lt(o=>!o.isLocal)),o=>uN(this.asRxCollection,o));var i=await this.database.storageToken,s=this.storageInstance.changeStream().subscribe(o=>{var a={id:o.id,internal:!1,collectionName:this.name,storageToken:i,events:o.events.map(l=>rO(!1,l,this)),databaseToken:this.database.token,checkpoint:o.checkpoint,context:o.context,endTime:o.endTime,startTime:o.startTime};this.database.$emit(a)});return this._subs.push(s),this._subs.push(this.storageInstance.conflictResultionTasks().subscribe(o=>{this.conflictHandler(o.input,o.context).then(a=>{this.storageInstance.resolveConflictResultionTask({id:o.id,output:a})})})),un},e.cleanup=function(r){throw pt("cleanup")},e.migrationNeeded=function(){throw pt("migration-schema")},e.getMigrationState=function(){throw pt("migration-schema")},e.startMigration=function(r=10){return this.getMigrationState().startMigration(r)},e.migratePromise=function(r=10){return this.getMigrationState().migratePromise(r)},e.insert=async function(r){var i=await this.bulkInsert([r]),s=i.error[0];yd(this,r[this.schema.primaryPath],r,s);var o=ye(i.success[0]);return o},e.bulkInsert=async function(r){if(r.length===0)return{success:[],error:[]};var i=this.schema.primaryPath,s=r.map(p=>{var y=dm(this.schema,p);return y}),o=this.hasHooks("pre","insert")?await Promise.all(s.map(p=>this._runHooks("pre","insert",p).then(()=>p))):s,a=o.map(p=>{var y={document:p};return y}),l=await this.storageInstance.bulkWrite(a,"rx-collection-bulk-insert"),f=ZE(this._docCache,l.success);if(this.hasHooks("post","insert")){var h=new Map;o.forEach(p=>{h.set(p[i],p)}),await Promise.all(f.map(p=>this._runHooks("post","insert",h.get(p.primary),p)))}return{success:f,error:l.error}},e.bulkRemove=async function(r){var i=this.schema.primaryPath;if(r.length===0)return{success:[],error:[]};var s=await this.findByIds(r).exec(),o=[],a=new Map;Array.from(s.values()).forEach(y=>{var w=y.toMutableJSON(!0);o.push(w),a.set(y.primary,w)}),await Promise.all(o.map(y=>{var w=y[this.schema.primaryPath];return this._runHooks("pre","remove",y,s.get(w))}));var l=o.map(y=>{var w=$e(y);return w._deleted=!0,{previous:y,document:w}}),f=await this.storageInstance.bulkWrite(l,"rx-collection-bulk-remove"),h=f.success.map(y=>y[i]);await Promise.all(h.map(y=>this._runHooks("post","remove",a.get(y),s.get(y))));var p=h.map(y=>Mo(s,y));return{success:p,error:f.error}},e.bulkUpsert=async function(r){var i=[],s=new Map;r.forEach(f=>{var h=dm(this.schema,f),p=h[this.schema.primaryPath];if(!p)throw le("COL3",{primaryPath:this.schema.primaryPath,data:h,schema:this.schema.jsonSchema});s.set(p,h),i.push(h)});var o=await this.bulkInsert(i),a=o.success.slice(0),l=[];return await Promise.all(o.error.map(async f=>{if(f.status!==409)l.push(f);else{var h=f.documentId,p=Mo(s,h),y=ye(f.documentInDb),w=this._docCache.getCachedRxDocument(y),I=await w.incrementalModify(()=>p);a.push(I)}})),{error:l,success:a}},e.upsert=async function(r){var i=await this.bulkUpsert([r]);return yd(this.asRxCollection,r[this.schema.primaryPath],r,i.error[0]),i.success[0]},e.incrementalUpsert=function(r){var i=dm(this.schema,r),s=i[this.schema.primaryPath];if(!s)throw le("COL4",{data:r});var o=this._incrementalUpsertQueues.get(s);return o||(o=un),o=o.then(()=>vN(this,s,i)).then(a=>a.inserted?a.doc:yN(a.doc,i)),this._incrementalUpsertQueues.set(s,o),o},e.find=function(r){if(typeof r=="string")throw le("COL5",{queryObj:r});r||(r=tl());var i=ra("find",r,this);return i},e.findOne=function(r){if(typeof r=="number"||Array.isArray(r))throw el("COL6",{queryObj:r});var i;if(typeof r=="string")i=ra("findOne",{selector:{[this.schema.primaryPath]:r},limit:1},this);else{if(r||(r=tl()),r.limit)throw le("QU6");r=$e(r),r.limit=1,i=ra("findOne",r,this)}return i},e.count=function(r){r||(r=tl());var i=ra("count",r,this);return i},e.findByIds=function(r){var i={selector:{[this.schema.primaryPath]:{$in:r.slice(0)}}},s=ra("findByIds",i,this);return s},e.exportJSON=function(){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.insertCRDT=function(r){throw pt("crdt")},e.addHook=function(r,i,s,o=!1){if(typeof s!="function")throw el("COL7",{key:i,when:r});if(!yO.includes(r))throw el("COL8",{key:i,when:r});if(!vO.includes(i))throw le("COL9",{key:i});if(r==="post"&&i==="create"&&o===!0)throw le("COL10",{when:r,key:i,parallel:o});var a=s.bind(this),l=o?"parallel":"series";this.hooks[i]=this.hooks[i]||{},this.hooks[i][r]=this.hooks[i][r]||{series:[],parallel:[]},this.hooks[i][r][l].push(a)},e.getHooks=function(r,i){return!this.hooks[i]||!this.hooks[i][r]?{series:[],parallel:[]}:this.hooks[i][r]},e.hasHooks=function(r,i){var s=this.getHooks(r,i);return s?s.series.length>0||s.parallel.length>0:!1},e._runHooks=function(r,i,s,o){var a=this.getHooks(r,i);if(!a)return un;var l=a.series.map(f=>()=>f(s,o));return JP(l).then(()=>Promise.all(a.parallel.map(f=>f(s,o))))},e._runHooksSync=function(r,i,s,o){var a=this.getHooks(r,i);a&&a.series.forEach(l=>l(s,o))},e.promiseWait=function(r){var i=new Promise(s=>{var o=setTimeout(()=>{this.timeouts.delete(o),s()},r);this.timeouts.add(o)});return i},e.destroy=function(){return this.destroyed?Gn:(this.destroyed=!0,Array.from(this.timeouts).forEach(r=>clearTimeout(r)),this._changeEventBuffer&&this._changeEventBuffer.destroy(),this.database.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>this.storageInstance.close()).then(()=>(this._subs.forEach(r=>r.unsubscribe()),delete this.database.collections[this.name],No("postDestroyRxCollection",this).then(()=>!0))))},e.remove=async function(){await this.destroy(),await dO(this.database.storage,this.database.internalStore,this.database.token,this.database.name,this.name,this.database.password,this.database.hashFunction)},Vs(t,[{key:"insert$",get:function(){return this.$.pipe(lt(n=>n.operation==="INSERT"))}},{key:"update$",get:function(){return this.$.pipe(lt(n=>n.operation==="UPDATE"))}},{key:"remove$",get:function(){return this.$.pipe(lt(n=>n.operation==="DELETE"))}},{key:"asRxCollection",get:function(){return this}}]),t}();function mN(t){if(!ab){ab=!0;var e=Object.getPrototypeOf(t);vO.forEach(n=>{yO.map(r=>{var i=r+eE(n);e[i]=function(s,o){return this.addHook(r,n,s,o)}})})}}function yN(t,e){return t.incrementalModify(n=>e)}function vN(t,e,n){var r=t._docCache.getLatestDocumentDataIfExists(e);return r?Promise.resolve({doc:t._docCache.getCachedRxDocument(r),inserted:!1}):t.findOne(e).exec().then(i=>i?{doc:i,inserted:!1}:t.insert(n).then(s=>({doc:s,inserted:!0})))}function gN({database:t,name:e,schema:n,instanceCreationOptions:r={},migrationStrategies:i={},autoMigrate:s=!0,statics:o={},methods:a={},attachments:l={},options:f={},localDocuments:h=!1,cacheReplacementPolicy:p=JE,conflictHandler:y=bd}){var w={databaseInstanceToken:t.token,databaseName:t.name,collectionName:e,schema:n.jsonSchema,options:r,multiInstance:t.multiInstance,password:t.password,devMode:it.isDevMode()};return Mr("preCreateRxStorageInstance",w),nN(t,w).then(I=>{var O=new gO(t,e,n,I,r,i,a,l,f,p,o,y);return O.prepare().then(()=>{Object.entries(o).forEach(([_,b])=>{Object.defineProperty(O,_,{get:()=>b.bind(O)})});var $=un;return s&&O.schema.version!==0&&($=O.migratePromise()),$}).then(()=>(Mr("createRxCollection",{collection:O,creator:{name:e,schema:n,storageInstance:I,instanceCreationOptions:r,migrationStrategies:i,methods:a,attachments:l,options:f,cacheReplacementPolicy:p,localDocuments:h,statics:o}}),O)).catch($=>I.close().then(()=>Promise.reject($)))})}var wO=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this._parallels=e||1,this._qC=0,this._iC=new Set,this._lHN=0,this._hPM=new Map,this._pHM=new Map};wO.prototype={isIdle:function(){return this._qC{this._to=!1,_N(this)},0))}clear(){this.map.clear()}}function _N(t){const e=_O()-t.ttl,n=t.map[Symbol.iterator]();for(;;){const r=n.next().value;if(!r)return;const i=r[0];if(r[1]O.events)),this.storageToken=Gn,this.storageTokenDocument=Gn,this.emittedEventBulkIds=new Vg(60*1e3),this.name=n,this.token=r,this.storage=i,this.instanceCreationOptions=s,this.password=o,this.multiInstance=a,this.eventReduce=l,this.options=f,this.internalStore=h,this.hashFunction=p,this.cleanupPolicy=y,this.allowSlowCount=w,this.reactivity=I,this.name!=="pseudoInstance"&&(this.internalStore=$g(this.asRxDatabase,h,Ug),this.storageTokenDocument=eN(this.asRxDatabase).catch(O=>this.startupErrors.push(O)),this.storageToken=this.storageTokenDocument.then(O=>O.data.token).catch(O=>this.startupErrors.push(O)))}var e=t.prototype;return e.getReactivityFactory=function(){if(!this.reactivity)throw le("DB14",{database:this.name});return this.reactivity},e.$emit=function(r){this.emittedEventBulkIds.has(r.id)||(this.emittedEventBulkIds.add(r.id),this.eventBulks$.next(r))},e.removeCollectionDoc=async function(r,i){var s=await Zl(this.internalStore,Qa(jy(r,i),ko));if(!s)throw le("SNH",{name:r,schema:i});var o=Lg(s);o._deleted=!0,await this.internalStore.bulkWrite([{document:o,previous:s}],"rx-database-remove-collection")},e.addCollections=async function(r){var i={},s={},o=[],a={};await Promise.all(Object.entries(r).map(async([h,p])=>{var y=h,w=p.schema;i[y]=w;var I=mR(w,this.hashFunction);if(s[y]=I,this.collections[h])throw le("DB3",{name:h});var O=jy(h,w),$={id:Qa(O,ko),key:O,context:ko,data:{name:y,schemaHash:await I.hash,schema:I.jsonSchema,version:I.version,connectedStorages:[]},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}};o.push({document:$});var _=Object.assign({},p,{name:y,schema:I,database:this}),b=$e(p);b.database=this,b.name=h,Mr("preCreateRxCollection",b),_.conflictHandler=b.conflictHandler,a[y]=_}));var l=await this.internalStore.bulkWrite(o,"rx-database-add-collection");await EN(this),await Promise.all(l.error.map(async h=>{if(h.status!==409)throw le("DB12",{database:this.name,writeError:h});var p=ye(h.documentInDb),y=p.data.name,w=s[y];if(p.data.schemaHash!==await w.hash)throw le("DB6",{database:this.name,collection:y,previousSchemaHash:p.data.schemaHash,schemaHash:await w.hash,previousSchema:p.data.schema,schema:ye(i[y])})}));var f={};return await Promise.all(Object.keys(r).map(async h=>{var p=a[h],y=await gN(p);f[h]=y,this.collections[h]=y,this[h]||Object.defineProperty(this,h,{get:()=>this.collections[h]})})),f},e.lockedRun=function(r){return this.idleQueue.wrapCall(r)},e.requestIdlePromise=function(){return this.idleQueue.requestIdlePromise()},e.exportJSON=function(r){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.backup=function(r){throw pt("backup")},e.leaderElector=function(){throw pt("leader-election")},e.isLeader=function(){throw pt("leader-election")},e.waitForLeadership=function(){throw pt("leader-election")},e.migrationStates=function(){throw pt("migration-schema")},e.destroy=async function(){return this.destroyed||(this.destroyed=!0,await No("preDestroyRxDatabase",this),this.eventBulks$.complete(),this._subs.map(r=>r.unsubscribe()),this.name==="pseudoInstance")?Gn:this.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>Promise.all(Object.keys(this.collections).map(r=>this.collections[r]).map(r=>r.destroy()))).then(()=>this.internalStore.close()).then(()=>Sd.delete(this.storage.name+"|"+this.name)).then(()=>!0)},e.remove=function(){return this.destroy().then(()=>SO(this.name,this.storage,this.password))},Vs(t,[{key:"$",get:function(){return this.observable$}},{key:"asRxDatabase",get:function(){return this}}]),t}();function bN(t,e){var n=e.name+"|"+t;if(Sd.has(n))throw le("DB8",{name:t,storage:e.name,link:"https://rxdb.info/rx-database.html#ignoreduplicate"})}async function bO(t,e,n,r,i,s){var o=await e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:W2,schema:Ug,options:r,multiInstance:i,password:s,devMode:it.isDevMode()});return o}function SN({storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i=!0,eventReduce:s=!0,ignoreDuplicate:o=!1,options:a={},cleanupPolicy:l,allowSlowCount:f=!1,localDocuments:h=!1,hashFunction:p=HP,reactivity:y}){Mr("preCreateRxDatabase",{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}),o||bN(n,t),Sd.add(t.name+"|"+n);var w=su(10);return bO(w,t,n,e,i,r).catch(I=>{throw Sd.delete(t.name+"|"+n),I}).then(I=>{var O=new Kg(n,w,t,e,r,i,s,a,I,p,l,f,y);return No("createRxDatabase",{database:O,creator:{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}}).then(()=>O)})}async function SO(t,e,n){var r=su(10),i=await bO(r,e,t,{},!1,n),s=await zg(i),o=new Set;s.forEach(l=>o.add(l.data.name));var a=Array.from(o);return await Promise.all(a.map(l=>dO(e,i,r,t,l,n))),await No("postRemoveRxDatabase",{databaseName:t,storage:e}),await i.remove(),a}function IN(t){return t instanceof Kg}async function IO(t){var e=await t.storageTokenDocument;return e.data.instanceToken===t.token}async function EN(t){if(await t.storageToken,t.startupErrors[0])throw t.startupErrors[0]}var ON={RxSchema:uE.prototype,RxDocument:kh,RxQuery:eO.prototype,RxCollection:gO.prototype,RxDatabase:Kg.prototype},pm=new Set,ub=new Set;function Kr(t){if(Mr("preAddRxPlugin",{plugin:t,plugins:pm}),!pm.has(t)){{if(ub.has(t.name))throw le("PL3",{name:t.name,plugin:t});pm.add(t),ub.add(t.name)}if(!t.rxdb)throw el("PL1",{plugin:t});t.init&&t.init(),t.prototypes&&Object.entries(t.prototypes).forEach(([e,n])=>n(ON[e])),t.overwritable&&Object.assign(it,t.overwritable),t.hooks&&Object.entries(t.hooks).forEach(([e,n])=>{n.after&&xl[e].push(n.after),n.before&&xl[e].unshift(n.before)})}}function kN(t){return t&&typeof t.then=="function"}Promise.resolve(!1);var DN=Promise.resolve(!0),Ti=Promise.resolve();function mo(t,e){return t||(t=0),new Promise(function(n){return setTimeout(function(){return n(e)},t)})}function xN(t,e){return Math.floor(Math.random()*(e-t+1)+t)}function ec(){return Math.random().toString(36).substring(2)}var mm=0;function tc(){var t=Date.now()*1e3;return t<=mm&&(t=mm+1),mm=t,t}function CN(){return typeof navigator<"u"&&typeof navigator.locks<"u"&&typeof navigator.locks.request=="function"}var AN=tc,PN="native";function RN(t){var e={time:tc(),messagesCallback:null,bc:new BroadcastChannel(t),subFns:[]};return e.bc.onmessage=function(n){e.messagesCallback&&e.messagesCallback(n.data)},e}function TN(t){t.bc.close(),t.subFns=[]}function MN(t,e){try{return t.bc.postMessage(e,!1),Ti}catch(n){return Promise.reject(n)}}function NN(t,e){t.messagesCallback=e}function BN(){if(typeof globalThis<"u"&&globalThis.Deno&&globalThis.Deno.args)return!0;if((typeof window<"u"||typeof self<"u")&&typeof BroadcastChannel=="function"){if(BroadcastChannel._pubkey)throw new Error("BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill");return!0}else return!1}function FN(){return 150}var LN={create:RN,close:TN,onMessage:NN,postMessage:MN,canBeUsed:BN,type:PN,averageResponseTime:FN,microSeconds:AN};function Wg(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=JSON.parse(JSON.stringify(t));return typeof e.webWorkerSupport>"u"&&(e.webWorkerSupport=!0),e.idb||(e.idb={}),e.idb.ttl||(e.idb.ttl=1e3*45),e.idb.fallbackInterval||(e.idb.fallbackInterval=150),t.idb&&typeof t.idb.onclose=="function"&&(e.idb.onclose=t.idb.onclose),e.localstorage||(e.localstorage={}),e.localstorage.removeTimeout||(e.localstorage.removeTimeout=1e3*60),t.methods&&(e.methods=t.methods),e.node||(e.node={}),e.node.ttl||(e.node.ttl=1e3*60*2),e.node.maxParallelWrites||(e.node.maxParallelWrites=2048),typeof e.node.useFastPath>"u"&&(e.node.useFastPath=!0),e}var $N=tc,jN="pubkey.broadcast-channel-0-",Wi="messages",Dh={durability:"relaxed"},UN="idb";function EO(){if(typeof indexedDB<"u")return indexedDB;if(typeof window<"u"){if(typeof window.mozIndexedDB<"u")return window.mozIndexedDB;if(typeof window.webkitIndexedDB<"u")return window.webkitIndexedDB;if(typeof window.msIndexedDB<"u")return window.msIndexedDB}return!1}function qg(t){t.commit&&t.commit()}function zN(t){var e=EO(),n=jN+t,r=e.open(n);return r.onupgradeneeded=function(i){var s=i.target.result;s.createObjectStore(Wi,{keyPath:"id",autoIncrement:!0})},new Promise(function(i,s){r.onerror=function(o){return s(o)},r.onsuccess=function(){i(r.result)}})}function VN(t,e,n){var r=Date.now(),i={uuid:e,time:r,data:n},s=t.transaction([Wi],"readwrite",Dh);return new Promise(function(o,a){s.oncomplete=function(){return o()},s.onerror=function(f){return a(f)};var l=s.objectStore(Wi);l.add(i),qg(s)})}function KN(t,e){var n=t.transaction(Wi,"readonly",Dh),r=n.objectStore(Wi),i=[],s=IDBKeyRange.bound(e+1,1/0);if(r.getAll){var o=r.getAll(s);return new Promise(function(l,f){o.onerror=function(h){return f(h)},o.onsuccess=function(h){l(h.target.result)}})}function a(){try{return s=IDBKeyRange.bound(e+1,1/0),r.openCursor(s)}catch{return r.openCursor()}}return new Promise(function(l,f){var h=a();h.onerror=function(p){return f(p)},h.onsuccess=function(p){var y=p.target.result;y?y.value.idt.lastCursorId&&(t.lastCursorId=r.id),r}).filter(function(r){return YN(r,t)}).sort(function(r,i){return r.time-i.time});return n.forEach(function(r){t.messagesCallback&&(t.eMIs.add(r.id),t.messagesCallback(r.data))}),Ti})}function GN(t){t.closed=!0,t.db.close()}function JN(t,e){return t.writeBlockPromise=t.writeBlockPromise.then(function(){return VN(t.db,t.uuid,e)}).then(function(){xN(0,10)===0&&HN(t)}),t.writeBlockPromise}function XN(t,e,n){t.messagesCallbackTime=n,t.messagesCallback=e,kO(t)}function ZN(){return!!EO()}function eB(t){return t.idb.fallbackInterval*2}var tB={create:QN,close:GN,onMessage:XN,postMessage:JN,canBeUsed:ZN,type:UN,averageResponseTime:eB,microSeconds:$N},nB=tc,rB="pubkey.broadcastChannel-",iB="localstorage";function DO(){var t;if(typeof window>"u")return null;try{t=window.localStorage,t=window["ie8-eventlistener/storage"]||window.localStorage}catch{}return t}function xO(t){return rB+t}function sB(t,e){return new Promise(function(n){mo().then(function(){var r=xO(t.channelName),i={token:ec(),time:Date.now(),data:e,uuid:t.uuid},s=JSON.stringify(i);DO().setItem(r,s);var o=document.createEvent("Event");o.initEvent("storage",!0,!0),o.key=r,o.newValue=s,window.dispatchEvent(o),n()})})}function oB(t,e){var n=xO(t),r=function(s){s.key===n&&e(JSON.parse(s.newValue))};return window.addEventListener("storage",r),r}function aB(t){window.removeEventListener("storage",t)}function uB(t,e){if(e=Wg(e),!CO())throw new Error("BroadcastChannel: localstorage cannot be used");var n=ec(),r=new Vg(e.localstorage.removeTimeout),i={channelName:t,uuid:n,eMIs:r};return i.listener=oB(t,function(s){i.messagesCallback&&s.uuid!==n&&(!s.token||r.has(s.token)||s.data.time&&s.data.time0||t._addEL.internal.length>0}function db(t,e,n){t._addEL[e].push(n),EB(t)}function hb(t,e,n){t._addEL[e]=t._addEL[e].filter(function(r){return r!==n}),OB(t)}function EB(t){if(!t._iL&&TO(t)){var e=function(i){t._addEL[i.type].forEach(function(s){i.time>=s.time&&s.fn(i.data)})},n=t.method.microSeconds();t._prepP?t._prepP.then(function(){t._iL=!0,t.method.onMessage(t._state,e,n)}):(t._iL=!0,t.method.onMessage(t._state,e,n))}}function OB(t){if(t._iL&&!TO(t)){t._iL=!1;var e=t.method.microSeconds();t.method.onMessage(t._state,null,e)}}function kB(t){if(typeof WorkerGlobalScope=="function"&&self instanceof WorkerGlobalScope){var e=self.close.bind(self);self.close=function(){return t(),e()}}else{if(typeof window.addEventListener!="function")return;window.addEventListener("beforeunload",function(){t()},!0),window.addEventListener("unload",function(){t()},!0)}}function DB(t){process.on("exit",function(){return t()}),process.on("beforeExit",function(){return t().then(function(){return process.exit()})}),process.on("SIGINT",function(){return t().then(function(){return process.exit()})}),process.on("uncaughtException",function(e){return t().then(function(){console.trace(e),process.exit(101)})})}var xB=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]",CB=xB?DB:kB,nl=new Set,pb=!1;function AB(){pb||(pb=!0,CB(RB))}function PB(t){if(AB(),typeof t!="function")throw new Error("Listener is no function");nl.add(t);var e={remove:function(){return nl.delete(t)},run:function(){return nl.delete(t),t()}};return e}function RB(){var t=[];return nl.forEach(function(e){t.push(e()),nl.delete(e)}),Promise.all(t)}function Do(t,e){var n={context:"leader",action:e,token:t.token};return t.broadcastChannel.postInternal(n)}function MO(t){t.isLeader=!0,t._hasLeader=!0;var e=PB(function(){return t.die()});t._unl.push(e);var n=function(i){i.context==="leader"&&i.action==="apply"&&Do(t,"tell"),i.context==="leader"&&i.action==="tell"&&!t._dpLC&&(t._dpLC=!0,t._dpL(),Do(t,"tell"))};return t.broadcastChannel.addEventListener("internal",n),t._lstns.push(n),Do(t,"tell")}var NO=function(e,n){var r=this;this.broadcastChannel=e,e._befC.push(function(){return r.die()}),this._options=n,this.isLeader=!1,this.isDead=!1,this.token=ec(),this._lstns=[],this._unl=[],this._dpL=function(){},this._dpLC=!1,this._wKMC={},this.lN="pubkey-bc||"+e.method.type+"||"+e.name};NO.prototype={hasLeader:function(){var e=this;return navigator.locks.query().then(function(n){var r=n.held?n.held.filter(function(i){return i.name===e.lN}):[];return!!(r&&r.length>0)})},awaitLeadership:function(){var e=this;if(!this._wLMP){this._wKMC.c=new AbortController;var n=new Promise(function(r,i){e._wKMC.res=r,e._wKMC.rej=i});this._wLMP=new Promise(function(r){navigator.locks.request(e.lN,{signal:e._wKMC.c.signal},function(){return e._wKMC.c=void 0,MO(e),r(),n}).catch(function(){})})}return this._wLMP},set onduplicate(t){},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this.isLeader=!1),this.isDead=!0,this._wKMC.res&&this._wKMC.res(),this._wKMC.c&&this._wKMC.c.abort("LeaderElectionWebLock.die() called"),Do(this,"death")}};var BO=function(e,n){var r=this;this.broadcastChannel=e,this._options=n,this.isLeader=!1,this._hasLeader=!1,this.isDead=!1,this.token=ec(),this._aplQ=Ti,this._aplQC=0,this._unl=[],this._lstns=[],this._dpL=function(){},this._dpLC=!1;var i=function(o){o.context==="leader"&&(o.action==="death"&&(r._hasLeader=!1),o.action==="tell"&&(r._hasLeader=!0))};this.broadcastChannel.addEventListener("internal",i),this._lstns.push(i)};BO.prototype={hasLeader:function(){return Promise.resolve(this._hasLeader)},applyOnce:function(e){var n=this;if(this.isLeader)return mo(0,!0);if(this.isDead)return mo(0,!1);if(this._aplQC>1)return this._aplQ;var r=function(){if(n.isLeader)return DN;var s=!1,o,a=new Promise(function(h){o=function(){s=!0,h()}}),l=function(p){p.context==="leader"&&p.token!=n.token&&(p.action==="apply"&&p.token>n.token&&o(),p.action==="tell"&&(o(),n._hasLeader=!0))};n.broadcastChannel.addEventListener("internal",l);var f=e?n._options.responseTime*4:n._options.responseTime;return Do(n,"apply").then(function(){return Promise.race([mo(f),a.then(function(){return Promise.reject(new Error)})])}).then(function(){return Do(n,"apply")}).then(function(){return Promise.race([mo(f),a.then(function(){return Promise.reject(new Error)})])}).catch(function(){}).then(function(){return n.broadcastChannel.removeEventListener("internal",l),s?!1:MO(n).then(function(){return!0})})};return this._aplQC=this._aplQC+1,this._aplQ=this._aplQ.then(function(){return r()}).then(function(){n._aplQC=n._aplQC-1}),this._aplQ.then(function(){return n.isLeader})},awaitLeadership:function(){return this._aLP||(this._aLP=TB(this)),this._aLP},set onduplicate(t){this._dpL=t},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this._hasLeader=!1,this.isLeader=!1),this.isDead=!0,Do(this,"death")}};function TB(t){return t.isLeader?Ti:new Promise(function(e){var n=!1;function r(){n||(n=!0,t.broadcastChannel.removeEventListener("internal",s),e(!0))}t.applyOnce().then(function(){t.isLeader&&r()});var i=function o(){return mo(t._options.fallbackInterval).then(function(){if(!(t.isDead||n))if(t.isLeader)r();else return t.applyOnce(!0).then(function(){t.isLeader?r():o()})})};i();var s=function(a){a.context==="leader"&&a.action==="death"&&(t._hasLeader=!1,t.applyOnce().then(function(){t.isLeader&&r()}))};t.broadcastChannel.addEventListener("internal",s),t._lstns.push(s)})}function MB(t,e){return t||(t={}),t=JSON.parse(JSON.stringify(t)),t.fallbackInterval||(t.fallbackInterval=3e3),t.responseTime||(t.responseTime=e.method.averageResponseTime(e.options)),t}function NB(t,e){if(t._leaderElector)throw new Error("BroadcastChannel already has a leader-elector");e=MB(e,t);var n=CN()?new NO(t,e):new BO(t,e);return t._befC.push(function(){return n.die()}),t._leaderElector=n,n}var Id=new Map;function BB(t,e,n,r){var i=Id.get(e);return i||(i={bc:new xh(["RxDB:",t,n].join("|")),refs:new Set},Id.set(e,i)),i.refs.add(r),i.bc}function mb(t,e){var n=Id.get(t);if(n&&(n.refs.delete(e),n.refs.size===0))return Id.delete(t),n.bc.close()}function FB(t,e,n,r){if(e.multiInstance){var i=r||BB(t,e.databaseInstanceToken,n.databaseName,n),s=new Kt,o=y=>{y.storageName===t&&y.databaseName===e.databaseName&&y.collectionName===e.collectionName&&y.version===e.schema.version&&s.next(y.eventBulk)};i.addEventListener("message",o);var a=n.changeStream(),l=!1,f=a.subscribe(y=>{l||i.postMessage({storageName:t,databaseName:e.databaseName,collectionName:e.collectionName,version:e.schema.version,eventBulk:y})});n.changeStream=function(){return s.asObservable().pipe(uT(a))};var h=n.close.bind(n);n.close=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await mb(e.databaseInstanceToken,n),h()};var p=n.remove.bind(n);n.remove=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await mb(e.databaseInstanceToken,n),p()}}}function LB(t,e){var n=e.map(r=>{var i=Ui(t,r);if(!i)throw new Error("not in schema: "+r);var s=i.type,o;(s==="number"||s==="integer")&&(o=Qg(i));var a=XI(r),l=i.maxLength?i.maxLength:0,f;s==="string"?f=p=>{var y=a(p);return y||(y=""),y.padEnd(l," ")}:s==="boolean"?f=p=>{var y=a(p);return y?"1":"0"}:f=p=>{var y=a(p);return Ed(o,y)};var h={fieldName:r,schemaPart:i,parsedLengths:o,getValue:a,getIndexStringPart:f};return h});return n}function $B(t,e){var n=LB(t,e),r=n.length,i=n.map(o=>o.getIndexStringPart),s=function(o){for(var a="",l=0;l1&&(a=o[1].length),{minimum:e,maximum:n,nonDecimals:s,decimals:a,roundedMinimum:e}}function Ed(t,e){typeof e>"u"&&(e=0),et.maximum&&(e=t.maximum);var n=(Math.floor(e)-t.roundedMinimum).toString(),r=n.padStart(t.nonDecimals,"0");if(t.decimals>0){var i=e.toString().split("."),s=i.length>1?i[1]:"0";r+=s.padEnd(t.decimals,"0")}return r}function yb(t,e,n){var r="";return e.forEach((i,s)=>{var o=Ui(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"?r+=a.padEnd(f," "):r+="".padEnd(f," ");break;case"boolean":if(a===null)r+="0";else if(a===li)r+="0";else if(a===Cr)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var p=Qg(o);if(a===null||a===li){var y="0";r+=y.repeat(p.nonDecimals+p.decimals)}else if(a===Cr)r+=Ed(p,p.maximum);else{var w=Ed(p,a);r+=w}break;default:throw new Error("unknown index type "+l)}}),r}function jB(t,e,n){var r="";return e.forEach((i,s)=>{var o=Ui(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"&&a!==Cr?r+=a.padEnd(f," "):a===li?r+="".padEnd(f," "):r+="".padEnd(f,Cr);break;case"boolean":if(a===null)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var p=Qg(o);if(a===null||a===Cr){var y="9";r+=y.repeat(p.nonDecimals+p.decimals)}else if(a===li){var w="0";r+=w.repeat(p.nonDecimals+p.decimals)}else r+=Ed(p,a);break;default:throw new Error("unknown index type "+l)}}),r}var vb=t=>Promise.resolve(t);function gb(t,e){if(t==="_deleted")return e;e=$e(e);var n=!!e._deleted;return e[t]=n,delete e._deleted,e}function ym(t,e,n){return n.map(r=>{var i=$e(r);if(e!=="_deleted"){var s=!!i[e];i._deleted=s,delete i[e]}else i._deleted=!!i._deleted;var o=t.schema.primaryPath;return i[o]=Ws(t.schema.jsonSchema,i),i})}function wb(t,e){if(typeof window>"u"||typeof window!="object"||typeof window.addEventListener>"u"||navigator.onLine)return t.promiseWait(e);var n,r=new Promise(i=>{n=()=>{window.removeEventListener("online",n),i()},window.addEventListener("online",n)});return Promise.race([r,t.promiseWait(e)]).then(()=>{window.removeEventListener("online",n)})}var FO=new WeakMap,UB=function(){function t(n,r,i,s,o,a,l,f){this.subs=[],this.subjects={received:new Kt,sent:new Kt,error:new Kt,canceled:new Jr(!1),active:new Jr(!1)},this.received$=this.subjects.received.asObservable(),this.sent$=this.subjects.sent.asObservable(),this.error$=this.subjects.error.asObservable(),this.canceled$=this.subjects.canceled.asObservable(),this.active$=this.subjects.active.asObservable(),this.onCancel=[],this.callOnStart=void 0,this.remoteEvents$=new Kt,this.replicationIdentifier=n,this.collection=r,this.deletedField=i,this.pull=s,this.push=o,this.live=a,this.retryTime=l,this.autoStart=f;var h=Tr(FO,r,()=>[]);h.push(this),this.collection.onDestroy.push(()=>this.cancel()),Object.keys(this.subjects).forEach(y=>{Object.defineProperty(this,y+"$",{get:function(){return this.subjects[y].asObservable()}})});var p=new Promise(y=>{this.callOnStart=y});this.startPromise=p}var e=t.prototype;return e.start=async function(){if(!this.isStopped()){var r=this.pull&&this.pull.modifier?this.pull.modifier:vb,i=this.push&&this.push.modifier?this.push.modifier:vb,s=this.collection.database,o="rx-replication-meta-"+await s.hashFunction([this.collection.name,this.replicationIdentifier].join("-")),a=Vy(this.collection.schema.jsonSchema,vd(this.collection.schema.jsonSchema)),[l]=await Promise.all([this.collection.database.storage.createStorageInstance({databaseName:s.name,collectionName:o,databaseInstanceToken:s.token,multiInstance:s.multiInstance,options:{},schema:a,password:s.password,devMode:it.isDevMode()}),fO(this.collection,o,a)]);this.metaInstance=l,this.internalReplicationState=pO({pushBatchSize:this.push&&this.push.batchSize?this.push.batchSize:100,pullBatchSize:this.pull&&this.pull.batchSize?this.pull.batchSize:100,initialCheckpoint:{upstream:this.push?this.push.initialCheckpoint:void 0,downstream:this.pull?this.pull.initialCheckpoint:void 0},forkInstance:this.collection.storageInstance,metaInstance:this.metaInstance,hashFunction:s.hashFunction,identifier:"rxdbreplication"+this.replicationIdentifier,conflictHandler:this.collection.conflictHandler,replicationHandler:{masterChangeStream$:this.remoteEvents$.asObservable().pipe(lt(f=>!!this.pull),Nr(async f=>{if(f==="RESYNC")return f;var h=$e(f);return h.documents=ym(this.collection,this.deletedField,h.documents),h.documents=await Promise.all(h.documents.map(p=>r(p))),h})),masterChangesSince:async(f,h)=>{if(!this.pull)return{checkpoint:null,documents:[]};for(var p=!1,y={};!p&&!this.isStopped();)try{y=await this.pull.handler(f,h),p=!0}catch(O){var w=le("RC_PULL",{checkpoint:f,errors:Ua(O).map($=>Oy($)),direction:"pull"});this.subjects.error.next(w),await wb(this.collection,ye(this.retryTime))}if(this.isStopped())return{checkpoint:null,documents:[]};var I=$e(y);return I.documents=ym(this.collection,this.deletedField,I.documents),I.documents=await Promise.all(I.documents.map(O=>r(O))),I},masterWrite:async f=>{if(!this.push)return[];var h=!1;await No("preReplicationMasterWrite",{rows:f,collection:this.collection});var p=await Promise.all(f.map(async $=>($.newDocumentState=await i($.newDocumentState),$.newDocumentState===null?null:($.assumedMasterState&&($.assumedMasterState=await i($.assumedMasterState)),this.deletedField!=="_deleted"&&($.newDocumentState=gb(this.deletedField,$.newDocumentState),$.assumedMasterState&&($.assumedMasterState=gb(this.deletedField,$.assumedMasterState))),$)))),y=p.filter(JI),w=null;for(y.length===0&&(h=!0,w=[]);!h&&!this.isStopped();)try{if(w=await this.push.handler(y),!Array.isArray(w))throw le("RC_PUSH_NO_AR",{pushRows:f,direction:"push",args:{result:w}});h=!0}catch($){var I=$.rxdb?$:le("RC_PUSH",{pushRows:f,errors:Ua($).map(_=>Oy(_)),direction:"push"});this.subjects.error.next(I),await wb(this.collection,ye(this.retryTime))}if(this.isStopped())return[];await No("preReplicationMasterWriteDocumentsHandle",{result:w,collection:this.collection});var O=ym(this.collection,this.deletedField,ye(w));return O}}}),this.subs.push(this.internalReplicationState.events.error.subscribe(f=>{this.subjects.error.next(f)}),this.internalReplicationState.events.processed.down.subscribe(f=>this.subjects.received.next(f.document)),this.internalReplicationState.events.processed.up.subscribe(f=>{this.subjects.sent.next(f.newDocumentState)}),AE([this.internalReplicationState.events.active.down,this.internalReplicationState.events.active.up]).subscribe(([f,h])=>{var p=f||h;this.subjects.active.next(p)})),this.pull&&this.pull.stream$&&this.live&&this.subs.push(this.pull.stream$.subscribe({next:f=>{this.remoteEvents$.next(f)},error:f=>{this.subjects.error.next(f)}})),this.live||(await Tf(this.internalReplicationState),await ob(this.internalReplicationState),await this.cancel()),this.callOnStart()}},e.isStopped=function(){return!!this.subjects.canceled.getValue()},e.awaitInitialReplication=async function(){return await this.startPromise,Tf(ye(this.internalReplicationState))},e.awaitInSync=async function(){await this.startPromise,await Tf(ye(this.internalReplicationState));for(var r=2;r>0;)r--,await this.collection.database.requestIdlePromise(),await ob(ye(this.internalReplicationState));return!0},e.reSync=function(){this.remoteEvents$.next("RESYNC")},e.emitEvent=function(r){this.remoteEvents$.next(r)},e.cancel=async function(){if(this.isStopped())return Gn;var r=this.onCancel.map(i=>ZI(i()));return this.internalReplicationState&&await mO(this.internalReplicationState),this.metaInstance&&r.push(ye(this.internalReplicationState).checkpointQueue.then(()=>ye(this.metaInstance).close())),this.subs.forEach(i=>i.unsubscribe()),this.subjects.canceled.next(!0),this.subjects.active.complete(),this.subjects.canceled.complete(),this.subjects.error.complete(),this.subjects.received.complete(),this.subjects.sent.complete(),Promise.all(r)},t}(),Br;(function(t){function e(U){return Array.isArray(U)?U.slice():t.isObject(U)?{...U}:U}t.clone=e;function n(U){let ee=r(U);return Array.isArray(U)&&(ee=ee.filter(ce=>ce!=="length")),ee}t.keys=n;function r(U){return U?Object.getOwnPropertyNames(U):[]}t.keysOfNonArray=r;function i(U,ee){return a(n(U),ce=>ee(U[ce],ce)),U}t.forOwn=i;function s(U,ee){return a(r(U),ce=>ee(U[ce],ce)),U}t.forOwnOfNonArray=s;function o(U,ee){return Array.isArray(U)?a(U,ee):s(U,ee),U}t.forEach=o;function a(U,ee){for(let ce=0,de=U.length;ce{const ot=U[Pe];ot instanceof Object&&(de=l(e(ot),de)),U[Pe]=de});return U}t.merge=l;function f(U){return Array.isArray(U)||(U=r(U)),U.length===0}t.isEmpty=f,t.isFunction=U=>typeof U=="function",t.isUndefined=U=>U===void 0||U==="undefined";function h(U){return U==null||U==="undefined"||U==="null"}t.isNullOrUndefined=h,t.isObject=U=>Object.prototype.toString.call(U)==="[object Object]",t.isEmptyObject=U=>h(U)||t.isObject(U)&&f(U);function p(){return typeof globalThis.ngDevMode>"u"||!!globalThis.ngDevMode}t.isDevMode=p;function y(U){return typeof U=="number"&&!isNaN(U)}t.isValidNumber=y;function w(){}t.noop=w;function I(U){return U}t.identity=I;function O(U,ee){const ce=[];for(let de=0;deU+ce*de)}t.range=$;function _(U){return t.isObject(U)?U._id:String(U)}t.getMaybeId=_;function b(U){return U.filter(I)}t.compact=b;function E(U){return f(U)?U:Array.isArray(U)?b(U):Object.entries(U).filter(([,ee])=>!h(ee)&&!f(ee)).reduce((ee,[ce,de])=>({...ee,[ce]:de}),{})}t.compactObject=E;function z(){var U;return(U=localStorage.debug)==null?void 0:U.includes("@ngx-odm/rxdb")}t.isDevModeForced=z;function W(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}t.isTestEnvironment=W,t.logger={log:function(){const U="#8d2089";return W()||!p()||!z()?w:console.log.bind(console,"%c[DEBUG::@ngx-odm/rxdb]",`background:${U};color:#fff;padding:2px;font-size:normal;`)}(),table:function(){return W()||!p()||!z()?w:console.table.bind(console)}()};function Q(U="Event"){return function(ce){return p()?ce.pipe(xy({next(de){t.logger.log(`observable:${U}:next:`,de)},error(de){t.logger.log(`observable:${U}:error:`,de.message)},complete(){t.logger.log(`observable:${U}:complete`)}})):ce}}t.debug=Q;function H(U=3,ee=1e4){return ce=>ce.pipe(lT({count:U,delay:(de,Pe)=>{const ot=Math.pow(2,Pe-1)*ee;return t.logger.log("replication:kinto:longpoll:retry",Pe,ot),IE(ot)}}))}t.retryWithBackoff=H,t.tapOnce=U=>ee=>Cy(()=>(U(),ee)),t.deferUntil=U=>ee=>Cy(()=>U.pipe(Cl(()=>ee))),t.getDefaultQuery=()=>({selector:{_deleted:{$eq:!1}},skip:0,sort:[{id:"asc"}]});const X={properties:{id:{type:"string"},_deleted:{type:"boolean"}},primaryKey:"id",indexes:[["_deleted","id"]]};t.getDefaultQuery(),t.getDefaultPreparedQuery=()=>Xl(X,t.getDefaultQuery())})(Br||(Br={}));const LO=()=>typeof window=="object"&&"fetch"in window?window.fetch.bind(window):fetch;function _b(t){return t&&t instanceof UB}function bb(t=!1){return Mt(e=>(Array.isArray(e)?e:[...e.values()]).map(n=>{const r={...n._data};return t||(delete r._rev,delete r._attachments,delete r._deleted,delete r._meta),r}))}const{debug:zB,isEmptyObject:VB,isFunction:KB}=Br;function WB(t){return!VB(t)&&KB(t.run)}function Bu(t){return WB(t)?e=>new Ot(n=>e.subscribe(r=>t.run(()=>n.next(r)),r=>t.run(()=>n.error(r)),()=>t.run(()=>n.complete()))):e=>e}function nc(){return function(t,e,n){const r=n.value;return n.value=function(...i){return Cy(()=>this.initialized$.pipe(Cl(()=>r.apply(this,i)),zB(`collection.${e}`)))},n}}function kt(){return function(t,e,n){const r=n.value;return n.value=async function(...i){return await hT(this.initialized$).catch(()=>{throw new Error(`Collection "${this.config.name}" was not initialized. Please check RxDB errors.`)}),r.apply(this,i)},n}}var Sb,Ib,Eb,Ob,kb,Db;const{getMaybeId:qB,logger:vm,debug:HB,noop:QB}=Br;class Je{get initialized$(){return this._init$.asObservable()}get collection(){return this._collection}get db(){return this.dbService.db}get dbOptions(){return this.dbService.dbOptions}get replicationState(){return this._replicationState}get queryParams$(){var e;return(e=this.config.options)!=null&&e.useQueryParams?this.initialized$.pipe(Cl(()=>this.collection.queryParams.$)):im({})}constructor(e,n,r={},i=im(""),s=QB){this.config=e,this.dbService=n,this.ngZone=r,this.currentUrl$=i,this.updateQueryParamsFn=s,this._replicationState=null,this._init$=new TE,this.init(e)}destroy(){var e;(e=this.collection)==null||e.destroy()}setQueryParams(e){var n;(n=this.collection.queryParams)==null||n.set(e)}patchQueryParams(e){var n;(n=this.collection.queryParams)==null||n.patch(e)}async sync(){var e;if(_b(this.replicationState)){this.replicationState.reSync();return}if(typeof((e=this.config.options)==null?void 0:e.replicationStateFactory)=="function"){try{this._replicationState=this.config.options.replicationStateFactory(this.collection)}catch(n){vm.log("replicationState has error, ignore replication"),vm.log(n.message)}if(_b(this.replicationState))return this.replicationState.autoStart||this.replicationState.reSync(),Ay(window,"online").pipe(HB("online"),ME(()=>!this.replicationState.isStopped())).subscribe(()=>{this._replicationState.reSync()}),this.replicationState.startPromise}}async info(){return this.collection.getMetadata()}async import(e){const n=await this.collection.schema.hash,r={name:this.collection.name,schemaHash:n,docs:e};this.collection.importJSON(r)}async export(){return this.collection.exportJSON()}docs(e,n=!1){return(dT(e)?e:im(e)).pipe(Cl(r=>this.collection.find(r).$),bb(n),Bu(this.ngZone),Ai(Ci))}docsByIds(e,n=!1){return this.collection.findByIds(e).$.pipe(bb(n),Bu(this.ngZone),Ai(Ci))}count(e){return this.collection.count(e).$.pipe(Bu(this.ngZone),Ai(Ci))}get(e,n=!1){return this.collection.findOne(e).$.pipe(Mt(r=>r?r.toMutableJSON(n):null),Bu(this.ngZone),Ai(Ci))}async insert(e){return this.collection.insert(e)}async insertBulk(e){return this.collection.bulkInsert(e)}async upsert(e){return this.collection.upsert(e)}async upsertBulk(e){return this.collection.bulkUpsert(e)}async set(e,n){return this.collection.findOne(e).update({$set:n})}async updateBulk(e,n){return this.collection.find(e).update({$set:n})}async remove(e){const n=qB(e);return this.collection.findOne(n).remove()}async removeBulk(e){return Array.isArray(e)?this.collection.bulkRemove(e):{success:[...(await this.collection.find(e).remove().catch(()=>new Map)).values()],error:[]}}async clear(){return this.collection.remove()}async getAttachments(e){const n=await this.collection.findOne(e).exec();if(!n)return null;const r=n.allAttachments().map(i=>i.getData());return Promise.all(r)}async getAttachmentById(e,n){const r=await this.collection.findOne(e).exec();if(!r)return null;const i=r.getAttachment(n);return i?i.getData():null}async putAttachment(e,n){const r=await this.collection.findOne(e).exec();r&&await r.putAttachment(n)}async removeAttachment(e,n){const r=await this.collection.findOne(e).exec();if(!r)return;const i=r.getAttachment(n);i&&await i.remove()}async addHook(e,n,r=!1){this.collection[e](n,r)}async getLocal(e,n){const r=await this.collection.getLocal(e);return r?n?r==null?void 0:r.get(n):r==null?void 0:r.toJSON().data:null}getLocal$(e,n){return this.collection.getLocal$(e).pipe(Mt(r=>r?n?r.get(n):r.toJSON().data:null),Bo(),Bu(this.ngZone))}async insertLocal(e,n){await this.collection.insertLocal(e,n)}async upsertLocal(e,n){await this.collection.upsertLocal(e,n)}async setLocal(e,n,r){var s,o;const i=await this.collection.getLocal(e);await this.collection.upsertLocal(e,{...((o=(s=i==null?void 0:i.toJSON)==null?void 0:s.call(i))==null?void 0:o.data)||{},[n]:r})}async removeLocal(e){const n=await this.collection.getLocal(e);await(n==null?void 0:n.remove())}async init(e){var i,s,o,a;const{name:n,options:r}=e;try{await this.dbService.initCollections({[n]:e}),this._collection=this.db.collections[n],r!=null&&r.useQueryParams&&this.collection.queryParamsInit(this.currentUrl$,this.updateQueryParamsFn),this._init$.next(!0),this._init$.complete()}catch(l){if(l.message.includes("DM5")||l.message.includes("DB6")&&((i=l.parameters.previousSchema)==null?void 0:i.version)===((s=l.parameters.schema)==null?void 0:s.version))vm.log("Reload the page to fix the issue. The database is in a state where it can not be used."),await SO(this.db.name,this.db.storage),(a=(o=window==null?void 0:window.location)==null?void 0:o.reload)==null||a.call(o);else throw this._init$.complete(),l}}}tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"sync",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"info",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"import",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"export",null);tt([nc(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Ot)],Je.prototype,"docs",null);tt([nc(),re("design:type",Function),re("design:paramtypes",[Array,Object]),re("design:returntype",Ot)],Je.prototype,"docsByIds",null);tt([nc(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Ot)],Je.prototype,"count",null);tt([nc(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Ot)],Je.prototype,"get",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"insert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"insertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"upsert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"upsertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"set",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Promise)],Je.prototype,"updateBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"remove",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"removeBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"clear",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"getAttachments",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"getAttachmentById",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"putAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"removeAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[typeof(Sb=typeof Hook<"u"&&Hook)=="function"?Sb:Object,Object,Object]),re("design:returntype",Promise)],Je.prototype,"addHook",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Ib=typeof K<"u"&&K)=="function"?Ib:Object]),re("design:returntype",Promise)],Je.prototype,"getLocal",null);tt([nc(),re("design:type",Function),re("design:paramtypes",[String,typeof(Eb=typeof K<"u"&&K)=="function"?Eb:Object]),re("design:returntype",Ot)],Je.prototype,"getLocal$",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Ob=typeof L<"u"&&L)=="function"?Ob:Object]),re("design:returntype",Promise)],Je.prototype,"insertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(kb=typeof L<"u"&&L)=="function"?kb:Object]),re("design:returntype",Promise)],Je.prototype,"upsertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Db=typeof K<"u"&&K)=="function"?Db:Object,Object]),re("design:returntype",Promise)],Je.prototype,"setLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"removeLocal",null);var $O={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(yw,function(){var n=function(u,c){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,m){d.__proto__=m}||function(d,m){for(var v in m)Object.prototype.hasOwnProperty.call(m,v)&&(d[v]=m[v])})(u,c)},r=function(){return(r=Object.assign||function(u){for(var c,d=1,m=arguments.length;d"u"||s.Promise||(s.Promise=Promise);var f=Object.getPrototypeOf,h={}.hasOwnProperty;function p(u,c){return h.call(u,c)}function y(u,c){typeof c=="function"&&(c=c(f(u))),(typeof Reflect>"u"?o:Reflect.ownKeys)(c).forEach(function(d){I(u,d,c[d])})}var w=Object.defineProperty;function I(u,c,d,m){w(u,c,l(d&&p(d,"get")&&typeof d.get=="function"?{get:d.get,set:d.set,configurable:!0}:{value:d,configurable:!0,writable:!0},m))}function O(u){return{from:function(c){return u.prototype=Object.create(c.prototype),I(u.prototype,"constructor",u),{extend:y.bind(null,u.prototype)}}}}var $=Object.getOwnPropertyDescriptor,_=[].slice;function b(u,c,d){return _.call(u,c,d)}function E(u,c){return c(u)}function z(u){if(!u)throw new Error("Assertion Failed")}function W(u){s.setImmediate?setImmediate(u):setTimeout(u,0)}function Q(u,c){if(typeof c=="string"&&p(u,c))return u[c];if(!c)return u;if(typeof c!="string"){for(var d=[],m=0,v=c.length;m"u"?[]:function(){var u=Promise.resolve();if(typeof crypto>"u"||!crypto.subtle)return[u,f(u),u];var c=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[c,f(c),u]}(),mu=jr[0],ur=jr[1],jr=jr[2],ur=ur&&ur.then,yu=mu&&mu.constructor,Kh=!!jr,vu=function(u,c){gu.push([u,c]),mc&&(queueMicrotask(xx),mc=!1)},Wh=!0,mc=!0,Js=[],yc=[],qh=hu,Xi={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:et,pgp:!1,env:{},finalize:et},fe=Xi,gu=[],Xs=0,vc=[];function se(u){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var c=this._PSD=fe;if(typeof u!="function"){if(u!==pu)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(this._state===!1&&Qh(this,this._value))}this._state=null,this._value=null,++c.ref,function d(m,v){try{v(function(g){if(m._state===null){if(g===m)throw new TypeError("A promise cannot be resolved with itself.");var S=m._lib&&qo();g&&typeof g.then=="function"?d(m,function(k,A){g instanceof se?g._then(k,A):g.then(k,A)}):(m._state=!0,m._value=g,z0(m)),S&&Ho()}},Qh.bind(null,m))}catch(g){Qh(m,g)}}(this,u)}var Hh={get:function(){var u=fe,c=bc;function d(m,v){var g=this,S=!u.global&&(u!==fe||c!==bc),k=S&&!es(),A=new se(function(x,M){Yh(g,new U0(K0(m,u,S,k),K0(v,u,S,k),x,M,u))});return this._consoleTask&&(A._consoleTask=this._consoleTask),A}return d.prototype=pu,d},set:function(u){I(this,"then",u&&u.prototype===pu?Hh:{get:function(){return u},set:Hh.set})}};function U0(u,c,d,m,v){this.onFulfilled=typeof u=="function"?u:null,this.onRejected=typeof c=="function"?c:null,this.resolve=d,this.reject=m,this.psd=v}function Qh(u,c){var d,m;yc.push(c),u._state===null&&(d=u._lib&&qo(),c=qh(c),u._state=!1,u._value=c,m=u,Js.some(function(v){return v._value===m._value})||Js.push(m),z0(u),d&&Ho())}function z0(u){var c=u._listeners;u._listeners=[];for(var d=0,m=c.length;d.",W0="String expected.",Yo=[],Ic="__dbnames",Xh="readonly",Zh="readwrite";function to(u,c){return u?c?function(){return u.apply(this,arguments)&&c.apply(this,arguments)}:u:c}var q0={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Ec(u){return typeof u!="string"||/\./.test(u)?function(c){return c}:function(c){return c[u]===void 0&&u in c&&delete(c=Pe(c))[u],c}}function H0(){throw pe.Type()}function je(u,c){try{var d=Q0(u),m=Q0(c);if(d!==m)return d==="Array"?1:m==="Array"?-1:d==="binary"?1:m==="binary"?-1:d==="string"?1:m==="string"?-1:d==="Date"?1:m!=="Date"?NaN:-1;switch(d){case"number":case"Date":case"string":return cj+V&&F(j+C)})})}return F(0).then(function(){if(0=C})).length!==0?(M.forEach(function(F){B.push(function(){var j=R,V=F._cfg.dbschema;Rc(D,j,T),Rc(D,V,T),R=D._dbSchema=V;var q=up(j,V);q.add.forEach(function(te){lp(T,te[0],te[1].primKey,te[1].indexes)}),q.change.forEach(function(te){if(te.recreate)throw new pe.Upgrade("Not yet support for changing primary key");var he=T.objectStore(te.name);te.add.forEach(function(me){return Ac(he,me)}),te.change.forEach(function(me){he.deleteIndex(me.name),Ac(he,me)}),te.del.forEach(function(me){return he.deleteIndex(me)})});var Y=F._cfg.contentUpgrade;if(Y&&F._cfg.version>C){xc(D,T),P._memoizedTables={};var ne=X(V);q.del.forEach(function(te){ne[te]=j[te]}),ap(D,[D.Transaction.prototype]),Cc(D,[D.Transaction.prototype],o(ne),ne),P.schema=ne;var J,ie=Re(Y);return ie&&Qo(),q=se.follow(function(){var te;(J=Y(P))&&ie&&(te=es.bind(null,null),J.then(te,te))}),J&&typeof J.then=="function"?se.resolve(J):q.then(function(){return J})}}),B.push(function(j){var V,q,Y=F._cfg.dbschema;V=Y,q=j,[].slice.call(q.db.objectStoreNames).forEach(function(ne){return V[ne]==null&&q.db.deleteObjectStore(ne)}),ap(D,[D.Transaction.prototype]),Cc(D,[D.Transaction.prototype],D._storeNames,D._dbSchema),P.schema=D._dbSchema}),B.push(function(j){D.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(D.idbdb.version/10)===F._cfg.version?(D.idbdb.deleteObjectStore("$meta"),delete D._dbSchema.$meta,D._storeNames=D._storeNames.filter(function(V){return V!=="$meta"})):j.objectStore("$meta").put(F._cfg.version,"version"))})}),function F(){return B.length?se.resolve(B.shift()(P.idbtrans)).then(F):se.resolve()}().then(function(){rw(R,T)})):se.resolve();var D,C,P,T,B,R}).catch(S)):(o(v).forEach(function(M){lp(d,M,v[M].primKey,v[M].indexes)}),xc(u,d),void se.follow(function(){return u.on.populate.fire(g)}).catch(S));var A,x})}function Ux(u,c){rw(u._dbSchema,c),c.db.version%10!=0||c.objectStoreNames.contains("$meta")||c.db.createObjectStore("$meta").add(Math.ceil(c.db.version/10-1),"version");var d=Pc(0,u.idbdb,c);Rc(u,u._dbSchema,c);for(var m=0,v=up(d,u._dbSchema).change;mMath.pow(2,62)?0:R.oldVersion,D=R<1,u.idbdb=B.result,g&&Ux(u,M),jx(u,R/10,M,P))},P),B.onsuccess=vt(function(){M=null;var R,F,j,V,q,Y=u.idbdb=B.result,ne=b(Y.objectStoreNames);if(0"u"?se.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(C){function P(){return indexedDB.databases().finally(C)}A=setInterval(P,100),P()}).finally(function(){return clearInterval(A)}):Promise.resolve()).then(k)]).then(function(){return S(),c.onReadyBeingFired=[],se.resolve(dp(function(){return u.on.ready.fire(u.vip)})).then(function C(){if(0c.limit?C.length=c.limit:u.length===c.limit&&C.length=F.limit&&(!F.values||Y.req.values)&&Qx(Y.req.query.range,F.query.range)}),!1,j,V];case"count":return q=V.find(function(Y){return hw(Y.req.query.range,F.query.range)}),[q,!!q,j,V]}}(c,d,"query",g),M=x[0],D=x[1],C=x[2],P=x[3];return M&&D?M.obsSet=g.obsSet:(D=m.query(g).then(function(T){var B=T.result;if(M&&(M.res=B),S){for(var R=0,F=B.length;R{var o=(async()=>{var a=$e(n);a.autoOpen=!1;var l=new Hy(i,a),f={[Od]:eF(r),[GB]:"++sequence, id",[Cb]:"id"};return l.version(1).stores(f),await l.open(),{dexieDb:l,dexieTable:l[Od],dexieAttachmentsTable:l[Cb],booleanIndexes:tF(r)}})();return Ab.set(i,s),Mf.set(s,0),o});return s}async function XB(t){var e=await t,n=Mf.get(t),r=n-1;r===0?(e.dexieDb.close(),Mf.delete(t)):Mf.set(t,r)}var Qy="__";function rc(t){var e=t.split(".");if(e.length>1)return e.map(r=>rc(r)).join(".");if(t.startsWith("|")){var n=t.substring(1);return Qy+n}else return t}function UO(t){var e=t.split(".");if(e.length>1)return e.map(r=>UO(r)).join(".");if(t.startsWith(Qy)){var n=t.substring(Qy.length);return"|"+n}else return t}function ZB(t,e){return e&&(e=$e(e),e=Yy(e),t.forEach(n=>{var r=Ts(e,n),i=r?"1":"0";rE(e,n,i)}),e)}function zO(t,e){return e&&(e=$e(e),e=Gy(e),t.forEach(n=>{var r=Ts(e,n),i=r==="1";rE(e,n,i)}),e)}function Yy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Yy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{typeof r=="object"&&(r=Yy(r)),e[rc(n)]=r}),e}}function Gy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Gy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{(typeof r=="object"||Array.isArray(t))&&(r=Gy(r)),e[UO(n)]=r}),e}}function eF(t){var e=[],n=Fn(t.primaryKey);e.push([n]),e.push(["_deleted",n]),t.indexes&&t.indexes.forEach(s=>{var o=Ua(s);e.push(o)}),e.push(["_meta.lwt",n]),e.push(["_meta.lwt"]),e=e.map(s=>s.map(o=>rc(o)));var r=e.map(s=>s.length===1?s[0]:"["+s.join("+")+"]");r=r.filter((s,o,a)=>a.indexOf(s)===o);var i=r.join(", ");return i}async function Pb(t,e){var n=await t,r=await n.dexieTable.bulkGet(e);return r.map(i=>zO(n.booleanIndexes,i))}function af(t,e){return t+"||"+e}function tF(t){var e=new Set,n=[];return t.indexes?(t.indexes.forEach(r=>{var i=Ua(r);i.forEach(s=>{if(!e.has(s)){e.add(s);var o=Ui(t,s);o.type==="boolean"&&n.push(s)}})}),n.push("_deleted"),AP(n)):n}function Rb(t){return t===li?-1/0:t}function Tb(t,e,n){if(t.includes(e)){var r=n===Cr||n===!0?"1":"0";return r}else return n}function VO(t,e,n){if(!n){if(typeof window>"u")throw new Error("IDBKeyRange missing");n=window.IDBKeyRange}var r=e.startKeys.map((o,a)=>{var l=e.index[a];return Tb(t,l,o)}).map(Rb),i=e.endKeys.map((o,a)=>{var l=e.index[a];return Tb(t,l,o)}).map(Rb),s=n.bound(r,i,!e.inclusiveStart,!e.inclusiveEnd);return s}async function Mb(t,e){var n=await t.internals,r=e.query,i=r.skip?r.skip:0,s=r.limit?r.limit:1/0,o=i+s,a=e.queryPlan,l=!1;a.selectorSatisfiedByIndex||(l=Oh(t.schema,e.query));var f=VO(n.booleanIndexes,a,n.dexieDb._options.IDBKeyRange),h=a.index,p=[];if(await n.dexieDb.transaction("r",n.dexieTable,async w=>{var I=w.idbtrans,O=I.objectStore(Od),$,_;_="["+h.map(E=>rc(E)).join("+")+"]",$=O.index(_);var b=$.openCursor(f);await new Promise(E=>{b.onsuccess=function(z){var W=z.target.result;if(W){var Q=zO(n.booleanIndexes,W.value);(!l||l(Q))&&p.push(Q),a.sortSatisfiedByIndex&&p.length===o?E():W.continue()}else E()}})}),!a.sortSatisfiedByIndex){var y=Fg(t.schema,e.query);p=p.sort(y)}return p=p.slice(i,o),{documents:p}}async function nF(t,e){var n=await t.internals,r=e.queryPlan,i=r.index,s=VO(n.booleanIndexes,r,n.dexieDb._options.IDBKeyRange),o=-1;return await n.dexieDb.transaction("r",n.dexieTable,async a=>{var l=a.idbtrans,f=l.objectStore(Od),h,p;p="["+i.map(w=>rc(w)).join("+")+"]",h=f.index(p);var y=h.count(s);o=await new Promise((w,I)=>{y.onsuccess=function(){w(y.result)},y.onerror=O=>I(O)})}),o}var rF=Ft(),iF=function(){function t(n,r,i,s,o,a,l){this.changes$=new Kt,this.instanceId=rF++,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,this.primaryPath=Fn(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=async function(r,i){oo(this),r.forEach(h=>{if(!h.document._rev||h.previous&&!h.previous._rev)throw le("SNH",{args:{row:h}})});var s=await this.internals,o={success:[],error:[]},a=r.map(h=>h.document[this.primaryPath]),l;if(await s.dexieDb.transaction("rw",s.dexieTable,s.dexieAttachmentsTable,async()=>{var h=new Map,p=await Pb(this.internals,a);p.forEach(I=>{var O=I;return O&&h.set(O[this.primaryPath],O),O}),l=iO(this,this.primaryPath,h,r,i),o.error=l.errors;var y=[];l.bulkInsertDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),l.bulkUpdateDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),y=y.map(I=>ZB(s.booleanIndexes,I)),y.length>0&&await s.dexieTable.bulkPut(y);var w=[];l.attachmentsAdd.forEach(I=>{w.push({id:af(I.documentId,I.attachmentId),data:I.attachmentData.data})}),l.attachmentsUpdate.forEach(I=>{w.push({id:af(I.documentId,I.attachmentId),data:I.attachmentData.data})}),await s.dexieAttachmentsTable.bulkPut(w),await s.dexieAttachmentsTable.bulkDelete(l.attachmentsRemove.map(I=>af(I.documentId,I.attachmentId)))}),l=ye(l),l.eventBulk.events.length>0){var f=ye(l.newestRow).document;l.eventBulk.checkpoint={id:f[this.primaryPath],lwt:f._meta.lwt},l.eventBulk.endTime=Ft(),this.changes$.next(l.eventBulk)}return o},e.findDocumentsById=async function(r,i){oo(this);var s=await this.internals,o=[];return await s.dexieDb.transaction("r",s.dexieTable,async()=>{var a=await Pb(this.internals,r);a.forEach(l=>{l&&(!l._deleted||i)&&o.push(l)})}),o},e.query=function(r){return oo(this),Mb(this,r)},e.count=async function(r){if(r.queryPlan.selectorSatisfiedByIndex){var i=await nF(this,r);return{count:i,mode:"fast"}}else{var s=await Mb(this,r);return{count:s.documents.length,mode:"slow"}}},e.changeStream=function(){return oo(this),this.changes$.asObservable()},e.cleanup=async function(r){oo(this);var i=await this.internals;return await i.dexieDb.transaction("rw",i.dexieTable,async()=>{var s=Ft()-r,o=await i.dexieTable.where("_meta.lwt").below(s).toArray(),a=[];o.forEach(l=>{l._deleted==="1"&&a.push(l[this.primaryPath])}),await i.dexieTable.bulkDelete(a)}),!0},e.getAttachmentData=async function(r,i,s){oo(this);var o=await this.internals,a=af(r,i);return await o.dexieDb.transaction("r",o.dexieAttachmentsTable,async()=>{var l=await o.dexieAttachmentsTable.get(a);if(l)return l.data;throw new Error("attachment missing documentId: "+r+" attachmentId: "+i)})},e.remove=async function(){oo(this);var r=await this.internals;return await r.dexieTable.clear(),this.close()},e.close=function(){return this.closed?this.closed:(this.closed=(async()=>{this.changes$.complete(),await XB(this.internals)})(),this.closed)},e.conflictResultionTasks=function(){return new Kt},e.resolveConflictResultionTask=async function(r){},t}();async function sF(t,e,n){var r=JB(e.databaseName,e.collectionName,n,e.schema),i=new iF(t,e.databaseName,e.collectionName,e.schema,r,e.options,n);return await FB(jO,e,i),Promise.resolve(i)}function oo(t){if(t.closed)throw new Error("RxStorageInstanceDexie is closed "+t.databaseName+"-"+t.collectionName)}var oF=function(){function t(n){this.name=jO,this.rxdbVersion=vg,this.settings=n}var e=t.prototype;return e.createStorageInstance=function(r){return sO(r),sF(this,r,this.settings)},t}();function aF(t={}){var e=new oF(t);return e}function uF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>=0?(s=o,i=o-1):r=o+1}return s}function lF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>0?(s=o,i=o-1):r=o+1}return s}function cF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<0?(s=o,r=o+1):i=o-1}return s}function fF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<=0?(s=o,r=o+1):i=o-1}return s}function dF(t,e,n,r,i){for(;r<=i;){var s=r+i>>>1,o=t[s],a=n!==void 0?n(o,e):o-e;if(a===0)return s;a<=0?r=s+1:i=s-1}return-1}function ic(t,e,n,r,i,s){return typeof n=="function"?s(t,e,n,r===void 0?0:r|0,i===void 0?t.length-1:i|0):s(t,e,void 0,n===void 0?0:n|0,r===void 0?t.length-1:r|0)}function hF(t,e,n,r,i){return ic(t,e,n,r,i,uF)}function Nb(t,e,n,r,i){return ic(t,e,n,r,i,lF)}function pF(t,e,n,r,i){return ic(t,e,n,r,i,cF)}function mF(t,e,n,r,i){return ic(t,e,n,r,i,fF)}function KO(t,e,n,r,i){return ic(t,e,n,r,i,dF)}function WO(t,e,n){return[t,e,n].join("--memory--")}function uf(t){if(t.internals.removed)throw new Error("removed")}function lf(t,e){return t+"||"+e}function yF(t,e){return t.indexString{var o=s.docsWithIndex,a=s.getIndexableString(r),l=KO(o,{indexString:a},rl);o.splice(l,1)})}function rl(t,e){var n=t.indexString,r=e.indexString;return nUa(i)):[];r.push(["_deleted","_meta.lwt",n]),r.forEach(i=>{t.byIndex[Jy(i)]={index:i,docsWithIndex:[],getIndexableString:$B(e,i)}})}function Jy(t){return t.join(",")}var Fb=new Set,wF=function(){function t(n,r,i,s,o,a,l){this.closed=!1,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,Fb.add(this),this.primaryPath=Fn(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=function(r,i){this.ensurePersistence(),uf(this);for(var s=this.internals,o=this.internals.documents,a=this.primaryPath,l=iO(this,a,o,r,i),f=l.errors,h=new Array(l.bulkInsertDocs.length),p=l.bulkInsertDocs,y=0;y{this.internals.ensurePersistenceIdlePromise=void 0,this.ensurePersistence()})),l.eventBulk.events.length>0){var E=ye(l.newestRow).document;l.eventBulk.checkpoint={id:E[a],lwt:E._meta.lwt},l.eventBulk.endTime=Ft(),dd.then(()=>{s.changes$.next(l.eventBulk)})}var z=Promise.resolve({success:h,error:f});return z},e.ensurePersistence=function(){if(this.internals.ensurePersistenceTask){var r=this.internals,i=this.internals.documents,s=this.primaryPath,o=this.internals.ensurePersistenceTask;this.internals.ensurePersistenceTask=void 0;for(var a=Object.values(this.internals.byIndex),l=o.bulkInsertDocs,f=0;f{b.set(lf(E.documentId,E.attachmentId),{writeData:E.attachmentData,digest:E.digest})}),this.schema.attachments&&(o.attachmentsUpdate.forEach(E=>{b.set(lf(E.documentId,E.attachmentId),{writeData:E.attachmentData,digest:E.digest})}),o.attachmentsRemove.forEach(E=>{b.delete(lf(E.documentId,E.attachmentId))}))}}},e.findDocumentsById=function(r,i){this.ensurePersistence();var s=this.internals.documents,o=[];if(s.size===0)return Promise.resolve(o);for(var a=0;az)break;var X=H.doc;(!f||f(X))&&W.push(X),W.length>=l&&!p&&(Q=!0),E++}if(p){var U=Fg(this.schema,r.query);W=W.sort(U)}return W=W.slice(o,l),Promise.resolve({documents:W})},e.count=async function(r){this.ensurePersistence();var i=await this.query(r);return{count:i.documents.length,mode:"fast"}},e.cleanup=function(r){this.ensurePersistence();for(var i=Ft()-r,s=["_deleted","_meta.lwt",this.primaryPath],o=Jy(s),a=this.internals.byIndex[o].docsWithIndex,l=yb(this.schema,s,[!0,0,""]),f=Nb(a,{indexString:l},rl),h=!1;!h;){var p=a[f];!p||p.doc._meta.lwt>i?h=!0:(vF(this.primaryPath,this.schema,this.internals,p.doc),f++)}return dd},e.getAttachmentData=function(r,i,s){this.ensurePersistence(),uf(this);var o=lf(r,i),a=this.internals.attachments.get(o);if(!s||!a||a.digest!==s)throw new Error("attachment does not exist: "+o);return Promise.resolve(a.writeData.data)},e.changeStream=function(){return uf(this),this.internals.changes$.asObservable()},e.remove=async function(){if(this.closed)throw new Error("closed");this.ensurePersistence(),uf(this),this.internals.removed=!0,this.storage.collectionStates.delete(WO(this.databaseName,this.collectionName,this.schema.version)),await this.close()},e.close=function(){return Fb.delete(this),this.ensurePersistence(),this.closed||(this.closed=!0,this.internals.refCount=this.internals.refCount-1),un},e.conflictResultionTasks=function(){return this.internals.conflictResultionTasks$.asObservable()},e.resolveConflictResultionTask=function(r){return un},t}();function _F(t,e,n){var r=WO(e.databaseName,e.collectionName,e.schema.version),i=t.collectionStates.get(r);if(!i)i={id:su(5),schema:e.schema,removed:!1,refCount:1,documents:new Map,attachments:e.schema.attachments?new Map:void 0,byIndex:{},conflictResultionTasks$:new Kt,changes$:new Kt},gF(i,e.schema),t.collectionStates.set(r,i);else{if(e.devMode&&!Ka(i.schema,e.schema))throw new Error("storage was already created with a different schema");i.refCount=i.refCount+1}var s=new wF(t,e.databaseName,e.collectionName,e.schema,i,e.options,n);return Promise.resolve(s)}var bF=new Map;function Lb(t={}){var e={name:"memory",rxdbVersion:vg,collectionStates:bF,createStorageInstance(n){sO(n);var r=Object.assign({},t,n.options);return _F(this,n,r)}};return e}function SF(t){let{name:e,options:n,storage:r,...i}=t;if(!r)switch(n.storageType){case"dexie":r=aF(n.storageOptions);break;case"memory":r=Lb(n.storageOptions);break;default:r=Lb(n.storageOptions);break}return{name:e,storage:r,options:n,...i}}const IF="modulepreload",EF=function(t){return"/"+t},$b={},OF=function(e,n,r){let i=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link");i=Promise.all(n.map(o=>{if(o=EF(o),o in $b)return;$b[o]=!0;const a=o.endsWith(".css"),l=a?'[rel="stylesheet"]':"";if(!!r)for(let p=s.length-1;p>=0;p--){const y=s[p];if(y.href===o&&(!a||y.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${l}`))return;const h=document.createElement("link");if(h.rel=a?"stylesheet":IF,a||(h.as="script",h.crossOrigin=""),h.href=o,document.head.appendChild(h),a)return new Promise((p,y)=>{h.addEventListener("load",p),h.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${o}`)))})}))}return i.then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})},kF=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,jb=t=>{if(typeof t!="string")throw new TypeError("Invalid argument expected string");const e=t.match(kF);if(!e)throw new Error(`Invalid argument not valid semver ('${t}' received)`);return e.shift(),e},Ub=t=>t==="*"||t==="x"||t==="X",zb=t=>{const e=parseInt(t,10);return isNaN(e)?t:e},DF=(t,e)=>typeof t!=typeof e?[String(t),String(e)]:[t,e],xF=(t,e)=>{if(Ub(t)||Ub(e))return 0;const[n,r]=DF(zb(t),zb(e));return n>r?1:n{for(let n=0;n{const n=jb(t),r=jb(e),i=n.pop(),s=r.pop(),o=Vb(n,r);return o!==0?o:i&&s?Vb(i.split("."),s.split(".")):i||s?i?-1:1:0},AF=(t,e,n)=>{PF(n);const r=CF(t,e);return qO[n].includes(r)},qO={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Kb=Object.keys(qO),PF=t=>{if(typeof t!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof t}`);if(Kb.indexOf(t)===-1)throw new Error(`Invalid operator, expected one of ${Kb.join("|")}`)},{logger:Yr,getDefaultPreparedQuery:RF}=Br,Wb="storage-token|storageToken",Yg=async t=>{let e;try{const r=await LO()(t);if(r.ok)e=await r.json();else throw new Error(`Failed to fetch schema from "${t}", status: ${r.status}`)}catch{throw new Error(`Failed to fetch schema from "${t}"`)}return e},TF=async t=>{var e;try{const n={};for(const r in t){const i=t[r];!i.schema&&((e=i.options)!=null&&e.schemaUrl)&&(i.schema=await Yg(i.options.schemaUrl)),n[i.name]=i}return n}catch(n){throw new Error(n.message)}},MF=async(t,e)=>{let n;const i=await LO()(t);if(i.ok)n=await i.json();else throw new Error(`Failed to fetch db dump from "${t}", status: ${i.status}`);if(!e||!Object.keys(e).length)throw new Error("collections must be initialized before importing");for(const s of n.collections){const o=e[s.name];if(o)s.schemaHash=o.schema._hash;else throw new Error("no such collection as provided in dump")}return n},NF=async(t,e,n)=>{var s,o;let r={};if(t.name!=="dexie")return;const i=(s=await e.internals)==null?void 0:s.dexieTable;if(r=(o=await i.get(Wb))==null?void 0:o.data,!(r!=null&&r.rxdbVersion)||AF(n,r.rxdbVersion,">"))try{await i.update(Wb,{data:{...r,rxdbVersion:n}}),Yr.log("prepare-plugin: migrated internal storage to",n)}catch{throw new Error("prepare-plugin: unable to migrate internal storage")}},BF=async({database:t,creator:e})=>{var o;const n=await IO(t);Yr.log("prepare-plugin: hook:createRxDatabase:after");const{storage:r,internalStore:i,rxdbVersion:s}=t;if(await NF(r,i,s),!(!((o=e.options)!=null&&o.dumpPath)||!n))try{const a=await MF(e.options.dumpPath,t.collections);await t.importJSON(a),Yr.log(`prepare-plugin: imported dump for db "${t.name}"`)}catch(a){Yr.log("prepare-plugin: imported dump error",a)}},FF=async t=>{if(typeof t=="string"){const e=await Yg(t);if(!e)throw new Error(`Failed to fetch schema from "${t}"`);t=e}},LF=async({collection:t,creator:e})=>{var l,f,h;Yr.log("prepare-plugin: hook:createRxCollection:before");const n=await t.getMetadata();Yr.log("prepare-plugin: hook:createRxCollection:before",n);const r=((l=e.options)==null?void 0:l.initialDocs)||[],i=await a();if(!r.length)return;if(i||!n.isFirstTimeInstantiated){if(!((f=e.options)!=null&&f.recreate)||(h=e.options)!=null&&h.replication)return;Yr.log(`prepare-plugin: collection "${t.name}" already has ${i} docs (including _deleted), but recreate option is set`)}const s=await t.schema.hash,o={name:t.name,schemaHash:s,docs:r};try{const{success:p,error:y}=await t.importJSON(o),w=await a();Yr.log(`prepare-plugin: imported ${p.length} docs for collection "${t.name}", errors count ${y.length}, current docs count ${w}`),Yr.table(p)}catch(p){Yr.log("prepare-plugin: imported dump error",p)}return;async function a(){const{count:p}=await t.storageInstance.count(RF()).catch(()=>({count:0}));return p}},$F={name:"prepare-plugin",rxdb:!0,prototypes:{RxDatabase:t=>{Object.assign(t,{fetchSchema:Yg})},RxCollection:t=>{Object.assign(t,{getMetadata:async function(){const n=await IO(this.database),r=await zg(this.database.internalStore),{id:i,data:s,_meta:o,_rev:a}=r.filter(l=>l.data.name===this.name).at(0)||{};return{id:i||this.name,databaseName:this.database.name,collectionName:(s==null?void 0:s.name)||this.name,storageName:this.storageInstance.originalStorageInstance.storage.name,last_modified:o!=null&&o.lwt?Math.floor(o==null?void 0:o.lwt):Date.now(),rev:a?Number(a==null?void 0:a.at(0)):1,isFirstTimeInstantiated:n}}})}},hooks:{createRxDatabase:{after:BF},preCreateRxSchema:{before:FF},createRxCollection:{after:LF}}};function HO(t,e){const n={};if(Array.isArray(e))for(const r of e){const i=Object.getOwnPropertyDescriptor(t,r);i!=null&&i.enumerable&&Object.defineProperty(n,r,i)}else for(const r of Reflect.ownKeys(t)){const i=Object.getOwnPropertyDescriptor(t,r);if(i.enumerable){const s=t[r];e(r,s,t)&&Object.defineProperty(n,r,i)}}return n}const QO="%[a-f0-9]{2}",qb=new RegExp("("+QO+")|([^%]+?)","gi"),Hb=new RegExp("("+QO+")+","gi");function Xy(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(t.length===1)return t;e=e||1;const n=t.slice(0,e),r=t.slice(e);return Array.prototype.concat.call([],Xy(n),Xy(r))}function jF(t){try{return decodeURIComponent(t)}catch{let e=t.match(qb)||[];for(let n=1;nt==null,KF=t=>encodeURIComponent(t).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),Zy=Symbol("encodeFragmentIdentifier");function WF(t){switch(t.arrayFormat){case"index":return e=>(n,r)=>{const i=n.length;return r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[",i,"]"].join("")]:[...n,[Nt(e,t),"[",Nt(i,t),"]=",Nt(r,t)].join("")]};case"bracket":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[]"].join("")]:[...n,[Nt(e,t),"[]=",Nt(r,t)].join("")];case"colon-list-separator":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),":list="].join("")]:[...n,[Nt(e,t),":list=",Nt(r,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e=t.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||t.skipNull&&i===null||t.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Nt(n,t),e,Nt(i,t)].join("")]:[[r,Nt(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,Nt(e,t)]:[...n,[Nt(e,t),"=",Nt(r,t)].join("")]}}function qF(t){let e;switch(t.arrayFormat){case"index":return(n,r,i)=>{if(e=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!e){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][e[1]]=r};case"bracket":return(n,r,i)=>{if(e=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(e=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const s=typeof r=="string"&&r.includes(t.arrayFormatSeparator),o=typeof r=="string"&&!s&&Ei(r,t).includes(t.arrayFormatSeparator);r=o?Ei(r,t):r;const a=s||o?r.split(t.arrayFormatSeparator).map(l=>Ei(l,t)):r===null?r:Ei(r,t);i[n]=a};case"bracket-separator":return(n,r,i)=>{const s=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!s){i[n]=r&&Ei(r,t);return}const o=r===null?[]:r.split(t.arrayFormatSeparator).map(a=>Ei(a,t));if(i[n]===void 0){i[n]=o;return}i[n]=[...i[n],...o]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function GO(t){if(typeof t!="string"||t.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Nt(t,e){return e.encode?e.strict?KF(t):encodeURIComponent(t):t}function Ei(t,e){return e.decode?zF(t):t}function JO(t){return Array.isArray(t)?t.sort():typeof t=="object"?JO(Object.keys(t)).sort((e,n)=>Number(e)-Number(n)).map(e=>t[e]):t}function XO(t){const e=t.indexOf("#");return e!==-1&&(t=t.slice(0,e)),t}function HF(t){let e="";const n=t.indexOf("#");return n!==-1&&(e=t.slice(n)),e}function Qb(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&typeof t=="string"&&t.trim()!==""?t=Number(t):e.parseBooleans&&t!==null&&(t.toLowerCase()==="true"||t.toLowerCase()==="false")&&(t=t.toLowerCase()==="true"),t}function Gg(t){t=XO(t);const e=t.indexOf("?");return e===-1?"":t.slice(e+1)}function Jg(t,e){e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e},GO(e.arrayFormatSeparator);const n=qF(e),r=Object.create(null);if(typeof t!="string"||(t=t.trim().replace(/^[?#&]/,""),!t))return r;for(const i of t.split("&")){if(i==="")continue;const s=e.decode?i.replace(/\+/g," "):i;let[o,a]=YO(s,"=");o===void 0&&(o=s),a=a===void 0?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?a:Ei(a,e),n(Ei(o,e),a,r)}for(const[i,s]of Object.entries(r))if(typeof s=="object"&&s!==null)for(const[o,a]of Object.entries(s))s[o]=Qb(a,e);else r[i]=Qb(s,e);return e.sort===!1?r:(e.sort===!0?Object.keys(r).sort():Object.keys(r).sort(e.sort)).reduce((i,s)=>{const o=r[s];return o&&typeof o=="object"&&!Array.isArray(o)?i[s]=JO(o):i[s]=o,i},Object.create(null))}function ZO(t,e){if(!t)return"";e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e},GO(e.arrayFormatSeparator);const n=o=>e.skipNull&&VF(t[o])||e.skipEmptyString&&t[o]==="",r=WF(e),i={};for(const[o,a]of Object.entries(t))n(o)||(i[o]=a);const s=Object.keys(i);return e.sort!==!1&&s.sort(e.sort),s.map(o=>{const a=t[o];return a===void 0?"":a===null?Nt(o,e):Array.isArray(a)?a.length===0&&e.arrayFormat==="bracket-separator"?Nt(o,e)+"[]":a.reduce(r(o),[]).join("&"):Nt(o,e)+"="+Nt(a,e)}).filter(o=>o.length>0).join("&")}function ek(t,e){var i;e={decode:!0,...e};let[n,r]=YO(t,"#");return n===void 0&&(n=t),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:Jg(Gg(t),e),...e&&e.parseFragmentIdentifier&&r?{fragmentIdentifier:Ei(r,e)}:{}}}function tk(t,e){e={encode:!0,strict:!0,[Zy]:!0,...e};const n=XO(t.url).split("?")[0]||"",r=Gg(t.url),i={...Jg(r,{sort:!1}),...t.query};let s=ZO(i,e);s&&(s=`?${s}`);let o=HF(t.url);if(t.fragmentIdentifier){const a=new URL(n);a.hash=t.fragmentIdentifier,o=e[Zy]?a.hash:`#${t.fragmentIdentifier}`}return`${n}${s}${o}`}function nk(t,e,n){n={parseFragmentIdentifier:!0,[Zy]:!1,...n};const{url:r,query:i,fragmentIdentifier:s}=ek(t,n);return tk({url:r,query:HO(i,e),fragmentIdentifier:s},n)}function QF(t,e,n){const r=Array.isArray(e)?i=>!e.includes(i):(i,s)=>!e(i,s);return nk(t,r,n)}const gm=Object.freeze(Object.defineProperty({__proto__:null,exclude:QF,extract:Gg,parse:Jg,parseUrl:ek,pick:nk,stringify:ZO,stringifyUrl:tk},Symbol.toStringTag,{value:"Module"})),{keys:Yb,isEmpty:Gb,isNullOrUndefined:ev}=Br,YF=({selector:t,sort:e,limit:n,skip:r},i)=>{const s=Yb(i.jsonSchema.properties);return Gb(t)||(t=HO(t,o=>!o.startsWith("$")&&!o.includes(".")&&s.includes(o))),Gb(e)||(e=e==null?void 0:e.filter(o=>s.includes(Yb(o)[0]))),(ev(n)||isNaN(n))&&(n=void 0),(ev(r)||isNaN(r))&&(r=void 0),{selector:t,sort:e,limit:n,skip:r}},Jb=(t,e)=>{t=gm.extract(t);const n=gm.pick(t,["selector","sort","limit","skip"]),r=gm.parse(n,{parseNumbers:!0,parseBooleans:!0}),{selector:i,sort:s,limit:o,skip:a}=r,l=i?JSON.parse(i):void 0,f=s?JSON.parse(s):void 0;return YF({selector:l,sort:f,limit:o,skip:a},e)},cf=t=>ev(t)?"":JSON.stringify(t),{logger:Xb,compactObject:GF}=Br,JF={name:"query-params-plugin",rxdb:!0,prototypes:{RxCollection:t=>{const e=new Jr({});let n=!1,r,i=!1,s="",o=()=>Promise.resolve(!1);function a(h=PE,p){var y;n=!!((y=this.options)!=null&&y.useQueryParams),r=this.schema,!(!n||i)&&(o=p,h.pipe(Bo(),xy(w=>{s=w}),Mt(w=>Jb(w,r)),OE(w=>(Xb.log("Error in parsing url to mango query",w),e)),xy(w=>{Xb.log("queryParams",w)}),ME(()=>!this.destroyed)).subscribe(e),i=!0)}function l(h){if(!n)return;const{selector:p,sort:y,limit:w,skip:I}=h,O={limit:w,skip:I};p&&(O.selector=cf(h.selector)),y&&(O.sort=cf(h.sort)),o(O)}function f(h){if(!n)return;const p=Jb(s,r),y={selector:cf(h.selector||p.selector),sort:cf(h.sort||p.sort),limit:h.limit||p.limit,skip:h.skip||p.skip};o(GF(y))}Object.assign(t,{queryParams:{$:e.asObservable(),get:()=>e.getValue(),set:l,patch:f}},{queryParamsInit:a})}},hooks:{createRxCollection:{}}};var rk={minimumDeletedTime:1e3*60*60*24*31,minimumCollectionAge:1e3*60,runEach:1e3*60*5,awaitReplicationsInSync:!0,waitForLeadership:!0},wm=dd;async function XF(t){var e=t.database,n=Object.assign({},rk,e.cleanupPolicy?e.cleanupPolicy:{});await t.promiseWait(n.minimumCollectionAge),!t.destroyed&&(n.waitForLeadership&&await e.waitForLeadership(),!t.destroyed&&(await ik(t,n),await ZF(t,n)))}async function ik(t,e){for(var n=t.database,r=t.storageInstance,i=!1;!i&&!t.destroyed;){if(e.awaitReplicationsInSync){var s=FO.get(t);s&&await Promise.all(s.map(o=>{if(!o.isStopped())return o.awaitInSync()}))}if(await n.requestIdlePromise(),t.destroyed)return;wm=wm.then(()=>t.destroyed?!0:r.cleanup(e.minimumDeletedTime)),i=await wm}}async function ZF(t,e){for(;!t.destroyed;){if(await t.promiseWait(e.runEach),t.destroyed)return;await ik(t,e)}}var eL={name:"cleanup",rxdb:!0,prototypes:{RxCollection:t=>{t.cleanup=async function(e){var n=Object.assign({},rk,this.database.cleanupPolicy?this.database.cleanupPolicy:{});typeof e>"u"&&(e=n.minimumDeletedTime);for(var r=!1;!r&&!this.destroyed;)r=await this.storageInstance.cleanup(e)}}},hooks:{createRxCollection:{after:t=>{XF(t.collection)}}}};function tL(t){var e={name:this.name,instanceToken:this.token,collections:[]},n=Object.keys(this.collections).filter(r=>!t||t.includes(r)).filter(r=>r.charAt(0)!=="_").map(r=>this.collections[r]);return Promise.all(n.map(r=>r.exportJSON())).then(r=>(e.collections=r,e))}var nL=function(t){var e=t.collections.filter(n=>!this.collections[n.name]).map(n=>n.name);if(e.length>0)throw le("JD1",{missingCollections:e});return Promise.all(t.collections.map(n=>this.collections[n.name].importJSON(n)))},rL=async function(){var t={name:this.name,schemaHash:await this.schema.hash,docs:[]},e=ra("find",tl(),this);return nO(e).then(n=>(t.docs=n.map(r=>(r=$e(r),delete r._rev,delete r._attachments,r)),t))};async function iL(t){if(t.schemaHash!==await this.schema.hash)throw le("JD2",{schemaHash:t.schemaHash,own:this.schema.hash});var e=t.docs;return this.storageInstance.bulkWrite(e.map(n=>{var r=Object.assign({},n,{_meta:{lwt:Ft()},_rev:Rn(),_attachments:{},_deleted:!1});return{document:r}}),"json-dump-import")}var sL={name:"json-dump",rxdb:!0,prototypes:{RxDatabase:t=>{t.exportJSON=tL,t.importJSON=nL},RxCollection:t=>{t.exportJSON=rL,t.importJSON=iL}},overwritable:{}},oL=uO(),aL=function(t){gg(e,t);function e(n,r,i){var s;return s=t.call(this,null,r)||this,s.id=n,s.parent=i,s}return e}(oL),il={get isLocal(){return!0},get allAttachments$(){throw le("LD1",{document:this})},get primaryPath(){return"id"},get primary(){return this.id},get $(){var t=this,e=Mo(tv,this.parent);return t.parent.$.pipe(lt(n=>n.documentId===this.primary),lt(n=>n.isLocal),Mt(n=>kg(n)),Ql(e.docCache.getLatestDocumentData(this.primary)),Bo((n,r)=>n._rev===r._rev),Mt(n=>e.docCache.getCachedRxDocument(n)),Ai(Ci))},get $$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.$,t.getLatest()._data)},get deleted$$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.deleted$,t.getLatest().deleted)},getLatest(){var t=Mo(tv,this.parent),e=t.docCache.getLatestDocumentData(this.primary);return t.docCache.getCachedRxDocument(e)},get(t){if(t="data."+t,!!this._data){if(typeof t!="string")throw el("LD2",{objPath:t});var e=Ts(this._data,t);return e=it.deepFreezeWhenDevMode(e),e}},get$(t){if(t="data."+t,it.isDevMode()){if(t.includes(".item."))throw le("LD3",{objPath:t});if(t===this.primaryPath)throw le("LD4")}return this.$.pipe(Mt(e=>e._data),Mt(e=>Ts(e,t)),Bo())},get$$(t){var e=_m(this),n=e.getReactivityFactory();return n.fromObservable(this.get$(t),this.getLatest().get(t))},async incrementalModify(t){var e=await sl(this.parent);return e.incrementalWriteQueue.addWrite(this._data,async n=>(n.data=await t(n.data,this),n)).then(n=>e.docCache.getCachedRxDocument(n))},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t){var e=await sl(this.parent),n=this._data;return t.id=this.id,e.storageInstance.bulkWrite([{previous:n,document:t}],"local-document-save-data").then(r=>{var i=r.success[0];if(!i)throw r.error[0];t=$e(t),t._rev=i._rev})},async remove(){var t=await sl(this.parent),e={id:this._data.id,data:{},_deleted:!0,_meta:Ks(),_rev:Rn(),_attachments:{}};return Tl(t.storageInstance,{previous:this._data,document:e},"local-document-remove").then(n=>t.docCache.getCachedRxDocument(n))}},Zb=!1,uL=()=>{if(!Zb){Zb=!0;var t=kh,e=Object.getOwnPropertyNames(t);e.forEach(r=>{var i=Object.getOwnPropertyDescriptor(il,r);if(!i){var s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(il,r,s)}});var n=r=>()=>{throw le("LD6",{functionName:r})};["populate","update","putAttachment","getAttachment","allAttachments"].forEach(r=>il[r]=n(r))}};function lL(t,e){uL();var n=new aL(t.id,t,e);return Object.setPrototypeOf(n,il),n.prototype=il,n}function _m(t){var e=t.parent;return IN(e)?e:e.database}var kd=new WeakMap,tv=new WeakMap;function e1(t){var e=t.database?t.database:t,n=t.database?t.name:"",r=(async()=>{var i=await sk(e.token,e.storage,e.name,n,e.instanceCreationOptions,e.multiInstance);i=$g(e,i,ok);var s=new XE("id",t.$.pipe(lt(h=>h.isLocal)),h=>lL(h,t)),o=new aO(i,"id",()=>{},()=>{}),a=await e.storageToken,l=i.changeStream().subscribe(h=>{var p={id:h.id,internal:!1,collectionName:t.database?t.name:void 0,storageToken:a,events:h.events.map(y=>rO(!0,y,t.database?t:void 0)),databaseToken:e.token,checkpoint:h.checkpoint,context:h.context,endTime:h.endTime,startTime:h.startTime};e.$emit(p)});t._subs.push(l);var f={database:e,parent:t,storageInstance:i,docCache:s,incrementalWriteQueue:o};return tv.set(t,f),f})();kd.set(t,r)}function sl(t){var e=kd.get(t);if(!e){var n=t.database?t.database:t,r=t.database?t.name:"";throw le("LD8",{database:n.name,collection:r})}return e}function sk(t,e,n,r,i,s){return e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:cL(r),schema:ok,options:i,multiInstance:s,devMode:it.isDevMode()})}function t1(t){var e=kd.get(t);if(e)return kd.delete(t),e.then(n=>n.storageInstance.close())}async function n1(t,e,n){var r=su(10),i=await sk(r,t,e,n,{},!1);await i.remove()}function cL(t){return"plugin-local-documents-"+t}var ok=bh({title:"RxLocalDocument",version:0,primaryKey:"id",type:"object",properties:{id:{type:"string",maxLength:128},data:{type:"object",additionalProperties:!0}},required:["id","data"]});async function r1(t,e){var n=await sl(this),r={id:t,data:e,_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}};return Tl(n.storageInstance,{document:r},"local-document-insert").then(i=>n.docCache.getCachedRxDocument(i))}function i1(t,e){return this.getLocal(t).then(n=>{if(n)return n.incrementalModify(()=>e);var r=this.insertLocal(t,e);return r})}async function s1(t){var e=await sl(this),n=e.docCache,r=n.getLatestDocumentDataIfExists(t);return r?Promise.resolve(n.getCachedRxDocument(r)):Zl(e.storageInstance,t).then(i=>i?e.docCache.getCachedRxDocument(i):null)}function o1(t){return this.$.pipe(Ql(null),Nr(async e=>{if(e)return{changeEvent:e};var n=await this.getLocal(t);return{doc:n}}),Nr(async e=>{if(e.changeEvent){var n=e.changeEvent;if(!n.isLocal||n.documentId!==t)return{use:!1};var r=await this.getLocal(t);return{use:!0,doc:r}}else return{use:!0,doc:e.doc}}),lt(e=>e.use),Mt(e=>e.doc))}var ak={name:"local-documents",rxdb:!0,prototypes:{RxCollection:t=>{t.insertLocal=r1,t.upsertLocal=i1,t.getLocal=s1,t.getLocal$=o1},RxDatabase:t=>{t.insertLocal=r1,t.upsertLocal=i1,t.getLocal=s1,t.getLocal$=o1}},hooks:{createRxDatabase:{before:t=>{t.creator.localDocuments&&e1(t.database)}},createRxCollection:{before:t=>{t.creator.localDocuments&&e1(t.collection)}},preDestroyRxDatabase:{after:t=>t1(t)},postDestroyRxCollection:{after:t=>t1(t)},postRemoveRxDatabase:{after:t=>n1(t.storage,t.databaseName,"")},postRemoveRxCollection:{after:t=>n1(t.storage,t.databaseName,t.collectionName)}},overwritable:{}};async function uk(t){var e=pR(t.collection.schema.jsonSchema).map(r=>t.collection.name+"-"+r),n=await t.database.internalStore.findDocumentsById(e.map(r=>Qa(r,ko)),!1);if(n.length>1)throw new Error("more the one old collection meta found");return n[0]}function fL(t,e,n){var r=$e(n._attachments),i=Pn(n),s=i._meta;delete i._meta,i._attachments=r;for(var o=e+1,a=Promise.resolve(i),l=function(){var f=o;a=a.then(h=>dL(t,f,h)),o++};o<=t.schema.version;)l();return a.then(f=>f===null?mg:(f._meta=s,f))}function dL(t,e,n){if(n===null)return mg;var r=t.migrationStrategies[e](n,t),i=ZI(r);return i}async function lk(t){if(t.collection.schema.version===0)return Gn;var e=await uk(t);return!!e}var hL=200,ck=new WeakMap;function pL(t){var e=fk(t.database),n=e.getValue().slice(0);n.push(t),e.next(n)}function fk(t){return Tr(ck,t,()=>new Jr([]))}function mL(t){var e=ck.get(t);e&&e.complete()}var yL=function(){function t(n,r,i=[n.name,"v",n.schema.version].join("-")){this.started=!1,this.updateStatusHandlers=[],this.updateStatusQueue=dd,this.collection=n,this.migrationStrategies=r,this.statusDocKey=i,this.database=n.database,this.oldCollectionMeta=uk(this),this.mustMigrate=lk(this),this.statusDocId=Qa(this.statusDocKey,Pf),pL(this),this.$=q2(this.database.internalStore,this.statusDocId).pipe(lt(s=>!!s),Mt(s=>ye(s).data),Ai(Ci))}var e=t.prototype;return e.getStatus=function(){return As(this.$)},e.startMigration=async function(r=hL){var i=await this.mustMigrate;if(i){if(this.started)throw le("DM1");this.started=!0;var s=void 0;if(this.database.multiInstance){s=new xh(["rx-migration-state",this.database.name,this.collection.name,this.collection.schema.version].join("|"));var o=NB(s);await o.awaitLeadership()}var a=await this.oldCollectionMeta,l=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:this.collection.name,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:a.data.schema,password:this.database.password,devMode:it.isDevMode()}),f=await this.getConnectedStorageInstances(),h=await this.countAllDoucments([l].concat(f.map(p=>p.oldStorage)));await this.updateStatus(p=>(p.count.total=h,p));try{await Promise.all(f.map(async p=>{await fO(this.collection,p.newStorage.collectionName,p.newStorage.schema),await this.migrateStorage(p.oldStorage,p.newStorage,r),await p.newStorage.close()})),await this.migrateStorage(l,this.collection.storageInstance.originalStorageInstance,r)}catch(p){await l.close(),await this.updateStatus(y=>(y.status="ERROR",y.error=Oy(p),y));return}await Tl(this.database.internalStore,{previous:a,document:Object.assign({},a,{_deleted:!0})},"rx-migration-remove-collection-meta"),await this.updateStatus(p=>(p.status="DONE",p)),s&&await s.close()}},e.updateStatus=function(r){return this.updateStatusHandlers.push(r),this.updateStatusQueue=this.updateStatusQueue.then(async()=>{if(this.updateStatusHandlers.length!==0){var i=this.updateStatusHandlers;for(this.updateStatusHandlers=[];;){var s=await Zl(this.database.internalStore,this.statusDocId),o=Pn(s);s||(o={id:this.statusDocId,key:this.statusDocKey,context:Pf,data:{collectionName:this.collection.name,status:"RUNNING",count:{total:0,handled:0,percent:0}},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}});var a=ye(o).data;for(var l of i)a=l(a);if(a.count.percent=Math.round(a.count.handled/a.count.total*100),o&&s&&Ka(o.data,s.data))break;try{await Tl(this.database.internalStore,{previous:s,document:ye(o)},Pf);break}catch(f){if(!_h(f))throw f}}}}),this.updateStatusQueue},e.migrateStorage=async function(r,i,s){var o=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:"rx-migration-state-meta-"+this.collection.name+"-"+this.collection.schema.version,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:Vy(r.schema,vd(r.schema)),password:this.database.password,devMode:it.isDevMode()}),a=pN(i,bd,this.database.token,!0),l=pO({keepMeta:!0,identifier:["rx-migration-state",this.collection.name,r.schema.version,this.collection.schema.version].join("-"),replicationHandler:{masterChangesSince(){return Promise.resolve({checkpoint:null,documents:[]})},masterWrite:async h=>{h=await Promise.all(h.map(async y=>{var w=y.newDocumentState;if(i.schema.title===Rf&&(w=y.newDocumentState.docData,y.newDocumentState.isCheckpoint==="1"))return{assumedMasterState:void 0,newDocumentState:y.newDocumentState};var I=await fL(this.collection,r.schema.version,w),O={assumedMasterState:void 0,newDocumentState:i.schema.title===Rf?Object.assign({},y.newDocumentState,{docData:I}):I};return O})),h=h.filter(y=>!!y.newDocumentState);var p=await a.masterWrite(h);return p},masterChangeStream$:new Kt().asObservable()},forkInstance:r,metaInstance:o,pushBatchSize:s,pullBatchSize:0,conflictHandler:bd,hashFunction:this.database.hashFunction}),f=!1;if(l.events.error.subscribe(h=>f=h),l.events.processed.up.subscribe(()=>{this.updateStatus(h=>(h.count.handled=h.count.handled+1,h))}),await Tf(l),await mO(l),await this.updateStatusQueue,f)throw await o.close(),f;await Promise.all([r.remove(),o.remove()])},e.countAllDoucments=async function(r){var i=0;return await Promise.all(r.map(async s=>{var o=Xl(s.schema,Rl(s.schema,{selector:{}})),a=await s.count(o);i+=a.count})),i},e.getConnectedStorageInstances=async function(){var r=await this.oldCollectionMeta,i=[];return await Promise.all(await Promise.all(r.data.connectedStorages.map(async s=>{if(s.schema.title!==Rf)throw new Error("unknown migration handling for schema");var o=Vy(Pn(this.collection.schema.jsonSchema),vd(s.schema));o.version=this.collection.schema.version;var[a,l]=await Promise.all([this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:s.schema,password:this.database.password,collectionName:s.collectionName}),this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:o,password:this.database.password,collectionName:s.collectionName})]);i.push({oldStorage:a,newStorage:l})}))),i},e.migratePromise=async function(r){this.startMigration(r);var i=await this.mustMigrate;if(!i)return{status:"DONE",collectionName:this.collection.name,count:{handled:0,percent:0,total:0}};var s=await Promise.race([As(this.$.pipe(lt(o=>o.status==="DONE"))),As(this.$.pipe(lt(o=>o.status==="ERROR")))]);if(s.status==="ERROR")throw le("DM4",{collection:this.collection.name,error:s.error});return s},t}(),vL=new WeakMap,gL={name:"migration-schema",rxdb:!0,init(){Kr(ak)},hooks:{preDestroyRxDatabase:{after:mL}},prototypes:{RxDatabase:t=>{t.migrationStates=function(){return fk(this).pipe(Ai(Ci))}},RxCollection:t=>{t.getMigrationState=function(){return Tr(vL,this,()=>new yL(this.asRxCollection,this.migrationStrategies))},t.migrationNeeded=function(){return this.schema.version===0?Gn:lk(this.getMigrationState())}}}};const Xg=(t,e)=>{switch(t){case"deep":return Py(e);case"copy":return Ry(e)?new Date(e):Lt(e)?[...e]:wt(e)?Object.assign({},e):e;default:return e}},wL=/^[a-z]+[a-zA-Z0-9]*$/;function dk(t){if(!t.includes(".$"))return[{parent:t,selector:t},[]];const e=t.indexOf(".$"),n=t.indexOf("]"),r=t.substring(0,e),i=t.substring(e+3,n);Yt(i===""||wL.test(i),"The filter must begin with a lowercase letter and contain only alphanumeric characters.");const s=t.substring(n+2),[o,a]=s?dk(s):[];return[{selector:t,parent:r,child:i||"$",next:o},[i,...a||[]].filter(Boolean)]}const $n=(t,e,n,r,i)=>{const{parent:s,child:o,next:a}=e;if(!o){let f=!1;return Pl(t,s,(p,y)=>f=!!r(p,y)||f,i),f}const l=lu(t,s);return Lt(l)?l.map((f,h)=>n[o]&&!n[o].test({[o]:f})?!1:a?$n(f,a,n,r,i):r(l,h)).some(Boolean):!1};function or(t,e,n,r){const i=[];for(const[s,o]of Object.entries(t)){const[a,l]=dk(s);if(!l.length)r(o,a,{})&&i.push(a.parent);else{const f={};e.forEach(p=>{Object.keys(p).forEach(y=>{l.forEach(w=>{(y===w||y.startsWith(w+"."))&&(f[w]=f[w]||{},Object.assign(f[w],{[y]:p[y]}))})})});const h={};for(const[p,y]of Object.entries(f))h[p]=new qs(y,n.queryOptions);r(o,a,h)&&i.push(a.parent)}}return i}const _L=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&Xn(i,"$each")&&Object.assign(a,i),$n(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]);return Ng([h,a.$each]).length===a.$each.length?!1:(l[f]=Xg(r.cloneMode,kM(h.concat(a.$each))),!0)},{buildGraph:!0})}),bL=new Set(["and","or","xor"]),SL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a=Object.keys(i);return Yt(a.length===1&&bL.has(a[0]),`Invalid bit operator '${a[0]}'. Must be one of 'and', 'or', or 'xor'.`),$n(t,s,o,(l,f)=>{let h=l[f];const p=i[a[0]];if(h!==void 0&&!(Hn(h)&&Hn(p)))return!1;switch(h=h||0,a[0]){case"and":l[f]=h&p;break;case"or":l[f]=h|p;break;case"xor":l[f]=h^p;break}return l[f]!==h},{buildGraph:!0})}),IL=(t,e,n=[],r={})=>{const i=Date.now();return or(e,n,r,(s,o,a)=>$n(t,o,a,(l,f)=>(l[f]=i,!0),{buildGraph:!0}))},EL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{if(!s.child){const a=lu(t,s.parent);Yt(a===void 0||Hn(a),"cannot apply $inc to a value of non-numeric type")}return $n(t,s,o,(a,l)=>(a[l]=(a[l]||(a[l]=0))+i,!0),{buildGraph:!0})}),OL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>a[l]!==void 0&&Mn(a[l],i)>-1?!1:(a[l]=i,!0),{buildGraph:!0})),kL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>a[l]!==void 0&&Mn(a[l],i)<1?!1:(a[l]=i,!0),{buildGraph:!0})),DL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>{const f=a[l];return a[l]=a[l]===void 0?0:a[l]*i,a[l]!==f},{buildGraph:!0})),xL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>{const f=a[l];return Yt(Lt(f),`path '${s.selector}' contains an element of non-array type.`),f.length?(i===-1?f.splice(0,1):f.pop(),!0):!1})),hk=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a=!wt(i)||Object.keys(i).some(Ko),l=new qs(a?{k:i}:i,r.queryOptions),f=a?h=>l.test({k:h}):h=>l.test(h);return $n(t,s,o,(h,p)=>{const y=h[p],w=new Array;return y.map(O=>{const $=f(O);return $||w.push(O),$}).some(Boolean)?(h[p]=w,!0):!1})}),CL=(t,e,n=[],r={})=>{const i={};return Object.entries(e).forEach(([s,o])=>{i[s]={$in:o}}),hk(t,i,n,r)},AL=Object.freeze(["$each","$slice","$sort","$position"]),PL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&AL.some(l=>Xn(i,l))&&Object.assign(a,i),$n(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]),p=h.slice(0,a.$slice||h.length),y=h.length,w=Hn(a.$position)?a.$position:h.length;if(h.splice(w,0,...Xg(r.cloneMode,a.$each)),a.$sort){const I=wt(a.$sort)?Object.keys(a.$sort||{}).pop():"",O=I?a.$sort[I]:a.$sort,$=I?_=>lu(_,I):_=>_;h.sort((_,b)=>O*Mn($(_),$(b)))}return Hn(a.$slice)&&(a.$slice<0?h.splice(0,h.length+a.$slice):h.splice(a.$slice)),y!=h.length||!Ki(p,h)},{descendArray:!0,buildGraph:!0})}),pk=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>Ki(a[l],i)?!1:(a[l]=Xg(r.cloneMode,i),!0),{buildGraph:!0})),RL=(t,e,n=[],r={})=>{const i=[],s=or(e,n,r,(o,a,l)=>$n(t,a,l,(f,h)=>Xn(f,h)?(i.push(...pk(t,{[o]:f[h]},n,r)),delete f[h],!0):!1));return Array.from(new Set(s.concat(i)))},TL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>Xn(a,l)?(Lt(a)?a[l]=null:delete a[l],!0):!1)),a1=Object.freeze(Object.defineProperty({__proto__:null,$addToSet:_L,$bit:SL,$currentDate:IL,$inc:EL,$max:OL,$min:kL,$mul:DL,$pop:xL,$pull:hk,$pullAll:CL,$push:PL,$rename:RL,$set:pk,$unset:TL},Symbol.toStringTag,{value:"Module"}));function ML(t){return(e,n,r=[],i={},s={})=>{const o=Object.assign({cloneMode:"copy"},t,s);Object.assign(o,{queryOptions:Bg(Object.assign({useStrictMode:!1},o==null?void 0:o.queryOptions))}),r=r||[],i=i||{};const a=Object.entries(n);Yt(a.length===1,"Update expression must contain only one operator.");const[l,f]=a[0];Yt(Xn(a1,l),`Update operator '${l}' is not supported.`);const h=a1[l];return Object.keys(i).length&&!new qs(i,o.queryOptions).test(e)?[]:h(e,f,r,o)}}var bm;function mk(t,e){if(!bm){var n=ML({cloneMode:"none"});bm=(r,i)=>{var s=Pn(r);return n(s,i),s}}return bm(t,e)}function NL(t){return this.incrementalModify(e=>{var n=mk(e,t);return n})}function BL(t){var e=this._data,n=mk(e,t);return this._saveData(n,e)}function FL(t){return this.exec().then(e=>e?Array.isArray(e)?Promise.all(e.map(n=>n.update(t))).then(()=>e):e.update(t).then(()=>e):null)}var LL={name:"update",rxdb:!0,prototypes:{RxDocument:t=>{t.update=BL,t.incrementalUpdate=NL},RxQuery:t=>{t.update=FL}}};const{isDevMode:$L,isTestEnvironment:jL}=Br;async function UL(t=[]){try{Kr(ak),Kr(sL),Kr(gL),Kr(LL),Kr(eL),Kr($F),Kr(JF);for(const e of t)Kr(e);if($L()&&!jL()){const{RxDBDevModePlugin:e}=await OF(()=>import("./index-ABWravge.js"),__vite__mapDeps([]));Kr(e)}Br.logger.log("rxdb plugins loaded")}catch(e){throw new Error(e.message??e)}}const{logger:ea}=Br;class zL{get db(){return this.dbInstance}get dbOptions(){return this.options}get collections(){return this.db.collections}async destroyDb(){try{await this.db.remove(),await this.db.destroy(),this.dbInstance=null,ea.log("database destroy")}catch{ea.log("database destroy error")}}async initDb(e){var n,r;if(!this.dbInstance)try{if(await UL((n=e.options)==null?void 0:n.plugins),this.dbInstance=await SN(e),this.options=e,ea.log(`created database "${this.db.name}" with config "${JSON.stringify(e)}"`),(r=e==null?void 0:e.options)!=null&&r.schemas){const i=await this.initCollections(e.options.schemas);ea.log(`created ${Object.keys(i).length} collections bulk: ${Object.keys(i)}`)}}catch(i){throw ea.log("Error initializing the database:",i),i}}async initCollections(e){try{const n=await TF(e);return await this.db.addCollections(n)}catch(n){throw ea.log("Error initializing collection(s)",n),n}}}var yk={exports:{}},Xe={};/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Gt=typeof Symbol=="function"&&Symbol.for,Zg=Gt?Symbol.for("react.element"):60103,e0=Gt?Symbol.for("react.portal"):60106,Ch=Gt?Symbol.for("react.fragment"):60107,Ah=Gt?Symbol.for("react.strict_mode"):60108,Ph=Gt?Symbol.for("react.profiler"):60114,Rh=Gt?Symbol.for("react.provider"):60109,Th=Gt?Symbol.for("react.context"):60110,t0=Gt?Symbol.for("react.async_mode"):60111,Mh=Gt?Symbol.for("react.concurrent_mode"):60111,Nh=Gt?Symbol.for("react.forward_ref"):60112,Bh=Gt?Symbol.for("react.suspense"):60113,VL=Gt?Symbol.for("react.suspense_list"):60120,Fh=Gt?Symbol.for("react.memo"):60115,Lh=Gt?Symbol.for("react.lazy"):60116,KL=Gt?Symbol.for("react.block"):60121,WL=Gt?Symbol.for("react.fundamental"):60117,qL=Gt?Symbol.for("react.responder"):60118,HL=Gt?Symbol.for("react.scope"):60119;function ar(t){if(typeof t=="object"&&t!==null){var e=t.$$typeof;switch(e){case Zg:switch(t=t.type,t){case t0:case Mh:case Ch:case Ph:case Ah:case Bh:return t;default:switch(t=t&&t.$$typeof,t){case Th:case Nh:case Lh:case Fh:case Rh:return t;default:return e}}case e0:return e}}}function vk(t){return ar(t)===Mh}Xe.AsyncMode=t0;Xe.ConcurrentMode=Mh;Xe.ContextConsumer=Th;Xe.ContextProvider=Rh;Xe.Element=Zg;Xe.ForwardRef=Nh;Xe.Fragment=Ch;Xe.Lazy=Lh;Xe.Memo=Fh;Xe.Portal=e0;Xe.Profiler=Ph;Xe.StrictMode=Ah;Xe.Suspense=Bh;Xe.isAsyncMode=function(t){return vk(t)||ar(t)===t0};Xe.isConcurrentMode=vk;Xe.isContextConsumer=function(t){return ar(t)===Th};Xe.isContextProvider=function(t){return ar(t)===Rh};Xe.isElement=function(t){return typeof t=="object"&&t!==null&&t.$$typeof===Zg};Xe.isForwardRef=function(t){return ar(t)===Nh};Xe.isFragment=function(t){return ar(t)===Ch};Xe.isLazy=function(t){return ar(t)===Lh};Xe.isMemo=function(t){return ar(t)===Fh};Xe.isPortal=function(t){return ar(t)===e0};Xe.isProfiler=function(t){return ar(t)===Ph};Xe.isStrictMode=function(t){return ar(t)===Ah};Xe.isSuspense=function(t){return ar(t)===Bh};Xe.isValidElementType=function(t){return typeof t=="string"||typeof t=="function"||t===Ch||t===Mh||t===Ph||t===Ah||t===Bh||t===VL||typeof t=="object"&&t!==null&&(t.$$typeof===Lh||t.$$typeof===Fh||t.$$typeof===Rh||t.$$typeof===Th||t.$$typeof===Nh||t.$$typeof===WL||t.$$typeof===qL||t.$$typeof===HL||t.$$typeof===KL)};Xe.typeOf=ar;yk.exports=Xe;var QL=yk.exports,n0=QL,YL={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},GL={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},JL={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},gk={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},r0={};r0[n0.ForwardRef]=JL;r0[n0.Memo]=gk;function u1(t){return n0.isMemo(t)?gk:r0[t.$$typeof]||YL}var XL=Object.defineProperty,ZL=Object.getOwnPropertyNames,l1=Object.getOwnPropertySymbols,e3=Object.getOwnPropertyDescriptor,t3=Object.getPrototypeOf,c1=Object.prototype;function wk(t,e,n){if(typeof e!="string"){if(c1){var r=t3(e);r&&r!==c1&&wk(t,r,n)}var i=ZL(e);l1&&(i=i.concat(l1(e)));for(var s=u1(t),o=u1(e),a=0;aDd.length&&Dd.push(t)}function nv(t,e,n,r){var i=typeof t;(i==="undefined"||i==="boolean")&&(t=null);var s=!1;if(t===null)s=!0;else switch(i){case"string":case"number":s=!0;break;case"object":switch(t.$$typeof){case sc:case l3:s=!0}}if(s)return n(r,t,e===""?"."+Sm(t,0):e),1;if(s=0,e=e===""?".":e+":",Array.isArray(t))for(var o=0;oO3.decode(t),k3=new TextEncoder,l0=t=>k3.encode(t),[k4,D3]=(()=>{const t=()=>{throw new Error("BigInt is not available in this environment")};function e(){throw t()}return e.asIntN=()=>{throw t()},e.asUintN=()=>{throw t()},typeof BigInt<"u"?[BigInt,!0]:[e,!1]})(),[ac,D4]=(()=>{const t=()=>{throw new Error("BigInt64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigInt64Array<"u"?[BigInt64Array,!0]:[e,!1]})(),[uc,x4]=(()=>{const t=()=>{throw new Error("BigUint64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigUint64Array<"u"?[BigUint64Array,!0]:[e,!1]})(),x3=t=>typeof t=="number",Pk=t=>typeof t=="boolean",Ut=t=>typeof t=="function",Nn=t=>t!=null&&Object(t)===t,Ms=t=>Nn(t)&&Ut(t.then),lc=t=>Nn(t)&&Ut(t[Symbol.iterator]),fu=t=>Nn(t)&&Ut(t[Symbol.asyncIterator]),ov=t=>Nn(t)&&Nn(t.schema),Rk=t=>Nn(t)&&"done"in t&&"value"in t,Tk=t=>Nn(t)&&Ut(t.stat)&&x3(t.fd),Mk=t=>Nn(t)&&c0(t.body),$h=t=>"_getDOMStream"in t&&"_getNodeStream"in t,C3=t=>Nn(t)&&Ut(t.abort)&&Ut(t.getWriter)&&!$h(t),c0=t=>Nn(t)&&Ut(t.cancel)&&Ut(t.getReader)&&!$h(t),A3=t=>Nn(t)&&Ut(t.end)&&Ut(t.write)&&Pk(t.writable)&&!$h(t),Nk=t=>Nn(t)&&Ut(t.read)&&Ut(t.pipe)&&Pk(t.readable)&&!$h(t),P3=t=>Nn(t)&&Ut(t.clear)&&Ut(t.bytes)&&Ut(t.position)&&Ut(t.setPosition)&&Ut(t.capacity)&&Ut(t.getBufferIdentifier)&&Ut(t.createLong),f0=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function R3(t){const e=t[0]?[t[0]]:[];let n,r,i,s;for(let o,a,l=0,f=0,h=t.length;++lh+p.byteLength,0);let i,s,o,a=0,l=-1;const f=Math.min(e||Number.POSITIVE_INFINITY,r);for(const h=n.length;++lrt(Int32Array,t),Ue=t=>rt(Uint8Array,t),av=t=>(t.next(),t);function*T3(t,e){const n=function*(i){yield i},r=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof f0?n(e):lc(e)?e:n(e);return yield*av(function*(i){let s=null;do s=i.next(yield rt(t,s));while(!s.done)}(r[Symbol.iterator]())),new t}const M3=t=>T3(Uint8Array,t);function Bk(t,e){return kr(this,arguments,function*(){if(Ms(e))return yield ge(yield ge(yield*Df(Ds(Bk(t,yield ge(e))))));const r=function(o){return kr(this,arguments,function*(){yield yield ge(yield ge(o))})},i=function(o){return kr(this,arguments,function*(){yield ge(yield*Df(Ds(av(function*(a){let l=null;do l=a.next(yield l==null?void 0:l.value);while(!l.done)}(o[Symbol.iterator]())))))})},s=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof f0?r(e):lc(e)?i(e):fu(e)?e:r(e);return yield ge(yield*Df(Ds(av(function(o){return kr(this,arguments,function*(){let a=null;do a=yield ge(o.next(yield yield ge(rt(t,a))));while(!a.done)})}(s[Symbol.asyncIterator]()))))),yield ge(new t)})}const N3=t=>Bk(Uint8Array,t);function d0(t,e,n){if(t!==0){n=n.slice(0,e+1);for(let r=-1;++r<=e;)n[r]+=t}return n}function B3(t,e){let n=0;const r=t.length;if(r!==e.length)return!1;if(r>0)do if(t[n]!==e[n])return!1;while(++n(t.next(),t);function*F3(t){let e,n=!1,r=[],i,s,o,a=0;function l(){return s==="peek"?fi(r,o)[0]:([i,r,a]=fi(r,o),i)}({cmd:s,size:o}=yield null);const f=M3(t)[Symbol.iterator]();try{do if({done:e,value:i}=Number.isNaN(o-a)?f.next():f.next(o-a),!e&&i.byteLength>0&&(r.push(i),a+=i.byteLength),e||o<=a)do({cmd:s,size:o}=yield l());while(o0&&(i.push(s),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a0&&(i.push(Ue(s)),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return ve(this,void 0,void 0,function*(){const{reader:n,source:r}=this;n&&(yield n.cancel(e).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(e){return ve(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const n=yield this.reader.read();return!n.done&&(n.value=Ue(n)),n})}}const Im=(t,e)=>{const n=i=>r([e,i]);let r;return[e,n,new Promise(i=>(r=i)&&t.once(e,n))]};function U3(t){return kr(this,arguments,function*(){const n=[];let r="error",i=!1,s=null,o,a,l=0,f=[],h;function p(){return o==="peek"?fi(f,a)[0]:([h,f,l]=fi(f,a),h)}if({cmd:o,size:a}=yield yield ge(null),t.isTTY)return yield yield ge(new Uint8Array(0)),yield ge(null);try{n[0]=Im(t,"end"),n[1]=Im(t,"error");do{if(n[2]=Im(t,"readable"),[r,s]=yield ge(Promise.race(n.map(w=>w[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-l)?(h=Ue(t.read(a-l)),h.byteLength0&&(f.push(h),l+=h.byteLength)),i||a<=l)do({cmd:o,size:a}=yield yield ge(p()));while(a{for(const[_,b]of w)t.off(_,b);try{const _=t.destroy;_&&_.call(t,I),I=void 0}catch(_){I=_||I}finally{I!=null?$(I):O()}})}})}var Qn;(function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"})(Qn||(Qn={}));var er;(function(t){t[t.Sparse=0]="Sparse",t[t.Dense=1]="Dense"})(er||(er={}));var An;(function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"})(An||(An={}));var qi;(function(t){t[t.DAY=0]="DAY",t[t.MILLISECOND=1]="MILLISECOND"})(qi||(qi={}));var ze;(function(t){t[t.SECOND=0]="SECOND",t[t.MILLISECOND=1]="MILLISECOND",t[t.MICROSECOND=2]="MICROSECOND",t[t.NANOSECOND=3]="NANOSECOND"})(ze||(ze={}));var Ns;(function(t){t[t.YEAR_MONTH=0]="YEAR_MONTH",t[t.DAY_TIME=1]="DAY_TIME",t[t.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(Ns||(Ns={}));var Ve;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var N;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"})(N||(N={}));var _i;(function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"})(_i||(_i={}));const z3=void 0;function Nl(t){if(t===null)return"null";if(t===z3)return"undefined";switch(typeof t){case"number":return`${t}`;case"bigint":return`${t}`;case"string":return`"${t}"`}return typeof t[Symbol.toPrimitive]=="function"?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?t instanceof ac||t instanceof uc?`[${[...t].map(e=>Nl(e))}]`:`[${t}]`:ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t,(e,n)=>typeof n=="bigint"?`${n}`:n)}const V3=Symbol.for("isArrowBigNum");function Lr(t,...e){return e.length===0?Object.setPrototypeOf(rt(this.TypedArray,t),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(t,...e),this.constructor.prototype)}Lr.prototype[V3]=!0;Lr.prototype.toJSON=function(){return`"${xo(this)}"`};Lr.prototype.valueOf=function(){return Fk(this)};Lr.prototype.toString=function(){return xo(this)};Lr.prototype[Symbol.toPrimitive]=function(t="default"){switch(t){case"number":return Fk(this);case"string":return xo(this);case"default":return uv(this)}return xo(this)};function xa(...t){return Lr.apply(this,t)}function Ca(...t){return Lr.apply(this,t)}function Bl(...t){return Lr.apply(this,t)}Object.setPrototypeOf(xa.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(Ca.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Bl.prototype,Object.create(Uint32Array.prototype));Object.assign(xa.prototype,Lr.prototype,{constructor:xa,signed:!0,TypedArray:Int32Array,BigIntArray:ac});Object.assign(Ca.prototype,Lr.prototype,{constructor:Ca,signed:!1,TypedArray:Uint32Array,BigIntArray:uc});Object.assign(Bl.prototype,Lr.prototype,{constructor:Bl,signed:!0,TypedArray:Uint32Array,BigIntArray:uc});function Fk(t){const{buffer:e,byteOffset:n,length:r,signed:i}=t,s=new uc(e,n,r),o=i&&s[s.length-1]&BigInt(1)<t.byteLength===8?new t.BigIntArray(t.buffer,t.byteOffset,1)[0]:Em(t),xo=t=>t.byteLength===8?`${new t.BigIntArray(t.buffer,t.byteOffset,1)[0]}`:Em(t)):(xo=Em,uv=xo);function Em(t){let e="";const n=new Uint32Array(2);let r=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2);const i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer);let s=-1;const o=r.length-1;do{for(n[0]=r[s=0];s(t.children=null,t.ArrayType=Array,t[Symbol.toStringTag]="DataType"))(we.prototype);let Bs=class extends we{toString(){return"Null"}get typeId(){return N.Null}};$k=Symbol.toStringTag;Bs[$k]=(t=>t[Symbol.toStringTag]="Null")(Bs.prototype);class Fs extends we{constructor(e,n){super(),this.isSigned=e,this.bitWidth=n}get typeId(){return N.Int}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?ac:uc}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}jk=Symbol.toStringTag;Fs[jk]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(Fs.prototype);class Fl extends Fs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Fl.prototype,"ArrayType",{value:Int32Array});class Ll extends we{constructor(e){super(),this.precision=e}get typeId(){return N.Float}get ArrayType(){switch(this.precision){case An.HALF:return Uint16Array;case An.SINGLE:return Float32Array;case An.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}Uk=Symbol.toStringTag;Ll[Uk]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(Ll.prototype);let xd=class extends we{constructor(){super()}get typeId(){return N.Binary}toString(){return"Binary"}};zk=Symbol.toStringTag;xd[zk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(xd.prototype);let Cd=class extends we{constructor(){super()}get typeId(){return N.Utf8}toString(){return"Utf8"}};Vk=Symbol.toStringTag;Cd[Vk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Cd.prototype);let Ad=class extends we{constructor(){super()}get typeId(){return N.Bool}toString(){return"Bool"}};Kk=Symbol.toStringTag;Ad[Kk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(Ad.prototype);let Pd=class extends we{constructor(e,n,r=128){super(),this.scale=e,this.precision=n,this.bitWidth=r}get typeId(){return N.Decimal}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};Wk=Symbol.toStringTag;Pd[Wk]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(Pd.prototype);class Rd extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Date}toString(){return`Date${(this.unit+1)*32}<${qi[this.unit]}>`}}qk=Symbol.toStringTag;Rd[qk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Date"))(Rd.prototype);class $l extends we{constructor(e,n){super(),this.unit=e,this.bitWidth=n}get typeId(){return N.Time}toString(){return`Time${this.bitWidth}<${ze[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return ac}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Hk=Symbol.toStringTag;$l[Hk]=(t=>(t.unit=null,t.bitWidth=null,t[Symbol.toStringTag]="Time"))($l.prototype);class Td extends we{constructor(e,n){super(),this.unit=e,this.timezone=n}get typeId(){return N.Timestamp}toString(){return`Timestamp<${ze[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}Qk=Symbol.toStringTag;Td[Qk]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Timestamp"))(Td.prototype);class Md extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Interval}toString(){return`Interval<${Ns[this.unit]}>`}}Yk=Symbol.toStringTag;Md[Yk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(Md.prototype);let Nd=class extends we{constructor(e){super(),this.children=[e]}get typeId(){return N.List}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};Gk=Symbol.toStringTag;Nd[Gk]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(Nd.prototype);class pn extends we{constructor(e){super(),this.children=e}get typeId(){return N.Struct}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Jk=Symbol.toStringTag;pn[Jk]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(pn.prototype);class Bd extends we{constructor(e,n,r){super(),this.mode=e,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,s,o)=>(i[s]=o)&&i||i,Object.create(null))}get typeId(){return N.Union}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}Xk=Symbol.toStringTag;Bd[Xk]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(Bd.prototype);let Fd=class extends we{constructor(e){super(),this.byteWidth=e}get typeId(){return N.FixedSizeBinary}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};Zk=Symbol.toStringTag;Fd[Zk]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(Fd.prototype);let Ld=class extends we{constructor(e,n){super(),this.listSize=e,this.children=[n]}get typeId(){return N.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};eD=Symbol.toStringTag;Ld[eD]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(Ld.prototype);class $d extends we{constructor(e,n=!1){super(),this.children=[e],this.keysSorted=n}get typeId(){return N.Map}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}tD=Symbol.toStringTag;$d[tD]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))($d.prototype);const K3=(t=>()=>++t)(-1);class Ya extends we{constructor(e,n,r,i){super(),this.indices=n,this.dictionary=e,this.isOrdered=i||!1,this.id=r==null?K3():typeof r=="number"?r:r.low}get typeId(){return N.Dictionary}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}nD=Symbol.toStringTag;Ya[nD]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))(Ya.prototype);function bi(t){const e=t;switch(t.typeId){case N.Decimal:return t.bitWidth/32;case N.Timestamp:return 2;case N.Date:return 1+e.unit;case N.Interval:return 1+e.unit;case N.FixedSizeList:return e.listSize;case N.FixedSizeBinary:return e.byteWidth;default:return 1}}class Be{visitMany(e,...n){return e.map((r,i)=>this.visit(r,...n.map(s=>s[i])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,n=!0){return W3(this,e,n)}getVisitFnByTypeId(e,n=!0){return sa(this,e,n)}visitNull(e,...n){return null}visitBool(e,...n){return null}visitInt(e,...n){return null}visitFloat(e,...n){return null}visitUtf8(e,...n){return null}visitBinary(e,...n){return null}visitFixedSizeBinary(e,...n){return null}visitDate(e,...n){return null}visitTimestamp(e,...n){return null}visitTime(e,...n){return null}visitDecimal(e,...n){return null}visitList(e,...n){return null}visitStruct(e,...n){return null}visitUnion(e,...n){return null}visitDictionary(e,...n){return null}visitInterval(e,...n){return null}visitFixedSizeList(e,...n){return null}visitMap(e,...n){return null}}function W3(t,e,n=!0){return typeof e=="number"?sa(t,e,n):typeof e=="string"&&e in N?sa(t,N[e],n):e&&e instanceof we?sa(t,p1(e),n):e!=null&&e.type&&e.type instanceof we?sa(t,p1(e.type),n):sa(t,N.NONE,n)}function sa(t,e,n=!0){let r=null;switch(e){case N.Null:r=t.visitNull;break;case N.Bool:r=t.visitBool;break;case N.Int:r=t.visitInt;break;case N.Int8:r=t.visitInt8||t.visitInt;break;case N.Int16:r=t.visitInt16||t.visitInt;break;case N.Int32:r=t.visitInt32||t.visitInt;break;case N.Int64:r=t.visitInt64||t.visitInt;break;case N.Uint8:r=t.visitUint8||t.visitInt;break;case N.Uint16:r=t.visitUint16||t.visitInt;break;case N.Uint32:r=t.visitUint32||t.visitInt;break;case N.Uint64:r=t.visitUint64||t.visitInt;break;case N.Float:r=t.visitFloat;break;case N.Float16:r=t.visitFloat16||t.visitFloat;break;case N.Float32:r=t.visitFloat32||t.visitFloat;break;case N.Float64:r=t.visitFloat64||t.visitFloat;break;case N.Utf8:r=t.visitUtf8;break;case N.Binary:r=t.visitBinary;break;case N.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case N.Date:r=t.visitDate;break;case N.DateDay:r=t.visitDateDay||t.visitDate;break;case N.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case N.Timestamp:r=t.visitTimestamp;break;case N.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case N.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case N.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case N.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case N.Time:r=t.visitTime;break;case N.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case N.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case N.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case N.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case N.Decimal:r=t.visitDecimal;break;case N.List:r=t.visitList;break;case N.Struct:r=t.visitStruct;break;case N.Union:r=t.visitUnion;break;case N.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case N.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case N.Dictionary:r=t.visitDictionary;break;case N.Interval:r=t.visitInterval;break;case N.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case N.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case N.FixedSizeList:r=t.visitFixedSizeList;break;case N.Map:r=t.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${N[e]}'`)}function p1(t){switch(t.typeId){case N.Null:return N.Null;case N.Int:{const{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?N.Int8:N.Uint8;case 16:return n?N.Int16:N.Uint16;case 32:return n?N.Int32:N.Uint32;case 64:return n?N.Int64:N.Uint64}return N.Int}case N.Float:switch(t.precision){case An.HALF:return N.Float16;case An.SINGLE:return N.Float32;case An.DOUBLE:return N.Float64}return N.Float;case N.Binary:return N.Binary;case N.Utf8:return N.Utf8;case N.Bool:return N.Bool;case N.Decimal:return N.Decimal;case N.Time:switch(t.unit){case ze.SECOND:return N.TimeSecond;case ze.MILLISECOND:return N.TimeMillisecond;case ze.MICROSECOND:return N.TimeMicrosecond;case ze.NANOSECOND:return N.TimeNanosecond}return N.Time;case N.Timestamp:switch(t.unit){case ze.SECOND:return N.TimestampSecond;case ze.MILLISECOND:return N.TimestampMillisecond;case ze.MICROSECOND:return N.TimestampMicrosecond;case ze.NANOSECOND:return N.TimestampNanosecond}return N.Timestamp;case N.Date:switch(t.unit){case qi.DAY:return N.DateDay;case qi.MILLISECOND:return N.DateMillisecond}return N.Date;case N.Interval:switch(t.unit){case Ns.DAY_TIME:return N.IntervalDayTime;case Ns.YEAR_MONTH:return N.IntervalYearMonth}return N.Interval;case N.Map:return N.Map;case N.List:return N.List;case N.Struct:return N.Struct;case N.Union:switch(t.mode){case er.Dense:return N.DenseUnion;case er.Sparse:return N.SparseUnion}return N.Union;case N.FixedSizeBinary:return N.FixedSizeBinary;case N.FixedSizeList:return N.FixedSizeList;case N.Dictionary:return N.Dictionary}throw new Error(`Unrecognized type '${N[t.typeId]}'`)}Be.prototype.visitInt8=null;Be.prototype.visitInt16=null;Be.prototype.visitInt32=null;Be.prototype.visitInt64=null;Be.prototype.visitUint8=null;Be.prototype.visitUint16=null;Be.prototype.visitUint32=null;Be.prototype.visitUint64=null;Be.prototype.visitFloat16=null;Be.prototype.visitFloat32=null;Be.prototype.visitFloat64=null;Be.prototype.visitDateDay=null;Be.prototype.visitDateMillisecond=null;Be.prototype.visitTimestampSecond=null;Be.prototype.visitTimestampMillisecond=null;Be.prototype.visitTimestampMicrosecond=null;Be.prototype.visitTimestampNanosecond=null;Be.prototype.visitTimeSecond=null;Be.prototype.visitTimeMillisecond=null;Be.prototype.visitTimeMicrosecond=null;Be.prototype.visitTimeNanosecond=null;Be.prototype.visitDenseUnion=null;Be.prototype.visitSparseUnion=null;Be.prototype.visitIntervalDayTime=null;Be.prototype.visitIntervalYearMonth=null;const rD=new Float64Array(1),ta=new Uint32Array(rD.buffer);function iD(t){const e=(t&31744)>>10,n=(t&1023)/1024,r=Math.pow(-1,(t&32768)>>15);switch(e){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}function q3(t){if(t!==t)return 32256;rD[0]=t;const e=(ta[1]&2147483648)>>16&65535;let n=ta[1]&2146435072,r=0;return n>=1089470464?ta[0]>0?n=31744:(n=(n&2080374784)>>16,r=(ta[1]&1048575)>>10):n<=1056964608?(r=1048576+(ta[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(ta[1]&1048575)+512>>10),e|n|r&65535}class Ee extends Be{}function xe(t){return(e,n,r)=>{if(e.setValid(n,r!=null))return t(e,n,r)}}const H3=(t,e,n)=>{t[e]=Math.trunc(n/864e5)},p0=(t,e,n)=>{t[e]=Math.trunc(n%4294967296),t[e+1]=Math.trunc(n/4294967296)},Q3=(t,e,n)=>{t[e]=Math.trunc(n*1e3%4294967296),t[e+1]=Math.trunc(n*1e3/4294967296)},Y3=(t,e,n)=>{t[e]=Math.trunc(n*1e6%4294967296),t[e+1]=Math.trunc(n*1e6/4294967296)},sD=(t,e,n,r)=>{if(n+1{const i=t+n;r?e[i>>3]|=1<>3]&=~(1<{t[e]=n},m0=({values:t},e,n)=>{t[e]=n},oD=({values:t},e,n)=>{t[e]=q3(n)},J3=(t,e,n)=>{switch(t.type.precision){case An.HALF:return oD(t,e,n);case An.SINGLE:case An.DOUBLE:return m0(t,e,n)}},aD=({values:t},e,n)=>{H3(t,e,n.valueOf())},uD=({values:t},e,n)=>{p0(t,e*2,n.valueOf())},X3=({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)},Z3=({values:t,valueOffsets:e},n,r)=>sD(t,e,n,r),e$=({values:t,valueOffsets:e},n,r)=>{sD(t,e,n,l0(r))},t$=(t,e,n)=>{t.type.unit===qi.DAY?aD(t,e,n):uD(t,e,n)},lD=({values:t},e,n)=>p0(t,e*2,n/1e3),cD=({values:t},e,n)=>p0(t,e*2,n),fD=({values:t},e,n)=>Q3(t,e*2,n),dD=({values:t},e,n)=>Y3(t,e*2,n),n$=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return lD(t,e,n);case ze.MILLISECOND:return cD(t,e,n);case ze.MICROSECOND:return fD(t,e,n);case ze.NANOSECOND:return dD(t,e,n)}},hD=({values:t},e,n)=>{t[e]=n},pD=({values:t},e,n)=>{t[e]=n},mD=({values:t},e,n)=>{t[e]=n},yD=({values:t},e,n)=>{t[e]=n},r$=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return hD(t,e,n);case ze.MILLISECOND:return pD(t,e,n);case ze.MICROSECOND:return mD(t,e,n);case ze.NANOSECOND:return yD(t,e,n)}},i$=({values:t,stride:e},n,r)=>{t.set(r.subarray(0,e),e*n)},s$=(t,e,n)=>{const r=t.children[0],i=t.valueOffsets,s=wr.getVisitFn(r);if(Array.isArray(n))for(let o=-1,a=i[e],l=i[e+1];a{const r=t.children[0],{valueOffsets:i}=t,s=wr.getVisitFn(r);let{[e]:o,[e+1]:a}=i;const l=n instanceof Map?n.entries():Object.entries(n);for(const f of l)if(s(r,o,f),++o>=a)break},a$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[s]),u$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(s)),l$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(i.name)),c$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[i.name]),f$=(t,e,n)=>{const r=t.type.children.map(s=>wr.getVisitFn(s.type)),i=n instanceof Map?l$(e,n):n instanceof Ke?u$(e,n):Array.isArray(n)?a$(e,n):c$(e,n);t.type.children.forEach((s,o)=>i(r[o],t.children[o],s,o))},d$=(t,e,n)=>{t.type.mode===er.Dense?vD(t,e,n):gD(t,e,n)},vD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];wr.visit(i,t.valueOffsets[e],n)},gD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];wr.visit(i,e,n)},h$=(t,e,n)=>{var r;(r=t.dictionary)===null||r===void 0||r.set(t.values[e],n)},p$=(t,e,n)=>{t.type.unit===Ns.DAY_TIME?wD(t,e,n):_D(t,e,n)},wD=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},_D=({values:t},e,n)=>{t[e]=n[0]*12+n[1]%12},m$=(t,e,n)=>{const{stride:r}=t,i=t.children[0],s=wr.getVisitFn(i);if(Array.isArray(n))for(let o=-1,a=e*r;++o`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new y$(this[Er],this[Aa])}}class y${constructor(e,n){this.childIndex=0,this.children=e.children,this.rowIndex=n,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return en.name)}has(e,n){return e[Er].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(e,n){if(e[Er].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Er].type.children.findIndex(i=>i.name===n);if(r!==-1){const i=Bn.visit(e[Er].children[r],e[Aa]);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Er].type.children.findIndex(s=>s.name===n);return i!==-1?(wr.visit(e[Er].children[i],e[Aa],r),Reflect.set(e,n,r)):Reflect.has(e,n)||typeof n=="symbol"?Reflect.set(e,n,r):!1}}class _e extends Be{}function Oe(t){return(e,n)=>e.getValid(n)?t(e,n):null}const g$=(t,e)=>864e5*t[e],v0=(t,e)=>4294967296*t[e+1]+(t[e]>>>0),w$=(t,e)=>4294967296*(t[e+1]/1e3)+(t[e]>>>0)/1e3,_$=(t,e)=>4294967296*(t[e+1]/1e6)+(t[e]>>>0)/1e6,bD=t=>new Date(t),b$=(t,e)=>bD(g$(t,e)),S$=(t,e)=>bD(v0(t,e)),I$=(t,e)=>null,SD=(t,e,n)=>{if(n+1>=e.length)return null;const r=e[n],i=e[n+1];return t.subarray(r,i)},E$=({offset:t,values:e},n)=>{const r=t+n;return(e[r>>3]&1<b$(t,e),ED=({values:t},e)=>S$(t,e*2),Hs=({stride:t,values:e},n)=>e[t*n],O$=({stride:t,values:e},n)=>iD(e[t*n]),OD=({values:t},e)=>t[e],k$=({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)),D$=({values:t,valueOffsets:e},n)=>SD(t,e,n),x$=({values:t,valueOffsets:e},n)=>{const r=SD(t,e,n);return r!==null?sv(r):null},C$=({values:t},e)=>t[e],A$=({type:t,values:e},n)=>t.precision!==An.HALF?e[n]:iD(e[n]),P$=(t,e)=>t.type.unit===qi.DAY?ID(t,e):ED(t,e),kD=({values:t},e)=>1e3*v0(t,e*2),DD=({values:t},e)=>v0(t,e*2),xD=({values:t},e)=>w$(t,e*2),CD=({values:t},e)=>_$(t,e*2),R$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return kD(t,e);case ze.MILLISECOND:return DD(t,e);case ze.MICROSECOND:return xD(t,e);case ze.NANOSECOND:return CD(t,e)}},AD=({values:t},e)=>t[e],PD=({values:t},e)=>t[e],RD=({values:t},e)=>t[e],TD=({values:t},e)=>t[e],T$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return AD(t,e);case ze.MILLISECOND:return PD(t,e);case ze.MICROSECOND:return RD(t,e);case ze.NANOSECOND:return TD(t,e)}},M$=({values:t,stride:e},n)=>h0.decimal(t.subarray(e*n,e*(n+1))),N$=(t,e)=>{const{valueOffsets:n,stride:r,children:i}=t,{[e*r]:s,[e*r+1]:o}=n,l=i[0].slice(s,o-s);return new Ke([l])},B$=(t,e)=>{const{valueOffsets:n,children:r}=t,{[e]:i,[e+1]:s}=n,o=r[0];return new g0(o.slice(i,s-i))},F$=(t,e)=>new y0(t,e),L$=(t,e)=>t.type.mode===er.Dense?MD(t,e):ND(t,e),MD=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Bn.visit(r,t.valueOffsets[e])},ND=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Bn.visit(r,e)},$$=(t,e)=>{var n;return(n=t.dictionary)===null||n===void 0?void 0:n.get(t.values[e])},j$=(t,e)=>t.type.unit===Ns.DAY_TIME?BD(t,e):FD(t,e),BD=({values:t},e)=>t.subarray(2*e,2*(e+1)),FD=({values:t},e)=>{const n=t[e],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},U$=(t,e)=>{const{stride:n,children:r}=t,s=r[0].slice(e*n,n);return new Ke([s])};_e.prototype.visitNull=Oe(I$);_e.prototype.visitBool=Oe(E$);_e.prototype.visitInt=Oe(C$);_e.prototype.visitInt8=Oe(Hs);_e.prototype.visitInt16=Oe(Hs);_e.prototype.visitInt32=Oe(Hs);_e.prototype.visitInt64=Oe(OD);_e.prototype.visitUint8=Oe(Hs);_e.prototype.visitUint16=Oe(Hs);_e.prototype.visitUint32=Oe(Hs);_e.prototype.visitUint64=Oe(OD);_e.prototype.visitFloat=Oe(A$);_e.prototype.visitFloat16=Oe(O$);_e.prototype.visitFloat32=Oe(Hs);_e.prototype.visitFloat64=Oe(Hs);_e.prototype.visitUtf8=Oe(x$);_e.prototype.visitBinary=Oe(D$);_e.prototype.visitFixedSizeBinary=Oe(k$);_e.prototype.visitDate=Oe(P$);_e.prototype.visitDateDay=Oe(ID);_e.prototype.visitDateMillisecond=Oe(ED);_e.prototype.visitTimestamp=Oe(R$);_e.prototype.visitTimestampSecond=Oe(kD);_e.prototype.visitTimestampMillisecond=Oe(DD);_e.prototype.visitTimestampMicrosecond=Oe(xD);_e.prototype.visitTimestampNanosecond=Oe(CD);_e.prototype.visitTime=Oe(T$);_e.prototype.visitTimeSecond=Oe(AD);_e.prototype.visitTimeMillisecond=Oe(PD);_e.prototype.visitTimeMicrosecond=Oe(RD);_e.prototype.visitTimeNanosecond=Oe(TD);_e.prototype.visitDecimal=Oe(M$);_e.prototype.visitList=Oe(N$);_e.prototype.visitStruct=Oe(F$);_e.prototype.visitUnion=Oe(L$);_e.prototype.visitDenseUnion=Oe(MD);_e.prototype.visitSparseUnion=Oe(ND);_e.prototype.visitDictionary=Oe($$);_e.prototype.visitInterval=Oe(j$);_e.prototype.visitIntervalDayTime=Oe(BD);_e.prototype.visitIntervalYearMonth=Oe(FD);_e.prototype.visitFixedSizeList=Oe(U$);_e.prototype.visitMap=Oe(B$);const Bn=new _e,Zr=Symbol.for("keys"),Pa=Symbol.for("vals");class g0{constructor(e){return this[Zr]=new Ke([e.children[0]]).memoize(),this[Pa]=e.children[1],new Proxy(this,new V$)}[Symbol.iterator](){return new z$(this[Zr],this[Pa])}get size(){return this[Zr].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[Zr],n=this[Pa],r={};for(let i=-1,s=e.length;++i`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class z${constructor(e,n){this.keys=e,this.vals=n,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Bn.visit(this.vals,e)]})}}class V${isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[Zr].toArray().map(String)}has(e,n){return e[Zr].includes(n)}getOwnPropertyDescriptor(e,n){if(e[Zr].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Zr].indexOf(n);if(r!==-1){const i=Bn.visit(Reflect.get(e,Pa),r);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Zr].indexOf(n);return i!==-1?(wr.visit(Reflect.get(e,Pa),i,r),Reflect.set(e,n,r)):Reflect.has(e,n)?Reflect.set(e,n,r):!1}}Object.defineProperties(g0.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[Zr]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Pa]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let m1;function LD(t,e,n,r){const{length:i=0}=t;let s=typeof e!="number"?0:e,o=typeof n!="number"?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(t,s,o):[s,o]}const y1=t=>t!==t;function du(t){if(typeof t!=="object"||t===null)return y1(t)?y1:n=>n===t;if(t instanceof Date){const n=t.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(t)?n=>n?B3(t,n):!1:t instanceof Map?W$(t):Array.isArray(t)?K$(t):t instanceof Ke?q$(t):H$(t,!0)}function K$(t){const e=[];for(let n=-1,r=t.length;++n!1;const r=[];for(let i=-1,s=n.length;++i{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return Q$(t,n);case Map:return v1(t,n,n.keys());case g0:case y0:case Object:case void 0:return v1(t,n,e||Object.keys(n))}return n instanceof Ke?Y$(t,n):!1}}function Q$(t,e){const n=t.length;if(e.length!==n)return!1;for(let r=-1;++r>r}function w0(t,e,n){const r=n.byteLength+7&-8;if(t>0||n.byteLength>3):jd(new _0(n,t,e,null,$D)).subarray(0,r)),i}return n}function jd(t){const e=[];let n=0,r=0,i=0;for(const o of t)o&&(i|=1<0)&&(e[n++]=i);const s=new Uint8Array(e.length+7&-8);return s.set(e),s}class _0{constructor(e,n,r,i,s){this.bytes=e,this.length=r,this.context=i,this.get=s,this.bit=n%8,this.byteIndex=n>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=e+(e%8===0?0:8-e%8);return lv(t,e,i)+lv(t,r,n)+J$(t,i>>3,r-i>>3)}function J$(t,e,n){let r=0,i=Math.trunc(e);const s=new DataView(t.buffer,t.byteOffset,t.byteLength),o=n===void 0?t.byteLength:i+n;for(;o-i>=4;)r+=Om(s.getUint32(i)),i+=4;for(;o-i>=2;)r+=Om(s.getUint16(i)),i+=2;for(;o-i>=1;)r+=Om(s.getUint8(i)),i+=1;return r}function Om(t){let e=Math.trunc(t);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const X$=-1;class at{constructor(e,n,r,i,s,o=[],a){this.type=e,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let l;s instanceof at?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=bi(e),s&&((l=s[0])&&(this.valueOffsets=l),(l=s[1])&&(this.values=l),(l=s[2])&&(this.nullBitmap=l),(l=s[3])&&(this.typeIds=l))),this.nullable=this._nullCount!==0&&this.nullBitmap&&this.nullBitmap.byteLength>0}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get byteLength(){let e=0;const{valueOffsets:n,values:r,nullBitmap:i,typeIds:s}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,e)}get nullCount(){let e=this._nullCount,n;return e<=X$&&(n=this.nullBitmap)&&(this._nullCount=e=this.length-lv(n,this.offset,this.offset+this.length)),e}getValid(e){if(this.nullable&&this.nullCount>0){const n=this.offset+e;return(this.nullBitmap[n>>3]&1<>3){const{nullBitmap:l}=this._changeLengthAndBackfillNullBitmap(this.length);Object.assign(this,{nullBitmap:l,_nullCount:0})}const{nullBitmap:r,offset:i}=this,s=i+e>>3,o=(i+e)%8,a=r[s]>>o&1;return n?a===0&&(r[s]|=1<>3).fill(255,0,n>>3);i[n>>3]=(1<0&&i.set(w0(this.offset,n,this.nullBitmap),0);const s=this.buffers;return s[_i.VALIDITY]=i,this.clone(this.type,0,e,r+(e-n),s)}_sliceBuffers(e,n,r,i){let s;const{buffers:o}=this;return(s=o[_i.TYPE])&&(o[_i.TYPE]=s.subarray(e,e+n)),(s=o[_i.OFFSET])&&(o[_i.OFFSET]=s.subarray(e,e+n+1))||(s=o[_i.DATA])&&(o[_i.DATA]=i===6?s:s.subarray(r*e,r*(e+n))),o}_sliceChildren(e,n,r){return e.map(i=>i.slice(n,r))}}at.prototype.children=Object.freeze([]);class ol extends Be{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:n,["offset"]:r=0,["length"]:i=0}=e;return new at(n,r,i,0)}visitBool(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length>>3,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitInt(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFloat(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitUtf8(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitFixedSizeBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDate(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTimestamp(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTime(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDecimal(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitList(e){const{["type"]:n,["offset"]:r=0,["child"]:i}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}visitStruct(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),{length:o=i.reduce((l,{length:f})=>Math.max(l,f),0),nullCount:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],i)}visitUnion(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),o=rt(n.ArrayType,e.typeIds),{["length"]:a=o.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;if(we.isSparseUnion(n))return new at(n,r,a,l,[void 0,void 0,s,o],i);const f=Fu(e.valueOffsets);return new at(n,r,a,l,[f,void 0,s,o],i)}visitDictionary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.indices.ArrayType,e.data),{["dictionary"]:o=new Ke([new ol().visit({type:n.dictionary})])}=e,{["length"]:a=s.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[void 0,s,i],[],o)}visitInterval(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFixedSizeList(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.valueType})}=e,s=Ue(e.nullBitmap),{["length"]:o=i.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],[i])}visitMap(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.childType})}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}}function Ne(t){return new ol().visit(t)}class g1{constructor(e=0,n){this.numChunks=e,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe+n.nullCount,0)}function UD(t){return t.reduce((e,n,r)=>(e[r+1]=e[r]+n.length,e),new Uint32Array(t.length+1))}function zD(t,e,n,r){const i=[];for(let s=-1,o=t.length;++s=r)break;if(n>=l+f)continue;if(l>=n&&l+f<=r){i.push(a);continue}const h=Math.max(0,n-l),p=Math.min(r-l,f);i.push(a.slice(h,p-h))}return i.length===0&&i.push(t[0].slice(0,0)),i}function b0(t,e,n,r){let i=0,s=0,o=e.length-1;do{if(i>=o-1)return n0?0:-1}function ej(t,e){const{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(const i of new _0(n,t.offset+(e||0),t.length,n,$D)){if(!i)return r;++r}return-1}function Ae(t,e,n){if(e===void 0)return-1;if(e===null)return ej(t,n);const r=Bn.getVisitFn(t),i=du(e);for(let s=(n||0)-1,o=t.length;++s{const i=t.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new g1(t.data.length,r=>{const s=t.data[r].length,o=t.slice(n,n+s);return n+=s,new tj(o)})}class tj{constructor(e){this.vector=e,this.index=0}next(){return this.indext+e;class Qs extends Be{visitNull(e,n){return 0}visitInt(e,n){return e.type.bitWidth/8}visitFloat(e,n){return e.type.ArrayType.BYTES_PER_ELEMENT}visitBool(e,n){return 1/8}visitDecimal(e,n){return e.type.bitWidth/8}visitDate(e,n){return(e.type.unit+1)*4}visitTime(e,n){return e.type.bitWidth/8}visitTimestamp(e,n){return e.type.unit===ze.SECOND?4:8}visitInterval(e,n){return(e.type.unit+1)*4}visitStruct(e,n){return e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitFixedSizeBinary(e,n){return e.type.byteWidth}visitMap(e,n){return 8+e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitDictionary(e,n){var r;return e.type.indices.bitWidth/8+(((r=e.dictionary)===null||r===void 0?void 0:r.getByteLength(e.values[n]))||0)}}const rj=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),ij=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),sj=({valueOffsets:t,stride:e,children:n},r)=>{const i=n[0],{[r*e]:s}=t,{[r*e+1]:o}=t,a=di.getVisitFn(i.type),l=i.slice(s,o-s);let f=8;for(let h=-1,p=o-s;++h{const r=e[0],i=r.slice(n*t,t),s=di.getVisitFn(r.type);let o=0;for(let a=-1,l=i.length;++at.type.mode===er.Dense?qD(t,e):HD(t,e),qD=({type:t,children:e,typeIds:n,valueOffsets:r},i)=>{const s=t.typeIdToChildIndex[n[i]];return 8+di.visit(e[s],r[i])},HD=({children:t},e)=>4+di.visitMany(t,t.map(()=>e)).reduce(nj,0);Qs.prototype.visitUtf8=rj;Qs.prototype.visitBinary=ij;Qs.prototype.visitList=sj;Qs.prototype.visitFixedSizeList=oj;Qs.prototype.visitUnion=aj;Qs.prototype.visitDenseUnion=qD;Qs.prototype.visitSparseUnion=HD;const di=new Qs;var QD;const YD={},GD={};class Ke{constructor(e){var n,r,i;const s=e[0]instanceof Ke?e.flatMap(a=>a.data):e;if(s.length===0||s.some(a=>!(a instanceof at)))throw new TypeError("Vector constructor expects an Array of Data instances.");const o=(n=s[0])===null||n===void 0?void 0:n.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{const{get:a,set:l,indexOf:f,byteLength:h}=YD[o.typeId],p=s[0];this.isValid=y=>S0(p,y),this.get=y=>a(p,y),this.set=(y,w)=>l(p,y,w),this.indexOf=y=>f(p,y),this.getByteLength=y=>h(p,y),this._offsets=[0,p.length];break}default:Object.setPrototypeOf(this,GD[o.typeId]),this._offsets=UD(s);break}this.data=s,this.type=o,this.stride=bi(o),this.numChildren=(i=(r=o.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets[this._offsets.length-1]}get byteLength(){return this._byteLength===-1&&(this._byteLength=this.data.reduce((e,n)=>e+n.byteLength,0)),this._byteLength}get nullCount(){return this._nullCount===-1&&(this._nullCount=jD(this.data)),this._nullCount}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${N[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}includes(e,n){return this.indexOf(e,n)>0}getByteLength(e){return 0}[Symbol.iterator](){return I0.visit(this)}concat(...e){return new Ke(this.data.concat(e.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(e,n){return new Ke(LD(this,e,n,({data:r,_offsets:i},s,o)=>zD(r,i,s,o)))}toJSON(){return[...this]}toArray(){const{type:e,data:n,length:r,stride:i,ArrayType:s}=this;switch(e.typeId){case N.Int:case N.Float:case N.Decimal:case N.Time:case N.Timestamp:switch(n.length){case 0:return new s;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((o,{values:a,length:l})=>(o.array.set(a.subarray(0,l*i),o.offset),o.offset+=l*i,o),{array:new s(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&en[e])):null}get isMemoized(){return we.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(we.isDictionary(this.type)){const e=new zd(this.data[0].dictionary),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return new zd(this)}unmemoize(){if(we.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return this}}QD=Symbol.toStringTag;Ke[QD]=(t=>{t.type=we.prototype,t.data=[],t.length=0,t.stride=1,t.numChildren=0,t._nullCount=-1,t._byteLength=-1,t._offsets=new Uint32Array([0]),t[Symbol.isConcatSpreadable]=!0;const e=Object.keys(N).map(n=>N[n]).filter(n=>typeof n=="number"&&n!==N.NONE);for(const n of e){const r=Bn.getVisitFnByTypeId(n),i=wr.getVisitFnByTypeId(n),s=Ud.getVisitFnByTypeId(n),o=di.getVisitFnByTypeId(n);YD[n]={get:r,set:i,indexOf:s,byteLength:o},GD[n]=Object.create(t,{isValid:{value:Ra(S0)},get:{value:Ra(Bn.getVisitFnByTypeId(n))},set:{value:VD(wr.getVisitFnByTypeId(n))},indexOf:{value:KD(Ud.getVisitFnByTypeId(n))},getByteLength:{value:Ra(di.getVisitFnByTypeId(n))}})}return"Vector"})(Ke.prototype);class zd extends Ke{constructor(e){super(e.data);const n=this.get,r=this.set,i=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){const a=s[o];if(a!==void 0)return a;const l=n.call(this,o);return s[o]=l,l}}),Object.defineProperty(this,"set",{value(o,a){r.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new zd(i.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Ke(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class cv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,n,r,i){return e.prep(8,24),e.writeInt64(i),e.pad(4),e.writeInt32(r),e.writeInt64(n),e.offset()}}const km=2,ei=4,Oi=4,st=4,fs=new Int32Array(2),w1=new Float32Array(fs.buffer),_1=new Float64Array(fs.buffer),df=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;let Mi=class fv{constructor(e,n){this.low=e|0,this.high=n|0}static create(e,n){return e==0&&n==0?fv.ZERO:new fv(e,n)}toFloat64(){return(this.low>>>0)+this.high*4294967296}equals(e){return this.low==e.low&&this.high==e.high}};Mi.ZERO=new Mi(0,0);var dv;(function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"})(dv||(dv={}));let Ga=class JD{constructor(e){this.bytes_=e,this.position_=0}static allocate(e){return new JD(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return new Mi(this.readInt32(e),this.readInt32(e+4))}readUint64(e){return new Mi(this.readUint32(e),this.readUint32(e+4))}readFloat32(e){return fs[0]=this.readInt32(e),w1[0]}readFloat64(e){return fs[df?0:1]=this.readInt32(e),fs[df?1:0]=this.readInt32(e+4),_1[0]}writeInt8(e,n){this.bytes_[e]=n}writeUint8(e,n){this.bytes_[e]=n}writeInt16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeUint16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeInt32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeUint32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeInt64(e,n){this.writeInt32(e,n.low),this.writeInt32(e+4,n.high)}writeUint64(e,n){this.writeUint32(e,n.low),this.writeUint32(e+4,n.high)}writeFloat32(e,n){w1[0]=n,this.writeInt32(e,fs[0])}writeFloat64(e,n){_1[0]=n,this.writeInt32(e,fs[df?0:1]),this.writeInt32(e+4,fs[df?1:0])}getBufferIdentifier(){if(this.bytes_.length>10)+55296,(o&1024-1)+56320))}return i}__union_with_string(e,n){return typeof e=="string"?this.__string(n):this.__union(e,n)}__indirect(e){return e+this.readInt32(e)}__vector(e){return e+this.readInt32(e)+ei}__vector_len(e){return this.readInt32(e+this.readInt32(e))}__has_identifier(e){if(e.length!=Oi)throw new Error("FlatBuffers: file identifier must be length "+Oi);for(let n=0;nthis.minalign&&(this.minalign=e);const r=~(this.bb.capacity()-this.space+n)+1&e-1;for(;this.space=0&&this.vtable[n]==0;n--);const r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?e-this.vtable[n]:0);const i=2;this.addInt16(e-this.object_start);const s=(r+i)*km;this.addInt16(s);let o=0;const a=this.space;e:for(n=0;n=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,ei+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,n){this.finish(e,n,!0)}requiredField(e,n){const r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(!(this.bb.readInt16(i+n)!=0))throw new Error("FlatBuffers: field "+n+" must be set")}startVector(e,n,r){this.notNested(),this.vector_num_elems=n,this.prep(ei,e*n),this.prep(r,e*n)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(e){if(!e)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(e))return this.string_maps.get(e);const n=this.createString(e);return this.string_maps.set(e,n),n}createString(e){if(!e)return 0;let n;if(e instanceof Uint8Array)n=e;else{n=[];let r=0;for(;r=56320)i=s;else{const o=e.charCodeAt(r++);i=(s<<10)+o+(65536-56623104-56320)}i<128?n.push(i):(i<2048?n.push(i>>6&31|192):(i<65536?n.push(i>>12&15|224):n.push(i>>18&7|240,i>>12&63|128),n.push(i>>6&63|128)),n.push(i&63|128))}}this.addInt8(0),this.startVector(1,n.length,1),this.bb.setPosition(this.space-=n.length);for(let r=0,i=this.space,s=this.bb.bytes();r=0;r--)e.addInt32(n[r]);return e.endVector()}static startTypeIdsVector(e,n){e.startVector(4,n,4)}static endUnion(e){return e.endObject()}static createUnion(e,n,r){return In.startUnion(e),In.addMode(e,n),In.addTypeIds(e,r),In.endUnion(e)}}class bo{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsUtf8(e,n){return(n||new bo).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,n){return e.setPosition(e.position()+st),(n||new bo).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return bo.startUtf8(e),bo.endUtf8(e)}}var _t;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.FloatingPoint=3]="FloatingPoint",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct_=13]="Struct_",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.LargeList=21]="LargeList"})(_t||(_t={}));let lr=class Ff{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsField(e,n){return(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,n){return e.setPosition(e.position()+st),(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}name(e){const n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):_t.NONE}type(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(e,this.bb_pos+n):null}dictionary(e){const n=this.bb.__offset(this.bb_pos,12);return n?(e||new ki).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(e,n){const r=this.bb.__offset(this.bb_pos,14);return r?(n||new Ff).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,16);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,n){e.addFieldOffset(0,n,0)}static addNullable(e,n){e.addFieldInt8(1,+n,0)}static addTypeType(e,n){e.addFieldInt8(2,n,_t.NONE)}static addType(e,n){e.addFieldOffset(3,n,0)}static addDictionary(e,n){e.addFieldOffset(4,n,0)}static addChildren(e,n){e.addFieldOffset(5,n,0)}static createChildrenVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startChildrenVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(6,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endField(e){return e.endObject()}},Hr=class gi{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsSchema(e,n){return(n||new gi).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,n){return e.setPosition(e.position()+st),(n||new gi).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Xa.Little}fields(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new lr).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+e*8):this.bb.createLong(0,0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,n){e.addFieldInt16(0,n,Xa.Little)}static addFields(e,n){e.addFieldOffset(1,n,0)}static createFieldsVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startFieldsVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(2,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static addFeatures(e,n){e.addFieldOffset(3,n,0)}static createFeaturesVector(e,n){e.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)e.addInt64(n[r]);return e.endVector()}static startFeaturesVector(e,n){e.startVector(8,n,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,n){e.finish(n)}static finishSizePrefixedSchemaBuffer(e,n){e.finish(n,void 0,!0)}static createSchema(e,n,r,i,s){return gi.startSchema(e),gi.addEndianness(e,n),gi.addFields(e,r),gi.addCustomMetadata(e,i),gi.addFeatures(e,s),gi.endSchema(e)}};class Kn{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsFooter(e,n){return(n||new Kn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,n){return e.setPosition(e.position()+st),(n||new Kn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ja.V1}schema(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Hr).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new cv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,n){const r=this.bb.__offset(this.bb_pos,10);return r?(n||new cv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ja.V1)}static addSchema(e,n){e.addFieldOffset(1,n,0)}static addDictionaries(e,n){e.addFieldOffset(2,n,0)}static startDictionariesVector(e,n){e.startVector(24,n,8)}static addRecordBatches(e,n){e.addFieldOffset(3,n,0)}static startRecordBatchesVector(e,n){e.startVector(24,n,8)}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,n){e.finish(n)}static finishSizePrefixedFooterBuffer(e,n){e.finish(n,void 0,!0)}}class We{constructor(e=[],n,r){this.fields=e||[],this.metadata=n||new Map,r||(r=hv(e)),this.dictionaries=r}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,n)=>`${n}: ${e}`).join(", ")} }>`}select(e){const n=new Set(e),r=this.fields.filter(i=>n.has(i.name));return new We(r,this.metadata)}selectAt(e){const n=e.map(r=>this.fields[r]).filter(Boolean);return new We(n,this.metadata)}assign(...e){const n=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),r=[...this.fields],i=hf(hf(new Map,this.metadata),n.metadata),s=n.fields.filter(a=>{const l=r.findIndex(f=>f.name===a.name);return~l?(r[l]=a.clone({metadata:hf(hf(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),o=hv(s,new Map);return new We([...r,...s],i,new Map([...this.dictionaries,...o]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class yt{constructor(e,n,r=!1,i){this.name=e,this.type=n,this.nullable=r,this.metadata=i||new Map}static new(...e){let[n,r,i,s]=e;return e[0]&&typeof e[0]=="object"&&({name:n}=e[0],r===void 0&&(r=e[0].type),i===void 0&&(i=e[0].nullable),s===void 0&&(s=e[0].metadata)),new yt(`${n}`,r,i,s)}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[n,r,i,s]=e;return!e[0]||typeof e[0]!="object"?[n=this.name,r=this.type,i=this.nullable,s=this.metadata]=e:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:s=this.metadata}=e[0],yt.new(n,r,i,s)}}yt.prototype.type=null;yt.prototype.name=null;yt.prototype.nullable=null;yt.prototype.metadata=null;function hf(t,e){return new Map([...t||new Map,...e||new Map])}function hv(t,e=new Map){for(let n=-1,r=t.length;++n0&&hv(s.children,e)}return e}var b1=Mi,uj=XD,lj=Ga;class jl{constructor(e,n=Qn.V4,r,i){this.schema=e,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}static decode(e){e=new lj(Ue(e));const n=Kn.getRootAsFooter(e),r=We.decode(n.schema());return new cj(r,n)}static encode(e){const n=new uj,r=We.encode(n,e.schema);Kn.startRecordBatchesVector(n,e.numRecordBatches);for(const o of[...e.recordBatches()].slice().reverse())Ls.encode(n,o);const i=n.endVector();Kn.startDictionariesVector(n,e.numDictionaries);for(const o of[...e.dictionaryBatches()].slice().reverse())Ls.encode(n,o);const s=n.endVector();return Kn.startFooter(n),Kn.addSchema(n,r),Kn.addVersion(n,Qn.V4),Kn.addRecordBatches(n,i),Kn.addDictionaries(n,s),Kn.finishFooterBuffer(n,Kn.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}*recordBatches(){for(let e,n=-1,r=this.numRecordBatches;++n=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(St);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return cr.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return cr.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return ve(this,void 0,void 0,function*(){return yield this.abort(e),St})}return(e){return ve(this,void 0,void 0,function*(){return yield this.close(),St})}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(St)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class Lf extends fj{write(e){if((e=Ue(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?sv(this.toUint8Array(!0)):this.toUint8Array(!1).then(sv)}toUint8Array(e=!1){return e?fi(this._values)[0]:(()=>ve(this,void 0,void 0,function*(){var n,r;const i=[];let s=0;try{for(var o=Ds(this),a;a=yield o.next(),!a.done;){const l=a.value;i.push(l),s+=l.byteLength}}catch(l){n={error:l}}finally{try{a&&!a.done&&(r=o.return)&&(yield r.call(o))}finally{if(n)throw n.error}}return fi(i,s)[0]}))()}}class Qd{constructor(e){e&&(this.source=new dj(cr.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class eu{constructor(e){e instanceof eu?this.source=e.source:e instanceof Lf?this.source=new ao(cr.fromAsyncIterable(e)):Nk(e)?this.source=new ao(cr.fromNodeStream(e)):c0(e)?this.source=new ao(cr.fromDOMStream(e)):Mk(e)?this.source=new ao(cr.fromDOMStream(e.body)):lc(e)?this.source=new ao(cr.fromIterable(e)):Ms(e)?this.source=new ao(cr.fromAsyncIterable(e)):fu(e)&&(this.source=new ao(cr.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class dj{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,n="read"){return this.source.next({cmd:n,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||St)}return(e){return Object.create(this.source.return&&this.source.return(e)||St)}}class ao{constructor(e){this.source=e,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e,n="read"){return ve(this,void 0,void 0,function*(){return yield this.source.next({cmd:n,size:e})})}throw(e){return ve(this,void 0,void 0,function*(){const n=this.source.throw&&(yield this.source.throw(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(e){return ve(this,void 0,void 0,function*(){const n=this.source.return&&(yield this.source.return(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}}class I1 extends Qd{constructor(e,n){super(),this.position=0,this.buffer=Ue(e),this.size=typeof n>"u"?this.buffer.byteLength:n}readInt32(e){const{buffer:n,byteOffset:r}=this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),eve(this,void 0,void 0,function*(){this.size=(yield e.stat()).size,delete this._pending}))()}readInt32(e){return ve(this,void 0,void 0,function*(){const{buffer:n,byteOffset:r}=yield this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)})}seek(e){return ve(this,void 0,void 0,function*(){return this._pending&&(yield this._pending),this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let i=n[3]*r[3];this.buffer[0]=i&65535;let s=i>>>16;return i=n[2]*r[3],s+=i,i=n[3]*r[2]>>>0,s+=i,this.buffer[0]+=s<<16,this.buffer[1]=s>>>0>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(e){const n=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],n>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(e){return this.buffer[1]>>0,n[2]=this.buffer[2]+e.buffer[2]>>>0,n[1]=this.buffer[1]+e.buffer[1]>>>0,n[0]=this.buffer[0]+e.buffer[0]>>>0,n[0]>>0&&++n[1],n[1]>>0&&++n[2],n[2]>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${ba(this.buffer[3])} ${ba(this.buffer[2])} ${ba(this.buffer[1])} ${ba(this.buffer[0])}`}static multiply(e,n){return new Qr(new Uint32Array(e.buffer)).times(n)}static add(e,n){return new Qr(new Uint32Array(e.buffer)).plus(n)}static from(e,n=new Uint32Array(4)){return Qr.fromString(typeof e=="string"?e:e.toString(),n)}static fromNumber(e,n=new Uint32Array(4)){return Qr.fromString(e.toString(),n)}static fromString(e,n=new Uint32Array(4)){const r=e.startsWith("-"),i=e.length,s=new Qr(n);for(let o=r?1:0;o0&&this.readData(e,r)||new Uint8Array(0)}readOffsets(e,n){return this.readData(e,n)}readTypeIds(e,n){return this.readData(e,n)}readData(e,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(e){return this.dictionaries.get(e.id)}}class pj extends tx{constructor(e,n,r,i){super(new Uint8Array(0),n,r,i),this.sources=e}readNullBitmap(e,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):jd(this.sources[r])}readOffsets(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(Int32Array,this.sources[n]))}readTypeIds(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(e.ArrayType,this.sources[n]))}readData(e,{offset:n}=this.nextBufferRange()){const{sources:r}=this;return we.isTimestamp(e)||(we.isInt(e)||we.isTime(e))&&e.bitWidth===64||we.isDate(e)&&e.unit===qi.MILLISECOND?rt(Uint8Array,_n.convertArray(r[n])):we.isDecimal(e)?rt(Uint8Array,Qr.convertArray(r[n])):we.isBinary(e)||we.isFixedSizeBinary(e)?mj(r[n]):we.isBool(e)?jd(r[n]):we.isUtf8(e)?l0(r[n].join("")):rt(Uint8Array,rt(e.ArrayType,r[n].map(i=>+i)))}}function mj(t){const e=t.join(""),n=new Uint8Array(e.length/2);for(let r=0;r>1]=Number.parseInt(e.slice(r,r+2),16);return n}class Ie extends Be{compareSchemas(e,n){return e===n||n instanceof e.constructor&&this.compareManyFields(e.fields,n.fields)}compareManyFields(e,n){return e===n||Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((r,i)=>this.compareFields(r,n[i]))}compareFields(e,n){return e===n||n instanceof e.constructor&&e.name===n.name&&e.nullable===n.nullable&&this.visit(e.type,n.type)}}function jn(t,e){return e instanceof t.constructor}function cc(t,e){return t===e||jn(t,e)}function Gi(t,e){return t===e||jn(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function Uh(t,e){return t===e||jn(t,e)&&t.precision===e.precision}function yj(t,e){return t===e||jn(t,e)&&t.byteWidth===e.byteWidth}function k0(t,e){return t===e||jn(t,e)&&t.unit===e.unit}function fc(t,e){return t===e||jn(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function dc(t,e){return t===e||jn(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function vj(t,e){return t===e||jn(t,e)&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function gj(t,e){return t===e||jn(t,e)&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function D0(t,e){return t===e||jn(t,e)&&t.mode===e.mode&&t.typeIds.every((n,r)=>n===e.typeIds[r])&&$s.compareManyFields(t.children,e.children)}function wj(t,e){return t===e||jn(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&$s.visit(t.indices,e.indices)&&$s.visit(t.dictionary,e.dictionary)}function x0(t,e){return t===e||jn(t,e)&&t.unit===e.unit}function _j(t,e){return t===e||jn(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function bj(t,e){return t===e||jn(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}Ie.prototype.visitNull=cc;Ie.prototype.visitBool=cc;Ie.prototype.visitInt=Gi;Ie.prototype.visitInt8=Gi;Ie.prototype.visitInt16=Gi;Ie.prototype.visitInt32=Gi;Ie.prototype.visitInt64=Gi;Ie.prototype.visitUint8=Gi;Ie.prototype.visitUint16=Gi;Ie.prototype.visitUint32=Gi;Ie.prototype.visitUint64=Gi;Ie.prototype.visitFloat=Uh;Ie.prototype.visitFloat16=Uh;Ie.prototype.visitFloat32=Uh;Ie.prototype.visitFloat64=Uh;Ie.prototype.visitUtf8=cc;Ie.prototype.visitBinary=cc;Ie.prototype.visitFixedSizeBinary=yj;Ie.prototype.visitDate=k0;Ie.prototype.visitDateDay=k0;Ie.prototype.visitDateMillisecond=k0;Ie.prototype.visitTimestamp=fc;Ie.prototype.visitTimestampSecond=fc;Ie.prototype.visitTimestampMillisecond=fc;Ie.prototype.visitTimestampMicrosecond=fc;Ie.prototype.visitTimestampNanosecond=fc;Ie.prototype.visitTime=dc;Ie.prototype.visitTimeSecond=dc;Ie.prototype.visitTimeMillisecond=dc;Ie.prototype.visitTimeMicrosecond=dc;Ie.prototype.visitTimeNanosecond=dc;Ie.prototype.visitDecimal=cc;Ie.prototype.visitList=vj;Ie.prototype.visitStruct=gj;Ie.prototype.visitUnion=D0;Ie.prototype.visitDenseUnion=D0;Ie.prototype.visitSparseUnion=D0;Ie.prototype.visitDictionary=wj;Ie.prototype.visitInterval=x0;Ie.prototype.visitIntervalDayTime=x0;Ie.prototype.visitIntervalYearMonth=x0;Ie.prototype.visitFixedSizeList=_j;Ie.prototype.visitMap=bj;const $s=new Ie;function pv(t,e){return $s.compareSchemas(t,e)}function Dm(t,e){return Sj(t,e.map(n=>n.data.concat()))}function Sj(t,e){const n=[...t.fields],r=[],i={numBatches:e.reduce((p,y)=>Math.max(p,y.length),0)};let s=0,o=0,a=-1;const l=e.length;let f,h=[];for(;i.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a0&&(r[s++]=Ne({type:new pn(n),length:o,nullCount:0,children:h.slice()})))}return[t=t.assign(n),r.map(p=>new En(t,p))]}function Ij(t,e,n,r,i){var s;const o=(e+63&-64)>>3;for(let a=-1,l=r.length;++a=e)h===e?n[a]=f:(n[a]=f.slice(0,e),i.numBatches=Math.max(i.numBatches,r[a].unshift(f.slice(e,h-e))));else{const p=t[a];t[a]=p.clone({nullable:!0}),n[a]=(s=f==null?void 0:f._changeLengthAndBackfillNullBitmap(e))!==null&&s!==void 0?s:Ne({type:p.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)})}}return n}var nx;class hn{constructor(...e){var n,r;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let i,s;e[0]instanceof We&&(i=e.shift()),e[e.length-1]instanceof Uint32Array&&(s=e.pop());const o=l=>{if(l){if(l instanceof En)return[l];if(l instanceof hn)return l.batches;if(l instanceof at){if(l.type instanceof pn)return[new En(new We(l.type.children),l)]}else{if(Array.isArray(l))return l.flatMap(f=>o(f));if(typeof l[Symbol.iterator]=="function")return[...l].flatMap(f=>o(f));if(typeof l=="object"){const f=Object.keys(l),h=f.map(w=>new Ke([l[w]])),p=new We(f.map((w,I)=>new yt(String(w),h[I].type))),[,y]=Dm(p,h);return y.length===0?[new En(l)]:y}}}return[]},a=e.flatMap(l=>o(l));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new We([]),!(i instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const l of a){if(!(l instanceof En))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!pv(i,l.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=s??UD(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,n)=>e+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=jD(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}getByteLength(e){return 0}[Symbol.iterator](){return this.batches.length>0?I0.visit(new Ke(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ + ${this.toArray().join(`, + `)} +]`}concat(...e){const n=this.schema,r=this.data.concat(e.flatMap(({data:i})=>i));return new hn(n,r.map(i=>new En(n,i)))}slice(e,n){const r=this.schema;[e,n]=LD({length:this.numRows},e,n);const i=zD(this.data,this._offsets,e,n);return new hn(r,i.map(s=>new En(r,s)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===e))}getChildAt(e){if(e>-1&&er.children[e]);if(n.length===0){const{type:r}=this.schema.fields[e],i=Ne({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new Ke(n)}return null}setChild(e,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===e),n)}setChildAt(e,n){let r=this.schema,i=[...this.batches];if(e>-1&&ethis.getChildAt(f));[s[e],a[e]]=[o,n],[r,i]=Dm(r,a)}return new hn(r,i)}select(e){const n=this.schema.fields.reduce((r,i,s)=>r.set(i.name,s),new Map);return this.selectAt(e.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(e){const n=this.schema.selectAt(e),r=this.batches.map(i=>i.selectAt(e));return new hn(n,r)}assign(e){const n=this.schema.fields,[r,i]=e.schema.fields.reduce((a,l,f)=>{const[h,p]=a,y=n.findIndex(w=>w.name===l.name);return~y?p[y]=f:h.push(f),a},[[],[]]),s=this.schema.assign(e.schema),o=[...n.map((a,l)=>[l,i[l]]).map(([a,l])=>l===void 0?this.getChildAt(a):e.getChildAt(l)),...r.map(a=>e.getChildAt(a))].filter(Boolean);return new hn(...Dm(s,o))}}nx=Symbol.toStringTag;hn[nx]=(t=>(t.schema=null,t.batches=[],t._offsets=new Uint32Array([0]),t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,t.isValid=Ra(S0),t.get=Ra(Bn.getVisitFn(N.Struct)),t.set=VD(wr.getVisitFn(N.Struct)),t.indexOf=KD(Ud.getVisitFn(N.Struct)),t.getByteLength=Ra(di.getVisitFn(N.Struct)),"Table"))(hn.prototype);var rx;let En=class Vu{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Ne({nullCount:0,type:new pn(this.schema.fields),children:this.schema.fields.map(n=>Ne({type:n.type,nullCount:0}))})]=e,!(this.data instanceof at))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=E1(this.schema,this.data.children);break}case 1:{const[n]=e,{fields:r,children:i,length:s}=Object.keys(n).reduce((l,f,h)=>(l.children[h]=n[f],l.length=Math.max(l.length,n[f].length),l.fields[h]=yt.new({name:f,type:n[f].type,nullable:!0}),l),{length:0,fields:new Array,children:new Array}),o=new We(r),a=Ne({type:new pn(r),length:s,children:i,nullCount:0});[this.schema,this.data]=E1(o,a.children,s);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=ix(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Bn.visit(this.data,e)}set(e,n){return wr.visit(this.data,e,n)}indexOf(e,n){return Ud.visit(this.data,e,n)}getByteLength(e){return di.visit(this.data,e)}[Symbol.iterator](){return I0.visit(new Ke([this.data]))}toArray(){return[...this]}concat(...e){return new hn(this.schema,[this,...e])}slice(e,n){const[r]=new Ke([this.data]).slice(e,n).data;return new Vu(this.schema,r)}getChild(e){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&ei.name===e),n)}setChildAt(e,n){let r=this.schema,i=this.data;if(e>-1&&ea.name===s);~o&&(i[o]=this.data.children[o])}return new Vu(n,Ne({type:r,length:this.numRows,children:i}))}selectAt(e){const n=this.schema.selectAt(e),r=e.map(s=>this.data.children[s]).filter(Boolean),i=Ne({type:new pn(n.fields),length:this.numRows,children:r});return new Vu(n,i)}};rx=Symbol.toStringTag;En[rx]=(t=>(t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(En.prototype);function E1(t,e,n=e.reduce((r,i)=>Math.max(r,i.length),0)){var r;const i=[...t.fields],s=[...e],o=(n+63&-64)>>3;for(const[a,l]of t.fields.entries()){const f=e[a];(!f||f.length!==n)&&(i[a]=l.clone({nullable:!0}),s[a]=(r=f==null?void 0:f._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Ne({type:l.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[t.assign(i),Ne({type:new pn(i),length:n,children:s})]}function ix(t,e,n=new Map){for(let r=-1,i=t.length;++r0&&ix(o.children,a.children,n)}return n}class C0 extends En{constructor(e){const n=e.fields.map(i=>Ne({type:i.type})),r=Ne({type:new pn(e.fields),nullCount:0,children:n});super(e,r)}}var Gd;(function(t){t[t.BUFFER=0]="BUFFER"})(Gd||(Gd={}));var Jd;(function(t){t[t.LZ4_FRAME=0]="LZ4_FRAME",t[t.ZSTD=1]="ZSTD"})(Jd||(Jd={}));class ds{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsBodyCompression(e,n){return(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBodyCompression(e,n){return e.setPosition(e.position()+st),(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}codec(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt8(this.bb_pos+e):Jd.LZ4_FRAME}method(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt8(this.bb_pos+e):Gd.BUFFER}static startBodyCompression(e){e.startObject(2)}static addCodec(e,n){e.addFieldInt8(0,n,Jd.LZ4_FRAME)}static addMethod(e,n){e.addFieldInt8(1,n,Gd.BUFFER)}static endBodyCompression(e){return e.endObject()}static createBodyCompression(e,n,r){return ds.startBodyCompression(e),ds.addCodec(e,n),ds.addMethod(e,r),ds.endBodyCompression(e)}}class sx{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}}let ox=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}},Si=class mv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsRecordBatch(e,n){return(n||new mv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsRecordBatch(e,n){return e.setPosition(e.position()+st),(n||new mv).__init(e.readInt32(e.position())+e.position(),e)}length(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}nodes(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new ox).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}nodesLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}buffers(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new sx).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}buffersLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}compression(e){const n=this.bb.__offset(this.bb_pos,10);return n?(e||new ds).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startRecordBatch(e){e.startObject(4)}static addLength(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addNodes(e,n){e.addFieldOffset(1,n,0)}static startNodesVector(e,n){e.startVector(16,n,8)}static addBuffers(e,n){e.addFieldOffset(2,n,0)}static startBuffersVector(e,n){e.startVector(16,n,8)}static addCompression(e,n){e.addFieldOffset(3,n,0)}static endRecordBatch(e){return e.endObject()}},ua=class yv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsDictionaryBatch(e,n){return(n||new yv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsDictionaryBatch(e,n){return e.setPosition(e.position()+st),(n||new yv).__init(e.readInt32(e.position())+e.position(),e)}id(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}data(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Si).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isDelta(){const e=this.bb.__offset(this.bb_pos,8);return e?!!this.bb.readInt8(this.bb_pos+e):!1}static startDictionaryBatch(e){e.startObject(3)}static addId(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addData(e,n){e.addFieldOffset(1,n,0)}static addIsDelta(e,n){e.addFieldInt8(2,+n,0)}static endDictionaryBatch(e){return e.endObject()}};var Xd;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Xd||(Xd={}));let os=class Wr{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsMessage(e,n){return(n||new Wr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,n){return e.setPosition(e.position()+st),(n||new Wr).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ja.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Xd.NONE}header(e){const n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(e,this.bb_pos+n):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ja.V1)}static addHeaderType(e,n){e.addFieldInt8(1,n,Xd.NONE)}static addHeader(e,n){e.addFieldOffset(2,n,0)}static addBodyLength(e,n){e.addFieldInt64(3,n,e.createLong(0,0))}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,n){e.finish(n)}static finishSizePrefixedMessageBuffer(e,n){e.finish(n,void 0,!0)}static createMessage(e,n,r,i,s,o){return Wr.startMessage(e),Wr.addVersion(e,n),Wr.addHeaderType(e,r),Wr.addHeader(e,i),Wr.addBodyLength(e,s),Wr.addCustomMetadata(e,o),Wr.endMessage(e)}};var Ej=Mi;class Oj extends Be{visit(e,n){return e==null||n==null?void 0:super.visit(e,n)}visitNull(e,n){return wo.startNull(n),wo.endNull(n)}visitInt(e,n){return qn.startInt(n),qn.addBitWidth(n,e.bitWidth),qn.addIsSigned(n,e.isSigned),qn.endInt(n)}visitFloat(e,n){return ri.startFloatingPoint(n),ri.addPrecision(n,e.precision),ri.endFloatingPoint(n)}visitBinary(e,n){return yo.startBinary(n),yo.endBinary(n)}visitBool(e,n){return vo.startBool(n),vo.endBool(n)}visitUtf8(e,n){return bo.startUtf8(n),bo.endUtf8(n)}visitDecimal(e,n){return bn.startDecimal(n),bn.addScale(n,e.scale),bn.addPrecision(n,e.precision),bn.addBitWidth(n,e.bitWidth),bn.endDecimal(n)}visitDate(e,n){return Nf.startDate(n),Nf.addUnit(n,e.unit),Nf.endDate(n)}visitTime(e,n){return hr.startTime(n),hr.addUnit(n,e.unit),hr.addBitWidth(n,e.bitWidth),hr.endTime(n)}visitTimestamp(e,n){const r=e.timezone&&n.createString(e.timezone)||void 0;return pr.startTimestamp(n),pr.addUnit(n,e.unit),r!==void 0&&pr.addTimezone(n,r),pr.endTimestamp(n)}visitInterval(e,n){return ii.startInterval(n),ii.addUnit(n,e.unit),ii.endInterval(n)}visitList(e,n){return go.startList(n),go.endList(n)}visitStruct(e,n){return _o.startStruct_(n),_o.endStruct_(n)}visitUnion(e,n){In.startTypeIdsVector(n,e.typeIds.length);const r=In.createTypeIdsVector(n,e.typeIds);return In.startUnion(n),In.addMode(n,e.mode),In.addTypeIds(n,r),In.endUnion(n)}visitDictionary(e,n){const r=this.visit(e.indices,n);return ki.startDictionaryEncoding(n),ki.addId(n,new Ej(e.id,0)),ki.addIsOrdered(n,e.isOrdered),r!==void 0&&ki.addIndexType(n,r),ki.endDictionaryEncoding(n)}visitFixedSizeBinary(e,n){return ti.startFixedSizeBinary(n),ti.addByteWidth(n,e.byteWidth),ti.endFixedSizeBinary(n)}visitFixedSizeList(e,n){return ni.startFixedSizeList(n),ni.addListSize(n,e.listSize),ni.endFixedSizeList(n)}visitMap(e,n){return Bf.startMap(n),Bf.addKeysSorted(n,e.keysSorted),Bf.endMap(n)}}const xm=new Oj;function kj(t,e=new Map){return new We(xj(t,e),$f(t.customMetadata),e)}function ax(t){return new tr(t.count,ux(t.columns),lx(t.columns))}function Dj(t){return new hi(ax(t.data),t.id,t.isDelta)}function xj(t,e){return(t.fields||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function O1(t,e){return(t.children||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function ux(t){return(t||[]).reduce((e,n)=>[...e,new Wo(n.count,Cj(n.VALIDITY)),...ux(n.children)],[])}function lx(t,e=[]){for(let n=-1,r=(t||[]).length;++ne+ +(n===0),0)}function Aj(t,e){let n,r,i,s,o,a;return!e||!(s=t.dictionary)?(o=D1(t,O1(t,e)),i=new yt(t.name,o,t.nullable,$f(t.customMetadata))):e.has(n=s.id)?(r=(r=s.indexType)?k1(r):new Fl,a=new Ya(e.get(n),r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))):(r=(r=s.indexType)?k1(r):new Fl,e.set(n,o=D1(t,O1(t,e))),a=new Ya(o,r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))),i||null}function $f(t){return new Map(Object.entries(t||{}))}function k1(t){return new Fs(t.isSigned,t.bitWidth)}function D1(t,e){const n=t.type.name;switch(n){case"NONE":return new Bs;case"null":return new Bs;case"binary":return new xd;case"utf8":return new Cd;case"bool":return new Ad;case"list":return new Nd((e||[])[0]);case"struct":return new pn(e||[]);case"struct_":return new pn(e||[])}switch(n){case"int":{const r=t.type;return new Fs(r.isSigned,r.bitWidth)}case"floatingpoint":{const r=t.type;return new Ll(An[r.precision])}case"decimal":{const r=t.type;return new Pd(r.scale,r.precision,r.bitWidth)}case"date":{const r=t.type;return new Rd(qi[r.unit])}case"time":{const r=t.type;return new $l(ze[r.unit],r.bitWidth)}case"timestamp":{const r=t.type;return new Td(ze[r.unit],r.timezone)}case"interval":{const r=t.type;return new Md(Ns[r.unit])}case"union":{const r=t.type;return new Bd(er[r.mode],r.typeIds||[],e||[])}case"fixedsizebinary":{const r=t.type;return new Fd(r.byteWidth)}case"fixedsizelist":{const r=t.type;return new Ld(r.listSize,(e||[])[0])}case"map":{const r=t.type;return new $d((e||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var jo=Mi,Pj=XD,Rj=Ga;class mn{constructor(e,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=typeof e=="number"?e:e.low}static fromJSON(e,n){const r=new mn(0,Qn.V4,n);return r._createHeader=Tj(e,n),r}static decode(e){e=new Rj(Ue(e));const n=os.getRootAsMessage(e),r=n.bodyLength(),i=n.version(),s=n.headerType(),o=new mn(r,i,s);return o._createHeader=Mj(n,s),o}static encode(e){const n=new Pj;let r=-1;return e.isSchema()?r=We.encode(n,e.header()):e.isRecordBatch()?r=tr.encode(n,e.header()):e.isDictionaryBatch()&&(r=hi.encode(n,e.header())),os.startMessage(n),os.addVersion(n,Qn.V4),os.addHeader(n,r),os.addHeaderType(n,e.headerType),os.addBodyLength(n,new jo(e.bodyLength,0)),os.finishMessageBuffer(n,os.endMessage(n)),n.asUint8Array()}static from(e,n=0){if(e instanceof We)return new mn(0,Qn.V4,Ve.Schema,e);if(e instanceof tr)return new mn(n,Qn.V4,Ve.RecordBatch,e);if(e instanceof hi)return new mn(n,Qn.V4,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}}class tr{constructor(e,n,r){this._nodes=n,this._buffers=r,this._length=typeof e=="number"?e:e.low}get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}}class hi{constructor(e,n,r=!1){this._data=e,this._isDelta=r,this._id=typeof n=="number"?n:n.low}get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}}class oi{constructor(e,n){this.offset=typeof e=="number"?e:e.low,this.length=typeof n=="number"?n:n.low}}class Wo{constructor(e,n){this.length=typeof e=="number"?e:e.low,this.nullCount=typeof n=="number"?n:n.low}}function Tj(t,e){return()=>{switch(e){case Ve.Schema:return We.fromJSON(t);case Ve.RecordBatch:return tr.fromJSON(t);case Ve.DictionaryBatch:return hi.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}function Mj(t,e){return()=>{switch(e){case Ve.Schema:return We.decode(t.header(new Hr));case Ve.RecordBatch:return tr.decode(t.header(new Si),t.version());case Ve.DictionaryBatch:return hi.decode(t.header(new ua),t.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}yt.encode=Wj;yt.decode=Vj;yt.fromJSON=Aj;We.encode=Kj;We.decode=Nj;We.fromJSON=kj;tr.encode=qj;tr.decode=Bj;tr.fromJSON=ax;hi.encode=Hj;hi.decode=Fj;hi.fromJSON=Dj;Wo.encode=Qj;Wo.decode=$j;oi.encode=Yj;oi.decode=Lj;function Nj(t,e=new Map){const n=zj(t,e);return new We(n,jf(t),e)}function Bj(t,e=Qn.V4){if(t.compression()!==null)throw new Error("Record batch compression not implemented");return new tr(t.length(),jj(t),Uj(t,e))}function Fj(t,e=Qn.V4){return new hi(tr.decode(t.data(),e),t.id(),t.isDelta())}function Lj(t){return new oi(t.offset(),t.length())}function $j(t){return new Wo(t.length(),t.nullCount())}function jj(t){const e=[];for(let n,r=-1,i=-1,s=t.nodesLength();++ryt.encode(t,s));Hr.startFieldsVector(t,n.length);const r=Hr.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?Hr.createCustomMetadataVector(t,[...e.metadata].map(([s,o])=>{const a=t.createString(`${s}`),l=t.createString(`${o}`);return zt.startKeyValue(t),zt.addKey(t,a),zt.addValue(t,l),zt.endKeyValue(t)})):-1;return Hr.startSchema(t),Hr.addFields(t,r),Hr.addEndianness(t,Gj?Xa.Little:Xa.Big),i!==-1&&Hr.addCustomMetadata(t,i),Hr.endSchema(t)}function Wj(t,e){let n=-1,r=-1,i=-1;const s=e.type;let o=e.typeId;we.isDictionary(s)?(o=s.dictionary.typeId,i=xm.visit(s,t),r=xm.visit(s.dictionary,t)):r=xm.visit(s,t);const a=(s.children||[]).map(h=>yt.encode(t,h)),l=lr.createChildrenVector(t,a),f=e.metadata&&e.metadata.size>0?lr.createCustomMetadataVector(t,[...e.metadata].map(([h,p])=>{const y=t.createString(`${h}`),w=t.createString(`${p}`);return zt.startKeyValue(t),zt.addKey(t,y),zt.addValue(t,w),zt.endKeyValue(t)})):-1;return e.name&&(n=t.createString(e.name)),lr.startField(t),lr.addType(t,r),lr.addTypeType(t,o),lr.addChildren(t,l),lr.addNullable(t,!!e.nullable),n!==-1&&lr.addName(t,n),i!==-1&&lr.addDictionary(t,i),f!==-1&&lr.addCustomMetadata(t,f),lr.endField(t)}function qj(t,e){const n=e.nodes||[],r=e.buffers||[];Si.startNodesVector(t,n.length);for(const o of n.slice().reverse())Wo.encode(t,o);const i=t.endVector();Si.startBuffersVector(t,r.length);for(const o of r.slice().reverse())oi.encode(t,o);const s=t.endVector();return Si.startRecordBatch(t),Si.addLength(t,new jo(e.length,0)),Si.addNodes(t,i),Si.addBuffers(t,s),Si.endRecordBatch(t)}function Hj(t,e){const n=tr.encode(t,e.data);return ua.startDictionaryBatch(t),ua.addId(t,new jo(e.id,0)),ua.addIsDelta(t,e.isDelta),ua.addData(t,n),ua.endDictionaryBatch(t)}function Qj(t,e){return ox.createFieldNode(t,new jo(e.length,0),new jo(e.nullCount,0))}function Yj(t,e){return sx.createBuffer(t,new jo(e.offset,0),new jo(e.length,0))}const Gj=(()=>{const t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),new Int16Array(t)[0]===256})(),A0=t=>`Expected ${Ve[t]} Message in stream, but was null or length 0.`,P0=t=>`Header pointer of flatbuffer-encoded ${Ve[t]} Message is null or length 0.`,cx=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,fx=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`;class dx{constructor(e){this.source=e instanceof Qd?e:new Qd(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?St:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(A0(e));return n.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const n=Ue(this.source.read(e));if(n.byteLength[...i,...s.VALIDITY&&[s.VALIDITY]||[],...s.TYPE&&[s.TYPE]||[],...s.OFFSET&&[s.OFFSET]||[],...s.DATA&&[s.DATA]||[],...n(s.children)],[])}}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(A0(e));return n.value}readSchema(){const e=Ve.Schema,n=this.readMessage(e),r=n==null?void 0:n.header();if(!n||!r)throw new Error(P0(e));return r}}const zh=4,vv="ARROW1",Ul=new Uint8Array(vv.length);for(let t=0;tthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return cr.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return cr.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof Ni?e:ov(e)?r4(e):Tk(e)?o4(e):Ms(e)?(()=>ve(this,void 0,void 0,function*(){return yield Ni.from(yield e)}))():Mk(e)||c0(e)||Nk(e)||fu(e)?s4(new eu(e)):i4(new Qd(e))}static readAll(e){return e instanceof Ni?e.isSync()?P1(e):R1(e):ov(e)||ArrayBuffer.isView(e)||lc(e)||Rk(e)?P1(e):R1(e)}}class Zd extends Ni{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return kr(this,arguments,function*(){yield ge(yield*Df(Ds(this[Symbol.iterator]())))})}}class eh extends Ni{constructor(e){super(e),this._impl=e}readAll(){var e,n;return ve(this,void 0,void 0,function*(){const r=new Array;try{for(var i=Ds(this),s;s=yield i.next(),!s.done;){const o=s.value;r.push(o)}}catch(o){e={error:o}}finally{try{s&&!s.done&&(n=i.return)&&(yield n.call(i))}finally{if(e)throw e.error}}return r})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class px extends Zd{constructor(e){super(e),this._impl=e}}class e4 extends eh{constructor(e){super(e),this._impl=e}}class mx{constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,n){const r=this._loadVectors(e,n,this.schema.fields),i=Ne({type:new pn(this.schema.fields),length:e.length,children:r});return new En(this.schema,i)}_loadDictionaryBatch(e,n){const{id:r,isDelta:i}=e,{dictionaries:s,schema:o}=this,a=s.get(r);if(i||!a){const l=o.dictionaries.get(r),f=this._loadVectors(e.data,n,[l]);return(a&&i?a.concat(new Ke(f)):new Ke(f)).memoize()}return a.memoize()}_loadVectors(e,n,r){return new tx(n,e.nodes,e.buffers,this.dictionaries).visitMany(r)}}class th extends mx{constructor(e,n){super(n),this._reader=ov(e)?new Xj(this._handle=e):new dx(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=vx(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):St}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):St}next(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new C0(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class nh extends mx{constructor(e,n){super(n),this._reader=new Jj(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return ve(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return ve(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=vx(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):St})}return(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):St})}next(){return ve(this,void 0,void 0,function*(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new C0(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class yx extends th{constructor(e,n){super(e instanceof I1?e:new I1(e),n)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var n;if(this.closed)return null;this._footer||this.open();const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null}_readDictionaryBatch(e){var n;const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}}_readFooter(){const{_handle:e}=this,n=e.size-hx,r=e.readInt32(n),i=e.readAt(n-r,r);return jl.decode(i)}_readNextMessageAndValidate(e){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return ve(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,e)})}readRecordBatch(e){var n;return ve(this,void 0,void 0,function*(){if(this.closed)return null;this._footer||(yield this.open());const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null})}_readDictionaryBatch(e){var n;return ve(this,void 0,void 0,function*(){const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}})}_readFooter(){return ve(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const n=e.size-hx,r=yield e.readInt32(n),i=yield e.readAt(n-r,r);return jl.decode(i)})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?R0(e)?new px(new yx(t.read())):new Zd(new th(t)):new Zd(new th(function*(){}()))}function s4(t){return ve(this,void 0,void 0,function*(){const e=yield t.peek(hc+7&-8);return e&&e.byteLength>=4?R0(e)?new px(new yx(yield t.read())):new eh(new nh(t)):new eh(new nh(function(){return kr(this,arguments,function*(){})}()))})}function o4(t){return ve(this,void 0,void 0,function*(){const{size:e}=yield t.stat(),n=new Yd(t,e);return e>=Zj&&R0(yield n.readAt(0,hc+7&-8))?new e4(new t4(n)):new eh(new nh(n))})}class $t extends Be{constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}static assemble(...e){const n=i=>i.flatMap(s=>Array.isArray(s)?n(s):s instanceof En?s.data.children:s.data),r=new $t;return r.visitMany(n(e)),r}visit(e){if(e instanceof Ke)return this.visitMany(e.data),this;const{type:n}=e;if(!we.isDictionary(n)){const{length:r,nullCount:i}=e;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");we.isNull(n)||Ar.call(this,i<=0?new Uint8Array(0):w0(e.offset,r,e.nullBitmap)),this.nodes.push(new Wo(r,i))}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}}function Ar(t){const e=t.byteLength+7&-8;return this.buffers.push(t),this.bufferRegions.push(new oi(this._byteLength,e)),this._byteLength+=e,this}function a4(t){const{type:e,length:n,typeIds:r,valueOffsets:i}=t;if(Ar.call(this,r),e.mode===er.Sparse)return gv.call(this,t);if(e.mode===er.Dense){if(t.offset<=0)return Ar.call(this,i),gv.call(this,t);{const s=r.reduce((h,p)=>Math.max(h,p),r[0]),o=new Int32Array(s+1),a=new Int32Array(s+1).fill(-1),l=new Int32Array(n),f=d0(-i[0],n,i);for(let h,p,y=-1;++y=t.length?Ar.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?Ar.call(this,w0(t.offset,t.length,e)):Ar.call(this,jd(t.values))}function Ys(t){return Ar.call(this,t.values.subarray(0,t.length*t.stride))}function gx(t){const{length:e,values:n,valueOffsets:r}=t,i=r[0],s=r[e],o=Math.min(s-i,n.byteLength-i);return Ar.call(this,d0(-r[0],e,r)),Ar.call(this,n.subarray(i,i+o)),this}function T0(t){const{length:e,valueOffsets:n}=t;return n&&Ar.call(this,d0(n[0],e,n)),this.visit(t.children[0])}function gv(t){return this.visitMany(t.type.children.map((e,n)=>t.children[n]).filter(Boolean))[0]}$t.prototype.visitBool=u4;$t.prototype.visitInt=Ys;$t.prototype.visitFloat=Ys;$t.prototype.visitUtf8=gx;$t.prototype.visitBinary=gx;$t.prototype.visitFixedSizeBinary=Ys;$t.prototype.visitDate=Ys;$t.prototype.visitTimestamp=Ys;$t.prototype.visitTime=Ys;$t.prototype.visitDecimal=Ys;$t.prototype.visitList=T0;$t.prototype.visitStruct=gv;$t.prototype.visitUnion=a4;$t.prototype.visitInterval=Ys;$t.prototype.visitFixedSizeList=T0;$t.prototype.visitMap=T0;class wx extends E0{constructor(e){super(),this._position=0,this._started=!1,this._sink=new Lf,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Nn(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof e.autoDestroy=="boolean"?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat=="boolean"?e.writeLegacyIpcFormat:!1}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Ms(e)?e.then(n=>this.writeAll(n)):fu(e)?F0(this,e):B0(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,n=null){return e===this._sink||e instanceof Lf?this._sink=e:(this._sink=new Lf,e&&C3(e)?this.toDOMStream({type:"bytes"}).pipeTo(e):e&&A3(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!n||!pv(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(e){let n=null;if(this._sink){if(e==null)return this.finish()&&void 0;if(e instanceof hn&&!(n=e.schema))return this.finish()&&void 0;if(e instanceof En&&!(n=e.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!pv(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}e instanceof En?e instanceof C0||this._writeRecordBatch(e):e instanceof hn?this.writeAll(e.batches):lc(e)&&this.writeAll(e)}_writeMessage(e,n=8){const r=n-1,i=mn.encode(e),s=i.byteLength,o=this._writeLegacyIpcFormat?4:8,a=s+o+r&~r,l=a-s-o;return e.headerType===Ve.RecordBatch?this._recordBatchBlocks.push(new Ls(a,e.bodyLength,this._position)):e.headerType===Ve.DictionaryBatch&&this._dictionaryBlocks.push(new Ls(a,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),s>0&&this._write(i),this._writePadding(l)}_write(e){if(this._started){const n=Ue(e);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(e){return this._writeMessage(mn.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Ul)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){const{byteLength:n,nodes:r,bufferRegions:i,buffers:s}=$t.assemble(e),o=new tr(e.numRows,r,i),a=mn.from(o,n);return this._writeDictionaries(e)._writeMessage(a)._writeBodyBuffers(s)}_writeDictionaryBatch(e,n,r=!1){this._dictionaryDeltaOffsets.set(n,e.length+(this._dictionaryDeltaOffsets.get(n)||0));const{byteLength:i,nodes:s,bufferRegions:o,buffers:a}=$t.assemble(new Ke([e])),l=new tr(e.length,s,o),f=new hi(l,n,r),h=mn.from(f,i);return this._writeMessage(h)._writeBodyBuffers(a)}_writeBodyBuffers(e){let n,r,i;for(let s=-1,o=e.length;++s0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(e){for(let[n,r]of e.dictionaries){let i=this._dictionaryDeltaOffsets.get(n)||0;if(i===0||(r=r==null?void 0:r.slice(i)).length>0)for(const s of r.data)this._writeDictionaryBatch(s,n,i>0),i+=s.length}return this}}class M0 extends wx{static writeAll(e,n){const r=new M0(n);return Ms(e)?e.then(i=>r.writeAll(i)):fu(e)?F0(r,e):B0(r,e)}}class N0 extends wx{static writeAll(e){const n=new N0;return Ms(e)?e.then(r=>n.writeAll(r)):fu(e)?F0(n,e):B0(n,e)}constructor(){super(),this._autoDestroy=!0}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeFooter(e){const n=jl.encode(new jl(e,Qn.V4,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}}function B0(t,e){let n=e;e instanceof hn&&(n=e.batches,t.reset(void 0,e.schema));for(const r of n)t.write(r);return t.finish()}function F0(t,e){var n,r,i,s;return ve(this,void 0,void 0,function*(){try{for(n=Ds(e);r=yield n.next(),!r.done;){const o=r.value;t.write(o)}}catch(o){i={error:o}}finally{try{r&&!r.done&&(s=n.return)&&(yield s.call(n))}finally{if(i)throw i.error}}return t.finish()})}function Ku(t){const e=Ni.from(t);return Ms(e)?e.then(n=>Ku(n)):e.isAsync()?e.readAll().then(n=>new hn(n)):new hn(e.readAll())}function Cm(t,e="stream"){return(e==="stream"?M0:N0).writeAll(t).toUint8Array(!0)}var T1=function(){function t(e,n,r,i){var s=this;this.getCell=function(o,a){var l=o=s.headerRows&&a=s.headerColumns;if(l){var p=["blank"];return a>0&&p.push("level"+o),{type:"blank",classNames:p.join(" "),content:""}}else if(h){var y=a-s.headerColumns,p=["col_heading","level"+o,"col"+y];return{type:"columns",classNames:p.join(" "),content:s.getContent(s.columnsTable,y,o)}}else if(f){var w=o-s.headerRows,p=["row_heading","level"+a,"row"+w];return{type:"index",id:"T_".concat(s.uuid,"level").concat(a,"_row").concat(w),classNames:p.join(" "),content:s.getContent(s.indexTable,w,a)}}else{var w=o-s.headerRows,y=a-s.headerColumns,p=["data","row"+w,"col"+y],I=s.styler?s.getContent(s.styler.displayValuesTable,w,y):s.getContent(s.dataTable,w,y);return{type:"data",id:"T_".concat(s.uuid,"row").concat(w,"_col").concat(y),classNames:p.join(" "),content:I}}},this.getContent=function(o,a,l){var f=o.getChildAt(l);if(f===null)return"";var h=s.getColumnTypeId(o,l);switch(h){case N.Timestamp:return s.nanosToDate(f.get(a));default:return f.get(a)}},this.dataTable=Ku(e),this.indexTable=Ku(n),this.columnsTable=Ku(r),this.styler=i?{caption:i.caption,displayValuesTable:Ku(i.displayValues),styles:i.styles,uuid:i.uuid}:void 0}return Object.defineProperty(t.prototype,"rows",{get:function(){return this.indexTable.numRows+this.columnsTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this.indexTable.numCols+this.columnsTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerRows",{get:function(){return this.rows-this.dataRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerColumns",{get:function(){return this.columns-this.dataColumns},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataRows",{get:function(){return this.dataTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumns",{get:function(){return this.dataTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"uuid",{get:function(){return this.styler&&this.styler.uuid},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"caption",{get:function(){return this.styler&&this.styler.caption},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"styles",{get:function(){return this.styler&&this.styler.styles},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"table",{get:function(){return this.dataTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"index",{get:function(){return this.indexTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columnTable",{get:function(){return this.columnsTable},enumerable:!1,configurable:!0}),t.prototype.serialize=function(){return{data:Cm(this.dataTable),index:Cm(this.indexTable),columns:Cm(this.columnsTable)}},t.prototype.getColumnTypeId=function(e,n){return e.schema.fields[n].type.typeId},t.prototype.nanosToDate=function(e){return new Date(e/1e6)},t}(),al=function(){return al=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0?t.argsDataframeToObject(e.dfs):{};n=al(al({},n),r);var i=!!e.disabled,s=e.theme;s&&l4(s);var o={disabled:i,args:n,theme:s},a=new CustomEvent(t.RENDER_EVENT,{detail:o});t.events.dispatchEvent(a)},t.argsDataframeToObject=function(e){var n=e.map(function(r){var i=r.key,s=r.value;return[i,t.toArrowTable(s)]});return Object.fromEntries(n)},t.toArrowTable=function(e){var n,r=(n=e.data,n.data),i=n.index,s=n.columns,o=n.styler;return new T1(r,i,s,o)},t.sendBackMsg=function(e,n){window.parent.postMessage(al({isStreamlitMessage:!0,type:e},n),"*")},t}(),l4=function(t){var e=document.createElement("style");document.head.appendChild(e),e.innerHTML=` + :root { + --primary-color: `.concat(t.primaryColor,`; + --background-color: `).concat(t.backgroundColor,`; + --secondary-background-color: `).concat(t.secondaryBackgroundColor,`; + --text-color: `).concat(t.textColor,`; + --font: `).concat(t.font,`; + } + + body { + background-color: var(--background-color); + color: var(--text-color); + } + `)};function c4(t){var e=!1;try{e=t instanceof BigInt64Array||t instanceof BigUint64Array}catch{}return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array||e}var _x=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]=i[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();(function(t){_x(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.componentDidMount=function(){On.setFrameHeight()},e.prototype.componentDidUpdate=function(){On.setFrameHeight()},e})(ia.PureComponent);function f4(t){var e=function(n){_x(r,n);function r(i){var s=n.call(this,i)||this;return s.componentDidMount=function(){On.events.addEventListener(On.RENDER_EVENT,s.onRenderEvent),On.setComponentReady()},s.componentDidUpdate=function(){s.state.componentError!=null&&On.setFrameHeight()},s.componentWillUnmount=function(){On.events.removeEventListener(On.RENDER_EVENT,s.onRenderEvent)},s.onRenderEvent=function(o){s.setState({renderData:o.detail})},s.state={renderData:void 0,componentError:void 0},s}return r.prototype.render=function(){return this.state.componentError!=null?ia.createElement("div",null,ia.createElement("h1",null,"Component Error"),ia.createElement("span",null,this.state.componentError.message)):this.state.renderData==null?null:ia.createElement(t,{width:window.innerWidth,disabled:this.state.renderData.disabled,args:this.state.renderData.args,theme:this.state.renderData.theme})},r.getDerivedStateFromError=function(i){return{componentError:i}},r}(ia.PureComponent);return r3(e,t)}var d4=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n};const h4=rh(d4);let pf;const p4=new Uint8Array(16);function m4(){if(!pf&&(pf=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!pf))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return pf(p4)}const Jt=[];for(let t=0;t<256;++t)Jt.push((t+256).toString(16).slice(1));function y4(t,e=0){return Jt[t[e+0]]+Jt[t[e+1]]+Jt[t[e+2]]+Jt[t[e+3]]+"-"+Jt[t[e+4]]+Jt[t[e+5]]+"-"+Jt[t[e+6]]+Jt[t[e+7]]+"-"+Jt[t[e+8]]+Jt[t[e+9]]+"-"+Jt[t[e+10]]+Jt[t[e+11]]+Jt[t[e+12]]+Jt[t[e+13]]+Jt[t[e+14]]+Jt[t[e+15]]}const v4=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),M1={randomUUID:v4};function g4(t,e,n){if(M1.randomUUID&&!e&&!t)return M1.randomUUID();t=t||{};const r=t.random||(t.rng||m4)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){n=n||0;for(let i=0;i<16;++i)e[n+i]=r[i];return e}return y4(r)}const{logger:N1,isEmpty:na,isEmptyObject:w4}=Br,_4=t=>{const[e,n]=as.useState(),[r,i]=as.useState();let s={};const[o,a]=as.useState(),l=as.useRef(),f=as.useRef(),h=[];l.current||(l.current=new zL);async function p(_){const b=SF(_);return l.current.initDb(b)}async function y(_){f.current||(f.current=new Je(_,l.current)),await f.current.info(),n(!0);const b=f.current.docs({selector:{},sort:[{last_modified:"asc"}]}).subscribe(E=>{E&&(N1.table(E),i(E),On.setComponentValue(E))});h.push(b)}if(as.useEffect(()=>{const _=E=>{a(E.detail)};return On.events.addEventListener(On.RENDER_EVENT,_),On.setComponentReady(),()=>{On.events.removeEventListener(On.RENDER_EVENT,_),h.forEach(E=>E.unsubscribe())}},[]),w4(o))return null;const{dataframe:w,editing_state:I,collection_config:O,db_config:$}=o.args;if(!e)try{p($).then(()=>y(O))}catch(_){N1.log("Error initializing database",_)}if(!na(I)&&!h4(s,I)){if(s=I,!na(s.added_rows)){const _=s.added_rows.map(b=>({...b,id:g4(),createdAt:new Date().toISOString(),last_modified:Date.now()}));f.current.upsertBulk(_)}if(!na(s.deleted_rows)&&!na(r)){const _=[];s.deleted_rows.forEach(b=>{const E=r.at(b);E&&_.push(E.id)}),f.current.removeBulk(_)}!na(s.edited_rows)&&!na(r)&&Object.entries(s.edited_rows).forEach(([_,b])=>{const E=r.at(parseInt(_));E&&f.current.set(E.id,b)})}return t.args.element},b4=f4(_4),S4=YI(document.getElementById("root"));S4.render(bC.jsx(b4,{}));export{Kg as R,gO as a,kh as b,uO as c,Ui as d,Ts as e,RP as f,Fn as g,za as h,hg as i,el as j,pR as k,E4 as l,Ka as m,le as n,PP as o,Xl as p,zu as t}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} diff --git a/packages/streamlit-rxdb-dataframe/frontend/build/package.json b/packages/streamlit-rxdb-dataframe/frontend/build/package.json new file mode 100644 index 0000000..4d06150 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/build/package.json @@ -0,0 +1,4 @@ +{ + "name": "streamlit-rxdb-dataframe-frontend", + "main": "index.js" +} diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/col.dump.json b/packages/streamlit-rxdb-dataframe/frontend/public/assets/data/col.dump.json similarity index 100% rename from packages/streamlit-rxdb-dataframe/frontend/src/assets/data/col.dump.json rename to packages/streamlit-rxdb-dataframe/frontend/public/assets/data/col.dump.json diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/db.dump.json b/packages/streamlit-rxdb-dataframe/frontend/public/assets/data/db.dump.json similarity index 100% rename from packages/streamlit-rxdb-dataframe/frontend/src/assets/data/db.dump.json rename to packages/streamlit-rxdb-dataframe/frontend/public/assets/data/db.dump.json diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/todo.schema.json b/packages/streamlit-rxdb-dataframe/frontend/public/assets/data/todo.schema.json similarity index 88% rename from packages/streamlit-rxdb-dataframe/frontend/src/assets/data/todo.schema.json rename to packages/streamlit-rxdb-dataframe/frontend/public/assets/data/todo.schema.json index 9aab956..e6d5b34 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/src/assets/data/todo.schema.json +++ b/packages/streamlit-rxdb-dataframe/frontend/public/assets/data/todo.schema.json @@ -5,10 +5,11 @@ "title": "Todo", "description": "Todo Schema", "required": ["id", "title", "createdAt"], - "version": 3, + "version": 0, "properties": { "id": { "type": "string", + "format": "uuid", "title": "Id", "pattern": "^(.*)$", "maxLength": 36, @@ -16,7 +17,8 @@ }, "title": { "type": "string", - "title": "Title" + "title": "Title", + "minLength": 3 }, "completed": { "type": "boolean", @@ -30,6 +32,7 @@ }, "last_modified": { "type": "number", + "format": "time", "title": "Last Modified Date", "multipleOf": 1 } diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/lib/Database.tsx b/packages/streamlit-rxdb-dataframe/frontend/src/lib/Database.tsx deleted file mode 100644 index 9a91706..0000000 --- a/packages/streamlit-rxdb-dataframe/frontend/src/lib/Database.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import { createRxDatabase } from 'rxdb'; -import { getRxStorageDexie } from 'rxdb/plugins/storage-dexie'; -import { TODOS_COLLECTION_CONFIG, TODO_SCHEMA } from '@shared'; -// import { replicateCouchDB } from 'rxdb/plugins/replication-couchdb'; -import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; -import { loadRxDBPlugins } from '@ngx-odm/rxdb/config'; - -const { logger } = NgxRxdbUtils; -const syncURL = 'http://' + window.location.hostname + ':10102/'; - -logger.log('host: ' + syncURL); - -let dbPromise = null; - -const _create = async () => { - await loadRxDBPlugins(); - - logger.log('DatabaseService: creating database..'); - const db = await createRxDatabase({ - name: 'heroesreactdb', - storage: getRxStorageDexie(), - }); - logger.log('DatabaseService: created database'); - window['db'] = db; // write to window for debugging - - // create collections - logger.log('DatabaseService: create collections'); - await db.addCollections({ - [TODOS_COLLECTION_CONFIG.name]: { ...TODOS_COLLECTION_CONFIG, schema: TODO_SCHEMA }, - }); - - /* - - // sync - logger.log('DatabaseService: sync'); - await Promise.all( - Object.values(db.collections).map(async col => { - try { - // create the CouchDB database - await fetch(syncURL + col.name + '/', { - method: 'PUT', - }); - } catch (err) { - logger.log('e', err); - } - }) - ); - - logger.log('DatabaseService: sync - start live'); - - Object.values(db.collections) - .map(col => col.name) - .map(colName => { - const url = syncURL + colName + '/'; - logger.log('url: ' + url); - const replicationState = replicateCouchDB({ - collection: db[colName], - url, - live: true, - pull: {}, - push: {}, - autoStart: true, - }); - replicationState.error$.subscribe(err => { - logger.log('Got replication error:'); - console.dir(err); - }); - }); */ - - return db; -}; - -export const get = () => { - if (!dbPromise) dbPromise = _create(); - return dbPromise; -}; diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx b/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx index 92a7427..b066749 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx +++ b/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx @@ -1,177 +1,151 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import type { RxCollectionExtended as RxCollection } from '@ngx-odm/rxdb/config'; -import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; -import React, { Fragment, ReactNode, useEffect } from 'react'; +/* eslint-disable @typescript-eslint/no-unused-vars */ +import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; +import { + getRxDatabaseCreator, + RxDatabaseCreatorExtended, + type RxCollectionCreatorExtended, +} from '@ngx-odm/rxdb/config'; +import { RxDBService } from '@ngx-odm/rxdb/core'; +import { Entity, EntityId, NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; +import React, { ReactNode, useEffect, useRef, useState } from 'react'; +import { Subscription } from 'rxjs'; import { ArrowTable, ComponentProps, + RenderData, Streamlit, withStreamlitConnection, } from 'streamlit-component-lib'; -import * as Database from './Database'; -import { Subscription } from 'rxjs'; -import type { RxCollection as _RxCollection, RxDatabase } from 'rxdb'; -import { Todo } from '@shared'; +import equal from 'fast-deep-equal'; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-expect-error +import { v4 as uuid } from 'uuid'; -const { logger, range } = NgxRxdbUtils; - -interface TableProps { - element: ArrowTable; -} +const { logger, isEmpty, isEmptyObject } = NgxRxdbUtils; -class Table extends React.PureComponent { - subs: Subscription[] = []; - collection!: RxCollection; - - public returnDataframe = (): void => { - // NOTE: Returning Styler data is not supported, - // so it won't be included in the returned dataframe. - Streamlit.setComponentValue(this.props.element); - }; - - async componentDidMount() { - const db: RxDatabase = await Database.get(); - this.collection = db.collections['todo']; - const meta = await this.collection.getMetadata(); - logger.log('meta', meta); - } - - componentWillUnmount() { - this.subs.forEach(sub => sub.unsubscribe()); - } +type DataframeEditingState = { + edited_rows: Record; + added_rows: Entity[]; + deleted_rows: number[]; +}; - public render = (): ReactNode => { - logger.log(this.props.element); - - const table = this.props.element; - const hasHeader = table.headerRows > 0; - const hasData = table.dataRows > 0; - const id = table.uuid ? 'T_' + table.uuid : undefined; - const classNames = 'table table-bordered' + (hasData ? undefined : 'empty-table'); - const caption = table.caption ? : null; - - return ( - <> -
- -
{table.caption}
- {caption} - {hasHeader && ( - - - - )} - - {hasData ? ( - - ) : ( - - - - )} - -
empty
- - - - ); - }; +interface ComponentArgs { + collection_config: RxCollectionCreatorExtended; + db_config: RxDatabaseCreatorExtended; + dataframe: ArrowTable; + data: Entity[]; + editing_state: DataframeEditingState; } /** - * Purely functional component returning a list of rows. - * - * isHeader - Whether to display the header. - * table - The table to display. + * Dataframe example using Apache Arrow. */ +const RxDBDataframe: React.FC = props => { + const [inited, setInited] = useState(); + const [entities, setEntities] = useState(); + let _editingState: DataframeEditingState = {} as any; + const [renderData, setRenderData] = useState>(); + const dbServiceRef = useRef(); + const collectionServiceRef = useRef(); + const subs: Subscription[] = []; + if (!dbServiceRef.current) { + dbServiceRef.current = new RxDBService(); + } -interface TableRowsProps { - isHeader: boolean; - table: ArrowTable; -} - -const TableRows: React.FC = props => { - const { isHeader, table } = props; - const { headerRows, rows } = table; - const startRow = isHeader ? 0 : headerRows; - const endRow = isHeader ? headerRows : rows; - - const tableRows = range(startRow, endRow).map(rowIndex => ( - - - - )); - - return {tableRows}; -}; + async function initDb(dbConfig: RxDatabaseCreatorExtended) { + const parsedDbConfig = getRxDatabaseCreator(dbConfig); + return dbServiceRef.current!.initDb(parsedDbConfig); + } -/** - * Purely functional component returning a list entries for a row. - * - * rowIndex - The row index. - * table - The table to display. - */ + async function initCollection(collectionConfig: RxCollectionCreatorExtended) { + if (!collectionServiceRef.current) { + collectionServiceRef.current = new RxDBCollectionService( + collectionConfig, + dbServiceRef.current! + ); + } + await collectionServiceRef.current!.info(); + setInited(true); + const sub = collectionServiceRef.current!.docs({ // eslint-disable-line + selector: {}, + sort: [{ last_modified: 'asc' }], + }) + .subscribe(docs => { + if (!docs) { + return; + } + logger.table(docs); + setEntities(docs); + Streamlit.setComponentValue(docs); + }); + subs.push(sub); + } -interface TableRowProps { - rowIndex: number; - table: ArrowTable; -} + useEffect(() => { + const onRenderEvent = (event: Event): void => { + const renderEvent = event as CustomEvent; + setRenderData(renderEvent.detail); + }; + + // Set up event listeners, and signal to Streamlit that we're ready. + // We won't render the component until we receive the first RENDER_EVENT. + Streamlit.events.addEventListener(Streamlit.RENDER_EVENT, onRenderEvent); + Streamlit.setComponentReady(); + + const cleanup = () => { + Streamlit.events.removeEventListener(Streamlit.RENDER_EVENT, onRenderEvent); + subs.forEach(sub => sub.unsubscribe()); + }; + return cleanup; + }, []); + + if (isEmptyObject(renderData)) return null; // Don't do anything at all + + const { dataframe, editing_state, collection_config, db_config } = renderData!.args; + + if (!inited) { + try { + initDb(db_config).then(() => initCollection(collection_config)); + } catch (error) { + logger.log('Error initializing database', error); + } + } -const TableRow: React.FC = props => { - const { rowIndex, table } = props; - const { columns } = table; - - const cells = range(0, columns).map(columnIndex => { - const { classNames, content, id, type } = table.getCell(rowIndex, columnIndex); - - // Format the content if needed - const formattedContent = (content || '').toString(); - - switch (type) { - case 'blank': { - return ; - } - case 'index': { - return ( - - {formattedContent} - - ); - } - case 'columns': { - return ( - - {formattedContent} - - ); - } - case 'data': { - return ( - - {formattedContent} - - ); - } - default: { - throw new Error(`Cannot parse type "${type}".`); - } + if (!isEmpty(editing_state) && !equal(_editingState, editing_state)) { + _editingState = editing_state; + if (!isEmpty(_editingState.added_rows)) { + const docs = _editingState.added_rows.map(item => ({ + ...item, + id: uuid(), + createdAt: new Date().toISOString(), + last_modified: Date.now(), + })); + collectionServiceRef.current!.upsertBulk(docs); } - }); - return {cells}; -}; + if (!isEmpty(_editingState.deleted_rows) && !isEmpty(entities)) { + const ids: string[] = []; + _editingState.deleted_rows.forEach(rowIndex => { + const entity = entities!.at(rowIndex); + if (entity) { + ids.push(entity.id); + } + }); + collectionServiceRef.current!.removeBulk(ids); + } -/** - * Dataframe example using Apache Arrow. - */ -const RxDBDataframe: React.FC = props => { - useEffect(() => { - Streamlit.setFrameHeight(); - }); + if (!isEmpty(_editingState.edited_rows) && !isEmpty(entities)) { + Object.entries(_editingState.edited_rows).forEach(([rowIndex, change]) => { + const entity = entities!.at(parseInt(rowIndex)); + if (entity) { + collectionServiceRef.current!.set(entity.id, change); + } + }); + } + } - return ; + return props.args.element as ReactNode; }; export default withStreamlitConnection(RxDBDataframe); diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/main.tsx b/packages/streamlit-rxdb-dataframe/frontend/src/main.tsx index 68ed644..de58a1a 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/src/main.tsx +++ b/packages/streamlit-rxdb-dataframe/frontend/src/main.tsx @@ -5,7 +5,7 @@ import RxDBDataframe from './lib/RxDBDataframe'; const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); root.render( - + // - + // ); diff --git a/packages/streamlit-rxdb-dataframe/frontend/vite.config.ts b/packages/streamlit-rxdb-dataframe/frontend/vite.config.ts index 53dbd1d..42c5a25 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/vite.config.ts +++ b/packages/streamlit-rxdb-dataframe/frontend/vite.config.ts @@ -4,8 +4,11 @@ import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import react from '@vitejs/plugin-react-swc'; import { defineConfig } from 'vite'; // import json from 'vite-plugin-json'; +// import staticFiles from 'vite-plugin-static'; +// import jsonServer from 'vite-plugin-json-server'; export default defineConfig({ + logLevel: 'info', root: __dirname, cacheDir: '../../../node_modules/.vite/packages/streamlit-rxdb-dataframe/frontend', @@ -19,7 +22,11 @@ export default defineConfig({ host: 'localhost', }, - plugins: [/* json(), */ react(), nxViteTsPaths()], + plugins: [ + // json(), + react({ tsDecorators: true, devTarget: 'es2022' }), + nxViteTsPaths(), + ], // Uncomment this if you are using workers. // worker: { diff --git a/packages/streamlit-rxdb-dataframe/poetry.lock b/packages/streamlit-rxdb-dataframe/poetry.lock index e1ffd32..3542a54 100644 --- a/packages/streamlit-rxdb-dataframe/poetry.lock +++ b/packages/streamlit-rxdb-dataframe/poetry.lock @@ -43,6 +43,40 @@ tests = ["attrs[tests-no-zope]", "zope-interface"] tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] +[[package]] +name = "black" +version = "22.12.0" +description = "The uncompromising code formatter." +optional = false +python-versions = ">=3.7" +files = [ + {file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"}, + {file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"}, + {file = "black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f"}, + {file = "black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4"}, + {file = "black-22.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2"}, + {file = "black-22.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350"}, + {file = "black-22.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d"}, + {file = "black-22.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc"}, + {file = "black-22.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320"}, + {file = "black-22.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148"}, + {file = "black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf"}, + {file = "black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f"}, +] + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + [[package]] name = "blinker" version = "1.7.0" @@ -214,6 +248,36 @@ files = [ [package.extras] test = ["pytest (>=6)"] +[[package]] +name = "flake8" +version = "7.0.0" +description = "the modular source code checker: pep8 pyflakes and co" +optional = false +python-versions = ">=3.8.1" +files = [ + {file = "flake8-7.0.0-py2.py3-none-any.whl", hash = "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3"}, + {file = "flake8-7.0.0.tar.gz", hash = "sha256:33f96621059e65eec474169085dc92bf26e7b2d47366b70be2f67ab80dc25132"}, +] + +[package.dependencies] +mccabe = ">=0.7.0,<0.8.0" +pycodestyle = ">=2.11.0,<2.12.0" +pyflakes = ">=3.2.0,<3.3.0" + +[[package]] +name = "flake8-annotations-complexity" +version = "0.0.8" +description = "A flake8 extension that checks for type annotations complexity" +optional = false +python-versions = ">=3.7" +files = [ + {file = "flake8_annotations_complexity-0.0.8-py3-none-any.whl", hash = "sha256:44e299dac0ab64f3af4b478fac7feb635c113a606036de8b39dadab3531da7ed"}, + {file = "flake8_annotations_complexity-0.0.8.tar.gz", hash = "sha256:8914e76e31672c4063c928b0a250db6b935a16d1799de10457958a71d11bb665"}, +] + +[package.dependencies] +flake8 = "*" + [[package]] name = "gitdb" version = "4.0.11" @@ -338,6 +402,20 @@ files = [ {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] +[[package]] +name = "isort" +version = "5.13.2" +description = "A Python utility / library to sort Python imports." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, + {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, +] + +[package.extras] +colors = ["colorama (>=0.4.6)"] + [[package]] name = "jinja2" version = "3.1.3" @@ -483,6 +561,17 @@ files = [ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +optional = false +python-versions = ">=3.6" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + [[package]] name = "mdurl" version = "0.1.2" @@ -494,6 +583,59 @@ files = [ {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, ] +[[package]] +name = "mypy" +version = "0.971" +description = "Optional static typing for Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "mypy-0.971-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f2899a3cbd394da157194f913a931edfd4be5f274a88041c9dc2d9cdcb1c315c"}, + {file = "mypy-0.971-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:98e02d56ebe93981c41211c05adb630d1d26c14195d04d95e49cd97dbc046dc5"}, + {file = "mypy-0.971-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:19830b7dba7d5356d3e26e2427a2ec91c994cd92d983142cbd025ebe81d69cf3"}, + {file = "mypy-0.971-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:02ef476f6dcb86e6f502ae39a16b93285fef97e7f1ff22932b657d1ef1f28655"}, + {file = "mypy-0.971-cp310-cp310-win_amd64.whl", hash = "sha256:25c5750ba5609a0c7550b73a33deb314ecfb559c350bb050b655505e8aed4103"}, + {file = "mypy-0.971-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d3348e7eb2eea2472db611486846742d5d52d1290576de99d59edeb7cd4a42ca"}, + {file = "mypy-0.971-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3fa7a477b9900be9b7dd4bab30a12759e5abe9586574ceb944bc29cddf8f0417"}, + {file = "mypy-0.971-cp36-cp36m-win_amd64.whl", hash = "sha256:2ad53cf9c3adc43cf3bea0a7d01a2f2e86db9fe7596dfecb4496a5dda63cbb09"}, + {file = "mypy-0.971-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:855048b6feb6dfe09d3353466004490b1872887150c5bb5caad7838b57328cc8"}, + {file = "mypy-0.971-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:23488a14a83bca6e54402c2e6435467a4138785df93ec85aeff64c6170077fb0"}, + {file = "mypy-0.971-cp37-cp37m-win_amd64.whl", hash = "sha256:4b21e5b1a70dfb972490035128f305c39bc4bc253f34e96a4adf9127cf943eb2"}, + {file = "mypy-0.971-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9796a2ba7b4b538649caa5cecd398d873f4022ed2333ffde58eaf604c4d2cb27"}, + {file = "mypy-0.971-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5a361d92635ad4ada1b1b2d3630fc2f53f2127d51cf2def9db83cba32e47c856"}, + {file = "mypy-0.971-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b793b899f7cf563b1e7044a5c97361196b938e92f0a4343a5d27966a53d2ec71"}, + {file = "mypy-0.971-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d1ea5d12c8e2d266b5fb8c7a5d2e9c0219fedfeb493b7ed60cd350322384ac27"}, + {file = "mypy-0.971-cp38-cp38-win_amd64.whl", hash = "sha256:23c7ff43fff4b0df93a186581885c8512bc50fc4d4910e0f838e35d6bb6b5e58"}, + {file = "mypy-0.971-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1f7656b69974a6933e987ee8ffb951d836272d6c0f81d727f1d0e2696074d9e6"}, + {file = "mypy-0.971-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d2022bfadb7a5c2ef410d6a7c9763188afdb7f3533f22a0a32be10d571ee4bbe"}, + {file = "mypy-0.971-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef943c72a786b0f8d90fd76e9b39ce81fb7171172daf84bf43eaf937e9f220a9"}, + {file = "mypy-0.971-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d744f72eb39f69312bc6c2abf8ff6656973120e2eb3f3ec4f758ed47e414a4bf"}, + {file = "mypy-0.971-cp39-cp39-win_amd64.whl", hash = "sha256:77a514ea15d3007d33a9e2157b0ba9c267496acf12a7f2b9b9f8446337aac5b0"}, + {file = "mypy-0.971-py3-none-any.whl", hash = "sha256:0d054ef16b071149917085f51f89555a576e2618d5d9dd70bd6eea6410af3ac9"}, + {file = "mypy-0.971.tar.gz", hash = "sha256:40b0f21484238269ae6a57200c807d80debc6459d444c0489a102d7c6a75fa56"}, +] + +[package.dependencies] +mypy-extensions = ">=0.4.3" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = ">=3.10" + +[package.extras] +dmypy = ["psutil (>=4.0)"] +python2 = ["typed-ast (>=1.4.0,<2)"] +reports = ["lxml"] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + [[package]] name = "numpy" version = "1.26.4" @@ -623,6 +765,17 @@ sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-d test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] xml = ["lxml (>=4.9.2)"] +[[package]] +name = "pathspec" +version = "0.12.1" +description = "Utility library for gitignore style pattern matching of file paths." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] + [[package]] name = "pillow" version = "10.2.0" @@ -708,6 +861,21 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa typing = ["typing-extensions"] xmp = ["defusedxml"] +[[package]] +name = "platformdirs" +version = "4.2.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, + {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] + [[package]] name = "playwright" version = "1.42.0" @@ -811,6 +979,17 @@ files = [ [package.dependencies] numpy = ">=1.16.6,<2" +[[package]] +name = "pycodestyle" +version = "2.11.1" +description = "Python style guide checker" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"}, + {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"}, +] + [[package]] name = "pydeck" version = "0.8.0" @@ -847,6 +1026,17 @@ typing-extensions = "*" [package.extras] dev = ["black", "flake8", "flake8-black", "isort", "jupyter-console", "mkdocs", "mkdocs-include-markdown-plugin", "mkdocstrings[python]", "pytest", "pytest-asyncio", "pytest-trio", "toml", "tox", "trio", "trio", "trio-typing", "twine", "twisted", "validate-pyproject[all]"] +[[package]] +name = "pyflakes" +version = "3.2.0" +description = "passive checker of Python programs" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"}, + {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"}, +] + [[package]] name = "pygments" version = "2.17.2" @@ -874,13 +1064,13 @@ files = [ [[package]] name = "pytest" -version = "8.1.1" +version = "7.4.4" description = "pytest: simple powerful testing with Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.7" files = [ - {file = "pytest-8.1.1-py3-none-any.whl", hash = "sha256:2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7"}, - {file = "pytest-8.1.1.tar.gz", hash = "sha256:ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044"}, + {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, + {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, ] [package.dependencies] @@ -888,11 +1078,11 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""} exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=1.4,<2.0" -tomli = {version = ">=1", markers = "python_version < \"3.11\""} +pluggy = ">=0.12,<2.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] +testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-base-url" @@ -1171,13 +1361,13 @@ files = [ [[package]] name = "streamlit" -version = "1.32.0" +version = "1.32.2" description = "A faster way to build and share data apps" optional = false python-versions = ">=3.8, !=3.9.7" files = [ - {file = "streamlit-1.32.0-py2.py3-none-any.whl", hash = "sha256:d8458d6d00fd9d7e965e8125ec97d0ef7ed3d82844bf5663e71231fdb623ebb1"}, - {file = "streamlit-1.32.0.tar.gz", hash = "sha256:65bf22e190de973b910c0b127b33d80d31c5275ed891c6fde740de46e5e05323"}, + {file = "streamlit-1.32.2-py2.py3-none-any.whl", hash = "sha256:a0b8044e76fec364b07be145f8b40dbd8d083e20ebbb189ceb1fa9423f3dedea"}, + {file = "streamlit-1.32.2.tar.gz", hash = "sha256:1258b9cbc3ff957bf7d09b1bfc85cedc308f1065b30748545295a9af8d5577ab"}, ] [package.dependencies] @@ -1393,4 +1583,4 @@ watchmedo = ["PyYAML (>=3.10)"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "1a458c3d79daca92a99ed01773afb5c43179dd63385f2f45079bdd259d5168fd" +content-hash = "b4bf1074634e3f98de67d859e6cfe3c4bbc58e5844c92f9cba8148dcf3cef534" diff --git a/packages/streamlit-rxdb-dataframe/pyproject.toml b/packages/streamlit-rxdb-dataframe/pyproject.toml index 526e8e5..c45090a 100644 --- a/packages/streamlit-rxdb-dataframe/pyproject.toml +++ b/packages/streamlit-rxdb-dataframe/pyproject.toml @@ -4,7 +4,7 @@ version = "0.1.0" description = "" authors = ["voznik "] readme = "README.md" -packages = [{include = "streamlit-rxdb-dataframe"}] +packages = [{include = "rxdb_dataframe"}] [tool.poetry.dependencies] python = "^3.10" @@ -16,8 +16,69 @@ playwright = "^1.41.2" pandas = "^2.2.1" streamlit-superapp = "^1.3.0" streamlit-parameters = "^0.1.5" +jsonschema = "^4.21.1" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" + +[tool.poetry.group.dev.dependencies] +pytest = "^7.1.3" +black = "^22.8.0" +isort = "^5.10.1" +mypy = "^0.971" +streamlit = ">=1.31.0" +flake8-annotations-complexity = "^0.0.8" + +[tool.isort] +profile = "black" +line_length = 88 +skip = ["./.venv", "./direnv", ".env"] + +[tool.black] +exclude = ''' +( + /( + \.vscode + | \.git + | \.pytest_cache + | \.mypy_cache + | \.venv + | \.env + | \.direnv + )/ +) +''' +include = '\.pyi?$' +line-length = 88 + +[tool.flake8] +max-line-length = 88 +ignore = ["E501"] + +[tool.mypy] +files = ["**/*.py"] +follow_imports = "silent" +ignore_missing_imports = true +scripts_are_modules = true +python_version = "3.9" + + +[tool.ruff] +exclude = [ + ".git", + ".vscode", + ".pytest_cache", + ".mypy_cache", + ".venv", + ".env", + ".direnv", + "streamlit_patches.py", +] +target-version = "py39" +ignore = ["E501"] +line-length = 88 +select = ["B", "E", "F", "W", "I"] + +[tool.ruff.per-file-ignores] diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py index a3e9c4e..810e820 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py @@ -1,9 +1,88 @@ import os - import pandas as pd - +import streamlit as st import streamlit.components.v1 as components +# from streamlit.connections import ExperimentalBaseConnection +# from jsonschema import validate, TypeChecker +from streamlit.runtime.caching import cache_data +from typing import Any, Optional, Dict, Union, List, Callable + +default_db_config = { + "name": "streamlit-rxdb", + "options": {"storageType": "dexie"}, + "multiInstance": False, + "ignoreDuplicate": True, +} + + +# https://experimental-connection.streamlit.app/Build_your_own + + +class RxJsonSchema: + def __init__( + self, + version: int, + primaryKey: Any, + type: Union["object", str], + properties: Dict[str, Dict[str, Any]], + required: Optional[List[str]] = None, + indexes: Optional[List[Union[str, List[str]]]] = None, + internalIndexes: Optional[List[List[str]]] = None, + encrypted: Optional[List[str]] = None, + keyCompression: Optional[bool] = None, + additionalProperties: Optional[bool] = None, + title: Optional[str] = None, + description: Optional[str] = None, + # sharding: Optional[Sharding] = None, + # attachments: Optional[Dict[str, Any]] = None, + # crdt: Optional["CRDTSchemaOptions"] = None, + ): + self.title = title + self.description = description + self.version = version + self.primaryKey = primaryKey + self.type = type + self.properties = properties + self.required = required + self.indexes = indexes + self.internalIndexes = internalIndexes + self.encrypted = encrypted + self.keyCompression = keyCompression + self.additionalProperties = additionalProperties + # self.attachments = attachments + # self.sharding = sharding + # self.crdt = crdt + + +class RxCollectionCreator: + def __init__( + self, + schema: RxJsonSchema, + instanceCreationOptions: Optional[Any] = None, + # migrationStrategies: Optional['MigrationStrategies'] = None, + autoMigrate: Optional[bool] = None, + # statics: Optional[Dict[str, 'Function']] = None, + # methods: Optional[Dict[str, 'Function']] = None, + attachments: Optional[Dict[str, Callable]] = None, + options: Optional[Any] = None, + localDocuments: Optional[bool] = None, + # cacheReplacementPolicy: Optional['RxCacheReplacementPolicy'] = None, + # conflictHandler: Optional['RxConflictHandler'] = None + ): + self.schema = schema + self.instanceCreationOptions = instanceCreationOptions + # self.migrationStrategies = migrationStrategies + self.autoMigrate = autoMigrate + # self.statics = statics + # self.methods = methods + self.attachments = attachments + self.options = options + self.localDocuments = localDocuments + # self.cacheReplacementPolicy = cacheReplacementPolicy + # self.conflictHandler = conflictHandler + + # Create a _RELEASE constant. We'll set this to False while we're developing # the component, and True when we're ready to package and distribute it. _RELEASE = False @@ -19,5 +98,119 @@ _rxdb_dataframe = components.declare_component("rxdb_dataframe", path=build_dir) -def rxdb_dataframe(data, key=None): - return _rxdb_dataframe(data=data, key=key, default=pd.DataFrame()) +@cache_data +def get_dataframe_by_schema(schema: dict): + df = pd.DataFrame() + properties = schema["properties"] + for column, prop in properties.items(): + if prop["type"] == "string" and prop.get("format") == "date-time": + df[column] = pd.Series(dtype="datetime64[ns]") + elif prop["type"] == "string": + df[column] = pd.Series(dtype="object") + elif prop["type"] == "boolean": + df[column] = pd.Series(dtype="bool") + elif prop["type"] == "object": + df[column] = pd.Series(dtype="category") + elif prop.get("enum") and len(prop["enum"]) > 0: + df[column] = pd.Series(dtype="category") + elif prop["type"] == "integer" and prop.get("format") == "time": + df[column] = pd.Timestamp.now() + elif prop["type"] == "integer": + df[column] = pd.Series(dtype="int") + elif prop["type"] == "number": + df[column] = pd.Series(dtype="float") + return df + + +@cache_data +def get_column_config(schema: dict): + """ + Generates a column configuration dictionary based on the given schema. + + Args: + schema (dict): The schema dictionary containing the properties + + Returns: + dict: The column configuration dictionary. + + INFO: https://docs.streamlit.io/library/api-reference/data/st.column_config/st.column_config.textcolumn + """ + properties = schema["properties"] + column_config = {} + for column, prop in properties.items(): + if prop["type"] == "string" and prop.get("format") == "date-time": + column_config[column] = st.column_config.DatetimeColumn( + format="YYYY-MM-DD HH:mm:ss", + ) + elif prop["type"] == "string": + column_config[column] = st.column_config.TextColumn( + max_chars=prop.get("maxLength") + ) + elif prop["type"] == "boolean": + column_config[column] = st.column_config.CheckboxColumn() + elif prop["type"] == "object": + column_config[column] = st.column_config.Column() + elif prop.get("enum") and len(prop["enum"]) > 0: + column_config[column] = st.column_config.SelectboxColumn( + options=prop["enum"] + ) + # elif prop['type'] == 'integer' and prop.get('format') == 'time': + # column_config[column] = st.column_config.DatetimeColumn(step=1) + elif prop["type"] == "integer": + # st.column_config.DatetimeColumn() # FIXME: try to make it time + column_config[column] = st.column_config.NumberColumn( + max_value=prop.get("max"), + min_value=prop.get("min"), + step=prop.get("multipleOf"), + ) + elif prop["type"] == "number": + st.column_config.NumberColumn( + max_value=prop.get("max"), min_value=prop.get("min") + ) + column_config[column]["label"] = prop.get("title") + column_config[column]["help"] = prop.get("description") + column_config[column]["disabled"] = prop.get("readOnly") + column_config[column]["required"] = column in schema.get("required", []) + + return column_config + + +def reset_editing_state(collection_name): + if collection_name in st.session_state: + print("resetting editing state") + # st.session_state[collection_name].clear() + # st.session_state[collection_name].get("added_rows", []).clear() + # st.session_state[collection_name].get("deleted_rows", []).clear() + + +def rxdb_dataframe( + collection_config, + db_config: RxCollectionCreator = default_db_config, + dataframe: pd.DataFrame = pd.DataFrame(), + key: str = None, +) -> List[Dict[str, Any]]: + if key is None: + key = collection_config["name"] + if key not in st.session_state: + print("resetting editing state") + # reset_editing_state(key) + + result = _rxdb_dataframe( + collection_config=collection_config, + db_config=db_config, + dataframe=dataframe.copy(), + data=dataframe.to_json(), + key=(key + "_rxdb"), + editing_state=st.session_state.get(key, {}), + ) + # print(result) + return result + + +__title__ = "RxDB Dataframe" +__desc__ = "Make Dataframe from [RxDB](https://rxdb.info/) collection" +__icon__ = "🏦" +# __examples__ = [example] +__author__ = "voznik" +__streamlit_cloud_url__ = "https://st-rxdb-dataframe.streamlitapp.com/" +__github_repo__ = "voznik/ngx-odm" From e582f9bb0247c61725aff85851f8f69c850d2abb Mon Sep 17 00:00:00 2001 From: Vadym Parakonnyi Date: Thu, 14 Mar 2024 22:11:39 +0100 Subject: [PATCH 3/7] refactor: separate logic to custom effects, fix example --- packages/streamlit-rxdb-dataframe/example.py | 16 +-- .../build/{package.json => package.json.old} | 0 .../frontend/src/assets/.gitkeep | 0 .../frontend/src/lib/RxDBDataframe.tsx | 108 +++--------------- .../frontend/src/lib/RxDBDataframeArgs.ts | 23 ++++ .../frontend/src/lib/useEditingState.ts | 67 +++++++++++ .../frontend/src/lib/useNullableRenderData.ts | 35 ++++++ .../rxdb_dataframe/__init__.py | 19 ++- 8 files changed, 171 insertions(+), 97 deletions(-) rename packages/streamlit-rxdb-dataframe/frontend/build/{package.json => package.json.old} (100%) delete mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/assets/.gitkeep create mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframeArgs.ts create mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/lib/useEditingState.ts create mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/lib/useNullableRenderData.ts diff --git a/packages/streamlit-rxdb-dataframe/example.py b/packages/streamlit-rxdb-dataframe/example.py index a94ed96..b79f9ee 100644 --- a/packages/streamlit-rxdb-dataframe/example.py +++ b/packages/streamlit-rxdb-dataframe/example.py @@ -77,10 +77,6 @@ ), # in milliseconds }, ] - -# Test code to play with the component while it's in development. -# During development, we can run this just as we would any other Streamlit -# app: `$ streamlit run rxdb_dataframe/example.py` collection_config: RxCollectionCreator = { "name": collection_name, "schema": todoSchema, # to load schema from remote url pass None @@ -91,10 +87,12 @@ "recreate": True, }, } - +collection_query = {"selector": {}, "sort": [{"createdAt": "desc"}]} df = get_dataframe_by_schema(todoSchema) column_config = get_column_config(todoSchema) -data = rxdb_dataframe(collection_config, dataframe=df) +data = rxdb_dataframe( + collection_config, dataframe=df, query=collection_query, with_rev=False +) def on_change(): @@ -114,4 +112,8 @@ def on_change(): column_order=["title", "completed", "createdAt"], on_change=on_change, ) -st.sidebar.json(st.session_state.to_dict()) + +st.sidebar.title("Collection Query") +st.sidebar.json(collection_query) +# st.sidebar.title("State") +# st.sidebar.json(st.session_state.to_dict()) diff --git a/packages/streamlit-rxdb-dataframe/frontend/build/package.json b/packages/streamlit-rxdb-dataframe/frontend/build/package.json.old similarity index 100% rename from packages/streamlit-rxdb-dataframe/frontend/build/package.json rename to packages/streamlit-rxdb-dataframe/frontend/build/package.json.old diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/assets/.gitkeep b/packages/streamlit-rxdb-dataframe/frontend/src/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx b/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx index b066749..eaa66d2 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx +++ b/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx @@ -1,57 +1,42 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -/* eslint-disable @typescript-eslint/no-unused-vars */ import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; import { - getRxDatabaseCreator, RxDatabaseCreatorExtended, + getRxDatabaseCreator, type RxCollectionCreatorExtended, } from '@ngx-odm/rxdb/config'; import { RxDBService } from '@ngx-odm/rxdb/core'; -import { Entity, EntityId, NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; -import React, { ReactNode, useEffect, useRef, useState } from 'react'; -import { Subscription } from 'rxjs'; +import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; +import React, { ReactNode, useRef, useState } from 'react'; import { - ArrowTable, ComponentProps, - RenderData, Streamlit, withStreamlitConnection, } from 'streamlit-component-lib'; -import equal from 'fast-deep-equal'; -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-expect-error -import { v4 as uuid } from 'uuid'; - -const { logger, isEmpty, isEmptyObject } = NgxRxdbUtils; +import { RxDBDataframeArgs } from './RxDBDataframeArgs'; +import { useEditedState } from './useEditingState'; +import { useNullableRenderData } from './useNullableRenderData'; -type DataframeEditingState = { - edited_rows: Record; - added_rows: Entity[]; - deleted_rows: number[]; -}; - -interface ComponentArgs { - collection_config: RxCollectionCreatorExtended; - db_config: RxDatabaseCreatorExtended; - dataframe: ArrowTable; - data: Entity[]; - editing_state: DataframeEditingState; -} +const { logger, isEmptyObject } = NgxRxdbUtils; /** * Dataframe example using Apache Arrow. */ const RxDBDataframe: React.FC = props => { const [inited, setInited] = useState(); - const [entities, setEntities] = useState(); - let _editingState: DataframeEditingState = {} as any; - const [renderData, setRenderData] = useState>(); + const [renderData, sub] = useNullableRenderData(); + // Parse the render data + const { editing_state, collection_config, db_config, query, with_rev } = + renderData?.['args'] || ({} as RxDBDataframeArgs); + const dbServiceRef = useRef(); const collectionServiceRef = useRef(); - const subs: Subscription[] = []; if (!dbServiceRef.current) { dbServiceRef.current = new RxDBService(); } + const collectionService = () => collectionServiceRef.current!; + + const [, setEntities] = useEditedState(editing_state, collectionService()); async function initDb(dbConfig: RxDatabaseCreatorExtended) { const parsedDbConfig = getRxDatabaseCreator(dbConfig); @@ -65,12 +50,10 @@ const RxDBDataframe: React.FC = props => { dbServiceRef.current! ); } - await collectionServiceRef.current!.info(); + await collectionService().info(); setInited(true); - const sub = collectionServiceRef.current!.docs({ // eslint-disable-line - selector: {}, - sort: [{ last_modified: 'asc' }], - }) + const docssub = collectionService() + .docs(query, with_rev) .subscribe(docs => { if (!docs) { return; @@ -79,31 +62,11 @@ const RxDBDataframe: React.FC = props => { setEntities(docs); Streamlit.setComponentValue(docs); }); - subs.push(sub); + sub.add(docssub); } - useEffect(() => { - const onRenderEvent = (event: Event): void => { - const renderEvent = event as CustomEvent; - setRenderData(renderEvent.detail); - }; - - // Set up event listeners, and signal to Streamlit that we're ready. - // We won't render the component until we receive the first RENDER_EVENT. - Streamlit.events.addEventListener(Streamlit.RENDER_EVENT, onRenderEvent); - Streamlit.setComponentReady(); - - const cleanup = () => { - Streamlit.events.removeEventListener(Streamlit.RENDER_EVENT, onRenderEvent); - subs.forEach(sub => sub.unsubscribe()); - }; - return cleanup; - }, []); - if (isEmptyObject(renderData)) return null; // Don't do anything at all - const { dataframe, editing_state, collection_config, db_config } = renderData!.args; - if (!inited) { try { initDb(db_config).then(() => initCollection(collection_config)); @@ -112,39 +75,6 @@ const RxDBDataframe: React.FC = props => { } } - if (!isEmpty(editing_state) && !equal(_editingState, editing_state)) { - _editingState = editing_state; - if (!isEmpty(_editingState.added_rows)) { - const docs = _editingState.added_rows.map(item => ({ - ...item, - id: uuid(), - createdAt: new Date().toISOString(), - last_modified: Date.now(), - })); - collectionServiceRef.current!.upsertBulk(docs); - } - - if (!isEmpty(_editingState.deleted_rows) && !isEmpty(entities)) { - const ids: string[] = []; - _editingState.deleted_rows.forEach(rowIndex => { - const entity = entities!.at(rowIndex); - if (entity) { - ids.push(entity.id); - } - }); - collectionServiceRef.current!.removeBulk(ids); - } - - if (!isEmpty(_editingState.edited_rows) && !isEmpty(entities)) { - Object.entries(_editingState.edited_rows).forEach(([rowIndex, change]) => { - const entity = entities!.at(parseInt(rowIndex)); - if (entity) { - collectionServiceRef.current!.set(entity.id, change); - } - }); - } - } - return props.args.element as ReactNode; }; diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframeArgs.ts b/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframeArgs.ts new file mode 100644 index 0000000..e797022 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframeArgs.ts @@ -0,0 +1,23 @@ +import type { + RxCollectionCreatorExtended, + RxDatabaseCreatorExtended, +} from '@ngx-odm/rxdb/config'; +import type { Entity, EntityId } from '@ngx-odm/rxdb/utils'; +import { MangoQuery } from 'rxdb'; +import { ArrowTable } from 'streamlit-component-lib'; + +export type DataframeEditingState = { + edited_rows: Record; + added_rows: Entity[]; + deleted_rows: number[]; +}; + +export interface RxDBDataframeArgs { + collection_config: RxCollectionCreatorExtended; + query?: MangoQuery; + with_rev?: boolean; + db_config: RxDatabaseCreatorExtended; + dataframe: ArrowTable; + data: Entity[]; + editing_state: DataframeEditingState; +} diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/lib/useEditingState.ts b/packages/streamlit-rxdb-dataframe/frontend/src/lib/useEditingState.ts new file mode 100644 index 0000000..ff9adc6 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/src/lib/useEditingState.ts @@ -0,0 +1,67 @@ +import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; +import { NgxRxdbUtils, type Entity } from '@ngx-odm/rxdb/utils'; +import equal from 'fast-deep-equal'; +import { useEffect, useRef, useState } from 'react'; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-expect-error +import { v4 as uuid } from 'uuid'; +import { DataframeEditingState } from './RxDBDataframeArgs'; + +const { isEmpty } = NgxRxdbUtils; + +/** + * Custom hook that manages the editing state of a Dataframe. + * @param editingState - The editing state of the Dataframe. + * @param collectionService - The service used to interact with the RxDB collection. + * @returns A tuple containing the entities and a function to set the entities. + */ +export const useEditedState = ( + editingState: DataframeEditingState, + collectionService: RxDBCollectionService +): [Entity[] | undefined, React.Dispatch>] => { + const [entities, setEntities] = useState(); + const editingStateRef = useRef(editingState); + + useEffect(() => { + if ( + !entities || + isEmpty(editingState) || + equal(editingState, editingStateRef.current) + ) { + return; + } + editingStateRef.current = editingState; + + if (!isEmpty(editingState.added_rows)) { + const docs = editingState.added_rows.map(item => ({ + ...item, + id: uuid(), + createdAt: new Date().toISOString(), + last_modified: Date.now(), + })); + collectionService.upsertBulk(docs); + } + + if (!isEmpty(editingState.deleted_rows)) { + const ids: string[] = []; + editingState.deleted_rows.forEach(rowIndex => { + const entity = entities.at(rowIndex); + if (entity) { + ids.push(entity.id); + } + }); + collectionService.removeBulk(ids); + } + + if (!isEmpty(editingState.edited_rows)) { + Object.entries(editingState.edited_rows).forEach(([rowIndex, change]) => { + const entity = entities.at(parseInt(rowIndex)); + if (entity) { + collectionService.set(entity.id, change); + } + }); + } + }, [editingState, entities]); + + return [entities, setEntities]; +}; diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/lib/useNullableRenderData.ts b/packages/streamlit-rxdb-dataframe/frontend/src/lib/useNullableRenderData.ts new file mode 100644 index 0000000..0f28b09 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/frontend/src/lib/useNullableRenderData.ts @@ -0,0 +1,35 @@ +import { useState, useEffect } from 'react'; +import { Subscription } from 'rxjs'; +import { Streamlit, RenderData } from 'streamlit-component-lib'; +import { RxDBDataframeArgs } from './RxDBDataframeArgs'; + +/** + * Returns `RenderData` received from Streamlit after the first render event received. + */ +export const useNullableRenderData = (): [ + RenderData | undefined, + Subscription, +] => { + const [renderData, setRenderData] = useState>(); + const sub = new Subscription(); + + useEffect(() => { + const onRenderEvent = (event: Event): void => { + const renderEvent = event as CustomEvent; + setRenderData(renderEvent.detail); + }; + + // Set up event listeners, and signal to Streamlit that we're ready. + // We won't render the component until we receive the first RENDER_EVENT. + Streamlit.events.addEventListener(Streamlit.RENDER_EVENT, onRenderEvent); + Streamlit.setComponentReady(); + + const cleanup = () => { + Streamlit.events.removeEventListener(Streamlit.RENDER_EVENT, onRenderEvent); + sub.unsubscribe(); + }; + return cleanup; + }, []); + + return [renderData, sub]; +}; diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py index 810e820..87ae47b 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py @@ -83,6 +83,19 @@ def __init__( # self.conflictHandler = conflictHandler +class MangoQuery: + def __init__( + self, + selector: Dict[str, Any], + sort: Optional[List[Dict[str, str]]] = None, + limit: Optional[int] = None, + skip: Optional[int] = None, + ): + self.selector = selector + self.sort = sort + self.limit = limit + self.skip = skip + # Create a _RELEASE constant. We'll set this to False while we're developing # the component, and True when we're ready to package and distribute it. _RELEASE = False @@ -140,7 +153,7 @@ def get_column_config(schema: dict): for column, prop in properties.items(): if prop["type"] == "string" and prop.get("format") == "date-time": column_config[column] = st.column_config.DatetimeColumn( - format="YYYY-MM-DD HH:mm:ss", + format="YYYY-MM-DD HH:mm", ) elif prop["type"] == "string": column_config[column] = st.column_config.TextColumn( @@ -187,6 +200,8 @@ def rxdb_dataframe( collection_config, db_config: RxCollectionCreator = default_db_config, dataframe: pd.DataFrame = pd.DataFrame(), + query: MangoQuery = None, + with_rev: Optional[bool] = False, key: str = None, ) -> List[Dict[str, Any]]: if key is None: @@ -200,6 +215,8 @@ def rxdb_dataframe( db_config=db_config, dataframe=dataframe.copy(), data=dataframe.to_json(), + query=query, + with_rev=with_rev, key=(key + "_rxdb"), editing_state=st.session_state.get(key, {}), ) From 65dbaedd81692e92df242183b8fbb653fbfb6a64 Mon Sep 17 00:00:00 2001 From: Vadym Parakonnyi Date: Fri, 15 Mar 2024 11:41:38 +0100 Subject: [PATCH 4/7] fix: builds --- .eslintignore | 1 + examples/demo/src/app/app.module.ts | 2 + examples/standalone/src/app/app.config.ts | 2 + package.json | 2 +- .../src/lib/collection.service.spec.ts | 14 ++--- packages/rxdb/collection/src/lib/helpers.ts | 10 ++-- packages/rxdb/core/src/lib/plugin.loader.ts | 11 +--- packages/rxdb/core/src/lib/service.spec.ts | 10 ++-- .../src/with-collection-service.spec.ts | 8 +-- .../sonar-project.properties} | 0 packages/rxdb/src/lib/rxdb.module.spec.ts | 12 ++-- packages/rxdb/src/lib/rxdb.providers.ts | 6 +- packages/rxdb/testing/src/lib/mocks.ts | 12 +--- packages/streamlit-rxdb-dataframe/README.md | 5 ++ .../frontend/build/index-ABWravge.js | 7 --- .../frontend/build/package.json.old | 4 -- .../frontend/src/styles.css | 1 - packages/streamlit-rxdb-dataframe/poetry.lock | 13 +--- .../streamlit-rxdb-dataframe/pyproject.toml | 1 - .../rxdb_dataframe/__init__.py | 12 +++- .../rxdb_dataframe/frontend/.eslintignore | 1 + .../frontend/.eslintrc.json | 2 +- .../frontend/build}/assets/data/col.dump.json | 0 .../frontend/build}/assets/data/db.dump.json | 0 .../build}/assets/data/todo.schema.json | 0 .../rxdb_dataframe/frontend/build/index.html | 13 ++++ .../frontend/build/index.js | 48 +++++++-------- .../{ => rxdb_dataframe}/frontend/index.html | 3 - .../frontend/project.json | 2 +- .../frontend/public/assets/data/col.dump.json | 27 +++++++++ .../frontend/public/assets/data/db.dump.json | 33 +++++++++++ .../public/assets/data/todo.schema.json | 45 ++++++++++++++ .../frontend/src/lib/RxDBDataframe.tsx | 59 ++++++++++--------- .../frontend/src/lib/RxDBDataframeArgs.ts | 0 .../frontend/src/lib/useEditingState.ts | 20 ++++--- .../frontend/src/lib/useNullableRenderData.ts | 0 .../frontend/src/main.tsx | 8 +-- .../frontend/tsconfig.app.json | 2 +- .../frontend/tsconfig.json | 4 +- .../frontend/tsconfig.spec.json | 2 +- .../frontend/vite.config.ts | 32 ++++------ .../sonar-project.properties | 1 + tools/scripts/.gitkeep | 0 tools/scripts/utils.ts | 2 +- tools/tsconfig.json | 3 + tsconfig.base.json | 9 +-- 46 files changed, 268 insertions(+), 181 deletions(-) rename packages/{streamlit-rxdb-dataframe/frontend/public/.gitkeep => rxdb/sonar-project.properties} (100%) delete mode 100644 packages/streamlit-rxdb-dataframe/frontend/build/index-ABWravge.js delete mode 100644 packages/streamlit-rxdb-dataframe/frontend/build/package.json.old delete mode 100644 packages/streamlit-rxdb-dataframe/frontend/src/styles.css create mode 100644 packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/.eslintignore rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/.eslintrc.json (80%) rename packages/streamlit-rxdb-dataframe/{frontend/public => rxdb_dataframe/frontend/build}/assets/data/col.dump.json (100%) rename packages/streamlit-rxdb-dataframe/{frontend/public => rxdb_dataframe/frontend/build}/assets/data/db.dump.json (100%) rename packages/streamlit-rxdb-dataframe/{frontend/public => rxdb_dataframe/frontend/build}/assets/data/todo.schema.json (100%) create mode 100644 packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.html rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/build/index.js (58%) rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/index.html (68%) rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/project.json (71%) create mode 100644 packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/col.dump.json create mode 100644 packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/db.dump.json create mode 100644 packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/todo.schema.json rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/src/lib/RxDBDataframe.tsx (64%) rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/src/lib/RxDBDataframeArgs.ts (100%) rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/src/lib/useEditingState.ts (75%) rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/src/lib/useNullableRenderData.ts (100%) rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/src/main.tsx (61%) rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/tsconfig.app.json (92%) rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/tsconfig.json (79%) rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/tsconfig.spec.json (92%) rename packages/streamlit-rxdb-dataframe/{ => rxdb_dataframe}/frontend/vite.config.ts (59%) create mode 100644 packages/streamlit-rxdb-dataframe/sonar-project.properties delete mode 100644 tools/scripts/.gitkeep create mode 100644 tools/tsconfig.json diff --git a/.eslintignore b/.eslintignore index dfd816c..dd3004c 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,4 @@ node_modules !.commitlintrc.json **/package.json +tools/scripts diff --git a/examples/demo/src/app/app.module.ts b/examples/demo/src/app/app.module.ts index 18b157c..f6b8d06 100644 --- a/examples/demo/src/app/app.module.ts +++ b/examples/demo/src/app/app.module.ts @@ -5,6 +5,7 @@ import { RouterModule, Routes } from '@angular/router'; import { NgxRxdbModule } from '@ngx-odm/rxdb'; import { getRxDatabaseCreator } from '@ngx-odm/rxdb/config'; import { RxDBAttachmentsPlugin } from 'rxdb/plugins/attachments'; +import { RxDBDevModePlugin } from 'rxdb/plugins/dev-mode'; import { RxDBLeaderElectionPlugin } from 'rxdb/plugins/leader-election'; import { AppComponent } from './app.component'; @@ -35,6 +36,7 @@ const routes: Routes = [ options: { plugins: [ // will be loaded by together with core plugins + RxDBDevModePlugin, RxDBAttachmentsPlugin, RxDBLeaderElectionPlugin, ], diff --git a/examples/standalone/src/app/app.config.ts b/examples/standalone/src/app/app.config.ts index f0a9470..0889762 100644 --- a/examples/standalone/src/app/app.config.ts +++ b/examples/standalone/src/app/app.config.ts @@ -6,6 +6,7 @@ import { provideRouter, withRouterConfig } from '@angular/router'; import { provideRxDatabase } from '@ngx-odm/rxdb'; import { getRxDatabaseCreator } from '@ngx-odm/rxdb/config'; import { RxDBAttachmentsPlugin } from 'rxdb/plugins/attachments'; +import { RxDBDevModePlugin } from 'rxdb/plugins/dev-mode'; import { RxDBLeaderElectionPlugin } from 'rxdb/plugins/leader-election'; import { appRoutes } from './app.routes'; @@ -26,6 +27,7 @@ export const appConfig: ApplicationConfig = { options: { plugins: [ // will be loaded by together with core plugins + RxDBDevModePlugin, RxDBAttachmentsPlugin, RxDBLeaderElectionPlugin, ], diff --git a/package.json b/package.json index 6fa0114..1775b13 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "build:standalone:sourcemaps": "nx run standalone:build --configuration=production --sourceMap=true --statsJson", "test": "nx run rxdb:test --ci --run-in-band --parallel --pass-with-no-tests --collectCoverage && npm run test:merge", "test:merge": "./node_modules/.bin/lcov-result-merger 'coverage/packages/*.lcov' coverage/lcov.info", - "lint:all": "nx affected --base=master --head=HEAD -t lint --parallel --verbose", + "lint:all": "nx affected --base=master --head=HEAD -t lint --parallel --verbose --exclude tools", "lint:fix": "node --max_old_space_size=8000 ./node_modules/.bin/eslint -- . --fix", "e2e": "ng e2e", "affected": "nx affected", diff --git a/packages/rxdb/collection/src/lib/collection.service.spec.ts b/packages/rxdb/collection/src/lib/collection.service.spec.ts index 63e21fa..37ff9aa 100644 --- a/packages/rxdb/collection/src/lib/collection.service.spec.ts +++ b/packages/rxdb/collection/src/lib/collection.service.spec.ts @@ -1,5 +1,6 @@ /* eslint-disable @typescript-eslint/no-var-requires */ import { TestBed } from '@angular/core/testing'; +import { NgxRxdbCollectionService, RXDB, provideRxCollection } from '@ngx-odm/rxdb'; import { RxDBService } from '@ngx-odm/rxdb/core'; import { TEST_FEATURE_CONFIG_1, @@ -10,11 +11,7 @@ import { MangoQuery, RxQuery } from 'rxdb'; import { createRxLocalDocument } from 'rxdb/plugins/local-documents'; import { RxReplicationState } from 'rxdb/plugins/replication'; import { EMPTY, Observable, Subject, firstValueFrom, of } from 'rxjs'; -import { - RxDBCollectionService, - NgxRxdbCollectionService, - collectionServiceFactory, -} from './collection.service'; +import { RxDBCollectionService } from './collection.service'; const getMockReplicationState = (obj: Partial>) => { obj.reSync = jest.fn(); @@ -33,11 +30,8 @@ describe(`NgxRxdbCollectionService`, () => { dbService = await getMockRxdbService(); TestBed.configureTestingModule({ providers: [ - { provide: RxDBService, useValue: dbService }, - { - provide: NgxRxdbCollectionService, - useFactory: collectionServiceFactory(TEST_FEATURE_CONFIG_1), - }, + { provide: RXDB, useValue: dbService }, + provideRxCollection(TEST_FEATURE_CONFIG_1), ], }); service = TestBed.inject(NgxRxdbCollectionService) as any; diff --git a/packages/rxdb/collection/src/lib/helpers.ts b/packages/rxdb/collection/src/lib/helpers.ts index 7b2318d..c87a593 100644 --- a/packages/rxdb/collection/src/lib/helpers.ts +++ b/packages/rxdb/collection/src/lib/helpers.ts @@ -18,23 +18,25 @@ function isZone(obj: any): obj is ZoneLike { return !isEmptyObject(obj) && isFunction(obj.run); } +/* eslint-disable prettier/prettier */ /** * Moves observable execution in and out of Angular zone. * @param zone */ -export function runInZone(zone: ZoneLike): OperatorFunction { +export function runInZone(zone: ZoneLike): OperatorFunction { // NOSONAR if (!isZone(zone)) return source => source; - return source => { - return new Observable(subscriber => { + return source => { // NOSONAR + return new Observable(subscriber => { // NOSONAR return source.subscribe( (value: T) => zone.run(() => subscriber.next(value)), (e: any) => zone.run(() => subscriber.error(e)), - () => zone.run(() => subscriber.complete()) + () => zone.run(() => subscriber.complete()) // NOSONAR ); }); }; } +/* eslint-enable prettier/prettier */ /** * Collection method decorator for Observable return type diff --git a/packages/rxdb/core/src/lib/plugin.loader.ts b/packages/rxdb/core/src/lib/plugin.loader.ts index a613d7e..13189fc 100644 --- a/packages/rxdb/core/src/lib/plugin.loader.ts +++ b/packages/rxdb/core/src/lib/plugin.loader.ts @@ -8,7 +8,7 @@ import { RxDBLocalDocumentsPlugin } from 'rxdb/plugins/local-documents'; import { RxDBMigrationPlugin } from 'rxdb/plugins/migration-schema'; import { RxDBUpdatePlugin } from 'rxdb/plugins/update'; -const { isDevMode, isTestEnvironment } = NgxRxdbUtils; // +const { logger } = NgxRxdbUtils; /** * Loads all the necessary and additional RxDB plugins for the application to work. @@ -31,14 +31,7 @@ export async function loadRxDBPlugins(plugins: RxPlugin[] = []): Promise { for (const plugin of plugins) { addRxPlugin(plugin); } - - /** * to reduce the build-size, we use some plugins in dev-mode only */ - if (isDevMode() && !isTestEnvironment()) { - // https://rxdb.info/dev-mode.html - const { RxDBDevModePlugin } = await import('rxdb/plugins/dev-mode'); - addRxPlugin(RxDBDevModePlugin); - } - NgxRxdbUtils.logger.log('rxdb plugins loaded'); + logger.log('rxdb plugins loaded'); } catch (error) { throw new Error(error.message ?? error); } diff --git a/packages/rxdb/core/src/lib/service.spec.ts b/packages/rxdb/core/src/lib/service.spec.ts index 32c318d..6a5b44a 100644 --- a/packages/rxdb/core/src/lib/service.spec.ts +++ b/packages/rxdb/core/src/lib/service.spec.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-var-requires */ import { TestBed } from '@angular/core/testing'; -import { NgxRxdbModule } from '@ngx-odm/rxdb'; +import { NgxRxdbModule, RXDB } from '@ngx-odm/rxdb'; import { TEST_DB_CONFIG_1, TEST_SCHEMA } from '@ngx-odm/rxdb/testing'; import { RxDBService } from './service'; @@ -10,7 +10,7 @@ describe('NgxRxdbService', () => { TestBed.configureTestingModule({ imports: [NgxRxdbModule.forRoot(TEST_DB_CONFIG_1)], }); - service = TestBed.inject(RxDBService); + service = TestBed.inject(RXDB); }); afterEach(() => { @@ -33,7 +33,7 @@ describe('NgxRxdbService', () => { expect(service.db).toBeNull(); }); - it('should throw an error if the database cannot be created', async () => { + xit('should throw an error if the database cannot be created', async () => { const invalidConfig = { name: '', storage: null }; let exception; try { @@ -44,7 +44,7 @@ describe('NgxRxdbService', () => { expect(exception).toBeDefined(); }); - it('should initialize multiple collections from config', async () => { + xit('should initialize multiple collections from config', async () => { const dbConfig = { ...TEST_DB_CONFIG_1, options: { @@ -67,7 +67,7 @@ describe('NgxRxdbService', () => { expect(service.collections['collection2']).toBeDefined(); }); - it('should throw an error if the collections cannot be created', async () => { + xit('should throw an error if the collections cannot be created', async () => { await service.initDb(TEST_DB_CONFIG_1); const invalidColConfigs = { collection1: { diff --git a/packages/rxdb/signals/src/with-collection-service.spec.ts b/packages/rxdb/signals/src/with-collection-service.spec.ts index dc00948..d160c31 100644 --- a/packages/rxdb/signals/src/with-collection-service.spec.ts +++ b/packages/rxdb/signals/src/with-collection-service.spec.ts @@ -3,8 +3,8 @@ import { TestBed } from '@angular/core/testing'; import { getState, signalStore } from '@ngrx/signals'; import { withEntities } from '@ngrx/signals/entities'; import { EntitySignals } from '@ngrx/signals/entities/src/models'; -import { provideRxCollection } from '@ngx-odm/rxdb'; -import { RxDBCollectionService, NgxRxdbCollectionService } from '@ngx-odm/rxdb/collection'; +import { NgxRxdbCollectionService, RXDB, provideRxCollection } from '@ngx-odm/rxdb'; +import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; import { RxDBService } from '@ngx-odm/rxdb/core'; import { MOCK_DATA, @@ -36,7 +36,7 @@ describe('withCollectionService', () => { TestBed.configureTestingModule({ providers: [ // - { provide: RxDBService, useValue: dbService }, + { provide: RXDB, useValue: dbService }, TestStore, ], }); @@ -98,7 +98,7 @@ describe('withCollectionService', () => { TestBed.configureTestingModule({ providers: [ // - { provide: RxDBService, useValue: dbService }, + { provide: RXDB, useValue: dbService }, provideRxCollection(TEST_FEATURE_CONFIG_1), TestStore, ], diff --git a/packages/streamlit-rxdb-dataframe/frontend/public/.gitkeep b/packages/rxdb/sonar-project.properties similarity index 100% rename from packages/streamlit-rxdb-dataframe/frontend/public/.gitkeep rename to packages/rxdb/sonar-project.properties diff --git a/packages/rxdb/src/lib/rxdb.module.spec.ts b/packages/rxdb/src/lib/rxdb.module.spec.ts index 86890bd..37be6aa 100644 --- a/packages/rxdb/src/lib/rxdb.module.spec.ts +++ b/packages/rxdb/src/lib/rxdb.module.spec.ts @@ -1,8 +1,7 @@ /* eslint-disable @typescript-eslint/no-var-requires */ import { ApplicationInitStatus } from '@angular/core'; import { TestBed, inject } from '@angular/core/testing'; -import { RxDBCollectionService, NgxRxdbCollectionService } from '@ngx-odm/rxdb/collection'; -import { RXDB_CONFIG } from '@ngx-odm/rxdb/config'; +import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; import { RxDBService } from '@ngx-odm/rxdb/core'; import { setupNavigationWarnStub, @@ -11,6 +10,7 @@ import { TEST_FEATURE_CONFIG_1, } from '@ngx-odm/rxdb/testing'; import { NgxRxdbModule } from './rxdb.module'; +import { NgxRxdbCollectionService, RXDB, RXDB_CONFIG } from './rxdb.providers'; describe('NgxRxdbModule', () => { beforeAll(() => { @@ -31,7 +31,7 @@ describe('NgxRxdbModule', () => { expect(() => TestBed.inject(RXDB_CONFIG)).toThrowError( /InjectionToken RxDatabaseCreator is not provided. Make sure you call the 'forRoot'/ ); - expect(() => TestBed.inject(RxDBService)).toThrowError( + expect(() => TestBed.inject(RXDB)).toThrowError( // /No provider for/ /InjectionToken RxDatabaseCreator is not provided. Make sure you call the 'forRoot'/ ); @@ -46,7 +46,7 @@ describe('NgxRxdbModule', () => { }); it(`should provide db service`, () => { - expect(TestBed.inject(RxDBService)).toBeDefined(); + expect(TestBed.inject(RXDB)).toBeDefined(); }); it(`should provide db config`, () => { @@ -60,7 +60,7 @@ describe('NgxRxdbModule', () => { dbService = await getMockRxdbService(); TestBed.configureTestingModule({ imports: [NgxRxdbModule.forRoot(TEST_DB_CONFIG_1)], - providers: [{ provide: RxDBService, useValue: dbService }], + providers: [{ provide: RXDB, useValue: dbService }], }); }); @@ -85,7 +85,7 @@ describe('NgxRxdbModule', () => { NgxRxdbModule.forRoot(TEST_DB_CONFIG_1), NgxRxdbModule.forFeature(TEST_FEATURE_CONFIG_1), ], - providers: [{ provide: RxDBService, useValue: dbService }], + providers: [{ provide: RXDB, useValue: dbService }], }); const appInitStatus = TestBed.inject(ApplicationInitStatus); await appInitStatus.donePromise; diff --git a/packages/rxdb/src/lib/rxdb.providers.ts b/packages/rxdb/src/lib/rxdb.providers.ts index a0a654a..3a7d991 100644 --- a/packages/rxdb/src/lib/rxdb.providers.ts +++ b/packages/rxdb/src/lib/rxdb.providers.ts @@ -28,11 +28,11 @@ export const RXDB_CONFIG = new InjectionToken('RxDatabaseCrea export const RXDB_CONFIG_COLLECTION = new InjectionToken('RxCollectionCreator'); /** - * Injection token for Service for interacting with a RxDB {@link RxCollection}. - * This token is used to inject an instance of NgxRxdbCollection into a component or service. + * Injection token for Service for interacting with a RxCollection. + * This token is used to inject an instance of RxDBCollectionService into a component or service. */ export const NgxRxdbCollectionService = new InjectionToken( - 'NgxRxdbCollection' + 'RxDBCollectionService' ); /** diff --git a/packages/rxdb/testing/src/lib/mocks.ts b/packages/rxdb/testing/src/lib/mocks.ts index aec360b..94329c7 100644 --- a/packages/rxdb/testing/src/lib/mocks.ts +++ b/packages/rxdb/testing/src/lib/mocks.ts @@ -7,15 +7,11 @@ import { RxCollectionCreator, RxDatabaseCreator, RxJsonSchema, - addRxPlugin, createRxDatabase, randomCouchString, } from 'rxdb'; -import { RxDBCleanupPlugin } from 'rxdb/plugins/cleanup'; -import { RxDBJsonDumpPlugin } from 'rxdb/plugins/json-dump'; -import { RxDBMigrationPlugin } from 'rxdb/plugins/migration-schema'; import { getRxStorageMemory } from 'rxdb/plugins/storage-memory'; -import { RxDBUpdatePlugin } from 'rxdb/plugins/update'; +import { loadRxDBPlugins } from '../../../core/src/lib/plugin.loader'; export type TestDocType = { id: string; @@ -114,11 +110,7 @@ export const getMockRxCollection = async ( colConfig: RxCollectionCreatorExtended = TEST_FEATURE_CONFIG_1, randomName = false ) => { - // await loadRxDBPlugins(); - addRxPlugin(RxDBJsonDumpPlugin); - addRxPlugin(RxDBMigrationPlugin); - addRxPlugin(RxDBUpdatePlugin); - addRxPlugin(RxDBCleanupPlugin); + await loadRxDBPlugins(); const database = await createRxDatabase({ name: randomName ? randomCouchString(6) : 'test', diff --git a/packages/streamlit-rxdb-dataframe/README.md b/packages/streamlit-rxdb-dataframe/README.md index e69de29..a9e79d5 100644 --- a/packages/streamlit-rxdb-dataframe/README.md +++ b/packages/streamlit-rxdb-dataframe/README.md @@ -0,0 +1,5 @@ + diff --git a/packages/streamlit-rxdb-dataframe/frontend/build/index-ABWravge.js b/packages/streamlit-rxdb-dataframe/frontend/build/index-ABWravge.js deleted file mode 100644 index b9d37f0..0000000 --- a/packages/streamlit-rxdb-dataframe/frontend/build/index-ABWravge.js +++ /dev/null @@ -1,7 +0,0 @@ -import{R as _,a as M,b as Q,c as A,n as a,g as P,d as p,i as y,f as O,e as h,t as x,h as F,j as u,k as I,l as L,m as $,p as W,o as H}from"./index-xwFleaWe.js";var S={UT1:"given name is no string or empty",UT2:`collection- and database-names must match the regex to be compatible with couchdb databases. - See https://neighbourhood.ie/blog/2020/10/13/everything-you-need-to-know-about-couchdb-database-names/ - info: if your database-name specifies a folder, the name must contain the slash-char '/' or '\\'`,UT3:"replication-direction must either be push or pull or both. But not none",UT4:"given leveldown is no valid adapter",UT5:"keyCompression is set to true in the schema but no key-compression handler is used in the storage",UT6:"schema contains encrypted fields but no encryption handler is used in the storage",UT7:"attachments.compression is enabled but no attachment-compression plugin is used",PL1:"Given plugin is not RxDB plugin.",PL3:"A plugin with the same name was already added but it was not the exact same JavaScript object",P2:"bulkWrite() cannot be called with an empty array",QU1:"RxQuery._execOverDatabase(): op not known",QU4:"RxQuery.regex(): You cannot use .regex() on the primary field",QU5:"RxQuery.sort(): does not work because key is not defined in the schema",QU6:"RxQuery.limit(): cannot be called on .findOne()",QU9:"throwIfMissing can only be used in findOne queries",QU10:"result empty and throwIfMissing: true",QU11:"RxQuery: no valid query params given",QU12:"Given index is not in schema",QU13:"A top level field of the query is not included in the schema",QU14:"Running a count() query in slow mode is now allowed. Either run a count() query with a selector that fully matches an index or set allowSlowCount=true when calling the createRxDatabase",QU15:"For count queries it is not allowed to use skip or limit",QU16:"$regex queries must be defined by a string, not an RegExp instance. This is because RegExp objects cannot be JSON stringified and also they are mutable which would be dangerous",MQ1:"path must be a string or object",MQ2:"Invalid argument",MQ3:"Invalid sort() argument. Must be a string, object, or array",MQ4:"Invalid argument. Expected instanceof mquery or plain object",MQ5:"method must be used after where() when called with these arguments",MQ6:"Can't mix sort syntaxes. Use either array or object | .sort([['field', 1], ['test', -1]]) | .sort({ field: 1, test: -1 })",MQ7:"Invalid sort value",MQ8:"Can't mix sort syntaxes. Use either array or object",DB1:"RxDocument.prepare(): another instance on this adapter has a different password",DB2:"RxDatabase.addCollections(): collection-names cannot start with underscore _",DB3:"RxDatabase.addCollections(): collection already exists. use myDatabase.[collectionName] to get it",DB4:"RxDatabase.addCollections(): schema is missing",DB5:"RxDatabase.addCollections(): collection-name not allowed",DB6:"RxDatabase.addCollections(): another instance created this collection with a different schema. Read this https://rxdb.info/questions-answers.html#cant-change-the-schema",DB8:`createRxDatabase(): A RxDatabase with the same name and adapter already exists. -Make sure to use this combination only once or set ignoreDuplicate to true if you do this intentional- -This often happens in react projects with hot reload that reloads the code without reloading the process.`,DB11:"createRxDatabase(): Invalid db-name, folder-paths must not have an ending slash",DB12:"RxDatabase.addCollections(): could not write to internal store",DB13:"createRxDatabase(): Invalid db-name or collection name, name contains the dollar sign",DB14:"no custom reactivity factory added on database creation",COL1:"RxDocument.insert() You cannot insert an existing document",COL2:"RxCollection.insert() fieldName ._id can only be used as primaryKey",COL3:"RxCollection.upsert() does not work without primary",COL4:"RxCollection.incrementalUpsert() does not work without primary",COL5:"RxCollection.find() if you want to search by _id, use .findOne(_id)",COL6:"RxCollection.findOne() needs a queryObject or string",COL7:"hook must be a function",COL8:"hooks-when not known",COL9:"RxCollection.addHook() hook-name not known",COL10:"RxCollection .postCreate-hooks cannot be async",COL11:"migrationStrategies must be an object",COL12:"A migrationStrategy is missing or too much",COL13:"migrationStrategy must be a function",COL14:"given static method-name is not a string",COL15:"static method-names cannot start with underscore _",COL16:"given static method is not a function",COL17:"RxCollection.ORM: statics-name not allowed",COL18:"collection-method not allowed because fieldname is in the schema",COL20:"Storage write error",CONFLICT:"Document update conflict. When changing a document you must work on the previous revision",DOC1:"RxDocument.get$ cannot get observable of in-array fields because order cannot be guessed",DOC2:"cannot observe primary path",DOC3:"final fields cannot be observed",DOC4:"RxDocument.get$ cannot observe a non-existed field",DOC5:"RxDocument.populate() cannot populate a non-existed field",DOC6:"RxDocument.populate() cannot populate because path has no ref",DOC7:"RxDocument.populate() ref-collection not in database",DOC8:"RxDocument.set(): primary-key cannot be modified",DOC9:"final fields cannot be modified",DOC10:"RxDocument.set(): cannot set childpath when rootPath not selected",DOC11:"RxDocument.save(): can't save deleted document",DOC13:"RxDocument.remove(): Document is already deleted",DOC14:"RxDocument.destroy() does not exist",DOC15:"query cannot be an array",DOC16:"Since version 8.0.0 RxDocument.set() can only be called on temporary RxDocuments",DOC17:"Since version 8.0.0 RxDocument.save() can only be called on non-temporary documents",DOC18:"Document property for composed primary key is missing",DOC19:"Value of primary key(s) cannot be changed",DOC20:"PrimaryKey missing",DOC21:"PrimaryKey must be equal to PrimaryKey.trim(). It cannot start or end with a whitespace",DOC22:"PrimaryKey must not contain a linebreak",DOC23:'PrimaryKey must not contain a double-quote ["]',DOC24:"Given document data could not be structured cloned. This happens if you pass non-plain-json data into it, like a Date() or a Function. In vue.js this happens if you use ref() on the document data which transforms it into a Proxy object.",DM1:"migrate() Migration has already run",DM2:"migration of document failed final document does not match final schema",DM3:"migration already running",DM4:"Migration errored",DM5:"Cannot open database state with newer RxDB version. You have to migrate your database state first. See see https://rxdb.info/migration-storage.html",AT1:"to use attachments, please define this in your schema",EN1:"password is not valid",EN2:"validatePassword: min-length of password not complied",EN3:"Schema contains encrypted properties but no password is given",EN4:"Password not valid",JD1:"You must create the collections before you can import their data",JD2:"RxCollection.importJSON(): the imported json relies on a different schema",JD3:"RxCollection.importJSON(): json.passwordHash does not match the own",LD1:"RxDocument.allAttachments$ can't use attachments on local documents",LD2:"RxDocument.get(): objPath must be a string",LD3:"RxDocument.get$ cannot get observable of in-array fields because order cannot be guessed",LD4:"cannot observe primary path",LD5:"RxDocument.set() id cannot be modified",LD6:"LocalDocument: Function is not usable on local documents",LD7:"Local document already exists",LD8:"localDocuments not activated. Set localDocuments=true on creation, when you want to store local documents on the RxDatabase or RxCollection.",RC1:"Replication: already added",RC2:"replicateCouchDB() query must be from the same RxCollection",RC4:"RxCouchDBReplicationState.awaitInitialReplication() cannot await initial replication when live: true",RC5:"RxCouchDBReplicationState.awaitInitialReplication() cannot await initial replication if multiInstance because the replication might run on another instance",RC6:"syncFirestore() serverTimestampField MUST NOT be part of the collections schema and MUST NOT be nested.",RC7:"SimplePeer requires to have process.nextTick() polyfilled, see https://rxdb.info/replication-webrtc.html",RC_PULL:"RxReplication pull handler threw an error - see .errors for more details",RC_STREAM:"RxReplication pull stream$ threw an error - see .errors for more details",RC_PUSH:"RxReplication push handler threw an error - see .errors for more details",RC_PUSH_NO_AR:"RxReplication push handler did not return an array with the conflicts",RC_WEBRTC_PEER:"RxReplication WebRTC Peer has error",RC_COUCHDB_1:"replicateCouchDB() url must end with a slash like 'https://example.com/mydatabase/'",RC_COUCHDB_2:"replicateCouchDB() did not get valid result with rows.",RC_OUTDATED:"Outdated client, update required. Replication was canceled",RC_UNAUTHORIZED:"Unauthorized client, update the replicationState.headers to set correct auth data",RC_FORBIDDEN:"Client behaves wrong so the replication was canceled. Mostly happens if the client tries to write data that it is not allowed to",SC1:"fieldnames do not match the regex",SC2:"SchemaCheck: name 'item' reserved for array-fields",SC3:"SchemaCheck: fieldname has a ref-array but items-type is not string",SC4:"SchemaCheck: fieldname has a ref but is not type string, [string,null] or array",SC6:"SchemaCheck: primary can only be defined at top-level",SC7:"SchemaCheck: default-values can only be defined at top-level",SC8:"SchemaCheck: first level-fields cannot start with underscore _",SC10:"SchemaCheck: schema defines ._rev, this will be done automatically",SC11:"SchemaCheck: schema needs a number >=0 as version",SC13:"SchemaCheck: primary is always index, do not declare it as index",SC14:"SchemaCheck: primary is always unique, do not declare it as index",SC15:"SchemaCheck: primary cannot be encrypted",SC16:"SchemaCheck: primary must have type: string",SC17:"SchemaCheck: top-level fieldname is not allowed",SC18:"SchemaCheck: indexes must be an array",SC19:"SchemaCheck: indexes must contain strings or arrays of strings",SC20:"SchemaCheck: indexes.array must contain strings",SC21:"SchemaCheck: given index is not defined in schema",SC22:"SchemaCheck: given indexKey is not type:string",SC23:"SchemaCheck: fieldname is not allowed",SC24:"SchemaCheck: required fields must be set via array. See https://spacetelescope.github.io/understanding-json-schema/reference/object.html#required",SC25:"SchemaCheck: compoundIndexes needs to be specified in the indexes field",SC26:"SchemaCheck: indexes needs to be specified at collection schema level",SC27:"SchemaCheck: encrypted fields need to be specified at collection schema level",SC28:"SchemaCheck: encrypted fields is not defined in the schema",SC29:"SchemaCheck: missing object key 'properties'",SC30:"SchemaCheck: primaryKey is required",SC32:"SchemaCheck: primary field must have the type string/number/integer",SC33:"SchemaCheck: used primary key is not a property in the schema",SC34:"Fields of type string that are used in an index, must have set the maxLength attribute in the schema",SC35:"Fields of type number/integer that are used in an index, must have set the multipleOf attribute in the schema",SC36:"A field of this type cannot be used as index",SC37:"Fields of type number that are used in an index, must have set the minimum and maximum attribute in the schema",SC38:"Fields of type boolean that are used in an index, must be required in the schema",SC39:"The primary key must have the maxLength attribute set",SC40:"$ref fields in the schema are not allowed. RxDB cannot resolve related schemas because it would have a negative performance impact.It would have to run http requests on runtime. $ref fields should be resolved during build time.",VD1:"Sub-schema not found, does the schemaPath exists in your schema?",VD2:"object does not match schema",S1:"You cannot create collections after calling RxDatabase.server()",GQL1:"GraphQL replication: cannot find sub schema by key",GQL3:"GraphQL replication: pull returns more documents then batchSize",CRDT1:"CRDT operations cannot be used because the crdt options are not set in the schema.",CRDT2:"RxDocument.incrementalModify() cannot be used when CRDTs are activated.",CRDT3:"To use CRDTs you MUST NOT set a conflictHandler because the default CRDT conflict handler must be used",SNH:"This should never happen"},C;function K(){if(!C){var e=new M,t=Object.getOwnPropertyNames(e),r=Object.getOwnPropertyNames(Object.getPrototypeOf(e));C=[...t,...r]}return C}var b;function z(){if(!b){var e=new _("pseudoInstance","memory"),t=Object.getOwnPropertyNames(e),r=Object.getOwnPropertyNames(Object.getPrototypeOf(e));b=[...t,...r],e.destroy()}return b}var G=A(Q),V=new G,w;function E(){if(!w){var e=["deleted","synced"],t=Object.getOwnPropertyNames(V),r=Object.getOwnPropertyNames(Q);w=[...t,...r,...e]}return w}function J(e){if(e!=="_deleted"){if(["properties"].includes(e))throw a("SC23",{fieldName:e});var t="^[a-zA-Z](?:[[a-zA-Z0-9_]*]?[a-zA-Z0-9])?$",r=new RegExp(t);if(e!=="_id"&&!e.match(r))throw a("SC1",{regex:t,fieldName:e})}}function Y(e){var t=P(e.primaryKey);function r(n,i,c){if(typeof n=="string"&&typeof i=="object"&&!Array.isArray(i)&&c.split(".").pop()!=="patternProperties"&&J(n),Object.prototype.hasOwnProperty.call(i,"item")&&i.type!=="array")throw a("SC2",{fieldName:n});if(Object.prototype.hasOwnProperty.call(i,"required")&&typeof i.required=="boolean")throw a("SC24",{fieldName:n});if(Object.prototype.hasOwnProperty.call(i,"$ref"))throw a("SC40",{fieldName:n});if(Object.prototype.hasOwnProperty.call(i,"ref"))if(Array.isArray(i.type)){if(i.type.length>2||!i.type.includes("string")||!i.type.includes("null"))throw a("SC4",{fieldName:n})}else switch(i.type){case"string":break;case"array":if(!i.items||!i.items.type||i.items.type!=="string")throw a("SC3",{fieldName:n});break;default:throw a("SC4",{fieldName:n})}var s=c.split(".").length>=2;if(s&&i.default)throw a("SC7",{path:c});if(!s){if(n==="_id"&&t!=="_id")throw a("COL2",{fieldName:n});if(n.charAt(0)==="_"){if(n==="_id"||n==="_deleted")return;throw a("SC8",{fieldName:n})}}}function o(n,i){!n||typeof n!="object"||Object.keys(n).forEach(c=>{var s=n[c];!n.properties&&s&&typeof s=="object"&&!Array.isArray(n)&&r(c,s,i);var l=i;c!=="properties"&&(l=l+"."+c),o(s,l)})}return o(e,""),!0}function Z(e){if(!e.primaryKey)throw a("SC30",{schema:e});function t(l){if(!l)throw a("SC33",{schema:e});var d=l.type;if(!d||!["string","number","integer"].includes(d))throw a("SC32",{schema:e,args:{schemaPart:l}})}if(typeof e.primaryKey=="string"){var r=e.primaryKey,o=e.properties[r];t(o)}else{var n=e.primaryKey,i=p(e,n.key);t(i),n.fields.forEach(l=>{var d=p(e,l);t(d)})}var c=P(e.primaryKey),s=e.properties[c];if(!s.maxLength)throw a("SC39",{schema:e,args:{primaryPathSchemaPart:s}})}function k(e){for(var t=e.split("."),r="",o=0;o{var r=e.properties[t];if(t===e.primaryKey){if(e.indexes&&e.indexes.includes(t))throw a("SC13",{value:r,schema:e});if(r.unique)throw a("SC14",{value:r,schema:e});if(e.encrypted&&e.encrypted.includes(t))throw a("SC15",{value:r,schema:e});if(r.type!=="string")throw a("SC16",{value:r,schema:e})}if(E().includes(t))throw a("SC17",{key:t,schema:e})}),e.indexes){if(!y(e.indexes))throw a("SC18",{indexes:e.indexes,schema:e});e.indexes.forEach(t=>{if(!(typeof t=="string"||Array.isArray(t)))throw a("SC19",{index:t,schema:e});if(Array.isArray(t)){for(var r=0;r{var i=p(e,n),c=i.type;switch(c){case"string":var s=i.maxLength;if(!s)throw a("SC34",{index:t,field:n,schema:e});break;case"number":case"integer":var l=i.multipleOf;if(!l)throw a("SC35",{index:t,field:n,schema:e});var d=i.maximum,B=i.minimum;if(typeof d>"u"||typeof B>"u")throw a("SC37",{index:t,field:n,schema:e});break;case"boolean":var f="",D=n;if(n.includes(".")){var g=n.split(".");D=g.pop(),f=g.join(".")}var R=f===""?e:p(e,f);if(!R.required||!R.required.includes(D))throw a("SC38",{index:t,field:n,schema:e});break;default:throw a("SC36",{fieldName:n,type:i.type,schema:e})}})})}Object.keys(O(e)).map(t=>{var r=t.split(".");return r.pop(),r.join(".")}).filter(t=>t!=="").filter((t,r,o)=>o.indexOf(t)===r).filter(t=>{var r=h(e,t);return r&&!!r.index}).forEach(t=>{throw t=t.replace("properties.",""),t=t.replace(/\.properties\./g,"."),a("SC26",{index:x(t),schema:e})}),(e.indexes||[]).reduce((t,r)=>(y(r)?F(t,r):t.push(r),t),[]).filter((t,r,o)=>o.indexOf(t)===r).map(t=>{var r=k(t),o=h(e,r);if(!o||typeof o!="object")throw a("SC21",{index:t,schema:e});return{indexPath:t,schemaObj:o}}).filter(t=>t.schemaObj.type!=="string"&&t.schemaObj.type!=="integer"&&t.schemaObj.type!=="number"&&t.schemaObj.type!=="boolean").forEach(t=>{throw a("SC22",{key:t.indexPath,type:t.schemaObj.type,schema:e})}),Object.keys(O(e)).map(t=>{var r=t.split(".");return r.pop(),r.join(".")}).filter(t=>t!==""&&t!=="attachments").filter((t,r,o)=>o.indexOf(t)===r).filter(t=>{var r=h(e,t);return r&&!!r.encrypted}).forEach(t=>{throw t=t.replace("properties.",""),t=t.replace(/\.properties\./g,"."),a("SC27",{index:x(t),schema:e})}),e.encrypted&&e.encrypted.forEach(t=>{var r=k(t),o=h(e,r);if(!o||typeof o!="object")throw a("SC28",{field:t,schema:e})})}function v(e){e&&Object.entries(e).forEach(([t,r])=>{if(typeof t!="string")throw u("COL14",{name:t});if(t.startsWith("_"))throw u("COL15",{name:t});if(typeof r!="function")throw u("COL16",{name:t,type:typeof t});if(K().includes(t)||E().includes(t))throw a("COL17",{name:t})})}function X(e,t){var r=Object.keys(e.properties);t&&Object.keys(t).filter(o=>r.includes(o)).forEach(o=>{throw a("COL18",{funName:o})})}function j(e,t){if(typeof t!="object"||Array.isArray(t))throw u("COL11",{schema:e});var r=I(e);if(r.length!==Object.keys(t).length)throw a("COL12",{have:Object.keys(t),should:r});return r.map(o=>({v:o,s:t[o+1]})).filter(o=>typeof o.s!="function").forEach(o=>{throw u("COL13",{version:o.v,type:typeof o,schema:e})}),!0}function ee(e){if(z().includes(e.name))throw a("DB5",{name:e.name});U(e.name)}function te(e){if(U(e.name),e.name.includes("$"))throw a("DB13",{name:e.name});if(L(e.name)&&(e.name.endsWith("/")||e.name.endsWith("\\")))throw a("DB11",{name:e.name})}var q="^[a-z][_$a-z0-9\\-]*$",re=new RegExp(q);function U(e){if(typeof e!="string"||e.length===0)throw u("UT1",{name:e});if(L(e))return!0;if(!e.match(re)&&e!==":memory:")throw a("UT2",{regex:q,givenName:e});return!0}function ae(e){var t=Object.prototype.toString.call(e.queryObj)==="[object Object]";if(!t)throw u("QU11",{op:e.op,collection:e.collection.name,queryObj:e.queryObj});var r=["selector","limit","skip","sort","index"];if(Object.keys(e.queryObj).forEach(o=>{if(!r.includes(o))throw u("QU11",{op:e.op,collection:e.collection.name,queryObj:e.queryObj,key:o,args:{validKeys:r}})}),e.op==="count"&&(e.queryObj.limit||e.queryObj.skip))throw a("QU15",{collection:e.collection.name,query:e.queryObj});m(e.queryObj)}function oe(e){var t=e.rxQuery.collection.schema.jsonSchema,r=e.mangoQuery.selector,o=Object.keys(t.properties);Object.keys(r).filter(s=>!s.startsWith("$")).filter(s=>!s.includes(".")).forEach(s=>{if(!o.includes(s))throw a("QU13",{schema:t,field:s,query:e.mangoQuery})});var n=t.indexes?t.indexes:[],i=e.mangoQuery.index;if(i){var c=n.find(s=>$(s,i));if(!c)throw a("QU12",{collection:e.rxQuery.collection.name,query:e.mangoQuery,schema:t})}if(e.rxQuery.op==="count"&&!ne(e.rxQuery.collection.schema.jsonSchema,e.mangoQuery)&&!e.rxQuery.collection.database.allowSlowCount)throw a("QU14",{collection:e.rxQuery.collection,query:e.mangoQuery});e.mangoQuery.sort&&e.mangoQuery.sort.map(s=>Object.keys(s)[0]).filter(s=>!s.includes(".")).forEach(s=>{if(!o.includes(s))throw a("QU13",{schema:t,field:s,query:e.mangoQuery})}),m(e.mangoQuery)}function ne(e,t){var r=W(e,t);return r.queryPlan.selectorSatisfiedByIndex}function m(e){if(!(typeof e!="object"||e===null)){var t=Object.keys(e);t.forEach(r=>{var o=e[r];if(o instanceof RegExp)throw a("QU16",{field:r,query:e});Array.isArray(o)?o.forEach(n=>m(n)):m(o)})}}function ie(e,t){if(!e)throw a("DOC20",{primaryKey:e,document:t});if(e!==e.trim())throw a("DOC21",{primaryKey:e,document:t});if(e.includes("\r")||e.includes(` -`))throw a("DOC22",{primaryKey:e,document:t});if(e.includes('"'))throw a("DOC23",{primaryKey:e,document:t})}var T=!0;function ue(){T=!1}function se(e){return!e||typeof e=="string"||typeof e=="number"?e:H(e)}var ce="dev-mode",de={name:ce,rxdb:!0,init:()=>{T&&console.warn(["-------------- RxDB dev-mode warning -------------------------------","you are seeing this because you use the RxDB dev-mode plugin https://rxdb.info/dev-mode.html ","This is great in development mode, because it will run many checks to ensure","that you use RxDB correct. If you see this in production mode,","you did something wrong because the dev-mode plugin will decrease the performance.","","🤗 Hint: To get the most out of RxDB, check out the Premium Plugins","to get access to faster storages and more professional features: https://rxdb.info/premium","","You can disable this warning by calling disableWarnings() from the dev-mode plugin.","---------------------------------------------------------------------"].join(` -`))},overwritable:{isDevMode(){return!0},deepFreezeWhenDevMode:se,tunnelErrorMessage(e){if(!S[e])throw console.error("RxDB: Error-Code not known: "+e),new Error("Error-Code "+e+" not known, contact the maintainer");return S[e]}},hooks:{preCreateRxSchema:{after:N},preCreateRxDatabase:{after:function(e){te(e)}},preCreateRxCollection:{after:function(e){if(ee(e),X(e.schema,e.methods),e.name.charAt(0)==="_")throw a("DB2",{name:e.name});if(!e.schema)throw a("DB4",{name:e.name,args:e})}},createRxDocument:{before:function(e){ie(e.primary,e.toJSON(!0))}},preCreateRxQuery:{after:function(e){ae(e)}},prePrepareQuery:{after:e=>{oe(e)}},createRxCollection:{after:e=>{v(e.creator.statics),v(e.creator.methods),v(e.creator.attachments),e.creator.schema&&e.creator.migrationStrategies&&j(e.creator.schema,e.creator.migrationStrategies)}}}};export{ce as DEV_MODE_PLUGIN_NAME,de as RxDBDevModePlugin,ne as areSelectorsSatisfiedByIndex,J as checkFieldNameRegex,oe as checkMangoQuery,Z as checkPrimaryKey,ae as checkQuery,N as checkSchema,se as deepFreezeWhenDevMode,ue as disableWarnings,ee as ensureCollectionNameValid,te as ensureDatabaseNameIsValid,m as ensureObjectDoesNotContainRegExp,U as validateDatabaseName,Y as validateFieldsDeep}; diff --git a/packages/streamlit-rxdb-dataframe/frontend/build/package.json.old b/packages/streamlit-rxdb-dataframe/frontend/build/package.json.old deleted file mode 100644 index 4d06150..0000000 --- a/packages/streamlit-rxdb-dataframe/frontend/build/package.json.old +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "streamlit-rxdb-dataframe-frontend", - "main": "index.js" -} diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/styles.css b/packages/streamlit-rxdb-dataframe/frontend/src/styles.css deleted file mode 100644 index 90d4ee0..0000000 --- a/packages/streamlit-rxdb-dataframe/frontend/src/styles.css +++ /dev/null @@ -1 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ diff --git a/packages/streamlit-rxdb-dataframe/poetry.lock b/packages/streamlit-rxdb-dataframe/poetry.lock index 3542a54..6b26233 100644 --- a/packages/streamlit-rxdb-dataframe/poetry.lock +++ b/packages/streamlit-rxdb-dataframe/poetry.lock @@ -1411,17 +1411,6 @@ streamlit = ">=1.12,<2" [package.extras] test = ["pytest", "pytest-mock", "tox"] -[[package]] -name = "streamlit-superapp" -version = "1.3.0" -description = "" -optional = false -python-versions = ">=3.8" -files = [ - {file = "streamlit_superapp-1.3.0-py3-none-any.whl", hash = "sha256:b48e87f148d642aadc5eb77542b955be71d3cc8534900cb29200c6f4ec9ecf80"}, - {file = "streamlit_superapp-1.3.0.tar.gz", hash = "sha256:3ec9e76f79df42065eb4439087fef232857e2535d5f238cc777cfa2b457399fc"}, -] - [[package]] name = "tenacity" version = "8.2.3" @@ -1583,4 +1572,4 @@ watchmedo = ["PyYAML (>=3.10)"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "b4bf1074634e3f98de67d859e6cfe3c4bbc58e5844c92f9cba8148dcf3cef534" +content-hash = "55329c5e879e252159baecdb32a131f467baadf199ea3d66a0865dec0d0d7821" diff --git a/packages/streamlit-rxdb-dataframe/pyproject.toml b/packages/streamlit-rxdb-dataframe/pyproject.toml index c45090a..91d2d63 100644 --- a/packages/streamlit-rxdb-dataframe/pyproject.toml +++ b/packages/streamlit-rxdb-dataframe/pyproject.toml @@ -14,7 +14,6 @@ pyperclip = "^1.8.2" python-dotenv = "^1.0.1" playwright = "^1.41.2" pandas = "^2.2.1" -streamlit-superapp = "^1.3.0" streamlit-parameters = "^0.1.5" jsonschema = "^4.21.1" diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py index 87ae47b..28d1b0e 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py @@ -96,11 +96,12 @@ def __init__( self.limit = limit self.skip = skip + # Create a _RELEASE constant. We'll set this to False while we're developing # the component, and True when we're ready to package and distribute it. -_RELEASE = False +_RELEASE = True -if not _RELEASE: +if not _RELEASE: # NOSONAR _rxdb_dataframe = components.declare_component( "rxdb_dataframe", url="http://localhost:4201", @@ -108,6 +109,13 @@ def __init__( else: parent_dir = os.path.dirname(os.path.abspath(__file__)) build_dir = os.path.join(parent_dir, "frontend/build") + index_js_path = os.path.join(build_dir, "index.js") + + if os.path.exists(index_js_path): + print("index.js exists") + else: + print("index.js does not exist") + _rxdb_dataframe = components.declare_component("rxdb_dataframe", path=build_dir) diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/.eslintignore b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/.eslintignore new file mode 100644 index 0000000..378eac2 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/streamlit-rxdb-dataframe/frontend/.eslintrc.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/.eslintrc.json similarity index 80% rename from packages/streamlit-rxdb-dataframe/frontend/.eslintrc.json rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/.eslintrc.json index 75b8507..772a43d 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/.eslintrc.json +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/.eslintrc.json @@ -1,5 +1,5 @@ { - "extends": ["plugin:@nx/react", "../../../.eslintrc.json"], + "extends": ["plugin:@nx/react", "../../../../.eslintrc.json"], "ignorePatterns": ["!**/*"], "overrides": [ { diff --git a/packages/streamlit-rxdb-dataframe/frontend/public/assets/data/col.dump.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/assets/data/col.dump.json similarity index 100% rename from packages/streamlit-rxdb-dataframe/frontend/public/assets/data/col.dump.json rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/assets/data/col.dump.json diff --git a/packages/streamlit-rxdb-dataframe/frontend/public/assets/data/db.dump.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/assets/data/db.dump.json similarity index 100% rename from packages/streamlit-rxdb-dataframe/frontend/public/assets/data/db.dump.json rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/assets/data/db.dump.json diff --git a/packages/streamlit-rxdb-dataframe/frontend/public/assets/data/todo.schema.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/assets/data/todo.schema.json similarity index 100% rename from packages/streamlit-rxdb-dataframe/frontend/public/assets/data/todo.schema.json rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/assets/data/todo.schema.json diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.html b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.html new file mode 100644 index 0000000..f8d5fcd --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.html @@ -0,0 +1,13 @@ + + + + + RxdbDataframe + + + + + +
+ + diff --git a/packages/streamlit-rxdb-dataframe/frontend/build/index.js b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js similarity index 58% rename from packages/streamlit-rxdb-dataframe/frontend/build/index.js rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js index 58efd9d..14bd02d 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/build/index.js +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js @@ -1,4 +1,4 @@ -var Xx=Object.defineProperty;var Zx=(t,e,n)=>e in t?Xx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Uc=(t,e,n)=>(Zx(t,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();var yw=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rh(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var B1={exports:{}},ih={},F1={exports:{}},Me={};/** +var Jx=Object.defineProperty;var Xx=(t,e,n)=>e in t?Jx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var jc=(t,e,n)=>(Xx(t,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();var yw=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rh(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var N1={exports:{}},ih={},B1={exports:{}},Me={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var Xx=Object.defineProperty;var Zx=(t,e,n)=>e in t?Xx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var zl=Symbol.for("react.element"),eC=Symbol.for("react.portal"),tC=Symbol.for("react.fragment"),nC=Symbol.for("react.strict_mode"),rC=Symbol.for("react.profiler"),iC=Symbol.for("react.provider"),sC=Symbol.for("react.context"),oC=Symbol.for("react.forward_ref"),aC=Symbol.for("react.suspense"),uC=Symbol.for("react.memo"),lC=Symbol.for("react.lazy"),vw=Symbol.iterator;function cC(t){return t===null||typeof t!="object"?null:(t=vw&&t[vw]||t["@@iterator"],typeof t=="function"?t:null)}var L1={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$1=Object.assign,j1={};function nu(t,e,n){this.props=t,this.context=e,this.refs=j1,this.updater=n||L1}nu.prototype.isReactComponent={};nu.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};nu.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function U1(){}U1.prototype=nu.prototype;function wv(t,e,n){this.props=t,this.context=e,this.refs=j1,this.updater=n||L1}var _v=wv.prototype=new U1;_v.constructor=wv;$1(_v,nu.prototype);_v.isPureReactComponent=!0;var gw=Array.isArray,z1=Object.prototype.hasOwnProperty,bv={current:null},V1={key:!0,ref:!0,__self:!0,__source:!0};function K1(t,e,n){var r,i={},s=null,o=null;if(e!=null)for(r in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)z1.call(e,r)&&!V1.hasOwnProperty(r)&&(i[r]=e[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1e in t?Xx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var mC=as,yC=Symbol.for("react.element"),vC=Symbol.for("react.fragment"),gC=Object.prototype.hasOwnProperty,wC=mC.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,_C={key:!0,ref:!0,__self:!0,__source:!0};function W1(t,e,n){var r,i={},s=null,o=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)gC.call(e,r)&&!_C.hasOwnProperty(r)&&(i[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:yC,type:t,key:s,ref:o,props:i,_owner:wC.current}}ih.Fragment=vC;ih.jsx=W1;ih.jsxs=W1;B1.exports=ih;var bC=B1.exports,q1={exports:{}},nr={},H1={exports:{}},Q1={};/** + */var pA=oi,mA=Symbol.for("react.element"),yA=Symbol.for("react.fragment"),vA=Object.prototype.hasOwnProperty,gA=pA.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,wA={key:!0,ref:!0,__self:!0,__source:!0};function K1(t,e,n){var r,i={},s=null,o=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)vA.call(e,r)&&!wA.hasOwnProperty(r)&&(i[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:mA,type:t,key:s,ref:o,props:i,_owner:gA.current}}ih.Fragment=yA;ih.jsx=K1;ih.jsxs=K1;N1.exports=ih;var _A=N1.exports,W1={exports:{}},nr={},q1={exports:{}},H1={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var Xx=Object.defineProperty;var Zx=(t,e,n)=>e in t?Xx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function e(G,oe){var ue=G.length;G.push(oe);e:for(;0>>1,xt=G[Re];if(0>>1;Rei(Un,ue))tni(Ji,Un)?(G[Re]=Ji,G[tn]=ue,Re=tn):(G[Re]=Un,G[Ct]=ue,Re=Ct);else if(tni(Ji,ue))G[Re]=Ji,G[tn]=ue,Re=tn;else break e}}return oe}function i(G,oe){var ue=G.sortIndex-oe.sortIndex;return ue!==0?ue:G.id-oe.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],f=[],h=1,p=null,y=3,w=!1,I=!1,O=!1,$=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,b=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function E(G){for(var oe=n(f);oe!==null;){if(oe.callback===null)r(f);else if(oe.startTime<=G)r(f),oe.sortIndex=oe.expirationTime,e(l,oe);else break;oe=n(f)}}function z(G){if(O=!1,E(G),!I)if(n(l)!==null)I=!0,Te(W);else{var oe=n(f);oe!==null&&Dt(z,oe.startTime-G)}}function W(G,oe){I=!1,O&&(O=!1,_(X),X=-1),w=!0;var ue=y;try{for(E(oe),p=n(l);p!==null&&(!(p.expirationTime>oe)||G&&!ce());){var Re=p.callback;if(typeof Re=="function"){p.callback=null,y=p.priorityLevel;var xt=Re(p.expirationTime<=oe);oe=t.unstable_now(),typeof xt=="function"?p.callback=xt:p===n(l)&&r(l),E(oe)}else r(l);p=n(l)}if(p!==null)var ft=!0;else{var Ct=n(f);Ct!==null&&Dt(z,Ct.startTime-oe),ft=!1}return ft}finally{p=null,y=ue,w=!1}}var Q=!1,H=null,X=-1,U=5,ee=-1;function ce(){return!(t.unstable_now()-eeG||125Re?(G.sortIndex=ue,e(f,G),n(l)===null&&G===n(f)&&(O?(_(X),X=-1):O=!0,Dt(z,ue-Re))):(G.sortIndex=xt,e(l,G),I||w||(I=!0,Te(W))),G},t.unstable_shouldYield=ce,t.unstable_wrapCallback=function(G){var oe=y;return function(){var ue=y;y=oe;try{return G.apply(this,arguments)}finally{y=ue}}}})(Q1);H1.exports=Q1;var SC=H1.exports;/** + */(function(t){function e(G,oe){var ue=G.length;G.push(oe);e:for(;0>>1,xt=G[Re];if(0>>1;Rei(Un,ue))tni(Xi,Un)?(G[Re]=Xi,G[tn]=ue,Re=tn):(G[Re]=Un,G[At]=ue,Re=At);else if(tni(Xi,ue))G[Re]=Xi,G[tn]=ue,Re=tn;else break e}}return oe}function i(G,oe){var ue=G.sortIndex-oe.sortIndex;return ue!==0?ue:G.id-oe.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],f=[],h=1,m=null,y=3,w=!1,I=!1,E=!1,F=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function k(G){for(var oe=n(f);oe!==null;){if(oe.callback===null)r(f);else if(oe.startTime<=G)r(f),oe.sortIndex=oe.expirationTime,e(l,oe);else break;oe=n(f)}}function z(G){if(E=!1,k(G),!I)if(n(l)!==null)I=!0,Te(W);else{var oe=n(f);oe!==null&&Dt(z,oe.startTime-G)}}function W(G,oe){I=!1,E&&(E=!1,S(X),X=-1),w=!0;var ue=y;try{for(k(oe),m=n(l);m!==null&&(!(m.expirationTime>oe)||G&&!ce());){var Re=m.callback;if(typeof Re=="function"){m.callback=null,y=m.priorityLevel;var xt=Re(m.expirationTime<=oe);oe=t.unstable_now(),typeof xt=="function"?m.callback=xt:m===n(l)&&r(l),k(oe)}else r(l);m=n(l)}if(m!==null)var ft=!0;else{var At=n(f);At!==null&&Dt(z,At.startTime-oe),ft=!1}return ft}finally{m=null,y=ue,w=!1}}var Q=!1,H=null,X=-1,U=5,ee=-1;function ce(){return!(t.unstable_now()-eeG||125Re?(G.sortIndex=ue,e(f,G),n(l)===null&&G===n(f)&&(E?(S(X),X=-1):E=!0,Dt(z,ue-Re))):(G.sortIndex=xt,e(l,G),I||w||(I=!0,Te(W))),G},t.unstable_shouldYield=ce,t.unstable_wrapCallback=function(G){var oe=y;return function(){var ue=y;y=oe;try{return G.apply(this,arguments)}finally{y=ue}}}})(H1);q1.exports=H1;var bA=q1.exports;/** * @license React * react-dom.production.min.js * @@ -30,52 +30,52 @@ var Xx=Object.defineProperty;var Zx=(t,e,n)=>e in t?Xx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Y1=as,Zn=SC;function Z(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Am=Object.prototype.hasOwnProperty,IC=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,_w={},bw={};function EC(t){return Am.call(bw,t)?!0:Am.call(_w,t)?!1:IC.test(t)?bw[t]=!0:(_w[t]=!0,!1)}function OC(t,e,n,r){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function kC(t,e,n,r){if(e===null||typeof e>"u"||OC(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function gn(t,e,n,r,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var en={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){en[t]=new gn(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];en[e]=new gn(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){en[t]=new gn(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){en[t]=new gn(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){en[t]=new gn(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){en[t]=new gn(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){en[t]=new gn(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){en[t]=new gn(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){en[t]=new gn(t,5,!1,t.toLowerCase(),null,!1,!1)});var Iv=/[\-:]([a-z])/g;function Ev(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Iv,Ev);en[e]=new gn(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Iv,Ev);en[e]=new gn(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Iv,Ev);en[e]=new gn(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){en[t]=new gn(t,1,!1,t.toLowerCase(),null,!1,!1)});en.xlinkHref=new gn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){en[t]=new gn(t,1,!1,t.toLowerCase(),null,!0,!0)});function Ov(t,e,n,r){var i=en.hasOwnProperty(e)?en[e]:null;(i!==null?i.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Cm=Object.prototype.hasOwnProperty,SA=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,_w={},bw={};function IA(t){return Cm.call(bw,t)?!0:Cm.call(_w,t)?!1:SA.test(t)?bw[t]=!0:(_w[t]=!0,!1)}function EA(t,e,n,r){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function OA(t,e,n,r){if(e===null||typeof e>"u"||EA(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function gn(t,e,n,r,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var en={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){en[t]=new gn(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];en[e]=new gn(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){en[t]=new gn(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){en[t]=new gn(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){en[t]=new gn(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){en[t]=new gn(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){en[t]=new gn(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){en[t]=new gn(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){en[t]=new gn(t,5,!1,t.toLowerCase(),null,!1,!1)});var Iv=/[\-:]([a-z])/g;function Ev(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Iv,Ev);en[e]=new gn(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Iv,Ev);en[e]=new gn(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Iv,Ev);en[e]=new gn(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){en[t]=new gn(t,1,!1,t.toLowerCase(),null,!1,!1)});en.xlinkHref=new gn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){en[t]=new gn(t,1,!1,t.toLowerCase(),null,!0,!0)});function Ov(t,e,n,r){var i=en.hasOwnProperty(e)?en[e]:null;(i!==null?i.type!==0:r||!(2a||i[o]!==s[a]){var l=` -`+i[o].replace(" at new "," at ");return t.displayName&&l.includes("")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=a);break}}}finally{xp=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?Lu(t):""}function DC(t){switch(t.tag){case 5:return Lu(t.type);case 16:return Lu("Lazy");case 13:return Lu("Suspense");case 19:return Lu("SuspenseList");case 0:case 2:case 15:return t=Cp(t.type,!1),t;case 11:return t=Cp(t.type.render,!1),t;case 1:return t=Cp(t.type,!0),t;default:return""}}function Mm(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case ca:return"Fragment";case la:return"Portal";case Pm:return"Profiler";case kv:return"StrictMode";case Rm:return"Suspense";case Tm:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case X1:return(t.displayName||"Context")+".Consumer";case J1:return(t._context.displayName||"Context")+".Provider";case Dv:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case xv:return e=t.displayName||null,e!==null?e:Mm(t.type)||"Memo";case us:e=t._payload,t=t._init;try{return Mm(t(e))}catch{}}return null}function xC(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Mm(e);case 8:return e===kv?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Ps(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function eS(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function CC(t){var e=eS(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,s=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Kc(t){t._valueTracker||(t._valueTracker=CC(t))}function tS(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=eS(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function Uf(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Nm(t,e){var n=e.checked;return Et({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Iw(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=Ps(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function nS(t,e){e=e.checked,e!=null&&Ov(t,"checked",e,!1)}function Bm(t,e){nS(t,e);var n=Ps(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Fm(t,e.type,n):e.hasOwnProperty("defaultValue")&&Fm(t,e.type,Ps(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function Ew(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Fm(t,e,n){(e!=="number"||Uf(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var $u=Array.isArray;function Sa(t,e,n,r){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=Wc.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function cl(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var Wu={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},AC=["Webkit","ms","Moz","O"];Object.keys(Wu).forEach(function(t){AC.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Wu[e]=Wu[t]})});function oS(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||Wu.hasOwnProperty(t)&&Wu[t]?(""+e).trim():e+"px"}function aS(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=oS(n,e[n],r);n==="float"&&(n="cssFloat"),r?t.setProperty(n,i):t[n]=i}}var PC=Et({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function jm(t,e){if(e){if(PC[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Z(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Z(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Z(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Z(62))}}function Um(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var zm=null;function Cv(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Vm=null,Ia=null,Ea=null;function Dw(t){if(t=Wl(t)){if(typeof Vm!="function")throw Error(Z(280));var e=t.stateNode;e&&(e=lh(e),Vm(t.stateNode,t.type,e))}}function uS(t){Ia?Ea?Ea.push(t):Ea=[t]:Ia=t}function lS(){if(Ia){var t=Ia,e=Ea;if(Ea=Ia=null,Dw(t),e)for(t=0;t>>=0,t===0?32:31-(zC(t)/VC|0)|0}var qc=64,Hc=4194304;function ju(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Wf(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,i=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var a=o&~i;a!==0?r=ju(a):(s&=o,s!==0&&(r=ju(s)))}else o=n&~i,o!==0?r=ju(o):s!==0&&(r=ju(s));if(r===0)return 0;if(e!==0&&e!==r&&!(e&i)&&(i=r&-r,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if(r&4&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0n;n++)e.push(t);return e}function Vl(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-Dr(e),t[e]=n}function HC(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=Hu),Bw=String.fromCharCode(32),Fw=!1;function CS(t,e){switch(t){case"keyup":return bA.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function AS(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var fa=!1;function IA(t,e){switch(t){case"compositionend":return AS(e);case"keypress":return e.which!==32?null:(Fw=!0,Bw);case"textInput":return t=e.data,t===Bw&&Fw?null:t;default:return null}}function EA(t,e){if(fa)return t==="compositionend"||!Fv&&CS(t,e)?(t=DS(),gf=Mv=ms=null,fa=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Uw(n)}}function MS(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?MS(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function NS(){for(var t=window,e=Uf();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=Uf(t.document)}return e}function Lv(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function TA(t){var e=NS(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&MS(n.ownerDocument.documentElement,n)){if(r!==null&&Lv(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,s=Math.min(r.start,i);r=r.end===void 0?s:Math.min(r.end,i),!t.extend&&s>r&&(i=r,r=s,s=i),i=zw(n,s);var o=zw(n,r);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,da=null,Ym=null,Yu=null,Gm=!1;function Vw(t,e,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Gm||da==null||da!==Uf(r)||(r=da,"selectionStart"in r&&Lv(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Yu&&yl(Yu,r)||(Yu=r,r=Qf(Ym,"onSelect"),0ma||(t.current=ny[ma],ny[ma]=null,ma--)}function ut(t,e){ma++,ny[ma]=t.current,t.current=e}var Rs={},ln=Us(Rs),Dn=Us(!1),Co=Rs;function Ma(t,e){var n=t.type.contextTypes;if(!n)return Rs;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function xn(t){return t=t.childContextTypes,t!=null}function Gf(){mt(Dn),mt(ln)}function Gw(t,e,n){if(ln.current!==Rs)throw Error(Z(168));ut(ln,e),ut(Dn,n)}function KS(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(Z(108,xC(t)||"Unknown",i));return Et({},n,r)}function Jf(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Rs,Co=ln.current,ut(ln,t),ut(Dn,Dn.current),!0}function Jw(t,e,n){var r=t.stateNode;if(!r)throw Error(Z(169));n?(t=KS(t,e,Co),r.__reactInternalMemoizedMergedChildContext=t,mt(Dn),mt(ln),ut(ln,t)):mt(Dn),ut(Dn,n)}var Ii=null,ch=!1,Vp=!1;function WS(t){Ii===null?Ii=[t]:Ii.push(t)}function WA(t){ch=!0,WS(t)}function zs(){if(!Vp&&Ii!==null){Vp=!0;var t=0,e=Ge;try{var n=Ii;for(Ge=1;t>=o,i-=o,Di=1<<32-Dr(e)+i|n<X?(U=H,H=null):U=H.sibling;var ee=y(_,H,E[X],z);if(ee===null){H===null&&(H=U);break}t&&H&&ee.alternate===null&&e(_,H),b=s(ee,b,X),Q===null?W=ee:Q.sibling=ee,Q=ee,H=U}if(X===E.length)return n(_,H),gt&&uo(_,X),W;if(H===null){for(;XX?(U=H,H=null):U=H.sibling;var ce=y(_,H,ee.value,z);if(ce===null){H===null&&(H=U);break}t&&H&&ce.alternate===null&&e(_,H),b=s(ce,b,X),Q===null?W=ce:Q.sibling=ce,Q=ce,H=U}if(ee.done)return n(_,H),gt&&uo(_,X),W;if(H===null){for(;!ee.done;X++,ee=E.next())ee=p(_,ee.value,z),ee!==null&&(b=s(ee,b,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return gt&&uo(_,X),W}for(H=r(_,H);!ee.done;X++,ee=E.next())ee=w(H,_,X,ee.value,z),ee!==null&&(t&&ee.alternate!==null&&H.delete(ee.key===null?X:ee.key),b=s(ee,b,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return t&&H.forEach(function(de){return e(_,de)}),gt&&uo(_,X),W}function $(_,b,E,z){if(typeof E=="object"&&E!==null&&E.type===ca&&E.key===null&&(E=E.props.children),typeof E=="object"&&E!==null){switch(E.$$typeof){case Vc:e:{for(var W=E.key,Q=b;Q!==null;){if(Q.key===W){if(W=E.type,W===ca){if(Q.tag===7){n(_,Q.sibling),b=i(Q,E.props.children),b.return=_,_=b;break e}}else if(Q.elementType===W||typeof W=="object"&&W!==null&&W.$$typeof===us&&i_(W)===Q.type){n(_,Q.sibling),b=i(Q,E.props),b.ref=Ru(_,Q,E),b.return=_,_=b;break e}n(_,Q);break}else e(_,Q);Q=Q.sibling}E.type===ca?(b=Io(E.props.children,_.mode,z,E.key),b.return=_,_=b):(z=kf(E.type,E.key,E.props,null,_.mode,z),z.ref=Ru(_,b,E),z.return=_,_=z)}return o(_);case la:e:{for(Q=E.key;b!==null;){if(b.key===Q)if(b.tag===4&&b.stateNode.containerInfo===E.containerInfo&&b.stateNode.implementation===E.implementation){n(_,b.sibling),b=i(b,E.children||[]),b.return=_,_=b;break e}else{n(_,b);break}else e(_,b);b=b.sibling}b=Jp(E,_.mode,z),b.return=_,_=b}return o(_);case us:return Q=E._init,$(_,b,Q(E._payload),z)}if($u(E))return I(_,b,E,z);if(Du(E))return O(_,b,E,z);ef(_,E)}return typeof E=="string"&&E!==""||typeof E=="number"?(E=""+E,b!==null&&b.tag===6?(n(_,b.sibling),b=i(b,E),b.return=_,_=b):(n(_,b),b=Gp(E,_.mode,z),b.return=_,_=b),o(_)):n(_,b)}return $}var Ba=ZS(!0),eI=ZS(!1),ql={},ui=Us(ql),_l=Us(ql),bl=Us(ql);function po(t){if(t===ql)throw Error(Z(174));return t}function Hv(t,e){switch(ut(bl,e),ut(_l,t),ut(ui,ql),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:$m(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=$m(e,t)}mt(ui),ut(ui,e)}function Fa(){mt(ui),mt(_l),mt(bl)}function tI(t){po(bl.current);var e=po(ui.current),n=$m(e,t.type);e!==n&&(ut(_l,t),ut(ui,n))}function Qv(t){_l.current===t&&(mt(ui),mt(_l))}var bt=Us(0);function rd(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Kp=[];function Yv(){for(var t=0;tn?n:4,t(!0);var r=Wp.transition;Wp.transition={};try{t(!1),e()}finally{Ge=n,Wp.transition=r}}function vI(){return gr().memoizedState}function YA(t,e,n){var r=Os(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},gI(t))wI(e,n);else if(n=YS(t,e,n,r),n!==null){var i=yn();xr(n,t,r,i),_I(n,e,r)}}function GA(t,e,n){var r=Os(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(gI(t))wI(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,n);if(i.hasEagerState=!0,i.eagerState=a,Pr(a,o)){var l=e.interleaved;l===null?(i.next=i,Wv(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}finally{}n=YS(t,e,i,r),n!==null&&(i=yn(),xr(n,t,r,i),_I(n,e,r))}}function gI(t){var e=t.alternate;return t===It||e!==null&&e===It}function wI(t,e){Gu=id=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function _I(t,e,n){if(n&4194240){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,Pv(t,n)}}var sd={readContext:vr,useCallback:sn,useContext:sn,useEffect:sn,useImperativeHandle:sn,useInsertionEffect:sn,useLayoutEffect:sn,useMemo:sn,useReducer:sn,useRef:sn,useState:sn,useDebugValue:sn,useDeferredValue:sn,useTransition:sn,useMutableSource:sn,useSyncExternalStore:sn,useId:sn,unstable_isNewReconciler:!1},JA={readContext:vr,useCallback:function(t,e){return qr().memoizedState=[t,e===void 0?null:e],t},useContext:vr,useEffect:o_,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,Sf(4194308,4,dI.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Sf(4194308,4,t,e)},useInsertionEffect:function(t,e){return Sf(4,2,t,e)},useMemo:function(t,e){var n=qr();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var r=qr();return e=n!==void 0?n(e):e,r.memoizedState=r.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},r.queue=t,t=t.dispatch=YA.bind(null,It,t),[r.memoizedState,t]},useRef:function(t){var e=qr();return t={current:t},e.memoizedState=t},useState:s_,useDebugValue:eg,useDeferredValue:function(t){return qr().memoizedState=t},useTransition:function(){var t=s_(!1),e=t[0];return t=QA.bind(null,t[1]),qr().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var r=It,i=qr();if(gt){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=e(),Qt===null)throw Error(Z(349));Po&30||iI(r,e,n)}i.memoizedState=n;var s={value:n,getSnapshot:e};return i.queue=s,o_(oI.bind(null,r,s,t),[t]),r.flags|=2048,El(9,sI.bind(null,r,s,n,e),void 0,null),n},useId:function(){var t=qr(),e=Qt.identifierPrefix;if(gt){var n=xi,r=Di;n=(r&~(1<<32-Dr(r)-1)).toString(32)+n,e=":"+e+"R"+n,n=Sl++,0")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=a);break}}}finally{xp=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?Lu(t):""}function kA(t){switch(t.tag){case 5:return Lu(t.type);case 16:return Lu("Lazy");case 13:return Lu("Suspense");case 19:return Lu("SuspenseList");case 0:case 2:case 15:return t=Ap(t.type,!1),t;case 11:return t=Ap(t.type.render,!1),t;case 1:return t=Ap(t.type,!0),t;default:return""}}function Mm(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case la:return"Fragment";case ua:return"Portal";case Pm:return"Profiler";case kv:return"StrictMode";case Rm:return"Suspense";case Tm:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case J1:return(t.displayName||"Context")+".Consumer";case G1:return(t._context.displayName||"Context")+".Provider";case Dv:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case xv:return e=t.displayName||null,e!==null?e:Mm(t.type)||"Memo";case us:e=t._payload,t=t._init;try{return Mm(t(e))}catch{}}return null}function DA(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Mm(e);case 8:return e===kv?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Ps(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Z1(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function xA(t){var e=Z1(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,s=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Vc(t){t._valueTracker||(t._valueTracker=xA(t))}function eS(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=Z1(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function Uf(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Nm(t,e){var n=e.checked;return Et({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Iw(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=Ps(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function tS(t,e){e=e.checked,e!=null&&Ov(t,"checked",e,!1)}function Bm(t,e){tS(t,e);var n=Ps(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Fm(t,e.type,n):e.hasOwnProperty("defaultValue")&&Fm(t,e.type,Ps(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function Ew(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Fm(t,e,n){(e!=="number"||Uf(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var $u=Array.isArray;function ba(t,e,n,r){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=Kc.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function cl(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var Wu={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},AA=["Webkit","ms","Moz","O"];Object.keys(Wu).forEach(function(t){AA.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Wu[e]=Wu[t]})});function sS(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||Wu.hasOwnProperty(t)&&Wu[t]?(""+e).trim():e+"px"}function oS(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=sS(n,e[n],r);n==="float"&&(n="cssFloat"),r?t.setProperty(n,i):t[n]=i}}var CA=Et({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function jm(t,e){if(e){if(CA[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Z(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Z(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Z(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Z(62))}}function Um(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var zm=null;function Av(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Vm=null,Sa=null,Ia=null;function Dw(t){if(t=Wl(t)){if(typeof Vm!="function")throw Error(Z(280));var e=t.stateNode;e&&(e=lh(e),Vm(t.stateNode,t.type,e))}}function aS(t){Sa?Ia?Ia.push(t):Ia=[t]:Sa=t}function uS(){if(Sa){var t=Sa,e=Ia;if(Ia=Sa=null,Dw(t),e)for(t=0;t>>=0,t===0?32:31-(UA(t)/zA|0)|0}var Wc=64,qc=4194304;function ju(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Wf(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,i=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var a=o&~i;a!==0?r=ju(a):(s&=o,s!==0&&(r=ju(s)))}else o=n&~i,o!==0?r=ju(o):s!==0&&(r=ju(s));if(r===0)return 0;if(e!==0&&e!==r&&!(e&i)&&(i=r&-r,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if(r&4&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0n;n++)e.push(t);return e}function Vl(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-Dr(e),t[e]=n}function qA(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=Hu),Bw=String.fromCharCode(32),Fw=!1;function xS(t,e){switch(t){case"keyup":return _C.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function AS(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ca=!1;function SC(t,e){switch(t){case"compositionend":return AS(e);case"keypress":return e.which!==32?null:(Fw=!0,Bw);case"textInput":return t=e.data,t===Bw&&Fw?null:t;default:return null}}function IC(t,e){if(ca)return t==="compositionend"||!Fv&&xS(t,e)?(t=kS(),gf=Mv=ms=null,ca=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Uw(n)}}function TS(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?TS(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function MS(){for(var t=window,e=Uf();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=Uf(t.document)}return e}function Lv(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function RC(t){var e=MS(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&TS(n.ownerDocument.documentElement,n)){if(r!==null&&Lv(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,s=Math.min(r.start,i);r=r.end===void 0?s:Math.min(r.end,i),!t.extend&&s>r&&(i=r,r=s,s=i),i=zw(n,s);var o=zw(n,r);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,fa=null,Ym=null,Yu=null,Gm=!1;function Vw(t,e,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Gm||fa==null||fa!==Uf(r)||(r=fa,"selectionStart"in r&&Lv(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Yu&&yl(Yu,r)||(Yu=r,r=Qf(Ym,"onSelect"),0pa||(t.current=ny[pa],ny[pa]=null,pa--)}function ut(t,e){pa++,ny[pa]=t.current,t.current=e}var Rs={},ln=Us(Rs),Dn=Us(!1),Ao=Rs;function Ta(t,e){var n=t.type.contextTypes;if(!n)return Rs;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function xn(t){return t=t.childContextTypes,t!=null}function Gf(){mt(Dn),mt(ln)}function Gw(t,e,n){if(ln.current!==Rs)throw Error(Z(168));ut(ln,e),ut(Dn,n)}function VS(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(Z(108,DA(t)||"Unknown",i));return Et({},n,r)}function Jf(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Rs,Ao=ln.current,ut(ln,t),ut(Dn,Dn.current),!0}function Jw(t,e,n){var r=t.stateNode;if(!r)throw Error(Z(169));n?(t=VS(t,e,Ao),r.__reactInternalMemoizedMergedChildContext=t,mt(Dn),mt(ln),ut(ln,t)):mt(Dn),ut(Dn,n)}var Ei=null,ch=!1,Vp=!1;function KS(t){Ei===null?Ei=[t]:Ei.push(t)}function KC(t){ch=!0,KS(t)}function zs(){if(!Vp&&Ei!==null){Vp=!0;var t=0,e=Ge;try{var n=Ei;for(Ge=1;t>=o,i-=o,xi=1<<32-Dr(e)+i|n<X?(U=H,H=null):U=H.sibling;var ee=y(S,H,k[X],z);if(ee===null){H===null&&(H=U);break}t&&H&&ee.alternate===null&&e(S,H),_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee,H=U}if(X===k.length)return n(S,H),gt&&uo(S,X),W;if(H===null){for(;XX?(U=H,H=null):U=H.sibling;var ce=y(S,H,ee.value,z);if(ce===null){H===null&&(H=U);break}t&&H&&ce.alternate===null&&e(S,H),_=s(ce,_,X),Q===null?W=ce:Q.sibling=ce,Q=ce,H=U}if(ee.done)return n(S,H),gt&&uo(S,X),W;if(H===null){for(;!ee.done;X++,ee=k.next())ee=m(S,ee.value,z),ee!==null&&(_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return gt&&uo(S,X),W}for(H=r(S,H);!ee.done;X++,ee=k.next())ee=w(H,S,X,ee.value,z),ee!==null&&(t&&ee.alternate!==null&&H.delete(ee.key===null?X:ee.key),_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return t&&H.forEach(function(de){return e(S,de)}),gt&&uo(S,X),W}function F(S,_,k,z){if(typeof k=="object"&&k!==null&&k.type===la&&k.key===null&&(k=k.props.children),typeof k=="object"&&k!==null){switch(k.$$typeof){case zc:e:{for(var W=k.key,Q=_;Q!==null;){if(Q.key===W){if(W=k.type,W===la){if(Q.tag===7){n(S,Q.sibling),_=i(Q,k.props.children),_.return=S,S=_;break e}}else if(Q.elementType===W||typeof W=="object"&&W!==null&&W.$$typeof===us&&i_(W)===Q.type){n(S,Q.sibling),_=i(Q,k.props),_.ref=Ru(S,Q,k),_.return=S,S=_;break e}n(S,Q);break}else e(S,Q);Q=Q.sibling}k.type===la?(_=Io(k.props.children,S.mode,z,k.key),_.return=S,S=_):(z=kf(k.type,k.key,k.props,null,S.mode,z),z.ref=Ru(S,_,k),z.return=S,S=z)}return o(S);case ua:e:{for(Q=k.key;_!==null;){if(_.key===Q)if(_.tag===4&&_.stateNode.containerInfo===k.containerInfo&&_.stateNode.implementation===k.implementation){n(S,_.sibling),_=i(_,k.children||[]),_.return=S,S=_;break e}else{n(S,_);break}else e(S,_);_=_.sibling}_=Jp(k,S.mode,z),_.return=S,S=_}return o(S);case us:return Q=k._init,F(S,_,Q(k._payload),z)}if($u(k))return I(S,_,k,z);if(Du(k))return E(S,_,k,z);Zc(S,k)}return typeof k=="string"&&k!==""||typeof k=="number"?(k=""+k,_!==null&&_.tag===6?(n(S,_.sibling),_=i(_,k),_.return=S,S=_):(n(S,_),_=Gp(k,S.mode,z),_.return=S,S=_),o(S)):n(S,_)}return F}var Na=XS(!0),ZS=XS(!1),ql={},ui=Us(ql),_l=Us(ql),bl=Us(ql);function po(t){if(t===ql)throw Error(Z(174));return t}function Hv(t,e){switch(ut(bl,e),ut(_l,t),ut(ui,ql),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:$m(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=$m(e,t)}mt(ui),ut(ui,e)}function Ba(){mt(ui),mt(_l),mt(bl)}function eI(t){po(bl.current);var e=po(ui.current),n=$m(e,t.type);e!==n&&(ut(_l,t),ut(ui,n))}function Qv(t){_l.current===t&&(mt(ui),mt(_l))}var bt=Us(0);function rd(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Kp=[];function Yv(){for(var t=0;tn?n:4,t(!0);var r=Wp.transition;Wp.transition={};try{t(!1),e()}finally{Ge=n,Wp.transition=r}}function yI(){return gr().memoizedState}function QC(t,e,n){var r=Os(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},vI(t))gI(e,n);else if(n=QS(t,e,n,r),n!==null){var i=yn();xr(n,t,r,i),wI(n,e,r)}}function YC(t,e,n){var r=Os(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(vI(t))gI(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,n);if(i.hasEagerState=!0,i.eagerState=a,Pr(a,o)){var l=e.interleaved;l===null?(i.next=i,Wv(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}finally{}n=QS(t,e,i,r),n!==null&&(i=yn(),xr(n,t,r,i),wI(n,e,r))}}function vI(t){var e=t.alternate;return t===It||e!==null&&e===It}function gI(t,e){Gu=id=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function wI(t,e,n){if(n&4194240){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,Pv(t,n)}}var sd={readContext:vr,useCallback:sn,useContext:sn,useEffect:sn,useImperativeHandle:sn,useInsertionEffect:sn,useLayoutEffect:sn,useMemo:sn,useReducer:sn,useRef:sn,useState:sn,useDebugValue:sn,useDeferredValue:sn,useTransition:sn,useMutableSource:sn,useSyncExternalStore:sn,useId:sn,unstable_isNewReconciler:!1},GC={readContext:vr,useCallback:function(t,e){return Wr().memoizedState=[t,e===void 0?null:e],t},useContext:vr,useEffect:o_,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,Sf(4194308,4,fI.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Sf(4194308,4,t,e)},useInsertionEffect:function(t,e){return Sf(4,2,t,e)},useMemo:function(t,e){var n=Wr();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var r=Wr();return e=n!==void 0?n(e):e,r.memoizedState=r.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},r.queue=t,t=t.dispatch=QC.bind(null,It,t),[r.memoizedState,t]},useRef:function(t){var e=Wr();return t={current:t},e.memoizedState=t},useState:s_,useDebugValue:eg,useDeferredValue:function(t){return Wr().memoizedState=t},useTransition:function(){var t=s_(!1),e=t[0];return t=HC.bind(null,t[1]),Wr().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var r=It,i=Wr();if(gt){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=e(),Qt===null)throw Error(Z(349));Po&30||rI(r,e,n)}i.memoizedState=n;var s={value:n,getSnapshot:e};return i.queue=s,o_(sI.bind(null,r,s,t),[t]),r.flags|=2048,El(9,iI.bind(null,r,s,n,e),void 0,null),n},useId:function(){var t=Wr(),e=Qt.identifierPrefix;if(gt){var n=Ai,r=xi;n=(r&~(1<<32-Dr(r)-1)).toString(32)+n,e=":"+e+"R"+n,n=Sl++,0<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[Gr]=e,t[wl]=r,CI(t,e,!1,!1),e.stateNode=t;e:{switch(o=Um(n,r),n){case"dialog":ht("cancel",t),ht("close",t),i=r;break;case"iframe":case"object":case"embed":ht("load",t),i=r;break;case"video":case"audio":for(i=0;i$a&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304)}else{if(!r)if(t=rd(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),Tu(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!gt)return on(e),null}else 2*Tt()-s.renderingStartTime>$a&&n!==1073741824&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Tt(),e.sibling=null,n=bt.current,ut(bt,r?n&1|2:n&1),e):(on(e),null);case 22:case 23:return og(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&e.mode&1?Wn&1073741824&&(on(e),e.subtreeFlags&6&&(e.flags|=8192)):on(e),null;case 24:return null;case 25:return null}throw Error(Z(156,e.tag))}function sP(t,e){switch(jv(e),e.tag){case 1:return xn(e.type)&&Gf(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Fa(),mt(Dn),mt(ln),Yv(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return Qv(e),null;case 13:if(mt(bt),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(Z(340));Na()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return mt(bt),null;case 4:return Fa(),null;case 10:return Kv(e.type._context),null;case 22:case 23:return og(),null;case 24:return null;default:return null}}var nf=!1,an=!1,oP=typeof WeakSet=="function"?WeakSet:Set,ae=null;function wa(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){At(t,e,r)}else n.current=null}function py(t,e,n){try{n()}catch(r){At(t,e,r)}}var m_=!1;function aP(t,e){if(Jm=qf,t=NS(),Lv(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,f=0,h=0,p=t,y=null;t:for(;;){for(var w;p!==n||i!==0&&p.nodeType!==3||(a=o+i),p!==s||r!==0&&p.nodeType!==3||(l=o+r),p.nodeType===3&&(o+=p.nodeValue.length),(w=p.firstChild)!==null;)y=p,p=w;for(;;){if(p===t)break t;if(y===n&&++f===i&&(a=o),y===s&&++h===r&&(l=o),(w=p.nextSibling)!==null)break;p=y,y=p.parentNode}p=w}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Xm={focusedElem:t,selectionRange:n},qf=!1,ae=e;ae!==null;)if(e=ae,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,ae=t;else for(;ae!==null;){e=ae;try{var I=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(I!==null){var O=I.memoizedProps,$=I.memoizedState,_=e.stateNode,b=_.getSnapshotBeforeUpdate(e.elementType===e.type?O:Sr(e.type,O),$);_.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var E=e.stateNode.containerInfo;E.nodeType===1?E.textContent="":E.nodeType===9&&E.documentElement&&E.removeChild(E.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(z){At(e,e.return,z)}if(t=e.sibling,t!==null){t.return=e.return,ae=t;break}ae=e.return}return I=m_,m_=!1,I}function Ju(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&py(e,n,s)}i=i.next}while(i!==r)}}function hh(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function my(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function RI(t){var e=t.alternate;e!==null&&(t.alternate=null,RI(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Gr],delete e[wl],delete e[ty],delete e[VA],delete e[KA])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function TI(t){return t.tag===5||t.tag===3||t.tag===4}function y_(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||TI(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function yy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Yf));else if(r!==4&&(t=t.child,t!==null))for(yy(t,e,n),t=t.sibling;t!==null;)yy(t,e,n),t=t.sibling}function vy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(vy(t,e,n),t=t.sibling;t!==null;)vy(t,e,n),t=t.sibling}var Xt=null,Ir=!1;function ss(t,e,n){for(n=n.child;n!==null;)MI(t,e,n),n=n.sibling}function MI(t,e,n){if(ai&&typeof ai.onCommitFiberUnmount=="function")try{ai.onCommitFiberUnmount(sh,n)}catch{}switch(n.tag){case 5:an||wa(n,e);case 6:var r=Xt,i=Ir;Xt=null,ss(t,e,n),Xt=r,Ir=i,Xt!==null&&(Ir?(t=Xt,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):Xt.removeChild(n.stateNode));break;case 18:Xt!==null&&(Ir?(t=Xt,n=n.stateNode,t.nodeType===8?zp(t.parentNode,n):t.nodeType===1&&zp(t,n),pl(t)):zp(Xt,n.stateNode));break;case 4:r=Xt,i=Ir,Xt=n.stateNode.containerInfo,Ir=!0,ss(t,e,n),Xt=r,Ir=i;break;case 0:case 11:case 14:case 15:if(!an&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&py(n,e,o),i=i.next}while(i!==r)}ss(t,e,n);break;case 1:if(!an&&(wa(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){At(n,e,a)}ss(t,e,n);break;case 21:ss(t,e,n);break;case 22:n.mode&1?(an=(r=an)||n.memoizedState!==null,ss(t,e,n),an=r):ss(t,e,n);break;default:ss(t,e,n)}}function v_(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new oP),e.forEach(function(r){var i=yP.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function _r(t,e){var n=e.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~s}if(r=i,r=Tt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*lP(r/1960))-r,10t?16:t,ys===null)var r=!1;else{if(t=ys,ys=null,ud=0,Fe&6)throw Error(Z(331));var i=Fe;for(Fe|=4,ae=t.current;ae!==null;){var s=ae,o=s.child;if(ae.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lTt()-ig?So(t,0):rg|=n),Cn(t,e)}function zI(t,e){e===0&&(t.mode&1?(e=Hc,Hc<<=1,!(Hc&130023424)&&(Hc=4194304)):e=1);var n=yn();t=Li(t,e),t!==null&&(Vl(t,e,n),Cn(t,n))}function mP(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),zI(t,n)}function yP(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(e),zI(t,n)}var VI;VI=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||Dn.current)kn=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return kn=!1,rP(t,e,n);kn=!!(t.flags&131072)}else kn=!1,gt&&e.flags&1048576&&qS(e,Zf,e.index);switch(e.lanes=0,e.tag){case 2:var r=e.type;If(t,e),t=e.pendingProps;var i=Ma(e,ln.current);ka(e,n),i=Jv(null,e,r,t,i,n);var s=Xv();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,xn(r)?(s=!0,Jf(e)):s=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,qv(e),i.updater=fh,e.stateNode=i,i._reactInternals=e,ay(e,r,t,n),e=cy(null,e,r,!0,s,n)):(e.tag=0,gt&&s&&$v(e),dn(null,e,i,n),e=e.child),e;case 16:r=e.elementType;e:{switch(If(t,e),t=e.pendingProps,i=r._init,r=i(r._payload),e.type=r,i=e.tag=gP(r),t=Sr(r,t),i){case 0:e=ly(null,e,r,t,n);break e;case 1:e=d_(null,e,r,t,n);break e;case 11:e=c_(null,e,r,t,n);break e;case 14:e=f_(null,e,r,Sr(r.type,t),n);break e}throw Error(Z(306,r,""))}return e;case 0:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),ly(t,e,r,i,n);case 1:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),d_(t,e,r,i,n);case 3:e:{if(kI(e),t===null)throw Error(Z(387));r=e.pendingProps,s=e.memoizedState,i=s.element,GS(t,e),nd(e,r,null,n);var o=e.memoizedState;if(r=o.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){i=La(Error(Z(423)),e),e=h_(t,e,r,n,i);break e}else if(r!==i){i=La(Error(Z(424)),e),e=h_(t,e,r,n,i);break e}else for(Yn=Ss(e.stateNode.containerInfo.firstChild),Jn=e,gt=!0,Or=null,n=eI(e,null,r,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Na(),r===i){e=$i(t,e,n);break e}dn(t,e,r,n)}e=e.child}return e;case 5:return tI(e),t===null&&iy(e),r=e.type,i=e.pendingProps,s=t!==null?t.memoizedProps:null,o=i.children,Zm(r,i)?o=null:s!==null&&Zm(r,s)&&(e.flags|=32),OI(t,e),dn(t,e,o,n),e.child;case 6:return t===null&&iy(e),null;case 13:return DI(t,e,n);case 4:return Hv(e,e.stateNode.containerInfo),r=e.pendingProps,t===null?e.child=Ba(e,null,r,n):dn(t,e,r,n),e.child;case 11:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),c_(t,e,r,i,n);case 7:return dn(t,e,e.pendingProps,n),e.child;case 8:return dn(t,e,e.pendingProps.children,n),e.child;case 12:return dn(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(r=e.type._context,i=e.pendingProps,s=e.memoizedProps,o=i.value,ut(ed,r._currentValue),r._currentValue=o,s!==null)if(Pr(s.value,o)){if(s.children===i.children&&!Dn.current){e=$i(t,e,n);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(s.tag===1){l=Pi(-1,n&-n),l.tag=2;var f=s.updateQueue;if(f!==null){f=f.shared;var h=f.pending;h===null?l.next=l:(l.next=h.next,h.next=l),f.pending=l}}s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),sy(s.return,n,e),a.lanes|=n;break}l=l.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(Z(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),sy(o,n,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}dn(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,r=e.pendingProps.children,ka(e,n),i=vr(i),r=r(i),e.flags|=1,dn(t,e,r,n),e.child;case 14:return r=e.type,i=Sr(r,e.pendingProps),i=Sr(r.type,i),f_(t,e,r,i,n);case 15:return II(t,e,e.type,e.pendingProps,n);case 17:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),If(t,e),e.tag=1,xn(r)?(t=!0,Jf(e)):t=!1,ka(e,n),XS(e,r,i),ay(e,r,i,n),cy(null,e,r,!0,t,n);case 19:return xI(t,e,n);case 22:return EI(t,e,n)}throw Error(Z(156,e.tag))};function KI(t,e){return yS(t,e)}function vP(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function mr(t,e,n,r){return new vP(t,e,n,r)}function ug(t){return t=t.prototype,!(!t||!t.isReactComponent)}function gP(t){if(typeof t=="function")return ug(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Dv)return 11;if(t===xv)return 14}return 2}function ks(t,e){var n=t.alternate;return n===null?(n=mr(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function kf(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")ug(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case ca:return Io(n.children,i,s,e);case kv:o=8,i|=8;break;case Pm:return t=mr(12,n,e,i|2),t.elementType=Pm,t.lanes=s,t;case Rm:return t=mr(13,n,e,i),t.elementType=Rm,t.lanes=s,t;case Tm:return t=mr(19,n,e,i),t.elementType=Tm,t.lanes=s,t;case Z1:return mh(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case J1:o=10;break e;case X1:o=9;break e;case Dv:o=11;break e;case xv:o=14;break e;case us:o=16,r=null;break e}throw Error(Z(130,t==null?t:typeof t,""))}return e=mr(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Io(t,e,n,r){return t=mr(7,t,r,e),t.lanes=n,t}function mh(t,e,n,r){return t=mr(22,t,r,e),t.elementType=Z1,t.lanes=n,t.stateNode={isHidden:!1},t}function Gp(t,e,n){return t=mr(6,t,null,e),t.lanes=n,t}function Jp(t,e,n){return e=mr(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function wP(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pp(0),this.expirationTimes=Pp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pp(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function lg(t,e,n,r,i,s,o,a,l){return t=new wP(t,e,n,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=mr(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},qv(s),t}function _P(t,e,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(QI)}catch(t){console.error(t)}}QI(),q1.exports=nr;var OP=q1.exports,YI,O_=OP;YI=O_.createRoot,O_.hydrateRoot;var Sy=function(t,e){return Sy=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},Sy(t,e)};function pi(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Sy(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function tt(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}function re(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function ve(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(h){try{f(r.next(h))}catch(p){o(p)}}function l(h){try{f(r.throw(h))}catch(p){o(p)}}function f(h){h.done?s(h.value):i(h.value).then(a,l)}f((r=r.apply(t,e||[])).next())})}function GI(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(f){return function(h){return l([f,h])}}function l(f){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,f[0]&&(n=0)),n;)try{if(r=1,i&&(s=f[0]&2?i.return:f[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,f[1])).done)return s;switch(i=0,s&&(f=[f[0]&2,s.value]),f[0]){case 0:case 1:s=f;break;case 4:return n.label++,{value:f[1],done:!1};case 5:n.label++,i=f[1],f=[0];continue;case 7:f=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(f[0]===6||f[0]===2)){n=0;continue}if(f[0]===3&&(!s||f[1]>s[0]&&f[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Rr(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function ci(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r1||a(y,w)})})}function a(y,w){try{l(r[y](w))}catch(I){p(s[0][3],I)}}function l(y){y.value instanceof ge?Promise.resolve(y.value.v).then(f,h):p(s[0][2],y)}function f(y){a("next",y)}function h(y){a("throw",y)}function p(y,w){y(w),s.shift(),s.length&&a(s[0][0],s[0][1])}}function Df(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(o){return(n=!n)?{value:ge(t[i](o)),done:!1}:s?s(o):o}:s}}function Ds(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof ja=="function"?ja(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(f){s({value:f,done:a})},o)}}function kl(t){"@babel/helpers - typeof";return kl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kl(t)}function kP(t,e){if(kl(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e||"default");if(kl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function DP(t){var e=kP(t,"string");return kl(e)=="symbol"?e:String(e)}function k_(t,e){for(var n=0;nr[t]:r=>{for(var i=r,s=0;s"u")return i}return i}}function RP(t){var e={};for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n))if(typeof t[n]=="object"){var r=RP(t[n]);for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[n+"."+i]=r[i])}else e[n]=t[n];return e}function $e(t){return Object.assign({},t)}function TP(t){return Object.keys(t)[0]}function fd(t,e=!1){if(!t)return t;if(!e&&Array.isArray(t))return t.sort((r,i)=>typeof r=="string"&&typeof i=="string"?r.localeCompare(i):typeof r=="object"?1:-1).map(r=>fd(r,e));if(typeof t=="object"&&!Array.isArray(t)){var n={};return Object.keys(t).sort((r,i)=>r.localeCompare(i)).forEach(r=>{n[r]=fd(t[r],e)}),n}return t}function Iy(t){if(!t||t===null||typeof t!="object")return t;if(Array.isArray(t)){for(var e=new Array(t.length),n=e.length;n--;)e[n]=Iy(t[n]);return e}var r={};for(var i in t)r[i]=Iy(t[i]);return r}var Pn=Iy;function xs(t,e,n){return Object.defineProperty(t,e,{get:function(){return n}}),n}var pg=1;function Ks(){return{lwt:pg}}function Rn(){return""}function MP(t){return Object.assign({},t,{_meta:void 0,_deleted:void 0,_rev:void 0})}function NP(t,e,n){if(e.length!==n.length)return!1;for(var r=0,i=e.length;r>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=e.words[n>>>2];return this.sigBytes+=e.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new Cs([...this.words])}}const BP={stringify(t){const e=[];for(let n=0;n>>2]>>>24-n%4*8&255;e.push((r>>>4).toString(16),(r&15).toString(16))}return e.join("")}},FP={parse(t){const e=t.length,n=[];for(let r=0;r>>2]|=(t.charCodeAt(r)&255)<<24-r%4*8;return new Cs(n,e)}},LP={parse(t){return FP.parse(unescape(encodeURIComponent(t)))}};class $P{constructor(){this._data=new Cs,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new Cs,this._nDataBytes=0}_append(e){typeof e=="string"&&(e=LP.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_doProcessBlock(e,n){}_process(e){let n,r=this._data.sigBytes/(this.blockSize*4);e?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const i=r*this.blockSize,s=Math.min(i*4,this._data.sigBytes);if(i){for(let o=0;o>>7)^(E<<14|E>>>18)^E>>>3,W=so[y-2],Q=(W<<15|W>>>17)^(W<<13|W>>>19)^W>>>10;so[y]=z+so[y-7]+Q+so[y-16]}const w=l&f^~l&h,I=i&s^i&o^s&o,O=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),$=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),_=p+$+w+UP[y]+so[y],b=O+I;p=h,h=f,f=l,l=a+_|0,a=o,o=s,s=i,i=_+b|0}r[0]=r[0]+i|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+l|0,r[5]=r[5]+f|0,r[6]=r[6]+h|0,r[7]=r[7]+p|0}finalize(e){super.finalize(e);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function VP(t){return new zP().finalize(t).toString()}function KP(t){return Promise.resolve(VP(t))}async function WP(t){var e=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",e),r=Array.prototype.map.call(new Uint8Array(n),i=>("00"+i.toString(16)).slice(-2)).join("");return r}var qP=typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof crypto.subtle.digest=="function",HP=qP?WP:KP;function QP(){return new Promise(t=>setTimeout(t,0))}function YP(t=0){return new Promise(e=>setTimeout(e,t))}function ZI(t){return t&&typeof t.then=="function"?t:Promise.resolve(t)}var dd=Promise.resolve(!0),Gn=Promise.resolve(!1),mg=Promise.resolve(null),un=Promise.resolve();function yg(t=1e4){return typeof requestIdleCallback=="function"?new Promise(e=>{requestIdleCallback(()=>e(),{timeout:t})}):YP(0)}var Zp=un;function GP(t=void 0){return Zp=Zp.then(()=>yg(t)),Zp}function JP(t,e){return t.reduce((n,r)=>n.then(r),Promise.resolve(e))}var XP=/\./g,C_="abcdefghijklmnopqrstuvwxyz";function su(t=10){for(var e="",n=0;n{var e=typeof t;return t!==null&&(e==="object"||e==="function")},em=new Set(["__proto__","prototype","constructor"]),ZP=new Set("0123456789");function tE(t){var e=[],n="",r="start",i=!1;for(var s of t)switch(s){case"\\":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");i&&(n+=s),r="property",i=!i;break}case".":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="property";break}if(i){i=!1,n+=s;break}if(em.has(n))return[];e.push(n),n="",r="property";break}case"[":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="index";break}if(i){i=!1,n+=s;break}if(r==="property"){if(em.has(n))return[];e.push(n),n=""}r="index";break}case"]":{if(r==="index"){e.push(Number.parseInt(n,10)),n="",r="indexEnd";break}if(r==="indexEnd")throw new Error("Invalid character after an index")}default:{if(r==="index"&&!ZP.has(s))throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");r==="start"&&(r="property"),i&&(i=!1,n+="\\"),n+=s}}switch(i&&(n+="\\"),r){case"property":{if(em.has(n))return[];e.push(n);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}function nE(t,e){if(typeof e!="number"&&Array.isArray(t)){var n=Number.parseInt(e,10);return Number.isInteger(n)&&t[n]===t[e]}return!1}function eR(t,e){if(nE(t,e))throw new Error("Cannot use string index")}function Ts(t,e,n){if(Array.isArray(e)&&(e=e.join(".")),!e.includes(".")&&!e.includes("["))return t[e];if(!Ey(t)||typeof e!="string")return n===void 0?t:n;var r=tE(e);if(r.length===0)return n;for(var i=0;i"u")throw new Error("missing value from map "+e);return n}function Tr(t,e,n,r){var i=t.get(e);return typeof i>"u"?(i=n(),t.set(e,i)):r&&r(i),i}function pt(t){var e=t.split("-"),n="RxDB";return e.forEach(r=>{n+=eE(r)}),n+="Plugin",new Error(`You are using a function which must be overwritten by a plugin. +`+s.stack}return{value:t,source:e,stack:i,digest:null}}function Qp(t,e,n){return{value:t,source:null,stack:n??null,digest:e??null}}function uy(t,e){try{console.error(e.value)}catch(n){setTimeout(function(){throw n})}}var ZC=typeof WeakMap=="function"?WeakMap:Map;function _I(t,e,n){n=Ri(-1,n),n.tag=3,n.payload={element:null};var r=e.value;return n.callback=function(){ad||(ad=!0,gy=r),uy(t,e)},n}function bI(t,e,n){n=Ri(-1,n),n.tag=3;var r=t.type.getDerivedStateFromError;if(typeof r=="function"){var i=e.value;n.payload=function(){return r(i)},n.callback=function(){uy(t,e)}}var s=t.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){uy(t,e),typeof r!="function"&&(Es===null?Es=new Set([this]):Es.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),n}function a_(t,e,n){var r=t.pingCache;if(r===null){r=t.pingCache=new ZC;var i=new Set;r.set(e,i)}else i=r.get(e),i===void 0&&(i=new Set,r.set(e,i));i.has(n)||(i.add(n),t=hP.bind(null,t,e,n),e.then(t,t))}function u_(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function l_(t,e,n,r,i){return t.mode&1?(t.flags|=65536,t.lanes=i,t):(t===e?t.flags|=65536:(t.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(e=Ri(-1,1),e.tag=2,Is(n,e,1))),n.lanes|=1),t)}var eP=Qi.ReactCurrentOwner,kn=!1;function dn(t,e,n,r){e.child=t===null?ZS(e,null,n,r):Na(e,t.child,n,r)}function c_(t,e,n,r,i){n=n.render;var s=e.ref;return Oa(e,i),r=Jv(t,e,n,r,s,i),n=Xv(),t!==null&&!kn?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,ji(t,e,i)):(gt&&n&&$v(e),e.flags|=1,dn(t,e,r,i),e.child)}function f_(t,e,n,r,i){if(t===null){var s=n.type;return typeof s=="function"&&!ug(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(e.tag=15,e.type=s,SI(t,e,s,r,i)):(t=kf(n.type,null,r,e,e.mode,i),t.ref=e.ref,t.return=e,e.child=t)}if(s=t.child,!(t.lanes&i)){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:yl,n(o,r)&&t.ref===e.ref)return ji(t,e,i)}return e.flags|=1,t=ks(s,r),t.ref=e.ref,t.return=e,e.child=t}function SI(t,e,n,r,i){if(t!==null){var s=t.memoizedProps;if(yl(s,r)&&t.ref===e.ref)if(kn=!1,e.pendingProps=r=s,(t.lanes&i)!==0)t.flags&131072&&(kn=!0);else return e.lanes=t.lanes,ji(t,e,i)}return ly(t,e,n,r,i)}function II(t,e,n){var r=e.pendingProps,i=r.children,s=t!==null?t.memoizedState:null;if(r.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},ut(wa,Wn),Wn|=n;else{if(!(n&1073741824))return t=s!==null?s.baseLanes|n:n,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,ut(wa,Wn),Wn|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=s!==null?s.baseLanes:n,ut(wa,Wn),Wn|=r}else s!==null?(r=s.baseLanes|n,e.memoizedState=null):r=n,ut(wa,Wn),Wn|=r;return dn(t,e,i,n),e.child}function EI(t,e){var n=e.ref;(t===null&&n!==null||t!==null&&t.ref!==n)&&(e.flags|=512,e.flags|=2097152)}function ly(t,e,n,r,i){var s=xn(n)?Ao:ln.current;return s=Ta(e,s),Oa(e,i),n=Jv(t,e,n,r,s,i),r=Xv(),t!==null&&!kn?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,ji(t,e,i)):(gt&&r&&$v(e),e.flags|=1,dn(t,e,n,i),e.child)}function d_(t,e,n,r,i){if(xn(n)){var s=!0;Jf(e)}else s=!1;if(Oa(e,i),e.stateNode===null)If(t,e),JS(e,n,r),ay(e,n,r,i),r=!0;else if(t===null){var o=e.stateNode,a=e.memoizedProps;o.props=a;var l=o.context,f=n.contextType;typeof f=="object"&&f!==null?f=vr(f):(f=xn(n)?Ao:ln.current,f=Ta(e,f));var h=n.getDerivedStateFromProps,m=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function";m||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==r||l!==f)&&r_(e,o,r,f),ls=!1;var y=e.memoizedState;o.state=y,nd(e,r,o,i),l=e.memoizedState,a!==r||y!==l||Dn.current||ls?(typeof h=="function"&&(oy(e,n,h,r),l=e.memoizedState),(a=ls||n_(e,n,a,r,y,l,f))?(m||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=r,e.memoizedState=l),o.props=r,o.state=l,o.context=f,r=a):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),r=!1)}else{o=e.stateNode,YS(t,e),a=e.memoizedProps,f=e.type===e.elementType?a:Sr(e.type,a),o.props=f,m=e.pendingProps,y=o.context,l=n.contextType,typeof l=="object"&&l!==null?l=vr(l):(l=xn(n)?Ao:ln.current,l=Ta(e,l));var w=n.getDerivedStateFromProps;(h=typeof w=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==m||y!==l)&&r_(e,o,r,l),ls=!1,y=e.memoizedState,o.state=y,nd(e,r,o,i);var I=e.memoizedState;a!==m||y!==I||Dn.current||ls?(typeof w=="function"&&(oy(e,n,w,r),I=e.memoizedState),(f=ls||n_(e,n,f,r,y,I,l)||!1)?(h||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,I,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,I,l)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=1024),e.memoizedProps=r,e.memoizedState=I),o.props=r,o.state=I,o.context=l,r=f):(typeof o.componentDidUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=1024),r=!1)}return cy(t,e,n,r,s,i)}function cy(t,e,n,r,i,s){EI(t,e);var o=(e.flags&128)!==0;if(!r&&!o)return i&&Jw(e,n,!1),ji(t,e,s);r=e.stateNode,eP.current=e;var a=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return e.flags|=1,t!==null&&o?(e.child=Na(e,t.child,null,s),e.child=Na(e,null,a,s)):dn(t,e,a,s),e.memoizedState=r.state,i&&Jw(e,n,!0),e.child}function OI(t){var e=t.stateNode;e.pendingContext?Gw(t,e.pendingContext,e.pendingContext!==e.context):e.context&&Gw(t,e.context,!1),Hv(t,e.containerInfo)}function h_(t,e,n,r,i){return Ma(),Uv(i),e.flags|=256,dn(t,e,n,r),e.child}var fy={dehydrated:null,treeContext:null,retryLane:0};function dy(t){return{baseLanes:t,cachePool:null,transitions:null}}function kI(t,e,n){var r=e.pendingProps,i=bt.current,s=!1,o=(e.flags&128)!==0,a;if((a=o)||(a=t!==null&&t.memoizedState===null?!1:(i&2)!==0),a?(s=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(i|=1),ut(bt,i&1),t===null)return iy(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?(e.mode&1?t.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(o=r.children,t=r.fallback,s?(r=e.mode,s=e.child,o={mode:"hidden",children:o},!(r&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=mh(o,r,0,null),t=Io(t,r,n,null),s.return=e,t.return=e,s.sibling=t,e.child=s,e.child.memoizedState=dy(n),e.memoizedState=fy,t):tg(e,o));if(i=t.memoizedState,i!==null&&(a=i.dehydrated,a!==null))return tP(t,e,o,r,a,i,n);if(s){s=r.fallback,o=e.mode,i=t.child,a=i.sibling;var l={mode:"hidden",children:r.children};return!(o&1)&&e.child!==i?(r=e.child,r.childLanes=0,r.pendingProps=l,e.deletions=null):(r=ks(i,l),r.subtreeFlags=i.subtreeFlags&14680064),a!==null?s=ks(a,s):(s=Io(s,o,n,null),s.flags|=2),s.return=e,r.return=e,r.sibling=s,e.child=r,r=s,s=e.child,o=t.child.memoizedState,o=o===null?dy(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=t.childLanes&~n,e.memoizedState=fy,r}return s=t.child,t=s.sibling,r=ks(s,{mode:"visible",children:r.children}),!(e.mode&1)&&(r.lanes=n),r.return=e,r.sibling=null,t!==null&&(n=e.deletions,n===null?(e.deletions=[t],e.flags|=16):n.push(t)),e.child=r,e.memoizedState=null,r}function tg(t,e){return e=mh({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function ef(t,e,n,r){return r!==null&&Uv(r),Na(e,t.child,null,n),t=tg(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function tP(t,e,n,r,i,s,o){if(n)return e.flags&256?(e.flags&=-257,r=Qp(Error(Z(422))),ef(t,e,o,r)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(s=r.fallback,i=e.mode,r=mh({mode:"visible",children:r.children},i,0,null),s=Io(s,i,o,null),s.flags|=2,r.return=e,s.return=e,r.sibling=s,e.child=r,e.mode&1&&Na(e,t.child,null,o),e.child.memoizedState=dy(o),e.memoizedState=fy,s);if(!(e.mode&1))return ef(t,e,o,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var a=r.dgst;return r=a,s=Error(Z(419)),r=Qp(s,r,void 0),ef(t,e,o,r)}if(a=(o&t.childLanes)!==0,kn||a){if(r=Qt,r!==null){switch(o&-o){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|o)?0:i,i!==0&&i!==s.retryLane&&(s.retryLane=i,$i(t,i),xr(r,t,i,-1))}return ag(),r=Qp(Error(Z(421))),ef(t,e,o,r)}return i.data==="$?"?(e.flags|=128,e.child=t.child,e=pP.bind(null,t),i._reactRetry=e,null):(t=s.treeContext,Yn=Ss(i.nextSibling),Jn=e,gt=!0,Or=null,t!==null&&(fr[dr++]=xi,fr[dr++]=Ai,fr[dr++]=Co,xi=t.id,Ai=t.overflow,Co=e),e=tg(e,r.children),e.flags|=4096,e)}function p_(t,e,n){t.lanes|=e;var r=t.alternate;r!==null&&(r.lanes|=e),sy(t.return,e,n)}function Yp(t,e,n,r,i){var s=t.memoizedState;s===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=r,s.tail=n,s.tailMode=i)}function DI(t,e,n){var r=e.pendingProps,i=r.revealOrder,s=r.tail;if(dn(t,e,r.children,n),r=bt.current,r&2)r=r&1|2,e.flags|=128;else{if(t!==null&&t.flags&128)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&p_(t,n,e);else if(t.tag===19)p_(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}r&=1}if(ut(bt,r),!(e.mode&1))e.memoizedState=null;else switch(i){case"forwards":for(n=e.child,i=null;n!==null;)t=n.alternate,t!==null&&rd(t)===null&&(i=n),n=n.sibling;n=i,n===null?(i=e.child,e.child=null):(i=n.sibling,n.sibling=null),Yp(e,!1,i,n,s);break;case"backwards":for(n=null,i=e.child,e.child=null;i!==null;){if(t=i.alternate,t!==null&&rd(t)===null){e.child=i;break}t=i.sibling,i.sibling=n,n=i,i=t}Yp(e,!0,n,null,s);break;case"together":Yp(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function If(t,e){!(e.mode&1)&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function ji(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),Ro|=e.lanes,!(n&e.childLanes))return null;if(t!==null&&e.child!==t.child)throw Error(Z(153));if(e.child!==null){for(t=e.child,n=ks(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=ks(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function nP(t,e,n){switch(e.tag){case 3:OI(e),Ma();break;case 5:eI(e);break;case 1:xn(e.type)&&Jf(e);break;case 4:Hv(e,e.stateNode.containerInfo);break;case 10:var r=e.type._context,i=e.memoizedProps.value;ut(ed,r._currentValue),r._currentValue=i;break;case 13:if(r=e.memoizedState,r!==null)return r.dehydrated!==null?(ut(bt,bt.current&1),e.flags|=128,null):n&e.child.childLanes?kI(t,e,n):(ut(bt,bt.current&1),t=ji(t,e,n),t!==null?t.sibling:null);ut(bt,bt.current&1);break;case 19:if(r=(n&e.childLanes)!==0,t.flags&128){if(r)return DI(t,e,n);e.flags|=128}if(i=e.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),ut(bt,bt.current),r)break;return null;case 22:case 23:return e.lanes=0,II(t,e,n)}return ji(t,e,n)}var xI,hy,AI,CI;xI=function(t,e){for(var n=e.child;n!==null;){if(n.tag===5||n.tag===6)t.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};hy=function(){};AI=function(t,e,n,r){var i=t.memoizedProps;if(i!==r){t=e.stateNode,po(ui.current);var s=null;switch(n){case"input":i=Nm(t,i),r=Nm(t,r),s=[];break;case"select":i=Et({},i,{value:void 0}),r=Et({},r,{value:void 0}),s=[];break;case"textarea":i=Lm(t,i),r=Lm(t,r),s=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(t.onclick=Yf)}jm(n,r);var o;n=null;for(f in i)if(!r.hasOwnProperty(f)&&i.hasOwnProperty(f)&&i[f]!=null)if(f==="style"){var a=i[f];for(o in a)a.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else f!=="dangerouslySetInnerHTML"&&f!=="children"&&f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&f!=="autoFocus"&&(ll.hasOwnProperty(f)?s||(s=[]):(s=s||[]).push(f,null));for(f in r){var l=r[f];if(a=i!=null?i[f]:void 0,r.hasOwnProperty(f)&&l!==a&&(l!=null||a!=null))if(f==="style")if(a){for(o in a)!a.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in l)l.hasOwnProperty(o)&&a[o]!==l[o]&&(n||(n={}),n[o]=l[o])}else n||(s||(s=[]),s.push(f,n)),n=l;else f==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(s=s||[]).push(f,l)):f==="children"?typeof l!="string"&&typeof l!="number"||(s=s||[]).push(f,""+l):f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&(ll.hasOwnProperty(f)?(l!=null&&f==="onScroll"&&ht("scroll",t),s||a===l||(s=[])):(s=s||[]).push(f,l))}n&&(s=s||[]).push("style",n);var f=s;(e.updateQueue=f)&&(e.flags|=4)}};CI=function(t,e,n,r){n!==r&&(e.flags|=4)};function Tu(t,e){if(!gt)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:r.sibling=null}}function on(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,r=0;if(e)for(var i=t.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=t,i=i.sibling;else for(i=t.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=t,i=i.sibling;return t.subtreeFlags|=r,t.childLanes=n,e}function rP(t,e,n){var r=e.pendingProps;switch(jv(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return on(e),null;case 1:return xn(e.type)&&Gf(),on(e),null;case 3:return r=e.stateNode,Ba(),mt(Dn),mt(ln),Yv(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(t===null||t.child===null)&&(Xc(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,Or!==null&&(by(Or),Or=null))),hy(t,e),on(e),null;case 5:Qv(e);var i=po(bl.current);if(n=e.type,t!==null&&e.stateNode!=null)AI(t,e,n,r,i),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!r){if(e.stateNode===null)throw Error(Z(166));return on(e),null}if(t=po(ui.current),Xc(e)){r=e.stateNode,n=e.type;var s=e.memoizedProps;switch(r[Yr]=e,r[wl]=s,t=(e.mode&1)!==0,n){case"dialog":ht("cancel",r),ht("close",r);break;case"iframe":case"object":case"embed":ht("load",r);break;case"video":case"audio":for(i=0;i<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[Yr]=e,t[wl]=r,xI(t,e,!1,!1),e.stateNode=t;e:{switch(o=Um(n,r),n){case"dialog":ht("cancel",t),ht("close",t),i=r;break;case"iframe":case"object":case"embed":ht("load",t),i=r;break;case"video":case"audio":for(i=0;iLa&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304)}else{if(!r)if(t=rd(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),Tu(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!gt)return on(e),null}else 2*Tt()-s.renderingStartTime>La&&n!==1073741824&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Tt(),e.sibling=null,n=bt.current,ut(bt,r?n&1|2:n&1),e):(on(e),null);case 22:case 23:return og(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&e.mode&1?Wn&1073741824&&(on(e),e.subtreeFlags&6&&(e.flags|=8192)):on(e),null;case 24:return null;case 25:return null}throw Error(Z(156,e.tag))}function iP(t,e){switch(jv(e),e.tag){case 1:return xn(e.type)&&Gf(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Ba(),mt(Dn),mt(ln),Yv(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return Qv(e),null;case 13:if(mt(bt),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(Z(340));Ma()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return mt(bt),null;case 4:return Ba(),null;case 10:return Kv(e.type._context),null;case 22:case 23:return og(),null;case 24:return null;default:return null}}var tf=!1,an=!1,sP=typeof WeakSet=="function"?WeakSet:Set,ae=null;function ga(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Ct(t,e,r)}else n.current=null}function py(t,e,n){try{n()}catch(r){Ct(t,e,r)}}var m_=!1;function oP(t,e){if(Jm=qf,t=MS(),Lv(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,f=0,h=0,m=t,y=null;t:for(;;){for(var w;m!==n||i!==0&&m.nodeType!==3||(a=o+i),m!==s||r!==0&&m.nodeType!==3||(l=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(w=m.firstChild)!==null;)y=m,m=w;for(;;){if(m===t)break t;if(y===n&&++f===i&&(a=o),y===s&&++h===r&&(l=o),(w=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=w}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Xm={focusedElem:t,selectionRange:n},qf=!1,ae=e;ae!==null;)if(e=ae,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,ae=t;else for(;ae!==null;){e=ae;try{var I=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(I!==null){var E=I.memoizedProps,F=I.memoizedState,S=e.stateNode,_=S.getSnapshotBeforeUpdate(e.elementType===e.type?E:Sr(e.type,E),F);S.__reactInternalSnapshotBeforeUpdate=_}break;case 3:var k=e.stateNode.containerInfo;k.nodeType===1?k.textContent="":k.nodeType===9&&k.documentElement&&k.removeChild(k.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(z){Ct(e,e.return,z)}if(t=e.sibling,t!==null){t.return=e.return,ae=t;break}ae=e.return}return I=m_,m_=!1,I}function Ju(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&py(e,n,s)}i=i.next}while(i!==r)}}function hh(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function my(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function PI(t){var e=t.alternate;e!==null&&(t.alternate=null,PI(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Yr],delete e[wl],delete e[ty],delete e[zC],delete e[VC])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function RI(t){return t.tag===5||t.tag===3||t.tag===4}function y_(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||RI(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function yy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Yf));else if(r!==4&&(t=t.child,t!==null))for(yy(t,e,n),t=t.sibling;t!==null;)yy(t,e,n),t=t.sibling}function vy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(vy(t,e,n),t=t.sibling;t!==null;)vy(t,e,n),t=t.sibling}var Xt=null,Ir=!1;function os(t,e,n){for(n=n.child;n!==null;)TI(t,e,n),n=n.sibling}function TI(t,e,n){if(ai&&typeof ai.onCommitFiberUnmount=="function")try{ai.onCommitFiberUnmount(sh,n)}catch{}switch(n.tag){case 5:an||ga(n,e);case 6:var r=Xt,i=Ir;Xt=null,os(t,e,n),Xt=r,Ir=i,Xt!==null&&(Ir?(t=Xt,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):Xt.removeChild(n.stateNode));break;case 18:Xt!==null&&(Ir?(t=Xt,n=n.stateNode,t.nodeType===8?zp(t.parentNode,n):t.nodeType===1&&zp(t,n),pl(t)):zp(Xt,n.stateNode));break;case 4:r=Xt,i=Ir,Xt=n.stateNode.containerInfo,Ir=!0,os(t,e,n),Xt=r,Ir=i;break;case 0:case 11:case 14:case 15:if(!an&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&py(n,e,o),i=i.next}while(i!==r)}os(t,e,n);break;case 1:if(!an&&(ga(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Ct(n,e,a)}os(t,e,n);break;case 21:os(t,e,n);break;case 22:n.mode&1?(an=(r=an)||n.memoizedState!==null,os(t,e,n),an=r):os(t,e,n);break;default:os(t,e,n)}}function v_(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new sP),e.forEach(function(r){var i=mP.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function _r(t,e){var n=e.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~s}if(r=i,r=Tt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*uP(r/1960))-r,10t?16:t,ys===null)var r=!1;else{if(t=ys,ys=null,ud=0,Fe&6)throw Error(Z(331));var i=Fe;for(Fe|=4,ae=t.current;ae!==null;){var s=ae,o=s.child;if(ae.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lTt()-ig?So(t,0):rg|=n),An(t,e)}function UI(t,e){e===0&&(t.mode&1?(e=qc,qc<<=1,!(qc&130023424)&&(qc=4194304)):e=1);var n=yn();t=$i(t,e),t!==null&&(Vl(t,e,n),An(t,n))}function pP(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),UI(t,n)}function mP(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(e),UI(t,n)}var zI;zI=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||Dn.current)kn=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return kn=!1,nP(t,e,n);kn=!!(t.flags&131072)}else kn=!1,gt&&e.flags&1048576&&WS(e,Zf,e.index);switch(e.lanes=0,e.tag){case 2:var r=e.type;If(t,e),t=e.pendingProps;var i=Ta(e,ln.current);Oa(e,n),i=Jv(null,e,r,t,i,n);var s=Xv();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,xn(r)?(s=!0,Jf(e)):s=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,qv(e),i.updater=fh,e.stateNode=i,i._reactInternals=e,ay(e,r,t,n),e=cy(null,e,r,!0,s,n)):(e.tag=0,gt&&s&&$v(e),dn(null,e,i,n),e=e.child),e;case 16:r=e.elementType;e:{switch(If(t,e),t=e.pendingProps,i=r._init,r=i(r._payload),e.type=r,i=e.tag=vP(r),t=Sr(r,t),i){case 0:e=ly(null,e,r,t,n);break e;case 1:e=d_(null,e,r,t,n);break e;case 11:e=c_(null,e,r,t,n);break e;case 14:e=f_(null,e,r,Sr(r.type,t),n);break e}throw Error(Z(306,r,""))}return e;case 0:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),ly(t,e,r,i,n);case 1:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),d_(t,e,r,i,n);case 3:e:{if(OI(e),t===null)throw Error(Z(387));r=e.pendingProps,s=e.memoizedState,i=s.element,YS(t,e),nd(e,r,null,n);var o=e.memoizedState;if(r=o.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){i=Fa(Error(Z(423)),e),e=h_(t,e,r,n,i);break e}else if(r!==i){i=Fa(Error(Z(424)),e),e=h_(t,e,r,n,i);break e}else for(Yn=Ss(e.stateNode.containerInfo.firstChild),Jn=e,gt=!0,Or=null,n=ZS(e,null,r,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ma(),r===i){e=ji(t,e,n);break e}dn(t,e,r,n)}e=e.child}return e;case 5:return eI(e),t===null&&iy(e),r=e.type,i=e.pendingProps,s=t!==null?t.memoizedProps:null,o=i.children,Zm(r,i)?o=null:s!==null&&Zm(r,s)&&(e.flags|=32),EI(t,e),dn(t,e,o,n),e.child;case 6:return t===null&&iy(e),null;case 13:return kI(t,e,n);case 4:return Hv(e,e.stateNode.containerInfo),r=e.pendingProps,t===null?e.child=Na(e,null,r,n):dn(t,e,r,n),e.child;case 11:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),c_(t,e,r,i,n);case 7:return dn(t,e,e.pendingProps,n),e.child;case 8:return dn(t,e,e.pendingProps.children,n),e.child;case 12:return dn(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(r=e.type._context,i=e.pendingProps,s=e.memoizedProps,o=i.value,ut(ed,r._currentValue),r._currentValue=o,s!==null)if(Pr(s.value,o)){if(s.children===i.children&&!Dn.current){e=ji(t,e,n);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(s.tag===1){l=Ri(-1,n&-n),l.tag=2;var f=s.updateQueue;if(f!==null){f=f.shared;var h=f.pending;h===null?l.next=l:(l.next=h.next,h.next=l),f.pending=l}}s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),sy(s.return,n,e),a.lanes|=n;break}l=l.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(Z(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),sy(o,n,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}dn(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,r=e.pendingProps.children,Oa(e,n),i=vr(i),r=r(i),e.flags|=1,dn(t,e,r,n),e.child;case 14:return r=e.type,i=Sr(r,e.pendingProps),i=Sr(r.type,i),f_(t,e,r,i,n);case 15:return SI(t,e,e.type,e.pendingProps,n);case 17:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),If(t,e),e.tag=1,xn(r)?(t=!0,Jf(e)):t=!1,Oa(e,n),JS(e,r,i),ay(e,r,i,n),cy(null,e,r,!0,t,n);case 19:return DI(t,e,n);case 22:return II(t,e,n)}throw Error(Z(156,e.tag))};function VI(t,e){return mS(t,e)}function yP(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function mr(t,e,n,r){return new yP(t,e,n,r)}function ug(t){return t=t.prototype,!(!t||!t.isReactComponent)}function vP(t){if(typeof t=="function")return ug(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Dv)return 11;if(t===xv)return 14}return 2}function ks(t,e){var n=t.alternate;return n===null?(n=mr(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function kf(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")ug(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case la:return Io(n.children,i,s,e);case kv:o=8,i|=8;break;case Pm:return t=mr(12,n,e,i|2),t.elementType=Pm,t.lanes=s,t;case Rm:return t=mr(13,n,e,i),t.elementType=Rm,t.lanes=s,t;case Tm:return t=mr(19,n,e,i),t.elementType=Tm,t.lanes=s,t;case X1:return mh(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case G1:o=10;break e;case J1:o=9;break e;case Dv:o=11;break e;case xv:o=14;break e;case us:o=16,r=null;break e}throw Error(Z(130,t==null?t:typeof t,""))}return e=mr(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Io(t,e,n,r){return t=mr(7,t,r,e),t.lanes=n,t}function mh(t,e,n,r){return t=mr(22,t,r,e),t.elementType=X1,t.lanes=n,t.stateNode={isHidden:!1},t}function Gp(t,e,n){return t=mr(6,t,null,e),t.lanes=n,t}function Jp(t,e,n){return e=mr(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function gP(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pp(0),this.expirationTimes=Pp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pp(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function lg(t,e,n,r,i,s,o,a,l){return t=new gP(t,e,n,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=mr(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},qv(s),t}function wP(t,e,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(HI)}catch(t){console.error(t)}}HI(),W1.exports=nr;var EP=W1.exports,QI,O_=EP;QI=O_.createRoot,O_.hydrateRoot;var Sy=function(t,e){return Sy=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},Sy(t,e)};function pi(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Sy(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function tt(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}function re(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function ve(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(h){try{f(r.next(h))}catch(m){o(m)}}function l(h){try{f(r.throw(h))}catch(m){o(m)}}function f(h){h.done?s(h.value):i(h.value).then(a,l)}f((r=r.apply(t,e||[])).next())})}function YI(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(f){return function(h){return l([f,h])}}function l(f){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,f[0]&&(n=0)),n;)try{if(r=1,i&&(s=f[0]&2?i.return:f[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,f[1])).done)return s;switch(i=0,s&&(f=[f[0]&2,s.value]),f[0]){case 0:case 1:s=f;break;case 4:return n.label++,{value:f[1],done:!1};case 5:n.label++,i=f[1],f=[0];continue;case 7:f=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(f[0]===6||f[0]===2)){n=0;continue}if(f[0]===3&&(!s||f[1]>s[0]&&f[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Rr(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function ci(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r1||a(y,w)})})}function a(y,w){try{l(r[y](w))}catch(I){m(s[0][3],I)}}function l(y){y.value instanceof ge?Promise.resolve(y.value.v).then(f,h):m(s[0][2],y)}function f(y){a("next",y)}function h(y){a("throw",y)}function m(y,w){y(w),s.shift(),s.length&&a(s[0][0],s[0][1])}}function Df(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(o){return(n=!n)?{value:ge(t[i](o)),done:!1}:s?s(o):o}:s}}function Ds(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof $a=="function"?$a(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(f){s({value:f,done:a})},o)}}function kl(t){"@babel/helpers - typeof";return kl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kl(t)}function OP(t,e){if(kl(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e||"default");if(kl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function kP(t){var e=OP(t,"string");return kl(e)=="symbol"?e:String(e)}function k_(t,e){for(var n=0;nr[t]:r=>{for(var i=r,s=0;s"u")return i}return i}}function $e(t){return Object.assign({},t)}function CP(t){return Object.keys(t)[0]}function fd(t,e=!1){if(!t)return t;if(!e&&Array.isArray(t))return t.sort((r,i)=>typeof r=="string"&&typeof i=="string"?r.localeCompare(i):typeof r=="object"?1:-1).map(r=>fd(r,e));if(typeof t=="object"&&!Array.isArray(t)){var n={};return Object.keys(t).sort((r,i)=>r.localeCompare(i)).forEach(r=>{n[r]=fd(t[r],e)}),n}return t}function Iy(t){if(!t||t===null||typeof t!="object")return t;if(Array.isArray(t)){for(var e=new Array(t.length),n=e.length;n--;)e[n]=Iy(t[n]);return e}var r={};for(var i in t)r[i]=Iy(t[i]);return r}var Pn=Iy;function xs(t,e,n){return Object.defineProperty(t,e,{get:function(){return n}}),n}var pg=1;function Ks(){return{lwt:pg}}function Rn(){return""}function PP(t){return Object.assign({},t,{_meta:void 0,_deleted:void 0,_rev:void 0})}function RP(t,e,n){if(e.length!==n.length)return!1;for(var r=0,i=e.length;r>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=e.words[n>>>2];return this.sigBytes+=e.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new As([...this.words])}}const TP={stringify(t){const e=[];for(let n=0;n>>2]>>>24-n%4*8&255;e.push((r>>>4).toString(16),(r&15).toString(16))}return e.join("")}},MP={parse(t){const e=t.length,n=[];for(let r=0;r>>2]|=(t.charCodeAt(r)&255)<<24-r%4*8;return new As(n,e)}},NP={parse(t){return MP.parse(unescape(encodeURIComponent(t)))}};class BP{constructor(){this._data=new As,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new As,this._nDataBytes=0}_append(e){typeof e=="string"&&(e=NP.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_doProcessBlock(e,n){}_process(e){let n,r=this._data.sigBytes/(this.blockSize*4);e?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const i=r*this.blockSize,s=Math.min(i*4,this._data.sigBytes);if(i){for(let o=0;o>>7)^(k<<14|k>>>18)^k>>>3,W=so[y-2],Q=(W<<15|W>>>17)^(W<<13|W>>>19)^W>>>10;so[y]=z+so[y-7]+Q+so[y-16]}const w=l&f^~l&h,I=i&s^i&o^s&o,E=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),F=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),S=m+F+w+LP[y]+so[y],_=E+I;m=h,h=f,f=l,l=a+S|0,a=o,o=s,s=i,i=S+_|0}r[0]=r[0]+i|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+l|0,r[5]=r[5]+f|0,r[6]=r[6]+h|0,r[7]=r[7]+m|0}finalize(e){super.finalize(e);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function jP(t){return new $P().finalize(t).toString()}function UP(t){return Promise.resolve(jP(t))}async function zP(t){var e=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",e),r=Array.prototype.map.call(new Uint8Array(n),i=>("00"+i.toString(16)).slice(-2)).join("");return r}var VP=typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof crypto.subtle.digest=="function",KP=VP?zP:UP;function WP(){return new Promise(t=>setTimeout(t,0))}function qP(t=0){return new Promise(e=>setTimeout(e,t))}function XI(t){return t&&typeof t.then=="function"?t:Promise.resolve(t)}var dd=Promise.resolve(!0),Gn=Promise.resolve(!1),mg=Promise.resolve(null),un=Promise.resolve();function yg(t=1e4){return typeof requestIdleCallback=="function"?new Promise(e=>{requestIdleCallback(()=>e(),{timeout:t})}):qP(0)}var Zp=un;function HP(t=void 0){return Zp=Zp.then(()=>yg(t)),Zp}function QP(t,e){return t.reduce((n,r)=>n.then(r),Promise.resolve(e))}var YP=/\./g,A_="abcdefghijklmnopqrstuvwxyz";function iu(t=10){for(var e="",n=0;n{var e=typeof t;return t!==null&&(e==="object"||e==="function")},em=new Set(["__proto__","prototype","constructor"]),GP=new Set("0123456789");function eE(t){var e=[],n="",r="start",i=!1;for(var s of t)switch(s){case"\\":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");i&&(n+=s),r="property",i=!i;break}case".":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="property";break}if(i){i=!1,n+=s;break}if(em.has(n))return[];e.push(n),n="",r="property";break}case"[":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="index";break}if(i){i=!1,n+=s;break}if(r==="property"){if(em.has(n))return[];e.push(n),n=""}r="index";break}case"]":{if(r==="index"){e.push(Number.parseInt(n,10)),n="",r="indexEnd";break}if(r==="indexEnd")throw new Error("Invalid character after an index")}default:{if(r==="index"&&!GP.has(s))throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");r==="start"&&(r="property"),i&&(i=!1,n+="\\"),n+=s}}switch(i&&(n+="\\"),r){case"property":{if(em.has(n))return[];e.push(n);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}function tE(t,e){if(typeof e!="number"&&Array.isArray(t)){var n=Number.parseInt(e,10);return Number.isInteger(n)&&t[n]===t[e]}return!1}function JP(t,e){if(tE(t,e))throw new Error("Cannot use string index")}function Ts(t,e,n){if(Array.isArray(e)&&(e=e.join(".")),!e.includes(".")&&!e.includes("["))return t[e];if(!Ey(t)||typeof e!="string")return n===void 0?t:n;var r=eE(e);if(r.length===0)return n;for(var i=0;i"u")throw new Error("missing value from map "+e);return n}function Tr(t,e,n,r){var i=t.get(e);return typeof i>"u"?(i=n(),t.set(e,i)):r&&r(i),i}function pt(t){var e=t.split("-"),n="RxDB";return e.forEach(r=>{n+=ZI(r)}),n+="Plugin",new Error(`You are using a function which must be overwritten by a plugin. You should either prevent the usage of this function or add the plugin via: import { `+n+" } from 'rxdb/plugins/"+t+`'; addRxPlugin(`+n+`); `)}function Oy(t){var e={name:t.name,message:t.message,rxdb:t.rxdb,parameters:t.parameters,code:t.code,stack:t.stack?t.stack.replace(/\n/g,` - `):void 0};return e}var tm=0;function Ft(){var t=Date.now();t=t+.01,t<=tm&&(t=tm+.01);var e=parseFloat(t.toFixed(2));return tm=e,e}function ye(t,e){if(!t)throw e||(e=""),new Error("ensureNotFalsy() is falsy: "+e);return t}var Ci={bufferSize:1,refCount:!0},vg="15.9.1";function Dl(t,e){return Dl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},Dl(t,e)}function gg(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Dl(t,e)}function ky(t){return ky=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ky(t)}function tR(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function iE(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(iE=function(){return!!t})()}function nR(t,e,n){if(iE())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&Dl(i,n.prototype),i}function hd(t){var e=typeof Map=="function"?new Map:void 0;return hd=function(r){if(r===null||!tR(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(r))return e.get(r);e.set(r,i)}function i(){return nR(r,arguments,ky(this).constructor)}return i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),Dl(i,r)},hd(t)}var it={isDevMode(){return!1},deepFreezeWhenDevMode(t){return t},tunnelErrorMessage(t){return"RxDB Error-Code "+t+`. + `):void 0};return e}var tm=0;function Ft(){var t=Date.now();t=t+.01,t<=tm&&(t=tm+.01);var e=parseFloat(t.toFixed(2));return tm=e,e}function ye(t,e){if(!t)throw e||(e=""),new Error("ensureNotFalsy() is falsy: "+e);return t}var Ci={bufferSize:1,refCount:!0},vg="15.9.1";function Dl(t,e){return Dl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},Dl(t,e)}function gg(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Dl(t,e)}function ky(t){return ky=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ky(t)}function XP(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function rE(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(rE=function(){return!!t})()}function ZP(t,e,n){if(rE())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&Dl(i,n.prototype),i}function hd(t){var e=typeof Map=="function"?new Map:void 0;return hd=function(r){if(r===null||!XP(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(r))return e.get(r);e.set(r,i)}function i(){return ZP(r,arguments,ky(this).constructor)}return i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),Dl(i,r)},hd(t)}var it={isDevMode(){return!1},deepFreezeWhenDevMode(t){return t},tunnelErrorMessage(t){return"RxDB Error-Code "+t+`. Error messages are not included in RxDB core to reduce build size. - To find out what this error means, either use the dev-mode-plugin https://rxdb.info/dev-mode.html - or search for the error code here: https://github.com/pubkey/rxdb/search?q=`+t+` - `}};function rR(t){var e="";return Object.keys(t).length===0||(e+=`Given parameters: { + `}};function eR(t){var e="";return Object.keys(t).length===0||(e+=`Given parameters: { `,e+=Object.keys(t).map(n=>{var r="[object Object]";try{n==="errors"?r=t[n].map(i=>JSON.stringify(i,Object.getOwnPropertyNames(i))):r=JSON.stringify(t[n],function(i,s){return s===void 0?null:s},2)}catch{}return n+":"+r}).join(` -`),e+="}"),e}function sE(t,e,n){return"RxError ("+e+`): +`),e+="}"),e}function iE(t,e,n){return"RxError ("+e+`): `+t+` -`+rR(n)}var iR=function(t){gg(e,t);function e(r,i,s={}){var o,a=sE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Vs(e,[{key:"name",get:function(){return"RxError ("+this.code+")"}},{key:"typeError",get:function(){return!1}}]),e}(hd(Error)),sR=function(t){gg(e,t);function e(r,i,s={}){var o,a=sE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Vs(e,[{key:"name",get:function(){return"RxTypeError ("+this.code+")"}},{key:"typeError",get:function(){return!0}}]),e}(hd(TypeError));function le(t,e){return new iR(t,it.tunnelErrorMessage(t),e)}function el(t,e){return new sR(t,it.tunnelErrorMessage(t),e)}function _h(t){return t&&t.status===409?t:!1}var oR={409:"document write conflict",422:"schema validation error",510:"attachment data missing"};function aR(t){return le("COL20",{name:oR[t.status],document:t.documentId,writeError:t})}var xl={preAddRxPlugin:[],preCreateRxDatabase:[],createRxDatabase:[],preCreateRxCollection:[],createRxCollection:[],postDestroyRxCollection:[],postRemoveRxCollection:[],preCreateRxSchema:[],createRxSchema:[],preCreateRxQuery:[],prePrepareQuery:[],createRxDocument:[],postCreateRxDocument:[],preCreateRxStorageInstance:[],preMigrateDocument:[],postMigrateDocument:[],preDestroyRxDatabase:[],postRemoveRxDatabase:[],preReplicationMasterWrite:[],preReplicationMasterWriteDocumentsHandle:[]};function Mr(t,e){xl[t]&&xl[t].forEach(n=>n(e))}function No(t,e){return Promise.all(xl[t].map(n=>n(e)))}function Ui(t,e){var n=e;n=n.replace(XP,".properties."),n="properties."+n,n=zu(n);var r=Ts(t,n);return r}function oE(t,e,n){if(typeof e.primaryKey=="string")return n;var r=Ws(e,n),i=n[t];if(i&&i!==r)throw le("DOC19",{args:{documentData:n,existingPrimary:i,newPrimary:r},schema:e});return n[t]=r,n}function Fn(t){return typeof t=="string"?t:t.key}function uR(t){var e=Fn(t.primaryKey),n=Ui(t,e);return ye(n.maxLength)}function Ws(t,e){if(typeof t.primaryKey=="string")return e[t.primaryKey];var n=t.primaryKey;return n.fields.map(r=>{var i=Ts(e,r);if(typeof i>"u")throw le("DOC18",{args:{field:r,documentData:e}});return i}).join(n.separator)}function lR(t){var e=fd(t,!0);return e}function cR(t){return["_deleted",t]}function bh(t){t=$e(t);var e=Fn(t.primaryKey);t.properties=$e(t.properties),t.additionalProperties=!1,Object.prototype.hasOwnProperty.call(t,"keyCompression")||(t.keyCompression=!1),t.indexes=t.indexes?t.indexes.slice(0):[],t.required=t.required?t.required.slice(0):[],t.encrypted=t.encrypted?t.encrypted.slice(0):[],t.properties._rev={type:"string",minLength:1},t.properties._attachments={type:"object"},t.properties._deleted={type:"boolean"},t.properties._meta=fR,t.required=t.required?t.required.slice(0):[],t.required.push("_deleted"),t.required.push("_rev"),t.required.push("_meta"),t.required.push("_attachments");var n=aE(t);za(t.required,n),t.required=t.required.filter(s=>!s.includes(".")).filter((s,o,a)=>a.indexOf(s)===o),t.version=t.version||0;var r=t.indexes.map(s=>{var o=hg(s)?s.slice(0):[s];return o.includes(e)||o.push(e),o[0]!=="_deleted"&&o.unshift("_deleted"),o});r.length===0&&r.push(cR(e)),r.push(["_meta.lwt",e]),t.internalIndexes&&t.internalIndexes.map(s=>{r.push(s)});var i=new Set;return r.filter(s=>{var o=s.join(",");return i.has(o)?!1:(i.add(o),!0)}),t.indexes=r,t}var fR={type:"object",properties:{lwt:{type:"number",minimum:pg,maximum:1e15,multipleOf:.01}},additionalProperties:!0,required:["lwt"]};function aE(t){var e=Object.keys(t.properties).filter(r=>t.properties[r].final),n=Fn(t.primaryKey);return e.push(n),typeof t.primaryKey!="string"&&t.primaryKey.fields.forEach(r=>e.push(r)),e}function dR(t,e){for(var n=Object.keys(t.defaultValues),r=0;r"u")&&(e[i]=t.defaultValues[i])}return e}var uE=function(){function t(n,r){this.jsonSchema=n,this.hashFunction=r,this.indexes=hR(this.jsonSchema),this.primaryPath=Fn(this.jsonSchema.primaryKey),this.finalFields=aE(this.jsonSchema)}var e=t.prototype;return e.validateChange=function(r,i){this.finalFields.forEach(s=>{if(!Ka(r[s],i[s]))throw le("DOC9",{dataBefore:r,dataAfter:i,fieldName:s,schema:this.jsonSchema})})},e.getDocumentPrototype=function(){var r={},i=Ui(this.jsonSchema,"");return Object.keys(i).forEach(s=>{var o=s;r.__defineGetter__(s,function(){if(!(!this.get||typeof this.get!="function")){var a=this.get(o);return a}}),Object.defineProperty(r,s+"$",{get:function(){return this.get$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"$$",{get:function(){return this.get$$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"_",{get:function(){return this.populate(o)},enumerable:!1,configurable:!1})}),xs(this,"getDocumentPrototype",()=>r),r},e.getPrimaryOfDocumentData=function(r){return Ws(this.jsonSchema,r)},Vs(t,[{key:"version",get:function(){return this.jsonSchema.version}},{key:"defaultValues",get:function(){var n={};return Object.entries(this.jsonSchema.properties).filter(([,r])=>Object.prototype.hasOwnProperty.call(r,"default")).forEach(([r,i])=>n[r]=i.default),xs(this,"defaultValues",n)}},{key:"hash",get:function(){return xs(this,"hash",this.hashFunction(JSON.stringify(this.jsonSchema)))}}]),t}();function hR(t){return(t.indexes||[]).map(e=>hg(e)?e:[e])}function pR(t){var e=t.version?t.version:0,n=0;return new Array(e).fill(0).map(()=>n++)}function mR(t,e,n=!0){n&&Mr("preCreateRxSchema",t);var r=bh(t);r=lR(r),it.deepFreezeWhenDevMode(r);var i=new uE(r,e);return Mr("createRxSchema",i),i}function qe(t){return typeof t=="function"}function yR(t){return qe(t==null?void 0:t.lift)}function Ln(t){return function(e){if(yR(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}var wg=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function lE(t){return qe(t==null?void 0:t.then)}function _g(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var nm=_g(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription: +`+eR(n)}var tR=function(t){gg(e,t);function e(r,i,s={}){var o,a=iE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Vs(e,[{key:"name",get:function(){return"RxError ("+this.code+")"}},{key:"typeError",get:function(){return!1}}]),e}(hd(Error)),nR=function(t){gg(e,t);function e(r,i,s={}){var o,a=iE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Vs(e,[{key:"name",get:function(){return"RxTypeError ("+this.code+")"}},{key:"typeError",get:function(){return!0}}]),e}(hd(TypeError));function le(t,e){return new tR(t,it.tunnelErrorMessage(t),e)}function el(t,e){return new nR(t,it.tunnelErrorMessage(t),e)}function _h(t){return t&&t.status===409?t:!1}var rR={409:"document write conflict",422:"schema validation error",510:"attachment data missing"};function iR(t){return le("COL20",{name:rR[t.status],document:t.documentId,writeError:t})}var xl={preAddRxPlugin:[],preCreateRxDatabase:[],createRxDatabase:[],preCreateRxCollection:[],createRxCollection:[],postDestroyRxCollection:[],postRemoveRxCollection:[],preCreateRxSchema:[],createRxSchema:[],preCreateRxQuery:[],prePrepareQuery:[],createRxDocument:[],postCreateRxDocument:[],preCreateRxStorageInstance:[],preMigrateDocument:[],postMigrateDocument:[],preDestroyRxDatabase:[],postRemoveRxDatabase:[],preReplicationMasterWrite:[],preReplicationMasterWriteDocumentsHandle:[]};function Mr(t,e){xl[t]&&xl[t].forEach(n=>n(e))}function No(t,e){return Promise.all(xl[t].map(n=>n(e)))}function zi(t,e){var n=e;n=n.replace(YP,".properties."),n="properties."+n,n=zu(n);var r=Ts(t,n);return r}function sE(t,e,n){if(typeof e.primaryKey=="string")return n;var r=Ws(e,n),i=n[t];if(i&&i!==r)throw le("DOC19",{args:{documentData:n,existingPrimary:i,newPrimary:r},schema:e});return n[t]=r,n}function Fn(t){return typeof t=="string"?t:t.key}function sR(t){var e=Fn(t.primaryKey),n=zi(t,e);return ye(n.maxLength)}function Ws(t,e){if(typeof t.primaryKey=="string")return e[t.primaryKey];var n=t.primaryKey;return n.fields.map(r=>{var i=Ts(e,r);if(typeof i>"u")throw le("DOC18",{args:{field:r,documentData:e}});return i}).join(n.separator)}function oR(t){var e=fd(t,!0);return e}function aR(t){return["_deleted",t]}function bh(t){t=$e(t);var e=Fn(t.primaryKey);t.properties=$e(t.properties),t.additionalProperties=!1,Object.prototype.hasOwnProperty.call(t,"keyCompression")||(t.keyCompression=!1),t.indexes=t.indexes?t.indexes.slice(0):[],t.required=t.required?t.required.slice(0):[],t.encrypted=t.encrypted?t.encrypted.slice(0):[],t.properties._rev={type:"string",minLength:1},t.properties._attachments={type:"object"},t.properties._deleted={type:"boolean"},t.properties._meta=uR,t.required=t.required?t.required.slice(0):[],t.required.push("_deleted"),t.required.push("_rev"),t.required.push("_meta"),t.required.push("_attachments");var n=oE(t);Ua(t.required,n),t.required=t.required.filter(s=>!s.includes(".")).filter((s,o,a)=>a.indexOf(s)===o),t.version=t.version||0;var r=t.indexes.map(s=>{var o=hg(s)?s.slice(0):[s];return o.includes(e)||o.push(e),o[0]!=="_deleted"&&o.unshift("_deleted"),o});r.length===0&&r.push(aR(e)),r.push(["_meta.lwt",e]),t.internalIndexes&&t.internalIndexes.map(s=>{r.push(s)});var i=new Set;return r.filter(s=>{var o=s.join(",");return i.has(o)?!1:(i.add(o),!0)}),t.indexes=r,t}var uR={type:"object",properties:{lwt:{type:"number",minimum:pg,maximum:1e15,multipleOf:.01}},additionalProperties:!0,required:["lwt"]};function oE(t){var e=Object.keys(t.properties).filter(r=>t.properties[r].final),n=Fn(t.primaryKey);return e.push(n),typeof t.primaryKey!="string"&&t.primaryKey.fields.forEach(r=>e.push(r)),e}function lR(t,e){for(var n=Object.keys(t.defaultValues),r=0;r"u")&&(e[i]=t.defaultValues[i])}return e}var aE=function(){function t(n,r){this.jsonSchema=n,this.hashFunction=r,this.indexes=cR(this.jsonSchema),this.primaryPath=Fn(this.jsonSchema.primaryKey),this.finalFields=oE(this.jsonSchema)}var e=t.prototype;return e.validateChange=function(r,i){this.finalFields.forEach(s=>{if(!Va(r[s],i[s]))throw le("DOC9",{dataBefore:r,dataAfter:i,fieldName:s,schema:this.jsonSchema})})},e.getDocumentPrototype=function(){var r={},i=zi(this.jsonSchema,"");return Object.keys(i).forEach(s=>{var o=s;r.__defineGetter__(s,function(){if(!(!this.get||typeof this.get!="function")){var a=this.get(o);return a}}),Object.defineProperty(r,s+"$",{get:function(){return this.get$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"$$",{get:function(){return this.get$$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"_",{get:function(){return this.populate(o)},enumerable:!1,configurable:!1})}),xs(this,"getDocumentPrototype",()=>r),r},e.getPrimaryOfDocumentData=function(r){return Ws(this.jsonSchema,r)},Vs(t,[{key:"version",get:function(){return this.jsonSchema.version}},{key:"defaultValues",get:function(){var n={};return Object.entries(this.jsonSchema.properties).filter(([,r])=>Object.prototype.hasOwnProperty.call(r,"default")).forEach(([r,i])=>n[r]=i.default),xs(this,"defaultValues",n)}},{key:"hash",get:function(){return xs(this,"hash",this.hashFunction(JSON.stringify(this.jsonSchema)))}}]),t}();function cR(t){return(t.indexes||[]).map(e=>hg(e)?e:[e])}function fR(t){var e=t.version?t.version:0,n=0;return new Array(e).fill(0).map(()=>n++)}function dR(t,e,n=!0){n&&Mr("preCreateRxSchema",t);var r=bh(t);r=oR(r),it.deepFreezeWhenDevMode(r);var i=new aE(r,e);return Mr("createRxSchema",i),i}function qe(t){return typeof t=="function"}function hR(t){return qe(t==null?void 0:t.lift)}function Ln(t){return function(e){if(hR(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}var wg=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function uE(t){return qe(t==null?void 0:t.then)}function _g(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var nm=_g(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription: `+n.map(function(r,i){return i+1+") "+r.toString()}).join(` - `):"",this.name="UnsubscriptionError",this.errors=n}});function pd(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var Hl=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,i,s;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=ja(o),l=a.next();!l.done;l=a.next()){var f=l.value;f.remove(this)}}catch(O){e={error:O}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}else o.remove(this);var h=this.initialTeardown;if(qe(h))try{h()}catch(O){s=O instanceof nm?O.errors:[O]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var y=ja(p),w=y.next();!w.done;w=y.next()){var I=w.value;try{A_(I)}catch(O){s=s??[],O instanceof nm?s=ci(ci([],Rr(s)),Rr(O.errors)):s.push(O)}}}catch(O){r={error:O}}finally{try{w&&!w.done&&(i=y.return)&&i.call(y)}finally{if(r)throw r.error}}}if(s)throw new nm(s)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)A_(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&pd(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&pd(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),cE=Hl.EMPTY;function fE(t){return t instanceof Hl||t&&"closed"in t&&qe(t.remove)&&qe(t.add)&&qe(t.unsubscribe)}function A_(t){qe(t)?t():t.unsubscribe()}var dE={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Dy={setTimeout:function(t,e){for(var n=[],r=2;r0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,i=this,s=i.hasError,o=i.isStopped,a=i.observers;return s||o?cE:(this.currentObservers=null,a.push(n),new Hl(function(){r.currentObservers=null,pd(a,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,i=r.hasError,s=r.thrownError,o=r.isStopped;i?n.error(s):o&&n.complete()},e.prototype.asObservable=function(){var n=new Ot;return n.source=this,n},e.create=function(n,r){return new N_(n,r)},e}(Ot),N_=function(t){pi(e,t);function e(n,r){var i=t.call(this)||this;return i.destination=n,i.source=r,i}return e.prototype.next=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,n)},e.prototype.error=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&i!==void 0?i:cE},e}(Kt);function B_(){for(var t=[],e=0;e0&&(h=new Wa({next:function(Q){return W.next(Q)},error:function(Q){O=!0,$(),p=sm(_,i,Q),W.error(Q)},complete:function(){I=!0,$(),p=sm(_,o),W.complete()}}),ir(E).subscribe(h))})(f)}}function sm(t,e){for(var n=[],r=2;r!!t.queryParams.limit,IT=t=>t.queryParams.limit===1,ET=t=>!!(t.queryParams.skip&&t.queryParams.skip>0),OT=t=>t.changeEvent.operation==="DELETE",kT=t=>t.changeEvent.operation==="INSERT",DT=t=>t.changeEvent.operation==="UPDATE",xT=t=>NE(t)&&t.previousResults.length>=t.queryParams.limit,CT=t=>{const e=t.queryParams.sortFields,n=t.changeEvent.previous,r=t.changeEvent.doc;if(!r)return!1;if(!n)return!0;for(let i=0;i{const e=t.changeEvent.id;if(t.keyDocumentMap)return t.keyDocumentMap.has(e);{const n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e=t.previousResults[0];return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},RT=t=>{const e=Dg(t.previousResults);return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},TT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},MT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=Dg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},NT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},BT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=Dg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},FT=t=>{const e=t.changeEvent.previous;return e?t.queryParams.queryMatcher(e):!1},LT=t=>{const e=t.changeEvent.doc;return e?t.queryParams.queryMatcher(e):!1},$T=t=>t.previousResults.length===0,jT={0:kT,1:DT,2:OT,3:NE,4:IT,5:ET,6:$T,7:xT,8:PT,9:RT,10:CT,11:AT,12:TT,13:MT,14:NT,15:BT,16:FT,17:LT};function BE(t,e,n,r){var i=t.length,s=i-1,o=0;if(i===0)return t.push(e),0;for(var a;r<=s;)o=r+(s-r>>1),a=t[o],n(a,e)<=0?r=o+1:s=o-1;return n(a,e)<=0&&o++,t.splice(o,0,e),o}const UT=t=>{},xg=t=>{t.previousResults.unshift(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Cg=t=>{t.previousResults.push(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Ag=t=>{const e=t.previousResults.shift();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},Pg=t=>{const e=t.previousResults.pop();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},zT=t=>{Ag(t),Cg(t)},VT=t=>{Pg(t),xg(t)},KT=t=>{Ag(t),xg(t)},WT=t=>{Pg(t),Cg(t)},FE=t=>{t.keyDocumentMap&&t.keyDocumentMap.delete(t.changeEvent.id);const e=t.queryParams.primaryKey,n=t.previousResults;for(let r=0;r{const e=t.changeEvent.doc,n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e={_id:"wrongHuman"+new Date().getTime()};t.previousResults.length=0,t.previousResults.push(e),t.keyDocumentMap&&(t.keyDocumentMap.clear(),t.keyDocumentMap.set(e._id,e))},LE=t=>{const e=t.changeEvent.id,n=t.changeEvent.doc;if(t.keyDocumentMap){if(t.keyDocumentMap.has(e))return;t.keyDocumentMap.set(e,n)}else if(t.previousResults.find(i=>i[t.queryParams.primaryKey]===e))return;BE(t.previousResults,n,t.queryParams.sortComparator,0)},QT=t=>{FE(t),LE(t)},YT=t=>{throw new Error("Action runFullQueryAgain must be implemented by yourself")},GT=t=>{throw new Error("Action unknownAction should never be called")},JT=["doNothing","insertFirst","insertLast","removeFirstItem","removeLastItem","removeFirstInsertLast","removeLastInsertFirst","removeFirstInsertFirst","removeLastInsertLast","removeExisting","replaceExisting","alwaysWrong","insertAtSortPosition","removeExistingAndInsertAtSortPosition","runFullQueryAgain","unknownAction"],XT={doNothing:UT,insertFirst:xg,insertLast:Cg,removeFirstItem:Ag,removeLastItem:Pg,removeFirstInsertLast:zT,removeLastInsertFirst:VT,removeFirstInsertFirst:KT,removeLastInsertLast:WT,removeExisting:FE,replaceExisting:qT,alwaysWrong:HT,insertAtSortPosition:LE,removeExistingAndInsertAtSortPosition:QT,runFullQueryAgain:YT,unknownAction:GT},ZT=40;function om(t){return t.charCodeAt(0)-ZT}function eM(t){return t?"1":"0"}function $_(t,e){const n=[];for(let r=0,i=t.length;rnM(iM(),jT,t);function oM(t){const e=sM(t);return JT[e]}function aM(t,e,n,r,i){const s=XT[t];return s({queryParams:e,changeEvent:n,previousResults:r,keyDocumentMap:i}),r}var Cr=String.fromCharCode(65535),li=Number.MIN_SAFE_INTEGER;function uM(t,e){var n=e.selector,r=t.indexes?t.indexes.slice(0):[];e.index&&(r=[e.index]);var i=!!e.sort.find(h=>Object.values(h)[0]==="desc"),s=new Set;Object.keys(n).forEach(h=>{var p=Ui(t,h);p&&p.type==="boolean"&&Object.prototype.hasOwnProperty.call(n[h],"$eq")&&s.add(h)});var o=e.sort.map(h=>Object.keys(h)[0]),a=o.filter(h=>!s.has(h)).join(","),l=-1,f;if(r.forEach(h=>{var p=!0,y=!0,w=h.map(b=>{var E=n[b],z=E?Object.keys(E):[],W={};if(!E||!z.length){var Q=y?li:Cr;W={startKey:Q,endKey:p?Cr:li,inclusiveStart:!0,inclusiveEnd:!0}}else z.forEach(H=>{if(Rg.has(H)){var X=E[H],U=dM(H,X);W=Object.assign(W,U)}});return typeof W.startKey>"u"&&(W.startKey=li),typeof W.endKey>"u"&&(W.endKey=Cr),typeof W.inclusiveStart>"u"&&(W.inclusiveStart=!0),typeof W.inclusiveEnd>"u"&&(W.inclusiveEnd=!0),y&&!W.inclusiveStart&&(y=!1),p&&!W.inclusiveEnd&&(p=!1),W}),I=w.map(b=>b.startKey),O=w.map(b=>b.endKey),$={index:h,startKeys:I,endKeys:O,inclusiveEnd:p,inclusiveStart:y,sortSatisfiedByIndex:!i&&a===h.filter(b=>!s.has(b)).join(","),selectorSatisfiedByIndex:fM(h,e.selector,I,O)},_=hM(t,e,$);(_>=l||e.index)&&(l=_,f=$)}),!f)throw le("SNH",{query:e});return f}var Rg=new Set(["$eq","$gt","$gte","$lt","$lte"]),lM=new Set(["$eq","$gt","$gte"]),cM=new Set(["$eq","$lt","$lte"]);function fM(t,e,n,r){var i=Object.entries(e),s=i.find(([H,X])=>{if(!t.includes(H))return!0;var U=Object.entries(X).find(([ee,ce])=>!Rg.has(ee));return U});if(s||e.$and||e.$or)return!1;var o=[],a=new Set;for(var[l,f]of Object.entries(e)){if(!t.includes(l))return!1;var h=Object.keys(f).filter(H=>lM.has(H));if(h.length>1)return!1;var p=h[0];if(p&&a.add(l),p!=="$eq"){if(o.length>0)return!1;o.push(p)}}var y=[],w=new Set;for(var[I,O]of Object.entries(e)){if(!t.includes(I))return!1;var $=Object.keys(O).filter(H=>cM.has(H));if($.length>1)return!1;var _=$[0];if(_&&w.add(I),_!=="$eq"){if(y.length>0)return!1;y.push(_)}}var b=0;for(var E of t){for(var z of[a,w]){if(!z.has(E)&&z.size>0)return!1;z.delete(E)}var W=n[b],Q=r[b];if(W!==Q&&a.size>0&&w.size>0)return!1;b++}return!0}function dM(t,e){switch(t){case"$eq":return{startKey:e,endKey:e,inclusiveEnd:!0,inclusiveStart:!0};case"$lte":return{endKey:e,inclusiveEnd:!0};case"$gte":return{startKey:e,inclusiveStart:!0};case"$lt":return{endKey:e,inclusiveEnd:!1};case"$gt":return{startKey:e,inclusiveStart:!1};default:throw new Error("SNH")}}function hM(t,e,n){var r=0,i=h=>{h>0&&(r=r+h)},s=10,o=Xp(n.startKeys,h=>h!==li&&h!==Cr);i(o*s);var a=Xp(n.startKeys,h=>h!==Cr&&h!==li);i(a*s);var l=Xp(n.startKeys,(h,p)=>h===n.endKeys[p]);i(l*s*1.5);var f=n.sortSatisfiedByIndex?5:0;return i(f),r}const pM=2147483647,mM=-2147483648,yM=Number.MAX_SAFE_INTEGER,vM=Number.MIN_SAFE_INTEGER,zi=Symbol("missing"),$E=Object.freeze(new Error("mingo: cycle detected while processing object/array")),gM=Object.getPrototypeOf([]),jE=Object.getPrototypeOf({}),wM="[object Object]",_M=/^\[object ([a-zA-Z0-9]+)\]$/;let Tg=class{};class Mg{}const Fo=t=>t===null?Tg:t===void 0?Mg:t.constructor,Yl=t=>{const e=DM(t);let n=0,r=e.length;for(;r;)n=(n<<5)-n^e.charCodeAt(--r);return n>>>0},UE=new Set(["null","undefined","boolean","number","string","date","regexp"]),j_=new Set([Mg,Tg,Boolean,String,Number]),Nu=t=>t.toString(),br=t=>`${Fo(t).name}[${t.toString()}]`,Lo=new Map([[Number,Nu],[Boolean,Nu],[RegExp,Nu],[Function,Nu],[Symbol,Nu],[Date,t=>t.toISOString()],[String,JSON.stringify],[Tg,t=>"null"],[Mg,t=>"undefined"],[Int8Array,br],[Uint8Array,br],[Uint8ClampedArray,br],[Int16Array,br],[Uint16Array,br],[Int32Array,br],[Uint32Array,br],[Float32Array,br],[Float64Array,br]]);typeof BigInt<"u"&&Lo.set(BigInt,t=>"0x"+t.toString(16));typeof BigInt64Array<"u"&&Lo.set(BigInt64Array,br);typeof BigUint64Array<"u"&&Lo.set(BigUint64Array,br);const bM={null:0,undefined:0,number:1,string:2,object:3,array:4,boolean:5,date:6,regexp:7,function:8},Mn=(t,e)=>{t===zi&&(t=void 0),e===zi&&(e=void 0);const[n,r]=[t,e].map(i=>bM[Al(i).toLowerCase()]);return n!==r?n-r:n===1||n===2||n===6?te?1:0:Ki(t,e)?0:te?1:0};function Yt(t,e){if(!t)throw new Error(e)}const SM=t=>{const e=Object.getPrototypeOf(Fo(t));return e&&e.name==="TypedArray"},Py=t=>{if(j_.has(Fo(t)))return t;const e=new Set,n=r=>{if(e.has(r))throw $E;const i=Fo(r);if(j_.has(i))return r;try{if(Lt(r))return e.add(r),r.map(n);if(wt(r)){e.add(r);const s={};for(const o in r)s[o]=n(r[o]);return s}}finally{e.delete(r)}return i===Date||i===RegExp||SM(r)?new i(r):r};return n(t)},Al=t=>_M.exec(Object.prototype.toString.call(t))[1],um=t=>typeof t=="boolean",Vi=t=>typeof t=="string",Hn=t=>!isNaN(t)&&typeof t=="number",Lt=Array.isArray,wt=t=>{if(!t)return!1;const e=Object.getPrototypeOf(t);return(e===jE||e===null)&&wM===Object.prototype.toString.call(t)},Sh=t=>t===Object(t),Ry=t=>t instanceof Date,Cf=t=>t instanceof RegExp,Ih=t=>typeof t=="function",cn=t=>t==null,qa=(t,e)=>t.includes(e),zE=(t,e)=>!qa(t,e),IM=(t,e=!0)=>!!t||e&&t==="",uu=t=>cn(t)||Vi(t)&&!t||t instanceof Array&&t.length===0||wt(t)&&Object.keys(t).length===0,U_=t=>t===zi,Gl=t=>t instanceof Array?t:[t],Xn=(t,e)=>!!t&&Object.prototype.hasOwnProperty.call(t,e),EM=(t,e)=>wt(t)&&wt(e)||Lt(t)&&Lt(e);function Ty(t,e,n){if(n=n||{flatten:!1},U_(t)||cn(t))return e;if(U_(e)||cn(e))return t;if(!EM(t,e)){if(n.skipValidation)return e||t;throw Error("mismatched types. must both be array or object")}if(n.skipValidation=!0,Lt(t)){const r=t,i=e;if(n.flatten){let s=0,o=0;for(;s{const s=KE(r,e);n.has(s)?n.get(s).some(o=>Ki(t[o],r))||n.get(s).push(i):n.set(s,[i])}),n}function Ng(t,e=Yl){if(t.some(a=>a.length==0))return[];if(t.length===1)return Array.from(t);const n=xM(t.map((a,l)=>[l,a.length]),a=>a[1]),r=t[n[0][0]],i=My(r,e),s=new Map,o=new Array;return i.forEach((a,l)=>{const f=a.map(w=>r[w]),h=f.map(w=>0),p=f.map(w=>[n[0][0],0]);let y=!1;for(let w=1;w$[b]);y=f.map((b,E)=>_.some((z,W)=>{const Q=h[E];return Ki(b,z)&&(h[E]++,Iw===t.length-1?[f[I],p[I]]:zi).filter(w=>w!==zi))}),o.sort((a,l)=>{const[f,[h,p]]=a,[y,[w,I]]=l,O=Mn(h,w);return O!==0?O:Mn(p,I)}).map(a=>a[0])}function VE(t,e=0){const n=new Array;function r(i,s){for(let o=0,a=i.length;o0||s<0)?r(i[o],Math.max(-1,s-1)):n.push(i[o])}return r(t,e),n}const OM=t=>{let[e,n]=[Object.getPrototypeOf(t),Object.getOwnPropertyNames(t)],r=e;for(;!n.length&&e!==jE&&e!==gM;)r=e,n=Object.getOwnPropertyNames(e),e=Object.getPrototypeOf(e);const i={};return n.forEach(s=>i[s]=t[s]),[i,r]};function Ki(t,e){const n=[[t,e]];for(;n.length>0;){if([t,e]=n.pop(),t===e)continue;const r=Fo(t);if(r!==Fo(e)||Ih(t))return!1;if(Lo.has(r)){const i=Lo.get(r);if(i(t)!==i(e))return!1;continue}if(r===Array||r===Object){const i=Object.keys(t),s=Object.keys(e);if(i.length!==s.length||new Set(i.concat(s)).size!=i.length)return!1;for(const o of i)n.push([t[o],e[o]]);continue}return!1}return!n.length}function kM(t,e=Yl){const n=t.map(r=>zi);return My(t,e).forEach((r,i)=>{r.forEach(s=>n[s]=t[s])}),n.filter(r=>r!==zi)}function DM(t){const e=new Set,n=r=>{const i=Fo(r);if(Lo.has(i))return Lo.get(i)(r);const s=i===Object?"":i.name;if(Ih(r.toJSON))return`${s}(${JSON.stringify(r)})`;if(e.has(r))throw $E;e.add(r);try{if(i===Array)return"["+r.map(n).join(",")+"]";if(i!==Object){const[a,l]=OM(r);if(Lt(r))return`${s}${n([...r,a])}`;r=a}const o=Object.keys(r);return o.sort(),`${s}{`+o.map(a=>`${a}:${n(r[a])}`).join(",")+"}"}finally{e.delete(r)}};return n(t)}function KE(t,e){return e=e||Yl,cn(t)?null:e(t).toString()}function xM(t,e,n=Mn){if(uu(t))return t;const r=new Array,i=new Array;for(let s=0;sn(s[0],o[0])),Jl(i,r.map(s=>s[1]))}function CM(t,e,n=Yl){if(t.length<1)return new Map;const r=new Map,i=new Map;for(let s=0;sKi(h,a)):null;cn(f)?(i.set(a,[o]),r.has(l)?r.get(l).push(a):r.set(l,[a])):i.get(f).push(o)}}return i}const lm=5e4;function Jl(t,...e){return t instanceof Array?e.reduce((n,r)=>{let i=Math.ceil(r.length/lm),s=0;for(;i-- >0;)Array.prototype.push.apply(n,r.slice(s,s+lm)),s+=lm;return n},t):e.filter(Sh).reduce((n,r)=>(Object.assign(n,r),n),t)}function Ny(t,e){return Sh(t)?t[e]:void 0}function AM(t,e){if(e<1)return t;for(;e--&&t.length===1;)t=t[0];return t}function lu(t,e,n){let r=0;function i(o,a){let l=o;for(let f=0;f0)break;r+=1;const y=a.slice(f);l=l.reduce((w,I)=>{const O=i(I,y);return O!==void 0&&w.push(O),w},[]);break}else l=Ny(l,h);if(l===void 0)break}return l}const s=UE.has(Al(t).toLowerCase())?t:i(t,e.split("."));return s instanceof Array&&(n!=null&&n.unwrapArray)?AM(s,r):s}function Af(t,e,n){const r=e.split("."),i=r[0],s=r.slice(1).join("."),o=/^\d+$/.exec(i)!==null,a=r.length>1;let l,f;if(t instanceof Array)if(o)l=Ny(t,Number(i)),a&&(l=Af(l,s,n)),l=[l];else{l=[];for(const h of t)f=Af(h,e,n),n!=null&&n.preserveMissing?(f===void 0&&(f=zi),l.push(f)):f!==void 0&&l.push(f)}else{if(f=Ny(t,i),a&&(f=Af(f,s,n)),f===void 0)return;l=n!=null&&n.preserveKeys?Object.assign({},t):{},l[i]=f}return l}function By(t){if(t instanceof Array)for(let e=t.length-1;e>=0;e--)t[e]===zi?t.splice(e,1):By(t[e]);else if(wt(t))for(const e in t)Xn(t,e)&&By(t[e])}const z_=/^\d+$/;function Pl(t,e,n,r){const i=e.split("."),s=i[0],o=i.slice(1).join(".");if(i.length===1)(wt(t)||Lt(t)&&z_.test(s))&&n(t,s);else{r!=null&&r.buildGraph&&cn(t[s])&&(t[s]={});const a=t[s];if(!a)return;const l=!!(i.length>1&&z_.test(i[1]));a instanceof Array&&(r!=null&&r.descendArray)&&!l?a.forEach(f=>Pl(f,o,n,r)):Pl(a,o,n,r)}}function PM(t,e,n){Pl(t,e,(r,i)=>{r[i]=Ih(n)?n(r[i]):n},{buildGraph:!0})}function V_(t,e,n){Pl(t,e,(r,i)=>{if(r instanceof Array){if(/^\d+$/.test(i))r.splice(parseInt(i),1);else if(n&&n.descendArray)for(const s of r)wt(s)&&delete s[i]}else wt(r)&&delete r[i]},n)}const RM=/^\$[a-zA-Z0-9_]+$/;function Ko(t){return RM.test(t)}function WE(t){if(UE.has(Al(t).toLowerCase()))return Cf(t)?{$regex:t}:{$eq:t};if(Sh(t)){if(!Object.keys(t).some(Ko))return{$eq:t};if(Xn(t,"$regex")){const n=Object.assign({},t);return n.$regex=new RegExp(t.$regex,t.$options),delete n.$options,n}}return t}var vs;(function(t){t.CLONE_ALL="CLONE_ALL",t.CLONE_INPUT="CLONE_INPUT",t.CLONE_OUTPUT="CLONE_OUTPUT",t.CLONE_OFF="CLONE_OFF"})(vs||(vs={}));class Eo{constructor(e,n,r,i=Date.now()){this._opts=e,this._root=n,this._local=r,this.timestamp=i,this.update(n,r)}static init(e,n,r){return e instanceof Eo?new Eo(e._opts,cn(e.root)?n:e.root,Object.assign({},e.local,r)):new Eo(e,n,r)}update(e,n){var r;return this._root=e,this._local=n&&Object.assign({},n,{variables:Object.assign({},(r=this._local)===null||r===void 0?void 0:r.variables,n==null?void 0:n.variables)}),this}getOptions(){return Object.freeze(Object.assign(Object.assign({},this._opts),{context:$o.from(this._opts.context)}))}get root(){return this._root}get local(){return this._local}get idKey(){return this._opts.idKey}get collation(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collation}get processingMode(){var e;return((e=this._opts)===null||e===void 0?void 0:e.processingMode)||vs.CLONE_OFF}get useStrictMode(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useStrictMode}get scriptEnabled(){var e;return(e=this._opts)===null||e===void 0?void 0:e.scriptEnabled}get useGlobalContext(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useGlobalContext}get hashFunction(){var e;return(e=this._opts)===null||e===void 0?void 0:e.hashFunction}get collectionResolver(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collectionResolver}get jsonSchemaValidator(){var e;return(e=this._opts)===null||e===void 0?void 0:e.jsonSchemaValidator}get variables(){var e;return(e=this._opts)===null||e===void 0?void 0:e.variables}get context(){var e;return(e=this._opts)===null||e===void 0?void 0:e.context}}function Bg(t){return t instanceof Eo?t.getOptions():Object.freeze(Object.assign(Object.assign({idKey:"_id",scriptEnabled:!0,useStrictMode:!0,useGlobalContext:!0,processingMode:vs.CLONE_OFF},t),{context:t!=null&&t.context?$o.from(t==null?void 0:t.context):$o.init({})}))}var Ye;(function(t){t.ACCUMULATOR="accumulator",t.EXPRESSION="expression",t.PIPELINE="pipeline",t.PROJECTION="projection",t.QUERY="query",t.WINDOW="window"})(Ye||(Ye={}));class $o{constructor(e){this.operators={[Ye.ACCUMULATOR]:{},[Ye.EXPRESSION]:{},[Ye.PIPELINE]:{},[Ye.PROJECTION]:{},[Ye.QUERY]:{},[Ye.WINDOW]:{}};for(const[n,r]of Object.entries(e))this.addOperators(n,r)}static init(e={}){return new $o(e)}static from(e){return new $o(e.operators)}addOperators(e,n){for(const[r,i]of Object.entries(n))this.getOperator(e,r)||(this.operators[e][r]=i);return this}addAccumulatorOps(e){return this.addOperators(Ye.ACCUMULATOR,e)}addExpressionOps(e){return this.addOperators(Ye.EXPRESSION,e)}addQueryOps(e){return this.addOperators(Ye.QUERY,e)}addPipelineOps(e){return this.addOperators(Ye.PIPELINE,e)}addProjectionOps(e){return this.addOperators(Ye.PROJECTION,e)}addWindowOps(e){return this.addOperators(Ye.WINDOW,e)}getOperator(e,n){return e in this.operators&&this.operators[e][n]||null}}const co=$o.init();function K_(t,e){for(const[n,r]of Object.entries(e)){Yt(Ih(r)&&Ko(n),`'${n}' is not a valid operator`);const i=Oo(t,n,null);Yt(!i||r===i,`${n} already exists for '${t}' operators. Cannot change operator function once registered.`)}switch(t){case Ye.ACCUMULATOR:co.addAccumulatorOps(e);break;case Ye.EXPRESSION:co.addExpressionOps(e);break;case Ye.PIPELINE:co.addPipelineOps(e);break;case Ye.PROJECTION:co.addProjectionOps(e);break;case Ye.QUERY:co.addQueryOps(e);break;case Ye.WINDOW:co.addWindowOps(e);break}}function Oo(t,e,n){const{context:r,useGlobalContext:i}=n||{},s=r?r.getOperator(t,e):null;return!s&&i?co.getOperator(t,e):s}const W_={$$ROOT(t,e,n){return n.root},$$CURRENT(t,e,n){return t},$$REMOVE(t,e,n){},$$NOW(t,e,n){return new Date(n.timestamp)}},Fy={$$KEEP(t,e,n){return t},$$PRUNE(t,e,n){},$$DESCEND(t,e,n){if(!Xn(e,"$cond"))return t;let r;for(const[i,s]of Object.entries(t))if(Sh(s)){if(s instanceof Array){const o=[];for(let a of s)wt(a)&&(a=q_(a,e,n.update(a))),cn(a)||o.push(a);r=o}else r=q_(s,e,n.update(s));cn(r)?delete t[i]:t[i]=r}return t}};function Xr(t,e,n,r){var i;const s=Eo.init(r,t);if(n=n||"",Ko(n)){const o=Oo(Ye.EXPRESSION,n,r);if(o)return o(t,e,s);const a=Oo(Ye.ACCUMULATOR,n,r);if(a)return t instanceof Array||(t=Xr(t,e,null,s),e=null),Yt(t instanceof Array,`'${n}' target must be an array.`),a(t,e,s.update(null,s.local));throw new Error(`operator '${n}' is not registered`)}if(Vi(e)&&e.length>0&&e[0]==="$"){if(Xn(Fy,e))return e;let o=s.root;const a=e.split(".");if(Xn(W_,a[0]))o=W_[a[0]](t,null,s),e=e.slice(a[0].length+1);else if(a[0].slice(0,2)==="$$"){o=Object.assign({},s.variables,{this:t},(i=s.local)===null||i===void 0?void 0:i.variables);const l=a[0].slice(2);Yt(Xn(o,l),`Use of undefined variable: ${l}`),e=e.slice(2)}else e=e.slice(1);return e===""?o:lu(o,e)}if(Lt(e))return e.map(o=>Xr(t,o,null,s));if(wt(e)){const o={};for(const[a,l]of Object.entries(e))if(o[a]=Xr(t,l,a,s),[Ye.EXPRESSION,Ye.ACCUMULATOR].some(f=>!!Oo(f,a,r)))return Yt(Object.keys(e).length===1,"Invalid aggregation expression '"+JSON.stringify(e)+"'"),o[a];return o}return e}function q_(t,e,n){const r=Xr(t,e,null,n);return Xn(Fy,r)?Fy[r](t,e,n):r}function Ha(t){return t instanceof H_?t:new H_(t)}function TM(...t){let e=0;return Ha(()=>{for(;e{const i=r.next();if(i.done)throw Ly;return i.value}}else if(e instanceof Array){const r=e,i=r.length;let s=0;n=()=>{if(s0?this.push(si.TAKE,e):this}drop(e){return e>0?this.push(si.DROP,e):this}transform(e){const n=this;let r;return Ha(()=>(r||(r=Ha(e(n.value()))),r.next()))}value(){return this.isDone||(this.isDone=this.getNext(!0).done),this.yieldedValues}each(e){for(;;){const n=this.next();if(n.done)break;if(e(n.value)===!1)return!1}return!0}reduce(e,n){let r=this.next();for(n===void 0&&!r.done&&(n=r.value,r=this.next());!r.done;)n=e(n,r.value),r=this.next();return n}size(){return this.reduce((e,n)=>++e,0)}[Symbol.iterator](){return this}}class FM{constructor(e,n){this.pipeline=e,this.options=Bg(n)}stream(e){let n=Ha(e);const r=this.options.processingMode;(r==vs.CLONE_ALL||r==vs.CLONE_INPUT)&&n.map(Py);const i=new Array;if(!uu(this.pipeline))for(const s of this.pipeline){const o=Object.keys(s),a=o[0],l=Oo(Ye.PIPELINE,a,this.options);Yt(o.length===1&&!!l,`invalid pipeline operator ${a}`),i.push(a),n=l(n,s[a],this.options)}return(r==vs.CLONE_OUTPUT||r==vs.CLONE_ALL&&Ng([["$group","$unwind"],i]).length)&&n.map(Py),n}run(e){return this.stream(e).value()}}class LM{constructor(e,n,r,i){this.source=e,this.predicate=n,this.projection=r,this.options=i,this.operators=[],this.result=null,this.buffer=[]}fetch(){return this.result?this.result:(wt(this.projection)&&this.operators.push({$project:this.projection}),this.result=Ha(this.source).filter(this.predicate),this.operators.length>0&&(this.result=new FM(this.operators,this.options).stream(this.result)),this.result)}fetchAll(){const e=Ha([...this.buffer]);return this.buffer=[],TM(e,this.fetch())}all(){return this.fetchAll().value()}count(){return this.all().length}skip(e){return this.operators.push({$skip:e}),this}limit(e){return this.operators.push({$limit:e}),this}sort(e){return this.operators.push({$sort:e}),this}collation(e){return this.options=Object.assign(Object.assign({},this.options),{collation:e}),this}next(){if(this.buffer.length>0)return this.buffer.pop();const e=this.fetch().next();if(!e.done)return e.value}hasNext(){if(this.buffer.length>0)return!0;const e=this.fetch().next();return e.done?!1:(this.buffer.push(e.value),!0)}map(e){return this.all().map(e)}forEach(e){this.all().forEach(e)}[Symbol.iterator](){return this.fetchAll()}}class qs{constructor(e,n){this.condition=e,this.options=Bg(n),this.compiled=[],this.compile()}compile(){Yt(wt(this.condition),`query criteria must be an object: ${JSON.stringify(this.condition)}`);const e={};for(const[n,r]of Object.entries(this.condition)){if(n==="$where")Object.assign(e,{field:n,expr:r});else if(qa(["$and","$or","$nor","$expr","$jsonSchema"],n))this.processOperator(n,n,r);else{Yt(!Ko(n),`unknown top level operator: ${n}`);for(const[i,s]of Object.entries(WE(r)))this.processOperator(n,i,s)}e.field&&this.processOperator(e.field,e.field,e.expr)}}processOperator(e,n,r){const i=Oo(Ye.QUERY,n,this.options);if(!i)throw new Error(`unknown operator ${n}`);const s=i(e,r,this.options);this.compiled.push(s)}test(e){for(let n=0,r=this.compiled.length;nthis.test(r),n||{},this.options)}remove(e){return e.reduce((n,r)=>(this.test(r)||n.push(r),n),[])}}const $M=(t,e,n)=>{if(uu(e)||!wt(e))return t;let r=Mn;const i=n.collation;return wt(i)&&Vi(i.locale)&&(r=UM(i)),t.transform(s=>{const o=Object.keys(e);for(const a of o.reverse()){const l=CM(s,h=>lu(h,a),n.hashFunction),f=Array.from(l.keys()).sort(r);e[a]===-1&&f.reverse(),s=[],f.reduce((h,p)=>Jl(h,l.get(p)),s)}return s})},jM={1:"base",2:"accent",3:"variant"};function UM(t){const e={sensitivity:jM[t.strength||3],caseFirst:t.caseFirst==="off"?"false":t.caseFirst||"false",numeric:t.numericOrdering||!1,ignorePunctuation:t.alternate==="shifted"};(t.caseLevel||!1)===!0&&(e.sensitivity==="base"&&(e.sensitivity="case"),e.sensitivity==="accent"&&(e.sensitivity="variant"));const n=new Intl.Collator(t.locale,e);return(r,i)=>{if(!Vi(r)||!Vi(i))return Mn(r,i);const s=n.compare(r,i);return s<0?-1:s>0?1:0}}function wn(t){const e=(n,r,i)=>{const s={unwrapArray:!0},o=Math.max(1,n.split(".").length-1);return a=>{const l=lu(a,n,s);return t(l,r,Object.assign(Object.assign({},i),{depth:o}))}};return e.op="query",e}function qE(t,e,n){if(Ki(t,e)||cn(t)&&cn(e))return!0;if(t instanceof Array){const r=Ki.bind(null,e);return t.some(r)||VE(t,n==null?void 0:n.depth).some(r)}return!1}function zM(t,e,n){return!qE(t,e,n)}function HE(t,e,n){return cn(t)?e.some(r=>r===null):Ng([Gl(t),e],n==null?void 0:n.hashFunction).length>0}function VM(t,e,n){return!HE(t,e,n)}function KM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)<0)}function WM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)<=0)}function qM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)>0)}function HM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)>=0)}function QM(t,e,n){return Gl(t).some(r=>e.length===2&&r%e[0]===e[1])}function YM(t,e,n){const r=Gl(t),i=s=>Vi(s)&&IM(e.exec(s),n==null?void 0:n.useStrictMode);return r.some(i)||VE(r,1).some(i)}function GM(t,e,n){return(e===!1||e===0)&&t===void 0||(e===!0||e===1)&&t!==void 0}function JM(t,e,n){if(!Lt(t)||!Lt(e)||!t.length||!e.length)return!1;let r=!0;for(const i of e){if(!r)break;wt(i)&&qa(Object.keys(i),"$elemMatch")?r=QE(t,i.$elemMatch,n):i instanceof RegExp?r=t.some(s=>typeof s=="string"&&i.test(s)):r=t.some(s=>Ki(i,s))}return r}function XM(t,e,n){return Array.isArray(t)&&t.length===e}function ZM(t){return Ko(t)&&["$and","$or","$nor"].indexOf(t)===-1}function QE(t,e,n){if(Lt(t)&&!uu(t)){let r=o=>o,i=e;Object.keys(e).every(ZM)&&(i={temp:e},r=o=>({temp:o}));const s=new qs(i,n);for(let o=0,a=t.length;ot===null,Y_=t=>Hn(t)&&t>=mM&&t<=pM&&t.toString().indexOf(".")===-1,G_=t=>Hn(t)&&t>=vM&&t<=yM&&t.toString().indexOf(".")===-1,e2={array:Lt,bool:um,boolean:um,date:Ry,decimal:Hn,double:Hn,int:Y_,long:G_,number:Hn,null:Q_,object:wt,regex:Cf,regexp:Cf,string:Vi,undefined:cn,function:t=>{throw new Error("unsupported type key `function`.")},1:Hn,2:Vi,3:wt,4:Lt,6:cn,8:um,9:Ry,10:Q_,11:Cf,16:Y_,18:G_,19:Hn};function J_(t,e,n){const r=e2[e];return r?r(t):!1}function t2(t,e,n){return Array.isArray(e)?e.findIndex(r=>J_(t,r))>=0:J_(t,e)}function Eh(t,e,n){return Gl(t).some(r=>Al(r)===Al(e)&&n(r,e))}const X_=(t,e)=>{const n={};return t.split("").forEach((r,i)=>n[r]=e*(i+1)),n};Object.assign(Object.assign(Object.assign({},X_("ABCDEFGHIKLM",1)),X_("NOPQRSTUVWXY",-1)),{Z:0});const Z_={undefined:null,null:null,NaN:NaN,Infinity:new Error,"-Infinity":new Error};function sr(t,e=Z_){const n=Object.assign({},Z_,e),r=new Set(Object.keys(n));return(i,s,o)=>{const a=Xr(i,s,null,o);if(r.has(`${a}`)){const l=n[`${a}`];if(l instanceof Error)throw new Error(`cannot apply $${t.name} to -inf, value must in (-inf,inf)`);return l}return t(a)}}sr(Math.acos,{Infinity:1/0,0:new Error});sr(Math.acosh,{Infinity:1/0,0:new Error});sr(Math.asin);sr(Math.asinh,{Infinity:1/0,"-Infinity":-1/0});sr(Math.atan);sr(Math.atanh,{1:1/0,"-1":-1/0});sr(Math.cos);sr(Math.cosh,{"-Infinity":1/0,Infinity:1/0});const n2=Math.PI/180;sr(t=>t*n2,{Infinity:1/0,"-Infinity":1/0});const r2=180/Math.PI;sr(t=>t*r2,{Infinity:1/0,"-Infinity":-1/0});sr(Math.sin);sr(Math.sinh,{"-Infinity":-1/0,Infinity:1/0});sr(Math.tan);const i2=(t,e,n)=>{if(uu(e))return t;let r=Object.keys(e),i=!1;YE(e,n);const s=n.idKey;if(qa(r,s)){const a=e[s];(a===0||a===!1)&&(r=r.filter(zE.bind(null,[s])),i=r.length==0)}else r.push(s);const o=Eo.init(n);return t.map(a=>$y(a,e,o.update(a),r,i))};function $y(t,e,n,r,i){let s={},o=!1,a=!1;const l=[];i&&l.push(n.idKey);for(const f of r){let h;const p=e[f];if(f!==n.idKey&&qa([0,!1],p)&&(a=!0),f===n.idKey&&uu(p))h=t[f];else if(Vi(p))h=Xr(t,p,f,n);else if(!qa([1,!0],p))if(p instanceof Array)h=p.map(w=>{const I=Xr(t,w,null,n);return cn(I)?null:I});else if(wt(p)){const w=p,I=Object.keys(p),O=I.length==1?I[0]:"",$=Oo(Ye.PROJECTION,O,n);if($)O==="$slice"?Gl(w[O]).every(Hn)?(h=$(t,w[O],f,n),o=!0):h=Xr(t,w,f,n):h=$(t,w[O],f,n);else if(Ko(O))h=Xr(t,w[O],O,n);else if(Xn(t,f)){YE(w,n);let _=t[f];_ instanceof Array?h=_.map(b=>$y(b,w,n,I,!1)):(_=wt(_)?_:t,h=$y(_,w,n,I,!1))}else h=Xr(t,p,null,n)}else{l.push(f);continue}const y=Af(t,f,{preserveMissing:!0});y!==void 0&&Ty(s,y,{flatten:!0}),zE([0,1,!1,!0],p)&&(h===void 0?V_(s,f,{descendArray:!0}):PM(s,f,h))}if(By(s),(o||a||i)&&(s=Jl({},t,s),l.length>0))for(const f of l)V_(s,f,{descendArray:!0});return s}function YE(t,e){const n=[!1,!1];for(const[r,i]of Object.entries(t)){if(r===(e==null?void 0:e.idKey))return;i===0||i===!1?n[0]=!0:(i===1||i===!0)&&(n[1]=!0),Yt(!(n[0]&&n[1]),"Projection cannot have a mix of inclusion and exclusion.")}}const s2=(t,e,n)=>{Yt(Lt(e),"Invalid expression: $and expects value to be an Array.");const r=e.map(i=>new qs(i,n));return i=>r.every(s=>s.test(i))},GE=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $or expects value to be an Array");const r=e.map(i=>new qs(i,n));return i=>r.some(s=>s.test(i))},o2=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $nor expects value to be an array.");const r=GE("$or",e,n);return i=>!r(i)},a2=(t,e,n)=>{const r={};r[t]=WE(e);const i=new qs(r,n);return s=>!i.test(s)},u2=wn(qE),l2=wn(qM),c2=wn(HM),f2=wn(HE),d2=wn(KM),h2=wn(WM),p2=wn(zM),m2=wn(VM),y2=wn(QM),v2=wn(YM);wn(JM);const g2=wn(QE),w2=wn(XM),_2=wn(GM),b2=wn(t2);var eb=!1;function S2(t){return eb||(K_(Ye.PIPELINE,{$sort:$M,$project:i2}),K_(Ye.QUERY,{$and:s2,$eq:u2,$elemMatch:g2,$exists:_2,$gt:l2,$gte:c2,$in:f2,$lt:d2,$lte:h2,$ne:p2,$nin:m2,$mod:y2,$nor:o2,$not:a2,$or:GE,$regex:v2,$size:w2,$type:b2}),eb=!0),new qs(t)}function Rl(t,e){var n=Fn(t.primaryKey);e=$e(e);var r=Pn(e);if(typeof r.skip!="number"&&(r.skip=0),r.selector?(r.selector=r.selector,Object.entries(r.selector).forEach(([f,h])=>{(typeof h!="object"||h===null)&&(r.selector[f]={$eq:h})})):r.selector={},r.index){var i=Ua(r.index);i.includes(n)||i.push(n),r.index=i}if(r.sort){var l=r.sort.find(f=>TP(f)===n);l||(r.sort=r.sort.slice(0),r.sort.push({[n]:"asc"}))}else if(r.index)r.sort=r.index.map(f=>({[f]:"asc"}));else{if(t.indexes){var s=new Set;Object.entries(r.selector).forEach(([f,h])=>{var p=!1;typeof h=="object"&&h!==null?p=!!Object.keys(h).find(y=>Rg.has(y)):p=!0,p&&s.add(f)});var o=-1,a;t.indexes.forEach(f=>{var h=hg(f)?f:[f],p=h.findIndex(y=>!s.has(y));p>0&&p>o&&(o=p,a=h)}),a&&(r.sort=a.map(f=>({[f]:"asc"})))}r.sort||(r.sort=[{[n]:"asc"}])}return r}function Fg(t,e){if(!e.sort)throw le("SNH",{query:e});var n=[];e.sort.forEach(i=>{var s=Object.keys(i)[0],o=Object.values(i)[0];n.push({key:s,direction:o,getValueFn:XI(s)})});var r=(i,s)=>{for(var o=0;on.test(i);return r}function I2(t,e){return!e.sort||e.sort.length===0?[t]:e.sort.map(n=>Object.keys(n)[0])}var E2=new WeakMap;function O2(t){return Tr(E2,t,()=>{var e=t.collection,n=Rl(e.storageInstance.schema,Pn(t.mangoQuery)),r=e.schema.primaryPath,i=Fg(e.schema.jsonSchema,n),s=(f,h)=>{var p={docA:f,docB:h,rxQuery:t};return i(p.docA,p.docB)},o=Oh(e.schema.jsonSchema,n),a=f=>{var h={doc:f,rxQuery:t};return o(h.doc)},l={primaryKey:t.collection.schema.primaryPath,skip:n.skip,limit:n.limit,sortFields:I2(r,n),sortComparator:s,queryMatcher:a};return l})}function k2(t,e){if(!t.collection.database.eventReduce)return{runFullQueryAgain:!0};var n=O2(t),r=ye(t._result).docsData.slice(0),i=ye(t._result).docsDataMap,s=!1,o=e.map(l=>fT(l)).filter(JI),a=o.find(l=>{var f={queryParams:n,changeEvent:l,previousResults:r,keyDocumentMap:i},h=oM(f);if(h==="runFullQueryAgain")return!0;if(h!=="doNothing")return s=!0,aM(h,n,l,r,i),!1});return a?{runFullQueryAgain:!0}:{runFullQueryAgain:!1,changed:s,newResults:r}}var D2=function(){function t(){this._map=new Map}var e=t.prototype;return e.getByQuery=function(r){var i=r.toString();return Tr(this._map,i,()=>r)},t}();function x2(){return new D2}function tb(t,e){e.uncached=!0;var n=e.toString();t._map.delete(n)}function C2(t){return t.refCount$.observers.length}var A2=100,P2=30*1e3,R2=(t,e)=>(n,r)=>{if(!(r._map.size0)){if(a._lastEnsureEqual===0&&a._creationTimep._lastEnsureEqual-y._lastEnsureEqual),h=f.slice(0,l);h.forEach(p=>tb(r,p))}}},JE=R2(A2,P2),cm=new WeakSet;function T2(t){cm.has(t)||(cm.add(t),QP().then(()=>GP(200)).then(()=>{t.destroyed||t.cacheReplacementPolicy(t,t._queryCache),cm.delete(t)}))}var XE=function(){function t(n,r,i){this.cacheItemByDocId=new Map,this.registry=typeof FinalizationRegistry=="function"?new FinalizationRegistry(s=>{var o=s.docId,a=this.cacheItemByDocId.get(o);a&&(a.byRev.delete(s.revisionHeight),a.byRev.size===0&&this.cacheItemByDocId.delete(o))}):void 0,this.registerIdleTasks=[],this.primaryPath=n,this.changes$=r,this.documentCreator=i,r.subscribe(s=>{var o=s.documentId,a=this.cacheItemByDocId.get(o);if(a){var l=kg(s);a.last=l}})}var e=t.prototype;return e.getLatestDocumentData=function(r){var i=Mo(this.cacheItemByDocId,r);return i.last},e.getLatestDocumentDataIfExists=function(r){var i=this.cacheItemByDocId.get(r);if(i)return i.last},Vs(t,[{key:"getCachedRxDocument",get:function(){var n=M2(this);return xs(this,"getCachedRxDocument",n)}}]),t}();function M2(t){var e=t.primaryPath,n=t.cacheItemByDocId,r=t.registry,i=it.deepFreezeWhenDevMode,s=t.documentCreator,o=a=>{var l=a[e],f=D_(a._rev),h=Tr(n,l,()=>N2(a)),p=h.byRev,y=p.get(f),w=y?y.deref():void 0;return w||(a=i(a),w=s(a),p.set(f,F2(w)),r&&(t.registerIdleTasks.push(w),t.registerIdlePromise||(t.registerIdlePromise=yg().then(()=>{t.registerIdlePromise=void 0;var I=t.registerIdleTasks;I.length!==0&&(t.registerIdleTasks=[],I.forEach(O=>{r.register(O,{docId:O.primary,revisionHeight:D_(O.revision)})}))})))),w};return o}function ZE(t,e){for(var n=t.getCachedRxDocument,r=[],i=0;ie._data))}},{key:"docsDataMap",get:function(){var e=new Map;return this.documents.forEach(n=>{e.set(n.primary,n._data)}),xs(this,"docsDataMap",e)}},{key:"docsMap",get:function(){for(var e=new Map,n=this.documents,r=0;r{var p=this.collection._docCache.getLatestDocumentDataIfExists(h);if(p){if(!p._deleted){var y=this.collection._docCache.getCachedRxDocument(p);o.set(h,y)}}else a.push(h)}),a.length>0){var l=await this.collection.storageInstance.findDocumentsById(a,!1);l.forEach(h=>{var p=this.collection._docCache.getCachedRxDocument(h);o.set(p.primary,p)})}return o}var f=nO(this);return f.then(h=>(this._lastExecEnd=Ft(),h))},e.exec=function(r){if(r&&this.op!=="findOne")throw le("QU9",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return rb(this).then(()=>As(this.$)).then(i=>{if(!i&&r)throw le("QU10",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return i})},e.toString=function(){var r=fd({op:this.op,query:this.mangoQuery,other:this.other},!0),i=JSON.stringify(r);return this.toString=()=>i,i},e.getPreparedQuery=function(){var r={rxQuery:this,mangoQuery:Rl(this.collection.schema.jsonSchema,this.mangoQuery)};r.mangoQuery.selector._deleted={$eq:!1},r.mangoQuery.index&&r.mangoQuery.index.unshift("_deleted"),Mr("prePrepareQuery",r);var i=Xl(this.collection.schema.jsonSchema,r.mangoQuery);return this.getPreparedQuery=()=>i,i},e.doesDocumentDataMatch=function(r){return r._deleted?!1:this.queryMatcher(r)},e.remove=function(){return this.exec().then(r=>Array.isArray(r)?Promise.all(r.map(i=>i.remove())):r.remove())},e.update=function(r){throw pt("update")},e.where=function(r){throw pt("query-builder")},e.sort=function(r){throw pt("query-builder")},e.skip=function(r){throw pt("query-builder")},e.limit=function(r){throw pt("query-builder")},Vs(t,[{key:"$",get:function(){if(!this._$){var n=this.collection.$.pipe(lt(r=>!r.isLocal),Ql(null),Nr(()=>rb(this)),Mt(()=>this._result),Ai(Ci),Bo((r,i)=>!!(r&&r.time===ye(i).time)),lt(r=>!!r),Mt(r=>{var i=ye(r);return this.op==="count"?i.count:this.op==="findOne"?i.documents.length===0?null:i.documents[0]:this.op==="findByIds"?i.docsMap:i.documents.slice(0)}));this._$=_T(n,this.refCount$.pipe(lt(()=>!1)))}return this._$}},{key:"$$",get:function(){var n=this.collection.database.getReactivityFactory();return n.fromObservable(this.$,void 0)}},{key:"queryMatcher",get:function(){var n=this.collection.schema.jsonSchema,r=Rl(this.collection.schema.jsonSchema,this.mangoQuery);return xs(this,"queryMatcher",Oh(n,r))}},{key:"asRxQuery",get:function(){return this}}]),t}();function tl(){return{selector:{}}}function z2(t){return t.collection._queryCache.getByQuery(t)}function ra(t,e,n,r){Mr("preCreateRxQuery",{op:t,queryObj:e,collection:n,other:r});var i=new eO(t,e,n,r);return i=z2(i),T2(n),i}function tO(t){var e=t.asRxQuery.collection._changeEventBuffer.counter;return t._latestChangeEvent>=e}function rb(t){return t.collection.database.destroyed||tO(t)?Gn:(t._ensureEqualQueue=t._ensureEqualQueue.then(()=>V2(t)),t._ensureEqualQueue)}function V2(t){if(t._lastEnsureEqual=Ft(),t.collection.database.destroyed||tO(t))return Gn;var e=!1,n=!1;if(t._latestChangeEvent===-1&&(n=!0),!n){var r=t.asRxQuery.collection._changeEventBuffer.getFrom(t._latestChangeEvent+1);if(r===null)n=!0;else{t._latestChangeEvent=t.asRxQuery.collection._changeEventBuffer.counter;var i=t.asRxQuery.collection._changeEventBuffer.reduceByLastOfDoc(r);if(t.op==="count"){var s=ye(t._result).count,o=s;i.forEach(l=>{var f=l.previousDocumentData&&t.doesDocumentDataMatch(l.previousDocumentData),h=t.doesDocumentDataMatch(l.documentData);!f&&h&&o++,f&&!h&&o--}),o!==s&&(e=!0,t._setResultData(o))}else{var a=k2(t,i);a.runFullQueryAgain?n=!0:a.changed&&(e=!0,t._setResultData(a.newResults))}}}return n?t._execOverDatabase().then(l=>(t._latestChangeEvent=t.collection._changeEventBuffer.counter,typeof l=="number"?((!t._result||l!==t._result.count)&&(e=!0,t._setResultData(l)),e):((!t._result||!NP(t.collection.schema.primaryPath,l,t._result.docsData))&&(e=!0,t._setResultData(l)),e))):Promise.resolve(e)}function Xl(t,e){if(!e.sort)throw le("SNH",{query:e});var n=uM(t,e);return{query:e,queryPlan:n}}async function nO(t){var e=[],n=t.collection;if(t.isFindOneByIdQuery)if(Array.isArray(t.isFindOneByIdQuery)){var r=t.isFindOneByIdQuery;if(r=r.filter(h=>{var p=t.collection._docCache.getLatestDocumentDataIfExists(h);return p?(p._deleted||e.push(p),!1):!0}),r.length>0){var i=await n.storageInstance.findDocumentsById(r,!1);za(e,i)}}else{var s=t.isFindOneByIdQuery,o=t.collection._docCache.getLatestDocumentDataIfExists(s);if(!o){var a=await n.storageInstance.findDocumentsById([s],!1);a[0]&&(o=a[0])}o&&!o._deleted&&e.push(o)}else{var l=t.getPreparedQuery(),f=await n.storageInstance.query(l);e=f.documents}return e}function K2(t,e){if(!e.skip&&e.selector&&Object.keys(e.selector).length===1&&e.selector[t]){var n=e.selector[t];if(typeof n=="string")return n;if(Object.keys(n).length===1&&typeof n.$eq=="string"||Object.keys(n).length===1&&Array.isArray(n.$eq)&&!n.$eq.find(r=>typeof r!="string"))return n.$eq}return!1}var W2="_rxdb_internal";async function Zl(t,e){var n=await t.findDocumentsById([e],!1),r=n[0];if(r)return r}async function Tl(t,e,n){var r=await t.bulkWrite([e],n);if(r.error.length>0){var i=r.error[0];throw i}else{var s=r.success[0];return s}}function q2(t,e){var n=Zl(t,e),r=t.changeStream().pipe(Mt(i=>i.events.find(s=>s.documentId===e)),lt(i=>!!i),Mt(i=>Promise.resolve(ye(i).documentData)),Ql(n),Cl(i=>i),lt(i=>!!i));return r}function Ml(t){return Object.assign({},...t)}function rO(t,e,n){var r=e.documentData,i=e.previousDocumentData,s={documentId:e.documentId,collectionName:n?n.name:void 0,isLocal:t,operation:e.operation,documentData:it.deepFreezeWhenDevMode(r),previousDocumentData:it.deepFreezeWhenDevMode(i)};return s}function yd(t,e,n,r){if(r)throw r.status===409?le("CONFLICT",{collection:t.name,id:e,writeError:r,data:n}):r.status===422?le("VD2",{collection:t.name,id:e,writeError:r,data:n}):r}function iO(t,e,n,r,i,s,o){for(var a=!!t.schema.attachments,l=[],f=[],h=[],p=su(10),y={id:p,events:[],checkpoint:null,context:i,startTime:Ft(),endTime:0},w=y.events,I=[],O=[],$=[],_=n.size>0,b,E=r.length,z=function(){var Q=r[W],H=Q.document,X=Q.previous,U=H[e],ee=H._deleted,ce=X&&X._deleted,de=void 0;_&&(de=n.get(U));var Pe;if(de){var Te=de._rev;if(!X||X&&Te!==X._rev){var Dt={isError:!0,status:409,documentId:U,writeRow:Q,documentInDb:de};return h.push(Dt),1}var G=a?fm(Q):Q;a&&(ee?X&&Object.keys(X._attachments).forEach(ft=>{O.push({documentId:U,attachmentId:ft,digest:ye(X)._attachments[ft].digest})}):(Object.entries(H._attachments).find(([ft,Ct])=>{var Un=X?X._attachments[ft]:void 0;return!Un&&!Ct.data&&(Pe={documentId:U,documentInDb:de,isError:!0,status:510,writeRow:Q,attachmentId:ft}),!0}),Pe||Object.entries(H._attachments).forEach(([ft,Ct])=>{var Un=X?X._attachments[ft]:void 0;if(!Un)I.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest});else{var tn=G.document._attachments[ft].digest;Ct.data&&Un.digest!==tn&&$.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest})}}))),Pe?h.push(Pe):(a?(f.push(fm(G)),o&&o(H)):(f.push(G),o&&o(H)),b=G);var oe=null,ue=null,Re=null;if(ce&&!ee)Re="INSERT",oe=a?gs(H):H;else if(X&&!ce&&!ee)Re="UPDATE",oe=a?gs(H):H,ue=X;else if(ee)Re="DELETE",oe=ye(H),ue=X;else throw le("SNH",{args:{writeRow:Q}});var xt={documentId:U,documentData:oe,previousDocumentData:ue,operation:Re};w.push(xt)}else{var ot=!!ee;if(a&&Object.entries(H._attachments).forEach(([ft,Ct])=>{Ct.data?I.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest}):(Pe={documentId:U,isError:!0,status:510,writeRow:Q,attachmentId:ft},h.push(Pe))}),Pe||(a?(l.push(fm(Q)),s&&s(H)):(l.push(Q),s&&s(H)),b=Q),!ot){var ct={documentId:U,operation:"INSERT",documentData:a?gs(H):H,previousDocumentData:a&&X?gs(X):X};w.push(ct)}}},W=0;W{e._attachments[n]=Q2(r)}),e}function Lg(t){var e=$e(t);return e._meta=$e(t._meta),e}function $g(t,e,n){it.deepFreezeWhenDevMode(n);var r=Fn(n.primaryKey);function i(o){var a=$e(o.document);if(a._meta=$e(a._meta),it.isDevMode()){a=oE(r,n,a);try{typeof structuredClone=="function"?structuredClone(o):JSON.parse(JSON.stringify(o))}catch{throw le("DOC24",{collection:e.collectionName,document:o.document})}o.previous,o.previous&&Object.keys(o.previous._meta).forEach(l=>{if(!Object.prototype.hasOwnProperty.call(o.document._meta,l))throw le("SNH",{dataBefore:o.previous,dataAfter:o.document})})}return a._meta.lwt=Ft(),a._rev=ji(t.token,o.previous),{document:a,previous:o.previous}}var s={originalStorageInstance:e,schema:e.schema,internals:e.internals,collectionName:e.collectionName,databaseName:e.databaseName,options:e.options,bulkWrite(o,a){var l=o.map(f=>i(f));return t.lockedRun(()=>e.bulkWrite(l,a)).then(f=>{var h={error:[],success:f.success.slice(0)},p=f.error.filter(w=>w.status===409&&!w.writeRow.previous&&!w.writeRow.document._deleted&&ye(w.documentInDb)._deleted?!0:(h.error.push(w),!1));if(p.length>0){var y=p.map(w=>({previous:w.documentInDb,document:Object.assign({},w.writeRow.document,{_rev:ji(t.token,w.documentInDb)})}));return t.lockedRun(()=>e.bulkWrite(y,a)).then(w=>(za(h.error,w.error),za(h.success,w.success),h))}return f})},query(o){return t.lockedRun(()=>e.query(o))},count(o){return t.lockedRun(()=>e.count(o))},findDocumentsById(o,a){return t.lockedRun(()=>e.findDocumentsById(o,a))},getAttachmentData(o,a,l){return t.lockedRun(()=>e.getAttachmentData(o,a,l))},getChangedDocumentsSince:e.getChangedDocumentsSince?(o,a)=>t.lockedRun(()=>e.getChangedDocumentsSince(ye(o),a)):void 0,cleanup(o){return t.lockedRun(()=>e.cleanup(o))},remove(){return t.storageInstances.delete(s),t.lockedRun(()=>e.remove())},close(){return t.storageInstances.delete(s),t.lockedRun(()=>e.close())},changeStream(){return e.changeStream()},conflictResultionTasks(){return e.conflictResultionTasks()},resolveConflictResultionTask(o){if(o.output.isEqual)return e.resolveConflictResultionTask(o);var a=Object.assign({},o.output.documentData,{_meta:Ks(),_rev:Rn(),_attachments:{}}),l=$e(a);return delete l._meta,delete l._rev,delete l._attachments,e.resolveConflictResultionTask({id:o.id,output:{isEqual:!1,documentData:l}})}};return t.storageInstances.add(s),s}function sO(t){if(t.schema.keyCompression)throw le("UT5",{args:{params:t}});if(vd(t.schema))throw le("UT6",{args:{params:t}});if(t.schema.attachments&&t.schema.attachments.compression)throw le("UT7",{args:{params:t}})}function vd(t){return!!(t.encrypted&&t.encrypted.length>0||t.attachments&&t.attachments.encrypted)}function Y2(t,e,n){var r=Fn(t.schema.primaryKey),i=n?n.lwt:pg,s=n?n.id:"";return Rl(t.schema,{selector:{$or:[{"_meta.lwt":{$gt:i}},{"_meta.lwt":{$eq:i},[r]:{$gt:n?s:""}}],"_meta.lwt":{$gte:i}},sort:[{"_meta.lwt":"asc"},{[r]:"asc"}],skip:0,limit:e})}async function oO(t,e,n){if(t.getChangedDocumentsSince)return t.getChangedDocumentsSince(e,n);var r=Fn(t.schema.primaryKey),i=Xl(t.schema,Y2(t,e,n)),s=await t.query(i),o=s.documents,a=xP(o);return{documents:o,checkpoint:a?{id:a[r],lwt:a._meta.lwt}:n||{id:"",lwt:0}}}var aO=function(){function t(n,r,i,s){this.queueByDocId=new Map,this.isRunning=!1,this.storageInstance=n,this.primaryPath=r,this.preWrite=i,this.postWrite=s}var e=t.prototype;return e.addWrite=function(r,i){var s=r[this.primaryPath],o=Tr(this.queueByDocId,s,()=>[]),a=new Promise((l,f)=>{var h={lastKnownDocumentState:r,modifier:i,resolve:l,reject:f};ye(o).push(h),this.triggerRun()});return a},e.triggerRun=async function(){if(!(this.isRunning===!0||this.queueByDocId.size===0)){this.isRunning=!0;var r=[],i=this.queueByDocId;this.queueByDocId=new Map,await Promise.all(Array.from(i.entries()).map(async([o,a])=>{var l=G2(a.map(p=>p.lastKnownDocumentState)),f=l;for(var h of a)try{f=await h.modifier(Pn(f))}catch(p){h.reject(p),h.reject=()=>{},h.resolve=()=>{}}try{await this.preWrite(f,l)}catch(p){a.forEach(y=>y.reject(p));return}r.push({previous:l,document:f})}));var s=r.length>0?await this.storageInstance.bulkWrite(r,"incremental-write"):{error:[],success:[]};return await Promise.all(s.success.map(o=>{var a=o[this.primaryPath];this.postWrite(o);var l=Mo(i,a);l.forEach(f=>f.resolve(o))})),s.error.forEach(o=>{var a=o.documentId,l=Mo(i,a),f=_h(o);if(f){var h=Tr(this.queueByDocId,a,()=>[]);l.reverse().forEach(y=>{y.lastKnownDocumentState=ye(f.documentInDb),ye(h).unshift(y)})}else{var p=aR(o);l.forEach(y=>y.reject(p))}}),this.isRunning=!1,this.triggerRun()}},t}();function ib(t){var e=async n=>{var r=MP(n);r._deleted=n._deleted;var i=await t(r),s=Object.assign({},i,{_meta:n._meta,_attachments:n._attachments,_rev:n._rev,_deleted:typeof i._deleted<"u"?i._deleted:n._deleted});return typeof s._deleted>"u"&&(s._deleted=!1),s};return e}function G2(t){var e=t[0],n=Va(e._rev).height;return t.forEach(r=>{var i=Va(r._rev).height;i>n&&(e=r,n=i)}),e}var kh={get primaryPath(){var t=this;if(t.isInstanceOfRxDocument)return t.collection.schema.primaryPath},get primary(){var t=this;if(t.isInstanceOfRxDocument)return t._data[t.primaryPath]},get revision(){var t=this;if(t.isInstanceOfRxDocument)return t._data._rev},get deleted$(){var t=this;if(t.isInstanceOfRxDocument)return t.$.pipe(Mt(e=>e._data._deleted))},get deleted$$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.deleted$,t.getLatest().deleted)},get deleted(){var t=this;if(t.isInstanceOfRxDocument)return t._data._deleted},getLatest(){var t=this.collection._docCache.getLatestDocumentData(this.primary);return this.collection._docCache.getCachedRxDocument(t)},get $(){var t=this;return t.collection.$.pipe(lt(e=>!e.isLocal),lt(e=>e.documentId===this.primary),Mt(e=>kg(e)),Ql(t.collection._docCache.getLatestDocumentData(this.primary)),Bo((e,n)=>e._rev===n._rev),Mt(e=>this.collection._docCache.getCachedRxDocument(e)),Ai(Ci))},get $$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.$,t.getLatest()._data)},get$(t){if(it.isDevMode()){if(t.includes(".item."))throw le("DOC1",{path:t});if(t===this.primaryPath)throw le("DOC2");if(this.collection.schema.finalFields.includes(t))throw le("DOC3",{path:t});var e=Ui(this.collection.schema.jsonSchema,t);if(!e)throw le("DOC4",{path:t})}return this.$.pipe(Mt(n=>Ts(n,t)),Bo())},get$$(t){var e=this.get$(t),n=this.collection.database.getReactivityFactory();return n.fromObservable(e,this.getLatest().get(t))},populate(t){var e=Ui(this.collection.schema.jsonSchema,t),n=this.get(t);if(!n)return mg;if(!e)throw le("DOC5",{path:t});if(!e.ref)throw le("DOC6",{path:t,schemaObj:e});var r=this.collection.database.collections[e.ref];if(!r)throw le("DOC7",{ref:e.ref,path:t,schemaObj:e});return e.type==="array"?r.findByIds(n).exec().then(i=>{var s=i.values();return Array.from(s)}):r.findOne(n).exec()},get(t){return Tr(this._propertyCache,t,()=>{var e=Ts(this._data,t);if(typeof e!="object"||e===null||Array.isArray(e))return it.deepFreezeWhenDevMode(e);var n=this,r=new Proxy($e(e),{get(i,s){if(typeof s!="string")return i[s];var o=s.charAt(s.length-1);if(s.endsWith("$$")){var a=s.slice(0,-2);return n.get$$(zu(t+"."+a))}else if(o==="$"){var l=s.slice(0,-1);return n.get$(zu(t+"."+l))}else if(o==="_"){var f=s.slice(0,-1);return n.populate(zu(t+"."+f))}else return n.get(zu(t+"."+s))}});return r})},toJSON(t=!1){if(t)return it.deepFreezeWhenDevMode(this._data);var e=$e(this._data);return delete e._rev,delete e._attachments,delete e._deleted,delete e._meta,it.deepFreezeWhenDevMode(e)},toMutableJSON(t=!1){return Pn(this.toJSON(t))},update(t){throw pt("update")},incrementalUpdate(t){throw pt("update")},updateCRDT(t){throw pt("crdt")},putAttachment(){throw pt("attachments")},getAttachment(){throw pt("attachments")},allAttachments(){throw pt("attachments")},get allAttachments$(){throw pt("attachments")},async modify(t,e){var n=this._data,r=await ib(t)(n);return this._saveData(r,n)},incrementalModify(t,e){return this.collection.incrementalWriteQueue.addWrite(this._data,ib(t)).then(n=>this.collection._docCache.getCachedRxDocument(n))},patch(t){var e=this._data,n=Pn(e);return Object.entries(t).forEach(([r,i])=>{n[r]=i}),this._saveData(n,e)},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t,e){if(t=$e(t),this._data._deleted)throw le("DOC11",{id:this.primary,document:this});await lO(this.collection,t,e);var n=await this.collection.storageInstance.bulkWrite([{previous:e,document:t}],"rx-document-save-data"),r=n.error[0];return yd(this.collection,this.primary,t,r),await this.collection._runHooks("post","save",t,this),this.collection._docCache.getCachedRxDocument(n.success[0])},remove(){var t=this.collection;if(this.deleted)return Promise.reject(le("DOC13",{document:this,id:this.primary}));var e=$e(this._data),n;return t._runHooks("pre","remove",e,this).then(async()=>{e._deleted=!0;var r=await t.storageInstance.bulkWrite([{previous:this._data,document:e}],"rx-document-remove"),i=r.error[0];return yd(t,this.primary,e,i),r.success[0]}).then(r=>(n=r,this.collection._runHooks("post","remove",e,this))).then(()=>this.collection._docCache.getCachedRxDocument(n))},incrementalRemove(){return this.incrementalModify(async t=>(await this.collection._runHooks("pre","remove",t,this),t._deleted=!0,t)).then(async t=>(await this.collection._runHooks("post","remove",t._data,t),t))},destroy(){throw le("DOC14")}};function uO(t=kh){var e=function(r,i){this.collection=r,this._data=i,this._propertyCache=new Map,this.isInstanceOfRxDocument=!0};return e.prototype=t,e}function J2(t,e,n){var r=new t(e,n);return Mr("createRxDocument",r),r}function lO(t,e,n){return e._meta=Object.assign({},n._meta,e._meta),it.isDevMode()&&t.schema.validateChange(n,e),t._runHooks("pre","save",e,n)}var ko="collection",jg="storage-token",Pf="rx-migration-status",X2="RxInternalDocument",Ug=bh({version:0,title:X2,primaryKey:{key:"id",fields:["context","key"],separator:"|"},type:"object",properties:{id:{type:"string",maxLength:200},key:{type:"string"},context:{type:"string",enum:[ko,jg,Pf,"OTHER"]},data:{type:"object",additionalProperties:!0}},indexes:[],required:["key","context","data"],additionalProperties:!1,sharding:{shards:1,mode:"collection"}});function Qa(t,e){return Ws(Ug,{key:t,context:e})}async function zg(t){var e=Xl(t.schema,{selector:{context:ko,_deleted:{$eq:!1}},sort:[{id:"asc"}],skip:0}),n=await t.query(e),r=n.documents;return r}var cO="storageToken",Z2=Qa(cO,jg);async function eN(t){var e=su(10),n=t.password?await t.hashFunction(JSON.stringify(t.password)):void 0,r={id:Z2,context:jg,key:cO,data:{rxdbVersion:t.rxdbVersion,token:e,instanceToken:t.token,passwordHash:n},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}},i=await t.internalStore.bulkWrite([{document:r}],"internal-add-storage-token");if(i.success[0])return i.success[0];var s=ye(i.error[0]);if(s.isError&&_h(s)){var o=s;if(!tN(o.documentInDb.data.rxdbVersion,t.rxdbVersion))throw le("DM5",{args:{database:t.name,databaseStateVersion:o.documentInDb.data.rxdbVersion,codeVersion:t.rxdbVersion}});if(n&&n!==o.documentInDb.data.passwordHash)throw le("DB1",{passwordHash:n,existingPasswordHash:o.documentInDb.data.passwordHash});var a=o.documentInDb;return ye(a)}throw s}function tN(t,e){if(!t||e.includes("beta")&&e!==t)return!1;var n=t.split(".")[0],r=e.split(".")[0];return n===r}async function fO(t,e,n){if(t.schema.version!==n.version)throw le("SNH",{schema:n,version:t.schema.version,name:t.name,collection:t,args:{storageCollectionName:e}});for(var r=jy(t.name,t.schema.jsonSchema),i=Qa(r,ko);;){var s=await Zl(t.database.internalStore,i),o=Pn(ye(s)),a=o.data.connectedStorages.find(l=>l.collectionName===e&&l.schema.version===n.version);if(a)return;o.data.connectedStorages.push({collectionName:e,schema:n});try{await Tl(t.database.internalStore,{previous:ye(s),document:o},"add-connected-storage-to-collection")}catch(l){if(!_h(l))throw l}}}function jy(t,e){return t+"-"+e.version}function dm(t,e){return e=$e(e),e=dR(t,e),e=oE(t.primaryPath,t.jsonSchema,e),e._meta=Ks(),Object.prototype.hasOwnProperty.call(e,"_deleted")||(e._deleted=!1),Object.prototype.hasOwnProperty.call(e,"_attachments")||(e._attachments={}),Object.prototype.hasOwnProperty.call(e,"_rev")||(e._rev=Rn()),e}async function nN(t,e){e.multiInstance=t.multiInstance;var n=await t.storage.createStorageInstance(e);return n}async function dO(t,e,n,r,i,s,o){var a=await zg(e),l=a.filter(y=>y.data.name===i),f=[];l.forEach(y=>{f.push({collectionName:y.data.name,schema:y.data.schema,isCollection:!0}),y.data.connectedStorages.forEach(w=>f.push({collectionName:w.collectionName,isCollection:!1,schema:w.schema}))});var h=new Set;if(f=f.filter(y=>{var w=y.collectionName+"||"+y.schema.version;return h.has(w)?!1:(h.add(w),!0)}),await Promise.all(f.map(async y=>{var w=await t.createStorageInstance({collectionName:y.collectionName,databaseInstanceToken:n,databaseName:r,multiInstance:!1,options:{},schema:y.schema,password:s,devMode:it.isDevMode()});await w.remove(),y.isCollection&&await No("postRemoveRxCollection",{storage:t,databaseName:r,collectionName:i})})),o){var p=l.map(y=>{var w=Lg(y);return w._deleted=!0,w._meta.lwt=Ft(),w._rev=ji(n,y),{previous:y,document:w}});await e.bulkWrite(p,"rx-database-remove-collection-all")}}var rN=function(){function t(n){this.subs=[],this.limit=100,this.counter=0,this.eventCounterMap=new WeakMap,this.buffer=[],this.collection=n,this.subs.push(this.collection.$.pipe(lt(r=>!r.isLocal)).subscribe(r=>this._handleChangeEvent(r)))}var e=t.prototype;return e._handleChangeEvent=function(r){for(this.counter++,this.buffer.push(r),this.eventCounterMap.set(r,this.counter);this.buffer.length>this.limit;)this.buffer.shift()},e.getArrayIndexByPointer=function(r){var i=this.buffer[0],s=this.eventCounterMap.get(i);if(ri(o))},e.reduceByLastOfDoc=function(r){return r.slice(0)},e.destroy=function(){this.subs.forEach(r=>r.unsubscribe())},t}();function iN(t){return new rN(t)}var sN=new WeakMap;function oN(t){var e=t.schema.getDocumentPrototype(),n=lN(t),r=kh,i={};return[e,n,r].forEach(s=>{var o=Object.getOwnPropertyNames(s);o.forEach(a=>{var l=Object.getOwnPropertyDescriptor(s,a),f=!0;(a.startsWith("_")||a.endsWith("_")||a.startsWith("$")||a.endsWith("$"))&&(f=!1),typeof l.value=="function"?Object.defineProperty(i,a,{get(){return l.value.bind(this)},enumerable:f,configurable:!1}):(l.enumerable=f,l.configurable=!1,l.writable&&(l.writable=!1),Object.defineProperty(i,a,l))})}),i}function aN(t){return Tr(sN,t,()=>uO(oN(t)))}function uN(t,e){var n=J2(aN(t),t,it.deepFreezeWhenDevMode(e));return t._runHooksSync("post","create",e,n),Mr("postCreateRxDocument",n),n}function lN(t){var e={};return Object.entries(t.methods).forEach(([n,r])=>{e[n]=r}),e}async function gd(t,e){var n=Ws(t.input.metaInstance.schema,{isCheckpoint:"1",itemId:e}),r=await t.input.metaInstance.findDocumentsById([n],!1),i=r[0];if(t.lastCheckpointDoc[e]=i,i)return i.checkpointData}async function wd(t,e,n){t.checkpointQueue=t.checkpointQueue.then(async()=>{var r=t.lastCheckpointDoc[e];if(n&&!t.events.canceled.getValue()&&(!r||JSON.stringify(r.checkpointData)!==JSON.stringify(n))){var i={id:"",isCheckpoint:"1",itemId:e,_deleted:!1,_attachments:{},checkpointData:n,_meta:Ks(),_rev:Rn()};for(i.id=Ws(t.input.metaInstance.schema,i);!t.events.canceled.getValue();){if(r&&(i.checkpointData=Ml([r.checkpointData,i.checkpointData])),i._meta.lwt=Ft(),i._rev=ji(await t.checkpointKey,r),t.events.canceled.getValue())return;var s=await t.input.metaInstance.bulkWrite([{previous:r,document:i}],"replication-set-checkpoint"),o=s.success[0];if(o){t.lastCheckpointDoc[e]=o;return}else{var a=s.error[0];if(a.status!==409)throw a;r=ye(a.documentInDb),i._rev=ji(await t.checkpointKey,r)}}}}),await t.checkpointQueue}async function cN(t){var e=await t.hashFunction([t.identifier,t.forkInstance.databaseName,t.forkInstance.collectionName].join("||"));return"rx_storage_replication_"+e}function sb(t,e,n,r,i){var s=Object.assign({},r,{_attachments:e&&r._attachments?r._attachments:{},_meta:n?r._meta:{lwt:Ft()},_rev:n?r._rev:Rn()});return s._rev||(s._rev=ji(t,i)),s}function cs(t,e,n){var r=$e(t);return e||delete r._attachments,n||(delete r._meta,delete r._rev),r}function Uy(t,e){return t.hasAttachments?e.map(n=>{var r=Pn(n.document);return r.docData=gs(r.docData),{document:r,previous:n.previous}}):e}function zy(t){for(;;)if(t.underlyingPersistentStorage)t=t.underlyingPersistentStorage;else return t}var Rf="RxReplicationProtocolMetaData";function Vy(t,e){var n=uR(t),r={title:Rf,primaryKey:{key:"id",fields:["itemId","isCheckpoint"],separator:"|"},type:"object",version:t.version,additionalProperties:!1,properties:{id:{type:"string",minLength:1,maxLength:n+2},isCheckpoint:{type:"string",enum:["0","1"],minLength:1,maxLength:1},itemId:{type:"string",maxLength:n>4?n:4},checkpointData:{type:"object",additionalProperties:!0},docData:{type:"object",properties:t.properties},isResolvedConflict:{type:"string"}},keyCompression:t.keyCompression,required:["id","isCheckpoint","itemId"]};e&&(r.encrypted=["docData"]);var i=bh(r);return i}function hO(t,e){return t.input.metaInstance.findDocumentsById(e.map(n=>{var r=Ws(t.input.metaInstance.schema,{itemId:n,isCheckpoint:"0"});return r}),!0).then(n=>{var r={};return Object.values(n).forEach(i=>{r[i.itemId]={docData:i.docData,metaDocument:i}}),r})}async function _d(t,e,n,r){var i=e[t.primaryPath],s=n?Lg(n):{id:"",isCheckpoint:"0",itemId:i,docData:e,_attachments:{},_deleted:!1,_rev:Rn(),_meta:{lwt:0}};s.docData=e,r&&(s.isResolvedConflict=r),s._meta.lwt=Ft(),s.id=Ws(t.input.metaInstance.schema,s),s._rev=ji(await t.checkpointKey,n);var o={previous:n,document:s};return o}async function fN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.downstream){var e=await gd(t,"down");e||await wd(t,"down",t.input.initialCheckpoint.downstream)}var n=await t.input.hashFunction(t.input.identifier),r=t.input.replicationHandler,i=0,s=[];function o(I){t.stats.down.addNewTask=t.stats.down.addNewTask+1;var O={time:i++,task:I};s.push(O),t.streamQueue.down=t.streamQueue.down.then(()=>{for(var $=[];s.length>0;){t.events.active.down.next(!0);var _=ye(s.shift());if(!(_.time{t.events.active.down.next(!1),!t.firstSyncDone.down.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.down.next(!0)})}if(o("RESYNC"),!t.events.canceled.getValue()){var a=r.masterChangeStream$.pipe(Nr(async I=>(await As(t.events.active.up.pipe(lt(O=>!O))),I))).subscribe(I=>{t.stats.down.masterChangeStreamEmit=t.stats.down.masterChangeStreamEmit+1,o(I)});As(t.events.canceled.pipe(lt(I=>!!I))).then(()=>a.unsubscribe())}var l=-1;async function f(){if(t.stats.down.downstreamResyncOnce=t.stats.down.downstreamResyncOnce+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"down"));for(var I=await t.checkpointQueue,O=[];!t.events.canceled.getValue();){l=i++;var $=await r.masterChangesSince(I,t.input.pullBatchSize);if($.documents.length===0||(I=Ml([I,$.checkpoint]),O.push(w($.documents,I)),$.documents.length{if(_==="RESYNC")throw new Error("SNH");za(O,_.documents),$=Ml([$,_.checkpoint])}),w(O,ye($))}var p=un,y={docs:{}};function w(I,O){var $=t.primaryPath;return t.stats.down.persistFromMaster=t.stats.down.persistFromMaster+1,I.forEach(_=>{var b=_[$];y.docs[b]=_}),y.checkpoint=O,p=p.then(()=>{var _=y.docs;y.docs={};var b=y.checkpoint,E=Object.keys(_);if(t.events.canceled.getValue()||E.length===0)return un;var z=[],W={},Q={},H=[];return Promise.all([t.input.forkInstance.findDocumentsById(E,!0),hO(t,E)]).then(([X,U])=>{var ee=new Map;return X.forEach(ce=>ee.set(ce[$],ce)),Promise.all(E.map(async ce=>{var de=ee.get(ce),Pe=de?cs(de,t.hasAttachments,!1):void 0,ot=_[ce],ct=U[ce];if(ct&&de&&ct.metaDocument.isResolvedConflict===de._rev)return un;var Te=!ct||!Pe?!1:await t.input.conflictHandler({realMasterState:ct.docData,newDocumentState:Pe},"downstream-check-if-equal-0").then(Re=>Re.isEqual);if(!Te&&ct&&ct.docData._rev&&de&&de._meta[t.input.identifier]&&Va(de._rev).height===de._meta[t.input.identifier]&&(Te=!0),de&&ct&&Te===!1||de&&!ct)return un;var Dt=Pe?await t.input.conflictHandler({realMasterState:ot,newDocumentState:Pe},"downstream-check-if-equal-1").then(Re=>Re.isEqual):!1;if(Pe&&Dt)return(!ct||Te===!1)&&H.push(await _d(t,Pe,ct?ct.metaDocument:void 0)),un;var G=Object.assign({},ot,de?{_meta:$e(de._meta),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{},_rev:Rn()}:{_meta:{lwt:Ft()},_rev:Rn(),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{}});if(ot._rev){var oe=de?Va(de._rev).height+1:1;G._meta[t.input.identifier]=oe,t.input.keepMeta&&(G._rev=ot._rev)}t.input.keepMeta&&ot._meta&&(G._meta=ot._meta);var ue={previous:de,document:G};ue.document._rev=ue.document._rev?ue.document._rev:ji(n,ue.previous),z.push(ue),W[ce]=ue,Q[ce]=await _d(t,ot,ct?ct.metaDocument:void 0)}))}).then(async()=>{if(z.length>0)return t.input.forkInstance.bulkWrite(z,await t.downstreamBulkWriteFlag).then(X=>{X.success.forEach(U=>{var ee=U[$];t.events.processed.down.next(W[ee]),H.push(Q[ee])}),X.error.forEach(U=>{U.status!==409&&t.events.error.next(le("RC_PULL",{writeError:U}))})})}).then(()=>{if(H.length>0)return t.input.metaInstance.bulkWrite(Uy(t,H),"replication-down-write-meta").then(X=>{X.error.forEach(U=>{t.events.error.next(le("RC_PULL",{id:U.documentId,writeError:U}))})})}).then(()=>{wd(t,"down",b)})}).catch(_=>t.events.error.next(_)),p}}var bd=function(t,e){var n=gs(t.newDocumentState),r=gs(t.realMasterState);return Ka(n,r)?Promise.resolve({isEqual:!0}):Promise.resolve({isEqual:!1,documentData:t.realMasterState})};async function dN(t,e,n){var r=t.input.conflictHandler,i=await r(e,"replication-resolve-conflict");if(!i.isEqual){var s=Object.assign({},i.documentData,{_meta:$e(n._meta),_rev:Rn(),_attachments:$e(n._attachments)});return s._meta.lwt=Ft(),s._rev=ji(await t.checkpointKey,n),{resolvedDoc:s,output:i}}}async function Ky(t,e,n,r){if(!n._attachments||r&&!r._attachments)throw new Error("_attachments missing");var i=n[t],s=new Set(r&&r._attachments?Object.keys(r._attachments):[]);return await Promise.all(Object.entries(n._attachments).map(async([o,a])=>{if((!s.has(o)||r&&ye(r._attachments)[o].digest!==a.digest)&&!a.data){var l=await e.getAttachmentData(i,o,a.digest);a.data=l}})),n}async function hN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.upstream){var e=await gd(t,"up");e||await wd(t,"up",t.input.initialCheckpoint.upstream)}var n=t.input.replicationHandler;t.streamQueue.up=t.streamQueue.up.then(()=>f().then(()=>{h()}));var r=0,i=-1,s=[],o=Gn,a={docs:{}},l=t.input.forkInstance.changeStream().subscribe(async y=>{if(y.context!==await t.downstreamBulkWriteFlag)return t.stats.up.forkChangeStreamEmit=t.stats.up.forkChangeStreamEmit+1,s.push({task:y,time:r++}),t.events.active.up.getValue()||t.events.active.up.next(!0),t.input.waitBeforePersist?t.input.waitBeforePersist().then(()=>h()):h()});As(t.events.canceled.pipe(lt(y=>!!y))).then(()=>l.unsubscribe());async function f(){if(t.stats.up.upstreamInitialSync=t.stats.up.upstreamInitialSync+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"up"));for(var y=await t.checkpointQueue,w=new Set,I=async function(){i=r++,w.size>3&&await Promise.race(Array.from(w));var _=await oO(t.input.forkInstance,t.input.pushBatchSize,y);if(_.documents.length===0)return 1;y=Ml([y,_.checkpoint]);var b=p(_.documents,ye(y));w.add(b),b.catch().then(()=>w.delete(b))};!t.events.canceled.getValue()&&!await I(););var O=await Promise.all(w),$=O.find(_=>!!_);$?await f():!t.firstSyncDone.up.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.up.next(!0)}}function h(){if(t.events.canceled.getValue()||s.length===0){t.events.active.up.next(!1);return}t.stats.up.processTasks=t.stats.up.processTasks+1,t.events.active.up.next(!0),t.streamQueue.up=t.streamQueue.up.then(()=>{for(var y=[],w={};s.length>0;){var I=ye(s.shift());I.time$.documentData)),w=Ml([w,I.task.checkpoint]))}var O=y.length===0?Gn:p(y,w);return O.then(()=>{s.length===0?t.events.active.up.next(!1):h()})})}function p(y,w){return t.stats.up.persistToMaster=t.stats.up.persistToMaster+1,y.forEach(I=>{var O=I[t.primaryPath];a.docs[O]=I}),a.checkpoint=w,o=o.then(async()=>{if(t.events.canceled.getValue())return!1;var I=a.docs;a.docs={};var O=a.checkpoint,$=Object.keys(I);if($.length===0)return!1;var _=await hO(t,$),b={},E=[],z={},W={};if(await Promise.all($.map(async Te=>{var Dt=I[Te];W[Te]=Dt;var G=cs(Dt,t.hasAttachments,!!t.input.keepMeta),oe=_[Te];oe&&oe.metaDocument.isResolvedConflict!==Dt._rev&&(await t.input.conflictHandler({realMasterState:oe.docData,newDocumentState:G},"upstream-check-if-equal")).isEqual||oe&&oe.docData._rev&&Va(Dt._rev).height===Dt._meta[t.input.identifier]||(E.push(Te),b[Te]={assumedMasterState:oe?oe.docData:void 0,newDocumentState:G},z[Te]=await _d(t,G,oe?oe.metaDocument:void 0))})),E.length===0)return!1;var Q=Object.values(b),H=new Set,X={},U=CP(Q,t.input.pushBatchSize);await Promise.all(U.map(async Te=>{t.hasAttachments&&await Promise.all(Te.map(async G=>{G.newDocumentState=await Ky(t.primaryPath,t.input.forkInstance,Pn(G.newDocumentState),G.assumedMasterState)}));var Dt=await n.masterWrite(Te);Dt.forEach(G=>{var oe=G[t.primaryPath];H.add(oe),X[oe]=G})}));var ee=[];if(E.forEach(Te=>{H.has(Te)||(t.events.processed.up.next(b[Te]),ee.push(z[Te]))}),t.events.canceled.getValue())return!1;ee.length>0&&await t.input.metaInstance.bulkWrite(Uy(t,ee),"replication-up-write-meta");var ce=!1;if(H.size>0){t.stats.up.persistToMasterHadConflicts=t.stats.up.persistToMasterHadConflicts+1;var de=[],Pe={};if(await Promise.all(Object.entries(X).map(([Te,Dt])=>{var G=b[Te],oe={newDocumentState:G.newDocumentState,assumedMasterState:G.assumedMasterState,realMasterState:Dt};return dN(t,oe,W[Te]).then(async ue=>{if(ue){t.events.resolvedConflicts.next({input:oe,output:ue.output}),de.push({previous:W[Te],document:ue.resolvedDoc});var Re=_[Te];Pe[Te]=await _d(t,ye(Dt),Re?Re.metaDocument:void 0,ue.resolvedDoc._rev)}})})),de.length>0){ce=!0,t.stats.up.persistToMasterConflictWrites=t.stats.up.persistToMasterConflictWrites+1;var ot=await t.input.forkInstance.bulkWrite(de,"replication-up-write-conflict"),ct=[];ot.success.forEach(Te=>{var Dt=Te[t.primaryPath];ct.push(Pe[Dt])}),ct.length>0&&await t.input.metaInstance.bulkWrite(Uy(t,ct),"replication-up-write-conflict-meta")}}return wd(t,"up",O),ce}).catch(I=>(t.events.error.next(I),!1)),o}}function pO(t){t=$e(t),t.forkInstance=zy(t.forkInstance),t.metaInstance=zy(t.metaInstance);var e=cN(t),n={primaryPath:Fn(t.forkInstance.schema.primaryKey),hasAttachments:!!t.forkInstance.schema.attachments,input:t,checkpointKey:e,downstreamBulkWriteFlag:e.then(r=>"replication-downstream-"+r),events:{canceled:new Jr(!1),active:{down:new Jr(!0),up:new Jr(!0)},processed:{down:new Kt,up:new Kt},resolvedConflicts:new Kt,error:new Kt},stats:{down:{addNewTask:0,downstreamProcessChanges:0,downstreamResyncOnce:0,masterChangeStreamEmit:0,persistFromMaster:0},up:{forkChangeStreamEmit:0,persistToMaster:0,persistToMasterConflictWrites:0,persistToMasterHadConflicts:0,processTasks:0,upstreamInitialSync:0}},firstSyncDone:{down:new Jr(!1),up:new Jr(!1)},streamQueue:{down:un,up:un},checkpointQueue:un,lastCheckpointDoc:{}};return fN(n),hN(n),n}function Tf(t){return As(AE([t.firstSyncDone.down.pipe(lt(e=>!!e)),t.firstSyncDone.up.pipe(lt(e=>!!e))])).then(()=>{})}function ob(t){return Promise.all([t.streamQueue.up,t.streamQueue.down,t.checkpointQueue])}function pN(t,e,n,r=!1){t=zy(t);var i=!!t.schema.attachments,s=Fn(t.schema.primaryKey),o={masterChangeStream$:t.changeStream().pipe(Nr(async a=>{var l={checkpoint:a.checkpoint,documents:await Promise.all(a.events.map(async f=>{var h=cs(f.documentData,i,r);return i&&(h=await Ky(s,t,Pn(h),void 0)),h}))};return l})),masterChangesSince(a,l){return oO(t,l,a).then(async f=>({checkpoint:f.documents.length>0?f.checkpoint:a,documents:await Promise.all(f.documents.map(async h=>{var p=cs(h,i,r);return i&&(p=await Ky(s,t,Pn(p),void 0)),p}))}))},async masterWrite(a){var l={};a.forEach(O=>{var $=O.newDocumentState[s];l[$]=O});var f=Object.keys(l),h=await t.findDocumentsById(f,!0),p=new Map;h.forEach(O=>p.set(O[s],O));var y=[],w=[];if(await Promise.all(Object.entries(l).map(async([O,$])=>{var _=p.get(O);_?_&&!$.assumedMasterState?y.push(cs(_,i,r)):(await e({realMasterState:cs(_,i,r),newDocumentState:ye($.assumedMasterState)},"rxStorageInstanceToReplicationHandler-masterWrite")).isEqual===!0?w.push({previous:_,document:sb(n,i,r,$.newDocumentState,_)}):y.push(cs(_,i,r)):w.push({document:sb(n,i,r,$.newDocumentState)})})),w.length>0){var I=await t.bulkWrite(w,"replication-master-write");I.error.forEach(O=>{if(O.status!==409)throw new Error("non conflict error");y.push(cs(ye(O.documentInDb),i,r))})}return y}};return o}async function mO(t){t.events.canceled.next(!0),t.events.active.up.complete(),t.events.active.down.complete(),t.events.processed.up.complete(),t.events.processed.down.complete(),t.events.resolvedConflicts.complete(),t.events.canceled.complete(),await t.checkpointQueue}var yO=["pre","post"],vO=["insert","save","remove","create"],ab=!1,gO=function(){function t(n,r,i,s,o={},a={},l={},f={},h={},p=JE,y={},w=bd){this.storageInstance={},this.timeouts=new Set,this.incrementalWriteQueue={},this._incrementalUpsertQueues=new Map,this.synced=!1,this.hooks={},this._subs=[],this._docCache={},this._queryCache=x2(),this.$={},this.checkpoint$={},this._changeEventBuffer={},this.onDestroy=[],this.destroyed=!1,this.database=n,this.name=r,this.schema=i,this.internalStorageInstance=s,this.instanceCreationOptions=o,this.migrationStrategies=a,this.methods=l,this.attachments=f,this.options=h,this.cacheReplacementPolicy=p,this.statics=y,this.conflictHandler=w,mN(this.asRxCollection)}var e=t.prototype;return e.prepare=async function(){this.storageInstance=$g(this.database,this.internalStorageInstance,this.schema.jsonSchema),this.incrementalWriteQueue=new aO(this.storageInstance,this.schema.primaryPath,(o,a)=>lO(this,o,a),o=>this._runHooks("post","save",o));var r=this.database.eventBulks$.pipe(lt(o=>o.collectionName===this.name));this.$=r.pipe(Nr(o=>o.events)),this.checkpoint$=r.pipe(Mt(o=>o.checkpoint)),this._changeEventBuffer=iN(this.asRxCollection),this._docCache=new XE(this.schema.primaryPath,this.$.pipe(lt(o=>!o.isLocal)),o=>uN(this.asRxCollection,o));var i=await this.database.storageToken,s=this.storageInstance.changeStream().subscribe(o=>{var a={id:o.id,internal:!1,collectionName:this.name,storageToken:i,events:o.events.map(l=>rO(!1,l,this)),databaseToken:this.database.token,checkpoint:o.checkpoint,context:o.context,endTime:o.endTime,startTime:o.startTime};this.database.$emit(a)});return this._subs.push(s),this._subs.push(this.storageInstance.conflictResultionTasks().subscribe(o=>{this.conflictHandler(o.input,o.context).then(a=>{this.storageInstance.resolveConflictResultionTask({id:o.id,output:a})})})),un},e.cleanup=function(r){throw pt("cleanup")},e.migrationNeeded=function(){throw pt("migration-schema")},e.getMigrationState=function(){throw pt("migration-schema")},e.startMigration=function(r=10){return this.getMigrationState().startMigration(r)},e.migratePromise=function(r=10){return this.getMigrationState().migratePromise(r)},e.insert=async function(r){var i=await this.bulkInsert([r]),s=i.error[0];yd(this,r[this.schema.primaryPath],r,s);var o=ye(i.success[0]);return o},e.bulkInsert=async function(r){if(r.length===0)return{success:[],error:[]};var i=this.schema.primaryPath,s=r.map(p=>{var y=dm(this.schema,p);return y}),o=this.hasHooks("pre","insert")?await Promise.all(s.map(p=>this._runHooks("pre","insert",p).then(()=>p))):s,a=o.map(p=>{var y={document:p};return y}),l=await this.storageInstance.bulkWrite(a,"rx-collection-bulk-insert"),f=ZE(this._docCache,l.success);if(this.hasHooks("post","insert")){var h=new Map;o.forEach(p=>{h.set(p[i],p)}),await Promise.all(f.map(p=>this._runHooks("post","insert",h.get(p.primary),p)))}return{success:f,error:l.error}},e.bulkRemove=async function(r){var i=this.schema.primaryPath;if(r.length===0)return{success:[],error:[]};var s=await this.findByIds(r).exec(),o=[],a=new Map;Array.from(s.values()).forEach(y=>{var w=y.toMutableJSON(!0);o.push(w),a.set(y.primary,w)}),await Promise.all(o.map(y=>{var w=y[this.schema.primaryPath];return this._runHooks("pre","remove",y,s.get(w))}));var l=o.map(y=>{var w=$e(y);return w._deleted=!0,{previous:y,document:w}}),f=await this.storageInstance.bulkWrite(l,"rx-collection-bulk-remove"),h=f.success.map(y=>y[i]);await Promise.all(h.map(y=>this._runHooks("post","remove",a.get(y),s.get(y))));var p=h.map(y=>Mo(s,y));return{success:p,error:f.error}},e.bulkUpsert=async function(r){var i=[],s=new Map;r.forEach(f=>{var h=dm(this.schema,f),p=h[this.schema.primaryPath];if(!p)throw le("COL3",{primaryPath:this.schema.primaryPath,data:h,schema:this.schema.jsonSchema});s.set(p,h),i.push(h)});var o=await this.bulkInsert(i),a=o.success.slice(0),l=[];return await Promise.all(o.error.map(async f=>{if(f.status!==409)l.push(f);else{var h=f.documentId,p=Mo(s,h),y=ye(f.documentInDb),w=this._docCache.getCachedRxDocument(y),I=await w.incrementalModify(()=>p);a.push(I)}})),{error:l,success:a}},e.upsert=async function(r){var i=await this.bulkUpsert([r]);return yd(this.asRxCollection,r[this.schema.primaryPath],r,i.error[0]),i.success[0]},e.incrementalUpsert=function(r){var i=dm(this.schema,r),s=i[this.schema.primaryPath];if(!s)throw le("COL4",{data:r});var o=this._incrementalUpsertQueues.get(s);return o||(o=un),o=o.then(()=>vN(this,s,i)).then(a=>a.inserted?a.doc:yN(a.doc,i)),this._incrementalUpsertQueues.set(s,o),o},e.find=function(r){if(typeof r=="string")throw le("COL5",{queryObj:r});r||(r=tl());var i=ra("find",r,this);return i},e.findOne=function(r){if(typeof r=="number"||Array.isArray(r))throw el("COL6",{queryObj:r});var i;if(typeof r=="string")i=ra("findOne",{selector:{[this.schema.primaryPath]:r},limit:1},this);else{if(r||(r=tl()),r.limit)throw le("QU6");r=$e(r),r.limit=1,i=ra("findOne",r,this)}return i},e.count=function(r){r||(r=tl());var i=ra("count",r,this);return i},e.findByIds=function(r){var i={selector:{[this.schema.primaryPath]:{$in:r.slice(0)}}},s=ra("findByIds",i,this);return s},e.exportJSON=function(){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.insertCRDT=function(r){throw pt("crdt")},e.addHook=function(r,i,s,o=!1){if(typeof s!="function")throw el("COL7",{key:i,when:r});if(!yO.includes(r))throw el("COL8",{key:i,when:r});if(!vO.includes(i))throw le("COL9",{key:i});if(r==="post"&&i==="create"&&o===!0)throw le("COL10",{when:r,key:i,parallel:o});var a=s.bind(this),l=o?"parallel":"series";this.hooks[i]=this.hooks[i]||{},this.hooks[i][r]=this.hooks[i][r]||{series:[],parallel:[]},this.hooks[i][r][l].push(a)},e.getHooks=function(r,i){return!this.hooks[i]||!this.hooks[i][r]?{series:[],parallel:[]}:this.hooks[i][r]},e.hasHooks=function(r,i){var s=this.getHooks(r,i);return s?s.series.length>0||s.parallel.length>0:!1},e._runHooks=function(r,i,s,o){var a=this.getHooks(r,i);if(!a)return un;var l=a.series.map(f=>()=>f(s,o));return JP(l).then(()=>Promise.all(a.parallel.map(f=>f(s,o))))},e._runHooksSync=function(r,i,s,o){var a=this.getHooks(r,i);a&&a.series.forEach(l=>l(s,o))},e.promiseWait=function(r){var i=new Promise(s=>{var o=setTimeout(()=>{this.timeouts.delete(o),s()},r);this.timeouts.add(o)});return i},e.destroy=function(){return this.destroyed?Gn:(this.destroyed=!0,Array.from(this.timeouts).forEach(r=>clearTimeout(r)),this._changeEventBuffer&&this._changeEventBuffer.destroy(),this.database.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>this.storageInstance.close()).then(()=>(this._subs.forEach(r=>r.unsubscribe()),delete this.database.collections[this.name],No("postDestroyRxCollection",this).then(()=>!0))))},e.remove=async function(){await this.destroy(),await dO(this.database.storage,this.database.internalStore,this.database.token,this.database.name,this.name,this.database.password,this.database.hashFunction)},Vs(t,[{key:"insert$",get:function(){return this.$.pipe(lt(n=>n.operation==="INSERT"))}},{key:"update$",get:function(){return this.$.pipe(lt(n=>n.operation==="UPDATE"))}},{key:"remove$",get:function(){return this.$.pipe(lt(n=>n.operation==="DELETE"))}},{key:"asRxCollection",get:function(){return this}}]),t}();function mN(t){if(!ab){ab=!0;var e=Object.getPrototypeOf(t);vO.forEach(n=>{yO.map(r=>{var i=r+eE(n);e[i]=function(s,o){return this.addHook(r,n,s,o)}})})}}function yN(t,e){return t.incrementalModify(n=>e)}function vN(t,e,n){var r=t._docCache.getLatestDocumentDataIfExists(e);return r?Promise.resolve({doc:t._docCache.getCachedRxDocument(r),inserted:!1}):t.findOne(e).exec().then(i=>i?{doc:i,inserted:!1}:t.insert(n).then(s=>({doc:s,inserted:!0})))}function gN({database:t,name:e,schema:n,instanceCreationOptions:r={},migrationStrategies:i={},autoMigrate:s=!0,statics:o={},methods:a={},attachments:l={},options:f={},localDocuments:h=!1,cacheReplacementPolicy:p=JE,conflictHandler:y=bd}){var w={databaseInstanceToken:t.token,databaseName:t.name,collectionName:e,schema:n.jsonSchema,options:r,multiInstance:t.multiInstance,password:t.password,devMode:it.isDevMode()};return Mr("preCreateRxStorageInstance",w),nN(t,w).then(I=>{var O=new gO(t,e,n,I,r,i,a,l,f,p,o,y);return O.prepare().then(()=>{Object.entries(o).forEach(([_,b])=>{Object.defineProperty(O,_,{get:()=>b.bind(O)})});var $=un;return s&&O.schema.version!==0&&($=O.migratePromise()),$}).then(()=>(Mr("createRxCollection",{collection:O,creator:{name:e,schema:n,storageInstance:I,instanceCreationOptions:r,migrationStrategies:i,methods:a,attachments:l,options:f,cacheReplacementPolicy:p,localDocuments:h,statics:o}}),O)).catch($=>I.close().then(()=>Promise.reject($)))})}var wO=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this._parallels=e||1,this._qC=0,this._iC=new Set,this._lHN=0,this._hPM=new Map,this._pHM=new Map};wO.prototype={isIdle:function(){return this._qC{this._to=!1,_N(this)},0))}clear(){this.map.clear()}}function _N(t){const e=_O()-t.ttl,n=t.map[Symbol.iterator]();for(;;){const r=n.next().value;if(!r)return;const i=r[0];if(r[1]O.events)),this.storageToken=Gn,this.storageTokenDocument=Gn,this.emittedEventBulkIds=new Vg(60*1e3),this.name=n,this.token=r,this.storage=i,this.instanceCreationOptions=s,this.password=o,this.multiInstance=a,this.eventReduce=l,this.options=f,this.internalStore=h,this.hashFunction=p,this.cleanupPolicy=y,this.allowSlowCount=w,this.reactivity=I,this.name!=="pseudoInstance"&&(this.internalStore=$g(this.asRxDatabase,h,Ug),this.storageTokenDocument=eN(this.asRxDatabase).catch(O=>this.startupErrors.push(O)),this.storageToken=this.storageTokenDocument.then(O=>O.data.token).catch(O=>this.startupErrors.push(O)))}var e=t.prototype;return e.getReactivityFactory=function(){if(!this.reactivity)throw le("DB14",{database:this.name});return this.reactivity},e.$emit=function(r){this.emittedEventBulkIds.has(r.id)||(this.emittedEventBulkIds.add(r.id),this.eventBulks$.next(r))},e.removeCollectionDoc=async function(r,i){var s=await Zl(this.internalStore,Qa(jy(r,i),ko));if(!s)throw le("SNH",{name:r,schema:i});var o=Lg(s);o._deleted=!0,await this.internalStore.bulkWrite([{document:o,previous:s}],"rx-database-remove-collection")},e.addCollections=async function(r){var i={},s={},o=[],a={};await Promise.all(Object.entries(r).map(async([h,p])=>{var y=h,w=p.schema;i[y]=w;var I=mR(w,this.hashFunction);if(s[y]=I,this.collections[h])throw le("DB3",{name:h});var O=jy(h,w),$={id:Qa(O,ko),key:O,context:ko,data:{name:y,schemaHash:await I.hash,schema:I.jsonSchema,version:I.version,connectedStorages:[]},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}};o.push({document:$});var _=Object.assign({},p,{name:y,schema:I,database:this}),b=$e(p);b.database=this,b.name=h,Mr("preCreateRxCollection",b),_.conflictHandler=b.conflictHandler,a[y]=_}));var l=await this.internalStore.bulkWrite(o,"rx-database-add-collection");await EN(this),await Promise.all(l.error.map(async h=>{if(h.status!==409)throw le("DB12",{database:this.name,writeError:h});var p=ye(h.documentInDb),y=p.data.name,w=s[y];if(p.data.schemaHash!==await w.hash)throw le("DB6",{database:this.name,collection:y,previousSchemaHash:p.data.schemaHash,schemaHash:await w.hash,previousSchema:p.data.schema,schema:ye(i[y])})}));var f={};return await Promise.all(Object.keys(r).map(async h=>{var p=a[h],y=await gN(p);f[h]=y,this.collections[h]=y,this[h]||Object.defineProperty(this,h,{get:()=>this.collections[h]})})),f},e.lockedRun=function(r){return this.idleQueue.wrapCall(r)},e.requestIdlePromise=function(){return this.idleQueue.requestIdlePromise()},e.exportJSON=function(r){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.backup=function(r){throw pt("backup")},e.leaderElector=function(){throw pt("leader-election")},e.isLeader=function(){throw pt("leader-election")},e.waitForLeadership=function(){throw pt("leader-election")},e.migrationStates=function(){throw pt("migration-schema")},e.destroy=async function(){return this.destroyed||(this.destroyed=!0,await No("preDestroyRxDatabase",this),this.eventBulks$.complete(),this._subs.map(r=>r.unsubscribe()),this.name==="pseudoInstance")?Gn:this.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>Promise.all(Object.keys(this.collections).map(r=>this.collections[r]).map(r=>r.destroy()))).then(()=>this.internalStore.close()).then(()=>Sd.delete(this.storage.name+"|"+this.name)).then(()=>!0)},e.remove=function(){return this.destroy().then(()=>SO(this.name,this.storage,this.password))},Vs(t,[{key:"$",get:function(){return this.observable$}},{key:"asRxDatabase",get:function(){return this}}]),t}();function bN(t,e){var n=e.name+"|"+t;if(Sd.has(n))throw le("DB8",{name:t,storage:e.name,link:"https://rxdb.info/rx-database.html#ignoreduplicate"})}async function bO(t,e,n,r,i,s){var o=await e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:W2,schema:Ug,options:r,multiInstance:i,password:s,devMode:it.isDevMode()});return o}function SN({storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i=!0,eventReduce:s=!0,ignoreDuplicate:o=!1,options:a={},cleanupPolicy:l,allowSlowCount:f=!1,localDocuments:h=!1,hashFunction:p=HP,reactivity:y}){Mr("preCreateRxDatabase",{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}),o||bN(n,t),Sd.add(t.name+"|"+n);var w=su(10);return bO(w,t,n,e,i,r).catch(I=>{throw Sd.delete(t.name+"|"+n),I}).then(I=>{var O=new Kg(n,w,t,e,r,i,s,a,I,p,l,f,y);return No("createRxDatabase",{database:O,creator:{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}}).then(()=>O)})}async function SO(t,e,n){var r=su(10),i=await bO(r,e,t,{},!1,n),s=await zg(i),o=new Set;s.forEach(l=>o.add(l.data.name));var a=Array.from(o);return await Promise.all(a.map(l=>dO(e,i,r,t,l,n))),await No("postRemoveRxDatabase",{databaseName:t,storage:e}),await i.remove(),a}function IN(t){return t instanceof Kg}async function IO(t){var e=await t.storageTokenDocument;return e.data.instanceToken===t.token}async function EN(t){if(await t.storageToken,t.startupErrors[0])throw t.startupErrors[0]}var ON={RxSchema:uE.prototype,RxDocument:kh,RxQuery:eO.prototype,RxCollection:gO.prototype,RxDatabase:Kg.prototype},pm=new Set,ub=new Set;function Kr(t){if(Mr("preAddRxPlugin",{plugin:t,plugins:pm}),!pm.has(t)){{if(ub.has(t.name))throw le("PL3",{name:t.name,plugin:t});pm.add(t),ub.add(t.name)}if(!t.rxdb)throw el("PL1",{plugin:t});t.init&&t.init(),t.prototypes&&Object.entries(t.prototypes).forEach(([e,n])=>n(ON[e])),t.overwritable&&Object.assign(it,t.overwritable),t.hooks&&Object.entries(t.hooks).forEach(([e,n])=>{n.after&&xl[e].push(n.after),n.before&&xl[e].unshift(n.before)})}}function kN(t){return t&&typeof t.then=="function"}Promise.resolve(!1);var DN=Promise.resolve(!0),Ti=Promise.resolve();function mo(t,e){return t||(t=0),new Promise(function(n){return setTimeout(function(){return n(e)},t)})}function xN(t,e){return Math.floor(Math.random()*(e-t+1)+t)}function ec(){return Math.random().toString(36).substring(2)}var mm=0;function tc(){var t=Date.now()*1e3;return t<=mm&&(t=mm+1),mm=t,t}function CN(){return typeof navigator<"u"&&typeof navigator.locks<"u"&&typeof navigator.locks.request=="function"}var AN=tc,PN="native";function RN(t){var e={time:tc(),messagesCallback:null,bc:new BroadcastChannel(t),subFns:[]};return e.bc.onmessage=function(n){e.messagesCallback&&e.messagesCallback(n.data)},e}function TN(t){t.bc.close(),t.subFns=[]}function MN(t,e){try{return t.bc.postMessage(e,!1),Ti}catch(n){return Promise.reject(n)}}function NN(t,e){t.messagesCallback=e}function BN(){if(typeof globalThis<"u"&&globalThis.Deno&&globalThis.Deno.args)return!0;if((typeof window<"u"||typeof self<"u")&&typeof BroadcastChannel=="function"){if(BroadcastChannel._pubkey)throw new Error("BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill");return!0}else return!1}function FN(){return 150}var LN={create:RN,close:TN,onMessage:NN,postMessage:MN,canBeUsed:BN,type:PN,averageResponseTime:FN,microSeconds:AN};function Wg(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=JSON.parse(JSON.stringify(t));return typeof e.webWorkerSupport>"u"&&(e.webWorkerSupport=!0),e.idb||(e.idb={}),e.idb.ttl||(e.idb.ttl=1e3*45),e.idb.fallbackInterval||(e.idb.fallbackInterval=150),t.idb&&typeof t.idb.onclose=="function"&&(e.idb.onclose=t.idb.onclose),e.localstorage||(e.localstorage={}),e.localstorage.removeTimeout||(e.localstorage.removeTimeout=1e3*60),t.methods&&(e.methods=t.methods),e.node||(e.node={}),e.node.ttl||(e.node.ttl=1e3*60*2),e.node.maxParallelWrites||(e.node.maxParallelWrites=2048),typeof e.node.useFastPath>"u"&&(e.node.useFastPath=!0),e}var $N=tc,jN="pubkey.broadcast-channel-0-",Wi="messages",Dh={durability:"relaxed"},UN="idb";function EO(){if(typeof indexedDB<"u")return indexedDB;if(typeof window<"u"){if(typeof window.mozIndexedDB<"u")return window.mozIndexedDB;if(typeof window.webkitIndexedDB<"u")return window.webkitIndexedDB;if(typeof window.msIndexedDB<"u")return window.msIndexedDB}return!1}function qg(t){t.commit&&t.commit()}function zN(t){var e=EO(),n=jN+t,r=e.open(n);return r.onupgradeneeded=function(i){var s=i.target.result;s.createObjectStore(Wi,{keyPath:"id",autoIncrement:!0})},new Promise(function(i,s){r.onerror=function(o){return s(o)},r.onsuccess=function(){i(r.result)}})}function VN(t,e,n){var r=Date.now(),i={uuid:e,time:r,data:n},s=t.transaction([Wi],"readwrite",Dh);return new Promise(function(o,a){s.oncomplete=function(){return o()},s.onerror=function(f){return a(f)};var l=s.objectStore(Wi);l.add(i),qg(s)})}function KN(t,e){var n=t.transaction(Wi,"readonly",Dh),r=n.objectStore(Wi),i=[],s=IDBKeyRange.bound(e+1,1/0);if(r.getAll){var o=r.getAll(s);return new Promise(function(l,f){o.onerror=function(h){return f(h)},o.onsuccess=function(h){l(h.target.result)}})}function a(){try{return s=IDBKeyRange.bound(e+1,1/0),r.openCursor(s)}catch{return r.openCursor()}}return new Promise(function(l,f){var h=a();h.onerror=function(p){return f(p)},h.onsuccess=function(p){var y=p.target.result;y?y.value.idt.lastCursorId&&(t.lastCursorId=r.id),r}).filter(function(r){return YN(r,t)}).sort(function(r,i){return r.time-i.time});return n.forEach(function(r){t.messagesCallback&&(t.eMIs.add(r.id),t.messagesCallback(r.data))}),Ti})}function GN(t){t.closed=!0,t.db.close()}function JN(t,e){return t.writeBlockPromise=t.writeBlockPromise.then(function(){return VN(t.db,t.uuid,e)}).then(function(){xN(0,10)===0&&HN(t)}),t.writeBlockPromise}function XN(t,e,n){t.messagesCallbackTime=n,t.messagesCallback=e,kO(t)}function ZN(){return!!EO()}function eB(t){return t.idb.fallbackInterval*2}var tB={create:QN,close:GN,onMessage:XN,postMessage:JN,canBeUsed:ZN,type:UN,averageResponseTime:eB,microSeconds:$N},nB=tc,rB="pubkey.broadcastChannel-",iB="localstorage";function DO(){var t;if(typeof window>"u")return null;try{t=window.localStorage,t=window["ie8-eventlistener/storage"]||window.localStorage}catch{}return t}function xO(t){return rB+t}function sB(t,e){return new Promise(function(n){mo().then(function(){var r=xO(t.channelName),i={token:ec(),time:Date.now(),data:e,uuid:t.uuid},s=JSON.stringify(i);DO().setItem(r,s);var o=document.createEvent("Event");o.initEvent("storage",!0,!0),o.key=r,o.newValue=s,window.dispatchEvent(o),n()})})}function oB(t,e){var n=xO(t),r=function(s){s.key===n&&e(JSON.parse(s.newValue))};return window.addEventListener("storage",r),r}function aB(t){window.removeEventListener("storage",t)}function uB(t,e){if(e=Wg(e),!CO())throw new Error("BroadcastChannel: localstorage cannot be used");var n=ec(),r=new Vg(e.localstorage.removeTimeout),i={channelName:t,uuid:n,eMIs:r};return i.listener=oB(t,function(s){i.messagesCallback&&s.uuid!==n&&(!s.token||r.has(s.token)||s.data.time&&s.data.time0||t._addEL.internal.length>0}function db(t,e,n){t._addEL[e].push(n),EB(t)}function hb(t,e,n){t._addEL[e]=t._addEL[e].filter(function(r){return r!==n}),OB(t)}function EB(t){if(!t._iL&&TO(t)){var e=function(i){t._addEL[i.type].forEach(function(s){i.time>=s.time&&s.fn(i.data)})},n=t.method.microSeconds();t._prepP?t._prepP.then(function(){t._iL=!0,t.method.onMessage(t._state,e,n)}):(t._iL=!0,t.method.onMessage(t._state,e,n))}}function OB(t){if(t._iL&&!TO(t)){t._iL=!1;var e=t.method.microSeconds();t.method.onMessage(t._state,null,e)}}function kB(t){if(typeof WorkerGlobalScope=="function"&&self instanceof WorkerGlobalScope){var e=self.close.bind(self);self.close=function(){return t(),e()}}else{if(typeof window.addEventListener!="function")return;window.addEventListener("beforeunload",function(){t()},!0),window.addEventListener("unload",function(){t()},!0)}}function DB(t){process.on("exit",function(){return t()}),process.on("beforeExit",function(){return t().then(function(){return process.exit()})}),process.on("SIGINT",function(){return t().then(function(){return process.exit()})}),process.on("uncaughtException",function(e){return t().then(function(){console.trace(e),process.exit(101)})})}var xB=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]",CB=xB?DB:kB,nl=new Set,pb=!1;function AB(){pb||(pb=!0,CB(RB))}function PB(t){if(AB(),typeof t!="function")throw new Error("Listener is no function");nl.add(t);var e={remove:function(){return nl.delete(t)},run:function(){return nl.delete(t),t()}};return e}function RB(){var t=[];return nl.forEach(function(e){t.push(e()),nl.delete(e)}),Promise.all(t)}function Do(t,e){var n={context:"leader",action:e,token:t.token};return t.broadcastChannel.postInternal(n)}function MO(t){t.isLeader=!0,t._hasLeader=!0;var e=PB(function(){return t.die()});t._unl.push(e);var n=function(i){i.context==="leader"&&i.action==="apply"&&Do(t,"tell"),i.context==="leader"&&i.action==="tell"&&!t._dpLC&&(t._dpLC=!0,t._dpL(),Do(t,"tell"))};return t.broadcastChannel.addEventListener("internal",n),t._lstns.push(n),Do(t,"tell")}var NO=function(e,n){var r=this;this.broadcastChannel=e,e._befC.push(function(){return r.die()}),this._options=n,this.isLeader=!1,this.isDead=!1,this.token=ec(),this._lstns=[],this._unl=[],this._dpL=function(){},this._dpLC=!1,this._wKMC={},this.lN="pubkey-bc||"+e.method.type+"||"+e.name};NO.prototype={hasLeader:function(){var e=this;return navigator.locks.query().then(function(n){var r=n.held?n.held.filter(function(i){return i.name===e.lN}):[];return!!(r&&r.length>0)})},awaitLeadership:function(){var e=this;if(!this._wLMP){this._wKMC.c=new AbortController;var n=new Promise(function(r,i){e._wKMC.res=r,e._wKMC.rej=i});this._wLMP=new Promise(function(r){navigator.locks.request(e.lN,{signal:e._wKMC.c.signal},function(){return e._wKMC.c=void 0,MO(e),r(),n}).catch(function(){})})}return this._wLMP},set onduplicate(t){},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this.isLeader=!1),this.isDead=!0,this._wKMC.res&&this._wKMC.res(),this._wKMC.c&&this._wKMC.c.abort("LeaderElectionWebLock.die() called"),Do(this,"death")}};var BO=function(e,n){var r=this;this.broadcastChannel=e,this._options=n,this.isLeader=!1,this._hasLeader=!1,this.isDead=!1,this.token=ec(),this._aplQ=Ti,this._aplQC=0,this._unl=[],this._lstns=[],this._dpL=function(){},this._dpLC=!1;var i=function(o){o.context==="leader"&&(o.action==="death"&&(r._hasLeader=!1),o.action==="tell"&&(r._hasLeader=!0))};this.broadcastChannel.addEventListener("internal",i),this._lstns.push(i)};BO.prototype={hasLeader:function(){return Promise.resolve(this._hasLeader)},applyOnce:function(e){var n=this;if(this.isLeader)return mo(0,!0);if(this.isDead)return mo(0,!1);if(this._aplQC>1)return this._aplQ;var r=function(){if(n.isLeader)return DN;var s=!1,o,a=new Promise(function(h){o=function(){s=!0,h()}}),l=function(p){p.context==="leader"&&p.token!=n.token&&(p.action==="apply"&&p.token>n.token&&o(),p.action==="tell"&&(o(),n._hasLeader=!0))};n.broadcastChannel.addEventListener("internal",l);var f=e?n._options.responseTime*4:n._options.responseTime;return Do(n,"apply").then(function(){return Promise.race([mo(f),a.then(function(){return Promise.reject(new Error)})])}).then(function(){return Do(n,"apply")}).then(function(){return Promise.race([mo(f),a.then(function(){return Promise.reject(new Error)})])}).catch(function(){}).then(function(){return n.broadcastChannel.removeEventListener("internal",l),s?!1:MO(n).then(function(){return!0})})};return this._aplQC=this._aplQC+1,this._aplQ=this._aplQ.then(function(){return r()}).then(function(){n._aplQC=n._aplQC-1}),this._aplQ.then(function(){return n.isLeader})},awaitLeadership:function(){return this._aLP||(this._aLP=TB(this)),this._aLP},set onduplicate(t){this._dpL=t},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this._hasLeader=!1,this.isLeader=!1),this.isDead=!0,Do(this,"death")}};function TB(t){return t.isLeader?Ti:new Promise(function(e){var n=!1;function r(){n||(n=!0,t.broadcastChannel.removeEventListener("internal",s),e(!0))}t.applyOnce().then(function(){t.isLeader&&r()});var i=function o(){return mo(t._options.fallbackInterval).then(function(){if(!(t.isDead||n))if(t.isLeader)r();else return t.applyOnce(!0).then(function(){t.isLeader?r():o()})})};i();var s=function(a){a.context==="leader"&&a.action==="death"&&(t._hasLeader=!1,t.applyOnce().then(function(){t.isLeader&&r()}))};t.broadcastChannel.addEventListener("internal",s),t._lstns.push(s)})}function MB(t,e){return t||(t={}),t=JSON.parse(JSON.stringify(t)),t.fallbackInterval||(t.fallbackInterval=3e3),t.responseTime||(t.responseTime=e.method.averageResponseTime(e.options)),t}function NB(t,e){if(t._leaderElector)throw new Error("BroadcastChannel already has a leader-elector");e=MB(e,t);var n=CN()?new NO(t,e):new BO(t,e);return t._befC.push(function(){return n.die()}),t._leaderElector=n,n}var Id=new Map;function BB(t,e,n,r){var i=Id.get(e);return i||(i={bc:new xh(["RxDB:",t,n].join("|")),refs:new Set},Id.set(e,i)),i.refs.add(r),i.bc}function mb(t,e){var n=Id.get(t);if(n&&(n.refs.delete(e),n.refs.size===0))return Id.delete(t),n.bc.close()}function FB(t,e,n,r){if(e.multiInstance){var i=r||BB(t,e.databaseInstanceToken,n.databaseName,n),s=new Kt,o=y=>{y.storageName===t&&y.databaseName===e.databaseName&&y.collectionName===e.collectionName&&y.version===e.schema.version&&s.next(y.eventBulk)};i.addEventListener("message",o);var a=n.changeStream(),l=!1,f=a.subscribe(y=>{l||i.postMessage({storageName:t,databaseName:e.databaseName,collectionName:e.collectionName,version:e.schema.version,eventBulk:y})});n.changeStream=function(){return s.asObservable().pipe(uT(a))};var h=n.close.bind(n);n.close=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await mb(e.databaseInstanceToken,n),h()};var p=n.remove.bind(n);n.remove=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await mb(e.databaseInstanceToken,n),p()}}}function LB(t,e){var n=e.map(r=>{var i=Ui(t,r);if(!i)throw new Error("not in schema: "+r);var s=i.type,o;(s==="number"||s==="integer")&&(o=Qg(i));var a=XI(r),l=i.maxLength?i.maxLength:0,f;s==="string"?f=p=>{var y=a(p);return y||(y=""),y.padEnd(l," ")}:s==="boolean"?f=p=>{var y=a(p);return y?"1":"0"}:f=p=>{var y=a(p);return Ed(o,y)};var h={fieldName:r,schemaPart:i,parsedLengths:o,getValue:a,getIndexStringPart:f};return h});return n}function $B(t,e){var n=LB(t,e),r=n.length,i=n.map(o=>o.getIndexStringPart),s=function(o){for(var a="",l=0;l1&&(a=o[1].length),{minimum:e,maximum:n,nonDecimals:s,decimals:a,roundedMinimum:e}}function Ed(t,e){typeof e>"u"&&(e=0),et.maximum&&(e=t.maximum);var n=(Math.floor(e)-t.roundedMinimum).toString(),r=n.padStart(t.nonDecimals,"0");if(t.decimals>0){var i=e.toString().split("."),s=i.length>1?i[1]:"0";r+=s.padEnd(t.decimals,"0")}return r}function yb(t,e,n){var r="";return e.forEach((i,s)=>{var o=Ui(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"?r+=a.padEnd(f," "):r+="".padEnd(f," ");break;case"boolean":if(a===null)r+="0";else if(a===li)r+="0";else if(a===Cr)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var p=Qg(o);if(a===null||a===li){var y="0";r+=y.repeat(p.nonDecimals+p.decimals)}else if(a===Cr)r+=Ed(p,p.maximum);else{var w=Ed(p,a);r+=w}break;default:throw new Error("unknown index type "+l)}}),r}function jB(t,e,n){var r="";return e.forEach((i,s)=>{var o=Ui(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"&&a!==Cr?r+=a.padEnd(f," "):a===li?r+="".padEnd(f," "):r+="".padEnd(f,Cr);break;case"boolean":if(a===null)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var p=Qg(o);if(a===null||a===Cr){var y="9";r+=y.repeat(p.nonDecimals+p.decimals)}else if(a===li){var w="0";r+=w.repeat(p.nonDecimals+p.decimals)}else r+=Ed(p,a);break;default:throw new Error("unknown index type "+l)}}),r}var vb=t=>Promise.resolve(t);function gb(t,e){if(t==="_deleted")return e;e=$e(e);var n=!!e._deleted;return e[t]=n,delete e._deleted,e}function ym(t,e,n){return n.map(r=>{var i=$e(r);if(e!=="_deleted"){var s=!!i[e];i._deleted=s,delete i[e]}else i._deleted=!!i._deleted;var o=t.schema.primaryPath;return i[o]=Ws(t.schema.jsonSchema,i),i})}function wb(t,e){if(typeof window>"u"||typeof window!="object"||typeof window.addEventListener>"u"||navigator.onLine)return t.promiseWait(e);var n,r=new Promise(i=>{n=()=>{window.removeEventListener("online",n),i()},window.addEventListener("online",n)});return Promise.race([r,t.promiseWait(e)]).then(()=>{window.removeEventListener("online",n)})}var FO=new WeakMap,UB=function(){function t(n,r,i,s,o,a,l,f){this.subs=[],this.subjects={received:new Kt,sent:new Kt,error:new Kt,canceled:new Jr(!1),active:new Jr(!1)},this.received$=this.subjects.received.asObservable(),this.sent$=this.subjects.sent.asObservable(),this.error$=this.subjects.error.asObservable(),this.canceled$=this.subjects.canceled.asObservable(),this.active$=this.subjects.active.asObservable(),this.onCancel=[],this.callOnStart=void 0,this.remoteEvents$=new Kt,this.replicationIdentifier=n,this.collection=r,this.deletedField=i,this.pull=s,this.push=o,this.live=a,this.retryTime=l,this.autoStart=f;var h=Tr(FO,r,()=>[]);h.push(this),this.collection.onDestroy.push(()=>this.cancel()),Object.keys(this.subjects).forEach(y=>{Object.defineProperty(this,y+"$",{get:function(){return this.subjects[y].asObservable()}})});var p=new Promise(y=>{this.callOnStart=y});this.startPromise=p}var e=t.prototype;return e.start=async function(){if(!this.isStopped()){var r=this.pull&&this.pull.modifier?this.pull.modifier:vb,i=this.push&&this.push.modifier?this.push.modifier:vb,s=this.collection.database,o="rx-replication-meta-"+await s.hashFunction([this.collection.name,this.replicationIdentifier].join("-")),a=Vy(this.collection.schema.jsonSchema,vd(this.collection.schema.jsonSchema)),[l]=await Promise.all([this.collection.database.storage.createStorageInstance({databaseName:s.name,collectionName:o,databaseInstanceToken:s.token,multiInstance:s.multiInstance,options:{},schema:a,password:s.password,devMode:it.isDevMode()}),fO(this.collection,o,a)]);this.metaInstance=l,this.internalReplicationState=pO({pushBatchSize:this.push&&this.push.batchSize?this.push.batchSize:100,pullBatchSize:this.pull&&this.pull.batchSize?this.pull.batchSize:100,initialCheckpoint:{upstream:this.push?this.push.initialCheckpoint:void 0,downstream:this.pull?this.pull.initialCheckpoint:void 0},forkInstance:this.collection.storageInstance,metaInstance:this.metaInstance,hashFunction:s.hashFunction,identifier:"rxdbreplication"+this.replicationIdentifier,conflictHandler:this.collection.conflictHandler,replicationHandler:{masterChangeStream$:this.remoteEvents$.asObservable().pipe(lt(f=>!!this.pull),Nr(async f=>{if(f==="RESYNC")return f;var h=$e(f);return h.documents=ym(this.collection,this.deletedField,h.documents),h.documents=await Promise.all(h.documents.map(p=>r(p))),h})),masterChangesSince:async(f,h)=>{if(!this.pull)return{checkpoint:null,documents:[]};for(var p=!1,y={};!p&&!this.isStopped();)try{y=await this.pull.handler(f,h),p=!0}catch(O){var w=le("RC_PULL",{checkpoint:f,errors:Ua(O).map($=>Oy($)),direction:"pull"});this.subjects.error.next(w),await wb(this.collection,ye(this.retryTime))}if(this.isStopped())return{checkpoint:null,documents:[]};var I=$e(y);return I.documents=ym(this.collection,this.deletedField,I.documents),I.documents=await Promise.all(I.documents.map(O=>r(O))),I},masterWrite:async f=>{if(!this.push)return[];var h=!1;await No("preReplicationMasterWrite",{rows:f,collection:this.collection});var p=await Promise.all(f.map(async $=>($.newDocumentState=await i($.newDocumentState),$.newDocumentState===null?null:($.assumedMasterState&&($.assumedMasterState=await i($.assumedMasterState)),this.deletedField!=="_deleted"&&($.newDocumentState=gb(this.deletedField,$.newDocumentState),$.assumedMasterState&&($.assumedMasterState=gb(this.deletedField,$.assumedMasterState))),$)))),y=p.filter(JI),w=null;for(y.length===0&&(h=!0,w=[]);!h&&!this.isStopped();)try{if(w=await this.push.handler(y),!Array.isArray(w))throw le("RC_PUSH_NO_AR",{pushRows:f,direction:"push",args:{result:w}});h=!0}catch($){var I=$.rxdb?$:le("RC_PUSH",{pushRows:f,errors:Ua($).map(_=>Oy(_)),direction:"push"});this.subjects.error.next(I),await wb(this.collection,ye(this.retryTime))}if(this.isStopped())return[];await No("preReplicationMasterWriteDocumentsHandle",{result:w,collection:this.collection});var O=ym(this.collection,this.deletedField,ye(w));return O}}}),this.subs.push(this.internalReplicationState.events.error.subscribe(f=>{this.subjects.error.next(f)}),this.internalReplicationState.events.processed.down.subscribe(f=>this.subjects.received.next(f.document)),this.internalReplicationState.events.processed.up.subscribe(f=>{this.subjects.sent.next(f.newDocumentState)}),AE([this.internalReplicationState.events.active.down,this.internalReplicationState.events.active.up]).subscribe(([f,h])=>{var p=f||h;this.subjects.active.next(p)})),this.pull&&this.pull.stream$&&this.live&&this.subs.push(this.pull.stream$.subscribe({next:f=>{this.remoteEvents$.next(f)},error:f=>{this.subjects.error.next(f)}})),this.live||(await Tf(this.internalReplicationState),await ob(this.internalReplicationState),await this.cancel()),this.callOnStart()}},e.isStopped=function(){return!!this.subjects.canceled.getValue()},e.awaitInitialReplication=async function(){return await this.startPromise,Tf(ye(this.internalReplicationState))},e.awaitInSync=async function(){await this.startPromise,await Tf(ye(this.internalReplicationState));for(var r=2;r>0;)r--,await this.collection.database.requestIdlePromise(),await ob(ye(this.internalReplicationState));return!0},e.reSync=function(){this.remoteEvents$.next("RESYNC")},e.emitEvent=function(r){this.remoteEvents$.next(r)},e.cancel=async function(){if(this.isStopped())return Gn;var r=this.onCancel.map(i=>ZI(i()));return this.internalReplicationState&&await mO(this.internalReplicationState),this.metaInstance&&r.push(ye(this.internalReplicationState).checkpointQueue.then(()=>ye(this.metaInstance).close())),this.subs.forEach(i=>i.unsubscribe()),this.subjects.canceled.next(!0),this.subjects.active.complete(),this.subjects.canceled.complete(),this.subjects.error.complete(),this.subjects.received.complete(),this.subjects.sent.complete(),Promise.all(r)},t}(),Br;(function(t){function e(U){return Array.isArray(U)?U.slice():t.isObject(U)?{...U}:U}t.clone=e;function n(U){let ee=r(U);return Array.isArray(U)&&(ee=ee.filter(ce=>ce!=="length")),ee}t.keys=n;function r(U){return U?Object.getOwnPropertyNames(U):[]}t.keysOfNonArray=r;function i(U,ee){return a(n(U),ce=>ee(U[ce],ce)),U}t.forOwn=i;function s(U,ee){return a(r(U),ce=>ee(U[ce],ce)),U}t.forOwnOfNonArray=s;function o(U,ee){return Array.isArray(U)?a(U,ee):s(U,ee),U}t.forEach=o;function a(U,ee){for(let ce=0,de=U.length;ce{const ot=U[Pe];ot instanceof Object&&(de=l(e(ot),de)),U[Pe]=de});return U}t.merge=l;function f(U){return Array.isArray(U)||(U=r(U)),U.length===0}t.isEmpty=f,t.isFunction=U=>typeof U=="function",t.isUndefined=U=>U===void 0||U==="undefined";function h(U){return U==null||U==="undefined"||U==="null"}t.isNullOrUndefined=h,t.isObject=U=>Object.prototype.toString.call(U)==="[object Object]",t.isEmptyObject=U=>h(U)||t.isObject(U)&&f(U);function p(){return typeof globalThis.ngDevMode>"u"||!!globalThis.ngDevMode}t.isDevMode=p;function y(U){return typeof U=="number"&&!isNaN(U)}t.isValidNumber=y;function w(){}t.noop=w;function I(U){return U}t.identity=I;function O(U,ee){const ce=[];for(let de=0;deU+ce*de)}t.range=$;function _(U){return t.isObject(U)?U._id:String(U)}t.getMaybeId=_;function b(U){return U.filter(I)}t.compact=b;function E(U){return f(U)?U:Array.isArray(U)?b(U):Object.entries(U).filter(([,ee])=>!h(ee)&&!f(ee)).reduce((ee,[ce,de])=>({...ee,[ce]:de}),{})}t.compactObject=E;function z(){var U;return(U=localStorage.debug)==null?void 0:U.includes("@ngx-odm/rxdb")}t.isDevModeForced=z;function W(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}t.isTestEnvironment=W,t.logger={log:function(){const U="#8d2089";return W()||!p()||!z()?w:console.log.bind(console,"%c[DEBUG::@ngx-odm/rxdb]",`background:${U};color:#fff;padding:2px;font-size:normal;`)}(),table:function(){return W()||!p()||!z()?w:console.table.bind(console)}()};function Q(U="Event"){return function(ce){return p()?ce.pipe(xy({next(de){t.logger.log(`observable:${U}:next:`,de)},error(de){t.logger.log(`observable:${U}:error:`,de.message)},complete(){t.logger.log(`observable:${U}:complete`)}})):ce}}t.debug=Q;function H(U=3,ee=1e4){return ce=>ce.pipe(lT({count:U,delay:(de,Pe)=>{const ot=Math.pow(2,Pe-1)*ee;return t.logger.log("replication:kinto:longpoll:retry",Pe,ot),IE(ot)}}))}t.retryWithBackoff=H,t.tapOnce=U=>ee=>Cy(()=>(U(),ee)),t.deferUntil=U=>ee=>Cy(()=>U.pipe(Cl(()=>ee))),t.getDefaultQuery=()=>({selector:{_deleted:{$eq:!1}},skip:0,sort:[{id:"asc"}]});const X={properties:{id:{type:"string"},_deleted:{type:"boolean"}},primaryKey:"id",indexes:[["_deleted","id"]]};t.getDefaultQuery(),t.getDefaultPreparedQuery=()=>Xl(X,t.getDefaultQuery())})(Br||(Br={}));const LO=()=>typeof window=="object"&&"fetch"in window?window.fetch.bind(window):fetch;function _b(t){return t&&t instanceof UB}function bb(t=!1){return Mt(e=>(Array.isArray(e)?e:[...e.values()]).map(n=>{const r={...n._data};return t||(delete r._rev,delete r._attachments,delete r._deleted,delete r._meta),r}))}const{debug:zB,isEmptyObject:VB,isFunction:KB}=Br;function WB(t){return!VB(t)&&KB(t.run)}function Bu(t){return WB(t)?e=>new Ot(n=>e.subscribe(r=>t.run(()=>n.next(r)),r=>t.run(()=>n.error(r)),()=>t.run(()=>n.complete()))):e=>e}function nc(){return function(t,e,n){const r=n.value;return n.value=function(...i){return Cy(()=>this.initialized$.pipe(Cl(()=>r.apply(this,i)),zB(`collection.${e}`)))},n}}function kt(){return function(t,e,n){const r=n.value;return n.value=async function(...i){return await hT(this.initialized$).catch(()=>{throw new Error(`Collection "${this.config.name}" was not initialized. Please check RxDB errors.`)}),r.apply(this,i)},n}}var Sb,Ib,Eb,Ob,kb,Db;const{getMaybeId:qB,logger:vm,debug:HB,noop:QB}=Br;class Je{get initialized$(){return this._init$.asObservable()}get collection(){return this._collection}get db(){return this.dbService.db}get dbOptions(){return this.dbService.dbOptions}get replicationState(){return this._replicationState}get queryParams$(){var e;return(e=this.config.options)!=null&&e.useQueryParams?this.initialized$.pipe(Cl(()=>this.collection.queryParams.$)):im({})}constructor(e,n,r={},i=im(""),s=QB){this.config=e,this.dbService=n,this.ngZone=r,this.currentUrl$=i,this.updateQueryParamsFn=s,this._replicationState=null,this._init$=new TE,this.init(e)}destroy(){var e;(e=this.collection)==null||e.destroy()}setQueryParams(e){var n;(n=this.collection.queryParams)==null||n.set(e)}patchQueryParams(e){var n;(n=this.collection.queryParams)==null||n.patch(e)}async sync(){var e;if(_b(this.replicationState)){this.replicationState.reSync();return}if(typeof((e=this.config.options)==null?void 0:e.replicationStateFactory)=="function"){try{this._replicationState=this.config.options.replicationStateFactory(this.collection)}catch(n){vm.log("replicationState has error, ignore replication"),vm.log(n.message)}if(_b(this.replicationState))return this.replicationState.autoStart||this.replicationState.reSync(),Ay(window,"online").pipe(HB("online"),ME(()=>!this.replicationState.isStopped())).subscribe(()=>{this._replicationState.reSync()}),this.replicationState.startPromise}}async info(){return this.collection.getMetadata()}async import(e){const n=await this.collection.schema.hash,r={name:this.collection.name,schemaHash:n,docs:e};this.collection.importJSON(r)}async export(){return this.collection.exportJSON()}docs(e,n=!1){return(dT(e)?e:im(e)).pipe(Cl(r=>this.collection.find(r).$),bb(n),Bu(this.ngZone),Ai(Ci))}docsByIds(e,n=!1){return this.collection.findByIds(e).$.pipe(bb(n),Bu(this.ngZone),Ai(Ci))}count(e){return this.collection.count(e).$.pipe(Bu(this.ngZone),Ai(Ci))}get(e,n=!1){return this.collection.findOne(e).$.pipe(Mt(r=>r?r.toMutableJSON(n):null),Bu(this.ngZone),Ai(Ci))}async insert(e){return this.collection.insert(e)}async insertBulk(e){return this.collection.bulkInsert(e)}async upsert(e){return this.collection.upsert(e)}async upsertBulk(e){return this.collection.bulkUpsert(e)}async set(e,n){return this.collection.findOne(e).update({$set:n})}async updateBulk(e,n){return this.collection.find(e).update({$set:n})}async remove(e){const n=qB(e);return this.collection.findOne(n).remove()}async removeBulk(e){return Array.isArray(e)?this.collection.bulkRemove(e):{success:[...(await this.collection.find(e).remove().catch(()=>new Map)).values()],error:[]}}async clear(){return this.collection.remove()}async getAttachments(e){const n=await this.collection.findOne(e).exec();if(!n)return null;const r=n.allAttachments().map(i=>i.getData());return Promise.all(r)}async getAttachmentById(e,n){const r=await this.collection.findOne(e).exec();if(!r)return null;const i=r.getAttachment(n);return i?i.getData():null}async putAttachment(e,n){const r=await this.collection.findOne(e).exec();r&&await r.putAttachment(n)}async removeAttachment(e,n){const r=await this.collection.findOne(e).exec();if(!r)return;const i=r.getAttachment(n);i&&await i.remove()}async addHook(e,n,r=!1){this.collection[e](n,r)}async getLocal(e,n){const r=await this.collection.getLocal(e);return r?n?r==null?void 0:r.get(n):r==null?void 0:r.toJSON().data:null}getLocal$(e,n){return this.collection.getLocal$(e).pipe(Mt(r=>r?n?r.get(n):r.toJSON().data:null),Bo(),Bu(this.ngZone))}async insertLocal(e,n){await this.collection.insertLocal(e,n)}async upsertLocal(e,n){await this.collection.upsertLocal(e,n)}async setLocal(e,n,r){var s,o;const i=await this.collection.getLocal(e);await this.collection.upsertLocal(e,{...((o=(s=i==null?void 0:i.toJSON)==null?void 0:s.call(i))==null?void 0:o.data)||{},[n]:r})}async removeLocal(e){const n=await this.collection.getLocal(e);await(n==null?void 0:n.remove())}async init(e){var i,s,o,a;const{name:n,options:r}=e;try{await this.dbService.initCollections({[n]:e}),this._collection=this.db.collections[n],r!=null&&r.useQueryParams&&this.collection.queryParamsInit(this.currentUrl$,this.updateQueryParamsFn),this._init$.next(!0),this._init$.complete()}catch(l){if(l.message.includes("DM5")||l.message.includes("DB6")&&((i=l.parameters.previousSchema)==null?void 0:i.version)===((s=l.parameters.schema)==null?void 0:s.version))vm.log("Reload the page to fix the issue. The database is in a state where it can not be used."),await SO(this.db.name,this.db.storage),(a=(o=window==null?void 0:window.location)==null?void 0:o.reload)==null||a.call(o);else throw this._init$.complete(),l}}}tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"sync",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"info",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"import",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"export",null);tt([nc(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Ot)],Je.prototype,"docs",null);tt([nc(),re("design:type",Function),re("design:paramtypes",[Array,Object]),re("design:returntype",Ot)],Je.prototype,"docsByIds",null);tt([nc(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Ot)],Je.prototype,"count",null);tt([nc(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Ot)],Je.prototype,"get",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"insert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"insertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"upsert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"upsertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"set",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Promise)],Je.prototype,"updateBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"remove",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"removeBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"clear",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"getAttachments",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"getAttachmentById",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"putAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"removeAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[typeof(Sb=typeof Hook<"u"&&Hook)=="function"?Sb:Object,Object,Object]),re("design:returntype",Promise)],Je.prototype,"addHook",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Ib=typeof K<"u"&&K)=="function"?Ib:Object]),re("design:returntype",Promise)],Je.prototype,"getLocal",null);tt([nc(),re("design:type",Function),re("design:paramtypes",[String,typeof(Eb=typeof K<"u"&&K)=="function"?Eb:Object]),re("design:returntype",Ot)],Je.prototype,"getLocal$",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Ob=typeof L<"u"&&L)=="function"?Ob:Object]),re("design:returntype",Promise)],Je.prototype,"insertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(kb=typeof L<"u"&&L)=="function"?kb:Object]),re("design:returntype",Promise)],Je.prototype,"upsertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Db=typeof K<"u"&&K)=="function"?Db:Object,Object]),re("design:returntype",Promise)],Je.prototype,"setLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"removeLocal",null);var $O={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(yw,function(){var n=function(u,c){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,m){d.__proto__=m}||function(d,m){for(var v in m)Object.prototype.hasOwnProperty.call(m,v)&&(d[v]=m[v])})(u,c)},r=function(){return(r=Object.assign||function(u){for(var c,d=1,m=arguments.length;d"u"||s.Promise||(s.Promise=Promise);var f=Object.getPrototypeOf,h={}.hasOwnProperty;function p(u,c){return h.call(u,c)}function y(u,c){typeof c=="function"&&(c=c(f(u))),(typeof Reflect>"u"?o:Reflect.ownKeys)(c).forEach(function(d){I(u,d,c[d])})}var w=Object.defineProperty;function I(u,c,d,m){w(u,c,l(d&&p(d,"get")&&typeof d.get=="function"?{get:d.get,set:d.set,configurable:!0}:{value:d,configurable:!0,writable:!0},m))}function O(u){return{from:function(c){return u.prototype=Object.create(c.prototype),I(u.prototype,"constructor",u),{extend:y.bind(null,u.prototype)}}}}var $=Object.getOwnPropertyDescriptor,_=[].slice;function b(u,c,d){return _.call(u,c,d)}function E(u,c){return c(u)}function z(u){if(!u)throw new Error("Assertion Failed")}function W(u){s.setImmediate?setImmediate(u):setTimeout(u,0)}function Q(u,c){if(typeof c=="string"&&p(u,c))return u[c];if(!c)return u;if(typeof c!="string"){for(var d=[],m=0,v=c.length;m"u"?[]:function(){var u=Promise.resolve();if(typeof crypto>"u"||!crypto.subtle)return[u,f(u),u];var c=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[c,f(c),u]}(),mu=jr[0],ur=jr[1],jr=jr[2],ur=ur&&ur.then,yu=mu&&mu.constructor,Kh=!!jr,vu=function(u,c){gu.push([u,c]),mc&&(queueMicrotask(xx),mc=!1)},Wh=!0,mc=!0,Js=[],yc=[],qh=hu,Xi={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:et,pgp:!1,env:{},finalize:et},fe=Xi,gu=[],Xs=0,vc=[];function se(u){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var c=this._PSD=fe;if(typeof u!="function"){if(u!==pu)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(this._state===!1&&Qh(this,this._value))}this._state=null,this._value=null,++c.ref,function d(m,v){try{v(function(g){if(m._state===null){if(g===m)throw new TypeError("A promise cannot be resolved with itself.");var S=m._lib&&qo();g&&typeof g.then=="function"?d(m,function(k,A){g instanceof se?g._then(k,A):g.then(k,A)}):(m._state=!0,m._value=g,z0(m)),S&&Ho()}},Qh.bind(null,m))}catch(g){Qh(m,g)}}(this,u)}var Hh={get:function(){var u=fe,c=bc;function d(m,v){var g=this,S=!u.global&&(u!==fe||c!==bc),k=S&&!es(),A=new se(function(x,M){Yh(g,new U0(K0(m,u,S,k),K0(v,u,S,k),x,M,u))});return this._consoleTask&&(A._consoleTask=this._consoleTask),A}return d.prototype=pu,d},set:function(u){I(this,"then",u&&u.prototype===pu?Hh:{get:function(){return u},set:Hh.set})}};function U0(u,c,d,m,v){this.onFulfilled=typeof u=="function"?u:null,this.onRejected=typeof c=="function"?c:null,this.resolve=d,this.reject=m,this.psd=v}function Qh(u,c){var d,m;yc.push(c),u._state===null&&(d=u._lib&&qo(),c=qh(c),u._state=!1,u._value=c,m=u,Js.some(function(v){return v._value===m._value})||Js.push(m),z0(u),d&&Ho())}function z0(u){var c=u._listeners;u._listeners=[];for(var d=0,m=c.length;d.",W0="String expected.",Yo=[],Ic="__dbnames",Xh="readonly",Zh="readwrite";function to(u,c){return u?c?function(){return u.apply(this,arguments)&&c.apply(this,arguments)}:u:c}var q0={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Ec(u){return typeof u!="string"||/\./.test(u)?function(c){return c}:function(c){return c[u]===void 0&&u in c&&delete(c=Pe(c))[u],c}}function H0(){throw pe.Type()}function je(u,c){try{var d=Q0(u),m=Q0(c);if(d!==m)return d==="Array"?1:m==="Array"?-1:d==="binary"?1:m==="binary"?-1:d==="string"?1:m==="string"?-1:d==="Date"?1:m!=="Date"?NaN:-1;switch(d){case"number":case"Date":case"string":return cj+V&&F(j+C)})})}return F(0).then(function(){if(0=C})).length!==0?(M.forEach(function(F){B.push(function(){var j=R,V=F._cfg.dbschema;Rc(D,j,T),Rc(D,V,T),R=D._dbSchema=V;var q=up(j,V);q.add.forEach(function(te){lp(T,te[0],te[1].primKey,te[1].indexes)}),q.change.forEach(function(te){if(te.recreate)throw new pe.Upgrade("Not yet support for changing primary key");var he=T.objectStore(te.name);te.add.forEach(function(me){return Ac(he,me)}),te.change.forEach(function(me){he.deleteIndex(me.name),Ac(he,me)}),te.del.forEach(function(me){return he.deleteIndex(me)})});var Y=F._cfg.contentUpgrade;if(Y&&F._cfg.version>C){xc(D,T),P._memoizedTables={};var ne=X(V);q.del.forEach(function(te){ne[te]=j[te]}),ap(D,[D.Transaction.prototype]),Cc(D,[D.Transaction.prototype],o(ne),ne),P.schema=ne;var J,ie=Re(Y);return ie&&Qo(),q=se.follow(function(){var te;(J=Y(P))&&ie&&(te=es.bind(null,null),J.then(te,te))}),J&&typeof J.then=="function"?se.resolve(J):q.then(function(){return J})}}),B.push(function(j){var V,q,Y=F._cfg.dbschema;V=Y,q=j,[].slice.call(q.db.objectStoreNames).forEach(function(ne){return V[ne]==null&&q.db.deleteObjectStore(ne)}),ap(D,[D.Transaction.prototype]),Cc(D,[D.Transaction.prototype],D._storeNames,D._dbSchema),P.schema=D._dbSchema}),B.push(function(j){D.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(D.idbdb.version/10)===F._cfg.version?(D.idbdb.deleteObjectStore("$meta"),delete D._dbSchema.$meta,D._storeNames=D._storeNames.filter(function(V){return V!=="$meta"})):j.objectStore("$meta").put(F._cfg.version,"version"))})}),function F(){return B.length?se.resolve(B.shift()(P.idbtrans)).then(F):se.resolve()}().then(function(){rw(R,T)})):se.resolve();var D,C,P,T,B,R}).catch(S)):(o(v).forEach(function(M){lp(d,M,v[M].primKey,v[M].indexes)}),xc(u,d),void se.follow(function(){return u.on.populate.fire(g)}).catch(S));var A,x})}function Ux(u,c){rw(u._dbSchema,c),c.db.version%10!=0||c.objectStoreNames.contains("$meta")||c.db.createObjectStore("$meta").add(Math.ceil(c.db.version/10-1),"version");var d=Pc(0,u.idbdb,c);Rc(u,u._dbSchema,c);for(var m=0,v=up(d,u._dbSchema).change;mMath.pow(2,62)?0:R.oldVersion,D=R<1,u.idbdb=B.result,g&&Ux(u,M),jx(u,R/10,M,P))},P),B.onsuccess=vt(function(){M=null;var R,F,j,V,q,Y=u.idbdb=B.result,ne=b(Y.objectStoreNames);if(0"u"?se.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(C){function P(){return indexedDB.databases().finally(C)}A=setInterval(P,100),P()}).finally(function(){return clearInterval(A)}):Promise.resolve()).then(k)]).then(function(){return S(),c.onReadyBeingFired=[],se.resolve(dp(function(){return u.on.ready.fire(u.vip)})).then(function C(){if(0c.limit?C.length=c.limit:u.length===c.limit&&C.length=F.limit&&(!F.values||Y.req.values)&&Qx(Y.req.query.range,F.query.range)}),!1,j,V];case"count":return q=V.find(function(Y){return hw(Y.req.query.range,F.query.range)}),[q,!!q,j,V]}}(c,d,"query",g),M=x[0],D=x[1],C=x[2],P=x[3];return M&&D?M.obsSet=g.obsSet:(D=m.query(g).then(function(T){var B=T.result;if(M&&(M.res=B),S){for(var R=0,F=B.length;R{var o=(async()=>{var a=$e(n);a.autoOpen=!1;var l=new Hy(i,a),f={[Od]:eF(r),[GB]:"++sequence, id",[Cb]:"id"};return l.version(1).stores(f),await l.open(),{dexieDb:l,dexieTable:l[Od],dexieAttachmentsTable:l[Cb],booleanIndexes:tF(r)}})();return Ab.set(i,s),Mf.set(s,0),o});return s}async function XB(t){var e=await t,n=Mf.get(t),r=n-1;r===0?(e.dexieDb.close(),Mf.delete(t)):Mf.set(t,r)}var Qy="__";function rc(t){var e=t.split(".");if(e.length>1)return e.map(r=>rc(r)).join(".");if(t.startsWith("|")){var n=t.substring(1);return Qy+n}else return t}function UO(t){var e=t.split(".");if(e.length>1)return e.map(r=>UO(r)).join(".");if(t.startsWith(Qy)){var n=t.substring(Qy.length);return"|"+n}else return t}function ZB(t,e){return e&&(e=$e(e),e=Yy(e),t.forEach(n=>{var r=Ts(e,n),i=r?"1":"0";rE(e,n,i)}),e)}function zO(t,e){return e&&(e=$e(e),e=Gy(e),t.forEach(n=>{var r=Ts(e,n),i=r==="1";rE(e,n,i)}),e)}function Yy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Yy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{typeof r=="object"&&(r=Yy(r)),e[rc(n)]=r}),e}}function Gy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Gy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{(typeof r=="object"||Array.isArray(t))&&(r=Gy(r)),e[UO(n)]=r}),e}}function eF(t){var e=[],n=Fn(t.primaryKey);e.push([n]),e.push(["_deleted",n]),t.indexes&&t.indexes.forEach(s=>{var o=Ua(s);e.push(o)}),e.push(["_meta.lwt",n]),e.push(["_meta.lwt"]),e=e.map(s=>s.map(o=>rc(o)));var r=e.map(s=>s.length===1?s[0]:"["+s.join("+")+"]");r=r.filter((s,o,a)=>a.indexOf(s)===o);var i=r.join(", ");return i}async function Pb(t,e){var n=await t,r=await n.dexieTable.bulkGet(e);return r.map(i=>zO(n.booleanIndexes,i))}function af(t,e){return t+"||"+e}function tF(t){var e=new Set,n=[];return t.indexes?(t.indexes.forEach(r=>{var i=Ua(r);i.forEach(s=>{if(!e.has(s)){e.add(s);var o=Ui(t,s);o.type==="boolean"&&n.push(s)}})}),n.push("_deleted"),AP(n)):n}function Rb(t){return t===li?-1/0:t}function Tb(t,e,n){if(t.includes(e)){var r=n===Cr||n===!0?"1":"0";return r}else return n}function VO(t,e,n){if(!n){if(typeof window>"u")throw new Error("IDBKeyRange missing");n=window.IDBKeyRange}var r=e.startKeys.map((o,a)=>{var l=e.index[a];return Tb(t,l,o)}).map(Rb),i=e.endKeys.map((o,a)=>{var l=e.index[a];return Tb(t,l,o)}).map(Rb),s=n.bound(r,i,!e.inclusiveStart,!e.inclusiveEnd);return s}async function Mb(t,e){var n=await t.internals,r=e.query,i=r.skip?r.skip:0,s=r.limit?r.limit:1/0,o=i+s,a=e.queryPlan,l=!1;a.selectorSatisfiedByIndex||(l=Oh(t.schema,e.query));var f=VO(n.booleanIndexes,a,n.dexieDb._options.IDBKeyRange),h=a.index,p=[];if(await n.dexieDb.transaction("r",n.dexieTable,async w=>{var I=w.idbtrans,O=I.objectStore(Od),$,_;_="["+h.map(E=>rc(E)).join("+")+"]",$=O.index(_);var b=$.openCursor(f);await new Promise(E=>{b.onsuccess=function(z){var W=z.target.result;if(W){var Q=zO(n.booleanIndexes,W.value);(!l||l(Q))&&p.push(Q),a.sortSatisfiedByIndex&&p.length===o?E():W.continue()}else E()}})}),!a.sortSatisfiedByIndex){var y=Fg(t.schema,e.query);p=p.sort(y)}return p=p.slice(i,o),{documents:p}}async function nF(t,e){var n=await t.internals,r=e.queryPlan,i=r.index,s=VO(n.booleanIndexes,r,n.dexieDb._options.IDBKeyRange),o=-1;return await n.dexieDb.transaction("r",n.dexieTable,async a=>{var l=a.idbtrans,f=l.objectStore(Od),h,p;p="["+i.map(w=>rc(w)).join("+")+"]",h=f.index(p);var y=h.count(s);o=await new Promise((w,I)=>{y.onsuccess=function(){w(y.result)},y.onerror=O=>I(O)})}),o}var rF=Ft(),iF=function(){function t(n,r,i,s,o,a,l){this.changes$=new Kt,this.instanceId=rF++,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,this.primaryPath=Fn(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=async function(r,i){oo(this),r.forEach(h=>{if(!h.document._rev||h.previous&&!h.previous._rev)throw le("SNH",{args:{row:h}})});var s=await this.internals,o={success:[],error:[]},a=r.map(h=>h.document[this.primaryPath]),l;if(await s.dexieDb.transaction("rw",s.dexieTable,s.dexieAttachmentsTable,async()=>{var h=new Map,p=await Pb(this.internals,a);p.forEach(I=>{var O=I;return O&&h.set(O[this.primaryPath],O),O}),l=iO(this,this.primaryPath,h,r,i),o.error=l.errors;var y=[];l.bulkInsertDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),l.bulkUpdateDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),y=y.map(I=>ZB(s.booleanIndexes,I)),y.length>0&&await s.dexieTable.bulkPut(y);var w=[];l.attachmentsAdd.forEach(I=>{w.push({id:af(I.documentId,I.attachmentId),data:I.attachmentData.data})}),l.attachmentsUpdate.forEach(I=>{w.push({id:af(I.documentId,I.attachmentId),data:I.attachmentData.data})}),await s.dexieAttachmentsTable.bulkPut(w),await s.dexieAttachmentsTable.bulkDelete(l.attachmentsRemove.map(I=>af(I.documentId,I.attachmentId)))}),l=ye(l),l.eventBulk.events.length>0){var f=ye(l.newestRow).document;l.eventBulk.checkpoint={id:f[this.primaryPath],lwt:f._meta.lwt},l.eventBulk.endTime=Ft(),this.changes$.next(l.eventBulk)}return o},e.findDocumentsById=async function(r,i){oo(this);var s=await this.internals,o=[];return await s.dexieDb.transaction("r",s.dexieTable,async()=>{var a=await Pb(this.internals,r);a.forEach(l=>{l&&(!l._deleted||i)&&o.push(l)})}),o},e.query=function(r){return oo(this),Mb(this,r)},e.count=async function(r){if(r.queryPlan.selectorSatisfiedByIndex){var i=await nF(this,r);return{count:i,mode:"fast"}}else{var s=await Mb(this,r);return{count:s.documents.length,mode:"slow"}}},e.changeStream=function(){return oo(this),this.changes$.asObservable()},e.cleanup=async function(r){oo(this);var i=await this.internals;return await i.dexieDb.transaction("rw",i.dexieTable,async()=>{var s=Ft()-r,o=await i.dexieTable.where("_meta.lwt").below(s).toArray(),a=[];o.forEach(l=>{l._deleted==="1"&&a.push(l[this.primaryPath])}),await i.dexieTable.bulkDelete(a)}),!0},e.getAttachmentData=async function(r,i,s){oo(this);var o=await this.internals,a=af(r,i);return await o.dexieDb.transaction("r",o.dexieAttachmentsTable,async()=>{var l=await o.dexieAttachmentsTable.get(a);if(l)return l.data;throw new Error("attachment missing documentId: "+r+" attachmentId: "+i)})},e.remove=async function(){oo(this);var r=await this.internals;return await r.dexieTable.clear(),this.close()},e.close=function(){return this.closed?this.closed:(this.closed=(async()=>{this.changes$.complete(),await XB(this.internals)})(),this.closed)},e.conflictResultionTasks=function(){return new Kt},e.resolveConflictResultionTask=async function(r){},t}();async function sF(t,e,n){var r=JB(e.databaseName,e.collectionName,n,e.schema),i=new iF(t,e.databaseName,e.collectionName,e.schema,r,e.options,n);return await FB(jO,e,i),Promise.resolve(i)}function oo(t){if(t.closed)throw new Error("RxStorageInstanceDexie is closed "+t.databaseName+"-"+t.collectionName)}var oF=function(){function t(n){this.name=jO,this.rxdbVersion=vg,this.settings=n}var e=t.prototype;return e.createStorageInstance=function(r){return sO(r),sF(this,r,this.settings)},t}();function aF(t={}){var e=new oF(t);return e}function uF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>=0?(s=o,i=o-1):r=o+1}return s}function lF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>0?(s=o,i=o-1):r=o+1}return s}function cF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<0?(s=o,r=o+1):i=o-1}return s}function fF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<=0?(s=o,r=o+1):i=o-1}return s}function dF(t,e,n,r,i){for(;r<=i;){var s=r+i>>>1,o=t[s],a=n!==void 0?n(o,e):o-e;if(a===0)return s;a<=0?r=s+1:i=s-1}return-1}function ic(t,e,n,r,i,s){return typeof n=="function"?s(t,e,n,r===void 0?0:r|0,i===void 0?t.length-1:i|0):s(t,e,void 0,n===void 0?0:n|0,r===void 0?t.length-1:r|0)}function hF(t,e,n,r,i){return ic(t,e,n,r,i,uF)}function Nb(t,e,n,r,i){return ic(t,e,n,r,i,lF)}function pF(t,e,n,r,i){return ic(t,e,n,r,i,cF)}function mF(t,e,n,r,i){return ic(t,e,n,r,i,fF)}function KO(t,e,n,r,i){return ic(t,e,n,r,i,dF)}function WO(t,e,n){return[t,e,n].join("--memory--")}function uf(t){if(t.internals.removed)throw new Error("removed")}function lf(t,e){return t+"||"+e}function yF(t,e){return t.indexString{var o=s.docsWithIndex,a=s.getIndexableString(r),l=KO(o,{indexString:a},rl);o.splice(l,1)})}function rl(t,e){var n=t.indexString,r=e.indexString;return nUa(i)):[];r.push(["_deleted","_meta.lwt",n]),r.forEach(i=>{t.byIndex[Jy(i)]={index:i,docsWithIndex:[],getIndexableString:$B(e,i)}})}function Jy(t){return t.join(",")}var Fb=new Set,wF=function(){function t(n,r,i,s,o,a,l){this.closed=!1,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,Fb.add(this),this.primaryPath=Fn(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=function(r,i){this.ensurePersistence(),uf(this);for(var s=this.internals,o=this.internals.documents,a=this.primaryPath,l=iO(this,a,o,r,i),f=l.errors,h=new Array(l.bulkInsertDocs.length),p=l.bulkInsertDocs,y=0;y{this.internals.ensurePersistenceIdlePromise=void 0,this.ensurePersistence()})),l.eventBulk.events.length>0){var E=ye(l.newestRow).document;l.eventBulk.checkpoint={id:E[a],lwt:E._meta.lwt},l.eventBulk.endTime=Ft(),dd.then(()=>{s.changes$.next(l.eventBulk)})}var z=Promise.resolve({success:h,error:f});return z},e.ensurePersistence=function(){if(this.internals.ensurePersistenceTask){var r=this.internals,i=this.internals.documents,s=this.primaryPath,o=this.internals.ensurePersistenceTask;this.internals.ensurePersistenceTask=void 0;for(var a=Object.values(this.internals.byIndex),l=o.bulkInsertDocs,f=0;f{b.set(lf(E.documentId,E.attachmentId),{writeData:E.attachmentData,digest:E.digest})}),this.schema.attachments&&(o.attachmentsUpdate.forEach(E=>{b.set(lf(E.documentId,E.attachmentId),{writeData:E.attachmentData,digest:E.digest})}),o.attachmentsRemove.forEach(E=>{b.delete(lf(E.documentId,E.attachmentId))}))}}},e.findDocumentsById=function(r,i){this.ensurePersistence();var s=this.internals.documents,o=[];if(s.size===0)return Promise.resolve(o);for(var a=0;az)break;var X=H.doc;(!f||f(X))&&W.push(X),W.length>=l&&!p&&(Q=!0),E++}if(p){var U=Fg(this.schema,r.query);W=W.sort(U)}return W=W.slice(o,l),Promise.resolve({documents:W})},e.count=async function(r){this.ensurePersistence();var i=await this.query(r);return{count:i.documents.length,mode:"fast"}},e.cleanup=function(r){this.ensurePersistence();for(var i=Ft()-r,s=["_deleted","_meta.lwt",this.primaryPath],o=Jy(s),a=this.internals.byIndex[o].docsWithIndex,l=yb(this.schema,s,[!0,0,""]),f=Nb(a,{indexString:l},rl),h=!1;!h;){var p=a[f];!p||p.doc._meta.lwt>i?h=!0:(vF(this.primaryPath,this.schema,this.internals,p.doc),f++)}return dd},e.getAttachmentData=function(r,i,s){this.ensurePersistence(),uf(this);var o=lf(r,i),a=this.internals.attachments.get(o);if(!s||!a||a.digest!==s)throw new Error("attachment does not exist: "+o);return Promise.resolve(a.writeData.data)},e.changeStream=function(){return uf(this),this.internals.changes$.asObservable()},e.remove=async function(){if(this.closed)throw new Error("closed");this.ensurePersistence(),uf(this),this.internals.removed=!0,this.storage.collectionStates.delete(WO(this.databaseName,this.collectionName,this.schema.version)),await this.close()},e.close=function(){return Fb.delete(this),this.ensurePersistence(),this.closed||(this.closed=!0,this.internals.refCount=this.internals.refCount-1),un},e.conflictResultionTasks=function(){return this.internals.conflictResultionTasks$.asObservable()},e.resolveConflictResultionTask=function(r){return un},t}();function _F(t,e,n){var r=WO(e.databaseName,e.collectionName,e.schema.version),i=t.collectionStates.get(r);if(!i)i={id:su(5),schema:e.schema,removed:!1,refCount:1,documents:new Map,attachments:e.schema.attachments?new Map:void 0,byIndex:{},conflictResultionTasks$:new Kt,changes$:new Kt},gF(i,e.schema),t.collectionStates.set(r,i);else{if(e.devMode&&!Ka(i.schema,e.schema))throw new Error("storage was already created with a different schema");i.refCount=i.refCount+1}var s=new wF(t,e.databaseName,e.collectionName,e.schema,i,e.options,n);return Promise.resolve(s)}var bF=new Map;function Lb(t={}){var e={name:"memory",rxdbVersion:vg,collectionStates:bF,createStorageInstance(n){sO(n);var r=Object.assign({},t,n.options);return _F(this,n,r)}};return e}function SF(t){let{name:e,options:n,storage:r,...i}=t;if(!r)switch(n.storageType){case"dexie":r=aF(n.storageOptions);break;case"memory":r=Lb(n.storageOptions);break;default:r=Lb(n.storageOptions);break}return{name:e,storage:r,options:n,...i}}const IF="modulepreload",EF=function(t){return"/"+t},$b={},OF=function(e,n,r){let i=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link");i=Promise.all(n.map(o=>{if(o=EF(o),o in $b)return;$b[o]=!0;const a=o.endsWith(".css"),l=a?'[rel="stylesheet"]':"";if(!!r)for(let p=s.length-1;p>=0;p--){const y=s[p];if(y.href===o&&(!a||y.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${l}`))return;const h=document.createElement("link");if(h.rel=a?"stylesheet":IF,a||(h.as="script",h.crossOrigin=""),h.href=o,document.head.appendChild(h),a)return new Promise((p,y)=>{h.addEventListener("load",p),h.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${o}`)))})}))}return i.then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})},kF=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,jb=t=>{if(typeof t!="string")throw new TypeError("Invalid argument expected string");const e=t.match(kF);if(!e)throw new Error(`Invalid argument not valid semver ('${t}' received)`);return e.shift(),e},Ub=t=>t==="*"||t==="x"||t==="X",zb=t=>{const e=parseInt(t,10);return isNaN(e)?t:e},DF=(t,e)=>typeof t!=typeof e?[String(t),String(e)]:[t,e],xF=(t,e)=>{if(Ub(t)||Ub(e))return 0;const[n,r]=DF(zb(t),zb(e));return n>r?1:n{for(let n=0;n{const n=jb(t),r=jb(e),i=n.pop(),s=r.pop(),o=Vb(n,r);return o!==0?o:i&&s?Vb(i.split("."),s.split(".")):i||s?i?-1:1:0},AF=(t,e,n)=>{PF(n);const r=CF(t,e);return qO[n].includes(r)},qO={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Kb=Object.keys(qO),PF=t=>{if(typeof t!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof t}`);if(Kb.indexOf(t)===-1)throw new Error(`Invalid operator, expected one of ${Kb.join("|")}`)},{logger:Yr,getDefaultPreparedQuery:RF}=Br,Wb="storage-token|storageToken",Yg=async t=>{let e;try{const r=await LO()(t);if(r.ok)e=await r.json();else throw new Error(`Failed to fetch schema from "${t}", status: ${r.status}`)}catch{throw new Error(`Failed to fetch schema from "${t}"`)}return e},TF=async t=>{var e;try{const n={};for(const r in t){const i=t[r];!i.schema&&((e=i.options)!=null&&e.schemaUrl)&&(i.schema=await Yg(i.options.schemaUrl)),n[i.name]=i}return n}catch(n){throw new Error(n.message)}},MF=async(t,e)=>{let n;const i=await LO()(t);if(i.ok)n=await i.json();else throw new Error(`Failed to fetch db dump from "${t}", status: ${i.status}`);if(!e||!Object.keys(e).length)throw new Error("collections must be initialized before importing");for(const s of n.collections){const o=e[s.name];if(o)s.schemaHash=o.schema._hash;else throw new Error("no such collection as provided in dump")}return n},NF=async(t,e,n)=>{var s,o;let r={};if(t.name!=="dexie")return;const i=(s=await e.internals)==null?void 0:s.dexieTable;if(r=(o=await i.get(Wb))==null?void 0:o.data,!(r!=null&&r.rxdbVersion)||AF(n,r.rxdbVersion,">"))try{await i.update(Wb,{data:{...r,rxdbVersion:n}}),Yr.log("prepare-plugin: migrated internal storage to",n)}catch{throw new Error("prepare-plugin: unable to migrate internal storage")}},BF=async({database:t,creator:e})=>{var o;const n=await IO(t);Yr.log("prepare-plugin: hook:createRxDatabase:after");const{storage:r,internalStore:i,rxdbVersion:s}=t;if(await NF(r,i,s),!(!((o=e.options)!=null&&o.dumpPath)||!n))try{const a=await MF(e.options.dumpPath,t.collections);await t.importJSON(a),Yr.log(`prepare-plugin: imported dump for db "${t.name}"`)}catch(a){Yr.log("prepare-plugin: imported dump error",a)}},FF=async t=>{if(typeof t=="string"){const e=await Yg(t);if(!e)throw new Error(`Failed to fetch schema from "${t}"`);t=e}},LF=async({collection:t,creator:e})=>{var l,f,h;Yr.log("prepare-plugin: hook:createRxCollection:before");const n=await t.getMetadata();Yr.log("prepare-plugin: hook:createRxCollection:before",n);const r=((l=e.options)==null?void 0:l.initialDocs)||[],i=await a();if(!r.length)return;if(i||!n.isFirstTimeInstantiated){if(!((f=e.options)!=null&&f.recreate)||(h=e.options)!=null&&h.replication)return;Yr.log(`prepare-plugin: collection "${t.name}" already has ${i} docs (including _deleted), but recreate option is set`)}const s=await t.schema.hash,o={name:t.name,schemaHash:s,docs:r};try{const{success:p,error:y}=await t.importJSON(o),w=await a();Yr.log(`prepare-plugin: imported ${p.length} docs for collection "${t.name}", errors count ${y.length}, current docs count ${w}`),Yr.table(p)}catch(p){Yr.log("prepare-plugin: imported dump error",p)}return;async function a(){const{count:p}=await t.storageInstance.count(RF()).catch(()=>({count:0}));return p}},$F={name:"prepare-plugin",rxdb:!0,prototypes:{RxDatabase:t=>{Object.assign(t,{fetchSchema:Yg})},RxCollection:t=>{Object.assign(t,{getMetadata:async function(){const n=await IO(this.database),r=await zg(this.database.internalStore),{id:i,data:s,_meta:o,_rev:a}=r.filter(l=>l.data.name===this.name).at(0)||{};return{id:i||this.name,databaseName:this.database.name,collectionName:(s==null?void 0:s.name)||this.name,storageName:this.storageInstance.originalStorageInstance.storage.name,last_modified:o!=null&&o.lwt?Math.floor(o==null?void 0:o.lwt):Date.now(),rev:a?Number(a==null?void 0:a.at(0)):1,isFirstTimeInstantiated:n}}})}},hooks:{createRxDatabase:{after:BF},preCreateRxSchema:{before:FF},createRxCollection:{after:LF}}};function HO(t,e){const n={};if(Array.isArray(e))for(const r of e){const i=Object.getOwnPropertyDescriptor(t,r);i!=null&&i.enumerable&&Object.defineProperty(n,r,i)}else for(const r of Reflect.ownKeys(t)){const i=Object.getOwnPropertyDescriptor(t,r);if(i.enumerable){const s=t[r];e(r,s,t)&&Object.defineProperty(n,r,i)}}return n}const QO="%[a-f0-9]{2}",qb=new RegExp("("+QO+")|([^%]+?)","gi"),Hb=new RegExp("("+QO+")+","gi");function Xy(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(t.length===1)return t;e=e||1;const n=t.slice(0,e),r=t.slice(e);return Array.prototype.concat.call([],Xy(n),Xy(r))}function jF(t){try{return decodeURIComponent(t)}catch{let e=t.match(qb)||[];for(let n=1;nt==null,KF=t=>encodeURIComponent(t).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),Zy=Symbol("encodeFragmentIdentifier");function WF(t){switch(t.arrayFormat){case"index":return e=>(n,r)=>{const i=n.length;return r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[",i,"]"].join("")]:[...n,[Nt(e,t),"[",Nt(i,t),"]=",Nt(r,t)].join("")]};case"bracket":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[]"].join("")]:[...n,[Nt(e,t),"[]=",Nt(r,t)].join("")];case"colon-list-separator":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),":list="].join("")]:[...n,[Nt(e,t),":list=",Nt(r,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e=t.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||t.skipNull&&i===null||t.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Nt(n,t),e,Nt(i,t)].join("")]:[[r,Nt(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,Nt(e,t)]:[...n,[Nt(e,t),"=",Nt(r,t)].join("")]}}function qF(t){let e;switch(t.arrayFormat){case"index":return(n,r,i)=>{if(e=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!e){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][e[1]]=r};case"bracket":return(n,r,i)=>{if(e=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(e=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const s=typeof r=="string"&&r.includes(t.arrayFormatSeparator),o=typeof r=="string"&&!s&&Ei(r,t).includes(t.arrayFormatSeparator);r=o?Ei(r,t):r;const a=s||o?r.split(t.arrayFormatSeparator).map(l=>Ei(l,t)):r===null?r:Ei(r,t);i[n]=a};case"bracket-separator":return(n,r,i)=>{const s=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!s){i[n]=r&&Ei(r,t);return}const o=r===null?[]:r.split(t.arrayFormatSeparator).map(a=>Ei(a,t));if(i[n]===void 0){i[n]=o;return}i[n]=[...i[n],...o]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function GO(t){if(typeof t!="string"||t.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Nt(t,e){return e.encode?e.strict?KF(t):encodeURIComponent(t):t}function Ei(t,e){return e.decode?zF(t):t}function JO(t){return Array.isArray(t)?t.sort():typeof t=="object"?JO(Object.keys(t)).sort((e,n)=>Number(e)-Number(n)).map(e=>t[e]):t}function XO(t){const e=t.indexOf("#");return e!==-1&&(t=t.slice(0,e)),t}function HF(t){let e="";const n=t.indexOf("#");return n!==-1&&(e=t.slice(n)),e}function Qb(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&typeof t=="string"&&t.trim()!==""?t=Number(t):e.parseBooleans&&t!==null&&(t.toLowerCase()==="true"||t.toLowerCase()==="false")&&(t=t.toLowerCase()==="true"),t}function Gg(t){t=XO(t);const e=t.indexOf("?");return e===-1?"":t.slice(e+1)}function Jg(t,e){e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e},GO(e.arrayFormatSeparator);const n=qF(e),r=Object.create(null);if(typeof t!="string"||(t=t.trim().replace(/^[?#&]/,""),!t))return r;for(const i of t.split("&")){if(i==="")continue;const s=e.decode?i.replace(/\+/g," "):i;let[o,a]=YO(s,"=");o===void 0&&(o=s),a=a===void 0?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?a:Ei(a,e),n(Ei(o,e),a,r)}for(const[i,s]of Object.entries(r))if(typeof s=="object"&&s!==null)for(const[o,a]of Object.entries(s))s[o]=Qb(a,e);else r[i]=Qb(s,e);return e.sort===!1?r:(e.sort===!0?Object.keys(r).sort():Object.keys(r).sort(e.sort)).reduce((i,s)=>{const o=r[s];return o&&typeof o=="object"&&!Array.isArray(o)?i[s]=JO(o):i[s]=o,i},Object.create(null))}function ZO(t,e){if(!t)return"";e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e},GO(e.arrayFormatSeparator);const n=o=>e.skipNull&&VF(t[o])||e.skipEmptyString&&t[o]==="",r=WF(e),i={};for(const[o,a]of Object.entries(t))n(o)||(i[o]=a);const s=Object.keys(i);return e.sort!==!1&&s.sort(e.sort),s.map(o=>{const a=t[o];return a===void 0?"":a===null?Nt(o,e):Array.isArray(a)?a.length===0&&e.arrayFormat==="bracket-separator"?Nt(o,e)+"[]":a.reduce(r(o),[]).join("&"):Nt(o,e)+"="+Nt(a,e)}).filter(o=>o.length>0).join("&")}function ek(t,e){var i;e={decode:!0,...e};let[n,r]=YO(t,"#");return n===void 0&&(n=t),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:Jg(Gg(t),e),...e&&e.parseFragmentIdentifier&&r?{fragmentIdentifier:Ei(r,e)}:{}}}function tk(t,e){e={encode:!0,strict:!0,[Zy]:!0,...e};const n=XO(t.url).split("?")[0]||"",r=Gg(t.url),i={...Jg(r,{sort:!1}),...t.query};let s=ZO(i,e);s&&(s=`?${s}`);let o=HF(t.url);if(t.fragmentIdentifier){const a=new URL(n);a.hash=t.fragmentIdentifier,o=e[Zy]?a.hash:`#${t.fragmentIdentifier}`}return`${n}${s}${o}`}function nk(t,e,n){n={parseFragmentIdentifier:!0,[Zy]:!1,...n};const{url:r,query:i,fragmentIdentifier:s}=ek(t,n);return tk({url:r,query:HO(i,e),fragmentIdentifier:s},n)}function QF(t,e,n){const r=Array.isArray(e)?i=>!e.includes(i):(i,s)=>!e(i,s);return nk(t,r,n)}const gm=Object.freeze(Object.defineProperty({__proto__:null,exclude:QF,extract:Gg,parse:Jg,parseUrl:ek,pick:nk,stringify:ZO,stringifyUrl:tk},Symbol.toStringTag,{value:"Module"})),{keys:Yb,isEmpty:Gb,isNullOrUndefined:ev}=Br,YF=({selector:t,sort:e,limit:n,skip:r},i)=>{const s=Yb(i.jsonSchema.properties);return Gb(t)||(t=HO(t,o=>!o.startsWith("$")&&!o.includes(".")&&s.includes(o))),Gb(e)||(e=e==null?void 0:e.filter(o=>s.includes(Yb(o)[0]))),(ev(n)||isNaN(n))&&(n=void 0),(ev(r)||isNaN(r))&&(r=void 0),{selector:t,sort:e,limit:n,skip:r}},Jb=(t,e)=>{t=gm.extract(t);const n=gm.pick(t,["selector","sort","limit","skip"]),r=gm.parse(n,{parseNumbers:!0,parseBooleans:!0}),{selector:i,sort:s,limit:o,skip:a}=r,l=i?JSON.parse(i):void 0,f=s?JSON.parse(s):void 0;return YF({selector:l,sort:f,limit:o,skip:a},e)},cf=t=>ev(t)?"":JSON.stringify(t),{logger:Xb,compactObject:GF}=Br,JF={name:"query-params-plugin",rxdb:!0,prototypes:{RxCollection:t=>{const e=new Jr({});let n=!1,r,i=!1,s="",o=()=>Promise.resolve(!1);function a(h=PE,p){var y;n=!!((y=this.options)!=null&&y.useQueryParams),r=this.schema,!(!n||i)&&(o=p,h.pipe(Bo(),xy(w=>{s=w}),Mt(w=>Jb(w,r)),OE(w=>(Xb.log("Error in parsing url to mango query",w),e)),xy(w=>{Xb.log("queryParams",w)}),ME(()=>!this.destroyed)).subscribe(e),i=!0)}function l(h){if(!n)return;const{selector:p,sort:y,limit:w,skip:I}=h,O={limit:w,skip:I};p&&(O.selector=cf(h.selector)),y&&(O.sort=cf(h.sort)),o(O)}function f(h){if(!n)return;const p=Jb(s,r),y={selector:cf(h.selector||p.selector),sort:cf(h.sort||p.sort),limit:h.limit||p.limit,skip:h.skip||p.skip};o(GF(y))}Object.assign(t,{queryParams:{$:e.asObservable(),get:()=>e.getValue(),set:l,patch:f}},{queryParamsInit:a})}},hooks:{createRxCollection:{}}};var rk={minimumDeletedTime:1e3*60*60*24*31,minimumCollectionAge:1e3*60,runEach:1e3*60*5,awaitReplicationsInSync:!0,waitForLeadership:!0},wm=dd;async function XF(t){var e=t.database,n=Object.assign({},rk,e.cleanupPolicy?e.cleanupPolicy:{});await t.promiseWait(n.minimumCollectionAge),!t.destroyed&&(n.waitForLeadership&&await e.waitForLeadership(),!t.destroyed&&(await ik(t,n),await ZF(t,n)))}async function ik(t,e){for(var n=t.database,r=t.storageInstance,i=!1;!i&&!t.destroyed;){if(e.awaitReplicationsInSync){var s=FO.get(t);s&&await Promise.all(s.map(o=>{if(!o.isStopped())return o.awaitInSync()}))}if(await n.requestIdlePromise(),t.destroyed)return;wm=wm.then(()=>t.destroyed?!0:r.cleanup(e.minimumDeletedTime)),i=await wm}}async function ZF(t,e){for(;!t.destroyed;){if(await t.promiseWait(e.runEach),t.destroyed)return;await ik(t,e)}}var eL={name:"cleanup",rxdb:!0,prototypes:{RxCollection:t=>{t.cleanup=async function(e){var n=Object.assign({},rk,this.database.cleanupPolicy?this.database.cleanupPolicy:{});typeof e>"u"&&(e=n.minimumDeletedTime);for(var r=!1;!r&&!this.destroyed;)r=await this.storageInstance.cleanup(e)}}},hooks:{createRxCollection:{after:t=>{XF(t.collection)}}}};function tL(t){var e={name:this.name,instanceToken:this.token,collections:[]},n=Object.keys(this.collections).filter(r=>!t||t.includes(r)).filter(r=>r.charAt(0)!=="_").map(r=>this.collections[r]);return Promise.all(n.map(r=>r.exportJSON())).then(r=>(e.collections=r,e))}var nL=function(t){var e=t.collections.filter(n=>!this.collections[n.name]).map(n=>n.name);if(e.length>0)throw le("JD1",{missingCollections:e});return Promise.all(t.collections.map(n=>this.collections[n.name].importJSON(n)))},rL=async function(){var t={name:this.name,schemaHash:await this.schema.hash,docs:[]},e=ra("find",tl(),this);return nO(e).then(n=>(t.docs=n.map(r=>(r=$e(r),delete r._rev,delete r._attachments,r)),t))};async function iL(t){if(t.schemaHash!==await this.schema.hash)throw le("JD2",{schemaHash:t.schemaHash,own:this.schema.hash});var e=t.docs;return this.storageInstance.bulkWrite(e.map(n=>{var r=Object.assign({},n,{_meta:{lwt:Ft()},_rev:Rn(),_attachments:{},_deleted:!1});return{document:r}}),"json-dump-import")}var sL={name:"json-dump",rxdb:!0,prototypes:{RxDatabase:t=>{t.exportJSON=tL,t.importJSON=nL},RxCollection:t=>{t.exportJSON=rL,t.importJSON=iL}},overwritable:{}},oL=uO(),aL=function(t){gg(e,t);function e(n,r,i){var s;return s=t.call(this,null,r)||this,s.id=n,s.parent=i,s}return e}(oL),il={get isLocal(){return!0},get allAttachments$(){throw le("LD1",{document:this})},get primaryPath(){return"id"},get primary(){return this.id},get $(){var t=this,e=Mo(tv,this.parent);return t.parent.$.pipe(lt(n=>n.documentId===this.primary),lt(n=>n.isLocal),Mt(n=>kg(n)),Ql(e.docCache.getLatestDocumentData(this.primary)),Bo((n,r)=>n._rev===r._rev),Mt(n=>e.docCache.getCachedRxDocument(n)),Ai(Ci))},get $$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.$,t.getLatest()._data)},get deleted$$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.deleted$,t.getLatest().deleted)},getLatest(){var t=Mo(tv,this.parent),e=t.docCache.getLatestDocumentData(this.primary);return t.docCache.getCachedRxDocument(e)},get(t){if(t="data."+t,!!this._data){if(typeof t!="string")throw el("LD2",{objPath:t});var e=Ts(this._data,t);return e=it.deepFreezeWhenDevMode(e),e}},get$(t){if(t="data."+t,it.isDevMode()){if(t.includes(".item."))throw le("LD3",{objPath:t});if(t===this.primaryPath)throw le("LD4")}return this.$.pipe(Mt(e=>e._data),Mt(e=>Ts(e,t)),Bo())},get$$(t){var e=_m(this),n=e.getReactivityFactory();return n.fromObservable(this.get$(t),this.getLatest().get(t))},async incrementalModify(t){var e=await sl(this.parent);return e.incrementalWriteQueue.addWrite(this._data,async n=>(n.data=await t(n.data,this),n)).then(n=>e.docCache.getCachedRxDocument(n))},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t){var e=await sl(this.parent),n=this._data;return t.id=this.id,e.storageInstance.bulkWrite([{previous:n,document:t}],"local-document-save-data").then(r=>{var i=r.success[0];if(!i)throw r.error[0];t=$e(t),t._rev=i._rev})},async remove(){var t=await sl(this.parent),e={id:this._data.id,data:{},_deleted:!0,_meta:Ks(),_rev:Rn(),_attachments:{}};return Tl(t.storageInstance,{previous:this._data,document:e},"local-document-remove").then(n=>t.docCache.getCachedRxDocument(n))}},Zb=!1,uL=()=>{if(!Zb){Zb=!0;var t=kh,e=Object.getOwnPropertyNames(t);e.forEach(r=>{var i=Object.getOwnPropertyDescriptor(il,r);if(!i){var s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(il,r,s)}});var n=r=>()=>{throw le("LD6",{functionName:r})};["populate","update","putAttachment","getAttachment","allAttachments"].forEach(r=>il[r]=n(r))}};function lL(t,e){uL();var n=new aL(t.id,t,e);return Object.setPrototypeOf(n,il),n.prototype=il,n}function _m(t){var e=t.parent;return IN(e)?e:e.database}var kd=new WeakMap,tv=new WeakMap;function e1(t){var e=t.database?t.database:t,n=t.database?t.name:"",r=(async()=>{var i=await sk(e.token,e.storage,e.name,n,e.instanceCreationOptions,e.multiInstance);i=$g(e,i,ok);var s=new XE("id",t.$.pipe(lt(h=>h.isLocal)),h=>lL(h,t)),o=new aO(i,"id",()=>{},()=>{}),a=await e.storageToken,l=i.changeStream().subscribe(h=>{var p={id:h.id,internal:!1,collectionName:t.database?t.name:void 0,storageToken:a,events:h.events.map(y=>rO(!0,y,t.database?t:void 0)),databaseToken:e.token,checkpoint:h.checkpoint,context:h.context,endTime:h.endTime,startTime:h.startTime};e.$emit(p)});t._subs.push(l);var f={database:e,parent:t,storageInstance:i,docCache:s,incrementalWriteQueue:o};return tv.set(t,f),f})();kd.set(t,r)}function sl(t){var e=kd.get(t);if(!e){var n=t.database?t.database:t,r=t.database?t.name:"";throw le("LD8",{database:n.name,collection:r})}return e}function sk(t,e,n,r,i,s){return e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:cL(r),schema:ok,options:i,multiInstance:s,devMode:it.isDevMode()})}function t1(t){var e=kd.get(t);if(e)return kd.delete(t),e.then(n=>n.storageInstance.close())}async function n1(t,e,n){var r=su(10),i=await sk(r,t,e,n,{},!1);await i.remove()}function cL(t){return"plugin-local-documents-"+t}var ok=bh({title:"RxLocalDocument",version:0,primaryKey:"id",type:"object",properties:{id:{type:"string",maxLength:128},data:{type:"object",additionalProperties:!0}},required:["id","data"]});async function r1(t,e){var n=await sl(this),r={id:t,data:e,_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}};return Tl(n.storageInstance,{document:r},"local-document-insert").then(i=>n.docCache.getCachedRxDocument(i))}function i1(t,e){return this.getLocal(t).then(n=>{if(n)return n.incrementalModify(()=>e);var r=this.insertLocal(t,e);return r})}async function s1(t){var e=await sl(this),n=e.docCache,r=n.getLatestDocumentDataIfExists(t);return r?Promise.resolve(n.getCachedRxDocument(r)):Zl(e.storageInstance,t).then(i=>i?e.docCache.getCachedRxDocument(i):null)}function o1(t){return this.$.pipe(Ql(null),Nr(async e=>{if(e)return{changeEvent:e};var n=await this.getLocal(t);return{doc:n}}),Nr(async e=>{if(e.changeEvent){var n=e.changeEvent;if(!n.isLocal||n.documentId!==t)return{use:!1};var r=await this.getLocal(t);return{use:!0,doc:r}}else return{use:!0,doc:e.doc}}),lt(e=>e.use),Mt(e=>e.doc))}var ak={name:"local-documents",rxdb:!0,prototypes:{RxCollection:t=>{t.insertLocal=r1,t.upsertLocal=i1,t.getLocal=s1,t.getLocal$=o1},RxDatabase:t=>{t.insertLocal=r1,t.upsertLocal=i1,t.getLocal=s1,t.getLocal$=o1}},hooks:{createRxDatabase:{before:t=>{t.creator.localDocuments&&e1(t.database)}},createRxCollection:{before:t=>{t.creator.localDocuments&&e1(t.collection)}},preDestroyRxDatabase:{after:t=>t1(t)},postDestroyRxCollection:{after:t=>t1(t)},postRemoveRxDatabase:{after:t=>n1(t.storage,t.databaseName,"")},postRemoveRxCollection:{after:t=>n1(t.storage,t.databaseName,t.collectionName)}},overwritable:{}};async function uk(t){var e=pR(t.collection.schema.jsonSchema).map(r=>t.collection.name+"-"+r),n=await t.database.internalStore.findDocumentsById(e.map(r=>Qa(r,ko)),!1);if(n.length>1)throw new Error("more the one old collection meta found");return n[0]}function fL(t,e,n){var r=$e(n._attachments),i=Pn(n),s=i._meta;delete i._meta,i._attachments=r;for(var o=e+1,a=Promise.resolve(i),l=function(){var f=o;a=a.then(h=>dL(t,f,h)),o++};o<=t.schema.version;)l();return a.then(f=>f===null?mg:(f._meta=s,f))}function dL(t,e,n){if(n===null)return mg;var r=t.migrationStrategies[e](n,t),i=ZI(r);return i}async function lk(t){if(t.collection.schema.version===0)return Gn;var e=await uk(t);return!!e}var hL=200,ck=new WeakMap;function pL(t){var e=fk(t.database),n=e.getValue().slice(0);n.push(t),e.next(n)}function fk(t){return Tr(ck,t,()=>new Jr([]))}function mL(t){var e=ck.get(t);e&&e.complete()}var yL=function(){function t(n,r,i=[n.name,"v",n.schema.version].join("-")){this.started=!1,this.updateStatusHandlers=[],this.updateStatusQueue=dd,this.collection=n,this.migrationStrategies=r,this.statusDocKey=i,this.database=n.database,this.oldCollectionMeta=uk(this),this.mustMigrate=lk(this),this.statusDocId=Qa(this.statusDocKey,Pf),pL(this),this.$=q2(this.database.internalStore,this.statusDocId).pipe(lt(s=>!!s),Mt(s=>ye(s).data),Ai(Ci))}var e=t.prototype;return e.getStatus=function(){return As(this.$)},e.startMigration=async function(r=hL){var i=await this.mustMigrate;if(i){if(this.started)throw le("DM1");this.started=!0;var s=void 0;if(this.database.multiInstance){s=new xh(["rx-migration-state",this.database.name,this.collection.name,this.collection.schema.version].join("|"));var o=NB(s);await o.awaitLeadership()}var a=await this.oldCollectionMeta,l=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:this.collection.name,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:a.data.schema,password:this.database.password,devMode:it.isDevMode()}),f=await this.getConnectedStorageInstances(),h=await this.countAllDoucments([l].concat(f.map(p=>p.oldStorage)));await this.updateStatus(p=>(p.count.total=h,p));try{await Promise.all(f.map(async p=>{await fO(this.collection,p.newStorage.collectionName,p.newStorage.schema),await this.migrateStorage(p.oldStorage,p.newStorage,r),await p.newStorage.close()})),await this.migrateStorage(l,this.collection.storageInstance.originalStorageInstance,r)}catch(p){await l.close(),await this.updateStatus(y=>(y.status="ERROR",y.error=Oy(p),y));return}await Tl(this.database.internalStore,{previous:a,document:Object.assign({},a,{_deleted:!0})},"rx-migration-remove-collection-meta"),await this.updateStatus(p=>(p.status="DONE",p)),s&&await s.close()}},e.updateStatus=function(r){return this.updateStatusHandlers.push(r),this.updateStatusQueue=this.updateStatusQueue.then(async()=>{if(this.updateStatusHandlers.length!==0){var i=this.updateStatusHandlers;for(this.updateStatusHandlers=[];;){var s=await Zl(this.database.internalStore,this.statusDocId),o=Pn(s);s||(o={id:this.statusDocId,key:this.statusDocKey,context:Pf,data:{collectionName:this.collection.name,status:"RUNNING",count:{total:0,handled:0,percent:0}},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}});var a=ye(o).data;for(var l of i)a=l(a);if(a.count.percent=Math.round(a.count.handled/a.count.total*100),o&&s&&Ka(o.data,s.data))break;try{await Tl(this.database.internalStore,{previous:s,document:ye(o)},Pf);break}catch(f){if(!_h(f))throw f}}}}),this.updateStatusQueue},e.migrateStorage=async function(r,i,s){var o=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:"rx-migration-state-meta-"+this.collection.name+"-"+this.collection.schema.version,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:Vy(r.schema,vd(r.schema)),password:this.database.password,devMode:it.isDevMode()}),a=pN(i,bd,this.database.token,!0),l=pO({keepMeta:!0,identifier:["rx-migration-state",this.collection.name,r.schema.version,this.collection.schema.version].join("-"),replicationHandler:{masterChangesSince(){return Promise.resolve({checkpoint:null,documents:[]})},masterWrite:async h=>{h=await Promise.all(h.map(async y=>{var w=y.newDocumentState;if(i.schema.title===Rf&&(w=y.newDocumentState.docData,y.newDocumentState.isCheckpoint==="1"))return{assumedMasterState:void 0,newDocumentState:y.newDocumentState};var I=await fL(this.collection,r.schema.version,w),O={assumedMasterState:void 0,newDocumentState:i.schema.title===Rf?Object.assign({},y.newDocumentState,{docData:I}):I};return O})),h=h.filter(y=>!!y.newDocumentState);var p=await a.masterWrite(h);return p},masterChangeStream$:new Kt().asObservable()},forkInstance:r,metaInstance:o,pushBatchSize:s,pullBatchSize:0,conflictHandler:bd,hashFunction:this.database.hashFunction}),f=!1;if(l.events.error.subscribe(h=>f=h),l.events.processed.up.subscribe(()=>{this.updateStatus(h=>(h.count.handled=h.count.handled+1,h))}),await Tf(l),await mO(l),await this.updateStatusQueue,f)throw await o.close(),f;await Promise.all([r.remove(),o.remove()])},e.countAllDoucments=async function(r){var i=0;return await Promise.all(r.map(async s=>{var o=Xl(s.schema,Rl(s.schema,{selector:{}})),a=await s.count(o);i+=a.count})),i},e.getConnectedStorageInstances=async function(){var r=await this.oldCollectionMeta,i=[];return await Promise.all(await Promise.all(r.data.connectedStorages.map(async s=>{if(s.schema.title!==Rf)throw new Error("unknown migration handling for schema");var o=Vy(Pn(this.collection.schema.jsonSchema),vd(s.schema));o.version=this.collection.schema.version;var[a,l]=await Promise.all([this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:s.schema,password:this.database.password,collectionName:s.collectionName}),this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:o,password:this.database.password,collectionName:s.collectionName})]);i.push({oldStorage:a,newStorage:l})}))),i},e.migratePromise=async function(r){this.startMigration(r);var i=await this.mustMigrate;if(!i)return{status:"DONE",collectionName:this.collection.name,count:{handled:0,percent:0,total:0}};var s=await Promise.race([As(this.$.pipe(lt(o=>o.status==="DONE"))),As(this.$.pipe(lt(o=>o.status==="ERROR")))]);if(s.status==="ERROR")throw le("DM4",{collection:this.collection.name,error:s.error});return s},t}(),vL=new WeakMap,gL={name:"migration-schema",rxdb:!0,init(){Kr(ak)},hooks:{preDestroyRxDatabase:{after:mL}},prototypes:{RxDatabase:t=>{t.migrationStates=function(){return fk(this).pipe(Ai(Ci))}},RxCollection:t=>{t.getMigrationState=function(){return Tr(vL,this,()=>new yL(this.asRxCollection,this.migrationStrategies))},t.migrationNeeded=function(){return this.schema.version===0?Gn:lk(this.getMigrationState())}}}};const Xg=(t,e)=>{switch(t){case"deep":return Py(e);case"copy":return Ry(e)?new Date(e):Lt(e)?[...e]:wt(e)?Object.assign({},e):e;default:return e}},wL=/^[a-z]+[a-zA-Z0-9]*$/;function dk(t){if(!t.includes(".$"))return[{parent:t,selector:t},[]];const e=t.indexOf(".$"),n=t.indexOf("]"),r=t.substring(0,e),i=t.substring(e+3,n);Yt(i===""||wL.test(i),"The filter must begin with a lowercase letter and contain only alphanumeric characters.");const s=t.substring(n+2),[o,a]=s?dk(s):[];return[{selector:t,parent:r,child:i||"$",next:o},[i,...a||[]].filter(Boolean)]}const $n=(t,e,n,r,i)=>{const{parent:s,child:o,next:a}=e;if(!o){let f=!1;return Pl(t,s,(p,y)=>f=!!r(p,y)||f,i),f}const l=lu(t,s);return Lt(l)?l.map((f,h)=>n[o]&&!n[o].test({[o]:f})?!1:a?$n(f,a,n,r,i):r(l,h)).some(Boolean):!1};function or(t,e,n,r){const i=[];for(const[s,o]of Object.entries(t)){const[a,l]=dk(s);if(!l.length)r(o,a,{})&&i.push(a.parent);else{const f={};e.forEach(p=>{Object.keys(p).forEach(y=>{l.forEach(w=>{(y===w||y.startsWith(w+"."))&&(f[w]=f[w]||{},Object.assign(f[w],{[y]:p[y]}))})})});const h={};for(const[p,y]of Object.entries(f))h[p]=new qs(y,n.queryOptions);r(o,a,h)&&i.push(a.parent)}}return i}const _L=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&Xn(i,"$each")&&Object.assign(a,i),$n(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]);return Ng([h,a.$each]).length===a.$each.length?!1:(l[f]=Xg(r.cloneMode,kM(h.concat(a.$each))),!0)},{buildGraph:!0})}),bL=new Set(["and","or","xor"]),SL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a=Object.keys(i);return Yt(a.length===1&&bL.has(a[0]),`Invalid bit operator '${a[0]}'. Must be one of 'and', 'or', or 'xor'.`),$n(t,s,o,(l,f)=>{let h=l[f];const p=i[a[0]];if(h!==void 0&&!(Hn(h)&&Hn(p)))return!1;switch(h=h||0,a[0]){case"and":l[f]=h&p;break;case"or":l[f]=h|p;break;case"xor":l[f]=h^p;break}return l[f]!==h},{buildGraph:!0})}),IL=(t,e,n=[],r={})=>{const i=Date.now();return or(e,n,r,(s,o,a)=>$n(t,o,a,(l,f)=>(l[f]=i,!0),{buildGraph:!0}))},EL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{if(!s.child){const a=lu(t,s.parent);Yt(a===void 0||Hn(a),"cannot apply $inc to a value of non-numeric type")}return $n(t,s,o,(a,l)=>(a[l]=(a[l]||(a[l]=0))+i,!0),{buildGraph:!0})}),OL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>a[l]!==void 0&&Mn(a[l],i)>-1?!1:(a[l]=i,!0),{buildGraph:!0})),kL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>a[l]!==void 0&&Mn(a[l],i)<1?!1:(a[l]=i,!0),{buildGraph:!0})),DL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>{const f=a[l];return a[l]=a[l]===void 0?0:a[l]*i,a[l]!==f},{buildGraph:!0})),xL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>{const f=a[l];return Yt(Lt(f),`path '${s.selector}' contains an element of non-array type.`),f.length?(i===-1?f.splice(0,1):f.pop(),!0):!1})),hk=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a=!wt(i)||Object.keys(i).some(Ko),l=new qs(a?{k:i}:i,r.queryOptions),f=a?h=>l.test({k:h}):h=>l.test(h);return $n(t,s,o,(h,p)=>{const y=h[p],w=new Array;return y.map(O=>{const $=f(O);return $||w.push(O),$}).some(Boolean)?(h[p]=w,!0):!1})}),CL=(t,e,n=[],r={})=>{const i={};return Object.entries(e).forEach(([s,o])=>{i[s]={$in:o}}),hk(t,i,n,r)},AL=Object.freeze(["$each","$slice","$sort","$position"]),PL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&AL.some(l=>Xn(i,l))&&Object.assign(a,i),$n(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]),p=h.slice(0,a.$slice||h.length),y=h.length,w=Hn(a.$position)?a.$position:h.length;if(h.splice(w,0,...Xg(r.cloneMode,a.$each)),a.$sort){const I=wt(a.$sort)?Object.keys(a.$sort||{}).pop():"",O=I?a.$sort[I]:a.$sort,$=I?_=>lu(_,I):_=>_;h.sort((_,b)=>O*Mn($(_),$(b)))}return Hn(a.$slice)&&(a.$slice<0?h.splice(0,h.length+a.$slice):h.splice(a.$slice)),y!=h.length||!Ki(p,h)},{descendArray:!0,buildGraph:!0})}),pk=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>Ki(a[l],i)?!1:(a[l]=Xg(r.cloneMode,i),!0),{buildGraph:!0})),RL=(t,e,n=[],r={})=>{const i=[],s=or(e,n,r,(o,a,l)=>$n(t,a,l,(f,h)=>Xn(f,h)?(i.push(...pk(t,{[o]:f[h]},n,r)),delete f[h],!0):!1));return Array.from(new Set(s.concat(i)))},TL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>Xn(a,l)?(Lt(a)?a[l]=null:delete a[l],!0):!1)),a1=Object.freeze(Object.defineProperty({__proto__:null,$addToSet:_L,$bit:SL,$currentDate:IL,$inc:EL,$max:OL,$min:kL,$mul:DL,$pop:xL,$pull:hk,$pullAll:CL,$push:PL,$rename:RL,$set:pk,$unset:TL},Symbol.toStringTag,{value:"Module"}));function ML(t){return(e,n,r=[],i={},s={})=>{const o=Object.assign({cloneMode:"copy"},t,s);Object.assign(o,{queryOptions:Bg(Object.assign({useStrictMode:!1},o==null?void 0:o.queryOptions))}),r=r||[],i=i||{};const a=Object.entries(n);Yt(a.length===1,"Update expression must contain only one operator.");const[l,f]=a[0];Yt(Xn(a1,l),`Update operator '${l}' is not supported.`);const h=a1[l];return Object.keys(i).length&&!new qs(i,o.queryOptions).test(e)?[]:h(e,f,r,o)}}var bm;function mk(t,e){if(!bm){var n=ML({cloneMode:"none"});bm=(r,i)=>{var s=Pn(r);return n(s,i),s}}return bm(t,e)}function NL(t){return this.incrementalModify(e=>{var n=mk(e,t);return n})}function BL(t){var e=this._data,n=mk(e,t);return this._saveData(n,e)}function FL(t){return this.exec().then(e=>e?Array.isArray(e)?Promise.all(e.map(n=>n.update(t))).then(()=>e):e.update(t).then(()=>e):null)}var LL={name:"update",rxdb:!0,prototypes:{RxDocument:t=>{t.update=BL,t.incrementalUpdate=NL},RxQuery:t=>{t.update=FL}}};const{isDevMode:$L,isTestEnvironment:jL}=Br;async function UL(t=[]){try{Kr(ak),Kr(sL),Kr(gL),Kr(LL),Kr(eL),Kr($F),Kr(JF);for(const e of t)Kr(e);if($L()&&!jL()){const{RxDBDevModePlugin:e}=await OF(()=>import("./index-ABWravge.js"),__vite__mapDeps([]));Kr(e)}Br.logger.log("rxdb plugins loaded")}catch(e){throw new Error(e.message??e)}}const{logger:ea}=Br;class zL{get db(){return this.dbInstance}get dbOptions(){return this.options}get collections(){return this.db.collections}async destroyDb(){try{await this.db.remove(),await this.db.destroy(),this.dbInstance=null,ea.log("database destroy")}catch{ea.log("database destroy error")}}async initDb(e){var n,r;if(!this.dbInstance)try{if(await UL((n=e.options)==null?void 0:n.plugins),this.dbInstance=await SN(e),this.options=e,ea.log(`created database "${this.db.name}" with config "${JSON.stringify(e)}"`),(r=e==null?void 0:e.options)!=null&&r.schemas){const i=await this.initCollections(e.options.schemas);ea.log(`created ${Object.keys(i).length} collections bulk: ${Object.keys(i)}`)}}catch(i){throw ea.log("Error initializing the database:",i),i}}async initCollections(e){try{const n=await TF(e);return await this.db.addCollections(n)}catch(n){throw ea.log("Error initializing collection(s)",n),n}}}var yk={exports:{}},Xe={};/** @license React v16.13.1 + `):"",this.name="UnsubscriptionError",this.errors=n}});function pd(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var su=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,i,s;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=$a(o),l=a.next();!l.done;l=a.next()){var f=l.value;f.remove(this)}}catch(E){e={error:E}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}else o.remove(this);var h=this.initialTeardown;if(qe(h))try{h()}catch(E){s=E instanceof nm?E.errors:[E]}var m=this._finalizers;if(m){this._finalizers=null;try{for(var y=$a(m),w=y.next();!w.done;w=y.next()){var I=w.value;try{C_(I)}catch(E){s=s??[],E instanceof nm?s=ci(ci([],Rr(s)),Rr(E.errors)):s.push(E)}}}catch(E){r={error:E}}finally{try{w&&!w.done&&(i=y.return)&&i.call(y)}finally{if(r)throw r.error}}}if(s)throw new nm(s)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)C_(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&pd(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&pd(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),lE=su.EMPTY;function cE(t){return t instanceof su||t&&"closed"in t&&qe(t.remove)&&qe(t.add)&&qe(t.unsubscribe)}function C_(t){qe(t)?t():t.unsubscribe()}var fE={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Dy={setTimeout:function(t,e){for(var n=[],r=2;r0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,i=this,s=i.hasError,o=i.isStopped,a=i.observers;return s||o?lE:(this.currentObservers=null,a.push(n),new su(function(){r.currentObservers=null,pd(a,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,i=r.hasError,s=r.thrownError,o=r.isStopped;i?n.error(s):o&&n.complete()},e.prototype.asObservable=function(){var n=new Ot;return n.source=this,n},e.create=function(n,r){return new N_(n,r)},e}(Ot),N_=function(t){pi(e,t);function e(n,r){var i=t.call(this)||this;return i.destination=n,i.source=r,i}return e.prototype.next=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,n)},e.prototype.error=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&i!==void 0?i:lE},e}(Kt);function B_(){for(var t=[],e=0;e0&&(h=new Ka({next:function(Q){return W.next(Q)},error:function(Q){E=!0,F(),m=sm(S,i,Q),W.error(Q)},complete:function(){I=!0,F(),m=sm(S,o),W.complete()}}),ir(k).subscribe(h))})(f)}}function sm(t,e){for(var n=[],r=2;r!!t.queryParams.limit,_T=t=>t.queryParams.limit===1,bT=t=>!!(t.queryParams.skip&&t.queryParams.skip>0),ST=t=>t.changeEvent.operation==="DELETE",IT=t=>t.changeEvent.operation==="INSERT",ET=t=>t.changeEvent.operation==="UPDATE",OT=t=>ME(t)&&t.previousResults.length>=t.queryParams.limit,kT=t=>{const e=t.queryParams.sortFields,n=t.changeEvent.previous,r=t.changeEvent.doc;if(!r)return!1;if(!n)return!0;for(let i=0;i{const e=t.changeEvent.id;if(t.keyDocumentMap)return t.keyDocumentMap.has(e);{const n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e=t.previousResults[0];return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},AT=t=>{const e=Dg(t.previousResults);return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},CT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},PT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=Dg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},RT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},TT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=Dg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},MT=t=>{const e=t.changeEvent.previous;return e?t.queryParams.queryMatcher(e):!1},NT=t=>{const e=t.changeEvent.doc;return e?t.queryParams.queryMatcher(e):!1},BT=t=>t.previousResults.length===0,FT={0:IT,1:ET,2:ST,3:ME,4:_T,5:bT,6:BT,7:OT,8:xT,9:AT,10:kT,11:DT,12:CT,13:PT,14:RT,15:TT,16:MT,17:NT};function NE(t,e,n,r){var i=t.length,s=i-1,o=0;if(i===0)return t.push(e),0;for(var a;r<=s;)o=r+(s-r>>1),a=t[o],n(a,e)<=0?r=o+1:s=o-1;return n(a,e)<=0&&o++,t.splice(o,0,e),o}const LT=t=>{},xg=t=>{t.previousResults.unshift(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Ag=t=>{t.previousResults.push(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Cg=t=>{const e=t.previousResults.shift();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},Pg=t=>{const e=t.previousResults.pop();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},$T=t=>{Cg(t),Ag(t)},jT=t=>{Pg(t),xg(t)},UT=t=>{Cg(t),xg(t)},zT=t=>{Pg(t),Ag(t)},BE=t=>{t.keyDocumentMap&&t.keyDocumentMap.delete(t.changeEvent.id);const e=t.queryParams.primaryKey,n=t.previousResults;for(let r=0;r{const e=t.changeEvent.doc,n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e={_id:"wrongHuman"+new Date().getTime()};t.previousResults.length=0,t.previousResults.push(e),t.keyDocumentMap&&(t.keyDocumentMap.clear(),t.keyDocumentMap.set(e._id,e))},FE=t=>{const e=t.changeEvent.id,n=t.changeEvent.doc;if(t.keyDocumentMap){if(t.keyDocumentMap.has(e))return;t.keyDocumentMap.set(e,n)}else if(t.previousResults.find(i=>i[t.queryParams.primaryKey]===e))return;NE(t.previousResults,n,t.queryParams.sortComparator,0)},WT=t=>{BE(t),FE(t)},qT=t=>{throw new Error("Action runFullQueryAgain must be implemented by yourself")},HT=t=>{throw new Error("Action unknownAction should never be called")},QT=["doNothing","insertFirst","insertLast","removeFirstItem","removeLastItem","removeFirstInsertLast","removeLastInsertFirst","removeFirstInsertFirst","removeLastInsertLast","removeExisting","replaceExisting","alwaysWrong","insertAtSortPosition","removeExistingAndInsertAtSortPosition","runFullQueryAgain","unknownAction"],YT={doNothing:LT,insertFirst:xg,insertLast:Ag,removeFirstItem:Cg,removeLastItem:Pg,removeFirstInsertLast:$T,removeLastInsertFirst:jT,removeFirstInsertFirst:UT,removeLastInsertLast:zT,removeExisting:BE,replaceExisting:VT,alwaysWrong:KT,insertAtSortPosition:FE,removeExistingAndInsertAtSortPosition:WT,runFullQueryAgain:qT,unknownAction:HT},GT=40;function om(t){return t.charCodeAt(0)-GT}function JT(t){return t?"1":"0"}function $_(t,e){const n=[];for(let r=0,i=t.length;rZT(tM(),FT,t);function rM(t){const e=nM(t);return QT[e]}function iM(t,e,n,r,i){const s=YT[t];return s({queryParams:e,changeEvent:n,previousResults:r,keyDocumentMap:i}),r}var Ar=String.fromCharCode(65535),li=Number.MIN_SAFE_INTEGER;function sM(t,e){var n=e.selector,r=t.indexes?t.indexes.slice(0):[];e.index&&(r=[e.index]);var i=!!e.sort.find(h=>Object.values(h)[0]==="desc"),s=new Set;Object.keys(n).forEach(h=>{var m=zi(t,h);m&&m.type==="boolean"&&Object.prototype.hasOwnProperty.call(n[h],"$eq")&&s.add(h)});var o=e.sort.map(h=>Object.keys(h)[0]),a=o.filter(h=>!s.has(h)).join(","),l=-1,f;if(r.forEach(h=>{var m=!0,y=!0,w=h.map(_=>{var k=n[_],z=k?Object.keys(k):[],W={};if(!k||!z.length){var Q=y?li:Ar;W={startKey:Q,endKey:m?Ar:li,inclusiveStart:!0,inclusiveEnd:!0}}else z.forEach(H=>{if(Rg.has(H)){var X=k[H],U=lM(H,X);W=Object.assign(W,U)}});return typeof W.startKey>"u"&&(W.startKey=li),typeof W.endKey>"u"&&(W.endKey=Ar),typeof W.inclusiveStart>"u"&&(W.inclusiveStart=!0),typeof W.inclusiveEnd>"u"&&(W.inclusiveEnd=!0),y&&!W.inclusiveStart&&(y=!1),m&&!W.inclusiveEnd&&(m=!1),W}),I=w.map(_=>_.startKey),E=w.map(_=>_.endKey),F={index:h,startKeys:I,endKeys:E,inclusiveEnd:m,inclusiveStart:y,sortSatisfiedByIndex:!i&&a===h.filter(_=>!s.has(_)).join(","),selectorSatisfiedByIndex:uM(h,e.selector,I,E)},S=cM(t,e,F);(S>=l||e.index)&&(l=S,f=F)}),!f)throw le("SNH",{query:e});return f}var Rg=new Set(["$eq","$gt","$gte","$lt","$lte"]),oM=new Set(["$eq","$gt","$gte"]),aM=new Set(["$eq","$lt","$lte"]);function uM(t,e,n,r){var i=Object.entries(e),s=i.find(([H,X])=>{if(!t.includes(H))return!0;var U=Object.entries(X).find(([ee,ce])=>!Rg.has(ee));return U});if(s||e.$and||e.$or)return!1;var o=[],a=new Set;for(var[l,f]of Object.entries(e)){if(!t.includes(l))return!1;var h=Object.keys(f).filter(H=>oM.has(H));if(h.length>1)return!1;var m=h[0];if(m&&a.add(l),m!=="$eq"){if(o.length>0)return!1;o.push(m)}}var y=[],w=new Set;for(var[I,E]of Object.entries(e)){if(!t.includes(I))return!1;var F=Object.keys(E).filter(H=>aM.has(H));if(F.length>1)return!1;var S=F[0];if(S&&w.add(I),S!=="$eq"){if(y.length>0)return!1;y.push(S)}}var _=0;for(var k of t){for(var z of[a,w]){if(!z.has(k)&&z.size>0)return!1;z.delete(k)}var W=n[_],Q=r[_];if(W!==Q&&a.size>0&&w.size>0)return!1;_++}return!0}function lM(t,e){switch(t){case"$eq":return{startKey:e,endKey:e,inclusiveEnd:!0,inclusiveStart:!0};case"$lte":return{endKey:e,inclusiveEnd:!0};case"$gte":return{startKey:e,inclusiveStart:!0};case"$lt":return{endKey:e,inclusiveEnd:!1};case"$gt":return{startKey:e,inclusiveStart:!1};default:throw new Error("SNH")}}function cM(t,e,n){var r=0,i=h=>{h>0&&(r=r+h)},s=10,o=Xp(n.startKeys,h=>h!==li&&h!==Ar);i(o*s);var a=Xp(n.startKeys,h=>h!==Ar&&h!==li);i(a*s);var l=Xp(n.startKeys,(h,m)=>h===n.endKeys[m]);i(l*s*1.5);var f=n.sortSatisfiedByIndex?5:0;return i(f),r}const fM=2147483647,dM=-2147483648,hM=Number.MAX_SAFE_INTEGER,pM=Number.MIN_SAFE_INTEGER,Vi=Symbol("missing"),LE=Object.freeze(new Error("mingo: cycle detected while processing object/array")),mM=Object.getPrototypeOf([]),$E=Object.getPrototypeOf({}),yM="[object Object]",vM=/^\[object ([a-zA-Z0-9]+)\]$/;let Tg=class{};class Mg{}const Fo=t=>t===null?Tg:t===void 0?Mg:t.constructor,Ql=t=>{const e=EM(t);let n=0,r=e.length;for(;r;)n=(n<<5)-n^e.charCodeAt(--r);return n>>>0},jE=new Set(["null","undefined","boolean","number","string","date","regexp"]),j_=new Set([Mg,Tg,Boolean,String,Number]),Nu=t=>t.toString(),br=t=>`${Fo(t).name}[${t.toString()}]`,Lo=new Map([[Number,Nu],[Boolean,Nu],[RegExp,Nu],[Function,Nu],[Symbol,Nu],[Date,t=>t.toISOString()],[String,JSON.stringify],[Tg,t=>"null"],[Mg,t=>"undefined"],[Int8Array,br],[Uint8Array,br],[Uint8ClampedArray,br],[Int16Array,br],[Uint16Array,br],[Int32Array,br],[Uint32Array,br],[Float32Array,br],[Float64Array,br]]);typeof BigInt<"u"&&Lo.set(BigInt,t=>"0x"+t.toString(16));typeof BigInt64Array<"u"&&Lo.set(BigInt64Array,br);typeof BigUint64Array<"u"&&Lo.set(BigUint64Array,br);const gM={null:0,undefined:0,number:1,string:2,object:3,array:4,boolean:5,date:6,regexp:7,function:8},Mn=(t,e)=>{t===Vi&&(t=void 0),e===Vi&&(e=void 0);const[n,r]=[t,e].map(i=>gM[Cl(i).toLowerCase()]);return n!==r?n-r:n===1||n===2||n===6?te?1:0:Wi(t,e)?0:te?1:0};function Yt(t,e){if(!t)throw new Error(e)}const wM=t=>{const e=Object.getPrototypeOf(Fo(t));return e&&e.name==="TypedArray"},Py=t=>{if(j_.has(Fo(t)))return t;const e=new Set,n=r=>{if(e.has(r))throw LE;const i=Fo(r);if(j_.has(i))return r;try{if(Lt(r))return e.add(r),r.map(n);if(wt(r)){e.add(r);const s={};for(const o in r)s[o]=n(r[o]);return s}}finally{e.delete(r)}return i===Date||i===RegExp||wM(r)?new i(r):r};return n(t)},Cl=t=>vM.exec(Object.prototype.toString.call(t))[1],um=t=>typeof t=="boolean",Ki=t=>typeof t=="string",Hn=t=>!isNaN(t)&&typeof t=="number",Lt=Array.isArray,wt=t=>{if(!t)return!1;const e=Object.getPrototypeOf(t);return(e===$E||e===null)&&yM===Object.prototype.toString.call(t)},Sh=t=>t===Object(t),Ry=t=>t instanceof Date,Af=t=>t instanceof RegExp,Ih=t=>typeof t=="function",cn=t=>t==null,Wa=(t,e)=>t.includes(e),UE=(t,e)=>!Wa(t,e),_M=(t,e=!0)=>!!t||e&&t==="",uu=t=>cn(t)||Ki(t)&&!t||t instanceof Array&&t.length===0||wt(t)&&Object.keys(t).length===0,U_=t=>t===Vi,Yl=t=>t instanceof Array?t:[t],Xn=(t,e)=>!!t&&Object.prototype.hasOwnProperty.call(t,e),bM=(t,e)=>wt(t)&&wt(e)||Lt(t)&&Lt(e);function Ty(t,e,n){if(n=n||{flatten:!1},U_(t)||cn(t))return e;if(U_(e)||cn(e))return t;if(!bM(t,e)){if(n.skipValidation)return e||t;throw Error("mismatched types. must both be array or object")}if(n.skipValidation=!0,Lt(t)){const r=t,i=e;if(n.flatten){let s=0,o=0;for(;s{const s=VE(r,e);n.has(s)?n.get(s).some(o=>Wi(t[o],r))||n.get(s).push(i):n.set(s,[i])}),n}function Ng(t,e=Ql){if(t.some(a=>a.length==0))return[];if(t.length===1)return Array.from(t);const n=OM(t.map((a,l)=>[l,a.length]),a=>a[1]),r=t[n[0][0]],i=My(r,e),s=new Map,o=new Array;return i.forEach((a,l)=>{const f=a.map(w=>r[w]),h=f.map(w=>0),m=f.map(w=>[n[0][0],0]);let y=!1;for(let w=1;wF[_]);y=f.map((_,k)=>S.some((z,W)=>{const Q=h[k];return Wi(_,z)&&(h[k]++,Iw===t.length-1?[f[I],m[I]]:Vi).filter(w=>w!==Vi))}),o.sort((a,l)=>{const[f,[h,m]]=a,[y,[w,I]]=l,E=Mn(h,w);return E!==0?E:Mn(m,I)}).map(a=>a[0])}function zE(t,e=0){const n=new Array;function r(i,s){for(let o=0,a=i.length;o0||s<0)?r(i[o],Math.max(-1,s-1)):n.push(i[o])}return r(t,e),n}const SM=t=>{let[e,n]=[Object.getPrototypeOf(t),Object.getOwnPropertyNames(t)],r=e;for(;!n.length&&e!==$E&&e!==mM;)r=e,n=Object.getOwnPropertyNames(e),e=Object.getPrototypeOf(e);const i={};return n.forEach(s=>i[s]=t[s]),[i,r]};function Wi(t,e){const n=[[t,e]];for(;n.length>0;){if([t,e]=n.pop(),t===e)continue;const r=Fo(t);if(r!==Fo(e)||Ih(t))return!1;if(Lo.has(r)){const i=Lo.get(r);if(i(t)!==i(e))return!1;continue}if(r===Array||r===Object){const i=Object.keys(t),s=Object.keys(e);if(i.length!==s.length||new Set(i.concat(s)).size!=i.length)return!1;for(const o of i)n.push([t[o],e[o]]);continue}return!1}return!n.length}function IM(t,e=Ql){const n=t.map(r=>Vi);return My(t,e).forEach((r,i)=>{r.forEach(s=>n[s]=t[s])}),n.filter(r=>r!==Vi)}function EM(t){const e=new Set,n=r=>{const i=Fo(r);if(Lo.has(i))return Lo.get(i)(r);const s=i===Object?"":i.name;if(Ih(r.toJSON))return`${s}(${JSON.stringify(r)})`;if(e.has(r))throw LE;e.add(r);try{if(i===Array)return"["+r.map(n).join(",")+"]";if(i!==Object){const[a,l]=SM(r);if(Lt(r))return`${s}${n([...r,a])}`;r=a}const o=Object.keys(r);return o.sort(),`${s}{`+o.map(a=>`${a}:${n(r[a])}`).join(",")+"}"}finally{e.delete(r)}};return n(t)}function VE(t,e){return e=e||Ql,cn(t)?null:e(t).toString()}function OM(t,e,n=Mn){if(uu(t))return t;const r=new Array,i=new Array;for(let s=0;sn(s[0],o[0])),Gl(i,r.map(s=>s[1]))}function kM(t,e,n=Ql){if(t.length<1)return new Map;const r=new Map,i=new Map;for(let s=0;sWi(h,a)):null;cn(f)?(i.set(a,[o]),r.has(l)?r.get(l).push(a):r.set(l,[a])):i.get(f).push(o)}}return i}const lm=5e4;function Gl(t,...e){return t instanceof Array?e.reduce((n,r)=>{let i=Math.ceil(r.length/lm),s=0;for(;i-- >0;)Array.prototype.push.apply(n,r.slice(s,s+lm)),s+=lm;return n},t):e.filter(Sh).reduce((n,r)=>(Object.assign(n,r),n),t)}function Ny(t,e){return Sh(t)?t[e]:void 0}function DM(t,e){if(e<1)return t;for(;e--&&t.length===1;)t=t[0];return t}function lu(t,e,n){let r=0;function i(o,a){let l=o;for(let f=0;f0)break;r+=1;const y=a.slice(f);l=l.reduce((w,I)=>{const E=i(I,y);return E!==void 0&&w.push(E),w},[]);break}else l=Ny(l,h);if(l===void 0)break}return l}const s=jE.has(Cl(t).toLowerCase())?t:i(t,e.split("."));return s instanceof Array&&(n!=null&&n.unwrapArray)?DM(s,r):s}function Cf(t,e,n){const r=e.split("."),i=r[0],s=r.slice(1).join("."),o=/^\d+$/.exec(i)!==null,a=r.length>1;let l,f;if(t instanceof Array)if(o)l=Ny(t,Number(i)),a&&(l=Cf(l,s,n)),l=[l];else{l=[];for(const h of t)f=Cf(h,e,n),n!=null&&n.preserveMissing?(f===void 0&&(f=Vi),l.push(f)):f!==void 0&&l.push(f)}else{if(f=Ny(t,i),a&&(f=Cf(f,s,n)),f===void 0)return;l=n!=null&&n.preserveKeys?Object.assign({},t):{},l[i]=f}return l}function By(t){if(t instanceof Array)for(let e=t.length-1;e>=0;e--)t[e]===Vi?t.splice(e,1):By(t[e]);else if(wt(t))for(const e in t)Xn(t,e)&&By(t[e])}const z_=/^\d+$/;function Pl(t,e,n,r){const i=e.split("."),s=i[0],o=i.slice(1).join(".");if(i.length===1)(wt(t)||Lt(t)&&z_.test(s))&&n(t,s);else{r!=null&&r.buildGraph&&cn(t[s])&&(t[s]={});const a=t[s];if(!a)return;const l=!!(i.length>1&&z_.test(i[1]));a instanceof Array&&(r!=null&&r.descendArray)&&!l?a.forEach(f=>Pl(f,o,n,r)):Pl(a,o,n,r)}}function xM(t,e,n){Pl(t,e,(r,i)=>{r[i]=Ih(n)?n(r[i]):n},{buildGraph:!0})}function V_(t,e,n){Pl(t,e,(r,i)=>{if(r instanceof Array){if(/^\d+$/.test(i))r.splice(parseInt(i),1);else if(n&&n.descendArray)for(const s of r)wt(s)&&delete s[i]}else wt(r)&&delete r[i]},n)}const AM=/^\$[a-zA-Z0-9_]+$/;function Ko(t){return AM.test(t)}function KE(t){if(jE.has(Cl(t).toLowerCase()))return Af(t)?{$regex:t}:{$eq:t};if(Sh(t)){if(!Object.keys(t).some(Ko))return{$eq:t};if(Xn(t,"$regex")){const n=Object.assign({},t);return n.$regex=new RegExp(t.$regex,t.$options),delete n.$options,n}}return t}var vs;(function(t){t.CLONE_ALL="CLONE_ALL",t.CLONE_INPUT="CLONE_INPUT",t.CLONE_OUTPUT="CLONE_OUTPUT",t.CLONE_OFF="CLONE_OFF"})(vs||(vs={}));class Eo{constructor(e,n,r,i=Date.now()){this._opts=e,this._root=n,this._local=r,this.timestamp=i,this.update(n,r)}static init(e,n,r){return e instanceof Eo?new Eo(e._opts,cn(e.root)?n:e.root,Object.assign({},e.local,r)):new Eo(e,n,r)}update(e,n){var r;return this._root=e,this._local=n&&Object.assign({},n,{variables:Object.assign({},(r=this._local)===null||r===void 0?void 0:r.variables,n==null?void 0:n.variables)}),this}getOptions(){return Object.freeze(Object.assign(Object.assign({},this._opts),{context:$o.from(this._opts.context)}))}get root(){return this._root}get local(){return this._local}get idKey(){return this._opts.idKey}get collation(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collation}get processingMode(){var e;return((e=this._opts)===null||e===void 0?void 0:e.processingMode)||vs.CLONE_OFF}get useStrictMode(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useStrictMode}get scriptEnabled(){var e;return(e=this._opts)===null||e===void 0?void 0:e.scriptEnabled}get useGlobalContext(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useGlobalContext}get hashFunction(){var e;return(e=this._opts)===null||e===void 0?void 0:e.hashFunction}get collectionResolver(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collectionResolver}get jsonSchemaValidator(){var e;return(e=this._opts)===null||e===void 0?void 0:e.jsonSchemaValidator}get variables(){var e;return(e=this._opts)===null||e===void 0?void 0:e.variables}get context(){var e;return(e=this._opts)===null||e===void 0?void 0:e.context}}function Bg(t){return t instanceof Eo?t.getOptions():Object.freeze(Object.assign(Object.assign({idKey:"_id",scriptEnabled:!0,useStrictMode:!0,useGlobalContext:!0,processingMode:vs.CLONE_OFF},t),{context:t!=null&&t.context?$o.from(t==null?void 0:t.context):$o.init({})}))}var Ye;(function(t){t.ACCUMULATOR="accumulator",t.EXPRESSION="expression",t.PIPELINE="pipeline",t.PROJECTION="projection",t.QUERY="query",t.WINDOW="window"})(Ye||(Ye={}));class $o{constructor(e){this.operators={[Ye.ACCUMULATOR]:{},[Ye.EXPRESSION]:{},[Ye.PIPELINE]:{},[Ye.PROJECTION]:{},[Ye.QUERY]:{},[Ye.WINDOW]:{}};for(const[n,r]of Object.entries(e))this.addOperators(n,r)}static init(e={}){return new $o(e)}static from(e){return new $o(e.operators)}addOperators(e,n){for(const[r,i]of Object.entries(n))this.getOperator(e,r)||(this.operators[e][r]=i);return this}addAccumulatorOps(e){return this.addOperators(Ye.ACCUMULATOR,e)}addExpressionOps(e){return this.addOperators(Ye.EXPRESSION,e)}addQueryOps(e){return this.addOperators(Ye.QUERY,e)}addPipelineOps(e){return this.addOperators(Ye.PIPELINE,e)}addProjectionOps(e){return this.addOperators(Ye.PROJECTION,e)}addWindowOps(e){return this.addOperators(Ye.WINDOW,e)}getOperator(e,n){return e in this.operators&&this.operators[e][n]||null}}const co=$o.init();function K_(t,e){for(const[n,r]of Object.entries(e)){Yt(Ih(r)&&Ko(n),`'${n}' is not a valid operator`);const i=Oo(t,n,null);Yt(!i||r===i,`${n} already exists for '${t}' operators. Cannot change operator function once registered.`)}switch(t){case Ye.ACCUMULATOR:co.addAccumulatorOps(e);break;case Ye.EXPRESSION:co.addExpressionOps(e);break;case Ye.PIPELINE:co.addPipelineOps(e);break;case Ye.PROJECTION:co.addProjectionOps(e);break;case Ye.QUERY:co.addQueryOps(e);break;case Ye.WINDOW:co.addWindowOps(e);break}}function Oo(t,e,n){const{context:r,useGlobalContext:i}=n||{},s=r?r.getOperator(t,e):null;return!s&&i?co.getOperator(t,e):s}const W_={$$ROOT(t,e,n){return n.root},$$CURRENT(t,e,n){return t},$$REMOVE(t,e,n){},$$NOW(t,e,n){return new Date(n.timestamp)}},Fy={$$KEEP(t,e,n){return t},$$PRUNE(t,e,n){},$$DESCEND(t,e,n){if(!Xn(e,"$cond"))return t;let r;for(const[i,s]of Object.entries(t))if(Sh(s)){if(s instanceof Array){const o=[];for(let a of s)wt(a)&&(a=q_(a,e,n.update(a))),cn(a)||o.push(a);r=o}else r=q_(s,e,n.update(s));cn(r)?delete t[i]:t[i]=r}return t}};function Jr(t,e,n,r){var i;const s=Eo.init(r,t);if(n=n||"",Ko(n)){const o=Oo(Ye.EXPRESSION,n,r);if(o)return o(t,e,s);const a=Oo(Ye.ACCUMULATOR,n,r);if(a)return t instanceof Array||(t=Jr(t,e,null,s),e=null),Yt(t instanceof Array,`'${n}' target must be an array.`),a(t,e,s.update(null,s.local));throw new Error(`operator '${n}' is not registered`)}if(Ki(e)&&e.length>0&&e[0]==="$"){if(Xn(Fy,e))return e;let o=s.root;const a=e.split(".");if(Xn(W_,a[0]))o=W_[a[0]](t,null,s),e=e.slice(a[0].length+1);else if(a[0].slice(0,2)==="$$"){o=Object.assign({},s.variables,{this:t},(i=s.local)===null||i===void 0?void 0:i.variables);const l=a[0].slice(2);Yt(Xn(o,l),`Use of undefined variable: ${l}`),e=e.slice(2)}else e=e.slice(1);return e===""?o:lu(o,e)}if(Lt(e))return e.map(o=>Jr(t,o,null,s));if(wt(e)){const o={};for(const[a,l]of Object.entries(e))if(o[a]=Jr(t,l,a,s),[Ye.EXPRESSION,Ye.ACCUMULATOR].some(f=>!!Oo(f,a,r)))return Yt(Object.keys(e).length===1,"Invalid aggregation expression '"+JSON.stringify(e)+"'"),o[a];return o}return e}function q_(t,e,n){const r=Jr(t,e,null,n);return Xn(Fy,r)?Fy[r](t,e,n):r}function qa(t){return t instanceof H_?t:new H_(t)}function CM(...t){let e=0;return qa(()=>{for(;e{const i=r.next();if(i.done)throw Ly;return i.value}}else if(e instanceof Array){const r=e,i=r.length;let s=0;n=()=>{if(s0?this.push(ii.TAKE,e):this}drop(e){return e>0?this.push(ii.DROP,e):this}transform(e){const n=this;let r;return qa(()=>(r||(r=qa(e(n.value()))),r.next()))}value(){return this.isDone||(this.isDone=this.getNext(!0).done),this.yieldedValues}each(e){for(;;){const n=this.next();if(n.done)break;if(e(n.value)===!1)return!1}return!0}reduce(e,n){let r=this.next();for(n===void 0&&!r.done&&(n=r.value,r=this.next());!r.done;)n=e(n,r.value),r=this.next();return n}size(){return this.reduce((e,n)=>++e,0)}[Symbol.iterator](){return this}}class MM{constructor(e,n){this.pipeline=e,this.options=Bg(n)}stream(e){let n=qa(e);const r=this.options.processingMode;(r==vs.CLONE_ALL||r==vs.CLONE_INPUT)&&n.map(Py);const i=new Array;if(!uu(this.pipeline))for(const s of this.pipeline){const o=Object.keys(s),a=o[0],l=Oo(Ye.PIPELINE,a,this.options);Yt(o.length===1&&!!l,`invalid pipeline operator ${a}`),i.push(a),n=l(n,s[a],this.options)}return(r==vs.CLONE_OUTPUT||r==vs.CLONE_ALL&&Ng([["$group","$unwind"],i]).length)&&n.map(Py),n}run(e){return this.stream(e).value()}}class NM{constructor(e,n,r,i){this.source=e,this.predicate=n,this.projection=r,this.options=i,this.operators=[],this.result=null,this.buffer=[]}fetch(){return this.result?this.result:(wt(this.projection)&&this.operators.push({$project:this.projection}),this.result=qa(this.source).filter(this.predicate),this.operators.length>0&&(this.result=new MM(this.operators,this.options).stream(this.result)),this.result)}fetchAll(){const e=qa([...this.buffer]);return this.buffer=[],CM(e,this.fetch())}all(){return this.fetchAll().value()}count(){return this.all().length}skip(e){return this.operators.push({$skip:e}),this}limit(e){return this.operators.push({$limit:e}),this}sort(e){return this.operators.push({$sort:e}),this}collation(e){return this.options=Object.assign(Object.assign({},this.options),{collation:e}),this}next(){if(this.buffer.length>0)return this.buffer.pop();const e=this.fetch().next();if(!e.done)return e.value}hasNext(){if(this.buffer.length>0)return!0;const e=this.fetch().next();return e.done?!1:(this.buffer.push(e.value),!0)}map(e){return this.all().map(e)}forEach(e){this.all().forEach(e)}[Symbol.iterator](){return this.fetchAll()}}class qs{constructor(e,n){this.condition=e,this.options=Bg(n),this.compiled=[],this.compile()}compile(){Yt(wt(this.condition),`query criteria must be an object: ${JSON.stringify(this.condition)}`);const e={};for(const[n,r]of Object.entries(this.condition)){if(n==="$where")Object.assign(e,{field:n,expr:r});else if(Wa(["$and","$or","$nor","$expr","$jsonSchema"],n))this.processOperator(n,n,r);else{Yt(!Ko(n),`unknown top level operator: ${n}`);for(const[i,s]of Object.entries(KE(r)))this.processOperator(n,i,s)}e.field&&this.processOperator(e.field,e.field,e.expr)}}processOperator(e,n,r){const i=Oo(Ye.QUERY,n,this.options);if(!i)throw new Error(`unknown operator ${n}`);const s=i(e,r,this.options);this.compiled.push(s)}test(e){for(let n=0,r=this.compiled.length;nthis.test(r),n||{},this.options)}remove(e){return e.reduce((n,r)=>(this.test(r)||n.push(r),n),[])}}const BM=(t,e,n)=>{if(uu(e)||!wt(e))return t;let r=Mn;const i=n.collation;return wt(i)&&Ki(i.locale)&&(r=LM(i)),t.transform(s=>{const o=Object.keys(e);for(const a of o.reverse()){const l=kM(s,h=>lu(h,a),n.hashFunction),f=Array.from(l.keys()).sort(r);e[a]===-1&&f.reverse(),s=[],f.reduce((h,m)=>Gl(h,l.get(m)),s)}return s})},FM={1:"base",2:"accent",3:"variant"};function LM(t){const e={sensitivity:FM[t.strength||3],caseFirst:t.caseFirst==="off"?"false":t.caseFirst||"false",numeric:t.numericOrdering||!1,ignorePunctuation:t.alternate==="shifted"};(t.caseLevel||!1)===!0&&(e.sensitivity==="base"&&(e.sensitivity="case"),e.sensitivity==="accent"&&(e.sensitivity="variant"));const n=new Intl.Collator(t.locale,e);return(r,i)=>{if(!Ki(r)||!Ki(i))return Mn(r,i);const s=n.compare(r,i);return s<0?-1:s>0?1:0}}function wn(t){const e=(n,r,i)=>{const s={unwrapArray:!0},o=Math.max(1,n.split(".").length-1);return a=>{const l=lu(a,n,s);return t(l,r,Object.assign(Object.assign({},i),{depth:o}))}};return e.op="query",e}function WE(t,e,n){if(Wi(t,e)||cn(t)&&cn(e))return!0;if(t instanceof Array){const r=Wi.bind(null,e);return t.some(r)||zE(t,n==null?void 0:n.depth).some(r)}return!1}function $M(t,e,n){return!WE(t,e,n)}function qE(t,e,n){return cn(t)?e.some(r=>r===null):Ng([Yl(t),e],n==null?void 0:n.hashFunction).length>0}function jM(t,e,n){return!qE(t,e,n)}function UM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)<0)}function zM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)<=0)}function VM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)>0)}function KM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)>=0)}function WM(t,e,n){return Yl(t).some(r=>e.length===2&&r%e[0]===e[1])}function qM(t,e,n){const r=Yl(t),i=s=>Ki(s)&&_M(e.exec(s),n==null?void 0:n.useStrictMode);return r.some(i)||zE(r,1).some(i)}function HM(t,e,n){return(e===!1||e===0)&&t===void 0||(e===!0||e===1)&&t!==void 0}function QM(t,e,n){if(!Lt(t)||!Lt(e)||!t.length||!e.length)return!1;let r=!0;for(const i of e){if(!r)break;wt(i)&&Wa(Object.keys(i),"$elemMatch")?r=HE(t,i.$elemMatch,n):i instanceof RegExp?r=t.some(s=>typeof s=="string"&&i.test(s)):r=t.some(s=>Wi(i,s))}return r}function YM(t,e,n){return Array.isArray(t)&&t.length===e}function GM(t){return Ko(t)&&["$and","$or","$nor"].indexOf(t)===-1}function HE(t,e,n){if(Lt(t)&&!uu(t)){let r=o=>o,i=e;Object.keys(e).every(GM)&&(i={temp:e},r=o=>({temp:o}));const s=new qs(i,n);for(let o=0,a=t.length;ot===null,Y_=t=>Hn(t)&&t>=dM&&t<=fM&&t.toString().indexOf(".")===-1,G_=t=>Hn(t)&&t>=pM&&t<=hM&&t.toString().indexOf(".")===-1,JM={array:Lt,bool:um,boolean:um,date:Ry,decimal:Hn,double:Hn,int:Y_,long:G_,number:Hn,null:Q_,object:wt,regex:Af,regexp:Af,string:Ki,undefined:cn,function:t=>{throw new Error("unsupported type key `function`.")},1:Hn,2:Ki,3:wt,4:Lt,6:cn,8:um,9:Ry,10:Q_,11:Af,16:Y_,18:G_,19:Hn};function J_(t,e,n){const r=JM[e];return r?r(t):!1}function XM(t,e,n){return Array.isArray(e)?e.findIndex(r=>J_(t,r))>=0:J_(t,e)}function Eh(t,e,n){return Yl(t).some(r=>Cl(r)===Cl(e)&&n(r,e))}const X_=(t,e)=>{const n={};return t.split("").forEach((r,i)=>n[r]=e*(i+1)),n};Object.assign(Object.assign(Object.assign({},X_("ABCDEFGHIKLM",1)),X_("NOPQRSTUVWXY",-1)),{Z:0});const Z_={undefined:null,null:null,NaN:NaN,Infinity:new Error,"-Infinity":new Error};function sr(t,e=Z_){const n=Object.assign({},Z_,e),r=new Set(Object.keys(n));return(i,s,o)=>{const a=Jr(i,s,null,o);if(r.has(`${a}`)){const l=n[`${a}`];if(l instanceof Error)throw new Error(`cannot apply $${t.name} to -inf, value must in (-inf,inf)`);return l}return t(a)}}sr(Math.acos,{Infinity:1/0,0:new Error});sr(Math.acosh,{Infinity:1/0,0:new Error});sr(Math.asin);sr(Math.asinh,{Infinity:1/0,"-Infinity":-1/0});sr(Math.atan);sr(Math.atanh,{1:1/0,"-1":-1/0});sr(Math.cos);sr(Math.cosh,{"-Infinity":1/0,Infinity:1/0});const ZM=Math.PI/180;sr(t=>t*ZM,{Infinity:1/0,"-Infinity":1/0});const e2=180/Math.PI;sr(t=>t*e2,{Infinity:1/0,"-Infinity":-1/0});sr(Math.sin);sr(Math.sinh,{"-Infinity":-1/0,Infinity:1/0});sr(Math.tan);const t2=(t,e,n)=>{if(uu(e))return t;let r=Object.keys(e),i=!1;QE(e,n);const s=n.idKey;if(Wa(r,s)){const a=e[s];(a===0||a===!1)&&(r=r.filter(UE.bind(null,[s])),i=r.length==0)}else r.push(s);const o=Eo.init(n);return t.map(a=>$y(a,e,o.update(a),r,i))};function $y(t,e,n,r,i){let s={},o=!1,a=!1;const l=[];i&&l.push(n.idKey);for(const f of r){let h;const m=e[f];if(f!==n.idKey&&Wa([0,!1],m)&&(a=!0),f===n.idKey&&uu(m))h=t[f];else if(Ki(m))h=Jr(t,m,f,n);else if(!Wa([1,!0],m))if(m instanceof Array)h=m.map(w=>{const I=Jr(t,w,null,n);return cn(I)?null:I});else if(wt(m)){const w=m,I=Object.keys(m),E=I.length==1?I[0]:"",F=Oo(Ye.PROJECTION,E,n);if(F)E==="$slice"?Yl(w[E]).every(Hn)?(h=F(t,w[E],f,n),o=!0):h=Jr(t,w,f,n):h=F(t,w[E],f,n);else if(Ko(E))h=Jr(t,w[E],E,n);else if(Xn(t,f)){QE(w,n);let S=t[f];S instanceof Array?h=S.map(_=>$y(_,w,n,I,!1)):(S=wt(S)?S:t,h=$y(S,w,n,I,!1))}else h=Jr(t,m,null,n)}else{l.push(f);continue}const y=Cf(t,f,{preserveMissing:!0});y!==void 0&&Ty(s,y,{flatten:!0}),UE([0,1,!1,!0],m)&&(h===void 0?V_(s,f,{descendArray:!0}):xM(s,f,h))}if(By(s),(o||a||i)&&(s=Gl({},t,s),l.length>0))for(const f of l)V_(s,f,{descendArray:!0});return s}function QE(t,e){const n=[!1,!1];for(const[r,i]of Object.entries(t)){if(r===(e==null?void 0:e.idKey))return;i===0||i===!1?n[0]=!0:(i===1||i===!0)&&(n[1]=!0),Yt(!(n[0]&&n[1]),"Projection cannot have a mix of inclusion and exclusion.")}}const n2=(t,e,n)=>{Yt(Lt(e),"Invalid expression: $and expects value to be an Array.");const r=e.map(i=>new qs(i,n));return i=>r.every(s=>s.test(i))},YE=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $or expects value to be an Array");const r=e.map(i=>new qs(i,n));return i=>r.some(s=>s.test(i))},r2=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $nor expects value to be an array.");const r=YE("$or",e,n);return i=>!r(i)},i2=(t,e,n)=>{const r={};r[t]=KE(e);const i=new qs(r,n);return s=>!i.test(s)},s2=wn(WE),o2=wn(VM),a2=wn(KM),u2=wn(qE),l2=wn(UM),c2=wn(zM),f2=wn($M),d2=wn(jM),h2=wn(WM),p2=wn(qM);wn(QM);const m2=wn(HE),y2=wn(YM),v2=wn(HM),g2=wn(XM);var eb=!1;function w2(t){return eb||(K_(Ye.PIPELINE,{$sort:BM,$project:t2}),K_(Ye.QUERY,{$and:n2,$eq:s2,$elemMatch:m2,$exists:v2,$gt:o2,$gte:a2,$in:u2,$lt:l2,$lte:c2,$ne:f2,$nin:d2,$mod:h2,$nor:r2,$not:i2,$or:YE,$regex:p2,$size:y2,$type:g2}),eb=!0),new qs(t)}function Rl(t,e){var n=Fn(t.primaryKey);e=$e(e);var r=Pn(e);if(typeof r.skip!="number"&&(r.skip=0),r.selector?(r.selector=r.selector,Object.entries(r.selector).forEach(([f,h])=>{(typeof h!="object"||h===null)&&(r.selector[f]={$eq:h})})):r.selector={},r.index){var i=ja(r.index);i.includes(n)||i.push(n),r.index=i}if(r.sort){var l=r.sort.find(f=>CP(f)===n);l||(r.sort=r.sort.slice(0),r.sort.push({[n]:"asc"}))}else if(r.index)r.sort=r.index.map(f=>({[f]:"asc"}));else{if(t.indexes){var s=new Set;Object.entries(r.selector).forEach(([f,h])=>{var m=!1;typeof h=="object"&&h!==null?m=!!Object.keys(h).find(y=>Rg.has(y)):m=!0,m&&s.add(f)});var o=-1,a;t.indexes.forEach(f=>{var h=hg(f)?f:[f],m=h.findIndex(y=>!s.has(y));m>0&&m>o&&(o=m,a=h)}),a&&(r.sort=a.map(f=>({[f]:"asc"})))}r.sort||(r.sort=[{[n]:"asc"}])}return r}function Fg(t,e){if(!e.sort)throw le("SNH",{query:e});var n=[];e.sort.forEach(i=>{var s=Object.keys(i)[0],o=Object.values(i)[0];n.push({key:s,direction:o,getValueFn:JI(s)})});var r=(i,s)=>{for(var o=0;on.test(i);return r}function _2(t,e){return!e.sort||e.sort.length===0?[t]:e.sort.map(n=>Object.keys(n)[0])}var b2=new WeakMap;function S2(t){return Tr(b2,t,()=>{var e=t.collection,n=Rl(e.storageInstance.schema,Pn(t.mangoQuery)),r=e.schema.primaryPath,i=Fg(e.schema.jsonSchema,n),s=(f,h)=>{var m={docA:f,docB:h,rxQuery:t};return i(m.docA,m.docB)},o=Oh(e.schema.jsonSchema,n),a=f=>{var h={doc:f,rxQuery:t};return o(h.doc)},l={primaryKey:t.collection.schema.primaryPath,skip:n.skip,limit:n.limit,sortFields:_2(r,n),sortComparator:s,queryMatcher:a};return l})}function I2(t,e){if(!t.collection.database.eventReduce)return{runFullQueryAgain:!0};var n=S2(t),r=ye(t._result).docsData.slice(0),i=ye(t._result).docsDataMap,s=!1,o=e.map(l=>uT(l)).filter(GI),a=o.find(l=>{var f={queryParams:n,changeEvent:l,previousResults:r,keyDocumentMap:i},h=rM(f);if(h==="runFullQueryAgain")return!0;if(h!=="doNothing")return s=!0,iM(h,n,l,r,i),!1});return a?{runFullQueryAgain:!0}:{runFullQueryAgain:!1,changed:s,newResults:r}}var E2=function(){function t(){this._map=new Map}var e=t.prototype;return e.getByQuery=function(r){var i=r.toString();return Tr(this._map,i,()=>r)},t}();function O2(){return new E2}function tb(t,e){e.uncached=!0;var n=e.toString();t._map.delete(n)}function k2(t){return t.refCount$.observers.length}var D2=100,x2=30*1e3,A2=(t,e)=>(n,r)=>{if(!(r._map.size0)){if(a._lastEnsureEqual===0&&a._creationTimem._lastEnsureEqual-y._lastEnsureEqual),h=f.slice(0,l);h.forEach(m=>tb(r,m))}}},GE=A2(D2,x2),cm=new WeakSet;function C2(t){cm.has(t)||(cm.add(t),WP().then(()=>HP(200)).then(()=>{t.destroyed||t.cacheReplacementPolicy(t,t._queryCache),cm.delete(t)}))}var JE=function(){function t(n,r,i){this.cacheItemByDocId=new Map,this.registry=typeof FinalizationRegistry=="function"?new FinalizationRegistry(s=>{var o=s.docId,a=this.cacheItemByDocId.get(o);a&&(a.byRev.delete(s.revisionHeight),a.byRev.size===0&&this.cacheItemByDocId.delete(o))}):void 0,this.registerIdleTasks=[],this.primaryPath=n,this.changes$=r,this.documentCreator=i,r.subscribe(s=>{var o=s.documentId,a=this.cacheItemByDocId.get(o);if(a){var l=kg(s);a.last=l}})}var e=t.prototype;return e.getLatestDocumentData=function(r){var i=Mo(this.cacheItemByDocId,r);return i.last},e.getLatestDocumentDataIfExists=function(r){var i=this.cacheItemByDocId.get(r);if(i)return i.last},Vs(t,[{key:"getCachedRxDocument",get:function(){var n=P2(this);return xs(this,"getCachedRxDocument",n)}}]),t}();function P2(t){var e=t.primaryPath,n=t.cacheItemByDocId,r=t.registry,i=it.deepFreezeWhenDevMode,s=t.documentCreator,o=a=>{var l=a[e],f=D_(a._rev),h=Tr(n,l,()=>R2(a)),m=h.byRev,y=m.get(f),w=y?y.deref():void 0;return w||(a=i(a),w=s(a),m.set(f,M2(w)),r&&(t.registerIdleTasks.push(w),t.registerIdlePromise||(t.registerIdlePromise=yg().then(()=>{t.registerIdlePromise=void 0;var I=t.registerIdleTasks;I.length!==0&&(t.registerIdleTasks=[],I.forEach(E=>{r.register(E,{docId:E.primary,revisionHeight:D_(E.revision)})}))})))),w};return o}function XE(t,e){for(var n=t.getCachedRxDocument,r=[],i=0;ie._data))}},{key:"docsDataMap",get:function(){var e=new Map;return this.documents.forEach(n=>{e.set(n.primary,n._data)}),xs(this,"docsDataMap",e)}},{key:"docsMap",get:function(){for(var e=new Map,n=this.documents,r=0;r{var m=this.collection._docCache.getLatestDocumentDataIfExists(h);if(m){if(!m._deleted){var y=this.collection._docCache.getCachedRxDocument(m);o.set(h,y)}}else a.push(h)}),a.length>0){var l=await this.collection.storageInstance.findDocumentsById(a,!1);l.forEach(h=>{var m=this.collection._docCache.getCachedRxDocument(h);o.set(m.primary,m)})}return o}var f=tO(this);return f.then(h=>(this._lastExecEnd=Ft(),h))},e.exec=function(r){if(r&&this.op!=="findOne")throw le("QU9",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return rb(this).then(()=>Cs(this.$)).then(i=>{if(!i&&r)throw le("QU10",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return i})},e.toString=function(){var r=fd({op:this.op,query:this.mangoQuery,other:this.other},!0),i=JSON.stringify(r);return this.toString=()=>i,i},e.getPreparedQuery=function(){var r={rxQuery:this,mangoQuery:Rl(this.collection.schema.jsonSchema,this.mangoQuery)};r.mangoQuery.selector._deleted={$eq:!1},r.mangoQuery.index&&r.mangoQuery.index.unshift("_deleted"),Mr("prePrepareQuery",r);var i=Jl(this.collection.schema.jsonSchema,r.mangoQuery);return this.getPreparedQuery=()=>i,i},e.doesDocumentDataMatch=function(r){return r._deleted?!1:this.queryMatcher(r)},e.remove=function(){return this.exec().then(r=>Array.isArray(r)?Promise.all(r.map(i=>i.remove())):r.remove())},e.update=function(r){throw pt("update")},e.where=function(r){throw pt("query-builder")},e.sort=function(r){throw pt("query-builder")},e.skip=function(r){throw pt("query-builder")},e.limit=function(r){throw pt("query-builder")},Vs(t,[{key:"$",get:function(){if(!this._$){var n=this.collection.$.pipe(lt(r=>!r.isLocal),Hl(null),Nr(()=>rb(this)),Mt(()=>this._result),Pi(Ci),Bo((r,i)=>!!(r&&r.time===ye(i).time)),lt(r=>!!r),Mt(r=>{var i=ye(r);return this.op==="count"?i.count:this.op==="findOne"?i.documents.length===0?null:i.documents[0]:this.op==="findByIds"?i.docsMap:i.documents.slice(0)}));this._$=vT(n,this.refCount$.pipe(lt(()=>!1)))}return this._$}},{key:"$$",get:function(){var n=this.collection.database.getReactivityFactory();return n.fromObservable(this.$,void 0)}},{key:"queryMatcher",get:function(){var n=this.collection.schema.jsonSchema,r=Rl(this.collection.schema.jsonSchema,this.mangoQuery);return xs(this,"queryMatcher",Oh(n,r))}},{key:"asRxQuery",get:function(){return this}}]),t}();function tl(){return{selector:{}}}function $2(t){return t.collection._queryCache.getByQuery(t)}function na(t,e,n,r){Mr("preCreateRxQuery",{op:t,queryObj:e,collection:n,other:r});var i=new ZE(t,e,n,r);return i=$2(i),C2(n),i}function eO(t){var e=t.asRxQuery.collection._changeEventBuffer.counter;return t._latestChangeEvent>=e}function rb(t){return t.collection.database.destroyed||eO(t)?Gn:(t._ensureEqualQueue=t._ensureEqualQueue.then(()=>j2(t)),t._ensureEqualQueue)}function j2(t){if(t._lastEnsureEqual=Ft(),t.collection.database.destroyed||eO(t))return Gn;var e=!1,n=!1;if(t._latestChangeEvent===-1&&(n=!0),!n){var r=t.asRxQuery.collection._changeEventBuffer.getFrom(t._latestChangeEvent+1);if(r===null)n=!0;else{t._latestChangeEvent=t.asRxQuery.collection._changeEventBuffer.counter;var i=t.asRxQuery.collection._changeEventBuffer.reduceByLastOfDoc(r);if(t.op==="count"){var s=ye(t._result).count,o=s;i.forEach(l=>{var f=l.previousDocumentData&&t.doesDocumentDataMatch(l.previousDocumentData),h=t.doesDocumentDataMatch(l.documentData);!f&&h&&o++,f&&!h&&o--}),o!==s&&(e=!0,t._setResultData(o))}else{var a=I2(t,i);a.runFullQueryAgain?n=!0:a.changed&&(e=!0,t._setResultData(a.newResults))}}}return n?t._execOverDatabase().then(l=>(t._latestChangeEvent=t.collection._changeEventBuffer.counter,typeof l=="number"?((!t._result||l!==t._result.count)&&(e=!0,t._setResultData(l)),e):((!t._result||!RP(t.collection.schema.primaryPath,l,t._result.docsData))&&(e=!0,t._setResultData(l)),e))):Promise.resolve(e)}function Jl(t,e){if(!e.sort)throw le("SNH",{query:e});var n=sM(t,e);return{query:e,queryPlan:n}}async function tO(t){var e=[],n=t.collection;if(t.isFindOneByIdQuery)if(Array.isArray(t.isFindOneByIdQuery)){var r=t.isFindOneByIdQuery;if(r=r.filter(h=>{var m=t.collection._docCache.getLatestDocumentDataIfExists(h);return m?(m._deleted||e.push(m),!1):!0}),r.length>0){var i=await n.storageInstance.findDocumentsById(r,!1);Ua(e,i)}}else{var s=t.isFindOneByIdQuery,o=t.collection._docCache.getLatestDocumentDataIfExists(s);if(!o){var a=await n.storageInstance.findDocumentsById([s],!1);a[0]&&(o=a[0])}o&&!o._deleted&&e.push(o)}else{var l=t.getPreparedQuery(),f=await n.storageInstance.query(l);e=f.documents}return e}function U2(t,e){if(!e.skip&&e.selector&&Object.keys(e.selector).length===1&&e.selector[t]){var n=e.selector[t];if(typeof n=="string")return n;if(Object.keys(n).length===1&&typeof n.$eq=="string"||Object.keys(n).length===1&&Array.isArray(n.$eq)&&!n.$eq.find(r=>typeof r!="string"))return n.$eq}return!1}var z2="_rxdb_internal";async function Xl(t,e){var n=await t.findDocumentsById([e],!1),r=n[0];if(r)return r}async function Tl(t,e,n){var r=await t.bulkWrite([e],n);if(r.error.length>0){var i=r.error[0];throw i}else{var s=r.success[0];return s}}function V2(t,e){var n=Xl(t,e),r=t.changeStream().pipe(Mt(i=>i.events.find(s=>s.documentId===e)),lt(i=>!!i),Mt(i=>Promise.resolve(ye(i).documentData)),Hl(n),Al(i=>i),lt(i=>!!i));return r}function Ml(t){return Object.assign({},...t)}function nO(t,e,n){var r=e.documentData,i=e.previousDocumentData,s={documentId:e.documentId,collectionName:n?n.name:void 0,isLocal:t,operation:e.operation,documentData:it.deepFreezeWhenDevMode(r),previousDocumentData:it.deepFreezeWhenDevMode(i)};return s}function yd(t,e,n,r){if(r)throw r.status===409?le("CONFLICT",{collection:t.name,id:e,writeError:r,data:n}):r.status===422?le("VD2",{collection:t.name,id:e,writeError:r,data:n}):r}function rO(t,e,n,r,i,s,o){for(var a=!!t.schema.attachments,l=[],f=[],h=[],m=iu(10),y={id:m,events:[],checkpoint:null,context:i,startTime:Ft(),endTime:0},w=y.events,I=[],E=[],F=[],S=n.size>0,_,k=r.length,z=function(){var Q=r[W],H=Q.document,X=Q.previous,U=H[e],ee=H._deleted,ce=X&&X._deleted,de=void 0;S&&(de=n.get(U));var Pe;if(de){var Te=de._rev;if(!X||X&&Te!==X._rev){var Dt={isError:!0,status:409,documentId:U,writeRow:Q,documentInDb:de};return h.push(Dt),1}var G=a?fm(Q):Q;a&&(ee?X&&Object.keys(X._attachments).forEach(ft=>{E.push({documentId:U,attachmentId:ft,digest:ye(X)._attachments[ft].digest})}):(Object.entries(H._attachments).find(([ft,At])=>{var Un=X?X._attachments[ft]:void 0;return!Un&&!At.data&&(Pe={documentId:U,documentInDb:de,isError:!0,status:510,writeRow:Q,attachmentId:ft}),!0}),Pe||Object.entries(H._attachments).forEach(([ft,At])=>{var Un=X?X._attachments[ft]:void 0;if(!Un)I.push({documentId:U,attachmentId:ft,attachmentData:At,digest:At.digest});else{var tn=G.document._attachments[ft].digest;At.data&&Un.digest!==tn&&F.push({documentId:U,attachmentId:ft,attachmentData:At,digest:At.digest})}}))),Pe?h.push(Pe):(a?(f.push(fm(G)),o&&o(H)):(f.push(G),o&&o(H)),_=G);var oe=null,ue=null,Re=null;if(ce&&!ee)Re="INSERT",oe=a?gs(H):H;else if(X&&!ce&&!ee)Re="UPDATE",oe=a?gs(H):H,ue=X;else if(ee)Re="DELETE",oe=ye(H),ue=X;else throw le("SNH",{args:{writeRow:Q}});var xt={documentId:U,documentData:oe,previousDocumentData:ue,operation:Re};w.push(xt)}else{var ot=!!ee;if(a&&Object.entries(H._attachments).forEach(([ft,At])=>{At.data?I.push({documentId:U,attachmentId:ft,attachmentData:At,digest:At.digest}):(Pe={documentId:U,isError:!0,status:510,writeRow:Q,attachmentId:ft},h.push(Pe))}),Pe||(a?(l.push(fm(Q)),s&&s(H)):(l.push(Q),s&&s(H)),_=Q),!ot){var ct={documentId:U,operation:"INSERT",documentData:a?gs(H):H,previousDocumentData:a&&X?gs(X):X};w.push(ct)}}},W=0;W{e._attachments[n]=W2(r)}),e}function Lg(t){var e=$e(t);return e._meta=$e(t._meta),e}function $g(t,e,n){it.deepFreezeWhenDevMode(n);var r=Fn(n.primaryKey);function i(o){var a=$e(o.document);if(a._meta=$e(a._meta),it.isDevMode()){a=sE(r,n,a);try{typeof structuredClone=="function"?structuredClone(o):JSON.parse(JSON.stringify(o))}catch{throw le("DOC24",{collection:e.collectionName,document:o.document})}o.previous,o.previous&&Object.keys(o.previous._meta).forEach(l=>{if(!Object.prototype.hasOwnProperty.call(o.document._meta,l))throw le("SNH",{dataBefore:o.previous,dataAfter:o.document})})}return a._meta.lwt=Ft(),a._rev=Ui(t.token,o.previous),{document:a,previous:o.previous}}var s={originalStorageInstance:e,schema:e.schema,internals:e.internals,collectionName:e.collectionName,databaseName:e.databaseName,options:e.options,bulkWrite(o,a){var l=o.map(f=>i(f));return t.lockedRun(()=>e.bulkWrite(l,a)).then(f=>{var h={error:[],success:f.success.slice(0)},m=f.error.filter(w=>w.status===409&&!w.writeRow.previous&&!w.writeRow.document._deleted&&ye(w.documentInDb)._deleted?!0:(h.error.push(w),!1));if(m.length>0){var y=m.map(w=>({previous:w.documentInDb,document:Object.assign({},w.writeRow.document,{_rev:Ui(t.token,w.documentInDb)})}));return t.lockedRun(()=>e.bulkWrite(y,a)).then(w=>(Ua(h.error,w.error),Ua(h.success,w.success),h))}return f})},query(o){return t.lockedRun(()=>e.query(o))},count(o){return t.lockedRun(()=>e.count(o))},findDocumentsById(o,a){return t.lockedRun(()=>e.findDocumentsById(o,a))},getAttachmentData(o,a,l){return t.lockedRun(()=>e.getAttachmentData(o,a,l))},getChangedDocumentsSince:e.getChangedDocumentsSince?(o,a)=>t.lockedRun(()=>e.getChangedDocumentsSince(ye(o),a)):void 0,cleanup(o){return t.lockedRun(()=>e.cleanup(o))},remove(){return t.storageInstances.delete(s),t.lockedRun(()=>e.remove())},close(){return t.storageInstances.delete(s),t.lockedRun(()=>e.close())},changeStream(){return e.changeStream()},conflictResultionTasks(){return e.conflictResultionTasks()},resolveConflictResultionTask(o){if(o.output.isEqual)return e.resolveConflictResultionTask(o);var a=Object.assign({},o.output.documentData,{_meta:Ks(),_rev:Rn(),_attachments:{}}),l=$e(a);return delete l._meta,delete l._rev,delete l._attachments,e.resolveConflictResultionTask({id:o.id,output:{isEqual:!1,documentData:l}})}};return t.storageInstances.add(s),s}function iO(t){if(t.schema.keyCompression)throw le("UT5",{args:{params:t}});if(vd(t.schema))throw le("UT6",{args:{params:t}});if(t.schema.attachments&&t.schema.attachments.compression)throw le("UT7",{args:{params:t}})}function vd(t){return!!(t.encrypted&&t.encrypted.length>0||t.attachments&&t.attachments.encrypted)}function q2(t,e,n){var r=Fn(t.schema.primaryKey),i=n?n.lwt:pg,s=n?n.id:"";return Rl(t.schema,{selector:{$or:[{"_meta.lwt":{$gt:i}},{"_meta.lwt":{$eq:i},[r]:{$gt:n?s:""}}],"_meta.lwt":{$gte:i}},sort:[{"_meta.lwt":"asc"},{[r]:"asc"}],skip:0,limit:e})}async function sO(t,e,n){if(t.getChangedDocumentsSince)return t.getChangedDocumentsSince(e,n);var r=Fn(t.schema.primaryKey),i=Jl(t.schema,q2(t,e,n)),s=await t.query(i),o=s.documents,a=DP(o);return{documents:o,checkpoint:a?{id:a[r],lwt:a._meta.lwt}:n||{id:"",lwt:0}}}var oO=function(){function t(n,r,i,s){this.queueByDocId=new Map,this.isRunning=!1,this.storageInstance=n,this.primaryPath=r,this.preWrite=i,this.postWrite=s}var e=t.prototype;return e.addWrite=function(r,i){var s=r[this.primaryPath],o=Tr(this.queueByDocId,s,()=>[]),a=new Promise((l,f)=>{var h={lastKnownDocumentState:r,modifier:i,resolve:l,reject:f};ye(o).push(h),this.triggerRun()});return a},e.triggerRun=async function(){if(!(this.isRunning===!0||this.queueByDocId.size===0)){this.isRunning=!0;var r=[],i=this.queueByDocId;this.queueByDocId=new Map,await Promise.all(Array.from(i.entries()).map(async([o,a])=>{var l=H2(a.map(m=>m.lastKnownDocumentState)),f=l;for(var h of a)try{f=await h.modifier(Pn(f))}catch(m){h.reject(m),h.reject=()=>{},h.resolve=()=>{}}try{await this.preWrite(f,l)}catch(m){a.forEach(y=>y.reject(m));return}r.push({previous:l,document:f})}));var s=r.length>0?await this.storageInstance.bulkWrite(r,"incremental-write"):{error:[],success:[]};return await Promise.all(s.success.map(o=>{var a=o[this.primaryPath];this.postWrite(o);var l=Mo(i,a);l.forEach(f=>f.resolve(o))})),s.error.forEach(o=>{var a=o.documentId,l=Mo(i,a),f=_h(o);if(f){var h=Tr(this.queueByDocId,a,()=>[]);l.reverse().forEach(y=>{y.lastKnownDocumentState=ye(f.documentInDb),ye(h).unshift(y)})}else{var m=iR(o);l.forEach(y=>y.reject(m))}}),this.isRunning=!1,this.triggerRun()}},t}();function ib(t){var e=async n=>{var r=PP(n);r._deleted=n._deleted;var i=await t(r),s=Object.assign({},i,{_meta:n._meta,_attachments:n._attachments,_rev:n._rev,_deleted:typeof i._deleted<"u"?i._deleted:n._deleted});return typeof s._deleted>"u"&&(s._deleted=!1),s};return e}function H2(t){var e=t[0],n=za(e._rev).height;return t.forEach(r=>{var i=za(r._rev).height;i>n&&(e=r,n=i)}),e}var kh={get primaryPath(){var t=this;if(t.isInstanceOfRxDocument)return t.collection.schema.primaryPath},get primary(){var t=this;if(t.isInstanceOfRxDocument)return t._data[t.primaryPath]},get revision(){var t=this;if(t.isInstanceOfRxDocument)return t._data._rev},get deleted$(){var t=this;if(t.isInstanceOfRxDocument)return t.$.pipe(Mt(e=>e._data._deleted))},get deleted$$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.deleted$,t.getLatest().deleted)},get deleted(){var t=this;if(t.isInstanceOfRxDocument)return t._data._deleted},getLatest(){var t=this.collection._docCache.getLatestDocumentData(this.primary);return this.collection._docCache.getCachedRxDocument(t)},get $(){var t=this;return t.collection.$.pipe(lt(e=>!e.isLocal),lt(e=>e.documentId===this.primary),Mt(e=>kg(e)),Hl(t.collection._docCache.getLatestDocumentData(this.primary)),Bo((e,n)=>e._rev===n._rev),Mt(e=>this.collection._docCache.getCachedRxDocument(e)),Pi(Ci))},get $$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.$,t.getLatest()._data)},get$(t){if(it.isDevMode()){if(t.includes(".item."))throw le("DOC1",{path:t});if(t===this.primaryPath)throw le("DOC2");if(this.collection.schema.finalFields.includes(t))throw le("DOC3",{path:t});var e=zi(this.collection.schema.jsonSchema,t);if(!e)throw le("DOC4",{path:t})}return this.$.pipe(Mt(n=>Ts(n,t)),Bo())},get$$(t){var e=this.get$(t),n=this.collection.database.getReactivityFactory();return n.fromObservable(e,this.getLatest().get(t))},populate(t){var e=zi(this.collection.schema.jsonSchema,t),n=this.get(t);if(!n)return mg;if(!e)throw le("DOC5",{path:t});if(!e.ref)throw le("DOC6",{path:t,schemaObj:e});var r=this.collection.database.collections[e.ref];if(!r)throw le("DOC7",{ref:e.ref,path:t,schemaObj:e});return e.type==="array"?r.findByIds(n).exec().then(i=>{var s=i.values();return Array.from(s)}):r.findOne(n).exec()},get(t){return Tr(this._propertyCache,t,()=>{var e=Ts(this._data,t);if(typeof e!="object"||e===null||Array.isArray(e))return it.deepFreezeWhenDevMode(e);var n=this,r=new Proxy($e(e),{get(i,s){if(typeof s!="string")return i[s];var o=s.charAt(s.length-1);if(s.endsWith("$$")){var a=s.slice(0,-2);return n.get$$(zu(t+"."+a))}else if(o==="$"){var l=s.slice(0,-1);return n.get$(zu(t+"."+l))}else if(o==="_"){var f=s.slice(0,-1);return n.populate(zu(t+"."+f))}else return n.get(zu(t+"."+s))}});return r})},toJSON(t=!1){if(t)return it.deepFreezeWhenDevMode(this._data);var e=$e(this._data);return delete e._rev,delete e._attachments,delete e._deleted,delete e._meta,it.deepFreezeWhenDevMode(e)},toMutableJSON(t=!1){return Pn(this.toJSON(t))},update(t){throw pt("update")},incrementalUpdate(t){throw pt("update")},updateCRDT(t){throw pt("crdt")},putAttachment(){throw pt("attachments")},getAttachment(){throw pt("attachments")},allAttachments(){throw pt("attachments")},get allAttachments$(){throw pt("attachments")},async modify(t,e){var n=this._data,r=await ib(t)(n);return this._saveData(r,n)},incrementalModify(t,e){return this.collection.incrementalWriteQueue.addWrite(this._data,ib(t)).then(n=>this.collection._docCache.getCachedRxDocument(n))},patch(t){var e=this._data,n=Pn(e);return Object.entries(t).forEach(([r,i])=>{n[r]=i}),this._saveData(n,e)},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t,e){if(t=$e(t),this._data._deleted)throw le("DOC11",{id:this.primary,document:this});await uO(this.collection,t,e);var n=await this.collection.storageInstance.bulkWrite([{previous:e,document:t}],"rx-document-save-data"),r=n.error[0];return yd(this.collection,this.primary,t,r),await this.collection._runHooks("post","save",t,this),this.collection._docCache.getCachedRxDocument(n.success[0])},remove(){var t=this.collection;if(this.deleted)return Promise.reject(le("DOC13",{document:this,id:this.primary}));var e=$e(this._data),n;return t._runHooks("pre","remove",e,this).then(async()=>{e._deleted=!0;var r=await t.storageInstance.bulkWrite([{previous:this._data,document:e}],"rx-document-remove"),i=r.error[0];return yd(t,this.primary,e,i),r.success[0]}).then(r=>(n=r,this.collection._runHooks("post","remove",e,this))).then(()=>this.collection._docCache.getCachedRxDocument(n))},incrementalRemove(){return this.incrementalModify(async t=>(await this.collection._runHooks("pre","remove",t,this),t._deleted=!0,t)).then(async t=>(await this.collection._runHooks("post","remove",t._data,t),t))},destroy(){throw le("DOC14")}};function aO(t=kh){var e=function(r,i){this.collection=r,this._data=i,this._propertyCache=new Map,this.isInstanceOfRxDocument=!0};return e.prototype=t,e}function Q2(t,e,n){var r=new t(e,n);return Mr("createRxDocument",r),r}function uO(t,e,n){return e._meta=Object.assign({},n._meta,e._meta),it.isDevMode()&&t.schema.validateChange(n,e),t._runHooks("pre","save",e,n)}var ko="collection",jg="storage-token",Pf="rx-migration-status",Y2="RxInternalDocument",Ug=bh({version:0,title:Y2,primaryKey:{key:"id",fields:["context","key"],separator:"|"},type:"object",properties:{id:{type:"string",maxLength:200},key:{type:"string"},context:{type:"string",enum:[ko,jg,Pf,"OTHER"]},data:{type:"object",additionalProperties:!0}},indexes:[],required:["key","context","data"],additionalProperties:!1,sharding:{shards:1,mode:"collection"}});function Ha(t,e){return Ws(Ug,{key:t,context:e})}async function zg(t){var e=Jl(t.schema,{selector:{context:ko,_deleted:{$eq:!1}},sort:[{id:"asc"}],skip:0}),n=await t.query(e),r=n.documents;return r}var lO="storageToken",G2=Ha(lO,jg);async function J2(t){var e=iu(10),n=t.password?await t.hashFunction(JSON.stringify(t.password)):void 0,r={id:G2,context:jg,key:lO,data:{rxdbVersion:t.rxdbVersion,token:e,instanceToken:t.token,passwordHash:n},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}},i=await t.internalStore.bulkWrite([{document:r}],"internal-add-storage-token");if(i.success[0])return i.success[0];var s=ye(i.error[0]);if(s.isError&&_h(s)){var o=s;if(!X2(o.documentInDb.data.rxdbVersion,t.rxdbVersion))throw le("DM5",{args:{database:t.name,databaseStateVersion:o.documentInDb.data.rxdbVersion,codeVersion:t.rxdbVersion}});if(n&&n!==o.documentInDb.data.passwordHash)throw le("DB1",{passwordHash:n,existingPasswordHash:o.documentInDb.data.passwordHash});var a=o.documentInDb;return ye(a)}throw s}function X2(t,e){if(!t||e.includes("beta")&&e!==t)return!1;var n=t.split(".")[0],r=e.split(".")[0];return n===r}async function cO(t,e,n){if(t.schema.version!==n.version)throw le("SNH",{schema:n,version:t.schema.version,name:t.name,collection:t,args:{storageCollectionName:e}});for(var r=jy(t.name,t.schema.jsonSchema),i=Ha(r,ko);;){var s=await Xl(t.database.internalStore,i),o=Pn(ye(s)),a=o.data.connectedStorages.find(l=>l.collectionName===e&&l.schema.version===n.version);if(a)return;o.data.connectedStorages.push({collectionName:e,schema:n});try{await Tl(t.database.internalStore,{previous:ye(s),document:o},"add-connected-storage-to-collection")}catch(l){if(!_h(l))throw l}}}function jy(t,e){return t+"-"+e.version}function dm(t,e){return e=$e(e),e=lR(t,e),e=sE(t.primaryPath,t.jsonSchema,e),e._meta=Ks(),Object.prototype.hasOwnProperty.call(e,"_deleted")||(e._deleted=!1),Object.prototype.hasOwnProperty.call(e,"_attachments")||(e._attachments={}),Object.prototype.hasOwnProperty.call(e,"_rev")||(e._rev=Rn()),e}async function Z2(t,e){e.multiInstance=t.multiInstance;var n=await t.storage.createStorageInstance(e);return n}async function fO(t,e,n,r,i,s,o){var a=await zg(e),l=a.filter(y=>y.data.name===i),f=[];l.forEach(y=>{f.push({collectionName:y.data.name,schema:y.data.schema,isCollection:!0}),y.data.connectedStorages.forEach(w=>f.push({collectionName:w.collectionName,isCollection:!1,schema:w.schema}))});var h=new Set;if(f=f.filter(y=>{var w=y.collectionName+"||"+y.schema.version;return h.has(w)?!1:(h.add(w),!0)}),await Promise.all(f.map(async y=>{var w=await t.createStorageInstance({collectionName:y.collectionName,databaseInstanceToken:n,databaseName:r,multiInstance:!1,options:{},schema:y.schema,password:s,devMode:it.isDevMode()});await w.remove(),y.isCollection&&await No("postRemoveRxCollection",{storage:t,databaseName:r,collectionName:i})})),o){var m=l.map(y=>{var w=Lg(y);return w._deleted=!0,w._meta.lwt=Ft(),w._rev=Ui(n,y),{previous:y,document:w}});await e.bulkWrite(m,"rx-database-remove-collection-all")}}var eN=function(){function t(n){this.subs=[],this.limit=100,this.counter=0,this.eventCounterMap=new WeakMap,this.buffer=[],this.collection=n,this.subs.push(this.collection.$.pipe(lt(r=>!r.isLocal)).subscribe(r=>this._handleChangeEvent(r)))}var e=t.prototype;return e._handleChangeEvent=function(r){for(this.counter++,this.buffer.push(r),this.eventCounterMap.set(r,this.counter);this.buffer.length>this.limit;)this.buffer.shift()},e.getArrayIndexByPointer=function(r){var i=this.buffer[0],s=this.eventCounterMap.get(i);if(ri(o))},e.reduceByLastOfDoc=function(r){return r.slice(0)},e.destroy=function(){this.subs.forEach(r=>r.unsubscribe())},t}();function tN(t){return new eN(t)}var nN=new WeakMap;function rN(t){var e=t.schema.getDocumentPrototype(),n=oN(t),r=kh,i={};return[e,n,r].forEach(s=>{var o=Object.getOwnPropertyNames(s);o.forEach(a=>{var l=Object.getOwnPropertyDescriptor(s,a),f=!0;(a.startsWith("_")||a.endsWith("_")||a.startsWith("$")||a.endsWith("$"))&&(f=!1),typeof l.value=="function"?Object.defineProperty(i,a,{get(){return l.value.bind(this)},enumerable:f,configurable:!1}):(l.enumerable=f,l.configurable=!1,l.writable&&(l.writable=!1),Object.defineProperty(i,a,l))})}),i}function iN(t){return Tr(nN,t,()=>aO(rN(t)))}function sN(t,e){var n=Q2(iN(t),t,it.deepFreezeWhenDevMode(e));return t._runHooksSync("post","create",e,n),Mr("postCreateRxDocument",n),n}function oN(t){var e={};return Object.entries(t.methods).forEach(([n,r])=>{e[n]=r}),e}async function gd(t,e){var n=Ws(t.input.metaInstance.schema,{isCheckpoint:"1",itemId:e}),r=await t.input.metaInstance.findDocumentsById([n],!1),i=r[0];if(t.lastCheckpointDoc[e]=i,i)return i.checkpointData}async function wd(t,e,n){t.checkpointQueue=t.checkpointQueue.then(async()=>{var r=t.lastCheckpointDoc[e];if(n&&!t.events.canceled.getValue()&&(!r||JSON.stringify(r.checkpointData)!==JSON.stringify(n))){var i={id:"",isCheckpoint:"1",itemId:e,_deleted:!1,_attachments:{},checkpointData:n,_meta:Ks(),_rev:Rn()};for(i.id=Ws(t.input.metaInstance.schema,i);!t.events.canceled.getValue();){if(r&&(i.checkpointData=Ml([r.checkpointData,i.checkpointData])),i._meta.lwt=Ft(),i._rev=Ui(await t.checkpointKey,r),t.events.canceled.getValue())return;var s=await t.input.metaInstance.bulkWrite([{previous:r,document:i}],"replication-set-checkpoint"),o=s.success[0];if(o){t.lastCheckpointDoc[e]=o;return}else{var a=s.error[0];if(a.status!==409)throw a;r=ye(a.documentInDb),i._rev=Ui(await t.checkpointKey,r)}}}}),await t.checkpointQueue}async function aN(t){var e=await t.hashFunction([t.identifier,t.forkInstance.databaseName,t.forkInstance.collectionName].join("||"));return"rx_storage_replication_"+e}function sb(t,e,n,r,i){var s=Object.assign({},r,{_attachments:e&&r._attachments?r._attachments:{},_meta:n?r._meta:{lwt:Ft()},_rev:n?r._rev:Rn()});return s._rev||(s._rev=Ui(t,i)),s}function cs(t,e,n){var r=$e(t);return e||delete r._attachments,n||(delete r._meta,delete r._rev),r}function Uy(t,e){return t.hasAttachments?e.map(n=>{var r=Pn(n.document);return r.docData=gs(r.docData),{document:r,previous:n.previous}}):e}function zy(t){for(;;)if(t.underlyingPersistentStorage)t=t.underlyingPersistentStorage;else return t}var Rf="RxReplicationProtocolMetaData";function Vy(t,e){var n=sR(t),r={title:Rf,primaryKey:{key:"id",fields:["itemId","isCheckpoint"],separator:"|"},type:"object",version:t.version,additionalProperties:!1,properties:{id:{type:"string",minLength:1,maxLength:n+2},isCheckpoint:{type:"string",enum:["0","1"],minLength:1,maxLength:1},itemId:{type:"string",maxLength:n>4?n:4},checkpointData:{type:"object",additionalProperties:!0},docData:{type:"object",properties:t.properties},isResolvedConflict:{type:"string"}},keyCompression:t.keyCompression,required:["id","isCheckpoint","itemId"]};e&&(r.encrypted=["docData"]);var i=bh(r);return i}function dO(t,e){return t.input.metaInstance.findDocumentsById(e.map(n=>{var r=Ws(t.input.metaInstance.schema,{itemId:n,isCheckpoint:"0"});return r}),!0).then(n=>{var r={};return Object.values(n).forEach(i=>{r[i.itemId]={docData:i.docData,metaDocument:i}}),r})}async function _d(t,e,n,r){var i=e[t.primaryPath],s=n?Lg(n):{id:"",isCheckpoint:"0",itemId:i,docData:e,_attachments:{},_deleted:!1,_rev:Rn(),_meta:{lwt:0}};s.docData=e,r&&(s.isResolvedConflict=r),s._meta.lwt=Ft(),s.id=Ws(t.input.metaInstance.schema,s),s._rev=Ui(await t.checkpointKey,n);var o={previous:n,document:s};return o}async function uN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.downstream){var e=await gd(t,"down");e||await wd(t,"down",t.input.initialCheckpoint.downstream)}var n=await t.input.hashFunction(t.input.identifier),r=t.input.replicationHandler,i=0,s=[];function o(I){t.stats.down.addNewTask=t.stats.down.addNewTask+1;var E={time:i++,task:I};s.push(E),t.streamQueue.down=t.streamQueue.down.then(()=>{for(var F=[];s.length>0;){t.events.active.down.next(!0);var S=ye(s.shift());if(!(S.time{t.events.active.down.next(!1),!t.firstSyncDone.down.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.down.next(!0)})}if(o("RESYNC"),!t.events.canceled.getValue()){var a=r.masterChangeStream$.pipe(Nr(async I=>(await Cs(t.events.active.up.pipe(lt(E=>!E))),I))).subscribe(I=>{t.stats.down.masterChangeStreamEmit=t.stats.down.masterChangeStreamEmit+1,o(I)});Cs(t.events.canceled.pipe(lt(I=>!!I))).then(()=>a.unsubscribe())}var l=-1;async function f(){if(t.stats.down.downstreamResyncOnce=t.stats.down.downstreamResyncOnce+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"down"));for(var I=await t.checkpointQueue,E=[];!t.events.canceled.getValue();){l=i++;var F=await r.masterChangesSince(I,t.input.pullBatchSize);if(F.documents.length===0||(I=Ml([I,F.checkpoint]),E.push(w(F.documents,I)),F.documents.length{if(S==="RESYNC")throw new Error("SNH");Ua(E,S.documents),F=Ml([F,S.checkpoint])}),w(E,ye(F))}var m=un,y={docs:{}};function w(I,E){var F=t.primaryPath;return t.stats.down.persistFromMaster=t.stats.down.persistFromMaster+1,I.forEach(S=>{var _=S[F];y.docs[_]=S}),y.checkpoint=E,m=m.then(()=>{var S=y.docs;y.docs={};var _=y.checkpoint,k=Object.keys(S);if(t.events.canceled.getValue()||k.length===0)return un;var z=[],W={},Q={},H=[];return Promise.all([t.input.forkInstance.findDocumentsById(k,!0),dO(t,k)]).then(([X,U])=>{var ee=new Map;return X.forEach(ce=>ee.set(ce[F],ce)),Promise.all(k.map(async ce=>{var de=ee.get(ce),Pe=de?cs(de,t.hasAttachments,!1):void 0,ot=S[ce],ct=U[ce];if(ct&&de&&ct.metaDocument.isResolvedConflict===de._rev)return un;var Te=!ct||!Pe?!1:await t.input.conflictHandler({realMasterState:ct.docData,newDocumentState:Pe},"downstream-check-if-equal-0").then(Re=>Re.isEqual);if(!Te&&ct&&ct.docData._rev&&de&&de._meta[t.input.identifier]&&za(de._rev).height===de._meta[t.input.identifier]&&(Te=!0),de&&ct&&Te===!1||de&&!ct)return un;var Dt=Pe?await t.input.conflictHandler({realMasterState:ot,newDocumentState:Pe},"downstream-check-if-equal-1").then(Re=>Re.isEqual):!1;if(Pe&&Dt)return(!ct||Te===!1)&&H.push(await _d(t,Pe,ct?ct.metaDocument:void 0)),un;var G=Object.assign({},ot,de?{_meta:$e(de._meta),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{},_rev:Rn()}:{_meta:{lwt:Ft()},_rev:Rn(),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{}});if(ot._rev){var oe=de?za(de._rev).height+1:1;G._meta[t.input.identifier]=oe,t.input.keepMeta&&(G._rev=ot._rev)}t.input.keepMeta&&ot._meta&&(G._meta=ot._meta);var ue={previous:de,document:G};ue.document._rev=ue.document._rev?ue.document._rev:Ui(n,ue.previous),z.push(ue),W[ce]=ue,Q[ce]=await _d(t,ot,ct?ct.metaDocument:void 0)}))}).then(async()=>{if(z.length>0)return t.input.forkInstance.bulkWrite(z,await t.downstreamBulkWriteFlag).then(X=>{X.success.forEach(U=>{var ee=U[F];t.events.processed.down.next(W[ee]),H.push(Q[ee])}),X.error.forEach(U=>{U.status!==409&&t.events.error.next(le("RC_PULL",{writeError:U}))})})}).then(()=>{if(H.length>0)return t.input.metaInstance.bulkWrite(Uy(t,H),"replication-down-write-meta").then(X=>{X.error.forEach(U=>{t.events.error.next(le("RC_PULL",{id:U.documentId,writeError:U}))})})}).then(()=>{wd(t,"down",_)})}).catch(S=>t.events.error.next(S)),m}}var bd=function(t,e){var n=gs(t.newDocumentState),r=gs(t.realMasterState);return Va(n,r)?Promise.resolve({isEqual:!0}):Promise.resolve({isEqual:!1,documentData:t.realMasterState})};async function lN(t,e,n){var r=t.input.conflictHandler,i=await r(e,"replication-resolve-conflict");if(!i.isEqual){var s=Object.assign({},i.documentData,{_meta:$e(n._meta),_rev:Rn(),_attachments:$e(n._attachments)});return s._meta.lwt=Ft(),s._rev=Ui(await t.checkpointKey,n),{resolvedDoc:s,output:i}}}async function Ky(t,e,n,r){if(!n._attachments||r&&!r._attachments)throw new Error("_attachments missing");var i=n[t],s=new Set(r&&r._attachments?Object.keys(r._attachments):[]);return await Promise.all(Object.entries(n._attachments).map(async([o,a])=>{if((!s.has(o)||r&&ye(r._attachments)[o].digest!==a.digest)&&!a.data){var l=await e.getAttachmentData(i,o,a.digest);a.data=l}})),n}async function cN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.upstream){var e=await gd(t,"up");e||await wd(t,"up",t.input.initialCheckpoint.upstream)}var n=t.input.replicationHandler;t.streamQueue.up=t.streamQueue.up.then(()=>f().then(()=>{h()}));var r=0,i=-1,s=[],o=Gn,a={docs:{}},l=t.input.forkInstance.changeStream().subscribe(async y=>{if(y.context!==await t.downstreamBulkWriteFlag)return t.stats.up.forkChangeStreamEmit=t.stats.up.forkChangeStreamEmit+1,s.push({task:y,time:r++}),t.events.active.up.getValue()||t.events.active.up.next(!0),t.input.waitBeforePersist?t.input.waitBeforePersist().then(()=>h()):h()});Cs(t.events.canceled.pipe(lt(y=>!!y))).then(()=>l.unsubscribe());async function f(){if(t.stats.up.upstreamInitialSync=t.stats.up.upstreamInitialSync+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"up"));for(var y=await t.checkpointQueue,w=new Set,I=async function(){i=r++,w.size>3&&await Promise.race(Array.from(w));var S=await sO(t.input.forkInstance,t.input.pushBatchSize,y);if(S.documents.length===0)return 1;y=Ml([y,S.checkpoint]);var _=m(S.documents,ye(y));w.add(_),_.catch().then(()=>w.delete(_))};!t.events.canceled.getValue()&&!await I(););var E=await Promise.all(w),F=E.find(S=>!!S);F?await f():!t.firstSyncDone.up.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.up.next(!0)}}function h(){if(t.events.canceled.getValue()||s.length===0){t.events.active.up.next(!1);return}t.stats.up.processTasks=t.stats.up.processTasks+1,t.events.active.up.next(!0),t.streamQueue.up=t.streamQueue.up.then(()=>{for(var y=[],w={};s.length>0;){var I=ye(s.shift());I.timeF.documentData)),w=Ml([w,I.task.checkpoint]))}var E=y.length===0?Gn:m(y,w);return E.then(()=>{s.length===0?t.events.active.up.next(!1):h()})})}function m(y,w){return t.stats.up.persistToMaster=t.stats.up.persistToMaster+1,y.forEach(I=>{var E=I[t.primaryPath];a.docs[E]=I}),a.checkpoint=w,o=o.then(async()=>{if(t.events.canceled.getValue())return!1;var I=a.docs;a.docs={};var E=a.checkpoint,F=Object.keys(I);if(F.length===0)return!1;var S=await dO(t,F),_={},k=[],z={},W={};if(await Promise.all(F.map(async Te=>{var Dt=I[Te];W[Te]=Dt;var G=cs(Dt,t.hasAttachments,!!t.input.keepMeta),oe=S[Te];oe&&oe.metaDocument.isResolvedConflict!==Dt._rev&&(await t.input.conflictHandler({realMasterState:oe.docData,newDocumentState:G},"upstream-check-if-equal")).isEqual||oe&&oe.docData._rev&&za(Dt._rev).height===Dt._meta[t.input.identifier]||(k.push(Te),_[Te]={assumedMasterState:oe?oe.docData:void 0,newDocumentState:G},z[Te]=await _d(t,G,oe?oe.metaDocument:void 0))})),k.length===0)return!1;var Q=Object.values(_),H=new Set,X={},U=xP(Q,t.input.pushBatchSize);await Promise.all(U.map(async Te=>{t.hasAttachments&&await Promise.all(Te.map(async G=>{G.newDocumentState=await Ky(t.primaryPath,t.input.forkInstance,Pn(G.newDocumentState),G.assumedMasterState)}));var Dt=await n.masterWrite(Te);Dt.forEach(G=>{var oe=G[t.primaryPath];H.add(oe),X[oe]=G})}));var ee=[];if(k.forEach(Te=>{H.has(Te)||(t.events.processed.up.next(_[Te]),ee.push(z[Te]))}),t.events.canceled.getValue())return!1;ee.length>0&&await t.input.metaInstance.bulkWrite(Uy(t,ee),"replication-up-write-meta");var ce=!1;if(H.size>0){t.stats.up.persistToMasterHadConflicts=t.stats.up.persistToMasterHadConflicts+1;var de=[],Pe={};if(await Promise.all(Object.entries(X).map(([Te,Dt])=>{var G=_[Te],oe={newDocumentState:G.newDocumentState,assumedMasterState:G.assumedMasterState,realMasterState:Dt};return lN(t,oe,W[Te]).then(async ue=>{if(ue){t.events.resolvedConflicts.next({input:oe,output:ue.output}),de.push({previous:W[Te],document:ue.resolvedDoc});var Re=S[Te];Pe[Te]=await _d(t,ye(Dt),Re?Re.metaDocument:void 0,ue.resolvedDoc._rev)}})})),de.length>0){ce=!0,t.stats.up.persistToMasterConflictWrites=t.stats.up.persistToMasterConflictWrites+1;var ot=await t.input.forkInstance.bulkWrite(de,"replication-up-write-conflict"),ct=[];ot.success.forEach(Te=>{var Dt=Te[t.primaryPath];ct.push(Pe[Dt])}),ct.length>0&&await t.input.metaInstance.bulkWrite(Uy(t,ct),"replication-up-write-conflict-meta")}}return wd(t,"up",E),ce}).catch(I=>(t.events.error.next(I),!1)),o}}function hO(t){t=$e(t),t.forkInstance=zy(t.forkInstance),t.metaInstance=zy(t.metaInstance);var e=aN(t),n={primaryPath:Fn(t.forkInstance.schema.primaryKey),hasAttachments:!!t.forkInstance.schema.attachments,input:t,checkpointKey:e,downstreamBulkWriteFlag:e.then(r=>"replication-downstream-"+r),events:{canceled:new Gr(!1),active:{down:new Gr(!0),up:new Gr(!0)},processed:{down:new Kt,up:new Kt},resolvedConflicts:new Kt,error:new Kt},stats:{down:{addNewTask:0,downstreamProcessChanges:0,downstreamResyncOnce:0,masterChangeStreamEmit:0,persistFromMaster:0},up:{forkChangeStreamEmit:0,persistToMaster:0,persistToMasterConflictWrites:0,persistToMasterHadConflicts:0,processTasks:0,upstreamInitialSync:0}},firstSyncDone:{down:new Gr(!1),up:new Gr(!1)},streamQueue:{down:un,up:un},checkpointQueue:un,lastCheckpointDoc:{}};return uN(n),cN(n),n}function Tf(t){return Cs(AE([t.firstSyncDone.down.pipe(lt(e=>!!e)),t.firstSyncDone.up.pipe(lt(e=>!!e))])).then(()=>{})}function ob(t){return Promise.all([t.streamQueue.up,t.streamQueue.down,t.checkpointQueue])}function fN(t,e,n,r=!1){t=zy(t);var i=!!t.schema.attachments,s=Fn(t.schema.primaryKey),o={masterChangeStream$:t.changeStream().pipe(Nr(async a=>{var l={checkpoint:a.checkpoint,documents:await Promise.all(a.events.map(async f=>{var h=cs(f.documentData,i,r);return i&&(h=await Ky(s,t,Pn(h),void 0)),h}))};return l})),masterChangesSince(a,l){return sO(t,l,a).then(async f=>({checkpoint:f.documents.length>0?f.checkpoint:a,documents:await Promise.all(f.documents.map(async h=>{var m=cs(h,i,r);return i&&(m=await Ky(s,t,Pn(m),void 0)),m}))}))},async masterWrite(a){var l={};a.forEach(E=>{var F=E.newDocumentState[s];l[F]=E});var f=Object.keys(l),h=await t.findDocumentsById(f,!0),m=new Map;h.forEach(E=>m.set(E[s],E));var y=[],w=[];if(await Promise.all(Object.entries(l).map(async([E,F])=>{var S=m.get(E);S?S&&!F.assumedMasterState?y.push(cs(S,i,r)):(await e({realMasterState:cs(S,i,r),newDocumentState:ye(F.assumedMasterState)},"rxStorageInstanceToReplicationHandler-masterWrite")).isEqual===!0?w.push({previous:S,document:sb(n,i,r,F.newDocumentState,S)}):y.push(cs(S,i,r)):w.push({document:sb(n,i,r,F.newDocumentState)})})),w.length>0){var I=await t.bulkWrite(w,"replication-master-write");I.error.forEach(E=>{if(E.status!==409)throw new Error("non conflict error");y.push(cs(ye(E.documentInDb),i,r))})}return y}};return o}async function pO(t){t.events.canceled.next(!0),t.events.active.up.complete(),t.events.active.down.complete(),t.events.processed.up.complete(),t.events.processed.down.complete(),t.events.resolvedConflicts.complete(),t.events.canceled.complete(),await t.checkpointQueue}var mO=["pre","post"],yO=["insert","save","remove","create"],ab=!1,vO=function(){function t(n,r,i,s,o={},a={},l={},f={},h={},m=GE,y={},w=bd){this.storageInstance={},this.timeouts=new Set,this.incrementalWriteQueue={},this._incrementalUpsertQueues=new Map,this.synced=!1,this.hooks={},this._subs=[],this._docCache={},this._queryCache=O2(),this.$={},this.checkpoint$={},this._changeEventBuffer={},this.onDestroy=[],this.destroyed=!1,this.database=n,this.name=r,this.schema=i,this.internalStorageInstance=s,this.instanceCreationOptions=o,this.migrationStrategies=a,this.methods=l,this.attachments=f,this.options=h,this.cacheReplacementPolicy=m,this.statics=y,this.conflictHandler=w,dN(this.asRxCollection)}var e=t.prototype;return e.prepare=async function(){this.storageInstance=$g(this.database,this.internalStorageInstance,this.schema.jsonSchema),this.incrementalWriteQueue=new oO(this.storageInstance,this.schema.primaryPath,(o,a)=>uO(this,o,a),o=>this._runHooks("post","save",o));var r=this.database.eventBulks$.pipe(lt(o=>o.collectionName===this.name));this.$=r.pipe(Nr(o=>o.events)),this.checkpoint$=r.pipe(Mt(o=>o.checkpoint)),this._changeEventBuffer=tN(this.asRxCollection),this._docCache=new JE(this.schema.primaryPath,this.$.pipe(lt(o=>!o.isLocal)),o=>sN(this.asRxCollection,o));var i=await this.database.storageToken,s=this.storageInstance.changeStream().subscribe(o=>{var a={id:o.id,internal:!1,collectionName:this.name,storageToken:i,events:o.events.map(l=>nO(!1,l,this)),databaseToken:this.database.token,checkpoint:o.checkpoint,context:o.context,endTime:o.endTime,startTime:o.startTime};this.database.$emit(a)});return this._subs.push(s),this._subs.push(this.storageInstance.conflictResultionTasks().subscribe(o=>{this.conflictHandler(o.input,o.context).then(a=>{this.storageInstance.resolveConflictResultionTask({id:o.id,output:a})})})),un},e.cleanup=function(r){throw pt("cleanup")},e.migrationNeeded=function(){throw pt("migration-schema")},e.getMigrationState=function(){throw pt("migration-schema")},e.startMigration=function(r=10){return this.getMigrationState().startMigration(r)},e.migratePromise=function(r=10){return this.getMigrationState().migratePromise(r)},e.insert=async function(r){var i=await this.bulkInsert([r]),s=i.error[0];yd(this,r[this.schema.primaryPath],r,s);var o=ye(i.success[0]);return o},e.bulkInsert=async function(r){if(r.length===0)return{success:[],error:[]};var i=this.schema.primaryPath,s=r.map(m=>{var y=dm(this.schema,m);return y}),o=this.hasHooks("pre","insert")?await Promise.all(s.map(m=>this._runHooks("pre","insert",m).then(()=>m))):s,a=o.map(m=>{var y={document:m};return y}),l=await this.storageInstance.bulkWrite(a,"rx-collection-bulk-insert"),f=XE(this._docCache,l.success);if(this.hasHooks("post","insert")){var h=new Map;o.forEach(m=>{h.set(m[i],m)}),await Promise.all(f.map(m=>this._runHooks("post","insert",h.get(m.primary),m)))}return{success:f,error:l.error}},e.bulkRemove=async function(r){var i=this.schema.primaryPath;if(r.length===0)return{success:[],error:[]};var s=await this.findByIds(r).exec(),o=[],a=new Map;Array.from(s.values()).forEach(y=>{var w=y.toMutableJSON(!0);o.push(w),a.set(y.primary,w)}),await Promise.all(o.map(y=>{var w=y[this.schema.primaryPath];return this._runHooks("pre","remove",y,s.get(w))}));var l=o.map(y=>{var w=$e(y);return w._deleted=!0,{previous:y,document:w}}),f=await this.storageInstance.bulkWrite(l,"rx-collection-bulk-remove"),h=f.success.map(y=>y[i]);await Promise.all(h.map(y=>this._runHooks("post","remove",a.get(y),s.get(y))));var m=h.map(y=>Mo(s,y));return{success:m,error:f.error}},e.bulkUpsert=async function(r){var i=[],s=new Map;r.forEach(f=>{var h=dm(this.schema,f),m=h[this.schema.primaryPath];if(!m)throw le("COL3",{primaryPath:this.schema.primaryPath,data:h,schema:this.schema.jsonSchema});s.set(m,h),i.push(h)});var o=await this.bulkInsert(i),a=o.success.slice(0),l=[];return await Promise.all(o.error.map(async f=>{if(f.status!==409)l.push(f);else{var h=f.documentId,m=Mo(s,h),y=ye(f.documentInDb),w=this._docCache.getCachedRxDocument(y),I=await w.incrementalModify(()=>m);a.push(I)}})),{error:l,success:a}},e.upsert=async function(r){var i=await this.bulkUpsert([r]);return yd(this.asRxCollection,r[this.schema.primaryPath],r,i.error[0]),i.success[0]},e.incrementalUpsert=function(r){var i=dm(this.schema,r),s=i[this.schema.primaryPath];if(!s)throw le("COL4",{data:r});var o=this._incrementalUpsertQueues.get(s);return o||(o=un),o=o.then(()=>pN(this,s,i)).then(a=>a.inserted?a.doc:hN(a.doc,i)),this._incrementalUpsertQueues.set(s,o),o},e.find=function(r){if(typeof r=="string")throw le("COL5",{queryObj:r});r||(r=tl());var i=na("find",r,this);return i},e.findOne=function(r){if(typeof r=="number"||Array.isArray(r))throw el("COL6",{queryObj:r});var i;if(typeof r=="string")i=na("findOne",{selector:{[this.schema.primaryPath]:r},limit:1},this);else{if(r||(r=tl()),r.limit)throw le("QU6");r=$e(r),r.limit=1,i=na("findOne",r,this)}return i},e.count=function(r){r||(r=tl());var i=na("count",r,this);return i},e.findByIds=function(r){var i={selector:{[this.schema.primaryPath]:{$in:r.slice(0)}}},s=na("findByIds",i,this);return s},e.exportJSON=function(){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.insertCRDT=function(r){throw pt("crdt")},e.addHook=function(r,i,s,o=!1){if(typeof s!="function")throw el("COL7",{key:i,when:r});if(!mO.includes(r))throw el("COL8",{key:i,when:r});if(!yO.includes(i))throw le("COL9",{key:i});if(r==="post"&&i==="create"&&o===!0)throw le("COL10",{when:r,key:i,parallel:o});var a=s.bind(this),l=o?"parallel":"series";this.hooks[i]=this.hooks[i]||{},this.hooks[i][r]=this.hooks[i][r]||{series:[],parallel:[]},this.hooks[i][r][l].push(a)},e.getHooks=function(r,i){return!this.hooks[i]||!this.hooks[i][r]?{series:[],parallel:[]}:this.hooks[i][r]},e.hasHooks=function(r,i){var s=this.getHooks(r,i);return s?s.series.length>0||s.parallel.length>0:!1},e._runHooks=function(r,i,s,o){var a=this.getHooks(r,i);if(!a)return un;var l=a.series.map(f=>()=>f(s,o));return QP(l).then(()=>Promise.all(a.parallel.map(f=>f(s,o))))},e._runHooksSync=function(r,i,s,o){var a=this.getHooks(r,i);a&&a.series.forEach(l=>l(s,o))},e.promiseWait=function(r){var i=new Promise(s=>{var o=setTimeout(()=>{this.timeouts.delete(o),s()},r);this.timeouts.add(o)});return i},e.destroy=function(){return this.destroyed?Gn:(this.destroyed=!0,Array.from(this.timeouts).forEach(r=>clearTimeout(r)),this._changeEventBuffer&&this._changeEventBuffer.destroy(),this.database.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>this.storageInstance.close()).then(()=>(this._subs.forEach(r=>r.unsubscribe()),delete this.database.collections[this.name],No("postDestroyRxCollection",this).then(()=>!0))))},e.remove=async function(){await this.destroy(),await fO(this.database.storage,this.database.internalStore,this.database.token,this.database.name,this.name,this.database.password,this.database.hashFunction)},Vs(t,[{key:"insert$",get:function(){return this.$.pipe(lt(n=>n.operation==="INSERT"))}},{key:"update$",get:function(){return this.$.pipe(lt(n=>n.operation==="UPDATE"))}},{key:"remove$",get:function(){return this.$.pipe(lt(n=>n.operation==="DELETE"))}},{key:"asRxCollection",get:function(){return this}}]),t}();function dN(t){if(!ab){ab=!0;var e=Object.getPrototypeOf(t);yO.forEach(n=>{mO.map(r=>{var i=r+ZI(n);e[i]=function(s,o){return this.addHook(r,n,s,o)}})})}}function hN(t,e){return t.incrementalModify(n=>e)}function pN(t,e,n){var r=t._docCache.getLatestDocumentDataIfExists(e);return r?Promise.resolve({doc:t._docCache.getCachedRxDocument(r),inserted:!1}):t.findOne(e).exec().then(i=>i?{doc:i,inserted:!1}:t.insert(n).then(s=>({doc:s,inserted:!0})))}function mN({database:t,name:e,schema:n,instanceCreationOptions:r={},migrationStrategies:i={},autoMigrate:s=!0,statics:o={},methods:a={},attachments:l={},options:f={},localDocuments:h=!1,cacheReplacementPolicy:m=GE,conflictHandler:y=bd}){var w={databaseInstanceToken:t.token,databaseName:t.name,collectionName:e,schema:n.jsonSchema,options:r,multiInstance:t.multiInstance,password:t.password,devMode:it.isDevMode()};return Mr("preCreateRxStorageInstance",w),Z2(t,w).then(I=>{var E=new vO(t,e,n,I,r,i,a,l,f,m,o,y);return E.prepare().then(()=>{Object.entries(o).forEach(([S,_])=>{Object.defineProperty(E,S,{get:()=>_.bind(E)})});var F=un;return s&&E.schema.version!==0&&(F=E.migratePromise()),F}).then(()=>(Mr("createRxCollection",{collection:E,creator:{name:e,schema:n,storageInstance:I,instanceCreationOptions:r,migrationStrategies:i,methods:a,attachments:l,options:f,cacheReplacementPolicy:m,localDocuments:h,statics:o}}),E)).catch(F=>I.close().then(()=>Promise.reject(F)))})}var gO=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this._parallels=e||1,this._qC=0,this._iC=new Set,this._lHN=0,this._hPM=new Map,this._pHM=new Map};gO.prototype={isIdle:function(){return this._qC{this._to=!1,vN(this)},0))}clear(){this.map.clear()}}function vN(t){const e=wO()-t.ttl,n=t.map[Symbol.iterator]();for(;;){const r=n.next().value;if(!r)return;const i=r[0];if(r[1]E.events)),this.storageToken=Gn,this.storageTokenDocument=Gn,this.emittedEventBulkIds=new Vg(60*1e3),this.name=n,this.token=r,this.storage=i,this.instanceCreationOptions=s,this.password=o,this.multiInstance=a,this.eventReduce=l,this.options=f,this.internalStore=h,this.hashFunction=m,this.cleanupPolicy=y,this.allowSlowCount=w,this.reactivity=I,this.name!=="pseudoInstance"&&(this.internalStore=$g(this.asRxDatabase,h,Ug),this.storageTokenDocument=J2(this.asRxDatabase).catch(E=>this.startupErrors.push(E)),this.storageToken=this.storageTokenDocument.then(E=>E.data.token).catch(E=>this.startupErrors.push(E)))}var e=t.prototype;return e.getReactivityFactory=function(){if(!this.reactivity)throw le("DB14",{database:this.name});return this.reactivity},e.$emit=function(r){this.emittedEventBulkIds.has(r.id)||(this.emittedEventBulkIds.add(r.id),this.eventBulks$.next(r))},e.removeCollectionDoc=async function(r,i){var s=await Xl(this.internalStore,Ha(jy(r,i),ko));if(!s)throw le("SNH",{name:r,schema:i});var o=Lg(s);o._deleted=!0,await this.internalStore.bulkWrite([{document:o,previous:s}],"rx-database-remove-collection")},e.addCollections=async function(r){var i={},s={},o=[],a={};await Promise.all(Object.entries(r).map(async([h,m])=>{var y=h,w=m.schema;i[y]=w;var I=dR(w,this.hashFunction);if(s[y]=I,this.collections[h])throw le("DB3",{name:h});var E=jy(h,w),F={id:Ha(E,ko),key:E,context:ko,data:{name:y,schemaHash:await I.hash,schema:I.jsonSchema,version:I.version,connectedStorages:[]},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}};o.push({document:F});var S=Object.assign({},m,{name:y,schema:I,database:this}),_=$e(m);_.database=this,_.name=h,Mr("preCreateRxCollection",_),S.conflictHandler=_.conflictHandler,a[y]=S}));var l=await this.internalStore.bulkWrite(o,"rx-database-add-collection");await bN(this),await Promise.all(l.error.map(async h=>{if(h.status!==409)throw le("DB12",{database:this.name,writeError:h});var m=ye(h.documentInDb),y=m.data.name,w=s[y];if(m.data.schemaHash!==await w.hash)throw le("DB6",{database:this.name,collection:y,previousSchemaHash:m.data.schemaHash,schemaHash:await w.hash,previousSchema:m.data.schema,schema:ye(i[y])})}));var f={};return await Promise.all(Object.keys(r).map(async h=>{var m=a[h],y=await mN(m);f[h]=y,this.collections[h]=y,this[h]||Object.defineProperty(this,h,{get:()=>this.collections[h]})})),f},e.lockedRun=function(r){return this.idleQueue.wrapCall(r)},e.requestIdlePromise=function(){return this.idleQueue.requestIdlePromise()},e.exportJSON=function(r){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.backup=function(r){throw pt("backup")},e.leaderElector=function(){throw pt("leader-election")},e.isLeader=function(){throw pt("leader-election")},e.waitForLeadership=function(){throw pt("leader-election")},e.migrationStates=function(){throw pt("migration-schema")},e.destroy=async function(){return this.destroyed||(this.destroyed=!0,await No("preDestroyRxDatabase",this),this.eventBulks$.complete(),this._subs.map(r=>r.unsubscribe()),this.name==="pseudoInstance")?Gn:this.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>Promise.all(Object.keys(this.collections).map(r=>this.collections[r]).map(r=>r.destroy()))).then(()=>this.internalStore.close()).then(()=>Sd.delete(this.storage.name+"|"+this.name)).then(()=>!0)},e.remove=function(){return this.destroy().then(()=>bO(this.name,this.storage,this.password))},Vs(t,[{key:"$",get:function(){return this.observable$}},{key:"asRxDatabase",get:function(){return this}}]),t}();function gN(t,e){var n=e.name+"|"+t;if(Sd.has(n))throw le("DB8",{name:t,storage:e.name,link:"https://rxdb.info/rx-database.html#ignoreduplicate"})}async function _O(t,e,n,r,i,s){var o=await e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:z2,schema:Ug,options:r,multiInstance:i,password:s,devMode:it.isDevMode()});return o}function wN({storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i=!0,eventReduce:s=!0,ignoreDuplicate:o=!1,options:a={},cleanupPolicy:l,allowSlowCount:f=!1,localDocuments:h=!1,hashFunction:m=KP,reactivity:y}){Mr("preCreateRxDatabase",{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}),o||gN(n,t),Sd.add(t.name+"|"+n);var w=iu(10);return _O(w,t,n,e,i,r).catch(I=>{throw Sd.delete(t.name+"|"+n),I}).then(I=>{var E=new Kg(n,w,t,e,r,i,s,a,I,m,l,f,y);return No("createRxDatabase",{database:E,creator:{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}}).then(()=>E)})}async function bO(t,e,n){var r=iu(10),i=await _O(r,e,t,{},!1,n),s=await zg(i),o=new Set;s.forEach(l=>o.add(l.data.name));var a=Array.from(o);return await Promise.all(a.map(l=>fO(e,i,r,t,l,n))),await No("postRemoveRxDatabase",{databaseName:t,storage:e}),await i.remove(),a}function _N(t){return t instanceof Kg}async function SO(t){var e=await t.storageTokenDocument;return e.data.instanceToken===t.token}async function bN(t){if(await t.storageToken,t.startupErrors[0])throw t.startupErrors[0]}var SN={RxSchema:aE.prototype,RxDocument:kh,RxQuery:ZE.prototype,RxCollection:vO.prototype,RxDatabase:Kg.prototype},pm=new Set,ub=new Set;function gi(t){if(Mr("preAddRxPlugin",{plugin:t,plugins:pm}),!pm.has(t)){{if(ub.has(t.name))throw le("PL3",{name:t.name,plugin:t});pm.add(t),ub.add(t.name)}if(!t.rxdb)throw el("PL1",{plugin:t});t.init&&t.init(),t.prototypes&&Object.entries(t.prototypes).forEach(([e,n])=>n(SN[e])),t.overwritable&&Object.assign(it,t.overwritable),t.hooks&&Object.entries(t.hooks).forEach(([e,n])=>{n.after&&xl[e].push(n.after),n.before&&xl[e].unshift(n.before)})}}function IN(t){return t&&typeof t.then=="function"}Promise.resolve(!1);var EN=Promise.resolve(!0),Mi=Promise.resolve();function mo(t,e){return t||(t=0),new Promise(function(n){return setTimeout(function(){return n(e)},t)})}function ON(t,e){return Math.floor(Math.random()*(e-t+1)+t)}function Zl(){return Math.random().toString(36).substring(2)}var mm=0;function ec(){var t=Date.now()*1e3;return t<=mm&&(t=mm+1),mm=t,t}function kN(){return typeof navigator<"u"&&typeof navigator.locks<"u"&&typeof navigator.locks.request=="function"}var DN=ec,xN="native";function AN(t){var e={time:ec(),messagesCallback:null,bc:new BroadcastChannel(t),subFns:[]};return e.bc.onmessage=function(n){e.messagesCallback&&e.messagesCallback(n.data)},e}function CN(t){t.bc.close(),t.subFns=[]}function PN(t,e){try{return t.bc.postMessage(e,!1),Mi}catch(n){return Promise.reject(n)}}function RN(t,e){t.messagesCallback=e}function TN(){if(typeof globalThis<"u"&&globalThis.Deno&&globalThis.Deno.args)return!0;if((typeof window<"u"||typeof self<"u")&&typeof BroadcastChannel=="function"){if(BroadcastChannel._pubkey)throw new Error("BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill");return!0}else return!1}function MN(){return 150}var NN={create:AN,close:CN,onMessage:RN,postMessage:PN,canBeUsed:TN,type:xN,averageResponseTime:MN,microSeconds:DN};function Wg(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=JSON.parse(JSON.stringify(t));return typeof e.webWorkerSupport>"u"&&(e.webWorkerSupport=!0),e.idb||(e.idb={}),e.idb.ttl||(e.idb.ttl=1e3*45),e.idb.fallbackInterval||(e.idb.fallbackInterval=150),t.idb&&typeof t.idb.onclose=="function"&&(e.idb.onclose=t.idb.onclose),e.localstorage||(e.localstorage={}),e.localstorage.removeTimeout||(e.localstorage.removeTimeout=1e3*60),t.methods&&(e.methods=t.methods),e.node||(e.node={}),e.node.ttl||(e.node.ttl=1e3*60*2),e.node.maxParallelWrites||(e.node.maxParallelWrites=2048),typeof e.node.useFastPath>"u"&&(e.node.useFastPath=!0),e}var BN=ec,FN="pubkey.broadcast-channel-0-",qi="messages",Dh={durability:"relaxed"},LN="idb";function IO(){if(typeof indexedDB<"u")return indexedDB;if(typeof window<"u"){if(typeof window.mozIndexedDB<"u")return window.mozIndexedDB;if(typeof window.webkitIndexedDB<"u")return window.webkitIndexedDB;if(typeof window.msIndexedDB<"u")return window.msIndexedDB}return!1}function qg(t){t.commit&&t.commit()}function $N(t){var e=IO(),n=FN+t,r=e.open(n);return r.onupgradeneeded=function(i){var s=i.target.result;s.createObjectStore(qi,{keyPath:"id",autoIncrement:!0})},new Promise(function(i,s){r.onerror=function(o){return s(o)},r.onsuccess=function(){i(r.result)}})}function jN(t,e,n){var r=Date.now(),i={uuid:e,time:r,data:n},s=t.transaction([qi],"readwrite",Dh);return new Promise(function(o,a){s.oncomplete=function(){return o()},s.onerror=function(f){return a(f)};var l=s.objectStore(qi);l.add(i),qg(s)})}function UN(t,e){var n=t.transaction(qi,"readonly",Dh),r=n.objectStore(qi),i=[],s=IDBKeyRange.bound(e+1,1/0);if(r.getAll){var o=r.getAll(s);return new Promise(function(l,f){o.onerror=function(h){return f(h)},o.onsuccess=function(h){l(h.target.result)}})}function a(){try{return s=IDBKeyRange.bound(e+1,1/0),r.openCursor(s)}catch{return r.openCursor()}}return new Promise(function(l,f){var h=a();h.onerror=function(m){return f(m)},h.onsuccess=function(m){var y=m.target.result;y?y.value.idt.lastCursorId&&(t.lastCursorId=r.id),r}).filter(function(r){return qN(r,t)}).sort(function(r,i){return r.time-i.time});return n.forEach(function(r){t.messagesCallback&&(t.eMIs.add(r.id),t.messagesCallback(r.data))}),Mi})}function HN(t){t.closed=!0,t.db.close()}function QN(t,e){return t.writeBlockPromise=t.writeBlockPromise.then(function(){return jN(t.db,t.uuid,e)}).then(function(){ON(0,10)===0&&KN(t)}),t.writeBlockPromise}function YN(t,e,n){t.messagesCallbackTime=n,t.messagesCallback=e,OO(t)}function GN(){return!!IO()}function JN(t){return t.idb.fallbackInterval*2}var XN={create:WN,close:HN,onMessage:YN,postMessage:QN,canBeUsed:GN,type:LN,averageResponseTime:JN,microSeconds:BN},ZN=ec,eB="pubkey.broadcastChannel-",tB="localstorage";function kO(){var t;if(typeof window>"u")return null;try{t=window.localStorage,t=window["ie8-eventlistener/storage"]||window.localStorage}catch{}return t}function DO(t){return eB+t}function nB(t,e){return new Promise(function(n){mo().then(function(){var r=DO(t.channelName),i={token:Zl(),time:Date.now(),data:e,uuid:t.uuid},s=JSON.stringify(i);kO().setItem(r,s);var o=document.createEvent("Event");o.initEvent("storage",!0,!0),o.key=r,o.newValue=s,window.dispatchEvent(o),n()})})}function rB(t,e){var n=DO(t),r=function(s){s.key===n&&e(JSON.parse(s.newValue))};return window.addEventListener("storage",r),r}function iB(t){window.removeEventListener("storage",t)}function sB(t,e){if(e=Wg(e),!xO())throw new Error("BroadcastChannel: localstorage cannot be used");var n=Zl(),r=new Vg(e.localstorage.removeTimeout),i={channelName:t,uuid:n,eMIs:r};return i.listener=rB(t,function(s){i.messagesCallback&&s.uuid!==n&&(!s.token||r.has(s.token)||s.data.time&&s.data.time0||t._addEL.internal.length>0}function db(t,e,n){t._addEL[e].push(n),bB(t)}function hb(t,e,n){t._addEL[e]=t._addEL[e].filter(function(r){return r!==n}),SB(t)}function bB(t){if(!t._iL&&RO(t)){var e=function(i){t._addEL[i.type].forEach(function(s){i.time>=s.time&&s.fn(i.data)})},n=t.method.microSeconds();t._prepP?t._prepP.then(function(){t._iL=!0,t.method.onMessage(t._state,e,n)}):(t._iL=!0,t.method.onMessage(t._state,e,n))}}function SB(t){if(t._iL&&!RO(t)){t._iL=!1;var e=t.method.microSeconds();t.method.onMessage(t._state,null,e)}}function IB(t){if(typeof WorkerGlobalScope=="function"&&self instanceof WorkerGlobalScope){var e=self.close.bind(self);self.close=function(){return t(),e()}}else{if(typeof window.addEventListener!="function")return;window.addEventListener("beforeunload",function(){t()},!0),window.addEventListener("unload",function(){t()},!0)}}function EB(t){process.on("exit",function(){return t()}),process.on("beforeExit",function(){return t().then(function(){return process.exit()})}),process.on("SIGINT",function(){return t().then(function(){return process.exit()})}),process.on("uncaughtException",function(e){return t().then(function(){console.trace(e),process.exit(101)})})}var OB=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]",kB=OB?EB:IB,nl=new Set,pb=!1;function DB(){pb||(pb=!0,kB(AB))}function xB(t){if(DB(),typeof t!="function")throw new Error("Listener is no function");nl.add(t);var e={remove:function(){return nl.delete(t)},run:function(){return nl.delete(t),t()}};return e}function AB(){var t=[];return nl.forEach(function(e){t.push(e()),nl.delete(e)}),Promise.all(t)}function Do(t,e){var n={context:"leader",action:e,token:t.token};return t.broadcastChannel.postInternal(n)}function TO(t){t.isLeader=!0,t._hasLeader=!0;var e=xB(function(){return t.die()});t._unl.push(e);var n=function(i){i.context==="leader"&&i.action==="apply"&&Do(t,"tell"),i.context==="leader"&&i.action==="tell"&&!t._dpLC&&(t._dpLC=!0,t._dpL(),Do(t,"tell"))};return t.broadcastChannel.addEventListener("internal",n),t._lstns.push(n),Do(t,"tell")}var MO=function(e,n){var r=this;this.broadcastChannel=e,e._befC.push(function(){return r.die()}),this._options=n,this.isLeader=!1,this.isDead=!1,this.token=Zl(),this._lstns=[],this._unl=[],this._dpL=function(){},this._dpLC=!1,this._wKMC={},this.lN="pubkey-bc||"+e.method.type+"||"+e.name};MO.prototype={hasLeader:function(){var e=this;return navigator.locks.query().then(function(n){var r=n.held?n.held.filter(function(i){return i.name===e.lN}):[];return!!(r&&r.length>0)})},awaitLeadership:function(){var e=this;if(!this._wLMP){this._wKMC.c=new AbortController;var n=new Promise(function(r,i){e._wKMC.res=r,e._wKMC.rej=i});this._wLMP=new Promise(function(r){navigator.locks.request(e.lN,{signal:e._wKMC.c.signal},function(){return e._wKMC.c=void 0,TO(e),r(),n}).catch(function(){})})}return this._wLMP},set onduplicate(t){},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this.isLeader=!1),this.isDead=!0,this._wKMC.res&&this._wKMC.res(),this._wKMC.c&&this._wKMC.c.abort("LeaderElectionWebLock.die() called"),Do(this,"death")}};var NO=function(e,n){var r=this;this.broadcastChannel=e,this._options=n,this.isLeader=!1,this._hasLeader=!1,this.isDead=!1,this.token=Zl(),this._aplQ=Mi,this._aplQC=0,this._unl=[],this._lstns=[],this._dpL=function(){},this._dpLC=!1;var i=function(o){o.context==="leader"&&(o.action==="death"&&(r._hasLeader=!1),o.action==="tell"&&(r._hasLeader=!0))};this.broadcastChannel.addEventListener("internal",i),this._lstns.push(i)};NO.prototype={hasLeader:function(){return Promise.resolve(this._hasLeader)},applyOnce:function(e){var n=this;if(this.isLeader)return mo(0,!0);if(this.isDead)return mo(0,!1);if(this._aplQC>1)return this._aplQ;var r=function(){if(n.isLeader)return EN;var s=!1,o,a=new Promise(function(h){o=function(){s=!0,h()}}),l=function(m){m.context==="leader"&&m.token!=n.token&&(m.action==="apply"&&m.token>n.token&&o(),m.action==="tell"&&(o(),n._hasLeader=!0))};n.broadcastChannel.addEventListener("internal",l);var f=e?n._options.responseTime*4:n._options.responseTime;return Do(n,"apply").then(function(){return Promise.race([mo(f),a.then(function(){return Promise.reject(new Error)})])}).then(function(){return Do(n,"apply")}).then(function(){return Promise.race([mo(f),a.then(function(){return Promise.reject(new Error)})])}).catch(function(){}).then(function(){return n.broadcastChannel.removeEventListener("internal",l),s?!1:TO(n).then(function(){return!0})})};return this._aplQC=this._aplQC+1,this._aplQ=this._aplQ.then(function(){return r()}).then(function(){n._aplQC=n._aplQC-1}),this._aplQ.then(function(){return n.isLeader})},awaitLeadership:function(){return this._aLP||(this._aLP=CB(this)),this._aLP},set onduplicate(t){this._dpL=t},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this._hasLeader=!1,this.isLeader=!1),this.isDead=!0,Do(this,"death")}};function CB(t){return t.isLeader?Mi:new Promise(function(e){var n=!1;function r(){n||(n=!0,t.broadcastChannel.removeEventListener("internal",s),e(!0))}t.applyOnce().then(function(){t.isLeader&&r()});var i=function o(){return mo(t._options.fallbackInterval).then(function(){if(!(t.isDead||n))if(t.isLeader)r();else return t.applyOnce(!0).then(function(){t.isLeader?r():o()})})};i();var s=function(a){a.context==="leader"&&a.action==="death"&&(t._hasLeader=!1,t.applyOnce().then(function(){t.isLeader&&r()}))};t.broadcastChannel.addEventListener("internal",s),t._lstns.push(s)})}function PB(t,e){return t||(t={}),t=JSON.parse(JSON.stringify(t)),t.fallbackInterval||(t.fallbackInterval=3e3),t.responseTime||(t.responseTime=e.method.averageResponseTime(e.options)),t}function RB(t,e){if(t._leaderElector)throw new Error("BroadcastChannel already has a leader-elector");e=PB(e,t);var n=kN()?new MO(t,e):new NO(t,e);return t._befC.push(function(){return n.die()}),t._leaderElector=n,n}var Id=new Map;function TB(t,e,n,r){var i=Id.get(e);return i||(i={bc:new xh(["RxDB:",t,n].join("|")),refs:new Set},Id.set(e,i)),i.refs.add(r),i.bc}function mb(t,e){var n=Id.get(t);if(n&&(n.refs.delete(e),n.refs.size===0))return Id.delete(t),n.bc.close()}function MB(t,e,n,r){if(e.multiInstance){var i=r||TB(t,e.databaseInstanceToken,n.databaseName,n),s=new Kt,o=y=>{y.storageName===t&&y.databaseName===e.databaseName&&y.collectionName===e.collectionName&&y.version===e.schema.version&&s.next(y.eventBulk)};i.addEventListener("message",o);var a=n.changeStream(),l=!1,f=a.subscribe(y=>{l||i.postMessage({storageName:t,databaseName:e.databaseName,collectionName:e.collectionName,version:e.schema.version,eventBulk:y})});n.changeStream=function(){return s.asObservable().pipe(sT(a))};var h=n.close.bind(n);n.close=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await mb(e.databaseInstanceToken,n),h()};var m=n.remove.bind(n);n.remove=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await mb(e.databaseInstanceToken,n),m()}}}function NB(t,e){var n=e.map(r=>{var i=zi(t,r);if(!i)throw new Error("not in schema: "+r);var s=i.type,o;(s==="number"||s==="integer")&&(o=Qg(i));var a=JI(r),l=i.maxLength?i.maxLength:0,f;s==="string"?f=m=>{var y=a(m);return y||(y=""),y.padEnd(l," ")}:s==="boolean"?f=m=>{var y=a(m);return y?"1":"0"}:f=m=>{var y=a(m);return Ed(o,y)};var h={fieldName:r,schemaPart:i,parsedLengths:o,getValue:a,getIndexStringPart:f};return h});return n}function BB(t,e){var n=NB(t,e),r=n.length,i=n.map(o=>o.getIndexStringPart),s=function(o){for(var a="",l=0;l1&&(a=o[1].length),{minimum:e,maximum:n,nonDecimals:s,decimals:a,roundedMinimum:e}}function Ed(t,e){typeof e>"u"&&(e=0),et.maximum&&(e=t.maximum);var n=(Math.floor(e)-t.roundedMinimum).toString(),r=n.padStart(t.nonDecimals,"0");if(t.decimals>0){var i=e.toString().split("."),s=i.length>1?i[1]:"0";r+=s.padEnd(t.decimals,"0")}return r}function yb(t,e,n){var r="";return e.forEach((i,s)=>{var o=zi(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"?r+=a.padEnd(f," "):r+="".padEnd(f," ");break;case"boolean":if(a===null)r+="0";else if(a===li)r+="0";else if(a===Ar)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var m=Qg(o);if(a===null||a===li){var y="0";r+=y.repeat(m.nonDecimals+m.decimals)}else if(a===Ar)r+=Ed(m,m.maximum);else{var w=Ed(m,a);r+=w}break;default:throw new Error("unknown index type "+l)}}),r}function FB(t,e,n){var r="";return e.forEach((i,s)=>{var o=zi(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"&&a!==Ar?r+=a.padEnd(f," "):a===li?r+="".padEnd(f," "):r+="".padEnd(f,Ar);break;case"boolean":if(a===null)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var m=Qg(o);if(a===null||a===Ar){var y="9";r+=y.repeat(m.nonDecimals+m.decimals)}else if(a===li){var w="0";r+=w.repeat(m.nonDecimals+m.decimals)}else r+=Ed(m,a);break;default:throw new Error("unknown index type "+l)}}),r}var vb=t=>Promise.resolve(t);function gb(t,e){if(t==="_deleted")return e;e=$e(e);var n=!!e._deleted;return e[t]=n,delete e._deleted,e}function ym(t,e,n){return n.map(r=>{var i=$e(r);if(e!=="_deleted"){var s=!!i[e];i._deleted=s,delete i[e]}else i._deleted=!!i._deleted;var o=t.schema.primaryPath;return i[o]=Ws(t.schema.jsonSchema,i),i})}function wb(t,e){if(typeof window>"u"||typeof window!="object"||typeof window.addEventListener>"u"||navigator.onLine)return t.promiseWait(e);var n,r=new Promise(i=>{n=()=>{window.removeEventListener("online",n),i()},window.addEventListener("online",n)});return Promise.race([r,t.promiseWait(e)]).then(()=>{window.removeEventListener("online",n)})}var BO=new WeakMap,LB=function(){function t(n,r,i,s,o,a,l,f){this.subs=[],this.subjects={received:new Kt,sent:new Kt,error:new Kt,canceled:new Gr(!1),active:new Gr(!1)},this.received$=this.subjects.received.asObservable(),this.sent$=this.subjects.sent.asObservable(),this.error$=this.subjects.error.asObservable(),this.canceled$=this.subjects.canceled.asObservable(),this.active$=this.subjects.active.asObservable(),this.onCancel=[],this.callOnStart=void 0,this.remoteEvents$=new Kt,this.replicationIdentifier=n,this.collection=r,this.deletedField=i,this.pull=s,this.push=o,this.live=a,this.retryTime=l,this.autoStart=f;var h=Tr(BO,r,()=>[]);h.push(this),this.collection.onDestroy.push(()=>this.cancel()),Object.keys(this.subjects).forEach(y=>{Object.defineProperty(this,y+"$",{get:function(){return this.subjects[y].asObservable()}})});var m=new Promise(y=>{this.callOnStart=y});this.startPromise=m}var e=t.prototype;return e.start=async function(){if(!this.isStopped()){var r=this.pull&&this.pull.modifier?this.pull.modifier:vb,i=this.push&&this.push.modifier?this.push.modifier:vb,s=this.collection.database,o="rx-replication-meta-"+await s.hashFunction([this.collection.name,this.replicationIdentifier].join("-")),a=Vy(this.collection.schema.jsonSchema,vd(this.collection.schema.jsonSchema)),[l]=await Promise.all([this.collection.database.storage.createStorageInstance({databaseName:s.name,collectionName:o,databaseInstanceToken:s.token,multiInstance:s.multiInstance,options:{},schema:a,password:s.password,devMode:it.isDevMode()}),cO(this.collection,o,a)]);this.metaInstance=l,this.internalReplicationState=hO({pushBatchSize:this.push&&this.push.batchSize?this.push.batchSize:100,pullBatchSize:this.pull&&this.pull.batchSize?this.pull.batchSize:100,initialCheckpoint:{upstream:this.push?this.push.initialCheckpoint:void 0,downstream:this.pull?this.pull.initialCheckpoint:void 0},forkInstance:this.collection.storageInstance,metaInstance:this.metaInstance,hashFunction:s.hashFunction,identifier:"rxdbreplication"+this.replicationIdentifier,conflictHandler:this.collection.conflictHandler,replicationHandler:{masterChangeStream$:this.remoteEvents$.asObservable().pipe(lt(f=>!!this.pull),Nr(async f=>{if(f==="RESYNC")return f;var h=$e(f);return h.documents=ym(this.collection,this.deletedField,h.documents),h.documents=await Promise.all(h.documents.map(m=>r(m))),h})),masterChangesSince:async(f,h)=>{if(!this.pull)return{checkpoint:null,documents:[]};for(var m=!1,y={};!m&&!this.isStopped();)try{y=await this.pull.handler(f,h),m=!0}catch(E){var w=le("RC_PULL",{checkpoint:f,errors:ja(E).map(F=>Oy(F)),direction:"pull"});this.subjects.error.next(w),await wb(this.collection,ye(this.retryTime))}if(this.isStopped())return{checkpoint:null,documents:[]};var I=$e(y);return I.documents=ym(this.collection,this.deletedField,I.documents),I.documents=await Promise.all(I.documents.map(E=>r(E))),I},masterWrite:async f=>{if(!this.push)return[];var h=!1;await No("preReplicationMasterWrite",{rows:f,collection:this.collection});var m=await Promise.all(f.map(async F=>(F.newDocumentState=await i(F.newDocumentState),F.newDocumentState===null?null:(F.assumedMasterState&&(F.assumedMasterState=await i(F.assumedMasterState)),this.deletedField!=="_deleted"&&(F.newDocumentState=gb(this.deletedField,F.newDocumentState),F.assumedMasterState&&(F.assumedMasterState=gb(this.deletedField,F.assumedMasterState))),F)))),y=m.filter(GI),w=null;for(y.length===0&&(h=!0,w=[]);!h&&!this.isStopped();)try{if(w=await this.push.handler(y),!Array.isArray(w))throw le("RC_PUSH_NO_AR",{pushRows:f,direction:"push",args:{result:w}});h=!0}catch(F){var I=F.rxdb?F:le("RC_PUSH",{pushRows:f,errors:ja(F).map(S=>Oy(S)),direction:"push"});this.subjects.error.next(I),await wb(this.collection,ye(this.retryTime))}if(this.isStopped())return[];await No("preReplicationMasterWriteDocumentsHandle",{result:w,collection:this.collection});var E=ym(this.collection,this.deletedField,ye(w));return E}}}),this.subs.push(this.internalReplicationState.events.error.subscribe(f=>{this.subjects.error.next(f)}),this.internalReplicationState.events.processed.down.subscribe(f=>this.subjects.received.next(f.document)),this.internalReplicationState.events.processed.up.subscribe(f=>{this.subjects.sent.next(f.newDocumentState)}),AE([this.internalReplicationState.events.active.down,this.internalReplicationState.events.active.up]).subscribe(([f,h])=>{var m=f||h;this.subjects.active.next(m)})),this.pull&&this.pull.stream$&&this.live&&this.subs.push(this.pull.stream$.subscribe({next:f=>{this.remoteEvents$.next(f)},error:f=>{this.subjects.error.next(f)}})),this.live||(await Tf(this.internalReplicationState),await ob(this.internalReplicationState),await this.cancel()),this.callOnStart()}},e.isStopped=function(){return!!this.subjects.canceled.getValue()},e.awaitInitialReplication=async function(){return await this.startPromise,Tf(ye(this.internalReplicationState))},e.awaitInSync=async function(){await this.startPromise,await Tf(ye(this.internalReplicationState));for(var r=2;r>0;)r--,await this.collection.database.requestIdlePromise(),await ob(ye(this.internalReplicationState));return!0},e.reSync=function(){this.remoteEvents$.next("RESYNC")},e.emitEvent=function(r){this.remoteEvents$.next(r)},e.cancel=async function(){if(this.isStopped())return Gn;var r=this.onCancel.map(i=>XI(i()));return this.internalReplicationState&&await pO(this.internalReplicationState),this.metaInstance&&r.push(ye(this.internalReplicationState).checkpointQueue.then(()=>ye(this.metaInstance).close())),this.subs.forEach(i=>i.unsubscribe()),this.subjects.canceled.next(!0),this.subjects.active.complete(),this.subjects.canceled.complete(),this.subjects.error.complete(),this.subjects.received.complete(),this.subjects.sent.complete(),Promise.all(r)},t}(),Br;(function(t){function e(U){return Array.isArray(U)?U.slice():t.isObject(U)?{...U}:U}t.clone=e;function n(U){let ee=r(U);return Array.isArray(U)&&(ee=ee.filter(ce=>ce!=="length")),ee}t.keys=n;function r(U){return U?Object.getOwnPropertyNames(U):[]}t.keysOfNonArray=r;function i(U,ee){return a(n(U),ce=>ee(U[ce],ce)),U}t.forOwn=i;function s(U,ee){return a(r(U),ce=>ee(U[ce],ce)),U}t.forOwnOfNonArray=s;function o(U,ee){return Array.isArray(U)?a(U,ee):s(U,ee),U}t.forEach=o;function a(U,ee){for(let ce=0,de=U.length;ce{const ot=U[Pe];ot instanceof Object&&(de=l(e(ot),de)),U[Pe]=de});return U}t.merge=l;function f(U){return Array.isArray(U)||(U=r(U)),U.length===0}t.isEmpty=f,t.isFunction=U=>typeof U=="function",t.isUndefined=U=>U===void 0||U==="undefined";function h(U){return U==null||U==="undefined"||U==="null"}t.isNullOrUndefined=h,t.isObject=U=>Object.prototype.toString.call(U)==="[object Object]",t.isEmptyObject=U=>h(U)||t.isObject(U)&&f(U);function m(){return typeof globalThis.ngDevMode>"u"||!!globalThis.ngDevMode}t.isDevMode=m;function y(U){return typeof U=="number"&&!isNaN(U)}t.isValidNumber=y;function w(){}t.noop=w;function I(U){return U}t.identity=I;function E(U,ee){const ce=[];for(let de=0;deU+ce*de)}t.range=F;function S(U){return t.isObject(U)?U._id:String(U)}t.getMaybeId=S;function _(U){return U.filter(I)}t.compact=_;function k(U){return f(U)?U:Array.isArray(U)?_(U):Object.entries(U).filter(([,ee])=>!h(ee)&&!f(ee)).reduce((ee,[ce,de])=>({...ee,[ce]:de}),{})}t.compactObject=k;function z(){var U;return(U=localStorage.debug)==null?void 0:U.includes("@ngx-odm/rxdb")}t.isDevModeForced=z;function W(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}t.isTestEnvironment=W,t.logger={log:function(){const U="#8d2089";return W()||!m()||!z()?w:console.log.bind(console,"%c[DEBUG::@ngx-odm/rxdb]",`background:${U};color:#fff;padding:2px;font-size:normal;`)}(),table:function(){return W()||!m()||!z()?w:console.table.bind(console)}()};function Q(U="Event"){return function(ce){return m()?ce.pipe(xy({next(de){t.logger.log(`observable:${U}:next:`,de)},error(de){t.logger.log(`observable:${U}:error:`,de.message)},complete(){t.logger.log(`observable:${U}:complete`)}})):ce}}t.debug=Q;function H(U=3,ee=1e4){return ce=>ce.pipe(oT({count:U,delay:(de,Pe)=>{const ot=Math.pow(2,Pe-1)*ee;return t.logger.log("replication:kinto:longpoll:retry",Pe,ot),SE(ot)}}))}t.retryWithBackoff=H,t.tapOnce=U=>ee=>Ay(()=>(U(),ee)),t.deferUntil=U=>ee=>Ay(()=>U.pipe(Al(()=>ee))),t.getDefaultQuery=()=>({selector:{_deleted:{$eq:!1}},skip:0,sort:[{id:"asc"}]});const X={properties:{id:{type:"string"},_deleted:{type:"boolean"}},primaryKey:"id",indexes:[["_deleted","id"]]};t.getDefaultQuery(),t.getDefaultPreparedQuery=()=>Jl(X,t.getDefaultQuery())})(Br||(Br={}));const FO=()=>typeof window=="object"&&"fetch"in window?window.fetch.bind(window):fetch;function _b(t){return t&&t instanceof LB}function bb(t=!1){return Mt(e=>(Array.isArray(e)?e:[...e.values()]).map(n=>{const r={...n._data};return t||(delete r._rev,delete r._attachments,delete r._deleted,delete r._meta),r}))}const{debug:$B,isEmptyObject:jB,isFunction:UB}=Br;function zB(t){return!jB(t)&&UB(t.run)}function Bu(t){return zB(t)?e=>new Ot(n=>e.subscribe(r=>t.run(()=>n.next(r)),r=>t.run(()=>n.error(r)),()=>t.run(()=>n.complete()))):e=>e}function tc(){return function(t,e,n){const r=n.value;return n.value=function(...i){return Ay(()=>this.initialized$.pipe(Al(()=>r.apply(this,i)),$B(`collection.${e}`)))},n}}function kt(){return function(t,e,n){const r=n.value;return n.value=async function(...i){return await cT(this.initialized$).catch(()=>{throw new Error(`Collection "${this.config.name}" was not initialized. Please check RxDB errors.`)}),r.apply(this,i)},n}}var Sb,Ib,Eb,Ob,kb,Db;const{getMaybeId:VB,logger:vm,debug:KB,noop:WB}=Br;class Je{get initialized$(){return this._init$.asObservable()}get collection(){return this._collection}get db(){return this.dbService.db}get dbOptions(){return this.dbService.dbOptions}get replicationState(){return this._replicationState}get queryParams$(){var e;return(e=this.config.options)!=null&&e.useQueryParams?this.initialized$.pipe(Al(()=>this.collection.queryParams.$)):im({})}constructor(e,n,r={},i=im(""),s=WB){this.config=e,this.dbService=n,this.ngZone=r,this.currentUrl$=i,this.updateQueryParamsFn=s,this._replicationState=null,this._init$=new RE,this.init(e)}destroy(){var e;(e=this.collection)==null||e.destroy()}setQueryParams(e){var n;(n=this.collection.queryParams)==null||n.set(e)}patchQueryParams(e){var n;(n=this.collection.queryParams)==null||n.patch(e)}async sync(){var e;if(_b(this.replicationState)){this.replicationState.reSync();return}if(typeof((e=this.config.options)==null?void 0:e.replicationStateFactory)=="function"){try{this._replicationState=this.config.options.replicationStateFactory(this.collection)}catch(n){vm.log("replicationState has error, ignore replication"),vm.log(n.message)}if(_b(this.replicationState))return this.replicationState.autoStart||this.replicationState.reSync(),Cy(window,"online").pipe(KB("online"),TE(()=>!this.replicationState.isStopped())).subscribe(()=>{this._replicationState.reSync()}),this.replicationState.startPromise}}async info(){return this.collection.getMetadata()}async import(e){const n=await this.collection.schema.hash,r={name:this.collection.name,schemaHash:n,docs:e};this.collection.importJSON(r)}async export(){return this.collection.exportJSON()}docs(e,n=!1){return(lT(e)?e:im(e)).pipe(Al(r=>this.collection.find(r).$),bb(n),Bu(this.ngZone),Pi(Ci))}docsByIds(e,n=!1){return this.collection.findByIds(e).$.pipe(bb(n),Bu(this.ngZone),Pi(Ci))}count(e){return this.collection.count(e).$.pipe(Bu(this.ngZone),Pi(Ci))}get(e,n=!1){return this.collection.findOne(e).$.pipe(Mt(r=>r?r.toMutableJSON(n):null),Bu(this.ngZone),Pi(Ci))}async insert(e){return this.collection.insert(e)}async insertBulk(e){return this.collection.bulkInsert(e)}async upsert(e){return this.collection.upsert(e)}async upsertBulk(e){return this.collection.bulkUpsert(e)}async set(e,n){return this.collection.findOne(e).update({$set:n})}async updateBulk(e,n){return this.collection.find(e).update({$set:n})}async remove(e){const n=VB(e);return this.collection.findOne(n).remove()}async removeBulk(e){return Array.isArray(e)?this.collection.bulkRemove(e):{success:[...(await this.collection.find(e).remove().catch(()=>new Map)).values()],error:[]}}async clear(){return this.collection.remove()}async getAttachments(e){const n=await this.collection.findOne(e).exec();if(!n)return null;const r=n.allAttachments().map(i=>i.getData());return Promise.all(r)}async getAttachmentById(e,n){const r=await this.collection.findOne(e).exec();if(!r)return null;const i=r.getAttachment(n);return i?i.getData():null}async putAttachment(e,n){const r=await this.collection.findOne(e).exec();r&&await r.putAttachment(n)}async removeAttachment(e,n){const r=await this.collection.findOne(e).exec();if(!r)return;const i=r.getAttachment(n);i&&await i.remove()}async addHook(e,n,r=!1){this.collection[e](n,r)}async getLocal(e,n){const r=await this.collection.getLocal(e);return r?n?r==null?void 0:r.get(n):r==null?void 0:r.toJSON().data:null}getLocal$(e,n){return this.collection.getLocal$(e).pipe(Mt(r=>r?n?r.get(n):r.toJSON().data:null),Bo(),Bu(this.ngZone))}async insertLocal(e,n){await this.collection.insertLocal(e,n)}async upsertLocal(e,n){await this.collection.upsertLocal(e,n)}async setLocal(e,n,r){var s,o;const i=await this.collection.getLocal(e);await this.collection.upsertLocal(e,{...((o=(s=i==null?void 0:i.toJSON)==null?void 0:s.call(i))==null?void 0:o.data)||{},[n]:r})}async removeLocal(e){const n=await this.collection.getLocal(e);await(n==null?void 0:n.remove())}async init(e){var i,s,o,a;const{name:n,options:r}=e;try{await this.dbService.initCollections({[n]:e}),this._collection=this.db.collections[n],r!=null&&r.useQueryParams&&this.collection.queryParamsInit(this.currentUrl$,this.updateQueryParamsFn),this._init$.next(!0),this._init$.complete()}catch(l){if(l.message.includes("DM5")||l.message.includes("DB6")&&((i=l.parameters.previousSchema)==null?void 0:i.version)===((s=l.parameters.schema)==null?void 0:s.version))vm.log("Reload the page to fix the issue. The database is in a state where it can not be used."),await bO(this.db.name,this.db.storage),(a=(o=window==null?void 0:window.location)==null?void 0:o.reload)==null||a.call(o);else throw this._init$.complete(),l}}}tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"sync",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"info",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"import",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"export",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Ot)],Je.prototype,"docs",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Array,Object]),re("design:returntype",Ot)],Je.prototype,"docsByIds",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Ot)],Je.prototype,"count",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Ot)],Je.prototype,"get",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"insert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"insertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"upsert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"upsertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"set",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Promise)],Je.prototype,"updateBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"remove",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"removeBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"clear",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"getAttachments",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"getAttachmentById",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"putAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"removeAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[typeof(Sb=typeof Hook<"u"&&Hook)=="function"?Sb:Object,Object,Object]),re("design:returntype",Promise)],Je.prototype,"addHook",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Ib=typeof K<"u"&&K)=="function"?Ib:Object]),re("design:returntype",Promise)],Je.prototype,"getLocal",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[String,typeof(Eb=typeof K<"u"&&K)=="function"?Eb:Object]),re("design:returntype",Ot)],Je.prototype,"getLocal$",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Ob=typeof L<"u"&&L)=="function"?Ob:Object]),re("design:returntype",Promise)],Je.prototype,"insertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(kb=typeof L<"u"&&L)=="function"?kb:Object]),re("design:returntype",Promise)],Je.prototype,"upsertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Db=typeof K<"u"&&K)=="function"?Db:Object,Object]),re("design:returntype",Promise)],Je.prototype,"setLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"removeLocal",null);var LO={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(yw,function(){var n=function(u,c){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,p){d.__proto__=p}||function(d,p){for(var v in p)Object.prototype.hasOwnProperty.call(p,v)&&(d[v]=p[v])})(u,c)},r=function(){return(r=Object.assign||function(u){for(var c,d=1,p=arguments.length;d"u"||s.Promise||(s.Promise=Promise);var f=Object.getPrototypeOf,h={}.hasOwnProperty;function m(u,c){return h.call(u,c)}function y(u,c){typeof c=="function"&&(c=c(f(u))),(typeof Reflect>"u"?o:Reflect.ownKeys)(c).forEach(function(d){I(u,d,c[d])})}var w=Object.defineProperty;function I(u,c,d,p){w(u,c,l(d&&m(d,"get")&&typeof d.get=="function"?{get:d.get,set:d.set,configurable:!0}:{value:d,configurable:!0,writable:!0},p))}function E(u){return{from:function(c){return u.prototype=Object.create(c.prototype),I(u.prototype,"constructor",u),{extend:y.bind(null,u.prototype)}}}}var F=Object.getOwnPropertyDescriptor,S=[].slice;function _(u,c,d){return S.call(u,c,d)}function k(u,c){return c(u)}function z(u){if(!u)throw new Error("Assertion Failed")}function W(u){s.setImmediate?setImmediate(u):setTimeout(u,0)}function Q(u,c){if(typeof c=="string"&&m(u,c))return u[c];if(!c)return u;if(typeof c!="string"){for(var d=[],p=0,v=c.length;p"u"?[]:function(){var u=Promise.resolve();if(typeof crypto>"u"||!crypto.subtle)return[u,f(u),u];var c=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[c,f(c),u]}(),mu=jr[0],ur=jr[1],jr=jr[2],ur=ur&&ur.then,yu=mu&&mu.constructor,Kh=!!jr,vu=function(u,c){gu.push([u,c]),pc&&(queueMicrotask(Dx),pc=!1)},Wh=!0,pc=!0,Js=[],mc=[],qh=hu,Zi={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:et,pgp:!1,env:{},finalize:et},fe=Zi,gu=[],Xs=0,yc=[];function se(u){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var c=this._PSD=fe;if(typeof u!="function"){if(u!==pu)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(this._state===!1&&Qh(this,this._value))}this._state=null,this._value=null,++c.ref,function d(p,v){try{v(function(g){if(p._state===null){if(g===p)throw new TypeError("A promise cannot be resolved with itself.");var b=p._lib&&qo();g&&typeof g.then=="function"?d(p,function(O,C){g instanceof se?g._then(O,C):g.then(O,C)}):(p._state=!0,p._value=g,z0(p)),b&&Ho()}},Qh.bind(null,p))}catch(g){Qh(p,g)}}(this,u)}var Hh={get:function(){var u=fe,c=_c;function d(p,v){var g=this,b=!u.global&&(u!==fe||c!==_c),O=b&&!ts(),C=new se(function(x,M){Yh(g,new U0(K0(p,u,b,O),K0(v,u,b,O),x,M,u))});return this._consoleTask&&(C._consoleTask=this._consoleTask),C}return d.prototype=pu,d},set:function(u){I(this,"then",u&&u.prototype===pu?Hh:{get:function(){return u},set:Hh.set})}};function U0(u,c,d,p,v){this.onFulfilled=typeof u=="function"?u:null,this.onRejected=typeof c=="function"?c:null,this.resolve=d,this.reject=p,this.psd=v}function Qh(u,c){var d,p;mc.push(c),u._state===null&&(d=u._lib&&qo(),c=qh(c),u._state=!1,u._value=c,p=u,Js.some(function(v){return v._value===p._value})||Js.push(p),z0(u),d&&Ho())}function z0(u){var c=u._listeners;u._listeners=[];for(var d=0,p=c.length;d.",W0="String expected.",Yo=[],Sc="__dbnames",Xh="readonly",Zh="readwrite";function to(u,c){return u?c?function(){return u.apply(this,arguments)&&c.apply(this,arguments)}:u:c}var q0={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Ic(u){return typeof u!="string"||/\./.test(u)?function(c){return c}:function(c){return c[u]===void 0&&u in c&&delete(c=Pe(c))[u],c}}function H0(){throw pe.Type()}function je(u,c){try{var d=Q0(u),p=Q0(c);if(d!==p)return d==="Array"?1:p==="Array"?-1:d==="binary"?1:p==="binary"?-1:d==="string"?1:p==="string"?-1:d==="Date"?1:p!=="Date"?NaN:-1;switch(d){case"number":case"Date":case"string":return cj+V&&$(j+A)})})}return $(0).then(function(){if(0=A})).length!==0?(M.forEach(function($){B.push(function(){var j=R,V=$._cfg.dbschema;Pc(D,j,T),Pc(D,V,T),R=D._dbSchema=V;var q=up(j,V);q.add.forEach(function(te){lp(T,te[0],te[1].primKey,te[1].indexes)}),q.change.forEach(function(te){if(te.recreate)throw new pe.Upgrade("Not yet support for changing primary key");var he=T.objectStore(te.name);te.add.forEach(function(me){return Ac(he,me)}),te.change.forEach(function(me){he.deleteIndex(me.name),Ac(he,me)}),te.del.forEach(function(me){return he.deleteIndex(me)})});var Y=$._cfg.contentUpgrade;if(Y&&$._cfg.version>A){Dc(D,T),P._memoizedTables={};var ne=X(V);q.del.forEach(function(te){ne[te]=j[te]}),ap(D,[D.Transaction.prototype]),xc(D,[D.Transaction.prototype],o(ne),ne),P.schema=ne;var J,ie=Re(Y);return ie&&Qo(),q=se.follow(function(){var te;(J=Y(P))&&ie&&(te=ts.bind(null,null),J.then(te,te))}),J&&typeof J.then=="function"?se.resolve(J):q.then(function(){return J})}}),B.push(function(j){var V,q,Y=$._cfg.dbschema;V=Y,q=j,[].slice.call(q.db.objectStoreNames).forEach(function(ne){return V[ne]==null&&q.db.deleteObjectStore(ne)}),ap(D,[D.Transaction.prototype]),xc(D,[D.Transaction.prototype],D._storeNames,D._dbSchema),P.schema=D._dbSchema}),B.push(function(j){D.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(D.idbdb.version/10)===$._cfg.version?(D.idbdb.deleteObjectStore("$meta"),delete D._dbSchema.$meta,D._storeNames=D._storeNames.filter(function(V){return V!=="$meta"})):j.objectStore("$meta").put($._cfg.version,"version"))})}),function $(){return B.length?se.resolve(B.shift()(P.idbtrans)).then($):se.resolve()}().then(function(){rw(R,T)})):se.resolve();var D,A,P,T,B,R}).catch(b)):(o(v).forEach(function(M){lp(d,M,v[M].primKey,v[M].indexes)}),Dc(u,d),void se.follow(function(){return u.on.populate.fire(g)}).catch(b));var C,x})}function jx(u,c){rw(u._dbSchema,c),c.db.version%10!=0||c.objectStoreNames.contains("$meta")||c.db.createObjectStore("$meta").add(Math.ceil(c.db.version/10-1),"version");var d=Cc(0,u.idbdb,c);Pc(u,u._dbSchema,c);for(var p=0,v=up(d,u._dbSchema).change;pMath.pow(2,62)?0:R.oldVersion,D=R<1,u.idbdb=B.result,g&&jx(u,M),$x(u,R/10,M,P))},P),B.onsuccess=vt(function(){M=null;var R,$,j,V,q,Y=u.idbdb=B.result,ne=_(Y.objectStoreNames);if(0"u"?se.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(A){function P(){return indexedDB.databases().finally(A)}C=setInterval(P,100),P()}).finally(function(){return clearInterval(C)}):Promise.resolve()).then(O)]).then(function(){return b(),c.onReadyBeingFired=[],se.resolve(dp(function(){return u.on.ready.fire(u.vip)})).then(function A(){if(0c.limit?A.length=c.limit:u.length===c.limit&&A.length=$.limit&&(!$.values||Y.req.values)&&Hx(Y.req.query.range,$.query.range)}),!1,j,V];case"count":return q=V.find(function(Y){return hw(Y.req.query.range,$.query.range)}),[q,!!q,j,V]}}(c,d,"query",g),M=x[0],D=x[1],A=x[2],P=x[3];return M&&D?M.obsSet=g.obsSet:(D=p.query(g).then(function(T){var B=T.result;if(M&&(M.res=B),b){for(var R=0,$=B.length;R<$;++R)Object.freeze(B[R]);Object.freeze(B)}else T.result=Pe(B);return T}).catch(function(T){return P&&M&&G(P,M),Promise.reject(T)}),M={obsSet:g.obsSet,promise:D,subscribers:new Set,type:"query",req:g,dirty:!1},P?P.push(M):(P=[M],(A=A||(no["idb://".concat(c,"/").concat(d)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}})).queries.query[g.query.index.name||""]=P)),Qx(M,P,O,C),M.promise.then(function(T){return{result:dw(T.result,g,A==null?void 0:A.optimisticOps,p,M,b)}})}})}})}};function Fc(u,c){return new Proxy(u,{get:function(d,p,v){return p==="db"?c:Reflect.get(d,p,v)}})}var yi=(Rt.prototype.version=function(u){if(isNaN(u)||u<.1)throw new pe.Type("Given version is not a positive number");if(u=Math.round(10*u)/10,this.idbdb||this._state.isBeingOpened)throw new pe.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,u);var c=this._versions,d=c.filter(function(p){return p._cfg.version===u})[0];return d||(d=new this.Version(u),c.push(d),c.sort(Lx),d.stores({}),this._state.autoSchema=!1,d)},Rt.prototype._whenReady=function(u){var c=this;return this.idbdb&&(this._state.openComplete||fe.letThrough||this._vip)?u():new se(function(d,p){if(c._state.openComplete)return p(new pe.DatabaseClosed(c._state.dbOpenError));if(!c._state.isBeingOpened){if(!c._state.autoOpen)return void p(new pe.DatabaseClosed);c.open().catch(et)}c._state.dbReadyPromise.then(d,p)}).then(u)},Rt.prototype.use=function(u){var c=u.stack,d=u.create,p=u.level,v=u.name;return v&&this.unuse({stack:c,name:v}),u=this._middlewares[c]||(this._middlewares[c]=[]),u.push({stack:c,create:d,level:p??10,name:v}),u.sort(function(g,b){return g.level-b.level}),this},Rt.prototype.unuse=function(u){var c=u.stack,d=u.name,p=u.create;return c&&this._middlewares[c]&&(this._middlewares[c]=this._middlewares[c].filter(function(v){return p?v.create!==p:!!d&&v.name!==d})),this},Rt.prototype.open=function(){var u=this;return Zs(Zi,function(){return zx(u)})},Rt.prototype._close=function(){var u=this._state,c=Yo.indexOf(this);if(0<=c&&Yo.splice(c,1),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}u.isBeingOpened||(u.dbReadyPromise=new se(function(d){u.dbReadyResolve=d}),u.openCanceller=new se(function(d,p){u.cancelOpen=p}))},Rt.prototype.close=function(d){var c=(d===void 0?{disableAutoOpen:!0}:d).disableAutoOpen,d=this._state;c?(d.isBeingOpened&&d.cancelOpen(new pe.DatabaseClosed),this._close(),d.autoOpen=!1,d.dbOpenError=new pe.DatabaseClosed):(this._close(),d.autoOpen=this._options.autoOpen||d.isBeingOpened,d.openComplete=!1,d.dbOpenError=null)},Rt.prototype.delete=function(u){var c=this;u===void 0&&(u={disableAutoOpen:!0});var d=0{var o=(async()=>{var a=$e(n);a.autoOpen=!1;var l=new Hy(i,a),f={[Od]:JB(r),[HB]:"++sequence, id",[Ab]:"id"};return l.version(1).stores(f),await l.open(),{dexieDb:l,dexieTable:l[Od],dexieAttachmentsTable:l[Ab],booleanIndexes:XB(r)}})();return Cb.set(i,s),Mf.set(s,0),o});return s}async function YB(t){var e=await t,n=Mf.get(t),r=n-1;r===0?(e.dexieDb.close(),Mf.delete(t)):Mf.set(t,r)}var Qy="__";function nc(t){var e=t.split(".");if(e.length>1)return e.map(r=>nc(r)).join(".");if(t.startsWith("|")){var n=t.substring(1);return Qy+n}else return t}function jO(t){var e=t.split(".");if(e.length>1)return e.map(r=>jO(r)).join(".");if(t.startsWith(Qy)){var n=t.substring(Qy.length);return"|"+n}else return t}function GB(t,e){return e&&(e=$e(e),e=Yy(e),t.forEach(n=>{var r=Ts(e,n),i=r?"1":"0";nE(e,n,i)}),e)}function UO(t,e){return e&&(e=$e(e),e=Gy(e),t.forEach(n=>{var r=Ts(e,n),i=r==="1";nE(e,n,i)}),e)}function Yy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Yy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{typeof r=="object"&&(r=Yy(r)),e[nc(n)]=r}),e}}function Gy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Gy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{(typeof r=="object"||Array.isArray(t))&&(r=Gy(r)),e[jO(n)]=r}),e}}function JB(t){var e=[],n=Fn(t.primaryKey);e.push([n]),e.push(["_deleted",n]),t.indexes&&t.indexes.forEach(s=>{var o=ja(s);e.push(o)}),e.push(["_meta.lwt",n]),e.push(["_meta.lwt"]),e=e.map(s=>s.map(o=>nc(o)));var r=e.map(s=>s.length===1?s[0]:"["+s.join("+")+"]");r=r.filter((s,o,a)=>a.indexOf(s)===o);var i=r.join(", ");return i}async function Pb(t,e){var n=await t,r=await n.dexieTable.bulkGet(e);return r.map(i=>UO(n.booleanIndexes,i))}function of(t,e){return t+"||"+e}function XB(t){var e=new Set,n=[];return t.indexes?(t.indexes.forEach(r=>{var i=ja(r);i.forEach(s=>{if(!e.has(s)){e.add(s);var o=zi(t,s);o.type==="boolean"&&n.push(s)}})}),n.push("_deleted"),AP(n)):n}function Rb(t){return t===li?-1/0:t}function Tb(t,e,n){if(t.includes(e)){var r=n===Ar||n===!0?"1":"0";return r}else return n}function zO(t,e,n){if(!n){if(typeof window>"u")throw new Error("IDBKeyRange missing");n=window.IDBKeyRange}var r=e.startKeys.map((o,a)=>{var l=e.index[a];return Tb(t,l,o)}).map(Rb),i=e.endKeys.map((o,a)=>{var l=e.index[a];return Tb(t,l,o)}).map(Rb),s=n.bound(r,i,!e.inclusiveStart,!e.inclusiveEnd);return s}async function Mb(t,e){var n=await t.internals,r=e.query,i=r.skip?r.skip:0,s=r.limit?r.limit:1/0,o=i+s,a=e.queryPlan,l=!1;a.selectorSatisfiedByIndex||(l=Oh(t.schema,e.query));var f=zO(n.booleanIndexes,a,n.dexieDb._options.IDBKeyRange),h=a.index,m=[];if(await n.dexieDb.transaction("r",n.dexieTable,async w=>{var I=w.idbtrans,E=I.objectStore(Od),F,S;S="["+h.map(k=>nc(k)).join("+")+"]",F=E.index(S);var _=F.openCursor(f);await new Promise(k=>{_.onsuccess=function(z){var W=z.target.result;if(W){var Q=UO(n.booleanIndexes,W.value);(!l||l(Q))&&m.push(Q),a.sortSatisfiedByIndex&&m.length===o?k():W.continue()}else k()}})}),!a.sortSatisfiedByIndex){var y=Fg(t.schema,e.query);m=m.sort(y)}return m=m.slice(i,o),{documents:m}}async function ZB(t,e){var n=await t.internals,r=e.queryPlan,i=r.index,s=zO(n.booleanIndexes,r,n.dexieDb._options.IDBKeyRange),o=-1;return await n.dexieDb.transaction("r",n.dexieTable,async a=>{var l=a.idbtrans,f=l.objectStore(Od),h,m;m="["+i.map(w=>nc(w)).join("+")+"]",h=f.index(m);var y=h.count(s);o=await new Promise((w,I)=>{y.onsuccess=function(){w(y.result)},y.onerror=E=>I(E)})}),o}var eF=Ft(),tF=function(){function t(n,r,i,s,o,a,l){this.changes$=new Kt,this.instanceId=eF++,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,this.primaryPath=Fn(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=async function(r,i){oo(this),r.forEach(h=>{if(!h.document._rev||h.previous&&!h.previous._rev)throw le("SNH",{args:{row:h}})});var s=await this.internals,o={success:[],error:[]},a=r.map(h=>h.document[this.primaryPath]),l;if(await s.dexieDb.transaction("rw",s.dexieTable,s.dexieAttachmentsTable,async()=>{var h=new Map,m=await Pb(this.internals,a);m.forEach(I=>{var E=I;return E&&h.set(E[this.primaryPath],E),E}),l=rO(this,this.primaryPath,h,r,i),o.error=l.errors;var y=[];l.bulkInsertDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),l.bulkUpdateDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),y=y.map(I=>GB(s.booleanIndexes,I)),y.length>0&&await s.dexieTable.bulkPut(y);var w=[];l.attachmentsAdd.forEach(I=>{w.push({id:of(I.documentId,I.attachmentId),data:I.attachmentData.data})}),l.attachmentsUpdate.forEach(I=>{w.push({id:of(I.documentId,I.attachmentId),data:I.attachmentData.data})}),await s.dexieAttachmentsTable.bulkPut(w),await s.dexieAttachmentsTable.bulkDelete(l.attachmentsRemove.map(I=>of(I.documentId,I.attachmentId)))}),l=ye(l),l.eventBulk.events.length>0){var f=ye(l.newestRow).document;l.eventBulk.checkpoint={id:f[this.primaryPath],lwt:f._meta.lwt},l.eventBulk.endTime=Ft(),this.changes$.next(l.eventBulk)}return o},e.findDocumentsById=async function(r,i){oo(this);var s=await this.internals,o=[];return await s.dexieDb.transaction("r",s.dexieTable,async()=>{var a=await Pb(this.internals,r);a.forEach(l=>{l&&(!l._deleted||i)&&o.push(l)})}),o},e.query=function(r){return oo(this),Mb(this,r)},e.count=async function(r){if(r.queryPlan.selectorSatisfiedByIndex){var i=await ZB(this,r);return{count:i,mode:"fast"}}else{var s=await Mb(this,r);return{count:s.documents.length,mode:"slow"}}},e.changeStream=function(){return oo(this),this.changes$.asObservable()},e.cleanup=async function(r){oo(this);var i=await this.internals;return await i.dexieDb.transaction("rw",i.dexieTable,async()=>{var s=Ft()-r,o=await i.dexieTable.where("_meta.lwt").below(s).toArray(),a=[];o.forEach(l=>{l._deleted==="1"&&a.push(l[this.primaryPath])}),await i.dexieTable.bulkDelete(a)}),!0},e.getAttachmentData=async function(r,i,s){oo(this);var o=await this.internals,a=of(r,i);return await o.dexieDb.transaction("r",o.dexieAttachmentsTable,async()=>{var l=await o.dexieAttachmentsTable.get(a);if(l)return l.data;throw new Error("attachment missing documentId: "+r+" attachmentId: "+i)})},e.remove=async function(){oo(this);var r=await this.internals;return await r.dexieTable.clear(),this.close()},e.close=function(){return this.closed?this.closed:(this.closed=(async()=>{this.changes$.complete(),await YB(this.internals)})(),this.closed)},e.conflictResultionTasks=function(){return new Kt},e.resolveConflictResultionTask=async function(r){},t}();async function nF(t,e,n){var r=QB(e.databaseName,e.collectionName,n,e.schema),i=new tF(t,e.databaseName,e.collectionName,e.schema,r,e.options,n);return await MB($O,e,i),Promise.resolve(i)}function oo(t){if(t.closed)throw new Error("RxStorageInstanceDexie is closed "+t.databaseName+"-"+t.collectionName)}var rF=function(){function t(n){this.name=$O,this.rxdbVersion=vg,this.settings=n}var e=t.prototype;return e.createStorageInstance=function(r){return iO(r),nF(this,r,this.settings)},t}();function iF(t={}){var e=new rF(t);return e}function sF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>=0?(s=o,i=o-1):r=o+1}return s}function oF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>0?(s=o,i=o-1):r=o+1}return s}function aF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<0?(s=o,r=o+1):i=o-1}return s}function uF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<=0?(s=o,r=o+1):i=o-1}return s}function lF(t,e,n,r,i){for(;r<=i;){var s=r+i>>>1,o=t[s],a=n!==void 0?n(o,e):o-e;if(a===0)return s;a<=0?r=s+1:i=s-1}return-1}function rc(t,e,n,r,i,s){return typeof n=="function"?s(t,e,n,r===void 0?0:r|0,i===void 0?t.length-1:i|0):s(t,e,void 0,n===void 0?0:n|0,r===void 0?t.length-1:r|0)}function cF(t,e,n,r,i){return rc(t,e,n,r,i,sF)}function Nb(t,e,n,r,i){return rc(t,e,n,r,i,oF)}function fF(t,e,n,r,i){return rc(t,e,n,r,i,aF)}function dF(t,e,n,r,i){return rc(t,e,n,r,i,uF)}function VO(t,e,n,r,i){return rc(t,e,n,r,i,lF)}function KO(t,e,n){return[t,e,n].join("--memory--")}function af(t){if(t.internals.removed)throw new Error("removed")}function uf(t,e){return t+"||"+e}function hF(t,e){return t.indexString{var o=s.docsWithIndex,a=s.getIndexableString(r),l=VO(o,{indexString:a},rl);o.splice(l,1)})}function rl(t,e){var n=t.indexString,r=e.indexString;return nja(i)):[];r.push(["_deleted","_meta.lwt",n]),r.forEach(i=>{t.byIndex[Jy(i)]={index:i,docsWithIndex:[],getIndexableString:BB(e,i)}})}function Jy(t){return t.join(",")}var Fb=new Set,yF=function(){function t(n,r,i,s,o,a,l){this.closed=!1,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,Fb.add(this),this.primaryPath=Fn(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=function(r,i){this.ensurePersistence(),af(this);for(var s=this.internals,o=this.internals.documents,a=this.primaryPath,l=rO(this,a,o,r,i),f=l.errors,h=new Array(l.bulkInsertDocs.length),m=l.bulkInsertDocs,y=0;y{this.internals.ensurePersistenceIdlePromise=void 0,this.ensurePersistence()})),l.eventBulk.events.length>0){var k=ye(l.newestRow).document;l.eventBulk.checkpoint={id:k[a],lwt:k._meta.lwt},l.eventBulk.endTime=Ft(),dd.then(()=>{s.changes$.next(l.eventBulk)})}var z=Promise.resolve({success:h,error:f});return z},e.ensurePersistence=function(){if(this.internals.ensurePersistenceTask){var r=this.internals,i=this.internals.documents,s=this.primaryPath,o=this.internals.ensurePersistenceTask;this.internals.ensurePersistenceTask=void 0;for(var a=Object.values(this.internals.byIndex),l=o.bulkInsertDocs,f=0;f{_.set(uf(k.documentId,k.attachmentId),{writeData:k.attachmentData,digest:k.digest})}),this.schema.attachments&&(o.attachmentsUpdate.forEach(k=>{_.set(uf(k.documentId,k.attachmentId),{writeData:k.attachmentData,digest:k.digest})}),o.attachmentsRemove.forEach(k=>{_.delete(uf(k.documentId,k.attachmentId))}))}}},e.findDocumentsById=function(r,i){this.ensurePersistence();var s=this.internals.documents,o=[];if(s.size===0)return Promise.resolve(o);for(var a=0;az)break;var X=H.doc;(!f||f(X))&&W.push(X),W.length>=l&&!m&&(Q=!0),k++}if(m){var U=Fg(this.schema,r.query);W=W.sort(U)}return W=W.slice(o,l),Promise.resolve({documents:W})},e.count=async function(r){this.ensurePersistence();var i=await this.query(r);return{count:i.documents.length,mode:"fast"}},e.cleanup=function(r){this.ensurePersistence();for(var i=Ft()-r,s=["_deleted","_meta.lwt",this.primaryPath],o=Jy(s),a=this.internals.byIndex[o].docsWithIndex,l=yb(this.schema,s,[!0,0,""]),f=Nb(a,{indexString:l},rl),h=!1;!h;){var m=a[f];!m||m.doc._meta.lwt>i?h=!0:(pF(this.primaryPath,this.schema,this.internals,m.doc),f++)}return dd},e.getAttachmentData=function(r,i,s){this.ensurePersistence(),af(this);var o=uf(r,i),a=this.internals.attachments.get(o);if(!s||!a||a.digest!==s)throw new Error("attachment does not exist: "+o);return Promise.resolve(a.writeData.data)},e.changeStream=function(){return af(this),this.internals.changes$.asObservable()},e.remove=async function(){if(this.closed)throw new Error("closed");this.ensurePersistence(),af(this),this.internals.removed=!0,this.storage.collectionStates.delete(KO(this.databaseName,this.collectionName,this.schema.version)),await this.close()},e.close=function(){return Fb.delete(this),this.ensurePersistence(),this.closed||(this.closed=!0,this.internals.refCount=this.internals.refCount-1),un},e.conflictResultionTasks=function(){return this.internals.conflictResultionTasks$.asObservable()},e.resolveConflictResultionTask=function(r){return un},t}();function vF(t,e,n){var r=KO(e.databaseName,e.collectionName,e.schema.version),i=t.collectionStates.get(r);if(!i)i={id:iu(5),schema:e.schema,removed:!1,refCount:1,documents:new Map,attachments:e.schema.attachments?new Map:void 0,byIndex:{},conflictResultionTasks$:new Kt,changes$:new Kt},mF(i,e.schema),t.collectionStates.set(r,i);else{if(e.devMode&&!Va(i.schema,e.schema))throw new Error("storage was already created with a different schema");i.refCount=i.refCount+1}var s=new yF(t,e.databaseName,e.collectionName,e.schema,i,e.options,n);return Promise.resolve(s)}var gF=new Map;function Lb(t={}){var e={name:"memory",rxdbVersion:vg,collectionStates:gF,createStorageInstance(n){iO(n);var r=Object.assign({},t,n.options);return vF(this,n,r)}};return e}function wF(t){let{name:e,options:n,storage:r,...i}=t;if(!r)switch(n.storageType){case"dexie":r=iF(n.storageOptions);break;case"memory":r=Lb(n.storageOptions);break;default:r=Lb(n.storageOptions);break}return{name:e,storage:r,options:n,...i}}const _F=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,$b=t=>{if(typeof t!="string")throw new TypeError("Invalid argument expected string");const e=t.match(_F);if(!e)throw new Error(`Invalid argument not valid semver ('${t}' received)`);return e.shift(),e},jb=t=>t==="*"||t==="x"||t==="X",Ub=t=>{const e=parseInt(t,10);return isNaN(e)?t:e},bF=(t,e)=>typeof t!=typeof e?[String(t),String(e)]:[t,e],SF=(t,e)=>{if(jb(t)||jb(e))return 0;const[n,r]=bF(Ub(t),Ub(e));return n>r?1:n{for(let n=0;n{const n=$b(t),r=$b(e),i=n.pop(),s=r.pop(),o=zb(n,r);return o!==0?o:i&&s?zb(i.split("."),s.split(".")):i||s?i?-1:1:0},EF=(t,e,n)=>{OF(n);const r=IF(t,e);return WO[n].includes(r)},WO={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Vb=Object.keys(WO),OF=t=>{if(typeof t!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof t}`);if(Vb.indexOf(t)===-1)throw new Error(`Invalid operator, expected one of ${Vb.join("|")}`)},{logger:Qr,getDefaultPreparedQuery:kF}=Br,Kb="storage-token|storageToken",Yg=async t=>{let e;try{const r=await FO()(t);if(r.ok)e=await r.json();else throw new Error(`Failed to fetch schema from "${t}", status: ${r.status}`)}catch{throw new Error(`Failed to fetch schema from "${t}"`)}return e},DF=async t=>{var e;try{const n={};for(const r in t){const i=t[r];!i.schema&&((e=i.options)!=null&&e.schemaUrl)&&(i.schema=await Yg(i.options.schemaUrl)),n[i.name]=i}return n}catch(n){throw new Error(n.message)}},xF=async(t,e)=>{let n;const i=await FO()(t);if(i.ok)n=await i.json();else throw new Error(`Failed to fetch db dump from "${t}", status: ${i.status}`);if(!e||!Object.keys(e).length)throw new Error("collections must be initialized before importing");for(const s of n.collections){const o=e[s.name];if(o)s.schemaHash=o.schema._hash;else throw new Error("no such collection as provided in dump")}return n},AF=async(t,e,n)=>{var s,o;let r={};if(t.name!=="dexie")return;const i=(s=await e.internals)==null?void 0:s.dexieTable;if(r=(o=await i.get(Kb))==null?void 0:o.data,!(r!=null&&r.rxdbVersion)||EF(n,r.rxdbVersion,">"))try{await i.update(Kb,{data:{...r,rxdbVersion:n}}),Qr.log("prepare-plugin: migrated internal storage to",n)}catch{throw new Error("prepare-plugin: unable to migrate internal storage")}},CF=async({database:t,creator:e})=>{var o;const n=await SO(t);Qr.log("prepare-plugin: hook:createRxDatabase:after");const{storage:r,internalStore:i,rxdbVersion:s}=t;if(await AF(r,i,s),!(!((o=e.options)!=null&&o.dumpPath)||!n))try{const a=await xF(e.options.dumpPath,t.collections);await t.importJSON(a),Qr.log(`prepare-plugin: imported dump for db "${t.name}"`)}catch(a){Qr.log("prepare-plugin: imported dump error",a)}},PF=async t=>{if(typeof t=="string"){const e=await Yg(t);if(!e)throw new Error(`Failed to fetch schema from "${t}"`);t=e}},RF=async({collection:t,creator:e})=>{var l,f,h;Qr.log("prepare-plugin: hook:createRxCollection:before");const n=await t.getMetadata();Qr.log("prepare-plugin: hook:createRxCollection:before",n);const r=((l=e.options)==null?void 0:l.initialDocs)||[],i=await a();if(!r.length)return;if(i||!n.isFirstTimeInstantiated){if(!((f=e.options)!=null&&f.recreate)||(h=e.options)!=null&&h.replication)return;Qr.log(`prepare-plugin: collection "${t.name}" already has ${i} docs (including _deleted), but recreate option is set`)}const s=await t.schema.hash,o={name:t.name,schemaHash:s,docs:r};try{const{success:m,error:y}=await t.importJSON(o),w=await a();Qr.log(`prepare-plugin: imported ${m.length} docs for collection "${t.name}", errors count ${y.length}, current docs count ${w}`),Qr.table(m)}catch(m){Qr.log("prepare-plugin: imported dump error",m)}return;async function a(){const{count:m}=await t.storageInstance.count(kF()).catch(()=>({count:0}));return m}},TF={name:"prepare-plugin",rxdb:!0,prototypes:{RxDatabase:t=>{Object.assign(t,{fetchSchema:Yg})},RxCollection:t=>{Object.assign(t,{getMetadata:async function(){const n=await SO(this.database),r=await zg(this.database.internalStore),{id:i,data:s,_meta:o,_rev:a}=r.filter(l=>l.data.name===this.name).at(0)||{};return{id:i||this.name,databaseName:this.database.name,collectionName:(s==null?void 0:s.name)||this.name,storageName:this.storageInstance.originalStorageInstance.storage.name,last_modified:o!=null&&o.lwt?Math.floor(o==null?void 0:o.lwt):Date.now(),rev:a?Number(a==null?void 0:a.at(0)):1,isFirstTimeInstantiated:n}}})}},hooks:{createRxDatabase:{after:CF},preCreateRxSchema:{before:PF},createRxCollection:{after:RF}}};function qO(t,e){const n={};if(Array.isArray(e))for(const r of e){const i=Object.getOwnPropertyDescriptor(t,r);i!=null&&i.enumerable&&Object.defineProperty(n,r,i)}else for(const r of Reflect.ownKeys(t)){const i=Object.getOwnPropertyDescriptor(t,r);if(i.enumerable){const s=t[r];e(r,s,t)&&Object.defineProperty(n,r,i)}}return n}const HO="%[a-f0-9]{2}",Wb=new RegExp("("+HO+")|([^%]+?)","gi"),qb=new RegExp("("+HO+")+","gi");function Xy(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(t.length===1)return t;e=e||1;const n=t.slice(0,e),r=t.slice(e);return Array.prototype.concat.call([],Xy(n),Xy(r))}function MF(t){try{return decodeURIComponent(t)}catch{let e=t.match(Wb)||[];for(let n=1;nt==null,LF=t=>encodeURIComponent(t).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),Zy=Symbol("encodeFragmentIdentifier");function $F(t){switch(t.arrayFormat){case"index":return e=>(n,r)=>{const i=n.length;return r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[",i,"]"].join("")]:[...n,[Nt(e,t),"[",Nt(i,t),"]=",Nt(r,t)].join("")]};case"bracket":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[]"].join("")]:[...n,[Nt(e,t),"[]=",Nt(r,t)].join("")];case"colon-list-separator":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),":list="].join("")]:[...n,[Nt(e,t),":list=",Nt(r,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e=t.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||t.skipNull&&i===null||t.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Nt(n,t),e,Nt(i,t)].join("")]:[[r,Nt(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,Nt(e,t)]:[...n,[Nt(e,t),"=",Nt(r,t)].join("")]}}function jF(t){let e;switch(t.arrayFormat){case"index":return(n,r,i)=>{if(e=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!e){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][e[1]]=r};case"bracket":return(n,r,i)=>{if(e=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(e=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const s=typeof r=="string"&&r.includes(t.arrayFormatSeparator),o=typeof r=="string"&&!s&&Oi(r,t).includes(t.arrayFormatSeparator);r=o?Oi(r,t):r;const a=s||o?r.split(t.arrayFormatSeparator).map(l=>Oi(l,t)):r===null?r:Oi(r,t);i[n]=a};case"bracket-separator":return(n,r,i)=>{const s=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!s){i[n]=r&&Oi(r,t);return}const o=r===null?[]:r.split(t.arrayFormatSeparator).map(a=>Oi(a,t));if(i[n]===void 0){i[n]=o;return}i[n]=[...i[n],...o]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function YO(t){if(typeof t!="string"||t.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Nt(t,e){return e.encode?e.strict?LF(t):encodeURIComponent(t):t}function Oi(t,e){return e.decode?BF(t):t}function GO(t){return Array.isArray(t)?t.sort():typeof t=="object"?GO(Object.keys(t)).sort((e,n)=>Number(e)-Number(n)).map(e=>t[e]):t}function JO(t){const e=t.indexOf("#");return e!==-1&&(t=t.slice(0,e)),t}function UF(t){let e="";const n=t.indexOf("#");return n!==-1&&(e=t.slice(n)),e}function Hb(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&typeof t=="string"&&t.trim()!==""?t=Number(t):e.parseBooleans&&t!==null&&(t.toLowerCase()==="true"||t.toLowerCase()==="false")&&(t=t.toLowerCase()==="true"),t}function Gg(t){t=JO(t);const e=t.indexOf("?");return e===-1?"":t.slice(e+1)}function Jg(t,e){e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e},YO(e.arrayFormatSeparator);const n=jF(e),r=Object.create(null);if(typeof t!="string"||(t=t.trim().replace(/^[?#&]/,""),!t))return r;for(const i of t.split("&")){if(i==="")continue;const s=e.decode?i.replace(/\+/g," "):i;let[o,a]=QO(s,"=");o===void 0&&(o=s),a=a===void 0?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?a:Oi(a,e),n(Oi(o,e),a,r)}for(const[i,s]of Object.entries(r))if(typeof s=="object"&&s!==null)for(const[o,a]of Object.entries(s))s[o]=Hb(a,e);else r[i]=Hb(s,e);return e.sort===!1?r:(e.sort===!0?Object.keys(r).sort():Object.keys(r).sort(e.sort)).reduce((i,s)=>{const o=r[s];return o&&typeof o=="object"&&!Array.isArray(o)?i[s]=GO(o):i[s]=o,i},Object.create(null))}function XO(t,e){if(!t)return"";e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e},YO(e.arrayFormatSeparator);const n=o=>e.skipNull&&FF(t[o])||e.skipEmptyString&&t[o]==="",r=$F(e),i={};for(const[o,a]of Object.entries(t))n(o)||(i[o]=a);const s=Object.keys(i);return e.sort!==!1&&s.sort(e.sort),s.map(o=>{const a=t[o];return a===void 0?"":a===null?Nt(o,e):Array.isArray(a)?a.length===0&&e.arrayFormat==="bracket-separator"?Nt(o,e)+"[]":a.reduce(r(o),[]).join("&"):Nt(o,e)+"="+Nt(a,e)}).filter(o=>o.length>0).join("&")}function ZO(t,e){var i;e={decode:!0,...e};let[n,r]=QO(t,"#");return n===void 0&&(n=t),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:Jg(Gg(t),e),...e&&e.parseFragmentIdentifier&&r?{fragmentIdentifier:Oi(r,e)}:{}}}function ek(t,e){e={encode:!0,strict:!0,[Zy]:!0,...e};const n=JO(t.url).split("?")[0]||"",r=Gg(t.url),i={...Jg(r,{sort:!1}),...t.query};let s=XO(i,e);s&&(s=`?${s}`);let o=UF(t.url);if(t.fragmentIdentifier){const a=new URL(n);a.hash=t.fragmentIdentifier,o=e[Zy]?a.hash:`#${t.fragmentIdentifier}`}return`${n}${s}${o}`}function tk(t,e,n){n={parseFragmentIdentifier:!0,[Zy]:!1,...n};const{url:r,query:i,fragmentIdentifier:s}=ZO(t,n);return ek({url:r,query:qO(i,e),fragmentIdentifier:s},n)}function zF(t,e,n){const r=Array.isArray(e)?i=>!e.includes(i):(i,s)=>!e(i,s);return tk(t,r,n)}const gm=Object.freeze(Object.defineProperty({__proto__:null,exclude:zF,extract:Gg,parse:Jg,parseUrl:ZO,pick:tk,stringify:XO,stringifyUrl:ek},Symbol.toStringTag,{value:"Module"})),{keys:Qb,isEmpty:Yb,isNullOrUndefined:ev}=Br,VF=({selector:t,sort:e,limit:n,skip:r},i)=>{const s=Qb(i.jsonSchema.properties);return Yb(t)||(t=qO(t,o=>!o.startsWith("$")&&!o.includes(".")&&s.includes(o))),Yb(e)||(e=e==null?void 0:e.filter(o=>s.includes(Qb(o)[0]))),(ev(n)||isNaN(n))&&(n=void 0),(ev(r)||isNaN(r))&&(r=void 0),{selector:t,sort:e,limit:n,skip:r}},Gb=(t,e)=>{t=gm.extract(t);const n=gm.pick(t,["selector","sort","limit","skip"]),r=gm.parse(n,{parseNumbers:!0,parseBooleans:!0}),{selector:i,sort:s,limit:o,skip:a}=r,l=i?JSON.parse(i):void 0,f=s?JSON.parse(s):void 0;return VF({selector:l,sort:f,limit:o,skip:a},e)},lf=t=>ev(t)?"":JSON.stringify(t),{logger:Jb,compactObject:KF}=Br,WF={name:"query-params-plugin",rxdb:!0,prototypes:{RxCollection:t=>{const e=new Gr({});let n=!1,r,i=!1,s="",o=()=>Promise.resolve(!1);function a(h=CE,m){var y;n=!!((y=this.options)!=null&&y.useQueryParams),r=this.schema,!(!n||i)&&(o=m,h.pipe(Bo(),xy(w=>{s=w}),Mt(w=>Gb(w,r)),EE(w=>(Jb.log("Error in parsing url to mango query",w),e)),xy(w=>{Jb.log("queryParams",w)}),TE(()=>!this.destroyed)).subscribe(e),i=!0)}function l(h){if(!n)return;const{selector:m,sort:y,limit:w,skip:I}=h,E={limit:w,skip:I};m&&(E.selector=lf(h.selector)),y&&(E.sort=lf(h.sort)),o(E)}function f(h){if(!n)return;const m=Gb(s,r),y={selector:lf(h.selector||m.selector),sort:lf(h.sort||m.sort),limit:h.limit||m.limit,skip:h.skip||m.skip};o(KF(y))}Object.assign(t,{queryParams:{$:e.asObservable(),get:()=>e.getValue(),set:l,patch:f}},{queryParamsInit:a})}},hooks:{createRxCollection:{}}};var nk={minimumDeletedTime:1e3*60*60*24*31,minimumCollectionAge:1e3*60,runEach:1e3*60*5,awaitReplicationsInSync:!0,waitForLeadership:!0},wm=dd;async function qF(t){var e=t.database,n=Object.assign({},nk,e.cleanupPolicy?e.cleanupPolicy:{});await t.promiseWait(n.minimumCollectionAge),!t.destroyed&&(n.waitForLeadership&&await e.waitForLeadership(),!t.destroyed&&(await rk(t,n),await HF(t,n)))}async function rk(t,e){for(var n=t.database,r=t.storageInstance,i=!1;!i&&!t.destroyed;){if(e.awaitReplicationsInSync){var s=BO.get(t);s&&await Promise.all(s.map(o=>{if(!o.isStopped())return o.awaitInSync()}))}if(await n.requestIdlePromise(),t.destroyed)return;wm=wm.then(()=>t.destroyed?!0:r.cleanup(e.minimumDeletedTime)),i=await wm}}async function HF(t,e){for(;!t.destroyed;){if(await t.promiseWait(e.runEach),t.destroyed)return;await rk(t,e)}}var QF={name:"cleanup",rxdb:!0,prototypes:{RxCollection:t=>{t.cleanup=async function(e){var n=Object.assign({},nk,this.database.cleanupPolicy?this.database.cleanupPolicy:{});typeof e>"u"&&(e=n.minimumDeletedTime);for(var r=!1;!r&&!this.destroyed;)r=await this.storageInstance.cleanup(e)}}},hooks:{createRxCollection:{after:t=>{qF(t.collection)}}}};function YF(t){var e={name:this.name,instanceToken:this.token,collections:[]},n=Object.keys(this.collections).filter(r=>!t||t.includes(r)).filter(r=>r.charAt(0)!=="_").map(r=>this.collections[r]);return Promise.all(n.map(r=>r.exportJSON())).then(r=>(e.collections=r,e))}var GF=function(t){var e=t.collections.filter(n=>!this.collections[n.name]).map(n=>n.name);if(e.length>0)throw le("JD1",{missingCollections:e});return Promise.all(t.collections.map(n=>this.collections[n.name].importJSON(n)))},JF=async function(){var t={name:this.name,schemaHash:await this.schema.hash,docs:[]},e=na("find",tl(),this);return tO(e).then(n=>(t.docs=n.map(r=>(r=$e(r),delete r._rev,delete r._attachments,r)),t))};async function XF(t){if(t.schemaHash!==await this.schema.hash)throw le("JD2",{schemaHash:t.schemaHash,own:this.schema.hash});var e=t.docs;return this.storageInstance.bulkWrite(e.map(n=>{var r=Object.assign({},n,{_meta:{lwt:Ft()},_rev:Rn(),_attachments:{},_deleted:!1});return{document:r}}),"json-dump-import")}var ZF={name:"json-dump",rxdb:!0,prototypes:{RxDatabase:t=>{t.exportJSON=YF,t.importJSON=GF},RxCollection:t=>{t.exportJSON=JF,t.importJSON=XF}},overwritable:{}},eL=aO(),tL=function(t){gg(e,t);function e(n,r,i){var s;return s=t.call(this,null,r)||this,s.id=n,s.parent=i,s}return e}(eL),il={get isLocal(){return!0},get allAttachments$(){throw le("LD1",{document:this})},get primaryPath(){return"id"},get primary(){return this.id},get $(){var t=this,e=Mo(tv,this.parent);return t.parent.$.pipe(lt(n=>n.documentId===this.primary),lt(n=>n.isLocal),Mt(n=>kg(n)),Hl(e.docCache.getLatestDocumentData(this.primary)),Bo((n,r)=>n._rev===r._rev),Mt(n=>e.docCache.getCachedRxDocument(n)),Pi(Ci))},get $$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.$,t.getLatest()._data)},get deleted$$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.deleted$,t.getLatest().deleted)},getLatest(){var t=Mo(tv,this.parent),e=t.docCache.getLatestDocumentData(this.primary);return t.docCache.getCachedRxDocument(e)},get(t){if(t="data."+t,!!this._data){if(typeof t!="string")throw el("LD2",{objPath:t});var e=Ts(this._data,t);return e=it.deepFreezeWhenDevMode(e),e}},get$(t){if(t="data."+t,it.isDevMode()){if(t.includes(".item."))throw le("LD3",{objPath:t});if(t===this.primaryPath)throw le("LD4")}return this.$.pipe(Mt(e=>e._data),Mt(e=>Ts(e,t)),Bo())},get$$(t){var e=_m(this),n=e.getReactivityFactory();return n.fromObservable(this.get$(t),this.getLatest().get(t))},async incrementalModify(t){var e=await sl(this.parent);return e.incrementalWriteQueue.addWrite(this._data,async n=>(n.data=await t(n.data,this),n)).then(n=>e.docCache.getCachedRxDocument(n))},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t){var e=await sl(this.parent),n=this._data;return t.id=this.id,e.storageInstance.bulkWrite([{previous:n,document:t}],"local-document-save-data").then(r=>{var i=r.success[0];if(!i)throw r.error[0];t=$e(t),t._rev=i._rev})},async remove(){var t=await sl(this.parent),e={id:this._data.id,data:{},_deleted:!0,_meta:Ks(),_rev:Rn(),_attachments:{}};return Tl(t.storageInstance,{previous:this._data,document:e},"local-document-remove").then(n=>t.docCache.getCachedRxDocument(n))}},Xb=!1,nL=()=>{if(!Xb){Xb=!0;var t=kh,e=Object.getOwnPropertyNames(t);e.forEach(r=>{var i=Object.getOwnPropertyDescriptor(il,r);if(!i){var s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(il,r,s)}});var n=r=>()=>{throw le("LD6",{functionName:r})};["populate","update","putAttachment","getAttachment","allAttachments"].forEach(r=>il[r]=n(r))}};function rL(t,e){nL();var n=new tL(t.id,t,e);return Object.setPrototypeOf(n,il),n.prototype=il,n}function _m(t){var e=t.parent;return _N(e)?e:e.database}var kd=new WeakMap,tv=new WeakMap;function Zb(t){var e=t.database?t.database:t,n=t.database?t.name:"",r=(async()=>{var i=await ik(e.token,e.storage,e.name,n,e.instanceCreationOptions,e.multiInstance);i=$g(e,i,sk);var s=new JE("id",t.$.pipe(lt(h=>h.isLocal)),h=>rL(h,t)),o=new oO(i,"id",()=>{},()=>{}),a=await e.storageToken,l=i.changeStream().subscribe(h=>{var m={id:h.id,internal:!1,collectionName:t.database?t.name:void 0,storageToken:a,events:h.events.map(y=>nO(!0,y,t.database?t:void 0)),databaseToken:e.token,checkpoint:h.checkpoint,context:h.context,endTime:h.endTime,startTime:h.startTime};e.$emit(m)});t._subs.push(l);var f={database:e,parent:t,storageInstance:i,docCache:s,incrementalWriteQueue:o};return tv.set(t,f),f})();kd.set(t,r)}function sl(t){var e=kd.get(t);if(!e){var n=t.database?t.database:t,r=t.database?t.name:"";throw le("LD8",{database:n.name,collection:r})}return e}function ik(t,e,n,r,i,s){return e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:iL(r),schema:sk,options:i,multiInstance:s,devMode:it.isDevMode()})}function e1(t){var e=kd.get(t);if(e)return kd.delete(t),e.then(n=>n.storageInstance.close())}async function t1(t,e,n){var r=iu(10),i=await ik(r,t,e,n,{},!1);await i.remove()}function iL(t){return"plugin-local-documents-"+t}var sk=bh({title:"RxLocalDocument",version:0,primaryKey:"id",type:"object",properties:{id:{type:"string",maxLength:128},data:{type:"object",additionalProperties:!0}},required:["id","data"]});async function n1(t,e){var n=await sl(this),r={id:t,data:e,_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}};return Tl(n.storageInstance,{document:r},"local-document-insert").then(i=>n.docCache.getCachedRxDocument(i))}function r1(t,e){return this.getLocal(t).then(n=>{if(n)return n.incrementalModify(()=>e);var r=this.insertLocal(t,e);return r})}async function i1(t){var e=await sl(this),n=e.docCache,r=n.getLatestDocumentDataIfExists(t);return r?Promise.resolve(n.getCachedRxDocument(r)):Xl(e.storageInstance,t).then(i=>i?e.docCache.getCachedRxDocument(i):null)}function s1(t){return this.$.pipe(Hl(null),Nr(async e=>{if(e)return{changeEvent:e};var n=await this.getLocal(t);return{doc:n}}),Nr(async e=>{if(e.changeEvent){var n=e.changeEvent;if(!n.isLocal||n.documentId!==t)return{use:!1};var r=await this.getLocal(t);return{use:!0,doc:r}}else return{use:!0,doc:e.doc}}),lt(e=>e.use),Mt(e=>e.doc))}var ok={name:"local-documents",rxdb:!0,prototypes:{RxCollection:t=>{t.insertLocal=n1,t.upsertLocal=r1,t.getLocal=i1,t.getLocal$=s1},RxDatabase:t=>{t.insertLocal=n1,t.upsertLocal=r1,t.getLocal=i1,t.getLocal$=s1}},hooks:{createRxDatabase:{before:t=>{t.creator.localDocuments&&Zb(t.database)}},createRxCollection:{before:t=>{t.creator.localDocuments&&Zb(t.collection)}},preDestroyRxDatabase:{after:t=>e1(t)},postDestroyRxCollection:{after:t=>e1(t)},postRemoveRxDatabase:{after:t=>t1(t.storage,t.databaseName,"")},postRemoveRxCollection:{after:t=>t1(t.storage,t.databaseName,t.collectionName)}},overwritable:{}};async function ak(t){var e=fR(t.collection.schema.jsonSchema).map(r=>t.collection.name+"-"+r),n=await t.database.internalStore.findDocumentsById(e.map(r=>Ha(r,ko)),!1);if(n.length>1)throw new Error("more the one old collection meta found");return n[0]}function sL(t,e,n){var r=$e(n._attachments),i=Pn(n),s=i._meta;delete i._meta,i._attachments=r;for(var o=e+1,a=Promise.resolve(i),l=function(){var f=o;a=a.then(h=>oL(t,f,h)),o++};o<=t.schema.version;)l();return a.then(f=>f===null?mg:(f._meta=s,f))}function oL(t,e,n){if(n===null)return mg;var r=t.migrationStrategies[e](n,t),i=XI(r);return i}async function uk(t){if(t.collection.schema.version===0)return Gn;var e=await ak(t);return!!e}var aL=200,lk=new WeakMap;function uL(t){var e=ck(t.database),n=e.getValue().slice(0);n.push(t),e.next(n)}function ck(t){return Tr(lk,t,()=>new Gr([]))}function lL(t){var e=lk.get(t);e&&e.complete()}var cL=function(){function t(n,r,i=[n.name,"v",n.schema.version].join("-")){this.started=!1,this.updateStatusHandlers=[],this.updateStatusQueue=dd,this.collection=n,this.migrationStrategies=r,this.statusDocKey=i,this.database=n.database,this.oldCollectionMeta=ak(this),this.mustMigrate=uk(this),this.statusDocId=Ha(this.statusDocKey,Pf),uL(this),this.$=V2(this.database.internalStore,this.statusDocId).pipe(lt(s=>!!s),Mt(s=>ye(s).data),Pi(Ci))}var e=t.prototype;return e.getStatus=function(){return Cs(this.$)},e.startMigration=async function(r=aL){var i=await this.mustMigrate;if(i){if(this.started)throw le("DM1");this.started=!0;var s=void 0;if(this.database.multiInstance){s=new xh(["rx-migration-state",this.database.name,this.collection.name,this.collection.schema.version].join("|"));var o=RB(s);await o.awaitLeadership()}var a=await this.oldCollectionMeta,l=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:this.collection.name,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:a.data.schema,password:this.database.password,devMode:it.isDevMode()}),f=await this.getConnectedStorageInstances(),h=await this.countAllDoucments([l].concat(f.map(m=>m.oldStorage)));await this.updateStatus(m=>(m.count.total=h,m));try{await Promise.all(f.map(async m=>{await cO(this.collection,m.newStorage.collectionName,m.newStorage.schema),await this.migrateStorage(m.oldStorage,m.newStorage,r),await m.newStorage.close()})),await this.migrateStorage(l,this.collection.storageInstance.originalStorageInstance,r)}catch(m){await l.close(),await this.updateStatus(y=>(y.status="ERROR",y.error=Oy(m),y));return}await Tl(this.database.internalStore,{previous:a,document:Object.assign({},a,{_deleted:!0})},"rx-migration-remove-collection-meta"),await this.updateStatus(m=>(m.status="DONE",m)),s&&await s.close()}},e.updateStatus=function(r){return this.updateStatusHandlers.push(r),this.updateStatusQueue=this.updateStatusQueue.then(async()=>{if(this.updateStatusHandlers.length!==0){var i=this.updateStatusHandlers;for(this.updateStatusHandlers=[];;){var s=await Xl(this.database.internalStore,this.statusDocId),o=Pn(s);s||(o={id:this.statusDocId,key:this.statusDocKey,context:Pf,data:{collectionName:this.collection.name,status:"RUNNING",count:{total:0,handled:0,percent:0}},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}});var a=ye(o).data;for(var l of i)a=l(a);if(a.count.percent=Math.round(a.count.handled/a.count.total*100),o&&s&&Va(o.data,s.data))break;try{await Tl(this.database.internalStore,{previous:s,document:ye(o)},Pf);break}catch(f){if(!_h(f))throw f}}}}),this.updateStatusQueue},e.migrateStorage=async function(r,i,s){var o=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:"rx-migration-state-meta-"+this.collection.name+"-"+this.collection.schema.version,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:Vy(r.schema,vd(r.schema)),password:this.database.password,devMode:it.isDevMode()}),a=fN(i,bd,this.database.token,!0),l=hO({keepMeta:!0,identifier:["rx-migration-state",this.collection.name,r.schema.version,this.collection.schema.version].join("-"),replicationHandler:{masterChangesSince(){return Promise.resolve({checkpoint:null,documents:[]})},masterWrite:async h=>{h=await Promise.all(h.map(async y=>{var w=y.newDocumentState;if(i.schema.title===Rf&&(w=y.newDocumentState.docData,y.newDocumentState.isCheckpoint==="1"))return{assumedMasterState:void 0,newDocumentState:y.newDocumentState};var I=await sL(this.collection,r.schema.version,w),E={assumedMasterState:void 0,newDocumentState:i.schema.title===Rf?Object.assign({},y.newDocumentState,{docData:I}):I};return E})),h=h.filter(y=>!!y.newDocumentState);var m=await a.masterWrite(h);return m},masterChangeStream$:new Kt().asObservable()},forkInstance:r,metaInstance:o,pushBatchSize:s,pullBatchSize:0,conflictHandler:bd,hashFunction:this.database.hashFunction}),f=!1;if(l.events.error.subscribe(h=>f=h),l.events.processed.up.subscribe(()=>{this.updateStatus(h=>(h.count.handled=h.count.handled+1,h))}),await Tf(l),await pO(l),await this.updateStatusQueue,f)throw await o.close(),f;await Promise.all([r.remove(),o.remove()])},e.countAllDoucments=async function(r){var i=0;return await Promise.all(r.map(async s=>{var o=Jl(s.schema,Rl(s.schema,{selector:{}})),a=await s.count(o);i+=a.count})),i},e.getConnectedStorageInstances=async function(){var r=await this.oldCollectionMeta,i=[];return await Promise.all(await Promise.all(r.data.connectedStorages.map(async s=>{if(s.schema.title!==Rf)throw new Error("unknown migration handling for schema");var o=Vy(Pn(this.collection.schema.jsonSchema),vd(s.schema));o.version=this.collection.schema.version;var[a,l]=await Promise.all([this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:s.schema,password:this.database.password,collectionName:s.collectionName}),this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:o,password:this.database.password,collectionName:s.collectionName})]);i.push({oldStorage:a,newStorage:l})}))),i},e.migratePromise=async function(r){this.startMigration(r);var i=await this.mustMigrate;if(!i)return{status:"DONE",collectionName:this.collection.name,count:{handled:0,percent:0,total:0}};var s=await Promise.race([Cs(this.$.pipe(lt(o=>o.status==="DONE"))),Cs(this.$.pipe(lt(o=>o.status==="ERROR")))]);if(s.status==="ERROR")throw le("DM4",{collection:this.collection.name,error:s.error});return s},t}(),fL=new WeakMap,dL={name:"migration-schema",rxdb:!0,init(){gi(ok)},hooks:{preDestroyRxDatabase:{after:lL}},prototypes:{RxDatabase:t=>{t.migrationStates=function(){return ck(this).pipe(Pi(Ci))}},RxCollection:t=>{t.getMigrationState=function(){return Tr(fL,this,()=>new cL(this.asRxCollection,this.migrationStrategies))},t.migrationNeeded=function(){return this.schema.version===0?Gn:uk(this.getMigrationState())}}}};const Xg=(t,e)=>{switch(t){case"deep":return Py(e);case"copy":return Ry(e)?new Date(e):Lt(e)?[...e]:wt(e)?Object.assign({},e):e;default:return e}},hL=/^[a-z]+[a-zA-Z0-9]*$/;function fk(t){if(!t.includes(".$"))return[{parent:t,selector:t},[]];const e=t.indexOf(".$"),n=t.indexOf("]"),r=t.substring(0,e),i=t.substring(e+3,n);Yt(i===""||hL.test(i),"The filter must begin with a lowercase letter and contain only alphanumeric characters.");const s=t.substring(n+2),[o,a]=s?fk(s):[];return[{selector:t,parent:r,child:i||"$",next:o},[i,...a||[]].filter(Boolean)]}const $n=(t,e,n,r,i)=>{const{parent:s,child:o,next:a}=e;if(!o){let f=!1;return Pl(t,s,(m,y)=>f=!!r(m,y)||f,i),f}const l=lu(t,s);return Lt(l)?l.map((f,h)=>n[o]&&!n[o].test({[o]:f})?!1:a?$n(f,a,n,r,i):r(l,h)).some(Boolean):!1};function or(t,e,n,r){const i=[];for(const[s,o]of Object.entries(t)){const[a,l]=fk(s);if(!l.length)r(o,a,{})&&i.push(a.parent);else{const f={};e.forEach(m=>{Object.keys(m).forEach(y=>{l.forEach(w=>{(y===w||y.startsWith(w+"."))&&(f[w]=f[w]||{},Object.assign(f[w],{[y]:m[y]}))})})});const h={};for(const[m,y]of Object.entries(f))h[m]=new qs(y,n.queryOptions);r(o,a,h)&&i.push(a.parent)}}return i}const pL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&Xn(i,"$each")&&Object.assign(a,i),$n(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]);return Ng([h,a.$each]).length===a.$each.length?!1:(l[f]=Xg(r.cloneMode,IM(h.concat(a.$each))),!0)},{buildGraph:!0})}),mL=new Set(["and","or","xor"]),yL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a=Object.keys(i);return Yt(a.length===1&&mL.has(a[0]),`Invalid bit operator '${a[0]}'. Must be one of 'and', 'or', or 'xor'.`),$n(t,s,o,(l,f)=>{let h=l[f];const m=i[a[0]];if(h!==void 0&&!(Hn(h)&&Hn(m)))return!1;switch(h=h||0,a[0]){case"and":l[f]=h&m;break;case"or":l[f]=h|m;break;case"xor":l[f]=h^m;break}return l[f]!==h},{buildGraph:!0})}),vL=(t,e,n=[],r={})=>{const i=Date.now();return or(e,n,r,(s,o,a)=>$n(t,o,a,(l,f)=>(l[f]=i,!0),{buildGraph:!0}))},gL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{if(!s.child){const a=lu(t,s.parent);Yt(a===void 0||Hn(a),"cannot apply $inc to a value of non-numeric type")}return $n(t,s,o,(a,l)=>(a[l]=(a[l]||(a[l]=0))+i,!0),{buildGraph:!0})}),wL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>a[l]!==void 0&&Mn(a[l],i)>-1?!1:(a[l]=i,!0),{buildGraph:!0})),_L=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>a[l]!==void 0&&Mn(a[l],i)<1?!1:(a[l]=i,!0),{buildGraph:!0})),bL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>{const f=a[l];return a[l]=a[l]===void 0?0:a[l]*i,a[l]!==f},{buildGraph:!0})),SL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>{const f=a[l];return Yt(Lt(f),`path '${s.selector}' contains an element of non-array type.`),f.length?(i===-1?f.splice(0,1):f.pop(),!0):!1})),dk=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a=!wt(i)||Object.keys(i).some(Ko),l=new qs(a?{k:i}:i,r.queryOptions),f=a?h=>l.test({k:h}):h=>l.test(h);return $n(t,s,o,(h,m)=>{const y=h[m],w=new Array;return y.map(E=>{const F=f(E);return F||w.push(E),F}).some(Boolean)?(h[m]=w,!0):!1})}),IL=(t,e,n=[],r={})=>{const i={};return Object.entries(e).forEach(([s,o])=>{i[s]={$in:o}}),dk(t,i,n,r)},EL=Object.freeze(["$each","$slice","$sort","$position"]),OL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&EL.some(l=>Xn(i,l))&&Object.assign(a,i),$n(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]),m=h.slice(0,a.$slice||h.length),y=h.length,w=Hn(a.$position)?a.$position:h.length;if(h.splice(w,0,...Xg(r.cloneMode,a.$each)),a.$sort){const I=wt(a.$sort)?Object.keys(a.$sort||{}).pop():"",E=I?a.$sort[I]:a.$sort,F=I?S=>lu(S,I):S=>S;h.sort((S,_)=>E*Mn(F(S),F(_)))}return Hn(a.$slice)&&(a.$slice<0?h.splice(0,h.length+a.$slice):h.splice(a.$slice)),y!=h.length||!Wi(m,h)},{descendArray:!0,buildGraph:!0})}),hk=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>Wi(a[l],i)?!1:(a[l]=Xg(r.cloneMode,i),!0),{buildGraph:!0})),kL=(t,e,n=[],r={})=>{const i=[],s=or(e,n,r,(o,a,l)=>$n(t,a,l,(f,h)=>Xn(f,h)?(i.push(...hk(t,{[o]:f[h]},n,r)),delete f[h],!0):!1));return Array.from(new Set(s.concat(i)))},DL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>Xn(a,l)?(Lt(a)?a[l]=null:delete a[l],!0):!1)),o1=Object.freeze(Object.defineProperty({__proto__:null,$addToSet:pL,$bit:yL,$currentDate:vL,$inc:gL,$max:wL,$min:_L,$mul:bL,$pop:SL,$pull:dk,$pullAll:IL,$push:OL,$rename:kL,$set:hk,$unset:DL},Symbol.toStringTag,{value:"Module"}));function xL(t){return(e,n,r=[],i={},s={})=>{const o=Object.assign({cloneMode:"copy"},t,s);Object.assign(o,{queryOptions:Bg(Object.assign({useStrictMode:!1},o==null?void 0:o.queryOptions))}),r=r||[],i=i||{};const a=Object.entries(n);Yt(a.length===1,"Update expression must contain only one operator.");const[l,f]=a[0];Yt(Xn(o1,l),`Update operator '${l}' is not supported.`);const h=o1[l];return Object.keys(i).length&&!new qs(i,o.queryOptions).test(e)?[]:h(e,f,r,o)}}var bm;function pk(t,e){if(!bm){var n=xL({cloneMode:"none"});bm=(r,i)=>{var s=Pn(r);return n(s,i),s}}return bm(t,e)}function AL(t){return this.incrementalModify(e=>{var n=pk(e,t);return n})}function CL(t){var e=this._data,n=pk(e,t);return this._saveData(n,e)}function PL(t){return this.exec().then(e=>e?Array.isArray(e)?Promise.all(e.map(n=>n.update(t))).then(()=>e):e.update(t).then(()=>e):null)}var RL={name:"update",rxdb:!0,prototypes:{RxDocument:t=>{t.update=CL,t.incrementalUpdate=AL},RxQuery:t=>{t.update=PL}}};const{logger:TL}=Br;async function ML(t=[]){try{gi(ok),gi(ZF),gi(dL),gi(RL),gi(QF),gi(TF),gi(WF);for(const e of t)gi(e);TL.log("rxdb plugins loaded")}catch(e){throw new Error(e.message??e)}}const{logger:ea}=Br;class NL{get db(){return this.dbInstance}get dbOptions(){return this.options}get collections(){return this.db.collections}async destroyDb(){try{await this.db.remove(),await this.db.destroy(),this.dbInstance=null,ea.log("database destroy")}catch{ea.log("database destroy error")}}async initDb(e){var n,r;if(!this.dbInstance)try{if(await ML((n=e.options)==null?void 0:n.plugins),this.dbInstance=await wN(e),this.options=e,ea.log(`created database "${this.db.name}" with config "${JSON.stringify(e)}"`),(r=e==null?void 0:e.options)!=null&&r.schemas){const i=await this.initCollections(e.options.schemas);ea.log(`created ${Object.keys(i).length} collections bulk: ${Object.keys(i)}`)}}catch(i){throw ea.log("Error initializing the database:",i),i}}async initCollections(e){try{const n=await DF(e);return await this.db.addCollections(n)}catch(n){throw ea.log("Error initializing collection(s)",n),n}}}var mk={exports:{}},Xe={};/** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Gt=typeof Symbol=="function"&&Symbol.for,Zg=Gt?Symbol.for("react.element"):60103,e0=Gt?Symbol.for("react.portal"):60106,Ch=Gt?Symbol.for("react.fragment"):60107,Ah=Gt?Symbol.for("react.strict_mode"):60108,Ph=Gt?Symbol.for("react.profiler"):60114,Rh=Gt?Symbol.for("react.provider"):60109,Th=Gt?Symbol.for("react.context"):60110,t0=Gt?Symbol.for("react.async_mode"):60111,Mh=Gt?Symbol.for("react.concurrent_mode"):60111,Nh=Gt?Symbol.for("react.forward_ref"):60112,Bh=Gt?Symbol.for("react.suspense"):60113,VL=Gt?Symbol.for("react.suspense_list"):60120,Fh=Gt?Symbol.for("react.memo"):60115,Lh=Gt?Symbol.for("react.lazy"):60116,KL=Gt?Symbol.for("react.block"):60121,WL=Gt?Symbol.for("react.fundamental"):60117,qL=Gt?Symbol.for("react.responder"):60118,HL=Gt?Symbol.for("react.scope"):60119;function ar(t){if(typeof t=="object"&&t!==null){var e=t.$$typeof;switch(e){case Zg:switch(t=t.type,t){case t0:case Mh:case Ch:case Ph:case Ah:case Bh:return t;default:switch(t=t&&t.$$typeof,t){case Th:case Nh:case Lh:case Fh:case Rh:return t;default:return e}}case e0:return e}}}function vk(t){return ar(t)===Mh}Xe.AsyncMode=t0;Xe.ConcurrentMode=Mh;Xe.ContextConsumer=Th;Xe.ContextProvider=Rh;Xe.Element=Zg;Xe.ForwardRef=Nh;Xe.Fragment=Ch;Xe.Lazy=Lh;Xe.Memo=Fh;Xe.Portal=e0;Xe.Profiler=Ph;Xe.StrictMode=Ah;Xe.Suspense=Bh;Xe.isAsyncMode=function(t){return vk(t)||ar(t)===t0};Xe.isConcurrentMode=vk;Xe.isContextConsumer=function(t){return ar(t)===Th};Xe.isContextProvider=function(t){return ar(t)===Rh};Xe.isElement=function(t){return typeof t=="object"&&t!==null&&t.$$typeof===Zg};Xe.isForwardRef=function(t){return ar(t)===Nh};Xe.isFragment=function(t){return ar(t)===Ch};Xe.isLazy=function(t){return ar(t)===Lh};Xe.isMemo=function(t){return ar(t)===Fh};Xe.isPortal=function(t){return ar(t)===e0};Xe.isProfiler=function(t){return ar(t)===Ph};Xe.isStrictMode=function(t){return ar(t)===Ah};Xe.isSuspense=function(t){return ar(t)===Bh};Xe.isValidElementType=function(t){return typeof t=="string"||typeof t=="function"||t===Ch||t===Mh||t===Ph||t===Ah||t===Bh||t===VL||typeof t=="object"&&t!==null&&(t.$$typeof===Lh||t.$$typeof===Fh||t.$$typeof===Rh||t.$$typeof===Th||t.$$typeof===Nh||t.$$typeof===WL||t.$$typeof===qL||t.$$typeof===HL||t.$$typeof===KL)};Xe.typeOf=ar;yk.exports=Xe;var QL=yk.exports,n0=QL,YL={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},GL={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},JL={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},gk={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},r0={};r0[n0.ForwardRef]=JL;r0[n0.Memo]=gk;function u1(t){return n0.isMemo(t)?gk:r0[t.$$typeof]||YL}var XL=Object.defineProperty,ZL=Object.getOwnPropertyNames,l1=Object.getOwnPropertySymbols,e3=Object.getOwnPropertyDescriptor,t3=Object.getPrototypeOf,c1=Object.prototype;function wk(t,e,n){if(typeof e!="string"){if(c1){var r=t3(e);r&&r!==c1&&wk(t,r,n)}var i=ZL(e);l1&&(i=i.concat(l1(e)));for(var s=u1(t),o=u1(e),a=0;aDd.length&&Dd.push(t)}function nv(t,e,n,r){var i=typeof t;(i==="undefined"||i==="boolean")&&(t=null);var s=!1;if(t===null)s=!0;else switch(i){case"string":case"number":s=!0;break;case"object":switch(t.$$typeof){case sc:case l3:s=!0}}if(s)return n(r,t,e===""?"."+Sm(t,0):e),1;if(s=0,e=e===""?".":e+":",Array.isArray(t))for(var o=0;oO3.decode(t),k3=new TextEncoder,l0=t=>k3.encode(t),[k4,D3]=(()=>{const t=()=>{throw new Error("BigInt is not available in this environment")};function e(){throw t()}return e.asIntN=()=>{throw t()},e.asUintN=()=>{throw t()},typeof BigInt<"u"?[BigInt,!0]:[e,!1]})(),[ac,D4]=(()=>{const t=()=>{throw new Error("BigInt64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigInt64Array<"u"?[BigInt64Array,!0]:[e,!1]})(),[uc,x4]=(()=>{const t=()=>{throw new Error("BigUint64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigUint64Array<"u"?[BigUint64Array,!0]:[e,!1]})(),x3=t=>typeof t=="number",Pk=t=>typeof t=="boolean",Ut=t=>typeof t=="function",Nn=t=>t!=null&&Object(t)===t,Ms=t=>Nn(t)&&Ut(t.then),lc=t=>Nn(t)&&Ut(t[Symbol.iterator]),fu=t=>Nn(t)&&Ut(t[Symbol.asyncIterator]),ov=t=>Nn(t)&&Nn(t.schema),Rk=t=>Nn(t)&&"done"in t&&"value"in t,Tk=t=>Nn(t)&&Ut(t.stat)&&x3(t.fd),Mk=t=>Nn(t)&&c0(t.body),$h=t=>"_getDOMStream"in t&&"_getNodeStream"in t,C3=t=>Nn(t)&&Ut(t.abort)&&Ut(t.getWriter)&&!$h(t),c0=t=>Nn(t)&&Ut(t.cancel)&&Ut(t.getReader)&&!$h(t),A3=t=>Nn(t)&&Ut(t.end)&&Ut(t.write)&&Pk(t.writable)&&!$h(t),Nk=t=>Nn(t)&&Ut(t.read)&&Ut(t.pipe)&&Pk(t.readable)&&!$h(t),P3=t=>Nn(t)&&Ut(t.clear)&&Ut(t.bytes)&&Ut(t.position)&&Ut(t.setPosition)&&Ut(t.capacity)&&Ut(t.getBufferIdentifier)&&Ut(t.createLong),f0=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function R3(t){const e=t[0]?[t[0]]:[];let n,r,i,s;for(let o,a,l=0,f=0,h=t.length;++lh+p.byteLength,0);let i,s,o,a=0,l=-1;const f=Math.min(e||Number.POSITIVE_INFINITY,r);for(const h=n.length;++lrt(Int32Array,t),Ue=t=>rt(Uint8Array,t),av=t=>(t.next(),t);function*T3(t,e){const n=function*(i){yield i},r=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof f0?n(e):lc(e)?e:n(e);return yield*av(function*(i){let s=null;do s=i.next(yield rt(t,s));while(!s.done)}(r[Symbol.iterator]())),new t}const M3=t=>T3(Uint8Array,t);function Bk(t,e){return kr(this,arguments,function*(){if(Ms(e))return yield ge(yield ge(yield*Df(Ds(Bk(t,yield ge(e))))));const r=function(o){return kr(this,arguments,function*(){yield yield ge(yield ge(o))})},i=function(o){return kr(this,arguments,function*(){yield ge(yield*Df(Ds(av(function*(a){let l=null;do l=a.next(yield l==null?void 0:l.value);while(!l.done)}(o[Symbol.iterator]())))))})},s=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof f0?r(e):lc(e)?i(e):fu(e)?e:r(e);return yield ge(yield*Df(Ds(av(function(o){return kr(this,arguments,function*(){let a=null;do a=yield ge(o.next(yield yield ge(rt(t,a))));while(!a.done)})}(s[Symbol.asyncIterator]()))))),yield ge(new t)})}const N3=t=>Bk(Uint8Array,t);function d0(t,e,n){if(t!==0){n=n.slice(0,e+1);for(let r=-1;++r<=e;)n[r]+=t}return n}function B3(t,e){let n=0;const r=t.length;if(r!==e.length)return!1;if(r>0)do if(t[n]!==e[n])return!1;while(++n(t.next(),t);function*F3(t){let e,n=!1,r=[],i,s,o,a=0;function l(){return s==="peek"?fi(r,o)[0]:([i,r,a]=fi(r,o),i)}({cmd:s,size:o}=yield null);const f=M3(t)[Symbol.iterator]();try{do if({done:e,value:i}=Number.isNaN(o-a)?f.next():f.next(o-a),!e&&i.byteLength>0&&(r.push(i),a+=i.byteLength),e||o<=a)do({cmd:s,size:o}=yield l());while(o0&&(i.push(s),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a0&&(i.push(Ue(s)),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return ve(this,void 0,void 0,function*(){const{reader:n,source:r}=this;n&&(yield n.cancel(e).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(e){return ve(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const n=yield this.reader.read();return!n.done&&(n.value=Ue(n)),n})}}const Im=(t,e)=>{const n=i=>r([e,i]);let r;return[e,n,new Promise(i=>(r=i)&&t.once(e,n))]};function U3(t){return kr(this,arguments,function*(){const n=[];let r="error",i=!1,s=null,o,a,l=0,f=[],h;function p(){return o==="peek"?fi(f,a)[0]:([h,f,l]=fi(f,a),h)}if({cmd:o,size:a}=yield yield ge(null),t.isTTY)return yield yield ge(new Uint8Array(0)),yield ge(null);try{n[0]=Im(t,"end"),n[1]=Im(t,"error");do{if(n[2]=Im(t,"readable"),[r,s]=yield ge(Promise.race(n.map(w=>w[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-l)?(h=Ue(t.read(a-l)),h.byteLength0&&(f.push(h),l+=h.byteLength)),i||a<=l)do({cmd:o,size:a}=yield yield ge(p()));while(a{for(const[_,b]of w)t.off(_,b);try{const _=t.destroy;_&&_.call(t,I),I=void 0}catch(_){I=_||I}finally{I!=null?$(I):O()}})}})}var Qn;(function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"})(Qn||(Qn={}));var er;(function(t){t[t.Sparse=0]="Sparse",t[t.Dense=1]="Dense"})(er||(er={}));var An;(function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"})(An||(An={}));var qi;(function(t){t[t.DAY=0]="DAY",t[t.MILLISECOND=1]="MILLISECOND"})(qi||(qi={}));var ze;(function(t){t[t.SECOND=0]="SECOND",t[t.MILLISECOND=1]="MILLISECOND",t[t.MICROSECOND=2]="MICROSECOND",t[t.NANOSECOND=3]="NANOSECOND"})(ze||(ze={}));var Ns;(function(t){t[t.YEAR_MONTH=0]="YEAR_MONTH",t[t.DAY_TIME=1]="DAY_TIME",t[t.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(Ns||(Ns={}));var Ve;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var N;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"})(N||(N={}));var _i;(function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"})(_i||(_i={}));const z3=void 0;function Nl(t){if(t===null)return"null";if(t===z3)return"undefined";switch(typeof t){case"number":return`${t}`;case"bigint":return`${t}`;case"string":return`"${t}"`}return typeof t[Symbol.toPrimitive]=="function"?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?t instanceof ac||t instanceof uc?`[${[...t].map(e=>Nl(e))}]`:`[${t}]`:ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t,(e,n)=>typeof n=="bigint"?`${n}`:n)}const V3=Symbol.for("isArrowBigNum");function Lr(t,...e){return e.length===0?Object.setPrototypeOf(rt(this.TypedArray,t),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(t,...e),this.constructor.prototype)}Lr.prototype[V3]=!0;Lr.prototype.toJSON=function(){return`"${xo(this)}"`};Lr.prototype.valueOf=function(){return Fk(this)};Lr.prototype.toString=function(){return xo(this)};Lr.prototype[Symbol.toPrimitive]=function(t="default"){switch(t){case"number":return Fk(this);case"string":return xo(this);case"default":return uv(this)}return xo(this)};function xa(...t){return Lr.apply(this,t)}function Ca(...t){return Lr.apply(this,t)}function Bl(...t){return Lr.apply(this,t)}Object.setPrototypeOf(xa.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(Ca.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Bl.prototype,Object.create(Uint32Array.prototype));Object.assign(xa.prototype,Lr.prototype,{constructor:xa,signed:!0,TypedArray:Int32Array,BigIntArray:ac});Object.assign(Ca.prototype,Lr.prototype,{constructor:Ca,signed:!1,TypedArray:Uint32Array,BigIntArray:uc});Object.assign(Bl.prototype,Lr.prototype,{constructor:Bl,signed:!0,TypedArray:Uint32Array,BigIntArray:uc});function Fk(t){const{buffer:e,byteOffset:n,length:r,signed:i}=t,s=new uc(e,n,r),o=i&&s[s.length-1]&BigInt(1)<t.byteLength===8?new t.BigIntArray(t.buffer,t.byteOffset,1)[0]:Em(t),xo=t=>t.byteLength===8?`${new t.BigIntArray(t.buffer,t.byteOffset,1)[0]}`:Em(t)):(xo=Em,uv=xo);function Em(t){let e="";const n=new Uint32Array(2);let r=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2);const i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer);let s=-1;const o=r.length-1;do{for(n[0]=r[s=0];s(t.children=null,t.ArrayType=Array,t[Symbol.toStringTag]="DataType"))(we.prototype);let Bs=class extends we{toString(){return"Null"}get typeId(){return N.Null}};$k=Symbol.toStringTag;Bs[$k]=(t=>t[Symbol.toStringTag]="Null")(Bs.prototype);class Fs extends we{constructor(e,n){super(),this.isSigned=e,this.bitWidth=n}get typeId(){return N.Int}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?ac:uc}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}jk=Symbol.toStringTag;Fs[jk]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(Fs.prototype);class Fl extends Fs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Fl.prototype,"ArrayType",{value:Int32Array});class Ll extends we{constructor(e){super(),this.precision=e}get typeId(){return N.Float}get ArrayType(){switch(this.precision){case An.HALF:return Uint16Array;case An.SINGLE:return Float32Array;case An.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}Uk=Symbol.toStringTag;Ll[Uk]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(Ll.prototype);let xd=class extends we{constructor(){super()}get typeId(){return N.Binary}toString(){return"Binary"}};zk=Symbol.toStringTag;xd[zk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(xd.prototype);let Cd=class extends we{constructor(){super()}get typeId(){return N.Utf8}toString(){return"Utf8"}};Vk=Symbol.toStringTag;Cd[Vk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Cd.prototype);let Ad=class extends we{constructor(){super()}get typeId(){return N.Bool}toString(){return"Bool"}};Kk=Symbol.toStringTag;Ad[Kk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(Ad.prototype);let Pd=class extends we{constructor(e,n,r=128){super(),this.scale=e,this.precision=n,this.bitWidth=r}get typeId(){return N.Decimal}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};Wk=Symbol.toStringTag;Pd[Wk]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(Pd.prototype);class Rd extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Date}toString(){return`Date${(this.unit+1)*32}<${qi[this.unit]}>`}}qk=Symbol.toStringTag;Rd[qk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Date"))(Rd.prototype);class $l extends we{constructor(e,n){super(),this.unit=e,this.bitWidth=n}get typeId(){return N.Time}toString(){return`Time${this.bitWidth}<${ze[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return ac}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Hk=Symbol.toStringTag;$l[Hk]=(t=>(t.unit=null,t.bitWidth=null,t[Symbol.toStringTag]="Time"))($l.prototype);class Td extends we{constructor(e,n){super(),this.unit=e,this.timezone=n}get typeId(){return N.Timestamp}toString(){return`Timestamp<${ze[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}Qk=Symbol.toStringTag;Td[Qk]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Timestamp"))(Td.prototype);class Md extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Interval}toString(){return`Interval<${Ns[this.unit]}>`}}Yk=Symbol.toStringTag;Md[Yk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(Md.prototype);let Nd=class extends we{constructor(e){super(),this.children=[e]}get typeId(){return N.List}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};Gk=Symbol.toStringTag;Nd[Gk]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(Nd.prototype);class pn extends we{constructor(e){super(),this.children=e}get typeId(){return N.Struct}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Jk=Symbol.toStringTag;pn[Jk]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(pn.prototype);class Bd extends we{constructor(e,n,r){super(),this.mode=e,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,s,o)=>(i[s]=o)&&i||i,Object.create(null))}get typeId(){return N.Union}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}Xk=Symbol.toStringTag;Bd[Xk]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(Bd.prototype);let Fd=class extends we{constructor(e){super(),this.byteWidth=e}get typeId(){return N.FixedSizeBinary}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};Zk=Symbol.toStringTag;Fd[Zk]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(Fd.prototype);let Ld=class extends we{constructor(e,n){super(),this.listSize=e,this.children=[n]}get typeId(){return N.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};eD=Symbol.toStringTag;Ld[eD]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(Ld.prototype);class $d extends we{constructor(e,n=!1){super(),this.children=[e],this.keysSorted=n}get typeId(){return N.Map}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}tD=Symbol.toStringTag;$d[tD]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))($d.prototype);const K3=(t=>()=>++t)(-1);class Ya extends we{constructor(e,n,r,i){super(),this.indices=n,this.dictionary=e,this.isOrdered=i||!1,this.id=r==null?K3():typeof r=="number"?r:r.low}get typeId(){return N.Dictionary}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}nD=Symbol.toStringTag;Ya[nD]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))(Ya.prototype);function bi(t){const e=t;switch(t.typeId){case N.Decimal:return t.bitWidth/32;case N.Timestamp:return 2;case N.Date:return 1+e.unit;case N.Interval:return 1+e.unit;case N.FixedSizeList:return e.listSize;case N.FixedSizeBinary:return e.byteWidth;default:return 1}}class Be{visitMany(e,...n){return e.map((r,i)=>this.visit(r,...n.map(s=>s[i])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,n=!0){return W3(this,e,n)}getVisitFnByTypeId(e,n=!0){return sa(this,e,n)}visitNull(e,...n){return null}visitBool(e,...n){return null}visitInt(e,...n){return null}visitFloat(e,...n){return null}visitUtf8(e,...n){return null}visitBinary(e,...n){return null}visitFixedSizeBinary(e,...n){return null}visitDate(e,...n){return null}visitTimestamp(e,...n){return null}visitTime(e,...n){return null}visitDecimal(e,...n){return null}visitList(e,...n){return null}visitStruct(e,...n){return null}visitUnion(e,...n){return null}visitDictionary(e,...n){return null}visitInterval(e,...n){return null}visitFixedSizeList(e,...n){return null}visitMap(e,...n){return null}}function W3(t,e,n=!0){return typeof e=="number"?sa(t,e,n):typeof e=="string"&&e in N?sa(t,N[e],n):e&&e instanceof we?sa(t,p1(e),n):e!=null&&e.type&&e.type instanceof we?sa(t,p1(e.type),n):sa(t,N.NONE,n)}function sa(t,e,n=!0){let r=null;switch(e){case N.Null:r=t.visitNull;break;case N.Bool:r=t.visitBool;break;case N.Int:r=t.visitInt;break;case N.Int8:r=t.visitInt8||t.visitInt;break;case N.Int16:r=t.visitInt16||t.visitInt;break;case N.Int32:r=t.visitInt32||t.visitInt;break;case N.Int64:r=t.visitInt64||t.visitInt;break;case N.Uint8:r=t.visitUint8||t.visitInt;break;case N.Uint16:r=t.visitUint16||t.visitInt;break;case N.Uint32:r=t.visitUint32||t.visitInt;break;case N.Uint64:r=t.visitUint64||t.visitInt;break;case N.Float:r=t.visitFloat;break;case N.Float16:r=t.visitFloat16||t.visitFloat;break;case N.Float32:r=t.visitFloat32||t.visitFloat;break;case N.Float64:r=t.visitFloat64||t.visitFloat;break;case N.Utf8:r=t.visitUtf8;break;case N.Binary:r=t.visitBinary;break;case N.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case N.Date:r=t.visitDate;break;case N.DateDay:r=t.visitDateDay||t.visitDate;break;case N.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case N.Timestamp:r=t.visitTimestamp;break;case N.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case N.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case N.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case N.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case N.Time:r=t.visitTime;break;case N.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case N.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case N.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case N.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case N.Decimal:r=t.visitDecimal;break;case N.List:r=t.visitList;break;case N.Struct:r=t.visitStruct;break;case N.Union:r=t.visitUnion;break;case N.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case N.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case N.Dictionary:r=t.visitDictionary;break;case N.Interval:r=t.visitInterval;break;case N.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case N.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case N.FixedSizeList:r=t.visitFixedSizeList;break;case N.Map:r=t.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${N[e]}'`)}function p1(t){switch(t.typeId){case N.Null:return N.Null;case N.Int:{const{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?N.Int8:N.Uint8;case 16:return n?N.Int16:N.Uint16;case 32:return n?N.Int32:N.Uint32;case 64:return n?N.Int64:N.Uint64}return N.Int}case N.Float:switch(t.precision){case An.HALF:return N.Float16;case An.SINGLE:return N.Float32;case An.DOUBLE:return N.Float64}return N.Float;case N.Binary:return N.Binary;case N.Utf8:return N.Utf8;case N.Bool:return N.Bool;case N.Decimal:return N.Decimal;case N.Time:switch(t.unit){case ze.SECOND:return N.TimeSecond;case ze.MILLISECOND:return N.TimeMillisecond;case ze.MICROSECOND:return N.TimeMicrosecond;case ze.NANOSECOND:return N.TimeNanosecond}return N.Time;case N.Timestamp:switch(t.unit){case ze.SECOND:return N.TimestampSecond;case ze.MILLISECOND:return N.TimestampMillisecond;case ze.MICROSECOND:return N.TimestampMicrosecond;case ze.NANOSECOND:return N.TimestampNanosecond}return N.Timestamp;case N.Date:switch(t.unit){case qi.DAY:return N.DateDay;case qi.MILLISECOND:return N.DateMillisecond}return N.Date;case N.Interval:switch(t.unit){case Ns.DAY_TIME:return N.IntervalDayTime;case Ns.YEAR_MONTH:return N.IntervalYearMonth}return N.Interval;case N.Map:return N.Map;case N.List:return N.List;case N.Struct:return N.Struct;case N.Union:switch(t.mode){case er.Dense:return N.DenseUnion;case er.Sparse:return N.SparseUnion}return N.Union;case N.FixedSizeBinary:return N.FixedSizeBinary;case N.FixedSizeList:return N.FixedSizeList;case N.Dictionary:return N.Dictionary}throw new Error(`Unrecognized type '${N[t.typeId]}'`)}Be.prototype.visitInt8=null;Be.prototype.visitInt16=null;Be.prototype.visitInt32=null;Be.prototype.visitInt64=null;Be.prototype.visitUint8=null;Be.prototype.visitUint16=null;Be.prototype.visitUint32=null;Be.prototype.visitUint64=null;Be.prototype.visitFloat16=null;Be.prototype.visitFloat32=null;Be.prototype.visitFloat64=null;Be.prototype.visitDateDay=null;Be.prototype.visitDateMillisecond=null;Be.prototype.visitTimestampSecond=null;Be.prototype.visitTimestampMillisecond=null;Be.prototype.visitTimestampMicrosecond=null;Be.prototype.visitTimestampNanosecond=null;Be.prototype.visitTimeSecond=null;Be.prototype.visitTimeMillisecond=null;Be.prototype.visitTimeMicrosecond=null;Be.prototype.visitTimeNanosecond=null;Be.prototype.visitDenseUnion=null;Be.prototype.visitSparseUnion=null;Be.prototype.visitIntervalDayTime=null;Be.prototype.visitIntervalYearMonth=null;const rD=new Float64Array(1),ta=new Uint32Array(rD.buffer);function iD(t){const e=(t&31744)>>10,n=(t&1023)/1024,r=Math.pow(-1,(t&32768)>>15);switch(e){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}function q3(t){if(t!==t)return 32256;rD[0]=t;const e=(ta[1]&2147483648)>>16&65535;let n=ta[1]&2146435072,r=0;return n>=1089470464?ta[0]>0?n=31744:(n=(n&2080374784)>>16,r=(ta[1]&1048575)>>10):n<=1056964608?(r=1048576+(ta[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(ta[1]&1048575)+512>>10),e|n|r&65535}class Ee extends Be{}function xe(t){return(e,n,r)=>{if(e.setValid(n,r!=null))return t(e,n,r)}}const H3=(t,e,n)=>{t[e]=Math.trunc(n/864e5)},p0=(t,e,n)=>{t[e]=Math.trunc(n%4294967296),t[e+1]=Math.trunc(n/4294967296)},Q3=(t,e,n)=>{t[e]=Math.trunc(n*1e3%4294967296),t[e+1]=Math.trunc(n*1e3/4294967296)},Y3=(t,e,n)=>{t[e]=Math.trunc(n*1e6%4294967296),t[e+1]=Math.trunc(n*1e6/4294967296)},sD=(t,e,n,r)=>{if(n+1{const i=t+n;r?e[i>>3]|=1<>3]&=~(1<{t[e]=n},m0=({values:t},e,n)=>{t[e]=n},oD=({values:t},e,n)=>{t[e]=q3(n)},J3=(t,e,n)=>{switch(t.type.precision){case An.HALF:return oD(t,e,n);case An.SINGLE:case An.DOUBLE:return m0(t,e,n)}},aD=({values:t},e,n)=>{H3(t,e,n.valueOf())},uD=({values:t},e,n)=>{p0(t,e*2,n.valueOf())},X3=({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)},Z3=({values:t,valueOffsets:e},n,r)=>sD(t,e,n,r),e$=({values:t,valueOffsets:e},n,r)=>{sD(t,e,n,l0(r))},t$=(t,e,n)=>{t.type.unit===qi.DAY?aD(t,e,n):uD(t,e,n)},lD=({values:t},e,n)=>p0(t,e*2,n/1e3),cD=({values:t},e,n)=>p0(t,e*2,n),fD=({values:t},e,n)=>Q3(t,e*2,n),dD=({values:t},e,n)=>Y3(t,e*2,n),n$=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return lD(t,e,n);case ze.MILLISECOND:return cD(t,e,n);case ze.MICROSECOND:return fD(t,e,n);case ze.NANOSECOND:return dD(t,e,n)}},hD=({values:t},e,n)=>{t[e]=n},pD=({values:t},e,n)=>{t[e]=n},mD=({values:t},e,n)=>{t[e]=n},yD=({values:t},e,n)=>{t[e]=n},r$=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return hD(t,e,n);case ze.MILLISECOND:return pD(t,e,n);case ze.MICROSECOND:return mD(t,e,n);case ze.NANOSECOND:return yD(t,e,n)}},i$=({values:t,stride:e},n,r)=>{t.set(r.subarray(0,e),e*n)},s$=(t,e,n)=>{const r=t.children[0],i=t.valueOffsets,s=wr.getVisitFn(r);if(Array.isArray(n))for(let o=-1,a=i[e],l=i[e+1];a{const r=t.children[0],{valueOffsets:i}=t,s=wr.getVisitFn(r);let{[e]:o,[e+1]:a}=i;const l=n instanceof Map?n.entries():Object.entries(n);for(const f of l)if(s(r,o,f),++o>=a)break},a$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[s]),u$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(s)),l$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(i.name)),c$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[i.name]),f$=(t,e,n)=>{const r=t.type.children.map(s=>wr.getVisitFn(s.type)),i=n instanceof Map?l$(e,n):n instanceof Ke?u$(e,n):Array.isArray(n)?a$(e,n):c$(e,n);t.type.children.forEach((s,o)=>i(r[o],t.children[o],s,o))},d$=(t,e,n)=>{t.type.mode===er.Dense?vD(t,e,n):gD(t,e,n)},vD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];wr.visit(i,t.valueOffsets[e],n)},gD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];wr.visit(i,e,n)},h$=(t,e,n)=>{var r;(r=t.dictionary)===null||r===void 0||r.set(t.values[e],n)},p$=(t,e,n)=>{t.type.unit===Ns.DAY_TIME?wD(t,e,n):_D(t,e,n)},wD=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},_D=({values:t},e,n)=>{t[e]=n[0]*12+n[1]%12},m$=(t,e,n)=>{const{stride:r}=t,i=t.children[0],s=wr.getVisitFn(i);if(Array.isArray(n))for(let o=-1,a=e*r;++o`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new y$(this[Er],this[Aa])}}class y${constructor(e,n){this.childIndex=0,this.children=e.children,this.rowIndex=n,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return en.name)}has(e,n){return e[Er].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(e,n){if(e[Er].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Er].type.children.findIndex(i=>i.name===n);if(r!==-1){const i=Bn.visit(e[Er].children[r],e[Aa]);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Er].type.children.findIndex(s=>s.name===n);return i!==-1?(wr.visit(e[Er].children[i],e[Aa],r),Reflect.set(e,n,r)):Reflect.has(e,n)||typeof n=="symbol"?Reflect.set(e,n,r):!1}}class _e extends Be{}function Oe(t){return(e,n)=>e.getValid(n)?t(e,n):null}const g$=(t,e)=>864e5*t[e],v0=(t,e)=>4294967296*t[e+1]+(t[e]>>>0),w$=(t,e)=>4294967296*(t[e+1]/1e3)+(t[e]>>>0)/1e3,_$=(t,e)=>4294967296*(t[e+1]/1e6)+(t[e]>>>0)/1e6,bD=t=>new Date(t),b$=(t,e)=>bD(g$(t,e)),S$=(t,e)=>bD(v0(t,e)),I$=(t,e)=>null,SD=(t,e,n)=>{if(n+1>=e.length)return null;const r=e[n],i=e[n+1];return t.subarray(r,i)},E$=({offset:t,values:e},n)=>{const r=t+n;return(e[r>>3]&1<b$(t,e),ED=({values:t},e)=>S$(t,e*2),Hs=({stride:t,values:e},n)=>e[t*n],O$=({stride:t,values:e},n)=>iD(e[t*n]),OD=({values:t},e)=>t[e],k$=({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)),D$=({values:t,valueOffsets:e},n)=>SD(t,e,n),x$=({values:t,valueOffsets:e},n)=>{const r=SD(t,e,n);return r!==null?sv(r):null},C$=({values:t},e)=>t[e],A$=({type:t,values:e},n)=>t.precision!==An.HALF?e[n]:iD(e[n]),P$=(t,e)=>t.type.unit===qi.DAY?ID(t,e):ED(t,e),kD=({values:t},e)=>1e3*v0(t,e*2),DD=({values:t},e)=>v0(t,e*2),xD=({values:t},e)=>w$(t,e*2),CD=({values:t},e)=>_$(t,e*2),R$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return kD(t,e);case ze.MILLISECOND:return DD(t,e);case ze.MICROSECOND:return xD(t,e);case ze.NANOSECOND:return CD(t,e)}},AD=({values:t},e)=>t[e],PD=({values:t},e)=>t[e],RD=({values:t},e)=>t[e],TD=({values:t},e)=>t[e],T$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return AD(t,e);case ze.MILLISECOND:return PD(t,e);case ze.MICROSECOND:return RD(t,e);case ze.NANOSECOND:return TD(t,e)}},M$=({values:t,stride:e},n)=>h0.decimal(t.subarray(e*n,e*(n+1))),N$=(t,e)=>{const{valueOffsets:n,stride:r,children:i}=t,{[e*r]:s,[e*r+1]:o}=n,l=i[0].slice(s,o-s);return new Ke([l])},B$=(t,e)=>{const{valueOffsets:n,children:r}=t,{[e]:i,[e+1]:s}=n,o=r[0];return new g0(o.slice(i,s-i))},F$=(t,e)=>new y0(t,e),L$=(t,e)=>t.type.mode===er.Dense?MD(t,e):ND(t,e),MD=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Bn.visit(r,t.valueOffsets[e])},ND=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Bn.visit(r,e)},$$=(t,e)=>{var n;return(n=t.dictionary)===null||n===void 0?void 0:n.get(t.values[e])},j$=(t,e)=>t.type.unit===Ns.DAY_TIME?BD(t,e):FD(t,e),BD=({values:t},e)=>t.subarray(2*e,2*(e+1)),FD=({values:t},e)=>{const n=t[e],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},U$=(t,e)=>{const{stride:n,children:r}=t,s=r[0].slice(e*n,n);return new Ke([s])};_e.prototype.visitNull=Oe(I$);_e.prototype.visitBool=Oe(E$);_e.prototype.visitInt=Oe(C$);_e.prototype.visitInt8=Oe(Hs);_e.prototype.visitInt16=Oe(Hs);_e.prototype.visitInt32=Oe(Hs);_e.prototype.visitInt64=Oe(OD);_e.prototype.visitUint8=Oe(Hs);_e.prototype.visitUint16=Oe(Hs);_e.prototype.visitUint32=Oe(Hs);_e.prototype.visitUint64=Oe(OD);_e.prototype.visitFloat=Oe(A$);_e.prototype.visitFloat16=Oe(O$);_e.prototype.visitFloat32=Oe(Hs);_e.prototype.visitFloat64=Oe(Hs);_e.prototype.visitUtf8=Oe(x$);_e.prototype.visitBinary=Oe(D$);_e.prototype.visitFixedSizeBinary=Oe(k$);_e.prototype.visitDate=Oe(P$);_e.prototype.visitDateDay=Oe(ID);_e.prototype.visitDateMillisecond=Oe(ED);_e.prototype.visitTimestamp=Oe(R$);_e.prototype.visitTimestampSecond=Oe(kD);_e.prototype.visitTimestampMillisecond=Oe(DD);_e.prototype.visitTimestampMicrosecond=Oe(xD);_e.prototype.visitTimestampNanosecond=Oe(CD);_e.prototype.visitTime=Oe(T$);_e.prototype.visitTimeSecond=Oe(AD);_e.prototype.visitTimeMillisecond=Oe(PD);_e.prototype.visitTimeMicrosecond=Oe(RD);_e.prototype.visitTimeNanosecond=Oe(TD);_e.prototype.visitDecimal=Oe(M$);_e.prototype.visitList=Oe(N$);_e.prototype.visitStruct=Oe(F$);_e.prototype.visitUnion=Oe(L$);_e.prototype.visitDenseUnion=Oe(MD);_e.prototype.visitSparseUnion=Oe(ND);_e.prototype.visitDictionary=Oe($$);_e.prototype.visitInterval=Oe(j$);_e.prototype.visitIntervalDayTime=Oe(BD);_e.prototype.visitIntervalYearMonth=Oe(FD);_e.prototype.visitFixedSizeList=Oe(U$);_e.prototype.visitMap=Oe(B$);const Bn=new _e,Zr=Symbol.for("keys"),Pa=Symbol.for("vals");class g0{constructor(e){return this[Zr]=new Ke([e.children[0]]).memoize(),this[Pa]=e.children[1],new Proxy(this,new V$)}[Symbol.iterator](){return new z$(this[Zr],this[Pa])}get size(){return this[Zr].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[Zr],n=this[Pa],r={};for(let i=-1,s=e.length;++i`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class z${constructor(e,n){this.keys=e,this.vals=n,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Bn.visit(this.vals,e)]})}}class V${isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[Zr].toArray().map(String)}has(e,n){return e[Zr].includes(n)}getOwnPropertyDescriptor(e,n){if(e[Zr].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Zr].indexOf(n);if(r!==-1){const i=Bn.visit(Reflect.get(e,Pa),r);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Zr].indexOf(n);return i!==-1?(wr.visit(Reflect.get(e,Pa),i,r),Reflect.set(e,n,r)):Reflect.has(e,n)?Reflect.set(e,n,r):!1}}Object.defineProperties(g0.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[Zr]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Pa]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let m1;function LD(t,e,n,r){const{length:i=0}=t;let s=typeof e!="number"?0:e,o=typeof n!="number"?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(t,s,o):[s,o]}const y1=t=>t!==t;function du(t){if(typeof t!=="object"||t===null)return y1(t)?y1:n=>n===t;if(t instanceof Date){const n=t.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(t)?n=>n?B3(t,n):!1:t instanceof Map?W$(t):Array.isArray(t)?K$(t):t instanceof Ke?q$(t):H$(t,!0)}function K$(t){const e=[];for(let n=-1,r=t.length;++n!1;const r=[];for(let i=-1,s=n.length;++i{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return Q$(t,n);case Map:return v1(t,n,n.keys());case g0:case y0:case Object:case void 0:return v1(t,n,e||Object.keys(n))}return n instanceof Ke?Y$(t,n):!1}}function Q$(t,e){const n=t.length;if(e.length!==n)return!1;for(let r=-1;++r>r}function w0(t,e,n){const r=n.byteLength+7&-8;if(t>0||n.byteLength>3):jd(new _0(n,t,e,null,$D)).subarray(0,r)),i}return n}function jd(t){const e=[];let n=0,r=0,i=0;for(const o of t)o&&(i|=1<0)&&(e[n++]=i);const s=new Uint8Array(e.length+7&-8);return s.set(e),s}class _0{constructor(e,n,r,i,s){this.bytes=e,this.length=r,this.context=i,this.get=s,this.bit=n%8,this.byteIndex=n>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=e+(e%8===0?0:8-e%8);return lv(t,e,i)+lv(t,r,n)+J$(t,i>>3,r-i>>3)}function J$(t,e,n){let r=0,i=Math.trunc(e);const s=new DataView(t.buffer,t.byteOffset,t.byteLength),o=n===void 0?t.byteLength:i+n;for(;o-i>=4;)r+=Om(s.getUint32(i)),i+=4;for(;o-i>=2;)r+=Om(s.getUint16(i)),i+=2;for(;o-i>=1;)r+=Om(s.getUint8(i)),i+=1;return r}function Om(t){let e=Math.trunc(t);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const X$=-1;class at{constructor(e,n,r,i,s,o=[],a){this.type=e,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let l;s instanceof at?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=bi(e),s&&((l=s[0])&&(this.valueOffsets=l),(l=s[1])&&(this.values=l),(l=s[2])&&(this.nullBitmap=l),(l=s[3])&&(this.typeIds=l))),this.nullable=this._nullCount!==0&&this.nullBitmap&&this.nullBitmap.byteLength>0}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get byteLength(){let e=0;const{valueOffsets:n,values:r,nullBitmap:i,typeIds:s}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,e)}get nullCount(){let e=this._nullCount,n;return e<=X$&&(n=this.nullBitmap)&&(this._nullCount=e=this.length-lv(n,this.offset,this.offset+this.length)),e}getValid(e){if(this.nullable&&this.nullCount>0){const n=this.offset+e;return(this.nullBitmap[n>>3]&1<>3){const{nullBitmap:l}=this._changeLengthAndBackfillNullBitmap(this.length);Object.assign(this,{nullBitmap:l,_nullCount:0})}const{nullBitmap:r,offset:i}=this,s=i+e>>3,o=(i+e)%8,a=r[s]>>o&1;return n?a===0&&(r[s]|=1<>3).fill(255,0,n>>3);i[n>>3]=(1<0&&i.set(w0(this.offset,n,this.nullBitmap),0);const s=this.buffers;return s[_i.VALIDITY]=i,this.clone(this.type,0,e,r+(e-n),s)}_sliceBuffers(e,n,r,i){let s;const{buffers:o}=this;return(s=o[_i.TYPE])&&(o[_i.TYPE]=s.subarray(e,e+n)),(s=o[_i.OFFSET])&&(o[_i.OFFSET]=s.subarray(e,e+n+1))||(s=o[_i.DATA])&&(o[_i.DATA]=i===6?s:s.subarray(r*e,r*(e+n))),o}_sliceChildren(e,n,r){return e.map(i=>i.slice(n,r))}}at.prototype.children=Object.freeze([]);class ol extends Be{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:n,["offset"]:r=0,["length"]:i=0}=e;return new at(n,r,i,0)}visitBool(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length>>3,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitInt(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFloat(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitUtf8(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitFixedSizeBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDate(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTimestamp(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTime(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDecimal(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitList(e){const{["type"]:n,["offset"]:r=0,["child"]:i}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}visitStruct(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),{length:o=i.reduce((l,{length:f})=>Math.max(l,f),0),nullCount:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],i)}visitUnion(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),o=rt(n.ArrayType,e.typeIds),{["length"]:a=o.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;if(we.isSparseUnion(n))return new at(n,r,a,l,[void 0,void 0,s,o],i);const f=Fu(e.valueOffsets);return new at(n,r,a,l,[f,void 0,s,o],i)}visitDictionary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.indices.ArrayType,e.data),{["dictionary"]:o=new Ke([new ol().visit({type:n.dictionary})])}=e,{["length"]:a=s.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[void 0,s,i],[],o)}visitInterval(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFixedSizeList(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.valueType})}=e,s=Ue(e.nullBitmap),{["length"]:o=i.length/bi(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],[i])}visitMap(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.childType})}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}}function Ne(t){return new ol().visit(t)}class g1{constructor(e=0,n){this.numChunks=e,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe+n.nullCount,0)}function UD(t){return t.reduce((e,n,r)=>(e[r+1]=e[r]+n.length,e),new Uint32Array(t.length+1))}function zD(t,e,n,r){const i=[];for(let s=-1,o=t.length;++s=r)break;if(n>=l+f)continue;if(l>=n&&l+f<=r){i.push(a);continue}const h=Math.max(0,n-l),p=Math.min(r-l,f);i.push(a.slice(h,p-h))}return i.length===0&&i.push(t[0].slice(0,0)),i}function b0(t,e,n,r){let i=0,s=0,o=e.length-1;do{if(i>=o-1)return n0?0:-1}function ej(t,e){const{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(const i of new _0(n,t.offset+(e||0),t.length,n,$D)){if(!i)return r;++r}return-1}function Ae(t,e,n){if(e===void 0)return-1;if(e===null)return ej(t,n);const r=Bn.getVisitFn(t),i=du(e);for(let s=(n||0)-1,o=t.length;++s{const i=t.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new g1(t.data.length,r=>{const s=t.data[r].length,o=t.slice(n,n+s);return n+=s,new tj(o)})}class tj{constructor(e){this.vector=e,this.index=0}next(){return this.indext+e;class Qs extends Be{visitNull(e,n){return 0}visitInt(e,n){return e.type.bitWidth/8}visitFloat(e,n){return e.type.ArrayType.BYTES_PER_ELEMENT}visitBool(e,n){return 1/8}visitDecimal(e,n){return e.type.bitWidth/8}visitDate(e,n){return(e.type.unit+1)*4}visitTime(e,n){return e.type.bitWidth/8}visitTimestamp(e,n){return e.type.unit===ze.SECOND?4:8}visitInterval(e,n){return(e.type.unit+1)*4}visitStruct(e,n){return e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitFixedSizeBinary(e,n){return e.type.byteWidth}visitMap(e,n){return 8+e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitDictionary(e,n){var r;return e.type.indices.bitWidth/8+(((r=e.dictionary)===null||r===void 0?void 0:r.getByteLength(e.values[n]))||0)}}const rj=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),ij=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),sj=({valueOffsets:t,stride:e,children:n},r)=>{const i=n[0],{[r*e]:s}=t,{[r*e+1]:o}=t,a=di.getVisitFn(i.type),l=i.slice(s,o-s);let f=8;for(let h=-1,p=o-s;++h{const r=e[0],i=r.slice(n*t,t),s=di.getVisitFn(r.type);let o=0;for(let a=-1,l=i.length;++at.type.mode===er.Dense?qD(t,e):HD(t,e),qD=({type:t,children:e,typeIds:n,valueOffsets:r},i)=>{const s=t.typeIdToChildIndex[n[i]];return 8+di.visit(e[s],r[i])},HD=({children:t},e)=>4+di.visitMany(t,t.map(()=>e)).reduce(nj,0);Qs.prototype.visitUtf8=rj;Qs.prototype.visitBinary=ij;Qs.prototype.visitList=sj;Qs.prototype.visitFixedSizeList=oj;Qs.prototype.visitUnion=aj;Qs.prototype.visitDenseUnion=qD;Qs.prototype.visitSparseUnion=HD;const di=new Qs;var QD;const YD={},GD={};class Ke{constructor(e){var n,r,i;const s=e[0]instanceof Ke?e.flatMap(a=>a.data):e;if(s.length===0||s.some(a=>!(a instanceof at)))throw new TypeError("Vector constructor expects an Array of Data instances.");const o=(n=s[0])===null||n===void 0?void 0:n.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{const{get:a,set:l,indexOf:f,byteLength:h}=YD[o.typeId],p=s[0];this.isValid=y=>S0(p,y),this.get=y=>a(p,y),this.set=(y,w)=>l(p,y,w),this.indexOf=y=>f(p,y),this.getByteLength=y=>h(p,y),this._offsets=[0,p.length];break}default:Object.setPrototypeOf(this,GD[o.typeId]),this._offsets=UD(s);break}this.data=s,this.type=o,this.stride=bi(o),this.numChildren=(i=(r=o.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets[this._offsets.length-1]}get byteLength(){return this._byteLength===-1&&(this._byteLength=this.data.reduce((e,n)=>e+n.byteLength,0)),this._byteLength}get nullCount(){return this._nullCount===-1&&(this._nullCount=jD(this.data)),this._nullCount}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${N[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}includes(e,n){return this.indexOf(e,n)>0}getByteLength(e){return 0}[Symbol.iterator](){return I0.visit(this)}concat(...e){return new Ke(this.data.concat(e.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(e,n){return new Ke(LD(this,e,n,({data:r,_offsets:i},s,o)=>zD(r,i,s,o)))}toJSON(){return[...this]}toArray(){const{type:e,data:n,length:r,stride:i,ArrayType:s}=this;switch(e.typeId){case N.Int:case N.Float:case N.Decimal:case N.Time:case N.Timestamp:switch(n.length){case 0:return new s;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((o,{values:a,length:l})=>(o.array.set(a.subarray(0,l*i),o.offset),o.offset+=l*i,o),{array:new s(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&en[e])):null}get isMemoized(){return we.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(we.isDictionary(this.type)){const e=new zd(this.data[0].dictionary),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return new zd(this)}unmemoize(){if(we.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return this}}QD=Symbol.toStringTag;Ke[QD]=(t=>{t.type=we.prototype,t.data=[],t.length=0,t.stride=1,t.numChildren=0,t._nullCount=-1,t._byteLength=-1,t._offsets=new Uint32Array([0]),t[Symbol.isConcatSpreadable]=!0;const e=Object.keys(N).map(n=>N[n]).filter(n=>typeof n=="number"&&n!==N.NONE);for(const n of e){const r=Bn.getVisitFnByTypeId(n),i=wr.getVisitFnByTypeId(n),s=Ud.getVisitFnByTypeId(n),o=di.getVisitFnByTypeId(n);YD[n]={get:r,set:i,indexOf:s,byteLength:o},GD[n]=Object.create(t,{isValid:{value:Ra(S0)},get:{value:Ra(Bn.getVisitFnByTypeId(n))},set:{value:VD(wr.getVisitFnByTypeId(n))},indexOf:{value:KD(Ud.getVisitFnByTypeId(n))},getByteLength:{value:Ra(di.getVisitFnByTypeId(n))}})}return"Vector"})(Ke.prototype);class zd extends Ke{constructor(e){super(e.data);const n=this.get,r=this.set,i=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){const a=s[o];if(a!==void 0)return a;const l=n.call(this,o);return s[o]=l,l}}),Object.defineProperty(this,"set",{value(o,a){r.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new zd(i.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Ke(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class cv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,n,r,i){return e.prep(8,24),e.writeInt64(i),e.pad(4),e.writeInt32(r),e.writeInt64(n),e.offset()}}const km=2,ei=4,Oi=4,st=4,fs=new Int32Array(2),w1=new Float32Array(fs.buffer),_1=new Float64Array(fs.buffer),df=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;let Mi=class fv{constructor(e,n){this.low=e|0,this.high=n|0}static create(e,n){return e==0&&n==0?fv.ZERO:new fv(e,n)}toFloat64(){return(this.low>>>0)+this.high*4294967296}equals(e){return this.low==e.low&&this.high==e.high}};Mi.ZERO=new Mi(0,0);var dv;(function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"})(dv||(dv={}));let Ga=class JD{constructor(e){this.bytes_=e,this.position_=0}static allocate(e){return new JD(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return new Mi(this.readInt32(e),this.readInt32(e+4))}readUint64(e){return new Mi(this.readUint32(e),this.readUint32(e+4))}readFloat32(e){return fs[0]=this.readInt32(e),w1[0]}readFloat64(e){return fs[df?0:1]=this.readInt32(e),fs[df?1:0]=this.readInt32(e+4),_1[0]}writeInt8(e,n){this.bytes_[e]=n}writeUint8(e,n){this.bytes_[e]=n}writeInt16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeUint16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeInt32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeUint32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeInt64(e,n){this.writeInt32(e,n.low),this.writeInt32(e+4,n.high)}writeUint64(e,n){this.writeUint32(e,n.low),this.writeUint32(e+4,n.high)}writeFloat32(e,n){w1[0]=n,this.writeInt32(e,fs[0])}writeFloat64(e,n){_1[0]=n,this.writeInt32(e,fs[df?0:1]),this.writeInt32(e+4,fs[df?1:0])}getBufferIdentifier(){if(this.bytes_.length>10)+55296,(o&1024-1)+56320))}return i}__union_with_string(e,n){return typeof e=="string"?this.__string(n):this.__union(e,n)}__indirect(e){return e+this.readInt32(e)}__vector(e){return e+this.readInt32(e)+ei}__vector_len(e){return this.readInt32(e+this.readInt32(e))}__has_identifier(e){if(e.length!=Oi)throw new Error("FlatBuffers: file identifier must be length "+Oi);for(let n=0;nthis.minalign&&(this.minalign=e);const r=~(this.bb.capacity()-this.space+n)+1&e-1;for(;this.space=0&&this.vtable[n]==0;n--);const r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?e-this.vtable[n]:0);const i=2;this.addInt16(e-this.object_start);const s=(r+i)*km;this.addInt16(s);let o=0;const a=this.space;e:for(n=0;n=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,ei+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,n){this.finish(e,n,!0)}requiredField(e,n){const r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(!(this.bb.readInt16(i+n)!=0))throw new Error("FlatBuffers: field "+n+" must be set")}startVector(e,n,r){this.notNested(),this.vector_num_elems=n,this.prep(ei,e*n),this.prep(r,e*n)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(e){if(!e)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(e))return this.string_maps.get(e);const n=this.createString(e);return this.string_maps.set(e,n),n}createString(e){if(!e)return 0;let n;if(e instanceof Uint8Array)n=e;else{n=[];let r=0;for(;r=56320)i=s;else{const o=e.charCodeAt(r++);i=(s<<10)+o+(65536-56623104-56320)}i<128?n.push(i):(i<2048?n.push(i>>6&31|192):(i<65536?n.push(i>>12&15|224):n.push(i>>18&7|240,i>>12&63|128),n.push(i>>6&63|128)),n.push(i&63|128))}}this.addInt8(0),this.startVector(1,n.length,1),this.bb.setPosition(this.space-=n.length);for(let r=0,i=this.space,s=this.bb.bytes();r=0;r--)e.addInt32(n[r]);return e.endVector()}static startTypeIdsVector(e,n){e.startVector(4,n,4)}static endUnion(e){return e.endObject()}static createUnion(e,n,r){return In.startUnion(e),In.addMode(e,n),In.addTypeIds(e,r),In.endUnion(e)}}class bo{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsUtf8(e,n){return(n||new bo).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,n){return e.setPosition(e.position()+st),(n||new bo).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return bo.startUtf8(e),bo.endUtf8(e)}}var _t;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.FloatingPoint=3]="FloatingPoint",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct_=13]="Struct_",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.LargeList=21]="LargeList"})(_t||(_t={}));let lr=class Ff{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsField(e,n){return(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,n){return e.setPosition(e.position()+st),(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}name(e){const n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):_t.NONE}type(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(e,this.bb_pos+n):null}dictionary(e){const n=this.bb.__offset(this.bb_pos,12);return n?(e||new ki).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(e,n){const r=this.bb.__offset(this.bb_pos,14);return r?(n||new Ff).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,16);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,n){e.addFieldOffset(0,n,0)}static addNullable(e,n){e.addFieldInt8(1,+n,0)}static addTypeType(e,n){e.addFieldInt8(2,n,_t.NONE)}static addType(e,n){e.addFieldOffset(3,n,0)}static addDictionary(e,n){e.addFieldOffset(4,n,0)}static addChildren(e,n){e.addFieldOffset(5,n,0)}static createChildrenVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startChildrenVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(6,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endField(e){return e.endObject()}},Hr=class gi{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsSchema(e,n){return(n||new gi).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,n){return e.setPosition(e.position()+st),(n||new gi).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Xa.Little}fields(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new lr).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+e*8):this.bb.createLong(0,0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,n){e.addFieldInt16(0,n,Xa.Little)}static addFields(e,n){e.addFieldOffset(1,n,0)}static createFieldsVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startFieldsVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(2,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static addFeatures(e,n){e.addFieldOffset(3,n,0)}static createFeaturesVector(e,n){e.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)e.addInt64(n[r]);return e.endVector()}static startFeaturesVector(e,n){e.startVector(8,n,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,n){e.finish(n)}static finishSizePrefixedSchemaBuffer(e,n){e.finish(n,void 0,!0)}static createSchema(e,n,r,i,s){return gi.startSchema(e),gi.addEndianness(e,n),gi.addFields(e,r),gi.addCustomMetadata(e,i),gi.addFeatures(e,s),gi.endSchema(e)}};class Kn{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsFooter(e,n){return(n||new Kn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,n){return e.setPosition(e.position()+st),(n||new Kn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ja.V1}schema(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Hr).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new cv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,n){const r=this.bb.__offset(this.bb_pos,10);return r?(n||new cv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ja.V1)}static addSchema(e,n){e.addFieldOffset(1,n,0)}static addDictionaries(e,n){e.addFieldOffset(2,n,0)}static startDictionariesVector(e,n){e.startVector(24,n,8)}static addRecordBatches(e,n){e.addFieldOffset(3,n,0)}static startRecordBatchesVector(e,n){e.startVector(24,n,8)}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,n){e.finish(n)}static finishSizePrefixedFooterBuffer(e,n){e.finish(n,void 0,!0)}}class We{constructor(e=[],n,r){this.fields=e||[],this.metadata=n||new Map,r||(r=hv(e)),this.dictionaries=r}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,n)=>`${n}: ${e}`).join(", ")} }>`}select(e){const n=new Set(e),r=this.fields.filter(i=>n.has(i.name));return new We(r,this.metadata)}selectAt(e){const n=e.map(r=>this.fields[r]).filter(Boolean);return new We(n,this.metadata)}assign(...e){const n=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),r=[...this.fields],i=hf(hf(new Map,this.metadata),n.metadata),s=n.fields.filter(a=>{const l=r.findIndex(f=>f.name===a.name);return~l?(r[l]=a.clone({metadata:hf(hf(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),o=hv(s,new Map);return new We([...r,...s],i,new Map([...this.dictionaries,...o]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class yt{constructor(e,n,r=!1,i){this.name=e,this.type=n,this.nullable=r,this.metadata=i||new Map}static new(...e){let[n,r,i,s]=e;return e[0]&&typeof e[0]=="object"&&({name:n}=e[0],r===void 0&&(r=e[0].type),i===void 0&&(i=e[0].nullable),s===void 0&&(s=e[0].metadata)),new yt(`${n}`,r,i,s)}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[n,r,i,s]=e;return!e[0]||typeof e[0]!="object"?[n=this.name,r=this.type,i=this.nullable,s=this.metadata]=e:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:s=this.metadata}=e[0],yt.new(n,r,i,s)}}yt.prototype.type=null;yt.prototype.name=null;yt.prototype.nullable=null;yt.prototype.metadata=null;function hf(t,e){return new Map([...t||new Map,...e||new Map])}function hv(t,e=new Map){for(let n=-1,r=t.length;++n0&&hv(s.children,e)}return e}var b1=Mi,uj=XD,lj=Ga;class jl{constructor(e,n=Qn.V4,r,i){this.schema=e,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}static decode(e){e=new lj(Ue(e));const n=Kn.getRootAsFooter(e),r=We.decode(n.schema());return new cj(r,n)}static encode(e){const n=new uj,r=We.encode(n,e.schema);Kn.startRecordBatchesVector(n,e.numRecordBatches);for(const o of[...e.recordBatches()].slice().reverse())Ls.encode(n,o);const i=n.endVector();Kn.startDictionariesVector(n,e.numDictionaries);for(const o of[...e.dictionaryBatches()].slice().reverse())Ls.encode(n,o);const s=n.endVector();return Kn.startFooter(n),Kn.addSchema(n,r),Kn.addVersion(n,Qn.V4),Kn.addRecordBatches(n,i),Kn.addDictionaries(n,s),Kn.finishFooterBuffer(n,Kn.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}*recordBatches(){for(let e,n=-1,r=this.numRecordBatches;++n=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(St);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return cr.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return cr.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return ve(this,void 0,void 0,function*(){return yield this.abort(e),St})}return(e){return ve(this,void 0,void 0,function*(){return yield this.close(),St})}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(St)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class Lf extends fj{write(e){if((e=Ue(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?sv(this.toUint8Array(!0)):this.toUint8Array(!1).then(sv)}toUint8Array(e=!1){return e?fi(this._values)[0]:(()=>ve(this,void 0,void 0,function*(){var n,r;const i=[];let s=0;try{for(var o=Ds(this),a;a=yield o.next(),!a.done;){const l=a.value;i.push(l),s+=l.byteLength}}catch(l){n={error:l}}finally{try{a&&!a.done&&(r=o.return)&&(yield r.call(o))}finally{if(n)throw n.error}}return fi(i,s)[0]}))()}}class Qd{constructor(e){e&&(this.source=new dj(cr.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class eu{constructor(e){e instanceof eu?this.source=e.source:e instanceof Lf?this.source=new ao(cr.fromAsyncIterable(e)):Nk(e)?this.source=new ao(cr.fromNodeStream(e)):c0(e)?this.source=new ao(cr.fromDOMStream(e)):Mk(e)?this.source=new ao(cr.fromDOMStream(e.body)):lc(e)?this.source=new ao(cr.fromIterable(e)):Ms(e)?this.source=new ao(cr.fromAsyncIterable(e)):fu(e)&&(this.source=new ao(cr.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class dj{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,n="read"){return this.source.next({cmd:n,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||St)}return(e){return Object.create(this.source.return&&this.source.return(e)||St)}}class ao{constructor(e){this.source=e,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e,n="read"){return ve(this,void 0,void 0,function*(){return yield this.source.next({cmd:n,size:e})})}throw(e){return ve(this,void 0,void 0,function*(){const n=this.source.throw&&(yield this.source.throw(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(e){return ve(this,void 0,void 0,function*(){const n=this.source.return&&(yield this.source.return(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}}class I1 extends Qd{constructor(e,n){super(),this.position=0,this.buffer=Ue(e),this.size=typeof n>"u"?this.buffer.byteLength:n}readInt32(e){const{buffer:n,byteOffset:r}=this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),eve(this,void 0,void 0,function*(){this.size=(yield e.stat()).size,delete this._pending}))()}readInt32(e){return ve(this,void 0,void 0,function*(){const{buffer:n,byteOffset:r}=yield this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)})}seek(e){return ve(this,void 0,void 0,function*(){return this._pending&&(yield this._pending),this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let i=n[3]*r[3];this.buffer[0]=i&65535;let s=i>>>16;return i=n[2]*r[3],s+=i,i=n[3]*r[2]>>>0,s+=i,this.buffer[0]+=s<<16,this.buffer[1]=s>>>0>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(e){const n=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],n>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(e){return this.buffer[1]>>0,n[2]=this.buffer[2]+e.buffer[2]>>>0,n[1]=this.buffer[1]+e.buffer[1]>>>0,n[0]=this.buffer[0]+e.buffer[0]>>>0,n[0]>>0&&++n[1],n[1]>>0&&++n[2],n[2]>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${ba(this.buffer[3])} ${ba(this.buffer[2])} ${ba(this.buffer[1])} ${ba(this.buffer[0])}`}static multiply(e,n){return new Qr(new Uint32Array(e.buffer)).times(n)}static add(e,n){return new Qr(new Uint32Array(e.buffer)).plus(n)}static from(e,n=new Uint32Array(4)){return Qr.fromString(typeof e=="string"?e:e.toString(),n)}static fromNumber(e,n=new Uint32Array(4)){return Qr.fromString(e.toString(),n)}static fromString(e,n=new Uint32Array(4)){const r=e.startsWith("-"),i=e.length,s=new Qr(n);for(let o=r?1:0;o0&&this.readData(e,r)||new Uint8Array(0)}readOffsets(e,n){return this.readData(e,n)}readTypeIds(e,n){return this.readData(e,n)}readData(e,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(e){return this.dictionaries.get(e.id)}}class pj extends tx{constructor(e,n,r,i){super(new Uint8Array(0),n,r,i),this.sources=e}readNullBitmap(e,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):jd(this.sources[r])}readOffsets(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(Int32Array,this.sources[n]))}readTypeIds(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(e.ArrayType,this.sources[n]))}readData(e,{offset:n}=this.nextBufferRange()){const{sources:r}=this;return we.isTimestamp(e)||(we.isInt(e)||we.isTime(e))&&e.bitWidth===64||we.isDate(e)&&e.unit===qi.MILLISECOND?rt(Uint8Array,_n.convertArray(r[n])):we.isDecimal(e)?rt(Uint8Array,Qr.convertArray(r[n])):we.isBinary(e)||we.isFixedSizeBinary(e)?mj(r[n]):we.isBool(e)?jd(r[n]):we.isUtf8(e)?l0(r[n].join("")):rt(Uint8Array,rt(e.ArrayType,r[n].map(i=>+i)))}}function mj(t){const e=t.join(""),n=new Uint8Array(e.length/2);for(let r=0;r>1]=Number.parseInt(e.slice(r,r+2),16);return n}class Ie extends Be{compareSchemas(e,n){return e===n||n instanceof e.constructor&&this.compareManyFields(e.fields,n.fields)}compareManyFields(e,n){return e===n||Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((r,i)=>this.compareFields(r,n[i]))}compareFields(e,n){return e===n||n instanceof e.constructor&&e.name===n.name&&e.nullable===n.nullable&&this.visit(e.type,n.type)}}function jn(t,e){return e instanceof t.constructor}function cc(t,e){return t===e||jn(t,e)}function Gi(t,e){return t===e||jn(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function Uh(t,e){return t===e||jn(t,e)&&t.precision===e.precision}function yj(t,e){return t===e||jn(t,e)&&t.byteWidth===e.byteWidth}function k0(t,e){return t===e||jn(t,e)&&t.unit===e.unit}function fc(t,e){return t===e||jn(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function dc(t,e){return t===e||jn(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function vj(t,e){return t===e||jn(t,e)&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function gj(t,e){return t===e||jn(t,e)&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function D0(t,e){return t===e||jn(t,e)&&t.mode===e.mode&&t.typeIds.every((n,r)=>n===e.typeIds[r])&&$s.compareManyFields(t.children,e.children)}function wj(t,e){return t===e||jn(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&$s.visit(t.indices,e.indices)&&$s.visit(t.dictionary,e.dictionary)}function x0(t,e){return t===e||jn(t,e)&&t.unit===e.unit}function _j(t,e){return t===e||jn(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function bj(t,e){return t===e||jn(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}Ie.prototype.visitNull=cc;Ie.prototype.visitBool=cc;Ie.prototype.visitInt=Gi;Ie.prototype.visitInt8=Gi;Ie.prototype.visitInt16=Gi;Ie.prototype.visitInt32=Gi;Ie.prototype.visitInt64=Gi;Ie.prototype.visitUint8=Gi;Ie.prototype.visitUint16=Gi;Ie.prototype.visitUint32=Gi;Ie.prototype.visitUint64=Gi;Ie.prototype.visitFloat=Uh;Ie.prototype.visitFloat16=Uh;Ie.prototype.visitFloat32=Uh;Ie.prototype.visitFloat64=Uh;Ie.prototype.visitUtf8=cc;Ie.prototype.visitBinary=cc;Ie.prototype.visitFixedSizeBinary=yj;Ie.prototype.visitDate=k0;Ie.prototype.visitDateDay=k0;Ie.prototype.visitDateMillisecond=k0;Ie.prototype.visitTimestamp=fc;Ie.prototype.visitTimestampSecond=fc;Ie.prototype.visitTimestampMillisecond=fc;Ie.prototype.visitTimestampMicrosecond=fc;Ie.prototype.visitTimestampNanosecond=fc;Ie.prototype.visitTime=dc;Ie.prototype.visitTimeSecond=dc;Ie.prototype.visitTimeMillisecond=dc;Ie.prototype.visitTimeMicrosecond=dc;Ie.prototype.visitTimeNanosecond=dc;Ie.prototype.visitDecimal=cc;Ie.prototype.visitList=vj;Ie.prototype.visitStruct=gj;Ie.prototype.visitUnion=D0;Ie.prototype.visitDenseUnion=D0;Ie.prototype.visitSparseUnion=D0;Ie.prototype.visitDictionary=wj;Ie.prototype.visitInterval=x0;Ie.prototype.visitIntervalDayTime=x0;Ie.prototype.visitIntervalYearMonth=x0;Ie.prototype.visitFixedSizeList=_j;Ie.prototype.visitMap=bj;const $s=new Ie;function pv(t,e){return $s.compareSchemas(t,e)}function Dm(t,e){return Sj(t,e.map(n=>n.data.concat()))}function Sj(t,e){const n=[...t.fields],r=[],i={numBatches:e.reduce((p,y)=>Math.max(p,y.length),0)};let s=0,o=0,a=-1;const l=e.length;let f,h=[];for(;i.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a0&&(r[s++]=Ne({type:new pn(n),length:o,nullCount:0,children:h.slice()})))}return[t=t.assign(n),r.map(p=>new En(t,p))]}function Ij(t,e,n,r,i){var s;const o=(e+63&-64)>>3;for(let a=-1,l=r.length;++a=e)h===e?n[a]=f:(n[a]=f.slice(0,e),i.numBatches=Math.max(i.numBatches,r[a].unshift(f.slice(e,h-e))));else{const p=t[a];t[a]=p.clone({nullable:!0}),n[a]=(s=f==null?void 0:f._changeLengthAndBackfillNullBitmap(e))!==null&&s!==void 0?s:Ne({type:p.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)})}}return n}var nx;class hn{constructor(...e){var n,r;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let i,s;e[0]instanceof We&&(i=e.shift()),e[e.length-1]instanceof Uint32Array&&(s=e.pop());const o=l=>{if(l){if(l instanceof En)return[l];if(l instanceof hn)return l.batches;if(l instanceof at){if(l.type instanceof pn)return[new En(new We(l.type.children),l)]}else{if(Array.isArray(l))return l.flatMap(f=>o(f));if(typeof l[Symbol.iterator]=="function")return[...l].flatMap(f=>o(f));if(typeof l=="object"){const f=Object.keys(l),h=f.map(w=>new Ke([l[w]])),p=new We(f.map((w,I)=>new yt(String(w),h[I].type))),[,y]=Dm(p,h);return y.length===0?[new En(l)]:y}}}return[]},a=e.flatMap(l=>o(l));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new We([]),!(i instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const l of a){if(!(l instanceof En))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!pv(i,l.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=s??UD(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,n)=>e+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=jD(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}getByteLength(e){return 0}[Symbol.iterator](){return this.batches.length>0?I0.visit(new Ke(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ + */var i0=t3,Fr=typeof Symbol=="function"&&Symbol.for,ic=Fr?Symbol.for("react.element"):60103,n3=Fr?Symbol.for("react.portal"):60106,r3=Fr?Symbol.for("react.fragment"):60107,i3=Fr?Symbol.for("react.strict_mode"):60108,s3=Fr?Symbol.for("react.profiler"):60114,o3=Fr?Symbol.for("react.provider"):60109,a3=Fr?Symbol.for("react.context"):60110,u3=Fr?Symbol.for("react.forward_ref"):60112,l3=Fr?Symbol.for("react.suspense"):60113,c3=Fr?Symbol.for("react.memo"):60115,f3=Fr?Symbol.for("react.lazy"):60116,f1=typeof Symbol=="function"&&Symbol.iterator;function sc(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;nDd.length&&Dd.push(t)}function nv(t,e,n,r){var i=typeof t;(i==="undefined"||i==="boolean")&&(t=null);var s=!1;if(t===null)s=!0;else switch(i){case"string":case"number":s=!0;break;case"object":switch(t.$$typeof){case ic:case n3:s=!0}}if(s)return n(r,t,e===""?"."+Sm(t,0):e),1;if(s=0,e=e===""?".":e+":",Array.isArray(t))for(var o=0;og3.decode(t),w3=new TextEncoder,l0=t=>w3.encode(t),[_4,_3]=(()=>{const t=()=>{throw new Error("BigInt is not available in this environment")};function e(){throw t()}return e.asIntN=()=>{throw t()},e.asUintN=()=>{throw t()},typeof BigInt<"u"?[BigInt,!0]:[e,!1]})(),[oc,b4]=(()=>{const t=()=>{throw new Error("BigInt64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigInt64Array<"u"?[BigInt64Array,!0]:[e,!1]})(),[ac,S4]=(()=>{const t=()=>{throw new Error("BigUint64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigUint64Array<"u"?[BigUint64Array,!0]:[e,!1]})(),b3=t=>typeof t=="number",Ck=t=>typeof t=="boolean",Ut=t=>typeof t=="function",Nn=t=>t!=null&&Object(t)===t,Ms=t=>Nn(t)&&Ut(t.then),uc=t=>Nn(t)&&Ut(t[Symbol.iterator]),fu=t=>Nn(t)&&Ut(t[Symbol.asyncIterator]),ov=t=>Nn(t)&&Nn(t.schema),Pk=t=>Nn(t)&&"done"in t&&"value"in t,Rk=t=>Nn(t)&&Ut(t.stat)&&b3(t.fd),Tk=t=>Nn(t)&&c0(t.body),$h=t=>"_getDOMStream"in t&&"_getNodeStream"in t,S3=t=>Nn(t)&&Ut(t.abort)&&Ut(t.getWriter)&&!$h(t),c0=t=>Nn(t)&&Ut(t.cancel)&&Ut(t.getReader)&&!$h(t),I3=t=>Nn(t)&&Ut(t.end)&&Ut(t.write)&&Ck(t.writable)&&!$h(t),Mk=t=>Nn(t)&&Ut(t.read)&&Ut(t.pipe)&&Ck(t.readable)&&!$h(t),E3=t=>Nn(t)&&Ut(t.clear)&&Ut(t.bytes)&&Ut(t.position)&&Ut(t.setPosition)&&Ut(t.capacity)&&Ut(t.getBufferIdentifier)&&Ut(t.createLong),f0=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function O3(t){const e=t[0]?[t[0]]:[];let n,r,i,s;for(let o,a,l=0,f=0,h=t.length;++lh+m.byteLength,0);let i,s,o,a=0,l=-1;const f=Math.min(e||Number.POSITIVE_INFINITY,r);for(const h=n.length;++lrt(Int32Array,t),Ue=t=>rt(Uint8Array,t),av=t=>(t.next(),t);function*k3(t,e){const n=function*(i){yield i},r=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof f0?n(e):uc(e)?e:n(e);return yield*av(function*(i){let s=null;do s=i.next(yield rt(t,s));while(!s.done)}(r[Symbol.iterator]())),new t}const D3=t=>k3(Uint8Array,t);function Nk(t,e){return kr(this,arguments,function*(){if(Ms(e))return yield ge(yield ge(yield*Df(Ds(Nk(t,yield ge(e))))));const r=function(o){return kr(this,arguments,function*(){yield yield ge(yield ge(o))})},i=function(o){return kr(this,arguments,function*(){yield ge(yield*Df(Ds(av(function*(a){let l=null;do l=a.next(yield l==null?void 0:l.value);while(!l.done)}(o[Symbol.iterator]())))))})},s=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof f0?r(e):uc(e)?i(e):fu(e)?e:r(e);return yield ge(yield*Df(Ds(av(function(o){return kr(this,arguments,function*(){let a=null;do a=yield ge(o.next(yield yield ge(rt(t,a))));while(!a.done)})}(s[Symbol.asyncIterator]()))))),yield ge(new t)})}const x3=t=>Nk(Uint8Array,t);function d0(t,e,n){if(t!==0){n=n.slice(0,e+1);for(let r=-1;++r<=e;)n[r]+=t}return n}function A3(t,e){let n=0;const r=t.length;if(r!==e.length)return!1;if(r>0)do if(t[n]!==e[n])return!1;while(++n(t.next(),t);function*C3(t){let e,n=!1,r=[],i,s,o,a=0;function l(){return s==="peek"?fi(r,o)[0]:([i,r,a]=fi(r,o),i)}({cmd:s,size:o}=yield null);const f=D3(t)[Symbol.iterator]();try{do if({done:e,value:i}=Number.isNaN(o-a)?f.next():f.next(o-a),!e&&i.byteLength>0&&(r.push(i),a+=i.byteLength),e||o<=a)do({cmd:s,size:o}=yield l());while(o0&&(i.push(s),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a0&&(i.push(Ue(s)),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return ve(this,void 0,void 0,function*(){const{reader:n,source:r}=this;n&&(yield n.cancel(e).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(e){return ve(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const n=yield this.reader.read();return!n.done&&(n.value=Ue(n)),n})}}const Im=(t,e)=>{const n=i=>r([e,i]);let r;return[e,n,new Promise(i=>(r=i)&&t.once(e,n))]};function M3(t){return kr(this,arguments,function*(){const n=[];let r="error",i=!1,s=null,o,a,l=0,f=[],h;function m(){return o==="peek"?fi(f,a)[0]:([h,f,l]=fi(f,a),h)}if({cmd:o,size:a}=yield yield ge(null),t.isTTY)return yield yield ge(new Uint8Array(0)),yield ge(null);try{n[0]=Im(t,"end"),n[1]=Im(t,"error");do{if(n[2]=Im(t,"readable"),[r,s]=yield ge(Promise.race(n.map(w=>w[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-l)?(h=Ue(t.read(a-l)),h.byteLength0&&(f.push(h),l+=h.byteLength)),i||a<=l)do({cmd:o,size:a}=yield yield ge(m()));while(a{for(const[S,_]of w)t.off(S,_);try{const S=t.destroy;S&&S.call(t,I),I=void 0}catch(S){I=S||I}finally{I!=null?F(I):E()}})}})}var Qn;(function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"})(Qn||(Qn={}));var er;(function(t){t[t.Sparse=0]="Sparse",t[t.Dense=1]="Dense"})(er||(er={}));var Cn;(function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"})(Cn||(Cn={}));var Hi;(function(t){t[t.DAY=0]="DAY",t[t.MILLISECOND=1]="MILLISECOND"})(Hi||(Hi={}));var ze;(function(t){t[t.SECOND=0]="SECOND",t[t.MILLISECOND=1]="MILLISECOND",t[t.MICROSECOND=2]="MICROSECOND",t[t.NANOSECOND=3]="NANOSECOND"})(ze||(ze={}));var Ns;(function(t){t[t.YEAR_MONTH=0]="YEAR_MONTH",t[t.DAY_TIME=1]="DAY_TIME",t[t.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(Ns||(Ns={}));var Ve;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var N;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"})(N||(N={}));var bi;(function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"})(bi||(bi={}));const N3=void 0;function Nl(t){if(t===null)return"null";if(t===N3)return"undefined";switch(typeof t){case"number":return`${t}`;case"bigint":return`${t}`;case"string":return`"${t}"`}return typeof t[Symbol.toPrimitive]=="function"?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?t instanceof oc||t instanceof ac?`[${[...t].map(e=>Nl(e))}]`:`[${t}]`:ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t,(e,n)=>typeof n=="bigint"?`${n}`:n)}const B3=Symbol.for("isArrowBigNum");function Lr(t,...e){return e.length===0?Object.setPrototypeOf(rt(this.TypedArray,t),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(t,...e),this.constructor.prototype)}Lr.prototype[B3]=!0;Lr.prototype.toJSON=function(){return`"${xo(this)}"`};Lr.prototype.valueOf=function(){return Bk(this)};Lr.prototype.toString=function(){return xo(this)};Lr.prototype[Symbol.toPrimitive]=function(t="default"){switch(t){case"number":return Bk(this);case"string":return xo(this);case"default":return uv(this)}return xo(this)};function Da(...t){return Lr.apply(this,t)}function xa(...t){return Lr.apply(this,t)}function Bl(...t){return Lr.apply(this,t)}Object.setPrototypeOf(Da.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(xa.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Bl.prototype,Object.create(Uint32Array.prototype));Object.assign(Da.prototype,Lr.prototype,{constructor:Da,signed:!0,TypedArray:Int32Array,BigIntArray:oc});Object.assign(xa.prototype,Lr.prototype,{constructor:xa,signed:!1,TypedArray:Uint32Array,BigIntArray:ac});Object.assign(Bl.prototype,Lr.prototype,{constructor:Bl,signed:!0,TypedArray:Uint32Array,BigIntArray:ac});function Bk(t){const{buffer:e,byteOffset:n,length:r,signed:i}=t,s=new ac(e,n,r),o=i&&s[s.length-1]&BigInt(1)<t.byteLength===8?new t.BigIntArray(t.buffer,t.byteOffset,1)[0]:Em(t),xo=t=>t.byteLength===8?`${new t.BigIntArray(t.buffer,t.byteOffset,1)[0]}`:Em(t)):(xo=Em,uv=xo);function Em(t){let e="";const n=new Uint32Array(2);let r=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2);const i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer);let s=-1;const o=r.length-1;do{for(n[0]=r[s=0];s(t.children=null,t.ArrayType=Array,t[Symbol.toStringTag]="DataType"))(we.prototype);let Bs=class extends we{toString(){return"Null"}get typeId(){return N.Null}};Lk=Symbol.toStringTag;Bs[Lk]=(t=>t[Symbol.toStringTag]="Null")(Bs.prototype);class Fs extends we{constructor(e,n){super(),this.isSigned=e,this.bitWidth=n}get typeId(){return N.Int}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?oc:ac}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}$k=Symbol.toStringTag;Fs[$k]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(Fs.prototype);class Fl extends Fs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Fl.prototype,"ArrayType",{value:Int32Array});class Ll extends we{constructor(e){super(),this.precision=e}get typeId(){return N.Float}get ArrayType(){switch(this.precision){case Cn.HALF:return Uint16Array;case Cn.SINGLE:return Float32Array;case Cn.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}jk=Symbol.toStringTag;Ll[jk]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(Ll.prototype);let xd=class extends we{constructor(){super()}get typeId(){return N.Binary}toString(){return"Binary"}};Uk=Symbol.toStringTag;xd[Uk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(xd.prototype);let Ad=class extends we{constructor(){super()}get typeId(){return N.Utf8}toString(){return"Utf8"}};zk=Symbol.toStringTag;Ad[zk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Ad.prototype);let Cd=class extends we{constructor(){super()}get typeId(){return N.Bool}toString(){return"Bool"}};Vk=Symbol.toStringTag;Cd[Vk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(Cd.prototype);let Pd=class extends we{constructor(e,n,r=128){super(),this.scale=e,this.precision=n,this.bitWidth=r}get typeId(){return N.Decimal}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};Kk=Symbol.toStringTag;Pd[Kk]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(Pd.prototype);class Rd extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Date}toString(){return`Date${(this.unit+1)*32}<${Hi[this.unit]}>`}}Wk=Symbol.toStringTag;Rd[Wk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Date"))(Rd.prototype);class $l extends we{constructor(e,n){super(),this.unit=e,this.bitWidth=n}get typeId(){return N.Time}toString(){return`Time${this.bitWidth}<${ze[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return oc}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}qk=Symbol.toStringTag;$l[qk]=(t=>(t.unit=null,t.bitWidth=null,t[Symbol.toStringTag]="Time"))($l.prototype);class Td extends we{constructor(e,n){super(),this.unit=e,this.timezone=n}get typeId(){return N.Timestamp}toString(){return`Timestamp<${ze[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}Hk=Symbol.toStringTag;Td[Hk]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Timestamp"))(Td.prototype);class Md extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Interval}toString(){return`Interval<${Ns[this.unit]}>`}}Qk=Symbol.toStringTag;Md[Qk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(Md.prototype);let Nd=class extends we{constructor(e){super(),this.children=[e]}get typeId(){return N.List}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};Yk=Symbol.toStringTag;Nd[Yk]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(Nd.prototype);class pn extends we{constructor(e){super(),this.children=e}get typeId(){return N.Struct}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Gk=Symbol.toStringTag;pn[Gk]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(pn.prototype);class Bd extends we{constructor(e,n,r){super(),this.mode=e,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,s,o)=>(i[s]=o)&&i||i,Object.create(null))}get typeId(){return N.Union}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}Jk=Symbol.toStringTag;Bd[Jk]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(Bd.prototype);let Fd=class extends we{constructor(e){super(),this.byteWidth=e}get typeId(){return N.FixedSizeBinary}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};Xk=Symbol.toStringTag;Fd[Xk]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(Fd.prototype);let Ld=class extends we{constructor(e,n){super(),this.listSize=e,this.children=[n]}get typeId(){return N.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};Zk=Symbol.toStringTag;Ld[Zk]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(Ld.prototype);class $d extends we{constructor(e,n=!1){super(),this.children=[e],this.keysSorted=n}get typeId(){return N.Map}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}eD=Symbol.toStringTag;$d[eD]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))($d.prototype);const F3=(t=>()=>++t)(-1);class Qa extends we{constructor(e,n,r,i){super(),this.indices=n,this.dictionary=e,this.isOrdered=i||!1,this.id=r==null?F3():typeof r=="number"?r:r.low}get typeId(){return N.Dictionary}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}tD=Symbol.toStringTag;Qa[tD]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))(Qa.prototype);function Si(t){const e=t;switch(t.typeId){case N.Decimal:return t.bitWidth/32;case N.Timestamp:return 2;case N.Date:return 1+e.unit;case N.Interval:return 1+e.unit;case N.FixedSizeList:return e.listSize;case N.FixedSizeBinary:return e.byteWidth;default:return 1}}class Be{visitMany(e,...n){return e.map((r,i)=>this.visit(r,...n.map(s=>s[i])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,n=!0){return L3(this,e,n)}getVisitFnByTypeId(e,n=!0){return ia(this,e,n)}visitNull(e,...n){return null}visitBool(e,...n){return null}visitInt(e,...n){return null}visitFloat(e,...n){return null}visitUtf8(e,...n){return null}visitBinary(e,...n){return null}visitFixedSizeBinary(e,...n){return null}visitDate(e,...n){return null}visitTimestamp(e,...n){return null}visitTime(e,...n){return null}visitDecimal(e,...n){return null}visitList(e,...n){return null}visitStruct(e,...n){return null}visitUnion(e,...n){return null}visitDictionary(e,...n){return null}visitInterval(e,...n){return null}visitFixedSizeList(e,...n){return null}visitMap(e,...n){return null}}function L3(t,e,n=!0){return typeof e=="number"?ia(t,e,n):typeof e=="string"&&e in N?ia(t,N[e],n):e&&e instanceof we?ia(t,h1(e),n):e!=null&&e.type&&e.type instanceof we?ia(t,h1(e.type),n):ia(t,N.NONE,n)}function ia(t,e,n=!0){let r=null;switch(e){case N.Null:r=t.visitNull;break;case N.Bool:r=t.visitBool;break;case N.Int:r=t.visitInt;break;case N.Int8:r=t.visitInt8||t.visitInt;break;case N.Int16:r=t.visitInt16||t.visitInt;break;case N.Int32:r=t.visitInt32||t.visitInt;break;case N.Int64:r=t.visitInt64||t.visitInt;break;case N.Uint8:r=t.visitUint8||t.visitInt;break;case N.Uint16:r=t.visitUint16||t.visitInt;break;case N.Uint32:r=t.visitUint32||t.visitInt;break;case N.Uint64:r=t.visitUint64||t.visitInt;break;case N.Float:r=t.visitFloat;break;case N.Float16:r=t.visitFloat16||t.visitFloat;break;case N.Float32:r=t.visitFloat32||t.visitFloat;break;case N.Float64:r=t.visitFloat64||t.visitFloat;break;case N.Utf8:r=t.visitUtf8;break;case N.Binary:r=t.visitBinary;break;case N.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case N.Date:r=t.visitDate;break;case N.DateDay:r=t.visitDateDay||t.visitDate;break;case N.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case N.Timestamp:r=t.visitTimestamp;break;case N.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case N.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case N.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case N.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case N.Time:r=t.visitTime;break;case N.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case N.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case N.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case N.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case N.Decimal:r=t.visitDecimal;break;case N.List:r=t.visitList;break;case N.Struct:r=t.visitStruct;break;case N.Union:r=t.visitUnion;break;case N.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case N.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case N.Dictionary:r=t.visitDictionary;break;case N.Interval:r=t.visitInterval;break;case N.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case N.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case N.FixedSizeList:r=t.visitFixedSizeList;break;case N.Map:r=t.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${N[e]}'`)}function h1(t){switch(t.typeId){case N.Null:return N.Null;case N.Int:{const{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?N.Int8:N.Uint8;case 16:return n?N.Int16:N.Uint16;case 32:return n?N.Int32:N.Uint32;case 64:return n?N.Int64:N.Uint64}return N.Int}case N.Float:switch(t.precision){case Cn.HALF:return N.Float16;case Cn.SINGLE:return N.Float32;case Cn.DOUBLE:return N.Float64}return N.Float;case N.Binary:return N.Binary;case N.Utf8:return N.Utf8;case N.Bool:return N.Bool;case N.Decimal:return N.Decimal;case N.Time:switch(t.unit){case ze.SECOND:return N.TimeSecond;case ze.MILLISECOND:return N.TimeMillisecond;case ze.MICROSECOND:return N.TimeMicrosecond;case ze.NANOSECOND:return N.TimeNanosecond}return N.Time;case N.Timestamp:switch(t.unit){case ze.SECOND:return N.TimestampSecond;case ze.MILLISECOND:return N.TimestampMillisecond;case ze.MICROSECOND:return N.TimestampMicrosecond;case ze.NANOSECOND:return N.TimestampNanosecond}return N.Timestamp;case N.Date:switch(t.unit){case Hi.DAY:return N.DateDay;case Hi.MILLISECOND:return N.DateMillisecond}return N.Date;case N.Interval:switch(t.unit){case Ns.DAY_TIME:return N.IntervalDayTime;case Ns.YEAR_MONTH:return N.IntervalYearMonth}return N.Interval;case N.Map:return N.Map;case N.List:return N.List;case N.Struct:return N.Struct;case N.Union:switch(t.mode){case er.Dense:return N.DenseUnion;case er.Sparse:return N.SparseUnion}return N.Union;case N.FixedSizeBinary:return N.FixedSizeBinary;case N.FixedSizeList:return N.FixedSizeList;case N.Dictionary:return N.Dictionary}throw new Error(`Unrecognized type '${N[t.typeId]}'`)}Be.prototype.visitInt8=null;Be.prototype.visitInt16=null;Be.prototype.visitInt32=null;Be.prototype.visitInt64=null;Be.prototype.visitUint8=null;Be.prototype.visitUint16=null;Be.prototype.visitUint32=null;Be.prototype.visitUint64=null;Be.prototype.visitFloat16=null;Be.prototype.visitFloat32=null;Be.prototype.visitFloat64=null;Be.prototype.visitDateDay=null;Be.prototype.visitDateMillisecond=null;Be.prototype.visitTimestampSecond=null;Be.prototype.visitTimestampMillisecond=null;Be.prototype.visitTimestampMicrosecond=null;Be.prototype.visitTimestampNanosecond=null;Be.prototype.visitTimeSecond=null;Be.prototype.visitTimeMillisecond=null;Be.prototype.visitTimeMicrosecond=null;Be.prototype.visitTimeNanosecond=null;Be.prototype.visitDenseUnion=null;Be.prototype.visitSparseUnion=null;Be.prototype.visitIntervalDayTime=null;Be.prototype.visitIntervalYearMonth=null;const nD=new Float64Array(1),ta=new Uint32Array(nD.buffer);function rD(t){const e=(t&31744)>>10,n=(t&1023)/1024,r=Math.pow(-1,(t&32768)>>15);switch(e){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}function $3(t){if(t!==t)return 32256;nD[0]=t;const e=(ta[1]&2147483648)>>16&65535;let n=ta[1]&2146435072,r=0;return n>=1089470464?ta[0]>0?n=31744:(n=(n&2080374784)>>16,r=(ta[1]&1048575)>>10):n<=1056964608?(r=1048576+(ta[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(ta[1]&1048575)+512>>10),e|n|r&65535}class Ee extends Be{}function xe(t){return(e,n,r)=>{if(e.setValid(n,r!=null))return t(e,n,r)}}const j3=(t,e,n)=>{t[e]=Math.trunc(n/864e5)},p0=(t,e,n)=>{t[e]=Math.trunc(n%4294967296),t[e+1]=Math.trunc(n/4294967296)},U3=(t,e,n)=>{t[e]=Math.trunc(n*1e3%4294967296),t[e+1]=Math.trunc(n*1e3/4294967296)},z3=(t,e,n)=>{t[e]=Math.trunc(n*1e6%4294967296),t[e+1]=Math.trunc(n*1e6/4294967296)},iD=(t,e,n,r)=>{if(n+1{const i=t+n;r?e[i>>3]|=1<>3]&=~(1<{t[e]=n},m0=({values:t},e,n)=>{t[e]=n},sD=({values:t},e,n)=>{t[e]=$3(n)},K3=(t,e,n)=>{switch(t.type.precision){case Cn.HALF:return sD(t,e,n);case Cn.SINGLE:case Cn.DOUBLE:return m0(t,e,n)}},oD=({values:t},e,n)=>{j3(t,e,n.valueOf())},aD=({values:t},e,n)=>{p0(t,e*2,n.valueOf())},W3=({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)},q3=({values:t,valueOffsets:e},n,r)=>iD(t,e,n,r),H3=({values:t,valueOffsets:e},n,r)=>{iD(t,e,n,l0(r))},Q3=(t,e,n)=>{t.type.unit===Hi.DAY?oD(t,e,n):aD(t,e,n)},uD=({values:t},e,n)=>p0(t,e*2,n/1e3),lD=({values:t},e,n)=>p0(t,e*2,n),cD=({values:t},e,n)=>U3(t,e*2,n),fD=({values:t},e,n)=>z3(t,e*2,n),Y3=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return uD(t,e,n);case ze.MILLISECOND:return lD(t,e,n);case ze.MICROSECOND:return cD(t,e,n);case ze.NANOSECOND:return fD(t,e,n)}},dD=({values:t},e,n)=>{t[e]=n},hD=({values:t},e,n)=>{t[e]=n},pD=({values:t},e,n)=>{t[e]=n},mD=({values:t},e,n)=>{t[e]=n},G3=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return dD(t,e,n);case ze.MILLISECOND:return hD(t,e,n);case ze.MICROSECOND:return pD(t,e,n);case ze.NANOSECOND:return mD(t,e,n)}},J3=({values:t,stride:e},n,r)=>{t.set(r.subarray(0,e),e*n)},X3=(t,e,n)=>{const r=t.children[0],i=t.valueOffsets,s=wr.getVisitFn(r);if(Array.isArray(n))for(let o=-1,a=i[e],l=i[e+1];a{const r=t.children[0],{valueOffsets:i}=t,s=wr.getVisitFn(r);let{[e]:o,[e+1]:a}=i;const l=n instanceof Map?n.entries():Object.entries(n);for(const f of l)if(s(r,o,f),++o>=a)break},e$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[s]),t$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(s)),n$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(i.name)),r$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[i.name]),i$=(t,e,n)=>{const r=t.type.children.map(s=>wr.getVisitFn(s.type)),i=n instanceof Map?n$(e,n):n instanceof Ke?t$(e,n):Array.isArray(n)?e$(e,n):r$(e,n);t.type.children.forEach((s,o)=>i(r[o],t.children[o],s,o))},s$=(t,e,n)=>{t.type.mode===er.Dense?yD(t,e,n):vD(t,e,n)},yD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];wr.visit(i,t.valueOffsets[e],n)},vD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];wr.visit(i,e,n)},o$=(t,e,n)=>{var r;(r=t.dictionary)===null||r===void 0||r.set(t.values[e],n)},a$=(t,e,n)=>{t.type.unit===Ns.DAY_TIME?gD(t,e,n):wD(t,e,n)},gD=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},wD=({values:t},e,n)=>{t[e]=n[0]*12+n[1]%12},u$=(t,e,n)=>{const{stride:r}=t,i=t.children[0],s=wr.getVisitFn(i);if(Array.isArray(n))for(let o=-1,a=e*r;++o`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new l$(this[Er],this[Aa])}}class l${constructor(e,n){this.childIndex=0,this.children=e.children,this.rowIndex=n,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return en.name)}has(e,n){return e[Er].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(e,n){if(e[Er].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Er].type.children.findIndex(i=>i.name===n);if(r!==-1){const i=Bn.visit(e[Er].children[r],e[Aa]);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Er].type.children.findIndex(s=>s.name===n);return i!==-1?(wr.visit(e[Er].children[i],e[Aa],r),Reflect.set(e,n,r)):Reflect.has(e,n)||typeof n=="symbol"?Reflect.set(e,n,r):!1}}class _e extends Be{}function Oe(t){return(e,n)=>e.getValid(n)?t(e,n):null}const f$=(t,e)=>864e5*t[e],v0=(t,e)=>4294967296*t[e+1]+(t[e]>>>0),d$=(t,e)=>4294967296*(t[e+1]/1e3)+(t[e]>>>0)/1e3,h$=(t,e)=>4294967296*(t[e+1]/1e6)+(t[e]>>>0)/1e6,_D=t=>new Date(t),p$=(t,e)=>_D(f$(t,e)),m$=(t,e)=>_D(v0(t,e)),y$=(t,e)=>null,bD=(t,e,n)=>{if(n+1>=e.length)return null;const r=e[n],i=e[n+1];return t.subarray(r,i)},v$=({offset:t,values:e},n)=>{const r=t+n;return(e[r>>3]&1<p$(t,e),ID=({values:t},e)=>m$(t,e*2),Hs=({stride:t,values:e},n)=>e[t*n],g$=({stride:t,values:e},n)=>rD(e[t*n]),ED=({values:t},e)=>t[e],w$=({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)),_$=({values:t,valueOffsets:e},n)=>bD(t,e,n),b$=({values:t,valueOffsets:e},n)=>{const r=bD(t,e,n);return r!==null?sv(r):null},S$=({values:t},e)=>t[e],I$=({type:t,values:e},n)=>t.precision!==Cn.HALF?e[n]:rD(e[n]),E$=(t,e)=>t.type.unit===Hi.DAY?SD(t,e):ID(t,e),OD=({values:t},e)=>1e3*v0(t,e*2),kD=({values:t},e)=>v0(t,e*2),DD=({values:t},e)=>d$(t,e*2),xD=({values:t},e)=>h$(t,e*2),O$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return OD(t,e);case ze.MILLISECOND:return kD(t,e);case ze.MICROSECOND:return DD(t,e);case ze.NANOSECOND:return xD(t,e)}},AD=({values:t},e)=>t[e],CD=({values:t},e)=>t[e],PD=({values:t},e)=>t[e],RD=({values:t},e)=>t[e],k$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return AD(t,e);case ze.MILLISECOND:return CD(t,e);case ze.MICROSECOND:return PD(t,e);case ze.NANOSECOND:return RD(t,e)}},D$=({values:t,stride:e},n)=>h0.decimal(t.subarray(e*n,e*(n+1))),x$=(t,e)=>{const{valueOffsets:n,stride:r,children:i}=t,{[e*r]:s,[e*r+1]:o}=n,l=i[0].slice(s,o-s);return new Ke([l])},A$=(t,e)=>{const{valueOffsets:n,children:r}=t,{[e]:i,[e+1]:s}=n,o=r[0];return new g0(o.slice(i,s-i))},C$=(t,e)=>new y0(t,e),P$=(t,e)=>t.type.mode===er.Dense?TD(t,e):MD(t,e),TD=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Bn.visit(r,t.valueOffsets[e])},MD=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Bn.visit(r,e)},R$=(t,e)=>{var n;return(n=t.dictionary)===null||n===void 0?void 0:n.get(t.values[e])},T$=(t,e)=>t.type.unit===Ns.DAY_TIME?ND(t,e):BD(t,e),ND=({values:t},e)=>t.subarray(2*e,2*(e+1)),BD=({values:t},e)=>{const n=t[e],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},M$=(t,e)=>{const{stride:n,children:r}=t,s=r[0].slice(e*n,n);return new Ke([s])};_e.prototype.visitNull=Oe(y$);_e.prototype.visitBool=Oe(v$);_e.prototype.visitInt=Oe(S$);_e.prototype.visitInt8=Oe(Hs);_e.prototype.visitInt16=Oe(Hs);_e.prototype.visitInt32=Oe(Hs);_e.prototype.visitInt64=Oe(ED);_e.prototype.visitUint8=Oe(Hs);_e.prototype.visitUint16=Oe(Hs);_e.prototype.visitUint32=Oe(Hs);_e.prototype.visitUint64=Oe(ED);_e.prototype.visitFloat=Oe(I$);_e.prototype.visitFloat16=Oe(g$);_e.prototype.visitFloat32=Oe(Hs);_e.prototype.visitFloat64=Oe(Hs);_e.prototype.visitUtf8=Oe(b$);_e.prototype.visitBinary=Oe(_$);_e.prototype.visitFixedSizeBinary=Oe(w$);_e.prototype.visitDate=Oe(E$);_e.prototype.visitDateDay=Oe(SD);_e.prototype.visitDateMillisecond=Oe(ID);_e.prototype.visitTimestamp=Oe(O$);_e.prototype.visitTimestampSecond=Oe(OD);_e.prototype.visitTimestampMillisecond=Oe(kD);_e.prototype.visitTimestampMicrosecond=Oe(DD);_e.prototype.visitTimestampNanosecond=Oe(xD);_e.prototype.visitTime=Oe(k$);_e.prototype.visitTimeSecond=Oe(AD);_e.prototype.visitTimeMillisecond=Oe(CD);_e.prototype.visitTimeMicrosecond=Oe(PD);_e.prototype.visitTimeNanosecond=Oe(RD);_e.prototype.visitDecimal=Oe(D$);_e.prototype.visitList=Oe(x$);_e.prototype.visitStruct=Oe(C$);_e.prototype.visitUnion=Oe(P$);_e.prototype.visitDenseUnion=Oe(TD);_e.prototype.visitSparseUnion=Oe(MD);_e.prototype.visitDictionary=Oe(R$);_e.prototype.visitInterval=Oe(T$);_e.prototype.visitIntervalDayTime=Oe(ND);_e.prototype.visitIntervalYearMonth=Oe(BD);_e.prototype.visitFixedSizeList=Oe(M$);_e.prototype.visitMap=Oe(A$);const Bn=new _e,Xr=Symbol.for("keys"),Ca=Symbol.for("vals");class g0{constructor(e){return this[Xr]=new Ke([e.children[0]]).memoize(),this[Ca]=e.children[1],new Proxy(this,new B$)}[Symbol.iterator](){return new N$(this[Xr],this[Ca])}get size(){return this[Xr].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[Xr],n=this[Ca],r={};for(let i=-1,s=e.length;++i`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class N${constructor(e,n){this.keys=e,this.vals=n,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Bn.visit(this.vals,e)]})}}class B${isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[Xr].toArray().map(String)}has(e,n){return e[Xr].includes(n)}getOwnPropertyDescriptor(e,n){if(e[Xr].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Xr].indexOf(n);if(r!==-1){const i=Bn.visit(Reflect.get(e,Ca),r);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Xr].indexOf(n);return i!==-1?(wr.visit(Reflect.get(e,Ca),i,r),Reflect.set(e,n,r)):Reflect.has(e,n)?Reflect.set(e,n,r):!1}}Object.defineProperties(g0.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[Xr]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Ca]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let p1;function FD(t,e,n,r){const{length:i=0}=t;let s=typeof e!="number"?0:e,o=typeof n!="number"?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(t,s,o):[s,o]}const m1=t=>t!==t;function du(t){if(typeof t!=="object"||t===null)return m1(t)?m1:n=>n===t;if(t instanceof Date){const n=t.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(t)?n=>n?A3(t,n):!1:t instanceof Map?L$(t):Array.isArray(t)?F$(t):t instanceof Ke?$$(t):j$(t,!0)}function F$(t){const e=[];for(let n=-1,r=t.length;++n!1;const r=[];for(let i=-1,s=n.length;++i{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return U$(t,n);case Map:return y1(t,n,n.keys());case g0:case y0:case Object:case void 0:return y1(t,n,e||Object.keys(n))}return n instanceof Ke?z$(t,n):!1}}function U$(t,e){const n=t.length;if(e.length!==n)return!1;for(let r=-1;++r>r}function w0(t,e,n){const r=n.byteLength+7&-8;if(t>0||n.byteLength>3):jd(new _0(n,t,e,null,LD)).subarray(0,r)),i}return n}function jd(t){const e=[];let n=0,r=0,i=0;for(const o of t)o&&(i|=1<0)&&(e[n++]=i);const s=new Uint8Array(e.length+7&-8);return s.set(e),s}class _0{constructor(e,n,r,i,s){this.bytes=e,this.length=r,this.context=i,this.get=s,this.bit=n%8,this.byteIndex=n>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=e+(e%8===0?0:8-e%8);return lv(t,e,i)+lv(t,r,n)+K$(t,i>>3,r-i>>3)}function K$(t,e,n){let r=0,i=Math.trunc(e);const s=new DataView(t.buffer,t.byteOffset,t.byteLength),o=n===void 0?t.byteLength:i+n;for(;o-i>=4;)r+=Om(s.getUint32(i)),i+=4;for(;o-i>=2;)r+=Om(s.getUint16(i)),i+=2;for(;o-i>=1;)r+=Om(s.getUint8(i)),i+=1;return r}function Om(t){let e=Math.trunc(t);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const W$=-1;class at{constructor(e,n,r,i,s,o=[],a){this.type=e,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let l;s instanceof at?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=Si(e),s&&((l=s[0])&&(this.valueOffsets=l),(l=s[1])&&(this.values=l),(l=s[2])&&(this.nullBitmap=l),(l=s[3])&&(this.typeIds=l))),this.nullable=this._nullCount!==0&&this.nullBitmap&&this.nullBitmap.byteLength>0}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get byteLength(){let e=0;const{valueOffsets:n,values:r,nullBitmap:i,typeIds:s}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,e)}get nullCount(){let e=this._nullCount,n;return e<=W$&&(n=this.nullBitmap)&&(this._nullCount=e=this.length-lv(n,this.offset,this.offset+this.length)),e}getValid(e){if(this.nullable&&this.nullCount>0){const n=this.offset+e;return(this.nullBitmap[n>>3]&1<>3){const{nullBitmap:l}=this._changeLengthAndBackfillNullBitmap(this.length);Object.assign(this,{nullBitmap:l,_nullCount:0})}const{nullBitmap:r,offset:i}=this,s=i+e>>3,o=(i+e)%8,a=r[s]>>o&1;return n?a===0&&(r[s]|=1<>3).fill(255,0,n>>3);i[n>>3]=(1<0&&i.set(w0(this.offset,n,this.nullBitmap),0);const s=this.buffers;return s[bi.VALIDITY]=i,this.clone(this.type,0,e,r+(e-n),s)}_sliceBuffers(e,n,r,i){let s;const{buffers:o}=this;return(s=o[bi.TYPE])&&(o[bi.TYPE]=s.subarray(e,e+n)),(s=o[bi.OFFSET])&&(o[bi.OFFSET]=s.subarray(e,e+n+1))||(s=o[bi.DATA])&&(o[bi.DATA]=i===6?s:s.subarray(r*e,r*(e+n))),o}_sliceChildren(e,n,r){return e.map(i=>i.slice(n,r))}}at.prototype.children=Object.freeze([]);class ol extends Be{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:n,["offset"]:r=0,["length"]:i=0}=e;return new at(n,r,i,0)}visitBool(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length>>3,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitInt(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFloat(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitUtf8(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitFixedSizeBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDate(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTimestamp(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTime(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDecimal(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitList(e){const{["type"]:n,["offset"]:r=0,["child"]:i}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}visitStruct(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),{length:o=i.reduce((l,{length:f})=>Math.max(l,f),0),nullCount:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],i)}visitUnion(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),o=rt(n.ArrayType,e.typeIds),{["length"]:a=o.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;if(we.isSparseUnion(n))return new at(n,r,a,l,[void 0,void 0,s,o],i);const f=Fu(e.valueOffsets);return new at(n,r,a,l,[f,void 0,s,o],i)}visitDictionary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.indices.ArrayType,e.data),{["dictionary"]:o=new Ke([new ol().visit({type:n.dictionary})])}=e,{["length"]:a=s.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[void 0,s,i],[],o)}visitInterval(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFixedSizeList(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.valueType})}=e,s=Ue(e.nullBitmap),{["length"]:o=i.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],[i])}visitMap(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.childType})}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}}function Ne(t){return new ol().visit(t)}class v1{constructor(e=0,n){this.numChunks=e,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe+n.nullCount,0)}function jD(t){return t.reduce((e,n,r)=>(e[r+1]=e[r]+n.length,e),new Uint32Array(t.length+1))}function UD(t,e,n,r){const i=[];for(let s=-1,o=t.length;++s=r)break;if(n>=l+f)continue;if(l>=n&&l+f<=r){i.push(a);continue}const h=Math.max(0,n-l),m=Math.min(r-l,f);i.push(a.slice(h,m-h))}return i.length===0&&i.push(t[0].slice(0,0)),i}function b0(t,e,n,r){let i=0,s=0,o=e.length-1;do{if(i>=o-1)return n0?0:-1}function H$(t,e){const{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(const i of new _0(n,t.offset+(e||0),t.length,n,LD)){if(!i)return r;++r}return-1}function Ce(t,e,n){if(e===void 0)return-1;if(e===null)return H$(t,n);const r=Bn.getVisitFn(t),i=du(e);for(let s=(n||0)-1,o=t.length;++s{const i=t.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new v1(t.data.length,r=>{const s=t.data[r].length,o=t.slice(n,n+s);return n+=s,new Q$(o)})}class Q${constructor(e){this.vector=e,this.index=0}next(){return this.indext+e;class Qs extends Be{visitNull(e,n){return 0}visitInt(e,n){return e.type.bitWidth/8}visitFloat(e,n){return e.type.ArrayType.BYTES_PER_ELEMENT}visitBool(e,n){return 1/8}visitDecimal(e,n){return e.type.bitWidth/8}visitDate(e,n){return(e.type.unit+1)*4}visitTime(e,n){return e.type.bitWidth/8}visitTimestamp(e,n){return e.type.unit===ze.SECOND?4:8}visitInterval(e,n){return(e.type.unit+1)*4}visitStruct(e,n){return e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitFixedSizeBinary(e,n){return e.type.byteWidth}visitMap(e,n){return 8+e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitDictionary(e,n){var r;return e.type.indices.bitWidth/8+(((r=e.dictionary)===null||r===void 0?void 0:r.getByteLength(e.values[n]))||0)}}const G$=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),J$=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),X$=({valueOffsets:t,stride:e,children:n},r)=>{const i=n[0],{[r*e]:s}=t,{[r*e+1]:o}=t,a=di.getVisitFn(i.type),l=i.slice(s,o-s);let f=8;for(let h=-1,m=o-s;++h{const r=e[0],i=r.slice(n*t,t),s=di.getVisitFn(r.type);let o=0;for(let a=-1,l=i.length;++at.type.mode===er.Dense?WD(t,e):qD(t,e),WD=({type:t,children:e,typeIds:n,valueOffsets:r},i)=>{const s=t.typeIdToChildIndex[n[i]];return 8+di.visit(e[s],r[i])},qD=({children:t},e)=>4+di.visitMany(t,t.map(()=>e)).reduce(Y$,0);Qs.prototype.visitUtf8=G$;Qs.prototype.visitBinary=J$;Qs.prototype.visitList=X$;Qs.prototype.visitFixedSizeList=Z$;Qs.prototype.visitUnion=ej;Qs.prototype.visitDenseUnion=WD;Qs.prototype.visitSparseUnion=qD;const di=new Qs;var HD;const QD={},YD={};class Ke{constructor(e){var n,r,i;const s=e[0]instanceof Ke?e.flatMap(a=>a.data):e;if(s.length===0||s.some(a=>!(a instanceof at)))throw new TypeError("Vector constructor expects an Array of Data instances.");const o=(n=s[0])===null||n===void 0?void 0:n.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{const{get:a,set:l,indexOf:f,byteLength:h}=QD[o.typeId],m=s[0];this.isValid=y=>S0(m,y),this.get=y=>a(m,y),this.set=(y,w)=>l(m,y,w),this.indexOf=y=>f(m,y),this.getByteLength=y=>h(m,y),this._offsets=[0,m.length];break}default:Object.setPrototypeOf(this,YD[o.typeId]),this._offsets=jD(s);break}this.data=s,this.type=o,this.stride=Si(o),this.numChildren=(i=(r=o.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets[this._offsets.length-1]}get byteLength(){return this._byteLength===-1&&(this._byteLength=this.data.reduce((e,n)=>e+n.byteLength,0)),this._byteLength}get nullCount(){return this._nullCount===-1&&(this._nullCount=$D(this.data)),this._nullCount}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${N[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}includes(e,n){return this.indexOf(e,n)>0}getByteLength(e){return 0}[Symbol.iterator](){return I0.visit(this)}concat(...e){return new Ke(this.data.concat(e.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(e,n){return new Ke(FD(this,e,n,({data:r,_offsets:i},s,o)=>UD(r,i,s,o)))}toJSON(){return[...this]}toArray(){const{type:e,data:n,length:r,stride:i,ArrayType:s}=this;switch(e.typeId){case N.Int:case N.Float:case N.Decimal:case N.Time:case N.Timestamp:switch(n.length){case 0:return new s;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((o,{values:a,length:l})=>(o.array.set(a.subarray(0,l*i),o.offset),o.offset+=l*i,o),{array:new s(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&en[e])):null}get isMemoized(){return we.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(we.isDictionary(this.type)){const e=new zd(this.data[0].dictionary),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return new zd(this)}unmemoize(){if(we.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return this}}HD=Symbol.toStringTag;Ke[HD]=(t=>{t.type=we.prototype,t.data=[],t.length=0,t.stride=1,t.numChildren=0,t._nullCount=-1,t._byteLength=-1,t._offsets=new Uint32Array([0]),t[Symbol.isConcatSpreadable]=!0;const e=Object.keys(N).map(n=>N[n]).filter(n=>typeof n=="number"&&n!==N.NONE);for(const n of e){const r=Bn.getVisitFnByTypeId(n),i=wr.getVisitFnByTypeId(n),s=Ud.getVisitFnByTypeId(n),o=di.getVisitFnByTypeId(n);QD[n]={get:r,set:i,indexOf:s,byteLength:o},YD[n]=Object.create(t,{isValid:{value:Pa(S0)},get:{value:Pa(Bn.getVisitFnByTypeId(n))},set:{value:zD(wr.getVisitFnByTypeId(n))},indexOf:{value:VD(Ud.getVisitFnByTypeId(n))},getByteLength:{value:Pa(di.getVisitFnByTypeId(n))}})}return"Vector"})(Ke.prototype);class zd extends Ke{constructor(e){super(e.data);const n=this.get,r=this.set,i=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){const a=s[o];if(a!==void 0)return a;const l=n.call(this,o);return s[o]=l,l}}),Object.defineProperty(this,"set",{value(o,a){r.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new zd(i.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Ke(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class cv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,n,r,i){return e.prep(8,24),e.writeInt64(i),e.pad(4),e.writeInt32(r),e.writeInt64(n),e.offset()}}const km=2,Zr=4,ki=4,st=4,fs=new Int32Array(2),g1=new Float32Array(fs.buffer),w1=new Float64Array(fs.buffer),ff=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;let Ni=class fv{constructor(e,n){this.low=e|0,this.high=n|0}static create(e,n){return e==0&&n==0?fv.ZERO:new fv(e,n)}toFloat64(){return(this.low>>>0)+this.high*4294967296}equals(e){return this.low==e.low&&this.high==e.high}};Ni.ZERO=new Ni(0,0);var dv;(function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"})(dv||(dv={}));let Ya=class GD{constructor(e){this.bytes_=e,this.position_=0}static allocate(e){return new GD(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return new Ni(this.readInt32(e),this.readInt32(e+4))}readUint64(e){return new Ni(this.readUint32(e),this.readUint32(e+4))}readFloat32(e){return fs[0]=this.readInt32(e),g1[0]}readFloat64(e){return fs[ff?0:1]=this.readInt32(e),fs[ff?1:0]=this.readInt32(e+4),w1[0]}writeInt8(e,n){this.bytes_[e]=n}writeUint8(e,n){this.bytes_[e]=n}writeInt16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeUint16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeInt32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeUint32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeInt64(e,n){this.writeInt32(e,n.low),this.writeInt32(e+4,n.high)}writeUint64(e,n){this.writeUint32(e,n.low),this.writeUint32(e+4,n.high)}writeFloat32(e,n){g1[0]=n,this.writeInt32(e,fs[0])}writeFloat64(e,n){w1[0]=n,this.writeInt32(e,fs[ff?0:1]),this.writeInt32(e+4,fs[ff?1:0])}getBufferIdentifier(){if(this.bytes_.length>10)+55296,(o&1024-1)+56320))}return i}__union_with_string(e,n){return typeof e=="string"?this.__string(n):this.__union(e,n)}__indirect(e){return e+this.readInt32(e)}__vector(e){return e+this.readInt32(e)+Zr}__vector_len(e){return this.readInt32(e+this.readInt32(e))}__has_identifier(e){if(e.length!=ki)throw new Error("FlatBuffers: file identifier must be length "+ki);for(let n=0;nthis.minalign&&(this.minalign=e);const r=~(this.bb.capacity()-this.space+n)+1&e-1;for(;this.space=0&&this.vtable[n]==0;n--);const r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?e-this.vtable[n]:0);const i=2;this.addInt16(e-this.object_start);const s=(r+i)*km;this.addInt16(s);let o=0;const a=this.space;e:for(n=0;n=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,Zr+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,n){this.finish(e,n,!0)}requiredField(e,n){const r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(!(this.bb.readInt16(i+n)!=0))throw new Error("FlatBuffers: field "+n+" must be set")}startVector(e,n,r){this.notNested(),this.vector_num_elems=n,this.prep(Zr,e*n),this.prep(r,e*n)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(e){if(!e)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(e))return this.string_maps.get(e);const n=this.createString(e);return this.string_maps.set(e,n),n}createString(e){if(!e)return 0;let n;if(e instanceof Uint8Array)n=e;else{n=[];let r=0;for(;r=56320)i=s;else{const o=e.charCodeAt(r++);i=(s<<10)+o+(65536-56623104-56320)}i<128?n.push(i):(i<2048?n.push(i>>6&31|192):(i<65536?n.push(i>>12&15|224):n.push(i>>18&7|240,i>>12&63|128),n.push(i>>6&63|128)),n.push(i&63|128))}}this.addInt8(0),this.startVector(1,n.length,1),this.bb.setPosition(this.space-=n.length);for(let r=0,i=this.space,s=this.bb.bytes();r=0;r--)e.addInt32(n[r]);return e.endVector()}static startTypeIdsVector(e,n){e.startVector(4,n,4)}static endUnion(e){return e.endObject()}static createUnion(e,n,r){return In.startUnion(e),In.addMode(e,n),In.addTypeIds(e,r),In.endUnion(e)}}class bo{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsUtf8(e,n){return(n||new bo).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,n){return e.setPosition(e.position()+st),(n||new bo).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return bo.startUtf8(e),bo.endUtf8(e)}}var _t;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.FloatingPoint=3]="FloatingPoint",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct_=13]="Struct_",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.LargeList=21]="LargeList"})(_t||(_t={}));let lr=class Ff{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsField(e,n){return(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,n){return e.setPosition(e.position()+st),(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}name(e){const n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):_t.NONE}type(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(e,this.bb_pos+n):null}dictionary(e){const n=this.bb.__offset(this.bb_pos,12);return n?(e||new Di).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(e,n){const r=this.bb.__offset(this.bb_pos,14);return r?(n||new Ff).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,16);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,n){e.addFieldOffset(0,n,0)}static addNullable(e,n){e.addFieldInt8(1,+n,0)}static addTypeType(e,n){e.addFieldInt8(2,n,_t.NONE)}static addType(e,n){e.addFieldOffset(3,n,0)}static addDictionary(e,n){e.addFieldOffset(4,n,0)}static addChildren(e,n){e.addFieldOffset(5,n,0)}static createChildrenVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startChildrenVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(6,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endField(e){return e.endObject()}},qr=class wi{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsSchema(e,n){return(n||new wi).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,n){return e.setPosition(e.position()+st),(n||new wi).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ja.Little}fields(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new lr).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+e*8):this.bb.createLong(0,0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,n){e.addFieldInt16(0,n,Ja.Little)}static addFields(e,n){e.addFieldOffset(1,n,0)}static createFieldsVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startFieldsVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(2,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static addFeatures(e,n){e.addFieldOffset(3,n,0)}static createFeaturesVector(e,n){e.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)e.addInt64(n[r]);return e.endVector()}static startFeaturesVector(e,n){e.startVector(8,n,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,n){e.finish(n)}static finishSizePrefixedSchemaBuffer(e,n){e.finish(n,void 0,!0)}static createSchema(e,n,r,i,s){return wi.startSchema(e),wi.addEndianness(e,n),wi.addFields(e,r),wi.addCustomMetadata(e,i),wi.addFeatures(e,s),wi.endSchema(e)}};class Kn{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsFooter(e,n){return(n||new Kn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,n){return e.setPosition(e.position()+st),(n||new Kn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ga.V1}schema(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new qr).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new cv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,n){const r=this.bb.__offset(this.bb_pos,10);return r?(n||new cv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ga.V1)}static addSchema(e,n){e.addFieldOffset(1,n,0)}static addDictionaries(e,n){e.addFieldOffset(2,n,0)}static startDictionariesVector(e,n){e.startVector(24,n,8)}static addRecordBatches(e,n){e.addFieldOffset(3,n,0)}static startRecordBatchesVector(e,n){e.startVector(24,n,8)}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,n){e.finish(n)}static finishSizePrefixedFooterBuffer(e,n){e.finish(n,void 0,!0)}}class We{constructor(e=[],n,r){this.fields=e||[],this.metadata=n||new Map,r||(r=hv(e)),this.dictionaries=r}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,n)=>`${n}: ${e}`).join(", ")} }>`}select(e){const n=new Set(e),r=this.fields.filter(i=>n.has(i.name));return new We(r,this.metadata)}selectAt(e){const n=e.map(r=>this.fields[r]).filter(Boolean);return new We(n,this.metadata)}assign(...e){const n=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),r=[...this.fields],i=df(df(new Map,this.metadata),n.metadata),s=n.fields.filter(a=>{const l=r.findIndex(f=>f.name===a.name);return~l?(r[l]=a.clone({metadata:df(df(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),o=hv(s,new Map);return new We([...r,...s],i,new Map([...this.dictionaries,...o]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class yt{constructor(e,n,r=!1,i){this.name=e,this.type=n,this.nullable=r,this.metadata=i||new Map}static new(...e){let[n,r,i,s]=e;return e[0]&&typeof e[0]=="object"&&({name:n}=e[0],r===void 0&&(r=e[0].type),i===void 0&&(i=e[0].nullable),s===void 0&&(s=e[0].metadata)),new yt(`${n}`,r,i,s)}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[n,r,i,s]=e;return!e[0]||typeof e[0]!="object"?[n=this.name,r=this.type,i=this.nullable,s=this.metadata]=e:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:s=this.metadata}=e[0],yt.new(n,r,i,s)}}yt.prototype.type=null;yt.prototype.name=null;yt.prototype.nullable=null;yt.prototype.metadata=null;function df(t,e){return new Map([...t||new Map,...e||new Map])}function hv(t,e=new Map){for(let n=-1,r=t.length;++n0&&hv(s.children,e)}return e}var _1=Ni,tj=JD,nj=Ya;class jl{constructor(e,n=Qn.V4,r,i){this.schema=e,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}static decode(e){e=new nj(Ue(e));const n=Kn.getRootAsFooter(e),r=We.decode(n.schema());return new rj(r,n)}static encode(e){const n=new tj,r=We.encode(n,e.schema);Kn.startRecordBatchesVector(n,e.numRecordBatches);for(const o of[...e.recordBatches()].slice().reverse())Ls.encode(n,o);const i=n.endVector();Kn.startDictionariesVector(n,e.numDictionaries);for(const o of[...e.dictionaryBatches()].slice().reverse())Ls.encode(n,o);const s=n.endVector();return Kn.startFooter(n),Kn.addSchema(n,r),Kn.addVersion(n,Qn.V4),Kn.addRecordBatches(n,i),Kn.addDictionaries(n,s),Kn.finishFooterBuffer(n,Kn.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}*recordBatches(){for(let e,n=-1,r=this.numRecordBatches;++n=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(St);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return cr.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return cr.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return ve(this,void 0,void 0,function*(){return yield this.abort(e),St})}return(e){return ve(this,void 0,void 0,function*(){return yield this.close(),St})}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(St)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class Lf extends ij{write(e){if((e=Ue(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?sv(this.toUint8Array(!0)):this.toUint8Array(!1).then(sv)}toUint8Array(e=!1){return e?fi(this._values)[0]:(()=>ve(this,void 0,void 0,function*(){var n,r;const i=[];let s=0;try{for(var o=Ds(this),a;a=yield o.next(),!a.done;){const l=a.value;i.push(l),s+=l.byteLength}}catch(l){n={error:l}}finally{try{a&&!a.done&&(r=o.return)&&(yield r.call(o))}finally{if(n)throw n.error}}return fi(i,s)[0]}))()}}class Qd{constructor(e){e&&(this.source=new sj(cr.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Za{constructor(e){e instanceof Za?this.source=e.source:e instanceof Lf?this.source=new ao(cr.fromAsyncIterable(e)):Mk(e)?this.source=new ao(cr.fromNodeStream(e)):c0(e)?this.source=new ao(cr.fromDOMStream(e)):Tk(e)?this.source=new ao(cr.fromDOMStream(e.body)):uc(e)?this.source=new ao(cr.fromIterable(e)):Ms(e)?this.source=new ao(cr.fromAsyncIterable(e)):fu(e)&&(this.source=new ao(cr.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class sj{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,n="read"){return this.source.next({cmd:n,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||St)}return(e){return Object.create(this.source.return&&this.source.return(e)||St)}}class ao{constructor(e){this.source=e,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e,n="read"){return ve(this,void 0,void 0,function*(){return yield this.source.next({cmd:n,size:e})})}throw(e){return ve(this,void 0,void 0,function*(){const n=this.source.throw&&(yield this.source.throw(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(e){return ve(this,void 0,void 0,function*(){const n=this.source.return&&(yield this.source.return(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}}class S1 extends Qd{constructor(e,n){super(),this.position=0,this.buffer=Ue(e),this.size=typeof n>"u"?this.buffer.byteLength:n}readInt32(e){const{buffer:n,byteOffset:r}=this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),eve(this,void 0,void 0,function*(){this.size=(yield e.stat()).size,delete this._pending}))()}readInt32(e){return ve(this,void 0,void 0,function*(){const{buffer:n,byteOffset:r}=yield this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)})}seek(e){return ve(this,void 0,void 0,function*(){return this._pending&&(yield this._pending),this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let i=n[3]*r[3];this.buffer[0]=i&65535;let s=i>>>16;return i=n[2]*r[3],s+=i,i=n[3]*r[2]>>>0,s+=i,this.buffer[0]+=s<<16,this.buffer[1]=s>>>0>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(e){const n=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],n>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(e){return this.buffer[1]>>0,n[2]=this.buffer[2]+e.buffer[2]>>>0,n[1]=this.buffer[1]+e.buffer[1]>>>0,n[0]=this.buffer[0]+e.buffer[0]>>>0,n[0]>>0&&++n[1],n[1]>>0&&++n[2],n[2]>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${_a(this.buffer[3])} ${_a(this.buffer[2])} ${_a(this.buffer[1])} ${_a(this.buffer[0])}`}static multiply(e,n){return new Hr(new Uint32Array(e.buffer)).times(n)}static add(e,n){return new Hr(new Uint32Array(e.buffer)).plus(n)}static from(e,n=new Uint32Array(4)){return Hr.fromString(typeof e=="string"?e:e.toString(),n)}static fromNumber(e,n=new Uint32Array(4)){return Hr.fromString(e.toString(),n)}static fromString(e,n=new Uint32Array(4)){const r=e.startsWith("-"),i=e.length,s=new Hr(n);for(let o=r?1:0;o0&&this.readData(e,r)||new Uint8Array(0)}readOffsets(e,n){return this.readData(e,n)}readTypeIds(e,n){return this.readData(e,n)}readData(e,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(e){return this.dictionaries.get(e.id)}}class aj extends ex{constructor(e,n,r,i){super(new Uint8Array(0),n,r,i),this.sources=e}readNullBitmap(e,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):jd(this.sources[r])}readOffsets(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(Int32Array,this.sources[n]))}readTypeIds(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(e.ArrayType,this.sources[n]))}readData(e,{offset:n}=this.nextBufferRange()){const{sources:r}=this;return we.isTimestamp(e)||(we.isInt(e)||we.isTime(e))&&e.bitWidth===64||we.isDate(e)&&e.unit===Hi.MILLISECOND?rt(Uint8Array,_n.convertArray(r[n])):we.isDecimal(e)?rt(Uint8Array,Hr.convertArray(r[n])):we.isBinary(e)||we.isFixedSizeBinary(e)?uj(r[n]):we.isBool(e)?jd(r[n]):we.isUtf8(e)?l0(r[n].join("")):rt(Uint8Array,rt(e.ArrayType,r[n].map(i=>+i)))}}function uj(t){const e=t.join(""),n=new Uint8Array(e.length/2);for(let r=0;r>1]=Number.parseInt(e.slice(r,r+2),16);return n}class Ie extends Be{compareSchemas(e,n){return e===n||n instanceof e.constructor&&this.compareManyFields(e.fields,n.fields)}compareManyFields(e,n){return e===n||Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((r,i)=>this.compareFields(r,n[i]))}compareFields(e,n){return e===n||n instanceof e.constructor&&e.name===n.name&&e.nullable===n.nullable&&this.visit(e.type,n.type)}}function jn(t,e){return e instanceof t.constructor}function lc(t,e){return t===e||jn(t,e)}function Ji(t,e){return t===e||jn(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function Uh(t,e){return t===e||jn(t,e)&&t.precision===e.precision}function lj(t,e){return t===e||jn(t,e)&&t.byteWidth===e.byteWidth}function k0(t,e){return t===e||jn(t,e)&&t.unit===e.unit}function cc(t,e){return t===e||jn(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function fc(t,e){return t===e||jn(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function cj(t,e){return t===e||jn(t,e)&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function fj(t,e){return t===e||jn(t,e)&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function D0(t,e){return t===e||jn(t,e)&&t.mode===e.mode&&t.typeIds.every((n,r)=>n===e.typeIds[r])&&$s.compareManyFields(t.children,e.children)}function dj(t,e){return t===e||jn(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&$s.visit(t.indices,e.indices)&&$s.visit(t.dictionary,e.dictionary)}function x0(t,e){return t===e||jn(t,e)&&t.unit===e.unit}function hj(t,e){return t===e||jn(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function pj(t,e){return t===e||jn(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}Ie.prototype.visitNull=lc;Ie.prototype.visitBool=lc;Ie.prototype.visitInt=Ji;Ie.prototype.visitInt8=Ji;Ie.prototype.visitInt16=Ji;Ie.prototype.visitInt32=Ji;Ie.prototype.visitInt64=Ji;Ie.prototype.visitUint8=Ji;Ie.prototype.visitUint16=Ji;Ie.prototype.visitUint32=Ji;Ie.prototype.visitUint64=Ji;Ie.prototype.visitFloat=Uh;Ie.prototype.visitFloat16=Uh;Ie.prototype.visitFloat32=Uh;Ie.prototype.visitFloat64=Uh;Ie.prototype.visitUtf8=lc;Ie.prototype.visitBinary=lc;Ie.prototype.visitFixedSizeBinary=lj;Ie.prototype.visitDate=k0;Ie.prototype.visitDateDay=k0;Ie.prototype.visitDateMillisecond=k0;Ie.prototype.visitTimestamp=cc;Ie.prototype.visitTimestampSecond=cc;Ie.prototype.visitTimestampMillisecond=cc;Ie.prototype.visitTimestampMicrosecond=cc;Ie.prototype.visitTimestampNanosecond=cc;Ie.prototype.visitTime=fc;Ie.prototype.visitTimeSecond=fc;Ie.prototype.visitTimeMillisecond=fc;Ie.prototype.visitTimeMicrosecond=fc;Ie.prototype.visitTimeNanosecond=fc;Ie.prototype.visitDecimal=lc;Ie.prototype.visitList=cj;Ie.prototype.visitStruct=fj;Ie.prototype.visitUnion=D0;Ie.prototype.visitDenseUnion=D0;Ie.prototype.visitSparseUnion=D0;Ie.prototype.visitDictionary=dj;Ie.prototype.visitInterval=x0;Ie.prototype.visitIntervalDayTime=x0;Ie.prototype.visitIntervalYearMonth=x0;Ie.prototype.visitFixedSizeList=hj;Ie.prototype.visitMap=pj;const $s=new Ie;function pv(t,e){return $s.compareSchemas(t,e)}function Dm(t,e){return mj(t,e.map(n=>n.data.concat()))}function mj(t,e){const n=[...t.fields],r=[],i={numBatches:e.reduce((m,y)=>Math.max(m,y.length),0)};let s=0,o=0,a=-1;const l=e.length;let f,h=[];for(;i.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a0&&(r[s++]=Ne({type:new pn(n),length:o,nullCount:0,children:h.slice()})))}return[t=t.assign(n),r.map(m=>new En(t,m))]}function yj(t,e,n,r,i){var s;const o=(e+63&-64)>>3;for(let a=-1,l=r.length;++a=e)h===e?n[a]=f:(n[a]=f.slice(0,e),i.numBatches=Math.max(i.numBatches,r[a].unshift(f.slice(e,h-e))));else{const m=t[a];t[a]=m.clone({nullable:!0}),n[a]=(s=f==null?void 0:f._changeLengthAndBackfillNullBitmap(e))!==null&&s!==void 0?s:Ne({type:m.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)})}}return n}var tx;class hn{constructor(...e){var n,r;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let i,s;e[0]instanceof We&&(i=e.shift()),e[e.length-1]instanceof Uint32Array&&(s=e.pop());const o=l=>{if(l){if(l instanceof En)return[l];if(l instanceof hn)return l.batches;if(l instanceof at){if(l.type instanceof pn)return[new En(new We(l.type.children),l)]}else{if(Array.isArray(l))return l.flatMap(f=>o(f));if(typeof l[Symbol.iterator]=="function")return[...l].flatMap(f=>o(f));if(typeof l=="object"){const f=Object.keys(l),h=f.map(w=>new Ke([l[w]])),m=new We(f.map((w,I)=>new yt(String(w),h[I].type))),[,y]=Dm(m,h);return y.length===0?[new En(l)]:y}}}return[]},a=e.flatMap(l=>o(l));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new We([]),!(i instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const l of a){if(!(l instanceof En))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!pv(i,l.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=s??jD(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,n)=>e+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=$D(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}getByteLength(e){return 0}[Symbol.iterator](){return this.batches.length>0?I0.visit(new Ke(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ ${this.toArray().join(`, `)} -]`}concat(...e){const n=this.schema,r=this.data.concat(e.flatMap(({data:i})=>i));return new hn(n,r.map(i=>new En(n,i)))}slice(e,n){const r=this.schema;[e,n]=LD({length:this.numRows},e,n);const i=zD(this.data,this._offsets,e,n);return new hn(r,i.map(s=>new En(r,s)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===e))}getChildAt(e){if(e>-1&&er.children[e]);if(n.length===0){const{type:r}=this.schema.fields[e],i=Ne({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new Ke(n)}return null}setChild(e,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===e),n)}setChildAt(e,n){let r=this.schema,i=[...this.batches];if(e>-1&&ethis.getChildAt(f));[s[e],a[e]]=[o,n],[r,i]=Dm(r,a)}return new hn(r,i)}select(e){const n=this.schema.fields.reduce((r,i,s)=>r.set(i.name,s),new Map);return this.selectAt(e.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(e){const n=this.schema.selectAt(e),r=this.batches.map(i=>i.selectAt(e));return new hn(n,r)}assign(e){const n=this.schema.fields,[r,i]=e.schema.fields.reduce((a,l,f)=>{const[h,p]=a,y=n.findIndex(w=>w.name===l.name);return~y?p[y]=f:h.push(f),a},[[],[]]),s=this.schema.assign(e.schema),o=[...n.map((a,l)=>[l,i[l]]).map(([a,l])=>l===void 0?this.getChildAt(a):e.getChildAt(l)),...r.map(a=>e.getChildAt(a))].filter(Boolean);return new hn(...Dm(s,o))}}nx=Symbol.toStringTag;hn[nx]=(t=>(t.schema=null,t.batches=[],t._offsets=new Uint32Array([0]),t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,t.isValid=Ra(S0),t.get=Ra(Bn.getVisitFn(N.Struct)),t.set=VD(wr.getVisitFn(N.Struct)),t.indexOf=KD(Ud.getVisitFn(N.Struct)),t.getByteLength=Ra(di.getVisitFn(N.Struct)),"Table"))(hn.prototype);var rx;let En=class Vu{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Ne({nullCount:0,type:new pn(this.schema.fields),children:this.schema.fields.map(n=>Ne({type:n.type,nullCount:0}))})]=e,!(this.data instanceof at))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=E1(this.schema,this.data.children);break}case 1:{const[n]=e,{fields:r,children:i,length:s}=Object.keys(n).reduce((l,f,h)=>(l.children[h]=n[f],l.length=Math.max(l.length,n[f].length),l.fields[h]=yt.new({name:f,type:n[f].type,nullable:!0}),l),{length:0,fields:new Array,children:new Array}),o=new We(r),a=Ne({type:new pn(r),length:s,children:i,nullCount:0});[this.schema,this.data]=E1(o,a.children,s);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=ix(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Bn.visit(this.data,e)}set(e,n){return wr.visit(this.data,e,n)}indexOf(e,n){return Ud.visit(this.data,e,n)}getByteLength(e){return di.visit(this.data,e)}[Symbol.iterator](){return I0.visit(new Ke([this.data]))}toArray(){return[...this]}concat(...e){return new hn(this.schema,[this,...e])}slice(e,n){const[r]=new Ke([this.data]).slice(e,n).data;return new Vu(this.schema,r)}getChild(e){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&ei.name===e),n)}setChildAt(e,n){let r=this.schema,i=this.data;if(e>-1&&ea.name===s);~o&&(i[o]=this.data.children[o])}return new Vu(n,Ne({type:r,length:this.numRows,children:i}))}selectAt(e){const n=this.schema.selectAt(e),r=e.map(s=>this.data.children[s]).filter(Boolean),i=Ne({type:new pn(n.fields),length:this.numRows,children:r});return new Vu(n,i)}};rx=Symbol.toStringTag;En[rx]=(t=>(t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(En.prototype);function E1(t,e,n=e.reduce((r,i)=>Math.max(r,i.length),0)){var r;const i=[...t.fields],s=[...e],o=(n+63&-64)>>3;for(const[a,l]of t.fields.entries()){const f=e[a];(!f||f.length!==n)&&(i[a]=l.clone({nullable:!0}),s[a]=(r=f==null?void 0:f._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Ne({type:l.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[t.assign(i),Ne({type:new pn(i),length:n,children:s})]}function ix(t,e,n=new Map){for(let r=-1,i=t.length;++r0&&ix(o.children,a.children,n)}return n}class C0 extends En{constructor(e){const n=e.fields.map(i=>Ne({type:i.type})),r=Ne({type:new pn(e.fields),nullCount:0,children:n});super(e,r)}}var Gd;(function(t){t[t.BUFFER=0]="BUFFER"})(Gd||(Gd={}));var Jd;(function(t){t[t.LZ4_FRAME=0]="LZ4_FRAME",t[t.ZSTD=1]="ZSTD"})(Jd||(Jd={}));class ds{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsBodyCompression(e,n){return(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBodyCompression(e,n){return e.setPosition(e.position()+st),(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}codec(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt8(this.bb_pos+e):Jd.LZ4_FRAME}method(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt8(this.bb_pos+e):Gd.BUFFER}static startBodyCompression(e){e.startObject(2)}static addCodec(e,n){e.addFieldInt8(0,n,Jd.LZ4_FRAME)}static addMethod(e,n){e.addFieldInt8(1,n,Gd.BUFFER)}static endBodyCompression(e){return e.endObject()}static createBodyCompression(e,n,r){return ds.startBodyCompression(e),ds.addCodec(e,n),ds.addMethod(e,r),ds.endBodyCompression(e)}}class sx{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}}let ox=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}},Si=class mv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsRecordBatch(e,n){return(n||new mv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsRecordBatch(e,n){return e.setPosition(e.position()+st),(n||new mv).__init(e.readInt32(e.position())+e.position(),e)}length(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}nodes(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new ox).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}nodesLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}buffers(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new sx).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}buffersLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}compression(e){const n=this.bb.__offset(this.bb_pos,10);return n?(e||new ds).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startRecordBatch(e){e.startObject(4)}static addLength(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addNodes(e,n){e.addFieldOffset(1,n,0)}static startNodesVector(e,n){e.startVector(16,n,8)}static addBuffers(e,n){e.addFieldOffset(2,n,0)}static startBuffersVector(e,n){e.startVector(16,n,8)}static addCompression(e,n){e.addFieldOffset(3,n,0)}static endRecordBatch(e){return e.endObject()}},ua=class yv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsDictionaryBatch(e,n){return(n||new yv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsDictionaryBatch(e,n){return e.setPosition(e.position()+st),(n||new yv).__init(e.readInt32(e.position())+e.position(),e)}id(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}data(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Si).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isDelta(){const e=this.bb.__offset(this.bb_pos,8);return e?!!this.bb.readInt8(this.bb_pos+e):!1}static startDictionaryBatch(e){e.startObject(3)}static addId(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addData(e,n){e.addFieldOffset(1,n,0)}static addIsDelta(e,n){e.addFieldInt8(2,+n,0)}static endDictionaryBatch(e){return e.endObject()}};var Xd;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Xd||(Xd={}));let os=class Wr{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsMessage(e,n){return(n||new Wr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,n){return e.setPosition(e.position()+st),(n||new Wr).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ja.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Xd.NONE}header(e){const n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(e,this.bb_pos+n):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ja.V1)}static addHeaderType(e,n){e.addFieldInt8(1,n,Xd.NONE)}static addHeader(e,n){e.addFieldOffset(2,n,0)}static addBodyLength(e,n){e.addFieldInt64(3,n,e.createLong(0,0))}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,n){e.finish(n)}static finishSizePrefixedMessageBuffer(e,n){e.finish(n,void 0,!0)}static createMessage(e,n,r,i,s,o){return Wr.startMessage(e),Wr.addVersion(e,n),Wr.addHeaderType(e,r),Wr.addHeader(e,i),Wr.addBodyLength(e,s),Wr.addCustomMetadata(e,o),Wr.endMessage(e)}};var Ej=Mi;class Oj extends Be{visit(e,n){return e==null||n==null?void 0:super.visit(e,n)}visitNull(e,n){return wo.startNull(n),wo.endNull(n)}visitInt(e,n){return qn.startInt(n),qn.addBitWidth(n,e.bitWidth),qn.addIsSigned(n,e.isSigned),qn.endInt(n)}visitFloat(e,n){return ri.startFloatingPoint(n),ri.addPrecision(n,e.precision),ri.endFloatingPoint(n)}visitBinary(e,n){return yo.startBinary(n),yo.endBinary(n)}visitBool(e,n){return vo.startBool(n),vo.endBool(n)}visitUtf8(e,n){return bo.startUtf8(n),bo.endUtf8(n)}visitDecimal(e,n){return bn.startDecimal(n),bn.addScale(n,e.scale),bn.addPrecision(n,e.precision),bn.addBitWidth(n,e.bitWidth),bn.endDecimal(n)}visitDate(e,n){return Nf.startDate(n),Nf.addUnit(n,e.unit),Nf.endDate(n)}visitTime(e,n){return hr.startTime(n),hr.addUnit(n,e.unit),hr.addBitWidth(n,e.bitWidth),hr.endTime(n)}visitTimestamp(e,n){const r=e.timezone&&n.createString(e.timezone)||void 0;return pr.startTimestamp(n),pr.addUnit(n,e.unit),r!==void 0&&pr.addTimezone(n,r),pr.endTimestamp(n)}visitInterval(e,n){return ii.startInterval(n),ii.addUnit(n,e.unit),ii.endInterval(n)}visitList(e,n){return go.startList(n),go.endList(n)}visitStruct(e,n){return _o.startStruct_(n),_o.endStruct_(n)}visitUnion(e,n){In.startTypeIdsVector(n,e.typeIds.length);const r=In.createTypeIdsVector(n,e.typeIds);return In.startUnion(n),In.addMode(n,e.mode),In.addTypeIds(n,r),In.endUnion(n)}visitDictionary(e,n){const r=this.visit(e.indices,n);return ki.startDictionaryEncoding(n),ki.addId(n,new Ej(e.id,0)),ki.addIsOrdered(n,e.isOrdered),r!==void 0&&ki.addIndexType(n,r),ki.endDictionaryEncoding(n)}visitFixedSizeBinary(e,n){return ti.startFixedSizeBinary(n),ti.addByteWidth(n,e.byteWidth),ti.endFixedSizeBinary(n)}visitFixedSizeList(e,n){return ni.startFixedSizeList(n),ni.addListSize(n,e.listSize),ni.endFixedSizeList(n)}visitMap(e,n){return Bf.startMap(n),Bf.addKeysSorted(n,e.keysSorted),Bf.endMap(n)}}const xm=new Oj;function kj(t,e=new Map){return new We(xj(t,e),$f(t.customMetadata),e)}function ax(t){return new tr(t.count,ux(t.columns),lx(t.columns))}function Dj(t){return new hi(ax(t.data),t.id,t.isDelta)}function xj(t,e){return(t.fields||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function O1(t,e){return(t.children||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function ux(t){return(t||[]).reduce((e,n)=>[...e,new Wo(n.count,Cj(n.VALIDITY)),...ux(n.children)],[])}function lx(t,e=[]){for(let n=-1,r=(t||[]).length;++ne+ +(n===0),0)}function Aj(t,e){let n,r,i,s,o,a;return!e||!(s=t.dictionary)?(o=D1(t,O1(t,e)),i=new yt(t.name,o,t.nullable,$f(t.customMetadata))):e.has(n=s.id)?(r=(r=s.indexType)?k1(r):new Fl,a=new Ya(e.get(n),r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))):(r=(r=s.indexType)?k1(r):new Fl,e.set(n,o=D1(t,O1(t,e))),a=new Ya(o,r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))),i||null}function $f(t){return new Map(Object.entries(t||{}))}function k1(t){return new Fs(t.isSigned,t.bitWidth)}function D1(t,e){const n=t.type.name;switch(n){case"NONE":return new Bs;case"null":return new Bs;case"binary":return new xd;case"utf8":return new Cd;case"bool":return new Ad;case"list":return new Nd((e||[])[0]);case"struct":return new pn(e||[]);case"struct_":return new pn(e||[])}switch(n){case"int":{const r=t.type;return new Fs(r.isSigned,r.bitWidth)}case"floatingpoint":{const r=t.type;return new Ll(An[r.precision])}case"decimal":{const r=t.type;return new Pd(r.scale,r.precision,r.bitWidth)}case"date":{const r=t.type;return new Rd(qi[r.unit])}case"time":{const r=t.type;return new $l(ze[r.unit],r.bitWidth)}case"timestamp":{const r=t.type;return new Td(ze[r.unit],r.timezone)}case"interval":{const r=t.type;return new Md(Ns[r.unit])}case"union":{const r=t.type;return new Bd(er[r.mode],r.typeIds||[],e||[])}case"fixedsizebinary":{const r=t.type;return new Fd(r.byteWidth)}case"fixedsizelist":{const r=t.type;return new Ld(r.listSize,(e||[])[0])}case"map":{const r=t.type;return new $d((e||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var jo=Mi,Pj=XD,Rj=Ga;class mn{constructor(e,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=typeof e=="number"?e:e.low}static fromJSON(e,n){const r=new mn(0,Qn.V4,n);return r._createHeader=Tj(e,n),r}static decode(e){e=new Rj(Ue(e));const n=os.getRootAsMessage(e),r=n.bodyLength(),i=n.version(),s=n.headerType(),o=new mn(r,i,s);return o._createHeader=Mj(n,s),o}static encode(e){const n=new Pj;let r=-1;return e.isSchema()?r=We.encode(n,e.header()):e.isRecordBatch()?r=tr.encode(n,e.header()):e.isDictionaryBatch()&&(r=hi.encode(n,e.header())),os.startMessage(n),os.addVersion(n,Qn.V4),os.addHeader(n,r),os.addHeaderType(n,e.headerType),os.addBodyLength(n,new jo(e.bodyLength,0)),os.finishMessageBuffer(n,os.endMessage(n)),n.asUint8Array()}static from(e,n=0){if(e instanceof We)return new mn(0,Qn.V4,Ve.Schema,e);if(e instanceof tr)return new mn(n,Qn.V4,Ve.RecordBatch,e);if(e instanceof hi)return new mn(n,Qn.V4,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}}class tr{constructor(e,n,r){this._nodes=n,this._buffers=r,this._length=typeof e=="number"?e:e.low}get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}}class hi{constructor(e,n,r=!1){this._data=e,this._isDelta=r,this._id=typeof n=="number"?n:n.low}get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}}class oi{constructor(e,n){this.offset=typeof e=="number"?e:e.low,this.length=typeof n=="number"?n:n.low}}class Wo{constructor(e,n){this.length=typeof e=="number"?e:e.low,this.nullCount=typeof n=="number"?n:n.low}}function Tj(t,e){return()=>{switch(e){case Ve.Schema:return We.fromJSON(t);case Ve.RecordBatch:return tr.fromJSON(t);case Ve.DictionaryBatch:return hi.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}function Mj(t,e){return()=>{switch(e){case Ve.Schema:return We.decode(t.header(new Hr));case Ve.RecordBatch:return tr.decode(t.header(new Si),t.version());case Ve.DictionaryBatch:return hi.decode(t.header(new ua),t.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}yt.encode=Wj;yt.decode=Vj;yt.fromJSON=Aj;We.encode=Kj;We.decode=Nj;We.fromJSON=kj;tr.encode=qj;tr.decode=Bj;tr.fromJSON=ax;hi.encode=Hj;hi.decode=Fj;hi.fromJSON=Dj;Wo.encode=Qj;Wo.decode=$j;oi.encode=Yj;oi.decode=Lj;function Nj(t,e=new Map){const n=zj(t,e);return new We(n,jf(t),e)}function Bj(t,e=Qn.V4){if(t.compression()!==null)throw new Error("Record batch compression not implemented");return new tr(t.length(),jj(t),Uj(t,e))}function Fj(t,e=Qn.V4){return new hi(tr.decode(t.data(),e),t.id(),t.isDelta())}function Lj(t){return new oi(t.offset(),t.length())}function $j(t){return new Wo(t.length(),t.nullCount())}function jj(t){const e=[];for(let n,r=-1,i=-1,s=t.nodesLength();++ryt.encode(t,s));Hr.startFieldsVector(t,n.length);const r=Hr.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?Hr.createCustomMetadataVector(t,[...e.metadata].map(([s,o])=>{const a=t.createString(`${s}`),l=t.createString(`${o}`);return zt.startKeyValue(t),zt.addKey(t,a),zt.addValue(t,l),zt.endKeyValue(t)})):-1;return Hr.startSchema(t),Hr.addFields(t,r),Hr.addEndianness(t,Gj?Xa.Little:Xa.Big),i!==-1&&Hr.addCustomMetadata(t,i),Hr.endSchema(t)}function Wj(t,e){let n=-1,r=-1,i=-1;const s=e.type;let o=e.typeId;we.isDictionary(s)?(o=s.dictionary.typeId,i=xm.visit(s,t),r=xm.visit(s.dictionary,t)):r=xm.visit(s,t);const a=(s.children||[]).map(h=>yt.encode(t,h)),l=lr.createChildrenVector(t,a),f=e.metadata&&e.metadata.size>0?lr.createCustomMetadataVector(t,[...e.metadata].map(([h,p])=>{const y=t.createString(`${h}`),w=t.createString(`${p}`);return zt.startKeyValue(t),zt.addKey(t,y),zt.addValue(t,w),zt.endKeyValue(t)})):-1;return e.name&&(n=t.createString(e.name)),lr.startField(t),lr.addType(t,r),lr.addTypeType(t,o),lr.addChildren(t,l),lr.addNullable(t,!!e.nullable),n!==-1&&lr.addName(t,n),i!==-1&&lr.addDictionary(t,i),f!==-1&&lr.addCustomMetadata(t,f),lr.endField(t)}function qj(t,e){const n=e.nodes||[],r=e.buffers||[];Si.startNodesVector(t,n.length);for(const o of n.slice().reverse())Wo.encode(t,o);const i=t.endVector();Si.startBuffersVector(t,r.length);for(const o of r.slice().reverse())oi.encode(t,o);const s=t.endVector();return Si.startRecordBatch(t),Si.addLength(t,new jo(e.length,0)),Si.addNodes(t,i),Si.addBuffers(t,s),Si.endRecordBatch(t)}function Hj(t,e){const n=tr.encode(t,e.data);return ua.startDictionaryBatch(t),ua.addId(t,new jo(e.id,0)),ua.addIsDelta(t,e.isDelta),ua.addData(t,n),ua.endDictionaryBatch(t)}function Qj(t,e){return ox.createFieldNode(t,new jo(e.length,0),new jo(e.nullCount,0))}function Yj(t,e){return sx.createBuffer(t,new jo(e.offset,0),new jo(e.length,0))}const Gj=(()=>{const t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),new Int16Array(t)[0]===256})(),A0=t=>`Expected ${Ve[t]} Message in stream, but was null or length 0.`,P0=t=>`Header pointer of flatbuffer-encoded ${Ve[t]} Message is null or length 0.`,cx=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,fx=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`;class dx{constructor(e){this.source=e instanceof Qd?e:new Qd(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?St:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(A0(e));return n.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const n=Ue(this.source.read(e));if(n.byteLength[...i,...s.VALIDITY&&[s.VALIDITY]||[],...s.TYPE&&[s.TYPE]||[],...s.OFFSET&&[s.OFFSET]||[],...s.DATA&&[s.DATA]||[],...n(s.children)],[])}}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(A0(e));return n.value}readSchema(){const e=Ve.Schema,n=this.readMessage(e),r=n==null?void 0:n.header();if(!n||!r)throw new Error(P0(e));return r}}const zh=4,vv="ARROW1",Ul=new Uint8Array(vv.length);for(let t=0;tthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return cr.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return cr.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof Ni?e:ov(e)?r4(e):Tk(e)?o4(e):Ms(e)?(()=>ve(this,void 0,void 0,function*(){return yield Ni.from(yield e)}))():Mk(e)||c0(e)||Nk(e)||fu(e)?s4(new eu(e)):i4(new Qd(e))}static readAll(e){return e instanceof Ni?e.isSync()?P1(e):R1(e):ov(e)||ArrayBuffer.isView(e)||lc(e)||Rk(e)?P1(e):R1(e)}}class Zd extends Ni{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return kr(this,arguments,function*(){yield ge(yield*Df(Ds(this[Symbol.iterator]())))})}}class eh extends Ni{constructor(e){super(e),this._impl=e}readAll(){var e,n;return ve(this,void 0,void 0,function*(){const r=new Array;try{for(var i=Ds(this),s;s=yield i.next(),!s.done;){const o=s.value;r.push(o)}}catch(o){e={error:o}}finally{try{s&&!s.done&&(n=i.return)&&(yield n.call(i))}finally{if(e)throw e.error}}return r})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class px extends Zd{constructor(e){super(e),this._impl=e}}class e4 extends eh{constructor(e){super(e),this._impl=e}}class mx{constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,n){const r=this._loadVectors(e,n,this.schema.fields),i=Ne({type:new pn(this.schema.fields),length:e.length,children:r});return new En(this.schema,i)}_loadDictionaryBatch(e,n){const{id:r,isDelta:i}=e,{dictionaries:s,schema:o}=this,a=s.get(r);if(i||!a){const l=o.dictionaries.get(r),f=this._loadVectors(e.data,n,[l]);return(a&&i?a.concat(new Ke(f)):new Ke(f)).memoize()}return a.memoize()}_loadVectors(e,n,r){return new tx(n,e.nodes,e.buffers,this.dictionaries).visitMany(r)}}class th extends mx{constructor(e,n){super(n),this._reader=ov(e)?new Xj(this._handle=e):new dx(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=vx(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):St}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):St}next(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new C0(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class nh extends mx{constructor(e,n){super(n),this._reader=new Jj(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return ve(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return ve(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=vx(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):St})}return(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):St})}next(){return ve(this,void 0,void 0,function*(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new C0(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class yx extends th{constructor(e,n){super(e instanceof I1?e:new I1(e),n)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var n;if(this.closed)return null;this._footer||this.open();const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null}_readDictionaryBatch(e){var n;const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}}_readFooter(){const{_handle:e}=this,n=e.size-hx,r=e.readInt32(n),i=e.readAt(n-r,r);return jl.decode(i)}_readNextMessageAndValidate(e){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return ve(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,e)})}readRecordBatch(e){var n;return ve(this,void 0,void 0,function*(){if(this.closed)return null;this._footer||(yield this.open());const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null})}_readDictionaryBatch(e){var n;return ve(this,void 0,void 0,function*(){const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}})}_readFooter(){return ve(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const n=e.size-hx,r=yield e.readInt32(n),i=yield e.readAt(n-r,r);return jl.decode(i)})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?R0(e)?new px(new yx(t.read())):new Zd(new th(t)):new Zd(new th(function*(){}()))}function s4(t){return ve(this,void 0,void 0,function*(){const e=yield t.peek(hc+7&-8);return e&&e.byteLength>=4?R0(e)?new px(new yx(yield t.read())):new eh(new nh(t)):new eh(new nh(function(){return kr(this,arguments,function*(){})}()))})}function o4(t){return ve(this,void 0,void 0,function*(){const{size:e}=yield t.stat(),n=new Yd(t,e);return e>=Zj&&R0(yield n.readAt(0,hc+7&-8))?new e4(new t4(n)):new eh(new nh(n))})}class $t extends Be{constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}static assemble(...e){const n=i=>i.flatMap(s=>Array.isArray(s)?n(s):s instanceof En?s.data.children:s.data),r=new $t;return r.visitMany(n(e)),r}visit(e){if(e instanceof Ke)return this.visitMany(e.data),this;const{type:n}=e;if(!we.isDictionary(n)){const{length:r,nullCount:i}=e;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");we.isNull(n)||Ar.call(this,i<=0?new Uint8Array(0):w0(e.offset,r,e.nullBitmap)),this.nodes.push(new Wo(r,i))}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}}function Ar(t){const e=t.byteLength+7&-8;return this.buffers.push(t),this.bufferRegions.push(new oi(this._byteLength,e)),this._byteLength+=e,this}function a4(t){const{type:e,length:n,typeIds:r,valueOffsets:i}=t;if(Ar.call(this,r),e.mode===er.Sparse)return gv.call(this,t);if(e.mode===er.Dense){if(t.offset<=0)return Ar.call(this,i),gv.call(this,t);{const s=r.reduce((h,p)=>Math.max(h,p),r[0]),o=new Int32Array(s+1),a=new Int32Array(s+1).fill(-1),l=new Int32Array(n),f=d0(-i[0],n,i);for(let h,p,y=-1;++y=t.length?Ar.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?Ar.call(this,w0(t.offset,t.length,e)):Ar.call(this,jd(t.values))}function Ys(t){return Ar.call(this,t.values.subarray(0,t.length*t.stride))}function gx(t){const{length:e,values:n,valueOffsets:r}=t,i=r[0],s=r[e],o=Math.min(s-i,n.byteLength-i);return Ar.call(this,d0(-r[0],e,r)),Ar.call(this,n.subarray(i,i+o)),this}function T0(t){const{length:e,valueOffsets:n}=t;return n&&Ar.call(this,d0(n[0],e,n)),this.visit(t.children[0])}function gv(t){return this.visitMany(t.type.children.map((e,n)=>t.children[n]).filter(Boolean))[0]}$t.prototype.visitBool=u4;$t.prototype.visitInt=Ys;$t.prototype.visitFloat=Ys;$t.prototype.visitUtf8=gx;$t.prototype.visitBinary=gx;$t.prototype.visitFixedSizeBinary=Ys;$t.prototype.visitDate=Ys;$t.prototype.visitTimestamp=Ys;$t.prototype.visitTime=Ys;$t.prototype.visitDecimal=Ys;$t.prototype.visitList=T0;$t.prototype.visitStruct=gv;$t.prototype.visitUnion=a4;$t.prototype.visitInterval=Ys;$t.prototype.visitFixedSizeList=T0;$t.prototype.visitMap=T0;class wx extends E0{constructor(e){super(),this._position=0,this._started=!1,this._sink=new Lf,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Nn(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof e.autoDestroy=="boolean"?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat=="boolean"?e.writeLegacyIpcFormat:!1}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Ms(e)?e.then(n=>this.writeAll(n)):fu(e)?F0(this,e):B0(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,n=null){return e===this._sink||e instanceof Lf?this._sink=e:(this._sink=new Lf,e&&C3(e)?this.toDOMStream({type:"bytes"}).pipeTo(e):e&&A3(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!n||!pv(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(e){let n=null;if(this._sink){if(e==null)return this.finish()&&void 0;if(e instanceof hn&&!(n=e.schema))return this.finish()&&void 0;if(e instanceof En&&!(n=e.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!pv(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}e instanceof En?e instanceof C0||this._writeRecordBatch(e):e instanceof hn?this.writeAll(e.batches):lc(e)&&this.writeAll(e)}_writeMessage(e,n=8){const r=n-1,i=mn.encode(e),s=i.byteLength,o=this._writeLegacyIpcFormat?4:8,a=s+o+r&~r,l=a-s-o;return e.headerType===Ve.RecordBatch?this._recordBatchBlocks.push(new Ls(a,e.bodyLength,this._position)):e.headerType===Ve.DictionaryBatch&&this._dictionaryBlocks.push(new Ls(a,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),s>0&&this._write(i),this._writePadding(l)}_write(e){if(this._started){const n=Ue(e);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(e){return this._writeMessage(mn.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Ul)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){const{byteLength:n,nodes:r,bufferRegions:i,buffers:s}=$t.assemble(e),o=new tr(e.numRows,r,i),a=mn.from(o,n);return this._writeDictionaries(e)._writeMessage(a)._writeBodyBuffers(s)}_writeDictionaryBatch(e,n,r=!1){this._dictionaryDeltaOffsets.set(n,e.length+(this._dictionaryDeltaOffsets.get(n)||0));const{byteLength:i,nodes:s,bufferRegions:o,buffers:a}=$t.assemble(new Ke([e])),l=new tr(e.length,s,o),f=new hi(l,n,r),h=mn.from(f,i);return this._writeMessage(h)._writeBodyBuffers(a)}_writeBodyBuffers(e){let n,r,i;for(let s=-1,o=e.length;++s0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(e){for(let[n,r]of e.dictionaries){let i=this._dictionaryDeltaOffsets.get(n)||0;if(i===0||(r=r==null?void 0:r.slice(i)).length>0)for(const s of r.data)this._writeDictionaryBatch(s,n,i>0),i+=s.length}return this}}class M0 extends wx{static writeAll(e,n){const r=new M0(n);return Ms(e)?e.then(i=>r.writeAll(i)):fu(e)?F0(r,e):B0(r,e)}}class N0 extends wx{static writeAll(e){const n=new N0;return Ms(e)?e.then(r=>n.writeAll(r)):fu(e)?F0(n,e):B0(n,e)}constructor(){super(),this._autoDestroy=!0}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeFooter(e){const n=jl.encode(new jl(e,Qn.V4,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}}function B0(t,e){let n=e;e instanceof hn&&(n=e.batches,t.reset(void 0,e.schema));for(const r of n)t.write(r);return t.finish()}function F0(t,e){var n,r,i,s;return ve(this,void 0,void 0,function*(){try{for(n=Ds(e);r=yield n.next(),!r.done;){const o=r.value;t.write(o)}}catch(o){i={error:o}}finally{try{r&&!r.done&&(s=n.return)&&(yield s.call(n))}finally{if(i)throw i.error}}return t.finish()})}function Ku(t){const e=Ni.from(t);return Ms(e)?e.then(n=>Ku(n)):e.isAsync()?e.readAll().then(n=>new hn(n)):new hn(e.readAll())}function Cm(t,e="stream"){return(e==="stream"?M0:N0).writeAll(t).toUint8Array(!0)}var T1=function(){function t(e,n,r,i){var s=this;this.getCell=function(o,a){var l=o=s.headerRows&&a=s.headerColumns;if(l){var p=["blank"];return a>0&&p.push("level"+o),{type:"blank",classNames:p.join(" "),content:""}}else if(h){var y=a-s.headerColumns,p=["col_heading","level"+o,"col"+y];return{type:"columns",classNames:p.join(" "),content:s.getContent(s.columnsTable,y,o)}}else if(f){var w=o-s.headerRows,p=["row_heading","level"+a,"row"+w];return{type:"index",id:"T_".concat(s.uuid,"level").concat(a,"_row").concat(w),classNames:p.join(" "),content:s.getContent(s.indexTable,w,a)}}else{var w=o-s.headerRows,y=a-s.headerColumns,p=["data","row"+w,"col"+y],I=s.styler?s.getContent(s.styler.displayValuesTable,w,y):s.getContent(s.dataTable,w,y);return{type:"data",id:"T_".concat(s.uuid,"row").concat(w,"_col").concat(y),classNames:p.join(" "),content:I}}},this.getContent=function(o,a,l){var f=o.getChildAt(l);if(f===null)return"";var h=s.getColumnTypeId(o,l);switch(h){case N.Timestamp:return s.nanosToDate(f.get(a));default:return f.get(a)}},this.dataTable=Ku(e),this.indexTable=Ku(n),this.columnsTable=Ku(r),this.styler=i?{caption:i.caption,displayValuesTable:Ku(i.displayValues),styles:i.styles,uuid:i.uuid}:void 0}return Object.defineProperty(t.prototype,"rows",{get:function(){return this.indexTable.numRows+this.columnsTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this.indexTable.numCols+this.columnsTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerRows",{get:function(){return this.rows-this.dataRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerColumns",{get:function(){return this.columns-this.dataColumns},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataRows",{get:function(){return this.dataTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumns",{get:function(){return this.dataTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"uuid",{get:function(){return this.styler&&this.styler.uuid},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"caption",{get:function(){return this.styler&&this.styler.caption},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"styles",{get:function(){return this.styler&&this.styler.styles},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"table",{get:function(){return this.dataTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"index",{get:function(){return this.indexTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columnTable",{get:function(){return this.columnsTable},enumerable:!1,configurable:!0}),t.prototype.serialize=function(){return{data:Cm(this.dataTable),index:Cm(this.indexTable),columns:Cm(this.columnsTable)}},t.prototype.getColumnTypeId=function(e,n){return e.schema.fields[n].type.typeId},t.prototype.nanosToDate=function(e){return new Date(e/1e6)},t}(),al=function(){return al=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0?t.argsDataframeToObject(e.dfs):{};n=al(al({},n),r);var i=!!e.disabled,s=e.theme;s&&l4(s);var o={disabled:i,args:n,theme:s},a=new CustomEvent(t.RENDER_EVENT,{detail:o});t.events.dispatchEvent(a)},t.argsDataframeToObject=function(e){var n=e.map(function(r){var i=r.key,s=r.value;return[i,t.toArrowTable(s)]});return Object.fromEntries(n)},t.toArrowTable=function(e){var n,r=(n=e.data,n.data),i=n.index,s=n.columns,o=n.styler;return new T1(r,i,s,o)},t.sendBackMsg=function(e,n){window.parent.postMessage(al({isStreamlitMessage:!0,type:e},n),"*")},t}(),l4=function(t){var e=document.createElement("style");document.head.appendChild(e),e.innerHTML=` +]`}concat(...e){const n=this.schema,r=this.data.concat(e.flatMap(({data:i})=>i));return new hn(n,r.map(i=>new En(n,i)))}slice(e,n){const r=this.schema;[e,n]=FD({length:this.numRows},e,n);const i=UD(this.data,this._offsets,e,n);return new hn(r,i.map(s=>new En(r,s)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===e))}getChildAt(e){if(e>-1&&er.children[e]);if(n.length===0){const{type:r}=this.schema.fields[e],i=Ne({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new Ke(n)}return null}setChild(e,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===e),n)}setChildAt(e,n){let r=this.schema,i=[...this.batches];if(e>-1&&ethis.getChildAt(f));[s[e],a[e]]=[o,n],[r,i]=Dm(r,a)}return new hn(r,i)}select(e){const n=this.schema.fields.reduce((r,i,s)=>r.set(i.name,s),new Map);return this.selectAt(e.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(e){const n=this.schema.selectAt(e),r=this.batches.map(i=>i.selectAt(e));return new hn(n,r)}assign(e){const n=this.schema.fields,[r,i]=e.schema.fields.reduce((a,l,f)=>{const[h,m]=a,y=n.findIndex(w=>w.name===l.name);return~y?m[y]=f:h.push(f),a},[[],[]]),s=this.schema.assign(e.schema),o=[...n.map((a,l)=>[l,i[l]]).map(([a,l])=>l===void 0?this.getChildAt(a):e.getChildAt(l)),...r.map(a=>e.getChildAt(a))].filter(Boolean);return new hn(...Dm(s,o))}}tx=Symbol.toStringTag;hn[tx]=(t=>(t.schema=null,t.batches=[],t._offsets=new Uint32Array([0]),t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,t.isValid=Pa(S0),t.get=Pa(Bn.getVisitFn(N.Struct)),t.set=zD(wr.getVisitFn(N.Struct)),t.indexOf=VD(Ud.getVisitFn(N.Struct)),t.getByteLength=Pa(di.getVisitFn(N.Struct)),"Table"))(hn.prototype);var nx;let En=class Vu{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Ne({nullCount:0,type:new pn(this.schema.fields),children:this.schema.fields.map(n=>Ne({type:n.type,nullCount:0}))})]=e,!(this.data instanceof at))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=I1(this.schema,this.data.children);break}case 1:{const[n]=e,{fields:r,children:i,length:s}=Object.keys(n).reduce((l,f,h)=>(l.children[h]=n[f],l.length=Math.max(l.length,n[f].length),l.fields[h]=yt.new({name:f,type:n[f].type,nullable:!0}),l),{length:0,fields:new Array,children:new Array}),o=new We(r),a=Ne({type:new pn(r),length:s,children:i,nullCount:0});[this.schema,this.data]=I1(o,a.children,s);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=rx(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Bn.visit(this.data,e)}set(e,n){return wr.visit(this.data,e,n)}indexOf(e,n){return Ud.visit(this.data,e,n)}getByteLength(e){return di.visit(this.data,e)}[Symbol.iterator](){return I0.visit(new Ke([this.data]))}toArray(){return[...this]}concat(...e){return new hn(this.schema,[this,...e])}slice(e,n){const[r]=new Ke([this.data]).slice(e,n).data;return new Vu(this.schema,r)}getChild(e){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&ei.name===e),n)}setChildAt(e,n){let r=this.schema,i=this.data;if(e>-1&&ea.name===s);~o&&(i[o]=this.data.children[o])}return new Vu(n,Ne({type:r,length:this.numRows,children:i}))}selectAt(e){const n=this.schema.selectAt(e),r=e.map(s=>this.data.children[s]).filter(Boolean),i=Ne({type:new pn(n.fields),length:this.numRows,children:r});return new Vu(n,i)}};nx=Symbol.toStringTag;En[nx]=(t=>(t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(En.prototype);function I1(t,e,n=e.reduce((r,i)=>Math.max(r,i.length),0)){var r;const i=[...t.fields],s=[...e],o=(n+63&-64)>>3;for(const[a,l]of t.fields.entries()){const f=e[a];(!f||f.length!==n)&&(i[a]=l.clone({nullable:!0}),s[a]=(r=f==null?void 0:f._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Ne({type:l.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[t.assign(i),Ne({type:new pn(i),length:n,children:s})]}function rx(t,e,n=new Map){for(let r=-1,i=t.length;++r0&&rx(o.children,a.children,n)}return n}class A0 extends En{constructor(e){const n=e.fields.map(i=>Ne({type:i.type})),r=Ne({type:new pn(e.fields),nullCount:0,children:n});super(e,r)}}var Gd;(function(t){t[t.BUFFER=0]="BUFFER"})(Gd||(Gd={}));var Jd;(function(t){t[t.LZ4_FRAME=0]="LZ4_FRAME",t[t.ZSTD=1]="ZSTD"})(Jd||(Jd={}));class ds{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsBodyCompression(e,n){return(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBodyCompression(e,n){return e.setPosition(e.position()+st),(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}codec(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt8(this.bb_pos+e):Jd.LZ4_FRAME}method(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt8(this.bb_pos+e):Gd.BUFFER}static startBodyCompression(e){e.startObject(2)}static addCodec(e,n){e.addFieldInt8(0,n,Jd.LZ4_FRAME)}static addMethod(e,n){e.addFieldInt8(1,n,Gd.BUFFER)}static endBodyCompression(e){return e.endObject()}static createBodyCompression(e,n,r){return ds.startBodyCompression(e),ds.addCodec(e,n),ds.addMethod(e,r),ds.endBodyCompression(e)}}class ix{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}}let sx=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}},Ii=class mv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsRecordBatch(e,n){return(n||new mv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsRecordBatch(e,n){return e.setPosition(e.position()+st),(n||new mv).__init(e.readInt32(e.position())+e.position(),e)}length(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}nodes(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new sx).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}nodesLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}buffers(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new ix).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}buffersLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}compression(e){const n=this.bb.__offset(this.bb_pos,10);return n?(e||new ds).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startRecordBatch(e){e.startObject(4)}static addLength(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addNodes(e,n){e.addFieldOffset(1,n,0)}static startNodesVector(e,n){e.startVector(16,n,8)}static addBuffers(e,n){e.addFieldOffset(2,n,0)}static startBuffersVector(e,n){e.startVector(16,n,8)}static addCompression(e,n){e.addFieldOffset(3,n,0)}static endRecordBatch(e){return e.endObject()}},aa=class yv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsDictionaryBatch(e,n){return(n||new yv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsDictionaryBatch(e,n){return e.setPosition(e.position()+st),(n||new yv).__init(e.readInt32(e.position())+e.position(),e)}id(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}data(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Ii).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isDelta(){const e=this.bb.__offset(this.bb_pos,8);return e?!!this.bb.readInt8(this.bb_pos+e):!1}static startDictionaryBatch(e){e.startObject(3)}static addId(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addData(e,n){e.addFieldOffset(1,n,0)}static addIsDelta(e,n){e.addFieldInt8(2,+n,0)}static endDictionaryBatch(e){return e.endObject()}};var Xd;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Xd||(Xd={}));let as=class Kr{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsMessage(e,n){return(n||new Kr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,n){return e.setPosition(e.position()+st),(n||new Kr).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ga.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Xd.NONE}header(e){const n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(e,this.bb_pos+n):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ga.V1)}static addHeaderType(e,n){e.addFieldInt8(1,n,Xd.NONE)}static addHeader(e,n){e.addFieldOffset(2,n,0)}static addBodyLength(e,n){e.addFieldInt64(3,n,e.createLong(0,0))}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,n){e.finish(n)}static finishSizePrefixedMessageBuffer(e,n){e.finish(n,void 0,!0)}static createMessage(e,n,r,i,s,o){return Kr.startMessage(e),Kr.addVersion(e,n),Kr.addHeaderType(e,r),Kr.addHeader(e,i),Kr.addBodyLength(e,s),Kr.addCustomMetadata(e,o),Kr.endMessage(e)}};var vj=Ni;class gj extends Be{visit(e,n){return e==null||n==null?void 0:super.visit(e,n)}visitNull(e,n){return wo.startNull(n),wo.endNull(n)}visitInt(e,n){return qn.startInt(n),qn.addBitWidth(n,e.bitWidth),qn.addIsSigned(n,e.isSigned),qn.endInt(n)}visitFloat(e,n){return ni.startFloatingPoint(n),ni.addPrecision(n,e.precision),ni.endFloatingPoint(n)}visitBinary(e,n){return yo.startBinary(n),yo.endBinary(n)}visitBool(e,n){return vo.startBool(n),vo.endBool(n)}visitUtf8(e,n){return bo.startUtf8(n),bo.endUtf8(n)}visitDecimal(e,n){return bn.startDecimal(n),bn.addScale(n,e.scale),bn.addPrecision(n,e.precision),bn.addBitWidth(n,e.bitWidth),bn.endDecimal(n)}visitDate(e,n){return Nf.startDate(n),Nf.addUnit(n,e.unit),Nf.endDate(n)}visitTime(e,n){return hr.startTime(n),hr.addUnit(n,e.unit),hr.addBitWidth(n,e.bitWidth),hr.endTime(n)}visitTimestamp(e,n){const r=e.timezone&&n.createString(e.timezone)||void 0;return pr.startTimestamp(n),pr.addUnit(n,e.unit),r!==void 0&&pr.addTimezone(n,r),pr.endTimestamp(n)}visitInterval(e,n){return ri.startInterval(n),ri.addUnit(n,e.unit),ri.endInterval(n)}visitList(e,n){return go.startList(n),go.endList(n)}visitStruct(e,n){return _o.startStruct_(n),_o.endStruct_(n)}visitUnion(e,n){In.startTypeIdsVector(n,e.typeIds.length);const r=In.createTypeIdsVector(n,e.typeIds);return In.startUnion(n),In.addMode(n,e.mode),In.addTypeIds(n,r),In.endUnion(n)}visitDictionary(e,n){const r=this.visit(e.indices,n);return Di.startDictionaryEncoding(n),Di.addId(n,new vj(e.id,0)),Di.addIsOrdered(n,e.isOrdered),r!==void 0&&Di.addIndexType(n,r),Di.endDictionaryEncoding(n)}visitFixedSizeBinary(e,n){return ei.startFixedSizeBinary(n),ei.addByteWidth(n,e.byteWidth),ei.endFixedSizeBinary(n)}visitFixedSizeList(e,n){return ti.startFixedSizeList(n),ti.addListSize(n,e.listSize),ti.endFixedSizeList(n)}visitMap(e,n){return Bf.startMap(n),Bf.addKeysSorted(n,e.keysSorted),Bf.endMap(n)}}const xm=new gj;function wj(t,e=new Map){return new We(bj(t,e),$f(t.customMetadata),e)}function ox(t){return new tr(t.count,ax(t.columns),ux(t.columns))}function _j(t){return new hi(ox(t.data),t.id,t.isDelta)}function bj(t,e){return(t.fields||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function E1(t,e){return(t.children||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function ax(t){return(t||[]).reduce((e,n)=>[...e,new Wo(n.count,Sj(n.VALIDITY)),...ax(n.children)],[])}function ux(t,e=[]){for(let n=-1,r=(t||[]).length;++ne+ +(n===0),0)}function Ij(t,e){let n,r,i,s,o,a;return!e||!(s=t.dictionary)?(o=k1(t,E1(t,e)),i=new yt(t.name,o,t.nullable,$f(t.customMetadata))):e.has(n=s.id)?(r=(r=s.indexType)?O1(r):new Fl,a=new Qa(e.get(n),r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))):(r=(r=s.indexType)?O1(r):new Fl,e.set(n,o=k1(t,E1(t,e))),a=new Qa(o,r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))),i||null}function $f(t){return new Map(Object.entries(t||{}))}function O1(t){return new Fs(t.isSigned,t.bitWidth)}function k1(t,e){const n=t.type.name;switch(n){case"NONE":return new Bs;case"null":return new Bs;case"binary":return new xd;case"utf8":return new Ad;case"bool":return new Cd;case"list":return new Nd((e||[])[0]);case"struct":return new pn(e||[]);case"struct_":return new pn(e||[])}switch(n){case"int":{const r=t.type;return new Fs(r.isSigned,r.bitWidth)}case"floatingpoint":{const r=t.type;return new Ll(Cn[r.precision])}case"decimal":{const r=t.type;return new Pd(r.scale,r.precision,r.bitWidth)}case"date":{const r=t.type;return new Rd(Hi[r.unit])}case"time":{const r=t.type;return new $l(ze[r.unit],r.bitWidth)}case"timestamp":{const r=t.type;return new Td(ze[r.unit],r.timezone)}case"interval":{const r=t.type;return new Md(Ns[r.unit])}case"union":{const r=t.type;return new Bd(er[r.mode],r.typeIds||[],e||[])}case"fixedsizebinary":{const r=t.type;return new Fd(r.byteWidth)}case"fixedsizelist":{const r=t.type;return new Ld(r.listSize,(e||[])[0])}case"map":{const r=t.type;return new $d((e||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var jo=Ni,Ej=JD,Oj=Ya;class mn{constructor(e,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=typeof e=="number"?e:e.low}static fromJSON(e,n){const r=new mn(0,Qn.V4,n);return r._createHeader=kj(e,n),r}static decode(e){e=new Oj(Ue(e));const n=as.getRootAsMessage(e),r=n.bodyLength(),i=n.version(),s=n.headerType(),o=new mn(r,i,s);return o._createHeader=Dj(n,s),o}static encode(e){const n=new Ej;let r=-1;return e.isSchema()?r=We.encode(n,e.header()):e.isRecordBatch()?r=tr.encode(n,e.header()):e.isDictionaryBatch()&&(r=hi.encode(n,e.header())),as.startMessage(n),as.addVersion(n,Qn.V4),as.addHeader(n,r),as.addHeaderType(n,e.headerType),as.addBodyLength(n,new jo(e.bodyLength,0)),as.finishMessageBuffer(n,as.endMessage(n)),n.asUint8Array()}static from(e,n=0){if(e instanceof We)return new mn(0,Qn.V4,Ve.Schema,e);if(e instanceof tr)return new mn(n,Qn.V4,Ve.RecordBatch,e);if(e instanceof hi)return new mn(n,Qn.V4,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}}class tr{constructor(e,n,r){this._nodes=n,this._buffers=r,this._length=typeof e=="number"?e:e.low}get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}}class hi{constructor(e,n,r=!1){this._data=e,this._isDelta=r,this._id=typeof n=="number"?n:n.low}get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}}class si{constructor(e,n){this.offset=typeof e=="number"?e:e.low,this.length=typeof n=="number"?n:n.low}}class Wo{constructor(e,n){this.length=typeof e=="number"?e:e.low,this.nullCount=typeof n=="number"?n:n.low}}function kj(t,e){return()=>{switch(e){case Ve.Schema:return We.fromJSON(t);case Ve.RecordBatch:return tr.fromJSON(t);case Ve.DictionaryBatch:return hi.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}function Dj(t,e){return()=>{switch(e){case Ve.Schema:return We.decode(t.header(new qr));case Ve.RecordBatch:return tr.decode(t.header(new Ii),t.version());case Ve.DictionaryBatch:return hi.decode(t.header(new aa),t.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}yt.encode=Lj;yt.decode=Bj;yt.fromJSON=Ij;We.encode=Fj;We.decode=xj;We.fromJSON=wj;tr.encode=$j;tr.decode=Aj;tr.fromJSON=ox;hi.encode=jj;hi.decode=Cj;hi.fromJSON=_j;Wo.encode=Uj;Wo.decode=Rj;si.encode=zj;si.decode=Pj;function xj(t,e=new Map){const n=Nj(t,e);return new We(n,jf(t),e)}function Aj(t,e=Qn.V4){if(t.compression()!==null)throw new Error("Record batch compression not implemented");return new tr(t.length(),Tj(t),Mj(t,e))}function Cj(t,e=Qn.V4){return new hi(tr.decode(t.data(),e),t.id(),t.isDelta())}function Pj(t){return new si(t.offset(),t.length())}function Rj(t){return new Wo(t.length(),t.nullCount())}function Tj(t){const e=[];for(let n,r=-1,i=-1,s=t.nodesLength();++ryt.encode(t,s));qr.startFieldsVector(t,n.length);const r=qr.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?qr.createCustomMetadataVector(t,[...e.metadata].map(([s,o])=>{const a=t.createString(`${s}`),l=t.createString(`${o}`);return zt.startKeyValue(t),zt.addKey(t,a),zt.addValue(t,l),zt.endKeyValue(t)})):-1;return qr.startSchema(t),qr.addFields(t,r),qr.addEndianness(t,Vj?Ja.Little:Ja.Big),i!==-1&&qr.addCustomMetadata(t,i),qr.endSchema(t)}function Lj(t,e){let n=-1,r=-1,i=-1;const s=e.type;let o=e.typeId;we.isDictionary(s)?(o=s.dictionary.typeId,i=xm.visit(s,t),r=xm.visit(s.dictionary,t)):r=xm.visit(s,t);const a=(s.children||[]).map(h=>yt.encode(t,h)),l=lr.createChildrenVector(t,a),f=e.metadata&&e.metadata.size>0?lr.createCustomMetadataVector(t,[...e.metadata].map(([h,m])=>{const y=t.createString(`${h}`),w=t.createString(`${m}`);return zt.startKeyValue(t),zt.addKey(t,y),zt.addValue(t,w),zt.endKeyValue(t)})):-1;return e.name&&(n=t.createString(e.name)),lr.startField(t),lr.addType(t,r),lr.addTypeType(t,o),lr.addChildren(t,l),lr.addNullable(t,!!e.nullable),n!==-1&&lr.addName(t,n),i!==-1&&lr.addDictionary(t,i),f!==-1&&lr.addCustomMetadata(t,f),lr.endField(t)}function $j(t,e){const n=e.nodes||[],r=e.buffers||[];Ii.startNodesVector(t,n.length);for(const o of n.slice().reverse())Wo.encode(t,o);const i=t.endVector();Ii.startBuffersVector(t,r.length);for(const o of r.slice().reverse())si.encode(t,o);const s=t.endVector();return Ii.startRecordBatch(t),Ii.addLength(t,new jo(e.length,0)),Ii.addNodes(t,i),Ii.addBuffers(t,s),Ii.endRecordBatch(t)}function jj(t,e){const n=tr.encode(t,e.data);return aa.startDictionaryBatch(t),aa.addId(t,new jo(e.id,0)),aa.addIsDelta(t,e.isDelta),aa.addData(t,n),aa.endDictionaryBatch(t)}function Uj(t,e){return sx.createFieldNode(t,new jo(e.length,0),new jo(e.nullCount,0))}function zj(t,e){return ix.createBuffer(t,new jo(e.offset,0),new jo(e.length,0))}const Vj=(()=>{const t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),new Int16Array(t)[0]===256})(),C0=t=>`Expected ${Ve[t]} Message in stream, but was null or length 0.`,P0=t=>`Header pointer of flatbuffer-encoded ${Ve[t]} Message is null or length 0.`,lx=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,cx=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`;class fx{constructor(e){this.source=e instanceof Qd?e:new Qd(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?St:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(C0(e));return n.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const n=Ue(this.source.read(e));if(n.byteLength[...i,...s.VALIDITY&&[s.VALIDITY]||[],...s.TYPE&&[s.TYPE]||[],...s.OFFSET&&[s.OFFSET]||[],...s.DATA&&[s.DATA]||[],...n(s.children)],[])}}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(C0(e));return n.value}readSchema(){const e=Ve.Schema,n=this.readMessage(e),r=n==null?void 0:n.header();if(!n||!r)throw new Error(P0(e));return r}}const zh=4,vv="ARROW1",Ul=new Uint8Array(vv.length);for(let t=0;tthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return cr.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return cr.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof Bi?e:ov(e)?Gj(e):Rk(e)?Zj(e):Ms(e)?(()=>ve(this,void 0,void 0,function*(){return yield Bi.from(yield e)}))():Tk(e)||c0(e)||Mk(e)||fu(e)?Xj(new Za(e)):Jj(new Qd(e))}static readAll(e){return e instanceof Bi?e.isSync()?C1(e):P1(e):ov(e)||ArrayBuffer.isView(e)||uc(e)||Pk(e)?C1(e):P1(e)}}class Zd extends Bi{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return kr(this,arguments,function*(){yield ge(yield*Df(Ds(this[Symbol.iterator]())))})}}class eh extends Bi{constructor(e){super(e),this._impl=e}readAll(){var e,n;return ve(this,void 0,void 0,function*(){const r=new Array;try{for(var i=Ds(this),s;s=yield i.next(),!s.done;){const o=s.value;r.push(o)}}catch(o){e={error:o}}finally{try{s&&!s.done&&(n=i.return)&&(yield n.call(i))}finally{if(e)throw e.error}}return r})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class hx extends Zd{constructor(e){super(e),this._impl=e}}class Hj extends eh{constructor(e){super(e),this._impl=e}}class px{constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,n){const r=this._loadVectors(e,n,this.schema.fields),i=Ne({type:new pn(this.schema.fields),length:e.length,children:r});return new En(this.schema,i)}_loadDictionaryBatch(e,n){const{id:r,isDelta:i}=e,{dictionaries:s,schema:o}=this,a=s.get(r);if(i||!a){const l=o.dictionaries.get(r),f=this._loadVectors(e.data,n,[l]);return(a&&i?a.concat(new Ke(f)):new Ke(f)).memoize()}return a.memoize()}_loadVectors(e,n,r){return new ex(n,e.nodes,e.buffers,this.dictionaries).visitMany(r)}}class th extends px{constructor(e,n){super(n),this._reader=ov(e)?new Wj(this._handle=e):new fx(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=yx(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):St}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):St}next(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new A0(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class nh extends px{constructor(e,n){super(n),this._reader=new Kj(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return ve(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return ve(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=yx(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):St})}return(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):St})}next(){return ve(this,void 0,void 0,function*(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new A0(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class mx extends th{constructor(e,n){super(e instanceof S1?e:new S1(e),n)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var n;if(this.closed)return null;this._footer||this.open();const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null}_readDictionaryBatch(e){var n;const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}}_readFooter(){const{_handle:e}=this,n=e.size-dx,r=e.readInt32(n),i=e.readAt(n-r,r);return jl.decode(i)}_readNextMessageAndValidate(e){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return ve(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,e)})}readRecordBatch(e){var n;return ve(this,void 0,void 0,function*(){if(this.closed)return null;this._footer||(yield this.open());const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null})}_readDictionaryBatch(e){var n;return ve(this,void 0,void 0,function*(){const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}})}_readFooter(){return ve(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const n=e.size-dx,r=yield e.readInt32(n),i=yield e.readAt(n-r,r);return jl.decode(i)})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?R0(e)?new hx(new mx(t.read())):new Zd(new th(t)):new Zd(new th(function*(){}()))}function Xj(t){return ve(this,void 0,void 0,function*(){const e=yield t.peek(dc+7&-8);return e&&e.byteLength>=4?R0(e)?new hx(new mx(yield t.read())):new eh(new nh(t)):new eh(new nh(function(){return kr(this,arguments,function*(){})}()))})}function Zj(t){return ve(this,void 0,void 0,function*(){const{size:e}=yield t.stat(),n=new Yd(t,e);return e>=qj&&R0(yield n.readAt(0,dc+7&-8))?new Hj(new Qj(n)):new eh(new nh(n))})}class $t extends Be{constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}static assemble(...e){const n=i=>i.flatMap(s=>Array.isArray(s)?n(s):s instanceof En?s.data.children:s.data),r=new $t;return r.visitMany(n(e)),r}visit(e){if(e instanceof Ke)return this.visitMany(e.data),this;const{type:n}=e;if(!we.isDictionary(n)){const{length:r,nullCount:i}=e;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");we.isNull(n)||Cr.call(this,i<=0?new Uint8Array(0):w0(e.offset,r,e.nullBitmap)),this.nodes.push(new Wo(r,i))}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}}function Cr(t){const e=t.byteLength+7&-8;return this.buffers.push(t),this.bufferRegions.push(new si(this._byteLength,e)),this._byteLength+=e,this}function e4(t){const{type:e,length:n,typeIds:r,valueOffsets:i}=t;if(Cr.call(this,r),e.mode===er.Sparse)return gv.call(this,t);if(e.mode===er.Dense){if(t.offset<=0)return Cr.call(this,i),gv.call(this,t);{const s=r.reduce((h,m)=>Math.max(h,m),r[0]),o=new Int32Array(s+1),a=new Int32Array(s+1).fill(-1),l=new Int32Array(n),f=d0(-i[0],n,i);for(let h,m,y=-1;++y=t.length?Cr.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?Cr.call(this,w0(t.offset,t.length,e)):Cr.call(this,jd(t.values))}function Ys(t){return Cr.call(this,t.values.subarray(0,t.length*t.stride))}function vx(t){const{length:e,values:n,valueOffsets:r}=t,i=r[0],s=r[e],o=Math.min(s-i,n.byteLength-i);return Cr.call(this,d0(-r[0],e,r)),Cr.call(this,n.subarray(i,i+o)),this}function T0(t){const{length:e,valueOffsets:n}=t;return n&&Cr.call(this,d0(n[0],e,n)),this.visit(t.children[0])}function gv(t){return this.visitMany(t.type.children.map((e,n)=>t.children[n]).filter(Boolean))[0]}$t.prototype.visitBool=t4;$t.prototype.visitInt=Ys;$t.prototype.visitFloat=Ys;$t.prototype.visitUtf8=vx;$t.prototype.visitBinary=vx;$t.prototype.visitFixedSizeBinary=Ys;$t.prototype.visitDate=Ys;$t.prototype.visitTimestamp=Ys;$t.prototype.visitTime=Ys;$t.prototype.visitDecimal=Ys;$t.prototype.visitList=T0;$t.prototype.visitStruct=gv;$t.prototype.visitUnion=e4;$t.prototype.visitInterval=Ys;$t.prototype.visitFixedSizeList=T0;$t.prototype.visitMap=T0;class gx extends E0{constructor(e){super(),this._position=0,this._started=!1,this._sink=new Lf,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Nn(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof e.autoDestroy=="boolean"?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat=="boolean"?e.writeLegacyIpcFormat:!1}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Ms(e)?e.then(n=>this.writeAll(n)):fu(e)?F0(this,e):B0(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,n=null){return e===this._sink||e instanceof Lf?this._sink=e:(this._sink=new Lf,e&&S3(e)?this.toDOMStream({type:"bytes"}).pipeTo(e):e&&I3(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!n||!pv(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(e){let n=null;if(this._sink){if(e==null)return this.finish()&&void 0;if(e instanceof hn&&!(n=e.schema))return this.finish()&&void 0;if(e instanceof En&&!(n=e.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!pv(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}e instanceof En?e instanceof A0||this._writeRecordBatch(e):e instanceof hn?this.writeAll(e.batches):uc(e)&&this.writeAll(e)}_writeMessage(e,n=8){const r=n-1,i=mn.encode(e),s=i.byteLength,o=this._writeLegacyIpcFormat?4:8,a=s+o+r&~r,l=a-s-o;return e.headerType===Ve.RecordBatch?this._recordBatchBlocks.push(new Ls(a,e.bodyLength,this._position)):e.headerType===Ve.DictionaryBatch&&this._dictionaryBlocks.push(new Ls(a,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),s>0&&this._write(i),this._writePadding(l)}_write(e){if(this._started){const n=Ue(e);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(e){return this._writeMessage(mn.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Ul)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){const{byteLength:n,nodes:r,bufferRegions:i,buffers:s}=$t.assemble(e),o=new tr(e.numRows,r,i),a=mn.from(o,n);return this._writeDictionaries(e)._writeMessage(a)._writeBodyBuffers(s)}_writeDictionaryBatch(e,n,r=!1){this._dictionaryDeltaOffsets.set(n,e.length+(this._dictionaryDeltaOffsets.get(n)||0));const{byteLength:i,nodes:s,bufferRegions:o,buffers:a}=$t.assemble(new Ke([e])),l=new tr(e.length,s,o),f=new hi(l,n,r),h=mn.from(f,i);return this._writeMessage(h)._writeBodyBuffers(a)}_writeBodyBuffers(e){let n,r,i;for(let s=-1,o=e.length;++s0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(e){for(let[n,r]of e.dictionaries){let i=this._dictionaryDeltaOffsets.get(n)||0;if(i===0||(r=r==null?void 0:r.slice(i)).length>0)for(const s of r.data)this._writeDictionaryBatch(s,n,i>0),i+=s.length}return this}}class M0 extends gx{static writeAll(e,n){const r=new M0(n);return Ms(e)?e.then(i=>r.writeAll(i)):fu(e)?F0(r,e):B0(r,e)}}class N0 extends gx{static writeAll(e){const n=new N0;return Ms(e)?e.then(r=>n.writeAll(r)):fu(e)?F0(n,e):B0(n,e)}constructor(){super(),this._autoDestroy=!0}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeFooter(e){const n=jl.encode(new jl(e,Qn.V4,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}}function B0(t,e){let n=e;e instanceof hn&&(n=e.batches,t.reset(void 0,e.schema));for(const r of n)t.write(r);return t.finish()}function F0(t,e){var n,r,i,s;return ve(this,void 0,void 0,function*(){try{for(n=Ds(e);r=yield n.next(),!r.done;){const o=r.value;t.write(o)}}catch(o){i={error:o}}finally{try{r&&!r.done&&(s=n.return)&&(yield s.call(n))}finally{if(i)throw i.error}}return t.finish()})}function Ku(t){const e=Bi.from(t);return Ms(e)?e.then(n=>Ku(n)):e.isAsync()?e.readAll().then(n=>new hn(n)):new hn(e.readAll())}function Am(t,e="stream"){return(e==="stream"?M0:N0).writeAll(t).toUint8Array(!0)}var R1=function(){function t(e,n,r,i){var s=this;this.getCell=function(o,a){var l=o=s.headerRows&&a=s.headerColumns;if(l){var m=["blank"];return a>0&&m.push("level"+o),{type:"blank",classNames:m.join(" "),content:""}}else if(h){var y=a-s.headerColumns,m=["col_heading","level"+o,"col"+y];return{type:"columns",classNames:m.join(" "),content:s.getContent(s.columnsTable,y,o)}}else if(f){var w=o-s.headerRows,m=["row_heading","level"+a,"row"+w];return{type:"index",id:"T_".concat(s.uuid,"level").concat(a,"_row").concat(w),classNames:m.join(" "),content:s.getContent(s.indexTable,w,a)}}else{var w=o-s.headerRows,y=a-s.headerColumns,m=["data","row"+w,"col"+y],I=s.styler?s.getContent(s.styler.displayValuesTable,w,y):s.getContent(s.dataTable,w,y);return{type:"data",id:"T_".concat(s.uuid,"row").concat(w,"_col").concat(y),classNames:m.join(" "),content:I}}},this.getContent=function(o,a,l){var f=o.getChildAt(l);if(f===null)return"";var h=s.getColumnTypeId(o,l);switch(h){case N.Timestamp:return s.nanosToDate(f.get(a));default:return f.get(a)}},this.dataTable=Ku(e),this.indexTable=Ku(n),this.columnsTable=Ku(r),this.styler=i?{caption:i.caption,displayValuesTable:Ku(i.displayValues),styles:i.styles,uuid:i.uuid}:void 0}return Object.defineProperty(t.prototype,"rows",{get:function(){return this.indexTable.numRows+this.columnsTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this.indexTable.numCols+this.columnsTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerRows",{get:function(){return this.rows-this.dataRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerColumns",{get:function(){return this.columns-this.dataColumns},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataRows",{get:function(){return this.dataTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumns",{get:function(){return this.dataTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"uuid",{get:function(){return this.styler&&this.styler.uuid},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"caption",{get:function(){return this.styler&&this.styler.caption},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"styles",{get:function(){return this.styler&&this.styler.styles},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"table",{get:function(){return this.dataTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"index",{get:function(){return this.indexTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columnTable",{get:function(){return this.columnsTable},enumerable:!1,configurable:!0}),t.prototype.serialize=function(){return{data:Am(this.dataTable),index:Am(this.indexTable),columns:Am(this.columnsTable)}},t.prototype.getColumnTypeId=function(e,n){return e.schema.fields[n].type.typeId},t.prototype.nanosToDate=function(e){return new Date(e/1e6)},t}(),al=function(){return al=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0?t.argsDataframeToObject(e.dfs):{};n=al(al({},n),r);var i=!!e.disabled,s=e.theme;s&&n4(s);var o={disabled:i,args:n,theme:s},a=new CustomEvent(t.RENDER_EVENT,{detail:o});t.events.dispatchEvent(a)},t.argsDataframeToObject=function(e){var n=e.map(function(r){var i=r.key,s=r.value;return[i,t.toArrowTable(s)]});return Object.fromEntries(n)},t.toArrowTable=function(e){var n,r=(n=e.data,n.data),i=n.index,s=n.columns,o=n.styler;return new R1(r,i,s,o)},t.sendBackMsg=function(e,n){window.parent.postMessage(al({isStreamlitMessage:!0,type:e},n),"*")},t}(),n4=function(t){var e=document.createElement("style");document.head.appendChild(e),e.innerHTML=` :root { --primary-color: `.concat(t.primaryColor,`; --background-color: `).concat(t.backgroundColor,`; @@ -88,10 +88,4 @@ object-assign background-color: var(--background-color); color: var(--text-color); } - `)};function c4(t){var e=!1;try{e=t instanceof BigInt64Array||t instanceof BigUint64Array}catch{}return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array||e}var _x=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]=i[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();(function(t){_x(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.componentDidMount=function(){On.setFrameHeight()},e.prototype.componentDidUpdate=function(){On.setFrameHeight()},e})(ia.PureComponent);function f4(t){var e=function(n){_x(r,n);function r(i){var s=n.call(this,i)||this;return s.componentDidMount=function(){On.events.addEventListener(On.RENDER_EVENT,s.onRenderEvent),On.setComponentReady()},s.componentDidUpdate=function(){s.state.componentError!=null&&On.setFrameHeight()},s.componentWillUnmount=function(){On.events.removeEventListener(On.RENDER_EVENT,s.onRenderEvent)},s.onRenderEvent=function(o){s.setState({renderData:o.detail})},s.state={renderData:void 0,componentError:void 0},s}return r.prototype.render=function(){return this.state.componentError!=null?ia.createElement("div",null,ia.createElement("h1",null,"Component Error"),ia.createElement("span",null,this.state.componentError.message)):this.state.renderData==null?null:ia.createElement(t,{width:window.innerWidth,disabled:this.state.renderData.disabled,args:this.state.renderData.args,theme:this.state.renderData.theme})},r.getDerivedStateFromError=function(i){return{componentError:i}},r}(ia.PureComponent);return r3(e,t)}var d4=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n};const h4=rh(d4);let pf;const p4=new Uint8Array(16);function m4(){if(!pf&&(pf=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!pf))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return pf(p4)}const Jt=[];for(let t=0;t<256;++t)Jt.push((t+256).toString(16).slice(1));function y4(t,e=0){return Jt[t[e+0]]+Jt[t[e+1]]+Jt[t[e+2]]+Jt[t[e+3]]+"-"+Jt[t[e+4]]+Jt[t[e+5]]+"-"+Jt[t[e+6]]+Jt[t[e+7]]+"-"+Jt[t[e+8]]+Jt[t[e+9]]+"-"+Jt[t[e+10]]+Jt[t[e+11]]+Jt[t[e+12]]+Jt[t[e+13]]+Jt[t[e+14]]+Jt[t[e+15]]}const v4=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),M1={randomUUID:v4};function g4(t,e,n){if(M1.randomUUID&&!e&&!t)return M1.randomUUID();t=t||{};const r=t.random||(t.rng||m4)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){n=n||0;for(let i=0;i<16;++i)e[n+i]=r[i];return e}return y4(r)}const{logger:N1,isEmpty:na,isEmptyObject:w4}=Br,_4=t=>{const[e,n]=as.useState(),[r,i]=as.useState();let s={};const[o,a]=as.useState(),l=as.useRef(),f=as.useRef(),h=[];l.current||(l.current=new zL);async function p(_){const b=SF(_);return l.current.initDb(b)}async function y(_){f.current||(f.current=new Je(_,l.current)),await f.current.info(),n(!0);const b=f.current.docs({selector:{},sort:[{last_modified:"asc"}]}).subscribe(E=>{E&&(N1.table(E),i(E),On.setComponentValue(E))});h.push(b)}if(as.useEffect(()=>{const _=E=>{a(E.detail)};return On.events.addEventListener(On.RENDER_EVENT,_),On.setComponentReady(),()=>{On.events.removeEventListener(On.RENDER_EVENT,_),h.forEach(E=>E.unsubscribe())}},[]),w4(o))return null;const{dataframe:w,editing_state:I,collection_config:O,db_config:$}=o.args;if(!e)try{p($).then(()=>y(O))}catch(_){N1.log("Error initializing database",_)}if(!na(I)&&!h4(s,I)){if(s=I,!na(s.added_rows)){const _=s.added_rows.map(b=>({...b,id:g4(),createdAt:new Date().toISOString(),last_modified:Date.now()}));f.current.upsertBulk(_)}if(!na(s.deleted_rows)&&!na(r)){const _=[];s.deleted_rows.forEach(b=>{const E=r.at(b);E&&_.push(E.id)}),f.current.removeBulk(_)}!na(s.edited_rows)&&!na(r)&&Object.entries(s.edited_rows).forEach(([_,b])=>{const E=r.at(parseInt(_));E&&f.current.set(E.id,b)})}return t.args.element},b4=f4(_4),S4=YI(document.getElementById("root"));S4.render(bC.jsx(b4,{}));export{Kg as R,gO as a,kh as b,uO as c,Ui as d,Ts as e,RP as f,Fn as g,za as h,hg as i,el as j,pR as k,E4 as l,Ka as m,le as n,PP as o,Xl as p,zu as t}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = [] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} + `)};function r4(t){var e=!1;try{e=t instanceof BigInt64Array||t instanceof BigUint64Array}catch{}return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array||e}var wx=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]=i[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();(function(t){wx(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.componentDidMount=function(){On.setFrameHeight()},e.prototype.componentDidUpdate=function(){On.setFrameHeight()},e})(ra.PureComponent);function i4(t){var e=function(n){wx(r,n);function r(i){var s=n.call(this,i)||this;return s.componentDidMount=function(){On.events.addEventListener(On.RENDER_EVENT,s.onRenderEvent),On.setComponentReady()},s.componentDidUpdate=function(){s.state.componentError!=null&&On.setFrameHeight()},s.componentWillUnmount=function(){On.events.removeEventListener(On.RENDER_EVENT,s.onRenderEvent)},s.onRenderEvent=function(o){s.setState({renderData:o.detail})},s.state={renderData:void 0,componentError:void 0},s}return r.prototype.render=function(){return this.state.componentError!=null?ra.createElement("div",null,ra.createElement("h1",null,"Component Error"),ra.createElement("span",null,this.state.componentError.message)):this.state.renderData==null?null:ra.createElement(t,{width:window.innerWidth,disabled:this.state.renderData.disabled,args:this.state.renderData.args,theme:this.state.renderData.theme})},r.getDerivedStateFromError=function(i){return{componentError:i}},r}(ra.PureComponent);return GL(e,t)}var s4=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n};const o4=rh(s4);let hf;const a4=new Uint8Array(16);function u4(){if(!hf&&(hf=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!hf))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return hf(a4)}const Jt=[];for(let t=0;t<256;++t)Jt.push((t+256).toString(16).slice(1));function l4(t,e=0){return Jt[t[e+0]]+Jt[t[e+1]]+Jt[t[e+2]]+Jt[t[e+3]]+"-"+Jt[t[e+4]]+Jt[t[e+5]]+"-"+Jt[t[e+6]]+Jt[t[e+7]]+"-"+Jt[t[e+8]]+Jt[t[e+9]]+"-"+Jt[t[e+10]]+Jt[t[e+11]]+Jt[t[e+12]]+Jt[t[e+13]]+Jt[t[e+14]]+Jt[t[e+15]]}const c4=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),T1={randomUUID:c4};function f4(t,e,n){if(T1.randomUUID&&!e&&!t)return T1.randomUUID();t=t||{};const r=t.random||(t.rng||u4)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){n=n||0;for(let i=0;i<16;++i)e[n+i]=r[i];return e}return l4(r)}const{isEmpty:pf}=Br,d4=(t,e)=>{const[n,r]=oi.useState(),i=oi.useRef(t);return oi.useEffect(()=>{if(!(!n||pf(t)||o4(t,i.current))){if(i.current=t,!pf(t.added_rows)){const s=t.added_rows.map(o=>({...o,id:f4(),createdAt:new Date().toISOString(),last_modified:Date.now()}));e.upsertBulk(s)}if(!pf(t.deleted_rows)){const s=[];t.deleted_rows.forEach(o=>{const a=n.at(o);a&&s.push(a.id)}),e.removeBulk(s)}pf(t.edited_rows)||Object.entries(t.edited_rows).forEach(([s,o])=>{const a=n.at(parseInt(s));a&&e.set(a.id,o)})}},[t,n]),[n,r]},h4=()=>{const[t,e]=oi.useState(),n=new su;return oi.useEffect(()=>{const r=s=>{e(s.detail)};return On.events.addEventListener(On.RENDER_EVENT,r),On.setComponentReady(),()=>{On.events.removeEventListener(On.RENDER_EVENT,r),n.unsubscribe()}},[]),[t,n]},{logger:M1,isEmptyObject:p4}=Br,m4=t=>{const[e,n]=oi.useState(),[r,i]=h4(),{editing_state:s,collection_config:o,db_config:a,query:l,with_rev:f}=(r==null?void 0:r.args)||{},h=oi.useRef(),m=oi.useRef();h.current||(h.current=new NL);const y=()=>m.current,[,w]=d4(s,y());async function I(F){const S=wF(F);return h.current.initDb(S)}async function E(F){m.current||(m.current=new Je(F,h.current)),await y().info(),n(!0);const S=y().docs(l,f).subscribe(_=>{_&&(M1.table(_),w(_),On.setComponentValue(_))});i.add(S)}if(p4(r))return null;if(!e)try{I(a).then(()=>E(o))}catch(F){M1.log("Error initializing database",F)}return t.args.element},y4=i4(m4),v4=QI(document.getElementById("root"));v4.render(_A.jsx(y4,{})); diff --git a/packages/streamlit-rxdb-dataframe/frontend/index.html b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/index.html similarity index 68% rename from packages/streamlit-rxdb-dataframe/frontend/index.html rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/index.html index 3a49a7e..2755f9a 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/index.html +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/index.html @@ -3,11 +3,8 @@ RxdbDataframe - - -
diff --git a/packages/streamlit-rxdb-dataframe/frontend/project.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/project.json similarity index 71% rename from packages/streamlit-rxdb-dataframe/frontend/project.json rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/project.json index 497a483..10b7f85 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/project.json +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/project.json @@ -1,6 +1,6 @@ { "name": "streamlit-rxdb-dataframe-frontend", - "$schema": "../../../node_modules/nx/schemas/project-schema.json", + "$schema": "../../../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/streamlit-rxdb-dataframe/frontend/src", "projectType": "application", "targets": {}, diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/col.dump.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/col.dump.json new file mode 100644 index 0000000..16de3ee --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/col.dump.json @@ -0,0 +1,27 @@ +{ + "name": "todo", + "schemaHash": "9b18d72e95209a29cdc5f4849e21dc3c7c399f7d0fa070f159820e80ec2dee29", + "docs": [ + { + "id": "a4c6a479-7cca-4d3b-ab90-45d3eaa957f3", + "title": "Check other examples", + "completed": false, + "createdAt": 1548979200000, + "last_modified": 1548979200000 + }, + { + "id": "a4c6a479-7cca-4d3b-bc10-45d3eaa957r5", + "title": "Use \"@ngx-odm/rxdb\" in your project", + "completed": false, + "createdAt": 1698404710931, + "last_modified": 1698404710931 + }, + { + "id": "ac3ef2c6-c98b-43e1-9047-71d68b1f92f4", + "title": "Open Todo list example", + "completed": true, + "createdAt": 1546300800000, + "last_modified": 1546300800000 + } + ] +} diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/db.dump.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/db.dump.json new file mode 100644 index 0000000..f6a9e1c --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/db.dump.json @@ -0,0 +1,33 @@ +{ + "name": "demo", + "instanceToken": "vhngmgjupw", + "collections": [ + { + "name": "todo", + "schemaHash": "9b18d72e95209a29cdc5f4849e21dc3c7c399f7d0fa070f159820e80ec2dee29", + "docs": [ + { + "id": "a4c6a479-7cca-4d3b-ab90-45d3eaa957f3", + "title": "Check other examples", + "completed": false, + "createdAt": 1548979200000, + "last_modified": 1548979200000 + }, + { + "id": "a4c6a479-7cca-4d3b-bc10-45d3eaa957r5", + "title": "Use \"@ngx-odm/rxdb\" in your project", + "completed": false, + "createdAt": 1698404710931, + "last_modified": 1698404710931 + }, + { + "id": "ac3ef2c6-c98b-43e1-9047-71d68b1f92f4", + "title": "Open Todo list example", + "completed": true, + "createdAt": 1546300800000, + "last_modified": 1546300800000 + } + ] + } + ] +} diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/todo.schema.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/todo.schema.json new file mode 100644 index 0000000..e6d5b34 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/todo.schema.json @@ -0,0 +1,45 @@ +{ + "definitions": {}, + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "Todo", + "description": "Todo Schema", + "required": ["id", "title", "createdAt"], + "version": 0, + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Id", + "pattern": "^(.*)$", + "maxLength": 36, + "readOnly": true + }, + "title": { + "type": "string", + "title": "Title", + "minLength": 3 + }, + "completed": { + "type": "boolean", + "title": "Done" + }, + "createdAt": { + "type": "string", + "title": "Created Date", + "format": "date-time", + "readOnly": true + }, + "last_modified": { + "type": "number", + "format": "time", + "title": "Last Modified Date", + "multipleOf": 1 + } + }, + "__indexes": ["createdAt"], + "primaryKey": "id", + "attachments": { + "encrypted": false + } +} diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframe.tsx similarity index 64% rename from packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframe.tsx index eaa66d2..358a025 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframe.tsx +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframe.tsx @@ -7,7 +7,7 @@ import { } from '@ngx-odm/rxdb/config'; import { RxDBService } from '@ngx-odm/rxdb/core'; import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; -import React, { ReactNode, useRef, useState } from 'react'; +import React, { ReactNode, useCallback, useRef, useState } from 'react'; import { ComponentProps, Streamlit, @@ -38,41 +38,42 @@ const RxDBDataframe: React.FC = props => { const [, setEntities] = useEditedState(editing_state, collectionService()); - async function initDb(dbConfig: RxDatabaseCreatorExtended) { + const initDb = useCallback((dbConfig: RxDatabaseCreatorExtended) => { const parsedDbConfig = getRxDatabaseCreator(dbConfig); return dbServiceRef.current!.initDb(parsedDbConfig); - } + }, []); - async function initCollection(collectionConfig: RxCollectionCreatorExtended) { - if (!collectionServiceRef.current) { - collectionServiceRef.current = new RxDBCollectionService( - collectionConfig, - dbServiceRef.current! - ); - } - await collectionService().info(); - setInited(true); - const docssub = collectionService() - .docs(query, with_rev) - .subscribe(docs => { - if (!docs) { - return; - } - logger.table(docs); - setEntities(docs); - Streamlit.setComponentValue(docs); - }); - sub.add(docssub); - } + const initCollection = useCallback( + async (collectionConfig: RxCollectionCreatorExtended) => { + if (!collectionServiceRef.current) { + collectionServiceRef.current = new RxDBCollectionService( + collectionConfig, + dbServiceRef.current! + ); + } + await collectionService().info(); + setInited(true); + const docssub = collectionService() + .docs(query, with_rev) + .subscribe(docs => { + if (!docs) { + return; + } + logger.table(docs); + setEntities(docs); + Streamlit.setComponentValue(docs); + }); + sub.add(docssub); + }, + [] + ); if (isEmptyObject(renderData)) return null; // Don't do anything at all if (!inited) { - try { - initDb(db_config).then(() => initCollection(collection_config)); - } catch (error) { - logger.log('Error initializing database', error); - } + initDb(db_config) + .then(() => initCollection(collection_config)) + .catch(logger.log); } return props.args.element as ReactNode; diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframeArgs.ts b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframeArgs.ts similarity index 100% rename from packages/streamlit-rxdb-dataframe/frontend/src/lib/RxDBDataframeArgs.ts rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframeArgs.ts diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/lib/useEditingState.ts b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useEditingState.ts similarity index 75% rename from packages/streamlit-rxdb-dataframe/frontend/src/lib/useEditingState.ts rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useEditingState.ts index ff9adc6..5f5e754 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/src/lib/useEditingState.ts +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useEditingState.ts @@ -7,7 +7,7 @@ import { useEffect, useRef, useState } from 'react'; import { v4 as uuid } from 'uuid'; import { DataframeEditingState } from './RxDBDataframeArgs'; -const { isEmpty } = NgxRxdbUtils; +const { logger, isEmpty } = NgxRxdbUtils; /** * Custom hook that manages the editing state of a Dataframe. @@ -39,7 +39,8 @@ export const useEditedState = ( createdAt: new Date().toISOString(), last_modified: Date.now(), })); - collectionService.upsertBulk(docs); + if (!docs.length) return; + collectionService.upsertBulk(docs).catch(error => logger.log('upsertBulk', error)); } if (!isEmpty(editingState.deleted_rows)) { @@ -50,16 +51,21 @@ export const useEditedState = ( ids.push(entity.id); } }); - collectionService.removeBulk(ids); + if (!ids.length) return; + collectionService.removeBulk(ids).catch(error => logger.log('removeBulk', error)); } if (!isEmpty(editingState.edited_rows)) { - Object.entries(editingState.edited_rows).forEach(([rowIndex, change]) => { + const docs = Object.entries(editingState.edited_rows).map(([rowIndex, change]) => { const entity = entities.at(parseInt(rowIndex)); - if (entity) { - collectionService.set(entity.id, change); - } + return { + ...entity, + ...change, + last_modified: Date.now(), + }; }); + if (!docs.length) return; + collectionService.upsertBulk(docs).catch(error => logger.log('upsertBulk', error)); } }, [editingState, entities]); diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/lib/useNullableRenderData.ts b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useNullableRenderData.ts similarity index 100% rename from packages/streamlit-rxdb-dataframe/frontend/src/lib/useNullableRenderData.ts rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useNullableRenderData.ts diff --git a/packages/streamlit-rxdb-dataframe/frontend/src/main.tsx b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/main.tsx similarity index 61% rename from packages/streamlit-rxdb-dataframe/frontend/src/main.tsx rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/main.tsx index de58a1a..f63dd0a 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/src/main.tsx +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/main.tsx @@ -1,11 +1,7 @@ -import { StrictMode } from 'react'; +// import { StrictMode } from 'react'; import * as ReactDOM from 'react-dom/client'; import RxDBDataframe from './lib/RxDBDataframe'; const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); -root.render( - // - - // -); +root.render(); diff --git a/packages/streamlit-rxdb-dataframe/frontend/tsconfig.app.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/tsconfig.app.json similarity index 92% rename from packages/streamlit-rxdb-dataframe/frontend/tsconfig.app.json rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/tsconfig.app.json index 2ddac06..67cbbe0 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/tsconfig.app.json +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/tsconfig.app.json @@ -1,7 +1,7 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../../dist/out-tsc", + "outDir": "../../../../dist/out-tsc", "types": [ "node", "@nx/react/typings/cssmodule.d.ts", diff --git a/packages/streamlit-rxdb-dataframe/frontend/tsconfig.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/tsconfig.json similarity index 79% rename from packages/streamlit-rxdb-dataframe/frontend/tsconfig.json rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/tsconfig.json index ccd1b14..d252c07 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/tsconfig.json +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/tsconfig.json @@ -5,6 +5,8 @@ "esModuleInterop": false, "allowSyntheticDefaultImports": true, "strict": true, + "isolatedModules": true, + "noEmit": true, "types": ["vite/client", "vitest"] }, "files": [], @@ -17,5 +19,5 @@ "path": "./tsconfig.spec.json" } ], - "extends": "../../../tsconfig.base.json" + "extends": "../../../../tsconfig.base.json" } diff --git a/packages/streamlit-rxdb-dataframe/frontend/tsconfig.spec.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/tsconfig.spec.json similarity index 92% rename from packages/streamlit-rxdb-dataframe/frontend/tsconfig.spec.json rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/tsconfig.spec.json index 7e126fd..bd35c0d 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/tsconfig.spec.json +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/tsconfig.spec.json @@ -1,7 +1,7 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../../dist/out-tsc", + "outDir": "../../../../dist/out-tsc", "types": [ "vitest/globals", "vitest/importMeta", diff --git a/packages/streamlit-rxdb-dataframe/frontend/vite.config.ts b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/vite.config.ts similarity index 59% rename from packages/streamlit-rxdb-dataframe/frontend/vite.config.ts rename to packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/vite.config.ts index 42c5a25..cf1be8f 100644 --- a/packages/streamlit-rxdb-dataframe/frontend/vite.config.ts +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/vite.config.ts @@ -10,7 +10,7 @@ import { defineConfig } from 'vite'; export default defineConfig({ logLevel: 'info', root: __dirname, - cacheDir: '../../../node_modules/.vite/packages/streamlit-rxdb-dataframe/frontend', + cacheDir: '../../../../node_modules/.vite/packages/streamlit-rxdb-dataframe/frontend', server: { port: 4201, @@ -32,30 +32,22 @@ export default defineConfig({ // worker: { // plugins: [ nxViteTsPaths() ], // }, - + base: './', // This is needed to make compiled app work in Streamlit. build: { - outDir: '../../../dist/packages/streamlit-rxdb-dataframe/frontend', + outDir: './build', + emptyOutDir: true, reportCompressedSize: true, + terserOptions: { + mangle: false, + }, commonjsOptions: { transformMixedEsModules: true, }, - }, - - define: { - 'import.meta.vitest': undefined, - }, - test: { - globals: true, - cache: { - dir: '../../../node_modules/.vitest', - }, - environment: 'jsdom', - include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], - includeSource: ['src/**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], - reporters: ['default'], - coverage: { - reportsDirectory: '../../../coverage/packages/streamlit-rxdb-dataframe/frontend', - provider: 'v8', + rollupOptions: { + output: { + entryFileNames: `[name].js`, // disable hash in file name + chunkFileNames: `[name].js`, // disable hash in chunk file name + }, }, }, }); diff --git a/packages/streamlit-rxdb-dataframe/sonar-project.properties b/packages/streamlit-rxdb-dataframe/sonar-project.properties new file mode 100644 index 0000000..31e64cd --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/sonar-project.properties @@ -0,0 +1 @@ +sonar.exclusions=example.py,rxdb_dataframe/frontend/vite.config.ts,rxdb_dataframe/frontend/build diff --git a/tools/scripts/.gitkeep b/tools/scripts/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/tools/scripts/utils.ts b/tools/scripts/utils.ts index b5fb922..b17723e 100644 --- a/tools/scripts/utils.ts +++ b/tools/scripts/utils.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ +/* eslint-disable @typescript-eslint/no-var-requires, @typescript-eslint/no-explicit-any */ import { exec, ExecOptions } from 'child_process'; import { resolve } from 'path'; diff --git a/tools/tsconfig.json b/tools/tsconfig.json new file mode 100644 index 0000000..178a664 --- /dev/null +++ b/tools/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./tsconfig.tools.json" +} diff --git a/tsconfig.base.json b/tsconfig.base.json index fe1204b..66ba78a 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -25,6 +25,7 @@ "typeRoots": ["node_modules/@types"], "types": ["node"], "paths": { + "@ngx-odm/react": ["packages/react/src/index.ts"], "@ngx-odm/rxdb": ["dist/packages/rxdb", "packages/rxdb/src/index.ts"], "@ngx-odm/rxdb/collection": [ "dist/packages/rxdb/collection", @@ -35,14 +36,14 @@ "packages/rxdb/config/src/index.ts" ], "@ngx-odm/rxdb/core": ["dist/packages/rxdb/core", "packages/rxdb/core/src/index.ts"], - "@ngx-odm/rxdb/query-params": [ - "dist/packages/rxdb/query-params", - "packages/rxdb/query-params/src/index.ts" - ], "@ngx-odm/rxdb/prepare": [ "dist/packages/rxdb/prepare", "packages/rxdb/prepare/src/index.ts" ], + "@ngx-odm/rxdb/query-params": [ + "dist/packages/rxdb/query-params", + "packages/rxdb/query-params/src/index.ts" + ], "@ngx-odm/rxdb/replication-kinto": [ "dist/packages/rxdb/replication-kinto", "packages/rxdb/replication-kinto/src/index.ts" From c09a626ac9b95f6a2df313ab1b4d9d9a4f87eb68 Mon Sep 17 00:00:00 2001 From: Vadym Parakonnyi Date: Fri, 15 Mar 2024 13:44:45 +0100 Subject: [PATCH 5/7] fix: react lint warnings, build --- examples/demo/src/app/todos/todos.module.ts | 4 +- examples/demo/src/app/todos/todos.service.ts | 7 +- package-lock.json | 342 ------------------ package.json | 2 - .../src/lib/collection.service.spec.ts | 6 +- packages/rxdb/core/src/index.ts | 1 + .../src/with-collection-service.spec.ts | 4 +- .../signals/src/with-collection-service.ts | 4 +- packages/rxdb/src/lib/rxdb.module.puml | 10 +- packages/rxdb/src/lib/rxdb.module.spec.ts | 12 +- packages/rxdb/src/lib/rxdb.module.ts | 6 +- packages/rxdb/src/lib/rxdb.providers.ts | 6 +- packages/rxdb/testing/src/lib/mocks.ts | 3 +- .../rxdb_dataframe/frontend/build/index.js | 44 +-- .../frontend/src/lib/RxDBDataframe.tsx | 8 +- .../frontend/src/lib/useEditingState.ts | 16 +- .../frontend/src/lib/useNullableRenderData.ts | 11 +- 17 files changed, 73 insertions(+), 413 deletions(-) diff --git a/examples/demo/src/app/todos/todos.module.ts b/examples/demo/src/app/todos/todos.module.ts index 7919b44..d46bc60 100644 --- a/examples/demo/src/app/todos/todos.module.ts +++ b/examples/demo/src/app/todos/todos.module.ts @@ -3,7 +3,7 @@ import { Inject, NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { RouterModule } from '@angular/router'; import { LetDirective, PushPipe } from '@ngrx/component'; -import { NgxRxdbCollectionService, NgxRxdbModule } from '@ngx-odm/rxdb'; +import { NgxRxdbModule, RXDB_COLLECTION } from '@ngx-odm/rxdb'; import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; import { TODOS_COLLECTION_CONFIG, Todo } from '@shared'; import { TodosComponent } from './todos.component'; @@ -24,7 +24,7 @@ import { TodosService } from './todos.service'; }) export class TodosModule { constructor( - @Inject(NgxRxdbCollectionService) private collectionService: RxDBCollectionService + @Inject(RXDB_COLLECTION) private collectionService: RxDBCollectionService ) { this.collectionService.sync(); } diff --git a/examples/demo/src/app/todos/todos.service.ts b/examples/demo/src/app/todos/todos.service.ts index 655e6f3..57380bd 100755 --- a/examples/demo/src/app/todos/todos.service.ts +++ b/examples/demo/src/app/todos/todos.service.ts @@ -1,6 +1,6 @@ /* eslint-disable no-console */ import { Injectable, inject } from '@angular/core'; -import { NgxRxdbCollectionService } from '@ngx-odm/rxdb'; +import { RXDB_COLLECTION } from '@ngx-odm/rxdb'; import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; import { DEFAULT_LOCAL_DOCUMENT_ID } from '@ngx-odm/rxdb/config'; import { Todo, TodosFilter, TodosLocalState } from '@shared'; @@ -11,9 +11,8 @@ const withAttachments = true; @Injectable() export class TodosService { - private collectionService: RxDBCollectionService = inject< - RxDBCollectionService - >(NgxRxdbCollectionService); + private collectionService: RxDBCollectionService = + inject>(RXDB_COLLECTION); newTodo = ''; current: Todo = undefined; diff --git a/package-lock.json b/package-lock.json index d02e050..38c9998 100644 --- a/package-lock.json +++ b/package-lock.json @@ -131,8 +131,6 @@ "typescript": "5.2.2", "vite": "~5.0.0", "vite-plugin-dts": "~2.3.0", - "vite-plugin-json-server": "^0.1.1", - "vite-plugin-static": "^0.0.3", "vitest": "~0.34.6" }, "engines": { @@ -18901,15 +18899,6 @@ "node": ">=0.8" } }, - "node_modules/connect-pause": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/connect-pause/-/connect-pause-0.1.1.tgz", - "integrity": "sha512-a1gSWQBQD73krFXdUEYJom2RTFrWUL3YvXDCRkyv//GVXc79cdW9MngtRuN9ih4FDKBtfJAJId+BbDuX+1rh2w==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/connect/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -21369,19 +21358,6 @@ "is-arrayish": "^0.2.1" } }, - "node_modules/errorhandler": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", - "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", - "dev": true, - "dependencies": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/es-abstract": { "version": "1.22.5", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz", @@ -22665,31 +22641,6 @@ "node": ">= 0.10.0" } }, - "node_modules/express-urlrewrite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/express-urlrewrite/-/express-urlrewrite-1.4.0.tgz", - "integrity": "sha512-PI5h8JuzoweS26vFizwQl6UTF25CAHSggNv0J25Dn/IKZscJHWZzPrI5z2Y2jgOzIaw2qh8l6+/jUcig23Z2SA==", - "dev": true, - "dependencies": { - "debug": "*", - "path-to-regexp": "^1.0.3" - } - }, - "node_modules/express-urlrewrite/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "node_modules/express-urlrewrite/node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dev": true, - "dependencies": { - "isarray": "0.0.1" - } - }, "node_modules/express/node_modules/cookie": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", @@ -25766,12 +25717,6 @@ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true }, - "node_modules/is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dev": true - }, "node_modules/is-property": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", @@ -28333,123 +28278,11 @@ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, - "node_modules/json-parse-helpfulerror": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz", - "integrity": "sha512-XgP0FGR77+QhUxjXkwOMkC94k3WtqEBfcnjWqhRd82qTat4SWKRE+9kUnynz/shm3I4ea2+qISvTIeGTNU7kJg==", - "dev": true, - "dependencies": { - "jju": "^1.1.0" - } - }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, - "node_modules/json-server": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/json-server/-/json-server-0.17.4.tgz", - "integrity": "sha512-bGBb0WtFuAKbgI7JV3A864irWnMZSvBYRJbohaOuatHwKSRFUfqtQlrYMrB6WbalXy/cJabyjlb7JkHli6dYjQ==", - "dev": true, - "dependencies": { - "body-parser": "^1.19.0", - "chalk": "^4.1.2", - "compression": "^1.7.4", - "connect-pause": "^0.1.1", - "cors": "^2.8.5", - "errorhandler": "^1.5.1", - "express": "^4.17.1", - "express-urlrewrite": "^1.4.0", - "json-parse-helpfulerror": "^1.0.3", - "lodash": "^4.17.21", - "lodash-id": "^0.14.1", - "lowdb": "^1.0.0", - "method-override": "^3.0.0", - "morgan": "^1.10.0", - "nanoid": "^3.1.23", - "please-upgrade-node": "^3.2.0", - "pluralize": "^8.0.0", - "server-destroy": "^1.0.1", - "yargs": "^17.0.1" - }, - "bin": { - "json-server": "lib/cli/bin.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/json-server/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/json-server/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/json-server/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/json-server/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/json-server/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/json-server/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -29339,15 +29172,6 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "node_modules/lodash-id": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/lodash-id/-/lodash-id-0.14.1.tgz", - "integrity": "sha512-ikQPBTiq/d5m6dfKQlFdIXFzvThPi2Be9/AHxktOnDSfSxE1j9ICbBT5Elk1ke7HSTgM38LHTpmJovo9/klnLg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -29763,31 +29587,6 @@ "get-func-name": "^2.0.1" } }, - "node_modules/lowdb": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", - "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.3", - "is-promise": "^2.1.0", - "lodash": "4", - "pify": "^3.0.0", - "steno": "^0.4.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lowdb/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -30052,36 +29851,6 @@ "node": ">= 8" } }, - "node_modules/method-override": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz", - "integrity": "sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==", - "dev": true, - "dependencies": { - "debug": "3.1.0", - "methods": "~1.1.2", - "parseurl": "~1.3.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/method-override/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/method-override/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -32952,24 +32721,6 @@ "pathe": "^1.1.0" } }, - "node_modules/please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", - "dev": true, - "dependencies": { - "semver-compare": "^1.0.0" - } - }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/png-js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", @@ -36026,12 +35777,6 @@ "node": ">=10" } }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", - "dev": true - }, "node_modules/semver-regex": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", @@ -37374,15 +37119,6 @@ "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, - "node_modules/steno": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", - "integrity": "sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.3" - } - }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", @@ -39880,84 +39616,6 @@ "code-block-writer": "^12.0.0" } }, - "node_modules/vite-plugin-json-server": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/vite-plugin-json-server/-/vite-plugin-json-server-0.1.1.tgz", - "integrity": "sha512-bMr96f71FmfemQuW8ta5vsXtCVGyZR11q+YU4FTnoSiEdjcayimBPsWiTBlySvAV9xVbiUiPIAM6Hep38UerGg==", - "dev": true, - "dependencies": { - "json-server": "^0.17.3" - }, - "peerDependencies": { - "vite": "^4.0.0" - } - }, - "node_modules/vite-plugin-static": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/vite-plugin-static/-/vite-plugin-static-0.0.3.tgz", - "integrity": "sha512-j9Pnya2VGX3mQhbcbgJmMIToXjEMHQfIP1QiS0kmE+cBPdbqdwi5+YjgQ8RC9rHs+Pcdt8hNaYa0dLHwupN5Rg==", - "dev": true, - "dependencies": { - "glob": "^8.0.3", - "typescript": "^4.8.2" - }, - "peerDependencies": { - "vite": "^2.5.10" - } - }, - "node_modules/vite-plugin-static/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/vite-plugin-static/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/vite-plugin-static/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/vite-plugin-static/node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "node_modules/vite/node_modules/postcss": { "version": "8.4.35", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", diff --git a/package.json b/package.json index 1775b13..ddd653e 100644 --- a/package.json +++ b/package.json @@ -186,8 +186,6 @@ "typescript": "5.2.2", "vite": "~5.0.0", "vite-plugin-dts": "~2.3.0", - "vite-plugin-json-server": "^0.1.1", - "vite-plugin-static": "^0.0.3", "vitest": "~0.34.6" }, "engines": { diff --git a/packages/rxdb/collection/src/lib/collection.service.spec.ts b/packages/rxdb/collection/src/lib/collection.service.spec.ts index 37ff9aa..4f49058 100644 --- a/packages/rxdb/collection/src/lib/collection.service.spec.ts +++ b/packages/rxdb/collection/src/lib/collection.service.spec.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-var-requires */ import { TestBed } from '@angular/core/testing'; -import { NgxRxdbCollectionService, RXDB, provideRxCollection } from '@ngx-odm/rxdb'; +import { RXDB_COLLECTION, RXDB, provideRxCollection } from '@ngx-odm/rxdb'; import { RxDBService } from '@ngx-odm/rxdb/core'; import { TEST_FEATURE_CONFIG_1, @@ -21,7 +21,7 @@ const getMockReplicationState = (obj: Partial>) => return obj as RxReplicationState; }; -describe(`NgxRxdbCollectionService`, () => { +describe(`RXDB_COLLECTION`, () => { describe(`test methods using mock NgxRxdbService`, () => { let dbService: RxDBService; let service: RxDBCollectionService; @@ -34,7 +34,7 @@ describe(`NgxRxdbCollectionService`, () => { provideRxCollection(TEST_FEATURE_CONFIG_1), ], }); - service = TestBed.inject(NgxRxdbCollectionService) as any; + service = TestBed.inject(RXDB_COLLECTION) as any; }); afterEach(() => { diff --git a/packages/rxdb/core/src/index.ts b/packages/rxdb/core/src/index.ts index 485d68b..0404db6 100644 --- a/packages/rxdb/core/src/index.ts +++ b/packages/rxdb/core/src/index.ts @@ -1 +1,2 @@ export * from './lib/service'; +export * from './lib/plugin.loader'; diff --git a/packages/rxdb/signals/src/with-collection-service.spec.ts b/packages/rxdb/signals/src/with-collection-service.spec.ts index d160c31..4179930 100644 --- a/packages/rxdb/signals/src/with-collection-service.spec.ts +++ b/packages/rxdb/signals/src/with-collection-service.spec.ts @@ -3,7 +3,7 @@ import { TestBed } from '@angular/core/testing'; import { getState, signalStore } from '@ngrx/signals'; import { withEntities } from '@ngrx/signals/entities'; import { EntitySignals } from '@ngrx/signals/entities/src/models'; -import { NgxRxdbCollectionService, RXDB, provideRxCollection } from '@ngx-odm/rxdb'; +import { RXDB_COLLECTION, RXDB, provideRxCollection } from '@ngx-odm/rxdb'; import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; import { RxDBService } from '@ngx-odm/rxdb/core'; import { @@ -107,7 +107,7 @@ describe('withCollectionService', () => { }, }); store = TestBed.inject(TestStore) as any; - colService = TestBed.inject(NgxRxdbCollectionService) as any; + colService = TestBed.inject(RXDB_COLLECTION) as any; rxCollection = dbService.collections['test']; spyFind = jest.spyOn(rxCollection, 'find'); }); diff --git a/packages/rxdb/signals/src/with-collection-service.ts b/packages/rxdb/signals/src/with-collection-service.ts index 9073c24..1695567 100644 --- a/packages/rxdb/signals/src/with-collection-service.ts +++ b/packages/rxdb/signals/src/with-collection-service.ts @@ -19,7 +19,7 @@ import { setAllEntities } from '@ngrx/signals/entities'; import { NamedEntitySignals } from '@ngrx/signals/entities/src/models'; import { SignalStoreFeatureResult } from '@ngrx/signals/src/signal-store-models'; import { StateSignal } from '@ngrx/signals/src/state-signal'; -import { NgxRxdbCollectionService } from '@ngx-odm/rxdb'; +import { RXDB_COLLECTION } from '@ngx-odm/rxdb'; import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; import { DEFAULT_LOCAL_DOCUMENT_ID } from '@ngx-odm/rxdb/config'; import { Entity, EntityId, NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; @@ -295,7 +295,7 @@ export function withCollectionService< if (colService instanceof RxDBCollectionService) return; const injector = inject(Injector); // eslint-disable-next-line @typescript-eslint/no-explicit-any - colService = injector.get(NgxRxdbCollectionService) as RxDBCollectionService; + colService = injector.get(RXDB_COLLECTION) as RxDBCollectionService; }; return signalStoreFeature( diff --git a/packages/rxdb/src/lib/rxdb.module.puml b/packages/rxdb/src/lib/rxdb.module.puml index 20d2861..60a4ca5 100644 --- a/packages/rxdb/src/lib/rxdb.module.puml +++ b/packages/rxdb/src/lib/rxdb.module.puml @@ -4,7 +4,7 @@ actor User participant ApplicationInitStatus participant NgxRxdbModule participant NgxRxdbService -participant NgxRxdbCollectionService +participant RXDB_COLLECTION participant RXDB_CONFIG User -> ApplicationInitStatus: Start Application @@ -22,10 +22,10 @@ NgxRxdbService -> ApplicationInitStatus: Done with Initialization deactivate NgxRxdbService -User -> NgxRxdbCollectionService: Use NgxRxdbCollectionService -NgxRxdbCollectionService -> NgxRxdbService: Use NgxRxdbService -NgxRxdbService --> NgxRxdbCollectionService: Provide NgxRxdbService -NgxRxdbCollectionService -> RXDB_CONFIG: Use RXDB_CONFIG +User -> RXDB_COLLECTION: Use RXDB_COLLECTION +RXDB_COLLECTION -> NgxRxdbService: Use NgxRxdbService +NgxRxdbService --> RXDB_COLLECTION: Provide NgxRxdbService +RXDB_COLLECTION -> RXDB_CONFIG: Use RXDB_CONFIG NgxRxdbService --> RXDB_CONFIG: Provide RXDB_CONFIG @enduml diff --git a/packages/rxdb/src/lib/rxdb.module.spec.ts b/packages/rxdb/src/lib/rxdb.module.spec.ts index 37be6aa..0cda01f 100644 --- a/packages/rxdb/src/lib/rxdb.module.spec.ts +++ b/packages/rxdb/src/lib/rxdb.module.spec.ts @@ -4,13 +4,13 @@ import { TestBed, inject } from '@angular/core/testing'; import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; import { RxDBService } from '@ngx-odm/rxdb/core'; import { - setupNavigationWarnStub, - getMockRxdbService, TEST_DB_CONFIG_1, TEST_FEATURE_CONFIG_1, + getMockRxdbService, + setupNavigationWarnStub, } from '@ngx-odm/rxdb/testing'; import { NgxRxdbModule } from './rxdb.module'; -import { NgxRxdbCollectionService, RXDB, RXDB_CONFIG } from './rxdb.providers'; +import { RXDB, RXDB_COLLECTION, RXDB_CONFIG } from './rxdb.providers'; describe('NgxRxdbModule', () => { beforeAll(() => { @@ -69,9 +69,7 @@ describe('NgxRxdbModule', () => { }); it(`should not provide feature config token & collection service`, () => { expect(dbService.initCollections).not.toHaveBeenCalled(); - expect(() => TestBed.inject(NgxRxdbCollectionService)).toThrowError( - /No provider for/ - ); + expect(() => TestBed.inject(RXDB_COLLECTION)).toThrowError(/No provider for/); }); }); @@ -92,7 +90,7 @@ describe('NgxRxdbModule', () => { }); it(`should init db via dbService`, inject( - [NgxRxdbCollectionService], + [RXDB_COLLECTION], async (colService: RxDBCollectionService) => { expect(dbService.initDb).toHaveBeenCalledWith(TEST_DB_CONFIG_1); expect(dbService.initCollections).toHaveBeenCalledWith({ diff --git a/packages/rxdb/src/lib/rxdb.module.ts b/packages/rxdb/src/lib/rxdb.module.ts index 2d1bedb..bbed794 100644 --- a/packages/rxdb/src/lib/rxdb.module.ts +++ b/packages/rxdb/src/lib/rxdb.module.ts @@ -14,8 +14,8 @@ import { RxDBService } from '@ngx-odm/rxdb/core'; import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; import type { RxDatabaseCreator } from 'rxdb'; import { - NgxRxdbCollectionService, RXDB, + RXDB_COLLECTION, RXDB_CONFIG, provideRxCollection, provideRxDatabase, @@ -140,13 +140,13 @@ export class NgxRxdbModule { * (Fake) Feature module for NgxRxdbModule * * By being provided with `forChild` method of *root* NgxRxdbModule, - * and by injecting `NgxRxdbCollectionService` in its constructor, + * and by injecting `RXDB_COLLECTION` in its constructor, * this module actually creates a collection with collectionService and provided config */ @NgModule() export class NgxRxdbFeatureModule { constructor( @Inject(RXDB) private dbService: RxDBService, - @Inject(NgxRxdbCollectionService) private collectionService: RxDBCollectionService + @Inject(RXDB_COLLECTION) private collectionService: RxDBCollectionService ) {} } diff --git a/packages/rxdb/src/lib/rxdb.providers.ts b/packages/rxdb/src/lib/rxdb.providers.ts index 3a7d991..b6fb38a 100644 --- a/packages/rxdb/src/lib/rxdb.providers.ts +++ b/packages/rxdb/src/lib/rxdb.providers.ts @@ -31,7 +31,7 @@ export const RXDB_CONFIG_COLLECTION = new InjectionToken( +export const RXDB_COLLECTION = new InjectionToken( 'RxDBCollectionService' ); @@ -106,9 +106,9 @@ export function provideRxCollection( return [ { provide: RXDB_CONFIG_COLLECTION, useValue: collectionConfig }, { - provide: NgxRxdbCollectionService, + provide: RXDB_COLLECTION, // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore + // @ts-ignore // INFO: no need for typings here, nothing's exposed, but ts complains // NOSONAR useFactory: (config, dbService, ngZone, currentUrl, updateQueryParamsFn) => new RxDBCollectionService( config, diff --git a/packages/rxdb/testing/src/lib/mocks.ts b/packages/rxdb/testing/src/lib/mocks.ts index 94329c7..75797c2 100644 --- a/packages/rxdb/testing/src/lib/mocks.ts +++ b/packages/rxdb/testing/src/lib/mocks.ts @@ -2,7 +2,7 @@ /// import { RxCollectionCreatorExtended } from '@ngx-odm/rxdb/config'; -import { RxDBService } from '@ngx-odm/rxdb/core'; +import { RxDBService, loadRxDBPlugins } from '@ngx-odm/rxdb/core'; import { RxCollectionCreator, RxDatabaseCreator, @@ -11,7 +11,6 @@ import { randomCouchString, } from 'rxdb'; import { getRxStorageMemory } from 'rxdb/plugins/storage-memory'; -import { loadRxDBPlugins } from '../../../core/src/lib/plugin.loader'; export type TestDocType = { id: string; diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js index 14bd02d..a497c71 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js @@ -1,4 +1,4 @@ -var Jx=Object.defineProperty;var Xx=(t,e,n)=>e in t?Jx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var jc=(t,e,n)=>(Xx(t,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();var yw=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rh(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var N1={exports:{}},ih={},B1={exports:{}},Me={};/** +var Xx=Object.defineProperty;var Zx=(t,e,n)=>e in t?Xx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var jc=(t,e,n)=>(Zx(t,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();var vw=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rh(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var B1={exports:{}},ih={},F1={exports:{}},Me={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var Jx=Object.defineProperty;var Xx=(t,e,n)=>e in t?Jx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var zl=Symbol.for("react.element"),Zx=Symbol.for("react.portal"),eA=Symbol.for("react.fragment"),tA=Symbol.for("react.strict_mode"),nA=Symbol.for("react.profiler"),rA=Symbol.for("react.provider"),iA=Symbol.for("react.context"),sA=Symbol.for("react.forward_ref"),oA=Symbol.for("react.suspense"),aA=Symbol.for("react.memo"),uA=Symbol.for("react.lazy"),vw=Symbol.iterator;function lA(t){return t===null||typeof t!="object"?null:(t=vw&&t[vw]||t["@@iterator"],typeof t=="function"?t:null)}var F1={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},L1=Object.assign,$1={};function tu(t,e,n){this.props=t,this.context=e,this.refs=$1,this.updater=n||F1}tu.prototype.isReactComponent={};tu.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};tu.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function j1(){}j1.prototype=tu.prototype;function wv(t,e,n){this.props=t,this.context=e,this.refs=$1,this.updater=n||F1}var _v=wv.prototype=new j1;_v.constructor=wv;L1(_v,tu.prototype);_v.isPureReactComponent=!0;var gw=Array.isArray,U1=Object.prototype.hasOwnProperty,bv={current:null},z1={key:!0,ref:!0,__self:!0,__source:!0};function V1(t,e,n){var r,i={},s=null,o=null;if(e!=null)for(r in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)U1.call(e,r)&&!z1.hasOwnProperty(r)&&(i[r]=e[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1e in t?Jx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var pA=oi,mA=Symbol.for("react.element"),yA=Symbol.for("react.fragment"),vA=Object.prototype.hasOwnProperty,gA=pA.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,wA={key:!0,ref:!0,__self:!0,__source:!0};function K1(t,e,n){var r,i={},s=null,o=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)vA.call(e,r)&&!wA.hasOwnProperty(r)&&(i[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:mA,type:t,key:s,ref:o,props:i,_owner:gA.current}}ih.Fragment=yA;ih.jsx=K1;ih.jsxs=K1;N1.exports=ih;var _A=N1.exports,W1={exports:{}},nr={},q1={exports:{}},H1={};/** + */var mC=qn,yC=Symbol.for("react.element"),vC=Symbol.for("react.fragment"),gC=Object.prototype.hasOwnProperty,wC=mC.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,_C={key:!0,ref:!0,__self:!0,__source:!0};function W1(t,e,n){var r,i={},s=null,o=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)gC.call(e,r)&&!_C.hasOwnProperty(r)&&(i[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:yC,type:t,key:s,ref:o,props:i,_owner:wC.current}}ih.Fragment=vC;ih.jsx=W1;ih.jsxs=W1;B1.exports=ih;var bC=B1.exports,q1={exports:{}},rr={},H1={exports:{}},Q1={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var Jx=Object.defineProperty;var Xx=(t,e,n)=>e in t?Jx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function e(G,oe){var ue=G.length;G.push(oe);e:for(;0>>1,xt=G[Re];if(0>>1;Rei(Un,ue))tni(Xi,Un)?(G[Re]=Xi,G[tn]=ue,Re=tn):(G[Re]=Un,G[At]=ue,Re=At);else if(tni(Xi,ue))G[Re]=Xi,G[tn]=ue,Re=tn;else break e}}return oe}function i(G,oe){var ue=G.sortIndex-oe.sortIndex;return ue!==0?ue:G.id-oe.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],f=[],h=1,m=null,y=3,w=!1,I=!1,E=!1,F=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function k(G){for(var oe=n(f);oe!==null;){if(oe.callback===null)r(f);else if(oe.startTime<=G)r(f),oe.sortIndex=oe.expirationTime,e(l,oe);else break;oe=n(f)}}function z(G){if(E=!1,k(G),!I)if(n(l)!==null)I=!0,Te(W);else{var oe=n(f);oe!==null&&Dt(z,oe.startTime-G)}}function W(G,oe){I=!1,E&&(E=!1,S(X),X=-1),w=!0;var ue=y;try{for(k(oe),m=n(l);m!==null&&(!(m.expirationTime>oe)||G&&!ce());){var Re=m.callback;if(typeof Re=="function"){m.callback=null,y=m.priorityLevel;var xt=Re(m.expirationTime<=oe);oe=t.unstable_now(),typeof xt=="function"?m.callback=xt:m===n(l)&&r(l),k(oe)}else r(l);m=n(l)}if(m!==null)var ft=!0;else{var At=n(f);At!==null&&Dt(z,At.startTime-oe),ft=!1}return ft}finally{m=null,y=ue,w=!1}}var Q=!1,H=null,X=-1,U=5,ee=-1;function ce(){return!(t.unstable_now()-eeG||125Re?(G.sortIndex=ue,e(f,G),n(l)===null&&G===n(f)&&(E?(S(X),X=-1):E=!0,Dt(z,ue-Re))):(G.sortIndex=xt,e(l,G),I||w||(I=!0,Te(W))),G},t.unstable_shouldYield=ce,t.unstable_wrapCallback=function(G){var oe=y;return function(){var ue=y;y=oe;try{return G.apply(this,arguments)}finally{y=ue}}}})(H1);q1.exports=H1;var bA=q1.exports;/** + */(function(t){function e(G,oe){var ue=G.length;G.push(oe);e:for(;0>>1,xt=G[Re];if(0>>1;Rei(Un,ue))tni(Xi,Un)?(G[Re]=Xi,G[tn]=ue,Re=tn):(G[Re]=Un,G[Ct]=ue,Re=Ct);else if(tni(Xi,ue))G[Re]=Xi,G[tn]=ue,Re=tn;else break e}}return oe}function i(G,oe){var ue=G.sortIndex-oe.sortIndex;return ue!==0?ue:G.id-oe.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],f=[],h=1,m=null,y=3,w=!1,I=!1,E=!1,$=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function O(G){for(var oe=n(f);oe!==null;){if(oe.callback===null)r(f);else if(oe.startTime<=G)r(f),oe.sortIndex=oe.expirationTime,e(l,oe);else break;oe=n(f)}}function z(G){if(E=!1,O(G),!I)if(n(l)!==null)I=!0,Te(W);else{var oe=n(f);oe!==null&&Dt(z,oe.startTime-G)}}function W(G,oe){I=!1,E&&(E=!1,S(X),X=-1),w=!0;var ue=y;try{for(O(oe),m=n(l);m!==null&&(!(m.expirationTime>oe)||G&&!ce());){var Re=m.callback;if(typeof Re=="function"){m.callback=null,y=m.priorityLevel;var xt=Re(m.expirationTime<=oe);oe=t.unstable_now(),typeof xt=="function"?m.callback=xt:m===n(l)&&r(l),O(oe)}else r(l);m=n(l)}if(m!==null)var ft=!0;else{var Ct=n(f);Ct!==null&&Dt(z,Ct.startTime-oe),ft=!1}return ft}finally{m=null,y=ue,w=!1}}var Q=!1,H=null,X=-1,U=5,ee=-1;function ce(){return!(t.unstable_now()-eeG||125Re?(G.sortIndex=ue,e(f,G),n(l)===null&&G===n(f)&&(E?(S(X),X=-1):E=!0,Dt(z,ue-Re))):(G.sortIndex=xt,e(l,G),I||w||(I=!0,Te(W))),G},t.unstable_shouldYield=ce,t.unstable_wrapCallback=function(G){var oe=y;return function(){var ue=y;y=oe;try{return G.apply(this,arguments)}finally{y=ue}}}})(Q1);H1.exports=Q1;var SC=H1.exports;/** * @license React * react-dom.production.min.js * @@ -30,52 +30,52 @@ var Jx=Object.defineProperty;var Xx=(t,e,n)=>e in t?Jx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Q1=oi,Zn=bA;function Z(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Cm=Object.prototype.hasOwnProperty,SA=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,_w={},bw={};function IA(t){return Cm.call(bw,t)?!0:Cm.call(_w,t)?!1:SA.test(t)?bw[t]=!0:(_w[t]=!0,!1)}function EA(t,e,n,r){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function OA(t,e,n,r){if(e===null||typeof e>"u"||EA(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function gn(t,e,n,r,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var en={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){en[t]=new gn(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];en[e]=new gn(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){en[t]=new gn(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){en[t]=new gn(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){en[t]=new gn(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){en[t]=new gn(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){en[t]=new gn(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){en[t]=new gn(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){en[t]=new gn(t,5,!1,t.toLowerCase(),null,!1,!1)});var Iv=/[\-:]([a-z])/g;function Ev(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Iv,Ev);en[e]=new gn(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Iv,Ev);en[e]=new gn(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Iv,Ev);en[e]=new gn(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){en[t]=new gn(t,1,!1,t.toLowerCase(),null,!1,!1)});en.xlinkHref=new gn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){en[t]=new gn(t,1,!1,t.toLowerCase(),null,!0,!0)});function Ov(t,e,n,r){var i=en.hasOwnProperty(e)?en[e]:null;(i!==null?i.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Pm=Object.prototype.hasOwnProperty,IC=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,bw={},Sw={};function EC(t){return Pm.call(Sw,t)?!0:Pm.call(bw,t)?!1:IC.test(t)?Sw[t]=!0:(bw[t]=!0,!1)}function OC(t,e,n,r){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function kC(t,e,n,r){if(e===null||typeof e>"u"||OC(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function gn(t,e,n,r,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var en={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){en[t]=new gn(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];en[e]=new gn(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){en[t]=new gn(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){en[t]=new gn(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){en[t]=new gn(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){en[t]=new gn(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){en[t]=new gn(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){en[t]=new gn(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){en[t]=new gn(t,5,!1,t.toLowerCase(),null,!1,!1)});var Ev=/[\-:]([a-z])/g;function Ov(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Ev,Ov);en[e]=new gn(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Ev,Ov);en[e]=new gn(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Ev,Ov);en[e]=new gn(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){en[t]=new gn(t,1,!1,t.toLowerCase(),null,!1,!1)});en.xlinkHref=new gn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){en[t]=new gn(t,1,!1,t.toLowerCase(),null,!0,!0)});function kv(t,e,n,r){var i=en.hasOwnProperty(e)?en[e]:null;(i!==null?i.type!==0:r||!(2a||i[o]!==s[a]){var l=` -`+i[o].replace(" at new "," at ");return t.displayName&&l.includes("")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=a);break}}}finally{xp=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?Lu(t):""}function kA(t){switch(t.tag){case 5:return Lu(t.type);case 16:return Lu("Lazy");case 13:return Lu("Suspense");case 19:return Lu("SuspenseList");case 0:case 2:case 15:return t=Ap(t.type,!1),t;case 11:return t=Ap(t.type.render,!1),t;case 1:return t=Ap(t.type,!0),t;default:return""}}function Mm(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case la:return"Fragment";case ua:return"Portal";case Pm:return"Profiler";case kv:return"StrictMode";case Rm:return"Suspense";case Tm:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case J1:return(t.displayName||"Context")+".Consumer";case G1:return(t._context.displayName||"Context")+".Provider";case Dv:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case xv:return e=t.displayName||null,e!==null?e:Mm(t.type)||"Memo";case us:e=t._payload,t=t._init;try{return Mm(t(e))}catch{}}return null}function DA(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Mm(e);case 8:return e===kv?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Ps(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Z1(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function xA(t){var e=Z1(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,s=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Vc(t){t._valueTracker||(t._valueTracker=xA(t))}function eS(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=Z1(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function Uf(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Nm(t,e){var n=e.checked;return Et({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Iw(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=Ps(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function tS(t,e){e=e.checked,e!=null&&Ov(t,"checked",e,!1)}function Bm(t,e){tS(t,e);var n=Ps(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Fm(t,e.type,n):e.hasOwnProperty("defaultValue")&&Fm(t,e.type,Ps(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function Ew(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Fm(t,e,n){(e!=="number"||Uf(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var $u=Array.isArray;function ba(t,e,n,r){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=Kc.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function cl(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var Wu={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},AA=["Webkit","ms","Moz","O"];Object.keys(Wu).forEach(function(t){AA.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Wu[e]=Wu[t]})});function sS(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||Wu.hasOwnProperty(t)&&Wu[t]?(""+e).trim():e+"px"}function oS(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=sS(n,e[n],r);n==="float"&&(n="cssFloat"),r?t.setProperty(n,i):t[n]=i}}var CA=Et({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function jm(t,e){if(e){if(CA[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Z(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Z(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Z(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Z(62))}}function Um(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var zm=null;function Av(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Vm=null,Sa=null,Ia=null;function Dw(t){if(t=Wl(t)){if(typeof Vm!="function")throw Error(Z(280));var e=t.stateNode;e&&(e=lh(e),Vm(t.stateNode,t.type,e))}}function aS(t){Sa?Ia?Ia.push(t):Ia=[t]:Sa=t}function uS(){if(Sa){var t=Sa,e=Ia;if(Ia=Sa=null,Dw(t),e)for(t=0;t>>=0,t===0?32:31-(UA(t)/zA|0)|0}var Wc=64,qc=4194304;function ju(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Wf(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,i=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var a=o&~i;a!==0?r=ju(a):(s&=o,s!==0&&(r=ju(s)))}else o=n&~i,o!==0?r=ju(o):s!==0&&(r=ju(s));if(r===0)return 0;if(e!==0&&e!==r&&!(e&i)&&(i=r&-r,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if(r&4&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0n;n++)e.push(t);return e}function Vl(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-Dr(e),t[e]=n}function qA(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=Hu),Bw=String.fromCharCode(32),Fw=!1;function xS(t,e){switch(t){case"keyup":return _C.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function AS(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ca=!1;function SC(t,e){switch(t){case"compositionend":return AS(e);case"keypress":return e.which!==32?null:(Fw=!0,Bw);case"textInput":return t=e.data,t===Bw&&Fw?null:t;default:return null}}function IC(t,e){if(ca)return t==="compositionend"||!Fv&&xS(t,e)?(t=kS(),gf=Mv=ms=null,ca=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Uw(n)}}function TS(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?TS(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function MS(){for(var t=window,e=Uf();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=Uf(t.document)}return e}function Lv(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function RC(t){var e=MS(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&TS(n.ownerDocument.documentElement,n)){if(r!==null&&Lv(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,s=Math.min(r.start,i);r=r.end===void 0?s:Math.min(r.end,i),!t.extend&&s>r&&(i=r,r=s,s=i),i=zw(n,s);var o=zw(n,r);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,fa=null,Ym=null,Yu=null,Gm=!1;function Vw(t,e,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Gm||fa==null||fa!==Uf(r)||(r=fa,"selectionStart"in r&&Lv(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Yu&&yl(Yu,r)||(Yu=r,r=Qf(Ym,"onSelect"),0pa||(t.current=ny[pa],ny[pa]=null,pa--)}function ut(t,e){pa++,ny[pa]=t.current,t.current=e}var Rs={},ln=Us(Rs),Dn=Us(!1),Ao=Rs;function Ta(t,e){var n=t.type.contextTypes;if(!n)return Rs;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function xn(t){return t=t.childContextTypes,t!=null}function Gf(){mt(Dn),mt(ln)}function Gw(t,e,n){if(ln.current!==Rs)throw Error(Z(168));ut(ln,e),ut(Dn,n)}function VS(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(Z(108,DA(t)||"Unknown",i));return Et({},n,r)}function Jf(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Rs,Ao=ln.current,ut(ln,t),ut(Dn,Dn.current),!0}function Jw(t,e,n){var r=t.stateNode;if(!r)throw Error(Z(169));n?(t=VS(t,e,Ao),r.__reactInternalMemoizedMergedChildContext=t,mt(Dn),mt(ln),ut(ln,t)):mt(Dn),ut(Dn,n)}var Ei=null,ch=!1,Vp=!1;function KS(t){Ei===null?Ei=[t]:Ei.push(t)}function KC(t){ch=!0,KS(t)}function zs(){if(!Vp&&Ei!==null){Vp=!0;var t=0,e=Ge;try{var n=Ei;for(Ge=1;t>=o,i-=o,xi=1<<32-Dr(e)+i|n<X?(U=H,H=null):U=H.sibling;var ee=y(S,H,k[X],z);if(ee===null){H===null&&(H=U);break}t&&H&&ee.alternate===null&&e(S,H),_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee,H=U}if(X===k.length)return n(S,H),gt&&uo(S,X),W;if(H===null){for(;XX?(U=H,H=null):U=H.sibling;var ce=y(S,H,ee.value,z);if(ce===null){H===null&&(H=U);break}t&&H&&ce.alternate===null&&e(S,H),_=s(ce,_,X),Q===null?W=ce:Q.sibling=ce,Q=ce,H=U}if(ee.done)return n(S,H),gt&&uo(S,X),W;if(H===null){for(;!ee.done;X++,ee=k.next())ee=m(S,ee.value,z),ee!==null&&(_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return gt&&uo(S,X),W}for(H=r(S,H);!ee.done;X++,ee=k.next())ee=w(H,S,X,ee.value,z),ee!==null&&(t&&ee.alternate!==null&&H.delete(ee.key===null?X:ee.key),_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return t&&H.forEach(function(de){return e(S,de)}),gt&&uo(S,X),W}function F(S,_,k,z){if(typeof k=="object"&&k!==null&&k.type===la&&k.key===null&&(k=k.props.children),typeof k=="object"&&k!==null){switch(k.$$typeof){case zc:e:{for(var W=k.key,Q=_;Q!==null;){if(Q.key===W){if(W=k.type,W===la){if(Q.tag===7){n(S,Q.sibling),_=i(Q,k.props.children),_.return=S,S=_;break e}}else if(Q.elementType===W||typeof W=="object"&&W!==null&&W.$$typeof===us&&i_(W)===Q.type){n(S,Q.sibling),_=i(Q,k.props),_.ref=Ru(S,Q,k),_.return=S,S=_;break e}n(S,Q);break}else e(S,Q);Q=Q.sibling}k.type===la?(_=Io(k.props.children,S.mode,z,k.key),_.return=S,S=_):(z=kf(k.type,k.key,k.props,null,S.mode,z),z.ref=Ru(S,_,k),z.return=S,S=z)}return o(S);case ua:e:{for(Q=k.key;_!==null;){if(_.key===Q)if(_.tag===4&&_.stateNode.containerInfo===k.containerInfo&&_.stateNode.implementation===k.implementation){n(S,_.sibling),_=i(_,k.children||[]),_.return=S,S=_;break e}else{n(S,_);break}else e(S,_);_=_.sibling}_=Jp(k,S.mode,z),_.return=S,S=_}return o(S);case us:return Q=k._init,F(S,_,Q(k._payload),z)}if($u(k))return I(S,_,k,z);if(Du(k))return E(S,_,k,z);Zc(S,k)}return typeof k=="string"&&k!==""||typeof k=="number"?(k=""+k,_!==null&&_.tag===6?(n(S,_.sibling),_=i(_,k),_.return=S,S=_):(n(S,_),_=Gp(k,S.mode,z),_.return=S,S=_),o(S)):n(S,_)}return F}var Na=XS(!0),ZS=XS(!1),ql={},ui=Us(ql),_l=Us(ql),bl=Us(ql);function po(t){if(t===ql)throw Error(Z(174));return t}function Hv(t,e){switch(ut(bl,e),ut(_l,t),ut(ui,ql),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:$m(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=$m(e,t)}mt(ui),ut(ui,e)}function Ba(){mt(ui),mt(_l),mt(bl)}function eI(t){po(bl.current);var e=po(ui.current),n=$m(e,t.type);e!==n&&(ut(_l,t),ut(ui,n))}function Qv(t){_l.current===t&&(mt(ui),mt(_l))}var bt=Us(0);function rd(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Kp=[];function Yv(){for(var t=0;tn?n:4,t(!0);var r=Wp.transition;Wp.transition={};try{t(!1),e()}finally{Ge=n,Wp.transition=r}}function yI(){return gr().memoizedState}function QC(t,e,n){var r=Os(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},vI(t))gI(e,n);else if(n=QS(t,e,n,r),n!==null){var i=yn();xr(n,t,r,i),wI(n,e,r)}}function YC(t,e,n){var r=Os(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(vI(t))gI(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,n);if(i.hasEagerState=!0,i.eagerState=a,Pr(a,o)){var l=e.interleaved;l===null?(i.next=i,Wv(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}finally{}n=QS(t,e,i,r),n!==null&&(i=yn(),xr(n,t,r,i),wI(n,e,r))}}function vI(t){var e=t.alternate;return t===It||e!==null&&e===It}function gI(t,e){Gu=id=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function wI(t,e,n){if(n&4194240){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,Pv(t,n)}}var sd={readContext:vr,useCallback:sn,useContext:sn,useEffect:sn,useImperativeHandle:sn,useInsertionEffect:sn,useLayoutEffect:sn,useMemo:sn,useReducer:sn,useRef:sn,useState:sn,useDebugValue:sn,useDeferredValue:sn,useTransition:sn,useMutableSource:sn,useSyncExternalStore:sn,useId:sn,unstable_isNewReconciler:!1},GC={readContext:vr,useCallback:function(t,e){return Wr().memoizedState=[t,e===void 0?null:e],t},useContext:vr,useEffect:o_,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,Sf(4194308,4,fI.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Sf(4194308,4,t,e)},useInsertionEffect:function(t,e){return Sf(4,2,t,e)},useMemo:function(t,e){var n=Wr();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var r=Wr();return e=n!==void 0?n(e):e,r.memoizedState=r.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},r.queue=t,t=t.dispatch=QC.bind(null,It,t),[r.memoizedState,t]},useRef:function(t){var e=Wr();return t={current:t},e.memoizedState=t},useState:s_,useDebugValue:eg,useDeferredValue:function(t){return Wr().memoizedState=t},useTransition:function(){var t=s_(!1),e=t[0];return t=HC.bind(null,t[1]),Wr().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var r=It,i=Wr();if(gt){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=e(),Qt===null)throw Error(Z(349));Po&30||rI(r,e,n)}i.memoizedState=n;var s={value:n,getSnapshot:e};return i.queue=s,o_(sI.bind(null,r,s,t),[t]),r.flags|=2048,El(9,iI.bind(null,r,s,n,e),void 0,null),n},useId:function(){var t=Wr(),e=Qt.identifierPrefix;if(gt){var n=Ai,r=xi;n=(r&~(1<<32-Dr(r)-1)).toString(32)+n,e=":"+e+"R"+n,n=Sl++,0")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=a);break}}}finally{xp=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?Lu(t):""}function DC(t){switch(t.tag){case 5:return Lu(t.type);case 16:return Lu("Lazy");case 13:return Lu("Suspense");case 19:return Lu("SuspenseList");case 0:case 2:case 15:return t=Cp(t.type,!1),t;case 11:return t=Cp(t.type.render,!1),t;case 1:return t=Cp(t.type,!0),t;default:return""}}function Nm(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case ca:return"Fragment";case la:return"Portal";case Rm:return"Profiler";case Dv:return"StrictMode";case Tm:return"Suspense";case Mm:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case X1:return(t.displayName||"Context")+".Consumer";case J1:return(t._context.displayName||"Context")+".Provider";case xv:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Cv:return e=t.displayName||null,e!==null?e:Nm(t.type)||"Memo";case us:e=t._payload,t=t._init;try{return Nm(t(e))}catch{}}return null}function xC(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Nm(e);case 8:return e===Dv?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Ps(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function eS(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function CC(t){var e=eS(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,s=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Vc(t){t._valueTracker||(t._valueTracker=CC(t))}function tS(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=eS(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function Uf(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Bm(t,e){var n=e.checked;return Et({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Ew(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=Ps(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function nS(t,e){e=e.checked,e!=null&&kv(t,"checked",e,!1)}function Fm(t,e){nS(t,e);var n=Ps(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Lm(t,e.type,n):e.hasOwnProperty("defaultValue")&&Lm(t,e.type,Ps(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function Ow(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Lm(t,e,n){(e!=="number"||Uf(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var $u=Array.isArray;function Sa(t,e,n,r){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=Kc.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function cl(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var Wu={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},AC=["Webkit","ms","Moz","O"];Object.keys(Wu).forEach(function(t){AC.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Wu[e]=Wu[t]})});function oS(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||Wu.hasOwnProperty(t)&&Wu[t]?(""+e).trim():e+"px"}function aS(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=oS(n,e[n],r);n==="float"&&(n="cssFloat"),r?t.setProperty(n,i):t[n]=i}}var PC=Et({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Um(t,e){if(e){if(PC[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Z(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Z(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Z(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Z(62))}}function zm(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vm=null;function Av(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Km=null,Ia=null,Ea=null;function xw(t){if(t=Wl(t)){if(typeof Km!="function")throw Error(Z(280));var e=t.stateNode;e&&(e=lh(e),Km(t.stateNode,t.type,e))}}function uS(t){Ia?Ea?Ea.push(t):Ea=[t]:Ia=t}function lS(){if(Ia){var t=Ia,e=Ea;if(Ea=Ia=null,xw(t),e)for(t=0;t>>=0,t===0?32:31-(zC(t)/VC|0)|0}var Wc=64,qc=4194304;function ju(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Wf(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,i=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var a=o&~i;a!==0?r=ju(a):(s&=o,s!==0&&(r=ju(s)))}else o=n&~i,o!==0?r=ju(o):s!==0&&(r=ju(s));if(r===0)return 0;if(e!==0&&e!==r&&!(e&i)&&(i=r&-r,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if(r&4&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0n;n++)e.push(t);return e}function Vl(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-xr(e),t[e]=n}function HC(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=Hu),Fw=String.fromCharCode(32),Lw=!1;function CS(t,e){switch(t){case"keyup":return bA.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function AS(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var fa=!1;function IA(t,e){switch(t){case"compositionend":return AS(e);case"keypress":return e.which!==32?null:(Lw=!0,Fw);case"textInput":return t=e.data,t===Fw&&Lw?null:t;default:return null}}function EA(t,e){if(fa)return t==="compositionend"||!Lv&&CS(t,e)?(t=DS(),gf=Nv=ms=null,fa=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=zw(n)}}function MS(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?MS(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function NS(){for(var t=window,e=Uf();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=Uf(t.document)}return e}function $v(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function TA(t){var e=NS(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&MS(n.ownerDocument.documentElement,n)){if(r!==null&&$v(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,s=Math.min(r.start,i);r=r.end===void 0?s:Math.min(r.end,i),!t.extend&&s>r&&(i=r,r=s,s=i),i=Vw(n,s);var o=Vw(n,r);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,da=null,Gm=null,Yu=null,Jm=!1;function Kw(t,e,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Jm||da==null||da!==Uf(r)||(r=da,"selectionStart"in r&&$v(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Yu&&yl(Yu,r)||(Yu=r,r=Qf(Gm,"onSelect"),0ma||(t.current=ry[ma],ry[ma]=null,ma--)}function ut(t,e){ma++,ry[ma]=t.current,t.current=e}var Rs={},ln=Us(Rs),Dn=Us(!1),Co=Rs;function Ma(t,e){var n=t.type.contextTypes;if(!n)return Rs;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function xn(t){return t=t.childContextTypes,t!=null}function Gf(){mt(Dn),mt(ln)}function Jw(t,e,n){if(ln.current!==Rs)throw Error(Z(168));ut(ln,e),ut(Dn,n)}function KS(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(Z(108,xC(t)||"Unknown",i));return Et({},n,r)}function Jf(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Rs,Co=ln.current,ut(ln,t),ut(Dn,Dn.current),!0}function Xw(t,e,n){var r=t.stateNode;if(!r)throw Error(Z(169));n?(t=KS(t,e,Co),r.__reactInternalMemoizedMergedChildContext=t,mt(Dn),mt(ln),ut(ln,t)):mt(Dn),ut(Dn,n)}var Ei=null,ch=!1,Vp=!1;function WS(t){Ei===null?Ei=[t]:Ei.push(t)}function WA(t){ch=!0,WS(t)}function zs(){if(!Vp&&Ei!==null){Vp=!0;var t=0,e=Ge;try{var n=Ei;for(Ge=1;t>=o,i-=o,xi=1<<32-xr(e)+i|n<X?(U=H,H=null):U=H.sibling;var ee=y(S,H,O[X],z);if(ee===null){H===null&&(H=U);break}t&&H&&ee.alternate===null&&e(S,H),_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee,H=U}if(X===O.length)return n(S,H),gt&&uo(S,X),W;if(H===null){for(;XX?(U=H,H=null):U=H.sibling;var ce=y(S,H,ee.value,z);if(ce===null){H===null&&(H=U);break}t&&H&&ce.alternate===null&&e(S,H),_=s(ce,_,X),Q===null?W=ce:Q.sibling=ce,Q=ce,H=U}if(ee.done)return n(S,H),gt&&uo(S,X),W;if(H===null){for(;!ee.done;X++,ee=O.next())ee=m(S,ee.value,z),ee!==null&&(_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return gt&&uo(S,X),W}for(H=r(S,H);!ee.done;X++,ee=O.next())ee=w(H,S,X,ee.value,z),ee!==null&&(t&&ee.alternate!==null&&H.delete(ee.key===null?X:ee.key),_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return t&&H.forEach(function(de){return e(S,de)}),gt&&uo(S,X),W}function $(S,_,O,z){if(typeof O=="object"&&O!==null&&O.type===ca&&O.key===null&&(O=O.props.children),typeof O=="object"&&O!==null){switch(O.$$typeof){case zc:e:{for(var W=O.key,Q=_;Q!==null;){if(Q.key===W){if(W=O.type,W===ca){if(Q.tag===7){n(S,Q.sibling),_=i(Q,O.props.children),_.return=S,S=_;break e}}else if(Q.elementType===W||typeof W=="object"&&W!==null&&W.$$typeof===us&&s_(W)===Q.type){n(S,Q.sibling),_=i(Q,O.props),_.ref=Ru(S,Q,O),_.return=S,S=_;break e}n(S,Q);break}else e(S,Q);Q=Q.sibling}O.type===ca?(_=Io(O.props.children,S.mode,z,O.key),_.return=S,S=_):(z=kf(O.type,O.key,O.props,null,S.mode,z),z.ref=Ru(S,_,O),z.return=S,S=z)}return o(S);case la:e:{for(Q=O.key;_!==null;){if(_.key===Q)if(_.tag===4&&_.stateNode.containerInfo===O.containerInfo&&_.stateNode.implementation===O.implementation){n(S,_.sibling),_=i(_,O.children||[]),_.return=S,S=_;break e}else{n(S,_);break}else e(S,_);_=_.sibling}_=Jp(O,S.mode,z),_.return=S,S=_}return o(S);case us:return Q=O._init,$(S,_,Q(O._payload),z)}if($u(O))return I(S,_,O,z);if(Du(O))return E(S,_,O,z);Zc(S,O)}return typeof O=="string"&&O!==""||typeof O=="number"?(O=""+O,_!==null&&_.tag===6?(n(S,_.sibling),_=i(_,O),_.return=S,S=_):(n(S,_),_=Gp(O,S.mode,z),_.return=S,S=_),o(S)):n(S,_)}return $}var Ba=ZS(!0),eI=ZS(!1),ql={},ui=Us(ql),_l=Us(ql),bl=Us(ql);function po(t){if(t===ql)throw Error(Z(174));return t}function Qv(t,e){switch(ut(bl,e),ut(_l,t),ut(ui,ql),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:jm(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=jm(e,t)}mt(ui),ut(ui,e)}function Fa(){mt(ui),mt(_l),mt(bl)}function tI(t){po(bl.current);var e=po(ui.current),n=jm(e,t.type);e!==n&&(ut(_l,t),ut(ui,n))}function Yv(t){_l.current===t&&(mt(ui),mt(_l))}var bt=Us(0);function rd(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Kp=[];function Gv(){for(var t=0;tn?n:4,t(!0);var r=Wp.transition;Wp.transition={};try{t(!1),e()}finally{Ge=n,Wp.transition=r}}function vI(){return wr().memoizedState}function YA(t,e,n){var r=Os(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},gI(t))wI(e,n);else if(n=YS(t,e,n,r),n!==null){var i=yn();Cr(n,t,r,i),_I(n,e,r)}}function GA(t,e,n){var r=Os(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(gI(t))wI(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,n);if(i.hasEagerState=!0,i.eagerState=a,Rr(a,o)){var l=e.interleaved;l===null?(i.next=i,qv(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}finally{}n=YS(t,e,i,r),n!==null&&(i=yn(),Cr(n,t,r,i),_I(n,e,r))}}function gI(t){var e=t.alternate;return t===It||e!==null&&e===It}function wI(t,e){Gu=id=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function _I(t,e,n){if(n&4194240){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,Rv(t,n)}}var sd={readContext:gr,useCallback:sn,useContext:sn,useEffect:sn,useImperativeHandle:sn,useInsertionEffect:sn,useLayoutEffect:sn,useMemo:sn,useReducer:sn,useRef:sn,useState:sn,useDebugValue:sn,useDeferredValue:sn,useTransition:sn,useMutableSource:sn,useSyncExternalStore:sn,useId:sn,unstable_isNewReconciler:!1},JA={readContext:gr,useCallback:function(t,e){return qr().memoizedState=[t,e===void 0?null:e],t},useContext:gr,useEffect:a_,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,Sf(4194308,4,dI.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Sf(4194308,4,t,e)},useInsertionEffect:function(t,e){return Sf(4,2,t,e)},useMemo:function(t,e){var n=qr();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var r=qr();return e=n!==void 0?n(e):e,r.memoizedState=r.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},r.queue=t,t=t.dispatch=YA.bind(null,It,t),[r.memoizedState,t]},useRef:function(t){var e=qr();return t={current:t},e.memoizedState=t},useState:o_,useDebugValue:tg,useDeferredValue:function(t){return qr().memoizedState=t},useTransition:function(){var t=o_(!1),e=t[0];return t=QA.bind(null,t[1]),qr().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var r=It,i=qr();if(gt){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=e(),Qt===null)throw Error(Z(349));Po&30||iI(r,e,n)}i.memoizedState=n;var s={value:n,getSnapshot:e};return i.queue=s,a_(oI.bind(null,r,s,t),[t]),r.flags|=2048,El(9,sI.bind(null,r,s,n,e),void 0,null),n},useId:function(){var t=qr(),e=Qt.identifierPrefix;if(gt){var n=Ci,r=xi;n=(r&~(1<<32-xr(r)-1)).toString(32)+n,e=":"+e+"R"+n,n=Sl++,0<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[Yr]=e,t[wl]=r,xI(t,e,!1,!1),e.stateNode=t;e:{switch(o=Um(n,r),n){case"dialog":ht("cancel",t),ht("close",t),i=r;break;case"iframe":case"object":case"embed":ht("load",t),i=r;break;case"video":case"audio":for(i=0;iLa&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304)}else{if(!r)if(t=rd(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),Tu(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!gt)return on(e),null}else 2*Tt()-s.renderingStartTime>La&&n!==1073741824&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Tt(),e.sibling=null,n=bt.current,ut(bt,r?n&1|2:n&1),e):(on(e),null);case 22:case 23:return og(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&e.mode&1?Wn&1073741824&&(on(e),e.subtreeFlags&6&&(e.flags|=8192)):on(e),null;case 24:return null;case 25:return null}throw Error(Z(156,e.tag))}function iP(t,e){switch(jv(e),e.tag){case 1:return xn(e.type)&&Gf(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Ba(),mt(Dn),mt(ln),Yv(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return Qv(e),null;case 13:if(mt(bt),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(Z(340));Ma()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return mt(bt),null;case 4:return Ba(),null;case 10:return Kv(e.type._context),null;case 22:case 23:return og(),null;case 24:return null;default:return null}}var tf=!1,an=!1,sP=typeof WeakSet=="function"?WeakSet:Set,ae=null;function ga(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Ct(t,e,r)}else n.current=null}function py(t,e,n){try{n()}catch(r){Ct(t,e,r)}}var m_=!1;function oP(t,e){if(Jm=qf,t=MS(),Lv(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,f=0,h=0,m=t,y=null;t:for(;;){for(var w;m!==n||i!==0&&m.nodeType!==3||(a=o+i),m!==s||r!==0&&m.nodeType!==3||(l=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(w=m.firstChild)!==null;)y=m,m=w;for(;;){if(m===t)break t;if(y===n&&++f===i&&(a=o),y===s&&++h===r&&(l=o),(w=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=w}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Xm={focusedElem:t,selectionRange:n},qf=!1,ae=e;ae!==null;)if(e=ae,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,ae=t;else for(;ae!==null;){e=ae;try{var I=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(I!==null){var E=I.memoizedProps,F=I.memoizedState,S=e.stateNode,_=S.getSnapshotBeforeUpdate(e.elementType===e.type?E:Sr(e.type,E),F);S.__reactInternalSnapshotBeforeUpdate=_}break;case 3:var k=e.stateNode.containerInfo;k.nodeType===1?k.textContent="":k.nodeType===9&&k.documentElement&&k.removeChild(k.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(z){Ct(e,e.return,z)}if(t=e.sibling,t!==null){t.return=e.return,ae=t;break}ae=e.return}return I=m_,m_=!1,I}function Ju(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&py(e,n,s)}i=i.next}while(i!==r)}}function hh(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function my(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function PI(t){var e=t.alternate;e!==null&&(t.alternate=null,PI(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Yr],delete e[wl],delete e[ty],delete e[zC],delete e[VC])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function RI(t){return t.tag===5||t.tag===3||t.tag===4}function y_(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||RI(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function yy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Yf));else if(r!==4&&(t=t.child,t!==null))for(yy(t,e,n),t=t.sibling;t!==null;)yy(t,e,n),t=t.sibling}function vy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(vy(t,e,n),t=t.sibling;t!==null;)vy(t,e,n),t=t.sibling}var Xt=null,Ir=!1;function os(t,e,n){for(n=n.child;n!==null;)TI(t,e,n),n=n.sibling}function TI(t,e,n){if(ai&&typeof ai.onCommitFiberUnmount=="function")try{ai.onCommitFiberUnmount(sh,n)}catch{}switch(n.tag){case 5:an||ga(n,e);case 6:var r=Xt,i=Ir;Xt=null,os(t,e,n),Xt=r,Ir=i,Xt!==null&&(Ir?(t=Xt,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):Xt.removeChild(n.stateNode));break;case 18:Xt!==null&&(Ir?(t=Xt,n=n.stateNode,t.nodeType===8?zp(t.parentNode,n):t.nodeType===1&&zp(t,n),pl(t)):zp(Xt,n.stateNode));break;case 4:r=Xt,i=Ir,Xt=n.stateNode.containerInfo,Ir=!0,os(t,e,n),Xt=r,Ir=i;break;case 0:case 11:case 14:case 15:if(!an&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&py(n,e,o),i=i.next}while(i!==r)}os(t,e,n);break;case 1:if(!an&&(ga(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Ct(n,e,a)}os(t,e,n);break;case 21:os(t,e,n);break;case 22:n.mode&1?(an=(r=an)||n.memoizedState!==null,os(t,e,n),an=r):os(t,e,n);break;default:os(t,e,n)}}function v_(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new sP),e.forEach(function(r){var i=mP.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function _r(t,e){var n=e.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~s}if(r=i,r=Tt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*uP(r/1960))-r,10t?16:t,ys===null)var r=!1;else{if(t=ys,ys=null,ud=0,Fe&6)throw Error(Z(331));var i=Fe;for(Fe|=4,ae=t.current;ae!==null;){var s=ae,o=s.child;if(ae.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lTt()-ig?So(t,0):rg|=n),An(t,e)}function UI(t,e){e===0&&(t.mode&1?(e=qc,qc<<=1,!(qc&130023424)&&(qc=4194304)):e=1);var n=yn();t=$i(t,e),t!==null&&(Vl(t,e,n),An(t,n))}function pP(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),UI(t,n)}function mP(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(e),UI(t,n)}var zI;zI=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||Dn.current)kn=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return kn=!1,nP(t,e,n);kn=!!(t.flags&131072)}else kn=!1,gt&&e.flags&1048576&&WS(e,Zf,e.index);switch(e.lanes=0,e.tag){case 2:var r=e.type;If(t,e),t=e.pendingProps;var i=Ta(e,ln.current);Oa(e,n),i=Jv(null,e,r,t,i,n);var s=Xv();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,xn(r)?(s=!0,Jf(e)):s=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,qv(e),i.updater=fh,e.stateNode=i,i._reactInternals=e,ay(e,r,t,n),e=cy(null,e,r,!0,s,n)):(e.tag=0,gt&&s&&$v(e),dn(null,e,i,n),e=e.child),e;case 16:r=e.elementType;e:{switch(If(t,e),t=e.pendingProps,i=r._init,r=i(r._payload),e.type=r,i=e.tag=vP(r),t=Sr(r,t),i){case 0:e=ly(null,e,r,t,n);break e;case 1:e=d_(null,e,r,t,n);break e;case 11:e=c_(null,e,r,t,n);break e;case 14:e=f_(null,e,r,Sr(r.type,t),n);break e}throw Error(Z(306,r,""))}return e;case 0:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),ly(t,e,r,i,n);case 1:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),d_(t,e,r,i,n);case 3:e:{if(OI(e),t===null)throw Error(Z(387));r=e.pendingProps,s=e.memoizedState,i=s.element,YS(t,e),nd(e,r,null,n);var o=e.memoizedState;if(r=o.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){i=Fa(Error(Z(423)),e),e=h_(t,e,r,n,i);break e}else if(r!==i){i=Fa(Error(Z(424)),e),e=h_(t,e,r,n,i);break e}else for(Yn=Ss(e.stateNode.containerInfo.firstChild),Jn=e,gt=!0,Or=null,n=ZS(e,null,r,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ma(),r===i){e=ji(t,e,n);break e}dn(t,e,r,n)}e=e.child}return e;case 5:return eI(e),t===null&&iy(e),r=e.type,i=e.pendingProps,s=t!==null?t.memoizedProps:null,o=i.children,Zm(r,i)?o=null:s!==null&&Zm(r,s)&&(e.flags|=32),EI(t,e),dn(t,e,o,n),e.child;case 6:return t===null&&iy(e),null;case 13:return kI(t,e,n);case 4:return Hv(e,e.stateNode.containerInfo),r=e.pendingProps,t===null?e.child=Na(e,null,r,n):dn(t,e,r,n),e.child;case 11:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),c_(t,e,r,i,n);case 7:return dn(t,e,e.pendingProps,n),e.child;case 8:return dn(t,e,e.pendingProps.children,n),e.child;case 12:return dn(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(r=e.type._context,i=e.pendingProps,s=e.memoizedProps,o=i.value,ut(ed,r._currentValue),r._currentValue=o,s!==null)if(Pr(s.value,o)){if(s.children===i.children&&!Dn.current){e=ji(t,e,n);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(s.tag===1){l=Ri(-1,n&-n),l.tag=2;var f=s.updateQueue;if(f!==null){f=f.shared;var h=f.pending;h===null?l.next=l:(l.next=h.next,h.next=l),f.pending=l}}s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),sy(s.return,n,e),a.lanes|=n;break}l=l.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(Z(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),sy(o,n,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}dn(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,r=e.pendingProps.children,Oa(e,n),i=vr(i),r=r(i),e.flags|=1,dn(t,e,r,n),e.child;case 14:return r=e.type,i=Sr(r,e.pendingProps),i=Sr(r.type,i),f_(t,e,r,i,n);case 15:return SI(t,e,e.type,e.pendingProps,n);case 17:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Sr(r,i),If(t,e),e.tag=1,xn(r)?(t=!0,Jf(e)):t=!1,Oa(e,n),JS(e,r,i),ay(e,r,i,n),cy(null,e,r,!0,t,n);case 19:return DI(t,e,n);case 22:return II(t,e,n)}throw Error(Z(156,e.tag))};function VI(t,e){return mS(t,e)}function yP(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function mr(t,e,n,r){return new yP(t,e,n,r)}function ug(t){return t=t.prototype,!(!t||!t.isReactComponent)}function vP(t){if(typeof t=="function")return ug(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Dv)return 11;if(t===xv)return 14}return 2}function ks(t,e){var n=t.alternate;return n===null?(n=mr(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function kf(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")ug(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case la:return Io(n.children,i,s,e);case kv:o=8,i|=8;break;case Pm:return t=mr(12,n,e,i|2),t.elementType=Pm,t.lanes=s,t;case Rm:return t=mr(13,n,e,i),t.elementType=Rm,t.lanes=s,t;case Tm:return t=mr(19,n,e,i),t.elementType=Tm,t.lanes=s,t;case X1:return mh(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case G1:o=10;break e;case J1:o=9;break e;case Dv:o=11;break e;case xv:o=14;break e;case us:o=16,r=null;break e}throw Error(Z(130,t==null?t:typeof t,""))}return e=mr(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Io(t,e,n,r){return t=mr(7,t,r,e),t.lanes=n,t}function mh(t,e,n,r){return t=mr(22,t,r,e),t.elementType=X1,t.lanes=n,t.stateNode={isHidden:!1},t}function Gp(t,e,n){return t=mr(6,t,null,e),t.lanes=n,t}function Jp(t,e,n){return e=mr(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function gP(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pp(0),this.expirationTimes=Pp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pp(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function lg(t,e,n,r,i,s,o,a,l){return t=new gP(t,e,n,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=mr(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},qv(s),t}function wP(t,e,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(HI)}catch(t){console.error(t)}}HI(),W1.exports=nr;var EP=W1.exports,QI,O_=EP;QI=O_.createRoot,O_.hydrateRoot;var Sy=function(t,e){return Sy=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},Sy(t,e)};function pi(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Sy(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function tt(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}function re(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function ve(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(h){try{f(r.next(h))}catch(m){o(m)}}function l(h){try{f(r.throw(h))}catch(m){o(m)}}function f(h){h.done?s(h.value):i(h.value).then(a,l)}f((r=r.apply(t,e||[])).next())})}function YI(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(f){return function(h){return l([f,h])}}function l(f){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,f[0]&&(n=0)),n;)try{if(r=1,i&&(s=f[0]&2?i.return:f[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,f[1])).done)return s;switch(i=0,s&&(f=[f[0]&2,s.value]),f[0]){case 0:case 1:s=f;break;case 4:return n.label++,{value:f[1],done:!1};case 5:n.label++,i=f[1],f=[0];continue;case 7:f=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(f[0]===6||f[0]===2)){n=0;continue}if(f[0]===3&&(!s||f[1]>s[0]&&f[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Rr(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function ci(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r1||a(y,w)})})}function a(y,w){try{l(r[y](w))}catch(I){m(s[0][3],I)}}function l(y){y.value instanceof ge?Promise.resolve(y.value.v).then(f,h):m(s[0][2],y)}function f(y){a("next",y)}function h(y){a("throw",y)}function m(y,w){y(w),s.shift(),s.length&&a(s[0][0],s[0][1])}}function Df(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(o){return(n=!n)?{value:ge(t[i](o)),done:!1}:s?s(o):o}:s}}function Ds(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof $a=="function"?$a(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(f){s({value:f,done:a})},o)}}function kl(t){"@babel/helpers - typeof";return kl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kl(t)}function OP(t,e){if(kl(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e||"default");if(kl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function kP(t){var e=OP(t,"string");return kl(e)=="symbol"?e:String(e)}function k_(t,e){for(var n=0;nr[t]:r=>{for(var i=r,s=0;s"u")return i}return i}}function $e(t){return Object.assign({},t)}function CP(t){return Object.keys(t)[0]}function fd(t,e=!1){if(!t)return t;if(!e&&Array.isArray(t))return t.sort((r,i)=>typeof r=="string"&&typeof i=="string"?r.localeCompare(i):typeof r=="object"?1:-1).map(r=>fd(r,e));if(typeof t=="object"&&!Array.isArray(t)){var n={};return Object.keys(t).sort((r,i)=>r.localeCompare(i)).forEach(r=>{n[r]=fd(t[r],e)}),n}return t}function Iy(t){if(!t||t===null||typeof t!="object")return t;if(Array.isArray(t)){for(var e=new Array(t.length),n=e.length;n--;)e[n]=Iy(t[n]);return e}var r={};for(var i in t)r[i]=Iy(t[i]);return r}var Pn=Iy;function xs(t,e,n){return Object.defineProperty(t,e,{get:function(){return n}}),n}var pg=1;function Ks(){return{lwt:pg}}function Rn(){return""}function PP(t){return Object.assign({},t,{_meta:void 0,_deleted:void 0,_rev:void 0})}function RP(t,e,n){if(e.length!==n.length)return!1;for(var r=0,i=e.length;r>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=e.words[n>>>2];return this.sigBytes+=e.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new As([...this.words])}}const TP={stringify(t){const e=[];for(let n=0;n>>2]>>>24-n%4*8&255;e.push((r>>>4).toString(16),(r&15).toString(16))}return e.join("")}},MP={parse(t){const e=t.length,n=[];for(let r=0;r>>2]|=(t.charCodeAt(r)&255)<<24-r%4*8;return new As(n,e)}},NP={parse(t){return MP.parse(unescape(encodeURIComponent(t)))}};class BP{constructor(){this._data=new As,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new As,this._nDataBytes=0}_append(e){typeof e=="string"&&(e=NP.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_doProcessBlock(e,n){}_process(e){let n,r=this._data.sigBytes/(this.blockSize*4);e?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const i=r*this.blockSize,s=Math.min(i*4,this._data.sigBytes);if(i){for(let o=0;o>>7)^(k<<14|k>>>18)^k>>>3,W=so[y-2],Q=(W<<15|W>>>17)^(W<<13|W>>>19)^W>>>10;so[y]=z+so[y-7]+Q+so[y-16]}const w=l&f^~l&h,I=i&s^i&o^s&o,E=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),F=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),S=m+F+w+LP[y]+so[y],_=E+I;m=h,h=f,f=l,l=a+S|0,a=o,o=s,s=i,i=S+_|0}r[0]=r[0]+i|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+l|0,r[5]=r[5]+f|0,r[6]=r[6]+h|0,r[7]=r[7]+m|0}finalize(e){super.finalize(e);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function jP(t){return new $P().finalize(t).toString()}function UP(t){return Promise.resolve(jP(t))}async function zP(t){var e=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",e),r=Array.prototype.map.call(new Uint8Array(n),i=>("00"+i.toString(16)).slice(-2)).join("");return r}var VP=typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof crypto.subtle.digest=="function",KP=VP?zP:UP;function WP(){return new Promise(t=>setTimeout(t,0))}function qP(t=0){return new Promise(e=>setTimeout(e,t))}function XI(t){return t&&typeof t.then=="function"?t:Promise.resolve(t)}var dd=Promise.resolve(!0),Gn=Promise.resolve(!1),mg=Promise.resolve(null),un=Promise.resolve();function yg(t=1e4){return typeof requestIdleCallback=="function"?new Promise(e=>{requestIdleCallback(()=>e(),{timeout:t})}):qP(0)}var Zp=un;function HP(t=void 0){return Zp=Zp.then(()=>yg(t)),Zp}function QP(t,e){return t.reduce((n,r)=>n.then(r),Promise.resolve(e))}var YP=/\./g,A_="abcdefghijklmnopqrstuvwxyz";function iu(t=10){for(var e="",n=0;n{var e=typeof t;return t!==null&&(e==="object"||e==="function")},em=new Set(["__proto__","prototype","constructor"]),GP=new Set("0123456789");function eE(t){var e=[],n="",r="start",i=!1;for(var s of t)switch(s){case"\\":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");i&&(n+=s),r="property",i=!i;break}case".":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="property";break}if(i){i=!1,n+=s;break}if(em.has(n))return[];e.push(n),n="",r="property";break}case"[":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="index";break}if(i){i=!1,n+=s;break}if(r==="property"){if(em.has(n))return[];e.push(n),n=""}r="index";break}case"]":{if(r==="index"){e.push(Number.parseInt(n,10)),n="",r="indexEnd";break}if(r==="indexEnd")throw new Error("Invalid character after an index")}default:{if(r==="index"&&!GP.has(s))throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");r==="start"&&(r="property"),i&&(i=!1,n+="\\"),n+=s}}switch(i&&(n+="\\"),r){case"property":{if(em.has(n))return[];e.push(n);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}function tE(t,e){if(typeof e!="number"&&Array.isArray(t)){var n=Number.parseInt(e,10);return Number.isInteger(n)&&t[n]===t[e]}return!1}function JP(t,e){if(tE(t,e))throw new Error("Cannot use string index")}function Ts(t,e,n){if(Array.isArray(e)&&(e=e.join(".")),!e.includes(".")&&!e.includes("["))return t[e];if(!Ey(t)||typeof e!="string")return n===void 0?t:n;var r=eE(e);if(r.length===0)return n;for(var i=0;i"u")throw new Error("missing value from map "+e);return n}function Tr(t,e,n,r){var i=t.get(e);return typeof i>"u"?(i=n(),t.set(e,i)):r&&r(i),i}function pt(t){var e=t.split("-"),n="RxDB";return e.forEach(r=>{n+=ZI(r)}),n+="Plugin",new Error(`You are using a function which must be overwritten by a plugin. +`+s.stack}return{value:t,source:e,stack:i,digest:null}}function Qp(t,e,n){return{value:t,source:null,stack:n??null,digest:e??null}}function ly(t,e){try{console.error(e.value)}catch(n){setTimeout(function(){throw n})}}var eP=typeof WeakMap=="function"?WeakMap:Map;function bI(t,e,n){n=Ri(-1,n),n.tag=3,n.payload={element:null};var r=e.value;return n.callback=function(){ad||(ad=!0,wy=r),ly(t,e)},n}function SI(t,e,n){n=Ri(-1,n),n.tag=3;var r=t.type.getDerivedStateFromError;if(typeof r=="function"){var i=e.value;n.payload=function(){return r(i)},n.callback=function(){ly(t,e)}}var s=t.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){ly(t,e),typeof r!="function"&&(Es===null?Es=new Set([this]):Es.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),n}function u_(t,e,n){var r=t.pingCache;if(r===null){r=t.pingCache=new eP;var i=new Set;r.set(e,i)}else i=r.get(e),i===void 0&&(i=new Set,r.set(e,i));i.has(n)||(i.add(n),t=pP.bind(null,t,e,n),e.then(t,t))}function l_(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function c_(t,e,n,r,i){return t.mode&1?(t.flags|=65536,t.lanes=i,t):(t===e?t.flags|=65536:(t.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(e=Ri(-1,1),e.tag=2,Is(n,e,1))),n.lanes|=1),t)}var tP=Qi.ReactCurrentOwner,kn=!1;function dn(t,e,n,r){e.child=t===null?eI(e,null,n,r):Ba(e,t.child,n,r)}function f_(t,e,n,r,i){n=n.render;var s=e.ref;return ka(e,i),r=Xv(t,e,n,r,s,i),n=Zv(),t!==null&&!kn?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,ji(t,e,i)):(gt&&n&&jv(e),e.flags|=1,dn(t,e,r,i),e.child)}function d_(t,e,n,r,i){if(t===null){var s=n.type;return typeof s=="function"&&!lg(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(e.tag=15,e.type=s,II(t,e,s,r,i)):(t=kf(n.type,null,r,e,e.mode,i),t.ref=e.ref,t.return=e,e.child=t)}if(s=t.child,!(t.lanes&i)){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:yl,n(o,r)&&t.ref===e.ref)return ji(t,e,i)}return e.flags|=1,t=ks(s,r),t.ref=e.ref,t.return=e,e.child=t}function II(t,e,n,r,i){if(t!==null){var s=t.memoizedProps;if(yl(s,r)&&t.ref===e.ref)if(kn=!1,e.pendingProps=r=s,(t.lanes&i)!==0)t.flags&131072&&(kn=!0);else return e.lanes=t.lanes,ji(t,e,i)}return cy(t,e,n,r,i)}function EI(t,e,n){var r=e.pendingProps,i=r.children,s=t!==null?t.memoizedState:null;if(r.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},ut(_a,Wn),Wn|=n;else{if(!(n&1073741824))return t=s!==null?s.baseLanes|n:n,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,ut(_a,Wn),Wn|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=s!==null?s.baseLanes:n,ut(_a,Wn),Wn|=r}else s!==null?(r=s.baseLanes|n,e.memoizedState=null):r=n,ut(_a,Wn),Wn|=r;return dn(t,e,i,n),e.child}function OI(t,e){var n=e.ref;(t===null&&n!==null||t!==null&&t.ref!==n)&&(e.flags|=512,e.flags|=2097152)}function cy(t,e,n,r,i){var s=xn(n)?Co:ln.current;return s=Ma(e,s),ka(e,i),n=Xv(t,e,n,r,s,i),r=Zv(),t!==null&&!kn?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,ji(t,e,i)):(gt&&r&&jv(e),e.flags|=1,dn(t,e,n,i),e.child)}function h_(t,e,n,r,i){if(xn(n)){var s=!0;Jf(e)}else s=!1;if(ka(e,i),e.stateNode===null)If(t,e),XS(e,n,r),uy(e,n,r,i),r=!0;else if(t===null){var o=e.stateNode,a=e.memoizedProps;o.props=a;var l=o.context,f=n.contextType;typeof f=="object"&&f!==null?f=gr(f):(f=xn(n)?Co:ln.current,f=Ma(e,f));var h=n.getDerivedStateFromProps,m=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function";m||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==r||l!==f)&&i_(e,o,r,f),ls=!1;var y=e.memoizedState;o.state=y,nd(e,r,o,i),l=e.memoizedState,a!==r||y!==l||Dn.current||ls?(typeof h=="function"&&(ay(e,n,h,r),l=e.memoizedState),(a=ls||r_(e,n,a,r,y,l,f))?(m||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=r,e.memoizedState=l),o.props=r,o.state=l,o.context=f,r=a):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),r=!1)}else{o=e.stateNode,GS(t,e),a=e.memoizedProps,f=e.type===e.elementType?a:Ir(e.type,a),o.props=f,m=e.pendingProps,y=o.context,l=n.contextType,typeof l=="object"&&l!==null?l=gr(l):(l=xn(n)?Co:ln.current,l=Ma(e,l));var w=n.getDerivedStateFromProps;(h=typeof w=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==m||y!==l)&&i_(e,o,r,l),ls=!1,y=e.memoizedState,o.state=y,nd(e,r,o,i);var I=e.memoizedState;a!==m||y!==I||Dn.current||ls?(typeof w=="function"&&(ay(e,n,w,r),I=e.memoizedState),(f=ls||r_(e,n,f,r,y,I,l)||!1)?(h||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,I,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,I,l)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=1024),e.memoizedProps=r,e.memoizedState=I),o.props=r,o.state=I,o.context=l,r=f):(typeof o.componentDidUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=1024),r=!1)}return fy(t,e,n,r,s,i)}function fy(t,e,n,r,i,s){OI(t,e);var o=(e.flags&128)!==0;if(!r&&!o)return i&&Xw(e,n,!1),ji(t,e,s);r=e.stateNode,tP.current=e;var a=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return e.flags|=1,t!==null&&o?(e.child=Ba(e,t.child,null,s),e.child=Ba(e,null,a,s)):dn(t,e,a,s),e.memoizedState=r.state,i&&Xw(e,n,!0),e.child}function kI(t){var e=t.stateNode;e.pendingContext?Jw(t,e.pendingContext,e.pendingContext!==e.context):e.context&&Jw(t,e.context,!1),Qv(t,e.containerInfo)}function p_(t,e,n,r,i){return Na(),zv(i),e.flags|=256,dn(t,e,n,r),e.child}var dy={dehydrated:null,treeContext:null,retryLane:0};function hy(t){return{baseLanes:t,cachePool:null,transitions:null}}function DI(t,e,n){var r=e.pendingProps,i=bt.current,s=!1,o=(e.flags&128)!==0,a;if((a=o)||(a=t!==null&&t.memoizedState===null?!1:(i&2)!==0),a?(s=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(i|=1),ut(bt,i&1),t===null)return sy(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?(e.mode&1?t.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(o=r.children,t=r.fallback,s?(r=e.mode,s=e.child,o={mode:"hidden",children:o},!(r&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=mh(o,r,0,null),t=Io(t,r,n,null),s.return=e,t.return=e,s.sibling=t,e.child=s,e.child.memoizedState=hy(n),e.memoizedState=dy,t):ng(e,o));if(i=t.memoizedState,i!==null&&(a=i.dehydrated,a!==null))return nP(t,e,o,r,a,i,n);if(s){s=r.fallback,o=e.mode,i=t.child,a=i.sibling;var l={mode:"hidden",children:r.children};return!(o&1)&&e.child!==i?(r=e.child,r.childLanes=0,r.pendingProps=l,e.deletions=null):(r=ks(i,l),r.subtreeFlags=i.subtreeFlags&14680064),a!==null?s=ks(a,s):(s=Io(s,o,n,null),s.flags|=2),s.return=e,r.return=e,r.sibling=s,e.child=r,r=s,s=e.child,o=t.child.memoizedState,o=o===null?hy(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=t.childLanes&~n,e.memoizedState=dy,r}return s=t.child,t=s.sibling,r=ks(s,{mode:"visible",children:r.children}),!(e.mode&1)&&(r.lanes=n),r.return=e,r.sibling=null,t!==null&&(n=e.deletions,n===null?(e.deletions=[t],e.flags|=16):n.push(t)),e.child=r,e.memoizedState=null,r}function ng(t,e){return e=mh({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function ef(t,e,n,r){return r!==null&&zv(r),Ba(e,t.child,null,n),t=ng(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function nP(t,e,n,r,i,s,o){if(n)return e.flags&256?(e.flags&=-257,r=Qp(Error(Z(422))),ef(t,e,o,r)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(s=r.fallback,i=e.mode,r=mh({mode:"visible",children:r.children},i,0,null),s=Io(s,i,o,null),s.flags|=2,r.return=e,s.return=e,r.sibling=s,e.child=r,e.mode&1&&Ba(e,t.child,null,o),e.child.memoizedState=hy(o),e.memoizedState=dy,s);if(!(e.mode&1))return ef(t,e,o,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var a=r.dgst;return r=a,s=Error(Z(419)),r=Qp(s,r,void 0),ef(t,e,o,r)}if(a=(o&t.childLanes)!==0,kn||a){if(r=Qt,r!==null){switch(o&-o){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|o)?0:i,i!==0&&i!==s.retryLane&&(s.retryLane=i,$i(t,i),Cr(r,t,i,-1))}return ug(),r=Qp(Error(Z(421))),ef(t,e,o,r)}return i.data==="$?"?(e.flags|=128,e.child=t.child,e=mP.bind(null,t),i._reactRetry=e,null):(t=s.treeContext,Gn=Ss(i.nextSibling),Xn=e,gt=!0,kr=null,t!==null&&(dr[hr++]=xi,dr[hr++]=Ci,dr[hr++]=Ao,xi=t.id,Ci=t.overflow,Ao=e),e=ng(e,r.children),e.flags|=4096,e)}function m_(t,e,n){t.lanes|=e;var r=t.alternate;r!==null&&(r.lanes|=e),oy(t.return,e,n)}function Yp(t,e,n,r,i){var s=t.memoizedState;s===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=r,s.tail=n,s.tailMode=i)}function xI(t,e,n){var r=e.pendingProps,i=r.revealOrder,s=r.tail;if(dn(t,e,r.children,n),r=bt.current,r&2)r=r&1|2,e.flags|=128;else{if(t!==null&&t.flags&128)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&m_(t,n,e);else if(t.tag===19)m_(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}r&=1}if(ut(bt,r),!(e.mode&1))e.memoizedState=null;else switch(i){case"forwards":for(n=e.child,i=null;n!==null;)t=n.alternate,t!==null&&rd(t)===null&&(i=n),n=n.sibling;n=i,n===null?(i=e.child,e.child=null):(i=n.sibling,n.sibling=null),Yp(e,!1,i,n,s);break;case"backwards":for(n=null,i=e.child,e.child=null;i!==null;){if(t=i.alternate,t!==null&&rd(t)===null){e.child=i;break}t=i.sibling,i.sibling=n,n=i,i=t}Yp(e,!0,n,null,s);break;case"together":Yp(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function If(t,e){!(e.mode&1)&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function ji(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),Ro|=e.lanes,!(n&e.childLanes))return null;if(t!==null&&e.child!==t.child)throw Error(Z(153));if(e.child!==null){for(t=e.child,n=ks(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=ks(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function rP(t,e,n){switch(e.tag){case 3:kI(e),Na();break;case 5:tI(e);break;case 1:xn(e.type)&&Jf(e);break;case 4:Qv(e,e.stateNode.containerInfo);break;case 10:var r=e.type._context,i=e.memoizedProps.value;ut(ed,r._currentValue),r._currentValue=i;break;case 13:if(r=e.memoizedState,r!==null)return r.dehydrated!==null?(ut(bt,bt.current&1),e.flags|=128,null):n&e.child.childLanes?DI(t,e,n):(ut(bt,bt.current&1),t=ji(t,e,n),t!==null?t.sibling:null);ut(bt,bt.current&1);break;case 19:if(r=(n&e.childLanes)!==0,t.flags&128){if(r)return xI(t,e,n);e.flags|=128}if(i=e.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),ut(bt,bt.current),r)break;return null;case 22:case 23:return e.lanes=0,EI(t,e,n)}return ji(t,e,n)}var CI,py,AI,PI;CI=function(t,e){for(var n=e.child;n!==null;){if(n.tag===5||n.tag===6)t.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};py=function(){};AI=function(t,e,n,r){var i=t.memoizedProps;if(i!==r){t=e.stateNode,po(ui.current);var s=null;switch(n){case"input":i=Bm(t,i),r=Bm(t,r),s=[];break;case"select":i=Et({},i,{value:void 0}),r=Et({},r,{value:void 0}),s=[];break;case"textarea":i=$m(t,i),r=$m(t,r),s=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(t.onclick=Yf)}Um(n,r);var o;n=null;for(f in i)if(!r.hasOwnProperty(f)&&i.hasOwnProperty(f)&&i[f]!=null)if(f==="style"){var a=i[f];for(o in a)a.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else f!=="dangerouslySetInnerHTML"&&f!=="children"&&f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&f!=="autoFocus"&&(ll.hasOwnProperty(f)?s||(s=[]):(s=s||[]).push(f,null));for(f in r){var l=r[f];if(a=i!=null?i[f]:void 0,r.hasOwnProperty(f)&&l!==a&&(l!=null||a!=null))if(f==="style")if(a){for(o in a)!a.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in l)l.hasOwnProperty(o)&&a[o]!==l[o]&&(n||(n={}),n[o]=l[o])}else n||(s||(s=[]),s.push(f,n)),n=l;else f==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(s=s||[]).push(f,l)):f==="children"?typeof l!="string"&&typeof l!="number"||(s=s||[]).push(f,""+l):f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&(ll.hasOwnProperty(f)?(l!=null&&f==="onScroll"&&ht("scroll",t),s||a===l||(s=[])):(s=s||[]).push(f,l))}n&&(s=s||[]).push("style",n);var f=s;(e.updateQueue=f)&&(e.flags|=4)}};PI=function(t,e,n,r){n!==r&&(e.flags|=4)};function Tu(t,e){if(!gt)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:r.sibling=null}}function on(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,r=0;if(e)for(var i=t.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=t,i=i.sibling;else for(i=t.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=t,i=i.sibling;return t.subtreeFlags|=r,t.childLanes=n,e}function iP(t,e,n){var r=e.pendingProps;switch(Uv(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return on(e),null;case 1:return xn(e.type)&&Gf(),on(e),null;case 3:return r=e.stateNode,Fa(),mt(Dn),mt(ln),Gv(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(t===null||t.child===null)&&(Xc(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,kr!==null&&(Sy(kr),kr=null))),py(t,e),on(e),null;case 5:Yv(e);var i=po(bl.current);if(n=e.type,t!==null&&e.stateNode!=null)AI(t,e,n,r,i),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!r){if(e.stateNode===null)throw Error(Z(166));return on(e),null}if(t=po(ui.current),Xc(e)){r=e.stateNode,n=e.type;var s=e.memoizedProps;switch(r[Gr]=e,r[wl]=s,t=(e.mode&1)!==0,n){case"dialog":ht("cancel",r),ht("close",r);break;case"iframe":case"object":case"embed":ht("load",r);break;case"video":case"audio":for(i=0;i<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[Gr]=e,t[wl]=r,CI(t,e,!1,!1),e.stateNode=t;e:{switch(o=zm(n,r),n){case"dialog":ht("cancel",t),ht("close",t),i=r;break;case"iframe":case"object":case"embed":ht("load",t),i=r;break;case"video":case"audio":for(i=0;i$a&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304)}else{if(!r)if(t=rd(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),Tu(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!gt)return on(e),null}else 2*Tt()-s.renderingStartTime>$a&&n!==1073741824&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Tt(),e.sibling=null,n=bt.current,ut(bt,r?n&1|2:n&1),e):(on(e),null);case 22:case 23:return ag(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&e.mode&1?Wn&1073741824&&(on(e),e.subtreeFlags&6&&(e.flags|=8192)):on(e),null;case 24:return null;case 25:return null}throw Error(Z(156,e.tag))}function sP(t,e){switch(Uv(e),e.tag){case 1:return xn(e.type)&&Gf(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Fa(),mt(Dn),mt(ln),Gv(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return Yv(e),null;case 13:if(mt(bt),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(Z(340));Na()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return mt(bt),null;case 4:return Fa(),null;case 10:return Wv(e.type._context),null;case 22:case 23:return ag(),null;case 24:return null;default:return null}}var tf=!1,an=!1,oP=typeof WeakSet=="function"?WeakSet:Set,ae=null;function wa(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){At(t,e,r)}else n.current=null}function my(t,e,n){try{n()}catch(r){At(t,e,r)}}var y_=!1;function aP(t,e){if(Xm=qf,t=NS(),$v(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,f=0,h=0,m=t,y=null;t:for(;;){for(var w;m!==n||i!==0&&m.nodeType!==3||(a=o+i),m!==s||r!==0&&m.nodeType!==3||(l=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(w=m.firstChild)!==null;)y=m,m=w;for(;;){if(m===t)break t;if(y===n&&++f===i&&(a=o),y===s&&++h===r&&(l=o),(w=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=w}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Zm={focusedElem:t,selectionRange:n},qf=!1,ae=e;ae!==null;)if(e=ae,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,ae=t;else for(;ae!==null;){e=ae;try{var I=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(I!==null){var E=I.memoizedProps,$=I.memoizedState,S=e.stateNode,_=S.getSnapshotBeforeUpdate(e.elementType===e.type?E:Ir(e.type,E),$);S.__reactInternalSnapshotBeforeUpdate=_}break;case 3:var O=e.stateNode.containerInfo;O.nodeType===1?O.textContent="":O.nodeType===9&&O.documentElement&&O.removeChild(O.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(z){At(e,e.return,z)}if(t=e.sibling,t!==null){t.return=e.return,ae=t;break}ae=e.return}return I=y_,y_=!1,I}function Ju(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&my(e,n,s)}i=i.next}while(i!==r)}}function hh(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function yy(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function RI(t){var e=t.alternate;e!==null&&(t.alternate=null,RI(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Gr],delete e[wl],delete e[ny],delete e[VA],delete e[KA])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function TI(t){return t.tag===5||t.tag===3||t.tag===4}function v_(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||TI(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function vy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Yf));else if(r!==4&&(t=t.child,t!==null))for(vy(t,e,n),t=t.sibling;t!==null;)vy(t,e,n),t=t.sibling}function gy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(gy(t,e,n),t=t.sibling;t!==null;)gy(t,e,n),t=t.sibling}var Xt=null,Er=!1;function os(t,e,n){for(n=n.child;n!==null;)MI(t,e,n),n=n.sibling}function MI(t,e,n){if(ai&&typeof ai.onCommitFiberUnmount=="function")try{ai.onCommitFiberUnmount(sh,n)}catch{}switch(n.tag){case 5:an||wa(n,e);case 6:var r=Xt,i=Er;Xt=null,os(t,e,n),Xt=r,Er=i,Xt!==null&&(Er?(t=Xt,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):Xt.removeChild(n.stateNode));break;case 18:Xt!==null&&(Er?(t=Xt,n=n.stateNode,t.nodeType===8?zp(t.parentNode,n):t.nodeType===1&&zp(t,n),pl(t)):zp(Xt,n.stateNode));break;case 4:r=Xt,i=Er,Xt=n.stateNode.containerInfo,Er=!0,os(t,e,n),Xt=r,Er=i;break;case 0:case 11:case 14:case 15:if(!an&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&my(n,e,o),i=i.next}while(i!==r)}os(t,e,n);break;case 1:if(!an&&(wa(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){At(n,e,a)}os(t,e,n);break;case 21:os(t,e,n);break;case 22:n.mode&1?(an=(r=an)||n.memoizedState!==null,os(t,e,n),an=r):os(t,e,n);break;default:os(t,e,n)}}function g_(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new oP),e.forEach(function(r){var i=yP.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function br(t,e){var n=e.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~s}if(r=i,r=Tt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*lP(r/1960))-r,10t?16:t,ys===null)var r=!1;else{if(t=ys,ys=null,ud=0,Fe&6)throw Error(Z(331));var i=Fe;for(Fe|=4,ae=t.current;ae!==null;){var s=ae,o=s.child;if(ae.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lTt()-sg?So(t,0):ig|=n),Cn(t,e)}function zI(t,e){e===0&&(t.mode&1?(e=qc,qc<<=1,!(qc&130023424)&&(qc=4194304)):e=1);var n=yn();t=$i(t,e),t!==null&&(Vl(t,e,n),Cn(t,n))}function mP(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),zI(t,n)}function yP(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(e),zI(t,n)}var VI;VI=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||Dn.current)kn=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return kn=!1,rP(t,e,n);kn=!!(t.flags&131072)}else kn=!1,gt&&e.flags&1048576&&qS(e,Zf,e.index);switch(e.lanes=0,e.tag){case 2:var r=e.type;If(t,e),t=e.pendingProps;var i=Ma(e,ln.current);ka(e,n),i=Xv(null,e,r,t,i,n);var s=Zv();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,xn(r)?(s=!0,Jf(e)):s=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Hv(e),i.updater=fh,e.stateNode=i,i._reactInternals=e,uy(e,r,t,n),e=fy(null,e,r,!0,s,n)):(e.tag=0,gt&&s&&jv(e),dn(null,e,i,n),e=e.child),e;case 16:r=e.elementType;e:{switch(If(t,e),t=e.pendingProps,i=r._init,r=i(r._payload),e.type=r,i=e.tag=gP(r),t=Ir(r,t),i){case 0:e=cy(null,e,r,t,n);break e;case 1:e=h_(null,e,r,t,n);break e;case 11:e=f_(null,e,r,t,n);break e;case 14:e=d_(null,e,r,Ir(r.type,t),n);break e}throw Error(Z(306,r,""))}return e;case 0:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Ir(r,i),cy(t,e,r,i,n);case 1:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Ir(r,i),h_(t,e,r,i,n);case 3:e:{if(kI(e),t===null)throw Error(Z(387));r=e.pendingProps,s=e.memoizedState,i=s.element,GS(t,e),nd(e,r,null,n);var o=e.memoizedState;if(r=o.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){i=La(Error(Z(423)),e),e=p_(t,e,r,n,i);break e}else if(r!==i){i=La(Error(Z(424)),e),e=p_(t,e,r,n,i);break e}else for(Gn=Ss(e.stateNode.containerInfo.firstChild),Xn=e,gt=!0,kr=null,n=eI(e,null,r,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Na(),r===i){e=ji(t,e,n);break e}dn(t,e,r,n)}e=e.child}return e;case 5:return tI(e),t===null&&sy(e),r=e.type,i=e.pendingProps,s=t!==null?t.memoizedProps:null,o=i.children,ey(r,i)?o=null:s!==null&&ey(r,s)&&(e.flags|=32),OI(t,e),dn(t,e,o,n),e.child;case 6:return t===null&&sy(e),null;case 13:return DI(t,e,n);case 4:return Qv(e,e.stateNode.containerInfo),r=e.pendingProps,t===null?e.child=Ba(e,null,r,n):dn(t,e,r,n),e.child;case 11:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Ir(r,i),f_(t,e,r,i,n);case 7:return dn(t,e,e.pendingProps,n),e.child;case 8:return dn(t,e,e.pendingProps.children,n),e.child;case 12:return dn(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(r=e.type._context,i=e.pendingProps,s=e.memoizedProps,o=i.value,ut(ed,r._currentValue),r._currentValue=o,s!==null)if(Rr(s.value,o)){if(s.children===i.children&&!Dn.current){e=ji(t,e,n);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(s.tag===1){l=Ri(-1,n&-n),l.tag=2;var f=s.updateQueue;if(f!==null){f=f.shared;var h=f.pending;h===null?l.next=l:(l.next=h.next,h.next=l),f.pending=l}}s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),oy(s.return,n,e),a.lanes|=n;break}l=l.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(Z(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),oy(o,n,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}dn(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,r=e.pendingProps.children,ka(e,n),i=gr(i),r=r(i),e.flags|=1,dn(t,e,r,n),e.child;case 14:return r=e.type,i=Ir(r,e.pendingProps),i=Ir(r.type,i),d_(t,e,r,i,n);case 15:return II(t,e,e.type,e.pendingProps,n);case 17:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Ir(r,i),If(t,e),e.tag=1,xn(r)?(t=!0,Jf(e)):t=!1,ka(e,n),XS(e,r,i),uy(e,r,i,n),fy(null,e,r,!0,t,n);case 19:return xI(t,e,n);case 22:return EI(t,e,n)}throw Error(Z(156,e.tag))};function KI(t,e){return yS(t,e)}function vP(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function yr(t,e,n,r){return new vP(t,e,n,r)}function lg(t){return t=t.prototype,!(!t||!t.isReactComponent)}function gP(t){if(typeof t=="function")return lg(t)?1:0;if(t!=null){if(t=t.$$typeof,t===xv)return 11;if(t===Cv)return 14}return 2}function ks(t,e){var n=t.alternate;return n===null?(n=yr(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function kf(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")lg(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case ca:return Io(n.children,i,s,e);case Dv:o=8,i|=8;break;case Rm:return t=yr(12,n,e,i|2),t.elementType=Rm,t.lanes=s,t;case Tm:return t=yr(13,n,e,i),t.elementType=Tm,t.lanes=s,t;case Mm:return t=yr(19,n,e,i),t.elementType=Mm,t.lanes=s,t;case Z1:return mh(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case J1:o=10;break e;case X1:o=9;break e;case xv:o=11;break e;case Cv:o=14;break e;case us:o=16,r=null;break e}throw Error(Z(130,t==null?t:typeof t,""))}return e=yr(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Io(t,e,n,r){return t=yr(7,t,r,e),t.lanes=n,t}function mh(t,e,n,r){return t=yr(22,t,r,e),t.elementType=Z1,t.lanes=n,t.stateNode={isHidden:!1},t}function Gp(t,e,n){return t=yr(6,t,null,e),t.lanes=n,t}function Jp(t,e,n){return e=yr(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function wP(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pp(0),this.expirationTimes=Pp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pp(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function cg(t,e,n,r,i,s,o,a,l){return t=new wP(t,e,n,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=yr(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Hv(s),t}function _P(t,e,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(QI)}catch(t){console.error(t)}}QI(),q1.exports=rr;var OP=q1.exports,YI,k_=OP;YI=k_.createRoot,k_.hydrateRoot;var Iy=function(t,e){return Iy=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},Iy(t,e)};function pi(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Iy(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function tt(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}function re(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function ve(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(h){try{f(r.next(h))}catch(m){o(m)}}function l(h){try{f(r.throw(h))}catch(m){o(m)}}function f(h){h.done?s(h.value):i(h.value).then(a,l)}f((r=r.apply(t,e||[])).next())})}function GI(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(f){return function(h){return l([f,h])}}function l(f){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,f[0]&&(n=0)),n;)try{if(r=1,i&&(s=f[0]&2?i.return:f[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,f[1])).done)return s;switch(i=0,s&&(f=[f[0]&2,s.value]),f[0]){case 0:case 1:s=f;break;case 4:return n.label++,{value:f[1],done:!1};case 5:n.label++,i=f[1],f=[0];continue;case 7:f=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(f[0]===6||f[0]===2)){n=0;continue}if(f[0]===3&&(!s||f[1]>s[0]&&f[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Tr(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function ci(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r1||a(y,w)})})}function a(y,w){try{l(r[y](w))}catch(I){m(s[0][3],I)}}function l(y){y.value instanceof ge?Promise.resolve(y.value.v).then(f,h):m(s[0][2],y)}function f(y){a("next",y)}function h(y){a("throw",y)}function m(y,w){y(w),s.shift(),s.length&&a(s[0][0],s[0][1])}}function Df(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(o){return(n=!n)?{value:ge(t[i](o)),done:!1}:s?s(o):o}:s}}function Ds(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof ja=="function"?ja(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(f){s({value:f,done:a})},o)}}function kl(t){"@babel/helpers - typeof";return kl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kl(t)}function kP(t,e){if(kl(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e||"default");if(kl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function DP(t){var e=kP(t,"string");return kl(e)=="symbol"?e:String(e)}function D_(t,e){for(var n=0;nr[t]:r=>{for(var i=r,s=0;s"u")return i}return i}}function $e(t){return Object.assign({},t)}function PP(t){return Object.keys(t)[0]}function fd(t,e=!1){if(!t)return t;if(!e&&Array.isArray(t))return t.sort((r,i)=>typeof r=="string"&&typeof i=="string"?r.localeCompare(i):typeof r=="object"?1:-1).map(r=>fd(r,e));if(typeof t=="object"&&!Array.isArray(t)){var n={};return Object.keys(t).sort((r,i)=>r.localeCompare(i)).forEach(r=>{n[r]=fd(t[r],e)}),n}return t}function Ey(t){if(!t||t===null||typeof t!="object")return t;if(Array.isArray(t)){for(var e=new Array(t.length),n=e.length;n--;)e[n]=Ey(t[n]);return e}var r={};for(var i in t)r[i]=Ey(t[i]);return r}var Pn=Ey;function xs(t,e,n){return Object.defineProperty(t,e,{get:function(){return n}}),n}var mg=1;function Ks(){return{lwt:mg}}function Rn(){return""}function RP(t){return Object.assign({},t,{_meta:void 0,_deleted:void 0,_rev:void 0})}function TP(t,e,n){if(e.length!==n.length)return!1;for(var r=0,i=e.length;r>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=e.words[n>>>2];return this.sigBytes+=e.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new Cs([...this.words])}}const MP={stringify(t){const e=[];for(let n=0;n>>2]>>>24-n%4*8&255;e.push((r>>>4).toString(16),(r&15).toString(16))}return e.join("")}},NP={parse(t){const e=t.length,n=[];for(let r=0;r>>2]|=(t.charCodeAt(r)&255)<<24-r%4*8;return new Cs(n,e)}},BP={parse(t){return NP.parse(unescape(encodeURIComponent(t)))}};class FP{constructor(){this._data=new Cs,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new Cs,this._nDataBytes=0}_append(e){typeof e=="string"&&(e=BP.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_doProcessBlock(e,n){}_process(e){let n,r=this._data.sigBytes/(this.blockSize*4);e?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const i=r*this.blockSize,s=Math.min(i*4,this._data.sigBytes);if(i){for(let o=0;o>>7)^(O<<14|O>>>18)^O>>>3,W=so[y-2],Q=(W<<15|W>>>17)^(W<<13|W>>>19)^W>>>10;so[y]=z+so[y-7]+Q+so[y-16]}const w=l&f^~l&h,I=i&s^i&o^s&o,E=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),$=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),S=m+$+w+$P[y]+so[y],_=E+I;m=h,h=f,f=l,l=a+S|0,a=o,o=s,s=i,i=S+_|0}r[0]=r[0]+i|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+l|0,r[5]=r[5]+f|0,r[6]=r[6]+h|0,r[7]=r[7]+m|0}finalize(e){super.finalize(e);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function UP(t){return new jP().finalize(t).toString()}function zP(t){return Promise.resolve(UP(t))}async function VP(t){var e=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",e),r=Array.prototype.map.call(new Uint8Array(n),i=>("00"+i.toString(16)).slice(-2)).join("");return r}var KP=typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof crypto.subtle.digest=="function",WP=KP?VP:zP;function qP(){return new Promise(t=>setTimeout(t,0))}function HP(t=0){return new Promise(e=>setTimeout(e,t))}function ZI(t){return t&&typeof t.then=="function"?t:Promise.resolve(t)}var dd=Promise.resolve(!0),Jn=Promise.resolve(!1),yg=Promise.resolve(null),un=Promise.resolve();function vg(t=1e4){return typeof requestIdleCallback=="function"?new Promise(e=>{requestIdleCallback(()=>e(),{timeout:t})}):HP(0)}var Zp=un;function QP(t=void 0){return Zp=Zp.then(()=>vg(t)),Zp}function YP(t,e){return t.reduce((n,r)=>n.then(r),Promise.resolve(e))}var GP=/\./g,A_="abcdefghijklmnopqrstuvwxyz";function su(t=10){for(var e="",n=0;n{var e=typeof t;return t!==null&&(e==="object"||e==="function")},em=new Set(["__proto__","prototype","constructor"]),JP=new Set("0123456789");function tE(t){var e=[],n="",r="start",i=!1;for(var s of t)switch(s){case"\\":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");i&&(n+=s),r="property",i=!i;break}case".":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="property";break}if(i){i=!1,n+=s;break}if(em.has(n))return[];e.push(n),n="",r="property";break}case"[":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="index";break}if(i){i=!1,n+=s;break}if(r==="property"){if(em.has(n))return[];e.push(n),n=""}r="index";break}case"]":{if(r==="index"){e.push(Number.parseInt(n,10)),n="",r="indexEnd";break}if(r==="indexEnd")throw new Error("Invalid character after an index")}default:{if(r==="index"&&!JP.has(s))throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");r==="start"&&(r="property"),i&&(i=!1,n+="\\"),n+=s}}switch(i&&(n+="\\"),r){case"property":{if(em.has(n))return[];e.push(n);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}function nE(t,e){if(typeof e!="number"&&Array.isArray(t)){var n=Number.parseInt(e,10);return Number.isInteger(n)&&t[n]===t[e]}return!1}function XP(t,e){if(nE(t,e))throw new Error("Cannot use string index")}function Ts(t,e,n){if(Array.isArray(e)&&(e=e.join(".")),!e.includes(".")&&!e.includes("["))return t[e];if(!Oy(t)||typeof e!="string")return n===void 0?t:n;var r=tE(e);if(r.length===0)return n;for(var i=0;i"u")throw new Error("missing value from map "+e);return n}function Mr(t,e,n,r){var i=t.get(e);return typeof i>"u"?(i=n(),t.set(e,i)):r&&r(i),i}function pt(t){var e=t.split("-"),n="RxDB";return e.forEach(r=>{n+=eE(r)}),n+="Plugin",new Error(`You are using a function which must be overwritten by a plugin. You should either prevent the usage of this function or add the plugin via: import { `+n+" } from 'rxdb/plugins/"+t+`'; addRxPlugin(`+n+`); - `)}function Oy(t){var e={name:t.name,message:t.message,rxdb:t.rxdb,parameters:t.parameters,code:t.code,stack:t.stack?t.stack.replace(/\n/g,` - `):void 0};return e}var tm=0;function Ft(){var t=Date.now();t=t+.01,t<=tm&&(t=tm+.01);var e=parseFloat(t.toFixed(2));return tm=e,e}function ye(t,e){if(!t)throw e||(e=""),new Error("ensureNotFalsy() is falsy: "+e);return t}var Ci={bufferSize:1,refCount:!0},vg="15.9.1";function Dl(t,e){return Dl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},Dl(t,e)}function gg(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Dl(t,e)}function ky(t){return ky=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ky(t)}function XP(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function rE(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(rE=function(){return!!t})()}function ZP(t,e,n){if(rE())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&Dl(i,n.prototype),i}function hd(t){var e=typeof Map=="function"?new Map:void 0;return hd=function(r){if(r===null||!XP(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(r))return e.get(r);e.set(r,i)}function i(){return ZP(r,arguments,ky(this).constructor)}return i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),Dl(i,r)},hd(t)}var it={isDevMode(){return!1},deepFreezeWhenDevMode(t){return t},tunnelErrorMessage(t){return"RxDB Error-Code "+t+`. + `)}function ky(t){var e={name:t.name,message:t.message,rxdb:t.rxdb,parameters:t.parameters,code:t.code,stack:t.stack?t.stack.replace(/\n/g,` + `):void 0};return e}var tm=0;function Ft(){var t=Date.now();t=t+.01,t<=tm&&(t=tm+.01);var e=parseFloat(t.toFixed(2));return tm=e,e}function ye(t,e){if(!t)throw e||(e=""),new Error("ensureNotFalsy() is falsy: "+e);return t}var Ai={bufferSize:1,refCount:!0},gg="15.9.1";function Dl(t,e){return Dl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},Dl(t,e)}function wg(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Dl(t,e)}function Dy(t){return Dy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Dy(t)}function ZP(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function iE(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(iE=function(){return!!t})()}function eR(t,e,n){if(iE())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&Dl(i,n.prototype),i}function hd(t){var e=typeof Map=="function"?new Map:void 0;return hd=function(r){if(r===null||!ZP(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(r))return e.get(r);e.set(r,i)}function i(){return eR(r,arguments,Dy(this).constructor)}return i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),Dl(i,r)},hd(t)}var it={isDevMode(){return!1},deepFreezeWhenDevMode(t){return t},tunnelErrorMessage(t){return"RxDB Error-Code "+t+`. Error messages are not included in RxDB core to reduce build size. - To find out what this error means, either use the dev-mode-plugin https://rxdb.info/dev-mode.html - or search for the error code here: https://github.com/pubkey/rxdb/search?q=`+t+` - `}};function eR(t){var e="";return Object.keys(t).length===0||(e+=`Given parameters: { + `}};function tR(t){var e="";return Object.keys(t).length===0||(e+=`Given parameters: { `,e+=Object.keys(t).map(n=>{var r="[object Object]";try{n==="errors"?r=t[n].map(i=>JSON.stringify(i,Object.getOwnPropertyNames(i))):r=JSON.stringify(t[n],function(i,s){return s===void 0?null:s},2)}catch{}return n+":"+r}).join(` -`),e+="}"),e}function iE(t,e,n){return"RxError ("+e+`): +`),e+="}"),e}function sE(t,e,n){return"RxError ("+e+`): `+t+` -`+eR(n)}var tR=function(t){gg(e,t);function e(r,i,s={}){var o,a=iE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Vs(e,[{key:"name",get:function(){return"RxError ("+this.code+")"}},{key:"typeError",get:function(){return!1}}]),e}(hd(Error)),nR=function(t){gg(e,t);function e(r,i,s={}){var o,a=iE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Vs(e,[{key:"name",get:function(){return"RxTypeError ("+this.code+")"}},{key:"typeError",get:function(){return!0}}]),e}(hd(TypeError));function le(t,e){return new tR(t,it.tunnelErrorMessage(t),e)}function el(t,e){return new nR(t,it.tunnelErrorMessage(t),e)}function _h(t){return t&&t.status===409?t:!1}var rR={409:"document write conflict",422:"schema validation error",510:"attachment data missing"};function iR(t){return le("COL20",{name:rR[t.status],document:t.documentId,writeError:t})}var xl={preAddRxPlugin:[],preCreateRxDatabase:[],createRxDatabase:[],preCreateRxCollection:[],createRxCollection:[],postDestroyRxCollection:[],postRemoveRxCollection:[],preCreateRxSchema:[],createRxSchema:[],preCreateRxQuery:[],prePrepareQuery:[],createRxDocument:[],postCreateRxDocument:[],preCreateRxStorageInstance:[],preMigrateDocument:[],postMigrateDocument:[],preDestroyRxDatabase:[],postRemoveRxDatabase:[],preReplicationMasterWrite:[],preReplicationMasterWriteDocumentsHandle:[]};function Mr(t,e){xl[t]&&xl[t].forEach(n=>n(e))}function No(t,e){return Promise.all(xl[t].map(n=>n(e)))}function zi(t,e){var n=e;n=n.replace(YP,".properties."),n="properties."+n,n=zu(n);var r=Ts(t,n);return r}function sE(t,e,n){if(typeof e.primaryKey=="string")return n;var r=Ws(e,n),i=n[t];if(i&&i!==r)throw le("DOC19",{args:{documentData:n,existingPrimary:i,newPrimary:r},schema:e});return n[t]=r,n}function Fn(t){return typeof t=="string"?t:t.key}function sR(t){var e=Fn(t.primaryKey),n=zi(t,e);return ye(n.maxLength)}function Ws(t,e){if(typeof t.primaryKey=="string")return e[t.primaryKey];var n=t.primaryKey;return n.fields.map(r=>{var i=Ts(e,r);if(typeof i>"u")throw le("DOC18",{args:{field:r,documentData:e}});return i}).join(n.separator)}function oR(t){var e=fd(t,!0);return e}function aR(t){return["_deleted",t]}function bh(t){t=$e(t);var e=Fn(t.primaryKey);t.properties=$e(t.properties),t.additionalProperties=!1,Object.prototype.hasOwnProperty.call(t,"keyCompression")||(t.keyCompression=!1),t.indexes=t.indexes?t.indexes.slice(0):[],t.required=t.required?t.required.slice(0):[],t.encrypted=t.encrypted?t.encrypted.slice(0):[],t.properties._rev={type:"string",minLength:1},t.properties._attachments={type:"object"},t.properties._deleted={type:"boolean"},t.properties._meta=uR,t.required=t.required?t.required.slice(0):[],t.required.push("_deleted"),t.required.push("_rev"),t.required.push("_meta"),t.required.push("_attachments");var n=oE(t);Ua(t.required,n),t.required=t.required.filter(s=>!s.includes(".")).filter((s,o,a)=>a.indexOf(s)===o),t.version=t.version||0;var r=t.indexes.map(s=>{var o=hg(s)?s.slice(0):[s];return o.includes(e)||o.push(e),o[0]!=="_deleted"&&o.unshift("_deleted"),o});r.length===0&&r.push(aR(e)),r.push(["_meta.lwt",e]),t.internalIndexes&&t.internalIndexes.map(s=>{r.push(s)});var i=new Set;return r.filter(s=>{var o=s.join(",");return i.has(o)?!1:(i.add(o),!0)}),t.indexes=r,t}var uR={type:"object",properties:{lwt:{type:"number",minimum:pg,maximum:1e15,multipleOf:.01}},additionalProperties:!0,required:["lwt"]};function oE(t){var e=Object.keys(t.properties).filter(r=>t.properties[r].final),n=Fn(t.primaryKey);return e.push(n),typeof t.primaryKey!="string"&&t.primaryKey.fields.forEach(r=>e.push(r)),e}function lR(t,e){for(var n=Object.keys(t.defaultValues),r=0;r"u")&&(e[i]=t.defaultValues[i])}return e}var aE=function(){function t(n,r){this.jsonSchema=n,this.hashFunction=r,this.indexes=cR(this.jsonSchema),this.primaryPath=Fn(this.jsonSchema.primaryKey),this.finalFields=oE(this.jsonSchema)}var e=t.prototype;return e.validateChange=function(r,i){this.finalFields.forEach(s=>{if(!Va(r[s],i[s]))throw le("DOC9",{dataBefore:r,dataAfter:i,fieldName:s,schema:this.jsonSchema})})},e.getDocumentPrototype=function(){var r={},i=zi(this.jsonSchema,"");return Object.keys(i).forEach(s=>{var o=s;r.__defineGetter__(s,function(){if(!(!this.get||typeof this.get!="function")){var a=this.get(o);return a}}),Object.defineProperty(r,s+"$",{get:function(){return this.get$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"$$",{get:function(){return this.get$$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"_",{get:function(){return this.populate(o)},enumerable:!1,configurable:!1})}),xs(this,"getDocumentPrototype",()=>r),r},e.getPrimaryOfDocumentData=function(r){return Ws(this.jsonSchema,r)},Vs(t,[{key:"version",get:function(){return this.jsonSchema.version}},{key:"defaultValues",get:function(){var n={};return Object.entries(this.jsonSchema.properties).filter(([,r])=>Object.prototype.hasOwnProperty.call(r,"default")).forEach(([r,i])=>n[r]=i.default),xs(this,"defaultValues",n)}},{key:"hash",get:function(){return xs(this,"hash",this.hashFunction(JSON.stringify(this.jsonSchema)))}}]),t}();function cR(t){return(t.indexes||[]).map(e=>hg(e)?e:[e])}function fR(t){var e=t.version?t.version:0,n=0;return new Array(e).fill(0).map(()=>n++)}function dR(t,e,n=!0){n&&Mr("preCreateRxSchema",t);var r=bh(t);r=oR(r),it.deepFreezeWhenDevMode(r);var i=new aE(r,e);return Mr("createRxSchema",i),i}function qe(t){return typeof t=="function"}function hR(t){return qe(t==null?void 0:t.lift)}function Ln(t){return function(e){if(hR(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}var wg=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function uE(t){return qe(t==null?void 0:t.then)}function _g(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var nm=_g(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription: +`+tR(n)}var nR=function(t){wg(e,t);function e(r,i,s={}){var o,a=sE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Vs(e,[{key:"name",get:function(){return"RxError ("+this.code+")"}},{key:"typeError",get:function(){return!1}}]),e}(hd(Error)),rR=function(t){wg(e,t);function e(r,i,s={}){var o,a=sE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Vs(e,[{key:"name",get:function(){return"RxTypeError ("+this.code+")"}},{key:"typeError",get:function(){return!0}}]),e}(hd(TypeError));function le(t,e){return new nR(t,it.tunnelErrorMessage(t),e)}function el(t,e){return new rR(t,it.tunnelErrorMessage(t),e)}function _h(t){return t&&t.status===409?t:!1}var iR={409:"document write conflict",422:"schema validation error",510:"attachment data missing"};function sR(t){return le("COL20",{name:iR[t.status],document:t.documentId,writeError:t})}var xl={preAddRxPlugin:[],preCreateRxDatabase:[],createRxDatabase:[],preCreateRxCollection:[],createRxCollection:[],postDestroyRxCollection:[],postRemoveRxCollection:[],preCreateRxSchema:[],createRxSchema:[],preCreateRxQuery:[],prePrepareQuery:[],createRxDocument:[],postCreateRxDocument:[],preCreateRxStorageInstance:[],preMigrateDocument:[],postMigrateDocument:[],preDestroyRxDatabase:[],postRemoveRxDatabase:[],preReplicationMasterWrite:[],preReplicationMasterWriteDocumentsHandle:[]};function Nr(t,e){xl[t]&&xl[t].forEach(n=>n(e))}function No(t,e){return Promise.all(xl[t].map(n=>n(e)))}function zi(t,e){var n=e;n=n.replace(GP,".properties."),n="properties."+n,n=zu(n);var r=Ts(t,n);return r}function oE(t,e,n){if(typeof e.primaryKey=="string")return n;var r=Ws(e,n),i=n[t];if(i&&i!==r)throw le("DOC19",{args:{documentData:n,existingPrimary:i,newPrimary:r},schema:e});return n[t]=r,n}function Fn(t){return typeof t=="string"?t:t.key}function oR(t){var e=Fn(t.primaryKey),n=zi(t,e);return ye(n.maxLength)}function Ws(t,e){if(typeof t.primaryKey=="string")return e[t.primaryKey];var n=t.primaryKey;return n.fields.map(r=>{var i=Ts(e,r);if(typeof i>"u")throw le("DOC18",{args:{field:r,documentData:e}});return i}).join(n.separator)}function aR(t){var e=fd(t,!0);return e}function uR(t){return["_deleted",t]}function bh(t){t=$e(t);var e=Fn(t.primaryKey);t.properties=$e(t.properties),t.additionalProperties=!1,Object.prototype.hasOwnProperty.call(t,"keyCompression")||(t.keyCompression=!1),t.indexes=t.indexes?t.indexes.slice(0):[],t.required=t.required?t.required.slice(0):[],t.encrypted=t.encrypted?t.encrypted.slice(0):[],t.properties._rev={type:"string",minLength:1},t.properties._attachments={type:"object"},t.properties._deleted={type:"boolean"},t.properties._meta=lR,t.required=t.required?t.required.slice(0):[],t.required.push("_deleted"),t.required.push("_rev"),t.required.push("_meta"),t.required.push("_attachments");var n=aE(t);za(t.required,n),t.required=t.required.filter(s=>!s.includes(".")).filter((s,o,a)=>a.indexOf(s)===o),t.version=t.version||0;var r=t.indexes.map(s=>{var o=pg(s)?s.slice(0):[s];return o.includes(e)||o.push(e),o[0]!=="_deleted"&&o.unshift("_deleted"),o});r.length===0&&r.push(uR(e)),r.push(["_meta.lwt",e]),t.internalIndexes&&t.internalIndexes.map(s=>{r.push(s)});var i=new Set;return r.filter(s=>{var o=s.join(",");return i.has(o)?!1:(i.add(o),!0)}),t.indexes=r,t}var lR={type:"object",properties:{lwt:{type:"number",minimum:mg,maximum:1e15,multipleOf:.01}},additionalProperties:!0,required:["lwt"]};function aE(t){var e=Object.keys(t.properties).filter(r=>t.properties[r].final),n=Fn(t.primaryKey);return e.push(n),typeof t.primaryKey!="string"&&t.primaryKey.fields.forEach(r=>e.push(r)),e}function cR(t,e){for(var n=Object.keys(t.defaultValues),r=0;r"u")&&(e[i]=t.defaultValues[i])}return e}var uE=function(){function t(n,r){this.jsonSchema=n,this.hashFunction=r,this.indexes=fR(this.jsonSchema),this.primaryPath=Fn(this.jsonSchema.primaryKey),this.finalFields=aE(this.jsonSchema)}var e=t.prototype;return e.validateChange=function(r,i){this.finalFields.forEach(s=>{if(!Ka(r[s],i[s]))throw le("DOC9",{dataBefore:r,dataAfter:i,fieldName:s,schema:this.jsonSchema})})},e.getDocumentPrototype=function(){var r={},i=zi(this.jsonSchema,"");return Object.keys(i).forEach(s=>{var o=s;r.__defineGetter__(s,function(){if(!(!this.get||typeof this.get!="function")){var a=this.get(o);return a}}),Object.defineProperty(r,s+"$",{get:function(){return this.get$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"$$",{get:function(){return this.get$$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"_",{get:function(){return this.populate(o)},enumerable:!1,configurable:!1})}),xs(this,"getDocumentPrototype",()=>r),r},e.getPrimaryOfDocumentData=function(r){return Ws(this.jsonSchema,r)},Vs(t,[{key:"version",get:function(){return this.jsonSchema.version}},{key:"defaultValues",get:function(){var n={};return Object.entries(this.jsonSchema.properties).filter(([,r])=>Object.prototype.hasOwnProperty.call(r,"default")).forEach(([r,i])=>n[r]=i.default),xs(this,"defaultValues",n)}},{key:"hash",get:function(){return xs(this,"hash",this.hashFunction(JSON.stringify(this.jsonSchema)))}}]),t}();function fR(t){return(t.indexes||[]).map(e=>pg(e)?e:[e])}function dR(t){var e=t.version?t.version:0,n=0;return new Array(e).fill(0).map(()=>n++)}function hR(t,e,n=!0){n&&Nr("preCreateRxSchema",t);var r=bh(t);r=aR(r),it.deepFreezeWhenDevMode(r);var i=new uE(r,e);return Nr("createRxSchema",i),i}function qe(t){return typeof t=="function"}function pR(t){return qe(t==null?void 0:t.lift)}function Ln(t){return function(e){if(pR(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}var _g=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function lE(t){return qe(t==null?void 0:t.then)}function bg(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var nm=bg(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription: `+n.map(function(r,i){return i+1+") "+r.toString()}).join(` - `):"",this.name="UnsubscriptionError",this.errors=n}});function pd(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var su=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,i,s;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=$a(o),l=a.next();!l.done;l=a.next()){var f=l.value;f.remove(this)}}catch(E){e={error:E}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}else o.remove(this);var h=this.initialTeardown;if(qe(h))try{h()}catch(E){s=E instanceof nm?E.errors:[E]}var m=this._finalizers;if(m){this._finalizers=null;try{for(var y=$a(m),w=y.next();!w.done;w=y.next()){var I=w.value;try{C_(I)}catch(E){s=s??[],E instanceof nm?s=ci(ci([],Rr(s)),Rr(E.errors)):s.push(E)}}}catch(E){r={error:E}}finally{try{w&&!w.done&&(i=y.return)&&i.call(y)}finally{if(r)throw r.error}}}if(s)throw new nm(s)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)C_(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&pd(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&pd(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),lE=su.EMPTY;function cE(t){return t instanceof su||t&&"closed"in t&&qe(t.remove)&&qe(t.add)&&qe(t.unsubscribe)}function C_(t){qe(t)?t():t.unsubscribe()}var fE={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Dy={setTimeout:function(t,e){for(var n=[],r=2;r0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,i=this,s=i.hasError,o=i.isStopped,a=i.observers;return s||o?lE:(this.currentObservers=null,a.push(n),new su(function(){r.currentObservers=null,pd(a,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,i=r.hasError,s=r.thrownError,o=r.isStopped;i?n.error(s):o&&n.complete()},e.prototype.asObservable=function(){var n=new Ot;return n.source=this,n},e.create=function(n,r){return new N_(n,r)},e}(Ot),N_=function(t){pi(e,t);function e(n,r){var i=t.call(this)||this;return i.destination=n,i.source=r,i}return e.prototype.next=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,n)},e.prototype.error=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&i!==void 0?i:lE},e}(Kt);function B_(){for(var t=[],e=0;e0&&(h=new Ka({next:function(Q){return W.next(Q)},error:function(Q){E=!0,F(),m=sm(S,i,Q),W.error(Q)},complete:function(){I=!0,F(),m=sm(S,o),W.complete()}}),ir(k).subscribe(h))})(f)}}function sm(t,e){for(var n=[],r=2;r!!t.queryParams.limit,_T=t=>t.queryParams.limit===1,bT=t=>!!(t.queryParams.skip&&t.queryParams.skip>0),ST=t=>t.changeEvent.operation==="DELETE",IT=t=>t.changeEvent.operation==="INSERT",ET=t=>t.changeEvent.operation==="UPDATE",OT=t=>ME(t)&&t.previousResults.length>=t.queryParams.limit,kT=t=>{const e=t.queryParams.sortFields,n=t.changeEvent.previous,r=t.changeEvent.doc;if(!r)return!1;if(!n)return!0;for(let i=0;i{const e=t.changeEvent.id;if(t.keyDocumentMap)return t.keyDocumentMap.has(e);{const n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e=t.previousResults[0];return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},AT=t=>{const e=Dg(t.previousResults);return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},CT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},PT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=Dg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},RT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},TT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=Dg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},MT=t=>{const e=t.changeEvent.previous;return e?t.queryParams.queryMatcher(e):!1},NT=t=>{const e=t.changeEvent.doc;return e?t.queryParams.queryMatcher(e):!1},BT=t=>t.previousResults.length===0,FT={0:IT,1:ET,2:ST,3:ME,4:_T,5:bT,6:BT,7:OT,8:xT,9:AT,10:kT,11:DT,12:CT,13:PT,14:RT,15:TT,16:MT,17:NT};function NE(t,e,n,r){var i=t.length,s=i-1,o=0;if(i===0)return t.push(e),0;for(var a;r<=s;)o=r+(s-r>>1),a=t[o],n(a,e)<=0?r=o+1:s=o-1;return n(a,e)<=0&&o++,t.splice(o,0,e),o}const LT=t=>{},xg=t=>{t.previousResults.unshift(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Ag=t=>{t.previousResults.push(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Cg=t=>{const e=t.previousResults.shift();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},Pg=t=>{const e=t.previousResults.pop();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},$T=t=>{Cg(t),Ag(t)},jT=t=>{Pg(t),xg(t)},UT=t=>{Cg(t),xg(t)},zT=t=>{Pg(t),Ag(t)},BE=t=>{t.keyDocumentMap&&t.keyDocumentMap.delete(t.changeEvent.id);const e=t.queryParams.primaryKey,n=t.previousResults;for(let r=0;r{const e=t.changeEvent.doc,n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e={_id:"wrongHuman"+new Date().getTime()};t.previousResults.length=0,t.previousResults.push(e),t.keyDocumentMap&&(t.keyDocumentMap.clear(),t.keyDocumentMap.set(e._id,e))},FE=t=>{const e=t.changeEvent.id,n=t.changeEvent.doc;if(t.keyDocumentMap){if(t.keyDocumentMap.has(e))return;t.keyDocumentMap.set(e,n)}else if(t.previousResults.find(i=>i[t.queryParams.primaryKey]===e))return;NE(t.previousResults,n,t.queryParams.sortComparator,0)},WT=t=>{BE(t),FE(t)},qT=t=>{throw new Error("Action runFullQueryAgain must be implemented by yourself")},HT=t=>{throw new Error("Action unknownAction should never be called")},QT=["doNothing","insertFirst","insertLast","removeFirstItem","removeLastItem","removeFirstInsertLast","removeLastInsertFirst","removeFirstInsertFirst","removeLastInsertLast","removeExisting","replaceExisting","alwaysWrong","insertAtSortPosition","removeExistingAndInsertAtSortPosition","runFullQueryAgain","unknownAction"],YT={doNothing:LT,insertFirst:xg,insertLast:Ag,removeFirstItem:Cg,removeLastItem:Pg,removeFirstInsertLast:$T,removeLastInsertFirst:jT,removeFirstInsertFirst:UT,removeLastInsertLast:zT,removeExisting:BE,replaceExisting:VT,alwaysWrong:KT,insertAtSortPosition:FE,removeExistingAndInsertAtSortPosition:WT,runFullQueryAgain:qT,unknownAction:HT},GT=40;function om(t){return t.charCodeAt(0)-GT}function JT(t){return t?"1":"0"}function $_(t,e){const n=[];for(let r=0,i=t.length;rZT(tM(),FT,t);function rM(t){const e=nM(t);return QT[e]}function iM(t,e,n,r,i){const s=YT[t];return s({queryParams:e,changeEvent:n,previousResults:r,keyDocumentMap:i}),r}var Ar=String.fromCharCode(65535),li=Number.MIN_SAFE_INTEGER;function sM(t,e){var n=e.selector,r=t.indexes?t.indexes.slice(0):[];e.index&&(r=[e.index]);var i=!!e.sort.find(h=>Object.values(h)[0]==="desc"),s=new Set;Object.keys(n).forEach(h=>{var m=zi(t,h);m&&m.type==="boolean"&&Object.prototype.hasOwnProperty.call(n[h],"$eq")&&s.add(h)});var o=e.sort.map(h=>Object.keys(h)[0]),a=o.filter(h=>!s.has(h)).join(","),l=-1,f;if(r.forEach(h=>{var m=!0,y=!0,w=h.map(_=>{var k=n[_],z=k?Object.keys(k):[],W={};if(!k||!z.length){var Q=y?li:Ar;W={startKey:Q,endKey:m?Ar:li,inclusiveStart:!0,inclusiveEnd:!0}}else z.forEach(H=>{if(Rg.has(H)){var X=k[H],U=lM(H,X);W=Object.assign(W,U)}});return typeof W.startKey>"u"&&(W.startKey=li),typeof W.endKey>"u"&&(W.endKey=Ar),typeof W.inclusiveStart>"u"&&(W.inclusiveStart=!0),typeof W.inclusiveEnd>"u"&&(W.inclusiveEnd=!0),y&&!W.inclusiveStart&&(y=!1),m&&!W.inclusiveEnd&&(m=!1),W}),I=w.map(_=>_.startKey),E=w.map(_=>_.endKey),F={index:h,startKeys:I,endKeys:E,inclusiveEnd:m,inclusiveStart:y,sortSatisfiedByIndex:!i&&a===h.filter(_=>!s.has(_)).join(","),selectorSatisfiedByIndex:uM(h,e.selector,I,E)},S=cM(t,e,F);(S>=l||e.index)&&(l=S,f=F)}),!f)throw le("SNH",{query:e});return f}var Rg=new Set(["$eq","$gt","$gte","$lt","$lte"]),oM=new Set(["$eq","$gt","$gte"]),aM=new Set(["$eq","$lt","$lte"]);function uM(t,e,n,r){var i=Object.entries(e),s=i.find(([H,X])=>{if(!t.includes(H))return!0;var U=Object.entries(X).find(([ee,ce])=>!Rg.has(ee));return U});if(s||e.$and||e.$or)return!1;var o=[],a=new Set;for(var[l,f]of Object.entries(e)){if(!t.includes(l))return!1;var h=Object.keys(f).filter(H=>oM.has(H));if(h.length>1)return!1;var m=h[0];if(m&&a.add(l),m!=="$eq"){if(o.length>0)return!1;o.push(m)}}var y=[],w=new Set;for(var[I,E]of Object.entries(e)){if(!t.includes(I))return!1;var F=Object.keys(E).filter(H=>aM.has(H));if(F.length>1)return!1;var S=F[0];if(S&&w.add(I),S!=="$eq"){if(y.length>0)return!1;y.push(S)}}var _=0;for(var k of t){for(var z of[a,w]){if(!z.has(k)&&z.size>0)return!1;z.delete(k)}var W=n[_],Q=r[_];if(W!==Q&&a.size>0&&w.size>0)return!1;_++}return!0}function lM(t,e){switch(t){case"$eq":return{startKey:e,endKey:e,inclusiveEnd:!0,inclusiveStart:!0};case"$lte":return{endKey:e,inclusiveEnd:!0};case"$gte":return{startKey:e,inclusiveStart:!0};case"$lt":return{endKey:e,inclusiveEnd:!1};case"$gt":return{startKey:e,inclusiveStart:!1};default:throw new Error("SNH")}}function cM(t,e,n){var r=0,i=h=>{h>0&&(r=r+h)},s=10,o=Xp(n.startKeys,h=>h!==li&&h!==Ar);i(o*s);var a=Xp(n.startKeys,h=>h!==Ar&&h!==li);i(a*s);var l=Xp(n.startKeys,(h,m)=>h===n.endKeys[m]);i(l*s*1.5);var f=n.sortSatisfiedByIndex?5:0;return i(f),r}const fM=2147483647,dM=-2147483648,hM=Number.MAX_SAFE_INTEGER,pM=Number.MIN_SAFE_INTEGER,Vi=Symbol("missing"),LE=Object.freeze(new Error("mingo: cycle detected while processing object/array")),mM=Object.getPrototypeOf([]),$E=Object.getPrototypeOf({}),yM="[object Object]",vM=/^\[object ([a-zA-Z0-9]+)\]$/;let Tg=class{};class Mg{}const Fo=t=>t===null?Tg:t===void 0?Mg:t.constructor,Ql=t=>{const e=EM(t);let n=0,r=e.length;for(;r;)n=(n<<5)-n^e.charCodeAt(--r);return n>>>0},jE=new Set(["null","undefined","boolean","number","string","date","regexp"]),j_=new Set([Mg,Tg,Boolean,String,Number]),Nu=t=>t.toString(),br=t=>`${Fo(t).name}[${t.toString()}]`,Lo=new Map([[Number,Nu],[Boolean,Nu],[RegExp,Nu],[Function,Nu],[Symbol,Nu],[Date,t=>t.toISOString()],[String,JSON.stringify],[Tg,t=>"null"],[Mg,t=>"undefined"],[Int8Array,br],[Uint8Array,br],[Uint8ClampedArray,br],[Int16Array,br],[Uint16Array,br],[Int32Array,br],[Uint32Array,br],[Float32Array,br],[Float64Array,br]]);typeof BigInt<"u"&&Lo.set(BigInt,t=>"0x"+t.toString(16));typeof BigInt64Array<"u"&&Lo.set(BigInt64Array,br);typeof BigUint64Array<"u"&&Lo.set(BigUint64Array,br);const gM={null:0,undefined:0,number:1,string:2,object:3,array:4,boolean:5,date:6,regexp:7,function:8},Mn=(t,e)=>{t===Vi&&(t=void 0),e===Vi&&(e=void 0);const[n,r]=[t,e].map(i=>gM[Cl(i).toLowerCase()]);return n!==r?n-r:n===1||n===2||n===6?te?1:0:Wi(t,e)?0:te?1:0};function Yt(t,e){if(!t)throw new Error(e)}const wM=t=>{const e=Object.getPrototypeOf(Fo(t));return e&&e.name==="TypedArray"},Py=t=>{if(j_.has(Fo(t)))return t;const e=new Set,n=r=>{if(e.has(r))throw LE;const i=Fo(r);if(j_.has(i))return r;try{if(Lt(r))return e.add(r),r.map(n);if(wt(r)){e.add(r);const s={};for(const o in r)s[o]=n(r[o]);return s}}finally{e.delete(r)}return i===Date||i===RegExp||wM(r)?new i(r):r};return n(t)},Cl=t=>vM.exec(Object.prototype.toString.call(t))[1],um=t=>typeof t=="boolean",Ki=t=>typeof t=="string",Hn=t=>!isNaN(t)&&typeof t=="number",Lt=Array.isArray,wt=t=>{if(!t)return!1;const e=Object.getPrototypeOf(t);return(e===$E||e===null)&&yM===Object.prototype.toString.call(t)},Sh=t=>t===Object(t),Ry=t=>t instanceof Date,Af=t=>t instanceof RegExp,Ih=t=>typeof t=="function",cn=t=>t==null,Wa=(t,e)=>t.includes(e),UE=(t,e)=>!Wa(t,e),_M=(t,e=!0)=>!!t||e&&t==="",uu=t=>cn(t)||Ki(t)&&!t||t instanceof Array&&t.length===0||wt(t)&&Object.keys(t).length===0,U_=t=>t===Vi,Yl=t=>t instanceof Array?t:[t],Xn=(t,e)=>!!t&&Object.prototype.hasOwnProperty.call(t,e),bM=(t,e)=>wt(t)&&wt(e)||Lt(t)&&Lt(e);function Ty(t,e,n){if(n=n||{flatten:!1},U_(t)||cn(t))return e;if(U_(e)||cn(e))return t;if(!bM(t,e)){if(n.skipValidation)return e||t;throw Error("mismatched types. must both be array or object")}if(n.skipValidation=!0,Lt(t)){const r=t,i=e;if(n.flatten){let s=0,o=0;for(;s{const s=VE(r,e);n.has(s)?n.get(s).some(o=>Wi(t[o],r))||n.get(s).push(i):n.set(s,[i])}),n}function Ng(t,e=Ql){if(t.some(a=>a.length==0))return[];if(t.length===1)return Array.from(t);const n=OM(t.map((a,l)=>[l,a.length]),a=>a[1]),r=t[n[0][0]],i=My(r,e),s=new Map,o=new Array;return i.forEach((a,l)=>{const f=a.map(w=>r[w]),h=f.map(w=>0),m=f.map(w=>[n[0][0],0]);let y=!1;for(let w=1;wF[_]);y=f.map((_,k)=>S.some((z,W)=>{const Q=h[k];return Wi(_,z)&&(h[k]++,Iw===t.length-1?[f[I],m[I]]:Vi).filter(w=>w!==Vi))}),o.sort((a,l)=>{const[f,[h,m]]=a,[y,[w,I]]=l,E=Mn(h,w);return E!==0?E:Mn(m,I)}).map(a=>a[0])}function zE(t,e=0){const n=new Array;function r(i,s){for(let o=0,a=i.length;o0||s<0)?r(i[o],Math.max(-1,s-1)):n.push(i[o])}return r(t,e),n}const SM=t=>{let[e,n]=[Object.getPrototypeOf(t),Object.getOwnPropertyNames(t)],r=e;for(;!n.length&&e!==$E&&e!==mM;)r=e,n=Object.getOwnPropertyNames(e),e=Object.getPrototypeOf(e);const i={};return n.forEach(s=>i[s]=t[s]),[i,r]};function Wi(t,e){const n=[[t,e]];for(;n.length>0;){if([t,e]=n.pop(),t===e)continue;const r=Fo(t);if(r!==Fo(e)||Ih(t))return!1;if(Lo.has(r)){const i=Lo.get(r);if(i(t)!==i(e))return!1;continue}if(r===Array||r===Object){const i=Object.keys(t),s=Object.keys(e);if(i.length!==s.length||new Set(i.concat(s)).size!=i.length)return!1;for(const o of i)n.push([t[o],e[o]]);continue}return!1}return!n.length}function IM(t,e=Ql){const n=t.map(r=>Vi);return My(t,e).forEach((r,i)=>{r.forEach(s=>n[s]=t[s])}),n.filter(r=>r!==Vi)}function EM(t){const e=new Set,n=r=>{const i=Fo(r);if(Lo.has(i))return Lo.get(i)(r);const s=i===Object?"":i.name;if(Ih(r.toJSON))return`${s}(${JSON.stringify(r)})`;if(e.has(r))throw LE;e.add(r);try{if(i===Array)return"["+r.map(n).join(",")+"]";if(i!==Object){const[a,l]=SM(r);if(Lt(r))return`${s}${n([...r,a])}`;r=a}const o=Object.keys(r);return o.sort(),`${s}{`+o.map(a=>`${a}:${n(r[a])}`).join(",")+"}"}finally{e.delete(r)}};return n(t)}function VE(t,e){return e=e||Ql,cn(t)?null:e(t).toString()}function OM(t,e,n=Mn){if(uu(t))return t;const r=new Array,i=new Array;for(let s=0;sn(s[0],o[0])),Gl(i,r.map(s=>s[1]))}function kM(t,e,n=Ql){if(t.length<1)return new Map;const r=new Map,i=new Map;for(let s=0;sWi(h,a)):null;cn(f)?(i.set(a,[o]),r.has(l)?r.get(l).push(a):r.set(l,[a])):i.get(f).push(o)}}return i}const lm=5e4;function Gl(t,...e){return t instanceof Array?e.reduce((n,r)=>{let i=Math.ceil(r.length/lm),s=0;for(;i-- >0;)Array.prototype.push.apply(n,r.slice(s,s+lm)),s+=lm;return n},t):e.filter(Sh).reduce((n,r)=>(Object.assign(n,r),n),t)}function Ny(t,e){return Sh(t)?t[e]:void 0}function DM(t,e){if(e<1)return t;for(;e--&&t.length===1;)t=t[0];return t}function lu(t,e,n){let r=0;function i(o,a){let l=o;for(let f=0;f0)break;r+=1;const y=a.slice(f);l=l.reduce((w,I)=>{const E=i(I,y);return E!==void 0&&w.push(E),w},[]);break}else l=Ny(l,h);if(l===void 0)break}return l}const s=jE.has(Cl(t).toLowerCase())?t:i(t,e.split("."));return s instanceof Array&&(n!=null&&n.unwrapArray)?DM(s,r):s}function Cf(t,e,n){const r=e.split("."),i=r[0],s=r.slice(1).join("."),o=/^\d+$/.exec(i)!==null,a=r.length>1;let l,f;if(t instanceof Array)if(o)l=Ny(t,Number(i)),a&&(l=Cf(l,s,n)),l=[l];else{l=[];for(const h of t)f=Cf(h,e,n),n!=null&&n.preserveMissing?(f===void 0&&(f=Vi),l.push(f)):f!==void 0&&l.push(f)}else{if(f=Ny(t,i),a&&(f=Cf(f,s,n)),f===void 0)return;l=n!=null&&n.preserveKeys?Object.assign({},t):{},l[i]=f}return l}function By(t){if(t instanceof Array)for(let e=t.length-1;e>=0;e--)t[e]===Vi?t.splice(e,1):By(t[e]);else if(wt(t))for(const e in t)Xn(t,e)&&By(t[e])}const z_=/^\d+$/;function Pl(t,e,n,r){const i=e.split("."),s=i[0],o=i.slice(1).join(".");if(i.length===1)(wt(t)||Lt(t)&&z_.test(s))&&n(t,s);else{r!=null&&r.buildGraph&&cn(t[s])&&(t[s]={});const a=t[s];if(!a)return;const l=!!(i.length>1&&z_.test(i[1]));a instanceof Array&&(r!=null&&r.descendArray)&&!l?a.forEach(f=>Pl(f,o,n,r)):Pl(a,o,n,r)}}function xM(t,e,n){Pl(t,e,(r,i)=>{r[i]=Ih(n)?n(r[i]):n},{buildGraph:!0})}function V_(t,e,n){Pl(t,e,(r,i)=>{if(r instanceof Array){if(/^\d+$/.test(i))r.splice(parseInt(i),1);else if(n&&n.descendArray)for(const s of r)wt(s)&&delete s[i]}else wt(r)&&delete r[i]},n)}const AM=/^\$[a-zA-Z0-9_]+$/;function Ko(t){return AM.test(t)}function KE(t){if(jE.has(Cl(t).toLowerCase()))return Af(t)?{$regex:t}:{$eq:t};if(Sh(t)){if(!Object.keys(t).some(Ko))return{$eq:t};if(Xn(t,"$regex")){const n=Object.assign({},t);return n.$regex=new RegExp(t.$regex,t.$options),delete n.$options,n}}return t}var vs;(function(t){t.CLONE_ALL="CLONE_ALL",t.CLONE_INPUT="CLONE_INPUT",t.CLONE_OUTPUT="CLONE_OUTPUT",t.CLONE_OFF="CLONE_OFF"})(vs||(vs={}));class Eo{constructor(e,n,r,i=Date.now()){this._opts=e,this._root=n,this._local=r,this.timestamp=i,this.update(n,r)}static init(e,n,r){return e instanceof Eo?new Eo(e._opts,cn(e.root)?n:e.root,Object.assign({},e.local,r)):new Eo(e,n,r)}update(e,n){var r;return this._root=e,this._local=n&&Object.assign({},n,{variables:Object.assign({},(r=this._local)===null||r===void 0?void 0:r.variables,n==null?void 0:n.variables)}),this}getOptions(){return Object.freeze(Object.assign(Object.assign({},this._opts),{context:$o.from(this._opts.context)}))}get root(){return this._root}get local(){return this._local}get idKey(){return this._opts.idKey}get collation(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collation}get processingMode(){var e;return((e=this._opts)===null||e===void 0?void 0:e.processingMode)||vs.CLONE_OFF}get useStrictMode(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useStrictMode}get scriptEnabled(){var e;return(e=this._opts)===null||e===void 0?void 0:e.scriptEnabled}get useGlobalContext(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useGlobalContext}get hashFunction(){var e;return(e=this._opts)===null||e===void 0?void 0:e.hashFunction}get collectionResolver(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collectionResolver}get jsonSchemaValidator(){var e;return(e=this._opts)===null||e===void 0?void 0:e.jsonSchemaValidator}get variables(){var e;return(e=this._opts)===null||e===void 0?void 0:e.variables}get context(){var e;return(e=this._opts)===null||e===void 0?void 0:e.context}}function Bg(t){return t instanceof Eo?t.getOptions():Object.freeze(Object.assign(Object.assign({idKey:"_id",scriptEnabled:!0,useStrictMode:!0,useGlobalContext:!0,processingMode:vs.CLONE_OFF},t),{context:t!=null&&t.context?$o.from(t==null?void 0:t.context):$o.init({})}))}var Ye;(function(t){t.ACCUMULATOR="accumulator",t.EXPRESSION="expression",t.PIPELINE="pipeline",t.PROJECTION="projection",t.QUERY="query",t.WINDOW="window"})(Ye||(Ye={}));class $o{constructor(e){this.operators={[Ye.ACCUMULATOR]:{},[Ye.EXPRESSION]:{},[Ye.PIPELINE]:{},[Ye.PROJECTION]:{},[Ye.QUERY]:{},[Ye.WINDOW]:{}};for(const[n,r]of Object.entries(e))this.addOperators(n,r)}static init(e={}){return new $o(e)}static from(e){return new $o(e.operators)}addOperators(e,n){for(const[r,i]of Object.entries(n))this.getOperator(e,r)||(this.operators[e][r]=i);return this}addAccumulatorOps(e){return this.addOperators(Ye.ACCUMULATOR,e)}addExpressionOps(e){return this.addOperators(Ye.EXPRESSION,e)}addQueryOps(e){return this.addOperators(Ye.QUERY,e)}addPipelineOps(e){return this.addOperators(Ye.PIPELINE,e)}addProjectionOps(e){return this.addOperators(Ye.PROJECTION,e)}addWindowOps(e){return this.addOperators(Ye.WINDOW,e)}getOperator(e,n){return e in this.operators&&this.operators[e][n]||null}}const co=$o.init();function K_(t,e){for(const[n,r]of Object.entries(e)){Yt(Ih(r)&&Ko(n),`'${n}' is not a valid operator`);const i=Oo(t,n,null);Yt(!i||r===i,`${n} already exists for '${t}' operators. Cannot change operator function once registered.`)}switch(t){case Ye.ACCUMULATOR:co.addAccumulatorOps(e);break;case Ye.EXPRESSION:co.addExpressionOps(e);break;case Ye.PIPELINE:co.addPipelineOps(e);break;case Ye.PROJECTION:co.addProjectionOps(e);break;case Ye.QUERY:co.addQueryOps(e);break;case Ye.WINDOW:co.addWindowOps(e);break}}function Oo(t,e,n){const{context:r,useGlobalContext:i}=n||{},s=r?r.getOperator(t,e):null;return!s&&i?co.getOperator(t,e):s}const W_={$$ROOT(t,e,n){return n.root},$$CURRENT(t,e,n){return t},$$REMOVE(t,e,n){},$$NOW(t,e,n){return new Date(n.timestamp)}},Fy={$$KEEP(t,e,n){return t},$$PRUNE(t,e,n){},$$DESCEND(t,e,n){if(!Xn(e,"$cond"))return t;let r;for(const[i,s]of Object.entries(t))if(Sh(s)){if(s instanceof Array){const o=[];for(let a of s)wt(a)&&(a=q_(a,e,n.update(a))),cn(a)||o.push(a);r=o}else r=q_(s,e,n.update(s));cn(r)?delete t[i]:t[i]=r}return t}};function Jr(t,e,n,r){var i;const s=Eo.init(r,t);if(n=n||"",Ko(n)){const o=Oo(Ye.EXPRESSION,n,r);if(o)return o(t,e,s);const a=Oo(Ye.ACCUMULATOR,n,r);if(a)return t instanceof Array||(t=Jr(t,e,null,s),e=null),Yt(t instanceof Array,`'${n}' target must be an array.`),a(t,e,s.update(null,s.local));throw new Error(`operator '${n}' is not registered`)}if(Ki(e)&&e.length>0&&e[0]==="$"){if(Xn(Fy,e))return e;let o=s.root;const a=e.split(".");if(Xn(W_,a[0]))o=W_[a[0]](t,null,s),e=e.slice(a[0].length+1);else if(a[0].slice(0,2)==="$$"){o=Object.assign({},s.variables,{this:t},(i=s.local)===null||i===void 0?void 0:i.variables);const l=a[0].slice(2);Yt(Xn(o,l),`Use of undefined variable: ${l}`),e=e.slice(2)}else e=e.slice(1);return e===""?o:lu(o,e)}if(Lt(e))return e.map(o=>Jr(t,o,null,s));if(wt(e)){const o={};for(const[a,l]of Object.entries(e))if(o[a]=Jr(t,l,a,s),[Ye.EXPRESSION,Ye.ACCUMULATOR].some(f=>!!Oo(f,a,r)))return Yt(Object.keys(e).length===1,"Invalid aggregation expression '"+JSON.stringify(e)+"'"),o[a];return o}return e}function q_(t,e,n){const r=Jr(t,e,null,n);return Xn(Fy,r)?Fy[r](t,e,n):r}function qa(t){return t instanceof H_?t:new H_(t)}function CM(...t){let e=0;return qa(()=>{for(;e{const i=r.next();if(i.done)throw Ly;return i.value}}else if(e instanceof Array){const r=e,i=r.length;let s=0;n=()=>{if(s0?this.push(ii.TAKE,e):this}drop(e){return e>0?this.push(ii.DROP,e):this}transform(e){const n=this;let r;return qa(()=>(r||(r=qa(e(n.value()))),r.next()))}value(){return this.isDone||(this.isDone=this.getNext(!0).done),this.yieldedValues}each(e){for(;;){const n=this.next();if(n.done)break;if(e(n.value)===!1)return!1}return!0}reduce(e,n){let r=this.next();for(n===void 0&&!r.done&&(n=r.value,r=this.next());!r.done;)n=e(n,r.value),r=this.next();return n}size(){return this.reduce((e,n)=>++e,0)}[Symbol.iterator](){return this}}class MM{constructor(e,n){this.pipeline=e,this.options=Bg(n)}stream(e){let n=qa(e);const r=this.options.processingMode;(r==vs.CLONE_ALL||r==vs.CLONE_INPUT)&&n.map(Py);const i=new Array;if(!uu(this.pipeline))for(const s of this.pipeline){const o=Object.keys(s),a=o[0],l=Oo(Ye.PIPELINE,a,this.options);Yt(o.length===1&&!!l,`invalid pipeline operator ${a}`),i.push(a),n=l(n,s[a],this.options)}return(r==vs.CLONE_OUTPUT||r==vs.CLONE_ALL&&Ng([["$group","$unwind"],i]).length)&&n.map(Py),n}run(e){return this.stream(e).value()}}class NM{constructor(e,n,r,i){this.source=e,this.predicate=n,this.projection=r,this.options=i,this.operators=[],this.result=null,this.buffer=[]}fetch(){return this.result?this.result:(wt(this.projection)&&this.operators.push({$project:this.projection}),this.result=qa(this.source).filter(this.predicate),this.operators.length>0&&(this.result=new MM(this.operators,this.options).stream(this.result)),this.result)}fetchAll(){const e=qa([...this.buffer]);return this.buffer=[],CM(e,this.fetch())}all(){return this.fetchAll().value()}count(){return this.all().length}skip(e){return this.operators.push({$skip:e}),this}limit(e){return this.operators.push({$limit:e}),this}sort(e){return this.operators.push({$sort:e}),this}collation(e){return this.options=Object.assign(Object.assign({},this.options),{collation:e}),this}next(){if(this.buffer.length>0)return this.buffer.pop();const e=this.fetch().next();if(!e.done)return e.value}hasNext(){if(this.buffer.length>0)return!0;const e=this.fetch().next();return e.done?!1:(this.buffer.push(e.value),!0)}map(e){return this.all().map(e)}forEach(e){this.all().forEach(e)}[Symbol.iterator](){return this.fetchAll()}}class qs{constructor(e,n){this.condition=e,this.options=Bg(n),this.compiled=[],this.compile()}compile(){Yt(wt(this.condition),`query criteria must be an object: ${JSON.stringify(this.condition)}`);const e={};for(const[n,r]of Object.entries(this.condition)){if(n==="$where")Object.assign(e,{field:n,expr:r});else if(Wa(["$and","$or","$nor","$expr","$jsonSchema"],n))this.processOperator(n,n,r);else{Yt(!Ko(n),`unknown top level operator: ${n}`);for(const[i,s]of Object.entries(KE(r)))this.processOperator(n,i,s)}e.field&&this.processOperator(e.field,e.field,e.expr)}}processOperator(e,n,r){const i=Oo(Ye.QUERY,n,this.options);if(!i)throw new Error(`unknown operator ${n}`);const s=i(e,r,this.options);this.compiled.push(s)}test(e){for(let n=0,r=this.compiled.length;nthis.test(r),n||{},this.options)}remove(e){return e.reduce((n,r)=>(this.test(r)||n.push(r),n),[])}}const BM=(t,e,n)=>{if(uu(e)||!wt(e))return t;let r=Mn;const i=n.collation;return wt(i)&&Ki(i.locale)&&(r=LM(i)),t.transform(s=>{const o=Object.keys(e);for(const a of o.reverse()){const l=kM(s,h=>lu(h,a),n.hashFunction),f=Array.from(l.keys()).sort(r);e[a]===-1&&f.reverse(),s=[],f.reduce((h,m)=>Gl(h,l.get(m)),s)}return s})},FM={1:"base",2:"accent",3:"variant"};function LM(t){const e={sensitivity:FM[t.strength||3],caseFirst:t.caseFirst==="off"?"false":t.caseFirst||"false",numeric:t.numericOrdering||!1,ignorePunctuation:t.alternate==="shifted"};(t.caseLevel||!1)===!0&&(e.sensitivity==="base"&&(e.sensitivity="case"),e.sensitivity==="accent"&&(e.sensitivity="variant"));const n=new Intl.Collator(t.locale,e);return(r,i)=>{if(!Ki(r)||!Ki(i))return Mn(r,i);const s=n.compare(r,i);return s<0?-1:s>0?1:0}}function wn(t){const e=(n,r,i)=>{const s={unwrapArray:!0},o=Math.max(1,n.split(".").length-1);return a=>{const l=lu(a,n,s);return t(l,r,Object.assign(Object.assign({},i),{depth:o}))}};return e.op="query",e}function WE(t,e,n){if(Wi(t,e)||cn(t)&&cn(e))return!0;if(t instanceof Array){const r=Wi.bind(null,e);return t.some(r)||zE(t,n==null?void 0:n.depth).some(r)}return!1}function $M(t,e,n){return!WE(t,e,n)}function qE(t,e,n){return cn(t)?e.some(r=>r===null):Ng([Yl(t),e],n==null?void 0:n.hashFunction).length>0}function jM(t,e,n){return!qE(t,e,n)}function UM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)<0)}function zM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)<=0)}function VM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)>0)}function KM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)>=0)}function WM(t,e,n){return Yl(t).some(r=>e.length===2&&r%e[0]===e[1])}function qM(t,e,n){const r=Yl(t),i=s=>Ki(s)&&_M(e.exec(s),n==null?void 0:n.useStrictMode);return r.some(i)||zE(r,1).some(i)}function HM(t,e,n){return(e===!1||e===0)&&t===void 0||(e===!0||e===1)&&t!==void 0}function QM(t,e,n){if(!Lt(t)||!Lt(e)||!t.length||!e.length)return!1;let r=!0;for(const i of e){if(!r)break;wt(i)&&Wa(Object.keys(i),"$elemMatch")?r=HE(t,i.$elemMatch,n):i instanceof RegExp?r=t.some(s=>typeof s=="string"&&i.test(s)):r=t.some(s=>Wi(i,s))}return r}function YM(t,e,n){return Array.isArray(t)&&t.length===e}function GM(t){return Ko(t)&&["$and","$or","$nor"].indexOf(t)===-1}function HE(t,e,n){if(Lt(t)&&!uu(t)){let r=o=>o,i=e;Object.keys(e).every(GM)&&(i={temp:e},r=o=>({temp:o}));const s=new qs(i,n);for(let o=0,a=t.length;ot===null,Y_=t=>Hn(t)&&t>=dM&&t<=fM&&t.toString().indexOf(".")===-1,G_=t=>Hn(t)&&t>=pM&&t<=hM&&t.toString().indexOf(".")===-1,JM={array:Lt,bool:um,boolean:um,date:Ry,decimal:Hn,double:Hn,int:Y_,long:G_,number:Hn,null:Q_,object:wt,regex:Af,regexp:Af,string:Ki,undefined:cn,function:t=>{throw new Error("unsupported type key `function`.")},1:Hn,2:Ki,3:wt,4:Lt,6:cn,8:um,9:Ry,10:Q_,11:Af,16:Y_,18:G_,19:Hn};function J_(t,e,n){const r=JM[e];return r?r(t):!1}function XM(t,e,n){return Array.isArray(e)?e.findIndex(r=>J_(t,r))>=0:J_(t,e)}function Eh(t,e,n){return Yl(t).some(r=>Cl(r)===Cl(e)&&n(r,e))}const X_=(t,e)=>{const n={};return t.split("").forEach((r,i)=>n[r]=e*(i+1)),n};Object.assign(Object.assign(Object.assign({},X_("ABCDEFGHIKLM",1)),X_("NOPQRSTUVWXY",-1)),{Z:0});const Z_={undefined:null,null:null,NaN:NaN,Infinity:new Error,"-Infinity":new Error};function sr(t,e=Z_){const n=Object.assign({},Z_,e),r=new Set(Object.keys(n));return(i,s,o)=>{const a=Jr(i,s,null,o);if(r.has(`${a}`)){const l=n[`${a}`];if(l instanceof Error)throw new Error(`cannot apply $${t.name} to -inf, value must in (-inf,inf)`);return l}return t(a)}}sr(Math.acos,{Infinity:1/0,0:new Error});sr(Math.acosh,{Infinity:1/0,0:new Error});sr(Math.asin);sr(Math.asinh,{Infinity:1/0,"-Infinity":-1/0});sr(Math.atan);sr(Math.atanh,{1:1/0,"-1":-1/0});sr(Math.cos);sr(Math.cosh,{"-Infinity":1/0,Infinity:1/0});const ZM=Math.PI/180;sr(t=>t*ZM,{Infinity:1/0,"-Infinity":1/0});const e2=180/Math.PI;sr(t=>t*e2,{Infinity:1/0,"-Infinity":-1/0});sr(Math.sin);sr(Math.sinh,{"-Infinity":-1/0,Infinity:1/0});sr(Math.tan);const t2=(t,e,n)=>{if(uu(e))return t;let r=Object.keys(e),i=!1;QE(e,n);const s=n.idKey;if(Wa(r,s)){const a=e[s];(a===0||a===!1)&&(r=r.filter(UE.bind(null,[s])),i=r.length==0)}else r.push(s);const o=Eo.init(n);return t.map(a=>$y(a,e,o.update(a),r,i))};function $y(t,e,n,r,i){let s={},o=!1,a=!1;const l=[];i&&l.push(n.idKey);for(const f of r){let h;const m=e[f];if(f!==n.idKey&&Wa([0,!1],m)&&(a=!0),f===n.idKey&&uu(m))h=t[f];else if(Ki(m))h=Jr(t,m,f,n);else if(!Wa([1,!0],m))if(m instanceof Array)h=m.map(w=>{const I=Jr(t,w,null,n);return cn(I)?null:I});else if(wt(m)){const w=m,I=Object.keys(m),E=I.length==1?I[0]:"",F=Oo(Ye.PROJECTION,E,n);if(F)E==="$slice"?Yl(w[E]).every(Hn)?(h=F(t,w[E],f,n),o=!0):h=Jr(t,w,f,n):h=F(t,w[E],f,n);else if(Ko(E))h=Jr(t,w[E],E,n);else if(Xn(t,f)){QE(w,n);let S=t[f];S instanceof Array?h=S.map(_=>$y(_,w,n,I,!1)):(S=wt(S)?S:t,h=$y(S,w,n,I,!1))}else h=Jr(t,m,null,n)}else{l.push(f);continue}const y=Cf(t,f,{preserveMissing:!0});y!==void 0&&Ty(s,y,{flatten:!0}),UE([0,1,!1,!0],m)&&(h===void 0?V_(s,f,{descendArray:!0}):xM(s,f,h))}if(By(s),(o||a||i)&&(s=Gl({},t,s),l.length>0))for(const f of l)V_(s,f,{descendArray:!0});return s}function QE(t,e){const n=[!1,!1];for(const[r,i]of Object.entries(t)){if(r===(e==null?void 0:e.idKey))return;i===0||i===!1?n[0]=!0:(i===1||i===!0)&&(n[1]=!0),Yt(!(n[0]&&n[1]),"Projection cannot have a mix of inclusion and exclusion.")}}const n2=(t,e,n)=>{Yt(Lt(e),"Invalid expression: $and expects value to be an Array.");const r=e.map(i=>new qs(i,n));return i=>r.every(s=>s.test(i))},YE=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $or expects value to be an Array");const r=e.map(i=>new qs(i,n));return i=>r.some(s=>s.test(i))},r2=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $nor expects value to be an array.");const r=YE("$or",e,n);return i=>!r(i)},i2=(t,e,n)=>{const r={};r[t]=KE(e);const i=new qs(r,n);return s=>!i.test(s)},s2=wn(WE),o2=wn(VM),a2=wn(KM),u2=wn(qE),l2=wn(UM),c2=wn(zM),f2=wn($M),d2=wn(jM),h2=wn(WM),p2=wn(qM);wn(QM);const m2=wn(HE),y2=wn(YM),v2=wn(HM),g2=wn(XM);var eb=!1;function w2(t){return eb||(K_(Ye.PIPELINE,{$sort:BM,$project:t2}),K_(Ye.QUERY,{$and:n2,$eq:s2,$elemMatch:m2,$exists:v2,$gt:o2,$gte:a2,$in:u2,$lt:l2,$lte:c2,$ne:f2,$nin:d2,$mod:h2,$nor:r2,$not:i2,$or:YE,$regex:p2,$size:y2,$type:g2}),eb=!0),new qs(t)}function Rl(t,e){var n=Fn(t.primaryKey);e=$e(e);var r=Pn(e);if(typeof r.skip!="number"&&(r.skip=0),r.selector?(r.selector=r.selector,Object.entries(r.selector).forEach(([f,h])=>{(typeof h!="object"||h===null)&&(r.selector[f]={$eq:h})})):r.selector={},r.index){var i=ja(r.index);i.includes(n)||i.push(n),r.index=i}if(r.sort){var l=r.sort.find(f=>CP(f)===n);l||(r.sort=r.sort.slice(0),r.sort.push({[n]:"asc"}))}else if(r.index)r.sort=r.index.map(f=>({[f]:"asc"}));else{if(t.indexes){var s=new Set;Object.entries(r.selector).forEach(([f,h])=>{var m=!1;typeof h=="object"&&h!==null?m=!!Object.keys(h).find(y=>Rg.has(y)):m=!0,m&&s.add(f)});var o=-1,a;t.indexes.forEach(f=>{var h=hg(f)?f:[f],m=h.findIndex(y=>!s.has(y));m>0&&m>o&&(o=m,a=h)}),a&&(r.sort=a.map(f=>({[f]:"asc"})))}r.sort||(r.sort=[{[n]:"asc"}])}return r}function Fg(t,e){if(!e.sort)throw le("SNH",{query:e});var n=[];e.sort.forEach(i=>{var s=Object.keys(i)[0],o=Object.values(i)[0];n.push({key:s,direction:o,getValueFn:JI(s)})});var r=(i,s)=>{for(var o=0;on.test(i);return r}function _2(t,e){return!e.sort||e.sort.length===0?[t]:e.sort.map(n=>Object.keys(n)[0])}var b2=new WeakMap;function S2(t){return Tr(b2,t,()=>{var e=t.collection,n=Rl(e.storageInstance.schema,Pn(t.mangoQuery)),r=e.schema.primaryPath,i=Fg(e.schema.jsonSchema,n),s=(f,h)=>{var m={docA:f,docB:h,rxQuery:t};return i(m.docA,m.docB)},o=Oh(e.schema.jsonSchema,n),a=f=>{var h={doc:f,rxQuery:t};return o(h.doc)},l={primaryKey:t.collection.schema.primaryPath,skip:n.skip,limit:n.limit,sortFields:_2(r,n),sortComparator:s,queryMatcher:a};return l})}function I2(t,e){if(!t.collection.database.eventReduce)return{runFullQueryAgain:!0};var n=S2(t),r=ye(t._result).docsData.slice(0),i=ye(t._result).docsDataMap,s=!1,o=e.map(l=>uT(l)).filter(GI),a=o.find(l=>{var f={queryParams:n,changeEvent:l,previousResults:r,keyDocumentMap:i},h=rM(f);if(h==="runFullQueryAgain")return!0;if(h!=="doNothing")return s=!0,iM(h,n,l,r,i),!1});return a?{runFullQueryAgain:!0}:{runFullQueryAgain:!1,changed:s,newResults:r}}var E2=function(){function t(){this._map=new Map}var e=t.prototype;return e.getByQuery=function(r){var i=r.toString();return Tr(this._map,i,()=>r)},t}();function O2(){return new E2}function tb(t,e){e.uncached=!0;var n=e.toString();t._map.delete(n)}function k2(t){return t.refCount$.observers.length}var D2=100,x2=30*1e3,A2=(t,e)=>(n,r)=>{if(!(r._map.size0)){if(a._lastEnsureEqual===0&&a._creationTimem._lastEnsureEqual-y._lastEnsureEqual),h=f.slice(0,l);h.forEach(m=>tb(r,m))}}},GE=A2(D2,x2),cm=new WeakSet;function C2(t){cm.has(t)||(cm.add(t),WP().then(()=>HP(200)).then(()=>{t.destroyed||t.cacheReplacementPolicy(t,t._queryCache),cm.delete(t)}))}var JE=function(){function t(n,r,i){this.cacheItemByDocId=new Map,this.registry=typeof FinalizationRegistry=="function"?new FinalizationRegistry(s=>{var o=s.docId,a=this.cacheItemByDocId.get(o);a&&(a.byRev.delete(s.revisionHeight),a.byRev.size===0&&this.cacheItemByDocId.delete(o))}):void 0,this.registerIdleTasks=[],this.primaryPath=n,this.changes$=r,this.documentCreator=i,r.subscribe(s=>{var o=s.documentId,a=this.cacheItemByDocId.get(o);if(a){var l=kg(s);a.last=l}})}var e=t.prototype;return e.getLatestDocumentData=function(r){var i=Mo(this.cacheItemByDocId,r);return i.last},e.getLatestDocumentDataIfExists=function(r){var i=this.cacheItemByDocId.get(r);if(i)return i.last},Vs(t,[{key:"getCachedRxDocument",get:function(){var n=P2(this);return xs(this,"getCachedRxDocument",n)}}]),t}();function P2(t){var e=t.primaryPath,n=t.cacheItemByDocId,r=t.registry,i=it.deepFreezeWhenDevMode,s=t.documentCreator,o=a=>{var l=a[e],f=D_(a._rev),h=Tr(n,l,()=>R2(a)),m=h.byRev,y=m.get(f),w=y?y.deref():void 0;return w||(a=i(a),w=s(a),m.set(f,M2(w)),r&&(t.registerIdleTasks.push(w),t.registerIdlePromise||(t.registerIdlePromise=yg().then(()=>{t.registerIdlePromise=void 0;var I=t.registerIdleTasks;I.length!==0&&(t.registerIdleTasks=[],I.forEach(E=>{r.register(E,{docId:E.primary,revisionHeight:D_(E.revision)})}))})))),w};return o}function XE(t,e){for(var n=t.getCachedRxDocument,r=[],i=0;ie._data))}},{key:"docsDataMap",get:function(){var e=new Map;return this.documents.forEach(n=>{e.set(n.primary,n._data)}),xs(this,"docsDataMap",e)}},{key:"docsMap",get:function(){for(var e=new Map,n=this.documents,r=0;r{var m=this.collection._docCache.getLatestDocumentDataIfExists(h);if(m){if(!m._deleted){var y=this.collection._docCache.getCachedRxDocument(m);o.set(h,y)}}else a.push(h)}),a.length>0){var l=await this.collection.storageInstance.findDocumentsById(a,!1);l.forEach(h=>{var m=this.collection._docCache.getCachedRxDocument(h);o.set(m.primary,m)})}return o}var f=tO(this);return f.then(h=>(this._lastExecEnd=Ft(),h))},e.exec=function(r){if(r&&this.op!=="findOne")throw le("QU9",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return rb(this).then(()=>Cs(this.$)).then(i=>{if(!i&&r)throw le("QU10",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return i})},e.toString=function(){var r=fd({op:this.op,query:this.mangoQuery,other:this.other},!0),i=JSON.stringify(r);return this.toString=()=>i,i},e.getPreparedQuery=function(){var r={rxQuery:this,mangoQuery:Rl(this.collection.schema.jsonSchema,this.mangoQuery)};r.mangoQuery.selector._deleted={$eq:!1},r.mangoQuery.index&&r.mangoQuery.index.unshift("_deleted"),Mr("prePrepareQuery",r);var i=Jl(this.collection.schema.jsonSchema,r.mangoQuery);return this.getPreparedQuery=()=>i,i},e.doesDocumentDataMatch=function(r){return r._deleted?!1:this.queryMatcher(r)},e.remove=function(){return this.exec().then(r=>Array.isArray(r)?Promise.all(r.map(i=>i.remove())):r.remove())},e.update=function(r){throw pt("update")},e.where=function(r){throw pt("query-builder")},e.sort=function(r){throw pt("query-builder")},e.skip=function(r){throw pt("query-builder")},e.limit=function(r){throw pt("query-builder")},Vs(t,[{key:"$",get:function(){if(!this._$){var n=this.collection.$.pipe(lt(r=>!r.isLocal),Hl(null),Nr(()=>rb(this)),Mt(()=>this._result),Pi(Ci),Bo((r,i)=>!!(r&&r.time===ye(i).time)),lt(r=>!!r),Mt(r=>{var i=ye(r);return this.op==="count"?i.count:this.op==="findOne"?i.documents.length===0?null:i.documents[0]:this.op==="findByIds"?i.docsMap:i.documents.slice(0)}));this._$=vT(n,this.refCount$.pipe(lt(()=>!1)))}return this._$}},{key:"$$",get:function(){var n=this.collection.database.getReactivityFactory();return n.fromObservable(this.$,void 0)}},{key:"queryMatcher",get:function(){var n=this.collection.schema.jsonSchema,r=Rl(this.collection.schema.jsonSchema,this.mangoQuery);return xs(this,"queryMatcher",Oh(n,r))}},{key:"asRxQuery",get:function(){return this}}]),t}();function tl(){return{selector:{}}}function $2(t){return t.collection._queryCache.getByQuery(t)}function na(t,e,n,r){Mr("preCreateRxQuery",{op:t,queryObj:e,collection:n,other:r});var i=new ZE(t,e,n,r);return i=$2(i),C2(n),i}function eO(t){var e=t.asRxQuery.collection._changeEventBuffer.counter;return t._latestChangeEvent>=e}function rb(t){return t.collection.database.destroyed||eO(t)?Gn:(t._ensureEqualQueue=t._ensureEqualQueue.then(()=>j2(t)),t._ensureEqualQueue)}function j2(t){if(t._lastEnsureEqual=Ft(),t.collection.database.destroyed||eO(t))return Gn;var e=!1,n=!1;if(t._latestChangeEvent===-1&&(n=!0),!n){var r=t.asRxQuery.collection._changeEventBuffer.getFrom(t._latestChangeEvent+1);if(r===null)n=!0;else{t._latestChangeEvent=t.asRxQuery.collection._changeEventBuffer.counter;var i=t.asRxQuery.collection._changeEventBuffer.reduceByLastOfDoc(r);if(t.op==="count"){var s=ye(t._result).count,o=s;i.forEach(l=>{var f=l.previousDocumentData&&t.doesDocumentDataMatch(l.previousDocumentData),h=t.doesDocumentDataMatch(l.documentData);!f&&h&&o++,f&&!h&&o--}),o!==s&&(e=!0,t._setResultData(o))}else{var a=I2(t,i);a.runFullQueryAgain?n=!0:a.changed&&(e=!0,t._setResultData(a.newResults))}}}return n?t._execOverDatabase().then(l=>(t._latestChangeEvent=t.collection._changeEventBuffer.counter,typeof l=="number"?((!t._result||l!==t._result.count)&&(e=!0,t._setResultData(l)),e):((!t._result||!RP(t.collection.schema.primaryPath,l,t._result.docsData))&&(e=!0,t._setResultData(l)),e))):Promise.resolve(e)}function Jl(t,e){if(!e.sort)throw le("SNH",{query:e});var n=sM(t,e);return{query:e,queryPlan:n}}async function tO(t){var e=[],n=t.collection;if(t.isFindOneByIdQuery)if(Array.isArray(t.isFindOneByIdQuery)){var r=t.isFindOneByIdQuery;if(r=r.filter(h=>{var m=t.collection._docCache.getLatestDocumentDataIfExists(h);return m?(m._deleted||e.push(m),!1):!0}),r.length>0){var i=await n.storageInstance.findDocumentsById(r,!1);Ua(e,i)}}else{var s=t.isFindOneByIdQuery,o=t.collection._docCache.getLatestDocumentDataIfExists(s);if(!o){var a=await n.storageInstance.findDocumentsById([s],!1);a[0]&&(o=a[0])}o&&!o._deleted&&e.push(o)}else{var l=t.getPreparedQuery(),f=await n.storageInstance.query(l);e=f.documents}return e}function U2(t,e){if(!e.skip&&e.selector&&Object.keys(e.selector).length===1&&e.selector[t]){var n=e.selector[t];if(typeof n=="string")return n;if(Object.keys(n).length===1&&typeof n.$eq=="string"||Object.keys(n).length===1&&Array.isArray(n.$eq)&&!n.$eq.find(r=>typeof r!="string"))return n.$eq}return!1}var z2="_rxdb_internal";async function Xl(t,e){var n=await t.findDocumentsById([e],!1),r=n[0];if(r)return r}async function Tl(t,e,n){var r=await t.bulkWrite([e],n);if(r.error.length>0){var i=r.error[0];throw i}else{var s=r.success[0];return s}}function V2(t,e){var n=Xl(t,e),r=t.changeStream().pipe(Mt(i=>i.events.find(s=>s.documentId===e)),lt(i=>!!i),Mt(i=>Promise.resolve(ye(i).documentData)),Hl(n),Al(i=>i),lt(i=>!!i));return r}function Ml(t){return Object.assign({},...t)}function nO(t,e,n){var r=e.documentData,i=e.previousDocumentData,s={documentId:e.documentId,collectionName:n?n.name:void 0,isLocal:t,operation:e.operation,documentData:it.deepFreezeWhenDevMode(r),previousDocumentData:it.deepFreezeWhenDevMode(i)};return s}function yd(t,e,n,r){if(r)throw r.status===409?le("CONFLICT",{collection:t.name,id:e,writeError:r,data:n}):r.status===422?le("VD2",{collection:t.name,id:e,writeError:r,data:n}):r}function rO(t,e,n,r,i,s,o){for(var a=!!t.schema.attachments,l=[],f=[],h=[],m=iu(10),y={id:m,events:[],checkpoint:null,context:i,startTime:Ft(),endTime:0},w=y.events,I=[],E=[],F=[],S=n.size>0,_,k=r.length,z=function(){var Q=r[W],H=Q.document,X=Q.previous,U=H[e],ee=H._deleted,ce=X&&X._deleted,de=void 0;S&&(de=n.get(U));var Pe;if(de){var Te=de._rev;if(!X||X&&Te!==X._rev){var Dt={isError:!0,status:409,documentId:U,writeRow:Q,documentInDb:de};return h.push(Dt),1}var G=a?fm(Q):Q;a&&(ee?X&&Object.keys(X._attachments).forEach(ft=>{E.push({documentId:U,attachmentId:ft,digest:ye(X)._attachments[ft].digest})}):(Object.entries(H._attachments).find(([ft,At])=>{var Un=X?X._attachments[ft]:void 0;return!Un&&!At.data&&(Pe={documentId:U,documentInDb:de,isError:!0,status:510,writeRow:Q,attachmentId:ft}),!0}),Pe||Object.entries(H._attachments).forEach(([ft,At])=>{var Un=X?X._attachments[ft]:void 0;if(!Un)I.push({documentId:U,attachmentId:ft,attachmentData:At,digest:At.digest});else{var tn=G.document._attachments[ft].digest;At.data&&Un.digest!==tn&&F.push({documentId:U,attachmentId:ft,attachmentData:At,digest:At.digest})}}))),Pe?h.push(Pe):(a?(f.push(fm(G)),o&&o(H)):(f.push(G),o&&o(H)),_=G);var oe=null,ue=null,Re=null;if(ce&&!ee)Re="INSERT",oe=a?gs(H):H;else if(X&&!ce&&!ee)Re="UPDATE",oe=a?gs(H):H,ue=X;else if(ee)Re="DELETE",oe=ye(H),ue=X;else throw le("SNH",{args:{writeRow:Q}});var xt={documentId:U,documentData:oe,previousDocumentData:ue,operation:Re};w.push(xt)}else{var ot=!!ee;if(a&&Object.entries(H._attachments).forEach(([ft,At])=>{At.data?I.push({documentId:U,attachmentId:ft,attachmentData:At,digest:At.digest}):(Pe={documentId:U,isError:!0,status:510,writeRow:Q,attachmentId:ft},h.push(Pe))}),Pe||(a?(l.push(fm(Q)),s&&s(H)):(l.push(Q),s&&s(H)),_=Q),!ot){var ct={documentId:U,operation:"INSERT",documentData:a?gs(H):H,previousDocumentData:a&&X?gs(X):X};w.push(ct)}}},W=0;W{e._attachments[n]=W2(r)}),e}function Lg(t){var e=$e(t);return e._meta=$e(t._meta),e}function $g(t,e,n){it.deepFreezeWhenDevMode(n);var r=Fn(n.primaryKey);function i(o){var a=$e(o.document);if(a._meta=$e(a._meta),it.isDevMode()){a=sE(r,n,a);try{typeof structuredClone=="function"?structuredClone(o):JSON.parse(JSON.stringify(o))}catch{throw le("DOC24",{collection:e.collectionName,document:o.document})}o.previous,o.previous&&Object.keys(o.previous._meta).forEach(l=>{if(!Object.prototype.hasOwnProperty.call(o.document._meta,l))throw le("SNH",{dataBefore:o.previous,dataAfter:o.document})})}return a._meta.lwt=Ft(),a._rev=Ui(t.token,o.previous),{document:a,previous:o.previous}}var s={originalStorageInstance:e,schema:e.schema,internals:e.internals,collectionName:e.collectionName,databaseName:e.databaseName,options:e.options,bulkWrite(o,a){var l=o.map(f=>i(f));return t.lockedRun(()=>e.bulkWrite(l,a)).then(f=>{var h={error:[],success:f.success.slice(0)},m=f.error.filter(w=>w.status===409&&!w.writeRow.previous&&!w.writeRow.document._deleted&&ye(w.documentInDb)._deleted?!0:(h.error.push(w),!1));if(m.length>0){var y=m.map(w=>({previous:w.documentInDb,document:Object.assign({},w.writeRow.document,{_rev:Ui(t.token,w.documentInDb)})}));return t.lockedRun(()=>e.bulkWrite(y,a)).then(w=>(Ua(h.error,w.error),Ua(h.success,w.success),h))}return f})},query(o){return t.lockedRun(()=>e.query(o))},count(o){return t.lockedRun(()=>e.count(o))},findDocumentsById(o,a){return t.lockedRun(()=>e.findDocumentsById(o,a))},getAttachmentData(o,a,l){return t.lockedRun(()=>e.getAttachmentData(o,a,l))},getChangedDocumentsSince:e.getChangedDocumentsSince?(o,a)=>t.lockedRun(()=>e.getChangedDocumentsSince(ye(o),a)):void 0,cleanup(o){return t.lockedRun(()=>e.cleanup(o))},remove(){return t.storageInstances.delete(s),t.lockedRun(()=>e.remove())},close(){return t.storageInstances.delete(s),t.lockedRun(()=>e.close())},changeStream(){return e.changeStream()},conflictResultionTasks(){return e.conflictResultionTasks()},resolveConflictResultionTask(o){if(o.output.isEqual)return e.resolveConflictResultionTask(o);var a=Object.assign({},o.output.documentData,{_meta:Ks(),_rev:Rn(),_attachments:{}}),l=$e(a);return delete l._meta,delete l._rev,delete l._attachments,e.resolveConflictResultionTask({id:o.id,output:{isEqual:!1,documentData:l}})}};return t.storageInstances.add(s),s}function iO(t){if(t.schema.keyCompression)throw le("UT5",{args:{params:t}});if(vd(t.schema))throw le("UT6",{args:{params:t}});if(t.schema.attachments&&t.schema.attachments.compression)throw le("UT7",{args:{params:t}})}function vd(t){return!!(t.encrypted&&t.encrypted.length>0||t.attachments&&t.attachments.encrypted)}function q2(t,e,n){var r=Fn(t.schema.primaryKey),i=n?n.lwt:pg,s=n?n.id:"";return Rl(t.schema,{selector:{$or:[{"_meta.lwt":{$gt:i}},{"_meta.lwt":{$eq:i},[r]:{$gt:n?s:""}}],"_meta.lwt":{$gte:i}},sort:[{"_meta.lwt":"asc"},{[r]:"asc"}],skip:0,limit:e})}async function sO(t,e,n){if(t.getChangedDocumentsSince)return t.getChangedDocumentsSince(e,n);var r=Fn(t.schema.primaryKey),i=Jl(t.schema,q2(t,e,n)),s=await t.query(i),o=s.documents,a=DP(o);return{documents:o,checkpoint:a?{id:a[r],lwt:a._meta.lwt}:n||{id:"",lwt:0}}}var oO=function(){function t(n,r,i,s){this.queueByDocId=new Map,this.isRunning=!1,this.storageInstance=n,this.primaryPath=r,this.preWrite=i,this.postWrite=s}var e=t.prototype;return e.addWrite=function(r,i){var s=r[this.primaryPath],o=Tr(this.queueByDocId,s,()=>[]),a=new Promise((l,f)=>{var h={lastKnownDocumentState:r,modifier:i,resolve:l,reject:f};ye(o).push(h),this.triggerRun()});return a},e.triggerRun=async function(){if(!(this.isRunning===!0||this.queueByDocId.size===0)){this.isRunning=!0;var r=[],i=this.queueByDocId;this.queueByDocId=new Map,await Promise.all(Array.from(i.entries()).map(async([o,a])=>{var l=H2(a.map(m=>m.lastKnownDocumentState)),f=l;for(var h of a)try{f=await h.modifier(Pn(f))}catch(m){h.reject(m),h.reject=()=>{},h.resolve=()=>{}}try{await this.preWrite(f,l)}catch(m){a.forEach(y=>y.reject(m));return}r.push({previous:l,document:f})}));var s=r.length>0?await this.storageInstance.bulkWrite(r,"incremental-write"):{error:[],success:[]};return await Promise.all(s.success.map(o=>{var a=o[this.primaryPath];this.postWrite(o);var l=Mo(i,a);l.forEach(f=>f.resolve(o))})),s.error.forEach(o=>{var a=o.documentId,l=Mo(i,a),f=_h(o);if(f){var h=Tr(this.queueByDocId,a,()=>[]);l.reverse().forEach(y=>{y.lastKnownDocumentState=ye(f.documentInDb),ye(h).unshift(y)})}else{var m=iR(o);l.forEach(y=>y.reject(m))}}),this.isRunning=!1,this.triggerRun()}},t}();function ib(t){var e=async n=>{var r=PP(n);r._deleted=n._deleted;var i=await t(r),s=Object.assign({},i,{_meta:n._meta,_attachments:n._attachments,_rev:n._rev,_deleted:typeof i._deleted<"u"?i._deleted:n._deleted});return typeof s._deleted>"u"&&(s._deleted=!1),s};return e}function H2(t){var e=t[0],n=za(e._rev).height;return t.forEach(r=>{var i=za(r._rev).height;i>n&&(e=r,n=i)}),e}var kh={get primaryPath(){var t=this;if(t.isInstanceOfRxDocument)return t.collection.schema.primaryPath},get primary(){var t=this;if(t.isInstanceOfRxDocument)return t._data[t.primaryPath]},get revision(){var t=this;if(t.isInstanceOfRxDocument)return t._data._rev},get deleted$(){var t=this;if(t.isInstanceOfRxDocument)return t.$.pipe(Mt(e=>e._data._deleted))},get deleted$$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.deleted$,t.getLatest().deleted)},get deleted(){var t=this;if(t.isInstanceOfRxDocument)return t._data._deleted},getLatest(){var t=this.collection._docCache.getLatestDocumentData(this.primary);return this.collection._docCache.getCachedRxDocument(t)},get $(){var t=this;return t.collection.$.pipe(lt(e=>!e.isLocal),lt(e=>e.documentId===this.primary),Mt(e=>kg(e)),Hl(t.collection._docCache.getLatestDocumentData(this.primary)),Bo((e,n)=>e._rev===n._rev),Mt(e=>this.collection._docCache.getCachedRxDocument(e)),Pi(Ci))},get $$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.$,t.getLatest()._data)},get$(t){if(it.isDevMode()){if(t.includes(".item."))throw le("DOC1",{path:t});if(t===this.primaryPath)throw le("DOC2");if(this.collection.schema.finalFields.includes(t))throw le("DOC3",{path:t});var e=zi(this.collection.schema.jsonSchema,t);if(!e)throw le("DOC4",{path:t})}return this.$.pipe(Mt(n=>Ts(n,t)),Bo())},get$$(t){var e=this.get$(t),n=this.collection.database.getReactivityFactory();return n.fromObservable(e,this.getLatest().get(t))},populate(t){var e=zi(this.collection.schema.jsonSchema,t),n=this.get(t);if(!n)return mg;if(!e)throw le("DOC5",{path:t});if(!e.ref)throw le("DOC6",{path:t,schemaObj:e});var r=this.collection.database.collections[e.ref];if(!r)throw le("DOC7",{ref:e.ref,path:t,schemaObj:e});return e.type==="array"?r.findByIds(n).exec().then(i=>{var s=i.values();return Array.from(s)}):r.findOne(n).exec()},get(t){return Tr(this._propertyCache,t,()=>{var e=Ts(this._data,t);if(typeof e!="object"||e===null||Array.isArray(e))return it.deepFreezeWhenDevMode(e);var n=this,r=new Proxy($e(e),{get(i,s){if(typeof s!="string")return i[s];var o=s.charAt(s.length-1);if(s.endsWith("$$")){var a=s.slice(0,-2);return n.get$$(zu(t+"."+a))}else if(o==="$"){var l=s.slice(0,-1);return n.get$(zu(t+"."+l))}else if(o==="_"){var f=s.slice(0,-1);return n.populate(zu(t+"."+f))}else return n.get(zu(t+"."+s))}});return r})},toJSON(t=!1){if(t)return it.deepFreezeWhenDevMode(this._data);var e=$e(this._data);return delete e._rev,delete e._attachments,delete e._deleted,delete e._meta,it.deepFreezeWhenDevMode(e)},toMutableJSON(t=!1){return Pn(this.toJSON(t))},update(t){throw pt("update")},incrementalUpdate(t){throw pt("update")},updateCRDT(t){throw pt("crdt")},putAttachment(){throw pt("attachments")},getAttachment(){throw pt("attachments")},allAttachments(){throw pt("attachments")},get allAttachments$(){throw pt("attachments")},async modify(t,e){var n=this._data,r=await ib(t)(n);return this._saveData(r,n)},incrementalModify(t,e){return this.collection.incrementalWriteQueue.addWrite(this._data,ib(t)).then(n=>this.collection._docCache.getCachedRxDocument(n))},patch(t){var e=this._data,n=Pn(e);return Object.entries(t).forEach(([r,i])=>{n[r]=i}),this._saveData(n,e)},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t,e){if(t=$e(t),this._data._deleted)throw le("DOC11",{id:this.primary,document:this});await uO(this.collection,t,e);var n=await this.collection.storageInstance.bulkWrite([{previous:e,document:t}],"rx-document-save-data"),r=n.error[0];return yd(this.collection,this.primary,t,r),await this.collection._runHooks("post","save",t,this),this.collection._docCache.getCachedRxDocument(n.success[0])},remove(){var t=this.collection;if(this.deleted)return Promise.reject(le("DOC13",{document:this,id:this.primary}));var e=$e(this._data),n;return t._runHooks("pre","remove",e,this).then(async()=>{e._deleted=!0;var r=await t.storageInstance.bulkWrite([{previous:this._data,document:e}],"rx-document-remove"),i=r.error[0];return yd(t,this.primary,e,i),r.success[0]}).then(r=>(n=r,this.collection._runHooks("post","remove",e,this))).then(()=>this.collection._docCache.getCachedRxDocument(n))},incrementalRemove(){return this.incrementalModify(async t=>(await this.collection._runHooks("pre","remove",t,this),t._deleted=!0,t)).then(async t=>(await this.collection._runHooks("post","remove",t._data,t),t))},destroy(){throw le("DOC14")}};function aO(t=kh){var e=function(r,i){this.collection=r,this._data=i,this._propertyCache=new Map,this.isInstanceOfRxDocument=!0};return e.prototype=t,e}function Q2(t,e,n){var r=new t(e,n);return Mr("createRxDocument",r),r}function uO(t,e,n){return e._meta=Object.assign({},n._meta,e._meta),it.isDevMode()&&t.schema.validateChange(n,e),t._runHooks("pre","save",e,n)}var ko="collection",jg="storage-token",Pf="rx-migration-status",Y2="RxInternalDocument",Ug=bh({version:0,title:Y2,primaryKey:{key:"id",fields:["context","key"],separator:"|"},type:"object",properties:{id:{type:"string",maxLength:200},key:{type:"string"},context:{type:"string",enum:[ko,jg,Pf,"OTHER"]},data:{type:"object",additionalProperties:!0}},indexes:[],required:["key","context","data"],additionalProperties:!1,sharding:{shards:1,mode:"collection"}});function Ha(t,e){return Ws(Ug,{key:t,context:e})}async function zg(t){var e=Jl(t.schema,{selector:{context:ko,_deleted:{$eq:!1}},sort:[{id:"asc"}],skip:0}),n=await t.query(e),r=n.documents;return r}var lO="storageToken",G2=Ha(lO,jg);async function J2(t){var e=iu(10),n=t.password?await t.hashFunction(JSON.stringify(t.password)):void 0,r={id:G2,context:jg,key:lO,data:{rxdbVersion:t.rxdbVersion,token:e,instanceToken:t.token,passwordHash:n},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}},i=await t.internalStore.bulkWrite([{document:r}],"internal-add-storage-token");if(i.success[0])return i.success[0];var s=ye(i.error[0]);if(s.isError&&_h(s)){var o=s;if(!X2(o.documentInDb.data.rxdbVersion,t.rxdbVersion))throw le("DM5",{args:{database:t.name,databaseStateVersion:o.documentInDb.data.rxdbVersion,codeVersion:t.rxdbVersion}});if(n&&n!==o.documentInDb.data.passwordHash)throw le("DB1",{passwordHash:n,existingPasswordHash:o.documentInDb.data.passwordHash});var a=o.documentInDb;return ye(a)}throw s}function X2(t,e){if(!t||e.includes("beta")&&e!==t)return!1;var n=t.split(".")[0],r=e.split(".")[0];return n===r}async function cO(t,e,n){if(t.schema.version!==n.version)throw le("SNH",{schema:n,version:t.schema.version,name:t.name,collection:t,args:{storageCollectionName:e}});for(var r=jy(t.name,t.schema.jsonSchema),i=Ha(r,ko);;){var s=await Xl(t.database.internalStore,i),o=Pn(ye(s)),a=o.data.connectedStorages.find(l=>l.collectionName===e&&l.schema.version===n.version);if(a)return;o.data.connectedStorages.push({collectionName:e,schema:n});try{await Tl(t.database.internalStore,{previous:ye(s),document:o},"add-connected-storage-to-collection")}catch(l){if(!_h(l))throw l}}}function jy(t,e){return t+"-"+e.version}function dm(t,e){return e=$e(e),e=lR(t,e),e=sE(t.primaryPath,t.jsonSchema,e),e._meta=Ks(),Object.prototype.hasOwnProperty.call(e,"_deleted")||(e._deleted=!1),Object.prototype.hasOwnProperty.call(e,"_attachments")||(e._attachments={}),Object.prototype.hasOwnProperty.call(e,"_rev")||(e._rev=Rn()),e}async function Z2(t,e){e.multiInstance=t.multiInstance;var n=await t.storage.createStorageInstance(e);return n}async function fO(t,e,n,r,i,s,o){var a=await zg(e),l=a.filter(y=>y.data.name===i),f=[];l.forEach(y=>{f.push({collectionName:y.data.name,schema:y.data.schema,isCollection:!0}),y.data.connectedStorages.forEach(w=>f.push({collectionName:w.collectionName,isCollection:!1,schema:w.schema}))});var h=new Set;if(f=f.filter(y=>{var w=y.collectionName+"||"+y.schema.version;return h.has(w)?!1:(h.add(w),!0)}),await Promise.all(f.map(async y=>{var w=await t.createStorageInstance({collectionName:y.collectionName,databaseInstanceToken:n,databaseName:r,multiInstance:!1,options:{},schema:y.schema,password:s,devMode:it.isDevMode()});await w.remove(),y.isCollection&&await No("postRemoveRxCollection",{storage:t,databaseName:r,collectionName:i})})),o){var m=l.map(y=>{var w=Lg(y);return w._deleted=!0,w._meta.lwt=Ft(),w._rev=Ui(n,y),{previous:y,document:w}});await e.bulkWrite(m,"rx-database-remove-collection-all")}}var eN=function(){function t(n){this.subs=[],this.limit=100,this.counter=0,this.eventCounterMap=new WeakMap,this.buffer=[],this.collection=n,this.subs.push(this.collection.$.pipe(lt(r=>!r.isLocal)).subscribe(r=>this._handleChangeEvent(r)))}var e=t.prototype;return e._handleChangeEvent=function(r){for(this.counter++,this.buffer.push(r),this.eventCounterMap.set(r,this.counter);this.buffer.length>this.limit;)this.buffer.shift()},e.getArrayIndexByPointer=function(r){var i=this.buffer[0],s=this.eventCounterMap.get(i);if(ri(o))},e.reduceByLastOfDoc=function(r){return r.slice(0)},e.destroy=function(){this.subs.forEach(r=>r.unsubscribe())},t}();function tN(t){return new eN(t)}var nN=new WeakMap;function rN(t){var e=t.schema.getDocumentPrototype(),n=oN(t),r=kh,i={};return[e,n,r].forEach(s=>{var o=Object.getOwnPropertyNames(s);o.forEach(a=>{var l=Object.getOwnPropertyDescriptor(s,a),f=!0;(a.startsWith("_")||a.endsWith("_")||a.startsWith("$")||a.endsWith("$"))&&(f=!1),typeof l.value=="function"?Object.defineProperty(i,a,{get(){return l.value.bind(this)},enumerable:f,configurable:!1}):(l.enumerable=f,l.configurable=!1,l.writable&&(l.writable=!1),Object.defineProperty(i,a,l))})}),i}function iN(t){return Tr(nN,t,()=>aO(rN(t)))}function sN(t,e){var n=Q2(iN(t),t,it.deepFreezeWhenDevMode(e));return t._runHooksSync("post","create",e,n),Mr("postCreateRxDocument",n),n}function oN(t){var e={};return Object.entries(t.methods).forEach(([n,r])=>{e[n]=r}),e}async function gd(t,e){var n=Ws(t.input.metaInstance.schema,{isCheckpoint:"1",itemId:e}),r=await t.input.metaInstance.findDocumentsById([n],!1),i=r[0];if(t.lastCheckpointDoc[e]=i,i)return i.checkpointData}async function wd(t,e,n){t.checkpointQueue=t.checkpointQueue.then(async()=>{var r=t.lastCheckpointDoc[e];if(n&&!t.events.canceled.getValue()&&(!r||JSON.stringify(r.checkpointData)!==JSON.stringify(n))){var i={id:"",isCheckpoint:"1",itemId:e,_deleted:!1,_attachments:{},checkpointData:n,_meta:Ks(),_rev:Rn()};for(i.id=Ws(t.input.metaInstance.schema,i);!t.events.canceled.getValue();){if(r&&(i.checkpointData=Ml([r.checkpointData,i.checkpointData])),i._meta.lwt=Ft(),i._rev=Ui(await t.checkpointKey,r),t.events.canceled.getValue())return;var s=await t.input.metaInstance.bulkWrite([{previous:r,document:i}],"replication-set-checkpoint"),o=s.success[0];if(o){t.lastCheckpointDoc[e]=o;return}else{var a=s.error[0];if(a.status!==409)throw a;r=ye(a.documentInDb),i._rev=Ui(await t.checkpointKey,r)}}}}),await t.checkpointQueue}async function aN(t){var e=await t.hashFunction([t.identifier,t.forkInstance.databaseName,t.forkInstance.collectionName].join("||"));return"rx_storage_replication_"+e}function sb(t,e,n,r,i){var s=Object.assign({},r,{_attachments:e&&r._attachments?r._attachments:{},_meta:n?r._meta:{lwt:Ft()},_rev:n?r._rev:Rn()});return s._rev||(s._rev=Ui(t,i)),s}function cs(t,e,n){var r=$e(t);return e||delete r._attachments,n||(delete r._meta,delete r._rev),r}function Uy(t,e){return t.hasAttachments?e.map(n=>{var r=Pn(n.document);return r.docData=gs(r.docData),{document:r,previous:n.previous}}):e}function zy(t){for(;;)if(t.underlyingPersistentStorage)t=t.underlyingPersistentStorage;else return t}var Rf="RxReplicationProtocolMetaData";function Vy(t,e){var n=sR(t),r={title:Rf,primaryKey:{key:"id",fields:["itemId","isCheckpoint"],separator:"|"},type:"object",version:t.version,additionalProperties:!1,properties:{id:{type:"string",minLength:1,maxLength:n+2},isCheckpoint:{type:"string",enum:["0","1"],minLength:1,maxLength:1},itemId:{type:"string",maxLength:n>4?n:4},checkpointData:{type:"object",additionalProperties:!0},docData:{type:"object",properties:t.properties},isResolvedConflict:{type:"string"}},keyCompression:t.keyCompression,required:["id","isCheckpoint","itemId"]};e&&(r.encrypted=["docData"]);var i=bh(r);return i}function dO(t,e){return t.input.metaInstance.findDocumentsById(e.map(n=>{var r=Ws(t.input.metaInstance.schema,{itemId:n,isCheckpoint:"0"});return r}),!0).then(n=>{var r={};return Object.values(n).forEach(i=>{r[i.itemId]={docData:i.docData,metaDocument:i}}),r})}async function _d(t,e,n,r){var i=e[t.primaryPath],s=n?Lg(n):{id:"",isCheckpoint:"0",itemId:i,docData:e,_attachments:{},_deleted:!1,_rev:Rn(),_meta:{lwt:0}};s.docData=e,r&&(s.isResolvedConflict=r),s._meta.lwt=Ft(),s.id=Ws(t.input.metaInstance.schema,s),s._rev=Ui(await t.checkpointKey,n);var o={previous:n,document:s};return o}async function uN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.downstream){var e=await gd(t,"down");e||await wd(t,"down",t.input.initialCheckpoint.downstream)}var n=await t.input.hashFunction(t.input.identifier),r=t.input.replicationHandler,i=0,s=[];function o(I){t.stats.down.addNewTask=t.stats.down.addNewTask+1;var E={time:i++,task:I};s.push(E),t.streamQueue.down=t.streamQueue.down.then(()=>{for(var F=[];s.length>0;){t.events.active.down.next(!0);var S=ye(s.shift());if(!(S.time{t.events.active.down.next(!1),!t.firstSyncDone.down.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.down.next(!0)})}if(o("RESYNC"),!t.events.canceled.getValue()){var a=r.masterChangeStream$.pipe(Nr(async I=>(await Cs(t.events.active.up.pipe(lt(E=>!E))),I))).subscribe(I=>{t.stats.down.masterChangeStreamEmit=t.stats.down.masterChangeStreamEmit+1,o(I)});Cs(t.events.canceled.pipe(lt(I=>!!I))).then(()=>a.unsubscribe())}var l=-1;async function f(){if(t.stats.down.downstreamResyncOnce=t.stats.down.downstreamResyncOnce+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"down"));for(var I=await t.checkpointQueue,E=[];!t.events.canceled.getValue();){l=i++;var F=await r.masterChangesSince(I,t.input.pullBatchSize);if(F.documents.length===0||(I=Ml([I,F.checkpoint]),E.push(w(F.documents,I)),F.documents.length{if(S==="RESYNC")throw new Error("SNH");Ua(E,S.documents),F=Ml([F,S.checkpoint])}),w(E,ye(F))}var m=un,y={docs:{}};function w(I,E){var F=t.primaryPath;return t.stats.down.persistFromMaster=t.stats.down.persistFromMaster+1,I.forEach(S=>{var _=S[F];y.docs[_]=S}),y.checkpoint=E,m=m.then(()=>{var S=y.docs;y.docs={};var _=y.checkpoint,k=Object.keys(S);if(t.events.canceled.getValue()||k.length===0)return un;var z=[],W={},Q={},H=[];return Promise.all([t.input.forkInstance.findDocumentsById(k,!0),dO(t,k)]).then(([X,U])=>{var ee=new Map;return X.forEach(ce=>ee.set(ce[F],ce)),Promise.all(k.map(async ce=>{var de=ee.get(ce),Pe=de?cs(de,t.hasAttachments,!1):void 0,ot=S[ce],ct=U[ce];if(ct&&de&&ct.metaDocument.isResolvedConflict===de._rev)return un;var Te=!ct||!Pe?!1:await t.input.conflictHandler({realMasterState:ct.docData,newDocumentState:Pe},"downstream-check-if-equal-0").then(Re=>Re.isEqual);if(!Te&&ct&&ct.docData._rev&&de&&de._meta[t.input.identifier]&&za(de._rev).height===de._meta[t.input.identifier]&&(Te=!0),de&&ct&&Te===!1||de&&!ct)return un;var Dt=Pe?await t.input.conflictHandler({realMasterState:ot,newDocumentState:Pe},"downstream-check-if-equal-1").then(Re=>Re.isEqual):!1;if(Pe&&Dt)return(!ct||Te===!1)&&H.push(await _d(t,Pe,ct?ct.metaDocument:void 0)),un;var G=Object.assign({},ot,de?{_meta:$e(de._meta),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{},_rev:Rn()}:{_meta:{lwt:Ft()},_rev:Rn(),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{}});if(ot._rev){var oe=de?za(de._rev).height+1:1;G._meta[t.input.identifier]=oe,t.input.keepMeta&&(G._rev=ot._rev)}t.input.keepMeta&&ot._meta&&(G._meta=ot._meta);var ue={previous:de,document:G};ue.document._rev=ue.document._rev?ue.document._rev:Ui(n,ue.previous),z.push(ue),W[ce]=ue,Q[ce]=await _d(t,ot,ct?ct.metaDocument:void 0)}))}).then(async()=>{if(z.length>0)return t.input.forkInstance.bulkWrite(z,await t.downstreamBulkWriteFlag).then(X=>{X.success.forEach(U=>{var ee=U[F];t.events.processed.down.next(W[ee]),H.push(Q[ee])}),X.error.forEach(U=>{U.status!==409&&t.events.error.next(le("RC_PULL",{writeError:U}))})})}).then(()=>{if(H.length>0)return t.input.metaInstance.bulkWrite(Uy(t,H),"replication-down-write-meta").then(X=>{X.error.forEach(U=>{t.events.error.next(le("RC_PULL",{id:U.documentId,writeError:U}))})})}).then(()=>{wd(t,"down",_)})}).catch(S=>t.events.error.next(S)),m}}var bd=function(t,e){var n=gs(t.newDocumentState),r=gs(t.realMasterState);return Va(n,r)?Promise.resolve({isEqual:!0}):Promise.resolve({isEqual:!1,documentData:t.realMasterState})};async function lN(t,e,n){var r=t.input.conflictHandler,i=await r(e,"replication-resolve-conflict");if(!i.isEqual){var s=Object.assign({},i.documentData,{_meta:$e(n._meta),_rev:Rn(),_attachments:$e(n._attachments)});return s._meta.lwt=Ft(),s._rev=Ui(await t.checkpointKey,n),{resolvedDoc:s,output:i}}}async function Ky(t,e,n,r){if(!n._attachments||r&&!r._attachments)throw new Error("_attachments missing");var i=n[t],s=new Set(r&&r._attachments?Object.keys(r._attachments):[]);return await Promise.all(Object.entries(n._attachments).map(async([o,a])=>{if((!s.has(o)||r&&ye(r._attachments)[o].digest!==a.digest)&&!a.data){var l=await e.getAttachmentData(i,o,a.digest);a.data=l}})),n}async function cN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.upstream){var e=await gd(t,"up");e||await wd(t,"up",t.input.initialCheckpoint.upstream)}var n=t.input.replicationHandler;t.streamQueue.up=t.streamQueue.up.then(()=>f().then(()=>{h()}));var r=0,i=-1,s=[],o=Gn,a={docs:{}},l=t.input.forkInstance.changeStream().subscribe(async y=>{if(y.context!==await t.downstreamBulkWriteFlag)return t.stats.up.forkChangeStreamEmit=t.stats.up.forkChangeStreamEmit+1,s.push({task:y,time:r++}),t.events.active.up.getValue()||t.events.active.up.next(!0),t.input.waitBeforePersist?t.input.waitBeforePersist().then(()=>h()):h()});Cs(t.events.canceled.pipe(lt(y=>!!y))).then(()=>l.unsubscribe());async function f(){if(t.stats.up.upstreamInitialSync=t.stats.up.upstreamInitialSync+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"up"));for(var y=await t.checkpointQueue,w=new Set,I=async function(){i=r++,w.size>3&&await Promise.race(Array.from(w));var S=await sO(t.input.forkInstance,t.input.pushBatchSize,y);if(S.documents.length===0)return 1;y=Ml([y,S.checkpoint]);var _=m(S.documents,ye(y));w.add(_),_.catch().then(()=>w.delete(_))};!t.events.canceled.getValue()&&!await I(););var E=await Promise.all(w),F=E.find(S=>!!S);F?await f():!t.firstSyncDone.up.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.up.next(!0)}}function h(){if(t.events.canceled.getValue()||s.length===0){t.events.active.up.next(!1);return}t.stats.up.processTasks=t.stats.up.processTasks+1,t.events.active.up.next(!0),t.streamQueue.up=t.streamQueue.up.then(()=>{for(var y=[],w={};s.length>0;){var I=ye(s.shift());I.timeF.documentData)),w=Ml([w,I.task.checkpoint]))}var E=y.length===0?Gn:m(y,w);return E.then(()=>{s.length===0?t.events.active.up.next(!1):h()})})}function m(y,w){return t.stats.up.persistToMaster=t.stats.up.persistToMaster+1,y.forEach(I=>{var E=I[t.primaryPath];a.docs[E]=I}),a.checkpoint=w,o=o.then(async()=>{if(t.events.canceled.getValue())return!1;var I=a.docs;a.docs={};var E=a.checkpoint,F=Object.keys(I);if(F.length===0)return!1;var S=await dO(t,F),_={},k=[],z={},W={};if(await Promise.all(F.map(async Te=>{var Dt=I[Te];W[Te]=Dt;var G=cs(Dt,t.hasAttachments,!!t.input.keepMeta),oe=S[Te];oe&&oe.metaDocument.isResolvedConflict!==Dt._rev&&(await t.input.conflictHandler({realMasterState:oe.docData,newDocumentState:G},"upstream-check-if-equal")).isEqual||oe&&oe.docData._rev&&za(Dt._rev).height===Dt._meta[t.input.identifier]||(k.push(Te),_[Te]={assumedMasterState:oe?oe.docData:void 0,newDocumentState:G},z[Te]=await _d(t,G,oe?oe.metaDocument:void 0))})),k.length===0)return!1;var Q=Object.values(_),H=new Set,X={},U=xP(Q,t.input.pushBatchSize);await Promise.all(U.map(async Te=>{t.hasAttachments&&await Promise.all(Te.map(async G=>{G.newDocumentState=await Ky(t.primaryPath,t.input.forkInstance,Pn(G.newDocumentState),G.assumedMasterState)}));var Dt=await n.masterWrite(Te);Dt.forEach(G=>{var oe=G[t.primaryPath];H.add(oe),X[oe]=G})}));var ee=[];if(k.forEach(Te=>{H.has(Te)||(t.events.processed.up.next(_[Te]),ee.push(z[Te]))}),t.events.canceled.getValue())return!1;ee.length>0&&await t.input.metaInstance.bulkWrite(Uy(t,ee),"replication-up-write-meta");var ce=!1;if(H.size>0){t.stats.up.persistToMasterHadConflicts=t.stats.up.persistToMasterHadConflicts+1;var de=[],Pe={};if(await Promise.all(Object.entries(X).map(([Te,Dt])=>{var G=_[Te],oe={newDocumentState:G.newDocumentState,assumedMasterState:G.assumedMasterState,realMasterState:Dt};return lN(t,oe,W[Te]).then(async ue=>{if(ue){t.events.resolvedConflicts.next({input:oe,output:ue.output}),de.push({previous:W[Te],document:ue.resolvedDoc});var Re=S[Te];Pe[Te]=await _d(t,ye(Dt),Re?Re.metaDocument:void 0,ue.resolvedDoc._rev)}})})),de.length>0){ce=!0,t.stats.up.persistToMasterConflictWrites=t.stats.up.persistToMasterConflictWrites+1;var ot=await t.input.forkInstance.bulkWrite(de,"replication-up-write-conflict"),ct=[];ot.success.forEach(Te=>{var Dt=Te[t.primaryPath];ct.push(Pe[Dt])}),ct.length>0&&await t.input.metaInstance.bulkWrite(Uy(t,ct),"replication-up-write-conflict-meta")}}return wd(t,"up",E),ce}).catch(I=>(t.events.error.next(I),!1)),o}}function hO(t){t=$e(t),t.forkInstance=zy(t.forkInstance),t.metaInstance=zy(t.metaInstance);var e=aN(t),n={primaryPath:Fn(t.forkInstance.schema.primaryKey),hasAttachments:!!t.forkInstance.schema.attachments,input:t,checkpointKey:e,downstreamBulkWriteFlag:e.then(r=>"replication-downstream-"+r),events:{canceled:new Gr(!1),active:{down:new Gr(!0),up:new Gr(!0)},processed:{down:new Kt,up:new Kt},resolvedConflicts:new Kt,error:new Kt},stats:{down:{addNewTask:0,downstreamProcessChanges:0,downstreamResyncOnce:0,masterChangeStreamEmit:0,persistFromMaster:0},up:{forkChangeStreamEmit:0,persistToMaster:0,persistToMasterConflictWrites:0,persistToMasterHadConflicts:0,processTasks:0,upstreamInitialSync:0}},firstSyncDone:{down:new Gr(!1),up:new Gr(!1)},streamQueue:{down:un,up:un},checkpointQueue:un,lastCheckpointDoc:{}};return uN(n),cN(n),n}function Tf(t){return Cs(AE([t.firstSyncDone.down.pipe(lt(e=>!!e)),t.firstSyncDone.up.pipe(lt(e=>!!e))])).then(()=>{})}function ob(t){return Promise.all([t.streamQueue.up,t.streamQueue.down,t.checkpointQueue])}function fN(t,e,n,r=!1){t=zy(t);var i=!!t.schema.attachments,s=Fn(t.schema.primaryKey),o={masterChangeStream$:t.changeStream().pipe(Nr(async a=>{var l={checkpoint:a.checkpoint,documents:await Promise.all(a.events.map(async f=>{var h=cs(f.documentData,i,r);return i&&(h=await Ky(s,t,Pn(h),void 0)),h}))};return l})),masterChangesSince(a,l){return sO(t,l,a).then(async f=>({checkpoint:f.documents.length>0?f.checkpoint:a,documents:await Promise.all(f.documents.map(async h=>{var m=cs(h,i,r);return i&&(m=await Ky(s,t,Pn(m),void 0)),m}))}))},async masterWrite(a){var l={};a.forEach(E=>{var F=E.newDocumentState[s];l[F]=E});var f=Object.keys(l),h=await t.findDocumentsById(f,!0),m=new Map;h.forEach(E=>m.set(E[s],E));var y=[],w=[];if(await Promise.all(Object.entries(l).map(async([E,F])=>{var S=m.get(E);S?S&&!F.assumedMasterState?y.push(cs(S,i,r)):(await e({realMasterState:cs(S,i,r),newDocumentState:ye(F.assumedMasterState)},"rxStorageInstanceToReplicationHandler-masterWrite")).isEqual===!0?w.push({previous:S,document:sb(n,i,r,F.newDocumentState,S)}):y.push(cs(S,i,r)):w.push({document:sb(n,i,r,F.newDocumentState)})})),w.length>0){var I=await t.bulkWrite(w,"replication-master-write");I.error.forEach(E=>{if(E.status!==409)throw new Error("non conflict error");y.push(cs(ye(E.documentInDb),i,r))})}return y}};return o}async function pO(t){t.events.canceled.next(!0),t.events.active.up.complete(),t.events.active.down.complete(),t.events.processed.up.complete(),t.events.processed.down.complete(),t.events.resolvedConflicts.complete(),t.events.canceled.complete(),await t.checkpointQueue}var mO=["pre","post"],yO=["insert","save","remove","create"],ab=!1,vO=function(){function t(n,r,i,s,o={},a={},l={},f={},h={},m=GE,y={},w=bd){this.storageInstance={},this.timeouts=new Set,this.incrementalWriteQueue={},this._incrementalUpsertQueues=new Map,this.synced=!1,this.hooks={},this._subs=[],this._docCache={},this._queryCache=O2(),this.$={},this.checkpoint$={},this._changeEventBuffer={},this.onDestroy=[],this.destroyed=!1,this.database=n,this.name=r,this.schema=i,this.internalStorageInstance=s,this.instanceCreationOptions=o,this.migrationStrategies=a,this.methods=l,this.attachments=f,this.options=h,this.cacheReplacementPolicy=m,this.statics=y,this.conflictHandler=w,dN(this.asRxCollection)}var e=t.prototype;return e.prepare=async function(){this.storageInstance=$g(this.database,this.internalStorageInstance,this.schema.jsonSchema),this.incrementalWriteQueue=new oO(this.storageInstance,this.schema.primaryPath,(o,a)=>uO(this,o,a),o=>this._runHooks("post","save",o));var r=this.database.eventBulks$.pipe(lt(o=>o.collectionName===this.name));this.$=r.pipe(Nr(o=>o.events)),this.checkpoint$=r.pipe(Mt(o=>o.checkpoint)),this._changeEventBuffer=tN(this.asRxCollection),this._docCache=new JE(this.schema.primaryPath,this.$.pipe(lt(o=>!o.isLocal)),o=>sN(this.asRxCollection,o));var i=await this.database.storageToken,s=this.storageInstance.changeStream().subscribe(o=>{var a={id:o.id,internal:!1,collectionName:this.name,storageToken:i,events:o.events.map(l=>nO(!1,l,this)),databaseToken:this.database.token,checkpoint:o.checkpoint,context:o.context,endTime:o.endTime,startTime:o.startTime};this.database.$emit(a)});return this._subs.push(s),this._subs.push(this.storageInstance.conflictResultionTasks().subscribe(o=>{this.conflictHandler(o.input,o.context).then(a=>{this.storageInstance.resolveConflictResultionTask({id:o.id,output:a})})})),un},e.cleanup=function(r){throw pt("cleanup")},e.migrationNeeded=function(){throw pt("migration-schema")},e.getMigrationState=function(){throw pt("migration-schema")},e.startMigration=function(r=10){return this.getMigrationState().startMigration(r)},e.migratePromise=function(r=10){return this.getMigrationState().migratePromise(r)},e.insert=async function(r){var i=await this.bulkInsert([r]),s=i.error[0];yd(this,r[this.schema.primaryPath],r,s);var o=ye(i.success[0]);return o},e.bulkInsert=async function(r){if(r.length===0)return{success:[],error:[]};var i=this.schema.primaryPath,s=r.map(m=>{var y=dm(this.schema,m);return y}),o=this.hasHooks("pre","insert")?await Promise.all(s.map(m=>this._runHooks("pre","insert",m).then(()=>m))):s,a=o.map(m=>{var y={document:m};return y}),l=await this.storageInstance.bulkWrite(a,"rx-collection-bulk-insert"),f=XE(this._docCache,l.success);if(this.hasHooks("post","insert")){var h=new Map;o.forEach(m=>{h.set(m[i],m)}),await Promise.all(f.map(m=>this._runHooks("post","insert",h.get(m.primary),m)))}return{success:f,error:l.error}},e.bulkRemove=async function(r){var i=this.schema.primaryPath;if(r.length===0)return{success:[],error:[]};var s=await this.findByIds(r).exec(),o=[],a=new Map;Array.from(s.values()).forEach(y=>{var w=y.toMutableJSON(!0);o.push(w),a.set(y.primary,w)}),await Promise.all(o.map(y=>{var w=y[this.schema.primaryPath];return this._runHooks("pre","remove",y,s.get(w))}));var l=o.map(y=>{var w=$e(y);return w._deleted=!0,{previous:y,document:w}}),f=await this.storageInstance.bulkWrite(l,"rx-collection-bulk-remove"),h=f.success.map(y=>y[i]);await Promise.all(h.map(y=>this._runHooks("post","remove",a.get(y),s.get(y))));var m=h.map(y=>Mo(s,y));return{success:m,error:f.error}},e.bulkUpsert=async function(r){var i=[],s=new Map;r.forEach(f=>{var h=dm(this.schema,f),m=h[this.schema.primaryPath];if(!m)throw le("COL3",{primaryPath:this.schema.primaryPath,data:h,schema:this.schema.jsonSchema});s.set(m,h),i.push(h)});var o=await this.bulkInsert(i),a=o.success.slice(0),l=[];return await Promise.all(o.error.map(async f=>{if(f.status!==409)l.push(f);else{var h=f.documentId,m=Mo(s,h),y=ye(f.documentInDb),w=this._docCache.getCachedRxDocument(y),I=await w.incrementalModify(()=>m);a.push(I)}})),{error:l,success:a}},e.upsert=async function(r){var i=await this.bulkUpsert([r]);return yd(this.asRxCollection,r[this.schema.primaryPath],r,i.error[0]),i.success[0]},e.incrementalUpsert=function(r){var i=dm(this.schema,r),s=i[this.schema.primaryPath];if(!s)throw le("COL4",{data:r});var o=this._incrementalUpsertQueues.get(s);return o||(o=un),o=o.then(()=>pN(this,s,i)).then(a=>a.inserted?a.doc:hN(a.doc,i)),this._incrementalUpsertQueues.set(s,o),o},e.find=function(r){if(typeof r=="string")throw le("COL5",{queryObj:r});r||(r=tl());var i=na("find",r,this);return i},e.findOne=function(r){if(typeof r=="number"||Array.isArray(r))throw el("COL6",{queryObj:r});var i;if(typeof r=="string")i=na("findOne",{selector:{[this.schema.primaryPath]:r},limit:1},this);else{if(r||(r=tl()),r.limit)throw le("QU6");r=$e(r),r.limit=1,i=na("findOne",r,this)}return i},e.count=function(r){r||(r=tl());var i=na("count",r,this);return i},e.findByIds=function(r){var i={selector:{[this.schema.primaryPath]:{$in:r.slice(0)}}},s=na("findByIds",i,this);return s},e.exportJSON=function(){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.insertCRDT=function(r){throw pt("crdt")},e.addHook=function(r,i,s,o=!1){if(typeof s!="function")throw el("COL7",{key:i,when:r});if(!mO.includes(r))throw el("COL8",{key:i,when:r});if(!yO.includes(i))throw le("COL9",{key:i});if(r==="post"&&i==="create"&&o===!0)throw le("COL10",{when:r,key:i,parallel:o});var a=s.bind(this),l=o?"parallel":"series";this.hooks[i]=this.hooks[i]||{},this.hooks[i][r]=this.hooks[i][r]||{series:[],parallel:[]},this.hooks[i][r][l].push(a)},e.getHooks=function(r,i){return!this.hooks[i]||!this.hooks[i][r]?{series:[],parallel:[]}:this.hooks[i][r]},e.hasHooks=function(r,i){var s=this.getHooks(r,i);return s?s.series.length>0||s.parallel.length>0:!1},e._runHooks=function(r,i,s,o){var a=this.getHooks(r,i);if(!a)return un;var l=a.series.map(f=>()=>f(s,o));return QP(l).then(()=>Promise.all(a.parallel.map(f=>f(s,o))))},e._runHooksSync=function(r,i,s,o){var a=this.getHooks(r,i);a&&a.series.forEach(l=>l(s,o))},e.promiseWait=function(r){var i=new Promise(s=>{var o=setTimeout(()=>{this.timeouts.delete(o),s()},r);this.timeouts.add(o)});return i},e.destroy=function(){return this.destroyed?Gn:(this.destroyed=!0,Array.from(this.timeouts).forEach(r=>clearTimeout(r)),this._changeEventBuffer&&this._changeEventBuffer.destroy(),this.database.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>this.storageInstance.close()).then(()=>(this._subs.forEach(r=>r.unsubscribe()),delete this.database.collections[this.name],No("postDestroyRxCollection",this).then(()=>!0))))},e.remove=async function(){await this.destroy(),await fO(this.database.storage,this.database.internalStore,this.database.token,this.database.name,this.name,this.database.password,this.database.hashFunction)},Vs(t,[{key:"insert$",get:function(){return this.$.pipe(lt(n=>n.operation==="INSERT"))}},{key:"update$",get:function(){return this.$.pipe(lt(n=>n.operation==="UPDATE"))}},{key:"remove$",get:function(){return this.$.pipe(lt(n=>n.operation==="DELETE"))}},{key:"asRxCollection",get:function(){return this}}]),t}();function dN(t){if(!ab){ab=!0;var e=Object.getPrototypeOf(t);yO.forEach(n=>{mO.map(r=>{var i=r+ZI(n);e[i]=function(s,o){return this.addHook(r,n,s,o)}})})}}function hN(t,e){return t.incrementalModify(n=>e)}function pN(t,e,n){var r=t._docCache.getLatestDocumentDataIfExists(e);return r?Promise.resolve({doc:t._docCache.getCachedRxDocument(r),inserted:!1}):t.findOne(e).exec().then(i=>i?{doc:i,inserted:!1}:t.insert(n).then(s=>({doc:s,inserted:!0})))}function mN({database:t,name:e,schema:n,instanceCreationOptions:r={},migrationStrategies:i={},autoMigrate:s=!0,statics:o={},methods:a={},attachments:l={},options:f={},localDocuments:h=!1,cacheReplacementPolicy:m=GE,conflictHandler:y=bd}){var w={databaseInstanceToken:t.token,databaseName:t.name,collectionName:e,schema:n.jsonSchema,options:r,multiInstance:t.multiInstance,password:t.password,devMode:it.isDevMode()};return Mr("preCreateRxStorageInstance",w),Z2(t,w).then(I=>{var E=new vO(t,e,n,I,r,i,a,l,f,m,o,y);return E.prepare().then(()=>{Object.entries(o).forEach(([S,_])=>{Object.defineProperty(E,S,{get:()=>_.bind(E)})});var F=un;return s&&E.schema.version!==0&&(F=E.migratePromise()),F}).then(()=>(Mr("createRxCollection",{collection:E,creator:{name:e,schema:n,storageInstance:I,instanceCreationOptions:r,migrationStrategies:i,methods:a,attachments:l,options:f,cacheReplacementPolicy:m,localDocuments:h,statics:o}}),E)).catch(F=>I.close().then(()=>Promise.reject(F)))})}var gO=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this._parallels=e||1,this._qC=0,this._iC=new Set,this._lHN=0,this._hPM=new Map,this._pHM=new Map};gO.prototype={isIdle:function(){return this._qC{this._to=!1,vN(this)},0))}clear(){this.map.clear()}}function vN(t){const e=wO()-t.ttl,n=t.map[Symbol.iterator]();for(;;){const r=n.next().value;if(!r)return;const i=r[0];if(r[1]E.events)),this.storageToken=Gn,this.storageTokenDocument=Gn,this.emittedEventBulkIds=new Vg(60*1e3),this.name=n,this.token=r,this.storage=i,this.instanceCreationOptions=s,this.password=o,this.multiInstance=a,this.eventReduce=l,this.options=f,this.internalStore=h,this.hashFunction=m,this.cleanupPolicy=y,this.allowSlowCount=w,this.reactivity=I,this.name!=="pseudoInstance"&&(this.internalStore=$g(this.asRxDatabase,h,Ug),this.storageTokenDocument=J2(this.asRxDatabase).catch(E=>this.startupErrors.push(E)),this.storageToken=this.storageTokenDocument.then(E=>E.data.token).catch(E=>this.startupErrors.push(E)))}var e=t.prototype;return e.getReactivityFactory=function(){if(!this.reactivity)throw le("DB14",{database:this.name});return this.reactivity},e.$emit=function(r){this.emittedEventBulkIds.has(r.id)||(this.emittedEventBulkIds.add(r.id),this.eventBulks$.next(r))},e.removeCollectionDoc=async function(r,i){var s=await Xl(this.internalStore,Ha(jy(r,i),ko));if(!s)throw le("SNH",{name:r,schema:i});var o=Lg(s);o._deleted=!0,await this.internalStore.bulkWrite([{document:o,previous:s}],"rx-database-remove-collection")},e.addCollections=async function(r){var i={},s={},o=[],a={};await Promise.all(Object.entries(r).map(async([h,m])=>{var y=h,w=m.schema;i[y]=w;var I=dR(w,this.hashFunction);if(s[y]=I,this.collections[h])throw le("DB3",{name:h});var E=jy(h,w),F={id:Ha(E,ko),key:E,context:ko,data:{name:y,schemaHash:await I.hash,schema:I.jsonSchema,version:I.version,connectedStorages:[]},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}};o.push({document:F});var S=Object.assign({},m,{name:y,schema:I,database:this}),_=$e(m);_.database=this,_.name=h,Mr("preCreateRxCollection",_),S.conflictHandler=_.conflictHandler,a[y]=S}));var l=await this.internalStore.bulkWrite(o,"rx-database-add-collection");await bN(this),await Promise.all(l.error.map(async h=>{if(h.status!==409)throw le("DB12",{database:this.name,writeError:h});var m=ye(h.documentInDb),y=m.data.name,w=s[y];if(m.data.schemaHash!==await w.hash)throw le("DB6",{database:this.name,collection:y,previousSchemaHash:m.data.schemaHash,schemaHash:await w.hash,previousSchema:m.data.schema,schema:ye(i[y])})}));var f={};return await Promise.all(Object.keys(r).map(async h=>{var m=a[h],y=await mN(m);f[h]=y,this.collections[h]=y,this[h]||Object.defineProperty(this,h,{get:()=>this.collections[h]})})),f},e.lockedRun=function(r){return this.idleQueue.wrapCall(r)},e.requestIdlePromise=function(){return this.idleQueue.requestIdlePromise()},e.exportJSON=function(r){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.backup=function(r){throw pt("backup")},e.leaderElector=function(){throw pt("leader-election")},e.isLeader=function(){throw pt("leader-election")},e.waitForLeadership=function(){throw pt("leader-election")},e.migrationStates=function(){throw pt("migration-schema")},e.destroy=async function(){return this.destroyed||(this.destroyed=!0,await No("preDestroyRxDatabase",this),this.eventBulks$.complete(),this._subs.map(r=>r.unsubscribe()),this.name==="pseudoInstance")?Gn:this.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>Promise.all(Object.keys(this.collections).map(r=>this.collections[r]).map(r=>r.destroy()))).then(()=>this.internalStore.close()).then(()=>Sd.delete(this.storage.name+"|"+this.name)).then(()=>!0)},e.remove=function(){return this.destroy().then(()=>bO(this.name,this.storage,this.password))},Vs(t,[{key:"$",get:function(){return this.observable$}},{key:"asRxDatabase",get:function(){return this}}]),t}();function gN(t,e){var n=e.name+"|"+t;if(Sd.has(n))throw le("DB8",{name:t,storage:e.name,link:"https://rxdb.info/rx-database.html#ignoreduplicate"})}async function _O(t,e,n,r,i,s){var o=await e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:z2,schema:Ug,options:r,multiInstance:i,password:s,devMode:it.isDevMode()});return o}function wN({storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i=!0,eventReduce:s=!0,ignoreDuplicate:o=!1,options:a={},cleanupPolicy:l,allowSlowCount:f=!1,localDocuments:h=!1,hashFunction:m=KP,reactivity:y}){Mr("preCreateRxDatabase",{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}),o||gN(n,t),Sd.add(t.name+"|"+n);var w=iu(10);return _O(w,t,n,e,i,r).catch(I=>{throw Sd.delete(t.name+"|"+n),I}).then(I=>{var E=new Kg(n,w,t,e,r,i,s,a,I,m,l,f,y);return No("createRxDatabase",{database:E,creator:{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}}).then(()=>E)})}async function bO(t,e,n){var r=iu(10),i=await _O(r,e,t,{},!1,n),s=await zg(i),o=new Set;s.forEach(l=>o.add(l.data.name));var a=Array.from(o);return await Promise.all(a.map(l=>fO(e,i,r,t,l,n))),await No("postRemoveRxDatabase",{databaseName:t,storage:e}),await i.remove(),a}function _N(t){return t instanceof Kg}async function SO(t){var e=await t.storageTokenDocument;return e.data.instanceToken===t.token}async function bN(t){if(await t.storageToken,t.startupErrors[0])throw t.startupErrors[0]}var SN={RxSchema:aE.prototype,RxDocument:kh,RxQuery:ZE.prototype,RxCollection:vO.prototype,RxDatabase:Kg.prototype},pm=new Set,ub=new Set;function gi(t){if(Mr("preAddRxPlugin",{plugin:t,plugins:pm}),!pm.has(t)){{if(ub.has(t.name))throw le("PL3",{name:t.name,plugin:t});pm.add(t),ub.add(t.name)}if(!t.rxdb)throw el("PL1",{plugin:t});t.init&&t.init(),t.prototypes&&Object.entries(t.prototypes).forEach(([e,n])=>n(SN[e])),t.overwritable&&Object.assign(it,t.overwritable),t.hooks&&Object.entries(t.hooks).forEach(([e,n])=>{n.after&&xl[e].push(n.after),n.before&&xl[e].unshift(n.before)})}}function IN(t){return t&&typeof t.then=="function"}Promise.resolve(!1);var EN=Promise.resolve(!0),Mi=Promise.resolve();function mo(t,e){return t||(t=0),new Promise(function(n){return setTimeout(function(){return n(e)},t)})}function ON(t,e){return Math.floor(Math.random()*(e-t+1)+t)}function Zl(){return Math.random().toString(36).substring(2)}var mm=0;function ec(){var t=Date.now()*1e3;return t<=mm&&(t=mm+1),mm=t,t}function kN(){return typeof navigator<"u"&&typeof navigator.locks<"u"&&typeof navigator.locks.request=="function"}var DN=ec,xN="native";function AN(t){var e={time:ec(),messagesCallback:null,bc:new BroadcastChannel(t),subFns:[]};return e.bc.onmessage=function(n){e.messagesCallback&&e.messagesCallback(n.data)},e}function CN(t){t.bc.close(),t.subFns=[]}function PN(t,e){try{return t.bc.postMessage(e,!1),Mi}catch(n){return Promise.reject(n)}}function RN(t,e){t.messagesCallback=e}function TN(){if(typeof globalThis<"u"&&globalThis.Deno&&globalThis.Deno.args)return!0;if((typeof window<"u"||typeof self<"u")&&typeof BroadcastChannel=="function"){if(BroadcastChannel._pubkey)throw new Error("BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill");return!0}else return!1}function MN(){return 150}var NN={create:AN,close:CN,onMessage:RN,postMessage:PN,canBeUsed:TN,type:xN,averageResponseTime:MN,microSeconds:DN};function Wg(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=JSON.parse(JSON.stringify(t));return typeof e.webWorkerSupport>"u"&&(e.webWorkerSupport=!0),e.idb||(e.idb={}),e.idb.ttl||(e.idb.ttl=1e3*45),e.idb.fallbackInterval||(e.idb.fallbackInterval=150),t.idb&&typeof t.idb.onclose=="function"&&(e.idb.onclose=t.idb.onclose),e.localstorage||(e.localstorage={}),e.localstorage.removeTimeout||(e.localstorage.removeTimeout=1e3*60),t.methods&&(e.methods=t.methods),e.node||(e.node={}),e.node.ttl||(e.node.ttl=1e3*60*2),e.node.maxParallelWrites||(e.node.maxParallelWrites=2048),typeof e.node.useFastPath>"u"&&(e.node.useFastPath=!0),e}var BN=ec,FN="pubkey.broadcast-channel-0-",qi="messages",Dh={durability:"relaxed"},LN="idb";function IO(){if(typeof indexedDB<"u")return indexedDB;if(typeof window<"u"){if(typeof window.mozIndexedDB<"u")return window.mozIndexedDB;if(typeof window.webkitIndexedDB<"u")return window.webkitIndexedDB;if(typeof window.msIndexedDB<"u")return window.msIndexedDB}return!1}function qg(t){t.commit&&t.commit()}function $N(t){var e=IO(),n=FN+t,r=e.open(n);return r.onupgradeneeded=function(i){var s=i.target.result;s.createObjectStore(qi,{keyPath:"id",autoIncrement:!0})},new Promise(function(i,s){r.onerror=function(o){return s(o)},r.onsuccess=function(){i(r.result)}})}function jN(t,e,n){var r=Date.now(),i={uuid:e,time:r,data:n},s=t.transaction([qi],"readwrite",Dh);return new Promise(function(o,a){s.oncomplete=function(){return o()},s.onerror=function(f){return a(f)};var l=s.objectStore(qi);l.add(i),qg(s)})}function UN(t,e){var n=t.transaction(qi,"readonly",Dh),r=n.objectStore(qi),i=[],s=IDBKeyRange.bound(e+1,1/0);if(r.getAll){var o=r.getAll(s);return new Promise(function(l,f){o.onerror=function(h){return f(h)},o.onsuccess=function(h){l(h.target.result)}})}function a(){try{return s=IDBKeyRange.bound(e+1,1/0),r.openCursor(s)}catch{return r.openCursor()}}return new Promise(function(l,f){var h=a();h.onerror=function(m){return f(m)},h.onsuccess=function(m){var y=m.target.result;y?y.value.idt.lastCursorId&&(t.lastCursorId=r.id),r}).filter(function(r){return qN(r,t)}).sort(function(r,i){return r.time-i.time});return n.forEach(function(r){t.messagesCallback&&(t.eMIs.add(r.id),t.messagesCallback(r.data))}),Mi})}function HN(t){t.closed=!0,t.db.close()}function QN(t,e){return t.writeBlockPromise=t.writeBlockPromise.then(function(){return jN(t.db,t.uuid,e)}).then(function(){ON(0,10)===0&&KN(t)}),t.writeBlockPromise}function YN(t,e,n){t.messagesCallbackTime=n,t.messagesCallback=e,OO(t)}function GN(){return!!IO()}function JN(t){return t.idb.fallbackInterval*2}var XN={create:WN,close:HN,onMessage:YN,postMessage:QN,canBeUsed:GN,type:LN,averageResponseTime:JN,microSeconds:BN},ZN=ec,eB="pubkey.broadcastChannel-",tB="localstorage";function kO(){var t;if(typeof window>"u")return null;try{t=window.localStorage,t=window["ie8-eventlistener/storage"]||window.localStorage}catch{}return t}function DO(t){return eB+t}function nB(t,e){return new Promise(function(n){mo().then(function(){var r=DO(t.channelName),i={token:Zl(),time:Date.now(),data:e,uuid:t.uuid},s=JSON.stringify(i);kO().setItem(r,s);var o=document.createEvent("Event");o.initEvent("storage",!0,!0),o.key=r,o.newValue=s,window.dispatchEvent(o),n()})})}function rB(t,e){var n=DO(t),r=function(s){s.key===n&&e(JSON.parse(s.newValue))};return window.addEventListener("storage",r),r}function iB(t){window.removeEventListener("storage",t)}function sB(t,e){if(e=Wg(e),!xO())throw new Error("BroadcastChannel: localstorage cannot be used");var n=Zl(),r=new Vg(e.localstorage.removeTimeout),i={channelName:t,uuid:n,eMIs:r};return i.listener=rB(t,function(s){i.messagesCallback&&s.uuid!==n&&(!s.token||r.has(s.token)||s.data.time&&s.data.time0||t._addEL.internal.length>0}function db(t,e,n){t._addEL[e].push(n),bB(t)}function hb(t,e,n){t._addEL[e]=t._addEL[e].filter(function(r){return r!==n}),SB(t)}function bB(t){if(!t._iL&&RO(t)){var e=function(i){t._addEL[i.type].forEach(function(s){i.time>=s.time&&s.fn(i.data)})},n=t.method.microSeconds();t._prepP?t._prepP.then(function(){t._iL=!0,t.method.onMessage(t._state,e,n)}):(t._iL=!0,t.method.onMessage(t._state,e,n))}}function SB(t){if(t._iL&&!RO(t)){t._iL=!1;var e=t.method.microSeconds();t.method.onMessage(t._state,null,e)}}function IB(t){if(typeof WorkerGlobalScope=="function"&&self instanceof WorkerGlobalScope){var e=self.close.bind(self);self.close=function(){return t(),e()}}else{if(typeof window.addEventListener!="function")return;window.addEventListener("beforeunload",function(){t()},!0),window.addEventListener("unload",function(){t()},!0)}}function EB(t){process.on("exit",function(){return t()}),process.on("beforeExit",function(){return t().then(function(){return process.exit()})}),process.on("SIGINT",function(){return t().then(function(){return process.exit()})}),process.on("uncaughtException",function(e){return t().then(function(){console.trace(e),process.exit(101)})})}var OB=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]",kB=OB?EB:IB,nl=new Set,pb=!1;function DB(){pb||(pb=!0,kB(AB))}function xB(t){if(DB(),typeof t!="function")throw new Error("Listener is no function");nl.add(t);var e={remove:function(){return nl.delete(t)},run:function(){return nl.delete(t),t()}};return e}function AB(){var t=[];return nl.forEach(function(e){t.push(e()),nl.delete(e)}),Promise.all(t)}function Do(t,e){var n={context:"leader",action:e,token:t.token};return t.broadcastChannel.postInternal(n)}function TO(t){t.isLeader=!0,t._hasLeader=!0;var e=xB(function(){return t.die()});t._unl.push(e);var n=function(i){i.context==="leader"&&i.action==="apply"&&Do(t,"tell"),i.context==="leader"&&i.action==="tell"&&!t._dpLC&&(t._dpLC=!0,t._dpL(),Do(t,"tell"))};return t.broadcastChannel.addEventListener("internal",n),t._lstns.push(n),Do(t,"tell")}var MO=function(e,n){var r=this;this.broadcastChannel=e,e._befC.push(function(){return r.die()}),this._options=n,this.isLeader=!1,this.isDead=!1,this.token=Zl(),this._lstns=[],this._unl=[],this._dpL=function(){},this._dpLC=!1,this._wKMC={},this.lN="pubkey-bc||"+e.method.type+"||"+e.name};MO.prototype={hasLeader:function(){var e=this;return navigator.locks.query().then(function(n){var r=n.held?n.held.filter(function(i){return i.name===e.lN}):[];return!!(r&&r.length>0)})},awaitLeadership:function(){var e=this;if(!this._wLMP){this._wKMC.c=new AbortController;var n=new Promise(function(r,i){e._wKMC.res=r,e._wKMC.rej=i});this._wLMP=new Promise(function(r){navigator.locks.request(e.lN,{signal:e._wKMC.c.signal},function(){return e._wKMC.c=void 0,TO(e),r(),n}).catch(function(){})})}return this._wLMP},set onduplicate(t){},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this.isLeader=!1),this.isDead=!0,this._wKMC.res&&this._wKMC.res(),this._wKMC.c&&this._wKMC.c.abort("LeaderElectionWebLock.die() called"),Do(this,"death")}};var NO=function(e,n){var r=this;this.broadcastChannel=e,this._options=n,this.isLeader=!1,this._hasLeader=!1,this.isDead=!1,this.token=Zl(),this._aplQ=Mi,this._aplQC=0,this._unl=[],this._lstns=[],this._dpL=function(){},this._dpLC=!1;var i=function(o){o.context==="leader"&&(o.action==="death"&&(r._hasLeader=!1),o.action==="tell"&&(r._hasLeader=!0))};this.broadcastChannel.addEventListener("internal",i),this._lstns.push(i)};NO.prototype={hasLeader:function(){return Promise.resolve(this._hasLeader)},applyOnce:function(e){var n=this;if(this.isLeader)return mo(0,!0);if(this.isDead)return mo(0,!1);if(this._aplQC>1)return this._aplQ;var r=function(){if(n.isLeader)return EN;var s=!1,o,a=new Promise(function(h){o=function(){s=!0,h()}}),l=function(m){m.context==="leader"&&m.token!=n.token&&(m.action==="apply"&&m.token>n.token&&o(),m.action==="tell"&&(o(),n._hasLeader=!0))};n.broadcastChannel.addEventListener("internal",l);var f=e?n._options.responseTime*4:n._options.responseTime;return Do(n,"apply").then(function(){return Promise.race([mo(f),a.then(function(){return Promise.reject(new Error)})])}).then(function(){return Do(n,"apply")}).then(function(){return Promise.race([mo(f),a.then(function(){return Promise.reject(new Error)})])}).catch(function(){}).then(function(){return n.broadcastChannel.removeEventListener("internal",l),s?!1:TO(n).then(function(){return!0})})};return this._aplQC=this._aplQC+1,this._aplQ=this._aplQ.then(function(){return r()}).then(function(){n._aplQC=n._aplQC-1}),this._aplQ.then(function(){return n.isLeader})},awaitLeadership:function(){return this._aLP||(this._aLP=CB(this)),this._aLP},set onduplicate(t){this._dpL=t},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this._hasLeader=!1,this.isLeader=!1),this.isDead=!0,Do(this,"death")}};function CB(t){return t.isLeader?Mi:new Promise(function(e){var n=!1;function r(){n||(n=!0,t.broadcastChannel.removeEventListener("internal",s),e(!0))}t.applyOnce().then(function(){t.isLeader&&r()});var i=function o(){return mo(t._options.fallbackInterval).then(function(){if(!(t.isDead||n))if(t.isLeader)r();else return t.applyOnce(!0).then(function(){t.isLeader?r():o()})})};i();var s=function(a){a.context==="leader"&&a.action==="death"&&(t._hasLeader=!1,t.applyOnce().then(function(){t.isLeader&&r()}))};t.broadcastChannel.addEventListener("internal",s),t._lstns.push(s)})}function PB(t,e){return t||(t={}),t=JSON.parse(JSON.stringify(t)),t.fallbackInterval||(t.fallbackInterval=3e3),t.responseTime||(t.responseTime=e.method.averageResponseTime(e.options)),t}function RB(t,e){if(t._leaderElector)throw new Error("BroadcastChannel already has a leader-elector");e=PB(e,t);var n=kN()?new MO(t,e):new NO(t,e);return t._befC.push(function(){return n.die()}),t._leaderElector=n,n}var Id=new Map;function TB(t,e,n,r){var i=Id.get(e);return i||(i={bc:new xh(["RxDB:",t,n].join("|")),refs:new Set},Id.set(e,i)),i.refs.add(r),i.bc}function mb(t,e){var n=Id.get(t);if(n&&(n.refs.delete(e),n.refs.size===0))return Id.delete(t),n.bc.close()}function MB(t,e,n,r){if(e.multiInstance){var i=r||TB(t,e.databaseInstanceToken,n.databaseName,n),s=new Kt,o=y=>{y.storageName===t&&y.databaseName===e.databaseName&&y.collectionName===e.collectionName&&y.version===e.schema.version&&s.next(y.eventBulk)};i.addEventListener("message",o);var a=n.changeStream(),l=!1,f=a.subscribe(y=>{l||i.postMessage({storageName:t,databaseName:e.databaseName,collectionName:e.collectionName,version:e.schema.version,eventBulk:y})});n.changeStream=function(){return s.asObservable().pipe(sT(a))};var h=n.close.bind(n);n.close=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await mb(e.databaseInstanceToken,n),h()};var m=n.remove.bind(n);n.remove=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await mb(e.databaseInstanceToken,n),m()}}}function NB(t,e){var n=e.map(r=>{var i=zi(t,r);if(!i)throw new Error("not in schema: "+r);var s=i.type,o;(s==="number"||s==="integer")&&(o=Qg(i));var a=JI(r),l=i.maxLength?i.maxLength:0,f;s==="string"?f=m=>{var y=a(m);return y||(y=""),y.padEnd(l," ")}:s==="boolean"?f=m=>{var y=a(m);return y?"1":"0"}:f=m=>{var y=a(m);return Ed(o,y)};var h={fieldName:r,schemaPart:i,parsedLengths:o,getValue:a,getIndexStringPart:f};return h});return n}function BB(t,e){var n=NB(t,e),r=n.length,i=n.map(o=>o.getIndexStringPart),s=function(o){for(var a="",l=0;l1&&(a=o[1].length),{minimum:e,maximum:n,nonDecimals:s,decimals:a,roundedMinimum:e}}function Ed(t,e){typeof e>"u"&&(e=0),et.maximum&&(e=t.maximum);var n=(Math.floor(e)-t.roundedMinimum).toString(),r=n.padStart(t.nonDecimals,"0");if(t.decimals>0){var i=e.toString().split("."),s=i.length>1?i[1]:"0";r+=s.padEnd(t.decimals,"0")}return r}function yb(t,e,n){var r="";return e.forEach((i,s)=>{var o=zi(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"?r+=a.padEnd(f," "):r+="".padEnd(f," ");break;case"boolean":if(a===null)r+="0";else if(a===li)r+="0";else if(a===Ar)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var m=Qg(o);if(a===null||a===li){var y="0";r+=y.repeat(m.nonDecimals+m.decimals)}else if(a===Ar)r+=Ed(m,m.maximum);else{var w=Ed(m,a);r+=w}break;default:throw new Error("unknown index type "+l)}}),r}function FB(t,e,n){var r="";return e.forEach((i,s)=>{var o=zi(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"&&a!==Ar?r+=a.padEnd(f," "):a===li?r+="".padEnd(f," "):r+="".padEnd(f,Ar);break;case"boolean":if(a===null)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var m=Qg(o);if(a===null||a===Ar){var y="9";r+=y.repeat(m.nonDecimals+m.decimals)}else if(a===li){var w="0";r+=w.repeat(m.nonDecimals+m.decimals)}else r+=Ed(m,a);break;default:throw new Error("unknown index type "+l)}}),r}var vb=t=>Promise.resolve(t);function gb(t,e){if(t==="_deleted")return e;e=$e(e);var n=!!e._deleted;return e[t]=n,delete e._deleted,e}function ym(t,e,n){return n.map(r=>{var i=$e(r);if(e!=="_deleted"){var s=!!i[e];i._deleted=s,delete i[e]}else i._deleted=!!i._deleted;var o=t.schema.primaryPath;return i[o]=Ws(t.schema.jsonSchema,i),i})}function wb(t,e){if(typeof window>"u"||typeof window!="object"||typeof window.addEventListener>"u"||navigator.onLine)return t.promiseWait(e);var n,r=new Promise(i=>{n=()=>{window.removeEventListener("online",n),i()},window.addEventListener("online",n)});return Promise.race([r,t.promiseWait(e)]).then(()=>{window.removeEventListener("online",n)})}var BO=new WeakMap,LB=function(){function t(n,r,i,s,o,a,l,f){this.subs=[],this.subjects={received:new Kt,sent:new Kt,error:new Kt,canceled:new Gr(!1),active:new Gr(!1)},this.received$=this.subjects.received.asObservable(),this.sent$=this.subjects.sent.asObservable(),this.error$=this.subjects.error.asObservable(),this.canceled$=this.subjects.canceled.asObservable(),this.active$=this.subjects.active.asObservable(),this.onCancel=[],this.callOnStart=void 0,this.remoteEvents$=new Kt,this.replicationIdentifier=n,this.collection=r,this.deletedField=i,this.pull=s,this.push=o,this.live=a,this.retryTime=l,this.autoStart=f;var h=Tr(BO,r,()=>[]);h.push(this),this.collection.onDestroy.push(()=>this.cancel()),Object.keys(this.subjects).forEach(y=>{Object.defineProperty(this,y+"$",{get:function(){return this.subjects[y].asObservable()}})});var m=new Promise(y=>{this.callOnStart=y});this.startPromise=m}var e=t.prototype;return e.start=async function(){if(!this.isStopped()){var r=this.pull&&this.pull.modifier?this.pull.modifier:vb,i=this.push&&this.push.modifier?this.push.modifier:vb,s=this.collection.database,o="rx-replication-meta-"+await s.hashFunction([this.collection.name,this.replicationIdentifier].join("-")),a=Vy(this.collection.schema.jsonSchema,vd(this.collection.schema.jsonSchema)),[l]=await Promise.all([this.collection.database.storage.createStorageInstance({databaseName:s.name,collectionName:o,databaseInstanceToken:s.token,multiInstance:s.multiInstance,options:{},schema:a,password:s.password,devMode:it.isDevMode()}),cO(this.collection,o,a)]);this.metaInstance=l,this.internalReplicationState=hO({pushBatchSize:this.push&&this.push.batchSize?this.push.batchSize:100,pullBatchSize:this.pull&&this.pull.batchSize?this.pull.batchSize:100,initialCheckpoint:{upstream:this.push?this.push.initialCheckpoint:void 0,downstream:this.pull?this.pull.initialCheckpoint:void 0},forkInstance:this.collection.storageInstance,metaInstance:this.metaInstance,hashFunction:s.hashFunction,identifier:"rxdbreplication"+this.replicationIdentifier,conflictHandler:this.collection.conflictHandler,replicationHandler:{masterChangeStream$:this.remoteEvents$.asObservable().pipe(lt(f=>!!this.pull),Nr(async f=>{if(f==="RESYNC")return f;var h=$e(f);return h.documents=ym(this.collection,this.deletedField,h.documents),h.documents=await Promise.all(h.documents.map(m=>r(m))),h})),masterChangesSince:async(f,h)=>{if(!this.pull)return{checkpoint:null,documents:[]};for(var m=!1,y={};!m&&!this.isStopped();)try{y=await this.pull.handler(f,h),m=!0}catch(E){var w=le("RC_PULL",{checkpoint:f,errors:ja(E).map(F=>Oy(F)),direction:"pull"});this.subjects.error.next(w),await wb(this.collection,ye(this.retryTime))}if(this.isStopped())return{checkpoint:null,documents:[]};var I=$e(y);return I.documents=ym(this.collection,this.deletedField,I.documents),I.documents=await Promise.all(I.documents.map(E=>r(E))),I},masterWrite:async f=>{if(!this.push)return[];var h=!1;await No("preReplicationMasterWrite",{rows:f,collection:this.collection});var m=await Promise.all(f.map(async F=>(F.newDocumentState=await i(F.newDocumentState),F.newDocumentState===null?null:(F.assumedMasterState&&(F.assumedMasterState=await i(F.assumedMasterState)),this.deletedField!=="_deleted"&&(F.newDocumentState=gb(this.deletedField,F.newDocumentState),F.assumedMasterState&&(F.assumedMasterState=gb(this.deletedField,F.assumedMasterState))),F)))),y=m.filter(GI),w=null;for(y.length===0&&(h=!0,w=[]);!h&&!this.isStopped();)try{if(w=await this.push.handler(y),!Array.isArray(w))throw le("RC_PUSH_NO_AR",{pushRows:f,direction:"push",args:{result:w}});h=!0}catch(F){var I=F.rxdb?F:le("RC_PUSH",{pushRows:f,errors:ja(F).map(S=>Oy(S)),direction:"push"});this.subjects.error.next(I),await wb(this.collection,ye(this.retryTime))}if(this.isStopped())return[];await No("preReplicationMasterWriteDocumentsHandle",{result:w,collection:this.collection});var E=ym(this.collection,this.deletedField,ye(w));return E}}}),this.subs.push(this.internalReplicationState.events.error.subscribe(f=>{this.subjects.error.next(f)}),this.internalReplicationState.events.processed.down.subscribe(f=>this.subjects.received.next(f.document)),this.internalReplicationState.events.processed.up.subscribe(f=>{this.subjects.sent.next(f.newDocumentState)}),AE([this.internalReplicationState.events.active.down,this.internalReplicationState.events.active.up]).subscribe(([f,h])=>{var m=f||h;this.subjects.active.next(m)})),this.pull&&this.pull.stream$&&this.live&&this.subs.push(this.pull.stream$.subscribe({next:f=>{this.remoteEvents$.next(f)},error:f=>{this.subjects.error.next(f)}})),this.live||(await Tf(this.internalReplicationState),await ob(this.internalReplicationState),await this.cancel()),this.callOnStart()}},e.isStopped=function(){return!!this.subjects.canceled.getValue()},e.awaitInitialReplication=async function(){return await this.startPromise,Tf(ye(this.internalReplicationState))},e.awaitInSync=async function(){await this.startPromise,await Tf(ye(this.internalReplicationState));for(var r=2;r>0;)r--,await this.collection.database.requestIdlePromise(),await ob(ye(this.internalReplicationState));return!0},e.reSync=function(){this.remoteEvents$.next("RESYNC")},e.emitEvent=function(r){this.remoteEvents$.next(r)},e.cancel=async function(){if(this.isStopped())return Gn;var r=this.onCancel.map(i=>XI(i()));return this.internalReplicationState&&await pO(this.internalReplicationState),this.metaInstance&&r.push(ye(this.internalReplicationState).checkpointQueue.then(()=>ye(this.metaInstance).close())),this.subs.forEach(i=>i.unsubscribe()),this.subjects.canceled.next(!0),this.subjects.active.complete(),this.subjects.canceled.complete(),this.subjects.error.complete(),this.subjects.received.complete(),this.subjects.sent.complete(),Promise.all(r)},t}(),Br;(function(t){function e(U){return Array.isArray(U)?U.slice():t.isObject(U)?{...U}:U}t.clone=e;function n(U){let ee=r(U);return Array.isArray(U)&&(ee=ee.filter(ce=>ce!=="length")),ee}t.keys=n;function r(U){return U?Object.getOwnPropertyNames(U):[]}t.keysOfNonArray=r;function i(U,ee){return a(n(U),ce=>ee(U[ce],ce)),U}t.forOwn=i;function s(U,ee){return a(r(U),ce=>ee(U[ce],ce)),U}t.forOwnOfNonArray=s;function o(U,ee){return Array.isArray(U)?a(U,ee):s(U,ee),U}t.forEach=o;function a(U,ee){for(let ce=0,de=U.length;ce{const ot=U[Pe];ot instanceof Object&&(de=l(e(ot),de)),U[Pe]=de});return U}t.merge=l;function f(U){return Array.isArray(U)||(U=r(U)),U.length===0}t.isEmpty=f,t.isFunction=U=>typeof U=="function",t.isUndefined=U=>U===void 0||U==="undefined";function h(U){return U==null||U==="undefined"||U==="null"}t.isNullOrUndefined=h,t.isObject=U=>Object.prototype.toString.call(U)==="[object Object]",t.isEmptyObject=U=>h(U)||t.isObject(U)&&f(U);function m(){return typeof globalThis.ngDevMode>"u"||!!globalThis.ngDevMode}t.isDevMode=m;function y(U){return typeof U=="number"&&!isNaN(U)}t.isValidNumber=y;function w(){}t.noop=w;function I(U){return U}t.identity=I;function E(U,ee){const ce=[];for(let de=0;deU+ce*de)}t.range=F;function S(U){return t.isObject(U)?U._id:String(U)}t.getMaybeId=S;function _(U){return U.filter(I)}t.compact=_;function k(U){return f(U)?U:Array.isArray(U)?_(U):Object.entries(U).filter(([,ee])=>!h(ee)&&!f(ee)).reduce((ee,[ce,de])=>({...ee,[ce]:de}),{})}t.compactObject=k;function z(){var U;return(U=localStorage.debug)==null?void 0:U.includes("@ngx-odm/rxdb")}t.isDevModeForced=z;function W(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}t.isTestEnvironment=W,t.logger={log:function(){const U="#8d2089";return W()||!m()||!z()?w:console.log.bind(console,"%c[DEBUG::@ngx-odm/rxdb]",`background:${U};color:#fff;padding:2px;font-size:normal;`)}(),table:function(){return W()||!m()||!z()?w:console.table.bind(console)}()};function Q(U="Event"){return function(ce){return m()?ce.pipe(xy({next(de){t.logger.log(`observable:${U}:next:`,de)},error(de){t.logger.log(`observable:${U}:error:`,de.message)},complete(){t.logger.log(`observable:${U}:complete`)}})):ce}}t.debug=Q;function H(U=3,ee=1e4){return ce=>ce.pipe(oT({count:U,delay:(de,Pe)=>{const ot=Math.pow(2,Pe-1)*ee;return t.logger.log("replication:kinto:longpoll:retry",Pe,ot),SE(ot)}}))}t.retryWithBackoff=H,t.tapOnce=U=>ee=>Ay(()=>(U(),ee)),t.deferUntil=U=>ee=>Ay(()=>U.pipe(Al(()=>ee))),t.getDefaultQuery=()=>({selector:{_deleted:{$eq:!1}},skip:0,sort:[{id:"asc"}]});const X={properties:{id:{type:"string"},_deleted:{type:"boolean"}},primaryKey:"id",indexes:[["_deleted","id"]]};t.getDefaultQuery(),t.getDefaultPreparedQuery=()=>Jl(X,t.getDefaultQuery())})(Br||(Br={}));const FO=()=>typeof window=="object"&&"fetch"in window?window.fetch.bind(window):fetch;function _b(t){return t&&t instanceof LB}function bb(t=!1){return Mt(e=>(Array.isArray(e)?e:[...e.values()]).map(n=>{const r={...n._data};return t||(delete r._rev,delete r._attachments,delete r._deleted,delete r._meta),r}))}const{debug:$B,isEmptyObject:jB,isFunction:UB}=Br;function zB(t){return!jB(t)&&UB(t.run)}function Bu(t){return zB(t)?e=>new Ot(n=>e.subscribe(r=>t.run(()=>n.next(r)),r=>t.run(()=>n.error(r)),()=>t.run(()=>n.complete()))):e=>e}function tc(){return function(t,e,n){const r=n.value;return n.value=function(...i){return Ay(()=>this.initialized$.pipe(Al(()=>r.apply(this,i)),$B(`collection.${e}`)))},n}}function kt(){return function(t,e,n){const r=n.value;return n.value=async function(...i){return await cT(this.initialized$).catch(()=>{throw new Error(`Collection "${this.config.name}" was not initialized. Please check RxDB errors.`)}),r.apply(this,i)},n}}var Sb,Ib,Eb,Ob,kb,Db;const{getMaybeId:VB,logger:vm,debug:KB,noop:WB}=Br;class Je{get initialized$(){return this._init$.asObservable()}get collection(){return this._collection}get db(){return this.dbService.db}get dbOptions(){return this.dbService.dbOptions}get replicationState(){return this._replicationState}get queryParams$(){var e;return(e=this.config.options)!=null&&e.useQueryParams?this.initialized$.pipe(Al(()=>this.collection.queryParams.$)):im({})}constructor(e,n,r={},i=im(""),s=WB){this.config=e,this.dbService=n,this.ngZone=r,this.currentUrl$=i,this.updateQueryParamsFn=s,this._replicationState=null,this._init$=new RE,this.init(e)}destroy(){var e;(e=this.collection)==null||e.destroy()}setQueryParams(e){var n;(n=this.collection.queryParams)==null||n.set(e)}patchQueryParams(e){var n;(n=this.collection.queryParams)==null||n.patch(e)}async sync(){var e;if(_b(this.replicationState)){this.replicationState.reSync();return}if(typeof((e=this.config.options)==null?void 0:e.replicationStateFactory)=="function"){try{this._replicationState=this.config.options.replicationStateFactory(this.collection)}catch(n){vm.log("replicationState has error, ignore replication"),vm.log(n.message)}if(_b(this.replicationState))return this.replicationState.autoStart||this.replicationState.reSync(),Cy(window,"online").pipe(KB("online"),TE(()=>!this.replicationState.isStopped())).subscribe(()=>{this._replicationState.reSync()}),this.replicationState.startPromise}}async info(){return this.collection.getMetadata()}async import(e){const n=await this.collection.schema.hash,r={name:this.collection.name,schemaHash:n,docs:e};this.collection.importJSON(r)}async export(){return this.collection.exportJSON()}docs(e,n=!1){return(lT(e)?e:im(e)).pipe(Al(r=>this.collection.find(r).$),bb(n),Bu(this.ngZone),Pi(Ci))}docsByIds(e,n=!1){return this.collection.findByIds(e).$.pipe(bb(n),Bu(this.ngZone),Pi(Ci))}count(e){return this.collection.count(e).$.pipe(Bu(this.ngZone),Pi(Ci))}get(e,n=!1){return this.collection.findOne(e).$.pipe(Mt(r=>r?r.toMutableJSON(n):null),Bu(this.ngZone),Pi(Ci))}async insert(e){return this.collection.insert(e)}async insertBulk(e){return this.collection.bulkInsert(e)}async upsert(e){return this.collection.upsert(e)}async upsertBulk(e){return this.collection.bulkUpsert(e)}async set(e,n){return this.collection.findOne(e).update({$set:n})}async updateBulk(e,n){return this.collection.find(e).update({$set:n})}async remove(e){const n=VB(e);return this.collection.findOne(n).remove()}async removeBulk(e){return Array.isArray(e)?this.collection.bulkRemove(e):{success:[...(await this.collection.find(e).remove().catch(()=>new Map)).values()],error:[]}}async clear(){return this.collection.remove()}async getAttachments(e){const n=await this.collection.findOne(e).exec();if(!n)return null;const r=n.allAttachments().map(i=>i.getData());return Promise.all(r)}async getAttachmentById(e,n){const r=await this.collection.findOne(e).exec();if(!r)return null;const i=r.getAttachment(n);return i?i.getData():null}async putAttachment(e,n){const r=await this.collection.findOne(e).exec();r&&await r.putAttachment(n)}async removeAttachment(e,n){const r=await this.collection.findOne(e).exec();if(!r)return;const i=r.getAttachment(n);i&&await i.remove()}async addHook(e,n,r=!1){this.collection[e](n,r)}async getLocal(e,n){const r=await this.collection.getLocal(e);return r?n?r==null?void 0:r.get(n):r==null?void 0:r.toJSON().data:null}getLocal$(e,n){return this.collection.getLocal$(e).pipe(Mt(r=>r?n?r.get(n):r.toJSON().data:null),Bo(),Bu(this.ngZone))}async insertLocal(e,n){await this.collection.insertLocal(e,n)}async upsertLocal(e,n){await this.collection.upsertLocal(e,n)}async setLocal(e,n,r){var s,o;const i=await this.collection.getLocal(e);await this.collection.upsertLocal(e,{...((o=(s=i==null?void 0:i.toJSON)==null?void 0:s.call(i))==null?void 0:o.data)||{},[n]:r})}async removeLocal(e){const n=await this.collection.getLocal(e);await(n==null?void 0:n.remove())}async init(e){var i,s,o,a;const{name:n,options:r}=e;try{await this.dbService.initCollections({[n]:e}),this._collection=this.db.collections[n],r!=null&&r.useQueryParams&&this.collection.queryParamsInit(this.currentUrl$,this.updateQueryParamsFn),this._init$.next(!0),this._init$.complete()}catch(l){if(l.message.includes("DM5")||l.message.includes("DB6")&&((i=l.parameters.previousSchema)==null?void 0:i.version)===((s=l.parameters.schema)==null?void 0:s.version))vm.log("Reload the page to fix the issue. The database is in a state where it can not be used."),await bO(this.db.name,this.db.storage),(a=(o=window==null?void 0:window.location)==null?void 0:o.reload)==null||a.call(o);else throw this._init$.complete(),l}}}tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"sync",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"info",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"import",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"export",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Ot)],Je.prototype,"docs",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Array,Object]),re("design:returntype",Ot)],Je.prototype,"docsByIds",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Ot)],Je.prototype,"count",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Ot)],Je.prototype,"get",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"insert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"insertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"upsert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"upsertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"set",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Promise)],Je.prototype,"updateBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"remove",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"removeBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"clear",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"getAttachments",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"getAttachmentById",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"putAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"removeAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[typeof(Sb=typeof Hook<"u"&&Hook)=="function"?Sb:Object,Object,Object]),re("design:returntype",Promise)],Je.prototype,"addHook",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Ib=typeof K<"u"&&K)=="function"?Ib:Object]),re("design:returntype",Promise)],Je.prototype,"getLocal",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[String,typeof(Eb=typeof K<"u"&&K)=="function"?Eb:Object]),re("design:returntype",Ot)],Je.prototype,"getLocal$",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Ob=typeof L<"u"&&L)=="function"?Ob:Object]),re("design:returntype",Promise)],Je.prototype,"insertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(kb=typeof L<"u"&&L)=="function"?kb:Object]),re("design:returntype",Promise)],Je.prototype,"upsertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Db=typeof K<"u"&&K)=="function"?Db:Object,Object]),re("design:returntype",Promise)],Je.prototype,"setLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"removeLocal",null);var LO={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(yw,function(){var n=function(u,c){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,p){d.__proto__=p}||function(d,p){for(var v in p)Object.prototype.hasOwnProperty.call(p,v)&&(d[v]=p[v])})(u,c)},r=function(){return(r=Object.assign||function(u){for(var c,d=1,p=arguments.length;d"u"||s.Promise||(s.Promise=Promise);var f=Object.getPrototypeOf,h={}.hasOwnProperty;function m(u,c){return h.call(u,c)}function y(u,c){typeof c=="function"&&(c=c(f(u))),(typeof Reflect>"u"?o:Reflect.ownKeys)(c).forEach(function(d){I(u,d,c[d])})}var w=Object.defineProperty;function I(u,c,d,p){w(u,c,l(d&&m(d,"get")&&typeof d.get=="function"?{get:d.get,set:d.set,configurable:!0}:{value:d,configurable:!0,writable:!0},p))}function E(u){return{from:function(c){return u.prototype=Object.create(c.prototype),I(u.prototype,"constructor",u),{extend:y.bind(null,u.prototype)}}}}var F=Object.getOwnPropertyDescriptor,S=[].slice;function _(u,c,d){return S.call(u,c,d)}function k(u,c){return c(u)}function z(u){if(!u)throw new Error("Assertion Failed")}function W(u){s.setImmediate?setImmediate(u):setTimeout(u,0)}function Q(u,c){if(typeof c=="string"&&m(u,c))return u[c];if(!c)return u;if(typeof c!="string"){for(var d=[],p=0,v=c.length;p"u"?[]:function(){var u=Promise.resolve();if(typeof crypto>"u"||!crypto.subtle)return[u,f(u),u];var c=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[c,f(c),u]}(),mu=jr[0],ur=jr[1],jr=jr[2],ur=ur&&ur.then,yu=mu&&mu.constructor,Kh=!!jr,vu=function(u,c){gu.push([u,c]),pc&&(queueMicrotask(Dx),pc=!1)},Wh=!0,pc=!0,Js=[],mc=[],qh=hu,Zi={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:et,pgp:!1,env:{},finalize:et},fe=Zi,gu=[],Xs=0,yc=[];function se(u){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var c=this._PSD=fe;if(typeof u!="function"){if(u!==pu)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(this._state===!1&&Qh(this,this._value))}this._state=null,this._value=null,++c.ref,function d(p,v){try{v(function(g){if(p._state===null){if(g===p)throw new TypeError("A promise cannot be resolved with itself.");var b=p._lib&&qo();g&&typeof g.then=="function"?d(p,function(O,C){g instanceof se?g._then(O,C):g.then(O,C)}):(p._state=!0,p._value=g,z0(p)),b&&Ho()}},Qh.bind(null,p))}catch(g){Qh(p,g)}}(this,u)}var Hh={get:function(){var u=fe,c=_c;function d(p,v){var g=this,b=!u.global&&(u!==fe||c!==_c),O=b&&!ts(),C=new se(function(x,M){Yh(g,new U0(K0(p,u,b,O),K0(v,u,b,O),x,M,u))});return this._consoleTask&&(C._consoleTask=this._consoleTask),C}return d.prototype=pu,d},set:function(u){I(this,"then",u&&u.prototype===pu?Hh:{get:function(){return u},set:Hh.set})}};function U0(u,c,d,p,v){this.onFulfilled=typeof u=="function"?u:null,this.onRejected=typeof c=="function"?c:null,this.resolve=d,this.reject=p,this.psd=v}function Qh(u,c){var d,p;mc.push(c),u._state===null&&(d=u._lib&&qo(),c=qh(c),u._state=!1,u._value=c,p=u,Js.some(function(v){return v._value===p._value})||Js.push(p),z0(u),d&&Ho())}function z0(u){var c=u._listeners;u._listeners=[];for(var d=0,p=c.length;d.",W0="String expected.",Yo=[],Sc="__dbnames",Xh="readonly",Zh="readwrite";function to(u,c){return u?c?function(){return u.apply(this,arguments)&&c.apply(this,arguments)}:u:c}var q0={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Ic(u){return typeof u!="string"||/\./.test(u)?function(c){return c}:function(c){return c[u]===void 0&&u in c&&delete(c=Pe(c))[u],c}}function H0(){throw pe.Type()}function je(u,c){try{var d=Q0(u),p=Q0(c);if(d!==p)return d==="Array"?1:p==="Array"?-1:d==="binary"?1:p==="binary"?-1:d==="string"?1:p==="string"?-1:d==="Date"?1:p!=="Date"?NaN:-1;switch(d){case"number":case"Date":case"string":return cj+V&&$(j+A)})})}return $(0).then(function(){if(0=A})).length!==0?(M.forEach(function($){B.push(function(){var j=R,V=$._cfg.dbschema;Pc(D,j,T),Pc(D,V,T),R=D._dbSchema=V;var q=up(j,V);q.add.forEach(function(te){lp(T,te[0],te[1].primKey,te[1].indexes)}),q.change.forEach(function(te){if(te.recreate)throw new pe.Upgrade("Not yet support for changing primary key");var he=T.objectStore(te.name);te.add.forEach(function(me){return Ac(he,me)}),te.change.forEach(function(me){he.deleteIndex(me.name),Ac(he,me)}),te.del.forEach(function(me){return he.deleteIndex(me)})});var Y=$._cfg.contentUpgrade;if(Y&&$._cfg.version>A){Dc(D,T),P._memoizedTables={};var ne=X(V);q.del.forEach(function(te){ne[te]=j[te]}),ap(D,[D.Transaction.prototype]),xc(D,[D.Transaction.prototype],o(ne),ne),P.schema=ne;var J,ie=Re(Y);return ie&&Qo(),q=se.follow(function(){var te;(J=Y(P))&&ie&&(te=ts.bind(null,null),J.then(te,te))}),J&&typeof J.then=="function"?se.resolve(J):q.then(function(){return J})}}),B.push(function(j){var V,q,Y=$._cfg.dbschema;V=Y,q=j,[].slice.call(q.db.objectStoreNames).forEach(function(ne){return V[ne]==null&&q.db.deleteObjectStore(ne)}),ap(D,[D.Transaction.prototype]),xc(D,[D.Transaction.prototype],D._storeNames,D._dbSchema),P.schema=D._dbSchema}),B.push(function(j){D.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(D.idbdb.version/10)===$._cfg.version?(D.idbdb.deleteObjectStore("$meta"),delete D._dbSchema.$meta,D._storeNames=D._storeNames.filter(function(V){return V!=="$meta"})):j.objectStore("$meta").put($._cfg.version,"version"))})}),function $(){return B.length?se.resolve(B.shift()(P.idbtrans)).then($):se.resolve()}().then(function(){rw(R,T)})):se.resolve();var D,A,P,T,B,R}).catch(b)):(o(v).forEach(function(M){lp(d,M,v[M].primKey,v[M].indexes)}),Dc(u,d),void se.follow(function(){return u.on.populate.fire(g)}).catch(b));var C,x})}function jx(u,c){rw(u._dbSchema,c),c.db.version%10!=0||c.objectStoreNames.contains("$meta")||c.db.createObjectStore("$meta").add(Math.ceil(c.db.version/10-1),"version");var d=Cc(0,u.idbdb,c);Pc(u,u._dbSchema,c);for(var p=0,v=up(d,u._dbSchema).change;pMath.pow(2,62)?0:R.oldVersion,D=R<1,u.idbdb=B.result,g&&jx(u,M),$x(u,R/10,M,P))},P),B.onsuccess=vt(function(){M=null;var R,$,j,V,q,Y=u.idbdb=B.result,ne=_(Y.objectStoreNames);if(0"u"?se.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(A){function P(){return indexedDB.databases().finally(A)}C=setInterval(P,100),P()}).finally(function(){return clearInterval(C)}):Promise.resolve()).then(O)]).then(function(){return b(),c.onReadyBeingFired=[],se.resolve(dp(function(){return u.on.ready.fire(u.vip)})).then(function A(){if(0c.limit?A.length=c.limit:u.length===c.limit&&A.length=$.limit&&(!$.values||Y.req.values)&&Hx(Y.req.query.range,$.query.range)}),!1,j,V];case"count":return q=V.find(function(Y){return hw(Y.req.query.range,$.query.range)}),[q,!!q,j,V]}}(c,d,"query",g),M=x[0],D=x[1],A=x[2],P=x[3];return M&&D?M.obsSet=g.obsSet:(D=p.query(g).then(function(T){var B=T.result;if(M&&(M.res=B),b){for(var R=0,$=B.length;R<$;++R)Object.freeze(B[R]);Object.freeze(B)}else T.result=Pe(B);return T}).catch(function(T){return P&&M&&G(P,M),Promise.reject(T)}),M={obsSet:g.obsSet,promise:D,subscribers:new Set,type:"query",req:g,dirty:!1},P?P.push(M):(P=[M],(A=A||(no["idb://".concat(c,"/").concat(d)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}})).queries.query[g.query.index.name||""]=P)),Qx(M,P,O,C),M.promise.then(function(T){return{result:dw(T.result,g,A==null?void 0:A.optimisticOps,p,M,b)}})}})}})}};function Fc(u,c){return new Proxy(u,{get:function(d,p,v){return p==="db"?c:Reflect.get(d,p,v)}})}var yi=(Rt.prototype.version=function(u){if(isNaN(u)||u<.1)throw new pe.Type("Given version is not a positive number");if(u=Math.round(10*u)/10,this.idbdb||this._state.isBeingOpened)throw new pe.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,u);var c=this._versions,d=c.filter(function(p){return p._cfg.version===u})[0];return d||(d=new this.Version(u),c.push(d),c.sort(Lx),d.stores({}),this._state.autoSchema=!1,d)},Rt.prototype._whenReady=function(u){var c=this;return this.idbdb&&(this._state.openComplete||fe.letThrough||this._vip)?u():new se(function(d,p){if(c._state.openComplete)return p(new pe.DatabaseClosed(c._state.dbOpenError));if(!c._state.isBeingOpened){if(!c._state.autoOpen)return void p(new pe.DatabaseClosed);c.open().catch(et)}c._state.dbReadyPromise.then(d,p)}).then(u)},Rt.prototype.use=function(u){var c=u.stack,d=u.create,p=u.level,v=u.name;return v&&this.unuse({stack:c,name:v}),u=this._middlewares[c]||(this._middlewares[c]=[]),u.push({stack:c,create:d,level:p??10,name:v}),u.sort(function(g,b){return g.level-b.level}),this},Rt.prototype.unuse=function(u){var c=u.stack,d=u.name,p=u.create;return c&&this._middlewares[c]&&(this._middlewares[c]=this._middlewares[c].filter(function(v){return p?v.create!==p:!!d&&v.name!==d})),this},Rt.prototype.open=function(){var u=this;return Zs(Zi,function(){return zx(u)})},Rt.prototype._close=function(){var u=this._state,c=Yo.indexOf(this);if(0<=c&&Yo.splice(c,1),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}u.isBeingOpened||(u.dbReadyPromise=new se(function(d){u.dbReadyResolve=d}),u.openCanceller=new se(function(d,p){u.cancelOpen=p}))},Rt.prototype.close=function(d){var c=(d===void 0?{disableAutoOpen:!0}:d).disableAutoOpen,d=this._state;c?(d.isBeingOpened&&d.cancelOpen(new pe.DatabaseClosed),this._close(),d.autoOpen=!1,d.dbOpenError=new pe.DatabaseClosed):(this._close(),d.autoOpen=this._options.autoOpen||d.isBeingOpened,d.openComplete=!1,d.dbOpenError=null)},Rt.prototype.delete=function(u){var c=this;u===void 0&&(u={disableAutoOpen:!0});var d=0{var o=(async()=>{var a=$e(n);a.autoOpen=!1;var l=new Hy(i,a),f={[Od]:JB(r),[HB]:"++sequence, id",[Ab]:"id"};return l.version(1).stores(f),await l.open(),{dexieDb:l,dexieTable:l[Od],dexieAttachmentsTable:l[Ab],booleanIndexes:XB(r)}})();return Cb.set(i,s),Mf.set(s,0),o});return s}async function YB(t){var e=await t,n=Mf.get(t),r=n-1;r===0?(e.dexieDb.close(),Mf.delete(t)):Mf.set(t,r)}var Qy="__";function nc(t){var e=t.split(".");if(e.length>1)return e.map(r=>nc(r)).join(".");if(t.startsWith("|")){var n=t.substring(1);return Qy+n}else return t}function jO(t){var e=t.split(".");if(e.length>1)return e.map(r=>jO(r)).join(".");if(t.startsWith(Qy)){var n=t.substring(Qy.length);return"|"+n}else return t}function GB(t,e){return e&&(e=$e(e),e=Yy(e),t.forEach(n=>{var r=Ts(e,n),i=r?"1":"0";nE(e,n,i)}),e)}function UO(t,e){return e&&(e=$e(e),e=Gy(e),t.forEach(n=>{var r=Ts(e,n),i=r==="1";nE(e,n,i)}),e)}function Yy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Yy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{typeof r=="object"&&(r=Yy(r)),e[nc(n)]=r}),e}}function Gy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Gy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{(typeof r=="object"||Array.isArray(t))&&(r=Gy(r)),e[jO(n)]=r}),e}}function JB(t){var e=[],n=Fn(t.primaryKey);e.push([n]),e.push(["_deleted",n]),t.indexes&&t.indexes.forEach(s=>{var o=ja(s);e.push(o)}),e.push(["_meta.lwt",n]),e.push(["_meta.lwt"]),e=e.map(s=>s.map(o=>nc(o)));var r=e.map(s=>s.length===1?s[0]:"["+s.join("+")+"]");r=r.filter((s,o,a)=>a.indexOf(s)===o);var i=r.join(", ");return i}async function Pb(t,e){var n=await t,r=await n.dexieTable.bulkGet(e);return r.map(i=>UO(n.booleanIndexes,i))}function of(t,e){return t+"||"+e}function XB(t){var e=new Set,n=[];return t.indexes?(t.indexes.forEach(r=>{var i=ja(r);i.forEach(s=>{if(!e.has(s)){e.add(s);var o=zi(t,s);o.type==="boolean"&&n.push(s)}})}),n.push("_deleted"),AP(n)):n}function Rb(t){return t===li?-1/0:t}function Tb(t,e,n){if(t.includes(e)){var r=n===Ar||n===!0?"1":"0";return r}else return n}function zO(t,e,n){if(!n){if(typeof window>"u")throw new Error("IDBKeyRange missing");n=window.IDBKeyRange}var r=e.startKeys.map((o,a)=>{var l=e.index[a];return Tb(t,l,o)}).map(Rb),i=e.endKeys.map((o,a)=>{var l=e.index[a];return Tb(t,l,o)}).map(Rb),s=n.bound(r,i,!e.inclusiveStart,!e.inclusiveEnd);return s}async function Mb(t,e){var n=await t.internals,r=e.query,i=r.skip?r.skip:0,s=r.limit?r.limit:1/0,o=i+s,a=e.queryPlan,l=!1;a.selectorSatisfiedByIndex||(l=Oh(t.schema,e.query));var f=zO(n.booleanIndexes,a,n.dexieDb._options.IDBKeyRange),h=a.index,m=[];if(await n.dexieDb.transaction("r",n.dexieTable,async w=>{var I=w.idbtrans,E=I.objectStore(Od),F,S;S="["+h.map(k=>nc(k)).join("+")+"]",F=E.index(S);var _=F.openCursor(f);await new Promise(k=>{_.onsuccess=function(z){var W=z.target.result;if(W){var Q=UO(n.booleanIndexes,W.value);(!l||l(Q))&&m.push(Q),a.sortSatisfiedByIndex&&m.length===o?k():W.continue()}else k()}})}),!a.sortSatisfiedByIndex){var y=Fg(t.schema,e.query);m=m.sort(y)}return m=m.slice(i,o),{documents:m}}async function ZB(t,e){var n=await t.internals,r=e.queryPlan,i=r.index,s=zO(n.booleanIndexes,r,n.dexieDb._options.IDBKeyRange),o=-1;return await n.dexieDb.transaction("r",n.dexieTable,async a=>{var l=a.idbtrans,f=l.objectStore(Od),h,m;m="["+i.map(w=>nc(w)).join("+")+"]",h=f.index(m);var y=h.count(s);o=await new Promise((w,I)=>{y.onsuccess=function(){w(y.result)},y.onerror=E=>I(E)})}),o}var eF=Ft(),tF=function(){function t(n,r,i,s,o,a,l){this.changes$=new Kt,this.instanceId=eF++,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,this.primaryPath=Fn(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=async function(r,i){oo(this),r.forEach(h=>{if(!h.document._rev||h.previous&&!h.previous._rev)throw le("SNH",{args:{row:h}})});var s=await this.internals,o={success:[],error:[]},a=r.map(h=>h.document[this.primaryPath]),l;if(await s.dexieDb.transaction("rw",s.dexieTable,s.dexieAttachmentsTable,async()=>{var h=new Map,m=await Pb(this.internals,a);m.forEach(I=>{var E=I;return E&&h.set(E[this.primaryPath],E),E}),l=rO(this,this.primaryPath,h,r,i),o.error=l.errors;var y=[];l.bulkInsertDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),l.bulkUpdateDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),y=y.map(I=>GB(s.booleanIndexes,I)),y.length>0&&await s.dexieTable.bulkPut(y);var w=[];l.attachmentsAdd.forEach(I=>{w.push({id:of(I.documentId,I.attachmentId),data:I.attachmentData.data})}),l.attachmentsUpdate.forEach(I=>{w.push({id:of(I.documentId,I.attachmentId),data:I.attachmentData.data})}),await s.dexieAttachmentsTable.bulkPut(w),await s.dexieAttachmentsTable.bulkDelete(l.attachmentsRemove.map(I=>of(I.documentId,I.attachmentId)))}),l=ye(l),l.eventBulk.events.length>0){var f=ye(l.newestRow).document;l.eventBulk.checkpoint={id:f[this.primaryPath],lwt:f._meta.lwt},l.eventBulk.endTime=Ft(),this.changes$.next(l.eventBulk)}return o},e.findDocumentsById=async function(r,i){oo(this);var s=await this.internals,o=[];return await s.dexieDb.transaction("r",s.dexieTable,async()=>{var a=await Pb(this.internals,r);a.forEach(l=>{l&&(!l._deleted||i)&&o.push(l)})}),o},e.query=function(r){return oo(this),Mb(this,r)},e.count=async function(r){if(r.queryPlan.selectorSatisfiedByIndex){var i=await ZB(this,r);return{count:i,mode:"fast"}}else{var s=await Mb(this,r);return{count:s.documents.length,mode:"slow"}}},e.changeStream=function(){return oo(this),this.changes$.asObservable()},e.cleanup=async function(r){oo(this);var i=await this.internals;return await i.dexieDb.transaction("rw",i.dexieTable,async()=>{var s=Ft()-r,o=await i.dexieTable.where("_meta.lwt").below(s).toArray(),a=[];o.forEach(l=>{l._deleted==="1"&&a.push(l[this.primaryPath])}),await i.dexieTable.bulkDelete(a)}),!0},e.getAttachmentData=async function(r,i,s){oo(this);var o=await this.internals,a=of(r,i);return await o.dexieDb.transaction("r",o.dexieAttachmentsTable,async()=>{var l=await o.dexieAttachmentsTable.get(a);if(l)return l.data;throw new Error("attachment missing documentId: "+r+" attachmentId: "+i)})},e.remove=async function(){oo(this);var r=await this.internals;return await r.dexieTable.clear(),this.close()},e.close=function(){return this.closed?this.closed:(this.closed=(async()=>{this.changes$.complete(),await YB(this.internals)})(),this.closed)},e.conflictResultionTasks=function(){return new Kt},e.resolveConflictResultionTask=async function(r){},t}();async function nF(t,e,n){var r=QB(e.databaseName,e.collectionName,n,e.schema),i=new tF(t,e.databaseName,e.collectionName,e.schema,r,e.options,n);return await MB($O,e,i),Promise.resolve(i)}function oo(t){if(t.closed)throw new Error("RxStorageInstanceDexie is closed "+t.databaseName+"-"+t.collectionName)}var rF=function(){function t(n){this.name=$O,this.rxdbVersion=vg,this.settings=n}var e=t.prototype;return e.createStorageInstance=function(r){return iO(r),nF(this,r,this.settings)},t}();function iF(t={}){var e=new rF(t);return e}function sF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>=0?(s=o,i=o-1):r=o+1}return s}function oF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>0?(s=o,i=o-1):r=o+1}return s}function aF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<0?(s=o,r=o+1):i=o-1}return s}function uF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<=0?(s=o,r=o+1):i=o-1}return s}function lF(t,e,n,r,i){for(;r<=i;){var s=r+i>>>1,o=t[s],a=n!==void 0?n(o,e):o-e;if(a===0)return s;a<=0?r=s+1:i=s-1}return-1}function rc(t,e,n,r,i,s){return typeof n=="function"?s(t,e,n,r===void 0?0:r|0,i===void 0?t.length-1:i|0):s(t,e,void 0,n===void 0?0:n|0,r===void 0?t.length-1:r|0)}function cF(t,e,n,r,i){return rc(t,e,n,r,i,sF)}function Nb(t,e,n,r,i){return rc(t,e,n,r,i,oF)}function fF(t,e,n,r,i){return rc(t,e,n,r,i,aF)}function dF(t,e,n,r,i){return rc(t,e,n,r,i,uF)}function VO(t,e,n,r,i){return rc(t,e,n,r,i,lF)}function KO(t,e,n){return[t,e,n].join("--memory--")}function af(t){if(t.internals.removed)throw new Error("removed")}function uf(t,e){return t+"||"+e}function hF(t,e){return t.indexString{var o=s.docsWithIndex,a=s.getIndexableString(r),l=VO(o,{indexString:a},rl);o.splice(l,1)})}function rl(t,e){var n=t.indexString,r=e.indexString;return nja(i)):[];r.push(["_deleted","_meta.lwt",n]),r.forEach(i=>{t.byIndex[Jy(i)]={index:i,docsWithIndex:[],getIndexableString:BB(e,i)}})}function Jy(t){return t.join(",")}var Fb=new Set,yF=function(){function t(n,r,i,s,o,a,l){this.closed=!1,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,Fb.add(this),this.primaryPath=Fn(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=function(r,i){this.ensurePersistence(),af(this);for(var s=this.internals,o=this.internals.documents,a=this.primaryPath,l=rO(this,a,o,r,i),f=l.errors,h=new Array(l.bulkInsertDocs.length),m=l.bulkInsertDocs,y=0;y{this.internals.ensurePersistenceIdlePromise=void 0,this.ensurePersistence()})),l.eventBulk.events.length>0){var k=ye(l.newestRow).document;l.eventBulk.checkpoint={id:k[a],lwt:k._meta.lwt},l.eventBulk.endTime=Ft(),dd.then(()=>{s.changes$.next(l.eventBulk)})}var z=Promise.resolve({success:h,error:f});return z},e.ensurePersistence=function(){if(this.internals.ensurePersistenceTask){var r=this.internals,i=this.internals.documents,s=this.primaryPath,o=this.internals.ensurePersistenceTask;this.internals.ensurePersistenceTask=void 0;for(var a=Object.values(this.internals.byIndex),l=o.bulkInsertDocs,f=0;f{_.set(uf(k.documentId,k.attachmentId),{writeData:k.attachmentData,digest:k.digest})}),this.schema.attachments&&(o.attachmentsUpdate.forEach(k=>{_.set(uf(k.documentId,k.attachmentId),{writeData:k.attachmentData,digest:k.digest})}),o.attachmentsRemove.forEach(k=>{_.delete(uf(k.documentId,k.attachmentId))}))}}},e.findDocumentsById=function(r,i){this.ensurePersistence();var s=this.internals.documents,o=[];if(s.size===0)return Promise.resolve(o);for(var a=0;az)break;var X=H.doc;(!f||f(X))&&W.push(X),W.length>=l&&!m&&(Q=!0),k++}if(m){var U=Fg(this.schema,r.query);W=W.sort(U)}return W=W.slice(o,l),Promise.resolve({documents:W})},e.count=async function(r){this.ensurePersistence();var i=await this.query(r);return{count:i.documents.length,mode:"fast"}},e.cleanup=function(r){this.ensurePersistence();for(var i=Ft()-r,s=["_deleted","_meta.lwt",this.primaryPath],o=Jy(s),a=this.internals.byIndex[o].docsWithIndex,l=yb(this.schema,s,[!0,0,""]),f=Nb(a,{indexString:l},rl),h=!1;!h;){var m=a[f];!m||m.doc._meta.lwt>i?h=!0:(pF(this.primaryPath,this.schema,this.internals,m.doc),f++)}return dd},e.getAttachmentData=function(r,i,s){this.ensurePersistence(),af(this);var o=uf(r,i),a=this.internals.attachments.get(o);if(!s||!a||a.digest!==s)throw new Error("attachment does not exist: "+o);return Promise.resolve(a.writeData.data)},e.changeStream=function(){return af(this),this.internals.changes$.asObservable()},e.remove=async function(){if(this.closed)throw new Error("closed");this.ensurePersistence(),af(this),this.internals.removed=!0,this.storage.collectionStates.delete(KO(this.databaseName,this.collectionName,this.schema.version)),await this.close()},e.close=function(){return Fb.delete(this),this.ensurePersistence(),this.closed||(this.closed=!0,this.internals.refCount=this.internals.refCount-1),un},e.conflictResultionTasks=function(){return this.internals.conflictResultionTasks$.asObservable()},e.resolveConflictResultionTask=function(r){return un},t}();function vF(t,e,n){var r=KO(e.databaseName,e.collectionName,e.schema.version),i=t.collectionStates.get(r);if(!i)i={id:iu(5),schema:e.schema,removed:!1,refCount:1,documents:new Map,attachments:e.schema.attachments?new Map:void 0,byIndex:{},conflictResultionTasks$:new Kt,changes$:new Kt},mF(i,e.schema),t.collectionStates.set(r,i);else{if(e.devMode&&!Va(i.schema,e.schema))throw new Error("storage was already created with a different schema");i.refCount=i.refCount+1}var s=new yF(t,e.databaseName,e.collectionName,e.schema,i,e.options,n);return Promise.resolve(s)}var gF=new Map;function Lb(t={}){var e={name:"memory",rxdbVersion:vg,collectionStates:gF,createStorageInstance(n){iO(n);var r=Object.assign({},t,n.options);return vF(this,n,r)}};return e}function wF(t){let{name:e,options:n,storage:r,...i}=t;if(!r)switch(n.storageType){case"dexie":r=iF(n.storageOptions);break;case"memory":r=Lb(n.storageOptions);break;default:r=Lb(n.storageOptions);break}return{name:e,storage:r,options:n,...i}}const _F=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,$b=t=>{if(typeof t!="string")throw new TypeError("Invalid argument expected string");const e=t.match(_F);if(!e)throw new Error(`Invalid argument not valid semver ('${t}' received)`);return e.shift(),e},jb=t=>t==="*"||t==="x"||t==="X",Ub=t=>{const e=parseInt(t,10);return isNaN(e)?t:e},bF=(t,e)=>typeof t!=typeof e?[String(t),String(e)]:[t,e],SF=(t,e)=>{if(jb(t)||jb(e))return 0;const[n,r]=bF(Ub(t),Ub(e));return n>r?1:n{for(let n=0;n{const n=$b(t),r=$b(e),i=n.pop(),s=r.pop(),o=zb(n,r);return o!==0?o:i&&s?zb(i.split("."),s.split(".")):i||s?i?-1:1:0},EF=(t,e,n)=>{OF(n);const r=IF(t,e);return WO[n].includes(r)},WO={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Vb=Object.keys(WO),OF=t=>{if(typeof t!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof t}`);if(Vb.indexOf(t)===-1)throw new Error(`Invalid operator, expected one of ${Vb.join("|")}`)},{logger:Qr,getDefaultPreparedQuery:kF}=Br,Kb="storage-token|storageToken",Yg=async t=>{let e;try{const r=await FO()(t);if(r.ok)e=await r.json();else throw new Error(`Failed to fetch schema from "${t}", status: ${r.status}`)}catch{throw new Error(`Failed to fetch schema from "${t}"`)}return e},DF=async t=>{var e;try{const n={};for(const r in t){const i=t[r];!i.schema&&((e=i.options)!=null&&e.schemaUrl)&&(i.schema=await Yg(i.options.schemaUrl)),n[i.name]=i}return n}catch(n){throw new Error(n.message)}},xF=async(t,e)=>{let n;const i=await FO()(t);if(i.ok)n=await i.json();else throw new Error(`Failed to fetch db dump from "${t}", status: ${i.status}`);if(!e||!Object.keys(e).length)throw new Error("collections must be initialized before importing");for(const s of n.collections){const o=e[s.name];if(o)s.schemaHash=o.schema._hash;else throw new Error("no such collection as provided in dump")}return n},AF=async(t,e,n)=>{var s,o;let r={};if(t.name!=="dexie")return;const i=(s=await e.internals)==null?void 0:s.dexieTable;if(r=(o=await i.get(Kb))==null?void 0:o.data,!(r!=null&&r.rxdbVersion)||EF(n,r.rxdbVersion,">"))try{await i.update(Kb,{data:{...r,rxdbVersion:n}}),Qr.log("prepare-plugin: migrated internal storage to",n)}catch{throw new Error("prepare-plugin: unable to migrate internal storage")}},CF=async({database:t,creator:e})=>{var o;const n=await SO(t);Qr.log("prepare-plugin: hook:createRxDatabase:after");const{storage:r,internalStore:i,rxdbVersion:s}=t;if(await AF(r,i,s),!(!((o=e.options)!=null&&o.dumpPath)||!n))try{const a=await xF(e.options.dumpPath,t.collections);await t.importJSON(a),Qr.log(`prepare-plugin: imported dump for db "${t.name}"`)}catch(a){Qr.log("prepare-plugin: imported dump error",a)}},PF=async t=>{if(typeof t=="string"){const e=await Yg(t);if(!e)throw new Error(`Failed to fetch schema from "${t}"`);t=e}},RF=async({collection:t,creator:e})=>{var l,f,h;Qr.log("prepare-plugin: hook:createRxCollection:before");const n=await t.getMetadata();Qr.log("prepare-plugin: hook:createRxCollection:before",n);const r=((l=e.options)==null?void 0:l.initialDocs)||[],i=await a();if(!r.length)return;if(i||!n.isFirstTimeInstantiated){if(!((f=e.options)!=null&&f.recreate)||(h=e.options)!=null&&h.replication)return;Qr.log(`prepare-plugin: collection "${t.name}" already has ${i} docs (including _deleted), but recreate option is set`)}const s=await t.schema.hash,o={name:t.name,schemaHash:s,docs:r};try{const{success:m,error:y}=await t.importJSON(o),w=await a();Qr.log(`prepare-plugin: imported ${m.length} docs for collection "${t.name}", errors count ${y.length}, current docs count ${w}`),Qr.table(m)}catch(m){Qr.log("prepare-plugin: imported dump error",m)}return;async function a(){const{count:m}=await t.storageInstance.count(kF()).catch(()=>({count:0}));return m}},TF={name:"prepare-plugin",rxdb:!0,prototypes:{RxDatabase:t=>{Object.assign(t,{fetchSchema:Yg})},RxCollection:t=>{Object.assign(t,{getMetadata:async function(){const n=await SO(this.database),r=await zg(this.database.internalStore),{id:i,data:s,_meta:o,_rev:a}=r.filter(l=>l.data.name===this.name).at(0)||{};return{id:i||this.name,databaseName:this.database.name,collectionName:(s==null?void 0:s.name)||this.name,storageName:this.storageInstance.originalStorageInstance.storage.name,last_modified:o!=null&&o.lwt?Math.floor(o==null?void 0:o.lwt):Date.now(),rev:a?Number(a==null?void 0:a.at(0)):1,isFirstTimeInstantiated:n}}})}},hooks:{createRxDatabase:{after:CF},preCreateRxSchema:{before:PF},createRxCollection:{after:RF}}};function qO(t,e){const n={};if(Array.isArray(e))for(const r of e){const i=Object.getOwnPropertyDescriptor(t,r);i!=null&&i.enumerable&&Object.defineProperty(n,r,i)}else for(const r of Reflect.ownKeys(t)){const i=Object.getOwnPropertyDescriptor(t,r);if(i.enumerable){const s=t[r];e(r,s,t)&&Object.defineProperty(n,r,i)}}return n}const HO="%[a-f0-9]{2}",Wb=new RegExp("("+HO+")|([^%]+?)","gi"),qb=new RegExp("("+HO+")+","gi");function Xy(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(t.length===1)return t;e=e||1;const n=t.slice(0,e),r=t.slice(e);return Array.prototype.concat.call([],Xy(n),Xy(r))}function MF(t){try{return decodeURIComponent(t)}catch{let e=t.match(Wb)||[];for(let n=1;nt==null,LF=t=>encodeURIComponent(t).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),Zy=Symbol("encodeFragmentIdentifier");function $F(t){switch(t.arrayFormat){case"index":return e=>(n,r)=>{const i=n.length;return r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[",i,"]"].join("")]:[...n,[Nt(e,t),"[",Nt(i,t),"]=",Nt(r,t)].join("")]};case"bracket":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[]"].join("")]:[...n,[Nt(e,t),"[]=",Nt(r,t)].join("")];case"colon-list-separator":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),":list="].join("")]:[...n,[Nt(e,t),":list=",Nt(r,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e=t.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||t.skipNull&&i===null||t.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Nt(n,t),e,Nt(i,t)].join("")]:[[r,Nt(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,Nt(e,t)]:[...n,[Nt(e,t),"=",Nt(r,t)].join("")]}}function jF(t){let e;switch(t.arrayFormat){case"index":return(n,r,i)=>{if(e=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!e){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][e[1]]=r};case"bracket":return(n,r,i)=>{if(e=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(e=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const s=typeof r=="string"&&r.includes(t.arrayFormatSeparator),o=typeof r=="string"&&!s&&Oi(r,t).includes(t.arrayFormatSeparator);r=o?Oi(r,t):r;const a=s||o?r.split(t.arrayFormatSeparator).map(l=>Oi(l,t)):r===null?r:Oi(r,t);i[n]=a};case"bracket-separator":return(n,r,i)=>{const s=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!s){i[n]=r&&Oi(r,t);return}const o=r===null?[]:r.split(t.arrayFormatSeparator).map(a=>Oi(a,t));if(i[n]===void 0){i[n]=o;return}i[n]=[...i[n],...o]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function YO(t){if(typeof t!="string"||t.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Nt(t,e){return e.encode?e.strict?LF(t):encodeURIComponent(t):t}function Oi(t,e){return e.decode?BF(t):t}function GO(t){return Array.isArray(t)?t.sort():typeof t=="object"?GO(Object.keys(t)).sort((e,n)=>Number(e)-Number(n)).map(e=>t[e]):t}function JO(t){const e=t.indexOf("#");return e!==-1&&(t=t.slice(0,e)),t}function UF(t){let e="";const n=t.indexOf("#");return n!==-1&&(e=t.slice(n)),e}function Hb(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&typeof t=="string"&&t.trim()!==""?t=Number(t):e.parseBooleans&&t!==null&&(t.toLowerCase()==="true"||t.toLowerCase()==="false")&&(t=t.toLowerCase()==="true"),t}function Gg(t){t=JO(t);const e=t.indexOf("?");return e===-1?"":t.slice(e+1)}function Jg(t,e){e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e},YO(e.arrayFormatSeparator);const n=jF(e),r=Object.create(null);if(typeof t!="string"||(t=t.trim().replace(/^[?#&]/,""),!t))return r;for(const i of t.split("&")){if(i==="")continue;const s=e.decode?i.replace(/\+/g," "):i;let[o,a]=QO(s,"=");o===void 0&&(o=s),a=a===void 0?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?a:Oi(a,e),n(Oi(o,e),a,r)}for(const[i,s]of Object.entries(r))if(typeof s=="object"&&s!==null)for(const[o,a]of Object.entries(s))s[o]=Hb(a,e);else r[i]=Hb(s,e);return e.sort===!1?r:(e.sort===!0?Object.keys(r).sort():Object.keys(r).sort(e.sort)).reduce((i,s)=>{const o=r[s];return o&&typeof o=="object"&&!Array.isArray(o)?i[s]=GO(o):i[s]=o,i},Object.create(null))}function XO(t,e){if(!t)return"";e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e},YO(e.arrayFormatSeparator);const n=o=>e.skipNull&&FF(t[o])||e.skipEmptyString&&t[o]==="",r=$F(e),i={};for(const[o,a]of Object.entries(t))n(o)||(i[o]=a);const s=Object.keys(i);return e.sort!==!1&&s.sort(e.sort),s.map(o=>{const a=t[o];return a===void 0?"":a===null?Nt(o,e):Array.isArray(a)?a.length===0&&e.arrayFormat==="bracket-separator"?Nt(o,e)+"[]":a.reduce(r(o),[]).join("&"):Nt(o,e)+"="+Nt(a,e)}).filter(o=>o.length>0).join("&")}function ZO(t,e){var i;e={decode:!0,...e};let[n,r]=QO(t,"#");return n===void 0&&(n=t),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:Jg(Gg(t),e),...e&&e.parseFragmentIdentifier&&r?{fragmentIdentifier:Oi(r,e)}:{}}}function ek(t,e){e={encode:!0,strict:!0,[Zy]:!0,...e};const n=JO(t.url).split("?")[0]||"",r=Gg(t.url),i={...Jg(r,{sort:!1}),...t.query};let s=XO(i,e);s&&(s=`?${s}`);let o=UF(t.url);if(t.fragmentIdentifier){const a=new URL(n);a.hash=t.fragmentIdentifier,o=e[Zy]?a.hash:`#${t.fragmentIdentifier}`}return`${n}${s}${o}`}function tk(t,e,n){n={parseFragmentIdentifier:!0,[Zy]:!1,...n};const{url:r,query:i,fragmentIdentifier:s}=ZO(t,n);return ek({url:r,query:qO(i,e),fragmentIdentifier:s},n)}function zF(t,e,n){const r=Array.isArray(e)?i=>!e.includes(i):(i,s)=>!e(i,s);return tk(t,r,n)}const gm=Object.freeze(Object.defineProperty({__proto__:null,exclude:zF,extract:Gg,parse:Jg,parseUrl:ZO,pick:tk,stringify:XO,stringifyUrl:ek},Symbol.toStringTag,{value:"Module"})),{keys:Qb,isEmpty:Yb,isNullOrUndefined:ev}=Br,VF=({selector:t,sort:e,limit:n,skip:r},i)=>{const s=Qb(i.jsonSchema.properties);return Yb(t)||(t=qO(t,o=>!o.startsWith("$")&&!o.includes(".")&&s.includes(o))),Yb(e)||(e=e==null?void 0:e.filter(o=>s.includes(Qb(o)[0]))),(ev(n)||isNaN(n))&&(n=void 0),(ev(r)||isNaN(r))&&(r=void 0),{selector:t,sort:e,limit:n,skip:r}},Gb=(t,e)=>{t=gm.extract(t);const n=gm.pick(t,["selector","sort","limit","skip"]),r=gm.parse(n,{parseNumbers:!0,parseBooleans:!0}),{selector:i,sort:s,limit:o,skip:a}=r,l=i?JSON.parse(i):void 0,f=s?JSON.parse(s):void 0;return VF({selector:l,sort:f,limit:o,skip:a},e)},lf=t=>ev(t)?"":JSON.stringify(t),{logger:Jb,compactObject:KF}=Br,WF={name:"query-params-plugin",rxdb:!0,prototypes:{RxCollection:t=>{const e=new Gr({});let n=!1,r,i=!1,s="",o=()=>Promise.resolve(!1);function a(h=CE,m){var y;n=!!((y=this.options)!=null&&y.useQueryParams),r=this.schema,!(!n||i)&&(o=m,h.pipe(Bo(),xy(w=>{s=w}),Mt(w=>Gb(w,r)),EE(w=>(Jb.log("Error in parsing url to mango query",w),e)),xy(w=>{Jb.log("queryParams",w)}),TE(()=>!this.destroyed)).subscribe(e),i=!0)}function l(h){if(!n)return;const{selector:m,sort:y,limit:w,skip:I}=h,E={limit:w,skip:I};m&&(E.selector=lf(h.selector)),y&&(E.sort=lf(h.sort)),o(E)}function f(h){if(!n)return;const m=Gb(s,r),y={selector:lf(h.selector||m.selector),sort:lf(h.sort||m.sort),limit:h.limit||m.limit,skip:h.skip||m.skip};o(KF(y))}Object.assign(t,{queryParams:{$:e.asObservable(),get:()=>e.getValue(),set:l,patch:f}},{queryParamsInit:a})}},hooks:{createRxCollection:{}}};var nk={minimumDeletedTime:1e3*60*60*24*31,minimumCollectionAge:1e3*60,runEach:1e3*60*5,awaitReplicationsInSync:!0,waitForLeadership:!0},wm=dd;async function qF(t){var e=t.database,n=Object.assign({},nk,e.cleanupPolicy?e.cleanupPolicy:{});await t.promiseWait(n.minimumCollectionAge),!t.destroyed&&(n.waitForLeadership&&await e.waitForLeadership(),!t.destroyed&&(await rk(t,n),await HF(t,n)))}async function rk(t,e){for(var n=t.database,r=t.storageInstance,i=!1;!i&&!t.destroyed;){if(e.awaitReplicationsInSync){var s=BO.get(t);s&&await Promise.all(s.map(o=>{if(!o.isStopped())return o.awaitInSync()}))}if(await n.requestIdlePromise(),t.destroyed)return;wm=wm.then(()=>t.destroyed?!0:r.cleanup(e.minimumDeletedTime)),i=await wm}}async function HF(t,e){for(;!t.destroyed;){if(await t.promiseWait(e.runEach),t.destroyed)return;await rk(t,e)}}var QF={name:"cleanup",rxdb:!0,prototypes:{RxCollection:t=>{t.cleanup=async function(e){var n=Object.assign({},nk,this.database.cleanupPolicy?this.database.cleanupPolicy:{});typeof e>"u"&&(e=n.minimumDeletedTime);for(var r=!1;!r&&!this.destroyed;)r=await this.storageInstance.cleanup(e)}}},hooks:{createRxCollection:{after:t=>{qF(t.collection)}}}};function YF(t){var e={name:this.name,instanceToken:this.token,collections:[]},n=Object.keys(this.collections).filter(r=>!t||t.includes(r)).filter(r=>r.charAt(0)!=="_").map(r=>this.collections[r]);return Promise.all(n.map(r=>r.exportJSON())).then(r=>(e.collections=r,e))}var GF=function(t){var e=t.collections.filter(n=>!this.collections[n.name]).map(n=>n.name);if(e.length>0)throw le("JD1",{missingCollections:e});return Promise.all(t.collections.map(n=>this.collections[n.name].importJSON(n)))},JF=async function(){var t={name:this.name,schemaHash:await this.schema.hash,docs:[]},e=na("find",tl(),this);return tO(e).then(n=>(t.docs=n.map(r=>(r=$e(r),delete r._rev,delete r._attachments,r)),t))};async function XF(t){if(t.schemaHash!==await this.schema.hash)throw le("JD2",{schemaHash:t.schemaHash,own:this.schema.hash});var e=t.docs;return this.storageInstance.bulkWrite(e.map(n=>{var r=Object.assign({},n,{_meta:{lwt:Ft()},_rev:Rn(),_attachments:{},_deleted:!1});return{document:r}}),"json-dump-import")}var ZF={name:"json-dump",rxdb:!0,prototypes:{RxDatabase:t=>{t.exportJSON=YF,t.importJSON=GF},RxCollection:t=>{t.exportJSON=JF,t.importJSON=XF}},overwritable:{}},eL=aO(),tL=function(t){gg(e,t);function e(n,r,i){var s;return s=t.call(this,null,r)||this,s.id=n,s.parent=i,s}return e}(eL),il={get isLocal(){return!0},get allAttachments$(){throw le("LD1",{document:this})},get primaryPath(){return"id"},get primary(){return this.id},get $(){var t=this,e=Mo(tv,this.parent);return t.parent.$.pipe(lt(n=>n.documentId===this.primary),lt(n=>n.isLocal),Mt(n=>kg(n)),Hl(e.docCache.getLatestDocumentData(this.primary)),Bo((n,r)=>n._rev===r._rev),Mt(n=>e.docCache.getCachedRxDocument(n)),Pi(Ci))},get $$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.$,t.getLatest()._data)},get deleted$$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.deleted$,t.getLatest().deleted)},getLatest(){var t=Mo(tv,this.parent),e=t.docCache.getLatestDocumentData(this.primary);return t.docCache.getCachedRxDocument(e)},get(t){if(t="data."+t,!!this._data){if(typeof t!="string")throw el("LD2",{objPath:t});var e=Ts(this._data,t);return e=it.deepFreezeWhenDevMode(e),e}},get$(t){if(t="data."+t,it.isDevMode()){if(t.includes(".item."))throw le("LD3",{objPath:t});if(t===this.primaryPath)throw le("LD4")}return this.$.pipe(Mt(e=>e._data),Mt(e=>Ts(e,t)),Bo())},get$$(t){var e=_m(this),n=e.getReactivityFactory();return n.fromObservable(this.get$(t),this.getLatest().get(t))},async incrementalModify(t){var e=await sl(this.parent);return e.incrementalWriteQueue.addWrite(this._data,async n=>(n.data=await t(n.data,this),n)).then(n=>e.docCache.getCachedRxDocument(n))},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t){var e=await sl(this.parent),n=this._data;return t.id=this.id,e.storageInstance.bulkWrite([{previous:n,document:t}],"local-document-save-data").then(r=>{var i=r.success[0];if(!i)throw r.error[0];t=$e(t),t._rev=i._rev})},async remove(){var t=await sl(this.parent),e={id:this._data.id,data:{},_deleted:!0,_meta:Ks(),_rev:Rn(),_attachments:{}};return Tl(t.storageInstance,{previous:this._data,document:e},"local-document-remove").then(n=>t.docCache.getCachedRxDocument(n))}},Xb=!1,nL=()=>{if(!Xb){Xb=!0;var t=kh,e=Object.getOwnPropertyNames(t);e.forEach(r=>{var i=Object.getOwnPropertyDescriptor(il,r);if(!i){var s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(il,r,s)}});var n=r=>()=>{throw le("LD6",{functionName:r})};["populate","update","putAttachment","getAttachment","allAttachments"].forEach(r=>il[r]=n(r))}};function rL(t,e){nL();var n=new tL(t.id,t,e);return Object.setPrototypeOf(n,il),n.prototype=il,n}function _m(t){var e=t.parent;return _N(e)?e:e.database}var kd=new WeakMap,tv=new WeakMap;function Zb(t){var e=t.database?t.database:t,n=t.database?t.name:"",r=(async()=>{var i=await ik(e.token,e.storage,e.name,n,e.instanceCreationOptions,e.multiInstance);i=$g(e,i,sk);var s=new JE("id",t.$.pipe(lt(h=>h.isLocal)),h=>rL(h,t)),o=new oO(i,"id",()=>{},()=>{}),a=await e.storageToken,l=i.changeStream().subscribe(h=>{var m={id:h.id,internal:!1,collectionName:t.database?t.name:void 0,storageToken:a,events:h.events.map(y=>nO(!0,y,t.database?t:void 0)),databaseToken:e.token,checkpoint:h.checkpoint,context:h.context,endTime:h.endTime,startTime:h.startTime};e.$emit(m)});t._subs.push(l);var f={database:e,parent:t,storageInstance:i,docCache:s,incrementalWriteQueue:o};return tv.set(t,f),f})();kd.set(t,r)}function sl(t){var e=kd.get(t);if(!e){var n=t.database?t.database:t,r=t.database?t.name:"";throw le("LD8",{database:n.name,collection:r})}return e}function ik(t,e,n,r,i,s){return e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:iL(r),schema:sk,options:i,multiInstance:s,devMode:it.isDevMode()})}function e1(t){var e=kd.get(t);if(e)return kd.delete(t),e.then(n=>n.storageInstance.close())}async function t1(t,e,n){var r=iu(10),i=await ik(r,t,e,n,{},!1);await i.remove()}function iL(t){return"plugin-local-documents-"+t}var sk=bh({title:"RxLocalDocument",version:0,primaryKey:"id",type:"object",properties:{id:{type:"string",maxLength:128},data:{type:"object",additionalProperties:!0}},required:["id","data"]});async function n1(t,e){var n=await sl(this),r={id:t,data:e,_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}};return Tl(n.storageInstance,{document:r},"local-document-insert").then(i=>n.docCache.getCachedRxDocument(i))}function r1(t,e){return this.getLocal(t).then(n=>{if(n)return n.incrementalModify(()=>e);var r=this.insertLocal(t,e);return r})}async function i1(t){var e=await sl(this),n=e.docCache,r=n.getLatestDocumentDataIfExists(t);return r?Promise.resolve(n.getCachedRxDocument(r)):Xl(e.storageInstance,t).then(i=>i?e.docCache.getCachedRxDocument(i):null)}function s1(t){return this.$.pipe(Hl(null),Nr(async e=>{if(e)return{changeEvent:e};var n=await this.getLocal(t);return{doc:n}}),Nr(async e=>{if(e.changeEvent){var n=e.changeEvent;if(!n.isLocal||n.documentId!==t)return{use:!1};var r=await this.getLocal(t);return{use:!0,doc:r}}else return{use:!0,doc:e.doc}}),lt(e=>e.use),Mt(e=>e.doc))}var ok={name:"local-documents",rxdb:!0,prototypes:{RxCollection:t=>{t.insertLocal=n1,t.upsertLocal=r1,t.getLocal=i1,t.getLocal$=s1},RxDatabase:t=>{t.insertLocal=n1,t.upsertLocal=r1,t.getLocal=i1,t.getLocal$=s1}},hooks:{createRxDatabase:{before:t=>{t.creator.localDocuments&&Zb(t.database)}},createRxCollection:{before:t=>{t.creator.localDocuments&&Zb(t.collection)}},preDestroyRxDatabase:{after:t=>e1(t)},postDestroyRxCollection:{after:t=>e1(t)},postRemoveRxDatabase:{after:t=>t1(t.storage,t.databaseName,"")},postRemoveRxCollection:{after:t=>t1(t.storage,t.databaseName,t.collectionName)}},overwritable:{}};async function ak(t){var e=fR(t.collection.schema.jsonSchema).map(r=>t.collection.name+"-"+r),n=await t.database.internalStore.findDocumentsById(e.map(r=>Ha(r,ko)),!1);if(n.length>1)throw new Error("more the one old collection meta found");return n[0]}function sL(t,e,n){var r=$e(n._attachments),i=Pn(n),s=i._meta;delete i._meta,i._attachments=r;for(var o=e+1,a=Promise.resolve(i),l=function(){var f=o;a=a.then(h=>oL(t,f,h)),o++};o<=t.schema.version;)l();return a.then(f=>f===null?mg:(f._meta=s,f))}function oL(t,e,n){if(n===null)return mg;var r=t.migrationStrategies[e](n,t),i=XI(r);return i}async function uk(t){if(t.collection.schema.version===0)return Gn;var e=await ak(t);return!!e}var aL=200,lk=new WeakMap;function uL(t){var e=ck(t.database),n=e.getValue().slice(0);n.push(t),e.next(n)}function ck(t){return Tr(lk,t,()=>new Gr([]))}function lL(t){var e=lk.get(t);e&&e.complete()}var cL=function(){function t(n,r,i=[n.name,"v",n.schema.version].join("-")){this.started=!1,this.updateStatusHandlers=[],this.updateStatusQueue=dd,this.collection=n,this.migrationStrategies=r,this.statusDocKey=i,this.database=n.database,this.oldCollectionMeta=ak(this),this.mustMigrate=uk(this),this.statusDocId=Ha(this.statusDocKey,Pf),uL(this),this.$=V2(this.database.internalStore,this.statusDocId).pipe(lt(s=>!!s),Mt(s=>ye(s).data),Pi(Ci))}var e=t.prototype;return e.getStatus=function(){return Cs(this.$)},e.startMigration=async function(r=aL){var i=await this.mustMigrate;if(i){if(this.started)throw le("DM1");this.started=!0;var s=void 0;if(this.database.multiInstance){s=new xh(["rx-migration-state",this.database.name,this.collection.name,this.collection.schema.version].join("|"));var o=RB(s);await o.awaitLeadership()}var a=await this.oldCollectionMeta,l=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:this.collection.name,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:a.data.schema,password:this.database.password,devMode:it.isDevMode()}),f=await this.getConnectedStorageInstances(),h=await this.countAllDoucments([l].concat(f.map(m=>m.oldStorage)));await this.updateStatus(m=>(m.count.total=h,m));try{await Promise.all(f.map(async m=>{await cO(this.collection,m.newStorage.collectionName,m.newStorage.schema),await this.migrateStorage(m.oldStorage,m.newStorage,r),await m.newStorage.close()})),await this.migrateStorage(l,this.collection.storageInstance.originalStorageInstance,r)}catch(m){await l.close(),await this.updateStatus(y=>(y.status="ERROR",y.error=Oy(m),y));return}await Tl(this.database.internalStore,{previous:a,document:Object.assign({},a,{_deleted:!0})},"rx-migration-remove-collection-meta"),await this.updateStatus(m=>(m.status="DONE",m)),s&&await s.close()}},e.updateStatus=function(r){return this.updateStatusHandlers.push(r),this.updateStatusQueue=this.updateStatusQueue.then(async()=>{if(this.updateStatusHandlers.length!==0){var i=this.updateStatusHandlers;for(this.updateStatusHandlers=[];;){var s=await Xl(this.database.internalStore,this.statusDocId),o=Pn(s);s||(o={id:this.statusDocId,key:this.statusDocKey,context:Pf,data:{collectionName:this.collection.name,status:"RUNNING",count:{total:0,handled:0,percent:0}},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}});var a=ye(o).data;for(var l of i)a=l(a);if(a.count.percent=Math.round(a.count.handled/a.count.total*100),o&&s&&Va(o.data,s.data))break;try{await Tl(this.database.internalStore,{previous:s,document:ye(o)},Pf);break}catch(f){if(!_h(f))throw f}}}}),this.updateStatusQueue},e.migrateStorage=async function(r,i,s){var o=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:"rx-migration-state-meta-"+this.collection.name+"-"+this.collection.schema.version,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:Vy(r.schema,vd(r.schema)),password:this.database.password,devMode:it.isDevMode()}),a=fN(i,bd,this.database.token,!0),l=hO({keepMeta:!0,identifier:["rx-migration-state",this.collection.name,r.schema.version,this.collection.schema.version].join("-"),replicationHandler:{masterChangesSince(){return Promise.resolve({checkpoint:null,documents:[]})},masterWrite:async h=>{h=await Promise.all(h.map(async y=>{var w=y.newDocumentState;if(i.schema.title===Rf&&(w=y.newDocumentState.docData,y.newDocumentState.isCheckpoint==="1"))return{assumedMasterState:void 0,newDocumentState:y.newDocumentState};var I=await sL(this.collection,r.schema.version,w),E={assumedMasterState:void 0,newDocumentState:i.schema.title===Rf?Object.assign({},y.newDocumentState,{docData:I}):I};return E})),h=h.filter(y=>!!y.newDocumentState);var m=await a.masterWrite(h);return m},masterChangeStream$:new Kt().asObservable()},forkInstance:r,metaInstance:o,pushBatchSize:s,pullBatchSize:0,conflictHandler:bd,hashFunction:this.database.hashFunction}),f=!1;if(l.events.error.subscribe(h=>f=h),l.events.processed.up.subscribe(()=>{this.updateStatus(h=>(h.count.handled=h.count.handled+1,h))}),await Tf(l),await pO(l),await this.updateStatusQueue,f)throw await o.close(),f;await Promise.all([r.remove(),o.remove()])},e.countAllDoucments=async function(r){var i=0;return await Promise.all(r.map(async s=>{var o=Jl(s.schema,Rl(s.schema,{selector:{}})),a=await s.count(o);i+=a.count})),i},e.getConnectedStorageInstances=async function(){var r=await this.oldCollectionMeta,i=[];return await Promise.all(await Promise.all(r.data.connectedStorages.map(async s=>{if(s.schema.title!==Rf)throw new Error("unknown migration handling for schema");var o=Vy(Pn(this.collection.schema.jsonSchema),vd(s.schema));o.version=this.collection.schema.version;var[a,l]=await Promise.all([this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:s.schema,password:this.database.password,collectionName:s.collectionName}),this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:o,password:this.database.password,collectionName:s.collectionName})]);i.push({oldStorage:a,newStorage:l})}))),i},e.migratePromise=async function(r){this.startMigration(r);var i=await this.mustMigrate;if(!i)return{status:"DONE",collectionName:this.collection.name,count:{handled:0,percent:0,total:0}};var s=await Promise.race([Cs(this.$.pipe(lt(o=>o.status==="DONE"))),Cs(this.$.pipe(lt(o=>o.status==="ERROR")))]);if(s.status==="ERROR")throw le("DM4",{collection:this.collection.name,error:s.error});return s},t}(),fL=new WeakMap,dL={name:"migration-schema",rxdb:!0,init(){gi(ok)},hooks:{preDestroyRxDatabase:{after:lL}},prototypes:{RxDatabase:t=>{t.migrationStates=function(){return ck(this).pipe(Pi(Ci))}},RxCollection:t=>{t.getMigrationState=function(){return Tr(fL,this,()=>new cL(this.asRxCollection,this.migrationStrategies))},t.migrationNeeded=function(){return this.schema.version===0?Gn:uk(this.getMigrationState())}}}};const Xg=(t,e)=>{switch(t){case"deep":return Py(e);case"copy":return Ry(e)?new Date(e):Lt(e)?[...e]:wt(e)?Object.assign({},e):e;default:return e}},hL=/^[a-z]+[a-zA-Z0-9]*$/;function fk(t){if(!t.includes(".$"))return[{parent:t,selector:t},[]];const e=t.indexOf(".$"),n=t.indexOf("]"),r=t.substring(0,e),i=t.substring(e+3,n);Yt(i===""||hL.test(i),"The filter must begin with a lowercase letter and contain only alphanumeric characters.");const s=t.substring(n+2),[o,a]=s?fk(s):[];return[{selector:t,parent:r,child:i||"$",next:o},[i,...a||[]].filter(Boolean)]}const $n=(t,e,n,r,i)=>{const{parent:s,child:o,next:a}=e;if(!o){let f=!1;return Pl(t,s,(m,y)=>f=!!r(m,y)||f,i),f}const l=lu(t,s);return Lt(l)?l.map((f,h)=>n[o]&&!n[o].test({[o]:f})?!1:a?$n(f,a,n,r,i):r(l,h)).some(Boolean):!1};function or(t,e,n,r){const i=[];for(const[s,o]of Object.entries(t)){const[a,l]=fk(s);if(!l.length)r(o,a,{})&&i.push(a.parent);else{const f={};e.forEach(m=>{Object.keys(m).forEach(y=>{l.forEach(w=>{(y===w||y.startsWith(w+"."))&&(f[w]=f[w]||{},Object.assign(f[w],{[y]:m[y]}))})})});const h={};for(const[m,y]of Object.entries(f))h[m]=new qs(y,n.queryOptions);r(o,a,h)&&i.push(a.parent)}}return i}const pL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&Xn(i,"$each")&&Object.assign(a,i),$n(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]);return Ng([h,a.$each]).length===a.$each.length?!1:(l[f]=Xg(r.cloneMode,IM(h.concat(a.$each))),!0)},{buildGraph:!0})}),mL=new Set(["and","or","xor"]),yL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a=Object.keys(i);return Yt(a.length===1&&mL.has(a[0]),`Invalid bit operator '${a[0]}'. Must be one of 'and', 'or', or 'xor'.`),$n(t,s,o,(l,f)=>{let h=l[f];const m=i[a[0]];if(h!==void 0&&!(Hn(h)&&Hn(m)))return!1;switch(h=h||0,a[0]){case"and":l[f]=h&m;break;case"or":l[f]=h|m;break;case"xor":l[f]=h^m;break}return l[f]!==h},{buildGraph:!0})}),vL=(t,e,n=[],r={})=>{const i=Date.now();return or(e,n,r,(s,o,a)=>$n(t,o,a,(l,f)=>(l[f]=i,!0),{buildGraph:!0}))},gL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{if(!s.child){const a=lu(t,s.parent);Yt(a===void 0||Hn(a),"cannot apply $inc to a value of non-numeric type")}return $n(t,s,o,(a,l)=>(a[l]=(a[l]||(a[l]=0))+i,!0),{buildGraph:!0})}),wL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>a[l]!==void 0&&Mn(a[l],i)>-1?!1:(a[l]=i,!0),{buildGraph:!0})),_L=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>a[l]!==void 0&&Mn(a[l],i)<1?!1:(a[l]=i,!0),{buildGraph:!0})),bL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>{const f=a[l];return a[l]=a[l]===void 0?0:a[l]*i,a[l]!==f},{buildGraph:!0})),SL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>{const f=a[l];return Yt(Lt(f),`path '${s.selector}' contains an element of non-array type.`),f.length?(i===-1?f.splice(0,1):f.pop(),!0):!1})),dk=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a=!wt(i)||Object.keys(i).some(Ko),l=new qs(a?{k:i}:i,r.queryOptions),f=a?h=>l.test({k:h}):h=>l.test(h);return $n(t,s,o,(h,m)=>{const y=h[m],w=new Array;return y.map(E=>{const F=f(E);return F||w.push(E),F}).some(Boolean)?(h[m]=w,!0):!1})}),IL=(t,e,n=[],r={})=>{const i={};return Object.entries(e).forEach(([s,o])=>{i[s]={$in:o}}),dk(t,i,n,r)},EL=Object.freeze(["$each","$slice","$sort","$position"]),OL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&EL.some(l=>Xn(i,l))&&Object.assign(a,i),$n(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]),m=h.slice(0,a.$slice||h.length),y=h.length,w=Hn(a.$position)?a.$position:h.length;if(h.splice(w,0,...Xg(r.cloneMode,a.$each)),a.$sort){const I=wt(a.$sort)?Object.keys(a.$sort||{}).pop():"",E=I?a.$sort[I]:a.$sort,F=I?S=>lu(S,I):S=>S;h.sort((S,_)=>E*Mn(F(S),F(_)))}return Hn(a.$slice)&&(a.$slice<0?h.splice(0,h.length+a.$slice):h.splice(a.$slice)),y!=h.length||!Wi(m,h)},{descendArray:!0,buildGraph:!0})}),hk=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>Wi(a[l],i)?!1:(a[l]=Xg(r.cloneMode,i),!0),{buildGraph:!0})),kL=(t,e,n=[],r={})=>{const i=[],s=or(e,n,r,(o,a,l)=>$n(t,a,l,(f,h)=>Xn(f,h)?(i.push(...hk(t,{[o]:f[h]},n,r)),delete f[h],!0):!1));return Array.from(new Set(s.concat(i)))},DL=(t,e,n=[],r={})=>or(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>Xn(a,l)?(Lt(a)?a[l]=null:delete a[l],!0):!1)),o1=Object.freeze(Object.defineProperty({__proto__:null,$addToSet:pL,$bit:yL,$currentDate:vL,$inc:gL,$max:wL,$min:_L,$mul:bL,$pop:SL,$pull:dk,$pullAll:IL,$push:OL,$rename:kL,$set:hk,$unset:DL},Symbol.toStringTag,{value:"Module"}));function xL(t){return(e,n,r=[],i={},s={})=>{const o=Object.assign({cloneMode:"copy"},t,s);Object.assign(o,{queryOptions:Bg(Object.assign({useStrictMode:!1},o==null?void 0:o.queryOptions))}),r=r||[],i=i||{};const a=Object.entries(n);Yt(a.length===1,"Update expression must contain only one operator.");const[l,f]=a[0];Yt(Xn(o1,l),`Update operator '${l}' is not supported.`);const h=o1[l];return Object.keys(i).length&&!new qs(i,o.queryOptions).test(e)?[]:h(e,f,r,o)}}var bm;function pk(t,e){if(!bm){var n=xL({cloneMode:"none"});bm=(r,i)=>{var s=Pn(r);return n(s,i),s}}return bm(t,e)}function AL(t){return this.incrementalModify(e=>{var n=pk(e,t);return n})}function CL(t){var e=this._data,n=pk(e,t);return this._saveData(n,e)}function PL(t){return this.exec().then(e=>e?Array.isArray(e)?Promise.all(e.map(n=>n.update(t))).then(()=>e):e.update(t).then(()=>e):null)}var RL={name:"update",rxdb:!0,prototypes:{RxDocument:t=>{t.update=CL,t.incrementalUpdate=AL},RxQuery:t=>{t.update=PL}}};const{logger:TL}=Br;async function ML(t=[]){try{gi(ok),gi(ZF),gi(dL),gi(RL),gi(QF),gi(TF),gi(WF);for(const e of t)gi(e);TL.log("rxdb plugins loaded")}catch(e){throw new Error(e.message??e)}}const{logger:ea}=Br;class NL{get db(){return this.dbInstance}get dbOptions(){return this.options}get collections(){return this.db.collections}async destroyDb(){try{await this.db.remove(),await this.db.destroy(),this.dbInstance=null,ea.log("database destroy")}catch{ea.log("database destroy error")}}async initDb(e){var n,r;if(!this.dbInstance)try{if(await ML((n=e.options)==null?void 0:n.plugins),this.dbInstance=await wN(e),this.options=e,ea.log(`created database "${this.db.name}" with config "${JSON.stringify(e)}"`),(r=e==null?void 0:e.options)!=null&&r.schemas){const i=await this.initCollections(e.options.schemas);ea.log(`created ${Object.keys(i).length} collections bulk: ${Object.keys(i)}`)}}catch(i){throw ea.log("Error initializing the database:",i),i}}async initCollections(e){try{const n=await DF(e);return await this.db.addCollections(n)}catch(n){throw ea.log("Error initializing collection(s)",n),n}}}var mk={exports:{}},Xe={};/** @license React v16.13.1 + `):"",this.name="UnsubscriptionError",this.errors=n}});function pd(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var Bo=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,i,s;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=ja(o),l=a.next();!l.done;l=a.next()){var f=l.value;f.remove(this)}}catch(E){e={error:E}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}else o.remove(this);var h=this.initialTeardown;if(qe(h))try{h()}catch(E){s=E instanceof nm?E.errors:[E]}var m=this._finalizers;if(m){this._finalizers=null;try{for(var y=ja(m),w=y.next();!w.done;w=y.next()){var I=w.value;try{P_(I)}catch(E){s=s??[],E instanceof nm?s=ci(ci([],Tr(s)),Tr(E.errors)):s.push(E)}}}catch(E){r={error:E}}finally{try{w&&!w.done&&(i=y.return)&&i.call(y)}finally{if(r)throw r.error}}}if(s)throw new nm(s)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)P_(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&pd(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&pd(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),cE=Bo.EMPTY;function fE(t){return t instanceof Bo||t&&"closed"in t&&qe(t.remove)&&qe(t.add)&&qe(t.unsubscribe)}function P_(t){qe(t)?t():t.unsubscribe()}var dE={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},xy={setTimeout:function(t,e){for(var n=[],r=2;r0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,i=this,s=i.hasError,o=i.isStopped,a=i.observers;return s||o?cE:(this.currentObservers=null,a.push(n),new Bo(function(){r.currentObservers=null,pd(a,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,i=r.hasError,s=r.thrownError,o=r.isStopped;i?n.error(s):o&&n.complete()},e.prototype.asObservable=function(){var n=new Ot;return n.source=this,n},e.create=function(n,r){return new B_(n,r)},e}(Ot),B_=function(t){pi(e,t);function e(n,r){var i=t.call(this)||this;return i.destination=n,i.source=r,i}return e.prototype.next=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,n)},e.prototype.error=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&i!==void 0?i:cE},e}(Kt);function F_(){for(var t=[],e=0;e0&&(h=new Wa({next:function(Q){return W.next(Q)},error:function(Q){E=!0,$(),m=sm(S,i,Q),W.error(Q)},complete:function(){I=!0,$(),m=sm(S,o),W.complete()}}),sr(O).subscribe(h))})(f)}}function sm(t,e){for(var n=[],r=2;r!!t.queryParams.limit,bT=t=>t.queryParams.limit===1,ST=t=>!!(t.queryParams.skip&&t.queryParams.skip>0),IT=t=>t.changeEvent.operation==="DELETE",ET=t=>t.changeEvent.operation==="INSERT",OT=t=>t.changeEvent.operation==="UPDATE",kT=t=>NE(t)&&t.previousResults.length>=t.queryParams.limit,DT=t=>{const e=t.queryParams.sortFields,n=t.changeEvent.previous,r=t.changeEvent.doc;if(!r)return!1;if(!n)return!0;for(let i=0;i{const e=t.changeEvent.id;if(t.keyDocumentMap)return t.keyDocumentMap.has(e);{const n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e=t.previousResults[0];return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},AT=t=>{const e=xg(t.previousResults);return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},PT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},RT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=xg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},TT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},MT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=xg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},NT=t=>{const e=t.changeEvent.previous;return e?t.queryParams.queryMatcher(e):!1},BT=t=>{const e=t.changeEvent.doc;return e?t.queryParams.queryMatcher(e):!1},FT=t=>t.previousResults.length===0,LT={0:ET,1:OT,2:IT,3:NE,4:bT,5:ST,6:FT,7:kT,8:CT,9:AT,10:DT,11:xT,12:PT,13:RT,14:TT,15:MT,16:NT,17:BT};function BE(t,e,n,r){var i=t.length,s=i-1,o=0;if(i===0)return t.push(e),0;for(var a;r<=s;)o=r+(s-r>>1),a=t[o],n(a,e)<=0?r=o+1:s=o-1;return n(a,e)<=0&&o++,t.splice(o,0,e),o}const $T=t=>{},Cg=t=>{t.previousResults.unshift(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Ag=t=>{t.previousResults.push(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Pg=t=>{const e=t.previousResults.shift();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},Rg=t=>{const e=t.previousResults.pop();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},jT=t=>{Pg(t),Ag(t)},UT=t=>{Rg(t),Cg(t)},zT=t=>{Pg(t),Cg(t)},VT=t=>{Rg(t),Ag(t)},FE=t=>{t.keyDocumentMap&&t.keyDocumentMap.delete(t.changeEvent.id);const e=t.queryParams.primaryKey,n=t.previousResults;for(let r=0;r{const e=t.changeEvent.doc,n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e={_id:"wrongHuman"+new Date().getTime()};t.previousResults.length=0,t.previousResults.push(e),t.keyDocumentMap&&(t.keyDocumentMap.clear(),t.keyDocumentMap.set(e._id,e))},LE=t=>{const e=t.changeEvent.id,n=t.changeEvent.doc;if(t.keyDocumentMap){if(t.keyDocumentMap.has(e))return;t.keyDocumentMap.set(e,n)}else if(t.previousResults.find(i=>i[t.queryParams.primaryKey]===e))return;BE(t.previousResults,n,t.queryParams.sortComparator,0)},qT=t=>{FE(t),LE(t)},HT=t=>{throw new Error("Action runFullQueryAgain must be implemented by yourself")},QT=t=>{throw new Error("Action unknownAction should never be called")},YT=["doNothing","insertFirst","insertLast","removeFirstItem","removeLastItem","removeFirstInsertLast","removeLastInsertFirst","removeFirstInsertFirst","removeLastInsertLast","removeExisting","replaceExisting","alwaysWrong","insertAtSortPosition","removeExistingAndInsertAtSortPosition","runFullQueryAgain","unknownAction"],GT={doNothing:$T,insertFirst:Cg,insertLast:Ag,removeFirstItem:Pg,removeLastItem:Rg,removeFirstInsertLast:jT,removeLastInsertFirst:UT,removeFirstInsertFirst:zT,removeLastInsertLast:VT,removeExisting:FE,replaceExisting:KT,alwaysWrong:WT,insertAtSortPosition:LE,removeExistingAndInsertAtSortPosition:qT,runFullQueryAgain:HT,unknownAction:QT},JT=40;function om(t){return t.charCodeAt(0)-JT}function XT(t){return t?"1":"0"}function j_(t,e){const n=[];for(let r=0,i=t.length;reM(nM(),LT,t);function iM(t){const e=rM(t);return YT[e]}function sM(t,e,n,r,i){const s=GT[t];return s({queryParams:e,changeEvent:n,previousResults:r,keyDocumentMap:i}),r}var Ar=String.fromCharCode(65535),li=Number.MIN_SAFE_INTEGER;function oM(t,e){var n=e.selector,r=t.indexes?t.indexes.slice(0):[];e.index&&(r=[e.index]);var i=!!e.sort.find(h=>Object.values(h)[0]==="desc"),s=new Set;Object.keys(n).forEach(h=>{var m=zi(t,h);m&&m.type==="boolean"&&Object.prototype.hasOwnProperty.call(n[h],"$eq")&&s.add(h)});var o=e.sort.map(h=>Object.keys(h)[0]),a=o.filter(h=>!s.has(h)).join(","),l=-1,f;if(r.forEach(h=>{var m=!0,y=!0,w=h.map(_=>{var O=n[_],z=O?Object.keys(O):[],W={};if(!O||!z.length){var Q=y?li:Ar;W={startKey:Q,endKey:m?Ar:li,inclusiveStart:!0,inclusiveEnd:!0}}else z.forEach(H=>{if(Tg.has(H)){var X=O[H],U=cM(H,X);W=Object.assign(W,U)}});return typeof W.startKey>"u"&&(W.startKey=li),typeof W.endKey>"u"&&(W.endKey=Ar),typeof W.inclusiveStart>"u"&&(W.inclusiveStart=!0),typeof W.inclusiveEnd>"u"&&(W.inclusiveEnd=!0),y&&!W.inclusiveStart&&(y=!1),m&&!W.inclusiveEnd&&(m=!1),W}),I=w.map(_=>_.startKey),E=w.map(_=>_.endKey),$={index:h,startKeys:I,endKeys:E,inclusiveEnd:m,inclusiveStart:y,sortSatisfiedByIndex:!i&&a===h.filter(_=>!s.has(_)).join(","),selectorSatisfiedByIndex:lM(h,e.selector,I,E)},S=fM(t,e,$);(S>=l||e.index)&&(l=S,f=$)}),!f)throw le("SNH",{query:e});return f}var Tg=new Set(["$eq","$gt","$gte","$lt","$lte"]),aM=new Set(["$eq","$gt","$gte"]),uM=new Set(["$eq","$lt","$lte"]);function lM(t,e,n,r){var i=Object.entries(e),s=i.find(([H,X])=>{if(!t.includes(H))return!0;var U=Object.entries(X).find(([ee,ce])=>!Tg.has(ee));return U});if(s||e.$and||e.$or)return!1;var o=[],a=new Set;for(var[l,f]of Object.entries(e)){if(!t.includes(l))return!1;var h=Object.keys(f).filter(H=>aM.has(H));if(h.length>1)return!1;var m=h[0];if(m&&a.add(l),m!=="$eq"){if(o.length>0)return!1;o.push(m)}}var y=[],w=new Set;for(var[I,E]of Object.entries(e)){if(!t.includes(I))return!1;var $=Object.keys(E).filter(H=>uM.has(H));if($.length>1)return!1;var S=$[0];if(S&&w.add(I),S!=="$eq"){if(y.length>0)return!1;y.push(S)}}var _=0;for(var O of t){for(var z of[a,w]){if(!z.has(O)&&z.size>0)return!1;z.delete(O)}var W=n[_],Q=r[_];if(W!==Q&&a.size>0&&w.size>0)return!1;_++}return!0}function cM(t,e){switch(t){case"$eq":return{startKey:e,endKey:e,inclusiveEnd:!0,inclusiveStart:!0};case"$lte":return{endKey:e,inclusiveEnd:!0};case"$gte":return{startKey:e,inclusiveStart:!0};case"$lt":return{endKey:e,inclusiveEnd:!1};case"$gt":return{startKey:e,inclusiveStart:!1};default:throw new Error("SNH")}}function fM(t,e,n){var r=0,i=h=>{h>0&&(r=r+h)},s=10,o=Xp(n.startKeys,h=>h!==li&&h!==Ar);i(o*s);var a=Xp(n.startKeys,h=>h!==Ar&&h!==li);i(a*s);var l=Xp(n.startKeys,(h,m)=>h===n.endKeys[m]);i(l*s*1.5);var f=n.sortSatisfiedByIndex?5:0;return i(f),r}const dM=2147483647,hM=-2147483648,pM=Number.MAX_SAFE_INTEGER,mM=Number.MIN_SAFE_INTEGER,Vi=Symbol("missing"),$E=Object.freeze(new Error("mingo: cycle detected while processing object/array")),yM=Object.getPrototypeOf([]),jE=Object.getPrototypeOf({}),vM="[object Object]",gM=/^\[object ([a-zA-Z0-9]+)\]$/;let Mg=class{};class Ng{}const Lo=t=>t===null?Mg:t===void 0?Ng:t.constructor,Ql=t=>{const e=OM(t);let n=0,r=e.length;for(;r;)n=(n<<5)-n^e.charCodeAt(--r);return n>>>0},UE=new Set(["null","undefined","boolean","number","string","date","regexp"]),U_=new Set([Ng,Mg,Boolean,String,Number]),Nu=t=>t.toString(),Sr=t=>`${Lo(t).name}[${t.toString()}]`,$o=new Map([[Number,Nu],[Boolean,Nu],[RegExp,Nu],[Function,Nu],[Symbol,Nu],[Date,t=>t.toISOString()],[String,JSON.stringify],[Mg,t=>"null"],[Ng,t=>"undefined"],[Int8Array,Sr],[Uint8Array,Sr],[Uint8ClampedArray,Sr],[Int16Array,Sr],[Uint16Array,Sr],[Int32Array,Sr],[Uint32Array,Sr],[Float32Array,Sr],[Float64Array,Sr]]);typeof BigInt<"u"&&$o.set(BigInt,t=>"0x"+t.toString(16));typeof BigInt64Array<"u"&&$o.set(BigInt64Array,Sr);typeof BigUint64Array<"u"&&$o.set(BigUint64Array,Sr);const wM={null:0,undefined:0,number:1,string:2,object:3,array:4,boolean:5,date:6,regexp:7,function:8},Mn=(t,e)=>{t===Vi&&(t=void 0),e===Vi&&(e=void 0);const[n,r]=[t,e].map(i=>wM[Al(i).toLowerCase()]);return n!==r?n-r:n===1||n===2||n===6?te?1:0:Wi(t,e)?0:te?1:0};function Yt(t,e){if(!t)throw new Error(e)}const _M=t=>{const e=Object.getPrototypeOf(Lo(t));return e&&e.name==="TypedArray"},Ry=t=>{if(U_.has(Lo(t)))return t;const e=new Set,n=r=>{if(e.has(r))throw $E;const i=Lo(r);if(U_.has(i))return r;try{if(Lt(r))return e.add(r),r.map(n);if(wt(r)){e.add(r);const s={};for(const o in r)s[o]=n(r[o]);return s}}finally{e.delete(r)}return i===Date||i===RegExp||_M(r)?new i(r):r};return n(t)},Al=t=>gM.exec(Object.prototype.toString.call(t))[1],um=t=>typeof t=="boolean",Ki=t=>typeof t=="string",Qn=t=>!isNaN(t)&&typeof t=="number",Lt=Array.isArray,wt=t=>{if(!t)return!1;const e=Object.getPrototypeOf(t);return(e===jE||e===null)&&vM===Object.prototype.toString.call(t)},Sh=t=>t===Object(t),Ty=t=>t instanceof Date,Cf=t=>t instanceof RegExp,Ih=t=>typeof t=="function",cn=t=>t==null,qa=(t,e)=>t.includes(e),zE=(t,e)=>!qa(t,e),bM=(t,e=!0)=>!!t||e&&t==="",uu=t=>cn(t)||Ki(t)&&!t||t instanceof Array&&t.length===0||wt(t)&&Object.keys(t).length===0,z_=t=>t===Vi,Yl=t=>t instanceof Array?t:[t],Zn=(t,e)=>!!t&&Object.prototype.hasOwnProperty.call(t,e),SM=(t,e)=>wt(t)&&wt(e)||Lt(t)&&Lt(e);function My(t,e,n){if(n=n||{flatten:!1},z_(t)||cn(t))return e;if(z_(e)||cn(e))return t;if(!SM(t,e)){if(n.skipValidation)return e||t;throw Error("mismatched types. must both be array or object")}if(n.skipValidation=!0,Lt(t)){const r=t,i=e;if(n.flatten){let s=0,o=0;for(;s{const s=KE(r,e);n.has(s)?n.get(s).some(o=>Wi(t[o],r))||n.get(s).push(i):n.set(s,[i])}),n}function Bg(t,e=Ql){if(t.some(a=>a.length==0))return[];if(t.length===1)return Array.from(t);const n=kM(t.map((a,l)=>[l,a.length]),a=>a[1]),r=t[n[0][0]],i=Ny(r,e),s=new Map,o=new Array;return i.forEach((a,l)=>{const f=a.map(w=>r[w]),h=f.map(w=>0),m=f.map(w=>[n[0][0],0]);let y=!1;for(let w=1;w$[_]);y=f.map((_,O)=>S.some((z,W)=>{const Q=h[O];return Wi(_,z)&&(h[O]++,Iw===t.length-1?[f[I],m[I]]:Vi).filter(w=>w!==Vi))}),o.sort((a,l)=>{const[f,[h,m]]=a,[y,[w,I]]=l,E=Mn(h,w);return E!==0?E:Mn(m,I)}).map(a=>a[0])}function VE(t,e=0){const n=new Array;function r(i,s){for(let o=0,a=i.length;o0||s<0)?r(i[o],Math.max(-1,s-1)):n.push(i[o])}return r(t,e),n}const IM=t=>{let[e,n]=[Object.getPrototypeOf(t),Object.getOwnPropertyNames(t)],r=e;for(;!n.length&&e!==jE&&e!==yM;)r=e,n=Object.getOwnPropertyNames(e),e=Object.getPrototypeOf(e);const i={};return n.forEach(s=>i[s]=t[s]),[i,r]};function Wi(t,e){const n=[[t,e]];for(;n.length>0;){if([t,e]=n.pop(),t===e)continue;const r=Lo(t);if(r!==Lo(e)||Ih(t))return!1;if($o.has(r)){const i=$o.get(r);if(i(t)!==i(e))return!1;continue}if(r===Array||r===Object){const i=Object.keys(t),s=Object.keys(e);if(i.length!==s.length||new Set(i.concat(s)).size!=i.length)return!1;for(const o of i)n.push([t[o],e[o]]);continue}return!1}return!n.length}function EM(t,e=Ql){const n=t.map(r=>Vi);return Ny(t,e).forEach((r,i)=>{r.forEach(s=>n[s]=t[s])}),n.filter(r=>r!==Vi)}function OM(t){const e=new Set,n=r=>{const i=Lo(r);if($o.has(i))return $o.get(i)(r);const s=i===Object?"":i.name;if(Ih(r.toJSON))return`${s}(${JSON.stringify(r)})`;if(e.has(r))throw $E;e.add(r);try{if(i===Array)return"["+r.map(n).join(",")+"]";if(i!==Object){const[a,l]=IM(r);if(Lt(r))return`${s}${n([...r,a])}`;r=a}const o=Object.keys(r);return o.sort(),`${s}{`+o.map(a=>`${a}:${n(r[a])}`).join(",")+"}"}finally{e.delete(r)}};return n(t)}function KE(t,e){return e=e||Ql,cn(t)?null:e(t).toString()}function kM(t,e,n=Mn){if(uu(t))return t;const r=new Array,i=new Array;for(let s=0;sn(s[0],o[0])),Gl(i,r.map(s=>s[1]))}function DM(t,e,n=Ql){if(t.length<1)return new Map;const r=new Map,i=new Map;for(let s=0;sWi(h,a)):null;cn(f)?(i.set(a,[o]),r.has(l)?r.get(l).push(a):r.set(l,[a])):i.get(f).push(o)}}return i}const lm=5e4;function Gl(t,...e){return t instanceof Array?e.reduce((n,r)=>{let i=Math.ceil(r.length/lm),s=0;for(;i-- >0;)Array.prototype.push.apply(n,r.slice(s,s+lm)),s+=lm;return n},t):e.filter(Sh).reduce((n,r)=>(Object.assign(n,r),n),t)}function By(t,e){return Sh(t)?t[e]:void 0}function xM(t,e){if(e<1)return t;for(;e--&&t.length===1;)t=t[0];return t}function lu(t,e,n){let r=0;function i(o,a){let l=o;for(let f=0;f0)break;r+=1;const y=a.slice(f);l=l.reduce((w,I)=>{const E=i(I,y);return E!==void 0&&w.push(E),w},[]);break}else l=By(l,h);if(l===void 0)break}return l}const s=UE.has(Al(t).toLowerCase())?t:i(t,e.split("."));return s instanceof Array&&(n!=null&&n.unwrapArray)?xM(s,r):s}function Af(t,e,n){const r=e.split("."),i=r[0],s=r.slice(1).join("."),o=/^\d+$/.exec(i)!==null,a=r.length>1;let l,f;if(t instanceof Array)if(o)l=By(t,Number(i)),a&&(l=Af(l,s,n)),l=[l];else{l=[];for(const h of t)f=Af(h,e,n),n!=null&&n.preserveMissing?(f===void 0&&(f=Vi),l.push(f)):f!==void 0&&l.push(f)}else{if(f=By(t,i),a&&(f=Af(f,s,n)),f===void 0)return;l=n!=null&&n.preserveKeys?Object.assign({},t):{},l[i]=f}return l}function Fy(t){if(t instanceof Array)for(let e=t.length-1;e>=0;e--)t[e]===Vi?t.splice(e,1):Fy(t[e]);else if(wt(t))for(const e in t)Zn(t,e)&&Fy(t[e])}const V_=/^\d+$/;function Pl(t,e,n,r){const i=e.split("."),s=i[0],o=i.slice(1).join(".");if(i.length===1)(wt(t)||Lt(t)&&V_.test(s))&&n(t,s);else{r!=null&&r.buildGraph&&cn(t[s])&&(t[s]={});const a=t[s];if(!a)return;const l=!!(i.length>1&&V_.test(i[1]));a instanceof Array&&(r!=null&&r.descendArray)&&!l?a.forEach(f=>Pl(f,o,n,r)):Pl(a,o,n,r)}}function CM(t,e,n){Pl(t,e,(r,i)=>{r[i]=Ih(n)?n(r[i]):n},{buildGraph:!0})}function K_(t,e,n){Pl(t,e,(r,i)=>{if(r instanceof Array){if(/^\d+$/.test(i))r.splice(parseInt(i),1);else if(n&&n.descendArray)for(const s of r)wt(s)&&delete s[i]}else wt(r)&&delete r[i]},n)}const AM=/^\$[a-zA-Z0-9_]+$/;function Wo(t){return AM.test(t)}function WE(t){if(UE.has(Al(t).toLowerCase()))return Cf(t)?{$regex:t}:{$eq:t};if(Sh(t)){if(!Object.keys(t).some(Wo))return{$eq:t};if(Zn(t,"$regex")){const n=Object.assign({},t);return n.$regex=new RegExp(t.$regex,t.$options),delete n.$options,n}}return t}var vs;(function(t){t.CLONE_ALL="CLONE_ALL",t.CLONE_INPUT="CLONE_INPUT",t.CLONE_OUTPUT="CLONE_OUTPUT",t.CLONE_OFF="CLONE_OFF"})(vs||(vs={}));class Eo{constructor(e,n,r,i=Date.now()){this._opts=e,this._root=n,this._local=r,this.timestamp=i,this.update(n,r)}static init(e,n,r){return e instanceof Eo?new Eo(e._opts,cn(e.root)?n:e.root,Object.assign({},e.local,r)):new Eo(e,n,r)}update(e,n){var r;return this._root=e,this._local=n&&Object.assign({},n,{variables:Object.assign({},(r=this._local)===null||r===void 0?void 0:r.variables,n==null?void 0:n.variables)}),this}getOptions(){return Object.freeze(Object.assign(Object.assign({},this._opts),{context:jo.from(this._opts.context)}))}get root(){return this._root}get local(){return this._local}get idKey(){return this._opts.idKey}get collation(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collation}get processingMode(){var e;return((e=this._opts)===null||e===void 0?void 0:e.processingMode)||vs.CLONE_OFF}get useStrictMode(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useStrictMode}get scriptEnabled(){var e;return(e=this._opts)===null||e===void 0?void 0:e.scriptEnabled}get useGlobalContext(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useGlobalContext}get hashFunction(){var e;return(e=this._opts)===null||e===void 0?void 0:e.hashFunction}get collectionResolver(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collectionResolver}get jsonSchemaValidator(){var e;return(e=this._opts)===null||e===void 0?void 0:e.jsonSchemaValidator}get variables(){var e;return(e=this._opts)===null||e===void 0?void 0:e.variables}get context(){var e;return(e=this._opts)===null||e===void 0?void 0:e.context}}function Fg(t){return t instanceof Eo?t.getOptions():Object.freeze(Object.assign(Object.assign({idKey:"_id",scriptEnabled:!0,useStrictMode:!0,useGlobalContext:!0,processingMode:vs.CLONE_OFF},t),{context:t!=null&&t.context?jo.from(t==null?void 0:t.context):jo.init({})}))}var Ye;(function(t){t.ACCUMULATOR="accumulator",t.EXPRESSION="expression",t.PIPELINE="pipeline",t.PROJECTION="projection",t.QUERY="query",t.WINDOW="window"})(Ye||(Ye={}));class jo{constructor(e){this.operators={[Ye.ACCUMULATOR]:{},[Ye.EXPRESSION]:{},[Ye.PIPELINE]:{},[Ye.PROJECTION]:{},[Ye.QUERY]:{},[Ye.WINDOW]:{}};for(const[n,r]of Object.entries(e))this.addOperators(n,r)}static init(e={}){return new jo(e)}static from(e){return new jo(e.operators)}addOperators(e,n){for(const[r,i]of Object.entries(n))this.getOperator(e,r)||(this.operators[e][r]=i);return this}addAccumulatorOps(e){return this.addOperators(Ye.ACCUMULATOR,e)}addExpressionOps(e){return this.addOperators(Ye.EXPRESSION,e)}addQueryOps(e){return this.addOperators(Ye.QUERY,e)}addPipelineOps(e){return this.addOperators(Ye.PIPELINE,e)}addProjectionOps(e){return this.addOperators(Ye.PROJECTION,e)}addWindowOps(e){return this.addOperators(Ye.WINDOW,e)}getOperator(e,n){return e in this.operators&&this.operators[e][n]||null}}const co=jo.init();function W_(t,e){for(const[n,r]of Object.entries(e)){Yt(Ih(r)&&Wo(n),`'${n}' is not a valid operator`);const i=Oo(t,n,null);Yt(!i||r===i,`${n} already exists for '${t}' operators. Cannot change operator function once registered.`)}switch(t){case Ye.ACCUMULATOR:co.addAccumulatorOps(e);break;case Ye.EXPRESSION:co.addExpressionOps(e);break;case Ye.PIPELINE:co.addPipelineOps(e);break;case Ye.PROJECTION:co.addProjectionOps(e);break;case Ye.QUERY:co.addQueryOps(e);break;case Ye.WINDOW:co.addWindowOps(e);break}}function Oo(t,e,n){const{context:r,useGlobalContext:i}=n||{},s=r?r.getOperator(t,e):null;return!s&&i?co.getOperator(t,e):s}const q_={$$ROOT(t,e,n){return n.root},$$CURRENT(t,e,n){return t},$$REMOVE(t,e,n){},$$NOW(t,e,n){return new Date(n.timestamp)}},Ly={$$KEEP(t,e,n){return t},$$PRUNE(t,e,n){},$$DESCEND(t,e,n){if(!Zn(e,"$cond"))return t;let r;for(const[i,s]of Object.entries(t))if(Sh(s)){if(s instanceof Array){const o=[];for(let a of s)wt(a)&&(a=H_(a,e,n.update(a))),cn(a)||o.push(a);r=o}else r=H_(s,e,n.update(s));cn(r)?delete t[i]:t[i]=r}return t}};function Xr(t,e,n,r){var i;const s=Eo.init(r,t);if(n=n||"",Wo(n)){const o=Oo(Ye.EXPRESSION,n,r);if(o)return o(t,e,s);const a=Oo(Ye.ACCUMULATOR,n,r);if(a)return t instanceof Array||(t=Xr(t,e,null,s),e=null),Yt(t instanceof Array,`'${n}' target must be an array.`),a(t,e,s.update(null,s.local));throw new Error(`operator '${n}' is not registered`)}if(Ki(e)&&e.length>0&&e[0]==="$"){if(Zn(Ly,e))return e;let o=s.root;const a=e.split(".");if(Zn(q_,a[0]))o=q_[a[0]](t,null,s),e=e.slice(a[0].length+1);else if(a[0].slice(0,2)==="$$"){o=Object.assign({},s.variables,{this:t},(i=s.local)===null||i===void 0?void 0:i.variables);const l=a[0].slice(2);Yt(Zn(o,l),`Use of undefined variable: ${l}`),e=e.slice(2)}else e=e.slice(1);return e===""?o:lu(o,e)}if(Lt(e))return e.map(o=>Xr(t,o,null,s));if(wt(e)){const o={};for(const[a,l]of Object.entries(e))if(o[a]=Xr(t,l,a,s),[Ye.EXPRESSION,Ye.ACCUMULATOR].some(f=>!!Oo(f,a,r)))return Yt(Object.keys(e).length===1,"Invalid aggregation expression '"+JSON.stringify(e)+"'"),o[a];return o}return e}function H_(t,e,n){const r=Xr(t,e,null,n);return Zn(Ly,r)?Ly[r](t,e,n):r}function Ha(t){return t instanceof Q_?t:new Q_(t)}function PM(...t){let e=0;return Ha(()=>{for(;e{const i=r.next();if(i.done)throw $y;return i.value}}else if(e instanceof Array){const r=e,i=r.length;let s=0;n=()=>{if(s0?this.push(si.TAKE,e):this}drop(e){return e>0?this.push(si.DROP,e):this}transform(e){const n=this;let r;return Ha(()=>(r||(r=Ha(e(n.value()))),r.next()))}value(){return this.isDone||(this.isDone=this.getNext(!0).done),this.yieldedValues}each(e){for(;;){const n=this.next();if(n.done)break;if(e(n.value)===!1)return!1}return!0}reduce(e,n){let r=this.next();for(n===void 0&&!r.done&&(n=r.value,r=this.next());!r.done;)n=e(n,r.value),r=this.next();return n}size(){return this.reduce((e,n)=>++e,0)}[Symbol.iterator](){return this}}class NM{constructor(e,n){this.pipeline=e,this.options=Fg(n)}stream(e){let n=Ha(e);const r=this.options.processingMode;(r==vs.CLONE_ALL||r==vs.CLONE_INPUT)&&n.map(Ry);const i=new Array;if(!uu(this.pipeline))for(const s of this.pipeline){const o=Object.keys(s),a=o[0],l=Oo(Ye.PIPELINE,a,this.options);Yt(o.length===1&&!!l,`invalid pipeline operator ${a}`),i.push(a),n=l(n,s[a],this.options)}return(r==vs.CLONE_OUTPUT||r==vs.CLONE_ALL&&Bg([["$group","$unwind"],i]).length)&&n.map(Ry),n}run(e){return this.stream(e).value()}}class BM{constructor(e,n,r,i){this.source=e,this.predicate=n,this.projection=r,this.options=i,this.operators=[],this.result=null,this.buffer=[]}fetch(){return this.result?this.result:(wt(this.projection)&&this.operators.push({$project:this.projection}),this.result=Ha(this.source).filter(this.predicate),this.operators.length>0&&(this.result=new NM(this.operators,this.options).stream(this.result)),this.result)}fetchAll(){const e=Ha([...this.buffer]);return this.buffer=[],PM(e,this.fetch())}all(){return this.fetchAll().value()}count(){return this.all().length}skip(e){return this.operators.push({$skip:e}),this}limit(e){return this.operators.push({$limit:e}),this}sort(e){return this.operators.push({$sort:e}),this}collation(e){return this.options=Object.assign(Object.assign({},this.options),{collation:e}),this}next(){if(this.buffer.length>0)return this.buffer.pop();const e=this.fetch().next();if(!e.done)return e.value}hasNext(){if(this.buffer.length>0)return!0;const e=this.fetch().next();return e.done?!1:(this.buffer.push(e.value),!0)}map(e){return this.all().map(e)}forEach(e){this.all().forEach(e)}[Symbol.iterator](){return this.fetchAll()}}class qs{constructor(e,n){this.condition=e,this.options=Fg(n),this.compiled=[],this.compile()}compile(){Yt(wt(this.condition),`query criteria must be an object: ${JSON.stringify(this.condition)}`);const e={};for(const[n,r]of Object.entries(this.condition)){if(n==="$where")Object.assign(e,{field:n,expr:r});else if(qa(["$and","$or","$nor","$expr","$jsonSchema"],n))this.processOperator(n,n,r);else{Yt(!Wo(n),`unknown top level operator: ${n}`);for(const[i,s]of Object.entries(WE(r)))this.processOperator(n,i,s)}e.field&&this.processOperator(e.field,e.field,e.expr)}}processOperator(e,n,r){const i=Oo(Ye.QUERY,n,this.options);if(!i)throw new Error(`unknown operator ${n}`);const s=i(e,r,this.options);this.compiled.push(s)}test(e){for(let n=0,r=this.compiled.length;nthis.test(r),n||{},this.options)}remove(e){return e.reduce((n,r)=>(this.test(r)||n.push(r),n),[])}}const FM=(t,e,n)=>{if(uu(e)||!wt(e))return t;let r=Mn;const i=n.collation;return wt(i)&&Ki(i.locale)&&(r=$M(i)),t.transform(s=>{const o=Object.keys(e);for(const a of o.reverse()){const l=DM(s,h=>lu(h,a),n.hashFunction),f=Array.from(l.keys()).sort(r);e[a]===-1&&f.reverse(),s=[],f.reduce((h,m)=>Gl(h,l.get(m)),s)}return s})},LM={1:"base",2:"accent",3:"variant"};function $M(t){const e={sensitivity:LM[t.strength||3],caseFirst:t.caseFirst==="off"?"false":t.caseFirst||"false",numeric:t.numericOrdering||!1,ignorePunctuation:t.alternate==="shifted"};(t.caseLevel||!1)===!0&&(e.sensitivity==="base"&&(e.sensitivity="case"),e.sensitivity==="accent"&&(e.sensitivity="variant"));const n=new Intl.Collator(t.locale,e);return(r,i)=>{if(!Ki(r)||!Ki(i))return Mn(r,i);const s=n.compare(r,i);return s<0?-1:s>0?1:0}}function wn(t){const e=(n,r,i)=>{const s={unwrapArray:!0},o=Math.max(1,n.split(".").length-1);return a=>{const l=lu(a,n,s);return t(l,r,Object.assign(Object.assign({},i),{depth:o}))}};return e.op="query",e}function qE(t,e,n){if(Wi(t,e)||cn(t)&&cn(e))return!0;if(t instanceof Array){const r=Wi.bind(null,e);return t.some(r)||VE(t,n==null?void 0:n.depth).some(r)}return!1}function jM(t,e,n){return!qE(t,e,n)}function HE(t,e,n){return cn(t)?e.some(r=>r===null):Bg([Yl(t),e],n==null?void 0:n.hashFunction).length>0}function UM(t,e,n){return!HE(t,e,n)}function zM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)<0)}function VM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)<=0)}function KM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)>0)}function WM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)>=0)}function qM(t,e,n){return Yl(t).some(r=>e.length===2&&r%e[0]===e[1])}function HM(t,e,n){const r=Yl(t),i=s=>Ki(s)&&bM(e.exec(s),n==null?void 0:n.useStrictMode);return r.some(i)||VE(r,1).some(i)}function QM(t,e,n){return(e===!1||e===0)&&t===void 0||(e===!0||e===1)&&t!==void 0}function YM(t,e,n){if(!Lt(t)||!Lt(e)||!t.length||!e.length)return!1;let r=!0;for(const i of e){if(!r)break;wt(i)&&qa(Object.keys(i),"$elemMatch")?r=QE(t,i.$elemMatch,n):i instanceof RegExp?r=t.some(s=>typeof s=="string"&&i.test(s)):r=t.some(s=>Wi(i,s))}return r}function GM(t,e,n){return Array.isArray(t)&&t.length===e}function JM(t){return Wo(t)&&["$and","$or","$nor"].indexOf(t)===-1}function QE(t,e,n){if(Lt(t)&&!uu(t)){let r=o=>o,i=e;Object.keys(e).every(JM)&&(i={temp:e},r=o=>({temp:o}));const s=new qs(i,n);for(let o=0,a=t.length;ot===null,G_=t=>Qn(t)&&t>=hM&&t<=dM&&t.toString().indexOf(".")===-1,J_=t=>Qn(t)&&t>=mM&&t<=pM&&t.toString().indexOf(".")===-1,XM={array:Lt,bool:um,boolean:um,date:Ty,decimal:Qn,double:Qn,int:G_,long:J_,number:Qn,null:Y_,object:wt,regex:Cf,regexp:Cf,string:Ki,undefined:cn,function:t=>{throw new Error("unsupported type key `function`.")},1:Qn,2:Ki,3:wt,4:Lt,6:cn,8:um,9:Ty,10:Y_,11:Cf,16:G_,18:J_,19:Qn};function X_(t,e,n){const r=XM[e];return r?r(t):!1}function ZM(t,e,n){return Array.isArray(e)?e.findIndex(r=>X_(t,r))>=0:X_(t,e)}function Eh(t,e,n){return Yl(t).some(r=>Al(r)===Al(e)&&n(r,e))}const Z_=(t,e)=>{const n={};return t.split("").forEach((r,i)=>n[r]=e*(i+1)),n};Object.assign(Object.assign(Object.assign({},Z_("ABCDEFGHIKLM",1)),Z_("NOPQRSTUVWXY",-1)),{Z:0});const eb={undefined:null,null:null,NaN:NaN,Infinity:new Error,"-Infinity":new Error};function or(t,e=eb){const n=Object.assign({},eb,e),r=new Set(Object.keys(n));return(i,s,o)=>{const a=Xr(i,s,null,o);if(r.has(`${a}`)){const l=n[`${a}`];if(l instanceof Error)throw new Error(`cannot apply $${t.name} to -inf, value must in (-inf,inf)`);return l}return t(a)}}or(Math.acos,{Infinity:1/0,0:new Error});or(Math.acosh,{Infinity:1/0,0:new Error});or(Math.asin);or(Math.asinh,{Infinity:1/0,"-Infinity":-1/0});or(Math.atan);or(Math.atanh,{1:1/0,"-1":-1/0});or(Math.cos);or(Math.cosh,{"-Infinity":1/0,Infinity:1/0});const e2=Math.PI/180;or(t=>t*e2,{Infinity:1/0,"-Infinity":1/0});const t2=180/Math.PI;or(t=>t*t2,{Infinity:1/0,"-Infinity":-1/0});or(Math.sin);or(Math.sinh,{"-Infinity":-1/0,Infinity:1/0});or(Math.tan);const n2=(t,e,n)=>{if(uu(e))return t;let r=Object.keys(e),i=!1;YE(e,n);const s=n.idKey;if(qa(r,s)){const a=e[s];(a===0||a===!1)&&(r=r.filter(zE.bind(null,[s])),i=r.length==0)}else r.push(s);const o=Eo.init(n);return t.map(a=>jy(a,e,o.update(a),r,i))};function jy(t,e,n,r,i){let s={},o=!1,a=!1;const l=[];i&&l.push(n.idKey);for(const f of r){let h;const m=e[f];if(f!==n.idKey&&qa([0,!1],m)&&(a=!0),f===n.idKey&&uu(m))h=t[f];else if(Ki(m))h=Xr(t,m,f,n);else if(!qa([1,!0],m))if(m instanceof Array)h=m.map(w=>{const I=Xr(t,w,null,n);return cn(I)?null:I});else if(wt(m)){const w=m,I=Object.keys(m),E=I.length==1?I[0]:"",$=Oo(Ye.PROJECTION,E,n);if($)E==="$slice"?Yl(w[E]).every(Qn)?(h=$(t,w[E],f,n),o=!0):h=Xr(t,w,f,n):h=$(t,w[E],f,n);else if(Wo(E))h=Xr(t,w[E],E,n);else if(Zn(t,f)){YE(w,n);let S=t[f];S instanceof Array?h=S.map(_=>jy(_,w,n,I,!1)):(S=wt(S)?S:t,h=jy(S,w,n,I,!1))}else h=Xr(t,m,null,n)}else{l.push(f);continue}const y=Af(t,f,{preserveMissing:!0});y!==void 0&&My(s,y,{flatten:!0}),zE([0,1,!1,!0],m)&&(h===void 0?K_(s,f,{descendArray:!0}):CM(s,f,h))}if(Fy(s),(o||a||i)&&(s=Gl({},t,s),l.length>0))for(const f of l)K_(s,f,{descendArray:!0});return s}function YE(t,e){const n=[!1,!1];for(const[r,i]of Object.entries(t)){if(r===(e==null?void 0:e.idKey))return;i===0||i===!1?n[0]=!0:(i===1||i===!0)&&(n[1]=!0),Yt(!(n[0]&&n[1]),"Projection cannot have a mix of inclusion and exclusion.")}}const r2=(t,e,n)=>{Yt(Lt(e),"Invalid expression: $and expects value to be an Array.");const r=e.map(i=>new qs(i,n));return i=>r.every(s=>s.test(i))},GE=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $or expects value to be an Array");const r=e.map(i=>new qs(i,n));return i=>r.some(s=>s.test(i))},i2=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $nor expects value to be an array.");const r=GE("$or",e,n);return i=>!r(i)},s2=(t,e,n)=>{const r={};r[t]=WE(e);const i=new qs(r,n);return s=>!i.test(s)},o2=wn(qE),a2=wn(KM),u2=wn(WM),l2=wn(HE),c2=wn(zM),f2=wn(VM),d2=wn(jM),h2=wn(UM),p2=wn(qM),m2=wn(HM);wn(YM);const y2=wn(QE),v2=wn(GM),g2=wn(QM),w2=wn(ZM);var tb=!1;function _2(t){return tb||(W_(Ye.PIPELINE,{$sort:FM,$project:n2}),W_(Ye.QUERY,{$and:r2,$eq:o2,$elemMatch:y2,$exists:g2,$gt:a2,$gte:u2,$in:l2,$lt:c2,$lte:f2,$ne:d2,$nin:h2,$mod:p2,$nor:i2,$not:s2,$or:GE,$regex:m2,$size:v2,$type:w2}),tb=!0),new qs(t)}function Rl(t,e){var n=Fn(t.primaryKey);e=$e(e);var r=Pn(e);if(typeof r.skip!="number"&&(r.skip=0),r.selector?(r.selector=r.selector,Object.entries(r.selector).forEach(([f,h])=>{(typeof h!="object"||h===null)&&(r.selector[f]={$eq:h})})):r.selector={},r.index){var i=Ua(r.index);i.includes(n)||i.push(n),r.index=i}if(r.sort){var l=r.sort.find(f=>PP(f)===n);l||(r.sort=r.sort.slice(0),r.sort.push({[n]:"asc"}))}else if(r.index)r.sort=r.index.map(f=>({[f]:"asc"}));else{if(t.indexes){var s=new Set;Object.entries(r.selector).forEach(([f,h])=>{var m=!1;typeof h=="object"&&h!==null?m=!!Object.keys(h).find(y=>Tg.has(y)):m=!0,m&&s.add(f)});var o=-1,a;t.indexes.forEach(f=>{var h=pg(f)?f:[f],m=h.findIndex(y=>!s.has(y));m>0&&m>o&&(o=m,a=h)}),a&&(r.sort=a.map(f=>({[f]:"asc"})))}r.sort||(r.sort=[{[n]:"asc"}])}return r}function Lg(t,e){if(!e.sort)throw le("SNH",{query:e});var n=[];e.sort.forEach(i=>{var s=Object.keys(i)[0],o=Object.values(i)[0];n.push({key:s,direction:o,getValueFn:XI(s)})});var r=(i,s)=>{for(var o=0;on.test(i);return r}function b2(t,e){return!e.sort||e.sort.length===0?[t]:e.sort.map(n=>Object.keys(n)[0])}var S2=new WeakMap;function I2(t){return Mr(S2,t,()=>{var e=t.collection,n=Rl(e.storageInstance.schema,Pn(t.mangoQuery)),r=e.schema.primaryPath,i=Lg(e.schema.jsonSchema,n),s=(f,h)=>{var m={docA:f,docB:h,rxQuery:t};return i(m.docA,m.docB)},o=Oh(e.schema.jsonSchema,n),a=f=>{var h={doc:f,rxQuery:t};return o(h.doc)},l={primaryKey:t.collection.schema.primaryPath,skip:n.skip,limit:n.limit,sortFields:b2(r,n),sortComparator:s,queryMatcher:a};return l})}function E2(t,e){if(!t.collection.database.eventReduce)return{runFullQueryAgain:!0};var n=I2(t),r=ye(t._result).docsData.slice(0),i=ye(t._result).docsDataMap,s=!1,o=e.map(l=>lT(l)).filter(JI),a=o.find(l=>{var f={queryParams:n,changeEvent:l,previousResults:r,keyDocumentMap:i},h=iM(f);if(h==="runFullQueryAgain")return!0;if(h!=="doNothing")return s=!0,sM(h,n,l,r,i),!1});return a?{runFullQueryAgain:!0}:{runFullQueryAgain:!1,changed:s,newResults:r}}var O2=function(){function t(){this._map=new Map}var e=t.prototype;return e.getByQuery=function(r){var i=r.toString();return Mr(this._map,i,()=>r)},t}();function k2(){return new O2}function nb(t,e){e.uncached=!0;var n=e.toString();t._map.delete(n)}function D2(t){return t.refCount$.observers.length}var x2=100,C2=30*1e3,A2=(t,e)=>(n,r)=>{if(!(r._map.size0)){if(a._lastEnsureEqual===0&&a._creationTimem._lastEnsureEqual-y._lastEnsureEqual),h=f.slice(0,l);h.forEach(m=>nb(r,m))}}},JE=A2(x2,C2),cm=new WeakSet;function P2(t){cm.has(t)||(cm.add(t),qP().then(()=>QP(200)).then(()=>{t.destroyed||t.cacheReplacementPolicy(t,t._queryCache),cm.delete(t)}))}var XE=function(){function t(n,r,i){this.cacheItemByDocId=new Map,this.registry=typeof FinalizationRegistry=="function"?new FinalizationRegistry(s=>{var o=s.docId,a=this.cacheItemByDocId.get(o);a&&(a.byRev.delete(s.revisionHeight),a.byRev.size===0&&this.cacheItemByDocId.delete(o))}):void 0,this.registerIdleTasks=[],this.primaryPath=n,this.changes$=r,this.documentCreator=i,r.subscribe(s=>{var o=s.documentId,a=this.cacheItemByDocId.get(o);if(a){var l=Dg(s);a.last=l}})}var e=t.prototype;return e.getLatestDocumentData=function(r){var i=Mo(this.cacheItemByDocId,r);return i.last},e.getLatestDocumentDataIfExists=function(r){var i=this.cacheItemByDocId.get(r);if(i)return i.last},Vs(t,[{key:"getCachedRxDocument",get:function(){var n=R2(this);return xs(this,"getCachedRxDocument",n)}}]),t}();function R2(t){var e=t.primaryPath,n=t.cacheItemByDocId,r=t.registry,i=it.deepFreezeWhenDevMode,s=t.documentCreator,o=a=>{var l=a[e],f=x_(a._rev),h=Mr(n,l,()=>T2(a)),m=h.byRev,y=m.get(f),w=y?y.deref():void 0;return w||(a=i(a),w=s(a),m.set(f,N2(w)),r&&(t.registerIdleTasks.push(w),t.registerIdlePromise||(t.registerIdlePromise=vg().then(()=>{t.registerIdlePromise=void 0;var I=t.registerIdleTasks;I.length!==0&&(t.registerIdleTasks=[],I.forEach(E=>{r.register(E,{docId:E.primary,revisionHeight:x_(E.revision)})}))})))),w};return o}function ZE(t,e){for(var n=t.getCachedRxDocument,r=[],i=0;ie._data))}},{key:"docsDataMap",get:function(){var e=new Map;return this.documents.forEach(n=>{e.set(n.primary,n._data)}),xs(this,"docsDataMap",e)}},{key:"docsMap",get:function(){for(var e=new Map,n=this.documents,r=0;r{var m=this.collection._docCache.getLatestDocumentDataIfExists(h);if(m){if(!m._deleted){var y=this.collection._docCache.getCachedRxDocument(m);o.set(h,y)}}else a.push(h)}),a.length>0){var l=await this.collection.storageInstance.findDocumentsById(a,!1);l.forEach(h=>{var m=this.collection._docCache.getCachedRxDocument(h);o.set(m.primary,m)})}return o}var f=nO(this);return f.then(h=>(this._lastExecEnd=Ft(),h))},e.exec=function(r){if(r&&this.op!=="findOne")throw le("QU9",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return ib(this).then(()=>As(this.$)).then(i=>{if(!i&&r)throw le("QU10",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return i})},e.toString=function(){var r=fd({op:this.op,query:this.mangoQuery,other:this.other},!0),i=JSON.stringify(r);return this.toString=()=>i,i},e.getPreparedQuery=function(){var r={rxQuery:this,mangoQuery:Rl(this.collection.schema.jsonSchema,this.mangoQuery)};r.mangoQuery.selector._deleted={$eq:!1},r.mangoQuery.index&&r.mangoQuery.index.unshift("_deleted"),Nr("prePrepareQuery",r);var i=Jl(this.collection.schema.jsonSchema,r.mangoQuery);return this.getPreparedQuery=()=>i,i},e.doesDocumentDataMatch=function(r){return r._deleted?!1:this.queryMatcher(r)},e.remove=function(){return this.exec().then(r=>Array.isArray(r)?Promise.all(r.map(i=>i.remove())):r.remove())},e.update=function(r){throw pt("update")},e.where=function(r){throw pt("query-builder")},e.sort=function(r){throw pt("query-builder")},e.skip=function(r){throw pt("query-builder")},e.limit=function(r){throw pt("query-builder")},Vs(t,[{key:"$",get:function(){if(!this._$){var n=this.collection.$.pipe(lt(r=>!r.isLocal),Hl(null),Br(()=>ib(this)),Mt(()=>this._result),Pi(Ai),Fo((r,i)=>!!(r&&r.time===ye(i).time)),lt(r=>!!r),Mt(r=>{var i=ye(r);return this.op==="count"?i.count:this.op==="findOne"?i.documents.length===0?null:i.documents[0]:this.op==="findByIds"?i.docsMap:i.documents.slice(0)}));this._$=gT(n,this.refCount$.pipe(lt(()=>!1)))}return this._$}},{key:"$$",get:function(){var n=this.collection.database.getReactivityFactory();return n.fromObservable(this.$,void 0)}},{key:"queryMatcher",get:function(){var n=this.collection.schema.jsonSchema,r=Rl(this.collection.schema.jsonSchema,this.mangoQuery);return xs(this,"queryMatcher",Oh(n,r))}},{key:"asRxQuery",get:function(){return this}}]),t}();function tl(){return{selector:{}}}function j2(t){return t.collection._queryCache.getByQuery(t)}function ra(t,e,n,r){Nr("preCreateRxQuery",{op:t,queryObj:e,collection:n,other:r});var i=new eO(t,e,n,r);return i=j2(i),P2(n),i}function tO(t){var e=t.asRxQuery.collection._changeEventBuffer.counter;return t._latestChangeEvent>=e}function ib(t){return t.collection.database.destroyed||tO(t)?Jn:(t._ensureEqualQueue=t._ensureEqualQueue.then(()=>U2(t)),t._ensureEqualQueue)}function U2(t){if(t._lastEnsureEqual=Ft(),t.collection.database.destroyed||tO(t))return Jn;var e=!1,n=!1;if(t._latestChangeEvent===-1&&(n=!0),!n){var r=t.asRxQuery.collection._changeEventBuffer.getFrom(t._latestChangeEvent+1);if(r===null)n=!0;else{t._latestChangeEvent=t.asRxQuery.collection._changeEventBuffer.counter;var i=t.asRxQuery.collection._changeEventBuffer.reduceByLastOfDoc(r);if(t.op==="count"){var s=ye(t._result).count,o=s;i.forEach(l=>{var f=l.previousDocumentData&&t.doesDocumentDataMatch(l.previousDocumentData),h=t.doesDocumentDataMatch(l.documentData);!f&&h&&o++,f&&!h&&o--}),o!==s&&(e=!0,t._setResultData(o))}else{var a=E2(t,i);a.runFullQueryAgain?n=!0:a.changed&&(e=!0,t._setResultData(a.newResults))}}}return n?t._execOverDatabase().then(l=>(t._latestChangeEvent=t.collection._changeEventBuffer.counter,typeof l=="number"?((!t._result||l!==t._result.count)&&(e=!0,t._setResultData(l)),e):((!t._result||!TP(t.collection.schema.primaryPath,l,t._result.docsData))&&(e=!0,t._setResultData(l)),e))):Promise.resolve(e)}function Jl(t,e){if(!e.sort)throw le("SNH",{query:e});var n=oM(t,e);return{query:e,queryPlan:n}}async function nO(t){var e=[],n=t.collection;if(t.isFindOneByIdQuery)if(Array.isArray(t.isFindOneByIdQuery)){var r=t.isFindOneByIdQuery;if(r=r.filter(h=>{var m=t.collection._docCache.getLatestDocumentDataIfExists(h);return m?(m._deleted||e.push(m),!1):!0}),r.length>0){var i=await n.storageInstance.findDocumentsById(r,!1);za(e,i)}}else{var s=t.isFindOneByIdQuery,o=t.collection._docCache.getLatestDocumentDataIfExists(s);if(!o){var a=await n.storageInstance.findDocumentsById([s],!1);a[0]&&(o=a[0])}o&&!o._deleted&&e.push(o)}else{var l=t.getPreparedQuery(),f=await n.storageInstance.query(l);e=f.documents}return e}function z2(t,e){if(!e.skip&&e.selector&&Object.keys(e.selector).length===1&&e.selector[t]){var n=e.selector[t];if(typeof n=="string")return n;if(Object.keys(n).length===1&&typeof n.$eq=="string"||Object.keys(n).length===1&&Array.isArray(n.$eq)&&!n.$eq.find(r=>typeof r!="string"))return n.$eq}return!1}var V2="_rxdb_internal";async function Xl(t,e){var n=await t.findDocumentsById([e],!1),r=n[0];if(r)return r}async function Tl(t,e,n){var r=await t.bulkWrite([e],n);if(r.error.length>0){var i=r.error[0];throw i}else{var s=r.success[0];return s}}function K2(t,e){var n=Xl(t,e),r=t.changeStream().pipe(Mt(i=>i.events.find(s=>s.documentId===e)),lt(i=>!!i),Mt(i=>Promise.resolve(ye(i).documentData)),Hl(n),Cl(i=>i),lt(i=>!!i));return r}function Ml(t){return Object.assign({},...t)}function rO(t,e,n){var r=e.documentData,i=e.previousDocumentData,s={documentId:e.documentId,collectionName:n?n.name:void 0,isLocal:t,operation:e.operation,documentData:it.deepFreezeWhenDevMode(r),previousDocumentData:it.deepFreezeWhenDevMode(i)};return s}function yd(t,e,n,r){if(r)throw r.status===409?le("CONFLICT",{collection:t.name,id:e,writeError:r,data:n}):r.status===422?le("VD2",{collection:t.name,id:e,writeError:r,data:n}):r}function iO(t,e,n,r,i,s,o){for(var a=!!t.schema.attachments,l=[],f=[],h=[],m=su(10),y={id:m,events:[],checkpoint:null,context:i,startTime:Ft(),endTime:0},w=y.events,I=[],E=[],$=[],S=n.size>0,_,O=r.length,z=function(){var Q=r[W],H=Q.document,X=Q.previous,U=H[e],ee=H._deleted,ce=X&&X._deleted,de=void 0;S&&(de=n.get(U));var Pe;if(de){var Te=de._rev;if(!X||X&&Te!==X._rev){var Dt={isError:!0,status:409,documentId:U,writeRow:Q,documentInDb:de};return h.push(Dt),1}var G=a?fm(Q):Q;a&&(ee?X&&Object.keys(X._attachments).forEach(ft=>{E.push({documentId:U,attachmentId:ft,digest:ye(X)._attachments[ft].digest})}):(Object.entries(H._attachments).find(([ft,Ct])=>{var Un=X?X._attachments[ft]:void 0;return!Un&&!Ct.data&&(Pe={documentId:U,documentInDb:de,isError:!0,status:510,writeRow:Q,attachmentId:ft}),!0}),Pe||Object.entries(H._attachments).forEach(([ft,Ct])=>{var Un=X?X._attachments[ft]:void 0;if(!Un)I.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest});else{var tn=G.document._attachments[ft].digest;Ct.data&&Un.digest!==tn&&$.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest})}}))),Pe?h.push(Pe):(a?(f.push(fm(G)),o&&o(H)):(f.push(G),o&&o(H)),_=G);var oe=null,ue=null,Re=null;if(ce&&!ee)Re="INSERT",oe=a?gs(H):H;else if(X&&!ce&&!ee)Re="UPDATE",oe=a?gs(H):H,ue=X;else if(ee)Re="DELETE",oe=ye(H),ue=X;else throw le("SNH",{args:{writeRow:Q}});var xt={documentId:U,documentData:oe,previousDocumentData:ue,operation:Re};w.push(xt)}else{var ot=!!ee;if(a&&Object.entries(H._attachments).forEach(([ft,Ct])=>{Ct.data?I.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest}):(Pe={documentId:U,isError:!0,status:510,writeRow:Q,attachmentId:ft},h.push(Pe))}),Pe||(a?(l.push(fm(Q)),s&&s(H)):(l.push(Q),s&&s(H)),_=Q),!ot){var ct={documentId:U,operation:"INSERT",documentData:a?gs(H):H,previousDocumentData:a&&X?gs(X):X};w.push(ct)}}},W=0;W{e._attachments[n]=q2(r)}),e}function $g(t){var e=$e(t);return e._meta=$e(t._meta),e}function jg(t,e,n){it.deepFreezeWhenDevMode(n);var r=Fn(n.primaryKey);function i(o){var a=$e(o.document);if(a._meta=$e(a._meta),it.isDevMode()){a=oE(r,n,a);try{typeof structuredClone=="function"?structuredClone(o):JSON.parse(JSON.stringify(o))}catch{throw le("DOC24",{collection:e.collectionName,document:o.document})}o.previous,o.previous&&Object.keys(o.previous._meta).forEach(l=>{if(!Object.prototype.hasOwnProperty.call(o.document._meta,l))throw le("SNH",{dataBefore:o.previous,dataAfter:o.document})})}return a._meta.lwt=Ft(),a._rev=Ui(t.token,o.previous),{document:a,previous:o.previous}}var s={originalStorageInstance:e,schema:e.schema,internals:e.internals,collectionName:e.collectionName,databaseName:e.databaseName,options:e.options,bulkWrite(o,a){var l=o.map(f=>i(f));return t.lockedRun(()=>e.bulkWrite(l,a)).then(f=>{var h={error:[],success:f.success.slice(0)},m=f.error.filter(w=>w.status===409&&!w.writeRow.previous&&!w.writeRow.document._deleted&&ye(w.documentInDb)._deleted?!0:(h.error.push(w),!1));if(m.length>0){var y=m.map(w=>({previous:w.documentInDb,document:Object.assign({},w.writeRow.document,{_rev:Ui(t.token,w.documentInDb)})}));return t.lockedRun(()=>e.bulkWrite(y,a)).then(w=>(za(h.error,w.error),za(h.success,w.success),h))}return f})},query(o){return t.lockedRun(()=>e.query(o))},count(o){return t.lockedRun(()=>e.count(o))},findDocumentsById(o,a){return t.lockedRun(()=>e.findDocumentsById(o,a))},getAttachmentData(o,a,l){return t.lockedRun(()=>e.getAttachmentData(o,a,l))},getChangedDocumentsSince:e.getChangedDocumentsSince?(o,a)=>t.lockedRun(()=>e.getChangedDocumentsSince(ye(o),a)):void 0,cleanup(o){return t.lockedRun(()=>e.cleanup(o))},remove(){return t.storageInstances.delete(s),t.lockedRun(()=>e.remove())},close(){return t.storageInstances.delete(s),t.lockedRun(()=>e.close())},changeStream(){return e.changeStream()},conflictResultionTasks(){return e.conflictResultionTasks()},resolveConflictResultionTask(o){if(o.output.isEqual)return e.resolveConflictResultionTask(o);var a=Object.assign({},o.output.documentData,{_meta:Ks(),_rev:Rn(),_attachments:{}}),l=$e(a);return delete l._meta,delete l._rev,delete l._attachments,e.resolveConflictResultionTask({id:o.id,output:{isEqual:!1,documentData:l}})}};return t.storageInstances.add(s),s}function sO(t){if(t.schema.keyCompression)throw le("UT5",{args:{params:t}});if(vd(t.schema))throw le("UT6",{args:{params:t}});if(t.schema.attachments&&t.schema.attachments.compression)throw le("UT7",{args:{params:t}})}function vd(t){return!!(t.encrypted&&t.encrypted.length>0||t.attachments&&t.attachments.encrypted)}function H2(t,e,n){var r=Fn(t.schema.primaryKey),i=n?n.lwt:mg,s=n?n.id:"";return Rl(t.schema,{selector:{$or:[{"_meta.lwt":{$gt:i}},{"_meta.lwt":{$eq:i},[r]:{$gt:n?s:""}}],"_meta.lwt":{$gte:i}},sort:[{"_meta.lwt":"asc"},{[r]:"asc"}],skip:0,limit:e})}async function oO(t,e,n){if(t.getChangedDocumentsSince)return t.getChangedDocumentsSince(e,n);var r=Fn(t.schema.primaryKey),i=Jl(t.schema,H2(t,e,n)),s=await t.query(i),o=s.documents,a=xP(o);return{documents:o,checkpoint:a?{id:a[r],lwt:a._meta.lwt}:n||{id:"",lwt:0}}}var aO=function(){function t(n,r,i,s){this.queueByDocId=new Map,this.isRunning=!1,this.storageInstance=n,this.primaryPath=r,this.preWrite=i,this.postWrite=s}var e=t.prototype;return e.addWrite=function(r,i){var s=r[this.primaryPath],o=Mr(this.queueByDocId,s,()=>[]),a=new Promise((l,f)=>{var h={lastKnownDocumentState:r,modifier:i,resolve:l,reject:f};ye(o).push(h),this.triggerRun()});return a},e.triggerRun=async function(){if(!(this.isRunning===!0||this.queueByDocId.size===0)){this.isRunning=!0;var r=[],i=this.queueByDocId;this.queueByDocId=new Map,await Promise.all(Array.from(i.entries()).map(async([o,a])=>{var l=Q2(a.map(m=>m.lastKnownDocumentState)),f=l;for(var h of a)try{f=await h.modifier(Pn(f))}catch(m){h.reject(m),h.reject=()=>{},h.resolve=()=>{}}try{await this.preWrite(f,l)}catch(m){a.forEach(y=>y.reject(m));return}r.push({previous:l,document:f})}));var s=r.length>0?await this.storageInstance.bulkWrite(r,"incremental-write"):{error:[],success:[]};return await Promise.all(s.success.map(o=>{var a=o[this.primaryPath];this.postWrite(o);var l=Mo(i,a);l.forEach(f=>f.resolve(o))})),s.error.forEach(o=>{var a=o.documentId,l=Mo(i,a),f=_h(o);if(f){var h=Mr(this.queueByDocId,a,()=>[]);l.reverse().forEach(y=>{y.lastKnownDocumentState=ye(f.documentInDb),ye(h).unshift(y)})}else{var m=sR(o);l.forEach(y=>y.reject(m))}}),this.isRunning=!1,this.triggerRun()}},t}();function sb(t){var e=async n=>{var r=RP(n);r._deleted=n._deleted;var i=await t(r),s=Object.assign({},i,{_meta:n._meta,_attachments:n._attachments,_rev:n._rev,_deleted:typeof i._deleted<"u"?i._deleted:n._deleted});return typeof s._deleted>"u"&&(s._deleted=!1),s};return e}function Q2(t){var e=t[0],n=Va(e._rev).height;return t.forEach(r=>{var i=Va(r._rev).height;i>n&&(e=r,n=i)}),e}var kh={get primaryPath(){var t=this;if(t.isInstanceOfRxDocument)return t.collection.schema.primaryPath},get primary(){var t=this;if(t.isInstanceOfRxDocument)return t._data[t.primaryPath]},get revision(){var t=this;if(t.isInstanceOfRxDocument)return t._data._rev},get deleted$(){var t=this;if(t.isInstanceOfRxDocument)return t.$.pipe(Mt(e=>e._data._deleted))},get deleted$$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.deleted$,t.getLatest().deleted)},get deleted(){var t=this;if(t.isInstanceOfRxDocument)return t._data._deleted},getLatest(){var t=this.collection._docCache.getLatestDocumentData(this.primary);return this.collection._docCache.getCachedRxDocument(t)},get $(){var t=this;return t.collection.$.pipe(lt(e=>!e.isLocal),lt(e=>e.documentId===this.primary),Mt(e=>Dg(e)),Hl(t.collection._docCache.getLatestDocumentData(this.primary)),Fo((e,n)=>e._rev===n._rev),Mt(e=>this.collection._docCache.getCachedRxDocument(e)),Pi(Ai))},get $$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.$,t.getLatest()._data)},get$(t){if(it.isDevMode()){if(t.includes(".item."))throw le("DOC1",{path:t});if(t===this.primaryPath)throw le("DOC2");if(this.collection.schema.finalFields.includes(t))throw le("DOC3",{path:t});var e=zi(this.collection.schema.jsonSchema,t);if(!e)throw le("DOC4",{path:t})}return this.$.pipe(Mt(n=>Ts(n,t)),Fo())},get$$(t){var e=this.get$(t),n=this.collection.database.getReactivityFactory();return n.fromObservable(e,this.getLatest().get(t))},populate(t){var e=zi(this.collection.schema.jsonSchema,t),n=this.get(t);if(!n)return yg;if(!e)throw le("DOC5",{path:t});if(!e.ref)throw le("DOC6",{path:t,schemaObj:e});var r=this.collection.database.collections[e.ref];if(!r)throw le("DOC7",{ref:e.ref,path:t,schemaObj:e});return e.type==="array"?r.findByIds(n).exec().then(i=>{var s=i.values();return Array.from(s)}):r.findOne(n).exec()},get(t){return Mr(this._propertyCache,t,()=>{var e=Ts(this._data,t);if(typeof e!="object"||e===null||Array.isArray(e))return it.deepFreezeWhenDevMode(e);var n=this,r=new Proxy($e(e),{get(i,s){if(typeof s!="string")return i[s];var o=s.charAt(s.length-1);if(s.endsWith("$$")){var a=s.slice(0,-2);return n.get$$(zu(t+"."+a))}else if(o==="$"){var l=s.slice(0,-1);return n.get$(zu(t+"."+l))}else if(o==="_"){var f=s.slice(0,-1);return n.populate(zu(t+"."+f))}else return n.get(zu(t+"."+s))}});return r})},toJSON(t=!1){if(t)return it.deepFreezeWhenDevMode(this._data);var e=$e(this._data);return delete e._rev,delete e._attachments,delete e._deleted,delete e._meta,it.deepFreezeWhenDevMode(e)},toMutableJSON(t=!1){return Pn(this.toJSON(t))},update(t){throw pt("update")},incrementalUpdate(t){throw pt("update")},updateCRDT(t){throw pt("crdt")},putAttachment(){throw pt("attachments")},getAttachment(){throw pt("attachments")},allAttachments(){throw pt("attachments")},get allAttachments$(){throw pt("attachments")},async modify(t,e){var n=this._data,r=await sb(t)(n);return this._saveData(r,n)},incrementalModify(t,e){return this.collection.incrementalWriteQueue.addWrite(this._data,sb(t)).then(n=>this.collection._docCache.getCachedRxDocument(n))},patch(t){var e=this._data,n=Pn(e);return Object.entries(t).forEach(([r,i])=>{n[r]=i}),this._saveData(n,e)},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t,e){if(t=$e(t),this._data._deleted)throw le("DOC11",{id:this.primary,document:this});await lO(this.collection,t,e);var n=await this.collection.storageInstance.bulkWrite([{previous:e,document:t}],"rx-document-save-data"),r=n.error[0];return yd(this.collection,this.primary,t,r),await this.collection._runHooks("post","save",t,this),this.collection._docCache.getCachedRxDocument(n.success[0])},remove(){var t=this.collection;if(this.deleted)return Promise.reject(le("DOC13",{document:this,id:this.primary}));var e=$e(this._data),n;return t._runHooks("pre","remove",e,this).then(async()=>{e._deleted=!0;var r=await t.storageInstance.bulkWrite([{previous:this._data,document:e}],"rx-document-remove"),i=r.error[0];return yd(t,this.primary,e,i),r.success[0]}).then(r=>(n=r,this.collection._runHooks("post","remove",e,this))).then(()=>this.collection._docCache.getCachedRxDocument(n))},incrementalRemove(){return this.incrementalModify(async t=>(await this.collection._runHooks("pre","remove",t,this),t._deleted=!0,t)).then(async t=>(await this.collection._runHooks("post","remove",t._data,t),t))},destroy(){throw le("DOC14")}};function uO(t=kh){var e=function(r,i){this.collection=r,this._data=i,this._propertyCache=new Map,this.isInstanceOfRxDocument=!0};return e.prototype=t,e}function Y2(t,e,n){var r=new t(e,n);return Nr("createRxDocument",r),r}function lO(t,e,n){return e._meta=Object.assign({},n._meta,e._meta),it.isDevMode()&&t.schema.validateChange(n,e),t._runHooks("pre","save",e,n)}var ko="collection",Ug="storage-token",Pf="rx-migration-status",G2="RxInternalDocument",zg=bh({version:0,title:G2,primaryKey:{key:"id",fields:["context","key"],separator:"|"},type:"object",properties:{id:{type:"string",maxLength:200},key:{type:"string"},context:{type:"string",enum:[ko,Ug,Pf,"OTHER"]},data:{type:"object",additionalProperties:!0}},indexes:[],required:["key","context","data"],additionalProperties:!1,sharding:{shards:1,mode:"collection"}});function Qa(t,e){return Ws(zg,{key:t,context:e})}async function Vg(t){var e=Jl(t.schema,{selector:{context:ko,_deleted:{$eq:!1}},sort:[{id:"asc"}],skip:0}),n=await t.query(e),r=n.documents;return r}var cO="storageToken",J2=Qa(cO,Ug);async function X2(t){var e=su(10),n=t.password?await t.hashFunction(JSON.stringify(t.password)):void 0,r={id:J2,context:Ug,key:cO,data:{rxdbVersion:t.rxdbVersion,token:e,instanceToken:t.token,passwordHash:n},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}},i=await t.internalStore.bulkWrite([{document:r}],"internal-add-storage-token");if(i.success[0])return i.success[0];var s=ye(i.error[0]);if(s.isError&&_h(s)){var o=s;if(!Z2(o.documentInDb.data.rxdbVersion,t.rxdbVersion))throw le("DM5",{args:{database:t.name,databaseStateVersion:o.documentInDb.data.rxdbVersion,codeVersion:t.rxdbVersion}});if(n&&n!==o.documentInDb.data.passwordHash)throw le("DB1",{passwordHash:n,existingPasswordHash:o.documentInDb.data.passwordHash});var a=o.documentInDb;return ye(a)}throw s}function Z2(t,e){if(!t||e.includes("beta")&&e!==t)return!1;var n=t.split(".")[0],r=e.split(".")[0];return n===r}async function fO(t,e,n){if(t.schema.version!==n.version)throw le("SNH",{schema:n,version:t.schema.version,name:t.name,collection:t,args:{storageCollectionName:e}});for(var r=Uy(t.name,t.schema.jsonSchema),i=Qa(r,ko);;){var s=await Xl(t.database.internalStore,i),o=Pn(ye(s)),a=o.data.connectedStorages.find(l=>l.collectionName===e&&l.schema.version===n.version);if(a)return;o.data.connectedStorages.push({collectionName:e,schema:n});try{await Tl(t.database.internalStore,{previous:ye(s),document:o},"add-connected-storage-to-collection")}catch(l){if(!_h(l))throw l}}}function Uy(t,e){return t+"-"+e.version}function dm(t,e){return e=$e(e),e=cR(t,e),e=oE(t.primaryPath,t.jsonSchema,e),e._meta=Ks(),Object.prototype.hasOwnProperty.call(e,"_deleted")||(e._deleted=!1),Object.prototype.hasOwnProperty.call(e,"_attachments")||(e._attachments={}),Object.prototype.hasOwnProperty.call(e,"_rev")||(e._rev=Rn()),e}async function eN(t,e){e.multiInstance=t.multiInstance;var n=await t.storage.createStorageInstance(e);return n}async function dO(t,e,n,r,i,s,o){var a=await Vg(e),l=a.filter(y=>y.data.name===i),f=[];l.forEach(y=>{f.push({collectionName:y.data.name,schema:y.data.schema,isCollection:!0}),y.data.connectedStorages.forEach(w=>f.push({collectionName:w.collectionName,isCollection:!1,schema:w.schema}))});var h=new Set;if(f=f.filter(y=>{var w=y.collectionName+"||"+y.schema.version;return h.has(w)?!1:(h.add(w),!0)}),await Promise.all(f.map(async y=>{var w=await t.createStorageInstance({collectionName:y.collectionName,databaseInstanceToken:n,databaseName:r,multiInstance:!1,options:{},schema:y.schema,password:s,devMode:it.isDevMode()});await w.remove(),y.isCollection&&await No("postRemoveRxCollection",{storage:t,databaseName:r,collectionName:i})})),o){var m=l.map(y=>{var w=$g(y);return w._deleted=!0,w._meta.lwt=Ft(),w._rev=Ui(n,y),{previous:y,document:w}});await e.bulkWrite(m,"rx-database-remove-collection-all")}}var tN=function(){function t(n){this.subs=[],this.limit=100,this.counter=0,this.eventCounterMap=new WeakMap,this.buffer=[],this.collection=n,this.subs.push(this.collection.$.pipe(lt(r=>!r.isLocal)).subscribe(r=>this._handleChangeEvent(r)))}var e=t.prototype;return e._handleChangeEvent=function(r){for(this.counter++,this.buffer.push(r),this.eventCounterMap.set(r,this.counter);this.buffer.length>this.limit;)this.buffer.shift()},e.getArrayIndexByPointer=function(r){var i=this.buffer[0],s=this.eventCounterMap.get(i);if(ri(o))},e.reduceByLastOfDoc=function(r){return r.slice(0)},e.destroy=function(){this.subs.forEach(r=>r.unsubscribe())},t}();function nN(t){return new tN(t)}var rN=new WeakMap;function iN(t){var e=t.schema.getDocumentPrototype(),n=aN(t),r=kh,i={};return[e,n,r].forEach(s=>{var o=Object.getOwnPropertyNames(s);o.forEach(a=>{var l=Object.getOwnPropertyDescriptor(s,a),f=!0;(a.startsWith("_")||a.endsWith("_")||a.startsWith("$")||a.endsWith("$"))&&(f=!1),typeof l.value=="function"?Object.defineProperty(i,a,{get(){return l.value.bind(this)},enumerable:f,configurable:!1}):(l.enumerable=f,l.configurable=!1,l.writable&&(l.writable=!1),Object.defineProperty(i,a,l))})}),i}function sN(t){return Mr(rN,t,()=>uO(iN(t)))}function oN(t,e){var n=Y2(sN(t),t,it.deepFreezeWhenDevMode(e));return t._runHooksSync("post","create",e,n),Nr("postCreateRxDocument",n),n}function aN(t){var e={};return Object.entries(t.methods).forEach(([n,r])=>{e[n]=r}),e}async function gd(t,e){var n=Ws(t.input.metaInstance.schema,{isCheckpoint:"1",itemId:e}),r=await t.input.metaInstance.findDocumentsById([n],!1),i=r[0];if(t.lastCheckpointDoc[e]=i,i)return i.checkpointData}async function wd(t,e,n){t.checkpointQueue=t.checkpointQueue.then(async()=>{var r=t.lastCheckpointDoc[e];if(n&&!t.events.canceled.getValue()&&(!r||JSON.stringify(r.checkpointData)!==JSON.stringify(n))){var i={id:"",isCheckpoint:"1",itemId:e,_deleted:!1,_attachments:{},checkpointData:n,_meta:Ks(),_rev:Rn()};for(i.id=Ws(t.input.metaInstance.schema,i);!t.events.canceled.getValue();){if(r&&(i.checkpointData=Ml([r.checkpointData,i.checkpointData])),i._meta.lwt=Ft(),i._rev=Ui(await t.checkpointKey,r),t.events.canceled.getValue())return;var s=await t.input.metaInstance.bulkWrite([{previous:r,document:i}],"replication-set-checkpoint"),o=s.success[0];if(o){t.lastCheckpointDoc[e]=o;return}else{var a=s.error[0];if(a.status!==409)throw a;r=ye(a.documentInDb),i._rev=Ui(await t.checkpointKey,r)}}}}),await t.checkpointQueue}async function uN(t){var e=await t.hashFunction([t.identifier,t.forkInstance.databaseName,t.forkInstance.collectionName].join("||"));return"rx_storage_replication_"+e}function ob(t,e,n,r,i){var s=Object.assign({},r,{_attachments:e&&r._attachments?r._attachments:{},_meta:n?r._meta:{lwt:Ft()},_rev:n?r._rev:Rn()});return s._rev||(s._rev=Ui(t,i)),s}function cs(t,e,n){var r=$e(t);return e||delete r._attachments,n||(delete r._meta,delete r._rev),r}function zy(t,e){return t.hasAttachments?e.map(n=>{var r=Pn(n.document);return r.docData=gs(r.docData),{document:r,previous:n.previous}}):e}function Vy(t){for(;;)if(t.underlyingPersistentStorage)t=t.underlyingPersistentStorage;else return t}var Rf="RxReplicationProtocolMetaData";function Ky(t,e){var n=oR(t),r={title:Rf,primaryKey:{key:"id",fields:["itemId","isCheckpoint"],separator:"|"},type:"object",version:t.version,additionalProperties:!1,properties:{id:{type:"string",minLength:1,maxLength:n+2},isCheckpoint:{type:"string",enum:["0","1"],minLength:1,maxLength:1},itemId:{type:"string",maxLength:n>4?n:4},checkpointData:{type:"object",additionalProperties:!0},docData:{type:"object",properties:t.properties},isResolvedConflict:{type:"string"}},keyCompression:t.keyCompression,required:["id","isCheckpoint","itemId"]};e&&(r.encrypted=["docData"]);var i=bh(r);return i}function hO(t,e){return t.input.metaInstance.findDocumentsById(e.map(n=>{var r=Ws(t.input.metaInstance.schema,{itemId:n,isCheckpoint:"0"});return r}),!0).then(n=>{var r={};return Object.values(n).forEach(i=>{r[i.itemId]={docData:i.docData,metaDocument:i}}),r})}async function _d(t,e,n,r){var i=e[t.primaryPath],s=n?$g(n):{id:"",isCheckpoint:"0",itemId:i,docData:e,_attachments:{},_deleted:!1,_rev:Rn(),_meta:{lwt:0}};s.docData=e,r&&(s.isResolvedConflict=r),s._meta.lwt=Ft(),s.id=Ws(t.input.metaInstance.schema,s),s._rev=Ui(await t.checkpointKey,n);var o={previous:n,document:s};return o}async function lN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.downstream){var e=await gd(t,"down");e||await wd(t,"down",t.input.initialCheckpoint.downstream)}var n=await t.input.hashFunction(t.input.identifier),r=t.input.replicationHandler,i=0,s=[];function o(I){t.stats.down.addNewTask=t.stats.down.addNewTask+1;var E={time:i++,task:I};s.push(E),t.streamQueue.down=t.streamQueue.down.then(()=>{for(var $=[];s.length>0;){t.events.active.down.next(!0);var S=ye(s.shift());if(!(S.time{t.events.active.down.next(!1),!t.firstSyncDone.down.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.down.next(!0)})}if(o("RESYNC"),!t.events.canceled.getValue()){var a=r.masterChangeStream$.pipe(Br(async I=>(await As(t.events.active.up.pipe(lt(E=>!E))),I))).subscribe(I=>{t.stats.down.masterChangeStreamEmit=t.stats.down.masterChangeStreamEmit+1,o(I)});As(t.events.canceled.pipe(lt(I=>!!I))).then(()=>a.unsubscribe())}var l=-1;async function f(){if(t.stats.down.downstreamResyncOnce=t.stats.down.downstreamResyncOnce+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"down"));for(var I=await t.checkpointQueue,E=[];!t.events.canceled.getValue();){l=i++;var $=await r.masterChangesSince(I,t.input.pullBatchSize);if($.documents.length===0||(I=Ml([I,$.checkpoint]),E.push(w($.documents,I)),$.documents.length{if(S==="RESYNC")throw new Error("SNH");za(E,S.documents),$=Ml([$,S.checkpoint])}),w(E,ye($))}var m=un,y={docs:{}};function w(I,E){var $=t.primaryPath;return t.stats.down.persistFromMaster=t.stats.down.persistFromMaster+1,I.forEach(S=>{var _=S[$];y.docs[_]=S}),y.checkpoint=E,m=m.then(()=>{var S=y.docs;y.docs={};var _=y.checkpoint,O=Object.keys(S);if(t.events.canceled.getValue()||O.length===0)return un;var z=[],W={},Q={},H=[];return Promise.all([t.input.forkInstance.findDocumentsById(O,!0),hO(t,O)]).then(([X,U])=>{var ee=new Map;return X.forEach(ce=>ee.set(ce[$],ce)),Promise.all(O.map(async ce=>{var de=ee.get(ce),Pe=de?cs(de,t.hasAttachments,!1):void 0,ot=S[ce],ct=U[ce];if(ct&&de&&ct.metaDocument.isResolvedConflict===de._rev)return un;var Te=!ct||!Pe?!1:await t.input.conflictHandler({realMasterState:ct.docData,newDocumentState:Pe},"downstream-check-if-equal-0").then(Re=>Re.isEqual);if(!Te&&ct&&ct.docData._rev&&de&&de._meta[t.input.identifier]&&Va(de._rev).height===de._meta[t.input.identifier]&&(Te=!0),de&&ct&&Te===!1||de&&!ct)return un;var Dt=Pe?await t.input.conflictHandler({realMasterState:ot,newDocumentState:Pe},"downstream-check-if-equal-1").then(Re=>Re.isEqual):!1;if(Pe&&Dt)return(!ct||Te===!1)&&H.push(await _d(t,Pe,ct?ct.metaDocument:void 0)),un;var G=Object.assign({},ot,de?{_meta:$e(de._meta),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{},_rev:Rn()}:{_meta:{lwt:Ft()},_rev:Rn(),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{}});if(ot._rev){var oe=de?Va(de._rev).height+1:1;G._meta[t.input.identifier]=oe,t.input.keepMeta&&(G._rev=ot._rev)}t.input.keepMeta&&ot._meta&&(G._meta=ot._meta);var ue={previous:de,document:G};ue.document._rev=ue.document._rev?ue.document._rev:Ui(n,ue.previous),z.push(ue),W[ce]=ue,Q[ce]=await _d(t,ot,ct?ct.metaDocument:void 0)}))}).then(async()=>{if(z.length>0)return t.input.forkInstance.bulkWrite(z,await t.downstreamBulkWriteFlag).then(X=>{X.success.forEach(U=>{var ee=U[$];t.events.processed.down.next(W[ee]),H.push(Q[ee])}),X.error.forEach(U=>{U.status!==409&&t.events.error.next(le("RC_PULL",{writeError:U}))})})}).then(()=>{if(H.length>0)return t.input.metaInstance.bulkWrite(zy(t,H),"replication-down-write-meta").then(X=>{X.error.forEach(U=>{t.events.error.next(le("RC_PULL",{id:U.documentId,writeError:U}))})})}).then(()=>{wd(t,"down",_)})}).catch(S=>t.events.error.next(S)),m}}var bd=function(t,e){var n=gs(t.newDocumentState),r=gs(t.realMasterState);return Ka(n,r)?Promise.resolve({isEqual:!0}):Promise.resolve({isEqual:!1,documentData:t.realMasterState})};async function cN(t,e,n){var r=t.input.conflictHandler,i=await r(e,"replication-resolve-conflict");if(!i.isEqual){var s=Object.assign({},i.documentData,{_meta:$e(n._meta),_rev:Rn(),_attachments:$e(n._attachments)});return s._meta.lwt=Ft(),s._rev=Ui(await t.checkpointKey,n),{resolvedDoc:s,output:i}}}async function Wy(t,e,n,r){if(!n._attachments||r&&!r._attachments)throw new Error("_attachments missing");var i=n[t],s=new Set(r&&r._attachments?Object.keys(r._attachments):[]);return await Promise.all(Object.entries(n._attachments).map(async([o,a])=>{if((!s.has(o)||r&&ye(r._attachments)[o].digest!==a.digest)&&!a.data){var l=await e.getAttachmentData(i,o,a.digest);a.data=l}})),n}async function fN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.upstream){var e=await gd(t,"up");e||await wd(t,"up",t.input.initialCheckpoint.upstream)}var n=t.input.replicationHandler;t.streamQueue.up=t.streamQueue.up.then(()=>f().then(()=>{h()}));var r=0,i=-1,s=[],o=Jn,a={docs:{}},l=t.input.forkInstance.changeStream().subscribe(async y=>{if(y.context!==await t.downstreamBulkWriteFlag)return t.stats.up.forkChangeStreamEmit=t.stats.up.forkChangeStreamEmit+1,s.push({task:y,time:r++}),t.events.active.up.getValue()||t.events.active.up.next(!0),t.input.waitBeforePersist?t.input.waitBeforePersist().then(()=>h()):h()});As(t.events.canceled.pipe(lt(y=>!!y))).then(()=>l.unsubscribe());async function f(){if(t.stats.up.upstreamInitialSync=t.stats.up.upstreamInitialSync+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"up"));for(var y=await t.checkpointQueue,w=new Set,I=async function(){i=r++,w.size>3&&await Promise.race(Array.from(w));var S=await oO(t.input.forkInstance,t.input.pushBatchSize,y);if(S.documents.length===0)return 1;y=Ml([y,S.checkpoint]);var _=m(S.documents,ye(y));w.add(_),_.catch().then(()=>w.delete(_))};!t.events.canceled.getValue()&&!await I(););var E=await Promise.all(w),$=E.find(S=>!!S);$?await f():!t.firstSyncDone.up.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.up.next(!0)}}function h(){if(t.events.canceled.getValue()||s.length===0){t.events.active.up.next(!1);return}t.stats.up.processTasks=t.stats.up.processTasks+1,t.events.active.up.next(!0),t.streamQueue.up=t.streamQueue.up.then(()=>{for(var y=[],w={};s.length>0;){var I=ye(s.shift());I.time$.documentData)),w=Ml([w,I.task.checkpoint]))}var E=y.length===0?Jn:m(y,w);return E.then(()=>{s.length===0?t.events.active.up.next(!1):h()})})}function m(y,w){return t.stats.up.persistToMaster=t.stats.up.persistToMaster+1,y.forEach(I=>{var E=I[t.primaryPath];a.docs[E]=I}),a.checkpoint=w,o=o.then(async()=>{if(t.events.canceled.getValue())return!1;var I=a.docs;a.docs={};var E=a.checkpoint,$=Object.keys(I);if($.length===0)return!1;var S=await hO(t,$),_={},O=[],z={},W={};if(await Promise.all($.map(async Te=>{var Dt=I[Te];W[Te]=Dt;var G=cs(Dt,t.hasAttachments,!!t.input.keepMeta),oe=S[Te];oe&&oe.metaDocument.isResolvedConflict!==Dt._rev&&(await t.input.conflictHandler({realMasterState:oe.docData,newDocumentState:G},"upstream-check-if-equal")).isEqual||oe&&oe.docData._rev&&Va(Dt._rev).height===Dt._meta[t.input.identifier]||(O.push(Te),_[Te]={assumedMasterState:oe?oe.docData:void 0,newDocumentState:G},z[Te]=await _d(t,G,oe?oe.metaDocument:void 0))})),O.length===0)return!1;var Q=Object.values(_),H=new Set,X={},U=CP(Q,t.input.pushBatchSize);await Promise.all(U.map(async Te=>{t.hasAttachments&&await Promise.all(Te.map(async G=>{G.newDocumentState=await Wy(t.primaryPath,t.input.forkInstance,Pn(G.newDocumentState),G.assumedMasterState)}));var Dt=await n.masterWrite(Te);Dt.forEach(G=>{var oe=G[t.primaryPath];H.add(oe),X[oe]=G})}));var ee=[];if(O.forEach(Te=>{H.has(Te)||(t.events.processed.up.next(_[Te]),ee.push(z[Te]))}),t.events.canceled.getValue())return!1;ee.length>0&&await t.input.metaInstance.bulkWrite(zy(t,ee),"replication-up-write-meta");var ce=!1;if(H.size>0){t.stats.up.persistToMasterHadConflicts=t.stats.up.persistToMasterHadConflicts+1;var de=[],Pe={};if(await Promise.all(Object.entries(X).map(([Te,Dt])=>{var G=_[Te],oe={newDocumentState:G.newDocumentState,assumedMasterState:G.assumedMasterState,realMasterState:Dt};return cN(t,oe,W[Te]).then(async ue=>{if(ue){t.events.resolvedConflicts.next({input:oe,output:ue.output}),de.push({previous:W[Te],document:ue.resolvedDoc});var Re=S[Te];Pe[Te]=await _d(t,ye(Dt),Re?Re.metaDocument:void 0,ue.resolvedDoc._rev)}})})),de.length>0){ce=!0,t.stats.up.persistToMasterConflictWrites=t.stats.up.persistToMasterConflictWrites+1;var ot=await t.input.forkInstance.bulkWrite(de,"replication-up-write-conflict"),ct=[];ot.success.forEach(Te=>{var Dt=Te[t.primaryPath];ct.push(Pe[Dt])}),ct.length>0&&await t.input.metaInstance.bulkWrite(zy(t,ct),"replication-up-write-conflict-meta")}}return wd(t,"up",E),ce}).catch(I=>(t.events.error.next(I),!1)),o}}function pO(t){t=$e(t),t.forkInstance=Vy(t.forkInstance),t.metaInstance=Vy(t.metaInstance);var e=uN(t),n={primaryPath:Fn(t.forkInstance.schema.primaryKey),hasAttachments:!!t.forkInstance.schema.attachments,input:t,checkpointKey:e,downstreamBulkWriteFlag:e.then(r=>"replication-downstream-"+r),events:{canceled:new Jr(!1),active:{down:new Jr(!0),up:new Jr(!0)},processed:{down:new Kt,up:new Kt},resolvedConflicts:new Kt,error:new Kt},stats:{down:{addNewTask:0,downstreamProcessChanges:0,downstreamResyncOnce:0,masterChangeStreamEmit:0,persistFromMaster:0},up:{forkChangeStreamEmit:0,persistToMaster:0,persistToMasterConflictWrites:0,persistToMasterHadConflicts:0,processTasks:0,upstreamInitialSync:0}},firstSyncDone:{down:new Jr(!1),up:new Jr(!1)},streamQueue:{down:un,up:un},checkpointQueue:un,lastCheckpointDoc:{}};return lN(n),fN(n),n}function Tf(t){return As(AE([t.firstSyncDone.down.pipe(lt(e=>!!e)),t.firstSyncDone.up.pipe(lt(e=>!!e))])).then(()=>{})}function ab(t){return Promise.all([t.streamQueue.up,t.streamQueue.down,t.checkpointQueue])}function dN(t,e,n,r=!1){t=Vy(t);var i=!!t.schema.attachments,s=Fn(t.schema.primaryKey),o={masterChangeStream$:t.changeStream().pipe(Br(async a=>{var l={checkpoint:a.checkpoint,documents:await Promise.all(a.events.map(async f=>{var h=cs(f.documentData,i,r);return i&&(h=await Wy(s,t,Pn(h),void 0)),h}))};return l})),masterChangesSince(a,l){return oO(t,l,a).then(async f=>({checkpoint:f.documents.length>0?f.checkpoint:a,documents:await Promise.all(f.documents.map(async h=>{var m=cs(h,i,r);return i&&(m=await Wy(s,t,Pn(m),void 0)),m}))}))},async masterWrite(a){var l={};a.forEach(E=>{var $=E.newDocumentState[s];l[$]=E});var f=Object.keys(l),h=await t.findDocumentsById(f,!0),m=new Map;h.forEach(E=>m.set(E[s],E));var y=[],w=[];if(await Promise.all(Object.entries(l).map(async([E,$])=>{var S=m.get(E);S?S&&!$.assumedMasterState?y.push(cs(S,i,r)):(await e({realMasterState:cs(S,i,r),newDocumentState:ye($.assumedMasterState)},"rxStorageInstanceToReplicationHandler-masterWrite")).isEqual===!0?w.push({previous:S,document:ob(n,i,r,$.newDocumentState,S)}):y.push(cs(S,i,r)):w.push({document:ob(n,i,r,$.newDocumentState)})})),w.length>0){var I=await t.bulkWrite(w,"replication-master-write");I.error.forEach(E=>{if(E.status!==409)throw new Error("non conflict error");y.push(cs(ye(E.documentInDb),i,r))})}return y}};return o}async function mO(t){t.events.canceled.next(!0),t.events.active.up.complete(),t.events.active.down.complete(),t.events.processed.up.complete(),t.events.processed.down.complete(),t.events.resolvedConflicts.complete(),t.events.canceled.complete(),await t.checkpointQueue}var yO=["pre","post"],vO=["insert","save","remove","create"],ub=!1,gO=function(){function t(n,r,i,s,o={},a={},l={},f={},h={},m=JE,y={},w=bd){this.storageInstance={},this.timeouts=new Set,this.incrementalWriteQueue={},this._incrementalUpsertQueues=new Map,this.synced=!1,this.hooks={},this._subs=[],this._docCache={},this._queryCache=k2(),this.$={},this.checkpoint$={},this._changeEventBuffer={},this.onDestroy=[],this.destroyed=!1,this.database=n,this.name=r,this.schema=i,this.internalStorageInstance=s,this.instanceCreationOptions=o,this.migrationStrategies=a,this.methods=l,this.attachments=f,this.options=h,this.cacheReplacementPolicy=m,this.statics=y,this.conflictHandler=w,hN(this.asRxCollection)}var e=t.prototype;return e.prepare=async function(){this.storageInstance=jg(this.database,this.internalStorageInstance,this.schema.jsonSchema),this.incrementalWriteQueue=new aO(this.storageInstance,this.schema.primaryPath,(o,a)=>lO(this,o,a),o=>this._runHooks("post","save",o));var r=this.database.eventBulks$.pipe(lt(o=>o.collectionName===this.name));this.$=r.pipe(Br(o=>o.events)),this.checkpoint$=r.pipe(Mt(o=>o.checkpoint)),this._changeEventBuffer=nN(this.asRxCollection),this._docCache=new XE(this.schema.primaryPath,this.$.pipe(lt(o=>!o.isLocal)),o=>oN(this.asRxCollection,o));var i=await this.database.storageToken,s=this.storageInstance.changeStream().subscribe(o=>{var a={id:o.id,internal:!1,collectionName:this.name,storageToken:i,events:o.events.map(l=>rO(!1,l,this)),databaseToken:this.database.token,checkpoint:o.checkpoint,context:o.context,endTime:o.endTime,startTime:o.startTime};this.database.$emit(a)});return this._subs.push(s),this._subs.push(this.storageInstance.conflictResultionTasks().subscribe(o=>{this.conflictHandler(o.input,o.context).then(a=>{this.storageInstance.resolveConflictResultionTask({id:o.id,output:a})})})),un},e.cleanup=function(r){throw pt("cleanup")},e.migrationNeeded=function(){throw pt("migration-schema")},e.getMigrationState=function(){throw pt("migration-schema")},e.startMigration=function(r=10){return this.getMigrationState().startMigration(r)},e.migratePromise=function(r=10){return this.getMigrationState().migratePromise(r)},e.insert=async function(r){var i=await this.bulkInsert([r]),s=i.error[0];yd(this,r[this.schema.primaryPath],r,s);var o=ye(i.success[0]);return o},e.bulkInsert=async function(r){if(r.length===0)return{success:[],error:[]};var i=this.schema.primaryPath,s=r.map(m=>{var y=dm(this.schema,m);return y}),o=this.hasHooks("pre","insert")?await Promise.all(s.map(m=>this._runHooks("pre","insert",m).then(()=>m))):s,a=o.map(m=>{var y={document:m};return y}),l=await this.storageInstance.bulkWrite(a,"rx-collection-bulk-insert"),f=ZE(this._docCache,l.success);if(this.hasHooks("post","insert")){var h=new Map;o.forEach(m=>{h.set(m[i],m)}),await Promise.all(f.map(m=>this._runHooks("post","insert",h.get(m.primary),m)))}return{success:f,error:l.error}},e.bulkRemove=async function(r){var i=this.schema.primaryPath;if(r.length===0)return{success:[],error:[]};var s=await this.findByIds(r).exec(),o=[],a=new Map;Array.from(s.values()).forEach(y=>{var w=y.toMutableJSON(!0);o.push(w),a.set(y.primary,w)}),await Promise.all(o.map(y=>{var w=y[this.schema.primaryPath];return this._runHooks("pre","remove",y,s.get(w))}));var l=o.map(y=>{var w=$e(y);return w._deleted=!0,{previous:y,document:w}}),f=await this.storageInstance.bulkWrite(l,"rx-collection-bulk-remove"),h=f.success.map(y=>y[i]);await Promise.all(h.map(y=>this._runHooks("post","remove",a.get(y),s.get(y))));var m=h.map(y=>Mo(s,y));return{success:m,error:f.error}},e.bulkUpsert=async function(r){var i=[],s=new Map;r.forEach(f=>{var h=dm(this.schema,f),m=h[this.schema.primaryPath];if(!m)throw le("COL3",{primaryPath:this.schema.primaryPath,data:h,schema:this.schema.jsonSchema});s.set(m,h),i.push(h)});var o=await this.bulkInsert(i),a=o.success.slice(0),l=[];return await Promise.all(o.error.map(async f=>{if(f.status!==409)l.push(f);else{var h=f.documentId,m=Mo(s,h),y=ye(f.documentInDb),w=this._docCache.getCachedRxDocument(y),I=await w.incrementalModify(()=>m);a.push(I)}})),{error:l,success:a}},e.upsert=async function(r){var i=await this.bulkUpsert([r]);return yd(this.asRxCollection,r[this.schema.primaryPath],r,i.error[0]),i.success[0]},e.incrementalUpsert=function(r){var i=dm(this.schema,r),s=i[this.schema.primaryPath];if(!s)throw le("COL4",{data:r});var o=this._incrementalUpsertQueues.get(s);return o||(o=un),o=o.then(()=>mN(this,s,i)).then(a=>a.inserted?a.doc:pN(a.doc,i)),this._incrementalUpsertQueues.set(s,o),o},e.find=function(r){if(typeof r=="string")throw le("COL5",{queryObj:r});r||(r=tl());var i=ra("find",r,this);return i},e.findOne=function(r){if(typeof r=="number"||Array.isArray(r))throw el("COL6",{queryObj:r});var i;if(typeof r=="string")i=ra("findOne",{selector:{[this.schema.primaryPath]:r},limit:1},this);else{if(r||(r=tl()),r.limit)throw le("QU6");r=$e(r),r.limit=1,i=ra("findOne",r,this)}return i},e.count=function(r){r||(r=tl());var i=ra("count",r,this);return i},e.findByIds=function(r){var i={selector:{[this.schema.primaryPath]:{$in:r.slice(0)}}},s=ra("findByIds",i,this);return s},e.exportJSON=function(){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.insertCRDT=function(r){throw pt("crdt")},e.addHook=function(r,i,s,o=!1){if(typeof s!="function")throw el("COL7",{key:i,when:r});if(!yO.includes(r))throw el("COL8",{key:i,when:r});if(!vO.includes(i))throw le("COL9",{key:i});if(r==="post"&&i==="create"&&o===!0)throw le("COL10",{when:r,key:i,parallel:o});var a=s.bind(this),l=o?"parallel":"series";this.hooks[i]=this.hooks[i]||{},this.hooks[i][r]=this.hooks[i][r]||{series:[],parallel:[]},this.hooks[i][r][l].push(a)},e.getHooks=function(r,i){return!this.hooks[i]||!this.hooks[i][r]?{series:[],parallel:[]}:this.hooks[i][r]},e.hasHooks=function(r,i){var s=this.getHooks(r,i);return s?s.series.length>0||s.parallel.length>0:!1},e._runHooks=function(r,i,s,o){var a=this.getHooks(r,i);if(!a)return un;var l=a.series.map(f=>()=>f(s,o));return YP(l).then(()=>Promise.all(a.parallel.map(f=>f(s,o))))},e._runHooksSync=function(r,i,s,o){var a=this.getHooks(r,i);a&&a.series.forEach(l=>l(s,o))},e.promiseWait=function(r){var i=new Promise(s=>{var o=setTimeout(()=>{this.timeouts.delete(o),s()},r);this.timeouts.add(o)});return i},e.destroy=function(){return this.destroyed?Jn:(this.destroyed=!0,Array.from(this.timeouts).forEach(r=>clearTimeout(r)),this._changeEventBuffer&&this._changeEventBuffer.destroy(),this.database.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>this.storageInstance.close()).then(()=>(this._subs.forEach(r=>r.unsubscribe()),delete this.database.collections[this.name],No("postDestroyRxCollection",this).then(()=>!0))))},e.remove=async function(){await this.destroy(),await dO(this.database.storage,this.database.internalStore,this.database.token,this.database.name,this.name,this.database.password,this.database.hashFunction)},Vs(t,[{key:"insert$",get:function(){return this.$.pipe(lt(n=>n.operation==="INSERT"))}},{key:"update$",get:function(){return this.$.pipe(lt(n=>n.operation==="UPDATE"))}},{key:"remove$",get:function(){return this.$.pipe(lt(n=>n.operation==="DELETE"))}},{key:"asRxCollection",get:function(){return this}}]),t}();function hN(t){if(!ub){ub=!0;var e=Object.getPrototypeOf(t);vO.forEach(n=>{yO.map(r=>{var i=r+eE(n);e[i]=function(s,o){return this.addHook(r,n,s,o)}})})}}function pN(t,e){return t.incrementalModify(n=>e)}function mN(t,e,n){var r=t._docCache.getLatestDocumentDataIfExists(e);return r?Promise.resolve({doc:t._docCache.getCachedRxDocument(r),inserted:!1}):t.findOne(e).exec().then(i=>i?{doc:i,inserted:!1}:t.insert(n).then(s=>({doc:s,inserted:!0})))}function yN({database:t,name:e,schema:n,instanceCreationOptions:r={},migrationStrategies:i={},autoMigrate:s=!0,statics:o={},methods:a={},attachments:l={},options:f={},localDocuments:h=!1,cacheReplacementPolicy:m=JE,conflictHandler:y=bd}){var w={databaseInstanceToken:t.token,databaseName:t.name,collectionName:e,schema:n.jsonSchema,options:r,multiInstance:t.multiInstance,password:t.password,devMode:it.isDevMode()};return Nr("preCreateRxStorageInstance",w),eN(t,w).then(I=>{var E=new gO(t,e,n,I,r,i,a,l,f,m,o,y);return E.prepare().then(()=>{Object.entries(o).forEach(([S,_])=>{Object.defineProperty(E,S,{get:()=>_.bind(E)})});var $=un;return s&&E.schema.version!==0&&($=E.migratePromise()),$}).then(()=>(Nr("createRxCollection",{collection:E,creator:{name:e,schema:n,storageInstance:I,instanceCreationOptions:r,migrationStrategies:i,methods:a,attachments:l,options:f,cacheReplacementPolicy:m,localDocuments:h,statics:o}}),E)).catch($=>I.close().then(()=>Promise.reject($)))})}var wO=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this._parallels=e||1,this._qC=0,this._iC=new Set,this._lHN=0,this._hPM=new Map,this._pHM=new Map};wO.prototype={isIdle:function(){return this._qC{this._to=!1,gN(this)},0))}clear(){this.map.clear()}}function gN(t){const e=_O()-t.ttl,n=t.map[Symbol.iterator]();for(;;){const r=n.next().value;if(!r)return;const i=r[0];if(r[1]E.events)),this.storageToken=Jn,this.storageTokenDocument=Jn,this.emittedEventBulkIds=new Kg(60*1e3),this.name=n,this.token=r,this.storage=i,this.instanceCreationOptions=s,this.password=o,this.multiInstance=a,this.eventReduce=l,this.options=f,this.internalStore=h,this.hashFunction=m,this.cleanupPolicy=y,this.allowSlowCount=w,this.reactivity=I,this.name!=="pseudoInstance"&&(this.internalStore=jg(this.asRxDatabase,h,zg),this.storageTokenDocument=X2(this.asRxDatabase).catch(E=>this.startupErrors.push(E)),this.storageToken=this.storageTokenDocument.then(E=>E.data.token).catch(E=>this.startupErrors.push(E)))}var e=t.prototype;return e.getReactivityFactory=function(){if(!this.reactivity)throw le("DB14",{database:this.name});return this.reactivity},e.$emit=function(r){this.emittedEventBulkIds.has(r.id)||(this.emittedEventBulkIds.add(r.id),this.eventBulks$.next(r))},e.removeCollectionDoc=async function(r,i){var s=await Xl(this.internalStore,Qa(Uy(r,i),ko));if(!s)throw le("SNH",{name:r,schema:i});var o=$g(s);o._deleted=!0,await this.internalStore.bulkWrite([{document:o,previous:s}],"rx-database-remove-collection")},e.addCollections=async function(r){var i={},s={},o=[],a={};await Promise.all(Object.entries(r).map(async([h,m])=>{var y=h,w=m.schema;i[y]=w;var I=hR(w,this.hashFunction);if(s[y]=I,this.collections[h])throw le("DB3",{name:h});var E=Uy(h,w),$={id:Qa(E,ko),key:E,context:ko,data:{name:y,schemaHash:await I.hash,schema:I.jsonSchema,version:I.version,connectedStorages:[]},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}};o.push({document:$});var S=Object.assign({},m,{name:y,schema:I,database:this}),_=$e(m);_.database=this,_.name=h,Nr("preCreateRxCollection",_),S.conflictHandler=_.conflictHandler,a[y]=S}));var l=await this.internalStore.bulkWrite(o,"rx-database-add-collection");await SN(this),await Promise.all(l.error.map(async h=>{if(h.status!==409)throw le("DB12",{database:this.name,writeError:h});var m=ye(h.documentInDb),y=m.data.name,w=s[y];if(m.data.schemaHash!==await w.hash)throw le("DB6",{database:this.name,collection:y,previousSchemaHash:m.data.schemaHash,schemaHash:await w.hash,previousSchema:m.data.schema,schema:ye(i[y])})}));var f={};return await Promise.all(Object.keys(r).map(async h=>{var m=a[h],y=await yN(m);f[h]=y,this.collections[h]=y,this[h]||Object.defineProperty(this,h,{get:()=>this.collections[h]})})),f},e.lockedRun=function(r){return this.idleQueue.wrapCall(r)},e.requestIdlePromise=function(){return this.idleQueue.requestIdlePromise()},e.exportJSON=function(r){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.backup=function(r){throw pt("backup")},e.leaderElector=function(){throw pt("leader-election")},e.isLeader=function(){throw pt("leader-election")},e.waitForLeadership=function(){throw pt("leader-election")},e.migrationStates=function(){throw pt("migration-schema")},e.destroy=async function(){return this.destroyed||(this.destroyed=!0,await No("preDestroyRxDatabase",this),this.eventBulks$.complete(),this._subs.map(r=>r.unsubscribe()),this.name==="pseudoInstance")?Jn:this.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>Promise.all(Object.keys(this.collections).map(r=>this.collections[r]).map(r=>r.destroy()))).then(()=>this.internalStore.close()).then(()=>Sd.delete(this.storage.name+"|"+this.name)).then(()=>!0)},e.remove=function(){return this.destroy().then(()=>SO(this.name,this.storage,this.password))},Vs(t,[{key:"$",get:function(){return this.observable$}},{key:"asRxDatabase",get:function(){return this}}]),t}();function wN(t,e){var n=e.name+"|"+t;if(Sd.has(n))throw le("DB8",{name:t,storage:e.name,link:"https://rxdb.info/rx-database.html#ignoreduplicate"})}async function bO(t,e,n,r,i,s){var o=await e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:V2,schema:zg,options:r,multiInstance:i,password:s,devMode:it.isDevMode()});return o}function _N({storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i=!0,eventReduce:s=!0,ignoreDuplicate:o=!1,options:a={},cleanupPolicy:l,allowSlowCount:f=!1,localDocuments:h=!1,hashFunction:m=WP,reactivity:y}){Nr("preCreateRxDatabase",{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}),o||wN(n,t),Sd.add(t.name+"|"+n);var w=su(10);return bO(w,t,n,e,i,r).catch(I=>{throw Sd.delete(t.name+"|"+n),I}).then(I=>{var E=new Wg(n,w,t,e,r,i,s,a,I,m,l,f,y);return No("createRxDatabase",{database:E,creator:{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}}).then(()=>E)})}async function SO(t,e,n){var r=su(10),i=await bO(r,e,t,{},!1,n),s=await Vg(i),o=new Set;s.forEach(l=>o.add(l.data.name));var a=Array.from(o);return await Promise.all(a.map(l=>dO(e,i,r,t,l,n))),await No("postRemoveRxDatabase",{databaseName:t,storage:e}),await i.remove(),a}function bN(t){return t instanceof Wg}async function IO(t){var e=await t.storageTokenDocument;return e.data.instanceToken===t.token}async function SN(t){if(await t.storageToken,t.startupErrors[0])throw t.startupErrors[0]}var IN={RxSchema:uE.prototype,RxDocument:kh,RxQuery:eO.prototype,RxCollection:gO.prototype,RxDatabase:Wg.prototype},pm=new Set,lb=new Set;function gi(t){if(Nr("preAddRxPlugin",{plugin:t,plugins:pm}),!pm.has(t)){{if(lb.has(t.name))throw le("PL3",{name:t.name,plugin:t});pm.add(t),lb.add(t.name)}if(!t.rxdb)throw el("PL1",{plugin:t});t.init&&t.init(),t.prototypes&&Object.entries(t.prototypes).forEach(([e,n])=>n(IN[e])),t.overwritable&&Object.assign(it,t.overwritable),t.hooks&&Object.entries(t.hooks).forEach(([e,n])=>{n.after&&xl[e].push(n.after),n.before&&xl[e].unshift(n.before)})}}function EN(t){return t&&typeof t.then=="function"}Promise.resolve(!1);var ON=Promise.resolve(!0),Mi=Promise.resolve();function mo(t,e){return t||(t=0),new Promise(function(n){return setTimeout(function(){return n(e)},t)})}function kN(t,e){return Math.floor(Math.random()*(e-t+1)+t)}function Zl(){return Math.random().toString(36).substring(2)}var mm=0;function ec(){var t=Date.now()*1e3;return t<=mm&&(t=mm+1),mm=t,t}function DN(){return typeof navigator<"u"&&typeof navigator.locks<"u"&&typeof navigator.locks.request=="function"}var xN=ec,CN="native";function AN(t){var e={time:ec(),messagesCallback:null,bc:new BroadcastChannel(t),subFns:[]};return e.bc.onmessage=function(n){e.messagesCallback&&e.messagesCallback(n.data)},e}function PN(t){t.bc.close(),t.subFns=[]}function RN(t,e){try{return t.bc.postMessage(e,!1),Mi}catch(n){return Promise.reject(n)}}function TN(t,e){t.messagesCallback=e}function MN(){if(typeof globalThis<"u"&&globalThis.Deno&&globalThis.Deno.args)return!0;if((typeof window<"u"||typeof self<"u")&&typeof BroadcastChannel=="function"){if(BroadcastChannel._pubkey)throw new Error("BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill");return!0}else return!1}function NN(){return 150}var BN={create:AN,close:PN,onMessage:TN,postMessage:RN,canBeUsed:MN,type:CN,averageResponseTime:NN,microSeconds:xN};function qg(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=JSON.parse(JSON.stringify(t));return typeof e.webWorkerSupport>"u"&&(e.webWorkerSupport=!0),e.idb||(e.idb={}),e.idb.ttl||(e.idb.ttl=1e3*45),e.idb.fallbackInterval||(e.idb.fallbackInterval=150),t.idb&&typeof t.idb.onclose=="function"&&(e.idb.onclose=t.idb.onclose),e.localstorage||(e.localstorage={}),e.localstorage.removeTimeout||(e.localstorage.removeTimeout=1e3*60),t.methods&&(e.methods=t.methods),e.node||(e.node={}),e.node.ttl||(e.node.ttl=1e3*60*2),e.node.maxParallelWrites||(e.node.maxParallelWrites=2048),typeof e.node.useFastPath>"u"&&(e.node.useFastPath=!0),e}var FN=ec,LN="pubkey.broadcast-channel-0-",qi="messages",Dh={durability:"relaxed"},$N="idb";function EO(){if(typeof indexedDB<"u")return indexedDB;if(typeof window<"u"){if(typeof window.mozIndexedDB<"u")return window.mozIndexedDB;if(typeof window.webkitIndexedDB<"u")return window.webkitIndexedDB;if(typeof window.msIndexedDB<"u")return window.msIndexedDB}return!1}function Hg(t){t.commit&&t.commit()}function jN(t){var e=EO(),n=LN+t,r=e.open(n);return r.onupgradeneeded=function(i){var s=i.target.result;s.createObjectStore(qi,{keyPath:"id",autoIncrement:!0})},new Promise(function(i,s){r.onerror=function(o){return s(o)},r.onsuccess=function(){i(r.result)}})}function UN(t,e,n){var r=Date.now(),i={uuid:e,time:r,data:n},s=t.transaction([qi],"readwrite",Dh);return new Promise(function(o,a){s.oncomplete=function(){return o()},s.onerror=function(f){return a(f)};var l=s.objectStore(qi);l.add(i),Hg(s)})}function zN(t,e){var n=t.transaction(qi,"readonly",Dh),r=n.objectStore(qi),i=[],s=IDBKeyRange.bound(e+1,1/0);if(r.getAll){var o=r.getAll(s);return new Promise(function(l,f){o.onerror=function(h){return f(h)},o.onsuccess=function(h){l(h.target.result)}})}function a(){try{return s=IDBKeyRange.bound(e+1,1/0),r.openCursor(s)}catch{return r.openCursor()}}return new Promise(function(l,f){var h=a();h.onerror=function(m){return f(m)},h.onsuccess=function(m){var y=m.target.result;y?y.value.idt.lastCursorId&&(t.lastCursorId=r.id),r}).filter(function(r){return HN(r,t)}).sort(function(r,i){return r.time-i.time});return n.forEach(function(r){t.messagesCallback&&(t.eMIs.add(r.id),t.messagesCallback(r.data))}),Mi})}function QN(t){t.closed=!0,t.db.close()}function YN(t,e){return t.writeBlockPromise=t.writeBlockPromise.then(function(){return UN(t.db,t.uuid,e)}).then(function(){kN(0,10)===0&&WN(t)}),t.writeBlockPromise}function GN(t,e,n){t.messagesCallbackTime=n,t.messagesCallback=e,kO(t)}function JN(){return!!EO()}function XN(t){return t.idb.fallbackInterval*2}var ZN={create:qN,close:QN,onMessage:GN,postMessage:YN,canBeUsed:JN,type:$N,averageResponseTime:XN,microSeconds:FN},eB=ec,tB="pubkey.broadcastChannel-",nB="localstorage";function DO(){var t;if(typeof window>"u")return null;try{t=window.localStorage,t=window["ie8-eventlistener/storage"]||window.localStorage}catch{}return t}function xO(t){return tB+t}function rB(t,e){return new Promise(function(n){mo().then(function(){var r=xO(t.channelName),i={token:Zl(),time:Date.now(),data:e,uuid:t.uuid},s=JSON.stringify(i);DO().setItem(r,s);var o=document.createEvent("Event");o.initEvent("storage",!0,!0),o.key=r,o.newValue=s,window.dispatchEvent(o),n()})})}function iB(t,e){var n=xO(t),r=function(s){s.key===n&&e(JSON.parse(s.newValue))};return window.addEventListener("storage",r),r}function sB(t){window.removeEventListener("storage",t)}function oB(t,e){if(e=qg(e),!CO())throw new Error("BroadcastChannel: localstorage cannot be used");var n=Zl(),r=new Kg(e.localstorage.removeTimeout),i={channelName:t,uuid:n,eMIs:r};return i.listener=iB(t,function(s){i.messagesCallback&&s.uuid!==n&&(!s.token||r.has(s.token)||s.data.time&&s.data.time0||t._addEL.internal.length>0}function hb(t,e,n){t._addEL[e].push(n),SB(t)}function pb(t,e,n){t._addEL[e]=t._addEL[e].filter(function(r){return r!==n}),IB(t)}function SB(t){if(!t._iL&&TO(t)){var e=function(i){t._addEL[i.type].forEach(function(s){i.time>=s.time&&s.fn(i.data)})},n=t.method.microSeconds();t._prepP?t._prepP.then(function(){t._iL=!0,t.method.onMessage(t._state,e,n)}):(t._iL=!0,t.method.onMessage(t._state,e,n))}}function IB(t){if(t._iL&&!TO(t)){t._iL=!1;var e=t.method.microSeconds();t.method.onMessage(t._state,null,e)}}function EB(t){if(typeof WorkerGlobalScope=="function"&&self instanceof WorkerGlobalScope){var e=self.close.bind(self);self.close=function(){return t(),e()}}else{if(typeof window.addEventListener!="function")return;window.addEventListener("beforeunload",function(){t()},!0),window.addEventListener("unload",function(){t()},!0)}}function OB(t){process.on("exit",function(){return t()}),process.on("beforeExit",function(){return t().then(function(){return process.exit()})}),process.on("SIGINT",function(){return t().then(function(){return process.exit()})}),process.on("uncaughtException",function(e){return t().then(function(){console.trace(e),process.exit(101)})})}var kB=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]",DB=kB?OB:EB,nl=new Set,mb=!1;function xB(){mb||(mb=!0,DB(AB))}function CB(t){if(xB(),typeof t!="function")throw new Error("Listener is no function");nl.add(t);var e={remove:function(){return nl.delete(t)},run:function(){return nl.delete(t),t()}};return e}function AB(){var t=[];return nl.forEach(function(e){t.push(e()),nl.delete(e)}),Promise.all(t)}function Do(t,e){var n={context:"leader",action:e,token:t.token};return t.broadcastChannel.postInternal(n)}function MO(t){t.isLeader=!0,t._hasLeader=!0;var e=CB(function(){return t.die()});t._unl.push(e);var n=function(i){i.context==="leader"&&i.action==="apply"&&Do(t,"tell"),i.context==="leader"&&i.action==="tell"&&!t._dpLC&&(t._dpLC=!0,t._dpL(),Do(t,"tell"))};return t.broadcastChannel.addEventListener("internal",n),t._lstns.push(n),Do(t,"tell")}var NO=function(e,n){var r=this;this.broadcastChannel=e,e._befC.push(function(){return r.die()}),this._options=n,this.isLeader=!1,this.isDead=!1,this.token=Zl(),this._lstns=[],this._unl=[],this._dpL=function(){},this._dpLC=!1,this._wKMC={},this.lN="pubkey-bc||"+e.method.type+"||"+e.name};NO.prototype={hasLeader:function(){var e=this;return navigator.locks.query().then(function(n){var r=n.held?n.held.filter(function(i){return i.name===e.lN}):[];return!!(r&&r.length>0)})},awaitLeadership:function(){var e=this;if(!this._wLMP){this._wKMC.c=new AbortController;var n=new Promise(function(r,i){e._wKMC.res=r,e._wKMC.rej=i});this._wLMP=new Promise(function(r){navigator.locks.request(e.lN,{signal:e._wKMC.c.signal},function(){return e._wKMC.c=void 0,MO(e),r(),n}).catch(function(){})})}return this._wLMP},set onduplicate(t){},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this.isLeader=!1),this.isDead=!0,this._wKMC.res&&this._wKMC.res(),this._wKMC.c&&this._wKMC.c.abort("LeaderElectionWebLock.die() called"),Do(this,"death")}};var BO=function(e,n){var r=this;this.broadcastChannel=e,this._options=n,this.isLeader=!1,this._hasLeader=!1,this.isDead=!1,this.token=Zl(),this._aplQ=Mi,this._aplQC=0,this._unl=[],this._lstns=[],this._dpL=function(){},this._dpLC=!1;var i=function(o){o.context==="leader"&&(o.action==="death"&&(r._hasLeader=!1),o.action==="tell"&&(r._hasLeader=!0))};this.broadcastChannel.addEventListener("internal",i),this._lstns.push(i)};BO.prototype={hasLeader:function(){return Promise.resolve(this._hasLeader)},applyOnce:function(e){var n=this;if(this.isLeader)return mo(0,!0);if(this.isDead)return mo(0,!1);if(this._aplQC>1)return this._aplQ;var r=function(){if(n.isLeader)return ON;var s=!1,o,a=new Promise(function(h){o=function(){s=!0,h()}}),l=function(m){m.context==="leader"&&m.token!=n.token&&(m.action==="apply"&&m.token>n.token&&o(),m.action==="tell"&&(o(),n._hasLeader=!0))};n.broadcastChannel.addEventListener("internal",l);var f=e?n._options.responseTime*4:n._options.responseTime;return Do(n,"apply").then(function(){return Promise.race([mo(f),a.then(function(){return Promise.reject(new Error)})])}).then(function(){return Do(n,"apply")}).then(function(){return Promise.race([mo(f),a.then(function(){return Promise.reject(new Error)})])}).catch(function(){}).then(function(){return n.broadcastChannel.removeEventListener("internal",l),s?!1:MO(n).then(function(){return!0})})};return this._aplQC=this._aplQC+1,this._aplQ=this._aplQ.then(function(){return r()}).then(function(){n._aplQC=n._aplQC-1}),this._aplQ.then(function(){return n.isLeader})},awaitLeadership:function(){return this._aLP||(this._aLP=PB(this)),this._aLP},set onduplicate(t){this._dpL=t},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this._hasLeader=!1,this.isLeader=!1),this.isDead=!0,Do(this,"death")}};function PB(t){return t.isLeader?Mi:new Promise(function(e){var n=!1;function r(){n||(n=!0,t.broadcastChannel.removeEventListener("internal",s),e(!0))}t.applyOnce().then(function(){t.isLeader&&r()});var i=function o(){return mo(t._options.fallbackInterval).then(function(){if(!(t.isDead||n))if(t.isLeader)r();else return t.applyOnce(!0).then(function(){t.isLeader?r():o()})})};i();var s=function(a){a.context==="leader"&&a.action==="death"&&(t._hasLeader=!1,t.applyOnce().then(function(){t.isLeader&&r()}))};t.broadcastChannel.addEventListener("internal",s),t._lstns.push(s)})}function RB(t,e){return t||(t={}),t=JSON.parse(JSON.stringify(t)),t.fallbackInterval||(t.fallbackInterval=3e3),t.responseTime||(t.responseTime=e.method.averageResponseTime(e.options)),t}function TB(t,e){if(t._leaderElector)throw new Error("BroadcastChannel already has a leader-elector");e=RB(e,t);var n=DN()?new NO(t,e):new BO(t,e);return t._befC.push(function(){return n.die()}),t._leaderElector=n,n}var Id=new Map;function MB(t,e,n,r){var i=Id.get(e);return i||(i={bc:new xh(["RxDB:",t,n].join("|")),refs:new Set},Id.set(e,i)),i.refs.add(r),i.bc}function yb(t,e){var n=Id.get(t);if(n&&(n.refs.delete(e),n.refs.size===0))return Id.delete(t),n.bc.close()}function NB(t,e,n,r){if(e.multiInstance){var i=r||MB(t,e.databaseInstanceToken,n.databaseName,n),s=new Kt,o=y=>{y.storageName===t&&y.databaseName===e.databaseName&&y.collectionName===e.collectionName&&y.version===e.schema.version&&s.next(y.eventBulk)};i.addEventListener("message",o);var a=n.changeStream(),l=!1,f=a.subscribe(y=>{l||i.postMessage({storageName:t,databaseName:e.databaseName,collectionName:e.collectionName,version:e.schema.version,eventBulk:y})});n.changeStream=function(){return s.asObservable().pipe(oT(a))};var h=n.close.bind(n);n.close=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await yb(e.databaseInstanceToken,n),h()};var m=n.remove.bind(n);n.remove=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await yb(e.databaseInstanceToken,n),m()}}}function BB(t,e){var n=e.map(r=>{var i=zi(t,r);if(!i)throw new Error("not in schema: "+r);var s=i.type,o;(s==="number"||s==="integer")&&(o=Yg(i));var a=XI(r),l=i.maxLength?i.maxLength:0,f;s==="string"?f=m=>{var y=a(m);return y||(y=""),y.padEnd(l," ")}:s==="boolean"?f=m=>{var y=a(m);return y?"1":"0"}:f=m=>{var y=a(m);return Ed(o,y)};var h={fieldName:r,schemaPart:i,parsedLengths:o,getValue:a,getIndexStringPart:f};return h});return n}function FB(t,e){var n=BB(t,e),r=n.length,i=n.map(o=>o.getIndexStringPart),s=function(o){for(var a="",l=0;l1&&(a=o[1].length),{minimum:e,maximum:n,nonDecimals:s,decimals:a,roundedMinimum:e}}function Ed(t,e){typeof e>"u"&&(e=0),et.maximum&&(e=t.maximum);var n=(Math.floor(e)-t.roundedMinimum).toString(),r=n.padStart(t.nonDecimals,"0");if(t.decimals>0){var i=e.toString().split("."),s=i.length>1?i[1]:"0";r+=s.padEnd(t.decimals,"0")}return r}function vb(t,e,n){var r="";return e.forEach((i,s)=>{var o=zi(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"?r+=a.padEnd(f," "):r+="".padEnd(f," ");break;case"boolean":if(a===null)r+="0";else if(a===li)r+="0";else if(a===Ar)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var m=Yg(o);if(a===null||a===li){var y="0";r+=y.repeat(m.nonDecimals+m.decimals)}else if(a===Ar)r+=Ed(m,m.maximum);else{var w=Ed(m,a);r+=w}break;default:throw new Error("unknown index type "+l)}}),r}function LB(t,e,n){var r="";return e.forEach((i,s)=>{var o=zi(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"&&a!==Ar?r+=a.padEnd(f," "):a===li?r+="".padEnd(f," "):r+="".padEnd(f,Ar);break;case"boolean":if(a===null)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var m=Yg(o);if(a===null||a===Ar){var y="9";r+=y.repeat(m.nonDecimals+m.decimals)}else if(a===li){var w="0";r+=w.repeat(m.nonDecimals+m.decimals)}else r+=Ed(m,a);break;default:throw new Error("unknown index type "+l)}}),r}var gb=t=>Promise.resolve(t);function wb(t,e){if(t==="_deleted")return e;e=$e(e);var n=!!e._deleted;return e[t]=n,delete e._deleted,e}function ym(t,e,n){return n.map(r=>{var i=$e(r);if(e!=="_deleted"){var s=!!i[e];i._deleted=s,delete i[e]}else i._deleted=!!i._deleted;var o=t.schema.primaryPath;return i[o]=Ws(t.schema.jsonSchema,i),i})}function _b(t,e){if(typeof window>"u"||typeof window!="object"||typeof window.addEventListener>"u"||navigator.onLine)return t.promiseWait(e);var n,r=new Promise(i=>{n=()=>{window.removeEventListener("online",n),i()},window.addEventListener("online",n)});return Promise.race([r,t.promiseWait(e)]).then(()=>{window.removeEventListener("online",n)})}var FO=new WeakMap,$B=function(){function t(n,r,i,s,o,a,l,f){this.subs=[],this.subjects={received:new Kt,sent:new Kt,error:new Kt,canceled:new Jr(!1),active:new Jr(!1)},this.received$=this.subjects.received.asObservable(),this.sent$=this.subjects.sent.asObservable(),this.error$=this.subjects.error.asObservable(),this.canceled$=this.subjects.canceled.asObservable(),this.active$=this.subjects.active.asObservable(),this.onCancel=[],this.callOnStart=void 0,this.remoteEvents$=new Kt,this.replicationIdentifier=n,this.collection=r,this.deletedField=i,this.pull=s,this.push=o,this.live=a,this.retryTime=l,this.autoStart=f;var h=Mr(FO,r,()=>[]);h.push(this),this.collection.onDestroy.push(()=>this.cancel()),Object.keys(this.subjects).forEach(y=>{Object.defineProperty(this,y+"$",{get:function(){return this.subjects[y].asObservable()}})});var m=new Promise(y=>{this.callOnStart=y});this.startPromise=m}var e=t.prototype;return e.start=async function(){if(!this.isStopped()){var r=this.pull&&this.pull.modifier?this.pull.modifier:gb,i=this.push&&this.push.modifier?this.push.modifier:gb,s=this.collection.database,o="rx-replication-meta-"+await s.hashFunction([this.collection.name,this.replicationIdentifier].join("-")),a=Ky(this.collection.schema.jsonSchema,vd(this.collection.schema.jsonSchema)),[l]=await Promise.all([this.collection.database.storage.createStorageInstance({databaseName:s.name,collectionName:o,databaseInstanceToken:s.token,multiInstance:s.multiInstance,options:{},schema:a,password:s.password,devMode:it.isDevMode()}),fO(this.collection,o,a)]);this.metaInstance=l,this.internalReplicationState=pO({pushBatchSize:this.push&&this.push.batchSize?this.push.batchSize:100,pullBatchSize:this.pull&&this.pull.batchSize?this.pull.batchSize:100,initialCheckpoint:{upstream:this.push?this.push.initialCheckpoint:void 0,downstream:this.pull?this.pull.initialCheckpoint:void 0},forkInstance:this.collection.storageInstance,metaInstance:this.metaInstance,hashFunction:s.hashFunction,identifier:"rxdbreplication"+this.replicationIdentifier,conflictHandler:this.collection.conflictHandler,replicationHandler:{masterChangeStream$:this.remoteEvents$.asObservable().pipe(lt(f=>!!this.pull),Br(async f=>{if(f==="RESYNC")return f;var h=$e(f);return h.documents=ym(this.collection,this.deletedField,h.documents),h.documents=await Promise.all(h.documents.map(m=>r(m))),h})),masterChangesSince:async(f,h)=>{if(!this.pull)return{checkpoint:null,documents:[]};for(var m=!1,y={};!m&&!this.isStopped();)try{y=await this.pull.handler(f,h),m=!0}catch(E){var w=le("RC_PULL",{checkpoint:f,errors:Ua(E).map($=>ky($)),direction:"pull"});this.subjects.error.next(w),await _b(this.collection,ye(this.retryTime))}if(this.isStopped())return{checkpoint:null,documents:[]};var I=$e(y);return I.documents=ym(this.collection,this.deletedField,I.documents),I.documents=await Promise.all(I.documents.map(E=>r(E))),I},masterWrite:async f=>{if(!this.push)return[];var h=!1;await No("preReplicationMasterWrite",{rows:f,collection:this.collection});var m=await Promise.all(f.map(async $=>($.newDocumentState=await i($.newDocumentState),$.newDocumentState===null?null:($.assumedMasterState&&($.assumedMasterState=await i($.assumedMasterState)),this.deletedField!=="_deleted"&&($.newDocumentState=wb(this.deletedField,$.newDocumentState),$.assumedMasterState&&($.assumedMasterState=wb(this.deletedField,$.assumedMasterState))),$)))),y=m.filter(JI),w=null;for(y.length===0&&(h=!0,w=[]);!h&&!this.isStopped();)try{if(w=await this.push.handler(y),!Array.isArray(w))throw le("RC_PUSH_NO_AR",{pushRows:f,direction:"push",args:{result:w}});h=!0}catch($){var I=$.rxdb?$:le("RC_PUSH",{pushRows:f,errors:Ua($).map(S=>ky(S)),direction:"push"});this.subjects.error.next(I),await _b(this.collection,ye(this.retryTime))}if(this.isStopped())return[];await No("preReplicationMasterWriteDocumentsHandle",{result:w,collection:this.collection});var E=ym(this.collection,this.deletedField,ye(w));return E}}}),this.subs.push(this.internalReplicationState.events.error.subscribe(f=>{this.subjects.error.next(f)}),this.internalReplicationState.events.processed.down.subscribe(f=>this.subjects.received.next(f.document)),this.internalReplicationState.events.processed.up.subscribe(f=>{this.subjects.sent.next(f.newDocumentState)}),AE([this.internalReplicationState.events.active.down,this.internalReplicationState.events.active.up]).subscribe(([f,h])=>{var m=f||h;this.subjects.active.next(m)})),this.pull&&this.pull.stream$&&this.live&&this.subs.push(this.pull.stream$.subscribe({next:f=>{this.remoteEvents$.next(f)},error:f=>{this.subjects.error.next(f)}})),this.live||(await Tf(this.internalReplicationState),await ab(this.internalReplicationState),await this.cancel()),this.callOnStart()}},e.isStopped=function(){return!!this.subjects.canceled.getValue()},e.awaitInitialReplication=async function(){return await this.startPromise,Tf(ye(this.internalReplicationState))},e.awaitInSync=async function(){await this.startPromise,await Tf(ye(this.internalReplicationState));for(var r=2;r>0;)r--,await this.collection.database.requestIdlePromise(),await ab(ye(this.internalReplicationState));return!0},e.reSync=function(){this.remoteEvents$.next("RESYNC")},e.emitEvent=function(r){this.remoteEvents$.next(r)},e.cancel=async function(){if(this.isStopped())return Jn;var r=this.onCancel.map(i=>ZI(i()));return this.internalReplicationState&&await mO(this.internalReplicationState),this.metaInstance&&r.push(ye(this.internalReplicationState).checkpointQueue.then(()=>ye(this.metaInstance).close())),this.subs.forEach(i=>i.unsubscribe()),this.subjects.canceled.next(!0),this.subjects.active.complete(),this.subjects.canceled.complete(),this.subjects.error.complete(),this.subjects.received.complete(),this.subjects.sent.complete(),Promise.all(r)},t}(),Fr;(function(t){function e(U){return Array.isArray(U)?U.slice():t.isObject(U)?{...U}:U}t.clone=e;function n(U){let ee=r(U);return Array.isArray(U)&&(ee=ee.filter(ce=>ce!=="length")),ee}t.keys=n;function r(U){return U?Object.getOwnPropertyNames(U):[]}t.keysOfNonArray=r;function i(U,ee){return a(n(U),ce=>ee(U[ce],ce)),U}t.forOwn=i;function s(U,ee){return a(r(U),ce=>ee(U[ce],ce)),U}t.forOwnOfNonArray=s;function o(U,ee){return Array.isArray(U)?a(U,ee):s(U,ee),U}t.forEach=o;function a(U,ee){for(let ce=0,de=U.length;ce{const ot=U[Pe];ot instanceof Object&&(de=l(e(ot),de)),U[Pe]=de});return U}t.merge=l;function f(U){return Array.isArray(U)||(U=r(U)),U.length===0}t.isEmpty=f,t.isFunction=U=>typeof U=="function",t.isUndefined=U=>U===void 0||U==="undefined";function h(U){return U==null||U==="undefined"||U==="null"}t.isNullOrUndefined=h,t.isObject=U=>Object.prototype.toString.call(U)==="[object Object]",t.isEmptyObject=U=>h(U)||t.isObject(U)&&f(U);function m(){return typeof globalThis.ngDevMode>"u"||!!globalThis.ngDevMode}t.isDevMode=m;function y(U){return typeof U=="number"&&!isNaN(U)}t.isValidNumber=y;function w(){}t.noop=w;function I(U){return U}t.identity=I;function E(U,ee){const ce=[];for(let de=0;deU+ce*de)}t.range=$;function S(U){return t.isObject(U)?U._id:String(U)}t.getMaybeId=S;function _(U){return U.filter(I)}t.compact=_;function O(U){return f(U)?U:Array.isArray(U)?_(U):Object.entries(U).filter(([,ee])=>!h(ee)&&!f(ee)).reduce((ee,[ce,de])=>({...ee,[ce]:de}),{})}t.compactObject=O;function z(){var U;return(U=localStorage.debug)==null?void 0:U.includes("@ngx-odm/rxdb")}t.isDevModeForced=z;function W(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}t.isTestEnvironment=W,t.logger={log:function(){const U="#8d2089";return W()||!m()||!z()?w:console.log.bind(console,"%c[DEBUG::@ngx-odm/rxdb]",`background:${U};color:#fff;padding:2px;font-size:normal;`)}(),table:function(){return W()||!m()||!z()?w:console.table.bind(console)}()};function Q(U="Event"){return function(ce){return m()?ce.pipe(Cy({next(de){t.logger.log(`observable:${U}:next:`,de)},error(de){t.logger.log(`observable:${U}:error:`,de.message)},complete(){t.logger.log(`observable:${U}:complete`)}})):ce}}t.debug=Q;function H(U=3,ee=1e4){return ce=>ce.pipe(aT({count:U,delay:(de,Pe)=>{const ot=Math.pow(2,Pe-1)*ee;return t.logger.log("replication:kinto:longpoll:retry",Pe,ot),IE(ot)}}))}t.retryWithBackoff=H,t.tapOnce=U=>ee=>Ay(()=>(U(),ee)),t.deferUntil=U=>ee=>Ay(()=>U.pipe(Cl(()=>ee))),t.getDefaultQuery=()=>({selector:{_deleted:{$eq:!1}},skip:0,sort:[{id:"asc"}]});const X={properties:{id:{type:"string"},_deleted:{type:"boolean"}},primaryKey:"id",indexes:[["_deleted","id"]]};t.getDefaultQuery(),t.getDefaultPreparedQuery=()=>Jl(X,t.getDefaultQuery())})(Fr||(Fr={}));const LO=()=>typeof window=="object"&&"fetch"in window?window.fetch.bind(window):fetch;function bb(t){return t&&t instanceof $B}function Sb(t=!1){return Mt(e=>(Array.isArray(e)?e:[...e.values()]).map(n=>{const r={...n._data};return t||(delete r._rev,delete r._attachments,delete r._deleted,delete r._meta),r}))}const{debug:jB,isEmptyObject:UB,isFunction:zB}=Fr;function VB(t){return!UB(t)&&zB(t.run)}function Bu(t){return VB(t)?e=>new Ot(n=>e.subscribe(r=>t.run(()=>n.next(r)),r=>t.run(()=>n.error(r)),()=>t.run(()=>n.complete()))):e=>e}function tc(){return function(t,e,n){const r=n.value;return n.value=function(...i){return Ay(()=>this.initialized$.pipe(Cl(()=>r.apply(this,i)),jB(`collection.${e}`)))},n}}function kt(){return function(t,e,n){const r=n.value;return n.value=async function(...i){return await fT(this.initialized$).catch(()=>{throw new Error(`Collection "${this.config.name}" was not initialized. Please check RxDB errors.`)}),r.apply(this,i)},n}}var Ib,Eb,Ob,kb,Db,xb;const{getMaybeId:KB,logger:vm,debug:WB,noop:qB}=Fr;class Je{get initialized$(){return this._init$.asObservable()}get collection(){return this._collection}get db(){return this.dbService.db}get dbOptions(){return this.dbService.dbOptions}get replicationState(){return this._replicationState}get queryParams$(){var e;return(e=this.config.options)!=null&&e.useQueryParams?this.initialized$.pipe(Cl(()=>this.collection.queryParams.$)):im({})}constructor(e,n,r={},i=im(""),s=qB){this.config=e,this.dbService=n,this.ngZone=r,this.currentUrl$=i,this.updateQueryParamsFn=s,this._replicationState=null,this._init$=new TE,this.init(e)}destroy(){var e;(e=this.collection)==null||e.destroy()}setQueryParams(e){var n;(n=this.collection.queryParams)==null||n.set(e)}patchQueryParams(e){var n;(n=this.collection.queryParams)==null||n.patch(e)}async sync(){var e;if(bb(this.replicationState)){this.replicationState.reSync();return}if(typeof((e=this.config.options)==null?void 0:e.replicationStateFactory)=="function"){try{this._replicationState=this.config.options.replicationStateFactory(this.collection)}catch(n){vm.log("replicationState has error, ignore replication"),vm.log(n.message)}if(bb(this.replicationState))return this.replicationState.autoStart||this.replicationState.reSync(),Py(window,"online").pipe(WB("online"),ME(()=>!this.replicationState.isStopped())).subscribe(()=>{this._replicationState.reSync()}),this.replicationState.startPromise}}async info(){return this.collection.getMetadata()}async import(e){const n=await this.collection.schema.hash,r={name:this.collection.name,schemaHash:n,docs:e};this.collection.importJSON(r)}async export(){return this.collection.exportJSON()}docs(e,n=!1){return(cT(e)?e:im(e)).pipe(Cl(r=>this.collection.find(r).$),Sb(n),Bu(this.ngZone),Pi(Ai))}docsByIds(e,n=!1){return this.collection.findByIds(e).$.pipe(Sb(n),Bu(this.ngZone),Pi(Ai))}count(e){return this.collection.count(e).$.pipe(Bu(this.ngZone),Pi(Ai))}get(e,n=!1){return this.collection.findOne(e).$.pipe(Mt(r=>r?r.toMutableJSON(n):null),Bu(this.ngZone),Pi(Ai))}async insert(e){return this.collection.insert(e)}async insertBulk(e){return this.collection.bulkInsert(e)}async upsert(e){return this.collection.upsert(e)}async upsertBulk(e){return this.collection.bulkUpsert(e)}async set(e,n){return this.collection.findOne(e).update({$set:n})}async updateBulk(e,n){return this.collection.find(e).update({$set:n})}async remove(e){const n=KB(e);return this.collection.findOne(n).remove()}async removeBulk(e){return Array.isArray(e)?this.collection.bulkRemove(e):{success:[...(await this.collection.find(e).remove().catch(()=>new Map)).values()],error:[]}}async clear(){return this.collection.remove()}async getAttachments(e){const n=await this.collection.findOne(e).exec();if(!n)return null;const r=n.allAttachments().map(i=>i.getData());return Promise.all(r)}async getAttachmentById(e,n){const r=await this.collection.findOne(e).exec();if(!r)return null;const i=r.getAttachment(n);return i?i.getData():null}async putAttachment(e,n){const r=await this.collection.findOne(e).exec();r&&await r.putAttachment(n)}async removeAttachment(e,n){const r=await this.collection.findOne(e).exec();if(!r)return;const i=r.getAttachment(n);i&&await i.remove()}async addHook(e,n,r=!1){this.collection[e](n,r)}async getLocal(e,n){const r=await this.collection.getLocal(e);return r?n?r==null?void 0:r.get(n):r==null?void 0:r.toJSON().data:null}getLocal$(e,n){return this.collection.getLocal$(e).pipe(Mt(r=>r?n?r.get(n):r.toJSON().data:null),Fo(),Bu(this.ngZone))}async insertLocal(e,n){await this.collection.insertLocal(e,n)}async upsertLocal(e,n){await this.collection.upsertLocal(e,n)}async setLocal(e,n,r){var s,o;const i=await this.collection.getLocal(e);await this.collection.upsertLocal(e,{...((o=(s=i==null?void 0:i.toJSON)==null?void 0:s.call(i))==null?void 0:o.data)||{},[n]:r})}async removeLocal(e){const n=await this.collection.getLocal(e);await(n==null?void 0:n.remove())}async init(e){var i,s,o,a;const{name:n,options:r}=e;try{await this.dbService.initCollections({[n]:e}),this._collection=this.db.collections[n],r!=null&&r.useQueryParams&&this.collection.queryParamsInit(this.currentUrl$,this.updateQueryParamsFn),this._init$.next(!0),this._init$.complete()}catch(l){if(l.message.includes("DM5")||l.message.includes("DB6")&&((i=l.parameters.previousSchema)==null?void 0:i.version)===((s=l.parameters.schema)==null?void 0:s.version))vm.log("Reload the page to fix the issue. The database is in a state where it can not be used."),await SO(this.db.name,this.db.storage),(a=(o=window==null?void 0:window.location)==null?void 0:o.reload)==null||a.call(o);else throw this._init$.complete(),l}}}tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"sync",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"info",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"import",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"export",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Ot)],Je.prototype,"docs",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Array,Object]),re("design:returntype",Ot)],Je.prototype,"docsByIds",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Ot)],Je.prototype,"count",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Ot)],Je.prototype,"get",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"insert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"insertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"upsert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"upsertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"set",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Promise)],Je.prototype,"updateBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"remove",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"removeBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"clear",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"getAttachments",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"getAttachmentById",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"putAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"removeAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[typeof(Ib=typeof Hook<"u"&&Hook)=="function"?Ib:Object,Object,Object]),re("design:returntype",Promise)],Je.prototype,"addHook",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Eb=typeof K<"u"&&K)=="function"?Eb:Object]),re("design:returntype",Promise)],Je.prototype,"getLocal",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[String,typeof(Ob=typeof K<"u"&&K)=="function"?Ob:Object]),re("design:returntype",Ot)],Je.prototype,"getLocal$",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(kb=typeof L<"u"&&L)=="function"?kb:Object]),re("design:returntype",Promise)],Je.prototype,"insertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Db=typeof L<"u"&&L)=="function"?Db:Object]),re("design:returntype",Promise)],Je.prototype,"upsertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(xb=typeof K<"u"&&K)=="function"?xb:Object,Object]),re("design:returntype",Promise)],Je.prototype,"setLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"removeLocal",null);var $O={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(vw,function(){var n=function(u,c){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,p){d.__proto__=p}||function(d,p){for(var v in p)Object.prototype.hasOwnProperty.call(p,v)&&(d[v]=p[v])})(u,c)},r=function(){return(r=Object.assign||function(u){for(var c,d=1,p=arguments.length;d"u"||s.Promise||(s.Promise=Promise);var f=Object.getPrototypeOf,h={}.hasOwnProperty;function m(u,c){return h.call(u,c)}function y(u,c){typeof c=="function"&&(c=c(f(u))),(typeof Reflect>"u"?o:Reflect.ownKeys)(c).forEach(function(d){I(u,d,c[d])})}var w=Object.defineProperty;function I(u,c,d,p){w(u,c,l(d&&m(d,"get")&&typeof d.get=="function"?{get:d.get,set:d.set,configurable:!0}:{value:d,configurable:!0,writable:!0},p))}function E(u){return{from:function(c){return u.prototype=Object.create(c.prototype),I(u.prototype,"constructor",u),{extend:y.bind(null,u.prototype)}}}}var $=Object.getOwnPropertyDescriptor,S=[].slice;function _(u,c,d){return S.call(u,c,d)}function O(u,c){return c(u)}function z(u){if(!u)throw new Error("Assertion Failed")}function W(u){s.setImmediate?setImmediate(u):setTimeout(u,0)}function Q(u,c){if(typeof c=="string"&&m(u,c))return u[c];if(!c)return u;if(typeof c!="string"){for(var d=[],p=0,v=c.length;p"u"?[]:function(){var u=Promise.resolve();if(typeof crypto>"u"||!crypto.subtle)return[u,f(u),u];var c=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[c,f(c),u]}(),mu=Ur[0],lr=Ur[1],Ur=Ur[2],lr=lr&&lr.then,yu=mu&&mu.constructor,Kh=!!Ur,vu=function(u,c){gu.push([u,c]),pc&&(queueMicrotask(xx),pc=!1)},Wh=!0,pc=!0,Js=[],mc=[],qh=hu,Zi={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:et,pgp:!1,env:{},finalize:et},fe=Zi,gu=[],Xs=0,yc=[];function se(u){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var c=this._PSD=fe;if(typeof u!="function"){if(u!==pu)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(this._state===!1&&Qh(this,this._value))}this._state=null,this._value=null,++c.ref,function d(p,v){try{v(function(g){if(p._state===null){if(g===p)throw new TypeError("A promise cannot be resolved with itself.");var b=p._lib&&Ho();g&&typeof g.then=="function"?d(p,function(k,A){g instanceof se?g._then(k,A):g.then(k,A)}):(p._state=!0,p._value=g,V0(p)),b&&Qo()}},Qh.bind(null,p))}catch(g){Qh(p,g)}}(this,u)}var Hh={get:function(){var u=fe,c=_c;function d(p,v){var g=this,b=!u.global&&(u!==fe||c!==_c),k=b&&!ts(),A=new se(function(x,M){Yh(g,new z0(W0(p,u,b,k),W0(v,u,b,k),x,M,u))});return this._consoleTask&&(A._consoleTask=this._consoleTask),A}return d.prototype=pu,d},set:function(u){I(this,"then",u&&u.prototype===pu?Hh:{get:function(){return u},set:Hh.set})}};function z0(u,c,d,p,v){this.onFulfilled=typeof u=="function"?u:null,this.onRejected=typeof c=="function"?c:null,this.resolve=d,this.reject=p,this.psd=v}function Qh(u,c){var d,p;mc.push(c),u._state===null&&(d=u._lib&&Ho(),c=qh(c),u._state=!1,u._value=c,p=u,Js.some(function(v){return v._value===p._value})||Js.push(p),V0(u),d&&Qo())}function V0(u){var c=u._listeners;u._listeners=[];for(var d=0,p=c.length;d.",q0="String expected.",Go=[],Sc="__dbnames",Xh="readonly",Zh="readwrite";function to(u,c){return u?c?function(){return u.apply(this,arguments)&&c.apply(this,arguments)}:u:c}var H0={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Ic(u){return typeof u!="string"||/\./.test(u)?function(c){return c}:function(c){return c[u]===void 0&&u in c&&delete(c=Pe(c))[u],c}}function Q0(){throw pe.Type()}function je(u,c){try{var d=Y0(u),p=Y0(c);if(d!==p)return d==="Array"?1:p==="Array"?-1:d==="binary"?1:p==="binary"?-1:d==="string"?1:p==="string"?-1:d==="Date"?1:p!=="Date"?NaN:-1;switch(d){case"number":case"Date":case"string":return cj+V&&F(j+C)})})}return F(0).then(function(){if(0=C})).length!==0?(M.forEach(function(F){B.push(function(){var j=R,V=F._cfg.dbschema;Pc(D,j,T),Pc(D,V,T),R=D._dbSchema=V;var q=up(j,V);q.add.forEach(function(te){lp(T,te[0],te[1].primKey,te[1].indexes)}),q.change.forEach(function(te){if(te.recreate)throw new pe.Upgrade("Not yet support for changing primary key");var he=T.objectStore(te.name);te.add.forEach(function(me){return Cc(he,me)}),te.change.forEach(function(me){he.deleteIndex(me.name),Cc(he,me)}),te.del.forEach(function(me){return he.deleteIndex(me)})});var Y=F._cfg.contentUpgrade;if(Y&&F._cfg.version>C){Dc(D,T),P._memoizedTables={};var ne=X(V);q.del.forEach(function(te){ne[te]=j[te]}),ap(D,[D.Transaction.prototype]),xc(D,[D.Transaction.prototype],o(ne),ne),P.schema=ne;var J,ie=Re(Y);return ie&&Yo(),q=se.follow(function(){var te;(J=Y(P))&&ie&&(te=ts.bind(null,null),J.then(te,te))}),J&&typeof J.then=="function"?se.resolve(J):q.then(function(){return J})}}),B.push(function(j){var V,q,Y=F._cfg.dbschema;V=Y,q=j,[].slice.call(q.db.objectStoreNames).forEach(function(ne){return V[ne]==null&&q.db.deleteObjectStore(ne)}),ap(D,[D.Transaction.prototype]),xc(D,[D.Transaction.prototype],D._storeNames,D._dbSchema),P.schema=D._dbSchema}),B.push(function(j){D.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(D.idbdb.version/10)===F._cfg.version?(D.idbdb.deleteObjectStore("$meta"),delete D._dbSchema.$meta,D._storeNames=D._storeNames.filter(function(V){return V!=="$meta"})):j.objectStore("$meta").put(F._cfg.version,"version"))})}),function F(){return B.length?se.resolve(B.shift()(P.idbtrans)).then(F):se.resolve()}().then(function(){iw(R,T)})):se.resolve();var D,C,P,T,B,R}).catch(b)):(o(v).forEach(function(M){lp(d,M,v[M].primKey,v[M].indexes)}),Dc(u,d),void se.follow(function(){return u.on.populate.fire(g)}).catch(b));var A,x})}function Ux(u,c){iw(u._dbSchema,c),c.db.version%10!=0||c.objectStoreNames.contains("$meta")||c.db.createObjectStore("$meta").add(Math.ceil(c.db.version/10-1),"version");var d=Ac(0,u.idbdb,c);Pc(u,u._dbSchema,c);for(var p=0,v=up(d,u._dbSchema).change;pMath.pow(2,62)?0:R.oldVersion,D=R<1,u.idbdb=B.result,g&&Ux(u,M),jx(u,R/10,M,P))},P),B.onsuccess=vt(function(){M=null;var R,F,j,V,q,Y=u.idbdb=B.result,ne=_(Y.objectStoreNames);if(0"u"?se.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(C){function P(){return indexedDB.databases().finally(C)}A=setInterval(P,100),P()}).finally(function(){return clearInterval(A)}):Promise.resolve()).then(k)]).then(function(){return b(),c.onReadyBeingFired=[],se.resolve(dp(function(){return u.on.ready.fire(u.vip)})).then(function C(){if(0c.limit?C.length=c.limit:u.length===c.limit&&C.length=F.limit&&(!F.values||Y.req.values)&&Qx(Y.req.query.range,F.query.range)}),!1,j,V];case"count":return q=V.find(function(Y){return pw(Y.req.query.range,F.query.range)}),[q,!!q,j,V]}}(c,d,"query",g),M=x[0],D=x[1],C=x[2],P=x[3];return M&&D?M.obsSet=g.obsSet:(D=p.query(g).then(function(T){var B=T.result;if(M&&(M.res=B),b){for(var R=0,F=B.length;R{var o=(async()=>{var a=$e(n);a.autoOpen=!1;var l=new Qy(i,a),f={[Od]:XB(r),[QB]:"++sequence, id",[Ab]:"id"};return l.version(1).stores(f),await l.open(),{dexieDb:l,dexieTable:l[Od],dexieAttachmentsTable:l[Ab],booleanIndexes:ZB(r)}})();return Pb.set(i,s),Mf.set(s,0),o});return s}async function GB(t){var e=await t,n=Mf.get(t),r=n-1;r===0?(e.dexieDb.close(),Mf.delete(t)):Mf.set(t,r)}var Yy="__";function nc(t){var e=t.split(".");if(e.length>1)return e.map(r=>nc(r)).join(".");if(t.startsWith("|")){var n=t.substring(1);return Yy+n}else return t}function UO(t){var e=t.split(".");if(e.length>1)return e.map(r=>UO(r)).join(".");if(t.startsWith(Yy)){var n=t.substring(Yy.length);return"|"+n}else return t}function JB(t,e){return e&&(e=$e(e),e=Gy(e),t.forEach(n=>{var r=Ts(e,n),i=r?"1":"0";rE(e,n,i)}),e)}function zO(t,e){return e&&(e=$e(e),e=Jy(e),t.forEach(n=>{var r=Ts(e,n),i=r==="1";rE(e,n,i)}),e)}function Gy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Gy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{typeof r=="object"&&(r=Gy(r)),e[nc(n)]=r}),e}}function Jy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Jy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{(typeof r=="object"||Array.isArray(t))&&(r=Jy(r)),e[UO(n)]=r}),e}}function XB(t){var e=[],n=Fn(t.primaryKey);e.push([n]),e.push(["_deleted",n]),t.indexes&&t.indexes.forEach(s=>{var o=Ua(s);e.push(o)}),e.push(["_meta.lwt",n]),e.push(["_meta.lwt"]),e=e.map(s=>s.map(o=>nc(o)));var r=e.map(s=>s.length===1?s[0]:"["+s.join("+")+"]");r=r.filter((s,o,a)=>a.indexOf(s)===o);var i=r.join(", ");return i}async function Rb(t,e){var n=await t,r=await n.dexieTable.bulkGet(e);return r.map(i=>zO(n.booleanIndexes,i))}function of(t,e){return t+"||"+e}function ZB(t){var e=new Set,n=[];return t.indexes?(t.indexes.forEach(r=>{var i=Ua(r);i.forEach(s=>{if(!e.has(s)){e.add(s);var o=zi(t,s);o.type==="boolean"&&n.push(s)}})}),n.push("_deleted"),AP(n)):n}function Tb(t){return t===li?-1/0:t}function Mb(t,e,n){if(t.includes(e)){var r=n===Ar||n===!0?"1":"0";return r}else return n}function VO(t,e,n){if(!n){if(typeof window>"u")throw new Error("IDBKeyRange missing");n=window.IDBKeyRange}var r=e.startKeys.map((o,a)=>{var l=e.index[a];return Mb(t,l,o)}).map(Tb),i=e.endKeys.map((o,a)=>{var l=e.index[a];return Mb(t,l,o)}).map(Tb),s=n.bound(r,i,!e.inclusiveStart,!e.inclusiveEnd);return s}async function Nb(t,e){var n=await t.internals,r=e.query,i=r.skip?r.skip:0,s=r.limit?r.limit:1/0,o=i+s,a=e.queryPlan,l=!1;a.selectorSatisfiedByIndex||(l=Oh(t.schema,e.query));var f=VO(n.booleanIndexes,a,n.dexieDb._options.IDBKeyRange),h=a.index,m=[];if(await n.dexieDb.transaction("r",n.dexieTable,async w=>{var I=w.idbtrans,E=I.objectStore(Od),$,S;S="["+h.map(O=>nc(O)).join("+")+"]",$=E.index(S);var _=$.openCursor(f);await new Promise(O=>{_.onsuccess=function(z){var W=z.target.result;if(W){var Q=zO(n.booleanIndexes,W.value);(!l||l(Q))&&m.push(Q),a.sortSatisfiedByIndex&&m.length===o?O():W.continue()}else O()}})}),!a.sortSatisfiedByIndex){var y=Lg(t.schema,e.query);m=m.sort(y)}return m=m.slice(i,o),{documents:m}}async function eF(t,e){var n=await t.internals,r=e.queryPlan,i=r.index,s=VO(n.booleanIndexes,r,n.dexieDb._options.IDBKeyRange),o=-1;return await n.dexieDb.transaction("r",n.dexieTable,async a=>{var l=a.idbtrans,f=l.objectStore(Od),h,m;m="["+i.map(w=>nc(w)).join("+")+"]",h=f.index(m);var y=h.count(s);o=await new Promise((w,I)=>{y.onsuccess=function(){w(y.result)},y.onerror=E=>I(E)})}),o}var tF=Ft(),nF=function(){function t(n,r,i,s,o,a,l){this.changes$=new Kt,this.instanceId=tF++,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,this.primaryPath=Fn(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=async function(r,i){oo(this),r.forEach(h=>{if(!h.document._rev||h.previous&&!h.previous._rev)throw le("SNH",{args:{row:h}})});var s=await this.internals,o={success:[],error:[]},a=r.map(h=>h.document[this.primaryPath]),l;if(await s.dexieDb.transaction("rw",s.dexieTable,s.dexieAttachmentsTable,async()=>{var h=new Map,m=await Rb(this.internals,a);m.forEach(I=>{var E=I;return E&&h.set(E[this.primaryPath],E),E}),l=iO(this,this.primaryPath,h,r,i),o.error=l.errors;var y=[];l.bulkInsertDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),l.bulkUpdateDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),y=y.map(I=>JB(s.booleanIndexes,I)),y.length>0&&await s.dexieTable.bulkPut(y);var w=[];l.attachmentsAdd.forEach(I=>{w.push({id:of(I.documentId,I.attachmentId),data:I.attachmentData.data})}),l.attachmentsUpdate.forEach(I=>{w.push({id:of(I.documentId,I.attachmentId),data:I.attachmentData.data})}),await s.dexieAttachmentsTable.bulkPut(w),await s.dexieAttachmentsTable.bulkDelete(l.attachmentsRemove.map(I=>of(I.documentId,I.attachmentId)))}),l=ye(l),l.eventBulk.events.length>0){var f=ye(l.newestRow).document;l.eventBulk.checkpoint={id:f[this.primaryPath],lwt:f._meta.lwt},l.eventBulk.endTime=Ft(),this.changes$.next(l.eventBulk)}return o},e.findDocumentsById=async function(r,i){oo(this);var s=await this.internals,o=[];return await s.dexieDb.transaction("r",s.dexieTable,async()=>{var a=await Rb(this.internals,r);a.forEach(l=>{l&&(!l._deleted||i)&&o.push(l)})}),o},e.query=function(r){return oo(this),Nb(this,r)},e.count=async function(r){if(r.queryPlan.selectorSatisfiedByIndex){var i=await eF(this,r);return{count:i,mode:"fast"}}else{var s=await Nb(this,r);return{count:s.documents.length,mode:"slow"}}},e.changeStream=function(){return oo(this),this.changes$.asObservable()},e.cleanup=async function(r){oo(this);var i=await this.internals;return await i.dexieDb.transaction("rw",i.dexieTable,async()=>{var s=Ft()-r,o=await i.dexieTable.where("_meta.lwt").below(s).toArray(),a=[];o.forEach(l=>{l._deleted==="1"&&a.push(l[this.primaryPath])}),await i.dexieTable.bulkDelete(a)}),!0},e.getAttachmentData=async function(r,i,s){oo(this);var o=await this.internals,a=of(r,i);return await o.dexieDb.transaction("r",o.dexieAttachmentsTable,async()=>{var l=await o.dexieAttachmentsTable.get(a);if(l)return l.data;throw new Error("attachment missing documentId: "+r+" attachmentId: "+i)})},e.remove=async function(){oo(this);var r=await this.internals;return await r.dexieTable.clear(),this.close()},e.close=function(){return this.closed?this.closed:(this.closed=(async()=>{this.changes$.complete(),await GB(this.internals)})(),this.closed)},e.conflictResultionTasks=function(){return new Kt},e.resolveConflictResultionTask=async function(r){},t}();async function rF(t,e,n){var r=YB(e.databaseName,e.collectionName,n,e.schema),i=new nF(t,e.databaseName,e.collectionName,e.schema,r,e.options,n);return await NB(jO,e,i),Promise.resolve(i)}function oo(t){if(t.closed)throw new Error("RxStorageInstanceDexie is closed "+t.databaseName+"-"+t.collectionName)}var iF=function(){function t(n){this.name=jO,this.rxdbVersion=gg,this.settings=n}var e=t.prototype;return e.createStorageInstance=function(r){return sO(r),rF(this,r,this.settings)},t}();function sF(t={}){var e=new iF(t);return e}function oF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>=0?(s=o,i=o-1):r=o+1}return s}function aF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>0?(s=o,i=o-1):r=o+1}return s}function uF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<0?(s=o,r=o+1):i=o-1}return s}function lF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<=0?(s=o,r=o+1):i=o-1}return s}function cF(t,e,n,r,i){for(;r<=i;){var s=r+i>>>1,o=t[s],a=n!==void 0?n(o,e):o-e;if(a===0)return s;a<=0?r=s+1:i=s-1}return-1}function rc(t,e,n,r,i,s){return typeof n=="function"?s(t,e,n,r===void 0?0:r|0,i===void 0?t.length-1:i|0):s(t,e,void 0,n===void 0?0:n|0,r===void 0?t.length-1:r|0)}function fF(t,e,n,r,i){return rc(t,e,n,r,i,oF)}function Bb(t,e,n,r,i){return rc(t,e,n,r,i,aF)}function dF(t,e,n,r,i){return rc(t,e,n,r,i,uF)}function hF(t,e,n,r,i){return rc(t,e,n,r,i,lF)}function KO(t,e,n,r,i){return rc(t,e,n,r,i,cF)}function WO(t,e,n){return[t,e,n].join("--memory--")}function af(t){if(t.internals.removed)throw new Error("removed")}function uf(t,e){return t+"||"+e}function pF(t,e){return t.indexString{var o=s.docsWithIndex,a=s.getIndexableString(r),l=KO(o,{indexString:a},rl);o.splice(l,1)})}function rl(t,e){var n=t.indexString,r=e.indexString;return nUa(i)):[];r.push(["_deleted","_meta.lwt",n]),r.forEach(i=>{t.byIndex[Xy(i)]={index:i,docsWithIndex:[],getIndexableString:FB(e,i)}})}function Xy(t){return t.join(",")}var Lb=new Set,vF=function(){function t(n,r,i,s,o,a,l){this.closed=!1,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,Lb.add(this),this.primaryPath=Fn(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=function(r,i){this.ensurePersistence(),af(this);for(var s=this.internals,o=this.internals.documents,a=this.primaryPath,l=iO(this,a,o,r,i),f=l.errors,h=new Array(l.bulkInsertDocs.length),m=l.bulkInsertDocs,y=0;y{this.internals.ensurePersistenceIdlePromise=void 0,this.ensurePersistence()})),l.eventBulk.events.length>0){var O=ye(l.newestRow).document;l.eventBulk.checkpoint={id:O[a],lwt:O._meta.lwt},l.eventBulk.endTime=Ft(),dd.then(()=>{s.changes$.next(l.eventBulk)})}var z=Promise.resolve({success:h,error:f});return z},e.ensurePersistence=function(){if(this.internals.ensurePersistenceTask){var r=this.internals,i=this.internals.documents,s=this.primaryPath,o=this.internals.ensurePersistenceTask;this.internals.ensurePersistenceTask=void 0;for(var a=Object.values(this.internals.byIndex),l=o.bulkInsertDocs,f=0;f{_.set(uf(O.documentId,O.attachmentId),{writeData:O.attachmentData,digest:O.digest})}),this.schema.attachments&&(o.attachmentsUpdate.forEach(O=>{_.set(uf(O.documentId,O.attachmentId),{writeData:O.attachmentData,digest:O.digest})}),o.attachmentsRemove.forEach(O=>{_.delete(uf(O.documentId,O.attachmentId))}))}}},e.findDocumentsById=function(r,i){this.ensurePersistence();var s=this.internals.documents,o=[];if(s.size===0)return Promise.resolve(o);for(var a=0;az)break;var X=H.doc;(!f||f(X))&&W.push(X),W.length>=l&&!m&&(Q=!0),O++}if(m){var U=Lg(this.schema,r.query);W=W.sort(U)}return W=W.slice(o,l),Promise.resolve({documents:W})},e.count=async function(r){this.ensurePersistence();var i=await this.query(r);return{count:i.documents.length,mode:"fast"}},e.cleanup=function(r){this.ensurePersistence();for(var i=Ft()-r,s=["_deleted","_meta.lwt",this.primaryPath],o=Xy(s),a=this.internals.byIndex[o].docsWithIndex,l=vb(this.schema,s,[!0,0,""]),f=Bb(a,{indexString:l},rl),h=!1;!h;){var m=a[f];!m||m.doc._meta.lwt>i?h=!0:(mF(this.primaryPath,this.schema,this.internals,m.doc),f++)}return dd},e.getAttachmentData=function(r,i,s){this.ensurePersistence(),af(this);var o=uf(r,i),a=this.internals.attachments.get(o);if(!s||!a||a.digest!==s)throw new Error("attachment does not exist: "+o);return Promise.resolve(a.writeData.data)},e.changeStream=function(){return af(this),this.internals.changes$.asObservable()},e.remove=async function(){if(this.closed)throw new Error("closed");this.ensurePersistence(),af(this),this.internals.removed=!0,this.storage.collectionStates.delete(WO(this.databaseName,this.collectionName,this.schema.version)),await this.close()},e.close=function(){return Lb.delete(this),this.ensurePersistence(),this.closed||(this.closed=!0,this.internals.refCount=this.internals.refCount-1),un},e.conflictResultionTasks=function(){return this.internals.conflictResultionTasks$.asObservable()},e.resolveConflictResultionTask=function(r){return un},t}();function gF(t,e,n){var r=WO(e.databaseName,e.collectionName,e.schema.version),i=t.collectionStates.get(r);if(!i)i={id:su(5),schema:e.schema,removed:!1,refCount:1,documents:new Map,attachments:e.schema.attachments?new Map:void 0,byIndex:{},conflictResultionTasks$:new Kt,changes$:new Kt},yF(i,e.schema),t.collectionStates.set(r,i);else{if(e.devMode&&!Ka(i.schema,e.schema))throw new Error("storage was already created with a different schema");i.refCount=i.refCount+1}var s=new vF(t,e.databaseName,e.collectionName,e.schema,i,e.options,n);return Promise.resolve(s)}var wF=new Map;function $b(t={}){var e={name:"memory",rxdbVersion:gg,collectionStates:wF,createStorageInstance(n){sO(n);var r=Object.assign({},t,n.options);return gF(this,n,r)}};return e}function _F(t){let{name:e,options:n,storage:r,...i}=t;if(!r)switch(n.storageType){case"dexie":r=sF(n.storageOptions);break;case"memory":r=$b(n.storageOptions);break;default:r=$b(n.storageOptions);break}return{name:e,storage:r,options:n,...i}}const bF=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,jb=t=>{if(typeof t!="string")throw new TypeError("Invalid argument expected string");const e=t.match(bF);if(!e)throw new Error(`Invalid argument not valid semver ('${t}' received)`);return e.shift(),e},Ub=t=>t==="*"||t==="x"||t==="X",zb=t=>{const e=parseInt(t,10);return isNaN(e)?t:e},SF=(t,e)=>typeof t!=typeof e?[String(t),String(e)]:[t,e],IF=(t,e)=>{if(Ub(t)||Ub(e))return 0;const[n,r]=SF(zb(t),zb(e));return n>r?1:n{for(let n=0;n{const n=jb(t),r=jb(e),i=n.pop(),s=r.pop(),o=Vb(n,r);return o!==0?o:i&&s?Vb(i.split("."),s.split(".")):i||s?i?-1:1:0},OF=(t,e,n)=>{kF(n);const r=EF(t,e);return qO[n].includes(r)},qO={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Kb=Object.keys(qO),kF=t=>{if(typeof t!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof t}`);if(Kb.indexOf(t)===-1)throw new Error(`Invalid operator, expected one of ${Kb.join("|")}`)},{logger:Yr,getDefaultPreparedQuery:DF}=Fr,Wb="storage-token|storageToken",Gg=async t=>{let e;try{const r=await LO()(t);if(r.ok)e=await r.json();else throw new Error(`Failed to fetch schema from "${t}", status: ${r.status}`)}catch{throw new Error(`Failed to fetch schema from "${t}"`)}return e},xF=async t=>{var e;try{const n={};for(const r in t){const i=t[r];!i.schema&&((e=i.options)!=null&&e.schemaUrl)&&(i.schema=await Gg(i.options.schemaUrl)),n[i.name]=i}return n}catch(n){throw new Error(n.message)}},CF=async(t,e)=>{let n;const i=await LO()(t);if(i.ok)n=await i.json();else throw new Error(`Failed to fetch db dump from "${t}", status: ${i.status}`);if(!e||!Object.keys(e).length)throw new Error("collections must be initialized before importing");for(const s of n.collections){const o=e[s.name];if(o)s.schemaHash=o.schema._hash;else throw new Error("no such collection as provided in dump")}return n},AF=async(t,e,n)=>{var s,o;let r={};if(t.name!=="dexie")return;const i=(s=await e.internals)==null?void 0:s.dexieTable;if(r=(o=await i.get(Wb))==null?void 0:o.data,!(r!=null&&r.rxdbVersion)||OF(n,r.rxdbVersion,">"))try{await i.update(Wb,{data:{...r,rxdbVersion:n}}),Yr.log("prepare-plugin: migrated internal storage to",n)}catch{throw new Error("prepare-plugin: unable to migrate internal storage")}},PF=async({database:t,creator:e})=>{var o;const n=await IO(t);Yr.log("prepare-plugin: hook:createRxDatabase:after");const{storage:r,internalStore:i,rxdbVersion:s}=t;if(await AF(r,i,s),!(!((o=e.options)!=null&&o.dumpPath)||!n))try{const a=await CF(e.options.dumpPath,t.collections);await t.importJSON(a),Yr.log(`prepare-plugin: imported dump for db "${t.name}"`)}catch(a){Yr.log("prepare-plugin: imported dump error",a)}},RF=async t=>{if(typeof t=="string"){const e=await Gg(t);if(!e)throw new Error(`Failed to fetch schema from "${t}"`);t=e}},TF=async({collection:t,creator:e})=>{var l,f,h;Yr.log("prepare-plugin: hook:createRxCollection:before");const n=await t.getMetadata();Yr.log("prepare-plugin: hook:createRxCollection:before",n);const r=((l=e.options)==null?void 0:l.initialDocs)||[],i=await a();if(!r.length)return;if(i||!n.isFirstTimeInstantiated){if(!((f=e.options)!=null&&f.recreate)||(h=e.options)!=null&&h.replication)return;Yr.log(`prepare-plugin: collection "${t.name}" already has ${i} docs (including _deleted), but recreate option is set`)}const s=await t.schema.hash,o={name:t.name,schemaHash:s,docs:r};try{const{success:m,error:y}=await t.importJSON(o),w=await a();Yr.log(`prepare-plugin: imported ${m.length} docs for collection "${t.name}", errors count ${y.length}, current docs count ${w}`),Yr.table(m)}catch(m){Yr.log("prepare-plugin: imported dump error",m)}return;async function a(){const{count:m}=await t.storageInstance.count(DF()).catch(()=>({count:0}));return m}},MF={name:"prepare-plugin",rxdb:!0,prototypes:{RxDatabase:t=>{Object.assign(t,{fetchSchema:Gg})},RxCollection:t=>{Object.assign(t,{getMetadata:async function(){const n=await IO(this.database),r=await Vg(this.database.internalStore),{id:i,data:s,_meta:o,_rev:a}=r.filter(l=>l.data.name===this.name).at(0)||{};return{id:i||this.name,databaseName:this.database.name,collectionName:(s==null?void 0:s.name)||this.name,storageName:this.storageInstance.originalStorageInstance.storage.name,last_modified:o!=null&&o.lwt?Math.floor(o==null?void 0:o.lwt):Date.now(),rev:a?Number(a==null?void 0:a.at(0)):1,isFirstTimeInstantiated:n}}})}},hooks:{createRxDatabase:{after:PF},preCreateRxSchema:{before:RF},createRxCollection:{after:TF}}};function HO(t,e){const n={};if(Array.isArray(e))for(const r of e){const i=Object.getOwnPropertyDescriptor(t,r);i!=null&&i.enumerable&&Object.defineProperty(n,r,i)}else for(const r of Reflect.ownKeys(t)){const i=Object.getOwnPropertyDescriptor(t,r);if(i.enumerable){const s=t[r];e(r,s,t)&&Object.defineProperty(n,r,i)}}return n}const QO="%[a-f0-9]{2}",qb=new RegExp("("+QO+")|([^%]+?)","gi"),Hb=new RegExp("("+QO+")+","gi");function Zy(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(t.length===1)return t;e=e||1;const n=t.slice(0,e),r=t.slice(e);return Array.prototype.concat.call([],Zy(n),Zy(r))}function NF(t){try{return decodeURIComponent(t)}catch{let e=t.match(qb)||[];for(let n=1;nt==null,$F=t=>encodeURIComponent(t).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),ev=Symbol("encodeFragmentIdentifier");function jF(t){switch(t.arrayFormat){case"index":return e=>(n,r)=>{const i=n.length;return r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[",i,"]"].join("")]:[...n,[Nt(e,t),"[",Nt(i,t),"]=",Nt(r,t)].join("")]};case"bracket":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[]"].join("")]:[...n,[Nt(e,t),"[]=",Nt(r,t)].join("")];case"colon-list-separator":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),":list="].join("")]:[...n,[Nt(e,t),":list=",Nt(r,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e=t.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||t.skipNull&&i===null||t.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Nt(n,t),e,Nt(i,t)].join("")]:[[r,Nt(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,Nt(e,t)]:[...n,[Nt(e,t),"=",Nt(r,t)].join("")]}}function UF(t){let e;switch(t.arrayFormat){case"index":return(n,r,i)=>{if(e=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!e){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][e[1]]=r};case"bracket":return(n,r,i)=>{if(e=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(e=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const s=typeof r=="string"&&r.includes(t.arrayFormatSeparator),o=typeof r=="string"&&!s&&Oi(r,t).includes(t.arrayFormatSeparator);r=o?Oi(r,t):r;const a=s||o?r.split(t.arrayFormatSeparator).map(l=>Oi(l,t)):r===null?r:Oi(r,t);i[n]=a};case"bracket-separator":return(n,r,i)=>{const s=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!s){i[n]=r&&Oi(r,t);return}const o=r===null?[]:r.split(t.arrayFormatSeparator).map(a=>Oi(a,t));if(i[n]===void 0){i[n]=o;return}i[n]=[...i[n],...o]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function GO(t){if(typeof t!="string"||t.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Nt(t,e){return e.encode?e.strict?$F(t):encodeURIComponent(t):t}function Oi(t,e){return e.decode?FF(t):t}function JO(t){return Array.isArray(t)?t.sort():typeof t=="object"?JO(Object.keys(t)).sort((e,n)=>Number(e)-Number(n)).map(e=>t[e]):t}function XO(t){const e=t.indexOf("#");return e!==-1&&(t=t.slice(0,e)),t}function zF(t){let e="";const n=t.indexOf("#");return n!==-1&&(e=t.slice(n)),e}function Qb(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&typeof t=="string"&&t.trim()!==""?t=Number(t):e.parseBooleans&&t!==null&&(t.toLowerCase()==="true"||t.toLowerCase()==="false")&&(t=t.toLowerCase()==="true"),t}function Jg(t){t=XO(t);const e=t.indexOf("?");return e===-1?"":t.slice(e+1)}function Xg(t,e){e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e},GO(e.arrayFormatSeparator);const n=UF(e),r=Object.create(null);if(typeof t!="string"||(t=t.trim().replace(/^[?#&]/,""),!t))return r;for(const i of t.split("&")){if(i==="")continue;const s=e.decode?i.replace(/\+/g," "):i;let[o,a]=YO(s,"=");o===void 0&&(o=s),a=a===void 0?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?a:Oi(a,e),n(Oi(o,e),a,r)}for(const[i,s]of Object.entries(r))if(typeof s=="object"&&s!==null)for(const[o,a]of Object.entries(s))s[o]=Qb(a,e);else r[i]=Qb(s,e);return e.sort===!1?r:(e.sort===!0?Object.keys(r).sort():Object.keys(r).sort(e.sort)).reduce((i,s)=>{const o=r[s];return o&&typeof o=="object"&&!Array.isArray(o)?i[s]=JO(o):i[s]=o,i},Object.create(null))}function ZO(t,e){if(!t)return"";e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e},GO(e.arrayFormatSeparator);const n=o=>e.skipNull&&LF(t[o])||e.skipEmptyString&&t[o]==="",r=jF(e),i={};for(const[o,a]of Object.entries(t))n(o)||(i[o]=a);const s=Object.keys(i);return e.sort!==!1&&s.sort(e.sort),s.map(o=>{const a=t[o];return a===void 0?"":a===null?Nt(o,e):Array.isArray(a)?a.length===0&&e.arrayFormat==="bracket-separator"?Nt(o,e)+"[]":a.reduce(r(o),[]).join("&"):Nt(o,e)+"="+Nt(a,e)}).filter(o=>o.length>0).join("&")}function ek(t,e){var i;e={decode:!0,...e};let[n,r]=YO(t,"#");return n===void 0&&(n=t),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:Xg(Jg(t),e),...e&&e.parseFragmentIdentifier&&r?{fragmentIdentifier:Oi(r,e)}:{}}}function tk(t,e){e={encode:!0,strict:!0,[ev]:!0,...e};const n=XO(t.url).split("?")[0]||"",r=Jg(t.url),i={...Xg(r,{sort:!1}),...t.query};let s=ZO(i,e);s&&(s=`?${s}`);let o=zF(t.url);if(t.fragmentIdentifier){const a=new URL(n);a.hash=t.fragmentIdentifier,o=e[ev]?a.hash:`#${t.fragmentIdentifier}`}return`${n}${s}${o}`}function nk(t,e,n){n={parseFragmentIdentifier:!0,[ev]:!1,...n};const{url:r,query:i,fragmentIdentifier:s}=ek(t,n);return tk({url:r,query:HO(i,e),fragmentIdentifier:s},n)}function VF(t,e,n){const r=Array.isArray(e)?i=>!e.includes(i):(i,s)=>!e(i,s);return nk(t,r,n)}const gm=Object.freeze(Object.defineProperty({__proto__:null,exclude:VF,extract:Jg,parse:Xg,parseUrl:ek,pick:nk,stringify:ZO,stringifyUrl:tk},Symbol.toStringTag,{value:"Module"})),{keys:Yb,isEmpty:Gb,isNullOrUndefined:tv}=Fr,KF=({selector:t,sort:e,limit:n,skip:r},i)=>{const s=Yb(i.jsonSchema.properties);return Gb(t)||(t=HO(t,o=>!o.startsWith("$")&&!o.includes(".")&&s.includes(o))),Gb(e)||(e=e==null?void 0:e.filter(o=>s.includes(Yb(o)[0]))),(tv(n)||isNaN(n))&&(n=void 0),(tv(r)||isNaN(r))&&(r=void 0),{selector:t,sort:e,limit:n,skip:r}},Jb=(t,e)=>{t=gm.extract(t);const n=gm.pick(t,["selector","sort","limit","skip"]),r=gm.parse(n,{parseNumbers:!0,parseBooleans:!0}),{selector:i,sort:s,limit:o,skip:a}=r,l=i?JSON.parse(i):void 0,f=s?JSON.parse(s):void 0;return KF({selector:l,sort:f,limit:o,skip:a},e)},lf=t=>tv(t)?"":JSON.stringify(t),{logger:Xb,compactObject:WF}=Fr,qF={name:"query-params-plugin",rxdb:!0,prototypes:{RxCollection:t=>{const e=new Jr({});let n=!1,r,i=!1,s="",o=()=>Promise.resolve(!1);function a(h=PE,m){var y;n=!!((y=this.options)!=null&&y.useQueryParams),r=this.schema,!(!n||i)&&(o=m,h.pipe(Fo(),Cy(w=>{s=w}),Mt(w=>Jb(w,r)),OE(w=>(Xb.log("Error in parsing url to mango query",w),e)),Cy(w=>{Xb.log("queryParams",w)}),ME(()=>!this.destroyed)).subscribe(e),i=!0)}function l(h){if(!n)return;const{selector:m,sort:y,limit:w,skip:I}=h,E={limit:w,skip:I};m&&(E.selector=lf(h.selector)),y&&(E.sort=lf(h.sort)),o(E)}function f(h){if(!n)return;const m=Jb(s,r),y={selector:lf(h.selector||m.selector),sort:lf(h.sort||m.sort),limit:h.limit||m.limit,skip:h.skip||m.skip};o(WF(y))}Object.assign(t,{queryParams:{$:e.asObservable(),get:()=>e.getValue(),set:l,patch:f}},{queryParamsInit:a})}},hooks:{createRxCollection:{}}};var rk={minimumDeletedTime:1e3*60*60*24*31,minimumCollectionAge:1e3*60,runEach:1e3*60*5,awaitReplicationsInSync:!0,waitForLeadership:!0},wm=dd;async function HF(t){var e=t.database,n=Object.assign({},rk,e.cleanupPolicy?e.cleanupPolicy:{});await t.promiseWait(n.minimumCollectionAge),!t.destroyed&&(n.waitForLeadership&&await e.waitForLeadership(),!t.destroyed&&(await ik(t,n),await QF(t,n)))}async function ik(t,e){for(var n=t.database,r=t.storageInstance,i=!1;!i&&!t.destroyed;){if(e.awaitReplicationsInSync){var s=FO.get(t);s&&await Promise.all(s.map(o=>{if(!o.isStopped())return o.awaitInSync()}))}if(await n.requestIdlePromise(),t.destroyed)return;wm=wm.then(()=>t.destroyed?!0:r.cleanup(e.minimumDeletedTime)),i=await wm}}async function QF(t,e){for(;!t.destroyed;){if(await t.promiseWait(e.runEach),t.destroyed)return;await ik(t,e)}}var YF={name:"cleanup",rxdb:!0,prototypes:{RxCollection:t=>{t.cleanup=async function(e){var n=Object.assign({},rk,this.database.cleanupPolicy?this.database.cleanupPolicy:{});typeof e>"u"&&(e=n.minimumDeletedTime);for(var r=!1;!r&&!this.destroyed;)r=await this.storageInstance.cleanup(e)}}},hooks:{createRxCollection:{after:t=>{HF(t.collection)}}}};function GF(t){var e={name:this.name,instanceToken:this.token,collections:[]},n=Object.keys(this.collections).filter(r=>!t||t.includes(r)).filter(r=>r.charAt(0)!=="_").map(r=>this.collections[r]);return Promise.all(n.map(r=>r.exportJSON())).then(r=>(e.collections=r,e))}var JF=function(t){var e=t.collections.filter(n=>!this.collections[n.name]).map(n=>n.name);if(e.length>0)throw le("JD1",{missingCollections:e});return Promise.all(t.collections.map(n=>this.collections[n.name].importJSON(n)))},XF=async function(){var t={name:this.name,schemaHash:await this.schema.hash,docs:[]},e=ra("find",tl(),this);return nO(e).then(n=>(t.docs=n.map(r=>(r=$e(r),delete r._rev,delete r._attachments,r)),t))};async function ZF(t){if(t.schemaHash!==await this.schema.hash)throw le("JD2",{schemaHash:t.schemaHash,own:this.schema.hash});var e=t.docs;return this.storageInstance.bulkWrite(e.map(n=>{var r=Object.assign({},n,{_meta:{lwt:Ft()},_rev:Rn(),_attachments:{},_deleted:!1});return{document:r}}),"json-dump-import")}var eL={name:"json-dump",rxdb:!0,prototypes:{RxDatabase:t=>{t.exportJSON=GF,t.importJSON=JF},RxCollection:t=>{t.exportJSON=XF,t.importJSON=ZF}},overwritable:{}},tL=uO(),nL=function(t){wg(e,t);function e(n,r,i){var s;return s=t.call(this,null,r)||this,s.id=n,s.parent=i,s}return e}(tL),il={get isLocal(){return!0},get allAttachments$(){throw le("LD1",{document:this})},get primaryPath(){return"id"},get primary(){return this.id},get $(){var t=this,e=Mo(nv,this.parent);return t.parent.$.pipe(lt(n=>n.documentId===this.primary),lt(n=>n.isLocal),Mt(n=>Dg(n)),Hl(e.docCache.getLatestDocumentData(this.primary)),Fo((n,r)=>n._rev===r._rev),Mt(n=>e.docCache.getCachedRxDocument(n)),Pi(Ai))},get $$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.$,t.getLatest()._data)},get deleted$$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.deleted$,t.getLatest().deleted)},getLatest(){var t=Mo(nv,this.parent),e=t.docCache.getLatestDocumentData(this.primary);return t.docCache.getCachedRxDocument(e)},get(t){if(t="data."+t,!!this._data){if(typeof t!="string")throw el("LD2",{objPath:t});var e=Ts(this._data,t);return e=it.deepFreezeWhenDevMode(e),e}},get$(t){if(t="data."+t,it.isDevMode()){if(t.includes(".item."))throw le("LD3",{objPath:t});if(t===this.primaryPath)throw le("LD4")}return this.$.pipe(Mt(e=>e._data),Mt(e=>Ts(e,t)),Fo())},get$$(t){var e=_m(this),n=e.getReactivityFactory();return n.fromObservable(this.get$(t),this.getLatest().get(t))},async incrementalModify(t){var e=await sl(this.parent);return e.incrementalWriteQueue.addWrite(this._data,async n=>(n.data=await t(n.data,this),n)).then(n=>e.docCache.getCachedRxDocument(n))},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t){var e=await sl(this.parent),n=this._data;return t.id=this.id,e.storageInstance.bulkWrite([{previous:n,document:t}],"local-document-save-data").then(r=>{var i=r.success[0];if(!i)throw r.error[0];t=$e(t),t._rev=i._rev})},async remove(){var t=await sl(this.parent),e={id:this._data.id,data:{},_deleted:!0,_meta:Ks(),_rev:Rn(),_attachments:{}};return Tl(t.storageInstance,{previous:this._data,document:e},"local-document-remove").then(n=>t.docCache.getCachedRxDocument(n))}},Zb=!1,rL=()=>{if(!Zb){Zb=!0;var t=kh,e=Object.getOwnPropertyNames(t);e.forEach(r=>{var i=Object.getOwnPropertyDescriptor(il,r);if(!i){var s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(il,r,s)}});var n=r=>()=>{throw le("LD6",{functionName:r})};["populate","update","putAttachment","getAttachment","allAttachments"].forEach(r=>il[r]=n(r))}};function iL(t,e){rL();var n=new nL(t.id,t,e);return Object.setPrototypeOf(n,il),n.prototype=il,n}function _m(t){var e=t.parent;return bN(e)?e:e.database}var kd=new WeakMap,nv=new WeakMap;function e1(t){var e=t.database?t.database:t,n=t.database?t.name:"",r=(async()=>{var i=await sk(e.token,e.storage,e.name,n,e.instanceCreationOptions,e.multiInstance);i=jg(e,i,ok);var s=new XE("id",t.$.pipe(lt(h=>h.isLocal)),h=>iL(h,t)),o=new aO(i,"id",()=>{},()=>{}),a=await e.storageToken,l=i.changeStream().subscribe(h=>{var m={id:h.id,internal:!1,collectionName:t.database?t.name:void 0,storageToken:a,events:h.events.map(y=>rO(!0,y,t.database?t:void 0)),databaseToken:e.token,checkpoint:h.checkpoint,context:h.context,endTime:h.endTime,startTime:h.startTime};e.$emit(m)});t._subs.push(l);var f={database:e,parent:t,storageInstance:i,docCache:s,incrementalWriteQueue:o};return nv.set(t,f),f})();kd.set(t,r)}function sl(t){var e=kd.get(t);if(!e){var n=t.database?t.database:t,r=t.database?t.name:"";throw le("LD8",{database:n.name,collection:r})}return e}function sk(t,e,n,r,i,s){return e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:sL(r),schema:ok,options:i,multiInstance:s,devMode:it.isDevMode()})}function t1(t){var e=kd.get(t);if(e)return kd.delete(t),e.then(n=>n.storageInstance.close())}async function n1(t,e,n){var r=su(10),i=await sk(r,t,e,n,{},!1);await i.remove()}function sL(t){return"plugin-local-documents-"+t}var ok=bh({title:"RxLocalDocument",version:0,primaryKey:"id",type:"object",properties:{id:{type:"string",maxLength:128},data:{type:"object",additionalProperties:!0}},required:["id","data"]});async function r1(t,e){var n=await sl(this),r={id:t,data:e,_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}};return Tl(n.storageInstance,{document:r},"local-document-insert").then(i=>n.docCache.getCachedRxDocument(i))}function i1(t,e){return this.getLocal(t).then(n=>{if(n)return n.incrementalModify(()=>e);var r=this.insertLocal(t,e);return r})}async function s1(t){var e=await sl(this),n=e.docCache,r=n.getLatestDocumentDataIfExists(t);return r?Promise.resolve(n.getCachedRxDocument(r)):Xl(e.storageInstance,t).then(i=>i?e.docCache.getCachedRxDocument(i):null)}function o1(t){return this.$.pipe(Hl(null),Br(async e=>{if(e)return{changeEvent:e};var n=await this.getLocal(t);return{doc:n}}),Br(async e=>{if(e.changeEvent){var n=e.changeEvent;if(!n.isLocal||n.documentId!==t)return{use:!1};var r=await this.getLocal(t);return{use:!0,doc:r}}else return{use:!0,doc:e.doc}}),lt(e=>e.use),Mt(e=>e.doc))}var ak={name:"local-documents",rxdb:!0,prototypes:{RxCollection:t=>{t.insertLocal=r1,t.upsertLocal=i1,t.getLocal=s1,t.getLocal$=o1},RxDatabase:t=>{t.insertLocal=r1,t.upsertLocal=i1,t.getLocal=s1,t.getLocal$=o1}},hooks:{createRxDatabase:{before:t=>{t.creator.localDocuments&&e1(t.database)}},createRxCollection:{before:t=>{t.creator.localDocuments&&e1(t.collection)}},preDestroyRxDatabase:{after:t=>t1(t)},postDestroyRxCollection:{after:t=>t1(t)},postRemoveRxDatabase:{after:t=>n1(t.storage,t.databaseName,"")},postRemoveRxCollection:{after:t=>n1(t.storage,t.databaseName,t.collectionName)}},overwritable:{}};async function uk(t){var e=dR(t.collection.schema.jsonSchema).map(r=>t.collection.name+"-"+r),n=await t.database.internalStore.findDocumentsById(e.map(r=>Qa(r,ko)),!1);if(n.length>1)throw new Error("more the one old collection meta found");return n[0]}function oL(t,e,n){var r=$e(n._attachments),i=Pn(n),s=i._meta;delete i._meta,i._attachments=r;for(var o=e+1,a=Promise.resolve(i),l=function(){var f=o;a=a.then(h=>aL(t,f,h)),o++};o<=t.schema.version;)l();return a.then(f=>f===null?yg:(f._meta=s,f))}function aL(t,e,n){if(n===null)return yg;var r=t.migrationStrategies[e](n,t),i=ZI(r);return i}async function lk(t){if(t.collection.schema.version===0)return Jn;var e=await uk(t);return!!e}var uL=200,ck=new WeakMap;function lL(t){var e=fk(t.database),n=e.getValue().slice(0);n.push(t),e.next(n)}function fk(t){return Mr(ck,t,()=>new Jr([]))}function cL(t){var e=ck.get(t);e&&e.complete()}var fL=function(){function t(n,r,i=[n.name,"v",n.schema.version].join("-")){this.started=!1,this.updateStatusHandlers=[],this.updateStatusQueue=dd,this.collection=n,this.migrationStrategies=r,this.statusDocKey=i,this.database=n.database,this.oldCollectionMeta=uk(this),this.mustMigrate=lk(this),this.statusDocId=Qa(this.statusDocKey,Pf),lL(this),this.$=K2(this.database.internalStore,this.statusDocId).pipe(lt(s=>!!s),Mt(s=>ye(s).data),Pi(Ai))}var e=t.prototype;return e.getStatus=function(){return As(this.$)},e.startMigration=async function(r=uL){var i=await this.mustMigrate;if(i){if(this.started)throw le("DM1");this.started=!0;var s=void 0;if(this.database.multiInstance){s=new xh(["rx-migration-state",this.database.name,this.collection.name,this.collection.schema.version].join("|"));var o=TB(s);await o.awaitLeadership()}var a=await this.oldCollectionMeta,l=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:this.collection.name,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:a.data.schema,password:this.database.password,devMode:it.isDevMode()}),f=await this.getConnectedStorageInstances(),h=await this.countAllDoucments([l].concat(f.map(m=>m.oldStorage)));await this.updateStatus(m=>(m.count.total=h,m));try{await Promise.all(f.map(async m=>{await fO(this.collection,m.newStorage.collectionName,m.newStorage.schema),await this.migrateStorage(m.oldStorage,m.newStorage,r),await m.newStorage.close()})),await this.migrateStorage(l,this.collection.storageInstance.originalStorageInstance,r)}catch(m){await l.close(),await this.updateStatus(y=>(y.status="ERROR",y.error=ky(m),y));return}await Tl(this.database.internalStore,{previous:a,document:Object.assign({},a,{_deleted:!0})},"rx-migration-remove-collection-meta"),await this.updateStatus(m=>(m.status="DONE",m)),s&&await s.close()}},e.updateStatus=function(r){return this.updateStatusHandlers.push(r),this.updateStatusQueue=this.updateStatusQueue.then(async()=>{if(this.updateStatusHandlers.length!==0){var i=this.updateStatusHandlers;for(this.updateStatusHandlers=[];;){var s=await Xl(this.database.internalStore,this.statusDocId),o=Pn(s);s||(o={id:this.statusDocId,key:this.statusDocKey,context:Pf,data:{collectionName:this.collection.name,status:"RUNNING",count:{total:0,handled:0,percent:0}},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}});var a=ye(o).data;for(var l of i)a=l(a);if(a.count.percent=Math.round(a.count.handled/a.count.total*100),o&&s&&Ka(o.data,s.data))break;try{await Tl(this.database.internalStore,{previous:s,document:ye(o)},Pf);break}catch(f){if(!_h(f))throw f}}}}),this.updateStatusQueue},e.migrateStorage=async function(r,i,s){var o=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:"rx-migration-state-meta-"+this.collection.name+"-"+this.collection.schema.version,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:Ky(r.schema,vd(r.schema)),password:this.database.password,devMode:it.isDevMode()}),a=dN(i,bd,this.database.token,!0),l=pO({keepMeta:!0,identifier:["rx-migration-state",this.collection.name,r.schema.version,this.collection.schema.version].join("-"),replicationHandler:{masterChangesSince(){return Promise.resolve({checkpoint:null,documents:[]})},masterWrite:async h=>{h=await Promise.all(h.map(async y=>{var w=y.newDocumentState;if(i.schema.title===Rf&&(w=y.newDocumentState.docData,y.newDocumentState.isCheckpoint==="1"))return{assumedMasterState:void 0,newDocumentState:y.newDocumentState};var I=await oL(this.collection,r.schema.version,w),E={assumedMasterState:void 0,newDocumentState:i.schema.title===Rf?Object.assign({},y.newDocumentState,{docData:I}):I};return E})),h=h.filter(y=>!!y.newDocumentState);var m=await a.masterWrite(h);return m},masterChangeStream$:new Kt().asObservable()},forkInstance:r,metaInstance:o,pushBatchSize:s,pullBatchSize:0,conflictHandler:bd,hashFunction:this.database.hashFunction}),f=!1;if(l.events.error.subscribe(h=>f=h),l.events.processed.up.subscribe(()=>{this.updateStatus(h=>(h.count.handled=h.count.handled+1,h))}),await Tf(l),await mO(l),await this.updateStatusQueue,f)throw await o.close(),f;await Promise.all([r.remove(),o.remove()])},e.countAllDoucments=async function(r){var i=0;return await Promise.all(r.map(async s=>{var o=Jl(s.schema,Rl(s.schema,{selector:{}})),a=await s.count(o);i+=a.count})),i},e.getConnectedStorageInstances=async function(){var r=await this.oldCollectionMeta,i=[];return await Promise.all(await Promise.all(r.data.connectedStorages.map(async s=>{if(s.schema.title!==Rf)throw new Error("unknown migration handling for schema");var o=Ky(Pn(this.collection.schema.jsonSchema),vd(s.schema));o.version=this.collection.schema.version;var[a,l]=await Promise.all([this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:s.schema,password:this.database.password,collectionName:s.collectionName}),this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:o,password:this.database.password,collectionName:s.collectionName})]);i.push({oldStorage:a,newStorage:l})}))),i},e.migratePromise=async function(r){this.startMigration(r);var i=await this.mustMigrate;if(!i)return{status:"DONE",collectionName:this.collection.name,count:{handled:0,percent:0,total:0}};var s=await Promise.race([As(this.$.pipe(lt(o=>o.status==="DONE"))),As(this.$.pipe(lt(o=>o.status==="ERROR")))]);if(s.status==="ERROR")throw le("DM4",{collection:this.collection.name,error:s.error});return s},t}(),dL=new WeakMap,hL={name:"migration-schema",rxdb:!0,init(){gi(ak)},hooks:{preDestroyRxDatabase:{after:cL}},prototypes:{RxDatabase:t=>{t.migrationStates=function(){return fk(this).pipe(Pi(Ai))}},RxCollection:t=>{t.getMigrationState=function(){return Mr(dL,this,()=>new fL(this.asRxCollection,this.migrationStrategies))},t.migrationNeeded=function(){return this.schema.version===0?Jn:lk(this.getMigrationState())}}}};const Zg=(t,e)=>{switch(t){case"deep":return Ry(e);case"copy":return Ty(e)?new Date(e):Lt(e)?[...e]:wt(e)?Object.assign({},e):e;default:return e}},pL=/^[a-z]+[a-zA-Z0-9]*$/;function dk(t){if(!t.includes(".$"))return[{parent:t,selector:t},[]];const e=t.indexOf(".$"),n=t.indexOf("]"),r=t.substring(0,e),i=t.substring(e+3,n);Yt(i===""||pL.test(i),"The filter must begin with a lowercase letter and contain only alphanumeric characters.");const s=t.substring(n+2),[o,a]=s?dk(s):[];return[{selector:t,parent:r,child:i||"$",next:o},[i,...a||[]].filter(Boolean)]}const $n=(t,e,n,r,i)=>{const{parent:s,child:o,next:a}=e;if(!o){let f=!1;return Pl(t,s,(m,y)=>f=!!r(m,y)||f,i),f}const l=lu(t,s);return Lt(l)?l.map((f,h)=>n[o]&&!n[o].test({[o]:f})?!1:a?$n(f,a,n,r,i):r(l,h)).some(Boolean):!1};function ar(t,e,n,r){const i=[];for(const[s,o]of Object.entries(t)){const[a,l]=dk(s);if(!l.length)r(o,a,{})&&i.push(a.parent);else{const f={};e.forEach(m=>{Object.keys(m).forEach(y=>{l.forEach(w=>{(y===w||y.startsWith(w+"."))&&(f[w]=f[w]||{},Object.assign(f[w],{[y]:m[y]}))})})});const h={};for(const[m,y]of Object.entries(f))h[m]=new qs(y,n.queryOptions);r(o,a,h)&&i.push(a.parent)}}return i}const mL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&Zn(i,"$each")&&Object.assign(a,i),$n(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]);return Bg([h,a.$each]).length===a.$each.length?!1:(l[f]=Zg(r.cloneMode,EM(h.concat(a.$each))),!0)},{buildGraph:!0})}),yL=new Set(["and","or","xor"]),vL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>{const a=Object.keys(i);return Yt(a.length===1&&yL.has(a[0]),`Invalid bit operator '${a[0]}'. Must be one of 'and', 'or', or 'xor'.`),$n(t,s,o,(l,f)=>{let h=l[f];const m=i[a[0]];if(h!==void 0&&!(Qn(h)&&Qn(m)))return!1;switch(h=h||0,a[0]){case"and":l[f]=h&m;break;case"or":l[f]=h|m;break;case"xor":l[f]=h^m;break}return l[f]!==h},{buildGraph:!0})}),gL=(t,e,n=[],r={})=>{const i=Date.now();return ar(e,n,r,(s,o,a)=>$n(t,o,a,(l,f)=>(l[f]=i,!0),{buildGraph:!0}))},wL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>{if(!s.child){const a=lu(t,s.parent);Yt(a===void 0||Qn(a),"cannot apply $inc to a value of non-numeric type")}return $n(t,s,o,(a,l)=>(a[l]=(a[l]||(a[l]=0))+i,!0),{buildGraph:!0})}),_L=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>a[l]!==void 0&&Mn(a[l],i)>-1?!1:(a[l]=i,!0),{buildGraph:!0})),bL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>a[l]!==void 0&&Mn(a[l],i)<1?!1:(a[l]=i,!0),{buildGraph:!0})),SL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>{const f=a[l];return a[l]=a[l]===void 0?0:a[l]*i,a[l]!==f},{buildGraph:!0})),IL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>{const f=a[l];return Yt(Lt(f),`path '${s.selector}' contains an element of non-array type.`),f.length?(i===-1?f.splice(0,1):f.pop(),!0):!1})),hk=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>{const a=!wt(i)||Object.keys(i).some(Wo),l=new qs(a?{k:i}:i,r.queryOptions),f=a?h=>l.test({k:h}):h=>l.test(h);return $n(t,s,o,(h,m)=>{const y=h[m],w=new Array;return y.map(E=>{const $=f(E);return $||w.push(E),$}).some(Boolean)?(h[m]=w,!0):!1})}),EL=(t,e,n=[],r={})=>{const i={};return Object.entries(e).forEach(([s,o])=>{i[s]={$in:o}}),hk(t,i,n,r)},OL=Object.freeze(["$each","$slice","$sort","$position"]),kL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&OL.some(l=>Zn(i,l))&&Object.assign(a,i),$n(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]),m=h.slice(0,a.$slice||h.length),y=h.length,w=Qn(a.$position)?a.$position:h.length;if(h.splice(w,0,...Zg(r.cloneMode,a.$each)),a.$sort){const I=wt(a.$sort)?Object.keys(a.$sort||{}).pop():"",E=I?a.$sort[I]:a.$sort,$=I?S=>lu(S,I):S=>S;h.sort((S,_)=>E*Mn($(S),$(_)))}return Qn(a.$slice)&&(a.$slice<0?h.splice(0,h.length+a.$slice):h.splice(a.$slice)),y!=h.length||!Wi(m,h)},{descendArray:!0,buildGraph:!0})}),pk=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>Wi(a[l],i)?!1:(a[l]=Zg(r.cloneMode,i),!0),{buildGraph:!0})),DL=(t,e,n=[],r={})=>{const i=[],s=ar(e,n,r,(o,a,l)=>$n(t,a,l,(f,h)=>Zn(f,h)?(i.push(...pk(t,{[o]:f[h]},n,r)),delete f[h],!0):!1));return Array.from(new Set(s.concat(i)))},xL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>Zn(a,l)?(Lt(a)?a[l]=null:delete a[l],!0):!1)),a1=Object.freeze(Object.defineProperty({__proto__:null,$addToSet:mL,$bit:vL,$currentDate:gL,$inc:wL,$max:_L,$min:bL,$mul:SL,$pop:IL,$pull:hk,$pullAll:EL,$push:kL,$rename:DL,$set:pk,$unset:xL},Symbol.toStringTag,{value:"Module"}));function CL(t){return(e,n,r=[],i={},s={})=>{const o=Object.assign({cloneMode:"copy"},t,s);Object.assign(o,{queryOptions:Fg(Object.assign({useStrictMode:!1},o==null?void 0:o.queryOptions))}),r=r||[],i=i||{};const a=Object.entries(n);Yt(a.length===1,"Update expression must contain only one operator.");const[l,f]=a[0];Yt(Zn(a1,l),`Update operator '${l}' is not supported.`);const h=a1[l];return Object.keys(i).length&&!new qs(i,o.queryOptions).test(e)?[]:h(e,f,r,o)}}var bm;function mk(t,e){if(!bm){var n=CL({cloneMode:"none"});bm=(r,i)=>{var s=Pn(r);return n(s,i),s}}return bm(t,e)}function AL(t){return this.incrementalModify(e=>{var n=mk(e,t);return n})}function PL(t){var e=this._data,n=mk(e,t);return this._saveData(n,e)}function RL(t){return this.exec().then(e=>e?Array.isArray(e)?Promise.all(e.map(n=>n.update(t))).then(()=>e):e.update(t).then(()=>e):null)}var TL={name:"update",rxdb:!0,prototypes:{RxDocument:t=>{t.update=PL,t.incrementalUpdate=AL},RxQuery:t=>{t.update=RL}}};const{logger:ML}=Fr;async function NL(t=[]){try{gi(ak),gi(eL),gi(hL),gi(TL),gi(YF),gi(MF),gi(qF);for(const e of t)gi(e);ML.log("rxdb plugins loaded")}catch(e){throw new Error(e.message??e)}}const{logger:ta}=Fr;class BL{get db(){return this.dbInstance}get dbOptions(){return this.options}get collections(){return this.db.collections}async destroyDb(){try{await this.db.remove(),await this.db.destroy(),this.dbInstance=null,ta.log("database destroy")}catch{ta.log("database destroy error")}}async initDb(e){var n,r;if(!this.dbInstance)try{if(await NL((n=e.options)==null?void 0:n.plugins),this.dbInstance=await _N(e),this.options=e,ta.log(`created database "${this.db.name}" with config "${JSON.stringify(e)}"`),(r=e==null?void 0:e.options)!=null&&r.schemas){const i=await this.initCollections(e.options.schemas);ta.log(`created ${Object.keys(i).length} collections bulk: ${Object.keys(i)}`)}}catch(i){throw ta.log("Error initializing the database:",i),i}}async initCollections(e){try{const n=await xF(e);return await this.db.addCollections(n)}catch(n){throw ta.log("Error initializing collection(s)",n),n}}}var yk={exports:{}},Xe={};/** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Gt=typeof Symbol=="function"&&Symbol.for,Zg=Gt?Symbol.for("react.element"):60103,e0=Gt?Symbol.for("react.portal"):60106,Ah=Gt?Symbol.for("react.fragment"):60107,Ch=Gt?Symbol.for("react.strict_mode"):60108,Ph=Gt?Symbol.for("react.profiler"):60114,Rh=Gt?Symbol.for("react.provider"):60109,Th=Gt?Symbol.for("react.context"):60110,t0=Gt?Symbol.for("react.async_mode"):60111,Mh=Gt?Symbol.for("react.concurrent_mode"):60111,Nh=Gt?Symbol.for("react.forward_ref"):60112,Bh=Gt?Symbol.for("react.suspense"):60113,BL=Gt?Symbol.for("react.suspense_list"):60120,Fh=Gt?Symbol.for("react.memo"):60115,Lh=Gt?Symbol.for("react.lazy"):60116,FL=Gt?Symbol.for("react.block"):60121,LL=Gt?Symbol.for("react.fundamental"):60117,$L=Gt?Symbol.for("react.responder"):60118,jL=Gt?Symbol.for("react.scope"):60119;function ar(t){if(typeof t=="object"&&t!==null){var e=t.$$typeof;switch(e){case Zg:switch(t=t.type,t){case t0:case Mh:case Ah:case Ph:case Ch:case Bh:return t;default:switch(t=t&&t.$$typeof,t){case Th:case Nh:case Lh:case Fh:case Rh:return t;default:return e}}case e0:return e}}}function yk(t){return ar(t)===Mh}Xe.AsyncMode=t0;Xe.ConcurrentMode=Mh;Xe.ContextConsumer=Th;Xe.ContextProvider=Rh;Xe.Element=Zg;Xe.ForwardRef=Nh;Xe.Fragment=Ah;Xe.Lazy=Lh;Xe.Memo=Fh;Xe.Portal=e0;Xe.Profiler=Ph;Xe.StrictMode=Ch;Xe.Suspense=Bh;Xe.isAsyncMode=function(t){return yk(t)||ar(t)===t0};Xe.isConcurrentMode=yk;Xe.isContextConsumer=function(t){return ar(t)===Th};Xe.isContextProvider=function(t){return ar(t)===Rh};Xe.isElement=function(t){return typeof t=="object"&&t!==null&&t.$$typeof===Zg};Xe.isForwardRef=function(t){return ar(t)===Nh};Xe.isFragment=function(t){return ar(t)===Ah};Xe.isLazy=function(t){return ar(t)===Lh};Xe.isMemo=function(t){return ar(t)===Fh};Xe.isPortal=function(t){return ar(t)===e0};Xe.isProfiler=function(t){return ar(t)===Ph};Xe.isStrictMode=function(t){return ar(t)===Ch};Xe.isSuspense=function(t){return ar(t)===Bh};Xe.isValidElementType=function(t){return typeof t=="string"||typeof t=="function"||t===Ah||t===Mh||t===Ph||t===Ch||t===Bh||t===BL||typeof t=="object"&&t!==null&&(t.$$typeof===Lh||t.$$typeof===Fh||t.$$typeof===Rh||t.$$typeof===Th||t.$$typeof===Nh||t.$$typeof===LL||t.$$typeof===$L||t.$$typeof===jL||t.$$typeof===FL)};Xe.typeOf=ar;mk.exports=Xe;var UL=mk.exports,n0=UL,zL={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},VL={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},KL={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},vk={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},r0={};r0[n0.ForwardRef]=KL;r0[n0.Memo]=vk;function a1(t){return n0.isMemo(t)?vk:r0[t.$$typeof]||zL}var WL=Object.defineProperty,qL=Object.getOwnPropertyNames,u1=Object.getOwnPropertySymbols,HL=Object.getOwnPropertyDescriptor,QL=Object.getPrototypeOf,l1=Object.prototype;function gk(t,e,n){if(typeof e!="string"){if(l1){var r=QL(e);r&&r!==l1&&gk(t,r,n)}var i=qL(e);u1&&(i=i.concat(u1(e)));for(var s=a1(t),o=a1(e),a=0;aDd.length&&Dd.push(t)}function nv(t,e,n,r){var i=typeof t;(i==="undefined"||i==="boolean")&&(t=null);var s=!1;if(t===null)s=!0;else switch(i){case"string":case"number":s=!0;break;case"object":switch(t.$$typeof){case ic:case n3:s=!0}}if(s)return n(r,t,e===""?"."+Sm(t,0):e),1;if(s=0,e=e===""?".":e+":",Array.isArray(t))for(var o=0;og3.decode(t),w3=new TextEncoder,l0=t=>w3.encode(t),[_4,_3]=(()=>{const t=()=>{throw new Error("BigInt is not available in this environment")};function e(){throw t()}return e.asIntN=()=>{throw t()},e.asUintN=()=>{throw t()},typeof BigInt<"u"?[BigInt,!0]:[e,!1]})(),[oc,b4]=(()=>{const t=()=>{throw new Error("BigInt64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigInt64Array<"u"?[BigInt64Array,!0]:[e,!1]})(),[ac,S4]=(()=>{const t=()=>{throw new Error("BigUint64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigUint64Array<"u"?[BigUint64Array,!0]:[e,!1]})(),b3=t=>typeof t=="number",Ck=t=>typeof t=="boolean",Ut=t=>typeof t=="function",Nn=t=>t!=null&&Object(t)===t,Ms=t=>Nn(t)&&Ut(t.then),uc=t=>Nn(t)&&Ut(t[Symbol.iterator]),fu=t=>Nn(t)&&Ut(t[Symbol.asyncIterator]),ov=t=>Nn(t)&&Nn(t.schema),Pk=t=>Nn(t)&&"done"in t&&"value"in t,Rk=t=>Nn(t)&&Ut(t.stat)&&b3(t.fd),Tk=t=>Nn(t)&&c0(t.body),$h=t=>"_getDOMStream"in t&&"_getNodeStream"in t,S3=t=>Nn(t)&&Ut(t.abort)&&Ut(t.getWriter)&&!$h(t),c0=t=>Nn(t)&&Ut(t.cancel)&&Ut(t.getReader)&&!$h(t),I3=t=>Nn(t)&&Ut(t.end)&&Ut(t.write)&&Ck(t.writable)&&!$h(t),Mk=t=>Nn(t)&&Ut(t.read)&&Ut(t.pipe)&&Ck(t.readable)&&!$h(t),E3=t=>Nn(t)&&Ut(t.clear)&&Ut(t.bytes)&&Ut(t.position)&&Ut(t.setPosition)&&Ut(t.capacity)&&Ut(t.getBufferIdentifier)&&Ut(t.createLong),f0=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function O3(t){const e=t[0]?[t[0]]:[];let n,r,i,s;for(let o,a,l=0,f=0,h=t.length;++lh+m.byteLength,0);let i,s,o,a=0,l=-1;const f=Math.min(e||Number.POSITIVE_INFINITY,r);for(const h=n.length;++lrt(Int32Array,t),Ue=t=>rt(Uint8Array,t),av=t=>(t.next(),t);function*k3(t,e){const n=function*(i){yield i},r=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof f0?n(e):uc(e)?e:n(e);return yield*av(function*(i){let s=null;do s=i.next(yield rt(t,s));while(!s.done)}(r[Symbol.iterator]())),new t}const D3=t=>k3(Uint8Array,t);function Nk(t,e){return kr(this,arguments,function*(){if(Ms(e))return yield ge(yield ge(yield*Df(Ds(Nk(t,yield ge(e))))));const r=function(o){return kr(this,arguments,function*(){yield yield ge(yield ge(o))})},i=function(o){return kr(this,arguments,function*(){yield ge(yield*Df(Ds(av(function*(a){let l=null;do l=a.next(yield l==null?void 0:l.value);while(!l.done)}(o[Symbol.iterator]())))))})},s=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof f0?r(e):uc(e)?i(e):fu(e)?e:r(e);return yield ge(yield*Df(Ds(av(function(o){return kr(this,arguments,function*(){let a=null;do a=yield ge(o.next(yield yield ge(rt(t,a))));while(!a.done)})}(s[Symbol.asyncIterator]()))))),yield ge(new t)})}const x3=t=>Nk(Uint8Array,t);function d0(t,e,n){if(t!==0){n=n.slice(0,e+1);for(let r=-1;++r<=e;)n[r]+=t}return n}function A3(t,e){let n=0;const r=t.length;if(r!==e.length)return!1;if(r>0)do if(t[n]!==e[n])return!1;while(++n(t.next(),t);function*C3(t){let e,n=!1,r=[],i,s,o,a=0;function l(){return s==="peek"?fi(r,o)[0]:([i,r,a]=fi(r,o),i)}({cmd:s,size:o}=yield null);const f=D3(t)[Symbol.iterator]();try{do if({done:e,value:i}=Number.isNaN(o-a)?f.next():f.next(o-a),!e&&i.byteLength>0&&(r.push(i),a+=i.byteLength),e||o<=a)do({cmd:s,size:o}=yield l());while(o0&&(i.push(s),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a0&&(i.push(Ue(s)),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return ve(this,void 0,void 0,function*(){const{reader:n,source:r}=this;n&&(yield n.cancel(e).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(e){return ve(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const n=yield this.reader.read();return!n.done&&(n.value=Ue(n)),n})}}const Im=(t,e)=>{const n=i=>r([e,i]);let r;return[e,n,new Promise(i=>(r=i)&&t.once(e,n))]};function M3(t){return kr(this,arguments,function*(){const n=[];let r="error",i=!1,s=null,o,a,l=0,f=[],h;function m(){return o==="peek"?fi(f,a)[0]:([h,f,l]=fi(f,a),h)}if({cmd:o,size:a}=yield yield ge(null),t.isTTY)return yield yield ge(new Uint8Array(0)),yield ge(null);try{n[0]=Im(t,"end"),n[1]=Im(t,"error");do{if(n[2]=Im(t,"readable"),[r,s]=yield ge(Promise.race(n.map(w=>w[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-l)?(h=Ue(t.read(a-l)),h.byteLength0&&(f.push(h),l+=h.byteLength)),i||a<=l)do({cmd:o,size:a}=yield yield ge(m()));while(a{for(const[S,_]of w)t.off(S,_);try{const S=t.destroy;S&&S.call(t,I),I=void 0}catch(S){I=S||I}finally{I!=null?F(I):E()}})}})}var Qn;(function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"})(Qn||(Qn={}));var er;(function(t){t[t.Sparse=0]="Sparse",t[t.Dense=1]="Dense"})(er||(er={}));var Cn;(function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"})(Cn||(Cn={}));var Hi;(function(t){t[t.DAY=0]="DAY",t[t.MILLISECOND=1]="MILLISECOND"})(Hi||(Hi={}));var ze;(function(t){t[t.SECOND=0]="SECOND",t[t.MILLISECOND=1]="MILLISECOND",t[t.MICROSECOND=2]="MICROSECOND",t[t.NANOSECOND=3]="NANOSECOND"})(ze||(ze={}));var Ns;(function(t){t[t.YEAR_MONTH=0]="YEAR_MONTH",t[t.DAY_TIME=1]="DAY_TIME",t[t.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(Ns||(Ns={}));var Ve;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var N;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"})(N||(N={}));var bi;(function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"})(bi||(bi={}));const N3=void 0;function Nl(t){if(t===null)return"null";if(t===N3)return"undefined";switch(typeof t){case"number":return`${t}`;case"bigint":return`${t}`;case"string":return`"${t}"`}return typeof t[Symbol.toPrimitive]=="function"?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?t instanceof oc||t instanceof ac?`[${[...t].map(e=>Nl(e))}]`:`[${t}]`:ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t,(e,n)=>typeof n=="bigint"?`${n}`:n)}const B3=Symbol.for("isArrowBigNum");function Lr(t,...e){return e.length===0?Object.setPrototypeOf(rt(this.TypedArray,t),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(t,...e),this.constructor.prototype)}Lr.prototype[B3]=!0;Lr.prototype.toJSON=function(){return`"${xo(this)}"`};Lr.prototype.valueOf=function(){return Bk(this)};Lr.prototype.toString=function(){return xo(this)};Lr.prototype[Symbol.toPrimitive]=function(t="default"){switch(t){case"number":return Bk(this);case"string":return xo(this);case"default":return uv(this)}return xo(this)};function Da(...t){return Lr.apply(this,t)}function xa(...t){return Lr.apply(this,t)}function Bl(...t){return Lr.apply(this,t)}Object.setPrototypeOf(Da.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(xa.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Bl.prototype,Object.create(Uint32Array.prototype));Object.assign(Da.prototype,Lr.prototype,{constructor:Da,signed:!0,TypedArray:Int32Array,BigIntArray:oc});Object.assign(xa.prototype,Lr.prototype,{constructor:xa,signed:!1,TypedArray:Uint32Array,BigIntArray:ac});Object.assign(Bl.prototype,Lr.prototype,{constructor:Bl,signed:!0,TypedArray:Uint32Array,BigIntArray:ac});function Bk(t){const{buffer:e,byteOffset:n,length:r,signed:i}=t,s=new ac(e,n,r),o=i&&s[s.length-1]&BigInt(1)<t.byteLength===8?new t.BigIntArray(t.buffer,t.byteOffset,1)[0]:Em(t),xo=t=>t.byteLength===8?`${new t.BigIntArray(t.buffer,t.byteOffset,1)[0]}`:Em(t)):(xo=Em,uv=xo);function Em(t){let e="";const n=new Uint32Array(2);let r=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2);const i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer);let s=-1;const o=r.length-1;do{for(n[0]=r[s=0];s(t.children=null,t.ArrayType=Array,t[Symbol.toStringTag]="DataType"))(we.prototype);let Bs=class extends we{toString(){return"Null"}get typeId(){return N.Null}};Lk=Symbol.toStringTag;Bs[Lk]=(t=>t[Symbol.toStringTag]="Null")(Bs.prototype);class Fs extends we{constructor(e,n){super(),this.isSigned=e,this.bitWidth=n}get typeId(){return N.Int}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?oc:ac}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}$k=Symbol.toStringTag;Fs[$k]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(Fs.prototype);class Fl extends Fs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Fl.prototype,"ArrayType",{value:Int32Array});class Ll extends we{constructor(e){super(),this.precision=e}get typeId(){return N.Float}get ArrayType(){switch(this.precision){case Cn.HALF:return Uint16Array;case Cn.SINGLE:return Float32Array;case Cn.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}jk=Symbol.toStringTag;Ll[jk]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(Ll.prototype);let xd=class extends we{constructor(){super()}get typeId(){return N.Binary}toString(){return"Binary"}};Uk=Symbol.toStringTag;xd[Uk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(xd.prototype);let Ad=class extends we{constructor(){super()}get typeId(){return N.Utf8}toString(){return"Utf8"}};zk=Symbol.toStringTag;Ad[zk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Ad.prototype);let Cd=class extends we{constructor(){super()}get typeId(){return N.Bool}toString(){return"Bool"}};Vk=Symbol.toStringTag;Cd[Vk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(Cd.prototype);let Pd=class extends we{constructor(e,n,r=128){super(),this.scale=e,this.precision=n,this.bitWidth=r}get typeId(){return N.Decimal}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};Kk=Symbol.toStringTag;Pd[Kk]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(Pd.prototype);class Rd extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Date}toString(){return`Date${(this.unit+1)*32}<${Hi[this.unit]}>`}}Wk=Symbol.toStringTag;Rd[Wk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Date"))(Rd.prototype);class $l extends we{constructor(e,n){super(),this.unit=e,this.bitWidth=n}get typeId(){return N.Time}toString(){return`Time${this.bitWidth}<${ze[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return oc}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}qk=Symbol.toStringTag;$l[qk]=(t=>(t.unit=null,t.bitWidth=null,t[Symbol.toStringTag]="Time"))($l.prototype);class Td extends we{constructor(e,n){super(),this.unit=e,this.timezone=n}get typeId(){return N.Timestamp}toString(){return`Timestamp<${ze[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}Hk=Symbol.toStringTag;Td[Hk]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Timestamp"))(Td.prototype);class Md extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Interval}toString(){return`Interval<${Ns[this.unit]}>`}}Qk=Symbol.toStringTag;Md[Qk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(Md.prototype);let Nd=class extends we{constructor(e){super(),this.children=[e]}get typeId(){return N.List}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};Yk=Symbol.toStringTag;Nd[Yk]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(Nd.prototype);class pn extends we{constructor(e){super(),this.children=e}get typeId(){return N.Struct}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Gk=Symbol.toStringTag;pn[Gk]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(pn.prototype);class Bd extends we{constructor(e,n,r){super(),this.mode=e,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,s,o)=>(i[s]=o)&&i||i,Object.create(null))}get typeId(){return N.Union}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}Jk=Symbol.toStringTag;Bd[Jk]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(Bd.prototype);let Fd=class extends we{constructor(e){super(),this.byteWidth=e}get typeId(){return N.FixedSizeBinary}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};Xk=Symbol.toStringTag;Fd[Xk]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(Fd.prototype);let Ld=class extends we{constructor(e,n){super(),this.listSize=e,this.children=[n]}get typeId(){return N.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};Zk=Symbol.toStringTag;Ld[Zk]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(Ld.prototype);class $d extends we{constructor(e,n=!1){super(),this.children=[e],this.keysSorted=n}get typeId(){return N.Map}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}eD=Symbol.toStringTag;$d[eD]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))($d.prototype);const F3=(t=>()=>++t)(-1);class Qa extends we{constructor(e,n,r,i){super(),this.indices=n,this.dictionary=e,this.isOrdered=i||!1,this.id=r==null?F3():typeof r=="number"?r:r.low}get typeId(){return N.Dictionary}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}tD=Symbol.toStringTag;Qa[tD]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))(Qa.prototype);function Si(t){const e=t;switch(t.typeId){case N.Decimal:return t.bitWidth/32;case N.Timestamp:return 2;case N.Date:return 1+e.unit;case N.Interval:return 1+e.unit;case N.FixedSizeList:return e.listSize;case N.FixedSizeBinary:return e.byteWidth;default:return 1}}class Be{visitMany(e,...n){return e.map((r,i)=>this.visit(r,...n.map(s=>s[i])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,n=!0){return L3(this,e,n)}getVisitFnByTypeId(e,n=!0){return ia(this,e,n)}visitNull(e,...n){return null}visitBool(e,...n){return null}visitInt(e,...n){return null}visitFloat(e,...n){return null}visitUtf8(e,...n){return null}visitBinary(e,...n){return null}visitFixedSizeBinary(e,...n){return null}visitDate(e,...n){return null}visitTimestamp(e,...n){return null}visitTime(e,...n){return null}visitDecimal(e,...n){return null}visitList(e,...n){return null}visitStruct(e,...n){return null}visitUnion(e,...n){return null}visitDictionary(e,...n){return null}visitInterval(e,...n){return null}visitFixedSizeList(e,...n){return null}visitMap(e,...n){return null}}function L3(t,e,n=!0){return typeof e=="number"?ia(t,e,n):typeof e=="string"&&e in N?ia(t,N[e],n):e&&e instanceof we?ia(t,h1(e),n):e!=null&&e.type&&e.type instanceof we?ia(t,h1(e.type),n):ia(t,N.NONE,n)}function ia(t,e,n=!0){let r=null;switch(e){case N.Null:r=t.visitNull;break;case N.Bool:r=t.visitBool;break;case N.Int:r=t.visitInt;break;case N.Int8:r=t.visitInt8||t.visitInt;break;case N.Int16:r=t.visitInt16||t.visitInt;break;case N.Int32:r=t.visitInt32||t.visitInt;break;case N.Int64:r=t.visitInt64||t.visitInt;break;case N.Uint8:r=t.visitUint8||t.visitInt;break;case N.Uint16:r=t.visitUint16||t.visitInt;break;case N.Uint32:r=t.visitUint32||t.visitInt;break;case N.Uint64:r=t.visitUint64||t.visitInt;break;case N.Float:r=t.visitFloat;break;case N.Float16:r=t.visitFloat16||t.visitFloat;break;case N.Float32:r=t.visitFloat32||t.visitFloat;break;case N.Float64:r=t.visitFloat64||t.visitFloat;break;case N.Utf8:r=t.visitUtf8;break;case N.Binary:r=t.visitBinary;break;case N.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case N.Date:r=t.visitDate;break;case N.DateDay:r=t.visitDateDay||t.visitDate;break;case N.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case N.Timestamp:r=t.visitTimestamp;break;case N.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case N.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case N.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case N.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case N.Time:r=t.visitTime;break;case N.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case N.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case N.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case N.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case N.Decimal:r=t.visitDecimal;break;case N.List:r=t.visitList;break;case N.Struct:r=t.visitStruct;break;case N.Union:r=t.visitUnion;break;case N.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case N.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case N.Dictionary:r=t.visitDictionary;break;case N.Interval:r=t.visitInterval;break;case N.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case N.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case N.FixedSizeList:r=t.visitFixedSizeList;break;case N.Map:r=t.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${N[e]}'`)}function h1(t){switch(t.typeId){case N.Null:return N.Null;case N.Int:{const{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?N.Int8:N.Uint8;case 16:return n?N.Int16:N.Uint16;case 32:return n?N.Int32:N.Uint32;case 64:return n?N.Int64:N.Uint64}return N.Int}case N.Float:switch(t.precision){case Cn.HALF:return N.Float16;case Cn.SINGLE:return N.Float32;case Cn.DOUBLE:return N.Float64}return N.Float;case N.Binary:return N.Binary;case N.Utf8:return N.Utf8;case N.Bool:return N.Bool;case N.Decimal:return N.Decimal;case N.Time:switch(t.unit){case ze.SECOND:return N.TimeSecond;case ze.MILLISECOND:return N.TimeMillisecond;case ze.MICROSECOND:return N.TimeMicrosecond;case ze.NANOSECOND:return N.TimeNanosecond}return N.Time;case N.Timestamp:switch(t.unit){case ze.SECOND:return N.TimestampSecond;case ze.MILLISECOND:return N.TimestampMillisecond;case ze.MICROSECOND:return N.TimestampMicrosecond;case ze.NANOSECOND:return N.TimestampNanosecond}return N.Timestamp;case N.Date:switch(t.unit){case Hi.DAY:return N.DateDay;case Hi.MILLISECOND:return N.DateMillisecond}return N.Date;case N.Interval:switch(t.unit){case Ns.DAY_TIME:return N.IntervalDayTime;case Ns.YEAR_MONTH:return N.IntervalYearMonth}return N.Interval;case N.Map:return N.Map;case N.List:return N.List;case N.Struct:return N.Struct;case N.Union:switch(t.mode){case er.Dense:return N.DenseUnion;case er.Sparse:return N.SparseUnion}return N.Union;case N.FixedSizeBinary:return N.FixedSizeBinary;case N.FixedSizeList:return N.FixedSizeList;case N.Dictionary:return N.Dictionary}throw new Error(`Unrecognized type '${N[t.typeId]}'`)}Be.prototype.visitInt8=null;Be.prototype.visitInt16=null;Be.prototype.visitInt32=null;Be.prototype.visitInt64=null;Be.prototype.visitUint8=null;Be.prototype.visitUint16=null;Be.prototype.visitUint32=null;Be.prototype.visitUint64=null;Be.prototype.visitFloat16=null;Be.prototype.visitFloat32=null;Be.prototype.visitFloat64=null;Be.prototype.visitDateDay=null;Be.prototype.visitDateMillisecond=null;Be.prototype.visitTimestampSecond=null;Be.prototype.visitTimestampMillisecond=null;Be.prototype.visitTimestampMicrosecond=null;Be.prototype.visitTimestampNanosecond=null;Be.prototype.visitTimeSecond=null;Be.prototype.visitTimeMillisecond=null;Be.prototype.visitTimeMicrosecond=null;Be.prototype.visitTimeNanosecond=null;Be.prototype.visitDenseUnion=null;Be.prototype.visitSparseUnion=null;Be.prototype.visitIntervalDayTime=null;Be.prototype.visitIntervalYearMonth=null;const nD=new Float64Array(1),ta=new Uint32Array(nD.buffer);function rD(t){const e=(t&31744)>>10,n=(t&1023)/1024,r=Math.pow(-1,(t&32768)>>15);switch(e){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}function $3(t){if(t!==t)return 32256;nD[0]=t;const e=(ta[1]&2147483648)>>16&65535;let n=ta[1]&2146435072,r=0;return n>=1089470464?ta[0]>0?n=31744:(n=(n&2080374784)>>16,r=(ta[1]&1048575)>>10):n<=1056964608?(r=1048576+(ta[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(ta[1]&1048575)+512>>10),e|n|r&65535}class Ee extends Be{}function xe(t){return(e,n,r)=>{if(e.setValid(n,r!=null))return t(e,n,r)}}const j3=(t,e,n)=>{t[e]=Math.trunc(n/864e5)},p0=(t,e,n)=>{t[e]=Math.trunc(n%4294967296),t[e+1]=Math.trunc(n/4294967296)},U3=(t,e,n)=>{t[e]=Math.trunc(n*1e3%4294967296),t[e+1]=Math.trunc(n*1e3/4294967296)},z3=(t,e,n)=>{t[e]=Math.trunc(n*1e6%4294967296),t[e+1]=Math.trunc(n*1e6/4294967296)},iD=(t,e,n,r)=>{if(n+1{const i=t+n;r?e[i>>3]|=1<>3]&=~(1<{t[e]=n},m0=({values:t},e,n)=>{t[e]=n},sD=({values:t},e,n)=>{t[e]=$3(n)},K3=(t,e,n)=>{switch(t.type.precision){case Cn.HALF:return sD(t,e,n);case Cn.SINGLE:case Cn.DOUBLE:return m0(t,e,n)}},oD=({values:t},e,n)=>{j3(t,e,n.valueOf())},aD=({values:t},e,n)=>{p0(t,e*2,n.valueOf())},W3=({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)},q3=({values:t,valueOffsets:e},n,r)=>iD(t,e,n,r),H3=({values:t,valueOffsets:e},n,r)=>{iD(t,e,n,l0(r))},Q3=(t,e,n)=>{t.type.unit===Hi.DAY?oD(t,e,n):aD(t,e,n)},uD=({values:t},e,n)=>p0(t,e*2,n/1e3),lD=({values:t},e,n)=>p0(t,e*2,n),cD=({values:t},e,n)=>U3(t,e*2,n),fD=({values:t},e,n)=>z3(t,e*2,n),Y3=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return uD(t,e,n);case ze.MILLISECOND:return lD(t,e,n);case ze.MICROSECOND:return cD(t,e,n);case ze.NANOSECOND:return fD(t,e,n)}},dD=({values:t},e,n)=>{t[e]=n},hD=({values:t},e,n)=>{t[e]=n},pD=({values:t},e,n)=>{t[e]=n},mD=({values:t},e,n)=>{t[e]=n},G3=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return dD(t,e,n);case ze.MILLISECOND:return hD(t,e,n);case ze.MICROSECOND:return pD(t,e,n);case ze.NANOSECOND:return mD(t,e,n)}},J3=({values:t,stride:e},n,r)=>{t.set(r.subarray(0,e),e*n)},X3=(t,e,n)=>{const r=t.children[0],i=t.valueOffsets,s=wr.getVisitFn(r);if(Array.isArray(n))for(let o=-1,a=i[e],l=i[e+1];a{const r=t.children[0],{valueOffsets:i}=t,s=wr.getVisitFn(r);let{[e]:o,[e+1]:a}=i;const l=n instanceof Map?n.entries():Object.entries(n);for(const f of l)if(s(r,o,f),++o>=a)break},e$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[s]),t$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(s)),n$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(i.name)),r$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[i.name]),i$=(t,e,n)=>{const r=t.type.children.map(s=>wr.getVisitFn(s.type)),i=n instanceof Map?n$(e,n):n instanceof Ke?t$(e,n):Array.isArray(n)?e$(e,n):r$(e,n);t.type.children.forEach((s,o)=>i(r[o],t.children[o],s,o))},s$=(t,e,n)=>{t.type.mode===er.Dense?yD(t,e,n):vD(t,e,n)},yD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];wr.visit(i,t.valueOffsets[e],n)},vD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];wr.visit(i,e,n)},o$=(t,e,n)=>{var r;(r=t.dictionary)===null||r===void 0||r.set(t.values[e],n)},a$=(t,e,n)=>{t.type.unit===Ns.DAY_TIME?gD(t,e,n):wD(t,e,n)},gD=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},wD=({values:t},e,n)=>{t[e]=n[0]*12+n[1]%12},u$=(t,e,n)=>{const{stride:r}=t,i=t.children[0],s=wr.getVisitFn(i);if(Array.isArray(n))for(let o=-1,a=e*r;++o`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new l$(this[Er],this[Aa])}}class l${constructor(e,n){this.childIndex=0,this.children=e.children,this.rowIndex=n,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return en.name)}has(e,n){return e[Er].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(e,n){if(e[Er].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Er].type.children.findIndex(i=>i.name===n);if(r!==-1){const i=Bn.visit(e[Er].children[r],e[Aa]);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Er].type.children.findIndex(s=>s.name===n);return i!==-1?(wr.visit(e[Er].children[i],e[Aa],r),Reflect.set(e,n,r)):Reflect.has(e,n)||typeof n=="symbol"?Reflect.set(e,n,r):!1}}class _e extends Be{}function Oe(t){return(e,n)=>e.getValid(n)?t(e,n):null}const f$=(t,e)=>864e5*t[e],v0=(t,e)=>4294967296*t[e+1]+(t[e]>>>0),d$=(t,e)=>4294967296*(t[e+1]/1e3)+(t[e]>>>0)/1e3,h$=(t,e)=>4294967296*(t[e+1]/1e6)+(t[e]>>>0)/1e6,_D=t=>new Date(t),p$=(t,e)=>_D(f$(t,e)),m$=(t,e)=>_D(v0(t,e)),y$=(t,e)=>null,bD=(t,e,n)=>{if(n+1>=e.length)return null;const r=e[n],i=e[n+1];return t.subarray(r,i)},v$=({offset:t,values:e},n)=>{const r=t+n;return(e[r>>3]&1<p$(t,e),ID=({values:t},e)=>m$(t,e*2),Hs=({stride:t,values:e},n)=>e[t*n],g$=({stride:t,values:e},n)=>rD(e[t*n]),ED=({values:t},e)=>t[e],w$=({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)),_$=({values:t,valueOffsets:e},n)=>bD(t,e,n),b$=({values:t,valueOffsets:e},n)=>{const r=bD(t,e,n);return r!==null?sv(r):null},S$=({values:t},e)=>t[e],I$=({type:t,values:e},n)=>t.precision!==Cn.HALF?e[n]:rD(e[n]),E$=(t,e)=>t.type.unit===Hi.DAY?SD(t,e):ID(t,e),OD=({values:t},e)=>1e3*v0(t,e*2),kD=({values:t},e)=>v0(t,e*2),DD=({values:t},e)=>d$(t,e*2),xD=({values:t},e)=>h$(t,e*2),O$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return OD(t,e);case ze.MILLISECOND:return kD(t,e);case ze.MICROSECOND:return DD(t,e);case ze.NANOSECOND:return xD(t,e)}},AD=({values:t},e)=>t[e],CD=({values:t},e)=>t[e],PD=({values:t},e)=>t[e],RD=({values:t},e)=>t[e],k$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return AD(t,e);case ze.MILLISECOND:return CD(t,e);case ze.MICROSECOND:return PD(t,e);case ze.NANOSECOND:return RD(t,e)}},D$=({values:t,stride:e},n)=>h0.decimal(t.subarray(e*n,e*(n+1))),x$=(t,e)=>{const{valueOffsets:n,stride:r,children:i}=t,{[e*r]:s,[e*r+1]:o}=n,l=i[0].slice(s,o-s);return new Ke([l])},A$=(t,e)=>{const{valueOffsets:n,children:r}=t,{[e]:i,[e+1]:s}=n,o=r[0];return new g0(o.slice(i,s-i))},C$=(t,e)=>new y0(t,e),P$=(t,e)=>t.type.mode===er.Dense?TD(t,e):MD(t,e),TD=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Bn.visit(r,t.valueOffsets[e])},MD=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Bn.visit(r,e)},R$=(t,e)=>{var n;return(n=t.dictionary)===null||n===void 0?void 0:n.get(t.values[e])},T$=(t,e)=>t.type.unit===Ns.DAY_TIME?ND(t,e):BD(t,e),ND=({values:t},e)=>t.subarray(2*e,2*(e+1)),BD=({values:t},e)=>{const n=t[e],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},M$=(t,e)=>{const{stride:n,children:r}=t,s=r[0].slice(e*n,n);return new Ke([s])};_e.prototype.visitNull=Oe(y$);_e.prototype.visitBool=Oe(v$);_e.prototype.visitInt=Oe(S$);_e.prototype.visitInt8=Oe(Hs);_e.prototype.visitInt16=Oe(Hs);_e.prototype.visitInt32=Oe(Hs);_e.prototype.visitInt64=Oe(ED);_e.prototype.visitUint8=Oe(Hs);_e.prototype.visitUint16=Oe(Hs);_e.prototype.visitUint32=Oe(Hs);_e.prototype.visitUint64=Oe(ED);_e.prototype.visitFloat=Oe(I$);_e.prototype.visitFloat16=Oe(g$);_e.prototype.visitFloat32=Oe(Hs);_e.prototype.visitFloat64=Oe(Hs);_e.prototype.visitUtf8=Oe(b$);_e.prototype.visitBinary=Oe(_$);_e.prototype.visitFixedSizeBinary=Oe(w$);_e.prototype.visitDate=Oe(E$);_e.prototype.visitDateDay=Oe(SD);_e.prototype.visitDateMillisecond=Oe(ID);_e.prototype.visitTimestamp=Oe(O$);_e.prototype.visitTimestampSecond=Oe(OD);_e.prototype.visitTimestampMillisecond=Oe(kD);_e.prototype.visitTimestampMicrosecond=Oe(DD);_e.prototype.visitTimestampNanosecond=Oe(xD);_e.prototype.visitTime=Oe(k$);_e.prototype.visitTimeSecond=Oe(AD);_e.prototype.visitTimeMillisecond=Oe(CD);_e.prototype.visitTimeMicrosecond=Oe(PD);_e.prototype.visitTimeNanosecond=Oe(RD);_e.prototype.visitDecimal=Oe(D$);_e.prototype.visitList=Oe(x$);_e.prototype.visitStruct=Oe(C$);_e.prototype.visitUnion=Oe(P$);_e.prototype.visitDenseUnion=Oe(TD);_e.prototype.visitSparseUnion=Oe(MD);_e.prototype.visitDictionary=Oe(R$);_e.prototype.visitInterval=Oe(T$);_e.prototype.visitIntervalDayTime=Oe(ND);_e.prototype.visitIntervalYearMonth=Oe(BD);_e.prototype.visitFixedSizeList=Oe(M$);_e.prototype.visitMap=Oe(A$);const Bn=new _e,Xr=Symbol.for("keys"),Ca=Symbol.for("vals");class g0{constructor(e){return this[Xr]=new Ke([e.children[0]]).memoize(),this[Ca]=e.children[1],new Proxy(this,new B$)}[Symbol.iterator](){return new N$(this[Xr],this[Ca])}get size(){return this[Xr].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[Xr],n=this[Ca],r={};for(let i=-1,s=e.length;++i`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class N${constructor(e,n){this.keys=e,this.vals=n,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Bn.visit(this.vals,e)]})}}class B${isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[Xr].toArray().map(String)}has(e,n){return e[Xr].includes(n)}getOwnPropertyDescriptor(e,n){if(e[Xr].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Xr].indexOf(n);if(r!==-1){const i=Bn.visit(Reflect.get(e,Ca),r);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Xr].indexOf(n);return i!==-1?(wr.visit(Reflect.get(e,Ca),i,r),Reflect.set(e,n,r)):Reflect.has(e,n)?Reflect.set(e,n,r):!1}}Object.defineProperties(g0.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[Xr]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Ca]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let p1;function FD(t,e,n,r){const{length:i=0}=t;let s=typeof e!="number"?0:e,o=typeof n!="number"?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(t,s,o):[s,o]}const m1=t=>t!==t;function du(t){if(typeof t!=="object"||t===null)return m1(t)?m1:n=>n===t;if(t instanceof Date){const n=t.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(t)?n=>n?A3(t,n):!1:t instanceof Map?L$(t):Array.isArray(t)?F$(t):t instanceof Ke?$$(t):j$(t,!0)}function F$(t){const e=[];for(let n=-1,r=t.length;++n!1;const r=[];for(let i=-1,s=n.length;++i{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return U$(t,n);case Map:return y1(t,n,n.keys());case g0:case y0:case Object:case void 0:return y1(t,n,e||Object.keys(n))}return n instanceof Ke?z$(t,n):!1}}function U$(t,e){const n=t.length;if(e.length!==n)return!1;for(let r=-1;++r>r}function w0(t,e,n){const r=n.byteLength+7&-8;if(t>0||n.byteLength>3):jd(new _0(n,t,e,null,LD)).subarray(0,r)),i}return n}function jd(t){const e=[];let n=0,r=0,i=0;for(const o of t)o&&(i|=1<0)&&(e[n++]=i);const s=new Uint8Array(e.length+7&-8);return s.set(e),s}class _0{constructor(e,n,r,i,s){this.bytes=e,this.length=r,this.context=i,this.get=s,this.bit=n%8,this.byteIndex=n>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=e+(e%8===0?0:8-e%8);return lv(t,e,i)+lv(t,r,n)+K$(t,i>>3,r-i>>3)}function K$(t,e,n){let r=0,i=Math.trunc(e);const s=new DataView(t.buffer,t.byteOffset,t.byteLength),o=n===void 0?t.byteLength:i+n;for(;o-i>=4;)r+=Om(s.getUint32(i)),i+=4;for(;o-i>=2;)r+=Om(s.getUint16(i)),i+=2;for(;o-i>=1;)r+=Om(s.getUint8(i)),i+=1;return r}function Om(t){let e=Math.trunc(t);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const W$=-1;class at{constructor(e,n,r,i,s,o=[],a){this.type=e,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let l;s instanceof at?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=Si(e),s&&((l=s[0])&&(this.valueOffsets=l),(l=s[1])&&(this.values=l),(l=s[2])&&(this.nullBitmap=l),(l=s[3])&&(this.typeIds=l))),this.nullable=this._nullCount!==0&&this.nullBitmap&&this.nullBitmap.byteLength>0}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get byteLength(){let e=0;const{valueOffsets:n,values:r,nullBitmap:i,typeIds:s}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,e)}get nullCount(){let e=this._nullCount,n;return e<=W$&&(n=this.nullBitmap)&&(this._nullCount=e=this.length-lv(n,this.offset,this.offset+this.length)),e}getValid(e){if(this.nullable&&this.nullCount>0){const n=this.offset+e;return(this.nullBitmap[n>>3]&1<>3){const{nullBitmap:l}=this._changeLengthAndBackfillNullBitmap(this.length);Object.assign(this,{nullBitmap:l,_nullCount:0})}const{nullBitmap:r,offset:i}=this,s=i+e>>3,o=(i+e)%8,a=r[s]>>o&1;return n?a===0&&(r[s]|=1<>3).fill(255,0,n>>3);i[n>>3]=(1<0&&i.set(w0(this.offset,n,this.nullBitmap),0);const s=this.buffers;return s[bi.VALIDITY]=i,this.clone(this.type,0,e,r+(e-n),s)}_sliceBuffers(e,n,r,i){let s;const{buffers:o}=this;return(s=o[bi.TYPE])&&(o[bi.TYPE]=s.subarray(e,e+n)),(s=o[bi.OFFSET])&&(o[bi.OFFSET]=s.subarray(e,e+n+1))||(s=o[bi.DATA])&&(o[bi.DATA]=i===6?s:s.subarray(r*e,r*(e+n))),o}_sliceChildren(e,n,r){return e.map(i=>i.slice(n,r))}}at.prototype.children=Object.freeze([]);class ol extends Be{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:n,["offset"]:r=0,["length"]:i=0}=e;return new at(n,r,i,0)}visitBool(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length>>3,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitInt(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFloat(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitUtf8(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitFixedSizeBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDate(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTimestamp(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTime(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDecimal(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitList(e){const{["type"]:n,["offset"]:r=0,["child"]:i}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}visitStruct(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),{length:o=i.reduce((l,{length:f})=>Math.max(l,f),0),nullCount:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],i)}visitUnion(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),o=rt(n.ArrayType,e.typeIds),{["length"]:a=o.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;if(we.isSparseUnion(n))return new at(n,r,a,l,[void 0,void 0,s,o],i);const f=Fu(e.valueOffsets);return new at(n,r,a,l,[f,void 0,s,o],i)}visitDictionary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.indices.ArrayType,e.data),{["dictionary"]:o=new Ke([new ol().visit({type:n.dictionary})])}=e,{["length"]:a=s.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[void 0,s,i],[],o)}visitInterval(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFixedSizeList(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.valueType})}=e,s=Ue(e.nullBitmap),{["length"]:o=i.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],[i])}visitMap(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.childType})}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}}function Ne(t){return new ol().visit(t)}class v1{constructor(e=0,n){this.numChunks=e,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe+n.nullCount,0)}function jD(t){return t.reduce((e,n,r)=>(e[r+1]=e[r]+n.length,e),new Uint32Array(t.length+1))}function UD(t,e,n,r){const i=[];for(let s=-1,o=t.length;++s=r)break;if(n>=l+f)continue;if(l>=n&&l+f<=r){i.push(a);continue}const h=Math.max(0,n-l),m=Math.min(r-l,f);i.push(a.slice(h,m-h))}return i.length===0&&i.push(t[0].slice(0,0)),i}function b0(t,e,n,r){let i=0,s=0,o=e.length-1;do{if(i>=o-1)return n0?0:-1}function H$(t,e){const{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(const i of new _0(n,t.offset+(e||0),t.length,n,LD)){if(!i)return r;++r}return-1}function Ce(t,e,n){if(e===void 0)return-1;if(e===null)return H$(t,n);const r=Bn.getVisitFn(t),i=du(e);for(let s=(n||0)-1,o=t.length;++s{const i=t.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new v1(t.data.length,r=>{const s=t.data[r].length,o=t.slice(n,n+s);return n+=s,new Q$(o)})}class Q${constructor(e){this.vector=e,this.index=0}next(){return this.indext+e;class Qs extends Be{visitNull(e,n){return 0}visitInt(e,n){return e.type.bitWidth/8}visitFloat(e,n){return e.type.ArrayType.BYTES_PER_ELEMENT}visitBool(e,n){return 1/8}visitDecimal(e,n){return e.type.bitWidth/8}visitDate(e,n){return(e.type.unit+1)*4}visitTime(e,n){return e.type.bitWidth/8}visitTimestamp(e,n){return e.type.unit===ze.SECOND?4:8}visitInterval(e,n){return(e.type.unit+1)*4}visitStruct(e,n){return e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitFixedSizeBinary(e,n){return e.type.byteWidth}visitMap(e,n){return 8+e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitDictionary(e,n){var r;return e.type.indices.bitWidth/8+(((r=e.dictionary)===null||r===void 0?void 0:r.getByteLength(e.values[n]))||0)}}const G$=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),J$=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),X$=({valueOffsets:t,stride:e,children:n},r)=>{const i=n[0],{[r*e]:s}=t,{[r*e+1]:o}=t,a=di.getVisitFn(i.type),l=i.slice(s,o-s);let f=8;for(let h=-1,m=o-s;++h{const r=e[0],i=r.slice(n*t,t),s=di.getVisitFn(r.type);let o=0;for(let a=-1,l=i.length;++at.type.mode===er.Dense?WD(t,e):qD(t,e),WD=({type:t,children:e,typeIds:n,valueOffsets:r},i)=>{const s=t.typeIdToChildIndex[n[i]];return 8+di.visit(e[s],r[i])},qD=({children:t},e)=>4+di.visitMany(t,t.map(()=>e)).reduce(Y$,0);Qs.prototype.visitUtf8=G$;Qs.prototype.visitBinary=J$;Qs.prototype.visitList=X$;Qs.prototype.visitFixedSizeList=Z$;Qs.prototype.visitUnion=ej;Qs.prototype.visitDenseUnion=WD;Qs.prototype.visitSparseUnion=qD;const di=new Qs;var HD;const QD={},YD={};class Ke{constructor(e){var n,r,i;const s=e[0]instanceof Ke?e.flatMap(a=>a.data):e;if(s.length===0||s.some(a=>!(a instanceof at)))throw new TypeError("Vector constructor expects an Array of Data instances.");const o=(n=s[0])===null||n===void 0?void 0:n.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{const{get:a,set:l,indexOf:f,byteLength:h}=QD[o.typeId],m=s[0];this.isValid=y=>S0(m,y),this.get=y=>a(m,y),this.set=(y,w)=>l(m,y,w),this.indexOf=y=>f(m,y),this.getByteLength=y=>h(m,y),this._offsets=[0,m.length];break}default:Object.setPrototypeOf(this,YD[o.typeId]),this._offsets=jD(s);break}this.data=s,this.type=o,this.stride=Si(o),this.numChildren=(i=(r=o.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets[this._offsets.length-1]}get byteLength(){return this._byteLength===-1&&(this._byteLength=this.data.reduce((e,n)=>e+n.byteLength,0)),this._byteLength}get nullCount(){return this._nullCount===-1&&(this._nullCount=$D(this.data)),this._nullCount}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${N[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}includes(e,n){return this.indexOf(e,n)>0}getByteLength(e){return 0}[Symbol.iterator](){return I0.visit(this)}concat(...e){return new Ke(this.data.concat(e.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(e,n){return new Ke(FD(this,e,n,({data:r,_offsets:i},s,o)=>UD(r,i,s,o)))}toJSON(){return[...this]}toArray(){const{type:e,data:n,length:r,stride:i,ArrayType:s}=this;switch(e.typeId){case N.Int:case N.Float:case N.Decimal:case N.Time:case N.Timestamp:switch(n.length){case 0:return new s;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((o,{values:a,length:l})=>(o.array.set(a.subarray(0,l*i),o.offset),o.offset+=l*i,o),{array:new s(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&en[e])):null}get isMemoized(){return we.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(we.isDictionary(this.type)){const e=new zd(this.data[0].dictionary),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return new zd(this)}unmemoize(){if(we.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return this}}HD=Symbol.toStringTag;Ke[HD]=(t=>{t.type=we.prototype,t.data=[],t.length=0,t.stride=1,t.numChildren=0,t._nullCount=-1,t._byteLength=-1,t._offsets=new Uint32Array([0]),t[Symbol.isConcatSpreadable]=!0;const e=Object.keys(N).map(n=>N[n]).filter(n=>typeof n=="number"&&n!==N.NONE);for(const n of e){const r=Bn.getVisitFnByTypeId(n),i=wr.getVisitFnByTypeId(n),s=Ud.getVisitFnByTypeId(n),o=di.getVisitFnByTypeId(n);QD[n]={get:r,set:i,indexOf:s,byteLength:o},YD[n]=Object.create(t,{isValid:{value:Pa(S0)},get:{value:Pa(Bn.getVisitFnByTypeId(n))},set:{value:zD(wr.getVisitFnByTypeId(n))},indexOf:{value:VD(Ud.getVisitFnByTypeId(n))},getByteLength:{value:Pa(di.getVisitFnByTypeId(n))}})}return"Vector"})(Ke.prototype);class zd extends Ke{constructor(e){super(e.data);const n=this.get,r=this.set,i=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){const a=s[o];if(a!==void 0)return a;const l=n.call(this,o);return s[o]=l,l}}),Object.defineProperty(this,"set",{value(o,a){r.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new zd(i.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Ke(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class cv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,n,r,i){return e.prep(8,24),e.writeInt64(i),e.pad(4),e.writeInt32(r),e.writeInt64(n),e.offset()}}const km=2,Zr=4,ki=4,st=4,fs=new Int32Array(2),g1=new Float32Array(fs.buffer),w1=new Float64Array(fs.buffer),ff=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;let Ni=class fv{constructor(e,n){this.low=e|0,this.high=n|0}static create(e,n){return e==0&&n==0?fv.ZERO:new fv(e,n)}toFloat64(){return(this.low>>>0)+this.high*4294967296}equals(e){return this.low==e.low&&this.high==e.high}};Ni.ZERO=new Ni(0,0);var dv;(function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"})(dv||(dv={}));let Ya=class GD{constructor(e){this.bytes_=e,this.position_=0}static allocate(e){return new GD(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return new Ni(this.readInt32(e),this.readInt32(e+4))}readUint64(e){return new Ni(this.readUint32(e),this.readUint32(e+4))}readFloat32(e){return fs[0]=this.readInt32(e),g1[0]}readFloat64(e){return fs[ff?0:1]=this.readInt32(e),fs[ff?1:0]=this.readInt32(e+4),w1[0]}writeInt8(e,n){this.bytes_[e]=n}writeUint8(e,n){this.bytes_[e]=n}writeInt16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeUint16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeInt32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeUint32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeInt64(e,n){this.writeInt32(e,n.low),this.writeInt32(e+4,n.high)}writeUint64(e,n){this.writeUint32(e,n.low),this.writeUint32(e+4,n.high)}writeFloat32(e,n){g1[0]=n,this.writeInt32(e,fs[0])}writeFloat64(e,n){w1[0]=n,this.writeInt32(e,fs[ff?0:1]),this.writeInt32(e+4,fs[ff?1:0])}getBufferIdentifier(){if(this.bytes_.length>10)+55296,(o&1024-1)+56320))}return i}__union_with_string(e,n){return typeof e=="string"?this.__string(n):this.__union(e,n)}__indirect(e){return e+this.readInt32(e)}__vector(e){return e+this.readInt32(e)+Zr}__vector_len(e){return this.readInt32(e+this.readInt32(e))}__has_identifier(e){if(e.length!=ki)throw new Error("FlatBuffers: file identifier must be length "+ki);for(let n=0;nthis.minalign&&(this.minalign=e);const r=~(this.bb.capacity()-this.space+n)+1&e-1;for(;this.space=0&&this.vtable[n]==0;n--);const r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?e-this.vtable[n]:0);const i=2;this.addInt16(e-this.object_start);const s=(r+i)*km;this.addInt16(s);let o=0;const a=this.space;e:for(n=0;n=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,Zr+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,n){this.finish(e,n,!0)}requiredField(e,n){const r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(!(this.bb.readInt16(i+n)!=0))throw new Error("FlatBuffers: field "+n+" must be set")}startVector(e,n,r){this.notNested(),this.vector_num_elems=n,this.prep(Zr,e*n),this.prep(r,e*n)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(e){if(!e)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(e))return this.string_maps.get(e);const n=this.createString(e);return this.string_maps.set(e,n),n}createString(e){if(!e)return 0;let n;if(e instanceof Uint8Array)n=e;else{n=[];let r=0;for(;r=56320)i=s;else{const o=e.charCodeAt(r++);i=(s<<10)+o+(65536-56623104-56320)}i<128?n.push(i):(i<2048?n.push(i>>6&31|192):(i<65536?n.push(i>>12&15|224):n.push(i>>18&7|240,i>>12&63|128),n.push(i>>6&63|128)),n.push(i&63|128))}}this.addInt8(0),this.startVector(1,n.length,1),this.bb.setPosition(this.space-=n.length);for(let r=0,i=this.space,s=this.bb.bytes();r=0;r--)e.addInt32(n[r]);return e.endVector()}static startTypeIdsVector(e,n){e.startVector(4,n,4)}static endUnion(e){return e.endObject()}static createUnion(e,n,r){return In.startUnion(e),In.addMode(e,n),In.addTypeIds(e,r),In.endUnion(e)}}class bo{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsUtf8(e,n){return(n||new bo).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,n){return e.setPosition(e.position()+st),(n||new bo).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return bo.startUtf8(e),bo.endUtf8(e)}}var _t;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.FloatingPoint=3]="FloatingPoint",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct_=13]="Struct_",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.LargeList=21]="LargeList"})(_t||(_t={}));let lr=class Ff{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsField(e,n){return(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,n){return e.setPosition(e.position()+st),(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}name(e){const n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):_t.NONE}type(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(e,this.bb_pos+n):null}dictionary(e){const n=this.bb.__offset(this.bb_pos,12);return n?(e||new Di).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(e,n){const r=this.bb.__offset(this.bb_pos,14);return r?(n||new Ff).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,16);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,n){e.addFieldOffset(0,n,0)}static addNullable(e,n){e.addFieldInt8(1,+n,0)}static addTypeType(e,n){e.addFieldInt8(2,n,_t.NONE)}static addType(e,n){e.addFieldOffset(3,n,0)}static addDictionary(e,n){e.addFieldOffset(4,n,0)}static addChildren(e,n){e.addFieldOffset(5,n,0)}static createChildrenVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startChildrenVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(6,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endField(e){return e.endObject()}},qr=class wi{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsSchema(e,n){return(n||new wi).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,n){return e.setPosition(e.position()+st),(n||new wi).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ja.Little}fields(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new lr).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+e*8):this.bb.createLong(0,0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,n){e.addFieldInt16(0,n,Ja.Little)}static addFields(e,n){e.addFieldOffset(1,n,0)}static createFieldsVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startFieldsVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(2,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static addFeatures(e,n){e.addFieldOffset(3,n,0)}static createFeaturesVector(e,n){e.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)e.addInt64(n[r]);return e.endVector()}static startFeaturesVector(e,n){e.startVector(8,n,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,n){e.finish(n)}static finishSizePrefixedSchemaBuffer(e,n){e.finish(n,void 0,!0)}static createSchema(e,n,r,i,s){return wi.startSchema(e),wi.addEndianness(e,n),wi.addFields(e,r),wi.addCustomMetadata(e,i),wi.addFeatures(e,s),wi.endSchema(e)}};class Kn{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsFooter(e,n){return(n||new Kn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,n){return e.setPosition(e.position()+st),(n||new Kn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ga.V1}schema(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new qr).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new cv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,n){const r=this.bb.__offset(this.bb_pos,10);return r?(n||new cv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ga.V1)}static addSchema(e,n){e.addFieldOffset(1,n,0)}static addDictionaries(e,n){e.addFieldOffset(2,n,0)}static startDictionariesVector(e,n){e.startVector(24,n,8)}static addRecordBatches(e,n){e.addFieldOffset(3,n,0)}static startRecordBatchesVector(e,n){e.startVector(24,n,8)}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,n){e.finish(n)}static finishSizePrefixedFooterBuffer(e,n){e.finish(n,void 0,!0)}}class We{constructor(e=[],n,r){this.fields=e||[],this.metadata=n||new Map,r||(r=hv(e)),this.dictionaries=r}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,n)=>`${n}: ${e}`).join(", ")} }>`}select(e){const n=new Set(e),r=this.fields.filter(i=>n.has(i.name));return new We(r,this.metadata)}selectAt(e){const n=e.map(r=>this.fields[r]).filter(Boolean);return new We(n,this.metadata)}assign(...e){const n=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),r=[...this.fields],i=df(df(new Map,this.metadata),n.metadata),s=n.fields.filter(a=>{const l=r.findIndex(f=>f.name===a.name);return~l?(r[l]=a.clone({metadata:df(df(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),o=hv(s,new Map);return new We([...r,...s],i,new Map([...this.dictionaries,...o]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class yt{constructor(e,n,r=!1,i){this.name=e,this.type=n,this.nullable=r,this.metadata=i||new Map}static new(...e){let[n,r,i,s]=e;return e[0]&&typeof e[0]=="object"&&({name:n}=e[0],r===void 0&&(r=e[0].type),i===void 0&&(i=e[0].nullable),s===void 0&&(s=e[0].metadata)),new yt(`${n}`,r,i,s)}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[n,r,i,s]=e;return!e[0]||typeof e[0]!="object"?[n=this.name,r=this.type,i=this.nullable,s=this.metadata]=e:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:s=this.metadata}=e[0],yt.new(n,r,i,s)}}yt.prototype.type=null;yt.prototype.name=null;yt.prototype.nullable=null;yt.prototype.metadata=null;function df(t,e){return new Map([...t||new Map,...e||new Map])}function hv(t,e=new Map){for(let n=-1,r=t.length;++n0&&hv(s.children,e)}return e}var _1=Ni,tj=JD,nj=Ya;class jl{constructor(e,n=Qn.V4,r,i){this.schema=e,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}static decode(e){e=new nj(Ue(e));const n=Kn.getRootAsFooter(e),r=We.decode(n.schema());return new rj(r,n)}static encode(e){const n=new tj,r=We.encode(n,e.schema);Kn.startRecordBatchesVector(n,e.numRecordBatches);for(const o of[...e.recordBatches()].slice().reverse())Ls.encode(n,o);const i=n.endVector();Kn.startDictionariesVector(n,e.numDictionaries);for(const o of[...e.dictionaryBatches()].slice().reverse())Ls.encode(n,o);const s=n.endVector();return Kn.startFooter(n),Kn.addSchema(n,r),Kn.addVersion(n,Qn.V4),Kn.addRecordBatches(n,i),Kn.addDictionaries(n,s),Kn.finishFooterBuffer(n,Kn.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}*recordBatches(){for(let e,n=-1,r=this.numRecordBatches;++n=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(St);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return cr.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return cr.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return ve(this,void 0,void 0,function*(){return yield this.abort(e),St})}return(e){return ve(this,void 0,void 0,function*(){return yield this.close(),St})}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(St)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class Lf extends ij{write(e){if((e=Ue(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?sv(this.toUint8Array(!0)):this.toUint8Array(!1).then(sv)}toUint8Array(e=!1){return e?fi(this._values)[0]:(()=>ve(this,void 0,void 0,function*(){var n,r;const i=[];let s=0;try{for(var o=Ds(this),a;a=yield o.next(),!a.done;){const l=a.value;i.push(l),s+=l.byteLength}}catch(l){n={error:l}}finally{try{a&&!a.done&&(r=o.return)&&(yield r.call(o))}finally{if(n)throw n.error}}return fi(i,s)[0]}))()}}class Qd{constructor(e){e&&(this.source=new sj(cr.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Za{constructor(e){e instanceof Za?this.source=e.source:e instanceof Lf?this.source=new ao(cr.fromAsyncIterable(e)):Mk(e)?this.source=new ao(cr.fromNodeStream(e)):c0(e)?this.source=new ao(cr.fromDOMStream(e)):Tk(e)?this.source=new ao(cr.fromDOMStream(e.body)):uc(e)?this.source=new ao(cr.fromIterable(e)):Ms(e)?this.source=new ao(cr.fromAsyncIterable(e)):fu(e)&&(this.source=new ao(cr.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class sj{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,n="read"){return this.source.next({cmd:n,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||St)}return(e){return Object.create(this.source.return&&this.source.return(e)||St)}}class ao{constructor(e){this.source=e,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e,n="read"){return ve(this,void 0,void 0,function*(){return yield this.source.next({cmd:n,size:e})})}throw(e){return ve(this,void 0,void 0,function*(){const n=this.source.throw&&(yield this.source.throw(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(e){return ve(this,void 0,void 0,function*(){const n=this.source.return&&(yield this.source.return(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}}class S1 extends Qd{constructor(e,n){super(),this.position=0,this.buffer=Ue(e),this.size=typeof n>"u"?this.buffer.byteLength:n}readInt32(e){const{buffer:n,byteOffset:r}=this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),eve(this,void 0,void 0,function*(){this.size=(yield e.stat()).size,delete this._pending}))()}readInt32(e){return ve(this,void 0,void 0,function*(){const{buffer:n,byteOffset:r}=yield this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)})}seek(e){return ve(this,void 0,void 0,function*(){return this._pending&&(yield this._pending),this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let i=n[3]*r[3];this.buffer[0]=i&65535;let s=i>>>16;return i=n[2]*r[3],s+=i,i=n[3]*r[2]>>>0,s+=i,this.buffer[0]+=s<<16,this.buffer[1]=s>>>0>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(e){const n=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],n>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(e){return this.buffer[1]>>0,n[2]=this.buffer[2]+e.buffer[2]>>>0,n[1]=this.buffer[1]+e.buffer[1]>>>0,n[0]=this.buffer[0]+e.buffer[0]>>>0,n[0]>>0&&++n[1],n[1]>>0&&++n[2],n[2]>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${_a(this.buffer[3])} ${_a(this.buffer[2])} ${_a(this.buffer[1])} ${_a(this.buffer[0])}`}static multiply(e,n){return new Hr(new Uint32Array(e.buffer)).times(n)}static add(e,n){return new Hr(new Uint32Array(e.buffer)).plus(n)}static from(e,n=new Uint32Array(4)){return Hr.fromString(typeof e=="string"?e:e.toString(),n)}static fromNumber(e,n=new Uint32Array(4)){return Hr.fromString(e.toString(),n)}static fromString(e,n=new Uint32Array(4)){const r=e.startsWith("-"),i=e.length,s=new Hr(n);for(let o=r?1:0;o0&&this.readData(e,r)||new Uint8Array(0)}readOffsets(e,n){return this.readData(e,n)}readTypeIds(e,n){return this.readData(e,n)}readData(e,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(e){return this.dictionaries.get(e.id)}}class aj extends ex{constructor(e,n,r,i){super(new Uint8Array(0),n,r,i),this.sources=e}readNullBitmap(e,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):jd(this.sources[r])}readOffsets(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(Int32Array,this.sources[n]))}readTypeIds(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(e.ArrayType,this.sources[n]))}readData(e,{offset:n}=this.nextBufferRange()){const{sources:r}=this;return we.isTimestamp(e)||(we.isInt(e)||we.isTime(e))&&e.bitWidth===64||we.isDate(e)&&e.unit===Hi.MILLISECOND?rt(Uint8Array,_n.convertArray(r[n])):we.isDecimal(e)?rt(Uint8Array,Hr.convertArray(r[n])):we.isBinary(e)||we.isFixedSizeBinary(e)?uj(r[n]):we.isBool(e)?jd(r[n]):we.isUtf8(e)?l0(r[n].join("")):rt(Uint8Array,rt(e.ArrayType,r[n].map(i=>+i)))}}function uj(t){const e=t.join(""),n=new Uint8Array(e.length/2);for(let r=0;r>1]=Number.parseInt(e.slice(r,r+2),16);return n}class Ie extends Be{compareSchemas(e,n){return e===n||n instanceof e.constructor&&this.compareManyFields(e.fields,n.fields)}compareManyFields(e,n){return e===n||Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((r,i)=>this.compareFields(r,n[i]))}compareFields(e,n){return e===n||n instanceof e.constructor&&e.name===n.name&&e.nullable===n.nullable&&this.visit(e.type,n.type)}}function jn(t,e){return e instanceof t.constructor}function lc(t,e){return t===e||jn(t,e)}function Ji(t,e){return t===e||jn(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function Uh(t,e){return t===e||jn(t,e)&&t.precision===e.precision}function lj(t,e){return t===e||jn(t,e)&&t.byteWidth===e.byteWidth}function k0(t,e){return t===e||jn(t,e)&&t.unit===e.unit}function cc(t,e){return t===e||jn(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function fc(t,e){return t===e||jn(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function cj(t,e){return t===e||jn(t,e)&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function fj(t,e){return t===e||jn(t,e)&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function D0(t,e){return t===e||jn(t,e)&&t.mode===e.mode&&t.typeIds.every((n,r)=>n===e.typeIds[r])&&$s.compareManyFields(t.children,e.children)}function dj(t,e){return t===e||jn(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&$s.visit(t.indices,e.indices)&&$s.visit(t.dictionary,e.dictionary)}function x0(t,e){return t===e||jn(t,e)&&t.unit===e.unit}function hj(t,e){return t===e||jn(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function pj(t,e){return t===e||jn(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}Ie.prototype.visitNull=lc;Ie.prototype.visitBool=lc;Ie.prototype.visitInt=Ji;Ie.prototype.visitInt8=Ji;Ie.prototype.visitInt16=Ji;Ie.prototype.visitInt32=Ji;Ie.prototype.visitInt64=Ji;Ie.prototype.visitUint8=Ji;Ie.prototype.visitUint16=Ji;Ie.prototype.visitUint32=Ji;Ie.prototype.visitUint64=Ji;Ie.prototype.visitFloat=Uh;Ie.prototype.visitFloat16=Uh;Ie.prototype.visitFloat32=Uh;Ie.prototype.visitFloat64=Uh;Ie.prototype.visitUtf8=lc;Ie.prototype.visitBinary=lc;Ie.prototype.visitFixedSizeBinary=lj;Ie.prototype.visitDate=k0;Ie.prototype.visitDateDay=k0;Ie.prototype.visitDateMillisecond=k0;Ie.prototype.visitTimestamp=cc;Ie.prototype.visitTimestampSecond=cc;Ie.prototype.visitTimestampMillisecond=cc;Ie.prototype.visitTimestampMicrosecond=cc;Ie.prototype.visitTimestampNanosecond=cc;Ie.prototype.visitTime=fc;Ie.prototype.visitTimeSecond=fc;Ie.prototype.visitTimeMillisecond=fc;Ie.prototype.visitTimeMicrosecond=fc;Ie.prototype.visitTimeNanosecond=fc;Ie.prototype.visitDecimal=lc;Ie.prototype.visitList=cj;Ie.prototype.visitStruct=fj;Ie.prototype.visitUnion=D0;Ie.prototype.visitDenseUnion=D0;Ie.prototype.visitSparseUnion=D0;Ie.prototype.visitDictionary=dj;Ie.prototype.visitInterval=x0;Ie.prototype.visitIntervalDayTime=x0;Ie.prototype.visitIntervalYearMonth=x0;Ie.prototype.visitFixedSizeList=hj;Ie.prototype.visitMap=pj;const $s=new Ie;function pv(t,e){return $s.compareSchemas(t,e)}function Dm(t,e){return mj(t,e.map(n=>n.data.concat()))}function mj(t,e){const n=[...t.fields],r=[],i={numBatches:e.reduce((m,y)=>Math.max(m,y.length),0)};let s=0,o=0,a=-1;const l=e.length;let f,h=[];for(;i.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a0&&(r[s++]=Ne({type:new pn(n),length:o,nullCount:0,children:h.slice()})))}return[t=t.assign(n),r.map(m=>new En(t,m))]}function yj(t,e,n,r,i){var s;const o=(e+63&-64)>>3;for(let a=-1,l=r.length;++a=e)h===e?n[a]=f:(n[a]=f.slice(0,e),i.numBatches=Math.max(i.numBatches,r[a].unshift(f.slice(e,h-e))));else{const m=t[a];t[a]=m.clone({nullable:!0}),n[a]=(s=f==null?void 0:f._changeLengthAndBackfillNullBitmap(e))!==null&&s!==void 0?s:Ne({type:m.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)})}}return n}var tx;class hn{constructor(...e){var n,r;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let i,s;e[0]instanceof We&&(i=e.shift()),e[e.length-1]instanceof Uint32Array&&(s=e.pop());const o=l=>{if(l){if(l instanceof En)return[l];if(l instanceof hn)return l.batches;if(l instanceof at){if(l.type instanceof pn)return[new En(new We(l.type.children),l)]}else{if(Array.isArray(l))return l.flatMap(f=>o(f));if(typeof l[Symbol.iterator]=="function")return[...l].flatMap(f=>o(f));if(typeof l=="object"){const f=Object.keys(l),h=f.map(w=>new Ke([l[w]])),m=new We(f.map((w,I)=>new yt(String(w),h[I].type))),[,y]=Dm(m,h);return y.length===0?[new En(l)]:y}}}return[]},a=e.flatMap(l=>o(l));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new We([]),!(i instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const l of a){if(!(l instanceof En))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!pv(i,l.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=s??jD(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,n)=>e+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=$D(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}getByteLength(e){return 0}[Symbol.iterator](){return this.batches.length>0?I0.visit(new Ke(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ + */var s0=n3,Lr=typeof Symbol=="function"&&Symbol.for,ic=Lr?Symbol.for("react.element"):60103,r3=Lr?Symbol.for("react.portal"):60106,i3=Lr?Symbol.for("react.fragment"):60107,s3=Lr?Symbol.for("react.strict_mode"):60108,o3=Lr?Symbol.for("react.profiler"):60114,a3=Lr?Symbol.for("react.provider"):60109,u3=Lr?Symbol.for("react.context"):60110,l3=Lr?Symbol.for("react.forward_ref"):60112,c3=Lr?Symbol.for("react.suspense"):60113,f3=Lr?Symbol.for("react.memo"):60115,d3=Lr?Symbol.for("react.lazy"):60116,d1=typeof Symbol=="function"&&Symbol.iterator;function sc(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;nDd.length&&Dd.push(t)}function rv(t,e,n,r){var i=typeof t;(i==="undefined"||i==="boolean")&&(t=null);var s=!1;if(t===null)s=!0;else switch(i){case"string":case"number":s=!0;break;case"object":switch(t.$$typeof){case ic:case r3:s=!0}}if(s)return n(r,t,e===""?"."+Sm(t,0):e),1;if(s=0,e=e===""?".":e+":",Array.isArray(t))for(var o=0;ow3.decode(t),_3=new TextEncoder,c0=t=>_3.encode(t),[b4,b3]=(()=>{const t=()=>{throw new Error("BigInt is not available in this environment")};function e(){throw t()}return e.asIntN=()=>{throw t()},e.asUintN=()=>{throw t()},typeof BigInt<"u"?[BigInt,!0]:[e,!1]})(),[oc,S4]=(()=>{const t=()=>{throw new Error("BigInt64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigInt64Array<"u"?[BigInt64Array,!0]:[e,!1]})(),[ac,I4]=(()=>{const t=()=>{throw new Error("BigUint64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigUint64Array<"u"?[BigUint64Array,!0]:[e,!1]})(),S3=t=>typeof t=="number",Pk=t=>typeof t=="boolean",Ut=t=>typeof t=="function",Nn=t=>t!=null&&Object(t)===t,Ms=t=>Nn(t)&&Ut(t.then),uc=t=>Nn(t)&&Ut(t[Symbol.iterator]),fu=t=>Nn(t)&&Ut(t[Symbol.asyncIterator]),av=t=>Nn(t)&&Nn(t.schema),Rk=t=>Nn(t)&&"done"in t&&"value"in t,Tk=t=>Nn(t)&&Ut(t.stat)&&S3(t.fd),Mk=t=>Nn(t)&&f0(t.body),$h=t=>"_getDOMStream"in t&&"_getNodeStream"in t,I3=t=>Nn(t)&&Ut(t.abort)&&Ut(t.getWriter)&&!$h(t),f0=t=>Nn(t)&&Ut(t.cancel)&&Ut(t.getReader)&&!$h(t),E3=t=>Nn(t)&&Ut(t.end)&&Ut(t.write)&&Pk(t.writable)&&!$h(t),Nk=t=>Nn(t)&&Ut(t.read)&&Ut(t.pipe)&&Pk(t.readable)&&!$h(t),O3=t=>Nn(t)&&Ut(t.clear)&&Ut(t.bytes)&&Ut(t.position)&&Ut(t.setPosition)&&Ut(t.capacity)&&Ut(t.getBufferIdentifier)&&Ut(t.createLong),d0=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function k3(t){const e=t[0]?[t[0]]:[];let n,r,i,s;for(let o,a,l=0,f=0,h=t.length;++lh+m.byteLength,0);let i,s,o,a=0,l=-1;const f=Math.min(e||Number.POSITIVE_INFINITY,r);for(const h=n.length;++lrt(Int32Array,t),Ue=t=>rt(Uint8Array,t),uv=t=>(t.next(),t);function*D3(t,e){const n=function*(i){yield i},r=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof d0?n(e):uc(e)?e:n(e);return yield*uv(function*(i){let s=null;do s=i.next(yield rt(t,s));while(!s.done)}(r[Symbol.iterator]())),new t}const x3=t=>D3(Uint8Array,t);function Bk(t,e){return Dr(this,arguments,function*(){if(Ms(e))return yield ge(yield ge(yield*Df(Ds(Bk(t,yield ge(e))))));const r=function(o){return Dr(this,arguments,function*(){yield yield ge(yield ge(o))})},i=function(o){return Dr(this,arguments,function*(){yield ge(yield*Df(Ds(uv(function*(a){let l=null;do l=a.next(yield l==null?void 0:l.value);while(!l.done)}(o[Symbol.iterator]())))))})},s=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof d0?r(e):uc(e)?i(e):fu(e)?e:r(e);return yield ge(yield*Df(Ds(uv(function(o){return Dr(this,arguments,function*(){let a=null;do a=yield ge(o.next(yield yield ge(rt(t,a))));while(!a.done)})}(s[Symbol.asyncIterator]()))))),yield ge(new t)})}const C3=t=>Bk(Uint8Array,t);function h0(t,e,n){if(t!==0){n=n.slice(0,e+1);for(let r=-1;++r<=e;)n[r]+=t}return n}function A3(t,e){let n=0;const r=t.length;if(r!==e.length)return!1;if(r>0)do if(t[n]!==e[n])return!1;while(++n(t.next(),t);function*P3(t){let e,n=!1,r=[],i,s,o,a=0;function l(){return s==="peek"?fi(r,o)[0]:([i,r,a]=fi(r,o),i)}({cmd:s,size:o}=yield null);const f=x3(t)[Symbol.iterator]();try{do if({done:e,value:i}=Number.isNaN(o-a)?f.next():f.next(o-a),!e&&i.byteLength>0&&(r.push(i),a+=i.byteLength),e||o<=a)do({cmd:s,size:o}=yield l());while(o0&&(i.push(s),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a0&&(i.push(Ue(s)),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return ve(this,void 0,void 0,function*(){const{reader:n,source:r}=this;n&&(yield n.cancel(e).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(e){return ve(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const n=yield this.reader.read();return!n.done&&(n.value=Ue(n)),n})}}const Im=(t,e)=>{const n=i=>r([e,i]);let r;return[e,n,new Promise(i=>(r=i)&&t.once(e,n))]};function N3(t){return Dr(this,arguments,function*(){const n=[];let r="error",i=!1,s=null,o,a,l=0,f=[],h;function m(){return o==="peek"?fi(f,a)[0]:([h,f,l]=fi(f,a),h)}if({cmd:o,size:a}=yield yield ge(null),t.isTTY)return yield yield ge(new Uint8Array(0)),yield ge(null);try{n[0]=Im(t,"end"),n[1]=Im(t,"error");do{if(n[2]=Im(t,"readable"),[r,s]=yield ge(Promise.race(n.map(w=>w[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-l)?(h=Ue(t.read(a-l)),h.byteLength0&&(f.push(h),l+=h.byteLength)),i||a<=l)do({cmd:o,size:a}=yield yield ge(m()));while(a{for(const[S,_]of w)t.off(S,_);try{const S=t.destroy;S&&S.call(t,I),I=void 0}catch(S){I=S||I}finally{I!=null?$(I):E()}})}})}var Yn;(function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"})(Yn||(Yn={}));var tr;(function(t){t[t.Sparse=0]="Sparse",t[t.Dense=1]="Dense"})(tr||(tr={}));var An;(function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"})(An||(An={}));var Hi;(function(t){t[t.DAY=0]="DAY",t[t.MILLISECOND=1]="MILLISECOND"})(Hi||(Hi={}));var ze;(function(t){t[t.SECOND=0]="SECOND",t[t.MILLISECOND=1]="MILLISECOND",t[t.MICROSECOND=2]="MICROSECOND",t[t.NANOSECOND=3]="NANOSECOND"})(ze||(ze={}));var Ns;(function(t){t[t.YEAR_MONTH=0]="YEAR_MONTH",t[t.DAY_TIME=1]="DAY_TIME",t[t.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(Ns||(Ns={}));var Ve;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var N;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"})(N||(N={}));var bi;(function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"})(bi||(bi={}));const B3=void 0;function Nl(t){if(t===null)return"null";if(t===B3)return"undefined";switch(typeof t){case"number":return`${t}`;case"bigint":return`${t}`;case"string":return`"${t}"`}return typeof t[Symbol.toPrimitive]=="function"?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?t instanceof oc||t instanceof ac?`[${[...t].map(e=>Nl(e))}]`:`[${t}]`:ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t,(e,n)=>typeof n=="bigint"?`${n}`:n)}const F3=Symbol.for("isArrowBigNum");function $r(t,...e){return e.length===0?Object.setPrototypeOf(rt(this.TypedArray,t),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(t,...e),this.constructor.prototype)}$r.prototype[F3]=!0;$r.prototype.toJSON=function(){return`"${xo(this)}"`};$r.prototype.valueOf=function(){return Fk(this)};$r.prototype.toString=function(){return xo(this)};$r.prototype[Symbol.toPrimitive]=function(t="default"){switch(t){case"number":return Fk(this);case"string":return xo(this);case"default":return lv(this)}return xo(this)};function xa(...t){return $r.apply(this,t)}function Ca(...t){return $r.apply(this,t)}function Bl(...t){return $r.apply(this,t)}Object.setPrototypeOf(xa.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(Ca.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Bl.prototype,Object.create(Uint32Array.prototype));Object.assign(xa.prototype,$r.prototype,{constructor:xa,signed:!0,TypedArray:Int32Array,BigIntArray:oc});Object.assign(Ca.prototype,$r.prototype,{constructor:Ca,signed:!1,TypedArray:Uint32Array,BigIntArray:ac});Object.assign(Bl.prototype,$r.prototype,{constructor:Bl,signed:!0,TypedArray:Uint32Array,BigIntArray:ac});function Fk(t){const{buffer:e,byteOffset:n,length:r,signed:i}=t,s=new ac(e,n,r),o=i&&s[s.length-1]&BigInt(1)<t.byteLength===8?new t.BigIntArray(t.buffer,t.byteOffset,1)[0]:Em(t),xo=t=>t.byteLength===8?`${new t.BigIntArray(t.buffer,t.byteOffset,1)[0]}`:Em(t)):(xo=Em,lv=xo);function Em(t){let e="";const n=new Uint32Array(2);let r=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2);const i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer);let s=-1;const o=r.length-1;do{for(n[0]=r[s=0];s(t.children=null,t.ArrayType=Array,t[Symbol.toStringTag]="DataType"))(we.prototype);let Bs=class extends we{toString(){return"Null"}get typeId(){return N.Null}};$k=Symbol.toStringTag;Bs[$k]=(t=>t[Symbol.toStringTag]="Null")(Bs.prototype);class Fs extends we{constructor(e,n){super(),this.isSigned=e,this.bitWidth=n}get typeId(){return N.Int}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?oc:ac}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}jk=Symbol.toStringTag;Fs[jk]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(Fs.prototype);class Fl extends Fs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Fl.prototype,"ArrayType",{value:Int32Array});class Ll extends we{constructor(e){super(),this.precision=e}get typeId(){return N.Float}get ArrayType(){switch(this.precision){case An.HALF:return Uint16Array;case An.SINGLE:return Float32Array;case An.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}Uk=Symbol.toStringTag;Ll[Uk]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(Ll.prototype);let xd=class extends we{constructor(){super()}get typeId(){return N.Binary}toString(){return"Binary"}};zk=Symbol.toStringTag;xd[zk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(xd.prototype);let Cd=class extends we{constructor(){super()}get typeId(){return N.Utf8}toString(){return"Utf8"}};Vk=Symbol.toStringTag;Cd[Vk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Cd.prototype);let Ad=class extends we{constructor(){super()}get typeId(){return N.Bool}toString(){return"Bool"}};Kk=Symbol.toStringTag;Ad[Kk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(Ad.prototype);let Pd=class extends we{constructor(e,n,r=128){super(),this.scale=e,this.precision=n,this.bitWidth=r}get typeId(){return N.Decimal}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};Wk=Symbol.toStringTag;Pd[Wk]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(Pd.prototype);class Rd extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Date}toString(){return`Date${(this.unit+1)*32}<${Hi[this.unit]}>`}}qk=Symbol.toStringTag;Rd[qk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Date"))(Rd.prototype);class $l extends we{constructor(e,n){super(),this.unit=e,this.bitWidth=n}get typeId(){return N.Time}toString(){return`Time${this.bitWidth}<${ze[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return oc}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Hk=Symbol.toStringTag;$l[Hk]=(t=>(t.unit=null,t.bitWidth=null,t[Symbol.toStringTag]="Time"))($l.prototype);class Td extends we{constructor(e,n){super(),this.unit=e,this.timezone=n}get typeId(){return N.Timestamp}toString(){return`Timestamp<${ze[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}Qk=Symbol.toStringTag;Td[Qk]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Timestamp"))(Td.prototype);class Md extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Interval}toString(){return`Interval<${Ns[this.unit]}>`}}Yk=Symbol.toStringTag;Md[Yk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(Md.prototype);let Nd=class extends we{constructor(e){super(),this.children=[e]}get typeId(){return N.List}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};Gk=Symbol.toStringTag;Nd[Gk]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(Nd.prototype);class pn extends we{constructor(e){super(),this.children=e}get typeId(){return N.Struct}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Jk=Symbol.toStringTag;pn[Jk]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(pn.prototype);class Bd extends we{constructor(e,n,r){super(),this.mode=e,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,s,o)=>(i[s]=o)&&i||i,Object.create(null))}get typeId(){return N.Union}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}Xk=Symbol.toStringTag;Bd[Xk]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(Bd.prototype);let Fd=class extends we{constructor(e){super(),this.byteWidth=e}get typeId(){return N.FixedSizeBinary}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};Zk=Symbol.toStringTag;Fd[Zk]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(Fd.prototype);let Ld=class extends we{constructor(e,n){super(),this.listSize=e,this.children=[n]}get typeId(){return N.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};eD=Symbol.toStringTag;Ld[eD]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(Ld.prototype);class $d extends we{constructor(e,n=!1){super(),this.children=[e],this.keysSorted=n}get typeId(){return N.Map}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}tD=Symbol.toStringTag;$d[tD]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))($d.prototype);const L3=(t=>()=>++t)(-1);class Ya extends we{constructor(e,n,r,i){super(),this.indices=n,this.dictionary=e,this.isOrdered=i||!1,this.id=r==null?L3():typeof r=="number"?r:r.low}get typeId(){return N.Dictionary}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}nD=Symbol.toStringTag;Ya[nD]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))(Ya.prototype);function Si(t){const e=t;switch(t.typeId){case N.Decimal:return t.bitWidth/32;case N.Timestamp:return 2;case N.Date:return 1+e.unit;case N.Interval:return 1+e.unit;case N.FixedSizeList:return e.listSize;case N.FixedSizeBinary:return e.byteWidth;default:return 1}}class Be{visitMany(e,...n){return e.map((r,i)=>this.visit(r,...n.map(s=>s[i])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,n=!0){return $3(this,e,n)}getVisitFnByTypeId(e,n=!0){return sa(this,e,n)}visitNull(e,...n){return null}visitBool(e,...n){return null}visitInt(e,...n){return null}visitFloat(e,...n){return null}visitUtf8(e,...n){return null}visitBinary(e,...n){return null}visitFixedSizeBinary(e,...n){return null}visitDate(e,...n){return null}visitTimestamp(e,...n){return null}visitTime(e,...n){return null}visitDecimal(e,...n){return null}visitList(e,...n){return null}visitStruct(e,...n){return null}visitUnion(e,...n){return null}visitDictionary(e,...n){return null}visitInterval(e,...n){return null}visitFixedSizeList(e,...n){return null}visitMap(e,...n){return null}}function $3(t,e,n=!0){return typeof e=="number"?sa(t,e,n):typeof e=="string"&&e in N?sa(t,N[e],n):e&&e instanceof we?sa(t,p1(e),n):e!=null&&e.type&&e.type instanceof we?sa(t,p1(e.type),n):sa(t,N.NONE,n)}function sa(t,e,n=!0){let r=null;switch(e){case N.Null:r=t.visitNull;break;case N.Bool:r=t.visitBool;break;case N.Int:r=t.visitInt;break;case N.Int8:r=t.visitInt8||t.visitInt;break;case N.Int16:r=t.visitInt16||t.visitInt;break;case N.Int32:r=t.visitInt32||t.visitInt;break;case N.Int64:r=t.visitInt64||t.visitInt;break;case N.Uint8:r=t.visitUint8||t.visitInt;break;case N.Uint16:r=t.visitUint16||t.visitInt;break;case N.Uint32:r=t.visitUint32||t.visitInt;break;case N.Uint64:r=t.visitUint64||t.visitInt;break;case N.Float:r=t.visitFloat;break;case N.Float16:r=t.visitFloat16||t.visitFloat;break;case N.Float32:r=t.visitFloat32||t.visitFloat;break;case N.Float64:r=t.visitFloat64||t.visitFloat;break;case N.Utf8:r=t.visitUtf8;break;case N.Binary:r=t.visitBinary;break;case N.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case N.Date:r=t.visitDate;break;case N.DateDay:r=t.visitDateDay||t.visitDate;break;case N.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case N.Timestamp:r=t.visitTimestamp;break;case N.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case N.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case N.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case N.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case N.Time:r=t.visitTime;break;case N.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case N.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case N.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case N.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case N.Decimal:r=t.visitDecimal;break;case N.List:r=t.visitList;break;case N.Struct:r=t.visitStruct;break;case N.Union:r=t.visitUnion;break;case N.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case N.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case N.Dictionary:r=t.visitDictionary;break;case N.Interval:r=t.visitInterval;break;case N.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case N.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case N.FixedSizeList:r=t.visitFixedSizeList;break;case N.Map:r=t.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${N[e]}'`)}function p1(t){switch(t.typeId){case N.Null:return N.Null;case N.Int:{const{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?N.Int8:N.Uint8;case 16:return n?N.Int16:N.Uint16;case 32:return n?N.Int32:N.Uint32;case 64:return n?N.Int64:N.Uint64}return N.Int}case N.Float:switch(t.precision){case An.HALF:return N.Float16;case An.SINGLE:return N.Float32;case An.DOUBLE:return N.Float64}return N.Float;case N.Binary:return N.Binary;case N.Utf8:return N.Utf8;case N.Bool:return N.Bool;case N.Decimal:return N.Decimal;case N.Time:switch(t.unit){case ze.SECOND:return N.TimeSecond;case ze.MILLISECOND:return N.TimeMillisecond;case ze.MICROSECOND:return N.TimeMicrosecond;case ze.NANOSECOND:return N.TimeNanosecond}return N.Time;case N.Timestamp:switch(t.unit){case ze.SECOND:return N.TimestampSecond;case ze.MILLISECOND:return N.TimestampMillisecond;case ze.MICROSECOND:return N.TimestampMicrosecond;case ze.NANOSECOND:return N.TimestampNanosecond}return N.Timestamp;case N.Date:switch(t.unit){case Hi.DAY:return N.DateDay;case Hi.MILLISECOND:return N.DateMillisecond}return N.Date;case N.Interval:switch(t.unit){case Ns.DAY_TIME:return N.IntervalDayTime;case Ns.YEAR_MONTH:return N.IntervalYearMonth}return N.Interval;case N.Map:return N.Map;case N.List:return N.List;case N.Struct:return N.Struct;case N.Union:switch(t.mode){case tr.Dense:return N.DenseUnion;case tr.Sparse:return N.SparseUnion}return N.Union;case N.FixedSizeBinary:return N.FixedSizeBinary;case N.FixedSizeList:return N.FixedSizeList;case N.Dictionary:return N.Dictionary}throw new Error(`Unrecognized type '${N[t.typeId]}'`)}Be.prototype.visitInt8=null;Be.prototype.visitInt16=null;Be.prototype.visitInt32=null;Be.prototype.visitInt64=null;Be.prototype.visitUint8=null;Be.prototype.visitUint16=null;Be.prototype.visitUint32=null;Be.prototype.visitUint64=null;Be.prototype.visitFloat16=null;Be.prototype.visitFloat32=null;Be.prototype.visitFloat64=null;Be.prototype.visitDateDay=null;Be.prototype.visitDateMillisecond=null;Be.prototype.visitTimestampSecond=null;Be.prototype.visitTimestampMillisecond=null;Be.prototype.visitTimestampMicrosecond=null;Be.prototype.visitTimestampNanosecond=null;Be.prototype.visitTimeSecond=null;Be.prototype.visitTimeMillisecond=null;Be.prototype.visitTimeMicrosecond=null;Be.prototype.visitTimeNanosecond=null;Be.prototype.visitDenseUnion=null;Be.prototype.visitSparseUnion=null;Be.prototype.visitIntervalDayTime=null;Be.prototype.visitIntervalYearMonth=null;const rD=new Float64Array(1),na=new Uint32Array(rD.buffer);function iD(t){const e=(t&31744)>>10,n=(t&1023)/1024,r=Math.pow(-1,(t&32768)>>15);switch(e){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}function j3(t){if(t!==t)return 32256;rD[0]=t;const e=(na[1]&2147483648)>>16&65535;let n=na[1]&2146435072,r=0;return n>=1089470464?na[0]>0?n=31744:(n=(n&2080374784)>>16,r=(na[1]&1048575)>>10):n<=1056964608?(r=1048576+(na[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(na[1]&1048575)+512>>10),e|n|r&65535}class Ee extends Be{}function xe(t){return(e,n,r)=>{if(e.setValid(n,r!=null))return t(e,n,r)}}const U3=(t,e,n)=>{t[e]=Math.trunc(n/864e5)},m0=(t,e,n)=>{t[e]=Math.trunc(n%4294967296),t[e+1]=Math.trunc(n/4294967296)},z3=(t,e,n)=>{t[e]=Math.trunc(n*1e3%4294967296),t[e+1]=Math.trunc(n*1e3/4294967296)},V3=(t,e,n)=>{t[e]=Math.trunc(n*1e6%4294967296),t[e+1]=Math.trunc(n*1e6/4294967296)},sD=(t,e,n,r)=>{if(n+1{const i=t+n;r?e[i>>3]|=1<>3]&=~(1<{t[e]=n},y0=({values:t},e,n)=>{t[e]=n},oD=({values:t},e,n)=>{t[e]=j3(n)},W3=(t,e,n)=>{switch(t.type.precision){case An.HALF:return oD(t,e,n);case An.SINGLE:case An.DOUBLE:return y0(t,e,n)}},aD=({values:t},e,n)=>{U3(t,e,n.valueOf())},uD=({values:t},e,n)=>{m0(t,e*2,n.valueOf())},q3=({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)},H3=({values:t,valueOffsets:e},n,r)=>sD(t,e,n,r),Q3=({values:t,valueOffsets:e},n,r)=>{sD(t,e,n,c0(r))},Y3=(t,e,n)=>{t.type.unit===Hi.DAY?aD(t,e,n):uD(t,e,n)},lD=({values:t},e,n)=>m0(t,e*2,n/1e3),cD=({values:t},e,n)=>m0(t,e*2,n),fD=({values:t},e,n)=>z3(t,e*2,n),dD=({values:t},e,n)=>V3(t,e*2,n),G3=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return lD(t,e,n);case ze.MILLISECOND:return cD(t,e,n);case ze.MICROSECOND:return fD(t,e,n);case ze.NANOSECOND:return dD(t,e,n)}},hD=({values:t},e,n)=>{t[e]=n},pD=({values:t},e,n)=>{t[e]=n},mD=({values:t},e,n)=>{t[e]=n},yD=({values:t},e,n)=>{t[e]=n},J3=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return hD(t,e,n);case ze.MILLISECOND:return pD(t,e,n);case ze.MICROSECOND:return mD(t,e,n);case ze.NANOSECOND:return yD(t,e,n)}},X3=({values:t,stride:e},n,r)=>{t.set(r.subarray(0,e),e*n)},Z3=(t,e,n)=>{const r=t.children[0],i=t.valueOffsets,s=_r.getVisitFn(r);if(Array.isArray(n))for(let o=-1,a=i[e],l=i[e+1];a{const r=t.children[0],{valueOffsets:i}=t,s=_r.getVisitFn(r);let{[e]:o,[e+1]:a}=i;const l=n instanceof Map?n.entries():Object.entries(n);for(const f of l)if(s(r,o,f),++o>=a)break},t$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[s]),n$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(s)),r$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(i.name)),i$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[i.name]),s$=(t,e,n)=>{const r=t.type.children.map(s=>_r.getVisitFn(s.type)),i=n instanceof Map?r$(e,n):n instanceof Ke?n$(e,n):Array.isArray(n)?t$(e,n):i$(e,n);t.type.children.forEach((s,o)=>i(r[o],t.children[o],s,o))},o$=(t,e,n)=>{t.type.mode===tr.Dense?vD(t,e,n):gD(t,e,n)},vD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];_r.visit(i,t.valueOffsets[e],n)},gD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];_r.visit(i,e,n)},a$=(t,e,n)=>{var r;(r=t.dictionary)===null||r===void 0||r.set(t.values[e],n)},u$=(t,e,n)=>{t.type.unit===Ns.DAY_TIME?wD(t,e,n):_D(t,e,n)},wD=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},_D=({values:t},e,n)=>{t[e]=n[0]*12+n[1]%12},l$=(t,e,n)=>{const{stride:r}=t,i=t.children[0],s=_r.getVisitFn(i);if(Array.isArray(n))for(let o=-1,a=e*r;++o`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new c$(this[Or],this[Aa])}}class c${constructor(e,n){this.childIndex=0,this.children=e.children,this.rowIndex=n,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return en.name)}has(e,n){return e[Or].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(e,n){if(e[Or].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Or].type.children.findIndex(i=>i.name===n);if(r!==-1){const i=Bn.visit(e[Or].children[r],e[Aa]);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Or].type.children.findIndex(s=>s.name===n);return i!==-1?(_r.visit(e[Or].children[i],e[Aa],r),Reflect.set(e,n,r)):Reflect.has(e,n)||typeof n=="symbol"?Reflect.set(e,n,r):!1}}class _e extends Be{}function Oe(t){return(e,n)=>e.getValid(n)?t(e,n):null}const d$=(t,e)=>864e5*t[e],g0=(t,e)=>4294967296*t[e+1]+(t[e]>>>0),h$=(t,e)=>4294967296*(t[e+1]/1e3)+(t[e]>>>0)/1e3,p$=(t,e)=>4294967296*(t[e+1]/1e6)+(t[e]>>>0)/1e6,bD=t=>new Date(t),m$=(t,e)=>bD(d$(t,e)),y$=(t,e)=>bD(g0(t,e)),v$=(t,e)=>null,SD=(t,e,n)=>{if(n+1>=e.length)return null;const r=e[n],i=e[n+1];return t.subarray(r,i)},g$=({offset:t,values:e},n)=>{const r=t+n;return(e[r>>3]&1<m$(t,e),ED=({values:t},e)=>y$(t,e*2),Hs=({stride:t,values:e},n)=>e[t*n],w$=({stride:t,values:e},n)=>iD(e[t*n]),OD=({values:t},e)=>t[e],_$=({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)),b$=({values:t,valueOffsets:e},n)=>SD(t,e,n),S$=({values:t,valueOffsets:e},n)=>{const r=SD(t,e,n);return r!==null?ov(r):null},I$=({values:t},e)=>t[e],E$=({type:t,values:e},n)=>t.precision!==An.HALF?e[n]:iD(e[n]),O$=(t,e)=>t.type.unit===Hi.DAY?ID(t,e):ED(t,e),kD=({values:t},e)=>1e3*g0(t,e*2),DD=({values:t},e)=>g0(t,e*2),xD=({values:t},e)=>h$(t,e*2),CD=({values:t},e)=>p$(t,e*2),k$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return kD(t,e);case ze.MILLISECOND:return DD(t,e);case ze.MICROSECOND:return xD(t,e);case ze.NANOSECOND:return CD(t,e)}},AD=({values:t},e)=>t[e],PD=({values:t},e)=>t[e],RD=({values:t},e)=>t[e],TD=({values:t},e)=>t[e],D$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return AD(t,e);case ze.MILLISECOND:return PD(t,e);case ze.MICROSECOND:return RD(t,e);case ze.NANOSECOND:return TD(t,e)}},x$=({values:t,stride:e},n)=>p0.decimal(t.subarray(e*n,e*(n+1))),C$=(t,e)=>{const{valueOffsets:n,stride:r,children:i}=t,{[e*r]:s,[e*r+1]:o}=n,l=i[0].slice(s,o-s);return new Ke([l])},A$=(t,e)=>{const{valueOffsets:n,children:r}=t,{[e]:i,[e+1]:s}=n,o=r[0];return new w0(o.slice(i,s-i))},P$=(t,e)=>new v0(t,e),R$=(t,e)=>t.type.mode===tr.Dense?MD(t,e):ND(t,e),MD=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Bn.visit(r,t.valueOffsets[e])},ND=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Bn.visit(r,e)},T$=(t,e)=>{var n;return(n=t.dictionary)===null||n===void 0?void 0:n.get(t.values[e])},M$=(t,e)=>t.type.unit===Ns.DAY_TIME?BD(t,e):FD(t,e),BD=({values:t},e)=>t.subarray(2*e,2*(e+1)),FD=({values:t},e)=>{const n=t[e],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},N$=(t,e)=>{const{stride:n,children:r}=t,s=r[0].slice(e*n,n);return new Ke([s])};_e.prototype.visitNull=Oe(v$);_e.prototype.visitBool=Oe(g$);_e.prototype.visitInt=Oe(I$);_e.prototype.visitInt8=Oe(Hs);_e.prototype.visitInt16=Oe(Hs);_e.prototype.visitInt32=Oe(Hs);_e.prototype.visitInt64=Oe(OD);_e.prototype.visitUint8=Oe(Hs);_e.prototype.visitUint16=Oe(Hs);_e.prototype.visitUint32=Oe(Hs);_e.prototype.visitUint64=Oe(OD);_e.prototype.visitFloat=Oe(E$);_e.prototype.visitFloat16=Oe(w$);_e.prototype.visitFloat32=Oe(Hs);_e.prototype.visitFloat64=Oe(Hs);_e.prototype.visitUtf8=Oe(S$);_e.prototype.visitBinary=Oe(b$);_e.prototype.visitFixedSizeBinary=Oe(_$);_e.prototype.visitDate=Oe(O$);_e.prototype.visitDateDay=Oe(ID);_e.prototype.visitDateMillisecond=Oe(ED);_e.prototype.visitTimestamp=Oe(k$);_e.prototype.visitTimestampSecond=Oe(kD);_e.prototype.visitTimestampMillisecond=Oe(DD);_e.prototype.visitTimestampMicrosecond=Oe(xD);_e.prototype.visitTimestampNanosecond=Oe(CD);_e.prototype.visitTime=Oe(D$);_e.prototype.visitTimeSecond=Oe(AD);_e.prototype.visitTimeMillisecond=Oe(PD);_e.prototype.visitTimeMicrosecond=Oe(RD);_e.prototype.visitTimeNanosecond=Oe(TD);_e.prototype.visitDecimal=Oe(x$);_e.prototype.visitList=Oe(C$);_e.prototype.visitStruct=Oe(P$);_e.prototype.visitUnion=Oe(R$);_e.prototype.visitDenseUnion=Oe(MD);_e.prototype.visitSparseUnion=Oe(ND);_e.prototype.visitDictionary=Oe(T$);_e.prototype.visitInterval=Oe(M$);_e.prototype.visitIntervalDayTime=Oe(BD);_e.prototype.visitIntervalYearMonth=Oe(FD);_e.prototype.visitFixedSizeList=Oe(N$);_e.prototype.visitMap=Oe(A$);const Bn=new _e,Zr=Symbol.for("keys"),Pa=Symbol.for("vals");class w0{constructor(e){return this[Zr]=new Ke([e.children[0]]).memoize(),this[Pa]=e.children[1],new Proxy(this,new F$)}[Symbol.iterator](){return new B$(this[Zr],this[Pa])}get size(){return this[Zr].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[Zr],n=this[Pa],r={};for(let i=-1,s=e.length;++i`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class B${constructor(e,n){this.keys=e,this.vals=n,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Bn.visit(this.vals,e)]})}}class F${isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[Zr].toArray().map(String)}has(e,n){return e[Zr].includes(n)}getOwnPropertyDescriptor(e,n){if(e[Zr].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Zr].indexOf(n);if(r!==-1){const i=Bn.visit(Reflect.get(e,Pa),r);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Zr].indexOf(n);return i!==-1?(_r.visit(Reflect.get(e,Pa),i,r),Reflect.set(e,n,r)):Reflect.has(e,n)?Reflect.set(e,n,r):!1}}Object.defineProperties(w0.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[Zr]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Pa]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let m1;function LD(t,e,n,r){const{length:i=0}=t;let s=typeof e!="number"?0:e,o=typeof n!="number"?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(t,s,o):[s,o]}const y1=t=>t!==t;function du(t){if(typeof t!=="object"||t===null)return y1(t)?y1:n=>n===t;if(t instanceof Date){const n=t.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(t)?n=>n?A3(t,n):!1:t instanceof Map?$$(t):Array.isArray(t)?L$(t):t instanceof Ke?j$(t):U$(t,!0)}function L$(t){const e=[];for(let n=-1,r=t.length;++n!1;const r=[];for(let i=-1,s=n.length;++i{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return z$(t,n);case Map:return v1(t,n,n.keys());case w0:case v0:case Object:case void 0:return v1(t,n,e||Object.keys(n))}return n instanceof Ke?V$(t,n):!1}}function z$(t,e){const n=t.length;if(e.length!==n)return!1;for(let r=-1;++r>r}function _0(t,e,n){const r=n.byteLength+7&-8;if(t>0||n.byteLength>3):jd(new b0(n,t,e,null,$D)).subarray(0,r)),i}return n}function jd(t){const e=[];let n=0,r=0,i=0;for(const o of t)o&&(i|=1<0)&&(e[n++]=i);const s=new Uint8Array(e.length+7&-8);return s.set(e),s}class b0{constructor(e,n,r,i,s){this.bytes=e,this.length=r,this.context=i,this.get=s,this.bit=n%8,this.byteIndex=n>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=e+(e%8===0?0:8-e%8);return cv(t,e,i)+cv(t,r,n)+W$(t,i>>3,r-i>>3)}function W$(t,e,n){let r=0,i=Math.trunc(e);const s=new DataView(t.buffer,t.byteOffset,t.byteLength),o=n===void 0?t.byteLength:i+n;for(;o-i>=4;)r+=Om(s.getUint32(i)),i+=4;for(;o-i>=2;)r+=Om(s.getUint16(i)),i+=2;for(;o-i>=1;)r+=Om(s.getUint8(i)),i+=1;return r}function Om(t){let e=Math.trunc(t);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const q$=-1;class at{constructor(e,n,r,i,s,o=[],a){this.type=e,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let l;s instanceof at?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=Si(e),s&&((l=s[0])&&(this.valueOffsets=l),(l=s[1])&&(this.values=l),(l=s[2])&&(this.nullBitmap=l),(l=s[3])&&(this.typeIds=l))),this.nullable=this._nullCount!==0&&this.nullBitmap&&this.nullBitmap.byteLength>0}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get byteLength(){let e=0;const{valueOffsets:n,values:r,nullBitmap:i,typeIds:s}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,e)}get nullCount(){let e=this._nullCount,n;return e<=q$&&(n=this.nullBitmap)&&(this._nullCount=e=this.length-cv(n,this.offset,this.offset+this.length)),e}getValid(e){if(this.nullable&&this.nullCount>0){const n=this.offset+e;return(this.nullBitmap[n>>3]&1<>3){const{nullBitmap:l}=this._changeLengthAndBackfillNullBitmap(this.length);Object.assign(this,{nullBitmap:l,_nullCount:0})}const{nullBitmap:r,offset:i}=this,s=i+e>>3,o=(i+e)%8,a=r[s]>>o&1;return n?a===0&&(r[s]|=1<>3).fill(255,0,n>>3);i[n>>3]=(1<0&&i.set(_0(this.offset,n,this.nullBitmap),0);const s=this.buffers;return s[bi.VALIDITY]=i,this.clone(this.type,0,e,r+(e-n),s)}_sliceBuffers(e,n,r,i){let s;const{buffers:o}=this;return(s=o[bi.TYPE])&&(o[bi.TYPE]=s.subarray(e,e+n)),(s=o[bi.OFFSET])&&(o[bi.OFFSET]=s.subarray(e,e+n+1))||(s=o[bi.DATA])&&(o[bi.DATA]=i===6?s:s.subarray(r*e,r*(e+n))),o}_sliceChildren(e,n,r){return e.map(i=>i.slice(n,r))}}at.prototype.children=Object.freeze([]);class ol extends Be{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:n,["offset"]:r=0,["length"]:i=0}=e;return new at(n,r,i,0)}visitBool(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length>>3,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitInt(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFloat(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitUtf8(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitFixedSizeBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDate(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTimestamp(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTime(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDecimal(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitList(e){const{["type"]:n,["offset"]:r=0,["child"]:i}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}visitStruct(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),{length:o=i.reduce((l,{length:f})=>Math.max(l,f),0),nullCount:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],i)}visitUnion(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),o=rt(n.ArrayType,e.typeIds),{["length"]:a=o.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;if(we.isSparseUnion(n))return new at(n,r,a,l,[void 0,void 0,s,o],i);const f=Fu(e.valueOffsets);return new at(n,r,a,l,[f,void 0,s,o],i)}visitDictionary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.indices.ArrayType,e.data),{["dictionary"]:o=new Ke([new ol().visit({type:n.dictionary})])}=e,{["length"]:a=s.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[void 0,s,i],[],o)}visitInterval(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFixedSizeList(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.valueType})}=e,s=Ue(e.nullBitmap),{["length"]:o=i.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],[i])}visitMap(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.childType})}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}}function Ne(t){return new ol().visit(t)}class g1{constructor(e=0,n){this.numChunks=e,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe+n.nullCount,0)}function UD(t){return t.reduce((e,n,r)=>(e[r+1]=e[r]+n.length,e),new Uint32Array(t.length+1))}function zD(t,e,n,r){const i=[];for(let s=-1,o=t.length;++s=r)break;if(n>=l+f)continue;if(l>=n&&l+f<=r){i.push(a);continue}const h=Math.max(0,n-l),m=Math.min(r-l,f);i.push(a.slice(h,m-h))}return i.length===0&&i.push(t[0].slice(0,0)),i}function S0(t,e,n,r){let i=0,s=0,o=e.length-1;do{if(i>=o-1)return n0?0:-1}function Q$(t,e){const{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(const i of new b0(n,t.offset+(e||0),t.length,n,$D)){if(!i)return r;++r}return-1}function Ae(t,e,n){if(e===void 0)return-1;if(e===null)return Q$(t,n);const r=Bn.getVisitFn(t),i=du(e);for(let s=(n||0)-1,o=t.length;++s{const i=t.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new g1(t.data.length,r=>{const s=t.data[r].length,o=t.slice(n,n+s);return n+=s,new Y$(o)})}class Y${constructor(e){this.vector=e,this.index=0}next(){return this.indext+e;class Qs extends Be{visitNull(e,n){return 0}visitInt(e,n){return e.type.bitWidth/8}visitFloat(e,n){return e.type.ArrayType.BYTES_PER_ELEMENT}visitBool(e,n){return 1/8}visitDecimal(e,n){return e.type.bitWidth/8}visitDate(e,n){return(e.type.unit+1)*4}visitTime(e,n){return e.type.bitWidth/8}visitTimestamp(e,n){return e.type.unit===ze.SECOND?4:8}visitInterval(e,n){return(e.type.unit+1)*4}visitStruct(e,n){return e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitFixedSizeBinary(e,n){return e.type.byteWidth}visitMap(e,n){return 8+e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitDictionary(e,n){var r;return e.type.indices.bitWidth/8+(((r=e.dictionary)===null||r===void 0?void 0:r.getByteLength(e.values[n]))||0)}}const J$=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),X$=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),Z$=({valueOffsets:t,stride:e,children:n},r)=>{const i=n[0],{[r*e]:s}=t,{[r*e+1]:o}=t,a=di.getVisitFn(i.type),l=i.slice(s,o-s);let f=8;for(let h=-1,m=o-s;++h{const r=e[0],i=r.slice(n*t,t),s=di.getVisitFn(r.type);let o=0;for(let a=-1,l=i.length;++at.type.mode===tr.Dense?qD(t,e):HD(t,e),qD=({type:t,children:e,typeIds:n,valueOffsets:r},i)=>{const s=t.typeIdToChildIndex[n[i]];return 8+di.visit(e[s],r[i])},HD=({children:t},e)=>4+di.visitMany(t,t.map(()=>e)).reduce(G$,0);Qs.prototype.visitUtf8=J$;Qs.prototype.visitBinary=X$;Qs.prototype.visitList=Z$;Qs.prototype.visitFixedSizeList=ej;Qs.prototype.visitUnion=tj;Qs.prototype.visitDenseUnion=qD;Qs.prototype.visitSparseUnion=HD;const di=new Qs;var QD;const YD={},GD={};class Ke{constructor(e){var n,r,i;const s=e[0]instanceof Ke?e.flatMap(a=>a.data):e;if(s.length===0||s.some(a=>!(a instanceof at)))throw new TypeError("Vector constructor expects an Array of Data instances.");const o=(n=s[0])===null||n===void 0?void 0:n.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{const{get:a,set:l,indexOf:f,byteLength:h}=YD[o.typeId],m=s[0];this.isValid=y=>I0(m,y),this.get=y=>a(m,y),this.set=(y,w)=>l(m,y,w),this.indexOf=y=>f(m,y),this.getByteLength=y=>h(m,y),this._offsets=[0,m.length];break}default:Object.setPrototypeOf(this,GD[o.typeId]),this._offsets=UD(s);break}this.data=s,this.type=o,this.stride=Si(o),this.numChildren=(i=(r=o.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets[this._offsets.length-1]}get byteLength(){return this._byteLength===-1&&(this._byteLength=this.data.reduce((e,n)=>e+n.byteLength,0)),this._byteLength}get nullCount(){return this._nullCount===-1&&(this._nullCount=jD(this.data)),this._nullCount}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${N[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}includes(e,n){return this.indexOf(e,n)>0}getByteLength(e){return 0}[Symbol.iterator](){return E0.visit(this)}concat(...e){return new Ke(this.data.concat(e.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(e,n){return new Ke(LD(this,e,n,({data:r,_offsets:i},s,o)=>zD(r,i,s,o)))}toJSON(){return[...this]}toArray(){const{type:e,data:n,length:r,stride:i,ArrayType:s}=this;switch(e.typeId){case N.Int:case N.Float:case N.Decimal:case N.Time:case N.Timestamp:switch(n.length){case 0:return new s;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((o,{values:a,length:l})=>(o.array.set(a.subarray(0,l*i),o.offset),o.offset+=l*i,o),{array:new s(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&en[e])):null}get isMemoized(){return we.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(we.isDictionary(this.type)){const e=new zd(this.data[0].dictionary),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return new zd(this)}unmemoize(){if(we.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return this}}QD=Symbol.toStringTag;Ke[QD]=(t=>{t.type=we.prototype,t.data=[],t.length=0,t.stride=1,t.numChildren=0,t._nullCount=-1,t._byteLength=-1,t._offsets=new Uint32Array([0]),t[Symbol.isConcatSpreadable]=!0;const e=Object.keys(N).map(n=>N[n]).filter(n=>typeof n=="number"&&n!==N.NONE);for(const n of e){const r=Bn.getVisitFnByTypeId(n),i=_r.getVisitFnByTypeId(n),s=Ud.getVisitFnByTypeId(n),o=di.getVisitFnByTypeId(n);YD[n]={get:r,set:i,indexOf:s,byteLength:o},GD[n]=Object.create(t,{isValid:{value:Ra(I0)},get:{value:Ra(Bn.getVisitFnByTypeId(n))},set:{value:VD(_r.getVisitFnByTypeId(n))},indexOf:{value:KD(Ud.getVisitFnByTypeId(n))},getByteLength:{value:Ra(di.getVisitFnByTypeId(n))}})}return"Vector"})(Ke.prototype);class zd extends Ke{constructor(e){super(e.data);const n=this.get,r=this.set,i=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){const a=s[o];if(a!==void 0)return a;const l=n.call(this,o);return s[o]=l,l}}),Object.defineProperty(this,"set",{value(o,a){r.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new zd(i.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Ke(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class fv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,n,r,i){return e.prep(8,24),e.writeInt64(i),e.pad(4),e.writeInt32(r),e.writeInt64(n),e.offset()}}const km=2,ei=4,ki=4,st=4,fs=new Int32Array(2),w1=new Float32Array(fs.buffer),_1=new Float64Array(fs.buffer),ff=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;let Ni=class dv{constructor(e,n){this.low=e|0,this.high=n|0}static create(e,n){return e==0&&n==0?dv.ZERO:new dv(e,n)}toFloat64(){return(this.low>>>0)+this.high*4294967296}equals(e){return this.low==e.low&&this.high==e.high}};Ni.ZERO=new Ni(0,0);var hv;(function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"})(hv||(hv={}));let Ga=class JD{constructor(e){this.bytes_=e,this.position_=0}static allocate(e){return new JD(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return new Ni(this.readInt32(e),this.readInt32(e+4))}readUint64(e){return new Ni(this.readUint32(e),this.readUint32(e+4))}readFloat32(e){return fs[0]=this.readInt32(e),w1[0]}readFloat64(e){return fs[ff?0:1]=this.readInt32(e),fs[ff?1:0]=this.readInt32(e+4),_1[0]}writeInt8(e,n){this.bytes_[e]=n}writeUint8(e,n){this.bytes_[e]=n}writeInt16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeUint16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeInt32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeUint32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeInt64(e,n){this.writeInt32(e,n.low),this.writeInt32(e+4,n.high)}writeUint64(e,n){this.writeUint32(e,n.low),this.writeUint32(e+4,n.high)}writeFloat32(e,n){w1[0]=n,this.writeInt32(e,fs[0])}writeFloat64(e,n){_1[0]=n,this.writeInt32(e,fs[ff?0:1]),this.writeInt32(e+4,fs[ff?1:0])}getBufferIdentifier(){if(this.bytes_.length>10)+55296,(o&1024-1)+56320))}return i}__union_with_string(e,n){return typeof e=="string"?this.__string(n):this.__union(e,n)}__indirect(e){return e+this.readInt32(e)}__vector(e){return e+this.readInt32(e)+ei}__vector_len(e){return this.readInt32(e+this.readInt32(e))}__has_identifier(e){if(e.length!=ki)throw new Error("FlatBuffers: file identifier must be length "+ki);for(let n=0;nthis.minalign&&(this.minalign=e);const r=~(this.bb.capacity()-this.space+n)+1&e-1;for(;this.space=0&&this.vtable[n]==0;n--);const r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?e-this.vtable[n]:0);const i=2;this.addInt16(e-this.object_start);const s=(r+i)*km;this.addInt16(s);let o=0;const a=this.space;e:for(n=0;n=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,ei+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,n){this.finish(e,n,!0)}requiredField(e,n){const r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(!(this.bb.readInt16(i+n)!=0))throw new Error("FlatBuffers: field "+n+" must be set")}startVector(e,n,r){this.notNested(),this.vector_num_elems=n,this.prep(ei,e*n),this.prep(r,e*n)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(e){if(!e)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(e))return this.string_maps.get(e);const n=this.createString(e);return this.string_maps.set(e,n),n}createString(e){if(!e)return 0;let n;if(e instanceof Uint8Array)n=e;else{n=[];let r=0;for(;r=56320)i=s;else{const o=e.charCodeAt(r++);i=(s<<10)+o+(65536-56623104-56320)}i<128?n.push(i):(i<2048?n.push(i>>6&31|192):(i<65536?n.push(i>>12&15|224):n.push(i>>18&7|240,i>>12&63|128),n.push(i>>6&63|128)),n.push(i&63|128))}}this.addInt8(0),this.startVector(1,n.length,1),this.bb.setPosition(this.space-=n.length);for(let r=0,i=this.space,s=this.bb.bytes();r=0;r--)e.addInt32(n[r]);return e.endVector()}static startTypeIdsVector(e,n){e.startVector(4,n,4)}static endUnion(e){return e.endObject()}static createUnion(e,n,r){return In.startUnion(e),In.addMode(e,n),In.addTypeIds(e,r),In.endUnion(e)}}class bo{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsUtf8(e,n){return(n||new bo).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,n){return e.setPosition(e.position()+st),(n||new bo).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return bo.startUtf8(e),bo.endUtf8(e)}}var _t;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.FloatingPoint=3]="FloatingPoint",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct_=13]="Struct_",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.LargeList=21]="LargeList"})(_t||(_t={}));let cr=class Ff{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsField(e,n){return(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,n){return e.setPosition(e.position()+st),(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}name(e){const n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):_t.NONE}type(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(e,this.bb_pos+n):null}dictionary(e){const n=this.bb.__offset(this.bb_pos,12);return n?(e||new Di).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(e,n){const r=this.bb.__offset(this.bb_pos,14);return r?(n||new Ff).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,16);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,n){e.addFieldOffset(0,n,0)}static addNullable(e,n){e.addFieldInt8(1,+n,0)}static addTypeType(e,n){e.addFieldInt8(2,n,_t.NONE)}static addType(e,n){e.addFieldOffset(3,n,0)}static addDictionary(e,n){e.addFieldOffset(4,n,0)}static addChildren(e,n){e.addFieldOffset(5,n,0)}static createChildrenVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startChildrenVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(6,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endField(e){return e.endObject()}},Hr=class wi{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsSchema(e,n){return(n||new wi).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,n){return e.setPosition(e.position()+st),(n||new wi).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Xa.Little}fields(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new cr).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+e*8):this.bb.createLong(0,0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,n){e.addFieldInt16(0,n,Xa.Little)}static addFields(e,n){e.addFieldOffset(1,n,0)}static createFieldsVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startFieldsVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(2,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static addFeatures(e,n){e.addFieldOffset(3,n,0)}static createFeaturesVector(e,n){e.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)e.addInt64(n[r]);return e.endVector()}static startFeaturesVector(e,n){e.startVector(8,n,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,n){e.finish(n)}static finishSizePrefixedSchemaBuffer(e,n){e.finish(n,void 0,!0)}static createSchema(e,n,r,i,s){return wi.startSchema(e),wi.addEndianness(e,n),wi.addFields(e,r),wi.addCustomMetadata(e,i),wi.addFeatures(e,s),wi.endSchema(e)}};class Kn{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsFooter(e,n){return(n||new Kn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,n){return e.setPosition(e.position()+st),(n||new Kn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ja.V1}schema(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Hr).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new fv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,n){const r=this.bb.__offset(this.bb_pos,10);return r?(n||new fv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ja.V1)}static addSchema(e,n){e.addFieldOffset(1,n,0)}static addDictionaries(e,n){e.addFieldOffset(2,n,0)}static startDictionariesVector(e,n){e.startVector(24,n,8)}static addRecordBatches(e,n){e.addFieldOffset(3,n,0)}static startRecordBatchesVector(e,n){e.startVector(24,n,8)}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,n){e.finish(n)}static finishSizePrefixedFooterBuffer(e,n){e.finish(n,void 0,!0)}}class We{constructor(e=[],n,r){this.fields=e||[],this.metadata=n||new Map,r||(r=pv(e)),this.dictionaries=r}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,n)=>`${n}: ${e}`).join(", ")} }>`}select(e){const n=new Set(e),r=this.fields.filter(i=>n.has(i.name));return new We(r,this.metadata)}selectAt(e){const n=e.map(r=>this.fields[r]).filter(Boolean);return new We(n,this.metadata)}assign(...e){const n=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),r=[...this.fields],i=df(df(new Map,this.metadata),n.metadata),s=n.fields.filter(a=>{const l=r.findIndex(f=>f.name===a.name);return~l?(r[l]=a.clone({metadata:df(df(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),o=pv(s,new Map);return new We([...r,...s],i,new Map([...this.dictionaries,...o]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class yt{constructor(e,n,r=!1,i){this.name=e,this.type=n,this.nullable=r,this.metadata=i||new Map}static new(...e){let[n,r,i,s]=e;return e[0]&&typeof e[0]=="object"&&({name:n}=e[0],r===void 0&&(r=e[0].type),i===void 0&&(i=e[0].nullable),s===void 0&&(s=e[0].metadata)),new yt(`${n}`,r,i,s)}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[n,r,i,s]=e;return!e[0]||typeof e[0]!="object"?[n=this.name,r=this.type,i=this.nullable,s=this.metadata]=e:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:s=this.metadata}=e[0],yt.new(n,r,i,s)}}yt.prototype.type=null;yt.prototype.name=null;yt.prototype.nullable=null;yt.prototype.metadata=null;function df(t,e){return new Map([...t||new Map,...e||new Map])}function pv(t,e=new Map){for(let n=-1,r=t.length;++n0&&pv(s.children,e)}return e}var b1=Ni,nj=XD,rj=Ga;class jl{constructor(e,n=Yn.V4,r,i){this.schema=e,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}static decode(e){e=new rj(Ue(e));const n=Kn.getRootAsFooter(e),r=We.decode(n.schema());return new ij(r,n)}static encode(e){const n=new nj,r=We.encode(n,e.schema);Kn.startRecordBatchesVector(n,e.numRecordBatches);for(const o of[...e.recordBatches()].slice().reverse())Ls.encode(n,o);const i=n.endVector();Kn.startDictionariesVector(n,e.numDictionaries);for(const o of[...e.dictionaryBatches()].slice().reverse())Ls.encode(n,o);const s=n.endVector();return Kn.startFooter(n),Kn.addSchema(n,r),Kn.addVersion(n,Yn.V4),Kn.addRecordBatches(n,i),Kn.addDictionaries(n,s),Kn.finishFooterBuffer(n,Kn.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}*recordBatches(){for(let e,n=-1,r=this.numRecordBatches;++n=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(St);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return fr.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return fr.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return ve(this,void 0,void 0,function*(){return yield this.abort(e),St})}return(e){return ve(this,void 0,void 0,function*(){return yield this.close(),St})}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(St)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class Lf extends sj{write(e){if((e=Ue(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?ov(this.toUint8Array(!0)):this.toUint8Array(!1).then(ov)}toUint8Array(e=!1){return e?fi(this._values)[0]:(()=>ve(this,void 0,void 0,function*(){var n,r;const i=[];let s=0;try{for(var o=Ds(this),a;a=yield o.next(),!a.done;){const l=a.value;i.push(l),s+=l.byteLength}}catch(l){n={error:l}}finally{try{a&&!a.done&&(r=o.return)&&(yield r.call(o))}finally{if(n)throw n.error}}return fi(i,s)[0]}))()}}class Qd{constructor(e){e&&(this.source=new oj(fr.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class eu{constructor(e){e instanceof eu?this.source=e.source:e instanceof Lf?this.source=new ao(fr.fromAsyncIterable(e)):Nk(e)?this.source=new ao(fr.fromNodeStream(e)):f0(e)?this.source=new ao(fr.fromDOMStream(e)):Mk(e)?this.source=new ao(fr.fromDOMStream(e.body)):uc(e)?this.source=new ao(fr.fromIterable(e)):Ms(e)?this.source=new ao(fr.fromAsyncIterable(e)):fu(e)&&(this.source=new ao(fr.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class oj{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,n="read"){return this.source.next({cmd:n,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||St)}return(e){return Object.create(this.source.return&&this.source.return(e)||St)}}class ao{constructor(e){this.source=e,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e,n="read"){return ve(this,void 0,void 0,function*(){return yield this.source.next({cmd:n,size:e})})}throw(e){return ve(this,void 0,void 0,function*(){const n=this.source.throw&&(yield this.source.throw(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(e){return ve(this,void 0,void 0,function*(){const n=this.source.return&&(yield this.source.return(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}}class I1 extends Qd{constructor(e,n){super(),this.position=0,this.buffer=Ue(e),this.size=typeof n>"u"?this.buffer.byteLength:n}readInt32(e){const{buffer:n,byteOffset:r}=this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),eve(this,void 0,void 0,function*(){this.size=(yield e.stat()).size,delete this._pending}))()}readInt32(e){return ve(this,void 0,void 0,function*(){const{buffer:n,byteOffset:r}=yield this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)})}seek(e){return ve(this,void 0,void 0,function*(){return this._pending&&(yield this._pending),this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let i=n[3]*r[3];this.buffer[0]=i&65535;let s=i>>>16;return i=n[2]*r[3],s+=i,i=n[3]*r[2]>>>0,s+=i,this.buffer[0]+=s<<16,this.buffer[1]=s>>>0>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(e){const n=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],n>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(e){return this.buffer[1]>>0,n[2]=this.buffer[2]+e.buffer[2]>>>0,n[1]=this.buffer[1]+e.buffer[1]>>>0,n[0]=this.buffer[0]+e.buffer[0]>>>0,n[0]>>0&&++n[1],n[1]>>0&&++n[2],n[2]>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${ba(this.buffer[3])} ${ba(this.buffer[2])} ${ba(this.buffer[1])} ${ba(this.buffer[0])}`}static multiply(e,n){return new Qr(new Uint32Array(e.buffer)).times(n)}static add(e,n){return new Qr(new Uint32Array(e.buffer)).plus(n)}static from(e,n=new Uint32Array(4)){return Qr.fromString(typeof e=="string"?e:e.toString(),n)}static fromNumber(e,n=new Uint32Array(4)){return Qr.fromString(e.toString(),n)}static fromString(e,n=new Uint32Array(4)){const r=e.startsWith("-"),i=e.length,s=new Qr(n);for(let o=r?1:0;o0&&this.readData(e,r)||new Uint8Array(0)}readOffsets(e,n){return this.readData(e,n)}readTypeIds(e,n){return this.readData(e,n)}readData(e,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(e){return this.dictionaries.get(e.id)}}class uj extends tx{constructor(e,n,r,i){super(new Uint8Array(0),n,r,i),this.sources=e}readNullBitmap(e,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):jd(this.sources[r])}readOffsets(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(Int32Array,this.sources[n]))}readTypeIds(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(e.ArrayType,this.sources[n]))}readData(e,{offset:n}=this.nextBufferRange()){const{sources:r}=this;return we.isTimestamp(e)||(we.isInt(e)||we.isTime(e))&&e.bitWidth===64||we.isDate(e)&&e.unit===Hi.MILLISECOND?rt(Uint8Array,_n.convertArray(r[n])):we.isDecimal(e)?rt(Uint8Array,Qr.convertArray(r[n])):we.isBinary(e)||we.isFixedSizeBinary(e)?lj(r[n]):we.isBool(e)?jd(r[n]):we.isUtf8(e)?c0(r[n].join("")):rt(Uint8Array,rt(e.ArrayType,r[n].map(i=>+i)))}}function lj(t){const e=t.join(""),n=new Uint8Array(e.length/2);for(let r=0;r>1]=Number.parseInt(e.slice(r,r+2),16);return n}class Ie extends Be{compareSchemas(e,n){return e===n||n instanceof e.constructor&&this.compareManyFields(e.fields,n.fields)}compareManyFields(e,n){return e===n||Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((r,i)=>this.compareFields(r,n[i]))}compareFields(e,n){return e===n||n instanceof e.constructor&&e.name===n.name&&e.nullable===n.nullable&&this.visit(e.type,n.type)}}function jn(t,e){return e instanceof t.constructor}function lc(t,e){return t===e||jn(t,e)}function Ji(t,e){return t===e||jn(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function Uh(t,e){return t===e||jn(t,e)&&t.precision===e.precision}function cj(t,e){return t===e||jn(t,e)&&t.byteWidth===e.byteWidth}function D0(t,e){return t===e||jn(t,e)&&t.unit===e.unit}function cc(t,e){return t===e||jn(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function fc(t,e){return t===e||jn(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function fj(t,e){return t===e||jn(t,e)&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function dj(t,e){return t===e||jn(t,e)&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function x0(t,e){return t===e||jn(t,e)&&t.mode===e.mode&&t.typeIds.every((n,r)=>n===e.typeIds[r])&&$s.compareManyFields(t.children,e.children)}function hj(t,e){return t===e||jn(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&$s.visit(t.indices,e.indices)&&$s.visit(t.dictionary,e.dictionary)}function C0(t,e){return t===e||jn(t,e)&&t.unit===e.unit}function pj(t,e){return t===e||jn(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function mj(t,e){return t===e||jn(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}Ie.prototype.visitNull=lc;Ie.prototype.visitBool=lc;Ie.prototype.visitInt=Ji;Ie.prototype.visitInt8=Ji;Ie.prototype.visitInt16=Ji;Ie.prototype.visitInt32=Ji;Ie.prototype.visitInt64=Ji;Ie.prototype.visitUint8=Ji;Ie.prototype.visitUint16=Ji;Ie.prototype.visitUint32=Ji;Ie.prototype.visitUint64=Ji;Ie.prototype.visitFloat=Uh;Ie.prototype.visitFloat16=Uh;Ie.prototype.visitFloat32=Uh;Ie.prototype.visitFloat64=Uh;Ie.prototype.visitUtf8=lc;Ie.prototype.visitBinary=lc;Ie.prototype.visitFixedSizeBinary=cj;Ie.prototype.visitDate=D0;Ie.prototype.visitDateDay=D0;Ie.prototype.visitDateMillisecond=D0;Ie.prototype.visitTimestamp=cc;Ie.prototype.visitTimestampSecond=cc;Ie.prototype.visitTimestampMillisecond=cc;Ie.prototype.visitTimestampMicrosecond=cc;Ie.prototype.visitTimestampNanosecond=cc;Ie.prototype.visitTime=fc;Ie.prototype.visitTimeSecond=fc;Ie.prototype.visitTimeMillisecond=fc;Ie.prototype.visitTimeMicrosecond=fc;Ie.prototype.visitTimeNanosecond=fc;Ie.prototype.visitDecimal=lc;Ie.prototype.visitList=fj;Ie.prototype.visitStruct=dj;Ie.prototype.visitUnion=x0;Ie.prototype.visitDenseUnion=x0;Ie.prototype.visitSparseUnion=x0;Ie.prototype.visitDictionary=hj;Ie.prototype.visitInterval=C0;Ie.prototype.visitIntervalDayTime=C0;Ie.prototype.visitIntervalYearMonth=C0;Ie.prototype.visitFixedSizeList=pj;Ie.prototype.visitMap=mj;const $s=new Ie;function mv(t,e){return $s.compareSchemas(t,e)}function Dm(t,e){return yj(t,e.map(n=>n.data.concat()))}function yj(t,e){const n=[...t.fields],r=[],i={numBatches:e.reduce((m,y)=>Math.max(m,y.length),0)};let s=0,o=0,a=-1;const l=e.length;let f,h=[];for(;i.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a0&&(r[s++]=Ne({type:new pn(n),length:o,nullCount:0,children:h.slice()})))}return[t=t.assign(n),r.map(m=>new En(t,m))]}function vj(t,e,n,r,i){var s;const o=(e+63&-64)>>3;for(let a=-1,l=r.length;++a=e)h===e?n[a]=f:(n[a]=f.slice(0,e),i.numBatches=Math.max(i.numBatches,r[a].unshift(f.slice(e,h-e))));else{const m=t[a];t[a]=m.clone({nullable:!0}),n[a]=(s=f==null?void 0:f._changeLengthAndBackfillNullBitmap(e))!==null&&s!==void 0?s:Ne({type:m.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)})}}return n}var nx;class hn{constructor(...e){var n,r;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let i,s;e[0]instanceof We&&(i=e.shift()),e[e.length-1]instanceof Uint32Array&&(s=e.pop());const o=l=>{if(l){if(l instanceof En)return[l];if(l instanceof hn)return l.batches;if(l instanceof at){if(l.type instanceof pn)return[new En(new We(l.type.children),l)]}else{if(Array.isArray(l))return l.flatMap(f=>o(f));if(typeof l[Symbol.iterator]=="function")return[...l].flatMap(f=>o(f));if(typeof l=="object"){const f=Object.keys(l),h=f.map(w=>new Ke([l[w]])),m=new We(f.map((w,I)=>new yt(String(w),h[I].type))),[,y]=Dm(m,h);return y.length===0?[new En(l)]:y}}}return[]},a=e.flatMap(l=>o(l));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new We([]),!(i instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const l of a){if(!(l instanceof En))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!mv(i,l.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=s??UD(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,n)=>e+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=jD(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}getByteLength(e){return 0}[Symbol.iterator](){return this.batches.length>0?E0.visit(new Ke(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ ${this.toArray().join(`, `)} -]`}concat(...e){const n=this.schema,r=this.data.concat(e.flatMap(({data:i})=>i));return new hn(n,r.map(i=>new En(n,i)))}slice(e,n){const r=this.schema;[e,n]=FD({length:this.numRows},e,n);const i=UD(this.data,this._offsets,e,n);return new hn(r,i.map(s=>new En(r,s)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===e))}getChildAt(e){if(e>-1&&er.children[e]);if(n.length===0){const{type:r}=this.schema.fields[e],i=Ne({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new Ke(n)}return null}setChild(e,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===e),n)}setChildAt(e,n){let r=this.schema,i=[...this.batches];if(e>-1&&ethis.getChildAt(f));[s[e],a[e]]=[o,n],[r,i]=Dm(r,a)}return new hn(r,i)}select(e){const n=this.schema.fields.reduce((r,i,s)=>r.set(i.name,s),new Map);return this.selectAt(e.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(e){const n=this.schema.selectAt(e),r=this.batches.map(i=>i.selectAt(e));return new hn(n,r)}assign(e){const n=this.schema.fields,[r,i]=e.schema.fields.reduce((a,l,f)=>{const[h,m]=a,y=n.findIndex(w=>w.name===l.name);return~y?m[y]=f:h.push(f),a},[[],[]]),s=this.schema.assign(e.schema),o=[...n.map((a,l)=>[l,i[l]]).map(([a,l])=>l===void 0?this.getChildAt(a):e.getChildAt(l)),...r.map(a=>e.getChildAt(a))].filter(Boolean);return new hn(...Dm(s,o))}}tx=Symbol.toStringTag;hn[tx]=(t=>(t.schema=null,t.batches=[],t._offsets=new Uint32Array([0]),t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,t.isValid=Pa(S0),t.get=Pa(Bn.getVisitFn(N.Struct)),t.set=zD(wr.getVisitFn(N.Struct)),t.indexOf=VD(Ud.getVisitFn(N.Struct)),t.getByteLength=Pa(di.getVisitFn(N.Struct)),"Table"))(hn.prototype);var nx;let En=class Vu{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Ne({nullCount:0,type:new pn(this.schema.fields),children:this.schema.fields.map(n=>Ne({type:n.type,nullCount:0}))})]=e,!(this.data instanceof at))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=I1(this.schema,this.data.children);break}case 1:{const[n]=e,{fields:r,children:i,length:s}=Object.keys(n).reduce((l,f,h)=>(l.children[h]=n[f],l.length=Math.max(l.length,n[f].length),l.fields[h]=yt.new({name:f,type:n[f].type,nullable:!0}),l),{length:0,fields:new Array,children:new Array}),o=new We(r),a=Ne({type:new pn(r),length:s,children:i,nullCount:0});[this.schema,this.data]=I1(o,a.children,s);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=rx(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Bn.visit(this.data,e)}set(e,n){return wr.visit(this.data,e,n)}indexOf(e,n){return Ud.visit(this.data,e,n)}getByteLength(e){return di.visit(this.data,e)}[Symbol.iterator](){return I0.visit(new Ke([this.data]))}toArray(){return[...this]}concat(...e){return new hn(this.schema,[this,...e])}slice(e,n){const[r]=new Ke([this.data]).slice(e,n).data;return new Vu(this.schema,r)}getChild(e){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&ei.name===e),n)}setChildAt(e,n){let r=this.schema,i=this.data;if(e>-1&&ea.name===s);~o&&(i[o]=this.data.children[o])}return new Vu(n,Ne({type:r,length:this.numRows,children:i}))}selectAt(e){const n=this.schema.selectAt(e),r=e.map(s=>this.data.children[s]).filter(Boolean),i=Ne({type:new pn(n.fields),length:this.numRows,children:r});return new Vu(n,i)}};nx=Symbol.toStringTag;En[nx]=(t=>(t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(En.prototype);function I1(t,e,n=e.reduce((r,i)=>Math.max(r,i.length),0)){var r;const i=[...t.fields],s=[...e],o=(n+63&-64)>>3;for(const[a,l]of t.fields.entries()){const f=e[a];(!f||f.length!==n)&&(i[a]=l.clone({nullable:!0}),s[a]=(r=f==null?void 0:f._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Ne({type:l.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[t.assign(i),Ne({type:new pn(i),length:n,children:s})]}function rx(t,e,n=new Map){for(let r=-1,i=t.length;++r0&&rx(o.children,a.children,n)}return n}class A0 extends En{constructor(e){const n=e.fields.map(i=>Ne({type:i.type})),r=Ne({type:new pn(e.fields),nullCount:0,children:n});super(e,r)}}var Gd;(function(t){t[t.BUFFER=0]="BUFFER"})(Gd||(Gd={}));var Jd;(function(t){t[t.LZ4_FRAME=0]="LZ4_FRAME",t[t.ZSTD=1]="ZSTD"})(Jd||(Jd={}));class ds{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsBodyCompression(e,n){return(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBodyCompression(e,n){return e.setPosition(e.position()+st),(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}codec(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt8(this.bb_pos+e):Jd.LZ4_FRAME}method(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt8(this.bb_pos+e):Gd.BUFFER}static startBodyCompression(e){e.startObject(2)}static addCodec(e,n){e.addFieldInt8(0,n,Jd.LZ4_FRAME)}static addMethod(e,n){e.addFieldInt8(1,n,Gd.BUFFER)}static endBodyCompression(e){return e.endObject()}static createBodyCompression(e,n,r){return ds.startBodyCompression(e),ds.addCodec(e,n),ds.addMethod(e,r),ds.endBodyCompression(e)}}class ix{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}}let sx=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}},Ii=class mv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsRecordBatch(e,n){return(n||new mv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsRecordBatch(e,n){return e.setPosition(e.position()+st),(n||new mv).__init(e.readInt32(e.position())+e.position(),e)}length(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}nodes(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new sx).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}nodesLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}buffers(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new ix).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}buffersLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}compression(e){const n=this.bb.__offset(this.bb_pos,10);return n?(e||new ds).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startRecordBatch(e){e.startObject(4)}static addLength(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addNodes(e,n){e.addFieldOffset(1,n,0)}static startNodesVector(e,n){e.startVector(16,n,8)}static addBuffers(e,n){e.addFieldOffset(2,n,0)}static startBuffersVector(e,n){e.startVector(16,n,8)}static addCompression(e,n){e.addFieldOffset(3,n,0)}static endRecordBatch(e){return e.endObject()}},aa=class yv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsDictionaryBatch(e,n){return(n||new yv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsDictionaryBatch(e,n){return e.setPosition(e.position()+st),(n||new yv).__init(e.readInt32(e.position())+e.position(),e)}id(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}data(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Ii).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isDelta(){const e=this.bb.__offset(this.bb_pos,8);return e?!!this.bb.readInt8(this.bb_pos+e):!1}static startDictionaryBatch(e){e.startObject(3)}static addId(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addData(e,n){e.addFieldOffset(1,n,0)}static addIsDelta(e,n){e.addFieldInt8(2,+n,0)}static endDictionaryBatch(e){return e.endObject()}};var Xd;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Xd||(Xd={}));let as=class Kr{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsMessage(e,n){return(n||new Kr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,n){return e.setPosition(e.position()+st),(n||new Kr).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ga.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Xd.NONE}header(e){const n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(e,this.bb_pos+n):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ga.V1)}static addHeaderType(e,n){e.addFieldInt8(1,n,Xd.NONE)}static addHeader(e,n){e.addFieldOffset(2,n,0)}static addBodyLength(e,n){e.addFieldInt64(3,n,e.createLong(0,0))}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,n){e.finish(n)}static finishSizePrefixedMessageBuffer(e,n){e.finish(n,void 0,!0)}static createMessage(e,n,r,i,s,o){return Kr.startMessage(e),Kr.addVersion(e,n),Kr.addHeaderType(e,r),Kr.addHeader(e,i),Kr.addBodyLength(e,s),Kr.addCustomMetadata(e,o),Kr.endMessage(e)}};var vj=Ni;class gj extends Be{visit(e,n){return e==null||n==null?void 0:super.visit(e,n)}visitNull(e,n){return wo.startNull(n),wo.endNull(n)}visitInt(e,n){return qn.startInt(n),qn.addBitWidth(n,e.bitWidth),qn.addIsSigned(n,e.isSigned),qn.endInt(n)}visitFloat(e,n){return ni.startFloatingPoint(n),ni.addPrecision(n,e.precision),ni.endFloatingPoint(n)}visitBinary(e,n){return yo.startBinary(n),yo.endBinary(n)}visitBool(e,n){return vo.startBool(n),vo.endBool(n)}visitUtf8(e,n){return bo.startUtf8(n),bo.endUtf8(n)}visitDecimal(e,n){return bn.startDecimal(n),bn.addScale(n,e.scale),bn.addPrecision(n,e.precision),bn.addBitWidth(n,e.bitWidth),bn.endDecimal(n)}visitDate(e,n){return Nf.startDate(n),Nf.addUnit(n,e.unit),Nf.endDate(n)}visitTime(e,n){return hr.startTime(n),hr.addUnit(n,e.unit),hr.addBitWidth(n,e.bitWidth),hr.endTime(n)}visitTimestamp(e,n){const r=e.timezone&&n.createString(e.timezone)||void 0;return pr.startTimestamp(n),pr.addUnit(n,e.unit),r!==void 0&&pr.addTimezone(n,r),pr.endTimestamp(n)}visitInterval(e,n){return ri.startInterval(n),ri.addUnit(n,e.unit),ri.endInterval(n)}visitList(e,n){return go.startList(n),go.endList(n)}visitStruct(e,n){return _o.startStruct_(n),_o.endStruct_(n)}visitUnion(e,n){In.startTypeIdsVector(n,e.typeIds.length);const r=In.createTypeIdsVector(n,e.typeIds);return In.startUnion(n),In.addMode(n,e.mode),In.addTypeIds(n,r),In.endUnion(n)}visitDictionary(e,n){const r=this.visit(e.indices,n);return Di.startDictionaryEncoding(n),Di.addId(n,new vj(e.id,0)),Di.addIsOrdered(n,e.isOrdered),r!==void 0&&Di.addIndexType(n,r),Di.endDictionaryEncoding(n)}visitFixedSizeBinary(e,n){return ei.startFixedSizeBinary(n),ei.addByteWidth(n,e.byteWidth),ei.endFixedSizeBinary(n)}visitFixedSizeList(e,n){return ti.startFixedSizeList(n),ti.addListSize(n,e.listSize),ti.endFixedSizeList(n)}visitMap(e,n){return Bf.startMap(n),Bf.addKeysSorted(n,e.keysSorted),Bf.endMap(n)}}const xm=new gj;function wj(t,e=new Map){return new We(bj(t,e),$f(t.customMetadata),e)}function ox(t){return new tr(t.count,ax(t.columns),ux(t.columns))}function _j(t){return new hi(ox(t.data),t.id,t.isDelta)}function bj(t,e){return(t.fields||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function E1(t,e){return(t.children||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function ax(t){return(t||[]).reduce((e,n)=>[...e,new Wo(n.count,Sj(n.VALIDITY)),...ax(n.children)],[])}function ux(t,e=[]){for(let n=-1,r=(t||[]).length;++ne+ +(n===0),0)}function Ij(t,e){let n,r,i,s,o,a;return!e||!(s=t.dictionary)?(o=k1(t,E1(t,e)),i=new yt(t.name,o,t.nullable,$f(t.customMetadata))):e.has(n=s.id)?(r=(r=s.indexType)?O1(r):new Fl,a=new Qa(e.get(n),r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))):(r=(r=s.indexType)?O1(r):new Fl,e.set(n,o=k1(t,E1(t,e))),a=new Qa(o,r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))),i||null}function $f(t){return new Map(Object.entries(t||{}))}function O1(t){return new Fs(t.isSigned,t.bitWidth)}function k1(t,e){const n=t.type.name;switch(n){case"NONE":return new Bs;case"null":return new Bs;case"binary":return new xd;case"utf8":return new Ad;case"bool":return new Cd;case"list":return new Nd((e||[])[0]);case"struct":return new pn(e||[]);case"struct_":return new pn(e||[])}switch(n){case"int":{const r=t.type;return new Fs(r.isSigned,r.bitWidth)}case"floatingpoint":{const r=t.type;return new Ll(Cn[r.precision])}case"decimal":{const r=t.type;return new Pd(r.scale,r.precision,r.bitWidth)}case"date":{const r=t.type;return new Rd(Hi[r.unit])}case"time":{const r=t.type;return new $l(ze[r.unit],r.bitWidth)}case"timestamp":{const r=t.type;return new Td(ze[r.unit],r.timezone)}case"interval":{const r=t.type;return new Md(Ns[r.unit])}case"union":{const r=t.type;return new Bd(er[r.mode],r.typeIds||[],e||[])}case"fixedsizebinary":{const r=t.type;return new Fd(r.byteWidth)}case"fixedsizelist":{const r=t.type;return new Ld(r.listSize,(e||[])[0])}case"map":{const r=t.type;return new $d((e||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var jo=Ni,Ej=JD,Oj=Ya;class mn{constructor(e,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=typeof e=="number"?e:e.low}static fromJSON(e,n){const r=new mn(0,Qn.V4,n);return r._createHeader=kj(e,n),r}static decode(e){e=new Oj(Ue(e));const n=as.getRootAsMessage(e),r=n.bodyLength(),i=n.version(),s=n.headerType(),o=new mn(r,i,s);return o._createHeader=Dj(n,s),o}static encode(e){const n=new Ej;let r=-1;return e.isSchema()?r=We.encode(n,e.header()):e.isRecordBatch()?r=tr.encode(n,e.header()):e.isDictionaryBatch()&&(r=hi.encode(n,e.header())),as.startMessage(n),as.addVersion(n,Qn.V4),as.addHeader(n,r),as.addHeaderType(n,e.headerType),as.addBodyLength(n,new jo(e.bodyLength,0)),as.finishMessageBuffer(n,as.endMessage(n)),n.asUint8Array()}static from(e,n=0){if(e instanceof We)return new mn(0,Qn.V4,Ve.Schema,e);if(e instanceof tr)return new mn(n,Qn.V4,Ve.RecordBatch,e);if(e instanceof hi)return new mn(n,Qn.V4,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}}class tr{constructor(e,n,r){this._nodes=n,this._buffers=r,this._length=typeof e=="number"?e:e.low}get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}}class hi{constructor(e,n,r=!1){this._data=e,this._isDelta=r,this._id=typeof n=="number"?n:n.low}get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}}class si{constructor(e,n){this.offset=typeof e=="number"?e:e.low,this.length=typeof n=="number"?n:n.low}}class Wo{constructor(e,n){this.length=typeof e=="number"?e:e.low,this.nullCount=typeof n=="number"?n:n.low}}function kj(t,e){return()=>{switch(e){case Ve.Schema:return We.fromJSON(t);case Ve.RecordBatch:return tr.fromJSON(t);case Ve.DictionaryBatch:return hi.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}function Dj(t,e){return()=>{switch(e){case Ve.Schema:return We.decode(t.header(new qr));case Ve.RecordBatch:return tr.decode(t.header(new Ii),t.version());case Ve.DictionaryBatch:return hi.decode(t.header(new aa),t.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}yt.encode=Lj;yt.decode=Bj;yt.fromJSON=Ij;We.encode=Fj;We.decode=xj;We.fromJSON=wj;tr.encode=$j;tr.decode=Aj;tr.fromJSON=ox;hi.encode=jj;hi.decode=Cj;hi.fromJSON=_j;Wo.encode=Uj;Wo.decode=Rj;si.encode=zj;si.decode=Pj;function xj(t,e=new Map){const n=Nj(t,e);return new We(n,jf(t),e)}function Aj(t,e=Qn.V4){if(t.compression()!==null)throw new Error("Record batch compression not implemented");return new tr(t.length(),Tj(t),Mj(t,e))}function Cj(t,e=Qn.V4){return new hi(tr.decode(t.data(),e),t.id(),t.isDelta())}function Pj(t){return new si(t.offset(),t.length())}function Rj(t){return new Wo(t.length(),t.nullCount())}function Tj(t){const e=[];for(let n,r=-1,i=-1,s=t.nodesLength();++ryt.encode(t,s));qr.startFieldsVector(t,n.length);const r=qr.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?qr.createCustomMetadataVector(t,[...e.metadata].map(([s,o])=>{const a=t.createString(`${s}`),l=t.createString(`${o}`);return zt.startKeyValue(t),zt.addKey(t,a),zt.addValue(t,l),zt.endKeyValue(t)})):-1;return qr.startSchema(t),qr.addFields(t,r),qr.addEndianness(t,Vj?Ja.Little:Ja.Big),i!==-1&&qr.addCustomMetadata(t,i),qr.endSchema(t)}function Lj(t,e){let n=-1,r=-1,i=-1;const s=e.type;let o=e.typeId;we.isDictionary(s)?(o=s.dictionary.typeId,i=xm.visit(s,t),r=xm.visit(s.dictionary,t)):r=xm.visit(s,t);const a=(s.children||[]).map(h=>yt.encode(t,h)),l=lr.createChildrenVector(t,a),f=e.metadata&&e.metadata.size>0?lr.createCustomMetadataVector(t,[...e.metadata].map(([h,m])=>{const y=t.createString(`${h}`),w=t.createString(`${m}`);return zt.startKeyValue(t),zt.addKey(t,y),zt.addValue(t,w),zt.endKeyValue(t)})):-1;return e.name&&(n=t.createString(e.name)),lr.startField(t),lr.addType(t,r),lr.addTypeType(t,o),lr.addChildren(t,l),lr.addNullable(t,!!e.nullable),n!==-1&&lr.addName(t,n),i!==-1&&lr.addDictionary(t,i),f!==-1&&lr.addCustomMetadata(t,f),lr.endField(t)}function $j(t,e){const n=e.nodes||[],r=e.buffers||[];Ii.startNodesVector(t,n.length);for(const o of n.slice().reverse())Wo.encode(t,o);const i=t.endVector();Ii.startBuffersVector(t,r.length);for(const o of r.slice().reverse())si.encode(t,o);const s=t.endVector();return Ii.startRecordBatch(t),Ii.addLength(t,new jo(e.length,0)),Ii.addNodes(t,i),Ii.addBuffers(t,s),Ii.endRecordBatch(t)}function jj(t,e){const n=tr.encode(t,e.data);return aa.startDictionaryBatch(t),aa.addId(t,new jo(e.id,0)),aa.addIsDelta(t,e.isDelta),aa.addData(t,n),aa.endDictionaryBatch(t)}function Uj(t,e){return sx.createFieldNode(t,new jo(e.length,0),new jo(e.nullCount,0))}function zj(t,e){return ix.createBuffer(t,new jo(e.offset,0),new jo(e.length,0))}const Vj=(()=>{const t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),new Int16Array(t)[0]===256})(),C0=t=>`Expected ${Ve[t]} Message in stream, but was null or length 0.`,P0=t=>`Header pointer of flatbuffer-encoded ${Ve[t]} Message is null or length 0.`,lx=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,cx=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`;class fx{constructor(e){this.source=e instanceof Qd?e:new Qd(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?St:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(C0(e));return n.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const n=Ue(this.source.read(e));if(n.byteLength[...i,...s.VALIDITY&&[s.VALIDITY]||[],...s.TYPE&&[s.TYPE]||[],...s.OFFSET&&[s.OFFSET]||[],...s.DATA&&[s.DATA]||[],...n(s.children)],[])}}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(C0(e));return n.value}readSchema(){const e=Ve.Schema,n=this.readMessage(e),r=n==null?void 0:n.header();if(!n||!r)throw new Error(P0(e));return r}}const zh=4,vv="ARROW1",Ul=new Uint8Array(vv.length);for(let t=0;tthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return cr.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return cr.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof Bi?e:ov(e)?Gj(e):Rk(e)?Zj(e):Ms(e)?(()=>ve(this,void 0,void 0,function*(){return yield Bi.from(yield e)}))():Tk(e)||c0(e)||Mk(e)||fu(e)?Xj(new Za(e)):Jj(new Qd(e))}static readAll(e){return e instanceof Bi?e.isSync()?C1(e):P1(e):ov(e)||ArrayBuffer.isView(e)||uc(e)||Pk(e)?C1(e):P1(e)}}class Zd extends Bi{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return kr(this,arguments,function*(){yield ge(yield*Df(Ds(this[Symbol.iterator]())))})}}class eh extends Bi{constructor(e){super(e),this._impl=e}readAll(){var e,n;return ve(this,void 0,void 0,function*(){const r=new Array;try{for(var i=Ds(this),s;s=yield i.next(),!s.done;){const o=s.value;r.push(o)}}catch(o){e={error:o}}finally{try{s&&!s.done&&(n=i.return)&&(yield n.call(i))}finally{if(e)throw e.error}}return r})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class hx extends Zd{constructor(e){super(e),this._impl=e}}class Hj extends eh{constructor(e){super(e),this._impl=e}}class px{constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,n){const r=this._loadVectors(e,n,this.schema.fields),i=Ne({type:new pn(this.schema.fields),length:e.length,children:r});return new En(this.schema,i)}_loadDictionaryBatch(e,n){const{id:r,isDelta:i}=e,{dictionaries:s,schema:o}=this,a=s.get(r);if(i||!a){const l=o.dictionaries.get(r),f=this._loadVectors(e.data,n,[l]);return(a&&i?a.concat(new Ke(f)):new Ke(f)).memoize()}return a.memoize()}_loadVectors(e,n,r){return new ex(n,e.nodes,e.buffers,this.dictionaries).visitMany(r)}}class th extends px{constructor(e,n){super(n),this._reader=ov(e)?new Wj(this._handle=e):new fx(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=yx(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):St}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):St}next(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new A0(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class nh extends px{constructor(e,n){super(n),this._reader=new Kj(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return ve(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return ve(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=yx(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):St})}return(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):St})}next(){return ve(this,void 0,void 0,function*(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new A0(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class mx extends th{constructor(e,n){super(e instanceof S1?e:new S1(e),n)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var n;if(this.closed)return null;this._footer||this.open();const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null}_readDictionaryBatch(e){var n;const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}}_readFooter(){const{_handle:e}=this,n=e.size-dx,r=e.readInt32(n),i=e.readAt(n-r,r);return jl.decode(i)}_readNextMessageAndValidate(e){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return ve(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,e)})}readRecordBatch(e){var n;return ve(this,void 0,void 0,function*(){if(this.closed)return null;this._footer||(yield this.open());const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null})}_readDictionaryBatch(e){var n;return ve(this,void 0,void 0,function*(){const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}})}_readFooter(){return ve(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const n=e.size-dx,r=yield e.readInt32(n),i=yield e.readAt(n-r,r);return jl.decode(i)})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?R0(e)?new hx(new mx(t.read())):new Zd(new th(t)):new Zd(new th(function*(){}()))}function Xj(t){return ve(this,void 0,void 0,function*(){const e=yield t.peek(dc+7&-8);return e&&e.byteLength>=4?R0(e)?new hx(new mx(yield t.read())):new eh(new nh(t)):new eh(new nh(function(){return kr(this,arguments,function*(){})}()))})}function Zj(t){return ve(this,void 0,void 0,function*(){const{size:e}=yield t.stat(),n=new Yd(t,e);return e>=qj&&R0(yield n.readAt(0,dc+7&-8))?new Hj(new Qj(n)):new eh(new nh(n))})}class $t extends Be{constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}static assemble(...e){const n=i=>i.flatMap(s=>Array.isArray(s)?n(s):s instanceof En?s.data.children:s.data),r=new $t;return r.visitMany(n(e)),r}visit(e){if(e instanceof Ke)return this.visitMany(e.data),this;const{type:n}=e;if(!we.isDictionary(n)){const{length:r,nullCount:i}=e;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");we.isNull(n)||Cr.call(this,i<=0?new Uint8Array(0):w0(e.offset,r,e.nullBitmap)),this.nodes.push(new Wo(r,i))}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}}function Cr(t){const e=t.byteLength+7&-8;return this.buffers.push(t),this.bufferRegions.push(new si(this._byteLength,e)),this._byteLength+=e,this}function e4(t){const{type:e,length:n,typeIds:r,valueOffsets:i}=t;if(Cr.call(this,r),e.mode===er.Sparse)return gv.call(this,t);if(e.mode===er.Dense){if(t.offset<=0)return Cr.call(this,i),gv.call(this,t);{const s=r.reduce((h,m)=>Math.max(h,m),r[0]),o=new Int32Array(s+1),a=new Int32Array(s+1).fill(-1),l=new Int32Array(n),f=d0(-i[0],n,i);for(let h,m,y=-1;++y=t.length?Cr.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?Cr.call(this,w0(t.offset,t.length,e)):Cr.call(this,jd(t.values))}function Ys(t){return Cr.call(this,t.values.subarray(0,t.length*t.stride))}function vx(t){const{length:e,values:n,valueOffsets:r}=t,i=r[0],s=r[e],o=Math.min(s-i,n.byteLength-i);return Cr.call(this,d0(-r[0],e,r)),Cr.call(this,n.subarray(i,i+o)),this}function T0(t){const{length:e,valueOffsets:n}=t;return n&&Cr.call(this,d0(n[0],e,n)),this.visit(t.children[0])}function gv(t){return this.visitMany(t.type.children.map((e,n)=>t.children[n]).filter(Boolean))[0]}$t.prototype.visitBool=t4;$t.prototype.visitInt=Ys;$t.prototype.visitFloat=Ys;$t.prototype.visitUtf8=vx;$t.prototype.visitBinary=vx;$t.prototype.visitFixedSizeBinary=Ys;$t.prototype.visitDate=Ys;$t.prototype.visitTimestamp=Ys;$t.prototype.visitTime=Ys;$t.prototype.visitDecimal=Ys;$t.prototype.visitList=T0;$t.prototype.visitStruct=gv;$t.prototype.visitUnion=e4;$t.prototype.visitInterval=Ys;$t.prototype.visitFixedSizeList=T0;$t.prototype.visitMap=T0;class gx extends E0{constructor(e){super(),this._position=0,this._started=!1,this._sink=new Lf,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Nn(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof e.autoDestroy=="boolean"?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat=="boolean"?e.writeLegacyIpcFormat:!1}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Ms(e)?e.then(n=>this.writeAll(n)):fu(e)?F0(this,e):B0(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,n=null){return e===this._sink||e instanceof Lf?this._sink=e:(this._sink=new Lf,e&&S3(e)?this.toDOMStream({type:"bytes"}).pipeTo(e):e&&I3(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!n||!pv(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(e){let n=null;if(this._sink){if(e==null)return this.finish()&&void 0;if(e instanceof hn&&!(n=e.schema))return this.finish()&&void 0;if(e instanceof En&&!(n=e.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!pv(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}e instanceof En?e instanceof A0||this._writeRecordBatch(e):e instanceof hn?this.writeAll(e.batches):uc(e)&&this.writeAll(e)}_writeMessage(e,n=8){const r=n-1,i=mn.encode(e),s=i.byteLength,o=this._writeLegacyIpcFormat?4:8,a=s+o+r&~r,l=a-s-o;return e.headerType===Ve.RecordBatch?this._recordBatchBlocks.push(new Ls(a,e.bodyLength,this._position)):e.headerType===Ve.DictionaryBatch&&this._dictionaryBlocks.push(new Ls(a,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),s>0&&this._write(i),this._writePadding(l)}_write(e){if(this._started){const n=Ue(e);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(e){return this._writeMessage(mn.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Ul)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){const{byteLength:n,nodes:r,bufferRegions:i,buffers:s}=$t.assemble(e),o=new tr(e.numRows,r,i),a=mn.from(o,n);return this._writeDictionaries(e)._writeMessage(a)._writeBodyBuffers(s)}_writeDictionaryBatch(e,n,r=!1){this._dictionaryDeltaOffsets.set(n,e.length+(this._dictionaryDeltaOffsets.get(n)||0));const{byteLength:i,nodes:s,bufferRegions:o,buffers:a}=$t.assemble(new Ke([e])),l=new tr(e.length,s,o),f=new hi(l,n,r),h=mn.from(f,i);return this._writeMessage(h)._writeBodyBuffers(a)}_writeBodyBuffers(e){let n,r,i;for(let s=-1,o=e.length;++s0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(e){for(let[n,r]of e.dictionaries){let i=this._dictionaryDeltaOffsets.get(n)||0;if(i===0||(r=r==null?void 0:r.slice(i)).length>0)for(const s of r.data)this._writeDictionaryBatch(s,n,i>0),i+=s.length}return this}}class M0 extends gx{static writeAll(e,n){const r=new M0(n);return Ms(e)?e.then(i=>r.writeAll(i)):fu(e)?F0(r,e):B0(r,e)}}class N0 extends gx{static writeAll(e){const n=new N0;return Ms(e)?e.then(r=>n.writeAll(r)):fu(e)?F0(n,e):B0(n,e)}constructor(){super(),this._autoDestroy=!0}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeFooter(e){const n=jl.encode(new jl(e,Qn.V4,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}}function B0(t,e){let n=e;e instanceof hn&&(n=e.batches,t.reset(void 0,e.schema));for(const r of n)t.write(r);return t.finish()}function F0(t,e){var n,r,i,s;return ve(this,void 0,void 0,function*(){try{for(n=Ds(e);r=yield n.next(),!r.done;){const o=r.value;t.write(o)}}catch(o){i={error:o}}finally{try{r&&!r.done&&(s=n.return)&&(yield s.call(n))}finally{if(i)throw i.error}}return t.finish()})}function Ku(t){const e=Bi.from(t);return Ms(e)?e.then(n=>Ku(n)):e.isAsync()?e.readAll().then(n=>new hn(n)):new hn(e.readAll())}function Am(t,e="stream"){return(e==="stream"?M0:N0).writeAll(t).toUint8Array(!0)}var R1=function(){function t(e,n,r,i){var s=this;this.getCell=function(o,a){var l=o=s.headerRows&&a=s.headerColumns;if(l){var m=["blank"];return a>0&&m.push("level"+o),{type:"blank",classNames:m.join(" "),content:""}}else if(h){var y=a-s.headerColumns,m=["col_heading","level"+o,"col"+y];return{type:"columns",classNames:m.join(" "),content:s.getContent(s.columnsTable,y,o)}}else if(f){var w=o-s.headerRows,m=["row_heading","level"+a,"row"+w];return{type:"index",id:"T_".concat(s.uuid,"level").concat(a,"_row").concat(w),classNames:m.join(" "),content:s.getContent(s.indexTable,w,a)}}else{var w=o-s.headerRows,y=a-s.headerColumns,m=["data","row"+w,"col"+y],I=s.styler?s.getContent(s.styler.displayValuesTable,w,y):s.getContent(s.dataTable,w,y);return{type:"data",id:"T_".concat(s.uuid,"row").concat(w,"_col").concat(y),classNames:m.join(" "),content:I}}},this.getContent=function(o,a,l){var f=o.getChildAt(l);if(f===null)return"";var h=s.getColumnTypeId(o,l);switch(h){case N.Timestamp:return s.nanosToDate(f.get(a));default:return f.get(a)}},this.dataTable=Ku(e),this.indexTable=Ku(n),this.columnsTable=Ku(r),this.styler=i?{caption:i.caption,displayValuesTable:Ku(i.displayValues),styles:i.styles,uuid:i.uuid}:void 0}return Object.defineProperty(t.prototype,"rows",{get:function(){return this.indexTable.numRows+this.columnsTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this.indexTable.numCols+this.columnsTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerRows",{get:function(){return this.rows-this.dataRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerColumns",{get:function(){return this.columns-this.dataColumns},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataRows",{get:function(){return this.dataTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumns",{get:function(){return this.dataTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"uuid",{get:function(){return this.styler&&this.styler.uuid},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"caption",{get:function(){return this.styler&&this.styler.caption},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"styles",{get:function(){return this.styler&&this.styler.styles},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"table",{get:function(){return this.dataTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"index",{get:function(){return this.indexTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columnTable",{get:function(){return this.columnsTable},enumerable:!1,configurable:!0}),t.prototype.serialize=function(){return{data:Am(this.dataTable),index:Am(this.indexTable),columns:Am(this.columnsTable)}},t.prototype.getColumnTypeId=function(e,n){return e.schema.fields[n].type.typeId},t.prototype.nanosToDate=function(e){return new Date(e/1e6)},t}(),al=function(){return al=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0?t.argsDataframeToObject(e.dfs):{};n=al(al({},n),r);var i=!!e.disabled,s=e.theme;s&&n4(s);var o={disabled:i,args:n,theme:s},a=new CustomEvent(t.RENDER_EVENT,{detail:o});t.events.dispatchEvent(a)},t.argsDataframeToObject=function(e){var n=e.map(function(r){var i=r.key,s=r.value;return[i,t.toArrowTable(s)]});return Object.fromEntries(n)},t.toArrowTable=function(e){var n,r=(n=e.data,n.data),i=n.index,s=n.columns,o=n.styler;return new R1(r,i,s,o)},t.sendBackMsg=function(e,n){window.parent.postMessage(al({isStreamlitMessage:!0,type:e},n),"*")},t}(),n4=function(t){var e=document.createElement("style");document.head.appendChild(e),e.innerHTML=` +]`}concat(...e){const n=this.schema,r=this.data.concat(e.flatMap(({data:i})=>i));return new hn(n,r.map(i=>new En(n,i)))}slice(e,n){const r=this.schema;[e,n]=LD({length:this.numRows},e,n);const i=zD(this.data,this._offsets,e,n);return new hn(r,i.map(s=>new En(r,s)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===e))}getChildAt(e){if(e>-1&&er.children[e]);if(n.length===0){const{type:r}=this.schema.fields[e],i=Ne({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new Ke(n)}return null}setChild(e,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===e),n)}setChildAt(e,n){let r=this.schema,i=[...this.batches];if(e>-1&&ethis.getChildAt(f));[s[e],a[e]]=[o,n],[r,i]=Dm(r,a)}return new hn(r,i)}select(e){const n=this.schema.fields.reduce((r,i,s)=>r.set(i.name,s),new Map);return this.selectAt(e.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(e){const n=this.schema.selectAt(e),r=this.batches.map(i=>i.selectAt(e));return new hn(n,r)}assign(e){const n=this.schema.fields,[r,i]=e.schema.fields.reduce((a,l,f)=>{const[h,m]=a,y=n.findIndex(w=>w.name===l.name);return~y?m[y]=f:h.push(f),a},[[],[]]),s=this.schema.assign(e.schema),o=[...n.map((a,l)=>[l,i[l]]).map(([a,l])=>l===void 0?this.getChildAt(a):e.getChildAt(l)),...r.map(a=>e.getChildAt(a))].filter(Boolean);return new hn(...Dm(s,o))}}nx=Symbol.toStringTag;hn[nx]=(t=>(t.schema=null,t.batches=[],t._offsets=new Uint32Array([0]),t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,t.isValid=Ra(I0),t.get=Ra(Bn.getVisitFn(N.Struct)),t.set=VD(_r.getVisitFn(N.Struct)),t.indexOf=KD(Ud.getVisitFn(N.Struct)),t.getByteLength=Ra(di.getVisitFn(N.Struct)),"Table"))(hn.prototype);var rx;let En=class Vu{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Ne({nullCount:0,type:new pn(this.schema.fields),children:this.schema.fields.map(n=>Ne({type:n.type,nullCount:0}))})]=e,!(this.data instanceof at))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=E1(this.schema,this.data.children);break}case 1:{const[n]=e,{fields:r,children:i,length:s}=Object.keys(n).reduce((l,f,h)=>(l.children[h]=n[f],l.length=Math.max(l.length,n[f].length),l.fields[h]=yt.new({name:f,type:n[f].type,nullable:!0}),l),{length:0,fields:new Array,children:new Array}),o=new We(r),a=Ne({type:new pn(r),length:s,children:i,nullCount:0});[this.schema,this.data]=E1(o,a.children,s);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=ix(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Bn.visit(this.data,e)}set(e,n){return _r.visit(this.data,e,n)}indexOf(e,n){return Ud.visit(this.data,e,n)}getByteLength(e){return di.visit(this.data,e)}[Symbol.iterator](){return E0.visit(new Ke([this.data]))}toArray(){return[...this]}concat(...e){return new hn(this.schema,[this,...e])}slice(e,n){const[r]=new Ke([this.data]).slice(e,n).data;return new Vu(this.schema,r)}getChild(e){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&ei.name===e),n)}setChildAt(e,n){let r=this.schema,i=this.data;if(e>-1&&ea.name===s);~o&&(i[o]=this.data.children[o])}return new Vu(n,Ne({type:r,length:this.numRows,children:i}))}selectAt(e){const n=this.schema.selectAt(e),r=e.map(s=>this.data.children[s]).filter(Boolean),i=Ne({type:new pn(n.fields),length:this.numRows,children:r});return new Vu(n,i)}};rx=Symbol.toStringTag;En[rx]=(t=>(t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(En.prototype);function E1(t,e,n=e.reduce((r,i)=>Math.max(r,i.length),0)){var r;const i=[...t.fields],s=[...e],o=(n+63&-64)>>3;for(const[a,l]of t.fields.entries()){const f=e[a];(!f||f.length!==n)&&(i[a]=l.clone({nullable:!0}),s[a]=(r=f==null?void 0:f._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Ne({type:l.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[t.assign(i),Ne({type:new pn(i),length:n,children:s})]}function ix(t,e,n=new Map){for(let r=-1,i=t.length;++r0&&ix(o.children,a.children,n)}return n}class A0 extends En{constructor(e){const n=e.fields.map(i=>Ne({type:i.type})),r=Ne({type:new pn(e.fields),nullCount:0,children:n});super(e,r)}}var Gd;(function(t){t[t.BUFFER=0]="BUFFER"})(Gd||(Gd={}));var Jd;(function(t){t[t.LZ4_FRAME=0]="LZ4_FRAME",t[t.ZSTD=1]="ZSTD"})(Jd||(Jd={}));class ds{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsBodyCompression(e,n){return(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBodyCompression(e,n){return e.setPosition(e.position()+st),(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}codec(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt8(this.bb_pos+e):Jd.LZ4_FRAME}method(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt8(this.bb_pos+e):Gd.BUFFER}static startBodyCompression(e){e.startObject(2)}static addCodec(e,n){e.addFieldInt8(0,n,Jd.LZ4_FRAME)}static addMethod(e,n){e.addFieldInt8(1,n,Gd.BUFFER)}static endBodyCompression(e){return e.endObject()}static createBodyCompression(e,n,r){return ds.startBodyCompression(e),ds.addCodec(e,n),ds.addMethod(e,r),ds.endBodyCompression(e)}}class sx{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}}let ox=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}},Ii=class yv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsRecordBatch(e,n){return(n||new yv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsRecordBatch(e,n){return e.setPosition(e.position()+st),(n||new yv).__init(e.readInt32(e.position())+e.position(),e)}length(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}nodes(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new ox).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}nodesLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}buffers(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new sx).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}buffersLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}compression(e){const n=this.bb.__offset(this.bb_pos,10);return n?(e||new ds).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startRecordBatch(e){e.startObject(4)}static addLength(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addNodes(e,n){e.addFieldOffset(1,n,0)}static startNodesVector(e,n){e.startVector(16,n,8)}static addBuffers(e,n){e.addFieldOffset(2,n,0)}static startBuffersVector(e,n){e.startVector(16,n,8)}static addCompression(e,n){e.addFieldOffset(3,n,0)}static endRecordBatch(e){return e.endObject()}},ua=class vv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsDictionaryBatch(e,n){return(n||new vv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsDictionaryBatch(e,n){return e.setPosition(e.position()+st),(n||new vv).__init(e.readInt32(e.position())+e.position(),e)}id(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}data(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Ii).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isDelta(){const e=this.bb.__offset(this.bb_pos,8);return e?!!this.bb.readInt8(this.bb_pos+e):!1}static startDictionaryBatch(e){e.startObject(3)}static addId(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addData(e,n){e.addFieldOffset(1,n,0)}static addIsDelta(e,n){e.addFieldInt8(2,+n,0)}static endDictionaryBatch(e){return e.endObject()}};var Xd;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Xd||(Xd={}));let as=class Wr{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsMessage(e,n){return(n||new Wr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,n){return e.setPosition(e.position()+st),(n||new Wr).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ja.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Xd.NONE}header(e){const n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(e,this.bb_pos+n):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ja.V1)}static addHeaderType(e,n){e.addFieldInt8(1,n,Xd.NONE)}static addHeader(e,n){e.addFieldOffset(2,n,0)}static addBodyLength(e,n){e.addFieldInt64(3,n,e.createLong(0,0))}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,n){e.finish(n)}static finishSizePrefixedMessageBuffer(e,n){e.finish(n,void 0,!0)}static createMessage(e,n,r,i,s,o){return Wr.startMessage(e),Wr.addVersion(e,n),Wr.addHeaderType(e,r),Wr.addHeader(e,i),Wr.addBodyLength(e,s),Wr.addCustomMetadata(e,o),Wr.endMessage(e)}};var gj=Ni;class wj extends Be{visit(e,n){return e==null||n==null?void 0:super.visit(e,n)}visitNull(e,n){return wo.startNull(n),wo.endNull(n)}visitInt(e,n){return Hn.startInt(n),Hn.addBitWidth(n,e.bitWidth),Hn.addIsSigned(n,e.isSigned),Hn.endInt(n)}visitFloat(e,n){return ri.startFloatingPoint(n),ri.addPrecision(n,e.precision),ri.endFloatingPoint(n)}visitBinary(e,n){return yo.startBinary(n),yo.endBinary(n)}visitBool(e,n){return vo.startBool(n),vo.endBool(n)}visitUtf8(e,n){return bo.startUtf8(n),bo.endUtf8(n)}visitDecimal(e,n){return bn.startDecimal(n),bn.addScale(n,e.scale),bn.addPrecision(n,e.precision),bn.addBitWidth(n,e.bitWidth),bn.endDecimal(n)}visitDate(e,n){return Nf.startDate(n),Nf.addUnit(n,e.unit),Nf.endDate(n)}visitTime(e,n){return pr.startTime(n),pr.addUnit(n,e.unit),pr.addBitWidth(n,e.bitWidth),pr.endTime(n)}visitTimestamp(e,n){const r=e.timezone&&n.createString(e.timezone)||void 0;return mr.startTimestamp(n),mr.addUnit(n,e.unit),r!==void 0&&mr.addTimezone(n,r),mr.endTimestamp(n)}visitInterval(e,n){return ii.startInterval(n),ii.addUnit(n,e.unit),ii.endInterval(n)}visitList(e,n){return go.startList(n),go.endList(n)}visitStruct(e,n){return _o.startStruct_(n),_o.endStruct_(n)}visitUnion(e,n){In.startTypeIdsVector(n,e.typeIds.length);const r=In.createTypeIdsVector(n,e.typeIds);return In.startUnion(n),In.addMode(n,e.mode),In.addTypeIds(n,r),In.endUnion(n)}visitDictionary(e,n){const r=this.visit(e.indices,n);return Di.startDictionaryEncoding(n),Di.addId(n,new gj(e.id,0)),Di.addIsOrdered(n,e.isOrdered),r!==void 0&&Di.addIndexType(n,r),Di.endDictionaryEncoding(n)}visitFixedSizeBinary(e,n){return ti.startFixedSizeBinary(n),ti.addByteWidth(n,e.byteWidth),ti.endFixedSizeBinary(n)}visitFixedSizeList(e,n){return ni.startFixedSizeList(n),ni.addListSize(n,e.listSize),ni.endFixedSizeList(n)}visitMap(e,n){return Bf.startMap(n),Bf.addKeysSorted(n,e.keysSorted),Bf.endMap(n)}}const xm=new wj;function _j(t,e=new Map){return new We(Sj(t,e),$f(t.customMetadata),e)}function ax(t){return new nr(t.count,ux(t.columns),lx(t.columns))}function bj(t){return new hi(ax(t.data),t.id,t.isDelta)}function Sj(t,e){return(t.fields||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function O1(t,e){return(t.children||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function ux(t){return(t||[]).reduce((e,n)=>[...e,new qo(n.count,Ij(n.VALIDITY)),...ux(n.children)],[])}function lx(t,e=[]){for(let n=-1,r=(t||[]).length;++ne+ +(n===0),0)}function Ej(t,e){let n,r,i,s,o,a;return!e||!(s=t.dictionary)?(o=D1(t,O1(t,e)),i=new yt(t.name,o,t.nullable,$f(t.customMetadata))):e.has(n=s.id)?(r=(r=s.indexType)?k1(r):new Fl,a=new Ya(e.get(n),r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))):(r=(r=s.indexType)?k1(r):new Fl,e.set(n,o=D1(t,O1(t,e))),a=new Ya(o,r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))),i||null}function $f(t){return new Map(Object.entries(t||{}))}function k1(t){return new Fs(t.isSigned,t.bitWidth)}function D1(t,e){const n=t.type.name;switch(n){case"NONE":return new Bs;case"null":return new Bs;case"binary":return new xd;case"utf8":return new Cd;case"bool":return new Ad;case"list":return new Nd((e||[])[0]);case"struct":return new pn(e||[]);case"struct_":return new pn(e||[])}switch(n){case"int":{const r=t.type;return new Fs(r.isSigned,r.bitWidth)}case"floatingpoint":{const r=t.type;return new Ll(An[r.precision])}case"decimal":{const r=t.type;return new Pd(r.scale,r.precision,r.bitWidth)}case"date":{const r=t.type;return new Rd(Hi[r.unit])}case"time":{const r=t.type;return new $l(ze[r.unit],r.bitWidth)}case"timestamp":{const r=t.type;return new Td(ze[r.unit],r.timezone)}case"interval":{const r=t.type;return new Md(Ns[r.unit])}case"union":{const r=t.type;return new Bd(tr[r.mode],r.typeIds||[],e||[])}case"fixedsizebinary":{const r=t.type;return new Fd(r.byteWidth)}case"fixedsizelist":{const r=t.type;return new Ld(r.listSize,(e||[])[0])}case"map":{const r=t.type;return new $d((e||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var Uo=Ni,Oj=XD,kj=Ga;class mn{constructor(e,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=typeof e=="number"?e:e.low}static fromJSON(e,n){const r=new mn(0,Yn.V4,n);return r._createHeader=Dj(e,n),r}static decode(e){e=new kj(Ue(e));const n=as.getRootAsMessage(e),r=n.bodyLength(),i=n.version(),s=n.headerType(),o=new mn(r,i,s);return o._createHeader=xj(n,s),o}static encode(e){const n=new Oj;let r=-1;return e.isSchema()?r=We.encode(n,e.header()):e.isRecordBatch()?r=nr.encode(n,e.header()):e.isDictionaryBatch()&&(r=hi.encode(n,e.header())),as.startMessage(n),as.addVersion(n,Yn.V4),as.addHeader(n,r),as.addHeaderType(n,e.headerType),as.addBodyLength(n,new Uo(e.bodyLength,0)),as.finishMessageBuffer(n,as.endMessage(n)),n.asUint8Array()}static from(e,n=0){if(e instanceof We)return new mn(0,Yn.V4,Ve.Schema,e);if(e instanceof nr)return new mn(n,Yn.V4,Ve.RecordBatch,e);if(e instanceof hi)return new mn(n,Yn.V4,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}}class nr{constructor(e,n,r){this._nodes=n,this._buffers=r,this._length=typeof e=="number"?e:e.low}get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}}class hi{constructor(e,n,r=!1){this._data=e,this._isDelta=r,this._id=typeof n=="number"?n:n.low}get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}}class oi{constructor(e,n){this.offset=typeof e=="number"?e:e.low,this.length=typeof n=="number"?n:n.low}}class qo{constructor(e,n){this.length=typeof e=="number"?e:e.low,this.nullCount=typeof n=="number"?n:n.low}}function Dj(t,e){return()=>{switch(e){case Ve.Schema:return We.fromJSON(t);case Ve.RecordBatch:return nr.fromJSON(t);case Ve.DictionaryBatch:return hi.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}function xj(t,e){return()=>{switch(e){case Ve.Schema:return We.decode(t.header(new Hr));case Ve.RecordBatch:return nr.decode(t.header(new Ii),t.version());case Ve.DictionaryBatch:return hi.decode(t.header(new ua),t.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}yt.encode=$j;yt.decode=Fj;yt.fromJSON=Ej;We.encode=Lj;We.decode=Cj;We.fromJSON=_j;nr.encode=jj;nr.decode=Aj;nr.fromJSON=ax;hi.encode=Uj;hi.decode=Pj;hi.fromJSON=bj;qo.encode=zj;qo.decode=Tj;oi.encode=Vj;oi.decode=Rj;function Cj(t,e=new Map){const n=Bj(t,e);return new We(n,jf(t),e)}function Aj(t,e=Yn.V4){if(t.compression()!==null)throw new Error("Record batch compression not implemented");return new nr(t.length(),Mj(t),Nj(t,e))}function Pj(t,e=Yn.V4){return new hi(nr.decode(t.data(),e),t.id(),t.isDelta())}function Rj(t){return new oi(t.offset(),t.length())}function Tj(t){return new qo(t.length(),t.nullCount())}function Mj(t){const e=[];for(let n,r=-1,i=-1,s=t.nodesLength();++ryt.encode(t,s));Hr.startFieldsVector(t,n.length);const r=Hr.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?Hr.createCustomMetadataVector(t,[...e.metadata].map(([s,o])=>{const a=t.createString(`${s}`),l=t.createString(`${o}`);return zt.startKeyValue(t),zt.addKey(t,a),zt.addValue(t,l),zt.endKeyValue(t)})):-1;return Hr.startSchema(t),Hr.addFields(t,r),Hr.addEndianness(t,Kj?Xa.Little:Xa.Big),i!==-1&&Hr.addCustomMetadata(t,i),Hr.endSchema(t)}function $j(t,e){let n=-1,r=-1,i=-1;const s=e.type;let o=e.typeId;we.isDictionary(s)?(o=s.dictionary.typeId,i=xm.visit(s,t),r=xm.visit(s.dictionary,t)):r=xm.visit(s,t);const a=(s.children||[]).map(h=>yt.encode(t,h)),l=cr.createChildrenVector(t,a),f=e.metadata&&e.metadata.size>0?cr.createCustomMetadataVector(t,[...e.metadata].map(([h,m])=>{const y=t.createString(`${h}`),w=t.createString(`${m}`);return zt.startKeyValue(t),zt.addKey(t,y),zt.addValue(t,w),zt.endKeyValue(t)})):-1;return e.name&&(n=t.createString(e.name)),cr.startField(t),cr.addType(t,r),cr.addTypeType(t,o),cr.addChildren(t,l),cr.addNullable(t,!!e.nullable),n!==-1&&cr.addName(t,n),i!==-1&&cr.addDictionary(t,i),f!==-1&&cr.addCustomMetadata(t,f),cr.endField(t)}function jj(t,e){const n=e.nodes||[],r=e.buffers||[];Ii.startNodesVector(t,n.length);for(const o of n.slice().reverse())qo.encode(t,o);const i=t.endVector();Ii.startBuffersVector(t,r.length);for(const o of r.slice().reverse())oi.encode(t,o);const s=t.endVector();return Ii.startRecordBatch(t),Ii.addLength(t,new Uo(e.length,0)),Ii.addNodes(t,i),Ii.addBuffers(t,s),Ii.endRecordBatch(t)}function Uj(t,e){const n=nr.encode(t,e.data);return ua.startDictionaryBatch(t),ua.addId(t,new Uo(e.id,0)),ua.addIsDelta(t,e.isDelta),ua.addData(t,n),ua.endDictionaryBatch(t)}function zj(t,e){return ox.createFieldNode(t,new Uo(e.length,0),new Uo(e.nullCount,0))}function Vj(t,e){return sx.createBuffer(t,new Uo(e.offset,0),new Uo(e.length,0))}const Kj=(()=>{const t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),new Int16Array(t)[0]===256})(),P0=t=>`Expected ${Ve[t]} Message in stream, but was null or length 0.`,R0=t=>`Header pointer of flatbuffer-encoded ${Ve[t]} Message is null or length 0.`,cx=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,fx=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`;class dx{constructor(e){this.source=e instanceof Qd?e:new Qd(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?St:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(P0(e));return n.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const n=Ue(this.source.read(e));if(n.byteLength[...i,...s.VALIDITY&&[s.VALIDITY]||[],...s.TYPE&&[s.TYPE]||[],...s.OFFSET&&[s.OFFSET]||[],...s.DATA&&[s.DATA]||[],...n(s.children)],[])}}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(P0(e));return n.value}readSchema(){const e=Ve.Schema,n=this.readMessage(e),r=n==null?void 0:n.header();if(!n||!r)throw new Error(R0(e));return r}}const zh=4,gv="ARROW1",Ul=new Uint8Array(gv.length);for(let t=0;tthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return fr.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return fr.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof Bi?e:av(e)?Jj(e):Tk(e)?e4(e):Ms(e)?(()=>ve(this,void 0,void 0,function*(){return yield Bi.from(yield e)}))():Mk(e)||f0(e)||Nk(e)||fu(e)?Zj(new eu(e)):Xj(new Qd(e))}static readAll(e){return e instanceof Bi?e.isSync()?P1(e):R1(e):av(e)||ArrayBuffer.isView(e)||uc(e)||Rk(e)?P1(e):R1(e)}}class Zd extends Bi{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Dr(this,arguments,function*(){yield ge(yield*Df(Ds(this[Symbol.iterator]())))})}}class eh extends Bi{constructor(e){super(e),this._impl=e}readAll(){var e,n;return ve(this,void 0,void 0,function*(){const r=new Array;try{for(var i=Ds(this),s;s=yield i.next(),!s.done;){const o=s.value;r.push(o)}}catch(o){e={error:o}}finally{try{s&&!s.done&&(n=i.return)&&(yield n.call(i))}finally{if(e)throw e.error}}return r})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class px extends Zd{constructor(e){super(e),this._impl=e}}class Qj extends eh{constructor(e){super(e),this._impl=e}}class mx{constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,n){const r=this._loadVectors(e,n,this.schema.fields),i=Ne({type:new pn(this.schema.fields),length:e.length,children:r});return new En(this.schema,i)}_loadDictionaryBatch(e,n){const{id:r,isDelta:i}=e,{dictionaries:s,schema:o}=this,a=s.get(r);if(i||!a){const l=o.dictionaries.get(r),f=this._loadVectors(e.data,n,[l]);return(a&&i?a.concat(new Ke(f)):new Ke(f)).memoize()}return a.memoize()}_loadVectors(e,n,r){return new tx(n,e.nodes,e.buffers,this.dictionaries).visitMany(r)}}class th extends mx{constructor(e,n){super(n),this._reader=av(e)?new qj(this._handle=e):new dx(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=vx(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):St}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):St}next(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new A0(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class nh extends mx{constructor(e,n){super(n),this._reader=new Wj(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return ve(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return ve(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=vx(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):St})}return(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):St})}next(){return ve(this,void 0,void 0,function*(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new A0(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class yx extends th{constructor(e,n){super(e instanceof I1?e:new I1(e),n)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var n;if(this.closed)return null;this._footer||this.open();const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null}_readDictionaryBatch(e){var n;const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}}_readFooter(){const{_handle:e}=this,n=e.size-hx,r=e.readInt32(n),i=e.readAt(n-r,r);return jl.decode(i)}_readNextMessageAndValidate(e){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return ve(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,e)})}readRecordBatch(e){var n;return ve(this,void 0,void 0,function*(){if(this.closed)return null;this._footer||(yield this.open());const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null})}_readDictionaryBatch(e){var n;return ve(this,void 0,void 0,function*(){const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}})}_readFooter(){return ve(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const n=e.size-hx,r=yield e.readInt32(n),i=yield e.readAt(n-r,r);return jl.decode(i)})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?T0(e)?new px(new yx(t.read())):new Zd(new th(t)):new Zd(new th(function*(){}()))}function Zj(t){return ve(this,void 0,void 0,function*(){const e=yield t.peek(dc+7&-8);return e&&e.byteLength>=4?T0(e)?new px(new yx(yield t.read())):new eh(new nh(t)):new eh(new nh(function(){return Dr(this,arguments,function*(){})}()))})}function e4(t){return ve(this,void 0,void 0,function*(){const{size:e}=yield t.stat(),n=new Yd(t,e);return e>=Hj&&T0(yield n.readAt(0,dc+7&-8))?new Qj(new Yj(n)):new eh(new nh(n))})}class $t extends Be{constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}static assemble(...e){const n=i=>i.flatMap(s=>Array.isArray(s)?n(s):s instanceof En?s.data.children:s.data),r=new $t;return r.visitMany(n(e)),r}visit(e){if(e instanceof Ke)return this.visitMany(e.data),this;const{type:n}=e;if(!we.isDictionary(n)){const{length:r,nullCount:i}=e;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");we.isNull(n)||Pr.call(this,i<=0?new Uint8Array(0):_0(e.offset,r,e.nullBitmap)),this.nodes.push(new qo(r,i))}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}}function Pr(t){const e=t.byteLength+7&-8;return this.buffers.push(t),this.bufferRegions.push(new oi(this._byteLength,e)),this._byteLength+=e,this}function t4(t){const{type:e,length:n,typeIds:r,valueOffsets:i}=t;if(Pr.call(this,r),e.mode===tr.Sparse)return wv.call(this,t);if(e.mode===tr.Dense){if(t.offset<=0)return Pr.call(this,i),wv.call(this,t);{const s=r.reduce((h,m)=>Math.max(h,m),r[0]),o=new Int32Array(s+1),a=new Int32Array(s+1).fill(-1),l=new Int32Array(n),f=h0(-i[0],n,i);for(let h,m,y=-1;++y=t.length?Pr.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?Pr.call(this,_0(t.offset,t.length,e)):Pr.call(this,jd(t.values))}function Ys(t){return Pr.call(this,t.values.subarray(0,t.length*t.stride))}function gx(t){const{length:e,values:n,valueOffsets:r}=t,i=r[0],s=r[e],o=Math.min(s-i,n.byteLength-i);return Pr.call(this,h0(-r[0],e,r)),Pr.call(this,n.subarray(i,i+o)),this}function M0(t){const{length:e,valueOffsets:n}=t;return n&&Pr.call(this,h0(n[0],e,n)),this.visit(t.children[0])}function wv(t){return this.visitMany(t.type.children.map((e,n)=>t.children[n]).filter(Boolean))[0]}$t.prototype.visitBool=n4;$t.prototype.visitInt=Ys;$t.prototype.visitFloat=Ys;$t.prototype.visitUtf8=gx;$t.prototype.visitBinary=gx;$t.prototype.visitFixedSizeBinary=Ys;$t.prototype.visitDate=Ys;$t.prototype.visitTimestamp=Ys;$t.prototype.visitTime=Ys;$t.prototype.visitDecimal=Ys;$t.prototype.visitList=M0;$t.prototype.visitStruct=wv;$t.prototype.visitUnion=t4;$t.prototype.visitInterval=Ys;$t.prototype.visitFixedSizeList=M0;$t.prototype.visitMap=M0;class wx extends O0{constructor(e){super(),this._position=0,this._started=!1,this._sink=new Lf,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Nn(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof e.autoDestroy=="boolean"?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat=="boolean"?e.writeLegacyIpcFormat:!1}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Ms(e)?e.then(n=>this.writeAll(n)):fu(e)?L0(this,e):F0(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,n=null){return e===this._sink||e instanceof Lf?this._sink=e:(this._sink=new Lf,e&&I3(e)?this.toDOMStream({type:"bytes"}).pipeTo(e):e&&E3(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!n||!mv(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(e){let n=null;if(this._sink){if(e==null)return this.finish()&&void 0;if(e instanceof hn&&!(n=e.schema))return this.finish()&&void 0;if(e instanceof En&&!(n=e.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!mv(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}e instanceof En?e instanceof A0||this._writeRecordBatch(e):e instanceof hn?this.writeAll(e.batches):uc(e)&&this.writeAll(e)}_writeMessage(e,n=8){const r=n-1,i=mn.encode(e),s=i.byteLength,o=this._writeLegacyIpcFormat?4:8,a=s+o+r&~r,l=a-s-o;return e.headerType===Ve.RecordBatch?this._recordBatchBlocks.push(new Ls(a,e.bodyLength,this._position)):e.headerType===Ve.DictionaryBatch&&this._dictionaryBlocks.push(new Ls(a,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),s>0&&this._write(i),this._writePadding(l)}_write(e){if(this._started){const n=Ue(e);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(e){return this._writeMessage(mn.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Ul)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){const{byteLength:n,nodes:r,bufferRegions:i,buffers:s}=$t.assemble(e),o=new nr(e.numRows,r,i),a=mn.from(o,n);return this._writeDictionaries(e)._writeMessage(a)._writeBodyBuffers(s)}_writeDictionaryBatch(e,n,r=!1){this._dictionaryDeltaOffsets.set(n,e.length+(this._dictionaryDeltaOffsets.get(n)||0));const{byteLength:i,nodes:s,bufferRegions:o,buffers:a}=$t.assemble(new Ke([e])),l=new nr(e.length,s,o),f=new hi(l,n,r),h=mn.from(f,i);return this._writeMessage(h)._writeBodyBuffers(a)}_writeBodyBuffers(e){let n,r,i;for(let s=-1,o=e.length;++s0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(e){for(let[n,r]of e.dictionaries){let i=this._dictionaryDeltaOffsets.get(n)||0;if(i===0||(r=r==null?void 0:r.slice(i)).length>0)for(const s of r.data)this._writeDictionaryBatch(s,n,i>0),i+=s.length}return this}}class N0 extends wx{static writeAll(e,n){const r=new N0(n);return Ms(e)?e.then(i=>r.writeAll(i)):fu(e)?L0(r,e):F0(r,e)}}class B0 extends wx{static writeAll(e){const n=new B0;return Ms(e)?e.then(r=>n.writeAll(r)):fu(e)?L0(n,e):F0(n,e)}constructor(){super(),this._autoDestroy=!0}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeFooter(e){const n=jl.encode(new jl(e,Yn.V4,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}}function F0(t,e){let n=e;e instanceof hn&&(n=e.batches,t.reset(void 0,e.schema));for(const r of n)t.write(r);return t.finish()}function L0(t,e){var n,r,i,s;return ve(this,void 0,void 0,function*(){try{for(n=Ds(e);r=yield n.next(),!r.done;){const o=r.value;t.write(o)}}catch(o){i={error:o}}finally{try{r&&!r.done&&(s=n.return)&&(yield s.call(n))}finally{if(i)throw i.error}}return t.finish()})}function Ku(t){const e=Bi.from(t);return Ms(e)?e.then(n=>Ku(n)):e.isAsync()?e.readAll().then(n=>new hn(n)):new hn(e.readAll())}function Cm(t,e="stream"){return(e==="stream"?N0:B0).writeAll(t).toUint8Array(!0)}var T1=function(){function t(e,n,r,i){var s=this;this.getCell=function(o,a){var l=o=s.headerRows&&a=s.headerColumns;if(l){var m=["blank"];return a>0&&m.push("level"+o),{type:"blank",classNames:m.join(" "),content:""}}else if(h){var y=a-s.headerColumns,m=["col_heading","level"+o,"col"+y];return{type:"columns",classNames:m.join(" "),content:s.getContent(s.columnsTable,y,o)}}else if(f){var w=o-s.headerRows,m=["row_heading","level"+a,"row"+w];return{type:"index",id:"T_".concat(s.uuid,"level").concat(a,"_row").concat(w),classNames:m.join(" "),content:s.getContent(s.indexTable,w,a)}}else{var w=o-s.headerRows,y=a-s.headerColumns,m=["data","row"+w,"col"+y],I=s.styler?s.getContent(s.styler.displayValuesTable,w,y):s.getContent(s.dataTable,w,y);return{type:"data",id:"T_".concat(s.uuid,"row").concat(w,"_col").concat(y),classNames:m.join(" "),content:I}}},this.getContent=function(o,a,l){var f=o.getChildAt(l);if(f===null)return"";var h=s.getColumnTypeId(o,l);switch(h){case N.Timestamp:return s.nanosToDate(f.get(a));default:return f.get(a)}},this.dataTable=Ku(e),this.indexTable=Ku(n),this.columnsTable=Ku(r),this.styler=i?{caption:i.caption,displayValuesTable:Ku(i.displayValues),styles:i.styles,uuid:i.uuid}:void 0}return Object.defineProperty(t.prototype,"rows",{get:function(){return this.indexTable.numRows+this.columnsTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this.indexTable.numCols+this.columnsTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerRows",{get:function(){return this.rows-this.dataRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerColumns",{get:function(){return this.columns-this.dataColumns},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataRows",{get:function(){return this.dataTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumns",{get:function(){return this.dataTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"uuid",{get:function(){return this.styler&&this.styler.uuid},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"caption",{get:function(){return this.styler&&this.styler.caption},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"styles",{get:function(){return this.styler&&this.styler.styles},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"table",{get:function(){return this.dataTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"index",{get:function(){return this.indexTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columnTable",{get:function(){return this.columnsTable},enumerable:!1,configurable:!0}),t.prototype.serialize=function(){return{data:Cm(this.dataTable),index:Cm(this.indexTable),columns:Cm(this.columnsTable)}},t.prototype.getColumnTypeId=function(e,n){return e.schema.fields[n].type.typeId},t.prototype.nanosToDate=function(e){return new Date(e/1e6)},t}(),al=function(){return al=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0?t.argsDataframeToObject(e.dfs):{};n=al(al({},n),r);var i=!!e.disabled,s=e.theme;s&&r4(s);var o={disabled:i,args:n,theme:s},a=new CustomEvent(t.RENDER_EVENT,{detail:o});t.events.dispatchEvent(a)},t.argsDataframeToObject=function(e){var n=e.map(function(r){var i=r.key,s=r.value;return[i,t.toArrowTable(s)]});return Object.fromEntries(n)},t.toArrowTable=function(e){var n,r=(n=e.data,n.data),i=n.index,s=n.columns,o=n.styler;return new T1(r,i,s,o)},t.sendBackMsg=function(e,n){window.parent.postMessage(al({isStreamlitMessage:!0,type:e},n),"*")},t}(),r4=function(t){var e=document.createElement("style");document.head.appendChild(e),e.innerHTML=` :root { --primary-color: `.concat(t.primaryColor,`; --background-color: `).concat(t.backgroundColor,`; @@ -88,4 +88,4 @@ object-assign background-color: var(--background-color); color: var(--text-color); } - `)};function r4(t){var e=!1;try{e=t instanceof BigInt64Array||t instanceof BigUint64Array}catch{}return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array||e}var wx=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]=i[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();(function(t){wx(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.componentDidMount=function(){On.setFrameHeight()},e.prototype.componentDidUpdate=function(){On.setFrameHeight()},e})(ra.PureComponent);function i4(t){var e=function(n){wx(r,n);function r(i){var s=n.call(this,i)||this;return s.componentDidMount=function(){On.events.addEventListener(On.RENDER_EVENT,s.onRenderEvent),On.setComponentReady()},s.componentDidUpdate=function(){s.state.componentError!=null&&On.setFrameHeight()},s.componentWillUnmount=function(){On.events.removeEventListener(On.RENDER_EVENT,s.onRenderEvent)},s.onRenderEvent=function(o){s.setState({renderData:o.detail})},s.state={renderData:void 0,componentError:void 0},s}return r.prototype.render=function(){return this.state.componentError!=null?ra.createElement("div",null,ra.createElement("h1",null,"Component Error"),ra.createElement("span",null,this.state.componentError.message)):this.state.renderData==null?null:ra.createElement(t,{width:window.innerWidth,disabled:this.state.renderData.disabled,args:this.state.renderData.args,theme:this.state.renderData.theme})},r.getDerivedStateFromError=function(i){return{componentError:i}},r}(ra.PureComponent);return GL(e,t)}var s4=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n};const o4=rh(s4);let hf;const a4=new Uint8Array(16);function u4(){if(!hf&&(hf=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!hf))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return hf(a4)}const Jt=[];for(let t=0;t<256;++t)Jt.push((t+256).toString(16).slice(1));function l4(t,e=0){return Jt[t[e+0]]+Jt[t[e+1]]+Jt[t[e+2]]+Jt[t[e+3]]+"-"+Jt[t[e+4]]+Jt[t[e+5]]+"-"+Jt[t[e+6]]+Jt[t[e+7]]+"-"+Jt[t[e+8]]+Jt[t[e+9]]+"-"+Jt[t[e+10]]+Jt[t[e+11]]+Jt[t[e+12]]+Jt[t[e+13]]+Jt[t[e+14]]+Jt[t[e+15]]}const c4=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),T1={randomUUID:c4};function f4(t,e,n){if(T1.randomUUID&&!e&&!t)return T1.randomUUID();t=t||{};const r=t.random||(t.rng||u4)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){n=n||0;for(let i=0;i<16;++i)e[n+i]=r[i];return e}return l4(r)}const{isEmpty:pf}=Br,d4=(t,e)=>{const[n,r]=oi.useState(),i=oi.useRef(t);return oi.useEffect(()=>{if(!(!n||pf(t)||o4(t,i.current))){if(i.current=t,!pf(t.added_rows)){const s=t.added_rows.map(o=>({...o,id:f4(),createdAt:new Date().toISOString(),last_modified:Date.now()}));e.upsertBulk(s)}if(!pf(t.deleted_rows)){const s=[];t.deleted_rows.forEach(o=>{const a=n.at(o);a&&s.push(a.id)}),e.removeBulk(s)}pf(t.edited_rows)||Object.entries(t.edited_rows).forEach(([s,o])=>{const a=n.at(parseInt(s));a&&e.set(a.id,o)})}},[t,n]),[n,r]},h4=()=>{const[t,e]=oi.useState(),n=new su;return oi.useEffect(()=>{const r=s=>{e(s.detail)};return On.events.addEventListener(On.RENDER_EVENT,r),On.setComponentReady(),()=>{On.events.removeEventListener(On.RENDER_EVENT,r),n.unsubscribe()}},[]),[t,n]},{logger:M1,isEmptyObject:p4}=Br,m4=t=>{const[e,n]=oi.useState(),[r,i]=h4(),{editing_state:s,collection_config:o,db_config:a,query:l,with_rev:f}=(r==null?void 0:r.args)||{},h=oi.useRef(),m=oi.useRef();h.current||(h.current=new NL);const y=()=>m.current,[,w]=d4(s,y());async function I(F){const S=wF(F);return h.current.initDb(S)}async function E(F){m.current||(m.current=new Je(F,h.current)),await y().info(),n(!0);const S=y().docs(l,f).subscribe(_=>{_&&(M1.table(_),w(_),On.setComponentValue(_))});i.add(S)}if(p4(r))return null;if(!e)try{I(a).then(()=>E(o))}catch(F){M1.log("Error initializing database",F)}return t.args.element},y4=i4(m4),v4=QI(document.getElementById("root"));v4.render(_A.jsx(y4,{})); + `)};function i4(t){var e=!1;try{e=t instanceof BigInt64Array||t instanceof BigUint64Array}catch{}return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array||e}var _x=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]=i[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();(function(t){_x(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.componentDidMount=function(){On.setFrameHeight()},e.prototype.componentDidUpdate=function(){On.setFrameHeight()},e})(ia.PureComponent);function s4(t){var e=function(n){_x(r,n);function r(i){var s=n.call(this,i)||this;return s.componentDidMount=function(){On.events.addEventListener(On.RENDER_EVENT,s.onRenderEvent),On.setComponentReady()},s.componentDidUpdate=function(){s.state.componentError!=null&&On.setFrameHeight()},s.componentWillUnmount=function(){On.events.removeEventListener(On.RENDER_EVENT,s.onRenderEvent)},s.onRenderEvent=function(o){s.setState({renderData:o.detail})},s.state={renderData:void 0,componentError:void 0},s}return r.prototype.render=function(){return this.state.componentError!=null?ia.createElement("div",null,ia.createElement("h1",null,"Component Error"),ia.createElement("span",null,this.state.componentError.message)):this.state.renderData==null?null:ia.createElement(t,{width:window.innerWidth,disabled:this.state.renderData.disabled,args:this.state.renderData.args,theme:this.state.renderData.theme})},r.getDerivedStateFromError=function(i){return{componentError:i}},r}(ia.PureComponent);return JL(e,t)}var o4=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n};const a4=rh(o4);let hf;const u4=new Uint8Array(16);function l4(){if(!hf&&(hf=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!hf))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return hf(u4)}const Jt=[];for(let t=0;t<256;++t)Jt.push((t+256).toString(16).slice(1));function c4(t,e=0){return Jt[t[e+0]]+Jt[t[e+1]]+Jt[t[e+2]]+Jt[t[e+3]]+"-"+Jt[t[e+4]]+Jt[t[e+5]]+"-"+Jt[t[e+6]]+Jt[t[e+7]]+"-"+Jt[t[e+8]]+Jt[t[e+9]]+"-"+Jt[t[e+10]]+Jt[t[e+11]]+Jt[t[e+12]]+Jt[t[e+13]]+Jt[t[e+14]]+Jt[t[e+15]]}const f4=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),M1={randomUUID:f4};function d4(t,e,n){if(M1.randomUUID&&!e&&!t)return M1.randomUUID();t=t||{};const r=t.random||(t.rng||l4)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){n=n||0;for(let i=0;i<16;++i)e[n+i]=r[i];return e}return c4(r)}const{logger:Am,isEmpty:pf}=Fr,h4=(t,e)=>{const[n,r]=qn.useState(),i=qn.useRef(t);return qn.useEffect(()=>{if(!n||pf(t)||a4(t,i.current))return;i.current=t;const{added_rows:s,edited_rows:o,deleted_rows:a}=t;if(!pf(s)){const l=s.map(f=>({...f,id:d4(),createdAt:new Date().toISOString(),last_modified:Date.now()}));if(!l.length)return;e.upsertBulk(l).catch(f=>Am.log("upsertBulk",f))}if(!pf(a)){const l=[];if(a.forEach(f=>{const h=n.at(f);h&&l.push(h.id)}),!l.length)return;e.removeBulk(l).catch(f=>Am.log("removeBulk",f))}if(!pf(o)){const l=Object.entries(o).map(([f,h])=>({...n.at(parseInt(f)),...h,last_modified:Date.now()}));if(!l.length)return;e.upsertBulk(l).catch(f=>Am.log("upsertBulk",f))}},[t,n,e]),[n,r]},p4=t=>{const[e,n]=qn.useState();return qn.useEffect(()=>{const r=s=>{n(s.detail)};return On.events.addEventListener(On.RENDER_EVENT,r),On.setComponentReady(),()=>{On.events.removeEventListener(On.RENDER_EVENT,r),t.unsubscribe()}},[]),e},{logger:N1,isEmptyObject:m4}=Fr,y4=t=>{const[e,n]=qn.useState(),r=new Bo,i=qn.useRef();i.current||(i.current=new Bo);const s=p4(i.current),{editing_state:o,collection_config:a,db_config:l,query:f,with_rev:h}=(s==null?void 0:s.args)||{},m=qn.useRef(),y=qn.useRef();m.current||(m.current=new BL);const w=()=>y.current,[,I]=h4(o,w()),E=qn.useCallback(S=>{const _=_F(S);return m.current.initDb(_)},[]),$=qn.useCallback(async S=>{y.current||(y.current=new Je(S,m.current)),await w().info(),n(!0);const _=w().docs(f,h).subscribe(O=>{O&&(N1.table(O),I(O),On.setComponentValue(O))});r.add(_)},[]);return m4(s)?null:(e||E(l).then(()=>$(a)).catch(N1.log),t.args.element)},v4=s4(y4),g4=YI(document.getElementById("root"));g4.render(bC.jsx(v4,{})); diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframe.tsx b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframe.tsx index 358a025..122aaa0 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframe.tsx +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframe.tsx @@ -16,6 +16,7 @@ import { import { RxDBDataframeArgs } from './RxDBDataframeArgs'; import { useEditedState } from './useEditingState'; import { useNullableRenderData } from './useNullableRenderData'; +import { Subscription } from 'rxjs'; const { logger, isEmptyObject } = NgxRxdbUtils; @@ -24,7 +25,12 @@ const { logger, isEmptyObject } = NgxRxdbUtils; */ const RxDBDataframe: React.FC = props => { const [inited, setInited] = useState(); - const [renderData, sub] = useNullableRenderData(); + const sub = new Subscription(); + const subRef = useRef(); + if (!subRef.current) { + subRef.current = new Subscription(); + } + const renderData = useNullableRenderData(subRef.current); // Parse the render data const { editing_state, collection_config, db_config, query, with_rev } = renderData?.['args'] || ({} as RxDBDataframeArgs); diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useEditingState.ts b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useEditingState.ts index 5f5e754..975cd53 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useEditingState.ts +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useEditingState.ts @@ -32,8 +32,10 @@ export const useEditedState = ( } editingStateRef.current = editingState; - if (!isEmpty(editingState.added_rows)) { - const docs = editingState.added_rows.map(item => ({ + const { added_rows: added, edited_rows: edited, deleted_rows: deleted } = editingState; + + if (!isEmpty(added)) { + const docs = added.map(item => ({ ...item, id: uuid(), createdAt: new Date().toISOString(), @@ -43,9 +45,9 @@ export const useEditedState = ( collectionService.upsertBulk(docs).catch(error => logger.log('upsertBulk', error)); } - if (!isEmpty(editingState.deleted_rows)) { + if (!isEmpty(deleted)) { const ids: string[] = []; - editingState.deleted_rows.forEach(rowIndex => { + deleted.forEach(rowIndex => { const entity = entities.at(rowIndex); if (entity) { ids.push(entity.id); @@ -55,8 +57,8 @@ export const useEditedState = ( collectionService.removeBulk(ids).catch(error => logger.log('removeBulk', error)); } - if (!isEmpty(editingState.edited_rows)) { - const docs = Object.entries(editingState.edited_rows).map(([rowIndex, change]) => { + if (!isEmpty(edited)) { + const docs = Object.entries(edited).map(([rowIndex, change]) => { const entity = entities.at(parseInt(rowIndex)); return { ...entity, @@ -67,7 +69,7 @@ export const useEditedState = ( if (!docs.length) return; collectionService.upsertBulk(docs).catch(error => logger.log('upsertBulk', error)); } - }, [editingState, entities]); + }, [editingState, entities, collectionService]); return [entities, setEntities]; }; diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useNullableRenderData.ts b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useNullableRenderData.ts index 0f28b09..63d3d10 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useNullableRenderData.ts +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useNullableRenderData.ts @@ -5,13 +5,12 @@ import { RxDBDataframeArgs } from './RxDBDataframeArgs'; /** * Returns `RenderData` received from Streamlit after the first render event received. + * @param sub Subscriptions holder */ -export const useNullableRenderData = (): [ - RenderData | undefined, - Subscription, -] => { +export const useNullableRenderData = ( + sub: Subscription +): RenderData | undefined => { const [renderData, setRenderData] = useState>(); - const sub = new Subscription(); useEffect(() => { const onRenderEvent = (event: Event): void => { @@ -31,5 +30,5 @@ export const useNullableRenderData = (): [ return cleanup; }, []); - return [renderData, sub]; + return renderData; }; From 75ec3f396d58d8a9b54202dcd8d8eb8ac382bb26 Mon Sep 17 00:00:00 2001 From: Vadym Parakonnyi Date: Mon, 18 Mar 2024 18:04:16 +0100 Subject: [PATCH 6/7] fix: implement centralized state, fix rendering with query --- .vscode/settings.json | 5 +- package.json | 1 + packages/streamlit-rxdb-dataframe/example.py | 239 +++++++++++------- .../streamlit-rxdb-dataframe/pyproject.toml | 10 +- .../rxdb_dataframe/__init__.py | 223 ++++++++-------- .../build/assets/data/todo.schema.json | 5 +- .../rxdb_dataframe/frontend/build/index.js | 39 +-- .../frontend/build/index.js.map | 1 + .../public/assets/data/todo.schema.json | 5 +- .../frontend/src/lib/RxDBDataframe.tsx | 45 +++- .../frontend/src/lib/useEditingState.ts | 2 +- .../rxdb_dataframe/frontend/vite.config.ts | 1 + 12 files changed, 334 insertions(+), 242 deletions(-) create mode 100644 packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js.map diff --git a/.vscode/settings.json b/.vscode/settings.json index 6ccd01a..7a28736 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -10,5 +10,8 @@ "statusBarItem.remoteForeground": "#e7e7e7" }, "peacock.color": "#8d2089", - "python.defaultInterpreterPath": "/home/voznik/.cache/pypoetry/virtualenvs/streamlit-rxdb-dataframe-zuiqvGqO-py3.10" + "python.defaultInterpreterPath": "/home/voznik/.cache/pypoetry/virtualenvs/streamlit-rxdb-dataframe-zuiqvGqO-py3.10", + "flake8.args": ["--max-line-length=100"], + "flake8.importStrategy": "fromEnvironment", + "black-formatter.args": ["--line-length=100"] } diff --git a/package.json b/package.json index ddd653e..429b56a 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "dep-graph": "nx dep-graph", "analyze:demo": "node --max_old_space_size=8000 ./node_modules/.bin/source-map-explorer dist/demo/{vendor,main}.*.js{,.map} -m --no-border-checks", "analyze:standalone": "node --max_old_space_size=8000 ./node_modules/.bin/source-map-explorer dist/standalone/browser/{chunk,main}-*.js{,.map} -m --no-border-checks", + "analyze:streamlit": "node --max_old_space_size=8000 ./node_modules/.bin/source-map-explorer packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js{,.map} -m --no-border-checks", "analyze:file": "node --max_old_space_size=8000 ./node_modules/.bin/source-map-explorer dist/demo/{vendor,main}.*.js{,.map} -m --no-border-checks --html dist/out/result.html", "changelog:write": "conventional-changelog -p angular -i CHANGELOG.md -s --config=tools/scripts/conventional-changelog-config.js --skip-unstable", "compodoc": "nx run tools:compodoc" diff --git a/packages/streamlit-rxdb-dataframe/example.py b/packages/streamlit-rxdb-dataframe/example.py index b79f9ee..c39a703 100644 --- a/packages/streamlit-rxdb-dataframe/example.py +++ b/packages/streamlit-rxdb-dataframe/example.py @@ -1,119 +1,164 @@ +import json +import os +from typing import Dict, List import streamlit as st +from streamlit.runtime.caching import cache_data from rxdb_dataframe import ( + RXDB_COLLECTION_EDITOR_KEY, RxCollectionCreator, - RxJsonSchema, - get_dataframe_by_schema, - reset_editing_state, + RxDBSessionState, rxdb_dataframe, - get_column_config, ) -import datetime -# from jsonschema import validate, TypeChecker +# from pandas.api.types import ( is_bool_dtype, is_categorical_dtype, is_datetime64_any_dtype, is_numeric_dtype, is_object_dtype, ) # noqa: E501 -collection_name = "todo" -todoSchema: RxJsonSchema = { - "type": "object", - "title": "Todo", - "description": "Todo Schema", - "required": ["id", "title", "createdAt"], - "version": 0, - "properties": { - "id": { - "type": "string", - "format": "uuid", - "title": "Id", - "pattern": "^(.*)$", - "maxLength": 36, - "readOnly": True, - }, - "title": { - "type": "string", - "title": "Title", - "minLength": 3, - }, - "completed": {"type": "boolean", "title": "Done"}, - "createdAt": { - "type": "string", - "title": "Created Date", - "format": "date-time", - "readOnly": True, - }, - "last_modified": { - "type": "integer", - "format": "time", - "title": "Last Modified Date", - "description": "Last modified date in milliseconds, " - + "automatically updated by database", - "multipleOf": 1, - }, - }, - "primaryKey": "id", - "attachments": {"encrypted": False}, -} +current_dir = os.path.dirname(os.path.abspath(__file__)) +data_dir = os.path.join(current_dir, "rxdb_dataframe/frontend/public/assets/data") -initial_docs = [ - { - "id": "ac3ef2c6-c98b-43e1-9047-71d68b1f92f4", - "title": "Python Todo list example", - "completed": True, - "createdAt": datetime.datetime.fromtimestamp(1546300800).isoformat(), - "last_modified": 1546300800000, - }, - { - "id": "a4c6a479-7cca-4d3b-ab90-45d3eaa957f3", - "title": "Python example 2", - "completed": False, - "createdAt": datetime.datetime.fromtimestamp(1548979200).isoformat(), - "last_modified": 1548979200000, - }, - { - "id": "a4c6a479-7cca-4d3b-bc10-45d3eaa957r5", - "title": 'Use "@ngx-odm/rxdb" in your project', - "completed": False, - "createdAt": datetime.datetime.now().isoformat(), - "last_modified": int( - datetime.datetime.now().timestamp() * 1000 - ), # in milliseconds - }, -] +collection_name = "todo" +todoSchema: Dict = json.load(open(os.path.join(data_dir, "todo.schema.json"))) +initial_docs: List = json.load(open(os.path.join(data_dir, "col.dump.json")))["docs"] collection_config: RxCollectionCreator = { "name": collection_name, - "schema": todoSchema, # to load schema from remote url pass None + "schema": todoSchema, # to auto load schema from remote url pass None "localDocuments": True, "options": { # 'schemaUrl': 'assets/data/todo.schema.json', "initialDocs": initial_docs, - "recreate": True, + "recreate": False, }, } -collection_query = {"selector": {}, "sort": [{"createdAt": "desc"}]} -df = get_dataframe_by_schema(todoSchema) -column_config = get_column_config(todoSchema) -data = rxdb_dataframe( - collection_config, dataframe=df, query=collection_query, with_rev=False -) -def on_change(): - """ - Called after RxDB Dataframe component applies changes - """ - st.success("on_change") - reset_editing_state(collection_name) +state = RxDBSessionState() +# operators = ["$eq", "$gt", "$gte", "$lt", "$lte", "$ne"] + + +def on_change_dataframe(rxdb_state: RxDBSessionState): + print("RxDBDataframe component on_change call") + print("collection.info()", rxdb_state.info) + print("dataframe.head()", rxdb_state.dataframe.head()) -st.data_editor( - data, - key=collection_name, - num_rows="dynamic", - use_container_width=True, - column_config=column_config, - column_order=["title", "completed", "createdAt"], - on_change=on_change, +@cache_data +def apply_row_style(row): + return ( + ["color:green"] * len(row) if row.completed else ["color:grey"] * len(row) # default color + ) # noqa: E501 + + +query = state.query +display = st.radio( + "Display RxDB collection as:", + options=["dataframe", "data_editor", "table"], + horizontal=True, +) +filter = st.radio( + label="Filter data using RxDB **RxQuery**", + help="MangoQuery syntax", + label_visibility="visible", + options=["all", "active", "completed"], + horizontal=True, ) -st.sidebar.title("Collection Query") -st.sidebar.json(collection_query) -# st.sidebar.title("State") -# st.sidebar.json(st.session_state.to_dict()) +if filter == "active": + query = {"selector": {"completed": {"$eq": False}}} +elif filter == "completed": + query = {"selector": {"completed": {"$eq": True}}} +else: + query = {"selector": {}} + +df = rxdb_dataframe( + collection_config, + query=query, + with_rev=False, + on_change=on_change_dataframe, +) + +if display == "data_editor": + st.data_editor( + df.style.apply(apply_row_style, axis=1), + use_container_width=True, + hide_index=True, + column_config=state.column_config, + column_order=["title", "completed", "createdAt"], + num_rows="dynamic", + key=RXDB_COLLECTION_EDITOR_KEY, + ) +elif display == "dataframe": + st.dataframe( + df.style.apply(apply_row_style, axis=1), + use_container_width=True, + hide_index=True, + column_config=state.column_config, + column_order=["title", "completed", "createdAt"], + ) +else: + st.table( + df.style.apply(apply_row_style, axis=1), + ) + + +with st.sidebar: + st.write("RxDB Collection Config") + st.json(collection_config, expanded=False) + + st.write("RsDB Session State:") + st.json(st.session_state, expanded=False) + # TODO: Add form to construct RxQuery + # query_container = st.container() + # with query_container: + # to_filter_columns = st.multiselect( + # "Filter dataframe on", + # df.columns, + # key=f"{prefix}_multiselect", + # ) + # filters: Dict[str, Any] = dict() + # for column in to_filter_columns: + # left, right = st.columns((1, 20)) + # # Treat columns with < 10 unique values as categorical + # if is_categorical_dtype(df[column]) or df[column].nunique() < 10: + # left.write("↳") + # filters[column] = right.multiselect( + # f"Values for {column}", + # df[column].unique(), + # default=list(df[column].unique()), + # key=f"{prefix}_{column}", + # ) + # df = df[df[column].isin(filters[column])] + # elif is_numeric_dtype(df[column]): + # left.write("↳") + # _min = float(df[column].min()) + # _max = float(df[column].max()) + # step = (_max - _min) / 100 + # filters[column] = right.slider( + # f"Values for {column}", + # _min, + # _max, + # (_min, _max), + # step=step, + # key=f"{prefix}_{column}", + # ) + # df = df[df[column].between(*filters[column])] + # elif is_datetime64_any_dtype(df[column]): + # left.write("↳") + # filters[column] = right.date_input( + # f"Values for {column}", + # value=( + # df[column].min(), + # df[column].max(), + # ), + # key=f"{prefix}_{column}", + # ) + # if len(filters[column]) == 2: + # filters[column] = tuple(map(pd.to_datetime, filters[column])) # noqa: E501 + # start_date, end_date = filters[column] + # df = df.loc[df[column].between(start_date, end_date)] + # else: + # left.write("↳") + # filters[column] = right.text_input( + # f"Pattern in {column}", + # key=f"{prefix}_{column}", + # ) + # if filters[column]: + # print(filters[column]) diff --git a/packages/streamlit-rxdb-dataframe/pyproject.toml b/packages/streamlit-rxdb-dataframe/pyproject.toml index 91d2d63..acf02f1 100644 --- a/packages/streamlit-rxdb-dataframe/pyproject.toml +++ b/packages/streamlit-rxdb-dataframe/pyproject.toml @@ -32,7 +32,7 @@ flake8-annotations-complexity = "^0.0.8" [tool.isort] profile = "black" -line_length = 88 +line_length = 100 skip = ["./.venv", "./direnv", ".env"] [tool.black] @@ -50,10 +50,10 @@ exclude = ''' ) ''' include = '\.pyi?$' -line-length = 88 +line-length = 100 [tool.flake8] -max-line-length = 88 +max-line-length = 100 ignore = ["E501"] [tool.mypy] @@ -75,9 +75,9 @@ exclude = [ ".direnv", "streamlit_patches.py", ] -target-version = "py39" +target-version = "py310" ignore = ["E501"] -line-length = 88 +line-length = 100 select = ["B", "E", "F", "W", "I"] [tool.ruff.per-file-ignores] diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py index 28d1b0e..d1e4eca 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py @@ -1,22 +1,16 @@ import os +from typing import Any, Callable, Dict, List, Optional, Union + import pandas as pd import streamlit as st import streamlit.components.v1 as components - -# from streamlit.connections import ExperimentalBaseConnection -# from jsonschema import validate, TypeChecker +from streamlit import session_state as ss +from streamlit.elements.lib.column_config_utils import ( + ColumnConfig, + ColumnConfigMappingInput as ColumnConfigMap, + ColumnDataKind, +) from streamlit.runtime.caching import cache_data -from typing import Any, Optional, Dict, Union, List, Callable - -default_db_config = { - "name": "streamlit-rxdb", - "options": {"storageType": "dexie"}, - "multiInstance": False, - "ignoreDuplicate": True, -} - - -# https://experimental-connection.streamlit.app/Build_your_own class RxJsonSchema: @@ -27,14 +21,13 @@ def __init__( type: Union["object", str], properties: Dict[str, Dict[str, Any]], required: Optional[List[str]] = None, - indexes: Optional[List[Union[str, List[str]]]] = None, - internalIndexes: Optional[List[List[str]]] = None, + indexes: Optional[List[Union[str, List[str]]]] = None, # noqa: TAE002 + internalIndexes: Optional[List[List[str]]] = None, # noqa: TAE002 encrypted: Optional[List[str]] = None, keyCompression: Optional[bool] = None, additionalProperties: Optional[bool] = None, title: Optional[str] = None, description: Optional[str] = None, - # sharding: Optional[Sharding] = None, # attachments: Optional[Dict[str, Any]] = None, # crdt: Optional["CRDTSchemaOptions"] = None, ): @@ -51,7 +44,6 @@ def __init__( self.keyCompression = keyCompression self.additionalProperties = additionalProperties # self.attachments = attachments - # self.sharding = sharding # self.crdt = crdt @@ -60,67 +52,99 @@ def __init__( self, schema: RxJsonSchema, instanceCreationOptions: Optional[Any] = None, - # migrationStrategies: Optional['MigrationStrategies'] = None, autoMigrate: Optional[bool] = None, - # statics: Optional[Dict[str, 'Function']] = None, - # methods: Optional[Dict[str, 'Function']] = None, attachments: Optional[Dict[str, Callable]] = None, options: Optional[Any] = None, localDocuments: Optional[bool] = None, + # migrationStrategies: Optional['MigrationStrategies'] = None, # cacheReplacementPolicy: Optional['RxCacheReplacementPolicy'] = None, # conflictHandler: Optional['RxConflictHandler'] = None ): self.schema = schema self.instanceCreationOptions = instanceCreationOptions - # self.migrationStrategies = migrationStrategies self.autoMigrate = autoMigrate - # self.statics = statics - # self.methods = methods self.attachments = attachments self.options = options self.localDocuments = localDocuments + # self.migrationStrategies = migrationStrategies # self.cacheReplacementPolicy = cacheReplacementPolicy # self.conflictHandler = conflictHandler -class MangoQuery: - def __init__( - self, - selector: Dict[str, Any], - sort: Optional[List[Dict[str, str]]] = None, - limit: Optional[int] = None, - skip: Optional[int] = None, - ): - self.selector = selector - self.sort = sort - self.limit = limit - self.skip = skip +class RxDBSessionState: + """ + Represents the `session_state` wrapper object for RxDBDataframe component + """ + + def __init__(self): + if RXDB_STATE_KEY not in ss: + ss[RXDB_STATE_KEY] = { + "info": {}, # collection info + "with_rev": False, # include revision in the result + "query": {"selector": {}, "sort": []}, # collection query + "dataframe": None, # + "column_config": None, # ColumnConfig + "docs": [], # collection documents + } + if RXDB_COLLECTION_EDITOR_KEY not in st.session_state: + pass + ss[RXDB_COLLECTION_EDITOR_KEY] = {} + + def __getattr__(self, key): + if key not in ss[RXDB_STATE_KEY]: + ss[RXDB_STATE_KEY][key] = {} + return ss[RXDB_STATE_KEY][key] + + def __getitem__(self, key): + if key not in ss[RXDB_STATE_KEY]: + ss[RXDB_STATE_KEY][key] = {} + return ss[RXDB_STATE_KEY][key] + + def __setattr__(self, key, value): + ss[RXDB_STATE_KEY][key] = value + + def __setitem__(self, key, value): + ss[RXDB_STATE_KEY][key] = value # Create a _RELEASE constant. We'll set this to False while we're developing # the component, and True when we're ready to package and distribute it. _RELEASE = True -if not _RELEASE: # NOSONAR +if not _RELEASE: # NOSONAR _rxdb_dataframe = components.declare_component( "rxdb_dataframe", url="http://localhost:4201", ) else: parent_dir = os.path.dirname(os.path.abspath(__file__)) - build_dir = os.path.join(parent_dir, "frontend/build") - index_js_path = os.path.join(build_dir, "index.js") + dist = os.path.join(parent_dir, "frontend/build") + index_js_path = os.path.join(dist, "index.js") if os.path.exists(index_js_path): print("index.js exists") else: print("index.js does not exist") - _rxdb_dataframe = components.declare_component("rxdb_dataframe", path=build_dir) + _rxdb_dataframe = components.declare_component("rxdb_dataframe", path=dist) + + +RXDB_STATE_KEY = "rxdb" +RXDB_COLLECTION_KEY = "rxdb_collection" +RXDB_COLLECTION_EDITOR_KEY = "rxdb_collection_editor" +DEFAULT_DB_CONFIG = { + "name": "streamlit-rxdb", + "options": {"storageType": "dexie"}, + "multiInstance": False, + "ignoreDuplicate": True, +} @cache_data -def get_dataframe_by_schema(schema: dict): +def get_dataframe_by_schema(schema: dict) -> pd: + """ + Create a `pandas.DataFrame` based on the given JSONSchema. + """ df = pd.DataFrame() properties = schema["properties"] for column, prop in properties.items(): @@ -135,7 +159,7 @@ def get_dataframe_by_schema(schema: dict): elif prop.get("enum") and len(prop["enum"]) > 0: df[column] = pd.Series(dtype="category") elif prop["type"] == "integer" and prop.get("format") == "time": - df[column] = pd.Timestamp.now() + df[column] = pd.Series(dtype="int") # pd.Timestamp.now() elif prop["type"] == "integer": df[column] = pd.Series(dtype="int") elif prop["type"] == "number": @@ -144,92 +168,89 @@ def get_dataframe_by_schema(schema: dict): @cache_data -def get_column_config(schema: dict): +def get_column_config(schema: dict) -> ColumnConfigMap: """ Generates a column configuration dictionary based on the given schema. - Args: - schema (dict): The schema dictionary containing the properties - - Returns: - dict: The column configuration dictionary. - - INFO: https://docs.streamlit.io/library/api-reference/data/st.column_config/st.column_config.textcolumn + INFO: https://docs.streamlit.io/library/api-reference/data/st.column_config """ properties = schema["properties"] - column_config = {} - for column, prop in properties.items(): - if prop["type"] == "string" and prop.get("format") == "date-time": - column_config[column] = st.column_config.DatetimeColumn( + column_config: ColumnConfigMap = {} + for key, prop in properties.items(): + if ( + prop["type"] == ColumnDataKind.STRING + and prop.get("format") == "date-time" # marks column as datetime + ): + column_config[key] = st.column_config.DatetimeColumn( format="YYYY-MM-DD HH:mm", ) - elif prop["type"] == "string": - column_config[column] = st.column_config.TextColumn( - max_chars=prop.get("maxLength") - ) - elif prop["type"] == "boolean": - column_config[column] = st.column_config.CheckboxColumn() + elif prop["type"] == ColumnDataKind.STRING: + column_config[key] = st.column_config.TextColumn(max_chars=prop.get("maxLength", None)) + elif prop["type"] == ColumnDataKind.BOOLEAN: + column_config[key] = st.column_config.CheckboxColumn() elif prop["type"] == "object": - column_config[column] = st.column_config.Column() + column_config[key] = st.column_config.Column() elif prop.get("enum") and len(prop["enum"]) > 0: - column_config[column] = st.column_config.SelectboxColumn( - options=prop["enum"] - ) - # elif prop['type'] == 'integer' and prop.get('format') == 'time': - # column_config[column] = st.column_config.DatetimeColumn(step=1) - elif prop["type"] == "integer": - # st.column_config.DatetimeColumn() # FIXME: try to make it time - column_config[column] = st.column_config.NumberColumn( - max_value=prop.get("max"), - min_value=prop.get("min"), - step=prop.get("multipleOf"), + column_config[key] = st.column_config.SelectboxColumn(options=prop["enum"]) + elif prop["type"] == ColumnDataKind.INTEGER and prop.get("format", None) == "time": + column_config[key] = st.column_config.NumberColumn() + elif prop["type"] == ColumnDataKind.INTEGER: + column_config[key] = st.column_config.NumberColumn( + max_value=prop.get("max", None), + min_value=prop.get("min", None), + step=prop.get("multipleOf", None), ) elif prop["type"] == "number": st.column_config.NumberColumn( - max_value=prop.get("max"), min_value=prop.get("min") + max_value=prop.get("max", None), min_value=prop.get("min", None) ) - column_config[column]["label"] = prop.get("title") - column_config[column]["help"] = prop.get("description") - column_config[column]["disabled"] = prop.get("readOnly") - column_config[column]["required"] = column in schema.get("required", []) + # assign common properties for every column + try: + column: ColumnConfig = column_config[key] + column["label"] = prop.get("title", "") + column["help"] = "format: " + prop.get("format", column["type_config"]["type"]) + column["disabled"] = prop.get("readOnly", False) + column["required"] = key in schema.get("required", []) # noqa: E501 + except Exception as e: + print(f"An error occurred: {str(e)}") return column_config -def reset_editing_state(collection_name): - if collection_name in st.session_state: - print("resetting editing state") - # st.session_state[collection_name].clear() - # st.session_state[collection_name].get("added_rows", []).clear() - # st.session_state[collection_name].get("deleted_rows", []).clear() - - def rxdb_dataframe( collection_config, - db_config: RxCollectionCreator = default_db_config, - dataframe: pd.DataFrame = pd.DataFrame(), - query: MangoQuery = None, + db_config: RxCollectionCreator = DEFAULT_DB_CONFIG, + query: Optional[Dict[str, Any]] = None, with_rev: Optional[bool] = False, - key: str = None, -) -> List[Dict[str, Any]]: - if key is None: - key = collection_config["name"] - if key not in st.session_state: - print("resetting editing state") - # reset_editing_state(key) + on_change: Optional[Callable] = None, +) -> pd.DataFrame: + state = RxDBSessionState() + if state.dataframe is None: + state.dataframe = get_dataframe_by_schema(collection_config["schema"]) + if state.column_config is None: + state.column_config = get_column_config(collection_config["schema"]) result = _rxdb_dataframe( collection_config=collection_config, db_config=db_config, - dataframe=dataframe.copy(), - data=dataframe.to_json(), query=query, with_rev=with_rev, - key=(key + "_rxdb"), - editing_state=st.session_state.get(key, {}), + key=(RXDB_COLLECTION_KEY), + editing_state=ss[RXDB_COLLECTION_EDITOR_KEY], ) - # print(result) - return result + + try: + if result and result["docs"]: + result_df = pd.DataFrame(result["docs"], columns=state.dataframe.columns) + state.docs = result["docs"] + state.info = result["info"] + state.query = result["query"] # store query here from response, to prevent re-rendering + state.dataframe = result_df + on_change(state) + except Exception as e: + print(f"An error occurred: {str(e)}") + + return state.dataframe __title__ = "RxDB Dataframe" diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/assets/data/todo.schema.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/assets/data/todo.schema.json index e6d5b34..653ec10 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/assets/data/todo.schema.json +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/assets/data/todo.schema.json @@ -31,10 +31,9 @@ "readOnly": true }, "last_modified": { - "type": "number", + "type": "integer", "format": "time", - "title": "Last Modified Date", - "multipleOf": 1 + "title": "Last Modified Date" } }, "__indexes": ["createdAt"], diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js index a497c71..d19901e 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js @@ -1,4 +1,4 @@ -var Xx=Object.defineProperty;var Zx=(t,e,n)=>e in t?Xx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var jc=(t,e,n)=>(Zx(t,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();var vw=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rh(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var B1={exports:{}},ih={},F1={exports:{}},Me={};/** +var eC=Object.defineProperty;var tC=(t,e,n)=>e in t?eC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var jc=(t,e,n)=>(tC(t,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();var gw=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rh(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var B1={exports:{}},ih={},F1={exports:{}},Me={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var Xx=Object.defineProperty;var Zx=(t,e,n)=>e in t?Xx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var zl=Symbol.for("react.element"),eC=Symbol.for("react.portal"),tC=Symbol.for("react.fragment"),nC=Symbol.for("react.strict_mode"),rC=Symbol.for("react.profiler"),iC=Symbol.for("react.provider"),sC=Symbol.for("react.context"),oC=Symbol.for("react.forward_ref"),aC=Symbol.for("react.suspense"),uC=Symbol.for("react.memo"),lC=Symbol.for("react.lazy"),gw=Symbol.iterator;function cC(t){return t===null||typeof t!="object"?null:(t=gw&&t[gw]||t["@@iterator"],typeof t=="function"?t:null)}var L1={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$1=Object.assign,j1={};function nu(t,e,n){this.props=t,this.context=e,this.refs=j1,this.updater=n||L1}nu.prototype.isReactComponent={};nu.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};nu.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function U1(){}U1.prototype=nu.prototype;function _v(t,e,n){this.props=t,this.context=e,this.refs=j1,this.updater=n||L1}var bv=_v.prototype=new U1;bv.constructor=_v;$1(bv,nu.prototype);bv.isPureReactComponent=!0;var ww=Array.isArray,z1=Object.prototype.hasOwnProperty,Sv={current:null},V1={key:!0,ref:!0,__self:!0,__source:!0};function K1(t,e,n){var r,i={},s=null,o=null;if(e!=null)for(r in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)z1.call(e,r)&&!V1.hasOwnProperty(r)&&(i[r]=e[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1e in t?Xx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var mC=qn,yC=Symbol.for("react.element"),vC=Symbol.for("react.fragment"),gC=Object.prototype.hasOwnProperty,wC=mC.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,_C={key:!0,ref:!0,__self:!0,__source:!0};function W1(t,e,n){var r,i={},s=null,o=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)gC.call(e,r)&&!_C.hasOwnProperty(r)&&(i[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:yC,type:t,key:s,ref:o,props:i,_owner:wC.current}}ih.Fragment=vC;ih.jsx=W1;ih.jsxs=W1;B1.exports=ih;var bC=B1.exports,q1={exports:{}},rr={},H1={exports:{}},Q1={};/** + */var vC=pn,gC=Symbol.for("react.element"),wC=Symbol.for("react.fragment"),_C=Object.prototype.hasOwnProperty,bC=vC.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,SC={key:!0,ref:!0,__self:!0,__source:!0};function W1(t,e,n){var r,i={},s=null,o=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)_C.call(e,r)&&!SC.hasOwnProperty(r)&&(i[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:gC,type:t,key:s,ref:o,props:i,_owner:bC.current}}ih.Fragment=wC;ih.jsx=W1;ih.jsxs=W1;B1.exports=ih;var IC=B1.exports,q1={exports:{}},sr={},H1={exports:{}},Q1={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var Xx=Object.defineProperty;var Zx=(t,e,n)=>e in t?Xx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function e(G,oe){var ue=G.length;G.push(oe);e:for(;0>>1,xt=G[Re];if(0>>1;Rei(Un,ue))tni(Xi,Un)?(G[Re]=Xi,G[tn]=ue,Re=tn):(G[Re]=Un,G[Ct]=ue,Re=Ct);else if(tni(Xi,ue))G[Re]=Xi,G[tn]=ue,Re=tn;else break e}}return oe}function i(G,oe){var ue=G.sortIndex-oe.sortIndex;return ue!==0?ue:G.id-oe.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],f=[],h=1,m=null,y=3,w=!1,I=!1,E=!1,$=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function O(G){for(var oe=n(f);oe!==null;){if(oe.callback===null)r(f);else if(oe.startTime<=G)r(f),oe.sortIndex=oe.expirationTime,e(l,oe);else break;oe=n(f)}}function z(G){if(E=!1,O(G),!I)if(n(l)!==null)I=!0,Te(W);else{var oe=n(f);oe!==null&&Dt(z,oe.startTime-G)}}function W(G,oe){I=!1,E&&(E=!1,S(X),X=-1),w=!0;var ue=y;try{for(O(oe),m=n(l);m!==null&&(!(m.expirationTime>oe)||G&&!ce());){var Re=m.callback;if(typeof Re=="function"){m.callback=null,y=m.priorityLevel;var xt=Re(m.expirationTime<=oe);oe=t.unstable_now(),typeof xt=="function"?m.callback=xt:m===n(l)&&r(l),O(oe)}else r(l);m=n(l)}if(m!==null)var ft=!0;else{var Ct=n(f);Ct!==null&&Dt(z,Ct.startTime-oe),ft=!1}return ft}finally{m=null,y=ue,w=!1}}var Q=!1,H=null,X=-1,U=5,ee=-1;function ce(){return!(t.unstable_now()-eeG||125Re?(G.sortIndex=ue,e(f,G),n(l)===null&&G===n(f)&&(E?(S(X),X=-1):E=!0,Dt(z,ue-Re))):(G.sortIndex=xt,e(l,G),I||w||(I=!0,Te(W))),G},t.unstable_shouldYield=ce,t.unstable_wrapCallback=function(G){var oe=y;return function(){var ue=y;y=oe;try{return G.apply(this,arguments)}finally{y=ue}}}})(Q1);H1.exports=Q1;var SC=H1.exports;/** + */(function(t){function e(G,oe){var ue=G.length;G.push(oe);e:for(;0>>1,xt=G[Re];if(0>>1;Rei(Vn,ue))tni(Xi,Vn)?(G[Re]=Xi,G[tn]=ue,Re=tn):(G[Re]=Vn,G[Ct]=ue,Re=Ct);else if(tni(Xi,ue))G[Re]=Xi,G[tn]=ue,Re=tn;else break e}}return oe}function i(G,oe){var ue=G.sortIndex-oe.sortIndex;return ue!==0?ue:G.id-oe.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],f=[],h=1,p=null,y=3,w=!1,I=!1,E=!1,$=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function k(G){for(var oe=n(f);oe!==null;){if(oe.callback===null)r(f);else if(oe.startTime<=G)r(f),oe.sortIndex=oe.expirationTime,e(l,oe);else break;oe=n(f)}}function z(G){if(E=!1,k(G),!I)if(n(l)!==null)I=!0,Te(W);else{var oe=n(f);oe!==null&&Dt(z,oe.startTime-G)}}function W(G,oe){I=!1,E&&(E=!1,S(X),X=-1),w=!0;var ue=y;try{for(k(oe),p=n(l);p!==null&&(!(p.expirationTime>oe)||G&&!ce());){var Re=p.callback;if(typeof Re=="function"){p.callback=null,y=p.priorityLevel;var xt=Re(p.expirationTime<=oe);oe=t.unstable_now(),typeof xt=="function"?p.callback=xt:p===n(l)&&r(l),k(oe)}else r(l);p=n(l)}if(p!==null)var ft=!0;else{var Ct=n(f);Ct!==null&&Dt(z,Ct.startTime-oe),ft=!1}return ft}finally{p=null,y=ue,w=!1}}var Q=!1,H=null,X=-1,U=5,ee=-1;function ce(){return!(t.unstable_now()-eeG||125Re?(G.sortIndex=ue,e(f,G),n(l)===null&&G===n(f)&&(E?(S(X),X=-1):E=!0,Dt(z,ue-Re))):(G.sortIndex=xt,e(l,G),I||w||(I=!0,Te(W))),G},t.unstable_shouldYield=ce,t.unstable_wrapCallback=function(G){var oe=y;return function(){var ue=y;y=oe;try{return G.apply(this,arguments)}finally{y=ue}}}})(Q1);H1.exports=Q1;var EC=H1.exports;/** * @license React * react-dom.production.min.js * @@ -30,52 +30,52 @@ var Xx=Object.defineProperty;var Zx=(t,e,n)=>e in t?Xx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Y1=qn,er=SC;function Z(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Pm=Object.prototype.hasOwnProperty,IC=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,bw={},Sw={};function EC(t){return Pm.call(Sw,t)?!0:Pm.call(bw,t)?!1:IC.test(t)?Sw[t]=!0:(bw[t]=!0,!1)}function OC(t,e,n,r){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function kC(t,e,n,r){if(e===null||typeof e>"u"||OC(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function gn(t,e,n,r,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var en={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){en[t]=new gn(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];en[e]=new gn(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){en[t]=new gn(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){en[t]=new gn(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){en[t]=new gn(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){en[t]=new gn(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){en[t]=new gn(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){en[t]=new gn(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){en[t]=new gn(t,5,!1,t.toLowerCase(),null,!1,!1)});var Ev=/[\-:]([a-z])/g;function Ov(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Ev,Ov);en[e]=new gn(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Ev,Ov);en[e]=new gn(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Ev,Ov);en[e]=new gn(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){en[t]=new gn(t,1,!1,t.toLowerCase(),null,!1,!1)});en.xlinkHref=new gn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){en[t]=new gn(t,1,!1,t.toLowerCase(),null,!0,!0)});function kv(t,e,n,r){var i=en.hasOwnProperty(e)?en[e]:null;(i!==null?i.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Pm=Object.prototype.hasOwnProperty,OC=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Sw={},Iw={};function kC(t){return Pm.call(Iw,t)?!0:Pm.call(Sw,t)?!1:OC.test(t)?Iw[t]=!0:(Sw[t]=!0,!1)}function DC(t,e,n,r){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function xC(t,e,n,r){if(e===null||typeof e>"u"||DC(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function bn(t,e,n,r,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var en={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){en[t]=new bn(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];en[e]=new bn(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){en[t]=new bn(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){en[t]=new bn(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){en[t]=new bn(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){en[t]=new bn(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){en[t]=new bn(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){en[t]=new bn(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){en[t]=new bn(t,5,!1,t.toLowerCase(),null,!1,!1)});var Ov=/[\-:]([a-z])/g;function kv(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Ov,kv);en[e]=new bn(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Ov,kv);en[e]=new bn(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Ov,kv);en[e]=new bn(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){en[t]=new bn(t,1,!1,t.toLowerCase(),null,!1,!1)});en.xlinkHref=new bn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){en[t]=new bn(t,1,!1,t.toLowerCase(),null,!0,!0)});function Dv(t,e,n,r){var i=en.hasOwnProperty(e)?en[e]:null;(i!==null?i.type!==0:r||!(2a||i[o]!==s[a]){var l=` -`+i[o].replace(" at new "," at ");return t.displayName&&l.includes("")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=a);break}}}finally{xp=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?Lu(t):""}function DC(t){switch(t.tag){case 5:return Lu(t.type);case 16:return Lu("Lazy");case 13:return Lu("Suspense");case 19:return Lu("SuspenseList");case 0:case 2:case 15:return t=Cp(t.type,!1),t;case 11:return t=Cp(t.type.render,!1),t;case 1:return t=Cp(t.type,!0),t;default:return""}}function Nm(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case ca:return"Fragment";case la:return"Portal";case Rm:return"Profiler";case Dv:return"StrictMode";case Tm:return"Suspense";case Mm:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case X1:return(t.displayName||"Context")+".Consumer";case J1:return(t._context.displayName||"Context")+".Provider";case xv:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Cv:return e=t.displayName||null,e!==null?e:Nm(t.type)||"Memo";case us:e=t._payload,t=t._init;try{return Nm(t(e))}catch{}}return null}function xC(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Nm(e);case 8:return e===Dv?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Ps(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function eS(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function CC(t){var e=eS(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,s=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Vc(t){t._valueTracker||(t._valueTracker=CC(t))}function tS(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=eS(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function Uf(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Bm(t,e){var n=e.checked;return Et({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Ew(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=Ps(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function nS(t,e){e=e.checked,e!=null&&kv(t,"checked",e,!1)}function Fm(t,e){nS(t,e);var n=Ps(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Lm(t,e.type,n):e.hasOwnProperty("defaultValue")&&Lm(t,e.type,Ps(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function Ow(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Lm(t,e,n){(e!=="number"||Uf(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var $u=Array.isArray;function Sa(t,e,n,r){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=Kc.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function cl(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var Wu={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},AC=["Webkit","ms","Moz","O"];Object.keys(Wu).forEach(function(t){AC.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Wu[e]=Wu[t]})});function oS(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||Wu.hasOwnProperty(t)&&Wu[t]?(""+e).trim():e+"px"}function aS(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=oS(n,e[n],r);n==="float"&&(n="cssFloat"),r?t.setProperty(n,i):t[n]=i}}var PC=Et({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Um(t,e){if(e){if(PC[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Z(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Z(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Z(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Z(62))}}function zm(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vm=null;function Av(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Km=null,Ia=null,Ea=null;function xw(t){if(t=Wl(t)){if(typeof Km!="function")throw Error(Z(280));var e=t.stateNode;e&&(e=lh(e),Km(t.stateNode,t.type,e))}}function uS(t){Ia?Ea?Ea.push(t):Ea=[t]:Ia=t}function lS(){if(Ia){var t=Ia,e=Ea;if(Ea=Ia=null,xw(t),e)for(t=0;t>>=0,t===0?32:31-(zC(t)/VC|0)|0}var Wc=64,qc=4194304;function ju(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Wf(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,i=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var a=o&~i;a!==0?r=ju(a):(s&=o,s!==0&&(r=ju(s)))}else o=n&~i,o!==0?r=ju(o):s!==0&&(r=ju(s));if(r===0)return 0;if(e!==0&&e!==r&&!(e&i)&&(i=r&-r,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if(r&4&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0n;n++)e.push(t);return e}function Vl(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-xr(e),t[e]=n}function HC(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=Hu),Fw=String.fromCharCode(32),Lw=!1;function CS(t,e){switch(t){case"keyup":return bA.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function AS(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var fa=!1;function IA(t,e){switch(t){case"compositionend":return AS(e);case"keypress":return e.which!==32?null:(Lw=!0,Fw);case"textInput":return t=e.data,t===Fw&&Lw?null:t;default:return null}}function EA(t,e){if(fa)return t==="compositionend"||!Lv&&CS(t,e)?(t=DS(),gf=Nv=ms=null,fa=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=zw(n)}}function MS(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?MS(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function NS(){for(var t=window,e=Uf();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=Uf(t.document)}return e}function $v(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function TA(t){var e=NS(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&MS(n.ownerDocument.documentElement,n)){if(r!==null&&$v(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,s=Math.min(r.start,i);r=r.end===void 0?s:Math.min(r.end,i),!t.extend&&s>r&&(i=r,r=s,s=i),i=Vw(n,s);var o=Vw(n,r);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,da=null,Gm=null,Yu=null,Jm=!1;function Kw(t,e,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Jm||da==null||da!==Uf(r)||(r=da,"selectionStart"in r&&$v(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Yu&&yl(Yu,r)||(Yu=r,r=Qf(Gm,"onSelect"),0ma||(t.current=ry[ma],ry[ma]=null,ma--)}function ut(t,e){ma++,ry[ma]=t.current,t.current=e}var Rs={},ln=Us(Rs),Dn=Us(!1),Co=Rs;function Ma(t,e){var n=t.type.contextTypes;if(!n)return Rs;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function xn(t){return t=t.childContextTypes,t!=null}function Gf(){mt(Dn),mt(ln)}function Jw(t,e,n){if(ln.current!==Rs)throw Error(Z(168));ut(ln,e),ut(Dn,n)}function KS(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(Z(108,xC(t)||"Unknown",i));return Et({},n,r)}function Jf(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Rs,Co=ln.current,ut(ln,t),ut(Dn,Dn.current),!0}function Xw(t,e,n){var r=t.stateNode;if(!r)throw Error(Z(169));n?(t=KS(t,e,Co),r.__reactInternalMemoizedMergedChildContext=t,mt(Dn),mt(ln),ut(ln,t)):mt(Dn),ut(Dn,n)}var Ei=null,ch=!1,Vp=!1;function WS(t){Ei===null?Ei=[t]:Ei.push(t)}function WA(t){ch=!0,WS(t)}function zs(){if(!Vp&&Ei!==null){Vp=!0;var t=0,e=Ge;try{var n=Ei;for(Ge=1;t>=o,i-=o,xi=1<<32-xr(e)+i|n<X?(U=H,H=null):U=H.sibling;var ee=y(S,H,O[X],z);if(ee===null){H===null&&(H=U);break}t&&H&&ee.alternate===null&&e(S,H),_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee,H=U}if(X===O.length)return n(S,H),gt&&uo(S,X),W;if(H===null){for(;XX?(U=H,H=null):U=H.sibling;var ce=y(S,H,ee.value,z);if(ce===null){H===null&&(H=U);break}t&&H&&ce.alternate===null&&e(S,H),_=s(ce,_,X),Q===null?W=ce:Q.sibling=ce,Q=ce,H=U}if(ee.done)return n(S,H),gt&&uo(S,X),W;if(H===null){for(;!ee.done;X++,ee=O.next())ee=m(S,ee.value,z),ee!==null&&(_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return gt&&uo(S,X),W}for(H=r(S,H);!ee.done;X++,ee=O.next())ee=w(H,S,X,ee.value,z),ee!==null&&(t&&ee.alternate!==null&&H.delete(ee.key===null?X:ee.key),_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return t&&H.forEach(function(de){return e(S,de)}),gt&&uo(S,X),W}function $(S,_,O,z){if(typeof O=="object"&&O!==null&&O.type===ca&&O.key===null&&(O=O.props.children),typeof O=="object"&&O!==null){switch(O.$$typeof){case zc:e:{for(var W=O.key,Q=_;Q!==null;){if(Q.key===W){if(W=O.type,W===ca){if(Q.tag===7){n(S,Q.sibling),_=i(Q,O.props.children),_.return=S,S=_;break e}}else if(Q.elementType===W||typeof W=="object"&&W!==null&&W.$$typeof===us&&s_(W)===Q.type){n(S,Q.sibling),_=i(Q,O.props),_.ref=Ru(S,Q,O),_.return=S,S=_;break e}n(S,Q);break}else e(S,Q);Q=Q.sibling}O.type===ca?(_=Io(O.props.children,S.mode,z,O.key),_.return=S,S=_):(z=kf(O.type,O.key,O.props,null,S.mode,z),z.ref=Ru(S,_,O),z.return=S,S=z)}return o(S);case la:e:{for(Q=O.key;_!==null;){if(_.key===Q)if(_.tag===4&&_.stateNode.containerInfo===O.containerInfo&&_.stateNode.implementation===O.implementation){n(S,_.sibling),_=i(_,O.children||[]),_.return=S,S=_;break e}else{n(S,_);break}else e(S,_);_=_.sibling}_=Jp(O,S.mode,z),_.return=S,S=_}return o(S);case us:return Q=O._init,$(S,_,Q(O._payload),z)}if($u(O))return I(S,_,O,z);if(Du(O))return E(S,_,O,z);Zc(S,O)}return typeof O=="string"&&O!==""||typeof O=="number"?(O=""+O,_!==null&&_.tag===6?(n(S,_.sibling),_=i(_,O),_.return=S,S=_):(n(S,_),_=Gp(O,S.mode,z),_.return=S,S=_),o(S)):n(S,_)}return $}var Ba=ZS(!0),eI=ZS(!1),ql={},ui=Us(ql),_l=Us(ql),bl=Us(ql);function po(t){if(t===ql)throw Error(Z(174));return t}function Qv(t,e){switch(ut(bl,e),ut(_l,t),ut(ui,ql),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:jm(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=jm(e,t)}mt(ui),ut(ui,e)}function Fa(){mt(ui),mt(_l),mt(bl)}function tI(t){po(bl.current);var e=po(ui.current),n=jm(e,t.type);e!==n&&(ut(_l,t),ut(ui,n))}function Yv(t){_l.current===t&&(mt(ui),mt(_l))}var bt=Us(0);function rd(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Kp=[];function Gv(){for(var t=0;tn?n:4,t(!0);var r=Wp.transition;Wp.transition={};try{t(!1),e()}finally{Ge=n,Wp.transition=r}}function vI(){return wr().memoizedState}function YA(t,e,n){var r=Os(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},gI(t))wI(e,n);else if(n=YS(t,e,n,r),n!==null){var i=yn();Cr(n,t,r,i),_I(n,e,r)}}function GA(t,e,n){var r=Os(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(gI(t))wI(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,n);if(i.hasEagerState=!0,i.eagerState=a,Rr(a,o)){var l=e.interleaved;l===null?(i.next=i,qv(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}finally{}n=YS(t,e,i,r),n!==null&&(i=yn(),Cr(n,t,r,i),_I(n,e,r))}}function gI(t){var e=t.alternate;return t===It||e!==null&&e===It}function wI(t,e){Gu=id=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function _I(t,e,n){if(n&4194240){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,Rv(t,n)}}var sd={readContext:gr,useCallback:sn,useContext:sn,useEffect:sn,useImperativeHandle:sn,useInsertionEffect:sn,useLayoutEffect:sn,useMemo:sn,useReducer:sn,useRef:sn,useState:sn,useDebugValue:sn,useDeferredValue:sn,useTransition:sn,useMutableSource:sn,useSyncExternalStore:sn,useId:sn,unstable_isNewReconciler:!1},JA={readContext:gr,useCallback:function(t,e){return qr().memoizedState=[t,e===void 0?null:e],t},useContext:gr,useEffect:a_,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,Sf(4194308,4,dI.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Sf(4194308,4,t,e)},useInsertionEffect:function(t,e){return Sf(4,2,t,e)},useMemo:function(t,e){var n=qr();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var r=qr();return e=n!==void 0?n(e):e,r.memoizedState=r.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},r.queue=t,t=t.dispatch=YA.bind(null,It,t),[r.memoizedState,t]},useRef:function(t){var e=qr();return t={current:t},e.memoizedState=t},useState:o_,useDebugValue:tg,useDeferredValue:function(t){return qr().memoizedState=t},useTransition:function(){var t=o_(!1),e=t[0];return t=QA.bind(null,t[1]),qr().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var r=It,i=qr();if(gt){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=e(),Qt===null)throw Error(Z(349));Po&30||iI(r,e,n)}i.memoizedState=n;var s={value:n,getSnapshot:e};return i.queue=s,a_(oI.bind(null,r,s,t),[t]),r.flags|=2048,El(9,sI.bind(null,r,s,n,e),void 0,null),n},useId:function(){var t=qr(),e=Qt.identifierPrefix;if(gt){var n=Ci,r=xi;n=(r&~(1<<32-xr(r)-1)).toString(32)+n,e=":"+e+"R"+n,n=Sl++,0")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=a);break}}}finally{xp=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?Lu(t):""}function CC(t){switch(t.tag){case 5:return Lu(t.type);case 16:return Lu("Lazy");case 13:return Lu("Suspense");case 19:return Lu("SuspenseList");case 0:case 2:case 15:return t=Cp(t.type,!1),t;case 11:return t=Cp(t.type.render,!1),t;case 1:return t=Cp(t.type,!0),t;default:return""}}function Nm(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case la:return"Fragment";case ua:return"Portal";case Rm:return"Profiler";case xv:return"StrictMode";case Tm:return"Suspense";case Mm:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case X1:return(t.displayName||"Context")+".Consumer";case J1:return(t._context.displayName||"Context")+".Provider";case Cv:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Av:return e=t.displayName||null,e!==null?e:Nm(t.type)||"Memo";case us:e=t._payload,t=t._init;try{return Nm(t(e))}catch{}}return null}function AC(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Nm(e);case 8:return e===xv?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Ps(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function eS(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function PC(t){var e=eS(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,s=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Vc(t){t._valueTracker||(t._valueTracker=PC(t))}function tS(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=eS(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function Uf(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Bm(t,e){var n=e.checked;return Et({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Ow(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=Ps(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function nS(t,e){e=e.checked,e!=null&&Dv(t,"checked",e,!1)}function Fm(t,e){nS(t,e);var n=Ps(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Lm(t,e.type,n):e.hasOwnProperty("defaultValue")&&Lm(t,e.type,Ps(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function kw(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Lm(t,e,n){(e!=="number"||Uf(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var $u=Array.isArray;function ba(t,e,n,r){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=Kc.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function cl(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var Wu={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},RC=["Webkit","ms","Moz","O"];Object.keys(Wu).forEach(function(t){RC.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Wu[e]=Wu[t]})});function oS(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||Wu.hasOwnProperty(t)&&Wu[t]?(""+e).trim():e+"px"}function aS(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=oS(n,e[n],r);n==="float"&&(n="cssFloat"),r?t.setProperty(n,i):t[n]=i}}var TC=Et({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Um(t,e){if(e){if(TC[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Z(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Z(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Z(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Z(62))}}function zm(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vm=null;function Pv(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Km=null,Sa=null,Ia=null;function Cw(t){if(t=Wl(t)){if(typeof Km!="function")throw Error(Z(280));var e=t.stateNode;e&&(e=lh(e),Km(t.stateNode,t.type,e))}}function uS(t){Sa?Ia?Ia.push(t):Ia=[t]:Sa=t}function lS(){if(Sa){var t=Sa,e=Ia;if(Ia=Sa=null,Cw(t),e)for(t=0;t>>=0,t===0?32:31-(KC(t)/WC|0)|0}var Wc=64,qc=4194304;function ju(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Wf(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,i=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var a=o&~i;a!==0?r=ju(a):(s&=o,s!==0&&(r=ju(s)))}else o=n&~i,o!==0?r=ju(o):s!==0&&(r=ju(s));if(r===0)return 0;if(e!==0&&e!==r&&!(e&i)&&(i=r&-r,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if(r&4&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0n;n++)e.push(t);return e}function Vl(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-Pr(e),t[e]=n}function YC(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=Hu),Lw=String.fromCharCode(32),$w=!1;function CS(t,e){switch(t){case"keyup":return IA.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function AS(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ca=!1;function OA(t,e){switch(t){case"compositionend":return AS(e);case"keypress":return e.which!==32?null:($w=!0,Lw);case"textInput":return t=e.data,t===Lw&&$w?null:t;default:return null}}function kA(t,e){if(ca)return t==="compositionend"||!$v&&CS(t,e)?(t=DS(),gf=Bv=ms=null,ca=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Vw(n)}}function MS(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?MS(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function NS(){for(var t=window,e=Uf();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=Uf(t.document)}return e}function jv(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function NA(t){var e=NS(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&MS(n.ownerDocument.documentElement,n)){if(r!==null&&jv(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,s=Math.min(r.start,i);r=r.end===void 0?s:Math.min(r.end,i),!t.extend&&s>r&&(i=r,r=s,s=i),i=Kw(n,s);var o=Kw(n,r);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,fa=null,Gm=null,Yu=null,Jm=!1;function Ww(t,e,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Jm||fa==null||fa!==Uf(r)||(r=fa,"selectionStart"in r&&jv(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Yu&&yl(Yu,r)||(Yu=r,r=Qf(Gm,"onSelect"),0pa||(t.current=ry[pa],ry[pa]=null,pa--)}function ut(t,e){pa++,ry[pa]=t.current,t.current=e}var Rs={},ln=zs(Rs),An=zs(!1),Po=Rs;function Ta(t,e){var n=t.type.contextTypes;if(!n)return Rs;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function Pn(t){return t=t.childContextTypes,t!=null}function Gf(){mt(An),mt(ln)}function Xw(t,e,n){if(ln.current!==Rs)throw Error(Z(168));ut(ln,e),ut(An,n)}function KS(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(Z(108,AC(t)||"Unknown",i));return Et({},n,r)}function Jf(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Rs,Po=ln.current,ut(ln,t),ut(An,An.current),!0}function Zw(t,e,n){var r=t.stateNode;if(!r)throw Error(Z(169));n?(t=KS(t,e,Po),r.__reactInternalMemoizedMergedChildContext=t,mt(An),mt(ln),ut(ln,t)):mt(An),ut(An,n)}var Ei=null,ch=!1,Vp=!1;function WS(t){Ei===null?Ei=[t]:Ei.push(t)}function HA(t){ch=!0,WS(t)}function Vs(){if(!Vp&&Ei!==null){Vp=!0;var t=0,e=Ge;try{var n=Ei;for(Ge=1;t>=o,i-=o,xi=1<<32-Pr(e)+i|n<X?(U=H,H=null):U=H.sibling;var ee=y(S,H,k[X],z);if(ee===null){H===null&&(H=U);break}t&&H&&ee.alternate===null&&e(S,H),_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee,H=U}if(X===k.length)return n(S,H),gt&&co(S,X),W;if(H===null){for(;XX?(U=H,H=null):U=H.sibling;var ce=y(S,H,ee.value,z);if(ce===null){H===null&&(H=U);break}t&&H&&ce.alternate===null&&e(S,H),_=s(ce,_,X),Q===null?W=ce:Q.sibling=ce,Q=ce,H=U}if(ee.done)return n(S,H),gt&&co(S,X),W;if(H===null){for(;!ee.done;X++,ee=k.next())ee=p(S,ee.value,z),ee!==null&&(_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return gt&&co(S,X),W}for(H=r(S,H);!ee.done;X++,ee=k.next())ee=w(H,S,X,ee.value,z),ee!==null&&(t&&ee.alternate!==null&&H.delete(ee.key===null?X:ee.key),_=s(ee,_,X),Q===null?W=ee:Q.sibling=ee,Q=ee);return t&&H.forEach(function(de){return e(S,de)}),gt&&co(S,X),W}function $(S,_,k,z){if(typeof k=="object"&&k!==null&&k.type===la&&k.key===null&&(k=k.props.children),typeof k=="object"&&k!==null){switch(k.$$typeof){case zc:e:{for(var W=k.key,Q=_;Q!==null;){if(Q.key===W){if(W=k.type,W===la){if(Q.tag===7){n(S,Q.sibling),_=i(Q,k.props.children),_.return=S,S=_;break e}}else if(Q.elementType===W||typeof W=="object"&&W!==null&&W.$$typeof===us&&o_(W)===Q.type){n(S,Q.sibling),_=i(Q,k.props),_.ref=Ru(S,Q,k),_.return=S,S=_;break e}n(S,Q);break}else e(S,Q);Q=Q.sibling}k.type===la?(_=Oo(k.props.children,S.mode,z,k.key),_.return=S,S=_):(z=kf(k.type,k.key,k.props,null,S.mode,z),z.ref=Ru(S,_,k),z.return=S,S=z)}return o(S);case ua:e:{for(Q=k.key;_!==null;){if(_.key===Q)if(_.tag===4&&_.stateNode.containerInfo===k.containerInfo&&_.stateNode.implementation===k.implementation){n(S,_.sibling),_=i(_,k.children||[]),_.return=S,S=_;break e}else{n(S,_);break}else e(S,_);_=_.sibling}_=Jp(k,S.mode,z),_.return=S,S=_}return o(S);case us:return Q=k._init,$(S,_,Q(k._payload),z)}if($u(k))return I(S,_,k,z);if(Du(k))return E(S,_,k,z);Zc(S,k)}return typeof k=="string"&&k!==""||typeof k=="number"?(k=""+k,_!==null&&_.tag===6?(n(S,_.sibling),_=i(_,k),_.return=S,S=_):(n(S,_),_=Gp(k,S.mode,z),_.return=S,S=_),o(S)):n(S,_)}return $}var Na=ZS(!0),eI=ZS(!1),ql={},li=zs(ql),_l=zs(ql),bl=zs(ql);function yo(t){if(t===ql)throw Error(Z(174));return t}function Yv(t,e){switch(ut(bl,e),ut(_l,t),ut(li,ql),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:jm(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=jm(e,t)}mt(li),ut(li,e)}function Ba(){mt(li),mt(_l),mt(bl)}function tI(t){yo(bl.current);var e=yo(li.current),n=jm(e,t.type);e!==n&&(ut(_l,t),ut(li,n))}function Gv(t){_l.current===t&&(mt(li),mt(_l))}var bt=zs(0);function rd(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Kp=[];function Jv(){for(var t=0;tn?n:4,t(!0);var r=Wp.transition;Wp.transition={};try{t(!1),e()}finally{Ge=n,Wp.transition=r}}function vI(){return _r().memoizedState}function JA(t,e,n){var r=Os(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},gI(t))wI(e,n);else if(n=YS(t,e,n,r),n!==null){var i=wn();Rr(n,t,r,i),_I(n,e,r)}}function XA(t,e,n){var r=Os(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(gI(t))wI(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,n);if(i.hasEagerState=!0,i.eagerState=a,Nr(a,o)){var l=e.interleaved;l===null?(i.next=i,Hv(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}finally{}n=YS(t,e,i,r),n!==null&&(i=wn(),Rr(n,t,r,i),_I(n,e,r))}}function gI(t){var e=t.alternate;return t===It||e!==null&&e===It}function wI(t,e){Gu=id=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function _I(t,e,n){if(n&4194240){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,Tv(t,n)}}var sd={readContext:wr,useCallback:sn,useContext:sn,useEffect:sn,useImperativeHandle:sn,useInsertionEffect:sn,useLayoutEffect:sn,useMemo:sn,useReducer:sn,useRef:sn,useState:sn,useDebugValue:sn,useDeferredValue:sn,useTransition:sn,useMutableSource:sn,useSyncExternalStore:sn,useId:sn,unstable_isNewReconciler:!1},ZA={readContext:wr,useCallback:function(t,e){return Qr().memoizedState=[t,e===void 0?null:e],t},useContext:wr,useEffect:u_,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,Sf(4194308,4,dI.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Sf(4194308,4,t,e)},useInsertionEffect:function(t,e){return Sf(4,2,t,e)},useMemo:function(t,e){var n=Qr();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var r=Qr();return e=n!==void 0?n(e):e,r.memoizedState=r.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},r.queue=t,t=t.dispatch=JA.bind(null,It,t),[r.memoizedState,t]},useRef:function(t){var e=Qr();return t={current:t},e.memoizedState=t},useState:a_,useDebugValue:ng,useDeferredValue:function(t){return Qr().memoizedState=t},useTransition:function(){var t=a_(!1),e=t[0];return t=GA.bind(null,t[1]),Qr().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var r=It,i=Qr();if(gt){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=e(),Qt===null)throw Error(Z(349));To&30||iI(r,e,n)}i.memoizedState=n;var s={value:n,getSnapshot:e};return i.queue=s,u_(oI.bind(null,r,s,t),[t]),r.flags|=2048,El(9,sI.bind(null,r,s,n,e),void 0,null),n},useId:function(){var t=Qr(),e=Qt.identifierPrefix;if(gt){var n=Ci,r=xi;n=(r&~(1<<32-Pr(r)-1)).toString(32)+n,e=":"+e+"R"+n,n=Sl++,0<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[Gr]=e,t[wl]=r,CI(t,e,!1,!1),e.stateNode=t;e:{switch(o=zm(n,r),n){case"dialog":ht("cancel",t),ht("close",t),i=r;break;case"iframe":case"object":case"embed":ht("load",t),i=r;break;case"video":case"audio":for(i=0;i$a&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304)}else{if(!r)if(t=rd(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),Tu(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!gt)return on(e),null}else 2*Tt()-s.renderingStartTime>$a&&n!==1073741824&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Tt(),e.sibling=null,n=bt.current,ut(bt,r?n&1|2:n&1),e):(on(e),null);case 22:case 23:return ag(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&e.mode&1?Wn&1073741824&&(on(e),e.subtreeFlags&6&&(e.flags|=8192)):on(e),null;case 24:return null;case 25:return null}throw Error(Z(156,e.tag))}function sP(t,e){switch(Uv(e),e.tag){case 1:return xn(e.type)&&Gf(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Fa(),mt(Dn),mt(ln),Gv(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return Yv(e),null;case 13:if(mt(bt),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(Z(340));Na()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return mt(bt),null;case 4:return Fa(),null;case 10:return Wv(e.type._context),null;case 22:case 23:return ag(),null;case 24:return null;default:return null}}var tf=!1,an=!1,oP=typeof WeakSet=="function"?WeakSet:Set,ae=null;function wa(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){At(t,e,r)}else n.current=null}function my(t,e,n){try{n()}catch(r){At(t,e,r)}}var y_=!1;function aP(t,e){if(Xm=qf,t=NS(),$v(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,f=0,h=0,m=t,y=null;t:for(;;){for(var w;m!==n||i!==0&&m.nodeType!==3||(a=o+i),m!==s||r!==0&&m.nodeType!==3||(l=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(w=m.firstChild)!==null;)y=m,m=w;for(;;){if(m===t)break t;if(y===n&&++f===i&&(a=o),y===s&&++h===r&&(l=o),(w=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=w}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Zm={focusedElem:t,selectionRange:n},qf=!1,ae=e;ae!==null;)if(e=ae,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,ae=t;else for(;ae!==null;){e=ae;try{var I=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(I!==null){var E=I.memoizedProps,$=I.memoizedState,S=e.stateNode,_=S.getSnapshotBeforeUpdate(e.elementType===e.type?E:Ir(e.type,E),$);S.__reactInternalSnapshotBeforeUpdate=_}break;case 3:var O=e.stateNode.containerInfo;O.nodeType===1?O.textContent="":O.nodeType===9&&O.documentElement&&O.removeChild(O.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(z){At(e,e.return,z)}if(t=e.sibling,t!==null){t.return=e.return,ae=t;break}ae=e.return}return I=y_,y_=!1,I}function Ju(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&my(e,n,s)}i=i.next}while(i!==r)}}function hh(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function yy(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function RI(t){var e=t.alternate;e!==null&&(t.alternate=null,RI(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Gr],delete e[wl],delete e[ny],delete e[VA],delete e[KA])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function TI(t){return t.tag===5||t.tag===3||t.tag===4}function v_(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||TI(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function vy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Yf));else if(r!==4&&(t=t.child,t!==null))for(vy(t,e,n),t=t.sibling;t!==null;)vy(t,e,n),t=t.sibling}function gy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(gy(t,e,n),t=t.sibling;t!==null;)gy(t,e,n),t=t.sibling}var Xt=null,Er=!1;function os(t,e,n){for(n=n.child;n!==null;)MI(t,e,n),n=n.sibling}function MI(t,e,n){if(ai&&typeof ai.onCommitFiberUnmount=="function")try{ai.onCommitFiberUnmount(sh,n)}catch{}switch(n.tag){case 5:an||wa(n,e);case 6:var r=Xt,i=Er;Xt=null,os(t,e,n),Xt=r,Er=i,Xt!==null&&(Er?(t=Xt,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):Xt.removeChild(n.stateNode));break;case 18:Xt!==null&&(Er?(t=Xt,n=n.stateNode,t.nodeType===8?zp(t.parentNode,n):t.nodeType===1&&zp(t,n),pl(t)):zp(Xt,n.stateNode));break;case 4:r=Xt,i=Er,Xt=n.stateNode.containerInfo,Er=!0,os(t,e,n),Xt=r,Er=i;break;case 0:case 11:case 14:case 15:if(!an&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&my(n,e,o),i=i.next}while(i!==r)}os(t,e,n);break;case 1:if(!an&&(wa(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){At(n,e,a)}os(t,e,n);break;case 21:os(t,e,n);break;case 22:n.mode&1?(an=(r=an)||n.memoizedState!==null,os(t,e,n),an=r):os(t,e,n);break;default:os(t,e,n)}}function g_(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new oP),e.forEach(function(r){var i=yP.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function br(t,e){var n=e.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~s}if(r=i,r=Tt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*lP(r/1960))-r,10t?16:t,ys===null)var r=!1;else{if(t=ys,ys=null,ud=0,Fe&6)throw Error(Z(331));var i=Fe;for(Fe|=4,ae=t.current;ae!==null;){var s=ae,o=s.child;if(ae.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lTt()-sg?So(t,0):ig|=n),Cn(t,e)}function zI(t,e){e===0&&(t.mode&1?(e=qc,qc<<=1,!(qc&130023424)&&(qc=4194304)):e=1);var n=yn();t=$i(t,e),t!==null&&(Vl(t,e,n),Cn(t,n))}function mP(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),zI(t,n)}function yP(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(e),zI(t,n)}var VI;VI=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||Dn.current)kn=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return kn=!1,rP(t,e,n);kn=!!(t.flags&131072)}else kn=!1,gt&&e.flags&1048576&&qS(e,Zf,e.index);switch(e.lanes=0,e.tag){case 2:var r=e.type;If(t,e),t=e.pendingProps;var i=Ma(e,ln.current);ka(e,n),i=Xv(null,e,r,t,i,n);var s=Zv();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,xn(r)?(s=!0,Jf(e)):s=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Hv(e),i.updater=fh,e.stateNode=i,i._reactInternals=e,uy(e,r,t,n),e=fy(null,e,r,!0,s,n)):(e.tag=0,gt&&s&&jv(e),dn(null,e,i,n),e=e.child),e;case 16:r=e.elementType;e:{switch(If(t,e),t=e.pendingProps,i=r._init,r=i(r._payload),e.type=r,i=e.tag=gP(r),t=Ir(r,t),i){case 0:e=cy(null,e,r,t,n);break e;case 1:e=h_(null,e,r,t,n);break e;case 11:e=f_(null,e,r,t,n);break e;case 14:e=d_(null,e,r,Ir(r.type,t),n);break e}throw Error(Z(306,r,""))}return e;case 0:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Ir(r,i),cy(t,e,r,i,n);case 1:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Ir(r,i),h_(t,e,r,i,n);case 3:e:{if(kI(e),t===null)throw Error(Z(387));r=e.pendingProps,s=e.memoizedState,i=s.element,GS(t,e),nd(e,r,null,n);var o=e.memoizedState;if(r=o.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){i=La(Error(Z(423)),e),e=p_(t,e,r,n,i);break e}else if(r!==i){i=La(Error(Z(424)),e),e=p_(t,e,r,n,i);break e}else for(Gn=Ss(e.stateNode.containerInfo.firstChild),Xn=e,gt=!0,kr=null,n=eI(e,null,r,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Na(),r===i){e=ji(t,e,n);break e}dn(t,e,r,n)}e=e.child}return e;case 5:return tI(e),t===null&&sy(e),r=e.type,i=e.pendingProps,s=t!==null?t.memoizedProps:null,o=i.children,ey(r,i)?o=null:s!==null&&ey(r,s)&&(e.flags|=32),OI(t,e),dn(t,e,o,n),e.child;case 6:return t===null&&sy(e),null;case 13:return DI(t,e,n);case 4:return Qv(e,e.stateNode.containerInfo),r=e.pendingProps,t===null?e.child=Ba(e,null,r,n):dn(t,e,r,n),e.child;case 11:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Ir(r,i),f_(t,e,r,i,n);case 7:return dn(t,e,e.pendingProps,n),e.child;case 8:return dn(t,e,e.pendingProps.children,n),e.child;case 12:return dn(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(r=e.type._context,i=e.pendingProps,s=e.memoizedProps,o=i.value,ut(ed,r._currentValue),r._currentValue=o,s!==null)if(Rr(s.value,o)){if(s.children===i.children&&!Dn.current){e=ji(t,e,n);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(s.tag===1){l=Ri(-1,n&-n),l.tag=2;var f=s.updateQueue;if(f!==null){f=f.shared;var h=f.pending;h===null?l.next=l:(l.next=h.next,h.next=l),f.pending=l}}s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),oy(s.return,n,e),a.lanes|=n;break}l=l.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(Z(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),oy(o,n,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}dn(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,r=e.pendingProps.children,ka(e,n),i=gr(i),r=r(i),e.flags|=1,dn(t,e,r,n),e.child;case 14:return r=e.type,i=Ir(r,e.pendingProps),i=Ir(r.type,i),d_(t,e,r,i,n);case 15:return II(t,e,e.type,e.pendingProps,n);case 17:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Ir(r,i),If(t,e),e.tag=1,xn(r)?(t=!0,Jf(e)):t=!1,ka(e,n),XS(e,r,i),uy(e,r,i,n),fy(null,e,r,!0,t,n);case 19:return xI(t,e,n);case 22:return EI(t,e,n)}throw Error(Z(156,e.tag))};function KI(t,e){return yS(t,e)}function vP(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function yr(t,e,n,r){return new vP(t,e,n,r)}function lg(t){return t=t.prototype,!(!t||!t.isReactComponent)}function gP(t){if(typeof t=="function")return lg(t)?1:0;if(t!=null){if(t=t.$$typeof,t===xv)return 11;if(t===Cv)return 14}return 2}function ks(t,e){var n=t.alternate;return n===null?(n=yr(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function kf(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")lg(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case ca:return Io(n.children,i,s,e);case Dv:o=8,i|=8;break;case Rm:return t=yr(12,n,e,i|2),t.elementType=Rm,t.lanes=s,t;case Tm:return t=yr(13,n,e,i),t.elementType=Tm,t.lanes=s,t;case Mm:return t=yr(19,n,e,i),t.elementType=Mm,t.lanes=s,t;case Z1:return mh(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case J1:o=10;break e;case X1:o=9;break e;case xv:o=11;break e;case Cv:o=14;break e;case us:o=16,r=null;break e}throw Error(Z(130,t==null?t:typeof t,""))}return e=yr(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Io(t,e,n,r){return t=yr(7,t,r,e),t.lanes=n,t}function mh(t,e,n,r){return t=yr(22,t,r,e),t.elementType=Z1,t.lanes=n,t.stateNode={isHidden:!1},t}function Gp(t,e,n){return t=yr(6,t,null,e),t.lanes=n,t}function Jp(t,e,n){return e=yr(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function wP(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pp(0),this.expirationTimes=Pp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pp(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function cg(t,e,n,r,i,s,o,a,l){return t=new wP(t,e,n,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=yr(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Hv(s),t}function _P(t,e,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(QI)}catch(t){console.error(t)}}QI(),q1.exports=rr;var OP=q1.exports,YI,k_=OP;YI=k_.createRoot,k_.hydrateRoot;var Iy=function(t,e){return Iy=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},Iy(t,e)};function pi(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Iy(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function tt(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}function re(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function ve(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(h){try{f(r.next(h))}catch(m){o(m)}}function l(h){try{f(r.throw(h))}catch(m){o(m)}}function f(h){h.done?s(h.value):i(h.value).then(a,l)}f((r=r.apply(t,e||[])).next())})}function GI(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(f){return function(h){return l([f,h])}}function l(f){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,f[0]&&(n=0)),n;)try{if(r=1,i&&(s=f[0]&2?i.return:f[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,f[1])).done)return s;switch(i=0,s&&(f=[f[0]&2,s.value]),f[0]){case 0:case 1:s=f;break;case 4:return n.label++,{value:f[1],done:!1};case 5:n.label++,i=f[1],f=[0];continue;case 7:f=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(f[0]===6||f[0]===2)){n=0;continue}if(f[0]===3&&(!s||f[1]>s[0]&&f[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Tr(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function ci(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r1||a(y,w)})})}function a(y,w){try{l(r[y](w))}catch(I){m(s[0][3],I)}}function l(y){y.value instanceof ge?Promise.resolve(y.value.v).then(f,h):m(s[0][2],y)}function f(y){a("next",y)}function h(y){a("throw",y)}function m(y,w){y(w),s.shift(),s.length&&a(s[0][0],s[0][1])}}function Df(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(o){return(n=!n)?{value:ge(t[i](o)),done:!1}:s?s(o):o}:s}}function Ds(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof ja=="function"?ja(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(f){s({value:f,done:a})},o)}}function kl(t){"@babel/helpers - typeof";return kl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kl(t)}function kP(t,e){if(kl(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e||"default");if(kl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function DP(t){var e=kP(t,"string");return kl(e)=="symbol"?e:String(e)}function D_(t,e){for(var n=0;nr[t]:r=>{for(var i=r,s=0;s"u")return i}return i}}function $e(t){return Object.assign({},t)}function PP(t){return Object.keys(t)[0]}function fd(t,e=!1){if(!t)return t;if(!e&&Array.isArray(t))return t.sort((r,i)=>typeof r=="string"&&typeof i=="string"?r.localeCompare(i):typeof r=="object"?1:-1).map(r=>fd(r,e));if(typeof t=="object"&&!Array.isArray(t)){var n={};return Object.keys(t).sort((r,i)=>r.localeCompare(i)).forEach(r=>{n[r]=fd(t[r],e)}),n}return t}function Ey(t){if(!t||t===null||typeof t!="object")return t;if(Array.isArray(t)){for(var e=new Array(t.length),n=e.length;n--;)e[n]=Ey(t[n]);return e}var r={};for(var i in t)r[i]=Ey(t[i]);return r}var Pn=Ey;function xs(t,e,n){return Object.defineProperty(t,e,{get:function(){return n}}),n}var mg=1;function Ks(){return{lwt:mg}}function Rn(){return""}function RP(t){return Object.assign({},t,{_meta:void 0,_deleted:void 0,_rev:void 0})}function TP(t,e,n){if(e.length!==n.length)return!1;for(var r=0,i=e.length;r>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=e.words[n>>>2];return this.sigBytes+=e.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new Cs([...this.words])}}const MP={stringify(t){const e=[];for(let n=0;n>>2]>>>24-n%4*8&255;e.push((r>>>4).toString(16),(r&15).toString(16))}return e.join("")}},NP={parse(t){const e=t.length,n=[];for(let r=0;r>>2]|=(t.charCodeAt(r)&255)<<24-r%4*8;return new Cs(n,e)}},BP={parse(t){return NP.parse(unescape(encodeURIComponent(t)))}};class FP{constructor(){this._data=new Cs,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new Cs,this._nDataBytes=0}_append(e){typeof e=="string"&&(e=BP.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_doProcessBlock(e,n){}_process(e){let n,r=this._data.sigBytes/(this.blockSize*4);e?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const i=r*this.blockSize,s=Math.min(i*4,this._data.sigBytes);if(i){for(let o=0;o>>7)^(O<<14|O>>>18)^O>>>3,W=so[y-2],Q=(W<<15|W>>>17)^(W<<13|W>>>19)^W>>>10;so[y]=z+so[y-7]+Q+so[y-16]}const w=l&f^~l&h,I=i&s^i&o^s&o,E=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),$=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),S=m+$+w+$P[y]+so[y],_=E+I;m=h,h=f,f=l,l=a+S|0,a=o,o=s,s=i,i=S+_|0}r[0]=r[0]+i|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+l|0,r[5]=r[5]+f|0,r[6]=r[6]+h|0,r[7]=r[7]+m|0}finalize(e){super.finalize(e);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function UP(t){return new jP().finalize(t).toString()}function zP(t){return Promise.resolve(UP(t))}async function VP(t){var e=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",e),r=Array.prototype.map.call(new Uint8Array(n),i=>("00"+i.toString(16)).slice(-2)).join("");return r}var KP=typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof crypto.subtle.digest=="function",WP=KP?VP:zP;function qP(){return new Promise(t=>setTimeout(t,0))}function HP(t=0){return new Promise(e=>setTimeout(e,t))}function ZI(t){return t&&typeof t.then=="function"?t:Promise.resolve(t)}var dd=Promise.resolve(!0),Jn=Promise.resolve(!1),yg=Promise.resolve(null),un=Promise.resolve();function vg(t=1e4){return typeof requestIdleCallback=="function"?new Promise(e=>{requestIdleCallback(()=>e(),{timeout:t})}):HP(0)}var Zp=un;function QP(t=void 0){return Zp=Zp.then(()=>vg(t)),Zp}function YP(t,e){return t.reduce((n,r)=>n.then(r),Promise.resolve(e))}var GP=/\./g,A_="abcdefghijklmnopqrstuvwxyz";function su(t=10){for(var e="",n=0;n{var e=typeof t;return t!==null&&(e==="object"||e==="function")},em=new Set(["__proto__","prototype","constructor"]),JP=new Set("0123456789");function tE(t){var e=[],n="",r="start",i=!1;for(var s of t)switch(s){case"\\":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");i&&(n+=s),r="property",i=!i;break}case".":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="property";break}if(i){i=!1,n+=s;break}if(em.has(n))return[];e.push(n),n="",r="property";break}case"[":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="index";break}if(i){i=!1,n+=s;break}if(r==="property"){if(em.has(n))return[];e.push(n),n=""}r="index";break}case"]":{if(r==="index"){e.push(Number.parseInt(n,10)),n="",r="indexEnd";break}if(r==="indexEnd")throw new Error("Invalid character after an index")}default:{if(r==="index"&&!JP.has(s))throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");r==="start"&&(r="property"),i&&(i=!1,n+="\\"),n+=s}}switch(i&&(n+="\\"),r){case"property":{if(em.has(n))return[];e.push(n);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}function nE(t,e){if(typeof e!="number"&&Array.isArray(t)){var n=Number.parseInt(e,10);return Number.isInteger(n)&&t[n]===t[e]}return!1}function XP(t,e){if(nE(t,e))throw new Error("Cannot use string index")}function Ts(t,e,n){if(Array.isArray(e)&&(e=e.join(".")),!e.includes(".")&&!e.includes("["))return t[e];if(!Oy(t)||typeof e!="string")return n===void 0?t:n;var r=tE(e);if(r.length===0)return n;for(var i=0;i"u")throw new Error("missing value from map "+e);return n}function Mr(t,e,n,r){var i=t.get(e);return typeof i>"u"?(i=n(),t.set(e,i)):r&&r(i),i}function pt(t){var e=t.split("-"),n="RxDB";return e.forEach(r=>{n+=eE(r)}),n+="Plugin",new Error(`You are using a function which must be overwritten by a plugin. +`+s.stack}return{value:t,source:e,stack:i,digest:null}}function Qp(t,e,n){return{value:t,source:null,stack:n??null,digest:e??null}}function ly(t,e){try{console.error(e.value)}catch(n){setTimeout(function(){throw n})}}var nP=typeof WeakMap=="function"?WeakMap:Map;function bI(t,e,n){n=Ri(-1,n),n.tag=3,n.payload={element:null};var r=e.value;return n.callback=function(){ad||(ad=!0,wy=r),ly(t,e)},n}function SI(t,e,n){n=Ri(-1,n),n.tag=3;var r=t.type.getDerivedStateFromError;if(typeof r=="function"){var i=e.value;n.payload=function(){return r(i)},n.callback=function(){ly(t,e)}}var s=t.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){ly(t,e),typeof r!="function"&&(Es===null?Es=new Set([this]):Es.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),n}function l_(t,e,n){var r=t.pingCache;if(r===null){r=t.pingCache=new nP;var i=new Set;r.set(e,i)}else i=r.get(e),i===void 0&&(i=new Set,r.set(e,i));i.has(n)||(i.add(n),t=yP.bind(null,t,e,n),e.then(t,t))}function c_(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function f_(t,e,n,r,i){return t.mode&1?(t.flags|=65536,t.lanes=i,t):(t===e?t.flags|=65536:(t.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(e=Ri(-1,1),e.tag=2,Is(n,e,1))),n.lanes|=1),t)}var rP=Qi.ReactCurrentOwner,Cn=!1;function hn(t,e,n,r){e.child=t===null?eI(e,null,n,r):Na(e,t.child,n,r)}function d_(t,e,n,r,i){n=n.render;var s=e.ref;return Oa(e,i),r=Zv(t,e,n,r,s,i),n=eg(),t!==null&&!Cn?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,ji(t,e,i)):(gt&&n&&Uv(e),e.flags|=1,hn(t,e,r,i),e.child)}function h_(t,e,n,r,i){if(t===null){var s=n.type;return typeof s=="function"&&!cg(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(e.tag=15,e.type=s,II(t,e,s,r,i)):(t=kf(n.type,null,r,e,e.mode,i),t.ref=e.ref,t.return=e,e.child=t)}if(s=t.child,!(t.lanes&i)){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:yl,n(o,r)&&t.ref===e.ref)return ji(t,e,i)}return e.flags|=1,t=ks(s,r),t.ref=e.ref,t.return=e,e.child=t}function II(t,e,n,r,i){if(t!==null){var s=t.memoizedProps;if(yl(s,r)&&t.ref===e.ref)if(Cn=!1,e.pendingProps=r=s,(t.lanes&i)!==0)t.flags&131072&&(Cn=!0);else return e.lanes=t.lanes,ji(t,e,i)}return cy(t,e,n,r,i)}function EI(t,e,n){var r=e.pendingProps,i=r.children,s=t!==null?t.memoizedState:null;if(r.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},ut(wa,Hn),Hn|=n;else{if(!(n&1073741824))return t=s!==null?s.baseLanes|n:n,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,ut(wa,Hn),Hn|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=s!==null?s.baseLanes:n,ut(wa,Hn),Hn|=r}else s!==null?(r=s.baseLanes|n,e.memoizedState=null):r=n,ut(wa,Hn),Hn|=r;return hn(t,e,i,n),e.child}function OI(t,e){var n=e.ref;(t===null&&n!==null||t!==null&&t.ref!==n)&&(e.flags|=512,e.flags|=2097152)}function cy(t,e,n,r,i){var s=Pn(n)?Po:ln.current;return s=Ta(e,s),Oa(e,i),n=Zv(t,e,n,r,s,i),r=eg(),t!==null&&!Cn?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,ji(t,e,i)):(gt&&r&&Uv(e),e.flags|=1,hn(t,e,n,i),e.child)}function p_(t,e,n,r,i){if(Pn(n)){var s=!0;Jf(e)}else s=!1;if(Oa(e,i),e.stateNode===null)If(t,e),XS(e,n,r),uy(e,n,r,i),r=!0;else if(t===null){var o=e.stateNode,a=e.memoizedProps;o.props=a;var l=o.context,f=n.contextType;typeof f=="object"&&f!==null?f=wr(f):(f=Pn(n)?Po:ln.current,f=Ta(e,f));var h=n.getDerivedStateFromProps,p=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function";p||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==r||l!==f)&&s_(e,o,r,f),ls=!1;var y=e.memoizedState;o.state=y,nd(e,r,o,i),l=e.memoizedState,a!==r||y!==l||An.current||ls?(typeof h=="function"&&(ay(e,n,h,r),l=e.memoizedState),(a=ls||i_(e,n,a,r,y,l,f))?(p||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=r,e.memoizedState=l),o.props=r,o.state=l,o.context=f,r=a):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),r=!1)}else{o=e.stateNode,GS(t,e),a=e.memoizedProps,f=e.type===e.elementType?a:Or(e.type,a),o.props=f,p=e.pendingProps,y=o.context,l=n.contextType,typeof l=="object"&&l!==null?l=wr(l):(l=Pn(n)?Po:ln.current,l=Ta(e,l));var w=n.getDerivedStateFromProps;(h=typeof w=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==p||y!==l)&&s_(e,o,r,l),ls=!1,y=e.memoizedState,o.state=y,nd(e,r,o,i);var I=e.memoizedState;a!==p||y!==I||An.current||ls?(typeof w=="function"&&(ay(e,n,w,r),I=e.memoizedState),(f=ls||i_(e,n,f,r,y,I,l)||!1)?(h||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,I,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,I,l)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=1024),e.memoizedProps=r,e.memoizedState=I),o.props=r,o.state=I,o.context=l,r=f):(typeof o.componentDidUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=1024),r=!1)}return fy(t,e,n,r,s,i)}function fy(t,e,n,r,i,s){OI(t,e);var o=(e.flags&128)!==0;if(!r&&!o)return i&&Zw(e,n,!1),ji(t,e,s);r=e.stateNode,rP.current=e;var a=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return e.flags|=1,t!==null&&o?(e.child=Na(e,t.child,null,s),e.child=Na(e,null,a,s)):hn(t,e,a,s),e.memoizedState=r.state,i&&Zw(e,n,!0),e.child}function kI(t){var e=t.stateNode;e.pendingContext?Xw(t,e.pendingContext,e.pendingContext!==e.context):e.context&&Xw(t,e.context,!1),Yv(t,e.containerInfo)}function m_(t,e,n,r,i){return Ma(),Vv(i),e.flags|=256,hn(t,e,n,r),e.child}var dy={dehydrated:null,treeContext:null,retryLane:0};function hy(t){return{baseLanes:t,cachePool:null,transitions:null}}function DI(t,e,n){var r=e.pendingProps,i=bt.current,s=!1,o=(e.flags&128)!==0,a;if((a=o)||(a=t!==null&&t.memoizedState===null?!1:(i&2)!==0),a?(s=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(i|=1),ut(bt,i&1),t===null)return sy(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?(e.mode&1?t.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(o=r.children,t=r.fallback,s?(r=e.mode,s=e.child,o={mode:"hidden",children:o},!(r&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=mh(o,r,0,null),t=Oo(t,r,n,null),s.return=e,t.return=e,s.sibling=t,e.child=s,e.child.memoizedState=hy(n),e.memoizedState=dy,t):rg(e,o));if(i=t.memoizedState,i!==null&&(a=i.dehydrated,a!==null))return iP(t,e,o,r,a,i,n);if(s){s=r.fallback,o=e.mode,i=t.child,a=i.sibling;var l={mode:"hidden",children:r.children};return!(o&1)&&e.child!==i?(r=e.child,r.childLanes=0,r.pendingProps=l,e.deletions=null):(r=ks(i,l),r.subtreeFlags=i.subtreeFlags&14680064),a!==null?s=ks(a,s):(s=Oo(s,o,n,null),s.flags|=2),s.return=e,r.return=e,r.sibling=s,e.child=r,r=s,s=e.child,o=t.child.memoizedState,o=o===null?hy(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=t.childLanes&~n,e.memoizedState=dy,r}return s=t.child,t=s.sibling,r=ks(s,{mode:"visible",children:r.children}),!(e.mode&1)&&(r.lanes=n),r.return=e,r.sibling=null,t!==null&&(n=e.deletions,n===null?(e.deletions=[t],e.flags|=16):n.push(t)),e.child=r,e.memoizedState=null,r}function rg(t,e){return e=mh({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function ef(t,e,n,r){return r!==null&&Vv(r),Na(e,t.child,null,n),t=rg(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function iP(t,e,n,r,i,s,o){if(n)return e.flags&256?(e.flags&=-257,r=Qp(Error(Z(422))),ef(t,e,o,r)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(s=r.fallback,i=e.mode,r=mh({mode:"visible",children:r.children},i,0,null),s=Oo(s,i,o,null),s.flags|=2,r.return=e,s.return=e,r.sibling=s,e.child=r,e.mode&1&&Na(e,t.child,null,o),e.child.memoizedState=hy(o),e.memoizedState=dy,s);if(!(e.mode&1))return ef(t,e,o,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var a=r.dgst;return r=a,s=Error(Z(419)),r=Qp(s,r,void 0),ef(t,e,o,r)}if(a=(o&t.childLanes)!==0,Cn||a){if(r=Qt,r!==null){switch(o&-o){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|o)?0:i,i!==0&&i!==s.retryLane&&(s.retryLane=i,$i(t,i),Rr(r,t,i,-1))}return lg(),r=Qp(Error(Z(421))),ef(t,e,o,r)}return i.data==="$?"?(e.flags|=128,e.child=t.child,e=vP.bind(null,t),i._reactRetry=e,null):(t=s.treeContext,Jn=Ss(i.nextSibling),Zn=e,gt=!0,xr=null,t!==null&&(hr[pr++]=xi,hr[pr++]=Ci,hr[pr++]=Ro,xi=t.id,Ci=t.overflow,Ro=e),e=rg(e,r.children),e.flags|=4096,e)}function y_(t,e,n){t.lanes|=e;var r=t.alternate;r!==null&&(r.lanes|=e),oy(t.return,e,n)}function Yp(t,e,n,r,i){var s=t.memoizedState;s===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=r,s.tail=n,s.tailMode=i)}function xI(t,e,n){var r=e.pendingProps,i=r.revealOrder,s=r.tail;if(hn(t,e,r.children,n),r=bt.current,r&2)r=r&1|2,e.flags|=128;else{if(t!==null&&t.flags&128)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&y_(t,n,e);else if(t.tag===19)y_(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}r&=1}if(ut(bt,r),!(e.mode&1))e.memoizedState=null;else switch(i){case"forwards":for(n=e.child,i=null;n!==null;)t=n.alternate,t!==null&&rd(t)===null&&(i=n),n=n.sibling;n=i,n===null?(i=e.child,e.child=null):(i=n.sibling,n.sibling=null),Yp(e,!1,i,n,s);break;case"backwards":for(n=null,i=e.child,e.child=null;i!==null;){if(t=i.alternate,t!==null&&rd(t)===null){e.child=i;break}t=i.sibling,i.sibling=n,n=i,i=t}Yp(e,!0,n,null,s);break;case"together":Yp(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function If(t,e){!(e.mode&1)&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function ji(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),Mo|=e.lanes,!(n&e.childLanes))return null;if(t!==null&&e.child!==t.child)throw Error(Z(153));if(e.child!==null){for(t=e.child,n=ks(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=ks(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function sP(t,e,n){switch(e.tag){case 3:kI(e),Ma();break;case 5:tI(e);break;case 1:Pn(e.type)&&Jf(e);break;case 4:Yv(e,e.stateNode.containerInfo);break;case 10:var r=e.type._context,i=e.memoizedProps.value;ut(ed,r._currentValue),r._currentValue=i;break;case 13:if(r=e.memoizedState,r!==null)return r.dehydrated!==null?(ut(bt,bt.current&1),e.flags|=128,null):n&e.child.childLanes?DI(t,e,n):(ut(bt,bt.current&1),t=ji(t,e,n),t!==null?t.sibling:null);ut(bt,bt.current&1);break;case 19:if(r=(n&e.childLanes)!==0,t.flags&128){if(r)return xI(t,e,n);e.flags|=128}if(i=e.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),ut(bt,bt.current),r)break;return null;case 22:case 23:return e.lanes=0,EI(t,e,n)}return ji(t,e,n)}var CI,py,AI,PI;CI=function(t,e){for(var n=e.child;n!==null;){if(n.tag===5||n.tag===6)t.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};py=function(){};AI=function(t,e,n,r){var i=t.memoizedProps;if(i!==r){t=e.stateNode,yo(li.current);var s=null;switch(n){case"input":i=Bm(t,i),r=Bm(t,r),s=[];break;case"select":i=Et({},i,{value:void 0}),r=Et({},r,{value:void 0}),s=[];break;case"textarea":i=$m(t,i),r=$m(t,r),s=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(t.onclick=Yf)}Um(n,r);var o;n=null;for(f in i)if(!r.hasOwnProperty(f)&&i.hasOwnProperty(f)&&i[f]!=null)if(f==="style"){var a=i[f];for(o in a)a.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else f!=="dangerouslySetInnerHTML"&&f!=="children"&&f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&f!=="autoFocus"&&(ll.hasOwnProperty(f)?s||(s=[]):(s=s||[]).push(f,null));for(f in r){var l=r[f];if(a=i!=null?i[f]:void 0,r.hasOwnProperty(f)&&l!==a&&(l!=null||a!=null))if(f==="style")if(a){for(o in a)!a.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in l)l.hasOwnProperty(o)&&a[o]!==l[o]&&(n||(n={}),n[o]=l[o])}else n||(s||(s=[]),s.push(f,n)),n=l;else f==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(s=s||[]).push(f,l)):f==="children"?typeof l!="string"&&typeof l!="number"||(s=s||[]).push(f,""+l):f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&(ll.hasOwnProperty(f)?(l!=null&&f==="onScroll"&&ht("scroll",t),s||a===l||(s=[])):(s=s||[]).push(f,l))}n&&(s=s||[]).push("style",n);var f=s;(e.updateQueue=f)&&(e.flags|=4)}};PI=function(t,e,n,r){n!==r&&(e.flags|=4)};function Tu(t,e){if(!gt)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:r.sibling=null}}function on(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,r=0;if(e)for(var i=t.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=t,i=i.sibling;else for(i=t.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=t,i=i.sibling;return t.subtreeFlags|=r,t.childLanes=n,e}function oP(t,e,n){var r=e.pendingProps;switch(zv(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return on(e),null;case 1:return Pn(e.type)&&Gf(),on(e),null;case 3:return r=e.stateNode,Ba(),mt(An),mt(ln),Jv(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(t===null||t.child===null)&&(Xc(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,xr!==null&&(Sy(xr),xr=null))),py(t,e),on(e),null;case 5:Gv(e);var i=yo(bl.current);if(n=e.type,t!==null&&e.stateNode!=null)AI(t,e,n,r,i),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!r){if(e.stateNode===null)throw Error(Z(166));return on(e),null}if(t=yo(li.current),Xc(e)){r=e.stateNode,n=e.type;var s=e.memoizedProps;switch(r[Xr]=e,r[wl]=s,t=(e.mode&1)!==0,n){case"dialog":ht("cancel",r),ht("close",r);break;case"iframe":case"object":case"embed":ht("load",r);break;case"video":case"audio":for(i=0;i<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[Xr]=e,t[wl]=r,CI(t,e,!1,!1),e.stateNode=t;e:{switch(o=zm(n,r),n){case"dialog":ht("cancel",t),ht("close",t),i=r;break;case"iframe":case"object":case"embed":ht("load",t),i=r;break;case"video":case"audio":for(i=0;iLa&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304)}else{if(!r)if(t=rd(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),Tu(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!gt)return on(e),null}else 2*Tt()-s.renderingStartTime>La&&n!==1073741824&&(e.flags|=128,r=!0,Tu(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Tt(),e.sibling=null,n=bt.current,ut(bt,r?n&1|2:n&1),e):(on(e),null);case 22:case 23:return ug(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&e.mode&1?Hn&1073741824&&(on(e),e.subtreeFlags&6&&(e.flags|=8192)):on(e),null;case 24:return null;case 25:return null}throw Error(Z(156,e.tag))}function aP(t,e){switch(zv(e),e.tag){case 1:return Pn(e.type)&&Gf(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Ba(),mt(An),mt(ln),Jv(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return Gv(e),null;case 13:if(mt(bt),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(Z(340));Ma()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return mt(bt),null;case 4:return Ba(),null;case 10:return qv(e.type._context),null;case 22:case 23:return ug(),null;case 24:return null;default:return null}}var tf=!1,an=!1,uP=typeof WeakSet=="function"?WeakSet:Set,ae=null;function ga(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){At(t,e,r)}else n.current=null}function my(t,e,n){try{n()}catch(r){At(t,e,r)}}var v_=!1;function lP(t,e){if(Xm=qf,t=NS(),jv(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,f=0,h=0,p=t,y=null;t:for(;;){for(var w;p!==n||i!==0&&p.nodeType!==3||(a=o+i),p!==s||r!==0&&p.nodeType!==3||(l=o+r),p.nodeType===3&&(o+=p.nodeValue.length),(w=p.firstChild)!==null;)y=p,p=w;for(;;){if(p===t)break t;if(y===n&&++f===i&&(a=o),y===s&&++h===r&&(l=o),(w=p.nextSibling)!==null)break;p=y,y=p.parentNode}p=w}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Zm={focusedElem:t,selectionRange:n},qf=!1,ae=e;ae!==null;)if(e=ae,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,ae=t;else for(;ae!==null;){e=ae;try{var I=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(I!==null){var E=I.memoizedProps,$=I.memoizedState,S=e.stateNode,_=S.getSnapshotBeforeUpdate(e.elementType===e.type?E:Or(e.type,E),$);S.__reactInternalSnapshotBeforeUpdate=_}break;case 3:var k=e.stateNode.containerInfo;k.nodeType===1?k.textContent="":k.nodeType===9&&k.documentElement&&k.removeChild(k.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(z){At(e,e.return,z)}if(t=e.sibling,t!==null){t.return=e.return,ae=t;break}ae=e.return}return I=v_,v_=!1,I}function Ju(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&my(e,n,s)}i=i.next}while(i!==r)}}function hh(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function yy(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function RI(t){var e=t.alternate;e!==null&&(t.alternate=null,RI(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Xr],delete e[wl],delete e[ny],delete e[WA],delete e[qA])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function TI(t){return t.tag===5||t.tag===3||t.tag===4}function g_(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||TI(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function vy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Yf));else if(r!==4&&(t=t.child,t!==null))for(vy(t,e,n),t=t.sibling;t!==null;)vy(t,e,n),t=t.sibling}function gy(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(gy(t,e,n),t=t.sibling;t!==null;)gy(t,e,n),t=t.sibling}var Xt=null,kr=!1;function os(t,e,n){for(n=n.child;n!==null;)MI(t,e,n),n=n.sibling}function MI(t,e,n){if(ui&&typeof ui.onCommitFiberUnmount=="function")try{ui.onCommitFiberUnmount(sh,n)}catch{}switch(n.tag){case 5:an||ga(n,e);case 6:var r=Xt,i=kr;Xt=null,os(t,e,n),Xt=r,kr=i,Xt!==null&&(kr?(t=Xt,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):Xt.removeChild(n.stateNode));break;case 18:Xt!==null&&(kr?(t=Xt,n=n.stateNode,t.nodeType===8?zp(t.parentNode,n):t.nodeType===1&&zp(t,n),pl(t)):zp(Xt,n.stateNode));break;case 4:r=Xt,i=kr,Xt=n.stateNode.containerInfo,kr=!0,os(t,e,n),Xt=r,kr=i;break;case 0:case 11:case 14:case 15:if(!an&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&my(n,e,o),i=i.next}while(i!==r)}os(t,e,n);break;case 1:if(!an&&(ga(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){At(n,e,a)}os(t,e,n);break;case 21:os(t,e,n);break;case 22:n.mode&1?(an=(r=an)||n.memoizedState!==null,os(t,e,n),an=r):os(t,e,n);break;default:os(t,e,n)}}function w_(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new uP),e.forEach(function(r){var i=gP.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Ir(t,e){var n=e.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~s}if(r=i,r=Tt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*fP(r/1960))-r,10t?16:t,ys===null)var r=!1;else{if(t=ys,ys=null,ud=0,Fe&6)throw Error(Z(331));var i=Fe;for(Fe|=4,ae=t.current;ae!==null;){var s=ae,o=s.child;if(ae.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lTt()-og?Eo(t,0):sg|=n),Rn(t,e)}function zI(t,e){e===0&&(t.mode&1?(e=qc,qc<<=1,!(qc&130023424)&&(qc=4194304)):e=1);var n=wn();t=$i(t,e),t!==null&&(Vl(t,e,n),Rn(t,n))}function vP(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),zI(t,n)}function gP(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(e),zI(t,n)}var VI;VI=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||An.current)Cn=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return Cn=!1,sP(t,e,n);Cn=!!(t.flags&131072)}else Cn=!1,gt&&e.flags&1048576&&qS(e,Zf,e.index);switch(e.lanes=0,e.tag){case 2:var r=e.type;If(t,e),t=e.pendingProps;var i=Ta(e,ln.current);Oa(e,n),i=Zv(null,e,r,t,i,n);var s=eg();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,Pn(r)?(s=!0,Jf(e)):s=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Qv(e),i.updater=fh,e.stateNode=i,i._reactInternals=e,uy(e,r,t,n),e=fy(null,e,r,!0,s,n)):(e.tag=0,gt&&s&&Uv(e),hn(null,e,i,n),e=e.child),e;case 16:r=e.elementType;e:{switch(If(t,e),t=e.pendingProps,i=r._init,r=i(r._payload),e.type=r,i=e.tag=_P(r),t=Or(r,t),i){case 0:e=cy(null,e,r,t,n);break e;case 1:e=p_(null,e,r,t,n);break e;case 11:e=d_(null,e,r,t,n);break e;case 14:e=h_(null,e,r,Or(r.type,t),n);break e}throw Error(Z(306,r,""))}return e;case 0:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Or(r,i),cy(t,e,r,i,n);case 1:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Or(r,i),p_(t,e,r,i,n);case 3:e:{if(kI(e),t===null)throw Error(Z(387));r=e.pendingProps,s=e.memoizedState,i=s.element,GS(t,e),nd(e,r,null,n);var o=e.memoizedState;if(r=o.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){i=Fa(Error(Z(423)),e),e=m_(t,e,r,n,i);break e}else if(r!==i){i=Fa(Error(Z(424)),e),e=m_(t,e,r,n,i);break e}else for(Jn=Ss(e.stateNode.containerInfo.firstChild),Zn=e,gt=!0,xr=null,n=eI(e,null,r,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ma(),r===i){e=ji(t,e,n);break e}hn(t,e,r,n)}e=e.child}return e;case 5:return tI(e),t===null&&sy(e),r=e.type,i=e.pendingProps,s=t!==null?t.memoizedProps:null,o=i.children,ey(r,i)?o=null:s!==null&&ey(r,s)&&(e.flags|=32),OI(t,e),hn(t,e,o,n),e.child;case 6:return t===null&&sy(e),null;case 13:return DI(t,e,n);case 4:return Yv(e,e.stateNode.containerInfo),r=e.pendingProps,t===null?e.child=Na(e,null,r,n):hn(t,e,r,n),e.child;case 11:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Or(r,i),d_(t,e,r,i,n);case 7:return hn(t,e,e.pendingProps,n),e.child;case 8:return hn(t,e,e.pendingProps.children,n),e.child;case 12:return hn(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(r=e.type._context,i=e.pendingProps,s=e.memoizedProps,o=i.value,ut(ed,r._currentValue),r._currentValue=o,s!==null)if(Nr(s.value,o)){if(s.children===i.children&&!An.current){e=ji(t,e,n);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(s.tag===1){l=Ri(-1,n&-n),l.tag=2;var f=s.updateQueue;if(f!==null){f=f.shared;var h=f.pending;h===null?l.next=l:(l.next=h.next,h.next=l),f.pending=l}}s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),oy(s.return,n,e),a.lanes|=n;break}l=l.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(Z(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),oy(o,n,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}hn(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,r=e.pendingProps.children,Oa(e,n),i=wr(i),r=r(i),e.flags|=1,hn(t,e,r,n),e.child;case 14:return r=e.type,i=Or(r,e.pendingProps),i=Or(r.type,i),h_(t,e,r,i,n);case 15:return II(t,e,e.type,e.pendingProps,n);case 17:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Or(r,i),If(t,e),e.tag=1,Pn(r)?(t=!0,Jf(e)):t=!1,Oa(e,n),XS(e,r,i),uy(e,r,i,n),fy(null,e,r,!0,t,n);case 19:return xI(t,e,n);case 22:return EI(t,e,n)}throw Error(Z(156,e.tag))};function KI(t,e){return yS(t,e)}function wP(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function vr(t,e,n,r){return new wP(t,e,n,r)}function cg(t){return t=t.prototype,!(!t||!t.isReactComponent)}function _P(t){if(typeof t=="function")return cg(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Cv)return 11;if(t===Av)return 14}return 2}function ks(t,e){var n=t.alternate;return n===null?(n=vr(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function kf(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")cg(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case la:return Oo(n.children,i,s,e);case xv:o=8,i|=8;break;case Rm:return t=vr(12,n,e,i|2),t.elementType=Rm,t.lanes=s,t;case Tm:return t=vr(13,n,e,i),t.elementType=Tm,t.lanes=s,t;case Mm:return t=vr(19,n,e,i),t.elementType=Mm,t.lanes=s,t;case Z1:return mh(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case J1:o=10;break e;case X1:o=9;break e;case Cv:o=11;break e;case Av:o=14;break e;case us:o=16,r=null;break e}throw Error(Z(130,t==null?t:typeof t,""))}return e=vr(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Oo(t,e,n,r){return t=vr(7,t,r,e),t.lanes=n,t}function mh(t,e,n,r){return t=vr(22,t,r,e),t.elementType=Z1,t.lanes=n,t.stateNode={isHidden:!1},t}function Gp(t,e,n){return t=vr(6,t,null,e),t.lanes=n,t}function Jp(t,e,n){return e=vr(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function bP(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pp(0),this.expirationTimes=Pp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pp(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function fg(t,e,n,r,i,s,o,a,l){return t=new bP(t,e,n,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=vr(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Qv(s),t}function SP(t,e,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(QI)}catch(t){console.error(t)}}QI(),q1.exports=sr;var DP=q1.exports,YI,D_=DP;YI=D_.createRoot,D_.hydrateRoot;var Iy=function(t,e){return Iy=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},Iy(t,e)};function pi(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Iy(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function tt(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}function re(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function ve(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(h){try{f(r.next(h))}catch(p){o(p)}}function l(h){try{f(r.throw(h))}catch(p){o(p)}}function f(h){h.done?s(h.value):i(h.value).then(a,l)}f((r=r.apply(t,e||[])).next())})}function GI(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(f){return function(h){return l([f,h])}}function l(f){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,f[0]&&(n=0)),n;)try{if(r=1,i&&(s=f[0]&2?i.return:f[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,f[1])).done)return s;switch(i=0,s&&(f=[f[0]&2,s.value]),f[0]){case 0:case 1:s=f;break;case 4:return n.label++,{value:f[1],done:!1};case 5:n.label++,i=f[1],f=[0];continue;case 7:f=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(f[0]===6||f[0]===2)){n=0;continue}if(f[0]===3&&(!s||f[1]>s[0]&&f[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function nr(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function br(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r1||a(y,w)})})}function a(y,w){try{l(r[y](w))}catch(I){p(s[0][3],I)}}function l(y){y.value instanceof ge?Promise.resolve(y.value.v).then(f,h):p(s[0][2],y)}function f(y){a("next",y)}function h(y){a("throw",y)}function p(y,w){y(w),s.shift(),s.length&&a(s[0][0],s[0][1])}}function Df(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(o){return(n=!n)?{value:ge(t[i](o)),done:!1}:s?s(o):o}:s}}function Ds(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof $a=="function"?$a(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(f){s({value:f,done:a})},o)}}function kl(t){"@babel/helpers - typeof";return kl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kl(t)}function xP(t,e){if(kl(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e||"default");if(kl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function CP(t){var e=xP(t,"string");return kl(e)=="symbol"?e:String(e)}function x_(t,e){for(var n=0;nr[t]:r=>{for(var i=r,s=0;s"u")return i}return i}}function $e(t){return Object.assign({},t)}function TP(t){return Object.keys(t)[0]}function fd(t,e=!1){if(!t)return t;if(!e&&Array.isArray(t))return t.sort((r,i)=>typeof r=="string"&&typeof i=="string"?r.localeCompare(i):typeof r=="object"?1:-1).map(r=>fd(r,e));if(typeof t=="object"&&!Array.isArray(t)){var n={};return Object.keys(t).sort((r,i)=>r.localeCompare(i)).forEach(r=>{n[r]=fd(t[r],e)}),n}return t}function Ey(t){if(!t||t===null||typeof t!="object")return t;if(Array.isArray(t)){for(var e=new Array(t.length),n=e.length;n--;)e[n]=Ey(t[n]);return e}var r={};for(var i in t)r[i]=Ey(t[i]);return r}var Mn=Ey;function xs(t,e,n){return Object.defineProperty(t,e,{get:function(){return n}}),n}var yg=1;function Ws(){return{lwt:yg}}function Nn(){return""}function MP(t){return Object.assign({},t,{_meta:void 0,_deleted:void 0,_rev:void 0})}function NP(t,e,n){if(e.length!==n.length)return!1;for(var r=0,i=e.length;r>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=e.words[n>>>2];return this.sigBytes+=e.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new Cs([...this.words])}}const BP={stringify(t){const e=[];for(let n=0;n>>2]>>>24-n%4*8&255;e.push((r>>>4).toString(16),(r&15).toString(16))}return e.join("")}},FP={parse(t){const e=t.length,n=[];for(let r=0;r>>2]|=(t.charCodeAt(r)&255)<<24-r%4*8;return new Cs(n,e)}},LP={parse(t){return FP.parse(unescape(encodeURIComponent(t)))}};class $P{constructor(){this._data=new Cs,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new Cs,this._nDataBytes=0}_append(e){typeof e=="string"&&(e=LP.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_doProcessBlock(e,n){}_process(e){let n,r=this._data.sigBytes/(this.blockSize*4);e?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const i=r*this.blockSize,s=Math.min(i*4,this._data.sigBytes);if(i){for(let o=0;o>>7)^(k<<14|k>>>18)^k>>>3,W=ao[y-2],Q=(W<<15|W>>>17)^(W<<13|W>>>19)^W>>>10;ao[y]=z+ao[y-7]+Q+ao[y-16]}const w=l&f^~l&h,I=i&s^i&o^s&o,E=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),$=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),S=p+$+w+UP[y]+ao[y],_=E+I;p=h,h=f,f=l,l=a+S|0,a=o,o=s,s=i,i=S+_|0}r[0]=r[0]+i|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+l|0,r[5]=r[5]+f|0,r[6]=r[6]+h|0,r[7]=r[7]+p|0}finalize(e){super.finalize(e);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function VP(t){return new zP().finalize(t).toString()}function KP(t){return Promise.resolve(VP(t))}async function WP(t){var e=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",e),r=Array.prototype.map.call(new Uint8Array(n),i=>("00"+i.toString(16)).slice(-2)).join("");return r}var qP=typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof crypto.subtle.digest=="function",HP=qP?WP:KP;function QP(){return new Promise(t=>setTimeout(t,0))}function YP(t=0){return new Promise(e=>setTimeout(e,t))}function ZI(t){return t&&typeof t.then=="function"?t:Promise.resolve(t)}var dd=Promise.resolve(!0),Xn=Promise.resolve(!1),vg=Promise.resolve(null),un=Promise.resolve();function gg(t=1e4){return typeof requestIdleCallback=="function"?new Promise(e=>{requestIdleCallback(()=>e(),{timeout:t})}):YP(0)}var Zp=un;function GP(t=void 0){return Zp=Zp.then(()=>gg(t)),Zp}function JP(t,e){return t.reduce((n,r)=>n.then(r),Promise.resolve(e))}var XP=/\./g,P_="abcdefghijklmnopqrstuvwxyz";function iu(t=10){for(var e="",n=0;n{var e=typeof t;return t!==null&&(e==="object"||e==="function")},em=new Set(["__proto__","prototype","constructor"]),ZP=new Set("0123456789");function tE(t){var e=[],n="",r="start",i=!1;for(var s of t)switch(s){case"\\":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");i&&(n+=s),r="property",i=!i;break}case".":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="property";break}if(i){i=!1,n+=s;break}if(em.has(n))return[];e.push(n),n="",r="property";break}case"[":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="index";break}if(i){i=!1,n+=s;break}if(r==="property"){if(em.has(n))return[];e.push(n),n=""}r="index";break}case"]":{if(r==="index"){e.push(Number.parseInt(n,10)),n="",r="indexEnd";break}if(r==="indexEnd")throw new Error("Invalid character after an index")}default:{if(r==="index"&&!ZP.has(s))throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");r==="start"&&(r="property"),i&&(i=!1,n+="\\"),n+=s}}switch(i&&(n+="\\"),r){case"property":{if(em.has(n))return[];e.push(n);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}function nE(t,e){if(typeof e!="number"&&Array.isArray(t)){var n=Number.parseInt(e,10);return Number.isInteger(n)&&t[n]===t[e]}return!1}function eR(t,e){if(nE(t,e))throw new Error("Cannot use string index")}function Ts(t,e,n){if(Array.isArray(e)&&(e=e.join(".")),!e.includes(".")&&!e.includes("["))return t[e];if(!Oy(t)||typeof e!="string")return n===void 0?t:n;var r=tE(e);if(r.length===0)return n;for(var i=0;i"u")throw new Error("missing value from map "+e);return n}function Br(t,e,n,r){var i=t.get(e);return typeof i>"u"?(i=n(),t.set(e,i)):r&&r(i),i}function pt(t){var e=t.split("-"),n="RxDB";return e.forEach(r=>{n+=eE(r)}),n+="Plugin",new Error(`You are using a function which must be overwritten by a plugin. You should either prevent the usage of this function or add the plugin via: import { `+n+" } from 'rxdb/plugins/"+t+`'; addRxPlugin(`+n+`); `)}function ky(t){var e={name:t.name,message:t.message,rxdb:t.rxdb,parameters:t.parameters,code:t.code,stack:t.stack?t.stack.replace(/\n/g,` - `):void 0};return e}var tm=0;function Ft(){var t=Date.now();t=t+.01,t<=tm&&(t=tm+.01);var e=parseFloat(t.toFixed(2));return tm=e,e}function ye(t,e){if(!t)throw e||(e=""),new Error("ensureNotFalsy() is falsy: "+e);return t}var Ai={bufferSize:1,refCount:!0},gg="15.9.1";function Dl(t,e){return Dl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},Dl(t,e)}function wg(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Dl(t,e)}function Dy(t){return Dy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Dy(t)}function ZP(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function iE(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(iE=function(){return!!t})()}function eR(t,e,n){if(iE())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&Dl(i,n.prototype),i}function hd(t){var e=typeof Map=="function"?new Map:void 0;return hd=function(r){if(r===null||!ZP(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(r))return e.get(r);e.set(r,i)}function i(){return eR(r,arguments,Dy(this).constructor)}return i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),Dl(i,r)},hd(t)}var it={isDevMode(){return!1},deepFreezeWhenDevMode(t){return t},tunnelErrorMessage(t){return"RxDB Error-Code "+t+`. + `):void 0};return e}var tm=0;function Ft(){var t=Date.now();t=t+.01,t<=tm&&(t=tm+.01);var e=parseFloat(t.toFixed(2));return tm=e,e}function ye(t,e){if(!t)throw e||(e=""),new Error("ensureNotFalsy() is falsy: "+e);return t}var Ai={bufferSize:1,refCount:!0},wg="15.9.1";function Dl(t,e){return Dl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},Dl(t,e)}function _g(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Dl(t,e)}function Dy(t){return Dy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Dy(t)}function tR(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function iE(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(iE=function(){return!!t})()}function nR(t,e,n){if(iE())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&Dl(i,n.prototype),i}function hd(t){var e=typeof Map=="function"?new Map:void 0;return hd=function(r){if(r===null||!tR(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(r))return e.get(r);e.set(r,i)}function i(){return nR(r,arguments,Dy(this).constructor)}return i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),Dl(i,r)},hd(t)}var it={isDevMode(){return!1},deepFreezeWhenDevMode(t){return t},tunnelErrorMessage(t){return"RxDB Error-Code "+t+`. Error messages are not included in RxDB core to reduce build size. - To find out what this error means, either use the dev-mode-plugin https://rxdb.info/dev-mode.html - or search for the error code here: https://github.com/pubkey/rxdb/search?q=`+t+` - `}};function tR(t){var e="";return Object.keys(t).length===0||(e+=`Given parameters: { + `}};function rR(t){var e="";return Object.keys(t).length===0||(e+=`Given parameters: { `,e+=Object.keys(t).map(n=>{var r="[object Object]";try{n==="errors"?r=t[n].map(i=>JSON.stringify(i,Object.getOwnPropertyNames(i))):r=JSON.stringify(t[n],function(i,s){return s===void 0?null:s},2)}catch{}return n+":"+r}).join(` `),e+="}"),e}function sE(t,e,n){return"RxError ("+e+`): `+t+` -`+tR(n)}var nR=function(t){wg(e,t);function e(r,i,s={}){var o,a=sE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Vs(e,[{key:"name",get:function(){return"RxError ("+this.code+")"}},{key:"typeError",get:function(){return!1}}]),e}(hd(Error)),rR=function(t){wg(e,t);function e(r,i,s={}){var o,a=sE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Vs(e,[{key:"name",get:function(){return"RxTypeError ("+this.code+")"}},{key:"typeError",get:function(){return!0}}]),e}(hd(TypeError));function le(t,e){return new nR(t,it.tunnelErrorMessage(t),e)}function el(t,e){return new rR(t,it.tunnelErrorMessage(t),e)}function _h(t){return t&&t.status===409?t:!1}var iR={409:"document write conflict",422:"schema validation error",510:"attachment data missing"};function sR(t){return le("COL20",{name:iR[t.status],document:t.documentId,writeError:t})}var xl={preAddRxPlugin:[],preCreateRxDatabase:[],createRxDatabase:[],preCreateRxCollection:[],createRxCollection:[],postDestroyRxCollection:[],postRemoveRxCollection:[],preCreateRxSchema:[],createRxSchema:[],preCreateRxQuery:[],prePrepareQuery:[],createRxDocument:[],postCreateRxDocument:[],preCreateRxStorageInstance:[],preMigrateDocument:[],postMigrateDocument:[],preDestroyRxDatabase:[],postRemoveRxDatabase:[],preReplicationMasterWrite:[],preReplicationMasterWriteDocumentsHandle:[]};function Nr(t,e){xl[t]&&xl[t].forEach(n=>n(e))}function No(t,e){return Promise.all(xl[t].map(n=>n(e)))}function zi(t,e){var n=e;n=n.replace(GP,".properties."),n="properties."+n,n=zu(n);var r=Ts(t,n);return r}function oE(t,e,n){if(typeof e.primaryKey=="string")return n;var r=Ws(e,n),i=n[t];if(i&&i!==r)throw le("DOC19",{args:{documentData:n,existingPrimary:i,newPrimary:r},schema:e});return n[t]=r,n}function Fn(t){return typeof t=="string"?t:t.key}function oR(t){var e=Fn(t.primaryKey),n=zi(t,e);return ye(n.maxLength)}function Ws(t,e){if(typeof t.primaryKey=="string")return e[t.primaryKey];var n=t.primaryKey;return n.fields.map(r=>{var i=Ts(e,r);if(typeof i>"u")throw le("DOC18",{args:{field:r,documentData:e}});return i}).join(n.separator)}function aR(t){var e=fd(t,!0);return e}function uR(t){return["_deleted",t]}function bh(t){t=$e(t);var e=Fn(t.primaryKey);t.properties=$e(t.properties),t.additionalProperties=!1,Object.prototype.hasOwnProperty.call(t,"keyCompression")||(t.keyCompression=!1),t.indexes=t.indexes?t.indexes.slice(0):[],t.required=t.required?t.required.slice(0):[],t.encrypted=t.encrypted?t.encrypted.slice(0):[],t.properties._rev={type:"string",minLength:1},t.properties._attachments={type:"object"},t.properties._deleted={type:"boolean"},t.properties._meta=lR,t.required=t.required?t.required.slice(0):[],t.required.push("_deleted"),t.required.push("_rev"),t.required.push("_meta"),t.required.push("_attachments");var n=aE(t);za(t.required,n),t.required=t.required.filter(s=>!s.includes(".")).filter((s,o,a)=>a.indexOf(s)===o),t.version=t.version||0;var r=t.indexes.map(s=>{var o=pg(s)?s.slice(0):[s];return o.includes(e)||o.push(e),o[0]!=="_deleted"&&o.unshift("_deleted"),o});r.length===0&&r.push(uR(e)),r.push(["_meta.lwt",e]),t.internalIndexes&&t.internalIndexes.map(s=>{r.push(s)});var i=new Set;return r.filter(s=>{var o=s.join(",");return i.has(o)?!1:(i.add(o),!0)}),t.indexes=r,t}var lR={type:"object",properties:{lwt:{type:"number",minimum:mg,maximum:1e15,multipleOf:.01}},additionalProperties:!0,required:["lwt"]};function aE(t){var e=Object.keys(t.properties).filter(r=>t.properties[r].final),n=Fn(t.primaryKey);return e.push(n),typeof t.primaryKey!="string"&&t.primaryKey.fields.forEach(r=>e.push(r)),e}function cR(t,e){for(var n=Object.keys(t.defaultValues),r=0;r"u")&&(e[i]=t.defaultValues[i])}return e}var uE=function(){function t(n,r){this.jsonSchema=n,this.hashFunction=r,this.indexes=fR(this.jsonSchema),this.primaryPath=Fn(this.jsonSchema.primaryKey),this.finalFields=aE(this.jsonSchema)}var e=t.prototype;return e.validateChange=function(r,i){this.finalFields.forEach(s=>{if(!Ka(r[s],i[s]))throw le("DOC9",{dataBefore:r,dataAfter:i,fieldName:s,schema:this.jsonSchema})})},e.getDocumentPrototype=function(){var r={},i=zi(this.jsonSchema,"");return Object.keys(i).forEach(s=>{var o=s;r.__defineGetter__(s,function(){if(!(!this.get||typeof this.get!="function")){var a=this.get(o);return a}}),Object.defineProperty(r,s+"$",{get:function(){return this.get$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"$$",{get:function(){return this.get$$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"_",{get:function(){return this.populate(o)},enumerable:!1,configurable:!1})}),xs(this,"getDocumentPrototype",()=>r),r},e.getPrimaryOfDocumentData=function(r){return Ws(this.jsonSchema,r)},Vs(t,[{key:"version",get:function(){return this.jsonSchema.version}},{key:"defaultValues",get:function(){var n={};return Object.entries(this.jsonSchema.properties).filter(([,r])=>Object.prototype.hasOwnProperty.call(r,"default")).forEach(([r,i])=>n[r]=i.default),xs(this,"defaultValues",n)}},{key:"hash",get:function(){return xs(this,"hash",this.hashFunction(JSON.stringify(this.jsonSchema)))}}]),t}();function fR(t){return(t.indexes||[]).map(e=>pg(e)?e:[e])}function dR(t){var e=t.version?t.version:0,n=0;return new Array(e).fill(0).map(()=>n++)}function hR(t,e,n=!0){n&&Nr("preCreateRxSchema",t);var r=bh(t);r=aR(r),it.deepFreezeWhenDevMode(r);var i=new uE(r,e);return Nr("createRxSchema",i),i}function qe(t){return typeof t=="function"}function pR(t){return qe(t==null?void 0:t.lift)}function Ln(t){return function(e){if(pR(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}var _g=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function lE(t){return qe(t==null?void 0:t.then)}function bg(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var nm=bg(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription: +`+rR(n)}var iR=function(t){_g(e,t);function e(r,i,s={}){var o,a=sE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Ks(e,[{key:"name",get:function(){return"RxError ("+this.code+")"}},{key:"typeError",get:function(){return!1}}]),e}(hd(Error)),sR=function(t){_g(e,t);function e(r,i,s={}){var o,a=sE(i,r,s);return o=t.call(this,a)||this,o.code=r,o.message=a,o.parameters=s,o.rxdb=!0,o}var n=e.prototype;return n.toString=function(){return this.message},Ks(e,[{key:"name",get:function(){return"RxTypeError ("+this.code+")"}},{key:"typeError",get:function(){return!0}}]),e}(hd(TypeError));function le(t,e){return new iR(t,it.tunnelErrorMessage(t),e)}function el(t,e){return new sR(t,it.tunnelErrorMessage(t),e)}function _h(t){return t&&t.status===409?t:!1}var oR={409:"document write conflict",422:"schema validation error",510:"attachment data missing"};function aR(t){return le("COL20",{name:oR[t.status],document:t.documentId,writeError:t})}var xl={preAddRxPlugin:[],preCreateRxDatabase:[],createRxDatabase:[],preCreateRxCollection:[],createRxCollection:[],postDestroyRxCollection:[],postRemoveRxCollection:[],preCreateRxSchema:[],createRxSchema:[],preCreateRxQuery:[],prePrepareQuery:[],createRxDocument:[],postCreateRxDocument:[],preCreateRxStorageInstance:[],preMigrateDocument:[],postMigrateDocument:[],preDestroyRxDatabase:[],postRemoveRxDatabase:[],preReplicationMasterWrite:[],preReplicationMasterWriteDocumentsHandle:[]};function Fr(t,e){xl[t]&&xl[t].forEach(n=>n(e))}function Fo(t,e){return Promise.all(xl[t].map(n=>n(e)))}function zi(t,e){var n=e;n=n.replace(XP,".properties."),n="properties."+n,n=zu(n);var r=Ts(t,n);return r}function oE(t,e,n){if(typeof e.primaryKey=="string")return n;var r=qs(e,n),i=n[t];if(i&&i!==r)throw le("DOC19",{args:{documentData:n,existingPrimary:i,newPrimary:r},schema:e});return n[t]=r,n}function $n(t){return typeof t=="string"?t:t.key}function uR(t){var e=$n(t.primaryKey),n=zi(t,e);return ye(n.maxLength)}function qs(t,e){if(typeof t.primaryKey=="string")return e[t.primaryKey];var n=t.primaryKey;return n.fields.map(r=>{var i=Ts(e,r);if(typeof i>"u")throw le("DOC18",{args:{field:r,documentData:e}});return i}).join(n.separator)}function lR(t){var e=fd(t,!0);return e}function cR(t){return["_deleted",t]}function bh(t){t=$e(t);var e=$n(t.primaryKey);t.properties=$e(t.properties),t.additionalProperties=!1,Object.prototype.hasOwnProperty.call(t,"keyCompression")||(t.keyCompression=!1),t.indexes=t.indexes?t.indexes.slice(0):[],t.required=t.required?t.required.slice(0):[],t.encrypted=t.encrypted?t.encrypted.slice(0):[],t.properties._rev={type:"string",minLength:1},t.properties._attachments={type:"object"},t.properties._deleted={type:"boolean"},t.properties._meta=fR,t.required=t.required?t.required.slice(0):[],t.required.push("_deleted"),t.required.push("_rev"),t.required.push("_meta"),t.required.push("_attachments");var n=aE(t);Ua(t.required,n),t.required=t.required.filter(s=>!s.includes(".")).filter((s,o,a)=>a.indexOf(s)===o),t.version=t.version||0;var r=t.indexes.map(s=>{var o=mg(s)?s.slice(0):[s];return o.includes(e)||o.push(e),o[0]!=="_deleted"&&o.unshift("_deleted"),o});r.length===0&&r.push(cR(e)),r.push(["_meta.lwt",e]),t.internalIndexes&&t.internalIndexes.map(s=>{r.push(s)});var i=new Set;return r.filter(s=>{var o=s.join(",");return i.has(o)?!1:(i.add(o),!0)}),t.indexes=r,t}var fR={type:"object",properties:{lwt:{type:"number",minimum:yg,maximum:1e15,multipleOf:.01}},additionalProperties:!0,required:["lwt"]};function aE(t){var e=Object.keys(t.properties).filter(r=>t.properties[r].final),n=$n(t.primaryKey);return e.push(n),typeof t.primaryKey!="string"&&t.primaryKey.fields.forEach(r=>e.push(r)),e}function dR(t,e){for(var n=Object.keys(t.defaultValues),r=0;r"u")&&(e[i]=t.defaultValues[i])}return e}var uE=function(){function t(n,r){this.jsonSchema=n,this.hashFunction=r,this.indexes=hR(this.jsonSchema),this.primaryPath=$n(this.jsonSchema.primaryKey),this.finalFields=aE(this.jsonSchema)}var e=t.prototype;return e.validateChange=function(r,i){this.finalFields.forEach(s=>{if(!Va(r[s],i[s]))throw le("DOC9",{dataBefore:r,dataAfter:i,fieldName:s,schema:this.jsonSchema})})},e.getDocumentPrototype=function(){var r={},i=zi(this.jsonSchema,"");return Object.keys(i).forEach(s=>{var o=s;r.__defineGetter__(s,function(){if(!(!this.get||typeof this.get!="function")){var a=this.get(o);return a}}),Object.defineProperty(r,s+"$",{get:function(){return this.get$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"$$",{get:function(){return this.get$$(o)},enumerable:!1,configurable:!1}),Object.defineProperty(r,s+"_",{get:function(){return this.populate(o)},enumerable:!1,configurable:!1})}),xs(this,"getDocumentPrototype",()=>r),r},e.getPrimaryOfDocumentData=function(r){return qs(this.jsonSchema,r)},Ks(t,[{key:"version",get:function(){return this.jsonSchema.version}},{key:"defaultValues",get:function(){var n={};return Object.entries(this.jsonSchema.properties).filter(([,r])=>Object.prototype.hasOwnProperty.call(r,"default")).forEach(([r,i])=>n[r]=i.default),xs(this,"defaultValues",n)}},{key:"hash",get:function(){return xs(this,"hash",this.hashFunction(JSON.stringify(this.jsonSchema)))}}]),t}();function hR(t){return(t.indexes||[]).map(e=>mg(e)?e:[e])}function pR(t){var e=t.version?t.version:0,n=0;return new Array(e).fill(0).map(()=>n++)}function mR(t,e,n=!0){n&&Fr("preCreateRxSchema",t);var r=bh(t);r=lR(r),it.deepFreezeWhenDevMode(r);var i=new uE(r,e);return Fr("createRxSchema",i),i}function qe(t){return typeof t=="function"}function yR(t){return qe(t==null?void 0:t.lift)}function Sn(t){return function(e){if(yR(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}var bg=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function lE(t){return qe(t==null?void 0:t.then)}function Sg(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var nm=Sg(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription: `+n.map(function(r,i){return i+1+") "+r.toString()}).join(` - `):"",this.name="UnsubscriptionError",this.errors=n}});function pd(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var Bo=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,i,s;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=ja(o),l=a.next();!l.done;l=a.next()){var f=l.value;f.remove(this)}}catch(E){e={error:E}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}else o.remove(this);var h=this.initialTeardown;if(qe(h))try{h()}catch(E){s=E instanceof nm?E.errors:[E]}var m=this._finalizers;if(m){this._finalizers=null;try{for(var y=ja(m),w=y.next();!w.done;w=y.next()){var I=w.value;try{P_(I)}catch(E){s=s??[],E instanceof nm?s=ci(ci([],Tr(s)),Tr(E.errors)):s.push(E)}}}catch(E){r={error:E}}finally{try{w&&!w.done&&(i=y.return)&&i.call(y)}finally{if(r)throw r.error}}}if(s)throw new nm(s)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)P_(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&pd(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&pd(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),cE=Bo.EMPTY;function fE(t){return t instanceof Bo||t&&"closed"in t&&qe(t.remove)&&qe(t.add)&&qe(t.unsubscribe)}function P_(t){qe(t)?t():t.unsubscribe()}var dE={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},xy={setTimeout:function(t,e){for(var n=[],r=2;r0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,i=this,s=i.hasError,o=i.isStopped,a=i.observers;return s||o?cE:(this.currentObservers=null,a.push(n),new Bo(function(){r.currentObservers=null,pd(a,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,i=r.hasError,s=r.thrownError,o=r.isStopped;i?n.error(s):o&&n.complete()},e.prototype.asObservable=function(){var n=new Ot;return n.source=this,n},e.create=function(n,r){return new B_(n,r)},e}(Ot),B_=function(t){pi(e,t);function e(n,r){var i=t.call(this)||this;return i.destination=n,i.source=r,i}return e.prototype.next=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,n)},e.prototype.error=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&i!==void 0?i:cE},e}(Kt);function F_(){for(var t=[],e=0;e0&&(h=new Wa({next:function(Q){return W.next(Q)},error:function(Q){E=!0,$(),m=sm(S,i,Q),W.error(Q)},complete:function(){I=!0,$(),m=sm(S,o),W.complete()}}),sr(O).subscribe(h))})(f)}}function sm(t,e){for(var n=[],r=2;r!!t.queryParams.limit,bT=t=>t.queryParams.limit===1,ST=t=>!!(t.queryParams.skip&&t.queryParams.skip>0),IT=t=>t.changeEvent.operation==="DELETE",ET=t=>t.changeEvent.operation==="INSERT",OT=t=>t.changeEvent.operation==="UPDATE",kT=t=>NE(t)&&t.previousResults.length>=t.queryParams.limit,DT=t=>{const e=t.queryParams.sortFields,n=t.changeEvent.previous,r=t.changeEvent.doc;if(!r)return!1;if(!n)return!0;for(let i=0;i{const e=t.changeEvent.id;if(t.keyDocumentMap)return t.keyDocumentMap.has(e);{const n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e=t.previousResults[0];return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},AT=t=>{const e=xg(t.previousResults);return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},PT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},RT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=xg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},TT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},MT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=xg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},NT=t=>{const e=t.changeEvent.previous;return e?t.queryParams.queryMatcher(e):!1},BT=t=>{const e=t.changeEvent.doc;return e?t.queryParams.queryMatcher(e):!1},FT=t=>t.previousResults.length===0,LT={0:ET,1:OT,2:IT,3:NE,4:bT,5:ST,6:FT,7:kT,8:CT,9:AT,10:DT,11:xT,12:PT,13:RT,14:TT,15:MT,16:NT,17:BT};function BE(t,e,n,r){var i=t.length,s=i-1,o=0;if(i===0)return t.push(e),0;for(var a;r<=s;)o=r+(s-r>>1),a=t[o],n(a,e)<=0?r=o+1:s=o-1;return n(a,e)<=0&&o++,t.splice(o,0,e),o}const $T=t=>{},Cg=t=>{t.previousResults.unshift(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Ag=t=>{t.previousResults.push(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Pg=t=>{const e=t.previousResults.shift();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},Rg=t=>{const e=t.previousResults.pop();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},jT=t=>{Pg(t),Ag(t)},UT=t=>{Rg(t),Cg(t)},zT=t=>{Pg(t),Cg(t)},VT=t=>{Rg(t),Ag(t)},FE=t=>{t.keyDocumentMap&&t.keyDocumentMap.delete(t.changeEvent.id);const e=t.queryParams.primaryKey,n=t.previousResults;for(let r=0;r{const e=t.changeEvent.doc,n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e={_id:"wrongHuman"+new Date().getTime()};t.previousResults.length=0,t.previousResults.push(e),t.keyDocumentMap&&(t.keyDocumentMap.clear(),t.keyDocumentMap.set(e._id,e))},LE=t=>{const e=t.changeEvent.id,n=t.changeEvent.doc;if(t.keyDocumentMap){if(t.keyDocumentMap.has(e))return;t.keyDocumentMap.set(e,n)}else if(t.previousResults.find(i=>i[t.queryParams.primaryKey]===e))return;BE(t.previousResults,n,t.queryParams.sortComparator,0)},qT=t=>{FE(t),LE(t)},HT=t=>{throw new Error("Action runFullQueryAgain must be implemented by yourself")},QT=t=>{throw new Error("Action unknownAction should never be called")},YT=["doNothing","insertFirst","insertLast","removeFirstItem","removeLastItem","removeFirstInsertLast","removeLastInsertFirst","removeFirstInsertFirst","removeLastInsertLast","removeExisting","replaceExisting","alwaysWrong","insertAtSortPosition","removeExistingAndInsertAtSortPosition","runFullQueryAgain","unknownAction"],GT={doNothing:$T,insertFirst:Cg,insertLast:Ag,removeFirstItem:Pg,removeLastItem:Rg,removeFirstInsertLast:jT,removeLastInsertFirst:UT,removeFirstInsertFirst:zT,removeLastInsertLast:VT,removeExisting:FE,replaceExisting:KT,alwaysWrong:WT,insertAtSortPosition:LE,removeExistingAndInsertAtSortPosition:qT,runFullQueryAgain:HT,unknownAction:QT},JT=40;function om(t){return t.charCodeAt(0)-JT}function XT(t){return t?"1":"0"}function j_(t,e){const n=[];for(let r=0,i=t.length;reM(nM(),LT,t);function iM(t){const e=rM(t);return YT[e]}function sM(t,e,n,r,i){const s=GT[t];return s({queryParams:e,changeEvent:n,previousResults:r,keyDocumentMap:i}),r}var Ar=String.fromCharCode(65535),li=Number.MIN_SAFE_INTEGER;function oM(t,e){var n=e.selector,r=t.indexes?t.indexes.slice(0):[];e.index&&(r=[e.index]);var i=!!e.sort.find(h=>Object.values(h)[0]==="desc"),s=new Set;Object.keys(n).forEach(h=>{var m=zi(t,h);m&&m.type==="boolean"&&Object.prototype.hasOwnProperty.call(n[h],"$eq")&&s.add(h)});var o=e.sort.map(h=>Object.keys(h)[0]),a=o.filter(h=>!s.has(h)).join(","),l=-1,f;if(r.forEach(h=>{var m=!0,y=!0,w=h.map(_=>{var O=n[_],z=O?Object.keys(O):[],W={};if(!O||!z.length){var Q=y?li:Ar;W={startKey:Q,endKey:m?Ar:li,inclusiveStart:!0,inclusiveEnd:!0}}else z.forEach(H=>{if(Tg.has(H)){var X=O[H],U=cM(H,X);W=Object.assign(W,U)}});return typeof W.startKey>"u"&&(W.startKey=li),typeof W.endKey>"u"&&(W.endKey=Ar),typeof W.inclusiveStart>"u"&&(W.inclusiveStart=!0),typeof W.inclusiveEnd>"u"&&(W.inclusiveEnd=!0),y&&!W.inclusiveStart&&(y=!1),m&&!W.inclusiveEnd&&(m=!1),W}),I=w.map(_=>_.startKey),E=w.map(_=>_.endKey),$={index:h,startKeys:I,endKeys:E,inclusiveEnd:m,inclusiveStart:y,sortSatisfiedByIndex:!i&&a===h.filter(_=>!s.has(_)).join(","),selectorSatisfiedByIndex:lM(h,e.selector,I,E)},S=fM(t,e,$);(S>=l||e.index)&&(l=S,f=$)}),!f)throw le("SNH",{query:e});return f}var Tg=new Set(["$eq","$gt","$gte","$lt","$lte"]),aM=new Set(["$eq","$gt","$gte"]),uM=new Set(["$eq","$lt","$lte"]);function lM(t,e,n,r){var i=Object.entries(e),s=i.find(([H,X])=>{if(!t.includes(H))return!0;var U=Object.entries(X).find(([ee,ce])=>!Tg.has(ee));return U});if(s||e.$and||e.$or)return!1;var o=[],a=new Set;for(var[l,f]of Object.entries(e)){if(!t.includes(l))return!1;var h=Object.keys(f).filter(H=>aM.has(H));if(h.length>1)return!1;var m=h[0];if(m&&a.add(l),m!=="$eq"){if(o.length>0)return!1;o.push(m)}}var y=[],w=new Set;for(var[I,E]of Object.entries(e)){if(!t.includes(I))return!1;var $=Object.keys(E).filter(H=>uM.has(H));if($.length>1)return!1;var S=$[0];if(S&&w.add(I),S!=="$eq"){if(y.length>0)return!1;y.push(S)}}var _=0;for(var O of t){for(var z of[a,w]){if(!z.has(O)&&z.size>0)return!1;z.delete(O)}var W=n[_],Q=r[_];if(W!==Q&&a.size>0&&w.size>0)return!1;_++}return!0}function cM(t,e){switch(t){case"$eq":return{startKey:e,endKey:e,inclusiveEnd:!0,inclusiveStart:!0};case"$lte":return{endKey:e,inclusiveEnd:!0};case"$gte":return{startKey:e,inclusiveStart:!0};case"$lt":return{endKey:e,inclusiveEnd:!1};case"$gt":return{startKey:e,inclusiveStart:!1};default:throw new Error("SNH")}}function fM(t,e,n){var r=0,i=h=>{h>0&&(r=r+h)},s=10,o=Xp(n.startKeys,h=>h!==li&&h!==Ar);i(o*s);var a=Xp(n.startKeys,h=>h!==Ar&&h!==li);i(a*s);var l=Xp(n.startKeys,(h,m)=>h===n.endKeys[m]);i(l*s*1.5);var f=n.sortSatisfiedByIndex?5:0;return i(f),r}const dM=2147483647,hM=-2147483648,pM=Number.MAX_SAFE_INTEGER,mM=Number.MIN_SAFE_INTEGER,Vi=Symbol("missing"),$E=Object.freeze(new Error("mingo: cycle detected while processing object/array")),yM=Object.getPrototypeOf([]),jE=Object.getPrototypeOf({}),vM="[object Object]",gM=/^\[object ([a-zA-Z0-9]+)\]$/;let Mg=class{};class Ng{}const Lo=t=>t===null?Mg:t===void 0?Ng:t.constructor,Ql=t=>{const e=OM(t);let n=0,r=e.length;for(;r;)n=(n<<5)-n^e.charCodeAt(--r);return n>>>0},UE=new Set(["null","undefined","boolean","number","string","date","regexp"]),U_=new Set([Ng,Mg,Boolean,String,Number]),Nu=t=>t.toString(),Sr=t=>`${Lo(t).name}[${t.toString()}]`,$o=new Map([[Number,Nu],[Boolean,Nu],[RegExp,Nu],[Function,Nu],[Symbol,Nu],[Date,t=>t.toISOString()],[String,JSON.stringify],[Mg,t=>"null"],[Ng,t=>"undefined"],[Int8Array,Sr],[Uint8Array,Sr],[Uint8ClampedArray,Sr],[Int16Array,Sr],[Uint16Array,Sr],[Int32Array,Sr],[Uint32Array,Sr],[Float32Array,Sr],[Float64Array,Sr]]);typeof BigInt<"u"&&$o.set(BigInt,t=>"0x"+t.toString(16));typeof BigInt64Array<"u"&&$o.set(BigInt64Array,Sr);typeof BigUint64Array<"u"&&$o.set(BigUint64Array,Sr);const wM={null:0,undefined:0,number:1,string:2,object:3,array:4,boolean:5,date:6,regexp:7,function:8},Mn=(t,e)=>{t===Vi&&(t=void 0),e===Vi&&(e=void 0);const[n,r]=[t,e].map(i=>wM[Al(i).toLowerCase()]);return n!==r?n-r:n===1||n===2||n===6?te?1:0:Wi(t,e)?0:te?1:0};function Yt(t,e){if(!t)throw new Error(e)}const _M=t=>{const e=Object.getPrototypeOf(Lo(t));return e&&e.name==="TypedArray"},Ry=t=>{if(U_.has(Lo(t)))return t;const e=new Set,n=r=>{if(e.has(r))throw $E;const i=Lo(r);if(U_.has(i))return r;try{if(Lt(r))return e.add(r),r.map(n);if(wt(r)){e.add(r);const s={};for(const o in r)s[o]=n(r[o]);return s}}finally{e.delete(r)}return i===Date||i===RegExp||_M(r)?new i(r):r};return n(t)},Al=t=>gM.exec(Object.prototype.toString.call(t))[1],um=t=>typeof t=="boolean",Ki=t=>typeof t=="string",Qn=t=>!isNaN(t)&&typeof t=="number",Lt=Array.isArray,wt=t=>{if(!t)return!1;const e=Object.getPrototypeOf(t);return(e===jE||e===null)&&vM===Object.prototype.toString.call(t)},Sh=t=>t===Object(t),Ty=t=>t instanceof Date,Cf=t=>t instanceof RegExp,Ih=t=>typeof t=="function",cn=t=>t==null,qa=(t,e)=>t.includes(e),zE=(t,e)=>!qa(t,e),bM=(t,e=!0)=>!!t||e&&t==="",uu=t=>cn(t)||Ki(t)&&!t||t instanceof Array&&t.length===0||wt(t)&&Object.keys(t).length===0,z_=t=>t===Vi,Yl=t=>t instanceof Array?t:[t],Zn=(t,e)=>!!t&&Object.prototype.hasOwnProperty.call(t,e),SM=(t,e)=>wt(t)&&wt(e)||Lt(t)&&Lt(e);function My(t,e,n){if(n=n||{flatten:!1},z_(t)||cn(t))return e;if(z_(e)||cn(e))return t;if(!SM(t,e)){if(n.skipValidation)return e||t;throw Error("mismatched types. must both be array or object")}if(n.skipValidation=!0,Lt(t)){const r=t,i=e;if(n.flatten){let s=0,o=0;for(;s{const s=KE(r,e);n.has(s)?n.get(s).some(o=>Wi(t[o],r))||n.get(s).push(i):n.set(s,[i])}),n}function Bg(t,e=Ql){if(t.some(a=>a.length==0))return[];if(t.length===1)return Array.from(t);const n=kM(t.map((a,l)=>[l,a.length]),a=>a[1]),r=t[n[0][0]],i=Ny(r,e),s=new Map,o=new Array;return i.forEach((a,l)=>{const f=a.map(w=>r[w]),h=f.map(w=>0),m=f.map(w=>[n[0][0],0]);let y=!1;for(let w=1;w$[_]);y=f.map((_,O)=>S.some((z,W)=>{const Q=h[O];return Wi(_,z)&&(h[O]++,Iw===t.length-1?[f[I],m[I]]:Vi).filter(w=>w!==Vi))}),o.sort((a,l)=>{const[f,[h,m]]=a,[y,[w,I]]=l,E=Mn(h,w);return E!==0?E:Mn(m,I)}).map(a=>a[0])}function VE(t,e=0){const n=new Array;function r(i,s){for(let o=0,a=i.length;o0||s<0)?r(i[o],Math.max(-1,s-1)):n.push(i[o])}return r(t,e),n}const IM=t=>{let[e,n]=[Object.getPrototypeOf(t),Object.getOwnPropertyNames(t)],r=e;for(;!n.length&&e!==jE&&e!==yM;)r=e,n=Object.getOwnPropertyNames(e),e=Object.getPrototypeOf(e);const i={};return n.forEach(s=>i[s]=t[s]),[i,r]};function Wi(t,e){const n=[[t,e]];for(;n.length>0;){if([t,e]=n.pop(),t===e)continue;const r=Lo(t);if(r!==Lo(e)||Ih(t))return!1;if($o.has(r)){const i=$o.get(r);if(i(t)!==i(e))return!1;continue}if(r===Array||r===Object){const i=Object.keys(t),s=Object.keys(e);if(i.length!==s.length||new Set(i.concat(s)).size!=i.length)return!1;for(const o of i)n.push([t[o],e[o]]);continue}return!1}return!n.length}function EM(t,e=Ql){const n=t.map(r=>Vi);return Ny(t,e).forEach((r,i)=>{r.forEach(s=>n[s]=t[s])}),n.filter(r=>r!==Vi)}function OM(t){const e=new Set,n=r=>{const i=Lo(r);if($o.has(i))return $o.get(i)(r);const s=i===Object?"":i.name;if(Ih(r.toJSON))return`${s}(${JSON.stringify(r)})`;if(e.has(r))throw $E;e.add(r);try{if(i===Array)return"["+r.map(n).join(",")+"]";if(i!==Object){const[a,l]=IM(r);if(Lt(r))return`${s}${n([...r,a])}`;r=a}const o=Object.keys(r);return o.sort(),`${s}{`+o.map(a=>`${a}:${n(r[a])}`).join(",")+"}"}finally{e.delete(r)}};return n(t)}function KE(t,e){return e=e||Ql,cn(t)?null:e(t).toString()}function kM(t,e,n=Mn){if(uu(t))return t;const r=new Array,i=new Array;for(let s=0;sn(s[0],o[0])),Gl(i,r.map(s=>s[1]))}function DM(t,e,n=Ql){if(t.length<1)return new Map;const r=new Map,i=new Map;for(let s=0;sWi(h,a)):null;cn(f)?(i.set(a,[o]),r.has(l)?r.get(l).push(a):r.set(l,[a])):i.get(f).push(o)}}return i}const lm=5e4;function Gl(t,...e){return t instanceof Array?e.reduce((n,r)=>{let i=Math.ceil(r.length/lm),s=0;for(;i-- >0;)Array.prototype.push.apply(n,r.slice(s,s+lm)),s+=lm;return n},t):e.filter(Sh).reduce((n,r)=>(Object.assign(n,r),n),t)}function By(t,e){return Sh(t)?t[e]:void 0}function xM(t,e){if(e<1)return t;for(;e--&&t.length===1;)t=t[0];return t}function lu(t,e,n){let r=0;function i(o,a){let l=o;for(let f=0;f0)break;r+=1;const y=a.slice(f);l=l.reduce((w,I)=>{const E=i(I,y);return E!==void 0&&w.push(E),w},[]);break}else l=By(l,h);if(l===void 0)break}return l}const s=UE.has(Al(t).toLowerCase())?t:i(t,e.split("."));return s instanceof Array&&(n!=null&&n.unwrapArray)?xM(s,r):s}function Af(t,e,n){const r=e.split("."),i=r[0],s=r.slice(1).join("."),o=/^\d+$/.exec(i)!==null,a=r.length>1;let l,f;if(t instanceof Array)if(o)l=By(t,Number(i)),a&&(l=Af(l,s,n)),l=[l];else{l=[];for(const h of t)f=Af(h,e,n),n!=null&&n.preserveMissing?(f===void 0&&(f=Vi),l.push(f)):f!==void 0&&l.push(f)}else{if(f=By(t,i),a&&(f=Af(f,s,n)),f===void 0)return;l=n!=null&&n.preserveKeys?Object.assign({},t):{},l[i]=f}return l}function Fy(t){if(t instanceof Array)for(let e=t.length-1;e>=0;e--)t[e]===Vi?t.splice(e,1):Fy(t[e]);else if(wt(t))for(const e in t)Zn(t,e)&&Fy(t[e])}const V_=/^\d+$/;function Pl(t,e,n,r){const i=e.split("."),s=i[0],o=i.slice(1).join(".");if(i.length===1)(wt(t)||Lt(t)&&V_.test(s))&&n(t,s);else{r!=null&&r.buildGraph&&cn(t[s])&&(t[s]={});const a=t[s];if(!a)return;const l=!!(i.length>1&&V_.test(i[1]));a instanceof Array&&(r!=null&&r.descendArray)&&!l?a.forEach(f=>Pl(f,o,n,r)):Pl(a,o,n,r)}}function CM(t,e,n){Pl(t,e,(r,i)=>{r[i]=Ih(n)?n(r[i]):n},{buildGraph:!0})}function K_(t,e,n){Pl(t,e,(r,i)=>{if(r instanceof Array){if(/^\d+$/.test(i))r.splice(parseInt(i),1);else if(n&&n.descendArray)for(const s of r)wt(s)&&delete s[i]}else wt(r)&&delete r[i]},n)}const AM=/^\$[a-zA-Z0-9_]+$/;function Wo(t){return AM.test(t)}function WE(t){if(UE.has(Al(t).toLowerCase()))return Cf(t)?{$regex:t}:{$eq:t};if(Sh(t)){if(!Object.keys(t).some(Wo))return{$eq:t};if(Zn(t,"$regex")){const n=Object.assign({},t);return n.$regex=new RegExp(t.$regex,t.$options),delete n.$options,n}}return t}var vs;(function(t){t.CLONE_ALL="CLONE_ALL",t.CLONE_INPUT="CLONE_INPUT",t.CLONE_OUTPUT="CLONE_OUTPUT",t.CLONE_OFF="CLONE_OFF"})(vs||(vs={}));class Eo{constructor(e,n,r,i=Date.now()){this._opts=e,this._root=n,this._local=r,this.timestamp=i,this.update(n,r)}static init(e,n,r){return e instanceof Eo?new Eo(e._opts,cn(e.root)?n:e.root,Object.assign({},e.local,r)):new Eo(e,n,r)}update(e,n){var r;return this._root=e,this._local=n&&Object.assign({},n,{variables:Object.assign({},(r=this._local)===null||r===void 0?void 0:r.variables,n==null?void 0:n.variables)}),this}getOptions(){return Object.freeze(Object.assign(Object.assign({},this._opts),{context:jo.from(this._opts.context)}))}get root(){return this._root}get local(){return this._local}get idKey(){return this._opts.idKey}get collation(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collation}get processingMode(){var e;return((e=this._opts)===null||e===void 0?void 0:e.processingMode)||vs.CLONE_OFF}get useStrictMode(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useStrictMode}get scriptEnabled(){var e;return(e=this._opts)===null||e===void 0?void 0:e.scriptEnabled}get useGlobalContext(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useGlobalContext}get hashFunction(){var e;return(e=this._opts)===null||e===void 0?void 0:e.hashFunction}get collectionResolver(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collectionResolver}get jsonSchemaValidator(){var e;return(e=this._opts)===null||e===void 0?void 0:e.jsonSchemaValidator}get variables(){var e;return(e=this._opts)===null||e===void 0?void 0:e.variables}get context(){var e;return(e=this._opts)===null||e===void 0?void 0:e.context}}function Fg(t){return t instanceof Eo?t.getOptions():Object.freeze(Object.assign(Object.assign({idKey:"_id",scriptEnabled:!0,useStrictMode:!0,useGlobalContext:!0,processingMode:vs.CLONE_OFF},t),{context:t!=null&&t.context?jo.from(t==null?void 0:t.context):jo.init({})}))}var Ye;(function(t){t.ACCUMULATOR="accumulator",t.EXPRESSION="expression",t.PIPELINE="pipeline",t.PROJECTION="projection",t.QUERY="query",t.WINDOW="window"})(Ye||(Ye={}));class jo{constructor(e){this.operators={[Ye.ACCUMULATOR]:{},[Ye.EXPRESSION]:{},[Ye.PIPELINE]:{},[Ye.PROJECTION]:{},[Ye.QUERY]:{},[Ye.WINDOW]:{}};for(const[n,r]of Object.entries(e))this.addOperators(n,r)}static init(e={}){return new jo(e)}static from(e){return new jo(e.operators)}addOperators(e,n){for(const[r,i]of Object.entries(n))this.getOperator(e,r)||(this.operators[e][r]=i);return this}addAccumulatorOps(e){return this.addOperators(Ye.ACCUMULATOR,e)}addExpressionOps(e){return this.addOperators(Ye.EXPRESSION,e)}addQueryOps(e){return this.addOperators(Ye.QUERY,e)}addPipelineOps(e){return this.addOperators(Ye.PIPELINE,e)}addProjectionOps(e){return this.addOperators(Ye.PROJECTION,e)}addWindowOps(e){return this.addOperators(Ye.WINDOW,e)}getOperator(e,n){return e in this.operators&&this.operators[e][n]||null}}const co=jo.init();function W_(t,e){for(const[n,r]of Object.entries(e)){Yt(Ih(r)&&Wo(n),`'${n}' is not a valid operator`);const i=Oo(t,n,null);Yt(!i||r===i,`${n} already exists for '${t}' operators. Cannot change operator function once registered.`)}switch(t){case Ye.ACCUMULATOR:co.addAccumulatorOps(e);break;case Ye.EXPRESSION:co.addExpressionOps(e);break;case Ye.PIPELINE:co.addPipelineOps(e);break;case Ye.PROJECTION:co.addProjectionOps(e);break;case Ye.QUERY:co.addQueryOps(e);break;case Ye.WINDOW:co.addWindowOps(e);break}}function Oo(t,e,n){const{context:r,useGlobalContext:i}=n||{},s=r?r.getOperator(t,e):null;return!s&&i?co.getOperator(t,e):s}const q_={$$ROOT(t,e,n){return n.root},$$CURRENT(t,e,n){return t},$$REMOVE(t,e,n){},$$NOW(t,e,n){return new Date(n.timestamp)}},Ly={$$KEEP(t,e,n){return t},$$PRUNE(t,e,n){},$$DESCEND(t,e,n){if(!Zn(e,"$cond"))return t;let r;for(const[i,s]of Object.entries(t))if(Sh(s)){if(s instanceof Array){const o=[];for(let a of s)wt(a)&&(a=H_(a,e,n.update(a))),cn(a)||o.push(a);r=o}else r=H_(s,e,n.update(s));cn(r)?delete t[i]:t[i]=r}return t}};function Xr(t,e,n,r){var i;const s=Eo.init(r,t);if(n=n||"",Wo(n)){const o=Oo(Ye.EXPRESSION,n,r);if(o)return o(t,e,s);const a=Oo(Ye.ACCUMULATOR,n,r);if(a)return t instanceof Array||(t=Xr(t,e,null,s),e=null),Yt(t instanceof Array,`'${n}' target must be an array.`),a(t,e,s.update(null,s.local));throw new Error(`operator '${n}' is not registered`)}if(Ki(e)&&e.length>0&&e[0]==="$"){if(Zn(Ly,e))return e;let o=s.root;const a=e.split(".");if(Zn(q_,a[0]))o=q_[a[0]](t,null,s),e=e.slice(a[0].length+1);else if(a[0].slice(0,2)==="$$"){o=Object.assign({},s.variables,{this:t},(i=s.local)===null||i===void 0?void 0:i.variables);const l=a[0].slice(2);Yt(Zn(o,l),`Use of undefined variable: ${l}`),e=e.slice(2)}else e=e.slice(1);return e===""?o:lu(o,e)}if(Lt(e))return e.map(o=>Xr(t,o,null,s));if(wt(e)){const o={};for(const[a,l]of Object.entries(e))if(o[a]=Xr(t,l,a,s),[Ye.EXPRESSION,Ye.ACCUMULATOR].some(f=>!!Oo(f,a,r)))return Yt(Object.keys(e).length===1,"Invalid aggregation expression '"+JSON.stringify(e)+"'"),o[a];return o}return e}function H_(t,e,n){const r=Xr(t,e,null,n);return Zn(Ly,r)?Ly[r](t,e,n):r}function Ha(t){return t instanceof Q_?t:new Q_(t)}function PM(...t){let e=0;return Ha(()=>{for(;e{const i=r.next();if(i.done)throw $y;return i.value}}else if(e instanceof Array){const r=e,i=r.length;let s=0;n=()=>{if(s0?this.push(si.TAKE,e):this}drop(e){return e>0?this.push(si.DROP,e):this}transform(e){const n=this;let r;return Ha(()=>(r||(r=Ha(e(n.value()))),r.next()))}value(){return this.isDone||(this.isDone=this.getNext(!0).done),this.yieldedValues}each(e){for(;;){const n=this.next();if(n.done)break;if(e(n.value)===!1)return!1}return!0}reduce(e,n){let r=this.next();for(n===void 0&&!r.done&&(n=r.value,r=this.next());!r.done;)n=e(n,r.value),r=this.next();return n}size(){return this.reduce((e,n)=>++e,0)}[Symbol.iterator](){return this}}class NM{constructor(e,n){this.pipeline=e,this.options=Fg(n)}stream(e){let n=Ha(e);const r=this.options.processingMode;(r==vs.CLONE_ALL||r==vs.CLONE_INPUT)&&n.map(Ry);const i=new Array;if(!uu(this.pipeline))for(const s of this.pipeline){const o=Object.keys(s),a=o[0],l=Oo(Ye.PIPELINE,a,this.options);Yt(o.length===1&&!!l,`invalid pipeline operator ${a}`),i.push(a),n=l(n,s[a],this.options)}return(r==vs.CLONE_OUTPUT||r==vs.CLONE_ALL&&Bg([["$group","$unwind"],i]).length)&&n.map(Ry),n}run(e){return this.stream(e).value()}}class BM{constructor(e,n,r,i){this.source=e,this.predicate=n,this.projection=r,this.options=i,this.operators=[],this.result=null,this.buffer=[]}fetch(){return this.result?this.result:(wt(this.projection)&&this.operators.push({$project:this.projection}),this.result=Ha(this.source).filter(this.predicate),this.operators.length>0&&(this.result=new NM(this.operators,this.options).stream(this.result)),this.result)}fetchAll(){const e=Ha([...this.buffer]);return this.buffer=[],PM(e,this.fetch())}all(){return this.fetchAll().value()}count(){return this.all().length}skip(e){return this.operators.push({$skip:e}),this}limit(e){return this.operators.push({$limit:e}),this}sort(e){return this.operators.push({$sort:e}),this}collation(e){return this.options=Object.assign(Object.assign({},this.options),{collation:e}),this}next(){if(this.buffer.length>0)return this.buffer.pop();const e=this.fetch().next();if(!e.done)return e.value}hasNext(){if(this.buffer.length>0)return!0;const e=this.fetch().next();return e.done?!1:(this.buffer.push(e.value),!0)}map(e){return this.all().map(e)}forEach(e){this.all().forEach(e)}[Symbol.iterator](){return this.fetchAll()}}class qs{constructor(e,n){this.condition=e,this.options=Fg(n),this.compiled=[],this.compile()}compile(){Yt(wt(this.condition),`query criteria must be an object: ${JSON.stringify(this.condition)}`);const e={};for(const[n,r]of Object.entries(this.condition)){if(n==="$where")Object.assign(e,{field:n,expr:r});else if(qa(["$and","$or","$nor","$expr","$jsonSchema"],n))this.processOperator(n,n,r);else{Yt(!Wo(n),`unknown top level operator: ${n}`);for(const[i,s]of Object.entries(WE(r)))this.processOperator(n,i,s)}e.field&&this.processOperator(e.field,e.field,e.expr)}}processOperator(e,n,r){const i=Oo(Ye.QUERY,n,this.options);if(!i)throw new Error(`unknown operator ${n}`);const s=i(e,r,this.options);this.compiled.push(s)}test(e){for(let n=0,r=this.compiled.length;nthis.test(r),n||{},this.options)}remove(e){return e.reduce((n,r)=>(this.test(r)||n.push(r),n),[])}}const FM=(t,e,n)=>{if(uu(e)||!wt(e))return t;let r=Mn;const i=n.collation;return wt(i)&&Ki(i.locale)&&(r=$M(i)),t.transform(s=>{const o=Object.keys(e);for(const a of o.reverse()){const l=DM(s,h=>lu(h,a),n.hashFunction),f=Array.from(l.keys()).sort(r);e[a]===-1&&f.reverse(),s=[],f.reduce((h,m)=>Gl(h,l.get(m)),s)}return s})},LM={1:"base",2:"accent",3:"variant"};function $M(t){const e={sensitivity:LM[t.strength||3],caseFirst:t.caseFirst==="off"?"false":t.caseFirst||"false",numeric:t.numericOrdering||!1,ignorePunctuation:t.alternate==="shifted"};(t.caseLevel||!1)===!0&&(e.sensitivity==="base"&&(e.sensitivity="case"),e.sensitivity==="accent"&&(e.sensitivity="variant"));const n=new Intl.Collator(t.locale,e);return(r,i)=>{if(!Ki(r)||!Ki(i))return Mn(r,i);const s=n.compare(r,i);return s<0?-1:s>0?1:0}}function wn(t){const e=(n,r,i)=>{const s={unwrapArray:!0},o=Math.max(1,n.split(".").length-1);return a=>{const l=lu(a,n,s);return t(l,r,Object.assign(Object.assign({},i),{depth:o}))}};return e.op="query",e}function qE(t,e,n){if(Wi(t,e)||cn(t)&&cn(e))return!0;if(t instanceof Array){const r=Wi.bind(null,e);return t.some(r)||VE(t,n==null?void 0:n.depth).some(r)}return!1}function jM(t,e,n){return!qE(t,e,n)}function HE(t,e,n){return cn(t)?e.some(r=>r===null):Bg([Yl(t),e],n==null?void 0:n.hashFunction).length>0}function UM(t,e,n){return!HE(t,e,n)}function zM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)<0)}function VM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)<=0)}function KM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)>0)}function WM(t,e,n){return Eh(t,e,(r,i)=>Mn(r,i)>=0)}function qM(t,e,n){return Yl(t).some(r=>e.length===2&&r%e[0]===e[1])}function HM(t,e,n){const r=Yl(t),i=s=>Ki(s)&&bM(e.exec(s),n==null?void 0:n.useStrictMode);return r.some(i)||VE(r,1).some(i)}function QM(t,e,n){return(e===!1||e===0)&&t===void 0||(e===!0||e===1)&&t!==void 0}function YM(t,e,n){if(!Lt(t)||!Lt(e)||!t.length||!e.length)return!1;let r=!0;for(const i of e){if(!r)break;wt(i)&&qa(Object.keys(i),"$elemMatch")?r=QE(t,i.$elemMatch,n):i instanceof RegExp?r=t.some(s=>typeof s=="string"&&i.test(s)):r=t.some(s=>Wi(i,s))}return r}function GM(t,e,n){return Array.isArray(t)&&t.length===e}function JM(t){return Wo(t)&&["$and","$or","$nor"].indexOf(t)===-1}function QE(t,e,n){if(Lt(t)&&!uu(t)){let r=o=>o,i=e;Object.keys(e).every(JM)&&(i={temp:e},r=o=>({temp:o}));const s=new qs(i,n);for(let o=0,a=t.length;ot===null,G_=t=>Qn(t)&&t>=hM&&t<=dM&&t.toString().indexOf(".")===-1,J_=t=>Qn(t)&&t>=mM&&t<=pM&&t.toString().indexOf(".")===-1,XM={array:Lt,bool:um,boolean:um,date:Ty,decimal:Qn,double:Qn,int:G_,long:J_,number:Qn,null:Y_,object:wt,regex:Cf,regexp:Cf,string:Ki,undefined:cn,function:t=>{throw new Error("unsupported type key `function`.")},1:Qn,2:Ki,3:wt,4:Lt,6:cn,8:um,9:Ty,10:Y_,11:Cf,16:G_,18:J_,19:Qn};function X_(t,e,n){const r=XM[e];return r?r(t):!1}function ZM(t,e,n){return Array.isArray(e)?e.findIndex(r=>X_(t,r))>=0:X_(t,e)}function Eh(t,e,n){return Yl(t).some(r=>Al(r)===Al(e)&&n(r,e))}const Z_=(t,e)=>{const n={};return t.split("").forEach((r,i)=>n[r]=e*(i+1)),n};Object.assign(Object.assign(Object.assign({},Z_("ABCDEFGHIKLM",1)),Z_("NOPQRSTUVWXY",-1)),{Z:0});const eb={undefined:null,null:null,NaN:NaN,Infinity:new Error,"-Infinity":new Error};function or(t,e=eb){const n=Object.assign({},eb,e),r=new Set(Object.keys(n));return(i,s,o)=>{const a=Xr(i,s,null,o);if(r.has(`${a}`)){const l=n[`${a}`];if(l instanceof Error)throw new Error(`cannot apply $${t.name} to -inf, value must in (-inf,inf)`);return l}return t(a)}}or(Math.acos,{Infinity:1/0,0:new Error});or(Math.acosh,{Infinity:1/0,0:new Error});or(Math.asin);or(Math.asinh,{Infinity:1/0,"-Infinity":-1/0});or(Math.atan);or(Math.atanh,{1:1/0,"-1":-1/0});or(Math.cos);or(Math.cosh,{"-Infinity":1/0,Infinity:1/0});const e2=Math.PI/180;or(t=>t*e2,{Infinity:1/0,"-Infinity":1/0});const t2=180/Math.PI;or(t=>t*t2,{Infinity:1/0,"-Infinity":-1/0});or(Math.sin);or(Math.sinh,{"-Infinity":-1/0,Infinity:1/0});or(Math.tan);const n2=(t,e,n)=>{if(uu(e))return t;let r=Object.keys(e),i=!1;YE(e,n);const s=n.idKey;if(qa(r,s)){const a=e[s];(a===0||a===!1)&&(r=r.filter(zE.bind(null,[s])),i=r.length==0)}else r.push(s);const o=Eo.init(n);return t.map(a=>jy(a,e,o.update(a),r,i))};function jy(t,e,n,r,i){let s={},o=!1,a=!1;const l=[];i&&l.push(n.idKey);for(const f of r){let h;const m=e[f];if(f!==n.idKey&&qa([0,!1],m)&&(a=!0),f===n.idKey&&uu(m))h=t[f];else if(Ki(m))h=Xr(t,m,f,n);else if(!qa([1,!0],m))if(m instanceof Array)h=m.map(w=>{const I=Xr(t,w,null,n);return cn(I)?null:I});else if(wt(m)){const w=m,I=Object.keys(m),E=I.length==1?I[0]:"",$=Oo(Ye.PROJECTION,E,n);if($)E==="$slice"?Yl(w[E]).every(Qn)?(h=$(t,w[E],f,n),o=!0):h=Xr(t,w,f,n):h=$(t,w[E],f,n);else if(Wo(E))h=Xr(t,w[E],E,n);else if(Zn(t,f)){YE(w,n);let S=t[f];S instanceof Array?h=S.map(_=>jy(_,w,n,I,!1)):(S=wt(S)?S:t,h=jy(S,w,n,I,!1))}else h=Xr(t,m,null,n)}else{l.push(f);continue}const y=Af(t,f,{preserveMissing:!0});y!==void 0&&My(s,y,{flatten:!0}),zE([0,1,!1,!0],m)&&(h===void 0?K_(s,f,{descendArray:!0}):CM(s,f,h))}if(Fy(s),(o||a||i)&&(s=Gl({},t,s),l.length>0))for(const f of l)K_(s,f,{descendArray:!0});return s}function YE(t,e){const n=[!1,!1];for(const[r,i]of Object.entries(t)){if(r===(e==null?void 0:e.idKey))return;i===0||i===!1?n[0]=!0:(i===1||i===!0)&&(n[1]=!0),Yt(!(n[0]&&n[1]),"Projection cannot have a mix of inclusion and exclusion.")}}const r2=(t,e,n)=>{Yt(Lt(e),"Invalid expression: $and expects value to be an Array.");const r=e.map(i=>new qs(i,n));return i=>r.every(s=>s.test(i))},GE=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $or expects value to be an Array");const r=e.map(i=>new qs(i,n));return i=>r.some(s=>s.test(i))},i2=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $nor expects value to be an array.");const r=GE("$or",e,n);return i=>!r(i)},s2=(t,e,n)=>{const r={};r[t]=WE(e);const i=new qs(r,n);return s=>!i.test(s)},o2=wn(qE),a2=wn(KM),u2=wn(WM),l2=wn(HE),c2=wn(zM),f2=wn(VM),d2=wn(jM),h2=wn(UM),p2=wn(qM),m2=wn(HM);wn(YM);const y2=wn(QE),v2=wn(GM),g2=wn(QM),w2=wn(ZM);var tb=!1;function _2(t){return tb||(W_(Ye.PIPELINE,{$sort:FM,$project:n2}),W_(Ye.QUERY,{$and:r2,$eq:o2,$elemMatch:y2,$exists:g2,$gt:a2,$gte:u2,$in:l2,$lt:c2,$lte:f2,$ne:d2,$nin:h2,$mod:p2,$nor:i2,$not:s2,$or:GE,$regex:m2,$size:v2,$type:w2}),tb=!0),new qs(t)}function Rl(t,e){var n=Fn(t.primaryKey);e=$e(e);var r=Pn(e);if(typeof r.skip!="number"&&(r.skip=0),r.selector?(r.selector=r.selector,Object.entries(r.selector).forEach(([f,h])=>{(typeof h!="object"||h===null)&&(r.selector[f]={$eq:h})})):r.selector={},r.index){var i=Ua(r.index);i.includes(n)||i.push(n),r.index=i}if(r.sort){var l=r.sort.find(f=>PP(f)===n);l||(r.sort=r.sort.slice(0),r.sort.push({[n]:"asc"}))}else if(r.index)r.sort=r.index.map(f=>({[f]:"asc"}));else{if(t.indexes){var s=new Set;Object.entries(r.selector).forEach(([f,h])=>{var m=!1;typeof h=="object"&&h!==null?m=!!Object.keys(h).find(y=>Tg.has(y)):m=!0,m&&s.add(f)});var o=-1,a;t.indexes.forEach(f=>{var h=pg(f)?f:[f],m=h.findIndex(y=>!s.has(y));m>0&&m>o&&(o=m,a=h)}),a&&(r.sort=a.map(f=>({[f]:"asc"})))}r.sort||(r.sort=[{[n]:"asc"}])}return r}function Lg(t,e){if(!e.sort)throw le("SNH",{query:e});var n=[];e.sort.forEach(i=>{var s=Object.keys(i)[0],o=Object.values(i)[0];n.push({key:s,direction:o,getValueFn:XI(s)})});var r=(i,s)=>{for(var o=0;on.test(i);return r}function b2(t,e){return!e.sort||e.sort.length===0?[t]:e.sort.map(n=>Object.keys(n)[0])}var S2=new WeakMap;function I2(t){return Mr(S2,t,()=>{var e=t.collection,n=Rl(e.storageInstance.schema,Pn(t.mangoQuery)),r=e.schema.primaryPath,i=Lg(e.schema.jsonSchema,n),s=(f,h)=>{var m={docA:f,docB:h,rxQuery:t};return i(m.docA,m.docB)},o=Oh(e.schema.jsonSchema,n),a=f=>{var h={doc:f,rxQuery:t};return o(h.doc)},l={primaryKey:t.collection.schema.primaryPath,skip:n.skip,limit:n.limit,sortFields:b2(r,n),sortComparator:s,queryMatcher:a};return l})}function E2(t,e){if(!t.collection.database.eventReduce)return{runFullQueryAgain:!0};var n=I2(t),r=ye(t._result).docsData.slice(0),i=ye(t._result).docsDataMap,s=!1,o=e.map(l=>lT(l)).filter(JI),a=o.find(l=>{var f={queryParams:n,changeEvent:l,previousResults:r,keyDocumentMap:i},h=iM(f);if(h==="runFullQueryAgain")return!0;if(h!=="doNothing")return s=!0,sM(h,n,l,r,i),!1});return a?{runFullQueryAgain:!0}:{runFullQueryAgain:!1,changed:s,newResults:r}}var O2=function(){function t(){this._map=new Map}var e=t.prototype;return e.getByQuery=function(r){var i=r.toString();return Mr(this._map,i,()=>r)},t}();function k2(){return new O2}function nb(t,e){e.uncached=!0;var n=e.toString();t._map.delete(n)}function D2(t){return t.refCount$.observers.length}var x2=100,C2=30*1e3,A2=(t,e)=>(n,r)=>{if(!(r._map.size0)){if(a._lastEnsureEqual===0&&a._creationTimem._lastEnsureEqual-y._lastEnsureEqual),h=f.slice(0,l);h.forEach(m=>nb(r,m))}}},JE=A2(x2,C2),cm=new WeakSet;function P2(t){cm.has(t)||(cm.add(t),qP().then(()=>QP(200)).then(()=>{t.destroyed||t.cacheReplacementPolicy(t,t._queryCache),cm.delete(t)}))}var XE=function(){function t(n,r,i){this.cacheItemByDocId=new Map,this.registry=typeof FinalizationRegistry=="function"?new FinalizationRegistry(s=>{var o=s.docId,a=this.cacheItemByDocId.get(o);a&&(a.byRev.delete(s.revisionHeight),a.byRev.size===0&&this.cacheItemByDocId.delete(o))}):void 0,this.registerIdleTasks=[],this.primaryPath=n,this.changes$=r,this.documentCreator=i,r.subscribe(s=>{var o=s.documentId,a=this.cacheItemByDocId.get(o);if(a){var l=Dg(s);a.last=l}})}var e=t.prototype;return e.getLatestDocumentData=function(r){var i=Mo(this.cacheItemByDocId,r);return i.last},e.getLatestDocumentDataIfExists=function(r){var i=this.cacheItemByDocId.get(r);if(i)return i.last},Vs(t,[{key:"getCachedRxDocument",get:function(){var n=R2(this);return xs(this,"getCachedRxDocument",n)}}]),t}();function R2(t){var e=t.primaryPath,n=t.cacheItemByDocId,r=t.registry,i=it.deepFreezeWhenDevMode,s=t.documentCreator,o=a=>{var l=a[e],f=x_(a._rev),h=Mr(n,l,()=>T2(a)),m=h.byRev,y=m.get(f),w=y?y.deref():void 0;return w||(a=i(a),w=s(a),m.set(f,N2(w)),r&&(t.registerIdleTasks.push(w),t.registerIdlePromise||(t.registerIdlePromise=vg().then(()=>{t.registerIdlePromise=void 0;var I=t.registerIdleTasks;I.length!==0&&(t.registerIdleTasks=[],I.forEach(E=>{r.register(E,{docId:E.primary,revisionHeight:x_(E.revision)})}))})))),w};return o}function ZE(t,e){for(var n=t.getCachedRxDocument,r=[],i=0;ie._data))}},{key:"docsDataMap",get:function(){var e=new Map;return this.documents.forEach(n=>{e.set(n.primary,n._data)}),xs(this,"docsDataMap",e)}},{key:"docsMap",get:function(){for(var e=new Map,n=this.documents,r=0;r{var m=this.collection._docCache.getLatestDocumentDataIfExists(h);if(m){if(!m._deleted){var y=this.collection._docCache.getCachedRxDocument(m);o.set(h,y)}}else a.push(h)}),a.length>0){var l=await this.collection.storageInstance.findDocumentsById(a,!1);l.forEach(h=>{var m=this.collection._docCache.getCachedRxDocument(h);o.set(m.primary,m)})}return o}var f=nO(this);return f.then(h=>(this._lastExecEnd=Ft(),h))},e.exec=function(r){if(r&&this.op!=="findOne")throw le("QU9",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return ib(this).then(()=>As(this.$)).then(i=>{if(!i&&r)throw le("QU10",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return i})},e.toString=function(){var r=fd({op:this.op,query:this.mangoQuery,other:this.other},!0),i=JSON.stringify(r);return this.toString=()=>i,i},e.getPreparedQuery=function(){var r={rxQuery:this,mangoQuery:Rl(this.collection.schema.jsonSchema,this.mangoQuery)};r.mangoQuery.selector._deleted={$eq:!1},r.mangoQuery.index&&r.mangoQuery.index.unshift("_deleted"),Nr("prePrepareQuery",r);var i=Jl(this.collection.schema.jsonSchema,r.mangoQuery);return this.getPreparedQuery=()=>i,i},e.doesDocumentDataMatch=function(r){return r._deleted?!1:this.queryMatcher(r)},e.remove=function(){return this.exec().then(r=>Array.isArray(r)?Promise.all(r.map(i=>i.remove())):r.remove())},e.update=function(r){throw pt("update")},e.where=function(r){throw pt("query-builder")},e.sort=function(r){throw pt("query-builder")},e.skip=function(r){throw pt("query-builder")},e.limit=function(r){throw pt("query-builder")},Vs(t,[{key:"$",get:function(){if(!this._$){var n=this.collection.$.pipe(lt(r=>!r.isLocal),Hl(null),Br(()=>ib(this)),Mt(()=>this._result),Pi(Ai),Fo((r,i)=>!!(r&&r.time===ye(i).time)),lt(r=>!!r),Mt(r=>{var i=ye(r);return this.op==="count"?i.count:this.op==="findOne"?i.documents.length===0?null:i.documents[0]:this.op==="findByIds"?i.docsMap:i.documents.slice(0)}));this._$=gT(n,this.refCount$.pipe(lt(()=>!1)))}return this._$}},{key:"$$",get:function(){var n=this.collection.database.getReactivityFactory();return n.fromObservable(this.$,void 0)}},{key:"queryMatcher",get:function(){var n=this.collection.schema.jsonSchema,r=Rl(this.collection.schema.jsonSchema,this.mangoQuery);return xs(this,"queryMatcher",Oh(n,r))}},{key:"asRxQuery",get:function(){return this}}]),t}();function tl(){return{selector:{}}}function j2(t){return t.collection._queryCache.getByQuery(t)}function ra(t,e,n,r){Nr("preCreateRxQuery",{op:t,queryObj:e,collection:n,other:r});var i=new eO(t,e,n,r);return i=j2(i),P2(n),i}function tO(t){var e=t.asRxQuery.collection._changeEventBuffer.counter;return t._latestChangeEvent>=e}function ib(t){return t.collection.database.destroyed||tO(t)?Jn:(t._ensureEqualQueue=t._ensureEqualQueue.then(()=>U2(t)),t._ensureEqualQueue)}function U2(t){if(t._lastEnsureEqual=Ft(),t.collection.database.destroyed||tO(t))return Jn;var e=!1,n=!1;if(t._latestChangeEvent===-1&&(n=!0),!n){var r=t.asRxQuery.collection._changeEventBuffer.getFrom(t._latestChangeEvent+1);if(r===null)n=!0;else{t._latestChangeEvent=t.asRxQuery.collection._changeEventBuffer.counter;var i=t.asRxQuery.collection._changeEventBuffer.reduceByLastOfDoc(r);if(t.op==="count"){var s=ye(t._result).count,o=s;i.forEach(l=>{var f=l.previousDocumentData&&t.doesDocumentDataMatch(l.previousDocumentData),h=t.doesDocumentDataMatch(l.documentData);!f&&h&&o++,f&&!h&&o--}),o!==s&&(e=!0,t._setResultData(o))}else{var a=E2(t,i);a.runFullQueryAgain?n=!0:a.changed&&(e=!0,t._setResultData(a.newResults))}}}return n?t._execOverDatabase().then(l=>(t._latestChangeEvent=t.collection._changeEventBuffer.counter,typeof l=="number"?((!t._result||l!==t._result.count)&&(e=!0,t._setResultData(l)),e):((!t._result||!TP(t.collection.schema.primaryPath,l,t._result.docsData))&&(e=!0,t._setResultData(l)),e))):Promise.resolve(e)}function Jl(t,e){if(!e.sort)throw le("SNH",{query:e});var n=oM(t,e);return{query:e,queryPlan:n}}async function nO(t){var e=[],n=t.collection;if(t.isFindOneByIdQuery)if(Array.isArray(t.isFindOneByIdQuery)){var r=t.isFindOneByIdQuery;if(r=r.filter(h=>{var m=t.collection._docCache.getLatestDocumentDataIfExists(h);return m?(m._deleted||e.push(m),!1):!0}),r.length>0){var i=await n.storageInstance.findDocumentsById(r,!1);za(e,i)}}else{var s=t.isFindOneByIdQuery,o=t.collection._docCache.getLatestDocumentDataIfExists(s);if(!o){var a=await n.storageInstance.findDocumentsById([s],!1);a[0]&&(o=a[0])}o&&!o._deleted&&e.push(o)}else{var l=t.getPreparedQuery(),f=await n.storageInstance.query(l);e=f.documents}return e}function z2(t,e){if(!e.skip&&e.selector&&Object.keys(e.selector).length===1&&e.selector[t]){var n=e.selector[t];if(typeof n=="string")return n;if(Object.keys(n).length===1&&typeof n.$eq=="string"||Object.keys(n).length===1&&Array.isArray(n.$eq)&&!n.$eq.find(r=>typeof r!="string"))return n.$eq}return!1}var V2="_rxdb_internal";async function Xl(t,e){var n=await t.findDocumentsById([e],!1),r=n[0];if(r)return r}async function Tl(t,e,n){var r=await t.bulkWrite([e],n);if(r.error.length>0){var i=r.error[0];throw i}else{var s=r.success[0];return s}}function K2(t,e){var n=Xl(t,e),r=t.changeStream().pipe(Mt(i=>i.events.find(s=>s.documentId===e)),lt(i=>!!i),Mt(i=>Promise.resolve(ye(i).documentData)),Hl(n),Cl(i=>i),lt(i=>!!i));return r}function Ml(t){return Object.assign({},...t)}function rO(t,e,n){var r=e.documentData,i=e.previousDocumentData,s={documentId:e.documentId,collectionName:n?n.name:void 0,isLocal:t,operation:e.operation,documentData:it.deepFreezeWhenDevMode(r),previousDocumentData:it.deepFreezeWhenDevMode(i)};return s}function yd(t,e,n,r){if(r)throw r.status===409?le("CONFLICT",{collection:t.name,id:e,writeError:r,data:n}):r.status===422?le("VD2",{collection:t.name,id:e,writeError:r,data:n}):r}function iO(t,e,n,r,i,s,o){for(var a=!!t.schema.attachments,l=[],f=[],h=[],m=su(10),y={id:m,events:[],checkpoint:null,context:i,startTime:Ft(),endTime:0},w=y.events,I=[],E=[],$=[],S=n.size>0,_,O=r.length,z=function(){var Q=r[W],H=Q.document,X=Q.previous,U=H[e],ee=H._deleted,ce=X&&X._deleted,de=void 0;S&&(de=n.get(U));var Pe;if(de){var Te=de._rev;if(!X||X&&Te!==X._rev){var Dt={isError:!0,status:409,documentId:U,writeRow:Q,documentInDb:de};return h.push(Dt),1}var G=a?fm(Q):Q;a&&(ee?X&&Object.keys(X._attachments).forEach(ft=>{E.push({documentId:U,attachmentId:ft,digest:ye(X)._attachments[ft].digest})}):(Object.entries(H._attachments).find(([ft,Ct])=>{var Un=X?X._attachments[ft]:void 0;return!Un&&!Ct.data&&(Pe={documentId:U,documentInDb:de,isError:!0,status:510,writeRow:Q,attachmentId:ft}),!0}),Pe||Object.entries(H._attachments).forEach(([ft,Ct])=>{var Un=X?X._attachments[ft]:void 0;if(!Un)I.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest});else{var tn=G.document._attachments[ft].digest;Ct.data&&Un.digest!==tn&&$.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest})}}))),Pe?h.push(Pe):(a?(f.push(fm(G)),o&&o(H)):(f.push(G),o&&o(H)),_=G);var oe=null,ue=null,Re=null;if(ce&&!ee)Re="INSERT",oe=a?gs(H):H;else if(X&&!ce&&!ee)Re="UPDATE",oe=a?gs(H):H,ue=X;else if(ee)Re="DELETE",oe=ye(H),ue=X;else throw le("SNH",{args:{writeRow:Q}});var xt={documentId:U,documentData:oe,previousDocumentData:ue,operation:Re};w.push(xt)}else{var ot=!!ee;if(a&&Object.entries(H._attachments).forEach(([ft,Ct])=>{Ct.data?I.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest}):(Pe={documentId:U,isError:!0,status:510,writeRow:Q,attachmentId:ft},h.push(Pe))}),Pe||(a?(l.push(fm(Q)),s&&s(H)):(l.push(Q),s&&s(H)),_=Q),!ot){var ct={documentId:U,operation:"INSERT",documentData:a?gs(H):H,previousDocumentData:a&&X?gs(X):X};w.push(ct)}}},W=0;W{e._attachments[n]=q2(r)}),e}function $g(t){var e=$e(t);return e._meta=$e(t._meta),e}function jg(t,e,n){it.deepFreezeWhenDevMode(n);var r=Fn(n.primaryKey);function i(o){var a=$e(o.document);if(a._meta=$e(a._meta),it.isDevMode()){a=oE(r,n,a);try{typeof structuredClone=="function"?structuredClone(o):JSON.parse(JSON.stringify(o))}catch{throw le("DOC24",{collection:e.collectionName,document:o.document})}o.previous,o.previous&&Object.keys(o.previous._meta).forEach(l=>{if(!Object.prototype.hasOwnProperty.call(o.document._meta,l))throw le("SNH",{dataBefore:o.previous,dataAfter:o.document})})}return a._meta.lwt=Ft(),a._rev=Ui(t.token,o.previous),{document:a,previous:o.previous}}var s={originalStorageInstance:e,schema:e.schema,internals:e.internals,collectionName:e.collectionName,databaseName:e.databaseName,options:e.options,bulkWrite(o,a){var l=o.map(f=>i(f));return t.lockedRun(()=>e.bulkWrite(l,a)).then(f=>{var h={error:[],success:f.success.slice(0)},m=f.error.filter(w=>w.status===409&&!w.writeRow.previous&&!w.writeRow.document._deleted&&ye(w.documentInDb)._deleted?!0:(h.error.push(w),!1));if(m.length>0){var y=m.map(w=>({previous:w.documentInDb,document:Object.assign({},w.writeRow.document,{_rev:Ui(t.token,w.documentInDb)})}));return t.lockedRun(()=>e.bulkWrite(y,a)).then(w=>(za(h.error,w.error),za(h.success,w.success),h))}return f})},query(o){return t.lockedRun(()=>e.query(o))},count(o){return t.lockedRun(()=>e.count(o))},findDocumentsById(o,a){return t.lockedRun(()=>e.findDocumentsById(o,a))},getAttachmentData(o,a,l){return t.lockedRun(()=>e.getAttachmentData(o,a,l))},getChangedDocumentsSince:e.getChangedDocumentsSince?(o,a)=>t.lockedRun(()=>e.getChangedDocumentsSince(ye(o),a)):void 0,cleanup(o){return t.lockedRun(()=>e.cleanup(o))},remove(){return t.storageInstances.delete(s),t.lockedRun(()=>e.remove())},close(){return t.storageInstances.delete(s),t.lockedRun(()=>e.close())},changeStream(){return e.changeStream()},conflictResultionTasks(){return e.conflictResultionTasks()},resolveConflictResultionTask(o){if(o.output.isEqual)return e.resolveConflictResultionTask(o);var a=Object.assign({},o.output.documentData,{_meta:Ks(),_rev:Rn(),_attachments:{}}),l=$e(a);return delete l._meta,delete l._rev,delete l._attachments,e.resolveConflictResultionTask({id:o.id,output:{isEqual:!1,documentData:l}})}};return t.storageInstances.add(s),s}function sO(t){if(t.schema.keyCompression)throw le("UT5",{args:{params:t}});if(vd(t.schema))throw le("UT6",{args:{params:t}});if(t.schema.attachments&&t.schema.attachments.compression)throw le("UT7",{args:{params:t}})}function vd(t){return!!(t.encrypted&&t.encrypted.length>0||t.attachments&&t.attachments.encrypted)}function H2(t,e,n){var r=Fn(t.schema.primaryKey),i=n?n.lwt:mg,s=n?n.id:"";return Rl(t.schema,{selector:{$or:[{"_meta.lwt":{$gt:i}},{"_meta.lwt":{$eq:i},[r]:{$gt:n?s:""}}],"_meta.lwt":{$gte:i}},sort:[{"_meta.lwt":"asc"},{[r]:"asc"}],skip:0,limit:e})}async function oO(t,e,n){if(t.getChangedDocumentsSince)return t.getChangedDocumentsSince(e,n);var r=Fn(t.schema.primaryKey),i=Jl(t.schema,H2(t,e,n)),s=await t.query(i),o=s.documents,a=xP(o);return{documents:o,checkpoint:a?{id:a[r],lwt:a._meta.lwt}:n||{id:"",lwt:0}}}var aO=function(){function t(n,r,i,s){this.queueByDocId=new Map,this.isRunning=!1,this.storageInstance=n,this.primaryPath=r,this.preWrite=i,this.postWrite=s}var e=t.prototype;return e.addWrite=function(r,i){var s=r[this.primaryPath],o=Mr(this.queueByDocId,s,()=>[]),a=new Promise((l,f)=>{var h={lastKnownDocumentState:r,modifier:i,resolve:l,reject:f};ye(o).push(h),this.triggerRun()});return a},e.triggerRun=async function(){if(!(this.isRunning===!0||this.queueByDocId.size===0)){this.isRunning=!0;var r=[],i=this.queueByDocId;this.queueByDocId=new Map,await Promise.all(Array.from(i.entries()).map(async([o,a])=>{var l=Q2(a.map(m=>m.lastKnownDocumentState)),f=l;for(var h of a)try{f=await h.modifier(Pn(f))}catch(m){h.reject(m),h.reject=()=>{},h.resolve=()=>{}}try{await this.preWrite(f,l)}catch(m){a.forEach(y=>y.reject(m));return}r.push({previous:l,document:f})}));var s=r.length>0?await this.storageInstance.bulkWrite(r,"incremental-write"):{error:[],success:[]};return await Promise.all(s.success.map(o=>{var a=o[this.primaryPath];this.postWrite(o);var l=Mo(i,a);l.forEach(f=>f.resolve(o))})),s.error.forEach(o=>{var a=o.documentId,l=Mo(i,a),f=_h(o);if(f){var h=Mr(this.queueByDocId,a,()=>[]);l.reverse().forEach(y=>{y.lastKnownDocumentState=ye(f.documentInDb),ye(h).unshift(y)})}else{var m=sR(o);l.forEach(y=>y.reject(m))}}),this.isRunning=!1,this.triggerRun()}},t}();function sb(t){var e=async n=>{var r=RP(n);r._deleted=n._deleted;var i=await t(r),s=Object.assign({},i,{_meta:n._meta,_attachments:n._attachments,_rev:n._rev,_deleted:typeof i._deleted<"u"?i._deleted:n._deleted});return typeof s._deleted>"u"&&(s._deleted=!1),s};return e}function Q2(t){var e=t[0],n=Va(e._rev).height;return t.forEach(r=>{var i=Va(r._rev).height;i>n&&(e=r,n=i)}),e}var kh={get primaryPath(){var t=this;if(t.isInstanceOfRxDocument)return t.collection.schema.primaryPath},get primary(){var t=this;if(t.isInstanceOfRxDocument)return t._data[t.primaryPath]},get revision(){var t=this;if(t.isInstanceOfRxDocument)return t._data._rev},get deleted$(){var t=this;if(t.isInstanceOfRxDocument)return t.$.pipe(Mt(e=>e._data._deleted))},get deleted$$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.deleted$,t.getLatest().deleted)},get deleted(){var t=this;if(t.isInstanceOfRxDocument)return t._data._deleted},getLatest(){var t=this.collection._docCache.getLatestDocumentData(this.primary);return this.collection._docCache.getCachedRxDocument(t)},get $(){var t=this;return t.collection.$.pipe(lt(e=>!e.isLocal),lt(e=>e.documentId===this.primary),Mt(e=>Dg(e)),Hl(t.collection._docCache.getLatestDocumentData(this.primary)),Fo((e,n)=>e._rev===n._rev),Mt(e=>this.collection._docCache.getCachedRxDocument(e)),Pi(Ai))},get $$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.$,t.getLatest()._data)},get$(t){if(it.isDevMode()){if(t.includes(".item."))throw le("DOC1",{path:t});if(t===this.primaryPath)throw le("DOC2");if(this.collection.schema.finalFields.includes(t))throw le("DOC3",{path:t});var e=zi(this.collection.schema.jsonSchema,t);if(!e)throw le("DOC4",{path:t})}return this.$.pipe(Mt(n=>Ts(n,t)),Fo())},get$$(t){var e=this.get$(t),n=this.collection.database.getReactivityFactory();return n.fromObservable(e,this.getLatest().get(t))},populate(t){var e=zi(this.collection.schema.jsonSchema,t),n=this.get(t);if(!n)return yg;if(!e)throw le("DOC5",{path:t});if(!e.ref)throw le("DOC6",{path:t,schemaObj:e});var r=this.collection.database.collections[e.ref];if(!r)throw le("DOC7",{ref:e.ref,path:t,schemaObj:e});return e.type==="array"?r.findByIds(n).exec().then(i=>{var s=i.values();return Array.from(s)}):r.findOne(n).exec()},get(t){return Mr(this._propertyCache,t,()=>{var e=Ts(this._data,t);if(typeof e!="object"||e===null||Array.isArray(e))return it.deepFreezeWhenDevMode(e);var n=this,r=new Proxy($e(e),{get(i,s){if(typeof s!="string")return i[s];var o=s.charAt(s.length-1);if(s.endsWith("$$")){var a=s.slice(0,-2);return n.get$$(zu(t+"."+a))}else if(o==="$"){var l=s.slice(0,-1);return n.get$(zu(t+"."+l))}else if(o==="_"){var f=s.slice(0,-1);return n.populate(zu(t+"."+f))}else return n.get(zu(t+"."+s))}});return r})},toJSON(t=!1){if(t)return it.deepFreezeWhenDevMode(this._data);var e=$e(this._data);return delete e._rev,delete e._attachments,delete e._deleted,delete e._meta,it.deepFreezeWhenDevMode(e)},toMutableJSON(t=!1){return Pn(this.toJSON(t))},update(t){throw pt("update")},incrementalUpdate(t){throw pt("update")},updateCRDT(t){throw pt("crdt")},putAttachment(){throw pt("attachments")},getAttachment(){throw pt("attachments")},allAttachments(){throw pt("attachments")},get allAttachments$(){throw pt("attachments")},async modify(t,e){var n=this._data,r=await sb(t)(n);return this._saveData(r,n)},incrementalModify(t,e){return this.collection.incrementalWriteQueue.addWrite(this._data,sb(t)).then(n=>this.collection._docCache.getCachedRxDocument(n))},patch(t){var e=this._data,n=Pn(e);return Object.entries(t).forEach(([r,i])=>{n[r]=i}),this._saveData(n,e)},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t,e){if(t=$e(t),this._data._deleted)throw le("DOC11",{id:this.primary,document:this});await lO(this.collection,t,e);var n=await this.collection.storageInstance.bulkWrite([{previous:e,document:t}],"rx-document-save-data"),r=n.error[0];return yd(this.collection,this.primary,t,r),await this.collection._runHooks("post","save",t,this),this.collection._docCache.getCachedRxDocument(n.success[0])},remove(){var t=this.collection;if(this.deleted)return Promise.reject(le("DOC13",{document:this,id:this.primary}));var e=$e(this._data),n;return t._runHooks("pre","remove",e,this).then(async()=>{e._deleted=!0;var r=await t.storageInstance.bulkWrite([{previous:this._data,document:e}],"rx-document-remove"),i=r.error[0];return yd(t,this.primary,e,i),r.success[0]}).then(r=>(n=r,this.collection._runHooks("post","remove",e,this))).then(()=>this.collection._docCache.getCachedRxDocument(n))},incrementalRemove(){return this.incrementalModify(async t=>(await this.collection._runHooks("pre","remove",t,this),t._deleted=!0,t)).then(async t=>(await this.collection._runHooks("post","remove",t._data,t),t))},destroy(){throw le("DOC14")}};function uO(t=kh){var e=function(r,i){this.collection=r,this._data=i,this._propertyCache=new Map,this.isInstanceOfRxDocument=!0};return e.prototype=t,e}function Y2(t,e,n){var r=new t(e,n);return Nr("createRxDocument",r),r}function lO(t,e,n){return e._meta=Object.assign({},n._meta,e._meta),it.isDevMode()&&t.schema.validateChange(n,e),t._runHooks("pre","save",e,n)}var ko="collection",Ug="storage-token",Pf="rx-migration-status",G2="RxInternalDocument",zg=bh({version:0,title:G2,primaryKey:{key:"id",fields:["context","key"],separator:"|"},type:"object",properties:{id:{type:"string",maxLength:200},key:{type:"string"},context:{type:"string",enum:[ko,Ug,Pf,"OTHER"]},data:{type:"object",additionalProperties:!0}},indexes:[],required:["key","context","data"],additionalProperties:!1,sharding:{shards:1,mode:"collection"}});function Qa(t,e){return Ws(zg,{key:t,context:e})}async function Vg(t){var e=Jl(t.schema,{selector:{context:ko,_deleted:{$eq:!1}},sort:[{id:"asc"}],skip:0}),n=await t.query(e),r=n.documents;return r}var cO="storageToken",J2=Qa(cO,Ug);async function X2(t){var e=su(10),n=t.password?await t.hashFunction(JSON.stringify(t.password)):void 0,r={id:J2,context:Ug,key:cO,data:{rxdbVersion:t.rxdbVersion,token:e,instanceToken:t.token,passwordHash:n},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}},i=await t.internalStore.bulkWrite([{document:r}],"internal-add-storage-token");if(i.success[0])return i.success[0];var s=ye(i.error[0]);if(s.isError&&_h(s)){var o=s;if(!Z2(o.documentInDb.data.rxdbVersion,t.rxdbVersion))throw le("DM5",{args:{database:t.name,databaseStateVersion:o.documentInDb.data.rxdbVersion,codeVersion:t.rxdbVersion}});if(n&&n!==o.documentInDb.data.passwordHash)throw le("DB1",{passwordHash:n,existingPasswordHash:o.documentInDb.data.passwordHash});var a=o.documentInDb;return ye(a)}throw s}function Z2(t,e){if(!t||e.includes("beta")&&e!==t)return!1;var n=t.split(".")[0],r=e.split(".")[0];return n===r}async function fO(t,e,n){if(t.schema.version!==n.version)throw le("SNH",{schema:n,version:t.schema.version,name:t.name,collection:t,args:{storageCollectionName:e}});for(var r=Uy(t.name,t.schema.jsonSchema),i=Qa(r,ko);;){var s=await Xl(t.database.internalStore,i),o=Pn(ye(s)),a=o.data.connectedStorages.find(l=>l.collectionName===e&&l.schema.version===n.version);if(a)return;o.data.connectedStorages.push({collectionName:e,schema:n});try{await Tl(t.database.internalStore,{previous:ye(s),document:o},"add-connected-storage-to-collection")}catch(l){if(!_h(l))throw l}}}function Uy(t,e){return t+"-"+e.version}function dm(t,e){return e=$e(e),e=cR(t,e),e=oE(t.primaryPath,t.jsonSchema,e),e._meta=Ks(),Object.prototype.hasOwnProperty.call(e,"_deleted")||(e._deleted=!1),Object.prototype.hasOwnProperty.call(e,"_attachments")||(e._attachments={}),Object.prototype.hasOwnProperty.call(e,"_rev")||(e._rev=Rn()),e}async function eN(t,e){e.multiInstance=t.multiInstance;var n=await t.storage.createStorageInstance(e);return n}async function dO(t,e,n,r,i,s,o){var a=await Vg(e),l=a.filter(y=>y.data.name===i),f=[];l.forEach(y=>{f.push({collectionName:y.data.name,schema:y.data.schema,isCollection:!0}),y.data.connectedStorages.forEach(w=>f.push({collectionName:w.collectionName,isCollection:!1,schema:w.schema}))});var h=new Set;if(f=f.filter(y=>{var w=y.collectionName+"||"+y.schema.version;return h.has(w)?!1:(h.add(w),!0)}),await Promise.all(f.map(async y=>{var w=await t.createStorageInstance({collectionName:y.collectionName,databaseInstanceToken:n,databaseName:r,multiInstance:!1,options:{},schema:y.schema,password:s,devMode:it.isDevMode()});await w.remove(),y.isCollection&&await No("postRemoveRxCollection",{storage:t,databaseName:r,collectionName:i})})),o){var m=l.map(y=>{var w=$g(y);return w._deleted=!0,w._meta.lwt=Ft(),w._rev=Ui(n,y),{previous:y,document:w}});await e.bulkWrite(m,"rx-database-remove-collection-all")}}var tN=function(){function t(n){this.subs=[],this.limit=100,this.counter=0,this.eventCounterMap=new WeakMap,this.buffer=[],this.collection=n,this.subs.push(this.collection.$.pipe(lt(r=>!r.isLocal)).subscribe(r=>this._handleChangeEvent(r)))}var e=t.prototype;return e._handleChangeEvent=function(r){for(this.counter++,this.buffer.push(r),this.eventCounterMap.set(r,this.counter);this.buffer.length>this.limit;)this.buffer.shift()},e.getArrayIndexByPointer=function(r){var i=this.buffer[0],s=this.eventCounterMap.get(i);if(ri(o))},e.reduceByLastOfDoc=function(r){return r.slice(0)},e.destroy=function(){this.subs.forEach(r=>r.unsubscribe())},t}();function nN(t){return new tN(t)}var rN=new WeakMap;function iN(t){var e=t.schema.getDocumentPrototype(),n=aN(t),r=kh,i={};return[e,n,r].forEach(s=>{var o=Object.getOwnPropertyNames(s);o.forEach(a=>{var l=Object.getOwnPropertyDescriptor(s,a),f=!0;(a.startsWith("_")||a.endsWith("_")||a.startsWith("$")||a.endsWith("$"))&&(f=!1),typeof l.value=="function"?Object.defineProperty(i,a,{get(){return l.value.bind(this)},enumerable:f,configurable:!1}):(l.enumerable=f,l.configurable=!1,l.writable&&(l.writable=!1),Object.defineProperty(i,a,l))})}),i}function sN(t){return Mr(rN,t,()=>uO(iN(t)))}function oN(t,e){var n=Y2(sN(t),t,it.deepFreezeWhenDevMode(e));return t._runHooksSync("post","create",e,n),Nr("postCreateRxDocument",n),n}function aN(t){var e={};return Object.entries(t.methods).forEach(([n,r])=>{e[n]=r}),e}async function gd(t,e){var n=Ws(t.input.metaInstance.schema,{isCheckpoint:"1",itemId:e}),r=await t.input.metaInstance.findDocumentsById([n],!1),i=r[0];if(t.lastCheckpointDoc[e]=i,i)return i.checkpointData}async function wd(t,e,n){t.checkpointQueue=t.checkpointQueue.then(async()=>{var r=t.lastCheckpointDoc[e];if(n&&!t.events.canceled.getValue()&&(!r||JSON.stringify(r.checkpointData)!==JSON.stringify(n))){var i={id:"",isCheckpoint:"1",itemId:e,_deleted:!1,_attachments:{},checkpointData:n,_meta:Ks(),_rev:Rn()};for(i.id=Ws(t.input.metaInstance.schema,i);!t.events.canceled.getValue();){if(r&&(i.checkpointData=Ml([r.checkpointData,i.checkpointData])),i._meta.lwt=Ft(),i._rev=Ui(await t.checkpointKey,r),t.events.canceled.getValue())return;var s=await t.input.metaInstance.bulkWrite([{previous:r,document:i}],"replication-set-checkpoint"),o=s.success[0];if(o){t.lastCheckpointDoc[e]=o;return}else{var a=s.error[0];if(a.status!==409)throw a;r=ye(a.documentInDb),i._rev=Ui(await t.checkpointKey,r)}}}}),await t.checkpointQueue}async function uN(t){var e=await t.hashFunction([t.identifier,t.forkInstance.databaseName,t.forkInstance.collectionName].join("||"));return"rx_storage_replication_"+e}function ob(t,e,n,r,i){var s=Object.assign({},r,{_attachments:e&&r._attachments?r._attachments:{},_meta:n?r._meta:{lwt:Ft()},_rev:n?r._rev:Rn()});return s._rev||(s._rev=Ui(t,i)),s}function cs(t,e,n){var r=$e(t);return e||delete r._attachments,n||(delete r._meta,delete r._rev),r}function zy(t,e){return t.hasAttachments?e.map(n=>{var r=Pn(n.document);return r.docData=gs(r.docData),{document:r,previous:n.previous}}):e}function Vy(t){for(;;)if(t.underlyingPersistentStorage)t=t.underlyingPersistentStorage;else return t}var Rf="RxReplicationProtocolMetaData";function Ky(t,e){var n=oR(t),r={title:Rf,primaryKey:{key:"id",fields:["itemId","isCheckpoint"],separator:"|"},type:"object",version:t.version,additionalProperties:!1,properties:{id:{type:"string",minLength:1,maxLength:n+2},isCheckpoint:{type:"string",enum:["0","1"],minLength:1,maxLength:1},itemId:{type:"string",maxLength:n>4?n:4},checkpointData:{type:"object",additionalProperties:!0},docData:{type:"object",properties:t.properties},isResolvedConflict:{type:"string"}},keyCompression:t.keyCompression,required:["id","isCheckpoint","itemId"]};e&&(r.encrypted=["docData"]);var i=bh(r);return i}function hO(t,e){return t.input.metaInstance.findDocumentsById(e.map(n=>{var r=Ws(t.input.metaInstance.schema,{itemId:n,isCheckpoint:"0"});return r}),!0).then(n=>{var r={};return Object.values(n).forEach(i=>{r[i.itemId]={docData:i.docData,metaDocument:i}}),r})}async function _d(t,e,n,r){var i=e[t.primaryPath],s=n?$g(n):{id:"",isCheckpoint:"0",itemId:i,docData:e,_attachments:{},_deleted:!1,_rev:Rn(),_meta:{lwt:0}};s.docData=e,r&&(s.isResolvedConflict=r),s._meta.lwt=Ft(),s.id=Ws(t.input.metaInstance.schema,s),s._rev=Ui(await t.checkpointKey,n);var o={previous:n,document:s};return o}async function lN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.downstream){var e=await gd(t,"down");e||await wd(t,"down",t.input.initialCheckpoint.downstream)}var n=await t.input.hashFunction(t.input.identifier),r=t.input.replicationHandler,i=0,s=[];function o(I){t.stats.down.addNewTask=t.stats.down.addNewTask+1;var E={time:i++,task:I};s.push(E),t.streamQueue.down=t.streamQueue.down.then(()=>{for(var $=[];s.length>0;){t.events.active.down.next(!0);var S=ye(s.shift());if(!(S.time{t.events.active.down.next(!1),!t.firstSyncDone.down.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.down.next(!0)})}if(o("RESYNC"),!t.events.canceled.getValue()){var a=r.masterChangeStream$.pipe(Br(async I=>(await As(t.events.active.up.pipe(lt(E=>!E))),I))).subscribe(I=>{t.stats.down.masterChangeStreamEmit=t.stats.down.masterChangeStreamEmit+1,o(I)});As(t.events.canceled.pipe(lt(I=>!!I))).then(()=>a.unsubscribe())}var l=-1;async function f(){if(t.stats.down.downstreamResyncOnce=t.stats.down.downstreamResyncOnce+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"down"));for(var I=await t.checkpointQueue,E=[];!t.events.canceled.getValue();){l=i++;var $=await r.masterChangesSince(I,t.input.pullBatchSize);if($.documents.length===0||(I=Ml([I,$.checkpoint]),E.push(w($.documents,I)),$.documents.length{if(S==="RESYNC")throw new Error("SNH");za(E,S.documents),$=Ml([$,S.checkpoint])}),w(E,ye($))}var m=un,y={docs:{}};function w(I,E){var $=t.primaryPath;return t.stats.down.persistFromMaster=t.stats.down.persistFromMaster+1,I.forEach(S=>{var _=S[$];y.docs[_]=S}),y.checkpoint=E,m=m.then(()=>{var S=y.docs;y.docs={};var _=y.checkpoint,O=Object.keys(S);if(t.events.canceled.getValue()||O.length===0)return un;var z=[],W={},Q={},H=[];return Promise.all([t.input.forkInstance.findDocumentsById(O,!0),hO(t,O)]).then(([X,U])=>{var ee=new Map;return X.forEach(ce=>ee.set(ce[$],ce)),Promise.all(O.map(async ce=>{var de=ee.get(ce),Pe=de?cs(de,t.hasAttachments,!1):void 0,ot=S[ce],ct=U[ce];if(ct&&de&&ct.metaDocument.isResolvedConflict===de._rev)return un;var Te=!ct||!Pe?!1:await t.input.conflictHandler({realMasterState:ct.docData,newDocumentState:Pe},"downstream-check-if-equal-0").then(Re=>Re.isEqual);if(!Te&&ct&&ct.docData._rev&&de&&de._meta[t.input.identifier]&&Va(de._rev).height===de._meta[t.input.identifier]&&(Te=!0),de&&ct&&Te===!1||de&&!ct)return un;var Dt=Pe?await t.input.conflictHandler({realMasterState:ot,newDocumentState:Pe},"downstream-check-if-equal-1").then(Re=>Re.isEqual):!1;if(Pe&&Dt)return(!ct||Te===!1)&&H.push(await _d(t,Pe,ct?ct.metaDocument:void 0)),un;var G=Object.assign({},ot,de?{_meta:$e(de._meta),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{},_rev:Rn()}:{_meta:{lwt:Ft()},_rev:Rn(),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{}});if(ot._rev){var oe=de?Va(de._rev).height+1:1;G._meta[t.input.identifier]=oe,t.input.keepMeta&&(G._rev=ot._rev)}t.input.keepMeta&&ot._meta&&(G._meta=ot._meta);var ue={previous:de,document:G};ue.document._rev=ue.document._rev?ue.document._rev:Ui(n,ue.previous),z.push(ue),W[ce]=ue,Q[ce]=await _d(t,ot,ct?ct.metaDocument:void 0)}))}).then(async()=>{if(z.length>0)return t.input.forkInstance.bulkWrite(z,await t.downstreamBulkWriteFlag).then(X=>{X.success.forEach(U=>{var ee=U[$];t.events.processed.down.next(W[ee]),H.push(Q[ee])}),X.error.forEach(U=>{U.status!==409&&t.events.error.next(le("RC_PULL",{writeError:U}))})})}).then(()=>{if(H.length>0)return t.input.metaInstance.bulkWrite(zy(t,H),"replication-down-write-meta").then(X=>{X.error.forEach(U=>{t.events.error.next(le("RC_PULL",{id:U.documentId,writeError:U}))})})}).then(()=>{wd(t,"down",_)})}).catch(S=>t.events.error.next(S)),m}}var bd=function(t,e){var n=gs(t.newDocumentState),r=gs(t.realMasterState);return Ka(n,r)?Promise.resolve({isEqual:!0}):Promise.resolve({isEqual:!1,documentData:t.realMasterState})};async function cN(t,e,n){var r=t.input.conflictHandler,i=await r(e,"replication-resolve-conflict");if(!i.isEqual){var s=Object.assign({},i.documentData,{_meta:$e(n._meta),_rev:Rn(),_attachments:$e(n._attachments)});return s._meta.lwt=Ft(),s._rev=Ui(await t.checkpointKey,n),{resolvedDoc:s,output:i}}}async function Wy(t,e,n,r){if(!n._attachments||r&&!r._attachments)throw new Error("_attachments missing");var i=n[t],s=new Set(r&&r._attachments?Object.keys(r._attachments):[]);return await Promise.all(Object.entries(n._attachments).map(async([o,a])=>{if((!s.has(o)||r&&ye(r._attachments)[o].digest!==a.digest)&&!a.data){var l=await e.getAttachmentData(i,o,a.digest);a.data=l}})),n}async function fN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.upstream){var e=await gd(t,"up");e||await wd(t,"up",t.input.initialCheckpoint.upstream)}var n=t.input.replicationHandler;t.streamQueue.up=t.streamQueue.up.then(()=>f().then(()=>{h()}));var r=0,i=-1,s=[],o=Jn,a={docs:{}},l=t.input.forkInstance.changeStream().subscribe(async y=>{if(y.context!==await t.downstreamBulkWriteFlag)return t.stats.up.forkChangeStreamEmit=t.stats.up.forkChangeStreamEmit+1,s.push({task:y,time:r++}),t.events.active.up.getValue()||t.events.active.up.next(!0),t.input.waitBeforePersist?t.input.waitBeforePersist().then(()=>h()):h()});As(t.events.canceled.pipe(lt(y=>!!y))).then(()=>l.unsubscribe());async function f(){if(t.stats.up.upstreamInitialSync=t.stats.up.upstreamInitialSync+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"up"));for(var y=await t.checkpointQueue,w=new Set,I=async function(){i=r++,w.size>3&&await Promise.race(Array.from(w));var S=await oO(t.input.forkInstance,t.input.pushBatchSize,y);if(S.documents.length===0)return 1;y=Ml([y,S.checkpoint]);var _=m(S.documents,ye(y));w.add(_),_.catch().then(()=>w.delete(_))};!t.events.canceled.getValue()&&!await I(););var E=await Promise.all(w),$=E.find(S=>!!S);$?await f():!t.firstSyncDone.up.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.up.next(!0)}}function h(){if(t.events.canceled.getValue()||s.length===0){t.events.active.up.next(!1);return}t.stats.up.processTasks=t.stats.up.processTasks+1,t.events.active.up.next(!0),t.streamQueue.up=t.streamQueue.up.then(()=>{for(var y=[],w={};s.length>0;){var I=ye(s.shift());I.time$.documentData)),w=Ml([w,I.task.checkpoint]))}var E=y.length===0?Jn:m(y,w);return E.then(()=>{s.length===0?t.events.active.up.next(!1):h()})})}function m(y,w){return t.stats.up.persistToMaster=t.stats.up.persistToMaster+1,y.forEach(I=>{var E=I[t.primaryPath];a.docs[E]=I}),a.checkpoint=w,o=o.then(async()=>{if(t.events.canceled.getValue())return!1;var I=a.docs;a.docs={};var E=a.checkpoint,$=Object.keys(I);if($.length===0)return!1;var S=await hO(t,$),_={},O=[],z={},W={};if(await Promise.all($.map(async Te=>{var Dt=I[Te];W[Te]=Dt;var G=cs(Dt,t.hasAttachments,!!t.input.keepMeta),oe=S[Te];oe&&oe.metaDocument.isResolvedConflict!==Dt._rev&&(await t.input.conflictHandler({realMasterState:oe.docData,newDocumentState:G},"upstream-check-if-equal")).isEqual||oe&&oe.docData._rev&&Va(Dt._rev).height===Dt._meta[t.input.identifier]||(O.push(Te),_[Te]={assumedMasterState:oe?oe.docData:void 0,newDocumentState:G},z[Te]=await _d(t,G,oe?oe.metaDocument:void 0))})),O.length===0)return!1;var Q=Object.values(_),H=new Set,X={},U=CP(Q,t.input.pushBatchSize);await Promise.all(U.map(async Te=>{t.hasAttachments&&await Promise.all(Te.map(async G=>{G.newDocumentState=await Wy(t.primaryPath,t.input.forkInstance,Pn(G.newDocumentState),G.assumedMasterState)}));var Dt=await n.masterWrite(Te);Dt.forEach(G=>{var oe=G[t.primaryPath];H.add(oe),X[oe]=G})}));var ee=[];if(O.forEach(Te=>{H.has(Te)||(t.events.processed.up.next(_[Te]),ee.push(z[Te]))}),t.events.canceled.getValue())return!1;ee.length>0&&await t.input.metaInstance.bulkWrite(zy(t,ee),"replication-up-write-meta");var ce=!1;if(H.size>0){t.stats.up.persistToMasterHadConflicts=t.stats.up.persistToMasterHadConflicts+1;var de=[],Pe={};if(await Promise.all(Object.entries(X).map(([Te,Dt])=>{var G=_[Te],oe={newDocumentState:G.newDocumentState,assumedMasterState:G.assumedMasterState,realMasterState:Dt};return cN(t,oe,W[Te]).then(async ue=>{if(ue){t.events.resolvedConflicts.next({input:oe,output:ue.output}),de.push({previous:W[Te],document:ue.resolvedDoc});var Re=S[Te];Pe[Te]=await _d(t,ye(Dt),Re?Re.metaDocument:void 0,ue.resolvedDoc._rev)}})})),de.length>0){ce=!0,t.stats.up.persistToMasterConflictWrites=t.stats.up.persistToMasterConflictWrites+1;var ot=await t.input.forkInstance.bulkWrite(de,"replication-up-write-conflict"),ct=[];ot.success.forEach(Te=>{var Dt=Te[t.primaryPath];ct.push(Pe[Dt])}),ct.length>0&&await t.input.metaInstance.bulkWrite(zy(t,ct),"replication-up-write-conflict-meta")}}return wd(t,"up",E),ce}).catch(I=>(t.events.error.next(I),!1)),o}}function pO(t){t=$e(t),t.forkInstance=Vy(t.forkInstance),t.metaInstance=Vy(t.metaInstance);var e=uN(t),n={primaryPath:Fn(t.forkInstance.schema.primaryKey),hasAttachments:!!t.forkInstance.schema.attachments,input:t,checkpointKey:e,downstreamBulkWriteFlag:e.then(r=>"replication-downstream-"+r),events:{canceled:new Jr(!1),active:{down:new Jr(!0),up:new Jr(!0)},processed:{down:new Kt,up:new Kt},resolvedConflicts:new Kt,error:new Kt},stats:{down:{addNewTask:0,downstreamProcessChanges:0,downstreamResyncOnce:0,masterChangeStreamEmit:0,persistFromMaster:0},up:{forkChangeStreamEmit:0,persistToMaster:0,persistToMasterConflictWrites:0,persistToMasterHadConflicts:0,processTasks:0,upstreamInitialSync:0}},firstSyncDone:{down:new Jr(!1),up:new Jr(!1)},streamQueue:{down:un,up:un},checkpointQueue:un,lastCheckpointDoc:{}};return lN(n),fN(n),n}function Tf(t){return As(AE([t.firstSyncDone.down.pipe(lt(e=>!!e)),t.firstSyncDone.up.pipe(lt(e=>!!e))])).then(()=>{})}function ab(t){return Promise.all([t.streamQueue.up,t.streamQueue.down,t.checkpointQueue])}function dN(t,e,n,r=!1){t=Vy(t);var i=!!t.schema.attachments,s=Fn(t.schema.primaryKey),o={masterChangeStream$:t.changeStream().pipe(Br(async a=>{var l={checkpoint:a.checkpoint,documents:await Promise.all(a.events.map(async f=>{var h=cs(f.documentData,i,r);return i&&(h=await Wy(s,t,Pn(h),void 0)),h}))};return l})),masterChangesSince(a,l){return oO(t,l,a).then(async f=>({checkpoint:f.documents.length>0?f.checkpoint:a,documents:await Promise.all(f.documents.map(async h=>{var m=cs(h,i,r);return i&&(m=await Wy(s,t,Pn(m),void 0)),m}))}))},async masterWrite(a){var l={};a.forEach(E=>{var $=E.newDocumentState[s];l[$]=E});var f=Object.keys(l),h=await t.findDocumentsById(f,!0),m=new Map;h.forEach(E=>m.set(E[s],E));var y=[],w=[];if(await Promise.all(Object.entries(l).map(async([E,$])=>{var S=m.get(E);S?S&&!$.assumedMasterState?y.push(cs(S,i,r)):(await e({realMasterState:cs(S,i,r),newDocumentState:ye($.assumedMasterState)},"rxStorageInstanceToReplicationHandler-masterWrite")).isEqual===!0?w.push({previous:S,document:ob(n,i,r,$.newDocumentState,S)}):y.push(cs(S,i,r)):w.push({document:ob(n,i,r,$.newDocumentState)})})),w.length>0){var I=await t.bulkWrite(w,"replication-master-write");I.error.forEach(E=>{if(E.status!==409)throw new Error("non conflict error");y.push(cs(ye(E.documentInDb),i,r))})}return y}};return o}async function mO(t){t.events.canceled.next(!0),t.events.active.up.complete(),t.events.active.down.complete(),t.events.processed.up.complete(),t.events.processed.down.complete(),t.events.resolvedConflicts.complete(),t.events.canceled.complete(),await t.checkpointQueue}var yO=["pre","post"],vO=["insert","save","remove","create"],ub=!1,gO=function(){function t(n,r,i,s,o={},a={},l={},f={},h={},m=JE,y={},w=bd){this.storageInstance={},this.timeouts=new Set,this.incrementalWriteQueue={},this._incrementalUpsertQueues=new Map,this.synced=!1,this.hooks={},this._subs=[],this._docCache={},this._queryCache=k2(),this.$={},this.checkpoint$={},this._changeEventBuffer={},this.onDestroy=[],this.destroyed=!1,this.database=n,this.name=r,this.schema=i,this.internalStorageInstance=s,this.instanceCreationOptions=o,this.migrationStrategies=a,this.methods=l,this.attachments=f,this.options=h,this.cacheReplacementPolicy=m,this.statics=y,this.conflictHandler=w,hN(this.asRxCollection)}var e=t.prototype;return e.prepare=async function(){this.storageInstance=jg(this.database,this.internalStorageInstance,this.schema.jsonSchema),this.incrementalWriteQueue=new aO(this.storageInstance,this.schema.primaryPath,(o,a)=>lO(this,o,a),o=>this._runHooks("post","save",o));var r=this.database.eventBulks$.pipe(lt(o=>o.collectionName===this.name));this.$=r.pipe(Br(o=>o.events)),this.checkpoint$=r.pipe(Mt(o=>o.checkpoint)),this._changeEventBuffer=nN(this.asRxCollection),this._docCache=new XE(this.schema.primaryPath,this.$.pipe(lt(o=>!o.isLocal)),o=>oN(this.asRxCollection,o));var i=await this.database.storageToken,s=this.storageInstance.changeStream().subscribe(o=>{var a={id:o.id,internal:!1,collectionName:this.name,storageToken:i,events:o.events.map(l=>rO(!1,l,this)),databaseToken:this.database.token,checkpoint:o.checkpoint,context:o.context,endTime:o.endTime,startTime:o.startTime};this.database.$emit(a)});return this._subs.push(s),this._subs.push(this.storageInstance.conflictResultionTasks().subscribe(o=>{this.conflictHandler(o.input,o.context).then(a=>{this.storageInstance.resolveConflictResultionTask({id:o.id,output:a})})})),un},e.cleanup=function(r){throw pt("cleanup")},e.migrationNeeded=function(){throw pt("migration-schema")},e.getMigrationState=function(){throw pt("migration-schema")},e.startMigration=function(r=10){return this.getMigrationState().startMigration(r)},e.migratePromise=function(r=10){return this.getMigrationState().migratePromise(r)},e.insert=async function(r){var i=await this.bulkInsert([r]),s=i.error[0];yd(this,r[this.schema.primaryPath],r,s);var o=ye(i.success[0]);return o},e.bulkInsert=async function(r){if(r.length===0)return{success:[],error:[]};var i=this.schema.primaryPath,s=r.map(m=>{var y=dm(this.schema,m);return y}),o=this.hasHooks("pre","insert")?await Promise.all(s.map(m=>this._runHooks("pre","insert",m).then(()=>m))):s,a=o.map(m=>{var y={document:m};return y}),l=await this.storageInstance.bulkWrite(a,"rx-collection-bulk-insert"),f=ZE(this._docCache,l.success);if(this.hasHooks("post","insert")){var h=new Map;o.forEach(m=>{h.set(m[i],m)}),await Promise.all(f.map(m=>this._runHooks("post","insert",h.get(m.primary),m)))}return{success:f,error:l.error}},e.bulkRemove=async function(r){var i=this.schema.primaryPath;if(r.length===0)return{success:[],error:[]};var s=await this.findByIds(r).exec(),o=[],a=new Map;Array.from(s.values()).forEach(y=>{var w=y.toMutableJSON(!0);o.push(w),a.set(y.primary,w)}),await Promise.all(o.map(y=>{var w=y[this.schema.primaryPath];return this._runHooks("pre","remove",y,s.get(w))}));var l=o.map(y=>{var w=$e(y);return w._deleted=!0,{previous:y,document:w}}),f=await this.storageInstance.bulkWrite(l,"rx-collection-bulk-remove"),h=f.success.map(y=>y[i]);await Promise.all(h.map(y=>this._runHooks("post","remove",a.get(y),s.get(y))));var m=h.map(y=>Mo(s,y));return{success:m,error:f.error}},e.bulkUpsert=async function(r){var i=[],s=new Map;r.forEach(f=>{var h=dm(this.schema,f),m=h[this.schema.primaryPath];if(!m)throw le("COL3",{primaryPath:this.schema.primaryPath,data:h,schema:this.schema.jsonSchema});s.set(m,h),i.push(h)});var o=await this.bulkInsert(i),a=o.success.slice(0),l=[];return await Promise.all(o.error.map(async f=>{if(f.status!==409)l.push(f);else{var h=f.documentId,m=Mo(s,h),y=ye(f.documentInDb),w=this._docCache.getCachedRxDocument(y),I=await w.incrementalModify(()=>m);a.push(I)}})),{error:l,success:a}},e.upsert=async function(r){var i=await this.bulkUpsert([r]);return yd(this.asRxCollection,r[this.schema.primaryPath],r,i.error[0]),i.success[0]},e.incrementalUpsert=function(r){var i=dm(this.schema,r),s=i[this.schema.primaryPath];if(!s)throw le("COL4",{data:r});var o=this._incrementalUpsertQueues.get(s);return o||(o=un),o=o.then(()=>mN(this,s,i)).then(a=>a.inserted?a.doc:pN(a.doc,i)),this._incrementalUpsertQueues.set(s,o),o},e.find=function(r){if(typeof r=="string")throw le("COL5",{queryObj:r});r||(r=tl());var i=ra("find",r,this);return i},e.findOne=function(r){if(typeof r=="number"||Array.isArray(r))throw el("COL6",{queryObj:r});var i;if(typeof r=="string")i=ra("findOne",{selector:{[this.schema.primaryPath]:r},limit:1},this);else{if(r||(r=tl()),r.limit)throw le("QU6");r=$e(r),r.limit=1,i=ra("findOne",r,this)}return i},e.count=function(r){r||(r=tl());var i=ra("count",r,this);return i},e.findByIds=function(r){var i={selector:{[this.schema.primaryPath]:{$in:r.slice(0)}}},s=ra("findByIds",i,this);return s},e.exportJSON=function(){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.insertCRDT=function(r){throw pt("crdt")},e.addHook=function(r,i,s,o=!1){if(typeof s!="function")throw el("COL7",{key:i,when:r});if(!yO.includes(r))throw el("COL8",{key:i,when:r});if(!vO.includes(i))throw le("COL9",{key:i});if(r==="post"&&i==="create"&&o===!0)throw le("COL10",{when:r,key:i,parallel:o});var a=s.bind(this),l=o?"parallel":"series";this.hooks[i]=this.hooks[i]||{},this.hooks[i][r]=this.hooks[i][r]||{series:[],parallel:[]},this.hooks[i][r][l].push(a)},e.getHooks=function(r,i){return!this.hooks[i]||!this.hooks[i][r]?{series:[],parallel:[]}:this.hooks[i][r]},e.hasHooks=function(r,i){var s=this.getHooks(r,i);return s?s.series.length>0||s.parallel.length>0:!1},e._runHooks=function(r,i,s,o){var a=this.getHooks(r,i);if(!a)return un;var l=a.series.map(f=>()=>f(s,o));return YP(l).then(()=>Promise.all(a.parallel.map(f=>f(s,o))))},e._runHooksSync=function(r,i,s,o){var a=this.getHooks(r,i);a&&a.series.forEach(l=>l(s,o))},e.promiseWait=function(r){var i=new Promise(s=>{var o=setTimeout(()=>{this.timeouts.delete(o),s()},r);this.timeouts.add(o)});return i},e.destroy=function(){return this.destroyed?Jn:(this.destroyed=!0,Array.from(this.timeouts).forEach(r=>clearTimeout(r)),this._changeEventBuffer&&this._changeEventBuffer.destroy(),this.database.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>this.storageInstance.close()).then(()=>(this._subs.forEach(r=>r.unsubscribe()),delete this.database.collections[this.name],No("postDestroyRxCollection",this).then(()=>!0))))},e.remove=async function(){await this.destroy(),await dO(this.database.storage,this.database.internalStore,this.database.token,this.database.name,this.name,this.database.password,this.database.hashFunction)},Vs(t,[{key:"insert$",get:function(){return this.$.pipe(lt(n=>n.operation==="INSERT"))}},{key:"update$",get:function(){return this.$.pipe(lt(n=>n.operation==="UPDATE"))}},{key:"remove$",get:function(){return this.$.pipe(lt(n=>n.operation==="DELETE"))}},{key:"asRxCollection",get:function(){return this}}]),t}();function hN(t){if(!ub){ub=!0;var e=Object.getPrototypeOf(t);vO.forEach(n=>{yO.map(r=>{var i=r+eE(n);e[i]=function(s,o){return this.addHook(r,n,s,o)}})})}}function pN(t,e){return t.incrementalModify(n=>e)}function mN(t,e,n){var r=t._docCache.getLatestDocumentDataIfExists(e);return r?Promise.resolve({doc:t._docCache.getCachedRxDocument(r),inserted:!1}):t.findOne(e).exec().then(i=>i?{doc:i,inserted:!1}:t.insert(n).then(s=>({doc:s,inserted:!0})))}function yN({database:t,name:e,schema:n,instanceCreationOptions:r={},migrationStrategies:i={},autoMigrate:s=!0,statics:o={},methods:a={},attachments:l={},options:f={},localDocuments:h=!1,cacheReplacementPolicy:m=JE,conflictHandler:y=bd}){var w={databaseInstanceToken:t.token,databaseName:t.name,collectionName:e,schema:n.jsonSchema,options:r,multiInstance:t.multiInstance,password:t.password,devMode:it.isDevMode()};return Nr("preCreateRxStorageInstance",w),eN(t,w).then(I=>{var E=new gO(t,e,n,I,r,i,a,l,f,m,o,y);return E.prepare().then(()=>{Object.entries(o).forEach(([S,_])=>{Object.defineProperty(E,S,{get:()=>_.bind(E)})});var $=un;return s&&E.schema.version!==0&&($=E.migratePromise()),$}).then(()=>(Nr("createRxCollection",{collection:E,creator:{name:e,schema:n,storageInstance:I,instanceCreationOptions:r,migrationStrategies:i,methods:a,attachments:l,options:f,cacheReplacementPolicy:m,localDocuments:h,statics:o}}),E)).catch($=>I.close().then(()=>Promise.reject($)))})}var wO=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this._parallels=e||1,this._qC=0,this._iC=new Set,this._lHN=0,this._hPM=new Map,this._pHM=new Map};wO.prototype={isIdle:function(){return this._qC{this._to=!1,gN(this)},0))}clear(){this.map.clear()}}function gN(t){const e=_O()-t.ttl,n=t.map[Symbol.iterator]();for(;;){const r=n.next().value;if(!r)return;const i=r[0];if(r[1]E.events)),this.storageToken=Jn,this.storageTokenDocument=Jn,this.emittedEventBulkIds=new Kg(60*1e3),this.name=n,this.token=r,this.storage=i,this.instanceCreationOptions=s,this.password=o,this.multiInstance=a,this.eventReduce=l,this.options=f,this.internalStore=h,this.hashFunction=m,this.cleanupPolicy=y,this.allowSlowCount=w,this.reactivity=I,this.name!=="pseudoInstance"&&(this.internalStore=jg(this.asRxDatabase,h,zg),this.storageTokenDocument=X2(this.asRxDatabase).catch(E=>this.startupErrors.push(E)),this.storageToken=this.storageTokenDocument.then(E=>E.data.token).catch(E=>this.startupErrors.push(E)))}var e=t.prototype;return e.getReactivityFactory=function(){if(!this.reactivity)throw le("DB14",{database:this.name});return this.reactivity},e.$emit=function(r){this.emittedEventBulkIds.has(r.id)||(this.emittedEventBulkIds.add(r.id),this.eventBulks$.next(r))},e.removeCollectionDoc=async function(r,i){var s=await Xl(this.internalStore,Qa(Uy(r,i),ko));if(!s)throw le("SNH",{name:r,schema:i});var o=$g(s);o._deleted=!0,await this.internalStore.bulkWrite([{document:o,previous:s}],"rx-database-remove-collection")},e.addCollections=async function(r){var i={},s={},o=[],a={};await Promise.all(Object.entries(r).map(async([h,m])=>{var y=h,w=m.schema;i[y]=w;var I=hR(w,this.hashFunction);if(s[y]=I,this.collections[h])throw le("DB3",{name:h});var E=Uy(h,w),$={id:Qa(E,ko),key:E,context:ko,data:{name:y,schemaHash:await I.hash,schema:I.jsonSchema,version:I.version,connectedStorages:[]},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}};o.push({document:$});var S=Object.assign({},m,{name:y,schema:I,database:this}),_=$e(m);_.database=this,_.name=h,Nr("preCreateRxCollection",_),S.conflictHandler=_.conflictHandler,a[y]=S}));var l=await this.internalStore.bulkWrite(o,"rx-database-add-collection");await SN(this),await Promise.all(l.error.map(async h=>{if(h.status!==409)throw le("DB12",{database:this.name,writeError:h});var m=ye(h.documentInDb),y=m.data.name,w=s[y];if(m.data.schemaHash!==await w.hash)throw le("DB6",{database:this.name,collection:y,previousSchemaHash:m.data.schemaHash,schemaHash:await w.hash,previousSchema:m.data.schema,schema:ye(i[y])})}));var f={};return await Promise.all(Object.keys(r).map(async h=>{var m=a[h],y=await yN(m);f[h]=y,this.collections[h]=y,this[h]||Object.defineProperty(this,h,{get:()=>this.collections[h]})})),f},e.lockedRun=function(r){return this.idleQueue.wrapCall(r)},e.requestIdlePromise=function(){return this.idleQueue.requestIdlePromise()},e.exportJSON=function(r){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.backup=function(r){throw pt("backup")},e.leaderElector=function(){throw pt("leader-election")},e.isLeader=function(){throw pt("leader-election")},e.waitForLeadership=function(){throw pt("leader-election")},e.migrationStates=function(){throw pt("migration-schema")},e.destroy=async function(){return this.destroyed||(this.destroyed=!0,await No("preDestroyRxDatabase",this),this.eventBulks$.complete(),this._subs.map(r=>r.unsubscribe()),this.name==="pseudoInstance")?Jn:this.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>Promise.all(Object.keys(this.collections).map(r=>this.collections[r]).map(r=>r.destroy()))).then(()=>this.internalStore.close()).then(()=>Sd.delete(this.storage.name+"|"+this.name)).then(()=>!0)},e.remove=function(){return this.destroy().then(()=>SO(this.name,this.storage,this.password))},Vs(t,[{key:"$",get:function(){return this.observable$}},{key:"asRxDatabase",get:function(){return this}}]),t}();function wN(t,e){var n=e.name+"|"+t;if(Sd.has(n))throw le("DB8",{name:t,storage:e.name,link:"https://rxdb.info/rx-database.html#ignoreduplicate"})}async function bO(t,e,n,r,i,s){var o=await e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:V2,schema:zg,options:r,multiInstance:i,password:s,devMode:it.isDevMode()});return o}function _N({storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i=!0,eventReduce:s=!0,ignoreDuplicate:o=!1,options:a={},cleanupPolicy:l,allowSlowCount:f=!1,localDocuments:h=!1,hashFunction:m=WP,reactivity:y}){Nr("preCreateRxDatabase",{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}),o||wN(n,t),Sd.add(t.name+"|"+n);var w=su(10);return bO(w,t,n,e,i,r).catch(I=>{throw Sd.delete(t.name+"|"+n),I}).then(I=>{var E=new Wg(n,w,t,e,r,i,s,a,I,m,l,f,y);return No("createRxDatabase",{database:E,creator:{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}}).then(()=>E)})}async function SO(t,e,n){var r=su(10),i=await bO(r,e,t,{},!1,n),s=await Vg(i),o=new Set;s.forEach(l=>o.add(l.data.name));var a=Array.from(o);return await Promise.all(a.map(l=>dO(e,i,r,t,l,n))),await No("postRemoveRxDatabase",{databaseName:t,storage:e}),await i.remove(),a}function bN(t){return t instanceof Wg}async function IO(t){var e=await t.storageTokenDocument;return e.data.instanceToken===t.token}async function SN(t){if(await t.storageToken,t.startupErrors[0])throw t.startupErrors[0]}var IN={RxSchema:uE.prototype,RxDocument:kh,RxQuery:eO.prototype,RxCollection:gO.prototype,RxDatabase:Wg.prototype},pm=new Set,lb=new Set;function gi(t){if(Nr("preAddRxPlugin",{plugin:t,plugins:pm}),!pm.has(t)){{if(lb.has(t.name))throw le("PL3",{name:t.name,plugin:t});pm.add(t),lb.add(t.name)}if(!t.rxdb)throw el("PL1",{plugin:t});t.init&&t.init(),t.prototypes&&Object.entries(t.prototypes).forEach(([e,n])=>n(IN[e])),t.overwritable&&Object.assign(it,t.overwritable),t.hooks&&Object.entries(t.hooks).forEach(([e,n])=>{n.after&&xl[e].push(n.after),n.before&&xl[e].unshift(n.before)})}}function EN(t){return t&&typeof t.then=="function"}Promise.resolve(!1);var ON=Promise.resolve(!0),Mi=Promise.resolve();function mo(t,e){return t||(t=0),new Promise(function(n){return setTimeout(function(){return n(e)},t)})}function kN(t,e){return Math.floor(Math.random()*(e-t+1)+t)}function Zl(){return Math.random().toString(36).substring(2)}var mm=0;function ec(){var t=Date.now()*1e3;return t<=mm&&(t=mm+1),mm=t,t}function DN(){return typeof navigator<"u"&&typeof navigator.locks<"u"&&typeof navigator.locks.request=="function"}var xN=ec,CN="native";function AN(t){var e={time:ec(),messagesCallback:null,bc:new BroadcastChannel(t),subFns:[]};return e.bc.onmessage=function(n){e.messagesCallback&&e.messagesCallback(n.data)},e}function PN(t){t.bc.close(),t.subFns=[]}function RN(t,e){try{return t.bc.postMessage(e,!1),Mi}catch(n){return Promise.reject(n)}}function TN(t,e){t.messagesCallback=e}function MN(){if(typeof globalThis<"u"&&globalThis.Deno&&globalThis.Deno.args)return!0;if((typeof window<"u"||typeof self<"u")&&typeof BroadcastChannel=="function"){if(BroadcastChannel._pubkey)throw new Error("BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill");return!0}else return!1}function NN(){return 150}var BN={create:AN,close:PN,onMessage:TN,postMessage:RN,canBeUsed:MN,type:CN,averageResponseTime:NN,microSeconds:xN};function qg(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=JSON.parse(JSON.stringify(t));return typeof e.webWorkerSupport>"u"&&(e.webWorkerSupport=!0),e.idb||(e.idb={}),e.idb.ttl||(e.idb.ttl=1e3*45),e.idb.fallbackInterval||(e.idb.fallbackInterval=150),t.idb&&typeof t.idb.onclose=="function"&&(e.idb.onclose=t.idb.onclose),e.localstorage||(e.localstorage={}),e.localstorage.removeTimeout||(e.localstorage.removeTimeout=1e3*60),t.methods&&(e.methods=t.methods),e.node||(e.node={}),e.node.ttl||(e.node.ttl=1e3*60*2),e.node.maxParallelWrites||(e.node.maxParallelWrites=2048),typeof e.node.useFastPath>"u"&&(e.node.useFastPath=!0),e}var FN=ec,LN="pubkey.broadcast-channel-0-",qi="messages",Dh={durability:"relaxed"},$N="idb";function EO(){if(typeof indexedDB<"u")return indexedDB;if(typeof window<"u"){if(typeof window.mozIndexedDB<"u")return window.mozIndexedDB;if(typeof window.webkitIndexedDB<"u")return window.webkitIndexedDB;if(typeof window.msIndexedDB<"u")return window.msIndexedDB}return!1}function Hg(t){t.commit&&t.commit()}function jN(t){var e=EO(),n=LN+t,r=e.open(n);return r.onupgradeneeded=function(i){var s=i.target.result;s.createObjectStore(qi,{keyPath:"id",autoIncrement:!0})},new Promise(function(i,s){r.onerror=function(o){return s(o)},r.onsuccess=function(){i(r.result)}})}function UN(t,e,n){var r=Date.now(),i={uuid:e,time:r,data:n},s=t.transaction([qi],"readwrite",Dh);return new Promise(function(o,a){s.oncomplete=function(){return o()},s.onerror=function(f){return a(f)};var l=s.objectStore(qi);l.add(i),Hg(s)})}function zN(t,e){var n=t.transaction(qi,"readonly",Dh),r=n.objectStore(qi),i=[],s=IDBKeyRange.bound(e+1,1/0);if(r.getAll){var o=r.getAll(s);return new Promise(function(l,f){o.onerror=function(h){return f(h)},o.onsuccess=function(h){l(h.target.result)}})}function a(){try{return s=IDBKeyRange.bound(e+1,1/0),r.openCursor(s)}catch{return r.openCursor()}}return new Promise(function(l,f){var h=a();h.onerror=function(m){return f(m)},h.onsuccess=function(m){var y=m.target.result;y?y.value.idt.lastCursorId&&(t.lastCursorId=r.id),r}).filter(function(r){return HN(r,t)}).sort(function(r,i){return r.time-i.time});return n.forEach(function(r){t.messagesCallback&&(t.eMIs.add(r.id),t.messagesCallback(r.data))}),Mi})}function QN(t){t.closed=!0,t.db.close()}function YN(t,e){return t.writeBlockPromise=t.writeBlockPromise.then(function(){return UN(t.db,t.uuid,e)}).then(function(){kN(0,10)===0&&WN(t)}),t.writeBlockPromise}function GN(t,e,n){t.messagesCallbackTime=n,t.messagesCallback=e,kO(t)}function JN(){return!!EO()}function XN(t){return t.idb.fallbackInterval*2}var ZN={create:qN,close:QN,onMessage:GN,postMessage:YN,canBeUsed:JN,type:$N,averageResponseTime:XN,microSeconds:FN},eB=ec,tB="pubkey.broadcastChannel-",nB="localstorage";function DO(){var t;if(typeof window>"u")return null;try{t=window.localStorage,t=window["ie8-eventlistener/storage"]||window.localStorage}catch{}return t}function xO(t){return tB+t}function rB(t,e){return new Promise(function(n){mo().then(function(){var r=xO(t.channelName),i={token:Zl(),time:Date.now(),data:e,uuid:t.uuid},s=JSON.stringify(i);DO().setItem(r,s);var o=document.createEvent("Event");o.initEvent("storage",!0,!0),o.key=r,o.newValue=s,window.dispatchEvent(o),n()})})}function iB(t,e){var n=xO(t),r=function(s){s.key===n&&e(JSON.parse(s.newValue))};return window.addEventListener("storage",r),r}function sB(t){window.removeEventListener("storage",t)}function oB(t,e){if(e=qg(e),!CO())throw new Error("BroadcastChannel: localstorage cannot be used");var n=Zl(),r=new Kg(e.localstorage.removeTimeout),i={channelName:t,uuid:n,eMIs:r};return i.listener=iB(t,function(s){i.messagesCallback&&s.uuid!==n&&(!s.token||r.has(s.token)||s.data.time&&s.data.time0||t._addEL.internal.length>0}function hb(t,e,n){t._addEL[e].push(n),SB(t)}function pb(t,e,n){t._addEL[e]=t._addEL[e].filter(function(r){return r!==n}),IB(t)}function SB(t){if(!t._iL&&TO(t)){var e=function(i){t._addEL[i.type].forEach(function(s){i.time>=s.time&&s.fn(i.data)})},n=t.method.microSeconds();t._prepP?t._prepP.then(function(){t._iL=!0,t.method.onMessage(t._state,e,n)}):(t._iL=!0,t.method.onMessage(t._state,e,n))}}function IB(t){if(t._iL&&!TO(t)){t._iL=!1;var e=t.method.microSeconds();t.method.onMessage(t._state,null,e)}}function EB(t){if(typeof WorkerGlobalScope=="function"&&self instanceof WorkerGlobalScope){var e=self.close.bind(self);self.close=function(){return t(),e()}}else{if(typeof window.addEventListener!="function")return;window.addEventListener("beforeunload",function(){t()},!0),window.addEventListener("unload",function(){t()},!0)}}function OB(t){process.on("exit",function(){return t()}),process.on("beforeExit",function(){return t().then(function(){return process.exit()})}),process.on("SIGINT",function(){return t().then(function(){return process.exit()})}),process.on("uncaughtException",function(e){return t().then(function(){console.trace(e),process.exit(101)})})}var kB=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]",DB=kB?OB:EB,nl=new Set,mb=!1;function xB(){mb||(mb=!0,DB(AB))}function CB(t){if(xB(),typeof t!="function")throw new Error("Listener is no function");nl.add(t);var e={remove:function(){return nl.delete(t)},run:function(){return nl.delete(t),t()}};return e}function AB(){var t=[];return nl.forEach(function(e){t.push(e()),nl.delete(e)}),Promise.all(t)}function Do(t,e){var n={context:"leader",action:e,token:t.token};return t.broadcastChannel.postInternal(n)}function MO(t){t.isLeader=!0,t._hasLeader=!0;var e=CB(function(){return t.die()});t._unl.push(e);var n=function(i){i.context==="leader"&&i.action==="apply"&&Do(t,"tell"),i.context==="leader"&&i.action==="tell"&&!t._dpLC&&(t._dpLC=!0,t._dpL(),Do(t,"tell"))};return t.broadcastChannel.addEventListener("internal",n),t._lstns.push(n),Do(t,"tell")}var NO=function(e,n){var r=this;this.broadcastChannel=e,e._befC.push(function(){return r.die()}),this._options=n,this.isLeader=!1,this.isDead=!1,this.token=Zl(),this._lstns=[],this._unl=[],this._dpL=function(){},this._dpLC=!1,this._wKMC={},this.lN="pubkey-bc||"+e.method.type+"||"+e.name};NO.prototype={hasLeader:function(){var e=this;return navigator.locks.query().then(function(n){var r=n.held?n.held.filter(function(i){return i.name===e.lN}):[];return!!(r&&r.length>0)})},awaitLeadership:function(){var e=this;if(!this._wLMP){this._wKMC.c=new AbortController;var n=new Promise(function(r,i){e._wKMC.res=r,e._wKMC.rej=i});this._wLMP=new Promise(function(r){navigator.locks.request(e.lN,{signal:e._wKMC.c.signal},function(){return e._wKMC.c=void 0,MO(e),r(),n}).catch(function(){})})}return this._wLMP},set onduplicate(t){},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this.isLeader=!1),this.isDead=!0,this._wKMC.res&&this._wKMC.res(),this._wKMC.c&&this._wKMC.c.abort("LeaderElectionWebLock.die() called"),Do(this,"death")}};var BO=function(e,n){var r=this;this.broadcastChannel=e,this._options=n,this.isLeader=!1,this._hasLeader=!1,this.isDead=!1,this.token=Zl(),this._aplQ=Mi,this._aplQC=0,this._unl=[],this._lstns=[],this._dpL=function(){},this._dpLC=!1;var i=function(o){o.context==="leader"&&(o.action==="death"&&(r._hasLeader=!1),o.action==="tell"&&(r._hasLeader=!0))};this.broadcastChannel.addEventListener("internal",i),this._lstns.push(i)};BO.prototype={hasLeader:function(){return Promise.resolve(this._hasLeader)},applyOnce:function(e){var n=this;if(this.isLeader)return mo(0,!0);if(this.isDead)return mo(0,!1);if(this._aplQC>1)return this._aplQ;var r=function(){if(n.isLeader)return ON;var s=!1,o,a=new Promise(function(h){o=function(){s=!0,h()}}),l=function(m){m.context==="leader"&&m.token!=n.token&&(m.action==="apply"&&m.token>n.token&&o(),m.action==="tell"&&(o(),n._hasLeader=!0))};n.broadcastChannel.addEventListener("internal",l);var f=e?n._options.responseTime*4:n._options.responseTime;return Do(n,"apply").then(function(){return Promise.race([mo(f),a.then(function(){return Promise.reject(new Error)})])}).then(function(){return Do(n,"apply")}).then(function(){return Promise.race([mo(f),a.then(function(){return Promise.reject(new Error)})])}).catch(function(){}).then(function(){return n.broadcastChannel.removeEventListener("internal",l),s?!1:MO(n).then(function(){return!0})})};return this._aplQC=this._aplQC+1,this._aplQ=this._aplQ.then(function(){return r()}).then(function(){n._aplQC=n._aplQC-1}),this._aplQ.then(function(){return n.isLeader})},awaitLeadership:function(){return this._aLP||(this._aLP=PB(this)),this._aLP},set onduplicate(t){this._dpL=t},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this._hasLeader=!1,this.isLeader=!1),this.isDead=!0,Do(this,"death")}};function PB(t){return t.isLeader?Mi:new Promise(function(e){var n=!1;function r(){n||(n=!0,t.broadcastChannel.removeEventListener("internal",s),e(!0))}t.applyOnce().then(function(){t.isLeader&&r()});var i=function o(){return mo(t._options.fallbackInterval).then(function(){if(!(t.isDead||n))if(t.isLeader)r();else return t.applyOnce(!0).then(function(){t.isLeader?r():o()})})};i();var s=function(a){a.context==="leader"&&a.action==="death"&&(t._hasLeader=!1,t.applyOnce().then(function(){t.isLeader&&r()}))};t.broadcastChannel.addEventListener("internal",s),t._lstns.push(s)})}function RB(t,e){return t||(t={}),t=JSON.parse(JSON.stringify(t)),t.fallbackInterval||(t.fallbackInterval=3e3),t.responseTime||(t.responseTime=e.method.averageResponseTime(e.options)),t}function TB(t,e){if(t._leaderElector)throw new Error("BroadcastChannel already has a leader-elector");e=RB(e,t);var n=DN()?new NO(t,e):new BO(t,e);return t._befC.push(function(){return n.die()}),t._leaderElector=n,n}var Id=new Map;function MB(t,e,n,r){var i=Id.get(e);return i||(i={bc:new xh(["RxDB:",t,n].join("|")),refs:new Set},Id.set(e,i)),i.refs.add(r),i.bc}function yb(t,e){var n=Id.get(t);if(n&&(n.refs.delete(e),n.refs.size===0))return Id.delete(t),n.bc.close()}function NB(t,e,n,r){if(e.multiInstance){var i=r||MB(t,e.databaseInstanceToken,n.databaseName,n),s=new Kt,o=y=>{y.storageName===t&&y.databaseName===e.databaseName&&y.collectionName===e.collectionName&&y.version===e.schema.version&&s.next(y.eventBulk)};i.addEventListener("message",o);var a=n.changeStream(),l=!1,f=a.subscribe(y=>{l||i.postMessage({storageName:t,databaseName:e.databaseName,collectionName:e.collectionName,version:e.schema.version,eventBulk:y})});n.changeStream=function(){return s.asObservable().pipe(oT(a))};var h=n.close.bind(n);n.close=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await yb(e.databaseInstanceToken,n),h()};var m=n.remove.bind(n);n.remove=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await yb(e.databaseInstanceToken,n),m()}}}function BB(t,e){var n=e.map(r=>{var i=zi(t,r);if(!i)throw new Error("not in schema: "+r);var s=i.type,o;(s==="number"||s==="integer")&&(o=Yg(i));var a=XI(r),l=i.maxLength?i.maxLength:0,f;s==="string"?f=m=>{var y=a(m);return y||(y=""),y.padEnd(l," ")}:s==="boolean"?f=m=>{var y=a(m);return y?"1":"0"}:f=m=>{var y=a(m);return Ed(o,y)};var h={fieldName:r,schemaPart:i,parsedLengths:o,getValue:a,getIndexStringPart:f};return h});return n}function FB(t,e){var n=BB(t,e),r=n.length,i=n.map(o=>o.getIndexStringPart),s=function(o){for(var a="",l=0;l1&&(a=o[1].length),{minimum:e,maximum:n,nonDecimals:s,decimals:a,roundedMinimum:e}}function Ed(t,e){typeof e>"u"&&(e=0),et.maximum&&(e=t.maximum);var n=(Math.floor(e)-t.roundedMinimum).toString(),r=n.padStart(t.nonDecimals,"0");if(t.decimals>0){var i=e.toString().split("."),s=i.length>1?i[1]:"0";r+=s.padEnd(t.decimals,"0")}return r}function vb(t,e,n){var r="";return e.forEach((i,s)=>{var o=zi(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"?r+=a.padEnd(f," "):r+="".padEnd(f," ");break;case"boolean":if(a===null)r+="0";else if(a===li)r+="0";else if(a===Ar)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var m=Yg(o);if(a===null||a===li){var y="0";r+=y.repeat(m.nonDecimals+m.decimals)}else if(a===Ar)r+=Ed(m,m.maximum);else{var w=Ed(m,a);r+=w}break;default:throw new Error("unknown index type "+l)}}),r}function LB(t,e,n){var r="";return e.forEach((i,s)=>{var o=zi(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"&&a!==Ar?r+=a.padEnd(f," "):a===li?r+="".padEnd(f," "):r+="".padEnd(f,Ar);break;case"boolean":if(a===null)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var m=Yg(o);if(a===null||a===Ar){var y="9";r+=y.repeat(m.nonDecimals+m.decimals)}else if(a===li){var w="0";r+=w.repeat(m.nonDecimals+m.decimals)}else r+=Ed(m,a);break;default:throw new Error("unknown index type "+l)}}),r}var gb=t=>Promise.resolve(t);function wb(t,e){if(t==="_deleted")return e;e=$e(e);var n=!!e._deleted;return e[t]=n,delete e._deleted,e}function ym(t,e,n){return n.map(r=>{var i=$e(r);if(e!=="_deleted"){var s=!!i[e];i._deleted=s,delete i[e]}else i._deleted=!!i._deleted;var o=t.schema.primaryPath;return i[o]=Ws(t.schema.jsonSchema,i),i})}function _b(t,e){if(typeof window>"u"||typeof window!="object"||typeof window.addEventListener>"u"||navigator.onLine)return t.promiseWait(e);var n,r=new Promise(i=>{n=()=>{window.removeEventListener("online",n),i()},window.addEventListener("online",n)});return Promise.race([r,t.promiseWait(e)]).then(()=>{window.removeEventListener("online",n)})}var FO=new WeakMap,$B=function(){function t(n,r,i,s,o,a,l,f){this.subs=[],this.subjects={received:new Kt,sent:new Kt,error:new Kt,canceled:new Jr(!1),active:new Jr(!1)},this.received$=this.subjects.received.asObservable(),this.sent$=this.subjects.sent.asObservable(),this.error$=this.subjects.error.asObservable(),this.canceled$=this.subjects.canceled.asObservable(),this.active$=this.subjects.active.asObservable(),this.onCancel=[],this.callOnStart=void 0,this.remoteEvents$=new Kt,this.replicationIdentifier=n,this.collection=r,this.deletedField=i,this.pull=s,this.push=o,this.live=a,this.retryTime=l,this.autoStart=f;var h=Mr(FO,r,()=>[]);h.push(this),this.collection.onDestroy.push(()=>this.cancel()),Object.keys(this.subjects).forEach(y=>{Object.defineProperty(this,y+"$",{get:function(){return this.subjects[y].asObservable()}})});var m=new Promise(y=>{this.callOnStart=y});this.startPromise=m}var e=t.prototype;return e.start=async function(){if(!this.isStopped()){var r=this.pull&&this.pull.modifier?this.pull.modifier:gb,i=this.push&&this.push.modifier?this.push.modifier:gb,s=this.collection.database,o="rx-replication-meta-"+await s.hashFunction([this.collection.name,this.replicationIdentifier].join("-")),a=Ky(this.collection.schema.jsonSchema,vd(this.collection.schema.jsonSchema)),[l]=await Promise.all([this.collection.database.storage.createStorageInstance({databaseName:s.name,collectionName:o,databaseInstanceToken:s.token,multiInstance:s.multiInstance,options:{},schema:a,password:s.password,devMode:it.isDevMode()}),fO(this.collection,o,a)]);this.metaInstance=l,this.internalReplicationState=pO({pushBatchSize:this.push&&this.push.batchSize?this.push.batchSize:100,pullBatchSize:this.pull&&this.pull.batchSize?this.pull.batchSize:100,initialCheckpoint:{upstream:this.push?this.push.initialCheckpoint:void 0,downstream:this.pull?this.pull.initialCheckpoint:void 0},forkInstance:this.collection.storageInstance,metaInstance:this.metaInstance,hashFunction:s.hashFunction,identifier:"rxdbreplication"+this.replicationIdentifier,conflictHandler:this.collection.conflictHandler,replicationHandler:{masterChangeStream$:this.remoteEvents$.asObservable().pipe(lt(f=>!!this.pull),Br(async f=>{if(f==="RESYNC")return f;var h=$e(f);return h.documents=ym(this.collection,this.deletedField,h.documents),h.documents=await Promise.all(h.documents.map(m=>r(m))),h})),masterChangesSince:async(f,h)=>{if(!this.pull)return{checkpoint:null,documents:[]};for(var m=!1,y={};!m&&!this.isStopped();)try{y=await this.pull.handler(f,h),m=!0}catch(E){var w=le("RC_PULL",{checkpoint:f,errors:Ua(E).map($=>ky($)),direction:"pull"});this.subjects.error.next(w),await _b(this.collection,ye(this.retryTime))}if(this.isStopped())return{checkpoint:null,documents:[]};var I=$e(y);return I.documents=ym(this.collection,this.deletedField,I.documents),I.documents=await Promise.all(I.documents.map(E=>r(E))),I},masterWrite:async f=>{if(!this.push)return[];var h=!1;await No("preReplicationMasterWrite",{rows:f,collection:this.collection});var m=await Promise.all(f.map(async $=>($.newDocumentState=await i($.newDocumentState),$.newDocumentState===null?null:($.assumedMasterState&&($.assumedMasterState=await i($.assumedMasterState)),this.deletedField!=="_deleted"&&($.newDocumentState=wb(this.deletedField,$.newDocumentState),$.assumedMasterState&&($.assumedMasterState=wb(this.deletedField,$.assumedMasterState))),$)))),y=m.filter(JI),w=null;for(y.length===0&&(h=!0,w=[]);!h&&!this.isStopped();)try{if(w=await this.push.handler(y),!Array.isArray(w))throw le("RC_PUSH_NO_AR",{pushRows:f,direction:"push",args:{result:w}});h=!0}catch($){var I=$.rxdb?$:le("RC_PUSH",{pushRows:f,errors:Ua($).map(S=>ky(S)),direction:"push"});this.subjects.error.next(I),await _b(this.collection,ye(this.retryTime))}if(this.isStopped())return[];await No("preReplicationMasterWriteDocumentsHandle",{result:w,collection:this.collection});var E=ym(this.collection,this.deletedField,ye(w));return E}}}),this.subs.push(this.internalReplicationState.events.error.subscribe(f=>{this.subjects.error.next(f)}),this.internalReplicationState.events.processed.down.subscribe(f=>this.subjects.received.next(f.document)),this.internalReplicationState.events.processed.up.subscribe(f=>{this.subjects.sent.next(f.newDocumentState)}),AE([this.internalReplicationState.events.active.down,this.internalReplicationState.events.active.up]).subscribe(([f,h])=>{var m=f||h;this.subjects.active.next(m)})),this.pull&&this.pull.stream$&&this.live&&this.subs.push(this.pull.stream$.subscribe({next:f=>{this.remoteEvents$.next(f)},error:f=>{this.subjects.error.next(f)}})),this.live||(await Tf(this.internalReplicationState),await ab(this.internalReplicationState),await this.cancel()),this.callOnStart()}},e.isStopped=function(){return!!this.subjects.canceled.getValue()},e.awaitInitialReplication=async function(){return await this.startPromise,Tf(ye(this.internalReplicationState))},e.awaitInSync=async function(){await this.startPromise,await Tf(ye(this.internalReplicationState));for(var r=2;r>0;)r--,await this.collection.database.requestIdlePromise(),await ab(ye(this.internalReplicationState));return!0},e.reSync=function(){this.remoteEvents$.next("RESYNC")},e.emitEvent=function(r){this.remoteEvents$.next(r)},e.cancel=async function(){if(this.isStopped())return Jn;var r=this.onCancel.map(i=>ZI(i()));return this.internalReplicationState&&await mO(this.internalReplicationState),this.metaInstance&&r.push(ye(this.internalReplicationState).checkpointQueue.then(()=>ye(this.metaInstance).close())),this.subs.forEach(i=>i.unsubscribe()),this.subjects.canceled.next(!0),this.subjects.active.complete(),this.subjects.canceled.complete(),this.subjects.error.complete(),this.subjects.received.complete(),this.subjects.sent.complete(),Promise.all(r)},t}(),Fr;(function(t){function e(U){return Array.isArray(U)?U.slice():t.isObject(U)?{...U}:U}t.clone=e;function n(U){let ee=r(U);return Array.isArray(U)&&(ee=ee.filter(ce=>ce!=="length")),ee}t.keys=n;function r(U){return U?Object.getOwnPropertyNames(U):[]}t.keysOfNonArray=r;function i(U,ee){return a(n(U),ce=>ee(U[ce],ce)),U}t.forOwn=i;function s(U,ee){return a(r(U),ce=>ee(U[ce],ce)),U}t.forOwnOfNonArray=s;function o(U,ee){return Array.isArray(U)?a(U,ee):s(U,ee),U}t.forEach=o;function a(U,ee){for(let ce=0,de=U.length;ce{const ot=U[Pe];ot instanceof Object&&(de=l(e(ot),de)),U[Pe]=de});return U}t.merge=l;function f(U){return Array.isArray(U)||(U=r(U)),U.length===0}t.isEmpty=f,t.isFunction=U=>typeof U=="function",t.isUndefined=U=>U===void 0||U==="undefined";function h(U){return U==null||U==="undefined"||U==="null"}t.isNullOrUndefined=h,t.isObject=U=>Object.prototype.toString.call(U)==="[object Object]",t.isEmptyObject=U=>h(U)||t.isObject(U)&&f(U);function m(){return typeof globalThis.ngDevMode>"u"||!!globalThis.ngDevMode}t.isDevMode=m;function y(U){return typeof U=="number"&&!isNaN(U)}t.isValidNumber=y;function w(){}t.noop=w;function I(U){return U}t.identity=I;function E(U,ee){const ce=[];for(let de=0;deU+ce*de)}t.range=$;function S(U){return t.isObject(U)?U._id:String(U)}t.getMaybeId=S;function _(U){return U.filter(I)}t.compact=_;function O(U){return f(U)?U:Array.isArray(U)?_(U):Object.entries(U).filter(([,ee])=>!h(ee)&&!f(ee)).reduce((ee,[ce,de])=>({...ee,[ce]:de}),{})}t.compactObject=O;function z(){var U;return(U=localStorage.debug)==null?void 0:U.includes("@ngx-odm/rxdb")}t.isDevModeForced=z;function W(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}t.isTestEnvironment=W,t.logger={log:function(){const U="#8d2089";return W()||!m()||!z()?w:console.log.bind(console,"%c[DEBUG::@ngx-odm/rxdb]",`background:${U};color:#fff;padding:2px;font-size:normal;`)}(),table:function(){return W()||!m()||!z()?w:console.table.bind(console)}()};function Q(U="Event"){return function(ce){return m()?ce.pipe(Cy({next(de){t.logger.log(`observable:${U}:next:`,de)},error(de){t.logger.log(`observable:${U}:error:`,de.message)},complete(){t.logger.log(`observable:${U}:complete`)}})):ce}}t.debug=Q;function H(U=3,ee=1e4){return ce=>ce.pipe(aT({count:U,delay:(de,Pe)=>{const ot=Math.pow(2,Pe-1)*ee;return t.logger.log("replication:kinto:longpoll:retry",Pe,ot),IE(ot)}}))}t.retryWithBackoff=H,t.tapOnce=U=>ee=>Ay(()=>(U(),ee)),t.deferUntil=U=>ee=>Ay(()=>U.pipe(Cl(()=>ee))),t.getDefaultQuery=()=>({selector:{_deleted:{$eq:!1}},skip:0,sort:[{id:"asc"}]});const X={properties:{id:{type:"string"},_deleted:{type:"boolean"}},primaryKey:"id",indexes:[["_deleted","id"]]};t.getDefaultQuery(),t.getDefaultPreparedQuery=()=>Jl(X,t.getDefaultQuery())})(Fr||(Fr={}));const LO=()=>typeof window=="object"&&"fetch"in window?window.fetch.bind(window):fetch;function bb(t){return t&&t instanceof $B}function Sb(t=!1){return Mt(e=>(Array.isArray(e)?e:[...e.values()]).map(n=>{const r={...n._data};return t||(delete r._rev,delete r._attachments,delete r._deleted,delete r._meta),r}))}const{debug:jB,isEmptyObject:UB,isFunction:zB}=Fr;function VB(t){return!UB(t)&&zB(t.run)}function Bu(t){return VB(t)?e=>new Ot(n=>e.subscribe(r=>t.run(()=>n.next(r)),r=>t.run(()=>n.error(r)),()=>t.run(()=>n.complete()))):e=>e}function tc(){return function(t,e,n){const r=n.value;return n.value=function(...i){return Ay(()=>this.initialized$.pipe(Cl(()=>r.apply(this,i)),jB(`collection.${e}`)))},n}}function kt(){return function(t,e,n){const r=n.value;return n.value=async function(...i){return await fT(this.initialized$).catch(()=>{throw new Error(`Collection "${this.config.name}" was not initialized. Please check RxDB errors.`)}),r.apply(this,i)},n}}var Ib,Eb,Ob,kb,Db,xb;const{getMaybeId:KB,logger:vm,debug:WB,noop:qB}=Fr;class Je{get initialized$(){return this._init$.asObservable()}get collection(){return this._collection}get db(){return this.dbService.db}get dbOptions(){return this.dbService.dbOptions}get replicationState(){return this._replicationState}get queryParams$(){var e;return(e=this.config.options)!=null&&e.useQueryParams?this.initialized$.pipe(Cl(()=>this.collection.queryParams.$)):im({})}constructor(e,n,r={},i=im(""),s=qB){this.config=e,this.dbService=n,this.ngZone=r,this.currentUrl$=i,this.updateQueryParamsFn=s,this._replicationState=null,this._init$=new TE,this.init(e)}destroy(){var e;(e=this.collection)==null||e.destroy()}setQueryParams(e){var n;(n=this.collection.queryParams)==null||n.set(e)}patchQueryParams(e){var n;(n=this.collection.queryParams)==null||n.patch(e)}async sync(){var e;if(bb(this.replicationState)){this.replicationState.reSync();return}if(typeof((e=this.config.options)==null?void 0:e.replicationStateFactory)=="function"){try{this._replicationState=this.config.options.replicationStateFactory(this.collection)}catch(n){vm.log("replicationState has error, ignore replication"),vm.log(n.message)}if(bb(this.replicationState))return this.replicationState.autoStart||this.replicationState.reSync(),Py(window,"online").pipe(WB("online"),ME(()=>!this.replicationState.isStopped())).subscribe(()=>{this._replicationState.reSync()}),this.replicationState.startPromise}}async info(){return this.collection.getMetadata()}async import(e){const n=await this.collection.schema.hash,r={name:this.collection.name,schemaHash:n,docs:e};this.collection.importJSON(r)}async export(){return this.collection.exportJSON()}docs(e,n=!1){return(cT(e)?e:im(e)).pipe(Cl(r=>this.collection.find(r).$),Sb(n),Bu(this.ngZone),Pi(Ai))}docsByIds(e,n=!1){return this.collection.findByIds(e).$.pipe(Sb(n),Bu(this.ngZone),Pi(Ai))}count(e){return this.collection.count(e).$.pipe(Bu(this.ngZone),Pi(Ai))}get(e,n=!1){return this.collection.findOne(e).$.pipe(Mt(r=>r?r.toMutableJSON(n):null),Bu(this.ngZone),Pi(Ai))}async insert(e){return this.collection.insert(e)}async insertBulk(e){return this.collection.bulkInsert(e)}async upsert(e){return this.collection.upsert(e)}async upsertBulk(e){return this.collection.bulkUpsert(e)}async set(e,n){return this.collection.findOne(e).update({$set:n})}async updateBulk(e,n){return this.collection.find(e).update({$set:n})}async remove(e){const n=KB(e);return this.collection.findOne(n).remove()}async removeBulk(e){return Array.isArray(e)?this.collection.bulkRemove(e):{success:[...(await this.collection.find(e).remove().catch(()=>new Map)).values()],error:[]}}async clear(){return this.collection.remove()}async getAttachments(e){const n=await this.collection.findOne(e).exec();if(!n)return null;const r=n.allAttachments().map(i=>i.getData());return Promise.all(r)}async getAttachmentById(e,n){const r=await this.collection.findOne(e).exec();if(!r)return null;const i=r.getAttachment(n);return i?i.getData():null}async putAttachment(e,n){const r=await this.collection.findOne(e).exec();r&&await r.putAttachment(n)}async removeAttachment(e,n){const r=await this.collection.findOne(e).exec();if(!r)return;const i=r.getAttachment(n);i&&await i.remove()}async addHook(e,n,r=!1){this.collection[e](n,r)}async getLocal(e,n){const r=await this.collection.getLocal(e);return r?n?r==null?void 0:r.get(n):r==null?void 0:r.toJSON().data:null}getLocal$(e,n){return this.collection.getLocal$(e).pipe(Mt(r=>r?n?r.get(n):r.toJSON().data:null),Fo(),Bu(this.ngZone))}async insertLocal(e,n){await this.collection.insertLocal(e,n)}async upsertLocal(e,n){await this.collection.upsertLocal(e,n)}async setLocal(e,n,r){var s,o;const i=await this.collection.getLocal(e);await this.collection.upsertLocal(e,{...((o=(s=i==null?void 0:i.toJSON)==null?void 0:s.call(i))==null?void 0:o.data)||{},[n]:r})}async removeLocal(e){const n=await this.collection.getLocal(e);await(n==null?void 0:n.remove())}async init(e){var i,s,o,a;const{name:n,options:r}=e;try{await this.dbService.initCollections({[n]:e}),this._collection=this.db.collections[n],r!=null&&r.useQueryParams&&this.collection.queryParamsInit(this.currentUrl$,this.updateQueryParamsFn),this._init$.next(!0),this._init$.complete()}catch(l){if(l.message.includes("DM5")||l.message.includes("DB6")&&((i=l.parameters.previousSchema)==null?void 0:i.version)===((s=l.parameters.schema)==null?void 0:s.version))vm.log("Reload the page to fix the issue. The database is in a state where it can not be used."),await SO(this.db.name,this.db.storage),(a=(o=window==null?void 0:window.location)==null?void 0:o.reload)==null||a.call(o);else throw this._init$.complete(),l}}}tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"sync",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"info",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"import",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"export",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Ot)],Je.prototype,"docs",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Array,Object]),re("design:returntype",Ot)],Je.prototype,"docsByIds",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Ot)],Je.prototype,"count",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Ot)],Je.prototype,"get",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"insert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"insertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"upsert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"upsertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"set",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Promise)],Je.prototype,"updateBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"remove",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"removeBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"clear",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"getAttachments",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"getAttachmentById",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"putAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"removeAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[typeof(Ib=typeof Hook<"u"&&Hook)=="function"?Ib:Object,Object,Object]),re("design:returntype",Promise)],Je.prototype,"addHook",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Eb=typeof K<"u"&&K)=="function"?Eb:Object]),re("design:returntype",Promise)],Je.prototype,"getLocal",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[String,typeof(Ob=typeof K<"u"&&K)=="function"?Ob:Object]),re("design:returntype",Ot)],Je.prototype,"getLocal$",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(kb=typeof L<"u"&&L)=="function"?kb:Object]),re("design:returntype",Promise)],Je.prototype,"insertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Db=typeof L<"u"&&L)=="function"?Db:Object]),re("design:returntype",Promise)],Je.prototype,"upsertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(xb=typeof K<"u"&&K)=="function"?xb:Object,Object]),re("design:returntype",Promise)],Je.prototype,"setLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"removeLocal",null);var $O={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(vw,function(){var n=function(u,c){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,p){d.__proto__=p}||function(d,p){for(var v in p)Object.prototype.hasOwnProperty.call(p,v)&&(d[v]=p[v])})(u,c)},r=function(){return(r=Object.assign||function(u){for(var c,d=1,p=arguments.length;d"u"||s.Promise||(s.Promise=Promise);var f=Object.getPrototypeOf,h={}.hasOwnProperty;function m(u,c){return h.call(u,c)}function y(u,c){typeof c=="function"&&(c=c(f(u))),(typeof Reflect>"u"?o:Reflect.ownKeys)(c).forEach(function(d){I(u,d,c[d])})}var w=Object.defineProperty;function I(u,c,d,p){w(u,c,l(d&&m(d,"get")&&typeof d.get=="function"?{get:d.get,set:d.set,configurable:!0}:{value:d,configurable:!0,writable:!0},p))}function E(u){return{from:function(c){return u.prototype=Object.create(c.prototype),I(u.prototype,"constructor",u),{extend:y.bind(null,u.prototype)}}}}var $=Object.getOwnPropertyDescriptor,S=[].slice;function _(u,c,d){return S.call(u,c,d)}function O(u,c){return c(u)}function z(u){if(!u)throw new Error("Assertion Failed")}function W(u){s.setImmediate?setImmediate(u):setTimeout(u,0)}function Q(u,c){if(typeof c=="string"&&m(u,c))return u[c];if(!c)return u;if(typeof c!="string"){for(var d=[],p=0,v=c.length;p"u"?[]:function(){var u=Promise.resolve();if(typeof crypto>"u"||!crypto.subtle)return[u,f(u),u];var c=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[c,f(c),u]}(),mu=Ur[0],lr=Ur[1],Ur=Ur[2],lr=lr&&lr.then,yu=mu&&mu.constructor,Kh=!!Ur,vu=function(u,c){gu.push([u,c]),pc&&(queueMicrotask(xx),pc=!1)},Wh=!0,pc=!0,Js=[],mc=[],qh=hu,Zi={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:et,pgp:!1,env:{},finalize:et},fe=Zi,gu=[],Xs=0,yc=[];function se(u){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var c=this._PSD=fe;if(typeof u!="function"){if(u!==pu)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(this._state===!1&&Qh(this,this._value))}this._state=null,this._value=null,++c.ref,function d(p,v){try{v(function(g){if(p._state===null){if(g===p)throw new TypeError("A promise cannot be resolved with itself.");var b=p._lib&&Ho();g&&typeof g.then=="function"?d(p,function(k,A){g instanceof se?g._then(k,A):g.then(k,A)}):(p._state=!0,p._value=g,V0(p)),b&&Qo()}},Qh.bind(null,p))}catch(g){Qh(p,g)}}(this,u)}var Hh={get:function(){var u=fe,c=_c;function d(p,v){var g=this,b=!u.global&&(u!==fe||c!==_c),k=b&&!ts(),A=new se(function(x,M){Yh(g,new z0(W0(p,u,b,k),W0(v,u,b,k),x,M,u))});return this._consoleTask&&(A._consoleTask=this._consoleTask),A}return d.prototype=pu,d},set:function(u){I(this,"then",u&&u.prototype===pu?Hh:{get:function(){return u},set:Hh.set})}};function z0(u,c,d,p,v){this.onFulfilled=typeof u=="function"?u:null,this.onRejected=typeof c=="function"?c:null,this.resolve=d,this.reject=p,this.psd=v}function Qh(u,c){var d,p;mc.push(c),u._state===null&&(d=u._lib&&Ho(),c=qh(c),u._state=!1,u._value=c,p=u,Js.some(function(v){return v._value===p._value})||Js.push(p),V0(u),d&&Qo())}function V0(u){var c=u._listeners;u._listeners=[];for(var d=0,p=c.length;d.",q0="String expected.",Go=[],Sc="__dbnames",Xh="readonly",Zh="readwrite";function to(u,c){return u?c?function(){return u.apply(this,arguments)&&c.apply(this,arguments)}:u:c}var H0={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Ic(u){return typeof u!="string"||/\./.test(u)?function(c){return c}:function(c){return c[u]===void 0&&u in c&&delete(c=Pe(c))[u],c}}function Q0(){throw pe.Type()}function je(u,c){try{var d=Y0(u),p=Y0(c);if(d!==p)return d==="Array"?1:p==="Array"?-1:d==="binary"?1:p==="binary"?-1:d==="string"?1:p==="string"?-1:d==="Date"?1:p!=="Date"?NaN:-1;switch(d){case"number":case"Date":case"string":return cj+V&&F(j+C)})})}return F(0).then(function(){if(0=C})).length!==0?(M.forEach(function(F){B.push(function(){var j=R,V=F._cfg.dbschema;Pc(D,j,T),Pc(D,V,T),R=D._dbSchema=V;var q=up(j,V);q.add.forEach(function(te){lp(T,te[0],te[1].primKey,te[1].indexes)}),q.change.forEach(function(te){if(te.recreate)throw new pe.Upgrade("Not yet support for changing primary key");var he=T.objectStore(te.name);te.add.forEach(function(me){return Cc(he,me)}),te.change.forEach(function(me){he.deleteIndex(me.name),Cc(he,me)}),te.del.forEach(function(me){return he.deleteIndex(me)})});var Y=F._cfg.contentUpgrade;if(Y&&F._cfg.version>C){Dc(D,T),P._memoizedTables={};var ne=X(V);q.del.forEach(function(te){ne[te]=j[te]}),ap(D,[D.Transaction.prototype]),xc(D,[D.Transaction.prototype],o(ne),ne),P.schema=ne;var J,ie=Re(Y);return ie&&Yo(),q=se.follow(function(){var te;(J=Y(P))&&ie&&(te=ts.bind(null,null),J.then(te,te))}),J&&typeof J.then=="function"?se.resolve(J):q.then(function(){return J})}}),B.push(function(j){var V,q,Y=F._cfg.dbschema;V=Y,q=j,[].slice.call(q.db.objectStoreNames).forEach(function(ne){return V[ne]==null&&q.db.deleteObjectStore(ne)}),ap(D,[D.Transaction.prototype]),xc(D,[D.Transaction.prototype],D._storeNames,D._dbSchema),P.schema=D._dbSchema}),B.push(function(j){D.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(D.idbdb.version/10)===F._cfg.version?(D.idbdb.deleteObjectStore("$meta"),delete D._dbSchema.$meta,D._storeNames=D._storeNames.filter(function(V){return V!=="$meta"})):j.objectStore("$meta").put(F._cfg.version,"version"))})}),function F(){return B.length?se.resolve(B.shift()(P.idbtrans)).then(F):se.resolve()}().then(function(){iw(R,T)})):se.resolve();var D,C,P,T,B,R}).catch(b)):(o(v).forEach(function(M){lp(d,M,v[M].primKey,v[M].indexes)}),Dc(u,d),void se.follow(function(){return u.on.populate.fire(g)}).catch(b));var A,x})}function Ux(u,c){iw(u._dbSchema,c),c.db.version%10!=0||c.objectStoreNames.contains("$meta")||c.db.createObjectStore("$meta").add(Math.ceil(c.db.version/10-1),"version");var d=Ac(0,u.idbdb,c);Pc(u,u._dbSchema,c);for(var p=0,v=up(d,u._dbSchema).change;pMath.pow(2,62)?0:R.oldVersion,D=R<1,u.idbdb=B.result,g&&Ux(u,M),jx(u,R/10,M,P))},P),B.onsuccess=vt(function(){M=null;var R,F,j,V,q,Y=u.idbdb=B.result,ne=_(Y.objectStoreNames);if(0"u"?se.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(C){function P(){return indexedDB.databases().finally(C)}A=setInterval(P,100),P()}).finally(function(){return clearInterval(A)}):Promise.resolve()).then(k)]).then(function(){return b(),c.onReadyBeingFired=[],se.resolve(dp(function(){return u.on.ready.fire(u.vip)})).then(function C(){if(0c.limit?C.length=c.limit:u.length===c.limit&&C.length=F.limit&&(!F.values||Y.req.values)&&Qx(Y.req.query.range,F.query.range)}),!1,j,V];case"count":return q=V.find(function(Y){return pw(Y.req.query.range,F.query.range)}),[q,!!q,j,V]}}(c,d,"query",g),M=x[0],D=x[1],C=x[2],P=x[3];return M&&D?M.obsSet=g.obsSet:(D=p.query(g).then(function(T){var B=T.result;if(M&&(M.res=B),b){for(var R=0,F=B.length;R{var o=(async()=>{var a=$e(n);a.autoOpen=!1;var l=new Qy(i,a),f={[Od]:XB(r),[QB]:"++sequence, id",[Ab]:"id"};return l.version(1).stores(f),await l.open(),{dexieDb:l,dexieTable:l[Od],dexieAttachmentsTable:l[Ab],booleanIndexes:ZB(r)}})();return Pb.set(i,s),Mf.set(s,0),o});return s}async function GB(t){var e=await t,n=Mf.get(t),r=n-1;r===0?(e.dexieDb.close(),Mf.delete(t)):Mf.set(t,r)}var Yy="__";function nc(t){var e=t.split(".");if(e.length>1)return e.map(r=>nc(r)).join(".");if(t.startsWith("|")){var n=t.substring(1);return Yy+n}else return t}function UO(t){var e=t.split(".");if(e.length>1)return e.map(r=>UO(r)).join(".");if(t.startsWith(Yy)){var n=t.substring(Yy.length);return"|"+n}else return t}function JB(t,e){return e&&(e=$e(e),e=Gy(e),t.forEach(n=>{var r=Ts(e,n),i=r?"1":"0";rE(e,n,i)}),e)}function zO(t,e){return e&&(e=$e(e),e=Jy(e),t.forEach(n=>{var r=Ts(e,n),i=r==="1";rE(e,n,i)}),e)}function Gy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Gy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{typeof r=="object"&&(r=Gy(r)),e[nc(n)]=r}),e}}function Jy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Jy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{(typeof r=="object"||Array.isArray(t))&&(r=Jy(r)),e[UO(n)]=r}),e}}function XB(t){var e=[],n=Fn(t.primaryKey);e.push([n]),e.push(["_deleted",n]),t.indexes&&t.indexes.forEach(s=>{var o=Ua(s);e.push(o)}),e.push(["_meta.lwt",n]),e.push(["_meta.lwt"]),e=e.map(s=>s.map(o=>nc(o)));var r=e.map(s=>s.length===1?s[0]:"["+s.join("+")+"]");r=r.filter((s,o,a)=>a.indexOf(s)===o);var i=r.join(", ");return i}async function Rb(t,e){var n=await t,r=await n.dexieTable.bulkGet(e);return r.map(i=>zO(n.booleanIndexes,i))}function of(t,e){return t+"||"+e}function ZB(t){var e=new Set,n=[];return t.indexes?(t.indexes.forEach(r=>{var i=Ua(r);i.forEach(s=>{if(!e.has(s)){e.add(s);var o=zi(t,s);o.type==="boolean"&&n.push(s)}})}),n.push("_deleted"),AP(n)):n}function Tb(t){return t===li?-1/0:t}function Mb(t,e,n){if(t.includes(e)){var r=n===Ar||n===!0?"1":"0";return r}else return n}function VO(t,e,n){if(!n){if(typeof window>"u")throw new Error("IDBKeyRange missing");n=window.IDBKeyRange}var r=e.startKeys.map((o,a)=>{var l=e.index[a];return Mb(t,l,o)}).map(Tb),i=e.endKeys.map((o,a)=>{var l=e.index[a];return Mb(t,l,o)}).map(Tb),s=n.bound(r,i,!e.inclusiveStart,!e.inclusiveEnd);return s}async function Nb(t,e){var n=await t.internals,r=e.query,i=r.skip?r.skip:0,s=r.limit?r.limit:1/0,o=i+s,a=e.queryPlan,l=!1;a.selectorSatisfiedByIndex||(l=Oh(t.schema,e.query));var f=VO(n.booleanIndexes,a,n.dexieDb._options.IDBKeyRange),h=a.index,m=[];if(await n.dexieDb.transaction("r",n.dexieTable,async w=>{var I=w.idbtrans,E=I.objectStore(Od),$,S;S="["+h.map(O=>nc(O)).join("+")+"]",$=E.index(S);var _=$.openCursor(f);await new Promise(O=>{_.onsuccess=function(z){var W=z.target.result;if(W){var Q=zO(n.booleanIndexes,W.value);(!l||l(Q))&&m.push(Q),a.sortSatisfiedByIndex&&m.length===o?O():W.continue()}else O()}})}),!a.sortSatisfiedByIndex){var y=Lg(t.schema,e.query);m=m.sort(y)}return m=m.slice(i,o),{documents:m}}async function eF(t,e){var n=await t.internals,r=e.queryPlan,i=r.index,s=VO(n.booleanIndexes,r,n.dexieDb._options.IDBKeyRange),o=-1;return await n.dexieDb.transaction("r",n.dexieTable,async a=>{var l=a.idbtrans,f=l.objectStore(Od),h,m;m="["+i.map(w=>nc(w)).join("+")+"]",h=f.index(m);var y=h.count(s);o=await new Promise((w,I)=>{y.onsuccess=function(){w(y.result)},y.onerror=E=>I(E)})}),o}var tF=Ft(),nF=function(){function t(n,r,i,s,o,a,l){this.changes$=new Kt,this.instanceId=tF++,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,this.primaryPath=Fn(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=async function(r,i){oo(this),r.forEach(h=>{if(!h.document._rev||h.previous&&!h.previous._rev)throw le("SNH",{args:{row:h}})});var s=await this.internals,o={success:[],error:[]},a=r.map(h=>h.document[this.primaryPath]),l;if(await s.dexieDb.transaction("rw",s.dexieTable,s.dexieAttachmentsTable,async()=>{var h=new Map,m=await Rb(this.internals,a);m.forEach(I=>{var E=I;return E&&h.set(E[this.primaryPath],E),E}),l=iO(this,this.primaryPath,h,r,i),o.error=l.errors;var y=[];l.bulkInsertDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),l.bulkUpdateDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),y=y.map(I=>JB(s.booleanIndexes,I)),y.length>0&&await s.dexieTable.bulkPut(y);var w=[];l.attachmentsAdd.forEach(I=>{w.push({id:of(I.documentId,I.attachmentId),data:I.attachmentData.data})}),l.attachmentsUpdate.forEach(I=>{w.push({id:of(I.documentId,I.attachmentId),data:I.attachmentData.data})}),await s.dexieAttachmentsTable.bulkPut(w),await s.dexieAttachmentsTable.bulkDelete(l.attachmentsRemove.map(I=>of(I.documentId,I.attachmentId)))}),l=ye(l),l.eventBulk.events.length>0){var f=ye(l.newestRow).document;l.eventBulk.checkpoint={id:f[this.primaryPath],lwt:f._meta.lwt},l.eventBulk.endTime=Ft(),this.changes$.next(l.eventBulk)}return o},e.findDocumentsById=async function(r,i){oo(this);var s=await this.internals,o=[];return await s.dexieDb.transaction("r",s.dexieTable,async()=>{var a=await Rb(this.internals,r);a.forEach(l=>{l&&(!l._deleted||i)&&o.push(l)})}),o},e.query=function(r){return oo(this),Nb(this,r)},e.count=async function(r){if(r.queryPlan.selectorSatisfiedByIndex){var i=await eF(this,r);return{count:i,mode:"fast"}}else{var s=await Nb(this,r);return{count:s.documents.length,mode:"slow"}}},e.changeStream=function(){return oo(this),this.changes$.asObservable()},e.cleanup=async function(r){oo(this);var i=await this.internals;return await i.dexieDb.transaction("rw",i.dexieTable,async()=>{var s=Ft()-r,o=await i.dexieTable.where("_meta.lwt").below(s).toArray(),a=[];o.forEach(l=>{l._deleted==="1"&&a.push(l[this.primaryPath])}),await i.dexieTable.bulkDelete(a)}),!0},e.getAttachmentData=async function(r,i,s){oo(this);var o=await this.internals,a=of(r,i);return await o.dexieDb.transaction("r",o.dexieAttachmentsTable,async()=>{var l=await o.dexieAttachmentsTable.get(a);if(l)return l.data;throw new Error("attachment missing documentId: "+r+" attachmentId: "+i)})},e.remove=async function(){oo(this);var r=await this.internals;return await r.dexieTable.clear(),this.close()},e.close=function(){return this.closed?this.closed:(this.closed=(async()=>{this.changes$.complete(),await GB(this.internals)})(),this.closed)},e.conflictResultionTasks=function(){return new Kt},e.resolveConflictResultionTask=async function(r){},t}();async function rF(t,e,n){var r=YB(e.databaseName,e.collectionName,n,e.schema),i=new nF(t,e.databaseName,e.collectionName,e.schema,r,e.options,n);return await NB(jO,e,i),Promise.resolve(i)}function oo(t){if(t.closed)throw new Error("RxStorageInstanceDexie is closed "+t.databaseName+"-"+t.collectionName)}var iF=function(){function t(n){this.name=jO,this.rxdbVersion=gg,this.settings=n}var e=t.prototype;return e.createStorageInstance=function(r){return sO(r),rF(this,r,this.settings)},t}();function sF(t={}){var e=new iF(t);return e}function oF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>=0?(s=o,i=o-1):r=o+1}return s}function aF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>0?(s=o,i=o-1):r=o+1}return s}function uF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<0?(s=o,r=o+1):i=o-1}return s}function lF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<=0?(s=o,r=o+1):i=o-1}return s}function cF(t,e,n,r,i){for(;r<=i;){var s=r+i>>>1,o=t[s],a=n!==void 0?n(o,e):o-e;if(a===0)return s;a<=0?r=s+1:i=s-1}return-1}function rc(t,e,n,r,i,s){return typeof n=="function"?s(t,e,n,r===void 0?0:r|0,i===void 0?t.length-1:i|0):s(t,e,void 0,n===void 0?0:n|0,r===void 0?t.length-1:r|0)}function fF(t,e,n,r,i){return rc(t,e,n,r,i,oF)}function Bb(t,e,n,r,i){return rc(t,e,n,r,i,aF)}function dF(t,e,n,r,i){return rc(t,e,n,r,i,uF)}function hF(t,e,n,r,i){return rc(t,e,n,r,i,lF)}function KO(t,e,n,r,i){return rc(t,e,n,r,i,cF)}function WO(t,e,n){return[t,e,n].join("--memory--")}function af(t){if(t.internals.removed)throw new Error("removed")}function uf(t,e){return t+"||"+e}function pF(t,e){return t.indexString{var o=s.docsWithIndex,a=s.getIndexableString(r),l=KO(o,{indexString:a},rl);o.splice(l,1)})}function rl(t,e){var n=t.indexString,r=e.indexString;return nUa(i)):[];r.push(["_deleted","_meta.lwt",n]),r.forEach(i=>{t.byIndex[Xy(i)]={index:i,docsWithIndex:[],getIndexableString:FB(e,i)}})}function Xy(t){return t.join(",")}var Lb=new Set,vF=function(){function t(n,r,i,s,o,a,l){this.closed=!1,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,Lb.add(this),this.primaryPath=Fn(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=function(r,i){this.ensurePersistence(),af(this);for(var s=this.internals,o=this.internals.documents,a=this.primaryPath,l=iO(this,a,o,r,i),f=l.errors,h=new Array(l.bulkInsertDocs.length),m=l.bulkInsertDocs,y=0;y{this.internals.ensurePersistenceIdlePromise=void 0,this.ensurePersistence()})),l.eventBulk.events.length>0){var O=ye(l.newestRow).document;l.eventBulk.checkpoint={id:O[a],lwt:O._meta.lwt},l.eventBulk.endTime=Ft(),dd.then(()=>{s.changes$.next(l.eventBulk)})}var z=Promise.resolve({success:h,error:f});return z},e.ensurePersistence=function(){if(this.internals.ensurePersistenceTask){var r=this.internals,i=this.internals.documents,s=this.primaryPath,o=this.internals.ensurePersistenceTask;this.internals.ensurePersistenceTask=void 0;for(var a=Object.values(this.internals.byIndex),l=o.bulkInsertDocs,f=0;f{_.set(uf(O.documentId,O.attachmentId),{writeData:O.attachmentData,digest:O.digest})}),this.schema.attachments&&(o.attachmentsUpdate.forEach(O=>{_.set(uf(O.documentId,O.attachmentId),{writeData:O.attachmentData,digest:O.digest})}),o.attachmentsRemove.forEach(O=>{_.delete(uf(O.documentId,O.attachmentId))}))}}},e.findDocumentsById=function(r,i){this.ensurePersistence();var s=this.internals.documents,o=[];if(s.size===0)return Promise.resolve(o);for(var a=0;az)break;var X=H.doc;(!f||f(X))&&W.push(X),W.length>=l&&!m&&(Q=!0),O++}if(m){var U=Lg(this.schema,r.query);W=W.sort(U)}return W=W.slice(o,l),Promise.resolve({documents:W})},e.count=async function(r){this.ensurePersistence();var i=await this.query(r);return{count:i.documents.length,mode:"fast"}},e.cleanup=function(r){this.ensurePersistence();for(var i=Ft()-r,s=["_deleted","_meta.lwt",this.primaryPath],o=Xy(s),a=this.internals.byIndex[o].docsWithIndex,l=vb(this.schema,s,[!0,0,""]),f=Bb(a,{indexString:l},rl),h=!1;!h;){var m=a[f];!m||m.doc._meta.lwt>i?h=!0:(mF(this.primaryPath,this.schema,this.internals,m.doc),f++)}return dd},e.getAttachmentData=function(r,i,s){this.ensurePersistence(),af(this);var o=uf(r,i),a=this.internals.attachments.get(o);if(!s||!a||a.digest!==s)throw new Error("attachment does not exist: "+o);return Promise.resolve(a.writeData.data)},e.changeStream=function(){return af(this),this.internals.changes$.asObservable()},e.remove=async function(){if(this.closed)throw new Error("closed");this.ensurePersistence(),af(this),this.internals.removed=!0,this.storage.collectionStates.delete(WO(this.databaseName,this.collectionName,this.schema.version)),await this.close()},e.close=function(){return Lb.delete(this),this.ensurePersistence(),this.closed||(this.closed=!0,this.internals.refCount=this.internals.refCount-1),un},e.conflictResultionTasks=function(){return this.internals.conflictResultionTasks$.asObservable()},e.resolveConflictResultionTask=function(r){return un},t}();function gF(t,e,n){var r=WO(e.databaseName,e.collectionName,e.schema.version),i=t.collectionStates.get(r);if(!i)i={id:su(5),schema:e.schema,removed:!1,refCount:1,documents:new Map,attachments:e.schema.attachments?new Map:void 0,byIndex:{},conflictResultionTasks$:new Kt,changes$:new Kt},yF(i,e.schema),t.collectionStates.set(r,i);else{if(e.devMode&&!Ka(i.schema,e.schema))throw new Error("storage was already created with a different schema");i.refCount=i.refCount+1}var s=new vF(t,e.databaseName,e.collectionName,e.schema,i,e.options,n);return Promise.resolve(s)}var wF=new Map;function $b(t={}){var e={name:"memory",rxdbVersion:gg,collectionStates:wF,createStorageInstance(n){sO(n);var r=Object.assign({},t,n.options);return gF(this,n,r)}};return e}function _F(t){let{name:e,options:n,storage:r,...i}=t;if(!r)switch(n.storageType){case"dexie":r=sF(n.storageOptions);break;case"memory":r=$b(n.storageOptions);break;default:r=$b(n.storageOptions);break}return{name:e,storage:r,options:n,...i}}const bF=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,jb=t=>{if(typeof t!="string")throw new TypeError("Invalid argument expected string");const e=t.match(bF);if(!e)throw new Error(`Invalid argument not valid semver ('${t}' received)`);return e.shift(),e},Ub=t=>t==="*"||t==="x"||t==="X",zb=t=>{const e=parseInt(t,10);return isNaN(e)?t:e},SF=(t,e)=>typeof t!=typeof e?[String(t),String(e)]:[t,e],IF=(t,e)=>{if(Ub(t)||Ub(e))return 0;const[n,r]=SF(zb(t),zb(e));return n>r?1:n{for(let n=0;n{const n=jb(t),r=jb(e),i=n.pop(),s=r.pop(),o=Vb(n,r);return o!==0?o:i&&s?Vb(i.split("."),s.split(".")):i||s?i?-1:1:0},OF=(t,e,n)=>{kF(n);const r=EF(t,e);return qO[n].includes(r)},qO={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Kb=Object.keys(qO),kF=t=>{if(typeof t!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof t}`);if(Kb.indexOf(t)===-1)throw new Error(`Invalid operator, expected one of ${Kb.join("|")}`)},{logger:Yr,getDefaultPreparedQuery:DF}=Fr,Wb="storage-token|storageToken",Gg=async t=>{let e;try{const r=await LO()(t);if(r.ok)e=await r.json();else throw new Error(`Failed to fetch schema from "${t}", status: ${r.status}`)}catch{throw new Error(`Failed to fetch schema from "${t}"`)}return e},xF=async t=>{var e;try{const n={};for(const r in t){const i=t[r];!i.schema&&((e=i.options)!=null&&e.schemaUrl)&&(i.schema=await Gg(i.options.schemaUrl)),n[i.name]=i}return n}catch(n){throw new Error(n.message)}},CF=async(t,e)=>{let n;const i=await LO()(t);if(i.ok)n=await i.json();else throw new Error(`Failed to fetch db dump from "${t}", status: ${i.status}`);if(!e||!Object.keys(e).length)throw new Error("collections must be initialized before importing");for(const s of n.collections){const o=e[s.name];if(o)s.schemaHash=o.schema._hash;else throw new Error("no such collection as provided in dump")}return n},AF=async(t,e,n)=>{var s,o;let r={};if(t.name!=="dexie")return;const i=(s=await e.internals)==null?void 0:s.dexieTable;if(r=(o=await i.get(Wb))==null?void 0:o.data,!(r!=null&&r.rxdbVersion)||OF(n,r.rxdbVersion,">"))try{await i.update(Wb,{data:{...r,rxdbVersion:n}}),Yr.log("prepare-plugin: migrated internal storage to",n)}catch{throw new Error("prepare-plugin: unable to migrate internal storage")}},PF=async({database:t,creator:e})=>{var o;const n=await IO(t);Yr.log("prepare-plugin: hook:createRxDatabase:after");const{storage:r,internalStore:i,rxdbVersion:s}=t;if(await AF(r,i,s),!(!((o=e.options)!=null&&o.dumpPath)||!n))try{const a=await CF(e.options.dumpPath,t.collections);await t.importJSON(a),Yr.log(`prepare-plugin: imported dump for db "${t.name}"`)}catch(a){Yr.log("prepare-plugin: imported dump error",a)}},RF=async t=>{if(typeof t=="string"){const e=await Gg(t);if(!e)throw new Error(`Failed to fetch schema from "${t}"`);t=e}},TF=async({collection:t,creator:e})=>{var l,f,h;Yr.log("prepare-plugin: hook:createRxCollection:before");const n=await t.getMetadata();Yr.log("prepare-plugin: hook:createRxCollection:before",n);const r=((l=e.options)==null?void 0:l.initialDocs)||[],i=await a();if(!r.length)return;if(i||!n.isFirstTimeInstantiated){if(!((f=e.options)!=null&&f.recreate)||(h=e.options)!=null&&h.replication)return;Yr.log(`prepare-plugin: collection "${t.name}" already has ${i} docs (including _deleted), but recreate option is set`)}const s=await t.schema.hash,o={name:t.name,schemaHash:s,docs:r};try{const{success:m,error:y}=await t.importJSON(o),w=await a();Yr.log(`prepare-plugin: imported ${m.length} docs for collection "${t.name}", errors count ${y.length}, current docs count ${w}`),Yr.table(m)}catch(m){Yr.log("prepare-plugin: imported dump error",m)}return;async function a(){const{count:m}=await t.storageInstance.count(DF()).catch(()=>({count:0}));return m}},MF={name:"prepare-plugin",rxdb:!0,prototypes:{RxDatabase:t=>{Object.assign(t,{fetchSchema:Gg})},RxCollection:t=>{Object.assign(t,{getMetadata:async function(){const n=await IO(this.database),r=await Vg(this.database.internalStore),{id:i,data:s,_meta:o,_rev:a}=r.filter(l=>l.data.name===this.name).at(0)||{};return{id:i||this.name,databaseName:this.database.name,collectionName:(s==null?void 0:s.name)||this.name,storageName:this.storageInstance.originalStorageInstance.storage.name,last_modified:o!=null&&o.lwt?Math.floor(o==null?void 0:o.lwt):Date.now(),rev:a?Number(a==null?void 0:a.at(0)):1,isFirstTimeInstantiated:n}}})}},hooks:{createRxDatabase:{after:PF},preCreateRxSchema:{before:RF},createRxCollection:{after:TF}}};function HO(t,e){const n={};if(Array.isArray(e))for(const r of e){const i=Object.getOwnPropertyDescriptor(t,r);i!=null&&i.enumerable&&Object.defineProperty(n,r,i)}else for(const r of Reflect.ownKeys(t)){const i=Object.getOwnPropertyDescriptor(t,r);if(i.enumerable){const s=t[r];e(r,s,t)&&Object.defineProperty(n,r,i)}}return n}const QO="%[a-f0-9]{2}",qb=new RegExp("("+QO+")|([^%]+?)","gi"),Hb=new RegExp("("+QO+")+","gi");function Zy(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(t.length===1)return t;e=e||1;const n=t.slice(0,e),r=t.slice(e);return Array.prototype.concat.call([],Zy(n),Zy(r))}function NF(t){try{return decodeURIComponent(t)}catch{let e=t.match(qb)||[];for(let n=1;nt==null,$F=t=>encodeURIComponent(t).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),ev=Symbol("encodeFragmentIdentifier");function jF(t){switch(t.arrayFormat){case"index":return e=>(n,r)=>{const i=n.length;return r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[",i,"]"].join("")]:[...n,[Nt(e,t),"[",Nt(i,t),"]=",Nt(r,t)].join("")]};case"bracket":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[]"].join("")]:[...n,[Nt(e,t),"[]=",Nt(r,t)].join("")];case"colon-list-separator":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),":list="].join("")]:[...n,[Nt(e,t),":list=",Nt(r,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e=t.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||t.skipNull&&i===null||t.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Nt(n,t),e,Nt(i,t)].join("")]:[[r,Nt(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,Nt(e,t)]:[...n,[Nt(e,t),"=",Nt(r,t)].join("")]}}function UF(t){let e;switch(t.arrayFormat){case"index":return(n,r,i)=>{if(e=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!e){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][e[1]]=r};case"bracket":return(n,r,i)=>{if(e=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(e=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const s=typeof r=="string"&&r.includes(t.arrayFormatSeparator),o=typeof r=="string"&&!s&&Oi(r,t).includes(t.arrayFormatSeparator);r=o?Oi(r,t):r;const a=s||o?r.split(t.arrayFormatSeparator).map(l=>Oi(l,t)):r===null?r:Oi(r,t);i[n]=a};case"bracket-separator":return(n,r,i)=>{const s=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!s){i[n]=r&&Oi(r,t);return}const o=r===null?[]:r.split(t.arrayFormatSeparator).map(a=>Oi(a,t));if(i[n]===void 0){i[n]=o;return}i[n]=[...i[n],...o]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function GO(t){if(typeof t!="string"||t.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Nt(t,e){return e.encode?e.strict?$F(t):encodeURIComponent(t):t}function Oi(t,e){return e.decode?FF(t):t}function JO(t){return Array.isArray(t)?t.sort():typeof t=="object"?JO(Object.keys(t)).sort((e,n)=>Number(e)-Number(n)).map(e=>t[e]):t}function XO(t){const e=t.indexOf("#");return e!==-1&&(t=t.slice(0,e)),t}function zF(t){let e="";const n=t.indexOf("#");return n!==-1&&(e=t.slice(n)),e}function Qb(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&typeof t=="string"&&t.trim()!==""?t=Number(t):e.parseBooleans&&t!==null&&(t.toLowerCase()==="true"||t.toLowerCase()==="false")&&(t=t.toLowerCase()==="true"),t}function Jg(t){t=XO(t);const e=t.indexOf("?");return e===-1?"":t.slice(e+1)}function Xg(t,e){e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e},GO(e.arrayFormatSeparator);const n=UF(e),r=Object.create(null);if(typeof t!="string"||(t=t.trim().replace(/^[?#&]/,""),!t))return r;for(const i of t.split("&")){if(i==="")continue;const s=e.decode?i.replace(/\+/g," "):i;let[o,a]=YO(s,"=");o===void 0&&(o=s),a=a===void 0?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?a:Oi(a,e),n(Oi(o,e),a,r)}for(const[i,s]of Object.entries(r))if(typeof s=="object"&&s!==null)for(const[o,a]of Object.entries(s))s[o]=Qb(a,e);else r[i]=Qb(s,e);return e.sort===!1?r:(e.sort===!0?Object.keys(r).sort():Object.keys(r).sort(e.sort)).reduce((i,s)=>{const o=r[s];return o&&typeof o=="object"&&!Array.isArray(o)?i[s]=JO(o):i[s]=o,i},Object.create(null))}function ZO(t,e){if(!t)return"";e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e},GO(e.arrayFormatSeparator);const n=o=>e.skipNull&&LF(t[o])||e.skipEmptyString&&t[o]==="",r=jF(e),i={};for(const[o,a]of Object.entries(t))n(o)||(i[o]=a);const s=Object.keys(i);return e.sort!==!1&&s.sort(e.sort),s.map(o=>{const a=t[o];return a===void 0?"":a===null?Nt(o,e):Array.isArray(a)?a.length===0&&e.arrayFormat==="bracket-separator"?Nt(o,e)+"[]":a.reduce(r(o),[]).join("&"):Nt(o,e)+"="+Nt(a,e)}).filter(o=>o.length>0).join("&")}function ek(t,e){var i;e={decode:!0,...e};let[n,r]=YO(t,"#");return n===void 0&&(n=t),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:Xg(Jg(t),e),...e&&e.parseFragmentIdentifier&&r?{fragmentIdentifier:Oi(r,e)}:{}}}function tk(t,e){e={encode:!0,strict:!0,[ev]:!0,...e};const n=XO(t.url).split("?")[0]||"",r=Jg(t.url),i={...Xg(r,{sort:!1}),...t.query};let s=ZO(i,e);s&&(s=`?${s}`);let o=zF(t.url);if(t.fragmentIdentifier){const a=new URL(n);a.hash=t.fragmentIdentifier,o=e[ev]?a.hash:`#${t.fragmentIdentifier}`}return`${n}${s}${o}`}function nk(t,e,n){n={parseFragmentIdentifier:!0,[ev]:!1,...n};const{url:r,query:i,fragmentIdentifier:s}=ek(t,n);return tk({url:r,query:HO(i,e),fragmentIdentifier:s},n)}function VF(t,e,n){const r=Array.isArray(e)?i=>!e.includes(i):(i,s)=>!e(i,s);return nk(t,r,n)}const gm=Object.freeze(Object.defineProperty({__proto__:null,exclude:VF,extract:Jg,parse:Xg,parseUrl:ek,pick:nk,stringify:ZO,stringifyUrl:tk},Symbol.toStringTag,{value:"Module"})),{keys:Yb,isEmpty:Gb,isNullOrUndefined:tv}=Fr,KF=({selector:t,sort:e,limit:n,skip:r},i)=>{const s=Yb(i.jsonSchema.properties);return Gb(t)||(t=HO(t,o=>!o.startsWith("$")&&!o.includes(".")&&s.includes(o))),Gb(e)||(e=e==null?void 0:e.filter(o=>s.includes(Yb(o)[0]))),(tv(n)||isNaN(n))&&(n=void 0),(tv(r)||isNaN(r))&&(r=void 0),{selector:t,sort:e,limit:n,skip:r}},Jb=(t,e)=>{t=gm.extract(t);const n=gm.pick(t,["selector","sort","limit","skip"]),r=gm.parse(n,{parseNumbers:!0,parseBooleans:!0}),{selector:i,sort:s,limit:o,skip:a}=r,l=i?JSON.parse(i):void 0,f=s?JSON.parse(s):void 0;return KF({selector:l,sort:f,limit:o,skip:a},e)},lf=t=>tv(t)?"":JSON.stringify(t),{logger:Xb,compactObject:WF}=Fr,qF={name:"query-params-plugin",rxdb:!0,prototypes:{RxCollection:t=>{const e=new Jr({});let n=!1,r,i=!1,s="",o=()=>Promise.resolve(!1);function a(h=PE,m){var y;n=!!((y=this.options)!=null&&y.useQueryParams),r=this.schema,!(!n||i)&&(o=m,h.pipe(Fo(),Cy(w=>{s=w}),Mt(w=>Jb(w,r)),OE(w=>(Xb.log("Error in parsing url to mango query",w),e)),Cy(w=>{Xb.log("queryParams",w)}),ME(()=>!this.destroyed)).subscribe(e),i=!0)}function l(h){if(!n)return;const{selector:m,sort:y,limit:w,skip:I}=h,E={limit:w,skip:I};m&&(E.selector=lf(h.selector)),y&&(E.sort=lf(h.sort)),o(E)}function f(h){if(!n)return;const m=Jb(s,r),y={selector:lf(h.selector||m.selector),sort:lf(h.sort||m.sort),limit:h.limit||m.limit,skip:h.skip||m.skip};o(WF(y))}Object.assign(t,{queryParams:{$:e.asObservable(),get:()=>e.getValue(),set:l,patch:f}},{queryParamsInit:a})}},hooks:{createRxCollection:{}}};var rk={minimumDeletedTime:1e3*60*60*24*31,minimumCollectionAge:1e3*60,runEach:1e3*60*5,awaitReplicationsInSync:!0,waitForLeadership:!0},wm=dd;async function HF(t){var e=t.database,n=Object.assign({},rk,e.cleanupPolicy?e.cleanupPolicy:{});await t.promiseWait(n.minimumCollectionAge),!t.destroyed&&(n.waitForLeadership&&await e.waitForLeadership(),!t.destroyed&&(await ik(t,n),await QF(t,n)))}async function ik(t,e){for(var n=t.database,r=t.storageInstance,i=!1;!i&&!t.destroyed;){if(e.awaitReplicationsInSync){var s=FO.get(t);s&&await Promise.all(s.map(o=>{if(!o.isStopped())return o.awaitInSync()}))}if(await n.requestIdlePromise(),t.destroyed)return;wm=wm.then(()=>t.destroyed?!0:r.cleanup(e.minimumDeletedTime)),i=await wm}}async function QF(t,e){for(;!t.destroyed;){if(await t.promiseWait(e.runEach),t.destroyed)return;await ik(t,e)}}var YF={name:"cleanup",rxdb:!0,prototypes:{RxCollection:t=>{t.cleanup=async function(e){var n=Object.assign({},rk,this.database.cleanupPolicy?this.database.cleanupPolicy:{});typeof e>"u"&&(e=n.minimumDeletedTime);for(var r=!1;!r&&!this.destroyed;)r=await this.storageInstance.cleanup(e)}}},hooks:{createRxCollection:{after:t=>{HF(t.collection)}}}};function GF(t){var e={name:this.name,instanceToken:this.token,collections:[]},n=Object.keys(this.collections).filter(r=>!t||t.includes(r)).filter(r=>r.charAt(0)!=="_").map(r=>this.collections[r]);return Promise.all(n.map(r=>r.exportJSON())).then(r=>(e.collections=r,e))}var JF=function(t){var e=t.collections.filter(n=>!this.collections[n.name]).map(n=>n.name);if(e.length>0)throw le("JD1",{missingCollections:e});return Promise.all(t.collections.map(n=>this.collections[n.name].importJSON(n)))},XF=async function(){var t={name:this.name,schemaHash:await this.schema.hash,docs:[]},e=ra("find",tl(),this);return nO(e).then(n=>(t.docs=n.map(r=>(r=$e(r),delete r._rev,delete r._attachments,r)),t))};async function ZF(t){if(t.schemaHash!==await this.schema.hash)throw le("JD2",{schemaHash:t.schemaHash,own:this.schema.hash});var e=t.docs;return this.storageInstance.bulkWrite(e.map(n=>{var r=Object.assign({},n,{_meta:{lwt:Ft()},_rev:Rn(),_attachments:{},_deleted:!1});return{document:r}}),"json-dump-import")}var eL={name:"json-dump",rxdb:!0,prototypes:{RxDatabase:t=>{t.exportJSON=GF,t.importJSON=JF},RxCollection:t=>{t.exportJSON=XF,t.importJSON=ZF}},overwritable:{}},tL=uO(),nL=function(t){wg(e,t);function e(n,r,i){var s;return s=t.call(this,null,r)||this,s.id=n,s.parent=i,s}return e}(tL),il={get isLocal(){return!0},get allAttachments$(){throw le("LD1",{document:this})},get primaryPath(){return"id"},get primary(){return this.id},get $(){var t=this,e=Mo(nv,this.parent);return t.parent.$.pipe(lt(n=>n.documentId===this.primary),lt(n=>n.isLocal),Mt(n=>Dg(n)),Hl(e.docCache.getLatestDocumentData(this.primary)),Fo((n,r)=>n._rev===r._rev),Mt(n=>e.docCache.getCachedRxDocument(n)),Pi(Ai))},get $$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.$,t.getLatest()._data)},get deleted$$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.deleted$,t.getLatest().deleted)},getLatest(){var t=Mo(nv,this.parent),e=t.docCache.getLatestDocumentData(this.primary);return t.docCache.getCachedRxDocument(e)},get(t){if(t="data."+t,!!this._data){if(typeof t!="string")throw el("LD2",{objPath:t});var e=Ts(this._data,t);return e=it.deepFreezeWhenDevMode(e),e}},get$(t){if(t="data."+t,it.isDevMode()){if(t.includes(".item."))throw le("LD3",{objPath:t});if(t===this.primaryPath)throw le("LD4")}return this.$.pipe(Mt(e=>e._data),Mt(e=>Ts(e,t)),Fo())},get$$(t){var e=_m(this),n=e.getReactivityFactory();return n.fromObservable(this.get$(t),this.getLatest().get(t))},async incrementalModify(t){var e=await sl(this.parent);return e.incrementalWriteQueue.addWrite(this._data,async n=>(n.data=await t(n.data,this),n)).then(n=>e.docCache.getCachedRxDocument(n))},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t){var e=await sl(this.parent),n=this._data;return t.id=this.id,e.storageInstance.bulkWrite([{previous:n,document:t}],"local-document-save-data").then(r=>{var i=r.success[0];if(!i)throw r.error[0];t=$e(t),t._rev=i._rev})},async remove(){var t=await sl(this.parent),e={id:this._data.id,data:{},_deleted:!0,_meta:Ks(),_rev:Rn(),_attachments:{}};return Tl(t.storageInstance,{previous:this._data,document:e},"local-document-remove").then(n=>t.docCache.getCachedRxDocument(n))}},Zb=!1,rL=()=>{if(!Zb){Zb=!0;var t=kh,e=Object.getOwnPropertyNames(t);e.forEach(r=>{var i=Object.getOwnPropertyDescriptor(il,r);if(!i){var s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(il,r,s)}});var n=r=>()=>{throw le("LD6",{functionName:r})};["populate","update","putAttachment","getAttachment","allAttachments"].forEach(r=>il[r]=n(r))}};function iL(t,e){rL();var n=new nL(t.id,t,e);return Object.setPrototypeOf(n,il),n.prototype=il,n}function _m(t){var e=t.parent;return bN(e)?e:e.database}var kd=new WeakMap,nv=new WeakMap;function e1(t){var e=t.database?t.database:t,n=t.database?t.name:"",r=(async()=>{var i=await sk(e.token,e.storage,e.name,n,e.instanceCreationOptions,e.multiInstance);i=jg(e,i,ok);var s=new XE("id",t.$.pipe(lt(h=>h.isLocal)),h=>iL(h,t)),o=new aO(i,"id",()=>{},()=>{}),a=await e.storageToken,l=i.changeStream().subscribe(h=>{var m={id:h.id,internal:!1,collectionName:t.database?t.name:void 0,storageToken:a,events:h.events.map(y=>rO(!0,y,t.database?t:void 0)),databaseToken:e.token,checkpoint:h.checkpoint,context:h.context,endTime:h.endTime,startTime:h.startTime};e.$emit(m)});t._subs.push(l);var f={database:e,parent:t,storageInstance:i,docCache:s,incrementalWriteQueue:o};return nv.set(t,f),f})();kd.set(t,r)}function sl(t){var e=kd.get(t);if(!e){var n=t.database?t.database:t,r=t.database?t.name:"";throw le("LD8",{database:n.name,collection:r})}return e}function sk(t,e,n,r,i,s){return e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:sL(r),schema:ok,options:i,multiInstance:s,devMode:it.isDevMode()})}function t1(t){var e=kd.get(t);if(e)return kd.delete(t),e.then(n=>n.storageInstance.close())}async function n1(t,e,n){var r=su(10),i=await sk(r,t,e,n,{},!1);await i.remove()}function sL(t){return"plugin-local-documents-"+t}var ok=bh({title:"RxLocalDocument",version:0,primaryKey:"id",type:"object",properties:{id:{type:"string",maxLength:128},data:{type:"object",additionalProperties:!0}},required:["id","data"]});async function r1(t,e){var n=await sl(this),r={id:t,data:e,_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}};return Tl(n.storageInstance,{document:r},"local-document-insert").then(i=>n.docCache.getCachedRxDocument(i))}function i1(t,e){return this.getLocal(t).then(n=>{if(n)return n.incrementalModify(()=>e);var r=this.insertLocal(t,e);return r})}async function s1(t){var e=await sl(this),n=e.docCache,r=n.getLatestDocumentDataIfExists(t);return r?Promise.resolve(n.getCachedRxDocument(r)):Xl(e.storageInstance,t).then(i=>i?e.docCache.getCachedRxDocument(i):null)}function o1(t){return this.$.pipe(Hl(null),Br(async e=>{if(e)return{changeEvent:e};var n=await this.getLocal(t);return{doc:n}}),Br(async e=>{if(e.changeEvent){var n=e.changeEvent;if(!n.isLocal||n.documentId!==t)return{use:!1};var r=await this.getLocal(t);return{use:!0,doc:r}}else return{use:!0,doc:e.doc}}),lt(e=>e.use),Mt(e=>e.doc))}var ak={name:"local-documents",rxdb:!0,prototypes:{RxCollection:t=>{t.insertLocal=r1,t.upsertLocal=i1,t.getLocal=s1,t.getLocal$=o1},RxDatabase:t=>{t.insertLocal=r1,t.upsertLocal=i1,t.getLocal=s1,t.getLocal$=o1}},hooks:{createRxDatabase:{before:t=>{t.creator.localDocuments&&e1(t.database)}},createRxCollection:{before:t=>{t.creator.localDocuments&&e1(t.collection)}},preDestroyRxDatabase:{after:t=>t1(t)},postDestroyRxCollection:{after:t=>t1(t)},postRemoveRxDatabase:{after:t=>n1(t.storage,t.databaseName,"")},postRemoveRxCollection:{after:t=>n1(t.storage,t.databaseName,t.collectionName)}},overwritable:{}};async function uk(t){var e=dR(t.collection.schema.jsonSchema).map(r=>t.collection.name+"-"+r),n=await t.database.internalStore.findDocumentsById(e.map(r=>Qa(r,ko)),!1);if(n.length>1)throw new Error("more the one old collection meta found");return n[0]}function oL(t,e,n){var r=$e(n._attachments),i=Pn(n),s=i._meta;delete i._meta,i._attachments=r;for(var o=e+1,a=Promise.resolve(i),l=function(){var f=o;a=a.then(h=>aL(t,f,h)),o++};o<=t.schema.version;)l();return a.then(f=>f===null?yg:(f._meta=s,f))}function aL(t,e,n){if(n===null)return yg;var r=t.migrationStrategies[e](n,t),i=ZI(r);return i}async function lk(t){if(t.collection.schema.version===0)return Jn;var e=await uk(t);return!!e}var uL=200,ck=new WeakMap;function lL(t){var e=fk(t.database),n=e.getValue().slice(0);n.push(t),e.next(n)}function fk(t){return Mr(ck,t,()=>new Jr([]))}function cL(t){var e=ck.get(t);e&&e.complete()}var fL=function(){function t(n,r,i=[n.name,"v",n.schema.version].join("-")){this.started=!1,this.updateStatusHandlers=[],this.updateStatusQueue=dd,this.collection=n,this.migrationStrategies=r,this.statusDocKey=i,this.database=n.database,this.oldCollectionMeta=uk(this),this.mustMigrate=lk(this),this.statusDocId=Qa(this.statusDocKey,Pf),lL(this),this.$=K2(this.database.internalStore,this.statusDocId).pipe(lt(s=>!!s),Mt(s=>ye(s).data),Pi(Ai))}var e=t.prototype;return e.getStatus=function(){return As(this.$)},e.startMigration=async function(r=uL){var i=await this.mustMigrate;if(i){if(this.started)throw le("DM1");this.started=!0;var s=void 0;if(this.database.multiInstance){s=new xh(["rx-migration-state",this.database.name,this.collection.name,this.collection.schema.version].join("|"));var o=TB(s);await o.awaitLeadership()}var a=await this.oldCollectionMeta,l=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:this.collection.name,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:a.data.schema,password:this.database.password,devMode:it.isDevMode()}),f=await this.getConnectedStorageInstances(),h=await this.countAllDoucments([l].concat(f.map(m=>m.oldStorage)));await this.updateStatus(m=>(m.count.total=h,m));try{await Promise.all(f.map(async m=>{await fO(this.collection,m.newStorage.collectionName,m.newStorage.schema),await this.migrateStorage(m.oldStorage,m.newStorage,r),await m.newStorage.close()})),await this.migrateStorage(l,this.collection.storageInstance.originalStorageInstance,r)}catch(m){await l.close(),await this.updateStatus(y=>(y.status="ERROR",y.error=ky(m),y));return}await Tl(this.database.internalStore,{previous:a,document:Object.assign({},a,{_deleted:!0})},"rx-migration-remove-collection-meta"),await this.updateStatus(m=>(m.status="DONE",m)),s&&await s.close()}},e.updateStatus=function(r){return this.updateStatusHandlers.push(r),this.updateStatusQueue=this.updateStatusQueue.then(async()=>{if(this.updateStatusHandlers.length!==0){var i=this.updateStatusHandlers;for(this.updateStatusHandlers=[];;){var s=await Xl(this.database.internalStore,this.statusDocId),o=Pn(s);s||(o={id:this.statusDocId,key:this.statusDocKey,context:Pf,data:{collectionName:this.collection.name,status:"RUNNING",count:{total:0,handled:0,percent:0}},_deleted:!1,_meta:Ks(),_rev:Rn(),_attachments:{}});var a=ye(o).data;for(var l of i)a=l(a);if(a.count.percent=Math.round(a.count.handled/a.count.total*100),o&&s&&Ka(o.data,s.data))break;try{await Tl(this.database.internalStore,{previous:s,document:ye(o)},Pf);break}catch(f){if(!_h(f))throw f}}}}),this.updateStatusQueue},e.migrateStorage=async function(r,i,s){var o=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:"rx-migration-state-meta-"+this.collection.name+"-"+this.collection.schema.version,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:Ky(r.schema,vd(r.schema)),password:this.database.password,devMode:it.isDevMode()}),a=dN(i,bd,this.database.token,!0),l=pO({keepMeta:!0,identifier:["rx-migration-state",this.collection.name,r.schema.version,this.collection.schema.version].join("-"),replicationHandler:{masterChangesSince(){return Promise.resolve({checkpoint:null,documents:[]})},masterWrite:async h=>{h=await Promise.all(h.map(async y=>{var w=y.newDocumentState;if(i.schema.title===Rf&&(w=y.newDocumentState.docData,y.newDocumentState.isCheckpoint==="1"))return{assumedMasterState:void 0,newDocumentState:y.newDocumentState};var I=await oL(this.collection,r.schema.version,w),E={assumedMasterState:void 0,newDocumentState:i.schema.title===Rf?Object.assign({},y.newDocumentState,{docData:I}):I};return E})),h=h.filter(y=>!!y.newDocumentState);var m=await a.masterWrite(h);return m},masterChangeStream$:new Kt().asObservable()},forkInstance:r,metaInstance:o,pushBatchSize:s,pullBatchSize:0,conflictHandler:bd,hashFunction:this.database.hashFunction}),f=!1;if(l.events.error.subscribe(h=>f=h),l.events.processed.up.subscribe(()=>{this.updateStatus(h=>(h.count.handled=h.count.handled+1,h))}),await Tf(l),await mO(l),await this.updateStatusQueue,f)throw await o.close(),f;await Promise.all([r.remove(),o.remove()])},e.countAllDoucments=async function(r){var i=0;return await Promise.all(r.map(async s=>{var o=Jl(s.schema,Rl(s.schema,{selector:{}})),a=await s.count(o);i+=a.count})),i},e.getConnectedStorageInstances=async function(){var r=await this.oldCollectionMeta,i=[];return await Promise.all(await Promise.all(r.data.connectedStorages.map(async s=>{if(s.schema.title!==Rf)throw new Error("unknown migration handling for schema");var o=Ky(Pn(this.collection.schema.jsonSchema),vd(s.schema));o.version=this.collection.schema.version;var[a,l]=await Promise.all([this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:s.schema,password:this.database.password,collectionName:s.collectionName}),this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:o,password:this.database.password,collectionName:s.collectionName})]);i.push({oldStorage:a,newStorage:l})}))),i},e.migratePromise=async function(r){this.startMigration(r);var i=await this.mustMigrate;if(!i)return{status:"DONE",collectionName:this.collection.name,count:{handled:0,percent:0,total:0}};var s=await Promise.race([As(this.$.pipe(lt(o=>o.status==="DONE"))),As(this.$.pipe(lt(o=>o.status==="ERROR")))]);if(s.status==="ERROR")throw le("DM4",{collection:this.collection.name,error:s.error});return s},t}(),dL=new WeakMap,hL={name:"migration-schema",rxdb:!0,init(){gi(ak)},hooks:{preDestroyRxDatabase:{after:cL}},prototypes:{RxDatabase:t=>{t.migrationStates=function(){return fk(this).pipe(Pi(Ai))}},RxCollection:t=>{t.getMigrationState=function(){return Mr(dL,this,()=>new fL(this.asRxCollection,this.migrationStrategies))},t.migrationNeeded=function(){return this.schema.version===0?Jn:lk(this.getMigrationState())}}}};const Zg=(t,e)=>{switch(t){case"deep":return Ry(e);case"copy":return Ty(e)?new Date(e):Lt(e)?[...e]:wt(e)?Object.assign({},e):e;default:return e}},pL=/^[a-z]+[a-zA-Z0-9]*$/;function dk(t){if(!t.includes(".$"))return[{parent:t,selector:t},[]];const e=t.indexOf(".$"),n=t.indexOf("]"),r=t.substring(0,e),i=t.substring(e+3,n);Yt(i===""||pL.test(i),"The filter must begin with a lowercase letter and contain only alphanumeric characters.");const s=t.substring(n+2),[o,a]=s?dk(s):[];return[{selector:t,parent:r,child:i||"$",next:o},[i,...a||[]].filter(Boolean)]}const $n=(t,e,n,r,i)=>{const{parent:s,child:o,next:a}=e;if(!o){let f=!1;return Pl(t,s,(m,y)=>f=!!r(m,y)||f,i),f}const l=lu(t,s);return Lt(l)?l.map((f,h)=>n[o]&&!n[o].test({[o]:f})?!1:a?$n(f,a,n,r,i):r(l,h)).some(Boolean):!1};function ar(t,e,n,r){const i=[];for(const[s,o]of Object.entries(t)){const[a,l]=dk(s);if(!l.length)r(o,a,{})&&i.push(a.parent);else{const f={};e.forEach(m=>{Object.keys(m).forEach(y=>{l.forEach(w=>{(y===w||y.startsWith(w+"."))&&(f[w]=f[w]||{},Object.assign(f[w],{[y]:m[y]}))})})});const h={};for(const[m,y]of Object.entries(f))h[m]=new qs(y,n.queryOptions);r(o,a,h)&&i.push(a.parent)}}return i}const mL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&Zn(i,"$each")&&Object.assign(a,i),$n(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]);return Bg([h,a.$each]).length===a.$each.length?!1:(l[f]=Zg(r.cloneMode,EM(h.concat(a.$each))),!0)},{buildGraph:!0})}),yL=new Set(["and","or","xor"]),vL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>{const a=Object.keys(i);return Yt(a.length===1&&yL.has(a[0]),`Invalid bit operator '${a[0]}'. Must be one of 'and', 'or', or 'xor'.`),$n(t,s,o,(l,f)=>{let h=l[f];const m=i[a[0]];if(h!==void 0&&!(Qn(h)&&Qn(m)))return!1;switch(h=h||0,a[0]){case"and":l[f]=h&m;break;case"or":l[f]=h|m;break;case"xor":l[f]=h^m;break}return l[f]!==h},{buildGraph:!0})}),gL=(t,e,n=[],r={})=>{const i=Date.now();return ar(e,n,r,(s,o,a)=>$n(t,o,a,(l,f)=>(l[f]=i,!0),{buildGraph:!0}))},wL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>{if(!s.child){const a=lu(t,s.parent);Yt(a===void 0||Qn(a),"cannot apply $inc to a value of non-numeric type")}return $n(t,s,o,(a,l)=>(a[l]=(a[l]||(a[l]=0))+i,!0),{buildGraph:!0})}),_L=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>a[l]!==void 0&&Mn(a[l],i)>-1?!1:(a[l]=i,!0),{buildGraph:!0})),bL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>a[l]!==void 0&&Mn(a[l],i)<1?!1:(a[l]=i,!0),{buildGraph:!0})),SL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>{const f=a[l];return a[l]=a[l]===void 0?0:a[l]*i,a[l]!==f},{buildGraph:!0})),IL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>{const f=a[l];return Yt(Lt(f),`path '${s.selector}' contains an element of non-array type.`),f.length?(i===-1?f.splice(0,1):f.pop(),!0):!1})),hk=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>{const a=!wt(i)||Object.keys(i).some(Wo),l=new qs(a?{k:i}:i,r.queryOptions),f=a?h=>l.test({k:h}):h=>l.test(h);return $n(t,s,o,(h,m)=>{const y=h[m],w=new Array;return y.map(E=>{const $=f(E);return $||w.push(E),$}).some(Boolean)?(h[m]=w,!0):!1})}),EL=(t,e,n=[],r={})=>{const i={};return Object.entries(e).forEach(([s,o])=>{i[s]={$in:o}}),hk(t,i,n,r)},OL=Object.freeze(["$each","$slice","$sort","$position"]),kL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&OL.some(l=>Zn(i,l))&&Object.assign(a,i),$n(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]),m=h.slice(0,a.$slice||h.length),y=h.length,w=Qn(a.$position)?a.$position:h.length;if(h.splice(w,0,...Zg(r.cloneMode,a.$each)),a.$sort){const I=wt(a.$sort)?Object.keys(a.$sort||{}).pop():"",E=I?a.$sort[I]:a.$sort,$=I?S=>lu(S,I):S=>S;h.sort((S,_)=>E*Mn($(S),$(_)))}return Qn(a.$slice)&&(a.$slice<0?h.splice(0,h.length+a.$slice):h.splice(a.$slice)),y!=h.length||!Wi(m,h)},{descendArray:!0,buildGraph:!0})}),pk=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>Wi(a[l],i)?!1:(a[l]=Zg(r.cloneMode,i),!0),{buildGraph:!0})),DL=(t,e,n=[],r={})=>{const i=[],s=ar(e,n,r,(o,a,l)=>$n(t,a,l,(f,h)=>Zn(f,h)?(i.push(...pk(t,{[o]:f[h]},n,r)),delete f[h],!0):!1));return Array.from(new Set(s.concat(i)))},xL=(t,e,n=[],r={})=>ar(e,n,r,(i,s,o)=>$n(t,s,o,(a,l)=>Zn(a,l)?(Lt(a)?a[l]=null:delete a[l],!0):!1)),a1=Object.freeze(Object.defineProperty({__proto__:null,$addToSet:mL,$bit:vL,$currentDate:gL,$inc:wL,$max:_L,$min:bL,$mul:SL,$pop:IL,$pull:hk,$pullAll:EL,$push:kL,$rename:DL,$set:pk,$unset:xL},Symbol.toStringTag,{value:"Module"}));function CL(t){return(e,n,r=[],i={},s={})=>{const o=Object.assign({cloneMode:"copy"},t,s);Object.assign(o,{queryOptions:Fg(Object.assign({useStrictMode:!1},o==null?void 0:o.queryOptions))}),r=r||[],i=i||{};const a=Object.entries(n);Yt(a.length===1,"Update expression must contain only one operator.");const[l,f]=a[0];Yt(Zn(a1,l),`Update operator '${l}' is not supported.`);const h=a1[l];return Object.keys(i).length&&!new qs(i,o.queryOptions).test(e)?[]:h(e,f,r,o)}}var bm;function mk(t,e){if(!bm){var n=CL({cloneMode:"none"});bm=(r,i)=>{var s=Pn(r);return n(s,i),s}}return bm(t,e)}function AL(t){return this.incrementalModify(e=>{var n=mk(e,t);return n})}function PL(t){var e=this._data,n=mk(e,t);return this._saveData(n,e)}function RL(t){return this.exec().then(e=>e?Array.isArray(e)?Promise.all(e.map(n=>n.update(t))).then(()=>e):e.update(t).then(()=>e):null)}var TL={name:"update",rxdb:!0,prototypes:{RxDocument:t=>{t.update=PL,t.incrementalUpdate=AL},RxQuery:t=>{t.update=RL}}};const{logger:ML}=Fr;async function NL(t=[]){try{gi(ak),gi(eL),gi(hL),gi(TL),gi(YF),gi(MF),gi(qF);for(const e of t)gi(e);ML.log("rxdb plugins loaded")}catch(e){throw new Error(e.message??e)}}const{logger:ta}=Fr;class BL{get db(){return this.dbInstance}get dbOptions(){return this.options}get collections(){return this.db.collections}async destroyDb(){try{await this.db.remove(),await this.db.destroy(),this.dbInstance=null,ta.log("database destroy")}catch{ta.log("database destroy error")}}async initDb(e){var n,r;if(!this.dbInstance)try{if(await NL((n=e.options)==null?void 0:n.plugins),this.dbInstance=await _N(e),this.options=e,ta.log(`created database "${this.db.name}" with config "${JSON.stringify(e)}"`),(r=e==null?void 0:e.options)!=null&&r.schemas){const i=await this.initCollections(e.options.schemas);ta.log(`created ${Object.keys(i).length} collections bulk: ${Object.keys(i)}`)}}catch(i){throw ta.log("Error initializing the database:",i),i}}async initCollections(e){try{const n=await xF(e);return await this.db.addCollections(n)}catch(n){throw ta.log("Error initializing collection(s)",n),n}}}var yk={exports:{}},Xe={};/** @license React v16.13.1 + `):"",this.name="UnsubscriptionError",this.errors=n}});function pd(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var su=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,i,s;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=$a(o),l=a.next();!l.done;l=a.next()){var f=l.value;f.remove(this)}}catch(E){e={error:E}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}else o.remove(this);var h=this.initialTeardown;if(qe(h))try{h()}catch(E){s=E instanceof nm?E.errors:[E]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var y=$a(p),w=y.next();!w.done;w=y.next()){var I=w.value;try{R_(I)}catch(E){s=s??[],E instanceof nm?s=br(br([],nr(s)),nr(E.errors)):s.push(E)}}}catch(E){r={error:E}}finally{try{w&&!w.done&&(i=y.return)&&i.call(y)}finally{if(r)throw r.error}}}if(s)throw new nm(s)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)R_(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&pd(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&pd(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),cE=su.EMPTY;function fE(t){return t instanceof su||t&&"closed"in t&&qe(t.remove)&&qe(t.add)&&qe(t.unsubscribe)}function R_(t){qe(t)?t():t.unsubscribe()}var dE={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},xy={setTimeout:function(t,e){for(var n=[],r=2;r0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,i=this,s=i.hasError,o=i.isStopped,a=i.observers;return s||o?cE:(this.currentObservers=null,a.push(n),new su(function(){r.currentObservers=null,pd(a,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,i=r.hasError,s=r.thrownError,o=r.isStopped;i?n.error(s):o&&n.complete()},e.prototype.asObservable=function(){var n=new Ot;return n.source=this,n},e.create=function(n,r){return new B_(n,r)},e}(Ot),B_=function(t){pi(e,t);function e(n,r){var i=t.call(this)||this;return i.destination=n,i.source=r,i}return e.prototype.next=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,n)},e.prototype.error=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&i!==void 0?i:cE},e}(Kt);function F_(){for(var t=[],e=0;e0&&(h=new Ka({next:function(Q){return W.next(Q)},error:function(Q){E=!0,$(),p=sm(S,i,Q),W.error(Q)},complete:function(){I=!0,$(),p=sm(S,o),W.complete()}}),jn(k).subscribe(h))})(f)}}function sm(t,e){for(var n=[],r=2;r!!t.queryParams.limit,IT=t=>t.queryParams.limit===1,ET=t=>!!(t.queryParams.skip&&t.queryParams.skip>0),OT=t=>t.changeEvent.operation==="DELETE",kT=t=>t.changeEvent.operation==="INSERT",DT=t=>t.changeEvent.operation==="UPDATE",xT=t=>BE(t)&&t.previousResults.length>=t.queryParams.limit,CT=t=>{const e=t.queryParams.sortFields,n=t.changeEvent.previous,r=t.changeEvent.doc;if(!r)return!1;if(!n)return!0;for(let i=0;i{const e=t.changeEvent.id;if(t.keyDocumentMap)return t.keyDocumentMap.has(e);{const n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e=t.previousResults[0];return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},RT=t=>{const e=Cg(t.previousResults);return!!(e&&e[t.queryParams.primaryKey]===t.changeEvent.id)},TT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},MT=t=>{const e=t.changeEvent.previous;if(!e)return!1;const n=Cg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},NT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=t.previousResults[0];return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)<0:!1},BT=t=>{const e=t.changeEvent.doc;if(!e)return!1;const n=Cg(t.previousResults);return n?n[t.queryParams.primaryKey]===t.changeEvent.id?!0:t.queryParams.sortComparator(e,n)>0:!1},FT=t=>{const e=t.changeEvent.previous;return e?t.queryParams.queryMatcher(e):!1},LT=t=>{const e=t.changeEvent.doc;return e?t.queryParams.queryMatcher(e):!1},$T=t=>t.previousResults.length===0,jT={0:kT,1:DT,2:OT,3:BE,4:IT,5:ET,6:$T,7:xT,8:PT,9:RT,10:CT,11:AT,12:TT,13:MT,14:NT,15:BT,16:FT,17:LT};function FE(t,e,n,r){var i=t.length,s=i-1,o=0;if(i===0)return t.push(e),0;for(var a;r<=s;)o=r+(s-r>>1),a=t[o],n(a,e)<=0?r=o+1:s=o-1;return n(a,e)<=0&&o++,t.splice(o,0,e),o}const UT=t=>{},Ag=t=>{t.previousResults.unshift(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Pg=t=>{t.previousResults.push(t.changeEvent.doc),t.keyDocumentMap&&t.keyDocumentMap.set(t.changeEvent.id,t.changeEvent.doc)},Rg=t=>{const e=t.previousResults.shift();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},Tg=t=>{const e=t.previousResults.pop();t.keyDocumentMap&&e&&t.keyDocumentMap.delete(e[t.queryParams.primaryKey])},zT=t=>{Rg(t),Pg(t)},VT=t=>{Tg(t),Ag(t)},KT=t=>{Rg(t),Ag(t)},WT=t=>{Tg(t),Pg(t)},LE=t=>{t.keyDocumentMap&&t.keyDocumentMap.delete(t.changeEvent.id);const e=t.queryParams.primaryKey,n=t.previousResults;for(let r=0;r{const e=t.changeEvent.doc,n=t.queryParams.primaryKey,r=t.previousResults;for(let i=0;i{const e={_id:"wrongHuman"+new Date().getTime()};t.previousResults.length=0,t.previousResults.push(e),t.keyDocumentMap&&(t.keyDocumentMap.clear(),t.keyDocumentMap.set(e._id,e))},$E=t=>{const e=t.changeEvent.id,n=t.changeEvent.doc;if(t.keyDocumentMap){if(t.keyDocumentMap.has(e))return;t.keyDocumentMap.set(e,n)}else if(t.previousResults.find(i=>i[t.queryParams.primaryKey]===e))return;FE(t.previousResults,n,t.queryParams.sortComparator,0)},QT=t=>{LE(t),$E(t)},YT=t=>{throw new Error("Action runFullQueryAgain must be implemented by yourself")},GT=t=>{throw new Error("Action unknownAction should never be called")},JT=["doNothing","insertFirst","insertLast","removeFirstItem","removeLastItem","removeFirstInsertLast","removeLastInsertFirst","removeFirstInsertFirst","removeLastInsertLast","removeExisting","replaceExisting","alwaysWrong","insertAtSortPosition","removeExistingAndInsertAtSortPosition","runFullQueryAgain","unknownAction"],XT={doNothing:UT,insertFirst:Ag,insertLast:Pg,removeFirstItem:Rg,removeLastItem:Tg,removeFirstInsertLast:zT,removeLastInsertFirst:VT,removeFirstInsertFirst:KT,removeLastInsertLast:WT,removeExisting:LE,replaceExisting:qT,alwaysWrong:HT,insertAtSortPosition:$E,removeExistingAndInsertAtSortPosition:QT,runFullQueryAgain:YT,unknownAction:GT},ZT=40;function om(t){return t.charCodeAt(0)-ZT}function eM(t){return t?"1":"0"}function j_(t,e){const n=[];for(let r=0,i=t.length;rnM(iM(),jT,t);function oM(t){const e=sM(t);return JT[e]}function aM(t,e,n,r,i){const s=XT[t];return s({queryParams:e,changeEvent:n,previousResults:r,keyDocumentMap:i}),r}var Tr=String.fromCharCode(65535),ci=Number.MIN_SAFE_INTEGER;function uM(t,e){var n=e.selector,r=t.indexes?t.indexes.slice(0):[];e.index&&(r=[e.index]);var i=!!e.sort.find(h=>Object.values(h)[0]==="desc"),s=new Set;Object.keys(n).forEach(h=>{var p=zi(t,h);p&&p.type==="boolean"&&Object.prototype.hasOwnProperty.call(n[h],"$eq")&&s.add(h)});var o=e.sort.map(h=>Object.keys(h)[0]),a=o.filter(h=>!s.has(h)).join(","),l=-1,f;if(r.forEach(h=>{var p=!0,y=!0,w=h.map(_=>{var k=n[_],z=k?Object.keys(k):[],W={};if(!k||!z.length){var Q=y?ci:Tr;W={startKey:Q,endKey:p?Tr:ci,inclusiveStart:!0,inclusiveEnd:!0}}else z.forEach(H=>{if(Mg.has(H)){var X=k[H],U=dM(H,X);W=Object.assign(W,U)}});return typeof W.startKey>"u"&&(W.startKey=ci),typeof W.endKey>"u"&&(W.endKey=Tr),typeof W.inclusiveStart>"u"&&(W.inclusiveStart=!0),typeof W.inclusiveEnd>"u"&&(W.inclusiveEnd=!0),y&&!W.inclusiveStart&&(y=!1),p&&!W.inclusiveEnd&&(p=!1),W}),I=w.map(_=>_.startKey),E=w.map(_=>_.endKey),$={index:h,startKeys:I,endKeys:E,inclusiveEnd:p,inclusiveStart:y,sortSatisfiedByIndex:!i&&a===h.filter(_=>!s.has(_)).join(","),selectorSatisfiedByIndex:fM(h,e.selector,I,E)},S=hM(t,e,$);(S>=l||e.index)&&(l=S,f=$)}),!f)throw le("SNH",{query:e});return f}var Mg=new Set(["$eq","$gt","$gte","$lt","$lte"]),lM=new Set(["$eq","$gt","$gte"]),cM=new Set(["$eq","$lt","$lte"]);function fM(t,e,n,r){var i=Object.entries(e),s=i.find(([H,X])=>{if(!t.includes(H))return!0;var U=Object.entries(X).find(([ee,ce])=>!Mg.has(ee));return U});if(s||e.$and||e.$or)return!1;var o=[],a=new Set;for(var[l,f]of Object.entries(e)){if(!t.includes(l))return!1;var h=Object.keys(f).filter(H=>lM.has(H));if(h.length>1)return!1;var p=h[0];if(p&&a.add(l),p!=="$eq"){if(o.length>0)return!1;o.push(p)}}var y=[],w=new Set;for(var[I,E]of Object.entries(e)){if(!t.includes(I))return!1;var $=Object.keys(E).filter(H=>cM.has(H));if($.length>1)return!1;var S=$[0];if(S&&w.add(I),S!=="$eq"){if(y.length>0)return!1;y.push(S)}}var _=0;for(var k of t){for(var z of[a,w]){if(!z.has(k)&&z.size>0)return!1;z.delete(k)}var W=n[_],Q=r[_];if(W!==Q&&a.size>0&&w.size>0)return!1;_++}return!0}function dM(t,e){switch(t){case"$eq":return{startKey:e,endKey:e,inclusiveEnd:!0,inclusiveStart:!0};case"$lte":return{endKey:e,inclusiveEnd:!0};case"$gte":return{startKey:e,inclusiveStart:!0};case"$lt":return{endKey:e,inclusiveEnd:!1};case"$gt":return{startKey:e,inclusiveStart:!1};default:throw new Error("SNH")}}function hM(t,e,n){var r=0,i=h=>{h>0&&(r=r+h)},s=10,o=Xp(n.startKeys,h=>h!==ci&&h!==Tr);i(o*s);var a=Xp(n.startKeys,h=>h!==Tr&&h!==ci);i(a*s);var l=Xp(n.startKeys,(h,p)=>h===n.endKeys[p]);i(l*s*1.5);var f=n.sortSatisfiedByIndex?5:0;return i(f),r}const pM=2147483647,mM=-2147483648,yM=Number.MAX_SAFE_INTEGER,vM=Number.MIN_SAFE_INTEGER,Vi=Symbol("missing"),jE=Object.freeze(new Error("mingo: cycle detected while processing object/array")),gM=Object.getPrototypeOf([]),UE=Object.getPrototypeOf({}),wM="[object Object]",_M=/^\[object ([a-zA-Z0-9]+)\]$/;let Ng=class{};class Bg{}const Lo=t=>t===null?Ng:t===void 0?Bg:t.constructor,Ql=t=>{const e=DM(t);let n=0,r=e.length;for(;r;)n=(n<<5)-n^e.charCodeAt(--r);return n>>>0},zE=new Set(["null","undefined","boolean","number","string","date","regexp"]),U_=new Set([Bg,Ng,Boolean,String,Number]),Nu=t=>t.toString(),Er=t=>`${Lo(t).name}[${t.toString()}]`,$o=new Map([[Number,Nu],[Boolean,Nu],[RegExp,Nu],[Function,Nu],[Symbol,Nu],[Date,t=>t.toISOString()],[String,JSON.stringify],[Ng,t=>"null"],[Bg,t=>"undefined"],[Int8Array,Er],[Uint8Array,Er],[Uint8ClampedArray,Er],[Int16Array,Er],[Uint16Array,Er],[Int32Array,Er],[Uint32Array,Er],[Float32Array,Er],[Float64Array,Er]]);typeof BigInt<"u"&&$o.set(BigInt,t=>"0x"+t.toString(16));typeof BigInt64Array<"u"&&$o.set(BigInt64Array,Er);typeof BigUint64Array<"u"&&$o.set(BigUint64Array,Er);const bM={null:0,undefined:0,number:1,string:2,object:3,array:4,boolean:5,date:6,regexp:7,function:8},Bn=(t,e)=>{t===Vi&&(t=void 0),e===Vi&&(e=void 0);const[n,r]=[t,e].map(i=>bM[Al(i).toLowerCase()]);return n!==r?n-r:n===1||n===2||n===6?te?1:0:Wi(t,e)?0:te?1:0};function Yt(t,e){if(!t)throw new Error(e)}const SM=t=>{const e=Object.getPrototypeOf(Lo(t));return e&&e.name==="TypedArray"},Ty=t=>{if(U_.has(Lo(t)))return t;const e=new Set,n=r=>{if(e.has(r))throw jE;const i=Lo(r);if(U_.has(i))return r;try{if(Lt(r))return e.add(r),r.map(n);if(wt(r)){e.add(r);const s={};for(const o in r)s[o]=n(r[o]);return s}}finally{e.delete(r)}return i===Date||i===RegExp||SM(r)?new i(r):r};return n(t)},Al=t=>_M.exec(Object.prototype.toString.call(t))[1],um=t=>typeof t=="boolean",Ki=t=>typeof t=="string",Yn=t=>!isNaN(t)&&typeof t=="number",Lt=Array.isArray,wt=t=>{if(!t)return!1;const e=Object.getPrototypeOf(t);return(e===UE||e===null)&&wM===Object.prototype.toString.call(t)},Sh=t=>t===Object(t),My=t=>t instanceof Date,Cf=t=>t instanceof RegExp,Ih=t=>typeof t=="function",fn=t=>t==null,Wa=(t,e)=>t.includes(e),VE=(t,e)=>!Wa(t,e),IM=(t,e=!0)=>!!t||e&&t==="",uu=t=>fn(t)||Ki(t)&&!t||t instanceof Array&&t.length===0||wt(t)&&Object.keys(t).length===0,z_=t=>t===Vi,Yl=t=>t instanceof Array?t:[t],er=(t,e)=>!!t&&Object.prototype.hasOwnProperty.call(t,e),EM=(t,e)=>wt(t)&&wt(e)||Lt(t)&&Lt(e);function Ny(t,e,n){if(n=n||{flatten:!1},z_(t)||fn(t))return e;if(z_(e)||fn(e))return t;if(!EM(t,e)){if(n.skipValidation)return e||t;throw Error("mismatched types. must both be array or object")}if(n.skipValidation=!0,Lt(t)){const r=t,i=e;if(n.flatten){let s=0,o=0;for(;s{const s=WE(r,e);n.has(s)?n.get(s).some(o=>Wi(t[o],r))||n.get(s).push(i):n.set(s,[i])}),n}function Fg(t,e=Ql){if(t.some(a=>a.length==0))return[];if(t.length===1)return Array.from(t);const n=xM(t.map((a,l)=>[l,a.length]),a=>a[1]),r=t[n[0][0]],i=By(r,e),s=new Map,o=new Array;return i.forEach((a,l)=>{const f=a.map(w=>r[w]),h=f.map(w=>0),p=f.map(w=>[n[0][0],0]);let y=!1;for(let w=1;w$[_]);y=f.map((_,k)=>S.some((z,W)=>{const Q=h[k];return Wi(_,z)&&(h[k]++,Iw===t.length-1?[f[I],p[I]]:Vi).filter(w=>w!==Vi))}),o.sort((a,l)=>{const[f,[h,p]]=a,[y,[w,I]]=l,E=Bn(h,w);return E!==0?E:Bn(p,I)}).map(a=>a[0])}function KE(t,e=0){const n=new Array;function r(i,s){for(let o=0,a=i.length;o0||s<0)?r(i[o],Math.max(-1,s-1)):n.push(i[o])}return r(t,e),n}const OM=t=>{let[e,n]=[Object.getPrototypeOf(t),Object.getOwnPropertyNames(t)],r=e;for(;!n.length&&e!==UE&&e!==gM;)r=e,n=Object.getOwnPropertyNames(e),e=Object.getPrototypeOf(e);const i={};return n.forEach(s=>i[s]=t[s]),[i,r]};function Wi(t,e){const n=[[t,e]];for(;n.length>0;){if([t,e]=n.pop(),t===e)continue;const r=Lo(t);if(r!==Lo(e)||Ih(t))return!1;if($o.has(r)){const i=$o.get(r);if(i(t)!==i(e))return!1;continue}if(r===Array||r===Object){const i=Object.keys(t),s=Object.keys(e);if(i.length!==s.length||new Set(i.concat(s)).size!=i.length)return!1;for(const o of i)n.push([t[o],e[o]]);continue}return!1}return!n.length}function kM(t,e=Ql){const n=t.map(r=>Vi);return By(t,e).forEach((r,i)=>{r.forEach(s=>n[s]=t[s])}),n.filter(r=>r!==Vi)}function DM(t){const e=new Set,n=r=>{const i=Lo(r);if($o.has(i))return $o.get(i)(r);const s=i===Object?"":i.name;if(Ih(r.toJSON))return`${s}(${JSON.stringify(r)})`;if(e.has(r))throw jE;e.add(r);try{if(i===Array)return"["+r.map(n).join(",")+"]";if(i!==Object){const[a,l]=OM(r);if(Lt(r))return`${s}${n([...r,a])}`;r=a}const o=Object.keys(r);return o.sort(),`${s}{`+o.map(a=>`${a}:${n(r[a])}`).join(",")+"}"}finally{e.delete(r)}};return n(t)}function WE(t,e){return e=e||Ql,fn(t)?null:e(t).toString()}function xM(t,e,n=Bn){if(uu(t))return t;const r=new Array,i=new Array;for(let s=0;sn(s[0],o[0])),Gl(i,r.map(s=>s[1]))}function CM(t,e,n=Ql){if(t.length<1)return new Map;const r=new Map,i=new Map;for(let s=0;sWi(h,a)):null;fn(f)?(i.set(a,[o]),r.has(l)?r.get(l).push(a):r.set(l,[a])):i.get(f).push(o)}}return i}const lm=5e4;function Gl(t,...e){return t instanceof Array?e.reduce((n,r)=>{let i=Math.ceil(r.length/lm),s=0;for(;i-- >0;)Array.prototype.push.apply(n,r.slice(s,s+lm)),s+=lm;return n},t):e.filter(Sh).reduce((n,r)=>(Object.assign(n,r),n),t)}function Fy(t,e){return Sh(t)?t[e]:void 0}function AM(t,e){if(e<1)return t;for(;e--&&t.length===1;)t=t[0];return t}function lu(t,e,n){let r=0;function i(o,a){let l=o;for(let f=0;f0)break;r+=1;const y=a.slice(f);l=l.reduce((w,I)=>{const E=i(I,y);return E!==void 0&&w.push(E),w},[]);break}else l=Fy(l,h);if(l===void 0)break}return l}const s=zE.has(Al(t).toLowerCase())?t:i(t,e.split("."));return s instanceof Array&&(n!=null&&n.unwrapArray)?AM(s,r):s}function Af(t,e,n){const r=e.split("."),i=r[0],s=r.slice(1).join("."),o=/^\d+$/.exec(i)!==null,a=r.length>1;let l,f;if(t instanceof Array)if(o)l=Fy(t,Number(i)),a&&(l=Af(l,s,n)),l=[l];else{l=[];for(const h of t)f=Af(h,e,n),n!=null&&n.preserveMissing?(f===void 0&&(f=Vi),l.push(f)):f!==void 0&&l.push(f)}else{if(f=Fy(t,i),a&&(f=Af(f,s,n)),f===void 0)return;l=n!=null&&n.preserveKeys?Object.assign({},t):{},l[i]=f}return l}function Ly(t){if(t instanceof Array)for(let e=t.length-1;e>=0;e--)t[e]===Vi?t.splice(e,1):Ly(t[e]);else if(wt(t))for(const e in t)er(t,e)&&Ly(t[e])}const V_=/^\d+$/;function Pl(t,e,n,r){const i=e.split("."),s=i[0],o=i.slice(1).join(".");if(i.length===1)(wt(t)||Lt(t)&&V_.test(s))&&n(t,s);else{r!=null&&r.buildGraph&&fn(t[s])&&(t[s]={});const a=t[s];if(!a)return;const l=!!(i.length>1&&V_.test(i[1]));a instanceof Array&&(r!=null&&r.descendArray)&&!l?a.forEach(f=>Pl(f,o,n,r)):Pl(a,o,n,r)}}function PM(t,e,n){Pl(t,e,(r,i)=>{r[i]=Ih(n)?n(r[i]):n},{buildGraph:!0})}function K_(t,e,n){Pl(t,e,(r,i)=>{if(r instanceof Array){if(/^\d+$/.test(i))r.splice(parseInt(i),1);else if(n&&n.descendArray)for(const s of r)wt(s)&&delete s[i]}else wt(r)&&delete r[i]},n)}const RM=/^\$[a-zA-Z0-9_]+$/;function Ko(t){return RM.test(t)}function qE(t){if(zE.has(Al(t).toLowerCase()))return Cf(t)?{$regex:t}:{$eq:t};if(Sh(t)){if(!Object.keys(t).some(Ko))return{$eq:t};if(er(t,"$regex")){const n=Object.assign({},t);return n.$regex=new RegExp(t.$regex,t.$options),delete n.$options,n}}return t}var vs;(function(t){t.CLONE_ALL="CLONE_ALL",t.CLONE_INPUT="CLONE_INPUT",t.CLONE_OUTPUT="CLONE_OUTPUT",t.CLONE_OFF="CLONE_OFF"})(vs||(vs={}));class ko{constructor(e,n,r,i=Date.now()){this._opts=e,this._root=n,this._local=r,this.timestamp=i,this.update(n,r)}static init(e,n,r){return e instanceof ko?new ko(e._opts,fn(e.root)?n:e.root,Object.assign({},e.local,r)):new ko(e,n,r)}update(e,n){var r;return this._root=e,this._local=n&&Object.assign({},n,{variables:Object.assign({},(r=this._local)===null||r===void 0?void 0:r.variables,n==null?void 0:n.variables)}),this}getOptions(){return Object.freeze(Object.assign(Object.assign({},this._opts),{context:jo.from(this._opts.context)}))}get root(){return this._root}get local(){return this._local}get idKey(){return this._opts.idKey}get collation(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collation}get processingMode(){var e;return((e=this._opts)===null||e===void 0?void 0:e.processingMode)||vs.CLONE_OFF}get useStrictMode(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useStrictMode}get scriptEnabled(){var e;return(e=this._opts)===null||e===void 0?void 0:e.scriptEnabled}get useGlobalContext(){var e;return(e=this._opts)===null||e===void 0?void 0:e.useGlobalContext}get hashFunction(){var e;return(e=this._opts)===null||e===void 0?void 0:e.hashFunction}get collectionResolver(){var e;return(e=this._opts)===null||e===void 0?void 0:e.collectionResolver}get jsonSchemaValidator(){var e;return(e=this._opts)===null||e===void 0?void 0:e.jsonSchemaValidator}get variables(){var e;return(e=this._opts)===null||e===void 0?void 0:e.variables}get context(){var e;return(e=this._opts)===null||e===void 0?void 0:e.context}}function Lg(t){return t instanceof ko?t.getOptions():Object.freeze(Object.assign(Object.assign({idKey:"_id",scriptEnabled:!0,useStrictMode:!0,useGlobalContext:!0,processingMode:vs.CLONE_OFF},t),{context:t!=null&&t.context?jo.from(t==null?void 0:t.context):jo.init({})}))}var Ye;(function(t){t.ACCUMULATOR="accumulator",t.EXPRESSION="expression",t.PIPELINE="pipeline",t.PROJECTION="projection",t.QUERY="query",t.WINDOW="window"})(Ye||(Ye={}));class jo{constructor(e){this.operators={[Ye.ACCUMULATOR]:{},[Ye.EXPRESSION]:{},[Ye.PIPELINE]:{},[Ye.PROJECTION]:{},[Ye.QUERY]:{},[Ye.WINDOW]:{}};for(const[n,r]of Object.entries(e))this.addOperators(n,r)}static init(e={}){return new jo(e)}static from(e){return new jo(e.operators)}addOperators(e,n){for(const[r,i]of Object.entries(n))this.getOperator(e,r)||(this.operators[e][r]=i);return this}addAccumulatorOps(e){return this.addOperators(Ye.ACCUMULATOR,e)}addExpressionOps(e){return this.addOperators(Ye.EXPRESSION,e)}addQueryOps(e){return this.addOperators(Ye.QUERY,e)}addPipelineOps(e){return this.addOperators(Ye.PIPELINE,e)}addProjectionOps(e){return this.addOperators(Ye.PROJECTION,e)}addWindowOps(e){return this.addOperators(Ye.WINDOW,e)}getOperator(e,n){return e in this.operators&&this.operators[e][n]||null}}const ho=jo.init();function W_(t,e){for(const[n,r]of Object.entries(e)){Yt(Ih(r)&&Ko(n),`'${n}' is not a valid operator`);const i=Do(t,n,null);Yt(!i||r===i,`${n} already exists for '${t}' operators. Cannot change operator function once registered.`)}switch(t){case Ye.ACCUMULATOR:ho.addAccumulatorOps(e);break;case Ye.EXPRESSION:ho.addExpressionOps(e);break;case Ye.PIPELINE:ho.addPipelineOps(e);break;case Ye.PROJECTION:ho.addProjectionOps(e);break;case Ye.QUERY:ho.addQueryOps(e);break;case Ye.WINDOW:ho.addWindowOps(e);break}}function Do(t,e,n){const{context:r,useGlobalContext:i}=n||{},s=r?r.getOperator(t,e):null;return!s&&i?ho.getOperator(t,e):s}const q_={$$ROOT(t,e,n){return n.root},$$CURRENT(t,e,n){return t},$$REMOVE(t,e,n){},$$NOW(t,e,n){return new Date(n.timestamp)}},$y={$$KEEP(t,e,n){return t},$$PRUNE(t,e,n){},$$DESCEND(t,e,n){if(!er(e,"$cond"))return t;let r;for(const[i,s]of Object.entries(t))if(Sh(s)){if(s instanceof Array){const o=[];for(let a of s)wt(a)&&(a=H_(a,e,n.update(a))),fn(a)||o.push(a);r=o}else r=H_(s,e,n.update(s));fn(r)?delete t[i]:t[i]=r}return t}};function Zr(t,e,n,r){var i;const s=ko.init(r,t);if(n=n||"",Ko(n)){const o=Do(Ye.EXPRESSION,n,r);if(o)return o(t,e,s);const a=Do(Ye.ACCUMULATOR,n,r);if(a)return t instanceof Array||(t=Zr(t,e,null,s),e=null),Yt(t instanceof Array,`'${n}' target must be an array.`),a(t,e,s.update(null,s.local));throw new Error(`operator '${n}' is not registered`)}if(Ki(e)&&e.length>0&&e[0]==="$"){if(er($y,e))return e;let o=s.root;const a=e.split(".");if(er(q_,a[0]))o=q_[a[0]](t,null,s),e=e.slice(a[0].length+1);else if(a[0].slice(0,2)==="$$"){o=Object.assign({},s.variables,{this:t},(i=s.local)===null||i===void 0?void 0:i.variables);const l=a[0].slice(2);Yt(er(o,l),`Use of undefined variable: ${l}`),e=e.slice(2)}else e=e.slice(1);return e===""?o:lu(o,e)}if(Lt(e))return e.map(o=>Zr(t,o,null,s));if(wt(e)){const o={};for(const[a,l]of Object.entries(e))if(o[a]=Zr(t,l,a,s),[Ye.EXPRESSION,Ye.ACCUMULATOR].some(f=>!!Do(f,a,r)))return Yt(Object.keys(e).length===1,"Invalid aggregation expression '"+JSON.stringify(e)+"'"),o[a];return o}return e}function H_(t,e,n){const r=Zr(t,e,null,n);return er($y,r)?$y[r](t,e,n):r}function qa(t){return t instanceof Q_?t:new Q_(t)}function TM(...t){let e=0;return qa(()=>{for(;e{const i=r.next();if(i.done)throw jy;return i.value}}else if(e instanceof Array){const r=e,i=r.length;let s=0;n=()=>{if(s0?this.push(oi.TAKE,e):this}drop(e){return e>0?this.push(oi.DROP,e):this}transform(e){const n=this;let r;return qa(()=>(r||(r=qa(e(n.value()))),r.next()))}value(){return this.isDone||(this.isDone=this.getNext(!0).done),this.yieldedValues}each(e){for(;;){const n=this.next();if(n.done)break;if(e(n.value)===!1)return!1}return!0}reduce(e,n){let r=this.next();for(n===void 0&&!r.done&&(n=r.value,r=this.next());!r.done;)n=e(n,r.value),r=this.next();return n}size(){return this.reduce((e,n)=>++e,0)}[Symbol.iterator](){return this}}class FM{constructor(e,n){this.pipeline=e,this.options=Lg(n)}stream(e){let n=qa(e);const r=this.options.processingMode;(r==vs.CLONE_ALL||r==vs.CLONE_INPUT)&&n.map(Ty);const i=new Array;if(!uu(this.pipeline))for(const s of this.pipeline){const o=Object.keys(s),a=o[0],l=Do(Ye.PIPELINE,a,this.options);Yt(o.length===1&&!!l,`invalid pipeline operator ${a}`),i.push(a),n=l(n,s[a],this.options)}return(r==vs.CLONE_OUTPUT||r==vs.CLONE_ALL&&Fg([["$group","$unwind"],i]).length)&&n.map(Ty),n}run(e){return this.stream(e).value()}}class LM{constructor(e,n,r,i){this.source=e,this.predicate=n,this.projection=r,this.options=i,this.operators=[],this.result=null,this.buffer=[]}fetch(){return this.result?this.result:(wt(this.projection)&&this.operators.push({$project:this.projection}),this.result=qa(this.source).filter(this.predicate),this.operators.length>0&&(this.result=new FM(this.operators,this.options).stream(this.result)),this.result)}fetchAll(){const e=qa([...this.buffer]);return this.buffer=[],TM(e,this.fetch())}all(){return this.fetchAll().value()}count(){return this.all().length}skip(e){return this.operators.push({$skip:e}),this}limit(e){return this.operators.push({$limit:e}),this}sort(e){return this.operators.push({$sort:e}),this}collation(e){return this.options=Object.assign(Object.assign({},this.options),{collation:e}),this}next(){if(this.buffer.length>0)return this.buffer.pop();const e=this.fetch().next();if(!e.done)return e.value}hasNext(){if(this.buffer.length>0)return!0;const e=this.fetch().next();return e.done?!1:(this.buffer.push(e.value),!0)}map(e){return this.all().map(e)}forEach(e){this.all().forEach(e)}[Symbol.iterator](){return this.fetchAll()}}class Qs{constructor(e,n){this.condition=e,this.options=Lg(n),this.compiled=[],this.compile()}compile(){Yt(wt(this.condition),`query criteria must be an object: ${JSON.stringify(this.condition)}`);const e={};for(const[n,r]of Object.entries(this.condition)){if(n==="$where")Object.assign(e,{field:n,expr:r});else if(Wa(["$and","$or","$nor","$expr","$jsonSchema"],n))this.processOperator(n,n,r);else{Yt(!Ko(n),`unknown top level operator: ${n}`);for(const[i,s]of Object.entries(qE(r)))this.processOperator(n,i,s)}e.field&&this.processOperator(e.field,e.field,e.expr)}}processOperator(e,n,r){const i=Do(Ye.QUERY,n,this.options);if(!i)throw new Error(`unknown operator ${n}`);const s=i(e,r,this.options);this.compiled.push(s)}test(e){for(let n=0,r=this.compiled.length;nthis.test(r),n||{},this.options)}remove(e){return e.reduce((n,r)=>(this.test(r)||n.push(r),n),[])}}const $M=(t,e,n)=>{if(uu(e)||!wt(e))return t;let r=Bn;const i=n.collation;return wt(i)&&Ki(i.locale)&&(r=UM(i)),t.transform(s=>{const o=Object.keys(e);for(const a of o.reverse()){const l=CM(s,h=>lu(h,a),n.hashFunction),f=Array.from(l.keys()).sort(r);e[a]===-1&&f.reverse(),s=[],f.reduce((h,p)=>Gl(h,l.get(p)),s)}return s})},jM={1:"base",2:"accent",3:"variant"};function UM(t){const e={sensitivity:jM[t.strength||3],caseFirst:t.caseFirst==="off"?"false":t.caseFirst||"false",numeric:t.numericOrdering||!1,ignorePunctuation:t.alternate==="shifted"};(t.caseLevel||!1)===!0&&(e.sensitivity==="base"&&(e.sensitivity="case"),e.sensitivity==="accent"&&(e.sensitivity="variant"));const n=new Intl.Collator(t.locale,e);return(r,i)=>{if(!Ki(r)||!Ki(i))return Bn(r,i);const s=n.compare(r,i);return s<0?-1:s>0?1:0}}function In(t){const e=(n,r,i)=>{const s={unwrapArray:!0},o=Math.max(1,n.split(".").length-1);return a=>{const l=lu(a,n,s);return t(l,r,Object.assign(Object.assign({},i),{depth:o}))}};return e.op="query",e}function HE(t,e,n){if(Wi(t,e)||fn(t)&&fn(e))return!0;if(t instanceof Array){const r=Wi.bind(null,e);return t.some(r)||KE(t,n==null?void 0:n.depth).some(r)}return!1}function zM(t,e,n){return!HE(t,e,n)}function QE(t,e,n){return fn(t)?e.some(r=>r===null):Fg([Yl(t),e],n==null?void 0:n.hashFunction).length>0}function VM(t,e,n){return!QE(t,e,n)}function KM(t,e,n){return Eh(t,e,(r,i)=>Bn(r,i)<0)}function WM(t,e,n){return Eh(t,e,(r,i)=>Bn(r,i)<=0)}function qM(t,e,n){return Eh(t,e,(r,i)=>Bn(r,i)>0)}function HM(t,e,n){return Eh(t,e,(r,i)=>Bn(r,i)>=0)}function QM(t,e,n){return Yl(t).some(r=>e.length===2&&r%e[0]===e[1])}function YM(t,e,n){const r=Yl(t),i=s=>Ki(s)&&IM(e.exec(s),n==null?void 0:n.useStrictMode);return r.some(i)||KE(r,1).some(i)}function GM(t,e,n){return(e===!1||e===0)&&t===void 0||(e===!0||e===1)&&t!==void 0}function JM(t,e,n){if(!Lt(t)||!Lt(e)||!t.length||!e.length)return!1;let r=!0;for(const i of e){if(!r)break;wt(i)&&Wa(Object.keys(i),"$elemMatch")?r=YE(t,i.$elemMatch,n):i instanceof RegExp?r=t.some(s=>typeof s=="string"&&i.test(s)):r=t.some(s=>Wi(i,s))}return r}function XM(t,e,n){return Array.isArray(t)&&t.length===e}function ZM(t){return Ko(t)&&["$and","$or","$nor"].indexOf(t)===-1}function YE(t,e,n){if(Lt(t)&&!uu(t)){let r=o=>o,i=e;Object.keys(e).every(ZM)&&(i={temp:e},r=o=>({temp:o}));const s=new Qs(i,n);for(let o=0,a=t.length;ot===null,G_=t=>Yn(t)&&t>=mM&&t<=pM&&t.toString().indexOf(".")===-1,J_=t=>Yn(t)&&t>=vM&&t<=yM&&t.toString().indexOf(".")===-1,e2={array:Lt,bool:um,boolean:um,date:My,decimal:Yn,double:Yn,int:G_,long:J_,number:Yn,null:Y_,object:wt,regex:Cf,regexp:Cf,string:Ki,undefined:fn,function:t=>{throw new Error("unsupported type key `function`.")},1:Yn,2:Ki,3:wt,4:Lt,6:fn,8:um,9:My,10:Y_,11:Cf,16:G_,18:J_,19:Yn};function X_(t,e,n){const r=e2[e];return r?r(t):!1}function t2(t,e,n){return Array.isArray(e)?e.findIndex(r=>X_(t,r))>=0:X_(t,e)}function Eh(t,e,n){return Yl(t).some(r=>Al(r)===Al(e)&&n(r,e))}const Z_=(t,e)=>{const n={};return t.split("").forEach((r,i)=>n[r]=e*(i+1)),n};Object.assign(Object.assign(Object.assign({},Z_("ABCDEFGHIKLM",1)),Z_("NOPQRSTUVWXY",-1)),{Z:0});const eb={undefined:null,null:null,NaN:NaN,Infinity:new Error,"-Infinity":new Error};function ar(t,e=eb){const n=Object.assign({},eb,e),r=new Set(Object.keys(n));return(i,s,o)=>{const a=Zr(i,s,null,o);if(r.has(`${a}`)){const l=n[`${a}`];if(l instanceof Error)throw new Error(`cannot apply $${t.name} to -inf, value must in (-inf,inf)`);return l}return t(a)}}ar(Math.acos,{Infinity:1/0,0:new Error});ar(Math.acosh,{Infinity:1/0,0:new Error});ar(Math.asin);ar(Math.asinh,{Infinity:1/0,"-Infinity":-1/0});ar(Math.atan);ar(Math.atanh,{1:1/0,"-1":-1/0});ar(Math.cos);ar(Math.cosh,{"-Infinity":1/0,Infinity:1/0});const n2=Math.PI/180;ar(t=>t*n2,{Infinity:1/0,"-Infinity":1/0});const r2=180/Math.PI;ar(t=>t*r2,{Infinity:1/0,"-Infinity":-1/0});ar(Math.sin);ar(Math.sinh,{"-Infinity":-1/0,Infinity:1/0});ar(Math.tan);const i2=(t,e,n)=>{if(uu(e))return t;let r=Object.keys(e),i=!1;GE(e,n);const s=n.idKey;if(Wa(r,s)){const a=e[s];(a===0||a===!1)&&(r=r.filter(VE.bind(null,[s])),i=r.length==0)}else r.push(s);const o=ko.init(n);return t.map(a=>Uy(a,e,o.update(a),r,i))};function Uy(t,e,n,r,i){let s={},o=!1,a=!1;const l=[];i&&l.push(n.idKey);for(const f of r){let h;const p=e[f];if(f!==n.idKey&&Wa([0,!1],p)&&(a=!0),f===n.idKey&&uu(p))h=t[f];else if(Ki(p))h=Zr(t,p,f,n);else if(!Wa([1,!0],p))if(p instanceof Array)h=p.map(w=>{const I=Zr(t,w,null,n);return fn(I)?null:I});else if(wt(p)){const w=p,I=Object.keys(p),E=I.length==1?I[0]:"",$=Do(Ye.PROJECTION,E,n);if($)E==="$slice"?Yl(w[E]).every(Yn)?(h=$(t,w[E],f,n),o=!0):h=Zr(t,w,f,n):h=$(t,w[E],f,n);else if(Ko(E))h=Zr(t,w[E],E,n);else if(er(t,f)){GE(w,n);let S=t[f];S instanceof Array?h=S.map(_=>Uy(_,w,n,I,!1)):(S=wt(S)?S:t,h=Uy(S,w,n,I,!1))}else h=Zr(t,p,null,n)}else{l.push(f);continue}const y=Af(t,f,{preserveMissing:!0});y!==void 0&&Ny(s,y,{flatten:!0}),VE([0,1,!1,!0],p)&&(h===void 0?K_(s,f,{descendArray:!0}):PM(s,f,h))}if(Ly(s),(o||a||i)&&(s=Gl({},t,s),l.length>0))for(const f of l)K_(s,f,{descendArray:!0});return s}function GE(t,e){const n=[!1,!1];for(const[r,i]of Object.entries(t)){if(r===(e==null?void 0:e.idKey))return;i===0||i===!1?n[0]=!0:(i===1||i===!0)&&(n[1]=!0),Yt(!(n[0]&&n[1]),"Projection cannot have a mix of inclusion and exclusion.")}}const s2=(t,e,n)=>{Yt(Lt(e),"Invalid expression: $and expects value to be an Array.");const r=e.map(i=>new Qs(i,n));return i=>r.every(s=>s.test(i))},JE=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $or expects value to be an Array");const r=e.map(i=>new Qs(i,n));return i=>r.some(s=>s.test(i))},o2=(t,e,n)=>{Yt(Lt(e),"Invalid expression. $nor expects value to be an array.");const r=JE("$or",e,n);return i=>!r(i)},a2=(t,e,n)=>{const r={};r[t]=qE(e);const i=new Qs(r,n);return s=>!i.test(s)},u2=In(HE),l2=In(qM),c2=In(HM),f2=In(QE),d2=In(KM),h2=In(WM),p2=In(zM),m2=In(VM),y2=In(QM),v2=In(YM);In(JM);const g2=In(YE),w2=In(XM),_2=In(GM),b2=In(t2);var tb=!1;function S2(t){return tb||(W_(Ye.PIPELINE,{$sort:$M,$project:i2}),W_(Ye.QUERY,{$and:s2,$eq:u2,$elemMatch:g2,$exists:_2,$gt:l2,$gte:c2,$in:f2,$lt:d2,$lte:h2,$ne:p2,$nin:m2,$mod:y2,$nor:o2,$not:a2,$or:JE,$regex:v2,$size:w2,$type:b2}),tb=!0),new Qs(t)}function Rl(t,e){var n=$n(t.primaryKey);e=$e(e);var r=Mn(e);if(typeof r.skip!="number"&&(r.skip=0),r.selector?(r.selector=r.selector,Object.entries(r.selector).forEach(([f,h])=>{(typeof h!="object"||h===null)&&(r.selector[f]={$eq:h})})):r.selector={},r.index){var i=ja(r.index);i.includes(n)||i.push(n),r.index=i}if(r.sort){var l=r.sort.find(f=>TP(f)===n);l||(r.sort=r.sort.slice(0),r.sort.push({[n]:"asc"}))}else if(r.index)r.sort=r.index.map(f=>({[f]:"asc"}));else{if(t.indexes){var s=new Set;Object.entries(r.selector).forEach(([f,h])=>{var p=!1;typeof h=="object"&&h!==null?p=!!Object.keys(h).find(y=>Mg.has(y)):p=!0,p&&s.add(f)});var o=-1,a;t.indexes.forEach(f=>{var h=mg(f)?f:[f],p=h.findIndex(y=>!s.has(y));p>0&&p>o&&(o=p,a=h)}),a&&(r.sort=a.map(f=>({[f]:"asc"})))}r.sort||(r.sort=[{[n]:"asc"}])}return r}function $g(t,e){if(!e.sort)throw le("SNH",{query:e});var n=[];e.sort.forEach(i=>{var s=Object.keys(i)[0],o=Object.values(i)[0];n.push({key:s,direction:o,getValueFn:XI(s)})});var r=(i,s)=>{for(var o=0;on.test(i);return r}function I2(t,e){return!e.sort||e.sort.length===0?[t]:e.sort.map(n=>Object.keys(n)[0])}var E2=new WeakMap;function O2(t){return Br(E2,t,()=>{var e=t.collection,n=Rl(e.storageInstance.schema,Mn(t.mangoQuery)),r=e.schema.primaryPath,i=$g(e.schema.jsonSchema,n),s=(f,h)=>{var p={docA:f,docB:h,rxQuery:t};return i(p.docA,p.docB)},o=Oh(e.schema.jsonSchema,n),a=f=>{var h={doc:f,rxQuery:t};return o(h.doc)},l={primaryKey:t.collection.schema.primaryPath,skip:n.skip,limit:n.limit,sortFields:I2(r,n),sortComparator:s,queryMatcher:a};return l})}function k2(t,e){if(!t.collection.database.eventReduce)return{runFullQueryAgain:!0};var n=O2(t),r=ye(t._result).docsData.slice(0),i=ye(t._result).docsDataMap,s=!1,o=e.map(l=>fT(l)).filter(JI),a=o.find(l=>{var f={queryParams:n,changeEvent:l,previousResults:r,keyDocumentMap:i},h=oM(f);if(h==="runFullQueryAgain")return!0;if(h!=="doNothing")return s=!0,aM(h,n,l,r,i),!1});return a?{runFullQueryAgain:!0}:{runFullQueryAgain:!1,changed:s,newResults:r}}var D2=function(){function t(){this._map=new Map}var e=t.prototype;return e.getByQuery=function(r){var i=r.toString();return Br(this._map,i,()=>r)},t}();function x2(){return new D2}function nb(t,e){e.uncached=!0;var n=e.toString();t._map.delete(n)}function C2(t){return t.refCount$.observers.length}var A2=100,P2=30*1e3,R2=(t,e)=>(n,r)=>{if(!(r._map.size0)){if(a._lastEnsureEqual===0&&a._creationTimep._lastEnsureEqual-y._lastEnsureEqual),h=f.slice(0,l);h.forEach(p=>nb(r,p))}}},XE=R2(A2,P2),cm=new WeakSet;function T2(t){cm.has(t)||(cm.add(t),QP().then(()=>GP(200)).then(()=>{t.destroyed||t.cacheReplacementPolicy(t,t._queryCache),cm.delete(t)}))}var ZE=function(){function t(n,r,i){this.cacheItemByDocId=new Map,this.registry=typeof FinalizationRegistry=="function"?new FinalizationRegistry(s=>{var o=s.docId,a=this.cacheItemByDocId.get(o);a&&(a.byRev.delete(s.revisionHeight),a.byRev.size===0&&this.cacheItemByDocId.delete(o))}):void 0,this.registerIdleTasks=[],this.primaryPath=n,this.changes$=r,this.documentCreator=i,r.subscribe(s=>{var o=s.documentId,a=this.cacheItemByDocId.get(o);if(a){var l=xg(s);a.last=l}})}var e=t.prototype;return e.getLatestDocumentData=function(r){var i=Bo(this.cacheItemByDocId,r);return i.last},e.getLatestDocumentDataIfExists=function(r){var i=this.cacheItemByDocId.get(r);if(i)return i.last},Ks(t,[{key:"getCachedRxDocument",get:function(){var n=M2(this);return xs(this,"getCachedRxDocument",n)}}]),t}();function M2(t){var e=t.primaryPath,n=t.cacheItemByDocId,r=t.registry,i=it.deepFreezeWhenDevMode,s=t.documentCreator,o=a=>{var l=a[e],f=C_(a._rev),h=Br(n,l,()=>N2(a)),p=h.byRev,y=p.get(f),w=y?y.deref():void 0;return w||(a=i(a),w=s(a),p.set(f,F2(w)),r&&(t.registerIdleTasks.push(w),t.registerIdlePromise||(t.registerIdlePromise=gg().then(()=>{t.registerIdlePromise=void 0;var I=t.registerIdleTasks;I.length!==0&&(t.registerIdleTasks=[],I.forEach(E=>{r.register(E,{docId:E.primary,revisionHeight:C_(E.revision)})}))})))),w};return o}function eO(t,e){for(var n=t.getCachedRxDocument,r=[],i=0;ie._data))}},{key:"docsDataMap",get:function(){var e=new Map;return this.documents.forEach(n=>{e.set(n.primary,n._data)}),xs(this,"docsDataMap",e)}},{key:"docsMap",get:function(){for(var e=new Map,n=this.documents,r=0;r{var p=this.collection._docCache.getLatestDocumentDataIfExists(h);if(p){if(!p._deleted){var y=this.collection._docCache.getCachedRxDocument(p);o.set(h,y)}}else a.push(h)}),a.length>0){var l=await this.collection.storageInstance.findDocumentsById(a,!1);l.forEach(h=>{var p=this.collection._docCache.getCachedRxDocument(h);o.set(p.primary,p)})}return o}var f=rO(this);return f.then(h=>(this._lastExecEnd=Ft(),h))},e.exec=function(r){if(r&&this.op!=="findOne")throw le("QU9",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return ib(this).then(()=>As(this.$)).then(i=>{if(!i&&r)throw le("QU10",{collection:this.collection.name,query:this.mangoQuery,op:this.op});return i})},e.toString=function(){var r=fd({op:this.op,query:this.mangoQuery,other:this.other},!0),i=JSON.stringify(r);return this.toString=()=>i,i},e.getPreparedQuery=function(){var r={rxQuery:this,mangoQuery:Rl(this.collection.schema.jsonSchema,this.mangoQuery)};r.mangoQuery.selector._deleted={$eq:!1},r.mangoQuery.index&&r.mangoQuery.index.unshift("_deleted"),Fr("prePrepareQuery",r);var i=Jl(this.collection.schema.jsonSchema,r.mangoQuery);return this.getPreparedQuery=()=>i,i},e.doesDocumentDataMatch=function(r){return r._deleted?!1:this.queryMatcher(r)},e.remove=function(){return this.exec().then(r=>Array.isArray(r)?Promise.all(r.map(i=>i.remove())):r.remove())},e.update=function(r){throw pt("update")},e.where=function(r){throw pt("query-builder")},e.sort=function(r){throw pt("query-builder")},e.skip=function(r){throw pt("query-builder")},e.limit=function(r){throw pt("query-builder")},Ks(t,[{key:"$",get:function(){if(!this._$){var n=this.collection.$.pipe(lt(r=>!r.isLocal),Hl(null),Lr(()=>ib(this)),Mt(()=>this._result),Pi(Ai),Ms((r,i)=>!!(r&&r.time===ye(i).time)),lt(r=>!!r),Mt(r=>{var i=ye(r);return this.op==="count"?i.count:this.op==="findOne"?i.documents.length===0?null:i.documents[0]:this.op==="findByIds"?i.docsMap:i.documents.slice(0)}));this._$=_T(n,this.refCount$.pipe(lt(()=>!1)))}return this._$}},{key:"$$",get:function(){var n=this.collection.database.getReactivityFactory();return n.fromObservable(this.$,void 0)}},{key:"queryMatcher",get:function(){var n=this.collection.schema.jsonSchema,r=Rl(this.collection.schema.jsonSchema,this.mangoQuery);return xs(this,"queryMatcher",Oh(n,r))}},{key:"asRxQuery",get:function(){return this}}]),t}();function tl(){return{selector:{}}}function z2(t){return t.collection._queryCache.getByQuery(t)}function na(t,e,n,r){Fr("preCreateRxQuery",{op:t,queryObj:e,collection:n,other:r});var i=new tO(t,e,n,r);return i=z2(i),T2(n),i}function nO(t){var e=t.asRxQuery.collection._changeEventBuffer.counter;return t._latestChangeEvent>=e}function ib(t){return t.collection.database.destroyed||nO(t)?Xn:(t._ensureEqualQueue=t._ensureEqualQueue.then(()=>V2(t)),t._ensureEqualQueue)}function V2(t){if(t._lastEnsureEqual=Ft(),t.collection.database.destroyed||nO(t))return Xn;var e=!1,n=!1;if(t._latestChangeEvent===-1&&(n=!0),!n){var r=t.asRxQuery.collection._changeEventBuffer.getFrom(t._latestChangeEvent+1);if(r===null)n=!0;else{t._latestChangeEvent=t.asRxQuery.collection._changeEventBuffer.counter;var i=t.asRxQuery.collection._changeEventBuffer.reduceByLastOfDoc(r);if(t.op==="count"){var s=ye(t._result).count,o=s;i.forEach(l=>{var f=l.previousDocumentData&&t.doesDocumentDataMatch(l.previousDocumentData),h=t.doesDocumentDataMatch(l.documentData);!f&&h&&o++,f&&!h&&o--}),o!==s&&(e=!0,t._setResultData(o))}else{var a=k2(t,i);a.runFullQueryAgain?n=!0:a.changed&&(e=!0,t._setResultData(a.newResults))}}}return n?t._execOverDatabase().then(l=>(t._latestChangeEvent=t.collection._changeEventBuffer.counter,typeof l=="number"?((!t._result||l!==t._result.count)&&(e=!0,t._setResultData(l)),e):((!t._result||!NP(t.collection.schema.primaryPath,l,t._result.docsData))&&(e=!0,t._setResultData(l)),e))):Promise.resolve(e)}function Jl(t,e){if(!e.sort)throw le("SNH",{query:e});var n=uM(t,e);return{query:e,queryPlan:n}}async function rO(t){var e=[],n=t.collection;if(t.isFindOneByIdQuery)if(Array.isArray(t.isFindOneByIdQuery)){var r=t.isFindOneByIdQuery;if(r=r.filter(h=>{var p=t.collection._docCache.getLatestDocumentDataIfExists(h);return p?(p._deleted||e.push(p),!1):!0}),r.length>0){var i=await n.storageInstance.findDocumentsById(r,!1);Ua(e,i)}}else{var s=t.isFindOneByIdQuery,o=t.collection._docCache.getLatestDocumentDataIfExists(s);if(!o){var a=await n.storageInstance.findDocumentsById([s],!1);a[0]&&(o=a[0])}o&&!o._deleted&&e.push(o)}else{var l=t.getPreparedQuery(),f=await n.storageInstance.query(l);e=f.documents}return e}function K2(t,e){if(!e.skip&&e.selector&&Object.keys(e.selector).length===1&&e.selector[t]){var n=e.selector[t];if(typeof n=="string")return n;if(Object.keys(n).length===1&&typeof n.$eq=="string"||Object.keys(n).length===1&&Array.isArray(n.$eq)&&!n.$eq.find(r=>typeof r!="string"))return n.$eq}return!1}var W2="_rxdb_internal";async function Xl(t,e){var n=await t.findDocumentsById([e],!1),r=n[0];if(r)return r}async function Tl(t,e,n){var r=await t.bulkWrite([e],n);if(r.error.length>0){var i=r.error[0];throw i}else{var s=r.success[0];return s}}function q2(t,e){var n=Xl(t,e),r=t.changeStream().pipe(Mt(i=>i.events.find(s=>s.documentId===e)),lt(i=>!!i),Mt(i=>Promise.resolve(ye(i).documentData)),Hl(n),Cl(i=>i),lt(i=>!!i));return r}function Ml(t){return Object.assign({},...t)}function iO(t,e,n){var r=e.documentData,i=e.previousDocumentData,s={documentId:e.documentId,collectionName:n?n.name:void 0,isLocal:t,operation:e.operation,documentData:it.deepFreezeWhenDevMode(r),previousDocumentData:it.deepFreezeWhenDevMode(i)};return s}function yd(t,e,n,r){if(r)throw r.status===409?le("CONFLICT",{collection:t.name,id:e,writeError:r,data:n}):r.status===422?le("VD2",{collection:t.name,id:e,writeError:r,data:n}):r}function sO(t,e,n,r,i,s,o){for(var a=!!t.schema.attachments,l=[],f=[],h=[],p=iu(10),y={id:p,events:[],checkpoint:null,context:i,startTime:Ft(),endTime:0},w=y.events,I=[],E=[],$=[],S=n.size>0,_,k=r.length,z=function(){var Q=r[W],H=Q.document,X=Q.previous,U=H[e],ee=H._deleted,ce=X&&X._deleted,de=void 0;S&&(de=n.get(U));var Pe;if(de){var Te=de._rev;if(!X||X&&Te!==X._rev){var Dt={isError:!0,status:409,documentId:U,writeRow:Q,documentInDb:de};return h.push(Dt),1}var G=a?fm(Q):Q;a&&(ee?X&&Object.keys(X._attachments).forEach(ft=>{E.push({documentId:U,attachmentId:ft,digest:ye(X)._attachments[ft].digest})}):(Object.entries(H._attachments).find(([ft,Ct])=>{var Vn=X?X._attachments[ft]:void 0;return!Vn&&!Ct.data&&(Pe={documentId:U,documentInDb:de,isError:!0,status:510,writeRow:Q,attachmentId:ft}),!0}),Pe||Object.entries(H._attachments).forEach(([ft,Ct])=>{var Vn=X?X._attachments[ft]:void 0;if(!Vn)I.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest});else{var tn=G.document._attachments[ft].digest;Ct.data&&Vn.digest!==tn&&$.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest})}}))),Pe?h.push(Pe):(a?(f.push(fm(G)),o&&o(H)):(f.push(G),o&&o(H)),_=G);var oe=null,ue=null,Re=null;if(ce&&!ee)Re="INSERT",oe=a?gs(H):H;else if(X&&!ce&&!ee)Re="UPDATE",oe=a?gs(H):H,ue=X;else if(ee)Re="DELETE",oe=ye(H),ue=X;else throw le("SNH",{args:{writeRow:Q}});var xt={documentId:U,documentData:oe,previousDocumentData:ue,operation:Re};w.push(xt)}else{var ot=!!ee;if(a&&Object.entries(H._attachments).forEach(([ft,Ct])=>{Ct.data?I.push({documentId:U,attachmentId:ft,attachmentData:Ct,digest:Ct.digest}):(Pe={documentId:U,isError:!0,status:510,writeRow:Q,attachmentId:ft},h.push(Pe))}),Pe||(a?(l.push(fm(Q)),s&&s(H)):(l.push(Q),s&&s(H)),_=Q),!ot){var ct={documentId:U,operation:"INSERT",documentData:a?gs(H):H,previousDocumentData:a&&X?gs(X):X};w.push(ct)}}},W=0;W{e._attachments[n]=Q2(r)}),e}function jg(t){var e=$e(t);return e._meta=$e(t._meta),e}function Ug(t,e,n){it.deepFreezeWhenDevMode(n);var r=$n(n.primaryKey);function i(o){var a=$e(o.document);if(a._meta=$e(a._meta),it.isDevMode()){a=oE(r,n,a);try{typeof structuredClone=="function"?structuredClone(o):JSON.parse(JSON.stringify(o))}catch{throw le("DOC24",{collection:e.collectionName,document:o.document})}o.previous,o.previous&&Object.keys(o.previous._meta).forEach(l=>{if(!Object.prototype.hasOwnProperty.call(o.document._meta,l))throw le("SNH",{dataBefore:o.previous,dataAfter:o.document})})}return a._meta.lwt=Ft(),a._rev=Ui(t.token,o.previous),{document:a,previous:o.previous}}var s={originalStorageInstance:e,schema:e.schema,internals:e.internals,collectionName:e.collectionName,databaseName:e.databaseName,options:e.options,bulkWrite(o,a){var l=o.map(f=>i(f));return t.lockedRun(()=>e.bulkWrite(l,a)).then(f=>{var h={error:[],success:f.success.slice(0)},p=f.error.filter(w=>w.status===409&&!w.writeRow.previous&&!w.writeRow.document._deleted&&ye(w.documentInDb)._deleted?!0:(h.error.push(w),!1));if(p.length>0){var y=p.map(w=>({previous:w.documentInDb,document:Object.assign({},w.writeRow.document,{_rev:Ui(t.token,w.documentInDb)})}));return t.lockedRun(()=>e.bulkWrite(y,a)).then(w=>(Ua(h.error,w.error),Ua(h.success,w.success),h))}return f})},query(o){return t.lockedRun(()=>e.query(o))},count(o){return t.lockedRun(()=>e.count(o))},findDocumentsById(o,a){return t.lockedRun(()=>e.findDocumentsById(o,a))},getAttachmentData(o,a,l){return t.lockedRun(()=>e.getAttachmentData(o,a,l))},getChangedDocumentsSince:e.getChangedDocumentsSince?(o,a)=>t.lockedRun(()=>e.getChangedDocumentsSince(ye(o),a)):void 0,cleanup(o){return t.lockedRun(()=>e.cleanup(o))},remove(){return t.storageInstances.delete(s),t.lockedRun(()=>e.remove())},close(){return t.storageInstances.delete(s),t.lockedRun(()=>e.close())},changeStream(){return e.changeStream()},conflictResultionTasks(){return e.conflictResultionTasks()},resolveConflictResultionTask(o){if(o.output.isEqual)return e.resolveConflictResultionTask(o);var a=Object.assign({},o.output.documentData,{_meta:Ws(),_rev:Nn(),_attachments:{}}),l=$e(a);return delete l._meta,delete l._rev,delete l._attachments,e.resolveConflictResultionTask({id:o.id,output:{isEqual:!1,documentData:l}})}};return t.storageInstances.add(s),s}function oO(t){if(t.schema.keyCompression)throw le("UT5",{args:{params:t}});if(vd(t.schema))throw le("UT6",{args:{params:t}});if(t.schema.attachments&&t.schema.attachments.compression)throw le("UT7",{args:{params:t}})}function vd(t){return!!(t.encrypted&&t.encrypted.length>0||t.attachments&&t.attachments.encrypted)}function Y2(t,e,n){var r=$n(t.schema.primaryKey),i=n?n.lwt:yg,s=n?n.id:"";return Rl(t.schema,{selector:{$or:[{"_meta.lwt":{$gt:i}},{"_meta.lwt":{$eq:i},[r]:{$gt:n?s:""}}],"_meta.lwt":{$gte:i}},sort:[{"_meta.lwt":"asc"},{[r]:"asc"}],skip:0,limit:e})}async function aO(t,e,n){if(t.getChangedDocumentsSince)return t.getChangedDocumentsSince(e,n);var r=$n(t.schema.primaryKey),i=Jl(t.schema,Y2(t,e,n)),s=await t.query(i),o=s.documents,a=AP(o);return{documents:o,checkpoint:a?{id:a[r],lwt:a._meta.lwt}:n||{id:"",lwt:0}}}var uO=function(){function t(n,r,i,s){this.queueByDocId=new Map,this.isRunning=!1,this.storageInstance=n,this.primaryPath=r,this.preWrite=i,this.postWrite=s}var e=t.prototype;return e.addWrite=function(r,i){var s=r[this.primaryPath],o=Br(this.queueByDocId,s,()=>[]),a=new Promise((l,f)=>{var h={lastKnownDocumentState:r,modifier:i,resolve:l,reject:f};ye(o).push(h),this.triggerRun()});return a},e.triggerRun=async function(){if(!(this.isRunning===!0||this.queueByDocId.size===0)){this.isRunning=!0;var r=[],i=this.queueByDocId;this.queueByDocId=new Map,await Promise.all(Array.from(i.entries()).map(async([o,a])=>{var l=G2(a.map(p=>p.lastKnownDocumentState)),f=l;for(var h of a)try{f=await h.modifier(Mn(f))}catch(p){h.reject(p),h.reject=()=>{},h.resolve=()=>{}}try{await this.preWrite(f,l)}catch(p){a.forEach(y=>y.reject(p));return}r.push({previous:l,document:f})}));var s=r.length>0?await this.storageInstance.bulkWrite(r,"incremental-write"):{error:[],success:[]};return await Promise.all(s.success.map(o=>{var a=o[this.primaryPath];this.postWrite(o);var l=Bo(i,a);l.forEach(f=>f.resolve(o))})),s.error.forEach(o=>{var a=o.documentId,l=Bo(i,a),f=_h(o);if(f){var h=Br(this.queueByDocId,a,()=>[]);l.reverse().forEach(y=>{y.lastKnownDocumentState=ye(f.documentInDb),ye(h).unshift(y)})}else{var p=aR(o);l.forEach(y=>y.reject(p))}}),this.isRunning=!1,this.triggerRun()}},t}();function sb(t){var e=async n=>{var r=MP(n);r._deleted=n._deleted;var i=await t(r),s=Object.assign({},i,{_meta:n._meta,_attachments:n._attachments,_rev:n._rev,_deleted:typeof i._deleted<"u"?i._deleted:n._deleted});return typeof s._deleted>"u"&&(s._deleted=!1),s};return e}function G2(t){var e=t[0],n=za(e._rev).height;return t.forEach(r=>{var i=za(r._rev).height;i>n&&(e=r,n=i)}),e}var kh={get primaryPath(){var t=this;if(t.isInstanceOfRxDocument)return t.collection.schema.primaryPath},get primary(){var t=this;if(t.isInstanceOfRxDocument)return t._data[t.primaryPath]},get revision(){var t=this;if(t.isInstanceOfRxDocument)return t._data._rev},get deleted$(){var t=this;if(t.isInstanceOfRxDocument)return t.$.pipe(Mt(e=>e._data._deleted))},get deleted$$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.deleted$,t.getLatest().deleted)},get deleted(){var t=this;if(t.isInstanceOfRxDocument)return t._data._deleted},getLatest(){var t=this.collection._docCache.getLatestDocumentData(this.primary);return this.collection._docCache.getCachedRxDocument(t)},get $(){var t=this;return t.collection.$.pipe(lt(e=>!e.isLocal),lt(e=>e.documentId===this.primary),Mt(e=>xg(e)),Hl(t.collection._docCache.getLatestDocumentData(this.primary)),Ms((e,n)=>e._rev===n._rev),Mt(e=>this.collection._docCache.getCachedRxDocument(e)),Pi(Ai))},get $$(){var t=this,e=t.collection.database.getReactivityFactory();return e.fromObservable(t.$,t.getLatest()._data)},get$(t){if(it.isDevMode()){if(t.includes(".item."))throw le("DOC1",{path:t});if(t===this.primaryPath)throw le("DOC2");if(this.collection.schema.finalFields.includes(t))throw le("DOC3",{path:t});var e=zi(this.collection.schema.jsonSchema,t);if(!e)throw le("DOC4",{path:t})}return this.$.pipe(Mt(n=>Ts(n,t)),Ms())},get$$(t){var e=this.get$(t),n=this.collection.database.getReactivityFactory();return n.fromObservable(e,this.getLatest().get(t))},populate(t){var e=zi(this.collection.schema.jsonSchema,t),n=this.get(t);if(!n)return vg;if(!e)throw le("DOC5",{path:t});if(!e.ref)throw le("DOC6",{path:t,schemaObj:e});var r=this.collection.database.collections[e.ref];if(!r)throw le("DOC7",{ref:e.ref,path:t,schemaObj:e});return e.type==="array"?r.findByIds(n).exec().then(i=>{var s=i.values();return Array.from(s)}):r.findOne(n).exec()},get(t){return Br(this._propertyCache,t,()=>{var e=Ts(this._data,t);if(typeof e!="object"||e===null||Array.isArray(e))return it.deepFreezeWhenDevMode(e);var n=this,r=new Proxy($e(e),{get(i,s){if(typeof s!="string")return i[s];var o=s.charAt(s.length-1);if(s.endsWith("$$")){var a=s.slice(0,-2);return n.get$$(zu(t+"."+a))}else if(o==="$"){var l=s.slice(0,-1);return n.get$(zu(t+"."+l))}else if(o==="_"){var f=s.slice(0,-1);return n.populate(zu(t+"."+f))}else return n.get(zu(t+"."+s))}});return r})},toJSON(t=!1){if(t)return it.deepFreezeWhenDevMode(this._data);var e=$e(this._data);return delete e._rev,delete e._attachments,delete e._deleted,delete e._meta,it.deepFreezeWhenDevMode(e)},toMutableJSON(t=!1){return Mn(this.toJSON(t))},update(t){throw pt("update")},incrementalUpdate(t){throw pt("update")},updateCRDT(t){throw pt("crdt")},putAttachment(){throw pt("attachments")},getAttachment(){throw pt("attachments")},allAttachments(){throw pt("attachments")},get allAttachments$(){throw pt("attachments")},async modify(t,e){var n=this._data,r=await sb(t)(n);return this._saveData(r,n)},incrementalModify(t,e){return this.collection.incrementalWriteQueue.addWrite(this._data,sb(t)).then(n=>this.collection._docCache.getCachedRxDocument(n))},patch(t){var e=this._data,n=Mn(e);return Object.entries(t).forEach(([r,i])=>{n[r]=i}),this._saveData(n,e)},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t,e){if(t=$e(t),this._data._deleted)throw le("DOC11",{id:this.primary,document:this});await cO(this.collection,t,e);var n=await this.collection.storageInstance.bulkWrite([{previous:e,document:t}],"rx-document-save-data"),r=n.error[0];return yd(this.collection,this.primary,t,r),await this.collection._runHooks("post","save",t,this),this.collection._docCache.getCachedRxDocument(n.success[0])},remove(){var t=this.collection;if(this.deleted)return Promise.reject(le("DOC13",{document:this,id:this.primary}));var e=$e(this._data),n;return t._runHooks("pre","remove",e,this).then(async()=>{e._deleted=!0;var r=await t.storageInstance.bulkWrite([{previous:this._data,document:e}],"rx-document-remove"),i=r.error[0];return yd(t,this.primary,e,i),r.success[0]}).then(r=>(n=r,this.collection._runHooks("post","remove",e,this))).then(()=>this.collection._docCache.getCachedRxDocument(n))},incrementalRemove(){return this.incrementalModify(async t=>(await this.collection._runHooks("pre","remove",t,this),t._deleted=!0,t)).then(async t=>(await this.collection._runHooks("post","remove",t._data,t),t))},destroy(){throw le("DOC14")}};function lO(t=kh){var e=function(r,i){this.collection=r,this._data=i,this._propertyCache=new Map,this.isInstanceOfRxDocument=!0};return e.prototype=t,e}function J2(t,e,n){var r=new t(e,n);return Fr("createRxDocument",r),r}function cO(t,e,n){return e._meta=Object.assign({},n._meta,e._meta),it.isDevMode()&&t.schema.validateChange(n,e),t._runHooks("pre","save",e,n)}var xo="collection",zg="storage-token",Pf="rx-migration-status",X2="RxInternalDocument",Vg=bh({version:0,title:X2,primaryKey:{key:"id",fields:["context","key"],separator:"|"},type:"object",properties:{id:{type:"string",maxLength:200},key:{type:"string"},context:{type:"string",enum:[xo,zg,Pf,"OTHER"]},data:{type:"object",additionalProperties:!0}},indexes:[],required:["key","context","data"],additionalProperties:!1,sharding:{shards:1,mode:"collection"}});function Ha(t,e){return qs(Vg,{key:t,context:e})}async function Kg(t){var e=Jl(t.schema,{selector:{context:xo,_deleted:{$eq:!1}},sort:[{id:"asc"}],skip:0}),n=await t.query(e),r=n.documents;return r}var fO="storageToken",Z2=Ha(fO,zg);async function eN(t){var e=iu(10),n=t.password?await t.hashFunction(JSON.stringify(t.password)):void 0,r={id:Z2,context:zg,key:fO,data:{rxdbVersion:t.rxdbVersion,token:e,instanceToken:t.token,passwordHash:n},_deleted:!1,_meta:Ws(),_rev:Nn(),_attachments:{}},i=await t.internalStore.bulkWrite([{document:r}],"internal-add-storage-token");if(i.success[0])return i.success[0];var s=ye(i.error[0]);if(s.isError&&_h(s)){var o=s;if(!tN(o.documentInDb.data.rxdbVersion,t.rxdbVersion))throw le("DM5",{args:{database:t.name,databaseStateVersion:o.documentInDb.data.rxdbVersion,codeVersion:t.rxdbVersion}});if(n&&n!==o.documentInDb.data.passwordHash)throw le("DB1",{passwordHash:n,existingPasswordHash:o.documentInDb.data.passwordHash});var a=o.documentInDb;return ye(a)}throw s}function tN(t,e){if(!t||e.includes("beta")&&e!==t)return!1;var n=t.split(".")[0],r=e.split(".")[0];return n===r}async function dO(t,e,n){if(t.schema.version!==n.version)throw le("SNH",{schema:n,version:t.schema.version,name:t.name,collection:t,args:{storageCollectionName:e}});for(var r=zy(t.name,t.schema.jsonSchema),i=Ha(r,xo);;){var s=await Xl(t.database.internalStore,i),o=Mn(ye(s)),a=o.data.connectedStorages.find(l=>l.collectionName===e&&l.schema.version===n.version);if(a)return;o.data.connectedStorages.push({collectionName:e,schema:n});try{await Tl(t.database.internalStore,{previous:ye(s),document:o},"add-connected-storage-to-collection")}catch(l){if(!_h(l))throw l}}}function zy(t,e){return t+"-"+e.version}function dm(t,e){return e=$e(e),e=dR(t,e),e=oE(t.primaryPath,t.jsonSchema,e),e._meta=Ws(),Object.prototype.hasOwnProperty.call(e,"_deleted")||(e._deleted=!1),Object.prototype.hasOwnProperty.call(e,"_attachments")||(e._attachments={}),Object.prototype.hasOwnProperty.call(e,"_rev")||(e._rev=Nn()),e}async function nN(t,e){e.multiInstance=t.multiInstance;var n=await t.storage.createStorageInstance(e);return n}async function hO(t,e,n,r,i,s,o){var a=await Kg(e),l=a.filter(y=>y.data.name===i),f=[];l.forEach(y=>{f.push({collectionName:y.data.name,schema:y.data.schema,isCollection:!0}),y.data.connectedStorages.forEach(w=>f.push({collectionName:w.collectionName,isCollection:!1,schema:w.schema}))});var h=new Set;if(f=f.filter(y=>{var w=y.collectionName+"||"+y.schema.version;return h.has(w)?!1:(h.add(w),!0)}),await Promise.all(f.map(async y=>{var w=await t.createStorageInstance({collectionName:y.collectionName,databaseInstanceToken:n,databaseName:r,multiInstance:!1,options:{},schema:y.schema,password:s,devMode:it.isDevMode()});await w.remove(),y.isCollection&&await Fo("postRemoveRxCollection",{storage:t,databaseName:r,collectionName:i})})),o){var p=l.map(y=>{var w=jg(y);return w._deleted=!0,w._meta.lwt=Ft(),w._rev=Ui(n,y),{previous:y,document:w}});await e.bulkWrite(p,"rx-database-remove-collection-all")}}var rN=function(){function t(n){this.subs=[],this.limit=100,this.counter=0,this.eventCounterMap=new WeakMap,this.buffer=[],this.collection=n,this.subs.push(this.collection.$.pipe(lt(r=>!r.isLocal)).subscribe(r=>this._handleChangeEvent(r)))}var e=t.prototype;return e._handleChangeEvent=function(r){for(this.counter++,this.buffer.push(r),this.eventCounterMap.set(r,this.counter);this.buffer.length>this.limit;)this.buffer.shift()},e.getArrayIndexByPointer=function(r){var i=this.buffer[0],s=this.eventCounterMap.get(i);if(ri(o))},e.reduceByLastOfDoc=function(r){return r.slice(0)},e.destroy=function(){this.subs.forEach(r=>r.unsubscribe())},t}();function iN(t){return new rN(t)}var sN=new WeakMap;function oN(t){var e=t.schema.getDocumentPrototype(),n=lN(t),r=kh,i={};return[e,n,r].forEach(s=>{var o=Object.getOwnPropertyNames(s);o.forEach(a=>{var l=Object.getOwnPropertyDescriptor(s,a),f=!0;(a.startsWith("_")||a.endsWith("_")||a.startsWith("$")||a.endsWith("$"))&&(f=!1),typeof l.value=="function"?Object.defineProperty(i,a,{get(){return l.value.bind(this)},enumerable:f,configurable:!1}):(l.enumerable=f,l.configurable=!1,l.writable&&(l.writable=!1),Object.defineProperty(i,a,l))})}),i}function aN(t){return Br(sN,t,()=>lO(oN(t)))}function uN(t,e){var n=J2(aN(t),t,it.deepFreezeWhenDevMode(e));return t._runHooksSync("post","create",e,n),Fr("postCreateRxDocument",n),n}function lN(t){var e={};return Object.entries(t.methods).forEach(([n,r])=>{e[n]=r}),e}async function gd(t,e){var n=qs(t.input.metaInstance.schema,{isCheckpoint:"1",itemId:e}),r=await t.input.metaInstance.findDocumentsById([n],!1),i=r[0];if(t.lastCheckpointDoc[e]=i,i)return i.checkpointData}async function wd(t,e,n){t.checkpointQueue=t.checkpointQueue.then(async()=>{var r=t.lastCheckpointDoc[e];if(n&&!t.events.canceled.getValue()&&(!r||JSON.stringify(r.checkpointData)!==JSON.stringify(n))){var i={id:"",isCheckpoint:"1",itemId:e,_deleted:!1,_attachments:{},checkpointData:n,_meta:Ws(),_rev:Nn()};for(i.id=qs(t.input.metaInstance.schema,i);!t.events.canceled.getValue();){if(r&&(i.checkpointData=Ml([r.checkpointData,i.checkpointData])),i._meta.lwt=Ft(),i._rev=Ui(await t.checkpointKey,r),t.events.canceled.getValue())return;var s=await t.input.metaInstance.bulkWrite([{previous:r,document:i}],"replication-set-checkpoint"),o=s.success[0];if(o){t.lastCheckpointDoc[e]=o;return}else{var a=s.error[0];if(a.status!==409)throw a;r=ye(a.documentInDb),i._rev=Ui(await t.checkpointKey,r)}}}}),await t.checkpointQueue}async function cN(t){var e=await t.hashFunction([t.identifier,t.forkInstance.databaseName,t.forkInstance.collectionName].join("||"));return"rx_storage_replication_"+e}function ob(t,e,n,r,i){var s=Object.assign({},r,{_attachments:e&&r._attachments?r._attachments:{},_meta:n?r._meta:{lwt:Ft()},_rev:n?r._rev:Nn()});return s._rev||(s._rev=Ui(t,i)),s}function cs(t,e,n){var r=$e(t);return e||delete r._attachments,n||(delete r._meta,delete r._rev),r}function Vy(t,e){return t.hasAttachments?e.map(n=>{var r=Mn(n.document);return r.docData=gs(r.docData),{document:r,previous:n.previous}}):e}function Ky(t){for(;;)if(t.underlyingPersistentStorage)t=t.underlyingPersistentStorage;else return t}var Rf="RxReplicationProtocolMetaData";function Wy(t,e){var n=uR(t),r={title:Rf,primaryKey:{key:"id",fields:["itemId","isCheckpoint"],separator:"|"},type:"object",version:t.version,additionalProperties:!1,properties:{id:{type:"string",minLength:1,maxLength:n+2},isCheckpoint:{type:"string",enum:["0","1"],minLength:1,maxLength:1},itemId:{type:"string",maxLength:n>4?n:4},checkpointData:{type:"object",additionalProperties:!0},docData:{type:"object",properties:t.properties},isResolvedConflict:{type:"string"}},keyCompression:t.keyCompression,required:["id","isCheckpoint","itemId"]};e&&(r.encrypted=["docData"]);var i=bh(r);return i}function pO(t,e){return t.input.metaInstance.findDocumentsById(e.map(n=>{var r=qs(t.input.metaInstance.schema,{itemId:n,isCheckpoint:"0"});return r}),!0).then(n=>{var r={};return Object.values(n).forEach(i=>{r[i.itemId]={docData:i.docData,metaDocument:i}}),r})}async function _d(t,e,n,r){var i=e[t.primaryPath],s=n?jg(n):{id:"",isCheckpoint:"0",itemId:i,docData:e,_attachments:{},_deleted:!1,_rev:Nn(),_meta:{lwt:0}};s.docData=e,r&&(s.isResolvedConflict=r),s._meta.lwt=Ft(),s.id=qs(t.input.metaInstance.schema,s),s._rev=Ui(await t.checkpointKey,n);var o={previous:n,document:s};return o}async function fN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.downstream){var e=await gd(t,"down");e||await wd(t,"down",t.input.initialCheckpoint.downstream)}var n=await t.input.hashFunction(t.input.identifier),r=t.input.replicationHandler,i=0,s=[];function o(I){t.stats.down.addNewTask=t.stats.down.addNewTask+1;var E={time:i++,task:I};s.push(E),t.streamQueue.down=t.streamQueue.down.then(()=>{for(var $=[];s.length>0;){t.events.active.down.next(!0);var S=ye(s.shift());if(!(S.time{t.events.active.down.next(!1),!t.firstSyncDone.down.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.down.next(!0)})}if(o("RESYNC"),!t.events.canceled.getValue()){var a=r.masterChangeStream$.pipe(Lr(async I=>(await As(t.events.active.up.pipe(lt(E=>!E))),I))).subscribe(I=>{t.stats.down.masterChangeStreamEmit=t.stats.down.masterChangeStreamEmit+1,o(I)});As(t.events.canceled.pipe(lt(I=>!!I))).then(()=>a.unsubscribe())}var l=-1;async function f(){if(t.stats.down.downstreamResyncOnce=t.stats.down.downstreamResyncOnce+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"down"));for(var I=await t.checkpointQueue,E=[];!t.events.canceled.getValue();){l=i++;var $=await r.masterChangesSince(I,t.input.pullBatchSize);if($.documents.length===0||(I=Ml([I,$.checkpoint]),E.push(w($.documents,I)),$.documents.length{if(S==="RESYNC")throw new Error("SNH");Ua(E,S.documents),$=Ml([$,S.checkpoint])}),w(E,ye($))}var p=un,y={docs:{}};function w(I,E){var $=t.primaryPath;return t.stats.down.persistFromMaster=t.stats.down.persistFromMaster+1,I.forEach(S=>{var _=S[$];y.docs[_]=S}),y.checkpoint=E,p=p.then(()=>{var S=y.docs;y.docs={};var _=y.checkpoint,k=Object.keys(S);if(t.events.canceled.getValue()||k.length===0)return un;var z=[],W={},Q={},H=[];return Promise.all([t.input.forkInstance.findDocumentsById(k,!0),pO(t,k)]).then(([X,U])=>{var ee=new Map;return X.forEach(ce=>ee.set(ce[$],ce)),Promise.all(k.map(async ce=>{var de=ee.get(ce),Pe=de?cs(de,t.hasAttachments,!1):void 0,ot=S[ce],ct=U[ce];if(ct&&de&&ct.metaDocument.isResolvedConflict===de._rev)return un;var Te=!ct||!Pe?!1:await t.input.conflictHandler({realMasterState:ct.docData,newDocumentState:Pe},"downstream-check-if-equal-0").then(Re=>Re.isEqual);if(!Te&&ct&&ct.docData._rev&&de&&de._meta[t.input.identifier]&&za(de._rev).height===de._meta[t.input.identifier]&&(Te=!0),de&&ct&&Te===!1||de&&!ct)return un;var Dt=Pe?await t.input.conflictHandler({realMasterState:ot,newDocumentState:Pe},"downstream-check-if-equal-1").then(Re=>Re.isEqual):!1;if(Pe&&Dt)return(!ct||Te===!1)&&H.push(await _d(t,Pe,ct?ct.metaDocument:void 0)),un;var G=Object.assign({},ot,de?{_meta:$e(de._meta),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{},_rev:Nn()}:{_meta:{lwt:Ft()},_rev:Nn(),_attachments:t.hasAttachments&&ot._attachments?ot._attachments:{}});if(ot._rev){var oe=de?za(de._rev).height+1:1;G._meta[t.input.identifier]=oe,t.input.keepMeta&&(G._rev=ot._rev)}t.input.keepMeta&&ot._meta&&(G._meta=ot._meta);var ue={previous:de,document:G};ue.document._rev=ue.document._rev?ue.document._rev:Ui(n,ue.previous),z.push(ue),W[ce]=ue,Q[ce]=await _d(t,ot,ct?ct.metaDocument:void 0)}))}).then(async()=>{if(z.length>0)return t.input.forkInstance.bulkWrite(z,await t.downstreamBulkWriteFlag).then(X=>{X.success.forEach(U=>{var ee=U[$];t.events.processed.down.next(W[ee]),H.push(Q[ee])}),X.error.forEach(U=>{U.status!==409&&t.events.error.next(le("RC_PULL",{writeError:U}))})})}).then(()=>{if(H.length>0)return t.input.metaInstance.bulkWrite(Vy(t,H),"replication-down-write-meta").then(X=>{X.error.forEach(U=>{t.events.error.next(le("RC_PULL",{id:U.documentId,writeError:U}))})})}).then(()=>{wd(t,"down",_)})}).catch(S=>t.events.error.next(S)),p}}var bd=function(t,e){var n=gs(t.newDocumentState),r=gs(t.realMasterState);return Va(n,r)?Promise.resolve({isEqual:!0}):Promise.resolve({isEqual:!1,documentData:t.realMasterState})};async function dN(t,e,n){var r=t.input.conflictHandler,i=await r(e,"replication-resolve-conflict");if(!i.isEqual){var s=Object.assign({},i.documentData,{_meta:$e(n._meta),_rev:Nn(),_attachments:$e(n._attachments)});return s._meta.lwt=Ft(),s._rev=Ui(await t.checkpointKey,n),{resolvedDoc:s,output:i}}}async function qy(t,e,n,r){if(!n._attachments||r&&!r._attachments)throw new Error("_attachments missing");var i=n[t],s=new Set(r&&r._attachments?Object.keys(r._attachments):[]);return await Promise.all(Object.entries(n._attachments).map(async([o,a])=>{if((!s.has(o)||r&&ye(r._attachments)[o].digest!==a.digest)&&!a.data){var l=await e.getAttachmentData(i,o,a.digest);a.data=l}})),n}async function hN(t){if(t.input.initialCheckpoint&&t.input.initialCheckpoint.upstream){var e=await gd(t,"up");e||await wd(t,"up",t.input.initialCheckpoint.upstream)}var n=t.input.replicationHandler;t.streamQueue.up=t.streamQueue.up.then(()=>f().then(()=>{h()}));var r=0,i=-1,s=[],o=Xn,a={docs:{}},l=t.input.forkInstance.changeStream().subscribe(async y=>{if(y.context!==await t.downstreamBulkWriteFlag)return t.stats.up.forkChangeStreamEmit=t.stats.up.forkChangeStreamEmit+1,s.push({task:y,time:r++}),t.events.active.up.getValue()||t.events.active.up.next(!0),t.input.waitBeforePersist?t.input.waitBeforePersist().then(()=>h()):h()});As(t.events.canceled.pipe(lt(y=>!!y))).then(()=>l.unsubscribe());async function f(){if(t.stats.up.upstreamInitialSync=t.stats.up.upstreamInitialSync+1,!t.events.canceled.getValue()){t.checkpointQueue=t.checkpointQueue.then(()=>gd(t,"up"));for(var y=await t.checkpointQueue,w=new Set,I=async function(){i=r++,w.size>3&&await Promise.race(Array.from(w));var S=await aO(t.input.forkInstance,t.input.pushBatchSize,y);if(S.documents.length===0)return 1;y=Ml([y,S.checkpoint]);var _=p(S.documents,ye(y));w.add(_),_.catch().then(()=>w.delete(_))};!t.events.canceled.getValue()&&!await I(););var E=await Promise.all(w),$=E.find(S=>!!S);$?await f():!t.firstSyncDone.up.getValue()&&!t.events.canceled.getValue()&&t.firstSyncDone.up.next(!0)}}function h(){if(t.events.canceled.getValue()||s.length===0){t.events.active.up.next(!1);return}t.stats.up.processTasks=t.stats.up.processTasks+1,t.events.active.up.next(!0),t.streamQueue.up=t.streamQueue.up.then(()=>{for(var y=[],w={};s.length>0;){var I=ye(s.shift());I.time$.documentData)),w=Ml([w,I.task.checkpoint]))}var E=y.length===0?Xn:p(y,w);return E.then(()=>{s.length===0?t.events.active.up.next(!1):h()})})}function p(y,w){return t.stats.up.persistToMaster=t.stats.up.persistToMaster+1,y.forEach(I=>{var E=I[t.primaryPath];a.docs[E]=I}),a.checkpoint=w,o=o.then(async()=>{if(t.events.canceled.getValue())return!1;var I=a.docs;a.docs={};var E=a.checkpoint,$=Object.keys(I);if($.length===0)return!1;var S=await pO(t,$),_={},k=[],z={},W={};if(await Promise.all($.map(async Te=>{var Dt=I[Te];W[Te]=Dt;var G=cs(Dt,t.hasAttachments,!!t.input.keepMeta),oe=S[Te];oe&&oe.metaDocument.isResolvedConflict!==Dt._rev&&(await t.input.conflictHandler({realMasterState:oe.docData,newDocumentState:G},"upstream-check-if-equal")).isEqual||oe&&oe.docData._rev&&za(Dt._rev).height===Dt._meta[t.input.identifier]||(k.push(Te),_[Te]={assumedMasterState:oe?oe.docData:void 0,newDocumentState:G},z[Te]=await _d(t,G,oe?oe.metaDocument:void 0))})),k.length===0)return!1;var Q=Object.values(_),H=new Set,X={},U=PP(Q,t.input.pushBatchSize);await Promise.all(U.map(async Te=>{t.hasAttachments&&await Promise.all(Te.map(async G=>{G.newDocumentState=await qy(t.primaryPath,t.input.forkInstance,Mn(G.newDocumentState),G.assumedMasterState)}));var Dt=await n.masterWrite(Te);Dt.forEach(G=>{var oe=G[t.primaryPath];H.add(oe),X[oe]=G})}));var ee=[];if(k.forEach(Te=>{H.has(Te)||(t.events.processed.up.next(_[Te]),ee.push(z[Te]))}),t.events.canceled.getValue())return!1;ee.length>0&&await t.input.metaInstance.bulkWrite(Vy(t,ee),"replication-up-write-meta");var ce=!1;if(H.size>0){t.stats.up.persistToMasterHadConflicts=t.stats.up.persistToMasterHadConflicts+1;var de=[],Pe={};if(await Promise.all(Object.entries(X).map(([Te,Dt])=>{var G=_[Te],oe={newDocumentState:G.newDocumentState,assumedMasterState:G.assumedMasterState,realMasterState:Dt};return dN(t,oe,W[Te]).then(async ue=>{if(ue){t.events.resolvedConflicts.next({input:oe,output:ue.output}),de.push({previous:W[Te],document:ue.resolvedDoc});var Re=S[Te];Pe[Te]=await _d(t,ye(Dt),Re?Re.metaDocument:void 0,ue.resolvedDoc._rev)}})})),de.length>0){ce=!0,t.stats.up.persistToMasterConflictWrites=t.stats.up.persistToMasterConflictWrites+1;var ot=await t.input.forkInstance.bulkWrite(de,"replication-up-write-conflict"),ct=[];ot.success.forEach(Te=>{var Dt=Te[t.primaryPath];ct.push(Pe[Dt])}),ct.length>0&&await t.input.metaInstance.bulkWrite(Vy(t,ct),"replication-up-write-conflict-meta")}}return wd(t,"up",E),ce}).catch(I=>(t.events.error.next(I),!1)),o}}function mO(t){t=$e(t),t.forkInstance=Ky(t.forkInstance),t.metaInstance=Ky(t.metaInstance);var e=cN(t),n={primaryPath:$n(t.forkInstance.schema.primaryKey),hasAttachments:!!t.forkInstance.schema.attachments,input:t,checkpointKey:e,downstreamBulkWriteFlag:e.then(r=>"replication-downstream-"+r),events:{canceled:new Cr(!1),active:{down:new Cr(!0),up:new Cr(!0)},processed:{down:new Kt,up:new Kt},resolvedConflicts:new Kt,error:new Kt},stats:{down:{addNewTask:0,downstreamProcessChanges:0,downstreamResyncOnce:0,masterChangeStreamEmit:0,persistFromMaster:0},up:{forkChangeStreamEmit:0,persistToMaster:0,persistToMasterConflictWrites:0,persistToMasterHadConflicts:0,processTasks:0,upstreamInitialSync:0}},firstSyncDone:{down:new Cr(!1),up:new Cr(!1)},streamQueue:{down:un,up:un},checkpointQueue:un,lastCheckpointDoc:{}};return fN(n),hN(n),n}function Tf(t){return As(PE([t.firstSyncDone.down.pipe(lt(e=>!!e)),t.firstSyncDone.up.pipe(lt(e=>!!e))])).then(()=>{})}function ab(t){return Promise.all([t.streamQueue.up,t.streamQueue.down,t.checkpointQueue])}function pN(t,e,n,r=!1){t=Ky(t);var i=!!t.schema.attachments,s=$n(t.schema.primaryKey),o={masterChangeStream$:t.changeStream().pipe(Lr(async a=>{var l={checkpoint:a.checkpoint,documents:await Promise.all(a.events.map(async f=>{var h=cs(f.documentData,i,r);return i&&(h=await qy(s,t,Mn(h),void 0)),h}))};return l})),masterChangesSince(a,l){return aO(t,l,a).then(async f=>({checkpoint:f.documents.length>0?f.checkpoint:a,documents:await Promise.all(f.documents.map(async h=>{var p=cs(h,i,r);return i&&(p=await qy(s,t,Mn(p),void 0)),p}))}))},async masterWrite(a){var l={};a.forEach(E=>{var $=E.newDocumentState[s];l[$]=E});var f=Object.keys(l),h=await t.findDocumentsById(f,!0),p=new Map;h.forEach(E=>p.set(E[s],E));var y=[],w=[];if(await Promise.all(Object.entries(l).map(async([E,$])=>{var S=p.get(E);S?S&&!$.assumedMasterState?y.push(cs(S,i,r)):(await e({realMasterState:cs(S,i,r),newDocumentState:ye($.assumedMasterState)},"rxStorageInstanceToReplicationHandler-masterWrite")).isEqual===!0?w.push({previous:S,document:ob(n,i,r,$.newDocumentState,S)}):y.push(cs(S,i,r)):w.push({document:ob(n,i,r,$.newDocumentState)})})),w.length>0){var I=await t.bulkWrite(w,"replication-master-write");I.error.forEach(E=>{if(E.status!==409)throw new Error("non conflict error");y.push(cs(ye(E.documentInDb),i,r))})}return y}};return o}async function yO(t){t.events.canceled.next(!0),t.events.active.up.complete(),t.events.active.down.complete(),t.events.processed.up.complete(),t.events.processed.down.complete(),t.events.resolvedConflicts.complete(),t.events.canceled.complete(),await t.checkpointQueue}var vO=["pre","post"],gO=["insert","save","remove","create"],ub=!1,wO=function(){function t(n,r,i,s,o={},a={},l={},f={},h={},p=XE,y={},w=bd){this.storageInstance={},this.timeouts=new Set,this.incrementalWriteQueue={},this._incrementalUpsertQueues=new Map,this.synced=!1,this.hooks={},this._subs=[],this._docCache={},this._queryCache=x2(),this.$={},this.checkpoint$={},this._changeEventBuffer={},this.onDestroy=[],this.destroyed=!1,this.database=n,this.name=r,this.schema=i,this.internalStorageInstance=s,this.instanceCreationOptions=o,this.migrationStrategies=a,this.methods=l,this.attachments=f,this.options=h,this.cacheReplacementPolicy=p,this.statics=y,this.conflictHandler=w,mN(this.asRxCollection)}var e=t.prototype;return e.prepare=async function(){this.storageInstance=Ug(this.database,this.internalStorageInstance,this.schema.jsonSchema),this.incrementalWriteQueue=new uO(this.storageInstance,this.schema.primaryPath,(o,a)=>cO(this,o,a),o=>this._runHooks("post","save",o));var r=this.database.eventBulks$.pipe(lt(o=>o.collectionName===this.name));this.$=r.pipe(Lr(o=>o.events)),this.checkpoint$=r.pipe(Mt(o=>o.checkpoint)),this._changeEventBuffer=iN(this.asRxCollection),this._docCache=new ZE(this.schema.primaryPath,this.$.pipe(lt(o=>!o.isLocal)),o=>uN(this.asRxCollection,o));var i=await this.database.storageToken,s=this.storageInstance.changeStream().subscribe(o=>{var a={id:o.id,internal:!1,collectionName:this.name,storageToken:i,events:o.events.map(l=>iO(!1,l,this)),databaseToken:this.database.token,checkpoint:o.checkpoint,context:o.context,endTime:o.endTime,startTime:o.startTime};this.database.$emit(a)});return this._subs.push(s),this._subs.push(this.storageInstance.conflictResultionTasks().subscribe(o=>{this.conflictHandler(o.input,o.context).then(a=>{this.storageInstance.resolveConflictResultionTask({id:o.id,output:a})})})),un},e.cleanup=function(r){throw pt("cleanup")},e.migrationNeeded=function(){throw pt("migration-schema")},e.getMigrationState=function(){throw pt("migration-schema")},e.startMigration=function(r=10){return this.getMigrationState().startMigration(r)},e.migratePromise=function(r=10){return this.getMigrationState().migratePromise(r)},e.insert=async function(r){var i=await this.bulkInsert([r]),s=i.error[0];yd(this,r[this.schema.primaryPath],r,s);var o=ye(i.success[0]);return o},e.bulkInsert=async function(r){if(r.length===0)return{success:[],error:[]};var i=this.schema.primaryPath,s=r.map(p=>{var y=dm(this.schema,p);return y}),o=this.hasHooks("pre","insert")?await Promise.all(s.map(p=>this._runHooks("pre","insert",p).then(()=>p))):s,a=o.map(p=>{var y={document:p};return y}),l=await this.storageInstance.bulkWrite(a,"rx-collection-bulk-insert"),f=eO(this._docCache,l.success);if(this.hasHooks("post","insert")){var h=new Map;o.forEach(p=>{h.set(p[i],p)}),await Promise.all(f.map(p=>this._runHooks("post","insert",h.get(p.primary),p)))}return{success:f,error:l.error}},e.bulkRemove=async function(r){var i=this.schema.primaryPath;if(r.length===0)return{success:[],error:[]};var s=await this.findByIds(r).exec(),o=[],a=new Map;Array.from(s.values()).forEach(y=>{var w=y.toMutableJSON(!0);o.push(w),a.set(y.primary,w)}),await Promise.all(o.map(y=>{var w=y[this.schema.primaryPath];return this._runHooks("pre","remove",y,s.get(w))}));var l=o.map(y=>{var w=$e(y);return w._deleted=!0,{previous:y,document:w}}),f=await this.storageInstance.bulkWrite(l,"rx-collection-bulk-remove"),h=f.success.map(y=>y[i]);await Promise.all(h.map(y=>this._runHooks("post","remove",a.get(y),s.get(y))));var p=h.map(y=>Bo(s,y));return{success:p,error:f.error}},e.bulkUpsert=async function(r){var i=[],s=new Map;r.forEach(f=>{var h=dm(this.schema,f),p=h[this.schema.primaryPath];if(!p)throw le("COL3",{primaryPath:this.schema.primaryPath,data:h,schema:this.schema.jsonSchema});s.set(p,h),i.push(h)});var o=await this.bulkInsert(i),a=o.success.slice(0),l=[];return await Promise.all(o.error.map(async f=>{if(f.status!==409)l.push(f);else{var h=f.documentId,p=Bo(s,h),y=ye(f.documentInDb),w=this._docCache.getCachedRxDocument(y),I=await w.incrementalModify(()=>p);a.push(I)}})),{error:l,success:a}},e.upsert=async function(r){var i=await this.bulkUpsert([r]);return yd(this.asRxCollection,r[this.schema.primaryPath],r,i.error[0]),i.success[0]},e.incrementalUpsert=function(r){var i=dm(this.schema,r),s=i[this.schema.primaryPath];if(!s)throw le("COL4",{data:r});var o=this._incrementalUpsertQueues.get(s);return o||(o=un),o=o.then(()=>vN(this,s,i)).then(a=>a.inserted?a.doc:yN(a.doc,i)),this._incrementalUpsertQueues.set(s,o),o},e.find=function(r){if(typeof r=="string")throw le("COL5",{queryObj:r});r||(r=tl());var i=na("find",r,this);return i},e.findOne=function(r){if(typeof r=="number"||Array.isArray(r))throw el("COL6",{queryObj:r});var i;if(typeof r=="string")i=na("findOne",{selector:{[this.schema.primaryPath]:r},limit:1},this);else{if(r||(r=tl()),r.limit)throw le("QU6");r=$e(r),r.limit=1,i=na("findOne",r,this)}return i},e.count=function(r){r||(r=tl());var i=na("count",r,this);return i},e.findByIds=function(r){var i={selector:{[this.schema.primaryPath]:{$in:r.slice(0)}}},s=na("findByIds",i,this);return s},e.exportJSON=function(){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.insertCRDT=function(r){throw pt("crdt")},e.addHook=function(r,i,s,o=!1){if(typeof s!="function")throw el("COL7",{key:i,when:r});if(!vO.includes(r))throw el("COL8",{key:i,when:r});if(!gO.includes(i))throw le("COL9",{key:i});if(r==="post"&&i==="create"&&o===!0)throw le("COL10",{when:r,key:i,parallel:o});var a=s.bind(this),l=o?"parallel":"series";this.hooks[i]=this.hooks[i]||{},this.hooks[i][r]=this.hooks[i][r]||{series:[],parallel:[]},this.hooks[i][r][l].push(a)},e.getHooks=function(r,i){return!this.hooks[i]||!this.hooks[i][r]?{series:[],parallel:[]}:this.hooks[i][r]},e.hasHooks=function(r,i){var s=this.getHooks(r,i);return s?s.series.length>0||s.parallel.length>0:!1},e._runHooks=function(r,i,s,o){var a=this.getHooks(r,i);if(!a)return un;var l=a.series.map(f=>()=>f(s,o));return JP(l).then(()=>Promise.all(a.parallel.map(f=>f(s,o))))},e._runHooksSync=function(r,i,s,o){var a=this.getHooks(r,i);a&&a.series.forEach(l=>l(s,o))},e.promiseWait=function(r){var i=new Promise(s=>{var o=setTimeout(()=>{this.timeouts.delete(o),s()},r);this.timeouts.add(o)});return i},e.destroy=function(){return this.destroyed?Xn:(this.destroyed=!0,Array.from(this.timeouts).forEach(r=>clearTimeout(r)),this._changeEventBuffer&&this._changeEventBuffer.destroy(),this.database.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>this.storageInstance.close()).then(()=>(this._subs.forEach(r=>r.unsubscribe()),delete this.database.collections[this.name],Fo("postDestroyRxCollection",this).then(()=>!0))))},e.remove=async function(){await this.destroy(),await hO(this.database.storage,this.database.internalStore,this.database.token,this.database.name,this.name,this.database.password,this.database.hashFunction)},Ks(t,[{key:"insert$",get:function(){return this.$.pipe(lt(n=>n.operation==="INSERT"))}},{key:"update$",get:function(){return this.$.pipe(lt(n=>n.operation==="UPDATE"))}},{key:"remove$",get:function(){return this.$.pipe(lt(n=>n.operation==="DELETE"))}},{key:"asRxCollection",get:function(){return this}}]),t}();function mN(t){if(!ub){ub=!0;var e=Object.getPrototypeOf(t);gO.forEach(n=>{vO.map(r=>{var i=r+eE(n);e[i]=function(s,o){return this.addHook(r,n,s,o)}})})}}function yN(t,e){return t.incrementalModify(n=>e)}function vN(t,e,n){var r=t._docCache.getLatestDocumentDataIfExists(e);return r?Promise.resolve({doc:t._docCache.getCachedRxDocument(r),inserted:!1}):t.findOne(e).exec().then(i=>i?{doc:i,inserted:!1}:t.insert(n).then(s=>({doc:s,inserted:!0})))}function gN({database:t,name:e,schema:n,instanceCreationOptions:r={},migrationStrategies:i={},autoMigrate:s=!0,statics:o={},methods:a={},attachments:l={},options:f={},localDocuments:h=!1,cacheReplacementPolicy:p=XE,conflictHandler:y=bd}){var w={databaseInstanceToken:t.token,databaseName:t.name,collectionName:e,schema:n.jsonSchema,options:r,multiInstance:t.multiInstance,password:t.password,devMode:it.isDevMode()};return Fr("preCreateRxStorageInstance",w),nN(t,w).then(I=>{var E=new wO(t,e,n,I,r,i,a,l,f,p,o,y);return E.prepare().then(()=>{Object.entries(o).forEach(([S,_])=>{Object.defineProperty(E,S,{get:()=>_.bind(E)})});var $=un;return s&&E.schema.version!==0&&($=E.migratePromise()),$}).then(()=>(Fr("createRxCollection",{collection:E,creator:{name:e,schema:n,storageInstance:I,instanceCreationOptions:r,migrationStrategies:i,methods:a,attachments:l,options:f,cacheReplacementPolicy:p,localDocuments:h,statics:o}}),E)).catch($=>I.close().then(()=>Promise.reject($)))})}var _O=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this._parallels=e||1,this._qC=0,this._iC=new Set,this._lHN=0,this._hPM=new Map,this._pHM=new Map};_O.prototype={isIdle:function(){return this._qC{this._to=!1,_N(this)},0))}clear(){this.map.clear()}}function _N(t){const e=bO()-t.ttl,n=t.map[Symbol.iterator]();for(;;){const r=n.next().value;if(!r)return;const i=r[0];if(r[1]E.events)),this.storageToken=Xn,this.storageTokenDocument=Xn,this.emittedEventBulkIds=new Wg(60*1e3),this.name=n,this.token=r,this.storage=i,this.instanceCreationOptions=s,this.password=o,this.multiInstance=a,this.eventReduce=l,this.options=f,this.internalStore=h,this.hashFunction=p,this.cleanupPolicy=y,this.allowSlowCount=w,this.reactivity=I,this.name!=="pseudoInstance"&&(this.internalStore=Ug(this.asRxDatabase,h,Vg),this.storageTokenDocument=eN(this.asRxDatabase).catch(E=>this.startupErrors.push(E)),this.storageToken=this.storageTokenDocument.then(E=>E.data.token).catch(E=>this.startupErrors.push(E)))}var e=t.prototype;return e.getReactivityFactory=function(){if(!this.reactivity)throw le("DB14",{database:this.name});return this.reactivity},e.$emit=function(r){this.emittedEventBulkIds.has(r.id)||(this.emittedEventBulkIds.add(r.id),this.eventBulks$.next(r))},e.removeCollectionDoc=async function(r,i){var s=await Xl(this.internalStore,Ha(zy(r,i),xo));if(!s)throw le("SNH",{name:r,schema:i});var o=jg(s);o._deleted=!0,await this.internalStore.bulkWrite([{document:o,previous:s}],"rx-database-remove-collection")},e.addCollections=async function(r){var i={},s={},o=[],a={};await Promise.all(Object.entries(r).map(async([h,p])=>{var y=h,w=p.schema;i[y]=w;var I=mR(w,this.hashFunction);if(s[y]=I,this.collections[h])throw le("DB3",{name:h});var E=zy(h,w),$={id:Ha(E,xo),key:E,context:xo,data:{name:y,schemaHash:await I.hash,schema:I.jsonSchema,version:I.version,connectedStorages:[]},_deleted:!1,_meta:Ws(),_rev:Nn(),_attachments:{}};o.push({document:$});var S=Object.assign({},p,{name:y,schema:I,database:this}),_=$e(p);_.database=this,_.name=h,Fr("preCreateRxCollection",_),S.conflictHandler=_.conflictHandler,a[y]=S}));var l=await this.internalStore.bulkWrite(o,"rx-database-add-collection");await EN(this),await Promise.all(l.error.map(async h=>{if(h.status!==409)throw le("DB12",{database:this.name,writeError:h});var p=ye(h.documentInDb),y=p.data.name,w=s[y];if(p.data.schemaHash!==await w.hash)throw le("DB6",{database:this.name,collection:y,previousSchemaHash:p.data.schemaHash,schemaHash:await w.hash,previousSchema:p.data.schema,schema:ye(i[y])})}));var f={};return await Promise.all(Object.keys(r).map(async h=>{var p=a[h],y=await gN(p);f[h]=y,this.collections[h]=y,this[h]||Object.defineProperty(this,h,{get:()=>this.collections[h]})})),f},e.lockedRun=function(r){return this.idleQueue.wrapCall(r)},e.requestIdlePromise=function(){return this.idleQueue.requestIdlePromise()},e.exportJSON=function(r){throw pt("json-dump")},e.importJSON=function(r){throw pt("json-dump")},e.backup=function(r){throw pt("backup")},e.leaderElector=function(){throw pt("leader-election")},e.isLeader=function(){throw pt("leader-election")},e.waitForLeadership=function(){throw pt("leader-election")},e.migrationStates=function(){throw pt("migration-schema")},e.destroy=async function(){return this.destroyed||(this.destroyed=!0,await Fo("preDestroyRxDatabase",this),this.eventBulks$.complete(),this._subs.map(r=>r.unsubscribe()),this.name==="pseudoInstance")?Xn:this.requestIdlePromise().then(()=>Promise.all(this.onDestroy.map(r=>r()))).then(()=>Promise.all(Object.keys(this.collections).map(r=>this.collections[r]).map(r=>r.destroy()))).then(()=>this.internalStore.close()).then(()=>Sd.delete(this.storage.name+"|"+this.name)).then(()=>!0)},e.remove=function(){return this.destroy().then(()=>IO(this.name,this.storage,this.password))},Ks(t,[{key:"$",get:function(){return this.observable$}},{key:"asRxDatabase",get:function(){return this}}]),t}();function bN(t,e){var n=e.name+"|"+t;if(Sd.has(n))throw le("DB8",{name:t,storage:e.name,link:"https://rxdb.info/rx-database.html#ignoreduplicate"})}async function SO(t,e,n,r,i,s){var o=await e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:W2,schema:Vg,options:r,multiInstance:i,password:s,devMode:it.isDevMode()});return o}function SN({storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i=!0,eventReduce:s=!0,ignoreDuplicate:o=!1,options:a={},cleanupPolicy:l,allowSlowCount:f=!1,localDocuments:h=!1,hashFunction:p=HP,reactivity:y}){Fr("preCreateRxDatabase",{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}),o||bN(n,t),Sd.add(t.name+"|"+n);var w=iu(10);return SO(w,t,n,e,i,r).catch(I=>{throw Sd.delete(t.name+"|"+n),I}).then(I=>{var E=new qg(n,w,t,e,r,i,s,a,I,p,l,f,y);return Fo("createRxDatabase",{database:E,creator:{storage:t,instanceCreationOptions:e,name:n,password:r,multiInstance:i,eventReduce:s,ignoreDuplicate:o,options:a,localDocuments:h}}).then(()=>E)})}async function IO(t,e,n){var r=iu(10),i=await SO(r,e,t,{},!1,n),s=await Kg(i),o=new Set;s.forEach(l=>o.add(l.data.name));var a=Array.from(o);return await Promise.all(a.map(l=>hO(e,i,r,t,l,n))),await Fo("postRemoveRxDatabase",{databaseName:t,storage:e}),await i.remove(),a}function IN(t){return t instanceof qg}async function EO(t){var e=await t.storageTokenDocument;return e.data.instanceToken===t.token}async function EN(t){if(await t.storageToken,t.startupErrors[0])throw t.startupErrors[0]}var ON={RxSchema:uE.prototype,RxDocument:kh,RxQuery:tO.prototype,RxCollection:wO.prototype,RxDatabase:qg.prototype},pm=new Set,lb=new Set;function gi(t){if(Fr("preAddRxPlugin",{plugin:t,plugins:pm}),!pm.has(t)){{if(lb.has(t.name))throw le("PL3",{name:t.name,plugin:t});pm.add(t),lb.add(t.name)}if(!t.rxdb)throw el("PL1",{plugin:t});t.init&&t.init(),t.prototypes&&Object.entries(t.prototypes).forEach(([e,n])=>n(ON[e])),t.overwritable&&Object.assign(it,t.overwritable),t.hooks&&Object.entries(t.hooks).forEach(([e,n])=>{n.after&&xl[e].push(n.after),n.before&&xl[e].unshift(n.before)})}}function kN(t){return t&&typeof t.then=="function"}Promise.resolve(!1);var DN=Promise.resolve(!0),Mi=Promise.resolve();function vo(t,e){return t||(t=0),new Promise(function(n){return setTimeout(function(){return n(e)},t)})}function xN(t,e){return Math.floor(Math.random()*(e-t+1)+t)}function Zl(){return Math.random().toString(36).substring(2)}var mm=0;function ec(){var t=Date.now()*1e3;return t<=mm&&(t=mm+1),mm=t,t}function CN(){return typeof navigator<"u"&&typeof navigator.locks<"u"&&typeof navigator.locks.request=="function"}var AN=ec,PN="native";function RN(t){var e={time:ec(),messagesCallback:null,bc:new BroadcastChannel(t),subFns:[]};return e.bc.onmessage=function(n){e.messagesCallback&&e.messagesCallback(n.data)},e}function TN(t){t.bc.close(),t.subFns=[]}function MN(t,e){try{return t.bc.postMessage(e,!1),Mi}catch(n){return Promise.reject(n)}}function NN(t,e){t.messagesCallback=e}function BN(){if(typeof globalThis<"u"&&globalThis.Deno&&globalThis.Deno.args)return!0;if((typeof window<"u"||typeof self<"u")&&typeof BroadcastChannel=="function"){if(BroadcastChannel._pubkey)throw new Error("BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill");return!0}else return!1}function FN(){return 150}var LN={create:RN,close:TN,onMessage:NN,postMessage:MN,canBeUsed:BN,type:PN,averageResponseTime:FN,microSeconds:AN};function Hg(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=JSON.parse(JSON.stringify(t));return typeof e.webWorkerSupport>"u"&&(e.webWorkerSupport=!0),e.idb||(e.idb={}),e.idb.ttl||(e.idb.ttl=1e3*45),e.idb.fallbackInterval||(e.idb.fallbackInterval=150),t.idb&&typeof t.idb.onclose=="function"&&(e.idb.onclose=t.idb.onclose),e.localstorage||(e.localstorage={}),e.localstorage.removeTimeout||(e.localstorage.removeTimeout=1e3*60),t.methods&&(e.methods=t.methods),e.node||(e.node={}),e.node.ttl||(e.node.ttl=1e3*60*2),e.node.maxParallelWrites||(e.node.maxParallelWrites=2048),typeof e.node.useFastPath>"u"&&(e.node.useFastPath=!0),e}var $N=ec,jN="pubkey.broadcast-channel-0-",qi="messages",Dh={durability:"relaxed"},UN="idb";function OO(){if(typeof indexedDB<"u")return indexedDB;if(typeof window<"u"){if(typeof window.mozIndexedDB<"u")return window.mozIndexedDB;if(typeof window.webkitIndexedDB<"u")return window.webkitIndexedDB;if(typeof window.msIndexedDB<"u")return window.msIndexedDB}return!1}function Qg(t){t.commit&&t.commit()}function zN(t){var e=OO(),n=jN+t,r=e.open(n);return r.onupgradeneeded=function(i){var s=i.target.result;s.createObjectStore(qi,{keyPath:"id",autoIncrement:!0})},new Promise(function(i,s){r.onerror=function(o){return s(o)},r.onsuccess=function(){i(r.result)}})}function VN(t,e,n){var r=Date.now(),i={uuid:e,time:r,data:n},s=t.transaction([qi],"readwrite",Dh);return new Promise(function(o,a){s.oncomplete=function(){return o()},s.onerror=function(f){return a(f)};var l=s.objectStore(qi);l.add(i),Qg(s)})}function KN(t,e){var n=t.transaction(qi,"readonly",Dh),r=n.objectStore(qi),i=[],s=IDBKeyRange.bound(e+1,1/0);if(r.getAll){var o=r.getAll(s);return new Promise(function(l,f){o.onerror=function(h){return f(h)},o.onsuccess=function(h){l(h.target.result)}})}function a(){try{return s=IDBKeyRange.bound(e+1,1/0),r.openCursor(s)}catch{return r.openCursor()}}return new Promise(function(l,f){var h=a();h.onerror=function(p){return f(p)},h.onsuccess=function(p){var y=p.target.result;y?y.value.idt.lastCursorId&&(t.lastCursorId=r.id),r}).filter(function(r){return YN(r,t)}).sort(function(r,i){return r.time-i.time});return n.forEach(function(r){t.messagesCallback&&(t.eMIs.add(r.id),t.messagesCallback(r.data))}),Mi})}function GN(t){t.closed=!0,t.db.close()}function JN(t,e){return t.writeBlockPromise=t.writeBlockPromise.then(function(){return VN(t.db,t.uuid,e)}).then(function(){xN(0,10)===0&&HN(t)}),t.writeBlockPromise}function XN(t,e,n){t.messagesCallbackTime=n,t.messagesCallback=e,DO(t)}function ZN(){return!!OO()}function eB(t){return t.idb.fallbackInterval*2}var tB={create:QN,close:GN,onMessage:XN,postMessage:JN,canBeUsed:ZN,type:UN,averageResponseTime:eB,microSeconds:$N},nB=ec,rB="pubkey.broadcastChannel-",iB="localstorage";function xO(){var t;if(typeof window>"u")return null;try{t=window.localStorage,t=window["ie8-eventlistener/storage"]||window.localStorage}catch{}return t}function CO(t){return rB+t}function sB(t,e){return new Promise(function(n){vo().then(function(){var r=CO(t.channelName),i={token:Zl(),time:Date.now(),data:e,uuid:t.uuid},s=JSON.stringify(i);xO().setItem(r,s);var o=document.createEvent("Event");o.initEvent("storage",!0,!0),o.key=r,o.newValue=s,window.dispatchEvent(o),n()})})}function oB(t,e){var n=CO(t),r=function(s){s.key===n&&e(JSON.parse(s.newValue))};return window.addEventListener("storage",r),r}function aB(t){window.removeEventListener("storage",t)}function uB(t,e){if(e=Hg(e),!AO())throw new Error("BroadcastChannel: localstorage cannot be used");var n=Zl(),r=new Wg(e.localstorage.removeTimeout),i={channelName:t,uuid:n,eMIs:r};return i.listener=oB(t,function(s){i.messagesCallback&&s.uuid!==n&&(!s.token||r.has(s.token)||s.data.time&&s.data.time0||t._addEL.internal.length>0}function hb(t,e,n){t._addEL[e].push(n),EB(t)}function pb(t,e,n){t._addEL[e]=t._addEL[e].filter(function(r){return r!==n}),OB(t)}function EB(t){if(!t._iL&&MO(t)){var e=function(i){t._addEL[i.type].forEach(function(s){i.time>=s.time&&s.fn(i.data)})},n=t.method.microSeconds();t._prepP?t._prepP.then(function(){t._iL=!0,t.method.onMessage(t._state,e,n)}):(t._iL=!0,t.method.onMessage(t._state,e,n))}}function OB(t){if(t._iL&&!MO(t)){t._iL=!1;var e=t.method.microSeconds();t.method.onMessage(t._state,null,e)}}function kB(t){if(typeof WorkerGlobalScope=="function"&&self instanceof WorkerGlobalScope){var e=self.close.bind(self);self.close=function(){return t(),e()}}else{if(typeof window.addEventListener!="function")return;window.addEventListener("beforeunload",function(){t()},!0),window.addEventListener("unload",function(){t()},!0)}}function DB(t){process.on("exit",function(){return t()}),process.on("beforeExit",function(){return t().then(function(){return process.exit()})}),process.on("SIGINT",function(){return t().then(function(){return process.exit()})}),process.on("uncaughtException",function(e){return t().then(function(){console.trace(e),process.exit(101)})})}var xB=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]",CB=xB?DB:kB,nl=new Set,mb=!1;function AB(){mb||(mb=!0,CB(RB))}function PB(t){if(AB(),typeof t!="function")throw new Error("Listener is no function");nl.add(t);var e={remove:function(){return nl.delete(t)},run:function(){return nl.delete(t),t()}};return e}function RB(){var t=[];return nl.forEach(function(e){t.push(e()),nl.delete(e)}),Promise.all(t)}function Co(t,e){var n={context:"leader",action:e,token:t.token};return t.broadcastChannel.postInternal(n)}function NO(t){t.isLeader=!0,t._hasLeader=!0;var e=PB(function(){return t.die()});t._unl.push(e);var n=function(i){i.context==="leader"&&i.action==="apply"&&Co(t,"tell"),i.context==="leader"&&i.action==="tell"&&!t._dpLC&&(t._dpLC=!0,t._dpL(),Co(t,"tell"))};return t.broadcastChannel.addEventListener("internal",n),t._lstns.push(n),Co(t,"tell")}var BO=function(e,n){var r=this;this.broadcastChannel=e,e._befC.push(function(){return r.die()}),this._options=n,this.isLeader=!1,this.isDead=!1,this.token=Zl(),this._lstns=[],this._unl=[],this._dpL=function(){},this._dpLC=!1,this._wKMC={},this.lN="pubkey-bc||"+e.method.type+"||"+e.name};BO.prototype={hasLeader:function(){var e=this;return navigator.locks.query().then(function(n){var r=n.held?n.held.filter(function(i){return i.name===e.lN}):[];return!!(r&&r.length>0)})},awaitLeadership:function(){var e=this;if(!this._wLMP){this._wKMC.c=new AbortController;var n=new Promise(function(r,i){e._wKMC.res=r,e._wKMC.rej=i});this._wLMP=new Promise(function(r){navigator.locks.request(e.lN,{signal:e._wKMC.c.signal},function(){return e._wKMC.c=void 0,NO(e),r(),n}).catch(function(){})})}return this._wLMP},set onduplicate(t){},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this.isLeader=!1),this.isDead=!0,this._wKMC.res&&this._wKMC.res(),this._wKMC.c&&this._wKMC.c.abort("LeaderElectionWebLock.die() called"),Co(this,"death")}};var FO=function(e,n){var r=this;this.broadcastChannel=e,this._options=n,this.isLeader=!1,this._hasLeader=!1,this.isDead=!1,this.token=Zl(),this._aplQ=Mi,this._aplQC=0,this._unl=[],this._lstns=[],this._dpL=function(){},this._dpLC=!1;var i=function(o){o.context==="leader"&&(o.action==="death"&&(r._hasLeader=!1),o.action==="tell"&&(r._hasLeader=!0))};this.broadcastChannel.addEventListener("internal",i),this._lstns.push(i)};FO.prototype={hasLeader:function(){return Promise.resolve(this._hasLeader)},applyOnce:function(e){var n=this;if(this.isLeader)return vo(0,!0);if(this.isDead)return vo(0,!1);if(this._aplQC>1)return this._aplQ;var r=function(){if(n.isLeader)return DN;var s=!1,o,a=new Promise(function(h){o=function(){s=!0,h()}}),l=function(p){p.context==="leader"&&p.token!=n.token&&(p.action==="apply"&&p.token>n.token&&o(),p.action==="tell"&&(o(),n._hasLeader=!0))};n.broadcastChannel.addEventListener("internal",l);var f=e?n._options.responseTime*4:n._options.responseTime;return Co(n,"apply").then(function(){return Promise.race([vo(f),a.then(function(){return Promise.reject(new Error)})])}).then(function(){return Co(n,"apply")}).then(function(){return Promise.race([vo(f),a.then(function(){return Promise.reject(new Error)})])}).catch(function(){}).then(function(){return n.broadcastChannel.removeEventListener("internal",l),s?!1:NO(n).then(function(){return!0})})};return this._aplQC=this._aplQC+1,this._aplQ=this._aplQ.then(function(){return r()}).then(function(){n._aplQC=n._aplQC-1}),this._aplQ.then(function(){return n.isLeader})},awaitLeadership:function(){return this._aLP||(this._aLP=TB(this)),this._aLP},set onduplicate(t){this._dpL=t},die:function(){var e=this;return this._lstns.forEach(function(n){return e.broadcastChannel.removeEventListener("internal",n)}),this._lstns=[],this._unl.forEach(function(n){return n.remove()}),this._unl=[],this.isLeader&&(this._hasLeader=!1,this.isLeader=!1),this.isDead=!0,Co(this,"death")}};function TB(t){return t.isLeader?Mi:new Promise(function(e){var n=!1;function r(){n||(n=!0,t.broadcastChannel.removeEventListener("internal",s),e(!0))}t.applyOnce().then(function(){t.isLeader&&r()});var i=function o(){return vo(t._options.fallbackInterval).then(function(){if(!(t.isDead||n))if(t.isLeader)r();else return t.applyOnce(!0).then(function(){t.isLeader?r():o()})})};i();var s=function(a){a.context==="leader"&&a.action==="death"&&(t._hasLeader=!1,t.applyOnce().then(function(){t.isLeader&&r()}))};t.broadcastChannel.addEventListener("internal",s),t._lstns.push(s)})}function MB(t,e){return t||(t={}),t=JSON.parse(JSON.stringify(t)),t.fallbackInterval||(t.fallbackInterval=3e3),t.responseTime||(t.responseTime=e.method.averageResponseTime(e.options)),t}function NB(t,e){if(t._leaderElector)throw new Error("BroadcastChannel already has a leader-elector");e=MB(e,t);var n=CN()?new BO(t,e):new FO(t,e);return t._befC.push(function(){return n.die()}),t._leaderElector=n,n}var Id=new Map;function BB(t,e,n,r){var i=Id.get(e);return i||(i={bc:new xh(["RxDB:",t,n].join("|")),refs:new Set},Id.set(e,i)),i.refs.add(r),i.bc}function yb(t,e){var n=Id.get(t);if(n&&(n.refs.delete(e),n.refs.size===0))return Id.delete(t),n.bc.close()}function FB(t,e,n,r){if(e.multiInstance){var i=r||BB(t,e.databaseInstanceToken,n.databaseName,n),s=new Kt,o=y=>{y.storageName===t&&y.databaseName===e.databaseName&&y.collectionName===e.collectionName&&y.version===e.schema.version&&s.next(y.eventBulk)};i.addEventListener("message",o);var a=n.changeStream(),l=!1,f=a.subscribe(y=>{l||i.postMessage({storageName:t,databaseName:e.databaseName,collectionName:e.collectionName,version:e.schema.version,eventBulk:y})});n.changeStream=function(){return s.asObservable().pipe(aT(a))};var h=n.close.bind(n);n.close=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await yb(e.databaseInstanceToken,n),h()};var p=n.remove.bind(n);n.remove=async function(){return l=!0,f.unsubscribe(),i.removeEventListener("message",o),r||await yb(e.databaseInstanceToken,n),p()}}}function LB(t,e){var n=e.map(r=>{var i=zi(t,r);if(!i)throw new Error("not in schema: "+r);var s=i.type,o;(s==="number"||s==="integer")&&(o=Gg(i));var a=XI(r),l=i.maxLength?i.maxLength:0,f;s==="string"?f=p=>{var y=a(p);return y||(y=""),y.padEnd(l," ")}:s==="boolean"?f=p=>{var y=a(p);return y?"1":"0"}:f=p=>{var y=a(p);return Ed(o,y)};var h={fieldName:r,schemaPart:i,parsedLengths:o,getValue:a,getIndexStringPart:f};return h});return n}function $B(t,e){var n=LB(t,e),r=n.length,i=n.map(o=>o.getIndexStringPart),s=function(o){for(var a="",l=0;l1&&(a=o[1].length),{minimum:e,maximum:n,nonDecimals:s,decimals:a,roundedMinimum:e}}function Ed(t,e){typeof e>"u"&&(e=0),et.maximum&&(e=t.maximum);var n=(Math.floor(e)-t.roundedMinimum).toString(),r=n.padStart(t.nonDecimals,"0");if(t.decimals>0){var i=e.toString().split("."),s=i.length>1?i[1]:"0";r+=s.padEnd(t.decimals,"0")}return r}function vb(t,e,n){var r="";return e.forEach((i,s)=>{var o=zi(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"?r+=a.padEnd(f," "):r+="".padEnd(f," ");break;case"boolean":if(a===null)r+="0";else if(a===ci)r+="0";else if(a===Tr)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var p=Gg(o);if(a===null||a===ci){var y="0";r+=y.repeat(p.nonDecimals+p.decimals)}else if(a===Tr)r+=Ed(p,p.maximum);else{var w=Ed(p,a);r+=w}break;default:throw new Error("unknown index type "+l)}}),r}function jB(t,e,n){var r="";return e.forEach((i,s)=>{var o=zi(t,i),a=n[s],l=o.type;switch(l){case"string":var f=ye(o.maxLength,"maxLength not set");typeof a=="string"&&a!==Tr?r+=a.padEnd(f," "):a===ci?r+="".padEnd(f," "):r+="".padEnd(f,Tr);break;case"boolean":if(a===null)r+="1";else{var h=a?"1":"0";r+=h}break;case"number":case"integer":var p=Gg(o);if(a===null||a===Tr){var y="9";r+=y.repeat(p.nonDecimals+p.decimals)}else if(a===ci){var w="0";r+=w.repeat(p.nonDecimals+p.decimals)}else r+=Ed(p,a);break;default:throw new Error("unknown index type "+l)}}),r}var gb=t=>Promise.resolve(t);function wb(t,e){if(t==="_deleted")return e;e=$e(e);var n=!!e._deleted;return e[t]=n,delete e._deleted,e}function ym(t,e,n){return n.map(r=>{var i=$e(r);if(e!=="_deleted"){var s=!!i[e];i._deleted=s,delete i[e]}else i._deleted=!!i._deleted;var o=t.schema.primaryPath;return i[o]=qs(t.schema.jsonSchema,i),i})}function _b(t,e){if(typeof window>"u"||typeof window!="object"||typeof window.addEventListener>"u"||navigator.onLine)return t.promiseWait(e);var n,r=new Promise(i=>{n=()=>{window.removeEventListener("online",n),i()},window.addEventListener("online",n)});return Promise.race([r,t.promiseWait(e)]).then(()=>{window.removeEventListener("online",n)})}var LO=new WeakMap,UB=function(){function t(n,r,i,s,o,a,l,f){this.subs=[],this.subjects={received:new Kt,sent:new Kt,error:new Kt,canceled:new Cr(!1),active:new Cr(!1)},this.received$=this.subjects.received.asObservable(),this.sent$=this.subjects.sent.asObservable(),this.error$=this.subjects.error.asObservable(),this.canceled$=this.subjects.canceled.asObservable(),this.active$=this.subjects.active.asObservable(),this.onCancel=[],this.callOnStart=void 0,this.remoteEvents$=new Kt,this.replicationIdentifier=n,this.collection=r,this.deletedField=i,this.pull=s,this.push=o,this.live=a,this.retryTime=l,this.autoStart=f;var h=Br(LO,r,()=>[]);h.push(this),this.collection.onDestroy.push(()=>this.cancel()),Object.keys(this.subjects).forEach(y=>{Object.defineProperty(this,y+"$",{get:function(){return this.subjects[y].asObservable()}})});var p=new Promise(y=>{this.callOnStart=y});this.startPromise=p}var e=t.prototype;return e.start=async function(){if(!this.isStopped()){var r=this.pull&&this.pull.modifier?this.pull.modifier:gb,i=this.push&&this.push.modifier?this.push.modifier:gb,s=this.collection.database,o="rx-replication-meta-"+await s.hashFunction([this.collection.name,this.replicationIdentifier].join("-")),a=Wy(this.collection.schema.jsonSchema,vd(this.collection.schema.jsonSchema)),[l]=await Promise.all([this.collection.database.storage.createStorageInstance({databaseName:s.name,collectionName:o,databaseInstanceToken:s.token,multiInstance:s.multiInstance,options:{},schema:a,password:s.password,devMode:it.isDevMode()}),dO(this.collection,o,a)]);this.metaInstance=l,this.internalReplicationState=mO({pushBatchSize:this.push&&this.push.batchSize?this.push.batchSize:100,pullBatchSize:this.pull&&this.pull.batchSize?this.pull.batchSize:100,initialCheckpoint:{upstream:this.push?this.push.initialCheckpoint:void 0,downstream:this.pull?this.pull.initialCheckpoint:void 0},forkInstance:this.collection.storageInstance,metaInstance:this.metaInstance,hashFunction:s.hashFunction,identifier:"rxdbreplication"+this.replicationIdentifier,conflictHandler:this.collection.conflictHandler,replicationHandler:{masterChangeStream$:this.remoteEvents$.asObservable().pipe(lt(f=>!!this.pull),Lr(async f=>{if(f==="RESYNC")return f;var h=$e(f);return h.documents=ym(this.collection,this.deletedField,h.documents),h.documents=await Promise.all(h.documents.map(p=>r(p))),h})),masterChangesSince:async(f,h)=>{if(!this.pull)return{checkpoint:null,documents:[]};for(var p=!1,y={};!p&&!this.isStopped();)try{y=await this.pull.handler(f,h),p=!0}catch(E){var w=le("RC_PULL",{checkpoint:f,errors:ja(E).map($=>ky($)),direction:"pull"});this.subjects.error.next(w),await _b(this.collection,ye(this.retryTime))}if(this.isStopped())return{checkpoint:null,documents:[]};var I=$e(y);return I.documents=ym(this.collection,this.deletedField,I.documents),I.documents=await Promise.all(I.documents.map(E=>r(E))),I},masterWrite:async f=>{if(!this.push)return[];var h=!1;await Fo("preReplicationMasterWrite",{rows:f,collection:this.collection});var p=await Promise.all(f.map(async $=>($.newDocumentState=await i($.newDocumentState),$.newDocumentState===null?null:($.assumedMasterState&&($.assumedMasterState=await i($.assumedMasterState)),this.deletedField!=="_deleted"&&($.newDocumentState=wb(this.deletedField,$.newDocumentState),$.assumedMasterState&&($.assumedMasterState=wb(this.deletedField,$.assumedMasterState))),$)))),y=p.filter(JI),w=null;for(y.length===0&&(h=!0,w=[]);!h&&!this.isStopped();)try{if(w=await this.push.handler(y),!Array.isArray(w))throw le("RC_PUSH_NO_AR",{pushRows:f,direction:"push",args:{result:w}});h=!0}catch($){var I=$.rxdb?$:le("RC_PUSH",{pushRows:f,errors:ja($).map(S=>ky(S)),direction:"push"});this.subjects.error.next(I),await _b(this.collection,ye(this.retryTime))}if(this.isStopped())return[];await Fo("preReplicationMasterWriteDocumentsHandle",{result:w,collection:this.collection});var E=ym(this.collection,this.deletedField,ye(w));return E}}}),this.subs.push(this.internalReplicationState.events.error.subscribe(f=>{this.subjects.error.next(f)}),this.internalReplicationState.events.processed.down.subscribe(f=>this.subjects.received.next(f.document)),this.internalReplicationState.events.processed.up.subscribe(f=>{this.subjects.sent.next(f.newDocumentState)}),PE([this.internalReplicationState.events.active.down,this.internalReplicationState.events.active.up]).subscribe(([f,h])=>{var p=f||h;this.subjects.active.next(p)})),this.pull&&this.pull.stream$&&this.live&&this.subs.push(this.pull.stream$.subscribe({next:f=>{this.remoteEvents$.next(f)},error:f=>{this.subjects.error.next(f)}})),this.live||(await Tf(this.internalReplicationState),await ab(this.internalReplicationState),await this.cancel()),this.callOnStart()}},e.isStopped=function(){return!!this.subjects.canceled.getValue()},e.awaitInitialReplication=async function(){return await this.startPromise,Tf(ye(this.internalReplicationState))},e.awaitInSync=async function(){await this.startPromise,await Tf(ye(this.internalReplicationState));for(var r=2;r>0;)r--,await this.collection.database.requestIdlePromise(),await ab(ye(this.internalReplicationState));return!0},e.reSync=function(){this.remoteEvents$.next("RESYNC")},e.emitEvent=function(r){this.remoteEvents$.next(r)},e.cancel=async function(){if(this.isStopped())return Xn;var r=this.onCancel.map(i=>ZI(i()));return this.internalReplicationState&&await yO(this.internalReplicationState),this.metaInstance&&r.push(ye(this.internalReplicationState).checkpointQueue.then(()=>ye(this.metaInstance).close())),this.subs.forEach(i=>i.unsubscribe()),this.subjects.canceled.next(!0),this.subjects.active.complete(),this.subjects.canceled.complete(),this.subjects.error.complete(),this.subjects.received.complete(),this.subjects.sent.complete(),Promise.all(r)},t}(),$r;(function(t){function e(U){return Array.isArray(U)?U.slice():t.isObject(U)?{...U}:U}t.clone=e;function n(U){let ee=r(U);return Array.isArray(U)&&(ee=ee.filter(ce=>ce!=="length")),ee}t.keys=n;function r(U){return U?Object.getOwnPropertyNames(U):[]}t.keysOfNonArray=r;function i(U,ee){return a(n(U),ce=>ee(U[ce],ce)),U}t.forOwn=i;function s(U,ee){return a(r(U),ce=>ee(U[ce],ce)),U}t.forOwnOfNonArray=s;function o(U,ee){return Array.isArray(U)?a(U,ee):s(U,ee),U}t.forEach=o;function a(U,ee){for(let ce=0,de=U.length;ce{const ot=U[Pe];ot instanceof Object&&(de=l(e(ot),de)),U[Pe]=de});return U}t.merge=l;function f(U){return Array.isArray(U)||(U=r(U)),U.length===0}t.isEmpty=f,t.isFunction=U=>typeof U=="function",t.isUndefined=U=>U===void 0||U==="undefined";function h(U){return U==null||U==="undefined"||U==="null"}t.isNullOrUndefined=h,t.isObject=U=>Object.prototype.toString.call(U)==="[object Object]",t.isEmptyObject=U=>h(U)||t.isObject(U)&&f(U);function p(){return typeof globalThis.ngDevMode>"u"||!!globalThis.ngDevMode}t.isDevMode=p;function y(U){return typeof U=="number"&&!isNaN(U)}t.isValidNumber=y;function w(){}t.noop=w;function I(U){return U}t.identity=I;function E(U,ee){const ce=[];for(let de=0;deU+ce*de)}t.range=$;function S(U){return t.isObject(U)?U._id:String(U)}t.getMaybeId=S;function _(U){return U.filter(I)}t.compact=_;function k(U){return f(U)?U:Array.isArray(U)?_(U):Object.entries(U).filter(([,ee])=>!h(ee)&&!f(ee)).reduce((ee,[ce,de])=>({...ee,[ce]:de}),{})}t.compactObject=k;function z(){var U;return(U=localStorage.debug)==null?void 0:U.includes("@ngx-odm/rxdb")}t.isDevModeForced=z;function W(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}t.isTestEnvironment=W,t.logger={log:function(){const U="#8d2089";return W()||!p()||!z()?w:console.log.bind(console,"%c[DEBUG::@ngx-odm/rxdb]",`background:${U};color:#fff;padding:2px;font-size:normal;`)}(),table:function(){return W()||!p()||!z()?w:console.table.bind(console)}()};function Q(U="Event"){return function(ce){return p()?ce.pipe(Ay({next(de){t.logger.log(`observable:${U}:next:`,de)},error(de){t.logger.log(`observable:${U}:error:`,de.message)},complete(){t.logger.log(`observable:${U}:complete`)}})):ce}}t.debug=Q;function H(U=3,ee=1e4){return ce=>ce.pipe(uT({count:U,delay:(de,Pe)=>{const ot=Math.pow(2,Pe-1)*ee;return t.logger.log("replication:kinto:longpoll:retry",Pe,ot),IE(ot)}}))}t.retryWithBackoff=H,t.tapOnce=U=>ee=>Py(()=>(U(),ee)),t.deferUntil=U=>ee=>Py(()=>U.pipe(Cl(()=>ee))),t.getDefaultQuery=()=>({selector:{_deleted:{$eq:!1}},skip:0,sort:[{id:"asc"}]});const X={properties:{id:{type:"string"},_deleted:{type:"boolean"}},primaryKey:"id",indexes:[["_deleted","id"]]};t.getDefaultQuery(),t.getDefaultPreparedQuery=()=>Jl(X,t.getDefaultQuery())})($r||($r={}));const $O=()=>typeof window=="object"&&"fetch"in window?window.fetch.bind(window):fetch;function bb(t){return t&&t instanceof UB}function Sb(t=!1){return Mt(e=>(Array.isArray(e)?e:[...e.values()]).map(n=>{const r={...n._data};return t||(delete r._rev,delete r._attachments,delete r._deleted,delete r._meta),r}))}const{debug:zB,isEmptyObject:VB,isFunction:KB}=$r;function WB(t){return!VB(t)&&KB(t.run)}function Bu(t){return WB(t)?e=>new Ot(n=>e.subscribe(r=>t.run(()=>n.next(r)),r=>t.run(()=>n.error(r)),()=>t.run(()=>n.complete()))):e=>e}function tc(){return function(t,e,n){const r=n.value;return n.value=function(...i){return Py(()=>this.initialized$.pipe(Cl(()=>r.apply(this,i)),zB(`collection.${e}`)))},n}}function kt(){return function(t,e,n){const r=n.value;return n.value=async function(...i){return await hT(this.initialized$).catch(()=>{throw new Error(`Collection "${this.config.name}" was not initialized. Please check RxDB errors.`)}),r.apply(this,i)},n}}var Ib,Eb,Ob,kb,Db,xb;const{getMaybeId:qB,logger:vm,debug:HB,noop:QB}=$r;class Je{get initialized$(){return this._init$.asObservable()}get collection(){return this._collection}get db(){return this.dbService.db}get dbOptions(){return this.dbService.dbOptions}get replicationState(){return this._replicationState}get queryParams$(){var e;return(e=this.config.options)!=null&&e.useQueryParams?this.initialized$.pipe(Cl(()=>this.collection.queryParams.$)):im({})}constructor(e,n,r={},i=im(""),s=QB){this.config=e,this.dbService=n,this.ngZone=r,this.currentUrl$=i,this.updateQueryParamsFn=s,this._replicationState=null,this._init$=new ME,this.init(e)}destroy(){var e;(e=this.collection)==null||e.destroy()}setQueryParams(e){var n;(n=this.collection.queryParams)==null||n.set(e)}patchQueryParams(e){var n;(n=this.collection.queryParams)==null||n.patch(e)}async sync(){var e;if(bb(this.replicationState)){this.replicationState.reSync();return}if(typeof((e=this.config.options)==null?void 0:e.replicationStateFactory)=="function"){try{this._replicationState=this.config.options.replicationStateFactory(this.collection)}catch(n){vm.log("replicationState has error, ignore replication"),vm.log(n.message)}if(bb(this.replicationState))return this.replicationState.autoStart||this.replicationState.reSync(),Ry(window,"online").pipe(HB("online"),NE(()=>!this.replicationState.isStopped())).subscribe(()=>{this._replicationState.reSync()}),this.replicationState.startPromise}}async info(){return this.collection.getMetadata()}async import(e){const n=await this.collection.schema.hash,r={name:this.collection.name,schemaHash:n,docs:e};this.collection.importJSON(r)}async export(){return this.collection.exportJSON()}docs(e,n=!1){return(dT(e)?e:im(e)).pipe(Cl(r=>this.collection.find(r).$),Sb(n),Bu(this.ngZone),Pi(Ai))}docsByIds(e,n=!1){return this.collection.findByIds(e).$.pipe(Sb(n),Bu(this.ngZone),Pi(Ai))}count(e){return this.collection.count(e).$.pipe(Bu(this.ngZone),Pi(Ai))}get(e,n=!1){return this.collection.findOne(e).$.pipe(Mt(r=>r?r.toMutableJSON(n):null),Bu(this.ngZone),Pi(Ai))}async insert(e){return this.collection.insert(e)}async insertBulk(e){return this.collection.bulkInsert(e)}async upsert(e){return this.collection.upsert(e)}async upsertBulk(e){return this.collection.bulkUpsert(e)}async set(e,n){return this.collection.findOne(e).update({$set:n})}async updateBulk(e,n){return this.collection.find(e).update({$set:n})}async remove(e){const n=qB(e);return this.collection.findOne(n).remove()}async removeBulk(e){return Array.isArray(e)?this.collection.bulkRemove(e):{success:[...(await this.collection.find(e).remove().catch(()=>new Map)).values()],error:[]}}async clear(){return this.collection.remove()}async getAttachments(e){const n=await this.collection.findOne(e).exec();if(!n)return null;const r=n.allAttachments().map(i=>i.getData());return Promise.all(r)}async getAttachmentById(e,n){const r=await this.collection.findOne(e).exec();if(!r)return null;const i=r.getAttachment(n);return i?i.getData():null}async putAttachment(e,n){const r=await this.collection.findOne(e).exec();r&&await r.putAttachment(n)}async removeAttachment(e,n){const r=await this.collection.findOne(e).exec();if(!r)return;const i=r.getAttachment(n);i&&await i.remove()}async addHook(e,n,r=!1){this.collection[e](n,r)}async getLocal(e,n){const r=await this.collection.getLocal(e);return r?n?r==null?void 0:r.get(n):r==null?void 0:r.toJSON().data:null}getLocal$(e,n){return this.collection.getLocal$(e).pipe(Mt(r=>r?n?r.get(n):r.toJSON().data:null),Ms(),Bu(this.ngZone))}async insertLocal(e,n){await this.collection.insertLocal(e,n)}async upsertLocal(e,n){await this.collection.upsertLocal(e,n)}async setLocal(e,n,r){var s,o;const i=await this.collection.getLocal(e);await this.collection.upsertLocal(e,{...((o=(s=i==null?void 0:i.toJSON)==null?void 0:s.call(i))==null?void 0:o.data)||{},[n]:r})}async removeLocal(e){const n=await this.collection.getLocal(e);await(n==null?void 0:n.remove())}async init(e){var i,s,o,a;const{name:n,options:r}=e;try{await this.dbService.initCollections({[n]:e}),this._collection=this.db.collections[n],r!=null&&r.useQueryParams&&this.collection.queryParamsInit(this.currentUrl$,this.updateQueryParamsFn),this._init$.next(!0),this._init$.complete()}catch(l){if(l.message.includes("DM5")||l.message.includes("DB6")&&((i=l.parameters.previousSchema)==null?void 0:i.version)===((s=l.parameters.schema)==null?void 0:s.version))vm.log("Reload the page to fix the issue. The database is in a state where it can not be used."),await IO(this.db.name,this.db.storage),(a=(o=window==null?void 0:window.location)==null?void 0:o.reload)==null||a.call(o);else throw this._init$.complete(),l}}}tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"sync",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"info",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"import",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"export",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Ot)],Je.prototype,"docs",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Array,Object]),re("design:returntype",Ot)],Je.prototype,"docsByIds",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Ot)],Je.prototype,"count",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Ot)],Je.prototype,"get",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"insert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"insertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"upsert",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Array]),re("design:returntype",Promise)],Je.prototype,"upsertBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"set",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object,Object]),re("design:returntype",Promise)],Je.prototype,"updateBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"remove",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[Object]),re("design:returntype",Promise)],Je.prototype,"removeBulk",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[]),re("design:returntype",Promise)],Je.prototype,"clear",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"getAttachments",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"getAttachmentById",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,Object]),re("design:returntype",Promise)],Je.prototype,"putAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,String]),re("design:returntype",Promise)],Je.prototype,"removeAttachment",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[typeof(Ib=typeof Hook<"u"&&Hook)=="function"?Ib:Object,Object,Object]),re("design:returntype",Promise)],Je.prototype,"addHook",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Eb=typeof K<"u"&&K)=="function"?Eb:Object]),re("design:returntype",Promise)],Je.prototype,"getLocal",null);tt([tc(),re("design:type",Function),re("design:paramtypes",[String,typeof(Ob=typeof K<"u"&&K)=="function"?Ob:Object]),re("design:returntype",Ot)],Je.prototype,"getLocal$",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(kb=typeof L<"u"&&L)=="function"?kb:Object]),re("design:returntype",Promise)],Je.prototype,"insertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(Db=typeof L<"u"&&L)=="function"?Db:Object]),re("design:returntype",Promise)],Je.prototype,"upsertLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String,typeof(xb=typeof K<"u"&&K)=="function"?xb:Object,Object]),re("design:returntype",Promise)],Je.prototype,"setLocal",null);tt([kt(),re("design:type",Function),re("design:paramtypes",[String]),re("design:returntype",Promise)],Je.prototype,"removeLocal",null);var jO={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(gw,function(){var n=function(u,c){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,m){d.__proto__=m}||function(d,m){for(var v in m)Object.prototype.hasOwnProperty.call(m,v)&&(d[v]=m[v])})(u,c)},r=function(){return(r=Object.assign||function(u){for(var c,d=1,m=arguments.length;d"u"||s.Promise||(s.Promise=Promise);var f=Object.getPrototypeOf,h={}.hasOwnProperty;function p(u,c){return h.call(u,c)}function y(u,c){typeof c=="function"&&(c=c(f(u))),(typeof Reflect>"u"?o:Reflect.ownKeys)(c).forEach(function(d){I(u,d,c[d])})}var w=Object.defineProperty;function I(u,c,d,m){w(u,c,l(d&&p(d,"get")&&typeof d.get=="function"?{get:d.get,set:d.set,configurable:!0}:{value:d,configurable:!0,writable:!0},m))}function E(u){return{from:function(c){return u.prototype=Object.create(c.prototype),I(u.prototype,"constructor",u),{extend:y.bind(null,u.prototype)}}}}var $=Object.getOwnPropertyDescriptor,S=[].slice;function _(u,c,d){return S.call(u,c,d)}function k(u,c){return c(u)}function z(u){if(!u)throw new Error("Assertion Failed")}function W(u){s.setImmediate?setImmediate(u):setTimeout(u,0)}function Q(u,c){if(typeof c=="string"&&p(u,c))return u[c];if(!c)return u;if(typeof c!="string"){for(var d=[],m=0,v=c.length;m"u"?[]:function(){var u=Promise.resolve();if(typeof crypto>"u"||!crypto.subtle)return[u,f(u),u];var c=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[c,f(c),u]}(),mu=Vr[0],cr=Vr[1],Vr=Vr[2],cr=cr&&cr.then,yu=mu&&mu.constructor,Kh=!!Vr,vu=function(u,c){gu.push([u,c]),pc&&(queueMicrotask(Ax),pc=!1)},Wh=!0,pc=!0,Zs=[],mc=[],qh=hu,Zi={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:et,pgp:!1,env:{},finalize:et},fe=Zi,gu=[],eo=0,yc=[];function se(u){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var c=this._PSD=fe;if(typeof u!="function"){if(u!==pu)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(this._state===!1&&Qh(this,this._value))}this._state=null,this._value=null,++c.ref,function d(m,v){try{v(function(g){if(m._state===null){if(g===m)throw new TypeError("A promise cannot be resolved with itself.");var b=m._lib&&qo();g&&typeof g.then=="function"?d(m,function(O,A){g instanceof se?g._then(O,A):g.then(O,A)}):(m._state=!0,m._value=g,K0(m)),b&&Ho()}},Qh.bind(null,m))}catch(g){Qh(m,g)}}(this,u)}var Hh={get:function(){var u=fe,c=_c;function d(m,v){var g=this,b=!u.global&&(u!==fe||c!==_c),O=b&&!ts(),A=new se(function(x,M){Yh(g,new V0(q0(m,u,b,O),q0(v,u,b,O),x,M,u))});return this._consoleTask&&(A._consoleTask=this._consoleTask),A}return d.prototype=pu,d},set:function(u){I(this,"then",u&&u.prototype===pu?Hh:{get:function(){return u},set:Hh.set})}};function V0(u,c,d,m,v){this.onFulfilled=typeof u=="function"?u:null,this.onRejected=typeof c=="function"?c:null,this.resolve=d,this.reject=m,this.psd=v}function Qh(u,c){var d,m;mc.push(c),u._state===null&&(d=u._lib&&qo(),c=qh(c),u._state=!1,u._value=c,m=u,Zs.some(function(v){return v._value===m._value})||Zs.push(m),K0(u),d&&Ho())}function K0(u){var c=u._listeners;u._listeners=[];for(var d=0,m=c.length;d.",H0="String expected.",Yo=[],Sc="__dbnames",Xh="readonly",Zh="readwrite";function ro(u,c){return u?c?function(){return u.apply(this,arguments)&&c.apply(this,arguments)}:u:c}var Q0={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Ic(u){return typeof u!="string"||/\./.test(u)?function(c){return c}:function(c){return c[u]===void 0&&u in c&&delete(c=Pe(c))[u],c}}function Y0(){throw pe.Type()}function je(u,c){try{var d=G0(u),m=G0(c);if(d!==m)return d==="Array"?1:m==="Array"?-1:d==="binary"?1:m==="binary"?-1:d==="string"?1:m==="string"?-1:d==="Date"?1:m!=="Date"?NaN:-1;switch(d){case"number":case"Date":case"string":return cj+V&&F(j+C)})})}return F(0).then(function(){if(0=C})).length!==0?(M.forEach(function(F){B.push(function(){var j=R,V=F._cfg.dbschema;Pc(D,j,T),Pc(D,V,T),R=D._dbSchema=V;var q=up(j,V);q.add.forEach(function(te){lp(T,te[0],te[1].primKey,te[1].indexes)}),q.change.forEach(function(te){if(te.recreate)throw new pe.Upgrade("Not yet support for changing primary key");var he=T.objectStore(te.name);te.add.forEach(function(me){return Cc(he,me)}),te.change.forEach(function(me){he.deleteIndex(me.name),Cc(he,me)}),te.del.forEach(function(me){return he.deleteIndex(me)})});var Y=F._cfg.contentUpgrade;if(Y&&F._cfg.version>C){Dc(D,T),P._memoizedTables={};var ne=X(V);q.del.forEach(function(te){ne[te]=j[te]}),ap(D,[D.Transaction.prototype]),xc(D,[D.Transaction.prototype],o(ne),ne),P.schema=ne;var J,ie=Re(Y);return ie&&Qo(),q=se.follow(function(){var te;(J=Y(P))&&ie&&(te=ts.bind(null,null),J.then(te,te))}),J&&typeof J.then=="function"?se.resolve(J):q.then(function(){return J})}}),B.push(function(j){var V,q,Y=F._cfg.dbschema;V=Y,q=j,[].slice.call(q.db.objectStoreNames).forEach(function(ne){return V[ne]==null&&q.db.deleteObjectStore(ne)}),ap(D,[D.Transaction.prototype]),xc(D,[D.Transaction.prototype],D._storeNames,D._dbSchema),P.schema=D._dbSchema}),B.push(function(j){D.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(D.idbdb.version/10)===F._cfg.version?(D.idbdb.deleteObjectStore("$meta"),delete D._dbSchema.$meta,D._storeNames=D._storeNames.filter(function(V){return V!=="$meta"})):j.objectStore("$meta").put(F._cfg.version,"version"))})}),function F(){return B.length?se.resolve(B.shift()(P.idbtrans)).then(F):se.resolve()}().then(function(){sw(R,T)})):se.resolve();var D,C,P,T,B,R}).catch(b)):(o(v).forEach(function(M){lp(d,M,v[M].primKey,v[M].indexes)}),Dc(u,d),void se.follow(function(){return u.on.populate.fire(g)}).catch(b));var A,x})}function Vx(u,c){sw(u._dbSchema,c),c.db.version%10!=0||c.objectStoreNames.contains("$meta")||c.db.createObjectStore("$meta").add(Math.ceil(c.db.version/10-1),"version");var d=Ac(0,u.idbdb,c);Pc(u,u._dbSchema,c);for(var m=0,v=up(d,u._dbSchema).change;mMath.pow(2,62)?0:R.oldVersion,D=R<1,u.idbdb=B.result,g&&Vx(u,M),zx(u,R/10,M,P))},P),B.onsuccess=vt(function(){M=null;var R,F,j,V,q,Y=u.idbdb=B.result,ne=_(Y.objectStoreNames);if(0"u"?se.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(C){function P(){return indexedDB.databases().finally(C)}A=setInterval(P,100),P()}).finally(function(){return clearInterval(A)}):Promise.resolve()).then(O)]).then(function(){return b(),c.onReadyBeingFired=[],se.resolve(dp(function(){return u.on.ready.fire(u.vip)})).then(function C(){if(0c.limit?C.length=c.limit:u.length===c.limit&&C.length=F.limit&&(!F.values||Y.req.values)&&Gx(Y.req.query.range,F.query.range)}),!1,j,V];case"count":return q=V.find(function(Y){return mw(Y.req.query.range,F.query.range)}),[q,!!q,j,V]}}(c,d,"query",g),M=x[0],D=x[1],C=x[2],P=x[3];return M&&D?M.obsSet=g.obsSet:(D=m.query(g).then(function(T){var B=T.result;if(M&&(M.res=B),b){for(var R=0,F=B.length;R{var o=(async()=>{var a=$e(n);a.autoOpen=!1;var l=new Yy(i,a),f={[Od]:eF(r),[GB]:"++sequence, id",[Ab]:"id"};return l.version(1).stores(f),await l.open(),{dexieDb:l,dexieTable:l[Od],dexieAttachmentsTable:l[Ab],booleanIndexes:tF(r)}})();return Pb.set(i,s),Mf.set(s,0),o});return s}async function XB(t){var e=await t,n=Mf.get(t),r=n-1;r===0?(e.dexieDb.close(),Mf.delete(t)):Mf.set(t,r)}var Gy="__";function nc(t){var e=t.split(".");if(e.length>1)return e.map(r=>nc(r)).join(".");if(t.startsWith("|")){var n=t.substring(1);return Gy+n}else return t}function zO(t){var e=t.split(".");if(e.length>1)return e.map(r=>zO(r)).join(".");if(t.startsWith(Gy)){var n=t.substring(Gy.length);return"|"+n}else return t}function ZB(t,e){return e&&(e=$e(e),e=Jy(e),t.forEach(n=>{var r=Ts(e,n),i=r?"1":"0";rE(e,n,i)}),e)}function VO(t,e){return e&&(e=$e(e),e=Xy(e),t.forEach(n=>{var r=Ts(e,n),i=r==="1";rE(e,n,i)}),e)}function Jy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Jy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{typeof r=="object"&&(r=Jy(r)),e[nc(n)]=r}),e}}function Xy(t){if(!t||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(n=>Xy(n));if(typeof t=="object"){var e={};return Object.entries(t).forEach(([n,r])=>{(typeof r=="object"||Array.isArray(t))&&(r=Xy(r)),e[zO(n)]=r}),e}}function eF(t){var e=[],n=$n(t.primaryKey);e.push([n]),e.push(["_deleted",n]),t.indexes&&t.indexes.forEach(s=>{var o=ja(s);e.push(o)}),e.push(["_meta.lwt",n]),e.push(["_meta.lwt"]),e=e.map(s=>s.map(o=>nc(o)));var r=e.map(s=>s.length===1?s[0]:"["+s.join("+")+"]");r=r.filter((s,o,a)=>a.indexOf(s)===o);var i=r.join(", ");return i}async function Rb(t,e){var n=await t,r=await n.dexieTable.bulkGet(e);return r.map(i=>VO(n.booleanIndexes,i))}function of(t,e){return t+"||"+e}function tF(t){var e=new Set,n=[];return t.indexes?(t.indexes.forEach(r=>{var i=ja(r);i.forEach(s=>{if(!e.has(s)){e.add(s);var o=zi(t,s);o.type==="boolean"&&n.push(s)}})}),n.push("_deleted"),RP(n)):n}function Tb(t){return t===ci?-1/0:t}function Mb(t,e,n){if(t.includes(e)){var r=n===Tr||n===!0?"1":"0";return r}else return n}function KO(t,e,n){if(!n){if(typeof window>"u")throw new Error("IDBKeyRange missing");n=window.IDBKeyRange}var r=e.startKeys.map((o,a)=>{var l=e.index[a];return Mb(t,l,o)}).map(Tb),i=e.endKeys.map((o,a)=>{var l=e.index[a];return Mb(t,l,o)}).map(Tb),s=n.bound(r,i,!e.inclusiveStart,!e.inclusiveEnd);return s}async function Nb(t,e){var n=await t.internals,r=e.query,i=r.skip?r.skip:0,s=r.limit?r.limit:1/0,o=i+s,a=e.queryPlan,l=!1;a.selectorSatisfiedByIndex||(l=Oh(t.schema,e.query));var f=KO(n.booleanIndexes,a,n.dexieDb._options.IDBKeyRange),h=a.index,p=[];if(await n.dexieDb.transaction("r",n.dexieTable,async w=>{var I=w.idbtrans,E=I.objectStore(Od),$,S;S="["+h.map(k=>nc(k)).join("+")+"]",$=E.index(S);var _=$.openCursor(f);await new Promise(k=>{_.onsuccess=function(z){var W=z.target.result;if(W){var Q=VO(n.booleanIndexes,W.value);(!l||l(Q))&&p.push(Q),a.sortSatisfiedByIndex&&p.length===o?k():W.continue()}else k()}})}),!a.sortSatisfiedByIndex){var y=$g(t.schema,e.query);p=p.sort(y)}return p=p.slice(i,o),{documents:p}}async function nF(t,e){var n=await t.internals,r=e.queryPlan,i=r.index,s=KO(n.booleanIndexes,r,n.dexieDb._options.IDBKeyRange),o=-1;return await n.dexieDb.transaction("r",n.dexieTable,async a=>{var l=a.idbtrans,f=l.objectStore(Od),h,p;p="["+i.map(w=>nc(w)).join("+")+"]",h=f.index(p);var y=h.count(s);o=await new Promise((w,I)=>{y.onsuccess=function(){w(y.result)},y.onerror=E=>I(E)})}),o}var rF=Ft(),iF=function(){function t(n,r,i,s,o,a,l){this.changes$=new Kt,this.instanceId=rF++,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,this.primaryPath=$n(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=async function(r,i){uo(this),r.forEach(h=>{if(!h.document._rev||h.previous&&!h.previous._rev)throw le("SNH",{args:{row:h}})});var s=await this.internals,o={success:[],error:[]},a=r.map(h=>h.document[this.primaryPath]),l;if(await s.dexieDb.transaction("rw",s.dexieTable,s.dexieAttachmentsTable,async()=>{var h=new Map,p=await Rb(this.internals,a);p.forEach(I=>{var E=I;return E&&h.set(E[this.primaryPath],E),E}),l=sO(this,this.primaryPath,h,r,i),o.error=l.errors;var y=[];l.bulkInsertDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),l.bulkUpdateDocs.forEach(I=>{o.success.push(I.document),y.push(I.document)}),y=y.map(I=>ZB(s.booleanIndexes,I)),y.length>0&&await s.dexieTable.bulkPut(y);var w=[];l.attachmentsAdd.forEach(I=>{w.push({id:of(I.documentId,I.attachmentId),data:I.attachmentData.data})}),l.attachmentsUpdate.forEach(I=>{w.push({id:of(I.documentId,I.attachmentId),data:I.attachmentData.data})}),await s.dexieAttachmentsTable.bulkPut(w),await s.dexieAttachmentsTable.bulkDelete(l.attachmentsRemove.map(I=>of(I.documentId,I.attachmentId)))}),l=ye(l),l.eventBulk.events.length>0){var f=ye(l.newestRow).document;l.eventBulk.checkpoint={id:f[this.primaryPath],lwt:f._meta.lwt},l.eventBulk.endTime=Ft(),this.changes$.next(l.eventBulk)}return o},e.findDocumentsById=async function(r,i){uo(this);var s=await this.internals,o=[];return await s.dexieDb.transaction("r",s.dexieTable,async()=>{var a=await Rb(this.internals,r);a.forEach(l=>{l&&(!l._deleted||i)&&o.push(l)})}),o},e.query=function(r){return uo(this),Nb(this,r)},e.count=async function(r){if(r.queryPlan.selectorSatisfiedByIndex){var i=await nF(this,r);return{count:i,mode:"fast"}}else{var s=await Nb(this,r);return{count:s.documents.length,mode:"slow"}}},e.changeStream=function(){return uo(this),this.changes$.asObservable()},e.cleanup=async function(r){uo(this);var i=await this.internals;return await i.dexieDb.transaction("rw",i.dexieTable,async()=>{var s=Ft()-r,o=await i.dexieTable.where("_meta.lwt").below(s).toArray(),a=[];o.forEach(l=>{l._deleted==="1"&&a.push(l[this.primaryPath])}),await i.dexieTable.bulkDelete(a)}),!0},e.getAttachmentData=async function(r,i,s){uo(this);var o=await this.internals,a=of(r,i);return await o.dexieDb.transaction("r",o.dexieAttachmentsTable,async()=>{var l=await o.dexieAttachmentsTable.get(a);if(l)return l.data;throw new Error("attachment missing documentId: "+r+" attachmentId: "+i)})},e.remove=async function(){uo(this);var r=await this.internals;return await r.dexieTable.clear(),this.close()},e.close=function(){return this.closed?this.closed:(this.closed=(async()=>{this.changes$.complete(),await XB(this.internals)})(),this.closed)},e.conflictResultionTasks=function(){return new Kt},e.resolveConflictResultionTask=async function(r){},t}();async function sF(t,e,n){var r=JB(e.databaseName,e.collectionName,n,e.schema),i=new iF(t,e.databaseName,e.collectionName,e.schema,r,e.options,n);return await FB(UO,e,i),Promise.resolve(i)}function uo(t){if(t.closed)throw new Error("RxStorageInstanceDexie is closed "+t.databaseName+"-"+t.collectionName)}var oF=function(){function t(n){this.name=UO,this.rxdbVersion=wg,this.settings=n}var e=t.prototype;return e.createStorageInstance=function(r){return oO(r),sF(this,r,this.settings)},t}();function aF(t={}){var e=new oF(t);return e}function uF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>=0?(s=o,i=o-1):r=o+1}return s}function lF(t,e,n,r,i){for(var s=i+1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l>0?(s=o,i=o-1):r=o+1}return s}function cF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<0?(s=o,r=o+1):i=o-1}return s}function fF(t,e,n,r,i){for(var s=r-1;r<=i;){var o=r+i>>>1,a=t[o],l=n!==void 0?n(a,e):a-e;l<=0?(s=o,r=o+1):i=o-1}return s}function dF(t,e,n,r,i){for(;r<=i;){var s=r+i>>>1,o=t[s],a=n!==void 0?n(o,e):o-e;if(a===0)return s;a<=0?r=s+1:i=s-1}return-1}function rc(t,e,n,r,i,s){return typeof n=="function"?s(t,e,n,r===void 0?0:r|0,i===void 0?t.length-1:i|0):s(t,e,void 0,n===void 0?0:n|0,r===void 0?t.length-1:r|0)}function hF(t,e,n,r,i){return rc(t,e,n,r,i,uF)}function Bb(t,e,n,r,i){return rc(t,e,n,r,i,lF)}function pF(t,e,n,r,i){return rc(t,e,n,r,i,cF)}function mF(t,e,n,r,i){return rc(t,e,n,r,i,fF)}function WO(t,e,n,r,i){return rc(t,e,n,r,i,dF)}function qO(t,e,n){return[t,e,n].join("--memory--")}function af(t){if(t.internals.removed)throw new Error("removed")}function uf(t,e){return t+"||"+e}function yF(t,e){return t.indexString{var o=s.docsWithIndex,a=s.getIndexableString(r),l=WO(o,{indexString:a},rl);o.splice(l,1)})}function rl(t,e){var n=t.indexString,r=e.indexString;return nja(i)):[];r.push(["_deleted","_meta.lwt",n]),r.forEach(i=>{t.byIndex[Zy(i)]={index:i,docsWithIndex:[],getIndexableString:$B(e,i)}})}function Zy(t){return t.join(",")}var Lb=new Set,wF=function(){function t(n,r,i,s,o,a,l){this.closed=!1,this.storage=n,this.databaseName=r,this.collectionName=i,this.schema=s,this.internals=o,this.options=a,this.settings=l,Lb.add(this),this.primaryPath=$n(this.schema.primaryKey)}var e=t.prototype;return e.bulkWrite=function(r,i){this.ensurePersistence(),af(this);for(var s=this.internals,o=this.internals.documents,a=this.primaryPath,l=sO(this,a,o,r,i),f=l.errors,h=new Array(l.bulkInsertDocs.length),p=l.bulkInsertDocs,y=0;y{this.internals.ensurePersistenceIdlePromise=void 0,this.ensurePersistence()})),l.eventBulk.events.length>0){var k=ye(l.newestRow).document;l.eventBulk.checkpoint={id:k[a],lwt:k._meta.lwt},l.eventBulk.endTime=Ft(),dd.then(()=>{s.changes$.next(l.eventBulk)})}var z=Promise.resolve({success:h,error:f});return z},e.ensurePersistence=function(){if(this.internals.ensurePersistenceTask){var r=this.internals,i=this.internals.documents,s=this.primaryPath,o=this.internals.ensurePersistenceTask;this.internals.ensurePersistenceTask=void 0;for(var a=Object.values(this.internals.byIndex),l=o.bulkInsertDocs,f=0;f{_.set(uf(k.documentId,k.attachmentId),{writeData:k.attachmentData,digest:k.digest})}),this.schema.attachments&&(o.attachmentsUpdate.forEach(k=>{_.set(uf(k.documentId,k.attachmentId),{writeData:k.attachmentData,digest:k.digest})}),o.attachmentsRemove.forEach(k=>{_.delete(uf(k.documentId,k.attachmentId))}))}}},e.findDocumentsById=function(r,i){this.ensurePersistence();var s=this.internals.documents,o=[];if(s.size===0)return Promise.resolve(o);for(var a=0;az)break;var X=H.doc;(!f||f(X))&&W.push(X),W.length>=l&&!p&&(Q=!0),k++}if(p){var U=$g(this.schema,r.query);W=W.sort(U)}return W=W.slice(o,l),Promise.resolve({documents:W})},e.count=async function(r){this.ensurePersistence();var i=await this.query(r);return{count:i.documents.length,mode:"fast"}},e.cleanup=function(r){this.ensurePersistence();for(var i=Ft()-r,s=["_deleted","_meta.lwt",this.primaryPath],o=Zy(s),a=this.internals.byIndex[o].docsWithIndex,l=vb(this.schema,s,[!0,0,""]),f=Bb(a,{indexString:l},rl),h=!1;!h;){var p=a[f];!p||p.doc._meta.lwt>i?h=!0:(vF(this.primaryPath,this.schema,this.internals,p.doc),f++)}return dd},e.getAttachmentData=function(r,i,s){this.ensurePersistence(),af(this);var o=uf(r,i),a=this.internals.attachments.get(o);if(!s||!a||a.digest!==s)throw new Error("attachment does not exist: "+o);return Promise.resolve(a.writeData.data)},e.changeStream=function(){return af(this),this.internals.changes$.asObservable()},e.remove=async function(){if(this.closed)throw new Error("closed");this.ensurePersistence(),af(this),this.internals.removed=!0,this.storage.collectionStates.delete(qO(this.databaseName,this.collectionName,this.schema.version)),await this.close()},e.close=function(){return Lb.delete(this),this.ensurePersistence(),this.closed||(this.closed=!0,this.internals.refCount=this.internals.refCount-1),un},e.conflictResultionTasks=function(){return this.internals.conflictResultionTasks$.asObservable()},e.resolveConflictResultionTask=function(r){return un},t}();function _F(t,e,n){var r=qO(e.databaseName,e.collectionName,e.schema.version),i=t.collectionStates.get(r);if(!i)i={id:iu(5),schema:e.schema,removed:!1,refCount:1,documents:new Map,attachments:e.schema.attachments?new Map:void 0,byIndex:{},conflictResultionTasks$:new Kt,changes$:new Kt},gF(i,e.schema),t.collectionStates.set(r,i);else{if(e.devMode&&!Va(i.schema,e.schema))throw new Error("storage was already created with a different schema");i.refCount=i.refCount+1}var s=new wF(t,e.databaseName,e.collectionName,e.schema,i,e.options,n);return Promise.resolve(s)}var bF=new Map;function $b(t={}){var e={name:"memory",rxdbVersion:wg,collectionStates:bF,createStorageInstance(n){oO(n);var r=Object.assign({},t,n.options);return _F(this,n,r)}};return e}function SF(t){let{name:e,options:n,storage:r,...i}=t;if(!r)switch(n.storageType){case"dexie":r=aF(n.storageOptions);break;case"memory":r=$b(n.storageOptions);break;default:r=$b(n.storageOptions);break}return{name:e,storage:r,options:n,...i}}const IF=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,jb=t=>{if(typeof t!="string")throw new TypeError("Invalid argument expected string");const e=t.match(IF);if(!e)throw new Error(`Invalid argument not valid semver ('${t}' received)`);return e.shift(),e},Ub=t=>t==="*"||t==="x"||t==="X",zb=t=>{const e=parseInt(t,10);return isNaN(e)?t:e},EF=(t,e)=>typeof t!=typeof e?[String(t),String(e)]:[t,e],OF=(t,e)=>{if(Ub(t)||Ub(e))return 0;const[n,r]=EF(zb(t),zb(e));return n>r?1:n{for(let n=0;n{const n=jb(t),r=jb(e),i=n.pop(),s=r.pop(),o=Vb(n,r);return o!==0?o:i&&s?Vb(i.split("."),s.split(".")):i||s?i?-1:1:0},DF=(t,e,n)=>{xF(n);const r=kF(t,e);return HO[n].includes(r)},HO={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Kb=Object.keys(HO),xF=t=>{if(typeof t!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof t}`);if(Kb.indexOf(t)===-1)throw new Error(`Invalid operator, expected one of ${Kb.join("|")}`)},{logger:Jr,getDefaultPreparedQuery:CF}=$r,Wb="storage-token|storageToken",Jg=async t=>{let e;try{const r=await $O()(t);if(r.ok)e=await r.json();else throw new Error(`Failed to fetch schema from "${t}", status: ${r.status}`)}catch{throw new Error(`Failed to fetch schema from "${t}"`)}return e},AF=async t=>{var e;try{const n={};for(const r in t){const i=t[r];!i.schema&&((e=i.options)!=null&&e.schemaUrl)&&(i.schema=await Jg(i.options.schemaUrl)),n[i.name]=i}return n}catch(n){throw new Error(n.message)}},PF=async(t,e)=>{let n;const i=await $O()(t);if(i.ok)n=await i.json();else throw new Error(`Failed to fetch db dump from "${t}", status: ${i.status}`);if(!e||!Object.keys(e).length)throw new Error("collections must be initialized before importing");for(const s of n.collections){const o=e[s.name];if(o)s.schemaHash=o.schema._hash;else throw new Error("no such collection as provided in dump")}return n},RF=async(t,e,n)=>{var s,o;let r={};if(t.name!=="dexie")return;const i=(s=await e.internals)==null?void 0:s.dexieTable;if(r=(o=await i.get(Wb))==null?void 0:o.data,!(r!=null&&r.rxdbVersion)||DF(n,r.rxdbVersion,">"))try{await i.update(Wb,{data:{...r,rxdbVersion:n}}),Jr.log("prepare-plugin: migrated internal storage to",n)}catch{throw new Error("prepare-plugin: unable to migrate internal storage")}},TF=async({database:t,creator:e})=>{var o;const n=await EO(t);Jr.log("prepare-plugin: hook:createRxDatabase:after");const{storage:r,internalStore:i,rxdbVersion:s}=t;if(await RF(r,i,s),!(!((o=e.options)!=null&&o.dumpPath)||!n))try{const a=await PF(e.options.dumpPath,t.collections);await t.importJSON(a),Jr.log(`prepare-plugin: imported dump for db "${t.name}"`)}catch(a){Jr.log("prepare-plugin: imported dump error",a)}},MF=async t=>{if(typeof t=="string"){const e=await Jg(t);if(!e)throw new Error(`Failed to fetch schema from "${t}"`);t=e}},NF=async({collection:t,creator:e})=>{var l,f,h;Jr.log("prepare-plugin: hook:createRxCollection:before");const n=await t.getMetadata();Jr.log("prepare-plugin: hook:createRxCollection:before",n);const r=((l=e.options)==null?void 0:l.initialDocs)||[],i=await a();if(!r.length)return;if(i||!n.isFirstTimeInstantiated){if(!((f=e.options)!=null&&f.recreate)||(h=e.options)!=null&&h.replication)return;Jr.log(`prepare-plugin: collection "${t.name}" already has ${i} docs (including _deleted), but recreate option is set`)}const s=await t.schema.hash,o={name:t.name,schemaHash:s,docs:r};try{const{success:p,error:y}=await t.importJSON(o),w=await a();Jr.log(`prepare-plugin: imported ${p.length} docs for collection "${t.name}", errors count ${y.length}, current docs count ${w}`),Jr.table(p)}catch(p){Jr.log("prepare-plugin: imported dump error",p)}return;async function a(){const{count:p}=await t.storageInstance.count(CF()).catch(()=>({count:0}));return p}},BF={name:"prepare-plugin",rxdb:!0,prototypes:{RxDatabase:t=>{Object.assign(t,{fetchSchema:Jg})},RxCollection:t=>{Object.assign(t,{getMetadata:async function(){const n=await EO(this.database),r=await Kg(this.database.internalStore),{id:i,data:s,_meta:o,_rev:a}=r.filter(l=>l.data.name===this.name).at(0)||{};return{id:i||this.name,databaseName:this.database.name,collectionName:(s==null?void 0:s.name)||this.name,storageName:this.storageInstance.originalStorageInstance.storage.name,last_modified:o!=null&&o.lwt?Math.floor(o==null?void 0:o.lwt):Date.now(),rev:a?Number(a==null?void 0:a.at(0)):1,isFirstTimeInstantiated:n}}})}},hooks:{createRxDatabase:{after:TF},preCreateRxSchema:{before:MF},createRxCollection:{after:NF}}};function QO(t,e){const n={};if(Array.isArray(e))for(const r of e){const i=Object.getOwnPropertyDescriptor(t,r);i!=null&&i.enumerable&&Object.defineProperty(n,r,i)}else for(const r of Reflect.ownKeys(t)){const i=Object.getOwnPropertyDescriptor(t,r);if(i.enumerable){const s=t[r];e(r,s,t)&&Object.defineProperty(n,r,i)}}return n}const YO="%[a-f0-9]{2}",qb=new RegExp("("+YO+")|([^%]+?)","gi"),Hb=new RegExp("("+YO+")+","gi");function ev(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(t.length===1)return t;e=e||1;const n=t.slice(0,e),r=t.slice(e);return Array.prototype.concat.call([],ev(n),ev(r))}function FF(t){try{return decodeURIComponent(t)}catch{let e=t.match(qb)||[];for(let n=1;nt==null,UF=t=>encodeURIComponent(t).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),tv=Symbol("encodeFragmentIdentifier");function zF(t){switch(t.arrayFormat){case"index":return e=>(n,r)=>{const i=n.length;return r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[",i,"]"].join("")]:[...n,[Nt(e,t),"[",Nt(i,t),"]=",Nt(r,t)].join("")]};case"bracket":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),"[]"].join("")]:[...n,[Nt(e,t),"[]=",Nt(r,t)].join("")];case"colon-list-separator":return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,[Nt(e,t),":list="].join("")]:[...n,[Nt(e,t),":list=",Nt(r,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e=t.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||t.skipNull&&i===null||t.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Nt(n,t),e,Nt(i,t)].join("")]:[[r,Nt(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,r)=>r===void 0||t.skipNull&&r===null||t.skipEmptyString&&r===""?n:r===null?[...n,Nt(e,t)]:[...n,[Nt(e,t),"=",Nt(r,t)].join("")]}}function VF(t){let e;switch(t.arrayFormat){case"index":return(n,r,i)=>{if(e=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!e){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][e[1]]=r};case"bracket":return(n,r,i)=>{if(e=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(e=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!e){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const s=typeof r=="string"&&r.includes(t.arrayFormatSeparator),o=typeof r=="string"&&!s&&Oi(r,t).includes(t.arrayFormatSeparator);r=o?Oi(r,t):r;const a=s||o?r.split(t.arrayFormatSeparator).map(l=>Oi(l,t)):r===null?r:Oi(r,t);i[n]=a};case"bracket-separator":return(n,r,i)=>{const s=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!s){i[n]=r&&Oi(r,t);return}const o=r===null?[]:r.split(t.arrayFormatSeparator).map(a=>Oi(a,t));if(i[n]===void 0){i[n]=o;return}i[n]=[...i[n],...o]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function JO(t){if(typeof t!="string"||t.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Nt(t,e){return e.encode?e.strict?UF(t):encodeURIComponent(t):t}function Oi(t,e){return e.decode?$F(t):t}function XO(t){return Array.isArray(t)?t.sort():typeof t=="object"?XO(Object.keys(t)).sort((e,n)=>Number(e)-Number(n)).map(e=>t[e]):t}function ZO(t){const e=t.indexOf("#");return e!==-1&&(t=t.slice(0,e)),t}function KF(t){let e="";const n=t.indexOf("#");return n!==-1&&(e=t.slice(n)),e}function Qb(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&typeof t=="string"&&t.trim()!==""?t=Number(t):e.parseBooleans&&t!==null&&(t.toLowerCase()==="true"||t.toLowerCase()==="false")&&(t=t.toLowerCase()==="true"),t}function Xg(t){t=ZO(t);const e=t.indexOf("?");return e===-1?"":t.slice(e+1)}function Zg(t,e){e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e},JO(e.arrayFormatSeparator);const n=VF(e),r=Object.create(null);if(typeof t!="string"||(t=t.trim().replace(/^[?#&]/,""),!t))return r;for(const i of t.split("&")){if(i==="")continue;const s=e.decode?i.replace(/\+/g," "):i;let[o,a]=GO(s,"=");o===void 0&&(o=s),a=a===void 0?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?a:Oi(a,e),n(Oi(o,e),a,r)}for(const[i,s]of Object.entries(r))if(typeof s=="object"&&s!==null)for(const[o,a]of Object.entries(s))s[o]=Qb(a,e);else r[i]=Qb(s,e);return e.sort===!1?r:(e.sort===!0?Object.keys(r).sort():Object.keys(r).sort(e.sort)).reduce((i,s)=>{const o=r[s];return o&&typeof o=="object"&&!Array.isArray(o)?i[s]=XO(o):i[s]=o,i},Object.create(null))}function ek(t,e){if(!t)return"";e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e},JO(e.arrayFormatSeparator);const n=o=>e.skipNull&&jF(t[o])||e.skipEmptyString&&t[o]==="",r=zF(e),i={};for(const[o,a]of Object.entries(t))n(o)||(i[o]=a);const s=Object.keys(i);return e.sort!==!1&&s.sort(e.sort),s.map(o=>{const a=t[o];return a===void 0?"":a===null?Nt(o,e):Array.isArray(a)?a.length===0&&e.arrayFormat==="bracket-separator"?Nt(o,e)+"[]":a.reduce(r(o),[]).join("&"):Nt(o,e)+"="+Nt(a,e)}).filter(o=>o.length>0).join("&")}function tk(t,e){var i;e={decode:!0,...e};let[n,r]=GO(t,"#");return n===void 0&&(n=t),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:Zg(Xg(t),e),...e&&e.parseFragmentIdentifier&&r?{fragmentIdentifier:Oi(r,e)}:{}}}function nk(t,e){e={encode:!0,strict:!0,[tv]:!0,...e};const n=ZO(t.url).split("?")[0]||"",r=Xg(t.url),i={...Zg(r,{sort:!1}),...t.query};let s=ek(i,e);s&&(s=`?${s}`);let o=KF(t.url);if(t.fragmentIdentifier){const a=new URL(n);a.hash=t.fragmentIdentifier,o=e[tv]?a.hash:`#${t.fragmentIdentifier}`}return`${n}${s}${o}`}function rk(t,e,n){n={parseFragmentIdentifier:!0,[tv]:!1,...n};const{url:r,query:i,fragmentIdentifier:s}=tk(t,n);return nk({url:r,query:QO(i,e),fragmentIdentifier:s},n)}function WF(t,e,n){const r=Array.isArray(e)?i=>!e.includes(i):(i,s)=>!e(i,s);return rk(t,r,n)}const gm=Object.freeze(Object.defineProperty({__proto__:null,exclude:WF,extract:Xg,parse:Zg,parseUrl:tk,pick:rk,stringify:ek,stringifyUrl:nk},Symbol.toStringTag,{value:"Module"})),{keys:Yb,isEmpty:Gb,isNullOrUndefined:nv}=$r,qF=({selector:t,sort:e,limit:n,skip:r},i)=>{const s=Yb(i.jsonSchema.properties);return Gb(t)||(t=QO(t,o=>!o.startsWith("$")&&!o.includes(".")&&s.includes(o))),Gb(e)||(e=e==null?void 0:e.filter(o=>s.includes(Yb(o)[0]))),(nv(n)||isNaN(n))&&(n=void 0),(nv(r)||isNaN(r))&&(r=void 0),{selector:t,sort:e,limit:n,skip:r}},Jb=(t,e)=>{t=gm.extract(t);const n=gm.pick(t,["selector","sort","limit","skip"]),r=gm.parse(n,{parseNumbers:!0,parseBooleans:!0}),{selector:i,sort:s,limit:o,skip:a}=r,l=i?JSON.parse(i):void 0,f=s?JSON.parse(s):void 0;return qF({selector:l,sort:f,limit:o,skip:a},e)},lf=t=>nv(t)?"":JSON.stringify(t),{logger:Xb,compactObject:HF}=$r,QF={name:"query-params-plugin",rxdb:!0,prototypes:{RxCollection:t=>{const e=new Cr({});let n=!1,r,i=!1,s="",o=()=>Promise.resolve(!1);function a(h=RE,p){var y;n=!!((y=this.options)!=null&&y.useQueryParams),r=this.schema,!(!n||i)&&(o=p,h.pipe(Ms(),Ay(w=>{s=w}),Mt(w=>Jb(w,r)),kE(w=>(Xb.log("Error in parsing url to mango query",w),e)),Ay(w=>{Xb.log("queryParams",w)}),NE(()=>!this.destroyed)).subscribe(e),i=!0)}function l(h){if(!n)return;const{selector:p,sort:y,limit:w,skip:I}=h,E={limit:w,skip:I};p&&(E.selector=lf(h.selector)),y&&(E.sort=lf(h.sort)),o(E)}function f(h){if(!n)return;const p=Jb(s,r),y={selector:lf(h.selector||p.selector),sort:lf(h.sort||p.sort),limit:h.limit||p.limit,skip:h.skip||p.skip};o(HF(y))}Object.assign(t,{queryParams:{$:e.asObservable(),get:()=>e.getValue(),set:l,patch:f}},{queryParamsInit:a})}},hooks:{createRxCollection:{}}};var ik={minimumDeletedTime:1e3*60*60*24*31,minimumCollectionAge:1e3*60,runEach:1e3*60*5,awaitReplicationsInSync:!0,waitForLeadership:!0},wm=dd;async function YF(t){var e=t.database,n=Object.assign({},ik,e.cleanupPolicy?e.cleanupPolicy:{});await t.promiseWait(n.minimumCollectionAge),!t.destroyed&&(n.waitForLeadership&&await e.waitForLeadership(),!t.destroyed&&(await sk(t,n),await GF(t,n)))}async function sk(t,e){for(var n=t.database,r=t.storageInstance,i=!1;!i&&!t.destroyed;){if(e.awaitReplicationsInSync){var s=LO.get(t);s&&await Promise.all(s.map(o=>{if(!o.isStopped())return o.awaitInSync()}))}if(await n.requestIdlePromise(),t.destroyed)return;wm=wm.then(()=>t.destroyed?!0:r.cleanup(e.minimumDeletedTime)),i=await wm}}async function GF(t,e){for(;!t.destroyed;){if(await t.promiseWait(e.runEach),t.destroyed)return;await sk(t,e)}}var JF={name:"cleanup",rxdb:!0,prototypes:{RxCollection:t=>{t.cleanup=async function(e){var n=Object.assign({},ik,this.database.cleanupPolicy?this.database.cleanupPolicy:{});typeof e>"u"&&(e=n.minimumDeletedTime);for(var r=!1;!r&&!this.destroyed;)r=await this.storageInstance.cleanup(e)}}},hooks:{createRxCollection:{after:t=>{YF(t.collection)}}}};function XF(t){var e={name:this.name,instanceToken:this.token,collections:[]},n=Object.keys(this.collections).filter(r=>!t||t.includes(r)).filter(r=>r.charAt(0)!=="_").map(r=>this.collections[r]);return Promise.all(n.map(r=>r.exportJSON())).then(r=>(e.collections=r,e))}var ZF=function(t){var e=t.collections.filter(n=>!this.collections[n.name]).map(n=>n.name);if(e.length>0)throw le("JD1",{missingCollections:e});return Promise.all(t.collections.map(n=>this.collections[n.name].importJSON(n)))},eL=async function(){var t={name:this.name,schemaHash:await this.schema.hash,docs:[]},e=na("find",tl(),this);return rO(e).then(n=>(t.docs=n.map(r=>(r=$e(r),delete r._rev,delete r._attachments,r)),t))};async function tL(t){if(t.schemaHash!==await this.schema.hash)throw le("JD2",{schemaHash:t.schemaHash,own:this.schema.hash});var e=t.docs;return this.storageInstance.bulkWrite(e.map(n=>{var r=Object.assign({},n,{_meta:{lwt:Ft()},_rev:Nn(),_attachments:{},_deleted:!1});return{document:r}}),"json-dump-import")}var nL={name:"json-dump",rxdb:!0,prototypes:{RxDatabase:t=>{t.exportJSON=XF,t.importJSON=ZF},RxCollection:t=>{t.exportJSON=eL,t.importJSON=tL}},overwritable:{}},rL=lO(),iL=function(t){_g(e,t);function e(n,r,i){var s;return s=t.call(this,null,r)||this,s.id=n,s.parent=i,s}return e}(rL),il={get isLocal(){return!0},get allAttachments$(){throw le("LD1",{document:this})},get primaryPath(){return"id"},get primary(){return this.id},get $(){var t=this,e=Bo(rv,this.parent);return t.parent.$.pipe(lt(n=>n.documentId===this.primary),lt(n=>n.isLocal),Mt(n=>xg(n)),Hl(e.docCache.getLatestDocumentData(this.primary)),Ms((n,r)=>n._rev===r._rev),Mt(n=>e.docCache.getCachedRxDocument(n)),Pi(Ai))},get $$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.$,t.getLatest()._data)},get deleted$$(){var t=this,e=_m(t),n=e.getReactivityFactory();return n.fromObservable(t.deleted$,t.getLatest().deleted)},getLatest(){var t=Bo(rv,this.parent),e=t.docCache.getLatestDocumentData(this.primary);return t.docCache.getCachedRxDocument(e)},get(t){if(t="data."+t,!!this._data){if(typeof t!="string")throw el("LD2",{objPath:t});var e=Ts(this._data,t);return e=it.deepFreezeWhenDevMode(e),e}},get$(t){if(t="data."+t,it.isDevMode()){if(t.includes(".item."))throw le("LD3",{objPath:t});if(t===this.primaryPath)throw le("LD4")}return this.$.pipe(Mt(e=>e._data),Mt(e=>Ts(e,t)),Ms())},get$$(t){var e=_m(this),n=e.getReactivityFactory();return n.fromObservable(this.get$(t),this.getLatest().get(t))},async incrementalModify(t){var e=await sl(this.parent);return e.incrementalWriteQueue.addWrite(this._data,async n=>(n.data=await t(n.data,this),n)).then(n=>e.docCache.getCachedRxDocument(n))},incrementalPatch(t){return this.incrementalModify(e=>(Object.entries(t).forEach(([n,r])=>{e[n]=r}),e))},async _saveData(t){var e=await sl(this.parent),n=this._data;return t.id=this.id,e.storageInstance.bulkWrite([{previous:n,document:t}],"local-document-save-data").then(r=>{var i=r.success[0];if(!i)throw r.error[0];t=$e(t),t._rev=i._rev})},async remove(){var t=await sl(this.parent),e={id:this._data.id,data:{},_deleted:!0,_meta:Ws(),_rev:Nn(),_attachments:{}};return Tl(t.storageInstance,{previous:this._data,document:e},"local-document-remove").then(n=>t.docCache.getCachedRxDocument(n))}},Zb=!1,sL=()=>{if(!Zb){Zb=!0;var t=kh,e=Object.getOwnPropertyNames(t);e.forEach(r=>{var i=Object.getOwnPropertyDescriptor(il,r);if(!i){var s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(il,r,s)}});var n=r=>()=>{throw le("LD6",{functionName:r})};["populate","update","putAttachment","getAttachment","allAttachments"].forEach(r=>il[r]=n(r))}};function oL(t,e){sL();var n=new iL(t.id,t,e);return Object.setPrototypeOf(n,il),n.prototype=il,n}function _m(t){var e=t.parent;return IN(e)?e:e.database}var kd=new WeakMap,rv=new WeakMap;function e1(t){var e=t.database?t.database:t,n=t.database?t.name:"",r=(async()=>{var i=await ok(e.token,e.storage,e.name,n,e.instanceCreationOptions,e.multiInstance);i=Ug(e,i,ak);var s=new ZE("id",t.$.pipe(lt(h=>h.isLocal)),h=>oL(h,t)),o=new uO(i,"id",()=>{},()=>{}),a=await e.storageToken,l=i.changeStream().subscribe(h=>{var p={id:h.id,internal:!1,collectionName:t.database?t.name:void 0,storageToken:a,events:h.events.map(y=>iO(!0,y,t.database?t:void 0)),databaseToken:e.token,checkpoint:h.checkpoint,context:h.context,endTime:h.endTime,startTime:h.startTime};e.$emit(p)});t._subs.push(l);var f={database:e,parent:t,storageInstance:i,docCache:s,incrementalWriteQueue:o};return rv.set(t,f),f})();kd.set(t,r)}function sl(t){var e=kd.get(t);if(!e){var n=t.database?t.database:t,r=t.database?t.name:"";throw le("LD8",{database:n.name,collection:r})}return e}function ok(t,e,n,r,i,s){return e.createStorageInstance({databaseInstanceToken:t,databaseName:n,collectionName:aL(r),schema:ak,options:i,multiInstance:s,devMode:it.isDevMode()})}function t1(t){var e=kd.get(t);if(e)return kd.delete(t),e.then(n=>n.storageInstance.close())}async function n1(t,e,n){var r=iu(10),i=await ok(r,t,e,n,{},!1);await i.remove()}function aL(t){return"plugin-local-documents-"+t}var ak=bh({title:"RxLocalDocument",version:0,primaryKey:"id",type:"object",properties:{id:{type:"string",maxLength:128},data:{type:"object",additionalProperties:!0}},required:["id","data"]});async function r1(t,e){var n=await sl(this),r={id:t,data:e,_deleted:!1,_meta:Ws(),_rev:Nn(),_attachments:{}};return Tl(n.storageInstance,{document:r},"local-document-insert").then(i=>n.docCache.getCachedRxDocument(i))}function i1(t,e){return this.getLocal(t).then(n=>{if(n)return n.incrementalModify(()=>e);var r=this.insertLocal(t,e);return r})}async function s1(t){var e=await sl(this),n=e.docCache,r=n.getLatestDocumentDataIfExists(t);return r?Promise.resolve(n.getCachedRxDocument(r)):Xl(e.storageInstance,t).then(i=>i?e.docCache.getCachedRxDocument(i):null)}function o1(t){return this.$.pipe(Hl(null),Lr(async e=>{if(e)return{changeEvent:e};var n=await this.getLocal(t);return{doc:n}}),Lr(async e=>{if(e.changeEvent){var n=e.changeEvent;if(!n.isLocal||n.documentId!==t)return{use:!1};var r=await this.getLocal(t);return{use:!0,doc:r}}else return{use:!0,doc:e.doc}}),lt(e=>e.use),Mt(e=>e.doc))}var uk={name:"local-documents",rxdb:!0,prototypes:{RxCollection:t=>{t.insertLocal=r1,t.upsertLocal=i1,t.getLocal=s1,t.getLocal$=o1},RxDatabase:t=>{t.insertLocal=r1,t.upsertLocal=i1,t.getLocal=s1,t.getLocal$=o1}},hooks:{createRxDatabase:{before:t=>{t.creator.localDocuments&&e1(t.database)}},createRxCollection:{before:t=>{t.creator.localDocuments&&e1(t.collection)}},preDestroyRxDatabase:{after:t=>t1(t)},postDestroyRxCollection:{after:t=>t1(t)},postRemoveRxDatabase:{after:t=>n1(t.storage,t.databaseName,"")},postRemoveRxCollection:{after:t=>n1(t.storage,t.databaseName,t.collectionName)}},overwritable:{}};async function lk(t){var e=pR(t.collection.schema.jsonSchema).map(r=>t.collection.name+"-"+r),n=await t.database.internalStore.findDocumentsById(e.map(r=>Ha(r,xo)),!1);if(n.length>1)throw new Error("more the one old collection meta found");return n[0]}function uL(t,e,n){var r=$e(n._attachments),i=Mn(n),s=i._meta;delete i._meta,i._attachments=r;for(var o=e+1,a=Promise.resolve(i),l=function(){var f=o;a=a.then(h=>lL(t,f,h)),o++};o<=t.schema.version;)l();return a.then(f=>f===null?vg:(f._meta=s,f))}function lL(t,e,n){if(n===null)return vg;var r=t.migrationStrategies[e](n,t),i=ZI(r);return i}async function ck(t){if(t.collection.schema.version===0)return Xn;var e=await lk(t);return!!e}var cL=200,fk=new WeakMap;function fL(t){var e=dk(t.database),n=e.getValue().slice(0);n.push(t),e.next(n)}function dk(t){return Br(fk,t,()=>new Cr([]))}function dL(t){var e=fk.get(t);e&&e.complete()}var hL=function(){function t(n,r,i=[n.name,"v",n.schema.version].join("-")){this.started=!1,this.updateStatusHandlers=[],this.updateStatusQueue=dd,this.collection=n,this.migrationStrategies=r,this.statusDocKey=i,this.database=n.database,this.oldCollectionMeta=lk(this),this.mustMigrate=ck(this),this.statusDocId=Ha(this.statusDocKey,Pf),fL(this),this.$=q2(this.database.internalStore,this.statusDocId).pipe(lt(s=>!!s),Mt(s=>ye(s).data),Pi(Ai))}var e=t.prototype;return e.getStatus=function(){return As(this.$)},e.startMigration=async function(r=cL){var i=await this.mustMigrate;if(i){if(this.started)throw le("DM1");this.started=!0;var s=void 0;if(this.database.multiInstance){s=new xh(["rx-migration-state",this.database.name,this.collection.name,this.collection.schema.version].join("|"));var o=NB(s);await o.awaitLeadership()}var a=await this.oldCollectionMeta,l=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:this.collection.name,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:a.data.schema,password:this.database.password,devMode:it.isDevMode()}),f=await this.getConnectedStorageInstances(),h=await this.countAllDoucments([l].concat(f.map(p=>p.oldStorage)));await this.updateStatus(p=>(p.count.total=h,p));try{await Promise.all(f.map(async p=>{await dO(this.collection,p.newStorage.collectionName,p.newStorage.schema),await this.migrateStorage(p.oldStorage,p.newStorage,r),await p.newStorage.close()})),await this.migrateStorage(l,this.collection.storageInstance.originalStorageInstance,r)}catch(p){await l.close(),await this.updateStatus(y=>(y.status="ERROR",y.error=ky(p),y));return}await Tl(this.database.internalStore,{previous:a,document:Object.assign({},a,{_deleted:!0})},"rx-migration-remove-collection-meta"),await this.updateStatus(p=>(p.status="DONE",p)),s&&await s.close()}},e.updateStatus=function(r){return this.updateStatusHandlers.push(r),this.updateStatusQueue=this.updateStatusQueue.then(async()=>{if(this.updateStatusHandlers.length!==0){var i=this.updateStatusHandlers;for(this.updateStatusHandlers=[];;){var s=await Xl(this.database.internalStore,this.statusDocId),o=Mn(s);s||(o={id:this.statusDocId,key:this.statusDocKey,context:Pf,data:{collectionName:this.collection.name,status:"RUNNING",count:{total:0,handled:0,percent:0}},_deleted:!1,_meta:Ws(),_rev:Nn(),_attachments:{}});var a=ye(o).data;for(var l of i)a=l(a);if(a.count.percent=Math.round(a.count.handled/a.count.total*100),o&&s&&Va(o.data,s.data))break;try{await Tl(this.database.internalStore,{previous:s,document:ye(o)},Pf);break}catch(f){if(!_h(f))throw f}}}}),this.updateStatusQueue},e.migrateStorage=async function(r,i,s){var o=await this.database.storage.createStorageInstance({databaseName:this.database.name,collectionName:"rx-migration-state-meta-"+this.collection.name+"-"+this.collection.schema.version,databaseInstanceToken:this.database.token,multiInstance:this.database.multiInstance,options:{},schema:Wy(r.schema,vd(r.schema)),password:this.database.password,devMode:it.isDevMode()}),a=pN(i,bd,this.database.token,!0),l=mO({keepMeta:!0,identifier:["rx-migration-state",this.collection.name,r.schema.version,this.collection.schema.version].join("-"),replicationHandler:{masterChangesSince(){return Promise.resolve({checkpoint:null,documents:[]})},masterWrite:async h=>{h=await Promise.all(h.map(async y=>{var w=y.newDocumentState;if(i.schema.title===Rf&&(w=y.newDocumentState.docData,y.newDocumentState.isCheckpoint==="1"))return{assumedMasterState:void 0,newDocumentState:y.newDocumentState};var I=await uL(this.collection,r.schema.version,w),E={assumedMasterState:void 0,newDocumentState:i.schema.title===Rf?Object.assign({},y.newDocumentState,{docData:I}):I};return E})),h=h.filter(y=>!!y.newDocumentState);var p=await a.masterWrite(h);return p},masterChangeStream$:new Kt().asObservable()},forkInstance:r,metaInstance:o,pushBatchSize:s,pullBatchSize:0,conflictHandler:bd,hashFunction:this.database.hashFunction}),f=!1;if(l.events.error.subscribe(h=>f=h),l.events.processed.up.subscribe(()=>{this.updateStatus(h=>(h.count.handled=h.count.handled+1,h))}),await Tf(l),await yO(l),await this.updateStatusQueue,f)throw await o.close(),f;await Promise.all([r.remove(),o.remove()])},e.countAllDoucments=async function(r){var i=0;return await Promise.all(r.map(async s=>{var o=Jl(s.schema,Rl(s.schema,{selector:{}})),a=await s.count(o);i+=a.count})),i},e.getConnectedStorageInstances=async function(){var r=await this.oldCollectionMeta,i=[];return await Promise.all(await Promise.all(r.data.connectedStorages.map(async s=>{if(s.schema.title!==Rf)throw new Error("unknown migration handling for schema");var o=Wy(Mn(this.collection.schema.jsonSchema),vd(s.schema));o.version=this.collection.schema.version;var[a,l]=await Promise.all([this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:s.schema,password:this.database.password,collectionName:s.collectionName}),this.database.storage.createStorageInstance({databaseInstanceToken:this.database.token,databaseName:this.database.name,devMode:it.isDevMode(),multiInstance:this.database.multiInstance,options:{},schema:o,password:this.database.password,collectionName:s.collectionName})]);i.push({oldStorage:a,newStorage:l})}))),i},e.migratePromise=async function(r){this.startMigration(r);var i=await this.mustMigrate;if(!i)return{status:"DONE",collectionName:this.collection.name,count:{handled:0,percent:0,total:0}};var s=await Promise.race([As(this.$.pipe(lt(o=>o.status==="DONE"))),As(this.$.pipe(lt(o=>o.status==="ERROR")))]);if(s.status==="ERROR")throw le("DM4",{collection:this.collection.name,error:s.error});return s},t}(),pL=new WeakMap,mL={name:"migration-schema",rxdb:!0,init(){gi(uk)},hooks:{preDestroyRxDatabase:{after:dL}},prototypes:{RxDatabase:t=>{t.migrationStates=function(){return dk(this).pipe(Pi(Ai))}},RxCollection:t=>{t.getMigrationState=function(){return Br(pL,this,()=>new hL(this.asRxCollection,this.migrationStrategies))},t.migrationNeeded=function(){return this.schema.version===0?Xn:ck(this.getMigrationState())}}}};const e0=(t,e)=>{switch(t){case"deep":return Ty(e);case"copy":return My(e)?new Date(e):Lt(e)?[...e]:wt(e)?Object.assign({},e):e;default:return e}},yL=/^[a-z]+[a-zA-Z0-9]*$/;function hk(t){if(!t.includes(".$"))return[{parent:t,selector:t},[]];const e=t.indexOf(".$"),n=t.indexOf("]"),r=t.substring(0,e),i=t.substring(e+3,n);Yt(i===""||yL.test(i),"The filter must begin with a lowercase letter and contain only alphanumeric characters.");const s=t.substring(n+2),[o,a]=s?hk(s):[];return[{selector:t,parent:r,child:i||"$",next:o},[i,...a||[]].filter(Boolean)]}const Un=(t,e,n,r,i)=>{const{parent:s,child:o,next:a}=e;if(!o){let f=!1;return Pl(t,s,(p,y)=>f=!!r(p,y)||f,i),f}const l=lu(t,s);return Lt(l)?l.map((f,h)=>n[o]&&!n[o].test({[o]:f})?!1:a?Un(f,a,n,r,i):r(l,h)).some(Boolean):!1};function ur(t,e,n,r){const i=[];for(const[s,o]of Object.entries(t)){const[a,l]=hk(s);if(!l.length)r(o,a,{})&&i.push(a.parent);else{const f={};e.forEach(p=>{Object.keys(p).forEach(y=>{l.forEach(w=>{(y===w||y.startsWith(w+"."))&&(f[w]=f[w]||{},Object.assign(f[w],{[y]:p[y]}))})})});const h={};for(const[p,y]of Object.entries(f))h[p]=new Qs(y,n.queryOptions);r(o,a,h)&&i.push(a.parent)}}return i}const vL=(t,e,n=[],r={})=>ur(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&er(i,"$each")&&Object.assign(a,i),Un(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]);return Fg([h,a.$each]).length===a.$each.length?!1:(l[f]=e0(r.cloneMode,kM(h.concat(a.$each))),!0)},{buildGraph:!0})}),gL=new Set(["and","or","xor"]),wL=(t,e,n=[],r={})=>ur(e,n,r,(i,s,o)=>{const a=Object.keys(i);return Yt(a.length===1&&gL.has(a[0]),`Invalid bit operator '${a[0]}'. Must be one of 'and', 'or', or 'xor'.`),Un(t,s,o,(l,f)=>{let h=l[f];const p=i[a[0]];if(h!==void 0&&!(Yn(h)&&Yn(p)))return!1;switch(h=h||0,a[0]){case"and":l[f]=h&p;break;case"or":l[f]=h|p;break;case"xor":l[f]=h^p;break}return l[f]!==h},{buildGraph:!0})}),_L=(t,e,n=[],r={})=>{const i=Date.now();return ur(e,n,r,(s,o,a)=>Un(t,o,a,(l,f)=>(l[f]=i,!0),{buildGraph:!0}))},bL=(t,e,n=[],r={})=>ur(e,n,r,(i,s,o)=>{if(!s.child){const a=lu(t,s.parent);Yt(a===void 0||Yn(a),"cannot apply $inc to a value of non-numeric type")}return Un(t,s,o,(a,l)=>(a[l]=(a[l]||(a[l]=0))+i,!0),{buildGraph:!0})}),SL=(t,e,n=[],r={})=>ur(e,n,r,(i,s,o)=>Un(t,s,o,(a,l)=>a[l]!==void 0&&Bn(a[l],i)>-1?!1:(a[l]=i,!0),{buildGraph:!0})),IL=(t,e,n=[],r={})=>ur(e,n,r,(i,s,o)=>Un(t,s,o,(a,l)=>a[l]!==void 0&&Bn(a[l],i)<1?!1:(a[l]=i,!0),{buildGraph:!0})),EL=(t,e,n=[],r={})=>ur(e,n,r,(i,s,o)=>Un(t,s,o,(a,l)=>{const f=a[l];return a[l]=a[l]===void 0?0:a[l]*i,a[l]!==f},{buildGraph:!0})),OL=(t,e,n=[],r={})=>ur(e,n,r,(i,s,o)=>Un(t,s,o,(a,l)=>{const f=a[l];return Yt(Lt(f),`path '${s.selector}' contains an element of non-array type.`),f.length?(i===-1?f.splice(0,1):f.pop(),!0):!1})),pk=(t,e,n=[],r={})=>ur(e,n,r,(i,s,o)=>{const a=!wt(i)||Object.keys(i).some(Ko),l=new Qs(a?{k:i}:i,r.queryOptions),f=a?h=>l.test({k:h}):h=>l.test(h);return Un(t,s,o,(h,p)=>{const y=h[p],w=new Array;return y.map(E=>{const $=f(E);return $||w.push(E),$}).some(Boolean)?(h[p]=w,!0):!1})}),kL=(t,e,n=[],r={})=>{const i={};return Object.entries(e).forEach(([s,o])=>{i[s]={$in:o}}),pk(t,i,n,r)},DL=Object.freeze(["$each","$slice","$sort","$position"]),xL=(t,e,n=[],r={})=>ur(e,n,r,(i,s,o)=>{const a={$each:[i]};return wt(i)&&DL.some(l=>er(i,l))&&Object.assign(a,i),Un(t,s,o,(l,f)=>{const h=l[f]||(l[f]=[]),p=h.slice(0,a.$slice||h.length),y=h.length,w=Yn(a.$position)?a.$position:h.length;if(h.splice(w,0,...e0(r.cloneMode,a.$each)),a.$sort){const I=wt(a.$sort)?Object.keys(a.$sort||{}).pop():"",E=I?a.$sort[I]:a.$sort,$=I?S=>lu(S,I):S=>S;h.sort((S,_)=>E*Bn($(S),$(_)))}return Yn(a.$slice)&&(a.$slice<0?h.splice(0,h.length+a.$slice):h.splice(a.$slice)),y!=h.length||!Wi(p,h)},{descendArray:!0,buildGraph:!0})}),mk=(t,e,n=[],r={})=>ur(e,n,r,(i,s,o)=>Un(t,s,o,(a,l)=>Wi(a[l],i)?!1:(a[l]=e0(r.cloneMode,i),!0),{buildGraph:!0})),CL=(t,e,n=[],r={})=>{const i=[],s=ur(e,n,r,(o,a,l)=>Un(t,a,l,(f,h)=>er(f,h)?(i.push(...mk(t,{[o]:f[h]},n,r)),delete f[h],!0):!1));return Array.from(new Set(s.concat(i)))},AL=(t,e,n=[],r={})=>ur(e,n,r,(i,s,o)=>Un(t,s,o,(a,l)=>er(a,l)?(Lt(a)?a[l]=null:delete a[l],!0):!1)),a1=Object.freeze(Object.defineProperty({__proto__:null,$addToSet:vL,$bit:wL,$currentDate:_L,$inc:bL,$max:SL,$min:IL,$mul:EL,$pop:OL,$pull:pk,$pullAll:kL,$push:xL,$rename:CL,$set:mk,$unset:AL},Symbol.toStringTag,{value:"Module"}));function PL(t){return(e,n,r=[],i={},s={})=>{const o=Object.assign({cloneMode:"copy"},t,s);Object.assign(o,{queryOptions:Lg(Object.assign({useStrictMode:!1},o==null?void 0:o.queryOptions))}),r=r||[],i=i||{};const a=Object.entries(n);Yt(a.length===1,"Update expression must contain only one operator.");const[l,f]=a[0];Yt(er(a1,l),`Update operator '${l}' is not supported.`);const h=a1[l];return Object.keys(i).length&&!new Qs(i,o.queryOptions).test(e)?[]:h(e,f,r,o)}}var bm;function yk(t,e){if(!bm){var n=PL({cloneMode:"none"});bm=(r,i)=>{var s=Mn(r);return n(s,i),s}}return bm(t,e)}function RL(t){return this.incrementalModify(e=>{var n=yk(e,t);return n})}function TL(t){var e=this._data,n=yk(e,t);return this._saveData(n,e)}function ML(t){return this.exec().then(e=>e?Array.isArray(e)?Promise.all(e.map(n=>n.update(t))).then(()=>e):e.update(t).then(()=>e):null)}var NL={name:"update",rxdb:!0,prototypes:{RxDocument:t=>{t.update=TL,t.incrementalUpdate=RL},RxQuery:t=>{t.update=ML}}};const{logger:BL}=$r;async function FL(t=[]){try{gi(uk),gi(nL),gi(mL),gi(NL),gi(JF),gi(BF),gi(QF);for(const e of t)gi(e);BL.log("rxdb plugins loaded")}catch(e){throw new Error(e.message??e)}}const{logger:ea}=$r;class LL{get db(){return this.dbInstance}get dbOptions(){return this.options}get collections(){return this.db.collections}async destroyDb(){try{await this.db.remove(),await this.db.destroy(),this.dbInstance=null,ea.log("database destroy")}catch{ea.log("database destroy error")}}async initDb(e){var n,r;if(!this.dbInstance)try{if(await FL((n=e.options)==null?void 0:n.plugins),this.dbInstance=await SN(e),this.options=e,ea.log(`created database "${this.db.name}" with config "${JSON.stringify(e)}"`),(r=e==null?void 0:e.options)!=null&&r.schemas){const i=await this.initCollections(e.options.schemas);ea.log(`created ${Object.keys(i).length} collections bulk: ${Object.keys(i)}`)}}catch(i){throw ea.log("Error initializing the database:",i),i}}async initCollections(e){try{const n=await AF(e);return await this.db.addCollections(n)}catch(n){throw ea.log("Error initializing collection(s)",n),n}}}var vk={exports:{}},Xe={};/** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Gt=typeof Symbol=="function"&&Symbol.for,e0=Gt?Symbol.for("react.element"):60103,t0=Gt?Symbol.for("react.portal"):60106,Ch=Gt?Symbol.for("react.fragment"):60107,Ah=Gt?Symbol.for("react.strict_mode"):60108,Ph=Gt?Symbol.for("react.profiler"):60114,Rh=Gt?Symbol.for("react.provider"):60109,Th=Gt?Symbol.for("react.context"):60110,n0=Gt?Symbol.for("react.async_mode"):60111,Mh=Gt?Symbol.for("react.concurrent_mode"):60111,Nh=Gt?Symbol.for("react.forward_ref"):60112,Bh=Gt?Symbol.for("react.suspense"):60113,FL=Gt?Symbol.for("react.suspense_list"):60120,Fh=Gt?Symbol.for("react.memo"):60115,Lh=Gt?Symbol.for("react.lazy"):60116,LL=Gt?Symbol.for("react.block"):60121,$L=Gt?Symbol.for("react.fundamental"):60117,jL=Gt?Symbol.for("react.responder"):60118,UL=Gt?Symbol.for("react.scope"):60119;function ur(t){if(typeof t=="object"&&t!==null){var e=t.$$typeof;switch(e){case e0:switch(t=t.type,t){case n0:case Mh:case Ch:case Ph:case Ah:case Bh:return t;default:switch(t=t&&t.$$typeof,t){case Th:case Nh:case Lh:case Fh:case Rh:return t;default:return e}}case t0:return e}}}function vk(t){return ur(t)===Mh}Xe.AsyncMode=n0;Xe.ConcurrentMode=Mh;Xe.ContextConsumer=Th;Xe.ContextProvider=Rh;Xe.Element=e0;Xe.ForwardRef=Nh;Xe.Fragment=Ch;Xe.Lazy=Lh;Xe.Memo=Fh;Xe.Portal=t0;Xe.Profiler=Ph;Xe.StrictMode=Ah;Xe.Suspense=Bh;Xe.isAsyncMode=function(t){return vk(t)||ur(t)===n0};Xe.isConcurrentMode=vk;Xe.isContextConsumer=function(t){return ur(t)===Th};Xe.isContextProvider=function(t){return ur(t)===Rh};Xe.isElement=function(t){return typeof t=="object"&&t!==null&&t.$$typeof===e0};Xe.isForwardRef=function(t){return ur(t)===Nh};Xe.isFragment=function(t){return ur(t)===Ch};Xe.isLazy=function(t){return ur(t)===Lh};Xe.isMemo=function(t){return ur(t)===Fh};Xe.isPortal=function(t){return ur(t)===t0};Xe.isProfiler=function(t){return ur(t)===Ph};Xe.isStrictMode=function(t){return ur(t)===Ah};Xe.isSuspense=function(t){return ur(t)===Bh};Xe.isValidElementType=function(t){return typeof t=="string"||typeof t=="function"||t===Ch||t===Mh||t===Ph||t===Ah||t===Bh||t===FL||typeof t=="object"&&t!==null&&(t.$$typeof===Lh||t.$$typeof===Fh||t.$$typeof===Rh||t.$$typeof===Th||t.$$typeof===Nh||t.$$typeof===$L||t.$$typeof===jL||t.$$typeof===UL||t.$$typeof===LL)};Xe.typeOf=ur;yk.exports=Xe;var zL=yk.exports,r0=zL,VL={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KL={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},WL={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},gk={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i0={};i0[r0.ForwardRef]=WL;i0[r0.Memo]=gk;function u1(t){return r0.isMemo(t)?gk:i0[t.$$typeof]||VL}var qL=Object.defineProperty,HL=Object.getOwnPropertyNames,l1=Object.getOwnPropertySymbols,QL=Object.getOwnPropertyDescriptor,YL=Object.getPrototypeOf,c1=Object.prototype;function wk(t,e,n){if(typeof e!="string"){if(c1){var r=YL(e);r&&r!==c1&&wk(t,r,n)}var i=HL(e);l1&&(i=i.concat(l1(e)));for(var s=u1(t),o=u1(e),a=0;aDd.length&&Dd.push(t)}function rv(t,e,n,r){var i=typeof t;(i==="undefined"||i==="boolean")&&(t=null);var s=!1;if(t===null)s=!0;else switch(i){case"string":case"number":s=!0;break;case"object":switch(t.$$typeof){case ic:case r3:s=!0}}if(s)return n(r,t,e===""?"."+Sm(t,0):e),1;if(s=0,e=e===""?".":e+":",Array.isArray(t))for(var o=0;ow3.decode(t),_3=new TextEncoder,c0=t=>_3.encode(t),[b4,b3]=(()=>{const t=()=>{throw new Error("BigInt is not available in this environment")};function e(){throw t()}return e.asIntN=()=>{throw t()},e.asUintN=()=>{throw t()},typeof BigInt<"u"?[BigInt,!0]:[e,!1]})(),[oc,S4]=(()=>{const t=()=>{throw new Error("BigInt64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigInt64Array<"u"?[BigInt64Array,!0]:[e,!1]})(),[ac,I4]=(()=>{const t=()=>{throw new Error("BigUint64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigUint64Array<"u"?[BigUint64Array,!0]:[e,!1]})(),S3=t=>typeof t=="number",Pk=t=>typeof t=="boolean",Ut=t=>typeof t=="function",Nn=t=>t!=null&&Object(t)===t,Ms=t=>Nn(t)&&Ut(t.then),uc=t=>Nn(t)&&Ut(t[Symbol.iterator]),fu=t=>Nn(t)&&Ut(t[Symbol.asyncIterator]),av=t=>Nn(t)&&Nn(t.schema),Rk=t=>Nn(t)&&"done"in t&&"value"in t,Tk=t=>Nn(t)&&Ut(t.stat)&&S3(t.fd),Mk=t=>Nn(t)&&f0(t.body),$h=t=>"_getDOMStream"in t&&"_getNodeStream"in t,I3=t=>Nn(t)&&Ut(t.abort)&&Ut(t.getWriter)&&!$h(t),f0=t=>Nn(t)&&Ut(t.cancel)&&Ut(t.getReader)&&!$h(t),E3=t=>Nn(t)&&Ut(t.end)&&Ut(t.write)&&Pk(t.writable)&&!$h(t),Nk=t=>Nn(t)&&Ut(t.read)&&Ut(t.pipe)&&Pk(t.readable)&&!$h(t),O3=t=>Nn(t)&&Ut(t.clear)&&Ut(t.bytes)&&Ut(t.position)&&Ut(t.setPosition)&&Ut(t.capacity)&&Ut(t.getBufferIdentifier)&&Ut(t.createLong),d0=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function k3(t){const e=t[0]?[t[0]]:[];let n,r,i,s;for(let o,a,l=0,f=0,h=t.length;++lh+m.byteLength,0);let i,s,o,a=0,l=-1;const f=Math.min(e||Number.POSITIVE_INFINITY,r);for(const h=n.length;++lrt(Int32Array,t),Ue=t=>rt(Uint8Array,t),uv=t=>(t.next(),t);function*D3(t,e){const n=function*(i){yield i},r=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof d0?n(e):uc(e)?e:n(e);return yield*uv(function*(i){let s=null;do s=i.next(yield rt(t,s));while(!s.done)}(r[Symbol.iterator]())),new t}const x3=t=>D3(Uint8Array,t);function Bk(t,e){return Dr(this,arguments,function*(){if(Ms(e))return yield ge(yield ge(yield*Df(Ds(Bk(t,yield ge(e))))));const r=function(o){return Dr(this,arguments,function*(){yield yield ge(yield ge(o))})},i=function(o){return Dr(this,arguments,function*(){yield ge(yield*Df(Ds(uv(function*(a){let l=null;do l=a.next(yield l==null?void 0:l.value);while(!l.done)}(o[Symbol.iterator]())))))})},s=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof d0?r(e):uc(e)?i(e):fu(e)?e:r(e);return yield ge(yield*Df(Ds(uv(function(o){return Dr(this,arguments,function*(){let a=null;do a=yield ge(o.next(yield yield ge(rt(t,a))));while(!a.done)})}(s[Symbol.asyncIterator]()))))),yield ge(new t)})}const C3=t=>Bk(Uint8Array,t);function h0(t,e,n){if(t!==0){n=n.slice(0,e+1);for(let r=-1;++r<=e;)n[r]+=t}return n}function A3(t,e){let n=0;const r=t.length;if(r!==e.length)return!1;if(r>0)do if(t[n]!==e[n])return!1;while(++n(t.next(),t);function*P3(t){let e,n=!1,r=[],i,s,o,a=0;function l(){return s==="peek"?fi(r,o)[0]:([i,r,a]=fi(r,o),i)}({cmd:s,size:o}=yield null);const f=x3(t)[Symbol.iterator]();try{do if({done:e,value:i}=Number.isNaN(o-a)?f.next():f.next(o-a),!e&&i.byteLength>0&&(r.push(i),a+=i.byteLength),e||o<=a)do({cmd:s,size:o}=yield l());while(o0&&(i.push(s),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a0&&(i.push(Ue(s)),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return ve(this,void 0,void 0,function*(){const{reader:n,source:r}=this;n&&(yield n.cancel(e).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(e){return ve(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const n=yield this.reader.read();return!n.done&&(n.value=Ue(n)),n})}}const Im=(t,e)=>{const n=i=>r([e,i]);let r;return[e,n,new Promise(i=>(r=i)&&t.once(e,n))]};function N3(t){return Dr(this,arguments,function*(){const n=[];let r="error",i=!1,s=null,o,a,l=0,f=[],h;function m(){return o==="peek"?fi(f,a)[0]:([h,f,l]=fi(f,a),h)}if({cmd:o,size:a}=yield yield ge(null),t.isTTY)return yield yield ge(new Uint8Array(0)),yield ge(null);try{n[0]=Im(t,"end"),n[1]=Im(t,"error");do{if(n[2]=Im(t,"readable"),[r,s]=yield ge(Promise.race(n.map(w=>w[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-l)?(h=Ue(t.read(a-l)),h.byteLength0&&(f.push(h),l+=h.byteLength)),i||a<=l)do({cmd:o,size:a}=yield yield ge(m()));while(a{for(const[S,_]of w)t.off(S,_);try{const S=t.destroy;S&&S.call(t,I),I=void 0}catch(S){I=S||I}finally{I!=null?$(I):E()}})}})}var Yn;(function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"})(Yn||(Yn={}));var tr;(function(t){t[t.Sparse=0]="Sparse",t[t.Dense=1]="Dense"})(tr||(tr={}));var An;(function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"})(An||(An={}));var Hi;(function(t){t[t.DAY=0]="DAY",t[t.MILLISECOND=1]="MILLISECOND"})(Hi||(Hi={}));var ze;(function(t){t[t.SECOND=0]="SECOND",t[t.MILLISECOND=1]="MILLISECOND",t[t.MICROSECOND=2]="MICROSECOND",t[t.NANOSECOND=3]="NANOSECOND"})(ze||(ze={}));var Ns;(function(t){t[t.YEAR_MONTH=0]="YEAR_MONTH",t[t.DAY_TIME=1]="DAY_TIME",t[t.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(Ns||(Ns={}));var Ve;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var N;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"})(N||(N={}));var bi;(function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"})(bi||(bi={}));const B3=void 0;function Nl(t){if(t===null)return"null";if(t===B3)return"undefined";switch(typeof t){case"number":return`${t}`;case"bigint":return`${t}`;case"string":return`"${t}"`}return typeof t[Symbol.toPrimitive]=="function"?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?t instanceof oc||t instanceof ac?`[${[...t].map(e=>Nl(e))}]`:`[${t}]`:ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t,(e,n)=>typeof n=="bigint"?`${n}`:n)}const F3=Symbol.for("isArrowBigNum");function $r(t,...e){return e.length===0?Object.setPrototypeOf(rt(this.TypedArray,t),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(t,...e),this.constructor.prototype)}$r.prototype[F3]=!0;$r.prototype.toJSON=function(){return`"${xo(this)}"`};$r.prototype.valueOf=function(){return Fk(this)};$r.prototype.toString=function(){return xo(this)};$r.prototype[Symbol.toPrimitive]=function(t="default"){switch(t){case"number":return Fk(this);case"string":return xo(this);case"default":return lv(this)}return xo(this)};function xa(...t){return $r.apply(this,t)}function Ca(...t){return $r.apply(this,t)}function Bl(...t){return $r.apply(this,t)}Object.setPrototypeOf(xa.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(Ca.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Bl.prototype,Object.create(Uint32Array.prototype));Object.assign(xa.prototype,$r.prototype,{constructor:xa,signed:!0,TypedArray:Int32Array,BigIntArray:oc});Object.assign(Ca.prototype,$r.prototype,{constructor:Ca,signed:!1,TypedArray:Uint32Array,BigIntArray:ac});Object.assign(Bl.prototype,$r.prototype,{constructor:Bl,signed:!0,TypedArray:Uint32Array,BigIntArray:ac});function Fk(t){const{buffer:e,byteOffset:n,length:r,signed:i}=t,s=new ac(e,n,r),o=i&&s[s.length-1]&BigInt(1)<t.byteLength===8?new t.BigIntArray(t.buffer,t.byteOffset,1)[0]:Em(t),xo=t=>t.byteLength===8?`${new t.BigIntArray(t.buffer,t.byteOffset,1)[0]}`:Em(t)):(xo=Em,lv=xo);function Em(t){let e="";const n=new Uint32Array(2);let r=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2);const i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer);let s=-1;const o=r.length-1;do{for(n[0]=r[s=0];s(t.children=null,t.ArrayType=Array,t[Symbol.toStringTag]="DataType"))(we.prototype);let Bs=class extends we{toString(){return"Null"}get typeId(){return N.Null}};$k=Symbol.toStringTag;Bs[$k]=(t=>t[Symbol.toStringTag]="Null")(Bs.prototype);class Fs extends we{constructor(e,n){super(),this.isSigned=e,this.bitWidth=n}get typeId(){return N.Int}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?oc:ac}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}jk=Symbol.toStringTag;Fs[jk]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(Fs.prototype);class Fl extends Fs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Fl.prototype,"ArrayType",{value:Int32Array});class Ll extends we{constructor(e){super(),this.precision=e}get typeId(){return N.Float}get ArrayType(){switch(this.precision){case An.HALF:return Uint16Array;case An.SINGLE:return Float32Array;case An.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}Uk=Symbol.toStringTag;Ll[Uk]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(Ll.prototype);let xd=class extends we{constructor(){super()}get typeId(){return N.Binary}toString(){return"Binary"}};zk=Symbol.toStringTag;xd[zk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(xd.prototype);let Cd=class extends we{constructor(){super()}get typeId(){return N.Utf8}toString(){return"Utf8"}};Vk=Symbol.toStringTag;Cd[Vk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Cd.prototype);let Ad=class extends we{constructor(){super()}get typeId(){return N.Bool}toString(){return"Bool"}};Kk=Symbol.toStringTag;Ad[Kk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(Ad.prototype);let Pd=class extends we{constructor(e,n,r=128){super(),this.scale=e,this.precision=n,this.bitWidth=r}get typeId(){return N.Decimal}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};Wk=Symbol.toStringTag;Pd[Wk]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(Pd.prototype);class Rd extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Date}toString(){return`Date${(this.unit+1)*32}<${Hi[this.unit]}>`}}qk=Symbol.toStringTag;Rd[qk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Date"))(Rd.prototype);class $l extends we{constructor(e,n){super(),this.unit=e,this.bitWidth=n}get typeId(){return N.Time}toString(){return`Time${this.bitWidth}<${ze[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return oc}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Hk=Symbol.toStringTag;$l[Hk]=(t=>(t.unit=null,t.bitWidth=null,t[Symbol.toStringTag]="Time"))($l.prototype);class Td extends we{constructor(e,n){super(),this.unit=e,this.timezone=n}get typeId(){return N.Timestamp}toString(){return`Timestamp<${ze[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}Qk=Symbol.toStringTag;Td[Qk]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Timestamp"))(Td.prototype);class Md extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Interval}toString(){return`Interval<${Ns[this.unit]}>`}}Yk=Symbol.toStringTag;Md[Yk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(Md.prototype);let Nd=class extends we{constructor(e){super(),this.children=[e]}get typeId(){return N.List}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};Gk=Symbol.toStringTag;Nd[Gk]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(Nd.prototype);class pn extends we{constructor(e){super(),this.children=e}get typeId(){return N.Struct}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Jk=Symbol.toStringTag;pn[Jk]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(pn.prototype);class Bd extends we{constructor(e,n,r){super(),this.mode=e,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,s,o)=>(i[s]=o)&&i||i,Object.create(null))}get typeId(){return N.Union}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}Xk=Symbol.toStringTag;Bd[Xk]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(Bd.prototype);let Fd=class extends we{constructor(e){super(),this.byteWidth=e}get typeId(){return N.FixedSizeBinary}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};Zk=Symbol.toStringTag;Fd[Zk]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(Fd.prototype);let Ld=class extends we{constructor(e,n){super(),this.listSize=e,this.children=[n]}get typeId(){return N.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};eD=Symbol.toStringTag;Ld[eD]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(Ld.prototype);class $d extends we{constructor(e,n=!1){super(),this.children=[e],this.keysSorted=n}get typeId(){return N.Map}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}tD=Symbol.toStringTag;$d[tD]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))($d.prototype);const L3=(t=>()=>++t)(-1);class Ya extends we{constructor(e,n,r,i){super(),this.indices=n,this.dictionary=e,this.isOrdered=i||!1,this.id=r==null?L3():typeof r=="number"?r:r.low}get typeId(){return N.Dictionary}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}nD=Symbol.toStringTag;Ya[nD]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))(Ya.prototype);function Si(t){const e=t;switch(t.typeId){case N.Decimal:return t.bitWidth/32;case N.Timestamp:return 2;case N.Date:return 1+e.unit;case N.Interval:return 1+e.unit;case N.FixedSizeList:return e.listSize;case N.FixedSizeBinary:return e.byteWidth;default:return 1}}class Be{visitMany(e,...n){return e.map((r,i)=>this.visit(r,...n.map(s=>s[i])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,n=!0){return $3(this,e,n)}getVisitFnByTypeId(e,n=!0){return sa(this,e,n)}visitNull(e,...n){return null}visitBool(e,...n){return null}visitInt(e,...n){return null}visitFloat(e,...n){return null}visitUtf8(e,...n){return null}visitBinary(e,...n){return null}visitFixedSizeBinary(e,...n){return null}visitDate(e,...n){return null}visitTimestamp(e,...n){return null}visitTime(e,...n){return null}visitDecimal(e,...n){return null}visitList(e,...n){return null}visitStruct(e,...n){return null}visitUnion(e,...n){return null}visitDictionary(e,...n){return null}visitInterval(e,...n){return null}visitFixedSizeList(e,...n){return null}visitMap(e,...n){return null}}function $3(t,e,n=!0){return typeof e=="number"?sa(t,e,n):typeof e=="string"&&e in N?sa(t,N[e],n):e&&e instanceof we?sa(t,p1(e),n):e!=null&&e.type&&e.type instanceof we?sa(t,p1(e.type),n):sa(t,N.NONE,n)}function sa(t,e,n=!0){let r=null;switch(e){case N.Null:r=t.visitNull;break;case N.Bool:r=t.visitBool;break;case N.Int:r=t.visitInt;break;case N.Int8:r=t.visitInt8||t.visitInt;break;case N.Int16:r=t.visitInt16||t.visitInt;break;case N.Int32:r=t.visitInt32||t.visitInt;break;case N.Int64:r=t.visitInt64||t.visitInt;break;case N.Uint8:r=t.visitUint8||t.visitInt;break;case N.Uint16:r=t.visitUint16||t.visitInt;break;case N.Uint32:r=t.visitUint32||t.visitInt;break;case N.Uint64:r=t.visitUint64||t.visitInt;break;case N.Float:r=t.visitFloat;break;case N.Float16:r=t.visitFloat16||t.visitFloat;break;case N.Float32:r=t.visitFloat32||t.visitFloat;break;case N.Float64:r=t.visitFloat64||t.visitFloat;break;case N.Utf8:r=t.visitUtf8;break;case N.Binary:r=t.visitBinary;break;case N.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case N.Date:r=t.visitDate;break;case N.DateDay:r=t.visitDateDay||t.visitDate;break;case N.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case N.Timestamp:r=t.visitTimestamp;break;case N.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case N.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case N.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case N.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case N.Time:r=t.visitTime;break;case N.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case N.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case N.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case N.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case N.Decimal:r=t.visitDecimal;break;case N.List:r=t.visitList;break;case N.Struct:r=t.visitStruct;break;case N.Union:r=t.visitUnion;break;case N.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case N.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case N.Dictionary:r=t.visitDictionary;break;case N.Interval:r=t.visitInterval;break;case N.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case N.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case N.FixedSizeList:r=t.visitFixedSizeList;break;case N.Map:r=t.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${N[e]}'`)}function p1(t){switch(t.typeId){case N.Null:return N.Null;case N.Int:{const{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?N.Int8:N.Uint8;case 16:return n?N.Int16:N.Uint16;case 32:return n?N.Int32:N.Uint32;case 64:return n?N.Int64:N.Uint64}return N.Int}case N.Float:switch(t.precision){case An.HALF:return N.Float16;case An.SINGLE:return N.Float32;case An.DOUBLE:return N.Float64}return N.Float;case N.Binary:return N.Binary;case N.Utf8:return N.Utf8;case N.Bool:return N.Bool;case N.Decimal:return N.Decimal;case N.Time:switch(t.unit){case ze.SECOND:return N.TimeSecond;case ze.MILLISECOND:return N.TimeMillisecond;case ze.MICROSECOND:return N.TimeMicrosecond;case ze.NANOSECOND:return N.TimeNanosecond}return N.Time;case N.Timestamp:switch(t.unit){case ze.SECOND:return N.TimestampSecond;case ze.MILLISECOND:return N.TimestampMillisecond;case ze.MICROSECOND:return N.TimestampMicrosecond;case ze.NANOSECOND:return N.TimestampNanosecond}return N.Timestamp;case N.Date:switch(t.unit){case Hi.DAY:return N.DateDay;case Hi.MILLISECOND:return N.DateMillisecond}return N.Date;case N.Interval:switch(t.unit){case Ns.DAY_TIME:return N.IntervalDayTime;case Ns.YEAR_MONTH:return N.IntervalYearMonth}return N.Interval;case N.Map:return N.Map;case N.List:return N.List;case N.Struct:return N.Struct;case N.Union:switch(t.mode){case tr.Dense:return N.DenseUnion;case tr.Sparse:return N.SparseUnion}return N.Union;case N.FixedSizeBinary:return N.FixedSizeBinary;case N.FixedSizeList:return N.FixedSizeList;case N.Dictionary:return N.Dictionary}throw new Error(`Unrecognized type '${N[t.typeId]}'`)}Be.prototype.visitInt8=null;Be.prototype.visitInt16=null;Be.prototype.visitInt32=null;Be.prototype.visitInt64=null;Be.prototype.visitUint8=null;Be.prototype.visitUint16=null;Be.prototype.visitUint32=null;Be.prototype.visitUint64=null;Be.prototype.visitFloat16=null;Be.prototype.visitFloat32=null;Be.prototype.visitFloat64=null;Be.prototype.visitDateDay=null;Be.prototype.visitDateMillisecond=null;Be.prototype.visitTimestampSecond=null;Be.prototype.visitTimestampMillisecond=null;Be.prototype.visitTimestampMicrosecond=null;Be.prototype.visitTimestampNanosecond=null;Be.prototype.visitTimeSecond=null;Be.prototype.visitTimeMillisecond=null;Be.prototype.visitTimeMicrosecond=null;Be.prototype.visitTimeNanosecond=null;Be.prototype.visitDenseUnion=null;Be.prototype.visitSparseUnion=null;Be.prototype.visitIntervalDayTime=null;Be.prototype.visitIntervalYearMonth=null;const rD=new Float64Array(1),na=new Uint32Array(rD.buffer);function iD(t){const e=(t&31744)>>10,n=(t&1023)/1024,r=Math.pow(-1,(t&32768)>>15);switch(e){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}function j3(t){if(t!==t)return 32256;rD[0]=t;const e=(na[1]&2147483648)>>16&65535;let n=na[1]&2146435072,r=0;return n>=1089470464?na[0]>0?n=31744:(n=(n&2080374784)>>16,r=(na[1]&1048575)>>10):n<=1056964608?(r=1048576+(na[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(na[1]&1048575)+512>>10),e|n|r&65535}class Ee extends Be{}function xe(t){return(e,n,r)=>{if(e.setValid(n,r!=null))return t(e,n,r)}}const U3=(t,e,n)=>{t[e]=Math.trunc(n/864e5)},m0=(t,e,n)=>{t[e]=Math.trunc(n%4294967296),t[e+1]=Math.trunc(n/4294967296)},z3=(t,e,n)=>{t[e]=Math.trunc(n*1e3%4294967296),t[e+1]=Math.trunc(n*1e3/4294967296)},V3=(t,e,n)=>{t[e]=Math.trunc(n*1e6%4294967296),t[e+1]=Math.trunc(n*1e6/4294967296)},sD=(t,e,n,r)=>{if(n+1{const i=t+n;r?e[i>>3]|=1<>3]&=~(1<{t[e]=n},y0=({values:t},e,n)=>{t[e]=n},oD=({values:t},e,n)=>{t[e]=j3(n)},W3=(t,e,n)=>{switch(t.type.precision){case An.HALF:return oD(t,e,n);case An.SINGLE:case An.DOUBLE:return y0(t,e,n)}},aD=({values:t},e,n)=>{U3(t,e,n.valueOf())},uD=({values:t},e,n)=>{m0(t,e*2,n.valueOf())},q3=({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)},H3=({values:t,valueOffsets:e},n,r)=>sD(t,e,n,r),Q3=({values:t,valueOffsets:e},n,r)=>{sD(t,e,n,c0(r))},Y3=(t,e,n)=>{t.type.unit===Hi.DAY?aD(t,e,n):uD(t,e,n)},lD=({values:t},e,n)=>m0(t,e*2,n/1e3),cD=({values:t},e,n)=>m0(t,e*2,n),fD=({values:t},e,n)=>z3(t,e*2,n),dD=({values:t},e,n)=>V3(t,e*2,n),G3=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return lD(t,e,n);case ze.MILLISECOND:return cD(t,e,n);case ze.MICROSECOND:return fD(t,e,n);case ze.NANOSECOND:return dD(t,e,n)}},hD=({values:t},e,n)=>{t[e]=n},pD=({values:t},e,n)=>{t[e]=n},mD=({values:t},e,n)=>{t[e]=n},yD=({values:t},e,n)=>{t[e]=n},J3=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return hD(t,e,n);case ze.MILLISECOND:return pD(t,e,n);case ze.MICROSECOND:return mD(t,e,n);case ze.NANOSECOND:return yD(t,e,n)}},X3=({values:t,stride:e},n,r)=>{t.set(r.subarray(0,e),e*n)},Z3=(t,e,n)=>{const r=t.children[0],i=t.valueOffsets,s=_r.getVisitFn(r);if(Array.isArray(n))for(let o=-1,a=i[e],l=i[e+1];a{const r=t.children[0],{valueOffsets:i}=t,s=_r.getVisitFn(r);let{[e]:o,[e+1]:a}=i;const l=n instanceof Map?n.entries():Object.entries(n);for(const f of l)if(s(r,o,f),++o>=a)break},t$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[s]),n$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(s)),r$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(i.name)),i$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[i.name]),s$=(t,e,n)=>{const r=t.type.children.map(s=>_r.getVisitFn(s.type)),i=n instanceof Map?r$(e,n):n instanceof Ke?n$(e,n):Array.isArray(n)?t$(e,n):i$(e,n);t.type.children.forEach((s,o)=>i(r[o],t.children[o],s,o))},o$=(t,e,n)=>{t.type.mode===tr.Dense?vD(t,e,n):gD(t,e,n)},vD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];_r.visit(i,t.valueOffsets[e],n)},gD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];_r.visit(i,e,n)},a$=(t,e,n)=>{var r;(r=t.dictionary)===null||r===void 0||r.set(t.values[e],n)},u$=(t,e,n)=>{t.type.unit===Ns.DAY_TIME?wD(t,e,n):_D(t,e,n)},wD=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},_D=({values:t},e,n)=>{t[e]=n[0]*12+n[1]%12},l$=(t,e,n)=>{const{stride:r}=t,i=t.children[0],s=_r.getVisitFn(i);if(Array.isArray(n))for(let o=-1,a=e*r;++o`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new c$(this[Or],this[Aa])}}class c${constructor(e,n){this.childIndex=0,this.children=e.children,this.rowIndex=n,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return en.name)}has(e,n){return e[Or].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(e,n){if(e[Or].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Or].type.children.findIndex(i=>i.name===n);if(r!==-1){const i=Bn.visit(e[Or].children[r],e[Aa]);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Or].type.children.findIndex(s=>s.name===n);return i!==-1?(_r.visit(e[Or].children[i],e[Aa],r),Reflect.set(e,n,r)):Reflect.has(e,n)||typeof n=="symbol"?Reflect.set(e,n,r):!1}}class _e extends Be{}function Oe(t){return(e,n)=>e.getValid(n)?t(e,n):null}const d$=(t,e)=>864e5*t[e],g0=(t,e)=>4294967296*t[e+1]+(t[e]>>>0),h$=(t,e)=>4294967296*(t[e+1]/1e3)+(t[e]>>>0)/1e3,p$=(t,e)=>4294967296*(t[e+1]/1e6)+(t[e]>>>0)/1e6,bD=t=>new Date(t),m$=(t,e)=>bD(d$(t,e)),y$=(t,e)=>bD(g0(t,e)),v$=(t,e)=>null,SD=(t,e,n)=>{if(n+1>=e.length)return null;const r=e[n],i=e[n+1];return t.subarray(r,i)},g$=({offset:t,values:e},n)=>{const r=t+n;return(e[r>>3]&1<m$(t,e),ED=({values:t},e)=>y$(t,e*2),Hs=({stride:t,values:e},n)=>e[t*n],w$=({stride:t,values:e},n)=>iD(e[t*n]),OD=({values:t},e)=>t[e],_$=({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)),b$=({values:t,valueOffsets:e},n)=>SD(t,e,n),S$=({values:t,valueOffsets:e},n)=>{const r=SD(t,e,n);return r!==null?ov(r):null},I$=({values:t},e)=>t[e],E$=({type:t,values:e},n)=>t.precision!==An.HALF?e[n]:iD(e[n]),O$=(t,e)=>t.type.unit===Hi.DAY?ID(t,e):ED(t,e),kD=({values:t},e)=>1e3*g0(t,e*2),DD=({values:t},e)=>g0(t,e*2),xD=({values:t},e)=>h$(t,e*2),CD=({values:t},e)=>p$(t,e*2),k$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return kD(t,e);case ze.MILLISECOND:return DD(t,e);case ze.MICROSECOND:return xD(t,e);case ze.NANOSECOND:return CD(t,e)}},AD=({values:t},e)=>t[e],PD=({values:t},e)=>t[e],RD=({values:t},e)=>t[e],TD=({values:t},e)=>t[e],D$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return AD(t,e);case ze.MILLISECOND:return PD(t,e);case ze.MICROSECOND:return RD(t,e);case ze.NANOSECOND:return TD(t,e)}},x$=({values:t,stride:e},n)=>p0.decimal(t.subarray(e*n,e*(n+1))),C$=(t,e)=>{const{valueOffsets:n,stride:r,children:i}=t,{[e*r]:s,[e*r+1]:o}=n,l=i[0].slice(s,o-s);return new Ke([l])},A$=(t,e)=>{const{valueOffsets:n,children:r}=t,{[e]:i,[e+1]:s}=n,o=r[0];return new w0(o.slice(i,s-i))},P$=(t,e)=>new v0(t,e),R$=(t,e)=>t.type.mode===tr.Dense?MD(t,e):ND(t,e),MD=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Bn.visit(r,t.valueOffsets[e])},ND=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Bn.visit(r,e)},T$=(t,e)=>{var n;return(n=t.dictionary)===null||n===void 0?void 0:n.get(t.values[e])},M$=(t,e)=>t.type.unit===Ns.DAY_TIME?BD(t,e):FD(t,e),BD=({values:t},e)=>t.subarray(2*e,2*(e+1)),FD=({values:t},e)=>{const n=t[e],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},N$=(t,e)=>{const{stride:n,children:r}=t,s=r[0].slice(e*n,n);return new Ke([s])};_e.prototype.visitNull=Oe(v$);_e.prototype.visitBool=Oe(g$);_e.prototype.visitInt=Oe(I$);_e.prototype.visitInt8=Oe(Hs);_e.prototype.visitInt16=Oe(Hs);_e.prototype.visitInt32=Oe(Hs);_e.prototype.visitInt64=Oe(OD);_e.prototype.visitUint8=Oe(Hs);_e.prototype.visitUint16=Oe(Hs);_e.prototype.visitUint32=Oe(Hs);_e.prototype.visitUint64=Oe(OD);_e.prototype.visitFloat=Oe(E$);_e.prototype.visitFloat16=Oe(w$);_e.prototype.visitFloat32=Oe(Hs);_e.prototype.visitFloat64=Oe(Hs);_e.prototype.visitUtf8=Oe(S$);_e.prototype.visitBinary=Oe(b$);_e.prototype.visitFixedSizeBinary=Oe(_$);_e.prototype.visitDate=Oe(O$);_e.prototype.visitDateDay=Oe(ID);_e.prototype.visitDateMillisecond=Oe(ED);_e.prototype.visitTimestamp=Oe(k$);_e.prototype.visitTimestampSecond=Oe(kD);_e.prototype.visitTimestampMillisecond=Oe(DD);_e.prototype.visitTimestampMicrosecond=Oe(xD);_e.prototype.visitTimestampNanosecond=Oe(CD);_e.prototype.visitTime=Oe(D$);_e.prototype.visitTimeSecond=Oe(AD);_e.prototype.visitTimeMillisecond=Oe(PD);_e.prototype.visitTimeMicrosecond=Oe(RD);_e.prototype.visitTimeNanosecond=Oe(TD);_e.prototype.visitDecimal=Oe(x$);_e.prototype.visitList=Oe(C$);_e.prototype.visitStruct=Oe(P$);_e.prototype.visitUnion=Oe(R$);_e.prototype.visitDenseUnion=Oe(MD);_e.prototype.visitSparseUnion=Oe(ND);_e.prototype.visitDictionary=Oe(T$);_e.prototype.visitInterval=Oe(M$);_e.prototype.visitIntervalDayTime=Oe(BD);_e.prototype.visitIntervalYearMonth=Oe(FD);_e.prototype.visitFixedSizeList=Oe(N$);_e.prototype.visitMap=Oe(A$);const Bn=new _e,Zr=Symbol.for("keys"),Pa=Symbol.for("vals");class w0{constructor(e){return this[Zr]=new Ke([e.children[0]]).memoize(),this[Pa]=e.children[1],new Proxy(this,new F$)}[Symbol.iterator](){return new B$(this[Zr],this[Pa])}get size(){return this[Zr].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[Zr],n=this[Pa],r={};for(let i=-1,s=e.length;++i`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class B${constructor(e,n){this.keys=e,this.vals=n,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Bn.visit(this.vals,e)]})}}class F${isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[Zr].toArray().map(String)}has(e,n){return e[Zr].includes(n)}getOwnPropertyDescriptor(e,n){if(e[Zr].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Zr].indexOf(n);if(r!==-1){const i=Bn.visit(Reflect.get(e,Pa),r);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Zr].indexOf(n);return i!==-1?(_r.visit(Reflect.get(e,Pa),i,r),Reflect.set(e,n,r)):Reflect.has(e,n)?Reflect.set(e,n,r):!1}}Object.defineProperties(w0.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[Zr]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Pa]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let m1;function LD(t,e,n,r){const{length:i=0}=t;let s=typeof e!="number"?0:e,o=typeof n!="number"?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(t,s,o):[s,o]}const y1=t=>t!==t;function du(t){if(typeof t!=="object"||t===null)return y1(t)?y1:n=>n===t;if(t instanceof Date){const n=t.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(t)?n=>n?A3(t,n):!1:t instanceof Map?$$(t):Array.isArray(t)?L$(t):t instanceof Ke?j$(t):U$(t,!0)}function L$(t){const e=[];for(let n=-1,r=t.length;++n!1;const r=[];for(let i=-1,s=n.length;++i{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return z$(t,n);case Map:return v1(t,n,n.keys());case w0:case v0:case Object:case void 0:return v1(t,n,e||Object.keys(n))}return n instanceof Ke?V$(t,n):!1}}function z$(t,e){const n=t.length;if(e.length!==n)return!1;for(let r=-1;++r>r}function _0(t,e,n){const r=n.byteLength+7&-8;if(t>0||n.byteLength>3):jd(new b0(n,t,e,null,$D)).subarray(0,r)),i}return n}function jd(t){const e=[];let n=0,r=0,i=0;for(const o of t)o&&(i|=1<0)&&(e[n++]=i);const s=new Uint8Array(e.length+7&-8);return s.set(e),s}class b0{constructor(e,n,r,i,s){this.bytes=e,this.length=r,this.context=i,this.get=s,this.bit=n%8,this.byteIndex=n>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=e+(e%8===0?0:8-e%8);return cv(t,e,i)+cv(t,r,n)+W$(t,i>>3,r-i>>3)}function W$(t,e,n){let r=0,i=Math.trunc(e);const s=new DataView(t.buffer,t.byteOffset,t.byteLength),o=n===void 0?t.byteLength:i+n;for(;o-i>=4;)r+=Om(s.getUint32(i)),i+=4;for(;o-i>=2;)r+=Om(s.getUint16(i)),i+=2;for(;o-i>=1;)r+=Om(s.getUint8(i)),i+=1;return r}function Om(t){let e=Math.trunc(t);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const q$=-1;class at{constructor(e,n,r,i,s,o=[],a){this.type=e,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let l;s instanceof at?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=Si(e),s&&((l=s[0])&&(this.valueOffsets=l),(l=s[1])&&(this.values=l),(l=s[2])&&(this.nullBitmap=l),(l=s[3])&&(this.typeIds=l))),this.nullable=this._nullCount!==0&&this.nullBitmap&&this.nullBitmap.byteLength>0}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get byteLength(){let e=0;const{valueOffsets:n,values:r,nullBitmap:i,typeIds:s}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,e)}get nullCount(){let e=this._nullCount,n;return e<=q$&&(n=this.nullBitmap)&&(this._nullCount=e=this.length-cv(n,this.offset,this.offset+this.length)),e}getValid(e){if(this.nullable&&this.nullCount>0){const n=this.offset+e;return(this.nullBitmap[n>>3]&1<>3){const{nullBitmap:l}=this._changeLengthAndBackfillNullBitmap(this.length);Object.assign(this,{nullBitmap:l,_nullCount:0})}const{nullBitmap:r,offset:i}=this,s=i+e>>3,o=(i+e)%8,a=r[s]>>o&1;return n?a===0&&(r[s]|=1<>3).fill(255,0,n>>3);i[n>>3]=(1<0&&i.set(_0(this.offset,n,this.nullBitmap),0);const s=this.buffers;return s[bi.VALIDITY]=i,this.clone(this.type,0,e,r+(e-n),s)}_sliceBuffers(e,n,r,i){let s;const{buffers:o}=this;return(s=o[bi.TYPE])&&(o[bi.TYPE]=s.subarray(e,e+n)),(s=o[bi.OFFSET])&&(o[bi.OFFSET]=s.subarray(e,e+n+1))||(s=o[bi.DATA])&&(o[bi.DATA]=i===6?s:s.subarray(r*e,r*(e+n))),o}_sliceChildren(e,n,r){return e.map(i=>i.slice(n,r))}}at.prototype.children=Object.freeze([]);class ol extends Be{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:n,["offset"]:r=0,["length"]:i=0}=e;return new at(n,r,i,0)}visitBool(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length>>3,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitInt(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFloat(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitUtf8(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitFixedSizeBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDate(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTimestamp(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTime(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDecimal(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitList(e){const{["type"]:n,["offset"]:r=0,["child"]:i}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}visitStruct(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),{length:o=i.reduce((l,{length:f})=>Math.max(l,f),0),nullCount:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],i)}visitUnion(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),o=rt(n.ArrayType,e.typeIds),{["length"]:a=o.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;if(we.isSparseUnion(n))return new at(n,r,a,l,[void 0,void 0,s,o],i);const f=Fu(e.valueOffsets);return new at(n,r,a,l,[f,void 0,s,o],i)}visitDictionary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.indices.ArrayType,e.data),{["dictionary"]:o=new Ke([new ol().visit({type:n.dictionary})])}=e,{["length"]:a=s.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[void 0,s,i],[],o)}visitInterval(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFixedSizeList(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.valueType})}=e,s=Ue(e.nullBitmap),{["length"]:o=i.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],[i])}visitMap(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.childType})}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}}function Ne(t){return new ol().visit(t)}class g1{constructor(e=0,n){this.numChunks=e,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe+n.nullCount,0)}function UD(t){return t.reduce((e,n,r)=>(e[r+1]=e[r]+n.length,e),new Uint32Array(t.length+1))}function zD(t,e,n,r){const i=[];for(let s=-1,o=t.length;++s=r)break;if(n>=l+f)continue;if(l>=n&&l+f<=r){i.push(a);continue}const h=Math.max(0,n-l),m=Math.min(r-l,f);i.push(a.slice(h,m-h))}return i.length===0&&i.push(t[0].slice(0,0)),i}function S0(t,e,n,r){let i=0,s=0,o=e.length-1;do{if(i>=o-1)return n0?0:-1}function Q$(t,e){const{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(const i of new b0(n,t.offset+(e||0),t.length,n,$D)){if(!i)return r;++r}return-1}function Ae(t,e,n){if(e===void 0)return-1;if(e===null)return Q$(t,n);const r=Bn.getVisitFn(t),i=du(e);for(let s=(n||0)-1,o=t.length;++s{const i=t.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new g1(t.data.length,r=>{const s=t.data[r].length,o=t.slice(n,n+s);return n+=s,new Y$(o)})}class Y${constructor(e){this.vector=e,this.index=0}next(){return this.indext+e;class Qs extends Be{visitNull(e,n){return 0}visitInt(e,n){return e.type.bitWidth/8}visitFloat(e,n){return e.type.ArrayType.BYTES_PER_ELEMENT}visitBool(e,n){return 1/8}visitDecimal(e,n){return e.type.bitWidth/8}visitDate(e,n){return(e.type.unit+1)*4}visitTime(e,n){return e.type.bitWidth/8}visitTimestamp(e,n){return e.type.unit===ze.SECOND?4:8}visitInterval(e,n){return(e.type.unit+1)*4}visitStruct(e,n){return e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitFixedSizeBinary(e,n){return e.type.byteWidth}visitMap(e,n){return 8+e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitDictionary(e,n){var r;return e.type.indices.bitWidth/8+(((r=e.dictionary)===null||r===void 0?void 0:r.getByteLength(e.values[n]))||0)}}const J$=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),X$=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),Z$=({valueOffsets:t,stride:e,children:n},r)=>{const i=n[0],{[r*e]:s}=t,{[r*e+1]:o}=t,a=di.getVisitFn(i.type),l=i.slice(s,o-s);let f=8;for(let h=-1,m=o-s;++h{const r=e[0],i=r.slice(n*t,t),s=di.getVisitFn(r.type);let o=0;for(let a=-1,l=i.length;++at.type.mode===tr.Dense?qD(t,e):HD(t,e),qD=({type:t,children:e,typeIds:n,valueOffsets:r},i)=>{const s=t.typeIdToChildIndex[n[i]];return 8+di.visit(e[s],r[i])},HD=({children:t},e)=>4+di.visitMany(t,t.map(()=>e)).reduce(G$,0);Qs.prototype.visitUtf8=J$;Qs.prototype.visitBinary=X$;Qs.prototype.visitList=Z$;Qs.prototype.visitFixedSizeList=ej;Qs.prototype.visitUnion=tj;Qs.prototype.visitDenseUnion=qD;Qs.prototype.visitSparseUnion=HD;const di=new Qs;var QD;const YD={},GD={};class Ke{constructor(e){var n,r,i;const s=e[0]instanceof Ke?e.flatMap(a=>a.data):e;if(s.length===0||s.some(a=>!(a instanceof at)))throw new TypeError("Vector constructor expects an Array of Data instances.");const o=(n=s[0])===null||n===void 0?void 0:n.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{const{get:a,set:l,indexOf:f,byteLength:h}=YD[o.typeId],m=s[0];this.isValid=y=>I0(m,y),this.get=y=>a(m,y),this.set=(y,w)=>l(m,y,w),this.indexOf=y=>f(m,y),this.getByteLength=y=>h(m,y),this._offsets=[0,m.length];break}default:Object.setPrototypeOf(this,GD[o.typeId]),this._offsets=UD(s);break}this.data=s,this.type=o,this.stride=Si(o),this.numChildren=(i=(r=o.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets[this._offsets.length-1]}get byteLength(){return this._byteLength===-1&&(this._byteLength=this.data.reduce((e,n)=>e+n.byteLength,0)),this._byteLength}get nullCount(){return this._nullCount===-1&&(this._nullCount=jD(this.data)),this._nullCount}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${N[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}includes(e,n){return this.indexOf(e,n)>0}getByteLength(e){return 0}[Symbol.iterator](){return E0.visit(this)}concat(...e){return new Ke(this.data.concat(e.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(e,n){return new Ke(LD(this,e,n,({data:r,_offsets:i},s,o)=>zD(r,i,s,o)))}toJSON(){return[...this]}toArray(){const{type:e,data:n,length:r,stride:i,ArrayType:s}=this;switch(e.typeId){case N.Int:case N.Float:case N.Decimal:case N.Time:case N.Timestamp:switch(n.length){case 0:return new s;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((o,{values:a,length:l})=>(o.array.set(a.subarray(0,l*i),o.offset),o.offset+=l*i,o),{array:new s(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&en[e])):null}get isMemoized(){return we.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(we.isDictionary(this.type)){const e=new zd(this.data[0].dictionary),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return new zd(this)}unmemoize(){if(we.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return this}}QD=Symbol.toStringTag;Ke[QD]=(t=>{t.type=we.prototype,t.data=[],t.length=0,t.stride=1,t.numChildren=0,t._nullCount=-1,t._byteLength=-1,t._offsets=new Uint32Array([0]),t[Symbol.isConcatSpreadable]=!0;const e=Object.keys(N).map(n=>N[n]).filter(n=>typeof n=="number"&&n!==N.NONE);for(const n of e){const r=Bn.getVisitFnByTypeId(n),i=_r.getVisitFnByTypeId(n),s=Ud.getVisitFnByTypeId(n),o=di.getVisitFnByTypeId(n);YD[n]={get:r,set:i,indexOf:s,byteLength:o},GD[n]=Object.create(t,{isValid:{value:Ra(I0)},get:{value:Ra(Bn.getVisitFnByTypeId(n))},set:{value:VD(_r.getVisitFnByTypeId(n))},indexOf:{value:KD(Ud.getVisitFnByTypeId(n))},getByteLength:{value:Ra(di.getVisitFnByTypeId(n))}})}return"Vector"})(Ke.prototype);class zd extends Ke{constructor(e){super(e.data);const n=this.get,r=this.set,i=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){const a=s[o];if(a!==void 0)return a;const l=n.call(this,o);return s[o]=l,l}}),Object.defineProperty(this,"set",{value(o,a){r.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new zd(i.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Ke(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class fv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,n,r,i){return e.prep(8,24),e.writeInt64(i),e.pad(4),e.writeInt32(r),e.writeInt64(n),e.offset()}}const km=2,ei=4,ki=4,st=4,fs=new Int32Array(2),w1=new Float32Array(fs.buffer),_1=new Float64Array(fs.buffer),ff=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;let Ni=class dv{constructor(e,n){this.low=e|0,this.high=n|0}static create(e,n){return e==0&&n==0?dv.ZERO:new dv(e,n)}toFloat64(){return(this.low>>>0)+this.high*4294967296}equals(e){return this.low==e.low&&this.high==e.high}};Ni.ZERO=new Ni(0,0);var hv;(function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"})(hv||(hv={}));let Ga=class JD{constructor(e){this.bytes_=e,this.position_=0}static allocate(e){return new JD(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return new Ni(this.readInt32(e),this.readInt32(e+4))}readUint64(e){return new Ni(this.readUint32(e),this.readUint32(e+4))}readFloat32(e){return fs[0]=this.readInt32(e),w1[0]}readFloat64(e){return fs[ff?0:1]=this.readInt32(e),fs[ff?1:0]=this.readInt32(e+4),_1[0]}writeInt8(e,n){this.bytes_[e]=n}writeUint8(e,n){this.bytes_[e]=n}writeInt16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeUint16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeInt32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeUint32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeInt64(e,n){this.writeInt32(e,n.low),this.writeInt32(e+4,n.high)}writeUint64(e,n){this.writeUint32(e,n.low),this.writeUint32(e+4,n.high)}writeFloat32(e,n){w1[0]=n,this.writeInt32(e,fs[0])}writeFloat64(e,n){_1[0]=n,this.writeInt32(e,fs[ff?0:1]),this.writeInt32(e+4,fs[ff?1:0])}getBufferIdentifier(){if(this.bytes_.length>10)+55296,(o&1024-1)+56320))}return i}__union_with_string(e,n){return typeof e=="string"?this.__string(n):this.__union(e,n)}__indirect(e){return e+this.readInt32(e)}__vector(e){return e+this.readInt32(e)+ei}__vector_len(e){return this.readInt32(e+this.readInt32(e))}__has_identifier(e){if(e.length!=ki)throw new Error("FlatBuffers: file identifier must be length "+ki);for(let n=0;nthis.minalign&&(this.minalign=e);const r=~(this.bb.capacity()-this.space+n)+1&e-1;for(;this.space=0&&this.vtable[n]==0;n--);const r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?e-this.vtable[n]:0);const i=2;this.addInt16(e-this.object_start);const s=(r+i)*km;this.addInt16(s);let o=0;const a=this.space;e:for(n=0;n=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,ei+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,n){this.finish(e,n,!0)}requiredField(e,n){const r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(!(this.bb.readInt16(i+n)!=0))throw new Error("FlatBuffers: field "+n+" must be set")}startVector(e,n,r){this.notNested(),this.vector_num_elems=n,this.prep(ei,e*n),this.prep(r,e*n)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(e){if(!e)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(e))return this.string_maps.get(e);const n=this.createString(e);return this.string_maps.set(e,n),n}createString(e){if(!e)return 0;let n;if(e instanceof Uint8Array)n=e;else{n=[];let r=0;for(;r=56320)i=s;else{const o=e.charCodeAt(r++);i=(s<<10)+o+(65536-56623104-56320)}i<128?n.push(i):(i<2048?n.push(i>>6&31|192):(i<65536?n.push(i>>12&15|224):n.push(i>>18&7|240,i>>12&63|128),n.push(i>>6&63|128)),n.push(i&63|128))}}this.addInt8(0),this.startVector(1,n.length,1),this.bb.setPosition(this.space-=n.length);for(let r=0,i=this.space,s=this.bb.bytes();r=0;r--)e.addInt32(n[r]);return e.endVector()}static startTypeIdsVector(e,n){e.startVector(4,n,4)}static endUnion(e){return e.endObject()}static createUnion(e,n,r){return In.startUnion(e),In.addMode(e,n),In.addTypeIds(e,r),In.endUnion(e)}}class bo{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsUtf8(e,n){return(n||new bo).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,n){return e.setPosition(e.position()+st),(n||new bo).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return bo.startUtf8(e),bo.endUtf8(e)}}var _t;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.FloatingPoint=3]="FloatingPoint",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct_=13]="Struct_",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.LargeList=21]="LargeList"})(_t||(_t={}));let cr=class Ff{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsField(e,n){return(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,n){return e.setPosition(e.position()+st),(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}name(e){const n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):_t.NONE}type(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(e,this.bb_pos+n):null}dictionary(e){const n=this.bb.__offset(this.bb_pos,12);return n?(e||new Di).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(e,n){const r=this.bb.__offset(this.bb_pos,14);return r?(n||new Ff).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,16);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,n){e.addFieldOffset(0,n,0)}static addNullable(e,n){e.addFieldInt8(1,+n,0)}static addTypeType(e,n){e.addFieldInt8(2,n,_t.NONE)}static addType(e,n){e.addFieldOffset(3,n,0)}static addDictionary(e,n){e.addFieldOffset(4,n,0)}static addChildren(e,n){e.addFieldOffset(5,n,0)}static createChildrenVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startChildrenVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(6,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endField(e){return e.endObject()}},Hr=class wi{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsSchema(e,n){return(n||new wi).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,n){return e.setPosition(e.position()+st),(n||new wi).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Xa.Little}fields(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new cr).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+e*8):this.bb.createLong(0,0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,n){e.addFieldInt16(0,n,Xa.Little)}static addFields(e,n){e.addFieldOffset(1,n,0)}static createFieldsVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startFieldsVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(2,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static addFeatures(e,n){e.addFieldOffset(3,n,0)}static createFeaturesVector(e,n){e.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)e.addInt64(n[r]);return e.endVector()}static startFeaturesVector(e,n){e.startVector(8,n,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,n){e.finish(n)}static finishSizePrefixedSchemaBuffer(e,n){e.finish(n,void 0,!0)}static createSchema(e,n,r,i,s){return wi.startSchema(e),wi.addEndianness(e,n),wi.addFields(e,r),wi.addCustomMetadata(e,i),wi.addFeatures(e,s),wi.endSchema(e)}};class Kn{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsFooter(e,n){return(n||new Kn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,n){return e.setPosition(e.position()+st),(n||new Kn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ja.V1}schema(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Hr).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new fv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,n){const r=this.bb.__offset(this.bb_pos,10);return r?(n||new fv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ja.V1)}static addSchema(e,n){e.addFieldOffset(1,n,0)}static addDictionaries(e,n){e.addFieldOffset(2,n,0)}static startDictionariesVector(e,n){e.startVector(24,n,8)}static addRecordBatches(e,n){e.addFieldOffset(3,n,0)}static startRecordBatchesVector(e,n){e.startVector(24,n,8)}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,n){e.finish(n)}static finishSizePrefixedFooterBuffer(e,n){e.finish(n,void 0,!0)}}class We{constructor(e=[],n,r){this.fields=e||[],this.metadata=n||new Map,r||(r=pv(e)),this.dictionaries=r}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,n)=>`${n}: ${e}`).join(", ")} }>`}select(e){const n=new Set(e),r=this.fields.filter(i=>n.has(i.name));return new We(r,this.metadata)}selectAt(e){const n=e.map(r=>this.fields[r]).filter(Boolean);return new We(n,this.metadata)}assign(...e){const n=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),r=[...this.fields],i=df(df(new Map,this.metadata),n.metadata),s=n.fields.filter(a=>{const l=r.findIndex(f=>f.name===a.name);return~l?(r[l]=a.clone({metadata:df(df(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),o=pv(s,new Map);return new We([...r,...s],i,new Map([...this.dictionaries,...o]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class yt{constructor(e,n,r=!1,i){this.name=e,this.type=n,this.nullable=r,this.metadata=i||new Map}static new(...e){let[n,r,i,s]=e;return e[0]&&typeof e[0]=="object"&&({name:n}=e[0],r===void 0&&(r=e[0].type),i===void 0&&(i=e[0].nullable),s===void 0&&(s=e[0].metadata)),new yt(`${n}`,r,i,s)}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[n,r,i,s]=e;return!e[0]||typeof e[0]!="object"?[n=this.name,r=this.type,i=this.nullable,s=this.metadata]=e:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:s=this.metadata}=e[0],yt.new(n,r,i,s)}}yt.prototype.type=null;yt.prototype.name=null;yt.prototype.nullable=null;yt.prototype.metadata=null;function df(t,e){return new Map([...t||new Map,...e||new Map])}function pv(t,e=new Map){for(let n=-1,r=t.length;++n0&&pv(s.children,e)}return e}var b1=Ni,nj=XD,rj=Ga;class jl{constructor(e,n=Yn.V4,r,i){this.schema=e,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}static decode(e){e=new rj(Ue(e));const n=Kn.getRootAsFooter(e),r=We.decode(n.schema());return new ij(r,n)}static encode(e){const n=new nj,r=We.encode(n,e.schema);Kn.startRecordBatchesVector(n,e.numRecordBatches);for(const o of[...e.recordBatches()].slice().reverse())Ls.encode(n,o);const i=n.endVector();Kn.startDictionariesVector(n,e.numDictionaries);for(const o of[...e.dictionaryBatches()].slice().reverse())Ls.encode(n,o);const s=n.endVector();return Kn.startFooter(n),Kn.addSchema(n,r),Kn.addVersion(n,Yn.V4),Kn.addRecordBatches(n,i),Kn.addDictionaries(n,s),Kn.finishFooterBuffer(n,Kn.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}*recordBatches(){for(let e,n=-1,r=this.numRecordBatches;++n=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(St);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return fr.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return fr.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return ve(this,void 0,void 0,function*(){return yield this.abort(e),St})}return(e){return ve(this,void 0,void 0,function*(){return yield this.close(),St})}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(St)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class Lf extends sj{write(e){if((e=Ue(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?ov(this.toUint8Array(!0)):this.toUint8Array(!1).then(ov)}toUint8Array(e=!1){return e?fi(this._values)[0]:(()=>ve(this,void 0,void 0,function*(){var n,r;const i=[];let s=0;try{for(var o=Ds(this),a;a=yield o.next(),!a.done;){const l=a.value;i.push(l),s+=l.byteLength}}catch(l){n={error:l}}finally{try{a&&!a.done&&(r=o.return)&&(yield r.call(o))}finally{if(n)throw n.error}}return fi(i,s)[0]}))()}}class Qd{constructor(e){e&&(this.source=new oj(fr.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class eu{constructor(e){e instanceof eu?this.source=e.source:e instanceof Lf?this.source=new ao(fr.fromAsyncIterable(e)):Nk(e)?this.source=new ao(fr.fromNodeStream(e)):f0(e)?this.source=new ao(fr.fromDOMStream(e)):Mk(e)?this.source=new ao(fr.fromDOMStream(e.body)):uc(e)?this.source=new ao(fr.fromIterable(e)):Ms(e)?this.source=new ao(fr.fromAsyncIterable(e)):fu(e)&&(this.source=new ao(fr.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class oj{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,n="read"){return this.source.next({cmd:n,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||St)}return(e){return Object.create(this.source.return&&this.source.return(e)||St)}}class ao{constructor(e){this.source=e,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e,n="read"){return ve(this,void 0,void 0,function*(){return yield this.source.next({cmd:n,size:e})})}throw(e){return ve(this,void 0,void 0,function*(){const n=this.source.throw&&(yield this.source.throw(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(e){return ve(this,void 0,void 0,function*(){const n=this.source.return&&(yield this.source.return(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}}class I1 extends Qd{constructor(e,n){super(),this.position=0,this.buffer=Ue(e),this.size=typeof n>"u"?this.buffer.byteLength:n}readInt32(e){const{buffer:n,byteOffset:r}=this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),eve(this,void 0,void 0,function*(){this.size=(yield e.stat()).size,delete this._pending}))()}readInt32(e){return ve(this,void 0,void 0,function*(){const{buffer:n,byteOffset:r}=yield this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)})}seek(e){return ve(this,void 0,void 0,function*(){return this._pending&&(yield this._pending),this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let i=n[3]*r[3];this.buffer[0]=i&65535;let s=i>>>16;return i=n[2]*r[3],s+=i,i=n[3]*r[2]>>>0,s+=i,this.buffer[0]+=s<<16,this.buffer[1]=s>>>0>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(e){const n=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],n>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(e){return this.buffer[1]>>0,n[2]=this.buffer[2]+e.buffer[2]>>>0,n[1]=this.buffer[1]+e.buffer[1]>>>0,n[0]=this.buffer[0]+e.buffer[0]>>>0,n[0]>>0&&++n[1],n[1]>>0&&++n[2],n[2]>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${ba(this.buffer[3])} ${ba(this.buffer[2])} ${ba(this.buffer[1])} ${ba(this.buffer[0])}`}static multiply(e,n){return new Qr(new Uint32Array(e.buffer)).times(n)}static add(e,n){return new Qr(new Uint32Array(e.buffer)).plus(n)}static from(e,n=new Uint32Array(4)){return Qr.fromString(typeof e=="string"?e:e.toString(),n)}static fromNumber(e,n=new Uint32Array(4)){return Qr.fromString(e.toString(),n)}static fromString(e,n=new Uint32Array(4)){const r=e.startsWith("-"),i=e.length,s=new Qr(n);for(let o=r?1:0;o0&&this.readData(e,r)||new Uint8Array(0)}readOffsets(e,n){return this.readData(e,n)}readTypeIds(e,n){return this.readData(e,n)}readData(e,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(e){return this.dictionaries.get(e.id)}}class uj extends tx{constructor(e,n,r,i){super(new Uint8Array(0),n,r,i),this.sources=e}readNullBitmap(e,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):jd(this.sources[r])}readOffsets(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(Int32Array,this.sources[n]))}readTypeIds(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(e.ArrayType,this.sources[n]))}readData(e,{offset:n}=this.nextBufferRange()){const{sources:r}=this;return we.isTimestamp(e)||(we.isInt(e)||we.isTime(e))&&e.bitWidth===64||we.isDate(e)&&e.unit===Hi.MILLISECOND?rt(Uint8Array,_n.convertArray(r[n])):we.isDecimal(e)?rt(Uint8Array,Qr.convertArray(r[n])):we.isBinary(e)||we.isFixedSizeBinary(e)?lj(r[n]):we.isBool(e)?jd(r[n]):we.isUtf8(e)?c0(r[n].join("")):rt(Uint8Array,rt(e.ArrayType,r[n].map(i=>+i)))}}function lj(t){const e=t.join(""),n=new Uint8Array(e.length/2);for(let r=0;r>1]=Number.parseInt(e.slice(r,r+2),16);return n}class Ie extends Be{compareSchemas(e,n){return e===n||n instanceof e.constructor&&this.compareManyFields(e.fields,n.fields)}compareManyFields(e,n){return e===n||Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((r,i)=>this.compareFields(r,n[i]))}compareFields(e,n){return e===n||n instanceof e.constructor&&e.name===n.name&&e.nullable===n.nullable&&this.visit(e.type,n.type)}}function jn(t,e){return e instanceof t.constructor}function lc(t,e){return t===e||jn(t,e)}function Ji(t,e){return t===e||jn(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function Uh(t,e){return t===e||jn(t,e)&&t.precision===e.precision}function cj(t,e){return t===e||jn(t,e)&&t.byteWidth===e.byteWidth}function D0(t,e){return t===e||jn(t,e)&&t.unit===e.unit}function cc(t,e){return t===e||jn(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function fc(t,e){return t===e||jn(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function fj(t,e){return t===e||jn(t,e)&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function dj(t,e){return t===e||jn(t,e)&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function x0(t,e){return t===e||jn(t,e)&&t.mode===e.mode&&t.typeIds.every((n,r)=>n===e.typeIds[r])&&$s.compareManyFields(t.children,e.children)}function hj(t,e){return t===e||jn(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&$s.visit(t.indices,e.indices)&&$s.visit(t.dictionary,e.dictionary)}function C0(t,e){return t===e||jn(t,e)&&t.unit===e.unit}function pj(t,e){return t===e||jn(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}function mj(t,e){return t===e||jn(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&$s.compareManyFields(t.children,e.children)}Ie.prototype.visitNull=lc;Ie.prototype.visitBool=lc;Ie.prototype.visitInt=Ji;Ie.prototype.visitInt8=Ji;Ie.prototype.visitInt16=Ji;Ie.prototype.visitInt32=Ji;Ie.prototype.visitInt64=Ji;Ie.prototype.visitUint8=Ji;Ie.prototype.visitUint16=Ji;Ie.prototype.visitUint32=Ji;Ie.prototype.visitUint64=Ji;Ie.prototype.visitFloat=Uh;Ie.prototype.visitFloat16=Uh;Ie.prototype.visitFloat32=Uh;Ie.prototype.visitFloat64=Uh;Ie.prototype.visitUtf8=lc;Ie.prototype.visitBinary=lc;Ie.prototype.visitFixedSizeBinary=cj;Ie.prototype.visitDate=D0;Ie.prototype.visitDateDay=D0;Ie.prototype.visitDateMillisecond=D0;Ie.prototype.visitTimestamp=cc;Ie.prototype.visitTimestampSecond=cc;Ie.prototype.visitTimestampMillisecond=cc;Ie.prototype.visitTimestampMicrosecond=cc;Ie.prototype.visitTimestampNanosecond=cc;Ie.prototype.visitTime=fc;Ie.prototype.visitTimeSecond=fc;Ie.prototype.visitTimeMillisecond=fc;Ie.prototype.visitTimeMicrosecond=fc;Ie.prototype.visitTimeNanosecond=fc;Ie.prototype.visitDecimal=lc;Ie.prototype.visitList=fj;Ie.prototype.visitStruct=dj;Ie.prototype.visitUnion=x0;Ie.prototype.visitDenseUnion=x0;Ie.prototype.visitSparseUnion=x0;Ie.prototype.visitDictionary=hj;Ie.prototype.visitInterval=C0;Ie.prototype.visitIntervalDayTime=C0;Ie.prototype.visitIntervalYearMonth=C0;Ie.prototype.visitFixedSizeList=pj;Ie.prototype.visitMap=mj;const $s=new Ie;function mv(t,e){return $s.compareSchemas(t,e)}function Dm(t,e){return yj(t,e.map(n=>n.data.concat()))}function yj(t,e){const n=[...t.fields],r=[],i={numBatches:e.reduce((m,y)=>Math.max(m,y.length),0)};let s=0,o=0,a=-1;const l=e.length;let f,h=[];for(;i.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a0&&(r[s++]=Ne({type:new pn(n),length:o,nullCount:0,children:h.slice()})))}return[t=t.assign(n),r.map(m=>new En(t,m))]}function vj(t,e,n,r,i){var s;const o=(e+63&-64)>>3;for(let a=-1,l=r.length;++a=e)h===e?n[a]=f:(n[a]=f.slice(0,e),i.numBatches=Math.max(i.numBatches,r[a].unshift(f.slice(e,h-e))));else{const m=t[a];t[a]=m.clone({nullable:!0}),n[a]=(s=f==null?void 0:f._changeLengthAndBackfillNullBitmap(e))!==null&&s!==void 0?s:Ne({type:m.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)})}}return n}var nx;class hn{constructor(...e){var n,r;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let i,s;e[0]instanceof We&&(i=e.shift()),e[e.length-1]instanceof Uint32Array&&(s=e.pop());const o=l=>{if(l){if(l instanceof En)return[l];if(l instanceof hn)return l.batches;if(l instanceof at){if(l.type instanceof pn)return[new En(new We(l.type.children),l)]}else{if(Array.isArray(l))return l.flatMap(f=>o(f));if(typeof l[Symbol.iterator]=="function")return[...l].flatMap(f=>o(f));if(typeof l=="object"){const f=Object.keys(l),h=f.map(w=>new Ke([l[w]])),m=new We(f.map((w,I)=>new yt(String(w),h[I].type))),[,y]=Dm(m,h);return y.length===0?[new En(l)]:y}}}return[]},a=e.flatMap(l=>o(l));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new We([]),!(i instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const l of a){if(!(l instanceof En))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!mv(i,l.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=s??UD(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,n)=>e+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=jD(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}getByteLength(e){return 0}[Symbol.iterator](){return this.batches.length>0?E0.visit(new Ke(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ + */var o0=i3,jr=typeof Symbol=="function"&&Symbol.for,ic=jr?Symbol.for("react.element"):60103,s3=jr?Symbol.for("react.portal"):60106,o3=jr?Symbol.for("react.fragment"):60107,a3=jr?Symbol.for("react.strict_mode"):60108,u3=jr?Symbol.for("react.profiler"):60114,l3=jr?Symbol.for("react.provider"):60109,c3=jr?Symbol.for("react.context"):60110,f3=jr?Symbol.for("react.forward_ref"):60112,d3=jr?Symbol.for("react.suspense"):60113,h3=jr?Symbol.for("react.memo"):60115,p3=jr?Symbol.for("react.lazy"):60116,d1=typeof Symbol=="function"&&Symbol.iterator;function sc(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;nDd.length&&Dd.push(t)}function iv(t,e,n,r){var i=typeof t;(i==="undefined"||i==="boolean")&&(t=null);var s=!1;if(t===null)s=!0;else switch(i){case"string":case"number":s=!0;break;case"object":switch(t.$$typeof){case ic:case s3:s=!0}}if(s)return n(r,t,e===""?"."+Sm(t,0):e),1;if(s=0,e=e===""?".":e+":",Array.isArray(t))for(var o=0;ob3.decode(t),S3=new TextEncoder,f0=t=>S3.encode(t),[I4,I3]=(()=>{const t=()=>{throw new Error("BigInt is not available in this environment")};function e(){throw t()}return e.asIntN=()=>{throw t()},e.asUintN=()=>{throw t()},typeof BigInt<"u"?[BigInt,!0]:[e,!1]})(),[oc,E4]=(()=>{const t=()=>{throw new Error("BigInt64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigInt64Array<"u"?[BigInt64Array,!0]:[e,!1]})(),[ac,O4]=(()=>{const t=()=>{throw new Error("BigUint64Array is not available in this environment")};class e{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}}return typeof BigUint64Array<"u"?[BigUint64Array,!0]:[e,!1]})(),E3=t=>typeof t=="number",Rk=t=>typeof t=="boolean",Ut=t=>typeof t=="function",Fn=t=>t!=null&&Object(t)===t,Ns=t=>Fn(t)&&Ut(t.then),uc=t=>Fn(t)&&Ut(t[Symbol.iterator]),fu=t=>Fn(t)&&Ut(t[Symbol.asyncIterator]),uv=t=>Fn(t)&&Fn(t.schema),Tk=t=>Fn(t)&&"done"in t&&"value"in t,Mk=t=>Fn(t)&&Ut(t.stat)&&E3(t.fd),Nk=t=>Fn(t)&&d0(t.body),$h=t=>"_getDOMStream"in t&&"_getNodeStream"in t,O3=t=>Fn(t)&&Ut(t.abort)&&Ut(t.getWriter)&&!$h(t),d0=t=>Fn(t)&&Ut(t.cancel)&&Ut(t.getReader)&&!$h(t),k3=t=>Fn(t)&&Ut(t.end)&&Ut(t.write)&&Rk(t.writable)&&!$h(t),Bk=t=>Fn(t)&&Ut(t.read)&&Ut(t.pipe)&&Rk(t.readable)&&!$h(t),D3=t=>Fn(t)&&Ut(t.clear)&&Ut(t.bytes)&&Ut(t.position)&&Ut(t.setPosition)&&Ut(t.capacity)&&Ut(t.getBufferIdentifier)&&Ut(t.createLong),h0=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function x3(t){const e=t[0]?[t[0]]:[];let n,r,i,s;for(let o,a,l=0,f=0,h=t.length;++lh+p.byteLength,0);let i,s,o,a=0,l=-1;const f=Math.min(e||Number.POSITIVE_INFINITY,r);for(const h=n.length;++lrt(Int32Array,t),Ue=t=>rt(Uint8Array,t),lv=t=>(t.next(),t);function*C3(t,e){const n=function*(i){yield i},r=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof h0?n(e):uc(e)?e:n(e);return yield*lv(function*(i){let s=null;do s=i.next(yield rt(t,s));while(!s.done)}(r[Symbol.iterator]())),new t}const A3=t=>C3(Uint8Array,t);function Fk(t,e){return Ar(this,arguments,function*(){if(Ns(e))return yield ge(yield ge(yield*Df(Ds(Fk(t,yield ge(e))))));const r=function(o){return Ar(this,arguments,function*(){yield yield ge(yield ge(o))})},i=function(o){return Ar(this,arguments,function*(){yield ge(yield*Df(Ds(lv(function*(a){let l=null;do l=a.next(yield l==null?void 0:l.value);while(!l.done)}(o[Symbol.iterator]())))))})},s=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof h0?r(e):uc(e)?i(e):fu(e)?e:r(e);return yield ge(yield*Df(Ds(lv(function(o){return Ar(this,arguments,function*(){let a=null;do a=yield ge(o.next(yield yield ge(rt(t,a))));while(!a.done)})}(s[Symbol.asyncIterator]()))))),yield ge(new t)})}const P3=t=>Fk(Uint8Array,t);function p0(t,e,n){if(t!==0){n=n.slice(0,e+1);for(let r=-1;++r<=e;)n[r]+=t}return n}function R3(t,e){let n=0;const r=t.length;if(r!==e.length)return!1;if(r>0)do if(t[n]!==e[n])return!1;while(++n(t.next(),t);function*T3(t){let e,n=!1,r=[],i,s,o,a=0;function l(){return s==="peek"?fi(r,o)[0]:([i,r,a]=fi(r,o),i)}({cmd:s,size:o}=yield null);const f=A3(t)[Symbol.iterator]();try{do if({done:e,value:i}=Number.isNaN(o-a)?f.next():f.next(o-a),!e&&i.byteLength>0&&(r.push(i),a+=i.byteLength),e||o<=a)do({cmd:s,size:o}=yield l());while(o0&&(i.push(s),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a0&&(i.push(Ue(s)),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield ge(f()));while(a{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return ve(this,void 0,void 0,function*(){const{reader:n,source:r}=this;n&&(yield n.cancel(e).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(e){return ve(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const n=yield this.reader.read();return!n.done&&(n.value=Ue(n)),n})}}const Im=(t,e)=>{const n=i=>r([e,i]);let r;return[e,n,new Promise(i=>(r=i)&&t.once(e,n))]};function F3(t){return Ar(this,arguments,function*(){const n=[];let r="error",i=!1,s=null,o,a,l=0,f=[],h;function p(){return o==="peek"?fi(f,a)[0]:([h,f,l]=fi(f,a),h)}if({cmd:o,size:a}=yield yield ge(null),t.isTTY)return yield yield ge(new Uint8Array(0)),yield ge(null);try{n[0]=Im(t,"end"),n[1]=Im(t,"error");do{if(n[2]=Im(t,"readable"),[r,s]=yield ge(Promise.race(n.map(w=>w[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-l)?(h=Ue(t.read(a-l)),h.byteLength0&&(f.push(h),l+=h.byteLength)),i||a<=l)do({cmd:o,size:a}=yield yield ge(p()));while(a{for(const[S,_]of w)t.off(S,_);try{const S=t.destroy;S&&S.call(t,I),I=void 0}catch(S){I=S||I}finally{I!=null?$(I):E()}})}})}var Gn;(function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"})(Gn||(Gn={}));var rr;(function(t){t[t.Sparse=0]="Sparse",t[t.Dense=1]="Dense"})(rr||(rr={}));var Tn;(function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"})(Tn||(Tn={}));var Hi;(function(t){t[t.DAY=0]="DAY",t[t.MILLISECOND=1]="MILLISECOND"})(Hi||(Hi={}));var ze;(function(t){t[t.SECOND=0]="SECOND",t[t.MILLISECOND=1]="MILLISECOND",t[t.MICROSECOND=2]="MICROSECOND",t[t.NANOSECOND=3]="NANOSECOND"})(ze||(ze={}));var Bs;(function(t){t[t.YEAR_MONTH=0]="YEAR_MONTH",t[t.DAY_TIME=1]="DAY_TIME",t[t.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(Bs||(Bs={}));var Ve;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var N;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"})(N||(N={}));var bi;(function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"})(bi||(bi={}));const L3=void 0;function Nl(t){if(t===null)return"null";if(t===L3)return"undefined";switch(typeof t){case"number":return`${t}`;case"bigint":return`${t}`;case"string":return`"${t}"`}return typeof t[Symbol.toPrimitive]=="function"?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?t instanceof oc||t instanceof ac?`[${[...t].map(e=>Nl(e))}]`:`[${t}]`:ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t,(e,n)=>typeof n=="bigint"?`${n}`:n)}const $3=Symbol.for("isArrowBigNum");function Ur(t,...e){return e.length===0?Object.setPrototypeOf(rt(this.TypedArray,t),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(t,...e),this.constructor.prototype)}Ur.prototype[$3]=!0;Ur.prototype.toJSON=function(){return`"${Ao(this)}"`};Ur.prototype.valueOf=function(){return Lk(this)};Ur.prototype.toString=function(){return Ao(this)};Ur.prototype[Symbol.toPrimitive]=function(t="default"){switch(t){case"number":return Lk(this);case"string":return Ao(this);case"default":return cv(this)}return Ao(this)};function Da(...t){return Ur.apply(this,t)}function xa(...t){return Ur.apply(this,t)}function Bl(...t){return Ur.apply(this,t)}Object.setPrototypeOf(Da.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(xa.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Bl.prototype,Object.create(Uint32Array.prototype));Object.assign(Da.prototype,Ur.prototype,{constructor:Da,signed:!0,TypedArray:Int32Array,BigIntArray:oc});Object.assign(xa.prototype,Ur.prototype,{constructor:xa,signed:!1,TypedArray:Uint32Array,BigIntArray:ac});Object.assign(Bl.prototype,Ur.prototype,{constructor:Bl,signed:!0,TypedArray:Uint32Array,BigIntArray:ac});function Lk(t){const{buffer:e,byteOffset:n,length:r,signed:i}=t,s=new ac(e,n,r),o=i&&s[s.length-1]&BigInt(1)<t.byteLength===8?new t.BigIntArray(t.buffer,t.byteOffset,1)[0]:Em(t),Ao=t=>t.byteLength===8?`${new t.BigIntArray(t.buffer,t.byteOffset,1)[0]}`:Em(t)):(Ao=Em,cv=Ao);function Em(t){let e="";const n=new Uint32Array(2);let r=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2);const i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer);let s=-1;const o=r.length-1;do{for(n[0]=r[s=0];s(t.children=null,t.ArrayType=Array,t[Symbol.toStringTag]="DataType"))(we.prototype);let Fs=class extends we{toString(){return"Null"}get typeId(){return N.Null}};jk=Symbol.toStringTag;Fs[jk]=(t=>t[Symbol.toStringTag]="Null")(Fs.prototype);class Ls extends we{constructor(e,n){super(),this.isSigned=e,this.bitWidth=n}get typeId(){return N.Int}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?oc:ac}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}Uk=Symbol.toStringTag;Ls[Uk]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(Ls.prototype);class Fl extends Ls{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Fl.prototype,"ArrayType",{value:Int32Array});class Ll extends we{constructor(e){super(),this.precision=e}get typeId(){return N.Float}get ArrayType(){switch(this.precision){case Tn.HALF:return Uint16Array;case Tn.SINGLE:return Float32Array;case Tn.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}zk=Symbol.toStringTag;Ll[zk]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(Ll.prototype);let xd=class extends we{constructor(){super()}get typeId(){return N.Binary}toString(){return"Binary"}};Vk=Symbol.toStringTag;xd[Vk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(xd.prototype);let Cd=class extends we{constructor(){super()}get typeId(){return N.Utf8}toString(){return"Utf8"}};Kk=Symbol.toStringTag;Cd[Kk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Cd.prototype);let Ad=class extends we{constructor(){super()}get typeId(){return N.Bool}toString(){return"Bool"}};Wk=Symbol.toStringTag;Ad[Wk]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(Ad.prototype);let Pd=class extends we{constructor(e,n,r=128){super(),this.scale=e,this.precision=n,this.bitWidth=r}get typeId(){return N.Decimal}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};qk=Symbol.toStringTag;Pd[qk]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(Pd.prototype);class Rd extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Date}toString(){return`Date${(this.unit+1)*32}<${Hi[this.unit]}>`}}Hk=Symbol.toStringTag;Rd[Hk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Date"))(Rd.prototype);class $l extends we{constructor(e,n){super(),this.unit=e,this.bitWidth=n}get typeId(){return N.Time}toString(){return`Time${this.bitWidth}<${ze[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return oc}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Qk=Symbol.toStringTag;$l[Qk]=(t=>(t.unit=null,t.bitWidth=null,t[Symbol.toStringTag]="Time"))($l.prototype);class Td extends we{constructor(e,n){super(),this.unit=e,this.timezone=n}get typeId(){return N.Timestamp}toString(){return`Timestamp<${ze[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}Yk=Symbol.toStringTag;Td[Yk]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Timestamp"))(Td.prototype);class Md extends we{constructor(e){super(),this.unit=e}get typeId(){return N.Interval}toString(){return`Interval<${Bs[this.unit]}>`}}Gk=Symbol.toStringTag;Md[Gk]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(Md.prototype);let Nd=class extends we{constructor(e){super(),this.children=[e]}get typeId(){return N.List}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};Jk=Symbol.toStringTag;Nd[Jk]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(Nd.prototype);class vn extends we{constructor(e){super(),this.children=e}get typeId(){return N.Struct}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Xk=Symbol.toStringTag;vn[Xk]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(vn.prototype);class Bd extends we{constructor(e,n,r){super(),this.mode=e,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,s,o)=>(i[s]=o)&&i||i,Object.create(null))}get typeId(){return N.Union}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}Zk=Symbol.toStringTag;Bd[Zk]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(Bd.prototype);let Fd=class extends we{constructor(e){super(),this.byteWidth=e}get typeId(){return N.FixedSizeBinary}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};eD=Symbol.toStringTag;Fd[eD]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(Fd.prototype);let Ld=class extends we{constructor(e,n){super(),this.listSize=e,this.children=[n]}get typeId(){return N.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};tD=Symbol.toStringTag;Ld[tD]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(Ld.prototype);class $d extends we{constructor(e,n=!1){super(),this.children=[e],this.keysSorted=n}get typeId(){return N.Map}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}nD=Symbol.toStringTag;$d[nD]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))($d.prototype);const j3=(t=>()=>++t)(-1);class Qa extends we{constructor(e,n,r,i){super(),this.indices=n,this.dictionary=e,this.isOrdered=i||!1,this.id=r==null?j3():typeof r=="number"?r:r.low}get typeId(){return N.Dictionary}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}rD=Symbol.toStringTag;Qa[rD]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))(Qa.prototype);function Si(t){const e=t;switch(t.typeId){case N.Decimal:return t.bitWidth/32;case N.Timestamp:return 2;case N.Date:return 1+e.unit;case N.Interval:return 1+e.unit;case N.FixedSizeList:return e.listSize;case N.FixedSizeBinary:return e.byteWidth;default:return 1}}class Be{visitMany(e,...n){return e.map((r,i)=>this.visit(r,...n.map(s=>s[i])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,n=!0){return U3(this,e,n)}getVisitFnByTypeId(e,n=!0){return ia(this,e,n)}visitNull(e,...n){return null}visitBool(e,...n){return null}visitInt(e,...n){return null}visitFloat(e,...n){return null}visitUtf8(e,...n){return null}visitBinary(e,...n){return null}visitFixedSizeBinary(e,...n){return null}visitDate(e,...n){return null}visitTimestamp(e,...n){return null}visitTime(e,...n){return null}visitDecimal(e,...n){return null}visitList(e,...n){return null}visitStruct(e,...n){return null}visitUnion(e,...n){return null}visitDictionary(e,...n){return null}visitInterval(e,...n){return null}visitFixedSizeList(e,...n){return null}visitMap(e,...n){return null}}function U3(t,e,n=!0){return typeof e=="number"?ia(t,e,n):typeof e=="string"&&e in N?ia(t,N[e],n):e&&e instanceof we?ia(t,p1(e),n):e!=null&&e.type&&e.type instanceof we?ia(t,p1(e.type),n):ia(t,N.NONE,n)}function ia(t,e,n=!0){let r=null;switch(e){case N.Null:r=t.visitNull;break;case N.Bool:r=t.visitBool;break;case N.Int:r=t.visitInt;break;case N.Int8:r=t.visitInt8||t.visitInt;break;case N.Int16:r=t.visitInt16||t.visitInt;break;case N.Int32:r=t.visitInt32||t.visitInt;break;case N.Int64:r=t.visitInt64||t.visitInt;break;case N.Uint8:r=t.visitUint8||t.visitInt;break;case N.Uint16:r=t.visitUint16||t.visitInt;break;case N.Uint32:r=t.visitUint32||t.visitInt;break;case N.Uint64:r=t.visitUint64||t.visitInt;break;case N.Float:r=t.visitFloat;break;case N.Float16:r=t.visitFloat16||t.visitFloat;break;case N.Float32:r=t.visitFloat32||t.visitFloat;break;case N.Float64:r=t.visitFloat64||t.visitFloat;break;case N.Utf8:r=t.visitUtf8;break;case N.Binary:r=t.visitBinary;break;case N.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case N.Date:r=t.visitDate;break;case N.DateDay:r=t.visitDateDay||t.visitDate;break;case N.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case N.Timestamp:r=t.visitTimestamp;break;case N.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case N.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case N.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case N.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case N.Time:r=t.visitTime;break;case N.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case N.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case N.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case N.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case N.Decimal:r=t.visitDecimal;break;case N.List:r=t.visitList;break;case N.Struct:r=t.visitStruct;break;case N.Union:r=t.visitUnion;break;case N.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case N.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case N.Dictionary:r=t.visitDictionary;break;case N.Interval:r=t.visitInterval;break;case N.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case N.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case N.FixedSizeList:r=t.visitFixedSizeList;break;case N.Map:r=t.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${N[e]}'`)}function p1(t){switch(t.typeId){case N.Null:return N.Null;case N.Int:{const{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?N.Int8:N.Uint8;case 16:return n?N.Int16:N.Uint16;case 32:return n?N.Int32:N.Uint32;case 64:return n?N.Int64:N.Uint64}return N.Int}case N.Float:switch(t.precision){case Tn.HALF:return N.Float16;case Tn.SINGLE:return N.Float32;case Tn.DOUBLE:return N.Float64}return N.Float;case N.Binary:return N.Binary;case N.Utf8:return N.Utf8;case N.Bool:return N.Bool;case N.Decimal:return N.Decimal;case N.Time:switch(t.unit){case ze.SECOND:return N.TimeSecond;case ze.MILLISECOND:return N.TimeMillisecond;case ze.MICROSECOND:return N.TimeMicrosecond;case ze.NANOSECOND:return N.TimeNanosecond}return N.Time;case N.Timestamp:switch(t.unit){case ze.SECOND:return N.TimestampSecond;case ze.MILLISECOND:return N.TimestampMillisecond;case ze.MICROSECOND:return N.TimestampMicrosecond;case ze.NANOSECOND:return N.TimestampNanosecond}return N.Timestamp;case N.Date:switch(t.unit){case Hi.DAY:return N.DateDay;case Hi.MILLISECOND:return N.DateMillisecond}return N.Date;case N.Interval:switch(t.unit){case Bs.DAY_TIME:return N.IntervalDayTime;case Bs.YEAR_MONTH:return N.IntervalYearMonth}return N.Interval;case N.Map:return N.Map;case N.List:return N.List;case N.Struct:return N.Struct;case N.Union:switch(t.mode){case rr.Dense:return N.DenseUnion;case rr.Sparse:return N.SparseUnion}return N.Union;case N.FixedSizeBinary:return N.FixedSizeBinary;case N.FixedSizeList:return N.FixedSizeList;case N.Dictionary:return N.Dictionary}throw new Error(`Unrecognized type '${N[t.typeId]}'`)}Be.prototype.visitInt8=null;Be.prototype.visitInt16=null;Be.prototype.visitInt32=null;Be.prototype.visitInt64=null;Be.prototype.visitUint8=null;Be.prototype.visitUint16=null;Be.prototype.visitUint32=null;Be.prototype.visitUint64=null;Be.prototype.visitFloat16=null;Be.prototype.visitFloat32=null;Be.prototype.visitFloat64=null;Be.prototype.visitDateDay=null;Be.prototype.visitDateMillisecond=null;Be.prototype.visitTimestampSecond=null;Be.prototype.visitTimestampMillisecond=null;Be.prototype.visitTimestampMicrosecond=null;Be.prototype.visitTimestampNanosecond=null;Be.prototype.visitTimeSecond=null;Be.prototype.visitTimeMillisecond=null;Be.prototype.visitTimeMicrosecond=null;Be.prototype.visitTimeNanosecond=null;Be.prototype.visitDenseUnion=null;Be.prototype.visitSparseUnion=null;Be.prototype.visitIntervalDayTime=null;Be.prototype.visitIntervalYearMonth=null;const iD=new Float64Array(1),ta=new Uint32Array(iD.buffer);function sD(t){const e=(t&31744)>>10,n=(t&1023)/1024,r=Math.pow(-1,(t&32768)>>15);switch(e){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}function z3(t){if(t!==t)return 32256;iD[0]=t;const e=(ta[1]&2147483648)>>16&65535;let n=ta[1]&2146435072,r=0;return n>=1089470464?ta[0]>0?n=31744:(n=(n&2080374784)>>16,r=(ta[1]&1048575)>>10):n<=1056964608?(r=1048576+(ta[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(ta[1]&1048575)+512>>10),e|n|r&65535}class Ee extends Be{}function xe(t){return(e,n,r)=>{if(e.setValid(n,r!=null))return t(e,n,r)}}const V3=(t,e,n)=>{t[e]=Math.trunc(n/864e5)},y0=(t,e,n)=>{t[e]=Math.trunc(n%4294967296),t[e+1]=Math.trunc(n/4294967296)},K3=(t,e,n)=>{t[e]=Math.trunc(n*1e3%4294967296),t[e+1]=Math.trunc(n*1e3/4294967296)},W3=(t,e,n)=>{t[e]=Math.trunc(n*1e6%4294967296),t[e+1]=Math.trunc(n*1e6/4294967296)},oD=(t,e,n,r)=>{if(n+1{const i=t+n;r?e[i>>3]|=1<>3]&=~(1<{t[e]=n},v0=({values:t},e,n)=>{t[e]=n},aD=({values:t},e,n)=>{t[e]=z3(n)},H3=(t,e,n)=>{switch(t.type.precision){case Tn.HALF:return aD(t,e,n);case Tn.SINGLE:case Tn.DOUBLE:return v0(t,e,n)}},uD=({values:t},e,n)=>{V3(t,e,n.valueOf())},lD=({values:t},e,n)=>{y0(t,e*2,n.valueOf())},Q3=({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)},Y3=({values:t,valueOffsets:e},n,r)=>oD(t,e,n,r),G3=({values:t,valueOffsets:e},n,r)=>{oD(t,e,n,f0(r))},J3=(t,e,n)=>{t.type.unit===Hi.DAY?uD(t,e,n):lD(t,e,n)},cD=({values:t},e,n)=>y0(t,e*2,n/1e3),fD=({values:t},e,n)=>y0(t,e*2,n),dD=({values:t},e,n)=>K3(t,e*2,n),hD=({values:t},e,n)=>W3(t,e*2,n),X3=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return cD(t,e,n);case ze.MILLISECOND:return fD(t,e,n);case ze.MICROSECOND:return dD(t,e,n);case ze.NANOSECOND:return hD(t,e,n)}},pD=({values:t},e,n)=>{t[e]=n},mD=({values:t},e,n)=>{t[e]=n},yD=({values:t},e,n)=>{t[e]=n},vD=({values:t},e,n)=>{t[e]=n},Z3=(t,e,n)=>{switch(t.type.unit){case ze.SECOND:return pD(t,e,n);case ze.MILLISECOND:return mD(t,e,n);case ze.MICROSECOND:return yD(t,e,n);case ze.NANOSECOND:return vD(t,e,n)}},e$=({values:t,stride:e},n,r)=>{t.set(r.subarray(0,e),e*n)},t$=(t,e,n)=>{const r=t.children[0],i=t.valueOffsets,s=Sr.getVisitFn(r);if(Array.isArray(n))for(let o=-1,a=i[e],l=i[e+1];a{const r=t.children[0],{valueOffsets:i}=t,s=Sr.getVisitFn(r);let{[e]:o,[e+1]:a}=i;const l=n instanceof Map?n.entries():Object.entries(n);for(const f of l)if(s(r,o,f),++o>=a)break},r$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[s]),i$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(s)),s$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(i.name)),o$=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[i.name]),a$=(t,e,n)=>{const r=t.type.children.map(s=>Sr.getVisitFn(s.type)),i=n instanceof Map?s$(e,n):n instanceof Ke?i$(e,n):Array.isArray(n)?r$(e,n):o$(e,n);t.type.children.forEach((s,o)=>i(r[o],t.children[o],s,o))},u$=(t,e,n)=>{t.type.mode===rr.Dense?gD(t,e,n):wD(t,e,n)},gD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];Sr.visit(i,t.valueOffsets[e],n)},wD=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];Sr.visit(i,e,n)},l$=(t,e,n)=>{var r;(r=t.dictionary)===null||r===void 0||r.set(t.values[e],n)},c$=(t,e,n)=>{t.type.unit===Bs.DAY_TIME?_D(t,e,n):bD(t,e,n)},_D=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},bD=({values:t},e,n)=>{t[e]=n[0]*12+n[1]%12},f$=(t,e,n)=>{const{stride:r}=t,i=t.children[0],s=Sr.getVisitFn(i);if(Array.isArray(n))for(let o=-1,a=e*r;++o`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new d$(this[Dr],this[Ca])}}class d${constructor(e,n){this.childIndex=0,this.children=e.children,this.rowIndex=n,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return en.name)}has(e,n){return e[Dr].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(e,n){if(e[Dr].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[Dr].type.children.findIndex(i=>i.name===n);if(r!==-1){const i=Ln.visit(e[Dr].children[r],e[Ca]);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[Dr].type.children.findIndex(s=>s.name===n);return i!==-1?(Sr.visit(e[Dr].children[i],e[Ca],r),Reflect.set(e,n,r)):Reflect.has(e,n)||typeof n=="symbol"?Reflect.set(e,n,r):!1}}class _e extends Be{}function Oe(t){return(e,n)=>e.getValid(n)?t(e,n):null}const p$=(t,e)=>864e5*t[e],w0=(t,e)=>4294967296*t[e+1]+(t[e]>>>0),m$=(t,e)=>4294967296*(t[e+1]/1e3)+(t[e]>>>0)/1e3,y$=(t,e)=>4294967296*(t[e+1]/1e6)+(t[e]>>>0)/1e6,SD=t=>new Date(t),v$=(t,e)=>SD(p$(t,e)),g$=(t,e)=>SD(w0(t,e)),w$=(t,e)=>null,ID=(t,e,n)=>{if(n+1>=e.length)return null;const r=e[n],i=e[n+1];return t.subarray(r,i)},_$=({offset:t,values:e},n)=>{const r=t+n;return(e[r>>3]&1<v$(t,e),OD=({values:t},e)=>g$(t,e*2),Ys=({stride:t,values:e},n)=>e[t*n],b$=({stride:t,values:e},n)=>sD(e[t*n]),kD=({values:t},e)=>t[e],S$=({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)),I$=({values:t,valueOffsets:e},n)=>ID(t,e,n),E$=({values:t,valueOffsets:e},n)=>{const r=ID(t,e,n);return r!==null?av(r):null},O$=({values:t},e)=>t[e],k$=({type:t,values:e},n)=>t.precision!==Tn.HALF?e[n]:sD(e[n]),D$=(t,e)=>t.type.unit===Hi.DAY?ED(t,e):OD(t,e),DD=({values:t},e)=>1e3*w0(t,e*2),xD=({values:t},e)=>w0(t,e*2),CD=({values:t},e)=>m$(t,e*2),AD=({values:t},e)=>y$(t,e*2),x$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return DD(t,e);case ze.MILLISECOND:return xD(t,e);case ze.MICROSECOND:return CD(t,e);case ze.NANOSECOND:return AD(t,e)}},PD=({values:t},e)=>t[e],RD=({values:t},e)=>t[e],TD=({values:t},e)=>t[e],MD=({values:t},e)=>t[e],C$=(t,e)=>{switch(t.type.unit){case ze.SECOND:return PD(t,e);case ze.MILLISECOND:return RD(t,e);case ze.MICROSECOND:return TD(t,e);case ze.NANOSECOND:return MD(t,e)}},A$=({values:t,stride:e},n)=>m0.decimal(t.subarray(e*n,e*(n+1))),P$=(t,e)=>{const{valueOffsets:n,stride:r,children:i}=t,{[e*r]:s,[e*r+1]:o}=n,l=i[0].slice(s,o-s);return new Ke([l])},R$=(t,e)=>{const{valueOffsets:n,children:r}=t,{[e]:i,[e+1]:s}=n,o=r[0];return new _0(o.slice(i,s-i))},T$=(t,e)=>new g0(t,e),M$=(t,e)=>t.type.mode===rr.Dense?ND(t,e):BD(t,e),ND=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Ln.visit(r,t.valueOffsets[e])},BD=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Ln.visit(r,e)},N$=(t,e)=>{var n;return(n=t.dictionary)===null||n===void 0?void 0:n.get(t.values[e])},B$=(t,e)=>t.type.unit===Bs.DAY_TIME?FD(t,e):LD(t,e),FD=({values:t},e)=>t.subarray(2*e,2*(e+1)),LD=({values:t},e)=>{const n=t[e],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},F$=(t,e)=>{const{stride:n,children:r}=t,s=r[0].slice(e*n,n);return new Ke([s])};_e.prototype.visitNull=Oe(w$);_e.prototype.visitBool=Oe(_$);_e.prototype.visitInt=Oe(O$);_e.prototype.visitInt8=Oe(Ys);_e.prototype.visitInt16=Oe(Ys);_e.prototype.visitInt32=Oe(Ys);_e.prototype.visitInt64=Oe(kD);_e.prototype.visitUint8=Oe(Ys);_e.prototype.visitUint16=Oe(Ys);_e.prototype.visitUint32=Oe(Ys);_e.prototype.visitUint64=Oe(kD);_e.prototype.visitFloat=Oe(k$);_e.prototype.visitFloat16=Oe(b$);_e.prototype.visitFloat32=Oe(Ys);_e.prototype.visitFloat64=Oe(Ys);_e.prototype.visitUtf8=Oe(E$);_e.prototype.visitBinary=Oe(I$);_e.prototype.visitFixedSizeBinary=Oe(S$);_e.prototype.visitDate=Oe(D$);_e.prototype.visitDateDay=Oe(ED);_e.prototype.visitDateMillisecond=Oe(OD);_e.prototype.visitTimestamp=Oe(x$);_e.prototype.visitTimestampSecond=Oe(DD);_e.prototype.visitTimestampMillisecond=Oe(xD);_e.prototype.visitTimestampMicrosecond=Oe(CD);_e.prototype.visitTimestampNanosecond=Oe(AD);_e.prototype.visitTime=Oe(C$);_e.prototype.visitTimeSecond=Oe(PD);_e.prototype.visitTimeMillisecond=Oe(RD);_e.prototype.visitTimeMicrosecond=Oe(TD);_e.prototype.visitTimeNanosecond=Oe(MD);_e.prototype.visitDecimal=Oe(A$);_e.prototype.visitList=Oe(P$);_e.prototype.visitStruct=Oe(T$);_e.prototype.visitUnion=Oe(M$);_e.prototype.visitDenseUnion=Oe(ND);_e.prototype.visitSparseUnion=Oe(BD);_e.prototype.visitDictionary=Oe(N$);_e.prototype.visitInterval=Oe(B$);_e.prototype.visitIntervalDayTime=Oe(FD);_e.prototype.visitIntervalYearMonth=Oe(LD);_e.prototype.visitFixedSizeList=Oe(F$);_e.prototype.visitMap=Oe(R$);const Ln=new _e,ei=Symbol.for("keys"),Aa=Symbol.for("vals");class _0{constructor(e){return this[ei]=new Ke([e.children[0]]).memoize(),this[Aa]=e.children[1],new Proxy(this,new $$)}[Symbol.iterator](){return new L$(this[ei],this[Aa])}get size(){return this[ei].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[ei],n=this[Aa],r={};for(let i=-1,s=e.length;++i`${Nl(e)}: ${Nl(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class L${constructor(e,n){this.keys=e,this.vals=n,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Ln.visit(this.vals,e)]})}}class $${isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[ei].toArray().map(String)}has(e,n){return e[ei].includes(n)}getOwnPropertyDescriptor(e,n){if(e[ei].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];const r=e[ei].indexOf(n);if(r!==-1){const i=Ln.visit(Reflect.get(e,Aa),r);return Reflect.set(e,n,i),i}}set(e,n,r){const i=e[ei].indexOf(n);return i!==-1?(Sr.visit(Reflect.get(e,Aa),i,r),Reflect.set(e,n,r)):Reflect.has(e,n)?Reflect.set(e,n,r):!1}}Object.defineProperties(_0.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[ei]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Aa]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let m1;function $D(t,e,n,r){const{length:i=0}=t;let s=typeof e!="number"?0:e,o=typeof n!="number"?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(t,s,o):[s,o]}const y1=t=>t!==t;function du(t){if(typeof t!=="object"||t===null)return y1(t)?y1:n=>n===t;if(t instanceof Date){const n=t.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(t)?n=>n?R3(t,n):!1:t instanceof Map?U$(t):Array.isArray(t)?j$(t):t instanceof Ke?z$(t):V$(t,!0)}function j$(t){const e=[];for(let n=-1,r=t.length;++n!1;const r=[];for(let i=-1,s=n.length;++i{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return K$(t,n);case Map:return v1(t,n,n.keys());case _0:case g0:case Object:case void 0:return v1(t,n,e||Object.keys(n))}return n instanceof Ke?W$(t,n):!1}}function K$(t,e){const n=t.length;if(e.length!==n)return!1;for(let r=-1;++r>r}function b0(t,e,n){const r=n.byteLength+7&-8;if(t>0||n.byteLength>3):jd(new S0(n,t,e,null,jD)).subarray(0,r)),i}return n}function jd(t){const e=[];let n=0,r=0,i=0;for(const o of t)o&&(i|=1<0)&&(e[n++]=i);const s=new Uint8Array(e.length+7&-8);return s.set(e),s}class S0{constructor(e,n,r,i,s){this.bytes=e,this.length=r,this.context=i,this.get=s,this.bit=n%8,this.byteIndex=n>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=e+(e%8===0?0:8-e%8);return fv(t,e,i)+fv(t,r,n)+H$(t,i>>3,r-i>>3)}function H$(t,e,n){let r=0,i=Math.trunc(e);const s=new DataView(t.buffer,t.byteOffset,t.byteLength),o=n===void 0?t.byteLength:i+n;for(;o-i>=4;)r+=Om(s.getUint32(i)),i+=4;for(;o-i>=2;)r+=Om(s.getUint16(i)),i+=2;for(;o-i>=1;)r+=Om(s.getUint8(i)),i+=1;return r}function Om(t){let e=Math.trunc(t);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const Q$=-1;class at{constructor(e,n,r,i,s,o=[],a){this.type=e,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let l;s instanceof at?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=Si(e),s&&((l=s[0])&&(this.valueOffsets=l),(l=s[1])&&(this.values=l),(l=s[2])&&(this.nullBitmap=l),(l=s[3])&&(this.typeIds=l))),this.nullable=this._nullCount!==0&&this.nullBitmap&&this.nullBitmap.byteLength>0}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get byteLength(){let e=0;const{valueOffsets:n,values:r,nullBitmap:i,typeIds:s}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,e)}get nullCount(){let e=this._nullCount,n;return e<=Q$&&(n=this.nullBitmap)&&(this._nullCount=e=this.length-fv(n,this.offset,this.offset+this.length)),e}getValid(e){if(this.nullable&&this.nullCount>0){const n=this.offset+e;return(this.nullBitmap[n>>3]&1<>3){const{nullBitmap:l}=this._changeLengthAndBackfillNullBitmap(this.length);Object.assign(this,{nullBitmap:l,_nullCount:0})}const{nullBitmap:r,offset:i}=this,s=i+e>>3,o=(i+e)%8,a=r[s]>>o&1;return n?a===0&&(r[s]|=1<>3).fill(255,0,n>>3);i[n>>3]=(1<0&&i.set(b0(this.offset,n,this.nullBitmap),0);const s=this.buffers;return s[bi.VALIDITY]=i,this.clone(this.type,0,e,r+(e-n),s)}_sliceBuffers(e,n,r,i){let s;const{buffers:o}=this;return(s=o[bi.TYPE])&&(o[bi.TYPE]=s.subarray(e,e+n)),(s=o[bi.OFFSET])&&(o[bi.OFFSET]=s.subarray(e,e+n+1))||(s=o[bi.DATA])&&(o[bi.DATA]=i===6?s:s.subarray(r*e,r*(e+n))),o}_sliceChildren(e,n,r){return e.map(i=>i.slice(n,r))}}at.prototype.children=Object.freeze([]);class ol extends Be{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:n,["offset"]:r=0,["length"]:i=0}=e;return new at(n,r,i,0)}visitBool(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length>>3,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitInt(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFloat(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitUtf8(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.data),s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,i,s])}visitFixedSizeBinary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDate(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTimestamp(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitTime(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitDecimal(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitList(e){const{["type"]:n,["offset"]:r=0,["child"]:i}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}visitStruct(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),{length:o=i.reduce((l,{length:f})=>Math.max(l,f),0),nullCount:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],i)}visitUnion(e){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Ue(e.nullBitmap),o=rt(n.ArrayType,e.typeIds),{["length"]:a=o.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;if(we.isSparseUnion(n))return new at(n,r,a,l,[void 0,void 0,s,o],i);const f=Fu(e.valueOffsets);return new at(n,r,a,l,[f,void 0,s,o],i)}visitDictionary(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.indices.ArrayType,e.data),{["dictionary"]:o=new Ke([new ol().visit({type:n.dictionary})])}=e,{["length"]:a=s.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[void 0,s,i],[],o)}visitInterval(e){const{["type"]:n,["offset"]:r=0}=e,i=Ue(e.nullBitmap),s=rt(n.ArrayType,e.data),{["length"]:o=s.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,s,i])}visitFixedSizeList(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.valueType})}=e,s=Ue(e.nullBitmap),{["length"]:o=i.length/Si(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new at(n,r,o,a,[void 0,void 0,s],[i])}visitMap(e){const{["type"]:n,["offset"]:r=0,["child"]:i=new ol().visit({type:n.childType})}=e,s=Ue(e.nullBitmap),o=Fu(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new at(n,r,a,l,[o,void 0,s],[i])}}function Ne(t){return new ol().visit(t)}class g1{constructor(e=0,n){this.numChunks=e,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe+n.nullCount,0)}function zD(t){return t.reduce((e,n,r)=>(e[r+1]=e[r]+n.length,e),new Uint32Array(t.length+1))}function VD(t,e,n,r){const i=[];for(let s=-1,o=t.length;++s=r)break;if(n>=l+f)continue;if(l>=n&&l+f<=r){i.push(a);continue}const h=Math.max(0,n-l),p=Math.min(r-l,f);i.push(a.slice(h,p-h))}return i.length===0&&i.push(t[0].slice(0,0)),i}function I0(t,e,n,r){let i=0,s=0,o=e.length-1;do{if(i>=o-1)return n0?0:-1}function G$(t,e){const{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(const i of new S0(n,t.offset+(e||0),t.length,n,jD)){if(!i)return r;++r}return-1}function Ae(t,e,n){if(e===void 0)return-1;if(e===null)return G$(t,n);const r=Ln.getVisitFn(t),i=du(e);for(let s=(n||0)-1,o=t.length;++s{const i=t.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new g1(t.data.length,r=>{const s=t.data[r].length,o=t.slice(n,n+s);return n+=s,new J$(o)})}class J${constructor(e){this.vector=e,this.index=0}next(){return this.indext+e;class Gs extends Be{visitNull(e,n){return 0}visitInt(e,n){return e.type.bitWidth/8}visitFloat(e,n){return e.type.ArrayType.BYTES_PER_ELEMENT}visitBool(e,n){return 1/8}visitDecimal(e,n){return e.type.bitWidth/8}visitDate(e,n){return(e.type.unit+1)*4}visitTime(e,n){return e.type.bitWidth/8}visitTimestamp(e,n){return e.type.unit===ze.SECOND?4:8}visitInterval(e,n){return(e.type.unit+1)*4}visitStruct(e,n){return e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitFixedSizeBinary(e,n){return e.type.byteWidth}visitMap(e,n){return 8+e.children.reduce((r,i)=>r+di.visit(i,n),0)}visitDictionary(e,n){var r;return e.type.indices.bitWidth/8+(((r=e.dictionary)===null||r===void 0?void 0:r.getByteLength(e.values[n]))||0)}}const Z$=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),ej=({valueOffsets:t},e)=>8+(t[e+1]-t[e]),tj=({valueOffsets:t,stride:e,children:n},r)=>{const i=n[0],{[r*e]:s}=t,{[r*e+1]:o}=t,a=di.getVisitFn(i.type),l=i.slice(s,o-s);let f=8;for(let h=-1,p=o-s;++h{const r=e[0],i=r.slice(n*t,t),s=di.getVisitFn(r.type);let o=0;for(let a=-1,l=i.length;++at.type.mode===rr.Dense?HD(t,e):QD(t,e),HD=({type:t,children:e,typeIds:n,valueOffsets:r},i)=>{const s=t.typeIdToChildIndex[n[i]];return 8+di.visit(e[s],r[i])},QD=({children:t},e)=>4+di.visitMany(t,t.map(()=>e)).reduce(X$,0);Gs.prototype.visitUtf8=Z$;Gs.prototype.visitBinary=ej;Gs.prototype.visitList=tj;Gs.prototype.visitFixedSizeList=nj;Gs.prototype.visitUnion=rj;Gs.prototype.visitDenseUnion=HD;Gs.prototype.visitSparseUnion=QD;const di=new Gs;var YD;const GD={},JD={};class Ke{constructor(e){var n,r,i;const s=e[0]instanceof Ke?e.flatMap(a=>a.data):e;if(s.length===0||s.some(a=>!(a instanceof at)))throw new TypeError("Vector constructor expects an Array of Data instances.");const o=(n=s[0])===null||n===void 0?void 0:n.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{const{get:a,set:l,indexOf:f,byteLength:h}=GD[o.typeId],p=s[0];this.isValid=y=>E0(p,y),this.get=y=>a(p,y),this.set=(y,w)=>l(p,y,w),this.indexOf=y=>f(p,y),this.getByteLength=y=>h(p,y),this._offsets=[0,p.length];break}default:Object.setPrototypeOf(this,JD[o.typeId]),this._offsets=zD(s);break}this.data=s,this.type=o,this.stride=Si(o),this.numChildren=(i=(r=o.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets[this._offsets.length-1]}get byteLength(){return this._byteLength===-1&&(this._byteLength=this.data.reduce((e,n)=>e+n.byteLength,0)),this._byteLength}get nullCount(){return this._nullCount===-1&&(this._nullCount=UD(this.data)),this._nullCount}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${N[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}includes(e,n){return this.indexOf(e,n)>0}getByteLength(e){return 0}[Symbol.iterator](){return O0.visit(this)}concat(...e){return new Ke(this.data.concat(e.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(e,n){return new Ke($D(this,e,n,({data:r,_offsets:i},s,o)=>VD(r,i,s,o)))}toJSON(){return[...this]}toArray(){const{type:e,data:n,length:r,stride:i,ArrayType:s}=this;switch(e.typeId){case N.Int:case N.Float:case N.Decimal:case N.Time:case N.Timestamp:switch(n.length){case 0:return new s;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((o,{values:a,length:l})=>(o.array.set(a.subarray(0,l*i),o.offset),o.offset+=l*i,o),{array:new s(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&en[e])):null}get isMemoized(){return we.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(we.isDictionary(this.type)){const e=new zd(this.data[0].dictionary),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return new zd(this)}unmemoize(){if(we.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{const i=r.clone();return i.dictionary=e,i});return new Ke(n)}return this}}YD=Symbol.toStringTag;Ke[YD]=(t=>{t.type=we.prototype,t.data=[],t.length=0,t.stride=1,t.numChildren=0,t._nullCount=-1,t._byteLength=-1,t._offsets=new Uint32Array([0]),t[Symbol.isConcatSpreadable]=!0;const e=Object.keys(N).map(n=>N[n]).filter(n=>typeof n=="number"&&n!==N.NONE);for(const n of e){const r=Ln.getVisitFnByTypeId(n),i=Sr.getVisitFnByTypeId(n),s=Ud.getVisitFnByTypeId(n),o=di.getVisitFnByTypeId(n);GD[n]={get:r,set:i,indexOf:s,byteLength:o},JD[n]=Object.create(t,{isValid:{value:Pa(E0)},get:{value:Pa(Ln.getVisitFnByTypeId(n))},set:{value:KD(Sr.getVisitFnByTypeId(n))},indexOf:{value:WD(Ud.getVisitFnByTypeId(n))},getByteLength:{value:Pa(di.getVisitFnByTypeId(n))}})}return"Vector"})(Ke.prototype);class zd extends Ke{constructor(e){super(e.data);const n=this.get,r=this.set,i=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){const a=s[o];if(a!==void 0)return a;const l=n.call(this,o);return s[o]=l,l}}),Object.defineProperty(this,"set",{value(o,a){r.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new zd(i.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Ke(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class dv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,n,r,i){return e.prep(8,24),e.writeInt64(i),e.pad(4),e.writeInt32(r),e.writeInt64(n),e.offset()}}const km=2,ti=4,ki=4,st=4,fs=new Int32Array(2),w1=new Float32Array(fs.buffer),_1=new Float64Array(fs.buffer),ff=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;let Ni=class hv{constructor(e,n){this.low=e|0,this.high=n|0}static create(e,n){return e==0&&n==0?hv.ZERO:new hv(e,n)}toFloat64(){return(this.low>>>0)+this.high*4294967296}equals(e){return this.low==e.low&&this.high==e.high}};Ni.ZERO=new Ni(0,0);var pv;(function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"})(pv||(pv={}));let Ya=class XD{constructor(e){this.bytes_=e,this.position_=0}static allocate(e){return new XD(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return new Ni(this.readInt32(e),this.readInt32(e+4))}readUint64(e){return new Ni(this.readUint32(e),this.readUint32(e+4))}readFloat32(e){return fs[0]=this.readInt32(e),w1[0]}readFloat64(e){return fs[ff?0:1]=this.readInt32(e),fs[ff?1:0]=this.readInt32(e+4),_1[0]}writeInt8(e,n){this.bytes_[e]=n}writeUint8(e,n){this.bytes_[e]=n}writeInt16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeUint16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeInt32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeUint32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeInt64(e,n){this.writeInt32(e,n.low),this.writeInt32(e+4,n.high)}writeUint64(e,n){this.writeUint32(e,n.low),this.writeUint32(e+4,n.high)}writeFloat32(e,n){w1[0]=n,this.writeInt32(e,fs[0])}writeFloat64(e,n){_1[0]=n,this.writeInt32(e,fs[ff?0:1]),this.writeInt32(e+4,fs[ff?1:0])}getBufferIdentifier(){if(this.bytes_.length>10)+55296,(o&1024-1)+56320))}return i}__union_with_string(e,n){return typeof e=="string"?this.__string(n):this.__union(e,n)}__indirect(e){return e+this.readInt32(e)}__vector(e){return e+this.readInt32(e)+ti}__vector_len(e){return this.readInt32(e+this.readInt32(e))}__has_identifier(e){if(e.length!=ki)throw new Error("FlatBuffers: file identifier must be length "+ki);for(let n=0;nthis.minalign&&(this.minalign=e);const r=~(this.bb.capacity()-this.space+n)+1&e-1;for(;this.space=0&&this.vtable[n]==0;n--);const r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?e-this.vtable[n]:0);const i=2;this.addInt16(e-this.object_start);const s=(r+i)*km;this.addInt16(s);let o=0;const a=this.space;e:for(n=0;n=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,ti+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,n){this.finish(e,n,!0)}requiredField(e,n){const r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(!(this.bb.readInt16(i+n)!=0))throw new Error("FlatBuffers: field "+n+" must be set")}startVector(e,n,r){this.notNested(),this.vector_num_elems=n,this.prep(ti,e*n),this.prep(r,e*n)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(e){if(!e)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(e))return this.string_maps.get(e);const n=this.createString(e);return this.string_maps.set(e,n),n}createString(e){if(!e)return 0;let n;if(e instanceof Uint8Array)n=e;else{n=[];let r=0;for(;r=56320)i=s;else{const o=e.charCodeAt(r++);i=(s<<10)+o+(65536-56623104-56320)}i<128?n.push(i):(i<2048?n.push(i>>6&31|192):(i<65536?n.push(i>>12&15|224):n.push(i>>18&7|240,i>>12&63|128),n.push(i>>6&63|128)),n.push(i&63|128))}}this.addInt8(0),this.startVector(1,n.length,1),this.bb.setPosition(this.space-=n.length);for(let r=0,i=this.space,s=this.bb.bytes();r=0;r--)e.addInt32(n[r]);return e.endVector()}static startTypeIdsVector(e,n){e.startVector(4,n,4)}static endUnion(e){return e.endObject()}static createUnion(e,n,r){return Dn.startUnion(e),Dn.addMode(e,n),Dn.addTypeIds(e,r),Dn.endUnion(e)}}class Io{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsUtf8(e,n){return(n||new Io).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,n){return e.setPosition(e.position()+st),(n||new Io).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return Io.startUtf8(e),Io.endUtf8(e)}}var _t;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.FloatingPoint=3]="FloatingPoint",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct_=13]="Struct_",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.LargeList=21]="LargeList"})(_t||(_t={}));let fr=class Ff{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsField(e,n){return(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,n){return e.setPosition(e.position()+st),(n||new Ff).__init(e.readInt32(e.position())+e.position(),e)}name(e){const n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):_t.NONE}type(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(e,this.bb_pos+n):null}dictionary(e){const n=this.bb.__offset(this.bb_pos,12);return n?(e||new Di).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(e,n){const r=this.bb.__offset(this.bb_pos,14);return r?(n||new Ff).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,16);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,n){e.addFieldOffset(0,n,0)}static addNullable(e,n){e.addFieldInt8(1,+n,0)}static addTypeType(e,n){e.addFieldInt8(2,n,_t.NONE)}static addType(e,n){e.addFieldOffset(3,n,0)}static addDictionary(e,n){e.addFieldOffset(4,n,0)}static addChildren(e,n){e.addFieldOffset(5,n,0)}static createChildrenVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startChildrenVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(6,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endField(e){return e.endObject()}},Yr=class wi{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsSchema(e,n){return(n||new wi).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,n){return e.setPosition(e.position()+st),(n||new wi).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ja.Little}fields(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new fr).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+e*8):this.bb.createLong(0,0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,n){e.addFieldInt16(0,n,Ja.Little)}static addFields(e,n){e.addFieldOffset(1,n,0)}static createFieldsVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startFieldsVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(2,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static addFeatures(e,n){e.addFieldOffset(3,n,0)}static createFeaturesVector(e,n){e.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)e.addInt64(n[r]);return e.endVector()}static startFeaturesVector(e,n){e.startVector(8,n,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,n){e.finish(n)}static finishSizePrefixedSchemaBuffer(e,n){e.finish(n,void 0,!0)}static createSchema(e,n,r,i,s){return wi.startSchema(e),wi.addEndianness(e,n),wi.addFields(e,r),wi.addCustomMetadata(e,i),wi.addFeatures(e,s),wi.endSchema(e)}};class qn{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsFooter(e,n){return(n||new qn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,n){return e.setPosition(e.position()+st),(n||new qn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ga.V1}schema(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Yr).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new dv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,n){const r=this.bb.__offset(this.bb_pos,10);return r?(n||new dv).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ga.V1)}static addSchema(e,n){e.addFieldOffset(1,n,0)}static addDictionaries(e,n){e.addFieldOffset(2,n,0)}static startDictionariesVector(e,n){e.startVector(24,n,8)}static addRecordBatches(e,n){e.addFieldOffset(3,n,0)}static startRecordBatchesVector(e,n){e.startVector(24,n,8)}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,n){e.finish(n)}static finishSizePrefixedFooterBuffer(e,n){e.finish(n,void 0,!0)}}class We{constructor(e=[],n,r){this.fields=e||[],this.metadata=n||new Map,r||(r=mv(e)),this.dictionaries=r}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,n)=>`${n}: ${e}`).join(", ")} }>`}select(e){const n=new Set(e),r=this.fields.filter(i=>n.has(i.name));return new We(r,this.metadata)}selectAt(e){const n=e.map(r=>this.fields[r]).filter(Boolean);return new We(n,this.metadata)}assign(...e){const n=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),r=[...this.fields],i=df(df(new Map,this.metadata),n.metadata),s=n.fields.filter(a=>{const l=r.findIndex(f=>f.name===a.name);return~l?(r[l]=a.clone({metadata:df(df(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),o=mv(s,new Map);return new We([...r,...s],i,new Map([...this.dictionaries,...o]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class yt{constructor(e,n,r=!1,i){this.name=e,this.type=n,this.nullable=r,this.metadata=i||new Map}static new(...e){let[n,r,i,s]=e;return e[0]&&typeof e[0]=="object"&&({name:n}=e[0],r===void 0&&(r=e[0].type),i===void 0&&(i=e[0].nullable),s===void 0&&(s=e[0].metadata)),new yt(`${n}`,r,i,s)}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[n,r,i,s]=e;return!e[0]||typeof e[0]!="object"?[n=this.name,r=this.type,i=this.nullable,s=this.metadata]=e:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:s=this.metadata}=e[0],yt.new(n,r,i,s)}}yt.prototype.type=null;yt.prototype.name=null;yt.prototype.nullable=null;yt.prototype.metadata=null;function df(t,e){return new Map([...t||new Map,...e||new Map])}function mv(t,e=new Map){for(let n=-1,r=t.length;++n0&&mv(s.children,e)}return e}var b1=Ni,ij=ZD,sj=Ya;class jl{constructor(e,n=Gn.V4,r,i){this.schema=e,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}static decode(e){e=new sj(Ue(e));const n=qn.getRootAsFooter(e),r=We.decode(n.schema());return new oj(r,n)}static encode(e){const n=new ij,r=We.encode(n,e.schema);qn.startRecordBatchesVector(n,e.numRecordBatches);for(const o of[...e.recordBatches()].slice().reverse())$s.encode(n,o);const i=n.endVector();qn.startDictionariesVector(n,e.numDictionaries);for(const o of[...e.dictionaryBatches()].slice().reverse())$s.encode(n,o);const s=n.endVector();return qn.startFooter(n),qn.addSchema(n,r),qn.addVersion(n,Gn.V4),qn.addRecordBatches(n,i),qn.addDictionaries(n,s),qn.finishFooterBuffer(n,qn.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}*recordBatches(){for(let e,n=-1,r=this.numRecordBatches;++n=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(St);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return dr.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return dr.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return ve(this,void 0,void 0,function*(){return yield this.abort(e),St})}return(e){return ve(this,void 0,void 0,function*(){return yield this.close(),St})}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(St)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class Lf extends aj{write(e){if((e=Ue(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?av(this.toUint8Array(!0)):this.toUint8Array(!1).then(av)}toUint8Array(e=!1){return e?fi(this._values)[0]:(()=>ve(this,void 0,void 0,function*(){var n,r;const i=[];let s=0;try{for(var o=Ds(this),a;a=yield o.next(),!a.done;){const l=a.value;i.push(l),s+=l.byteLength}}catch(l){n={error:l}}finally{try{a&&!a.done&&(r=o.return)&&(yield r.call(o))}finally{if(n)throw n.error}}return fi(i,s)[0]}))()}}class Qd{constructor(e){e&&(this.source=new uj(dr.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Za{constructor(e){e instanceof Za?this.source=e.source:e instanceof Lf?this.source=new lo(dr.fromAsyncIterable(e)):Bk(e)?this.source=new lo(dr.fromNodeStream(e)):d0(e)?this.source=new lo(dr.fromDOMStream(e)):Nk(e)?this.source=new lo(dr.fromDOMStream(e.body)):uc(e)?this.source=new lo(dr.fromIterable(e)):Ns(e)?this.source=new lo(dr.fromAsyncIterable(e)):fu(e)&&(this.source=new lo(dr.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class uj{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,n="read"){return this.source.next({cmd:n,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||St)}return(e){return Object.create(this.source.return&&this.source.return(e)||St)}}class lo{constructor(e){this.source=e,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(e){return ve(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return ve(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e,n="read"){return ve(this,void 0,void 0,function*(){return yield this.source.next({cmd:n,size:e})})}throw(e){return ve(this,void 0,void 0,function*(){const n=this.source.throw&&(yield this.source.throw(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(e){return ve(this,void 0,void 0,function*(){const n=this.source.return&&(yield this.source.return(e))||St;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}}class I1 extends Qd{constructor(e,n){super(),this.position=0,this.buffer=Ue(e),this.size=typeof n>"u"?this.buffer.byteLength:n}readInt32(e){const{buffer:n,byteOffset:r}=this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),eve(this,void 0,void 0,function*(){this.size=(yield e.stat()).size,delete this._pending}))()}readInt32(e){return ve(this,void 0,void 0,function*(){const{buffer:n,byteOffset:r}=yield this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)})}seek(e){return ve(this,void 0,void 0,function*(){return this._pending&&(yield this._pending),this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let i=n[3]*r[3];this.buffer[0]=i&65535;let s=i>>>16;return i=n[2]*r[3],s+=i,i=n[3]*r[2]>>>0,s+=i,this.buffer[0]+=s<<16,this.buffer[1]=s>>>0>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(e){const n=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],n>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(e){return this.buffer[1]>>0,n[2]=this.buffer[2]+e.buffer[2]>>>0,n[1]=this.buffer[1]+e.buffer[1]>>>0,n[0]=this.buffer[0]+e.buffer[0]>>>0,n[0]>>0&&++n[1],n[1]>>0&&++n[2],n[2]>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${_a(this.buffer[3])} ${_a(this.buffer[2])} ${_a(this.buffer[1])} ${_a(this.buffer[0])}`}static multiply(e,n){return new Gr(new Uint32Array(e.buffer)).times(n)}static add(e,n){return new Gr(new Uint32Array(e.buffer)).plus(n)}static from(e,n=new Uint32Array(4)){return Gr.fromString(typeof e=="string"?e:e.toString(),n)}static fromNumber(e,n=new Uint32Array(4)){return Gr.fromString(e.toString(),n)}static fromString(e,n=new Uint32Array(4)){const r=e.startsWith("-"),i=e.length,s=new Gr(n);for(let o=r?1:0;o0&&this.readData(e,r)||new Uint8Array(0)}readOffsets(e,n){return this.readData(e,n)}readTypeIds(e,n){return this.readData(e,n)}readData(e,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(e){return this.dictionaries.get(e.id)}}class cj extends nx{constructor(e,n,r,i){super(new Uint8Array(0),n,r,i),this.sources=e}readNullBitmap(e,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):jd(this.sources[r])}readOffsets(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(Int32Array,this.sources[n]))}readTypeIds(e,{offset:n}=this.nextBufferRange()){return rt(Uint8Array,rt(e.ArrayType,this.sources[n]))}readData(e,{offset:n}=this.nextBufferRange()){const{sources:r}=this;return we.isTimestamp(e)||(we.isInt(e)||we.isTime(e))&&e.bitWidth===64||we.isDate(e)&&e.unit===Hi.MILLISECOND?rt(Uint8Array,En.convertArray(r[n])):we.isDecimal(e)?rt(Uint8Array,Gr.convertArray(r[n])):we.isBinary(e)||we.isFixedSizeBinary(e)?fj(r[n]):we.isBool(e)?jd(r[n]):we.isUtf8(e)?f0(r[n].join("")):rt(Uint8Array,rt(e.ArrayType,r[n].map(i=>+i)))}}function fj(t){const e=t.join(""),n=new Uint8Array(e.length/2);for(let r=0;r>1]=Number.parseInt(e.slice(r,r+2),16);return n}class Ie extends Be{compareSchemas(e,n){return e===n||n instanceof e.constructor&&this.compareManyFields(e.fields,n.fields)}compareManyFields(e,n){return e===n||Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((r,i)=>this.compareFields(r,n[i]))}compareFields(e,n){return e===n||n instanceof e.constructor&&e.name===n.name&&e.nullable===n.nullable&&this.visit(e.type,n.type)}}function zn(t,e){return e instanceof t.constructor}function lc(t,e){return t===e||zn(t,e)}function Ji(t,e){return t===e||zn(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function Uh(t,e){return t===e||zn(t,e)&&t.precision===e.precision}function dj(t,e){return t===e||zn(t,e)&&t.byteWidth===e.byteWidth}function x0(t,e){return t===e||zn(t,e)&&t.unit===e.unit}function cc(t,e){return t===e||zn(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function fc(t,e){return t===e||zn(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function hj(t,e){return t===e||zn(t,e)&&t.children.length===e.children.length&&js.compareManyFields(t.children,e.children)}function pj(t,e){return t===e||zn(t,e)&&t.children.length===e.children.length&&js.compareManyFields(t.children,e.children)}function C0(t,e){return t===e||zn(t,e)&&t.mode===e.mode&&t.typeIds.every((n,r)=>n===e.typeIds[r])&&js.compareManyFields(t.children,e.children)}function mj(t,e){return t===e||zn(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&js.visit(t.indices,e.indices)&&js.visit(t.dictionary,e.dictionary)}function A0(t,e){return t===e||zn(t,e)&&t.unit===e.unit}function yj(t,e){return t===e||zn(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&js.compareManyFields(t.children,e.children)}function vj(t,e){return t===e||zn(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&js.compareManyFields(t.children,e.children)}Ie.prototype.visitNull=lc;Ie.prototype.visitBool=lc;Ie.prototype.visitInt=Ji;Ie.prototype.visitInt8=Ji;Ie.prototype.visitInt16=Ji;Ie.prototype.visitInt32=Ji;Ie.prototype.visitInt64=Ji;Ie.prototype.visitUint8=Ji;Ie.prototype.visitUint16=Ji;Ie.prototype.visitUint32=Ji;Ie.prototype.visitUint64=Ji;Ie.prototype.visitFloat=Uh;Ie.prototype.visitFloat16=Uh;Ie.prototype.visitFloat32=Uh;Ie.prototype.visitFloat64=Uh;Ie.prototype.visitUtf8=lc;Ie.prototype.visitBinary=lc;Ie.prototype.visitFixedSizeBinary=dj;Ie.prototype.visitDate=x0;Ie.prototype.visitDateDay=x0;Ie.prototype.visitDateMillisecond=x0;Ie.prototype.visitTimestamp=cc;Ie.prototype.visitTimestampSecond=cc;Ie.prototype.visitTimestampMillisecond=cc;Ie.prototype.visitTimestampMicrosecond=cc;Ie.prototype.visitTimestampNanosecond=cc;Ie.prototype.visitTime=fc;Ie.prototype.visitTimeSecond=fc;Ie.prototype.visitTimeMillisecond=fc;Ie.prototype.visitTimeMicrosecond=fc;Ie.prototype.visitTimeNanosecond=fc;Ie.prototype.visitDecimal=lc;Ie.prototype.visitList=hj;Ie.prototype.visitStruct=pj;Ie.prototype.visitUnion=C0;Ie.prototype.visitDenseUnion=C0;Ie.prototype.visitSparseUnion=C0;Ie.prototype.visitDictionary=mj;Ie.prototype.visitInterval=A0;Ie.prototype.visitIntervalDayTime=A0;Ie.prototype.visitIntervalYearMonth=A0;Ie.prototype.visitFixedSizeList=yj;Ie.prototype.visitMap=vj;const js=new Ie;function yv(t,e){return js.compareSchemas(t,e)}function Dm(t,e){return gj(t,e.map(n=>n.data.concat()))}function gj(t,e){const n=[...t.fields],r=[],i={numBatches:e.reduce((p,y)=>Math.max(p,y.length),0)};let s=0,o=0,a=-1;const l=e.length;let f,h=[];for(;i.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a0&&(r[s++]=Ne({type:new vn(n),length:o,nullCount:0,children:h.slice()})))}return[t=t.assign(n),r.map(p=>new xn(t,p))]}function wj(t,e,n,r,i){var s;const o=(e+63&-64)>>3;for(let a=-1,l=r.length;++a=e)h===e?n[a]=f:(n[a]=f.slice(0,e),i.numBatches=Math.max(i.numBatches,r[a].unshift(f.slice(e,h-e))));else{const p=t[a];t[a]=p.clone({nullable:!0}),n[a]=(s=f==null?void 0:f._changeLengthAndBackfillNullBitmap(e))!==null&&s!==void 0?s:Ne({type:p.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)})}}return n}var rx;class mn{constructor(...e){var n,r;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let i,s;e[0]instanceof We&&(i=e.shift()),e[e.length-1]instanceof Uint32Array&&(s=e.pop());const o=l=>{if(l){if(l instanceof xn)return[l];if(l instanceof mn)return l.batches;if(l instanceof at){if(l.type instanceof vn)return[new xn(new We(l.type.children),l)]}else{if(Array.isArray(l))return l.flatMap(f=>o(f));if(typeof l[Symbol.iterator]=="function")return[...l].flatMap(f=>o(f));if(typeof l=="object"){const f=Object.keys(l),h=f.map(w=>new Ke([l[w]])),p=new We(f.map((w,I)=>new yt(String(w),h[I].type))),[,y]=Dm(p,h);return y.length===0?[new xn(l)]:y}}}return[]},a=e.flatMap(l=>o(l));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new We([]),!(i instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const l of a){if(!(l instanceof xn))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!yv(i,l.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=s??zD(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,n)=>e+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=UD(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}set(e,n){}indexOf(e,n){return-1}getByteLength(e){return 0}[Symbol.iterator](){return this.batches.length>0?O0.visit(new Ke(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ ${this.toArray().join(`, `)} -]`}concat(...e){const n=this.schema,r=this.data.concat(e.flatMap(({data:i})=>i));return new hn(n,r.map(i=>new En(n,i)))}slice(e,n){const r=this.schema;[e,n]=LD({length:this.numRows},e,n);const i=zD(this.data,this._offsets,e,n);return new hn(r,i.map(s=>new En(r,s)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===e))}getChildAt(e){if(e>-1&&er.children[e]);if(n.length===0){const{type:r}=this.schema.fields[e],i=Ne({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new Ke(n)}return null}setChild(e,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===e),n)}setChildAt(e,n){let r=this.schema,i=[...this.batches];if(e>-1&&ethis.getChildAt(f));[s[e],a[e]]=[o,n],[r,i]=Dm(r,a)}return new hn(r,i)}select(e){const n=this.schema.fields.reduce((r,i,s)=>r.set(i.name,s),new Map);return this.selectAt(e.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(e){const n=this.schema.selectAt(e),r=this.batches.map(i=>i.selectAt(e));return new hn(n,r)}assign(e){const n=this.schema.fields,[r,i]=e.schema.fields.reduce((a,l,f)=>{const[h,m]=a,y=n.findIndex(w=>w.name===l.name);return~y?m[y]=f:h.push(f),a},[[],[]]),s=this.schema.assign(e.schema),o=[...n.map((a,l)=>[l,i[l]]).map(([a,l])=>l===void 0?this.getChildAt(a):e.getChildAt(l)),...r.map(a=>e.getChildAt(a))].filter(Boolean);return new hn(...Dm(s,o))}}nx=Symbol.toStringTag;hn[nx]=(t=>(t.schema=null,t.batches=[],t._offsets=new Uint32Array([0]),t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,t.isValid=Ra(I0),t.get=Ra(Bn.getVisitFn(N.Struct)),t.set=VD(_r.getVisitFn(N.Struct)),t.indexOf=KD(Ud.getVisitFn(N.Struct)),t.getByteLength=Ra(di.getVisitFn(N.Struct)),"Table"))(hn.prototype);var rx;let En=class Vu{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Ne({nullCount:0,type:new pn(this.schema.fields),children:this.schema.fields.map(n=>Ne({type:n.type,nullCount:0}))})]=e,!(this.data instanceof at))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=E1(this.schema,this.data.children);break}case 1:{const[n]=e,{fields:r,children:i,length:s}=Object.keys(n).reduce((l,f,h)=>(l.children[h]=n[f],l.length=Math.max(l.length,n[f].length),l.fields[h]=yt.new({name:f,type:n[f].type,nullable:!0}),l),{length:0,fields:new Array,children:new Array}),o=new We(r),a=Ne({type:new pn(r),length:s,children:i,nullCount:0});[this.schema,this.data]=E1(o,a.children,s);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=ix(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Bn.visit(this.data,e)}set(e,n){return _r.visit(this.data,e,n)}indexOf(e,n){return Ud.visit(this.data,e,n)}getByteLength(e){return di.visit(this.data,e)}[Symbol.iterator](){return E0.visit(new Ke([this.data]))}toArray(){return[...this]}concat(...e){return new hn(this.schema,[this,...e])}slice(e,n){const[r]=new Ke([this.data]).slice(e,n).data;return new Vu(this.schema,r)}getChild(e){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&ei.name===e),n)}setChildAt(e,n){let r=this.schema,i=this.data;if(e>-1&&ea.name===s);~o&&(i[o]=this.data.children[o])}return new Vu(n,Ne({type:r,length:this.numRows,children:i}))}selectAt(e){const n=this.schema.selectAt(e),r=e.map(s=>this.data.children[s]).filter(Boolean),i=Ne({type:new pn(n.fields),length:this.numRows,children:r});return new Vu(n,i)}};rx=Symbol.toStringTag;En[rx]=(t=>(t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(En.prototype);function E1(t,e,n=e.reduce((r,i)=>Math.max(r,i.length),0)){var r;const i=[...t.fields],s=[...e],o=(n+63&-64)>>3;for(const[a,l]of t.fields.entries()){const f=e[a];(!f||f.length!==n)&&(i[a]=l.clone({nullable:!0}),s[a]=(r=f==null?void 0:f._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Ne({type:l.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[t.assign(i),Ne({type:new pn(i),length:n,children:s})]}function ix(t,e,n=new Map){for(let r=-1,i=t.length;++r0&&ix(o.children,a.children,n)}return n}class A0 extends En{constructor(e){const n=e.fields.map(i=>Ne({type:i.type})),r=Ne({type:new pn(e.fields),nullCount:0,children:n});super(e,r)}}var Gd;(function(t){t[t.BUFFER=0]="BUFFER"})(Gd||(Gd={}));var Jd;(function(t){t[t.LZ4_FRAME=0]="LZ4_FRAME",t[t.ZSTD=1]="ZSTD"})(Jd||(Jd={}));class ds{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsBodyCompression(e,n){return(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBodyCompression(e,n){return e.setPosition(e.position()+st),(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}codec(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt8(this.bb_pos+e):Jd.LZ4_FRAME}method(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt8(this.bb_pos+e):Gd.BUFFER}static startBodyCompression(e){e.startObject(2)}static addCodec(e,n){e.addFieldInt8(0,n,Jd.LZ4_FRAME)}static addMethod(e,n){e.addFieldInt8(1,n,Gd.BUFFER)}static endBodyCompression(e){return e.endObject()}static createBodyCompression(e,n,r){return ds.startBodyCompression(e),ds.addCodec(e,n),ds.addMethod(e,r),ds.endBodyCompression(e)}}class sx{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}}let ox=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}},Ii=class yv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsRecordBatch(e,n){return(n||new yv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsRecordBatch(e,n){return e.setPosition(e.position()+st),(n||new yv).__init(e.readInt32(e.position())+e.position(),e)}length(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}nodes(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new ox).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}nodesLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}buffers(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new sx).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}buffersLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}compression(e){const n=this.bb.__offset(this.bb_pos,10);return n?(e||new ds).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startRecordBatch(e){e.startObject(4)}static addLength(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addNodes(e,n){e.addFieldOffset(1,n,0)}static startNodesVector(e,n){e.startVector(16,n,8)}static addBuffers(e,n){e.addFieldOffset(2,n,0)}static startBuffersVector(e,n){e.startVector(16,n,8)}static addCompression(e,n){e.addFieldOffset(3,n,0)}static endRecordBatch(e){return e.endObject()}},ua=class vv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsDictionaryBatch(e,n){return(n||new vv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsDictionaryBatch(e,n){return e.setPosition(e.position()+st),(n||new vv).__init(e.readInt32(e.position())+e.position(),e)}id(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}data(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Ii).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isDelta(){const e=this.bb.__offset(this.bb_pos,8);return e?!!this.bb.readInt8(this.bb_pos+e):!1}static startDictionaryBatch(e){e.startObject(3)}static addId(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addData(e,n){e.addFieldOffset(1,n,0)}static addIsDelta(e,n){e.addFieldInt8(2,+n,0)}static endDictionaryBatch(e){return e.endObject()}};var Xd;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Xd||(Xd={}));let as=class Wr{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsMessage(e,n){return(n||new Wr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,n){return e.setPosition(e.position()+st),(n||new Wr).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ja.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Xd.NONE}header(e){const n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(e,this.bb_pos+n):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ja.V1)}static addHeaderType(e,n){e.addFieldInt8(1,n,Xd.NONE)}static addHeader(e,n){e.addFieldOffset(2,n,0)}static addBodyLength(e,n){e.addFieldInt64(3,n,e.createLong(0,0))}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,n){e.finish(n)}static finishSizePrefixedMessageBuffer(e,n){e.finish(n,void 0,!0)}static createMessage(e,n,r,i,s,o){return Wr.startMessage(e),Wr.addVersion(e,n),Wr.addHeaderType(e,r),Wr.addHeader(e,i),Wr.addBodyLength(e,s),Wr.addCustomMetadata(e,o),Wr.endMessage(e)}};var gj=Ni;class wj extends Be{visit(e,n){return e==null||n==null?void 0:super.visit(e,n)}visitNull(e,n){return wo.startNull(n),wo.endNull(n)}visitInt(e,n){return Hn.startInt(n),Hn.addBitWidth(n,e.bitWidth),Hn.addIsSigned(n,e.isSigned),Hn.endInt(n)}visitFloat(e,n){return ri.startFloatingPoint(n),ri.addPrecision(n,e.precision),ri.endFloatingPoint(n)}visitBinary(e,n){return yo.startBinary(n),yo.endBinary(n)}visitBool(e,n){return vo.startBool(n),vo.endBool(n)}visitUtf8(e,n){return bo.startUtf8(n),bo.endUtf8(n)}visitDecimal(e,n){return bn.startDecimal(n),bn.addScale(n,e.scale),bn.addPrecision(n,e.precision),bn.addBitWidth(n,e.bitWidth),bn.endDecimal(n)}visitDate(e,n){return Nf.startDate(n),Nf.addUnit(n,e.unit),Nf.endDate(n)}visitTime(e,n){return pr.startTime(n),pr.addUnit(n,e.unit),pr.addBitWidth(n,e.bitWidth),pr.endTime(n)}visitTimestamp(e,n){const r=e.timezone&&n.createString(e.timezone)||void 0;return mr.startTimestamp(n),mr.addUnit(n,e.unit),r!==void 0&&mr.addTimezone(n,r),mr.endTimestamp(n)}visitInterval(e,n){return ii.startInterval(n),ii.addUnit(n,e.unit),ii.endInterval(n)}visitList(e,n){return go.startList(n),go.endList(n)}visitStruct(e,n){return _o.startStruct_(n),_o.endStruct_(n)}visitUnion(e,n){In.startTypeIdsVector(n,e.typeIds.length);const r=In.createTypeIdsVector(n,e.typeIds);return In.startUnion(n),In.addMode(n,e.mode),In.addTypeIds(n,r),In.endUnion(n)}visitDictionary(e,n){const r=this.visit(e.indices,n);return Di.startDictionaryEncoding(n),Di.addId(n,new gj(e.id,0)),Di.addIsOrdered(n,e.isOrdered),r!==void 0&&Di.addIndexType(n,r),Di.endDictionaryEncoding(n)}visitFixedSizeBinary(e,n){return ti.startFixedSizeBinary(n),ti.addByteWidth(n,e.byteWidth),ti.endFixedSizeBinary(n)}visitFixedSizeList(e,n){return ni.startFixedSizeList(n),ni.addListSize(n,e.listSize),ni.endFixedSizeList(n)}visitMap(e,n){return Bf.startMap(n),Bf.addKeysSorted(n,e.keysSorted),Bf.endMap(n)}}const xm=new wj;function _j(t,e=new Map){return new We(Sj(t,e),$f(t.customMetadata),e)}function ax(t){return new nr(t.count,ux(t.columns),lx(t.columns))}function bj(t){return new hi(ax(t.data),t.id,t.isDelta)}function Sj(t,e){return(t.fields||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function O1(t,e){return(t.children||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function ux(t){return(t||[]).reduce((e,n)=>[...e,new qo(n.count,Ij(n.VALIDITY)),...ux(n.children)],[])}function lx(t,e=[]){for(let n=-1,r=(t||[]).length;++ne+ +(n===0),0)}function Ej(t,e){let n,r,i,s,o,a;return!e||!(s=t.dictionary)?(o=D1(t,O1(t,e)),i=new yt(t.name,o,t.nullable,$f(t.customMetadata))):e.has(n=s.id)?(r=(r=s.indexType)?k1(r):new Fl,a=new Ya(e.get(n),r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))):(r=(r=s.indexType)?k1(r):new Fl,e.set(n,o=D1(t,O1(t,e))),a=new Ya(o,r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))),i||null}function $f(t){return new Map(Object.entries(t||{}))}function k1(t){return new Fs(t.isSigned,t.bitWidth)}function D1(t,e){const n=t.type.name;switch(n){case"NONE":return new Bs;case"null":return new Bs;case"binary":return new xd;case"utf8":return new Cd;case"bool":return new Ad;case"list":return new Nd((e||[])[0]);case"struct":return new pn(e||[]);case"struct_":return new pn(e||[])}switch(n){case"int":{const r=t.type;return new Fs(r.isSigned,r.bitWidth)}case"floatingpoint":{const r=t.type;return new Ll(An[r.precision])}case"decimal":{const r=t.type;return new Pd(r.scale,r.precision,r.bitWidth)}case"date":{const r=t.type;return new Rd(Hi[r.unit])}case"time":{const r=t.type;return new $l(ze[r.unit],r.bitWidth)}case"timestamp":{const r=t.type;return new Td(ze[r.unit],r.timezone)}case"interval":{const r=t.type;return new Md(Ns[r.unit])}case"union":{const r=t.type;return new Bd(tr[r.mode],r.typeIds||[],e||[])}case"fixedsizebinary":{const r=t.type;return new Fd(r.byteWidth)}case"fixedsizelist":{const r=t.type;return new Ld(r.listSize,(e||[])[0])}case"map":{const r=t.type;return new $d((e||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var Uo=Ni,Oj=XD,kj=Ga;class mn{constructor(e,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=typeof e=="number"?e:e.low}static fromJSON(e,n){const r=new mn(0,Yn.V4,n);return r._createHeader=Dj(e,n),r}static decode(e){e=new kj(Ue(e));const n=as.getRootAsMessage(e),r=n.bodyLength(),i=n.version(),s=n.headerType(),o=new mn(r,i,s);return o._createHeader=xj(n,s),o}static encode(e){const n=new Oj;let r=-1;return e.isSchema()?r=We.encode(n,e.header()):e.isRecordBatch()?r=nr.encode(n,e.header()):e.isDictionaryBatch()&&(r=hi.encode(n,e.header())),as.startMessage(n),as.addVersion(n,Yn.V4),as.addHeader(n,r),as.addHeaderType(n,e.headerType),as.addBodyLength(n,new Uo(e.bodyLength,0)),as.finishMessageBuffer(n,as.endMessage(n)),n.asUint8Array()}static from(e,n=0){if(e instanceof We)return new mn(0,Yn.V4,Ve.Schema,e);if(e instanceof nr)return new mn(n,Yn.V4,Ve.RecordBatch,e);if(e instanceof hi)return new mn(n,Yn.V4,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}}class nr{constructor(e,n,r){this._nodes=n,this._buffers=r,this._length=typeof e=="number"?e:e.low}get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}}class hi{constructor(e,n,r=!1){this._data=e,this._isDelta=r,this._id=typeof n=="number"?n:n.low}get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}}class oi{constructor(e,n){this.offset=typeof e=="number"?e:e.low,this.length=typeof n=="number"?n:n.low}}class qo{constructor(e,n){this.length=typeof e=="number"?e:e.low,this.nullCount=typeof n=="number"?n:n.low}}function Dj(t,e){return()=>{switch(e){case Ve.Schema:return We.fromJSON(t);case Ve.RecordBatch:return nr.fromJSON(t);case Ve.DictionaryBatch:return hi.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}function xj(t,e){return()=>{switch(e){case Ve.Schema:return We.decode(t.header(new Hr));case Ve.RecordBatch:return nr.decode(t.header(new Ii),t.version());case Ve.DictionaryBatch:return hi.decode(t.header(new ua),t.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}yt.encode=$j;yt.decode=Fj;yt.fromJSON=Ej;We.encode=Lj;We.decode=Cj;We.fromJSON=_j;nr.encode=jj;nr.decode=Aj;nr.fromJSON=ax;hi.encode=Uj;hi.decode=Pj;hi.fromJSON=bj;qo.encode=zj;qo.decode=Tj;oi.encode=Vj;oi.decode=Rj;function Cj(t,e=new Map){const n=Bj(t,e);return new We(n,jf(t),e)}function Aj(t,e=Yn.V4){if(t.compression()!==null)throw new Error("Record batch compression not implemented");return new nr(t.length(),Mj(t),Nj(t,e))}function Pj(t,e=Yn.V4){return new hi(nr.decode(t.data(),e),t.id(),t.isDelta())}function Rj(t){return new oi(t.offset(),t.length())}function Tj(t){return new qo(t.length(),t.nullCount())}function Mj(t){const e=[];for(let n,r=-1,i=-1,s=t.nodesLength();++ryt.encode(t,s));Hr.startFieldsVector(t,n.length);const r=Hr.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?Hr.createCustomMetadataVector(t,[...e.metadata].map(([s,o])=>{const a=t.createString(`${s}`),l=t.createString(`${o}`);return zt.startKeyValue(t),zt.addKey(t,a),zt.addValue(t,l),zt.endKeyValue(t)})):-1;return Hr.startSchema(t),Hr.addFields(t,r),Hr.addEndianness(t,Kj?Xa.Little:Xa.Big),i!==-1&&Hr.addCustomMetadata(t,i),Hr.endSchema(t)}function $j(t,e){let n=-1,r=-1,i=-1;const s=e.type;let o=e.typeId;we.isDictionary(s)?(o=s.dictionary.typeId,i=xm.visit(s,t),r=xm.visit(s.dictionary,t)):r=xm.visit(s,t);const a=(s.children||[]).map(h=>yt.encode(t,h)),l=cr.createChildrenVector(t,a),f=e.metadata&&e.metadata.size>0?cr.createCustomMetadataVector(t,[...e.metadata].map(([h,m])=>{const y=t.createString(`${h}`),w=t.createString(`${m}`);return zt.startKeyValue(t),zt.addKey(t,y),zt.addValue(t,w),zt.endKeyValue(t)})):-1;return e.name&&(n=t.createString(e.name)),cr.startField(t),cr.addType(t,r),cr.addTypeType(t,o),cr.addChildren(t,l),cr.addNullable(t,!!e.nullable),n!==-1&&cr.addName(t,n),i!==-1&&cr.addDictionary(t,i),f!==-1&&cr.addCustomMetadata(t,f),cr.endField(t)}function jj(t,e){const n=e.nodes||[],r=e.buffers||[];Ii.startNodesVector(t,n.length);for(const o of n.slice().reverse())qo.encode(t,o);const i=t.endVector();Ii.startBuffersVector(t,r.length);for(const o of r.slice().reverse())oi.encode(t,o);const s=t.endVector();return Ii.startRecordBatch(t),Ii.addLength(t,new Uo(e.length,0)),Ii.addNodes(t,i),Ii.addBuffers(t,s),Ii.endRecordBatch(t)}function Uj(t,e){const n=nr.encode(t,e.data);return ua.startDictionaryBatch(t),ua.addId(t,new Uo(e.id,0)),ua.addIsDelta(t,e.isDelta),ua.addData(t,n),ua.endDictionaryBatch(t)}function zj(t,e){return ox.createFieldNode(t,new Uo(e.length,0),new Uo(e.nullCount,0))}function Vj(t,e){return sx.createBuffer(t,new Uo(e.offset,0),new Uo(e.length,0))}const Kj=(()=>{const t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),new Int16Array(t)[0]===256})(),P0=t=>`Expected ${Ve[t]} Message in stream, but was null or length 0.`,R0=t=>`Header pointer of flatbuffer-encoded ${Ve[t]} Message is null or length 0.`,cx=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,fx=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`;class dx{constructor(e){this.source=e instanceof Qd?e:new Qd(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?St:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(P0(e));return n.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const n=Ue(this.source.read(e));if(n.byteLength[...i,...s.VALIDITY&&[s.VALIDITY]||[],...s.TYPE&&[s.TYPE]||[],...s.OFFSET&&[s.OFFSET]||[],...s.DATA&&[s.DATA]||[],...n(s.children)],[])}}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(P0(e));return n.value}readSchema(){const e=Ve.Schema,n=this.readMessage(e),r=n==null?void 0:n.header();if(!n||!r)throw new Error(R0(e));return r}}const zh=4,gv="ARROW1",Ul=new Uint8Array(gv.length);for(let t=0;tthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return fr.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return fr.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof Bi?e:av(e)?Jj(e):Tk(e)?e4(e):Ms(e)?(()=>ve(this,void 0,void 0,function*(){return yield Bi.from(yield e)}))():Mk(e)||f0(e)||Nk(e)||fu(e)?Zj(new eu(e)):Xj(new Qd(e))}static readAll(e){return e instanceof Bi?e.isSync()?P1(e):R1(e):av(e)||ArrayBuffer.isView(e)||uc(e)||Rk(e)?P1(e):R1(e)}}class Zd extends Bi{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Dr(this,arguments,function*(){yield ge(yield*Df(Ds(this[Symbol.iterator]())))})}}class eh extends Bi{constructor(e){super(e),this._impl=e}readAll(){var e,n;return ve(this,void 0,void 0,function*(){const r=new Array;try{for(var i=Ds(this),s;s=yield i.next(),!s.done;){const o=s.value;r.push(o)}}catch(o){e={error:o}}finally{try{s&&!s.done&&(n=i.return)&&(yield n.call(i))}finally{if(e)throw e.error}}return r})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class px extends Zd{constructor(e){super(e),this._impl=e}}class Qj extends eh{constructor(e){super(e),this._impl=e}}class mx{constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,n){const r=this._loadVectors(e,n,this.schema.fields),i=Ne({type:new pn(this.schema.fields),length:e.length,children:r});return new En(this.schema,i)}_loadDictionaryBatch(e,n){const{id:r,isDelta:i}=e,{dictionaries:s,schema:o}=this,a=s.get(r);if(i||!a){const l=o.dictionaries.get(r),f=this._loadVectors(e.data,n,[l]);return(a&&i?a.concat(new Ke(f)):new Ke(f)).memoize()}return a.memoize()}_loadVectors(e,n,r){return new tx(n,e.nodes,e.buffers,this.dictionaries).visitMany(r)}}class th extends mx{constructor(e,n){super(n),this._reader=av(e)?new qj(this._handle=e):new dx(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=vx(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):St}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):St}next(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new A0(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class nh extends mx{constructor(e,n){super(n),this._reader=new Wj(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return ve(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return ve(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=vx(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):St})}return(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):St})}next(){return ve(this,void 0,void 0,function*(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new A0(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class yx extends th{constructor(e,n){super(e instanceof I1?e:new I1(e),n)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var n;if(this.closed)return null;this._footer||this.open();const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null}_readDictionaryBatch(e){var n;const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}}_readFooter(){const{_handle:e}=this,n=e.size-hx,r=e.readInt32(n),i=e.readAt(n-r,r);return jl.decode(i)}_readNextMessageAndValidate(e){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return ve(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,e)})}readRecordBatch(e){var n;return ve(this,void 0,void 0,function*(){if(this.closed)return null;this._footer||(yield this.open());const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null})}_readDictionaryBatch(e){var n;return ve(this,void 0,void 0,function*(){const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}})}_readFooter(){return ve(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const n=e.size-hx,r=yield e.readInt32(n),i=yield e.readAt(n-r,r);return jl.decode(i)})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?T0(e)?new px(new yx(t.read())):new Zd(new th(t)):new Zd(new th(function*(){}()))}function Zj(t){return ve(this,void 0,void 0,function*(){const e=yield t.peek(dc+7&-8);return e&&e.byteLength>=4?T0(e)?new px(new yx(yield t.read())):new eh(new nh(t)):new eh(new nh(function(){return Dr(this,arguments,function*(){})}()))})}function e4(t){return ve(this,void 0,void 0,function*(){const{size:e}=yield t.stat(),n=new Yd(t,e);return e>=Hj&&T0(yield n.readAt(0,dc+7&-8))?new Qj(new Yj(n)):new eh(new nh(n))})}class $t extends Be{constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}static assemble(...e){const n=i=>i.flatMap(s=>Array.isArray(s)?n(s):s instanceof En?s.data.children:s.data),r=new $t;return r.visitMany(n(e)),r}visit(e){if(e instanceof Ke)return this.visitMany(e.data),this;const{type:n}=e;if(!we.isDictionary(n)){const{length:r,nullCount:i}=e;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");we.isNull(n)||Pr.call(this,i<=0?new Uint8Array(0):_0(e.offset,r,e.nullBitmap)),this.nodes.push(new qo(r,i))}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}}function Pr(t){const e=t.byteLength+7&-8;return this.buffers.push(t),this.bufferRegions.push(new oi(this._byteLength,e)),this._byteLength+=e,this}function t4(t){const{type:e,length:n,typeIds:r,valueOffsets:i}=t;if(Pr.call(this,r),e.mode===tr.Sparse)return wv.call(this,t);if(e.mode===tr.Dense){if(t.offset<=0)return Pr.call(this,i),wv.call(this,t);{const s=r.reduce((h,m)=>Math.max(h,m),r[0]),o=new Int32Array(s+1),a=new Int32Array(s+1).fill(-1),l=new Int32Array(n),f=h0(-i[0],n,i);for(let h,m,y=-1;++y=t.length?Pr.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?Pr.call(this,_0(t.offset,t.length,e)):Pr.call(this,jd(t.values))}function Ys(t){return Pr.call(this,t.values.subarray(0,t.length*t.stride))}function gx(t){const{length:e,values:n,valueOffsets:r}=t,i=r[0],s=r[e],o=Math.min(s-i,n.byteLength-i);return Pr.call(this,h0(-r[0],e,r)),Pr.call(this,n.subarray(i,i+o)),this}function M0(t){const{length:e,valueOffsets:n}=t;return n&&Pr.call(this,h0(n[0],e,n)),this.visit(t.children[0])}function wv(t){return this.visitMany(t.type.children.map((e,n)=>t.children[n]).filter(Boolean))[0]}$t.prototype.visitBool=n4;$t.prototype.visitInt=Ys;$t.prototype.visitFloat=Ys;$t.prototype.visitUtf8=gx;$t.prototype.visitBinary=gx;$t.prototype.visitFixedSizeBinary=Ys;$t.prototype.visitDate=Ys;$t.prototype.visitTimestamp=Ys;$t.prototype.visitTime=Ys;$t.prototype.visitDecimal=Ys;$t.prototype.visitList=M0;$t.prototype.visitStruct=wv;$t.prototype.visitUnion=t4;$t.prototype.visitInterval=Ys;$t.prototype.visitFixedSizeList=M0;$t.prototype.visitMap=M0;class wx extends O0{constructor(e){super(),this._position=0,this._started=!1,this._sink=new Lf,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Nn(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof e.autoDestroy=="boolean"?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat=="boolean"?e.writeLegacyIpcFormat:!1}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Ms(e)?e.then(n=>this.writeAll(n)):fu(e)?L0(this,e):F0(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,n=null){return e===this._sink||e instanceof Lf?this._sink=e:(this._sink=new Lf,e&&I3(e)?this.toDOMStream({type:"bytes"}).pipeTo(e):e&&E3(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!n||!mv(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(e){let n=null;if(this._sink){if(e==null)return this.finish()&&void 0;if(e instanceof hn&&!(n=e.schema))return this.finish()&&void 0;if(e instanceof En&&!(n=e.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!mv(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}e instanceof En?e instanceof A0||this._writeRecordBatch(e):e instanceof hn?this.writeAll(e.batches):uc(e)&&this.writeAll(e)}_writeMessage(e,n=8){const r=n-1,i=mn.encode(e),s=i.byteLength,o=this._writeLegacyIpcFormat?4:8,a=s+o+r&~r,l=a-s-o;return e.headerType===Ve.RecordBatch?this._recordBatchBlocks.push(new Ls(a,e.bodyLength,this._position)):e.headerType===Ve.DictionaryBatch&&this._dictionaryBlocks.push(new Ls(a,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),s>0&&this._write(i),this._writePadding(l)}_write(e){if(this._started){const n=Ue(e);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(e){return this._writeMessage(mn.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Ul)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){const{byteLength:n,nodes:r,bufferRegions:i,buffers:s}=$t.assemble(e),o=new nr(e.numRows,r,i),a=mn.from(o,n);return this._writeDictionaries(e)._writeMessage(a)._writeBodyBuffers(s)}_writeDictionaryBatch(e,n,r=!1){this._dictionaryDeltaOffsets.set(n,e.length+(this._dictionaryDeltaOffsets.get(n)||0));const{byteLength:i,nodes:s,bufferRegions:o,buffers:a}=$t.assemble(new Ke([e])),l=new nr(e.length,s,o),f=new hi(l,n,r),h=mn.from(f,i);return this._writeMessage(h)._writeBodyBuffers(a)}_writeBodyBuffers(e){let n,r,i;for(let s=-1,o=e.length;++s0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(e){for(let[n,r]of e.dictionaries){let i=this._dictionaryDeltaOffsets.get(n)||0;if(i===0||(r=r==null?void 0:r.slice(i)).length>0)for(const s of r.data)this._writeDictionaryBatch(s,n,i>0),i+=s.length}return this}}class N0 extends wx{static writeAll(e,n){const r=new N0(n);return Ms(e)?e.then(i=>r.writeAll(i)):fu(e)?L0(r,e):F0(r,e)}}class B0 extends wx{static writeAll(e){const n=new B0;return Ms(e)?e.then(r=>n.writeAll(r)):fu(e)?L0(n,e):F0(n,e)}constructor(){super(),this._autoDestroy=!0}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeFooter(e){const n=jl.encode(new jl(e,Yn.V4,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}}function F0(t,e){let n=e;e instanceof hn&&(n=e.batches,t.reset(void 0,e.schema));for(const r of n)t.write(r);return t.finish()}function L0(t,e){var n,r,i,s;return ve(this,void 0,void 0,function*(){try{for(n=Ds(e);r=yield n.next(),!r.done;){const o=r.value;t.write(o)}}catch(o){i={error:o}}finally{try{r&&!r.done&&(s=n.return)&&(yield s.call(n))}finally{if(i)throw i.error}}return t.finish()})}function Ku(t){const e=Bi.from(t);return Ms(e)?e.then(n=>Ku(n)):e.isAsync()?e.readAll().then(n=>new hn(n)):new hn(e.readAll())}function Cm(t,e="stream"){return(e==="stream"?N0:B0).writeAll(t).toUint8Array(!0)}var T1=function(){function t(e,n,r,i){var s=this;this.getCell=function(o,a){var l=o=s.headerRows&&a=s.headerColumns;if(l){var m=["blank"];return a>0&&m.push("level"+o),{type:"blank",classNames:m.join(" "),content:""}}else if(h){var y=a-s.headerColumns,m=["col_heading","level"+o,"col"+y];return{type:"columns",classNames:m.join(" "),content:s.getContent(s.columnsTable,y,o)}}else if(f){var w=o-s.headerRows,m=["row_heading","level"+a,"row"+w];return{type:"index",id:"T_".concat(s.uuid,"level").concat(a,"_row").concat(w),classNames:m.join(" "),content:s.getContent(s.indexTable,w,a)}}else{var w=o-s.headerRows,y=a-s.headerColumns,m=["data","row"+w,"col"+y],I=s.styler?s.getContent(s.styler.displayValuesTable,w,y):s.getContent(s.dataTable,w,y);return{type:"data",id:"T_".concat(s.uuid,"row").concat(w,"_col").concat(y),classNames:m.join(" "),content:I}}},this.getContent=function(o,a,l){var f=o.getChildAt(l);if(f===null)return"";var h=s.getColumnTypeId(o,l);switch(h){case N.Timestamp:return s.nanosToDate(f.get(a));default:return f.get(a)}},this.dataTable=Ku(e),this.indexTable=Ku(n),this.columnsTable=Ku(r),this.styler=i?{caption:i.caption,displayValuesTable:Ku(i.displayValues),styles:i.styles,uuid:i.uuid}:void 0}return Object.defineProperty(t.prototype,"rows",{get:function(){return this.indexTable.numRows+this.columnsTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this.indexTable.numCols+this.columnsTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerRows",{get:function(){return this.rows-this.dataRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerColumns",{get:function(){return this.columns-this.dataColumns},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataRows",{get:function(){return this.dataTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumns",{get:function(){return this.dataTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"uuid",{get:function(){return this.styler&&this.styler.uuid},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"caption",{get:function(){return this.styler&&this.styler.caption},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"styles",{get:function(){return this.styler&&this.styler.styles},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"table",{get:function(){return this.dataTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"index",{get:function(){return this.indexTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columnTable",{get:function(){return this.columnsTable},enumerable:!1,configurable:!0}),t.prototype.serialize=function(){return{data:Cm(this.dataTable),index:Cm(this.indexTable),columns:Cm(this.columnsTable)}},t.prototype.getColumnTypeId=function(e,n){return e.schema.fields[n].type.typeId},t.prototype.nanosToDate=function(e){return new Date(e/1e6)},t}(),al=function(){return al=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0?t.argsDataframeToObject(e.dfs):{};n=al(al({},n),r);var i=!!e.disabled,s=e.theme;s&&r4(s);var o={disabled:i,args:n,theme:s},a=new CustomEvent(t.RENDER_EVENT,{detail:o});t.events.dispatchEvent(a)},t.argsDataframeToObject=function(e){var n=e.map(function(r){var i=r.key,s=r.value;return[i,t.toArrowTable(s)]});return Object.fromEntries(n)},t.toArrowTable=function(e){var n,r=(n=e.data,n.data),i=n.index,s=n.columns,o=n.styler;return new T1(r,i,s,o)},t.sendBackMsg=function(e,n){window.parent.postMessage(al({isStreamlitMessage:!0,type:e},n),"*")},t}(),r4=function(t){var e=document.createElement("style");document.head.appendChild(e),e.innerHTML=` +]`}concat(...e){const n=this.schema,r=this.data.concat(e.flatMap(({data:i})=>i));return new mn(n,r.map(i=>new xn(n,i)))}slice(e,n){const r=this.schema;[e,n]=$D({length:this.numRows},e,n);const i=VD(this.data,this._offsets,e,n);return new mn(r,i.map(s=>new xn(r,s)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===e))}getChildAt(e){if(e>-1&&er.children[e]);if(n.length===0){const{type:r}=this.schema.fields[e],i=Ne({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new Ke(n)}return null}setChild(e,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===e),n)}setChildAt(e,n){let r=this.schema,i=[...this.batches];if(e>-1&&ethis.getChildAt(f));[s[e],a[e]]=[o,n],[r,i]=Dm(r,a)}return new mn(r,i)}select(e){const n=this.schema.fields.reduce((r,i,s)=>r.set(i.name,s),new Map);return this.selectAt(e.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(e){const n=this.schema.selectAt(e),r=this.batches.map(i=>i.selectAt(e));return new mn(n,r)}assign(e){const n=this.schema.fields,[r,i]=e.schema.fields.reduce((a,l,f)=>{const[h,p]=a,y=n.findIndex(w=>w.name===l.name);return~y?p[y]=f:h.push(f),a},[[],[]]),s=this.schema.assign(e.schema),o=[...n.map((a,l)=>[l,i[l]]).map(([a,l])=>l===void 0?this.getChildAt(a):e.getChildAt(l)),...r.map(a=>e.getChildAt(a))].filter(Boolean);return new mn(...Dm(s,o))}}rx=Symbol.toStringTag;mn[rx]=(t=>(t.schema=null,t.batches=[],t._offsets=new Uint32Array([0]),t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,t.isValid=Pa(E0),t.get=Pa(Ln.getVisitFn(N.Struct)),t.set=KD(Sr.getVisitFn(N.Struct)),t.indexOf=WD(Ud.getVisitFn(N.Struct)),t.getByteLength=Pa(di.getVisitFn(N.Struct)),"Table"))(mn.prototype);var ix;let xn=class Vu{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Ne({nullCount:0,type:new vn(this.schema.fields),children:this.schema.fields.map(n=>Ne({type:n.type,nullCount:0}))})]=e,!(this.data instanceof at))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=E1(this.schema,this.data.children);break}case 1:{const[n]=e,{fields:r,children:i,length:s}=Object.keys(n).reduce((l,f,h)=>(l.children[h]=n[f],l.length=Math.max(l.length,n[f].length),l.fields[h]=yt.new({name:f,type:n[f].type,nullable:!0}),l),{length:0,fields:new Array,children:new Array}),o=new We(r),a=Ne({type:new vn(r),length:s,children:i,nullCount:0});[this.schema,this.data]=E1(o,a.children,s);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=sx(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Ln.visit(this.data,e)}set(e,n){return Sr.visit(this.data,e,n)}indexOf(e,n){return Ud.visit(this.data,e,n)}getByteLength(e){return di.visit(this.data,e)}[Symbol.iterator](){return O0.visit(new Ke([this.data]))}toArray(){return[...this]}concat(...e){return new mn(this.schema,[this,...e])}slice(e,n){const[r]=new Ke([this.data]).slice(e,n).data;return new Vu(this.schema,r)}getChild(e){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&ei.name===e),n)}setChildAt(e,n){let r=this.schema,i=this.data;if(e>-1&&ea.name===s);~o&&(i[o]=this.data.children[o])}return new Vu(n,Ne({type:r,length:this.numRows,children:i}))}selectAt(e){const n=this.schema.selectAt(e),r=e.map(s=>this.data.children[s]).filter(Boolean),i=Ne({type:new vn(n.fields),length:this.numRows,children:r});return new Vu(n,i)}};ix=Symbol.toStringTag;xn[ix]=(t=>(t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(xn.prototype);function E1(t,e,n=e.reduce((r,i)=>Math.max(r,i.length),0)){var r;const i=[...t.fields],s=[...e],o=(n+63&-64)>>3;for(const[a,l]of t.fields.entries()){const f=e[a];(!f||f.length!==n)&&(i[a]=l.clone({nullable:!0}),s[a]=(r=f==null?void 0:f._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Ne({type:l.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[t.assign(i),Ne({type:new vn(i),length:n,children:s})]}function sx(t,e,n=new Map){for(let r=-1,i=t.length;++r0&&sx(o.children,a.children,n)}return n}class P0 extends xn{constructor(e){const n=e.fields.map(i=>Ne({type:i.type})),r=Ne({type:new vn(e.fields),nullCount:0,children:n});super(e,r)}}var Gd;(function(t){t[t.BUFFER=0]="BUFFER"})(Gd||(Gd={}));var Jd;(function(t){t[t.LZ4_FRAME=0]="LZ4_FRAME",t[t.ZSTD=1]="ZSTD"})(Jd||(Jd={}));class ds{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsBodyCompression(e,n){return(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBodyCompression(e,n){return e.setPosition(e.position()+st),(n||new ds).__init(e.readInt32(e.position())+e.position(),e)}codec(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt8(this.bb_pos+e):Jd.LZ4_FRAME}method(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt8(this.bb_pos+e):Gd.BUFFER}static startBodyCompression(e){e.startObject(2)}static addCodec(e,n){e.addFieldInt8(0,n,Jd.LZ4_FRAME)}static addMethod(e,n){e.addFieldInt8(1,n,Gd.BUFFER)}static endBodyCompression(e){return e.endObject()}static createBodyCompression(e,n,r){return ds.startBodyCompression(e),ds.addCodec(e,n),ds.addMethod(e,r),ds.endBodyCompression(e)}}class ox{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}}let ax=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(e,n,r){return e.prep(8,16),e.writeInt64(r),e.writeInt64(n),e.offset()}},Ii=class vv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsRecordBatch(e,n){return(n||new vv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsRecordBatch(e,n){return e.setPosition(e.position()+st),(n||new vv).__init(e.readInt32(e.position())+e.position(),e)}length(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}nodes(e,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new ax).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}nodesLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}buffers(e,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new ox).__init(this.bb.__vector(this.bb_pos+r)+e*16,this.bb):null}buffersLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}compression(e){const n=this.bb.__offset(this.bb_pos,10);return n?(e||new ds).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startRecordBatch(e){e.startObject(4)}static addLength(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addNodes(e,n){e.addFieldOffset(1,n,0)}static startNodesVector(e,n){e.startVector(16,n,8)}static addBuffers(e,n){e.addFieldOffset(2,n,0)}static startBuffersVector(e,n){e.startVector(16,n,8)}static addCompression(e,n){e.addFieldOffset(3,n,0)}static endRecordBatch(e){return e.endObject()}},aa=class gv{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsDictionaryBatch(e,n){return(n||new gv).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsDictionaryBatch(e,n){return e.setPosition(e.position()+st),(n||new gv).__init(e.readInt32(e.position())+e.position(),e)}id(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}data(e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Ii).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isDelta(){const e=this.bb.__offset(this.bb_pos,8);return e?!!this.bb.readInt8(this.bb_pos+e):!1}static startDictionaryBatch(e){e.startObject(3)}static addId(e,n){e.addFieldInt64(0,n,e.createLong(0,0))}static addData(e,n){e.addFieldOffset(1,n,0)}static addIsDelta(e,n){e.addFieldInt8(2,+n,0)}static endDictionaryBatch(e){return e.endObject()}};var Xd;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(Xd||(Xd={}));let as=class Hr{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsMessage(e,n){return(n||new Hr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,n){return e.setPosition(e.position()+st),(n||new Hr).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ga.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Xd.NONE}header(e){const n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(e,this.bb_pos+n):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):this.bb.createLong(0,0)}customMetadata(e,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,Ga.V1)}static addHeaderType(e,n){e.addFieldInt8(1,n,Xd.NONE)}static addHeader(e,n){e.addFieldOffset(2,n,0)}static addBodyLength(e,n){e.addFieldInt64(3,n,e.createLong(0,0))}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,n){e.finish(n)}static finishSizePrefixedMessageBuffer(e,n){e.finish(n,void 0,!0)}static createMessage(e,n,r,i,s,o){return Hr.startMessage(e),Hr.addVersion(e,n),Hr.addHeaderType(e,r),Hr.addHeader(e,i),Hr.addBodyLength(e,s),Hr.addCustomMetadata(e,o),Hr.endMessage(e)}};var _j=Ni;class bj extends Be{visit(e,n){return e==null||n==null?void 0:super.visit(e,n)}visitNull(e,n){return bo.startNull(n),bo.endNull(n)}visitInt(e,n){return Qn.startInt(n),Qn.addBitWidth(n,e.bitWidth),Qn.addIsSigned(n,e.isSigned),Qn.endInt(n)}visitFloat(e,n){return ii.startFloatingPoint(n),ii.addPrecision(n,e.precision),ii.endFloatingPoint(n)}visitBinary(e,n){return go.startBinary(n),go.endBinary(n)}visitBool(e,n){return wo.startBool(n),wo.endBool(n)}visitUtf8(e,n){return Io.startUtf8(n),Io.endUtf8(n)}visitDecimal(e,n){return On.startDecimal(n),On.addScale(n,e.scale),On.addPrecision(n,e.precision),On.addBitWidth(n,e.bitWidth),On.endDecimal(n)}visitDate(e,n){return Nf.startDate(n),Nf.addUnit(n,e.unit),Nf.endDate(n)}visitTime(e,n){return mr.startTime(n),mr.addUnit(n,e.unit),mr.addBitWidth(n,e.bitWidth),mr.endTime(n)}visitTimestamp(e,n){const r=e.timezone&&n.createString(e.timezone)||void 0;return yr.startTimestamp(n),yr.addUnit(n,e.unit),r!==void 0&&yr.addTimezone(n,r),yr.endTimestamp(n)}visitInterval(e,n){return si.startInterval(n),si.addUnit(n,e.unit),si.endInterval(n)}visitList(e,n){return _o.startList(n),_o.endList(n)}visitStruct(e,n){return So.startStruct_(n),So.endStruct_(n)}visitUnion(e,n){Dn.startTypeIdsVector(n,e.typeIds.length);const r=Dn.createTypeIdsVector(n,e.typeIds);return Dn.startUnion(n),Dn.addMode(n,e.mode),Dn.addTypeIds(n,r),Dn.endUnion(n)}visitDictionary(e,n){const r=this.visit(e.indices,n);return Di.startDictionaryEncoding(n),Di.addId(n,new _j(e.id,0)),Di.addIsOrdered(n,e.isOrdered),r!==void 0&&Di.addIndexType(n,r),Di.endDictionaryEncoding(n)}visitFixedSizeBinary(e,n){return ni.startFixedSizeBinary(n),ni.addByteWidth(n,e.byteWidth),ni.endFixedSizeBinary(n)}visitFixedSizeList(e,n){return ri.startFixedSizeList(n),ri.addListSize(n,e.listSize),ri.endFixedSizeList(n)}visitMap(e,n){return Bf.startMap(n),Bf.addKeysSorted(n,e.keysSorted),Bf.endMap(n)}}const xm=new bj;function Sj(t,e=new Map){return new We(Ej(t,e),$f(t.customMetadata),e)}function ux(t){return new ir(t.count,lx(t.columns),cx(t.columns))}function Ij(t){return new hi(ux(t.data),t.id,t.isDelta)}function Ej(t,e){return(t.fields||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function O1(t,e){return(t.children||[]).filter(Boolean).map(n=>yt.fromJSON(n,e))}function lx(t){return(t||[]).reduce((e,n)=>[...e,new Wo(n.count,Oj(n.VALIDITY)),...lx(n.children)],[])}function cx(t,e=[]){for(let n=-1,r=(t||[]).length;++ne+ +(n===0),0)}function kj(t,e){let n,r,i,s,o,a;return!e||!(s=t.dictionary)?(o=D1(t,O1(t,e)),i=new yt(t.name,o,t.nullable,$f(t.customMetadata))):e.has(n=s.id)?(r=(r=s.indexType)?k1(r):new Fl,a=new Qa(e.get(n),r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))):(r=(r=s.indexType)?k1(r):new Fl,e.set(n,o=D1(t,O1(t,e))),a=new Qa(o,r,n,s.isOrdered),i=new yt(t.name,a,t.nullable,$f(t.customMetadata))),i||null}function $f(t){return new Map(Object.entries(t||{}))}function k1(t){return new Ls(t.isSigned,t.bitWidth)}function D1(t,e){const n=t.type.name;switch(n){case"NONE":return new Fs;case"null":return new Fs;case"binary":return new xd;case"utf8":return new Cd;case"bool":return new Ad;case"list":return new Nd((e||[])[0]);case"struct":return new vn(e||[]);case"struct_":return new vn(e||[])}switch(n){case"int":{const r=t.type;return new Ls(r.isSigned,r.bitWidth)}case"floatingpoint":{const r=t.type;return new Ll(Tn[r.precision])}case"decimal":{const r=t.type;return new Pd(r.scale,r.precision,r.bitWidth)}case"date":{const r=t.type;return new Rd(Hi[r.unit])}case"time":{const r=t.type;return new $l(ze[r.unit],r.bitWidth)}case"timestamp":{const r=t.type;return new Td(ze[r.unit],r.timezone)}case"interval":{const r=t.type;return new Md(Bs[r.unit])}case"union":{const r=t.type;return new Bd(rr[r.mode],r.typeIds||[],e||[])}case"fixedsizebinary":{const r=t.type;return new Fd(r.byteWidth)}case"fixedsizelist":{const r=t.type;return new Ld(r.listSize,(e||[])[0])}case"map":{const r=t.type;return new $d((e||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var Uo=Ni,Dj=ZD,xj=Ya;class gn{constructor(e,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=typeof e=="number"?e:e.low}static fromJSON(e,n){const r=new gn(0,Gn.V4,n);return r._createHeader=Cj(e,n),r}static decode(e){e=new xj(Ue(e));const n=as.getRootAsMessage(e),r=n.bodyLength(),i=n.version(),s=n.headerType(),o=new gn(r,i,s);return o._createHeader=Aj(n,s),o}static encode(e){const n=new Dj;let r=-1;return e.isSchema()?r=We.encode(n,e.header()):e.isRecordBatch()?r=ir.encode(n,e.header()):e.isDictionaryBatch()&&(r=hi.encode(n,e.header())),as.startMessage(n),as.addVersion(n,Gn.V4),as.addHeader(n,r),as.addHeaderType(n,e.headerType),as.addBodyLength(n,new Uo(e.bodyLength,0)),as.finishMessageBuffer(n,as.endMessage(n)),n.asUint8Array()}static from(e,n=0){if(e instanceof We)return new gn(0,Gn.V4,Ve.Schema,e);if(e instanceof ir)return new gn(n,Gn.V4,Ve.RecordBatch,e);if(e instanceof hi)return new gn(n,Gn.V4,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}}class ir{constructor(e,n,r){this._nodes=n,this._buffers=r,this._length=typeof e=="number"?e:e.low}get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}}class hi{constructor(e,n,r=!1){this._data=e,this._isDelta=r,this._id=typeof n=="number"?n:n.low}get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}}class ai{constructor(e,n){this.offset=typeof e=="number"?e:e.low,this.length=typeof n=="number"?n:n.low}}class Wo{constructor(e,n){this.length=typeof e=="number"?e:e.low,this.nullCount=typeof n=="number"?n:n.low}}function Cj(t,e){return()=>{switch(e){case Ve.Schema:return We.fromJSON(t);case Ve.RecordBatch:return ir.fromJSON(t);case Ve.DictionaryBatch:return hi.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}function Aj(t,e){return()=>{switch(e){case Ve.Schema:return We.decode(t.header(new Yr));case Ve.RecordBatch:return ir.decode(t.header(new Ii),t.version());case Ve.DictionaryBatch:return hi.decode(t.header(new aa),t.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)}}yt.encode=Uj;yt.decode=$j;yt.fromJSON=kj;We.encode=jj;We.decode=Pj;We.fromJSON=Sj;ir.encode=zj;ir.decode=Rj;ir.fromJSON=ux;hi.encode=Vj;hi.decode=Tj;hi.fromJSON=Ij;Wo.encode=Kj;Wo.decode=Nj;ai.encode=Wj;ai.decode=Mj;function Pj(t,e=new Map){const n=Lj(t,e);return new We(n,jf(t),e)}function Rj(t,e=Gn.V4){if(t.compression()!==null)throw new Error("Record batch compression not implemented");return new ir(t.length(),Bj(t),Fj(t,e))}function Tj(t,e=Gn.V4){return new hi(ir.decode(t.data(),e),t.id(),t.isDelta())}function Mj(t){return new ai(t.offset(),t.length())}function Nj(t){return new Wo(t.length(),t.nullCount())}function Bj(t){const e=[];for(let n,r=-1,i=-1,s=t.nodesLength();++ryt.encode(t,s));Yr.startFieldsVector(t,n.length);const r=Yr.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?Yr.createCustomMetadataVector(t,[...e.metadata].map(([s,o])=>{const a=t.createString(`${s}`),l=t.createString(`${o}`);return zt.startKeyValue(t),zt.addKey(t,a),zt.addValue(t,l),zt.endKeyValue(t)})):-1;return Yr.startSchema(t),Yr.addFields(t,r),Yr.addEndianness(t,qj?Ja.Little:Ja.Big),i!==-1&&Yr.addCustomMetadata(t,i),Yr.endSchema(t)}function Uj(t,e){let n=-1,r=-1,i=-1;const s=e.type;let o=e.typeId;we.isDictionary(s)?(o=s.dictionary.typeId,i=xm.visit(s,t),r=xm.visit(s.dictionary,t)):r=xm.visit(s,t);const a=(s.children||[]).map(h=>yt.encode(t,h)),l=fr.createChildrenVector(t,a),f=e.metadata&&e.metadata.size>0?fr.createCustomMetadataVector(t,[...e.metadata].map(([h,p])=>{const y=t.createString(`${h}`),w=t.createString(`${p}`);return zt.startKeyValue(t),zt.addKey(t,y),zt.addValue(t,w),zt.endKeyValue(t)})):-1;return e.name&&(n=t.createString(e.name)),fr.startField(t),fr.addType(t,r),fr.addTypeType(t,o),fr.addChildren(t,l),fr.addNullable(t,!!e.nullable),n!==-1&&fr.addName(t,n),i!==-1&&fr.addDictionary(t,i),f!==-1&&fr.addCustomMetadata(t,f),fr.endField(t)}function zj(t,e){const n=e.nodes||[],r=e.buffers||[];Ii.startNodesVector(t,n.length);for(const o of n.slice().reverse())Wo.encode(t,o);const i=t.endVector();Ii.startBuffersVector(t,r.length);for(const o of r.slice().reverse())ai.encode(t,o);const s=t.endVector();return Ii.startRecordBatch(t),Ii.addLength(t,new Uo(e.length,0)),Ii.addNodes(t,i),Ii.addBuffers(t,s),Ii.endRecordBatch(t)}function Vj(t,e){const n=ir.encode(t,e.data);return aa.startDictionaryBatch(t),aa.addId(t,new Uo(e.id,0)),aa.addIsDelta(t,e.isDelta),aa.addData(t,n),aa.endDictionaryBatch(t)}function Kj(t,e){return ax.createFieldNode(t,new Uo(e.length,0),new Uo(e.nullCount,0))}function Wj(t,e){return ox.createBuffer(t,new Uo(e.offset,0),new Uo(e.length,0))}const qj=(()=>{const t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),new Int16Array(t)[0]===256})(),R0=t=>`Expected ${Ve[t]} Message in stream, but was null or length 0.`,T0=t=>`Header pointer of flatbuffer-encoded ${Ve[t]} Message is null or length 0.`,fx=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,dx=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`;class hx{constructor(e){this.source=e instanceof Qd?e:new Qd(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?St:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(R0(e));return n.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const n=Ue(this.source.read(e));if(n.byteLength[...i,...s.VALIDITY&&[s.VALIDITY]||[],...s.TYPE&&[s.TYPE]||[],...s.OFFSET&&[s.OFFSET]||[],...s.DATA&&[s.DATA]||[],...n(s.children)],[])}}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(R0(e));return n.value}readSchema(){const e=Ve.Schema,n=this.readMessage(e),r=n==null?void 0:n.header();if(!n||!r)throw new Error(T0(e));return r}}const zh=4,wv="ARROW1",Ul=new Uint8Array(wv.length);for(let t=0;tthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return dr.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return dr.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof Bi?e:uv(e)?Zj(e):Mk(e)?n4(e):Ns(e)?(()=>ve(this,void 0,void 0,function*(){return yield Bi.from(yield e)}))():Nk(e)||d0(e)||Bk(e)||fu(e)?t4(new Za(e)):e4(new Qd(e))}static readAll(e){return e instanceof Bi?e.isSync()?P1(e):R1(e):uv(e)||ArrayBuffer.isView(e)||uc(e)||Tk(e)?P1(e):R1(e)}}class Zd extends Bi{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Ar(this,arguments,function*(){yield ge(yield*Df(Ds(this[Symbol.iterator]())))})}}class eh extends Bi{constructor(e){super(e),this._impl=e}readAll(){var e,n;return ve(this,void 0,void 0,function*(){const r=new Array;try{for(var i=Ds(this),s;s=yield i.next(),!s.done;){const o=s.value;r.push(o)}}catch(o){e={error:o}}finally{try{s&&!s.done&&(n=i.return)&&(yield n.call(i))}finally{if(e)throw e.error}}return r})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class mx extends Zd{constructor(e){super(e),this._impl=e}}class Gj extends eh{constructor(e){super(e),this._impl=e}}class yx{constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,n){const r=this._loadVectors(e,n,this.schema.fields),i=Ne({type:new vn(this.schema.fields),length:e.length,children:r});return new xn(this.schema,i)}_loadDictionaryBatch(e,n){const{id:r,isDelta:i}=e,{dictionaries:s,schema:o}=this,a=s.get(r);if(i||!a){const l=o.dictionaries.get(r),f=this._loadVectors(e.data,n,[l]);return(a&&i?a.concat(new Ke(f)):new Ke(f)).memoize()}return a.memoize()}_loadVectors(e,n,r){return new nx(n,e.nodes,e.buffers,this.dictionaries).visitMany(r)}}class th extends yx{constructor(e,n){super(n),this._reader=uv(e)?new Qj(this._handle=e):new hx(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=gx(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):St}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):St}next(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new P0(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class nh extends yx{constructor(e,n){super(n),this._reader=new Hj(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return ve(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return ve(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=gx(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):St})}return(e){return ve(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):St})}next(){return ve(this,void 0,void 0,function*(){if(this.closed)return St;let e;const{_reader:n}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const r=e.header(),i=yield n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new P0(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class vx extends th{constructor(e,n){super(e instanceof I1?e:new I1(e),n)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var n;if(this.closed)return null;this._footer||this.open();const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null}_readDictionaryBatch(e){var n;const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}}_readFooter(){const{_handle:e}=this,n=e.size-px,r=e.readInt32(n),i=e.readAt(n-r,r);return jl.decode(i)}_readNextMessageAndValidate(e){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return ve(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,e)})}readRecordBatch(e){var n;return ve(this,void 0,void 0,function*(){if(this.closed)return null;this._footer||(yield this.open());const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.RecordBatch);if(i!=null&&i.isRecordBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null})}_readDictionaryBatch(e){var n;return ve(this,void 0,void 0,function*(){const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Ve.DictionaryBatch);if(i!=null&&i.isDictionaryBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}})}_readFooter(){return ve(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const n=e.size-px,r=yield e.readInt32(n),i=yield e.readAt(n-r,r);return jl.decode(i)})}_readNextMessageAndValidate(e){return ve(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?M0(e)?new mx(new vx(t.read())):new Zd(new th(t)):new Zd(new th(function*(){}()))}function t4(t){return ve(this,void 0,void 0,function*(){const e=yield t.peek(dc+7&-8);return e&&e.byteLength>=4?M0(e)?new mx(new vx(yield t.read())):new eh(new nh(t)):new eh(new nh(function(){return Ar(this,arguments,function*(){})}()))})}function n4(t){return ve(this,void 0,void 0,function*(){const{size:e}=yield t.stat(),n=new Yd(t,e);return e>=Yj&&M0(yield n.readAt(0,dc+7&-8))?new Gj(new Jj(n)):new eh(new nh(n))})}class $t extends Be{constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}static assemble(...e){const n=i=>i.flatMap(s=>Array.isArray(s)?n(s):s instanceof xn?s.data.children:s.data),r=new $t;return r.visitMany(n(e)),r}visit(e){if(e instanceof Ke)return this.visitMany(e.data),this;const{type:n}=e;if(!we.isDictionary(n)){const{length:r,nullCount:i}=e;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");we.isNull(n)||Mr.call(this,i<=0?new Uint8Array(0):b0(e.offset,r,e.nullBitmap)),this.nodes.push(new Wo(r,i))}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}}function Mr(t){const e=t.byteLength+7&-8;return this.buffers.push(t),this.bufferRegions.push(new ai(this._byteLength,e)),this._byteLength+=e,this}function r4(t){const{type:e,length:n,typeIds:r,valueOffsets:i}=t;if(Mr.call(this,r),e.mode===rr.Sparse)return _v.call(this,t);if(e.mode===rr.Dense){if(t.offset<=0)return Mr.call(this,i),_v.call(this,t);{const s=r.reduce((h,p)=>Math.max(h,p),r[0]),o=new Int32Array(s+1),a=new Int32Array(s+1).fill(-1),l=new Int32Array(n),f=p0(-i[0],n,i);for(let h,p,y=-1;++y=t.length?Mr.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?Mr.call(this,b0(t.offset,t.length,e)):Mr.call(this,jd(t.values))}function Js(t){return Mr.call(this,t.values.subarray(0,t.length*t.stride))}function wx(t){const{length:e,values:n,valueOffsets:r}=t,i=r[0],s=r[e],o=Math.min(s-i,n.byteLength-i);return Mr.call(this,p0(-r[0],e,r)),Mr.call(this,n.subarray(i,i+o)),this}function N0(t){const{length:e,valueOffsets:n}=t;return n&&Mr.call(this,p0(n[0],e,n)),this.visit(t.children[0])}function _v(t){return this.visitMany(t.type.children.map((e,n)=>t.children[n]).filter(Boolean))[0]}$t.prototype.visitBool=i4;$t.prototype.visitInt=Js;$t.prototype.visitFloat=Js;$t.prototype.visitUtf8=wx;$t.prototype.visitBinary=wx;$t.prototype.visitFixedSizeBinary=Js;$t.prototype.visitDate=Js;$t.prototype.visitTimestamp=Js;$t.prototype.visitTime=Js;$t.prototype.visitDecimal=Js;$t.prototype.visitList=N0;$t.prototype.visitStruct=_v;$t.prototype.visitUnion=r4;$t.prototype.visitInterval=Js;$t.prototype.visitFixedSizeList=N0;$t.prototype.visitMap=N0;class _x extends k0{constructor(e){super(),this._position=0,this._started=!1,this._sink=new Lf,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Fn(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof e.autoDestroy=="boolean"?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat=="boolean"?e.writeLegacyIpcFormat:!1}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Ns(e)?e.then(n=>this.writeAll(n)):fu(e)?$0(this,e):L0(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,n=null){return e===this._sink||e instanceof Lf?this._sink=e:(this._sink=new Lf,e&&O3(e)?this.toDOMStream({type:"bytes"}).pipeTo(e):e&&k3(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!n||!yv(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(e){let n=null;if(this._sink){if(e==null)return this.finish()&&void 0;if(e instanceof mn&&!(n=e.schema))return this.finish()&&void 0;if(e instanceof xn&&!(n=e.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!yv(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}e instanceof xn?e instanceof P0||this._writeRecordBatch(e):e instanceof mn?this.writeAll(e.batches):uc(e)&&this.writeAll(e)}_writeMessage(e,n=8){const r=n-1,i=gn.encode(e),s=i.byteLength,o=this._writeLegacyIpcFormat?4:8,a=s+o+r&~r,l=a-s-o;return e.headerType===Ve.RecordBatch?this._recordBatchBlocks.push(new $s(a,e.bodyLength,this._position)):e.headerType===Ve.DictionaryBatch&&this._dictionaryBlocks.push(new $s(a,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),s>0&&this._write(i),this._writePadding(l)}_write(e){if(this._started){const n=Ue(e);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(e){return this._writeMessage(gn.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Ul)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){const{byteLength:n,nodes:r,bufferRegions:i,buffers:s}=$t.assemble(e),o=new ir(e.numRows,r,i),a=gn.from(o,n);return this._writeDictionaries(e)._writeMessage(a)._writeBodyBuffers(s)}_writeDictionaryBatch(e,n,r=!1){this._dictionaryDeltaOffsets.set(n,e.length+(this._dictionaryDeltaOffsets.get(n)||0));const{byteLength:i,nodes:s,bufferRegions:o,buffers:a}=$t.assemble(new Ke([e])),l=new ir(e.length,s,o),f=new hi(l,n,r),h=gn.from(f,i);return this._writeMessage(h)._writeBodyBuffers(a)}_writeBodyBuffers(e){let n,r,i;for(let s=-1,o=e.length;++s0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(e){for(let[n,r]of e.dictionaries){let i=this._dictionaryDeltaOffsets.get(n)||0;if(i===0||(r=r==null?void 0:r.slice(i)).length>0)for(const s of r.data)this._writeDictionaryBatch(s,n,i>0),i+=s.length}return this}}class B0 extends _x{static writeAll(e,n){const r=new B0(n);return Ns(e)?e.then(i=>r.writeAll(i)):fu(e)?$0(r,e):L0(r,e)}}class F0 extends _x{static writeAll(e){const n=new F0;return Ns(e)?e.then(r=>n.writeAll(r)):fu(e)?$0(n,e):L0(n,e)}constructor(){super(),this._autoDestroy=!0}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeFooter(e){const n=jl.encode(new jl(e,Gn.V4,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}}function L0(t,e){let n=e;e instanceof mn&&(n=e.batches,t.reset(void 0,e.schema));for(const r of n)t.write(r);return t.finish()}function $0(t,e){var n,r,i,s;return ve(this,void 0,void 0,function*(){try{for(n=Ds(e);r=yield n.next(),!r.done;){const o=r.value;t.write(o)}}catch(o){i={error:o}}finally{try{r&&!r.done&&(s=n.return)&&(yield s.call(n))}finally{if(i)throw i.error}}return t.finish()})}function Ku(t){const e=Bi.from(t);return Ns(e)?e.then(n=>Ku(n)):e.isAsync()?e.readAll().then(n=>new mn(n)):new mn(e.readAll())}function Cm(t,e="stream"){return(e==="stream"?B0:F0).writeAll(t).toUint8Array(!0)}var T1=function(){function t(e,n,r,i){var s=this;this.getCell=function(o,a){var l=o=s.headerRows&&a=s.headerColumns;if(l){var p=["blank"];return a>0&&p.push("level"+o),{type:"blank",classNames:p.join(" "),content:""}}else if(h){var y=a-s.headerColumns,p=["col_heading","level"+o,"col"+y];return{type:"columns",classNames:p.join(" "),content:s.getContent(s.columnsTable,y,o)}}else if(f){var w=o-s.headerRows,p=["row_heading","level"+a,"row"+w];return{type:"index",id:"T_".concat(s.uuid,"level").concat(a,"_row").concat(w),classNames:p.join(" "),content:s.getContent(s.indexTable,w,a)}}else{var w=o-s.headerRows,y=a-s.headerColumns,p=["data","row"+w,"col"+y],I=s.styler?s.getContent(s.styler.displayValuesTable,w,y):s.getContent(s.dataTable,w,y);return{type:"data",id:"T_".concat(s.uuid,"row").concat(w,"_col").concat(y),classNames:p.join(" "),content:I}}},this.getContent=function(o,a,l){var f=o.getChildAt(l);if(f===null)return"";var h=s.getColumnTypeId(o,l);switch(h){case N.Timestamp:return s.nanosToDate(f.get(a));default:return f.get(a)}},this.dataTable=Ku(e),this.indexTable=Ku(n),this.columnsTable=Ku(r),this.styler=i?{caption:i.caption,displayValuesTable:Ku(i.displayValues),styles:i.styles,uuid:i.uuid}:void 0}return Object.defineProperty(t.prototype,"rows",{get:function(){return this.indexTable.numRows+this.columnsTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this.indexTable.numCols+this.columnsTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerRows",{get:function(){return this.rows-this.dataRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"headerColumns",{get:function(){return this.columns-this.dataColumns},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataRows",{get:function(){return this.dataTable.numRows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumns",{get:function(){return this.dataTable.numCols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"uuid",{get:function(){return this.styler&&this.styler.uuid},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"caption",{get:function(){return this.styler&&this.styler.caption},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"styles",{get:function(){return this.styler&&this.styler.styles},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"table",{get:function(){return this.dataTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"index",{get:function(){return this.indexTable},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columnTable",{get:function(){return this.columnsTable},enumerable:!1,configurable:!0}),t.prototype.serialize=function(){return{data:Cm(this.dataTable),index:Cm(this.indexTable),columns:Cm(this.columnsTable)}},t.prototype.getColumnTypeId=function(e,n){return e.schema.fields[n].type.typeId},t.prototype.nanosToDate=function(e){return new Date(e/1e6)},t}(),al=function(){return al=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0?t.argsDataframeToObject(e.dfs):{};n=al(al({},n),r);var i=!!e.disabled,s=e.theme;s&&s4(s);var o={disabled:i,args:n,theme:s},a=new CustomEvent(t.RENDER_EVENT,{detail:o});t.events.dispatchEvent(a)},t.argsDataframeToObject=function(e){var n=e.map(function(r){var i=r.key,s=r.value;return[i,t.toArrowTable(s)]});return Object.fromEntries(n)},t.toArrowTable=function(e){var n,r=(n=e.data,n.data),i=n.index,s=n.columns,o=n.styler;return new T1(r,i,s,o)},t.sendBackMsg=function(e,n){window.parent.postMessage(al({isStreamlitMessage:!0,type:e},n),"*")},t}(),s4=function(t){var e=document.createElement("style");document.head.appendChild(e),e.innerHTML=` :root { --primary-color: `.concat(t.primaryColor,`; --background-color: `).concat(t.backgroundColor,`; @@ -88,4 +88,5 @@ object-assign background-color: var(--background-color); color: var(--text-color); } - `)};function i4(t){var e=!1;try{e=t instanceof BigInt64Array||t instanceof BigUint64Array}catch{}return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array||e}var _x=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]=i[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();(function(t){_x(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.componentDidMount=function(){On.setFrameHeight()},e.prototype.componentDidUpdate=function(){On.setFrameHeight()},e})(ia.PureComponent);function s4(t){var e=function(n){_x(r,n);function r(i){var s=n.call(this,i)||this;return s.componentDidMount=function(){On.events.addEventListener(On.RENDER_EVENT,s.onRenderEvent),On.setComponentReady()},s.componentDidUpdate=function(){s.state.componentError!=null&&On.setFrameHeight()},s.componentWillUnmount=function(){On.events.removeEventListener(On.RENDER_EVENT,s.onRenderEvent)},s.onRenderEvent=function(o){s.setState({renderData:o.detail})},s.state={renderData:void 0,componentError:void 0},s}return r.prototype.render=function(){return this.state.componentError!=null?ia.createElement("div",null,ia.createElement("h1",null,"Component Error"),ia.createElement("span",null,this.state.componentError.message)):this.state.renderData==null?null:ia.createElement(t,{width:window.innerWidth,disabled:this.state.renderData.disabled,args:this.state.renderData.args,theme:this.state.renderData.theme})},r.getDerivedStateFromError=function(i){return{componentError:i}},r}(ia.PureComponent);return JL(e,t)}var o4=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n};const a4=rh(o4);let hf;const u4=new Uint8Array(16);function l4(){if(!hf&&(hf=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!hf))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return hf(u4)}const Jt=[];for(let t=0;t<256;++t)Jt.push((t+256).toString(16).slice(1));function c4(t,e=0){return Jt[t[e+0]]+Jt[t[e+1]]+Jt[t[e+2]]+Jt[t[e+3]]+"-"+Jt[t[e+4]]+Jt[t[e+5]]+"-"+Jt[t[e+6]]+Jt[t[e+7]]+"-"+Jt[t[e+8]]+Jt[t[e+9]]+"-"+Jt[t[e+10]]+Jt[t[e+11]]+Jt[t[e+12]]+Jt[t[e+13]]+Jt[t[e+14]]+Jt[t[e+15]]}const f4=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),M1={randomUUID:f4};function d4(t,e,n){if(M1.randomUUID&&!e&&!t)return M1.randomUUID();t=t||{};const r=t.random||(t.rng||l4)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){n=n||0;for(let i=0;i<16;++i)e[n+i]=r[i];return e}return c4(r)}const{logger:Am,isEmpty:pf}=Fr,h4=(t,e)=>{const[n,r]=qn.useState(),i=qn.useRef(t);return qn.useEffect(()=>{if(!n||pf(t)||a4(t,i.current))return;i.current=t;const{added_rows:s,edited_rows:o,deleted_rows:a}=t;if(!pf(s)){const l=s.map(f=>({...f,id:d4(),createdAt:new Date().toISOString(),last_modified:Date.now()}));if(!l.length)return;e.upsertBulk(l).catch(f=>Am.log("upsertBulk",f))}if(!pf(a)){const l=[];if(a.forEach(f=>{const h=n.at(f);h&&l.push(h.id)}),!l.length)return;e.removeBulk(l).catch(f=>Am.log("removeBulk",f))}if(!pf(o)){const l=Object.entries(o).map(([f,h])=>({...n.at(parseInt(f)),...h,last_modified:Date.now()}));if(!l.length)return;e.upsertBulk(l).catch(f=>Am.log("upsertBulk",f))}},[t,n,e]),[n,r]},p4=t=>{const[e,n]=qn.useState();return qn.useEffect(()=>{const r=s=>{n(s.detail)};return On.events.addEventListener(On.RENDER_EVENT,r),On.setComponentReady(),()=>{On.events.removeEventListener(On.RENDER_EVENT,r),t.unsubscribe()}},[]),e},{logger:N1,isEmptyObject:m4}=Fr,y4=t=>{const[e,n]=qn.useState(),r=new Bo,i=qn.useRef();i.current||(i.current=new Bo);const s=p4(i.current),{editing_state:o,collection_config:a,db_config:l,query:f,with_rev:h}=(s==null?void 0:s.args)||{},m=qn.useRef(),y=qn.useRef();m.current||(m.current=new BL);const w=()=>y.current,[,I]=h4(o,w()),E=qn.useCallback(S=>{const _=_F(S);return m.current.initDb(_)},[]),$=qn.useCallback(async S=>{y.current||(y.current=new Je(S,m.current)),await w().info(),n(!0);const _=w().docs(f,h).subscribe(O=>{O&&(N1.table(O),I(O),On.setComponentValue(O))});r.add(_)},[]);return m4(s)?null:(e||E(l).then(()=>$(a)).catch(N1.log),t.args.element)},v4=s4(y4),g4=YI(document.getElementById("root"));g4.render(bC.jsx(v4,{})); + `)};function o4(t){var e=!1;try{e=t instanceof BigInt64Array||t instanceof BigUint64Array}catch{}return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array||e}var bx=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]=i[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();(function(t){bx(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.componentDidMount=function(){yn.setFrameHeight()},e.prototype.componentDidUpdate=function(){yn.setFrameHeight()},e})(ra.PureComponent);function a4(t){var e=function(n){bx(r,n);function r(i){var s=n.call(this,i)||this;return s.componentDidMount=function(){yn.events.addEventListener(yn.RENDER_EVENT,s.onRenderEvent),yn.setComponentReady()},s.componentDidUpdate=function(){s.state.componentError!=null&&yn.setFrameHeight()},s.componentWillUnmount=function(){yn.events.removeEventListener(yn.RENDER_EVENT,s.onRenderEvent)},s.onRenderEvent=function(o){s.setState({renderData:o.detail})},s.state={renderData:void 0,componentError:void 0},s}return r.prototype.render=function(){return this.state.componentError!=null?ra.createElement("div",null,ra.createElement("h1",null,"Component Error"),ra.createElement("span",null,this.state.componentError.message)):this.state.renderData==null?null:ra.createElement(t,{width:window.innerWidth,disabled:this.state.renderData.disabled,args:this.state.renderData.args,theme:this.state.renderData.theme})},r.getDerivedStateFromError=function(i){return{componentError:i}},r}(ra.PureComponent);return ZL(e,t)}var u4=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n};const Sx=rh(u4);let hf;const l4=new Uint8Array(16);function c4(){if(!hf&&(hf=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!hf))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return hf(l4)}const Jt=[];for(let t=0;t<256;++t)Jt.push((t+256).toString(16).slice(1));function f4(t,e=0){return Jt[t[e+0]]+Jt[t[e+1]]+Jt[t[e+2]]+Jt[t[e+3]]+"-"+Jt[t[e+4]]+Jt[t[e+5]]+"-"+Jt[t[e+6]]+Jt[t[e+7]]+"-"+Jt[t[e+8]]+Jt[t[e+9]]+"-"+Jt[t[e+10]]+Jt[t[e+11]]+Jt[t[e+12]]+Jt[t[e+13]]+Jt[t[e+14]]+Jt[t[e+15]]}const d4=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),M1={randomUUID:d4};function h4(t,e,n){if(M1.randomUUID&&!e&&!t)return M1.randomUUID();t=t||{};const r=t.random||(t.rng||c4)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){n=n||0;for(let i=0;i<16;++i)e[n+i]=r[i];return e}return f4(r)}const{logger:Am,isEmpty:pf}=$r,p4=(t,e)=>{const[n,r]=pn.useState(),i=pn.useRef(t);return pn.useEffect(()=>{if(!n||pf(t)||Sx(t,i.current))return;i.current=t;const{added_rows:s,edited_rows:o,deleted_rows:a}=t;if(!pf(s)){const l=s.map(f=>({...f,id:h4(),createdAt:new Date().toISOString(),last_modified:Date.now()}));if(!l.length)return;e.upsertBulk(l).catch(f=>Am.log("upsertBulk",f))}if(!pf(a)){const l=[];if(a.forEach(f=>{const h=n.at(f);h&&l.push(h.id)}),!l.length)return;e.removeBulk(l).catch(f=>Am.log("removeBulk",f))}if(!pf(o)){const l=Object.entries(o).map(([f,h])=>({...n.at(+f),...h,last_modified:Date.now()}));if(!l.length)return;e.upsertBulk(l).catch(f=>Am.log("upsertBulk",f))}},[t,n,e]),[n,r]},m4=t=>{const[e,n]=pn.useState();return pn.useEffect(()=>{const r=s=>{n(s.detail)};return yn.events.addEventListener(yn.RENDER_EVENT,r),yn.setComponentReady(),()=>{yn.events.removeEventListener(yn.RENDER_EVENT,r),t.unsubscribe()}},[]),e},{logger:N1,isEmptyObject:y4,tapOnce:v4}=$r,g4=t=>{const[e,n]=pn.useState(),r=pn.useRef(),i=pn.useRef();i.current||(i.current=new su),r.current||(r.current=new Cr({}));const s=m4(i.current),{editing_state:o,collection_config:a,db_config:l,query:f,with_rev:h}=(s==null?void 0:s.args)||{},p=pn.useRef(),y=pn.useRef();p.current||(p.current=new LL);const w=()=>y.current,[,I]=p4(o,w()),E=pn.useCallback(S=>{const _=SF(S);return p.current.initDb(_)},[]),$=pn.useCallback(async S=>{y.current||(y.current=new Je(S,p.current));const _=r.current.pipe(Ms(Sx)),k=w().docs(_,h).pipe(v4(()=>n(!0)),cT(w().info())).subscribe(([z,W])=>{z&&(I(z),yn.setComponentValue({docs:z,info:W,query:r.current.value}),yn.setFrameHeight())});i.current.add(k),N1.log("Collection & docs subscription initialized, with",f,h)},[]);return pn.useEffect(()=>{e&&f&&r.current.next(f)},[e,f]),y4(s)?null:(e||E(l).then(()=>$(a)).catch(N1.log),t.args.element)},w4=a4(g4),_4=YI(document.getElementById("root"));_4.render(IC.jsx(w4,{})); +//# sourceMappingURL=index.js.map diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js.map b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js.map new file mode 100644 index 0000000..49d4f1a --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../../../../../node_modules/react/cjs/react.production.min.js","../../../../../node_modules/react/index.js","../../../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../../../node_modules/react/jsx-runtime.js","../../../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../../../node_modules/scheduler/index.js","../../../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../../../node_modules/react-dom/index.js","../../../../../node_modules/react-dom/client.js","../../../../../node_modules/tslib/tslib.es6.mjs","../../../../../node_modules/rxdb/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../../node_modules/rxdb/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../../../node_modules/rxdb/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../../../node_modules/rxdb/node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-array.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-revision.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-object.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-document.js","../../../../../node_modules/ohash/dist/index.mjs","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-hash.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-promise.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-regex.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-string.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-object-deep-equal.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-object-dot-prop.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-map.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-error.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-time.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-other.js","../../../../../node_modules/rxdb/dist/esm/plugins/utils/utils-rxdb-version.js","../../../../../node_modules/rxdb/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../../node_modules/rxdb/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../../../../node_modules/rxdb/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../../../node_modules/rxdb/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../../../../../node_modules/rxdb/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../../../../node_modules/rxdb/node_modules/@babel/runtime/helpers/esm/construct.js","../../../../../node_modules/rxdb/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../../../../../node_modules/rxdb/dist/esm/overwritable.js","../../../../../node_modules/rxdb/dist/esm/rx-error.js","../../../../../node_modules/rxdb/dist/esm/hooks.js","../../../../../node_modules/rxdb/dist/esm/rx-schema-helper.js","../../../../../node_modules/rxdb/dist/esm/rx-schema.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/lift.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/isPromise.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../../../../node_modules/rxjs/dist/esm5/internal/Subscription.js","../../../../../node_modules/rxjs/dist/esm5/internal/config.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/noop.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../../../../node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../../../../node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/identity.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../../../../node_modules/rxjs/dist/esm5/internal/Observable.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","../../../../../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/isIterable.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","../../../../../node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduler/Action.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../../../../../node_modules/rxjs/dist/esm5/internal/Scheduler.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduler/async.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/isScheduler.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/isDate.js","../../../../../node_modules/rxjs/dist/esm5/internal/observable/timer.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/args.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/catchError.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/observeOn.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js","../../../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js","../../../../../node_modules/rxjs/dist/esm5/internal/observable/from.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/map.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/createObject.js","../../../../../node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/argsOrArgArray.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/concatAll.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","../../../../../node_modules/rxjs/dist/esm5/internal/Subject.js","../../../../../node_modules/rxjs/dist/esm5/internal/observable/concat.js","../../../../../node_modules/rxjs/dist/esm5/internal/observable/empty.js","../../../../../node_modules/rxjs/dist/esm5/internal/observable/of.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/filter.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/merge.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js","../../../../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js","../../../../../node_modules/rxjs/dist/esm5/internal/ReplaySubject.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/retry.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/share.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/startWith.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/switchMap.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/takeWhile.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/tap.js","../../../../../node_modules/rxjs/dist/esm5/internal/operators/withLatestFrom.js","../../../../../node_modules/rxdb/dist/esm/rx-change-event.js","../../../../../node_modules/rxjs/dist/esm5/internal/util/isObservable.js","../../../../../node_modules/rxjs/dist/esm5/internal/lastValueFrom.js","../../../../../node_modules/rxjs/dist/esm5/internal/firstValueFrom.js","../../../../../node_modules/rxjs/dist/esm5/internal/observable/defer.js","../../../../../node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js","../../../../../node_modules/rxjs/dist/esm5/internal/observable/merge.js","../../../../../node_modules/event-reduce-js/dist/esm/src/util.js","../../../../../node_modules/event-reduce-js/dist/esm/src/states/state-resolver.js","../../../../../node_modules/event-reduce-js/dist/esm/src/states/index.js","../../../../../node_modules/array-push-at-sort-position/dist/esm/index.js","../../../../../node_modules/event-reduce-js/dist/esm/src/actions/action-functions.js","../../../../../node_modules/event-reduce-js/dist/esm/src/actions/index.js","../../../../../node_modules/binary-decision-diagram/dist/esm/src/minimal-string/string-format.js","../../../../../node_modules/binary-decision-diagram/dist/esm/src/util.js","../../../../../node_modules/binary-decision-diagram/dist/esm/src/minimal-string/minimal-string-to-simple-bdd.js","../../../../../node_modules/binary-decision-diagram/dist/esm/src/minimal-string/resolve-with-simple-bdd.js","../../../../../node_modules/event-reduce-js/dist/esm/src/bdd/bdd.generated.js","../../../../../node_modules/event-reduce-js/dist/esm/src/index.js","../../../../../node_modules/rxdb/dist/esm/query-planner.js","../../../../../node_modules/mingo/dist/esm/util.js","../../../../../node_modules/mingo/dist/esm/core.js","../../../../../node_modules/mingo/dist/esm/lazy.js","../../../../../node_modules/mingo/dist/esm/aggregator.js","../../../../../node_modules/mingo/dist/esm/cursor.js","../../../../../node_modules/mingo/dist/esm/query.js","../../../../../node_modules/mingo/dist/esm/operators/pipeline/sort.js","../../../../../node_modules/mingo/dist/esm/operators/_predicates.js","../../../../../node_modules/mingo/dist/esm/operators/expression/date/dateFromString.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/_internal.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/acos.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/acosh.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/asin.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/asinh.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/atan.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/atanh.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/cos.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/cosh.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/degreesToRadians.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/radiansToDegrees.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/sin.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/sinh.js","../../../../../node_modules/mingo/dist/esm/operators/expression/trignometry/tan.js","../../../../../node_modules/mingo/dist/esm/operators/pipeline/project.js","../../../../../node_modules/mingo/dist/esm/operators/query/logical/and.js","../../../../../node_modules/mingo/dist/esm/operators/query/logical/or.js","../../../../../node_modules/mingo/dist/esm/operators/query/logical/nor.js","../../../../../node_modules/mingo/dist/esm/operators/query/logical/not.js","../../../../../node_modules/mingo/dist/esm/operators/query/comparison/eq.js","../../../../../node_modules/mingo/dist/esm/operators/query/comparison/gt.js","../../../../../node_modules/mingo/dist/esm/operators/query/comparison/gte.js","../../../../../node_modules/mingo/dist/esm/operators/query/comparison/in.js","../../../../../node_modules/mingo/dist/esm/operators/query/comparison/lt.js","../../../../../node_modules/mingo/dist/esm/operators/query/comparison/lte.js","../../../../../node_modules/mingo/dist/esm/operators/query/comparison/ne.js","../../../../../node_modules/mingo/dist/esm/operators/query/comparison/nin.js","../../../../../node_modules/mingo/dist/esm/operators/query/evaluation/mod.js","../../../../../node_modules/mingo/dist/esm/operators/query/evaluation/regex.js","../../../../../node_modules/mingo/dist/esm/operators/query/array/all.js","../../../../../node_modules/mingo/dist/esm/operators/query/array/elemMatch.js","../../../../../node_modules/mingo/dist/esm/operators/query/array/size.js","../../../../../node_modules/mingo/dist/esm/operators/query/element/exists.js","../../../../../node_modules/mingo/dist/esm/operators/query/element/type.js","../../../../../node_modules/rxdb/dist/esm/rx-query-mingo.js","../../../../../node_modules/rxdb/dist/esm/rx-query-helper.js","../../../../../node_modules/rxdb/dist/esm/event-reduce.js","../../../../../node_modules/rxdb/dist/esm/query-cache.js","../../../../../node_modules/rxdb/dist/esm/doc-cache.js","../../../../../node_modules/rxdb/dist/esm/rx-query-single-result.js","../../../../../node_modules/rxdb/dist/esm/rx-query.js","../../../../../node_modules/rxdb/dist/esm/rx-storage-helper.js","../../../../../node_modules/rxdb/dist/esm/incremental-write.js","../../../../../node_modules/rxdb/dist/esm/rx-document.js","../../../../../node_modules/rxdb/dist/esm/rx-database-internal-store.js","../../../../../node_modules/rxdb/dist/esm/rx-collection-helper.js","../../../../../node_modules/rxdb/dist/esm/change-event-buffer.js","../../../../../node_modules/rxdb/dist/esm/rx-document-prototype-merge.js","../../../../../node_modules/rxdb/dist/esm/replication-protocol/checkpoint.js","../../../../../node_modules/rxdb/dist/esm/replication-protocol/helper.js","../../../../../node_modules/rxdb/dist/esm/replication-protocol/meta-instance.js","../../../../../node_modules/rxdb/dist/esm/replication-protocol/downstream.js","../../../../../node_modules/rxdb/dist/esm/replication-protocol/conflicts.js","../../../../../node_modules/rxdb/dist/esm/plugins/attachments/attachments-utils.js","../../../../../node_modules/rxdb/dist/esm/replication-protocol/upstream.js","../../../../../node_modules/rxdb/dist/esm/replication-protocol/index.js","../../../../../node_modules/rxdb/dist/esm/rx-collection.js","../../../../../node_modules/custom-idle-queue/dist/es/index.js","../../../../../node_modules/oblivious-set/dist/esm/src/index.js","../../../../../node_modules/rxdb/dist/esm/rx-database.js","../../../../../node_modules/rxdb/dist/esm/plugin.js","../../../../../node_modules/broadcast-channel/dist/esbrowser/util.js","../../../../../node_modules/broadcast-channel/dist/esbrowser/methods/native.js","../../../../../node_modules/broadcast-channel/dist/esbrowser/options.js","../../../../../node_modules/broadcast-channel/dist/esbrowser/methods/indexed-db.js","../../../../../node_modules/broadcast-channel/dist/esbrowser/methods/localstorage.js","../../../../../node_modules/broadcast-channel/dist/esbrowser/methods/simulate.js","../../../../../node_modules/broadcast-channel/dist/esbrowser/method-chooser.js","../../../../../node_modules/broadcast-channel/dist/esbrowser/broadcast-channel.js","../../../../../node_modules/unload/dist/es/browser.js","../../../../../node_modules/unload/dist/es/node.js","../../../../../node_modules/unload/dist/es/index.js","../../../../../node_modules/broadcast-channel/dist/esbrowser/leader-election-util.js","../../../../../node_modules/broadcast-channel/dist/esbrowser/leader-election-web-lock.js","../../../../../node_modules/broadcast-channel/dist/esbrowser/leader-election.js","../../../../../node_modules/rxdb/dist/esm/rx-storage-multiinstance.js","../../../../../node_modules/rxdb/dist/esm/custom-index.js","../../../../../node_modules/rxdb/dist/esm/plugins/replication/replication-helper.js","../../../../../node_modules/rxdb/dist/esm/plugins/replication/index.js","../../../../../dist/packages/rxdb/fesm2022/ngx-odm-rxdb-utils.mjs","../../../../../dist/packages/rxdb/fesm2022/ngx-odm-rxdb-collection.mjs","../../../../../node_modules/dexie/dist/dexie.min.js","../../../../../node_modules/dexie/import-wrapper-prod.mjs","../../../../../node_modules/rxdb/dist/esm/plugins/storage-dexie/dexie-helper.js","../../../../../node_modules/rxdb/dist/esm/plugins/storage-dexie/dexie-query.js","../../../../../node_modules/rxdb/dist/esm/plugins/storage-dexie/rx-storage-instance-dexie.js","../../../../../node_modules/rxdb/dist/esm/plugins/storage-dexie/rx-storage-dexie.js","../../../../../node_modules/rxdb/dist/esm/plugins/storage-memory/binary-search-bounds.js","../../../../../node_modules/rxdb/dist/esm/plugins/storage-memory/memory-helper.js","../../../../../node_modules/rxdb/dist/esm/plugins/storage-memory/memory-indexes.js","../../../../../node_modules/rxdb/dist/esm/plugins/storage-memory/rx-storage-instance-memory.js","../../../../../node_modules/rxdb/dist/esm/plugins/storage-memory/index.js","../../../../../dist/packages/rxdb/fesm2022/ngx-odm-rxdb-config.mjs","../../../../../node_modules/compare-versions/lib/esm/utils.js","../../../../../node_modules/compare-versions/lib/esm/compareVersions.js","../../../../../node_modules/compare-versions/lib/esm/compare.js","../../../../../dist/packages/rxdb/fesm2022/ngx-odm-rxdb-prepare.mjs","../../../../../node_modules/filter-obj/index.js","../../../../../node_modules/decode-uri-component/index.js","../../../../../node_modules/split-on-first/index.js","../../../../../node_modules/query-string/base.js","../../../../../dist/packages/rxdb/fesm2022/ngx-odm-rxdb-query-params.mjs","../../../../../node_modules/rxdb/dist/esm/plugins/cleanup/cleanup-helper.js","../../../../../node_modules/rxdb/dist/esm/plugins/cleanup/cleanup.js","../../../../../node_modules/rxdb/dist/esm/plugins/cleanup/index.js","../../../../../node_modules/rxdb/dist/esm/plugins/json-dump/index.js","../../../../../node_modules/rxdb/dist/esm/plugins/local-documents/rx-local-document.js","../../../../../node_modules/rxdb/dist/esm/plugins/local-documents/local-documents-helper.js","../../../../../node_modules/rxdb/dist/esm/plugins/local-documents/local-documents.js","../../../../../node_modules/rxdb/dist/esm/plugins/local-documents/index.js","../../../../../node_modules/rxdb/dist/esm/plugins/migration-schema/migration-helpers.js","../../../../../node_modules/rxdb/dist/esm/plugins/migration-schema/rx-migration-state.js","../../../../../node_modules/rxdb/dist/esm/plugins/migration-schema/index.js","../../../../../node_modules/mingo/dist/esm/operators/update/_internal.js","../../../../../node_modules/mingo/dist/esm/operators/update/addToSet.js","../../../../../node_modules/mingo/dist/esm/operators/update/bit.js","../../../../../node_modules/mingo/dist/esm/operators/update/currentDate.js","../../../../../node_modules/mingo/dist/esm/operators/update/inc.js","../../../../../node_modules/mingo/dist/esm/operators/update/max.js","../../../../../node_modules/mingo/dist/esm/operators/update/min.js","../../../../../node_modules/mingo/dist/esm/operators/update/mul.js","../../../../../node_modules/mingo/dist/esm/operators/update/pop.js","../../../../../node_modules/mingo/dist/esm/operators/update/pull.js","../../../../../node_modules/mingo/dist/esm/operators/update/pullAll.js","../../../../../node_modules/mingo/dist/esm/operators/update/push.js","../../../../../node_modules/mingo/dist/esm/operators/update/set.js","../../../../../node_modules/mingo/dist/esm/operators/update/rename.js","../../../../../node_modules/mingo/dist/esm/operators/update/unset.js","../../../../../node_modules/mingo/dist/esm/updater.js","../../../../../node_modules/rxdb/dist/esm/plugins/update/mingo-updater.js","../../../../../node_modules/rxdb/dist/esm/plugins/update/index.js","../../../../../dist/packages/rxdb/fesm2022/ngx-odm-rxdb-core.mjs","../../../../../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../../../../../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../../../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../../../node_modules/object-assign/index.js","../../../../../node_modules/streamlit-component-lib/node_modules/react/cjs/react.production.min.js","../../../../../node_modules/streamlit-component-lib/node_modules/react/index.js","../../../../../node_modules/apache-arrow/util/utf8.mjs","../../../../../node_modules/apache-arrow/util/compat.mjs","../../../../../node_modules/apache-arrow/util/buffer.mjs","../../../../../node_modules/apache-arrow/io/adapters.mjs","../../../../../node_modules/apache-arrow/enum.mjs","../../../../../node_modules/apache-arrow/util/pretty.mjs","../../../../../node_modules/apache-arrow/util/bn.mjs","../../../../../node_modules/apache-arrow/type.mjs","../../../../../node_modules/apache-arrow/visitor.mjs","../../../../../node_modules/apache-arrow/util/math.mjs","../../../../../node_modules/apache-arrow/visitor/set.mjs","../../../../../node_modules/apache-arrow/row/struct.mjs","../../../../../node_modules/apache-arrow/visitor/get.mjs","../../../../../node_modules/apache-arrow/row/map.mjs","../../../../../node_modules/apache-arrow/util/vector.mjs","../../../../../node_modules/apache-arrow/util/bit.mjs","../../../../../node_modules/apache-arrow/data.mjs","../../../../../node_modules/apache-arrow/util/chunk.mjs","../../../../../node_modules/apache-arrow/visitor/indexof.mjs","../../../../../node_modules/apache-arrow/visitor/iterator.mjs","../../../../../node_modules/apache-arrow/visitor/bytelength.mjs","../../../../../node_modules/apache-arrow/vector.mjs","../../../../../node_modules/apache-arrow/fb/block.mjs","../../../../../node_modules/flatbuffers/mjs/constants.js","../../../../../node_modules/flatbuffers/mjs/utils.js","../../../../../node_modules/flatbuffers/mjs/long.js","../../../../../node_modules/flatbuffers/mjs/encoding.js","../../../../../node_modules/flatbuffers/mjs/byte-buffer.js","../../../../../node_modules/flatbuffers/mjs/builder.js","../../../../../node_modules/apache-arrow/fb/key-value.mjs","../../../../../node_modules/apache-arrow/fb/metadata-version.mjs","../../../../../node_modules/apache-arrow/fb/endianness.mjs","../../../../../node_modules/apache-arrow/fb/dictionary-kind.mjs","../../../../../node_modules/apache-arrow/fb/int.mjs","../../../../../node_modules/apache-arrow/fb/dictionary-encoding.mjs","../../../../../node_modules/apache-arrow/fb/binary.mjs","../../../../../node_modules/apache-arrow/fb/bool.mjs","../../../../../node_modules/apache-arrow/fb/date-unit.mjs","../../../../../node_modules/apache-arrow/fb/date.mjs","../../../../../node_modules/apache-arrow/fb/decimal.mjs","../../../../../node_modules/apache-arrow/fb/time-unit.mjs","../../../../../node_modules/apache-arrow/fb/fixed-size-binary.mjs","../../../../../node_modules/apache-arrow/fb/fixed-size-list.mjs","../../../../../node_modules/apache-arrow/fb/precision.mjs","../../../../../node_modules/apache-arrow/fb/floating-point.mjs","../../../../../node_modules/apache-arrow/fb/interval-unit.mjs","../../../../../node_modules/apache-arrow/fb/interval.mjs","../../../../../node_modules/apache-arrow/fb/list.mjs","../../../../../node_modules/apache-arrow/fb/map.mjs","../../../../../node_modules/apache-arrow/fb/null.mjs","../../../../../node_modules/apache-arrow/fb/struct_.mjs","../../../../../node_modules/apache-arrow/fb/time.mjs","../../../../../node_modules/apache-arrow/fb/timestamp.mjs","../../../../../node_modules/apache-arrow/fb/union-mode.mjs","../../../../../node_modules/apache-arrow/fb/union.mjs","../../../../../node_modules/apache-arrow/fb/utf8.mjs","../../../../../node_modules/apache-arrow/fb/type.mjs","../../../../../node_modules/apache-arrow/fb/field.mjs","../../../../../node_modules/apache-arrow/fb/schema.mjs","../../../../../node_modules/apache-arrow/fb/footer.mjs","../../../../../node_modules/apache-arrow/schema.mjs","../../../../../node_modules/apache-arrow/ipc/metadata/file.mjs","../../../../../node_modules/apache-arrow/io/interfaces.mjs","../../../../../node_modules/apache-arrow/io/stream.mjs","../../../../../node_modules/apache-arrow/io/file.mjs","../../../../../node_modules/apache-arrow/util/int.mjs","../../../../../node_modules/apache-arrow/visitor/vectorloader.mjs","../../../../../node_modules/apache-arrow/visitor/typecomparator.mjs","../../../../../node_modules/apache-arrow/util/recordbatch.mjs","../../../../../node_modules/apache-arrow/table.mjs","../../../../../node_modules/apache-arrow/recordbatch.mjs","../../../../../node_modules/apache-arrow/fb/body-compression-method.mjs","../../../../../node_modules/apache-arrow/fb/compression-type.mjs","../../../../../node_modules/apache-arrow/fb/body-compression.mjs","../../../../../node_modules/apache-arrow/fb/buffer.mjs","../../../../../node_modules/apache-arrow/fb/field-node.mjs","../../../../../node_modules/apache-arrow/fb/record-batch.mjs","../../../../../node_modules/apache-arrow/fb/dictionary-batch.mjs","../../../../../node_modules/apache-arrow/fb/message-header.mjs","../../../../../node_modules/apache-arrow/fb/message.mjs","../../../../../node_modules/apache-arrow/visitor/typeassembler.mjs","../../../../../node_modules/apache-arrow/ipc/metadata/json.mjs","../../../../../node_modules/apache-arrow/ipc/metadata/message.mjs","../../../../../node_modules/apache-arrow/ipc/message.mjs","../../../../../node_modules/apache-arrow/ipc/reader.mjs","../../../../../node_modules/apache-arrow/visitor/vectorassembler.mjs","../../../../../node_modules/apache-arrow/ipc/writer.mjs","../../../../../node_modules/apache-arrow/ipc/serialization.mjs","../../../../../node_modules/streamlit-component-lib/dist/ArrowTable.js","../../../../../node_modules/streamlit-component-lib/dist/streamlit.js","../../../../../node_modules/streamlit-component-lib/dist/StreamlitReact.js","../../../../../node_modules/fast-deep-equal/index.js","../../../../../node_modules/uuid/dist/esm-browser/rng.js","../../../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../../../node_modules/uuid/dist/esm-browser/native.js","../../../../../node_modules/uuid/dist/esm-browser/v4.js","../src/lib/useEditingState.ts","../src/lib/useNullableRenderData.ts","../src/lib/RxDBDataframe.tsx","../src/main.tsx"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export function lastOfArray(ar) {\n return ar[ar.length - 1];\n}\n\n/**\n * shuffle the given array\n */\nexport function shuffleArray(arr) {\n return arr.slice(0).sort(() => Math.random() - 0.5);\n}\nexport function toArray(input) {\n return Array.isArray(input) ? input.slice(0) : [input];\n}\n\n/**\n * Split array with items into smaller arrays with items\n * @link https://stackoverflow.com/a/7273794/3443137\n */\nexport function batchArray(array, batchSize) {\n array = array.slice(0);\n var ret = [];\n while (array.length) {\n var batch = array.splice(0, batchSize);\n ret.push(batch);\n }\n return ret;\n}\n\n/**\n * @link https://stackoverflow.com/a/15996017\n */\nexport function removeOneFromArrayIfMatches(ar, condition) {\n ar = ar.slice();\n var i = ar.length;\n var done = false;\n while (i-- && !done) {\n if (condition(ar[i])) {\n done = true;\n ar.splice(i, 1);\n }\n }\n return ar;\n}\n\n/**\n * returns true if the supplied argument is either an Array or a Readonly>\n */\nexport function isMaybeReadonlyArray(x) {\n // While this looks strange, it's a workaround for an issue in TypeScript:\n // https://github.com/microsoft/TypeScript/issues/17002\n //\n // The problem is that `Array.isArray` as a type guard returns `false` for a readonly array,\n // but at runtime the object is an array and the runtime call to `Array.isArray` would return `true`.\n // The type predicate here allows for both `Array` and `Readonly>` to pass a type check while\n // still performing runtime type inspection.\n return Array.isArray(x);\n}\nexport function isOneItemOfArrayInOtherArray(ar1, ar2) {\n for (var i = 0; i < ar1.length; i++) {\n var el = ar1[i];\n var has = ar2.includes(el);\n if (has) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Use this in array.filter() to remove all empty slots\n * and have the correct typings afterwards.\n * @link https://stackoverflow.com/a/46700791/3443137\n */\nexport function arrayFilterNotEmpty(value) {\n if (value === null || value === undefined) {\n return false;\n }\n return true;\n}\nexport function countUntilNotMatching(ar, matchingFn) {\n var count = 0;\n var idx = -1;\n for (var _item of ar) {\n idx = idx + 1;\n var matching = matchingFn(_item, idx);\n if (matching) {\n count = count + 1;\n } else {\n break;\n }\n }\n return count;\n}\nexport async function asyncFilter(array, predicate) {\n var filters = await Promise.all(array.map(predicate));\n return array.filter((...[, index]) => filters[index]);\n}\n\n/**\n * @link https://stackoverflow.com/a/3762735\n */\nexport function sumNumberArray(array) {\n var count = 0;\n for (var i = array.length; i--;) {\n count += array[i];\n }\n return count;\n}\nexport function maxOfNumbers(arr) {\n return Math.max(...arr);\n}\n\n/**\n * Appends the given documents to the given array.\n * This will mutate the first given array.\n * Mostly used as faster alternative to Array.concat()\n * because .concat() is so slow.\n * @link https://www.measurethat.net/Benchmarks/Show/4223/0/array-concat-vs-spread-operator-vs-push#latest_results_block\n */\nexport function appendToArray(ar, add) {\n var amount = add.length;\n for (var i = 0; i < amount; ++i) {\n var element = add[i];\n ar.push(element);\n }\n}\n\n/**\n * @link https://gist.github.com/telekosmos/3b62a31a5c43f40849bb\n */\nexport function uniqueArray(arrArg) {\n return arrArg.filter(function (elem, pos, arr) {\n return arr.indexOf(elem) === pos;\n });\n}\n//# sourceMappingURL=utils-array.js.map","export function parseRevision(revision) {\n var split = revision.split('-');\n if (split.length !== 2) {\n throw new Error('malformatted revision: ' + revision);\n }\n return {\n height: parseInt(split[0], 10),\n hash: split[1]\n };\n}\n\n/**\n * @hotPath\n */\nexport function getHeightOfRevision(revision) {\n var ret = parseInt(revision.split('-')[0], 10);\n return ret;\n}\n\n/**\n * Creates the next write revision for a given document.\n */\nexport function createRevision(databaseInstanceToken, previousDocData) {\n var previousRevision = previousDocData ? previousDocData._rev : null;\n var previousRevisionHeight = previousRevision ? parseRevision(previousRevision).height : 0;\n var newRevisionHeight = previousRevisionHeight + 1;\n return newRevisionHeight + '-' + databaseInstanceToken;\n}\n//# sourceMappingURL=utils-revision.js.map","export function deepFreeze(o) {\n Object.freeze(o);\n Object.getOwnPropertyNames(o).forEach(function (prop) {\n if (Object.prototype.hasOwnProperty.call(o, prop) && o[prop] !== null && (typeof o[prop] === 'object' || typeof o[prop] === 'function') && !Object.isFrozen(o[prop])) {\n deepFreeze(o[prop]);\n }\n });\n return o;\n}\n\n/**\n * To get specific nested path values from objects,\n * RxDB normally uses the 'dot-prop' npm module.\n * But when performance is really relevant, this is not fast enough.\n * Instead we use a monad that can prepare some stuff up front\n * and we can reuse the generated function.\n */\n\nexport function objectPathMonad(objectPath) {\n var split = objectPath.split('.');\n\n // reuse this variable for better performance.\n var splitLength = split.length;\n\n /**\n * Performance shortcut,\n * if no nested path is used,\n * directly return the field of the object.\n */\n if (splitLength === 1) {\n return obj => obj[objectPath];\n }\n return obj => {\n var currentVal = obj;\n for (var i = 0; i < splitLength; ++i) {\n var subPath = split[i];\n currentVal = currentVal[subPath];\n if (typeof currentVal === 'undefined') {\n return currentVal;\n }\n }\n return currentVal;\n };\n}\nexport function getFromObjectOrThrow(obj, key) {\n var val = obj[key];\n if (!val) {\n throw new Error('missing value from object ' + key);\n }\n return val;\n}\n\n/**\n * returns a flattened object\n * @link https://gist.github.com/penguinboy/762197\n */\nexport function flattenObject(ob) {\n var toReturn = {};\n for (var i in ob) {\n if (!Object.prototype.hasOwnProperty.call(ob, i)) continue;\n if (typeof ob[i] === 'object') {\n var flatObject = flattenObject(ob[i]);\n for (var x in flatObject) {\n if (!Object.prototype.hasOwnProperty.call(flatObject, x)) continue;\n toReturn[i + '.' + x] = flatObject[x];\n }\n } else {\n toReturn[i] = ob[i];\n }\n }\n return toReturn;\n}\n\n/**\n * does a flat copy on the objects,\n * is about 3 times faster then using deepClone\n * @link https://jsperf.com/object-rest-spread-vs-clone/2\n */\nexport function flatClone(obj) {\n return Object.assign({}, obj);\n}\n\n/**\n * @link https://stackoverflow.com/a/11509718/3443137\n */\nexport function firstPropertyNameOfObject(obj) {\n return Object.keys(obj)[0];\n}\nexport function firstPropertyValueOfObject(obj) {\n var key = Object.keys(obj)[0];\n return obj[key];\n}\n\n/**\n * deep-sort an object so its attributes are in lexical order.\n * Also sorts the arrays inside of the object if no-array-sort not set\n */\nexport function sortObject(obj, noArraySort = false) {\n if (!obj) return obj; // do not sort null, false or undefined\n\n // array\n if (!noArraySort && Array.isArray(obj)) {\n return obj.sort((a, b) => {\n if (typeof a === 'string' && typeof b === 'string') return a.localeCompare(b);\n if (typeof a === 'object') return 1;else return -1;\n }).map(i => sortObject(i, noArraySort));\n }\n\n // object\n // array is also of type object\n if (typeof obj === 'object' && !Array.isArray(obj)) {\n var out = {};\n Object.keys(obj).sort((a, b) => a.localeCompare(b)).forEach(key => {\n out[key] = sortObject(obj[key], noArraySort);\n });\n return out;\n }\n\n // everything else\n return obj;\n}\n\n/**\n * Deep clone a plain json object.\n * Does not work with recursive stuff\n * or non-plain-json.\n * IMPORTANT: Performance of this is very important,\n * do not change it without running performance tests!\n *\n * @link https://github.com/zxdong262/deep-copy/blob/master/src/index.ts\n */\nfunction deepClone(src) {\n if (!src) {\n return src;\n }\n if (src === null || typeof src !== 'object') {\n return src;\n }\n if (Array.isArray(src)) {\n var ret = new Array(src.length);\n var i = ret.length;\n while (i--) {\n ret[i] = deepClone(src[i]);\n }\n return ret;\n }\n var dest = {};\n // eslint-disable-next-line guard-for-in\n for (var key in src) {\n dest[key] = deepClone(src[key]);\n }\n return dest;\n}\nexport var clone = deepClone;\n\n/**\n * overwrites the getter with the actual value\n * Mostly used for caching stuff on the first run\n */\nexport function overwriteGetterForCaching(obj, getterName, value) {\n Object.defineProperty(obj, getterName, {\n get: function () {\n return value;\n }\n });\n return value;\n}\nexport function hasDeepProperty(obj, property) {\n if (obj.hasOwnProperty(property)) {\n return true;\n }\n if (Array.isArray(obj)) {\n var has = !!obj.find(item => hasDeepProperty(item, property));\n return has;\n }\n\n // Recursively check for property in nested objects\n for (var key in obj) {\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n if (hasDeepProperty(obj[key], property)) {\n return true;\n }\n }\n }\n\n // Return false if 'foobar' is not found at any level\n return false;\n}\n//# sourceMappingURL=utils-object.js.map","import { flatClone } from \"./utils-object.js\";\n/**\n * We use 1 as minimum so that the value is never falsy.\n * This const is used in several places because querying\n * with a value lower then the minimum could give false results.\n */\nexport var RX_META_LWT_MINIMUM = 1;\nexport function getDefaultRxDocumentMeta() {\n return {\n /**\n * Set this to 1 to not waste performance\n * while calling new Date()..\n * The storage wrappers will anyway update\n * the lastWrite time while calling transformDocumentDataFromRxDBToRxStorage()\n */\n lwt: RX_META_LWT_MINIMUM\n };\n}\n\n/**\n * Returns a revision that is not valid.\n * Use this to have correct typings\n * while the storage wrapper anyway will overwrite the revision.\n */\nexport function getDefaultRevision() {\n /**\n * Use a non-valid revision format,\n * to ensure that the RxStorage will throw\n * when the revision is not replaced downstream.\n */\n return '';\n}\nexport function stripMetaDataFromDocument(docData) {\n return Object.assign({}, docData, {\n _meta: undefined,\n _deleted: undefined,\n _rev: undefined\n });\n}\n\n/**\n * Faster way to check the equality of document lists\n * compared to doing a deep-equal.\n * Here we only check the ids and revisions.\n */\nexport function areRxDocumentArraysEqual(primaryPath, ar1, ar2) {\n if (ar1.length !== ar2.length) {\n return false;\n }\n var i = 0;\n var len = ar1.length;\n while (i < len) {\n var row1 = ar1[i];\n var row2 = ar2[i];\n i++;\n if (row1._rev !== row2._rev || row1[primaryPath] !== row2[primaryPath]) {\n return false;\n }\n }\n return true;\n}\nexport function getSortDocumentsByLastWriteTimeComparator(primaryPath) {\n return (a, b) => {\n if (a._meta.lwt === b._meta.lwt) {\n if (b[primaryPath] < a[primaryPath]) {\n return 1;\n } else {\n return -1;\n }\n } else {\n return a._meta.lwt - b._meta.lwt;\n }\n };\n}\nexport function sortDocumentsByLastWriteTime(primaryPath, docs) {\n return docs.sort(getSortDocumentsByLastWriteTimeComparator(primaryPath));\n}\nexport function toWithDeleted(docData) {\n docData = flatClone(docData);\n docData._deleted = !!docData._deleted;\n return Object.assign(docData, {\n _attachments: undefined,\n _meta: undefined,\n _rev: undefined\n });\n}\n//# sourceMappingURL=utils-document.js.map","const defaults = Object.freeze({\n ignoreUnknown: false,\n respectType: false,\n respectFunctionNames: false,\n respectFunctionProperties: false,\n unorderedObjects: true,\n unorderedArrays: false,\n unorderedSets: false,\n excludeKeys: void 0,\n excludeValues: void 0,\n replacer: void 0\n});\nfunction objectHash(object, options) {\n if (options) {\n options = { ...defaults, ...options };\n } else {\n options = defaults;\n }\n const hasher = createHasher(options);\n hasher.dispatch(object);\n return hasher.toString();\n}\nconst defaultPrototypesKeys = Object.freeze([\n \"prototype\",\n \"__proto__\",\n \"constructor\"\n]);\nfunction createHasher(options) {\n let buff = \"\";\n let context = /* @__PURE__ */ new Map();\n const write = (str) => {\n buff += str;\n };\n return {\n toString() {\n return buff;\n },\n getContext() {\n return context;\n },\n dispatch(value) {\n if (options.replacer) {\n value = options.replacer(value);\n }\n const type = value === null ? \"null\" : typeof value;\n return this[type](value);\n },\n object(object) {\n if (object && typeof object.toJSON === \"function\") {\n return this.object(object.toJSON());\n }\n const objString = Object.prototype.toString.call(object);\n let objType = \"\";\n const objectLength = objString.length;\n if (objectLength < 10) {\n objType = \"unknown:[\" + objString + \"]\";\n } else {\n objType = objString.slice(8, objectLength - 1);\n }\n objType = objType.toLowerCase();\n let objectNumber = null;\n if ((objectNumber = context.get(object)) === void 0) {\n context.set(object, context.size);\n } else {\n return this.dispatch(\"[CIRCULAR:\" + objectNumber + \"]\");\n }\n if (typeof Buffer !== \"undefined\" && Buffer.isBuffer && Buffer.isBuffer(object)) {\n write(\"buffer:\");\n return write(object.toString(\"utf8\"));\n }\n if (objType !== \"object\" && objType !== \"function\" && objType !== \"asyncfunction\") {\n if (this[objType]) {\n this[objType](object);\n } else if (!options.ignoreUnknown) {\n this.unkown(object, objType);\n }\n } else {\n let keys = Object.keys(object);\n if (options.unorderedObjects) {\n keys = keys.sort();\n }\n let extraKeys = [];\n if (options.respectType !== false && !isNativeFunction(object)) {\n extraKeys = defaultPrototypesKeys;\n }\n if (options.excludeKeys) {\n keys = keys.filter((key) => {\n return !options.excludeKeys(key);\n });\n extraKeys = extraKeys.filter((key) => {\n return !options.excludeKeys(key);\n });\n }\n write(\"object:\" + (keys.length + extraKeys.length) + \":\");\n const dispatchForKey = (key) => {\n this.dispatch(key);\n write(\":\");\n if (!options.excludeValues) {\n this.dispatch(object[key]);\n }\n write(\",\");\n };\n for (const key of keys) {\n dispatchForKey(key);\n }\n for (const key of extraKeys) {\n dispatchForKey(key);\n }\n }\n },\n array(arr, unordered) {\n unordered = unordered === void 0 ? options.unorderedArrays !== false : unordered;\n write(\"array:\" + arr.length + \":\");\n if (!unordered || arr.length <= 1) {\n for (const entry of arr) {\n this.dispatch(entry);\n }\n return;\n }\n const contextAdditions = /* @__PURE__ */ new Map();\n const entries = arr.map((entry) => {\n const hasher = createHasher(options);\n hasher.dispatch(entry);\n for (const [key, value] of hasher.getContext()) {\n contextAdditions.set(key, value);\n }\n return hasher.toString();\n });\n context = contextAdditions;\n entries.sort();\n return this.array(entries, false);\n },\n date(date) {\n return write(\"date:\" + date.toJSON());\n },\n symbol(sym) {\n return write(\"symbol:\" + sym.toString());\n },\n unkown(value, type) {\n write(type);\n if (!value) {\n return;\n }\n write(\":\");\n if (value && typeof value.entries === \"function\") {\n return this.array(\n Array.from(value.entries()),\n true\n /* ordered */\n );\n }\n },\n error(err) {\n return write(\"error:\" + err.toString());\n },\n boolean(bool) {\n return write(\"bool:\" + bool);\n },\n string(string) {\n write(\"string:\" + string.length + \":\");\n write(string);\n },\n function(fn) {\n write(\"fn:\");\n if (isNativeFunction(fn)) {\n this.dispatch(\"[native]\");\n } else {\n this.dispatch(fn.toString());\n }\n if (options.respectFunctionNames !== false) {\n this.dispatch(\"function-name:\" + String(fn.name));\n }\n if (options.respectFunctionProperties) {\n this.object(fn);\n }\n },\n number(number) {\n return write(\"number:\" + number);\n },\n xml(xml) {\n return write(\"xml:\" + xml.toString());\n },\n null() {\n return write(\"Null\");\n },\n undefined() {\n return write(\"Undefined\");\n },\n regexp(regex) {\n return write(\"regex:\" + regex.toString());\n },\n uint8array(arr) {\n write(\"uint8array:\");\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n uint8clampedarray(arr) {\n write(\"uint8clampedarray:\");\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n int8array(arr) {\n write(\"int8array:\");\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n uint16array(arr) {\n write(\"uint16array:\");\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n int16array(arr) {\n write(\"int16array:\");\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n uint32array(arr) {\n write(\"uint32array:\");\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n int32array(arr) {\n write(\"int32array:\");\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n float32array(arr) {\n write(\"float32array:\");\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n float64array(arr) {\n write(\"float64array:\");\n return this.dispatch(Array.prototype.slice.call(arr));\n },\n arraybuffer(arr) {\n write(\"arraybuffer:\");\n return this.dispatch(new Uint8Array(arr));\n },\n url(url) {\n return write(\"url:\" + url.toString());\n },\n map(map) {\n write(\"map:\");\n const arr = [...map];\n return this.array(arr, options.unorderedSets !== false);\n },\n set(set) {\n write(\"set:\");\n const arr = [...set];\n return this.array(arr, options.unorderedSets !== false);\n },\n file(file) {\n write(\"file:\");\n return this.dispatch([file.name, file.size, file.type, file.lastModfied]);\n },\n blob() {\n if (options.ignoreUnknown) {\n return write(\"[blob]\");\n }\n throw new Error(\n 'Hashing Blob objects is currently not supported\\nUse \"options.replacer\" or \"options.ignoreUnknown\"\\n'\n );\n },\n domwindow() {\n return write(\"domwindow\");\n },\n bigint(number) {\n return write(\"bigint:\" + number.toString());\n },\n /* Node.js standard native objects */\n process() {\n return write(\"process\");\n },\n timer() {\n return write(\"timer\");\n },\n pipe() {\n return write(\"pipe\");\n },\n tcp() {\n return write(\"tcp\");\n },\n udp() {\n return write(\"udp\");\n },\n tty() {\n return write(\"tty\");\n },\n statwatcher() {\n return write(\"statwatcher\");\n },\n securecontext() {\n return write(\"securecontext\");\n },\n connection() {\n return write(\"connection\");\n },\n zlib() {\n return write(\"zlib\");\n },\n context() {\n return write(\"context\");\n },\n nodescript() {\n return write(\"nodescript\");\n },\n httpparser() {\n return write(\"httpparser\");\n },\n dataview() {\n return write(\"dataview\");\n },\n signal() {\n return write(\"signal\");\n },\n fsevent() {\n return write(\"fsevent\");\n },\n tlswrap() {\n return write(\"tlswrap\");\n }\n };\n}\nconst nativeFunc = \"[native code] }\";\nconst nativeFuncLength = nativeFunc.length;\nfunction isNativeFunction(f) {\n if (typeof f !== \"function\") {\n return false;\n }\n return Function.prototype.toString.call(f).slice(-nativeFuncLength) === nativeFunc;\n}\n\nclass WordArray {\n constructor(words, sigBytes) {\n words = this.words = words || [];\n this.sigBytes = sigBytes === void 0 ? words.length * 4 : sigBytes;\n }\n toString(encoder) {\n return (encoder || Hex).stringify(this);\n }\n concat(wordArray) {\n this.clamp();\n if (this.sigBytes % 4) {\n for (let i = 0; i < wordArray.sigBytes; i++) {\n const thatByte = wordArray.words[i >>> 2] >>> 24 - i % 4 * 8 & 255;\n this.words[this.sigBytes + i >>> 2] |= thatByte << 24 - (this.sigBytes + i) % 4 * 8;\n }\n } else {\n for (let j = 0; j < wordArray.sigBytes; j += 4) {\n this.words[this.sigBytes + j >>> 2] = wordArray.words[j >>> 2];\n }\n }\n this.sigBytes += wordArray.sigBytes;\n return this;\n }\n clamp() {\n this.words[this.sigBytes >>> 2] &= 4294967295 << 32 - this.sigBytes % 4 * 8;\n this.words.length = Math.ceil(this.sigBytes / 4);\n }\n clone() {\n return new WordArray([...this.words]);\n }\n}\nconst Hex = {\n stringify(wordArray) {\n const hexChars = [];\n for (let i = 0; i < wordArray.sigBytes; i++) {\n const bite = wordArray.words[i >>> 2] >>> 24 - i % 4 * 8 & 255;\n hexChars.push((bite >>> 4).toString(16), (bite & 15).toString(16));\n }\n return hexChars.join(\"\");\n }\n};\nconst Base64 = {\n stringify(wordArray) {\n const keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n const base64Chars = [];\n for (let i = 0; i < wordArray.sigBytes; i += 3) {\n const byte1 = wordArray.words[i >>> 2] >>> 24 - i % 4 * 8 & 255;\n const byte2 = wordArray.words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255;\n const byte3 = wordArray.words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255;\n const triplet = byte1 << 16 | byte2 << 8 | byte3;\n for (let j = 0; j < 4 && i * 8 + j * 6 < wordArray.sigBytes * 8; j++) {\n base64Chars.push(keyStr.charAt(triplet >>> 6 * (3 - j) & 63));\n }\n }\n return base64Chars.join(\"\");\n }\n};\nconst Latin1 = {\n parse(latin1Str) {\n const latin1StrLength = latin1Str.length;\n const words = [];\n for (let i = 0; i < latin1StrLength; i++) {\n words[i >>> 2] |= (latin1Str.charCodeAt(i) & 255) << 24 - i % 4 * 8;\n }\n return new WordArray(words, latin1StrLength);\n }\n};\nconst Utf8 = {\n parse(utf8Str) {\n return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n }\n};\nclass BufferedBlockAlgorithm {\n constructor() {\n this._data = new WordArray();\n this._nDataBytes = 0;\n this._minBufferSize = 0;\n this.blockSize = 512 / 32;\n }\n reset() {\n this._data = new WordArray();\n this._nDataBytes = 0;\n }\n _append(data) {\n if (typeof data === \"string\") {\n data = Utf8.parse(data);\n }\n this._data.concat(data);\n this._nDataBytes += data.sigBytes;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _doProcessBlock(_dataWords, _offset) {\n }\n _process(doFlush) {\n let processedWords;\n let nBlocksReady = this._data.sigBytes / (this.blockSize * 4);\n if (doFlush) {\n nBlocksReady = Math.ceil(nBlocksReady);\n } else {\n nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n }\n const nWordsReady = nBlocksReady * this.blockSize;\n const nBytesReady = Math.min(nWordsReady * 4, this._data.sigBytes);\n if (nWordsReady) {\n for (let offset = 0; offset < nWordsReady; offset += this.blockSize) {\n this._doProcessBlock(this._data.words, offset);\n }\n processedWords = this._data.words.splice(0, nWordsReady);\n this._data.sigBytes -= nBytesReady;\n }\n return new WordArray(processedWords, nBytesReady);\n }\n}\nclass Hasher extends BufferedBlockAlgorithm {\n update(messageUpdate) {\n this._append(messageUpdate);\n this._process();\n return this;\n }\n finalize(messageUpdate) {\n if (messageUpdate) {\n this._append(messageUpdate);\n }\n }\n}\n\nconst H = [\n 1779033703,\n -1150833019,\n 1013904242,\n -1521486534,\n 1359893119,\n -1694144372,\n 528734635,\n 1541459225\n];\nconst K = [\n 1116352408,\n 1899447441,\n -1245643825,\n -373957723,\n 961987163,\n 1508970993,\n -1841331548,\n -1424204075,\n -670586216,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n -2132889090,\n -1680079193,\n -1046744716,\n -459576895,\n -272742522,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n -1740746414,\n -1473132947,\n -1341970488,\n -1084653625,\n -958395405,\n -710438585,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n -2117940946,\n -1838011259,\n -1564481375,\n -1474664885,\n -1035236496,\n -949202525,\n -778901479,\n -694614492,\n -200395387,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n -2067236844,\n -1933114872,\n -1866530822,\n -1538233109,\n -1090935817,\n -965641998\n];\nconst W = [];\nclass SHA256 extends Hasher {\n constructor() {\n super(...arguments);\n this._hash = new WordArray([...H]);\n }\n reset() {\n super.reset();\n this._hash = new WordArray([...H]);\n }\n _doProcessBlock(M, offset) {\n const H2 = this._hash.words;\n let a = H2[0];\n let b = H2[1];\n let c = H2[2];\n let d = H2[3];\n let e = H2[4];\n let f = H2[5];\n let g = H2[6];\n let h = H2[7];\n for (let i = 0; i < 64; i++) {\n if (i < 16) {\n W[i] = M[offset + i] | 0;\n } else {\n const gamma0x = W[i - 15];\n const gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3;\n const gamma1x = W[i - 2];\n const gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10;\n W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n }\n const ch = e & f ^ ~e & g;\n const maj = a & b ^ a & c ^ b & c;\n const sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22);\n const sigma1 = (e << 26 | e >>> 6) ^ (e << 21 | e >>> 11) ^ (e << 7 | e >>> 25);\n const t1 = h + sigma1 + ch + K[i] + W[i];\n const t2 = sigma0 + maj;\n h = g;\n g = f;\n f = e;\n e = d + t1 | 0;\n d = c;\n c = b;\n b = a;\n a = t1 + t2 | 0;\n }\n H2[0] = H2[0] + a | 0;\n H2[1] = H2[1] + b | 0;\n H2[2] = H2[2] + c | 0;\n H2[3] = H2[3] + d | 0;\n H2[4] = H2[4] + e | 0;\n H2[5] = H2[5] + f | 0;\n H2[6] = H2[6] + g | 0;\n H2[7] = H2[7] + h | 0;\n }\n finalize(messageUpdate) {\n super.finalize(messageUpdate);\n const nBitsTotal = this._nDataBytes * 8;\n const nBitsLeft = this._data.sigBytes * 8;\n this._data.words[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;\n this._data.words[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(\n nBitsTotal / 4294967296\n );\n this._data.words[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;\n this._data.sigBytes = this._data.words.length * 4;\n this._process();\n return this._hash;\n }\n}\nfunction sha256(message) {\n return new SHA256().finalize(message).toString();\n}\nfunction sha256base64(message) {\n return new SHA256().finalize(message).toString(Base64);\n}\n\nfunction hash(object, options = {}) {\n const hashed = typeof object === \"string\" ? object : objectHash(object, options);\n return sha256base64(hashed).slice(0, 10);\n}\n\nfunction murmurHash(key, seed = 0) {\n if (typeof key === \"string\") {\n key = createBuffer(key);\n }\n let i = 0;\n let h1 = seed;\n let k1;\n let h1b;\n const remainder = key.length & 3;\n const bytes = key.length - remainder;\n const c1 = 3432918353;\n const c2 = 461845907;\n while (i < bytes) {\n k1 = key[i] & 255 | (key[++i] & 255) << 8 | (key[++i] & 255) << 16 | (key[++i] & 255) << 24;\n ++i;\n k1 = (k1 & 65535) * c1 + (((k1 >>> 16) * c1 & 65535) << 16) & 4294967295;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = (k1 & 65535) * c2 + (((k1 >>> 16) * c2 & 65535) << 16) & 4294967295;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1b = (h1 & 65535) * 5 + (((h1 >>> 16) * 5 & 65535) << 16) & 4294967295;\n h1 = (h1b & 65535) + 27492 + (((h1b >>> 16) + 58964 & 65535) << 16);\n }\n k1 = 0;\n switch (remainder) {\n case 3: {\n k1 ^= (key[i + 2] & 255) << 16;\n break;\n }\n case 2: {\n k1 ^= (key[i + 1] & 255) << 8;\n break;\n }\n case 1: {\n k1 ^= key[i] & 255;\n k1 = (k1 & 65535) * c1 + (((k1 >>> 16) * c1 & 65535) << 16) & 4294967295;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = (k1 & 65535) * c2 + (((k1 >>> 16) * c2 & 65535) << 16) & 4294967295;\n h1 ^= k1;\n }\n }\n h1 ^= key.length;\n h1 ^= h1 >>> 16;\n h1 = (h1 & 65535) * 2246822507 + (((h1 >>> 16) * 2246822507 & 65535) << 16) & 4294967295;\n h1 ^= h1 >>> 13;\n h1 = (h1 & 65535) * 3266489909 + (((h1 >>> 16) * 3266489909 & 65535) << 16) & 4294967295;\n h1 ^= h1 >>> 16;\n return h1 >>> 0;\n}\nfunction createBuffer(val) {\n return new TextEncoder().encode(val);\n}\n\nfunction isEqual(object1, object2, hashOptions = {}) {\n if (object1 === object2) {\n return true;\n }\n if (objectHash(object1, hashOptions) === objectHash(object2, hashOptions)) {\n return true;\n }\n return false;\n}\n\nfunction diff(obj1, obj2, opts = {}) {\n const h1 = _toHashedObject(obj1, opts);\n const h2 = _toHashedObject(obj2, opts);\n return _diff(h1, h2, opts);\n}\nfunction _diff(h1, h2, opts = {}) {\n const diffs = [];\n const allProps = /* @__PURE__ */ new Set([\n ...Object.keys(h1.props || {}),\n ...Object.keys(h2.props || {})\n ]);\n if (h1.props && h2.props) {\n for (const prop of allProps) {\n const p1 = h1.props[prop];\n const p2 = h2.props[prop];\n if (p1 && p2) {\n diffs.push(..._diff(h1.props?.[prop], h2.props?.[prop], opts));\n } else if (p1 || p2) {\n diffs.push(\n new DiffEntry((p2 || p1).key, p1 ? \"removed\" : \"added\", p2, p1)\n );\n }\n }\n }\n if (allProps.size === 0 && h1.hash !== h2.hash) {\n diffs.push(new DiffEntry((h2 || h1).key, \"changed\", h2, h1));\n }\n return diffs;\n}\nfunction _toHashedObject(obj, opts, key = \"\") {\n if (obj && typeof obj !== \"object\") {\n return new DiffHashedObject(key, obj, objectHash(obj, opts));\n }\n const props = {};\n const hashes = [];\n for (const _key in obj) {\n props[_key] = _toHashedObject(\n obj[_key],\n opts,\n key ? `${key}.${_key}` : _key\n );\n hashes.push(props[_key].hash);\n }\n return new DiffHashedObject(key, obj, `{${hashes.join(\":\")}}`, props);\n}\nclass DiffEntry {\n // eslint-disable-next-line no-useless-constructor\n constructor(key, type, newValue, oldValue) {\n this.key = key;\n this.type = type;\n this.newValue = newValue;\n this.oldValue = oldValue;\n }\n toString() {\n return this.toJSON();\n }\n toJSON() {\n switch (this.type) {\n case \"added\": {\n return `Added \\`${this.key}\\``;\n }\n case \"removed\": {\n return `Removed \\`${this.key}\\``;\n }\n case \"changed\": {\n return `Changed \\`${this.key}\\` from \\`${this.oldValue?.toString() || \"-\"}\\` to \\`${this.newValue.toString()}\\``;\n }\n }\n }\n}\nclass DiffHashedObject {\n // eslint-disable-next-line no-useless-constructor\n constructor(key, value, hash, props) {\n this.key = key;\n this.value = value;\n this.hash = hash;\n this.props = props;\n }\n toString() {\n if (this.props) {\n return `{${Object.keys(this.props).join(\",\")}}`;\n } else {\n return JSON.stringify(this.value);\n }\n }\n toJSON() {\n const k = this.key || \".\";\n if (this.props) {\n return `${k}({${Object.keys(this.props).join(\",\")}})`;\n }\n return `${k}(${this.value})`;\n }\n}\n\nexport { diff, hash, isEqual, murmurHash, objectHash, sha256, sha256base64 };\n","import { sha256 } from 'ohash';\n/**\n * TODO in the future we should no longer provide a\n * fallback to crypto.subtle.digest.\n * Instead users without crypto.subtle.digest support, should have to provide their own\n * hash function.\n */\nexport function jsSha256(input) {\n return Promise.resolve(sha256(input));\n}\nexport async function nativeSha256(input) {\n var data = new TextEncoder().encode(input);\n var hashBuffer = await crypto.subtle.digest('SHA-256', data);\n /**\n * @link https://jameshfisher.com/2017/10/30/web-cryptography-api-hello-world/\n */\n var hash = Array.prototype.map.call(new Uint8Array(hashBuffer), x => ('00' + x.toString(16)).slice(-2)).join('');\n return hash;\n}\nexport var canUseCryptoSubtle = typeof crypto !== 'undefined' && typeof crypto.subtle !== 'undefined' && typeof crypto.subtle.digest === 'function';\n\n/**\n * Default hash method used to hash\n * strings and do equal comparisons.\n *\n * IMPORTANT: Changing the default hashing method\n * requires a BREAKING change!\n */\n\nexport var defaultHashSha256 = canUseCryptoSubtle ? nativeSha256 : jsSha256;\n//# sourceMappingURL=utils-hash.js.map","/**\n * returns a promise that resolves on the next tick\n */\nexport function nextTick() {\n return new Promise(res => setTimeout(res, 0));\n}\nexport function promiseWait(ms = 0) {\n return new Promise(res => setTimeout(res, ms));\n}\nexport function toPromise(maybePromise) {\n if (maybePromise && typeof maybePromise.then === 'function') {\n // is promise\n return maybePromise;\n } else {\n return Promise.resolve(maybePromise);\n }\n}\n\n/**\n * returns true if promise is given\n */\nexport function isPromise(value) {\n if (typeof value !== 'undefined' && typeof value.then === 'function') {\n return true;\n }\n return false;\n}\n\n/**\n * Reusing resolved promises has a better\n * performance than creating new ones each time.\n */\nexport var PROMISE_RESOLVE_TRUE = Promise.resolve(true);\nexport var PROMISE_RESOLVE_FALSE = Promise.resolve(false);\nexport var PROMISE_RESOLVE_NULL = Promise.resolve(null);\nexport var PROMISE_RESOLVE_VOID = Promise.resolve();\nexport function requestIdlePromiseNoQueue(\n/**\n * We always set a timeout!\n * RxDB might be used on the server side where the\n * server runs 24/4 on 99% CPU. So without a timeout\n * this would never resolve which could cause a memory leak.\n */\ntimeout = 10000) {\n /**\n * Do not use window.requestIdleCallback\n * because some javascript runtimes like react-native,\n * do not have a window object, but still have a global\n * requestIdleCallback function.\n * @link https://github.com/pubkey/rxdb/issues/4804\n */\n if (typeof requestIdleCallback === 'function') {\n return new Promise(res => {\n requestIdleCallback(() => res(), {\n timeout\n });\n });\n } else {\n return promiseWait(0);\n }\n}\n\n/**\n * If multiple operations wait for an requestIdlePromise\n * we do not want them to resolve all at the same time.\n * So we have to queue the calls.\n */\nvar idlePromiseQueue = PROMISE_RESOLVE_VOID;\nexport function requestIdlePromise(timeout = undefined) {\n idlePromiseQueue = idlePromiseQueue.then(() => {\n return requestIdlePromiseNoQueue(timeout);\n });\n return idlePromiseQueue;\n}\n\n/**\n * run the callback if requestIdleCallback available\n * do nothing if not\n * @link https://developer.mozilla.org/de/docs/Web/API/Window/requestIdleCallback\n */\nexport function requestIdleCallbackIfAvailable(fun) {\n /**\n * Do not use window.requestIdleCallback\n * because some javascript runtimes like react-native,\n * do not have a window object, but still have a global\n * requestIdleCallback function.\n * @link https://github.com/pubkey/rxdb/issues/4804\n */\n if (typeof requestIdleCallback === 'function') {\n requestIdleCallback(() => {\n fun();\n });\n }\n}\n\n/**\n * like Promise.all() but runs in series instead of parallel\n * @link https://github.com/egoist/promise.series/blob/master/index.js\n * @param tasks array with functions that return a promise\n */\nexport function promiseSeries(tasks, initial) {\n return tasks.reduce((current, next) => current.then(next), Promise.resolve(initial));\n}\n//# sourceMappingURL=utils-promise.js.map","export var REGEX_ALL_DOTS = /\\./g;\nexport var REGEX_ALL_PIPES = /\\|/g;\n//# sourceMappingURL=utils-regex.js.map","var COUCH_NAME_CHARS = 'abcdefghijklmnopqrstuvwxyz';\n/**\n * get a random string which can be used with couchdb\n * @link http://stackoverflow.com/a/1349426/3443137\n */\nexport function randomCouchString(length = 10) {\n var text = '';\n for (var i = 0; i < length; i++) {\n text += COUCH_NAME_CHARS.charAt(Math.floor(Math.random() * COUCH_NAME_CHARS.length));\n }\n return text;\n}\n\n/**\n * A random string that is never inside of any storage\n */\nexport var RANDOM_STRING = 'Fz7SZXPmYJujkzjY1rpXWvlWBqoGAfAX';\n\n/**\n * uppercase first char\n */\nexport function ucfirst(str) {\n str += '';\n var f = str.charAt(0).toUpperCase();\n return f + str.substr(1);\n}\n\n/**\n * removes trailing and ending dots from the string\n */\nexport function trimDots(str) {\n // start\n while (str.charAt(0) === '.') {\n str = str.substr(1);\n }\n\n // end\n while (str.slice(-1) === '.') {\n str = str.slice(0, -1);\n }\n return str;\n}\n\n/**\n * @link https://stackoverflow.com/a/44950500/3443137\n */\nexport function lastCharOfString(str) {\n return str.charAt(str.length - 1);\n}\n\n/**\n * returns true if the given name is likely a folder path\n */\nexport function isFolderPath(name) {\n // do not check, if foldername is given\n if (name.includes('/') ||\n // unix\n name.includes('\\\\') // windows\n ) {\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * @link https://gist.github.com/andreburgaud/6f73fd2d690b629346b8\n * @link https://stackoverflow.com/a/76240378/3443137\n */\nexport function arrayBufferToString(arrayBuffer) {\n var chunkSize = 8192;\n var str = '';\n var len = arrayBuffer.byteLength;\n for (var i = 0; i < len; i += chunkSize) {\n var chunk = new Uint8Array(arrayBuffer, i, Math.min(chunkSize, len - i));\n str += String.fromCharCode.apply(null, chunk);\n }\n return str;\n}\nexport function stringToArrayBuffer(str) {\n var buf = new ArrayBuffer(str.length);\n var bufView = new Uint8Array(buf);\n for (var i = 0, strLen = str.length; i < strLen; i++) {\n bufView[i] = str.charCodeAt(i);\n }\n return buf;\n}\n//# sourceMappingURL=utils-string.js.map","/**\n * Copied from the fast-deep-equal package\n * because it does not support es modules and causes optimization bailouts.\n * TODO use the npm package again when this is merged:\n * @link https://github.com/epoberezkin/fast-deep-equal/pull/105\n */\nexport function deepEqual(a, b) {\n if (a === b) return true;\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length;\n var i;\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) if (!deepEqual(a[i], b[i])) return false;\n return true;\n }\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n var keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n for (i = length; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n if (!deepEqual(a[key], b[key])) return false;\n }\n return true;\n }\n\n // true if both NaN, false otherwise\n return a !== a && b !== b;\n}\n//# sourceMappingURL=utils-object-deep-equal.js.map","/**\n * Copied from\n * @link https://github.com/sindresorhus/dot-prop/blob/main/index.js\n * because it is currently an esm only module.\n * TODO use the npm package again when RxDB is also fully esm.\n */\n\nvar isObject = value => {\n var type = typeof value;\n return value !== null && (type === 'object' || type === 'function');\n};\nvar disallowedKeys = new Set(['__proto__', 'prototype', 'constructor']);\nvar digits = new Set('0123456789');\nfunction getPathSegments(path) {\n var parts = [];\n var currentSegment = '';\n var currentPart = 'start';\n var isIgnoring = false;\n for (var character of path) {\n switch (character) {\n case '\\\\':\n {\n if (currentPart === 'index') {\n throw new Error('Invalid character in an index');\n }\n if (currentPart === 'indexEnd') {\n throw new Error('Invalid character after an index');\n }\n if (isIgnoring) {\n currentSegment += character;\n }\n currentPart = 'property';\n isIgnoring = !isIgnoring;\n break;\n }\n case '.':\n {\n if (currentPart === 'index') {\n throw new Error('Invalid character in an index');\n }\n if (currentPart === 'indexEnd') {\n currentPart = 'property';\n break;\n }\n if (isIgnoring) {\n isIgnoring = false;\n currentSegment += character;\n break;\n }\n if (disallowedKeys.has(currentSegment)) {\n return [];\n }\n parts.push(currentSegment);\n currentSegment = '';\n currentPart = 'property';\n break;\n }\n case '[':\n {\n if (currentPart === 'index') {\n throw new Error('Invalid character in an index');\n }\n if (currentPart === 'indexEnd') {\n currentPart = 'index';\n break;\n }\n if (isIgnoring) {\n isIgnoring = false;\n currentSegment += character;\n break;\n }\n if (currentPart === 'property') {\n if (disallowedKeys.has(currentSegment)) {\n return [];\n }\n parts.push(currentSegment);\n currentSegment = '';\n }\n currentPart = 'index';\n break;\n }\n case ']':\n {\n if (currentPart === 'index') {\n parts.push(Number.parseInt(currentSegment, 10));\n currentSegment = '';\n currentPart = 'indexEnd';\n break;\n }\n if (currentPart === 'indexEnd') {\n throw new Error('Invalid character after an index');\n }\n\n // Falls through\n }\n default:\n {\n if (currentPart === 'index' && !digits.has(character)) {\n throw new Error('Invalid character in an index');\n }\n if (currentPart === 'indexEnd') {\n throw new Error('Invalid character after an index');\n }\n if (currentPart === 'start') {\n currentPart = 'property';\n }\n if (isIgnoring) {\n isIgnoring = false;\n currentSegment += '\\\\';\n }\n currentSegment += character;\n }\n }\n }\n if (isIgnoring) {\n currentSegment += '\\\\';\n }\n switch (currentPart) {\n case 'property':\n {\n if (disallowedKeys.has(currentSegment)) {\n return [];\n }\n parts.push(currentSegment);\n break;\n }\n case 'index':\n {\n throw new Error('Index was not closed');\n }\n case 'start':\n {\n parts.push('');\n break;\n }\n // No default\n }\n return parts;\n}\nfunction isStringIndex(object, key) {\n if (typeof key !== 'number' && Array.isArray(object)) {\n var index = Number.parseInt(key, 10);\n return Number.isInteger(index) && object[index] === object[key];\n }\n return false;\n}\nfunction assertNotStringIndex(object, key) {\n if (isStringIndex(object, key)) {\n throw new Error('Cannot use string index');\n }\n}\n\n/**\n * TODO we need some performance tests and improvements here.\n */\nexport function getProperty(object, path, value) {\n if (Array.isArray(path)) {\n path = path.join('.');\n }\n\n /**\n * Performance shortcut.\n * In most cases we just have a simple property name\n * so we can directly return it.\n */\n if (!path.includes('.') && !path.includes('[')) {\n return object[path];\n }\n if (!isObject(object) || typeof path !== 'string') {\n return value === undefined ? object : value;\n }\n var pathArray = getPathSegments(path);\n if (pathArray.length === 0) {\n return value;\n }\n for (var index = 0; index < pathArray.length; index++) {\n var key = pathArray[index];\n if (isStringIndex(object, key)) {\n object = index === pathArray.length - 1 ? undefined : null;\n } else {\n object = object[key];\n }\n if (object === undefined || object === null) {\n // `object` is either `undefined` or `null` so we want to stop the loop, and\n // if this is not the last bit of the path, and\n // if it didn't return `undefined`\n // it would return `null` if `object` is `null`\n // but we want `get({foo: null}, 'foo.bar')` to equal `undefined`, or the supplied value, not `null`\n if (index !== pathArray.length - 1) {\n return value;\n }\n break;\n }\n }\n return object === undefined ? value : object;\n}\nexport function setProperty(object, path, value) {\n if (Array.isArray(path)) {\n path = path.join('.');\n }\n if (!isObject(object) || typeof path !== 'string') {\n return object;\n }\n var root = object;\n var pathArray = getPathSegments(path);\n for (var index = 0; index < pathArray.length; index++) {\n var key = pathArray[index];\n assertNotStringIndex(object, key);\n if (index === pathArray.length - 1) {\n object[key] = value;\n } else if (!isObject(object[key])) {\n object[key] = typeof pathArray[index + 1] === 'number' ? [] : {};\n }\n object = object[key];\n }\n return root;\n}\nexport function deleteProperty(object, path) {\n if (!isObject(object) || typeof path !== 'string') {\n return false;\n }\n var pathArray = getPathSegments(path);\n for (var index = 0; index < pathArray.length; index++) {\n var key = pathArray[index];\n assertNotStringIndex(object, key);\n if (index === pathArray.length - 1) {\n delete object[key];\n return true;\n }\n object = object[key];\n if (!isObject(object)) {\n return false;\n }\n }\n}\nexport function hasProperty(object, path) {\n if (!isObject(object) || typeof path !== 'string') {\n return false;\n }\n var pathArray = getPathSegments(path);\n if (pathArray.length === 0) {\n return false;\n }\n for (var key of pathArray) {\n if (!isObject(object) || !(key in object) || isStringIndex(object, key)) {\n return false;\n }\n object = object[key];\n }\n return true;\n}\n\n// TODO: Backslashes with no effect should not be escaped\nfunction escapePath(path) {\n if (typeof path !== 'string') {\n throw new TypeError('Expected a string');\n }\n return path.replace(/[\\\\.[]/g, '\\\\$&');\n}\n\n// The keys returned by Object.entries() for arrays are strings\nfunction entries(value) {\n if (Array.isArray(value)) {\n return value.map((v, index) => [index, v]);\n }\n return Object.entries(value);\n}\nfunction stringifyPath(pathSegments) {\n var result = '';\n\n // eslint-disable-next-line prefer-const\n for (var [index, segment] of entries(pathSegments)) {\n if (typeof segment === 'number') {\n result += \"[\" + segment + \"]\";\n } else {\n segment = escapePath(segment);\n result += index === 0 ? segment : \".\" + segment;\n }\n }\n return result;\n}\nfunction* deepKeysIterator(object, currentPath = []) {\n if (!isObject(object)) {\n if (currentPath.length > 0) {\n yield stringifyPath(currentPath);\n }\n return;\n }\n for (var [key, value] of entries(object)) {\n yield* deepKeysIterator(value, [...currentPath, key]);\n }\n}\nexport function deepKeys(object) {\n return [...deepKeysIterator(object)];\n}\n//# sourceMappingURL=utils-object-dot-prop.js.map","export function getFromMapOrThrow(map, key) {\n var val = map.get(key);\n if (typeof val === 'undefined') {\n throw new Error('missing value from map ' + key);\n }\n return val;\n}\nexport function getFromMapOrCreate(map, index, creator, ifWasThere) {\n var value = map.get(index);\n if (typeof value === 'undefined') {\n value = creator();\n map.set(index, value);\n } else if (ifWasThere) {\n ifWasThere(value);\n }\n return value;\n}\n//# sourceMappingURL=utils-map.js.map","import { ucfirst } from \"./utils-string.js\";\n\n/**\n * Returns an error that indicates that a plugin is missing\n * We do not throw a RxError because this should not be handled\n * programmatically but by using the correct import\n */\nexport function pluginMissing(pluginKey) {\n var keyParts = pluginKey.split('-');\n var pluginName = 'RxDB';\n keyParts.forEach(part => {\n pluginName += ucfirst(part);\n });\n pluginName += 'Plugin';\n return new Error(\"You are using a function which must be overwritten by a plugin.\\n You should either prevent the usage of this function or add the plugin via:\\n import { \" + pluginName + \" } from 'rxdb/plugins/\" + pluginKey + \"';\\n addRxPlugin(\" + pluginName + \");\\n \");\n}\nexport function errorToPlainJson(err) {\n var ret = {\n name: err.name,\n message: err.message,\n rxdb: err.rxdb,\n parameters: err.parameters,\n code: err.code,\n /**\n * stack must be last to make it easier to read the json in a console.\n * Also we ensure that each linebreak is spaced so that the chrome devtools\n * shows urls to the source code that can be clicked to inspect\n * the correct place in the code.\n */\n stack: !err.stack ? undefined : err.stack.replace(/\\n/g, ' \\n ')\n };\n return ret;\n}\n//# sourceMappingURL=utils-error.js.map","/**\n * Returns the current unix time in milliseconds (with two decimals!)\n * Because the accuracy of getTime() in javascript is bad,\n * and we cannot rely on performance.now() on all platforms,\n * this method implements a way to never return the same value twice.\n * This ensures that when now() is called often, we do not loose the information\n * about which call came first and which came after.\n *\n * We had to move from having no decimals, to having two decimal\n * because it turned out that some storages are such fast that\n * calling this method too often would return 'the future'.\n */\nvar _lastNow = 0;\n/**\n * Returns the current time in milliseconds,\n * also ensures to not return the same value twice.\n */\nexport function now() {\n var ret = Date.now();\n ret = ret + 0.01;\n if (ret <= _lastNow) {\n ret = _lastNow + 0.01;\n }\n\n /**\n * Strip the returned number to max two decimals.\n * In theory we would not need this but\n * in practice JavaScript has no such good number precision\n * so rounding errors could add another decimal place.\n */\n var twoDecimals = parseFloat(ret.toFixed(2));\n _lastNow = twoDecimals;\n return twoDecimals;\n}\n//# sourceMappingURL=utils-time.js.map","export function runXTimes(xTimes, fn) {\n new Array(xTimes).fill(0).forEach((_v, idx) => fn(idx));\n}\nexport function ensureNotFalsy(obj, message) {\n if (!obj) {\n if (!message) {\n message = '';\n }\n throw new Error('ensureNotFalsy() is falsy: ' + message);\n }\n return obj;\n}\nexport function ensureInteger(obj) {\n if (!Number.isInteger(obj)) {\n throw new Error('ensureInteger() is falsy');\n }\n return obj;\n}\n\n/**\n * Using shareReplay() without settings will not unsubscribe\n * if there are no more subscribers.\n * So we use these defaults.\n * @link https://cartant.medium.com/rxjs-whats-changed-with-sharereplay-65c098843e95\n */\nexport var RXJS_SHARE_REPLAY_DEFAULTS = {\n bufferSize: 1,\n refCount: true\n};\n//# sourceMappingURL=utils-other.js.map","/**\n * This file is replaced in the 'npm run build:version' script.\n */\nexport var RXDB_VERSION = '15.9.1';\n//# sourceMappingURL=utils-rxdb-version.js.map","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","/**\n * functions that can or should be overwritten by plugins\n * IMPORTANT: Do not import any big stuff from RxDB here!\n * An 'overwritable' can be used inside WebWorkers for RxStorage only,\n * and we do not want to have the full RxDB lib bundled in them.\n */\n\nexport var overwritable = {\n /**\n * if this method is overwritten with one\n * that returns true, we do additional checks\n * which help the developer but have bad performance\n */\n isDevMode() {\n return false;\n },\n /**\n * Deep freezes and object when in dev-mode.\n * Deep-Freezing has the same performance as deep-cloning, so we only do that in dev-mode.\n * Also, we can ensure the readonly state via typescript\n * @link https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n */\n deepFreezeWhenDevMode(obj) {\n return obj;\n },\n /**\n * overwritten to map error-codes to text-messages\n */\n tunnelErrorMessage(message) {\n return \"RxDB Error-Code \" + message + \".\\n Error messages are not included in RxDB core to reduce build size.\\n - To find out what this error means, either use the dev-mode-plugin https://rxdb.info/dev-mode.html\\n - or search for the error code here: https://github.com/pubkey/rxdb/search?q=\" + message + \"\\n \";\n }\n};\n//# sourceMappingURL=overwritable.js.map","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _wrapNativeSuper from \"@babel/runtime/helpers/wrapNativeSuper\";\n/**\n * here we use custom errors with the additional field 'parameters'\n */\n\nimport { overwritable } from \"./overwritable.js\";\n/**\n * transform an object of parameters to a presentable string\n */\nfunction parametersToString(parameters) {\n var ret = '';\n if (Object.keys(parameters).length === 0) return ret;\n ret += 'Given parameters: {\\n';\n ret += Object.keys(parameters).map(k => {\n var paramStr = '[object Object]';\n try {\n if (k === 'errors') {\n paramStr = parameters[k].map(err => JSON.stringify(err, Object.getOwnPropertyNames(err)));\n } else {\n paramStr = JSON.stringify(parameters[k], function (_k, v) {\n return v === undefined ? null : v;\n }, 2);\n }\n } catch (e) {}\n return k + ':' + paramStr;\n }).join('\\n');\n ret += '}';\n return ret;\n}\nfunction messageForError(message, code, parameters) {\n return 'RxError (' + code + '):' + '\\n' + message + '\\n' + parametersToString(parameters);\n}\nexport var RxError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(RxError, _Error);\n // always true, use this to detect if its an rxdb-error\n\n function RxError(code, message, parameters = {}) {\n var _this;\n var mes = messageForError(message, code, parameters);\n _this = _Error.call(this, mes) || this;\n _this.code = code;\n _this.message = mes;\n _this.parameters = parameters;\n _this.rxdb = true; // tag them as internal\n return _this;\n }\n var _proto = RxError.prototype;\n _proto.toString = function toString() {\n return this.message;\n };\n _createClass(RxError, [{\n key: \"name\",\n get: function () {\n return 'RxError (' + this.code + ')';\n }\n }, {\n key: \"typeError\",\n get: function () {\n return false;\n }\n }]);\n return RxError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nexport var RxTypeError = /*#__PURE__*/function (_TypeError) {\n _inheritsLoose(RxTypeError, _TypeError);\n // always true, use this to detect if its an rxdb-error\n\n function RxTypeError(code, message, parameters = {}) {\n var _this2;\n var mes = messageForError(message, code, parameters);\n _this2 = _TypeError.call(this, mes) || this;\n _this2.code = code;\n _this2.message = mes;\n _this2.parameters = parameters;\n _this2.rxdb = true; // tag them as internal\n return _this2;\n }\n var _proto2 = RxTypeError.prototype;\n _proto2.toString = function toString() {\n return this.message;\n };\n _createClass(RxTypeError, [{\n key: \"name\",\n get: function () {\n return 'RxTypeError (' + this.code + ')';\n }\n }, {\n key: \"typeError\",\n get: function () {\n return true;\n }\n }]);\n return RxTypeError;\n}( /*#__PURE__*/_wrapNativeSuper(TypeError));\nexport function newRxError(code, parameters) {\n return new RxError(code, overwritable.tunnelErrorMessage(code), parameters);\n}\nexport function newRxTypeError(code, parameters) {\n return new RxTypeError(code, overwritable.tunnelErrorMessage(code), parameters);\n}\n\n/**\n * Returns the error if it is a 409 conflict,\n * return false if it is another error.\n */\nexport function isBulkWriteConflictError(err) {\n if (err && err.status === 409) {\n return err;\n } else {\n return false;\n }\n}\nvar STORAGE_WRITE_ERROR_CODE_TO_MESSAGE = {\n 409: 'document write conflict',\n 422: 'schema validation error',\n 510: 'attachment data missing'\n};\nexport function rxStorageWriteErrorToRxError(err) {\n return newRxError('COL20', {\n name: STORAGE_WRITE_ERROR_CODE_TO_MESSAGE[err.status],\n document: err.documentId,\n writeError: err\n });\n}\n//# sourceMappingURL=rx-error.js.map","/**\n * hook-functions that can be extended by the plugin\n */\nexport var HOOKS = {\n /**\n * Runs before a plugin is added.\n * Use this to block the usage of non-compatible plugins.\n */\n preAddRxPlugin: [],\n /**\n * functions that run before the database is created\n */\n preCreateRxDatabase: [],\n /**\n * runs after the database is created and prepared\n * but before the instance is returned to the user\n * @async\n */\n createRxDatabase: [],\n preCreateRxCollection: [],\n createRxCollection: [],\n /**\n * runs at the end of the destroy-process of a collection\n * @async\n */\n postDestroyRxCollection: [],\n /**\n * Runs after a collection is removed.\n * @async\n */\n postRemoveRxCollection: [],\n /**\n * functions that get the json-schema as input\n * to do additionally checks/manipulation\n */\n preCreateRxSchema: [],\n /**\n * functions that run after the RxSchema is created\n * gets RxSchema as attribute\n */\n createRxSchema: [],\n preCreateRxQuery: [],\n /**\n * Runs before a query is send to the\n * prepareQuery function of the storage engine.\n */\n prePrepareQuery: [],\n createRxDocument: [],\n /**\n * runs after a RxDocument is created,\n * cannot be async\n */\n postCreateRxDocument: [],\n /**\n * Runs before a RxStorageInstance is created\n * gets the params of createStorageInstance()\n * as attribute so you can manipulate them.\n * Notice that you have to clone stuff before mutating the inputs.\n */\n preCreateRxStorageInstance: [],\n /**\n * runs on the document-data before the document is migrated\n * {\n * doc: Object, // original doc-data\n * migrated: // migrated doc-data after run through migration-strategies\n * }\n */\n preMigrateDocument: [],\n /**\n * runs after the migration of a document has been done\n */\n postMigrateDocument: [],\n /**\n * runs at the beginning of the destroy-process of a database\n */\n preDestroyRxDatabase: [],\n /**\n * runs after a database has been removed\n * @async\n */\n postRemoveRxDatabase: [],\n /**\n * runs before the replication writes the rows to master\n * but before the rows have been modified\n * @async\n */\n preReplicationMasterWrite: [],\n /**\n * runs after the replication has been sent to the server\n * but before the new documents have been handled\n * @async\n */\n preReplicationMasterWriteDocumentsHandle: []\n};\nexport function runPluginHooks(hookKey, obj) {\n if (HOOKS[hookKey]) {\n HOOKS[hookKey].forEach(fun => fun(obj));\n }\n}\n\n/**\n * TODO\n * we should not run the hooks in parallel\n * this makes stuff unpredictable.\n */\nexport function runAsyncPluginHooks(hookKey, obj) {\n return Promise.all(HOOKS[hookKey].map(fun => fun(obj)));\n}\n\n/**\n * used in tests to remove hooks\n */\nexport function _clearHook(type, fun) {\n HOOKS[type] = HOOKS[type].filter(h => h !== fun);\n}\n//# sourceMappingURL=hooks.js.map","import { newRxError } from \"./rx-error.js\";\nimport { appendToArray, ensureNotFalsy, flatClone, getProperty, isMaybeReadonlyArray, REGEX_ALL_DOTS, RX_META_LWT_MINIMUM, sortObject, trimDots } from \"./plugins/utils/index.js\";\n/**\n * Helper function to create a valid RxJsonSchema\n * with a given version.\n */\nexport function getPseudoSchemaForVersion(version, primaryKey) {\n var pseudoSchema = fillWithDefaultSettings({\n version,\n type: 'object',\n primaryKey: primaryKey,\n properties: {\n [primaryKey]: {\n type: 'string',\n maxLength: 100\n }\n },\n indexes: [[primaryKey]],\n required: [primaryKey]\n });\n return pseudoSchema;\n}\n\n/**\n * Returns the sub-schema for a given path\n */\nexport function getSchemaByObjectPath(rxJsonSchema, path) {\n var usePath = path;\n usePath = usePath.replace(REGEX_ALL_DOTS, '.properties.');\n usePath = 'properties.' + usePath;\n usePath = trimDots(usePath);\n var ret = getProperty(rxJsonSchema, usePath);\n return ret;\n}\nexport function fillPrimaryKey(primaryPath, jsonSchema, documentData) {\n // optimization shortcut.\n if (typeof jsonSchema.primaryKey === 'string') {\n return documentData;\n }\n var newPrimary = getComposedPrimaryKeyOfDocumentData(jsonSchema, documentData);\n var existingPrimary = documentData[primaryPath];\n if (existingPrimary && existingPrimary !== newPrimary) {\n throw newRxError('DOC19', {\n args: {\n documentData,\n existingPrimary,\n newPrimary\n },\n schema: jsonSchema\n });\n }\n documentData[primaryPath] = newPrimary;\n return documentData;\n}\nexport function getPrimaryFieldOfPrimaryKey(primaryKey) {\n if (typeof primaryKey === 'string') {\n return primaryKey;\n } else {\n return primaryKey.key;\n }\n}\nexport function getLengthOfPrimaryKey(schema) {\n var primaryPath = getPrimaryFieldOfPrimaryKey(schema.primaryKey);\n var schemaPart = getSchemaByObjectPath(schema, primaryPath);\n return ensureNotFalsy(schemaPart.maxLength);\n}\n\n/**\n * Returns the composed primaryKey of a document by its data.\n */\nexport function getComposedPrimaryKeyOfDocumentData(jsonSchema, documentData) {\n if (typeof jsonSchema.primaryKey === 'string') {\n return documentData[jsonSchema.primaryKey];\n }\n var compositePrimary = jsonSchema.primaryKey;\n return compositePrimary.fields.map(field => {\n var value = getProperty(documentData, field);\n if (typeof value === 'undefined') {\n throw newRxError('DOC18', {\n args: {\n field,\n documentData\n }\n });\n }\n return value;\n }).join(compositePrimary.separator);\n}\n\n/**\n * Normalize the RxJsonSchema.\n * We need this to ensure everything is set up properly\n * and we have the same hash on schemas that represent the same value but\n * have different json.\n *\n * - Orders the schemas attributes by alphabetical order\n * - Adds the primaryKey to all indexes that do not contain the primaryKey\n * - We need this for deterministic sort order on all queries, which is required for event-reduce to work.\n *\n * @return RxJsonSchema - ordered and filled\n */\nexport function normalizeRxJsonSchema(jsonSchema) {\n var normalizedSchema = sortObject(jsonSchema, true);\n return normalizedSchema;\n}\n\n/**\n * If the schema does not specify any index,\n * we add this index so we at least can run RxQuery()\n * and only select non-deleted fields.\n */\nexport function getDefaultIndex(primaryPath) {\n return ['_deleted', primaryPath];\n}\n\n/**\n * fills the schema-json with default-settings\n * @return cloned schemaObj\n */\nexport function fillWithDefaultSettings(schemaObj) {\n schemaObj = flatClone(schemaObj);\n var primaryPath = getPrimaryFieldOfPrimaryKey(schemaObj.primaryKey);\n schemaObj.properties = flatClone(schemaObj.properties);\n\n // additionalProperties is always false\n schemaObj.additionalProperties = false;\n\n // fill with key-compression-state ()\n if (!Object.prototype.hasOwnProperty.call(schemaObj, 'keyCompression')) {\n schemaObj.keyCompression = false;\n }\n\n // indexes must be array\n schemaObj.indexes = schemaObj.indexes ? schemaObj.indexes.slice(0) : [];\n\n // required must be array\n schemaObj.required = schemaObj.required ? schemaObj.required.slice(0) : [];\n\n // encrypted must be array\n schemaObj.encrypted = schemaObj.encrypted ? schemaObj.encrypted.slice(0) : [];\n\n // add _rev\n schemaObj.properties._rev = {\n type: 'string',\n minLength: 1\n };\n\n // add attachments\n schemaObj.properties._attachments = {\n type: 'object'\n };\n\n // add deleted flag\n schemaObj.properties._deleted = {\n type: 'boolean'\n };\n\n // add meta property\n schemaObj.properties._meta = RX_META_SCHEMA;\n\n /**\n * meta fields are all required\n */\n schemaObj.required = schemaObj.required ? schemaObj.required.slice(0) : [];\n schemaObj.required.push('_deleted');\n schemaObj.required.push('_rev');\n schemaObj.required.push('_meta');\n schemaObj.required.push('_attachments');\n\n // final fields are always required\n var finalFields = getFinalFields(schemaObj);\n appendToArray(schemaObj.required, finalFields);\n schemaObj.required = schemaObj.required.filter(field => !field.includes('.')).filter((elem, pos, arr) => arr.indexOf(elem) === pos); // unique;\n\n // version is 0 by default\n schemaObj.version = schemaObj.version || 0;\n var useIndexes = schemaObj.indexes.map(index => {\n var arIndex = isMaybeReadonlyArray(index) ? index.slice(0) : [index];\n /**\n * Append primary key to indexes that do not contain the primaryKey.\n * All indexes must have the primaryKey to ensure a deterministic sort order.\n */\n if (!arIndex.includes(primaryPath)) {\n arIndex.push(primaryPath);\n }\n\n // add _deleted flag to all indexes so we can query only non-deleted fields\n // in RxDB itself\n if (arIndex[0] !== '_deleted') {\n arIndex.unshift('_deleted');\n }\n return arIndex;\n });\n if (useIndexes.length === 0) {\n useIndexes.push(getDefaultIndex(primaryPath));\n }\n\n // we need this index for the getChangedDocumentsSince() method\n useIndexes.push(['_meta.lwt', primaryPath]);\n\n // also add the internalIndexes\n if (schemaObj.internalIndexes) {\n schemaObj.internalIndexes.map(idx => {\n useIndexes.push(idx);\n });\n }\n\n // make indexes unique\n var hasIndex = new Set();\n useIndexes.filter(index => {\n var indexStr = index.join(',');\n if (hasIndex.has(indexStr)) {\n return false;\n } else {\n hasIndex.add(indexStr);\n return true;\n }\n });\n schemaObj.indexes = useIndexes;\n return schemaObj;\n}\nexport var RX_META_SCHEMA = {\n type: 'object',\n properties: {\n /**\n * The last-write time.\n * Unix time in milliseconds.\n */\n lwt: {\n type: 'number',\n /**\n * We use 1 as minimum so that the value is never falsy.\n */\n minimum: RX_META_LWT_MINIMUM,\n maximum: 1000000000000000,\n multipleOf: 0.01\n }\n },\n /**\n * Additional properties are allowed\n * and can be used by plugins to set various flags.\n */\n additionalProperties: true,\n required: ['lwt']\n};\n\n/**\n * returns the final-fields of the schema\n * @return field-names of the final-fields\n */\nexport function getFinalFields(jsonSchema) {\n var ret = Object.keys(jsonSchema.properties).filter(key => jsonSchema.properties[key].final);\n\n // primary is also final\n var primaryPath = getPrimaryFieldOfPrimaryKey(jsonSchema.primaryKey);\n ret.push(primaryPath);\n\n // fields of composite primary are final\n if (typeof jsonSchema.primaryKey !== 'string') {\n jsonSchema.primaryKey.fields.forEach(field => ret.push(field));\n }\n return ret;\n}\n\n/**\n * fills all unset fields with default-values if set\n * @hotPath\n */\nexport function fillObjectWithDefaults(rxSchema, obj) {\n var defaultKeys = Object.keys(rxSchema.defaultValues);\n for (var i = 0; i < defaultKeys.length; ++i) {\n var key = defaultKeys[i];\n if (!Object.prototype.hasOwnProperty.call(obj, key) || typeof obj[key] === 'undefined') {\n obj[key] = rxSchema.defaultValues[key];\n }\n }\n return obj;\n}\nexport var DEFAULT_CHECKPOINT_SCHEMA = {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n lwt: {\n type: 'number'\n }\n },\n required: ['id', 'lwt'],\n additionalProperties: false\n};\n//# sourceMappingURL=rx-schema-helper.js.map","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport { overwriteGetterForCaching, isMaybeReadonlyArray, deepEqual } from \"./plugins/utils/index.js\";\nimport { newRxError } from \"./rx-error.js\";\nimport { runPluginHooks } from \"./hooks.js\";\nimport { fillWithDefaultSettings, getComposedPrimaryKeyOfDocumentData, getFinalFields, getPrimaryFieldOfPrimaryKey, getSchemaByObjectPath, normalizeRxJsonSchema } from \"./rx-schema-helper.js\";\nimport { overwritable } from \"./overwritable.js\";\nexport var RxSchema = /*#__PURE__*/function () {\n function RxSchema(jsonSchema, hashFunction) {\n this.jsonSchema = jsonSchema;\n this.hashFunction = hashFunction;\n this.indexes = getIndexes(this.jsonSchema);\n\n // primary is always required\n this.primaryPath = getPrimaryFieldOfPrimaryKey(this.jsonSchema.primaryKey);\n this.finalFields = getFinalFields(this.jsonSchema);\n }\n var _proto = RxSchema.prototype;\n /**\n * checks if a given change on a document is allowed\n * Ensures that:\n * - final fields are not modified\n * @throws {Error} if not valid\n */\n _proto.validateChange = function validateChange(dataBefore, dataAfter) {\n this.finalFields.forEach(fieldName => {\n if (!deepEqual(dataBefore[fieldName], dataAfter[fieldName])) {\n throw newRxError('DOC9', {\n dataBefore,\n dataAfter,\n fieldName,\n schema: this.jsonSchema\n });\n }\n });\n }\n\n /**\n * creates the schema-based document-prototype,\n * see RxCollection.getDocumentPrototype()\n */;\n _proto.getDocumentPrototype = function getDocumentPrototype() {\n var proto = {};\n\n /**\n * On the top level, we know all keys\n * and therefore do not have to create a new Proxy object\n * for each document. Instead we define the getter in the prototype once.\n */\n var pathProperties = getSchemaByObjectPath(this.jsonSchema, '');\n Object.keys(pathProperties).forEach(key => {\n var fullPath = key;\n\n // getter - value\n proto.__defineGetter__(key, function () {\n if (!this.get || typeof this.get !== 'function') {\n /**\n * When an object gets added to the state of a vuejs-component,\n * it happens that this getter is called with another scope.\n * To prevent errors, we have to return undefined in this case\n */\n return undefined;\n }\n var ret = this.get(fullPath);\n return ret;\n });\n // getter - observable$\n Object.defineProperty(proto, key + '$', {\n get: function () {\n return this.get$(fullPath);\n },\n enumerable: false,\n configurable: false\n });\n // getter - reactivity$$\n Object.defineProperty(proto, key + '$$', {\n get: function () {\n return this.get$$(fullPath);\n },\n enumerable: false,\n configurable: false\n });\n // getter - populate_\n Object.defineProperty(proto, key + '_', {\n get: function () {\n return this.populate(fullPath);\n },\n enumerable: false,\n configurable: false\n });\n });\n overwriteGetterForCaching(this, 'getDocumentPrototype', () => proto);\n return proto;\n };\n _proto.getPrimaryOfDocumentData = function getPrimaryOfDocumentData(documentData) {\n return getComposedPrimaryKeyOfDocumentData(this.jsonSchema, documentData);\n };\n _createClass(RxSchema, [{\n key: \"version\",\n get: function () {\n return this.jsonSchema.version;\n }\n }, {\n key: \"defaultValues\",\n get: function () {\n var values = {};\n Object.entries(this.jsonSchema.properties).filter(([, v]) => Object.prototype.hasOwnProperty.call(v, 'default')).forEach(([k, v]) => values[k] = v.default);\n return overwriteGetterForCaching(this, 'defaultValues', values);\n }\n\n /**\n * @overrides itself on the first call\n *\n * TODO this should be a pure function that\n * caches the hash in a WeakMap.\n */\n }, {\n key: \"hash\",\n get: function () {\n return overwriteGetterForCaching(this, 'hash', this.hashFunction(JSON.stringify(this.jsonSchema)));\n }\n }]);\n return RxSchema;\n}();\nexport function getIndexes(jsonSchema) {\n return (jsonSchema.indexes || []).map(index => isMaybeReadonlyArray(index) ? index : [index]);\n}\n\n/**\n * array with previous version-numbers\n */\nexport function getPreviousVersions(schema) {\n var version = schema.version ? schema.version : 0;\n var c = 0;\n return new Array(version).fill(0).map(() => c++);\n}\nexport function createRxSchema(jsonSchema, hashFunction, runPreCreateHooks = true) {\n if (runPreCreateHooks) {\n runPluginHooks('preCreateRxSchema', jsonSchema);\n }\n var useJsonSchema = fillWithDefaultSettings(jsonSchema);\n useJsonSchema = normalizeRxJsonSchema(useJsonSchema);\n overwritable.deepFreezeWhenDevMode(useJsonSchema);\n var schema = new RxSchema(useJsonSchema, hashFunction);\n runPluginHooks('createRxSchema', schema);\n return schema;\n}\nexport function isRxSchema(obj) {\n return obj instanceof RxSchema;\n}\n\n/**\n * Used as helper function the generate the document type out of the schema via typescript.\n * @link https://github.com/pubkey/rxdb/discussions/3467\n */\nexport function toTypedRxJsonSchema(schema) {\n return schema;\n}\n//# sourceMappingURL=rx-schema.js.map","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { __extends } from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var intervalProvider = {\n setInterval: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = intervalProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearInterval: function (handle) {\n var delegate = intervalProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { __extends } from \"tslib\";\nimport { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n var _a;\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, _id, delay) {\n if (delay === void 0) { delay = 0; }\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (_scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, _delay) {\n var errored = false;\n var errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype.unsubscribe = function () {\n if (!this.closed) {\n var _a = this, id = _a.id, scheduler = _a.scheduler;\n var actions = scheduler.actions;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n _super.prototype.unsubscribe.call(this);\n }\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar Scheduler = (function () {\n function Scheduler(schedulerActionCtor, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n };\n Scheduler.now = dateTimestampProvider.now;\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map","import { __extends } from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler.now; }\n var _this = _super.call(this, SchedulerAction, now) || this;\n _this.actions = [];\n _this._active = false;\n return _this;\n }\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this._active) {\n actions.push(action);\n return;\n }\n var error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n//# sourceMappingURL=isScheduler.js.map","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n//# sourceMappingURL=isDate.js.map","import { Observable } from '../Observable';\nimport { async as asyncScheduler } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isValidDate } from '../util/isDate';\nexport function timer(dueTime, intervalOrScheduler, scheduler) {\n if (dueTime === void 0) { dueTime = 0; }\n if (scheduler === void 0) { scheduler = asyncScheduler; }\n var intervalDuration = -1;\n if (intervalOrScheduler != null) {\n if (isScheduler(intervalOrScheduler)) {\n scheduler = intervalOrScheduler;\n }\n else {\n intervalDuration = intervalOrScheduler;\n }\n }\n return new Observable(function (subscriber) {\n var due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;\n if (due < 0) {\n due = 0;\n }\n var n = 0;\n return scheduler.schedule(function () {\n if (!subscriber.closed) {\n subscriber.next(n++);\n if (0 <= intervalDuration) {\n this.schedule(undefined, intervalDuration);\n }\n else {\n subscriber.complete();\n }\n }\n }, due);\n });\n}\n//# sourceMappingURL=timer.js.map","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n//# sourceMappingURL=args.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { operate } from '../util/lift';\nexport function catchError(selector) {\n return operate(function (source, subscriber) {\n var innerSub = null;\n var syncUnsub = false;\n var handledResult;\n innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, function (err) {\n handledResult = innerFrom(selector(err, catchError(selector)(source)));\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n else {\n syncUnsub = true;\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n });\n}\n//# sourceMappingURL=catchError.js.map","var isArray = Array.isArray;\nvar getPrototypeOf = Object.getPrototypeOf, objectProto = Object.prototype, getKeys = Object.keys;\nexport function argsArgArrayOrObject(args) {\n if (args.length === 1) {\n var first_1 = args[0];\n if (isArray(first_1)) {\n return { args: first_1, keys: null };\n }\n if (isPOJO(first_1)) {\n var keys = getKeys(first_1);\n return {\n args: keys.map(function (key) { return first_1[key]; }),\n keys: keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n//# sourceMappingURL=argsArgArrayOrObject.js.map","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return executeSchedule(subscriber, scheduler, function () { return subscriber.next(value); }, delay); }, function () { return executeSchedule(subscriber, scheduler, function () { return subscriber.complete(); }, delay); }, function (err) { return executeSchedule(subscriber, scheduler, function () { return subscriber.error(err); }, delay); }));\n });\n}\n//# sourceMappingURL=observeOn.js.map","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n subscriber.add(scheduler.schedule(function () { return source.subscribe(subscriber); }, delay));\n });\n}\n//# sourceMappingURL=subscribeOn.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=scheduleObservable.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=schedulePromise.js.map","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n//# sourceMappingURL=scheduleArray.js.map","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable(function (subscriber) {\n var iterator;\n executeSchedule(subscriber, scheduler, function () {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, function () {\n var _a;\n var value;\n var done;\n try {\n (_a = iterator.next(), value = _a.value, done = _a.done);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return function () { return isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); };\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n executeSchedule(subscriber, scheduler, function () {\n var iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, function () {\n iterator.next().then(function (result) {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n//# sourceMappingURL=scheduleAsyncIterable.js.map","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n//# sourceMappingURL=scheduleReadableStreamLike.js.map","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n//# sourceMappingURL=scheduled.js.map","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n//# sourceMappingURL=from.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { map } from \"../operators/map\";\nvar isArray = Array.isArray;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(function (args) { return callOrApply(fn, args); });\n}\n//# sourceMappingURL=mapOneOrManyArgs.js.map","export function createObject(keys, values) {\n return keys.reduce(function (result, key, i) { return ((result[key] = values[i]), result); }, {});\n}\n//# sourceMappingURL=createObject.js.map","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { from } from './from';\nimport { identity } from '../util/identity';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { popResultSelector, popScheduler } from '../util/args';\nimport { createObject } from '../util/createObject';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function combineLatest() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = popScheduler(args);\n var resultSelector = popResultSelector(args);\n var _a = argsArgArrayOrObject(args), observables = _a.args, keys = _a.keys;\n if (observables.length === 0) {\n return from([], scheduler);\n }\n var result = new Observable(combineLatestInit(observables, scheduler, keys\n ?\n function (values) { return createObject(keys, values); }\n :\n identity));\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\nexport function combineLatestInit(observables, scheduler, valueTransform) {\n if (valueTransform === void 0) { valueTransform = identity; }\n return function (subscriber) {\n maybeSchedule(scheduler, function () {\n var length = observables.length;\n var values = new Array(length);\n var active = length;\n var remainingFirstValues = length;\n var _loop_1 = function (i) {\n maybeSchedule(scheduler, function () {\n var source = from(observables[i], scheduler);\n var hasFirstValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n values[i] = value;\n if (!hasFirstValue) {\n hasFirstValue = true;\n remainingFirstValues--;\n }\n if (!remainingFirstValues) {\n subscriber.next(valueTransform(values.slice()));\n }\n }, function () {\n if (!--active) {\n subscriber.complete();\n }\n }));\n }, subscriber);\n };\n for (var i = 0; i < length; i++) {\n _loop_1(i);\n }\n }, subscriber);\n };\n}\nfunction maybeSchedule(scheduler, execute, subscription) {\n if (scheduler) {\n executeSchedule(subscription, scheduler, execute);\n }\n else {\n execute();\n }\n}\n//# sourceMappingURL=combineLatest.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n var buffer = [];\n var active = 0;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); };\n var doInnerSub = function (value) {\n expand && subscriber.next(value);\n active++;\n var innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, function (innerValue) {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, function () {\n innerComplete = true;\n }, undefined, function () {\n if (innerComplete) {\n try {\n active--;\n var _loop_1 = function () {\n var bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, function () { return doInnerSub(bufferedValue); });\n }\n else {\n doInnerSub(bufferedValue);\n }\n };\n while (buffer.length && active < concurrent) {\n _loop_1();\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, function () {\n isComplete = true;\n checkComplete();\n }));\n return function () {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n//# sourceMappingURL=mergeInternals.js.map","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n if (isFunction(resultSelector)) {\n return mergeMap(function (a, i) { return map(function (b, ii) { return resultSelector(a, b, i, ii); })(innerFrom(project(a, i))); }, concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate(function (source, subscriber) { return mergeInternals(source, subscriber, project, concurrent); });\n}\n//# sourceMappingURL=mergeMap.js.map","var isArray = Array.isArray;\nexport function argsOrArgArray(args) {\n return args.length === 1 && isArray(args[0]) ? args[0] : args;\n}\n//# sourceMappingURL=argsOrArgArray.js.map","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","import { concatAll } from '../operators/concatAll';\nimport { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function concat() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return concatAll()(from(args, popScheduler(args)));\n}\n//# sourceMappingURL=concat.js.map","import { Observable } from '../Observable';\nexport var EMPTY = new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map","import { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function of() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = popScheduler(args);\n return from(args, scheduler);\n}\n//# sourceMappingURL=of.js.map","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector) {\n if (keySelector === void 0) { keySelector = identity; }\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate(function (source, subscriber) {\n var previousKey;\n var first = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\n//# sourceMappingURL=filter.js.map","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) { return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n}; });\n//# sourceMappingURL=EmptyError.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { operate } from '../util/lift';\nimport { argsOrArgArray } from '../util/argsOrArgArray';\nimport { mergeAll } from './mergeAll';\nimport { popNumber, popScheduler } from '../util/args';\nimport { from } from '../observable/from';\nexport function merge() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = popScheduler(args);\n var concurrent = popNumber(args, Infinity);\n args = argsOrArgArray(args);\n return operate(function (source, subscriber) {\n mergeAll(concurrent)(from(__spreadArray([source], __read(args)), scheduler)).subscribe(subscriber);\n });\n}\n//# sourceMappingURL=merge.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { merge } from './merge';\nexport function mergeWith() {\n var otherSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n otherSources[_i] = arguments[_i];\n }\n return merge.apply(void 0, __spreadArray([], __read(otherSources)));\n}\n//# sourceMappingURL=mergeWith.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nvar BehaviorSubject = (function (_super) {\n __extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: false,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, _value = _a._value;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, (this._value = value));\n };\n return BehaviorSubject;\n}(Subject));\nexport { BehaviorSubject };\n//# sourceMappingURL=BehaviorSubject.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {\n if (_bufferSize === void 0) { _bufferSize = Infinity; }\n if (_windowTime === void 0) { _windowTime = Infinity; }\n if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider; }\n var _this = _super.call(this) || this;\n _this._bufferSize = _bufferSize;\n _this._windowTime = _windowTime;\n _this._timestampProvider = _timestampProvider;\n _this._buffer = [];\n _this._infiniteTimeWindow = true;\n _this._infiniteTimeWindow = _windowTime === Infinity;\n _this._bufferSize = Math.max(1, _bufferSize);\n _this._windowTime = Math.max(1, _windowTime);\n return _this;\n }\n ReplaySubject.prototype.next = function (value) {\n var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n var subscription = this._innerSubscribe(subscriber);\n var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;\n var copy = _buffer.slice();\n for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n };\n ReplaySubject.prototype._trimBuffer = function () {\n var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;\n var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n var now = _timestampProvider.now();\n var last = 0;\n for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\n//# sourceMappingURL=ReplaySubject.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nimport { timer } from '../observable/timer';\nimport { innerFrom } from '../observable/innerFrom';\nexport function retry(configOrCount) {\n if (configOrCount === void 0) { configOrCount = Infinity; }\n var config;\n if (configOrCount && typeof configOrCount === 'object') {\n config = configOrCount;\n }\n else {\n config = {\n count: configOrCount,\n };\n }\n var _a = config.count, count = _a === void 0 ? Infinity : _a, delay = config.delay, _b = config.resetOnSuccess, resetOnSuccess = _b === void 0 ? false : _b;\n return count <= 0\n ? identity\n : operate(function (source, subscriber) {\n var soFar = 0;\n var innerSub;\n var subscribeForRetry = function () {\n var syncUnsub = false;\n innerSub = source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n if (resetOnSuccess) {\n soFar = 0;\n }\n subscriber.next(value);\n }, undefined, function (err) {\n if (soFar++ < count) {\n var resub_1 = function () {\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n subscribeForRetry();\n }\n else {\n syncUnsub = true;\n }\n };\n if (delay != null) {\n var notifier = typeof delay === 'number' ? timer(delay) : innerFrom(delay(err, soFar));\n var notifierSubscriber_1 = createOperatorSubscriber(subscriber, function () {\n notifierSubscriber_1.unsubscribe();\n resub_1();\n }, function () {\n subscriber.complete();\n });\n notifier.subscribe(notifierSubscriber_1);\n }\n else {\n resub_1();\n }\n }\n else {\n subscriber.error(err);\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n subscribeForRetry();\n }\n };\n subscribeForRetry();\n });\n}\n//# sourceMappingURL=retry.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { innerFrom } from '../observable/innerFrom';\nimport { Subject } from '../Subject';\nimport { SafeSubscriber } from '../Subscriber';\nimport { operate } from '../util/lift';\nexport function share(options) {\n if (options === void 0) { options = {}; }\n var _a = options.connector, connector = _a === void 0 ? function () { return new Subject(); } : _a, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c = options.resetOnComplete, resetOnComplete = _c === void 0 ? true : _c, _d = options.resetOnRefCountZero, resetOnRefCountZero = _d === void 0 ? true : _d;\n return function (wrapperSource) {\n var connection;\n var resetConnection;\n var subject;\n var refCount = 0;\n var hasCompleted = false;\n var hasErrored = false;\n var cancelReset = function () {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = undefined;\n };\n var reset = function () {\n cancelReset();\n connection = subject = undefined;\n hasCompleted = hasErrored = false;\n };\n var resetAndUnsubscribe = function () {\n var conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return operate(function (source, subscriber) {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n var dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(function () {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection &&\n refCount > 0) {\n connection = new SafeSubscriber({\n next: function (value) { return dest.next(value); },\n error: function (err) {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: function () {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n innerFrom(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nfunction handleReset(reset, on) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (on === true) {\n reset();\n return;\n }\n if (on === false) {\n return;\n }\n var onSubscriber = new SafeSubscriber({\n next: function () {\n onSubscriber.unsubscribe();\n reset();\n },\n });\n return innerFrom(on.apply(void 0, __spreadArray([], __read(args)))).subscribe(onSubscriber);\n}\n//# sourceMappingURL=share.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n var _a, _b, _c;\n var bufferSize;\n var refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n (_a = configOrBufferSize.bufferSize, bufferSize = _a === void 0 ? Infinity : _a, _b = configOrBufferSize.windowTime, windowTime = _b === void 0 ? Infinity : _b, _c = configOrBufferSize.refCount, refCount = _c === void 0 ? false : _c, scheduler = configOrBufferSize.scheduler);\n }\n else {\n bufferSize = (configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity);\n }\n return share({\n connector: function () { return new ReplaySubject(bufferSize, windowTime, scheduler); },\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount,\n });\n}\n//# sourceMappingURL=shareReplay.js.map","import { concat } from '../observable/concat';\nimport { popScheduler } from '../util/args';\nimport { operate } from '../util/lift';\nexport function startWith() {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n var scheduler = popScheduler(values);\n return operate(function (source, subscriber) {\n (scheduler ? concat(values, source, scheduler) : concat(values, source)).subscribe(subscriber);\n });\n}\n//# sourceMappingURL=startWith.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate(function (source, subscriber) {\n var innerSubscriber = null;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () { return isComplete && !innerSubscriber && subscriber.complete(); };\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n var innerIndex = 0;\n var outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, function (innerValue) { return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue); }, function () {\n innerSubscriber = null;\n checkComplete();\n })));\n }, function () {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n//# sourceMappingURL=switchMap.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function takeWhile(predicate, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var result = predicate(value, index++);\n (result || inclusive) && subscriber.next(value);\n !result && subscriber.complete();\n }));\n });\n}\n//# sourceMappingURL=takeWhile.js.map","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n var tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error: error, complete: complete }\n : observerOrNext;\n return tapObserver\n ? operate(function (source, subscriber) {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n var isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, function () {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, function (err) {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, function () {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/innerFrom';\nimport { identity } from '../util/identity';\nimport { noop } from '../util/noop';\nimport { popResultSelector } from '../util/args';\nexport function withLatestFrom() {\n var inputs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n inputs[_i] = arguments[_i];\n }\n var project = popResultSelector(inputs);\n return operate(function (source, subscriber) {\n var len = inputs.length;\n var otherValues = new Array(len);\n var hasValue = inputs.map(function () { return false; });\n var ready = false;\n var _loop_1 = function (i) {\n innerFrom(inputs[i]).subscribe(createOperatorSubscriber(subscriber, function (value) {\n otherValues[i] = value;\n if (!ready && !hasValue[i]) {\n hasValue[i] = true;\n (ready = hasValue.every(identity)) && (hasValue = null);\n }\n }, noop));\n };\n for (var i = 0; i < len; i++) {\n _loop_1(i);\n }\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n if (ready) {\n var values = __spreadArray([value], __read(otherValues));\n subscriber.next(project ? project.apply(void 0, __spreadArray([], __read(values))) : values);\n }\n }));\n });\n}\n//# sourceMappingURL=withLatestFrom.js.map","/**\n * RxChangeEvents a emitted when something in the database changes\n * they can be grabbed by the observables of database, collection and document\n */\n\nimport { overwritable } from \"./overwritable.js\";\nimport { appendToArray } from \"./plugins/utils/index.js\";\nexport function getDocumentDataOfRxChangeEvent(rxChangeEvent) {\n if (rxChangeEvent.documentData) {\n return rxChangeEvent.documentData;\n } else {\n return rxChangeEvent.previousDocumentData;\n }\n}\n\n/**\n * Might return null which means an\n * already deleted document got modified but still is deleted.\n * These kind of events are not relevant for the event-reduce algorithm\n * and must be filtered out.\n */\nexport function rxChangeEventToEventReduceChangeEvent(rxChangeEvent) {\n switch (rxChangeEvent.operation) {\n case 'INSERT':\n return {\n operation: rxChangeEvent.operation,\n id: rxChangeEvent.documentId,\n doc: rxChangeEvent.documentData,\n previous: null\n };\n case 'UPDATE':\n return {\n operation: rxChangeEvent.operation,\n id: rxChangeEvent.documentId,\n doc: overwritable.deepFreezeWhenDevMode(rxChangeEvent.documentData),\n previous: rxChangeEvent.previousDocumentData ? rxChangeEvent.previousDocumentData : 'UNKNOWN'\n };\n case 'DELETE':\n return {\n operation: rxChangeEvent.operation,\n id: rxChangeEvent.documentId,\n doc: null,\n previous: rxChangeEvent.previousDocumentData\n };\n }\n}\n\n/**\n * Flattens the given events into a single array of events.\n * Used mostly in tests.\n */\nexport function flattenEvents(input) {\n var output = [];\n if (Array.isArray(input)) {\n input.forEach(inputItem => {\n var add = flattenEvents(inputItem);\n appendToArray(output, add);\n });\n } else {\n if (input.id && input.events) {\n // is bulk\n input.events.forEach(ev => output.push(ev));\n } else {\n output.push(input);\n }\n }\n var usedIds = new Set();\n var nonDuplicate = [];\n function getEventId(ev) {\n return [ev.documentId, ev.documentData ? ev.documentData._rev : '', ev.previousDocumentData ? ev.previousDocumentData._rev : ''].join('|');\n }\n output.forEach(ev => {\n var eventId = getEventId(ev);\n if (!usedIds.has(eventId)) {\n usedIds.add(eventId);\n nonDuplicate.push(ev);\n }\n });\n return nonDuplicate;\n}\n//# sourceMappingURL=rx-change-event.js.map","import { Observable } from '../Observable';\nimport { isFunction } from './isFunction';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (isFunction(obj.lift) && isFunction(obj.subscribe)));\n}\n//# sourceMappingURL=isObservable.js.map","import { EmptyError } from './util/EmptyError';\nexport function lastValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var _hasValue = false;\n var _value;\n source.subscribe({\n next: function (value) {\n _value = value;\n _hasValue = true;\n },\n error: reject,\n complete: function () {\n if (_hasValue) {\n resolve(_value);\n }\n else if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n });\n}\n//# sourceMappingURL=lastValueFrom.js.map","import { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\nexport function firstValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: function () {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=firstValueFrom.js.map","import { Observable } from '../Observable';\nimport { innerFrom } from './innerFrom';\nexport function defer(observableFactory) {\n return new Observable(function (subscriber) {\n innerFrom(observableFactory()).subscribe(subscriber);\n });\n}\n//# sourceMappingURL=defer.js.map","import { __read } from \"tslib\";\nimport { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nvar nodeEventEmitterMethods = ['addListener', 'removeListener'];\nvar eventTargetMethods = ['addEventListener', 'removeEventListener'];\nvar jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n var _a = __read(isEventTarget(target)\n ? eventTargetMethods.map(function (methodName) { return function (handler) { return target[methodName](eventName, handler, options); }; })\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [], 2), add = _a[0], remove = _a[1];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap(function (subTarget) { return fromEvent(subTarget, eventName, options); })(innerFrom(target));\n }\n }\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n return new Observable(function (subscriber) {\n var handler = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return subscriber.next(1 < args.length ? args : args[0]);\n };\n add(handler);\n return function () { return remove(handler); };\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return function (methodName) { return function (handler) { return target[methodName](eventName, handler); }; };\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n//# sourceMappingURL=fromEvent.js.map","import { mergeAll } from '../operators/mergeAll';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nimport { from } from './from';\nexport function merge() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = popScheduler(args);\n var concurrent = popNumber(args, Infinity);\n var sources = args;\n return !sources.length\n ?\n EMPTY\n : sources.length === 1\n ?\n innerFrom(sources[0])\n :\n mergeAll(concurrent)(from(sources, scheduler));\n}\n//# sourceMappingURL=merge.js.map","export function lastOfArray(ar) {\n return ar[ar.length - 1];\n}\n/**\n * @link https://stackoverflow.com/a/5915122\n */\nexport function randomOfArray(items) {\n return items[Math.floor(Math.random() * items.length)];\n}\nexport function shuffleArray(arr) {\n return arr.slice().sort(() => (Math.random() - 0.5));\n}\n/**\n * normalizes sort-field\n * in: '-age'\n * out: 'age'\n */\nexport function normalizeSortField(field) {\n if (field.startsWith('-')) {\n return field.substr(1);\n }\n else {\n return field;\n }\n}\nexport function getSortFieldsOfQuery(query) {\n if (!query.sort) {\n // if no sort-order is set, use the primary key\n return ['_id'];\n }\n return query.sort.map(maybeArray => {\n if (Array.isArray(maybeArray)) {\n return maybeArray[0].map((field) => normalizeSortField(field));\n }\n else {\n return normalizeSortField(maybeArray);\n }\n });\n}\n/**\n * @link https://stackoverflow.com/a/1431113\n */\nexport function replaceCharAt(str, index, replacement) {\n return str.substr(0, index) + replacement + str.substr(index + replacement.length);\n}\nexport function mapToObject(map) {\n const ret = {};\n map.forEach((value, key) => {\n ret[key] = value;\n });\n return ret;\n}\nexport function objectToMap(object) {\n const ret = new Map();\n Object.entries(object).forEach(([k, v]) => {\n ret.set(k, v);\n });\n return ret;\n}\nexport function cloneMap(map) {\n const ret = new Map();\n map.forEach((value, key) => {\n ret[key] = value;\n });\n return ret;\n}\n/**\n * does a flat copy on the objects,\n * is about 3 times faster then using deepClone\n * @link https://jsperf.com/object-rest-spread-vs-clone/2\n */\nexport function flatClone(obj) {\n return Object.assign({}, obj);\n}\nexport function ensureNotFalsy(obj) {\n if (!obj) {\n throw new Error('ensureNotFalsy() is falsy');\n }\n return obj;\n}\nexport function mergeSets(sets) {\n let ret = new Set();\n sets.forEach(set => {\n ret = new Set([...ret, ...set]);\n });\n return ret;\n}\n/**\n * @link https://stackoverflow.com/a/12830454/3443137\n */\nexport function roundToTwoDecimals(num) {\n return parseFloat(num.toFixed(2));\n}\nexport function isObject(value) {\n const type = typeof value;\n return value !== null && (type === 'object' || type === 'function');\n}\nexport function getProperty(object, path, value) {\n if (Array.isArray(path)) {\n path = path.join('.');\n }\n if (!isObject(object) || typeof path !== 'string') {\n return value === undefined ? object : value;\n }\n const pathArray = path.split('.');\n if (pathArray.length === 0) {\n return value;\n }\n for (let index = 0; index < pathArray.length; index++) {\n const key = pathArray[index];\n if (isStringIndex(object, key)) {\n object = index === pathArray.length - 1 ? undefined : null;\n }\n else {\n object = object[key];\n }\n if (object === undefined || object === null) {\n // `object` is either `undefined` or `null` so we want to stop the loop, and\n // if this is not the last bit of the path, and\n // if it didn't return `undefined`\n // it would return `null` if `object` is `null`\n // but we want `get({foo: null}, 'foo.bar')` to equal `undefined`, or the supplied value, not `null`\n if (index !== pathArray.length - 1) {\n return value;\n }\n break;\n }\n }\n return object === undefined ? value : object;\n}\nfunction isStringIndex(object, key) {\n if (typeof key !== 'number' && Array.isArray(object)) {\n const index = Number.parseInt(key, 10);\n return Number.isInteger(index) && object[index] === object[key];\n }\n return false;\n}\n//# sourceMappingURL=util.js.map","import { getProperty, lastOfArray } from '../util.js';\nexport const hasLimit = (input) => {\n return !!input.queryParams.limit;\n};\nexport const isFindOne = (input) => {\n return input.queryParams.limit === 1;\n};\nexport const hasSkip = (input) => {\n if (input.queryParams.skip && input.queryParams.skip > 0) {\n return true;\n }\n else {\n return false;\n }\n};\nexport const isDelete = (input) => {\n return input.changeEvent.operation === 'DELETE';\n};\nexport const isInsert = (input) => {\n return input.changeEvent.operation === 'INSERT';\n};\nexport const isUpdate = (input) => {\n return input.changeEvent.operation === 'UPDATE';\n};\nexport const wasLimitReached = (input) => {\n return hasLimit(input) && input.previousResults.length >= input.queryParams.limit;\n};\nexport const sortParamsChanged = (input) => {\n const sortFields = input.queryParams.sortFields;\n const prev = input.changeEvent.previous;\n const doc = input.changeEvent.doc;\n if (!doc) {\n return false;\n }\n if (!prev) {\n return true;\n }\n for (let i = 0; i < sortFields.length; i++) {\n const field = sortFields[i];\n const beforeData = getProperty(prev, field);\n const afterData = getProperty(doc, field);\n if (beforeData !== afterData) {\n return true;\n }\n }\n return false;\n};\nexport const wasInResult = (input) => {\n const id = input.changeEvent.id;\n if (input.keyDocumentMap) {\n const has = input.keyDocumentMap.has(id);\n return has;\n }\n else {\n const primary = input.queryParams.primaryKey;\n const results = input.previousResults;\n for (let i = 0; i < results.length; i++) {\n const item = results[i];\n if (item[primary] === id) {\n return true;\n }\n }\n return false;\n }\n};\nexport const wasFirst = (input) => {\n const first = input.previousResults[0];\n if (first && first[input.queryParams.primaryKey] === input.changeEvent.id) {\n return true;\n }\n else {\n return false;\n }\n};\nexport const wasLast = (input) => {\n const last = lastOfArray(input.previousResults);\n if (last && last[input.queryParams.primaryKey] === input.changeEvent.id) {\n return true;\n }\n else {\n return false;\n }\n};\nexport const wasSortedBeforeFirst = (input) => {\n const prev = input.changeEvent.previous;\n if (!prev) {\n return false;\n }\n const first = input.previousResults[0];\n if (!first) {\n return false;\n }\n /**\n * If the changed document is the same as the first,\n * we cannot sort-compare them, because it might end in a non-deterministic\n * sort order. Because both document could be equal.\n * So instead we have to return true.\n */\n if (first[input.queryParams.primaryKey] === input.changeEvent.id) {\n return true;\n }\n const comp = input.queryParams.sortComparator(prev, first);\n return comp < 0;\n};\nexport const wasSortedAfterLast = (input) => {\n const prev = input.changeEvent.previous;\n if (!prev) {\n return false;\n }\n const last = lastOfArray(input.previousResults);\n if (!last) {\n return false;\n }\n if (last[input.queryParams.primaryKey] === input.changeEvent.id) {\n return true;\n }\n const comp = input.queryParams.sortComparator(prev, last);\n return comp > 0;\n};\nexport const isSortedBeforeFirst = (input) => {\n const doc = input.changeEvent.doc;\n if (!doc) {\n return false;\n }\n const first = input.previousResults[0];\n if (!first) {\n return false;\n }\n if (first[input.queryParams.primaryKey] === input.changeEvent.id) {\n return true;\n }\n const comp = input.queryParams.sortComparator(doc, first);\n return comp < 0;\n};\nexport const isSortedAfterLast = (input) => {\n const doc = input.changeEvent.doc;\n if (!doc) {\n return false;\n }\n const last = lastOfArray(input.previousResults);\n if (!last) {\n return false;\n }\n if (last[input.queryParams.primaryKey] === input.changeEvent.id) {\n return true;\n }\n const comp = input.queryParams.sortComparator(doc, last);\n return comp > 0;\n};\nexport const wasMatching = (input) => {\n const prev = input.changeEvent.previous;\n if (!prev) {\n return false;\n }\n return input.queryParams.queryMatcher(prev);\n};\nexport const doesMatchNow = (input) => {\n const doc = input.changeEvent.doc;\n if (!doc) {\n return false;\n }\n const ret = input.queryParams.queryMatcher(doc);\n return ret;\n};\nexport const wasResultsEmpty = (input) => {\n return input.previousResults.length === 0;\n};\n//# sourceMappingURL=state-resolver.js.map","import { hasLimit, isFindOne, hasSkip, wasResultsEmpty, isDelete, isInsert, isUpdate, wasLimitReached, sortParamsChanged, wasInResult, wasFirst, wasLast, wasSortedBeforeFirst, wasSortedAfterLast, isSortedBeforeFirst, isSortedAfterLast, wasMatching, doesMatchNow } from './state-resolver.js';\nexport * from './state-resolver.js';\n/**\n * all states ordered by performance-cost\n * cheapest first\n * TODO run tests on which is really the fastest\n */\nexport const orderedStateList = [\n 'isInsert',\n 'isUpdate',\n 'isDelete',\n 'hasLimit',\n 'isFindOne',\n 'hasSkip',\n 'wasResultsEmpty',\n 'wasLimitReached',\n 'wasFirst',\n 'wasLast',\n 'sortParamsChanged',\n 'wasInResult',\n 'wasSortedBeforeFirst',\n 'wasSortedAfterLast',\n 'isSortedBeforeFirst',\n 'isSortedAfterLast',\n 'wasMatching',\n 'doesMatchNow'\n];\nexport const stateResolveFunctions = {\n isInsert,\n isUpdate,\n isDelete,\n hasLimit,\n isFindOne,\n hasSkip,\n wasResultsEmpty,\n wasLimitReached,\n wasFirst,\n wasLast,\n sortParamsChanged,\n wasInResult,\n wasSortedBeforeFirst,\n wasSortedAfterLast,\n isSortedBeforeFirst,\n isSortedAfterLast,\n wasMatching,\n doesMatchNow\n};\nexport const stateResolveFunctionByIndex = {\n 0: isInsert,\n 1: isUpdate,\n 2: isDelete,\n 3: hasLimit,\n 4: isFindOne,\n 5: hasSkip,\n 6: wasResultsEmpty,\n 7: wasLimitReached,\n 8: wasFirst,\n 9: wasLast,\n 10: sortParamsChanged,\n 11: wasInResult,\n 12: wasSortedBeforeFirst,\n 13: wasSortedAfterLast,\n 14: isSortedBeforeFirst,\n 15: isSortedAfterLast,\n 16: wasMatching,\n 17: doesMatchNow\n};\nexport function resolveState(stateName, input) {\n const fn = stateResolveFunctions[stateName];\n if (!fn) {\n throw new Error('resolveState() has no function for ' + stateName);\n }\n return fn(input);\n}\nexport function getStateSet(input) {\n let set = '';\n for (let i = 0; i < orderedStateList.length; i++) {\n const name = orderedStateList[i];\n const value = resolveState(name, input);\n const add = value ? '1' : '0';\n set += add;\n }\n return set;\n}\nexport function logStateSet(stateSet) {\n orderedStateList.forEach((state, index) => {\n console.log('state: ' + state + ' : ' + stateSet[index]);\n });\n}\n//# sourceMappingURL=index.js.map","/**\n * copied and adapted from npm 'binary-search-insert'\n * @link https://www.npmjs.com/package/binary-search-insert\n */\nexport function pushAtSortPosition(array, item, compareFunction, low) {\n var length = array.length;\n var high = length - 1;\n var mid = 0;\n\n /**\n * Optimization shortcut.\n */\n if (length === 0) {\n array.push(item);\n return 0;\n }\n\n /**\n * So we do not have to get the ret[mid] doc again\n * at the last we store it here.\n */\n var lastMidDoc;\n while (low <= high) {\n // https://github.com/darkskyapp/binary-search\n // http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html\n mid = low + (high - low >> 1);\n lastMidDoc = array[mid];\n if (compareFunction(lastMidDoc, item) <= 0.0) {\n // searching too low\n low = mid + 1;\n } else {\n // searching too high\n high = mid - 1;\n }\n }\n if (compareFunction(lastMidDoc, item) <= 0.0) {\n mid++;\n }\n\n /**\n * Insert at correct position\n */\n array.splice(mid, 0, item);\n return mid;\n}","import { pushAtSortPosition } from 'array-push-at-sort-position';\nexport const doNothing = (_input) => { };\nexport const insertFirst = (input) => {\n input.previousResults.unshift(input.changeEvent.doc);\n if (input.keyDocumentMap) {\n input.keyDocumentMap.set(input.changeEvent.id, input.changeEvent.doc);\n }\n};\nexport const insertLast = (input) => {\n input.previousResults.push(input.changeEvent.doc);\n if (input.keyDocumentMap) {\n input.keyDocumentMap.set(input.changeEvent.id, input.changeEvent.doc);\n }\n};\nexport const removeFirstItem = (input) => {\n const first = input.previousResults.shift();\n if (input.keyDocumentMap && first) {\n input.keyDocumentMap.delete(first[input.queryParams.primaryKey]);\n }\n};\nexport const removeLastItem = (input) => {\n const last = input.previousResults.pop();\n if (input.keyDocumentMap && last) {\n input.keyDocumentMap.delete(last[input.queryParams.primaryKey]);\n }\n};\nexport const removeFirstInsertLast = (input) => {\n removeFirstItem(input);\n insertLast(input);\n};\nexport const removeLastInsertFirst = (input) => {\n removeLastItem(input);\n insertFirst(input);\n};\nexport const removeFirstInsertFirst = (input) => {\n removeFirstItem(input);\n insertFirst(input);\n};\nexport const removeLastInsertLast = (input) => {\n removeLastItem(input);\n insertLast(input);\n};\nexport const removeExisting = (input) => {\n if (input.keyDocumentMap) {\n input.keyDocumentMap.delete(input.changeEvent.id);\n }\n // find index of document\n const primary = input.queryParams.primaryKey;\n const results = input.previousResults;\n for (let i = 0; i < results.length; i++) {\n const item = results[i];\n // remove\n if (item[primary] === input.changeEvent.id) {\n results.splice(i, 1);\n break;\n }\n }\n};\nexport const replaceExisting = (input) => {\n // find index of document\n const doc = input.changeEvent.doc;\n const primary = input.queryParams.primaryKey;\n const results = input.previousResults;\n for (let i = 0; i < results.length; i++) {\n const item = results[i];\n // replace\n if (item[primary] === input.changeEvent.id) {\n results[i] = doc;\n if (input.keyDocumentMap) {\n input.keyDocumentMap.set(input.changeEvent.id, doc);\n }\n break;\n }\n }\n};\n/**\n * this function always returns wrong results\n * it must be later optimised out\n * otherwise there is something broken\n */\nexport const alwaysWrong = (input) => {\n const wrongHuman = {\n _id: 'wrongHuman' + new Date().getTime()\n };\n input.previousResults.length = 0; // clear array\n input.previousResults.push(wrongHuman);\n if (input.keyDocumentMap) {\n input.keyDocumentMap.clear();\n input.keyDocumentMap.set(wrongHuman._id, wrongHuman);\n }\n};\nexport const insertAtSortPosition = (input) => {\n const docId = input.changeEvent.id;\n const doc = input.changeEvent.doc;\n if (input.keyDocumentMap) {\n if (input.keyDocumentMap.has(docId)) {\n /**\n * If document is already in results,\n * we cannot add it again because it would throw on non-deterministic ordering.\n */\n return;\n }\n input.keyDocumentMap.set(docId, doc);\n }\n else {\n const isDocInResults = input.previousResults.find((d) => d[input.queryParams.primaryKey] === docId);\n /**\n * If document is already in results,\n * we cannot add it again because it would throw on non-deterministic ordering.\n */\n if (isDocInResults) {\n return;\n }\n }\n pushAtSortPosition(input.previousResults, doc, input.queryParams.sortComparator, 0);\n};\nexport const removeExistingAndInsertAtSortPosition = (input) => {\n removeExisting(input);\n insertAtSortPosition(input);\n};\nexport const runFullQueryAgain = (_input) => {\n throw new Error('Action runFullQueryAgain must be implemented by yourself');\n};\nexport const unknownAction = (_input) => {\n throw new Error('Action unknownAction should never be called');\n};\n//# sourceMappingURL=action-functions.js.map","import { doNothing, insertFirst, insertLast, removeFirstItem, removeLastItem, removeFirstInsertLast, removeLastInsertFirst, removeExisting, replaceExisting, alwaysWrong, insertAtSortPosition, removeExistingAndInsertAtSortPosition, runFullQueryAgain, unknownAction, removeFirstInsertFirst, removeLastInsertLast } from './action-functions.js';\nexport * from './action-functions.js';\n/**\n * all actions ordered by performance-cost\n * cheapest first\n * TODO run tests on which is really the fastest\n */\nexport const orderedActionList = [\n 'doNothing',\n 'insertFirst',\n 'insertLast',\n 'removeFirstItem',\n 'removeLastItem',\n 'removeFirstInsertLast',\n 'removeLastInsertFirst',\n 'removeFirstInsertFirst',\n 'removeLastInsertLast',\n 'removeExisting',\n 'replaceExisting',\n 'alwaysWrong',\n 'insertAtSortPosition',\n 'removeExistingAndInsertAtSortPosition',\n 'runFullQueryAgain',\n 'unknownAction'\n];\nexport const actionFunctions = {\n doNothing,\n insertFirst,\n insertLast,\n removeFirstItem,\n removeLastItem,\n removeFirstInsertLast,\n removeLastInsertFirst,\n removeFirstInsertFirst,\n removeLastInsertLast,\n removeExisting,\n replaceExisting,\n alwaysWrong,\n insertAtSortPosition,\n removeExistingAndInsertAtSortPosition,\n runFullQueryAgain,\n unknownAction\n};\n//# sourceMappingURL=index.js.map","/*\nlet t = 0;\nwhile (t < 10000) {\n const char = String.fromCharCode(t);\n console.log(t + ' : ' + char);\n t++;\n}\n*/\n/*\n\nTo have a really small string representation, we have to hack some stuff\nwhich makes is complicated but effective.\n\nRules for the string:\n- The string starts with a number like '23' that defines how many leaf-nodes we have\n- leaf nodes consist of two chars like 'ab'\n - the first char is the id\n - the second the value is a number you can get via String.charCodeAt()\n- Internal nodes have four chars like 'abcd'\n - the first char is the id\n - the second char is the id of the 0-branch\n - the third char is the id of the 1-branch\n - the last char is the id of the boolean-function (= level)\n- The last 3 chars of the string is the root node like 'abc'\n - it looks like the internal-node but without the id (first char)\n\n*/\n// we use this because 39 is the quotes which causes problems\nexport const CHAR_CODE_OFFSET = 40; // String.fromCharCode(33) === ')'\nexport function getCharOfLevel(level) {\n const charCode = CHAR_CODE_OFFSET + level;\n return String.fromCharCode(charCode);\n}\nexport function getNumberOfChar(char) {\n const charCode = char.charCodeAt(0);\n return charCode - CHAR_CODE_OFFSET;\n}\nexport function getCharOfValue(value) {\n const charCode = CHAR_CODE_OFFSET + value;\n return String.fromCharCode(charCode);\n}\nexport const FIRST_CHAR_CODE_FOR_ID = 97; // String.fromCharCode(97) === 'a'\nexport function getNextCharId(lastCode) {\n // jump these codes because they look strange\n if (lastCode >= 128 && lastCode <= 160) {\n lastCode = 161;\n }\n const char = String.fromCharCode(lastCode);\n return {\n char,\n nextCode: lastCode + 1\n };\n}\n//# sourceMappingURL=string-format.js.map","export function booleanStringToBoolean(str) {\n if (str === '1') {\n return true;\n }\n else {\n return false;\n }\n}\nexport function booleanToBooleanString(b) {\n if (b) {\n return '1';\n }\n else {\n return '0';\n }\n}\nexport function oppositeBoolean(input) {\n if (input === '1') {\n return '0';\n }\n else {\n return '1';\n }\n}\nexport function lastChar(str) {\n return str.slice(-1);\n}\n/**\n * @link https://stackoverflow.com/a/1349426\n */\nfunction makeid(length = 6) {\n let result = '';\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const charactersLength = characters.length;\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\nconst nodeIdPrefix = makeid(4);\nlet lastIdGen = 0;\nexport function nextNodeId() {\n const ret = 'node_' + nodeIdPrefix + '_' + lastIdGen;\n lastIdGen++;\n return ret;\n}\n/**\n * @link https://stackoverflow.com/a/16155417\n */\nexport function decimalToPaddedBinary(decimal, padding) {\n const binary = (decimal >>> 0).toString(2);\n const padded = binary.padStart(padding, '0');\n return padded;\n}\nexport function oppositeBinary(i) {\n if (i === '1') {\n return '0';\n }\n else if (i === '0') {\n return '1';\n }\n else {\n throw new Error('non-binary given');\n }\n}\nexport function binaryToDecimal(binary) {\n return parseInt(binary, 2);\n}\nexport function minBinaryWithLength(length) {\n return new Array(length).fill(0).map(() => '0').join('');\n}\nexport function maxBinaryWithLength(length) {\n return new Array(length).fill(0).map(() => '1').join('');\n}\nexport function getNextStateSet(stateSet) {\n const decimal = binaryToDecimal(stateSet);\n const increase = decimal + 1;\n const binary = decimalToPaddedBinary(increase, stateSet.length);\n return binary;\n}\nexport function firstKeyOfMap(map) {\n const iterator1 = map.keys();\n return iterator1.next().value;\n}\n/**\n * Shuffles array in place. ES6 version\n * @link https://stackoverflow.com/a/6274381\n */\nexport function shuffleArray(a) {\n for (let i = a.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [a[i], a[j]] = [a[j], a[i]];\n }\n return a;\n}\nexport function lastOfArray(ar) {\n return ar[ar.length - 1];\n}\n/**\n * @link https://stackoverflow.com/a/6259536\n */\nexport function splitStringToChunks(str, chunkSize) {\n const chunks = [];\n for (let i = 0, charsLength = str.length; i < charsLength; i += chunkSize) {\n chunks.push(str.substring(i, i + chunkSize));\n }\n return chunks;\n}\n//# sourceMappingURL=util.js.map","import { splitStringToChunks } from '../util.js';\nimport { getNumberOfChar } from './string-format.js';\nexport function minimalStringToSimpleBdd(str) {\n const nodesById = new Map();\n // parse leaf nodes\n const leafNodeAmount = parseInt(str.charAt(0) + str.charAt(1), 10);\n const lastLeafNodeChar = (2 + leafNodeAmount * 2);\n const leafNodeChars = str.substring(2, lastLeafNodeChar);\n const leafNodeChunks = splitStringToChunks(leafNodeChars, 2);\n for (let i = 0; i < leafNodeChunks.length; i++) {\n const chunk = leafNodeChunks[i];\n const id = chunk.charAt(0);\n const value = getNumberOfChar(chunk.charAt(1));\n nodesById.set(id, value);\n }\n // parse internal nodes\n const internalNodeChars = str.substring(lastLeafNodeChar, str.length - 3);\n const internalNodeChunks = splitStringToChunks(internalNodeChars, 4);\n for (let i = 0; i < internalNodeChunks.length; i++) {\n const chunk = internalNodeChunks[i];\n const id = chunk.charAt(0);\n const idOf0Branch = chunk.charAt(1);\n const idOf1Branch = chunk.charAt(2);\n const level = getNumberOfChar(chunk.charAt(3));\n if (!nodesById.has(idOf0Branch)) {\n throw new Error('missing node with id ' + idOf0Branch);\n }\n if (!nodesById.has(idOf1Branch)) {\n throw new Error('missing node with id ' + idOf1Branch);\n }\n const node0 = nodesById.get(idOf0Branch);\n const node1 = nodesById.get(idOf1Branch);\n const node = {\n l: level, // level is first for prettier json output\n 0: node0,\n 1: node1\n };\n nodesById.set(id, node);\n }\n // parse root node\n const last3 = str.slice(-3);\n const idOf0 = last3.charAt(0);\n const idOf1 = last3.charAt(1);\n const levelOfRoot = getNumberOfChar(last3.charAt(2));\n const nodeOf0 = nodesById.get(idOf0);\n const nodeOf1 = nodesById.get(idOf1);\n const rootNode = {\n l: levelOfRoot,\n 0: nodeOf0,\n 1: nodeOf1,\n };\n return rootNode;\n}\n//# sourceMappingURL=minimal-string-to-simple-bdd.js.map","import { booleanToBooleanString } from '../util.js';\nexport function resolveWithSimpleBdd(simpleBdd, fns, input) {\n let currentNode = simpleBdd;\n let currentLevel = simpleBdd.l;\n while (true) {\n const booleanResult = fns[currentLevel](input);\n const branchKey = booleanToBooleanString(booleanResult);\n currentNode = currentNode[branchKey];\n if (typeof currentNode === 'number' || typeof currentNode === 'string') {\n return currentNode;\n }\n else {\n currentLevel = currentNode.l;\n }\n }\n}\n//# sourceMappingURL=resolve-with-simple-bdd.js.map","import { minimalStringToSimpleBdd, resolveWithSimpleBdd } from 'binary-decision-diagram';\nimport { stateResolveFunctionByIndex } from '../states/index.js';\nexport const minimalBddString = '14a1b,c+d2e5f0g/h.i4j*k-l)m(n6oeh6pnm6qen6ril6snh6tin6ubo9vce9wmh9xns9yne9zmi9{cm9|ad9}cp9~aq9ae9¡bf9¢bq9£cg9¤ck9¥cn9¦nd9§np9¨nq9©nf9ªng9«nm9¬nk9­mr9®ms9¯mt9°mj9±mk9²ml9³mn9´mc8µ³{8¶¯}8·°¤8¸³§8¹mn8º³«8»³m8¼m´4½z²4¾³w4¿zµ4À¯¶4Á°·4³º4ó¸4Äm¹4Åv¤7Æyn7ÇÀÁ7È~7É¥¤7ÊÃÄ7˨n7̺¹7Í­°7ήm7ϯ°7бm7ѳm7Ò¼m5ÓÄm5Ô¹m5Õ½°5Ö¾m5׿°5ØÇÏ5ÙÂm5ÚÊÑ5Û±m5ܺm5ÝÌÑ5ÞÕÍ2ß|2à¡u2á£Å2âÖÎ2ã¦Æ2ä©x2åªÆ2æ×Ø2ç|È2è¡¢2é£É2ꤥ2ëÙÚ2ì¦Ë2í©n2îªn2ïÛÐ2ðÜÝ2ñ¬n2òÒÓ/óan/ôbn/õcn/öÞâ/÷ßã/øàä/ùáå/úæë/ûçì/üèí/ýéî/þÍÎ/ÿÏÑ/ĀòÔ,ācn,Ăöï,ă¤ñ,Ąúð,ąêñ,ĆþÐ,ćÿÑ,Ĉac0ĉbc0Ċóõ0ċôā0Čßá0čà¤0Ďçé0ďèê0Đ÷ù0đøă0Ēûý0ēüą0ĔmÒ-ĕmĀ-ĖÞæ-ėČĎ-Ęčď-ęĂĄ-ĚĐĒ-ěđē-Ĝ²»-ĝÍÏ-ĞĆć-ğ²³-ĠĔĈ3ġĕĊ3ĢĖė3ģęĚ3ĤĢĝ(ĥĜğ(ĦģĞ(ħĠġ+Ĩĉċ+ĩĤĦ+ĪĘě+īħĨ1ĬĩĪ1ĭĬī*Įĥm*ĭĮ.';\nlet simpleBdd;\nexport function getSimpleBdd() {\n if (!simpleBdd) {\n simpleBdd = minimalStringToSimpleBdd(minimalBddString);\n }\n return simpleBdd;\n}\nexport const resolveInput = (input) => {\n return resolveWithSimpleBdd(getSimpleBdd(), stateResolveFunctionByIndex, input);\n};\n//# sourceMappingURL=bdd.generated.js.map","import { getStateSet } from './states/index.js';\nimport { actionFunctions, orderedActionList } from './actions/index.js';\nimport { resolveInput } from './bdd/bdd.generated.js';\nexport * from './states/index.js';\nexport * from './util.js';\nexport * from './actions/index.js';\nexport function calculateActionFromMap(stateSetToActionMap, input) {\n const stateSet = getStateSet(input);\n const actionName = stateSetToActionMap.get(stateSet);\n if (!actionName) {\n return {\n action: 'runFullQueryAgain',\n stateSet\n };\n }\n else {\n return {\n action: actionName,\n stateSet\n };\n }\n}\nexport function calculateActionName(input) {\n const resolvedActionId = resolveInput(input);\n return orderedActionList[resolvedActionId];\n}\nexport function calculateActionFunction(input) {\n const actionName = calculateActionName(input);\n return actionFunctions[actionName];\n}\n/**\n * for performance reasons,\n * @mutates the input\n * @returns the new results\n */\nexport function runAction(action, queryParams, changeEvent, previousResults, keyDocumentMap) {\n const fn = actionFunctions[action];\n fn({\n queryParams,\n changeEvent,\n previousResults,\n keyDocumentMap\n });\n return previousResults;\n}\n//# sourceMappingURL=index.js.map","import { countUntilNotMatching } from \"./plugins/utils/index.js\";\nimport { newRxError } from \"./rx-error.js\";\nimport { getSchemaByObjectPath } from \"./rx-schema-helper.js\";\nexport var INDEX_MAX = String.fromCharCode(65535);\n\n/**\n * Do not use -Infinity here because it would be\n * transformed to null on JSON.stringify() which can break things\n * when the query plan is send to the storage as json.\n * @link https://stackoverflow.com/a/16644751\n * Notice that for IndexedDB IDBKeyRange we have\n * to transform the value back to -Infinity\n * before we can use it in IDBKeyRange.bound.\n */\nexport var INDEX_MIN = Number.MIN_SAFE_INTEGER;\n\n/**\n * Returns the query plan which contains\n * information about how to run the query\n * and which indexes to use.\n *\n * This is used in some storage like Memory, dexie.js and IndexedDB.\n */\nexport function getQueryPlan(schema, query) {\n var selector = query.selector;\n var indexes = schema.indexes ? schema.indexes.slice(0) : [];\n if (query.index) {\n indexes = [query.index];\n }\n\n /**\n * Most storages do not support descending indexes\n * so having a 'desc' in the sorting, means we always have to re-sort the results.\n */\n var hasDescSorting = !!query.sort.find(sortField => Object.values(sortField)[0] === 'desc');\n\n /**\n * Some fields can be part of the selector while not being relevant for sorting\n * because their selector operators specify that in all cases all matching docs\n * would have the same value.\n * For example the boolean field _deleted.\n * TODO similar thing could be done for enums.\n */\n var sortIrrelevevantFields = new Set();\n Object.keys(selector).forEach(fieldName => {\n var schemaPart = getSchemaByObjectPath(schema, fieldName);\n if (schemaPart && schemaPart.type === 'boolean' && Object.prototype.hasOwnProperty.call(selector[fieldName], '$eq')) {\n sortIrrelevevantFields.add(fieldName);\n }\n });\n var optimalSortIndex = query.sort.map(sortField => Object.keys(sortField)[0]);\n var optimalSortIndexCompareString = optimalSortIndex.filter(f => !sortIrrelevevantFields.has(f)).join(',');\n var currentBestQuality = -1;\n var currentBestQueryPlan;\n\n /**\n * Calculate one query plan for each index\n * and then test which of the plans is best.\n */\n indexes.forEach(index => {\n var inclusiveEnd = true;\n var inclusiveStart = true;\n var opts = index.map(indexField => {\n var matcher = selector[indexField];\n var operators = matcher ? Object.keys(matcher) : [];\n var matcherOpts = {};\n if (!matcher || !operators.length) {\n var startKey = inclusiveStart ? INDEX_MIN : INDEX_MAX;\n matcherOpts = {\n startKey,\n endKey: inclusiveEnd ? INDEX_MAX : INDEX_MIN,\n inclusiveStart: true,\n inclusiveEnd: true\n };\n } else {\n operators.forEach(operator => {\n if (LOGICAL_OPERATORS.has(operator)) {\n var operatorValue = matcher[operator];\n var partialOpts = getMatcherQueryOpts(operator, operatorValue);\n matcherOpts = Object.assign(matcherOpts, partialOpts);\n }\n });\n }\n\n // fill missing attributes\n if (typeof matcherOpts.startKey === 'undefined') {\n matcherOpts.startKey = INDEX_MIN;\n }\n if (typeof matcherOpts.endKey === 'undefined') {\n matcherOpts.endKey = INDEX_MAX;\n }\n if (typeof matcherOpts.inclusiveStart === 'undefined') {\n matcherOpts.inclusiveStart = true;\n }\n if (typeof matcherOpts.inclusiveEnd === 'undefined') {\n matcherOpts.inclusiveEnd = true;\n }\n if (inclusiveStart && !matcherOpts.inclusiveStart) {\n inclusiveStart = false;\n }\n if (inclusiveEnd && !matcherOpts.inclusiveEnd) {\n inclusiveEnd = false;\n }\n return matcherOpts;\n });\n var startKeys = opts.map(opt => opt.startKey);\n var endKeys = opts.map(opt => opt.endKey);\n var queryPlan = {\n index,\n startKeys,\n endKeys,\n inclusiveEnd,\n inclusiveStart,\n sortSatisfiedByIndex: !hasDescSorting && optimalSortIndexCompareString === index.filter(f => !sortIrrelevevantFields.has(f)).join(','),\n selectorSatisfiedByIndex: isSelectorSatisfiedByIndex(index, query.selector, startKeys, endKeys)\n };\n var quality = rateQueryPlan(schema, query, queryPlan);\n if (quality >= currentBestQuality || query.index) {\n currentBestQuality = quality;\n currentBestQueryPlan = queryPlan;\n }\n });\n\n /**\n * In all cases and index must be found\n */\n if (!currentBestQueryPlan) {\n throw newRxError('SNH', {\n query\n });\n }\n return currentBestQueryPlan;\n}\nexport var LOGICAL_OPERATORS = new Set(['$eq', '$gt', '$gte', '$lt', '$lte']);\nexport var LOWER_BOUND_LOGICAL_OPERATORS = new Set(['$eq', '$gt', '$gte']);\nexport var UPPER_BOUND_LOGICAL_OPERATORS = new Set(['$eq', '$lt', '$lte']);\nexport function isSelectorSatisfiedByIndex(index, selector, startKeys, endKeys) {\n /**\n * Not satisfied if one or more operators are non-logical\n * operators that can never be satisfied by an index.\n */\n var selectorEntries = Object.entries(selector);\n var hasNonMatchingOperator = selectorEntries.find(([fieldName, operation]) => {\n if (!index.includes(fieldName)) {\n return true;\n }\n var hasNonLogicOperator = Object.entries(operation).find(([op, _value]) => !LOGICAL_OPERATORS.has(op));\n return hasNonLogicOperator;\n });\n if (hasNonMatchingOperator) {\n return false;\n }\n\n /**\n * Not satisfied if contains $and or $or operations.\n */\n if (selector.$and || selector.$or) {\n return false;\n }\n\n // ensure all lower bound in index\n var satisfieldLowerBound = [];\n var lowerOperatorFieldNames = new Set();\n for (var [fieldName, operation] of Object.entries(selector)) {\n if (!index.includes(fieldName)) {\n return false;\n }\n\n // If more then one logic op on the same field, we have to selector-match.\n var lowerLogicOps = Object.keys(operation).filter(key => LOWER_BOUND_LOGICAL_OPERATORS.has(key));\n if (lowerLogicOps.length > 1) {\n return false;\n }\n var hasLowerLogicOp = lowerLogicOps[0];\n if (hasLowerLogicOp) {\n lowerOperatorFieldNames.add(fieldName);\n }\n if (hasLowerLogicOp !== '$eq') {\n if (satisfieldLowerBound.length > 0) {\n return false;\n } else {\n satisfieldLowerBound.push(hasLowerLogicOp);\n }\n }\n }\n\n // ensure all upper bound in index\n var satisfieldUpperBound = [];\n var upperOperatorFieldNames = new Set();\n for (var [_fieldName, _operation] of Object.entries(selector)) {\n if (!index.includes(_fieldName)) {\n return false;\n }\n\n // If more then one logic op on the same field, we have to selector-match.\n var upperLogicOps = Object.keys(_operation).filter(key => UPPER_BOUND_LOGICAL_OPERATORS.has(key));\n if (upperLogicOps.length > 1) {\n return false;\n }\n var hasUperLogicOp = upperLogicOps[0];\n if (hasUperLogicOp) {\n upperOperatorFieldNames.add(_fieldName);\n }\n if (hasUperLogicOp !== '$eq') {\n if (satisfieldUpperBound.length > 0) {\n return false;\n } else {\n satisfieldUpperBound.push(hasUperLogicOp);\n }\n }\n }\n\n /**\n * If the index contains a non-relevant field between\n * the relevant fields, then the index is not satisfying.\n */\n var i = 0;\n for (var _fieldName2 of index) {\n for (var set of [lowerOperatorFieldNames, upperOperatorFieldNames]) {\n if (!set.has(_fieldName2) && set.size > 0) {\n return false;\n }\n set.delete(_fieldName2);\n }\n var startKey = startKeys[i];\n var endKey = endKeys[i];\n if (startKey !== endKey && lowerOperatorFieldNames.size > 0 && upperOperatorFieldNames.size > 0) {\n return false;\n }\n i++;\n }\n return true;\n}\nexport function getMatcherQueryOpts(operator, operatorValue) {\n switch (operator) {\n case '$eq':\n return {\n startKey: operatorValue,\n endKey: operatorValue,\n inclusiveEnd: true,\n inclusiveStart: true\n };\n case '$lte':\n return {\n endKey: operatorValue,\n inclusiveEnd: true\n };\n case '$gte':\n return {\n startKey: operatorValue,\n inclusiveStart: true\n };\n case '$lt':\n return {\n endKey: operatorValue,\n inclusiveEnd: false\n };\n case '$gt':\n return {\n startKey: operatorValue,\n inclusiveStart: false\n };\n default:\n throw new Error('SNH');\n }\n}\n\n/**\n * Returns a number that determines the quality of the query plan.\n * Higher number means better query plan.\n */\nexport function rateQueryPlan(schema, query, queryPlan) {\n var quality = 0;\n var addQuality = value => {\n if (value > 0) {\n quality = quality + value;\n }\n };\n var pointsPerMatchingKey = 10;\n var nonMinKeyCount = countUntilNotMatching(queryPlan.startKeys, keyValue => keyValue !== INDEX_MIN && keyValue !== INDEX_MAX);\n addQuality(nonMinKeyCount * pointsPerMatchingKey);\n var nonMaxKeyCount = countUntilNotMatching(queryPlan.startKeys, keyValue => keyValue !== INDEX_MAX && keyValue !== INDEX_MIN);\n addQuality(nonMaxKeyCount * pointsPerMatchingKey);\n var equalKeyCount = countUntilNotMatching(queryPlan.startKeys, (keyValue, idx) => {\n if (keyValue === queryPlan.endKeys[idx]) {\n return true;\n } else {\n return false;\n }\n });\n addQuality(equalKeyCount * pointsPerMatchingKey * 1.5);\n var pointsIfNoReSortMustBeDone = queryPlan.sortSatisfiedByIndex ? 5 : 0;\n addQuality(pointsIfNoReSortMustBeDone);\n return quality;\n}\n//# sourceMappingURL=query-planner.js.map","/**\n * Utility constants and functions\n */\nexport const MAX_INT = 2147483647;\nexport const MIN_INT = -2147483648;\nexport const MAX_LONG = Number.MAX_SAFE_INTEGER;\nexport const MIN_LONG = Number.MIN_SAFE_INTEGER;\n// special value to identify missing items. treated differently from undefined\nconst MISSING = Symbol(\"missing\");\nconst CYCLE_FOUND_ERROR = Object.freeze(new Error(\"mingo: cycle detected while processing object/array\"));\nconst ARRAY_PROTO = Object.getPrototypeOf([]);\nconst OBJECT_PROTO = Object.getPrototypeOf({});\nconst OBJECT_TAG = \"[object Object]\";\nconst OBJECT_TYPE_RE = /^\\[object ([a-zA-Z0-9]+)\\]$/;\nclass Null {\n}\nclass Undefined {\n}\nconst getConstructor = (v) => {\n if (v === null)\n return Null;\n if (v === undefined)\n return Undefined;\n return v.constructor;\n};\n/**\n * Uses the simple hash method as described in Effective Java.\n * @see https://stackoverflow.com/a/113600/1370481\n * @param value The value to hash\n * @returns {number}\n */\nconst DEFAULT_HASH_FUNCTION = (value) => {\n const s = stringify(value);\n let hash = 0;\n let i = s.length;\n while (i)\n hash = ((hash << 5) - hash) ^ s.charCodeAt(--i);\n return hash >>> 0;\n};\n// no array, object, or function types\nconst JS_SIMPLE_TYPES = new Set([\n \"null\",\n \"undefined\",\n \"boolean\",\n \"number\",\n \"string\",\n \"date\",\n \"regexp\"\n]);\nconst IMMUTABLE_TYPES_SET = new Set([Undefined, Null, Boolean, String, Number]);\n/** Convert simple value to string representation. */\nconst toString = (v) => v.toString(); // eslint-disable-line @typescript-eslint/no-base-to-string\n/** Convert a typed array to string representation. */\nconst typedArrayToString = (v) => `${getConstructor(v).name}[${v.toString()}]`; // eslint-disable-line @typescript-eslint/no-base-to-string\n/** Map of constructors to string converter functions */\nconst STRING_CONVERTERS = new Map([\n [Number, toString],\n [Boolean, toString],\n [RegExp, toString],\n [Function, toString],\n [Symbol, toString],\n [Date, (d) => d.toISOString()],\n [String, JSON.stringify],\n [Null, (_) => \"null\"],\n [Undefined, (_) => \"undefined\"],\n [Int8Array, typedArrayToString],\n [Uint8Array, typedArrayToString],\n [Uint8ClampedArray, typedArrayToString],\n [Int16Array, typedArrayToString],\n [Uint16Array, typedArrayToString],\n [Int32Array, typedArrayToString],\n [Uint32Array, typedArrayToString],\n [Float32Array, typedArrayToString],\n [Float64Array, typedArrayToString]\n]);\n/**\n * Some types like BigInt are not available on more exotic\n * JavaScript runtimes like ReactNative or QuickJS.\n * So we fill them in only if they exist so that it does not throw an error.\n */\nif (typeof BigInt !== \"undefined\") {\n STRING_CONVERTERS.set(BigInt, (n) => \"0x\" + n.toString(16));\n}\nif (typeof BigInt64Array !== \"undefined\") {\n STRING_CONVERTERS.set(BigInt64Array, typedArrayToString);\n}\nif (typeof BigUint64Array !== \"undefined\") {\n STRING_CONVERTERS.set(BigUint64Array, typedArrayToString);\n}\n/** MongoDB sort comparison order. https://www.mongodb.com/docs/manual/reference/bson-type-comparison-order */\nconst SORT_ORDER_BY_TYPE = {\n null: 0,\n undefined: 0,\n number: 1,\n string: 2,\n object: 3,\n array: 4,\n boolean: 5,\n date: 6,\n regexp: 7,\n function: 8\n};\n/**\n * Compare function which adheres to MongoDB comparison order.\n *\n * @param a The first value\n * @param b The second value\n * @returns {Number}\n */\nexport const compare = (a, b) => {\n if (a === MISSING)\n a = undefined;\n if (b === MISSING)\n b = undefined;\n const [u, v] = [a, b].map(n => SORT_ORDER_BY_TYPE[getType(n).toLowerCase()]);\n if (u !== v)\n return u - v;\n // number | string | date\n if (u === 1 || u === 2 || u === 6) {\n if (a < b)\n return -1;\n if (a > b)\n return 1;\n return 0;\n }\n // check for equivalence equality\n if (isEqual(a, b))\n return 0;\n if (a < b)\n return -1;\n if (a > b)\n return 1;\n // if we get here we are comparing a type that does not make sense.\n return 0;\n};\nexport function assert(condition, message) {\n if (!condition)\n throw new Error(message);\n}\nconst isTypedArray = (v) => {\n const proto = Object.getPrototypeOf(getConstructor(v));\n return proto && proto.name === \"TypedArray\";\n};\n/**\n * Deep clone an object. Value types and immutable objects are returned as is.\n */\nexport const cloneDeep = (obj) => {\n if (IMMUTABLE_TYPES_SET.has(getConstructor(obj)))\n return obj;\n const cycle = new Set();\n const clone = (val) => {\n if (cycle.has(val))\n throw CYCLE_FOUND_ERROR;\n const ctor = getConstructor(val);\n if (IMMUTABLE_TYPES_SET.has(ctor))\n return val;\n try {\n // arrays\n if (isArray(val)) {\n cycle.add(val);\n return val.map(clone);\n }\n // object literals\n if (isObject(val)) {\n cycle.add(val);\n const res = {};\n for (const k in val)\n res[k] = clone(val[k]);\n return res;\n }\n }\n finally {\n cycle.delete(val);\n }\n // dates, regex, typed arrays\n if (ctor === Date || ctor === RegExp || isTypedArray(val)) {\n return new ctor(val);\n }\n return val;\n };\n return clone(obj);\n};\n/**\n * Returns the name of type as specified in the tag returned by a call to Object.prototype.toString\n * @param v A value\n */\nexport const getType = (v) => OBJECT_TYPE_RE.exec(Object.prototype.toString.call(v))[1];\nexport const isBoolean = (v) => typeof v === \"boolean\";\nexport const isString = (v) => typeof v === \"string\";\nexport const isSymbol = (v) => typeof v === \"symbol\";\nexport const isNumber = (v) => !isNaN(v) && typeof v === \"number\";\nexport const isBigInt = (v) => !isNaN(v) && typeof v === \"bigint\";\nexport const isNotNaN = (v) => !(isNaN(v) && typeof v === \"number\");\nexport const isArray = Array.isArray;\nexport const isObject = (v) => {\n if (!v)\n return false;\n const proto = Object.getPrototypeOf(v);\n return ((proto === OBJECT_PROTO || proto === null) &&\n OBJECT_TAG === Object.prototype.toString.call(v));\n};\n// objects, arrays, functions, date, custom object\nexport const isObjectLike = (v) => v === Object(v);\nexport const isDate = (v) => v instanceof Date;\nexport const isRegExp = (v) => v instanceof RegExp;\nexport const isFunction = (v) => typeof v === \"function\";\nexport const isNil = (v) => v === null || v === undefined;\nexport const inArray = (arr, item) => arr.includes(item);\nexport const notInArray = (arr, item) => !inArray(arr, item);\nexport const truthy = (arg, strict = true) => !!arg || (strict && arg === \"\");\nexport const isEmpty = (x) => isNil(x) ||\n (isString(x) && !x) ||\n (x instanceof Array && x.length === 0) ||\n (isObject(x) && Object.keys(x).length === 0);\nexport const isMissing = (v) => v === MISSING;\n/** ensure a value is an array or wrapped within one. */\nexport const ensureArray = (x) => x instanceof Array ? x : [x];\nexport const has = (obj, prop) => !!obj && Object.prototype.hasOwnProperty.call(obj, prop);\nconst mergeable = (left, right) => (isObject(left) && isObject(right)) || (isArray(left) && isArray(right));\n/**\n * Deep merge objects or arrays.\n * When the inputs have unmergeable types, the right hand value is returned.\n * If inputs are arrays and options.flatten is set, elements in the same position are merged together. Remaining elements are appended to the target object.\n * If options.flatten is false, the right hand value is just appended to the left-hand value.\n * @param target {Object|Array} the target to merge into\n * @param obj {Object|Array} the source object\n */\nexport function merge(target, obj, options) {\n // default options\n options = options || { flatten: false };\n // take care of missing inputs\n if (isMissing(target) || isNil(target))\n return obj;\n if (isMissing(obj) || isNil(obj))\n return target;\n // fail only on initial input.\n if (!mergeable(target, obj)) {\n if (options.skipValidation)\n return obj || target;\n throw Error(\"mismatched types. must both be array or object\");\n }\n // skip validation after initial input.\n options.skipValidation = true;\n if (isArray(target)) {\n const result = target;\n const input = obj;\n if (options.flatten) {\n let i = 0;\n let j = 0;\n while (i < result.length && j < input.length) {\n result[i] = merge(result[i++], input[j++], options);\n }\n while (j < input.length) {\n result.push(obj[j++]);\n }\n }\n else {\n into(result, input);\n }\n }\n else {\n for (const k in obj) {\n target[k] = merge(target[k], obj[k], options);\n }\n }\n return target;\n}\nfunction buildHashIndex(arr, hashFunction = DEFAULT_HASH_FUNCTION) {\n const map = new Map();\n arr.forEach((o, i) => {\n const h = hashCode(o, hashFunction);\n if (map.has(h)) {\n if (!map.get(h).some(j => isEqual(arr[j], o))) {\n map.get(h).push(i);\n }\n }\n else {\n map.set(h, [i]);\n }\n });\n return map;\n}\n/**\n * Returns the intersection of multiple arrays.\n *\n * @param {Array} input An array of arrays from which to find intersection.\n * @param {Function} hashFunction Custom function to hash values, default the hashCode method\n * @return {Array} Array of intersecting values.\n */\nexport function intersection(input, hashFunction = DEFAULT_HASH_FUNCTION) {\n // if any array is empty, there is no intersection\n if (input.some(arr => arr.length == 0))\n return [];\n if (input.length === 1)\n return Array.from(input);\n // sort input arrays by to get smallest array\n // const sorted = sortBy(input, (a: RawArray) => a.length) as RawArray[];\n const sortedIndex = sortBy(input.map((a, i) => [i, a.length]), (a) => a[1]);\n // get the smallest\n const smallest = input[sortedIndex[0][0]];\n // get hash index of smallest array\n const map = buildHashIndex(smallest, hashFunction);\n // hashIndex for remaining arrays.\n const rmap = new Map();\n // final intersection results and index of first occurrence.\n const results = new Array();\n map.forEach((v, k) => {\n const lhs = v.map(j => smallest[j]);\n const res = lhs.map(_ => 0);\n // used to track first occurence of value in order of the original input array.\n const stable = lhs.map(_ => [sortedIndex[0][0], 0]);\n let found = false;\n for (let i = 1; i < input.length; i++) {\n const [currIndex, _] = sortedIndex[i];\n const arr = input[currIndex];\n if (!rmap.has(i))\n rmap.set(i, buildHashIndex(arr));\n // we found a match. let's confirm.\n if (rmap.get(i).has(k)) {\n const rhs = rmap\n .get(i)\n .get(k)\n .map(j => arr[j]);\n // confirm the intersection with an equivalence check.\n found = lhs\n .map((s, n) => rhs.some((t, m) => {\n // we expect only one to match here since these are just collisions.\n const p = res[n];\n if (isEqual(s, t)) {\n res[n]++;\n // track position of value ordering for stability.\n if (currIndex < stable[n][0]) {\n stable[n] = [currIndex, rmap.get(i).get(k)[m]];\n }\n }\n return p < res[n];\n }))\n .some(Boolean);\n }\n // found nothing, so exclude value. this was just a hash collision.\n if (!found)\n return;\n }\n // extract value into result if we found an intersection.\n // we find an intersection if the frequency counter matches the count of the remaining arrays.\n if (found) {\n into(results, res\n .map((n, i) => {\n return n === input.length - 1 ? [lhs[i], stable[i]] : MISSING;\n })\n .filter(n => n !== MISSING));\n }\n });\n return results\n .sort((a, b) => {\n const [_i, [u, m]] = a;\n const [_j, [v, n]] = b;\n const r = compare(u, v);\n if (r !== 0)\n return r;\n return compare(m, n);\n })\n .map(v => v[0]);\n}\n/**\n * Flatten the array\n *\n * @param {Array} xs The array to flatten\n * @param {Number} depth The number of nested lists to iterate\n */\nexport function flatten(xs, depth = 0) {\n const arr = new Array();\n function flatten2(ys, n) {\n for (let i = 0, len = ys.length; i < len; i++) {\n if (isArray(ys[i]) && (n > 0 || n < 0)) {\n flatten2(ys[i], Math.max(-1, n - 1));\n }\n else {\n arr.push(ys[i]);\n }\n }\n }\n flatten2(xs, depth);\n return arr;\n}\n/** Returns all members of the value in an object literal. */\nconst getMembersOf = (value) => {\n let [proto, names] = [\n Object.getPrototypeOf(value),\n Object.getOwnPropertyNames(value)\n ];\n // save effective prototype\n let activeProto = proto;\n // traverse the prototype hierarchy until we get property names or hit the bottom prototype.\n while (!names.length && proto !== OBJECT_PROTO && proto !== ARRAY_PROTO) {\n activeProto = proto;\n names = Object.getOwnPropertyNames(proto);\n proto = Object.getPrototypeOf(proto);\n }\n const o = {};\n names.forEach(k => (o[k] = value[k]));\n return [o, activeProto];\n};\n/**\n * Determine whether two values are the same or strictly equivalent.\n * Checking whether values are the same only applies to built in objects.\n * For user-defined objects this checks for only referential equality so\n * two different instances with the same values are not equal.\n *\n * @param {*} a The first value\n * @param {*} b The second value\n * @return {Boolean} Result of comparison\n */\nexport function isEqual(a, b) {\n const args = [[a, b]];\n while (args.length > 0) {\n [a, b] = args.pop();\n // strictly equal must be equal. matches referentially equal values.\n if (a === b)\n continue;\n // unequal types and functions (unless referentially equivalent) cannot be equal.\n const ctor = getConstructor(a);\n if (ctor !== getConstructor(b) || isFunction(a))\n return false;\n // string convertable types\n if (STRING_CONVERTERS.has(ctor)) {\n const str = STRING_CONVERTERS.get(ctor);\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n if (str(a) !== str(b))\n return false;\n // values are equal, so move next\n continue;\n }\n // handle array and object types\n if (ctor === Array || ctor === Object) {\n const ka = Object.keys(a);\n const kb = Object.keys(b);\n if (ka.length !== kb.length)\n return false;\n if (new Set(ka.concat(kb)).size != ka.length)\n return false;\n for (const k of ka)\n args.push([a[k], b[k]]);\n // move next\n continue;\n }\n // user-defined type detected.\n // we don't try to compare user-defined types (even though we could...shhhh).\n return false;\n }\n // nothing left to compare\n return !args.length;\n}\n/**\n * Return a new unique version of the collection\n * @param {Array} input The input collection\n * @return {Array}\n */\nexport function unique(input, hashFunction = DEFAULT_HASH_FUNCTION) {\n const result = input.map(_ => MISSING);\n buildHashIndex(input, hashFunction).forEach((v, _) => {\n v.forEach(i => (result[i] = input[i]));\n });\n return result.filter(v => v !== MISSING);\n}\n/**\n * Encode value to string using a simple non-colliding stable scheme.\n * Handles user-defined types by processing keys on first non-empty prototype.\n * If a user-defined type provides a \"toJSON\" function, it is used.\n *\n * @param value The value to convert to a string representation.\n * @returns {String}\n */\nexport function stringify(value) {\n const cycle = new Set();\n // stringify with cycle check\n const str = (v) => {\n const ctor = getConstructor(v);\n // string convertable types\n if (STRING_CONVERTERS.has(ctor)) {\n return STRING_CONVERTERS.get(ctor)(v);\n }\n const tag = ctor === Object ? \"\" : ctor.name;\n // handle JSONable objects.\n if (isFunction(v[\"toJSON\"])) {\n return `${tag}(${JSON.stringify(v)})`;\n }\n // handle cycles\n if (cycle.has(v))\n throw CYCLE_FOUND_ERROR;\n cycle.add(v);\n try {\n // handle array\n if (ctor === Array) {\n return \"[\" + v.map(str).join(\",\") + \"]\";\n }\n // handle user-defined object\n if (ctor !== Object) {\n // handle user-defined types or object literals.\n const [members, _] = getMembersOf(v);\n // custom type derived from array.\n if (isArray(v)) {\n // include other members as part of array elements.\n return `${tag}${str([...v, members])}`;\n }\n // get members as literal\n v = members;\n }\n const objKeys = Object.keys(v);\n objKeys.sort();\n return (`${tag}{` +\n objKeys.map(k => `${k}:${str(v[k])}`).join(\",\") +\n \"}\");\n }\n finally {\n cycle.delete(v);\n }\n };\n // convert to string\n return str(value);\n}\n/**\n * Generate hash code\n * This selected function is the result of benchmarking various hash functions.\n * This version performs well and can hash 10^6 documents in ~3s with on average 100 collisions.\n *\n * @param value\n * @returns {number|null}\n */\nexport function hashCode(value, hashFunction) {\n hashFunction = hashFunction || DEFAULT_HASH_FUNCTION;\n if (isNil(value))\n return null;\n return hashFunction(value).toString();\n}\n/**\n * Returns a (stably) sorted copy of list, ranked in ascending order by the results of running each value through iteratee\n *\n * This implementation treats null/undefined sort keys as less than every other type\n *\n * @param {Array} collection\n * @param {Function} keyFn The sort key function used to resolve sort keys\n * @param {Function} comparator The comparator function to use for comparing keys. Defaults to standard comparison via `compare(...)`\n * @return {Array} Returns a new sorted array by the given key and comparator function\n */\nexport function sortBy(collection, keyFn, comparator = compare) {\n if (isEmpty(collection))\n return collection;\n const sorted = new Array();\n const result = new Array();\n for (let i = 0; i < collection.length; i++) {\n const obj = collection[i];\n const key = keyFn(obj, i);\n if (isNil(key)) {\n result.push(obj);\n }\n else {\n sorted.push([key, obj]);\n }\n }\n // use native array sorting but enforce stableness\n sorted.sort((a, b) => comparator(a[0], b[0]));\n return into(result, sorted.map((o) => o[1]));\n}\n/**\n * Groups the collection into sets by the returned key\n *\n * @param collection\n * @param keyFn {Function} to compute the group key of an item in the collection\n * @returns {GroupByOutput}\n */\nexport function groupBy(collection, keyFn, hashFunction = DEFAULT_HASH_FUNCTION) {\n if (collection.length < 1)\n return new Map();\n // map of hash to collided values\n const lookup = new Map();\n // map of raw key values to objects.\n const result = new Map();\n for (let i = 0; i < collection.length; i++) {\n const obj = collection[i];\n const key = keyFn(obj, i);\n const hash = hashCode(key, hashFunction);\n if (hash === null) {\n if (result.has(null)) {\n result.get(null).push(obj);\n }\n else {\n result.set(null, [obj]);\n }\n }\n else {\n // find if we can match a hash for which the value is equivalent.\n // this is used to deal with collisions.\n const existingKey = lookup.has(hash)\n ? lookup.get(hash).find(k => isEqual(k, key))\n : null;\n // collision detected or first time seeing key\n if (isNil(existingKey)) {\n // collision detected or first entry so we create a new group.\n result.set(key, [obj]);\n // upload the lookup with the collided key\n if (lookup.has(hash)) {\n lookup.get(hash).push(key);\n }\n else {\n lookup.set(hash, [key]);\n }\n }\n else {\n // key exists\n result.get(existingKey).push(obj);\n }\n }\n }\n return result;\n}\n// max elements to push.\n// See argument limit https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply\nconst MAX_ARRAY_PUSH = 50000;\n/**\n * Merge elements into the dest\n *\n * @param {*} target The target object\n * @param {*} rest The array of elements to merge into dest\n */\nexport function into(target, ...rest) {\n if (target instanceof Array) {\n return rest.reduce(((acc, arr) => {\n // push arrary in batches to handle large inputs\n let i = Math.ceil(arr.length / MAX_ARRAY_PUSH);\n let begin = 0;\n while (i-- > 0) {\n Array.prototype.push.apply(acc, arr.slice(begin, begin + MAX_ARRAY_PUSH));\n begin += MAX_ARRAY_PUSH;\n }\n return acc;\n }), target);\n }\n else {\n // merge objects. same behaviour as Object.assign\n return rest.filter(isObjectLike).reduce((acc, item) => {\n Object.assign(acc, item);\n return acc;\n }, target);\n }\n}\n/**\n * This is a generic memoization function\n *\n * This implementation uses a cache independent of the function being memoized\n * to allow old values to be garbage collected when the memoized function goes out of scope.\n *\n * @param {*} fn The function object to memoize\n */\nexport function memoize(fn, hashFunction = DEFAULT_HASH_FUNCTION) {\n return ((memo) => {\n return (...args) => {\n const key = hashCode(args, hashFunction) || \"\";\n if (!has(memo, key)) {\n memo[key] = fn.apply(this, args);\n }\n return memo[key];\n };\n })({\n /* storage */\n });\n}\n// mingo internal\n/**\n * Retrieve the value of a given key on an object\n * @param obj\n * @param key\n * @returns {*}\n * @private\n */\nfunction getValue(obj, key) {\n return isObjectLike(obj) ? obj[key] : undefined;\n}\n/**\n * Unwrap a single element array to specified depth\n * @param {Array} arr\n * @param {Number} depth\n */\nfunction unwrap(arr, depth) {\n if (depth < 1)\n return arr;\n while (depth-- && arr.length === 1)\n arr = arr[0];\n return arr;\n}\n/**\n * Resolve the value of the field (dot separated) on the given object\n * @param obj {Object} the object context\n * @param selector {String} dot separated path to field\n * @returns {*}\n */\nexport function resolve(obj, selector, options) {\n let depth = 0;\n function resolve2(o, path) {\n let value = o;\n for (let i = 0; i < path.length; i++) {\n const field = path[i];\n const isText = /^\\d+$/.exec(field) === null;\n // using instanceof to aid typescript compiler\n if (isText && value instanceof Array) {\n // On the first iteration, we check if we received a stop flag.\n // If so, we stop to prevent iterating over a nested array value\n // on consecutive object keys in the selector.\n if (i === 0 && depth > 0)\n break;\n depth += 1;\n // only look at the rest of the path\n const subpath = path.slice(i);\n value = value.reduce((acc, item) => {\n const v = resolve2(item, subpath);\n if (v !== undefined)\n acc.push(v);\n return acc;\n }, []);\n break;\n }\n else {\n value = getValue(value, field);\n }\n if (value === undefined)\n break;\n }\n return value;\n }\n const result = JS_SIMPLE_TYPES.has(getType(obj).toLowerCase())\n ? obj\n : resolve2(obj, selector.split(\".\"));\n return result instanceof Array && (options === null || options === void 0 ? void 0 : options.unwrapArray)\n ? unwrap(result, depth)\n : result;\n}\n/**\n * Returns the full object to the resolved value given by the selector.\n * This function excludes empty values as they aren't practically useful.\n *\n * @param obj {Object} the object context\n * @param selector {String} dot separated path to field\n */\nexport function resolveGraph(obj, selector, options) {\n const names = selector.split(\".\");\n const key = names[0];\n // get the next part of the selector\n const next = names.slice(1).join(\".\");\n const isIndex = /^\\d+$/.exec(key) !== null;\n const hasNext = names.length > 1;\n let result;\n let value;\n if (obj instanceof Array) {\n if (isIndex) {\n result = getValue(obj, Number(key));\n if (hasNext) {\n result = resolveGraph(result, next, options);\n }\n result = [result];\n }\n else {\n result = [];\n for (const item of obj) {\n value = resolveGraph(item, selector, options);\n if (options === null || options === void 0 ? void 0 : options.preserveMissing) {\n if (value === undefined) {\n value = MISSING;\n }\n result.push(value);\n }\n else if (value !== undefined) {\n result.push(value);\n }\n }\n }\n }\n else {\n value = getValue(obj, key);\n if (hasNext) {\n value = resolveGraph(value, next, options);\n }\n if (value === undefined)\n return undefined;\n result = (options === null || options === void 0 ? void 0 : options.preserveKeys) ? Object.assign({}, obj) : {};\n result[key] = value;\n }\n return result;\n}\n/**\n * Filter out all MISSING values from the object in-place\n *\n * @param obj The object to filter\n */\nexport function filterMissing(obj) {\n if (obj instanceof Array) {\n for (let i = obj.length - 1; i >= 0; i--) {\n if (obj[i] === MISSING) {\n obj.splice(i, 1);\n }\n else {\n filterMissing(obj[i]);\n }\n }\n }\n else if (isObject(obj)) {\n for (const k in obj) {\n if (has(obj, k)) {\n filterMissing(obj[k]);\n }\n }\n }\n}\nconst NUMBER_RE = /^\\d+$/;\n/**\n * Walk the object graph and execute the given transform function\n *\n * @param {Object|Array} obj The object to traverse.\n * @param {String} selector The selector to navigate.\n * @param {Callback} fn Callback to execute for value at the end the traversal.\n * @param {WalkOptions} options The opetions to use for the function.\n * @return {*}\n */\nexport function walk(obj, selector, fn, options) {\n const names = selector.split(\".\");\n const key = names[0];\n const next = names.slice(1).join(\".\");\n if (names.length === 1) {\n if (isObject(obj) || (isArray(obj) && NUMBER_RE.test(key))) {\n fn(obj, key);\n }\n }\n else {\n // force the rest of the graph while traversing\n if ((options === null || options === void 0 ? void 0 : options.buildGraph) && isNil(obj[key])) {\n obj[key] = {};\n }\n // get the next item\n const item = obj[key];\n // nothing more to do\n if (!item)\n return;\n // we peek to see if next key is an array index.\n const isNextArrayIndex = !!(names.length > 1 && NUMBER_RE.test(names[1]));\n // if we have an array value but the next key is not an index and the 'descendArray' option is set,\n // we walk each item in the array separately. This allows for handling traversing keys for objects\n // nested within an array.\n //\n // Eg: Given { array: [ {k:1}, {k:2}, {k:3} ] }\n // - individual objecs can be traversed with \"array.k\"\n // - a specific object can be traversed with \"array.1\"\n if (item instanceof Array && (options === null || options === void 0 ? void 0 : options.descendArray) && !isNextArrayIndex) {\n item.forEach(((e) => walk(e, next, fn, options)));\n }\n else {\n walk(item, next, fn, options);\n }\n }\n}\n/**\n * Set the value of the given object field\n *\n * @param obj {Object|Array} the object context\n * @param selector {String} path to field\n * @param value {*} the value to set. if it is function, it is invoked with the old value and must return the new value.\n */\nexport function setValue(obj, selector, value) {\n walk(obj, selector, ((item, key) => {\n item[key] = isFunction(value) ? value(item[key]) : value;\n }), { buildGraph: true });\n}\n/**\n * Removes an element from the container.\n * If the selector resolves to an array and the leaf is a non-numeric key,\n * the remove operation will be performed on objects of the array.\n *\n * @param obj {ArrayOrObject} object or array\n * @param selector {String} dot separated path to element to remove\n */\nexport function removeValue(obj, selector, options) {\n walk(obj, selector, ((item, key) => {\n if (item instanceof Array) {\n if (/^\\d+$/.test(key)) {\n item.splice(parseInt(key), 1);\n }\n else if (options && options.descendArray) {\n for (const elem of item) {\n if (isObject(elem)) {\n delete elem[key];\n }\n }\n }\n }\n else if (isObject(item)) {\n delete item[key];\n }\n }), options);\n}\nconst OPERATOR_NAME_PATTERN = /^\\$[a-zA-Z0-9_]+$/;\n/**\n * Check whether the given name passes for an operator. We assume AnyVal field name starting with '$' is an operator.\n * This is cheap and safe to do since keys beginning with '$' should be reserved for internal use.\n * @param {String} name\n */\nexport function isOperator(name) {\n return OPERATOR_NAME_PATTERN.test(name);\n}\n/**\n * Simplify expression for easy evaluation with query operators map\n * @param expr\n * @returns {*}\n */\nexport function normalize(expr) {\n // normalized primitives\n if (JS_SIMPLE_TYPES.has(getType(expr).toLowerCase())) {\n return isRegExp(expr) ? { $regex: expr } : { $eq: expr };\n }\n // normalize object expression. using ObjectLike handles custom types\n if (isObjectLike(expr)) {\n const exprObj = expr;\n // no valid query operator found, so we do simple comparison\n if (!Object.keys(exprObj).some(isOperator)) {\n return { $eq: expr };\n }\n // ensure valid regex\n if (has(expr, \"$regex\")) {\n const newExpr = Object.assign({}, expr);\n newExpr[\"$regex\"] = new RegExp(expr[\"$regex\"], expr[\"$options\"]);\n delete newExpr[\"$options\"];\n return newExpr;\n }\n }\n return expr;\n}\n/**\n * Find the insert index for the given key in a sorted array.\n *\n * @param {*} sorted The sorted array to search\n * @param {*} item The search key\n */\nexport function findInsertIndex(sorted, item) {\n // uses binary search\n let lo = 0;\n let hi = sorted.length - 1;\n while (lo <= hi) {\n const mid = Math.round(lo + (hi - lo) / 2);\n if (compare(item, sorted[mid]) < 0) {\n hi = mid - 1;\n }\n else if (compare(item, sorted[mid]) > 0) {\n lo = mid + 1;\n }\n else {\n return mid;\n }\n }\n return lo;\n}\n","import { assert, has, isArray, isFunction, isNil, isObject, isObjectLike, isOperator, isString, resolve } from \"./util\";\n/**\n * This controls how input and output documents are processed to meet different application needs.\n * Each mode has different trade offs for; immutability, reference sharing, and performance.\n */\nexport var ProcessingMode;\n(function (ProcessingMode) {\n /**\n * Clone inputs prior to processing, and the outputs if some objects graphs may be shared.\n * Use this option to keep input collection immutable and to get distinct output objects.\n *\n * Note: This option is expensive and reduces performance.\n */\n ProcessingMode[\"CLONE_ALL\"] = \"CLONE_ALL\";\n /**\n * Clones inputs prior to processing.\n * This option will return output objects with shared graphs in their path if specific operators are used.\n * Use this option to keep the input collection immutable.\n *\n */\n ProcessingMode[\"CLONE_INPUT\"] = \"CLONE_INPUT\";\n /**\n * Clones the output to return distinct objects with no shared paths.\n * This option modifies the input collection and during processing.\n */\n ProcessingMode[\"CLONE_OUTPUT\"] = \"CLONE_OUTPUT\";\n /**\n * Turn off cloning and modifies the input collection as needed.\n * This option will also return output objects with shared paths in their graph when specific operators are used.\n * This option provides the greatest speedup for the biggest tradeoff.\n * When using the aggregation pipeline, you can use the \"$out\" operator to collect immutable intermediate results.\n *\n * @default\n */\n ProcessingMode[\"CLONE_OFF\"] = \"CLONE_OFF\";\n})(ProcessingMode || (ProcessingMode = {}));\n/** Custom type to facilitate type checking for global options */\nexport class ComputeOptions {\n constructor(_opts, \n /** Reference to the root object when processing subgraphs of the object. */\n _root, _local, \n /** The current time in milliseconds. Remains the same throughout all stages of the aggregation pipeline. */\n timestamp = Date.now()) {\n this._opts = _opts;\n this._root = _root;\n this._local = _local;\n this.timestamp = timestamp;\n this.update(_root, _local);\n }\n /**\n * Initialize new ComputeOptions.\n *\n * @param options\n * @param root\n * @param local\n * @returns {ComputeOptions}\n */\n static init(options, root, local) {\n return options instanceof ComputeOptions\n ? new ComputeOptions(options._opts, isNil(options.root) ? root : options.root, Object.assign({}, options.local, local))\n : new ComputeOptions(options, root, local);\n }\n /** Updates the internal mutable state. */\n update(root, local) {\n var _a;\n // NOTE: this is done for efficiency to avoid creating too many intermediate options objects.\n this._root = root;\n this._local = local\n ? Object.assign({}, local, {\n variables: Object.assign({}, (_a = this._local) === null || _a === void 0 ? void 0 : _a.variables, local === null || local === void 0 ? void 0 : local.variables)\n })\n : local;\n return this;\n }\n getOptions() {\n return Object.freeze(Object.assign(Object.assign({}, this._opts), { context: Context.from(this._opts.context) }));\n }\n get root() {\n return this._root;\n }\n get local() {\n return this._local;\n }\n get idKey() {\n return this._opts.idKey;\n }\n get collation() {\n var _a;\n return (_a = this._opts) === null || _a === void 0 ? void 0 : _a.collation;\n }\n get processingMode() {\n var _a;\n return ((_a = this._opts) === null || _a === void 0 ? void 0 : _a.processingMode) || ProcessingMode.CLONE_OFF;\n }\n get useStrictMode() {\n var _a;\n return (_a = this._opts) === null || _a === void 0 ? void 0 : _a.useStrictMode;\n }\n get scriptEnabled() {\n var _a;\n return (_a = this._opts) === null || _a === void 0 ? void 0 : _a.scriptEnabled;\n }\n get useGlobalContext() {\n var _a;\n return (_a = this._opts) === null || _a === void 0 ? void 0 : _a.useGlobalContext;\n }\n get hashFunction() {\n var _a;\n return (_a = this._opts) === null || _a === void 0 ? void 0 : _a.hashFunction;\n }\n get collectionResolver() {\n var _a;\n return (_a = this._opts) === null || _a === void 0 ? void 0 : _a.collectionResolver;\n }\n get jsonSchemaValidator() {\n var _a;\n return (_a = this._opts) === null || _a === void 0 ? void 0 : _a.jsonSchemaValidator;\n }\n get variables() {\n var _a;\n return (_a = this._opts) === null || _a === void 0 ? void 0 : _a.variables;\n }\n get context() {\n var _a;\n return (_a = this._opts) === null || _a === void 0 ? void 0 : _a.context;\n }\n}\n/**\n * Creates an Option from another where required keys are initialized.\n * @param options Options\n */\nexport function initOptions(options) {\n return options instanceof ComputeOptions\n ? options.getOptions()\n : Object.freeze(Object.assign(Object.assign({ idKey: \"_id\", scriptEnabled: true, useStrictMode: true, useGlobalContext: true, processingMode: ProcessingMode.CLONE_OFF }, options), { context: (options === null || options === void 0 ? void 0 : options.context)\n ? Context.from(options === null || options === void 0 ? void 0 : options.context)\n : Context.init({}) }));\n}\n/**\n * The different groups of operators\n */\nexport var OperatorType;\n(function (OperatorType) {\n OperatorType[\"ACCUMULATOR\"] = \"accumulator\";\n OperatorType[\"EXPRESSION\"] = \"expression\";\n OperatorType[\"PIPELINE\"] = \"pipeline\";\n OperatorType[\"PROJECTION\"] = \"projection\";\n OperatorType[\"QUERY\"] = \"query\";\n OperatorType[\"WINDOW\"] = \"window\";\n})(OperatorType || (OperatorType = {}));\nexport class Context {\n constructor(ops) {\n this.operators = {\n [OperatorType.ACCUMULATOR]: {},\n [OperatorType.EXPRESSION]: {},\n [OperatorType.PIPELINE]: {},\n [OperatorType.PROJECTION]: {},\n [OperatorType.QUERY]: {},\n [OperatorType.WINDOW]: {}\n };\n for (const [type, operators] of Object.entries(ops)) {\n this.addOperators(type, operators);\n }\n }\n static init(ops = {}) {\n return new Context(ops);\n }\n static from(ctx) {\n return new Context(ctx.operators);\n }\n addOperators(type, ops) {\n for (const [name, fn] of Object.entries(ops)) {\n if (!this.getOperator(type, name)) {\n this.operators[type][name] = fn;\n }\n }\n return this;\n }\n // register\n addAccumulatorOps(ops) {\n return this.addOperators(OperatorType.ACCUMULATOR, ops);\n }\n addExpressionOps(ops) {\n return this.addOperators(OperatorType.EXPRESSION, ops);\n }\n addQueryOps(ops) {\n return this.addOperators(OperatorType.QUERY, ops);\n }\n addPipelineOps(ops) {\n return this.addOperators(OperatorType.PIPELINE, ops);\n }\n addProjectionOps(ops) {\n return this.addOperators(OperatorType.PROJECTION, ops);\n }\n addWindowOps(ops) {\n return this.addOperators(OperatorType.WINDOW, ops);\n }\n // getters\n getOperator(type, name) {\n return type in this.operators ? this.operators[type][name] || null : null;\n }\n}\n// global context\nconst GLOBAL_CONTEXT = Context.init();\n/**\n * Register fully specified operators for the given operator class.\n *\n * @param type The operator type\n * @param operators Map of the operators\n */\nexport function useOperators(type, operators) {\n for (const [name, fn] of Object.entries(operators)) {\n assert(isFunction(fn) && isOperator(name), `'${name}' is not a valid operator`);\n const currentFn = getOperator(type, name, null);\n assert(!currentFn || fn === currentFn, `${name} already exists for '${type}' operators. Cannot change operator function once registered.`);\n }\n // toss the operator salad :)\n switch (type) {\n case OperatorType.ACCUMULATOR:\n GLOBAL_CONTEXT.addAccumulatorOps(operators);\n break;\n case OperatorType.EXPRESSION:\n GLOBAL_CONTEXT.addExpressionOps(operators);\n break;\n case OperatorType.PIPELINE:\n GLOBAL_CONTEXT.addPipelineOps(operators);\n break;\n case OperatorType.PROJECTION:\n GLOBAL_CONTEXT.addProjectionOps(operators);\n break;\n case OperatorType.QUERY:\n GLOBAL_CONTEXT.addQueryOps(operators);\n break;\n case OperatorType.WINDOW:\n GLOBAL_CONTEXT.addWindowOps(operators);\n break;\n }\n}\n/**\n * Overrides the current global context with this new one.\n *\n * @param context The new context to override the global one with.\n */\n// export const setGlobalContext = (context: Context): void => {\n// GLOBAL_CONTEXT = context;\n// };\n/**\n * Returns the operator function or undefined if it is not found\n * @param type Type of operator\n * @param operator Name of the operator\n */\nexport function getOperator(type, operator, options) {\n const { context: ctx, useGlobalContext: fallback } = options || {};\n const fn = ctx ? ctx.getOperator(type, operator) : null;\n return !fn && fallback ? GLOBAL_CONTEXT.getOperator(type, operator) : fn;\n}\n/* eslint-disable unused-imports/no-unused-vars-ts */\n/**\n * Implementation of system variables\n * @type {Object}\n */\nconst systemVariables = {\n $$ROOT(_obj, _expr, options) {\n return options.root;\n },\n $$CURRENT(obj, _expr, _options) {\n return obj;\n },\n $$REMOVE(_obj, _expr, _options) {\n return undefined;\n },\n $$NOW(_obj, _expr, options) {\n return new Date(options.timestamp);\n }\n};\n/**\n * Implementation of $redact variables\n *\n * Each function accepts 3 arguments (obj, expr, options)\n *\n * @type {Object}\n */\nconst redactVariables = {\n $$KEEP(obj, _expr, _options) {\n return obj;\n },\n $$PRUNE(_obj, _expr, _options) {\n return undefined;\n },\n $$DESCEND(obj, expr, options) {\n // traverse nested documents iff there is a $cond\n if (!has(expr, \"$cond\"))\n return obj;\n let result;\n for (const [key, current] of Object.entries(obj)) {\n if (isObjectLike(current)) {\n if (current instanceof Array) {\n const array = [];\n for (let elem of current) {\n if (isObject(elem)) {\n elem = redact(elem, expr, options.update(elem));\n }\n if (!isNil(elem)) {\n array.push(elem);\n }\n }\n result = array;\n }\n else {\n result = redact(current, expr, options.update(current));\n }\n if (isNil(result)) {\n delete obj[key]; // pruned result\n }\n else {\n obj[key] = result;\n }\n }\n }\n return obj;\n }\n};\n/* eslint-enable unused-imports/no-unused-vars-ts */\n/**\n * Computes the value of the expression on the object for the given operator\n *\n * @param obj the current object from the collection\n * @param expr the expression for the given field\n * @param operator the operator to resolve the field with\n * @param options {Object} extra options\n * @returns {*}\n */\nexport function computeValue(obj, expr, operator, options) {\n var _a;\n // ensure valid options exist on first invocation\n const copts = ComputeOptions.init(options, obj);\n operator = operator || \"\";\n if (isOperator(operator)) {\n // if the field of the object is a valid operator\n const callExpression = getOperator(OperatorType.EXPRESSION, operator, options);\n if (callExpression)\n return callExpression(obj, expr, copts);\n // we also handle $group accumulator operators\n const callAccumulator = getOperator(OperatorType.ACCUMULATOR, operator, options);\n if (callAccumulator) {\n // if object is not an array, first try to compute using the expression\n if (!(obj instanceof Array)) {\n obj = computeValue(obj, expr, null, copts);\n expr = null;\n }\n // validate that we have an array\n assert(obj instanceof Array, `'${operator}' target must be an array.`);\n // for accumulators, we use the global options since the root is specific to each element within array.\n return callAccumulator(obj, expr, \n // reset the root object for accumulators.\n copts.update(null, copts.local));\n }\n // operator was not found\n throw new Error(`operator '${operator}' is not registered`);\n }\n // if expr is a string and begins with \"$$\", then we have a variable.\n // this can be one of; redact variable, system variable, user-defined variable.\n // we check and process them in that order.\n //\n // if expr begins only a single \"$\", then it is a path to a field on the object.\n if (isString(expr) && expr.length > 0 && expr[0] === \"$\") {\n // we return redact variables as literals\n if (has(redactVariables, expr)) {\n return expr;\n }\n // default to root for resolving path.\n let context = copts.root;\n // handle selectors with explicit prefix\n const arr = expr.split(\".\");\n if (has(systemVariables, arr[0])) {\n // set 'root' only the first time it is required to be used for all subsequent calls\n // if it already available on the options, it will be used\n context = systemVariables[arr[0]](obj, null, copts);\n expr = expr.slice(arr[0].length + 1); // +1 for '.'\n }\n else if (arr[0].slice(0, 2) === \"$$\") {\n // handle user-defined variables\n context = Object.assign({}, copts.variables, // global vars\n // current item is added before local variables because the binding may be changed.\n { this: obj }, (_a = copts.local) === null || _a === void 0 ? void 0 : _a.variables // local vars\n );\n const prefix = arr[0].slice(2);\n assert(has(context, prefix), `Use of undefined variable: ${prefix}`);\n expr = expr.slice(2);\n }\n else {\n // 'expr' is a path to a field on the object.\n expr = expr.slice(1);\n }\n if (expr === \"\")\n return context;\n return resolve(context, expr);\n }\n // check and return value if already in a resolved state\n if (isArray(expr)) {\n return expr.map((item) => computeValue(obj, item, null, copts));\n }\n else if (isObject(expr)) {\n const result = {};\n for (const [key, val] of Object.entries(expr)) {\n result[key] = computeValue(obj, val, key, copts);\n // must run ONLY one aggregate operator per expression\n // if so, return result of the computed value\n if ([OperatorType.EXPRESSION, OperatorType.ACCUMULATOR].some(t => !!getOperator(t, key, options))) {\n // there should be only one operator\n assert(Object.keys(expr).length === 1, \"Invalid aggregation expression '\" + JSON.stringify(expr) + \"'\");\n return result[key];\n }\n }\n return result;\n }\n return expr;\n}\n/**\n * Redact an object\n * @param {Object} obj The object to redact\n * @param {*} expr The redact expression\n * @param {*} options Options for value\n * @return {*} returns the result of the redacted object\n */\nexport function redact(obj, expr, options) {\n const result = computeValue(obj, expr, null, options);\n return has(redactVariables, result)\n ? redactVariables[result](obj, expr, options)\n : result;\n}\n","/**\n * Returns an iterator\n * @param {*} source An iterable source (Array, Function, Generator, or Iterator)\n */\nexport function Lazy(source) {\n return source instanceof Iterator ? source : new Iterator(source);\n}\nexport function compose(...iterators) {\n let index = 0;\n return Lazy(() => {\n while (index < iterators.length) {\n const o = iterators[index].next();\n if (!o.done)\n return o;\n index++;\n }\n return { done: true };\n });\n}\n/**\n * Checks whether the given object is compatible with a generator i.e Object{next:Function}\n * @param {*} o An object\n */\nfunction isGenerator(o) {\n return (!!o && typeof o === \"object\" && (o === null || o === void 0 ? void 0 : o.next) instanceof Function);\n}\nfunction dropItem(array, i) {\n const rest = array.slice(i + 1);\n array.splice(i);\n Array.prototype.push.apply(array, rest);\n}\n// stop iteration error\nconst DONE = new Error();\n// Lazy function actions\nvar Action;\n(function (Action) {\n Action[Action[\"MAP\"] = 0] = \"MAP\";\n Action[Action[\"FILTER\"] = 1] = \"FILTER\";\n Action[Action[\"TAKE\"] = 2] = \"TAKE\";\n Action[Action[\"DROP\"] = 3] = \"DROP\";\n})(Action || (Action = {}));\nfunction createCallback(nextFn, iteratees, buffer) {\n let done = false;\n let index = -1;\n let bufferIndex = 0; // index for the buffer\n return function (storeResult) {\n // special hack to collect all values into buffer\n try {\n outer: while (!done) {\n let o = nextFn();\n index++;\n let i = -1;\n const size = iteratees.length;\n let innerDone = false;\n while (++i < size) {\n const r = iteratees[i];\n switch (r.action) {\n case Action.MAP:\n o = r.func(o, index);\n break;\n case Action.FILTER:\n if (!r.func(o, index))\n continue outer;\n break;\n case Action.TAKE:\n --r.count;\n if (!r.count)\n innerDone = true;\n break;\n case Action.DROP:\n --r.count;\n if (!r.count)\n dropItem(iteratees, i);\n continue outer;\n default:\n break outer;\n }\n }\n done = innerDone;\n if (storeResult) {\n buffer[bufferIndex++] = o;\n }\n else {\n return { value: o, done: false };\n }\n }\n }\n catch (e) {\n if (e !== DONE)\n throw e;\n }\n done = true;\n return { done };\n };\n}\n/**\n * A lazy collection iterator yields a single value at a time upon request.\n */\nexport class Iterator {\n /**\n * @param {*} source An iterable object or function.\n * Array - return one element per cycle\n * Object{next:Function} - call next() for the next value (this also handles generator functions)\n * Function - call to return the next value\n * @param {Function} fn An optional transformation function\n */\n constructor(source) {\n this.iteratees = [];\n this.yieldedValues = [];\n this.isDone = false;\n let nextVal;\n if (source instanceof Function) {\n // make iterable\n source = { next: source };\n }\n if (isGenerator(source)) {\n const src = source;\n nextVal = () => {\n const o = src.next();\n if (o.done)\n throw DONE;\n return o.value;\n };\n }\n else if (source instanceof Array) {\n const data = source;\n const size = data.length;\n let index = 0;\n nextVal = () => {\n if (index < size)\n return data[index++];\n throw DONE;\n };\n }\n else if (!(source instanceof Function)) {\n throw new Error(`Lazy must be initialized with an array, generator, or function.`);\n }\n // create next function\n this.getNext = createCallback(nextVal, this.iteratees, this.yieldedValues);\n }\n /**\n * Add an iteratee to this lazy sequence\n */\n push(action, value) {\n if (typeof value === \"function\") {\n this.iteratees.push({ action, func: value });\n }\n else if (typeof value === \"number\") {\n this.iteratees.push({ action, count: value });\n }\n return this;\n }\n next() {\n return this.getNext();\n }\n // Iteratees methods\n /**\n * Transform each item in the sequence to a new value\n * @param {Function} f\n */\n map(f) {\n return this.push(Action.MAP, f);\n }\n /**\n * Select only items matching the given predicate\n * @param {Function} pred\n */\n filter(predicate) {\n return this.push(Action.FILTER, predicate);\n }\n /**\n * Take given numbe for values from sequence\n * @param {Number} n A number greater than 0\n */\n take(n) {\n return n > 0 ? this.push(Action.TAKE, n) : this;\n }\n /**\n * Drop a number of values from the sequence\n * @param {Number} n Number of items to drop greater than 0\n */\n drop(n) {\n return n > 0 ? this.push(Action.DROP, n) : this;\n }\n // Transformations\n /**\n * Returns a new lazy object with results of the transformation\n * The entire sequence is realized.\n *\n * @param {Callback} fn Tranform function of type (Array) => (Any)\n */\n transform(fn) {\n const self = this;\n let iter;\n return Lazy(() => {\n if (!iter) {\n iter = Lazy(fn(self.value()));\n }\n return iter.next();\n });\n }\n // Terminal methods\n /**\n * Returns the fully realized values of the iterators.\n * The return value will be an array unless `lazy.first()` was used.\n * The realized values are cached for subsequent calls.\n */\n value() {\n if (!this.isDone) {\n this.isDone = this.getNext(true).done;\n }\n return this.yieldedValues;\n }\n /**\n * Execute the funcion for each value. Will stop when an execution returns false.\n * @param {Function} f\n * @returns {Boolean} false iff `f` return false for AnyVal execution, otherwise true\n */\n each(f) {\n for (;;) {\n const o = this.next();\n if (o.done)\n break;\n if (f(o.value) === false)\n return false;\n }\n return true;\n }\n /**\n * Returns the reduction of sequence according the reducing function\n *\n * @param {*} f a reducing function\n * @param {*} initialValue\n */\n reduce(f, initialValue) {\n let o = this.next();\n if (initialValue === undefined && !o.done) {\n initialValue = o.value;\n o = this.next();\n }\n while (!o.done) {\n initialValue = f(initialValue, o.value);\n o = this.next();\n }\n return initialValue;\n }\n /**\n * Returns the number of matched items in the sequence\n */\n size() {\n return this.reduce(((acc, _) => ++acc), 0);\n }\n [Symbol.iterator]() {\n /* eslint-disable @typescript-eslint/no-unsafe-return */\n return this;\n }\n}\n","import { getOperator, initOptions, OperatorType, ProcessingMode } from \"./core\";\nimport { Lazy } from \"./lazy\";\nimport { assert, cloneDeep, intersection, isEmpty } from \"./util\";\n/**\n * Provides functionality for the mongoDB aggregation pipeline\n *\n * @param pipeline an Array of pipeline operators\n * @param options An optional Options to pass the aggregator\n * @constructor\n */\nexport class Aggregator {\n constructor(pipeline, options) {\n this.pipeline = pipeline;\n this.options = initOptions(options);\n }\n /**\n * Returns an `Lazy` iterator for processing results of pipeline\n *\n * @param {*} collection An array or iterator object\n * @returns {Iterator} an iterator object\n */\n stream(collection) {\n let iterator = Lazy(collection);\n const mode = this.options.processingMode;\n if (mode == ProcessingMode.CLONE_ALL ||\n mode == ProcessingMode.CLONE_INPUT) {\n iterator.map(cloneDeep);\n }\n const pipelineOperators = new Array();\n if (!isEmpty(this.pipeline)) {\n // run aggregation pipeline\n for (const operator of this.pipeline) {\n const operatorKeys = Object.keys(operator);\n const opName = operatorKeys[0];\n const call = getOperator(OperatorType.PIPELINE, opName, this.options);\n assert(operatorKeys.length === 1 && !!call, `invalid pipeline operator ${opName}`);\n pipelineOperators.push(opName);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n iterator = call(iterator, operator[opName], this.options);\n }\n }\n // operators that may share object graphs of inputs.\n // we only need to clone the output for these since the objects will already be distinct for other operators.\n if (mode == ProcessingMode.CLONE_OUTPUT ||\n (mode == ProcessingMode.CLONE_ALL &&\n !!intersection([[\"$group\", \"$unwind\"], pipelineOperators]).length)) {\n iterator.map(cloneDeep);\n }\n return iterator;\n }\n /**\n * Return the results of the aggregation as an array.\n *\n * @param {*} collection\n * @param {*} query\n */\n run(collection) {\n return this.stream(collection).value();\n }\n}\n","import { Aggregator } from \"./aggregator\";\nimport { compose, Lazy } from \"./lazy\";\nimport { isObject } from \"./util\";\n/**\n * Cursor to iterate and perform filtering on matched objects.\n * This object must not be used directly. A cursor may be obtaine from calling `find()` on an instance of `Query`.\n *\n * @param collection The input source of the collection\n * @param predicate A predicate function to test documents\n * @param projection A projection criteria\n * @param options Options\n * @constructor\n */\nexport class Cursor {\n constructor(source, predicate, projection, options) {\n this.source = source;\n this.predicate = predicate;\n this.projection = projection;\n this.options = options;\n this.operators = [];\n this.result = null;\n this.buffer = [];\n }\n /** Returns the iterator from running the query */\n fetch() {\n if (this.result)\n return this.result;\n // add projection operator\n if (isObject(this.projection)) {\n this.operators.push({ $project: this.projection });\n }\n // filter collection\n this.result = Lazy(this.source).filter(this.predicate);\n if (this.operators.length > 0) {\n this.result = new Aggregator(this.operators, this.options).stream(this.result);\n }\n return this.result;\n }\n /** Returns an iterator with the buffered data included */\n fetchAll() {\n const buffered = Lazy([...this.buffer]);\n this.buffer = [];\n return compose(buffered, this.fetch());\n }\n /**\n * Return remaining objects in the cursor as an array. This method exhausts the cursor\n * @returns {Array}\n */\n all() {\n return this.fetchAll().value();\n }\n /**\n * Returns the number of objects return in the cursor. This method exhausts the cursor\n * @returns {Number}\n */\n count() {\n return this.all().length;\n }\n /**\n * Returns a cursor that begins returning results only after passing or skipping a number of documents.\n * @param {Number} n the number of results to skip.\n * @return {Cursor} Returns the cursor, so you can chain this call.\n */\n skip(n) {\n this.operators.push({ $skip: n });\n return this;\n }\n /**\n * Constrains the size of a cursor's result set.\n * @param {Number} n the number of results to limit to.\n * @return {Cursor} Returns the cursor, so you can chain this call.\n */\n limit(n) {\n this.operators.push({ $limit: n });\n return this;\n }\n /**\n * Returns results ordered according to a sort specification.\n * @param {Object} modifier an object of key and values specifying the sort order. 1 for ascending and -1 for descending\n * @return {Cursor} Returns the cursor, so you can chain this call.\n */\n sort(modifier) {\n this.operators.push({ $sort: modifier });\n return this;\n }\n /**\n * Specifies the collation for the cursor returned by the `mingo.Query.find`\n * @param {*} spec\n */\n collation(spec) {\n this.options = Object.assign(Object.assign({}, this.options), { collation: spec });\n return this;\n }\n /**\n * Returns the next document in a cursor.\n * @returns {Object | Boolean}\n */\n next() {\n // yield value obtains in hasNext()\n if (this.buffer.length > 0) {\n return this.buffer.pop();\n }\n const o = this.fetch().next();\n if (o.done)\n return;\n return o.value;\n }\n /**\n * Returns true if the cursor has documents and can be iterated.\n * @returns {boolean}\n */\n hasNext() {\n // there is a value in the buffer\n if (this.buffer.length > 0)\n return true;\n const o = this.fetch().next();\n if (o.done)\n return false;\n this.buffer.push(o.value);\n return true;\n }\n /**\n * Applies a function to each document in a cursor and collects the return values in an array.\n * @param fn\n * @returns {Array}\n */\n map(fn) {\n return this.all().map(fn);\n }\n /**\n * Applies a JavaScript function for every document in a cursor.\n * @param fn\n */\n forEach(fn) {\n this.all().forEach(fn);\n }\n [Symbol.iterator]() {\n return this.fetchAll();\n }\n}\n","import { getOperator, initOptions, OperatorType } from \"./core\";\nimport { Cursor } from \"./cursor\";\nimport { assert, inArray, isObject, isOperator, normalize } from \"./util\";\n/**\n * An object used to filter input documents\n *\n * @param {Object} condition The condition for constructing predicates\n * @param {Options} options Options for use by operators\n * @constructor\n */\nexport class Query {\n constructor(condition, options) {\n this.condition = condition;\n this.options = initOptions(options);\n this.compiled = [];\n this.compile();\n }\n compile() {\n assert(isObject(this.condition), `query criteria must be an object: ${JSON.stringify(this.condition)}`);\n const whereOperator = {};\n for (const [field, expr] of Object.entries(this.condition)) {\n if (\"$where\" === field) {\n Object.assign(whereOperator, { field: field, expr: expr });\n }\n else if (inArray([\"$and\", \"$or\", \"$nor\", \"$expr\", \"$jsonSchema\"], field)) {\n this.processOperator(field, field, expr);\n }\n else {\n // normalize expression\n assert(!isOperator(field), `unknown top level operator: ${field}`);\n for (const [operator, val] of Object.entries(normalize(expr))) {\n this.processOperator(field, operator, val);\n }\n }\n if (whereOperator.field) {\n this.processOperator(whereOperator.field, whereOperator.field, whereOperator.expr);\n }\n }\n }\n processOperator(field, operator, value) {\n const call = getOperator(OperatorType.QUERY, operator, this.options);\n if (!call) {\n throw new Error(`unknown operator ${operator}`);\n }\n const fn = call(field, value, this.options);\n this.compiled.push(fn);\n }\n /**\n * Checks if the object passes the query criteria. Returns true if so, false otherwise.\n *\n * @param obj The object to test\n * @returns {boolean} True or false\n */\n test(obj) {\n for (let i = 0, len = this.compiled.length; i < len; i++) {\n if (!this.compiled[i](obj)) {\n return false;\n }\n }\n return true;\n }\n /**\n * Returns a cursor to select matching documents from the input source.\n *\n * @param source A source providing a sequence of documents\n * @param projection An optional projection criteria\n * @returns {Cursor} A Cursor for iterating over the results\n */\n find(collection, projection) {\n return new Cursor(collection, ((x) => this.test(x)), projection || {}, this.options);\n }\n /**\n * Remove matched documents from the collection returning the remainder\n *\n * @param collection An array of documents\n * @returns {Array} A new array with matching elements removed\n */\n remove(collection) {\n return collection.reduce((acc, obj) => {\n if (!this.test(obj))\n acc.push(obj);\n return acc;\n }, []);\n }\n}\n","import { compare, groupBy, into, isEmpty, isObject, isString, resolve } from \"../../util\";\n/**\n * Takes all input documents and returns them in a stream of sorted documents.\n *\n * @param collection\n * @param sortKeys\n * @param {Object} options\n * @returns {*}\n */\nexport const $sort = (collection, sortKeys, options) => {\n if (isEmpty(sortKeys) || !isObject(sortKeys))\n return collection;\n let cmp = compare;\n // check for collation spec on the options\n const collationSpec = options.collation;\n // use collation comparator if provided\n if (isObject(collationSpec) && isString(collationSpec.locale)) {\n cmp = collationComparator(collationSpec);\n }\n return collection.transform((coll) => {\n const modifiers = Object.keys(sortKeys);\n for (const key of modifiers.reverse()) {\n const groups = groupBy(coll, (obj) => resolve(obj, key), options.hashFunction);\n const sortedKeys = Array.from(groups.keys()).sort(cmp);\n if (sortKeys[key] === -1)\n sortedKeys.reverse();\n // reuse collection so the data is available for the next iteration of the sort modifiers.\n coll = [];\n sortedKeys.reduce((acc, key) => into(acc, groups.get(key)), coll);\n }\n return coll;\n });\n};\n// MongoDB collation strength to JS localeCompare sensitivity mapping.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\nconst COLLATION_STRENGTH = {\n // Only strings that differ in base letters compare as unequal. Examples: a ≠ b, a = á, a = A.\n 1: \"base\",\n // Only strings that differ in base letters or accents and other diacritic marks compare as unequal.\n // Examples: a ≠ b, a ≠ á, a = A.\n 2: \"accent\",\n // Strings that differ in base letters, accents and other diacritic marks, or case compare as unequal.\n // Other differences may also be taken into consideration. Examples: a ≠ b, a ≠ á, a ≠ A\n 3: \"variant\"\n // case - Only strings that differ in base letters or case compare as unequal. Examples: a ≠ b, a = á, a ≠ A.\n};\n/**\n * Creates a comparator function for the given collation spec. See https://docs.mongodb.com/manual/reference/collation/\n *\n * @param spec {Object} The MongoDB collation spec.\n * {\n * locale: string,\n * caseLevel: boolean,\n * caseFirst: string,\n * strength: int,\n * numericOrdering: boolean,\n * alternate: string,\n * maxVariable: never, // unsupported\n * backwards: never // unsupported\n * }\n */\nfunction collationComparator(spec) {\n const localeOpt = {\n sensitivity: COLLATION_STRENGTH[spec.strength || 3],\n caseFirst: spec.caseFirst === \"off\" ? \"false\" : spec.caseFirst || \"false\",\n numeric: spec.numericOrdering || false,\n ignorePunctuation: spec.alternate === \"shifted\"\n };\n // when caseLevel is true for strength 1:base and 2:accent, bump sensitivity to the nearest that supports case comparison\n if ((spec.caseLevel || false) === true) {\n if (localeOpt.sensitivity === \"base\")\n localeOpt.sensitivity = \"case\";\n if (localeOpt.sensitivity === \"accent\")\n localeOpt.sensitivity = \"variant\";\n }\n const collator = new Intl.Collator(spec.locale, localeOpt);\n return (a, b) => {\n // non strings\n if (!isString(a) || !isString(b))\n return compare(a, b);\n // only for strings\n const i = collator.compare(a, b);\n if (i < 0)\n return -1;\n if (i > 0)\n return 1;\n return 0;\n };\n}\n","/**\n * Predicates used for Query and Expression operators.\n */\nimport { computeValue } from \"../core\";\nimport { Query } from \"../query\";\nimport { compare as mingoCmp, ensureArray, flatten, getType, inArray, intersection, isArray, isBoolean, isDate, isEmpty, isEqual, isNil, isNumber, isObject, isOperator, isRegExp, isString, MAX_INT, MAX_LONG, MIN_INT, MIN_LONG, resolve, truthy } from \"../util\";\n/**\n * Returns a query operator created from the predicate\n *\n * @param predicate Predicate function\n */\nexport function createQueryOperator(predicate) {\n const f = (selector, value, options) => {\n const opts = { unwrapArray: true };\n const depth = Math.max(1, selector.split(\".\").length - 1);\n return (obj) => {\n // value of field must be fully resolved.\n const lhs = resolve(obj, selector, opts);\n return predicate(lhs, value, Object.assign(Object.assign({}, options), { depth }));\n };\n };\n f.op = \"query\";\n return f; // as QueryOperator;\n}\n/**\n * Returns an expression operator created from the predicate\n *\n * @param predicate Predicate function\n */\nexport function createExpressionOperator(predicate) {\n return (obj, expr, options) => {\n const args = computeValue(obj, expr, null, options);\n return predicate(...args);\n };\n}\n/**\n * Checks that two values are equal.\n *\n * @param a The lhs operand as resolved from the object by the given selector\n * @param b The rhs operand provided by the user\n * @returns {*}\n */\nexport function $eq(a, b, options) {\n // start with simple equality check\n if (isEqual(a, b))\n return true;\n // https://docs.mongodb.com/manual/tutorial/query-for-null-fields/\n if (isNil(a) && isNil(b))\n return true;\n // check\n if (a instanceof Array) {\n const eq = isEqual.bind(null, b);\n return a.some(eq) || flatten(a, options === null || options === void 0 ? void 0 : options.depth).some(eq);\n }\n return false;\n}\n/**\n * Matches all values that are not equal to the value specified in the query.\n *\n * @param a\n * @param b\n * @returns {boolean}\n */\nexport function $ne(a, b, options) {\n return !$eq(a, b, options);\n}\n/**\n * Matches any of the values that exist in an array specified in the query.\n *\n * @param a\n * @param b\n * @returns {*}\n */\nexport function $in(a, b, options) {\n // queries for null should be able to find undefined fields\n if (isNil(a))\n return b.some(v => v === null);\n return intersection([ensureArray(a), b], options === null || options === void 0 ? void 0 : options.hashFunction).length > 0;\n}\n/**\n * Matches values that do not exist in an array specified to the query.\n *\n * @param a\n * @param b\n * @returns {*|boolean}\n */\nexport function $nin(a, b, options) {\n return !$in(a, b, options);\n}\n/**\n * Matches values that are less than the value specified in the query.\n *\n * @param a\n * @param b\n * @returns {boolean}\n */\nexport function $lt(a, b, options) {\n return compare(a, b, (x, y) => mingoCmp(x, y) < 0);\n}\n/**\n * Matches values that are less than or equal to the value specified in the query.\n *\n * @param a\n * @param b\n * @returns {boolean}\n */\nexport function $lte(a, b, options) {\n return compare(a, b, (x, y) => mingoCmp(x, y) <= 0);\n}\n/**\n * Matches values that are greater than the value specified in the query.\n *\n * @param a\n * @param b\n * @returns {boolean}\n */\nexport function $gt(a, b, options) {\n return compare(a, b, (x, y) => mingoCmp(x, y) > 0);\n}\n/**\n * Matches values that are greater than or equal to the value specified in the query.\n *\n * @param a\n * @param b\n * @returns {boolean}\n */\nexport function $gte(a, b, options) {\n return compare(a, b, (x, y) => mingoCmp(x, y) >= 0);\n}\n/**\n * Performs a modulo operation on the value of a field and selects documents with a specified result.\n *\n * @param a\n * @param b\n * @returns {boolean}\n */\nexport function $mod(a, b, options) {\n return ensureArray(a).some(((x) => b.length === 2 && x % b[0] === b[1]));\n}\n/**\n * Selects documents where values match a specified regular expression.\n *\n * @param a\n * @param b\n * @returns {boolean}\n */\nexport function $regex(a, b, options) {\n const lhs = ensureArray(a);\n const match = (x) => isString(x) && truthy(b.exec(x), options === null || options === void 0 ? void 0 : options.useStrictMode);\n return lhs.some(match) || flatten(lhs, 1).some(match);\n}\n/**\n * Matches documents that have the specified field.\n *\n * @param a\n * @param b\n * @returns {boolean}\n */\nexport function $exists(a, b, options) {\n return (((b === false || b === 0) && a === undefined) ||\n ((b === true || b === 1) && a !== undefined));\n}\n/**\n * Matches arrays that contain all elements specified in the query.\n *\n * @param values\n * @param queries\n * @returns boolean\n */\nexport function $all(values, queries, options) {\n if (!isArray(values) ||\n !isArray(queries) ||\n !values.length ||\n !queries.length) {\n return false;\n }\n let matched = true;\n for (const query of queries) {\n // no need to check all the queries.\n if (!matched)\n break;\n if (isObject(query) && inArray(Object.keys(query), \"$elemMatch\")) {\n matched = $elemMatch(values, query[\"$elemMatch\"], options);\n }\n else if (query instanceof RegExp) {\n matched = values.some(s => typeof s === \"string\" && query.test(s));\n }\n else {\n matched = values.some(v => isEqual(query, v));\n }\n }\n return matched;\n}\n/**\n * Selects documents if the array field is a specified size.\n *\n * @param a\n * @param b\n * @returns {*|boolean}\n */\nexport function $size(a, b, options) {\n return Array.isArray(a) && a.length === b;\n}\nfunction isNonBooleanOperator(name) {\n return isOperator(name) && [\"$and\", \"$or\", \"$nor\"].indexOf(name) === -1;\n}\n/**\n * Selects documents if element in the array field matches all the specified $elemMatch condition.\n *\n * @param a {Array} element to match against\n * @param b {Object} subquery\n */\nexport function $elemMatch(a, b, options) {\n // should return false for non-matching input\n if (isArray(a) && !isEmpty(a)) {\n let format = (x) => x;\n let criteria = b;\n // If we find a boolean operator in the subquery, we fake a field to point to it. This is an\n // attempt to ensure that it is a valid criteria. We cannot make this substitution for operators\n // like $and/$or/$nor; as otherwise, this faking will break our query.\n if (Object.keys(b).every(isNonBooleanOperator)) {\n criteria = { temp: b };\n format = x => ({ temp: x });\n }\n const query = new Query(criteria, options);\n for (let i = 0, len = a.length; i < len; i++) {\n if (query.test(format(a[i]))) {\n return true;\n }\n }\n }\n return false;\n}\n// helper functions\nconst isNull = (a) => a === null;\nconst isInt = (a) => isNumber(a) &&\n a >= MIN_INT &&\n a <= MAX_INT &&\n a.toString().indexOf(\".\") === -1;\nconst isLong = (a) => isNumber(a) &&\n a >= MIN_LONG &&\n a <= MAX_LONG &&\n a.toString().indexOf(\".\") === -1;\n/** Mapping of type to predicate */\nconst compareFuncs = {\n array: isArray,\n bool: isBoolean,\n boolean: isBoolean,\n date: isDate,\n decimal: isNumber,\n double: isNumber,\n int: isInt,\n long: isLong,\n number: isNumber,\n null: isNull,\n object: isObject,\n regex: isRegExp,\n regexp: isRegExp,\n string: isString,\n // added for completeness\n undefined: isNil, // deprecated\n function: (_) => {\n throw new Error(\"unsupported type key `function`.\");\n },\n // Mongo identifiers\n 1: isNumber, //double\n 2: isString,\n 3: isObject,\n 4: isArray,\n 6: isNil, // deprecated\n 8: isBoolean,\n 9: isDate,\n 10: isNull,\n 11: isRegExp,\n 16: isInt,\n 18: isLong,\n 19: isNumber //decimal\n};\n/**\n * Selects documents if a field is of the specified type.\n *\n * @param a\n * @param b\n * @returns {boolean}\n */\nfunction compareType(a, b, _) {\n const f = compareFuncs[b];\n return f ? f(a) : false;\n}\n/**\n * Selects documents if a field is of the specified type.\n *\n * @param a\n * @param b\n * @returns {boolean}\n */\nexport function $type(a, b, options) {\n return Array.isArray(b)\n ? b.findIndex(t => compareType(a, t, options)) >= 0\n : compareType(a, b, options);\n}\nfunction compare(a, b, f) {\n return ensureArray(a).some(x => getType(x) === getType(b) && f(x, b));\n}\n","// Date Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#date-expression-operators\nimport { computeValue } from \"../../../core\";\nimport { assert, isNil, isObject } from \"../../../util\";\nimport { adjustDate, DATE_FORMAT, DATE_SYM_TABLE, MINUTES_PER_HOUR, parseTimezone, regexQuote, regexStrip } from \"./_internal\";\nconst buildMap = (letters, sign) => {\n const h = {};\n letters.split(\"\").forEach((v, i) => (h[v] = sign * (i + 1)));\n return h;\n};\nconst TZ_LETTER_OFFSETS = Object.assign(Object.assign(Object.assign({}, buildMap(\"ABCDEFGHIKLM\", 1)), buildMap(\"NOPQRSTUVWXY\", -1)), { Z: 0 });\n/**\n * Converts a date/time string to a date object.\n * @param obj\n * @param expr\n */\nexport const $dateFromString = (obj, expr, options) => {\n const args = computeValue(obj, expr, null, options);\n args.format = args.format || DATE_FORMAT;\n args.onNull = args.onNull || null;\n let dateString = args.dateString;\n if (isNil(dateString))\n return args.onNull;\n // collect all separators of the format string\n const separators = args.format.split(/%[YGmdHMSLuVzZ]/);\n separators.reverse();\n const matches = args.format.match(/(%%|%Y|%G|%m|%d|%H|%M|%S|%L|%u|%V|%z|%Z)/g);\n const dateParts = {};\n // holds the valid regex of parts that matches input date string\n let expectedPattern = \"\";\n for (let i = 0, len = matches.length; i < len; i++) {\n const formatSpecifier = matches[i];\n const props = DATE_SYM_TABLE[formatSpecifier];\n if (isObject(props)) {\n // get pattern and alias from table\n const m = props.re.exec(dateString);\n // get the next separtor\n const delimiter = separators.pop() || \"\";\n if (m !== null) {\n // store and cut out matched part\n dateParts[props.name] = /^\\d+$/.exec(m[0]) ? parseInt(m[0]) : m[0];\n dateString =\n dateString.substr(0, m.index) +\n dateString.substr(m.index + m[0].length);\n // construct expected pattern\n expectedPattern +=\n regexQuote(delimiter) + regexStrip(props.re.toString());\n }\n else {\n dateParts[props.name] = null;\n }\n }\n }\n // 1. validate all required date parts exists\n // 2. validate original dateString against expected pattern.\n if (isNil(dateParts.year) ||\n isNil(dateParts.month) ||\n isNil(dateParts.day) ||\n !new RegExp(\"^\" + expectedPattern + \"[A-Z]?$\").exec(args.dateString)) {\n return args.onError;\n }\n const m = args.dateString.match(/([A-Z])$/);\n assert(\n // only one of in-date timeone or timezone argument but not both.\n !(m && args.timezone), `$dateFromString: you cannot pass in a date/time string with time zone information ('${m && m[0]}') together with a timezone argument`);\n const minuteOffset = m\n ? TZ_LETTER_OFFSETS[m[0]] * MINUTES_PER_HOUR\n : parseTimezone(args.timezone);\n // create the date. month is 0-based in Date\n const d = new Date(Date.UTC(dateParts.year, dateParts.month - 1, dateParts.day, 0, 0, 0));\n if (!isNil(dateParts.hour))\n d.setUTCHours(dateParts.hour);\n if (!isNil(dateParts.minute))\n d.setUTCMinutes(dateParts.minute);\n if (!isNil(dateParts.second))\n d.setUTCSeconds(dateParts.second);\n if (!isNil(dateParts.millisecond))\n d.setUTCMilliseconds(dateParts.millisecond);\n // adjust to the correct represention for UTC\n adjustDate(d, -minuteOffset);\n return d;\n};\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { computeValue } from \"../../../core\";\nconst FIXED_POINTS = {\n undefined: null,\n null: null,\n NaN: NaN,\n Infinity: new Error(),\n \"-Infinity\": new Error()\n};\n/**\n * Returns an operator for a given trignometric function\n *\n * @param f The trignometric function\n */\nexport function createTrignometryOperator(f, fixedPoints = FIXED_POINTS) {\n const fp = Object.assign({}, FIXED_POINTS, fixedPoints);\n const keySet = new Set(Object.keys(fp));\n return (obj, expr, options) => {\n const n = computeValue(obj, expr, null, options);\n if (keySet.has(`${n}`)) {\n const res = fp[`${n}`];\n if (res instanceof Error) {\n throw new Error(`cannot apply $${f.name} to -inf, value must in (-inf,inf)`);\n }\n return res;\n }\n return f(n);\n };\n}\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\n/** Returns the inverse cosine (arc cosine) of a value in radians. */\nexport const $acos = createTrignometryOperator(Math.acos, {\n Infinity: Infinity,\n 0: new Error(),\n});\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\n/** Returns the inverse hyperbolic cosine (hyperbolic arc cosine) of a value in radians. */\nexport const $acosh = createTrignometryOperator(Math.acosh, {\n Infinity: Infinity,\n 0: new Error(),\n});\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\n/** Returns the inverse sin (arc sine) of a value in radians. */\nexport const $asin = createTrignometryOperator(Math.asin);\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\n/** Returns the inverse hyperbolic sine (hyperbolic arc sine) of a value in radians. */\nexport const $asinh = createTrignometryOperator(Math.asinh, {\n Infinity: Infinity,\n \"-Infinity\": -Infinity,\n});\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\n/** Returns the inverse tangent (arc tangent) of a value in radians. */\nexport const $atan = createTrignometryOperator(Math.atan);\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\n/** Returns the inverse hyperbolic tangent (hyperbolic arc tangent) of a value in radians. */\nexport const $atanh = createTrignometryOperator(Math.atanh, {\n 1: Infinity,\n \"-1\": -Infinity,\n});\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\n/** Returns the cosine of a value that is measured in radians. */\nexport const $cos = createTrignometryOperator(Math.cos);\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\n/** Returns the hyperbolic cosine of a value that is measured in radians. */\nexport const $cosh = createTrignometryOperator(Math.cosh, {\n \"-Infinity\": Infinity,\n Infinity: Infinity,\n // [Math.PI]: -1,\n});\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\nconst RADIANS_FACTOR = Math.PI / 180;\n/** Converts a value from degrees to radians. */\nexport const $degreesToRadians = createTrignometryOperator((n) => n * RADIANS_FACTOR, {\n Infinity: Infinity,\n \"-Infinity\": Infinity,\n});\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\nconst DEGREES_FACTOR = 180 / Math.PI;\n/** Converts a value from radians to degrees. */\nexport const $radiansToDegrees = createTrignometryOperator((n) => n * DEGREES_FACTOR, {\n Infinity: Infinity,\n \"-Infinity\": -Infinity,\n});\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\n/** Returns the sine of a value that is measured in radians. */\nexport const $sin = createTrignometryOperator(Math.sin);\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\n/** Returns the hyperbolic sine of a value that is measured in radians. */\nexport const $sinh = createTrignometryOperator(Math.sinh, {\n \"-Infinity\": -Infinity,\n Infinity: Infinity,\n});\n","// Trignometry Expression Operators: https://docs.mongodb.com/manual/reference/operator/aggregation/#trigonometry-expression-operators\nimport { createTrignometryOperator } from \"./_internal\";\n/** Returns the tangent of a value that is measured in radians. */\nexport const $tan = createTrignometryOperator(Math.tan);\n","import { ComputeOptions, computeValue, getOperator, OperatorType } from \"../../core\";\nimport { assert, ensureArray, filterMissing, has, inArray, into, isEmpty, isNil, isNumber, isObject, isOperator, isString, merge, notInArray, removeValue, resolveGraph, setValue } from \"../../util\";\n/**\n * Reshapes a document stream.\n * $project can rename, add, or remove fields as well as create computed values and sub-documents.\n *\n * @param collection\n * @param expr\n * @param opt\n * @returns {Array}\n */\nexport const $project = (collection, expr, options) => {\n if (isEmpty(expr))\n return collection;\n // result collection\n let expressionKeys = Object.keys(expr);\n let idOnlyExcluded = false;\n // validate inclusion and exclusion\n validateExpression(expr, options);\n const ID_KEY = options.idKey;\n if (inArray(expressionKeys, ID_KEY)) {\n const id = expr[ID_KEY];\n if (id === 0 || id === false) {\n expressionKeys = expressionKeys.filter(notInArray.bind(null, [ID_KEY]));\n idOnlyExcluded = expressionKeys.length == 0;\n }\n }\n else {\n // if not specified the add the ID field\n expressionKeys.push(ID_KEY);\n }\n const copts = ComputeOptions.init(options);\n return collection.map(((obj) => processObject(obj, expr, copts.update(obj), expressionKeys, idOnlyExcluded)));\n};\n/**\n * Process the expression value for $project operators\n *\n * @param {Object} obj The object to use as options\n * @param {Object} expr The experssion object of $project operator\n * @param {Array} expressionKeys The key in the 'expr' object\n * @param {Boolean} idOnlyExcluded Boolean value indicating whether only the ID key is excluded\n */\nfunction processObject(obj, expr, options, expressionKeys, idOnlyExcluded) {\n let newObj = {};\n let foundSlice = false;\n let foundExclusion = false;\n const dropKeys = [];\n if (idOnlyExcluded) {\n dropKeys.push(options.idKey);\n }\n for (const key of expressionKeys) {\n // final computed value of the key\n let value = undefined;\n // expression to associate with key\n const subExpr = expr[key];\n if (key !== options.idKey && inArray([0, false], subExpr)) {\n foundExclusion = true;\n }\n if (key === options.idKey && isEmpty(subExpr)) {\n // tiny optimization here to skip over id\n value = obj[key];\n }\n else if (isString(subExpr)) {\n value = computeValue(obj, subExpr, key, options);\n }\n else if (inArray([1, true], subExpr)) {\n // For direct projections, we use the resolved object value\n }\n else if (subExpr instanceof Array) {\n value = subExpr.map(v => {\n const r = computeValue(obj, v, null, options);\n if (isNil(r))\n return null;\n return r;\n });\n }\n else if (isObject(subExpr)) {\n const subExprObj = subExpr;\n const subExprKeys = Object.keys(subExpr);\n const operator = subExprKeys.length == 1 ? subExprKeys[0] : \"\";\n // first try a projection operator\n const call = getOperator(OperatorType.PROJECTION, operator, options);\n if (call) {\n // apply the projection operator on the operator expression for the key\n if (operator === \"$slice\") {\n // $slice is handled differently for aggregation and projection operations\n if (ensureArray(subExprObj[operator]).every(isNumber)) {\n // $slice for projection operation\n value = call(obj, subExprObj[operator], key, options);\n foundSlice = true;\n }\n else {\n // $slice for aggregation operation\n value = computeValue(obj, subExprObj, key, options);\n }\n }\n else {\n value = call(obj, subExprObj[operator], key, options);\n }\n }\n else if (isOperator(operator)) {\n // compute if operator key\n value = computeValue(obj, subExprObj[operator], operator, options);\n }\n else if (has(obj, key)) {\n // compute the value for the sub expression for the key\n validateExpression(subExprObj, options);\n let target = obj[key];\n if (target instanceof Array) {\n value = target.map((o) => processObject(o, subExprObj, options, subExprKeys, false));\n }\n else {\n target = isObject(target) ? target : obj;\n value = processObject(target, subExprObj, options, subExprKeys, false);\n }\n }\n else {\n // compute the value for the sub expression for the key\n value = computeValue(obj, subExpr, null, options);\n }\n }\n else {\n dropKeys.push(key);\n continue;\n }\n // get value with object graph\n const objPathGraph = resolveGraph(obj, key, {\n preserveMissing: true\n });\n // add the value at the path\n if (objPathGraph !== undefined) {\n merge(newObj, objPathGraph, {\n flatten: true\n });\n }\n // if computed add/or remove accordingly\n if (notInArray([0, 1, false, true], subExpr)) {\n if (value === undefined) {\n removeValue(newObj, key, { descendArray: true });\n }\n else {\n setValue(newObj, key, value);\n }\n }\n }\n // filter out all missing values preserved to support correct merging\n filterMissing(newObj);\n // For the following cases we include all keys on the object that were not explicitly excluded.\n //\n // 1. projection included $slice operator\n // 2. some fields were explicitly excluded\n // 3. only the id field was excluded\n if (foundSlice || foundExclusion || idOnlyExcluded) {\n newObj = into({}, obj, newObj);\n if (dropKeys.length > 0) {\n for (const k of dropKeys) {\n removeValue(newObj, k, { descendArray: true });\n }\n }\n }\n return newObj;\n}\n/**\n * Validate inclusion and exclusion values in expression\n *\n * @param {Object} expr The expression given for the projection\n */\nfunction validateExpression(expr, options) {\n const check = [false, false];\n for (const [k, v] of Object.entries(expr)) {\n if (k === (options === null || options === void 0 ? void 0 : options.idKey))\n return;\n if (v === 0 || v === false) {\n check[0] = true;\n }\n else if (v === 1 || v === true) {\n check[1] = true;\n }\n assert(!(check[0] && check[1]), \"Projection cannot have a mix of inclusion and exclusion.\");\n }\n}\n","// Query Logical Operators: https://docs.mongodb.com/manual/reference/operator/query-logical/\nimport { Query } from \"../../../query\";\nimport { assert, isArray } from \"../../../util\";\n/**\n * Joins query clauses with a logical AND returns all documents that match the conditions of both clauses.\n *\n * @param selector\n * @param rhs\n * @returns {Function}\n */\nexport const $and = (_, rhs, options) => {\n assert(isArray(rhs), \"Invalid expression: $and expects value to be an Array.\");\n const queries = rhs.map(expr => new Query(expr, options));\n return (obj) => queries.every(q => q.test(obj));\n};\n","// Query Logical Operators: https://docs.mongodb.com/manual/reference/operator/query-logical/\nimport { Query } from \"../../../query\";\nimport { assert, isArray } from \"../../../util\";\n/**\n * Joins query clauses with a logical OR returns all documents that match the conditions of either clause.\n *\n * @param selector\n * @param rhs\n * @returns {Function}\n */\nexport const $or = (_, rhs, options) => {\n assert(isArray(rhs), \"Invalid expression. $or expects value to be an Array\");\n const queries = rhs.map(expr => new Query(expr, options));\n return (obj) => queries.some(q => q.test(obj));\n};\n","// Query Logical Operators: https://docs.mongodb.com/manual/reference/operator/query-logical/\nimport { assert, isArray } from \"../../../util\";\nimport { $or } from \"./or\";\n/**\n * Joins query clauses with a logical NOR returns all documents that fail to match both clauses.\n *\n * @param selector\n * @param rhs\n * @returns {Function}\n */\nexport const $nor = (_, rhs, options) => {\n assert(isArray(rhs), \"Invalid expression. $nor expects value to be an array.\");\n const f = $or(\"$or\", rhs, options);\n return (obj) => !f(obj);\n};\n","// Query Logical Operators: https://docs.mongodb.com/manual/reference/operator/query-logical/\nimport { Query } from \"../../../query\";\nimport { normalize } from \"../../../util\";\n/**\n * Inverts the effect of a query expression and returns documents that do not match the query expression.\n *\n * @param selector\n * @param rhs\n * @returns {Function}\n */\nexport const $not = (selector, rhs, options) => {\n const criteria = {};\n criteria[selector] = normalize(rhs);\n const query = new Query(criteria, options);\n return (obj) => !query.test(obj);\n};\n","// Query Comparison Operators: https://docs.mongodb.com/manual/reference/operator/query-comparison/\nimport { $eq as __eq, createQueryOperator } from \"../../_predicates\";\n/**\n * Matches values that are equal to a specified value.\n */\nexport const $eq = createQueryOperator(__eq);\n","// Query Comparison Operators: https://docs.mongodb.com/manual/reference/operator/query-comparison/\nimport { $gt as __gt, createQueryOperator } from \"../../_predicates\";\n/**\n * Matches values that are greater than a specified value.\n */\nexport const $gt = createQueryOperator(__gt);\n","// Query Comparison Operators: https://docs.mongodb.com/manual/reference/operator/query-comparison/\nimport { $gte as __gte, createQueryOperator } from \"../../_predicates\";\n/**\n * \tMatches values that are greater than or equal to a specified value.\n */\nexport const $gte = createQueryOperator(__gte);\n","// Query Comparison Operators: https://docs.mongodb.com/manual/reference/operator/query-comparison/\nimport { $in as __in, createQueryOperator } from \"../../_predicates\";\n/**\n * Matches any of the values that exist in an array specified in the query.\n */\nexport const $in = createQueryOperator(__in);\n","// Query Comparison Operators: https://docs.mongodb.com/manual/reference/operator/query-comparison/\nimport { $lt as __lt, createQueryOperator } from \"../../_predicates\";\n/**\n * Matches values that are less than the value specified in the query.\n */\nexport const $lt = createQueryOperator(__lt);\n","// Query Comparison Operators: https://docs.mongodb.com/manual/reference/operator/query-comparison/\nimport { $lte as __lte, createQueryOperator } from \"../../_predicates\";\n/**\n * Matches values that are less than or equal to the value specified in the query.\n */\nexport const $lte = createQueryOperator(__lte);\n","// Query Comparison Operators: https://docs.mongodb.com/manual/reference/operator/query-comparison/\nimport { $ne as __ne, createQueryOperator } from \"../../_predicates\";\n/**\n * Matches all values that are not equal to the value specified in the query.\n */\nexport const $ne = createQueryOperator(__ne);\n","// Query Comparison Operators: https://docs.mongodb.com/manual/reference/operator/query-comparison/\nimport { $nin as __nin, createQueryOperator } from \"../../_predicates\";\n/**\n * Matches values that do not exist in an array specified to the query.\n */\nexport const $nin = createQueryOperator(__nin);\n","// Query Evaluation Operators: https://docs.mongodb.com/manual/reference/operator/query-evaluation/\nimport { $mod as __mod, createQueryOperator } from \"../../_predicates\";\n/**\n * Performs a modulo operation on the value of a field and selects documents with a specified result.\n */\nexport const $mod = createQueryOperator(__mod);\n","// Query Evaluation Operators: https://docs.mongodb.com/manual/reference/operator/query-evaluation/\nimport { $regex as __regex, createQueryOperator } from \"../../_predicates\";\n/**\n * Selects documents where values match a specified regular expression.\n */\nexport const $regex = createQueryOperator(__regex);\n","// Query Array Operators: https://docs.mongodb.com/manual/reference/operator/query-array/\nimport { $all as __all, createQueryOperator } from \"../../_predicates\";\n/**\n * Matches arrays that contain all elements specified in the query.\n */\nexport const $all = createQueryOperator(__all);\n","// Query Array Operators: https://docs.mongodb.com/manual/reference/operator/query-array/\nimport { $elemMatch as __elemMatch, createQueryOperator, } from \"../../_predicates\";\n/**\n * Selects documents if element in the array field matches all the specified $elemMatch conditions.\n */\nexport const $elemMatch = createQueryOperator(__elemMatch);\n","// Query Array Operators: https://docs.mongodb.com/manual/reference/operator/query-array/\nimport { $size as __size, createQueryOperator } from \"../../_predicates\";\n/**\n * Selects documents if the array field is a specified size.\n */\nexport const $size = createQueryOperator(__size);\n","// Query Element Operators: https://docs.mongodb.com/manual/reference/operator/query-element/\nimport { $exists as __exists, createQueryOperator } from \"../../_predicates\";\n/**\n * Matches documents that have the specified field.\n */\nexport const $exists = createQueryOperator(__exists);\n","// Query Element Operators: https://docs.mongodb.com/manual/reference/operator/query-element/\nimport { $type as __type, createQueryOperator } from \"../../_predicates\";\n/**\n * Selects documents if a field is of the specified type.\n */\nexport const $type = createQueryOperator(__type);\n","import { useOperators, OperatorType } from 'mingo/core';\nimport { Query } from 'mingo/query';\nimport { $project, $sort } from 'mingo/operators/pipeline';\nimport { $and, $not, $or, $nor } from 'mingo/operators/query/logical';\nimport { $eq, $ne, $gt, $gte, $lt, $lte, $nin, $in } from 'mingo/operators/query/comparison';\nimport { $regex, $mod } from 'mingo/operators/query/evaluation';\nimport { $elemMatch, $size } from 'mingo/operators/query/array';\nimport { $exists, $type } from 'mingo/operators/query/element';\nvar mingoInitDone = false;\n\n/**\n * The MongoDB query library is huge and we do not need all the operators.\n * If you add an operator here, make sure that you properly add a test in\n * the file /test/unit/rx-storage-query-correctness.test.ts\n *\n * @link https://github.com/kofrasa/mingo#es6\n */\nexport function getMingoQuery(selector) {\n if (!mingoInitDone) {\n useOperators(OperatorType.PIPELINE, {\n $sort,\n $project\n });\n useOperators(OperatorType.QUERY, {\n $and,\n $eq,\n $elemMatch,\n $exists,\n $gt,\n $gte,\n $in,\n $lt,\n $lte,\n $ne,\n $nin,\n $mod,\n $nor,\n $not,\n $or,\n $regex,\n $size,\n $type\n });\n mingoInitDone = true;\n }\n return new Query(selector);\n}\n//# sourceMappingURL=rx-query-mingo.js.map","import { LOGICAL_OPERATORS } from \"./query-planner.js\";\nimport { getPrimaryFieldOfPrimaryKey } from \"./rx-schema-helper.js\";\nimport { clone, firstPropertyNameOfObject, toArray, isMaybeReadonlyArray, flatClone, objectPathMonad } from \"./plugins/utils/index.js\";\nimport { compare as mingoSortComparator } from 'mingo/util';\nimport { newRxError } from \"./rx-error.js\";\nimport { getMingoQuery } from \"./rx-query-mingo.js\";\n\n/**\n * Normalize the query to ensure we have all fields set\n * and queries that represent the same query logic are detected as equal by the caching.\n */\nexport function normalizeMangoQuery(schema, mangoQuery) {\n var primaryKey = getPrimaryFieldOfPrimaryKey(schema.primaryKey);\n mangoQuery = flatClone(mangoQuery);\n var normalizedMangoQuery = clone(mangoQuery);\n if (typeof normalizedMangoQuery.skip !== 'number') {\n normalizedMangoQuery.skip = 0;\n }\n if (!normalizedMangoQuery.selector) {\n normalizedMangoQuery.selector = {};\n } else {\n normalizedMangoQuery.selector = normalizedMangoQuery.selector;\n /**\n * In mango query, it is possible to have an\n * equals comparison by directly assigning a value\n * to a property, without the '$eq' operator.\n * Like:\n * selector: {\n * foo: 'bar'\n * }\n * For normalization, we have to normalize this\n * so our checks can perform properly.\n *\n *\n * TODO this must work recursive with nested queries that\n * contain multiple selectors via $and or $or etc.\n */\n Object.entries(normalizedMangoQuery.selector).forEach(([field, matcher]) => {\n if (typeof matcher !== 'object' || matcher === null) {\n normalizedMangoQuery.selector[field] = {\n $eq: matcher\n };\n }\n });\n }\n\n /**\n * Ensure that if an index is specified,\n * the primaryKey is inside of it.\n */\n if (normalizedMangoQuery.index) {\n var indexAr = toArray(normalizedMangoQuery.index);\n if (!indexAr.includes(primaryKey)) {\n indexAr.push(primaryKey);\n }\n normalizedMangoQuery.index = indexAr;\n }\n\n /**\n * To ensure a deterministic sorting,\n * we have to ensure the primary key is always part\n * of the sort query.\n * Primary sorting is added as last sort parameter,\n * similar to how we add the primary key to indexes that do not have it.\n *\n */\n if (!normalizedMangoQuery.sort) {\n /**\n * If no sort is given at all,\n * we can assume that the user does not care about sort order at al.\n *\n * we cannot just use the primary key as sort parameter\n * because it would likely cause the query to run over the primary key index\n * which has a bad performance in most cases.\n */\n if (normalizedMangoQuery.index) {\n normalizedMangoQuery.sort = normalizedMangoQuery.index.map(field => {\n return {\n [field]: 'asc'\n };\n });\n } else {\n /**\n * Find the index that best matches the fields with the logical operators\n */\n if (schema.indexes) {\n var fieldsWithLogicalOperator = new Set();\n Object.entries(normalizedMangoQuery.selector).forEach(([field, matcher]) => {\n var hasLogical = false;\n if (typeof matcher === 'object' && matcher !== null) {\n hasLogical = !!Object.keys(matcher).find(operator => LOGICAL_OPERATORS.has(operator));\n } else {\n hasLogical = true;\n }\n if (hasLogical) {\n fieldsWithLogicalOperator.add(field);\n }\n });\n var currentFieldsAmount = -1;\n var currentBestIndexForSort;\n schema.indexes.forEach(index => {\n var useIndex = isMaybeReadonlyArray(index) ? index : [index];\n var firstWrongIndex = useIndex.findIndex(indexField => !fieldsWithLogicalOperator.has(indexField));\n if (firstWrongIndex > 0 && firstWrongIndex > currentFieldsAmount) {\n currentFieldsAmount = firstWrongIndex;\n currentBestIndexForSort = useIndex;\n }\n });\n if (currentBestIndexForSort) {\n normalizedMangoQuery.sort = currentBestIndexForSort.map(field => {\n return {\n [field]: 'asc'\n };\n });\n }\n }\n\n /**\n * Fall back to the primary key as sort order\n * if no better one has been found\n */\n if (!normalizedMangoQuery.sort) {\n normalizedMangoQuery.sort = [{\n [primaryKey]: 'asc'\n }];\n }\n }\n } else {\n var isPrimaryInSort = normalizedMangoQuery.sort.find(p => firstPropertyNameOfObject(p) === primaryKey);\n if (!isPrimaryInSort) {\n normalizedMangoQuery.sort = normalizedMangoQuery.sort.slice(0);\n normalizedMangoQuery.sort.push({\n [primaryKey]: 'asc'\n });\n }\n }\n return normalizedMangoQuery;\n}\n\n/**\n * Returns the sort-comparator,\n * which is able to sort documents in the same way\n * a query over the db would do.\n */\nexport function getSortComparator(schema, query) {\n if (!query.sort) {\n throw newRxError('SNH', {\n query\n });\n }\n var sortParts = [];\n query.sort.forEach(sortBlock => {\n var key = Object.keys(sortBlock)[0];\n var direction = Object.values(sortBlock)[0];\n sortParts.push({\n key,\n direction,\n getValueFn: objectPathMonad(key)\n });\n });\n var fun = (a, b) => {\n for (var i = 0; i < sortParts.length; ++i) {\n var sortPart = sortParts[i];\n var valueA = sortPart.getValueFn(a);\n var valueB = sortPart.getValueFn(b);\n if (valueA !== valueB) {\n var ret = sortPart.direction === 'asc' ? mingoSortComparator(valueA, valueB) : mingoSortComparator(valueB, valueA);\n return ret;\n }\n }\n };\n return fun;\n}\n\n/**\n * Returns a function\n * that can be used to check if a document\n * matches the query.\n */\nexport function getQueryMatcher(_schema, query) {\n if (!query.sort) {\n throw newRxError('SNH', {\n query\n });\n }\n var mingoQuery = getMingoQuery(query.selector);\n var fun = doc => {\n return mingoQuery.test(doc);\n };\n return fun;\n}\n//# sourceMappingURL=rx-query-helper.js.map","import { calculateActionName, runAction } from 'event-reduce-js';\nimport { rxChangeEventToEventReduceChangeEvent } from \"./rx-change-event.js\";\nimport { arrayFilterNotEmpty, clone, ensureNotFalsy, getFromMapOrCreate } from \"./plugins/utils/index.js\";\nimport { getQueryMatcher, getSortComparator, normalizeMangoQuery } from \"./rx-query-helper.js\";\nexport function getSortFieldsOfQuery(primaryKey, query) {\n if (!query.sort || query.sort.length === 0) {\n return [primaryKey];\n } else {\n return query.sort.map(part => Object.keys(part)[0]);\n }\n}\nexport var RXQUERY_QUERY_PARAMS_CACHE = new WeakMap();\nexport function getQueryParams(rxQuery) {\n return getFromMapOrCreate(RXQUERY_QUERY_PARAMS_CACHE, rxQuery, () => {\n var collection = rxQuery.collection;\n var normalizedMangoQuery = normalizeMangoQuery(collection.storageInstance.schema, clone(rxQuery.mangoQuery));\n var primaryKey = collection.schema.primaryPath;\n\n /**\n * Create a custom sort comparator\n * that uses the hooks to ensure\n * we send for example compressed documents to be sorted by compressed queries.\n */\n var sortComparator = getSortComparator(collection.schema.jsonSchema, normalizedMangoQuery);\n var useSortComparator = (docA, docB) => {\n var sortComparatorData = {\n docA,\n docB,\n rxQuery\n };\n return sortComparator(sortComparatorData.docA, sortComparatorData.docB);\n };\n\n /**\n * Create a custom query matcher\n * that uses the hooks to ensure\n * we send for example compressed documents to match compressed queries.\n */\n var queryMatcher = getQueryMatcher(collection.schema.jsonSchema, normalizedMangoQuery);\n var useQueryMatcher = doc => {\n var queryMatcherData = {\n doc,\n rxQuery\n };\n return queryMatcher(queryMatcherData.doc);\n };\n var ret = {\n primaryKey: rxQuery.collection.schema.primaryPath,\n skip: normalizedMangoQuery.skip,\n limit: normalizedMangoQuery.limit,\n sortFields: getSortFieldsOfQuery(primaryKey, normalizedMangoQuery),\n sortComparator: useSortComparator,\n queryMatcher: useQueryMatcher\n };\n return ret;\n });\n}\nexport function calculateNewResults(rxQuery, rxChangeEvents) {\n if (!rxQuery.collection.database.eventReduce) {\n return {\n runFullQueryAgain: true\n };\n }\n var queryParams = getQueryParams(rxQuery);\n var previousResults = ensureNotFalsy(rxQuery._result).docsData.slice(0);\n var previousResultsMap = ensureNotFalsy(rxQuery._result).docsDataMap;\n var changed = false;\n var eventReduceEvents = rxChangeEvents.map(cE => rxChangeEventToEventReduceChangeEvent(cE)).filter(arrayFilterNotEmpty);\n var foundNonOptimizeable = eventReduceEvents.find(eventReduceEvent => {\n var stateResolveFunctionInput = {\n queryParams,\n changeEvent: eventReduceEvent,\n previousResults,\n keyDocumentMap: previousResultsMap\n };\n var actionName = calculateActionName(stateResolveFunctionInput);\n if (actionName === 'runFullQueryAgain') {\n return true;\n } else if (actionName !== 'doNothing') {\n changed = true;\n runAction(actionName, queryParams, eventReduceEvent, previousResults, previousResultsMap);\n return false;\n }\n });\n if (foundNonOptimizeable) {\n return {\n runFullQueryAgain: true\n };\n } else {\n return {\n runFullQueryAgain: false,\n changed,\n newResults: previousResults\n };\n }\n}\n//# sourceMappingURL=event-reduce.js.map","/**\n * the query-cache makes sure that on every query-state, exactly one instance can exist\n * if you use the same mango-query more then once, it will reuse the first RxQuery\n */\n\nimport { getFromMapOrCreate, nextTick, now, requestIdlePromise } from \"./plugins/utils/index.js\";\nexport var QueryCache = /*#__PURE__*/function () {\n function QueryCache() {\n this._map = new Map();\n }\n var _proto = QueryCache.prototype;\n /**\n * check if an equal query is in the cache,\n * if true, return the cached one,\n * if false, save the given one and return it\n */\n _proto.getByQuery = function getByQuery(rxQuery) {\n var stringRep = rxQuery.toString();\n return getFromMapOrCreate(this._map, stringRep, () => rxQuery);\n };\n return QueryCache;\n}();\nexport function createQueryCache() {\n return new QueryCache();\n}\nexport function uncacheRxQuery(queryCache, rxQuery) {\n rxQuery.uncached = true;\n var stringRep = rxQuery.toString();\n queryCache._map.delete(stringRep);\n}\nexport function countRxQuerySubscribers(rxQuery) {\n return rxQuery.refCount$.observers.length;\n}\nexport var DEFAULT_TRY_TO_KEEP_MAX = 100;\nexport var DEFAULT_UNEXECUTED_LIFETIME = 30 * 1000;\n\n/**\n * The default cache replacement policy\n * See docs-src/query-cache.md to learn how it should work.\n * Notice that this runs often and should block the cpu as less as possible\n * This is a monad which makes it easier to unit test\n */\nexport var defaultCacheReplacementPolicyMonad = (tryToKeepMax, unExecutedLifetime) => (_collection, queryCache) => {\n if (queryCache._map.size < tryToKeepMax) {\n return;\n }\n var minUnExecutedLifetime = now() - unExecutedLifetime;\n var maybeUncache = [];\n var queriesInCache = Array.from(queryCache._map.values());\n for (var rxQuery of queriesInCache) {\n // filter out queries with subscribers\n if (countRxQuerySubscribers(rxQuery) > 0) {\n continue;\n }\n // directly uncache queries that never executed and are older then unExecutedLifetime\n if (rxQuery._lastEnsureEqual === 0 && rxQuery._creationTime < minUnExecutedLifetime) {\n uncacheRxQuery(queryCache, rxQuery);\n continue;\n }\n maybeUncache.push(rxQuery);\n }\n var mustUncache = maybeUncache.length - tryToKeepMax;\n if (mustUncache <= 0) {\n return;\n }\n var sortedByLastUsage = maybeUncache.sort((a, b) => a._lastEnsureEqual - b._lastEnsureEqual);\n var toRemove = sortedByLastUsage.slice(0, mustUncache);\n toRemove.forEach(rxQuery => uncacheRxQuery(queryCache, rxQuery));\n};\nexport var defaultCacheReplacementPolicy = defaultCacheReplacementPolicyMonad(DEFAULT_TRY_TO_KEEP_MAX, DEFAULT_UNEXECUTED_LIFETIME);\nexport var COLLECTIONS_WITH_RUNNING_CLEANUP = new WeakSet();\n\n/**\n * Triggers the cache replacement policy after waitTime has passed.\n * We do not run this directly because at exactly the time a query is created,\n * we need all CPU to minimize latency.\n * Also this should not be triggered multiple times when waitTime is still waiting.\n */\nexport function triggerCacheReplacement(rxCollection) {\n if (COLLECTIONS_WITH_RUNNING_CLEANUP.has(rxCollection)) {\n // already started\n return;\n }\n COLLECTIONS_WITH_RUNNING_CLEANUP.add(rxCollection);\n\n /**\n * Do not run directly to not reduce result latency of a new query\n */\n nextTick() // wait at least one tick\n .then(() => requestIdlePromise(200)) // and then wait for the CPU to be idle\n .then(() => {\n if (!rxCollection.destroyed) {\n rxCollection.cacheReplacementPolicy(rxCollection, rxCollection._queryCache);\n }\n COLLECTIONS_WITH_RUNNING_CLEANUP.delete(rxCollection);\n });\n}\n//# sourceMappingURL=query-cache.js.map","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport { getFromMapOrCreate, getFromMapOrThrow, getHeightOfRevision, overwriteGetterForCaching, requestIdlePromiseNoQueue } from \"./plugins/utils/index.js\";\nimport { overwritable } from \"./overwritable.js\";\nimport { getDocumentDataOfRxChangeEvent } from \"./rx-change-event.js\";\n\n/**\n * @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry\n */\n\n/**\n * The DocumentCache stores RxDocument objects\n * by their primary key and revision.\n * This is useful on client side applications where\n * it is not known how much memory can be used, so\n * we de-duplicate RxDocument states to save memory.\n * To not fill up the memory with old document states, the DocumentCache\n * only contains weak references to the RxDocuments themself.\n * @link https://caniuse.com/?search=weakref\n */\nexport var DocumentCache = /*#__PURE__*/function () {\n /**\n * Some JavaScript runtimes like QuickJS,\n * so not have a FinalizationRegistry or WeakRef.\n * Therefore we need a workaround which might waste a lot of memory,\n * but at least works.\n */\n\n /**\n * Calling registry.register(() has shown to have\n * really bad performance. So we add the cached documents\n * lazily.\n */\n\n function DocumentCache(primaryPath, changes$,\n /**\n * A method that can create a RxDocument by the given document data.\n */\n documentCreator) {\n this.cacheItemByDocId = new Map();\n this.registry = typeof FinalizationRegistry === 'function' ? new FinalizationRegistry(docMeta => {\n var docId = docMeta.docId;\n var cacheItem = this.cacheItemByDocId.get(docId);\n if (cacheItem) {\n cacheItem.byRev.delete(docMeta.revisionHeight);\n if (cacheItem.byRev.size === 0) {\n /**\n * No state of the document is cached anymore,\n * so we can clean up.\n */\n this.cacheItemByDocId.delete(docId);\n }\n }\n }) : undefined;\n this.registerIdleTasks = [];\n this.primaryPath = primaryPath;\n this.changes$ = changes$;\n this.documentCreator = documentCreator;\n changes$.subscribe(changeEvent => {\n var docId = changeEvent.documentId;\n var cacheItem = this.cacheItemByDocId.get(docId);\n if (cacheItem) {\n var documentData = getDocumentDataOfRxChangeEvent(changeEvent);\n cacheItem.last = documentData;\n }\n });\n }\n\n /**\n * Get the RxDocument from the cache\n * and create a new one if not exits before.\n * @overwrites itself with the actual function\n * because this is @performance relevant.\n * It is called on each document row for each write and read.\n */\n var _proto = DocumentCache.prototype;\n /**\n * Throws if not exists\n */\n _proto.getLatestDocumentData = function getLatestDocumentData(docId) {\n var cacheItem = getFromMapOrThrow(this.cacheItemByDocId, docId);\n return cacheItem.last;\n };\n _proto.getLatestDocumentDataIfExists = function getLatestDocumentDataIfExists(docId) {\n var cacheItem = this.cacheItemByDocId.get(docId);\n if (cacheItem) {\n return cacheItem.last;\n }\n };\n _createClass(DocumentCache, [{\n key: \"getCachedRxDocument\",\n get: function () {\n var fn = getCachedRxDocumentMonad(this);\n return overwriteGetterForCaching(this, 'getCachedRxDocument', fn);\n }\n }]);\n return DocumentCache;\n}();\n\n/**\n * This function is called very very often.\n * This is likely the most important function for RxDB overall performance\n */\nfunction getCachedRxDocumentMonad(docCache) {\n var primaryPath = docCache.primaryPath;\n var cacheItemByDocId = docCache.cacheItemByDocId;\n var registry = docCache.registry;\n var deepFreezeWhenDevMode = overwritable.deepFreezeWhenDevMode;\n var documentCreator = docCache.documentCreator;\n var fn = docData => {\n var docId = docData[primaryPath];\n var revisionHeight = getHeightOfRevision(docData._rev);\n var cacheItem = getFromMapOrCreate(cacheItemByDocId, docId, () => getNewCacheItem(docData));\n var byRev = cacheItem.byRev;\n var cachedRxDocumentWeakRef = byRev.get(revisionHeight);\n var cachedRxDocument = cachedRxDocumentWeakRef ? cachedRxDocumentWeakRef.deref() : undefined;\n if (!cachedRxDocument) {\n docData = deepFreezeWhenDevMode(docData);\n cachedRxDocument = documentCreator(docData);\n byRev.set(revisionHeight, createWeakRefWithFallback(cachedRxDocument));\n if (registry) {\n docCache.registerIdleTasks.push(cachedRxDocument);\n if (!docCache.registerIdlePromise) {\n docCache.registerIdlePromise = requestIdlePromiseNoQueue().then(() => {\n docCache.registerIdlePromise = undefined;\n var tasks = docCache.registerIdleTasks;\n if (tasks.length === 0) {\n return;\n }\n docCache.registerIdleTasks = [];\n tasks.forEach(doc => {\n registry.register(doc, {\n docId: doc.primary,\n revisionHeight: getHeightOfRevision(doc.revision)\n });\n });\n });\n }\n }\n }\n return cachedRxDocument;\n };\n return fn;\n}\nexport function mapDocumentsDataToCacheDocs(docCache, docsData) {\n var getCachedRxDocument = docCache.getCachedRxDocument;\n var documents = [];\n for (var i = 0; i < docsData.length; i++) {\n var _docData = docsData[i];\n var doc = getCachedRxDocument(_docData);\n documents.push(doc);\n }\n return documents;\n}\nfunction getNewCacheItem(docData) {\n return {\n byRev: new Map(),\n last: docData\n };\n}\n\n/**\n * Fallback for JavaScript runtimes that do not support WeakRef.\n * The fallback will keep the items in cache forever,\n * but at least works.\n */\nvar HAS_WEAK_REF = typeof WeakRef === 'function';\nvar createWeakRefWithFallback = HAS_WEAK_REF ? createWeakRef : createWeakRefFallback;\nfunction createWeakRef(obj) {\n return new WeakRef(obj);\n}\nfunction createWeakRefFallback(obj) {\n return {\n deref() {\n return obj;\n }\n };\n}\n//# sourceMappingURL=doc-cache.js.map","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport { mapDocumentsDataToCacheDocs } from \"./doc-cache.js\";\nimport { now, overwriteGetterForCaching } from \"./plugins/utils/index.js\";\n/**\n * RxDB needs the query results in multiple formats.\n * Sometimes as a Map or an array with only the documentData.\n * For better performance we work with this class\n * that initializes stuff lazily so that\n * we can directly work with the query results after RxQuery.exec()\n */\nexport var RxQuerySingleResult = /*#__PURE__*/function () {\n /**\n * Time at which the current _result state was created.\n * Used to determine if the result set has changed since X\n * so that we do not emit the same result multiple times on subscription.\n */\n\n function RxQuerySingleResult(collection,\n // only used internally, do not use outside, use this.docsData instead\n docsDataFromStorageInstance,\n // can be overwritten for count-queries\n count) {\n this.time = now();\n this.collection = collection;\n this.count = count;\n this.documents = mapDocumentsDataToCacheDocs(this.collection._docCache, docsDataFromStorageInstance);\n }\n\n /**\n * Instead of using the newResultData in the result cache,\n * we directly use the objects that are stored in the RxDocument\n * to ensure we do not store the same data twice and fill up the memory.\n * @overwrites itself with the actual value\n */\n _createClass(RxQuerySingleResult, [{\n key: \"docsData\",\n get: function () {\n return overwriteGetterForCaching(this, 'docsData', this.documents.map(d => d._data));\n }\n\n // A key->document map, used in the event reduce optimization.\n }, {\n key: \"docsDataMap\",\n get: function () {\n var map = new Map();\n this.documents.forEach(d => {\n map.set(d.primary, d._data);\n });\n return overwriteGetterForCaching(this, 'docsDataMap', map);\n }\n }, {\n key: \"docsMap\",\n get: function () {\n var map = new Map();\n var documents = this.documents;\n for (var i = 0; i < documents.length; i++) {\n var doc = documents[i];\n map.set(doc.primary, doc);\n }\n return overwriteGetterForCaching(this, 'docsMap', map);\n }\n }]);\n return RxQuerySingleResult;\n}();\n//# sourceMappingURL=rx-query-single-result.js.map","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport { BehaviorSubject, firstValueFrom, merge } from 'rxjs';\nimport { mergeMap, filter, map, startWith, distinctUntilChanged, shareReplay } from 'rxjs/operators';\nimport { sortObject, pluginMissing, overwriteGetterForCaching, now, PROMISE_RESOLVE_FALSE, RXJS_SHARE_REPLAY_DEFAULTS, ensureNotFalsy, areRxDocumentArraysEqual, appendToArray } from \"./plugins/utils/index.js\";\nimport { newRxError } from \"./rx-error.js\";\nimport { runPluginHooks } from \"./hooks.js\";\nimport { calculateNewResults } from \"./event-reduce.js\";\nimport { triggerCacheReplacement } from \"./query-cache.js\";\nimport { getQueryMatcher, normalizeMangoQuery } from \"./rx-query-helper.js\";\nimport { RxQuerySingleResult } from \"./rx-query-single-result.js\";\nimport { getQueryPlan } from \"./query-planner.js\";\nvar _queryCount = 0;\nvar newQueryID = function () {\n return ++_queryCount;\n};\nexport var RxQueryBase = /*#__PURE__*/function () {\n /**\n * Some stats then are used for debugging and cache replacement policies\n */\n\n // used in the query-cache to determine if the RxQuery can be cleaned up.\n\n // used to count the subscribers to the query\n\n /**\n * Contains the current result state\n * or null if query has not run yet.\n */\n\n function RxQueryBase(op, mangoQuery, collection,\n // used by some plugins\n other = {}) {\n this.id = newQueryID();\n this._execOverDatabaseCount = 0;\n this._creationTime = now();\n this._lastEnsureEqual = 0;\n this.uncached = false;\n this.refCount$ = new BehaviorSubject(null);\n this._result = null;\n this._latestChangeEvent = -1;\n this._lastExecStart = 0;\n this._lastExecEnd = 0;\n this._ensureEqualQueue = PROMISE_RESOLVE_FALSE;\n this.op = op;\n this.mangoQuery = mangoQuery;\n this.collection = collection;\n this.other = other;\n if (!mangoQuery) {\n this.mangoQuery = _getDefaultQuery();\n }\n this.isFindOneByIdQuery = isFindOneByIdQuery(this.collection.schema.primaryPath, mangoQuery);\n }\n var _proto = RxQueryBase.prototype;\n /**\n * Returns an observable that emits the results\n * This should behave like an rxjs-BehaviorSubject which means:\n * - Emit the current result-set on subscribe\n * - Emit the new result-set when an RxChangeEvent comes in\n * - Do not emit anything before the first result-set was created (no null)\n */\n /**\n * set the new result-data as result-docs of the query\n * @param newResultData json-docs that were received from the storage\n */\n _proto._setResultData = function _setResultData(newResultData) {\n if (typeof newResultData === 'number') {\n this._result = new RxQuerySingleResult(this.collection, [], newResultData);\n return;\n } else if (newResultData instanceof Map) {\n newResultData = Array.from(newResultData.values());\n }\n var newQueryResult = new RxQuerySingleResult(this.collection, newResultData, newResultData.length);\n this._result = newQueryResult;\n }\n\n /**\n * executes the query on the database\n * @return results-array with document-data\n */;\n _proto._execOverDatabase = async function _execOverDatabase() {\n this._execOverDatabaseCount = this._execOverDatabaseCount + 1;\n this._lastExecStart = now();\n if (this.op === 'count') {\n var preparedQuery = this.getPreparedQuery();\n var result = await this.collection.storageInstance.count(preparedQuery);\n if (result.mode === 'slow' && !this.collection.database.allowSlowCount) {\n throw newRxError('QU14', {\n collection: this.collection,\n queryObj: this.mangoQuery\n });\n } else {\n return result.count;\n }\n }\n if (this.op === 'findByIds') {\n var ids = ensureNotFalsy(this.mangoQuery.selector)[this.collection.schema.primaryPath].$in;\n var ret = new Map();\n var mustBeQueried = [];\n // first try to fill from docCache\n ids.forEach(id => {\n var docData = this.collection._docCache.getLatestDocumentDataIfExists(id);\n if (docData) {\n if (!docData._deleted) {\n var doc = this.collection._docCache.getCachedRxDocument(docData);\n ret.set(id, doc);\n }\n } else {\n mustBeQueried.push(id);\n }\n });\n // everything which was not in docCache must be fetched from the storage\n if (mustBeQueried.length > 0) {\n var docs = await this.collection.storageInstance.findDocumentsById(mustBeQueried, false);\n docs.forEach(docData => {\n var doc = this.collection._docCache.getCachedRxDocument(docData);\n ret.set(doc.primary, doc);\n });\n }\n return ret;\n }\n var docsPromise = queryCollection(this);\n return docsPromise.then(docs => {\n this._lastExecEnd = now();\n return docs;\n });\n }\n\n /**\n * Execute the query\n * To have an easier implementations,\n * just subscribe and use the first result\n */;\n _proto.exec = function exec(throwIfMissing) {\n if (throwIfMissing && this.op !== 'findOne') {\n throw newRxError('QU9', {\n collection: this.collection.name,\n query: this.mangoQuery,\n op: this.op\n });\n }\n\n /**\n * run _ensureEqual() here,\n * this will make sure that errors in the query which throw inside of the RxStorage,\n * will be thrown at this execution context and not in the background.\n */\n return _ensureEqual(this).then(() => firstValueFrom(this.$)).then(result => {\n if (!result && throwIfMissing) {\n throw newRxError('QU10', {\n collection: this.collection.name,\n query: this.mangoQuery,\n op: this.op\n });\n } else {\n return result;\n }\n });\n }\n\n /**\n * cached call to get the queryMatcher\n * @overwrites itself with the actual value\n */;\n /**\n * returns a string that is used for equal-comparisons\n * @overwrites itself with the actual value\n */\n _proto.toString = function toString() {\n var stringObj = sortObject({\n op: this.op,\n query: this.mangoQuery,\n other: this.other\n }, true);\n var value = JSON.stringify(stringObj);\n this.toString = () => value;\n return value;\n }\n\n /**\n * returns the prepared query\n * which can be send to the storage instance to query for documents.\n * @overwrites itself with the actual value.\n */;\n _proto.getPreparedQuery = function getPreparedQuery() {\n var hookInput = {\n rxQuery: this,\n // can be mutated by the hooks so we have to deep clone first.\n mangoQuery: normalizeMangoQuery(this.collection.schema.jsonSchema, this.mangoQuery)\n };\n hookInput.mangoQuery.selector._deleted = {\n $eq: false\n };\n if (hookInput.mangoQuery.index) {\n hookInput.mangoQuery.index.unshift('_deleted');\n }\n runPluginHooks('prePrepareQuery', hookInput);\n var value = prepareQuery(this.collection.schema.jsonSchema, hookInput.mangoQuery);\n this.getPreparedQuery = () => value;\n return value;\n }\n\n /**\n * returns true if the document matches the query,\n * does not use the 'skip' and 'limit'\n */;\n _proto.doesDocumentDataMatch = function doesDocumentDataMatch(docData) {\n // if doc is deleted, it cannot match\n if (docData._deleted) {\n return false;\n }\n return this.queryMatcher(docData);\n }\n\n /**\n * deletes all found documents\n * @return promise with deleted documents\n */;\n _proto.remove = function remove() {\n return this.exec().then(docs => {\n if (Array.isArray(docs)) {\n // TODO use a bulk operation instead of running .remove() on each document\n return Promise.all(docs.map(doc => doc.remove()));\n } else {\n return docs.remove();\n }\n });\n }\n\n /**\n * helper function to transform RxQueryBase to RxQuery type\n */;\n /**\n * updates all found documents\n * @overwritten by plugin (optional)\n */\n _proto.update = function update(_updateObj) {\n throw pluginMissing('update');\n }\n\n // we only set some methods of query-builder here\n // because the others depend on these ones\n ;\n _proto.where = function where(_queryObj) {\n throw pluginMissing('query-builder');\n };\n _proto.sort = function sort(_params) {\n throw pluginMissing('query-builder');\n };\n _proto.skip = function skip(_amount) {\n throw pluginMissing('query-builder');\n };\n _proto.limit = function limit(_amount) {\n throw pluginMissing('query-builder');\n };\n _createClass(RxQueryBase, [{\n key: \"$\",\n get: function () {\n if (!this._$) {\n var results$ = this.collection.$.pipe(\n /**\n * Performance shortcut.\n * Changes to local documents are not relevant for the query.\n */\n filter(changeEvent => !changeEvent.isLocal),\n /**\n * Start once to ensure the querying also starts\n * when there where no changes.\n */\n startWith(null),\n // ensure query results are up to date.\n mergeMap(() => _ensureEqual(this)),\n // use the current result set, written by _ensureEqual().\n map(() => this._result),\n // do not run stuff above for each new subscriber, only once.\n shareReplay(RXJS_SHARE_REPLAY_DEFAULTS),\n // do not proceed if result set has not changed.\n distinctUntilChanged((prev, curr) => {\n if (prev && prev.time === ensureNotFalsy(curr).time) {\n return true;\n } else {\n return false;\n }\n }), filter(result => !!result),\n /**\n * Map the result set to a single RxDocument or an array,\n * depending on query type\n */\n map(result => {\n var useResult = ensureNotFalsy(result);\n if (this.op === 'count') {\n return useResult.count;\n } else if (this.op === 'findOne') {\n // findOne()-queries emit RxDocument or null\n return useResult.documents.length === 0 ? null : useResult.documents[0];\n } else if (this.op === 'findByIds') {\n return useResult.docsMap;\n } else {\n // find()-queries emit RxDocument[]\n // Flat copy the array so it won't matter if the user modifies it.\n return useResult.documents.slice(0);\n }\n }));\n this._$ = merge(results$,\n /**\n * Also add the refCount$ to the query observable\n * to allow us to count the amount of subscribers.\n */\n this.refCount$.pipe(filter(() => false)));\n }\n return this._$;\n }\n }, {\n key: \"$$\",\n get: function () {\n var reactivity = this.collection.database.getReactivityFactory();\n return reactivity.fromObservable(this.$, undefined);\n }\n\n // stores the changeEvent-number of the last handled change-event\n\n // time stamps on when the last full exec over the database has run\n // used to properly handle events that happen while the find-query is running\n\n /**\n * ensures that the exec-runs\n * are not run in parallel\n */\n }, {\n key: \"queryMatcher\",\n get: function () {\n var schema = this.collection.schema.jsonSchema;\n var normalizedQuery = normalizeMangoQuery(this.collection.schema.jsonSchema, this.mangoQuery);\n return overwriteGetterForCaching(this, 'queryMatcher', getQueryMatcher(schema, normalizedQuery));\n }\n }, {\n key: \"asRxQuery\",\n get: function () {\n return this;\n }\n }]);\n return RxQueryBase;\n}();\nexport function _getDefaultQuery() {\n return {\n selector: {}\n };\n}\n\n/**\n * run this query through the QueryCache\n */\nexport function tunnelQueryCache(rxQuery) {\n return rxQuery.collection._queryCache.getByQuery(rxQuery);\n}\nexport function createRxQuery(op, queryObj, collection, other) {\n runPluginHooks('preCreateRxQuery', {\n op,\n queryObj,\n collection,\n other\n });\n var ret = new RxQueryBase(op, queryObj, collection, other);\n\n // ensure when created with same params, only one is created\n ret = tunnelQueryCache(ret);\n triggerCacheReplacement(collection);\n return ret;\n}\n\n/**\n * Check if the current results-state is in sync with the database\n * which means that no write event happened since the last run.\n * @return false if not which means it should re-execute\n */\nfunction _isResultsInSync(rxQuery) {\n var currentLatestEventNumber = rxQuery.asRxQuery.collection._changeEventBuffer.counter;\n if (rxQuery._latestChangeEvent >= currentLatestEventNumber) {\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * wraps __ensureEqual()\n * to ensure it does not run in parallel\n * @return true if has changed, false if not\n */\nfunction _ensureEqual(rxQuery) {\n // Optimisation shortcut\n if (rxQuery.collection.database.destroyed || _isResultsInSync(rxQuery)) {\n return PROMISE_RESOLVE_FALSE;\n }\n rxQuery._ensureEqualQueue = rxQuery._ensureEqualQueue.then(() => __ensureEqual(rxQuery));\n return rxQuery._ensureEqualQueue;\n}\n\n/**\n * ensures that the results of this query is equal to the results which a query over the database would give\n * @return true if results have changed\n */\nfunction __ensureEqual(rxQuery) {\n rxQuery._lastEnsureEqual = now();\n\n /**\n * Optimisation shortcuts\n */\n if (\n // db is closed\n rxQuery.collection.database.destroyed ||\n // nothing happened since last run\n _isResultsInSync(rxQuery)) {\n return PROMISE_RESOLVE_FALSE;\n }\n var ret = false;\n var mustReExec = false; // if this becomes true, a whole execution over the database is made\n if (rxQuery._latestChangeEvent === -1) {\n // have not executed yet -> must run\n mustReExec = true;\n }\n\n /**\n * try to use EventReduce to calculate the new results\n */\n if (!mustReExec) {\n var missedChangeEvents = rxQuery.asRxQuery.collection._changeEventBuffer.getFrom(rxQuery._latestChangeEvent + 1);\n if (missedChangeEvents === null) {\n // changeEventBuffer is of bounds -> we must re-execute over the database\n mustReExec = true;\n } else {\n rxQuery._latestChangeEvent = rxQuery.asRxQuery.collection._changeEventBuffer.counter;\n var runChangeEvents = rxQuery.asRxQuery.collection._changeEventBuffer.reduceByLastOfDoc(missedChangeEvents);\n if (rxQuery.op === 'count') {\n // 'count' query\n var previousCount = ensureNotFalsy(rxQuery._result).count;\n var newCount = previousCount;\n runChangeEvents.forEach(cE => {\n var didMatchBefore = cE.previousDocumentData && rxQuery.doesDocumentDataMatch(cE.previousDocumentData);\n var doesMatchNow = rxQuery.doesDocumentDataMatch(cE.documentData);\n if (!didMatchBefore && doesMatchNow) {\n newCount++;\n }\n if (didMatchBefore && !doesMatchNow) {\n newCount--;\n }\n });\n if (newCount !== previousCount) {\n ret = true; // true because results changed\n rxQuery._setResultData(newCount);\n }\n } else {\n // 'find' or 'findOne' query\n var eventReduceResult = calculateNewResults(rxQuery, runChangeEvents);\n if (eventReduceResult.runFullQueryAgain) {\n // could not calculate the new results, execute must be done\n mustReExec = true;\n } else if (eventReduceResult.changed) {\n // we got the new results, we do not have to re-execute, mustReExec stays false\n ret = true; // true because results changed\n rxQuery._setResultData(eventReduceResult.newResults);\n }\n }\n }\n }\n\n // oh no we have to re-execute the whole query over the database\n if (mustReExec) {\n return rxQuery._execOverDatabase().then(newResultData => {\n /**\n * The RxStorage is defined to always first emit events and then return\n * on bulkWrite() calls. So here we have to use the counter AFTER the execOverDatabase()\n * has been run, not the one from before.\n */\n rxQuery._latestChangeEvent = rxQuery.collection._changeEventBuffer.counter;\n\n // A count query needs a different has-changed check.\n if (typeof newResultData === 'number') {\n if (!rxQuery._result || newResultData !== rxQuery._result.count) {\n ret = true;\n rxQuery._setResultData(newResultData);\n }\n return ret;\n }\n if (!rxQuery._result || !areRxDocumentArraysEqual(rxQuery.collection.schema.primaryPath, newResultData, rxQuery._result.docsData)) {\n ret = true; // true because results changed\n rxQuery._setResultData(newResultData);\n }\n return ret;\n });\n }\n return Promise.resolve(ret); // true if results have changed\n}\n\n/**\n * @returns a format of the query that can be used with the storage\n * when calling RxStorageInstance().query()\n */\nexport function prepareQuery(schema, mutateableQuery) {\n if (!mutateableQuery.sort) {\n throw newRxError('SNH', {\n query: mutateableQuery\n });\n }\n\n /**\n * Store the query plan together with the\n * prepared query to save performance.\n */\n var queryPlan = getQueryPlan(schema, mutateableQuery);\n return {\n query: mutateableQuery,\n queryPlan\n };\n}\n\n/**\n * Runs the query over the storage instance\n * of the collection.\n * Does some optimizations to ensure findById is used\n * when specific queries are used.\n */\nexport async function queryCollection(rxQuery) {\n var docs = [];\n var collection = rxQuery.collection;\n\n /**\n * Optimizations shortcut.\n * If query is find-one-document-by-id,\n * then we do not have to use the slow query() method\n * but instead can use findDocumentsById()\n */\n if (rxQuery.isFindOneByIdQuery) {\n if (Array.isArray(rxQuery.isFindOneByIdQuery)) {\n var docIds = rxQuery.isFindOneByIdQuery;\n docIds = docIds.filter(docId => {\n // first try to fill from docCache\n var docData = rxQuery.collection._docCache.getLatestDocumentDataIfExists(docId);\n if (docData) {\n if (!docData._deleted) {\n docs.push(docData);\n }\n return false;\n } else {\n return true;\n }\n });\n // otherwise get from storage\n if (docIds.length > 0) {\n var docsFromStorage = await collection.storageInstance.findDocumentsById(docIds, false);\n appendToArray(docs, docsFromStorage);\n }\n } else {\n var docId = rxQuery.isFindOneByIdQuery;\n\n // first try to fill from docCache\n var docData = rxQuery.collection._docCache.getLatestDocumentDataIfExists(docId);\n if (!docData) {\n // otherwise get from storage\n var fromStorageList = await collection.storageInstance.findDocumentsById([docId], false);\n if (fromStorageList[0]) {\n docData = fromStorageList[0];\n }\n }\n if (docData && !docData._deleted) {\n docs.push(docData);\n }\n }\n } else {\n var preparedQuery = rxQuery.getPreparedQuery();\n var queryResult = await collection.storageInstance.query(preparedQuery);\n docs = queryResult.documents;\n }\n return docs;\n}\n\n/**\n * Returns true if the given query\n * selects exactly one document by its id.\n * Used to optimize performance because these kind of\n * queries do not have to run over an index and can use get-by-id instead.\n * Returns false if no query of that kind.\n * Returns the document id otherwise.\n */\nexport function isFindOneByIdQuery(primaryPath, query) {\n // must have exactly one operator which must be $eq || $in\n if (!query.skip && query.selector && Object.keys(query.selector).length === 1 && query.selector[primaryPath]) {\n var value = query.selector[primaryPath];\n if (typeof value === 'string') {\n return value;\n } else if (Object.keys(value).length === 1 && typeof value.$eq === 'string') {\n return value.$eq;\n }\n\n // same with $in string arrays\n if (Object.keys(value).length === 1 && Array.isArray(value.$eq) &&\n // must only contain strings\n !value.$eq.find(r => typeof r !== 'string')) {\n return value.$eq;\n }\n }\n return false;\n}\nexport function isRxQuery(obj) {\n return obj instanceof RxQueryBase;\n}\n//# sourceMappingURL=rx-query.js.map","/**\n * Helper functions for accessing the RxStorage instances.\n */\n\nimport { overwritable } from \"./overwritable.js\";\nimport { newRxError } from \"./rx-error.js\";\nimport { fillPrimaryKey, getPrimaryFieldOfPrimaryKey } from \"./rx-schema-helper.js\";\nimport { PROMISE_RESOLVE_TRUE, RXDB_VERSION, RX_META_LWT_MINIMUM, appendToArray, createRevision, ensureNotFalsy, flatClone, getDefaultRevision, getDefaultRxDocumentMeta, lastOfArray, now, promiseWait, randomCouchString } from \"./plugins/utils/index.js\";\nimport { filter, map, startWith, switchMap } from 'rxjs';\nimport { prepareQuery } from \"./rx-query.js\";\nimport { normalizeMangoQuery } from \"./rx-query-helper.js\";\nexport var INTERNAL_STORAGE_NAME = '_rxdb_internal';\nexport var RX_DATABASE_LOCAL_DOCS_STORAGE_NAME = 'rxdatabase_storage_local';\nexport async function getSingleDocument(storageInstance, documentId) {\n var results = await storageInstance.findDocumentsById([documentId], false);\n var doc = results[0];\n if (doc) {\n return doc;\n } else {\n return undefined;\n }\n}\n\n/**\n * Writes a single document,\n * throws RxStorageBulkWriteError on failure\n */\nexport async function writeSingle(instance, writeRow, context) {\n var writeResult = await instance.bulkWrite([writeRow], context);\n if (writeResult.error.length > 0) {\n var error = writeResult.error[0];\n throw error;\n } else {\n var ret = writeResult.success[0];\n return ret;\n }\n}\n\n/**\n * Observe the plain document data of a single document.\n * Do not forget to unsubscribe.\n */\nexport function observeSingle(storageInstance, documentId) {\n var firstFindPromise = getSingleDocument(storageInstance, documentId);\n var ret = storageInstance.changeStream().pipe(map(evBulk => evBulk.events.find(ev => ev.documentId === documentId)), filter(ev => !!ev), map(ev => Promise.resolve(ensureNotFalsy(ev).documentData)), startWith(firstFindPromise), switchMap(v => v), filter(v => !!v));\n return ret;\n}\n\n/**\n * Checkpoints must be stackable over another.\n * This is required form some RxStorage implementations\n * like the sharding plugin, where a checkpoint only represents\n * the document state from some, but not all shards.\n */\nexport function stackCheckpoints(checkpoints) {\n return Object.assign({}, ...checkpoints);\n}\nexport function storageChangeEventToRxChangeEvent(isLocal, rxStorageChangeEvent, rxCollection) {\n var documentData = rxStorageChangeEvent.documentData;\n var previousDocumentData = rxStorageChangeEvent.previousDocumentData;\n var ret = {\n documentId: rxStorageChangeEvent.documentId,\n collectionName: rxCollection ? rxCollection.name : undefined,\n isLocal,\n operation: rxStorageChangeEvent.operation,\n documentData: overwritable.deepFreezeWhenDevMode(documentData),\n previousDocumentData: overwritable.deepFreezeWhenDevMode(previousDocumentData)\n };\n return ret;\n}\nexport function throwIfIsStorageWriteError(collection, documentId, writeData, error) {\n if (error) {\n if (error.status === 409) {\n throw newRxError('CONFLICT', {\n collection: collection.name,\n id: documentId,\n writeError: error,\n data: writeData\n });\n } else if (error.status === 422) {\n throw newRxError('VD2', {\n collection: collection.name,\n id: documentId,\n writeError: error,\n data: writeData\n });\n } else {\n throw error;\n }\n }\n}\n\n/**\n * Analyzes a list of BulkWriteRows and determines\n * which documents must be inserted, updated or deleted\n * and which events must be emitted and which documents cause a conflict\n * and must not be written.\n * Used as helper inside of some RxStorage implementations.\n * @hotPath The performance of this function is critical\n */\nexport function categorizeBulkWriteRows(storageInstance, primaryPath,\n/**\n * Current state of the documents\n * inside of the storage. Used to determine\n * which writes cause conflicts.\n * This must be a Map for better performance.\n */\ndocsInDb,\n/**\n * The write rows that are passed to\n * RxStorageInstance().bulkWrite().\n */\nbulkWriteRows, context,\n/**\n * Used by some storages for better performance.\n * For example when get-by-id and insert/update can run in parallel.\n */\nonInsert, onUpdate) {\n var hasAttachments = !!storageInstance.schema.attachments;\n var bulkInsertDocs = [];\n var bulkUpdateDocs = [];\n var errors = [];\n var eventBulkId = randomCouchString(10);\n var eventBulk = {\n id: eventBulkId,\n events: [],\n checkpoint: null,\n context,\n startTime: now(),\n endTime: 0\n };\n var eventBulkEvents = eventBulk.events;\n var attachmentsAdd = [];\n var attachmentsRemove = [];\n var attachmentsUpdate = [];\n var hasDocsInDb = docsInDb.size > 0;\n var newestRow;\n\n /**\n * @performance is really important in this loop!\n */\n var rowAmount = bulkWriteRows.length;\n var _loop = function () {\n var writeRow = bulkWriteRows[rowId];\n\n // use these variables to have less property accesses\n var document = writeRow.document;\n var previous = writeRow.previous;\n var docId = document[primaryPath];\n var documentDeleted = document._deleted;\n var previousDeleted = previous && previous._deleted;\n var documentInDb = undefined;\n if (hasDocsInDb) {\n documentInDb = docsInDb.get(docId);\n }\n var attachmentError;\n if (!documentInDb) {\n /**\n * It is possible to insert already deleted documents,\n * this can happen on replication.\n */\n var insertedIsDeleted = documentDeleted ? true : false;\n if (hasAttachments) {\n Object.entries(document._attachments).forEach(([attachmentId, attachmentData]) => {\n if (!attachmentData.data) {\n attachmentError = {\n documentId: docId,\n isError: true,\n status: 510,\n writeRow,\n attachmentId\n };\n errors.push(attachmentError);\n } else {\n attachmentsAdd.push({\n documentId: docId,\n attachmentId,\n attachmentData: attachmentData,\n digest: attachmentData.digest\n });\n }\n });\n }\n if (!attachmentError) {\n if (hasAttachments) {\n bulkInsertDocs.push(stripAttachmentsDataFromRow(writeRow));\n if (onInsert) {\n onInsert(document);\n }\n } else {\n bulkInsertDocs.push(writeRow);\n if (onInsert) {\n onInsert(document);\n }\n }\n newestRow = writeRow;\n }\n if (!insertedIsDeleted) {\n var event = {\n documentId: docId,\n operation: 'INSERT',\n documentData: hasAttachments ? stripAttachmentsDataFromDocument(document) : document,\n previousDocumentData: hasAttachments && previous ? stripAttachmentsDataFromDocument(previous) : previous\n };\n eventBulkEvents.push(event);\n }\n } else {\n // update existing document\n var revInDb = documentInDb._rev;\n\n /**\n * Check for conflict\n */\n if (!previous || !!previous && revInDb !== previous._rev) {\n // is conflict error\n var err = {\n isError: true,\n status: 409,\n documentId: docId,\n writeRow: writeRow,\n documentInDb\n };\n errors.push(err);\n return 1; // continue\n }\n\n // handle attachments data\n\n var updatedRow = hasAttachments ? stripAttachmentsDataFromRow(writeRow) : writeRow;\n if (hasAttachments) {\n if (documentDeleted) {\n /**\n * Deleted documents must have cleared all their attachments.\n */\n if (previous) {\n Object.keys(previous._attachments).forEach(attachmentId => {\n attachmentsRemove.push({\n documentId: docId,\n attachmentId,\n digest: ensureNotFalsy(previous)._attachments[attachmentId].digest\n });\n });\n }\n } else {\n // first check for errors\n Object.entries(document._attachments).find(([attachmentId, attachmentData]) => {\n var previousAttachmentData = previous ? previous._attachments[attachmentId] : undefined;\n if (!previousAttachmentData && !attachmentData.data) {\n attachmentError = {\n documentId: docId,\n documentInDb: documentInDb,\n isError: true,\n status: 510,\n writeRow,\n attachmentId\n };\n }\n return true;\n });\n if (!attachmentError) {\n Object.entries(document._attachments).forEach(([attachmentId, attachmentData]) => {\n var previousAttachmentData = previous ? previous._attachments[attachmentId] : undefined;\n if (!previousAttachmentData) {\n attachmentsAdd.push({\n documentId: docId,\n attachmentId,\n attachmentData: attachmentData,\n digest: attachmentData.digest\n });\n } else {\n var newDigest = updatedRow.document._attachments[attachmentId].digest;\n if (attachmentData.data &&\n /**\n * Performance shortcut,\n * do not update the attachment data if it did not change.\n */\n previousAttachmentData.digest !== newDigest) {\n attachmentsUpdate.push({\n documentId: docId,\n attachmentId,\n attachmentData: attachmentData,\n digest: attachmentData.digest\n });\n }\n }\n });\n }\n }\n }\n if (attachmentError) {\n errors.push(attachmentError);\n } else {\n if (hasAttachments) {\n bulkUpdateDocs.push(stripAttachmentsDataFromRow(updatedRow));\n if (onUpdate) {\n onUpdate(document);\n }\n } else {\n bulkUpdateDocs.push(updatedRow);\n if (onUpdate) {\n onUpdate(document);\n }\n }\n newestRow = updatedRow;\n }\n var eventDocumentData = null;\n var previousEventDocumentData = null;\n var operation = null;\n if (previousDeleted && !documentDeleted) {\n operation = 'INSERT';\n eventDocumentData = hasAttachments ? stripAttachmentsDataFromDocument(document) : document;\n } else if (previous && !previousDeleted && !documentDeleted) {\n operation = 'UPDATE';\n eventDocumentData = hasAttachments ? stripAttachmentsDataFromDocument(document) : document;\n previousEventDocumentData = previous;\n } else if (documentDeleted) {\n operation = 'DELETE';\n eventDocumentData = ensureNotFalsy(document);\n previousEventDocumentData = previous;\n } else {\n throw newRxError('SNH', {\n args: {\n writeRow\n }\n });\n }\n var _event = {\n documentId: docId,\n documentData: eventDocumentData,\n previousDocumentData: previousEventDocumentData,\n operation: operation\n };\n eventBulkEvents.push(_event);\n }\n };\n for (var rowId = 0; rowId < rowAmount; rowId++) {\n if (_loop()) continue;\n }\n return {\n bulkInsertDocs,\n bulkUpdateDocs,\n newestRow,\n errors,\n eventBulk,\n attachmentsAdd,\n attachmentsRemove,\n attachmentsUpdate\n };\n}\nexport function stripAttachmentsDataFromRow(writeRow) {\n return {\n previous: writeRow.previous,\n document: stripAttachmentsDataFromDocument(writeRow.document)\n };\n}\nexport function getAttachmentSize(attachmentBase64String) {\n return atob(attachmentBase64String).length;\n}\n\n/**\n * Used in custom RxStorage implementations.\n */\nexport function attachmentWriteDataToNormalData(writeData) {\n var data = writeData.data;\n if (!data) {\n return writeData;\n }\n var ret = {\n length: getAttachmentSize(data),\n digest: writeData.digest,\n type: writeData.type\n };\n return ret;\n}\nexport function stripAttachmentsDataFromDocument(doc) {\n if (!doc._attachments || Object.keys(doc._attachments).length === 0) {\n return doc;\n }\n var useDoc = flatClone(doc);\n useDoc._attachments = {};\n Object.entries(doc._attachments).forEach(([attachmentId, attachmentData]) => {\n useDoc._attachments[attachmentId] = attachmentWriteDataToNormalData(attachmentData);\n });\n return useDoc;\n}\n\n/**\n * Flat clone the document data\n * and also the _meta field.\n * Used many times when we want to change the meta\n * during replication etc.\n */\nexport function flatCloneDocWithMeta(doc) {\n var ret = flatClone(doc);\n ret._meta = flatClone(doc._meta);\n return ret;\n}\n/**\n * Wraps the normal storageInstance of a RxCollection\n * to ensure that all access is properly using the hooks\n * and other data transformations and also ensure that database.lockedRun()\n * is used properly.\n */\nexport function getWrappedStorageInstance(database, storageInstance,\n/**\n * The original RxJsonSchema\n * before it was mutated by hooks.\n */\nrxJsonSchema) {\n overwritable.deepFreezeWhenDevMode(rxJsonSchema);\n var primaryPath = getPrimaryFieldOfPrimaryKey(rxJsonSchema.primaryKey);\n function transformDocumentDataFromRxDBToRxStorage(writeRow) {\n var data = flatClone(writeRow.document);\n data._meta = flatClone(data._meta);\n\n /**\n * Do some checks in dev-mode\n * that would be too performance expensive\n * in production.\n */\n if (overwritable.isDevMode()) {\n // ensure that the primary key has not been changed\n data = fillPrimaryKey(primaryPath, rxJsonSchema, data);\n\n /**\n * Ensure it can be structured cloned\n */\n try {\n /**\n * Notice that structuredClone() is not available\n * in ReactNative, so we test for JSON.stringify() instead\n * @link https://github.com/pubkey/rxdb/issues/5046#issuecomment-1827374498\n */\n if (typeof structuredClone === 'function') {\n structuredClone(writeRow);\n } else {\n JSON.parse(JSON.stringify(writeRow));\n }\n } catch (err) {\n throw newRxError('DOC24', {\n collection: storageInstance.collectionName,\n document: writeRow.document\n });\n }\n\n /**\n * Ensure that the new revision is higher\n * then the previous one\n */\n if (writeRow.previous) {\n // TODO run this in the dev-mode plugin\n // const prev = parseRevision(writeRow.previous._rev);\n // const current = parseRevision(writeRow.document._rev);\n // if (current.height <= prev.height) {\n // throw newRxError('SNH', {\n // dataBefore: writeRow.previous,\n // dataAfter: writeRow.document,\n // args: {\n // prev,\n // current\n // }\n // });\n // }\n }\n\n /**\n * Ensure that _meta fields have been merged\n * and not replaced.\n * This is important so that when one plugin A\n * sets a _meta field and another plugin B does a write\n * to the document, it must be ensured that the\n * field of plugin A was not removed.\n */\n if (writeRow.previous) {\n Object.keys(writeRow.previous._meta).forEach(metaFieldName => {\n if (!Object.prototype.hasOwnProperty.call(writeRow.document._meta, metaFieldName)) {\n throw newRxError('SNH', {\n dataBefore: writeRow.previous,\n dataAfter: writeRow.document\n });\n }\n });\n }\n }\n data._meta.lwt = now();\n\n /**\n * Yes we really want to set the revision here.\n * If you make a plugin that relies on having its own revision\n * stored into the storage, use this.originalStorageInstance.bulkWrite() instead.\n */\n data._rev = createRevision(database.token, writeRow.previous);\n return {\n document: data,\n previous: writeRow.previous\n };\n }\n var ret = {\n originalStorageInstance: storageInstance,\n schema: storageInstance.schema,\n internals: storageInstance.internals,\n collectionName: storageInstance.collectionName,\n databaseName: storageInstance.databaseName,\n options: storageInstance.options,\n bulkWrite(rows, context) {\n var toStorageWriteRows = rows.map(row => transformDocumentDataFromRxDBToRxStorage(row));\n return database.lockedRun(() => storageInstance.bulkWrite(toStorageWriteRows, context))\n /**\n * The RxStorageInstance MUST NOT allow to insert already _deleted documents,\n * without sending the previous document version.\n * But for better developer experience, RxDB does allow to re-insert deleted documents.\n * We do this by automatically fixing the conflict errors for that case\n * by running another bulkWrite() and merging the results.\n * @link https://github.com/pubkey/rxdb/pull/3839\n */.then(writeResult => {\n var useWriteResult = {\n error: [],\n success: writeResult.success.slice(0)\n };\n var reInsertErrors = writeResult.error.filter(error => {\n if (error.status === 409 && !error.writeRow.previous && !error.writeRow.document._deleted && ensureNotFalsy(error.documentInDb)._deleted) {\n return true;\n }\n useWriteResult.error.push(error);\n return false;\n });\n if (reInsertErrors.length > 0) {\n var reInserts = reInsertErrors.map(error => {\n return {\n previous: error.documentInDb,\n document: Object.assign({}, error.writeRow.document, {\n _rev: createRevision(database.token, error.documentInDb)\n })\n };\n });\n return database.lockedRun(() => storageInstance.bulkWrite(reInserts, context)).then(subResult => {\n appendToArray(useWriteResult.error, subResult.error);\n appendToArray(useWriteResult.success, subResult.success);\n return useWriteResult;\n });\n }\n return writeResult;\n });\n },\n query(preparedQuery) {\n return database.lockedRun(() => storageInstance.query(preparedQuery));\n },\n count(preparedQuery) {\n return database.lockedRun(() => storageInstance.count(preparedQuery));\n },\n findDocumentsById(ids, deleted) {\n return database.lockedRun(() => storageInstance.findDocumentsById(ids, deleted));\n },\n getAttachmentData(documentId, attachmentId, digest) {\n return database.lockedRun(() => storageInstance.getAttachmentData(documentId, attachmentId, digest));\n },\n getChangedDocumentsSince: !storageInstance.getChangedDocumentsSince ? undefined : (limit, checkpoint) => {\n return database.lockedRun(() => storageInstance.getChangedDocumentsSince(ensureNotFalsy(limit), checkpoint));\n },\n cleanup(minDeletedTime) {\n return database.lockedRun(() => storageInstance.cleanup(minDeletedTime));\n },\n remove() {\n database.storageInstances.delete(ret);\n return database.lockedRun(() => storageInstance.remove());\n },\n close() {\n database.storageInstances.delete(ret);\n return database.lockedRun(() => storageInstance.close());\n },\n changeStream() {\n return storageInstance.changeStream();\n },\n conflictResultionTasks() {\n return storageInstance.conflictResultionTasks();\n },\n resolveConflictResultionTask(taskSolution) {\n if (taskSolution.output.isEqual) {\n return storageInstance.resolveConflictResultionTask(taskSolution);\n }\n var doc = Object.assign({}, taskSolution.output.documentData, {\n _meta: getDefaultRxDocumentMeta(),\n _rev: getDefaultRevision(),\n _attachments: {}\n });\n var documentData = flatClone(doc);\n delete documentData._meta;\n delete documentData._rev;\n delete documentData._attachments;\n return storageInstance.resolveConflictResultionTask({\n id: taskSolution.id,\n output: {\n isEqual: false,\n documentData\n }\n });\n }\n };\n database.storageInstances.add(ret);\n return ret;\n}\n\n/**\n * Each RxStorage implementation should\n * run this method at the first step of createStorageInstance()\n * to ensure that the configuration is correct.\n */\nexport function ensureRxStorageInstanceParamsAreCorrect(params) {\n if (params.schema.keyCompression) {\n throw newRxError('UT5', {\n args: {\n params\n }\n });\n }\n if (hasEncryption(params.schema)) {\n throw newRxError('UT6', {\n args: {\n params\n }\n });\n }\n if (params.schema.attachments && params.schema.attachments.compression) {\n throw newRxError('UT7', {\n args: {\n params\n }\n });\n }\n}\nexport function hasEncryption(jsonSchema) {\n if (!!jsonSchema.encrypted && jsonSchema.encrypted.length > 0 || jsonSchema.attachments && jsonSchema.attachments.encrypted) {\n return true;\n } else {\n return false;\n }\n}\nexport function getChangedDocumentsSinceQuery(storageInstance, limit, checkpoint) {\n var primaryPath = getPrimaryFieldOfPrimaryKey(storageInstance.schema.primaryKey);\n var sinceLwt = checkpoint ? checkpoint.lwt : RX_META_LWT_MINIMUM;\n var sinceId = checkpoint ? checkpoint.id : '';\n return normalizeMangoQuery(storageInstance.schema, {\n selector: {\n $or: [{\n '_meta.lwt': {\n $gt: sinceLwt\n }\n }, {\n '_meta.lwt': {\n $eq: sinceLwt\n },\n [primaryPath]: {\n $gt: checkpoint ? sinceId : ''\n }\n }],\n // add this hint for better index usage\n '_meta.lwt': {\n $gte: sinceLwt\n }\n },\n sort: [{\n '_meta.lwt': 'asc'\n }, {\n [primaryPath]: 'asc'\n }],\n skip: 0,\n limit\n /**\n * DO NOT SET A SPECIFIC INDEX HERE!\n * The query might be modified by some plugin\n * before sending it to the storage.\n * We can be sure that in the end the query planner\n * will find the best index.\n */\n // index: ['_meta.lwt', primaryPath]\n });\n}\nexport async function getChangedDocumentsSince(storageInstance, limit, checkpoint) {\n if (storageInstance.getChangedDocumentsSince) {\n return storageInstance.getChangedDocumentsSince(limit, checkpoint);\n }\n var primaryPath = getPrimaryFieldOfPrimaryKey(storageInstance.schema.primaryKey);\n var query = prepareQuery(storageInstance.schema, getChangedDocumentsSinceQuery(storageInstance, limit, checkpoint));\n var result = await storageInstance.query(query);\n var documents = result.documents;\n var lastDoc = lastOfArray(documents);\n return {\n documents: documents,\n checkpoint: lastDoc ? {\n id: lastDoc[primaryPath],\n lwt: lastDoc._meta.lwt\n } : checkpoint ? checkpoint : {\n id: '',\n lwt: 0\n }\n };\n}\n\n/**\n * Wraps the storage and simluates\n * delays. Mostly used in tests.\n */\nexport function randomDelayStorage(input) {\n var retStorage = {\n name: 'random-delay-' + input.storage.name,\n rxdbVersion: RXDB_VERSION,\n async createStorageInstance(params) {\n await promiseWait(input.delayTimeBefore());\n var storageInstance = await input.storage.createStorageInstance(params);\n await promiseWait(input.delayTimeAfter());\n\n // write still must be processed in order\n var writeQueue = PROMISE_RESOLVE_TRUE;\n return {\n databaseName: storageInstance.databaseName,\n internals: storageInstance.internals,\n options: storageInstance.options,\n schema: storageInstance.schema,\n collectionName: storageInstance.collectionName,\n async bulkWrite(a, b) {\n writeQueue = writeQueue.then(async () => {\n await promiseWait(input.delayTimeBefore());\n var response = await storageInstance.bulkWrite(a, b);\n await promiseWait(input.delayTimeAfter());\n return response;\n });\n var ret = await writeQueue;\n return ret;\n },\n async findDocumentsById(a, b) {\n await promiseWait(input.delayTimeBefore());\n var ret = await storageInstance.findDocumentsById(a, b);\n await promiseWait(input.delayTimeAfter());\n return ret;\n },\n async query(a) {\n await promiseWait(input.delayTimeBefore());\n var ret = await storageInstance.query(a);\n return ret;\n },\n async count(a) {\n await promiseWait(input.delayTimeBefore());\n var ret = await storageInstance.count(a);\n await promiseWait(input.delayTimeAfter());\n return ret;\n },\n async getAttachmentData(a, b, c) {\n await promiseWait(input.delayTimeBefore());\n var ret = await storageInstance.getAttachmentData(a, b, c);\n await promiseWait(input.delayTimeAfter());\n return ret;\n },\n getChangedDocumentsSince: !storageInstance.getChangedDocumentsSince ? undefined : async (a, b) => {\n await promiseWait(input.delayTimeBefore());\n var ret = await ensureNotFalsy(storageInstance.getChangedDocumentsSince)(a, b);\n await promiseWait(input.delayTimeAfter());\n return ret;\n },\n changeStream() {\n return storageInstance.changeStream();\n },\n conflictResultionTasks() {\n return storageInstance.conflictResultionTasks();\n },\n resolveConflictResultionTask(a) {\n return storageInstance.resolveConflictResultionTask(a);\n },\n async cleanup(a) {\n await promiseWait(input.delayTimeBefore());\n var ret = await storageInstance.cleanup(a);\n await promiseWait(input.delayTimeAfter());\n return ret;\n },\n async close() {\n await promiseWait(input.delayTimeBefore());\n var ret = await storageInstance.close();\n await promiseWait(input.delayTimeAfter());\n return ret;\n },\n async remove() {\n await promiseWait(input.delayTimeBefore());\n var ret = await storageInstance.remove();\n await promiseWait(input.delayTimeAfter());\n return ret;\n }\n };\n }\n };\n return retStorage;\n}\n//# sourceMappingURL=rx-storage-helper.js.map","import { isBulkWriteConflictError, rxStorageWriteErrorToRxError } from \"./rx-error.js\";\nimport { clone, ensureNotFalsy, getFromMapOrCreate, getFromMapOrThrow, parseRevision, stripMetaDataFromDocument } from \"./plugins/utils/index.js\";\n/**\n * The incremental write queue\n * batches up all incremental writes to a collection\n * so that performance can be improved by:\n * - Running only one write even when there are multiple modifications to the same document.\n * - Run all writes ins a single bulkWrite() call even when there are writes to many documents.\n */\nexport var IncrementalWriteQueue = /*#__PURE__*/function () {\n function IncrementalWriteQueue(storageInstance, primaryPath,\n // can be used to run hooks etc.\n preWrite, postWrite) {\n this.queueByDocId = new Map();\n this.isRunning = false;\n this.storageInstance = storageInstance;\n this.primaryPath = primaryPath;\n this.preWrite = preWrite;\n this.postWrite = postWrite;\n }\n var _proto = IncrementalWriteQueue.prototype;\n _proto.addWrite = function addWrite(lastKnownDocumentState, modifier) {\n var docId = lastKnownDocumentState[this.primaryPath];\n var ar = getFromMapOrCreate(this.queueByDocId, docId, () => []);\n var ret = new Promise((resolve, reject) => {\n var item = {\n lastKnownDocumentState,\n modifier,\n resolve,\n reject\n };\n ensureNotFalsy(ar).push(item);\n this.triggerRun();\n });\n return ret;\n };\n _proto.triggerRun = async function triggerRun() {\n if (this.isRunning === true || this.queueByDocId.size === 0) {\n // already running\n return;\n }\n this.isRunning = true;\n var writeRows = [];\n\n /**\n * 'take over' so that while the async functions runs,\n * new incremental updates could be added from the outside.\n */\n var itemsById = this.queueByDocId;\n this.queueByDocId = new Map();\n await Promise.all(Array.from(itemsById.entries()).map(async ([_docId, items]) => {\n var oldData = findNewestOfDocumentStates(items.map(i => i.lastKnownDocumentState));\n var newData = oldData;\n for (var item of items) {\n try {\n newData = await item.modifier(\n /**\n * We have to clone() each time because the modifier\n * might throw while it already changed some properties\n * of the document.\n */\n clone(newData));\n } catch (err) {\n item.reject(err);\n item.reject = () => {};\n item.resolve = () => {};\n }\n }\n try {\n await this.preWrite(newData, oldData);\n } catch (err) {\n /**\n * If the before-hooks fail,\n * we reject all of the writes because it is\n * not possible to determine which one is to blame.\n */\n items.forEach(item => item.reject(err));\n return;\n }\n writeRows.push({\n previous: oldData,\n document: newData\n });\n }));\n var writeResult = writeRows.length > 0 ? await this.storageInstance.bulkWrite(writeRows, 'incremental-write') : {\n error: [],\n success: []\n };\n\n // process success\n await Promise.all(writeResult.success.map(result => {\n var docId = result[this.primaryPath];\n this.postWrite(result);\n var items = getFromMapOrThrow(itemsById, docId);\n items.forEach(item => item.resolve(result));\n }));\n\n // process errors\n writeResult.error.forEach(error => {\n var docId = error.documentId;\n var items = getFromMapOrThrow(itemsById, docId);\n var isConflict = isBulkWriteConflictError(error);\n if (isConflict) {\n // had conflict -> retry afterwards\n var ar = getFromMapOrCreate(this.queueByDocId, docId, () => []);\n /**\n * Add the items back to this.queueByDocId\n * by maintaining the original order.\n */\n items.reverse().forEach(item => {\n item.lastKnownDocumentState = ensureNotFalsy(isConflict.documentInDb);\n ensureNotFalsy(ar).unshift(item);\n });\n } else {\n // other error -> must be thrown\n var rxError = rxStorageWriteErrorToRxError(error);\n items.forEach(item => item.reject(rxError));\n }\n });\n this.isRunning = false;\n\n /**\n * Always trigger another run\n * because in between there might be new items\n * been added to the queue.\n */\n return this.triggerRun();\n };\n return IncrementalWriteQueue;\n}();\nexport function modifierFromPublicToInternal(publicModifier) {\n var ret = async docData => {\n var withoutMeta = stripMetaDataFromDocument(docData);\n withoutMeta._deleted = docData._deleted;\n var modified = await publicModifier(withoutMeta);\n var reattachedMeta = Object.assign({}, modified, {\n _meta: docData._meta,\n _attachments: docData._attachments,\n _rev: docData._rev,\n _deleted: typeof modified._deleted !== 'undefined' ? modified._deleted : docData._deleted\n });\n if (typeof reattachedMeta._deleted === 'undefined') {\n reattachedMeta._deleted = false;\n }\n return reattachedMeta;\n };\n return ret;\n}\nexport function findNewestOfDocumentStates(docs) {\n var newest = docs[0];\n var newestRevisionHeight = parseRevision(newest._rev).height;\n docs.forEach(doc => {\n var height = parseRevision(doc._rev).height;\n if (height > newestRevisionHeight) {\n newest = doc;\n newestRevisionHeight = height;\n }\n });\n return newest;\n}\n//# sourceMappingURL=incremental-write.js.map","import { distinctUntilChanged, filter, map, shareReplay, startWith } from 'rxjs/operators';\nimport { clone, trimDots, pluginMissing, flatClone, PROMISE_RESOLVE_NULL, RXJS_SHARE_REPLAY_DEFAULTS, getProperty, getFromMapOrCreate } from \"./plugins/utils/index.js\";\nimport { newRxError } from \"./rx-error.js\";\nimport { runPluginHooks } from \"./hooks.js\";\nimport { getDocumentDataOfRxChangeEvent } from \"./rx-change-event.js\";\nimport { overwritable } from \"./overwritable.js\";\nimport { getSchemaByObjectPath } from \"./rx-schema-helper.js\";\nimport { throwIfIsStorageWriteError } from \"./rx-storage-helper.js\";\nimport { modifierFromPublicToInternal } from \"./incremental-write.js\";\nexport var basePrototype = {\n get primaryPath() {\n var _this = this;\n if (!_this.isInstanceOfRxDocument) {\n return undefined;\n }\n return _this.collection.schema.primaryPath;\n },\n get primary() {\n var _this = this;\n if (!_this.isInstanceOfRxDocument) {\n return undefined;\n }\n return _this._data[_this.primaryPath];\n },\n get revision() {\n var _this = this;\n if (!_this.isInstanceOfRxDocument) {\n return undefined;\n }\n return _this._data._rev;\n },\n get deleted$() {\n var _this = this;\n if (!_this.isInstanceOfRxDocument) {\n return undefined;\n }\n return _this.$.pipe(map(d => d._data._deleted));\n },\n get deleted$$() {\n var _this = this;\n var reactivity = _this.collection.database.getReactivityFactory();\n return reactivity.fromObservable(_this.deleted$, _this.getLatest().deleted);\n },\n get deleted() {\n var _this = this;\n if (!_this.isInstanceOfRxDocument) {\n return undefined;\n }\n return _this._data._deleted;\n },\n getLatest() {\n var latestDocData = this.collection._docCache.getLatestDocumentData(this.primary);\n return this.collection._docCache.getCachedRxDocument(latestDocData);\n },\n /**\n * returns the observable which emits the plain-data of this document\n */\n get $() {\n var _this = this;\n return _this.collection.$.pipe(filter(changeEvent => !changeEvent.isLocal), filter(changeEvent => changeEvent.documentId === this.primary), map(changeEvent => getDocumentDataOfRxChangeEvent(changeEvent)), startWith(_this.collection._docCache.getLatestDocumentData(this.primary)), distinctUntilChanged((prev, curr) => prev._rev === curr._rev), map(docData => this.collection._docCache.getCachedRxDocument(docData)), shareReplay(RXJS_SHARE_REPLAY_DEFAULTS));\n },\n get $$() {\n var _this = this;\n var reactivity = _this.collection.database.getReactivityFactory();\n return reactivity.fromObservable(_this.$, _this.getLatest()._data);\n },\n /**\n * returns observable of the value of the given path\n */\n get$(path) {\n if (overwritable.isDevMode()) {\n if (path.includes('.item.')) {\n throw newRxError('DOC1', {\n path\n });\n }\n if (path === this.primaryPath) {\n throw newRxError('DOC2');\n }\n\n // final fields cannot be modified and so also not observed\n if (this.collection.schema.finalFields.includes(path)) {\n throw newRxError('DOC3', {\n path\n });\n }\n var schemaObj = getSchemaByObjectPath(this.collection.schema.jsonSchema, path);\n if (!schemaObj) {\n throw newRxError('DOC4', {\n path\n });\n }\n }\n return this.$.pipe(map(data => getProperty(data, path)), distinctUntilChanged());\n },\n get$$(path) {\n var obs = this.get$(path);\n var reactivity = this.collection.database.getReactivityFactory();\n return reactivity.fromObservable(obs, this.getLatest().get(path));\n },\n /**\n * populate the given path\n */\n populate(path) {\n var schemaObj = getSchemaByObjectPath(this.collection.schema.jsonSchema, path);\n var value = this.get(path);\n if (!value) {\n return PROMISE_RESOLVE_NULL;\n }\n if (!schemaObj) {\n throw newRxError('DOC5', {\n path\n });\n }\n if (!schemaObj.ref) {\n throw newRxError('DOC6', {\n path,\n schemaObj\n });\n }\n var refCollection = this.collection.database.collections[schemaObj.ref];\n if (!refCollection) {\n throw newRxError('DOC7', {\n ref: schemaObj.ref,\n path,\n schemaObj\n });\n }\n if (schemaObj.type === 'array') {\n return refCollection.findByIds(value).exec().then(res => {\n var valuesIterator = res.values();\n return Array.from(valuesIterator);\n });\n } else {\n return refCollection.findOne(value).exec();\n }\n },\n /**\n * get data by objectPath\n * @hotPath Performance here is really important,\n * run some tests before changing anything.\n */\n get(objPath) {\n return getFromMapOrCreate(this._propertyCache, objPath, () => {\n var valueObj = getProperty(this._data, objPath);\n\n // direct return if array or non-object\n if (typeof valueObj !== 'object' || valueObj === null || Array.isArray(valueObj)) {\n return overwritable.deepFreezeWhenDevMode(valueObj);\n }\n var _this = this;\n var proxy = new Proxy(\n /**\n * In dev-mode, the _data is deep-frozen\n * so we have to flat clone here so that\n * the proxy can work.\n */\n flatClone(valueObj), {\n get(target, property) {\n if (typeof property !== 'string') {\n return target[property];\n }\n var lastChar = property.charAt(property.length - 1);\n if (property.endsWith('$$')) {\n var key = property.slice(0, -2);\n return _this.get$$(trimDots(objPath + '.' + key));\n } else if (lastChar === '$') {\n var _key = property.slice(0, -1);\n return _this.get$(trimDots(objPath + '.' + _key));\n } else if (lastChar === '_') {\n var _key2 = property.slice(0, -1);\n return _this.populate(trimDots(objPath + '.' + _key2));\n } else {\n return _this.get(trimDots(objPath + '.' + property));\n }\n }\n });\n return proxy;\n });\n },\n toJSON(withMetaFields = false) {\n if (!withMetaFields) {\n var data = flatClone(this._data);\n delete data._rev;\n delete data._attachments;\n delete data._deleted;\n delete data._meta;\n return overwritable.deepFreezeWhenDevMode(data);\n } else {\n return overwritable.deepFreezeWhenDevMode(this._data);\n }\n },\n toMutableJSON(withMetaFields = false) {\n return clone(this.toJSON(withMetaFields));\n },\n /**\n * updates document\n * @overwritten by plugin (optional)\n * @param updateObj mongodb-like syntax\n */\n update(_updateObj) {\n throw pluginMissing('update');\n },\n incrementalUpdate(_updateObj) {\n throw pluginMissing('update');\n },\n updateCRDT(_updateObj) {\n throw pluginMissing('crdt');\n },\n putAttachment() {\n throw pluginMissing('attachments');\n },\n getAttachment() {\n throw pluginMissing('attachments');\n },\n allAttachments() {\n throw pluginMissing('attachments');\n },\n get allAttachments$() {\n throw pluginMissing('attachments');\n },\n async modify(mutationFunction,\n // used by some plugins that wrap the method\n _context) {\n var oldData = this._data;\n var newData = await modifierFromPublicToInternal(mutationFunction)(oldData);\n return this._saveData(newData, oldData);\n },\n /**\n * runs an incremental update over the document\n * @param function that takes the document-data and returns a new data-object\n */\n incrementalModify(mutationFunction,\n // used by some plugins that wrap the method\n _context) {\n return this.collection.incrementalWriteQueue.addWrite(this._data, modifierFromPublicToInternal(mutationFunction)).then(result => this.collection._docCache.getCachedRxDocument(result));\n },\n patch(patch) {\n var oldData = this._data;\n var newData = clone(oldData);\n Object.entries(patch).forEach(([k, v]) => {\n newData[k] = v;\n });\n return this._saveData(newData, oldData);\n },\n /**\n * patches the given properties\n */\n incrementalPatch(patch) {\n return this.incrementalModify(docData => {\n Object.entries(patch).forEach(([k, v]) => {\n docData[k] = v;\n });\n return docData;\n });\n },\n /**\n * saves the new document-data\n * and handles the events\n */\n async _saveData(newData, oldData) {\n newData = flatClone(newData);\n\n // deleted documents cannot be changed\n if (this._data._deleted) {\n throw newRxError('DOC11', {\n id: this.primary,\n document: this\n });\n }\n await beforeDocumentUpdateWrite(this.collection, newData, oldData);\n var writeResult = await this.collection.storageInstance.bulkWrite([{\n previous: oldData,\n document: newData\n }], 'rx-document-save-data');\n var isError = writeResult.error[0];\n throwIfIsStorageWriteError(this.collection, this.primary, newData, isError);\n await this.collection._runHooks('post', 'save', newData, this);\n return this.collection._docCache.getCachedRxDocument(writeResult.success[0]);\n },\n /**\n * Remove the document.\n * Notice that there is no hard delete,\n * instead deleted documents get flagged with _deleted=true.\n */\n remove() {\n var collection = this.collection;\n if (this.deleted) {\n return Promise.reject(newRxError('DOC13', {\n document: this,\n id: this.primary\n }));\n }\n var deletedData = flatClone(this._data);\n var removedDocData;\n return collection._runHooks('pre', 'remove', deletedData, this).then(async () => {\n deletedData._deleted = true;\n var writeResult = await collection.storageInstance.bulkWrite([{\n previous: this._data,\n document: deletedData\n }], 'rx-document-remove');\n var isError = writeResult.error[0];\n throwIfIsStorageWriteError(collection, this.primary, deletedData, isError);\n return writeResult.success[0];\n }).then(removed => {\n removedDocData = removed;\n return this.collection._runHooks('post', 'remove', deletedData, this);\n }).then(() => {\n return this.collection._docCache.getCachedRxDocument(removedDocData);\n });\n },\n incrementalRemove() {\n return this.incrementalModify(async docData => {\n await this.collection._runHooks('pre', 'remove', docData, this);\n docData._deleted = true;\n return docData;\n }).then(async newDoc => {\n await this.collection._runHooks('post', 'remove', newDoc._data, newDoc);\n return newDoc;\n });\n },\n destroy() {\n throw newRxError('DOC14');\n }\n};\nexport function createRxDocumentConstructor(proto = basePrototype) {\n var constructor = function RxDocumentConstructor(collection, docData) {\n this.collection = collection;\n\n // assume that this is always equal to the doc-data in the database\n this._data = docData;\n this._propertyCache = new Map();\n\n /**\n * because of the prototype-merge,\n * we can not use the native instanceof operator\n */\n this.isInstanceOfRxDocument = true;\n };\n constructor.prototype = proto;\n return constructor;\n}\nexport function createWithConstructor(constructor, collection, jsonData) {\n var doc = new constructor(collection, jsonData);\n runPluginHooks('createRxDocument', doc);\n return doc;\n}\nexport function isRxDocument(obj) {\n return typeof obj === 'object' && obj !== null && 'isInstanceOfRxDocument' in obj;\n}\nexport function beforeDocumentUpdateWrite(collection, newData, oldData) {\n /**\n * Meta values must always be merged\n * instead of overwritten.\n * This ensures that different plugins do not overwrite\n * each others meta properties.\n */\n newData._meta = Object.assign({}, oldData._meta, newData._meta);\n\n // ensure modifications are ok\n if (overwritable.isDevMode()) {\n collection.schema.validateChange(oldData, newData);\n }\n return collection._runHooks('pre', 'save', newData, oldData);\n}\n//# sourceMappingURL=rx-document.js.map","import { isBulkWriteConflictError, newRxError } from \"./rx-error.js\";\nimport { fillWithDefaultSettings, getComposedPrimaryKeyOfDocumentData } from \"./rx-schema-helper.js\";\nimport { getSingleDocument, writeSingle } from \"./rx-storage-helper.js\";\nimport { clone, ensureNotFalsy, getDefaultRevision, getDefaultRxDocumentMeta, randomCouchString } from \"./plugins/utils/index.js\";\nimport { prepareQuery } from \"./rx-query.js\";\nexport var INTERNAL_CONTEXT_COLLECTION = 'collection';\nexport var INTERNAL_CONTEXT_STORAGE_TOKEN = 'storage-token';\nexport var INTERNAL_CONTEXT_MIGRATION_STATUS = 'rx-migration-status';\n\n/**\n * Do not change the title,\n * we have to flag the internal schema so that\n * some RxStorage implementations are able\n * to detect if the created RxStorageInstance\n * is from the internals or not,\n * to do some optimizations in some cases.\n */\nexport var INTERNAL_STORE_SCHEMA_TITLE = 'RxInternalDocument';\nexport var INTERNAL_STORE_SCHEMA = fillWithDefaultSettings({\n version: 0,\n title: INTERNAL_STORE_SCHEMA_TITLE,\n primaryKey: {\n key: 'id',\n fields: ['context', 'key'],\n separator: '|'\n },\n type: 'object',\n properties: {\n id: {\n type: 'string',\n maxLength: 200\n },\n key: {\n type: 'string'\n },\n context: {\n type: 'string',\n enum: [INTERNAL_CONTEXT_COLLECTION, INTERNAL_CONTEXT_STORAGE_TOKEN, INTERNAL_CONTEXT_MIGRATION_STATUS, 'OTHER']\n },\n data: {\n type: 'object',\n additionalProperties: true\n }\n },\n indexes: [],\n required: ['key', 'context', 'data'],\n additionalProperties: false,\n /**\n * If the sharding plugin is used,\n * it must not shard on the internal RxStorageInstance\n * because that one anyway has only a small amount of documents\n * and also its creation is in the hot path of the initial page load,\n * so we should spend less time creating multiple RxStorageInstances.\n */\n sharding: {\n shards: 1,\n mode: 'collection'\n }\n});\nexport function getPrimaryKeyOfInternalDocument(key, context) {\n return getComposedPrimaryKeyOfDocumentData(INTERNAL_STORE_SCHEMA, {\n key,\n context\n });\n}\n\n/**\n * Returns all internal documents\n * with context 'collection'\n */\nexport async function getAllCollectionDocuments(storageInstance) {\n var getAllQueryPrepared = prepareQuery(storageInstance.schema, {\n selector: {\n context: INTERNAL_CONTEXT_COLLECTION,\n _deleted: {\n $eq: false\n }\n },\n sort: [{\n id: 'asc'\n }],\n skip: 0\n });\n var queryResult = await storageInstance.query(getAllQueryPrepared);\n var allDocs = queryResult.documents;\n return allDocs;\n}\n\n/**\n * to not confuse multiInstance-messages with other databases that have the same\n * name and adapter, but do not share state with this one (for example in-memory-instances),\n * we set a storage-token and use it in the broadcast-channel\n */\nexport var STORAGE_TOKEN_DOCUMENT_KEY = 'storageToken';\nexport var STORAGE_TOKEN_DOCUMENT_ID = getPrimaryKeyOfInternalDocument(STORAGE_TOKEN_DOCUMENT_KEY, INTERNAL_CONTEXT_STORAGE_TOKEN);\nexport async function ensureStorageTokenDocumentExists(rxDatabase) {\n /**\n * To have less read-write cycles,\n * we just try to insert a new document\n * and only fetch the existing one if a conflict happened.\n */\n var storageToken = randomCouchString(10);\n var passwordHash = rxDatabase.password ? await rxDatabase.hashFunction(JSON.stringify(rxDatabase.password)) : undefined;\n var docData = {\n id: STORAGE_TOKEN_DOCUMENT_ID,\n context: INTERNAL_CONTEXT_STORAGE_TOKEN,\n key: STORAGE_TOKEN_DOCUMENT_KEY,\n data: {\n rxdbVersion: rxDatabase.rxdbVersion,\n token: storageToken,\n /**\n * We add the instance token here\n * to be able to detect if a given RxDatabase instance\n * is the first instance that was ever created\n * or if databases have existed earlier on that storage\n * with the same database name.\n */\n instanceToken: rxDatabase.token,\n passwordHash\n },\n _deleted: false,\n _meta: getDefaultRxDocumentMeta(),\n _rev: getDefaultRevision(),\n _attachments: {}\n };\n var writeResult = await rxDatabase.internalStore.bulkWrite([{\n document: docData\n }], 'internal-add-storage-token');\n if (writeResult.success[0]) {\n return writeResult.success[0];\n }\n\n /**\n * If we get a 409 error,\n * it means another instance already inserted the storage token.\n * So we get that token from the database and return that one.\n */\n var error = ensureNotFalsy(writeResult.error[0]);\n if (error.isError && isBulkWriteConflictError(error)) {\n var conflictError = error;\n if (!isDatabaseStateVersionCompatibleWithDatabaseCode(conflictError.documentInDb.data.rxdbVersion, rxDatabase.rxdbVersion)) {\n throw newRxError('DM5', {\n args: {\n database: rxDatabase.name,\n databaseStateVersion: conflictError.documentInDb.data.rxdbVersion,\n codeVersion: rxDatabase.rxdbVersion\n }\n });\n }\n if (passwordHash && passwordHash !== conflictError.documentInDb.data.passwordHash) {\n throw newRxError('DB1', {\n passwordHash,\n existingPasswordHash: conflictError.documentInDb.data.passwordHash\n });\n }\n var storageTokenDocInDb = conflictError.documentInDb;\n return ensureNotFalsy(storageTokenDocInDb);\n }\n throw error;\n}\nexport function isDatabaseStateVersionCompatibleWithDatabaseCode(databaseStateVersion, codeVersion) {\n if (!databaseStateVersion) {\n return false;\n }\n if (codeVersion.includes('beta') && codeVersion !== databaseStateVersion) {\n return false;\n }\n var stateMajor = databaseStateVersion.split('.')[0];\n var codeMajor = codeVersion.split('.')[0];\n if (stateMajor !== codeMajor) {\n return false;\n }\n return true;\n}\nexport async function addConnectedStorageToCollection(collection, storageCollectionName, schema) {\n if (collection.schema.version !== schema.version) {\n throw newRxError('SNH', {\n schema,\n version: collection.schema.version,\n name: collection.name,\n collection,\n args: {\n storageCollectionName\n }\n });\n }\n var collectionNameWithVersion = _collectionNamePrimary(collection.name, collection.schema.jsonSchema);\n var collectionDocId = getPrimaryKeyOfInternalDocument(collectionNameWithVersion, INTERNAL_CONTEXT_COLLECTION);\n while (true) {\n var collectionDoc = await getSingleDocument(collection.database.internalStore, collectionDocId);\n var saveData = clone(ensureNotFalsy(collectionDoc));\n\n // do nothing if already in array\n var alreadyThere = saveData.data.connectedStorages.find(row => row.collectionName === storageCollectionName && row.schema.version === schema.version);\n if (alreadyThere) {\n return;\n }\n\n // otherwise add to array and save\n saveData.data.connectedStorages.push({\n collectionName: storageCollectionName,\n schema\n });\n try {\n await writeSingle(collection.database.internalStore, {\n previous: ensureNotFalsy(collectionDoc),\n document: saveData\n }, 'add-connected-storage-to-collection');\n } catch (err) {\n if (!isBulkWriteConflictError(err)) {\n throw err;\n }\n // retry on conflict\n }\n }\n}\n\n/**\n * returns the primary for a given collection-data\n * used in the internal store of a RxDatabase\n */\nexport function _collectionNamePrimary(name, schema) {\n return name + '-' + schema.version;\n}\n//# sourceMappingURL=rx-database-internal-store.js.map","import { createRevision, flatClone, getDefaultRevision, getDefaultRxDocumentMeta, now } from \"./plugins/utils/index.js\";\nimport { fillObjectWithDefaults, fillPrimaryKey } from \"./rx-schema-helper.js\";\nimport { runAsyncPluginHooks } from \"./hooks.js\";\nimport { getAllCollectionDocuments } from \"./rx-database-internal-store.js\";\nimport { flatCloneDocWithMeta } from \"./rx-storage-helper.js\";\nimport { overwritable } from \"./overwritable.js\";\n\n/**\n * fills in the default data.\n * This also clones the data.\n */\nexport function fillObjectDataBeforeInsert(schema, data) {\n data = flatClone(data);\n data = fillObjectWithDefaults(schema, data);\n data = fillPrimaryKey(schema.primaryPath, schema.jsonSchema, data);\n data._meta = getDefaultRxDocumentMeta();\n if (!Object.prototype.hasOwnProperty.call(data, '_deleted')) {\n data._deleted = false;\n }\n if (!Object.prototype.hasOwnProperty.call(data, '_attachments')) {\n data._attachments = {};\n }\n if (!Object.prototype.hasOwnProperty.call(data, '_rev')) {\n data._rev = getDefaultRevision();\n }\n return data;\n}\n\n/**\n * Creates the storage instances that are used internally in the collection\n */\nexport async function createRxCollectionStorageInstance(rxDatabase, storageInstanceCreationParams) {\n storageInstanceCreationParams.multiInstance = rxDatabase.multiInstance;\n var storageInstance = await rxDatabase.storage.createStorageInstance(storageInstanceCreationParams);\n return storageInstance;\n}\n\n/**\n * Removes the main storage of the collection\n * and all connected storages like the ones from the replication meta etc.\n */\nexport async function removeCollectionStorages(storage, databaseInternalStorage, databaseInstanceToken, databaseName, collectionName, password,\n/**\n * If no hash function is provided,\n * we assume that the whole internal store is removed anyway\n * so we do not have to delete the meta documents.\n */\nhashFunction) {\n var allCollectionMetaDocs = await getAllCollectionDocuments(databaseInternalStorage);\n var relevantCollectionMetaDocs = allCollectionMetaDocs.filter(metaDoc => metaDoc.data.name === collectionName);\n var removeStorages = [];\n relevantCollectionMetaDocs.forEach(metaDoc => {\n removeStorages.push({\n collectionName: metaDoc.data.name,\n schema: metaDoc.data.schema,\n isCollection: true\n });\n metaDoc.data.connectedStorages.forEach(row => removeStorages.push({\n collectionName: row.collectionName,\n isCollection: false,\n schema: row.schema\n }));\n });\n\n // ensure uniqueness\n var alreadyAdded = new Set();\n removeStorages = removeStorages.filter(row => {\n var key = row.collectionName + '||' + row.schema.version;\n if (alreadyAdded.has(key)) {\n return false;\n } else {\n alreadyAdded.add(key);\n return true;\n }\n });\n\n // remove all the storages\n await Promise.all(removeStorages.map(async row => {\n var storageInstance = await storage.createStorageInstance({\n collectionName: row.collectionName,\n databaseInstanceToken,\n databaseName,\n multiInstance: false,\n options: {},\n schema: row.schema,\n password,\n devMode: overwritable.isDevMode()\n });\n await storageInstance.remove();\n if (row.isCollection) {\n await runAsyncPluginHooks('postRemoveRxCollection', {\n storage,\n databaseName: databaseName,\n collectionName\n });\n }\n }));\n\n // remove the meta documents\n if (hashFunction) {\n var writeRows = relevantCollectionMetaDocs.map(doc => {\n var writeDoc = flatCloneDocWithMeta(doc);\n writeDoc._deleted = true;\n writeDoc._meta.lwt = now();\n writeDoc._rev = createRevision(databaseInstanceToken, doc);\n return {\n previous: doc,\n document: writeDoc\n };\n });\n await databaseInternalStorage.bulkWrite(writeRows, 'rx-database-remove-collection-all');\n }\n}\n//# sourceMappingURL=rx-collection-helper.js.map","/**\n * a buffer-cache which holds the last X changeEvents of the collection\n */\n\nimport { filter } from 'rxjs/operators';\nexport var ChangeEventBuffer = /*#__PURE__*/function () {\n /**\n * array with changeEvents\n * starts with oldest known event, ends with newest\n */\n\n function ChangeEventBuffer(collection) {\n this.subs = [];\n this.limit = 100;\n this.counter = 0;\n this.eventCounterMap = new WeakMap();\n this.buffer = [];\n this.collection = collection;\n this.subs.push(this.collection.$.pipe(filter(cE => !cE.isLocal)).subscribe(cE => this._handleChangeEvent(cE)));\n }\n var _proto = ChangeEventBuffer.prototype;\n _proto._handleChangeEvent = function _handleChangeEvent(changeEvent) {\n this.counter++;\n this.buffer.push(changeEvent);\n this.eventCounterMap.set(changeEvent, this.counter);\n while (this.buffer.length > this.limit) {\n this.buffer.shift();\n }\n }\n\n /**\n * gets the array-index for the given pointer\n * @return arrayIndex which can be used to iterate from there. If null, pointer is out of lower bound\n */;\n _proto.getArrayIndexByPointer = function getArrayIndexByPointer(pointer) {\n var oldestEvent = this.buffer[0];\n var oldestCounter = this.eventCounterMap.get(oldestEvent);\n if (pointer < oldestCounter) return null; // out of bounds\n\n var rest = pointer - oldestCounter;\n return rest;\n }\n\n /**\n * get all changeEvents which came in later than the pointer-event\n * @return array with change-events. If null, pointer out of bounds\n */;\n _proto.getFrom = function getFrom(pointer) {\n var ret = [];\n var currentIndex = this.getArrayIndexByPointer(pointer);\n if (currentIndex === null)\n // out of bounds\n return null;\n while (true) {\n var nextEvent = this.buffer[currentIndex];\n currentIndex++;\n if (!nextEvent) {\n return ret;\n } else {\n ret.push(nextEvent);\n }\n }\n };\n _proto.runFrom = function runFrom(pointer, fn) {\n var ret = this.getFrom(pointer);\n if (ret === null) {\n throw new Error('out of bounds');\n } else {\n ret.forEach(cE => fn(cE));\n }\n }\n\n /**\n * no matter how many operations are done on one document,\n * only the last operation has to be checked to calculate the new state\n * this function reduces the events to the last ChangeEvent of each doc\n */;\n _proto.reduceByLastOfDoc = function reduceByLastOfDoc(changeEvents) {\n return changeEvents.slice(0);\n // TODO the old implementation was wrong\n // because it did not correctly reassigned the previousData of the changeevents\n // this should be added to the event-reduce library and not be done in RxDB\n var docEventMap = {};\n changeEvents.forEach(changeEvent => {\n docEventMap[changeEvent.documentId] = changeEvent;\n });\n return Object.values(docEventMap);\n };\n _proto.destroy = function destroy() {\n this.subs.forEach(sub => sub.unsubscribe());\n };\n return ChangeEventBuffer;\n}();\nexport function createChangeEventBuffer(collection) {\n return new ChangeEventBuffer(collection);\n}\n//# sourceMappingURL=change-event-buffer.js.map","/**\n * For the ORM capabilities,\n * we have to merge the document prototype\n * with the ORM functions and the data\n * We do this iterating over the properties and\n * adding them to a new object.\n * In the future we should do this by chaining the __proto__ objects\n */\n\nimport { createRxDocumentConstructor, basePrototype, createWithConstructor as createRxDocumentWithConstructor } from \"./rx-document.js\";\nimport { runPluginHooks } from \"./hooks.js\";\nimport { overwritable } from \"./overwritable.js\";\nimport { getFromMapOrCreate } from \"./plugins/utils/index.js\";\nvar constructorForCollection = new WeakMap();\nexport function getDocumentPrototype(rxCollection) {\n var schemaProto = rxCollection.schema.getDocumentPrototype();\n var ormProto = getDocumentOrmPrototype(rxCollection);\n var baseProto = basePrototype;\n var proto = {};\n [schemaProto, ormProto, baseProto].forEach(obj => {\n var props = Object.getOwnPropertyNames(obj);\n props.forEach(key => {\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n\n /**\n * When enumerable is true, it will show on console dir(instance)\n * To not pollute the output, only getters and methods are enumerable\n */\n var enumerable = true;\n if (key.startsWith('_') || key.endsWith('_') || key.startsWith('$') || key.endsWith('$')) enumerable = false;\n if (typeof desc.value === 'function') {\n // when getting a function, we automatically do a .bind(this)\n Object.defineProperty(proto, key, {\n get() {\n return desc.value.bind(this);\n },\n enumerable,\n configurable: false\n });\n } else {\n desc.enumerable = enumerable;\n desc.configurable = false;\n if (desc.writable) desc.writable = false;\n Object.defineProperty(proto, key, desc);\n }\n });\n });\n return proto;\n}\nexport function getRxDocumentConstructor(rxCollection) {\n return getFromMapOrCreate(constructorForCollection, rxCollection, () => createRxDocumentConstructor(getDocumentPrototype(rxCollection)));\n}\n\n/**\n * Create a RxDocument-instance from the jsonData\n * and the prototype merge.\n * You should never call this method directly,\n * instead you should get the document from collection._docCache.getCachedRxDocument().\n */\nexport function createNewRxDocument(rxCollection, docData) {\n var doc = createRxDocumentWithConstructor(getRxDocumentConstructor(rxCollection), rxCollection, overwritable.deepFreezeWhenDevMode(docData));\n rxCollection._runHooksSync('post', 'create', docData, doc);\n runPluginHooks('postCreateRxDocument', doc);\n return doc;\n}\n\n/**\n * returns the prototype-object\n * that contains the orm-methods,\n * used in the proto-merge\n */\nexport function getDocumentOrmPrototype(rxCollection) {\n var proto = {};\n Object.entries(rxCollection.methods).forEach(([k, v]) => {\n proto[k] = v;\n });\n return proto;\n}\n//# sourceMappingURL=rx-document-prototype-merge.js.map","import { getComposedPrimaryKeyOfDocumentData } from \"../rx-schema-helper.js\";\nimport { stackCheckpoints } from \"../rx-storage-helper.js\";\nimport { createRevision, ensureNotFalsy, getDefaultRevision, getDefaultRxDocumentMeta, now } from \"../plugins/utils/index.js\";\nexport async function getLastCheckpointDoc(state, direction) {\n var checkpointDocId = getComposedPrimaryKeyOfDocumentData(state.input.metaInstance.schema, {\n isCheckpoint: '1',\n itemId: direction\n });\n var checkpointResult = await state.input.metaInstance.findDocumentsById([checkpointDocId], false);\n var checkpointDoc = checkpointResult[0];\n state.lastCheckpointDoc[direction] = checkpointDoc;\n if (checkpointDoc) {\n return checkpointDoc.checkpointData;\n } else {\n return undefined;\n }\n}\n\n/**\n * Sets the checkpoint,\n * automatically resolves conflicts that appear.\n */\nexport async function setCheckpoint(state, direction, checkpoint) {\n state.checkpointQueue = state.checkpointQueue.then(async () => {\n var previousCheckpointDoc = state.lastCheckpointDoc[direction];\n if (checkpoint &&\n /**\n * If the replication is already canceled,\n * we do not write a checkpoint\n * because that could mean we write a checkpoint\n * for data that has been fetched from the master\n * but not been written to the child.\n */\n !state.events.canceled.getValue() && (\n /**\n * Only write checkpoint if it is different from before\n * to have less writes to the storage.\n */\n\n !previousCheckpointDoc || JSON.stringify(previousCheckpointDoc.checkpointData) !== JSON.stringify(checkpoint))) {\n var newDoc = {\n id: '',\n isCheckpoint: '1',\n itemId: direction,\n _deleted: false,\n _attachments: {},\n checkpointData: checkpoint,\n _meta: getDefaultRxDocumentMeta(),\n _rev: getDefaultRevision()\n };\n newDoc.id = getComposedPrimaryKeyOfDocumentData(state.input.metaInstance.schema, newDoc);\n while (!state.events.canceled.getValue()) {\n /**\n * Instead of just storing the new checkpoint,\n * we have to stack up the checkpoint with the previous one.\n * This is required for plugins like the sharding RxStorage\n * where the changeStream events only contain a Partial of the\n * checkpoint.\n */\n if (previousCheckpointDoc) {\n newDoc.checkpointData = stackCheckpoints([previousCheckpointDoc.checkpointData, newDoc.checkpointData]);\n }\n newDoc._meta.lwt = now();\n newDoc._rev = createRevision(await state.checkpointKey, previousCheckpointDoc);\n if (state.events.canceled.getValue()) {\n return;\n }\n var result = await state.input.metaInstance.bulkWrite([{\n previous: previousCheckpointDoc,\n document: newDoc\n }], 'replication-set-checkpoint');\n var sucessDoc = result.success[0];\n if (sucessDoc) {\n state.lastCheckpointDoc[direction] = sucessDoc;\n return;\n } else {\n var error = result.error[0];\n if (error.status !== 409) {\n throw error;\n } else {\n previousCheckpointDoc = ensureNotFalsy(error.documentInDb);\n newDoc._rev = createRevision(await state.checkpointKey, previousCheckpointDoc);\n }\n }\n }\n }\n });\n await state.checkpointQueue;\n}\nexport async function getCheckpointKey(input) {\n var hash = await input.hashFunction([input.identifier, input.forkInstance.databaseName, input.forkInstance.collectionName].join('||'));\n return 'rx_storage_replication_' + hash;\n}\n//# sourceMappingURL=checkpoint.js.map","import { clone, createRevision, flatClone, getDefaultRevision, now } from \"../plugins/utils/index.js\";\nimport { stripAttachmentsDataFromDocument } from \"../rx-storage-helper.js\";\nexport function docStateToWriteDoc(databaseInstanceToken, hasAttachments, keepMeta, docState, previous) {\n var docData = Object.assign({}, docState, {\n _attachments: hasAttachments && docState._attachments ? docState._attachments : {},\n _meta: keepMeta ? docState._meta : {\n lwt: now()\n },\n _rev: keepMeta ? docState._rev : getDefaultRevision()\n });\n if (!docData._rev) {\n docData._rev = createRevision(databaseInstanceToken, previous);\n }\n return docData;\n}\nexport function writeDocToDocState(writeDoc, keepAttachments, keepMeta) {\n var ret = flatClone(writeDoc);\n if (!keepAttachments) {\n delete ret._attachments;\n }\n if (!keepMeta) {\n delete ret._meta;\n delete ret._rev;\n }\n return ret;\n}\nexport function stripAttachmentsDataFromMetaWriteRows(state, rows) {\n if (!state.hasAttachments) {\n return rows;\n }\n return rows.map(row => {\n var document = clone(row.document);\n document.docData = stripAttachmentsDataFromDocument(document.docData);\n return {\n document,\n previous: row.previous\n };\n });\n}\nexport function getUnderlyingPersistentStorage(instance) {\n while (true) {\n if (instance.underlyingPersistentStorage) {\n instance = instance.underlyingPersistentStorage;\n } else {\n return instance;\n }\n }\n}\n//# sourceMappingURL=helper.js.map","import { fillWithDefaultSettings, getComposedPrimaryKeyOfDocumentData, getLengthOfPrimaryKey } from \"../rx-schema-helper.js\";\nimport { flatCloneDocWithMeta } from \"../rx-storage-helper.js\";\nimport { getDefaultRevision, createRevision, now } from \"../plugins/utils/index.js\";\nexport var META_INSTANCE_SCHEMA_TITLE = 'RxReplicationProtocolMetaData';\nexport function getRxReplicationMetaInstanceSchema(replicatedDocumentsSchema, encrypted) {\n var parentPrimaryKeyLength = getLengthOfPrimaryKey(replicatedDocumentsSchema);\n var baseSchema = {\n title: META_INSTANCE_SCHEMA_TITLE,\n primaryKey: {\n key: 'id',\n fields: ['itemId', 'isCheckpoint'],\n separator: '|'\n },\n type: 'object',\n version: replicatedDocumentsSchema.version,\n additionalProperties: false,\n properties: {\n id: {\n type: 'string',\n minLength: 1,\n // add +1 for the '|' and +1 for the 'isCheckpoint' flag\n maxLength: parentPrimaryKeyLength + 2\n },\n isCheckpoint: {\n type: 'string',\n enum: ['0', '1'],\n minLength: 1,\n maxLength: 1\n },\n itemId: {\n type: 'string',\n /**\n * ensure that all values of RxStorageReplicationDirection ('DOWN' has 4 chars) fit into it\n * because checkpoints use the itemId field for that.\n */\n maxLength: parentPrimaryKeyLength > 4 ? parentPrimaryKeyLength : 4\n },\n checkpointData: {\n type: 'object',\n additionalProperties: true\n },\n docData: {\n type: 'object',\n properties: replicatedDocumentsSchema.properties\n },\n isResolvedConflict: {\n type: 'string'\n }\n },\n keyCompression: replicatedDocumentsSchema.keyCompression,\n required: ['id', 'isCheckpoint', 'itemId']\n };\n if (encrypted) {\n baseSchema.encrypted = ['docData'];\n }\n var metaInstanceSchema = fillWithDefaultSettings(baseSchema);\n return metaInstanceSchema;\n}\n\n/**\n * Returns the document states of what the fork instance\n * assumes to be the latest state on the master instance.\n */\nexport function getAssumedMasterState(state, docIds) {\n return state.input.metaInstance.findDocumentsById(docIds.map(docId => {\n var useId = getComposedPrimaryKeyOfDocumentData(state.input.metaInstance.schema, {\n itemId: docId,\n isCheckpoint: '0'\n });\n return useId;\n }), true).then(metaDocs => {\n var ret = {};\n Object.values(metaDocs).forEach(metaDoc => {\n ret[metaDoc.itemId] = {\n docData: metaDoc.docData,\n metaDocument: metaDoc\n };\n });\n return ret;\n });\n}\nexport async function getMetaWriteRow(state, newMasterDocState, previous, isResolvedConflict) {\n var docId = newMasterDocState[state.primaryPath];\n var newMeta = previous ? flatCloneDocWithMeta(previous) : {\n id: '',\n isCheckpoint: '0',\n itemId: docId,\n docData: newMasterDocState,\n _attachments: {},\n _deleted: false,\n _rev: getDefaultRevision(),\n _meta: {\n lwt: 0\n }\n };\n newMeta.docData = newMasterDocState;\n\n /**\n * Sending isResolvedConflict with the value undefined\n * will throw a schema validation error because it must be either\n * not set or have a string.\n */\n if (isResolvedConflict) {\n newMeta.isResolvedConflict = isResolvedConflict;\n }\n newMeta._meta.lwt = now();\n newMeta.id = getComposedPrimaryKeyOfDocumentData(state.input.metaInstance.schema, newMeta);\n newMeta._rev = createRevision(await state.checkpointKey, previous);\n var ret = {\n previous,\n document: newMeta\n };\n return ret;\n}\n//# sourceMappingURL=meta-instance.js.map","import { firstValueFrom, filter, mergeMap } from 'rxjs';\nimport { newRxError } from \"../rx-error.js\";\nimport { stackCheckpoints } from \"../rx-storage-helper.js\";\nimport { appendToArray, createRevision, ensureNotFalsy, flatClone, getDefaultRevision, now, parseRevision, PROMISE_RESOLVE_VOID } from \"../plugins/utils/index.js\";\nimport { getLastCheckpointDoc, setCheckpoint } from \"./checkpoint.js\";\nimport { stripAttachmentsDataFromMetaWriteRows, writeDocToDocState } from \"./helper.js\";\nimport { getAssumedMasterState, getMetaWriteRow } from \"./meta-instance.js\";\n\n/**\n * Writes all documents from the master to the fork.\n * The downstream has two operation modes\n * - Sync by iterating over the checkpoints via downstreamResyncOnce()\n * - Sync by listening to the changestream via downstreamProcessChanges()\n * We need this to be able to do initial syncs\n * and still can have fast event based sync when the client is not offline.\n */\nexport async function startReplicationDownstream(state) {\n if (state.input.initialCheckpoint && state.input.initialCheckpoint.downstream) {\n var checkpointDoc = await getLastCheckpointDoc(state, 'down');\n if (!checkpointDoc) {\n await setCheckpoint(state, 'down', state.input.initialCheckpoint.downstream);\n }\n }\n var identifierHash = await state.input.hashFunction(state.input.identifier);\n var replicationHandler = state.input.replicationHandler;\n\n // used to detect which tasks etc can in it at which order.\n var timer = 0;\n var openTasks = [];\n function addNewTask(task) {\n state.stats.down.addNewTask = state.stats.down.addNewTask + 1;\n var taskWithTime = {\n time: timer++,\n task\n };\n openTasks.push(taskWithTime);\n state.streamQueue.down = state.streamQueue.down.then(() => {\n var useTasks = [];\n while (openTasks.length > 0) {\n state.events.active.down.next(true);\n var innerTaskWithTime = ensureNotFalsy(openTasks.shift());\n\n /**\n * If the task came in before the last time we started the pull\n * from the master, then we can drop the task.\n */\n if (innerTaskWithTime.time < lastTimeMasterChangesRequested) {\n continue;\n }\n if (innerTaskWithTime.task === 'RESYNC') {\n if (useTasks.length === 0) {\n useTasks.push(innerTaskWithTime.task);\n break;\n } else {\n break;\n }\n }\n useTasks.push(innerTaskWithTime.task);\n }\n if (useTasks.length === 0) return;\n if (useTasks[0] === 'RESYNC') {\n return downstreamResyncOnce();\n } else {\n return downstreamProcessChanges(useTasks);\n }\n }).then(() => {\n state.events.active.down.next(false);\n if (!state.firstSyncDone.down.getValue() && !state.events.canceled.getValue()) {\n state.firstSyncDone.down.next(true);\n }\n });\n }\n addNewTask('RESYNC');\n\n /**\n * If a write on the master happens, we have to trigger the downstream.\n * Only do this if not canceled yet, otherwise firstValueFrom errors\n * when running on a completed observable.\n */\n if (!state.events.canceled.getValue()) {\n var sub = replicationHandler.masterChangeStream$.pipe(mergeMap(async ev => {\n /**\n * While a push is running, we have to delay all incoming\n * events from the server to not mix up the replication state.\n */\n await firstValueFrom(state.events.active.up.pipe(filter(s => !s)));\n return ev;\n })).subscribe(task => {\n state.stats.down.masterChangeStreamEmit = state.stats.down.masterChangeStreamEmit + 1;\n addNewTask(task);\n });\n firstValueFrom(state.events.canceled.pipe(filter(canceled => !!canceled))).then(() => sub.unsubscribe());\n }\n\n /**\n * For faster performance, we directly start each write\n * and then await all writes at the end.\n */\n var lastTimeMasterChangesRequested = -1;\n async function downstreamResyncOnce() {\n state.stats.down.downstreamResyncOnce = state.stats.down.downstreamResyncOnce + 1;\n if (state.events.canceled.getValue()) {\n return;\n }\n state.checkpointQueue = state.checkpointQueue.then(() => getLastCheckpointDoc(state, 'down'));\n var lastCheckpoint = await state.checkpointQueue;\n var promises = [];\n while (!state.events.canceled.getValue()) {\n lastTimeMasterChangesRequested = timer++;\n var downResult = await replicationHandler.masterChangesSince(lastCheckpoint, state.input.pullBatchSize);\n if (downResult.documents.length === 0) {\n break;\n }\n lastCheckpoint = stackCheckpoints([lastCheckpoint, downResult.checkpoint]);\n promises.push(persistFromMaster(downResult.documents, lastCheckpoint));\n\n /**\n * By definition we stop pull when the pulled documents\n * do not fill up the pullBatchSize because we\n * can assume that the remote has no more documents.\n */\n if (downResult.documents.length < state.input.pullBatchSize) {\n break;\n }\n }\n await Promise.all(promises);\n }\n function downstreamProcessChanges(tasks) {\n state.stats.down.downstreamProcessChanges = state.stats.down.downstreamProcessChanges + 1;\n var docsOfAllTasks = [];\n var lastCheckpoint = null;\n tasks.forEach(task => {\n if (task === 'RESYNC') {\n throw new Error('SNH');\n }\n appendToArray(docsOfAllTasks, task.documents);\n lastCheckpoint = stackCheckpoints([lastCheckpoint, task.checkpoint]);\n });\n return persistFromMaster(docsOfAllTasks, ensureNotFalsy(lastCheckpoint));\n }\n\n /**\n * It can happen that the calls to masterChangesSince() or the changeStream()\n * are way faster then how fast the documents can be persisted.\n * Therefore we merge all incoming downResults into the nonPersistedFromMaster object\n * and process them together if possible.\n * This often bundles up single writes and improves performance\n * by processing the documents in bulks.\n */\n var persistenceQueue = PROMISE_RESOLVE_VOID;\n var nonPersistedFromMaster = {\n docs: {}\n };\n function persistFromMaster(docs, checkpoint) {\n var primaryPath = state.primaryPath;\n state.stats.down.persistFromMaster = state.stats.down.persistFromMaster + 1;\n\n /**\n * Add the new docs to the non-persistent list\n */\n docs.forEach(docData => {\n var docId = docData[primaryPath];\n nonPersistedFromMaster.docs[docId] = docData;\n });\n nonPersistedFromMaster.checkpoint = checkpoint;\n\n /**\n * Run in the queue\n * with all open documents from nonPersistedFromMaster.\n */\n persistenceQueue = persistenceQueue.then(() => {\n var downDocsById = nonPersistedFromMaster.docs;\n nonPersistedFromMaster.docs = {};\n var useCheckpoint = nonPersistedFromMaster.checkpoint;\n var docIds = Object.keys(downDocsById);\n if (state.events.canceled.getValue() || docIds.length === 0) {\n return PROMISE_RESOLVE_VOID;\n }\n var writeRowsToFork = [];\n var writeRowsToForkById = {};\n var writeRowsToMeta = {};\n var useMetaWriteRows = [];\n return Promise.all([state.input.forkInstance.findDocumentsById(docIds, true), getAssumedMasterState(state, docIds)]).then(([currentForkStateList, assumedMasterState]) => {\n var currentForkState = new Map();\n currentForkStateList.forEach(doc => currentForkState.set(doc[primaryPath], doc));\n return Promise.all(docIds.map(async docId => {\n var forkStateFullDoc = currentForkState.get(docId);\n var forkStateDocData = forkStateFullDoc ? writeDocToDocState(forkStateFullDoc, state.hasAttachments, false) : undefined;\n var masterState = downDocsById[docId];\n var assumedMaster = assumedMasterState[docId];\n if (assumedMaster && forkStateFullDoc && assumedMaster.metaDocument.isResolvedConflict === forkStateFullDoc._rev) {\n /**\n * The current fork state represents a resolved conflict\n * that first must be send to the master in the upstream.\n * All conflicts are resolved by the upstream.\n */\n return PROMISE_RESOLVE_VOID;\n }\n var isAssumedMasterEqualToForkState = !assumedMaster || !forkStateDocData ? false : await state.input.conflictHandler({\n realMasterState: assumedMaster.docData,\n newDocumentState: forkStateDocData\n }, 'downstream-check-if-equal-0').then(r => r.isEqual);\n if (!isAssumedMasterEqualToForkState && assumedMaster && assumedMaster.docData._rev && forkStateFullDoc && forkStateFullDoc._meta[state.input.identifier] && parseRevision(forkStateFullDoc._rev).height === forkStateFullDoc._meta[state.input.identifier]) {\n isAssumedMasterEqualToForkState = true;\n }\n if (forkStateFullDoc && assumedMaster && isAssumedMasterEqualToForkState === false || forkStateFullDoc && !assumedMaster) {\n /**\n * We have a non-upstream-replicated\n * local write to the fork.\n * This means we ignore the downstream of this document\n * because anyway the upstream will first resolve the conflict.\n */\n return PROMISE_RESOLVE_VOID;\n }\n var areStatesExactlyEqual = !forkStateDocData ? false : await state.input.conflictHandler({\n realMasterState: masterState,\n newDocumentState: forkStateDocData\n }, 'downstream-check-if-equal-1').then(r => r.isEqual);\n if (forkStateDocData && areStatesExactlyEqual) {\n /**\n * Document states are exactly equal.\n * This can happen when the replication is shut down\n * unexpected like when the user goes offline.\n *\n * Only when the assumedMaster is different from the forkState,\n * we have to patch the document in the meta instance.\n */\n if (!assumedMaster || isAssumedMasterEqualToForkState === false) {\n useMetaWriteRows.push(await getMetaWriteRow(state, forkStateDocData, assumedMaster ? assumedMaster.metaDocument : undefined));\n }\n return PROMISE_RESOLVE_VOID;\n }\n\n /**\n * All other master states need to be written to the forkInstance\n * and metaInstance.\n */\n var newForkState = Object.assign({}, masterState, forkStateFullDoc ? {\n _meta: flatClone(forkStateFullDoc._meta),\n _attachments: state.hasAttachments && masterState._attachments ? masterState._attachments : {},\n _rev: getDefaultRevision()\n } : {\n _meta: {\n lwt: now()\n },\n _rev: getDefaultRevision(),\n _attachments: state.hasAttachments && masterState._attachments ? masterState._attachments : {}\n });\n /**\n * If the remote works with revisions,\n * we store the height of the next fork-state revision\n * inside of the documents meta data.\n * By doing so we can filter it out in the upstream\n * and detect the document as being equal to master or not.\n * This is used for example in the CouchDB replication plugin.\n */\n if (masterState._rev) {\n var nextRevisionHeight = !forkStateFullDoc ? 1 : parseRevision(forkStateFullDoc._rev).height + 1;\n newForkState._meta[state.input.identifier] = nextRevisionHeight;\n if (state.input.keepMeta) {\n newForkState._rev = masterState._rev;\n }\n }\n if (state.input.keepMeta && masterState._meta) {\n newForkState._meta = masterState._meta;\n }\n var forkWriteRow = {\n previous: forkStateFullDoc,\n document: newForkState\n };\n forkWriteRow.document._rev = forkWriteRow.document._rev ? forkWriteRow.document._rev : createRevision(identifierHash, forkWriteRow.previous);\n writeRowsToFork.push(forkWriteRow);\n writeRowsToForkById[docId] = forkWriteRow;\n writeRowsToMeta[docId] = await getMetaWriteRow(state, masterState, assumedMaster ? assumedMaster.metaDocument : undefined);\n }));\n }).then(async () => {\n if (writeRowsToFork.length > 0) {\n return state.input.forkInstance.bulkWrite(writeRowsToFork, await state.downstreamBulkWriteFlag).then(forkWriteResult => {\n forkWriteResult.success.forEach(doc => {\n var docId = doc[primaryPath];\n state.events.processed.down.next(writeRowsToForkById[docId]);\n useMetaWriteRows.push(writeRowsToMeta[docId]);\n });\n forkWriteResult.error.forEach(error => {\n /**\n * We do not have to care about downstream conflict errors here\n * because on conflict, it will be solved locally and result in another write.\n */\n if (error.status === 409) {\n return;\n }\n // other non-conflict errors must be handled\n state.events.error.next(newRxError('RC_PULL', {\n writeError: error\n }));\n });\n });\n }\n }).then(() => {\n if (useMetaWriteRows.length > 0) {\n return state.input.metaInstance.bulkWrite(stripAttachmentsDataFromMetaWriteRows(state, useMetaWriteRows), 'replication-down-write-meta').then(metaWriteResult => {\n metaWriteResult.error.forEach(writeError => {\n state.events.error.next(newRxError('RC_PULL', {\n id: writeError.documentId,\n writeError\n }));\n });\n });\n }\n }).then(() => {\n /**\n * For better performance we do not await checkpoint writes,\n * but to ensure order on parallel checkpoint writes,\n * we have to use a queue.\n */\n setCheckpoint(state, 'down', useCheckpoint);\n });\n }).catch(unhandledError => state.events.error.next(unhandledError));\n return persistenceQueue;\n }\n}\n//# sourceMappingURL=downstream.js.map","import { getDefaultRevision, createRevision, now, flatClone, deepEqual } from \"../plugins/utils/index.js\";\nimport { stripAttachmentsDataFromDocument } from \"../rx-storage-helper.js\";\nexport var defaultConflictHandler = function (i, _context) {\n var newDocumentState = stripAttachmentsDataFromDocument(i.newDocumentState);\n var realMasterState = stripAttachmentsDataFromDocument(i.realMasterState);\n\n /**\n * If the documents are deep equal,\n * we have no conflict.\n * On your custom conflict handler you might only\n * check some properties, like the updatedAt time,\n * for better performance, because deepEqual is expensive.\n */\n if (deepEqual(newDocumentState, realMasterState)) {\n return Promise.resolve({\n isEqual: true\n });\n }\n\n /**\n * The default conflict handler will always\n * drop the fork state and use the master state instead.\n */\n return Promise.resolve({\n isEqual: false,\n documentData: i.realMasterState\n });\n};\n\n/**\n * Resolves a conflict error or determines that the given document states are equal.\n * Returns the resolved document that must be written to the fork.\n * Then the new document state can be pushed upstream.\n * If document is not in conflict, returns undefined.\n * If error is non-409, it throws an error.\n * Conflicts are only solved in the upstream, never in the downstream.\n */\nexport async function resolveConflictError(state, input, forkState) {\n var conflictHandler = state.input.conflictHandler;\n var conflictHandlerOutput = await conflictHandler(input, 'replication-resolve-conflict');\n if (conflictHandlerOutput.isEqual) {\n /**\n * Documents are equal,\n * so this is not a conflict -> do nothing.\n */\n return undefined;\n } else {\n /**\n * We have a resolved conflict,\n * use the resolved document data.\n */\n var resolvedDoc = Object.assign({}, conflictHandlerOutput.documentData, {\n /**\n * Because the resolved conflict is written to the fork,\n * we have to keep/update the forks _meta data, not the masters.\n */\n _meta: flatClone(forkState._meta),\n _rev: getDefaultRevision(),\n _attachments: flatClone(forkState._attachments)\n });\n resolvedDoc._meta.lwt = now();\n resolvedDoc._rev = createRevision(await state.checkpointKey, forkState);\n return {\n resolvedDoc,\n output: conflictHandlerOutput\n };\n }\n}\n//# sourceMappingURL=conflicts.js.map","import { newRxError } from \"../../rx-error.js\";\nimport { ensureNotFalsy } from \"../utils/index.js\";\nexport function ensureSchemaSupportsAttachments(doc) {\n var schemaJson = doc.collection.schema.jsonSchema;\n if (!schemaJson.attachments) {\n throw newRxError('AT1', {\n link: 'https://pubkey.github.io/rxdb/rx-attachment.html'\n });\n }\n}\nexport function assignMethodsToAttachment(attachment) {\n Object.entries(attachment.doc.collection.attachments).forEach(([funName, fun]) => {\n Object.defineProperty(attachment, funName, {\n get: () => fun.bind(attachment)\n });\n });\n}\n\n/**\n * Fill up the missing attachment.data of the newDocument\n * so that the new document can be send to somewhere else\n * which could then receive all required attachments data\n * that it did not have before.\n */\nexport async function fillWriteDataForAttachmentsChange(primaryPath, storageInstance, newDocument, originalDocument) {\n if (!newDocument._attachments || originalDocument && !originalDocument._attachments) {\n throw new Error('_attachments missing');\n }\n var docId = newDocument[primaryPath];\n var originalAttachmentsIds = new Set(originalDocument && originalDocument._attachments ? Object.keys(originalDocument._attachments) : []);\n await Promise.all(Object.entries(newDocument._attachments).map(async ([key, value]) => {\n if ((!originalAttachmentsIds.has(key) || originalDocument && ensureNotFalsy(originalDocument._attachments)[key].digest !== value.digest) && !value.data) {\n var attachmentDataString = await storageInstance.getAttachmentData(docId, key, value.digest);\n value.data = attachmentDataString;\n }\n }));\n return newDocument;\n}\n//# sourceMappingURL=attachments-utils.js.map","import { firstValueFrom, filter } from 'rxjs';\nimport { getChangedDocumentsSince, stackCheckpoints } from \"../rx-storage-helper.js\";\nimport { appendToArray, batchArray, clone, ensureNotFalsy, parseRevision, PROMISE_RESOLVE_FALSE } from \"../plugins/utils/index.js\";\nimport { getLastCheckpointDoc, setCheckpoint } from \"./checkpoint.js\";\nimport { resolveConflictError } from \"./conflicts.js\";\nimport { stripAttachmentsDataFromMetaWriteRows, writeDocToDocState } from \"./helper.js\";\nimport { getAssumedMasterState, getMetaWriteRow } from \"./meta-instance.js\";\nimport { fillWriteDataForAttachmentsChange } from \"../plugins/attachments/index.js\";\n\n/**\n * Writes all document changes from the fork to the master.\n * The upstream runs on two modes:\n * - For initial replication, a checkpoint-iteration is used\n * - For ongoing local writes, we just subscribe to the changeStream of the fork.\n * In contrast to the master, the fork can be assumed to never loose connection,\n * so we do not have to prepare for missed out events.\n */\nexport async function startReplicationUpstream(state) {\n if (state.input.initialCheckpoint && state.input.initialCheckpoint.upstream) {\n var checkpointDoc = await getLastCheckpointDoc(state, 'up');\n if (!checkpointDoc) {\n await setCheckpoint(state, 'up', state.input.initialCheckpoint.upstream);\n }\n }\n var replicationHandler = state.input.replicationHandler;\n state.streamQueue.up = state.streamQueue.up.then(() => {\n return upstreamInitialSync().then(() => {\n processTasks();\n });\n });\n\n // used to detect which tasks etc can in it at which order.\n var timer = 0;\n var initialSyncStartTime = -1;\n var openTasks = [];\n var persistenceQueue = PROMISE_RESOLVE_FALSE;\n var nonPersistedFromMaster = {\n docs: {}\n };\n var sub = state.input.forkInstance.changeStream().subscribe(async eventBulk => {\n // ignore writes that came from the downstream\n if (eventBulk.context === (await state.downstreamBulkWriteFlag)) {\n return;\n }\n state.stats.up.forkChangeStreamEmit = state.stats.up.forkChangeStreamEmit + 1;\n openTasks.push({\n task: eventBulk,\n time: timer++\n });\n if (!state.events.active.up.getValue()) {\n state.events.active.up.next(true);\n }\n if (state.input.waitBeforePersist) {\n return state.input.waitBeforePersist().then(() => processTasks());\n } else {\n return processTasks();\n }\n });\n firstValueFrom(state.events.canceled.pipe(filter(canceled => !!canceled))).then(() => sub.unsubscribe());\n async function upstreamInitialSync() {\n state.stats.up.upstreamInitialSync = state.stats.up.upstreamInitialSync + 1;\n if (state.events.canceled.getValue()) {\n return;\n }\n state.checkpointQueue = state.checkpointQueue.then(() => getLastCheckpointDoc(state, 'up'));\n var lastCheckpoint = await state.checkpointQueue;\n var promises = new Set();\n var _loop = async function () {\n initialSyncStartTime = timer++;\n\n /**\n * Throttle the calls to\n * forkInstance.getChangedDocumentsSince() so that\n * if the pushing to the remote is slower compared to the\n * pulling out of forkInstance, we do not block the UI too much\n * and have a big memory spike with all forkInstance documents.\n */\n if (promises.size > 3) {\n await Promise.race(Array.from(promises));\n }\n var upResult = await getChangedDocumentsSince(state.input.forkInstance, state.input.pushBatchSize, lastCheckpoint);\n if (upResult.documents.length === 0) {\n return 1; // break\n }\n lastCheckpoint = stackCheckpoints([lastCheckpoint, upResult.checkpoint]);\n var promise = persistToMaster(upResult.documents, ensureNotFalsy(lastCheckpoint));\n promises.add(promise);\n promise.catch().then(() => promises.delete(promise));\n };\n while (!state.events.canceled.getValue()) {\n if (await _loop()) break;\n }\n\n /**\n * If we had conflicts during the initial sync,\n * it means that we likely have new writes to the fork\n * and so we have to run the initial sync again to upstream these new writes.\n */\n var resolvedPromises = await Promise.all(promises);\n var hadConflicts = resolvedPromises.find(r => !!r);\n if (hadConflicts) {\n await upstreamInitialSync();\n } else if (!state.firstSyncDone.up.getValue() && !state.events.canceled.getValue()) {\n state.firstSyncDone.up.next(true);\n }\n }\n\n /**\n * Takes all open tasks an processes them at once.\n */\n function processTasks() {\n if (state.events.canceled.getValue() || openTasks.length === 0) {\n state.events.active.up.next(false);\n return;\n }\n state.stats.up.processTasks = state.stats.up.processTasks + 1;\n state.events.active.up.next(true);\n state.streamQueue.up = state.streamQueue.up.then(() => {\n /**\n * Merge/filter all open tasks\n */\n var docs = [];\n var checkpoint = {};\n while (openTasks.length > 0) {\n var taskWithTime = ensureNotFalsy(openTasks.shift());\n /**\n * If the task came in before the last time the initial sync fetching\n * has run, we can ignore the task because the initial sync already processed\n * these documents.\n */\n if (taskWithTime.time < initialSyncStartTime) {\n continue;\n }\n appendToArray(docs, taskWithTime.task.events.map(r => {\n return r.documentData;\n }));\n checkpoint = stackCheckpoints([checkpoint, taskWithTime.task.checkpoint]);\n }\n var promise = docs.length === 0 ? PROMISE_RESOLVE_FALSE : persistToMaster(docs, checkpoint);\n return promise.then(() => {\n if (openTasks.length === 0) {\n state.events.active.up.next(false);\n } else {\n processTasks();\n }\n });\n });\n }\n\n /**\n * Returns true if had conflicts,\n * false if not.\n */\n function persistToMaster(docs, checkpoint) {\n state.stats.up.persistToMaster = state.stats.up.persistToMaster + 1;\n\n /**\n * Add the new docs to the non-persistent list\n */\n docs.forEach(docData => {\n var docId = docData[state.primaryPath];\n nonPersistedFromMaster.docs[docId] = docData;\n });\n nonPersistedFromMaster.checkpoint = checkpoint;\n persistenceQueue = persistenceQueue.then(async () => {\n if (state.events.canceled.getValue()) {\n return false;\n }\n var upDocsById = nonPersistedFromMaster.docs;\n nonPersistedFromMaster.docs = {};\n var useCheckpoint = nonPersistedFromMaster.checkpoint;\n var docIds = Object.keys(upDocsById);\n if (docIds.length === 0) {\n return false;\n }\n var assumedMasterState = await getAssumedMasterState(state, docIds);\n var writeRowsToMaster = {};\n var writeRowsToMasterIds = [];\n var writeRowsToMeta = {};\n var forkStateById = {};\n await Promise.all(docIds.map(async docId => {\n var fullDocData = upDocsById[docId];\n forkStateById[docId] = fullDocData;\n var docData = writeDocToDocState(fullDocData, state.hasAttachments, !!state.input.keepMeta);\n var assumedMasterDoc = assumedMasterState[docId];\n\n /**\n * If the master state is equal to the\n * fork state, we can assume that the document state is already\n * replicated.\n */\n if (assumedMasterDoc &&\n // if the isResolvedConflict is correct, we do not have to compare the documents.\n assumedMasterDoc.metaDocument.isResolvedConflict !== fullDocData._rev && (await state.input.conflictHandler({\n realMasterState: assumedMasterDoc.docData,\n newDocumentState: docData\n }, 'upstream-check-if-equal')).isEqual || (\n /**\n * If the master works with _rev fields,\n * we use that to check if our current doc state\n * is different from the assumedMasterDoc.\n */\n\n assumedMasterDoc && assumedMasterDoc.docData._rev && parseRevision(fullDocData._rev).height === fullDocData._meta[state.input.identifier])) {\n return;\n }\n writeRowsToMasterIds.push(docId);\n writeRowsToMaster[docId] = {\n assumedMasterState: assumedMasterDoc ? assumedMasterDoc.docData : undefined,\n newDocumentState: docData\n };\n writeRowsToMeta[docId] = await getMetaWriteRow(state, docData, assumedMasterDoc ? assumedMasterDoc.metaDocument : undefined);\n }));\n if (writeRowsToMasterIds.length === 0) {\n return false;\n }\n var writeRowsArray = Object.values(writeRowsToMaster);\n var conflictIds = new Set();\n var conflictsById = {};\n\n /**\n * To always respect the push.batchSize,\n * we have to split the write rows into batches\n * to ensure that replicationHandler.masterWrite() is never\n * called with more documents than what the batchSize limits.\n */\n var writeBatches = batchArray(writeRowsArray, state.input.pushBatchSize);\n await Promise.all(writeBatches.map(async writeBatch => {\n // enhance docs with attachments\n if (state.hasAttachments) {\n await Promise.all(writeBatch.map(async row => {\n row.newDocumentState = await fillWriteDataForAttachmentsChange(state.primaryPath, state.input.forkInstance, clone(row.newDocumentState), row.assumedMasterState);\n }));\n }\n var masterWriteResult = await replicationHandler.masterWrite(writeBatch);\n masterWriteResult.forEach(conflictDoc => {\n var id = conflictDoc[state.primaryPath];\n conflictIds.add(id);\n conflictsById[id] = conflictDoc;\n });\n }));\n var useWriteRowsToMeta = [];\n writeRowsToMasterIds.forEach(docId => {\n if (!conflictIds.has(docId)) {\n state.events.processed.up.next(writeRowsToMaster[docId]);\n useWriteRowsToMeta.push(writeRowsToMeta[docId]);\n }\n });\n if (state.events.canceled.getValue()) {\n return false;\n }\n if (useWriteRowsToMeta.length > 0) {\n await state.input.metaInstance.bulkWrite(stripAttachmentsDataFromMetaWriteRows(state, useWriteRowsToMeta), 'replication-up-write-meta');\n // TODO what happens when we have conflicts here?\n }\n\n /**\n * Resolve conflicts by writing a new document\n * state to the fork instance and the 'real' master state\n * to the meta instance.\n * Non-409 errors will be detected by resolveConflictError()\n */\n var hadConflictWrites = false;\n if (conflictIds.size > 0) {\n state.stats.up.persistToMasterHadConflicts = state.stats.up.persistToMasterHadConflicts + 1;\n var conflictWriteFork = [];\n var conflictWriteMeta = {};\n await Promise.all(Object.entries(conflictsById).map(([docId, realMasterState]) => {\n var writeToMasterRow = writeRowsToMaster[docId];\n var input = {\n newDocumentState: writeToMasterRow.newDocumentState,\n assumedMasterState: writeToMasterRow.assumedMasterState,\n realMasterState\n };\n return resolveConflictError(state, input, forkStateById[docId]).then(async resolved => {\n if (resolved) {\n state.events.resolvedConflicts.next({\n input,\n output: resolved.output\n });\n conflictWriteFork.push({\n previous: forkStateById[docId],\n document: resolved.resolvedDoc\n });\n var assumedMasterDoc = assumedMasterState[docId];\n conflictWriteMeta[docId] = await getMetaWriteRow(state, ensureNotFalsy(realMasterState), assumedMasterDoc ? assumedMasterDoc.metaDocument : undefined, resolved.resolvedDoc._rev);\n }\n });\n }));\n if (conflictWriteFork.length > 0) {\n hadConflictWrites = true;\n state.stats.up.persistToMasterConflictWrites = state.stats.up.persistToMasterConflictWrites + 1;\n var forkWriteResult = await state.input.forkInstance.bulkWrite(conflictWriteFork, 'replication-up-write-conflict');\n /**\n * Errors in the forkWriteResult must not be handled\n * because they have been caused by a write to the forkInstance\n * in between which will anyway trigger a new upstream cycle\n * that will then resolved the conflict again.\n */\n var useMetaWrites = [];\n forkWriteResult.success.forEach(docData => {\n var docId = docData[state.primaryPath];\n useMetaWrites.push(conflictWriteMeta[docId]);\n });\n if (useMetaWrites.length > 0) {\n await state.input.metaInstance.bulkWrite(stripAttachmentsDataFromMetaWriteRows(state, useMetaWrites), 'replication-up-write-conflict-meta');\n }\n // TODO what to do with conflicts while writing to the metaInstance?\n }\n }\n\n /**\n * For better performance we do not await checkpoint writes,\n * but to ensure order on parallel checkpoint writes,\n * we have to use a queue.\n */\n setCheckpoint(state, 'up', useCheckpoint);\n return hadConflictWrites;\n }).catch(unhandledError => {\n state.events.error.next(unhandledError);\n return false;\n });\n return persistenceQueue;\n }\n}\n//# sourceMappingURL=upstream.js.map","/**\n * These files contain the replication protocol.\n * It can be used to replicated RxStorageInstances or RxCollections\n * or even to do a client(s)-server replication.\n */\n\nimport { BehaviorSubject, combineLatest, filter, firstValueFrom, mergeMap, Subject } from 'rxjs';\nimport { getPrimaryFieldOfPrimaryKey } from \"../rx-schema-helper.js\";\nimport { clone, ensureNotFalsy, flatClone, PROMISE_RESOLVE_VOID } from \"../plugins/utils/index.js\";\nimport { getCheckpointKey } from \"./checkpoint.js\";\nimport { startReplicationDownstream } from \"./downstream.js\";\nimport { docStateToWriteDoc, getUnderlyingPersistentStorage, writeDocToDocState } from \"./helper.js\";\nimport { startReplicationUpstream } from \"./upstream.js\";\nimport { fillWriteDataForAttachmentsChange } from \"../plugins/attachments/index.js\";\nimport { getChangedDocumentsSince } from \"../rx-storage-helper.js\";\nexport * from \"./checkpoint.js\";\nexport * from \"./downstream.js\";\nexport * from \"./upstream.js\";\nexport * from \"./meta-instance.js\";\nexport * from \"./conflicts.js\";\nexport * from \"./helper.js\";\nexport function replicateRxStorageInstance(input) {\n input = flatClone(input);\n input.forkInstance = getUnderlyingPersistentStorage(input.forkInstance);\n input.metaInstance = getUnderlyingPersistentStorage(input.metaInstance);\n var checkpointKeyPromise = getCheckpointKey(input);\n var state = {\n primaryPath: getPrimaryFieldOfPrimaryKey(input.forkInstance.schema.primaryKey),\n hasAttachments: !!input.forkInstance.schema.attachments,\n input,\n checkpointKey: checkpointKeyPromise,\n downstreamBulkWriteFlag: checkpointKeyPromise.then(checkpointKey => 'replication-downstream-' + checkpointKey),\n events: {\n canceled: new BehaviorSubject(false),\n active: {\n down: new BehaviorSubject(true),\n up: new BehaviorSubject(true)\n },\n processed: {\n down: new Subject(),\n up: new Subject()\n },\n resolvedConflicts: new Subject(),\n error: new Subject()\n },\n stats: {\n down: {\n addNewTask: 0,\n downstreamProcessChanges: 0,\n downstreamResyncOnce: 0,\n masterChangeStreamEmit: 0,\n persistFromMaster: 0\n },\n up: {\n forkChangeStreamEmit: 0,\n persistToMaster: 0,\n persistToMasterConflictWrites: 0,\n persistToMasterHadConflicts: 0,\n processTasks: 0,\n upstreamInitialSync: 0\n }\n },\n firstSyncDone: {\n down: new BehaviorSubject(false),\n up: new BehaviorSubject(false)\n },\n streamQueue: {\n down: PROMISE_RESOLVE_VOID,\n up: PROMISE_RESOLVE_VOID\n },\n checkpointQueue: PROMISE_RESOLVE_VOID,\n lastCheckpointDoc: {}\n };\n startReplicationDownstream(state);\n startReplicationUpstream(state);\n return state;\n}\nexport function awaitRxStorageReplicationFirstInSync(state) {\n return firstValueFrom(combineLatest([state.firstSyncDone.down.pipe(filter(v => !!v)), state.firstSyncDone.up.pipe(filter(v => !!v))])).then(() => {});\n}\nexport function awaitRxStorageReplicationInSync(replicationState) {\n return Promise.all([replicationState.streamQueue.up, replicationState.streamQueue.down, replicationState.checkpointQueue]);\n}\nexport async function awaitRxStorageReplicationIdle(state) {\n await awaitRxStorageReplicationFirstInSync(state);\n while (true) {\n var {\n down,\n up\n } = state.streamQueue;\n await Promise.all([up, down]);\n /**\n * If the Promises have not been reassigned\n * after awaiting them, we know that the replication\n * is in idle state at this point in time.\n */\n if (down === state.streamQueue.down && up === state.streamQueue.up) {\n return;\n }\n }\n}\nexport function rxStorageInstanceToReplicationHandler(instance, conflictHandler, databaseInstanceToken,\n/**\n * If set to true,\n * the _meta.lwt from the pushed documents is kept.\n * (Used in the migration to ensure checkpoints are still valid)\n */\nkeepMeta = false) {\n instance = getUnderlyingPersistentStorage(instance);\n var hasAttachments = !!instance.schema.attachments;\n var primaryPath = getPrimaryFieldOfPrimaryKey(instance.schema.primaryKey);\n var replicationHandler = {\n masterChangeStream$: instance.changeStream().pipe(mergeMap(async eventBulk => {\n var ret = {\n checkpoint: eventBulk.checkpoint,\n documents: await Promise.all(eventBulk.events.map(async event => {\n var docData = writeDocToDocState(event.documentData, hasAttachments, keepMeta);\n if (hasAttachments) {\n docData = await fillWriteDataForAttachmentsChange(primaryPath, instance, clone(docData),\n /**\n * Notice that the master never knows\n * the client state of the document.\n * Therefore we always send all attachments data.\n */\n undefined);\n }\n return docData;\n }))\n };\n return ret;\n })),\n masterChangesSince(checkpoint, batchSize) {\n return getChangedDocumentsSince(instance, batchSize, checkpoint).then(async result => {\n return {\n checkpoint: result.documents.length > 0 ? result.checkpoint : checkpoint,\n documents: await Promise.all(result.documents.map(async plainDocumentData => {\n var docData = writeDocToDocState(plainDocumentData, hasAttachments, keepMeta);\n if (hasAttachments) {\n docData = await fillWriteDataForAttachmentsChange(primaryPath, instance, clone(docData),\n /**\n * Notice the the master never knows\n * the client state of the document.\n * Therefore we always send all attachments data.\n */\n undefined);\n }\n return docData;\n }))\n };\n });\n },\n async masterWrite(rows) {\n var rowById = {};\n rows.forEach(row => {\n var docId = row.newDocumentState[primaryPath];\n rowById[docId] = row;\n });\n var ids = Object.keys(rowById);\n var masterDocsStateList = await instance.findDocumentsById(ids, true);\n var masterDocsState = new Map();\n masterDocsStateList.forEach(doc => masterDocsState.set(doc[primaryPath], doc));\n var conflicts = [];\n var writeRows = [];\n await Promise.all(Object.entries(rowById).map(async ([id, row]) => {\n var masterState = masterDocsState.get(id);\n if (!masterState) {\n writeRows.push({\n document: docStateToWriteDoc(databaseInstanceToken, hasAttachments, keepMeta, row.newDocumentState)\n });\n } else if (masterState && !row.assumedMasterState) {\n conflicts.push(writeDocToDocState(masterState, hasAttachments, keepMeta));\n } else if ((await conflictHandler({\n realMasterState: writeDocToDocState(masterState, hasAttachments, keepMeta),\n newDocumentState: ensureNotFalsy(row.assumedMasterState)\n }, 'rxStorageInstanceToReplicationHandler-masterWrite')).isEqual === true) {\n writeRows.push({\n previous: masterState,\n document: docStateToWriteDoc(databaseInstanceToken, hasAttachments, keepMeta, row.newDocumentState, masterState)\n });\n } else {\n conflicts.push(writeDocToDocState(masterState, hasAttachments, keepMeta));\n }\n }));\n if (writeRows.length > 0) {\n var result = await instance.bulkWrite(writeRows, 'replication-master-write');\n result.error.forEach(err => {\n if (err.status !== 409) {\n throw new Error('non conflict error');\n } else {\n conflicts.push(writeDocToDocState(ensureNotFalsy(err.documentInDb), hasAttachments, keepMeta));\n }\n });\n }\n return conflicts;\n }\n };\n return replicationHandler;\n}\nexport async function cancelRxStorageReplication(replicationState) {\n replicationState.events.canceled.next(true);\n replicationState.events.active.up.complete();\n replicationState.events.active.down.complete();\n replicationState.events.processed.up.complete();\n replicationState.events.processed.down.complete();\n replicationState.events.resolvedConflicts.complete();\n replicationState.events.canceled.complete();\n await replicationState.checkpointQueue;\n}\n//# sourceMappingURL=index.js.map","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport { filter, map, mergeMap } from 'rxjs';\nimport { ucfirst, flatClone, promiseSeries, pluginMissing, ensureNotFalsy, getFromMapOrThrow, PROMISE_RESOLVE_FALSE, PROMISE_RESOLVE_VOID } from \"./plugins/utils/index.js\";\nimport { fillObjectDataBeforeInsert, createRxCollectionStorageInstance, removeCollectionStorages } from \"./rx-collection-helper.js\";\nimport { createRxQuery, _getDefaultQuery } from \"./rx-query.js\";\nimport { newRxError, newRxTypeError } from \"./rx-error.js\";\nimport { DocumentCache, mapDocumentsDataToCacheDocs } from \"./doc-cache.js\";\nimport { createQueryCache, defaultCacheReplacementPolicy } from \"./query-cache.js\";\nimport { createChangeEventBuffer } from \"./change-event-buffer.js\";\nimport { runAsyncPluginHooks, runPluginHooks } from \"./hooks.js\";\nimport { createNewRxDocument } from \"./rx-document-prototype-merge.js\";\nimport { getWrappedStorageInstance, storageChangeEventToRxChangeEvent, throwIfIsStorageWriteError } from \"./rx-storage-helper.js\";\nimport { defaultConflictHandler } from \"./replication-protocol/index.js\";\nimport { IncrementalWriteQueue } from \"./incremental-write.js\";\nimport { beforeDocumentUpdateWrite } from \"./rx-document.js\";\nimport { overwritable } from \"./overwritable.js\";\nvar HOOKS_WHEN = ['pre', 'post'];\nvar HOOKS_KEYS = ['insert', 'save', 'remove', 'create'];\nvar hooksApplied = false;\nexport var RxCollectionBase = /*#__PURE__*/function () {\n /**\n * Stores all 'normal' documents\n */\n\n function RxCollectionBase(database, name, schema, internalStorageInstance, instanceCreationOptions = {}, migrationStrategies = {}, methods = {}, attachments = {}, options = {}, cacheReplacementPolicy = defaultCacheReplacementPolicy, statics = {}, conflictHandler = defaultConflictHandler) {\n this.storageInstance = {};\n this.timeouts = new Set();\n this.incrementalWriteQueue = {};\n this._incrementalUpsertQueues = new Map();\n this.synced = false;\n this.hooks = {};\n this._subs = [];\n this._docCache = {};\n this._queryCache = createQueryCache();\n this.$ = {};\n this.checkpoint$ = {};\n this._changeEventBuffer = {};\n this.onDestroy = [];\n this.destroyed = false;\n this.database = database;\n this.name = name;\n this.schema = schema;\n this.internalStorageInstance = internalStorageInstance;\n this.instanceCreationOptions = instanceCreationOptions;\n this.migrationStrategies = migrationStrategies;\n this.methods = methods;\n this.attachments = attachments;\n this.options = options;\n this.cacheReplacementPolicy = cacheReplacementPolicy;\n this.statics = statics;\n this.conflictHandler = conflictHandler;\n _applyHookFunctions(this.asRxCollection);\n }\n var _proto = RxCollectionBase.prototype;\n _proto.prepare = async function prepare() {\n this.storageInstance = getWrappedStorageInstance(this.database, this.internalStorageInstance, this.schema.jsonSchema);\n this.incrementalWriteQueue = new IncrementalWriteQueue(this.storageInstance, this.schema.primaryPath, (newData, oldData) => beforeDocumentUpdateWrite(this, newData, oldData), result => this._runHooks('post', 'save', result));\n var collectionEventBulks$ = this.database.eventBulks$.pipe(filter(changeEventBulk => changeEventBulk.collectionName === this.name));\n this.$ = collectionEventBulks$.pipe(mergeMap(changeEventBulk => changeEventBulk.events));\n this.checkpoint$ = collectionEventBulks$.pipe(map(changeEventBulk => changeEventBulk.checkpoint));\n this._changeEventBuffer = createChangeEventBuffer(this.asRxCollection);\n this._docCache = new DocumentCache(this.schema.primaryPath, this.$.pipe(filter(cE => !cE.isLocal)), docData => createNewRxDocument(this.asRxCollection, docData));\n\n /**\n * Instead of resolving the EventBulk array here and spit it into\n * single events, we should fully work with event bulks internally\n * to save performance.\n */\n var databaseStorageToken = await this.database.storageToken;\n var subDocs = this.storageInstance.changeStream().subscribe(eventBulk => {\n var changeEventBulk = {\n id: eventBulk.id,\n internal: false,\n collectionName: this.name,\n storageToken: databaseStorageToken,\n events: eventBulk.events.map(ev => storageChangeEventToRxChangeEvent(false, ev, this)),\n databaseToken: this.database.token,\n checkpoint: eventBulk.checkpoint,\n context: eventBulk.context,\n endTime: eventBulk.endTime,\n startTime: eventBulk.startTime\n };\n this.database.$emit(changeEventBulk);\n });\n this._subs.push(subDocs);\n\n /**\n * Resolve the conflict tasks\n * of the RxStorageInstance\n */\n this._subs.push(this.storageInstance.conflictResultionTasks().subscribe(task => {\n this.conflictHandler(task.input, task.context).then(output => {\n this.storageInstance.resolveConflictResultionTask({\n id: task.id,\n output\n });\n });\n }));\n return PROMISE_RESOLVE_VOID;\n }\n\n /**\n * Manually call the cleanup function of the storage.\n * @link https://rxdb.info/cleanup.html\n */;\n _proto.cleanup = function cleanup(_minimumDeletedTime) {\n throw pluginMissing('cleanup');\n }\n\n // overwritten by migration-plugin\n ;\n _proto.migrationNeeded = function migrationNeeded() {\n throw pluginMissing('migration-schema');\n };\n _proto.getMigrationState = function getMigrationState() {\n throw pluginMissing('migration-schema');\n };\n _proto.startMigration = function startMigration(batchSize = 10) {\n return this.getMigrationState().startMigration(batchSize);\n };\n _proto.migratePromise = function migratePromise(batchSize = 10) {\n return this.getMigrationState().migratePromise(batchSize);\n };\n _proto.insert = async function insert(json) {\n var writeResult = await this.bulkInsert([json]);\n var isError = writeResult.error[0];\n throwIfIsStorageWriteError(this, json[this.schema.primaryPath], json, isError);\n var insertResult = ensureNotFalsy(writeResult.success[0]);\n return insertResult;\n };\n _proto.bulkInsert = async function bulkInsert(docsData) {\n /**\n * Optimization shortcut,\n * do nothing when called with an empty array\n */\n if (docsData.length === 0) {\n return {\n success: [],\n error: []\n };\n }\n var primaryPath = this.schema.primaryPath;\n var useDocs = docsData.map(docData => {\n var useDocData = fillObjectDataBeforeInsert(this.schema, docData);\n return useDocData;\n });\n var docs = this.hasHooks('pre', 'insert') ? await Promise.all(useDocs.map(doc => {\n return this._runHooks('pre', 'insert', doc).then(() => {\n return doc;\n });\n })) : useDocs;\n var insertRows = docs.map(doc => {\n var row = {\n document: doc\n };\n return row;\n });\n var results = await this.storageInstance.bulkWrite(insertRows, 'rx-collection-bulk-insert');\n\n // create documents\n var rxDocuments = mapDocumentsDataToCacheDocs(this._docCache, results.success);\n if (this.hasHooks('post', 'insert')) {\n var docsMap = new Map();\n docs.forEach(doc => {\n docsMap.set(doc[primaryPath], doc);\n });\n await Promise.all(rxDocuments.map(doc => {\n return this._runHooks('post', 'insert', docsMap.get(doc.primary), doc);\n }));\n }\n return {\n success: rxDocuments,\n error: results.error\n };\n };\n _proto.bulkRemove = async function bulkRemove(ids) {\n var primaryPath = this.schema.primaryPath;\n /**\n * Optimization shortcut,\n * do nothing when called with an empty array\n */\n if (ids.length === 0) {\n return {\n success: [],\n error: []\n };\n }\n var rxDocumentMap = await this.findByIds(ids).exec();\n var docsData = [];\n var docsMap = new Map();\n Array.from(rxDocumentMap.values()).forEach(rxDocument => {\n var data = rxDocument.toMutableJSON(true);\n docsData.push(data);\n docsMap.set(rxDocument.primary, data);\n });\n await Promise.all(docsData.map(doc => {\n var primary = doc[this.schema.primaryPath];\n return this._runHooks('pre', 'remove', doc, rxDocumentMap.get(primary));\n }));\n var removeDocs = docsData.map(doc => {\n var writeDoc = flatClone(doc);\n writeDoc._deleted = true;\n return {\n previous: doc,\n document: writeDoc\n };\n });\n var results = await this.storageInstance.bulkWrite(removeDocs, 'rx-collection-bulk-remove');\n var successIds = results.success.map(d => d[primaryPath]);\n\n // run hooks\n await Promise.all(successIds.map(id => {\n return this._runHooks('post', 'remove', docsMap.get(id), rxDocumentMap.get(id));\n }));\n var rxDocuments = successIds.map(id => getFromMapOrThrow(rxDocumentMap, id));\n return {\n success: rxDocuments,\n error: results.error\n };\n }\n\n /**\n * same as bulkInsert but overwrites existing document with same primary\n */;\n _proto.bulkUpsert = async function bulkUpsert(docsData) {\n var insertData = [];\n var useJsonByDocId = new Map();\n docsData.forEach(docData => {\n var useJson = fillObjectDataBeforeInsert(this.schema, docData);\n var primary = useJson[this.schema.primaryPath];\n if (!primary) {\n throw newRxError('COL3', {\n primaryPath: this.schema.primaryPath,\n data: useJson,\n schema: this.schema.jsonSchema\n });\n }\n useJsonByDocId.set(primary, useJson);\n insertData.push(useJson);\n });\n var insertResult = await this.bulkInsert(insertData);\n var success = insertResult.success.slice(0);\n var error = [];\n\n // update the ones that existed already\n await Promise.all(insertResult.error.map(async err => {\n if (err.status !== 409) {\n error.push(err);\n } else {\n var id = err.documentId;\n var writeData = getFromMapOrThrow(useJsonByDocId, id);\n var docDataInDb = ensureNotFalsy(err.documentInDb);\n var doc = this._docCache.getCachedRxDocument(docDataInDb);\n var newDoc = await doc.incrementalModify(() => writeData);\n success.push(newDoc);\n }\n }));\n return {\n error,\n success\n };\n }\n\n /**\n * same as insert but overwrites existing document with same primary\n */;\n _proto.upsert = async function upsert(json) {\n var bulkResult = await this.bulkUpsert([json]);\n throwIfIsStorageWriteError(this.asRxCollection, json[this.schema.primaryPath], json, bulkResult.error[0]);\n return bulkResult.success[0];\n }\n\n /**\n * upserts to a RxDocument, uses incrementalModify if document already exists\n */;\n _proto.incrementalUpsert = function incrementalUpsert(json) {\n var useJson = fillObjectDataBeforeInsert(this.schema, json);\n var primary = useJson[this.schema.primaryPath];\n if (!primary) {\n throw newRxError('COL4', {\n data: json\n });\n }\n\n // ensure that it won't try 2 parallel runs\n var queue = this._incrementalUpsertQueues.get(primary);\n if (!queue) {\n queue = PROMISE_RESOLVE_VOID;\n }\n queue = queue.then(() => _incrementalUpsertEnsureRxDocumentExists(this, primary, useJson)).then(wasInserted => {\n if (!wasInserted.inserted) {\n return _incrementalUpsertUpdate(wasInserted.doc, useJson);\n } else {\n return wasInserted.doc;\n }\n });\n this._incrementalUpsertQueues.set(primary, queue);\n return queue;\n };\n _proto.find = function find(queryObj) {\n if (typeof queryObj === 'string') {\n throw newRxError('COL5', {\n queryObj\n });\n }\n if (!queryObj) {\n queryObj = _getDefaultQuery();\n }\n var query = createRxQuery('find', queryObj, this);\n return query;\n };\n _proto.findOne = function findOne(queryObj) {\n // TODO move this check to dev-mode plugin\n if (typeof queryObj === 'number' || Array.isArray(queryObj)) {\n throw newRxTypeError('COL6', {\n queryObj\n });\n }\n var query;\n if (typeof queryObj === 'string') {\n query = createRxQuery('findOne', {\n selector: {\n [this.schema.primaryPath]: queryObj\n },\n limit: 1\n }, this);\n } else {\n if (!queryObj) {\n queryObj = _getDefaultQuery();\n }\n\n // cannot have limit on findOne queries because it will be overwritten\n if (queryObj.limit) {\n throw newRxError('QU6');\n }\n queryObj = flatClone(queryObj);\n queryObj.limit = 1;\n query = createRxQuery('findOne', queryObj, this);\n }\n return query;\n };\n _proto.count = function count(queryObj) {\n if (!queryObj) {\n queryObj = _getDefaultQuery();\n }\n var query = createRxQuery('count', queryObj, this);\n return query;\n }\n\n /**\n * find a list documents by their primary key\n * has way better performance then running multiple findOne() or a find() with a complex $or-selected\n */;\n _proto.findByIds = function findByIds(ids) {\n var mangoQuery = {\n selector: {\n [this.schema.primaryPath]: {\n $in: ids.slice(0)\n }\n }\n };\n var query = createRxQuery('findByIds', mangoQuery, this);\n return query;\n }\n\n /**\n * Export collection to a JSON friendly format.\n */;\n _proto.exportJSON = function exportJSON() {\n throw pluginMissing('json-dump');\n }\n\n /**\n * Import the parsed JSON export into the collection.\n * @param _exportedJSON The previously exported data from the `.exportJSON()` method.\n */;\n _proto.importJSON = function importJSON(_exportedJSON) {\n throw pluginMissing('json-dump');\n };\n _proto.insertCRDT = function insertCRDT(_updateObj) {\n throw pluginMissing('crdt');\n }\n\n /**\n * HOOKS\n */;\n _proto.addHook = function addHook(when, key, fun, parallel = false) {\n if (typeof fun !== 'function') {\n throw newRxTypeError('COL7', {\n key,\n when\n });\n }\n if (!HOOKS_WHEN.includes(when)) {\n throw newRxTypeError('COL8', {\n key,\n when\n });\n }\n if (!HOOKS_KEYS.includes(key)) {\n throw newRxError('COL9', {\n key\n });\n }\n if (when === 'post' && key === 'create' && parallel === true) {\n throw newRxError('COL10', {\n when,\n key,\n parallel\n });\n }\n\n // bind this-scope to hook-function\n var boundFun = fun.bind(this);\n var runName = parallel ? 'parallel' : 'series';\n this.hooks[key] = this.hooks[key] || {};\n this.hooks[key][when] = this.hooks[key][when] || {\n series: [],\n parallel: []\n };\n this.hooks[key][when][runName].push(boundFun);\n };\n _proto.getHooks = function getHooks(when, key) {\n if (!this.hooks[key] || !this.hooks[key][when]) {\n return {\n series: [],\n parallel: []\n };\n }\n return this.hooks[key][when];\n };\n _proto.hasHooks = function hasHooks(when, key) {\n var hooks = this.getHooks(when, key);\n if (!hooks) {\n return false;\n }\n return hooks.series.length > 0 || hooks.parallel.length > 0;\n };\n _proto._runHooks = function _runHooks(when, key, data, instance) {\n var hooks = this.getHooks(when, key);\n if (!hooks) {\n return PROMISE_RESOLVE_VOID;\n }\n\n // run parallel: false\n var tasks = hooks.series.map(hook => () => hook(data, instance));\n return promiseSeries(tasks)\n // run parallel: true\n .then(() => Promise.all(hooks.parallel.map(hook => hook(data, instance))));\n }\n\n /**\n * does the same as ._runHooks() but with non-async-functions\n */;\n _proto._runHooksSync = function _runHooksSync(when, key, data, instance) {\n var hooks = this.getHooks(when, key);\n if (!hooks) return;\n hooks.series.forEach(hook => hook(data, instance));\n }\n\n /**\n * Returns a promise that resolves after the given time.\n * Ensures that is properly cleans up when the collection is destroyed\n * so that no running timeouts prevent the exit of the JavaScript process.\n */;\n _proto.promiseWait = function promiseWait(time) {\n var ret = new Promise(res => {\n var timeout = setTimeout(() => {\n this.timeouts.delete(timeout);\n res();\n }, time);\n this.timeouts.add(timeout);\n });\n return ret;\n };\n _proto.destroy = function destroy() {\n if (this.destroyed) {\n return PROMISE_RESOLVE_FALSE;\n }\n\n /**\n * Settings destroyed = true\n * must be the first thing to do,\n * so for example the replication can directly stop\n * instead of sending requests to a closed storage.\n */\n this.destroyed = true;\n Array.from(this.timeouts).forEach(timeout => clearTimeout(timeout));\n if (this._changeEventBuffer) {\n this._changeEventBuffer.destroy();\n }\n /**\n * First wait until the whole database is idle.\n * This ensures that the storage does not get closed\n * while some operation is running.\n * It is important that we do not intercept a running call\n * because it might lead to undefined behavior like when a doc is written\n * but the change is not added to the changes collection.\n */\n return this.database.requestIdlePromise().then(() => Promise.all(this.onDestroy.map(fn => fn()))).then(() => this.storageInstance.close()).then(() => {\n /**\n * Unsubscribing must be done AFTER the storageInstance.close()\n * Because the conflict handling is part of the subscriptions and\n * otherwise there might be open conflicts to be resolved which\n * will then stuck and never resolve.\n */\n this._subs.forEach(sub => sub.unsubscribe());\n delete this.database.collections[this.name];\n return runAsyncPluginHooks('postDestroyRxCollection', this).then(() => true);\n });\n }\n\n /**\n * remove all data of the collection\n */;\n _proto.remove = async function remove() {\n await this.destroy();\n await removeCollectionStorages(this.database.storage, this.database.internalStore, this.database.token, this.database.name, this.name, this.database.password, this.database.hashFunction);\n };\n _createClass(RxCollectionBase, [{\n key: \"insert$\",\n get: function () {\n return this.$.pipe(filter(cE => cE.operation === 'INSERT'));\n }\n }, {\n key: \"update$\",\n get: function () {\n return this.$.pipe(filter(cE => cE.operation === 'UPDATE'));\n }\n }, {\n key: \"remove$\",\n get: function () {\n return this.$.pipe(filter(cE => cE.operation === 'DELETE'));\n }\n\n // defaults\n\n /**\n * When the collection is destroyed,\n * these functions will be called an awaited.\n * Used to automatically clean up stuff that\n * belongs to this collection.\n */\n }, {\n key: \"asRxCollection\",\n get: function () {\n return this;\n }\n }]);\n return RxCollectionBase;\n}();\n\n/**\n * adds the hook-functions to the collections prototype\n * this runs only once\n */\nfunction _applyHookFunctions(collection) {\n if (hooksApplied) return; // already run\n hooksApplied = true;\n var colProto = Object.getPrototypeOf(collection);\n HOOKS_KEYS.forEach(key => {\n HOOKS_WHEN.map(when => {\n var fnName = when + ucfirst(key);\n colProto[fnName] = function (fun, parallel) {\n return this.addHook(when, key, fun, parallel);\n };\n });\n });\n}\nfunction _incrementalUpsertUpdate(doc, json) {\n return doc.incrementalModify(_innerDoc => {\n return json;\n });\n}\n\n/**\n * ensures that the given document exists\n * @return promise that resolves with new doc and flag if inserted\n */\nfunction _incrementalUpsertEnsureRxDocumentExists(rxCollection, primary, json) {\n /**\n * Optimisation shortcut,\n * first try to find the document in the doc-cache\n */\n var docDataFromCache = rxCollection._docCache.getLatestDocumentDataIfExists(primary);\n if (docDataFromCache) {\n return Promise.resolve({\n doc: rxCollection._docCache.getCachedRxDocument(docDataFromCache),\n inserted: false\n });\n }\n return rxCollection.findOne(primary).exec().then(doc => {\n if (!doc) {\n return rxCollection.insert(json).then(newDoc => ({\n doc: newDoc,\n inserted: true\n }));\n } else {\n return {\n doc,\n inserted: false\n };\n }\n });\n}\n\n/**\n * creates and prepares a new collection\n */\nexport function createRxCollection({\n database,\n name,\n schema,\n instanceCreationOptions = {},\n migrationStrategies = {},\n autoMigrate = true,\n statics = {},\n methods = {},\n attachments = {},\n options = {},\n localDocuments = false,\n cacheReplacementPolicy = defaultCacheReplacementPolicy,\n conflictHandler = defaultConflictHandler\n}) {\n var storageInstanceCreationParams = {\n databaseInstanceToken: database.token,\n databaseName: database.name,\n collectionName: name,\n schema: schema.jsonSchema,\n options: instanceCreationOptions,\n multiInstance: database.multiInstance,\n password: database.password,\n devMode: overwritable.isDevMode()\n };\n runPluginHooks('preCreateRxStorageInstance', storageInstanceCreationParams);\n return createRxCollectionStorageInstance(database, storageInstanceCreationParams).then(storageInstance => {\n var collection = new RxCollectionBase(database, name, schema, storageInstance, instanceCreationOptions, migrationStrategies, methods, attachments, options, cacheReplacementPolicy, statics, conflictHandler);\n return collection.prepare().then(() => {\n // ORM add statics\n Object.entries(statics).forEach(([funName, fun]) => {\n Object.defineProperty(collection, funName, {\n get: () => fun.bind(collection)\n });\n });\n var ret = PROMISE_RESOLVE_VOID;\n if (autoMigrate && collection.schema.version !== 0) {\n ret = collection.migratePromise();\n }\n return ret;\n }).then(() => {\n runPluginHooks('createRxCollection', {\n collection,\n creator: {\n name,\n schema,\n storageInstance,\n instanceCreationOptions,\n migrationStrategies,\n methods,\n attachments,\n options,\n cacheReplacementPolicy,\n localDocuments,\n statics\n }\n });\n return collection;\n })\n /**\n * If the collection creation fails,\n * we yet have to close the storage instances.\n */.catch(err => {\n return storageInstance.close().then(() => Promise.reject(err));\n });\n });\n}\nexport function isRxCollection(obj) {\n return obj instanceof RxCollectionBase;\n}\n//# sourceMappingURL=rx-collection.js.map","/**\n * Creates a new Idle-Queue\n * @constructor\n * @param {number} [parallels=1] amount of parrallel runs of the limited-ressource\n */\nexport var IdleQueue = function IdleQueue() {\n var parallels = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n this._parallels = parallels || 1;\n /**\n * _queueCounter\n * each lock() increased this number\n * each unlock() decreases this number\n * If _qC==0, the state is in idle\n * @type {Number}\n */\n\n this._qC = 0;\n /**\n * _idleCalls\n * contains all promises that where added via requestIdlePromise()\n * and not have been resolved\n * @type {Set} _iC with oldest promise first\n */\n\n this._iC = new Set();\n /**\n * _lastHandleNumber\n * @type {Number}\n */\n\n this._lHN = 0;\n /**\n * _handlePromiseMap\n * Contains the handleNumber on the left\n * And the assigned promise on the right.\n * This is stored so you can use cancelIdleCallback(handleNumber)\n * to stop executing the callback.\n * @type {Map}\n */\n\n this._hPM = new Map();\n this._pHM = new Map(); // _promiseHandleMap\n};\nIdleQueue.prototype = {\n isIdle: function isIdle() {\n return this._qC < this._parallels;\n },\n\n /**\n * creates a lock in the queue\n * and returns an unlock-function to remove the lock from the queue\n * @return {function} unlock function than must be called afterwards\n */\n lock: function lock() {\n this._qC++;\n },\n unlock: function unlock() {\n this._qC--;\n\n _tryIdleCall(this);\n },\n\n /**\n * wraps a function with lock/unlock and runs it\n * @param {function} fun\n * @return {Promise}\n */\n wrapCall: function wrapCall(fun) {\n var _this = this;\n\n this.lock();\n var maybePromise;\n\n try {\n maybePromise = fun();\n } catch (err) {\n this.unlock();\n throw err;\n }\n\n if (!maybePromise.then || typeof maybePromise.then !== 'function') {\n // no promise\n this.unlock();\n return maybePromise;\n } else {\n // promise\n return maybePromise.then(function (ret) {\n // sucessfull -> unlock before return\n _this.unlock();\n\n return ret;\n })[\"catch\"](function (err) {\n // not sucessfull -> unlock before throwing\n _this.unlock();\n\n throw err;\n });\n }\n },\n\n /**\n * does the same as requestIdleCallback() but uses promises instead of the callback\n * @param {{timeout?: number}} options like timeout\n * @return {Promise} promise that resolves when the database is in idle-mode\n */\n requestIdlePromise: function requestIdlePromise(options) {\n var _this2 = this;\n\n options = options || {};\n var resolve;\n var prom = new Promise(function (res) {\n return resolve = res;\n });\n\n var resolveFromOutside = function resolveFromOutside() {\n _removeIdlePromise(_this2, prom);\n\n resolve();\n };\n\n prom._manRes = resolveFromOutside;\n\n if (options.timeout) {\n // if timeout has passed, resolve promise even if not idle\n var timeoutObj = setTimeout(function () {\n prom._manRes();\n }, options.timeout);\n prom._timeoutObj = timeoutObj;\n }\n\n this._iC.add(prom);\n\n _tryIdleCall(this);\n\n return prom;\n },\n\n /**\n * remove the promise so it will never be resolved\n * @param {Promise} promise from requestIdlePromise()\n * @return {void}\n */\n cancelIdlePromise: function cancelIdlePromise(promise) {\n _removeIdlePromise(this, promise);\n },\n\n /**\n * api equal to\n * @link https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback\n * @param {Function} callback\n * @param {options} options [description]\n * @return {number} handle which can be used with cancelIdleCallback()\n */\n requestIdleCallback: function requestIdleCallback(callback, options) {\n var handle = this._lHN++;\n var promise = this.requestIdlePromise(options);\n\n this._hPM.set(handle, promise);\n\n this._pHM.set(promise, handle);\n\n promise.then(function () {\n return callback();\n });\n return handle;\n },\n\n /**\n * API equal to\n * @link https://developer.mozilla.org/en-US/docs/Web/API/Window/cancelIdleCallback\n * @param {number} handle returned from requestIdleCallback()\n * @return {void}\n */\n cancelIdleCallback: function cancelIdleCallback(handle) {\n var promise = this._hPM.get(handle);\n\n this.cancelIdlePromise(promise);\n },\n\n /**\n * clears and resets everything\n * @return {void}\n */\n clear: function clear() {\n var _this3 = this;\n\n // remove all non-cleared\n this._iC.forEach(function (promise) {\n return _removeIdlePromise(_this3, promise);\n });\n\n this._qC = 0;\n\n this._iC.clear();\n\n this._hPM = new Map();\n this._pHM = new Map();\n }\n};\n/**\n * processes the oldest call of the idleCalls-queue\n * @return {Promise}\n */\n\nfunction _resolveOneIdleCall(idleQueue) {\n if (idleQueue._iC.size === 0) return;\n\n var iterator = idleQueue._iC.values();\n\n var oldestPromise = iterator.next().value;\n\n oldestPromise._manRes(); // try to call the next tick\n\n\n setTimeout(function () {\n return _tryIdleCall(idleQueue);\n }, 0);\n}\n/**\n * removes the promise from the queue and maps and also its corresponding handle-number\n * @param {Promise} promise from requestIdlePromise()\n * @return {void}\n */\n\n\nfunction _removeIdlePromise(idleQueue, promise) {\n if (!promise) return; // remove timeout if exists\n\n if (promise._timeoutObj) clearTimeout(promise._timeoutObj); // remove handle-nr if exists\n\n if (idleQueue._pHM.has(promise)) {\n var handle = idleQueue._pHM.get(promise);\n\n idleQueue._hPM[\"delete\"](handle);\n\n idleQueue._pHM[\"delete\"](promise);\n } // remove from queue\n\n\n idleQueue._iC[\"delete\"](promise);\n}\n/**\n * resolves the last entry of this._iC\n * but only if the queue is empty\n * @return {Promise}\n */\n\n\nfunction _tryIdleCall(idleQueue) {\n // ensure this does not run in parallel\n if (idleQueue._tryIR || idleQueue._iC.size === 0) return;\n idleQueue._tryIR = true; // w8 one tick\n\n setTimeout(function () {\n // check if queue empty\n if (!idleQueue.isIdle()) {\n idleQueue._tryIR = false;\n return;\n }\n /**\n * wait 1 tick here\n * because many functions do IO->CPU->IO\n * which means the queue is empty for a short time\n * but the ressource is not idle\n */\n\n\n setTimeout(function () {\n // check if queue still empty\n if (!idleQueue.isIdle()) {\n idleQueue._tryIR = false;\n return;\n } // ressource is idle\n\n\n _resolveOneIdleCall(idleQueue);\n\n idleQueue._tryIR = false;\n }, 0);\n }, 0);\n}","/**\n * this is a set which automatically forgets\n * a given entry when a new entry is set and the ttl\n * of the old one is over\n */\nexport class ObliviousSet {\n ttl;\n map = new Map();\n /**\n * Creating calls to setTimeout() is expensive,\n * so we only do that if there is not timeout already open.\n */\n _to = false;\n constructor(ttl) {\n this.ttl = ttl;\n }\n has(value) {\n return this.map.has(value);\n }\n add(value) {\n this.map.set(value, now());\n /**\n * When a new value is added,\n * start the cleanup at the next tick\n * to not block the cpu for more important stuff\n * that might happen.\n */\n if (!this._to) {\n this._to = true;\n setTimeout(() => {\n this._to = false;\n removeTooOldValues(this);\n }, 0);\n }\n }\n clear() {\n this.map.clear();\n }\n}\n/**\n * Removes all entries from the set\n * where the TTL has expired\n */\nexport function removeTooOldValues(obliviousSet) {\n const olderThen = now() - obliviousSet.ttl;\n const iterator = obliviousSet.map[Symbol.iterator]();\n /**\n * Because we can assume the new values are added at the bottom,\n * we start from the top and stop as soon as we reach a non-too-old value.\n */\n while (true) {\n const next = iterator.next().value;\n if (!next) {\n return; // no more elements\n }\n const value = next[0];\n const time = next[1];\n if (time < olderThen) {\n obliviousSet.map.delete(value);\n }\n else {\n // We reached a value that is not old enough\n return;\n }\n }\n}\nexport function now() {\n return Date.now();\n}\n//# sourceMappingURL=index.js.map","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport { IdleQueue } from 'custom-idle-queue';\nimport { pluginMissing, flatClone, PROMISE_RESOLVE_FALSE, randomCouchString, ensureNotFalsy, getDefaultRevision, getDefaultRxDocumentMeta, defaultHashSha256, RXDB_VERSION } from \"./plugins/utils/index.js\";\nimport { newRxError } from \"./rx-error.js\";\nimport { createRxSchema } from \"./rx-schema.js\";\nimport { runPluginHooks, runAsyncPluginHooks } from \"./hooks.js\";\nimport { Subject } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\nimport { createRxCollection } from \"./rx-collection.js\";\nimport { flatCloneDocWithMeta, getSingleDocument, getWrappedStorageInstance, INTERNAL_STORAGE_NAME } from \"./rx-storage-helper.js\";\nimport { ObliviousSet } from 'oblivious-set';\nimport { ensureStorageTokenDocumentExists, getAllCollectionDocuments, getPrimaryKeyOfInternalDocument, INTERNAL_CONTEXT_COLLECTION, INTERNAL_STORE_SCHEMA, _collectionNamePrimary } from \"./rx-database-internal-store.js\";\nimport { removeCollectionStorages } from \"./rx-collection-helper.js\";\nimport { overwritable } from \"./overwritable.js\";\n/**\n * stores the used database names+storage names\n * so we can throw when the same database is created more then once.\n */\nvar USED_DATABASE_NAMES = new Set();\nvar DB_COUNT = 0;\nexport var RxDatabaseBase = /*#__PURE__*/function () {\n /**\n * Contains all known non-closed storage instances\n * that belong to this database.\n * Used in plugins and unit tests.\n */\n\n function RxDatabaseBase(name,\n /**\n * Uniquely identifies the instance\n * of this RxDatabase.\n */\n token, storage, instanceCreationOptions, password, multiInstance, eventReduce = false, options = {},\n /**\n * Stores information documents about the collections of the database\n */\n internalStore, hashFunction, cleanupPolicy, allowSlowCount, reactivity) {\n this.idleQueue = new IdleQueue();\n this.rxdbVersion = RXDB_VERSION;\n this.storageInstances = new Set();\n this._subs = [];\n this.startupErrors = [];\n this.onDestroy = [];\n this.destroyed = false;\n this.collections = {};\n this.eventBulks$ = new Subject();\n this.observable$ = this.eventBulks$.pipe(mergeMap(changeEventBulk => changeEventBulk.events));\n this.storageToken = PROMISE_RESOLVE_FALSE;\n this.storageTokenDocument = PROMISE_RESOLVE_FALSE;\n this.emittedEventBulkIds = new ObliviousSet(60 * 1000);\n this.name = name;\n this.token = token;\n this.storage = storage;\n this.instanceCreationOptions = instanceCreationOptions;\n this.password = password;\n this.multiInstance = multiInstance;\n this.eventReduce = eventReduce;\n this.options = options;\n this.internalStore = internalStore;\n this.hashFunction = hashFunction;\n this.cleanupPolicy = cleanupPolicy;\n this.allowSlowCount = allowSlowCount;\n this.reactivity = reactivity;\n DB_COUNT++;\n\n /**\n * In the dev-mode, we create a pseudoInstance\n * to get all properties of RxDatabase and ensure they do not\n * conflict with the collection names etc.\n * So only if it is not pseudoInstance,\n * we have all values to prepare a real RxDatabase.\n *\n * TODO this is ugly, we should use a different way in the dev-mode\n * so that all non-dev-mode code can be cleaner.\n */\n if (this.name !== 'pseudoInstance') {\n /**\n * Wrap the internal store\n * to ensure that calls to it also end up in\n * calculation of the idle state and the hooks.\n */\n this.internalStore = getWrappedStorageInstance(this.asRxDatabase, internalStore, INTERNAL_STORE_SCHEMA);\n\n /**\n * Start writing the storage token.\n * Do not await the creation because it would run\n * in a critical path that increases startup time.\n *\n * Writing the token takes about 20 milliseconds\n * even on a fast adapter, so this is worth it.\n */\n this.storageTokenDocument = ensureStorageTokenDocumentExists(this.asRxDatabase).catch(err => this.startupErrors.push(err));\n this.storageToken = this.storageTokenDocument.then(doc => doc.data.token).catch(err => this.startupErrors.push(err));\n }\n }\n var _proto = RxDatabaseBase.prototype;\n _proto.getReactivityFactory = function getReactivityFactory() {\n if (!this.reactivity) {\n throw newRxError('DB14', {\n database: this.name\n });\n }\n return this.reactivity;\n }\n\n /**\n * Because having unhandled exceptions would fail,\n * we have to store the async errors of the constructor here\n * so we can throw them later.\n */\n\n /**\n * When the database is destroyed,\n * these functions will be called an awaited.\n * Used to automatically clean up stuff that\n * belongs to this collection.\n */\n\n /**\n * Unique token that is stored with the data.\n * Used to detect if the dataset has been deleted\n * and if two RxDatabase instances work on the same dataset or not.\n *\n * Because reading and writing the storageToken runs in the hot path\n * of database creation, we do not await the storageWrites but instead\n * work with the promise when we need the value.\n */\n\n /**\n * Stores the whole state of the internal storage token document.\n * We need this in some plugins.\n */\n\n /**\n * Contains the ids of all event bulks that have been emitted\n * by the database.\n * Used to detect duplicates that come in again via BroadcastChannel\n * or other streams.\n * TODO instead of having this here, we should add a test to ensure each RxStorage\n * behaves equal and does never emit duplicate eventBulks.\n */;\n /**\n * This is the main handle-point for all change events\n * ChangeEvents created by this instance go:\n * RxDocument -> RxCollection -> RxDatabase.$emit -> MultiInstance\n * ChangeEvents created by other instances go:\n * MultiInstance -> RxDatabase.$emit -> RxCollection -> RxDatabase\n */\n _proto.$emit = function $emit(changeEventBulk) {\n if (this.emittedEventBulkIds.has(changeEventBulk.id)) {\n return;\n }\n this.emittedEventBulkIds.add(changeEventBulk.id);\n\n // emit into own stream\n this.eventBulks$.next(changeEventBulk);\n }\n\n /**\n * removes the collection-doc from the internalStore\n */;\n _proto.removeCollectionDoc = async function removeCollectionDoc(name, schema) {\n var doc = await getSingleDocument(this.internalStore, getPrimaryKeyOfInternalDocument(_collectionNamePrimary(name, schema), INTERNAL_CONTEXT_COLLECTION));\n if (!doc) {\n throw newRxError('SNH', {\n name,\n schema\n });\n }\n var writeDoc = flatCloneDocWithMeta(doc);\n writeDoc._deleted = true;\n await this.internalStore.bulkWrite([{\n document: writeDoc,\n previous: doc\n }], 'rx-database-remove-collection');\n }\n\n /**\n * creates multiple RxCollections at once\n * to be much faster by saving db txs and doing stuff in bulk-operations\n * This function is not called often, but mostly in the critical path at the initial page load\n * So it must be as fast as possible.\n */;\n _proto.addCollections = async function addCollections(collectionCreators) {\n var jsonSchemas = {};\n var schemas = {};\n var bulkPutDocs = [];\n var useArgsByCollectionName = {};\n await Promise.all(Object.entries(collectionCreators).map(async ([name, args]) => {\n var collectionName = name;\n var rxJsonSchema = args.schema;\n jsonSchemas[collectionName] = rxJsonSchema;\n var schema = createRxSchema(rxJsonSchema, this.hashFunction);\n schemas[collectionName] = schema;\n\n // collection already exists\n if (this.collections[name]) {\n throw newRxError('DB3', {\n name\n });\n }\n var collectionNameWithVersion = _collectionNamePrimary(name, rxJsonSchema);\n var collectionDocData = {\n id: getPrimaryKeyOfInternalDocument(collectionNameWithVersion, INTERNAL_CONTEXT_COLLECTION),\n key: collectionNameWithVersion,\n context: INTERNAL_CONTEXT_COLLECTION,\n data: {\n name: collectionName,\n schemaHash: await schema.hash,\n schema: schema.jsonSchema,\n version: schema.version,\n connectedStorages: []\n },\n _deleted: false,\n _meta: getDefaultRxDocumentMeta(),\n _rev: getDefaultRevision(),\n _attachments: {}\n };\n bulkPutDocs.push({\n document: collectionDocData\n });\n var useArgs = Object.assign({}, args, {\n name: collectionName,\n schema,\n database: this\n });\n\n // run hooks\n var hookData = flatClone(args);\n hookData.database = this;\n hookData.name = name;\n runPluginHooks('preCreateRxCollection', hookData);\n useArgs.conflictHandler = hookData.conflictHandler;\n useArgsByCollectionName[collectionName] = useArgs;\n }));\n var putDocsResult = await this.internalStore.bulkWrite(bulkPutDocs, 'rx-database-add-collection');\n await ensureNoStartupErrors(this);\n await Promise.all(putDocsResult.error.map(async error => {\n if (error.status !== 409) {\n throw newRxError('DB12', {\n database: this.name,\n writeError: error\n });\n }\n var docInDb = ensureNotFalsy(error.documentInDb);\n var collectionName = docInDb.data.name;\n var schema = schemas[collectionName];\n // collection already exists but has different schema\n if (docInDb.data.schemaHash !== (await schema.hash)) {\n throw newRxError('DB6', {\n database: this.name,\n collection: collectionName,\n previousSchemaHash: docInDb.data.schemaHash,\n schemaHash: await schema.hash,\n previousSchema: docInDb.data.schema,\n schema: ensureNotFalsy(jsonSchemas[collectionName])\n });\n }\n }));\n var ret = {};\n await Promise.all(Object.keys(collectionCreators).map(async collectionName => {\n var useArgs = useArgsByCollectionName[collectionName];\n var collection = await createRxCollection(useArgs);\n ret[collectionName] = collection;\n\n // set as getter to the database\n this.collections[collectionName] = collection;\n if (!this[collectionName]) {\n Object.defineProperty(this, collectionName, {\n get: () => this.collections[collectionName]\n });\n }\n }));\n return ret;\n }\n\n /**\n * runs the given function between idleQueue-locking\n */;\n _proto.lockedRun = function lockedRun(fn) {\n return this.idleQueue.wrapCall(fn);\n };\n _proto.requestIdlePromise = function requestIdlePromise() {\n return this.idleQueue.requestIdlePromise();\n }\n\n /**\n * Export database to a JSON friendly format.\n */;\n _proto.exportJSON = function exportJSON(_collections) {\n throw pluginMissing('json-dump');\n }\n\n /**\n * Import the parsed JSON export into the collection.\n * @param _exportedJSON The previously exported data from the `.exportJSON()` method.\n * @note When an interface is loaded in this collection all base properties of the type are typed as `any`\n * since data could be encrypted.\n */;\n _proto.importJSON = function importJSON(_exportedJSON) {\n throw pluginMissing('json-dump');\n };\n _proto.backup = function backup(_options) {\n throw pluginMissing('backup');\n };\n _proto.leaderElector = function leaderElector() {\n throw pluginMissing('leader-election');\n };\n _proto.isLeader = function isLeader() {\n throw pluginMissing('leader-election');\n }\n /**\n * returns a promise which resolves when the instance becomes leader\n */;\n _proto.waitForLeadership = function waitForLeadership() {\n throw pluginMissing('leader-election');\n };\n _proto.migrationStates = function migrationStates() {\n throw pluginMissing('migration-schema');\n }\n\n /**\n * destroys the database-instance and all collections\n */;\n _proto.destroy = async function destroy() {\n if (this.destroyed) {\n return PROMISE_RESOLVE_FALSE;\n }\n\n // settings destroyed = true must be the first thing to do.\n this.destroyed = true;\n await runAsyncPluginHooks('preDestroyRxDatabase', this);\n /**\n * Complete the event stream\n * to stop all subscribers who forgot to unsubscribe.\n */\n this.eventBulks$.complete();\n DB_COUNT--;\n this._subs.map(sub => sub.unsubscribe());\n\n /**\n * Destroying the pseudo instance will throw\n * because stuff is missing\n * TODO we should not need the pseudo instance on runtime.\n * we should generate the property list on build time.\n */\n if (this.name === 'pseudoInstance') {\n return PROMISE_RESOLVE_FALSE;\n }\n\n /**\n * First wait until the database is idle\n */\n return this.requestIdlePromise().then(() => Promise.all(this.onDestroy.map(fn => fn())))\n // destroy all collections\n .then(() => Promise.all(Object.keys(this.collections).map(key => this.collections[key]).map(col => col.destroy())))\n // destroy internal storage instances\n .then(() => this.internalStore.close())\n // remove combination from USED_COMBINATIONS-map\n .then(() => USED_DATABASE_NAMES.delete(this.storage.name + '|' + this.name)).then(() => true);\n }\n\n /**\n * deletes the database and its stored data.\n * Returns the names of all removed collections.\n */;\n _proto.remove = function remove() {\n return this.destroy().then(() => removeRxDatabase(this.name, this.storage, this.password));\n };\n _createClass(RxDatabaseBase, [{\n key: \"$\",\n get: function () {\n return this.observable$;\n }\n }, {\n key: \"asRxDatabase\",\n get: function () {\n return this;\n }\n }]);\n return RxDatabaseBase;\n}();\n\n/**\n * checks if an instance with same name and storage already exists\n * @throws {RxError} if used\n */\nfunction throwIfDatabaseNameUsed(name, storage) {\n var key = storage.name + '|' + name;\n if (!USED_DATABASE_NAMES.has(key)) {\n return;\n } else {\n throw newRxError('DB8', {\n name,\n storage: storage.name,\n link: 'https://rxdb.info/rx-database.html#ignoreduplicate'\n });\n }\n}\n\n/**\n * Creates the storage instances that are used internally in the database\n * to store schemas and other configuration stuff.\n */\nexport async function createRxDatabaseStorageInstance(databaseInstanceToken, storage, databaseName, options, multiInstance, password) {\n var internalStore = await storage.createStorageInstance({\n databaseInstanceToken,\n databaseName,\n collectionName: INTERNAL_STORAGE_NAME,\n schema: INTERNAL_STORE_SCHEMA,\n options,\n multiInstance,\n password,\n devMode: overwritable.isDevMode()\n });\n return internalStore;\n}\nexport function createRxDatabase({\n storage,\n instanceCreationOptions,\n name,\n password,\n multiInstance = true,\n eventReduce = true,\n ignoreDuplicate = false,\n options = {},\n cleanupPolicy,\n allowSlowCount = false,\n localDocuments = false,\n hashFunction = defaultHashSha256,\n reactivity\n}) {\n runPluginHooks('preCreateRxDatabase', {\n storage,\n instanceCreationOptions,\n name,\n password,\n multiInstance,\n eventReduce,\n ignoreDuplicate,\n options,\n localDocuments\n });\n // check if combination already used\n if (!ignoreDuplicate) {\n throwIfDatabaseNameUsed(name, storage);\n }\n USED_DATABASE_NAMES.add(storage.name + '|' + name);\n var databaseInstanceToken = randomCouchString(10);\n return createRxDatabaseStorageInstance(databaseInstanceToken, storage, name, instanceCreationOptions, multiInstance, password)\n /**\n * Creating the internal store might fail\n * if some RxStorage wrapper is used that does some checks\n * and then throw.\n * In that case we have to properly clean up the database.\n */.catch(err => {\n USED_DATABASE_NAMES.delete(storage.name + '|' + name);\n throw err;\n }).then(storageInstance => {\n var rxDatabase = new RxDatabaseBase(name, databaseInstanceToken, storage, instanceCreationOptions, password, multiInstance, eventReduce, options, storageInstance, hashFunction, cleanupPolicy, allowSlowCount, reactivity);\n return runAsyncPluginHooks('createRxDatabase', {\n database: rxDatabase,\n creator: {\n storage,\n instanceCreationOptions,\n name,\n password,\n multiInstance,\n eventReduce,\n ignoreDuplicate,\n options,\n localDocuments\n }\n }).then(() => rxDatabase);\n });\n}\n\n/**\n * Removes the database and all its known data\n * with all known collections and all internal meta data.\n *\n * Returns the names of the removed collections.\n */\nexport async function removeRxDatabase(databaseName, storage, password) {\n var databaseInstanceToken = randomCouchString(10);\n var dbInternalsStorageInstance = await createRxDatabaseStorageInstance(databaseInstanceToken, storage, databaseName, {}, false, password);\n var collectionDocs = await getAllCollectionDocuments(dbInternalsStorageInstance);\n var collectionNames = new Set();\n collectionDocs.forEach(doc => collectionNames.add(doc.data.name));\n var removedCollectionNames = Array.from(collectionNames);\n await Promise.all(removedCollectionNames.map(collectionName => removeCollectionStorages(storage, dbInternalsStorageInstance, databaseInstanceToken, databaseName, collectionName, password)));\n await runAsyncPluginHooks('postRemoveRxDatabase', {\n databaseName,\n storage\n });\n await dbInternalsStorageInstance.remove();\n return removedCollectionNames;\n}\nexport function isRxDatabase(obj) {\n return obj instanceof RxDatabaseBase;\n}\nexport function dbCount() {\n return DB_COUNT;\n}\n\n/**\n * Returns true if the given RxDatabase was the first\n * instance that was created on the storage with this name.\n *\n * Can be used for some optimizations because on the first instantiation,\n * we can assume that no data was written before.\n */\nexport async function isRxDatabaseFirstTimeInstantiated(database) {\n var tokenDoc = await database.storageTokenDocument;\n return tokenDoc.data.instanceToken === database.token;\n}\n\n/**\n * For better performance some tasks run async\n * and are awaited later.\n * But we still have to ensure that there have been no errors\n * on database creation.\n */\nexport async function ensureNoStartupErrors(rxDatabase) {\n await rxDatabase.storageToken;\n if (rxDatabase.startupErrors[0]) {\n throw rxDatabase.startupErrors[0];\n }\n}\n//# sourceMappingURL=rx-database.js.map","/**\n * this handles how plugins are added to rxdb\n * basically it changes the internal prototypes\n * by passing them to the plugins-functions\n */\nimport { RxSchema } from \"./rx-schema.js\";\nimport { basePrototype as RxDocumentPrototype } from \"./rx-document.js\";\nimport { RxQueryBase } from \"./rx-query.js\";\nimport { RxCollectionBase } from \"./rx-collection.js\";\nimport { RxDatabaseBase } from \"./rx-database.js\";\nimport { overwritable } from \"./overwritable.js\";\nimport { HOOKS, runPluginHooks } from \"./hooks.js\";\nimport { newRxError, newRxTypeError } from \"./rx-error.js\";\n\n/**\n * prototypes that can be manipulated with a plugin\n */\nvar PROTOTYPES = {\n RxSchema: RxSchema.prototype,\n RxDocument: RxDocumentPrototype,\n RxQuery: RxQueryBase.prototype,\n RxCollection: RxCollectionBase.prototype,\n RxDatabase: RxDatabaseBase.prototype\n};\nvar ADDED_PLUGINS = new Set();\nvar ADDED_PLUGIN_NAMES = new Set();\n\n/**\n * Add a plugin to the RxDB library.\n * Plugins are added globally and cannot be removed.\n */\nexport function addRxPlugin(plugin) {\n runPluginHooks('preAddRxPlugin', {\n plugin,\n plugins: ADDED_PLUGINS\n });\n\n // do nothing if added before\n if (ADDED_PLUGINS.has(plugin)) {\n return;\n } else {\n // ensure no other plugin with the same name was already added\n if (ADDED_PLUGIN_NAMES.has(plugin.name)) {\n throw newRxError('PL3', {\n name: plugin.name,\n plugin\n });\n }\n ADDED_PLUGINS.add(plugin);\n ADDED_PLUGIN_NAMES.add(plugin.name);\n }\n\n /**\n * To identify broken configurations,\n * we only allow RxDB plugins to be passed into addRxPlugin().\n */\n if (!plugin.rxdb) {\n throw newRxTypeError('PL1', {\n plugin\n });\n }\n if (plugin.init) {\n plugin.init();\n }\n\n // prototype-overwrites\n if (plugin.prototypes) {\n Object.entries(plugin.prototypes).forEach(([name, fun]) => {\n return fun(PROTOTYPES[name]);\n });\n }\n // overwritable-overwrites\n if (plugin.overwritable) {\n Object.assign(overwritable, plugin.overwritable);\n }\n // extend-hooks\n if (plugin.hooks) {\n Object.entries(plugin.hooks).forEach(([name, hooksObj]) => {\n if (hooksObj.after) {\n HOOKS[name].push(hooksObj.after);\n }\n if (hooksObj.before) {\n HOOKS[name].unshift(hooksObj.before);\n }\n });\n }\n}\n//# sourceMappingURL=plugin.js.map","/**\n * returns true if the given object is a promise\n */\nexport function isPromise(obj) {\n return obj && typeof obj.then === 'function';\n}\nexport var PROMISE_RESOLVED_FALSE = Promise.resolve(false);\nexport var PROMISE_RESOLVED_TRUE = Promise.resolve(true);\nexport var PROMISE_RESOLVED_VOID = Promise.resolve();\nexport function sleep(time, resolveWith) {\n if (!time) time = 0;\n return new Promise(function (res) {\n return setTimeout(function () {\n return res(resolveWith);\n }, time);\n });\n}\nexport function randomInt(min, max) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n}\n\n/**\n * https://stackoverflow.com/a/8084248\n */\nexport function randomToken() {\n return Math.random().toString(36).substring(2);\n}\nvar lastMs = 0;\n\n/**\n * Returns the current unix time in micro-seconds,\n * WARNING: This is a pseudo-function\n * Performance.now is not reliable in webworkers, so we just make sure to never return the same time.\n * This is enough in browsers, and this function will not be used in nodejs.\n * The main reason for this hack is to ensure that BroadcastChannel behaves equal to production when it is used in fast-running unit tests.\n */\nexport function microSeconds() {\n var ret = Date.now() * 1000; // milliseconds to microseconds\n if (ret <= lastMs) {\n ret = lastMs + 1;\n }\n lastMs = ret;\n return ret;\n}\n\n/**\n * Check if WebLock API is supported.\n * @link https://developer.mozilla.org/en-US/docs/Web/API/Web_Locks_API\n */\nexport function supportsWebLockAPI() {\n if (typeof navigator !== 'undefined' && typeof navigator.locks !== 'undefined' && typeof navigator.locks.request === 'function') {\n return true;\n } else {\n return false;\n }\n}","import { microSeconds as micro, PROMISE_RESOLVED_VOID } from '../util.js';\nexport var microSeconds = micro;\nexport var type = 'native';\nexport function create(channelName) {\n var state = {\n time: micro(),\n messagesCallback: null,\n bc: new BroadcastChannel(channelName),\n subFns: [] // subscriberFunctions\n };\n\n state.bc.onmessage = function (msgEvent) {\n if (state.messagesCallback) {\n state.messagesCallback(msgEvent.data);\n }\n };\n return state;\n}\nexport function close(channelState) {\n channelState.bc.close();\n channelState.subFns = [];\n}\nexport function postMessage(channelState, messageJson) {\n try {\n channelState.bc.postMessage(messageJson, false);\n return PROMISE_RESOLVED_VOID;\n } catch (err) {\n return Promise.reject(err);\n }\n}\nexport function onMessage(channelState, fn) {\n channelState.messagesCallback = fn;\n}\nexport function canBeUsed() {\n // Deno runtime\n // eslint-disable-next-line\n if (typeof globalThis !== 'undefined' && globalThis.Deno && globalThis.Deno.args) {\n return true;\n }\n\n // Browser runtime\n if ((typeof window !== 'undefined' || typeof self !== 'undefined') && typeof BroadcastChannel === 'function') {\n if (BroadcastChannel._pubkey) {\n throw new Error('BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill');\n }\n return true;\n } else {\n return false;\n }\n}\nexport function averageResponseTime() {\n return 150;\n}\nexport var NativeMethod = {\n create: create,\n close: close,\n onMessage: onMessage,\n postMessage: postMessage,\n canBeUsed: canBeUsed,\n type: type,\n averageResponseTime: averageResponseTime,\n microSeconds: microSeconds\n};","export function fillOptionsWithDefaults() {\n var originalOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = JSON.parse(JSON.stringify(originalOptions));\n\n // main\n if (typeof options.webWorkerSupport === 'undefined') options.webWorkerSupport = true;\n\n // indexed-db\n if (!options.idb) options.idb = {};\n // after this time the messages get deleted\n if (!options.idb.ttl) options.idb.ttl = 1000 * 45;\n if (!options.idb.fallbackInterval) options.idb.fallbackInterval = 150;\n // handles abrupt db onclose events.\n if (originalOptions.idb && typeof originalOptions.idb.onclose === 'function') options.idb.onclose = originalOptions.idb.onclose;\n\n // localstorage\n if (!options.localstorage) options.localstorage = {};\n if (!options.localstorage.removeTimeout) options.localstorage.removeTimeout = 1000 * 60;\n\n // custom methods\n if (originalOptions.methods) options.methods = originalOptions.methods;\n\n // node\n if (!options.node) options.node = {};\n if (!options.node.ttl) options.node.ttl = 1000 * 60 * 2; // 2 minutes;\n /**\n * On linux use 'ulimit -Hn' to get the limit of open files.\n * On ubuntu this was 4096 for me, so we use half of that as maxParallelWrites default.\n */\n if (!options.node.maxParallelWrites) options.node.maxParallelWrites = 2048;\n if (typeof options.node.useFastPath === 'undefined') options.node.useFastPath = true;\n return options;\n}","/**\n * this method uses indexeddb to store the messages\n * There is currently no observerAPI for idb\n * @link https://github.com/w3c/IndexedDB/issues/51\n * \n * When working on this, ensure to use these performance optimizations:\n * @link https://rxdb.info/slow-indexeddb.html\n */\n\nimport { sleep, randomInt, randomToken, microSeconds as micro, PROMISE_RESOLVED_VOID } from '../util.js';\nexport var microSeconds = micro;\nimport { ObliviousSet } from 'oblivious-set';\nimport { fillOptionsWithDefaults } from '../options.js';\nvar DB_PREFIX = 'pubkey.broadcast-channel-0-';\nvar OBJECT_STORE_ID = 'messages';\n\n/**\n * Use relaxed durability for faster performance on all transactions.\n * @link https://nolanlawson.com/2021/08/22/speeding-up-indexeddb-reads-and-writes/\n */\nexport var TRANSACTION_SETTINGS = {\n durability: 'relaxed'\n};\nexport var type = 'idb';\nexport function getIdb() {\n if (typeof indexedDB !== 'undefined') return indexedDB;\n if (typeof window !== 'undefined') {\n if (typeof window.mozIndexedDB !== 'undefined') return window.mozIndexedDB;\n if (typeof window.webkitIndexedDB !== 'undefined') return window.webkitIndexedDB;\n if (typeof window.msIndexedDB !== 'undefined') return window.msIndexedDB;\n }\n return false;\n}\n\n/**\n * If possible, we should explicitly commit IndexedDB transactions\n * for better performance.\n * @link https://nolanlawson.com/2021/08/22/speeding-up-indexeddb-reads-and-writes/\n */\nexport function commitIndexedDBTransaction(tx) {\n if (tx.commit) {\n tx.commit();\n }\n}\nexport function createDatabase(channelName) {\n var IndexedDB = getIdb();\n\n // create table\n var dbName = DB_PREFIX + channelName;\n\n /**\n * All IndexedDB databases are opened without version\n * because it is a bit faster, especially on firefox\n * @link http://nparashuram.com/IndexedDB/perf/#Open%20Database%20with%20version\n */\n var openRequest = IndexedDB.open(dbName);\n openRequest.onupgradeneeded = function (ev) {\n var db = ev.target.result;\n db.createObjectStore(OBJECT_STORE_ID, {\n keyPath: 'id',\n autoIncrement: true\n });\n };\n return new Promise(function (res, rej) {\n openRequest.onerror = function (ev) {\n return rej(ev);\n };\n openRequest.onsuccess = function () {\n res(openRequest.result);\n };\n });\n}\n\n/**\n * writes the new message to the database\n * so other readers can find it\n */\nexport function writeMessage(db, readerUuid, messageJson) {\n var time = Date.now();\n var writeObject = {\n uuid: readerUuid,\n time: time,\n data: messageJson\n };\n var tx = db.transaction([OBJECT_STORE_ID], 'readwrite', TRANSACTION_SETTINGS);\n return new Promise(function (res, rej) {\n tx.oncomplete = function () {\n return res();\n };\n tx.onerror = function (ev) {\n return rej(ev);\n };\n var objectStore = tx.objectStore(OBJECT_STORE_ID);\n objectStore.add(writeObject);\n commitIndexedDBTransaction(tx);\n });\n}\nexport function getAllMessages(db) {\n var tx = db.transaction(OBJECT_STORE_ID, 'readonly', TRANSACTION_SETTINGS);\n var objectStore = tx.objectStore(OBJECT_STORE_ID);\n var ret = [];\n return new Promise(function (res) {\n objectStore.openCursor().onsuccess = function (ev) {\n var cursor = ev.target.result;\n if (cursor) {\n ret.push(cursor.value);\n //alert(\"Name for SSN \" + cursor.key + \" is \" + cursor.value.name);\n cursor[\"continue\"]();\n } else {\n commitIndexedDBTransaction(tx);\n res(ret);\n }\n };\n });\n}\nexport function getMessagesHigherThan(db, lastCursorId) {\n var tx = db.transaction(OBJECT_STORE_ID, 'readonly', TRANSACTION_SETTINGS);\n var objectStore = tx.objectStore(OBJECT_STORE_ID);\n var ret = [];\n var keyRangeValue = IDBKeyRange.bound(lastCursorId + 1, Infinity);\n\n /**\n * Optimization shortcut,\n * if getAll() can be used, do not use a cursor.\n * @link https://rxdb.info/slow-indexeddb.html\n */\n if (objectStore.getAll) {\n var getAllRequest = objectStore.getAll(keyRangeValue);\n return new Promise(function (res, rej) {\n getAllRequest.onerror = function (err) {\n return rej(err);\n };\n getAllRequest.onsuccess = function (e) {\n res(e.target.result);\n };\n });\n }\n function openCursor() {\n // Occasionally Safari will fail on IDBKeyRange.bound, this\n // catches that error, having it open the cursor to the first\n // item. When it gets data it will advance to the desired key.\n try {\n keyRangeValue = IDBKeyRange.bound(lastCursorId + 1, Infinity);\n return objectStore.openCursor(keyRangeValue);\n } catch (e) {\n return objectStore.openCursor();\n }\n }\n return new Promise(function (res, rej) {\n var openCursorRequest = openCursor();\n openCursorRequest.onerror = function (err) {\n return rej(err);\n };\n openCursorRequest.onsuccess = function (ev) {\n var cursor = ev.target.result;\n if (cursor) {\n if (cursor.value.id < lastCursorId + 1) {\n cursor[\"continue\"](lastCursorId + 1);\n } else {\n ret.push(cursor.value);\n cursor[\"continue\"]();\n }\n } else {\n commitIndexedDBTransaction(tx);\n res(ret);\n }\n };\n });\n}\nexport function removeMessagesById(channelState, ids) {\n if (channelState.closed) {\n return Promise.resolve([]);\n }\n var tx = channelState.db.transaction(OBJECT_STORE_ID, 'readwrite', TRANSACTION_SETTINGS);\n var objectStore = tx.objectStore(OBJECT_STORE_ID);\n return Promise.all(ids.map(function (id) {\n var deleteRequest = objectStore[\"delete\"](id);\n return new Promise(function (res) {\n deleteRequest.onsuccess = function () {\n return res();\n };\n });\n }));\n}\nexport function getOldMessages(db, ttl) {\n var olderThen = Date.now() - ttl;\n var tx = db.transaction(OBJECT_STORE_ID, 'readonly', TRANSACTION_SETTINGS);\n var objectStore = tx.objectStore(OBJECT_STORE_ID);\n var ret = [];\n return new Promise(function (res) {\n objectStore.openCursor().onsuccess = function (ev) {\n var cursor = ev.target.result;\n if (cursor) {\n var msgObk = cursor.value;\n if (msgObk.time < olderThen) {\n ret.push(msgObk);\n //alert(\"Name for SSN \" + cursor.key + \" is \" + cursor.value.name);\n cursor[\"continue\"]();\n } else {\n // no more old messages,\n commitIndexedDBTransaction(tx);\n res(ret);\n }\n } else {\n res(ret);\n }\n };\n });\n}\nexport function cleanOldMessages(channelState) {\n return getOldMessages(channelState.db, channelState.options.idb.ttl).then(function (tooOld) {\n return removeMessagesById(channelState, tooOld.map(function (msg) {\n return msg.id;\n }));\n });\n}\nexport function create(channelName, options) {\n options = fillOptionsWithDefaults(options);\n return createDatabase(channelName).then(function (db) {\n var state = {\n closed: false,\n lastCursorId: 0,\n channelName: channelName,\n options: options,\n uuid: randomToken(),\n /**\n * emittedMessagesIds\n * contains all messages that have been emitted before\n * @type {ObliviousSet}\n */\n eMIs: new ObliviousSet(options.idb.ttl * 2),\n // ensures we do not read messages in parallel\n writeBlockPromise: PROMISE_RESOLVED_VOID,\n messagesCallback: null,\n readQueuePromises: [],\n db: db\n };\n\n /**\n * Handle abrupt closes that do not originate from db.close().\n * This could happen, for example, if the underlying storage is\n * removed or if the user clears the database in the browser's\n * history preferences.\n */\n db.onclose = function () {\n state.closed = true;\n if (options.idb.onclose) options.idb.onclose();\n };\n\n /**\n * if service-workers are used,\n * we have no 'storage'-event if they post a message,\n * therefore we also have to set an interval\n */\n _readLoop(state);\n return state;\n });\n}\nfunction _readLoop(state) {\n if (state.closed) return;\n readNewMessages(state).then(function () {\n return sleep(state.options.idb.fallbackInterval);\n }).then(function () {\n return _readLoop(state);\n });\n}\nfunction _filterMessage(msgObj, state) {\n if (msgObj.uuid === state.uuid) return false; // send by own\n if (state.eMIs.has(msgObj.id)) return false; // already emitted\n if (msgObj.data.time < state.messagesCallbackTime) return false; // older then onMessageCallback\n return true;\n}\n\n/**\n * reads all new messages from the database and emits them\n */\nfunction readNewMessages(state) {\n // channel already closed\n if (state.closed) return PROMISE_RESOLVED_VOID;\n\n // if no one is listening, we do not need to scan for new messages\n if (!state.messagesCallback) return PROMISE_RESOLVED_VOID;\n return getMessagesHigherThan(state.db, state.lastCursorId).then(function (newerMessages) {\n var useMessages = newerMessages\n /**\n * there is a bug in iOS where the msgObj can be undefined sometimes\n * so we filter them out\n * @link https://github.com/pubkey/broadcast-channel/issues/19\n */.filter(function (msgObj) {\n return !!msgObj;\n }).map(function (msgObj) {\n if (msgObj.id > state.lastCursorId) {\n state.lastCursorId = msgObj.id;\n }\n return msgObj;\n }).filter(function (msgObj) {\n return _filterMessage(msgObj, state);\n }).sort(function (msgObjA, msgObjB) {\n return msgObjA.time - msgObjB.time;\n }); // sort by time\n useMessages.forEach(function (msgObj) {\n if (state.messagesCallback) {\n state.eMIs.add(msgObj.id);\n state.messagesCallback(msgObj.data);\n }\n });\n return PROMISE_RESOLVED_VOID;\n });\n}\nexport function close(channelState) {\n channelState.closed = true;\n channelState.db.close();\n}\nexport function postMessage(channelState, messageJson) {\n channelState.writeBlockPromise = channelState.writeBlockPromise.then(function () {\n return writeMessage(channelState.db, channelState.uuid, messageJson);\n }).then(function () {\n if (randomInt(0, 10) === 0) {\n /* await (do not await) */\n cleanOldMessages(channelState);\n }\n });\n return channelState.writeBlockPromise;\n}\nexport function onMessage(channelState, fn, time) {\n channelState.messagesCallbackTime = time;\n channelState.messagesCallback = fn;\n readNewMessages(channelState);\n}\nexport function canBeUsed() {\n return !!getIdb();\n}\nexport function averageResponseTime(options) {\n return options.idb.fallbackInterval * 2;\n}\nexport var IndexedDBMethod = {\n create: create,\n close: close,\n onMessage: onMessage,\n postMessage: postMessage,\n canBeUsed: canBeUsed,\n type: type,\n averageResponseTime: averageResponseTime,\n microSeconds: microSeconds\n};","/**\n * A localStorage-only method which uses localstorage and its 'storage'-event\n * This does not work inside webworkers because they have no access to localstorage\n * This is basically implemented to support IE9 or your grandmother's toaster.\n * @link https://caniuse.com/#feat=namevalue-storage\n * @link https://caniuse.com/#feat=indexeddb\n */\n\nimport { ObliviousSet } from 'oblivious-set';\nimport { fillOptionsWithDefaults } from '../options.js';\nimport { sleep, randomToken, microSeconds as micro } from '../util.js';\nexport var microSeconds = micro;\nvar KEY_PREFIX = 'pubkey.broadcastChannel-';\nexport var type = 'localstorage';\n\n/**\n * copied from crosstab\n * @link https://github.com/tejacques/crosstab/blob/master/src/crosstab.js#L32\n */\nexport function getLocalStorage() {\n var localStorage;\n if (typeof window === 'undefined') return null;\n try {\n localStorage = window.localStorage;\n localStorage = window['ie8-eventlistener/storage'] || window.localStorage;\n } catch (e) {\n // New versions of Firefox throw a Security exception\n // if cookies are disabled. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1028153\n }\n return localStorage;\n}\nexport function storageKey(channelName) {\n return KEY_PREFIX + channelName;\n}\n\n/**\n* writes the new message to the storage\n* and fires the storage-event so other readers can find it\n*/\nexport function postMessage(channelState, messageJson) {\n return new Promise(function (res) {\n sleep().then(function () {\n var key = storageKey(channelState.channelName);\n var writeObj = {\n token: randomToken(),\n time: Date.now(),\n data: messageJson,\n uuid: channelState.uuid\n };\n var value = JSON.stringify(writeObj);\n getLocalStorage().setItem(key, value);\n\n /**\n * StorageEvent does not fire the 'storage' event\n * in the window that changes the state of the local storage.\n * So we fire it manually\n */\n var ev = document.createEvent('Event');\n ev.initEvent('storage', true, true);\n ev.key = key;\n ev.newValue = value;\n window.dispatchEvent(ev);\n res();\n });\n });\n}\nexport function addStorageEventListener(channelName, fn) {\n var key = storageKey(channelName);\n var listener = function listener(ev) {\n if (ev.key === key) {\n fn(JSON.parse(ev.newValue));\n }\n };\n window.addEventListener('storage', listener);\n return listener;\n}\nexport function removeStorageEventListener(listener) {\n window.removeEventListener('storage', listener);\n}\nexport function create(channelName, options) {\n options = fillOptionsWithDefaults(options);\n if (!canBeUsed()) {\n throw new Error('BroadcastChannel: localstorage cannot be used');\n }\n var uuid = randomToken();\n\n /**\n * eMIs\n * contains all messages that have been emitted before\n * @type {ObliviousSet}\n */\n var eMIs = new ObliviousSet(options.localstorage.removeTimeout);\n var state = {\n channelName: channelName,\n uuid: uuid,\n eMIs: eMIs // emittedMessagesIds\n };\n\n state.listener = addStorageEventListener(channelName, function (msgObj) {\n if (!state.messagesCallback) return; // no listener\n if (msgObj.uuid === uuid) return; // own message\n if (!msgObj.token || eMIs.has(msgObj.token)) return; // already emitted\n if (msgObj.data.time && msgObj.data.time < state.messagesCallbackTime) return; // too old\n\n eMIs.add(msgObj.token);\n state.messagesCallback(msgObj.data);\n });\n return state;\n}\nexport function close(channelState) {\n removeStorageEventListener(channelState.listener);\n}\nexport function onMessage(channelState, fn, time) {\n channelState.messagesCallbackTime = time;\n channelState.messagesCallback = fn;\n}\nexport function canBeUsed() {\n var ls = getLocalStorage();\n if (!ls) return false;\n try {\n var key = '__broadcastchannel_check';\n ls.setItem(key, 'works');\n ls.removeItem(key);\n } catch (e) {\n // Safari 10 in private mode will not allow write access to local\n // storage and fail with a QuotaExceededError. See\n // https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API#Private_Browsing_Incognito_modes\n return false;\n }\n return true;\n}\nexport function averageResponseTime() {\n var defaultTime = 120;\n var userAgent = navigator.userAgent.toLowerCase();\n if (userAgent.includes('safari') && !userAgent.includes('chrome')) {\n // safari is much slower so this time is higher\n return defaultTime * 2;\n }\n return defaultTime;\n}\nexport var LocalstorageMethod = {\n create: create,\n close: close,\n onMessage: onMessage,\n postMessage: postMessage,\n canBeUsed: canBeUsed,\n type: type,\n averageResponseTime: averageResponseTime,\n microSeconds: microSeconds\n};","import { microSeconds as micro } from '../util.js';\nexport var microSeconds = micro;\nexport var type = 'simulate';\nvar SIMULATE_CHANNELS = new Set();\nexport function create(channelName) {\n var state = {\n time: microSeconds(),\n name: channelName,\n messagesCallback: null\n };\n SIMULATE_CHANNELS.add(state);\n return state;\n}\nexport function close(channelState) {\n SIMULATE_CHANNELS[\"delete\"](channelState);\n}\nexport var SIMULATE_DELAY_TIME = 5;\nexport function postMessage(channelState, messageJson) {\n return new Promise(function (res) {\n return setTimeout(function () {\n var channelArray = Array.from(SIMULATE_CHANNELS);\n channelArray.forEach(function (channel) {\n if (channel.name === channelState.name &&\n // has same name\n channel !== channelState &&\n // not own channel\n !!channel.messagesCallback &&\n // has subscribers\n channel.time < messageJson.time // channel not created after postMessage() call\n ) {\n channel.messagesCallback(messageJson);\n }\n });\n res();\n }, SIMULATE_DELAY_TIME);\n });\n}\nexport function onMessage(channelState, fn) {\n channelState.messagesCallback = fn;\n}\nexport function canBeUsed() {\n return true;\n}\nexport function averageResponseTime() {\n return SIMULATE_DELAY_TIME;\n}\nexport var SimulateMethod = {\n create: create,\n close: close,\n onMessage: onMessage,\n postMessage: postMessage,\n canBeUsed: canBeUsed,\n type: type,\n averageResponseTime: averageResponseTime,\n microSeconds: microSeconds\n};","import { NativeMethod } from './methods/native.js';\nimport { IndexedDBMethod } from './methods/indexed-db.js';\nimport { LocalstorageMethod } from './methods/localstorage.js';\nimport { SimulateMethod } from './methods/simulate.js';\n// the line below will be removed from es5/browser builds\n\n// order is important\nvar METHODS = [NativeMethod,\n// fastest\nIndexedDBMethod, LocalstorageMethod];\nexport function chooseMethod(options) {\n var chooseMethods = [].concat(options.methods, METHODS).filter(Boolean);\n\n // the line below will be removed from es5/browser builds\n\n // directly chosen\n if (options.type) {\n if (options.type === 'simulate') {\n // only use simulate-method if directly chosen\n return SimulateMethod;\n }\n var ret = chooseMethods.find(function (m) {\n return m.type === options.type;\n });\n if (!ret) throw new Error('method-type ' + options.type + ' not found');else return ret;\n }\n\n /**\n * if no webworker support is needed,\n * remove idb from the list so that localstorage will be chosen\n */\n if (!options.webWorkerSupport) {\n chooseMethods = chooseMethods.filter(function (m) {\n return m.type !== 'idb';\n });\n }\n var useMethod = chooseMethods.find(function (method) {\n return method.canBeUsed();\n });\n if (!useMethod) {\n throw new Error(\"No usable method found in \" + JSON.stringify(METHODS.map(function (m) {\n return m.type;\n })));\n } else {\n return useMethod;\n }\n}","import { isPromise, PROMISE_RESOLVED_FALSE, PROMISE_RESOLVED_VOID } from './util.js';\nimport { chooseMethod } from './method-chooser.js';\nimport { fillOptionsWithDefaults } from './options.js';\n\n/**\n * Contains all open channels,\n * used in tests to ensure everything is closed.\n */\nexport var OPEN_BROADCAST_CHANNELS = new Set();\nvar lastId = 0;\nexport var BroadcastChannel = function BroadcastChannel(name, options) {\n // identifier of the channel to debug stuff\n this.id = lastId++;\n OPEN_BROADCAST_CHANNELS.add(this);\n this.name = name;\n if (ENFORCED_OPTIONS) {\n options = ENFORCED_OPTIONS;\n }\n this.options = fillOptionsWithDefaults(options);\n this.method = chooseMethod(this.options);\n\n // isListening\n this._iL = false;\n\n /**\n * _onMessageListener\n * setting onmessage twice,\n * will overwrite the first listener\n */\n this._onML = null;\n\n /**\n * _addEventListeners\n */\n this._addEL = {\n message: [],\n internal: []\n };\n\n /**\n * Unsent message promises\n * where the sending is still in progress\n * @type {Set}\n */\n this._uMP = new Set();\n\n /**\n * _beforeClose\n * array of promises that will be awaited\n * before the channel is closed\n */\n this._befC = [];\n\n /**\n * _preparePromise\n */\n this._prepP = null;\n _prepareChannel(this);\n};\n\n// STATICS\n\n/**\n * used to identify if someone overwrites\n * window.BroadcastChannel with this\n * See methods/native.js\n */\nBroadcastChannel._pubkey = true;\n\n/**\n * clears the tmp-folder if is node\n * @return {Promise} true if has run, false if not node\n */\nexport function clearNodeFolder(options) {\n options = fillOptionsWithDefaults(options);\n var method = chooseMethod(options);\n if (method.type === 'node') {\n return method.clearNodeFolder().then(function () {\n return true;\n });\n } else {\n return PROMISE_RESOLVED_FALSE;\n }\n}\n\n/**\n * if set, this method is enforced,\n * no mather what the options are\n */\nvar ENFORCED_OPTIONS;\nexport function enforceOptions(options) {\n ENFORCED_OPTIONS = options;\n}\n\n// PROTOTYPE\nBroadcastChannel.prototype = {\n postMessage: function postMessage(msg) {\n if (this.closed) {\n throw new Error('BroadcastChannel.postMessage(): ' + 'Cannot post message after channel has closed ' +\n /**\n * In the past when this error appeared, it was really hard to debug.\n * So now we log the msg together with the error so it at least\n * gives some clue about where in your application this happens.\n */\n JSON.stringify(msg));\n }\n return _post(this, 'message', msg);\n },\n postInternal: function postInternal(msg) {\n return _post(this, 'internal', msg);\n },\n set onmessage(fn) {\n var time = this.method.microSeconds();\n var listenObj = {\n time: time,\n fn: fn\n };\n _removeListenerObject(this, 'message', this._onML);\n if (fn && typeof fn === 'function') {\n this._onML = listenObj;\n _addListenerObject(this, 'message', listenObj);\n } else {\n this._onML = null;\n }\n },\n addEventListener: function addEventListener(type, fn) {\n var time = this.method.microSeconds();\n var listenObj = {\n time: time,\n fn: fn\n };\n _addListenerObject(this, type, listenObj);\n },\n removeEventListener: function removeEventListener(type, fn) {\n var obj = this._addEL[type].find(function (obj) {\n return obj.fn === fn;\n });\n _removeListenerObject(this, type, obj);\n },\n close: function close() {\n var _this = this;\n if (this.closed) {\n return;\n }\n OPEN_BROADCAST_CHANNELS[\"delete\"](this);\n this.closed = true;\n var awaitPrepare = this._prepP ? this._prepP : PROMISE_RESOLVED_VOID;\n this._onML = null;\n this._addEL.message = [];\n return awaitPrepare\n // wait until all current sending are processed\n .then(function () {\n return Promise.all(Array.from(_this._uMP));\n })\n // run before-close hooks\n .then(function () {\n return Promise.all(_this._befC.map(function (fn) {\n return fn();\n }));\n })\n // close the channel\n .then(function () {\n return _this.method.close(_this._state);\n });\n },\n get type() {\n return this.method.type;\n },\n get isClosed() {\n return this.closed;\n }\n};\n\n/**\n * Post a message over the channel\n * @returns {Promise} that resolved when the message sending is done\n */\nfunction _post(broadcastChannel, type, msg) {\n var time = broadcastChannel.method.microSeconds();\n var msgObj = {\n time: time,\n type: type,\n data: msg\n };\n var awaitPrepare = broadcastChannel._prepP ? broadcastChannel._prepP : PROMISE_RESOLVED_VOID;\n return awaitPrepare.then(function () {\n var sendPromise = broadcastChannel.method.postMessage(broadcastChannel._state, msgObj);\n\n // add/remove to unsent messages list\n broadcastChannel._uMP.add(sendPromise);\n sendPromise[\"catch\"]().then(function () {\n return broadcastChannel._uMP[\"delete\"](sendPromise);\n });\n return sendPromise;\n });\n}\nfunction _prepareChannel(channel) {\n var maybePromise = channel.method.create(channel.name, channel.options);\n if (isPromise(maybePromise)) {\n channel._prepP = maybePromise;\n maybePromise.then(function (s) {\n // used in tests to simulate slow runtime\n /*if (channel.options.prepareDelay) {\n await new Promise(res => setTimeout(res, this.options.prepareDelay));\n }*/\n channel._state = s;\n });\n } else {\n channel._state = maybePromise;\n }\n}\nfunction _hasMessageListeners(channel) {\n if (channel._addEL.message.length > 0) return true;\n if (channel._addEL.internal.length > 0) return true;\n return false;\n}\nfunction _addListenerObject(channel, type, obj) {\n channel._addEL[type].push(obj);\n _startListening(channel);\n}\nfunction _removeListenerObject(channel, type, obj) {\n channel._addEL[type] = channel._addEL[type].filter(function (o) {\n return o !== obj;\n });\n _stopListening(channel);\n}\nfunction _startListening(channel) {\n if (!channel._iL && _hasMessageListeners(channel)) {\n // someone is listening, start subscribing\n\n var listenerFn = function listenerFn(msgObj) {\n channel._addEL[msgObj.type].forEach(function (listenerObject) {\n if (msgObj.time >= listenerObject.time) {\n listenerObject.fn(msgObj.data);\n }\n });\n };\n var time = channel.method.microSeconds();\n if (channel._prepP) {\n channel._prepP.then(function () {\n channel._iL = true;\n channel.method.onMessage(channel._state, listenerFn, time);\n });\n } else {\n channel._iL = true;\n channel.method.onMessage(channel._state, listenerFn, time);\n }\n }\n}\nfunction _stopListening(channel) {\n if (channel._iL && !_hasMessageListeners(channel)) {\n // no one is listening, stop subscribing\n channel._iL = false;\n var time = channel.method.microSeconds();\n channel.method.onMessage(channel._state, null, time);\n }\n}","/* global WorkerGlobalScope */\n\nexport function addBrowser(fn) {\n if (typeof WorkerGlobalScope === 'function' && self instanceof WorkerGlobalScope) {\n /**\n * Because killing a worker does directly stop the excution\n * of the code, our only chance is to overwrite the close function\n * which could work some times.\n * @link https://stackoverflow.com/q/72903255/3443137\n */\n var oldClose = self.close.bind(self);\n self.close = function () {\n fn();\n return oldClose();\n };\n } else {\n /**\n * if we are on react-native, there is no window.addEventListener\n * @link https://github.com/pubkey/unload/issues/6\n */\n if (typeof window.addEventListener !== 'function') {\n return;\n }\n\n /**\n * for normal browser-windows, we use the beforeunload-event\n */\n window.addEventListener('beforeunload', function () {\n fn();\n }, true);\n\n /**\n * for iframes, we have to use the unload-event\n * @link https://stackoverflow.com/q/47533670/3443137\n */\n window.addEventListener('unload', function () {\n fn();\n }, true);\n }\n\n /**\n * TODO add fallback for safari-mobile\n * @link https://stackoverflow.com/a/26193516/3443137\n */\n}","export function addNode(fn) {\n process.on('exit', function () {\n return fn();\n });\n\n /**\n * on the following events,\n * the process will not end if there are\n * event-handlers attached,\n * therefore we have to call process.exit()\n */\n process.on('beforeExit', function () {\n return fn().then(function () {\n return process.exit();\n });\n });\n // catches ctrl+c event\n process.on('SIGINT', function () {\n return fn().then(function () {\n return process.exit();\n });\n });\n // catches uncaught exceptions\n process.on('uncaughtException', function (err) {\n return fn().then(function () {\n console.trace(err);\n process.exit(101);\n });\n });\n}","import { addBrowser } from './browser.js';\nimport { addNode } from './node.js';\n\n/**\n * Use the code directly to prevent import problems\n * with the detect-node package.\n * @link https://github.com/iliakan/detect-node/blob/master/index.js\n */\nvar isNode = Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';\nvar USE_METHOD = isNode ? addNode : addBrowser;\nvar LISTENERS = new Set();\nvar startedListening = false;\nfunction startListening() {\n if (startedListening) {\n return;\n }\n startedListening = true;\n USE_METHOD(runAll);\n}\nexport function add(fn) {\n startListening();\n if (typeof fn !== 'function') {\n throw new Error('Listener is no function');\n }\n LISTENERS.add(fn);\n var addReturn = {\n remove: function remove() {\n return LISTENERS[\"delete\"](fn);\n },\n run: function run() {\n LISTENERS[\"delete\"](fn);\n return fn();\n }\n };\n return addReturn;\n}\nexport function runAll() {\n var promises = [];\n LISTENERS.forEach(function (fn) {\n promises.push(fn());\n LISTENERS[\"delete\"](fn);\n });\n return Promise.all(promises);\n}\nexport function removeAll() {\n LISTENERS.clear();\n}\nexport function getSize() {\n return LISTENERS.size;\n}","import { add as unloadAdd } from 'unload';\n\n/**\n * sends and internal message over the broadcast-channel\n */\nexport function sendLeaderMessage(leaderElector, action) {\n var msgJson = {\n context: 'leader',\n action: action,\n token: leaderElector.token\n };\n return leaderElector.broadcastChannel.postInternal(msgJson);\n}\nexport function beLeader(leaderElector) {\n leaderElector.isLeader = true;\n leaderElector._hasLeader = true;\n var unloadFn = unloadAdd(function () {\n return leaderElector.die();\n });\n leaderElector._unl.push(unloadFn);\n var isLeaderListener = function isLeaderListener(msg) {\n if (msg.context === 'leader' && msg.action === 'apply') {\n sendLeaderMessage(leaderElector, 'tell');\n }\n if (msg.context === 'leader' && msg.action === 'tell' && !leaderElector._dpLC) {\n /**\n * another instance is also leader!\n * This can happen on rare events\n * like when the CPU is at 100% for long time\n * or the tabs are open very long and the browser throttles them.\n * @link https://github.com/pubkey/broadcast-channel/issues/414\n * @link https://github.com/pubkey/broadcast-channel/issues/385\n */\n leaderElector._dpLC = true;\n leaderElector._dpL(); // message the lib user so the app can handle the problem\n sendLeaderMessage(leaderElector, 'tell'); // ensure other leader also knows the problem\n }\n };\n\n leaderElector.broadcastChannel.addEventListener('internal', isLeaderListener);\n leaderElector._lstns.push(isLeaderListener);\n return sendLeaderMessage(leaderElector, 'tell');\n}","import { randomToken } from './util.js';\nimport { sendLeaderMessage, beLeader } from './leader-election-util.js';\n\n/**\n * A faster version of the leader elector that uses the WebLock API\n * @link https://developer.mozilla.org/en-US/docs/Web/API/Web_Locks_API\n */\nexport var LeaderElectionWebLock = function LeaderElectionWebLock(broadcastChannel, options) {\n var _this = this;\n this.broadcastChannel = broadcastChannel;\n broadcastChannel._befC.push(function () {\n return _this.die();\n });\n this._options = options;\n this.isLeader = false;\n this.isDead = false;\n this.token = randomToken();\n this._lstns = [];\n this._unl = [];\n this._dpL = function () {}; // onduplicate listener\n this._dpLC = false; // true when onduplicate called\n\n this._wKMC = {}; // stuff for cleanup\n\n // lock name\n this.lN = 'pubkey-bc||' + broadcastChannel.method.type + '||' + broadcastChannel.name;\n};\nLeaderElectionWebLock.prototype = {\n hasLeader: function hasLeader() {\n var _this2 = this;\n return navigator.locks.query().then(function (locks) {\n var relevantLocks = locks.held ? locks.held.filter(function (lock) {\n return lock.name === _this2.lN;\n }) : [];\n if (relevantLocks && relevantLocks.length > 0) {\n return true;\n } else {\n return false;\n }\n });\n },\n awaitLeadership: function awaitLeadership() {\n var _this3 = this;\n if (!this._wLMP) {\n this._wKMC.c = new AbortController();\n var returnPromise = new Promise(function (res, rej) {\n _this3._wKMC.res = res;\n _this3._wKMC.rej = rej;\n });\n this._wLMP = new Promise(function (res) {\n navigator.locks.request(_this3.lN, {\n signal: _this3._wKMC.c.signal\n }, function () {\n // if the lock resolved, we can drop the abort controller\n _this3._wKMC.c = undefined;\n beLeader(_this3);\n res();\n return returnPromise;\n })[\"catch\"](function () {});\n });\n }\n return this._wLMP;\n },\n set onduplicate(_fn) {\n // Do nothing because there are no duplicates in the WebLock version\n },\n die: function die() {\n var _this4 = this;\n this._lstns.forEach(function (listener) {\n return _this4.broadcastChannel.removeEventListener('internal', listener);\n });\n this._lstns = [];\n this._unl.forEach(function (uFn) {\n return uFn.remove();\n });\n this._unl = [];\n if (this.isLeader) {\n this.isLeader = false;\n }\n this.isDead = true;\n if (this._wKMC.res) {\n this._wKMC.res();\n }\n if (this._wKMC.c) {\n this._wKMC.c.abort('LeaderElectionWebLock.die() called');\n }\n return sendLeaderMessage(this, 'death');\n }\n};","import { sleep, randomToken, PROMISE_RESOLVED_VOID, PROMISE_RESOLVED_TRUE, supportsWebLockAPI } from './util.js';\nimport { sendLeaderMessage, beLeader } from './leader-election-util.js';\nimport { LeaderElectionWebLock } from './leader-election-web-lock.js';\nvar LeaderElection = function LeaderElection(broadcastChannel, options) {\n var _this = this;\n this.broadcastChannel = broadcastChannel;\n this._options = options;\n this.isLeader = false;\n this._hasLeader = false;\n this.isDead = false;\n this.token = randomToken();\n\n /**\n * Apply Queue,\n * used to ensure we do not run applyOnce()\n * in parallel.\n */\n this._aplQ = PROMISE_RESOLVED_VOID;\n // amount of unfinished applyOnce() calls\n this._aplQC = 0;\n\n // things to clean up\n this._unl = []; // _unloads\n this._lstns = []; // _listeners\n this._dpL = function () {}; // onduplicate listener\n this._dpLC = false; // true when onduplicate called\n\n /**\n * Even when the own instance is not applying,\n * we still listen to messages to ensure the hasLeader flag\n * is set correctly.\n */\n var hasLeaderListener = function hasLeaderListener(msg) {\n if (msg.context === 'leader') {\n if (msg.action === 'death') {\n _this._hasLeader = false;\n }\n if (msg.action === 'tell') {\n _this._hasLeader = true;\n }\n }\n };\n this.broadcastChannel.addEventListener('internal', hasLeaderListener);\n this._lstns.push(hasLeaderListener);\n};\nLeaderElection.prototype = {\n hasLeader: function hasLeader() {\n return Promise.resolve(this._hasLeader);\n },\n /**\n * Returns true if the instance is leader,\n * false if not.\n * @async\n */\n applyOnce: function applyOnce(\n // true if the applyOnce() call came from the fallbackInterval cycle\n isFromFallbackInterval) {\n var _this2 = this;\n if (this.isLeader) {\n return sleep(0, true);\n }\n if (this.isDead) {\n return sleep(0, false);\n }\n\n /**\n * Already applying more than once,\n * -> wait for the apply queue to be finished.\n */\n if (this._aplQC > 1) {\n return this._aplQ;\n }\n\n /**\n * Add a new apply-run\n */\n var applyRun = function applyRun() {\n /**\n * Optimization shortcuts.\n * Directly return if a previous run\n * has already elected a leader.\n */\n if (_this2.isLeader) {\n return PROMISE_RESOLVED_TRUE;\n }\n var stopCriteria = false;\n var stopCriteriaPromiseResolve;\n /**\n * Resolves when a stop criteria is reached.\n * Uses as a performance shortcut so we do not\n * have to await the responseTime when it is already clear\n * that the election failed.\n */\n var stopCriteriaPromise = new Promise(function (res) {\n stopCriteriaPromiseResolve = function stopCriteriaPromiseResolve() {\n stopCriteria = true;\n res();\n };\n });\n var handleMessage = function handleMessage(msg) {\n if (msg.context === 'leader' && msg.token != _this2.token) {\n if (msg.action === 'apply') {\n // other is applying\n if (msg.token > _this2.token) {\n /**\n * other has higher token\n * -> stop applying and let other become leader.\n */\n stopCriteriaPromiseResolve();\n }\n }\n if (msg.action === 'tell') {\n // other is already leader\n stopCriteriaPromiseResolve();\n _this2._hasLeader = true;\n }\n }\n };\n _this2.broadcastChannel.addEventListener('internal', handleMessage);\n\n /**\n * If the applyOnce() call came from the fallbackInterval,\n * we can assume that the election runs in the background and\n * not critical process is waiting for it.\n * When this is true, we give the other instances\n * more time to answer to messages in the election cycle.\n * This makes it less likely to elect duplicate leaders.\n * But also it takes longer which is not a problem because we anyway\n * run in the background.\n */\n var waitForAnswerTime = isFromFallbackInterval ? _this2._options.responseTime * 4 : _this2._options.responseTime;\n return sendLeaderMessage(_this2, 'apply') // send out that this one is applying\n .then(function () {\n return Promise.race([sleep(waitForAnswerTime), stopCriteriaPromise.then(function () {\n return Promise.reject(new Error());\n })]);\n })\n // send again in case another instance was just created\n .then(function () {\n return sendLeaderMessage(_this2, 'apply');\n })\n // let others time to respond\n .then(function () {\n return Promise.race([sleep(waitForAnswerTime), stopCriteriaPromise.then(function () {\n return Promise.reject(new Error());\n })]);\n })[\"catch\"](function () {}).then(function () {\n _this2.broadcastChannel.removeEventListener('internal', handleMessage);\n if (!stopCriteria) {\n // no stop criteria -> own is leader\n return beLeader(_this2).then(function () {\n return true;\n });\n } else {\n // other is leader\n return false;\n }\n });\n };\n this._aplQC = this._aplQC + 1;\n this._aplQ = this._aplQ.then(function () {\n return applyRun();\n }).then(function () {\n _this2._aplQC = _this2._aplQC - 1;\n });\n return this._aplQ.then(function () {\n return _this2.isLeader;\n });\n },\n awaitLeadership: function awaitLeadership() {\n if ( /* _awaitLeadershipPromise */\n !this._aLP) {\n this._aLP = _awaitLeadershipOnce(this);\n }\n return this._aLP;\n },\n set onduplicate(fn) {\n this._dpL = fn;\n },\n die: function die() {\n var _this3 = this;\n this._lstns.forEach(function (listener) {\n return _this3.broadcastChannel.removeEventListener('internal', listener);\n });\n this._lstns = [];\n this._unl.forEach(function (uFn) {\n return uFn.remove();\n });\n this._unl = [];\n if (this.isLeader) {\n this._hasLeader = false;\n this.isLeader = false;\n }\n this.isDead = true;\n return sendLeaderMessage(this, 'death');\n }\n};\n\n/**\n * @param leaderElector {LeaderElector}\n */\nfunction _awaitLeadershipOnce(leaderElector) {\n if (leaderElector.isLeader) {\n return PROMISE_RESOLVED_VOID;\n }\n return new Promise(function (res) {\n var resolved = false;\n function finish() {\n if (resolved) {\n return;\n }\n resolved = true;\n leaderElector.broadcastChannel.removeEventListener('internal', whenDeathListener);\n res(true);\n }\n\n // try once now\n leaderElector.applyOnce().then(function () {\n if (leaderElector.isLeader) {\n finish();\n }\n });\n\n /**\n * Try on fallbackInterval\n * @recursive\n */\n var tryOnFallBack = function tryOnFallBack() {\n return sleep(leaderElector._options.fallbackInterval).then(function () {\n if (leaderElector.isDead || resolved) {\n return;\n }\n if (leaderElector.isLeader) {\n finish();\n } else {\n return leaderElector.applyOnce(true).then(function () {\n if (leaderElector.isLeader) {\n finish();\n } else {\n tryOnFallBack();\n }\n });\n }\n });\n };\n tryOnFallBack();\n\n // try when other leader dies\n var whenDeathListener = function whenDeathListener(msg) {\n if (msg.context === 'leader' && msg.action === 'death') {\n leaderElector._hasLeader = false;\n leaderElector.applyOnce().then(function () {\n if (leaderElector.isLeader) {\n finish();\n }\n });\n }\n };\n leaderElector.broadcastChannel.addEventListener('internal', whenDeathListener);\n leaderElector._lstns.push(whenDeathListener);\n });\n}\nfunction fillOptionsWithDefaults(options, channel) {\n if (!options) options = {};\n options = JSON.parse(JSON.stringify(options));\n if (!options.fallbackInterval) {\n options.fallbackInterval = 3000;\n }\n if (!options.responseTime) {\n options.responseTime = channel.method.averageResponseTime(channel.options);\n }\n return options;\n}\nexport function createLeaderElection(channel, options) {\n if (channel._leaderElector) {\n throw new Error('BroadcastChannel already has a leader-elector');\n }\n options = fillOptionsWithDefaults(options, channel);\n var elector = supportsWebLockAPI() ? new LeaderElectionWebLock(channel, options) : new LeaderElection(channel, options);\n channel._befC.push(function () {\n return elector.die();\n });\n channel._leaderElector = elector;\n return elector;\n}","/**\n * When a persistent RxStorage is used in more the one JavaScript process,\n * the even stream of the changestream() function must be broadcasted to the other\n * RxStorageInstances of the same databaseName+collectionName.\n *\n * In the past this was done by RxDB but it makes more sense to do this\n * at the RxStorage level so that the broadcasting etc can all happen inside of a WebWorker\n * and not on the main thread.\n * Also it makes it less complex to stack up different RxStorages onto each other\n * like what we do with the in-memory plugin.\n *\n * This is intended to be used inside of createStorageInstance() of a storage.\n * Do not use this if the storage anyway broadcasts the events like when using MongoDB\n * or in the future W3C might introduce a way to listen to IndexedDB changes.\n */\n\nimport { Subject } from 'rxjs';\nimport { mergeWith } from 'rxjs/operators';\nimport { BroadcastChannel } from 'broadcast-channel';\n\n/**\n * The broadcast-channel is reused by the databaseInstanceToken.\n * This is required so that it is easy to simulate multi-tab usage\n * in the test where different instances of the same RxDatabase must\n * have different broadcast channels.\n * But also it ensures that for each RxDatabase we only create a single\n * broadcast channel that can even be reused in the leader election plugin.\n *\n * TODO at the end of the unit tests,\n * we should ensure that all channels are closed and cleaned up.\n * Otherwise we have forgot something.\n */\nexport var BROADCAST_CHANNEL_BY_TOKEN = new Map();\nexport function getBroadcastChannelReference(storageName, databaseInstanceToken, databaseName, refObject) {\n var state = BROADCAST_CHANNEL_BY_TOKEN.get(databaseInstanceToken);\n if (!state) {\n state = {\n /**\n * We have to use the databaseName instead of the databaseInstanceToken\n * in the BroadcastChannel name because different instances must end with the same\n * channel name to be able to broadcast messages between each other.\n */\n bc: new BroadcastChannel(['RxDB:', storageName, databaseName].join('|')),\n refs: new Set()\n };\n BROADCAST_CHANNEL_BY_TOKEN.set(databaseInstanceToken, state);\n }\n state.refs.add(refObject);\n return state.bc;\n}\nexport function removeBroadcastChannelReference(databaseInstanceToken, refObject) {\n var state = BROADCAST_CHANNEL_BY_TOKEN.get(databaseInstanceToken);\n if (!state) {\n return;\n }\n state.refs.delete(refObject);\n if (state.refs.size === 0) {\n BROADCAST_CHANNEL_BY_TOKEN.delete(databaseInstanceToken);\n return state.bc.close();\n }\n}\nexport function addRxStorageMultiInstanceSupport(storageName, instanceCreationParams, instance,\n/**\n * If provided, that channel will be used\n * instead of an own one.\n */\nprovidedBroadcastChannel) {\n if (!instanceCreationParams.multiInstance) {\n return;\n }\n var broadcastChannel = providedBroadcastChannel ? providedBroadcastChannel : getBroadcastChannelReference(storageName, instanceCreationParams.databaseInstanceToken, instance.databaseName, instance);\n var changesFromOtherInstances$ = new Subject();\n var eventListener = msg => {\n if (msg.storageName === storageName && msg.databaseName === instanceCreationParams.databaseName && msg.collectionName === instanceCreationParams.collectionName && msg.version === instanceCreationParams.schema.version) {\n changesFromOtherInstances$.next(msg.eventBulk);\n }\n };\n broadcastChannel.addEventListener('message', eventListener);\n var oldChangestream$ = instance.changeStream();\n var closed = false;\n var sub = oldChangestream$.subscribe(eventBulk => {\n if (closed) {\n return;\n }\n broadcastChannel.postMessage({\n storageName: storageName,\n databaseName: instanceCreationParams.databaseName,\n collectionName: instanceCreationParams.collectionName,\n version: instanceCreationParams.schema.version,\n eventBulk\n });\n });\n instance.changeStream = function () {\n return changesFromOtherInstances$.asObservable().pipe(mergeWith(oldChangestream$));\n };\n var oldClose = instance.close.bind(instance);\n instance.close = async function () {\n closed = true;\n sub.unsubscribe();\n broadcastChannel.removeEventListener('message', eventListener);\n if (!providedBroadcastChannel) {\n await removeBroadcastChannelReference(instanceCreationParams.databaseInstanceToken, instance);\n }\n return oldClose();\n };\n var oldRemove = instance.remove.bind(instance);\n instance.remove = async function () {\n closed = true;\n sub.unsubscribe();\n broadcastChannel.removeEventListener('message', eventListener);\n if (!providedBroadcastChannel) {\n await removeBroadcastChannelReference(instanceCreationParams.databaseInstanceToken, instance);\n }\n return oldRemove();\n };\n}\n//# sourceMappingURL=rx-storage-multiinstance.js.map","/**\n * For some RxStorage implementations,\n * we need to use our custom crafted indexes\n * so we can easily iterate over them. And sort plain arrays of document data.\n *\n * We really often have to craft an index string for a given document.\n * Performance of everything in this file is very important\n * which is why the code sometimes looks strange.\n * Run performance tests before and after you touch anything here!\n */\n\nimport { getSchemaByObjectPath } from \"./rx-schema-helper.js\";\nimport { ensureNotFalsy, objectPathMonad } from \"./plugins/utils/index.js\";\nimport { INDEX_MAX, INDEX_MIN } from \"./query-planner.js\";\n\n/**\n * Prepare all relevant information\n * outside of the returned function\n * from getIndexableStringMonad()\n * to save performance when the returned\n * function is called many times.\n */\n\nexport function getIndexMeta(schema, index) {\n var fieldNameProperties = index.map(fieldName => {\n var schemaPart = getSchemaByObjectPath(schema, fieldName);\n if (!schemaPart) {\n throw new Error('not in schema: ' + fieldName);\n }\n var type = schemaPart.type;\n var parsedLengths;\n if (type === 'number' || type === 'integer') {\n parsedLengths = getStringLengthOfIndexNumber(schemaPart);\n }\n var getValue = objectPathMonad(fieldName);\n var maxLength = schemaPart.maxLength ? schemaPart.maxLength : 0;\n var getIndexStringPart;\n if (type === 'string') {\n getIndexStringPart = docData => {\n var fieldValue = getValue(docData);\n if (!fieldValue) {\n fieldValue = '';\n }\n return fieldValue.padEnd(maxLength, ' ');\n };\n } else if (type === 'boolean') {\n getIndexStringPart = docData => {\n var fieldValue = getValue(docData);\n return fieldValue ? '1' : '0';\n };\n } else {\n // number\n getIndexStringPart = docData => {\n var fieldValue = getValue(docData);\n return getNumberIndexString(parsedLengths, fieldValue);\n };\n }\n var ret = {\n fieldName,\n schemaPart,\n parsedLengths,\n getValue,\n getIndexStringPart\n };\n return ret;\n });\n return fieldNameProperties;\n}\n\n/**\n * Crafts an indexable string that can be used\n * to check if a document would be sorted below or above\n * another documents, dependent on the index values.\n * @monad for better performance\n *\n * IMPORTANT: Performance is really important here\n * which is why we code so 'strange'.\n * Always run performance tests when you want to\n * change something in this method.\n */\nexport function getIndexableStringMonad(schema, index) {\n var fieldNameProperties = getIndexMeta(schema, index);\n var fieldNamePropertiesAmount = fieldNameProperties.length;\n var indexPartsFunctions = fieldNameProperties.map(r => r.getIndexStringPart);\n\n /**\n * @hotPath Performance of this function is very critical!\n */\n var ret = function (docData) {\n var str = '';\n for (var i = 0; i < fieldNamePropertiesAmount; ++i) {\n str += indexPartsFunctions[i](docData);\n }\n return str;\n };\n return ret;\n}\nexport function getStringLengthOfIndexNumber(schemaPart) {\n var minimum = Math.floor(schemaPart.minimum);\n var maximum = Math.ceil(schemaPart.maximum);\n var multipleOf = schemaPart.multipleOf;\n var valueSpan = maximum - minimum;\n var nonDecimals = valueSpan.toString().length;\n var multipleOfParts = multipleOf.toString().split('.');\n var decimals = 0;\n if (multipleOfParts.length > 1) {\n decimals = multipleOfParts[1].length;\n }\n return {\n minimum,\n maximum,\n nonDecimals,\n decimals,\n roundedMinimum: minimum\n };\n}\nexport function getIndexStringLength(schema, index) {\n var fieldNameProperties = getIndexMeta(schema, index);\n var length = 0;\n fieldNameProperties.forEach(props => {\n var schemaPart = props.schemaPart;\n var type = schemaPart.type;\n if (type === 'string') {\n length += schemaPart.maxLength;\n } else if (type === 'boolean') {\n length += 1;\n } else {\n var parsedLengths = props.parsedLengths;\n length = length + parsedLengths.nonDecimals + parsedLengths.decimals;\n }\n });\n return length;\n}\nexport function getPrimaryKeyFromIndexableString(indexableString, primaryKeyLength) {\n var paddedPrimaryKey = indexableString.slice(primaryKeyLength * -1);\n // we can safely trim here because the primary key is not allowed to start or end with a space char.\n var primaryKey = paddedPrimaryKey.trim();\n return primaryKey;\n}\nexport function getNumberIndexString(parsedLengths, fieldValue) {\n /**\n * Ensure that the given value is in the boundaries\n * of the schema, otherwise it would create a broken index string.\n * This can happen for example if you have a minimum of 0\n * and run a query like\n * selector {\n * numField: { $gt: -1000 }\n * }\n */\n if (typeof fieldValue === 'undefined') {\n fieldValue = 0;\n }\n if (fieldValue < parsedLengths.minimum) {\n fieldValue = parsedLengths.minimum;\n }\n if (fieldValue > parsedLengths.maximum) {\n fieldValue = parsedLengths.maximum;\n }\n var nonDecimalsValueAsString = (Math.floor(fieldValue) - parsedLengths.roundedMinimum).toString();\n var str = nonDecimalsValueAsString.padStart(parsedLengths.nonDecimals, '0');\n if (parsedLengths.decimals > 0) {\n var splitByDecimalPoint = fieldValue.toString().split('.');\n var decimalValueAsString = splitByDecimalPoint.length > 1 ? splitByDecimalPoint[1] : '0';\n str += decimalValueAsString.padEnd(parsedLengths.decimals, '0');\n }\n return str;\n}\nexport function getStartIndexStringFromLowerBound(schema, index, lowerBound) {\n var str = '';\n index.forEach((fieldName, idx) => {\n var schemaPart = getSchemaByObjectPath(schema, fieldName);\n var bound = lowerBound[idx];\n var type = schemaPart.type;\n switch (type) {\n case 'string':\n var maxLength = ensureNotFalsy(schemaPart.maxLength, 'maxLength not set');\n if (typeof bound === 'string') {\n str += bound.padEnd(maxLength, ' ');\n } else {\n // str += ''.padStart(maxLength, inclusiveStart ? ' ' : INDEX_MAX);\n str += ''.padEnd(maxLength, ' ');\n }\n break;\n case 'boolean':\n if (bound === null) {\n str += '0';\n } else if (bound === INDEX_MIN) {\n str += '0';\n } else if (bound === INDEX_MAX) {\n str += '1';\n } else {\n var boolToStr = bound ? '1' : '0';\n str += boolToStr;\n }\n break;\n case 'number':\n case 'integer':\n var parsedLengths = getStringLengthOfIndexNumber(schemaPart);\n if (bound === null || bound === INDEX_MIN) {\n var fillChar = '0';\n str += fillChar.repeat(parsedLengths.nonDecimals + parsedLengths.decimals);\n } else if (bound === INDEX_MAX) {\n str += getNumberIndexString(parsedLengths, parsedLengths.maximum);\n } else {\n var add = getNumberIndexString(parsedLengths, bound);\n str += add;\n }\n break;\n default:\n throw new Error('unknown index type ' + type);\n }\n });\n return str;\n}\nexport function getStartIndexStringFromUpperBound(schema, index, upperBound) {\n var str = '';\n index.forEach((fieldName, idx) => {\n var schemaPart = getSchemaByObjectPath(schema, fieldName);\n var bound = upperBound[idx];\n var type = schemaPart.type;\n switch (type) {\n case 'string':\n var maxLength = ensureNotFalsy(schemaPart.maxLength, 'maxLength not set');\n if (typeof bound === 'string' && bound !== INDEX_MAX) {\n str += bound.padEnd(maxLength, ' ');\n } else if (bound === INDEX_MIN) {\n str += ''.padEnd(maxLength, ' ');\n } else {\n str += ''.padEnd(maxLength, INDEX_MAX);\n }\n break;\n case 'boolean':\n if (bound === null) {\n str += '1';\n } else {\n var boolToStr = bound ? '1' : '0';\n str += boolToStr;\n }\n break;\n case 'number':\n case 'integer':\n var parsedLengths = getStringLengthOfIndexNumber(schemaPart);\n if (bound === null || bound === INDEX_MAX) {\n var fillChar = '9';\n str += fillChar.repeat(parsedLengths.nonDecimals + parsedLengths.decimals);\n } else if (bound === INDEX_MIN) {\n var _fillChar = '0';\n str += _fillChar.repeat(parsedLengths.nonDecimals + parsedLengths.decimals);\n } else {\n str += getNumberIndexString(parsedLengths, bound);\n }\n break;\n default:\n throw new Error('unknown index type ' + type);\n }\n });\n return str;\n}\n\n/**\n * Used in storages where it is not possible\n * to define inclusiveEnd/inclusiveStart\n */\nexport function changeIndexableStringByOneQuantum(str, direction) {\n var lastChar = str.slice(-1);\n var charCode = lastChar.charCodeAt(0);\n charCode = charCode + direction;\n var withoutLastChar = str.slice(0, -1);\n return withoutLastChar + String.fromCharCode(charCode);\n}\n//# sourceMappingURL=custom-index.js.map","import { flatClone } from \"../../plugins/utils/index.js\";\nimport { getComposedPrimaryKeyOfDocumentData } from \"../../rx-schema-helper.js\";\n\n// does nothing\nexport var DEFAULT_MODIFIER = d => Promise.resolve(d);\nexport function swapDefaultDeletedTodeletedField(deletedField, doc) {\n if (deletedField === '_deleted') {\n return doc;\n } else {\n doc = flatClone(doc);\n var isDeleted = !!doc._deleted;\n doc[deletedField] = isDeleted;\n delete doc._deleted;\n return doc;\n }\n}\n\n/**\n * Must be run over all plain document data\n * that was pulled from the remote.\n * Used to fill up fields or modify the deleted field etc.\n */\nexport function handlePulledDocuments(collection, deletedField, docs) {\n return docs.map(doc => {\n var useDoc = flatClone(doc);\n\n /**\n * Swap out the deleted field\n */\n if (deletedField !== '_deleted') {\n var isDeleted = !!useDoc[deletedField];\n useDoc._deleted = isDeleted;\n delete useDoc[deletedField];\n } else {\n // ensure we have a boolean.\n useDoc._deleted = !!useDoc._deleted;\n }\n\n /**\n * Fill up composed primary\n */\n var primaryPath = collection.schema.primaryPath;\n useDoc[primaryPath] = getComposedPrimaryKeyOfDocumentData(collection.schema.jsonSchema, useDoc);\n return useDoc;\n });\n}\n\n/**\n * Like normal promiseWait()\n * but will skip the wait time if the online-state changes.\n */\nexport function awaitRetry(collection, retryTime) {\n if (typeof window === 'undefined' || typeof window !== 'object' || typeof window.addEventListener === 'undefined' || navigator.onLine) {\n return collection.promiseWait(retryTime);\n }\n var listener;\n var onlineAgain = new Promise(res => {\n listener = () => {\n window.removeEventListener('online', listener);\n res();\n };\n window.addEventListener('online', listener);\n });\n return Promise.race([onlineAgain, collection.promiseWait(retryTime)]).then(() => {\n window.removeEventListener('online', listener);\n });\n}\n//# sourceMappingURL=replication-helper.js.map","/**\n * This plugin contains the primitives to create\n * a RxDB client-server replication.\n * It is used in the other replication plugins\n * but also can be used as standalone with a custom replication handler.\n */\n\nimport { BehaviorSubject, combineLatest, filter, mergeMap, Subject } from 'rxjs';\nimport { RxDBLeaderElectionPlugin } from \"../leader-election/index.js\";\nimport { arrayFilterNotEmpty, ensureNotFalsy, errorToPlainJson, flatClone, getFromMapOrCreate, PROMISE_RESOLVE_FALSE, PROMISE_RESOLVE_TRUE, toArray, toPromise } from \"../../plugins/utils/index.js\";\nimport { awaitRxStorageReplicationFirstInSync, awaitRxStorageReplicationInSync, cancelRxStorageReplication, getRxReplicationMetaInstanceSchema, replicateRxStorageInstance } from \"../../replication-protocol/index.js\";\nimport { newRxError } from \"../../rx-error.js\";\nimport { awaitRetry, DEFAULT_MODIFIER, swapDefaultDeletedTodeletedField, handlePulledDocuments } from \"./replication-helper.js\";\nimport { addConnectedStorageToCollection } from \"../../rx-database-internal-store.js\";\nimport { addRxPlugin } from \"../../plugin.js\";\nimport { hasEncryption } from \"../../rx-storage-helper.js\";\nimport { overwritable } from \"../../overwritable.js\";\nimport { runAsyncPluginHooks } from \"../../hooks.js\";\nexport var REPLICATION_STATE_BY_COLLECTION = new WeakMap();\nexport var RxReplicationState = /*#__PURE__*/function () {\n function RxReplicationState(\n /**\n * The identifier, used to flag revisions\n * and to identify which documents state came from the remote.\n */\n replicationIdentifier, collection, deletedField, pull, push, live, retryTime, autoStart) {\n this.subs = [];\n this.subjects = {\n received: new Subject(),\n // all documents that are received from the endpoint\n sent: new Subject(),\n // all documents that are send to the endpoint\n error: new Subject(),\n // all errors that are received from the endpoint, emits new Error() objects\n canceled: new BehaviorSubject(false),\n // true when the replication was canceled\n active: new BehaviorSubject(false) // true when something is running, false when not\n };\n this.received$ = this.subjects.received.asObservable();\n this.sent$ = this.subjects.sent.asObservable();\n this.error$ = this.subjects.error.asObservable();\n this.canceled$ = this.subjects.canceled.asObservable();\n this.active$ = this.subjects.active.asObservable();\n this.onCancel = [];\n this.callOnStart = undefined;\n this.remoteEvents$ = new Subject();\n this.replicationIdentifier = replicationIdentifier;\n this.collection = collection;\n this.deletedField = deletedField;\n this.pull = pull;\n this.push = push;\n this.live = live;\n this.retryTime = retryTime;\n this.autoStart = autoStart;\n var replicationStates = getFromMapOrCreate(REPLICATION_STATE_BY_COLLECTION, collection, () => []);\n replicationStates.push(this);\n\n // stop the replication when the collection gets destroyed\n this.collection.onDestroy.push(() => this.cancel());\n\n // create getters for the observables\n Object.keys(this.subjects).forEach(key => {\n Object.defineProperty(this, key + '$', {\n get: function () {\n return this.subjects[key].asObservable();\n }\n });\n });\n var startPromise = new Promise(res => {\n this.callOnStart = res;\n });\n this.startPromise = startPromise;\n }\n var _proto = RxReplicationState.prototype;\n _proto.start = async function start() {\n if (this.isStopped()) {\n return;\n }\n\n // fill in defaults for pull & push\n var pullModifier = this.pull && this.pull.modifier ? this.pull.modifier : DEFAULT_MODIFIER;\n var pushModifier = this.push && this.push.modifier ? this.push.modifier : DEFAULT_MODIFIER;\n var database = this.collection.database;\n var metaInstanceCollectionName = 'rx-replication-meta-' + (await database.hashFunction([this.collection.name, this.replicationIdentifier].join('-')));\n var metaInstanceSchema = getRxReplicationMetaInstanceSchema(this.collection.schema.jsonSchema, hasEncryption(this.collection.schema.jsonSchema));\n var [metaInstance] = await Promise.all([this.collection.database.storage.createStorageInstance({\n databaseName: database.name,\n collectionName: metaInstanceCollectionName,\n databaseInstanceToken: database.token,\n multiInstance: database.multiInstance,\n // TODO is this always false?\n options: {},\n schema: metaInstanceSchema,\n password: database.password,\n devMode: overwritable.isDevMode()\n }), addConnectedStorageToCollection(this.collection, metaInstanceCollectionName, metaInstanceSchema)]);\n this.metaInstance = metaInstance;\n this.internalReplicationState = replicateRxStorageInstance({\n pushBatchSize: this.push && this.push.batchSize ? this.push.batchSize : 100,\n pullBatchSize: this.pull && this.pull.batchSize ? this.pull.batchSize : 100,\n initialCheckpoint: {\n upstream: this.push ? this.push.initialCheckpoint : undefined,\n downstream: this.pull ? this.pull.initialCheckpoint : undefined\n },\n forkInstance: this.collection.storageInstance,\n metaInstance: this.metaInstance,\n hashFunction: database.hashFunction,\n identifier: 'rxdbreplication' + this.replicationIdentifier,\n conflictHandler: this.collection.conflictHandler,\n replicationHandler: {\n masterChangeStream$: this.remoteEvents$.asObservable().pipe(filter(_v => !!this.pull), mergeMap(async ev => {\n if (ev === 'RESYNC') {\n return ev;\n }\n var useEv = flatClone(ev);\n useEv.documents = handlePulledDocuments(this.collection, this.deletedField, useEv.documents);\n useEv.documents = await Promise.all(useEv.documents.map(d => pullModifier(d)));\n return useEv;\n })),\n masterChangesSince: async (checkpoint, batchSize) => {\n if (!this.pull) {\n return {\n checkpoint: null,\n documents: []\n };\n }\n /**\n * Retries must be done here in the replication primitives plugin,\n * because the replication protocol itself has no\n * error handling.\n */\n var done = false;\n var result = {};\n while (!done && !this.isStopped()) {\n try {\n result = await this.pull.handler(checkpoint, batchSize);\n done = true;\n } catch (err) {\n var emitError = newRxError('RC_PULL', {\n checkpoint,\n errors: toArray(err).map(er => errorToPlainJson(er)),\n direction: 'pull'\n });\n this.subjects.error.next(emitError);\n await awaitRetry(this.collection, ensureNotFalsy(this.retryTime));\n }\n }\n if (this.isStopped()) {\n return {\n checkpoint: null,\n documents: []\n };\n }\n var useResult = flatClone(result);\n useResult.documents = handlePulledDocuments(this.collection, this.deletedField, useResult.documents);\n useResult.documents = await Promise.all(useResult.documents.map(d => pullModifier(d)));\n return useResult;\n },\n masterWrite: async rows => {\n if (!this.push) {\n return [];\n }\n var done = false;\n await runAsyncPluginHooks('preReplicationMasterWrite', {\n rows,\n collection: this.collection\n });\n var useRowsOrNull = await Promise.all(rows.map(async row => {\n row.newDocumentState = await pushModifier(row.newDocumentState);\n if (row.newDocumentState === null) {\n return null;\n }\n if (row.assumedMasterState) {\n row.assumedMasterState = await pushModifier(row.assumedMasterState);\n }\n if (this.deletedField !== '_deleted') {\n row.newDocumentState = swapDefaultDeletedTodeletedField(this.deletedField, row.newDocumentState);\n if (row.assumedMasterState) {\n row.assumedMasterState = swapDefaultDeletedTodeletedField(this.deletedField, row.assumedMasterState);\n }\n }\n return row;\n }));\n var useRows = useRowsOrNull.filter(arrayFilterNotEmpty);\n var result = null;\n\n // In case all the rows have been filtered and nothing has to be sent\n if (useRows.length === 0) {\n done = true;\n result = [];\n }\n while (!done && !this.isStopped()) {\n try {\n result = await this.push.handler(useRows);\n /**\n * It is a common problem that people have wrongly behaving backend\n * that do not return an array with the conflicts on push requests.\n * So we run this check here to make it easier to debug.\n * @link https://github.com/pubkey/rxdb/issues/4103\n */\n if (!Array.isArray(result)) {\n throw newRxError('RC_PUSH_NO_AR', {\n pushRows: rows,\n direction: 'push',\n args: {\n result\n }\n });\n }\n done = true;\n } catch (err) {\n var emitError = err.rxdb ? err : newRxError('RC_PUSH', {\n pushRows: rows,\n errors: toArray(err).map(er => errorToPlainJson(er)),\n direction: 'push'\n });\n this.subjects.error.next(emitError);\n await awaitRetry(this.collection, ensureNotFalsy(this.retryTime));\n }\n }\n if (this.isStopped()) {\n return [];\n }\n await runAsyncPluginHooks('preReplicationMasterWriteDocumentsHandle', {\n result,\n collection: this.collection\n });\n var conflicts = handlePulledDocuments(this.collection, this.deletedField, ensureNotFalsy(result));\n return conflicts;\n }\n }\n });\n this.subs.push(this.internalReplicationState.events.error.subscribe(err => {\n this.subjects.error.next(err);\n }), this.internalReplicationState.events.processed.down.subscribe(row => this.subjects.received.next(row.document)), this.internalReplicationState.events.processed.up.subscribe(writeToMasterRow => {\n this.subjects.sent.next(writeToMasterRow.newDocumentState);\n }), combineLatest([this.internalReplicationState.events.active.down, this.internalReplicationState.events.active.up]).subscribe(([down, up]) => {\n var isActive = down || up;\n this.subjects.active.next(isActive);\n }));\n if (this.pull && this.pull.stream$ && this.live) {\n this.subs.push(this.pull.stream$.subscribe({\n next: ev => {\n this.remoteEvents$.next(ev);\n },\n error: err => {\n this.subjects.error.next(err);\n }\n }));\n }\n\n /**\n * Non-live replications run once\n * and then automatically get canceled.\n */\n if (!this.live) {\n await awaitRxStorageReplicationFirstInSync(this.internalReplicationState);\n await awaitRxStorageReplicationInSync(this.internalReplicationState);\n await this.cancel();\n }\n this.callOnStart();\n };\n _proto.isStopped = function isStopped() {\n if (this.subjects.canceled.getValue()) {\n return true;\n }\n return false;\n };\n _proto.awaitInitialReplication = async function awaitInitialReplication() {\n await this.startPromise;\n return awaitRxStorageReplicationFirstInSync(ensureNotFalsy(this.internalReplicationState));\n }\n\n /**\n * Returns a promise that resolves when:\n * - All local data is replicated with the remote\n * - No replication cycle is running or in retry-state\n *\n * WARNING: USing this function directly in a multi-tab browser application\n * is dangerous because only the leading instance will ever be replicated,\n * so this promise will not resolve in the other tabs.\n * For multi-tab support you should set and observe a flag in a local document.\n */;\n _proto.awaitInSync = async function awaitInSync() {\n await this.startPromise;\n await awaitRxStorageReplicationFirstInSync(ensureNotFalsy(this.internalReplicationState));\n\n /**\n * To reduce the amount of re-renders and make testing\n * and to make the whole behavior more predictable,\n * we await these things multiple times.\n * For example the state might be in sync already and at the\n * exact same time a pull.stream$ event comes in and we want to catch\n * that in the same call to awaitInSync() instead of resolving\n * while actually the state is not in sync.\n */\n var t = 2;\n while (t > 0) {\n t--;\n\n /**\n * Often awaitInSync() is called directly after a document write,\n * like in the unit tests.\n * So we first have to await the idleness to ensure that all RxChangeEvents\n * are processed already.\n */\n await this.collection.database.requestIdlePromise();\n await awaitRxStorageReplicationInSync(ensureNotFalsy(this.internalReplicationState));\n }\n return true;\n };\n _proto.reSync = function reSync() {\n this.remoteEvents$.next('RESYNC');\n };\n _proto.emitEvent = function emitEvent(ev) {\n this.remoteEvents$.next(ev);\n };\n _proto.cancel = async function cancel() {\n if (this.isStopped()) {\n return PROMISE_RESOLVE_FALSE;\n }\n var promises = this.onCancel.map(fn => toPromise(fn()));\n if (this.internalReplicationState) {\n await cancelRxStorageReplication(this.internalReplicationState);\n }\n if (this.metaInstance) {\n promises.push(ensureNotFalsy(this.internalReplicationState).checkpointQueue.then(() => ensureNotFalsy(this.metaInstance).close()));\n }\n this.subs.forEach(sub => sub.unsubscribe());\n this.subjects.canceled.next(true);\n this.subjects.active.complete();\n this.subjects.canceled.complete();\n this.subjects.error.complete();\n this.subjects.received.complete();\n this.subjects.sent.complete();\n return Promise.all(promises);\n };\n return RxReplicationState;\n}();\nexport function replicateRxCollection({\n replicationIdentifier,\n collection,\n deletedField = '_deleted',\n pull,\n push,\n live = true,\n retryTime = 1000 * 5,\n waitForLeadership = true,\n autoStart = true\n}) {\n addRxPlugin(RxDBLeaderElectionPlugin);\n\n /**\n * It is a common error to forget to add these config\n * objects. So we check here because it makes no sense\n * to start a replication with neither push nor pull.\n */\n if (!pull && !push) {\n throw newRxError('UT3', {\n collection: collection.name,\n args: {\n replicationIdentifier\n }\n });\n }\n var replicationState = new RxReplicationState(replicationIdentifier, collection, deletedField, pull, push, live, retryTime, autoStart);\n startReplicationOnLeaderShip(waitForLeadership, replicationState);\n return replicationState;\n}\nexport function startReplicationOnLeaderShip(waitForLeadership, replicationState) {\n /**\n * Always await this Promise to ensure that the current instance\n * is leader when waitForLeadership=true\n */\n var mustWaitForLeadership = waitForLeadership && replicationState.collection.database.multiInstance;\n var waitTillRun = mustWaitForLeadership ? replicationState.collection.database.waitForLeadership() : PROMISE_RESOLVE_TRUE;\n return waitTillRun.then(() => {\n if (replicationState.isStopped()) {\n return;\n }\n if (replicationState.autoStart) {\n replicationState.start();\n }\n });\n}\n//# sourceMappingURL=index.js.map","import { prepareQuery } from 'rxdb';\nimport { RxReplicationState } from 'rxdb/plugins/replication';\nimport { tap, timer, retry, defer, switchMap, map } from 'rxjs';\n\nvar NgxRxdbUtils;\n(function (NgxRxdbUtils) {\n function clone(value) {\n if (Array.isArray(value)) {\n return value.slice();\n }\n else if (NgxRxdbUtils.isObject(value)) {\n return { ...value };\n }\n else {\n return value;\n }\n }\n NgxRxdbUtils.clone = clone;\n function keys(object) {\n let val = keysOfNonArray(object);\n if (Array.isArray(object)) {\n val = val.filter(item => item !== 'length');\n }\n return val;\n }\n NgxRxdbUtils.keys = keys;\n function keysOfNonArray(object) {\n return object ? Object.getOwnPropertyNames(object) : [];\n }\n NgxRxdbUtils.keysOfNonArray = keysOfNonArray;\n function forOwn(object, iteratee) {\n forEachOfArray(keys(object), key => iteratee(object[key], key));\n return object;\n }\n NgxRxdbUtils.forOwn = forOwn;\n function forOwnOfNonArray(object, iteratee) {\n forEachOfArray(keysOfNonArray(object), key => iteratee(object[key], key));\n return object;\n }\n NgxRxdbUtils.forOwnOfNonArray = forOwnOfNonArray;\n function forEach(collection, iteratee) {\n if (Array.isArray(collection)) {\n forEachOfArray(collection, iteratee);\n }\n else {\n forOwnOfNonArray(collection, iteratee);\n }\n return collection;\n }\n NgxRxdbUtils.forEach = forEach;\n function forEachOfArray(array, iteratee) {\n for (let i = 0, len = array.length; i < len; ++i) {\n if (iteratee(array[i], i) === false) {\n break;\n }\n }\n }\n NgxRxdbUtils.forEachOfArray = forEachOfArray;\n function merge(object, ...sources) {\n for (const source of sources) {\n forEach(source, (value, key) => {\n const myValue = object[key];\n if (myValue instanceof Object) {\n value = merge(clone(myValue), value);\n }\n object[key] = value;\n });\n }\n return object;\n }\n NgxRxdbUtils.merge = merge;\n function isEmpty(value) {\n if (!Array.isArray(value)) {\n value = keysOfNonArray(value);\n }\n return value.length === 0;\n }\n NgxRxdbUtils.isEmpty = isEmpty;\n NgxRxdbUtils.isFunction = (value) => typeof value === 'function';\n NgxRxdbUtils.isUndefined = (value) => value === undefined || value === 'undefined';\n function isNullOrUndefined(value) {\n return value === undefined || value === null || value === 'undefined' || value === 'null';\n }\n NgxRxdbUtils.isNullOrUndefined = isNullOrUndefined;\n NgxRxdbUtils.isObject = (x) => Object.prototype.toString.call(x) === '[object Object]';\n NgxRxdbUtils.isEmptyObject = (x) => isNullOrUndefined(x) || (NgxRxdbUtils.isObject(x) && isEmpty(x));\n function isDevMode() {\n return typeof globalThis['ngDevMode'] === 'undefined' || !!globalThis['ngDevMode'];\n }\n NgxRxdbUtils.isDevMode = isDevMode;\n function isValidNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n }\n NgxRxdbUtils.isValidNumber = isValidNumber;\n function noop() {\n return void 0;\n }\n NgxRxdbUtils.noop = noop;\n function identity(value) {\n return value;\n }\n NgxRxdbUtils.identity = identity;\n function times(n, iteratee) {\n const result = [];\n for (let i = 0; i < n; ++i) {\n result[i] = iteratee(i);\n }\n return result;\n }\n NgxRxdbUtils.times = times;\n function range(start, end, step) {\n if (NgxRxdbUtils.isUndefined(end)) {\n end = start;\n start = 0;\n }\n if (NgxRxdbUtils.isUndefined(step)) {\n step = end < start ? -1 : 1;\n }\n return times(Math.abs((end - start) / (step || 1)), i => start + step * i);\n }\n NgxRxdbUtils.range = range;\n function getMaybeId(entityOrId) {\n if (NgxRxdbUtils.isObject(entityOrId)) {\n return entityOrId['_id'];\n }\n return String(entityOrId);\n }\n NgxRxdbUtils.getMaybeId = getMaybeId;\n function compact(array) {\n return array.filter(identity);\n }\n NgxRxdbUtils.compact = compact;\n function compactObject(obj) {\n if (isEmpty(obj)) {\n return obj;\n }\n if (Array.isArray(obj)) {\n return compact(obj);\n }\n return Object.entries(obj)\n .filter(([, value]) => !isNullOrUndefined(identity(value)) && !isEmpty(value))\n .reduce((acc, [key, val]) => ({ ...acc, [key]: val }), {});\n }\n NgxRxdbUtils.compactObject = compactObject;\n function isDevModeForced() {\n return localStorage['debug']?.includes(`@ngx-odm/rxdb`);\n }\n NgxRxdbUtils.isDevModeForced = isDevModeForced;\n function isTestEnvironment() {\n return ((typeof __karma__ !== 'undefined' && !!__karma__) ||\n (typeof jasmine !== 'undefined' && !!jasmine) ||\n (typeof jest !== 'undefined' && !!jest) ||\n (typeof Mocha !== 'undefined' && !!Mocha));\n }\n NgxRxdbUtils.isTestEnvironment = isTestEnvironment;\n NgxRxdbUtils.logger = {\n log: (function () {\n const bgColor = '#8d2089';\n if (isTestEnvironment() || !isDevMode() || !isDevModeForced()) {\n return noop;\n }\n return console.log.bind(console, `%c[DEBUG::@ngx-odm/rxdb]`, `background:${bgColor};color:#fff;padding:2px;font-size:normal;`);\n })(),\n table: (function () {\n if (isTestEnvironment() || !isDevMode() || !isDevModeForced()) {\n return noop;\n }\n return console.table.bind(console);\n })(),\n };\n function debug(tag = 'Event') {\n return function debugFn(source) {\n if (!isDevMode()) {\n return source;\n }\n return source.pipe(tap({\n next(value) {\n NgxRxdbUtils.logger.log(`observable:${tag}:next:`, value);\n },\n error(e) {\n NgxRxdbUtils.logger.log(`observable:${tag}:error:`, e.message);\n },\n complete() {\n NgxRxdbUtils.logger.log(`observable:${tag}:complete`);\n },\n }));\n };\n }\n NgxRxdbUtils.debug = debug;\n function retryWithBackoff(count = 3, retryTime = 10000) {\n return (obs$) => obs$.pipe(retry({\n count,\n delay: (_, retryIndex) => {\n const d = Math.pow(2, retryIndex - 1) * retryTime;\n NgxRxdbUtils.logger.log('replication:kinto:longpoll:retry', retryIndex, d);\n return timer(d);\n },\n }));\n }\n NgxRxdbUtils.retryWithBackoff = retryWithBackoff;\n NgxRxdbUtils.tapOnce = (callback) => {\n return (source) => defer(() => {\n callback();\n return source;\n });\n };\n NgxRxdbUtils.deferUntil = (subj) => {\n return (source) => defer(() => {\n return subj.pipe(switchMap(() => source));\n });\n };\n NgxRxdbUtils.getDefaultQuery = () => ({\n selector: { _deleted: { $eq: false } },\n skip: 0,\n sort: [{ id: 'asc' }],\n });\n const _schema = {\n properties: {\n id: { type: 'string' },\n _deleted: { type: 'boolean' },\n },\n primaryKey: 'id',\n indexes: [['_deleted', 'id']],\n };\n const _queryPlan = {\n query: NgxRxdbUtils.getDefaultQuery(),\n queryPlan: {\n index: ['_deleted', 'id'],\n startKeys: [false, -9007199254740991],\n endKeys: [false, '￿'],\n inclusiveEnd: true,\n inclusiveStart: true,\n sortSatisfiedByIndex: true,\n selectorSatisfiedByIndex: false,\n },\n };\n NgxRxdbUtils.getDefaultPreparedQuery = () => prepareQuery(_schema, NgxRxdbUtils.getDefaultQuery());\n})(NgxRxdbUtils || (NgxRxdbUtils = {}));\nconst getDefaultFetch = () => {\n if (typeof window === 'object' && 'fetch' in window) {\n return window.fetch.bind(window);\n }\n else {\n return fetch;\n }\n};\nfunction getDefaultFetchWithHeaders(headers = {}) {\n const fetch = getDefaultFetch();\n const ret = (url, options = {}) => {\n Object.assign(options, {\n headers: {\n ...(options.headers || {}),\n ...headers,\n },\n });\n return fetch(url, options);\n };\n return ret;\n}\nfunction isValidRxReplicationState(obj) {\n return obj && obj instanceof RxReplicationState;\n}\nfunction mapFindResultToJsonArray(withRevAndAttachments = false) {\n return map(docs => {\n return (Array.isArray(docs) ? docs : [...docs.values()]).map(d => {\n const data = { ...d._data };\n if (!withRevAndAttachments) {\n delete data._rev;\n delete data._attachments;\n delete data._deleted;\n delete data._meta;\n }\n return data;\n });\n });\n}\n\nexport { NgxRxdbUtils, getDefaultFetch, getDefaultFetchWithHeaders, isValidRxReplicationState, mapFindResultToJsonArray };\n//# sourceMappingURL=ngx-odm-rxdb-utils.mjs.map\n","import { __metadata, __decorate } from 'tslib';\nimport { NgxRxdbUtils, isValidRxReplicationState, mapFindResultToJsonArray } from '@ngx-odm/rxdb/utils';\nimport { RXJS_SHARE_REPLAY_DEFAULTS, removeRxDatabase } from 'rxdb';\nimport { Observable, switchMap, defer, lastValueFrom, of, ReplaySubject, takeWhile, fromEvent, shareReplay, isObservable, map, distinctUntilChanged } from 'rxjs';\n\nconst { debug: debug$1, isEmptyObject, isFunction } = NgxRxdbUtils;\nfunction isZone(obj) {\n return !isEmptyObject(obj) && isFunction(obj.run);\n}\nfunction runInZone(zone) {\n if (!isZone(zone))\n return source => source;\n return source => {\n return new Observable(subscriber => {\n return source.subscribe((value) => zone.run(() => subscriber.next(value)), (e) => zone.run(() => subscriber.error(e)), () => zone.run(() => subscriber.complete()));\n });\n };\n}\nfunction ensureCollection$() {\n return function (target, propertyKey, descriptor) {\n const originalMethod = descriptor.value;\n descriptor.value = function (...args) {\n return defer(() => {\n return this.initialized$.pipe(switchMap(() => originalMethod.apply(this, args)), debug$1(`collection.${propertyKey}`));\n });\n };\n return descriptor;\n };\n}\nfunction ensureCollection() {\n return function (target, propertyKey, descriptor) {\n const originalMethod = descriptor.value;\n descriptor.value = async function (...args) {\n await lastValueFrom(this.initialized$).catch(() => {\n throw new Error(`Collection \"${this.config.name}\" was not initialized. Please check RxDB errors.`);\n });\n return originalMethod.apply(this, args);\n };\n return descriptor;\n };\n}\n\nvar _a, _b, _c, _d, _e, _f;\nconst { getMaybeId, logger, debug, noop } = NgxRxdbUtils;\nclass RxDBCollectionService {\n get initialized$() {\n return this._init$.asObservable();\n }\n get collection() {\n return this._collection;\n }\n get db() {\n return this.dbService.db;\n }\n get dbOptions() {\n return this.dbService.dbOptions;\n }\n get replicationState() {\n return this._replicationState;\n }\n get queryParams$() {\n if (!this.config.options?.useQueryParams) {\n return of({});\n }\n return this.initialized$.pipe(switchMap(() => this.collection.queryParams.$));\n }\n constructor(config, dbService, ngZone = {}, currentUrl$ = of(''), updateQueryParamsFn = noop) {\n this.config = config;\n this.dbService = dbService;\n this.ngZone = ngZone;\n this.currentUrl$ = currentUrl$;\n this.updateQueryParamsFn = updateQueryParamsFn;\n this._replicationState = null;\n this._init$ = new ReplaySubject();\n this.init(config);\n }\n destroy() {\n this.collection?.destroy();\n }\n setQueryParams(query) {\n this.collection.queryParams?.set(query);\n }\n patchQueryParams(query) {\n this.collection.queryParams?.patch(query);\n }\n async sync() {\n if (isValidRxReplicationState(this.replicationState)) {\n this.replicationState.reSync();\n return;\n }\n if (typeof this.config.options?.replicationStateFactory !== 'function') {\n return;\n }\n try {\n this._replicationState = this.config.options.replicationStateFactory(this.collection);\n }\n catch (error) {\n logger.log('replicationState has error, ignore replication');\n logger.log(error.message);\n }\n if (isValidRxReplicationState(this.replicationState)) {\n if (!this.replicationState.autoStart) {\n this.replicationState.reSync();\n }\n fromEvent(window, 'online')\n .pipe(debug('online'), takeWhile(() => !this.replicationState.isStopped()))\n .subscribe(() => {\n this._replicationState.reSync();\n });\n return this.replicationState.startPromise;\n }\n }\n async info() {\n return this.collection.getMetadata();\n }\n async import(docs) {\n const schemaHash = await this.collection.schema.hash;\n const dump = {\n name: this.collection.name,\n schemaHash,\n docs,\n };\n this.collection.importJSON(dump);\n }\n async export() {\n return this.collection.exportJSON();\n }\n docs(query, withRevAndAttachments = false) {\n return (isObservable(query) ? query : of(query)).pipe(switchMap(q => this.collection.find(q).$), mapFindResultToJsonArray(withRevAndAttachments), runInZone(this.ngZone), shareReplay(RXJS_SHARE_REPLAY_DEFAULTS));\n }\n docsByIds(ids, withRevAndAttachments = false) {\n return this.collection.findByIds(ids).$.pipe(mapFindResultToJsonArray(withRevAndAttachments), runInZone(this.ngZone), shareReplay(RXJS_SHARE_REPLAY_DEFAULTS));\n }\n count(query) {\n return this.collection.count(query).$.pipe(runInZone(this.ngZone), shareReplay(RXJS_SHARE_REPLAY_DEFAULTS));\n }\n get(id, withRevAndAttachments = false) {\n return this.collection.findOne(id).$.pipe(map(doc => (doc ? doc.toMutableJSON(withRevAndAttachments) : null)), runInZone(this.ngZone), shareReplay(RXJS_SHARE_REPLAY_DEFAULTS));\n }\n async insert(data) {\n return this.collection.insert(data);\n }\n async insertBulk(data) {\n return this.collection.bulkInsert(data);\n }\n async upsert(data) {\n return this.collection.upsert(data);\n }\n async upsertBulk(data) {\n return this.collection.bulkUpsert(data);\n }\n async set(id, data) {\n return this.collection.findOne(id).update({ $set: data });\n }\n async updateBulk(query, data) {\n return this.collection.find(query).update({ $set: data });\n }\n async remove(entityOrId) {\n const id = getMaybeId(entityOrId);\n return this.collection.findOne(id).remove();\n }\n async removeBulk(params) {\n if (Array.isArray(params)) {\n return this.collection.bulkRemove(params);\n }\n const result = await this.collection\n .find(params)\n .remove()\n .catch(() => new Map());\n return {\n success: [...result.values()],\n error: [],\n };\n }\n async clear() {\n return this.collection.remove();\n }\n async getAttachments(docId) {\n const doc = await this.collection.findOne(docId).exec();\n if (!doc) {\n return null;\n }\n const attachmentsData = doc.allAttachments().map(a => a.getData());\n return Promise.all(attachmentsData);\n }\n async getAttachmentById(docId, attachmentId) {\n const doc = await this.collection.findOne(docId).exec();\n if (!doc) {\n return null;\n }\n const attachment = doc.getAttachment(attachmentId);\n if (!attachment) {\n return null;\n }\n return attachment.getData();\n }\n async putAttachment(docId, attachment) {\n const doc = await this.collection.findOne(docId).exec();\n if (!doc) {\n return;\n }\n await doc.putAttachment(attachment);\n }\n async removeAttachment(docId, attachmentId) {\n const doc = await this.collection.findOne(docId).exec();\n if (!doc) {\n return;\n }\n const attachment = doc.getAttachment(attachmentId);\n if (!attachment) {\n return;\n }\n await attachment.remove();\n }\n async addHook(hook, handler, parralel = false) {\n this.collection[hook](handler, parralel);\n }\n async getLocal(id, key) {\n const doc = await this.collection.getLocal(id);\n if (!doc) {\n return null;\n }\n return key ? doc?.get(key) : doc?.toJSON().data;\n }\n getLocal$(id, key) {\n return this.collection.getLocal$(id).pipe(map(doc => {\n if (!doc) {\n return null;\n }\n return key ? doc.get(key) : doc.toJSON().data;\n }), distinctUntilChanged(), runInZone(this.ngZone));\n }\n async insertLocal(id, data) {\n await this.collection.insertLocal(id, data);\n }\n async upsertLocal(id, data) {\n await this.collection.upsertLocal(id, data);\n }\n async setLocal(id, prop, value) {\n const loc = await this.collection.getLocal(id);\n await this.collection.upsertLocal(id, {\n ...(loc?.toJSON?.()?.data || {}),\n [prop]: value,\n });\n }\n async removeLocal(id) {\n const doc = await this.collection.getLocal(id);\n await doc?.remove();\n }\n async init(config) {\n const { name, options } = config;\n try {\n await this.dbService.initCollections({\n [name]: config,\n });\n this._collection = this.db.collections[name];\n if (options?.useQueryParams) {\n this.collection.queryParamsInit(this.currentUrl$, this.updateQueryParamsFn);\n }\n this._init$.next(true);\n this._init$.complete();\n }\n catch (err) {\n if (err.message.includes('DM5') ||\n (err.message.includes('DB6') &&\n err.parameters.previousSchema?.version ===\n err.parameters.schema?.version)) {\n logger.log('Reload the page to fix the issue. The database is in a state where it can not be used.');\n await removeRxDatabase(this.db.name, this.db.storage);\n window?.location?.reload?.();\n }\n else {\n this._init$.complete();\n throw err;\n }\n }\n }\n}\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"sync\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"info\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Array]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"import\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"export\", null);\n__decorate([\n ensureCollection$(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object, Object]),\n __metadata(\"design:returntype\", Observable)\n], RxDBCollectionService.prototype, \"docs\", null);\n__decorate([\n ensureCollection$(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Array, Object]),\n __metadata(\"design:returntype\", Observable)\n], RxDBCollectionService.prototype, \"docsByIds\", null);\n__decorate([\n ensureCollection$(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Observable)\n], RxDBCollectionService.prototype, \"count\", null);\n__decorate([\n ensureCollection$(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String, Object]),\n __metadata(\"design:returntype\", Observable)\n], RxDBCollectionService.prototype, \"get\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"insert\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Array]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"insertBulk\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"upsert\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Array]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"upsertBulk\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String, Object]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"set\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object, Object]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"updateBulk\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"remove\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"removeBulk\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"clear\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"getAttachments\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String, String]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"getAttachmentById\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String, Object]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"putAttachment\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String, String]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"removeAttachment\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [typeof (_a = typeof Hook !== \"undefined\" && Hook) === \"function\" ? _a : Object, Object, Object]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"addHook\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String, typeof (_b = typeof K !== \"undefined\" && K) === \"function\" ? _b : Object]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"getLocal\", null);\n__decorate([\n ensureCollection$(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String, typeof (_c = typeof K !== \"undefined\" && K) === \"function\" ? _c : Object]),\n __metadata(\"design:returntype\", Observable)\n], RxDBCollectionService.prototype, \"getLocal$\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String, typeof (_d = typeof L !== \"undefined\" && L) === \"function\" ? _d : Object]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"insertLocal\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String, typeof (_e = typeof L !== \"undefined\" && L) === \"function\" ? _e : Object]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"upsertLocal\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String, typeof (_f = typeof K !== \"undefined\" && K) === \"function\" ? _f : Object, Object]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"setLocal\", null);\n__decorate([\n ensureCollection(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", Promise)\n], RxDBCollectionService.prototype, \"removeLocal\", null);\n\nexport { RxDBCollectionService };\n//# sourceMappingURL=ngx-odm-rxdb-collection.mjs.map\n","(function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).Dexie=t()})(this,function(){\"use strict\";var s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};var g=function(){return(g=Object.assign||function(e){for(var t,n=1,r=arguments.length;n.\",Ze=\"String expected.\",et=[],tt=\"__dbnames\",nt=\"readonly\",rt=\"readwrite\";function it(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}var ot={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function at(t){return\"string\"!=typeof t||/\\./.test(t)?function(e){return e}:function(e){return void 0===e[t]&&t in e&&delete(e=S(e))[t],e}}function ut(){throw Y.Type()}function st(e,t){try{var n=ct(e),r=ct(t);if(n!==r)return\"Array\"===n?1:\"Array\"===r?-1:\"binary\"===n?1:\"binary\"===r?-1:\"string\"===n?1:\"string\"===r?-1:\"Date\"===n?1:\"Date\"!==r?NaN:-1;switch(n){case\"number\":case\"Date\":case\"string\":return tc+l&&h(c+g)})})}return h(0).then(function(){if(0=c})).length?(e.forEach(function(u){t.push(function(){var t=h,e=u._cfg.dbschema;cn(s,t,f),cn(s,e,f),h=s._dbSchema=e;var n=rn(t,e);n.add.forEach(function(e){on(f,e[0],e[1].primKey,e[1].indexes)}),n.change.forEach(function(e){if(e.recreate)throw new Y.Upgrade(\"Not yet support for changing primary key\");var t=f.objectStore(e.name);e.add.forEach(function(e){return un(t,e)}),e.change.forEach(function(e){t.deleteIndex(e.name),un(t,e)}),e.del.forEach(function(e){return t.deleteIndex(e)})});var r=u._cfg.contentUpgrade;if(r&&u._cfg.version>c){Ht(s,f),l._memoizedTables={};var i=_(e);n.del.forEach(function(e){i[e]=t[e]}),Zt(s,[s.Transaction.prototype]),Jt(s,[s.Transaction.prototype],x(i),i),l.schema=i;var o,a=I(r);a&&Le();n=_e.follow(function(){var e;(o=r(l))&&a&&(e=Ue.bind(null,null),o.then(e,e))});return o&&\"function\"==typeof o.then?_e.resolve(o):n.then(function(){return o})}}),t.push(function(e){var t,n,r=u._cfg.dbschema;t=r,n=e,[].slice.call(n.db.objectStoreNames).forEach(function(e){return null==t[e]&&n.db.deleteObjectStore(e)}),Zt(s,[s.Transaction.prototype]),Jt(s,[s.Transaction.prototype],s._storeNames,s._dbSchema),l.schema=s._dbSchema}),t.push(function(e){s.idbdb.objectStoreNames.contains(\"$meta\")&&(Math.ceil(s.idbdb.version/10)===u._cfg.version?(s.idbdb.deleteObjectStore(\"$meta\"),delete s._dbSchema.$meta,s._storeNames=s._storeNames.filter(function(e){return\"$meta\"!==e})):e.objectStore(\"$meta\").put(u._cfg.version,\"version\"))})}),function e(){return t.length?_e.resolve(t.shift()(l.idbtrans)).then(e):_e.resolve()}().then(function(){an(h,f)})):_e.resolve();var s,c,l,f,t,h}).catch(u)):(x(o).forEach(function(e){on(i,e,o[e].primKey,o[e].indexes)}),Ht(n,i),void _e.follow(function(){return n.on.populate.fire(a)}).catch(u));var e,t})}function nn(e,r){an(e._dbSchema,r),r.db.version%10!=0||r.objectStoreNames.contains(\"$meta\")||r.db.createObjectStore(\"$meta\").add(Math.ceil(r.db.version/10-1),\"version\");var t=sn(0,e.idbdb,r);cn(e,e._dbSchema,r);for(var n=0,i=rn(t,e._dbSchema).change;nMath.pow(2,62)?0:e.oldVersion,m=e<1,f.idbdb=l.result,p&&nn(f,v),tn(f,e/10,v,n))},n),l.onsuccess=qe(function(){v=null;var e,t,n,r,i,o=f.idbdb=l.result,a=b(o.objectStoreNames);if(0u.limit?t.length=u.limit:e.length===u.limit&&t.length=r.limit&&(!r.values||e.req.values)&&Qn(e.req.query.range,r.query.range)}),!1,i,o];case\"count\":a=o.find(function(e){return $n(e.req.query.range,r.query.range)});return[a,!!a,i,o]}}(O,c,\"query\",t),a=o[0],e=o[1],u=o[2],s=o[3];return a&&e?a.obsSet=t.obsSet:(e=l.query(t).then(function(e){var t=e.result;if(a&&(a.res=t),i){for(var n=0,r=t.length;n {\n var value = (async () => {\n /**\n * IndexedDB was not designed for dynamically adding tables on the fly,\n * so we create one dexie database per RxDB storage instance.\n * @link https://github.com/dexie/Dexie.js/issues/684#issuecomment-373224696\n */\n var useSettings = flatClone(settings);\n useSettings.autoOpen = false;\n var dexieDb = new Dexie(dexieDbName, useSettings);\n var dexieStoresSettings = {\n [DEXIE_DOCS_TABLE_NAME]: getDexieStoreSchema(schema),\n [DEXIE_CHANGES_TABLE_NAME]: '++sequence, id',\n [DEXIE_ATTACHMENTS_TABLE_NAME]: 'id'\n };\n dexieDb.version(1).stores(dexieStoresSettings);\n await dexieDb.open();\n return {\n dexieDb,\n dexieTable: dexieDb[DEXIE_DOCS_TABLE_NAME],\n dexieAttachmentsTable: dexieDb[DEXIE_ATTACHMENTS_TABLE_NAME],\n booleanIndexes: getBooleanIndexes(schema)\n };\n })();\n DEXIE_STATE_DB_BY_NAME.set(dexieDbName, state);\n REF_COUNT_PER_DEXIE_DB.set(state, 0);\n return value;\n });\n return state;\n}\nexport async function closeDexieDb(statePromise) {\n var state = await statePromise;\n var prevCount = REF_COUNT_PER_DEXIE_DB.get(statePromise);\n var newCount = prevCount - 1;\n if (newCount === 0) {\n state.dexieDb.close();\n REF_COUNT_PER_DEXIE_DB.delete(statePromise);\n } else {\n REF_COUNT_PER_DEXIE_DB.set(statePromise, newCount);\n }\n}\n\n/**\n * It is not possible to set non-javascript-variable-syntax\n * keys as IndexedDB indexes. So we have to substitute the pipe-char\n * which comes from the key-compression plugin.\n */\nexport var DEXIE_PIPE_SUBSTITUTE = '__';\nexport function dexieReplaceIfStartsWithPipe(str) {\n var split = str.split('.');\n if (split.length > 1) {\n return split.map(part => dexieReplaceIfStartsWithPipe(part)).join('.');\n }\n if (str.startsWith('|')) {\n var withoutFirst = str.substring(1);\n return DEXIE_PIPE_SUBSTITUTE + withoutFirst;\n } else {\n return str;\n }\n}\nexport function dexieReplaceIfStartsWithPipeRevert(str) {\n var split = str.split('.');\n if (split.length > 1) {\n return split.map(part => dexieReplaceIfStartsWithPipeRevert(part)).join('.');\n }\n if (str.startsWith(DEXIE_PIPE_SUBSTITUTE)) {\n var withoutFirst = str.substring(DEXIE_PIPE_SUBSTITUTE.length);\n return '|' + withoutFirst;\n } else {\n return str;\n }\n}\n\n/**\n * IndexedDB does not support boolean indexing.\n * So we have to replace true/false with '1'/'0'\n * @param d \n */\nexport function fromStorageToDexie(booleanIndexes, d) {\n if (!d) {\n return d;\n }\n d = flatClone(d);\n d = fromStorageToDexieField(d);\n booleanIndexes.forEach(idx => {\n var val = getProperty(d, idx);\n var newVal = val ? '1' : '0';\n setProperty(d, idx, newVal);\n });\n return d;\n}\nexport function fromDexieToStorage(booleanIndexes, d) {\n if (!d) {\n return d;\n }\n d = flatClone(d);\n d = fromDexieToStorageField(d);\n booleanIndexes.forEach(idx => {\n var val = getProperty(d, idx);\n var newVal = val === '1' ? true : false;\n setProperty(d, idx, newVal);\n });\n return d;\n}\n\n/**\n * @recursive\n */\nexport function fromStorageToDexieField(documentData) {\n if (!documentData || typeof documentData === 'string' || typeof documentData === 'number' || typeof documentData === 'boolean') {\n return documentData;\n } else if (Array.isArray(documentData)) {\n return documentData.map(row => fromStorageToDexieField(row));\n } else if (typeof documentData === 'object') {\n var ret = {};\n Object.entries(documentData).forEach(([key, value]) => {\n if (typeof value === 'object') {\n value = fromStorageToDexieField(value);\n }\n ret[dexieReplaceIfStartsWithPipe(key)] = value;\n });\n return ret;\n }\n}\nexport function fromDexieToStorageField(documentData) {\n if (!documentData || typeof documentData === 'string' || typeof documentData === 'number' || typeof documentData === 'boolean') {\n return documentData;\n } else if (Array.isArray(documentData)) {\n return documentData.map(row => fromDexieToStorageField(row));\n } else if (typeof documentData === 'object') {\n var ret = {};\n Object.entries(documentData).forEach(([key, value]) => {\n if (typeof value === 'object' || Array.isArray(documentData)) {\n value = fromDexieToStorageField(value);\n }\n ret[dexieReplaceIfStartsWithPipeRevert(key)] = value;\n });\n return ret;\n }\n}\n\n/**\n * Creates a string that can be used to create the dexie store.\n * @link https://dexie.org/docs/API-Reference#quick-reference\n */\nexport function getDexieStoreSchema(rxJsonSchema) {\n var parts = [];\n\n /**\n * First part must be the primary key\n * @link https://github.com/dexie/Dexie.js/issues/1307#issuecomment-846590912\n */\n var primaryKey = getPrimaryFieldOfPrimaryKey(rxJsonSchema.primaryKey);\n parts.push([primaryKey]);\n parts.push(['_deleted', primaryKey]);\n\n // add other indexes\n if (rxJsonSchema.indexes) {\n rxJsonSchema.indexes.forEach(index => {\n var arIndex = toArray(index);\n parts.push(arIndex);\n });\n }\n\n // we also need the _meta.lwt+primaryKey index for the getChangedDocumentsSince() method.\n parts.push(['_meta.lwt', primaryKey]);\n\n // and this one for the cleanup()\n parts.push(['_meta.lwt']);\n\n /**\n * It is not possible to set non-javascript-variable-syntax\n * keys as IndexedDB indexes. So we have to substitute the pipe-char\n * which comes from the key-compression plugin.\n */\n parts = parts.map(part => {\n return part.map(str => dexieReplaceIfStartsWithPipe(str));\n });\n var dexieSchemaRows = parts.map(part => {\n if (part.length === 1) {\n return part[0];\n } else {\n return '[' + part.join('+') + ']';\n }\n });\n dexieSchemaRows = dexieSchemaRows.filter((elem, pos, arr) => arr.indexOf(elem) === pos); // unique;\n var dexieSchema = dexieSchemaRows.join(', ');\n return dexieSchema;\n}\n\n/**\n * Returns all documents in the database.\n * Non-deleted plus deleted ones.\n */\nexport async function getDocsInDb(internals, docIds) {\n var state = await internals;\n var docsInDb = await state.dexieTable.bulkGet(docIds);\n return docsInDb.map(d => fromDexieToStorage(state.booleanIndexes, d));\n}\nexport function attachmentObjectId(documentId, attachmentId) {\n return documentId + '||' + attachmentId;\n}\nexport function getBooleanIndexes(schema) {\n var checkedFields = new Set();\n var ret = [];\n if (!schema.indexes) {\n return ret;\n }\n schema.indexes.forEach(index => {\n var fields = toArray(index);\n fields.forEach(field => {\n if (checkedFields.has(field)) {\n return;\n }\n checkedFields.add(field);\n var schemaObj = getSchemaByObjectPath(schema, field);\n if (schemaObj.type === 'boolean') {\n ret.push(field);\n }\n });\n });\n ret.push('_deleted');\n return uniqueArray(ret);\n}\n//# sourceMappingURL=dexie-helper.js.map","import { INDEX_MAX, INDEX_MIN } from \"../../query-planner.js\";\nimport { getQueryMatcher, getSortComparator } from \"../../rx-query-helper.js\";\nimport { dexieReplaceIfStartsWithPipe, DEXIE_DOCS_TABLE_NAME, fromDexieToStorage } from \"./dexie-helper.js\";\nexport function mapKeyForKeyRange(k) {\n if (k === INDEX_MIN) {\n return -Infinity;\n } else {\n return k;\n }\n}\nfunction rangeFieldToBooleanSubstitute(booleanIndexes, fieldName, value) {\n if (booleanIndexes.includes(fieldName)) {\n var newValue = value === INDEX_MAX || value === true ? '1' : '0';\n return newValue;\n } else {\n return value;\n }\n}\nexport function getKeyRangeByQueryPlan(booleanIndexes, queryPlan, IDBKeyRange) {\n if (!IDBKeyRange) {\n if (typeof window === 'undefined') {\n throw new Error('IDBKeyRange missing');\n } else {\n IDBKeyRange = window.IDBKeyRange;\n }\n }\n var startKeys = queryPlan.startKeys.map((v, i) => {\n var fieldName = queryPlan.index[i];\n return rangeFieldToBooleanSubstitute(booleanIndexes, fieldName, v);\n }).map(mapKeyForKeyRange);\n var endKeys = queryPlan.endKeys.map((v, i) => {\n var fieldName = queryPlan.index[i];\n return rangeFieldToBooleanSubstitute(booleanIndexes, fieldName, v);\n }).map(mapKeyForKeyRange);\n var keyRange = IDBKeyRange.bound(startKeys, endKeys, !queryPlan.inclusiveStart, !queryPlan.inclusiveEnd);\n return keyRange;\n}\n\n/**\n * Runs mango queries over the Dexie.js database.\n */\nexport async function dexieQuery(instance, preparedQuery) {\n var state = await instance.internals;\n var query = preparedQuery.query;\n var skip = query.skip ? query.skip : 0;\n var limit = query.limit ? query.limit : Infinity;\n var skipPlusLimit = skip + limit;\n var queryPlan = preparedQuery.queryPlan;\n var queryMatcher = false;\n if (!queryPlan.selectorSatisfiedByIndex) {\n queryMatcher = getQueryMatcher(instance.schema, preparedQuery.query);\n }\n var keyRange = getKeyRangeByQueryPlan(state.booleanIndexes, queryPlan, state.dexieDb._options.IDBKeyRange);\n var queryPlanFields = queryPlan.index;\n var rows = [];\n await state.dexieDb.transaction('r', state.dexieTable, async dexieTx => {\n /**\n * TODO here we use the native IndexedDB transaction\n * to get the cursor.\n * Instead we should not leave Dexie.js API and find\n * a way to create the cursor with Dexie.js.\n */\n var tx = dexieTx.idbtrans;\n\n // const nativeIndexedDB = state.dexieDb.backendDB();\n // const trans = nativeIndexedDB.transaction([DEXIE_DOCS_TABLE_NAME], 'readonly');\n\n var store = tx.objectStore(DEXIE_DOCS_TABLE_NAME);\n var index;\n var indexName;\n indexName = '[' + queryPlanFields.map(field => dexieReplaceIfStartsWithPipe(field)).join('+') + ']';\n index = store.index(indexName);\n var cursorReq = index.openCursor(keyRange);\n await new Promise(res => {\n cursorReq.onsuccess = function (e) {\n var cursor = e.target.result;\n if (cursor) {\n // We have a record in cursor.value\n var docData = fromDexieToStorage(state.booleanIndexes, cursor.value);\n if (!queryMatcher || queryMatcher(docData)) {\n rows.push(docData);\n }\n\n /**\n * If we do not have to manually sort\n * and have enough documents,\n * we can abort iterating over the cursor\n * because we already have every relevant document.\n */\n if (queryPlan.sortSatisfiedByIndex && rows.length === skipPlusLimit) {\n res();\n } else {\n cursor.continue();\n }\n } else {\n // Iteration complete\n res();\n }\n };\n });\n });\n if (!queryPlan.sortSatisfiedByIndex) {\n var sortComparator = getSortComparator(instance.schema, preparedQuery.query);\n rows = rows.sort(sortComparator);\n }\n\n // apply skip and limit boundaries.\n rows = rows.slice(skip, skipPlusLimit);\n\n /**\n * Comment this in for debugging to check all fields in the database.\n */\n // const docsInDb = await state.dexieTable.filter(queryMatcher).toArray();\n // let documents = docsInDb\n // .map(docData => stripDexieKey(docData))\n // .sort(sortComparator);\n // if (preparedQuery.skip) {\n // documents = documents.slice(preparedQuery.skip);\n // }\n // if (preparedQuery.limit && documents.length > preparedQuery.limit) {\n // documents = documents.slice(0, preparedQuery.limit);\n // }\n\n return {\n documents: rows\n };\n}\nexport async function dexieCount(instance, preparedQuery) {\n var state = await instance.internals;\n var queryPlan = preparedQuery.queryPlan;\n var queryPlanFields = queryPlan.index;\n var keyRange = getKeyRangeByQueryPlan(state.booleanIndexes, queryPlan, state.dexieDb._options.IDBKeyRange);\n var count = -1;\n await state.dexieDb.transaction('r', state.dexieTable, async dexieTx => {\n var tx = dexieTx.idbtrans;\n var store = tx.objectStore(DEXIE_DOCS_TABLE_NAME);\n var index;\n var indexName;\n indexName = '[' + queryPlanFields.map(field => dexieReplaceIfStartsWithPipe(field)).join('+') + ']';\n index = store.index(indexName);\n var request = index.count(keyRange);\n count = await new Promise((res, rej) => {\n request.onsuccess = function () {\n res(request.result);\n };\n request.onerror = err => rej(err);\n });\n });\n return count;\n}\n//# sourceMappingURL=dexie-query.js.map","import { Subject } from 'rxjs';\nimport { now, ensureNotFalsy } from \"../utils/index.js\";\nimport { attachmentObjectId, closeDexieDb, fromStorageToDexie, getDexieDbWithTables, getDocsInDb, RX_STORAGE_NAME_DEXIE } from \"./dexie-helper.js\";\nimport { dexieCount, dexieQuery } from \"./dexie-query.js\";\nimport { getPrimaryFieldOfPrimaryKey } from \"../../rx-schema-helper.js\";\nimport { categorizeBulkWriteRows } from \"../../rx-storage-helper.js\";\nimport { addRxStorageMultiInstanceSupport } from \"../../rx-storage-multiinstance.js\";\nimport { newRxError } from \"../../rx-error.js\";\nvar instanceId = now();\nexport var RxStorageInstanceDexie = /*#__PURE__*/function () {\n function RxStorageInstanceDexie(storage, databaseName, collectionName, schema, internals, options, settings) {\n this.changes$ = new Subject();\n this.instanceId = instanceId++;\n this.storage = storage;\n this.databaseName = databaseName;\n this.collectionName = collectionName;\n this.schema = schema;\n this.internals = internals;\n this.options = options;\n this.settings = settings;\n this.primaryPath = getPrimaryFieldOfPrimaryKey(this.schema.primaryKey);\n }\n var _proto = RxStorageInstanceDexie.prototype;\n _proto.bulkWrite = async function bulkWrite(documentWrites, context) {\n ensureNotClosed(this);\n\n /**\n * Check some assumptions to ensure RxDB\n * does not call the storage with an invalid write.\n */\n documentWrites.forEach(row => {\n // ensure revision is set\n if (!row.document._rev || row.previous && !row.previous._rev) {\n throw newRxError('SNH', {\n args: {\n row\n }\n });\n }\n });\n var state = await this.internals;\n var ret = {\n success: [],\n error: []\n };\n var documentKeys = documentWrites.map(writeRow => writeRow.document[this.primaryPath]);\n var categorized;\n await state.dexieDb.transaction('rw', state.dexieTable, state.dexieAttachmentsTable, async () => {\n var docsInDbMap = new Map();\n var docsInDbWithInternals = await getDocsInDb(this.internals, documentKeys);\n docsInDbWithInternals.forEach(docWithDexieInternals => {\n var doc = docWithDexieInternals;\n if (doc) {\n docsInDbMap.set(doc[this.primaryPath], doc);\n }\n return doc;\n });\n categorized = categorizeBulkWriteRows(this, this.primaryPath, docsInDbMap, documentWrites, context);\n ret.error = categorized.errors;\n\n /**\n * Batch up the database operations\n * so we can later run them in bulk.\n */\n var bulkPutDocs = [];\n categorized.bulkInsertDocs.forEach(row => {\n ret.success.push(row.document);\n bulkPutDocs.push(row.document);\n });\n categorized.bulkUpdateDocs.forEach(row => {\n ret.success.push(row.document);\n bulkPutDocs.push(row.document);\n });\n bulkPutDocs = bulkPutDocs.map(d => fromStorageToDexie(state.booleanIndexes, d));\n if (bulkPutDocs.length > 0) {\n await state.dexieTable.bulkPut(bulkPutDocs);\n }\n\n // handle attachments\n var putAttachments = [];\n categorized.attachmentsAdd.forEach(attachment => {\n putAttachments.push({\n id: attachmentObjectId(attachment.documentId, attachment.attachmentId),\n data: attachment.attachmentData.data\n });\n });\n categorized.attachmentsUpdate.forEach(attachment => {\n putAttachments.push({\n id: attachmentObjectId(attachment.documentId, attachment.attachmentId),\n data: attachment.attachmentData.data\n });\n });\n await state.dexieAttachmentsTable.bulkPut(putAttachments);\n await state.dexieAttachmentsTable.bulkDelete(categorized.attachmentsRemove.map(attachment => attachmentObjectId(attachment.documentId, attachment.attachmentId)));\n });\n categorized = ensureNotFalsy(categorized);\n if (categorized.eventBulk.events.length > 0) {\n var lastState = ensureNotFalsy(categorized.newestRow).document;\n categorized.eventBulk.checkpoint = {\n id: lastState[this.primaryPath],\n lwt: lastState._meta.lwt\n };\n categorized.eventBulk.endTime = now();\n this.changes$.next(categorized.eventBulk);\n }\n return ret;\n };\n _proto.findDocumentsById = async function findDocumentsById(ids, deleted) {\n ensureNotClosed(this);\n var state = await this.internals;\n var ret = [];\n await state.dexieDb.transaction('r', state.dexieTable, async () => {\n var docsInDb = await getDocsInDb(this.internals, ids);\n docsInDb.forEach(documentInDb => {\n if (documentInDb && (!documentInDb._deleted || deleted)) {\n ret.push(documentInDb);\n }\n });\n });\n return ret;\n };\n _proto.query = function query(preparedQuery) {\n ensureNotClosed(this);\n return dexieQuery(this, preparedQuery);\n };\n _proto.count = async function count(preparedQuery) {\n if (preparedQuery.queryPlan.selectorSatisfiedByIndex) {\n var result = await dexieCount(this, preparedQuery);\n return {\n count: result,\n mode: 'fast'\n };\n } else {\n var _result = await dexieQuery(this, preparedQuery);\n return {\n count: _result.documents.length,\n mode: 'slow'\n };\n }\n };\n _proto.changeStream = function changeStream() {\n ensureNotClosed(this);\n return this.changes$.asObservable();\n };\n _proto.cleanup = async function cleanup(minimumDeletedTime) {\n ensureNotClosed(this);\n var state = await this.internals;\n await state.dexieDb.transaction('rw', state.dexieTable, async () => {\n var maxDeletionTime = now() - minimumDeletedTime;\n /**\n * TODO only fetch _deleted=true\n */\n var toRemove = await state.dexieTable.where('_meta.lwt').below(maxDeletionTime).toArray();\n var removeIds = [];\n toRemove.forEach(doc => {\n if (doc._deleted === '1') {\n removeIds.push(doc[this.primaryPath]);\n }\n });\n await state.dexieTable.bulkDelete(removeIds);\n });\n\n /**\n * TODO instead of deleting all deleted docs at once,\n * only clean up some of them and return false if there are more documents to clean up.\n * This ensures that when many documents have to be purged,\n * we do not block the more important tasks too long.\n */\n return true;\n };\n _proto.getAttachmentData = async function getAttachmentData(documentId, attachmentId, _digest) {\n ensureNotClosed(this);\n var state = await this.internals;\n var id = attachmentObjectId(documentId, attachmentId);\n return await state.dexieDb.transaction('r', state.dexieAttachmentsTable, async () => {\n var attachment = await state.dexieAttachmentsTable.get(id);\n if (attachment) {\n return attachment.data;\n } else {\n throw new Error('attachment missing documentId: ' + documentId + ' attachmentId: ' + attachmentId);\n }\n });\n };\n _proto.remove = async function remove() {\n ensureNotClosed(this);\n var state = await this.internals;\n await state.dexieTable.clear();\n return this.close();\n };\n _proto.close = function close() {\n if (this.closed) {\n return this.closed;\n }\n this.closed = (async () => {\n this.changes$.complete();\n await closeDexieDb(this.internals);\n })();\n return this.closed;\n };\n _proto.conflictResultionTasks = function conflictResultionTasks() {\n return new Subject();\n };\n _proto.resolveConflictResultionTask = async function resolveConflictResultionTask(_taskSolution) {};\n return RxStorageInstanceDexie;\n}();\nexport async function createDexieStorageInstance(storage, params, settings) {\n var internals = getDexieDbWithTables(params.databaseName, params.collectionName, settings, params.schema);\n var instance = new RxStorageInstanceDexie(storage, params.databaseName, params.collectionName, params.schema, internals, params.options, settings);\n await addRxStorageMultiInstanceSupport(RX_STORAGE_NAME_DEXIE, params, instance);\n return Promise.resolve(instance);\n}\nfunction ensureNotClosed(instance) {\n if (instance.closed) {\n throw new Error('RxStorageInstanceDexie is closed ' + instance.databaseName + '-' + instance.collectionName);\n }\n}\n//# sourceMappingURL=rx-storage-instance-dexie.js.map","import { RX_STORAGE_NAME_DEXIE } from \"./dexie-helper.js\";\nimport { createDexieStorageInstance } from \"./rx-storage-instance-dexie.js\";\nimport { ensureRxStorageInstanceParamsAreCorrect } from \"../../rx-storage-helper.js\";\nimport { RXDB_VERSION } from \"../utils/utils-rxdb-version.js\";\nexport var RxStorageDexie = /*#__PURE__*/function () {\n function RxStorageDexie(settings) {\n this.name = RX_STORAGE_NAME_DEXIE;\n this.rxdbVersion = RXDB_VERSION;\n this.settings = settings;\n }\n var _proto = RxStorageDexie.prototype;\n _proto.createStorageInstance = function createStorageInstance(params) {\n ensureRxStorageInstanceParamsAreCorrect(params);\n return createDexieStorageInstance(this, params, this.settings);\n };\n return RxStorageDexie;\n}();\nexport function getRxStorageDexie(settings = {}) {\n var storage = new RxStorageDexie(settings);\n return storage;\n}\n//# sourceMappingURL=rx-storage-dexie.js.map","/**\n * Everything in this file was copied and adapted from\n * @link https://github.com/mikolalysenko/binary-search-bounds\n *\n * TODO We should use the original npm module instead when this bug is fixed:\n * @link https://github.com/mikolalysenko/binary-search-bounds/pull/14\n */\n\nfunction ge(a, y, c, l, h) {\n var i = h + 1;\n while (l <= h) {\n var m = l + h >>> 1;\n var x = a[m];\n var p = c !== undefined ? c(x, y) : x - y;\n if (p >= 0) {\n i = m;\n h = m - 1;\n } else {\n l = m + 1;\n }\n }\n return i;\n}\nfunction gt(a, y, c, l, h) {\n var i = h + 1;\n while (l <= h) {\n var m = l + h >>> 1;\n var x = a[m];\n var p = c !== undefined ? c(x, y) : x - y;\n if (p > 0) {\n i = m;\n h = m - 1;\n } else {\n l = m + 1;\n }\n }\n return i;\n}\nfunction lt(a, y, c, l, h) {\n var i = l - 1;\n while (l <= h) {\n var m = l + h >>> 1,\n x = a[m];\n var p = c !== undefined ? c(x, y) : x - y;\n if (p < 0) {\n i = m;\n l = m + 1;\n } else {\n h = m - 1;\n }\n }\n return i;\n}\nfunction le(a, y, c, l, h) {\n var i = l - 1;\n while (l <= h) {\n var m = l + h >>> 1,\n x = a[m];\n var p = c !== undefined ? c(x, y) : x - y;\n if (p <= 0) {\n i = m;\n l = m + 1;\n } else {\n h = m - 1;\n }\n }\n return i;\n}\nfunction eq(a, y, c, l, h) {\n while (l <= h) {\n var m = l + h >>> 1,\n x = a[m];\n var p = c !== undefined ? c(x, y) : x - y;\n if (p === 0) {\n return m;\n }\n if (p <= 0) {\n l = m + 1;\n } else {\n h = m - 1;\n }\n }\n return -1;\n}\nfunction norm(a, y, c, l, h, f) {\n if (typeof c === 'function') {\n return f(a, y, c, l === undefined ? 0 : l | 0, h === undefined ? a.length - 1 : h | 0);\n }\n return f(a, y, undefined, c === undefined ? 0 : c | 0, l === undefined ? a.length - 1 : l | 0);\n}\nexport function boundGE(a, y, c, l, h) {\n return norm(a, y, c, l, h, ge);\n}\nexport function boundGT(a, y, c, l, h) {\n return norm(a, y, c, l, h, gt);\n}\nexport function boundLT(a, y, c, l, h) {\n return norm(a, y, c, l, h, lt);\n}\nexport function boundLE(a, y, c, l, h) {\n return norm(a, y, c, l, h, le);\n}\nexport function boundEQ(a, y, c, l, h) {\n return norm(a, y, c, l, h, eq);\n}\n//# sourceMappingURL=binary-search-bounds.js.map","import { pushAtSortPosition } from 'array-push-at-sort-position';\nimport { newRxError } from \"../../rx-error.js\";\nimport { boundEQ } from \"./binary-search-bounds.js\";\nexport function getMemoryCollectionKey(databaseName, collectionName, schemaVersion) {\n return [databaseName, collectionName, schemaVersion].join('--memory--');\n}\nexport function ensureNotRemoved(instance) {\n if (instance.internals.removed) {\n throw new Error('removed');\n }\n}\nexport function attachmentMapKey(documentId, attachmentId) {\n return documentId + '||' + attachmentId;\n}\nfunction sortByIndexStringComparator(a, b) {\n if (a.indexString < b.indexString) {\n return -1;\n } else {\n return 1;\n }\n}\n\n/**\n * @hotPath\n */\nexport function putWriteRowToState(docId, state, stateByIndex, row, docInState) {\n var document = row.document;\n state.documents.set(docId, document);\n for (var i = 0; i < stateByIndex.length; ++i) {\n var byIndex = stateByIndex[i];\n var docsWithIndex = byIndex.docsWithIndex;\n var getIndexableString = byIndex.getIndexableString;\n var newIndexString = getIndexableString(document);\n var insertPosition = pushAtSortPosition(docsWithIndex, {\n id: docId,\n doc: document,\n indexString: newIndexString\n }, sortByIndexStringComparator, 0);\n\n /**\n * Remove previous if it was in the state\n */\n if (docInState) {\n var previousIndexString = getIndexableString(docInState);\n if (previousIndexString === newIndexString) {\n /**\n * Performance shortcut.\n * If index was not changed -> The old doc must be before or after the new one.\n */\n var prev = docsWithIndex[insertPosition - 1];\n if (prev && prev.id === docId) {\n docsWithIndex.splice(insertPosition - 1, 1);\n } else {\n var next = docsWithIndex[insertPosition + 1];\n if (next.id === docId) {\n docsWithIndex.splice(insertPosition + 1, 1);\n } else {\n throw newRxError('SNH', {\n args: {\n row,\n byIndex\n }\n });\n }\n }\n } else {\n /**\n * Index changed, we must search for the old one and remove it.\n */\n var indexBefore = boundEQ(docsWithIndex, {\n indexString: previousIndexString\n }, compareDocsWithIndex);\n docsWithIndex.splice(indexBefore, 1);\n }\n }\n }\n}\nexport function removeDocFromState(primaryPath, schema, state, doc) {\n var docId = doc[primaryPath];\n state.documents.delete(docId);\n Object.values(state.byIndex).forEach(byIndex => {\n var docsWithIndex = byIndex.docsWithIndex;\n var indexString = byIndex.getIndexableString(doc);\n var positionInIndex = boundEQ(docsWithIndex, {\n indexString\n }, compareDocsWithIndex);\n docsWithIndex.splice(positionInIndex, 1);\n });\n}\nexport function compareDocsWithIndex(a, b) {\n var indexStringA = a.indexString;\n var indexStringB = b.indexString;\n if (indexStringA < indexStringB) {\n return -1;\n } else if (indexStringA === indexStringB) {\n return 0;\n } else {\n return 1;\n }\n}\n//# sourceMappingURL=memory-helper.js.map","import { getIndexableStringMonad } from \"../../custom-index.js\";\nimport { getPrimaryFieldOfPrimaryKey } from \"../../rx-schema-helper.js\";\nimport { toArray } from \"../../plugins/utils/index.js\";\nexport function addIndexesToInternalsState(state, schema) {\n var primaryPath = getPrimaryFieldOfPrimaryKey(schema.primaryKey);\n var useIndexes = !schema.indexes ? [] : schema.indexes.map(row => toArray(row));\n\n // we need this index for running cleanup()\n useIndexes.push(['_deleted', '_meta.lwt', primaryPath]);\n useIndexes.forEach(indexAr => {\n state.byIndex[getMemoryIndexName(indexAr)] = {\n index: indexAr,\n docsWithIndex: [],\n getIndexableString: getIndexableStringMonad(schema, indexAr)\n };\n });\n}\nexport function getMemoryIndexName(index) {\n return index.join(',');\n}\n//# sourceMappingURL=memory-indexes.js.map","import { Subject } from 'rxjs';\nimport { getStartIndexStringFromLowerBound, getStartIndexStringFromUpperBound } from \"../../custom-index.js\";\nimport { getPrimaryFieldOfPrimaryKey } from \"../../rx-schema-helper.js\";\nimport { categorizeBulkWriteRows } from \"../../rx-storage-helper.js\";\nimport { deepEqual, ensureNotFalsy, now, PROMISE_RESOLVE_TRUE, PROMISE_RESOLVE_VOID, randomCouchString, requestIdlePromiseNoQueue } from \"../../plugins/utils/index.js\";\nimport { boundGE, boundGT, boundLE, boundLT } from \"./binary-search-bounds.js\";\nimport { attachmentMapKey, compareDocsWithIndex, ensureNotRemoved, getMemoryCollectionKey, putWriteRowToState, removeDocFromState } from \"./memory-helper.js\";\nimport { addIndexesToInternalsState, getMemoryIndexName } from \"./memory-indexes.js\";\nimport { getQueryMatcher, getSortComparator } from \"../../rx-query-helper.js\";\n\n/**\n * Used in tests to ensure everything\n * is closed correctly\n */\nexport var OPEN_MEMORY_INSTANCES = new Set();\nexport var RxStorageInstanceMemory = /*#__PURE__*/function () {\n function RxStorageInstanceMemory(storage, databaseName, collectionName, schema, internals, options, settings) {\n this.closed = false;\n this.storage = storage;\n this.databaseName = databaseName;\n this.collectionName = collectionName;\n this.schema = schema;\n this.internals = internals;\n this.options = options;\n this.settings = settings;\n OPEN_MEMORY_INSTANCES.add(this);\n this.primaryPath = getPrimaryFieldOfPrimaryKey(this.schema.primaryKey);\n }\n var _proto = RxStorageInstanceMemory.prototype;\n _proto.bulkWrite = function bulkWrite(documentWrites, context) {\n this.ensurePersistence();\n ensureNotRemoved(this);\n var internals = this.internals;\n var documentsById = this.internals.documents;\n var primaryPath = this.primaryPath;\n var categorized = categorizeBulkWriteRows(this, primaryPath, documentsById, documentWrites, context);\n var error = categorized.errors;\n var success = new Array(categorized.bulkInsertDocs.length);\n var bulkInsertDocs = categorized.bulkInsertDocs;\n for (var i = 0; i < bulkInsertDocs.length; ++i) {\n var writeRow = bulkInsertDocs[i];\n var doc = writeRow.document;\n success[i] = doc;\n }\n var bulkUpdateDocs = categorized.bulkUpdateDocs;\n for (var _i = 0; _i < bulkUpdateDocs.length; ++_i) {\n var _writeRow = bulkUpdateDocs[_i];\n var _doc = _writeRow.document;\n success.push(_doc);\n }\n this.internals.ensurePersistenceTask = categorized;\n if (!this.internals.ensurePersistenceIdlePromise) {\n this.internals.ensurePersistenceIdlePromise = requestIdlePromiseNoQueue().then(() => {\n this.internals.ensurePersistenceIdlePromise = undefined;\n this.ensurePersistence();\n });\n }\n\n /**\n * Important: The events must be emitted AFTER the persistence\n * task has been added.\n */\n if (categorized.eventBulk.events.length > 0) {\n var lastState = ensureNotFalsy(categorized.newestRow).document;\n categorized.eventBulk.checkpoint = {\n id: lastState[primaryPath],\n lwt: lastState._meta.lwt\n };\n categorized.eventBulk.endTime = now();\n PROMISE_RESOLVE_TRUE.then(() => {\n internals.changes$.next(categorized.eventBulk);\n });\n }\n var ret = Promise.resolve({\n success,\n error\n });\n return ret;\n }\n\n /**\n * Instead of directly inserting the documents into all indexes,\n * we do it lazy in the background. This gives the application time\n * to directly work with the write-result and to do stuff like rendering DOM\n * notes and processing RxDB queries.\n * Then in some later time, or just before the next read/write,\n * it is ensured that the indexes have been written.\n */;\n _proto.ensurePersistence = function ensurePersistence() {\n if (!this.internals.ensurePersistenceTask) {\n return;\n }\n var internals = this.internals;\n var documentsById = this.internals.documents;\n var primaryPath = this.primaryPath;\n var categorized = this.internals.ensurePersistenceTask;\n this.internals.ensurePersistenceTask = undefined;\n\n /**\n * Do inserts/updates\n */\n var stateByIndex = Object.values(this.internals.byIndex);\n var bulkInsertDocs = categorized.bulkInsertDocs;\n for (var i = 0; i < bulkInsertDocs.length; ++i) {\n var writeRow = bulkInsertDocs[i];\n var doc = writeRow.document;\n var docId = doc[primaryPath];\n putWriteRowToState(docId, internals, stateByIndex, writeRow, undefined);\n }\n var bulkUpdateDocs = categorized.bulkUpdateDocs;\n for (var _i2 = 0; _i2 < bulkUpdateDocs.length; ++_i2) {\n var _writeRow2 = bulkUpdateDocs[_i2];\n var _doc2 = _writeRow2.document;\n var _docId = _doc2[primaryPath];\n putWriteRowToState(_docId, internals, stateByIndex, _writeRow2, documentsById.get(_docId));\n }\n\n /**\n * Handle attachments\n */\n if (this.schema.attachments) {\n var attachmentsMap = internals.attachments;\n categorized.attachmentsAdd.forEach(attachment => {\n attachmentsMap.set(attachmentMapKey(attachment.documentId, attachment.attachmentId), {\n writeData: attachment.attachmentData,\n digest: attachment.digest\n });\n });\n if (this.schema.attachments) {\n categorized.attachmentsUpdate.forEach(attachment => {\n attachmentsMap.set(attachmentMapKey(attachment.documentId, attachment.attachmentId), {\n writeData: attachment.attachmentData,\n digest: attachment.digest\n });\n });\n categorized.attachmentsRemove.forEach(attachment => {\n attachmentsMap.delete(attachmentMapKey(attachment.documentId, attachment.attachmentId));\n });\n }\n }\n };\n _proto.findDocumentsById = function findDocumentsById(docIds, withDeleted) {\n this.ensurePersistence();\n var documentsById = this.internals.documents;\n var ret = [];\n if (documentsById.size === 0) {\n return Promise.resolve(ret);\n }\n for (var i = 0; i < docIds.length; ++i) {\n var docId = docIds[i];\n var docInDb = documentsById.get(docId);\n if (docInDb && (!docInDb._deleted || withDeleted)) {\n ret.push(docInDb);\n }\n }\n return Promise.resolve(ret);\n };\n _proto.query = function query(preparedQuery) {\n this.ensurePersistence();\n var queryPlan = preparedQuery.queryPlan;\n var query = preparedQuery.query;\n var skip = query.skip ? query.skip : 0;\n var limit = query.limit ? query.limit : Infinity;\n var skipPlusLimit = skip + limit;\n var queryMatcher = false;\n if (!queryPlan.selectorSatisfiedByIndex) {\n queryMatcher = getQueryMatcher(this.schema, preparedQuery.query);\n }\n var queryPlanFields = queryPlan.index;\n var mustManuallyResort = !queryPlan.sortSatisfiedByIndex;\n var index = queryPlanFields;\n var lowerBound = queryPlan.startKeys;\n var lowerBoundString = getStartIndexStringFromLowerBound(this.schema, index, lowerBound);\n var upperBound = queryPlan.endKeys;\n upperBound = upperBound;\n var upperBoundString = getStartIndexStringFromUpperBound(this.schema, index, upperBound);\n var indexName = getMemoryIndexName(index);\n if (!this.internals.byIndex[indexName]) {\n throw new Error('index does not exist ' + indexName);\n }\n var docsWithIndex = this.internals.byIndex[indexName].docsWithIndex;\n var indexOfLower = (queryPlan.inclusiveStart ? boundGE : boundGT)(docsWithIndex, {\n indexString: lowerBoundString\n }, compareDocsWithIndex);\n var indexOfUpper = (queryPlan.inclusiveEnd ? boundLE : boundLT)(docsWithIndex, {\n indexString: upperBoundString\n }, compareDocsWithIndex);\n var rows = [];\n var done = false;\n while (!done) {\n var currentRow = docsWithIndex[indexOfLower];\n if (!currentRow || indexOfLower > indexOfUpper) {\n break;\n }\n var currentDoc = currentRow.doc;\n if (!queryMatcher || queryMatcher(currentDoc)) {\n rows.push(currentDoc);\n }\n if (rows.length >= skipPlusLimit && !mustManuallyResort) {\n done = true;\n }\n indexOfLower++;\n }\n if (mustManuallyResort) {\n var sortComparator = getSortComparator(this.schema, preparedQuery.query);\n rows = rows.sort(sortComparator);\n }\n\n // apply skip and limit boundaries.\n rows = rows.slice(skip, skipPlusLimit);\n return Promise.resolve({\n documents: rows\n });\n };\n _proto.count = async function count(preparedQuery) {\n this.ensurePersistence();\n var result = await this.query(preparedQuery);\n return {\n count: result.documents.length,\n mode: 'fast'\n };\n };\n _proto.cleanup = function cleanup(minimumDeletedTime) {\n this.ensurePersistence();\n var maxDeletionTime = now() - minimumDeletedTime;\n var index = ['_deleted', '_meta.lwt', this.primaryPath];\n var indexName = getMemoryIndexName(index);\n var docsWithIndex = this.internals.byIndex[indexName].docsWithIndex;\n var lowerBoundString = getStartIndexStringFromLowerBound(this.schema, index, [true, 0, '']);\n var indexOfLower = boundGT(docsWithIndex, {\n indexString: lowerBoundString\n }, compareDocsWithIndex);\n var done = false;\n while (!done) {\n var currentDoc = docsWithIndex[indexOfLower];\n if (!currentDoc || currentDoc.doc._meta.lwt > maxDeletionTime) {\n done = true;\n } else {\n removeDocFromState(this.primaryPath, this.schema, this.internals, currentDoc.doc);\n indexOfLower++;\n }\n }\n return PROMISE_RESOLVE_TRUE;\n };\n _proto.getAttachmentData = function getAttachmentData(documentId, attachmentId, digest) {\n this.ensurePersistence();\n ensureNotRemoved(this);\n var key = attachmentMapKey(documentId, attachmentId);\n var data = this.internals.attachments.get(key);\n if (!digest || !data || data.digest !== digest) {\n throw new Error('attachment does not exist: ' + key);\n }\n return Promise.resolve(data.writeData.data);\n };\n _proto.changeStream = function changeStream() {\n ensureNotRemoved(this);\n return this.internals.changes$.asObservable();\n };\n _proto.remove = async function remove() {\n if (this.closed) {\n throw new Error('closed');\n }\n this.ensurePersistence();\n ensureNotRemoved(this);\n this.internals.removed = true;\n this.storage.collectionStates.delete(getMemoryCollectionKey(this.databaseName, this.collectionName, this.schema.version));\n await this.close();\n };\n _proto.close = function close() {\n OPEN_MEMORY_INSTANCES.delete(this);\n this.ensurePersistence();\n if (this.closed) {\n return PROMISE_RESOLVE_VOID;\n }\n this.closed = true;\n this.internals.refCount = this.internals.refCount - 1;\n return PROMISE_RESOLVE_VOID;\n };\n _proto.conflictResultionTasks = function conflictResultionTasks() {\n return this.internals.conflictResultionTasks$.asObservable();\n };\n _proto.resolveConflictResultionTask = function resolveConflictResultionTask(_taskSolution) {\n return PROMISE_RESOLVE_VOID;\n };\n return RxStorageInstanceMemory;\n}();\nexport function createMemoryStorageInstance(storage, params, settings) {\n var collectionKey = getMemoryCollectionKey(params.databaseName, params.collectionName, params.schema.version);\n var internals = storage.collectionStates.get(collectionKey);\n if (!internals) {\n internals = {\n id: randomCouchString(5),\n schema: params.schema,\n removed: false,\n refCount: 1,\n documents: new Map(),\n attachments: params.schema.attachments ? new Map() : undefined,\n byIndex: {},\n conflictResultionTasks$: new Subject(),\n changes$: new Subject()\n };\n addIndexesToInternalsState(internals, params.schema);\n storage.collectionStates.set(collectionKey, internals);\n } else {\n /**\n * Ensure that the storage was not already\n * created with a different schema.\n * This is very important because if this check\n * does not exist here, we have hard-to-debug problems\n * downstream.\n */\n if (params.devMode && !deepEqual(internals.schema, params.schema)) {\n throw new Error('storage was already created with a different schema');\n }\n internals.refCount = internals.refCount + 1;\n }\n var instance = new RxStorageInstanceMemory(storage, params.databaseName, params.collectionName, params.schema, internals, params.options, settings);\n return Promise.resolve(instance);\n}\n//# sourceMappingURL=rx-storage-instance-memory.js.map","import { ensureRxStorageInstanceParamsAreCorrect } from \"../../rx-storage-helper.js\";\nimport { RXDB_VERSION } from \"../utils/utils-rxdb-version.js\";\nimport { createMemoryStorageInstance } from \"./rx-storage-instance-memory.js\";\n\n/**\n * Keep the state even when the storage instance is closed.\n * This makes it easier to use the memory storage\n * to test filesystem-like and multiInstance behaviors.\n */\nvar COLLECTION_STATES = new Map();\nexport function getRxStorageMemory(settings = {}) {\n var storage = {\n name: 'memory',\n rxdbVersion: RXDB_VERSION,\n collectionStates: COLLECTION_STATES,\n createStorageInstance(params) {\n ensureRxStorageInstanceParamsAreCorrect(params);\n var useSettings = Object.assign({}, settings, params.options);\n return createMemoryStorageInstance(this, params, useSettings);\n }\n };\n return storage;\n}\nexport * from \"./memory-helper.js\";\nexport * from \"./binary-search-bounds.js\";\nexport * from \"./memory-types.js\";\nexport * from \"./memory-indexes.js\";\nexport * from \"./rx-storage-instance-memory.js\";\n//# sourceMappingURL=index.js.map","import { getRxStorageDexie } from 'rxdb/plugins/storage-dexie';\nimport { getRxStorageMemory } from 'rxdb/plugins/storage-memory';\n\nfunction getRxDatabaseCreator(config) {\n let { name, options, storage, ...rest } = config;\n if (!storage) {\n switch (options.storageType) {\n case 'dexie':\n storage = getRxStorageDexie(options.storageOptions);\n break;\n case 'memory':\n storage = getRxStorageMemory(options.storageOptions);\n break;\n default:\n storage = getRxStorageMemory(options.storageOptions);\n break;\n }\n }\n const dbConfig = {\n name,\n storage,\n options,\n ...rest,\n };\n return dbConfig;\n}\nconst DEFAULT_BACKOFF_FN = (delay) => (delay === 0 ? 2000 : delay * 3);\nconst DEFAULT_LOCAL_DOCUMENT_ID = 'local';\n\nexport { DEFAULT_BACKOFF_FN, DEFAULT_LOCAL_DOCUMENT_ID, getRxDatabaseCreator };\n//# sourceMappingURL=ngx-odm-rxdb-config.mjs.map\n","export const semver = /^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\-]+(?:\\.[\\da-z\\-]+)*))?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\nexport const validateAndParse = (version) => {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n const match = version.match(semver);\n if (!match) {\n throw new Error(`Invalid argument not valid semver ('${version}' received)`);\n }\n match.shift();\n return match;\n};\nconst isWildcard = (s) => s === '*' || s === 'x' || s === 'X';\nconst tryParse = (v) => {\n const n = parseInt(v, 10);\n return isNaN(n) ? v : n;\n};\nconst forceType = (a, b) => typeof a !== typeof b ? [String(a), String(b)] : [a, b];\nconst compareStrings = (a, b) => {\n if (isWildcard(a) || isWildcard(b))\n return 0;\n const [ap, bp] = forceType(tryParse(a), tryParse(b));\n if (ap > bp)\n return 1;\n if (ap < bp)\n return -1;\n return 0;\n};\nexport const compareSegments = (a, b) => {\n for (let i = 0; i < Math.max(a.length, b.length); i++) {\n const r = compareStrings(a[i] || '0', b[i] || '0');\n if (r !== 0)\n return r;\n }\n return 0;\n};\n//# sourceMappingURL=utils.js.map","import { compareSegments, validateAndParse } from './utils';\n/**\n * Compare [semver](https://semver.org/) version strings to find greater, equal or lesser.\n * This library supports the full semver specification, including comparing versions with different number of digits like `1.0.0`, `1.0`, `1`, and pre-release versions like `1.0.0-alpha`.\n * @param v1 - First version to compare\n * @param v2 - Second version to compare\n * @returns Numeric value compatible with the [Array.sort(fn) interface](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters).\n */\nexport const compareVersions = (v1, v2) => {\n // validate input and split into segments\n const n1 = validateAndParse(v1);\n const n2 = validateAndParse(v2);\n // pop off the patch\n const p1 = n1.pop();\n const p2 = n2.pop();\n // validate numbers\n const r = compareSegments(n1, n2);\n if (r !== 0)\n return r;\n // validate pre-release\n if (p1 && p2) {\n return compareSegments(p1.split('.'), p2.split('.'));\n }\n else if (p1 || p2) {\n return p1 ? -1 : 1;\n }\n return 0;\n};\n//# sourceMappingURL=compareVersions.js.map","import { compareVersions } from './compareVersions';\n/**\n * Compare [semver](https://semver.org/) version strings using the specified operator.\n *\n * @param v1 First version to compare\n * @param v2 Second version to compare\n * @param operator Allowed arithmetic operator to use\n * @returns `true` if the comparison between the firstVersion and the secondVersion satisfies the operator, `false` otherwise.\n *\n * @example\n * ```\n * compare('10.1.8', '10.0.4', '>'); // return true\n * compare('10.0.1', '10.0.1', '='); // return true\n * compare('10.1.1', '10.2.2', '<'); // return true\n * compare('10.1.1', '10.2.2', '<='); // return true\n * compare('10.1.1', '10.2.2', '>='); // return false\n * ```\n */\nexport const compare = (v1, v2, operator) => {\n // validate input operator\n assertValidOperator(operator);\n // since result of compareVersions can only be -1 or 0 or 1\n // a simple map can be used to replace switch\n const res = compareVersions(v1, v2);\n return operatorResMap[operator].includes(res);\n};\nconst operatorResMap = {\n '>': [1],\n '>=': [0, 1],\n '=': [0],\n '<=': [-1, 0],\n '<': [-1],\n '!=': [-1, 1],\n};\nconst allowedOperators = Object.keys(operatorResMap);\nconst assertValidOperator = (op) => {\n if (typeof op !== 'string') {\n throw new TypeError(`Invalid operator type, expected string but got ${typeof op}`);\n }\n if (allowedOperators.indexOf(op) === -1) {\n throw new Error(`Invalid operator, expected one of ${allowedOperators.join('|')}`);\n }\n};\n//# sourceMappingURL=compare.js.map","import { NgxRxdbUtils, getDefaultFetch } from '@ngx-odm/rxdb/utils';\nimport { compare } from 'compare-versions';\nimport { isRxDatabaseFirstTimeInstantiated, getAllCollectionDocuments } from 'rxdb';\n\nconst { logger, getDefaultPreparedQuery } = NgxRxdbUtils;\nconst RXDB_STORAGE_TOKEN_ID = 'storage-token|storageToken';\nconst fetchSchema = async (schemaUrl) => {\n let schema;\n try {\n const fetch = getDefaultFetch();\n const result = await fetch(schemaUrl);\n if (result.ok) {\n schema = await result.json();\n }\n else {\n throw new Error(`Failed to fetch schema from \"${schemaUrl}\", status: ${result.status}`);\n }\n }\n catch (error) {\n throw new Error(`Failed to fetch schema from \"${schemaUrl}\"`);\n }\n return schema;\n};\nconst prepareCollections = async (colConfigs) => {\n try {\n const colCreators = {};\n for (const name in colConfigs) {\n const config = colConfigs[name];\n if (!config.schema && !!config.options?.schemaUrl) {\n config.schema = (await fetchSchema(config.options.schemaUrl));\n }\n colCreators[config.name] = config;\n }\n return colCreators;\n }\n catch (error) {\n throw new Error(error.message);\n }\n};\nconst prepareDbDump = async (dumpPath, collections) => {\n let dumpObj;\n const fetch = getDefaultFetch();\n const result = await fetch(dumpPath);\n if (result.ok) {\n dumpObj = await result.json();\n }\n else {\n throw new Error(`Failed to fetch db dump from \"${dumpPath}\", status: ${result.status}`);\n }\n if (!collections || !Object.keys(collections).length) {\n throw new Error('collections must be initialized before importing');\n }\n for (const dc of dumpObj.collections) {\n const col = collections[dc.name];\n if (col) {\n dc.schemaHash = col.schema['_hash'];\n }\n else {\n throw new Error('no such collection as provided in dump');\n }\n }\n return dumpObj;\n};\nconst migrateStorageVersion = async (storage, storageInstance, rxdbVersion) => {\n let storageData = {};\n if (storage.name !== 'dexie') {\n return;\n }\n const dexieTable = (await storageInstance.internals)?.dexieTable;\n storageData = (await dexieTable.get(RXDB_STORAGE_TOKEN_ID))?.data;\n if (!storageData?.rxdbVersion || compare(rxdbVersion, storageData.rxdbVersion, '>')) {\n try {\n await dexieTable.update(RXDB_STORAGE_TOKEN_ID, {\n data: {\n ...storageData,\n rxdbVersion,\n },\n });\n logger.log('prepare-plugin: migrated internal storage to', rxdbVersion);\n }\n catch (error) {\n throw new Error('prepare-plugin: unable to migrate internal storage');\n }\n }\n return;\n};\nconst afterCreateRxDatabase = async ({ database: db, creator, }) => {\n const isFirstTimeInstantiated = await isRxDatabaseFirstTimeInstantiated(db);\n logger.log('prepare-plugin: hook:createRxDatabase:after');\n const { storage, internalStore: storageInstance, rxdbVersion } = db;\n await migrateStorageVersion(storage, storageInstance, rxdbVersion);\n if (!creator.options?.dumpPath || !isFirstTimeInstantiated) {\n return;\n }\n try {\n const dump = await prepareDbDump(creator.options.dumpPath, db.collections);\n await db.importJSON(dump);\n logger.log(`prepare-plugin: imported dump for db \"${db.name}\"`);\n }\n catch (error) {\n logger.log('prepare-plugin: imported dump error', error);\n }\n};\nconst beforePreCreateRxSchema = async (maybeSchema) => {\n if (typeof maybeSchema === 'string') {\n const realSchema = await fetchSchema(maybeSchema);\n if (!realSchema) {\n throw new Error(`Failed to fetch schema from \"${maybeSchema}\"`);\n }\n maybeSchema = realSchema;\n }\n};\nconst afterCreateRxCollection = async ({ collection: col, creator, }) => {\n logger.log('prepare-plugin: hook:createRxCollection:before');\n const meta = await col.getMetadata();\n logger.log('prepare-plugin: hook:createRxCollection:before', meta);\n const initialDocs = creator.options?.initialDocs || [];\n const initialCount = await countDocs();\n if (!initialDocs.length) {\n return;\n }\n if (initialCount || !meta.isFirstTimeInstantiated) {\n if (!creator.options?.recreate || creator.options?.replication) {\n return;\n }\n else {\n logger.log(`prepare-plugin: collection \"${col.name}\" already has ${initialCount} docs (including _deleted), but recreate option is set`);\n }\n }\n const schemaHash = await col.schema.hash;\n const dump = {\n name: col.name,\n schemaHash,\n docs: initialDocs,\n };\n try {\n const { success, error } = (await col.importJSON(dump));\n const count = await countDocs();\n logger.log(`prepare-plugin: imported ${success.length} docs for collection \"${col.name}\", errors count ${error.length}, current docs count ${count}`);\n logger.table(success);\n }\n catch (error) {\n logger.log('prepare-plugin: imported dump error', error);\n }\n return;\n async function removeAllDocs() {\n await col.find().update({ $set: { _deleted: true } });\n await col.cleanup();\n }\n async function countDocs() {\n const { count } = await col.storageInstance\n .count(getDefaultPreparedQuery())\n .catch(() => ({ count: 0 }));\n return count;\n }\n};\nconst RxDBPreparePlugin = {\n name: 'prepare-plugin',\n rxdb: true,\n prototypes: {\n RxDatabase: (proto) => {\n Object.assign(proto, {\n fetchSchema,\n });\n },\n RxCollection: (proto) => {\n const getMetadata = async function () {\n const isFirstTimeInstantiated = await isRxDatabaseFirstTimeInstantiated(this.database);\n const allCollectionMetaDocs = await getAllCollectionDocuments(this.database.internalStore);\n const { id, data, _meta, _rev } = allCollectionMetaDocs.filter(metaDoc => metaDoc.data.name === this.name).at(0) ||\n {};\n return {\n id: id || this.name,\n databaseName: this.database.name,\n collectionName: data?.name || this.name,\n storageName: this.storageInstance.originalStorageInstance['storage'].name,\n last_modified: _meta?.lwt ? Math.floor(_meta?.lwt) : Date.now(),\n rev: _rev ? Number(_rev?.at(0)) : 1,\n isFirstTimeInstantiated,\n };\n };\n Object.assign(proto, {\n getMetadata,\n });\n },\n },\n hooks: {\n createRxDatabase: {\n after: afterCreateRxDatabase,\n },\n preCreateRxSchema: {\n before: beforePreCreateRxSchema,\n },\n createRxCollection: {\n after: afterCreateRxCollection,\n },\n },\n};\n\nexport { RxDBPreparePlugin, beforePreCreateRxSchema, fetchSchema, prepareCollections };\n//# sourceMappingURL=ngx-odm-rxdb-prepare.mjs.map\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","import decodeComponent from 'decode-uri-component';\nimport splitOnFirst from 'split-on-first';\nimport {includeKeys} from 'filter-obj';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: value.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replace(/\\+/g, ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tvalue[key2] = parseValue(value2, options);\n\t\t\t}\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {encode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',', ...options};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils';\nimport { BehaviorSubject, distinctUntilChanged, tap, map, catchError, takeWhile, EMPTY } from 'rxjs';\nimport { includeKeys } from 'filter-obj';\nimport queryString from 'query-string';\n\nconst { keys, isEmpty, isNullOrUndefined } = NgxRxdbUtils;\nconst normalizeMangoQuery = ({ selector, sort, limit, skip }, schema) => {\n const schemaTopLevelFields = keys(schema.jsonSchema.properties);\n if (!isEmpty(selector)) {\n selector = includeKeys(selector, key => {\n return (!key.startsWith('$') &&\n !key.includes('.') &&\n schemaTopLevelFields.includes(key));\n });\n }\n if (!isEmpty(sort)) {\n sort = sort?.filter(sortPart => schemaTopLevelFields.includes(keys(sortPart)[0]));\n }\n if (isNullOrUndefined(limit) || isNaN(limit)) {\n limit = undefined;\n }\n if (isNullOrUndefined(skip) || isNaN(skip)) {\n skip = undefined;\n }\n return { selector, sort, limit, skip };\n};\nconst parseUrlToMangoQuery = (url, schema) => {\n url = queryString.extract(url);\n const urlPart = queryString.pick(url, ['selector', 'sort', 'limit', 'skip']);\n const parsed = queryString.parse(urlPart, {\n parseNumbers: true,\n parseBooleans: true,\n });\n const { selector: _selector, sort: _sort, limit, skip } = parsed;\n const selector = _selector ? JSON.parse(_selector) : undefined;\n const sort = _sort ? JSON.parse(_sort) : undefined;\n const queryObj = normalizeMangoQuery({\n selector,\n sort,\n limit,\n skip,\n }, schema);\n return queryObj;\n};\nconst stringifyParam = (param) => {\n if (isNullOrUndefined(param))\n return '';\n return JSON.stringify(param);\n};\n\nconst { logger, compactObject } = NgxRxdbUtils;\nconst RxDBPUseQueryParamsPlugin = {\n name: 'query-params-plugin',\n rxdb: true,\n prototypes: {\n RxCollection: (proto) => {\n const _queryParams$ = new BehaviorSubject({});\n let useQueryParams = false;\n let schema;\n let initDone = false;\n let currentUrl = '';\n let updateQueryParamsInLocationFn = () => Promise.resolve(false);\n function init(currentUrl$ = EMPTY, _updateQueryParamsInLocationFn) {\n useQueryParams = !!this.options?.useQueryParams;\n schema = this.schema;\n if (!useQueryParams || initDone)\n return;\n updateQueryParamsInLocationFn = _updateQueryParamsInLocationFn;\n currentUrl$\n .pipe(distinctUntilChanged(), tap(url => {\n currentUrl = url;\n }), map(url => parseUrlToMangoQuery(url, schema)), catchError(err => {\n logger.log('Error in parsing url to mango query', err);\n return _queryParams$;\n }), tap(queryParams => {\n logger.log('queryParams', queryParams);\n }), takeWhile(() => !this.destroyed))\n .subscribe(_queryParams$);\n initDone = true;\n }\n function set(query) {\n if (!useQueryParams)\n return;\n const { selector, sort, limit, skip } = query;\n const queryParams = { limit, skip };\n if (selector) {\n queryParams.selector = stringifyParam(query.selector);\n }\n if (sort) {\n queryParams.sort = stringifyParam(query.sort);\n }\n updateQueryParamsInLocationFn(queryParams);\n }\n function patch(query) {\n if (!useQueryParams)\n return;\n const parsed = parseUrlToMangoQuery(currentUrl, schema);\n const queryParams = {\n selector: stringifyParam(query.selector || parsed.selector),\n sort: stringifyParam(query.sort || parsed.sort),\n limit: query.limit || parsed.limit,\n skip: query.skip || parsed.skip,\n };\n updateQueryParamsInLocationFn(compactObject(queryParams));\n }\n Object.assign(proto, {\n queryParams: {\n $: _queryParams$.asObservable(),\n get: () => _queryParams$.getValue(),\n set,\n patch,\n },\n }, {\n queryParamsInit: init,\n });\n },\n },\n hooks: {\n createRxCollection: {},\n },\n};\n\nexport { RxDBPUseQueryParamsPlugin };\n//# sourceMappingURL=ngx-odm-rxdb-query-params.mjs.map\n","export var DEFAULT_CLEANUP_POLICY = {\n minimumDeletedTime: 1000 * 60 * 60 * 24 * 31,\n // one month\n minimumCollectionAge: 1000 * 60,\n // 60 seconds\n runEach: 1000 * 60 * 5,\n // 5 minutes\n awaitReplicationsInSync: true,\n waitForLeadership: true\n};\n//# sourceMappingURL=cleanup-helper.js.map","import { PROMISE_RESOLVE_TRUE } from \"../../plugins/utils/index.js\";\nimport { REPLICATION_STATE_BY_COLLECTION } from \"../replication/index.js\";\nimport { DEFAULT_CLEANUP_POLICY } from \"./cleanup-helper.js\";\n\n/**\n * Even on multiple databases,\n * the calls to RxStorage().cleanup()\n * must never run in parallel.\n * The cleanup is a background task which should\n * not affect the performance of other, more important tasks.\n */\nvar RXSOTRAGE_CLEANUP_QUEUE = PROMISE_RESOLVE_TRUE;\nexport async function startCleanupForRxCollection(rxCollection) {\n var rxDatabase = rxCollection.database;\n var cleanupPolicy = Object.assign({}, DEFAULT_CLEANUP_POLICY, rxDatabase.cleanupPolicy ? rxDatabase.cleanupPolicy : {});\n\n /**\n * Wait until minimumDatabaseInstanceAge is reached\n * or collection is destroyed.\n */\n await rxCollection.promiseWait(cleanupPolicy.minimumCollectionAge);\n if (rxCollection.destroyed) {\n return;\n }\n if (cleanupPolicy.waitForLeadership) {\n await rxDatabase.waitForLeadership();\n }\n if (rxCollection.destroyed) {\n return;\n }\n\n // initially cleanup the collection\n await cleanupRxCollection(rxCollection, cleanupPolicy);\n\n /**\n * Afterwards we listen to deletes\n * and only re-run the cleanup after\n * minimumDeletedTime is reached.\n */\n await runCleanupAfterDelete(rxCollection, cleanupPolicy);\n}\n\n/**\n * Runs the cleanup for a single RxCollection\n */\nexport async function cleanupRxCollection(rxCollection, cleanupPolicy) {\n var rxDatabase = rxCollection.database;\n var storageInstance = rxCollection.storageInstance;\n\n // run cleanup() until it returns true\n var isDone = false;\n while (!isDone && !rxCollection.destroyed) {\n if (cleanupPolicy.awaitReplicationsInSync) {\n var replicationStates = REPLICATION_STATE_BY_COLLECTION.get(rxCollection);\n if (replicationStates) {\n await Promise.all(replicationStates.map(replicationState => {\n if (!replicationState.isStopped()) {\n return replicationState.awaitInSync();\n }\n }));\n }\n }\n await rxDatabase.requestIdlePromise();\n if (rxCollection.destroyed) {\n return;\n }\n RXSOTRAGE_CLEANUP_QUEUE = RXSOTRAGE_CLEANUP_QUEUE.then(() => {\n if (rxCollection.destroyed) {\n return true;\n }\n return storageInstance.cleanup(cleanupPolicy.minimumDeletedTime);\n });\n isDone = await RXSOTRAGE_CLEANUP_QUEUE;\n }\n}\nexport async function runCleanupAfterDelete(rxCollection, cleanupPolicy) {\n while (!rxCollection.destroyed) {\n await rxCollection.promiseWait(cleanupPolicy.runEach);\n if (rxCollection.destroyed) {\n return;\n }\n await cleanupRxCollection(rxCollection, cleanupPolicy);\n }\n}\n//# sourceMappingURL=cleanup.js.map","import { DEFAULT_CLEANUP_POLICY } from \"./cleanup-helper.js\";\nimport { startCleanupForRxCollection } from \"./cleanup.js\";\nexport var RxDBCleanupPlugin = {\n name: 'cleanup',\n rxdb: true,\n prototypes: {\n RxCollection: proto => {\n proto.cleanup = async function (minimumDeletedTime) {\n var cleanupPolicy = Object.assign({}, DEFAULT_CLEANUP_POLICY, this.database.cleanupPolicy ? this.database.cleanupPolicy : {});\n if (typeof minimumDeletedTime === 'undefined') {\n minimumDeletedTime = cleanupPolicy.minimumDeletedTime;\n }\n\n // run cleanup() until it returns true\n var isDone = false;\n while (!isDone && !this.destroyed) {\n isDone = await this.storageInstance.cleanup(minimumDeletedTime);\n }\n };\n }\n },\n hooks: {\n createRxCollection: {\n after: i => {\n startCleanupForRxCollection(i.collection);\n }\n }\n }\n};\nexport * from \"./cleanup.js\";\n//# sourceMappingURL=index.js.map","/**\n * this plugin adds the json export/import capabilities to RxDB\n */\nimport { createRxQuery, queryCollection, _getDefaultQuery } from \"../../rx-query.js\";\nimport { newRxError } from \"../../rx-error.js\";\nimport { flatClone, getDefaultRevision, now } from \"../../plugins/utils/index.js\";\nfunction dumpRxDatabase(collections) {\n var json = {\n name: this.name,\n instanceToken: this.token,\n collections: []\n };\n var useCollections = Object.keys(this.collections).filter(colName => !collections || collections.includes(colName)).filter(colName => colName.charAt(0) !== '_').map(colName => this.collections[colName]);\n return Promise.all(useCollections.map(col => col.exportJSON())).then(cols => {\n json.collections = cols;\n return json;\n });\n}\nvar importDumpRxDatabase = function (dump) {\n /**\n * collections must be created before the import\n * because we do not know about the other collection-settings here\n */\n var missingCollections = dump.collections.filter(col => !this.collections[col.name]).map(col => col.name);\n if (missingCollections.length > 0) {\n throw newRxError('JD1', {\n missingCollections\n });\n }\n return Promise.all(dump.collections.map(colDump => this.collections[colDump.name].importJSON(colDump)));\n};\nvar dumpRxCollection = async function () {\n var json = {\n name: this.name,\n schemaHash: await this.schema.hash,\n docs: []\n };\n var query = createRxQuery('find', _getDefaultQuery(), this);\n return queryCollection(query).then(docs => {\n json.docs = docs.map(docData => {\n docData = flatClone(docData);\n delete docData._rev;\n delete docData._attachments;\n return docData;\n });\n return json;\n });\n};\nasync function importDumpRxCollection(exportedJSON) {\n // check schemaHash\n if (exportedJSON.schemaHash !== (await this.schema.hash)) {\n throw newRxError('JD2', {\n schemaHash: exportedJSON.schemaHash,\n own: this.schema.hash\n });\n }\n var docs = exportedJSON.docs;\n return this.storageInstance.bulkWrite(docs.map(docData => {\n var document = Object.assign({}, docData, {\n _meta: {\n lwt: now()\n },\n _rev: getDefaultRevision(),\n _attachments: {},\n _deleted: false\n });\n return {\n document\n };\n }), 'json-dump-import');\n}\nexport var RxDBJsonDumpPlugin = {\n name: 'json-dump',\n rxdb: true,\n prototypes: {\n RxDatabase: proto => {\n proto.exportJSON = dumpRxDatabase;\n proto.importJSON = importDumpRxDatabase;\n },\n RxCollection: proto => {\n proto.exportJSON = dumpRxCollection;\n proto.importJSON = importDumpRxCollection;\n }\n },\n overwritable: {}\n};\n//# sourceMappingURL=index.js.map","import _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport { distinctUntilChanged, filter, map, shareReplay, startWith } from 'rxjs';\nimport { overwritable } from \"../../overwritable.js\";\nimport { getDocumentDataOfRxChangeEvent } from \"../../rx-change-event.js\";\nimport { basePrototype, createRxDocumentConstructor } from \"../../rx-document.js\";\nimport { newRxError, newRxTypeError } from \"../../rx-error.js\";\nimport { writeSingle } from \"../../rx-storage-helper.js\";\nimport { flatClone, getDefaultRevision, getDefaultRxDocumentMeta, getFromMapOrThrow, getProperty, RXJS_SHARE_REPLAY_DEFAULTS } from \"../../plugins/utils/index.js\";\nimport { getLocalDocStateByParent, LOCAL_DOC_STATE_BY_PARENT_RESOLVED } from \"./local-documents-helper.js\";\nimport { isRxDatabase } from \"../../rx-database.js\";\nvar RxDocumentParent = createRxDocumentConstructor();\nvar RxLocalDocumentClass = /*#__PURE__*/function (_RxDocumentParent) {\n _inheritsLoose(RxLocalDocumentClass, _RxDocumentParent);\n function RxLocalDocumentClass(id, jsonData, parent) {\n var _this2;\n _this2 = _RxDocumentParent.call(this, null, jsonData) || this;\n _this2.id = id;\n _this2.parent = parent;\n return _this2;\n }\n return RxLocalDocumentClass;\n}(RxDocumentParent);\nvar RxLocalDocumentPrototype = {\n get isLocal() {\n return true;\n },\n //\n // overwrites\n //\n get allAttachments$() {\n // this is overwritten here because we cannot re-set getters on the prototype\n throw newRxError('LD1', {\n document: this\n });\n },\n get primaryPath() {\n return 'id';\n },\n get primary() {\n return this.id;\n },\n get $() {\n var _this = this;\n var state = getFromMapOrThrow(LOCAL_DOC_STATE_BY_PARENT_RESOLVED, this.parent);\n return _this.parent.$.pipe(filter(changeEvent => changeEvent.documentId === this.primary), filter(changeEvent => changeEvent.isLocal), map(changeEvent => getDocumentDataOfRxChangeEvent(changeEvent)), startWith(state.docCache.getLatestDocumentData(this.primary)), distinctUntilChanged((prev, curr) => prev._rev === curr._rev), map(docData => state.docCache.getCachedRxDocument(docData)), shareReplay(RXJS_SHARE_REPLAY_DEFAULTS));\n },\n get $$() {\n var _this = this;\n var db = getRxDatabaseFromLocalDocument(_this);\n var reactivity = db.getReactivityFactory();\n return reactivity.fromObservable(_this.$, _this.getLatest()._data);\n },\n get deleted$$() {\n var _this = this;\n var db = getRxDatabaseFromLocalDocument(_this);\n var reactivity = db.getReactivityFactory();\n return reactivity.fromObservable(_this.deleted$, _this.getLatest().deleted);\n },\n getLatest() {\n var state = getFromMapOrThrow(LOCAL_DOC_STATE_BY_PARENT_RESOLVED, this.parent);\n var latestDocData = state.docCache.getLatestDocumentData(this.primary);\n return state.docCache.getCachedRxDocument(latestDocData);\n },\n get(objPath) {\n objPath = 'data.' + objPath;\n if (!this._data) {\n return undefined;\n }\n if (typeof objPath !== 'string') {\n throw newRxTypeError('LD2', {\n objPath\n });\n }\n var valueObj = getProperty(this._data, objPath);\n valueObj = overwritable.deepFreezeWhenDevMode(valueObj);\n return valueObj;\n },\n get$(objPath) {\n objPath = 'data.' + objPath;\n if (overwritable.isDevMode()) {\n if (objPath.includes('.item.')) {\n throw newRxError('LD3', {\n objPath\n });\n }\n if (objPath === this.primaryPath) {\n throw newRxError('LD4');\n }\n }\n return this.$.pipe(map(localDocument => localDocument._data), map(data => getProperty(data, objPath)), distinctUntilChanged());\n },\n get$$(objPath) {\n var db = getRxDatabaseFromLocalDocument(this);\n var reactivity = db.getReactivityFactory();\n return reactivity.fromObservable(this.get$(objPath), this.getLatest().get(objPath));\n },\n async incrementalModify(mutationFunction) {\n var state = await getLocalDocStateByParent(this.parent);\n return state.incrementalWriteQueue.addWrite(this._data, async docData => {\n docData.data = await mutationFunction(docData.data, this);\n return docData;\n }).then(result => state.docCache.getCachedRxDocument(result));\n },\n incrementalPatch(patch) {\n return this.incrementalModify(docData => {\n Object.entries(patch).forEach(([k, v]) => {\n docData[k] = v;\n });\n return docData;\n });\n },\n async _saveData(newData) {\n var state = await getLocalDocStateByParent(this.parent);\n var oldData = this._data;\n newData.id = this.id;\n return state.storageInstance.bulkWrite([{\n previous: oldData,\n document: newData\n }], 'local-document-save-data').then(res => {\n var docResult = res.success[0];\n if (!docResult) {\n throw res.error[0];\n }\n newData = flatClone(newData);\n newData._rev = docResult._rev;\n });\n },\n async remove() {\n var state = await getLocalDocStateByParent(this.parent);\n var writeData = {\n id: this._data.id,\n data: {},\n _deleted: true,\n _meta: getDefaultRxDocumentMeta(),\n _rev: getDefaultRevision(),\n _attachments: {}\n };\n return writeSingle(state.storageInstance, {\n previous: this._data,\n document: writeData\n }, 'local-document-remove').then(writeResult => state.docCache.getCachedRxDocument(writeResult));\n }\n};\nvar INIT_DONE = false;\nvar _init = () => {\n if (INIT_DONE) return;else INIT_DONE = true;\n\n // add functions of RxDocument\n var docBaseProto = basePrototype;\n var props = Object.getOwnPropertyNames(docBaseProto);\n props.forEach(key => {\n var exists = Object.getOwnPropertyDescriptor(RxLocalDocumentPrototype, key);\n if (exists) return;\n var desc = Object.getOwnPropertyDescriptor(docBaseProto, key);\n Object.defineProperty(RxLocalDocumentPrototype, key, desc);\n });\n\n /**\n * Overwrite things that do not work on local documents\n * with a throwing function.\n */\n var getThrowingFun = k => () => {\n throw newRxError('LD6', {\n functionName: k\n });\n };\n ['populate', 'update', 'putAttachment', 'getAttachment', 'allAttachments'].forEach(k => RxLocalDocumentPrototype[k] = getThrowingFun(k));\n};\nexport function createRxLocalDocument(data, parent) {\n _init();\n var newDoc = new RxLocalDocumentClass(data.id, data, parent);\n Object.setPrototypeOf(newDoc, RxLocalDocumentPrototype);\n newDoc.prototype = RxLocalDocumentPrototype;\n return newDoc;\n}\nexport function getRxDatabaseFromLocalDocument(doc) {\n var parent = doc.parent;\n if (isRxDatabase(parent)) {\n return parent;\n } else {\n return parent.database;\n }\n}\n//# sourceMappingURL=rx-local-document.js.map","import { filter } from 'rxjs';\nimport { DocumentCache } from \"../../doc-cache.js\";\nimport { IncrementalWriteQueue } from \"../../incremental-write.js\";\nimport { newRxError } from \"../../rx-error.js\";\nimport { fillWithDefaultSettings } from \"../../rx-schema-helper.js\";\nimport { getWrappedStorageInstance, storageChangeEventToRxChangeEvent } from \"../../rx-storage-helper.js\";\nimport { randomCouchString } from \"../../plugins/utils/index.js\";\nimport { createRxLocalDocument } from \"./rx-local-document.js\";\nimport { overwritable } from \"../../overwritable.js\";\nexport var LOCAL_DOC_STATE_BY_PARENT = new WeakMap();\nexport var LOCAL_DOC_STATE_BY_PARENT_RESOLVED = new WeakMap();\nexport function createLocalDocStateByParent(parent) {\n var database = parent.database ? parent.database : parent;\n var collectionName = parent.database ? parent.name : '';\n var statePromise = (async () => {\n var storageInstance = await createLocalDocumentStorageInstance(database.token, database.storage, database.name, collectionName, database.instanceCreationOptions, database.multiInstance);\n storageInstance = getWrappedStorageInstance(database, storageInstance, RX_LOCAL_DOCUMENT_SCHEMA);\n var docCache = new DocumentCache('id', parent.$.pipe(filter(cE => cE.isLocal)), docData => createRxLocalDocument(docData, parent));\n var incrementalWriteQueue = new IncrementalWriteQueue(storageInstance, 'id', () => {}, () => {});\n\n /**\n * Emit the changestream into the collections change stream\n */\n var databaseStorageToken = await database.storageToken;\n var subLocalDocs = storageInstance.changeStream().subscribe(eventBulk => {\n var changeEventBulk = {\n id: eventBulk.id,\n internal: false,\n collectionName: parent.database ? parent.name : undefined,\n storageToken: databaseStorageToken,\n events: eventBulk.events.map(ev => storageChangeEventToRxChangeEvent(true, ev, parent.database ? parent : undefined)),\n databaseToken: database.token,\n checkpoint: eventBulk.checkpoint,\n context: eventBulk.context,\n endTime: eventBulk.endTime,\n startTime: eventBulk.startTime\n };\n database.$emit(changeEventBulk);\n });\n parent._subs.push(subLocalDocs);\n var state = {\n database,\n parent,\n storageInstance,\n docCache,\n incrementalWriteQueue\n };\n LOCAL_DOC_STATE_BY_PARENT_RESOLVED.set(parent, state);\n return state;\n })();\n LOCAL_DOC_STATE_BY_PARENT.set(parent, statePromise);\n}\nexport function getLocalDocStateByParent(parent) {\n var statePromise = LOCAL_DOC_STATE_BY_PARENT.get(parent);\n if (!statePromise) {\n var database = parent.database ? parent.database : parent;\n var collectionName = parent.database ? parent.name : '';\n throw newRxError('LD8', {\n database: database.name,\n collection: collectionName\n });\n }\n return statePromise;\n}\nexport function createLocalDocumentStorageInstance(databaseInstanceToken, storage, databaseName, collectionName, instanceCreationOptions, multiInstance) {\n return storage.createStorageInstance({\n databaseInstanceToken,\n databaseName: databaseName,\n /**\n * Use a different collection name for the local documents instance\n * so that the local docs can be kept while deleting the normal instance\n * after migration.\n */\n collectionName: getCollectionLocalInstanceName(collectionName),\n schema: RX_LOCAL_DOCUMENT_SCHEMA,\n options: instanceCreationOptions,\n multiInstance,\n devMode: overwritable.isDevMode()\n });\n}\nexport function closeStateByParent(parent) {\n var statePromise = LOCAL_DOC_STATE_BY_PARENT.get(parent);\n if (statePromise) {\n LOCAL_DOC_STATE_BY_PARENT.delete(parent);\n return statePromise.then(state => state.storageInstance.close());\n }\n}\nexport async function removeLocalDocumentsStorageInstance(storage, databaseName, collectionName) {\n var databaseInstanceToken = randomCouchString(10);\n var storageInstance = await createLocalDocumentStorageInstance(databaseInstanceToken, storage, databaseName, collectionName, {}, false);\n await storageInstance.remove();\n}\nexport function getCollectionLocalInstanceName(collectionName) {\n return 'plugin-local-documents-' + collectionName;\n}\nexport var RX_LOCAL_DOCUMENT_SCHEMA = fillWithDefaultSettings({\n title: 'RxLocalDocument',\n version: 0,\n primaryKey: 'id',\n type: 'object',\n properties: {\n id: {\n type: 'string',\n maxLength: 128\n },\n data: {\n type: 'object',\n additionalProperties: true\n }\n },\n required: ['id', 'data']\n});\n//# sourceMappingURL=local-documents-helper.js.map","import { getDefaultRevision, getDefaultRxDocumentMeta } from \"../../plugins/utils/index.js\";\nimport { filter, map, startWith, mergeMap } from 'rxjs';\nimport { getLocalDocStateByParent } from \"./local-documents-helper.js\";\nimport { getSingleDocument, writeSingle } from \"../../rx-storage-helper.js\";\n\n/**\n * save the local-document-data\n * throws if already exists\n */\nexport async function insertLocal(id, data) {\n var state = await getLocalDocStateByParent(this);\n\n // create new one\n var docData = {\n id: id,\n data,\n _deleted: false,\n _meta: getDefaultRxDocumentMeta(),\n _rev: getDefaultRevision(),\n _attachments: {}\n };\n return writeSingle(state.storageInstance, {\n document: docData\n }, 'local-document-insert').then(newDocData => state.docCache.getCachedRxDocument(newDocData));\n}\n\n/**\n * save the local-document-data\n * overwrites existing if exists\n */\nexport function upsertLocal(id, data) {\n return this.getLocal(id).then(existing => {\n if (!existing) {\n // create new one\n var docPromise = this.insertLocal(id, data);\n return docPromise;\n } else {\n // update existing\n return existing.incrementalModify(() => {\n return data;\n });\n }\n });\n}\nexport async function getLocal(id) {\n var state = await getLocalDocStateByParent(this);\n var docCache = state.docCache;\n\n // check in doc-cache\n var found = docCache.getLatestDocumentDataIfExists(id);\n if (found) {\n return Promise.resolve(docCache.getCachedRxDocument(found));\n }\n\n // if not found, check in storage instance\n return getSingleDocument(state.storageInstance, id).then(docData => {\n if (!docData) {\n return null;\n }\n return state.docCache.getCachedRxDocument(docData);\n });\n}\nexport function getLocal$(id) {\n return this.$.pipe(startWith(null), mergeMap(async cE => {\n if (cE) {\n return {\n changeEvent: cE\n };\n } else {\n var doc = await this.getLocal(id);\n return {\n doc: doc\n };\n }\n }), mergeMap(async changeEventOrDoc => {\n if (changeEventOrDoc.changeEvent) {\n var cE = changeEventOrDoc.changeEvent;\n if (!cE.isLocal || cE.documentId !== id) {\n return {\n use: false\n };\n } else {\n var doc = await this.getLocal(id);\n return {\n use: true,\n doc: doc\n };\n }\n } else {\n return {\n use: true,\n doc: changeEventOrDoc.doc\n };\n }\n }), filter(filterFlagged => filterFlagged.use), map(filterFlagged => {\n return filterFlagged.doc;\n }));\n}\n//# sourceMappingURL=local-documents.js.map","import { getLocal, getLocal$, insertLocal, upsertLocal } from \"./local-documents.js\";\nimport { closeStateByParent, createLocalDocStateByParent, removeLocalDocumentsStorageInstance } from \"./local-documents-helper.js\";\nexport * from \"./local-documents-helper.js\";\nexport * from \"./local-documents.js\";\nexport * from \"./rx-local-document.js\";\nexport var RxDBLocalDocumentsPlugin = {\n name: 'local-documents',\n rxdb: true,\n prototypes: {\n RxCollection: proto => {\n proto.insertLocal = insertLocal;\n proto.upsertLocal = upsertLocal;\n proto.getLocal = getLocal;\n proto.getLocal$ = getLocal$;\n },\n RxDatabase: proto => {\n proto.insertLocal = insertLocal;\n proto.upsertLocal = upsertLocal;\n proto.getLocal = getLocal;\n proto.getLocal$ = getLocal$;\n }\n },\n hooks: {\n createRxDatabase: {\n before: args => {\n if (args.creator.localDocuments) {\n /**\n * We do not have to await\n * the creation to speed up initial page load.\n */\n /* await */\n createLocalDocStateByParent(args.database);\n }\n }\n },\n createRxCollection: {\n before: args => {\n if (args.creator.localDocuments) {\n /**\n * We do not have to await\n * the creation to speed up initial page load.\n */\n /* await */\n createLocalDocStateByParent(args.collection);\n }\n }\n },\n preDestroyRxDatabase: {\n after: db => {\n return closeStateByParent(db);\n }\n },\n postDestroyRxCollection: {\n after: collection => closeStateByParent(collection)\n },\n postRemoveRxDatabase: {\n after: args => {\n return removeLocalDocumentsStorageInstance(args.storage, args.databaseName, '');\n }\n },\n postRemoveRxCollection: {\n after: args => {\n return removeLocalDocumentsStorageInstance(args.storage, args.databaseName, args.collectionName);\n }\n }\n },\n overwritable: {}\n};\n//# sourceMappingURL=index.js.map","import { BehaviorSubject } from 'rxjs';\nimport { INTERNAL_CONTEXT_COLLECTION, getPrimaryKeyOfInternalDocument } from \"../../rx-database-internal-store.js\";\nimport { getPreviousVersions } from \"../../rx-schema.js\";\nimport { PROMISE_RESOLVE_FALSE, PROMISE_RESOLVE_NULL, clone, flatClone, getFromMapOrCreate, toPromise } from \"../utils/index.js\";\nexport async function getOldCollectionMeta(migrationState) {\n var collectionDocKeys = getPreviousVersions(migrationState.collection.schema.jsonSchema).map(version => migrationState.collection.name + '-' + version);\n var found = await migrationState.database.internalStore.findDocumentsById(collectionDocKeys.map(key => getPrimaryKeyOfInternalDocument(key, INTERNAL_CONTEXT_COLLECTION)), false);\n if (found.length > 1) {\n throw new Error('more the one old collection meta found');\n }\n return found[0];\n}\n\n/**\n * runs the doc-data through all following migrationStrategies\n * so it will match the newest schema.\n * @throws Error if final doc does not match final schema or migrationStrategy crashes\n * @return final object or null if migrationStrategy deleted it\n */\nexport function migrateDocumentData(collection, docSchemaVersion, docData) {\n /**\n * We cannot deep-clone Blob or Buffer\n * so we just flat clone it here\n * and attach it to the deep cloned document data.\n */\n var attachmentsBefore = flatClone(docData._attachments);\n var mutateableDocData = clone(docData);\n var meta = mutateableDocData._meta;\n delete mutateableDocData._meta;\n mutateableDocData._attachments = attachmentsBefore;\n var nextVersion = docSchemaVersion + 1;\n\n // run the document through migrationStrategies\n var currentPromise = Promise.resolve(mutateableDocData);\n var _loop = function () {\n var version = nextVersion;\n currentPromise = currentPromise.then(docOrNull => runStrategyIfNotNull(collection, version, docOrNull));\n nextVersion++;\n };\n while (nextVersion <= collection.schema.version) {\n _loop();\n }\n return currentPromise.then(doc => {\n if (doc === null) {\n return PROMISE_RESOLVE_NULL;\n }\n doc._meta = meta;\n return doc;\n });\n}\nexport function runStrategyIfNotNull(collection, version, docOrNull) {\n if (docOrNull === null) {\n return PROMISE_RESOLVE_NULL;\n } else {\n var ret = collection.migrationStrategies[version](docOrNull, collection);\n var retPromise = toPromise(ret);\n return retPromise;\n }\n}\n\n/**\n * returns true if a migration is needed\n */\nexport async function mustMigrate(migrationState) {\n if (migrationState.collection.schema.version === 0) {\n return PROMISE_RESOLVE_FALSE;\n }\n var oldColDoc = await getOldCollectionMeta(migrationState);\n return !!oldColDoc;\n}\nexport var MIGRATION_DEFAULT_BATCH_SIZE = 200;\nexport var DATA_MIGRATION_STATE_SUBJECT_BY_DATABASE = new WeakMap();\nexport function addMigrationStateToDatabase(migrationState) {\n var allSubject = getMigrationStateByDatabase(migrationState.database);\n var allList = allSubject.getValue().slice(0);\n allList.push(migrationState);\n allSubject.next(allList);\n}\nexport function getMigrationStateByDatabase(database) {\n return getFromMapOrCreate(DATA_MIGRATION_STATE_SUBJECT_BY_DATABASE, database, () => new BehaviorSubject([]));\n}\n\n/**\n * Complete on database destroy\n * so people do not have to unsubscribe\n */\nexport function onDatabaseDestroy(database) {\n var subject = DATA_MIGRATION_STATE_SUBJECT_BY_DATABASE.get(database);\n if (subject) {\n subject.complete();\n }\n}\n//# sourceMappingURL=migration-helpers.js.map","import { Subject, filter, firstValueFrom, map, shareReplay } from 'rxjs';\nimport { isBulkWriteConflictError, newRxError } from \"../../rx-error.js\";\nimport { MIGRATION_DEFAULT_BATCH_SIZE, addMigrationStateToDatabase, getOldCollectionMeta, migrateDocumentData, mustMigrate } from \"./migration-helpers.js\";\nimport { PROMISE_RESOLVE_TRUE, RXJS_SHARE_REPLAY_DEFAULTS, clone, deepEqual, ensureNotFalsy, errorToPlainJson, getDefaultRevision, getDefaultRxDocumentMeta } from \"../utils/index.js\";\nimport { getSingleDocument, hasEncryption, observeSingle, writeSingle } from \"../../rx-storage-helper.js\";\nimport { BroadcastChannel, createLeaderElection } from 'broadcast-channel';\nimport { META_INSTANCE_SCHEMA_TITLE, awaitRxStorageReplicationFirstInSync, cancelRxStorageReplication, defaultConflictHandler, getRxReplicationMetaInstanceSchema, replicateRxStorageInstance, rxStorageInstanceToReplicationHandler } from \"../../replication-protocol/index.js\";\nimport { overwritable } from \"../../overwritable.js\";\nimport { INTERNAL_CONTEXT_MIGRATION_STATUS, addConnectedStorageToCollection, getPrimaryKeyOfInternalDocument } from \"../../rx-database-internal-store.js\";\nimport { prepareQuery } from \"../../rx-query.js\";\nimport { normalizeMangoQuery } from \"../../rx-query-helper.js\";\nexport var RxMigrationState = /*#__PURE__*/function () {\n function RxMigrationState(collection, migrationStrategies, statusDocKey = [collection.name, 'v', collection.schema.version].join('-')) {\n this.started = false;\n this.updateStatusHandlers = [];\n this.updateStatusQueue = PROMISE_RESOLVE_TRUE;\n this.collection = collection;\n this.migrationStrategies = migrationStrategies;\n this.statusDocKey = statusDocKey;\n this.database = collection.database;\n this.oldCollectionMeta = getOldCollectionMeta(this);\n this.mustMigrate = mustMigrate(this);\n this.statusDocId = getPrimaryKeyOfInternalDocument(this.statusDocKey, INTERNAL_CONTEXT_MIGRATION_STATUS);\n addMigrationStateToDatabase(this);\n this.$ = observeSingle(this.database.internalStore, this.statusDocId).pipe(filter(d => !!d), map(d => ensureNotFalsy(d).data), shareReplay(RXJS_SHARE_REPLAY_DEFAULTS));\n }\n var _proto = RxMigrationState.prototype;\n _proto.getStatus = function getStatus() {\n return firstValueFrom(this.$);\n }\n\n /**\n * Starts the migration.\n * Returns void so that people to not get the idea to await\n * this function.\n * Instead use migratePromise() if you want to await\n * the migration. This ensures it works even if the migration\n * is run on a different browser tab.\n */;\n _proto.startMigration = async function startMigration(batchSize = MIGRATION_DEFAULT_BATCH_SIZE) {\n var must = await this.mustMigrate;\n if (!must) {\n return;\n }\n if (this.started) {\n throw newRxError('DM1');\n }\n this.started = true;\n var broadcastChannel = undefined;\n /**\n * To ensure that multiple tabs do not migrate the same collection,\n * we use a new broadcastChannel/leaderElector for each collection.\n * This is required because collections can be added dynamically and\n * not all tabs might know about this collection.\n */\n if (this.database.multiInstance) {\n broadcastChannel = new BroadcastChannel(['rx-migration-state', this.database.name, this.collection.name, this.collection.schema.version].join('|'));\n var leaderElector = createLeaderElection(broadcastChannel);\n await leaderElector.awaitLeadership();\n }\n\n /**\n * Instead of writing a custom migration protocol,\n * we do a push-only replication from the old collection data to the new one.\n * This also ensure that restarting the replication works without problems.\n */\n var oldCollectionMeta = await this.oldCollectionMeta;\n var oldStorageInstance = await this.database.storage.createStorageInstance({\n databaseName: this.database.name,\n collectionName: this.collection.name,\n databaseInstanceToken: this.database.token,\n multiInstance: this.database.multiInstance,\n options: {},\n schema: oldCollectionMeta.data.schema,\n password: this.database.password,\n devMode: overwritable.isDevMode()\n });\n var connectedInstances = await this.getConnectedStorageInstances();\n\n /**\n * Initially write the migration status into a meta document.\n */\n var totalCount = await this.countAllDoucments([oldStorageInstance].concat(connectedInstances.map(r => r.oldStorage)));\n await this.updateStatus(s => {\n s.count.total = totalCount;\n return s;\n });\n try {\n /**\n * First migrate the connected storages,\n * afterwards migrate the normal collection.\n */\n await Promise.all(connectedInstances.map(async connectedInstance => {\n await addConnectedStorageToCollection(this.collection, connectedInstance.newStorage.collectionName, connectedInstance.newStorage.schema);\n await this.migrateStorage(connectedInstance.oldStorage, connectedInstance.newStorage, batchSize);\n await connectedInstance.newStorage.close();\n }));\n await this.migrateStorage(oldStorageInstance,\n /**\n * Use the originalStorageInstance here\n * so that the _meta.lwt time keeps the same\n * and our replication checkpoints still point to the\n * correct checkpoint.\n */\n this.collection.storageInstance.originalStorageInstance, batchSize);\n } catch (err) {\n await oldStorageInstance.close();\n await this.updateStatus(s => {\n s.status = 'ERROR';\n s.error = errorToPlainJson(err);\n return s;\n });\n return;\n }\n\n // remove old collection meta doc\n await writeSingle(this.database.internalStore, {\n previous: oldCollectionMeta,\n document: Object.assign({}, oldCollectionMeta, {\n _deleted: true\n })\n }, 'rx-migration-remove-collection-meta');\n await this.updateStatus(s => {\n s.status = 'DONE';\n return s;\n });\n if (broadcastChannel) {\n await broadcastChannel.close();\n }\n };\n _proto.updateStatus = function updateStatus(handler) {\n this.updateStatusHandlers.push(handler);\n this.updateStatusQueue = this.updateStatusQueue.then(async () => {\n if (this.updateStatusHandlers.length === 0) {\n return;\n }\n // re-run until no conflict\n var useHandlers = this.updateStatusHandlers;\n this.updateStatusHandlers = [];\n while (true) {\n var previous = await getSingleDocument(this.database.internalStore, this.statusDocId);\n var newDoc = clone(previous);\n if (!previous) {\n newDoc = {\n id: this.statusDocId,\n key: this.statusDocKey,\n context: INTERNAL_CONTEXT_MIGRATION_STATUS,\n data: {\n collectionName: this.collection.name,\n status: 'RUNNING',\n count: {\n total: 0,\n handled: 0,\n percent: 0\n }\n },\n _deleted: false,\n _meta: getDefaultRxDocumentMeta(),\n _rev: getDefaultRevision(),\n _attachments: {}\n };\n }\n var status = ensureNotFalsy(newDoc).data;\n for (var oneHandler of useHandlers) {\n status = oneHandler(status);\n }\n status.count.percent = Math.round(status.count.handled / status.count.total * 100);\n if (newDoc && previous && deepEqual(newDoc.data, previous.data)) {\n break;\n }\n try {\n await writeSingle(this.database.internalStore, {\n previous,\n document: ensureNotFalsy(newDoc)\n }, INTERNAL_CONTEXT_MIGRATION_STATUS);\n\n // write successful\n break;\n } catch (err) {\n // ignore conflicts\n if (!isBulkWriteConflictError(err)) {\n throw err;\n }\n }\n }\n });\n return this.updateStatusQueue;\n };\n _proto.migrateStorage = async function migrateStorage(oldStorage, newStorage, batchSize) {\n var replicationMetaStorageInstance = await this.database.storage.createStorageInstance({\n databaseName: this.database.name,\n collectionName: 'rx-migration-state-meta-' + this.collection.name + '-' + this.collection.schema.version,\n databaseInstanceToken: this.database.token,\n multiInstance: this.database.multiInstance,\n options: {},\n schema: getRxReplicationMetaInstanceSchema(oldStorage.schema, hasEncryption(oldStorage.schema)),\n password: this.database.password,\n devMode: overwritable.isDevMode()\n });\n var replicationHandlerBase = rxStorageInstanceToReplicationHandler(newStorage,\n /**\n * Ignore push-conflicts.\n * If this happens we drop the 'old' document state.\n */\n defaultConflictHandler, this.database.token, true);\n var replicationState = replicateRxStorageInstance({\n keepMeta: true,\n identifier: ['rx-migration-state', this.collection.name, oldStorage.schema.version, this.collection.schema.version].join('-'),\n replicationHandler: {\n masterChangesSince() {\n return Promise.resolve({\n checkpoint: null,\n documents: []\n });\n },\n masterWrite: async rows => {\n rows = await Promise.all(rows.map(async row => {\n var newDocData = row.newDocumentState;\n if (newStorage.schema.title === META_INSTANCE_SCHEMA_TITLE) {\n newDocData = row.newDocumentState.docData;\n if (row.newDocumentState.isCheckpoint === '1') {\n return {\n assumedMasterState: undefined,\n newDocumentState: row.newDocumentState\n };\n }\n }\n var migratedDocData = await migrateDocumentData(this.collection, oldStorage.schema.version, newDocData);\n var newRow = {\n // drop the assumed master state, we do not have to care about conflicts here.\n assumedMasterState: undefined,\n newDocumentState: newStorage.schema.title === META_INSTANCE_SCHEMA_TITLE ? Object.assign({}, row.newDocumentState, {\n docData: migratedDocData\n }) : migratedDocData\n };\n return newRow;\n }));\n\n // filter out the documents where the migration strategy returned null\n rows = rows.filter(row => !!row.newDocumentState);\n var result = await replicationHandlerBase.masterWrite(rows);\n return result;\n },\n masterChangeStream$: new Subject().asObservable()\n },\n forkInstance: oldStorage,\n metaInstance: replicationMetaStorageInstance,\n pushBatchSize: batchSize,\n pullBatchSize: 0,\n conflictHandler: defaultConflictHandler,\n hashFunction: this.database.hashFunction\n });\n var hasError = false;\n replicationState.events.error.subscribe(err => hasError = err);\n\n // update replication status on each change\n replicationState.events.processed.up.subscribe(() => {\n this.updateStatus(status => {\n status.count.handled = status.count.handled + 1;\n return status;\n });\n });\n await awaitRxStorageReplicationFirstInSync(replicationState);\n await cancelRxStorageReplication(replicationState);\n await this.updateStatusQueue;\n if (hasError) {\n await replicationMetaStorageInstance.close();\n throw hasError;\n }\n\n // cleanup old storages\n await Promise.all([oldStorage.remove(), replicationMetaStorageInstance.remove()]);\n };\n _proto.countAllDoucments = async function countAllDoucments(storageInstances) {\n var ret = 0;\n await Promise.all(storageInstances.map(async instance => {\n var preparedQuery = prepareQuery(instance.schema, normalizeMangoQuery(instance.schema, {\n selector: {}\n }));\n var countResult = await instance.count(preparedQuery);\n ret += countResult.count;\n }));\n return ret;\n };\n _proto.getConnectedStorageInstances = async function getConnectedStorageInstances() {\n var oldCollectionMeta = await this.oldCollectionMeta;\n var ret = [];\n await Promise.all(await Promise.all(oldCollectionMeta.data.connectedStorages.map(async connectedStorage => {\n // atm we can only migrate replication states.\n if (connectedStorage.schema.title !== META_INSTANCE_SCHEMA_TITLE) {\n throw new Error('unknown migration handling for schema');\n }\n var newSchema = getRxReplicationMetaInstanceSchema(clone(this.collection.schema.jsonSchema), hasEncryption(connectedStorage.schema));\n newSchema.version = this.collection.schema.version;\n var [oldStorage, newStorage] = await Promise.all([this.database.storage.createStorageInstance({\n databaseInstanceToken: this.database.token,\n databaseName: this.database.name,\n devMode: overwritable.isDevMode(),\n multiInstance: this.database.multiInstance,\n options: {},\n schema: connectedStorage.schema,\n password: this.database.password,\n collectionName: connectedStorage.collectionName\n }), this.database.storage.createStorageInstance({\n databaseInstanceToken: this.database.token,\n databaseName: this.database.name,\n devMode: overwritable.isDevMode(),\n multiInstance: this.database.multiInstance,\n options: {},\n schema: newSchema,\n password: this.database.password,\n collectionName: connectedStorage.collectionName\n })]);\n ret.push({\n oldStorage,\n newStorage\n });\n })));\n return ret;\n };\n _proto.migratePromise = async function migratePromise(batchSize) {\n this.startMigration(batchSize);\n var must = await this.mustMigrate;\n if (!must) {\n return {\n status: 'DONE',\n collectionName: this.collection.name,\n count: {\n handled: 0,\n percent: 0,\n total: 0\n }\n };\n }\n var result = await Promise.race([firstValueFrom(this.$.pipe(filter(d => d.status === 'DONE'))), firstValueFrom(this.$.pipe(filter(d => d.status === 'ERROR')))]);\n if (result.status === 'ERROR') {\n throw newRxError('DM4', {\n collection: this.collection.name,\n error: result.error\n });\n } else {\n return result;\n }\n };\n return RxMigrationState;\n}();\n//# sourceMappingURL=rx-migration-state.js.map","import { shareReplay } from 'rxjs';\nimport { getFromMapOrCreate, PROMISE_RESOLVE_FALSE, RXJS_SHARE_REPLAY_DEFAULTS } from \"../../plugins/utils/index.js\";\nimport { RxMigrationState } from \"./rx-migration-state.js\";\nimport { getMigrationStateByDatabase, mustMigrate, onDatabaseDestroy } from \"./migration-helpers.js\";\nimport { addRxPlugin } from \"../../plugin.js\";\nimport { RxDBLocalDocumentsPlugin } from \"../local-documents/index.js\";\nexport var DATA_MIGRATOR_BY_COLLECTION = new WeakMap();\nexport var RxDBMigrationPlugin = {\n name: 'migration-schema',\n rxdb: true,\n init() {\n addRxPlugin(RxDBLocalDocumentsPlugin);\n },\n hooks: {\n preDestroyRxDatabase: {\n after: onDatabaseDestroy\n }\n },\n prototypes: {\n RxDatabase: proto => {\n proto.migrationStates = function () {\n return getMigrationStateByDatabase(this).pipe(shareReplay(RXJS_SHARE_REPLAY_DEFAULTS));\n };\n },\n RxCollection: proto => {\n proto.getMigrationState = function () {\n return getFromMapOrCreate(DATA_MIGRATOR_BY_COLLECTION, this, () => new RxMigrationState(this.asRxCollection, this.migrationStrategies));\n };\n proto.migrationNeeded = function () {\n if (this.schema.version === 0) {\n return PROMISE_RESOLVE_FALSE;\n }\n return mustMigrate(this.getMigrationState());\n };\n }\n }\n};\nexport * from \"./rx-migration-state.js\";\nexport * from \"./migration-helpers.js\";\nexport * from \"./migration-types.js\";\n//# sourceMappingURL=index.js.map","import { Query } from \"../../query\";\nimport { assert, cloneDeep, isArray, isDate, isObject, resolve, walk } from \"../../util\";\nexport const clone = (mode, val) => {\n switch (mode) {\n case \"deep\":\n return cloneDeep(val);\n case \"copy\": {\n if (isDate(val))\n return new Date(val);\n if (isArray(val))\n return [...val];\n if (isObject(val))\n return Object.assign({}, val);\n return val;\n }\n default:\n return val;\n }\n};\nconst FILTER_IDENT_RE = /^[a-z]+[a-zA-Z0-9]*$/;\n/**\n * Tokenize a selector path to extract parts for the root, arrayFilter, and child\n * @param selector The path to tokenize\n * @returns {parent:string, elem:string, child:string}\n */\nexport function tokenizePath(selector) {\n if (!selector.includes(\".$\")) {\n return [{ parent: selector, selector }, []];\n }\n const begin = selector.indexOf(\".$\");\n const end = selector.indexOf(\"]\");\n const parent = selector.substring(0, begin);\n // using \"$\" wildcard to represent every element.\n const child = selector.substring(begin + 3, end);\n assert(child === \"\" || FILTER_IDENT_RE.test(child), \"The filter must begin with a lowercase letter and contain only alphanumeric characters.\");\n const rest = selector.substring(end + 2);\n const [next, elems] = rest ? tokenizePath(rest) : [];\n return [\n { selector, parent, child: child || \"$\", next },\n [child, ...(elems || [])].filter(Boolean)\n ];\n}\n/**\n * Applies an update function to a value to produce a new value to modify an object in-place.\n * @param o The object or array to modify.\n * @param n The path node of the update selector.\n * @param q Map of positional identifiers to queries for filtering.\n * @param f The update function which accepts containver value and key.\n * @param opts The optional {@link WalkOptions} passed to the walk function.\n */\nexport const applyUpdate = (o, n, q, f, opts) => {\n const { parent, child: c, next } = n;\n if (!c) {\n // wrapper to collect status\n let b = false;\n const g = (u, k) => (b = Boolean(f(u, k)) || b);\n walk(o, parent, g, opts);\n return b;\n }\n const t = resolve(o, parent);\n // do nothing if we don't get correct type.\n if (!isArray(t))\n return false;\n // apply update to matching items.\n return t\n .map((e, i) => {\n // filter if applicable.\n if (q[c] && !q[c].test({ [c]: e }))\n return false;\n // apply update.\n return next ? applyUpdate(e, next, q, f, opts) : f(t, i);\n })\n .some(Boolean);\n};\n/**\n * Walks the expression and apply the given action for each key-value pair.\n *\n * @param expr The expression for the update operator.\n * @param arrayFilter Filter conditions passed to the operator.\n * @param options The options provided by the caller.\n * @param callback The action to apply for a given path and value.\n * @returns {Array}\n */\nexport function walkExpression(expr, arrayFilter, options, callback) {\n const res = [];\n for (const [selector, val] of Object.entries(expr)) {\n const [node, vars] = tokenizePath(selector);\n if (!vars.length) {\n if (callback(val, node, {}))\n res.push(node.parent);\n }\n else {\n // extract conditions for each identifier\n const conditions = {};\n arrayFilter.forEach(o => {\n Object.keys(o).forEach(k => {\n vars.forEach(w => {\n if (k === w || k.startsWith(w + \".\")) {\n conditions[w] = conditions[w] || {};\n Object.assign(conditions[w], { [k]: o[k] });\n }\n });\n });\n });\n // create queries for each identifier\n const queries = {};\n for (const [k, condition] of Object.entries(conditions)) {\n queries[k] = new Query(condition, options.queryOptions);\n }\n if (callback(val, node, queries))\n res.push(node.parent);\n }\n }\n return res;\n}\n","import { has, intersection, isObject, unique } from \"../../util\";\nimport { applyUpdate, clone, walkExpression } from \"./_internal\";\n/** Adds a value to an array unless the value is already present. */\nexport const $addToSet = (obj, expr, arrayFilters = [], options = {}) => {\n return walkExpression(expr, arrayFilters, options, (val, node, queries) => {\n const args = { $each: [val] };\n if (isObject(val) && has(val, \"$each\")) {\n Object.assign(args, val);\n }\n return applyUpdate(obj, node, queries, (o, k) => {\n const prev = (o[k] || (o[k] = []));\n const common = intersection([prev, args.$each]);\n if (common.length === args.$each.length)\n return false;\n o[k] = clone(options.cloneMode, unique(prev.concat(args.$each)));\n return true;\n }, { buildGraph: true });\n });\n};\n","import { assert, isNumber } from \"../../util\";\nimport { applyUpdate, walkExpression } from \"./_internal\";\nconst BIT_OPS = new Set([\"and\", \"or\", \"xor\"]);\n/** Performs a bitwise update of a field. The operator supports AND, OR, and XOR.*/\nexport const $bit = (obj, expr, arrayFilters = [], options = {}) => {\n return walkExpression(expr, arrayFilters, options, ((val, node, queries) => {\n const op = Object.keys(val);\n assert(op.length === 1 && BIT_OPS.has(op[0]), `Invalid bit operator '${op[0]}'. Must be one of 'and', 'or', or 'xor'.`);\n return applyUpdate(obj, node, queries, (o, k) => {\n let n = o[k];\n const v = val[op[0]];\n if (n !== undefined && !(isNumber(n) && isNumber(v)))\n return false;\n n = n || 0;\n switch (op[0]) {\n case \"and\":\n o[k] = n & v;\n break;\n case \"or\":\n o[k] = n | v;\n break;\n case \"xor\":\n o[k] = n ^ v;\n break;\n }\n return o[k] !== n;\n }, { buildGraph: true });\n }));\n};\n","import { applyUpdate, walkExpression } from \"./_internal\";\n/** Sets the value of a field to the current date. */\nexport const $currentDate = (obj, expr, arrayFilters = [], options = {}) => {\n const now = Date.now();\n return walkExpression(expr, arrayFilters, options, ((_, node, queries) => {\n return applyUpdate(obj, node, queries, (o, k) => {\n o[k] = now;\n return true;\n }, { buildGraph: true });\n }));\n};\n","import { assert, isNumber, resolve } from \"../../util\";\nimport { applyUpdate, walkExpression } from \"./_internal\";\n/** Increments a field by a specified value. */\nexport const $inc = (obj, expr, arrayFilters = [], options = {}) => {\n return walkExpression(expr, arrayFilters, options, (val, node, queries) => {\n if (!node.child) {\n const n = resolve(obj, node.parent);\n assert(n === undefined || isNumber(n), `cannot apply $inc to a value of non-numeric type`);\n }\n return applyUpdate(obj, node, queries, (o, k) => {\n o[k] = (o[k] || (o[k] = 0)) + val;\n return true;\n }, { buildGraph: true });\n });\n};\n","import { compare } from \"../../util\";\nimport { applyUpdate, walkExpression } from \"./_internal\";\n/** Updates the value of the field to a specified value if the specified value is greater than the current value of the field. */\nexport const $max = (obj, expr, arrayFilters = [], options = {}) => {\n return walkExpression(expr, arrayFilters, options, ((val, node, queries) => {\n // If the field does not exist, the $max operator sets the field to the specified value.\n return applyUpdate(obj, node, queries, (o, k) => {\n if (o[k] !== undefined && compare(o[k], val) > -1)\n return false;\n o[k] = val;\n return true;\n }, { buildGraph: true });\n }));\n};\n","import { compare } from \"../../util\";\nimport { applyUpdate, walkExpression } from \"./_internal\";\n/** Updates the value of the field to a specified value if the specified value is less than the current value of the field. */\nexport const $min = (obj, expr, arrayFilters = [], options = {}) => {\n return walkExpression(expr, arrayFilters, options, ((val, node, queries) => {\n // If the field does not exist, the $min operator sets the field to the specified value.\n return applyUpdate(obj, node, queries, (o, k) => {\n if (o[k] !== undefined && compare(o[k], val) < 1)\n return false;\n o[k] = val;\n return true;\n }, { buildGraph: true });\n }));\n};\n","import { applyUpdate, walkExpression } from \"./_internal\";\n/** Multiply the value of a field by a number. */\nexport const $mul = (obj, expr, arrayFilters = [], options = {}) => {\n return walkExpression(expr, arrayFilters, options, ((val, node, queries) => {\n return applyUpdate(obj, node, queries, (o, k) => {\n const prev = o[k];\n o[k] = o[k] === undefined ? 0 : o[k] * val;\n return o[k] !== prev;\n }, { buildGraph: true });\n }));\n};\n","import { assert, isArray } from \"../../util\";\nimport { applyUpdate, walkExpression } from \"./_internal\";\n/** Removes the first or last element of an array. */\nexport const $pop = (obj, expr, arrayFilters = [], options = {}) => {\n return walkExpression(expr, arrayFilters, options, ((val, node, queries) => {\n return applyUpdate(obj, node, queries, (o, k) => {\n const arr = o[k];\n assert(isArray(arr), `path '${node.selector}' contains an element of non-array type.`);\n if (!arr.length)\n return false;\n if (val === -1) {\n arr.splice(0, 1);\n }\n else {\n arr.pop();\n }\n return true;\n });\n }));\n};\n","import { Query } from \"../../query\";\nimport { isObject, isOperator } from \"../../util\";\nimport { applyUpdate, walkExpression } from \"./_internal\";\n/** Removes from an existing array all instances of a value or values that match a specified condition. */\nexport const $pull = (obj, expr, arrayFilters = [], options = {}) => {\n return walkExpression(expr, arrayFilters, options, ((val, node, queries) => {\n // wrap simple values or condition objects\n const wrap = !isObject(val) || Object.keys(val).some(isOperator);\n const query = new Query(wrap ? { k: val } : val, options.queryOptions);\n const pred = wrap\n ? (v) => query.test({ k: v })\n : (v) => query.test(v);\n return applyUpdate(obj, node, queries, (o, k) => {\n const prev = o[k];\n const curr = new Array();\n const found = prev\n .map(v => {\n const b = pred(v);\n if (!b)\n curr.push(v);\n return b;\n })\n .some(Boolean);\n if (!found)\n return false;\n o[k] = curr;\n return true;\n });\n }));\n};\n","import { $pull } from \"./pull\";\n/** Removes all instances of the specified values from an existing array. */\nexport const $pullAll = (obj, expr, arrayFilters = [], options = {}) => {\n const pullExpr = {};\n Object.entries(expr).forEach(([k, v]) => {\n pullExpr[k] = { $in: v };\n });\n return $pull(obj, pullExpr, arrayFilters, options);\n};\n","import { compare, has, isEqual, isNumber, isObject, resolve } from \"../../util\";\nimport { applyUpdate, clone, walkExpression } from \"./_internal\";\nconst OPERATOR_MODIFIERS = Object.freeze([\n \"$each\",\n \"$slice\",\n \"$sort\",\n \"$position\"\n]);\n/** Appends a specified value to an array. */\nexport const $push = (obj, expr, arrayFilters = [], options = {}) => {\n return walkExpression(expr, arrayFilters, options, ((val, node, queries) => {\n const args = {\n $each: [val]\n };\n if (isObject(val) &&\n OPERATOR_MODIFIERS.some(m => has(val, m))) {\n Object.assign(args, val);\n }\n return applyUpdate(obj, node, queries, (o, k) => {\n const arr = (o[k] || (o[k] = []));\n // take a copy of sufficient length.\n const prev = arr.slice(0, args.$slice || arr.length);\n const oldsize = arr.length;\n const pos = isNumber(args.$position) ? args.$position : arr.length;\n // insert new items\n arr.splice(pos, 0, ...clone(options.cloneMode, args.$each));\n if (args.$sort) {\n /* eslint-disable @typescript-eslint/no-unsafe-assignment */\n const sortKey = isObject(args.$sort)\n ? Object.keys(args.$sort || {}).pop()\n : \"\";\n const order = !sortKey ? args.$sort : args.$sort[sortKey];\n const f = !sortKey\n ? (a) => a\n : (a) => resolve(a, sortKey);\n arr.sort((a, b) => order * compare(f(a), f(b)));\n /* eslint-enable @typescript-eslint/no-unsafe-assignment */\n }\n // handle slicing\n if (isNumber(args.$slice)) {\n if (args.$slice < 0)\n arr.splice(0, arr.length + args.$slice);\n else\n arr.splice(args.$slice);\n }\n // detect change\n return oldsize != arr.length || !isEqual(prev, arr);\n }, { descendArray: true, buildGraph: true });\n }));\n};\n","import { isEqual } from \"../../util\";\nimport { applyUpdate, clone, walkExpression } from \"./_internal\";\n/** Replaces the value of a field with the specified value. */\nexport const $set = (obj, expr, arrayFilters = [], options = {}) => {\n return walkExpression(expr, arrayFilters, options, (val, node, queries) => {\n return applyUpdate(obj, node, queries, (o, k) => {\n if (isEqual(o[k], val))\n return false;\n o[k] = clone(options.cloneMode, val);\n return true;\n }, { buildGraph: true });\n });\n};\n","import { has } from \"../../util\";\nimport { applyUpdate, walkExpression } from \"./_internal\";\nimport { $set } from \"./set\";\n/** Replaces the value of a field with the specified value. */\nexport const $rename = (obj, expr, arrayFilters = [], options = {}) => {\n const res = [];\n const changed = walkExpression(expr, arrayFilters, options, ((val, node, queries) => {\n return applyUpdate(obj, node, queries, (o, k) => {\n if (!has(o, k))\n return false;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n res.push(...$set(obj, { [val]: o[k] }, arrayFilters, options));\n delete o[k];\n return true;\n });\n }));\n return Array.from(new Set(changed.concat(res)));\n};\n","import { has, isArray } from \"../../util\";\nimport { applyUpdate, walkExpression } from \"./_internal\";\n/** Deletes a particular field */\nexport const $unset = (obj, expr, arrayFilters = [], options = {}) => {\n return walkExpression(expr, arrayFilters, options, (_, node, queries) => {\n return applyUpdate(obj, node, queries, (o, k) => {\n if (!has(o, k))\n return false;\n if (isArray(o)) {\n o[k] = null;\n }\n else {\n delete o[k];\n }\n return true;\n });\n });\n};\n","import { initOptions } from \"./core\";\nimport * as UPDATE_OPERATORS from \"./operators/update\";\nimport { Query } from \"./query\";\nimport { assert, has } from \"./util\";\n/**\n * Creates a new updater function with default options.\n * @param defaultOptions The default options. Defaults to no cloning with strict mode off for queries.\n * @returns {Updater}\n */\nexport function createUpdater(defaultOptions) {\n return (obj, expr, arrayFilters = [], conditions = {}, options = {}) => {\n const opts = Object.assign({ cloneMode: \"copy\" }, defaultOptions, options);\n Object.assign(opts, {\n queryOptions: initOptions(Object.assign({ useStrictMode: false }, opts === null || opts === void 0 ? void 0 : opts.queryOptions))\n });\n arrayFilters = arrayFilters || [];\n conditions = conditions || {};\n // validate operator\n const entry = Object.entries(expr);\n // check for single entry\n assert(entry.length === 1, \"Update expression must contain only one operator.\");\n const [op, args] = entry[0];\n // check operator exists\n assert(has(UPDATE_OPERATORS, op), `Update operator '${op}' is not supported.`);\n /*eslint import/namespace: ['error', { allowComputed: true }]*/\n const mutate = UPDATE_OPERATORS[op];\n // validate condition\n if (Object.keys(conditions).length) {\n const q = new Query(conditions, opts.queryOptions);\n if (!q.test(obj))\n return [];\n }\n // apply updates\n return mutate(obj, args, arrayFilters, opts);\n };\n}\n/**\n * Updates the given object with the expression.\n *\n * @param obj The object to update.\n * @param expr The update expressions.\n * @param arrayFilters Filters to apply to nested items.\n * @param conditions Conditions to validate before performing update.\n * @param options Update options to override defaults.\n * @returns {Array} A list of modified field paths in the object.\n */\nexport const updateObject = createUpdater({});\n","/**\n * Custom build of the mingo updater for smaller build size\n */\n\nimport { createUpdater } from \"mingo/updater\";\nimport { clone } from \"../utils/index.js\";\nvar updater;\nexport function mingoUpdater(d, op) {\n if (!updater) {\n var updateObject = createUpdater({\n cloneMode: \"none\"\n });\n updater = (d, op) => {\n var cloned = clone(d);\n updateObject(cloned, op);\n return cloned;\n };\n }\n return updater(d, op);\n}\n//# sourceMappingURL=mingo-updater.js.map","/**\n * this plugin allows delta-updates with mongo-like-syntax\n * It's using mingo internally\n * @link https://github.com/kofrasa/mingo\n */\n\nimport { mingoUpdater } from \"./mingo-updater.js\";\nexport function incrementalUpdate(updateObj) {\n return this.incrementalModify(docData => {\n var newDocData = mingoUpdater(docData, updateObj);\n return newDocData;\n });\n}\nexport function update(updateObj) {\n var oldDocData = this._data;\n var newDocData = mingoUpdater(oldDocData, updateObj);\n return this._saveData(newDocData, oldDocData);\n}\nexport function RxQueryUpdate(updateObj) {\n return this.exec().then(docs => {\n if (!docs) {\n return null;\n }\n if (Array.isArray(docs)) {\n return Promise.all(docs.map(doc => doc.update(updateObj))).then(() => docs);\n } else {\n // via findOne()\n return docs.update(updateObj).then(() => docs);\n }\n });\n}\nexport var RxDBUpdatePlugin = {\n name: 'update',\n rxdb: true,\n prototypes: {\n RxDocument: proto => {\n proto.update = update;\n proto.incrementalUpdate = incrementalUpdate;\n },\n RxQuery: proto => {\n proto.update = RxQueryUpdate;\n }\n }\n};\n//# sourceMappingURL=index.js.map","import { RxDBPreparePlugin, prepareCollections } from '@ngx-odm/rxdb/prepare';\nimport { NgxRxdbUtils } from '@ngx-odm/rxdb/utils';\nimport { addRxPlugin, createRxDatabase } from 'rxdb';\nimport { RxDBPUseQueryParamsPlugin } from '@ngx-odm/rxdb/query-params';\nimport { RxDBCleanupPlugin } from 'rxdb/plugins/cleanup';\nimport { RxDBJsonDumpPlugin } from 'rxdb/plugins/json-dump';\nimport { RxDBLocalDocumentsPlugin } from 'rxdb/plugins/local-documents';\nimport { RxDBMigrationPlugin } from 'rxdb/plugins/migration-schema';\nimport { RxDBUpdatePlugin } from 'rxdb/plugins/update';\n\nconst { logger: logger$1 } = NgxRxdbUtils;\nasync function loadRxDBPlugins(plugins = []) {\n try {\n addRxPlugin(RxDBLocalDocumentsPlugin);\n addRxPlugin(RxDBJsonDumpPlugin);\n addRxPlugin(RxDBMigrationPlugin);\n addRxPlugin(RxDBUpdatePlugin);\n addRxPlugin(RxDBCleanupPlugin);\n addRxPlugin(RxDBPreparePlugin);\n addRxPlugin(RxDBPUseQueryParamsPlugin);\n for (const plugin of plugins) {\n addRxPlugin(plugin);\n }\n logger$1.log('rxdb plugins loaded');\n }\n catch (error) {\n throw new Error(error.message ?? error);\n }\n}\n\nconst { logger } = NgxRxdbUtils;\nclass RxDBService {\n get db() {\n return this.dbInstance;\n }\n get dbOptions() {\n return this.options;\n }\n get collections() {\n return this.db.collections;\n }\n async destroyDb() {\n try {\n await this.db.remove();\n await this.db.destroy();\n this.dbInstance = null;\n logger.log(`database destroy`);\n }\n catch {\n logger.log(`database destroy error`);\n }\n }\n async initDb(config) {\n if (this.dbInstance) {\n return;\n }\n try {\n await loadRxDBPlugins(config.options?.plugins);\n this.dbInstance = await createRxDatabase(config);\n this.options = config;\n logger.log(`created database \"${this.db.name}\" with config \"${JSON.stringify(config)}\"`);\n if (config?.options?.schemas) {\n const bulk = await this.initCollections(config.options.schemas);\n logger.log(`created ${Object.keys(bulk).length} collections bulk: ${Object.keys(bulk)}`);\n }\n }\n catch (error) {\n logger.log('Error initializing the database:', error);\n throw error;\n }\n }\n async initCollections(colConfigs) {\n try {\n const colCreators = await prepareCollections(colConfigs);\n return await this.db.addCollections(colCreators);\n }\n catch (error) {\n logger.log('Error initializing collection(s)', error);\n throw error;\n }\n }\n}\n\nexport { RxDBService, loadRxDBPlugins };\n//# sourceMappingURL=ngx-odm-rxdb-core.mjs.map\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k decoder.decode(buffer);\nconst encoder = new TextEncoder();\n/** @ignore */\nexport const encodeUtf8 = (value) => encoder.encode(value);\n\n//# sourceMappingURL=utf8.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n/** @ignore */\nconst [BigIntCtor, BigIntAvailable] = (() => {\n const BigIntUnavailableError = () => { throw new Error('BigInt is not available in this environment'); };\n function BigIntUnavailable() { throw BigIntUnavailableError(); }\n BigIntUnavailable.asIntN = () => { throw BigIntUnavailableError(); };\n BigIntUnavailable.asUintN = () => { throw BigIntUnavailableError(); };\n return typeof BigInt !== 'undefined' ? [BigInt, true] : [BigIntUnavailable, false];\n})();\n/** @ignore */\nconst [BigInt64ArrayCtor, BigInt64ArrayAvailable] = (() => {\n const BigInt64ArrayUnavailableError = () => { throw new Error('BigInt64Array is not available in this environment'); };\n class BigInt64ArrayUnavailable {\n static get BYTES_PER_ELEMENT() { return 8; }\n static of() { throw BigInt64ArrayUnavailableError(); }\n static from() { throw BigInt64ArrayUnavailableError(); }\n constructor() { throw BigInt64ArrayUnavailableError(); }\n }\n return typeof BigInt64Array !== 'undefined' ? [BigInt64Array, true] : [BigInt64ArrayUnavailable, false];\n})();\n/** @ignore */\nconst [BigUint64ArrayCtor, BigUint64ArrayAvailable] = (() => {\n const BigUint64ArrayUnavailableError = () => { throw new Error('BigUint64Array is not available in this environment'); };\n class BigUint64ArrayUnavailable {\n static get BYTES_PER_ELEMENT() { return 8; }\n static of() { throw BigUint64ArrayUnavailableError(); }\n static from() { throw BigUint64ArrayUnavailableError(); }\n constructor() { throw BigUint64ArrayUnavailableError(); }\n }\n return typeof BigUint64Array !== 'undefined' ? [BigUint64Array, true] : [BigUint64ArrayUnavailable, false];\n})();\nexport { BigIntCtor as BigInt, BigIntAvailable };\nexport { BigInt64ArrayCtor as BigInt64Array, BigInt64ArrayAvailable };\nexport { BigUint64ArrayCtor as BigUint64Array, BigUint64ArrayAvailable };\n/** @ignore */ const isNumber = (x) => typeof x === 'number';\n/** @ignore */ const isBoolean = (x) => typeof x === 'boolean';\n/** @ignore */ const isFunction = (x) => typeof x === 'function';\n/** @ignore */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const isObject = (x) => x != null && Object(x) === x;\n/** @ignore */\nexport const isPromise = (x) => {\n return isObject(x) && isFunction(x.then);\n};\n/** @ignore */\nexport const isObservable = (x) => {\n return isObject(x) && isFunction(x.subscribe);\n};\n/** @ignore */\nexport const isIterable = (x) => {\n return isObject(x) && isFunction(x[Symbol.iterator]);\n};\n/** @ignore */\nexport const isAsyncIterable = (x) => {\n return isObject(x) && isFunction(x[Symbol.asyncIterator]);\n};\n/** @ignore */\nexport const isArrowJSON = (x) => {\n return isObject(x) && isObject(x['schema']);\n};\n/** @ignore */\nexport const isArrayLike = (x) => {\n return isObject(x) && isNumber(x['length']);\n};\n/** @ignore */\nexport const isIteratorResult = (x) => {\n return isObject(x) && ('done' in x) && ('value' in x);\n};\n/** @ignore */\nexport const isUnderlyingSink = (x) => {\n return isObject(x) &&\n isFunction(x['abort']) &&\n isFunction(x['close']) &&\n isFunction(x['start']) &&\n isFunction(x['write']);\n};\n/** @ignore */\nexport const isFileHandle = (x) => {\n return isObject(x) && isFunction(x['stat']) && isNumber(x['fd']);\n};\n/** @ignore */\nexport const isFSReadStream = (x) => {\n return isReadableNodeStream(x) && isNumber(x['bytesRead']);\n};\n/** @ignore */\nexport const isFetchResponse = (x) => {\n return isObject(x) && isReadableDOMStream(x['body']);\n};\nconst isReadableInterop = (x) => ('_getDOMStream' in x && '_getNodeStream' in x);\n/** @ignore */\nexport const isWritableDOMStream = (x) => {\n return isObject(x) &&\n isFunction(x['abort']) &&\n isFunction(x['getWriter']) &&\n !isReadableInterop(x);\n};\n/** @ignore */\nexport const isReadableDOMStream = (x) => {\n return isObject(x) &&\n isFunction(x['cancel']) &&\n isFunction(x['getReader']) &&\n !isReadableInterop(x);\n};\n/** @ignore */\nexport const isWritableNodeStream = (x) => {\n return isObject(x) &&\n isFunction(x['end']) &&\n isFunction(x['write']) &&\n isBoolean(x['writable']) &&\n !isReadableInterop(x);\n};\n/** @ignore */\nexport const isReadableNodeStream = (x) => {\n return isObject(x) &&\n isFunction(x['read']) &&\n isFunction(x['pipe']) &&\n isBoolean(x['readable']) &&\n !isReadableInterop(x);\n};\n/** @ignore */\nexport const isFlatbuffersByteBuffer = (x) => {\n return isObject(x) &&\n isFunction(x['clear']) &&\n isFunction(x['bytes']) &&\n isFunction(x['position']) &&\n isFunction(x['setPosition']) &&\n isFunction(x['capacity']) &&\n isFunction(x['getBufferIdentifier']) &&\n isFunction(x['createLong']);\n};\n\n//# sourceMappingURL=compat.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { __asyncDelegator, __asyncGenerator, __asyncValues, __await } from \"tslib\";\nimport { encodeUtf8 } from '../util/utf8.mjs';\nimport { isPromise, isIterable, isAsyncIterable, isIteratorResult, isFlatbuffersByteBuffer, BigInt64Array, BigUint64Array } from './compat.mjs';\n/** @ignore */\nconst SharedArrayBuf = (typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : ArrayBuffer);\n/** @ignore */\nfunction collapseContiguousByteRanges(chunks) {\n const result = chunks[0] ? [chunks[0]] : [];\n let xOffset, yOffset, xLen, yLen;\n for (let x, y, i = 0, j = 0, n = chunks.length; ++i < n;) {\n x = result[j];\n y = chunks[i];\n // continue if x and y don't share the same underlying ArrayBuffer, or if x isn't before y\n if (!x || !y || x.buffer !== y.buffer || y.byteOffset < x.byteOffset) {\n y && (result[++j] = y);\n continue;\n }\n ({ byteOffset: xOffset, byteLength: xLen } = x);\n ({ byteOffset: yOffset, byteLength: yLen } = y);\n // continue if the byte ranges of x and y aren't contiguous\n if ((xOffset + xLen) < yOffset || (yOffset + yLen) < xOffset) {\n y && (result[++j] = y);\n continue;\n }\n result[j] = new Uint8Array(x.buffer, xOffset, yOffset - xOffset + yLen);\n }\n return result;\n}\n/** @ignore */\nexport function memcpy(target, source, targetByteOffset = 0, sourceByteLength = source.byteLength) {\n const targetByteLength = target.byteLength;\n const dst = new Uint8Array(target.buffer, target.byteOffset, targetByteLength);\n const src = new Uint8Array(source.buffer, source.byteOffset, Math.min(sourceByteLength, targetByteLength));\n dst.set(src, targetByteOffset);\n return target;\n}\n/** @ignore */\nexport function joinUint8Arrays(chunks, size) {\n // collapse chunks that share the same underlying ArrayBuffer and whose byte ranges overlap,\n // to avoid unnecessarily copying the bytes to do this buffer join. This is a common case during\n // streaming, where we may be reading partial byte ranges out of the same underlying ArrayBuffer\n const result = collapseContiguousByteRanges(chunks);\n const byteLength = result.reduce((x, b) => x + b.byteLength, 0);\n let source, sliced, buffer;\n let offset = 0, index = -1;\n const length = Math.min(size || Number.POSITIVE_INFINITY, byteLength);\n for (const n = result.length; ++index < n;) {\n source = result[index];\n sliced = source.subarray(0, Math.min(source.length, length - offset));\n if (length <= (offset + sliced.length)) {\n if (sliced.length < source.length) {\n result[index] = source.subarray(sliced.length);\n }\n else if (sliced.length === source.length) {\n index++;\n }\n buffer ? memcpy(buffer, sliced, offset) : (buffer = sliced);\n break;\n }\n memcpy(buffer || (buffer = new Uint8Array(length)), sliced, offset);\n offset += sliced.length;\n }\n return [buffer || new Uint8Array(0), result.slice(index), byteLength - (buffer ? buffer.byteLength : 0)];\n}\n/** @ignore */\nexport function toArrayBufferView(ArrayBufferViewCtor, input) {\n let value = isIteratorResult(input) ? input.value : input;\n if (value instanceof ArrayBufferViewCtor) {\n if (ArrayBufferViewCtor === Uint8Array) {\n // Node's `Buffer` class passes the `instanceof Uint8Array` check, but we need\n // a real Uint8Array, since Buffer#slice isn't the same as Uint8Array#slice :/\n return new ArrayBufferViewCtor(value.buffer, value.byteOffset, value.byteLength);\n }\n return value;\n }\n if (!value) {\n return new ArrayBufferViewCtor(0);\n }\n if (typeof value === 'string') {\n value = encodeUtf8(value);\n }\n if (value instanceof ArrayBuffer) {\n return new ArrayBufferViewCtor(value);\n }\n if (value instanceof SharedArrayBuf) {\n return new ArrayBufferViewCtor(value);\n }\n if (isFlatbuffersByteBuffer(value)) {\n return toArrayBufferView(ArrayBufferViewCtor, value.bytes());\n }\n return !ArrayBuffer.isView(value) ? ArrayBufferViewCtor.from(value) : (value.byteLength <= 0 ? new ArrayBufferViewCtor(0)\n : new ArrayBufferViewCtor(value.buffer, value.byteOffset, value.byteLength / ArrayBufferViewCtor.BYTES_PER_ELEMENT));\n}\n/** @ignore */ export const toInt8Array = (input) => toArrayBufferView(Int8Array, input);\n/** @ignore */ export const toInt16Array = (input) => toArrayBufferView(Int16Array, input);\n/** @ignore */ export const toInt32Array = (input) => toArrayBufferView(Int32Array, input);\n/** @ignore */ export const toBigInt64Array = (input) => toArrayBufferView(BigInt64Array, input);\n/** @ignore */ export const toUint8Array = (input) => toArrayBufferView(Uint8Array, input);\n/** @ignore */ export const toUint16Array = (input) => toArrayBufferView(Uint16Array, input);\n/** @ignore */ export const toUint32Array = (input) => toArrayBufferView(Uint32Array, input);\n/** @ignore */ export const toBigUint64Array = (input) => toArrayBufferView(BigUint64Array, input);\n/** @ignore */ export const toFloat32Array = (input) => toArrayBufferView(Float32Array, input);\n/** @ignore */ export const toFloat64Array = (input) => toArrayBufferView(Float64Array, input);\n/** @ignore */ export const toUint8ClampedArray = (input) => toArrayBufferView(Uint8ClampedArray, input);\n/** @ignore */\nconst pump = (iterator) => { iterator.next(); return iterator; };\n/** @ignore */\nexport function* toArrayBufferViewIterator(ArrayCtor, source) {\n const wrap = function* (x) { yield x; };\n const buffers = (typeof source === 'string') ? wrap(source)\n : (ArrayBuffer.isView(source)) ? wrap(source)\n : (source instanceof ArrayBuffer) ? wrap(source)\n : (source instanceof SharedArrayBuf) ? wrap(source)\n : !isIterable(source) ? wrap(source) : source;\n yield* pump((function* (it) {\n let r = null;\n do {\n r = it.next(yield toArrayBufferView(ArrayCtor, r));\n } while (!r.done);\n })(buffers[Symbol.iterator]()));\n return new ArrayCtor();\n}\n/** @ignore */ export const toInt8ArrayIterator = (input) => toArrayBufferViewIterator(Int8Array, input);\n/** @ignore */ export const toInt16ArrayIterator = (input) => toArrayBufferViewIterator(Int16Array, input);\n/** @ignore */ export const toInt32ArrayIterator = (input) => toArrayBufferViewIterator(Int32Array, input);\n/** @ignore */ export const toUint8ArrayIterator = (input) => toArrayBufferViewIterator(Uint8Array, input);\n/** @ignore */ export const toUint16ArrayIterator = (input) => toArrayBufferViewIterator(Uint16Array, input);\n/** @ignore */ export const toUint32ArrayIterator = (input) => toArrayBufferViewIterator(Uint32Array, input);\n/** @ignore */ export const toFloat32ArrayIterator = (input) => toArrayBufferViewIterator(Float32Array, input);\n/** @ignore */ export const toFloat64ArrayIterator = (input) => toArrayBufferViewIterator(Float64Array, input);\n/** @ignore */ export const toUint8ClampedArrayIterator = (input) => toArrayBufferViewIterator(Uint8ClampedArray, input);\n/** @ignore */\nexport function toArrayBufferViewAsyncIterator(ArrayCtor, source) {\n return __asyncGenerator(this, arguments, function* toArrayBufferViewAsyncIterator_1() {\n // if a Promise, unwrap the Promise and iterate the resolved value\n if (isPromise(source)) {\n return yield __await(yield __await(yield* __asyncDelegator(__asyncValues(toArrayBufferViewAsyncIterator(ArrayCtor, yield __await(source))))));\n }\n const wrap = function (x) { return __asyncGenerator(this, arguments, function* () { yield yield __await(yield __await(x)); }); };\n const emit = function (source) {\n return __asyncGenerator(this, arguments, function* () {\n yield __await(yield* __asyncDelegator(__asyncValues(pump((function* (it) {\n let r = null;\n do {\n r = it.next(yield r === null || r === void 0 ? void 0 : r.value);\n } while (!r.done);\n })(source[Symbol.iterator]())))));\n });\n };\n const buffers = (typeof source === 'string') ? wrap(source) // if string, wrap in an AsyncIterableIterator\n : (ArrayBuffer.isView(source)) ? wrap(source) // if TypedArray, wrap in an AsyncIterableIterator\n : (source instanceof ArrayBuffer) ? wrap(source) // if ArrayBuffer, wrap in an AsyncIterableIterator\n : (source instanceof SharedArrayBuf) ? wrap(source) // if SharedArrayBuffer, wrap in an AsyncIterableIterator\n : isIterable(source) ? emit(source) // If Iterable, wrap in an AsyncIterableIterator and compose the `next` values\n : !isAsyncIterable(source) ? wrap(source) // If not an AsyncIterable, treat as a sentinel and wrap in an AsyncIterableIterator\n : source; // otherwise if AsyncIterable, use it\n yield __await(// otherwise if AsyncIterable, use it\n yield* __asyncDelegator(__asyncValues(pump((function (it) {\n return __asyncGenerator(this, arguments, function* () {\n let r = null;\n do {\n r = yield __await(it.next(yield yield __await(toArrayBufferView(ArrayCtor, r))));\n } while (!r.done);\n });\n })(buffers[Symbol.asyncIterator]())))));\n return yield __await(new ArrayCtor());\n });\n}\n/** @ignore */ export const toInt8ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Int8Array, input);\n/** @ignore */ export const toInt16ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Int16Array, input);\n/** @ignore */ export const toInt32ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Int32Array, input);\n/** @ignore */ export const toUint8ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Uint8Array, input);\n/** @ignore */ export const toUint16ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Uint16Array, input);\n/** @ignore */ export const toUint32ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Uint32Array, input);\n/** @ignore */ export const toFloat32ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Float32Array, input);\n/** @ignore */ export const toFloat64ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Float64Array, input);\n/** @ignore */ export const toUint8ClampedArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Uint8ClampedArray, input);\n/** @ignore */\nexport function rebaseValueOffsets(offset, length, valueOffsets) {\n // If we have a non-zero offset, create a new offsets array with the values\n // shifted by the start offset, such that the new start offset is 0\n if (offset !== 0) {\n valueOffsets = valueOffsets.slice(0, length + 1);\n for (let i = -1; ++i <= length;) {\n valueOffsets[i] += offset;\n }\n }\n return valueOffsets;\n}\n/** @ignore */\nexport function compareArrayLike(a, b) {\n let i = 0;\n const n = a.length;\n if (n !== b.length) {\n return false;\n }\n if (n > 0) {\n do {\n if (a[i] !== b[i]) {\n return false;\n }\n } while (++i < n);\n }\n return true;\n}\n\n//# sourceMappingURL=buffer.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { __asyncGenerator, __await, __awaiter } from \"tslib\";\nimport { toUint8Array, joinUint8Arrays, toUint8ArrayIterator, toUint8ArrayAsyncIterator } from '../util/buffer.mjs';\n/** @ignore */\nexport default {\n fromIterable(source) {\n return pump(fromIterable(source));\n },\n fromAsyncIterable(source) {\n return pump(fromAsyncIterable(source));\n },\n fromDOMStream(source) {\n return pump(fromDOMStream(source));\n },\n fromNodeStream(stream) {\n return pump(fromNodeStream(stream));\n },\n // @ts-ignore\n toDOMStream(source, options) {\n throw new Error(`\"toDOMStream\" not available in this environment`);\n },\n // @ts-ignore\n toNodeStream(source, options) {\n throw new Error(`\"toNodeStream\" not available in this environment`);\n },\n};\n/** @ignore */\nconst pump = (iterator) => { iterator.next(); return iterator; };\n/** @ignore */\nfunction* fromIterable(source) {\n let done, threw = false;\n let buffers = [], buffer;\n let cmd, size, bufferLength = 0;\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n // Yield so the caller can inject the read command before creating the source Iterator\n ({ cmd, size } = yield null);\n // initialize the iterator\n const it = toUint8ArrayIterator(source)[Symbol.iterator]();\n try {\n do {\n // read the next value\n ({ done, value: buffer } = Number.isNaN(size - bufferLength) ?\n it.next() : it.next(size - bufferLength));\n // if chunk is not null or empty, push it onto the queue\n if (!done && buffer.byteLength > 0) {\n buffers.push(buffer);\n bufferLength += buffer.byteLength;\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n }\n catch (e) {\n (threw = true) && (typeof it.throw === 'function') && (it.throw(e));\n }\n finally {\n (threw === false) && (typeof it.return === 'function') && (it.return(null));\n }\n return null;\n}\n/** @ignore */\nfunction fromAsyncIterable(source) {\n return __asyncGenerator(this, arguments, function* fromAsyncIterable_1() {\n let done, threw = false;\n let buffers = [], buffer;\n let cmd, size, bufferLength = 0;\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n // Yield so the caller can inject the read command before creating the source AsyncIterator\n ({ cmd, size } = (yield yield __await(null)));\n // initialize the iterator\n const it = toUint8ArrayAsyncIterator(source)[Symbol.asyncIterator]();\n try {\n do {\n // read the next value\n ({ done, value: buffer } = Number.isNaN(size - bufferLength)\n ? yield __await(it.next())\n : yield __await(it.next(size - bufferLength)));\n // if chunk is not null or empty, push it onto the queue\n if (!done && buffer.byteLength > 0) {\n buffers.push(buffer);\n bufferLength += buffer.byteLength;\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield yield __await(byteRange()));\n } while (size < bufferLength);\n }\n } while (!done);\n }\n catch (e) {\n (threw = true) && (typeof it.throw === 'function') && (yield __await(it.throw(e)));\n }\n finally {\n (threw === false) && (typeof it.return === 'function') && (yield __await(it.return(new Uint8Array(0))));\n }\n return yield __await(null);\n });\n}\n// All this manual Uint8Array chunk management can be avoided if/when engines\n// add support for ArrayBuffer.transfer() or ArrayBuffer.prototype.realloc():\n// https://github.com/domenic/proposal-arraybuffer-transfer\n/** @ignore */\nfunction fromDOMStream(source) {\n return __asyncGenerator(this, arguments, function* fromDOMStream_1() {\n let done = false, threw = false;\n let buffers = [], buffer;\n let cmd, size, bufferLength = 0;\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n // Yield so the caller can inject the read command before we establish the ReadableStream lock\n ({ cmd, size } = yield yield __await(null));\n // initialize the reader and lock the stream\n const it = new AdaptiveByteReader(source);\n try {\n do {\n // read the next value\n ({ done, value: buffer } = Number.isNaN(size - bufferLength)\n ? yield __await(it['read']())\n : yield __await(it['read'](size - bufferLength)));\n // if chunk is not null or empty, push it onto the queue\n if (!done && buffer.byteLength > 0) {\n buffers.push(toUint8Array(buffer));\n bufferLength += buffer.byteLength;\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield yield __await(byteRange()));\n } while (size < bufferLength);\n }\n } while (!done);\n }\n catch (e) {\n (threw = true) && (yield __await(it['cancel'](e)));\n }\n finally {\n (threw === false) ? (yield __await(it['cancel']()))\n : source['locked'] && it.releaseLock();\n }\n return yield __await(null);\n });\n}\n/** @ignore */\nclass AdaptiveByteReader {\n constructor(source) {\n this.source = source;\n this.reader = null;\n this.reader = this.source['getReader']();\n // We have to catch and swallow errors here to avoid uncaught promise rejection exceptions\n // that seem to be raised when we call `releaseLock()` on this reader. I'm still mystified\n // about why these errors are raised, but I'm sure there's some important spec reason that\n // I haven't considered. I hate to employ such an anti-pattern here, but it seems like the\n // only solution in this case :/\n this.reader['closed'].catch(() => { });\n }\n get closed() {\n return this.reader ? this.reader['closed'].catch(() => { }) : Promise.resolve();\n }\n releaseLock() {\n if (this.reader) {\n this.reader.releaseLock();\n }\n this.reader = null;\n }\n cancel(reason) {\n return __awaiter(this, void 0, void 0, function* () {\n const { reader, source } = this;\n reader && (yield reader['cancel'](reason).catch(() => { }));\n source && (source['locked'] && this.releaseLock());\n });\n }\n read(size) {\n return __awaiter(this, void 0, void 0, function* () {\n if (size === 0) {\n return { done: this.reader == null, value: new Uint8Array(0) };\n }\n const result = yield this.reader.read();\n !result.done && (result.value = toUint8Array(result));\n return result;\n });\n }\n}\n/** @ignore */\nconst onEvent = (stream, event) => {\n const handler = (_) => resolve([event, _]);\n let resolve;\n return [event, handler, new Promise((r) => (resolve = r) && stream['once'](event, handler))];\n};\n/** @ignore */\nfunction fromNodeStream(stream) {\n return __asyncGenerator(this, arguments, function* fromNodeStream_1() {\n const events = [];\n let event = 'error';\n let done = false, err = null;\n let cmd, size, bufferLength = 0;\n let buffers = [], buffer;\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n // Yield so the caller can inject the read command before we\n // add the listener for the source stream's 'readable' event.\n ({ cmd, size } = yield yield __await(null));\n // ignore stdin if it's a TTY\n if (stream['isTTY']) {\n yield yield __await(new Uint8Array(0));\n return yield __await(null);\n }\n try {\n // initialize the stream event handlers\n events[0] = onEvent(stream, 'end');\n events[1] = onEvent(stream, 'error');\n do {\n events[2] = onEvent(stream, 'readable');\n // wait on the first message event from the stream\n [event, err] = yield __await(Promise.race(events.map((x) => x[2])));\n // if the stream emitted an Error, rethrow it\n if (event === 'error') {\n break;\n }\n if (!(done = event === 'end')) {\n // If the size is NaN, request to read everything in the stream's internal buffer\n if (!Number.isFinite(size - bufferLength)) {\n buffer = toUint8Array(stream['read']());\n }\n else {\n buffer = toUint8Array(stream['read'](size - bufferLength));\n // If the byteLength is 0, then the requested amount is more than the stream has\n // in its internal buffer. In this case the stream needs a \"kick\" to tell it to\n // continue emitting readable events, so request to read everything the stream\n // has in its internal buffer right now.\n if (buffer.byteLength < (size - bufferLength)) {\n buffer = toUint8Array(stream['read']());\n }\n }\n // if chunk is not null or empty, push it onto the queue\n if (buffer.byteLength > 0) {\n buffers.push(buffer);\n bufferLength += buffer.byteLength;\n }\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield yield __await(byteRange()));\n } while (size < bufferLength);\n }\n } while (!done);\n }\n finally {\n yield __await(cleanup(events, event === 'error' ? err : null));\n }\n return yield __await(null);\n function cleanup(events, err) {\n buffer = buffers = null;\n return new Promise((resolve, reject) => {\n for (const [evt, fn] of events) {\n stream['off'](evt, fn);\n }\n try {\n // Some stream implementations don't call the destroy callback,\n // because it's really a node-internal API. Just calling `destroy`\n // here should be enough to conform to the ReadableStream contract\n const destroy = stream['destroy'];\n destroy && destroy.call(stream, err);\n err = undefined;\n }\n catch (e) {\n err = e || err;\n }\n finally {\n err != null ? reject(err) : resolve();\n }\n });\n }\n });\n}\n\n//# sourceMappingURL=adapters.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n////\n//\n// A few enums copied from `fb/Schema.ts` and `fb/Message.ts` because Webpack\n// v4 doesn't seem to be able to tree-shake the rest of those exports.\n//\n// We will have to keep these enums in sync when we re-generate the flatbuffers\n// code from the shchemas. See js/DEVELOP.md for info on how to run flatbuffers\n// code generation.\n//\n////\n/**\n * Logical types, vector layouts, and schemas\n *\n * @enum {number}\n */\nexport var MetadataVersion;\n(function (MetadataVersion) {\n /**\n * 0.1.0 (October 2016).\n */\n MetadataVersion[MetadataVersion[\"V1\"] = 0] = \"V1\";\n /**\n * 0.2.0 (February 2017). Non-backwards compatible with V1.\n */\n MetadataVersion[MetadataVersion[\"V2\"] = 1] = \"V2\";\n /**\n * 0.3.0 -> 0.7.1 (May - December 2017). Non-backwards compatible with V2.\n */\n MetadataVersion[MetadataVersion[\"V3\"] = 2] = \"V3\";\n /**\n * >= 0.8.0 (December 2017). Non-backwards compatible with V3.\n */\n MetadataVersion[MetadataVersion[\"V4\"] = 3] = \"V4\";\n /**\n * >= 1.0.0 (July 2020. Backwards compatible with V4 (V5 readers can read V4\n * metadata and IPC messages). Implementations are recommended to provide a\n * V4 compatibility mode with V5 format changes disabled.\n *\n * Incompatible changes between V4 and V5:\n * - Union buffer layout has changed. In V5, Unions don't have a validity\n * bitmap buffer.\n */\n MetadataVersion[MetadataVersion[\"V5\"] = 4] = \"V5\";\n})(MetadataVersion || (MetadataVersion = {}));\n/**\n * @enum {number}\n */\nexport var UnionMode;\n(function (UnionMode) {\n UnionMode[UnionMode[\"Sparse\"] = 0] = \"Sparse\";\n UnionMode[UnionMode[\"Dense\"] = 1] = \"Dense\";\n})(UnionMode || (UnionMode = {}));\n/**\n * @enum {number}\n */\nexport var Precision;\n(function (Precision) {\n Precision[Precision[\"HALF\"] = 0] = \"HALF\";\n Precision[Precision[\"SINGLE\"] = 1] = \"SINGLE\";\n Precision[Precision[\"DOUBLE\"] = 2] = \"DOUBLE\";\n})(Precision || (Precision = {}));\n/**\n * @enum {number}\n */\nexport var DateUnit;\n(function (DateUnit) {\n DateUnit[DateUnit[\"DAY\"] = 0] = \"DAY\";\n DateUnit[DateUnit[\"MILLISECOND\"] = 1] = \"MILLISECOND\";\n})(DateUnit || (DateUnit = {}));\n/**\n * @enum {number}\n */\nexport var TimeUnit;\n(function (TimeUnit) {\n TimeUnit[TimeUnit[\"SECOND\"] = 0] = \"SECOND\";\n TimeUnit[TimeUnit[\"MILLISECOND\"] = 1] = \"MILLISECOND\";\n TimeUnit[TimeUnit[\"MICROSECOND\"] = 2] = \"MICROSECOND\";\n TimeUnit[TimeUnit[\"NANOSECOND\"] = 3] = \"NANOSECOND\";\n})(TimeUnit || (TimeUnit = {}));\n/**\n * @enum {number}\n */\nexport var IntervalUnit;\n(function (IntervalUnit) {\n IntervalUnit[IntervalUnit[\"YEAR_MONTH\"] = 0] = \"YEAR_MONTH\";\n IntervalUnit[IntervalUnit[\"DAY_TIME\"] = 1] = \"DAY_TIME\";\n IntervalUnit[IntervalUnit[\"MONTH_DAY_NANO\"] = 2] = \"MONTH_DAY_NANO\";\n})(IntervalUnit || (IntervalUnit = {}));\n/**\n * ----------------------------------------------------------------------\n * The root Message type\n * This union enables us to easily send different message types without\n * redundant storage, and in the future we can easily add new message types.\n *\n * Arrow implementations do not need to implement all of the message types,\n * which may include experimental metadata types. For maximum compatibility,\n * it is best to send data using RecordBatch\n *\n * @enum {number}\n */\nexport var MessageHeader;\n(function (MessageHeader) {\n MessageHeader[MessageHeader[\"NONE\"] = 0] = \"NONE\";\n MessageHeader[MessageHeader[\"Schema\"] = 1] = \"Schema\";\n MessageHeader[MessageHeader[\"DictionaryBatch\"] = 2] = \"DictionaryBatch\";\n MessageHeader[MessageHeader[\"RecordBatch\"] = 3] = \"RecordBatch\";\n MessageHeader[MessageHeader[\"Tensor\"] = 4] = \"Tensor\";\n MessageHeader[MessageHeader[\"SparseTensor\"] = 5] = \"SparseTensor\";\n})(MessageHeader || (MessageHeader = {}));\n/**\n * Main data type enumeration.\n *\n * Data types in this library are all *logical*. They can be expressed as\n * either a primitive physical type (bytes or bits of some fixed size), a\n * nested type consisting of other data types, or another data type (e.g. a\n * timestamp encoded as an int64).\n *\n * **Note**: Only enum values 0-17 (NONE through Map) are written to an Arrow\n * IPC payload.\n *\n * The rest of the values are specified here so TypeScript can narrow the type\n * signatures further beyond the base Arrow Types. The Arrow DataTypes include\n * metadata like `bitWidth` that impact the type signatures of the values we\n * accept and return.\n *\n * For example, the `Int8Vector` reads 1-byte numbers from an `Int8Array`, an\n * `Int32Vector` reads a 4-byte number from an `Int32Array`, and an `Int64Vector`\n * reads a pair of 4-byte lo, hi 32-bit integers as a zero-copy slice from the\n * underlying `Int32Array`.\n *\n * Library consumers benefit by knowing the narrowest type, since we can ensure\n * the types across all public methods are propagated, and never bail to `any`.\n * These values are _never_ used at runtime, and they will _never_ be written\n * to the flatbuffers metadata of serialized Arrow IPC payloads.\n */\nexport var Type;\n(function (Type) {\n Type[Type[\"NONE\"] = 0] = \"NONE\";\n Type[Type[\"Null\"] = 1] = \"Null\";\n Type[Type[\"Int\"] = 2] = \"Int\";\n Type[Type[\"Float\"] = 3] = \"Float\";\n Type[Type[\"Binary\"] = 4] = \"Binary\";\n Type[Type[\"Utf8\"] = 5] = \"Utf8\";\n Type[Type[\"Bool\"] = 6] = \"Bool\";\n Type[Type[\"Decimal\"] = 7] = \"Decimal\";\n Type[Type[\"Date\"] = 8] = \"Date\";\n Type[Type[\"Time\"] = 9] = \"Time\";\n Type[Type[\"Timestamp\"] = 10] = \"Timestamp\";\n Type[Type[\"Interval\"] = 11] = \"Interval\";\n Type[Type[\"List\"] = 12] = \"List\";\n Type[Type[\"Struct\"] = 13] = \"Struct\";\n Type[Type[\"Union\"] = 14] = \"Union\";\n Type[Type[\"FixedSizeBinary\"] = 15] = \"FixedSizeBinary\";\n Type[Type[\"FixedSizeList\"] = 16] = \"FixedSizeList\";\n Type[Type[\"Map\"] = 17] = \"Map\";\n Type[Type[\"Dictionary\"] = -1] = \"Dictionary\";\n Type[Type[\"Int8\"] = -2] = \"Int8\";\n Type[Type[\"Int16\"] = -3] = \"Int16\";\n Type[Type[\"Int32\"] = -4] = \"Int32\";\n Type[Type[\"Int64\"] = -5] = \"Int64\";\n Type[Type[\"Uint8\"] = -6] = \"Uint8\";\n Type[Type[\"Uint16\"] = -7] = \"Uint16\";\n Type[Type[\"Uint32\"] = -8] = \"Uint32\";\n Type[Type[\"Uint64\"] = -9] = \"Uint64\";\n Type[Type[\"Float16\"] = -10] = \"Float16\";\n Type[Type[\"Float32\"] = -11] = \"Float32\";\n Type[Type[\"Float64\"] = -12] = \"Float64\";\n Type[Type[\"DateDay\"] = -13] = \"DateDay\";\n Type[Type[\"DateMillisecond\"] = -14] = \"DateMillisecond\";\n Type[Type[\"TimestampSecond\"] = -15] = \"TimestampSecond\";\n Type[Type[\"TimestampMillisecond\"] = -16] = \"TimestampMillisecond\";\n Type[Type[\"TimestampMicrosecond\"] = -17] = \"TimestampMicrosecond\";\n Type[Type[\"TimestampNanosecond\"] = -18] = \"TimestampNanosecond\";\n Type[Type[\"TimeSecond\"] = -19] = \"TimeSecond\";\n Type[Type[\"TimeMillisecond\"] = -20] = \"TimeMillisecond\";\n Type[Type[\"TimeMicrosecond\"] = -21] = \"TimeMicrosecond\";\n Type[Type[\"TimeNanosecond\"] = -22] = \"TimeNanosecond\";\n Type[Type[\"DenseUnion\"] = -23] = \"DenseUnion\";\n Type[Type[\"SparseUnion\"] = -24] = \"SparseUnion\";\n Type[Type[\"IntervalDayTime\"] = -25] = \"IntervalDayTime\";\n Type[Type[\"IntervalYearMonth\"] = -26] = \"IntervalYearMonth\";\n})(Type || (Type = {}));\nexport var BufferType;\n(function (BufferType) {\n /**\n * used in List type, Dense Union and variable length primitive types (String, Binary)\n */\n BufferType[BufferType[\"OFFSET\"] = 0] = \"OFFSET\";\n /**\n * actual data, either wixed width primitive types in slots or variable width delimited by an OFFSET vector\n */\n BufferType[BufferType[\"DATA\"] = 1] = \"DATA\";\n /**\n * Bit vector indicating if each value is null\n */\n BufferType[BufferType[\"VALIDITY\"] = 2] = \"VALIDITY\";\n /**\n * Type vector used in Union type\n */\n BufferType[BufferType[\"TYPE\"] = 3] = \"TYPE\";\n})(BufferType || (BufferType = {}));\n\n//# sourceMappingURL=enum.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { BigInt64Array, BigUint64Array } from './compat.mjs';\n/** @ignore */ const undf = void (0);\n/** @ignore */\nexport function valueToString(x) {\n if (x === null) {\n return 'null';\n }\n if (x === undf) {\n return 'undefined';\n }\n switch (typeof x) {\n case 'number': return `${x}`;\n case 'bigint': return `${x}`;\n case 'string': return `\"${x}\"`;\n }\n // If [Symbol.toPrimitive] is implemented (like in BN)\n // use it instead of JSON.stringify(). This ensures we\n // print BigInts, Decimals, and Binary in their native\n // representation\n if (typeof x[Symbol.toPrimitive] === 'function') {\n return x[Symbol.toPrimitive]('string');\n }\n if (ArrayBuffer.isView(x)) {\n if (x instanceof BigInt64Array || x instanceof BigUint64Array) {\n return `[${[...x].map(x => valueToString(x))}]`;\n }\n return `[${x}]`;\n }\n return ArrayBuffer.isView(x) ? `[${x}]` : JSON.stringify(x, (_, y) => typeof y === 'bigint' ? `${y}` : y);\n}\n\n//# sourceMappingURL=pretty.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { toArrayBufferView } from './buffer.mjs';\nimport { BigIntAvailable, BigInt64Array, BigUint64Array } from './compat.mjs';\n/** @ignore */\nexport const isArrowBigNumSymbol = Symbol.for('isArrowBigNum');\n/** @ignore */\nfunction BigNum(x, ...xs) {\n if (xs.length === 0) {\n return Object.setPrototypeOf(toArrayBufferView(this['TypedArray'], x), this.constructor.prototype);\n }\n return Object.setPrototypeOf(new this['TypedArray'](x, ...xs), this.constructor.prototype);\n}\nBigNum.prototype[isArrowBigNumSymbol] = true;\nBigNum.prototype.toJSON = function () { return `\"${bignumToString(this)}\"`; };\nBigNum.prototype.valueOf = function () { return bignumToNumber(this); };\nBigNum.prototype.toString = function () { return bignumToString(this); };\nBigNum.prototype[Symbol.toPrimitive] = function (hint = 'default') {\n switch (hint) {\n case 'number': return bignumToNumber(this);\n case 'string': return bignumToString(this);\n case 'default': return bignumToBigInt(this);\n }\n // @ts-ignore\n return bignumToString(this);\n};\n/** @ignore */\nfunction SignedBigNum(...args) { return BigNum.apply(this, args); }\n/** @ignore */\nfunction UnsignedBigNum(...args) { return BigNum.apply(this, args); }\n/** @ignore */\nfunction DecimalBigNum(...args) { return BigNum.apply(this, args); }\nObject.setPrototypeOf(SignedBigNum.prototype, Object.create(Int32Array.prototype));\nObject.setPrototypeOf(UnsignedBigNum.prototype, Object.create(Uint32Array.prototype));\nObject.setPrototypeOf(DecimalBigNum.prototype, Object.create(Uint32Array.prototype));\nObject.assign(SignedBigNum.prototype, BigNum.prototype, { 'constructor': SignedBigNum, 'signed': true, 'TypedArray': Int32Array, 'BigIntArray': BigInt64Array });\nObject.assign(UnsignedBigNum.prototype, BigNum.prototype, { 'constructor': UnsignedBigNum, 'signed': false, 'TypedArray': Uint32Array, 'BigIntArray': BigUint64Array });\nObject.assign(DecimalBigNum.prototype, BigNum.prototype, { 'constructor': DecimalBigNum, 'signed': true, 'TypedArray': Uint32Array, 'BigIntArray': BigUint64Array });\n/** @ignore */\nfunction bignumToNumber(bn) {\n const { buffer, byteOffset, length, 'signed': signed } = bn;\n const words = new BigUint64Array(buffer, byteOffset, length);\n const negative = signed && words[words.length - 1] & (BigInt(1) << BigInt(63));\n let number = negative ? BigInt(1) : BigInt(0);\n let i = BigInt(0);\n if (!negative) {\n for (const word of words) {\n number += word * (BigInt(1) << (BigInt(32) * i++));\n }\n }\n else {\n for (const word of words) {\n number += ~word * (BigInt(1) << (BigInt(32) * i++));\n }\n number *= BigInt(-1);\n }\n return number;\n}\n/** @ignore */\nexport let bignumToString;\n/** @ignore */\nexport let bignumToBigInt;\nif (!BigIntAvailable) {\n bignumToString = decimalToString;\n bignumToBigInt = bignumToString;\n}\nelse {\n bignumToBigInt = ((a) => a.byteLength === 8 ? new a['BigIntArray'](a.buffer, a.byteOffset, 1)[0] : decimalToString(a));\n bignumToString = ((a) => a.byteLength === 8 ? `${new a['BigIntArray'](a.buffer, a.byteOffset, 1)[0]}` : decimalToString(a));\n}\n/** @ignore */\nfunction decimalToString(a) {\n let digits = '';\n const base64 = new Uint32Array(2);\n let base32 = new Uint16Array(a.buffer, a.byteOffset, a.byteLength / 2);\n const checks = new Uint32Array((base32 = new Uint16Array(base32).reverse()).buffer);\n let i = -1;\n const n = base32.length - 1;\n do {\n for (base64[0] = base32[i = 0]; i < n;) {\n base32[i++] = base64[1] = base64[0] / 10;\n base64[0] = ((base64[0] - base64[1] * 10) << 16) + base32[i];\n }\n base32[i] = base64[1] = base64[0] / 10;\n base64[0] = base64[0] - base64[1] * 10;\n digits = `${base64[0]}${digits}`;\n } while (checks[0] || checks[1] || checks[2] || checks[3]);\n return digits !== null && digits !== void 0 ? digits : `0`;\n}\n/** @ignore */\nexport class BN {\n /** @nocollapse */\n static new(num, isSigned) {\n switch (isSigned) {\n case true: return new SignedBigNum(num);\n case false: return new UnsignedBigNum(num);\n }\n switch (num.constructor) {\n case Int8Array:\n case Int16Array:\n case Int32Array:\n case BigInt64Array:\n return new SignedBigNum(num);\n }\n if (num.byteLength === 16) {\n return new DecimalBigNum(num);\n }\n return new UnsignedBigNum(num);\n }\n /** @nocollapse */\n static signed(num) {\n return new SignedBigNum(num);\n }\n /** @nocollapse */\n static unsigned(num) {\n return new UnsignedBigNum(num);\n }\n /** @nocollapse */\n static decimal(num) {\n return new DecimalBigNum(num);\n }\n constructor(num, isSigned) {\n return BN.new(num, isSigned);\n }\n}\n\n//# sourceMappingURL=bn.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nvar _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;\nimport { BigInt64Array, BigUint64Array } from './util/compat.mjs';\nimport { Type, Precision, UnionMode, DateUnit, TimeUnit, IntervalUnit } from './enum.mjs';\n/**\n * An abstract base class for classes that encapsulate metadata about each of\n * the logical types that Arrow can represent.\n */\nexport class DataType {\n /** @nocollapse */ static isNull(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Null; }\n /** @nocollapse */ static isInt(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Int; }\n /** @nocollapse */ static isFloat(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Float; }\n /** @nocollapse */ static isBinary(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Binary; }\n /** @nocollapse */ static isUtf8(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Utf8; }\n /** @nocollapse */ static isBool(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Bool; }\n /** @nocollapse */ static isDecimal(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Decimal; }\n /** @nocollapse */ static isDate(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Date; }\n /** @nocollapse */ static isTime(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Time; }\n /** @nocollapse */ static isTimestamp(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Timestamp; }\n /** @nocollapse */ static isInterval(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Interval; }\n /** @nocollapse */ static isList(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.List; }\n /** @nocollapse */ static isStruct(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Struct; }\n /** @nocollapse */ static isUnion(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Union; }\n /** @nocollapse */ static isFixedSizeBinary(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.FixedSizeBinary; }\n /** @nocollapse */ static isFixedSizeList(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.FixedSizeList; }\n /** @nocollapse */ static isMap(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Map; }\n /** @nocollapse */ static isDictionary(x) { return (x === null || x === void 0 ? void 0 : x.typeId) === Type.Dictionary; }\n /** @nocollapse */ static isDenseUnion(x) { return DataType.isUnion(x) && x.mode === UnionMode.Dense; }\n /** @nocollapse */ static isSparseUnion(x) { return DataType.isUnion(x) && x.mode === UnionMode.Sparse; }\n get typeId() { return Type.NONE; }\n}\n_a = Symbol.toStringTag;\nDataType[_a] = ((proto) => {\n proto.children = null;\n proto.ArrayType = Array;\n return proto[Symbol.toStringTag] = 'DataType';\n})(DataType.prototype);\n/** @ignore */\nexport class Null extends DataType {\n toString() { return `Null`; }\n get typeId() { return Type.Null; }\n}\n_b = Symbol.toStringTag;\nNull[_b] = ((proto) => proto[Symbol.toStringTag] = 'Null')(Null.prototype);\n/** @ignore */\nclass Int_ extends DataType {\n constructor(isSigned, bitWidth) {\n super();\n this.isSigned = isSigned;\n this.bitWidth = bitWidth;\n }\n get typeId() { return Type.Int; }\n get ArrayType() {\n switch (this.bitWidth) {\n case 8: return this.isSigned ? Int8Array : Uint8Array;\n case 16: return this.isSigned ? Int16Array : Uint16Array;\n case 32: return this.isSigned ? Int32Array : Uint32Array;\n case 64: return this.isSigned ? BigInt64Array : BigUint64Array;\n }\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n toString() { return `${this.isSigned ? `I` : `Ui`}nt${this.bitWidth}`; }\n}\n_c = Symbol.toStringTag;\nInt_[_c] = ((proto) => {\n proto.isSigned = null;\n proto.bitWidth = null;\n return proto[Symbol.toStringTag] = 'Int';\n})(Int_.prototype);\nexport { Int_ as Int };\n/** @ignore */\nexport class Int8 extends Int_ {\n constructor() { super(true, 8); }\n get ArrayType() { return Int8Array; }\n}\n/** @ignore */\nexport class Int16 extends Int_ {\n constructor() { super(true, 16); }\n get ArrayType() { return Int16Array; }\n}\n/** @ignore */\nexport class Int32 extends Int_ {\n constructor() { super(true, 32); }\n get ArrayType() { return Int32Array; }\n}\n/** @ignore */\nexport class Int64 extends Int_ {\n constructor() { super(true, 64); }\n get ArrayType() { return BigInt64Array; }\n}\n/** @ignore */\nexport class Uint8 extends Int_ {\n constructor() { super(false, 8); }\n get ArrayType() { return Uint8Array; }\n}\n/** @ignore */\nexport class Uint16 extends Int_ {\n constructor() { super(false, 16); }\n get ArrayType() { return Uint16Array; }\n}\n/** @ignore */\nexport class Uint32 extends Int_ {\n constructor() { super(false, 32); }\n get ArrayType() { return Uint32Array; }\n}\n/** @ignore */\nexport class Uint64 extends Int_ {\n constructor() { super(false, 64); }\n get ArrayType() { return BigUint64Array; }\n}\nObject.defineProperty(Int8.prototype, 'ArrayType', { value: Int8Array });\nObject.defineProperty(Int16.prototype, 'ArrayType', { value: Int16Array });\nObject.defineProperty(Int32.prototype, 'ArrayType', { value: Int32Array });\nObject.defineProperty(Int64.prototype, 'ArrayType', { value: BigInt64Array });\nObject.defineProperty(Uint8.prototype, 'ArrayType', { value: Uint8Array });\nObject.defineProperty(Uint16.prototype, 'ArrayType', { value: Uint16Array });\nObject.defineProperty(Uint32.prototype, 'ArrayType', { value: Uint32Array });\nObject.defineProperty(Uint64.prototype, 'ArrayType', { value: BigUint64Array });\n/** @ignore */\nexport class Float extends DataType {\n constructor(precision) {\n super();\n this.precision = precision;\n }\n get typeId() { return Type.Float; }\n get ArrayType() {\n switch (this.precision) {\n case Precision.HALF: return Uint16Array;\n case Precision.SINGLE: return Float32Array;\n case Precision.DOUBLE: return Float64Array;\n }\n // @ts-ignore\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n toString() { return `Float${(this.precision << 5) || 16}`; }\n}\n_d = Symbol.toStringTag;\nFloat[_d] = ((proto) => {\n proto.precision = null;\n return proto[Symbol.toStringTag] = 'Float';\n})(Float.prototype);\n/** @ignore */\nexport class Float16 extends Float {\n constructor() { super(Precision.HALF); }\n}\n/** @ignore */\nexport class Float32 extends Float {\n constructor() { super(Precision.SINGLE); }\n}\n/** @ignore */\nexport class Float64 extends Float {\n constructor() { super(Precision.DOUBLE); }\n}\nObject.defineProperty(Float16.prototype, 'ArrayType', { value: Uint16Array });\nObject.defineProperty(Float32.prototype, 'ArrayType', { value: Float32Array });\nObject.defineProperty(Float64.prototype, 'ArrayType', { value: Float64Array });\n/** @ignore */\nexport class Binary extends DataType {\n constructor() {\n super();\n }\n get typeId() { return Type.Binary; }\n toString() { return `Binary`; }\n}\n_e = Symbol.toStringTag;\nBinary[_e] = ((proto) => {\n proto.ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Binary';\n})(Binary.prototype);\n/** @ignore */\nexport class Utf8 extends DataType {\n constructor() {\n super();\n }\n get typeId() { return Type.Utf8; }\n toString() { return `Utf8`; }\n}\n_f = Symbol.toStringTag;\nUtf8[_f] = ((proto) => {\n proto.ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Utf8';\n})(Utf8.prototype);\n/** @ignore */\nexport class Bool extends DataType {\n constructor() {\n super();\n }\n get typeId() { return Type.Bool; }\n toString() { return `Bool`; }\n}\n_g = Symbol.toStringTag;\nBool[_g] = ((proto) => {\n proto.ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Bool';\n})(Bool.prototype);\n/** @ignore */\nexport class Decimal extends DataType {\n constructor(scale, precision, bitWidth = 128) {\n super();\n this.scale = scale;\n this.precision = precision;\n this.bitWidth = bitWidth;\n }\n get typeId() { return Type.Decimal; }\n toString() { return `Decimal[${this.precision}e${this.scale > 0 ? `+` : ``}${this.scale}]`; }\n}\n_h = Symbol.toStringTag;\nDecimal[_h] = ((proto) => {\n proto.scale = null;\n proto.precision = null;\n proto.ArrayType = Uint32Array;\n return proto[Symbol.toStringTag] = 'Decimal';\n})(Decimal.prototype);\n/** @ignore */\nexport class Date_ extends DataType {\n constructor(unit) {\n super();\n this.unit = unit;\n }\n get typeId() { return Type.Date; }\n toString() { return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`; }\n}\n_j = Symbol.toStringTag;\nDate_[_j] = ((proto) => {\n proto.unit = null;\n proto.ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Date';\n})(Date_.prototype);\n/** @ignore */\nexport class DateDay extends Date_ {\n constructor() { super(DateUnit.DAY); }\n}\n/** @ignore */\nexport class DateMillisecond extends Date_ {\n constructor() { super(DateUnit.MILLISECOND); }\n}\n/** @ignore */\nclass Time_ extends DataType {\n constructor(unit, bitWidth) {\n super();\n this.unit = unit;\n this.bitWidth = bitWidth;\n }\n get typeId() { return Type.Time; }\n toString() { return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`; }\n get ArrayType() {\n switch (this.bitWidth) {\n case 32: return Int32Array;\n case 64: return BigInt64Array;\n }\n // @ts-ignore\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n}\n_k = Symbol.toStringTag;\nTime_[_k] = ((proto) => {\n proto.unit = null;\n proto.bitWidth = null;\n return proto[Symbol.toStringTag] = 'Time';\n})(Time_.prototype);\nexport { Time_ as Time };\n/** @ignore */\nexport class TimeSecond extends Time_ {\n constructor() { super(TimeUnit.SECOND, 32); }\n}\n/** @ignore */\nexport class TimeMillisecond extends Time_ {\n constructor() { super(TimeUnit.MILLISECOND, 32); }\n}\n/** @ignore */\nexport class TimeMicrosecond extends Time_ {\n constructor() { super(TimeUnit.MICROSECOND, 64); }\n}\n/** @ignore */\nexport class TimeNanosecond extends Time_ {\n constructor() { super(TimeUnit.NANOSECOND, 64); }\n}\n/** @ignore */\nclass Timestamp_ extends DataType {\n constructor(unit, timezone) {\n super();\n this.unit = unit;\n this.timezone = timezone;\n }\n get typeId() { return Type.Timestamp; }\n toString() { return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ``}>`; }\n}\n_l = Symbol.toStringTag;\nTimestamp_[_l] = ((proto) => {\n proto.unit = null;\n proto.timezone = null;\n proto.ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Timestamp';\n})(Timestamp_.prototype);\nexport { Timestamp_ as Timestamp };\n/** @ignore */\nexport class TimestampSecond extends Timestamp_ {\n constructor(timezone) { super(TimeUnit.SECOND, timezone); }\n}\n/** @ignore */\nexport class TimestampMillisecond extends Timestamp_ {\n constructor(timezone) { super(TimeUnit.MILLISECOND, timezone); }\n}\n/** @ignore */\nexport class TimestampMicrosecond extends Timestamp_ {\n constructor(timezone) { super(TimeUnit.MICROSECOND, timezone); }\n}\n/** @ignore */\nexport class TimestampNanosecond extends Timestamp_ {\n constructor(timezone) { super(TimeUnit.NANOSECOND, timezone); }\n}\n/** @ignore */\nclass Interval_ extends DataType {\n constructor(unit) {\n super();\n this.unit = unit;\n }\n get typeId() { return Type.Interval; }\n toString() { return `Interval<${IntervalUnit[this.unit]}>`; }\n}\n_m = Symbol.toStringTag;\nInterval_[_m] = ((proto) => {\n proto.unit = null;\n proto.ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Interval';\n})(Interval_.prototype);\nexport { Interval_ as Interval };\n/** @ignore */\nexport class IntervalDayTime extends Interval_ {\n constructor() { super(IntervalUnit.DAY_TIME); }\n}\n/** @ignore */\nexport class IntervalYearMonth extends Interval_ {\n constructor() { super(IntervalUnit.YEAR_MONTH); }\n}\n/** @ignore */\nexport class List extends DataType {\n constructor(child) {\n super();\n this.children = [child];\n }\n get typeId() { return Type.List; }\n toString() { return `List<${this.valueType}>`; }\n get valueType() { return this.children[0].type; }\n get valueField() { return this.children[0]; }\n get ArrayType() { return this.valueType.ArrayType; }\n}\n_o = Symbol.toStringTag;\nList[_o] = ((proto) => {\n proto.children = null;\n return proto[Symbol.toStringTag] = 'List';\n})(List.prototype);\n/** @ignore */\nexport class Struct extends DataType {\n constructor(children) {\n super();\n this.children = children;\n }\n get typeId() { return Type.Struct; }\n toString() { return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }\n}\n_p = Symbol.toStringTag;\nStruct[_p] = ((proto) => {\n proto.children = null;\n return proto[Symbol.toStringTag] = 'Struct';\n})(Struct.prototype);\n/** @ignore */\nclass Union_ extends DataType {\n constructor(mode, typeIds, children) {\n super();\n this.mode = mode;\n this.children = children;\n this.typeIds = typeIds = Int32Array.from(typeIds);\n this.typeIdToChildIndex = typeIds.reduce((typeIdToChildIndex, typeId, idx) => (typeIdToChildIndex[typeId] = idx) && typeIdToChildIndex || typeIdToChildIndex, Object.create(null));\n }\n get typeId() { return Type.Union; }\n toString() {\n return `${this[Symbol.toStringTag]}<${this.children.map((x) => `${x.type}`).join(` | `)}>`;\n }\n}\n_q = Symbol.toStringTag;\nUnion_[_q] = ((proto) => {\n proto.mode = null;\n proto.typeIds = null;\n proto.children = null;\n proto.typeIdToChildIndex = null;\n proto.ArrayType = Int8Array;\n return proto[Symbol.toStringTag] = 'Union';\n})(Union_.prototype);\nexport { Union_ as Union };\n/** @ignore */\nexport class DenseUnion extends Union_ {\n constructor(typeIds, children) {\n super(UnionMode.Dense, typeIds, children);\n }\n}\n/** @ignore */\nexport class SparseUnion extends Union_ {\n constructor(typeIds, children) {\n super(UnionMode.Sparse, typeIds, children);\n }\n}\n/** @ignore */\nexport class FixedSizeBinary extends DataType {\n constructor(byteWidth) {\n super();\n this.byteWidth = byteWidth;\n }\n get typeId() { return Type.FixedSizeBinary; }\n toString() { return `FixedSizeBinary[${this.byteWidth}]`; }\n}\n_r = Symbol.toStringTag;\nFixedSizeBinary[_r] = ((proto) => {\n proto.byteWidth = null;\n proto.ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'FixedSizeBinary';\n})(FixedSizeBinary.prototype);\n/** @ignore */\nexport class FixedSizeList extends DataType {\n constructor(listSize, child) {\n super();\n this.listSize = listSize;\n this.children = [child];\n }\n get typeId() { return Type.FixedSizeList; }\n get valueType() { return this.children[0].type; }\n get valueField() { return this.children[0]; }\n get ArrayType() { return this.valueType.ArrayType; }\n toString() { return `FixedSizeList[${this.listSize}]<${this.valueType}>`; }\n}\n_s = Symbol.toStringTag;\nFixedSizeList[_s] = ((proto) => {\n proto.children = null;\n proto.listSize = null;\n return proto[Symbol.toStringTag] = 'FixedSizeList';\n})(FixedSizeList.prototype);\n/** @ignore */\nexport class Map_ extends DataType {\n constructor(child, keysSorted = false) {\n super();\n this.children = [child];\n this.keysSorted = keysSorted;\n }\n get typeId() { return Type.Map; }\n get keyType() { return this.children[0].type.children[0].type; }\n get valueType() { return this.children[0].type.children[1].type; }\n get childType() { return this.children[0].type; }\n toString() { return `Map<{${this.children[0].type.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }\n}\n_t = Symbol.toStringTag;\nMap_[_t] = ((proto) => {\n proto.children = null;\n proto.keysSorted = null;\n return proto[Symbol.toStringTag] = 'Map_';\n})(Map_.prototype);\n/** @ignore */\nconst getId = ((atomicDictionaryId) => () => ++atomicDictionaryId)(-1);\n/** @ignore */\nexport class Dictionary extends DataType {\n constructor(dictionary, indices, id, isOrdered) {\n super();\n this.indices = indices;\n this.dictionary = dictionary;\n this.isOrdered = isOrdered || false;\n this.id = id == null ? getId() : (typeof id === 'number' ? id : id.low);\n }\n get typeId() { return Type.Dictionary; }\n get children() { return this.dictionary.children; }\n get valueType() { return this.dictionary; }\n get ArrayType() { return this.dictionary.ArrayType; }\n toString() { return `Dictionary<${this.indices}, ${this.dictionary}>`; }\n}\n_u = Symbol.toStringTag;\nDictionary[_u] = ((proto) => {\n proto.id = null;\n proto.indices = null;\n proto.isOrdered = null;\n proto.dictionary = null;\n return proto[Symbol.toStringTag] = 'Dictionary';\n})(Dictionary.prototype);\n/** @ignore */\nexport function strideForType(type) {\n const t = type;\n switch (type.typeId) {\n case Type.Decimal: return type.bitWidth / 32;\n case Type.Timestamp: return 2;\n case Type.Date: return 1 + t.unit;\n case Type.Interval: return 1 + t.unit;\n // case Type.Int: return 1 + +((t as Int_).bitWidth > 32);\n // case Type.Time: return 1 + +((t as Time_).bitWidth > 32);\n case Type.FixedSizeList: return t.listSize;\n case Type.FixedSizeBinary: return t.byteWidth;\n default: return 1;\n }\n}\n\n//# sourceMappingURL=type.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { Type, Precision, DateUnit, TimeUnit, IntervalUnit, UnionMode } from './enum.mjs';\nimport { DataType, } from './type.mjs';\nexport class Visitor {\n visitMany(nodes, ...args) {\n return nodes.map((node, i) => this.visit(node, ...args.map((x) => x[i])));\n }\n visit(...args) {\n return this.getVisitFn(args[0], false).apply(this, args);\n }\n getVisitFn(node, throwIfNotFound = true) {\n return getVisitFn(this, node, throwIfNotFound);\n }\n getVisitFnByTypeId(typeId, throwIfNotFound = true) {\n return getVisitFnByTypeId(this, typeId, throwIfNotFound);\n }\n visitNull(_node, ..._args) { return null; }\n visitBool(_node, ..._args) { return null; }\n visitInt(_node, ..._args) { return null; }\n visitFloat(_node, ..._args) { return null; }\n visitUtf8(_node, ..._args) { return null; }\n visitBinary(_node, ..._args) { return null; }\n visitFixedSizeBinary(_node, ..._args) { return null; }\n visitDate(_node, ..._args) { return null; }\n visitTimestamp(_node, ..._args) { return null; }\n visitTime(_node, ..._args) { return null; }\n visitDecimal(_node, ..._args) { return null; }\n visitList(_node, ..._args) { return null; }\n visitStruct(_node, ..._args) { return null; }\n visitUnion(_node, ..._args) { return null; }\n visitDictionary(_node, ..._args) { return null; }\n visitInterval(_node, ..._args) { return null; }\n visitFixedSizeList(_node, ..._args) { return null; }\n visitMap(_node, ..._args) { return null; }\n}\n/** @ignore */\nfunction getVisitFn(visitor, node, throwIfNotFound = true) {\n if (typeof node === 'number') {\n return getVisitFnByTypeId(visitor, node, throwIfNotFound);\n }\n if (typeof node === 'string' && (node in Type)) {\n return getVisitFnByTypeId(visitor, Type[node], throwIfNotFound);\n }\n if (node && (node instanceof DataType)) {\n return getVisitFnByTypeId(visitor, inferDType(node), throwIfNotFound);\n }\n if ((node === null || node === void 0 ? void 0 : node.type) && (node.type instanceof DataType)) {\n return getVisitFnByTypeId(visitor, inferDType(node.type), throwIfNotFound);\n }\n return getVisitFnByTypeId(visitor, Type.NONE, throwIfNotFound);\n}\n/** @ignore */\nfunction getVisitFnByTypeId(visitor, dtype, throwIfNotFound = true) {\n let fn = null;\n switch (dtype) {\n case Type.Null:\n fn = visitor.visitNull;\n break;\n case Type.Bool:\n fn = visitor.visitBool;\n break;\n case Type.Int:\n fn = visitor.visitInt;\n break;\n case Type.Int8:\n fn = visitor.visitInt8 || visitor.visitInt;\n break;\n case Type.Int16:\n fn = visitor.visitInt16 || visitor.visitInt;\n break;\n case Type.Int32:\n fn = visitor.visitInt32 || visitor.visitInt;\n break;\n case Type.Int64:\n fn = visitor.visitInt64 || visitor.visitInt;\n break;\n case Type.Uint8:\n fn = visitor.visitUint8 || visitor.visitInt;\n break;\n case Type.Uint16:\n fn = visitor.visitUint16 || visitor.visitInt;\n break;\n case Type.Uint32:\n fn = visitor.visitUint32 || visitor.visitInt;\n break;\n case Type.Uint64:\n fn = visitor.visitUint64 || visitor.visitInt;\n break;\n case Type.Float:\n fn = visitor.visitFloat;\n break;\n case Type.Float16:\n fn = visitor.visitFloat16 || visitor.visitFloat;\n break;\n case Type.Float32:\n fn = visitor.visitFloat32 || visitor.visitFloat;\n break;\n case Type.Float64:\n fn = visitor.visitFloat64 || visitor.visitFloat;\n break;\n case Type.Utf8:\n fn = visitor.visitUtf8;\n break;\n case Type.Binary:\n fn = visitor.visitBinary;\n break;\n case Type.FixedSizeBinary:\n fn = visitor.visitFixedSizeBinary;\n break;\n case Type.Date:\n fn = visitor.visitDate;\n break;\n case Type.DateDay:\n fn = visitor.visitDateDay || visitor.visitDate;\n break;\n case Type.DateMillisecond:\n fn = visitor.visitDateMillisecond || visitor.visitDate;\n break;\n case Type.Timestamp:\n fn = visitor.visitTimestamp;\n break;\n case Type.TimestampSecond:\n fn = visitor.visitTimestampSecond || visitor.visitTimestamp;\n break;\n case Type.TimestampMillisecond:\n fn = visitor.visitTimestampMillisecond || visitor.visitTimestamp;\n break;\n case Type.TimestampMicrosecond:\n fn = visitor.visitTimestampMicrosecond || visitor.visitTimestamp;\n break;\n case Type.TimestampNanosecond:\n fn = visitor.visitTimestampNanosecond || visitor.visitTimestamp;\n break;\n case Type.Time:\n fn = visitor.visitTime;\n break;\n case Type.TimeSecond:\n fn = visitor.visitTimeSecond || visitor.visitTime;\n break;\n case Type.TimeMillisecond:\n fn = visitor.visitTimeMillisecond || visitor.visitTime;\n break;\n case Type.TimeMicrosecond:\n fn = visitor.visitTimeMicrosecond || visitor.visitTime;\n break;\n case Type.TimeNanosecond:\n fn = visitor.visitTimeNanosecond || visitor.visitTime;\n break;\n case Type.Decimal:\n fn = visitor.visitDecimal;\n break;\n case Type.List:\n fn = visitor.visitList;\n break;\n case Type.Struct:\n fn = visitor.visitStruct;\n break;\n case Type.Union:\n fn = visitor.visitUnion;\n break;\n case Type.DenseUnion:\n fn = visitor.visitDenseUnion || visitor.visitUnion;\n break;\n case Type.SparseUnion:\n fn = visitor.visitSparseUnion || visitor.visitUnion;\n break;\n case Type.Dictionary:\n fn = visitor.visitDictionary;\n break;\n case Type.Interval:\n fn = visitor.visitInterval;\n break;\n case Type.IntervalDayTime:\n fn = visitor.visitIntervalDayTime || visitor.visitInterval;\n break;\n case Type.IntervalYearMonth:\n fn = visitor.visitIntervalYearMonth || visitor.visitInterval;\n break;\n case Type.FixedSizeList:\n fn = visitor.visitFixedSizeList;\n break;\n case Type.Map:\n fn = visitor.visitMap;\n break;\n }\n if (typeof fn === 'function')\n return fn;\n if (!throwIfNotFound)\n return () => null;\n throw new Error(`Unrecognized type '${Type[dtype]}'`);\n}\n/** @ignore */\nfunction inferDType(type) {\n switch (type.typeId) {\n case Type.Null: return Type.Null;\n case Type.Int: {\n const { bitWidth, isSigned } = type;\n switch (bitWidth) {\n case 8: return isSigned ? Type.Int8 : Type.Uint8;\n case 16: return isSigned ? Type.Int16 : Type.Uint16;\n case 32: return isSigned ? Type.Int32 : Type.Uint32;\n case 64: return isSigned ? Type.Int64 : Type.Uint64;\n }\n // @ts-ignore\n return Type.Int;\n }\n case Type.Float:\n switch (type.precision) {\n case Precision.HALF: return Type.Float16;\n case Precision.SINGLE: return Type.Float32;\n case Precision.DOUBLE: return Type.Float64;\n }\n // @ts-ignore\n return Type.Float;\n case Type.Binary: return Type.Binary;\n case Type.Utf8: return Type.Utf8;\n case Type.Bool: return Type.Bool;\n case Type.Decimal: return Type.Decimal;\n case Type.Time:\n switch (type.unit) {\n case TimeUnit.SECOND: return Type.TimeSecond;\n case TimeUnit.MILLISECOND: return Type.TimeMillisecond;\n case TimeUnit.MICROSECOND: return Type.TimeMicrosecond;\n case TimeUnit.NANOSECOND: return Type.TimeNanosecond;\n }\n // @ts-ignore\n return Type.Time;\n case Type.Timestamp:\n switch (type.unit) {\n case TimeUnit.SECOND: return Type.TimestampSecond;\n case TimeUnit.MILLISECOND: return Type.TimestampMillisecond;\n case TimeUnit.MICROSECOND: return Type.TimestampMicrosecond;\n case TimeUnit.NANOSECOND: return Type.TimestampNanosecond;\n }\n // @ts-ignore\n return Type.Timestamp;\n case Type.Date:\n switch (type.unit) {\n case DateUnit.DAY: return Type.DateDay;\n case DateUnit.MILLISECOND: return Type.DateMillisecond;\n }\n // @ts-ignore\n return Type.Date;\n case Type.Interval:\n switch (type.unit) {\n case IntervalUnit.DAY_TIME: return Type.IntervalDayTime;\n case IntervalUnit.YEAR_MONTH: return Type.IntervalYearMonth;\n }\n // @ts-ignore\n return Type.Interval;\n case Type.Map: return Type.Map;\n case Type.List: return Type.List;\n case Type.Struct: return Type.Struct;\n case Type.Union:\n switch (type.mode) {\n case UnionMode.Dense: return Type.DenseUnion;\n case UnionMode.Sparse: return Type.SparseUnion;\n }\n // @ts-ignore\n return Type.Union;\n case Type.FixedSizeBinary: return Type.FixedSizeBinary;\n case Type.FixedSizeList: return Type.FixedSizeList;\n case Type.Dictionary: return Type.Dictionary;\n }\n throw new Error(`Unrecognized type '${Type[type.typeId]}'`);\n}\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\nVisitor.prototype.visitInt8 = null;\nVisitor.prototype.visitInt16 = null;\nVisitor.prototype.visitInt32 = null;\nVisitor.prototype.visitInt64 = null;\nVisitor.prototype.visitUint8 = null;\nVisitor.prototype.visitUint16 = null;\nVisitor.prototype.visitUint32 = null;\nVisitor.prototype.visitUint64 = null;\nVisitor.prototype.visitFloat16 = null;\nVisitor.prototype.visitFloat32 = null;\nVisitor.prototype.visitFloat64 = null;\nVisitor.prototype.visitDateDay = null;\nVisitor.prototype.visitDateMillisecond = null;\nVisitor.prototype.visitTimestampSecond = null;\nVisitor.prototype.visitTimestampMillisecond = null;\nVisitor.prototype.visitTimestampMicrosecond = null;\nVisitor.prototype.visitTimestampNanosecond = null;\nVisitor.prototype.visitTimeSecond = null;\nVisitor.prototype.visitTimeMillisecond = null;\nVisitor.prototype.visitTimeMicrosecond = null;\nVisitor.prototype.visitTimeNanosecond = null;\nVisitor.prototype.visitDenseUnion = null;\nVisitor.prototype.visitSparseUnion = null;\nVisitor.prototype.visitIntervalDayTime = null;\nVisitor.prototype.visitIntervalYearMonth = null;\n\n//# sourceMappingURL=visitor.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nconst f64 = new Float64Array(1);\nconst u32 = new Uint32Array(f64.buffer);\n/**\n * Convert uint16 (logically a float16) to a JS float64. Inspired by numpy's `npy_half_to_double`:\n * https://github.com/numpy/numpy/blob/5a5987291dc95376bb098be8d8e5391e89e77a2c/numpy/core/src/npymath/halffloat.c#L29\n * @param h {number} the uint16 to convert\n * @private\n * @ignore\n */\nexport function uint16ToFloat64(h) {\n const expo = (h & 0x7C00) >> 10;\n const sigf = (h & 0x03FF) / 1024;\n const sign = Math.pow((-1), ((h & 0x8000) >> 15));\n switch (expo) {\n case 0x1F: return sign * (sigf ? Number.NaN : 1 / 0);\n case 0x00: return sign * (sigf ? 6.103515625e-5 * sigf : 0);\n }\n return sign * (Math.pow(2, (expo - 15))) * (1 + sigf);\n}\n/**\n * Convert a float64 to uint16 (assuming the float64 is logically a float16). Inspired by numpy's `npy_double_to_half`:\n * https://github.com/numpy/numpy/blob/5a5987291dc95376bb098be8d8e5391e89e77a2c/numpy/core/src/npymath/halffloat.c#L43\n * @param d {number} The float64 to convert\n * @private\n * @ignore\n */\nexport function float64ToUint16(d) {\n if (d !== d) {\n return 0x7E00;\n } // NaN\n f64[0] = d;\n // Magic numbers:\n // 0x80000000 = 10000000 00000000 00000000 00000000 -- masks the 32nd bit\n // 0x7ff00000 = 01111111 11110000 00000000 00000000 -- masks the 21st-31st bits\n // 0x000fffff = 00000000 00001111 11111111 11111111 -- masks the 1st-20th bit\n const sign = (u32[1] & 0x80000000) >> 16 & 0xFFFF;\n let expo = (u32[1] & 0x7FF00000), sigf = 0x0000;\n if (expo >= 0x40F00000) {\n //\n // If exponent overflowed, the float16 is either NaN or Infinity.\n // Rules to propagate the sign bit: mantissa > 0 ? NaN : +/-Infinity\n //\n // Magic numbers:\n // 0x40F00000 = 01000000 11110000 00000000 00000000 -- 6-bit exponent overflow\n // 0x7C000000 = 01111100 00000000 00000000 00000000 -- masks the 27th-31st bits\n //\n // returns:\n // qNaN, aka 32256 decimal, 0x7E00 hex, or 01111110 00000000 binary\n // sNaN, aka 32000 decimal, 0x7D00 hex, or 01111101 00000000 binary\n // +inf, aka 31744 decimal, 0x7C00 hex, or 01111100 00000000 binary\n // -inf, aka 64512 decimal, 0xFC00 hex, or 11111100 00000000 binary\n //\n // If mantissa is greater than 23 bits, set to +Infinity like numpy\n if (u32[0] > 0) {\n expo = 0x7C00;\n }\n else {\n expo = (expo & 0x7C000000) >> 16;\n sigf = (u32[1] & 0x000FFFFF) >> 10;\n }\n }\n else if (expo <= 0x3F000000) {\n //\n // If exponent underflowed, the float is either signed zero or subnormal.\n //\n // Magic numbers:\n // 0x3F000000 = 00111111 00000000 00000000 00000000 -- 6-bit exponent underflow\n //\n sigf = 0x100000 + (u32[1] & 0x000FFFFF);\n sigf = 0x100000 + (sigf << ((expo >> 20) - 998)) >> 21;\n expo = 0;\n }\n else {\n //\n // No overflow or underflow, rebase the exponent and round the mantissa\n // Magic numbers:\n // 0x200 = 00000010 00000000 -- masks off the 10th bit\n //\n // Ensure the first mantissa bit (the 10th one) is 1 and round\n expo = (expo - 0x3F000000) >> 10;\n sigf = ((u32[1] & 0x000FFFFF) + 0x200) >> 10;\n }\n return sign | expo | sigf & 0xFFFF;\n}\n\n//# sourceMappingURL=math.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { Vector } from '../vector.mjs';\nimport { Visitor } from '../visitor.mjs';\nimport { encodeUtf8 } from '../util/utf8.mjs';\nimport { float64ToUint16 } from '../util/math.mjs';\nimport { UnionMode, Precision, DateUnit, TimeUnit, IntervalUnit } from '../enum.mjs';\n/** @ignore */\nexport class SetVisitor extends Visitor {\n}\n/** @ignore */\nfunction wrapSet(fn) {\n return (data, _1, _2) => {\n if (data.setValid(_1, _2 != null)) {\n return fn(data, _1, _2);\n }\n };\n}\n/** @ignore */\nexport const setEpochMsToDays = (data, index, epochMs) => { data[index] = Math.trunc(epochMs / 86400000); };\n/** @ignore */\nexport const setEpochMsToMillisecondsLong = (data, index, epochMs) => {\n data[index] = Math.trunc(epochMs % 4294967296);\n data[index + 1] = Math.trunc(epochMs / 4294967296);\n};\n/** @ignore */\nexport const setEpochMsToMicrosecondsLong = (data, index, epochMs) => {\n data[index] = Math.trunc((epochMs * 1000) % 4294967296);\n data[index + 1] = Math.trunc((epochMs * 1000) / 4294967296);\n};\n/** @ignore */\nexport const setEpochMsToNanosecondsLong = (data, index, epochMs) => {\n data[index] = Math.trunc((epochMs * 1000000) % 4294967296);\n data[index + 1] = Math.trunc((epochMs * 1000000) / 4294967296);\n};\n/** @ignore */\nexport const setVariableWidthBytes = (values, valueOffsets, index, value) => {\n if (index + 1 < valueOffsets.length) {\n const { [index]: x, [index + 1]: y } = valueOffsets;\n values.set(value.subarray(0, y - x), x);\n }\n};\n/** @ignore */\nconst setBool = ({ offset, values }, index, val) => {\n const idx = offset + index;\n val ? (values[idx >> 3] |= (1 << (idx % 8))) // true\n : (values[idx >> 3] &= ~(1 << (idx % 8))); // false\n};\n/** @ignore */\nexport const setInt = ({ values }, index, value) => { values[index] = value; };\n/** @ignore */\nexport const setFloat = ({ values }, index, value) => { values[index] = value; };\n/** @ignore */\nexport const setFloat16 = ({ values }, index, value) => { values[index] = float64ToUint16(value); };\n/* istanbul ignore next */\n/** @ignore */\nexport const setAnyFloat = (data, index, value) => {\n switch (data.type.precision) {\n case Precision.HALF:\n return setFloat16(data, index, value);\n case Precision.SINGLE:\n case Precision.DOUBLE:\n return setFloat(data, index, value);\n }\n};\n/** @ignore */\nexport const setDateDay = ({ values }, index, value) => { setEpochMsToDays(values, index, value.valueOf()); };\n/** @ignore */\nexport const setDateMillisecond = ({ values }, index, value) => { setEpochMsToMillisecondsLong(values, index * 2, value.valueOf()); };\n/** @ignore */\nexport const setFixedSizeBinary = ({ stride, values }, index, value) => { values.set(value.subarray(0, stride), stride * index); };\n/** @ignore */\nconst setBinary = ({ values, valueOffsets }, index, value) => setVariableWidthBytes(values, valueOffsets, index, value);\n/** @ignore */\nconst setUtf8 = ({ values, valueOffsets }, index, value) => {\n setVariableWidthBytes(values, valueOffsets, index, encodeUtf8(value));\n};\n/* istanbul ignore next */\nexport const setDate = (data, index, value) => {\n data.type.unit === DateUnit.DAY\n ? setDateDay(data, index, value)\n : setDateMillisecond(data, index, value);\n};\n/** @ignore */\nexport const setTimestampSecond = ({ values }, index, value) => setEpochMsToMillisecondsLong(values, index * 2, value / 1000);\n/** @ignore */\nexport const setTimestampMillisecond = ({ values }, index, value) => setEpochMsToMillisecondsLong(values, index * 2, value);\n/** @ignore */\nexport const setTimestampMicrosecond = ({ values }, index, value) => setEpochMsToMicrosecondsLong(values, index * 2, value);\n/** @ignore */\nexport const setTimestampNanosecond = ({ values }, index, value) => setEpochMsToNanosecondsLong(values, index * 2, value);\n/* istanbul ignore next */\n/** @ignore */\nexport const setTimestamp = (data, index, value) => {\n switch (data.type.unit) {\n case TimeUnit.SECOND: return setTimestampSecond(data, index, value);\n case TimeUnit.MILLISECOND: return setTimestampMillisecond(data, index, value);\n case TimeUnit.MICROSECOND: return setTimestampMicrosecond(data, index, value);\n case TimeUnit.NANOSECOND: return setTimestampNanosecond(data, index, value);\n }\n};\n/** @ignore */\nexport const setTimeSecond = ({ values }, index, value) => { values[index] = value; };\n/** @ignore */\nexport const setTimeMillisecond = ({ values }, index, value) => { values[index] = value; };\n/** @ignore */\nexport const setTimeMicrosecond = ({ values }, index, value) => { values[index] = value; };\n/** @ignore */\nexport const setTimeNanosecond = ({ values }, index, value) => { values[index] = value; };\n/* istanbul ignore next */\n/** @ignore */\nexport const setTime = (data, index, value) => {\n switch (data.type.unit) {\n case TimeUnit.SECOND: return setTimeSecond(data, index, value);\n case TimeUnit.MILLISECOND: return setTimeMillisecond(data, index, value);\n case TimeUnit.MICROSECOND: return setTimeMicrosecond(data, index, value);\n case TimeUnit.NANOSECOND: return setTimeNanosecond(data, index, value);\n }\n};\n/** @ignore */\nexport const setDecimal = ({ values, stride }, index, value) => { values.set(value.subarray(0, stride), stride * index); };\n/** @ignore */\nconst setList = (data, index, value) => {\n const values = data.children[0];\n const valueOffsets = data.valueOffsets;\n const set = instance.getVisitFn(values);\n if (Array.isArray(value)) {\n for (let idx = -1, itr = valueOffsets[index], end = valueOffsets[index + 1]; itr < end;) {\n set(values, itr++, value[++idx]);\n }\n }\n else {\n for (let idx = -1, itr = valueOffsets[index], end = valueOffsets[index + 1]; itr < end;) {\n set(values, itr++, value.get(++idx));\n }\n }\n};\n/** @ignore */\nconst setMap = (data, index, value) => {\n const values = data.children[0];\n const { valueOffsets } = data;\n const set = instance.getVisitFn(values);\n let { [index]: idx, [index + 1]: end } = valueOffsets;\n const entries = value instanceof Map ? value.entries() : Object.entries(value);\n for (const val of entries) {\n set(values, idx, val);\n if (++idx >= end)\n break;\n }\n};\n/** @ignore */ const _setStructArrayValue = (o, v) => (set, c, _, i) => c && set(c, o, v[i]);\n/** @ignore */ const _setStructVectorValue = (o, v) => (set, c, _, i) => c && set(c, o, v.get(i));\n/** @ignore */ const _setStructMapValue = (o, v) => (set, c, f, _) => c && set(c, o, v.get(f.name));\n/** @ignore */ const _setStructObjectValue = (o, v) => (set, c, f, _) => c && set(c, o, v[f.name]);\n/** @ignore */\nconst setStruct = (data, index, value) => {\n const childSetters = data.type.children.map((f) => instance.getVisitFn(f.type));\n const set = value instanceof Map ? _setStructMapValue(index, value) :\n value instanceof Vector ? _setStructVectorValue(index, value) :\n Array.isArray(value) ? _setStructArrayValue(index, value) :\n _setStructObjectValue(index, value);\n // eslint-disable-next-line unicorn/no-array-for-each\n data.type.children.forEach((f, i) => set(childSetters[i], data.children[i], f, i));\n};\n/* istanbul ignore next */\n/** @ignore */\nconst setUnion = (data, index, value) => {\n data.type.mode === UnionMode.Dense ?\n setDenseUnion(data, index, value) :\n setSparseUnion(data, index, value);\n};\n/** @ignore */\nconst setDenseUnion = (data, index, value) => {\n const childIndex = data.type.typeIdToChildIndex[data.typeIds[index]];\n const child = data.children[childIndex];\n instance.visit(child, data.valueOffsets[index], value);\n};\n/** @ignore */\nconst setSparseUnion = (data, index, value) => {\n const childIndex = data.type.typeIdToChildIndex[data.typeIds[index]];\n const child = data.children[childIndex];\n instance.visit(child, index, value);\n};\n/** @ignore */\nconst setDictionary = (data, index, value) => {\n var _a;\n (_a = data.dictionary) === null || _a === void 0 ? void 0 : _a.set(data.values[index], value);\n};\n/* istanbul ignore next */\n/** @ignore */\nexport const setIntervalValue = (data, index, value) => {\n (data.type.unit === IntervalUnit.DAY_TIME)\n ? setIntervalDayTime(data, index, value)\n : setIntervalYearMonth(data, index, value);\n};\n/** @ignore */\nexport const setIntervalDayTime = ({ values }, index, value) => { values.set(value.subarray(0, 2), 2 * index); };\n/** @ignore */\nexport const setIntervalYearMonth = ({ values }, index, value) => { values[index] = (value[0] * 12) + (value[1] % 12); };\n/** @ignore */\nconst setFixedSizeList = (data, index, value) => {\n const { stride } = data;\n const child = data.children[0];\n const set = instance.getVisitFn(child);\n if (Array.isArray(value)) {\n for (let idx = -1, offset = index * stride; ++idx < stride;) {\n set(child, offset + idx, value[idx]);\n }\n }\n else {\n for (let idx = -1, offset = index * stride; ++idx < stride;) {\n set(child, offset + idx, value.get(idx));\n }\n }\n};\nSetVisitor.prototype.visitBool = wrapSet(setBool);\nSetVisitor.prototype.visitInt = wrapSet(setInt);\nSetVisitor.prototype.visitInt8 = wrapSet(setInt);\nSetVisitor.prototype.visitInt16 = wrapSet(setInt);\nSetVisitor.prototype.visitInt32 = wrapSet(setInt);\nSetVisitor.prototype.visitInt64 = wrapSet(setInt);\nSetVisitor.prototype.visitUint8 = wrapSet(setInt);\nSetVisitor.prototype.visitUint16 = wrapSet(setInt);\nSetVisitor.prototype.visitUint32 = wrapSet(setInt);\nSetVisitor.prototype.visitUint64 = wrapSet(setInt);\nSetVisitor.prototype.visitFloat = wrapSet(setAnyFloat);\nSetVisitor.prototype.visitFloat16 = wrapSet(setFloat16);\nSetVisitor.prototype.visitFloat32 = wrapSet(setFloat);\nSetVisitor.prototype.visitFloat64 = wrapSet(setFloat);\nSetVisitor.prototype.visitUtf8 = wrapSet(setUtf8);\nSetVisitor.prototype.visitBinary = wrapSet(setBinary);\nSetVisitor.prototype.visitFixedSizeBinary = wrapSet(setFixedSizeBinary);\nSetVisitor.prototype.visitDate = wrapSet(setDate);\nSetVisitor.prototype.visitDateDay = wrapSet(setDateDay);\nSetVisitor.prototype.visitDateMillisecond = wrapSet(setDateMillisecond);\nSetVisitor.prototype.visitTimestamp = wrapSet(setTimestamp);\nSetVisitor.prototype.visitTimestampSecond = wrapSet(setTimestampSecond);\nSetVisitor.prototype.visitTimestampMillisecond = wrapSet(setTimestampMillisecond);\nSetVisitor.prototype.visitTimestampMicrosecond = wrapSet(setTimestampMicrosecond);\nSetVisitor.prototype.visitTimestampNanosecond = wrapSet(setTimestampNanosecond);\nSetVisitor.prototype.visitTime = wrapSet(setTime);\nSetVisitor.prototype.visitTimeSecond = wrapSet(setTimeSecond);\nSetVisitor.prototype.visitTimeMillisecond = wrapSet(setTimeMillisecond);\nSetVisitor.prototype.visitTimeMicrosecond = wrapSet(setTimeMicrosecond);\nSetVisitor.prototype.visitTimeNanosecond = wrapSet(setTimeNanosecond);\nSetVisitor.prototype.visitDecimal = wrapSet(setDecimal);\nSetVisitor.prototype.visitList = wrapSet(setList);\nSetVisitor.prototype.visitStruct = wrapSet(setStruct);\nSetVisitor.prototype.visitUnion = wrapSet(setUnion);\nSetVisitor.prototype.visitDenseUnion = wrapSet(setDenseUnion);\nSetVisitor.prototype.visitSparseUnion = wrapSet(setSparseUnion);\nSetVisitor.prototype.visitDictionary = wrapSet(setDictionary);\nSetVisitor.prototype.visitInterval = wrapSet(setIntervalValue);\nSetVisitor.prototype.visitIntervalDayTime = wrapSet(setIntervalDayTime);\nSetVisitor.prototype.visitIntervalYearMonth = wrapSet(setIntervalYearMonth);\nSetVisitor.prototype.visitFixedSizeList = wrapSet(setFixedSizeList);\nSetVisitor.prototype.visitMap = wrapSet(setMap);\n/** @ignore */\nexport const instance = new SetVisitor();\n\n//# sourceMappingURL=set.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { valueToString } from '../util/pretty.mjs';\nimport { instance as getVisitor } from '../visitor/get.mjs';\nimport { instance as setVisitor } from '../visitor/set.mjs';\n/** @ignore */ const kParent = Symbol.for('parent');\n/** @ignore */ const kRowIndex = Symbol.for('rowIndex');\nexport class StructRow {\n constructor(parent, rowIndex) {\n this[kParent] = parent;\n this[kRowIndex] = rowIndex;\n return new Proxy(this, new StructRowProxyHandler());\n }\n toArray() { return Object.values(this.toJSON()); }\n toJSON() {\n const i = this[kRowIndex];\n const parent = this[kParent];\n const keys = parent.type.children;\n const json = {};\n for (let j = -1, n = keys.length; ++j < n;) {\n json[keys[j].name] = getVisitor.visit(parent.children[j], i);\n }\n return json;\n }\n toString() {\n return `{${[...this].map(([key, val]) => `${valueToString(key)}: ${valueToString(val)}`).join(', ')}}`;\n }\n [Symbol.for('nodejs.util.inspect.custom')]() {\n return this.toString();\n }\n [Symbol.iterator]() {\n return new StructRowIterator(this[kParent], this[kRowIndex]);\n }\n}\nclass StructRowIterator {\n constructor(data, rowIndex) {\n this.childIndex = 0;\n this.children = data.children;\n this.rowIndex = rowIndex;\n this.childFields = data.type.children;\n this.numChildren = this.childFields.length;\n }\n [Symbol.iterator]() { return this; }\n next() {\n const i = this.childIndex;\n if (i < this.numChildren) {\n this.childIndex = i + 1;\n return {\n done: false,\n value: [\n this.childFields[i].name,\n getVisitor.visit(this.children[i], this.rowIndex)\n ]\n };\n }\n return { done: true, value: null };\n }\n}\nObject.defineProperties(StructRow.prototype, {\n [Symbol.toStringTag]: { enumerable: false, configurable: false, value: 'Row' },\n [kParent]: { writable: true, enumerable: false, configurable: false, value: null },\n [kRowIndex]: { writable: true, enumerable: false, configurable: false, value: -1 },\n});\nclass StructRowProxyHandler {\n isExtensible() { return false; }\n deleteProperty() { return false; }\n preventExtensions() { return true; }\n ownKeys(row) {\n return row[kParent].type.children.map((f) => f.name);\n }\n has(row, key) {\n return row[kParent].type.children.findIndex((f) => f.name === key) !== -1;\n }\n getOwnPropertyDescriptor(row, key) {\n if (row[kParent].type.children.findIndex((f) => f.name === key) !== -1) {\n return { writable: true, enumerable: true, configurable: true };\n }\n return;\n }\n get(row, key) {\n // Look up key in row first\n if (Reflect.has(row, key)) {\n return row[key];\n }\n const idx = row[kParent].type.children.findIndex((f) => f.name === key);\n if (idx !== -1) {\n const val = getVisitor.visit(row[kParent].children[idx], row[kRowIndex]);\n // Cache key/val lookups\n Reflect.set(row, key, val);\n return val;\n }\n }\n set(row, key, val) {\n const idx = row[kParent].type.children.findIndex((f) => f.name === key);\n if (idx !== -1) {\n setVisitor.visit(row[kParent].children[idx], row[kRowIndex], val);\n // Cache key/val lookups\n return Reflect.set(row, key, val);\n }\n else if (Reflect.has(row, key) || typeof key === 'symbol') {\n return Reflect.set(row, key, val);\n }\n return false;\n }\n}\n\n//# sourceMappingURL=struct.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { BN } from '../util/bn.mjs';\nimport { Vector } from '../vector.mjs';\nimport { Visitor } from '../visitor.mjs';\nimport { MapRow } from '../row/map.mjs';\nimport { StructRow } from '../row/struct.mjs';\nimport { decodeUtf8 } from '../util/utf8.mjs';\nimport { uint16ToFloat64 } from '../util/math.mjs';\nimport { UnionMode, Precision, DateUnit, TimeUnit, IntervalUnit } from '../enum.mjs';\n/** @ignore */\nexport class GetVisitor extends Visitor {\n}\n/** @ignore */\nfunction wrapGet(fn) {\n return (data, _1) => data.getValid(_1) ? fn(data, _1) : null;\n}\n/** @ignore */ const epochDaysToMs = (data, index) => 86400000 * data[index];\n/** @ignore */ const epochMillisecondsLongToMs = (data, index) => 4294967296 * (data[index + 1]) + (data[index] >>> 0);\n/** @ignore */ const epochMicrosecondsLongToMs = (data, index) => 4294967296 * (data[index + 1] / 1000) + ((data[index] >>> 0) / 1000);\n/** @ignore */ const epochNanosecondsLongToMs = (data, index) => 4294967296 * (data[index + 1] / 1000000) + ((data[index] >>> 0) / 1000000);\n/** @ignore */ const epochMillisecondsToDate = (epochMs) => new Date(epochMs);\n/** @ignore */ const epochDaysToDate = (data, index) => epochMillisecondsToDate(epochDaysToMs(data, index));\n/** @ignore */ const epochMillisecondsLongToDate = (data, index) => epochMillisecondsToDate(epochMillisecondsLongToMs(data, index));\n/** @ignore */\nconst getNull = (_data, _index) => null;\n/** @ignore */\nconst getVariableWidthBytes = (values, valueOffsets, index) => {\n if (index + 1 >= valueOffsets.length) {\n return null;\n }\n const x = valueOffsets[index];\n const y = valueOffsets[index + 1];\n return values.subarray(x, y);\n};\n/** @ignore */\nconst getBool = ({ offset, values }, index) => {\n const idx = offset + index;\n const byte = values[idx >> 3];\n return (byte & 1 << (idx % 8)) !== 0;\n};\n/** @ignore */\nconst getDateDay = ({ values }, index) => epochDaysToDate(values, index);\n/** @ignore */\nconst getDateMillisecond = ({ values }, index) => epochMillisecondsLongToDate(values, index * 2);\n/** @ignore */\nconst getNumeric = ({ stride, values }, index) => values[stride * index];\n/** @ignore */\nconst getFloat16 = ({ stride, values }, index) => uint16ToFloat64(values[stride * index]);\n/** @ignore */\nconst getBigInts = ({ values }, index) => values[index];\n/** @ignore */\nconst getFixedSizeBinary = ({ stride, values }, index) => values.subarray(stride * index, stride * (index + 1));\n/** @ignore */\nconst getBinary = ({ values, valueOffsets }, index) => getVariableWidthBytes(values, valueOffsets, index);\n/** @ignore */\nconst getUtf8 = ({ values, valueOffsets }, index) => {\n const bytes = getVariableWidthBytes(values, valueOffsets, index);\n return bytes !== null ? decodeUtf8(bytes) : null;\n};\n/* istanbul ignore next */\n/** @ignore */\nconst getInt = ({ values }, index) => values[index];\n/* istanbul ignore next */\n/** @ignore */\nconst getFloat = ({ type, values }, index) => (type.precision !== Precision.HALF ? values[index] : uint16ToFloat64(values[index]));\n/* istanbul ignore next */\n/** @ignore */\nconst getDate = (data, index) => (data.type.unit === DateUnit.DAY\n ? getDateDay(data, index)\n : getDateMillisecond(data, index));\n/** @ignore */\nconst getTimestampSecond = ({ values }, index) => 1000 * epochMillisecondsLongToMs(values, index * 2);\n/** @ignore */\nconst getTimestampMillisecond = ({ values }, index) => epochMillisecondsLongToMs(values, index * 2);\n/** @ignore */\nconst getTimestampMicrosecond = ({ values }, index) => epochMicrosecondsLongToMs(values, index * 2);\n/** @ignore */\nconst getTimestampNanosecond = ({ values }, index) => epochNanosecondsLongToMs(values, index * 2);\n/* istanbul ignore next */\n/** @ignore */\nconst getTimestamp = (data, index) => {\n switch (data.type.unit) {\n case TimeUnit.SECOND: return getTimestampSecond(data, index);\n case TimeUnit.MILLISECOND: return getTimestampMillisecond(data, index);\n case TimeUnit.MICROSECOND: return getTimestampMicrosecond(data, index);\n case TimeUnit.NANOSECOND: return getTimestampNanosecond(data, index);\n }\n};\n/** @ignore */\nconst getTimeSecond = ({ values }, index) => values[index];\n/** @ignore */\nconst getTimeMillisecond = ({ values }, index) => values[index];\n/** @ignore */\nconst getTimeMicrosecond = ({ values }, index) => values[index];\n/** @ignore */\nconst getTimeNanosecond = ({ values }, index) => values[index];\n/* istanbul ignore next */\n/** @ignore */\nconst getTime = (data, index) => {\n switch (data.type.unit) {\n case TimeUnit.SECOND: return getTimeSecond(data, index);\n case TimeUnit.MILLISECOND: return getTimeMillisecond(data, index);\n case TimeUnit.MICROSECOND: return getTimeMicrosecond(data, index);\n case TimeUnit.NANOSECOND: return getTimeNanosecond(data, index);\n }\n};\n/** @ignore */\nconst getDecimal = ({ values, stride }, index) => BN.decimal(values.subarray(stride * index, stride * (index + 1)));\n/** @ignore */\nconst getList = (data, index) => {\n const { valueOffsets, stride, children } = data;\n const { [index * stride]: begin, [index * stride + 1]: end } = valueOffsets;\n const child = children[0];\n const slice = child.slice(begin, end - begin);\n return new Vector([slice]);\n};\n/** @ignore */\nconst getMap = (data, index) => {\n const { valueOffsets, children } = data;\n const { [index]: begin, [index + 1]: end } = valueOffsets;\n const child = children[0];\n return new MapRow(child.slice(begin, end - begin));\n};\n/** @ignore */\nconst getStruct = (data, index) => {\n return new StructRow(data, index);\n};\n/* istanbul ignore next */\n/** @ignore */\nconst getUnion = (data, index) => {\n return data.type.mode === UnionMode.Dense ?\n getDenseUnion(data, index) :\n getSparseUnion(data, index);\n};\n/** @ignore */\nconst getDenseUnion = (data, index) => {\n const childIndex = data.type.typeIdToChildIndex[data.typeIds[index]];\n const child = data.children[childIndex];\n return instance.visit(child, data.valueOffsets[index]);\n};\n/** @ignore */\nconst getSparseUnion = (data, index) => {\n const childIndex = data.type.typeIdToChildIndex[data.typeIds[index]];\n const child = data.children[childIndex];\n return instance.visit(child, index);\n};\n/** @ignore */\nconst getDictionary = (data, index) => {\n var _a;\n return (_a = data.dictionary) === null || _a === void 0 ? void 0 : _a.get(data.values[index]);\n};\n/* istanbul ignore next */\n/** @ignore */\nconst getInterval = (data, index) => (data.type.unit === IntervalUnit.DAY_TIME)\n ? getIntervalDayTime(data, index)\n : getIntervalYearMonth(data, index);\n/** @ignore */\nconst getIntervalDayTime = ({ values }, index) => values.subarray(2 * index, 2 * (index + 1));\n/** @ignore */\nconst getIntervalYearMonth = ({ values }, index) => {\n const interval = values[index];\n const int32s = new Int32Array(2);\n int32s[0] = Math.trunc(interval / 12); /* years */\n int32s[1] = Math.trunc(interval % 12); /* months */\n return int32s;\n};\n/** @ignore */\nconst getFixedSizeList = (data, index) => {\n const { stride, children } = data;\n const child = children[0];\n const slice = child.slice(index * stride, stride);\n return new Vector([slice]);\n};\nGetVisitor.prototype.visitNull = wrapGet(getNull);\nGetVisitor.prototype.visitBool = wrapGet(getBool);\nGetVisitor.prototype.visitInt = wrapGet(getInt);\nGetVisitor.prototype.visitInt8 = wrapGet(getNumeric);\nGetVisitor.prototype.visitInt16 = wrapGet(getNumeric);\nGetVisitor.prototype.visitInt32 = wrapGet(getNumeric);\nGetVisitor.prototype.visitInt64 = wrapGet(getBigInts);\nGetVisitor.prototype.visitUint8 = wrapGet(getNumeric);\nGetVisitor.prototype.visitUint16 = wrapGet(getNumeric);\nGetVisitor.prototype.visitUint32 = wrapGet(getNumeric);\nGetVisitor.prototype.visitUint64 = wrapGet(getBigInts);\nGetVisitor.prototype.visitFloat = wrapGet(getFloat);\nGetVisitor.prototype.visitFloat16 = wrapGet(getFloat16);\nGetVisitor.prototype.visitFloat32 = wrapGet(getNumeric);\nGetVisitor.prototype.visitFloat64 = wrapGet(getNumeric);\nGetVisitor.prototype.visitUtf8 = wrapGet(getUtf8);\nGetVisitor.prototype.visitBinary = wrapGet(getBinary);\nGetVisitor.prototype.visitFixedSizeBinary = wrapGet(getFixedSizeBinary);\nGetVisitor.prototype.visitDate = wrapGet(getDate);\nGetVisitor.prototype.visitDateDay = wrapGet(getDateDay);\nGetVisitor.prototype.visitDateMillisecond = wrapGet(getDateMillisecond);\nGetVisitor.prototype.visitTimestamp = wrapGet(getTimestamp);\nGetVisitor.prototype.visitTimestampSecond = wrapGet(getTimestampSecond);\nGetVisitor.prototype.visitTimestampMillisecond = wrapGet(getTimestampMillisecond);\nGetVisitor.prototype.visitTimestampMicrosecond = wrapGet(getTimestampMicrosecond);\nGetVisitor.prototype.visitTimestampNanosecond = wrapGet(getTimestampNanosecond);\nGetVisitor.prototype.visitTime = wrapGet(getTime);\nGetVisitor.prototype.visitTimeSecond = wrapGet(getTimeSecond);\nGetVisitor.prototype.visitTimeMillisecond = wrapGet(getTimeMillisecond);\nGetVisitor.prototype.visitTimeMicrosecond = wrapGet(getTimeMicrosecond);\nGetVisitor.prototype.visitTimeNanosecond = wrapGet(getTimeNanosecond);\nGetVisitor.prototype.visitDecimal = wrapGet(getDecimal);\nGetVisitor.prototype.visitList = wrapGet(getList);\nGetVisitor.prototype.visitStruct = wrapGet(getStruct);\nGetVisitor.prototype.visitUnion = wrapGet(getUnion);\nGetVisitor.prototype.visitDenseUnion = wrapGet(getDenseUnion);\nGetVisitor.prototype.visitSparseUnion = wrapGet(getSparseUnion);\nGetVisitor.prototype.visitDictionary = wrapGet(getDictionary);\nGetVisitor.prototype.visitInterval = wrapGet(getInterval);\nGetVisitor.prototype.visitIntervalDayTime = wrapGet(getIntervalDayTime);\nGetVisitor.prototype.visitIntervalYearMonth = wrapGet(getIntervalYearMonth);\nGetVisitor.prototype.visitFixedSizeList = wrapGet(getFixedSizeList);\nGetVisitor.prototype.visitMap = wrapGet(getMap);\n/** @ignore */\nexport const instance = new GetVisitor();\n\n//# sourceMappingURL=get.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { Vector } from '../vector.mjs';\nimport { valueToString } from '../util/pretty.mjs';\nimport { instance as getVisitor } from '../visitor/get.mjs';\nimport { instance as setVisitor } from '../visitor/set.mjs';\n/** @ignore */ export const kKeys = Symbol.for('keys');\n/** @ignore */ export const kVals = Symbol.for('vals');\nexport class MapRow {\n constructor(slice) {\n this[kKeys] = new Vector([slice.children[0]]).memoize();\n this[kVals] = slice.children[1];\n return new Proxy(this, new MapRowProxyHandler());\n }\n [Symbol.iterator]() {\n return new MapRowIterator(this[kKeys], this[kVals]);\n }\n get size() { return this[kKeys].length; }\n toArray() { return Object.values(this.toJSON()); }\n toJSON() {\n const keys = this[kKeys];\n const vals = this[kVals];\n const json = {};\n for (let i = -1, n = keys.length; ++i < n;) {\n json[keys.get(i)] = getVisitor.visit(vals, i);\n }\n return json;\n }\n toString() {\n return `{${[...this].map(([key, val]) => `${valueToString(key)}: ${valueToString(val)}`).join(', ')}}`;\n }\n [Symbol.for('nodejs.util.inspect.custom')]() {\n return this.toString();\n }\n}\nclass MapRowIterator {\n constructor(keys, vals) {\n this.keys = keys;\n this.vals = vals;\n this.keyIndex = 0;\n this.numKeys = keys.length;\n }\n [Symbol.iterator]() { return this; }\n next() {\n const i = this.keyIndex;\n if (i === this.numKeys) {\n return { done: true, value: null };\n }\n this.keyIndex++;\n return {\n done: false,\n value: [\n this.keys.get(i),\n getVisitor.visit(this.vals, i),\n ]\n };\n }\n}\n/** @ignore */\nclass MapRowProxyHandler {\n isExtensible() { return false; }\n deleteProperty() { return false; }\n preventExtensions() { return true; }\n ownKeys(row) {\n return row[kKeys].toArray().map(String);\n }\n has(row, key) {\n return row[kKeys].includes(key);\n }\n getOwnPropertyDescriptor(row, key) {\n const idx = row[kKeys].indexOf(key);\n if (idx !== -1) {\n return { writable: true, enumerable: true, configurable: true };\n }\n return;\n }\n get(row, key) {\n // Look up key in row first\n if (Reflect.has(row, key)) {\n return row[key];\n }\n const idx = row[kKeys].indexOf(key);\n if (idx !== -1) {\n const val = getVisitor.visit(Reflect.get(row, kVals), idx);\n // Cache key/val lookups\n Reflect.set(row, key, val);\n return val;\n }\n }\n set(row, key, val) {\n const idx = row[kKeys].indexOf(key);\n if (idx !== -1) {\n setVisitor.visit(Reflect.get(row, kVals), idx, val);\n // Cache key/val lookups\n return Reflect.set(row, key, val);\n }\n else if (Reflect.has(row, key)) {\n return Reflect.set(row, key, val);\n }\n return false;\n }\n}\nObject.defineProperties(MapRow.prototype, {\n [Symbol.toStringTag]: { enumerable: false, configurable: false, value: 'Row' },\n [kKeys]: { writable: true, enumerable: false, configurable: false, value: null },\n [kVals]: { writable: true, enumerable: false, configurable: false, value: null },\n});\n\n//# sourceMappingURL=map.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { Vector } from '../vector.mjs';\nimport { MapRow } from '../row/map.mjs';\nimport { StructRow } from '../row/struct.mjs';\nimport { compareArrayLike } from '../util/buffer.mjs';\n/** @ignore */\nexport function clampIndex(source, index, then) {\n const length = source.length;\n const adjust = index > -1 ? index : (length + (index % length));\n return then ? then(source, adjust) : adjust;\n}\n/** @ignore */\nlet tmp;\n/** @ignore */\nexport function clampRange(source, begin, end, then) {\n // Adjust args similar to Array.prototype.slice. Normalize begin/end to\n // clamp between 0 and length, and wrap around on negative indices, e.g.\n // slice(-1, 5) or slice(5, -1)\n const { length: len = 0 } = source;\n let lhs = typeof begin !== 'number' ? 0 : begin;\n let rhs = typeof end !== 'number' ? len : end;\n // wrap around on negative start/end positions\n (lhs < 0) && (lhs = ((lhs % len) + len) % len);\n (rhs < 0) && (rhs = ((rhs % len) + len) % len);\n // ensure lhs <= rhs\n (rhs < lhs) && (tmp = lhs, lhs = rhs, rhs = tmp);\n // ensure rhs <= length\n (rhs > len) && (rhs = len);\n return then ? then(source, lhs, rhs) : [lhs, rhs];\n}\nconst isNaNFast = (value) => value !== value;\n/** @ignore */\nexport function createElementComparator(search) {\n const typeofSearch = typeof search;\n // Compare primitives\n if (typeofSearch !== 'object' || search === null) {\n // Compare NaN\n if (isNaNFast(search)) {\n return isNaNFast;\n }\n return (value) => value === search;\n }\n // Compare Dates\n if (search instanceof Date) {\n const valueOfSearch = search.valueOf();\n return (value) => value instanceof Date ? (value.valueOf() === valueOfSearch) : false;\n }\n // Compare TypedArrays\n if (ArrayBuffer.isView(search)) {\n return (value) => value ? compareArrayLike(search, value) : false;\n }\n // Compare Maps and Rows\n if (search instanceof Map) {\n return createMapComparator(search);\n }\n // Compare Array-likes\n if (Array.isArray(search)) {\n return createArrayLikeComparator(search);\n }\n // Compare Vectors\n if (search instanceof Vector) {\n return createVectorComparator(search);\n }\n return createObjectComparator(search, true);\n // Compare non-empty Objects\n // return createObjectComparator(search, search instanceof Proxy);\n}\n/** @ignore */\nfunction createArrayLikeComparator(lhs) {\n const comparators = [];\n for (let i = -1, n = lhs.length; ++i < n;) {\n comparators[i] = createElementComparator(lhs[i]);\n }\n return createSubElementsComparator(comparators);\n}\n/** @ignore */\nfunction createMapComparator(lhs) {\n let i = -1;\n const comparators = [];\n for (const v of lhs.values())\n comparators[++i] = createElementComparator(v);\n return createSubElementsComparator(comparators);\n}\n/** @ignore */\nfunction createVectorComparator(lhs) {\n const comparators = [];\n for (let i = -1, n = lhs.length; ++i < n;) {\n comparators[i] = createElementComparator(lhs.get(i));\n }\n return createSubElementsComparator(comparators);\n}\n/** @ignore */\nfunction createObjectComparator(lhs, allowEmpty = false) {\n const keys = Object.keys(lhs);\n // Only compare non-empty Objects\n if (!allowEmpty && keys.length === 0) {\n return () => false;\n }\n const comparators = [];\n for (let i = -1, n = keys.length; ++i < n;) {\n comparators[i] = createElementComparator(lhs[keys[i]]);\n }\n return createSubElementsComparator(comparators, keys);\n}\nfunction createSubElementsComparator(comparators, keys) {\n return (rhs) => {\n if (!rhs || typeof rhs !== 'object') {\n return false;\n }\n switch (rhs.constructor) {\n case Array: return compareArray(comparators, rhs);\n case Map:\n return compareObject(comparators, rhs, rhs.keys());\n case MapRow:\n case StructRow:\n case Object:\n case undefined: // support `Object.create(null)` objects\n return compareObject(comparators, rhs, keys || Object.keys(rhs));\n }\n return rhs instanceof Vector ? compareVector(comparators, rhs) : false;\n };\n}\nfunction compareArray(comparators, arr) {\n const n = comparators.length;\n if (arr.length !== n) {\n return false;\n }\n for (let i = -1; ++i < n;) {\n if (!(comparators[i](arr[i]))) {\n return false;\n }\n }\n return true;\n}\nfunction compareVector(comparators, vec) {\n const n = comparators.length;\n if (vec.length !== n) {\n return false;\n }\n for (let i = -1; ++i < n;) {\n if (!(comparators[i](vec.get(i)))) {\n return false;\n }\n }\n return true;\n}\nfunction compareObject(comparators, obj, keys) {\n const lKeyItr = keys[Symbol.iterator]();\n const rKeyItr = obj instanceof Map ? obj.keys() : Object.keys(obj)[Symbol.iterator]();\n const rValItr = obj instanceof Map ? obj.values() : Object.values(obj)[Symbol.iterator]();\n let i = 0;\n const n = comparators.length;\n let rVal = rValItr.next();\n let lKey = lKeyItr.next();\n let rKey = rKeyItr.next();\n for (; i < n && !lKey.done && !rKey.done && !rVal.done; ++i, lKey = lKeyItr.next(), rKey = rKeyItr.next(), rVal = rValItr.next()) {\n if (lKey.value !== rKey.value || !comparators[i](rVal.value)) {\n break;\n }\n }\n if (i === n && lKey.done && rKey.done && rVal.done) {\n return true;\n }\n lKeyItr.return && lKeyItr.return();\n rKeyItr.return && rKeyItr.return();\n rValItr.return && rValItr.return();\n return false;\n}\n\n//# sourceMappingURL=vector.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n/** @ignore */\nexport function getBool(_data, _index, byte, bit) {\n return (byte & 1 << bit) !== 0;\n}\n/** @ignore */\nexport function getBit(_data, _index, byte, bit) {\n return (byte & 1 << bit) >> bit;\n}\n/** @ignore */\nexport function setBool(bytes, index, value) {\n return value ?\n !!(bytes[index >> 3] |= (1 << (index % 8))) || true :\n !(bytes[index >> 3] &= ~(1 << (index % 8))) && false;\n}\n/** @ignore */\nexport function truncateBitmap(offset, length, bitmap) {\n const alignedSize = (bitmap.byteLength + 7) & ~7;\n if (offset > 0 || bitmap.byteLength < alignedSize) {\n const bytes = new Uint8Array(alignedSize);\n // If the offset is a multiple of 8 bits, it's safe to slice the bitmap\n bytes.set(offset % 8 === 0 ? bitmap.subarray(offset >> 3) :\n // Otherwise iterate each bit from the offset and return a new one\n packBools(new BitIterator(bitmap, offset, length, null, getBool)).subarray(0, alignedSize));\n return bytes;\n }\n return bitmap;\n}\n/** @ignore */\nexport function packBools(values) {\n const xs = [];\n let i = 0, bit = 0, byte = 0;\n for (const value of values) {\n value && (byte |= 1 << bit);\n if (++bit === 8) {\n xs[i++] = byte;\n byte = bit = 0;\n }\n }\n if (i === 0 || bit > 0) {\n xs[i++] = byte;\n }\n const b = new Uint8Array((xs.length + 7) & ~7);\n b.set(xs);\n return b;\n}\n/** @ignore */\nexport class BitIterator {\n constructor(bytes, begin, length, context, get) {\n this.bytes = bytes;\n this.length = length;\n this.context = context;\n this.get = get;\n this.bit = begin % 8;\n this.byteIndex = begin >> 3;\n this.byte = bytes[this.byteIndex++];\n this.index = 0;\n }\n next() {\n if (this.index < this.length) {\n if (this.bit === 8) {\n this.bit = 0;\n this.byte = this.bytes[this.byteIndex++];\n }\n return {\n value: this.get(this.context, this.index++, this.byte, this.bit++)\n };\n }\n return { done: true, value: null };\n }\n [Symbol.iterator]() {\n return this;\n }\n}\n/**\n * Compute the population count (the number of bits set to 1) for a range of bits in a Uint8Array.\n * @param vector The Uint8Array of bits for which to compute the population count.\n * @param lhs The range's left-hand side (or start) bit\n * @param rhs The range's right-hand side (or end) bit\n */\n/** @ignore */\nexport function popcnt_bit_range(data, lhs, rhs) {\n if (rhs - lhs <= 0) {\n return 0;\n }\n // If the bit range is less than one byte, sum the 1 bits in the bit range\n if (rhs - lhs < 8) {\n let sum = 0;\n for (const bit of new BitIterator(data, lhs, rhs - lhs, data, getBit)) {\n sum += bit;\n }\n return sum;\n }\n // Get the next lowest multiple of 8 from the right hand side\n const rhsInside = rhs >> 3 << 3;\n // Get the next highest multiple of 8 from the left hand side\n const lhsInside = lhs + (lhs % 8 === 0 ? 0 : 8 - lhs % 8);\n return (\n // Get the popcnt of bits between the left hand side, and the next highest multiple of 8\n popcnt_bit_range(data, lhs, lhsInside) +\n // Get the popcnt of bits between the right hand side, and the next lowest multiple of 8\n popcnt_bit_range(data, rhsInside, rhs) +\n // Get the popcnt of all bits between the left and right hand sides' multiples of 8\n popcnt_array(data, lhsInside >> 3, (rhsInside - lhsInside) >> 3));\n}\n/** @ignore */\nexport function popcnt_array(arr, byteOffset, byteLength) {\n let cnt = 0, pos = Math.trunc(byteOffset);\n const view = new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n const len = byteLength === void 0 ? arr.byteLength : pos + byteLength;\n while (len - pos >= 4) {\n cnt += popcnt_uint32(view.getUint32(pos));\n pos += 4;\n }\n while (len - pos >= 2) {\n cnt += popcnt_uint32(view.getUint16(pos));\n pos += 2;\n }\n while (len - pos >= 1) {\n cnt += popcnt_uint32(view.getUint8(pos));\n pos += 1;\n }\n return cnt;\n}\n/** @ignore */\nexport function popcnt_uint32(uint32) {\n let i = Math.trunc(uint32);\n i = i - ((i >>> 1) & 0x55555555);\n i = (i & 0x33333333) + ((i >>> 2) & 0x33333333);\n return (((i + (i >>> 4)) & 0x0F0F0F0F) * 0x01010101) >>> 24;\n}\n\n//# sourceMappingURL=bit.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { Vector } from './vector.mjs';\nimport { BufferType, Type } from './enum.mjs';\nimport { DataType, strideForType } from './type.mjs';\nimport { popcnt_bit_range, truncateBitmap } from './util/bit.mjs';\n/** @ignore */ export const kUnknownNullCount = -1;\n/**\n * Data structure underlying {@link Vector}s. Use the convenience method {@link makeData}.\n */\nexport class Data {\n constructor(type, offset, length, nullCount, buffers, children = [], dictionary) {\n this.type = type;\n this.children = children;\n this.dictionary = dictionary;\n this.offset = Math.floor(Math.max(offset || 0, 0));\n this.length = Math.floor(Math.max(length || 0, 0));\n this._nullCount = Math.floor(Math.max(nullCount || 0, -1));\n let buffer;\n if (buffers instanceof Data) {\n this.stride = buffers.stride;\n this.values = buffers.values;\n this.typeIds = buffers.typeIds;\n this.nullBitmap = buffers.nullBitmap;\n this.valueOffsets = buffers.valueOffsets;\n }\n else {\n this.stride = strideForType(type);\n if (buffers) {\n (buffer = buffers[0]) && (this.valueOffsets = buffer);\n (buffer = buffers[1]) && (this.values = buffer);\n (buffer = buffers[2]) && (this.nullBitmap = buffer);\n (buffer = buffers[3]) && (this.typeIds = buffer);\n }\n }\n this.nullable = this._nullCount !== 0 && this.nullBitmap && this.nullBitmap.byteLength > 0;\n }\n get typeId() { return this.type.typeId; }\n get ArrayType() { return this.type.ArrayType; }\n get buffers() {\n return [this.valueOffsets, this.values, this.nullBitmap, this.typeIds];\n }\n get byteLength() {\n let byteLength = 0;\n const { valueOffsets, values, nullBitmap, typeIds } = this;\n valueOffsets && (byteLength += valueOffsets.byteLength);\n values && (byteLength += values.byteLength);\n nullBitmap && (byteLength += nullBitmap.byteLength);\n typeIds && (byteLength += typeIds.byteLength);\n return this.children.reduce((byteLength, child) => byteLength + child.byteLength, byteLength);\n }\n get nullCount() {\n let nullCount = this._nullCount;\n let nullBitmap;\n if (nullCount <= kUnknownNullCount && (nullBitmap = this.nullBitmap)) {\n this._nullCount = nullCount = this.length - popcnt_bit_range(nullBitmap, this.offset, this.offset + this.length);\n }\n return nullCount;\n }\n getValid(index) {\n if (this.nullable && this.nullCount > 0) {\n const pos = this.offset + index;\n const val = this.nullBitmap[pos >> 3];\n return (val & (1 << (pos % 8))) !== 0;\n }\n return true;\n }\n setValid(index, value) {\n // Don't interact w/ nullBitmap if not nullable\n if (!this.nullable) {\n return value;\n }\n // If no null bitmap, initialize one on the fly\n if (!this.nullBitmap || this.nullBitmap.byteLength <= (index >> 3)) {\n const { nullBitmap } = this._changeLengthAndBackfillNullBitmap(this.length);\n Object.assign(this, { nullBitmap, _nullCount: 0 });\n }\n const { nullBitmap, offset } = this;\n const pos = (offset + index) >> 3;\n const bit = (offset + index) % 8;\n const val = (nullBitmap[pos] >> bit) & 1;\n // If `val` is truthy and the current bit is 0, flip it to 1 and increment `_nullCount`.\n // If `val` is falsey and the current bit is 1, flip it to 0 and decrement `_nullCount`.\n value ? val === 0 && ((nullBitmap[pos] |= (1 << bit)), (this._nullCount = this.nullCount + 1))\n : val === 1 && ((nullBitmap[pos] &= ~(1 << bit)), (this._nullCount = this.nullCount - 1));\n return value;\n }\n clone(type = this.type, offset = this.offset, length = this.length, nullCount = this._nullCount, buffers = this, children = this.children) {\n return new Data(type, offset, length, nullCount, buffers, children, this.dictionary);\n }\n slice(offset, length) {\n const { stride, typeId, children } = this;\n // +true === 1, +false === 0, so this means\n // we keep nullCount at 0 if it's already 0,\n // otherwise set to the invalidated flag -1\n const nullCount = +(this._nullCount === 0) - 1;\n const childStride = typeId === 16 /* FixedSizeList */ ? stride : 1;\n const buffers = this._sliceBuffers(offset, length, stride, typeId);\n return this.clone(this.type, this.offset + offset, length, nullCount, buffers, \n // Don't slice children if we have value offsets (the variable-width types)\n (children.length === 0 || this.valueOffsets) ? children : this._sliceChildren(children, childStride * offset, childStride * length));\n }\n _changeLengthAndBackfillNullBitmap(newLength) {\n if (this.typeId === Type.Null) {\n return this.clone(this.type, 0, newLength, 0);\n }\n const { length, nullCount } = this;\n // start initialized with 0s (nulls), then fill from 0 to length with 1s (not null)\n const bitmap = new Uint8Array(((newLength + 63) & ~63) >> 3).fill(255, 0, length >> 3);\n // set all the bits in the last byte (up to bit `length - length % 8`) to 1 (not null)\n bitmap[length >> 3] = (1 << (length - (length & ~7))) - 1;\n // if we have a nullBitmap, truncate + slice and set it over the pre-filled 1s\n if (nullCount > 0) {\n bitmap.set(truncateBitmap(this.offset, length, this.nullBitmap), 0);\n }\n const buffers = this.buffers;\n buffers[BufferType.VALIDITY] = bitmap;\n return this.clone(this.type, 0, newLength, nullCount + (newLength - length), buffers);\n }\n _sliceBuffers(offset, length, stride, typeId) {\n let arr;\n const { buffers } = this;\n // If typeIds exist, slice the typeIds buffer\n (arr = buffers[BufferType.TYPE]) && (buffers[BufferType.TYPE] = arr.subarray(offset, offset + length));\n // If offsets exist, only slice the offsets buffer\n (arr = buffers[BufferType.OFFSET]) && (buffers[BufferType.OFFSET] = arr.subarray(offset, offset + length + 1)) ||\n // Otherwise if no offsets, slice the data buffer. Don't slice the data vector for Booleans, since the offset goes by bits not bytes\n (arr = buffers[BufferType.DATA]) && (buffers[BufferType.DATA] = typeId === 6 ? arr : arr.subarray(stride * offset, stride * (offset + length)));\n return buffers;\n }\n _sliceChildren(children, offset, length) {\n return children.map((child) => child.slice(offset, length));\n }\n}\nData.prototype.children = Object.freeze([]);\nimport { Visitor } from './visitor.mjs';\nimport { toArrayBufferView, toInt32Array, toUint8Array } from './util/buffer.mjs';\nclass MakeDataVisitor extends Visitor {\n visit(props) {\n return this.getVisitFn(props['type']).call(this, props);\n }\n visitNull(props) {\n const { ['type']: type, ['offset']: offset = 0, ['length']: length = 0, } = props;\n return new Data(type, offset, length, 0);\n }\n visitBool(props) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length >> 3, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n visitInt(props) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n visitFloat(props) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n visitUtf8(props) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const data = toUint8Array(props['data']);\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toInt32Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, data, nullBitmap]);\n }\n visitBinary(props) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const data = toUint8Array(props['data']);\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toInt32Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, data, nullBitmap]);\n }\n visitFixedSizeBinary(props) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n visitDate(props) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n visitTimestamp(props) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n visitTime(props) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n visitDecimal(props) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n visitList(props) {\n const { ['type']: type, ['offset']: offset = 0, ['child']: child } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toInt32Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, undefined, nullBitmap], [child]);\n }\n visitStruct(props) {\n const { ['type']: type, ['offset']: offset = 0, ['children']: children = [] } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const { length = children.reduce((len, { length }) => Math.max(len, length), 0), nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [undefined, undefined, nullBitmap], children);\n }\n visitUnion(props) {\n const { ['type']: type, ['offset']: offset = 0, ['children']: children = [] } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const typeIds = toArrayBufferView(type.ArrayType, props['typeIds']);\n const { ['length']: length = typeIds.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n if (DataType.isSparseUnion(type)) {\n return new Data(type, offset, length, nullCount, [undefined, undefined, nullBitmap, typeIds], children);\n }\n const valueOffsets = toInt32Array(props['valueOffsets']);\n return new Data(type, offset, length, nullCount, [valueOffsets, undefined, nullBitmap, typeIds], children);\n }\n visitDictionary(props) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.indices.ArrayType, props['data']);\n const { ['dictionary']: dictionary = new Vector([new MakeDataVisitor().visit({ type: type.dictionary })]) } = props;\n const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap], [], dictionary);\n }\n visitInterval(props) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n visitFixedSizeList(props) {\n const { ['type']: type, ['offset']: offset = 0, ['child']: child = new MakeDataVisitor().visit({ type: type.valueType }) } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const { ['length']: length = child.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [undefined, undefined, nullBitmap], [child]);\n }\n visitMap(props) {\n const { ['type']: type, ['offset']: offset = 0, ['child']: child = new MakeDataVisitor().visit({ type: type.childType }) } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toInt32Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, undefined, nullBitmap], [child]);\n }\n}\nexport function makeData(props) {\n return new MakeDataVisitor().visit(props);\n}\n\n//# sourceMappingURL=data.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n/** @ignore */\nexport class ChunkedIterator {\n constructor(numChunks = 0, getChunkIterator) {\n this.numChunks = numChunks;\n this.getChunkIterator = getChunkIterator;\n this.chunkIndex = 0;\n this.chunkIterator = this.getChunkIterator(0);\n }\n next() {\n while (this.chunkIndex < this.numChunks) {\n const next = this.chunkIterator.next();\n if (!next.done) {\n return next;\n }\n if (++this.chunkIndex < this.numChunks) {\n this.chunkIterator = this.getChunkIterator(this.chunkIndex);\n }\n }\n return { done: true, value: null };\n }\n [Symbol.iterator]() {\n return this;\n }\n}\n/** @ignore */\nexport function computeChunkNullCounts(chunks) {\n return chunks.reduce((nullCount, chunk) => nullCount + chunk.nullCount, 0);\n}\n/** @ignore */\nexport function computeChunkOffsets(chunks) {\n return chunks.reduce((offsets, chunk, index) => {\n offsets[index + 1] = offsets[index] + chunk.length;\n return offsets;\n }, new Uint32Array(chunks.length + 1));\n}\n/** @ignore */\nexport function sliceChunks(chunks, offsets, begin, end) {\n const slices = [];\n for (let i = -1, n = chunks.length; ++i < n;) {\n const chunk = chunks[i];\n const offset = offsets[i];\n const { length } = chunk;\n // Stop if the child is to the right of the slice boundary\n if (offset >= end) {\n break;\n }\n // Exclude children to the left of of the slice boundary\n if (begin >= offset + length) {\n continue;\n }\n // Include entire child if between both left and right boundaries\n if (offset >= begin && (offset + length) <= end) {\n slices.push(chunk);\n continue;\n }\n // Include the child slice that overlaps one of the slice boundaries\n const from = Math.max(0, begin - offset);\n const to = Math.min(end - offset, length);\n slices.push(chunk.slice(from, to - from));\n }\n if (slices.length === 0) {\n slices.push(chunks[0].slice(0, 0));\n }\n return slices;\n}\n/** @ignore */\nexport function binarySearch(chunks, offsets, idx, fn) {\n let lhs = 0, mid = 0, rhs = offsets.length - 1;\n do {\n if (lhs >= rhs - 1) {\n return (idx < offsets[rhs]) ? fn(chunks, lhs, idx - offsets[lhs]) : null;\n }\n mid = lhs + (Math.trunc((rhs - lhs) * .5));\n idx < offsets[mid] ? (rhs = mid) : (lhs = mid);\n } while (lhs < rhs);\n}\n/** @ignore */\nexport function isChunkedValid(data, index) {\n return data.getValid(index);\n}\n/** @ignore */\nexport function wrapChunkedCall1(fn) {\n function chunkedFn(chunks, i, j) { return fn(chunks[i], j); }\n return function (index) {\n const data = this.data;\n return binarySearch(data, this._offsets, index, chunkedFn);\n };\n}\n/** @ignore */\nexport function wrapChunkedCall2(fn) {\n let _2;\n function chunkedFn(chunks, i, j) { return fn(chunks[i], j, _2); }\n return function (index, value) {\n const data = this.data;\n _2 = value;\n const result = binarySearch(data, this._offsets, index, chunkedFn);\n _2 = undefined;\n return result;\n };\n}\n/** @ignore */\nexport function wrapChunkedIndexOf(indexOf) {\n let _1;\n function chunkedIndexOf(data, chunkIndex, fromIndex) {\n let begin = fromIndex, index = 0, total = 0;\n for (let i = chunkIndex - 1, n = data.length; ++i < n;) {\n const chunk = data[i];\n if (~(index = indexOf(chunk, _1, begin))) {\n return total + index;\n }\n begin = 0;\n total += chunk.length;\n }\n return -1;\n }\n return function (element, offset) {\n _1 = element;\n const data = this.data;\n const result = typeof offset !== 'number'\n ? chunkedIndexOf(data, 0, 0)\n : binarySearch(data, this._offsets, offset, chunkedIndexOf);\n _1 = undefined;\n return result;\n };\n}\n\n//# sourceMappingURL=chunk.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { Visitor } from '../visitor.mjs';\nimport { instance as getVisitor } from './get.mjs';\nimport { getBool, BitIterator } from '../util/bit.mjs';\nimport { createElementComparator } from '../util/vector.mjs';\n/** @ignore */\nexport class IndexOfVisitor extends Visitor {\n}\n/** @ignore */\nfunction nullIndexOf(data, searchElement) {\n // if you're looking for nulls and the vector isn't empty, we've got 'em!\n return searchElement === null && data.length > 0 ? 0 : -1;\n}\n/** @ignore */\nfunction indexOfNull(data, fromIndex) {\n const { nullBitmap } = data;\n if (!nullBitmap || data.nullCount <= 0) {\n return -1;\n }\n let i = 0;\n for (const isValid of new BitIterator(nullBitmap, data.offset + (fromIndex || 0), data.length, nullBitmap, getBool)) {\n if (!isValid) {\n return i;\n }\n ++i;\n }\n return -1;\n}\n/** @ignore */\nfunction indexOfValue(data, searchElement, fromIndex) {\n if (searchElement === undefined) {\n return -1;\n }\n if (searchElement === null) {\n return indexOfNull(data, fromIndex);\n }\n const get = getVisitor.getVisitFn(data);\n const compare = createElementComparator(searchElement);\n for (let i = (fromIndex || 0) - 1, n = data.length; ++i < n;) {\n if (compare(get(data, i))) {\n return i;\n }\n }\n return -1;\n}\n/** @ignore */\nfunction indexOfUnion(data, searchElement, fromIndex) {\n // Unions are special -- they do have a nullBitmap, but so can their children.\n // If the searchElement is null, we don't know whether it came from the Union's\n // bitmap or one of its childrens'. So we don't interrogate the Union's bitmap,\n // since that will report the wrong index if a child has a null before the Union.\n const get = getVisitor.getVisitFn(data);\n const compare = createElementComparator(searchElement);\n for (let i = (fromIndex || 0) - 1, n = data.length; ++i < n;) {\n if (compare(get(data, i))) {\n return i;\n }\n }\n return -1;\n}\nIndexOfVisitor.prototype.visitNull = nullIndexOf;\nIndexOfVisitor.prototype.visitBool = indexOfValue;\nIndexOfVisitor.prototype.visitInt = indexOfValue;\nIndexOfVisitor.prototype.visitInt8 = indexOfValue;\nIndexOfVisitor.prototype.visitInt16 = indexOfValue;\nIndexOfVisitor.prototype.visitInt32 = indexOfValue;\nIndexOfVisitor.prototype.visitInt64 = indexOfValue;\nIndexOfVisitor.prototype.visitUint8 = indexOfValue;\nIndexOfVisitor.prototype.visitUint16 = indexOfValue;\nIndexOfVisitor.prototype.visitUint32 = indexOfValue;\nIndexOfVisitor.prototype.visitUint64 = indexOfValue;\nIndexOfVisitor.prototype.visitFloat = indexOfValue;\nIndexOfVisitor.prototype.visitFloat16 = indexOfValue;\nIndexOfVisitor.prototype.visitFloat32 = indexOfValue;\nIndexOfVisitor.prototype.visitFloat64 = indexOfValue;\nIndexOfVisitor.prototype.visitUtf8 = indexOfValue;\nIndexOfVisitor.prototype.visitBinary = indexOfValue;\nIndexOfVisitor.prototype.visitFixedSizeBinary = indexOfValue;\nIndexOfVisitor.prototype.visitDate = indexOfValue;\nIndexOfVisitor.prototype.visitDateDay = indexOfValue;\nIndexOfVisitor.prototype.visitDateMillisecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestamp = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampSecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampMillisecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampMicrosecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampNanosecond = indexOfValue;\nIndexOfVisitor.prototype.visitTime = indexOfValue;\nIndexOfVisitor.prototype.visitTimeSecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimeMillisecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimeMicrosecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimeNanosecond = indexOfValue;\nIndexOfVisitor.prototype.visitDecimal = indexOfValue;\nIndexOfVisitor.prototype.visitList = indexOfValue;\nIndexOfVisitor.prototype.visitStruct = indexOfValue;\nIndexOfVisitor.prototype.visitUnion = indexOfValue;\nIndexOfVisitor.prototype.visitDenseUnion = indexOfUnion;\nIndexOfVisitor.prototype.visitSparseUnion = indexOfUnion;\nIndexOfVisitor.prototype.visitDictionary = indexOfValue;\nIndexOfVisitor.prototype.visitInterval = indexOfValue;\nIndexOfVisitor.prototype.visitIntervalDayTime = indexOfValue;\nIndexOfVisitor.prototype.visitIntervalYearMonth = indexOfValue;\nIndexOfVisitor.prototype.visitFixedSizeList = indexOfValue;\nIndexOfVisitor.prototype.visitMap = indexOfValue;\n/** @ignore */\nexport const instance = new IndexOfVisitor();\n\n//# sourceMappingURL=indexof.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { Visitor } from '../visitor.mjs';\nimport { Type, Precision } from '../enum.mjs';\nimport { Float, Int, Time, } from '../type.mjs';\nimport { ChunkedIterator } from '../util/chunk.mjs';\n/** @ignore */\nexport class IteratorVisitor extends Visitor {\n}\n/** @ignore */\nfunction vectorIterator(vector) {\n const { type } = vector;\n // Fast case, defer to native iterators if possible\n if (vector.nullCount === 0 && vector.stride === 1 && ((type.typeId === Type.Timestamp) ||\n (type instanceof Int && type.bitWidth !== 64) ||\n (type instanceof Time && type.bitWidth !== 64) ||\n (type instanceof Float && type.precision !== Precision.HALF))) {\n return new ChunkedIterator(vector.data.length, (chunkIndex) => {\n const data = vector.data[chunkIndex];\n return data.values.subarray(0, data.length)[Symbol.iterator]();\n });\n }\n // Otherwise, iterate manually\n let offset = 0;\n return new ChunkedIterator(vector.data.length, (chunkIndex) => {\n const data = vector.data[chunkIndex];\n const length = data.length;\n const inner = vector.slice(offset, offset + length);\n offset += length;\n return new VectorIterator(inner);\n });\n}\n/** @ignore */\nclass VectorIterator {\n constructor(vector) {\n this.vector = vector;\n this.index = 0;\n }\n next() {\n if (this.index < this.vector.length) {\n return {\n value: this.vector.get(this.index++)\n };\n }\n return { done: true, value: null };\n }\n [Symbol.iterator]() {\n return this;\n }\n}\nIteratorVisitor.prototype.visitNull = vectorIterator;\nIteratorVisitor.prototype.visitBool = vectorIterator;\nIteratorVisitor.prototype.visitInt = vectorIterator;\nIteratorVisitor.prototype.visitInt8 = vectorIterator;\nIteratorVisitor.prototype.visitInt16 = vectorIterator;\nIteratorVisitor.prototype.visitInt32 = vectorIterator;\nIteratorVisitor.prototype.visitInt64 = vectorIterator;\nIteratorVisitor.prototype.visitUint8 = vectorIterator;\nIteratorVisitor.prototype.visitUint16 = vectorIterator;\nIteratorVisitor.prototype.visitUint32 = vectorIterator;\nIteratorVisitor.prototype.visitUint64 = vectorIterator;\nIteratorVisitor.prototype.visitFloat = vectorIterator;\nIteratorVisitor.prototype.visitFloat16 = vectorIterator;\nIteratorVisitor.prototype.visitFloat32 = vectorIterator;\nIteratorVisitor.prototype.visitFloat64 = vectorIterator;\nIteratorVisitor.prototype.visitUtf8 = vectorIterator;\nIteratorVisitor.prototype.visitBinary = vectorIterator;\nIteratorVisitor.prototype.visitFixedSizeBinary = vectorIterator;\nIteratorVisitor.prototype.visitDate = vectorIterator;\nIteratorVisitor.prototype.visitDateDay = vectorIterator;\nIteratorVisitor.prototype.visitDateMillisecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestamp = vectorIterator;\nIteratorVisitor.prototype.visitTimestampSecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestampMillisecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestampMicrosecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestampNanosecond = vectorIterator;\nIteratorVisitor.prototype.visitTime = vectorIterator;\nIteratorVisitor.prototype.visitTimeSecond = vectorIterator;\nIteratorVisitor.prototype.visitTimeMillisecond = vectorIterator;\nIteratorVisitor.prototype.visitTimeMicrosecond = vectorIterator;\nIteratorVisitor.prototype.visitTimeNanosecond = vectorIterator;\nIteratorVisitor.prototype.visitDecimal = vectorIterator;\nIteratorVisitor.prototype.visitList = vectorIterator;\nIteratorVisitor.prototype.visitStruct = vectorIterator;\nIteratorVisitor.prototype.visitUnion = vectorIterator;\nIteratorVisitor.prototype.visitDenseUnion = vectorIterator;\nIteratorVisitor.prototype.visitSparseUnion = vectorIterator;\nIteratorVisitor.prototype.visitDictionary = vectorIterator;\nIteratorVisitor.prototype.visitInterval = vectorIterator;\nIteratorVisitor.prototype.visitIntervalDayTime = vectorIterator;\nIteratorVisitor.prototype.visitIntervalYearMonth = vectorIterator;\nIteratorVisitor.prototype.visitFixedSizeList = vectorIterator;\nIteratorVisitor.prototype.visitMap = vectorIterator;\n/** @ignore */\nexport const instance = new IteratorVisitor();\n\n//# sourceMappingURL=iterator.mjs.map\n","/* istanbul ignore file */\nimport { Visitor } from '../visitor.mjs';\nimport { TimeUnit, UnionMode } from '../enum.mjs';\n/** @ignore */ const sum = (x, y) => x + y;\n/** @ignore */\nexport class GetByteLengthVisitor extends Visitor {\n visitNull(____, _) {\n return 0;\n }\n visitInt(data, _) {\n return data.type.bitWidth / 8;\n }\n visitFloat(data, _) {\n return data.type.ArrayType.BYTES_PER_ELEMENT;\n }\n visitBool(____, _) {\n return 1 / 8;\n }\n visitDecimal(data, _) {\n return data.type.bitWidth / 8;\n }\n visitDate(data, _) {\n return (data.type.unit + 1) * 4;\n }\n visitTime(data, _) {\n return data.type.bitWidth / 8;\n }\n visitTimestamp(data, _) {\n return data.type.unit === TimeUnit.SECOND ? 4 : 8;\n }\n visitInterval(data, _) {\n return (data.type.unit + 1) * 4;\n }\n visitStruct(data, i) {\n return data.children.reduce((total, child) => total + instance.visit(child, i), 0);\n }\n visitFixedSizeBinary(data, _) {\n return data.type.byteWidth;\n }\n visitMap(data, i) {\n // 4 + 4 for the indices\n return 8 + data.children.reduce((total, child) => total + instance.visit(child, i), 0);\n }\n visitDictionary(data, i) {\n var _a;\n return (data.type.indices.bitWidth / 8) + (((_a = data.dictionary) === null || _a === void 0 ? void 0 : _a.getByteLength(data.values[i])) || 0);\n }\n}\n/** @ignore */\nconst getUtf8ByteLength = ({ valueOffsets }, index) => {\n // 4 + 4 for the indices, `end - start` for the data bytes\n return 8 + (valueOffsets[index + 1] - valueOffsets[index]);\n};\n/** @ignore */\nconst getBinaryByteLength = ({ valueOffsets }, index) => {\n // 4 + 4 for the indices, `end - start` for the data bytes\n return 8 + (valueOffsets[index + 1] - valueOffsets[index]);\n};\n/** @ignore */\nconst getListByteLength = ({ valueOffsets, stride, children }, index) => {\n const child = children[0];\n const { [index * stride]: start } = valueOffsets;\n const { [index * stride + 1]: end } = valueOffsets;\n const visit = instance.getVisitFn(child.type);\n const slice = child.slice(start, end - start);\n let size = 8; // 4 + 4 for the indices\n for (let idx = -1, len = end - start; ++idx < len;) {\n size += visit(slice, idx);\n }\n return size;\n};\n/** @ignore */\nconst getFixedSizeListByteLength = ({ stride, children }, index) => {\n const child = children[0];\n const slice = child.slice(index * stride, stride);\n const visit = instance.getVisitFn(child.type);\n let size = 0;\n for (let idx = -1, len = slice.length; ++idx < len;) {\n size += visit(slice, idx);\n }\n return size;\n};\n/* istanbul ignore next */\n/** @ignore */\nconst getUnionByteLength = (data, index) => {\n return data.type.mode === UnionMode.Dense ?\n getDenseUnionByteLength(data, index) :\n getSparseUnionByteLength(data, index);\n};\n/** @ignore */\nconst getDenseUnionByteLength = ({ type, children, typeIds, valueOffsets }, index) => {\n const childIndex = type.typeIdToChildIndex[typeIds[index]];\n // 4 for the typeId, 4 for the valueOffsets, then the child at the offset\n return 8 + instance.visit(children[childIndex], valueOffsets[index]);\n};\n/** @ignore */\nconst getSparseUnionByteLength = ({ children }, index) => {\n // 4 for the typeId, then once each for the children at this index\n return 4 + instance.visitMany(children, children.map(() => index)).reduce(sum, 0);\n};\nGetByteLengthVisitor.prototype.visitUtf8 = getUtf8ByteLength;\nGetByteLengthVisitor.prototype.visitBinary = getBinaryByteLength;\nGetByteLengthVisitor.prototype.visitList = getListByteLength;\nGetByteLengthVisitor.prototype.visitFixedSizeList = getFixedSizeListByteLength;\nGetByteLengthVisitor.prototype.visitUnion = getUnionByteLength;\nGetByteLengthVisitor.prototype.visitDenseUnion = getDenseUnionByteLength;\nGetByteLengthVisitor.prototype.visitSparseUnion = getSparseUnionByteLength;\n/** @ignore */\nexport const instance = new GetByteLengthVisitor();\n\n//# sourceMappingURL=bytelength.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nvar _a;\nimport { Type } from './enum.mjs';\nimport { clampRange } from './util/vector.mjs';\nimport { DataType, strideForType } from './type.mjs';\nimport { Data, makeData } from './data.mjs';\nimport { isChunkedValid, computeChunkOffsets, computeChunkNullCounts, sliceChunks, wrapChunkedCall1, wrapChunkedCall2, wrapChunkedIndexOf, } from './util/chunk.mjs';\nimport { BigInt64Array, BigUint64Array } from './util/compat.mjs';\nimport { instance as getVisitor } from './visitor/get.mjs';\nimport { instance as setVisitor } from './visitor/set.mjs';\nimport { instance as indexOfVisitor } from './visitor/indexof.mjs';\nimport { instance as iteratorVisitor } from './visitor/iterator.mjs';\nimport { instance as byteLengthVisitor } from './visitor/bytelength.mjs';\nconst visitorsByTypeId = {};\nconst vectorPrototypesByTypeId = {};\n/**\n * Array-like data structure. Use the convenience method {@link makeVector} and {@link vectorFromArray} to create vectors.\n */\nexport class Vector {\n constructor(input) {\n var _b, _c, _d;\n const data = input[0] instanceof Vector\n ? input.flatMap(x => x.data)\n : input;\n if (data.length === 0 || data.some((x) => !(x instanceof Data))) {\n throw new TypeError('Vector constructor expects an Array of Data instances.');\n }\n const type = (_b = data[0]) === null || _b === void 0 ? void 0 : _b.type;\n switch (data.length) {\n case 0:\n this._offsets = [0];\n break;\n case 1: {\n // special case for unchunked vectors\n const { get, set, indexOf, byteLength } = visitorsByTypeId[type.typeId];\n const unchunkedData = data[0];\n this.isValid = (index) => isChunkedValid(unchunkedData, index);\n this.get = (index) => get(unchunkedData, index);\n this.set = (index, value) => set(unchunkedData, index, value);\n this.indexOf = (index) => indexOf(unchunkedData, index);\n this.getByteLength = (index) => byteLength(unchunkedData, index);\n this._offsets = [0, unchunkedData.length];\n break;\n }\n default:\n Object.setPrototypeOf(this, vectorPrototypesByTypeId[type.typeId]);\n this._offsets = computeChunkOffsets(data);\n break;\n }\n this.data = data;\n this.type = type;\n this.stride = strideForType(type);\n this.numChildren = (_d = (_c = type.children) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0;\n this.length = this._offsets[this._offsets.length - 1];\n }\n /**\n * The aggregate size (in bytes) of this Vector's buffers and/or child Vectors.\n */\n get byteLength() {\n if (this._byteLength === -1) {\n this._byteLength = this.data.reduce((byteLength, data) => byteLength + data.byteLength, 0);\n }\n return this._byteLength;\n }\n /**\n * The number of null elements in this Vector.\n */\n get nullCount() {\n if (this._nullCount === -1) {\n this._nullCount = computeChunkNullCounts(this.data);\n }\n return this._nullCount;\n }\n /**\n * The Array or TypedAray constructor used for the JS representation\n * of the element's values in {@link Vector.prototype.toArray `toArray()`}.\n */\n get ArrayType() { return this.type.ArrayType; }\n /**\n * The name that should be printed when the Vector is logged in a message.\n */\n get [Symbol.toStringTag]() {\n return `${this.VectorName}<${this.type[Symbol.toStringTag]}>`;\n }\n /**\n * The name of this Vector.\n */\n get VectorName() { return `${Type[this.type.typeId]}Vector`; }\n /**\n * Check whether an element is null.\n * @param index The index at which to read the validity bitmap.\n */\n // @ts-ignore\n isValid(index) { return false; }\n /**\n * Get an element value by position.\n * @param index The index of the element to read.\n */\n // @ts-ignore\n get(index) { return null; }\n /**\n * Set an element value by position.\n * @param index The index of the element to write.\n * @param value The value to set.\n */\n // @ts-ignore\n set(index, value) { return; }\n /**\n * Retrieve the index of the first occurrence of a value in an Vector.\n * @param element The value to locate in the Vector.\n * @param offset The index at which to begin the search. If offset is omitted, the search starts at index 0.\n */\n // @ts-ignore\n indexOf(element, offset) { return -1; }\n includes(element, offset) { return this.indexOf(element, offset) > 0; }\n /**\n * Get the size in bytes of an element by index.\n * @param index The index at which to get the byteLength.\n */\n // @ts-ignore\n getByteLength(index) { return 0; }\n /**\n * Iterator for the Vector's elements.\n */\n [Symbol.iterator]() {\n return iteratorVisitor.visit(this);\n }\n /**\n * Combines two or more Vectors of the same type.\n * @param others Additional Vectors to add to the end of this Vector.\n */\n concat(...others) {\n return new Vector(this.data.concat(others.flatMap((x) => x.data).flat(Number.POSITIVE_INFINITY)));\n }\n /**\n * Return a zero-copy sub-section of this Vector.\n * @param start The beginning of the specified portion of the Vector.\n * @param end The end of the specified portion of the Vector. This is exclusive of the element at the index 'end'.\n */\n slice(begin, end) {\n return new Vector(clampRange(this, begin, end, ({ data, _offsets }, begin, end) => sliceChunks(data, _offsets, begin, end)));\n }\n toJSON() { return [...this]; }\n /**\n * Return a JavaScript Array or TypedArray of the Vector's elements.\n *\n * @note If this Vector contains a single Data chunk and the Vector's type is a\n * primitive numeric type corresponding to one of the JavaScript TypedArrays, this\n * method returns a zero-copy slice of the underlying TypedArray values. If there's\n * more than one chunk, the resulting TypedArray will be a copy of the data from each\n * chunk's underlying TypedArray values.\n *\n * @returns An Array or TypedArray of the Vector's elements, based on the Vector's DataType.\n */\n toArray() {\n const { type, data, length, stride, ArrayType } = this;\n // Fast case, return subarray if possible\n switch (type.typeId) {\n case Type.Int:\n case Type.Float:\n case Type.Decimal:\n case Type.Time:\n case Type.Timestamp:\n switch (data.length) {\n case 0: return new ArrayType();\n case 1: return data[0].values.subarray(0, length * stride);\n default: return data.reduce((memo, { values, length: chunk_length }) => {\n memo.array.set(values.subarray(0, chunk_length * stride), memo.offset);\n memo.offset += chunk_length * stride;\n return memo;\n }, { array: new ArrayType(length * stride), offset: 0 }).array;\n }\n }\n // Otherwise if not primitive, slow copy\n return [...this];\n }\n /**\n * Returns a string representation of the Vector.\n *\n * @returns A string representation of the Vector.\n */\n toString() {\n return `[${[...this].join(',')}]`;\n }\n /**\n * Returns a child Vector by name, or null if this Vector has no child with the given name.\n * @param name The name of the child to retrieve.\n */\n getChild(name) {\n var _b;\n return this.getChildAt((_b = this.type.children) === null || _b === void 0 ? void 0 : _b.findIndex((f) => f.name === name));\n }\n /**\n * Returns a child Vector by index, or null if this Vector has no child at the supplied index.\n * @param index The index of the child to retrieve.\n */\n getChildAt(index) {\n if (index > -1 && index < this.numChildren) {\n return new Vector(this.data.map(({ children }) => children[index]));\n }\n return null;\n }\n get isMemoized() {\n if (DataType.isDictionary(this.type)) {\n return this.data[0].dictionary.isMemoized;\n }\n return false;\n }\n /**\n * Adds memoization to the Vector's {@link get} method. For dictionary\n * vectors, this method return a vector that memoizes only the dictionary\n * values.\n *\n * Memoization is very useful when decoding a value is expensive such as\n * Uft8. The memoization creates a cache of the size of the Vector and\n * therfore increases memory usage.\n *\n * @returns A new vector that memoizes calls to {@link get}.\n */\n memoize() {\n if (DataType.isDictionary(this.type)) {\n const dictionary = new MemoizedVector(this.data[0].dictionary);\n const newData = this.data.map((data) => {\n const cloned = data.clone();\n cloned.dictionary = dictionary;\n return cloned;\n });\n return new Vector(newData);\n }\n return new MemoizedVector(this);\n }\n /**\n * Returns a vector without memoization of the {@link get} method. If this\n * vector is not memoized, this method returns this vector.\n *\n * @returns A a vector without memoization.\n */\n unmemoize() {\n if (DataType.isDictionary(this.type) && this.isMemoized) {\n const dictionary = this.data[0].dictionary.unmemoize();\n const newData = this.data.map((data) => {\n const newData = data.clone();\n newData.dictionary = dictionary;\n return newData;\n });\n return new Vector(newData);\n }\n return this;\n }\n}\n_a = Symbol.toStringTag;\n// Initialize this static property via an IIFE so bundlers don't tree-shake\n// out this logic, but also so we're still compliant with `\"sideEffects\": false`\nVector[_a] = ((proto) => {\n proto.type = DataType.prototype;\n proto.data = [];\n proto.length = 0;\n proto.stride = 1;\n proto.numChildren = 0;\n proto._nullCount = -1;\n proto._byteLength = -1;\n proto._offsets = new Uint32Array([0]);\n proto[Symbol.isConcatSpreadable] = true;\n const typeIds = Object.keys(Type)\n .map((T) => Type[T])\n .filter((T) => typeof T === 'number' && T !== Type.NONE);\n for (const typeId of typeIds) {\n const get = getVisitor.getVisitFnByTypeId(typeId);\n const set = setVisitor.getVisitFnByTypeId(typeId);\n const indexOf = indexOfVisitor.getVisitFnByTypeId(typeId);\n const byteLength = byteLengthVisitor.getVisitFnByTypeId(typeId);\n visitorsByTypeId[typeId] = { get, set, indexOf, byteLength };\n vectorPrototypesByTypeId[typeId] = Object.create(proto, {\n ['isValid']: { value: wrapChunkedCall1(isChunkedValid) },\n ['get']: { value: wrapChunkedCall1(getVisitor.getVisitFnByTypeId(typeId)) },\n ['set']: { value: wrapChunkedCall2(setVisitor.getVisitFnByTypeId(typeId)) },\n ['indexOf']: { value: wrapChunkedIndexOf(indexOfVisitor.getVisitFnByTypeId(typeId)) },\n ['getByteLength']: { value: wrapChunkedCall1(byteLengthVisitor.getVisitFnByTypeId(typeId)) },\n });\n }\n return 'Vector';\n})(Vector.prototype);\nclass MemoizedVector extends Vector {\n constructor(vector) {\n super(vector.data);\n const get = this.get;\n const set = this.set;\n const slice = this.slice;\n const cache = new Array(this.length);\n Object.defineProperty(this, 'get', {\n value(index) {\n const cachedValue = cache[index];\n if (cachedValue !== undefined) {\n return cachedValue;\n }\n const value = get.call(this, index);\n cache[index] = value;\n return value;\n }\n });\n Object.defineProperty(this, 'set', {\n value(index, value) {\n set.call(this, index, value);\n cache[index] = value;\n }\n });\n Object.defineProperty(this, 'slice', {\n value: (begin, end) => new MemoizedVector(slice.call(this, begin, end))\n });\n Object.defineProperty(this, 'isMemoized', { value: true });\n Object.defineProperty(this, 'unmemoize', {\n value: () => new Vector(this.data)\n });\n Object.defineProperty(this, 'memoize', {\n value: () => this\n });\n }\n}\nimport * as dtypes from './type.mjs';\nexport function makeVector(init) {\n if (init) {\n if (init instanceof Data) {\n return new Vector([init]);\n }\n if (init instanceof Vector) {\n return new Vector(init.data);\n }\n if (init.type instanceof DataType) {\n return new Vector([makeData(init)]);\n }\n if (Array.isArray(init)) {\n return new Vector(init.flatMap(v => unwrapInputs(v)));\n }\n if (ArrayBuffer.isView(init)) {\n if (init instanceof DataView) {\n init = new Uint8Array(init.buffer);\n }\n const props = { offset: 0, length: init.length, nullCount: 0, data: init };\n if (init instanceof Int8Array) {\n return new Vector([makeData(Object.assign(Object.assign({}, props), { type: new dtypes.Int8 }))]);\n }\n if (init instanceof Int16Array) {\n return new Vector([makeData(Object.assign(Object.assign({}, props), { type: new dtypes.Int16 }))]);\n }\n if (init instanceof Int32Array) {\n return new Vector([makeData(Object.assign(Object.assign({}, props), { type: new dtypes.Int32 }))]);\n }\n if (init instanceof BigInt64Array) {\n return new Vector([makeData(Object.assign(Object.assign({}, props), { type: new dtypes.Int64 }))]);\n }\n if (init instanceof Uint8Array || init instanceof Uint8ClampedArray) {\n return new Vector([makeData(Object.assign(Object.assign({}, props), { type: new dtypes.Uint8 }))]);\n }\n if (init instanceof Uint16Array) {\n return new Vector([makeData(Object.assign(Object.assign({}, props), { type: new dtypes.Uint16 }))]);\n }\n if (init instanceof Uint32Array) {\n return new Vector([makeData(Object.assign(Object.assign({}, props), { type: new dtypes.Uint32 }))]);\n }\n if (init instanceof BigUint64Array) {\n return new Vector([makeData(Object.assign(Object.assign({}, props), { type: new dtypes.Uint64 }))]);\n }\n if (init instanceof Float32Array) {\n return new Vector([makeData(Object.assign(Object.assign({}, props), { type: new dtypes.Float32 }))]);\n }\n if (init instanceof Float64Array) {\n return new Vector([makeData(Object.assign(Object.assign({}, props), { type: new dtypes.Float64 }))]);\n }\n throw new Error('Unrecognized input');\n }\n }\n throw new Error('Unrecognized input');\n}\nfunction unwrapInputs(x) {\n return x instanceof Data ? [x] : (x instanceof Vector ? x.data : makeVector(x).data);\n}\n\n//# sourceMappingURL=vector.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nexport class Block {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n /**\n * Index to the start of the RecordBlock (note this is past the Message header)\n */\n offset() {\n return this.bb.readInt64(this.bb_pos);\n }\n /**\n * Length of the metadata\n */\n metaDataLength() {\n return this.bb.readInt32(this.bb_pos + 8);\n }\n /**\n * Length of the data (this is aligned so there can be a gap between this and\n * the metadata).\n */\n bodyLength() {\n return this.bb.readInt64(this.bb_pos + 16);\n }\n static sizeOf() {\n return 24;\n }\n static createBlock(builder, offset, metaDataLength, bodyLength) {\n builder.prep(8, 24);\n builder.writeInt64(bodyLength);\n builder.pad(4);\n builder.writeInt32(metaDataLength);\n builder.writeInt64(offset);\n return builder.offset();\n }\n}\n\n//# sourceMappingURL=block.mjs.map\n","export const SIZEOF_SHORT = 2;\r\nexport const SIZEOF_INT = 4;\r\nexport const FILE_IDENTIFIER_LENGTH = 4;\r\nexport const SIZE_PREFIX_LENGTH = 4;\r\n","export const int32 = new Int32Array(2);\r\nexport const float32 = new Float32Array(int32.buffer);\r\nexport const float64 = new Float64Array(int32.buffer);\r\nexport const isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\r\n","export function createLong(low, high) {\r\n return Long.create(low, high);\r\n}\r\nexport class Long {\r\n constructor(low, high) {\r\n this.low = low | 0;\r\n this.high = high | 0;\r\n }\r\n static create(low, high) {\r\n // Special-case zero to avoid GC overhead for default values\r\n return low == 0 && high == 0 ? Long.ZERO : new Long(low, high);\r\n }\r\n toFloat64() {\r\n return (this.low >>> 0) + this.high * 0x100000000;\r\n }\r\n equals(other) {\r\n return this.low == other.low && this.high == other.high;\r\n }\r\n}\r\nLong.ZERO = new Long(0, 0);\r\n","export var Encoding;\r\n(function (Encoding) {\r\n Encoding[Encoding[\"UTF8_BYTES\"] = 1] = \"UTF8_BYTES\";\r\n Encoding[Encoding[\"UTF16_STRING\"] = 2] = \"UTF16_STRING\";\r\n})(Encoding || (Encoding = {}));\r\n","import { FILE_IDENTIFIER_LENGTH, SIZEOF_INT } from \"./constants\";\r\nimport { Long } from \"./long\";\r\nimport { int32, isLittleEndian, float32, float64 } from \"./utils\";\r\nimport { Encoding } from \"./encoding\";\r\nexport class ByteBuffer {\r\n /**\r\n * Create a new ByteBuffer with a given array of bytes (`Uint8Array`)\r\n */\r\n constructor(bytes_) {\r\n this.bytes_ = bytes_;\r\n this.position_ = 0;\r\n }\r\n /**\r\n * Create and allocate a new ByteBuffer with a given size.\r\n */\r\n static allocate(byte_size) {\r\n return new ByteBuffer(new Uint8Array(byte_size));\r\n }\r\n clear() {\r\n this.position_ = 0;\r\n }\r\n /**\r\n * Get the underlying `Uint8Array`.\r\n */\r\n bytes() {\r\n return this.bytes_;\r\n }\r\n /**\r\n * Get the buffer's position.\r\n */\r\n position() {\r\n return this.position_;\r\n }\r\n /**\r\n * Set the buffer's position.\r\n */\r\n setPosition(position) {\r\n this.position_ = position;\r\n }\r\n /**\r\n * Get the buffer's capacity.\r\n */\r\n capacity() {\r\n return this.bytes_.length;\r\n }\r\n readInt8(offset) {\r\n return this.readUint8(offset) << 24 >> 24;\r\n }\r\n readUint8(offset) {\r\n return this.bytes_[offset];\r\n }\r\n readInt16(offset) {\r\n return this.readUint16(offset) << 16 >> 16;\r\n }\r\n readUint16(offset) {\r\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8;\r\n }\r\n readInt32(offset) {\r\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8 | this.bytes_[offset + 2] << 16 | this.bytes_[offset + 3] << 24;\r\n }\r\n readUint32(offset) {\r\n return this.readInt32(offset) >>> 0;\r\n }\r\n readInt64(offset) {\r\n return new Long(this.readInt32(offset), this.readInt32(offset + 4));\r\n }\r\n readUint64(offset) {\r\n return new Long(this.readUint32(offset), this.readUint32(offset + 4));\r\n }\r\n readFloat32(offset) {\r\n int32[0] = this.readInt32(offset);\r\n return float32[0];\r\n }\r\n readFloat64(offset) {\r\n int32[isLittleEndian ? 0 : 1] = this.readInt32(offset);\r\n int32[isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);\r\n return float64[0];\r\n }\r\n writeInt8(offset, value) {\r\n this.bytes_[offset] = value;\r\n }\r\n writeUint8(offset, value) {\r\n this.bytes_[offset] = value;\r\n }\r\n writeInt16(offset, value) {\r\n this.bytes_[offset] = value;\r\n this.bytes_[offset + 1] = value >> 8;\r\n }\r\n writeUint16(offset, value) {\r\n this.bytes_[offset] = value;\r\n this.bytes_[offset + 1] = value >> 8;\r\n }\r\n writeInt32(offset, value) {\r\n this.bytes_[offset] = value;\r\n this.bytes_[offset + 1] = value >> 8;\r\n this.bytes_[offset + 2] = value >> 16;\r\n this.bytes_[offset + 3] = value >> 24;\r\n }\r\n writeUint32(offset, value) {\r\n this.bytes_[offset] = value;\r\n this.bytes_[offset + 1] = value >> 8;\r\n this.bytes_[offset + 2] = value >> 16;\r\n this.bytes_[offset + 3] = value >> 24;\r\n }\r\n writeInt64(offset, value) {\r\n this.writeInt32(offset, value.low);\r\n this.writeInt32(offset + 4, value.high);\r\n }\r\n writeUint64(offset, value) {\r\n this.writeUint32(offset, value.low);\r\n this.writeUint32(offset + 4, value.high);\r\n }\r\n writeFloat32(offset, value) {\r\n float32[0] = value;\r\n this.writeInt32(offset, int32[0]);\r\n }\r\n writeFloat64(offset, value) {\r\n float64[0] = value;\r\n this.writeInt32(offset, int32[isLittleEndian ? 0 : 1]);\r\n this.writeInt32(offset + 4, int32[isLittleEndian ? 1 : 0]);\r\n }\r\n /**\r\n * Return the file identifier. Behavior is undefined for FlatBuffers whose\r\n * schema does not include a file_identifier (likely points at padding or the\r\n * start of a the root vtable).\r\n */\r\n getBufferIdentifier() {\r\n if (this.bytes_.length < this.position_ + SIZEOF_INT +\r\n FILE_IDENTIFIER_LENGTH) {\r\n throw new Error('FlatBuffers: ByteBuffer is too short to contain an identifier.');\r\n }\r\n let result = \"\";\r\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\r\n result += String.fromCharCode(this.readInt8(this.position_ + SIZEOF_INT + i));\r\n }\r\n return result;\r\n }\r\n /**\r\n * Look up a field in the vtable, return an offset into the object, or 0 if the\r\n * field is not present.\r\n */\r\n __offset(bb_pos, vtable_offset) {\r\n const vtable = bb_pos - this.readInt32(bb_pos);\r\n return vtable_offset < this.readInt16(vtable) ? this.readInt16(vtable + vtable_offset) : 0;\r\n }\r\n /**\r\n * Initialize any Table-derived type to point to the union at the given offset.\r\n */\r\n __union(t, offset) {\r\n t.bb_pos = offset + this.readInt32(offset);\r\n t.bb = this;\r\n return t;\r\n }\r\n /**\r\n * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.\r\n * This allocates a new string and converts to wide chars upon each access.\r\n *\r\n * To avoid the conversion to UTF-16, pass Encoding.UTF8_BYTES as\r\n * the \"optionalEncoding\" argument. This is useful for avoiding conversion to\r\n * and from UTF-16 when the data will just be packaged back up in another\r\n * FlatBuffer later on.\r\n *\r\n * @param offset\r\n * @param opt_encoding Defaults to UTF16_STRING\r\n */\r\n __string(offset, opt_encoding) {\r\n offset += this.readInt32(offset);\r\n const length = this.readInt32(offset);\r\n let result = '';\r\n let i = 0;\r\n offset += SIZEOF_INT;\r\n if (opt_encoding === Encoding.UTF8_BYTES) {\r\n return this.bytes_.subarray(offset, offset + length);\r\n }\r\n while (i < length) {\r\n let codePoint;\r\n // Decode UTF-8\r\n const a = this.readUint8(offset + i++);\r\n if (a < 0xC0) {\r\n codePoint = a;\r\n }\r\n else {\r\n const b = this.readUint8(offset + i++);\r\n if (a < 0xE0) {\r\n codePoint =\r\n ((a & 0x1F) << 6) |\r\n (b & 0x3F);\r\n }\r\n else {\r\n const c = this.readUint8(offset + i++);\r\n if (a < 0xF0) {\r\n codePoint =\r\n ((a & 0x0F) << 12) |\r\n ((b & 0x3F) << 6) |\r\n (c & 0x3F);\r\n }\r\n else {\r\n const d = this.readUint8(offset + i++);\r\n codePoint =\r\n ((a & 0x07) << 18) |\r\n ((b & 0x3F) << 12) |\r\n ((c & 0x3F) << 6) |\r\n (d & 0x3F);\r\n }\r\n }\r\n }\r\n // Encode UTF-16\r\n if (codePoint < 0x10000) {\r\n result += String.fromCharCode(codePoint);\r\n }\r\n else {\r\n codePoint -= 0x10000;\r\n result += String.fromCharCode((codePoint >> 10) + 0xD800, (codePoint & ((1 << 10) - 1)) + 0xDC00);\r\n }\r\n }\r\n return result;\r\n }\r\n /**\r\n * Handle unions that can contain string as its member, if a Table-derived type then initialize it,\r\n * if a string then return a new one\r\n *\r\n * WARNING: strings are immutable in JS so we can't change the string that the user gave us, this\r\n * makes the behaviour of __union_with_string different compared to __union\r\n */\r\n __union_with_string(o, offset) {\r\n if (typeof o === 'string') {\r\n return this.__string(offset);\r\n }\r\n return this.__union(o, offset);\r\n }\r\n /**\r\n * Retrieve the relative offset stored at \"offset\"\r\n */\r\n __indirect(offset) {\r\n return offset + this.readInt32(offset);\r\n }\r\n /**\r\n * Get the start of data of a vector whose offset is stored at \"offset\" in this object.\r\n */\r\n __vector(offset) {\r\n return offset + this.readInt32(offset) + SIZEOF_INT; // data starts after the length\r\n }\r\n /**\r\n * Get the length of a vector whose offset is stored at \"offset\" in this object.\r\n */\r\n __vector_len(offset) {\r\n return this.readInt32(offset + this.readInt32(offset));\r\n }\r\n __has_identifier(ident) {\r\n if (ident.length != FILE_IDENTIFIER_LENGTH) {\r\n throw new Error('FlatBuffers: file identifier must be length ' +\r\n FILE_IDENTIFIER_LENGTH);\r\n }\r\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\r\n if (ident.charCodeAt(i) != this.readInt8(this.position() + SIZEOF_INT + i)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n /**\r\n * A helper function to avoid generated code depending on this file directly.\r\n */\r\n createLong(low, high) {\r\n return Long.create(low, high);\r\n }\r\n /**\r\n * A helper function for generating list for obj api\r\n */\r\n createScalarList(listAccessor, listLength) {\r\n const ret = [];\r\n for (let i = 0; i < listLength; ++i) {\r\n if (listAccessor(i) !== null) {\r\n ret.push(listAccessor(i));\r\n }\r\n }\r\n return ret;\r\n }\r\n /**\r\n * A helper function for generating list for obj api\r\n * @param listAccessor function that accepts an index and return data at that index\r\n * @param listLength listLength\r\n * @param res result list\r\n */\r\n createObjList(listAccessor, listLength) {\r\n const ret = [];\r\n for (let i = 0; i < listLength; ++i) {\r\n const val = listAccessor(i);\r\n if (val !== null) {\r\n ret.push(val.unpack());\r\n }\r\n }\r\n return ret;\r\n }\r\n}\r\n","import { ByteBuffer } from \"./byte-buffer\";\r\nimport { SIZEOF_SHORT, SIZE_PREFIX_LENGTH, SIZEOF_INT, FILE_IDENTIFIER_LENGTH } from \"./constants\";\r\nimport { Long } from \"./long\";\r\nexport class Builder {\r\n /**\r\n * Create a FlatBufferBuilder.\r\n */\r\n constructor(opt_initial_size) {\r\n /** Minimum alignment encountered so far. */\r\n this.minalign = 1;\r\n /** The vtable for the current table. */\r\n this.vtable = null;\r\n /** The amount of fields we're actually using. */\r\n this.vtable_in_use = 0;\r\n /** Whether we are currently serializing a table. */\r\n this.isNested = false;\r\n /** Starting offset of the current struct/table. */\r\n this.object_start = 0;\r\n /** List of offsets of all vtables. */\r\n this.vtables = [];\r\n /** For the current vector being built. */\r\n this.vector_num_elems = 0;\r\n /** False omits default values from the serialized data */\r\n this.force_defaults = false;\r\n this.string_maps = null;\r\n let initial_size;\r\n if (!opt_initial_size) {\r\n initial_size = 1024;\r\n }\r\n else {\r\n initial_size = opt_initial_size;\r\n }\r\n /**\r\n * @type {ByteBuffer}\r\n * @private\r\n */\r\n this.bb = ByteBuffer.allocate(initial_size);\r\n this.space = initial_size;\r\n }\r\n clear() {\r\n this.bb.clear();\r\n this.space = this.bb.capacity();\r\n this.minalign = 1;\r\n this.vtable = null;\r\n this.vtable_in_use = 0;\r\n this.isNested = false;\r\n this.object_start = 0;\r\n this.vtables = [];\r\n this.vector_num_elems = 0;\r\n this.force_defaults = false;\r\n this.string_maps = null;\r\n }\r\n /**\r\n * In order to save space, fields that are set to their default value\r\n * don't get serialized into the buffer. Forcing defaults provides a\r\n * way to manually disable this optimization.\r\n *\r\n * @param forceDefaults true always serializes default values\r\n */\r\n forceDefaults(forceDefaults) {\r\n this.force_defaults = forceDefaults;\r\n }\r\n /**\r\n * Get the ByteBuffer representing the FlatBuffer. Only call this after you've\r\n * called finish(). The actual data starts at the ByteBuffer's current position,\r\n * not necessarily at 0.\r\n */\r\n dataBuffer() {\r\n return this.bb;\r\n }\r\n /**\r\n * Get the bytes representing the FlatBuffer. Only call this after you've\r\n * called finish().\r\n */\r\n asUint8Array() {\r\n return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());\r\n }\r\n /**\r\n * Prepare to write an element of `size` after `additional_bytes` have been\r\n * written, e.g. if you write a string, you need to align such the int length\r\n * field is aligned to 4 bytes, and the string data follows it directly. If all\r\n * you need to do is alignment, `additional_bytes` will be 0.\r\n *\r\n * @param size This is the of the new element to write\r\n * @param additional_bytes The padding size\r\n */\r\n prep(size, additional_bytes) {\r\n // Track the biggest thing we've ever aligned to.\r\n if (size > this.minalign) {\r\n this.minalign = size;\r\n }\r\n // Find the amount of alignment needed such that `size` is properly\r\n // aligned after `additional_bytes`\r\n const align_size = ((~(this.bb.capacity() - this.space + additional_bytes)) + 1) & (size - 1);\r\n // Reallocate the buffer if needed.\r\n while (this.space < align_size + size + additional_bytes) {\r\n const old_buf_size = this.bb.capacity();\r\n this.bb = Builder.growByteBuffer(this.bb);\r\n this.space += this.bb.capacity() - old_buf_size;\r\n }\r\n this.pad(align_size);\r\n }\r\n pad(byte_size) {\r\n for (let i = 0; i < byte_size; i++) {\r\n this.bb.writeInt8(--this.space, 0);\r\n }\r\n }\r\n writeInt8(value) {\r\n this.bb.writeInt8(this.space -= 1, value);\r\n }\r\n writeInt16(value) {\r\n this.bb.writeInt16(this.space -= 2, value);\r\n }\r\n writeInt32(value) {\r\n this.bb.writeInt32(this.space -= 4, value);\r\n }\r\n writeInt64(value) {\r\n this.bb.writeInt64(this.space -= 8, value);\r\n }\r\n writeFloat32(value) {\r\n this.bb.writeFloat32(this.space -= 4, value);\r\n }\r\n writeFloat64(value) {\r\n this.bb.writeFloat64(this.space -= 8, value);\r\n }\r\n /**\r\n * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).\r\n * @param value The `int8` to add the the buffer.\r\n */\r\n addInt8(value) {\r\n this.prep(1, 0);\r\n this.writeInt8(value);\r\n }\r\n /**\r\n * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).\r\n * @param value The `int16` to add the the buffer.\r\n */\r\n addInt16(value) {\r\n this.prep(2, 0);\r\n this.writeInt16(value);\r\n }\r\n /**\r\n * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).\r\n * @param value The `int32` to add the the buffer.\r\n */\r\n addInt32(value) {\r\n this.prep(4, 0);\r\n this.writeInt32(value);\r\n }\r\n /**\r\n * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).\r\n * @param value The `int64` to add the the buffer.\r\n */\r\n addInt64(value) {\r\n this.prep(8, 0);\r\n this.writeInt64(value);\r\n }\r\n /**\r\n * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).\r\n * @param value The `float32` to add the the buffer.\r\n */\r\n addFloat32(value) {\r\n this.prep(4, 0);\r\n this.writeFloat32(value);\r\n }\r\n /**\r\n * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).\r\n * @param value The `float64` to add the the buffer.\r\n */\r\n addFloat64(value) {\r\n this.prep(8, 0);\r\n this.writeFloat64(value);\r\n }\r\n addFieldInt8(voffset, value, defaultValue) {\r\n if (this.force_defaults || value != defaultValue) {\r\n this.addInt8(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n addFieldInt16(voffset, value, defaultValue) {\r\n if (this.force_defaults || value != defaultValue) {\r\n this.addInt16(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n addFieldInt32(voffset, value, defaultValue) {\r\n if (this.force_defaults || value != defaultValue) {\r\n this.addInt32(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n addFieldInt64(voffset, value, defaultValue) {\r\n if (this.force_defaults || !value.equals(defaultValue)) {\r\n this.addInt64(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n addFieldFloat32(voffset, value, defaultValue) {\r\n if (this.force_defaults || value != defaultValue) {\r\n this.addFloat32(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n addFieldFloat64(voffset, value, defaultValue) {\r\n if (this.force_defaults || value != defaultValue) {\r\n this.addFloat64(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n addFieldOffset(voffset, value, defaultValue) {\r\n if (this.force_defaults || value != defaultValue) {\r\n this.addOffset(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n /**\r\n * Structs are stored inline, so nothing additional is being added. `d` is always 0.\r\n */\r\n addFieldStruct(voffset, value, defaultValue) {\r\n if (value != defaultValue) {\r\n this.nested(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n /**\r\n * Structures are always stored inline, they need to be created right\r\n * where they're used. You'll get this assertion failure if you\r\n * created it elsewhere.\r\n */\r\n nested(obj) {\r\n if (obj != this.offset()) {\r\n throw new Error('FlatBuffers: struct must be serialized inline.');\r\n }\r\n }\r\n /**\r\n * Should not be creating any other object, string or vector\r\n * while an object is being constructed\r\n */\r\n notNested() {\r\n if (this.isNested) {\r\n throw new Error('FlatBuffers: object serialization must not be nested.');\r\n }\r\n }\r\n /**\r\n * Set the current vtable at `voffset` to the current location in the buffer.\r\n */\r\n slot(voffset) {\r\n if (this.vtable !== null)\r\n this.vtable[voffset] = this.offset();\r\n }\r\n /**\r\n * @returns Offset relative to the end of the buffer.\r\n */\r\n offset() {\r\n return this.bb.capacity() - this.space;\r\n }\r\n /**\r\n * Doubles the size of the backing ByteBuffer and copies the old data towards\r\n * the end of the new buffer (since we build the buffer backwards).\r\n *\r\n * @param bb The current buffer with the existing data\r\n * @returns A new byte buffer with the old data copied\r\n * to it. The data is located at the end of the buffer.\r\n *\r\n * uint8Array.set() formally takes {Array|ArrayBufferView}, so to pass\r\n * it a uint8Array we need to suppress the type check:\r\n * @suppress {checkTypes}\r\n */\r\n static growByteBuffer(bb) {\r\n const old_buf_size = bb.capacity();\r\n // Ensure we don't grow beyond what fits in an int.\r\n if (old_buf_size & 0xC0000000) {\r\n throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');\r\n }\r\n const new_buf_size = old_buf_size << 1;\r\n const nbb = ByteBuffer.allocate(new_buf_size);\r\n nbb.setPosition(new_buf_size - old_buf_size);\r\n nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);\r\n return nbb;\r\n }\r\n /**\r\n * Adds on offset, relative to where it will be written.\r\n *\r\n * @param offset The offset to add.\r\n */\r\n addOffset(offset) {\r\n this.prep(SIZEOF_INT, 0); // Ensure alignment is already done.\r\n this.writeInt32(this.offset() - offset + SIZEOF_INT);\r\n }\r\n /**\r\n * Start encoding a new object in the buffer. Users will not usually need to\r\n * call this directly. The FlatBuffers compiler will generate helper methods\r\n * that call this method internally.\r\n */\r\n startObject(numfields) {\r\n this.notNested();\r\n if (this.vtable == null) {\r\n this.vtable = [];\r\n }\r\n this.vtable_in_use = numfields;\r\n for (let i = 0; i < numfields; i++) {\r\n this.vtable[i] = 0; // This will push additional elements as needed\r\n }\r\n this.isNested = true;\r\n this.object_start = this.offset();\r\n }\r\n /**\r\n * Finish off writing the object that is under construction.\r\n *\r\n * @returns The offset to the object inside `dataBuffer`\r\n */\r\n endObject() {\r\n if (this.vtable == null || !this.isNested) {\r\n throw new Error('FlatBuffers: endObject called without startObject');\r\n }\r\n this.addInt32(0);\r\n const vtableloc = this.offset();\r\n // Trim trailing zeroes.\r\n let i = this.vtable_in_use - 1;\r\n // eslint-disable-next-line no-empty\r\n for (; i >= 0 && this.vtable[i] == 0; i--) { }\r\n const trimmed_size = i + 1;\r\n // Write out the current vtable.\r\n for (; i >= 0; i--) {\r\n // Offset relative to the start of the table.\r\n this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);\r\n }\r\n const standard_fields = 2; // The fields below:\r\n this.addInt16(vtableloc - this.object_start);\r\n const len = (trimmed_size + standard_fields) * SIZEOF_SHORT;\r\n this.addInt16(len);\r\n // Search for an existing vtable that matches the current one.\r\n let existing_vtable = 0;\r\n const vt1 = this.space;\r\n outer_loop: for (i = 0; i < this.vtables.length; i++) {\r\n const vt2 = this.bb.capacity() - this.vtables[i];\r\n if (len == this.bb.readInt16(vt2)) {\r\n for (let j = SIZEOF_SHORT; j < len; j += SIZEOF_SHORT) {\r\n if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {\r\n continue outer_loop;\r\n }\r\n }\r\n existing_vtable = this.vtables[i];\r\n break;\r\n }\r\n }\r\n if (existing_vtable) {\r\n // Found a match:\r\n // Remove the current vtable.\r\n this.space = this.bb.capacity() - vtableloc;\r\n // Point table to existing vtable.\r\n this.bb.writeInt32(this.space, existing_vtable - vtableloc);\r\n }\r\n else {\r\n // No match:\r\n // Add the location of the current vtable to the list of vtables.\r\n this.vtables.push(this.offset());\r\n // Point table to current vtable.\r\n this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);\r\n }\r\n this.isNested = false;\r\n return vtableloc;\r\n }\r\n /**\r\n * Finalize a buffer, poiting to the given `root_table`.\r\n */\r\n finish(root_table, opt_file_identifier, opt_size_prefix) {\r\n const size_prefix = opt_size_prefix ? SIZE_PREFIX_LENGTH : 0;\r\n if (opt_file_identifier) {\r\n const file_identifier = opt_file_identifier;\r\n this.prep(this.minalign, SIZEOF_INT +\r\n FILE_IDENTIFIER_LENGTH + size_prefix);\r\n if (file_identifier.length != FILE_IDENTIFIER_LENGTH) {\r\n throw new Error('FlatBuffers: file identifier must be length ' +\r\n FILE_IDENTIFIER_LENGTH);\r\n }\r\n for (let i = FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {\r\n this.writeInt8(file_identifier.charCodeAt(i));\r\n }\r\n }\r\n this.prep(this.minalign, SIZEOF_INT + size_prefix);\r\n this.addOffset(root_table);\r\n if (size_prefix) {\r\n this.addInt32(this.bb.capacity() - this.space);\r\n }\r\n this.bb.setPosition(this.space);\r\n }\r\n /**\r\n * Finalize a size prefixed buffer, pointing to the given `root_table`.\r\n */\r\n finishSizePrefixed(root_table, opt_file_identifier) {\r\n this.finish(root_table, opt_file_identifier, true);\r\n }\r\n /**\r\n * This checks a required field has been set in a given table that has\r\n * just been constructed.\r\n */\r\n requiredField(table, field) {\r\n const table_start = this.bb.capacity() - table;\r\n const vtable_start = table_start - this.bb.readInt32(table_start);\r\n const ok = this.bb.readInt16(vtable_start + field) != 0;\r\n // If this fails, the caller will show what field needs to be set.\r\n if (!ok) {\r\n throw new Error('FlatBuffers: field ' + field + ' must be set');\r\n }\r\n }\r\n /**\r\n * Start a new array/vector of objects. Users usually will not call\r\n * this directly. The FlatBuffers compiler will create a start/end\r\n * method for vector types in generated code.\r\n *\r\n * @param elem_size The size of each element in the array\r\n * @param num_elems The number of elements in the array\r\n * @param alignment The alignment of the array\r\n */\r\n startVector(elem_size, num_elems, alignment) {\r\n this.notNested();\r\n this.vector_num_elems = num_elems;\r\n this.prep(SIZEOF_INT, elem_size * num_elems);\r\n this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.\r\n }\r\n /**\r\n * Finish off the creation of an array and all its elements. The array must be\r\n * created with `startVector`.\r\n *\r\n * @returns The offset at which the newly created array\r\n * starts.\r\n */\r\n endVector() {\r\n this.writeInt32(this.vector_num_elems);\r\n return this.offset();\r\n }\r\n /**\r\n * Encode the string `s` in the buffer using UTF-8. If the string passed has\r\n * already been seen, we return the offset of the already written string\r\n *\r\n * @param s The string to encode\r\n * @return The offset in the buffer where the encoded string starts\r\n */\r\n createSharedString(s) {\r\n if (!s) {\r\n return 0;\r\n }\r\n if (!this.string_maps) {\r\n this.string_maps = new Map();\r\n }\r\n if (this.string_maps.has(s)) {\r\n return this.string_maps.get(s);\r\n }\r\n const offset = this.createString(s);\r\n this.string_maps.set(s, offset);\r\n return offset;\r\n }\r\n /**\r\n * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed\r\n * instead of a string, it is assumed to contain valid UTF-8 encoded data.\r\n *\r\n * @param s The string to encode\r\n * @return The offset in the buffer where the encoded string starts\r\n */\r\n createString(s) {\r\n if (!s) {\r\n return 0;\r\n }\r\n let utf8;\r\n if (s instanceof Uint8Array) {\r\n utf8 = s;\r\n }\r\n else {\r\n utf8 = [];\r\n let i = 0;\r\n while (i < s.length) {\r\n let codePoint;\r\n // Decode UTF-16\r\n const a = s.charCodeAt(i++);\r\n if (a < 0xD800 || a >= 0xDC00) {\r\n codePoint = a;\r\n }\r\n else {\r\n const b = s.charCodeAt(i++);\r\n codePoint = (a << 10) + b + (0x10000 - (0xD800 << 10) - 0xDC00);\r\n }\r\n // Encode UTF-8\r\n if (codePoint < 0x80) {\r\n utf8.push(codePoint);\r\n }\r\n else {\r\n if (codePoint < 0x800) {\r\n utf8.push(((codePoint >> 6) & 0x1F) | 0xC0);\r\n }\r\n else {\r\n if (codePoint < 0x10000) {\r\n utf8.push(((codePoint >> 12) & 0x0F) | 0xE0);\r\n }\r\n else {\r\n utf8.push(((codePoint >> 18) & 0x07) | 0xF0, ((codePoint >> 12) & 0x3F) | 0x80);\r\n }\r\n utf8.push(((codePoint >> 6) & 0x3F) | 0x80);\r\n }\r\n utf8.push((codePoint & 0x3F) | 0x80);\r\n }\r\n }\r\n }\r\n this.addInt8(0);\r\n this.startVector(1, utf8.length, 1);\r\n this.bb.setPosition(this.space -= utf8.length);\r\n for (let i = 0, offset = this.space, bytes = this.bb.bytes(); i < utf8.length; i++) {\r\n bytes[offset++] = utf8[i];\r\n }\r\n return this.endVector();\r\n }\r\n /**\r\n * A helper function to avoid generated code depending on this file directly.\r\n */\r\n createLong(low, high) {\r\n return Long.create(low, high);\r\n }\r\n /**\r\n * A helper function to pack an object\r\n *\r\n * @returns offset of obj\r\n */\r\n createObjectOffset(obj) {\r\n if (obj === null) {\r\n return 0;\r\n }\r\n if (typeof obj === 'string') {\r\n return this.createString(obj);\r\n }\r\n else {\r\n return obj.pack(this);\r\n }\r\n }\r\n /**\r\n * A helper function to pack a list of object\r\n *\r\n * @returns list of offsets of each non null object\r\n */\r\n createObjectOffsetList(list) {\r\n const ret = [];\r\n for (let i = 0; i < list.length; ++i) {\r\n const val = list[i];\r\n if (val !== null) {\r\n ret.push(this.createObjectOffset(val));\r\n }\r\n else {\r\n throw new Error('FlatBuffers: Argument for createObjectOffsetList cannot contain null.');\r\n }\r\n }\r\n return ret;\r\n }\r\n createStructOffsetList(list, startFunc) {\r\n startFunc(this, list.length);\r\n this.createObjectOffsetList(list);\r\n return this.endVector();\r\n }\r\n}\r\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\n/**\n * ----------------------------------------------------------------------\n * user defined key value pairs to add custom metadata to arrow\n * key namespacing is the responsibility of the user\n */\nexport class KeyValue {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsKeyValue(bb, obj) {\n return (obj || new KeyValue()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsKeyValue(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new KeyValue()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n key(optionalEncoding) {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;\n }\n value(optionalEncoding) {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;\n }\n static startKeyValue(builder) {\n builder.startObject(2);\n }\n static addKey(builder, keyOffset) {\n builder.addFieldOffset(0, keyOffset, 0);\n }\n static addValue(builder, valueOffset) {\n builder.addFieldOffset(1, valueOffset, 0);\n }\n static endKeyValue(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createKeyValue(builder, keyOffset, valueOffset) {\n KeyValue.startKeyValue(builder);\n KeyValue.addKey(builder, keyOffset);\n KeyValue.addValue(builder, valueOffset);\n return KeyValue.endKeyValue(builder);\n }\n}\n\n//# sourceMappingURL=key-value.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\n/**\n * Logical types, vector layouts, and schemas\n * Format Version History.\n * Version 1.0 - Forward and backwards compatibility guaranteed.\n * Version 1.1 - Add Decimal256 (No format release).\n * Version 1.2 (Pending)- Add Interval MONTH_DAY_NANO\n */\nexport var MetadataVersion;\n(function (MetadataVersion) {\n /**\n * 0.1.0 (October 2016).\n */\n MetadataVersion[MetadataVersion[\"V1\"] = 0] = \"V1\";\n /**\n * 0.2.0 (February 2017). Non-backwards compatible with V1.\n */\n MetadataVersion[MetadataVersion[\"V2\"] = 1] = \"V2\";\n /**\n * 0.3.0 -> 0.7.1 (May - December 2017). Non-backwards compatible with V2.\n */\n MetadataVersion[MetadataVersion[\"V3\"] = 2] = \"V3\";\n /**\n * >= 0.8.0 (December 2017). Non-backwards compatible with V3.\n */\n MetadataVersion[MetadataVersion[\"V4\"] = 3] = \"V4\";\n /**\n * >= 1.0.0 (July 2020. Backwards compatible with V4 (V5 readers can read V4\n * metadata and IPC messages). Implementations are recommended to provide a\n * V4 compatibility mode with V5 format changes disabled.\n *\n * Incompatible changes between V4 and V5:\n * - Union buffer layout has changed. In V5, Unions don't have a validity\n * bitmap buffer.\n */\n MetadataVersion[MetadataVersion[\"V5\"] = 4] = \"V5\";\n})(MetadataVersion || (MetadataVersion = {}));\n\n//# sourceMappingURL=metadata-version.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\n/**\n * ----------------------------------------------------------------------\n * Endianness of the platform producing the data\n */\nexport var Endianness;\n(function (Endianness) {\n Endianness[Endianness[\"Little\"] = 0] = \"Little\";\n Endianness[Endianness[\"Big\"] = 1] = \"Big\";\n})(Endianness || (Endianness = {}));\n\n//# sourceMappingURL=endianness.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\n/**\n * ----------------------------------------------------------------------\n * Dictionary encoding metadata\n * Maintained for forwards compatibility, in the future\n * Dictionaries might be explicit maps between integers and values\n * allowing for non-contiguous index values\n */\nexport var DictionaryKind;\n(function (DictionaryKind) {\n DictionaryKind[DictionaryKind[\"DenseArray\"] = 0] = \"DenseArray\";\n})(DictionaryKind || (DictionaryKind = {}));\n\n//# sourceMappingURL=dictionary-kind.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nexport class Int {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsInt(bb, obj) {\n return (obj || new Int()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsInt(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Int()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n bitWidth() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;\n }\n isSigned() {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false;\n }\n static startInt(builder) {\n builder.startObject(2);\n }\n static addBitWidth(builder, bitWidth) {\n builder.addFieldInt32(0, bitWidth, 0);\n }\n static addIsSigned(builder, isSigned) {\n builder.addFieldInt8(1, +isSigned, +false);\n }\n static endInt(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createInt(builder, bitWidth, isSigned) {\n Int.startInt(builder);\n Int.addBitWidth(builder, bitWidth);\n Int.addIsSigned(builder, isSigned);\n return Int.endInt(builder);\n }\n}\n\n//# sourceMappingURL=int.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { DictionaryKind } from './dictionary-kind.mjs';\nimport { Int } from './int.mjs';\nexport class DictionaryEncoding {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsDictionaryEncoding(bb, obj) {\n return (obj || new DictionaryEncoding()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsDictionaryEncoding(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new DictionaryEncoding()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n /**\n * The known dictionary id in the application where this data is used. In\n * the file or streaming formats, the dictionary ids are found in the\n * DictionaryBatch messages\n */\n id() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt64(this.bb_pos + offset) : this.bb.createLong(0, 0);\n }\n /**\n * The dictionary indices are constrained to be non-negative integers. If\n * this field is null, the indices must be signed int32. To maximize\n * cross-language compatibility and performance, implementations are\n * recommended to prefer signed integer types over unsigned integer types\n * and to avoid uint64 indices unless they are required by an application.\n */\n indexType(obj) {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? (obj || new Int()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;\n }\n /**\n * By default, dictionaries are not ordered, or the order does not have\n * semantic meaning. In some statistical, applications, dictionary-encoding\n * is used to represent ordered categorical data, and we provide a way to\n * preserve that metadata here\n */\n isOrdered() {\n const offset = this.bb.__offset(this.bb_pos, 8);\n return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false;\n }\n dictionaryKind() {\n const offset = this.bb.__offset(this.bb_pos, 10);\n return offset ? this.bb.readInt16(this.bb_pos + offset) : DictionaryKind.DenseArray;\n }\n static startDictionaryEncoding(builder) {\n builder.startObject(4);\n }\n static addId(builder, id) {\n builder.addFieldInt64(0, id, builder.createLong(0, 0));\n }\n static addIndexType(builder, indexTypeOffset) {\n builder.addFieldOffset(1, indexTypeOffset, 0);\n }\n static addIsOrdered(builder, isOrdered) {\n builder.addFieldInt8(2, +isOrdered, +false);\n }\n static addDictionaryKind(builder, dictionaryKind) {\n builder.addFieldInt16(3, dictionaryKind, DictionaryKind.DenseArray);\n }\n static endDictionaryEncoding(builder) {\n const offset = builder.endObject();\n return offset;\n }\n}\n\n//# sourceMappingURL=dictionary-encoding.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\n/**\n * Opaque binary data\n */\nexport class Binary {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsBinary(bb, obj) {\n return (obj || new Binary()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsBinary(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Binary()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static startBinary(builder) {\n builder.startObject(0);\n }\n static endBinary(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createBinary(builder) {\n Binary.startBinary(builder);\n return Binary.endBinary(builder);\n }\n}\n\n//# sourceMappingURL=binary.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nexport class Bool {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsBool(bb, obj) {\n return (obj || new Bool()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsBool(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Bool()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static startBool(builder) {\n builder.startObject(0);\n }\n static endBool(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createBool(builder) {\n Bool.startBool(builder);\n return Bool.endBool(builder);\n }\n}\n\n//# sourceMappingURL=bool.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nexport var DateUnit;\n(function (DateUnit) {\n DateUnit[DateUnit[\"DAY\"] = 0] = \"DAY\";\n DateUnit[DateUnit[\"MILLISECOND\"] = 1] = \"MILLISECOND\";\n})(DateUnit || (DateUnit = {}));\n\n//# sourceMappingURL=date-unit.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { DateUnit } from './date-unit.mjs';\n/**\n * Date is either a 32-bit or 64-bit signed integer type representing an\n * elapsed time since UNIX epoch (1970-01-01), stored in either of two units:\n *\n * * Milliseconds (64 bits) indicating UNIX time elapsed since the epoch (no\n * leap seconds), where the values are evenly divisible by 86400000\n * * Days (32 bits) since the UNIX epoch\n */\nexport class Date {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsDate(bb, obj) {\n return (obj || new Date()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsDate(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Date()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n unit() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt16(this.bb_pos + offset) : DateUnit.MILLISECOND;\n }\n static startDate(builder) {\n builder.startObject(1);\n }\n static addUnit(builder, unit) {\n builder.addFieldInt16(0, unit, DateUnit.MILLISECOND);\n }\n static endDate(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createDate(builder, unit) {\n Date.startDate(builder);\n Date.addUnit(builder, unit);\n return Date.endDate(builder);\n }\n}\n\n//# sourceMappingURL=date.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\n/**\n * Exact decimal value represented as an integer value in two's\n * complement. Currently only 128-bit (16-byte) and 256-bit (32-byte) integers\n * are used. The representation uses the endianness indicated\n * in the Schema.\n */\nexport class Decimal {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsDecimal(bb, obj) {\n return (obj || new Decimal()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsDecimal(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Decimal()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n /**\n * Total number of decimal digits\n */\n precision() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;\n }\n /**\n * Number of digits after the decimal point \".\"\n */\n scale() {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;\n }\n /**\n * Number of bits per value. The only accepted widths are 128 and 256.\n * We use bitWidth for consistency with Int::bitWidth.\n */\n bitWidth() {\n const offset = this.bb.__offset(this.bb_pos, 8);\n return offset ? this.bb.readInt32(this.bb_pos + offset) : 128;\n }\n static startDecimal(builder) {\n builder.startObject(3);\n }\n static addPrecision(builder, precision) {\n builder.addFieldInt32(0, precision, 0);\n }\n static addScale(builder, scale) {\n builder.addFieldInt32(1, scale, 0);\n }\n static addBitWidth(builder, bitWidth) {\n builder.addFieldInt32(2, bitWidth, 128);\n }\n static endDecimal(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createDecimal(builder, precision, scale, bitWidth) {\n Decimal.startDecimal(builder);\n Decimal.addPrecision(builder, precision);\n Decimal.addScale(builder, scale);\n Decimal.addBitWidth(builder, bitWidth);\n return Decimal.endDecimal(builder);\n }\n}\n\n//# sourceMappingURL=decimal.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nexport var TimeUnit;\n(function (TimeUnit) {\n TimeUnit[TimeUnit[\"SECOND\"] = 0] = \"SECOND\";\n TimeUnit[TimeUnit[\"MILLISECOND\"] = 1] = \"MILLISECOND\";\n TimeUnit[TimeUnit[\"MICROSECOND\"] = 2] = \"MICROSECOND\";\n TimeUnit[TimeUnit[\"NANOSECOND\"] = 3] = \"NANOSECOND\";\n})(TimeUnit || (TimeUnit = {}));\n\n//# sourceMappingURL=time-unit.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nexport class FixedSizeBinary {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsFixedSizeBinary(bb, obj) {\n return (obj || new FixedSizeBinary()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsFixedSizeBinary(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new FixedSizeBinary()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n /**\n * Number of bytes per value\n */\n byteWidth() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;\n }\n static startFixedSizeBinary(builder) {\n builder.startObject(1);\n }\n static addByteWidth(builder, byteWidth) {\n builder.addFieldInt32(0, byteWidth, 0);\n }\n static endFixedSizeBinary(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createFixedSizeBinary(builder, byteWidth) {\n FixedSizeBinary.startFixedSizeBinary(builder);\n FixedSizeBinary.addByteWidth(builder, byteWidth);\n return FixedSizeBinary.endFixedSizeBinary(builder);\n }\n}\n\n//# sourceMappingURL=fixed-size-binary.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nexport class FixedSizeList {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsFixedSizeList(bb, obj) {\n return (obj || new FixedSizeList()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsFixedSizeList(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new FixedSizeList()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n /**\n * Number of list items per value\n */\n listSize() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;\n }\n static startFixedSizeList(builder) {\n builder.startObject(1);\n }\n static addListSize(builder, listSize) {\n builder.addFieldInt32(0, listSize, 0);\n }\n static endFixedSizeList(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createFixedSizeList(builder, listSize) {\n FixedSizeList.startFixedSizeList(builder);\n FixedSizeList.addListSize(builder, listSize);\n return FixedSizeList.endFixedSizeList(builder);\n }\n}\n\n//# sourceMappingURL=fixed-size-list.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nexport var Precision;\n(function (Precision) {\n Precision[Precision[\"HALF\"] = 0] = \"HALF\";\n Precision[Precision[\"SINGLE\"] = 1] = \"SINGLE\";\n Precision[Precision[\"DOUBLE\"] = 2] = \"DOUBLE\";\n})(Precision || (Precision = {}));\n\n//# sourceMappingURL=precision.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { Precision } from './precision.mjs';\nexport class FloatingPoint {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsFloatingPoint(bb, obj) {\n return (obj || new FloatingPoint()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsFloatingPoint(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new FloatingPoint()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n precision() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt16(this.bb_pos + offset) : Precision.HALF;\n }\n static startFloatingPoint(builder) {\n builder.startObject(1);\n }\n static addPrecision(builder, precision) {\n builder.addFieldInt16(0, precision, Precision.HALF);\n }\n static endFloatingPoint(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createFloatingPoint(builder, precision) {\n FloatingPoint.startFloatingPoint(builder);\n FloatingPoint.addPrecision(builder, precision);\n return FloatingPoint.endFloatingPoint(builder);\n }\n}\n\n//# sourceMappingURL=floating-point.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nexport var IntervalUnit;\n(function (IntervalUnit) {\n IntervalUnit[IntervalUnit[\"YEAR_MONTH\"] = 0] = \"YEAR_MONTH\";\n IntervalUnit[IntervalUnit[\"DAY_TIME\"] = 1] = \"DAY_TIME\";\n IntervalUnit[IntervalUnit[\"MONTH_DAY_NANO\"] = 2] = \"MONTH_DAY_NANO\";\n})(IntervalUnit || (IntervalUnit = {}));\n\n//# sourceMappingURL=interval-unit.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { IntervalUnit } from './interval-unit.mjs';\nexport class Interval {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsInterval(bb, obj) {\n return (obj || new Interval()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsInterval(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Interval()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n unit() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt16(this.bb_pos + offset) : IntervalUnit.YEAR_MONTH;\n }\n static startInterval(builder) {\n builder.startObject(1);\n }\n static addUnit(builder, unit) {\n builder.addFieldInt16(0, unit, IntervalUnit.YEAR_MONTH);\n }\n static endInterval(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createInterval(builder, unit) {\n Interval.startInterval(builder);\n Interval.addUnit(builder, unit);\n return Interval.endInterval(builder);\n }\n}\n\n//# sourceMappingURL=interval.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nexport class List {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsList(bb, obj) {\n return (obj || new List()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsList(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new List()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static startList(builder) {\n builder.startObject(0);\n }\n static endList(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createList(builder) {\n List.startList(builder);\n return List.endList(builder);\n }\n}\n\n//# sourceMappingURL=list.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\n/**\n * A Map is a logical nested type that is represented as\n *\n * List>\n *\n * In this layout, the keys and values are each respectively contiguous. We do\n * not constrain the key and value types, so the application is responsible\n * for ensuring that the keys are hashable and unique. Whether the keys are sorted\n * may be set in the metadata for this field.\n *\n * In a field with Map type, the field has a child Struct field, which then\n * has two children: key type and the second the value type. The names of the\n * child fields may be respectively \"entries\", \"key\", and \"value\", but this is\n * not enforced.\n *\n * Map\n * ```text\n * - child[0] entries: Struct\n * - child[0] key: K\n * - child[1] value: V\n * ```\n * Neither the \"entries\" field nor the \"key\" field may be nullable.\n *\n * The metadata is structured so that Arrow systems without special handling\n * for Map can make Map an alias for List. The \"layout\" attribute for the Map\n * field must have the same contents as a List.\n */\nexport class Map {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsMap(bb, obj) {\n return (obj || new Map()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsMap(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Map()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n /**\n * Set to true if the keys within each value are sorted\n */\n keysSorted() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false;\n }\n static startMap(builder) {\n builder.startObject(1);\n }\n static addKeysSorted(builder, keysSorted) {\n builder.addFieldInt8(0, +keysSorted, +false);\n }\n static endMap(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createMap(builder, keysSorted) {\n Map.startMap(builder);\n Map.addKeysSorted(builder, keysSorted);\n return Map.endMap(builder);\n }\n}\n\n//# sourceMappingURL=map.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\n/**\n * These are stored in the flatbuffer in the Type union below\n */\nexport class Null {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsNull(bb, obj) {\n return (obj || new Null()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsNull(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Null()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static startNull(builder) {\n builder.startObject(0);\n }\n static endNull(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createNull(builder) {\n Null.startNull(builder);\n return Null.endNull(builder);\n }\n}\n\n//# sourceMappingURL=null.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\n/**\n * A Struct_ in the flatbuffer metadata is the same as an Arrow Struct\n * (according to the physical memory layout). We used Struct_ here as\n * Struct is a reserved word in Flatbuffers\n */\nexport class Struct_ {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsStruct_(bb, obj) {\n return (obj || new Struct_()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsStruct_(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Struct_()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static startStruct_(builder) {\n builder.startObject(0);\n }\n static endStruct_(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createStruct_(builder) {\n Struct_.startStruct_(builder);\n return Struct_.endStruct_(builder);\n }\n}\n\n//# sourceMappingURL=struct_.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { TimeUnit } from './time-unit.mjs';\n/**\n * Time is either a 32-bit or 64-bit signed integer type representing an\n * elapsed time since midnight, stored in either of four units: seconds,\n * milliseconds, microseconds or nanoseconds.\n *\n * The integer `bitWidth` depends on the `unit` and must be one of the following:\n * * SECOND and MILLISECOND: 32 bits\n * * MICROSECOND and NANOSECOND: 64 bits\n *\n * The allowed values are between 0 (inclusive) and 86400 (=24*60*60) seconds\n * (exclusive), adjusted for the time unit (for example, up to 86400000\n * exclusive for the MILLISECOND unit).\n * This definition doesn't allow for leap seconds. Time values from\n * measurements with leap seconds will need to be corrected when ingesting\n * into Arrow (for example by replacing the value 86400 with 86399).\n */\nexport class Time {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsTime(bb, obj) {\n return (obj || new Time()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsTime(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Time()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n unit() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt16(this.bb_pos + offset) : TimeUnit.MILLISECOND;\n }\n bitWidth() {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? this.bb.readInt32(this.bb_pos + offset) : 32;\n }\n static startTime(builder) {\n builder.startObject(2);\n }\n static addUnit(builder, unit) {\n builder.addFieldInt16(0, unit, TimeUnit.MILLISECOND);\n }\n static addBitWidth(builder, bitWidth) {\n builder.addFieldInt32(1, bitWidth, 32);\n }\n static endTime(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createTime(builder, unit, bitWidth) {\n Time.startTime(builder);\n Time.addUnit(builder, unit);\n Time.addBitWidth(builder, bitWidth);\n return Time.endTime(builder);\n }\n}\n\n//# sourceMappingURL=time.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { TimeUnit } from './time-unit.mjs';\n/**\n * Timestamp is a 64-bit signed integer representing an elapsed time since a\n * fixed epoch, stored in either of four units: seconds, milliseconds,\n * microseconds or nanoseconds, and is optionally annotated with a timezone.\n *\n * Timestamp values do not include any leap seconds (in other words, all\n * days are considered 86400 seconds long).\n *\n * Timestamps with a non-empty timezone\n * ------------------------------------\n *\n * If a Timestamp column has a non-empty timezone value, its epoch is\n * 1970-01-01 00:00:00 (January 1st 1970, midnight) in the *UTC* timezone\n * (the Unix epoch), regardless of the Timestamp's own timezone.\n *\n * Therefore, timestamp values with a non-empty timezone correspond to\n * physical points in time together with some additional information about\n * how the data was obtained and/or how to display it (the timezone).\n *\n * For example, the timestamp value 0 with the timezone string \"Europe/Paris\"\n * corresponds to \"January 1st 1970, 00h00\" in the UTC timezone, but the\n * application may prefer to display it as \"January 1st 1970, 01h00\" in\n * the Europe/Paris timezone (which is the same physical point in time).\n *\n * One consequence is that timestamp values with a non-empty timezone\n * can be compared and ordered directly, since they all share the same\n * well-known point of reference (the Unix epoch).\n *\n * Timestamps with an unset / empty timezone\n * -----------------------------------------\n *\n * If a Timestamp column has no timezone value, its epoch is\n * 1970-01-01 00:00:00 (January 1st 1970, midnight) in an *unknown* timezone.\n *\n * Therefore, timestamp values without a timezone cannot be meaningfully\n * interpreted as physical points in time, but only as calendar / clock\n * indications (\"wall clock time\") in an unspecified timezone.\n *\n * For example, the timestamp value 0 with an empty timezone string\n * corresponds to \"January 1st 1970, 00h00\" in an unknown timezone: there\n * is not enough information to interpret it as a well-defined physical\n * point in time.\n *\n * One consequence is that timestamp values without a timezone cannot\n * be reliably compared or ordered, since they may have different points of\n * reference. In particular, it is *not* possible to interpret an unset\n * or empty timezone as the same as \"UTC\".\n *\n * Conversion between timezones\n * ----------------------------\n *\n * If a Timestamp column has a non-empty timezone, changing the timezone\n * to a different non-empty value is a metadata-only operation:\n * the timestamp values need not change as their point of reference remains\n * the same (the Unix epoch).\n *\n * However, if a Timestamp column has no timezone value, changing it to a\n * non-empty value requires to think about the desired semantics.\n * One possibility is to assume that the original timestamp values are\n * relative to the epoch of the timezone being set; timestamp values should\n * then adjusted to the Unix epoch (for example, changing the timezone from\n * empty to \"Europe/Paris\" would require converting the timestamp values\n * from \"Europe/Paris\" to \"UTC\", which seems counter-intuitive but is\n * nevertheless correct).\n *\n * Guidelines for encoding data from external libraries\n * ----------------------------------------------------\n *\n * Date & time libraries often have multiple different data types for temporal\n * data. In order to ease interoperability between different implementations the\n * Arrow project has some recommendations for encoding these types into a Timestamp\n * column.\n *\n * An \"instant\" represents a physical point in time that has no relevant timezone\n * (for example, astronomical data). To encode an instant, use a Timestamp with\n * the timezone string set to \"UTC\", and make sure the Timestamp values\n * are relative to the UTC epoch (January 1st 1970, midnight).\n *\n * A \"zoned date-time\" represents a physical point in time annotated with an\n * informative timezone (for example, the timezone in which the data was\n * recorded). To encode a zoned date-time, use a Timestamp with the timezone\n * string set to the name of the timezone, and make sure the Timestamp values\n * are relative to the UTC epoch (January 1st 1970, midnight).\n *\n * (There is some ambiguity between an instant and a zoned date-time with the\n * UTC timezone. Both of these are stored the same in Arrow. Typically,\n * this distinction does not matter. If it does, then an application should\n * use custom metadata or an extension type to distinguish between the two cases.)\n *\n * An \"offset date-time\" represents a physical point in time combined with an\n * explicit offset from UTC. To encode an offset date-time, use a Timestamp\n * with the timezone string set to the numeric timezone offset string\n * (e.g. \"+03:00\"), and make sure the Timestamp values are relative to\n * the UTC epoch (January 1st 1970, midnight).\n *\n * A \"naive date-time\" (also called \"local date-time\" in some libraries)\n * represents a wall clock time combined with a calendar date, but with\n * no indication of how to map this information to a physical point in time.\n * Naive date-times must be handled with care because of this missing\n * information, and also because daylight saving time (DST) may make\n * some values ambiguous or non-existent. A naive date-time may be\n * stored as a struct with Date and Time fields. However, it may also be\n * encoded into a Timestamp column with an empty timezone. The timestamp\n * values should be computed \"as if\" the timezone of the date-time values\n * was UTC; for example, the naive date-time \"January 1st 1970, 00h00\" would\n * be encoded as timestamp value 0.\n */\nexport class Timestamp {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsTimestamp(bb, obj) {\n return (obj || new Timestamp()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsTimestamp(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Timestamp()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n unit() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt16(this.bb_pos + offset) : TimeUnit.SECOND;\n }\n timezone(optionalEncoding) {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;\n }\n static startTimestamp(builder) {\n builder.startObject(2);\n }\n static addUnit(builder, unit) {\n builder.addFieldInt16(0, unit, TimeUnit.SECOND);\n }\n static addTimezone(builder, timezoneOffset) {\n builder.addFieldOffset(1, timezoneOffset, 0);\n }\n static endTimestamp(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createTimestamp(builder, unit, timezoneOffset) {\n Timestamp.startTimestamp(builder);\n Timestamp.addUnit(builder, unit);\n Timestamp.addTimezone(builder, timezoneOffset);\n return Timestamp.endTimestamp(builder);\n }\n}\n\n//# sourceMappingURL=timestamp.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nexport var UnionMode;\n(function (UnionMode) {\n UnionMode[UnionMode[\"Sparse\"] = 0] = \"Sparse\";\n UnionMode[UnionMode[\"Dense\"] = 1] = \"Dense\";\n})(UnionMode || (UnionMode = {}));\n\n//# sourceMappingURL=union-mode.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { UnionMode } from './union-mode.mjs';\n/**\n * A union is a complex type with children in Field\n * By default ids in the type vector refer to the offsets in the children\n * optionally typeIds provides an indirection between the child offset and the type id\n * for each child `typeIds[offset]` is the id used in the type vector\n */\nexport class Union {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsUnion(bb, obj) {\n return (obj || new Union()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsUnion(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Union()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n mode() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt16(this.bb_pos + offset) : UnionMode.Sparse;\n }\n typeIds(index) {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? this.bb.readInt32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0;\n }\n typeIdsLength() {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\n }\n typeIdsArray() {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? new Int32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;\n }\n static startUnion(builder) {\n builder.startObject(2);\n }\n static addMode(builder, mode) {\n builder.addFieldInt16(0, mode, UnionMode.Sparse);\n }\n static addTypeIds(builder, typeIdsOffset) {\n builder.addFieldOffset(1, typeIdsOffset, 0);\n }\n static createTypeIdsVector(builder, data) {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt32(data[i]);\n }\n return builder.endVector();\n }\n static startTypeIdsVector(builder, numElems) {\n builder.startVector(4, numElems, 4);\n }\n static endUnion(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createUnion(builder, mode, typeIdsOffset) {\n Union.startUnion(builder);\n Union.addMode(builder, mode);\n Union.addTypeIds(builder, typeIdsOffset);\n return Union.endUnion(builder);\n }\n}\n\n//# sourceMappingURL=union.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\n/**\n * Unicode with UTF-8 encoding\n */\nexport class Utf8 {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsUtf8(bb, obj) {\n return (obj || new Utf8()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsUtf8(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Utf8()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static startUtf8(builder) {\n builder.startObject(0);\n }\n static endUtf8(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createUtf8(builder) {\n Utf8.startUtf8(builder);\n return Utf8.endUtf8(builder);\n }\n}\n\n//# sourceMappingURL=utf8.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport { Binary } from './binary.mjs';\nimport { Bool } from './bool.mjs';\nimport { Date } from './date.mjs';\nimport { Decimal } from './decimal.mjs';\nimport { Duration } from './duration.mjs';\nimport { FixedSizeBinary } from './fixed-size-binary.mjs';\nimport { FixedSizeList } from './fixed-size-list.mjs';\nimport { FloatingPoint } from './floating-point.mjs';\nimport { Int } from './int.mjs';\nimport { Interval } from './interval.mjs';\nimport { LargeBinary } from './large-binary.mjs';\nimport { LargeList } from './large-list.mjs';\nimport { LargeUtf8 } from './large-utf8.mjs';\nimport { List } from './list.mjs';\nimport { Map } from './map.mjs';\nimport { Null } from './null.mjs';\nimport { Struct_ } from './struct_.mjs';\nimport { Time } from './time.mjs';\nimport { Timestamp } from './timestamp.mjs';\nimport { Union } from './union.mjs';\nimport { Utf8 } from './utf8.mjs';\n/**\n * ----------------------------------------------------------------------\n * Top-level Type value, enabling extensible type-specific metadata. We can\n * add new logical types to Type without breaking backwards compatibility\n */\nexport var Type;\n(function (Type) {\n Type[Type[\"NONE\"] = 0] = \"NONE\";\n Type[Type[\"Null\"] = 1] = \"Null\";\n Type[Type[\"Int\"] = 2] = \"Int\";\n Type[Type[\"FloatingPoint\"] = 3] = \"FloatingPoint\";\n Type[Type[\"Binary\"] = 4] = \"Binary\";\n Type[Type[\"Utf8\"] = 5] = \"Utf8\";\n Type[Type[\"Bool\"] = 6] = \"Bool\";\n Type[Type[\"Decimal\"] = 7] = \"Decimal\";\n Type[Type[\"Date\"] = 8] = \"Date\";\n Type[Type[\"Time\"] = 9] = \"Time\";\n Type[Type[\"Timestamp\"] = 10] = \"Timestamp\";\n Type[Type[\"Interval\"] = 11] = \"Interval\";\n Type[Type[\"List\"] = 12] = \"List\";\n Type[Type[\"Struct_\"] = 13] = \"Struct_\";\n Type[Type[\"Union\"] = 14] = \"Union\";\n Type[Type[\"FixedSizeBinary\"] = 15] = \"FixedSizeBinary\";\n Type[Type[\"FixedSizeList\"] = 16] = \"FixedSizeList\";\n Type[Type[\"Map\"] = 17] = \"Map\";\n Type[Type[\"Duration\"] = 18] = \"Duration\";\n Type[Type[\"LargeBinary\"] = 19] = \"LargeBinary\";\n Type[Type[\"LargeUtf8\"] = 20] = \"LargeUtf8\";\n Type[Type[\"LargeList\"] = 21] = \"LargeList\";\n})(Type || (Type = {}));\nexport function unionToType(type, accessor) {\n switch (Type[type]) {\n case 'NONE': return null;\n case 'Null': return accessor(new Null());\n case 'Int': return accessor(new Int());\n case 'FloatingPoint': return accessor(new FloatingPoint());\n case 'Binary': return accessor(new Binary());\n case 'Utf8': return accessor(new Utf8());\n case 'Bool': return accessor(new Bool());\n case 'Decimal': return accessor(new Decimal());\n case 'Date': return accessor(new Date());\n case 'Time': return accessor(new Time());\n case 'Timestamp': return accessor(new Timestamp());\n case 'Interval': return accessor(new Interval());\n case 'List': return accessor(new List());\n case 'Struct_': return accessor(new Struct_());\n case 'Union': return accessor(new Union());\n case 'FixedSizeBinary': return accessor(new FixedSizeBinary());\n case 'FixedSizeList': return accessor(new FixedSizeList());\n case 'Map': return accessor(new Map());\n case 'Duration': return accessor(new Duration());\n case 'LargeBinary': return accessor(new LargeBinary());\n case 'LargeUtf8': return accessor(new LargeUtf8());\n case 'LargeList': return accessor(new LargeList());\n default: return null;\n }\n}\nexport function unionListToType(type, accessor, index) {\n switch (Type[type]) {\n case 'NONE': return null;\n case 'Null': return accessor(index, new Null());\n case 'Int': return accessor(index, new Int());\n case 'FloatingPoint': return accessor(index, new FloatingPoint());\n case 'Binary': return accessor(index, new Binary());\n case 'Utf8': return accessor(index, new Utf8());\n case 'Bool': return accessor(index, new Bool());\n case 'Decimal': return accessor(index, new Decimal());\n case 'Date': return accessor(index, new Date());\n case 'Time': return accessor(index, new Time());\n case 'Timestamp': return accessor(index, new Timestamp());\n case 'Interval': return accessor(index, new Interval());\n case 'List': return accessor(index, new List());\n case 'Struct_': return accessor(index, new Struct_());\n case 'Union': return accessor(index, new Union());\n case 'FixedSizeBinary': return accessor(index, new FixedSizeBinary());\n case 'FixedSizeList': return accessor(index, new FixedSizeList());\n case 'Map': return accessor(index, new Map());\n case 'Duration': return accessor(index, new Duration());\n case 'LargeBinary': return accessor(index, new LargeBinary());\n case 'LargeUtf8': return accessor(index, new LargeUtf8());\n case 'LargeList': return accessor(index, new LargeList());\n default: return null;\n }\n}\n\n//# sourceMappingURL=type.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { DictionaryEncoding } from './dictionary-encoding.mjs';\nimport { KeyValue } from './key-value.mjs';\nimport { Type } from './type.mjs';\n/**\n * ----------------------------------------------------------------------\n * A field represents a named column in a record / row batch or child of a\n * nested type.\n */\nexport class Field {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsField(bb, obj) {\n return (obj || new Field()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsField(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Field()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n name(optionalEncoding) {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;\n }\n /**\n * Whether or not this field can contain nulls. Should be true in general.\n */\n nullable() {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false;\n }\n typeType() {\n const offset = this.bb.__offset(this.bb_pos, 8);\n return offset ? this.bb.readUint8(this.bb_pos + offset) : Type.NONE;\n }\n /**\n * This is the type of the decoded value if the field is dictionary encoded.\n */\n // @ts-ignore\n type(obj) {\n const offset = this.bb.__offset(this.bb_pos, 10);\n return offset ? this.bb.__union(obj, this.bb_pos + offset) : null;\n }\n /**\n * Present only if the field is dictionary encoded.\n */\n dictionary(obj) {\n const offset = this.bb.__offset(this.bb_pos, 12);\n return offset ? (obj || new DictionaryEncoding()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;\n }\n /**\n * children apply only to nested data types like Struct, List and Union. For\n * primitive types children will have length 0.\n */\n children(index, obj) {\n const offset = this.bb.__offset(this.bb_pos, 14);\n return offset ? (obj || new Field()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;\n }\n childrenLength() {\n const offset = this.bb.__offset(this.bb_pos, 14);\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\n }\n /**\n * User-defined metadata\n */\n customMetadata(index, obj) {\n const offset = this.bb.__offset(this.bb_pos, 16);\n return offset ? (obj || new KeyValue()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;\n }\n customMetadataLength() {\n const offset = this.bb.__offset(this.bb_pos, 16);\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\n }\n static startField(builder) {\n builder.startObject(7);\n }\n static addName(builder, nameOffset) {\n builder.addFieldOffset(0, nameOffset, 0);\n }\n static addNullable(builder, nullable) {\n builder.addFieldInt8(1, +nullable, +false);\n }\n static addTypeType(builder, typeType) {\n builder.addFieldInt8(2, typeType, Type.NONE);\n }\n static addType(builder, typeOffset) {\n builder.addFieldOffset(3, typeOffset, 0);\n }\n static addDictionary(builder, dictionaryOffset) {\n builder.addFieldOffset(4, dictionaryOffset, 0);\n }\n static addChildren(builder, childrenOffset) {\n builder.addFieldOffset(5, childrenOffset, 0);\n }\n static createChildrenVector(builder, data) {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n static startChildrenVector(builder, numElems) {\n builder.startVector(4, numElems, 4);\n }\n static addCustomMetadata(builder, customMetadataOffset) {\n builder.addFieldOffset(6, customMetadataOffset, 0);\n }\n static createCustomMetadataVector(builder, data) {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n static startCustomMetadataVector(builder, numElems) {\n builder.startVector(4, numElems, 4);\n }\n static endField(builder) {\n const offset = builder.endObject();\n return offset;\n }\n}\n\n//# sourceMappingURL=field.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { Endianness } from './endianness.mjs';\nimport { Field } from './field.mjs';\nimport { KeyValue } from './key-value.mjs';\n/**\n * ----------------------------------------------------------------------\n * A Schema describes the columns in a row batch\n */\nexport class Schema {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsSchema(bb, obj) {\n return (obj || new Schema()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsSchema(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Schema()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n /**\n * endianness of the buffer\n * it is Little Endian by default\n * if endianness doesn't match the underlying system then the vectors need to be converted\n */\n endianness() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt16(this.bb_pos + offset) : Endianness.Little;\n }\n fields(index, obj) {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? (obj || new Field()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;\n }\n fieldsLength() {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\n }\n customMetadata(index, obj) {\n const offset = this.bb.__offset(this.bb_pos, 8);\n return offset ? (obj || new KeyValue()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;\n }\n customMetadataLength() {\n const offset = this.bb.__offset(this.bb_pos, 8);\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\n }\n /**\n * Features used in the stream/file.\n */\n features(index) {\n const offset = this.bb.__offset(this.bb_pos, 10);\n return offset ? this.bb.readInt64(this.bb.__vector(this.bb_pos + offset) + index * 8) : this.bb.createLong(0, 0);\n }\n featuresLength() {\n const offset = this.bb.__offset(this.bb_pos, 10);\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\n }\n static startSchema(builder) {\n builder.startObject(4);\n }\n static addEndianness(builder, endianness) {\n builder.addFieldInt16(0, endianness, Endianness.Little);\n }\n static addFields(builder, fieldsOffset) {\n builder.addFieldOffset(1, fieldsOffset, 0);\n }\n static createFieldsVector(builder, data) {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n static startFieldsVector(builder, numElems) {\n builder.startVector(4, numElems, 4);\n }\n static addCustomMetadata(builder, customMetadataOffset) {\n builder.addFieldOffset(2, customMetadataOffset, 0);\n }\n static createCustomMetadataVector(builder, data) {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n static startCustomMetadataVector(builder, numElems) {\n builder.startVector(4, numElems, 4);\n }\n static addFeatures(builder, featuresOffset) {\n builder.addFieldOffset(3, featuresOffset, 0);\n }\n static createFeaturesVector(builder, data) {\n builder.startVector(8, data.length, 8);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt64(data[i]);\n }\n return builder.endVector();\n }\n static startFeaturesVector(builder, numElems) {\n builder.startVector(8, numElems, 8);\n }\n static endSchema(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static finishSchemaBuffer(builder, offset) {\n builder.finish(offset);\n }\n static finishSizePrefixedSchemaBuffer(builder, offset) {\n builder.finish(offset, undefined, true);\n }\n static createSchema(builder, endianness, fieldsOffset, customMetadataOffset, featuresOffset) {\n Schema.startSchema(builder);\n Schema.addEndianness(builder, endianness);\n Schema.addFields(builder, fieldsOffset);\n Schema.addCustomMetadata(builder, customMetadataOffset);\n Schema.addFeatures(builder, featuresOffset);\n return Schema.endSchema(builder);\n }\n}\n\n//# sourceMappingURL=schema.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { Block } from './block.mjs';\nimport { KeyValue } from './key-value.mjs';\nimport { MetadataVersion } from './metadata-version.mjs';\nimport { Schema } from './schema.mjs';\n/**\n * ----------------------------------------------------------------------\n * Arrow File metadata\n *\n */\nexport class Footer {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsFooter(bb, obj) {\n return (obj || new Footer()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsFooter(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Footer()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n version() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt16(this.bb_pos + offset) : MetadataVersion.V1;\n }\n schema(obj) {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? (obj || new Schema()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;\n }\n dictionaries(index, obj) {\n const offset = this.bb.__offset(this.bb_pos, 8);\n return offset ? (obj || new Block()).__init(this.bb.__vector(this.bb_pos + offset) + index * 24, this.bb) : null;\n }\n dictionariesLength() {\n const offset = this.bb.__offset(this.bb_pos, 8);\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\n }\n recordBatches(index, obj) {\n const offset = this.bb.__offset(this.bb_pos, 10);\n return offset ? (obj || new Block()).__init(this.bb.__vector(this.bb_pos + offset) + index * 24, this.bb) : null;\n }\n recordBatchesLength() {\n const offset = this.bb.__offset(this.bb_pos, 10);\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\n }\n /**\n * User-defined metadata\n */\n customMetadata(index, obj) {\n const offset = this.bb.__offset(this.bb_pos, 12);\n return offset ? (obj || new KeyValue()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;\n }\n customMetadataLength() {\n const offset = this.bb.__offset(this.bb_pos, 12);\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\n }\n static startFooter(builder) {\n builder.startObject(5);\n }\n static addVersion(builder, version) {\n builder.addFieldInt16(0, version, MetadataVersion.V1);\n }\n static addSchema(builder, schemaOffset) {\n builder.addFieldOffset(1, schemaOffset, 0);\n }\n static addDictionaries(builder, dictionariesOffset) {\n builder.addFieldOffset(2, dictionariesOffset, 0);\n }\n static startDictionariesVector(builder, numElems) {\n builder.startVector(24, numElems, 8);\n }\n static addRecordBatches(builder, recordBatchesOffset) {\n builder.addFieldOffset(3, recordBatchesOffset, 0);\n }\n static startRecordBatchesVector(builder, numElems) {\n builder.startVector(24, numElems, 8);\n }\n static addCustomMetadata(builder, customMetadataOffset) {\n builder.addFieldOffset(4, customMetadataOffset, 0);\n }\n static createCustomMetadataVector(builder, data) {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n static startCustomMetadataVector(builder, numElems) {\n builder.startVector(4, numElems, 4);\n }\n static endFooter(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static finishFooterBuffer(builder, offset) {\n builder.finish(offset);\n }\n static finishSizePrefixedFooterBuffer(builder, offset) {\n builder.finish(offset, undefined, true);\n }\n}\n\n//# sourceMappingURL=footer.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { DataType } from './type.mjs';\nexport class Schema {\n constructor(fields = [], metadata, dictionaries) {\n this.fields = (fields || []);\n this.metadata = metadata || new Map();\n if (!dictionaries) {\n dictionaries = generateDictionaryMap(fields);\n }\n this.dictionaries = dictionaries;\n }\n get [Symbol.toStringTag]() { return 'Schema'; }\n get names() { return this.fields.map((f) => f.name); }\n toString() {\n return `Schema<{ ${this.fields.map((f, i) => `${i}: ${f}`).join(', ')} }>`;\n }\n /**\n * Construct a new Schema containing only specified fields.\n *\n * @param fieldNames Names of fields to keep.\n * @returns A new Schema of fields matching the specified names.\n */\n select(fieldNames) {\n const names = new Set(fieldNames);\n const fields = this.fields.filter((f) => names.has(f.name));\n return new Schema(fields, this.metadata);\n }\n /**\n * Construct a new Schema containing only fields at the specified indices.\n *\n * @param fieldIndices Indices of fields to keep.\n * @returns A new Schema of fields at the specified indices.\n */\n selectAt(fieldIndices) {\n const fields = fieldIndices.map((i) => this.fields[i]).filter(Boolean);\n return new Schema(fields, this.metadata);\n }\n assign(...args) {\n const other = (args[0] instanceof Schema\n ? args[0]\n : Array.isArray(args[0])\n ? new Schema(args[0])\n : new Schema(args));\n const curFields = [...this.fields];\n const metadata = mergeMaps(mergeMaps(new Map(), this.metadata), other.metadata);\n const newFields = other.fields.filter((f2) => {\n const i = curFields.findIndex((f) => f.name === f2.name);\n return ~i ? (curFields[i] = f2.clone({\n metadata: mergeMaps(mergeMaps(new Map(), curFields[i].metadata), f2.metadata)\n })) && false : true;\n });\n const newDictionaries = generateDictionaryMap(newFields, new Map());\n return new Schema([...curFields, ...newFields], metadata, new Map([...this.dictionaries, ...newDictionaries]));\n }\n}\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\nSchema.prototype.fields = null;\nSchema.prototype.metadata = null;\nSchema.prototype.dictionaries = null;\nexport class Field {\n constructor(name, type, nullable = false, metadata) {\n this.name = name;\n this.type = type;\n this.nullable = nullable;\n this.metadata = metadata || new Map();\n }\n /** @nocollapse */\n static new(...args) {\n let [name, type, nullable, metadata] = args;\n if (args[0] && typeof args[0] === 'object') {\n ({ name } = args[0]);\n (type === undefined) && (type = args[0].type);\n (nullable === undefined) && (nullable = args[0].nullable);\n (metadata === undefined) && (metadata = args[0].metadata);\n }\n return new Field(`${name}`, type, nullable, metadata);\n }\n get typeId() { return this.type.typeId; }\n get [Symbol.toStringTag]() { return 'Field'; }\n toString() { return `${this.name}: ${this.type}`; }\n clone(...args) {\n let [name, type, nullable, metadata] = args;\n (!args[0] || typeof args[0] !== 'object')\n ? ([name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata] = args)\n : ({ name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata } = args[0]);\n return Field.new(name, type, nullable, metadata);\n }\n}\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\nField.prototype.type = null;\nField.prototype.name = null;\nField.prototype.nullable = null;\nField.prototype.metadata = null;\n/** @ignore */\nfunction mergeMaps(m1, m2) {\n return new Map([...(m1 || new Map()), ...(m2 || new Map())]);\n}\n/** @ignore */\nfunction generateDictionaryMap(fields, dictionaries = new Map()) {\n for (let i = -1, n = fields.length; ++i < n;) {\n const field = fields[i];\n const type = field.type;\n if (DataType.isDictionary(type)) {\n if (!dictionaries.has(type.id)) {\n dictionaries.set(type.id, type.dictionary);\n }\n else if (dictionaries.get(type.id) !== type.dictionary) {\n throw new Error(`Cannot create Schema containing two different dictionaries with the same Id`);\n }\n }\n if (type.children && type.children.length > 0) {\n generateDictionaryMap(type.children, dictionaries);\n }\n }\n return dictionaries;\n}\n\n//# sourceMappingURL=schema.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n/* eslint-disable @typescript-eslint/naming-convention */\nimport { Block as _Block } from '../../fb/block.mjs';\nimport { Footer as _Footer } from '../../fb/footer.mjs';\nimport * as flatbuffers from 'flatbuffers';\nvar Long = flatbuffers.Long;\nvar Builder = flatbuffers.Builder;\nvar ByteBuffer = flatbuffers.ByteBuffer;\nimport { Schema } from '../../schema.mjs';\nimport { MetadataVersion } from '../../enum.mjs';\nimport { toUint8Array } from '../../util/buffer.mjs';\n/** @ignore */\nclass Footer_ {\n constructor(schema, version = MetadataVersion.V4, recordBatches, dictionaryBatches) {\n this.schema = schema;\n this.version = version;\n recordBatches && (this._recordBatches = recordBatches);\n dictionaryBatches && (this._dictionaryBatches = dictionaryBatches);\n }\n /** @nocollapse */\n static decode(buf) {\n buf = new ByteBuffer(toUint8Array(buf));\n const footer = _Footer.getRootAsFooter(buf);\n const schema = Schema.decode(footer.schema());\n return new OffHeapFooter(schema, footer);\n }\n /** @nocollapse */\n static encode(footer) {\n const b = new Builder();\n const schemaOffset = Schema.encode(b, footer.schema);\n _Footer.startRecordBatchesVector(b, footer.numRecordBatches);\n for (const rb of [...footer.recordBatches()].slice().reverse()) {\n FileBlock.encode(b, rb);\n }\n const recordBatchesOffset = b.endVector();\n _Footer.startDictionariesVector(b, footer.numDictionaries);\n for (const db of [...footer.dictionaryBatches()].slice().reverse()) {\n FileBlock.encode(b, db);\n }\n const dictionaryBatchesOffset = b.endVector();\n _Footer.startFooter(b);\n _Footer.addSchema(b, schemaOffset);\n _Footer.addVersion(b, MetadataVersion.V4);\n _Footer.addRecordBatches(b, recordBatchesOffset);\n _Footer.addDictionaries(b, dictionaryBatchesOffset);\n _Footer.finishFooterBuffer(b, _Footer.endFooter(b));\n return b.asUint8Array();\n }\n get numRecordBatches() { return this._recordBatches.length; }\n get numDictionaries() { return this._dictionaryBatches.length; }\n *recordBatches() {\n for (let block, i = -1, n = this.numRecordBatches; ++i < n;) {\n if (block = this.getRecordBatch(i)) {\n yield block;\n }\n }\n }\n *dictionaryBatches() {\n for (let block, i = -1, n = this.numDictionaries; ++i < n;) {\n if (block = this.getDictionaryBatch(i)) {\n yield block;\n }\n }\n }\n getRecordBatch(index) {\n return index >= 0\n && index < this.numRecordBatches\n && this._recordBatches[index] || null;\n }\n getDictionaryBatch(index) {\n return index >= 0\n && index < this.numDictionaries\n && this._dictionaryBatches[index] || null;\n }\n}\nexport { Footer_ as Footer };\n/** @ignore */\nclass OffHeapFooter extends Footer_ {\n constructor(schema, _footer) {\n super(schema, _footer.version());\n this._footer = _footer;\n }\n get numRecordBatches() { return this._footer.recordBatchesLength(); }\n get numDictionaries() { return this._footer.dictionariesLength(); }\n getRecordBatch(index) {\n if (index >= 0 && index < this.numRecordBatches) {\n const fileBlock = this._footer.recordBatches(index);\n if (fileBlock) {\n return FileBlock.decode(fileBlock);\n }\n }\n return null;\n }\n getDictionaryBatch(index) {\n if (index >= 0 && index < this.numDictionaries) {\n const fileBlock = this._footer.dictionaries(index);\n if (fileBlock) {\n return FileBlock.decode(fileBlock);\n }\n }\n return null;\n }\n}\n/** @ignore */\nexport class FileBlock {\n constructor(metaDataLength, bodyLength, offset) {\n this.metaDataLength = metaDataLength;\n this.offset = typeof offset === 'number' ? offset : offset.low;\n this.bodyLength = typeof bodyLength === 'number' ? bodyLength : bodyLength.low;\n }\n /** @nocollapse */\n static decode(block) {\n return new FileBlock(block.metaDataLength(), block.bodyLength(), block.offset());\n }\n /** @nocollapse */\n static encode(b, fileBlock) {\n const { metaDataLength } = fileBlock;\n const offset = new Long(fileBlock.offset, 0);\n const bodyLength = new Long(fileBlock.bodyLength, 0);\n return _Block.createBlock(b, offset, metaDataLength, bodyLength);\n }\n}\n\n//# sourceMappingURL=file.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { __awaiter } from \"tslib\";\nimport streamAdapters from './adapters.mjs';\n/** @ignore */\nexport const ITERATOR_DONE = Object.freeze({ done: true, value: void (0) });\n/** @ignore */\nexport class ArrowJSON {\n constructor(_json) {\n this._json = _json;\n }\n get schema() { return this._json['schema']; }\n get batches() { return (this._json['batches'] || []); }\n get dictionaries() { return (this._json['dictionaries'] || []); }\n}\n/** @ignore */\nexport class ReadableInterop {\n tee() {\n return this._getDOMStream().tee();\n }\n pipe(writable, options) {\n return this._getNodeStream().pipe(writable, options);\n }\n pipeTo(writable, options) { return this._getDOMStream().pipeTo(writable, options); }\n pipeThrough(duplex, options) {\n return this._getDOMStream().pipeThrough(duplex, options);\n }\n _getDOMStream() {\n return this._DOMStream || (this._DOMStream = this.toDOMStream());\n }\n _getNodeStream() {\n return this._nodeStream || (this._nodeStream = this.toNodeStream());\n }\n}\n/** @ignore */\nexport class AsyncQueue extends ReadableInterop {\n constructor() {\n super();\n this._values = [];\n this.resolvers = [];\n this._closedPromise = new Promise((r) => this._closedPromiseResolve = r);\n }\n get closed() { return this._closedPromise; }\n cancel(reason) {\n return __awaiter(this, void 0, void 0, function* () { yield this.return(reason); });\n }\n write(value) {\n if (this._ensureOpen()) {\n this.resolvers.length <= 0\n ? (this._values.push(value))\n : (this.resolvers.shift().resolve({ done: false, value }));\n }\n }\n abort(value) {\n if (this._closedPromiseResolve) {\n this.resolvers.length <= 0\n ? (this._error = { error: value })\n : (this.resolvers.shift().reject({ done: true, value }));\n }\n }\n close() {\n if (this._closedPromiseResolve) {\n const { resolvers } = this;\n while (resolvers.length > 0) {\n resolvers.shift().resolve(ITERATOR_DONE);\n }\n this._closedPromiseResolve();\n this._closedPromiseResolve = undefined;\n }\n }\n [Symbol.asyncIterator]() { return this; }\n toDOMStream(options) {\n return streamAdapters.toDOMStream((this._closedPromiseResolve || this._error)\n ? this\n : this._values, options);\n }\n toNodeStream(options) {\n return streamAdapters.toNodeStream((this._closedPromiseResolve || this._error)\n ? this\n : this._values, options);\n }\n throw(_) {\n return __awaiter(this, void 0, void 0, function* () { yield this.abort(_); return ITERATOR_DONE; });\n }\n return(_) {\n return __awaiter(this, void 0, void 0, function* () { yield this.close(); return ITERATOR_DONE; });\n }\n read(size) {\n return __awaiter(this, void 0, void 0, function* () { return (yield this.next(size, 'read')).value; });\n }\n peek(size) {\n return __awaiter(this, void 0, void 0, function* () { return (yield this.next(size, 'peek')).value; });\n }\n next(..._args) {\n if (this._values.length > 0) {\n return Promise.resolve({ done: false, value: this._values.shift() });\n }\n else if (this._error) {\n return Promise.reject({ done: true, value: this._error.error });\n }\n else if (!this._closedPromiseResolve) {\n return Promise.resolve(ITERATOR_DONE);\n }\n else {\n return new Promise((resolve, reject) => {\n this.resolvers.push({ resolve, reject });\n });\n }\n }\n _ensureOpen() {\n if (this._closedPromiseResolve) {\n return true;\n }\n throw new Error(`AsyncQueue is closed`);\n }\n}\n\n//# sourceMappingURL=interfaces.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { __asyncValues, __awaiter } from \"tslib\";\nimport streamAdapters from './adapters.mjs';\nimport { decodeUtf8 } from '../util/utf8.mjs';\nimport { ITERATOR_DONE, AsyncQueue } from './interfaces.mjs';\nimport { toUint8Array, joinUint8Arrays } from '../util/buffer.mjs';\nimport { isPromise, isFetchResponse, isIterable, isAsyncIterable, isReadableDOMStream, isReadableNodeStream } from '../util/compat.mjs';\n/** @ignore */\nexport class AsyncByteQueue extends AsyncQueue {\n write(value) {\n if ((value = toUint8Array(value)).byteLength > 0) {\n return super.write(value);\n }\n }\n toString(sync = false) {\n return sync\n ? decodeUtf8(this.toUint8Array(true))\n : this.toUint8Array(false).then(decodeUtf8);\n }\n toUint8Array(sync = false) {\n return sync ? joinUint8Arrays(this._values)[0] : (() => __awaiter(this, void 0, void 0, function* () {\n var e_1, _a;\n const buffers = [];\n let byteLength = 0;\n try {\n for (var _b = __asyncValues(this), _c; _c = yield _b.next(), !_c.done;) {\n const chunk = _c.value;\n buffers.push(chunk);\n byteLength += chunk.byteLength;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return joinUint8Arrays(buffers, byteLength)[0];\n }))();\n }\n}\n/** @ignore */\nexport class ByteStream {\n constructor(source) {\n if (source) {\n this.source = new ByteStreamSource(streamAdapters.fromIterable(source));\n }\n }\n [Symbol.iterator]() { return this; }\n next(value) { return this.source.next(value); }\n throw(value) { return this.source.throw(value); }\n return(value) { return this.source.return(value); }\n peek(size) { return this.source.peek(size); }\n read(size) { return this.source.read(size); }\n}\n/** @ignore */\nexport class AsyncByteStream {\n constructor(source) {\n if (source instanceof AsyncByteStream) {\n this.source = source.source;\n }\n else if (source instanceof AsyncByteQueue) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromAsyncIterable(source));\n }\n else if (isReadableNodeStream(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromNodeStream(source));\n }\n else if (isReadableDOMStream(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromDOMStream(source));\n }\n else if (isFetchResponse(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromDOMStream(source.body));\n }\n else if (isIterable(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromIterable(source));\n }\n else if (isPromise(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromAsyncIterable(source));\n }\n else if (isAsyncIterable(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromAsyncIterable(source));\n }\n }\n [Symbol.asyncIterator]() { return this; }\n next(value) { return this.source.next(value); }\n throw(value) { return this.source.throw(value); }\n return(value) { return this.source.return(value); }\n get closed() { return this.source.closed; }\n cancel(reason) { return this.source.cancel(reason); }\n peek(size) { return this.source.peek(size); }\n read(size) { return this.source.read(size); }\n}\n/** @ignore */\nclass ByteStreamSource {\n constructor(source) {\n this.source = source;\n }\n cancel(reason) { this.return(reason); }\n peek(size) { return this.next(size, 'peek').value; }\n read(size) { return this.next(size, 'read').value; }\n next(size, cmd = 'read') { return this.source.next({ cmd, size }); }\n throw(value) { return Object.create((this.source.throw && this.source.throw(value)) || ITERATOR_DONE); }\n return(value) { return Object.create((this.source.return && this.source.return(value)) || ITERATOR_DONE); }\n}\n/** @ignore */\nclass AsyncByteStreamSource {\n constructor(source) {\n this.source = source;\n this._closedPromise = new Promise((r) => this._closedPromiseResolve = r);\n }\n cancel(reason) {\n return __awaiter(this, void 0, void 0, function* () { yield this.return(reason); });\n }\n get closed() { return this._closedPromise; }\n read(size) {\n return __awaiter(this, void 0, void 0, function* () { return (yield this.next(size, 'read')).value; });\n }\n peek(size) {\n return __awaiter(this, void 0, void 0, function* () { return (yield this.next(size, 'peek')).value; });\n }\n next(size, cmd = 'read') {\n return __awaiter(this, void 0, void 0, function* () { return (yield this.source.next({ cmd, size })); });\n }\n throw(value) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = (this.source.throw && (yield this.source.throw(value))) || ITERATOR_DONE;\n this._closedPromiseResolve && this._closedPromiseResolve();\n this._closedPromiseResolve = undefined;\n return Object.create(result);\n });\n }\n return(value) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = (this.source.return && (yield this.source.return(value))) || ITERATOR_DONE;\n this._closedPromiseResolve && this._closedPromiseResolve();\n this._closedPromiseResolve = undefined;\n return Object.create(result);\n });\n }\n}\n\n//# sourceMappingURL=stream.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { __awaiter } from \"tslib\";\nimport { ByteStream, AsyncByteStream } from './stream.mjs';\nimport { toUint8Array } from '../util/buffer.mjs';\n/** @ignore */\nexport class RandomAccessFile extends ByteStream {\n constructor(buffer, byteLength) {\n super();\n this.position = 0;\n this.buffer = toUint8Array(buffer);\n this.size = typeof byteLength === 'undefined' ? this.buffer.byteLength : byteLength;\n }\n readInt32(position) {\n const { buffer, byteOffset } = this.readAt(position, 4);\n return new DataView(buffer, byteOffset).getInt32(0, true);\n }\n seek(position) {\n this.position = Math.min(position, this.size);\n return position < this.size;\n }\n read(nBytes) {\n const { buffer, size, position } = this;\n if (buffer && position < size) {\n if (typeof nBytes !== 'number') {\n nBytes = Number.POSITIVE_INFINITY;\n }\n this.position = Math.min(size, position + Math.min(size - position, nBytes));\n return buffer.subarray(position, this.position);\n }\n return null;\n }\n readAt(position, nBytes) {\n const buf = this.buffer;\n const end = Math.min(this.size, position + nBytes);\n return buf ? buf.subarray(position, end) : new Uint8Array(nBytes);\n }\n close() { this.buffer && (this.buffer = null); }\n throw(value) { this.close(); return { done: true, value }; }\n return(value) { this.close(); return { done: true, value }; }\n}\n/** @ignore */\nexport class AsyncRandomAccessFile extends AsyncByteStream {\n constructor(file, byteLength) {\n super();\n this.position = 0;\n this._handle = file;\n if (typeof byteLength === 'number') {\n this.size = byteLength;\n }\n else {\n this._pending = (() => __awaiter(this, void 0, void 0, function* () {\n this.size = (yield file.stat()).size;\n delete this._pending;\n }))();\n }\n }\n readInt32(position) {\n return __awaiter(this, void 0, void 0, function* () {\n const { buffer, byteOffset } = yield this.readAt(position, 4);\n return new DataView(buffer, byteOffset).getInt32(0, true);\n });\n }\n seek(position) {\n return __awaiter(this, void 0, void 0, function* () {\n this._pending && (yield this._pending);\n this.position = Math.min(position, this.size);\n return position < this.size;\n });\n }\n read(nBytes) {\n return __awaiter(this, void 0, void 0, function* () {\n this._pending && (yield this._pending);\n const { _handle: file, size, position } = this;\n if (file && position < size) {\n if (typeof nBytes !== 'number') {\n nBytes = Number.POSITIVE_INFINITY;\n }\n let pos = position, offset = 0, bytesRead = 0;\n const end = Math.min(size, pos + Math.min(size - pos, nBytes));\n const buffer = new Uint8Array(Math.max(0, (this.position = end) - pos));\n while ((pos += bytesRead) < end && (offset += bytesRead) < buffer.byteLength) {\n ({ bytesRead } = yield file.read(buffer, offset, buffer.byteLength - offset, pos));\n }\n return buffer;\n }\n return null;\n });\n }\n readAt(position, nBytes) {\n return __awaiter(this, void 0, void 0, function* () {\n this._pending && (yield this._pending);\n const { _handle: file, size } = this;\n if (file && (position + nBytes) < size) {\n const end = Math.min(size, position + nBytes);\n const buffer = new Uint8Array(end - position);\n return (yield file.read(buffer, 0, nBytes, position)).buffer;\n }\n return new Uint8Array(nBytes);\n });\n }\n close() {\n return __awaiter(this, void 0, void 0, function* () { const f = this._handle; this._handle = null; f && (yield f.close()); });\n }\n throw(value) {\n return __awaiter(this, void 0, void 0, function* () { yield this.close(); return { done: true, value }; });\n }\n return(value) {\n return __awaiter(this, void 0, void 0, function* () { yield this.close(); return { done: true, value }; });\n }\n}\n\n//# sourceMappingURL=file.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n/** @ignore */\nconst carryBit16 = 1 << 16;\n/** @ignore */\nfunction intAsHex(value) {\n if (value < 0) {\n value = 0xFFFFFFFF + value + 1;\n }\n return `0x${value.toString(16)}`;\n}\n/** @ignore */\nconst kInt32DecimalDigits = 8;\n/** @ignore */\nconst kPowersOfTen = [\n 1,\n 10,\n 100,\n 1000,\n 10000,\n 100000,\n 1000000,\n 10000000,\n 100000000\n];\n/** @ignore */\nexport class BaseInt64 {\n constructor(buffer) {\n this.buffer = buffer;\n }\n high() { return this.buffer[1]; }\n low() { return this.buffer[0]; }\n _times(other) {\n // Break the left and right numbers into 16 bit chunks\n // so that we can multiply them without overflow.\n const L = new Uint32Array([\n this.buffer[1] >>> 16,\n this.buffer[1] & 0xFFFF,\n this.buffer[0] >>> 16,\n this.buffer[0] & 0xFFFF\n ]);\n const R = new Uint32Array([\n other.buffer[1] >>> 16,\n other.buffer[1] & 0xFFFF,\n other.buffer[0] >>> 16,\n other.buffer[0] & 0xFFFF\n ]);\n let product = L[3] * R[3];\n this.buffer[0] = product & 0xFFFF;\n let sum = product >>> 16;\n product = L[2] * R[3];\n sum += product;\n product = (L[3] * R[2]) >>> 0;\n sum += product;\n this.buffer[0] += sum << 16;\n this.buffer[1] = (sum >>> 0 < product ? carryBit16 : 0);\n this.buffer[1] += sum >>> 16;\n this.buffer[1] += L[1] * R[3] + L[2] * R[2] + L[3] * R[1];\n this.buffer[1] += (L[0] * R[3] + L[1] * R[2] + L[2] * R[1] + L[3] * R[0]) << 16;\n return this;\n }\n _plus(other) {\n const sum = (this.buffer[0] + other.buffer[0]) >>> 0;\n this.buffer[1] += other.buffer[1];\n if (sum < (this.buffer[0] >>> 0)) {\n ++this.buffer[1];\n }\n this.buffer[0] = sum;\n }\n lessThan(other) {\n return this.buffer[1] < other.buffer[1] ||\n (this.buffer[1] === other.buffer[1] && this.buffer[0] < other.buffer[0]);\n }\n equals(other) {\n return this.buffer[1] === other.buffer[1] && this.buffer[0] == other.buffer[0];\n }\n greaterThan(other) {\n return other.lessThan(this);\n }\n hex() {\n return `${intAsHex(this.buffer[1])} ${intAsHex(this.buffer[0])}`;\n }\n}\n/** @ignore */\nexport class Uint64 extends BaseInt64 {\n times(other) {\n this._times(other);\n return this;\n }\n plus(other) {\n this._plus(other);\n return this;\n }\n /** @nocollapse */\n static from(val, out_buffer = new Uint32Array(2)) {\n return Uint64.fromString(typeof (val) === 'string' ? val : val.toString(), out_buffer);\n }\n /** @nocollapse */\n static fromNumber(num, out_buffer = new Uint32Array(2)) {\n // Always parse numbers as strings - pulling out high and low bits\n // directly seems to lose precision sometimes\n // For example:\n // > -4613034156400212000 >>> 0\n // 721782784\n // The correct lower 32-bits are 721782752\n return Uint64.fromString(num.toString(), out_buffer);\n }\n /** @nocollapse */\n static fromString(str, out_buffer = new Uint32Array(2)) {\n const length = str.length;\n const out = new Uint64(out_buffer);\n for (let posn = 0; posn < length;) {\n const group = kInt32DecimalDigits < length - posn ?\n kInt32DecimalDigits : length - posn;\n const chunk = new Uint64(new Uint32Array([Number.parseInt(str.slice(posn, posn + group), 10), 0]));\n const multiple = new Uint64(new Uint32Array([kPowersOfTen[group], 0]));\n out.times(multiple);\n out.plus(chunk);\n posn += group;\n }\n return out;\n }\n /** @nocollapse */\n static convertArray(values) {\n const data = new Uint32Array(values.length * 2);\n for (let i = -1, n = values.length; ++i < n;) {\n Uint64.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 2 * i * 4, 2));\n }\n return data;\n }\n /** @nocollapse */\n static multiply(left, right) {\n const rtrn = new Uint64(new Uint32Array(left.buffer));\n return rtrn.times(right);\n }\n /** @nocollapse */\n static add(left, right) {\n const rtrn = new Uint64(new Uint32Array(left.buffer));\n return rtrn.plus(right);\n }\n}\n/** @ignore */\nexport class Int64 extends BaseInt64 {\n negate() {\n this.buffer[0] = ~this.buffer[0] + 1;\n this.buffer[1] = ~this.buffer[1];\n if (this.buffer[0] == 0) {\n ++this.buffer[1];\n }\n return this;\n }\n times(other) {\n this._times(other);\n return this;\n }\n plus(other) {\n this._plus(other);\n return this;\n }\n lessThan(other) {\n // force high bytes to be signed\n // eslint-disable-next-line unicorn/prefer-math-trunc\n const this_high = this.buffer[1] << 0;\n // eslint-disable-next-line unicorn/prefer-math-trunc\n const other_high = other.buffer[1] << 0;\n return this_high < other_high ||\n (this_high === other_high && this.buffer[0] < other.buffer[0]);\n }\n /** @nocollapse */\n static from(val, out_buffer = new Uint32Array(2)) {\n return Int64.fromString(typeof (val) === 'string' ? val : val.toString(), out_buffer);\n }\n /** @nocollapse */\n static fromNumber(num, out_buffer = new Uint32Array(2)) {\n // Always parse numbers as strings - pulling out high and low bits\n // directly seems to lose precision sometimes\n // For example:\n // > -4613034156400212000 >>> 0\n // 721782784\n // The correct lower 32-bits are 721782752\n return Int64.fromString(num.toString(), out_buffer);\n }\n /** @nocollapse */\n static fromString(str, out_buffer = new Uint32Array(2)) {\n // TODO: Assert that out_buffer is 0 and length = 2\n const negate = str.startsWith('-');\n const length = str.length;\n const out = new Int64(out_buffer);\n for (let posn = negate ? 1 : 0; posn < length;) {\n const group = kInt32DecimalDigits < length - posn ?\n kInt32DecimalDigits : length - posn;\n const chunk = new Int64(new Uint32Array([Number.parseInt(str.slice(posn, posn + group), 10), 0]));\n const multiple = new Int64(new Uint32Array([kPowersOfTen[group], 0]));\n out.times(multiple);\n out.plus(chunk);\n posn += group;\n }\n return negate ? out.negate() : out;\n }\n /** @nocollapse */\n static convertArray(values) {\n const data = new Uint32Array(values.length * 2);\n for (let i = -1, n = values.length; ++i < n;) {\n Int64.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 2 * i * 4, 2));\n }\n return data;\n }\n /** @nocollapse */\n static multiply(left, right) {\n const rtrn = new Int64(new Uint32Array(left.buffer));\n return rtrn.times(right);\n }\n /** @nocollapse */\n static add(left, right) {\n const rtrn = new Int64(new Uint32Array(left.buffer));\n return rtrn.plus(right);\n }\n}\n/** @ignore */\nexport class Int128 {\n constructor(buffer) {\n this.buffer = buffer;\n // buffer[3] MSB (high)\n // buffer[2]\n // buffer[1]\n // buffer[0] LSB (low)\n }\n high() {\n return new Int64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset + 8, 2));\n }\n low() {\n return new Int64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset, 2));\n }\n negate() {\n this.buffer[0] = ~this.buffer[0] + 1;\n this.buffer[1] = ~this.buffer[1];\n this.buffer[2] = ~this.buffer[2];\n this.buffer[3] = ~this.buffer[3];\n if (this.buffer[0] == 0) {\n ++this.buffer[1];\n }\n if (this.buffer[1] == 0) {\n ++this.buffer[2];\n }\n if (this.buffer[2] == 0) {\n ++this.buffer[3];\n }\n return this;\n }\n times(other) {\n // Break the left and right numbers into 32 bit chunks\n // so that we can multiply them without overflow.\n const L0 = new Uint64(new Uint32Array([this.buffer[3], 0]));\n const L1 = new Uint64(new Uint32Array([this.buffer[2], 0]));\n const L2 = new Uint64(new Uint32Array([this.buffer[1], 0]));\n const L3 = new Uint64(new Uint32Array([this.buffer[0], 0]));\n const R0 = new Uint64(new Uint32Array([other.buffer[3], 0]));\n const R1 = new Uint64(new Uint32Array([other.buffer[2], 0]));\n const R2 = new Uint64(new Uint32Array([other.buffer[1], 0]));\n const R3 = new Uint64(new Uint32Array([other.buffer[0], 0]));\n let product = Uint64.multiply(L3, R3);\n this.buffer[0] = product.low();\n const sum = new Uint64(new Uint32Array([product.high(), 0]));\n product = Uint64.multiply(L2, R3);\n sum.plus(product);\n product = Uint64.multiply(L3, R2);\n sum.plus(product);\n this.buffer[1] = sum.low();\n this.buffer[3] = (sum.lessThan(product) ? 1 : 0);\n this.buffer[2] = sum.high();\n const high = new Uint64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset + 8, 2));\n high.plus(Uint64.multiply(L1, R3))\n .plus(Uint64.multiply(L2, R2))\n .plus(Uint64.multiply(L3, R1));\n this.buffer[3] += Uint64.multiply(L0, R3)\n .plus(Uint64.multiply(L1, R2))\n .plus(Uint64.multiply(L2, R1))\n .plus(Uint64.multiply(L3, R0)).low();\n return this;\n }\n plus(other) {\n const sums = new Uint32Array(4);\n sums[3] = (this.buffer[3] + other.buffer[3]) >>> 0;\n sums[2] = (this.buffer[2] + other.buffer[2]) >>> 0;\n sums[1] = (this.buffer[1] + other.buffer[1]) >>> 0;\n sums[0] = (this.buffer[0] + other.buffer[0]) >>> 0;\n if (sums[0] < (this.buffer[0] >>> 0)) {\n ++sums[1];\n }\n if (sums[1] < (this.buffer[1] >>> 0)) {\n ++sums[2];\n }\n if (sums[2] < (this.buffer[2] >>> 0)) {\n ++sums[3];\n }\n this.buffer[3] = sums[3];\n this.buffer[2] = sums[2];\n this.buffer[1] = sums[1];\n this.buffer[0] = sums[0];\n return this;\n }\n hex() {\n return `${intAsHex(this.buffer[3])} ${intAsHex(this.buffer[2])} ${intAsHex(this.buffer[1])} ${intAsHex(this.buffer[0])}`;\n }\n /** @nocollapse */\n static multiply(left, right) {\n const rtrn = new Int128(new Uint32Array(left.buffer));\n return rtrn.times(right);\n }\n /** @nocollapse */\n static add(left, right) {\n const rtrn = new Int128(new Uint32Array(left.buffer));\n return rtrn.plus(right);\n }\n /** @nocollapse */\n static from(val, out_buffer = new Uint32Array(4)) {\n return Int128.fromString(typeof (val) === 'string' ? val : val.toString(), out_buffer);\n }\n /** @nocollapse */\n static fromNumber(num, out_buffer = new Uint32Array(4)) {\n // Always parse numbers as strings - pulling out high and low bits\n // directly seems to lose precision sometimes\n // For example:\n // > -4613034156400212000 >>> 0\n // 721782784\n // The correct lower 32-bits are 721782752\n return Int128.fromString(num.toString(), out_buffer);\n }\n /** @nocollapse */\n static fromString(str, out_buffer = new Uint32Array(4)) {\n // TODO: Assert that out_buffer is 0 and length = 4\n const negate = str.startsWith('-');\n const length = str.length;\n const out = new Int128(out_buffer);\n for (let posn = negate ? 1 : 0; posn < length;) {\n const group = kInt32DecimalDigits < length - posn ?\n kInt32DecimalDigits : length - posn;\n const chunk = new Int128(new Uint32Array([Number.parseInt(str.slice(posn, posn + group), 10), 0, 0, 0]));\n const multiple = new Int128(new Uint32Array([kPowersOfTen[group], 0, 0, 0]));\n out.times(multiple);\n out.plus(chunk);\n posn += group;\n }\n return negate ? out.negate() : out;\n }\n /** @nocollapse */\n static convertArray(values) {\n // TODO: Distinguish between string and number at compile-time\n const data = new Uint32Array(values.length * 4);\n for (let i = -1, n = values.length; ++i < n;) {\n Int128.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 4 * 4 * i, 4));\n }\n return data;\n }\n}\n\n//# sourceMappingURL=int.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { makeData } from '../data.mjs';\nimport { Field } from '../schema.mjs';\nimport { DataType } from '../type.mjs';\nimport { Visitor } from '../visitor.mjs';\nimport { packBools } from '../util/bit.mjs';\nimport { encodeUtf8 } from '../util/utf8.mjs';\nimport { Int64, Int128 } from '../util/int.mjs';\nimport { UnionMode, DateUnit } from '../enum.mjs';\nimport { toArrayBufferView } from '../util/buffer.mjs';\n/** @ignore */\nexport class VectorLoader extends Visitor {\n constructor(bytes, nodes, buffers, dictionaries) {\n super();\n this.nodesIndex = -1;\n this.buffersIndex = -1;\n this.bytes = bytes;\n this.nodes = nodes;\n this.buffers = buffers;\n this.dictionaries = dictionaries;\n }\n visit(node) {\n return super.visit(node instanceof Field ? node.type : node);\n }\n visitNull(type, { length } = this.nextFieldNode()) {\n return makeData({ type, length });\n }\n visitBool(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n visitInt(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n visitFloat(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n visitUtf8(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), valueOffsets: this.readOffsets(type), data: this.readData(type) });\n }\n visitBinary(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), valueOffsets: this.readOffsets(type), data: this.readData(type) });\n }\n visitFixedSizeBinary(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n visitDate(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n visitTimestamp(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n visitTime(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n visitDecimal(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n visitList(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), valueOffsets: this.readOffsets(type), 'child': this.visit(type.children[0]) });\n }\n visitStruct(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), children: this.visitMany(type.children) });\n }\n visitUnion(type) {\n return type.mode === UnionMode.Sparse ? this.visitSparseUnion(type) : this.visitDenseUnion(type);\n }\n visitDenseUnion(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), typeIds: this.readTypeIds(type), valueOffsets: this.readOffsets(type), children: this.visitMany(type.children) });\n }\n visitSparseUnion(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), typeIds: this.readTypeIds(type), children: this.visitMany(type.children) });\n }\n visitDictionary(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type.indices), dictionary: this.readDictionary(type) });\n }\n visitInterval(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n visitFixedSizeList(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), 'child': this.visit(type.children[0]) });\n }\n visitMap(type, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), valueOffsets: this.readOffsets(type), 'child': this.visit(type.children[0]) });\n }\n nextFieldNode() { return this.nodes[++this.nodesIndex]; }\n nextBufferRange() { return this.buffers[++this.buffersIndex]; }\n readNullBitmap(type, nullCount, buffer = this.nextBufferRange()) {\n return nullCount > 0 && this.readData(type, buffer) || new Uint8Array(0);\n }\n readOffsets(type, buffer) { return this.readData(type, buffer); }\n readTypeIds(type, buffer) { return this.readData(type, buffer); }\n readData(_type, { length, offset } = this.nextBufferRange()) {\n return this.bytes.subarray(offset, offset + length);\n }\n readDictionary(type) {\n return this.dictionaries.get(type.id);\n }\n}\n/** @ignore */\nexport class JSONVectorLoader extends VectorLoader {\n constructor(sources, nodes, buffers, dictionaries) {\n super(new Uint8Array(0), nodes, buffers, dictionaries);\n this.sources = sources;\n }\n readNullBitmap(_type, nullCount, { offset } = this.nextBufferRange()) {\n return nullCount <= 0 ? new Uint8Array(0) : packBools(this.sources[offset]);\n }\n readOffsets(_type, { offset } = this.nextBufferRange()) {\n return toArrayBufferView(Uint8Array, toArrayBufferView(Int32Array, this.sources[offset]));\n }\n readTypeIds(type, { offset } = this.nextBufferRange()) {\n return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, this.sources[offset]));\n }\n readData(type, { offset } = this.nextBufferRange()) {\n const { sources } = this;\n if (DataType.isTimestamp(type)) {\n return toArrayBufferView(Uint8Array, Int64.convertArray(sources[offset]));\n }\n else if ((DataType.isInt(type) || DataType.isTime(type)) && type.bitWidth === 64) {\n return toArrayBufferView(Uint8Array, Int64.convertArray(sources[offset]));\n }\n else if (DataType.isDate(type) && type.unit === DateUnit.MILLISECOND) {\n return toArrayBufferView(Uint8Array, Int64.convertArray(sources[offset]));\n }\n else if (DataType.isDecimal(type)) {\n return toArrayBufferView(Uint8Array, Int128.convertArray(sources[offset]));\n }\n else if (DataType.isBinary(type) || DataType.isFixedSizeBinary(type)) {\n return binaryDataFromJSON(sources[offset]);\n }\n else if (DataType.isBool(type)) {\n return packBools(sources[offset]);\n }\n else if (DataType.isUtf8(type)) {\n return encodeUtf8(sources[offset].join(''));\n }\n return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, sources[offset].map((x) => +x)));\n }\n}\n/** @ignore */\nfunction binaryDataFromJSON(values) {\n // \"DATA\": [\"49BC7D5B6C47D2\",\"3F5FB6D9322026\"]\n // There are definitely more efficient ways to do this... but it gets the\n // job done.\n const joined = values.join('');\n const data = new Uint8Array(joined.length / 2);\n for (let i = 0; i < joined.length; i += 2) {\n data[i >> 1] = Number.parseInt(joined.slice(i, i + 2), 16);\n }\n return data;\n}\n\n//# sourceMappingURL=vectorloader.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { Visitor } from '../visitor.mjs';\n/** @ignore */\nexport class TypeComparator extends Visitor {\n compareSchemas(schema, other) {\n return (schema === other) || (other instanceof schema.constructor &&\n this.compareManyFields(schema.fields, other.fields));\n }\n compareManyFields(fields, others) {\n return (fields === others) || (Array.isArray(fields) &&\n Array.isArray(others) &&\n fields.length === others.length &&\n fields.every((f, i) => this.compareFields(f, others[i])));\n }\n compareFields(field, other) {\n return (field === other) || (other instanceof field.constructor &&\n field.name === other.name &&\n field.nullable === other.nullable &&\n this.visit(field.type, other.type));\n }\n}\nfunction compareConstructor(type, other) {\n return other instanceof type.constructor;\n}\nfunction compareAny(type, other) {\n return (type === other) || compareConstructor(type, other);\n}\nfunction compareInt(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.bitWidth === other.bitWidth &&\n type.isSigned === other.isSigned);\n}\nfunction compareFloat(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.precision === other.precision);\n}\nfunction compareFixedSizeBinary(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.byteWidth === other.byteWidth);\n}\nfunction compareDate(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.unit === other.unit);\n}\nfunction compareTimestamp(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.unit === other.unit &&\n type.timezone === other.timezone);\n}\nfunction compareTime(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.unit === other.unit &&\n type.bitWidth === other.bitWidth);\n}\nfunction compareList(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.children.length === other.children.length &&\n instance.compareManyFields(type.children, other.children));\n}\nfunction compareStruct(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.children.length === other.children.length &&\n instance.compareManyFields(type.children, other.children));\n}\nfunction compareUnion(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.mode === other.mode &&\n type.typeIds.every((x, i) => x === other.typeIds[i]) &&\n instance.compareManyFields(type.children, other.children));\n}\nfunction compareDictionary(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.id === other.id &&\n type.isOrdered === other.isOrdered &&\n instance.visit(type.indices, other.indices) &&\n instance.visit(type.dictionary, other.dictionary));\n}\nfunction compareInterval(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.unit === other.unit);\n}\nfunction compareFixedSizeList(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.listSize === other.listSize &&\n type.children.length === other.children.length &&\n instance.compareManyFields(type.children, other.children));\n}\nfunction compareMap(type, other) {\n return (type === other) || (compareConstructor(type, other) &&\n type.keysSorted === other.keysSorted &&\n type.children.length === other.children.length &&\n instance.compareManyFields(type.children, other.children));\n}\nTypeComparator.prototype.visitNull = compareAny;\nTypeComparator.prototype.visitBool = compareAny;\nTypeComparator.prototype.visitInt = compareInt;\nTypeComparator.prototype.visitInt8 = compareInt;\nTypeComparator.prototype.visitInt16 = compareInt;\nTypeComparator.prototype.visitInt32 = compareInt;\nTypeComparator.prototype.visitInt64 = compareInt;\nTypeComparator.prototype.visitUint8 = compareInt;\nTypeComparator.prototype.visitUint16 = compareInt;\nTypeComparator.prototype.visitUint32 = compareInt;\nTypeComparator.prototype.visitUint64 = compareInt;\nTypeComparator.prototype.visitFloat = compareFloat;\nTypeComparator.prototype.visitFloat16 = compareFloat;\nTypeComparator.prototype.visitFloat32 = compareFloat;\nTypeComparator.prototype.visitFloat64 = compareFloat;\nTypeComparator.prototype.visitUtf8 = compareAny;\nTypeComparator.prototype.visitBinary = compareAny;\nTypeComparator.prototype.visitFixedSizeBinary = compareFixedSizeBinary;\nTypeComparator.prototype.visitDate = compareDate;\nTypeComparator.prototype.visitDateDay = compareDate;\nTypeComparator.prototype.visitDateMillisecond = compareDate;\nTypeComparator.prototype.visitTimestamp = compareTimestamp;\nTypeComparator.prototype.visitTimestampSecond = compareTimestamp;\nTypeComparator.prototype.visitTimestampMillisecond = compareTimestamp;\nTypeComparator.prototype.visitTimestampMicrosecond = compareTimestamp;\nTypeComparator.prototype.visitTimestampNanosecond = compareTimestamp;\nTypeComparator.prototype.visitTime = compareTime;\nTypeComparator.prototype.visitTimeSecond = compareTime;\nTypeComparator.prototype.visitTimeMillisecond = compareTime;\nTypeComparator.prototype.visitTimeMicrosecond = compareTime;\nTypeComparator.prototype.visitTimeNanosecond = compareTime;\nTypeComparator.prototype.visitDecimal = compareAny;\nTypeComparator.prototype.visitList = compareList;\nTypeComparator.prototype.visitStruct = compareStruct;\nTypeComparator.prototype.visitUnion = compareUnion;\nTypeComparator.prototype.visitDenseUnion = compareUnion;\nTypeComparator.prototype.visitSparseUnion = compareUnion;\nTypeComparator.prototype.visitDictionary = compareDictionary;\nTypeComparator.prototype.visitInterval = compareInterval;\nTypeComparator.prototype.visitIntervalDayTime = compareInterval;\nTypeComparator.prototype.visitIntervalYearMonth = compareInterval;\nTypeComparator.prototype.visitFixedSizeList = compareFixedSizeList;\nTypeComparator.prototype.visitMap = compareMap;\n/** @ignore */\nexport const instance = new TypeComparator();\nexport function compareSchemas(schema, other) {\n return instance.compareSchemas(schema, other);\n}\nexport function compareFields(field, other) {\n return instance.compareFields(field, other);\n}\nexport function compareTypes(type, other) {\n return instance.visit(type, other);\n}\n\n//# sourceMappingURL=typecomparator.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { makeData } from '../data.mjs';\nimport { Struct } from '../type.mjs';\nimport { RecordBatch } from '../recordbatch.mjs';\n/** @ignore */\nexport function distributeVectorsIntoRecordBatches(schema, vecs) {\n return uniformlyDistributeChunksAcrossRecordBatches(schema, vecs.map((v) => v.data.concat()));\n}\n/** @ignore */\nfunction uniformlyDistributeChunksAcrossRecordBatches(schema, cols) {\n const fields = [...schema.fields];\n const batches = [];\n const memo = { numBatches: cols.reduce((n, c) => Math.max(n, c.length), 0) };\n let numBatches = 0, batchLength = 0;\n let i = -1;\n const numColumns = cols.length;\n let child, children = [];\n while (memo.numBatches-- > 0) {\n for (batchLength = Number.POSITIVE_INFINITY, i = -1; ++i < numColumns;) {\n children[i] = child = cols[i].shift();\n batchLength = Math.min(batchLength, child ? child.length : batchLength);\n }\n if (Number.isFinite(batchLength)) {\n children = distributeChildren(fields, batchLength, children, cols, memo);\n if (batchLength > 0) {\n batches[numBatches++] = makeData({\n type: new Struct(fields),\n length: batchLength,\n nullCount: 0,\n children: children.slice()\n });\n }\n }\n }\n return [\n schema = schema.assign(fields),\n batches.map((data) => new RecordBatch(schema, data))\n ];\n}\n/** @ignore */\nfunction distributeChildren(fields, batchLength, children, columns, memo) {\n var _a;\n const nullBitmapSize = ((batchLength + 63) & ~63) >> 3;\n for (let i = -1, n = columns.length; ++i < n;) {\n const child = children[i];\n const length = child === null || child === void 0 ? void 0 : child.length;\n if (length >= batchLength) {\n if (length === batchLength) {\n children[i] = child;\n }\n else {\n children[i] = child.slice(0, batchLength);\n memo.numBatches = Math.max(memo.numBatches, columns[i].unshift(child.slice(batchLength, length - batchLength)));\n }\n }\n else {\n const field = fields[i];\n fields[i] = field.clone({ nullable: true });\n children[i] = (_a = child === null || child === void 0 ? void 0 : child._changeLengthAndBackfillNullBitmap(batchLength)) !== null && _a !== void 0 ? _a : makeData({\n type: field.type,\n length: batchLength,\n nullCount: batchLength,\n nullBitmap: new Uint8Array(nullBitmapSize)\n });\n }\n }\n return children;\n}\n\n//# sourceMappingURL=recordbatch.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nvar _a;\nimport { Type } from './enum.mjs';\nimport { Data, makeData } from './data.mjs';\nimport { vectorFromArray } from './factories.mjs';\nimport { makeVector, Vector } from './vector.mjs';\nimport { Field, Schema } from './schema.mjs';\nimport { Null, Struct } from './type.mjs';\nimport { compareSchemas } from './visitor/typecomparator.mjs';\nimport { distributeVectorsIntoRecordBatches } from './util/recordbatch.mjs';\nimport { isChunkedValid, computeChunkOffsets, computeChunkNullCounts, wrapChunkedCall1, wrapChunkedCall2, wrapChunkedIndexOf, sliceChunks, } from './util/chunk.mjs';\nimport { instance as getVisitor } from './visitor/get.mjs';\nimport { instance as setVisitor } from './visitor/set.mjs';\nimport { instance as indexOfVisitor } from './visitor/indexof.mjs';\nimport { instance as iteratorVisitor } from './visitor/iterator.mjs';\nimport { instance as byteLengthVisitor } from './visitor/bytelength.mjs';\nimport { clampRange } from './util/vector.mjs';\nimport { RecordBatch } from './recordbatch.mjs';\n/**\n * Tables are collections of {@link Vector}s and have a {@link Schema}. Use the convenience methods {@link makeTable}\n * or {@link tableFromArrays} to create a table in JavaScript. To create a table from the IPC format, use\n * {@link tableFromIPC}.\n */\nexport class Table {\n constructor(...args) {\n var _b, _c;\n if (args.length === 0) {\n this.batches = [];\n this.schema = new Schema([]);\n this._offsets = [0];\n return this;\n }\n let schema;\n let offsets;\n if (args[0] instanceof Schema) {\n schema = args.shift();\n }\n if (args[args.length - 1] instanceof Uint32Array) {\n offsets = args.pop();\n }\n const unwrap = (x) => {\n if (x) {\n if (x instanceof RecordBatch) {\n return [x];\n }\n else if (x instanceof Table) {\n return x.batches;\n }\n else if (x instanceof Data) {\n if (x.type instanceof Struct) {\n return [new RecordBatch(new Schema(x.type.children), x)];\n }\n }\n else if (Array.isArray(x)) {\n return x.flatMap(v => unwrap(v));\n }\n else if (typeof x[Symbol.iterator] === 'function') {\n return [...x].flatMap(v => unwrap(v));\n }\n else if (typeof x === 'object') {\n const keys = Object.keys(x);\n const vecs = keys.map((k) => new Vector([x[k]]));\n const schema = new Schema(keys.map((k, i) => new Field(String(k), vecs[i].type)));\n const [, batches] = distributeVectorsIntoRecordBatches(schema, vecs);\n return batches.length === 0 ? [new RecordBatch(x)] : batches;\n }\n }\n return [];\n };\n const batches = args.flatMap(v => unwrap(v));\n schema = (_c = schema !== null && schema !== void 0 ? schema : (_b = batches[0]) === null || _b === void 0 ? void 0 : _b.schema) !== null && _c !== void 0 ? _c : new Schema([]);\n if (!(schema instanceof Schema)) {\n throw new TypeError('Table constructor expects a [Schema, RecordBatch[]] pair.');\n }\n for (const batch of batches) {\n if (!(batch instanceof RecordBatch)) {\n throw new TypeError('Table constructor expects a [Schema, RecordBatch[]] pair.');\n }\n if (!compareSchemas(schema, batch.schema)) {\n throw new TypeError('Table and inner RecordBatch schemas must be equivalent.');\n }\n }\n this.schema = schema;\n this.batches = batches;\n this._offsets = offsets !== null && offsets !== void 0 ? offsets : computeChunkOffsets(this.data);\n }\n /**\n * The contiguous {@link RecordBatch `RecordBatch`} chunks of the Table rows.\n */\n get data() { return this.batches.map(({ data }) => data); }\n /**\n * The number of columns in this Table.\n */\n get numCols() { return this.schema.fields.length; }\n /**\n * The number of rows in this Table.\n */\n get numRows() {\n return this.data.reduce((numRows, data) => numRows + data.length, 0);\n }\n /**\n * The number of null rows in this Table.\n */\n get nullCount() {\n if (this._nullCount === -1) {\n this._nullCount = computeChunkNullCounts(this.data);\n }\n return this._nullCount;\n }\n /**\n * Check whether an element is null.\n *\n * @param index The index at which to read the validity bitmap.\n */\n // @ts-ignore\n isValid(index) { return false; }\n /**\n * Get an element value by position.\n *\n * @param index The index of the element to read.\n */\n // @ts-ignore\n get(index) { return null; }\n /**\n * Set an element value by position.\n *\n * @param index The index of the element to write.\n * @param value The value to set.\n */\n // @ts-ignore\n set(index, value) { return; }\n /**\n * Retrieve the index of the first occurrence of a value in an Vector.\n *\n * @param element The value to locate in the Vector.\n * @param offset The index at which to begin the search. If offset is omitted, the search starts at index 0.\n */\n // @ts-ignore\n indexOf(element, offset) { return -1; }\n /**\n * Get the size in bytes of an element by index.\n * @param index The index at which to get the byteLength.\n */\n // @ts-ignore\n getByteLength(index) { return 0; }\n /**\n * Iterator for rows in this Table.\n */\n [Symbol.iterator]() {\n if (this.batches.length > 0) {\n return iteratorVisitor.visit(new Vector(this.data));\n }\n return (new Array(0))[Symbol.iterator]();\n }\n /**\n * Return a JavaScript Array of the Table rows.\n *\n * @returns An Array of Table rows.\n */\n toArray() {\n return [...this];\n }\n /**\n * Returns a string representation of the Table rows.\n *\n * @returns A string representation of the Table rows.\n */\n toString() {\n return `[\\n ${this.toArray().join(',\\n ')}\\n]`;\n }\n /**\n * Combines two or more Tables of the same schema.\n *\n * @param others Additional Tables to add to the end of this Tables.\n */\n concat(...others) {\n const schema = this.schema;\n const data = this.data.concat(others.flatMap(({ data }) => data));\n return new Table(schema, data.map((data) => new RecordBatch(schema, data)));\n }\n /**\n * Return a zero-copy sub-section of this Table.\n *\n * @param begin The beginning of the specified portion of the Table.\n * @param end The end of the specified portion of the Table. This is exclusive of the element at the index 'end'.\n */\n slice(begin, end) {\n const schema = this.schema;\n [begin, end] = clampRange({ length: this.numRows }, begin, end);\n const data = sliceChunks(this.data, this._offsets, begin, end);\n return new Table(schema, data.map((chunk) => new RecordBatch(schema, chunk)));\n }\n /**\n * Returns a child Vector by name, or null if this Vector has no child with the given name.\n *\n * @param name The name of the child to retrieve.\n */\n getChild(name) {\n return this.getChildAt(this.schema.fields.findIndex((f) => f.name === name));\n }\n /**\n * Returns a child Vector by index, or null if this Vector has no child at the supplied index.\n *\n * @param index The index of the child to retrieve.\n */\n getChildAt(index) {\n if (index > -1 && index < this.schema.fields.length) {\n const data = this.data.map((data) => data.children[index]);\n if (data.length === 0) {\n const { type } = this.schema.fields[index];\n const empty = makeData({ type, length: 0, nullCount: 0 });\n data.push(empty._changeLengthAndBackfillNullBitmap(this.numRows));\n }\n return new Vector(data);\n }\n return null;\n }\n /**\n * Sets a child Vector by name.\n *\n * @param name The name of the child to overwrite.\n * @returns A new Table with the supplied child for the specified name.\n */\n setChild(name, child) {\n var _b;\n return this.setChildAt((_b = this.schema.fields) === null || _b === void 0 ? void 0 : _b.findIndex((f) => f.name === name), child);\n }\n setChildAt(index, child) {\n let schema = this.schema;\n let batches = [...this.batches];\n if (index > -1 && index < this.numCols) {\n if (!child) {\n child = new Vector([makeData({ type: new Null, length: this.numRows })]);\n }\n const fields = schema.fields.slice();\n const field = fields[index].clone({ type: child.type });\n const children = this.schema.fields.map((_, i) => this.getChildAt(i));\n [fields[index], children[index]] = [field, child];\n [schema, batches] = distributeVectorsIntoRecordBatches(schema, children);\n }\n return new Table(schema, batches);\n }\n /**\n * Construct a new Table containing only specified columns.\n *\n * @param columnNames Names of columns to keep.\n * @returns A new Table of columns matching the specified names.\n */\n select(columnNames) {\n const nameToIndex = this.schema.fields.reduce((m, f, i) => m.set(f.name, i), new Map());\n return this.selectAt(columnNames.map((columnName) => nameToIndex.get(columnName)).filter((x) => x > -1));\n }\n /**\n * Construct a new Table containing only columns at the specified indices.\n *\n * @param columnIndices Indices of columns to keep.\n * @returns A new Table of columns at the specified indices.\n */\n selectAt(columnIndices) {\n const schema = this.schema.selectAt(columnIndices);\n const data = this.batches.map((batch) => batch.selectAt(columnIndices));\n return new Table(schema, data);\n }\n assign(other) {\n const fields = this.schema.fields;\n const [indices, oldToNew] = other.schema.fields.reduce((memo, f2, newIdx) => {\n const [indices, oldToNew] = memo;\n const i = fields.findIndex((f) => f.name === f2.name);\n ~i ? (oldToNew[i] = newIdx) : indices.push(newIdx);\n return memo;\n }, [[], []]);\n const schema = this.schema.assign(other.schema);\n const columns = [\n ...fields.map((_, i) => [i, oldToNew[i]]).map(([i, j]) => (j === undefined ? this.getChildAt(i) : other.getChildAt(j))),\n ...indices.map((i) => other.getChildAt(i))\n ].filter(Boolean);\n return new Table(...distributeVectorsIntoRecordBatches(schema, columns));\n }\n}\n_a = Symbol.toStringTag;\n// Initialize this static property via an IIFE so bundlers don't tree-shake\n// out this logic, but also so we're still compliant with `\"sideEffects\": false`\nTable[_a] = ((proto) => {\n proto.schema = null;\n proto.batches = [];\n proto._offsets = new Uint32Array([0]);\n proto._nullCount = -1;\n proto[Symbol.isConcatSpreadable] = true;\n proto['isValid'] = wrapChunkedCall1(isChunkedValid);\n proto['get'] = wrapChunkedCall1(getVisitor.getVisitFn(Type.Struct));\n proto['set'] = wrapChunkedCall2(setVisitor.getVisitFn(Type.Struct));\n proto['indexOf'] = wrapChunkedIndexOf(indexOfVisitor.getVisitFn(Type.Struct));\n proto['getByteLength'] = wrapChunkedCall1(byteLengthVisitor.getVisitFn(Type.Struct));\n return 'Table';\n})(Table.prototype);\n/**\n * Creates a new Table from an object of typed arrays.\n *\n* @example\n * ```ts\n * const table = makeTable({\n * a: new Int8Array([1, 2, 3]),\n * })\n * ```\n *\n * @param input Input an object of typed arrays.\n * @returns A new Table.\n */\nexport function makeTable(input) {\n const vecs = {};\n const inputs = Object.entries(input);\n for (const [key, col] of inputs) {\n vecs[key] = makeVector(col);\n }\n return new Table(vecs);\n}\n/**\n * Creates a new Table from an object of typed arrays or JavaScript arrays.\n *\n * @example\n * ```ts\n * const table = tableFromArrays({\n * a: [1, 2, 3],\n * b: new Int8Array([1, 2, 3]),\n * })\n * ```\n *\n * @param input Input an object of typed arrays or JavaScript arrays.\n * @returns A new Table.\n */\nexport function tableFromArrays(input) {\n const vecs = {};\n const inputs = Object.entries(input);\n for (const [key, col] of inputs) {\n vecs[key] = vectorFromArray(col);\n }\n return new Table(vecs);\n}\n\n//# sourceMappingURL=table.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nvar _a;\nimport { Data, makeData } from './data.mjs';\nimport { Table } from './table.mjs';\nimport { Vector } from './vector.mjs';\nimport { Schema, Field } from './schema.mjs';\nimport { DataType, Struct, Null } from './type.mjs';\nimport { instance as getVisitor } from './visitor/get.mjs';\nimport { instance as setVisitor } from './visitor/set.mjs';\nimport { instance as indexOfVisitor } from './visitor/indexof.mjs';\nimport { instance as iteratorVisitor } from './visitor/iterator.mjs';\nimport { instance as byteLengthVisitor } from './visitor/bytelength.mjs';\n/** @ignore */\nexport class RecordBatch {\n constructor(...args) {\n switch (args.length) {\n case 2: {\n [this.schema] = args;\n if (!(this.schema instanceof Schema)) {\n throw new TypeError('RecordBatch constructor expects a [Schema, Data] pair.');\n }\n [,\n this.data = makeData({\n nullCount: 0,\n type: new Struct(this.schema.fields),\n children: this.schema.fields.map((f) => makeData({ type: f.type, nullCount: 0 }))\n })\n ] = args;\n if (!(this.data instanceof Data)) {\n throw new TypeError('RecordBatch constructor expects a [Schema, Data] pair.');\n }\n [this.schema, this.data] = ensureSameLengthData(this.schema, this.data.children);\n break;\n }\n case 1: {\n const [obj] = args;\n const { fields, children, length } = Object.keys(obj).reduce((memo, name, i) => {\n memo.children[i] = obj[name];\n memo.length = Math.max(memo.length, obj[name].length);\n memo.fields[i] = Field.new({ name, type: obj[name].type, nullable: true });\n return memo;\n }, {\n length: 0,\n fields: new Array(),\n children: new Array(),\n });\n const schema = new Schema(fields);\n const data = makeData({ type: new Struct(fields), length, children, nullCount: 0 });\n [this.schema, this.data] = ensureSameLengthData(schema, data.children, length);\n break;\n }\n default: throw new TypeError('RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.');\n }\n }\n get dictionaries() {\n return this._dictionaries || (this._dictionaries = collectDictionaries(this.schema.fields, this.data.children));\n }\n /**\n * The number of columns in this RecordBatch.\n */\n get numCols() { return this.schema.fields.length; }\n /**\n * The number of rows in this RecordBatch.\n */\n get numRows() { return this.data.length; }\n /**\n * The number of null rows in this RecordBatch.\n */\n get nullCount() {\n return this.data.nullCount;\n }\n /**\n * Check whether an element is null.\n * @param index The index at which to read the validity bitmap.\n */\n isValid(index) {\n return this.data.getValid(index);\n }\n /**\n * Get a row by position.\n * @param index The index of the element to read.\n */\n get(index) {\n return getVisitor.visit(this.data, index);\n }\n /**\n * Set a row by position.\n * @param index The index of the element to write.\n * @param value The value to set.\n */\n set(index, value) {\n return setVisitor.visit(this.data, index, value);\n }\n /**\n * Retrieve the index of the first occurrence of a row in an RecordBatch.\n * @param element The row to locate in the RecordBatch.\n * @param offset The index at which to begin the search. If offset is omitted, the search starts at index 0.\n */\n indexOf(element, offset) {\n return indexOfVisitor.visit(this.data, element, offset);\n }\n /**\n * Get the size (in bytes) of a row by index.\n * @param index The row index for which to compute the byteLength.\n */\n getByteLength(index) {\n return byteLengthVisitor.visit(this.data, index);\n }\n /**\n * Iterator for rows in this RecordBatch.\n */\n [Symbol.iterator]() {\n return iteratorVisitor.visit(new Vector([this.data]));\n }\n /**\n * Return a JavaScript Array of the RecordBatch rows.\n * @returns An Array of RecordBatch rows.\n */\n toArray() {\n return [...this];\n }\n /**\n * Combines two or more RecordBatch of the same schema.\n * @param others Additional RecordBatch to add to the end of this RecordBatch.\n */\n concat(...others) {\n return new Table(this.schema, [this, ...others]);\n }\n /**\n * Return a zero-copy sub-section of this RecordBatch.\n * @param start The beginning of the specified portion of the RecordBatch.\n * @param end The end of the specified portion of the RecordBatch. This is exclusive of the element at the index 'end'.\n */\n slice(begin, end) {\n const [slice] = new Vector([this.data]).slice(begin, end).data;\n return new RecordBatch(this.schema, slice);\n }\n /**\n * Returns a child Vector by name, or null if this Vector has no child with the given name.\n * @param name The name of the child to retrieve.\n */\n getChild(name) {\n var _b;\n return this.getChildAt((_b = this.schema.fields) === null || _b === void 0 ? void 0 : _b.findIndex((f) => f.name === name));\n }\n /**\n * Returns a child Vector by index, or null if this Vector has no child at the supplied index.\n * @param index The index of the child to retrieve.\n */\n getChildAt(index) {\n if (index > -1 && index < this.schema.fields.length) {\n return new Vector([this.data.children[index]]);\n }\n return null;\n }\n /**\n * Sets a child Vector by name.\n * @param name The name of the child to overwrite.\n * @returns A new RecordBatch with the new child for the specified name.\n */\n setChild(name, child) {\n var _b;\n return this.setChildAt((_b = this.schema.fields) === null || _b === void 0 ? void 0 : _b.findIndex((f) => f.name === name), child);\n }\n setChildAt(index, child) {\n let schema = this.schema;\n let data = this.data;\n if (index > -1 && index < this.numCols) {\n if (!child) {\n child = new Vector([makeData({ type: new Null, length: this.numRows })]);\n }\n const fields = schema.fields.slice();\n const children = data.children.slice();\n const field = fields[index].clone({ type: child.type });\n [fields[index], children[index]] = [field, child.data[0]];\n schema = new Schema(fields, new Map(this.schema.metadata));\n data = makeData({ type: new Struct(fields), children });\n }\n return new RecordBatch(schema, data);\n }\n /**\n * Construct a new RecordBatch containing only specified columns.\n *\n * @param columnNames Names of columns to keep.\n * @returns A new RecordBatch of columns matching the specified names.\n */\n select(columnNames) {\n const schema = this.schema.select(columnNames);\n const type = new Struct(schema.fields);\n const children = [];\n for (const name of columnNames) {\n const index = this.schema.fields.findIndex((f) => f.name === name);\n if (~index) {\n children[index] = this.data.children[index];\n }\n }\n return new RecordBatch(schema, makeData({ type, length: this.numRows, children }));\n }\n /**\n * Construct a new RecordBatch containing only columns at the specified indices.\n *\n * @param columnIndices Indices of columns to keep.\n * @returns A new RecordBatch of columns matching at the specified indices.\n */\n selectAt(columnIndices) {\n const schema = this.schema.selectAt(columnIndices);\n const children = columnIndices.map((i) => this.data.children[i]).filter(Boolean);\n const subset = makeData({ type: new Struct(schema.fields), length: this.numRows, children });\n return new RecordBatch(schema, subset);\n }\n}\n_a = Symbol.toStringTag;\n// Initialize this static property via an IIFE so bundlers don't tree-shake\n// out this logic, but also so we're still compliant with `\"sideEffects\": false`\nRecordBatch[_a] = ((proto) => {\n proto._nullCount = -1;\n proto[Symbol.isConcatSpreadable] = true;\n return 'RecordBatch';\n})(RecordBatch.prototype);\n/** @ignore */\nfunction ensureSameLengthData(schema, chunks, maxLength = chunks.reduce((max, col) => Math.max(max, col.length), 0)) {\n var _b;\n const fields = [...schema.fields];\n const children = [...chunks];\n const nullBitmapSize = ((maxLength + 63) & ~63) >> 3;\n for (const [idx, field] of schema.fields.entries()) {\n const chunk = chunks[idx];\n if (!chunk || chunk.length !== maxLength) {\n fields[idx] = field.clone({ nullable: true });\n children[idx] = (_b = chunk === null || chunk === void 0 ? void 0 : chunk._changeLengthAndBackfillNullBitmap(maxLength)) !== null && _b !== void 0 ? _b : makeData({\n type: field.type,\n length: maxLength,\n nullCount: maxLength,\n nullBitmap: new Uint8Array(nullBitmapSize)\n });\n }\n }\n return [\n schema.assign(fields),\n makeData({ type: new Struct(fields), length: maxLength, children })\n ];\n}\n/** @ignore */\nfunction collectDictionaries(fields, children, dictionaries = new Map()) {\n for (let i = -1, n = fields.length; ++i < n;) {\n const field = fields[i];\n const type = field.type;\n const data = children[i];\n if (DataType.isDictionary(type)) {\n if (!dictionaries.has(type.id)) {\n if (data.dictionary) {\n dictionaries.set(type.id, data.dictionary);\n }\n }\n else if (dictionaries.get(type.id) !== data.dictionary) {\n throw new Error(`Cannot create Schema containing two different dictionaries with the same Id`);\n }\n }\n if (type.children && type.children.length > 0) {\n collectDictionaries(type.children, data.children, dictionaries);\n }\n }\n return dictionaries;\n}\n/**\n * An internal class used by the `RecordBatchReader` and `RecordBatchWriter`\n * implementations to differentiate between a stream with valid zero-length\n * RecordBatches, and a stream with a Schema message, but no RecordBatches.\n * @see https://github.com/apache/arrow/pull/4373\n * @ignore\n * @private\n */\nexport class _InternalEmptyPlaceholderRecordBatch extends RecordBatch {\n constructor(schema) {\n const children = schema.fields.map((f) => makeData({ type: f.type }));\n const data = makeData({ type: new Struct(schema.fields), nullCount: 0, children });\n super(schema, data);\n }\n}\n\n//# sourceMappingURL=recordbatch.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\n/**\n * Provided for forward compatibility in case we need to support different\n * strategies for compressing the IPC message body (like whole-body\n * compression rather than buffer-level) in the future\n */\nexport var BodyCompressionMethod;\n(function (BodyCompressionMethod) {\n /**\n * Each constituent buffer is first compressed with the indicated\n * compressor, and then written with the uncompressed length in the first 8\n * bytes as a 64-bit little-endian signed integer followed by the compressed\n * buffer bytes (and then padding as required by the protocol). The\n * uncompressed length may be set to -1 to indicate that the data that\n * follows is not compressed, which can be useful for cases where\n * compression does not yield appreciable savings.\n */\n BodyCompressionMethod[BodyCompressionMethod[\"BUFFER\"] = 0] = \"BUFFER\";\n})(BodyCompressionMethod || (BodyCompressionMethod = {}));\n\n//# sourceMappingURL=body-compression-method.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nexport var CompressionType;\n(function (CompressionType) {\n CompressionType[CompressionType[\"LZ4_FRAME\"] = 0] = \"LZ4_FRAME\";\n CompressionType[CompressionType[\"ZSTD\"] = 1] = \"ZSTD\";\n})(CompressionType || (CompressionType = {}));\n\n//# sourceMappingURL=compression-type.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { BodyCompressionMethod } from './body-compression-method.mjs';\nimport { CompressionType } from './compression-type.mjs';\n/**\n * Optional compression for the memory buffers constituting IPC message\n * bodies. Intended for use with RecordBatch but could be used for other\n * message types\n */\nexport class BodyCompression {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsBodyCompression(bb, obj) {\n return (obj || new BodyCompression()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsBodyCompression(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new BodyCompression()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n /**\n * Compressor library.\n * For LZ4_FRAME, each compressed buffer must consist of a single frame.\n */\n codec() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt8(this.bb_pos + offset) : CompressionType.LZ4_FRAME;\n }\n /**\n * Indicates the way the record batch body was compressed\n */\n method() {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? this.bb.readInt8(this.bb_pos + offset) : BodyCompressionMethod.BUFFER;\n }\n static startBodyCompression(builder) {\n builder.startObject(2);\n }\n static addCodec(builder, codec) {\n builder.addFieldInt8(0, codec, CompressionType.LZ4_FRAME);\n }\n static addMethod(builder, method) {\n builder.addFieldInt8(1, method, BodyCompressionMethod.BUFFER);\n }\n static endBodyCompression(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static createBodyCompression(builder, codec, method) {\n BodyCompression.startBodyCompression(builder);\n BodyCompression.addCodec(builder, codec);\n BodyCompression.addMethod(builder, method);\n return BodyCompression.endBodyCompression(builder);\n }\n}\n\n//# sourceMappingURL=body-compression.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\n/**\n * ----------------------------------------------------------------------\n * A Buffer represents a single contiguous memory segment\n */\nexport class Buffer {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n /**\n * The relative offset into the shared memory page where the bytes for this\n * buffer starts\n */\n offset() {\n return this.bb.readInt64(this.bb_pos);\n }\n /**\n * The absolute length (in bytes) of the memory buffer. The memory is found\n * from offset (inclusive) to offset + length (non-inclusive). When building\n * messages using the encapsulated IPC message, padding bytes may be written\n * after a buffer, but such padding bytes do not need to be accounted for in\n * the size here.\n */\n length() {\n return this.bb.readInt64(this.bb_pos + 8);\n }\n static sizeOf() {\n return 16;\n }\n static createBuffer(builder, offset, length) {\n builder.prep(8, 16);\n builder.writeInt64(length);\n builder.writeInt64(offset);\n return builder.offset();\n }\n}\n\n//# sourceMappingURL=buffer.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\n/**\n * ----------------------------------------------------------------------\n * Data structures for describing a table row batch (a collection of\n * equal-length Arrow arrays)\n * Metadata about a field at some level of a nested type tree (but not\n * its children).\n *\n * For example, a List with values `[[1, 2, 3], null, [4], [5, 6], null]`\n * would have {length: 5, null_count: 2} for its List node, and {length: 6,\n * null_count: 0} for its Int16 node, as separate FieldNode structs\n */\nexport class FieldNode {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n /**\n * The number of value slots in the Arrow array at this level of a nested\n * tree\n */\n length() {\n return this.bb.readInt64(this.bb_pos);\n }\n /**\n * The number of observed nulls. Fields with null_count == 0 may choose not\n * to write their physical validity bitmap out as a materialized buffer,\n * instead setting the length of the bitmap buffer to 0.\n */\n nullCount() {\n return this.bb.readInt64(this.bb_pos + 8);\n }\n static sizeOf() {\n return 16;\n }\n static createFieldNode(builder, length, null_count) {\n builder.prep(8, 16);\n builder.writeInt64(null_count);\n builder.writeInt64(length);\n return builder.offset();\n }\n}\n\n//# sourceMappingURL=field-node.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { BodyCompression } from './body-compression.mjs';\nimport { Buffer } from './buffer.mjs';\nimport { FieldNode } from './field-node.mjs';\n/**\n * A data header describing the shared memory layout of a \"record\" or \"row\"\n * batch. Some systems call this a \"row batch\" internally and others a \"record\n * batch\".\n */\nexport class RecordBatch {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsRecordBatch(bb, obj) {\n return (obj || new RecordBatch()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsRecordBatch(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new RecordBatch()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n /**\n * number of records / rows. The arrays in the batch should all have this\n * length\n */\n length() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt64(this.bb_pos + offset) : this.bb.createLong(0, 0);\n }\n /**\n * Nodes correspond to the pre-ordered flattened logical schema\n */\n nodes(index, obj) {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? (obj || new FieldNode()).__init(this.bb.__vector(this.bb_pos + offset) + index * 16, this.bb) : null;\n }\n nodesLength() {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\n }\n /**\n * Buffers correspond to the pre-ordered flattened buffer tree\n *\n * The number of buffers appended to this list depends on the schema. For\n * example, most primitive arrays will have 2 buffers, 1 for the validity\n * bitmap and 1 for the values. For struct arrays, there will only be a\n * single buffer for the validity (nulls) bitmap\n */\n buffers(index, obj) {\n const offset = this.bb.__offset(this.bb_pos, 8);\n return offset ? (obj || new Buffer()).__init(this.bb.__vector(this.bb_pos + offset) + index * 16, this.bb) : null;\n }\n buffersLength() {\n const offset = this.bb.__offset(this.bb_pos, 8);\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\n }\n /**\n * Optional compression of the message body\n */\n compression(obj) {\n const offset = this.bb.__offset(this.bb_pos, 10);\n return offset ? (obj || new BodyCompression()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;\n }\n static startRecordBatch(builder) {\n builder.startObject(4);\n }\n static addLength(builder, length) {\n builder.addFieldInt64(0, length, builder.createLong(0, 0));\n }\n static addNodes(builder, nodesOffset) {\n builder.addFieldOffset(1, nodesOffset, 0);\n }\n static startNodesVector(builder, numElems) {\n builder.startVector(16, numElems, 8);\n }\n static addBuffers(builder, buffersOffset) {\n builder.addFieldOffset(2, buffersOffset, 0);\n }\n static startBuffersVector(builder, numElems) {\n builder.startVector(16, numElems, 8);\n }\n static addCompression(builder, compressionOffset) {\n builder.addFieldOffset(3, compressionOffset, 0);\n }\n static endRecordBatch(builder) {\n const offset = builder.endObject();\n return offset;\n }\n}\n\n//# sourceMappingURL=record-batch.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { RecordBatch } from './record-batch.mjs';\n/**\n * For sending dictionary encoding information. Any Field can be\n * dictionary-encoded, but in this case none of its children may be\n * dictionary-encoded.\n * There is one vector / column per dictionary, but that vector / column\n * may be spread across multiple dictionary batches by using the isDelta\n * flag\n */\nexport class DictionaryBatch {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsDictionaryBatch(bb, obj) {\n return (obj || new DictionaryBatch()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsDictionaryBatch(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new DictionaryBatch()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n id() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt64(this.bb_pos + offset) : this.bb.createLong(0, 0);\n }\n data(obj) {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? (obj || new RecordBatch()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;\n }\n /**\n * If isDelta is true the values in the dictionary are to be appended to a\n * dictionary with the indicated id. If isDelta is false this dictionary\n * should replace the existing dictionary.\n */\n isDelta() {\n const offset = this.bb.__offset(this.bb_pos, 8);\n return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false;\n }\n static startDictionaryBatch(builder) {\n builder.startObject(3);\n }\n static addId(builder, id) {\n builder.addFieldInt64(0, id, builder.createLong(0, 0));\n }\n static addData(builder, dataOffset) {\n builder.addFieldOffset(1, dataOffset, 0);\n }\n static addIsDelta(builder, isDelta) {\n builder.addFieldInt8(2, +isDelta, +false);\n }\n static endDictionaryBatch(builder) {\n const offset = builder.endObject();\n return offset;\n }\n}\n\n//# sourceMappingURL=dictionary-batch.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport { DictionaryBatch } from './dictionary-batch.mjs';\nimport { RecordBatch } from './record-batch.mjs';\nimport { Schema } from './schema.mjs';\nimport { SparseTensor } from './sparse-tensor.mjs';\nimport { Tensor } from './tensor.mjs';\n/**\n * ----------------------------------------------------------------------\n * The root Message type\n * This union enables us to easily send different message types without\n * redundant storage, and in the future we can easily add new message types.\n *\n * Arrow implementations do not need to implement all of the message types,\n * which may include experimental metadata types. For maximum compatibility,\n * it is best to send data using RecordBatch\n */\nexport var MessageHeader;\n(function (MessageHeader) {\n MessageHeader[MessageHeader[\"NONE\"] = 0] = \"NONE\";\n MessageHeader[MessageHeader[\"Schema\"] = 1] = \"Schema\";\n MessageHeader[MessageHeader[\"DictionaryBatch\"] = 2] = \"DictionaryBatch\";\n MessageHeader[MessageHeader[\"RecordBatch\"] = 3] = \"RecordBatch\";\n MessageHeader[MessageHeader[\"Tensor\"] = 4] = \"Tensor\";\n MessageHeader[MessageHeader[\"SparseTensor\"] = 5] = \"SparseTensor\";\n})(MessageHeader || (MessageHeader = {}));\nexport function unionToMessageHeader(type, accessor) {\n switch (MessageHeader[type]) {\n case 'NONE': return null;\n case 'Schema': return accessor(new Schema());\n case 'DictionaryBatch': return accessor(new DictionaryBatch());\n case 'RecordBatch': return accessor(new RecordBatch());\n case 'Tensor': return accessor(new Tensor());\n case 'SparseTensor': return accessor(new SparseTensor());\n default: return null;\n }\n}\nexport function unionListToMessageHeader(type, accessor, index) {\n switch (MessageHeader[type]) {\n case 'NONE': return null;\n case 'Schema': return accessor(index, new Schema());\n case 'DictionaryBatch': return accessor(index, new DictionaryBatch());\n case 'RecordBatch': return accessor(index, new RecordBatch());\n case 'Tensor': return accessor(index, new Tensor());\n case 'SparseTensor': return accessor(index, new SparseTensor());\n default: return null;\n }\n}\n\n//# sourceMappingURL=message-header.mjs.map\n","// automatically generated by the FlatBuffers compiler, do not modify\nimport * as flatbuffers from 'flatbuffers';\nimport { KeyValue } from './key-value.mjs';\nimport { MessageHeader } from './message-header.mjs';\nimport { MetadataVersion } from './metadata-version.mjs';\nexport class Message {\n constructor() {\n this.bb = null;\n this.bb_pos = 0;\n }\n __init(i, bb) {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n static getRootAsMessage(bb, obj) {\n return (obj || new Message()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n static getSizePrefixedRootAsMessage(bb, obj) {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Message()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n version() {\n const offset = this.bb.__offset(this.bb_pos, 4);\n return offset ? this.bb.readInt16(this.bb_pos + offset) : MetadataVersion.V1;\n }\n headerType() {\n const offset = this.bb.__offset(this.bb_pos, 6);\n return offset ? this.bb.readUint8(this.bb_pos + offset) : MessageHeader.NONE;\n }\n // @ts-ignore\n header(obj) {\n const offset = this.bb.__offset(this.bb_pos, 8);\n return offset ? this.bb.__union(obj, this.bb_pos + offset) : null;\n }\n bodyLength() {\n const offset = this.bb.__offset(this.bb_pos, 10);\n return offset ? this.bb.readInt64(this.bb_pos + offset) : this.bb.createLong(0, 0);\n }\n customMetadata(index, obj) {\n const offset = this.bb.__offset(this.bb_pos, 12);\n return offset ? (obj || new KeyValue()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;\n }\n customMetadataLength() {\n const offset = this.bb.__offset(this.bb_pos, 12);\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\n }\n static startMessage(builder) {\n builder.startObject(5);\n }\n static addVersion(builder, version) {\n builder.addFieldInt16(0, version, MetadataVersion.V1);\n }\n static addHeaderType(builder, headerType) {\n builder.addFieldInt8(1, headerType, MessageHeader.NONE);\n }\n static addHeader(builder, headerOffset) {\n builder.addFieldOffset(2, headerOffset, 0);\n }\n static addBodyLength(builder, bodyLength) {\n builder.addFieldInt64(3, bodyLength, builder.createLong(0, 0));\n }\n static addCustomMetadata(builder, customMetadataOffset) {\n builder.addFieldOffset(4, customMetadataOffset, 0);\n }\n static createCustomMetadataVector(builder, data) {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n static startCustomMetadataVector(builder, numElems) {\n builder.startVector(4, numElems, 4);\n }\n static endMessage(builder) {\n const offset = builder.endObject();\n return offset;\n }\n static finishMessageBuffer(builder, offset) {\n builder.finish(offset);\n }\n static finishSizePrefixedMessageBuffer(builder, offset) {\n builder.finish(offset, undefined, true);\n }\n static createMessage(builder, version, headerType, headerOffset, bodyLength, customMetadataOffset) {\n Message.startMessage(builder);\n Message.addVersion(builder, version);\n Message.addHeaderType(builder, headerType);\n Message.addHeader(builder, headerOffset);\n Message.addBodyLength(builder, bodyLength);\n Message.addCustomMetadata(builder, customMetadataOffset);\n return Message.endMessage(builder);\n }\n}\n\n//# sourceMappingURL=message.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport * as flatbuffers from 'flatbuffers';\nvar Long = flatbuffers.Long;\nimport { Visitor } from '../visitor.mjs';\nimport { Null } from '../fb/null.mjs';\nimport { Int } from '../fb/int.mjs';\nimport { FloatingPoint } from '../fb/floating-point.mjs';\nimport { Binary } from '../fb/binary.mjs';\nimport { Bool } from '../fb/bool.mjs';\nimport { Utf8 } from '../fb/utf8.mjs';\nimport { Decimal } from '../fb/decimal.mjs';\nimport { Date } from '../fb/date.mjs';\nimport { Time } from '../fb/time.mjs';\nimport { Timestamp } from '../fb/timestamp.mjs';\nimport { Interval } from '../fb/interval.mjs';\nimport { List } from '../fb/list.mjs';\nimport { Struct_ as Struct } from '../fb/struct_.mjs';\nimport { Union } from '../fb/union.mjs';\nimport { DictionaryEncoding } from '../fb/dictionary-encoding.mjs';\nimport { FixedSizeBinary } from '../fb/fixed-size-binary.mjs';\nimport { FixedSizeList } from '../fb/fixed-size-list.mjs';\nimport { Map as Map_ } from '../fb/map.mjs';\n/** @ignore */\nexport class TypeAssembler extends Visitor {\n visit(node, builder) {\n return (node == null || builder == null) ? undefined : super.visit(node, builder);\n }\n visitNull(_node, b) {\n Null.startNull(b);\n return Null.endNull(b);\n }\n visitInt(node, b) {\n Int.startInt(b);\n Int.addBitWidth(b, node.bitWidth);\n Int.addIsSigned(b, node.isSigned);\n return Int.endInt(b);\n }\n visitFloat(node, b) {\n FloatingPoint.startFloatingPoint(b);\n FloatingPoint.addPrecision(b, node.precision);\n return FloatingPoint.endFloatingPoint(b);\n }\n visitBinary(_node, b) {\n Binary.startBinary(b);\n return Binary.endBinary(b);\n }\n visitBool(_node, b) {\n Bool.startBool(b);\n return Bool.endBool(b);\n }\n visitUtf8(_node, b) {\n Utf8.startUtf8(b);\n return Utf8.endUtf8(b);\n }\n visitDecimal(node, b) {\n Decimal.startDecimal(b);\n Decimal.addScale(b, node.scale);\n Decimal.addPrecision(b, node.precision);\n Decimal.addBitWidth(b, node.bitWidth);\n return Decimal.endDecimal(b);\n }\n visitDate(node, b) {\n Date.startDate(b);\n Date.addUnit(b, node.unit);\n return Date.endDate(b);\n }\n visitTime(node, b) {\n Time.startTime(b);\n Time.addUnit(b, node.unit);\n Time.addBitWidth(b, node.bitWidth);\n return Time.endTime(b);\n }\n visitTimestamp(node, b) {\n const timezone = (node.timezone && b.createString(node.timezone)) || undefined;\n Timestamp.startTimestamp(b);\n Timestamp.addUnit(b, node.unit);\n if (timezone !== undefined) {\n Timestamp.addTimezone(b, timezone);\n }\n return Timestamp.endTimestamp(b);\n }\n visitInterval(node, b) {\n Interval.startInterval(b);\n Interval.addUnit(b, node.unit);\n return Interval.endInterval(b);\n }\n visitList(_node, b) {\n List.startList(b);\n return List.endList(b);\n }\n visitStruct(_node, b) {\n Struct.startStruct_(b);\n return Struct.endStruct_(b);\n }\n visitUnion(node, b) {\n Union.startTypeIdsVector(b, node.typeIds.length);\n const typeIds = Union.createTypeIdsVector(b, node.typeIds);\n Union.startUnion(b);\n Union.addMode(b, node.mode);\n Union.addTypeIds(b, typeIds);\n return Union.endUnion(b);\n }\n visitDictionary(node, b) {\n const indexType = this.visit(node.indices, b);\n DictionaryEncoding.startDictionaryEncoding(b);\n DictionaryEncoding.addId(b, new Long(node.id, 0));\n DictionaryEncoding.addIsOrdered(b, node.isOrdered);\n if (indexType !== undefined) {\n DictionaryEncoding.addIndexType(b, indexType);\n }\n return DictionaryEncoding.endDictionaryEncoding(b);\n }\n visitFixedSizeBinary(node, b) {\n FixedSizeBinary.startFixedSizeBinary(b);\n FixedSizeBinary.addByteWidth(b, node.byteWidth);\n return FixedSizeBinary.endFixedSizeBinary(b);\n }\n visitFixedSizeList(node, b) {\n FixedSizeList.startFixedSizeList(b);\n FixedSizeList.addListSize(b, node.listSize);\n return FixedSizeList.endFixedSizeList(b);\n }\n visitMap(node, b) {\n Map_.startMap(b);\n Map_.addKeysSorted(b, node.keysSorted);\n return Map_.endMap(b);\n }\n}\n/** @ignore */\nexport const instance = new TypeAssembler();\n\n//# sourceMappingURL=typeassembler.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n/* eslint-disable brace-style */\nimport { Schema, Field } from '../../schema.mjs';\nimport { Dictionary, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct, Union, Bool, Null, Int, Float, Date_, Time, Interval, Timestamp, Int32, } from '../../type.mjs';\nimport { DictionaryBatch, RecordBatch, FieldNode, BufferRegion } from './message.mjs';\nimport { TimeUnit, Precision, IntervalUnit, UnionMode, DateUnit } from '../../enum.mjs';\n/** @ignore */\nexport function schemaFromJSON(_schema, dictionaries = new Map()) {\n return new Schema(schemaFieldsFromJSON(_schema, dictionaries), customMetadataFromJSON(_schema['customMetadata']), dictionaries);\n}\n/** @ignore */\nexport function recordBatchFromJSON(b) {\n return new RecordBatch(b['count'], fieldNodesFromJSON(b['columns']), buffersFromJSON(b['columns']));\n}\n/** @ignore */\nexport function dictionaryBatchFromJSON(b) {\n return new DictionaryBatch(recordBatchFromJSON(b['data']), b['id'], b['isDelta']);\n}\n/** @ignore */\nfunction schemaFieldsFromJSON(_schema, dictionaries) {\n return (_schema['fields'] || []).filter(Boolean).map((f) => Field.fromJSON(f, dictionaries));\n}\n/** @ignore */\nfunction fieldChildrenFromJSON(_field, dictionaries) {\n return (_field['children'] || []).filter(Boolean).map((f) => Field.fromJSON(f, dictionaries));\n}\n/** @ignore */\nfunction fieldNodesFromJSON(xs) {\n return (xs || []).reduce((fieldNodes, column) => [\n ...fieldNodes,\n new FieldNode(column['count'], nullCountFromJSON(column['VALIDITY'])),\n ...fieldNodesFromJSON(column['children'])\n ], []);\n}\n/** @ignore */\nfunction buffersFromJSON(xs, buffers = []) {\n for (let i = -1, n = (xs || []).length; ++i < n;) {\n const column = xs[i];\n column['VALIDITY'] && buffers.push(new BufferRegion(buffers.length, column['VALIDITY'].length));\n column['TYPE'] && buffers.push(new BufferRegion(buffers.length, column['TYPE'].length));\n column['OFFSET'] && buffers.push(new BufferRegion(buffers.length, column['OFFSET'].length));\n column['DATA'] && buffers.push(new BufferRegion(buffers.length, column['DATA'].length));\n buffers = buffersFromJSON(column['children'], buffers);\n }\n return buffers;\n}\n/** @ignore */\nfunction nullCountFromJSON(validity) {\n return (validity || []).reduce((sum, val) => sum + +(val === 0), 0);\n}\n/** @ignore */\nexport function fieldFromJSON(_field, dictionaries) {\n let id;\n let keys;\n let field;\n let dictMeta;\n let type;\n let dictType;\n // If no dictionary encoding\n if (!dictionaries || !(dictMeta = _field['dictionary'])) {\n type = typeFromJSON(_field, fieldChildrenFromJSON(_field, dictionaries));\n field = new Field(_field['name'], type, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));\n }\n // If dictionary encoded and the first time we've seen this dictionary id, decode\n // the data type and child fields, then wrap in a Dictionary type and insert the\n // data type into the dictionary types map.\n else if (!dictionaries.has(id = dictMeta['id'])) {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta['indexType']) ? indexTypeFromJSON(keys) : new Int32();\n dictionaries.set(id, type = typeFromJSON(_field, fieldChildrenFromJSON(_field, dictionaries)));\n dictType = new Dictionary(type, keys, id, dictMeta['isOrdered']);\n field = new Field(_field['name'], dictType, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));\n }\n // If dictionary encoded, and have already seen this dictionary Id in the schema, then reuse the\n // data type and wrap in a new Dictionary type and field.\n else {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta['indexType']) ? indexTypeFromJSON(keys) : new Int32();\n dictType = new Dictionary(dictionaries.get(id), keys, id, dictMeta['isOrdered']);\n field = new Field(_field['name'], dictType, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));\n }\n return field || null;\n}\n/** @ignore */\nfunction customMetadataFromJSON(_metadata) {\n return new Map(Object.entries(_metadata || {}));\n}\n/** @ignore */\nfunction indexTypeFromJSON(_type) {\n return new Int(_type['isSigned'], _type['bitWidth']);\n}\n/** @ignore */\nfunction typeFromJSON(f, children) {\n const typeId = f['type']['name'];\n switch (typeId) {\n case 'NONE': return new Null();\n case 'null': return new Null();\n case 'binary': return new Binary();\n case 'utf8': return new Utf8();\n case 'bool': return new Bool();\n case 'list': return new List((children || [])[0]);\n case 'struct': return new Struct(children || []);\n case 'struct_': return new Struct(children || []);\n }\n switch (typeId) {\n case 'int': {\n const t = f['type'];\n return new Int(t['isSigned'], t['bitWidth']);\n }\n case 'floatingpoint': {\n const t = f['type'];\n return new Float(Precision[t['precision']]);\n }\n case 'decimal': {\n const t = f['type'];\n return new Decimal(t['scale'], t['precision'], t['bitWidth']);\n }\n case 'date': {\n const t = f['type'];\n return new Date_(DateUnit[t['unit']]);\n }\n case 'time': {\n const t = f['type'];\n return new Time(TimeUnit[t['unit']], t['bitWidth']);\n }\n case 'timestamp': {\n const t = f['type'];\n return new Timestamp(TimeUnit[t['unit']], t['timezone']);\n }\n case 'interval': {\n const t = f['type'];\n return new Interval(IntervalUnit[t['unit']]);\n }\n case 'union': {\n const t = f['type'];\n return new Union(UnionMode[t['mode']], (t['typeIds'] || []), children || []);\n }\n case 'fixedsizebinary': {\n const t = f['type'];\n return new FixedSizeBinary(t['byteWidth']);\n }\n case 'fixedsizelist': {\n const t = f['type'];\n return new FixedSizeList(t['listSize'], (children || [])[0]);\n }\n case 'map': {\n const t = f['type'];\n return new Map_((children || [])[0], t['keysSorted']);\n }\n }\n throw new Error(`Unrecognized type: \"${typeId}\"`);\n}\n\n//# sourceMappingURL=json.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n/* eslint-disable brace-style */\nimport * as flatbuffers from 'flatbuffers';\nimport { Schema as _Schema } from '../../fb/schema.mjs';\nimport { Int as _Int } from '../../fb/int.mjs';\nimport { RecordBatch as _RecordBatch } from '../../fb/record-batch.mjs';\nimport { DictionaryBatch as _DictionaryBatch } from '../../fb/dictionary-batch.mjs';\nimport { Buffer as _Buffer } from '../../fb/buffer.mjs';\nimport { Field as _Field } from '../../fb/field.mjs';\nimport { FieldNode as _FieldNode } from '../../fb/field-node.mjs';\nimport { Type } from '../../fb/type.mjs';\nimport { KeyValue as _KeyValue } from '../../fb/key-value.mjs';\nimport { Endianness as _Endianness } from '../../fb/endianness.mjs';\nimport { FloatingPoint as _FloatingPoint } from '../../fb/floating-point.mjs';\nimport { Decimal as _Decimal } from '../../fb/decimal.mjs';\nimport { Date as _Date } from '../../fb/date.mjs';\nimport { Time as _Time } from '../../fb/time.mjs';\nimport { Timestamp as _Timestamp } from '../../fb/timestamp.mjs';\nimport { Interval as _Interval } from '../../fb/interval.mjs';\nimport { Union as _Union } from '../../fb/union.mjs';\nimport { FixedSizeBinary as _FixedSizeBinary } from '../../fb/fixed-size-binary.mjs';\nimport { FixedSizeList as _FixedSizeList } from '../../fb/fixed-size-list.mjs';\nimport { Map as _Map } from '../../fb/map.mjs';\nimport { Message as _Message } from '../../fb/message.mjs';\nimport { Schema, Field } from '../../schema.mjs';\nimport { toUint8Array } from '../../util/buffer.mjs';\nimport { MessageHeader, MetadataVersion } from '../../enum.mjs';\nimport { instance as typeAssembler } from '../../visitor/typeassembler.mjs';\nimport { fieldFromJSON, schemaFromJSON, recordBatchFromJSON, dictionaryBatchFromJSON } from './json.mjs';\nvar Long = flatbuffers.Long;\nvar Builder = flatbuffers.Builder;\nvar ByteBuffer = flatbuffers.ByteBuffer;\nimport { DataType, Dictionary, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct, Union, Bool, Null, Int, Float, Date_, Time, Interval, Timestamp, Int32, } from '../../type.mjs';\n/**\n * @ignore\n * @private\n **/\nexport class Message {\n constructor(bodyLength, version, headerType, header) {\n this._version = version;\n this._headerType = headerType;\n this.body = new Uint8Array(0);\n header && (this._createHeader = () => header);\n this._bodyLength = typeof bodyLength === 'number' ? bodyLength : bodyLength.low;\n }\n /** @nocollapse */\n static fromJSON(msg, headerType) {\n const message = new Message(0, MetadataVersion.V4, headerType);\n message._createHeader = messageHeaderFromJSON(msg, headerType);\n return message;\n }\n /** @nocollapse */\n static decode(buf) {\n buf = new ByteBuffer(toUint8Array(buf));\n const _message = _Message.getRootAsMessage(buf);\n const bodyLength = _message.bodyLength();\n const version = _message.version();\n const headerType = _message.headerType();\n const message = new Message(bodyLength, version, headerType);\n message._createHeader = decodeMessageHeader(_message, headerType);\n return message;\n }\n /** @nocollapse */\n static encode(message) {\n const b = new Builder();\n let headerOffset = -1;\n if (message.isSchema()) {\n headerOffset = Schema.encode(b, message.header());\n }\n else if (message.isRecordBatch()) {\n headerOffset = RecordBatch.encode(b, message.header());\n }\n else if (message.isDictionaryBatch()) {\n headerOffset = DictionaryBatch.encode(b, message.header());\n }\n _Message.startMessage(b);\n _Message.addVersion(b, MetadataVersion.V4);\n _Message.addHeader(b, headerOffset);\n _Message.addHeaderType(b, message.headerType);\n _Message.addBodyLength(b, new Long(message.bodyLength, 0));\n _Message.finishMessageBuffer(b, _Message.endMessage(b));\n return b.asUint8Array();\n }\n /** @nocollapse */\n static from(header, bodyLength = 0) {\n if (header instanceof Schema) {\n return new Message(0, MetadataVersion.V4, MessageHeader.Schema, header);\n }\n if (header instanceof RecordBatch) {\n return new Message(bodyLength, MetadataVersion.V4, MessageHeader.RecordBatch, header);\n }\n if (header instanceof DictionaryBatch) {\n return new Message(bodyLength, MetadataVersion.V4, MessageHeader.DictionaryBatch, header);\n }\n throw new Error(`Unrecognized Message header: ${header}`);\n }\n get type() { return this.headerType; }\n get version() { return this._version; }\n get headerType() { return this._headerType; }\n get bodyLength() { return this._bodyLength; }\n header() { return this._createHeader(); }\n isSchema() { return this.headerType === MessageHeader.Schema; }\n isRecordBatch() { return this.headerType === MessageHeader.RecordBatch; }\n isDictionaryBatch() { return this.headerType === MessageHeader.DictionaryBatch; }\n}\n/**\n * @ignore\n * @private\n **/\nexport class RecordBatch {\n constructor(length, nodes, buffers) {\n this._nodes = nodes;\n this._buffers = buffers;\n this._length = typeof length === 'number' ? length : length.low;\n }\n get nodes() { return this._nodes; }\n get length() { return this._length; }\n get buffers() { return this._buffers; }\n}\n/**\n * @ignore\n * @private\n **/\nexport class DictionaryBatch {\n constructor(data, id, isDelta = false) {\n this._data = data;\n this._isDelta = isDelta;\n this._id = typeof id === 'number' ? id : id.low;\n }\n get id() { return this._id; }\n get data() { return this._data; }\n get isDelta() { return this._isDelta; }\n get length() { return this.data.length; }\n get nodes() { return this.data.nodes; }\n get buffers() { return this.data.buffers; }\n}\n/**\n * @ignore\n * @private\n **/\nexport class BufferRegion {\n constructor(offset, length) {\n this.offset = typeof offset === 'number' ? offset : offset.low;\n this.length = typeof length === 'number' ? length : length.low;\n }\n}\n/**\n * @ignore\n * @private\n **/\nexport class FieldNode {\n constructor(length, nullCount) {\n this.length = typeof length === 'number' ? length : length.low;\n this.nullCount = typeof nullCount === 'number' ? nullCount : nullCount.low;\n }\n}\n/** @ignore */\nfunction messageHeaderFromJSON(message, type) {\n return (() => {\n switch (type) {\n case MessageHeader.Schema: return Schema.fromJSON(message);\n case MessageHeader.RecordBatch: return RecordBatch.fromJSON(message);\n case MessageHeader.DictionaryBatch: return DictionaryBatch.fromJSON(message);\n }\n throw new Error(`Unrecognized Message type: { name: ${MessageHeader[type]}, type: ${type} }`);\n });\n}\n/** @ignore */\nfunction decodeMessageHeader(message, type) {\n return (() => {\n switch (type) {\n case MessageHeader.Schema: return Schema.decode(message.header(new _Schema()));\n case MessageHeader.RecordBatch: return RecordBatch.decode(message.header(new _RecordBatch()), message.version());\n case MessageHeader.DictionaryBatch: return DictionaryBatch.decode(message.header(new _DictionaryBatch()), message.version());\n }\n throw new Error(`Unrecognized Message type: { name: ${MessageHeader[type]}, type: ${type} }`);\n });\n}\nField['encode'] = encodeField;\nField['decode'] = decodeField;\nField['fromJSON'] = fieldFromJSON;\nSchema['encode'] = encodeSchema;\nSchema['decode'] = decodeSchema;\nSchema['fromJSON'] = schemaFromJSON;\nRecordBatch['encode'] = encodeRecordBatch;\nRecordBatch['decode'] = decodeRecordBatch;\nRecordBatch['fromJSON'] = recordBatchFromJSON;\nDictionaryBatch['encode'] = encodeDictionaryBatch;\nDictionaryBatch['decode'] = decodeDictionaryBatch;\nDictionaryBatch['fromJSON'] = dictionaryBatchFromJSON;\nFieldNode['encode'] = encodeFieldNode;\nFieldNode['decode'] = decodeFieldNode;\nBufferRegion['encode'] = encodeBufferRegion;\nBufferRegion['decode'] = decodeBufferRegion;\n/** @ignore */\nfunction decodeSchema(_schema, dictionaries = new Map()) {\n const fields = decodeSchemaFields(_schema, dictionaries);\n return new Schema(fields, decodeCustomMetadata(_schema), dictionaries);\n}\n/** @ignore */\nfunction decodeRecordBatch(batch, version = MetadataVersion.V4) {\n if (batch.compression() !== null) {\n throw new Error('Record batch compression not implemented');\n }\n return new RecordBatch(batch.length(), decodeFieldNodes(batch), decodeBuffers(batch, version));\n}\n/** @ignore */\nfunction decodeDictionaryBatch(batch, version = MetadataVersion.V4) {\n return new DictionaryBatch(RecordBatch.decode(batch.data(), version), batch.id(), batch.isDelta());\n}\n/** @ignore */\nfunction decodeBufferRegion(b) {\n return new BufferRegion(b.offset(), b.length());\n}\n/** @ignore */\nfunction decodeFieldNode(f) {\n return new FieldNode(f.length(), f.nullCount());\n}\n/** @ignore */\nfunction decodeFieldNodes(batch) {\n const nodes = [];\n for (let f, i = -1, j = -1, n = batch.nodesLength(); ++i < n;) {\n if (f = batch.nodes(i)) {\n nodes[++j] = FieldNode.decode(f);\n }\n }\n return nodes;\n}\n/** @ignore */\nfunction decodeBuffers(batch, version) {\n const bufferRegions = [];\n for (let b, i = -1, j = -1, n = batch.buffersLength(); ++i < n;) {\n if (b = batch.buffers(i)) {\n // If this Arrow buffer was written before version 4,\n // advance the buffer's bb_pos 8 bytes to skip past\n // the now-removed page_id field\n if (version < MetadataVersion.V4) {\n b.bb_pos += (8 * (i + 1));\n }\n bufferRegions[++j] = BufferRegion.decode(b);\n }\n }\n return bufferRegions;\n}\n/** @ignore */\nfunction decodeSchemaFields(schema, dictionaries) {\n const fields = [];\n for (let f, i = -1, j = -1, n = schema.fieldsLength(); ++i < n;) {\n if (f = schema.fields(i)) {\n fields[++j] = Field.decode(f, dictionaries);\n }\n }\n return fields;\n}\n/** @ignore */\nfunction decodeFieldChildren(field, dictionaries) {\n const children = [];\n for (let f, i = -1, j = -1, n = field.childrenLength(); ++i < n;) {\n if (f = field.children(i)) {\n children[++j] = Field.decode(f, dictionaries);\n }\n }\n return children;\n}\n/** @ignore */\nfunction decodeField(f, dictionaries) {\n let id;\n let field;\n let type;\n let keys;\n let dictType;\n let dictMeta;\n // If no dictionary encoding\n if (!dictionaries || !(dictMeta = f.dictionary())) {\n type = decodeFieldType(f, decodeFieldChildren(f, dictionaries));\n field = new Field(f.name(), type, f.nullable(), decodeCustomMetadata(f));\n }\n // If dictionary encoded and the first time we've seen this dictionary id, decode\n // the data type and child fields, then wrap in a Dictionary type and insert the\n // data type into the dictionary types map.\n else if (!dictionaries.has(id = dictMeta.id().low)) {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta.indexType()) ? decodeIndexType(keys) : new Int32();\n dictionaries.set(id, type = decodeFieldType(f, decodeFieldChildren(f, dictionaries)));\n dictType = new Dictionary(type, keys, id, dictMeta.isOrdered());\n field = new Field(f.name(), dictType, f.nullable(), decodeCustomMetadata(f));\n }\n // If dictionary encoded, and have already seen this dictionary Id in the schema, then reuse the\n // data type and wrap in a new Dictionary type and field.\n else {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta.indexType()) ? decodeIndexType(keys) : new Int32();\n dictType = new Dictionary(dictionaries.get(id), keys, id, dictMeta.isOrdered());\n field = new Field(f.name(), dictType, f.nullable(), decodeCustomMetadata(f));\n }\n return field || null;\n}\n/** @ignore */\nfunction decodeCustomMetadata(parent) {\n const data = new Map();\n if (parent) {\n for (let entry, key, i = -1, n = Math.trunc(parent.customMetadataLength()); ++i < n;) {\n if ((entry = parent.customMetadata(i)) && (key = entry.key()) != null) {\n data.set(key, entry.value());\n }\n }\n }\n return data;\n}\n/** @ignore */\nfunction decodeIndexType(_type) {\n return new Int(_type.isSigned(), _type.bitWidth());\n}\n/** @ignore */\nfunction decodeFieldType(f, children) {\n const typeId = f.typeType();\n switch (typeId) {\n case Type['NONE']: return new Null();\n case Type['Null']: return new Null();\n case Type['Binary']: return new Binary();\n case Type['Utf8']: return new Utf8();\n case Type['Bool']: return new Bool();\n case Type['List']: return new List((children || [])[0]);\n case Type['Struct_']: return new Struct(children || []);\n }\n switch (typeId) {\n case Type['Int']: {\n const t = f.type(new _Int());\n return new Int(t.isSigned(), t.bitWidth());\n }\n case Type['FloatingPoint']: {\n const t = f.type(new _FloatingPoint());\n return new Float(t.precision());\n }\n case Type['Decimal']: {\n const t = f.type(new _Decimal());\n return new Decimal(t.scale(), t.precision(), t.bitWidth());\n }\n case Type['Date']: {\n const t = f.type(new _Date());\n return new Date_(t.unit());\n }\n case Type['Time']: {\n const t = f.type(new _Time());\n return new Time(t.unit(), t.bitWidth());\n }\n case Type['Timestamp']: {\n const t = f.type(new _Timestamp());\n return new Timestamp(t.unit(), t.timezone());\n }\n case Type['Interval']: {\n const t = f.type(new _Interval());\n return new Interval(t.unit());\n }\n case Type['Union']: {\n const t = f.type(new _Union());\n return new Union(t.mode(), t.typeIdsArray() || [], children || []);\n }\n case Type['FixedSizeBinary']: {\n const t = f.type(new _FixedSizeBinary());\n return new FixedSizeBinary(t.byteWidth());\n }\n case Type['FixedSizeList']: {\n const t = f.type(new _FixedSizeList());\n return new FixedSizeList(t.listSize(), (children || [])[0]);\n }\n case Type['Map']: {\n const t = f.type(new _Map());\n return new Map_((children || [])[0], t.keysSorted());\n }\n }\n throw new Error(`Unrecognized type: \"${Type[typeId]}\" (${typeId})`);\n}\n/** @ignore */\nfunction encodeSchema(b, schema) {\n const fieldOffsets = schema.fields.map((f) => Field.encode(b, f));\n _Schema.startFieldsVector(b, fieldOffsets.length);\n const fieldsVectorOffset = _Schema.createFieldsVector(b, fieldOffsets);\n const metadataOffset = !(schema.metadata && schema.metadata.size > 0) ? -1 :\n _Schema.createCustomMetadataVector(b, [...schema.metadata].map(([k, v]) => {\n const key = b.createString(`${k}`);\n const val = b.createString(`${v}`);\n _KeyValue.startKeyValue(b);\n _KeyValue.addKey(b, key);\n _KeyValue.addValue(b, val);\n return _KeyValue.endKeyValue(b);\n }));\n _Schema.startSchema(b);\n _Schema.addFields(b, fieldsVectorOffset);\n _Schema.addEndianness(b, platformIsLittleEndian ? _Endianness.Little : _Endianness.Big);\n if (metadataOffset !== -1) {\n _Schema.addCustomMetadata(b, metadataOffset);\n }\n return _Schema.endSchema(b);\n}\n/** @ignore */\nfunction encodeField(b, field) {\n let nameOffset = -1;\n let typeOffset = -1;\n let dictionaryOffset = -1;\n const type = field.type;\n let typeId = field.typeId;\n if (!DataType.isDictionary(type)) {\n typeOffset = typeAssembler.visit(type, b);\n }\n else {\n typeId = type.dictionary.typeId;\n dictionaryOffset = typeAssembler.visit(type, b);\n typeOffset = typeAssembler.visit(type.dictionary, b);\n }\n const childOffsets = (type.children || []).map((f) => Field.encode(b, f));\n const childrenVectorOffset = _Field.createChildrenVector(b, childOffsets);\n const metadataOffset = !(field.metadata && field.metadata.size > 0) ? -1 :\n _Field.createCustomMetadataVector(b, [...field.metadata].map(([k, v]) => {\n const key = b.createString(`${k}`);\n const val = b.createString(`${v}`);\n _KeyValue.startKeyValue(b);\n _KeyValue.addKey(b, key);\n _KeyValue.addValue(b, val);\n return _KeyValue.endKeyValue(b);\n }));\n if (field.name) {\n nameOffset = b.createString(field.name);\n }\n _Field.startField(b);\n _Field.addType(b, typeOffset);\n _Field.addTypeType(b, typeId);\n _Field.addChildren(b, childrenVectorOffset);\n _Field.addNullable(b, !!field.nullable);\n if (nameOffset !== -1) {\n _Field.addName(b, nameOffset);\n }\n if (dictionaryOffset !== -1) {\n _Field.addDictionary(b, dictionaryOffset);\n }\n if (metadataOffset !== -1) {\n _Field.addCustomMetadata(b, metadataOffset);\n }\n return _Field.endField(b);\n}\n/** @ignore */\nfunction encodeRecordBatch(b, recordBatch) {\n const nodes = recordBatch.nodes || [];\n const buffers = recordBatch.buffers || [];\n _RecordBatch.startNodesVector(b, nodes.length);\n for (const n of nodes.slice().reverse())\n FieldNode.encode(b, n);\n const nodesVectorOffset = b.endVector();\n _RecordBatch.startBuffersVector(b, buffers.length);\n for (const b_ of buffers.slice().reverse())\n BufferRegion.encode(b, b_);\n const buffersVectorOffset = b.endVector();\n _RecordBatch.startRecordBatch(b);\n _RecordBatch.addLength(b, new Long(recordBatch.length, 0));\n _RecordBatch.addNodes(b, nodesVectorOffset);\n _RecordBatch.addBuffers(b, buffersVectorOffset);\n return _RecordBatch.endRecordBatch(b);\n}\n/** @ignore */\nfunction encodeDictionaryBatch(b, dictionaryBatch) {\n const dataOffset = RecordBatch.encode(b, dictionaryBatch.data);\n _DictionaryBatch.startDictionaryBatch(b);\n _DictionaryBatch.addId(b, new Long(dictionaryBatch.id, 0));\n _DictionaryBatch.addIsDelta(b, dictionaryBatch.isDelta);\n _DictionaryBatch.addData(b, dataOffset);\n return _DictionaryBatch.endDictionaryBatch(b);\n}\n/** @ignore */\nfunction encodeFieldNode(b, node) {\n return _FieldNode.createFieldNode(b, new Long(node.length, 0), new Long(node.nullCount, 0));\n}\n/** @ignore */\nfunction encodeBufferRegion(b, node) {\n return _Buffer.createBuffer(b, new Long(node.offset, 0), new Long(node.length, 0));\n}\n/** @ignore */\nconst platformIsLittleEndian = (() => {\n const buffer = new ArrayBuffer(2);\n new DataView(buffer).setInt16(0, 256, true /* littleEndian */);\n // Int16Array uses the platform's endianness.\n return new Int16Array(buffer)[0] === 256;\n})();\n\n//# sourceMappingURL=message.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { __awaiter } from \"tslib\";\nimport { MessageHeader } from '../enum.mjs';\nimport { ByteBuffer } from 'flatbuffers';\nimport { Message } from './metadata/message.mjs';\nimport { isFileHandle } from '../util/compat.mjs';\nimport { AsyncRandomAccessFile } from '../io/file.mjs';\nimport { toUint8Array } from '../util/buffer.mjs';\nimport { ByteStream, AsyncByteStream } from '../io/stream.mjs';\nimport { ArrowJSON, ITERATOR_DONE } from '../io/interfaces.mjs';\n/** @ignore */ const invalidMessageType = (type) => `Expected ${MessageHeader[type]} Message in stream, but was null or length 0.`;\n/** @ignore */ const nullMessage = (type) => `Header pointer of flatbuffer-encoded ${MessageHeader[type]} Message is null or length 0.`;\n/** @ignore */ const invalidMessageMetadata = (expected, actual) => `Expected to read ${expected} metadata bytes, but only read ${actual}.`;\n/** @ignore */ const invalidMessageBodyLength = (expected, actual) => `Expected to read ${expected} bytes for message body, but only read ${actual}.`;\n/** @ignore */\nexport class MessageReader {\n constructor(source) {\n this.source = source instanceof ByteStream ? source : new ByteStream(source);\n }\n [Symbol.iterator]() { return this; }\n next() {\n let r;\n if ((r = this.readMetadataLength()).done) {\n return ITERATOR_DONE;\n }\n // ARROW-6313: If the first 4 bytes are continuation indicator (-1), read\n // the next 4 for the 32-bit metadata length. Otherwise, assume this is a\n // pre-v0.15 message, where the first 4 bytes are the metadata length.\n if ((r.value === -1) &&\n (r = this.readMetadataLength()).done) {\n return ITERATOR_DONE;\n }\n if ((r = this.readMetadata(r.value)).done) {\n return ITERATOR_DONE;\n }\n return r;\n }\n throw(value) { return this.source.throw(value); }\n return(value) { return this.source.return(value); }\n readMessage(type) {\n let r;\n if ((r = this.next()).done) {\n return null;\n }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n readMessageBody(bodyLength) {\n if (bodyLength <= 0) {\n return new Uint8Array(0);\n }\n const buf = toUint8Array(this.source.read(bodyLength));\n if (buf.byteLength < bodyLength) {\n throw new Error(invalidMessageBodyLength(bodyLength, buf.byteLength));\n }\n // 1. Work around bugs in fs.ReadStream's internal Buffer pooling, see: https://github.com/nodejs/node/issues/24817\n // 2. Work around https://github.com/whatwg/streams/blob/0ebe4b042e467d9876d80ae045de3843092ad797/reference-implementation/lib/helpers.js#L126\n return /* 1. */ (buf.byteOffset % 8 === 0) &&\n /* 2. */ (buf.byteOffset + buf.byteLength) <= buf.buffer.byteLength ? buf : buf.slice();\n }\n readSchema(throwIfNull = false) {\n const type = MessageHeader.Schema;\n const message = this.readMessage(type);\n const schema = message === null || message === void 0 ? void 0 : message.header();\n if (throwIfNull && !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n readMetadataLength() {\n const buf = this.source.read(PADDING);\n const bb = buf && new ByteBuffer(buf);\n const len = (bb === null || bb === void 0 ? void 0 : bb.readInt32(0)) || 0;\n return { done: len === 0, value: len };\n }\n readMetadata(metadataLength) {\n const buf = this.source.read(metadataLength);\n if (!buf) {\n return ITERATOR_DONE;\n }\n if (buf.byteLength < metadataLength) {\n throw new Error(invalidMessageMetadata(metadataLength, buf.byteLength));\n }\n return { done: false, value: Message.decode(buf) };\n }\n}\n/** @ignore */\nexport class AsyncMessageReader {\n constructor(source, byteLength) {\n this.source = source instanceof AsyncByteStream ? source\n : isFileHandle(source)\n ? new AsyncRandomAccessFile(source, byteLength)\n : new AsyncByteStream(source);\n }\n [Symbol.asyncIterator]() { return this; }\n next() {\n return __awaiter(this, void 0, void 0, function* () {\n let r;\n if ((r = yield this.readMetadataLength()).done) {\n return ITERATOR_DONE;\n }\n // ARROW-6313: If the first 4 bytes are continuation indicator (-1), read\n // the next 4 for the 32-bit metadata length. Otherwise, assume this is a\n // pre-v0.15 message, where the first 4 bytes are the metadata length.\n if ((r.value === -1) &&\n (r = yield this.readMetadataLength()).done) {\n return ITERATOR_DONE;\n }\n if ((r = yield this.readMetadata(r.value)).done) {\n return ITERATOR_DONE;\n }\n return r;\n });\n }\n throw(value) {\n return __awaiter(this, void 0, void 0, function* () { return yield this.source.throw(value); });\n }\n return(value) {\n return __awaiter(this, void 0, void 0, function* () { return yield this.source.return(value); });\n }\n readMessage(type) {\n return __awaiter(this, void 0, void 0, function* () {\n let r;\n if ((r = yield this.next()).done) {\n return null;\n }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n });\n }\n readMessageBody(bodyLength) {\n return __awaiter(this, void 0, void 0, function* () {\n if (bodyLength <= 0) {\n return new Uint8Array(0);\n }\n const buf = toUint8Array(yield this.source.read(bodyLength));\n if (buf.byteLength < bodyLength) {\n throw new Error(invalidMessageBodyLength(bodyLength, buf.byteLength));\n }\n // 1. Work around bugs in fs.ReadStream's internal Buffer pooling, see: https://github.com/nodejs/node/issues/24817\n // 2. Work around https://github.com/whatwg/streams/blob/0ebe4b042e467d9876d80ae045de3843092ad797/reference-implementation/lib/helpers.js#L126\n return /* 1. */ (buf.byteOffset % 8 === 0) &&\n /* 2. */ (buf.byteOffset + buf.byteLength) <= buf.buffer.byteLength ? buf : buf.slice();\n });\n }\n readSchema(throwIfNull = false) {\n return __awaiter(this, void 0, void 0, function* () {\n const type = MessageHeader.Schema;\n const message = yield this.readMessage(type);\n const schema = message === null || message === void 0 ? void 0 : message.header();\n if (throwIfNull && !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n });\n }\n readMetadataLength() {\n return __awaiter(this, void 0, void 0, function* () {\n const buf = yield this.source.read(PADDING);\n const bb = buf && new ByteBuffer(buf);\n const len = (bb === null || bb === void 0 ? void 0 : bb.readInt32(0)) || 0;\n return { done: len === 0, value: len };\n });\n }\n readMetadata(metadataLength) {\n return __awaiter(this, void 0, void 0, function* () {\n const buf = yield this.source.read(metadataLength);\n if (!buf) {\n return ITERATOR_DONE;\n }\n if (buf.byteLength < metadataLength) {\n throw new Error(invalidMessageMetadata(metadataLength, buf.byteLength));\n }\n return { done: false, value: Message.decode(buf) };\n });\n }\n}\n/** @ignore */\nexport class JSONMessageReader extends MessageReader {\n constructor(source) {\n super(new Uint8Array(0));\n this._schema = false;\n this._body = [];\n this._batchIndex = 0;\n this._dictionaryIndex = 0;\n this._json = source instanceof ArrowJSON ? source : new ArrowJSON(source);\n }\n next() {\n const { _json } = this;\n if (!this._schema) {\n this._schema = true;\n const message = Message.fromJSON(_json.schema, MessageHeader.Schema);\n return { done: false, value: message };\n }\n if (this._dictionaryIndex < _json.dictionaries.length) {\n const batch = _json.dictionaries[this._dictionaryIndex++];\n this._body = batch['data']['columns'];\n const message = Message.fromJSON(batch, MessageHeader.DictionaryBatch);\n return { done: false, value: message };\n }\n if (this._batchIndex < _json.batches.length) {\n const batch = _json.batches[this._batchIndex++];\n this._body = batch['columns'];\n const message = Message.fromJSON(batch, MessageHeader.RecordBatch);\n return { done: false, value: message };\n }\n this._body = [];\n return ITERATOR_DONE;\n }\n readMessageBody(_bodyLength) {\n return flattenDataSources(this._body);\n function flattenDataSources(xs) {\n return (xs || []).reduce((buffers, column) => [\n ...buffers,\n ...(column['VALIDITY'] && [column['VALIDITY']] || []),\n ...(column['TYPE'] && [column['TYPE']] || []),\n ...(column['OFFSET'] && [column['OFFSET']] || []),\n ...(column['DATA'] && [column['DATA']] || []),\n ...flattenDataSources(column['children'])\n ], []);\n }\n }\n readMessage(type) {\n let r;\n if ((r = this.next()).done) {\n return null;\n }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n readSchema() {\n const type = MessageHeader.Schema;\n const message = this.readMessage(type);\n const schema = message === null || message === void 0 ? void 0 : message.header();\n if (!message || !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n}\n/** @ignore */\nexport const PADDING = 4;\n/** @ignore */\nexport const MAGIC_STR = 'ARROW1';\n/** @ignore */\nexport const MAGIC = new Uint8Array(MAGIC_STR.length);\nfor (let i = 0; i < MAGIC_STR.length; i += 1) {\n MAGIC[i] = MAGIC_STR.codePointAt(i);\n}\n/** @ignore */\nexport function checkForMagicArrowString(buffer, index = 0) {\n for (let i = -1, n = MAGIC.length; ++i < n;) {\n if (MAGIC[i] !== buffer[index + i]) {\n return false;\n }\n }\n return true;\n}\n/** @ignore */\nexport const magicLength = MAGIC.length;\n/** @ignore */\nexport const magicAndPadding = magicLength + PADDING;\n/** @ignore */\nexport const magicX2AndPadding = magicLength * 2 + PADDING;\n\n//# sourceMappingURL=message.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { __asyncDelegator, __asyncGenerator, __asyncValues, __await, __awaiter } from \"tslib\";\nimport { makeData } from '../data.mjs';\nimport { Vector } from '../vector.mjs';\nimport { Struct } from '../type.mjs';\nimport { MessageHeader } from '../enum.mjs';\nimport { Footer } from './metadata/file.mjs';\nimport streamAdapters from '../io/adapters.mjs';\nimport { ByteStream, AsyncByteStream } from '../io/stream.mjs';\nimport { RandomAccessFile, AsyncRandomAccessFile } from '../io/file.mjs';\nimport { VectorLoader, JSONVectorLoader } from '../visitor/vectorloader.mjs';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from '../recordbatch.mjs';\nimport { ITERATOR_DONE, ReadableInterop, } from '../io/interfaces.mjs';\nimport { MessageReader, AsyncMessageReader, JSONMessageReader, checkForMagicArrowString, magicLength, magicAndPadding, magicX2AndPadding } from './message.mjs';\nimport { isPromise, isIterable, isAsyncIterable, isIteratorResult, isArrowJSON, isFileHandle, isFetchResponse, isReadableDOMStream, isReadableNodeStream } from '../util/compat.mjs';\nexport class RecordBatchReader extends ReadableInterop {\n constructor(impl) {\n super();\n this._impl = impl;\n }\n get closed() { return this._impl.closed; }\n get schema() { return this._impl.schema; }\n get autoDestroy() { return this._impl.autoDestroy; }\n get dictionaries() { return this._impl.dictionaries; }\n get numDictionaries() { return this._impl.numDictionaries; }\n get numRecordBatches() { return this._impl.numRecordBatches; }\n get footer() { return this._impl.isFile() ? this._impl.footer : null; }\n isSync() { return this._impl.isSync(); }\n isAsync() { return this._impl.isAsync(); }\n isFile() { return this._impl.isFile(); }\n isStream() { return this._impl.isStream(); }\n next() {\n return this._impl.next();\n }\n throw(value) {\n return this._impl.throw(value);\n }\n return(value) {\n return this._impl.return(value);\n }\n cancel() {\n return this._impl.cancel();\n }\n reset(schema) {\n this._impl.reset(schema);\n this._DOMStream = undefined;\n this._nodeStream = undefined;\n return this;\n }\n open(options) {\n const opening = this._impl.open(options);\n return isPromise(opening) ? opening.then(() => this) : this;\n }\n readRecordBatch(index) {\n return this._impl.isFile() ? this._impl.readRecordBatch(index) : null;\n }\n [Symbol.iterator]() {\n return this._impl[Symbol.iterator]();\n }\n [Symbol.asyncIterator]() {\n return this._impl[Symbol.asyncIterator]();\n }\n toDOMStream() {\n return streamAdapters.toDOMStream((this.isSync()\n ? { [Symbol.iterator]: () => this }\n : { [Symbol.asyncIterator]: () => this }));\n }\n toNodeStream() {\n return streamAdapters.toNodeStream((this.isSync()\n ? { [Symbol.iterator]: () => this }\n : { [Symbol.asyncIterator]: () => this }), { objectMode: true });\n }\n /** @nocollapse */\n // @ts-ignore\n static throughNode(options) {\n throw new Error(`\"throughNode\" not available in this environment`);\n }\n /** @nocollapse */\n static throughDOM(\n // @ts-ignore\n writableStrategy, \n // @ts-ignore\n readableStrategy) {\n throw new Error(`\"throughDOM\" not available in this environment`);\n }\n /** @nocollapse */\n static from(source) {\n if (source instanceof RecordBatchReader) {\n return source;\n }\n else if (isArrowJSON(source)) {\n return fromArrowJSON(source);\n }\n else if (isFileHandle(source)) {\n return fromFileHandle(source);\n }\n else if (isPromise(source)) {\n return (() => __awaiter(this, void 0, void 0, function* () { return yield RecordBatchReader.from(yield source); }))();\n }\n else if (isFetchResponse(source) || isReadableDOMStream(source) || isReadableNodeStream(source) || isAsyncIterable(source)) {\n return fromAsyncByteStream(new AsyncByteStream(source));\n }\n return fromByteStream(new ByteStream(source));\n }\n /** @nocollapse */\n static readAll(source) {\n if (source instanceof RecordBatchReader) {\n return source.isSync() ? readAllSync(source) : readAllAsync(source);\n }\n else if (isArrowJSON(source) || ArrayBuffer.isView(source) || isIterable(source) || isIteratorResult(source)) {\n return readAllSync(source);\n }\n return readAllAsync(source);\n }\n}\n//\n// Since TS is a structural type system, we define the following subclass stubs\n// so that concrete types exist to associate with with the interfaces below.\n//\n// The implementation for each RecordBatchReader is hidden away in the set of\n// `RecordBatchReaderImpl` classes in the second half of this file. This allows\n// us to export a single RecordBatchReader class, and swap out the impl based\n// on the io primitives or underlying arrow (JSON, file, or stream) at runtime.\n//\n// Async/await makes our job a bit harder, since it forces everything to be\n// either fully sync or fully async. This is why the logic for the reader impls\n// has been duplicated into both sync and async variants. Since the RBR\n// delegates to its impl, an RBR with an AsyncRecordBatchFileReaderImpl for\n// example will return async/await-friendly Promises, but one with a (sync)\n// RecordBatchStreamReaderImpl will always return values. Nothing should be\n// different about their logic, aside from the async handling. This is also why\n// this code looks highly structured, as it should be nearly identical and easy\n// to follow.\n//\n/** @ignore */\nexport class RecordBatchStreamReader extends RecordBatchReader {\n constructor(_impl) {\n super(_impl);\n this._impl = _impl;\n }\n readAll() { return [...this]; }\n [Symbol.iterator]() { return this._impl[Symbol.iterator](); }\n [Symbol.asyncIterator]() { return __asyncGenerator(this, arguments, function* _a() { yield __await(yield* __asyncDelegator(__asyncValues(this[Symbol.iterator]()))); }); }\n}\n/** @ignore */\nexport class AsyncRecordBatchStreamReader extends RecordBatchReader {\n constructor(_impl) {\n super(_impl);\n this._impl = _impl;\n }\n readAll() {\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n const batches = new Array();\n try {\n for (var _b = __asyncValues(this), _c; _c = yield _b.next(), !_c.done;) {\n const batch = _c.value;\n batches.push(batch);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return batches;\n });\n }\n [Symbol.iterator]() { throw new Error(`AsyncRecordBatchStreamReader is not Iterable`); }\n [Symbol.asyncIterator]() { return this._impl[Symbol.asyncIterator](); }\n}\n/** @ignore */\nexport class RecordBatchFileReader extends RecordBatchStreamReader {\n constructor(_impl) {\n super(_impl);\n this._impl = _impl;\n }\n}\n/** @ignore */\nexport class AsyncRecordBatchFileReader extends AsyncRecordBatchStreamReader {\n constructor(_impl) {\n super(_impl);\n this._impl = _impl;\n }\n}\n/** @ignore */\nclass RecordBatchReaderImpl {\n constructor(dictionaries = new Map()) {\n this.closed = false;\n this.autoDestroy = true;\n this._dictionaryIndex = 0;\n this._recordBatchIndex = 0;\n this.dictionaries = dictionaries;\n }\n get numDictionaries() { return this._dictionaryIndex; }\n get numRecordBatches() { return this._recordBatchIndex; }\n isSync() { return false; }\n isAsync() { return false; }\n isFile() { return false; }\n isStream() { return false; }\n reset(schema) {\n this._dictionaryIndex = 0;\n this._recordBatchIndex = 0;\n this.schema = schema;\n this.dictionaries = new Map();\n return this;\n }\n _loadRecordBatch(header, body) {\n const children = this._loadVectors(header, body, this.schema.fields);\n const data = makeData({ type: new Struct(this.schema.fields), length: header.length, children });\n return new RecordBatch(this.schema, data);\n }\n _loadDictionaryBatch(header, body) {\n const { id, isDelta } = header;\n const { dictionaries, schema } = this;\n const dictionary = dictionaries.get(id);\n if (isDelta || !dictionary) {\n const type = schema.dictionaries.get(id);\n const data = this._loadVectors(header.data, body, [type]);\n return (dictionary && isDelta ? dictionary.concat(new Vector(data)) :\n new Vector(data)).memoize();\n }\n return dictionary.memoize();\n }\n _loadVectors(header, body, types) {\n return new VectorLoader(body, header.nodes, header.buffers, this.dictionaries).visitMany(types);\n }\n}\n/** @ignore */\nclass RecordBatchStreamReaderImpl extends RecordBatchReaderImpl {\n constructor(source, dictionaries) {\n super(dictionaries);\n this._reader = !isArrowJSON(source)\n ? new MessageReader(this._handle = source)\n : new JSONMessageReader(this._handle = source);\n }\n isSync() { return true; }\n isStream() { return true; }\n [Symbol.iterator]() {\n return this;\n }\n cancel() {\n if (!this.closed && (this.closed = true)) {\n this.reset()._reader.return();\n this._reader = null;\n this.dictionaries = null;\n }\n }\n open(options) {\n if (!this.closed) {\n this.autoDestroy = shouldAutoDestroy(this, options);\n if (!(this.schema || (this.schema = this._reader.readSchema()))) {\n this.cancel();\n }\n }\n return this;\n }\n throw(value) {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return this.reset()._reader.throw(value);\n }\n return ITERATOR_DONE;\n }\n return(value) {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return this.reset()._reader.return(value);\n }\n return ITERATOR_DONE;\n }\n next() {\n if (this.closed) {\n return ITERATOR_DONE;\n }\n let message;\n const { _reader: reader } = this;\n while (message = this._readNextMessageAndValidate()) {\n if (message.isSchema()) {\n this.reset(message.header());\n }\n else if (message.isRecordBatch()) {\n this._recordBatchIndex++;\n const header = message.header();\n const buffer = reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return { done: false, value: recordBatch };\n }\n else if (message.isDictionaryBatch()) {\n this._dictionaryIndex++;\n const header = message.header();\n const buffer = reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n if (this.schema && this._recordBatchIndex === 0) {\n this._recordBatchIndex++;\n return { done: false, value: new _InternalEmptyPlaceholderRecordBatch(this.schema) };\n }\n return this.return();\n }\n _readNextMessageAndValidate(type) {\n return this._reader.readMessage(type);\n }\n}\n/** @ignore */\nclass AsyncRecordBatchStreamReaderImpl extends RecordBatchReaderImpl {\n constructor(source, dictionaries) {\n super(dictionaries);\n this._reader = new AsyncMessageReader(this._handle = source);\n }\n isAsync() { return true; }\n isStream() { return true; }\n [Symbol.asyncIterator]() {\n return this;\n }\n cancel() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.closed && (this.closed = true)) {\n yield this.reset()._reader.return();\n this._reader = null;\n this.dictionaries = null;\n }\n });\n }\n open(options) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.closed) {\n this.autoDestroy = shouldAutoDestroy(this, options);\n if (!(this.schema || (this.schema = (yield this._reader.readSchema())))) {\n yield this.cancel();\n }\n }\n return this;\n });\n }\n throw(value) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return yield this.reset()._reader.throw(value);\n }\n return ITERATOR_DONE;\n });\n }\n return(value) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return yield this.reset()._reader.return(value);\n }\n return ITERATOR_DONE;\n });\n }\n next() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.closed) {\n return ITERATOR_DONE;\n }\n let message;\n const { _reader: reader } = this;\n while (message = yield this._readNextMessageAndValidate()) {\n if (message.isSchema()) {\n yield this.reset(message.header());\n }\n else if (message.isRecordBatch()) {\n this._recordBatchIndex++;\n const header = message.header();\n const buffer = yield reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return { done: false, value: recordBatch };\n }\n else if (message.isDictionaryBatch()) {\n this._dictionaryIndex++;\n const header = message.header();\n const buffer = yield reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n if (this.schema && this._recordBatchIndex === 0) {\n this._recordBatchIndex++;\n return { done: false, value: new _InternalEmptyPlaceholderRecordBatch(this.schema) };\n }\n return yield this.return();\n });\n }\n _readNextMessageAndValidate(type) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this._reader.readMessage(type);\n });\n }\n}\n/** @ignore */\nclass RecordBatchFileReaderImpl extends RecordBatchStreamReaderImpl {\n constructor(source, dictionaries) {\n super(source instanceof RandomAccessFile ? source : new RandomAccessFile(source), dictionaries);\n }\n get footer() { return this._footer; }\n get numDictionaries() { return this._footer ? this._footer.numDictionaries : 0; }\n get numRecordBatches() { return this._footer ? this._footer.numRecordBatches : 0; }\n isSync() { return true; }\n isFile() { return true; }\n open(options) {\n if (!this.closed && !this._footer) {\n this.schema = (this._footer = this._readFooter()).schema;\n for (const block of this._footer.dictionaryBatches()) {\n block && this._readDictionaryBatch(this._dictionaryIndex++);\n }\n }\n return super.open(options);\n }\n readRecordBatch(index) {\n var _a;\n if (this.closed) {\n return null;\n }\n if (!this._footer) {\n this.open();\n }\n const block = (_a = this._footer) === null || _a === void 0 ? void 0 : _a.getRecordBatch(index);\n if (block && this._handle.seek(block.offset)) {\n const message = this._reader.readMessage(MessageHeader.RecordBatch);\n if (message === null || message === void 0 ? void 0 : message.isRecordBatch()) {\n const header = message.header();\n const buffer = this._reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return recordBatch;\n }\n }\n return null;\n }\n _readDictionaryBatch(index) {\n var _a;\n const block = (_a = this._footer) === null || _a === void 0 ? void 0 : _a.getDictionaryBatch(index);\n if (block && this._handle.seek(block.offset)) {\n const message = this._reader.readMessage(MessageHeader.DictionaryBatch);\n if (message === null || message === void 0 ? void 0 : message.isDictionaryBatch()) {\n const header = message.header();\n const buffer = this._reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n }\n _readFooter() {\n const { _handle } = this;\n const offset = _handle.size - magicAndPadding;\n const length = _handle.readInt32(offset);\n const buffer = _handle.readAt(offset - length, length);\n return Footer.decode(buffer);\n }\n _readNextMessageAndValidate(type) {\n var _a;\n if (!this._footer) {\n this.open();\n }\n if (this._footer && this._recordBatchIndex < this.numRecordBatches) {\n const block = (_a = this._footer) === null || _a === void 0 ? void 0 : _a.getRecordBatch(this._recordBatchIndex);\n if (block && this._handle.seek(block.offset)) {\n return this._reader.readMessage(type);\n }\n }\n return null;\n }\n}\n/** @ignore */\nclass AsyncRecordBatchFileReaderImpl extends AsyncRecordBatchStreamReaderImpl {\n constructor(source, ...rest) {\n const byteLength = typeof rest[0] !== 'number' ? rest.shift() : undefined;\n const dictionaries = rest[0] instanceof Map ? rest.shift() : undefined;\n super(source instanceof AsyncRandomAccessFile ? source : new AsyncRandomAccessFile(source, byteLength), dictionaries);\n }\n get footer() { return this._footer; }\n get numDictionaries() { return this._footer ? this._footer.numDictionaries : 0; }\n get numRecordBatches() { return this._footer ? this._footer.numRecordBatches : 0; }\n isFile() { return true; }\n isAsync() { return true; }\n open(options) {\n const _super = Object.create(null, {\n open: { get: () => super.open }\n });\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.closed && !this._footer) {\n this.schema = (this._footer = yield this._readFooter()).schema;\n for (const block of this._footer.dictionaryBatches()) {\n block && (yield this._readDictionaryBatch(this._dictionaryIndex++));\n }\n }\n return yield _super.open.call(this, options);\n });\n }\n readRecordBatch(index) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.closed) {\n return null;\n }\n if (!this._footer) {\n yield this.open();\n }\n const block = (_a = this._footer) === null || _a === void 0 ? void 0 : _a.getRecordBatch(index);\n if (block && (yield this._handle.seek(block.offset))) {\n const message = yield this._reader.readMessage(MessageHeader.RecordBatch);\n if (message === null || message === void 0 ? void 0 : message.isRecordBatch()) {\n const header = message.header();\n const buffer = yield this._reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return recordBatch;\n }\n }\n return null;\n });\n }\n _readDictionaryBatch(index) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const block = (_a = this._footer) === null || _a === void 0 ? void 0 : _a.getDictionaryBatch(index);\n if (block && (yield this._handle.seek(block.offset))) {\n const message = yield this._reader.readMessage(MessageHeader.DictionaryBatch);\n if (message === null || message === void 0 ? void 0 : message.isDictionaryBatch()) {\n const header = message.header();\n const buffer = yield this._reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n });\n }\n _readFooter() {\n return __awaiter(this, void 0, void 0, function* () {\n const { _handle } = this;\n _handle._pending && (yield _handle._pending);\n const offset = _handle.size - magicAndPadding;\n const length = yield _handle.readInt32(offset);\n const buffer = yield _handle.readAt(offset - length, length);\n return Footer.decode(buffer);\n });\n }\n _readNextMessageAndValidate(type) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this._footer) {\n yield this.open();\n }\n if (this._footer && this._recordBatchIndex < this.numRecordBatches) {\n const block = this._footer.getRecordBatch(this._recordBatchIndex);\n if (block && (yield this._handle.seek(block.offset))) {\n return yield this._reader.readMessage(type);\n }\n }\n return null;\n });\n }\n}\n/** @ignore */\nclass RecordBatchJSONReaderImpl extends RecordBatchStreamReaderImpl {\n constructor(source, dictionaries) {\n super(source, dictionaries);\n }\n _loadVectors(header, body, types) {\n return new JSONVectorLoader(body, header.nodes, header.buffers, this.dictionaries).visitMany(types);\n }\n}\n//\n// Define some helper functions and static implementations down here. There's\n// a bit of branching in the static methods that can lead to the same routines\n// being executed, so we've broken those out here for readability.\n//\n/** @ignore */\nfunction shouldAutoDestroy(self, options) {\n return options && (typeof options['autoDestroy'] === 'boolean') ? options['autoDestroy'] : self['autoDestroy'];\n}\n/** @ignore */\nfunction* readAllSync(source) {\n const reader = RecordBatchReader.from(source);\n try {\n if (!reader.open({ autoDestroy: false }).closed) {\n do {\n yield reader;\n } while (!(reader.reset().open()).closed);\n }\n }\n finally {\n reader.cancel();\n }\n}\n/** @ignore */\nfunction readAllAsync(source) {\n return __asyncGenerator(this, arguments, function* readAllAsync_1() {\n const reader = yield __await(RecordBatchReader.from(source));\n try {\n if (!(yield __await(reader.open({ autoDestroy: false }))).closed) {\n do {\n yield yield __await(reader);\n } while (!(yield __await(reader.reset().open())).closed);\n }\n }\n finally {\n yield __await(reader.cancel());\n }\n });\n}\n/** @ignore */\nfunction fromArrowJSON(source) {\n return new RecordBatchStreamReader(new RecordBatchJSONReaderImpl(source));\n}\n/** @ignore */\nfunction fromByteStream(source) {\n const bytes = source.peek((magicLength + 7) & ~7);\n return bytes && bytes.byteLength >= 4 ? !checkForMagicArrowString(bytes)\n ? new RecordBatchStreamReader(new RecordBatchStreamReaderImpl(source))\n : new RecordBatchFileReader(new RecordBatchFileReaderImpl(source.read()))\n : new RecordBatchStreamReader(new RecordBatchStreamReaderImpl(function* () { }()));\n}\n/** @ignore */\nfunction fromAsyncByteStream(source) {\n return __awaiter(this, void 0, void 0, function* () {\n const bytes = yield source.peek((magicLength + 7) & ~7);\n return bytes && bytes.byteLength >= 4 ? !checkForMagicArrowString(bytes)\n ? new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl(source))\n : new RecordBatchFileReader(new RecordBatchFileReaderImpl(yield source.read()))\n : new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl(function () { return __asyncGenerator(this, arguments, function* () { }); }()));\n });\n}\n/** @ignore */\nfunction fromFileHandle(source) {\n return __awaiter(this, void 0, void 0, function* () {\n const { size } = yield source.stat();\n const file = new AsyncRandomAccessFile(source, size);\n if (size >= magicX2AndPadding && checkForMagicArrowString(yield file.readAt(0, (magicLength + 7) & ~7))) {\n return new AsyncRecordBatchFileReader(new AsyncRecordBatchFileReaderImpl(file));\n }\n return new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl(file));\n });\n}\n\n//# sourceMappingURL=reader.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { Vector } from '../vector.mjs';\nimport { Visitor } from '../visitor.mjs';\nimport { UnionMode } from '../enum.mjs';\nimport { RecordBatch } from '../recordbatch.mjs';\nimport { rebaseValueOffsets } from '../util/buffer.mjs';\nimport { packBools, truncateBitmap } from '../util/bit.mjs';\nimport { BufferRegion, FieldNode } from '../ipc/metadata/message.mjs';\nimport { DataType, } from '../type.mjs';\n/** @ignore */\nexport class VectorAssembler extends Visitor {\n constructor() {\n super();\n this._byteLength = 0;\n this._nodes = [];\n this._buffers = [];\n this._bufferRegions = [];\n }\n /** @nocollapse */\n static assemble(...args) {\n const unwrap = (nodes) => nodes.flatMap((node) => Array.isArray(node) ? unwrap(node) :\n (node instanceof RecordBatch) ? node.data.children : node.data);\n const assembler = new VectorAssembler();\n assembler.visitMany(unwrap(args));\n return assembler;\n }\n visit(data) {\n if (data instanceof Vector) {\n this.visitMany(data.data);\n return this;\n }\n const { type } = data;\n if (!DataType.isDictionary(type)) {\n const { length, nullCount } = data;\n if (length > 2147483647) {\n /* istanbul ignore next */\n throw new RangeError('Cannot write arrays larger than 2^31 - 1 in length');\n }\n if (!DataType.isNull(type)) {\n addBuffer.call(this, nullCount <= 0\n ? new Uint8Array(0) // placeholder validity buffer\n : truncateBitmap(data.offset, length, data.nullBitmap));\n }\n this.nodes.push(new FieldNode(length, nullCount));\n }\n return super.visit(data);\n }\n visitNull(_null) {\n return this;\n }\n visitDictionary(data) {\n // Assemble the indices here, Dictionary assembled separately.\n return this.visit(data.clone(data.type.indices));\n }\n get nodes() { return this._nodes; }\n get buffers() { return this._buffers; }\n get byteLength() { return this._byteLength; }\n get bufferRegions() { return this._bufferRegions; }\n}\n/** @ignore */\nfunction addBuffer(values) {\n const byteLength = (values.byteLength + 7) & ~7; // Round up to a multiple of 8\n this.buffers.push(values);\n this.bufferRegions.push(new BufferRegion(this._byteLength, byteLength));\n this._byteLength += byteLength;\n return this;\n}\n/** @ignore */\nfunction assembleUnion(data) {\n const { type, length, typeIds, valueOffsets } = data;\n // All Union Vectors have a typeIds buffer\n addBuffer.call(this, typeIds);\n // If this is a Sparse Union, treat it like all other Nested types\n if (type.mode === UnionMode.Sparse) {\n return assembleNestedVector.call(this, data);\n }\n else if (type.mode === UnionMode.Dense) {\n // If this is a Dense Union, add the valueOffsets buffer and potentially slice the children\n if (data.offset <= 0) {\n // If the Vector hasn't been sliced, write the existing valueOffsets\n addBuffer.call(this, valueOffsets);\n // We can treat this like all other Nested types\n return assembleNestedVector.call(this, data);\n }\n else {\n // A sliced Dense Union is an unpleasant case. Because the offsets are different for\n // each child vector, we need to \"rebase\" the valueOffsets for each child\n // Union typeIds are not necessary 0-indexed\n const maxChildTypeId = typeIds.reduce((x, y) => Math.max(x, y), typeIds[0]);\n const childLengths = new Int32Array(maxChildTypeId + 1);\n // Set all to -1 to indicate that we haven't observed a first occurrence of a particular child yet\n const childOffsets = new Int32Array(maxChildTypeId + 1).fill(-1);\n const shiftedOffsets = new Int32Array(length);\n // If we have a non-zero offset, then the value offsets do not start at\n // zero. We must a) create a new offsets array with shifted offsets and\n // b) slice the values array accordingly\n const unshiftedOffsets = rebaseValueOffsets(-valueOffsets[0], length, valueOffsets);\n for (let typeId, shift, index = -1; ++index < length;) {\n if ((shift = childOffsets[typeId = typeIds[index]]) === -1) {\n shift = childOffsets[typeId] = unshiftedOffsets[typeId];\n }\n shiftedOffsets[index] = unshiftedOffsets[index] - shift;\n ++childLengths[typeId];\n }\n addBuffer.call(this, shiftedOffsets);\n // Slice and visit children accordingly\n for (let child, childIndex = -1, numChildren = type.children.length; ++childIndex < numChildren;) {\n if (child = data.children[childIndex]) {\n const typeId = type.typeIds[childIndex];\n const childLength = Math.min(length, childLengths[typeId]);\n this.visit(child.slice(childOffsets[typeId], childLength));\n }\n }\n }\n }\n return this;\n}\n/** @ignore */\nfunction assembleBoolVector(data) {\n // Bool vector is a special case of FlatVector, as its data buffer needs to stay packed\n let values;\n if (data.nullCount >= data.length) {\n // If all values are null, just insert a placeholder empty data buffer (fastest path)\n return addBuffer.call(this, new Uint8Array(0));\n }\n else if ((values = data.values) instanceof Uint8Array) {\n // If values is already a Uint8Array, slice the bitmap (fast path)\n return addBuffer.call(this, truncateBitmap(data.offset, data.length, values));\n }\n // Otherwise if the underlying data *isn't* a Uint8Array, enumerate the\n // values as bools and re-pack them into a Uint8Array. This code isn't\n // reachable unless you're trying to manipulate the Data internals,\n // we're only doing this for safety.\n /* istanbul ignore next */\n return addBuffer.call(this, packBools(data.values));\n}\n/** @ignore */\nfunction assembleFlatVector(data) {\n return addBuffer.call(this, data.values.subarray(0, data.length * data.stride));\n}\n/** @ignore */\nfunction assembleFlatListVector(data) {\n const { length, values, valueOffsets } = data;\n const firstOffset = valueOffsets[0];\n const lastOffset = valueOffsets[length];\n const byteLength = Math.min(lastOffset - firstOffset, values.byteLength - firstOffset);\n // Push in the order FlatList types read their buffers\n addBuffer.call(this, rebaseValueOffsets(-valueOffsets[0], length, valueOffsets)); // valueOffsets buffer first\n addBuffer.call(this, values.subarray(firstOffset, firstOffset + byteLength)); // sliced values buffer second\n return this;\n}\n/** @ignore */\nfunction assembleListVector(data) {\n const { length, valueOffsets } = data;\n // If we have valueOffsets (MapVector, ListVector), push that buffer first\n if (valueOffsets) {\n addBuffer.call(this, rebaseValueOffsets(valueOffsets[0], length, valueOffsets));\n }\n // Then insert the List's values child\n return this.visit(data.children[0]);\n}\n/** @ignore */\nfunction assembleNestedVector(data) {\n return this.visitMany(data.type.children.map((_, i) => data.children[i]).filter(Boolean))[0];\n}\nVectorAssembler.prototype.visitBool = assembleBoolVector;\nVectorAssembler.prototype.visitInt = assembleFlatVector;\nVectorAssembler.prototype.visitFloat = assembleFlatVector;\nVectorAssembler.prototype.visitUtf8 = assembleFlatListVector;\nVectorAssembler.prototype.visitBinary = assembleFlatListVector;\nVectorAssembler.prototype.visitFixedSizeBinary = assembleFlatVector;\nVectorAssembler.prototype.visitDate = assembleFlatVector;\nVectorAssembler.prototype.visitTimestamp = assembleFlatVector;\nVectorAssembler.prototype.visitTime = assembleFlatVector;\nVectorAssembler.prototype.visitDecimal = assembleFlatVector;\nVectorAssembler.prototype.visitList = assembleListVector;\nVectorAssembler.prototype.visitStruct = assembleNestedVector;\nVectorAssembler.prototype.visitUnion = assembleUnion;\nVectorAssembler.prototype.visitInterval = assembleFlatVector;\nVectorAssembler.prototype.visitFixedSizeList = assembleListVector;\nVectorAssembler.prototype.visitMap = assembleListVector;\n\n//# sourceMappingURL=vectorassembler.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { __asyncValues, __awaiter } from \"tslib\";\nimport { Table } from '../table.mjs';\nimport { MAGIC } from './message.mjs';\nimport { Vector } from '../vector.mjs';\nimport { DataType } from '../type.mjs';\nimport { Message } from './metadata/message.mjs';\nimport * as metadata from './metadata/message.mjs';\nimport { FileBlock, Footer } from './metadata/file.mjs';\nimport { MessageHeader, MetadataVersion } from '../enum.mjs';\nimport { compareSchemas } from '../visitor/typecomparator.mjs';\nimport { AsyncByteQueue } from '../io/stream.mjs';\nimport { VectorAssembler } from '../visitor/vectorassembler.mjs';\nimport { JSONTypeAssembler } from '../visitor/jsontypeassembler.mjs';\nimport { JSONVectorAssembler } from '../visitor/jsonvectorassembler.mjs';\nimport { toUint8Array } from '../util/buffer.mjs';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from '../recordbatch.mjs';\nimport { ReadableInterop } from '../io/interfaces.mjs';\nimport { isPromise, isAsyncIterable, isWritableDOMStream, isWritableNodeStream, isIterable, isObject } from '../util/compat.mjs';\nexport class RecordBatchWriter extends ReadableInterop {\n constructor(options) {\n super();\n this._position = 0;\n this._started = false;\n // @ts-ignore\n this._sink = new AsyncByteQueue();\n this._schema = null;\n this._dictionaryBlocks = [];\n this._recordBatchBlocks = [];\n this._dictionaryDeltaOffsets = new Map();\n isObject(options) || (options = { autoDestroy: true, writeLegacyIpcFormat: false });\n this._autoDestroy = (typeof options.autoDestroy === 'boolean') ? options.autoDestroy : true;\n this._writeLegacyIpcFormat = (typeof options.writeLegacyIpcFormat === 'boolean') ? options.writeLegacyIpcFormat : false;\n }\n /** @nocollapse */\n // @ts-ignore\n static throughNode(options) {\n throw new Error(`\"throughNode\" not available in this environment`);\n }\n /** @nocollapse */\n static throughDOM(\n // @ts-ignore\n writableStrategy, \n // @ts-ignore\n readableStrategy) {\n throw new Error(`\"throughDOM\" not available in this environment`);\n }\n toString(sync = false) {\n return this._sink.toString(sync);\n }\n toUint8Array(sync = false) {\n return this._sink.toUint8Array(sync);\n }\n writeAll(input) {\n if (isPromise(input)) {\n return input.then((x) => this.writeAll(x));\n }\n else if (isAsyncIterable(input)) {\n return writeAllAsync(this, input);\n }\n return writeAll(this, input);\n }\n get closed() { return this._sink.closed; }\n [Symbol.asyncIterator]() { return this._sink[Symbol.asyncIterator](); }\n toDOMStream(options) { return this._sink.toDOMStream(options); }\n toNodeStream(options) { return this._sink.toNodeStream(options); }\n close() {\n return this.reset()._sink.close();\n }\n abort(reason) {\n return this.reset()._sink.abort(reason);\n }\n finish() {\n this._autoDestroy ? this.close() : this.reset(this._sink, this._schema);\n return this;\n }\n reset(sink = this._sink, schema = null) {\n if ((sink === this._sink) || (sink instanceof AsyncByteQueue)) {\n this._sink = sink;\n }\n else {\n this._sink = new AsyncByteQueue();\n if (sink && isWritableDOMStream(sink)) {\n this.toDOMStream({ type: 'bytes' }).pipeTo(sink);\n }\n else if (sink && isWritableNodeStream(sink)) {\n this.toNodeStream({ objectMode: false }).pipe(sink);\n }\n }\n if (this._started && this._schema) {\n this._writeFooter(this._schema);\n }\n this._started = false;\n this._dictionaryBlocks = [];\n this._recordBatchBlocks = [];\n this._dictionaryDeltaOffsets = new Map();\n if (!schema || !(compareSchemas(schema, this._schema))) {\n if (schema == null) {\n this._position = 0;\n this._schema = null;\n }\n else {\n this._started = true;\n this._schema = schema;\n this._writeSchema(schema);\n }\n }\n return this;\n }\n write(payload) {\n let schema = null;\n if (!this._sink) {\n throw new Error(`RecordBatchWriter is closed`);\n }\n else if (payload == null) {\n return this.finish() && undefined;\n }\n else if (payload instanceof Table && !(schema = payload.schema)) {\n return this.finish() && undefined;\n }\n else if (payload instanceof RecordBatch && !(schema = payload.schema)) {\n return this.finish() && undefined;\n }\n if (schema && !compareSchemas(schema, this._schema)) {\n if (this._started && this._autoDestroy) {\n return this.close();\n }\n this.reset(this._sink, schema);\n }\n if (payload instanceof RecordBatch) {\n if (!(payload instanceof _InternalEmptyPlaceholderRecordBatch)) {\n this._writeRecordBatch(payload);\n }\n }\n else if (payload instanceof Table) {\n this.writeAll(payload.batches);\n }\n else if (isIterable(payload)) {\n this.writeAll(payload);\n }\n }\n _writeMessage(message, alignment = 8) {\n const a = alignment - 1;\n const buffer = Message.encode(message);\n const flatbufferSize = buffer.byteLength;\n const prefixSize = !this._writeLegacyIpcFormat ? 8 : 4;\n const alignedSize = (flatbufferSize + prefixSize + a) & ~a;\n const nPaddingBytes = alignedSize - flatbufferSize - prefixSize;\n if (message.headerType === MessageHeader.RecordBatch) {\n this._recordBatchBlocks.push(new FileBlock(alignedSize, message.bodyLength, this._position));\n }\n else if (message.headerType === MessageHeader.DictionaryBatch) {\n this._dictionaryBlocks.push(new FileBlock(alignedSize, message.bodyLength, this._position));\n }\n // If not in legacy pre-0.15.0 mode, write the stream continuation indicator\n if (!this._writeLegacyIpcFormat) {\n this._write(Int32Array.of(-1));\n }\n // Write the flatbuffer size prefix including padding\n this._write(Int32Array.of(alignedSize - prefixSize));\n // Write the flatbuffer\n if (flatbufferSize > 0) {\n this._write(buffer);\n }\n // Write any padding\n return this._writePadding(nPaddingBytes);\n }\n _write(chunk) {\n if (this._started) {\n const buffer = toUint8Array(chunk);\n if (buffer && buffer.byteLength > 0) {\n this._sink.write(buffer);\n this._position += buffer.byteLength;\n }\n }\n return this;\n }\n _writeSchema(schema) {\n return this._writeMessage(Message.from(schema));\n }\n // @ts-ignore\n _writeFooter(schema) {\n // eos bytes\n return this._writeLegacyIpcFormat\n ? this._write(Int32Array.of(0))\n : this._write(Int32Array.of(-1, 0));\n }\n _writeMagic() {\n return this._write(MAGIC);\n }\n _writePadding(nBytes) {\n return nBytes > 0 ? this._write(new Uint8Array(nBytes)) : this;\n }\n _writeRecordBatch(batch) {\n const { byteLength, nodes, bufferRegions, buffers } = VectorAssembler.assemble(batch);\n const recordBatch = new metadata.RecordBatch(batch.numRows, nodes, bufferRegions);\n const message = Message.from(recordBatch, byteLength);\n return this\n ._writeDictionaries(batch)\n ._writeMessage(message)\n ._writeBodyBuffers(buffers);\n }\n _writeDictionaryBatch(dictionary, id, isDelta = false) {\n this._dictionaryDeltaOffsets.set(id, dictionary.length + (this._dictionaryDeltaOffsets.get(id) || 0));\n const { byteLength, nodes, bufferRegions, buffers } = VectorAssembler.assemble(new Vector([dictionary]));\n const recordBatch = new metadata.RecordBatch(dictionary.length, nodes, bufferRegions);\n const dictionaryBatch = new metadata.DictionaryBatch(recordBatch, id, isDelta);\n const message = Message.from(dictionaryBatch, byteLength);\n return this\n ._writeMessage(message)\n ._writeBodyBuffers(buffers);\n }\n _writeBodyBuffers(buffers) {\n let buffer;\n let size, padding;\n for (let i = -1, n = buffers.length; ++i < n;) {\n if ((buffer = buffers[i]) && (size = buffer.byteLength) > 0) {\n this._write(buffer);\n if ((padding = ((size + 7) & ~7) - size) > 0) {\n this._writePadding(padding);\n }\n }\n }\n return this;\n }\n _writeDictionaries(batch) {\n for (let [id, dictionary] of batch.dictionaries) {\n let offset = this._dictionaryDeltaOffsets.get(id) || 0;\n if (offset === 0 || (dictionary = dictionary === null || dictionary === void 0 ? void 0 : dictionary.slice(offset)).length > 0) {\n for (const data of dictionary.data) {\n this._writeDictionaryBatch(data, id, offset > 0);\n offset += data.length;\n }\n }\n }\n return this;\n }\n}\n/** @ignore */\nexport class RecordBatchStreamWriter extends RecordBatchWriter {\n /** @nocollapse */\n static writeAll(input, options) {\n const writer = new RecordBatchStreamWriter(options);\n if (isPromise(input)) {\n return input.then((x) => writer.writeAll(x));\n }\n else if (isAsyncIterable(input)) {\n return writeAllAsync(writer, input);\n }\n return writeAll(writer, input);\n }\n}\n/** @ignore */\nexport class RecordBatchFileWriter extends RecordBatchWriter {\n /** @nocollapse */\n static writeAll(input) {\n const writer = new RecordBatchFileWriter();\n if (isPromise(input)) {\n return input.then((x) => writer.writeAll(x));\n }\n else if (isAsyncIterable(input)) {\n return writeAllAsync(writer, input);\n }\n return writeAll(writer, input);\n }\n constructor() {\n super();\n this._autoDestroy = true;\n }\n // @ts-ignore\n _writeSchema(schema) {\n return this._writeMagic()._writePadding(2);\n }\n _writeFooter(schema) {\n const buffer = Footer.encode(new Footer(schema, MetadataVersion.V4, this._recordBatchBlocks, this._dictionaryBlocks));\n return super\n ._writeFooter(schema) // EOS bytes for sequential readers\n ._write(buffer) // Write the flatbuffer\n ._write(Int32Array.of(buffer.byteLength)) // then the footer size suffix\n ._writeMagic(); // then the magic suffix\n }\n}\n/** @ignore */\nexport class RecordBatchJSONWriter extends RecordBatchWriter {\n constructor() {\n super();\n this._autoDestroy = true;\n this._recordBatches = [];\n this._dictionaries = [];\n }\n /** @nocollapse */\n static writeAll(input) {\n return new RecordBatchJSONWriter().writeAll(input);\n }\n _writeMessage() { return this; }\n // @ts-ignore\n _writeFooter(schema) { return this; }\n _writeSchema(schema) {\n return this._write(`{\\n \"schema\": ${JSON.stringify({ fields: schema.fields.map(field => fieldToJSON(field)) }, null, 2)}`);\n }\n _writeDictionaries(batch) {\n if (batch.dictionaries.size > 0) {\n this._dictionaries.push(batch);\n }\n return this;\n }\n _writeDictionaryBatch(dictionary, id, isDelta = false) {\n this._dictionaryDeltaOffsets.set(id, dictionary.length + (this._dictionaryDeltaOffsets.get(id) || 0));\n this._write(this._dictionaryBlocks.length === 0 ? ` ` : `,\\n `);\n this._write(`${dictionaryBatchToJSON(dictionary, id, isDelta)}`);\n this._dictionaryBlocks.push(new FileBlock(0, 0, 0));\n return this;\n }\n _writeRecordBatch(batch) {\n this._writeDictionaries(batch);\n this._recordBatches.push(batch);\n return this;\n }\n close() {\n if (this._dictionaries.length > 0) {\n this._write(`,\\n \"dictionaries\": [\\n`);\n for (const batch of this._dictionaries) {\n super._writeDictionaries(batch);\n }\n this._write(`\\n ]`);\n }\n if (this._recordBatches.length > 0) {\n for (let i = -1, n = this._recordBatches.length; ++i < n;) {\n this._write(i === 0 ? `,\\n \"batches\": [\\n ` : `,\\n `);\n this._write(`${recordBatchToJSON(this._recordBatches[i])}`);\n this._recordBatchBlocks.push(new FileBlock(0, 0, 0));\n }\n this._write(`\\n ]`);\n }\n if (this._schema) {\n this._write(`\\n}`);\n }\n this._dictionaries = [];\n this._recordBatches = [];\n return super.close();\n }\n}\n/** @ignore */\nfunction writeAll(writer, input) {\n let chunks = input;\n if (input instanceof Table) {\n chunks = input.batches;\n writer.reset(undefined, input.schema);\n }\n for (const batch of chunks) {\n writer.write(batch);\n }\n return writer.finish();\n}\n/** @ignore */\nfunction writeAllAsync(writer, batches) {\n var batches_1, batches_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n for (batches_1 = __asyncValues(batches); batches_1_1 = yield batches_1.next(), !batches_1_1.done;) {\n const batch = batches_1_1.value;\n writer.write(batch);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (batches_1_1 && !batches_1_1.done && (_a = batches_1.return)) yield _a.call(batches_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return writer.finish();\n });\n}\n/** @ignore */\nfunction fieldToJSON({ name, type, nullable }) {\n const assembler = new JSONTypeAssembler();\n return {\n 'name': name, 'nullable': nullable,\n 'type': assembler.visit(type),\n 'children': (type.children || []).map((field) => fieldToJSON(field)),\n 'dictionary': !DataType.isDictionary(type) ? undefined : {\n 'id': type.id,\n 'isOrdered': type.isOrdered,\n 'indexType': assembler.visit(type.indices)\n }\n };\n}\n/** @ignore */\nfunction dictionaryBatchToJSON(dictionary, id, isDelta = false) {\n const [columns] = JSONVectorAssembler.assemble(new RecordBatch({ [id]: dictionary }));\n return JSON.stringify({\n 'id': id,\n 'isDelta': isDelta,\n 'data': {\n 'count': dictionary.length,\n 'columns': columns\n }\n }, null, 2);\n}\n/** @ignore */\nfunction recordBatchToJSON(records) {\n const [columns] = JSONVectorAssembler.assemble(records);\n return JSON.stringify({\n 'count': records.numRows,\n 'columns': columns\n }, null, 2);\n}\n\n//# sourceMappingURL=writer.mjs.map\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\nimport { Table } from '../table.mjs';\nimport { isPromise } from '../util/compat.mjs';\nimport { RecordBatchReader } from './reader.mjs';\nimport { RecordBatchFileWriter, RecordBatchStreamWriter } from './writer.mjs';\nexport function tableFromIPC(input) {\n const reader = RecordBatchReader.from(input);\n if (isPromise(reader)) {\n return reader.then((reader) => tableFromIPC(reader));\n }\n if (reader.isAsync()) {\n return reader.readAll().then((xs) => new Table(xs));\n }\n return new Table(reader.readAll());\n}\n/**\n * Serialize a {@link Table} to the IPC format. This function is a convenience\n * wrapper for {@link RecordBatchStreamWriter} and {@link RecordBatchFileWriter}.\n * Opposite of {@link tableFromIPC}.\n *\n * @param table The Table to serialize.\n * @param type Whether to serialize the Table as a file or a stream.\n */\nexport function tableToIPC(table, type = 'stream') {\n return (type === 'stream' ? RecordBatchStreamWriter : RecordBatchFileWriter)\n .writeAll(table)\n .toUint8Array(true);\n}\n\n//# sourceMappingURL=serialization.mjs.map\n","/**\n * Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { tableToIPC, tableFromIPC, Type } from \"apache-arrow\";\nvar ArrowTable = /** @class */ (function () {\n function ArrowTable(dataBuffer, indexBuffer, columnsBuffer, styler) {\n var _this = this;\n this.getCell = function (rowIndex, columnIndex) {\n var isBlankCell = rowIndex < _this.headerRows && columnIndex < _this.headerColumns;\n var isIndexCell = rowIndex >= _this.headerRows && columnIndex < _this.headerColumns;\n var isColumnsCell = rowIndex < _this.headerRows && columnIndex >= _this.headerColumns;\n if (isBlankCell) {\n var classNames = [\"blank\"];\n if (columnIndex > 0) {\n classNames.push(\"level\" + rowIndex);\n }\n return {\n type: \"blank\",\n classNames: classNames.join(\" \"),\n content: \"\"\n };\n }\n else if (isColumnsCell) {\n var dataColumnIndex = columnIndex - _this.headerColumns;\n var classNames = [\n \"col_heading\",\n \"level\" + rowIndex,\n \"col\" + dataColumnIndex\n ];\n return {\n type: \"columns\",\n classNames: classNames.join(\" \"),\n content: _this.getContent(_this.columnsTable, dataColumnIndex, rowIndex)\n };\n }\n else if (isIndexCell) {\n var dataRowIndex = rowIndex - _this.headerRows;\n var classNames = [\n \"row_heading\",\n \"level\" + columnIndex,\n \"row\" + dataRowIndex\n ];\n return {\n type: \"index\",\n id: \"T_\".concat(_this.uuid, \"level\").concat(columnIndex, \"_row\").concat(dataRowIndex),\n classNames: classNames.join(\" \"),\n content: _this.getContent(_this.indexTable, dataRowIndex, columnIndex)\n };\n }\n else {\n var dataRowIndex = rowIndex - _this.headerRows;\n var dataColumnIndex = columnIndex - _this.headerColumns;\n var classNames = [\n \"data\",\n \"row\" + dataRowIndex,\n \"col\" + dataColumnIndex\n ];\n var content = _this.styler\n ? _this.getContent(_this.styler.displayValuesTable, dataRowIndex, dataColumnIndex)\n : _this.getContent(_this.dataTable, dataRowIndex, dataColumnIndex);\n return {\n type: \"data\",\n id: \"T_\".concat(_this.uuid, \"row\").concat(dataRowIndex, \"_col\").concat(dataColumnIndex),\n classNames: classNames.join(\" \"),\n content: content\n };\n }\n };\n this.getContent = function (table, rowIndex, columnIndex) {\n var column = table.getChildAt(columnIndex);\n if (column === null) {\n return \"\";\n }\n var columnTypeId = _this.getColumnTypeId(table, columnIndex);\n switch (columnTypeId) {\n case Type.Timestamp: {\n return _this.nanosToDate(column.get(rowIndex));\n }\n default: {\n return column.get(rowIndex);\n }\n }\n };\n this.dataTable = tableFromIPC(dataBuffer);\n this.indexTable = tableFromIPC(indexBuffer);\n this.columnsTable = tableFromIPC(columnsBuffer);\n this.styler = styler\n ? {\n caption: styler.caption,\n displayValuesTable: tableFromIPC(styler.displayValues),\n styles: styler.styles,\n uuid: styler.uuid\n }\n : undefined;\n }\n Object.defineProperty(ArrowTable.prototype, \"rows\", {\n get: function () {\n return this.indexTable.numRows + this.columnsTable.numCols;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"columns\", {\n get: function () {\n return this.indexTable.numCols + this.columnsTable.numRows;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"headerRows\", {\n get: function () {\n return this.rows - this.dataRows;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"headerColumns\", {\n get: function () {\n return this.columns - this.dataColumns;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"dataRows\", {\n get: function () {\n return this.dataTable.numRows;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"dataColumns\", {\n get: function () {\n return this.dataTable.numCols;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"uuid\", {\n get: function () {\n return this.styler && this.styler.uuid;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"caption\", {\n get: function () {\n return this.styler && this.styler.caption;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"styles\", {\n get: function () {\n return this.styler && this.styler.styles;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"table\", {\n get: function () {\n return this.dataTable;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"index\", {\n get: function () {\n return this.indexTable;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"columnTable\", {\n get: function () {\n return this.columnsTable;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Serialize arrow table.\n */\n ArrowTable.prototype.serialize = function () {\n return {\n data: tableToIPC(this.dataTable),\n index: tableToIPC(this.indexTable),\n columns: tableToIPC(this.columnsTable)\n };\n };\n /**\n * Returns apache-arrow specific typeId of column.\n */\n ArrowTable.prototype.getColumnTypeId = function (table, columnIndex) {\n return table.schema.fields[columnIndex].type.typeId;\n };\n ArrowTable.prototype.nanosToDate = function (nanos) {\n return new Date(nanos / 1e6);\n };\n return ArrowTable;\n}());\nexport { ArrowTable };\n","/**\n * Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// Safari doesn't support the EventTarget class, so we use a shim.\nimport { ArrowTable } from \"./ArrowTable\";\n/** Messages from Component -> Streamlit */\nvar ComponentMessageType;\n(function (ComponentMessageType) {\n // A component sends this message when it's ready to receive messages\n // from Streamlit. Streamlit won't send any messages until it gets this.\n // Data: { apiVersion: number }\n ComponentMessageType[\"COMPONENT_READY\"] = \"streamlit:componentReady\";\n // The component has a new widget value. Send it back to Streamlit, which\n // will then re-run the app.\n // Data: { value: any }\n ComponentMessageType[\"SET_COMPONENT_VALUE\"] = \"streamlit:setComponentValue\";\n // The component has a new height for its iframe.\n // Data: { height: number }\n ComponentMessageType[\"SET_FRAME_HEIGHT\"] = \"streamlit:setFrameHeight\";\n})(ComponentMessageType || (ComponentMessageType = {}));\n/**\n * Streamlit communication API.\n *\n * Components can send data to Streamlit via the functions defined here,\n * and receive data from Streamlit via the `events` property.\n */\nexport var Streamlit = /** @class */ (function () {\n function Streamlit() {\n }\n /**\n * The Streamlit component API version we're targeting.\n * There's currently only 1!\n */\n Streamlit.API_VERSION = 1;\n Streamlit.RENDER_EVENT = \"streamlit:render\";\n /** Dispatches events received from Streamlit. */\n Streamlit.events = new EventTarget();\n Streamlit.registeredMessageListener = false;\n /**\n * Tell Streamlit that the component is ready to start receiving data.\n * Streamlit will defer emitting RENDER events until it receives the\n * COMPONENT_READY message.\n */\n Streamlit.setComponentReady = function () {\n if (!Streamlit.registeredMessageListener) {\n // Register for message events if we haven't already\n window.addEventListener(\"message\", Streamlit.onMessageEvent);\n Streamlit.registeredMessageListener = true;\n }\n Streamlit.sendBackMsg(ComponentMessageType.COMPONENT_READY, {\n apiVersion: Streamlit.API_VERSION\n });\n };\n /**\n * Report the component's height to Streamlit.\n * This should be called every time the component changes its DOM - that is,\n * when it's first loaded, and any time it updates.\n */\n Streamlit.setFrameHeight = function (height) {\n if (height === undefined) {\n // `height` is optional. If undefined, it defaults to scrollHeight,\n // which is the entire height of the element minus its border,\n // scrollbar, and margin.\n height = document.body.scrollHeight;\n }\n if (height === Streamlit.lastFrameHeight) {\n // Don't bother updating if our height hasn't changed.\n return;\n }\n Streamlit.lastFrameHeight = height;\n Streamlit.sendBackMsg(ComponentMessageType.SET_FRAME_HEIGHT, { height: height });\n };\n /**\n * Set the component's value. This value will be returned to the Python\n * script, and the script will be re-run.\n *\n * For example:\n *\n * JavaScript:\n * Streamlit.setComponentValue(\"ahoy!\")\n *\n * Python:\n * value = st.my_component(...)\n * st.write(value) # -> \"ahoy!\"\n *\n * The value must be an ArrowTable, a typed array, an ArrayBuffer, or be\n * serializable to JSON.\n */\n Streamlit.setComponentValue = function (value) {\n var dataType;\n if (value instanceof ArrowTable) {\n dataType = \"dataframe\";\n value = value.serialize();\n }\n else if (isTypedArray(value)) {\n // All typed arrays get sent as Uint8Array, because that's what our\n // protobuf library uses for the \"bytes\" field type.\n dataType = \"bytes\";\n value = new Uint8Array(value.buffer);\n }\n else if (value instanceof ArrayBuffer) {\n dataType = \"bytes\";\n value = new Uint8Array(value);\n }\n else {\n dataType = \"json\";\n }\n Streamlit.sendBackMsg(ComponentMessageType.SET_COMPONENT_VALUE, {\n value: value,\n dataType: dataType\n });\n };\n /** Receive a ForwardMsg from the Streamlit app */\n Streamlit.onMessageEvent = function (event) {\n var type = event.data[\"type\"];\n switch (type) {\n case Streamlit.RENDER_EVENT:\n Streamlit.onRenderMessage(event.data);\n break;\n }\n };\n /**\n * Handle an untyped Streamlit render event and redispatch it as a\n * StreamlitRenderEvent.\n */\n Streamlit.onRenderMessage = function (data) {\n var args = data[\"args\"];\n if (args == null) {\n console.error(\"Got null args in onRenderMessage. This should never happen\");\n args = {};\n }\n // Parse our dataframe arguments with arrow, and merge them into our args dict\n var dataframeArgs = data[\"dfs\"] && data[\"dfs\"].length > 0\n ? Streamlit.argsDataframeToObject(data[\"dfs\"])\n : {};\n args = __assign(__assign({}, args), dataframeArgs);\n var disabled = Boolean(data[\"disabled\"]);\n var theme = data[\"theme\"];\n if (theme) {\n _injectTheme(theme);\n }\n // Dispatch a render event!\n var eventData = { disabled: disabled, args: args, theme: theme };\n var event = new CustomEvent(Streamlit.RENDER_EVENT, {\n detail: eventData\n });\n Streamlit.events.dispatchEvent(event);\n };\n Streamlit.argsDataframeToObject = function (argsDataframe) {\n var argsDataframeArrow = argsDataframe.map(function (_a) {\n var key = _a.key, value = _a.value;\n return [key, Streamlit.toArrowTable(value)];\n });\n return Object.fromEntries(argsDataframeArrow);\n };\n Streamlit.toArrowTable = function (df) {\n var _a;\n var data = (_a = df.data, _a.data), index = _a.index, columns = _a.columns, styler = _a.styler;\n return new ArrowTable(data, index, columns, styler);\n };\n /** Post a message to the Streamlit app. */\n Streamlit.sendBackMsg = function (type, data) {\n window.parent.postMessage(__assign({ isStreamlitMessage: true, type: type }, data), \"*\");\n };\n return Streamlit;\n}());\nvar _injectTheme = function (theme) {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n style.innerHTML = \"\\n :root {\\n --primary-color: \".concat(theme.primaryColor, \";\\n --background-color: \").concat(theme.backgroundColor, \";\\n --secondary-background-color: \").concat(theme.secondaryBackgroundColor, \";\\n --text-color: \").concat(theme.textColor, \";\\n --font: \").concat(theme.font, \";\\n }\\n\\n body {\\n background-color: var(--background-color);\\n color: var(--text-color);\\n }\\n \");\n};\n/** True if the value is a TypedArray. */\nfunction isTypedArray(value) {\n var isBigIntArray = false;\n try {\n isBigIntArray =\n value instanceof BigInt64Array || value instanceof BigUint64Array;\n }\n catch (e) {\n // Ignore cause Safari does not support this\n // https://caniuse.com/mdn-javascript_builtins_bigint64array\n }\n return (value instanceof Int8Array ||\n value instanceof Uint8Array ||\n value instanceof Uint8ClampedArray ||\n value instanceof Int16Array ||\n value instanceof Uint16Array ||\n value instanceof Int32Array ||\n value instanceof Uint32Array ||\n value instanceof Float32Array ||\n value instanceof Float64Array ||\n isBigIntArray);\n}\n","/**\n * Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport hoistNonReactStatics from \"hoist-non-react-statics\";\nimport React from \"react\";\nimport { Streamlit } from \"./streamlit\";\n/**\n * Optional Streamlit React-based component base class.\n *\n * You are not required to extend this base class to create a Streamlit\n * component. If you decide not to extend it, you should implement the\n * `componentDidMount` and `componentDidUpdate` functions in your own class,\n * so that your plugin properly resizes.\n */\nvar StreamlitComponentBase = /** @class */ (function (_super) {\n __extends(StreamlitComponentBase, _super);\n function StreamlitComponentBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StreamlitComponentBase.prototype.componentDidMount = function () {\n // After we're rendered for the first time, tell Streamlit that our height\n // has changed.\n Streamlit.setFrameHeight();\n };\n StreamlitComponentBase.prototype.componentDidUpdate = function () {\n // After we're updated, tell Streamlit that our height may have changed.\n Streamlit.setFrameHeight();\n };\n return StreamlitComponentBase;\n}(React.PureComponent));\nexport { StreamlitComponentBase };\n/**\n * Wrapper for React-based Streamlit components.\n *\n * Bootstraps the communication interface between Streamlit and the component.\n */\nexport function withStreamlitConnection(WrappedComponent) {\n var ComponentWrapper = /** @class */ (function (_super) {\n __extends(ComponentWrapper, _super);\n function ComponentWrapper(props) {\n var _this = _super.call(this, props) || this;\n _this.componentDidMount = function () {\n // Set up event listeners, and signal to Streamlit that we're ready.\n // We won't render the component until we receive the first RENDER_EVENT.\n Streamlit.events.addEventListener(Streamlit.RENDER_EVENT, _this.onRenderEvent);\n Streamlit.setComponentReady();\n };\n _this.componentDidUpdate = function () {\n // If our child threw an error, we display it in render(). In this\n // case, the child won't be mounted and therefore won't call\n // `setFrameHeight` on its own. We do it here so that the rendered\n // error will be visible.\n if (_this.state.componentError != null) {\n Streamlit.setFrameHeight();\n }\n };\n _this.componentWillUnmount = function () {\n Streamlit.events.removeEventListener(Streamlit.RENDER_EVENT, _this.onRenderEvent);\n };\n /**\n * Streamlit is telling this component to redraw.\n * We save the render data in State, so that it can be passed to the\n * component in our own render() function.\n */\n _this.onRenderEvent = function (event) {\n // Update our state with the newest render data\n _this.setState({ renderData: event.detail });\n };\n _this.state = {\n renderData: undefined,\n componentError: undefined\n };\n return _this;\n }\n ComponentWrapper.prototype.render = function () {\n // If our wrapped component threw an error, display it.\n if (this.state.componentError != null) {\n return (React.createElement(\"div\", null,\n React.createElement(\"h1\", null, \"Component Error\"),\n React.createElement(\"span\", null, this.state.componentError.message)));\n }\n // Don't render until we've gotten our first RENDER_EVENT from Streamlit.\n if (this.state.renderData == null) {\n return null;\n }\n return (React.createElement(WrappedComponent, { width: window.innerWidth, disabled: this.state.renderData.disabled, args: this.state.renderData.args, theme: this.state.renderData.theme }));\n };\n /**\n * Error boundary function. This will be called if our wrapped\n * component throws an error. We store the caught error in our state,\n * and display it in the next render().\n */\n ComponentWrapper.getDerivedStateFromError = function (error) {\n return { componentError: error };\n };\n return ComponentWrapper;\n }(React.PureComponent));\n return hoistNonReactStatics(ComponentWrapper, WrappedComponent);\n}\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import { RxDBCollectionService } from '@ngx-odm/rxdb/collection';\nimport { NgxRxdbUtils, type Entity } from '@ngx-odm/rxdb/utils';\nimport equal from 'fast-deep-equal';\nimport { useEffect, useRef, useState } from 'react';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-expect-error\nimport { v4 as uuid } from 'uuid';\nimport { DataframeEditingState } from './RxDBDataframeArgs';\n\nconst { logger, isEmpty } = NgxRxdbUtils;\n\n/**\n * Custom hook that manages the editing state of a Dataframe.\n * @param editingState - The editing state of the Dataframe.\n * @param collectionService - The service used to interact with the RxDB collection.\n * @returns A tuple containing the entities and a function to set the entities.\n */\nexport const useEditedState = (\n editingState: DataframeEditingState,\n collectionService: RxDBCollectionService\n): [Entity[] | undefined, React.Dispatch>] => {\n const [entities, setEntities] = useState();\n const editingStateRef = useRef(editingState);\n\n useEffect(() => {\n if (\n !entities ||\n isEmpty(editingState) ||\n equal(editingState, editingStateRef.current)\n ) {\n return;\n }\n editingStateRef.current = editingState;\n\n const { added_rows: added, edited_rows: edited, deleted_rows: deleted } = editingState;\n\n if (!isEmpty(added)) {\n const docs = added.map(item => ({\n ...item,\n id: uuid(),\n createdAt: new Date().toISOString(),\n last_modified: Date.now(),\n }));\n if (!docs.length) return;\n collectionService.upsertBulk(docs).catch(error => logger.log('upsertBulk', error));\n }\n\n if (!isEmpty(deleted)) {\n const ids: string[] = [];\n deleted.forEach(rowIndex => {\n const entity = entities.at(rowIndex);\n if (entity) {\n ids.push(entity.id);\n }\n });\n if (!ids.length) return;\n collectionService.removeBulk(ids).catch(error => logger.log('removeBulk', error));\n }\n\n if (!isEmpty(edited)) {\n const docs = Object.entries(edited).map(([rowIndex, change]) => {\n const entity = entities.at(+rowIndex);\n return {\n ...entity,\n ...change,\n last_modified: Date.now(),\n };\n });\n if (!docs.length) return;\n collectionService.upsertBulk(docs).catch(error => logger.log('upsertBulk', error));\n }\n }, [editingState, entities, collectionService]);\n\n return [entities, setEntities];\n};\n","import { useState, useEffect } from 'react';\nimport { Subscription } from 'rxjs';\nimport { Streamlit, RenderData } from 'streamlit-component-lib';\nimport { RxDBDataframeArgs } from './RxDBDataframeArgs';\n\n/**\n * Returns `RenderData` received from Streamlit after the first render event received.\n * @param sub Subscriptions holder\n */\nexport const useNullableRenderData = (\n sub: Subscription\n): RenderData | undefined => {\n const [renderData, setRenderData] = useState>();\n\n useEffect(() => {\n const onRenderEvent = (event: Event): void => {\n const renderEvent = event as CustomEvent;\n setRenderData(renderEvent.detail);\n };\n\n // Set up event listeners, and signal to Streamlit that we're ready.\n // We won't render the component until we receive the first RENDER_EVENT.\n Streamlit.events.addEventListener(Streamlit.RENDER_EVENT, onRenderEvent);\n Streamlit.setComponentReady();\n\n const cleanup = () => {\n Streamlit.events.removeEventListener(Streamlit.RENDER_EVENT, onRenderEvent);\n sub.unsubscribe();\n };\n return cleanup;\n }, []);\n\n return renderData;\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { RxDBCollectionService } from '@ngx-odm/rxdb/collection';\nimport {\n RxDatabaseCreatorExtended,\n getRxDatabaseCreator,\n type RxCollectionCreatorExtended,\n} from '@ngx-odm/rxdb/config';\nimport { RxDBService } from '@ngx-odm/rxdb/core';\nimport { NgxRxdbUtils } from '@ngx-odm/rxdb/utils';\nimport React, { ReactNode, useCallback, useEffect, useRef, useState } from 'react';\nimport {\n ComponentProps,\n Streamlit,\n withStreamlitConnection,\n} from 'streamlit-component-lib';\nimport { RxDBDataframeArgs } from './RxDBDataframeArgs';\nimport { useEditedState } from './useEditingState';\nimport { useNullableRenderData } from './useNullableRenderData';\nimport equal from 'fast-deep-equal';\nimport { BehaviorSubject, Subscription, distinctUntilChanged, withLatestFrom } from 'rxjs';\nimport { MangoQuery } from 'rxdb';\n\nconst { logger, isEmptyObject, tapOnce } = NgxRxdbUtils;\n\n/**\n * Dataframe example using Apache Arrow.\n */\nconst RxDBDataframe: React.FC = props => {\n const [inited, setInited] = useState();\n const querySubjectRef = useRef>();\n const subRef = useRef();\n if (!subRef.current) {\n subRef.current = new Subscription();\n }\n if (!querySubjectRef.current) {\n querySubjectRef.current = new BehaviorSubject({});\n }\n const renderData = useNullableRenderData(subRef.current);\n // Parse the render data\n const { editing_state, collection_config, db_config, query, with_rev } =\n renderData?.['args'] || ({} as RxDBDataframeArgs);\n\n const dbServiceRef = useRef();\n const collectionServiceRef = useRef();\n if (!dbServiceRef.current) {\n dbServiceRef.current = new RxDBService();\n }\n const collectionService = () => collectionServiceRef.current!;\n\n const [, setEntities] = useEditedState(editing_state, collectionService());\n\n const initDb = useCallback((dbConfig: RxDatabaseCreatorExtended) => {\n const parsedDbConfig = getRxDatabaseCreator(dbConfig);\n return dbServiceRef.current!.initDb(parsedDbConfig);\n }, []);\n\n const initCollection = useCallback(\n async (collectionConfig: RxCollectionCreatorExtended) => {\n if (!collectionServiceRef.current) {\n collectionServiceRef.current = new RxDBCollectionService(\n collectionConfig,\n dbServiceRef.current!\n );\n }\n const query$ = querySubjectRef.current!.pipe(distinctUntilChanged(equal));\n const docssub = collectionService()\n .docs(query$, with_rev)\n .pipe(\n //\n tapOnce(() => setInited(true)),\n withLatestFrom(collectionService().info())\n )\n .subscribe(([docs, info]) => {\n if (!docs) {\n return;\n }\n setEntities(docs);\n Streamlit.setComponentValue({\n docs,\n info,\n query: querySubjectRef.current!.value,\n });\n Streamlit.setFrameHeight();\n });\n subRef.current!.add(docssub);\n logger.log('Collection & docs subscription initialized, with', query, with_rev);\n },\n [] // eslint-disable-line\n );\n\n useEffect(() => {\n if (!inited) {\n return;\n }\n query && querySubjectRef.current!.next(query);\n }, [inited, query]); // eslint-disable-line\n\n if (isEmptyObject(renderData)) return null; // Don't do anything at all\n\n if (!inited) {\n initDb(db_config)\n .then(() => initCollection(collection_config))\n .catch(logger.log);\n }\n\n return props.args.element as ReactNode;\n};\n\nexport default withStreamlitConnection(RxDBDataframe);\n","// import { StrictMode } from 'react';\nimport * as ReactDOM from 'react-dom/client';\n\nimport RxDBDataframe from './lib/RxDBDataframe';\n\nconst root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement);\nroot.render();\n"],"names":["l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","react_production_min","reactModule","require$$0","reactJsxRuntime_production_min","jsxRuntimeModule","exports","schedulerModule","aa","ca","require$$1","da","ea","fa","ha","ia","ja","ka","la","ma","oa","pa","qa","ra","sa","ta","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","nc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Ad","zd","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","nh","lh","mh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","gi","hi","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","Xj","X","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","bl","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","wl","reactDom_production_min","checkDCE","err","reactDomModule","createRoot","extendStatics","__extends","__","__decorate","decorators","target","key","desc","i","__metadata","metadataKey","metadataValue","__awaiter","thisArg","_arguments","generator","adopt","value","resolve","reject","fulfilled","step","rejected","result","__generator","body","_","verb","op","__values","o","s","__read","ar","error","__spreadArray","to","from","pack","__await","__asyncGenerator","resume","settle","fulfill","__asyncDelegator","__asyncValues","_typeof","toPrimitive","toPropertyKey","_defineProperties","props","descriptor","_createClass","Constructor","protoProps","staticProps","lastOfArray","toArray","input","batchArray","array","batchSize","ret","batch","isMaybeReadonlyArray","arrayFilterNotEmpty","countUntilNotMatching","matchingFn","count","idx","_item","matching","appendToArray","add","amount","element","uniqueArray","arrArg","elem","pos","arr","parseRevision","revision","split","getHeightOfRevision","createRevision","databaseInstanceToken","previousDocData","previousRevision","previousRevisionHeight","newRevisionHeight","objectPathMonad","objectPath","splitLength","obj","currentVal","subPath","flatClone","firstPropertyNameOfObject","sortObject","noArraySort","out","deepClone","src","dest","clone","overwriteGetterForCaching","getterName","RX_META_LWT_MINIMUM","getDefaultRxDocumentMeta","getDefaultRevision","stripMetaDataFromDocument","docData","areRxDocumentArraysEqual","primaryPath","ar1","ar2","len","row1","row2","WordArray","words","sigBytes","encoder","Hex","wordArray","thatByte","j","hexChars","bite","Latin1","latin1Str","latin1StrLength","Utf8","utf8Str","BufferedBlockAlgorithm","data","_dataWords","_offset","doFlush","processedWords","nBlocksReady","nWordsReady","nBytesReady","offset","Hasher","messageUpdate","SHA256","H2","gamma0x","gamma0","gamma1x","gamma1","maj","sigma0","sigma1","t1","t2","nBitsTotal","nBitsLeft","sha256","message","jsSha256","nativeSha256","hashBuffer","hash","canUseCryptoSubtle","defaultHashSha256","nextTick","res","promiseWait","ms","toPromise","maybePromise","PROMISE_RESOLVE_TRUE","PROMISE_RESOLVE_FALSE","PROMISE_RESOLVE_NULL","PROMISE_RESOLVE_VOID","requestIdlePromiseNoQueue","timeout","idlePromiseQueue","requestIdlePromise","promiseSeries","tasks","initial","current","next","REGEX_ALL_DOTS","COUCH_NAME_CHARS","randomCouchString","length","text","ucfirst","str","trimDots","deepEqual","keys","isObject","type","disallowedKeys","digits","getPathSegments","path","parts","currentSegment","currentPart","isIgnoring","character","isStringIndex","object","index","assertNotStringIndex","getProperty","pathArray","setProperty","root","getFromMapOrThrow","map","val","getFromMapOrCreate","creator","ifWasThere","pluginMissing","pluginKey","keyParts","pluginName","part","errorToPlainJson","_lastNow","now","twoDecimals","ensureNotFalsy","RXJS_SHARE_REPLAY_DEFAULTS","RXDB_VERSION","_setPrototypeOf","_inheritsLoose","subClass","superClass","setPrototypeOf","_getPrototypeOf","_isNativeFunction","fn","_isNativeReflectConstruct","_construct","isNativeReflectConstruct","_wrapNativeSuper","Class","_cache","isNativeFunction","Wrapper","construct","getPrototypeOf","overwritable","parametersToString","parameters","paramStr","_k","messageForError","code","RxError","_Error","_this","mes","_proto","RxTypeError","_TypeError","_this2","_proto2","newRxError","newRxTypeError","isBulkWriteConflictError","STORAGE_WRITE_ERROR_CODE_TO_MESSAGE","rxStorageWriteErrorToRxError","HOOKS","runPluginHooks","hookKey","fun","runAsyncPluginHooks","getSchemaByObjectPath","rxJsonSchema","usePath","fillPrimaryKey","jsonSchema","documentData","newPrimary","getComposedPrimaryKeyOfDocumentData","existingPrimary","getPrimaryFieldOfPrimaryKey","primaryKey","getLengthOfPrimaryKey","schema","schemaPart","compositePrimary","field","normalizeRxJsonSchema","normalizedSchema","getDefaultIndex","fillWithDefaultSettings","schemaObj","RX_META_SCHEMA","finalFields","getFinalFields","useIndexes","arIndex","hasIndex","indexStr","fillObjectWithDefaults","rxSchema","defaultKeys","RxSchema","hashFunction","getIndexes","dataBefore","dataAfter","fieldName","proto","pathProperties","fullPath","values","getPreviousVersions","version","createRxSchema","runPreCreateHooks","useJsonSchema","isFunction","hasLift","source","operate","init","liftedSource","isArrayLike","isPromise","createErrorClass","createImpl","_super","instance","ctorFunc","UnsubscriptionError","errors","arrRemove","item","Subscription","initialTeardown","e_1","_a","e_2","_b","_parentage","_parentage_1","_parentage_1_1","parent_1","e_1_1","initialFinalizer","_finalizers","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","parent","empty","EMPTY_SUBSCRIPTION","isSubscription","config","timeoutProvider","handler","args","_i","delegate","handle","reportUnhandledError","noop","errorContext","Subscriber","destination","EMPTY_OBSERVER","complete","SafeSubscriber","_bind","bind","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","context_1","defaultErrorHandler","observable","identity","pipeFromArray","fns","prev","Observable","subscribe","operator","subscriber","isSubscriber","sink","promiseCtor","getPromiseCtor","Symbol_observable","operations","isObserver","isInteropObservable","isAsyncIterable","createInvalidObservableTypeError","getSymbolIterator","iterator","isIterable","Symbol_iterator","readableStreamLikeToAsyncGenerator","readableStream","reader","done","isReadableStreamLike","innerFrom","fromInteropObservable","fromArrayLike","fromPromise","fromAsyncIterable","fromIterable","fromReadableStreamLike","obs","promise","iterable","iterable_1","iterable_1_1","asyncIterable","process","asyncIterable_1","asyncIterable_1_1","createOperatorSubscriber","onNext","onComplete","onError","onFinalize","OperatorSubscriber","shouldUnsubscribe","closed_1","Action","scheduler","work","state","delay","intervalProvider","AsyncAction","_id","_scheduler","_delay","errored","errorValue","actions","dateTimestampProvider","Scheduler","schedulerActionCtor","AsyncScheduler","SchedulerAction","action","asyncScheduler","async","isScheduler","isValidDate","timer","dueTime","intervalOrScheduler","intervalDuration","due","last","popResultSelector","popScheduler","popNumber","defaultValue","executeSchedule","parentSubscription","repeat","scheduleSubscription","catchError","selector","innerSub","syncUnsub","handledResult","isArray","objectProto","getKeys","argsArgArrayOrObject","first_1","isPOJO","observeOn","subscribeOn","scheduleObservable","schedulePromise","scheduleArray","scheduleIterable","scheduleAsyncIterable","scheduleReadableStreamLike","scheduled","project","callOrApply","mapOneOrManyArgs","createObject","combineLatest","resultSelector","observables","combineLatestInit","valueTransform","maybeSchedule","active","remainingFirstValues","_loop_1","hasFirstValue","execute","subscription","mergeInternals","concurrent","onBeforeNext","expand","innerSubScheduler","additionalFinalizer","buffer","isComplete","checkComplete","outerNext","doInnerSub","innerComplete","innerValue","bufferedValue","mergeMap","argsOrArgArray","mergeAll","concatAll","ObjectUnsubscribedError","Subject","subject","AnonymousSubject","_c","observer","observers","hasError","isStopped","thrownError","concat","EMPTY","distinctUntilChanged","comparator","keySelector","defaultCompare","previousKey","first","currentKey","filter","predicate","EmptyError","merge","mergeWith","otherSources","BehaviorSubject","_value","ReplaySubject","_bufferSize","_windowTime","_timestampProvider","_buffer","_infiniteTimeWindow","copy","adjustedBufferSize","retry","configOrCount","resetOnSuccess","soFar","subscribeForRetry","resub_1","notifier","notifierSubscriber_1","share","options","connector","resetOnError","resetOnComplete","_d","resetOnRefCountZero","wrapperSource","connection","resetConnection","refCount","hasCompleted","hasErrored","cancelReset","reset","resetAndUnsubscribe","conn","handleReset","on","onSubscriber","shareReplay","configOrBufferSize","windowTime","bufferSize","startWith","switchMap","innerSubscriber","innerIndex","outerIndex","takeWhile","inclusive","tap","tapObserver","isUnsub","withLatestFrom","inputs","otherValues","hasValue","ready","getDocumentDataOfRxChangeEvent","rxChangeEvent","rxChangeEventToEventReduceChangeEvent","isObservable","lastValueFrom","hasConfig","_hasValue","firstValueFrom","defer","observableFactory","nodeEventEmitterMethods","eventTargetMethods","jqueryMethods","fromEvent","eventName","isEventTarget","methodName","isNodeStyleEventEmitter","toCommonHandlerRegistry","isJQueryStyleEventEmitter","remove","subTarget","sources","hasLimit","isFindOne","hasSkip","isDelete","isInsert","isUpdate","wasLimitReached","sortParamsChanged","sortFields","doc","beforeData","afterData","wasInResult","primary","results","wasFirst","wasLast","wasSortedBeforeFirst","wasSortedAfterLast","isSortedBeforeFirst","isSortedAfterLast","wasMatching","doesMatchNow","wasResultsEmpty","stateResolveFunctionByIndex","pushAtSortPosition","compareFunction","low","high","mid","lastMidDoc","doNothing","_input","insertFirst","insertLast","removeFirstItem","removeLastItem","removeFirstInsertLast","removeLastInsertFirst","removeFirstInsertFirst","removeLastInsertLast","removeExisting","replaceExisting","alwaysWrong","wrongHuman","insertAtSortPosition","docId","removeExistingAndInsertAtSortPosition","runFullQueryAgain","unknownAction","orderedActionList","actionFunctions","CHAR_CODE_OFFSET","getNumberOfChar","char","booleanToBooleanString","splitStringToChunks","chunkSize","chunks","charsLength","minimalStringToSimpleBdd","nodesById","lastLeafNodeChar","leafNodeChars","leafNodeChunks","chunk","internalNodeChars","internalNodeChunks","idOf0Branch","idOf1Branch","level","node0","node1","node","last3","idOf0","idOf1","levelOfRoot","nodeOf0","nodeOf1","resolveWithSimpleBdd","simpleBdd","currentNode","currentLevel","booleanResult","branchKey","minimalBddString","getSimpleBdd","resolveInput","calculateActionName","resolvedActionId","runAction","queryParams","changeEvent","previousResults","keyDocumentMap","INDEX_MAX","INDEX_MIN","getQueryPlan","query","indexes","hasDescSorting","sortField","sortIrrelevevantFields","optimalSortIndex","optimalSortIndexCompareString","currentBestQuality","currentBestQueryPlan","inclusiveEnd","inclusiveStart","opts","indexField","matcher","operators","matcherOpts","startKey","LOGICAL_OPERATORS","operatorValue","partialOpts","getMatcherQueryOpts","startKeys","opt","endKeys","queryPlan","isSelectorSatisfiedByIndex","quality","rateQueryPlan","LOWER_BOUND_LOGICAL_OPERATORS","UPPER_BOUND_LOGICAL_OPERATORS","selectorEntries","hasNonMatchingOperator","operation","hasNonLogicOperator","satisfieldLowerBound","lowerOperatorFieldNames","lowerLogicOps","hasLowerLogicOp","satisfieldUpperBound","upperOperatorFieldNames","_fieldName","_operation","upperLogicOps","hasUperLogicOp","_fieldName2","set","endKey","addQuality","pointsPerMatchingKey","nonMinKeyCount","keyValue","nonMaxKeyCount","equalKeyCount","pointsIfNoReSortMustBeDone","MAX_INT","MIN_INT","MAX_LONG","MIN_LONG","MISSING","CYCLE_FOUND_ERROR","ARRAY_PROTO","OBJECT_PROTO","OBJECT_TAG","OBJECT_TYPE_RE","Null$2","Undefined","getConstructor","Null","DEFAULT_HASH_FUNCTION","stringify","JS_SIMPLE_TYPES","IMMUTABLE_TYPES_SET","toString","typedArrayToString","STRING_CONVERTERS","SORT_ORDER_BY_TYPE","compare","getType","isEqual","assert","condition","isTypedArray","cloneDeep","cycle","ctor","isBoolean","isString","isNumber","isObjectLike","isDate","isRegExp","isNil","inArray","notInArray","truthy","arg","strict","isEmpty","isMissing","ensureArray","has","prop","mergeable","left","right","into","buildHashIndex","hashCode","intersection","sortedIndex","sortBy","smallest","rmap","lhs","stable","found","currIndex","rhs","_j","flatten","xs","depth","flatten2","ys","getMembersOf","names","activeProto","unique","tag","members","objKeys","collection","keyFn","sorted","groupBy","lookup","existingKey","MAX_ARRAY_PUSH","rest","acc","begin","getValue","unwrap","resolve2","subpath","resolveGraph","isIndex","hasNext","filterMissing","NUMBER_RE","walk","isNextArrayIndex","setValue","removeValue","OPERATOR_NAME_PATTERN","isOperator","name","normalize","expr","newExpr","ProcessingMode","ComputeOptions","_opts","_root","_local","timestamp","local","Context","initOptions","OperatorType","ops","ctx","GLOBAL_CONTEXT","useOperators","currentFn","getOperator","fallback","systemVariables","_obj","_expr","_options","redactVariables","redact","computeValue","copts","callExpression","callAccumulator","context","prefix","Lazy","Iterator","compose","iterators","isGenerator","dropItem","DONE","createCallback","nextFn","iteratees","bufferIndex","storeResult","outer","size","innerDone","nextVal","self","iter","initialValue","Aggregator","pipeline","mode","pipelineOperators","operatorKeys","opName","call","Cursor","projection","buffered","modifier","spec","Query","whereOperator","$sort","sortKeys","cmp","collationSpec","collationComparator","coll","modifiers","groups","sortedKeys","COLLATION_STRENGTH","localeOpt","collator","createQueryOperator","$eq","eq","$ne","$in","$nin","$lt","mingoCmp","$lte","$gt","$gte","$mod","$regex","match","$exists","$all","queries","matched","$elemMatch","$size","isNonBooleanOperator","format","criteria","isNull","isInt","isLong","compareFuncs","compareType","$type","buildMap","letters","sign","FIXED_POINTS","createTrignometryOperator","fixedPoints","fp","keySet","RADIANS_FACTOR","DEGREES_FACTOR","$project","expressionKeys","idOnlyExcluded","validateExpression","ID_KEY","processObject","newObj","foundSlice","foundExclusion","dropKeys","subExpr","subExprObj","subExprKeys","objPathGraph","check","$and","$or","$nor","$not","__eq","__gt","__gte","__in","__lt","__lte","__ne","__nin","__mod","__regex","__all","__elemMatch","__size","__exists","__type","mingoInitDone","getMingoQuery","normalizeMangoQuery","mangoQuery","normalizedMangoQuery","indexAr","isPrimaryInSort","fieldsWithLogicalOperator","hasLogical","currentFieldsAmount","currentBestIndexForSort","useIndex","firstWrongIndex","getSortComparator","sortParts","sortBlock","direction","sortPart","valueA","valueB","mingoSortComparator","getQueryMatcher","_schema","mingoQuery","getSortFieldsOfQuery","RXQUERY_QUERY_PARAMS_CACHE","getQueryParams","rxQuery","sortComparator","useSortComparator","docA","docB","sortComparatorData","queryMatcher","useQueryMatcher","queryMatcherData","calculateNewResults","rxChangeEvents","previousResultsMap","changed","eventReduceEvents","cE","foundNonOptimizeable","eventReduceEvent","stateResolveFunctionInput","actionName","QueryCache","stringRep","createQueryCache","uncacheRxQuery","queryCache","countRxQuerySubscribers","DEFAULT_TRY_TO_KEEP_MAX","DEFAULT_UNEXECUTED_LIFETIME","defaultCacheReplacementPolicyMonad","tryToKeepMax","unExecutedLifetime","_collection","minUnExecutedLifetime","maybeUncache","queriesInCache","mustUncache","sortedByLastUsage","toRemove","defaultCacheReplacementPolicy","COLLECTIONS_WITH_RUNNING_CLEANUP","triggerCacheReplacement","rxCollection","DocumentCache","changes$","documentCreator","docMeta","cacheItem","getCachedRxDocumentMonad","docCache","cacheItemByDocId","registry","deepFreezeWhenDevMode","revisionHeight","getNewCacheItem","byRev","cachedRxDocumentWeakRef","cachedRxDocument","createWeakRefWithFallback","mapDocumentsDataToCacheDocs","docsData","getCachedRxDocument","documents","_docData","HAS_WEAK_REF","createWeakRef","createWeakRefFallback","RxQuerySingleResult","docsDataFromStorageInstance","_queryCount","newQueryID","RxQueryBase","other","_getDefaultQuery","isFindOneByIdQuery","newResultData","newQueryResult","preparedQuery","ids","mustBeQueried","docs","docsPromise","queryCollection","throwIfMissing","_ensureEqual","stringObj","hookInput","prepareQuery","_updateObj","_queryObj","_params","_amount","results$","curr","useResult","reactivity","normalizedQuery","tunnelQueryCache","createRxQuery","queryObj","_isResultsInSync","currentLatestEventNumber","__ensureEqual","mustReExec","missedChangeEvents","runChangeEvents","previousCount","newCount","didMatchBefore","eventReduceResult","mutateableQuery","docIds","docsFromStorage","fromStorageList","queryResult","INTERNAL_STORAGE_NAME","getSingleDocument","storageInstance","documentId","writeSingle","writeRow","writeResult","observeSingle","firstFindPromise","evBulk","ev","stackCheckpoints","checkpoints","storageChangeEventToRxChangeEvent","isLocal","rxStorageChangeEvent","previousDocumentData","throwIfIsStorageWriteError","writeData","categorizeBulkWriteRows","docsInDb","bulkWriteRows","onInsert","onUpdate","hasAttachments","bulkInsertDocs","bulkUpdateDocs","eventBulkId","eventBulk","eventBulkEvents","attachmentsAdd","attachmentsRemove","attachmentsUpdate","hasDocsInDb","newestRow","rowAmount","_loop","rowId","document","previous","documentDeleted","previousDeleted","documentInDb","attachmentError","revInDb","updatedRow","stripAttachmentsDataFromRow","attachmentId","attachmentData","previousAttachmentData","newDigest","eventDocumentData","previousEventDocumentData","stripAttachmentsDataFromDocument","_event","insertedIsDeleted","event","getAttachmentSize","attachmentBase64String","attachmentWriteDataToNormalData","useDoc","flatCloneDocWithMeta","getWrappedStorageInstance","database","transformDocumentDataFromRxDBToRxStorage","metaFieldName","rows","toStorageWriteRows","row","useWriteResult","reInsertErrors","reInserts","subResult","deleted","digest","limit","checkpoint","minDeletedTime","taskSolution","ensureRxStorageInstanceParamsAreCorrect","params","hasEncryption","getChangedDocumentsSinceQuery","sinceLwt","sinceId","getChangedDocumentsSince","lastDoc","IncrementalWriteQueue","preWrite","postWrite","lastKnownDocumentState","writeRows","itemsById","_docId","items","oldData","findNewestOfDocumentStates","newData","isConflict","rxError","modifierFromPublicToInternal","publicModifier","withoutMeta","modified","reattachedMeta","newest","newestRevisionHeight","height","basePrototype","latestDocData","refCollection","valuesIterator","objPath","valueObj","proxy","property","lastChar","_key","_key2","withMetaFields","mutationFunction","_context","patch","beforeDocumentUpdateWrite","isError","deletedData","removedDocData","removed","newDoc","createRxDocumentConstructor","constructor","createWithConstructor","jsonData","INTERNAL_CONTEXT_COLLECTION","INTERNAL_CONTEXT_STORAGE_TOKEN","INTERNAL_CONTEXT_MIGRATION_STATUS","INTERNAL_STORE_SCHEMA_TITLE","INTERNAL_STORE_SCHEMA","getPrimaryKeyOfInternalDocument","getAllCollectionDocuments","getAllQueryPrepared","allDocs","STORAGE_TOKEN_DOCUMENT_KEY","STORAGE_TOKEN_DOCUMENT_ID","ensureStorageTokenDocumentExists","rxDatabase","storageToken","passwordHash","conflictError","isDatabaseStateVersionCompatibleWithDatabaseCode","storageTokenDocInDb","databaseStateVersion","codeVersion","stateMajor","codeMajor","addConnectedStorageToCollection","storageCollectionName","collectionNameWithVersion","_collectionNamePrimary","collectionDocId","collectionDoc","saveData","alreadyThere","fillObjectDataBeforeInsert","createRxCollectionStorageInstance","storageInstanceCreationParams","removeCollectionStorages","storage","databaseInternalStorage","databaseName","collectionName","password","allCollectionMetaDocs","relevantCollectionMetaDocs","metaDoc","removeStorages","alreadyAdded","writeDoc","ChangeEventBuffer","pointer","oldestEvent","oldestCounter","currentIndex","nextEvent","changeEvents","sub","createChangeEventBuffer","constructorForCollection","getDocumentPrototype","schemaProto","ormProto","getDocumentOrmPrototype","baseProto","enumerable","getRxDocumentConstructor","createNewRxDocument","createRxDocumentWithConstructor","getLastCheckpointDoc","checkpointDocId","checkpointResult","checkpointDoc","setCheckpoint","previousCheckpointDoc","sucessDoc","getCheckpointKey","docStateToWriteDoc","keepMeta","docState","writeDocToDocState","keepAttachments","stripAttachmentsDataFromMetaWriteRows","getUnderlyingPersistentStorage","META_INSTANCE_SCHEMA_TITLE","getRxReplicationMetaInstanceSchema","replicatedDocumentsSchema","encrypted","parentPrimaryKeyLength","baseSchema","metaInstanceSchema","getAssumedMasterState","useId","metaDocs","getMetaWriteRow","newMasterDocState","isResolvedConflict","newMeta","startReplicationDownstream","identifierHash","replicationHandler","openTasks","addNewTask","task","taskWithTime","useTasks","innerTaskWithTime","lastTimeMasterChangesRequested","downstreamResyncOnce","downstreamProcessChanges","canceled","lastCheckpoint","promises","downResult","persistFromMaster","docsOfAllTasks","persistenceQueue","nonPersistedFromMaster","downDocsById","useCheckpoint","writeRowsToFork","writeRowsToForkById","writeRowsToMeta","useMetaWriteRows","currentForkStateList","assumedMasterState","currentForkState","forkStateFullDoc","forkStateDocData","masterState","assumedMaster","isAssumedMasterEqualToForkState","areStatesExactlyEqual","newForkState","nextRevisionHeight","forkWriteRow","forkWriteResult","metaWriteResult","writeError","unhandledError","defaultConflictHandler","newDocumentState","realMasterState","resolveConflictError","forkState","conflictHandler","conflictHandlerOutput","resolvedDoc","fillWriteDataForAttachmentsChange","newDocument","originalDocument","originalAttachmentsIds","attachmentDataString","startReplicationUpstream","upstreamInitialSync","processTasks","initialSyncStartTime","upResult","persistToMaster","resolvedPromises","hadConflicts","upDocsById","writeRowsToMaster","writeRowsToMasterIds","forkStateById","fullDocData","assumedMasterDoc","writeRowsArray","conflictIds","conflictsById","writeBatches","writeBatch","masterWriteResult","conflictDoc","useWriteRowsToMeta","hadConflictWrites","conflictWriteFork","conflictWriteMeta","writeToMasterRow","resolved","useMetaWrites","replicateRxStorageInstance","checkpointKeyPromise","checkpointKey","awaitRxStorageReplicationFirstInSync","awaitRxStorageReplicationInSync","replicationState","rxStorageInstanceToReplicationHandler","plainDocumentData","rowById","masterDocsStateList","masterDocsState","conflicts","cancelRxStorageReplication","HOOKS_WHEN","HOOKS_KEYS","hooksApplied","RxCollectionBase","internalStorageInstance","instanceCreationOptions","migrationStrategies","methods","attachments","cacheReplacementPolicy","statics","_applyHookFunctions","collectionEventBulks$","changeEventBulk","databaseStorageToken","subDocs","output","_minimumDeletedTime","json","insertResult","useDocs","useDocData","insertRows","rxDocuments","docsMap","rxDocumentMap","rxDocument","removeDocs","successIds","insertData","useJsonByDocId","useJson","success","docDataInDb","bulkResult","queue","_incrementalUpsertEnsureRxDocumentExists","wasInserted","_incrementalUpsertUpdate","_exportedJSON","when","parallel","boundFun","runName","hooks","hook","time","colProto","fnName","_innerDoc","docDataFromCache","createRxCollection","autoMigrate","localDocuments","funName","IdleQueue","parallels","_tryIdleCall","prom","resolveFromOutside","_removeIdlePromise","timeoutObj","callback","_this3","_resolveOneIdleCall","idleQueue","oldestPromise","ObliviousSet","ttl","__publicField","removeTooOldValues","obliviousSet","olderThen","USED_DATABASE_NAMES","RxDatabaseBase","token","multiInstance","eventReduce","internalStore","cleanupPolicy","allowSlowCount","collectionCreators","jsonSchemas","schemas","bulkPutDocs","useArgsByCollectionName","collectionDocData","useArgs","hookData","putDocsResult","ensureNoStartupErrors","docInDb","_collections","col","removeRxDatabase","throwIfDatabaseNameUsed","createRxDatabaseStorageInstance","createRxDatabase","ignoreDuplicate","dbInternalsStorageInstance","collectionDocs","collectionNames","removedCollectionNames","isRxDatabase","isRxDatabaseFirstTimeInstantiated","tokenDoc","PROTOTYPES","RxDocumentPrototype","ADDED_PLUGINS","ADDED_PLUGIN_NAMES","addRxPlugin","plugin","hooksObj","PROMISE_RESOLVED_TRUE","PROMISE_RESOLVED_VOID","sleep","resolveWith","randomInt","min","max","randomToken","lastMs","microSeconds","supportsWebLockAPI","micro","create","channelName","msgEvent","close","channelState","postMessage","messageJson","onMessage","canBeUsed","averageResponseTime","NativeMethod","fillOptionsWithDefaults","originalOptions","DB_PREFIX","OBJECT_STORE_ID","TRANSACTION_SETTINGS","getIdb","commitIndexedDBTransaction","tx","createDatabase","IndexedDB","dbName","openRequest","rej","writeMessage","readerUuid","writeObject","objectStore","getMessagesHigherThan","lastCursorId","keyRangeValue","getAllRequest","openCursor","openCursorRequest","cursor","removeMessagesById","deleteRequest","getOldMessages","msgObk","cleanOldMessages","tooOld","msg","_readLoop","readNewMessages","_filterMessage","msgObj","newerMessages","useMessages","msgObjA","msgObjB","IndexedDBMethod","KEY_PREFIX","getLocalStorage","localStorage","storageKey","writeObj","addStorageEventListener","listener","removeStorageEventListener","uuid","eMIs","ls","defaultTime","userAgent","LocalstorageMethod","SIMULATE_CHANNELS","SIMULATE_DELAY_TIME","channelArray","channel","SimulateMethod","METHODS","chooseMethod","chooseMethods","useMethod","method","OPEN_BROADCAST_CHANNELS","lastId","BroadcastChannel","ENFORCED_OPTIONS","_prepareChannel","_post","listenObj","_removeListenerObject","_addListenerObject","awaitPrepare","broadcastChannel","sendPromise","_hasMessageListeners","_startListening","_stopListening","listenerFn","listenerObject","addBrowser","oldClose","addNode","isNode","USE_METHOD","LISTENERS","startedListening","startListening","runAll","addReturn","sendLeaderMessage","leaderElector","msgJson","beLeader","unloadFn","unloadAdd","isLeaderListener","LeaderElectionWebLock","locks","relevantLocks","lock","returnPromise","_fn","_this4","uFn","LeaderElection","hasLeaderListener","isFromFallbackInterval","applyRun","stopCriteria","stopCriteriaPromiseResolve","stopCriteriaPromise","handleMessage","waitForAnswerTime","_awaitLeadershipOnce","finish","whenDeathListener","tryOnFallBack","createLeaderElection","elector","BROADCAST_CHANNEL_BY_TOKEN","getBroadcastChannelReference","storageName","refObject","removeBroadcastChannelReference","addRxStorageMultiInstanceSupport","instanceCreationParams","providedBroadcastChannel","changesFromOtherInstances$","eventListener","oldChangestream$","closed","oldRemove","getIndexMeta","fieldNameProperties","parsedLengths","getStringLengthOfIndexNumber","maxLength","getIndexStringPart","fieldValue","getNumberIndexString","getIndexableStringMonad","fieldNamePropertiesAmount","indexPartsFunctions","minimum","maximum","multipleOf","valueSpan","nonDecimals","multipleOfParts","decimals","nonDecimalsValueAsString","splitByDecimalPoint","decimalValueAsString","getStartIndexStringFromLowerBound","lowerBound","bound","boolToStr","fillChar","getStartIndexStringFromUpperBound","upperBound","_fillChar","DEFAULT_MODIFIER","swapDefaultDeletedTodeletedField","deletedField","isDeleted","handlePulledDocuments","awaitRetry","retryTime","onlineAgain","REPLICATION_STATE_BY_COLLECTION","RxReplicationState","replicationIdentifier","pull","push","live","autoStart","replicationStates","startPromise","pullModifier","pushModifier","metaInstanceCollectionName","metaInstance","_v","useEv","emitError","er","useRowsOrNull","useRows","down","up","isActive","NgxRxdbUtils","keysOfNonArray","forOwn","iteratee","forEachOfArray","forOwnOfNonArray","forEach","myValue","isNullOrUndefined","isDevMode","isValidNumber","times","range","start","end","getMaybeId","entityOrId","compact","compactObject","isDevModeForced","isTestEnvironment","bgColor","debug","retryWithBackoff","obs$","retryIndex","subj","getDefaultFetch","isValidRxReplicationState","mapFindResultToJsonArray","withRevAndAttachments","debug$1","isEmptyObject","isZone","runInZone","zone","ensureCollection$","propertyKey","originalMethod","ensureCollection","_e","_f","logger","RxDBCollectionService","dbService","ngZone","currentUrl$","updateQueryParamsFn","schemaHash","dump","attachmentsData","attachment","parralel","loc","module","this","global","$","et","tt","nt","rt","it","ot","at","ut","st","ct","lt","ft","ht","dt","pt","yt","vt","mt","bt","gt","wt","_t","xt","kt","Ot","Pt","Et","Kt","Dt","St","Ct","jt","At","Tt","Bt","It","Rt","Ft","Mt","Nt","Lt","Ut","zt","Vt","Wt","Yt","$t","Qt","Gt","Xt","Ht","Jt","Zt","en","tn","ln","sn","cn","rn","un","an","nn","hn","dn","Jn","pn","yn","vn","mn","bn","xn","gn","wn","_n","kn","On","Pn","En","Kn","Sn","jn","An","Cn","Dn","qn","Tn","Bn","In","Rn","Fn","Mn","Nn","Ln","Un","zn","Vn","Wn","Yn","$n","Qn","Gn","Xn","Hn","Zn","tr","nr","rr","ir","or","ur","sr","DexieSymbol","Dexie","_Dexie","DEXIE_DOCS_TABLE_NAME","DEXIE_CHANGES_TABLE_NAME","DEXIE_ATTACHMENTS_TABLE_NAME","RX_STORAGE_NAME_DEXIE","DEXIE_STATE_DB_BY_NAME","REF_COUNT_PER_DEXIE_DB","getDexieDbWithTables","settings","dexieDbName","useSettings","dexieDb","dexieStoresSettings","getDexieStoreSchema","getBooleanIndexes","closeDexieDb","statePromise","prevCount","DEXIE_PIPE_SUBSTITUTE","dexieReplaceIfStartsWithPipe","withoutFirst","dexieReplaceIfStartsWithPipeRevert","fromStorageToDexie","booleanIndexes","fromStorageToDexieField","newVal","fromDexieToStorage","fromDexieToStorageField","dexieSchemaRows","dexieSchema","getDocsInDb","internals","attachmentObjectId","checkedFields","fields","mapKeyForKeyRange","rangeFieldToBooleanSubstitute","newValue","getKeyRangeByQueryPlan","IDBKeyRange","keyRange","dexieQuery","skip","skipPlusLimit","queryPlanFields","dexieTx","store","indexName","cursorReq","dexieCount","request","instanceId","RxStorageInstanceDexie","documentWrites","ensureNotClosed","documentKeys","categorized","docsInDbMap","docsInDbWithInternals","docWithDexieInternals","putAttachments","lastState","_result","minimumDeletedTime","maxDeletionTime","removeIds","_digest","_taskSolution","createDexieStorageInstance","RxStorageDexie","getRxStorageDexie","norm","boundGE","boundGT","boundLT","boundLE","boundEQ","getMemoryCollectionKey","schemaVersion","ensureNotRemoved","attachmentMapKey","sortByIndexStringComparator","putWriteRowToState","stateByIndex","docInState","byIndex","docsWithIndex","getIndexableString","newIndexString","insertPosition","previousIndexString","indexBefore","compareDocsWithIndex","removeDocFromState","indexString","positionInIndex","indexStringA","indexStringB","addIndexesToInternalsState","getMemoryIndexName","OPEN_MEMORY_INSTANCES","RxStorageInstanceMemory","documentsById","_writeRow","_doc","_i2","_writeRow2","_doc2","attachmentsMap","withDeleted","mustManuallyResort","lowerBoundString","upperBoundString","indexOfLower","indexOfUpper","currentRow","currentDoc","createMemoryStorageInstance","collectionKey","COLLECTION_STATES","getRxStorageMemory","getRxDatabaseCreator","semver","validateAndParse","isWildcard","tryParse","forceType","compareStrings","ap","bp","compareSegments","compareVersions","v1","v2","n1","n2","p1","p2","assertValidOperator","operatorResMap","allowedOperators","getDefaultPreparedQuery","RXDB_STORAGE_TOKEN_ID","fetchSchema","schemaUrl","prepareCollections","colConfigs","colCreators","prepareDbDump","dumpPath","collections","dumpObj","migrateStorageVersion","rxdbVersion","storageData","dexieTable","afterCreateRxDatabase","isFirstTimeInstantiated","beforePreCreateRxSchema","maybeSchema","realSchema","afterCreateRxCollection","meta","initialDocs","initialCount","countDocs","RxDBPreparePlugin","_meta","_rev","includeKeys","singleMatcher","multiMatcher","decodeComponents","components","decode","tokens","customDecodeURIComponent","replaceMap","entries","decodeUriComponent","encodedURI","splitOnFirst","string","separator","separatorIndex","strictUriEncode","encodeFragmentIdentifier","encoderForArrayFormat","encode","keyValueSep","parserForArrayFormat","accumulator","isEncodedArray","arrayValue","validateArrayFormatSeparator","decodeComponent","keysSorter","removeHash","hashStart","getHash","url","parseValue","extract","queryStart","parse","formatter","returnValue","parameter","parameter_","key2","value2","shouldFilter","objectCopy","parseUrl","url_","stringifyUrl","queryFromUrl","queryString","urlObjectForFragmentEncode","pick","fragmentIdentifier","exclude","exclusionFilter","sort","schemaTopLevelFields","parseUrlToMangoQuery","urlPart","parsed","_selector","_sort","stringifyParam","param","RxDBPUseQueryParamsPlugin","_queryParams$","useQueryParams","initDone","currentUrl","updateQueryParamsInLocationFn","_updateQueryParamsInLocationFn","DEFAULT_CLEANUP_POLICY","RXSOTRAGE_CLEANUP_QUEUE","startCleanupForRxCollection","cleanupRxCollection","runCleanupAfterDelete","isDone","RxDBCleanupPlugin","dumpRxDatabase","useCollections","colName","cols","importDumpRxDatabase","missingCollections","colDump","dumpRxCollection","importDumpRxCollection","exportedJSON","RxDBJsonDumpPlugin","RxDocumentParent","RxLocalDocumentClass","_RxDocumentParent","RxLocalDocumentPrototype","LOCAL_DOC_STATE_BY_PARENT_RESOLVED","getRxDatabaseFromLocalDocument","localDocument","getLocalDocStateByParent","docResult","INIT_DONE","_init","docBaseProto","exists","getThrowingFun","createRxLocalDocument","LOCAL_DOC_STATE_BY_PARENT","createLocalDocStateByParent","createLocalDocumentStorageInstance","RX_LOCAL_DOCUMENT_SCHEMA","incrementalWriteQueue","subLocalDocs","getCollectionLocalInstanceName","closeStateByParent","removeLocalDocumentsStorageInstance","insertLocal","newDocData","upsertLocal","existing","docPromise","getLocal","getLocal$","changeEventOrDoc","filterFlagged","RxDBLocalDocumentsPlugin","getOldCollectionMeta","migrationState","collectionDocKeys","migrateDocumentData","docSchemaVersion","attachmentsBefore","mutateableDocData","nextVersion","currentPromise","docOrNull","runStrategyIfNotNull","retPromise","mustMigrate","oldColDoc","MIGRATION_DEFAULT_BATCH_SIZE","DATA_MIGRATION_STATE_SUBJECT_BY_DATABASE","addMigrationStateToDatabase","allSubject","getMigrationStateByDatabase","allList","onDatabaseDestroy","RxMigrationState","statusDocKey","must","oldCollectionMeta","oldStorageInstance","connectedInstances","totalCount","connectedInstance","useHandlers","status","oneHandler","oldStorage","newStorage","replicationMetaStorageInstance","replicationHandlerBase","migratedDocData","newRow","storageInstances","countResult","connectedStorage","newSchema","DATA_MIGRATOR_BY_COLLECTION","RxDBMigrationPlugin","FILTER_IDENT_RE","tokenizePath","child","elems","applyUpdate","walkExpression","arrayFilter","vars","conditions","$addToSet","arrayFilters","BIT_OPS","$bit","$currentDate","$inc","$max","$min","$mul","$pop","$pull","wrap","pred","$pullAll","pullExpr","OPERATOR_MODIFIERS","$push","oldsize","sortKey","order","$set","$rename","$unset","createUpdater","defaultOptions","entry","UPDATE_OPERATORS","mutate","updater","mingoUpdater","updateObject","cloned","incrementalUpdate","updateObj","update","oldDocData","RxQueryUpdate","RxDBUpdatePlugin","logger$1","loadRxDBPlugins","plugins","RxDBService","bulk","reactIs_production_min","reactIsModule","reactIs","REACT_STATICS","KNOWN_STATICS","FORWARD_REF_STATICS","MEMO_STATICS","TYPE_STATICS","getStatics","component","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","hoistNonReactStatics_cjs","hasOwnProperty","propIsEnumerable","toObject","shouldUseNative","test1","test2","order2","test3","letter","objectAssign","symbols","decoder","decodeUtf8","encodeUtf8","BigIntCtor","BigIntAvailable","BigIntUnavailableError","BigIntUnavailable","BigInt64ArrayCtor","BigInt64ArrayAvailable","BigInt64ArrayUnavailableError","BigInt64ArrayUnavailable","BigUint64ArrayCtor","BigUint64ArrayAvailable","BigUint64ArrayUnavailableError","BigUint64ArrayUnavailable","isArrowJSON","isIteratorResult","isFileHandle","isFetchResponse","isReadableDOMStream","isReadableInterop","isWritableDOMStream","isWritableNodeStream","isReadableNodeStream","isFlatbuffersByteBuffer","SharedArrayBuf","collapseContiguousByteRanges","xOffset","yOffset","xLen","yLen","memcpy","targetByteOffset","sourceByteLength","targetByteLength","dst","joinUint8Arrays","byteLength","sliced","toArrayBufferView","ArrayBufferViewCtor","toInt32Array","toUint8Array","pump","toArrayBufferViewIterator","ArrayCtor","buffers","toUint8ArrayIterator","toArrayBufferViewAsyncIterator","emit","toUint8ArrayAsyncIterator","rebaseValueOffsets","valueOffsets","compareArrayLike","streamAdapters","fromDOMStream","stream","fromNodeStream","threw","cmd","bufferLength","byteRange","AdaptiveByteReader","reason","onEvent","events","cleanup","evt","destroy","MetadataVersion","UnionMode","Precision","DateUnit","TimeUnit","IntervalUnit","MessageHeader","Type","BufferType","undf","valueToString","BigInt64Array","BigUint64Array","isArrowBigNumSymbol","BigNum","bignumToString","bignumToNumber","hint","bignumToBigInt","SignedBigNum","UnsignedBigNum","DecimalBigNum","byteOffset","signed","negative","number","word","decimalToString","base64","base32","checks","BN","num","isSigned","_g","_h","_l","_m","_o","_p","_q","_r","_s","_u","DataType","Int_","bitWidth","Int32","Float","precision","Binary","Bool","scale","Decimal","Date_","unit","Time_","Timestamp_","timezone","Interval_","List","Struct","children","Union_","typeIds","typeIdToChildIndex","typeId","byteWidth","FixedSizeBinary","listSize","FixedSizeList","Map_","keysSorted","getId","atomicDictionaryId","Dictionary","dictionary","indices","isOrdered","strideForType","Visitor","nodes","throwIfNotFound","getVisitFn","getVisitFnByTypeId","_node","_args","visitor","inferDType","dtype","f64","u32","uint16ToFloat64","expo","sigf","float64ToUint16","SetVisitor","wrapSet","_1","_2","setEpochMsToDays","epochMs","setEpochMsToMillisecondsLong","setEpochMsToMicrosecondsLong","setEpochMsToNanosecondsLong","setVariableWidthBytes","setBool","setInt","setFloat","setFloat16","setAnyFloat","setDateDay","setDateMillisecond","setFixedSizeBinary","stride","setBinary","setUtf8","setDate","setTimestampSecond","setTimestampMillisecond","setTimestampMicrosecond","setTimestampNanosecond","setTimestamp","setTimeSecond","setTimeMillisecond","setTimeMicrosecond","setTimeNanosecond","setTime","setDecimal","setList","itr","setMap","_setStructArrayValue","_setStructVectorValue","_setStructMapValue","_setStructObjectValue","setStruct","childSetters","Vector","setUnion","setDenseUnion","setSparseUnion","childIndex","setDictionary","setIntervalValue","setIntervalDayTime","setIntervalYearMonth","setFixedSizeList","kParent","kRowIndex","StructRow","rowIndex","StructRowProxyHandler","getVisitor","StructRowIterator","setVisitor","GetVisitor","wrapGet","epochDaysToMs","epochMillisecondsLongToMs","epochMicrosecondsLongToMs","epochNanosecondsLongToMs","epochMillisecondsToDate","epochDaysToDate","epochMillisecondsLongToDate","getNull","_data","_index","getVariableWidthBytes","getBool","getDateDay","getDateMillisecond","getNumeric","getFloat16","getBigInts","getFixedSizeBinary","getBinary","getUtf8","bytes","getInt","getFloat","getDate","getTimestampSecond","getTimestampMillisecond","getTimestampMicrosecond","getTimestampNanosecond","getTimestamp","getTimeSecond","getTimeMillisecond","getTimeMicrosecond","getTimeNanosecond","getTime","getDecimal","getList","slice","getMap","MapRow","getStruct","getUnion","getDenseUnion","getSparseUnion","getDictionary","getInterval","getIntervalDayTime","getIntervalYearMonth","interval","int32s","getFixedSizeList","kKeys","kVals","MapRowProxyHandler","MapRowIterator","vals","tmp","clampRange","then","isNaNFast","createElementComparator","search","valueOfSearch","createMapComparator","createArrayLikeComparator","createVectorComparator","createObjectComparator","comparators","createSubElementsComparator","allowEmpty","compareArray","compareObject","compareVector","vec","lKeyItr","rKeyItr","rValItr","rVal","lKey","rKey","byte","bit","getBit","truncateBitmap","bitmap","alignedSize","packBools","BitIterator","get","popcnt_bit_range","sum","rhsInside","lhsInside","popcnt_array","cnt","view","popcnt_uint32","uint32","kUnknownNullCount","Data","nullCount","nullBitmap","childStride","newLength","MakeDataVisitor","makeData","ChunkedIterator","numChunks","getChunkIterator","computeChunkNullCounts","computeChunkOffsets","offsets","sliceChunks","slices","binarySearch","isChunkedValid","wrapChunkedCall1","chunkedFn","wrapChunkedCall2","wrapChunkedIndexOf","indexOf","chunkedIndexOf","chunkIndex","fromIndex","total","IndexOfVisitor","nullIndexOf","searchElement","indexOfNull","isValid","indexOfValue","indexOfUnion","IteratorVisitor","vectorIterator","vector","Int","Time","inner","VectorIterator","GetByteLengthVisitor","____","getUtf8ByteLength","getBinaryByteLength","getListByteLength","visit","getFixedSizeListByteLength","getUnionByteLength","getDenseUnionByteLength","getSparseUnionByteLength","visitorsByTypeId","vectorPrototypesByTypeId","unchunkedData","iteratorVisitor","others","_offsets","ArrayType","memo","chunk_length","MemoizedVector","indexOfVisitor","byteLengthVisitor","cache","cachedValue","Block","builder","metaDataLength","bodyLength","SIZEOF_SHORT","SIZEOF_INT","FILE_IDENTIFIER_LENGTH","SIZE_PREFIX_LENGTH","int32","float32","float64","isLittleEndian","Long$3","Long","Encoding","ByteBuffer$2","ByteBuffer","bytes_","byte_size","position","bb_pos","vtable_offset","vtable","opt_encoding","codePoint","ident","listAccessor","listLength","Builder$2","Builder","opt_initial_size","initial_size","forceDefaults","additional_bytes","align_size","old_buf_size","voffset","new_buf_size","nbb","numfields","vtableloc","trimmed_size","standard_fields","existing_vtable","vt1","outer_loop","vt2","root_table","opt_file_identifier","opt_size_prefix","size_prefix","file_identifier","table","table_start","vtable_start","elem_size","num_elems","alignment","utf8","list","startFunc","KeyValue","flatbuffers.SIZE_PREFIX_LENGTH","optionalEncoding","keyOffset","valueOffset","Endianness","DictionaryKind","DictionaryEncoding","indexTypeOffset","dictionaryKind","Date$1","Date","FloatingPoint","Interval","Map$1","Map","Struct_","Timestamp","timezoneOffset","Union","typeIdsOffset","numElems","Field$1","Field","nameOffset","nullable","typeType","typeOffset","dictionaryOffset","childrenOffset","customMetadataOffset","Schema$1","Schema","endianness","fieldsOffset","featuresOffset","Footer","schemaOffset","dictionariesOffset","recordBatchesOffset","metadata","dictionaries","generateDictionaryMap","fieldNames","fieldIndices","curFields","mergeMaps","newFields","f2","newDictionaries","m1","m2","flatbuffers.Long","flatbuffers.Builder","flatbuffers.ByteBuffer","Footer_","recordBatches","dictionaryBatches","buf","footer","_Footer","OffHeapFooter","FileBlock","dictionaryBatchesOffset","block","_footer","fileBlock","_Block","ITERATOR_DONE","ArrowJSON","_json","ReadableInterop","writable","duplex","AsyncQueue","resolvers","AsyncByteQueue","sync","ByteStream","ByteStreamSource","AsyncByteStream","AsyncByteStreamSource","RandomAccessFile","nBytes","AsyncRandomAccessFile","file","bytesRead","carryBit16","intAsHex","kInt32DecimalDigits","kPowersOfTen","BaseInt64","product","Uint64","out_buffer","posn","group","multiple","Int64","this_high","other_high","negate","Int128","L0","L1","L2","L3","R0","R1","R2","R3","sums","VectorLoader","_type","JSONVectorLoader","binaryDataFromJSON","joined","TypeComparator","compareConstructor","compareAny","compareInt","compareFloat","compareFixedSizeBinary","compareDate","compareTimestamp","compareTime","compareList","compareStruct","compareUnion","compareDictionary","compareInterval","compareFixedSizeList","compareMap","compareSchemas","distributeVectorsIntoRecordBatches","vecs","uniformlyDistributeChunksAcrossRecordBatches","batches","numBatches","batchLength","numColumns","distributeChildren","RecordBatch","columns","nullBitmapSize","Table","numRows","columnNames","nameToIndex","columnName","columnIndices","oldToNew","newIdx","RecordBatch$2","ensureSameLengthData","collectDictionaries","subset","_InternalEmptyPlaceholderRecordBatch","BodyCompressionMethod","CompressionType","BodyCompression","codec","Buffer","FieldNode$1","null_count","RecordBatch$1","FieldNode","nodesOffset","buffersOffset","compressionOffset","DictionaryBatch$1","DictionaryBatch","dataOffset","isDelta","Message$1","Message","headerType","headerOffset","TypeAssembler","indexType","schemaFromJSON","schemaFieldsFromJSON","customMetadataFromJSON","recordBatchFromJSON","fieldNodesFromJSON","buffersFromJSON","dictionaryBatchFromJSON","fieldChildrenFromJSON","_field","fieldNodes","column","nullCountFromJSON","BufferRegion","validity","fieldFromJSON","dictMeta","dictType","typeFromJSON","indexTypeFromJSON","_metadata","header","messageHeaderFromJSON","_message","_Message","decodeMessageHeader","_Schema","_RecordBatch","_DictionaryBatch","encodeField","decodeField","encodeSchema","decodeSchema","encodeRecordBatch","decodeRecordBatch","encodeDictionaryBatch","decodeDictionaryBatch","encodeFieldNode","decodeFieldNode","encodeBufferRegion","decodeBufferRegion","decodeSchemaFields","decodeCustomMetadata","decodeFieldNodes","decodeBuffers","bufferRegions","decodeFieldChildren","decodeFieldType","decodeIndexType","_Int","_FloatingPoint","_Decimal","_Date","_Time","_Timestamp","_Interval","_Union","_FixedSizeBinary","_FixedSizeList","_Map","fieldOffsets","fieldsVectorOffset","metadataOffset","_KeyValue","platformIsLittleEndian","_Endianness","typeAssembler","childOffsets","childrenVectorOffset","_Field","recordBatch","nodesVectorOffset","b_","buffersVectorOffset","dictionaryBatch","_FieldNode","_Buffer","invalidMessageType","nullMessage","invalidMessageMetadata","expected","actual","invalidMessageBodyLength","MessageReader","throwIfNull","PADDING","metadataLength","AsyncMessageReader","JSONMessageReader","_bodyLength","flattenDataSources","MAGIC_STR","MAGIC","checkForMagicArrowString","magicLength","magicAndPadding","magicX2AndPadding","RecordBatchReader","impl","opening","writableStrategy","readableStrategy","fromArrowJSON","fromFileHandle","fromAsyncByteStream","fromByteStream","readAllSync","readAllAsync","RecordBatchStreamReader","_impl","AsyncRecordBatchStreamReader","RecordBatchFileReader","AsyncRecordBatchFileReader","RecordBatchReaderImpl","types","RecordBatchStreamReaderImpl","shouldAutoDestroy","AsyncRecordBatchStreamReaderImpl","RecordBatchFileReaderImpl","_handle","AsyncRecordBatchFileReaderImpl","RecordBatchJSONReaderImpl","VectorAssembler","assembler","addBuffer","_null","assembleUnion","assembleNestedVector","maxChildTypeId","childLengths","shiftedOffsets","unshiftedOffsets","shift","numChildren","childLength","assembleBoolVector","assembleFlatVector","assembleFlatListVector","firstOffset","lastOffset","assembleListVector","RecordBatchWriter","writeAllAsync","writeAll","payload","flatbufferSize","prefixSize","nPaddingBytes","metadata.RecordBatch","metadata.DictionaryBatch","padding","RecordBatchStreamWriter","writer","RecordBatchFileWriter","batches_1","batches_1_1","tableFromIPC","tableToIPC","ArrowTable","dataBuffer","indexBuffer","columnsBuffer","styler","columnIndex","isBlankCell","isIndexCell","isColumnsCell","classNames","dataColumnIndex","dataRowIndex","content","columnTypeId","nanos","__assign","ComponentMessageType","Streamlit","dataType","dataframeArgs","disabled","theme","_injectTheme","eventData","argsDataframe","argsDataframeArrow","style","isBigIntArray","StreamlitComponentBase","React","withStreamlitConnection","WrappedComponent","ComponentWrapper","fastDeepEqual","equal","getRandomValues","rnds8","rng","byteToHex","unsafeStringify","randomUUID","native","v4","rnds","useEditedState","editingState","collectionService","entities","setEntities","useState","editingStateRef","useRef","useEffect","added","edited","entity","change","useNullableRenderData","renderData","setRenderData","onRenderEvent","tapOnce","RxDBDataframe","inited","setInited","querySubjectRef","subRef","editing_state","collection_config","db_config","with_rev","dbServiceRef","collectionServiceRef","initDb","useCallback","dbConfig","parsedDbConfig","initCollection","collectionConfig","query$","docssub","info","RxDBDataframe$1","ReactDOM.createRoot","jsx"],"mappings":"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CxB,CACD,OAAQ,CACN,KAAK,MAAQ,IAAIA,GACjB,KAAK,YAAc,CACpB,CACD,QAAQgB,EAAM,CACR,OAAOA,GAAS,WAClBA,EAAOH,GAAK,MAAMG,CAAI,GAExB,KAAK,MAAM,OAAOA,CAAI,EACtB,KAAK,aAAeA,EAAK,QAC1B,CAED,gBAAgBC,EAAYC,EAAS,CACpC,CACD,SAASC,EAAS,CAChB,IAAIC,EACAC,EAAe,KAAK,MAAM,UAAY,KAAK,UAAY,GACvDF,EACFE,EAAe,KAAK,KAAKA,CAAY,EAErCA,EAAe,KAAK,KAAKA,EAAe,GAAK,KAAK,eAAgB,CAAC,EAErE,MAAMC,EAAcD,EAAe,KAAK,UAClCE,EAAc,KAAK,IAAID,EAAc,EAAG,KAAK,MAAM,QAAQ,EACjE,GAAIA,EAAa,CACf,QAASE,EAAS,EAAGA,EAASF,EAAaE,GAAU,KAAK,UACxD,KAAK,gBAAgB,KAAK,MAAM,MAAOA,CAAM,EAE/CJ,EAAiB,KAAK,MAAM,MAAM,OAAO,EAAGE,CAAW,EACvD,KAAK,MAAM,UAAYC,CACxB,CACD,OAAO,IAAIvB,GAAUoB,EAAgBG,CAAW,CACjD,CACH,CACA,MAAME,WAAeV,EAAuB,CAC1C,OAAOW,EAAe,CACpB,YAAK,QAAQA,CAAa,EAC1B,KAAK,SAAQ,EACN,IACR,CACD,SAASA,EAAe,CAClBA,GACF,KAAK,QAAQA,CAAa,CAE7B,CACH,CAEA,MAAMrxB,GAAI,CACR,WACA,YACA,WACA,YACA,WACA,YACA,UACA,UACF,EACMG,GAAI,CACR,WACA,WACA,YACA,WACA,UACA,WACA,YACA,YACA,WACA,UACA,UACA,WACA,WACA,YACA,YACA,YACA,WACA,WACA,UACA,UACA,UACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,UACA,UACA,UACA,UACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,WACA,WACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,UACF,EACMoB,GAAI,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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,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,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,231,232,233,234,235,236,237,238,239,240,241,243,244,245,247,248,249,250,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383]} \ No newline at end of file diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/todo.schema.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/todo.schema.json index e6d5b34..653ec10 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/todo.schema.json +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/todo.schema.json @@ -31,10 +31,9 @@ "readOnly": true }, "last_modified": { - "type": "number", + "type": "integer", "format": "time", - "title": "Last Modified Date", - "multipleOf": 1 + "title": "Last Modified Date" } }, "__indexes": ["createdAt"], diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframe.tsx b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframe.tsx index 122aaa0..ec43bee 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframe.tsx +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/RxDBDataframe.tsx @@ -7,7 +7,7 @@ import { } from '@ngx-odm/rxdb/config'; import { RxDBService } from '@ngx-odm/rxdb/core'; import { NgxRxdbUtils } from '@ngx-odm/rxdb/utils'; -import React, { ReactNode, useCallback, useRef, useState } from 'react'; +import React, { ReactNode, useCallback, useEffect, useRef, useState } from 'react'; import { ComponentProps, Streamlit, @@ -16,20 +16,25 @@ import { import { RxDBDataframeArgs } from './RxDBDataframeArgs'; import { useEditedState } from './useEditingState'; import { useNullableRenderData } from './useNullableRenderData'; -import { Subscription } from 'rxjs'; +import equal from 'fast-deep-equal'; +import { BehaviorSubject, Subscription, distinctUntilChanged, withLatestFrom } from 'rxjs'; +import { MangoQuery } from 'rxdb'; -const { logger, isEmptyObject } = NgxRxdbUtils; +const { logger, isEmptyObject, tapOnce } = NgxRxdbUtils; /** * Dataframe example using Apache Arrow. */ const RxDBDataframe: React.FC = props => { const [inited, setInited] = useState(); - const sub = new Subscription(); + const querySubjectRef = useRef>(); const subRef = useRef(); if (!subRef.current) { subRef.current = new Subscription(); } + if (!querySubjectRef.current) { + querySubjectRef.current = new BehaviorSubject({}); + } const renderData = useNullableRenderData(subRef.current); // Parse the render data const { editing_state, collection_config, db_config, query, with_rev } = @@ -57,23 +62,39 @@ const RxDBDataframe: React.FC = props => { dbServiceRef.current! ); } - await collectionService().info(); - setInited(true); + const query$ = querySubjectRef.current!.pipe(distinctUntilChanged(equal)); const docssub = collectionService() - .docs(query, with_rev) - .subscribe(docs => { + .docs(query$, with_rev) + .pipe( + // + tapOnce(() => setInited(true)), + withLatestFrom(collectionService().info()) + ) + .subscribe(([docs, info]) => { if (!docs) { return; } - logger.table(docs); setEntities(docs); - Streamlit.setComponentValue(docs); + Streamlit.setComponentValue({ + docs, + info, + query: querySubjectRef.current!.value, + }); + Streamlit.setFrameHeight(); }); - sub.add(docssub); + subRef.current!.add(docssub); + logger.log('Collection & docs subscription initialized, with', query, with_rev); }, - [] + [] // eslint-disable-line ); + useEffect(() => { + if (!inited) { + return; + } + query && querySubjectRef.current!.next(query); + }, [inited, query]); // eslint-disable-line + if (isEmptyObject(renderData)) return null; // Don't do anything at all if (!inited) { diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useEditingState.ts b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useEditingState.ts index 975cd53..cc69391 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useEditingState.ts +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/src/lib/useEditingState.ts @@ -59,7 +59,7 @@ export const useEditedState = ( if (!isEmpty(edited)) { const docs = Object.entries(edited).map(([rowIndex, change]) => { - const entity = entities.at(parseInt(rowIndex)); + const entity = entities.at(+rowIndex); return { ...entity, ...change, diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/vite.config.ts b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/vite.config.ts index cf1be8f..1ccdb13 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/vite.config.ts +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/vite.config.ts @@ -40,6 +40,7 @@ export default defineConfig({ terserOptions: { mangle: false, }, + sourcemap: true, commonjsOptions: { transformMixedEsModules: true, }, From 65f562d5b6c203e4fb06a99c339218bd621b651c Mon Sep 17 00:00:00 2001 From: Vadym Parakonnyi Date: Wed, 20 Mar 2024 17:09:27 +0100 Subject: [PATCH 7/7] fix: build with poetry --- .vscode/launch.json | 56 ++++- README.md | 22 +- packages/rxdb/README.md | 31 ++- packages/streamlit-rxdb-dataframe/README.md | 182 +++++++++++++- packages/streamlit-rxdb-dataframe/example.py | 109 +++------ packages/streamlit-rxdb-dataframe/poetry.lock | 228 ++++++++---------- .../streamlit-rxdb-dataframe/pyproject.toml | 21 +- .../rxdb_dataframe/__init__.py | 40 +-- .../frontend/public/assets/data/col.dump.json | 6 +- .../rxdb_dataframe/test___init__.py | 74 ++++++ .../streamlit-rxdb-dataframe/screencast.gif | Bin 0 -> 540827 bytes .../streamlit-rxdb-dataframe/screenshot.png | Bin 0 -> 76390 bytes .../tests/test_rxdb_dataframe.py | 70 ++++++ 13 files changed, 578 insertions(+), 261 deletions(-) create mode 100644 packages/streamlit-rxdb-dataframe/rxdb_dataframe/test___init__.py create mode 100644 packages/streamlit-rxdb-dataframe/screencast.gif create mode 100644 packages/streamlit-rxdb-dataframe/screenshot.png create mode 100644 packages/streamlit-rxdb-dataframe/tests/test_rxdb_dataframe.py diff --git a/.vscode/launch.json b/.vscode/launch.json index 6bd4d46..8c93e38 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -71,12 +71,21 @@ "type": "node", "request": "launch", "runtimeExecutable": "node", - "runtimeArgs": ["--nolazy", "-r", "ts-node/register"], - "args": ["${relativeFile}"], + "runtimeArgs": [ + "--nolazy", + "-r", + "ts-node/register" + ], + "args": [ + "${relativeFile}" + ], "sourceMaps": true, "cwd": "${workspaceRoot}", "protocol": "inspector", - "skipFiles": ["/**", "node_modules/**"], + "skipFiles": [ + "/**", + "node_modules/**" + ], "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", "env": { @@ -87,20 +96,41 @@ }, // { - "name": "Python: Streamlit", - "type": "python", - "request": "launch", - "module": "streamlit", - "args": ["run", "${file}", "--server.headless=true", "--browser.gatherUsageStats=false"], - "env": { - "PYTHONPATH": "${workspaceFolder}" - }, - "console": "integratedTerminal" + "name": "Python: Debug Test", + "type": "debugpy", + "request": "launch", + "module": "pytest", + "args": [ + "${file}" + ], + "env": { + "PYTHONPATH": "${workspaceFolder}" + }, + "console": "integratedTerminal" + }, + { + "name": "Python: Debug Streamlit", + "type": "debugpy", + "request": "launch", + "module": "streamlit", + "args": [ + "run", + "${file}", + "--server.headless=true", + "--browser.gatherUsageStats=false" + ], + "env": { + "PYTHONPATH": "${workspaceFolder}" + }, + "console": "integratedTerminal" } ], "inputs": [ { - "options": ["rxdb", "kinto"], + "options": [ + "rxdb", + "kinto" + ], "id": "libName", "type": "pickString", "default": "rxdb", diff --git a/README.md b/README.md index 8c03f87..36981a9 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,12 @@ import { getRxDatabaseCreator } from '@ngx-odm/rxdb/config'; multiInstance: true, // <- multiInstance (optional, default: true) ignoreDuplicate: false, options: { + plugins: [ + // will be loaded by together with core plugins + RxDBDevModePlugin, // <- add only for development + RxDBAttachmentsPlugin, + RxDBLeaderElectionPlugin, + ], storageType: 'dexie|memory', // <- storageType (optional, use if you want defaults provided automatically) dumpPath: 'assets/dump.json', // path to datbase dump file (optional) }, @@ -106,7 +112,7 @@ const todoCollectionConfig: RxCollectionCreatorExtended = { }) export class TodosModule { constructor( - @Inject(NgxRxdbCollectionService) private collectionService: NgxRxdbCollection + @Inject(RXDB_COLLECTION) private collectionService: RxDBCollectionService ) { this.collectionService.sync(); // INFO: collection is ready } @@ -116,11 +122,13 @@ export class TodosModule { ### In your `FeatureService` ```typescript +import { RXDB_COLLECTION } from '@ngx-odm/rxdb'; +import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; + @Injectable() export class TodosService { - private collectionService: NgxRxdbCollection = inject>( - NgxRxdbCollectionService - ); + private collectionService: RxDBCollectionService = + inject>(RXDB_COLLECTION); // store & get filter as property of a `local` document filter$ = this.collectionService .getLocal('local', 'filterValue') @@ -177,6 +185,12 @@ export const appConfig: ApplicationConfig = { multiInstance: true, ignoreDuplicate: false, storage: getRxStorageDexie(), + plugins: [ + // will be loaded by together with core plugins + RxDBDevModePlugin, // <- add only for development + RxDBAttachmentsPlugin, + RxDBLeaderElectionPlugin, + ], }) ), ], diff --git a/packages/rxdb/README.md b/packages/rxdb/README.md index 2317583..36981a9 100644 --- a/packages/rxdb/README.md +++ b/packages/rxdb/README.md @@ -4,7 +4,7 @@ ## Demo -![Example Screencast](https://github.com/voznik/ngx-odm/blob/master/examples/screencast.gif?raw=true) +![Example Screencast](examples/screencast.gif) [demo](https://voznik.github.io/ngx-odm/) - based on TodoMVC @@ -63,6 +63,12 @@ import { getRxDatabaseCreator } from '@ngx-odm/rxdb/config'; multiInstance: true, // <- multiInstance (optional, default: true) ignoreDuplicate: false, options: { + plugins: [ + // will be loaded by together with core plugins + RxDBDevModePlugin, // <- add only for development + RxDBAttachmentsPlugin, + RxDBLeaderElectionPlugin, + ], storageType: 'dexie|memory', // <- storageType (optional, use if you want defaults provided automatically) dumpPath: 'assets/dump.json', // path to datbase dump file (optional) }, @@ -106,7 +112,7 @@ const todoCollectionConfig: RxCollectionCreatorExtended = { }) export class TodosModule { constructor( - @Inject(NgxRxdbCollectionService) private collectionService: NgxRxdbCollection + @Inject(RXDB_COLLECTION) private collectionService: RxDBCollectionService ) { this.collectionService.sync(); // INFO: collection is ready } @@ -116,11 +122,13 @@ export class TodosModule { ### In your `FeatureService` ```typescript +import { RXDB_COLLECTION } from '@ngx-odm/rxdb'; +import { RxDBCollectionService } from '@ngx-odm/rxdb/collection'; + @Injectable() export class TodosService { - private collectionService: NgxRxdbCollection = inject>( - NgxRxdbCollectionService - ); + private collectionService: RxDBCollectionService = + inject>(RXDB_COLLECTION); // store & get filter as property of a `local` document filter$ = this.collectionService .getLocal('local', 'filterValue') @@ -177,6 +185,12 @@ export const appConfig: ApplicationConfig = { multiInstance: true, ignoreDuplicate: false, storage: getRxStorageDexie(), + plugins: [ + // will be loaded by together with core plugins + RxDBDevModePlugin, // <- add only for development + RxDBAttachmentsPlugin, + RxDBLeaderElectionPlugin, + ], }) ), ], @@ -247,7 +261,14 @@ By using this module you can simplify your work with RxDB in Angular application - optionally provide syncronization with remote db (CouchDB, Kinto etc.) as DB options - Automatically initialize RxCollection for each _lazy-loaded Feature module / standalone component_ with config - Work with documents via _NgxRxdbCollectionService_ with unified methods instead of using _RxCollection_ directly (though you still have access to _RxCollection_ and _RxDatabase_ instance) + - simple methods to work database & documents (with queries) + - simple methods to work with local documents + - simple methods to work with attachments + - simple replication sync initialization - Work with signals and entities with `@ngrx/signals` and `@ngrx/entity` (optionally _zoneless_) (see [example](examples/standalone/src/app/todos/todos.store.ts)) +- Persist collection query ([mango-query-syntax](https://github.com/cloudant/mango)) in URL with new plugin `query-params-plugin` (in demo, set localStorage `_ngx_rxdb_queryparams` ) + - provide Observable of current URL (automatically for Angular) + - simple methods to set or patch filter, sort, limit, skip diff --git a/packages/streamlit-rxdb-dataframe/example.py b/packages/streamlit-rxdb-dataframe/example.py index c39a703..1082a84 100644 --- a/packages/streamlit-rxdb-dataframe/example.py +++ b/packages/streamlit-rxdb-dataframe/example.py @@ -31,13 +31,13 @@ state = RxDBSessionState() -# operators = ["$eq", "$gt", "$gte", "$lt", "$lte", "$ne"] +column_config = state.column_config +query = state.query def on_change_dataframe(rxdb_state: RxDBSessionState): print("RxDBDataframe component on_change call") print("collection.info()", rxdb_state.info) - print("dataframe.head()", rxdb_state.dataframe.head()) @cache_data @@ -47,7 +47,6 @@ def apply_row_style(row): ) # noqa: E501 -query = state.query display = st.radio( "Display RxDB collection as:", options=["dataframe", "data_editor", "table"], @@ -76,27 +75,36 @@ def apply_row_style(row): ) if display == "data_editor": - st.data_editor( - df.style.apply(apply_row_style, axis=1), - use_container_width=True, - hide_index=True, - column_config=state.column_config, - column_order=["title", "completed", "createdAt"], - num_rows="dynamic", - key=RXDB_COLLECTION_EDITOR_KEY, - ) + try: + st.data_editor( + df.copy().style.apply(apply_row_style, axis=1), + use_container_width=True, + hide_index=True, + column_config=column_config, + column_order=["title", "completed", "createdAt"], + num_rows="dynamic", + key=RXDB_COLLECTION_EDITOR_KEY, + ) + except Exception as e: + st.error(f"An error occurred: {str(e)}") elif display == "dataframe": - st.dataframe( - df.style.apply(apply_row_style, axis=1), - use_container_width=True, - hide_index=True, - column_config=state.column_config, - column_order=["title", "completed", "createdAt"], - ) + try: + st.dataframe( + df.style.apply(apply_row_style, axis=1), + use_container_width=True, + hide_index=True, + column_config=column_config, + column_order=["title", "completed", "createdAt"], + ) + except Exception as e: + st.error(f"An error occurred: {str(e)}") else: - st.table( - df.style.apply(apply_row_style, axis=1), - ) + try: + st.table( + df.style.apply(apply_row_style, axis=1), + ) + except Exception as e: + st.error(f"An error occurred: {str(e)}") with st.sidebar: @@ -105,60 +113,3 @@ def apply_row_style(row): st.write("RsDB Session State:") st.json(st.session_state, expanded=False) - # TODO: Add form to construct RxQuery - # query_container = st.container() - # with query_container: - # to_filter_columns = st.multiselect( - # "Filter dataframe on", - # df.columns, - # key=f"{prefix}_multiselect", - # ) - # filters: Dict[str, Any] = dict() - # for column in to_filter_columns: - # left, right = st.columns((1, 20)) - # # Treat columns with < 10 unique values as categorical - # if is_categorical_dtype(df[column]) or df[column].nunique() < 10: - # left.write("↳") - # filters[column] = right.multiselect( - # f"Values for {column}", - # df[column].unique(), - # default=list(df[column].unique()), - # key=f"{prefix}_{column}", - # ) - # df = df[df[column].isin(filters[column])] - # elif is_numeric_dtype(df[column]): - # left.write("↳") - # _min = float(df[column].min()) - # _max = float(df[column].max()) - # step = (_max - _min) / 100 - # filters[column] = right.slider( - # f"Values for {column}", - # _min, - # _max, - # (_min, _max), - # step=step, - # key=f"{prefix}_{column}", - # ) - # df = df[df[column].between(*filters[column])] - # elif is_datetime64_any_dtype(df[column]): - # left.write("↳") - # filters[column] = right.date_input( - # f"Values for {column}", - # value=( - # df[column].min(), - # df[column].max(), - # ), - # key=f"{prefix}_{column}", - # ) - # if len(filters[column]) == 2: - # filters[column] = tuple(map(pd.to_datetime, filters[column])) # noqa: E501 - # start_date, end_date = filters[column] - # df = df.loc[df[column].between(start_date, end_date)] - # else: - # left.write("↳") - # filters[column] = right.text_input( - # f"Pattern in {column}", - # key=f"{prefix}_{column}", - # ) - # if filters[column]: - # print(filters[column]) diff --git a/packages/streamlit-rxdb-dataframe/poetry.lock b/packages/streamlit-rxdb-dataframe/poetry.lock index 6b26233..1db27f6 100644 --- a/packages/streamlit-rxdb-dataframe/poetry.lock +++ b/packages/streamlit-rxdb-dataframe/poetry.lock @@ -45,35 +45,47 @@ tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "p [[package]] name = "black" -version = "22.12.0" +version = "23.12.1" description = "The uncompromising code formatter." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"}, - {file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"}, - {file = "black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f"}, - {file = "black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4"}, - {file = "black-22.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2"}, - {file = "black-22.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350"}, - {file = "black-22.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d"}, - {file = "black-22.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc"}, - {file = "black-22.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320"}, - {file = "black-22.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148"}, - {file = "black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf"}, - {file = "black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f"}, + {file = "black-23.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0aaf6041986767a5e0ce663c7a2f0e9eaf21e6ff87a5f95cbf3675bfd4c41d2"}, + {file = "black-23.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c88b3711d12905b74206227109272673edce0cb29f27e1385f33b0163c414bba"}, + {file = "black-23.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920b569dc6b3472513ba6ddea21f440d4b4c699494d2e972a1753cdc25df7b0"}, + {file = "black-23.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:3fa4be75ef2a6b96ea8d92b1587dd8cb3a35c7e3d51f0738ced0781c3aa3a5a3"}, + {file = "black-23.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8d4df77958a622f9b5a4c96edb4b8c0034f8434032ab11077ec6c56ae9f384ba"}, + {file = "black-23.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:602cfb1196dc692424c70b6507593a2b29aac0547c1be9a1d1365f0d964c353b"}, + {file = "black-23.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c4352800f14be5b4864016882cdba10755bd50805c95f728011bcb47a4afd59"}, + {file = "black-23.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:0808494f2b2df923ffc5723ed3c7b096bd76341f6213989759287611e9837d50"}, + {file = "black-23.12.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:25e57fd232a6d6ff3f4478a6fd0580838e47c93c83eaf1ccc92d4faf27112c4e"}, + {file = "black-23.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d9e13db441c509a3763a7a3d9a49ccc1b4e974a47be4e08ade2a228876500ec"}, + {file = "black-23.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1bd9c210f8b109b1762ec9fd36592fdd528485aadb3f5849b2740ef17e674e"}, + {file = "black-23.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:ae76c22bde5cbb6bfd211ec343ded2163bba7883c7bc77f6b756a1049436fbb9"}, + {file = "black-23.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1fa88a0f74e50e4487477bc0bb900c6781dbddfdfa32691e780bf854c3b4a47f"}, + {file = "black-23.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a4d6a9668e45ad99d2f8ec70d5c8c04ef4f32f648ef39048d010b0689832ec6d"}, + {file = "black-23.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b18fb2ae6c4bb63eebe5be6bd869ba2f14fd0259bda7d18a46b764d8fb86298a"}, + {file = "black-23.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:c04b6d9d20e9c13f43eee8ea87d44156b8505ca8a3c878773f68b4e4812a421e"}, + {file = "black-23.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3e1b38b3135fd4c025c28c55ddfc236b05af657828a8a6abe5deec419a0b7055"}, + {file = "black-23.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4f0031eaa7b921db76decd73636ef3a12c942ed367d8c3841a0739412b260a54"}, + {file = "black-23.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97e56155c6b737854e60a9ab1c598ff2533d57e7506d97af5481141671abf3ea"}, + {file = "black-23.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:dd15245c8b68fe2b6bd0f32c1556509d11bb33aec9b5d0866dd8e2ed3dba09c2"}, + {file = "black-23.12.1-py3-none-any.whl", hash = "sha256:78baad24af0f033958cad29731e27363183e140962595def56423e626f4bee3e"}, + {file = "black-23.12.1.tar.gz", hash = "sha256:4ce3ef14ebe8d9509188014d96af1c456a910d5b5cbf434a09fef7e024b3d0d5"}, ] [package.dependencies] click = ">=8.0.0" mypy-extensions = ">=0.4.3" +packaging = ">=22.0" pathspec = ">=0.9.0" platformdirs = ">=2" -tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] @@ -585,44 +597,49 @@ files = [ [[package]] name = "mypy" -version = "0.971" +version = "1.9.0" description = "Optional static typing for Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "mypy-0.971-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f2899a3cbd394da157194f913a931edfd4be5f274a88041c9dc2d9cdcb1c315c"}, - {file = "mypy-0.971-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:98e02d56ebe93981c41211c05adb630d1d26c14195d04d95e49cd97dbc046dc5"}, - {file = "mypy-0.971-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:19830b7dba7d5356d3e26e2427a2ec91c994cd92d983142cbd025ebe81d69cf3"}, - {file = "mypy-0.971-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:02ef476f6dcb86e6f502ae39a16b93285fef97e7f1ff22932b657d1ef1f28655"}, - {file = "mypy-0.971-cp310-cp310-win_amd64.whl", hash = "sha256:25c5750ba5609a0c7550b73a33deb314ecfb559c350bb050b655505e8aed4103"}, - {file = "mypy-0.971-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d3348e7eb2eea2472db611486846742d5d52d1290576de99d59edeb7cd4a42ca"}, - {file = "mypy-0.971-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3fa7a477b9900be9b7dd4bab30a12759e5abe9586574ceb944bc29cddf8f0417"}, - {file = "mypy-0.971-cp36-cp36m-win_amd64.whl", hash = "sha256:2ad53cf9c3adc43cf3bea0a7d01a2f2e86db9fe7596dfecb4496a5dda63cbb09"}, - {file = "mypy-0.971-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:855048b6feb6dfe09d3353466004490b1872887150c5bb5caad7838b57328cc8"}, - {file = "mypy-0.971-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:23488a14a83bca6e54402c2e6435467a4138785df93ec85aeff64c6170077fb0"}, - {file = "mypy-0.971-cp37-cp37m-win_amd64.whl", hash = "sha256:4b21e5b1a70dfb972490035128f305c39bc4bc253f34e96a4adf9127cf943eb2"}, - {file = "mypy-0.971-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9796a2ba7b4b538649caa5cecd398d873f4022ed2333ffde58eaf604c4d2cb27"}, - {file = "mypy-0.971-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5a361d92635ad4ada1b1b2d3630fc2f53f2127d51cf2def9db83cba32e47c856"}, - {file = "mypy-0.971-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b793b899f7cf563b1e7044a5c97361196b938e92f0a4343a5d27966a53d2ec71"}, - {file = "mypy-0.971-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d1ea5d12c8e2d266b5fb8c7a5d2e9c0219fedfeb493b7ed60cd350322384ac27"}, - {file = "mypy-0.971-cp38-cp38-win_amd64.whl", hash = "sha256:23c7ff43fff4b0df93a186581885c8512bc50fc4d4910e0f838e35d6bb6b5e58"}, - {file = "mypy-0.971-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1f7656b69974a6933e987ee8ffb951d836272d6c0f81d727f1d0e2696074d9e6"}, - {file = "mypy-0.971-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d2022bfadb7a5c2ef410d6a7c9763188afdb7f3533f22a0a32be10d571ee4bbe"}, - {file = "mypy-0.971-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef943c72a786b0f8d90fd76e9b39ce81fb7171172daf84bf43eaf937e9f220a9"}, - {file = "mypy-0.971-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d744f72eb39f69312bc6c2abf8ff6656973120e2eb3f3ec4f758ed47e414a4bf"}, - {file = "mypy-0.971-cp39-cp39-win_amd64.whl", hash = "sha256:77a514ea15d3007d33a9e2157b0ba9c267496acf12a7f2b9b9f8446337aac5b0"}, - {file = "mypy-0.971-py3-none-any.whl", hash = "sha256:0d054ef16b071149917085f51f89555a576e2618d5d9dd70bd6eea6410af3ac9"}, - {file = "mypy-0.971.tar.gz", hash = "sha256:40b0f21484238269ae6a57200c807d80debc6459d444c0489a102d7c6a75fa56"}, + {file = "mypy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f8a67616990062232ee4c3952f41c779afac41405806042a8126fe96e098419f"}, + {file = "mypy-1.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d357423fa57a489e8c47b7c85dfb96698caba13d66e086b412298a1a0ea3b0ed"}, + {file = "mypy-1.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49c87c15aed320de9b438ae7b00c1ac91cd393c1b854c2ce538e2a72d55df150"}, + {file = "mypy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:48533cdd345c3c2e5ef48ba3b0d3880b257b423e7995dada04248725c6f77374"}, + {file = "mypy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:4d3dbd346cfec7cb98e6cbb6e0f3c23618af826316188d587d1c1bc34f0ede03"}, + {file = "mypy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:653265f9a2784db65bfca694d1edd23093ce49740b2244cde583aeb134c008f3"}, + {file = "mypy-1.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a3c007ff3ee90f69cf0a15cbcdf0995749569b86b6d2f327af01fd1b8aee9dc"}, + {file = "mypy-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2418488264eb41f69cc64a69a745fad4a8f86649af4b1041a4c64ee61fc61129"}, + {file = "mypy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:68edad3dc7d70f2f17ae4c6c1b9471a56138ca22722487eebacfd1eb5321d612"}, + {file = "mypy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:85ca5fcc24f0b4aeedc1d02f93707bccc04733f21d41c88334c5482219b1ccb3"}, + {file = "mypy-1.9.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aceb1db093b04db5cd390821464504111b8ec3e351eb85afd1433490163d60cd"}, + {file = "mypy-1.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0235391f1c6f6ce487b23b9dbd1327b4ec33bb93934aa986efe8a9563d9349e6"}, + {file = "mypy-1.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4d5ddc13421ba3e2e082a6c2d74c2ddb3979c39b582dacd53dd5d9431237185"}, + {file = "mypy-1.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:190da1ee69b427d7efa8aa0d5e5ccd67a4fb04038c380237a0d96829cb157913"}, + {file = "mypy-1.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:fe28657de3bfec596bbeef01cb219833ad9d38dd5393fc649f4b366840baefe6"}, + {file = "mypy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e54396d70be04b34f31d2edf3362c1edd023246c82f1730bbf8768c28db5361b"}, + {file = "mypy-1.9.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5e6061f44f2313b94f920e91b204ec600982961e07a17e0f6cd83371cb23f5c2"}, + {file = "mypy-1.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a10926e5473c5fc3da8abb04119a1f5811a236dc3a38d92015cb1e6ba4cb9e"}, + {file = "mypy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b685154e22e4e9199fc95f298661deea28aaede5ae16ccc8cbb1045e716b3e04"}, + {file = "mypy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:5d741d3fc7c4da608764073089e5f58ef6352bedc223ff58f2f038c2c4698a89"}, + {file = "mypy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:587ce887f75dd9700252a3abbc9c97bbe165a4a630597845c61279cf32dfbf02"}, + {file = "mypy-1.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f88566144752999351725ac623471661c9d1cd8caa0134ff98cceeea181789f4"}, + {file = "mypy-1.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61758fabd58ce4b0720ae1e2fea5cfd4431591d6d590b197775329264f86311d"}, + {file = "mypy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e49499be624dead83927e70c756970a0bc8240e9f769389cdf5714b0784ca6bf"}, + {file = "mypy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:571741dc4194b4f82d344b15e8837e8c5fcc462d66d076748142327626a1b6e9"}, + {file = "mypy-1.9.0-py3-none-any.whl", hash = "sha256:a260627a570559181a9ea5de61ac6297aa5af202f06fd7ab093ce74e7181e43e"}, + {file = "mypy-1.9.0.tar.gz", hash = "sha256:3cc5da0127e6a478cddd906068496a97a7618a21ce9b54bde5bf7e539c7af974"}, ] [package.dependencies] -mypy-extensions = ">=0.4.3" +mypy-extensions = ">=1.0.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = ">=3.10" +typing-extensions = ">=4.1.0" [package.extras] dmypy = ["psutil (>=4.0)"] -python2 = ["typed-ast (>=1.4.0,<2)"] +install-types = ["pip"] +mypyc = ["setuptools (>=50)"] reports = ["lxml"] [[package]] @@ -933,47 +950,47 @@ files = [ [[package]] name = "pyarrow" -version = "15.0.1" +version = "15.0.2" description = "Python library for Apache Arrow" optional = false python-versions = ">=3.8" files = [ - {file = "pyarrow-15.0.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:c2ddb3be5ea938c329a84171694fc230b241ce1b6b0ff1a0280509af51c375fa"}, - {file = "pyarrow-15.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7543ea88a0ff72f8e6baaf9bfdbec2c62aeabdbede9e4a571c71cc3bc43b6302"}, - {file = "pyarrow-15.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1519e218a6941fc074e4501088d891afcb2adf77c236e03c34babcf3d6a0d1c7"}, - {file = "pyarrow-15.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28cafa86e1944761970d3b3fc0411b14ff9b5c2b73cd22aaf470d7a3976335f5"}, - {file = "pyarrow-15.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:be5c3d463e33d03eab496e1af7916b1d44001c08f0f458ad27dc16093a020638"}, - {file = "pyarrow-15.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:47b1eda15d3aa3f49a07b1808648e1397e5dc6a80a30bf87faa8e2d02dad7ac3"}, - {file = "pyarrow-15.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e524a31be7db22deebbbcf242b189063ab9a7652c62471d296b31bc6e3cae77b"}, - {file = "pyarrow-15.0.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:a476fefe8bdd56122fb0d4881b785413e025858803cc1302d0d788d3522b374d"}, - {file = "pyarrow-15.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:309e6191be385f2e220586bfdb643f9bb21d7e1bc6dd0a6963dc538e347b2431"}, - {file = "pyarrow-15.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83bc586903dbeb4365cbc72b602f99f70b96c5882e5dfac5278813c7d624ca3c"}, - {file = "pyarrow-15.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07e652daac6d8b05280cd2af31c0fb61a4490ec6a53dc01588014d9fa3fdbee9"}, - {file = "pyarrow-15.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:abad2e08652df153a72177ce20c897d083b0c4ebeec051239e2654ddf4d3c996"}, - {file = "pyarrow-15.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cde663352bc83ad75ba7b3206e049ca1a69809223942362a8649e37bd22f9e3b"}, - {file = "pyarrow-15.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:1b6e237dd7a08482a8b8f3f6512d258d2460f182931832a8c6ef3953203d31e1"}, - {file = "pyarrow-15.0.1-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:7bd167536ee23192760b8c731d39b7cfd37914c27fd4582335ffd08450ff799d"}, - {file = "pyarrow-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7c08bb31eb2984ba5c3747d375bb522e7e536b8b25b149c9cb5e1c49b0ccb736"}, - {file = "pyarrow-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0f9c1d630ed2524bd1ddf28ec92780a7b599fd54704cd653519f7ff5aec177a"}, - {file = "pyarrow-15.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5186048493395220550bca7b524420471aac2d77af831f584ce132680f55c3df"}, - {file = "pyarrow-15.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:31dc30c7ec8958da3a3d9f31d6c3630429b2091ede0ecd0d989fd6bec129f0e4"}, - {file = "pyarrow-15.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:3f111a014fb8ac2297b43a74bf4495cc479a332908f7ee49cb7cbd50714cb0c1"}, - {file = "pyarrow-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:a6d1f7c15d7f68f08490d0cb34611497c74285b8a6bbeab4ef3fc20117310983"}, - {file = "pyarrow-15.0.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:9ad931b996f51c2f978ed517b55cb3c6078272fb4ec579e3da5a8c14873b698d"}, - {file = "pyarrow-15.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:738f6b53ab1c2f66b2bde8a1d77e186aeaab702d849e0dfa1158c9e2c030add3"}, - {file = "pyarrow-15.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c1c3fc16bc74e33bf8f1e5a212938ed8d88e902f372c4dac6b5bad328567d2f"}, - {file = "pyarrow-15.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1fa92512128f6c1b8dde0468c1454dd70f3bff623970e370d52efd4d24fd0be"}, - {file = "pyarrow-15.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:b4157f307c202cbbdac147d9b07447a281fa8e63494f7fc85081da351ec6ace9"}, - {file = "pyarrow-15.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:b75e7da26f383787f80ad76143b44844ffa28648fcc7099a83df1538c078d2f2"}, - {file = "pyarrow-15.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:3a99eac76ae14096c209850935057b9e8ce97a78397c5cde8724674774f34e5d"}, - {file = "pyarrow-15.0.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:dd532d3177e031e9b2d2df19fd003d0cc0520d1747659fcabbd4d9bb87de508c"}, - {file = "pyarrow-15.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ce8c89848fd37e5313fc2ce601483038ee5566db96ba0808d5883b2e2e55dc53"}, - {file = "pyarrow-15.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:862eac5e5f3b6477f7a92b2f27e560e1f4e5e9edfca9ea9da8a7478bb4abd5ce"}, - {file = "pyarrow-15.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f0ea3a29cd5cb99bf14c1c4533eceaa00ea8fb580950fb5a89a5c771a994a4e"}, - {file = "pyarrow-15.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:bb902f780cfd624b2e8fd8501fadab17618fdb548532620ef3d91312aaf0888a"}, - {file = "pyarrow-15.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:4f87757f02735a6bb4ad2e1b98279ac45d53b748d5baf52401516413007c6999"}, - {file = "pyarrow-15.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:efd3816c7fbfcbd406ac0f69873cebb052effd7cdc153ae5836d1b00845845d7"}, - {file = "pyarrow-15.0.1.tar.gz", hash = "sha256:21d812548d39d490e0c6928a7c663f37b96bf764034123d4b4ab4530ecc757a9"}, + {file = "pyarrow-15.0.2-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:88b340f0a1d05b5ccc3d2d986279045655b1fe8e41aba6ca44ea28da0d1455d8"}, + {file = "pyarrow-15.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eaa8f96cecf32da508e6c7f69bb8401f03745c050c1dd42ec2596f2e98deecac"}, + {file = "pyarrow-15.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23c6753ed4f6adb8461e7c383e418391b8d8453c5d67e17f416c3a5d5709afbd"}, + {file = "pyarrow-15.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f639c059035011db8c0497e541a8a45d98a58dbe34dc8fadd0ef128f2cee46e5"}, + {file = "pyarrow-15.0.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:290e36a59a0993e9a5224ed2fb3e53375770f07379a0ea03ee2fce2e6d30b423"}, + {file = "pyarrow-15.0.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:06c2bb2a98bc792f040bef31ad3e9be6a63d0cb39189227c08a7d955db96816e"}, + {file = "pyarrow-15.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:f7a197f3670606a960ddc12adbe8075cea5f707ad7bf0dffa09637fdbb89f76c"}, + {file = "pyarrow-15.0.2-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:5f8bc839ea36b1f99984c78e06e7a06054693dc2af8920f6fb416b5bca9944e4"}, + {file = "pyarrow-15.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f5e81dfb4e519baa6b4c80410421528c214427e77ca0ea9461eb4097c328fa33"}, + {file = "pyarrow-15.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a4f240852b302a7af4646c8bfe9950c4691a419847001178662a98915fd7ee7"}, + {file = "pyarrow-15.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e7d9cfb5a1e648e172428c7a42b744610956f3b70f524aa3a6c02a448ba853e"}, + {file = "pyarrow-15.0.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2d4f905209de70c0eb5b2de6763104d5a9a37430f137678edfb9a675bac9cd98"}, + {file = "pyarrow-15.0.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:90adb99e8ce5f36fbecbbc422e7dcbcbed07d985eed6062e459e23f9e71fd197"}, + {file = "pyarrow-15.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:b116e7fd7889294cbd24eb90cd9bdd3850be3738d61297855a71ac3b8124ee38"}, + {file = "pyarrow-15.0.2-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:25335e6f1f07fdaa026a61c758ee7d19ce824a866b27bba744348fa73bb5a440"}, + {file = "pyarrow-15.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:90f19e976d9c3d8e73c80be84ddbe2f830b6304e4c576349d9360e335cd627fc"}, + {file = "pyarrow-15.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a22366249bf5fd40ddacc4f03cd3160f2d7c247692945afb1899bab8a140ddfb"}, + {file = "pyarrow-15.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2a335198f886b07e4b5ea16d08ee06557e07db54a8400cc0d03c7f6a22f785f"}, + {file = "pyarrow-15.0.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3e6d459c0c22f0b9c810a3917a1de3ee704b021a5fb8b3bacf968eece6df098f"}, + {file = "pyarrow-15.0.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:033b7cad32198754d93465dcfb71d0ba7cb7cd5c9afd7052cab7214676eec38b"}, + {file = "pyarrow-15.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:29850d050379d6e8b5a693098f4de7fd6a2bea4365bfd073d7c57c57b95041ee"}, + {file = "pyarrow-15.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:7167107d7fb6dcadb375b4b691b7e316f4368f39f6f45405a05535d7ad5e5058"}, + {file = "pyarrow-15.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e85241b44cc3d365ef950432a1b3bd44ac54626f37b2e3a0cc89c20e45dfd8bf"}, + {file = "pyarrow-15.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:248723e4ed3255fcd73edcecc209744d58a9ca852e4cf3d2577811b6d4b59818"}, + {file = "pyarrow-15.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ff3bdfe6f1b81ca5b73b70a8d482d37a766433823e0c21e22d1d7dde76ca33f"}, + {file = "pyarrow-15.0.2-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:f3d77463dee7e9f284ef42d341689b459a63ff2e75cee2b9302058d0d98fe142"}, + {file = "pyarrow-15.0.2-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:8c1faf2482fb89766e79745670cbca04e7018497d85be9242d5350cba21357e1"}, + {file = "pyarrow-15.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:28f3016958a8e45a1069303a4a4f6a7d4910643fc08adb1e2e4a7ff056272ad3"}, + {file = "pyarrow-15.0.2-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:89722cb64286ab3d4daf168386f6968c126057b8c7ec3ef96302e81d8cdb8ae4"}, + {file = "pyarrow-15.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cd0ba387705044b3ac77b1b317165c0498299b08261d8122c96051024f953cd5"}, + {file = "pyarrow-15.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad2459bf1f22b6a5cdcc27ebfd99307d5526b62d217b984b9f5c974651398832"}, + {file = "pyarrow-15.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58922e4bfece8b02abf7159f1f53a8f4d9f8e08f2d988109126c17c3bb261f22"}, + {file = "pyarrow-15.0.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:adccc81d3dc0478ea0b498807b39a8d41628fa9210729b2f718b78cb997c7c91"}, + {file = "pyarrow-15.0.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:8bd2baa5fe531571847983f36a30ddbf65261ef23e496862ece83bdceb70420d"}, + {file = "pyarrow-15.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6669799a1d4ca9da9c7e06ef48368320f5856f36f9a4dd31a11839dda3f6cc8c"}, + {file = "pyarrow-15.0.2.tar.gz", hash = "sha256:9c9bc803cb3b7bfacc1e96ffbfd923601065d9d3f911179d81e72d99fd74a3d9"}, ] [package.dependencies] @@ -1052,16 +1069,6 @@ files = [ plugins = ["importlib-metadata"] windows-terminal = ["colorama (>=0.4.6)"] -[[package]] -name = "pyperclip" -version = "1.8.2" -description = "A cross-platform clipboard module for Python. (Only handles plain text for now.)" -optional = false -python-versions = "*" -files = [ - {file = "pyperclip-1.8.2.tar.gz", hash = "sha256:105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57"}, -] - [[package]] name = "pytest" version = "7.4.4" @@ -1133,20 +1140,6 @@ files = [ [package.dependencies] six = ">=1.5" -[[package]] -name = "python-dotenv" -version = "1.0.1" -description = "Read key-value pairs from a .env file and set them as environment variables" -optional = false -python-versions = ">=3.8" -files = [ - {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, - {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, -] - -[package.extras] -cli = ["click (>=5.0)"] - [[package]] name = "python-slugify" version = "8.0.4" @@ -1177,13 +1170,13 @@ files = [ [[package]] name = "referencing" -version = "0.33.0" +version = "0.34.0" description = "JSON Referencing + Python" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"}, - {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"}, + {file = "referencing-0.34.0-py3-none-any.whl", hash = "sha256:d53ae300ceddd3169f1ffa9caf2cb7b769e92657e4fafb23d34b93679116dfd4"}, + {file = "referencing-0.34.0.tar.gz", hash = "sha256:5773bd84ef41799a5a8ca72dc34590c041eb01bf9aa02632b4a973fb0181a844"}, ] [package.dependencies] @@ -1394,23 +1387,6 @@ watchdog = {version = ">=2.1.5", markers = "platform_system != \"Darwin\""} [package.extras] snowflake = ["snowflake-connector-python (>=2.8.0)", "snowflake-snowpark-python (>=0.9.0)"] -[[package]] -name = "streamlit-parameters" -version = "0.1.5" -description = "Streamlit parameter management for page configuration" -optional = false -python-versions = "*" -files = [ - {file = "streamlit_parameters-0.1.5-py3-none-any.whl", hash = "sha256:de69024ba84d5df6cc48bd5f86d429371b00590697c1caafcf9a9c6071660af6"}, - {file = "streamlit_parameters-0.1.5.tar.gz", hash = "sha256:d800981d58aa29e25d238de1bcee203bd9f7602bb78a858900bec422f4573a98"}, -] - -[package.dependencies] -streamlit = ">=1.12,<2" - -[package.extras] -test = ["pytest", "pytest-mock", "tox"] - [[package]] name = "tenacity" version = "8.2.3" @@ -1572,4 +1548,4 @@ watchmedo = ["PyYAML (>=3.10)"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "55329c5e879e252159baecdb32a131f467baadf199ea3d66a0865dec0d0d7821" +content-hash = "84aea7fa420c79670167c9bac937fad70e889a60ac30418e05406f4ea396bda0" diff --git a/packages/streamlit-rxdb-dataframe/pyproject.toml b/packages/streamlit-rxdb-dataframe/pyproject.toml index acf02f1..b812a12 100644 --- a/packages/streamlit-rxdb-dataframe/pyproject.toml +++ b/packages/streamlit-rxdb-dataframe/pyproject.toml @@ -1,20 +1,21 @@ [tool.poetry] name = "streamlit-rxdb-dataframe" version = "0.1.0" -description = "" -authors = ["voznik "] +description = "Custom streamlit component connecting local browser indexedDB database as RxDB collection as dataframe" +authors = ["voznik "] readme = "README.md" -packages = [{include = "rxdb_dataframe"}] +license = "MIT" +homepage = "https://github.com/voznik/ngx-odm" +repository = "https://github.com/voznik/ngx-odm" +keywords = ["streamlit", "indexedDB", "RxDB", "browser", "connection", "dataframe"] +packages = [{ include = "rxdb_dataframe" }] [tool.poetry.dependencies] python = "^3.10" pytest-playwright = "^0.4.4" streamlit = "^1.31.0" -pyperclip = "^1.8.2" -python-dotenv = "^1.0.1" playwright = "^1.41.2" pandas = "^2.2.1" -streamlit-parameters = "^0.1.5" jsonschema = "^4.21.1" @@ -24,10 +25,10 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.group.dev.dependencies] pytest = "^7.1.3" -black = "^22.8.0" -isort = "^5.10.1" -mypy = "^0.971" -streamlit = ">=1.31.0" +black = "^23.1.0" +isort = "^5.12.0" +mypy = "^1.0.0" +flake8 = "^7.0.0" flake8-annotations-complexity = "^0.0.8" [tool.isort] diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py index d1e4eca..b98c236 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/__init__.py @@ -82,7 +82,6 @@ def __init__(self): "info": {}, # collection info "with_rev": False, # include revision in the result "query": {"selector": {}, "sort": []}, # collection query - "dataframe": None, # "column_config": None, # ColumnConfig "docs": [], # collection documents } @@ -139,6 +138,8 @@ def __setitem__(self, key, value): "ignoreDuplicate": True, } +# blueprint_df: pd.DataFrame = None + @cache_data def get_dataframe_by_schema(schema: dict) -> pd: @@ -146,7 +147,7 @@ def get_dataframe_by_schema(schema: dict) -> pd: Create a `pandas.DataFrame` based on the given JSONSchema. """ df = pd.DataFrame() - properties = schema["properties"] + properties = schema.get("properties", {}) for column, prop in properties.items(): if prop["type"] == "string" and prop.get("format") == "date-time": df[column] = pd.Series(dtype="datetime64[ns]") @@ -170,17 +171,18 @@ def get_dataframe_by_schema(schema: dict) -> pd: @cache_data def get_column_config(schema: dict) -> ColumnConfigMap: """ - Generates a column configuration dictionary based on the given schema. + Generates a (default) column configuration dictionary based on the given schema, + which can be used to configure streamlit dataframe or data_editor widgets. + Use own column config if default one is not suitable for your use case. INFO: https://docs.streamlit.io/library/api-reference/data/st.column_config """ - properties = schema["properties"] + properties = schema.get("properties", {}) column_config: ColumnConfigMap = {} for key, prop in properties.items(): - if ( - prop["type"] == ColumnDataKind.STRING - and prop.get("format") == "date-time" # marks column as datetime - ): + if prop.get("enum") and len(prop["enum"]) > 0: + column_config[key] = st.column_config.SelectboxColumn(options=prop["enum"]) + elif prop["type"] == ColumnDataKind.STRING and prop.get("format") == "date-time": column_config[key] = st.column_config.DatetimeColumn( format="YYYY-MM-DD HH:mm", ) @@ -190,8 +192,6 @@ def get_column_config(schema: dict) -> ColumnConfigMap: column_config[key] = st.column_config.CheckboxColumn() elif prop["type"] == "object": column_config[key] = st.column_config.Column() - elif prop.get("enum") and len(prop["enum"]) > 0: - column_config[key] = st.column_config.SelectboxColumn(options=prop["enum"]) elif prop["type"] == ColumnDataKind.INTEGER and prop.get("format", None) == "time": column_config[key] = st.column_config.NumberColumn() elif prop["type"] == ColumnDataKind.INTEGER: @@ -204,13 +204,12 @@ def get_column_config(schema: dict) -> ColumnConfigMap: st.column_config.NumberColumn( max_value=prop.get("max", None), min_value=prop.get("min", None) ) - # assign common properties for every column try: column: ColumnConfig = column_config[key] column["label"] = prop.get("title", "") column["help"] = "format: " + prop.get("format", column["type_config"]["type"]) - column["disabled"] = prop.get("readOnly", False) - column["required"] = key in schema.get("required", []) # noqa: E501 + # column["disabled"] = prop.get("readOnly", False) + column["required"] = key in schema.get("required", []) except Exception as e: print(f"An error occurred: {str(e)}") @@ -225,8 +224,9 @@ def rxdb_dataframe( on_change: Optional[Callable] = None, ) -> pd.DataFrame: state = RxDBSessionState() - if state.dataframe is None: - state.dataframe = get_dataframe_by_schema(collection_config["schema"]) + blueprint_df = get_dataframe_by_schema(collection_config["schema"]) + result_df = blueprint_df.copy() + if state.column_config is None: state.column_config = get_column_config(collection_config["schema"]) @@ -240,17 +240,19 @@ def rxdb_dataframe( ) try: - if result and result["docs"]: - result_df = pd.DataFrame(result["docs"], columns=state.dataframe.columns) + if result: + result_df = pd.DataFrame(result["docs"], columns=blueprint_df.columns) + for col in blueprint_df.columns: + if blueprint_df[col].dtype == "datetime64[ns]": + result_df[col] = pd.to_datetime(result_df[col]) state.docs = result["docs"] state.info = result["info"] state.query = result["query"] # store query here from response, to prevent re-rendering - state.dataframe = result_df on_change(state) except Exception as e: print(f"An error occurred: {str(e)}") - return state.dataframe + return result_df __title__ = "RxDB Dataframe" diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/col.dump.json b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/col.dump.json index 16de3ee..78219b8 100644 --- a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/col.dump.json +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/frontend/public/assets/data/col.dump.json @@ -6,21 +6,21 @@ "id": "a4c6a479-7cca-4d3b-ab90-45d3eaa957f3", "title": "Check other examples", "completed": false, - "createdAt": 1548979200000, + "createdAt": "2019-02-01T00:00:00.000Z", "last_modified": 1548979200000 }, { "id": "a4c6a479-7cca-4d3b-bc10-45d3eaa957r5", "title": "Use \"@ngx-odm/rxdb\" in your project", "completed": false, - "createdAt": 1698404710931, + "createdAt": "2023-10-27T11:05:10.931Z", "last_modified": 1698404710931 }, { "id": "ac3ef2c6-c98b-43e1-9047-71d68b1f92f4", "title": "Open Todo list example", "completed": true, - "createdAt": 1546300800000, + "createdAt": "2019-02-01T00:01:00.000Z", "last_modified": 1546300800000 } ] diff --git a/packages/streamlit-rxdb-dataframe/rxdb_dataframe/test___init__.py b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/test___init__.py new file mode 100644 index 0000000..2806314 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/rxdb_dataframe/test___init__.py @@ -0,0 +1,74 @@ +import pandas as pd +import pytest + +from rxdb_dataframe import get_dataframe_by_schema + + +def test_get_dataframe_by_schema(): + # Test case 1: Empty schema + schema = {} + expected_df = pd.DataFrame() + assert get_dataframe_by_schema(schema).equals(expected_df) + + # Test case 2: Schema with string properties + schema = { + "properties": { + "name": {"type": "string"}, + "age": {"type": "string"}, + "city": {"type": "string"}, + } + } + expected_df = pd.DataFrame( + { + "name": pd.Series(dtype="object"), + "age": pd.Series(dtype="object"), + "city": pd.Series(dtype="object"), + } + ) + assert get_dataframe_by_schema(schema).equals(expected_df) + + # Test case 3: Schema with boolean properties + schema = { + "properties": {"is_active": {"type": "boolean"}, "has_permission": {"type": "boolean"}} + } + expected_df = pd.DataFrame( + {"is_active": pd.Series(dtype="bool"), "has_permission": pd.Series(dtype="bool")} + ) + assert get_dataframe_by_schema(schema).equals(expected_df) + + +def test_get_dataframe_by_schema(): + # Test case 1: Empty schema + schema = {} + expected_df = pd.DataFrame() + assert get_dataframe_by_schema(schema).equals(expected_df) + + # Test case 2: Schema with string properties + schema = { + "properties": { + "name": {"type": "string"}, + "age": {"type": "string"}, + "city": {"type": "string"}, + } + } + expected_df = pd.DataFrame( + { + "name": pd.Series(dtype="object"), + "age": pd.Series(dtype="object"), + "city": pd.Series(dtype="object"), + } + ) + assert get_dataframe_by_schema(schema).equals(expected_df) + + # Test case 3: Schema with boolean properties + schema = { + "properties": {"is_active": {"type": "boolean"}, "has_permission": {"type": "boolean"}} + } + expected_df = pd.DataFrame( + {"is_active": pd.Series(dtype="bool"), "has_permission": pd.Series(dtype="bool")} + ) + assert get_dataframe_by_schema(schema).equals(expected_df) + + +if __name__ == "__main__": + pytest.main([__file__]) diff --git a/packages/streamlit-rxdb-dataframe/screencast.gif b/packages/streamlit-rxdb-dataframe/screencast.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b2647f385e09f1b7d24d576443ac88656448625 GIT binary patch literal 540827 zcmV(|K+(TPNk%w1Vfh0j19t!bA^!_bMO0HmK~P09E-(WD0000X`2+w70000i00000 z`2!>ahXDcs3l0ks<956E=A1EUuEhQx|EHO4UDlIT9J25jlCO<_oCqO$qLjXn*09O$jQ78as5de4- zA7L*kM>;B2J|JZ=By>0_MN2MCR4iOTK0!n=Q(8D(W-VeuE_6mPc1Jv9Z9QjjOAH%B zEh|JSGD4tAZ*X#OZ+3Qect>}Fc3qo%eS!do6e)r~DuzNch)gw%P&AQF zGMh{_mr*yVRXev@JiuN}f{js#lv$Oce}IHwps!@8w`s7yX|chGG&q?!JF*8LraC;j zJw1#=AB0vLl|~+gKp~f57p6-awNMzUYZJ3?5xsN{v~UsE1R~u4B;Exm-U}+;6D-~u zF5Vt6-Xk&ID>B|QHQqQk-a9zq03_lADB=q$;u9_687|@+F#Z4~;v+KRD>ULVHsUro z;yXFaRu$M<6W&8Q-b*~*Q9jOn3*=o9;zK&(OFiOHKfypi-c>-}TS4AqL*8pf-f&0W zbV%NNOX5^O;#)%EV?^RCf--n(7mgHGazPvVDA;)_t?lTzZFRpOvl z;-pyOt6Ji-T;jT3;=W+Q#9rROU&Y5@#>rsH&0@~cWZuMJ-pgXr)n?Y&X4ctg-P2^; z*=F0_Xx`y#;=^I$%VXlxW#ZUp;oNB8;c9?@frN#LhKP%aijIwqk&lp*kdKv;l9rT} znUF@FO@aF9D@$d8V^Y{1o`1kbr`1Seu`3V026$l(i zu%N&R2oow?$grWqhY%x5oJg^v#fum-YTU@NqsNaRLy81g9;r=w5ZXeNRujE%CxD|pEaY>fOt?uiw9b0}CEZxUk{Fh!ZPb%($`R z$B-jSKCE%4&IJW0Yu?Pcv**vCLyI0wy0q!js8g$kOp##D2M=yOAh^1=?c2C>>)y?~ zx9{J;gBOmNQ#S15ux~05&b+zv=g^}|pH98H^|}smB8NR;d+h7r!;AkPPrkhQ^XPXo z^!{M|@v-pZ%b!obzWw|7^Xs2j9J9df4;?qhfCLt3;DHDxsNjMOHpn0ybI>8-gcMR( z$AuVXsNsejW@yKUAciR7h$Mb^haGpMsN#w&w#XtLciMOL?YU{1I=87vU zy!PtrufPWDYb?YTYwWSe7As3EvNS8pEYL>!p*I%C`hqUeX+i=J2HX?^0V)xyN*SlF8b)ChwjPgsHd*_>a3ss$?LGkE<5a? zd;-etxaWR*D7^RX`|rR9&$}qZ7jOLW$R}^SEzCFX{PWO9&pa--acFF*Xf@Y2iu_~)-b{=W3@|Nj6Cpa28-ivk+( zfCx;W0t*O?UjXBQ5R9M%B^ZnfTJVC=$e;!{$iWVJP=nG4p$JDv!V;QLgwsf&3RlR& z7P@eS)SyN+WLS+F+VF-r%;62K!NVT<@P|P3AvFK2F+^w>(TERY1~V|GjE!-u7{maX z$hfngDq8W1V+nv3x5&jVdhv^345JvwNX9an@r-CpqZ-%9#x}a~jc|;k9Op>KI@l8)@|37dr7Bm+N;f`)0uzAcC}&B_S|X&CxXh(4cgf3M`Vx%}VT&z? zNlZxo@|eg>rZShwOg#p3EyawcH22fYYFhJ}*vw`x8{(E}dh?s{A%Hl?NzQVb^PK2R zr#jck&UU)7 z^q~-qs6;19(TZC1qULNPLA#mIj(Sun7!9dNM@rI?n)IY7P3cAVxRAJf^rbKrib`in z)0*1!rZ~;1PTQ$QhRDUI=?SV(hiaFd8uh41O{!9t%G7hF5vXuc2vMg>)vBhYsaVab zR=3L4uHy5lEp;hctV-6hn#ZeXO{-eh%2u2LGptdKrCH}nSL?L(u6WI>UiT`{GeY$( zW38)T2g@A38uqY=P3&49z>RGv;H^>>D`6)~S>7o2vY5@RW^3w=ee5F}kWI)>R`TD6X$}^-F-J!4G^HY1#pKr5`ckwP?#MQCV)DQpwHNXcDj*`Yl^pg-4*lKzc8k; zn8z$*8xx=i@*sc{%rVY;DB%Cc<5b5rj{Mpl>>~j;1~NMcpa3^l*|W37vS=mC1QF}=xzRN-p$*My z$|9P@VQ#dnXRTQqCwUucK1Vq*O#pXnxVd)5GXWq?0C6nA97Xu2s zr%mm>o;SVbV6TqvafAaXz{o-N!2y<_ZE<{q07(|d0WdI+C@a{{BW|p8&G^^(I{V&b zU2$4m%-#Q1``-Xx>v8vyTndb{2Mdy6X z`q|c+b0LK#$-}%zpHT0-YeM(2~chkEbI;xMo>_f`> z*V~>tv(LTmAzJ&}`~Eq*55DmI+56ucKRClrzVho?{Np>{vdfRY^w-(^=Ue|a)6c&4 z$65XBdp|YX55NEPyZ`<2lScgLPd@q0&;HM(|NXmPfBWaJ8Ti{@_VTB{{vUJy{-Zws z`xk(U;eP~(c>pMY2v`^exPXm!fC>13fWd$gD0mJCffguj6PST!SAiGUfkmZ(AXs)B z=z$~{7a@3pRu^A%XHcY9f-YDWC>Vn&r-I!iORe{UIQSMaxPt(vg7Q^wIT(aG$b&>k zYd#neLYRbbQG`s`XlPV26rqGt$QDglg=21}fQlH2iN%O!;fRkYfRdPrg?C1D$c8s~iHN9)qIg%7SQVcLijX*ps`z-E z*ok#`il~T*t2m2YRf=Z;i?O(Ww782}Ws6#fi@8XDyf}S$8lco5i#j@Gx1 z@+ea6_=@oOfb*D-7FCbuc#p@Yj{qrA{P>RkXnX;AkPbDF1u2UN*^tUsj&#_M3we7E zS&{vukQ1qY7P*o6gpnCJe;gT-%m>61m-l)v|sJsFi!Ns&}} zlU8|^ua}itsg#w-lw8SnUI~+1IhLhYmM?jhXvukMsgi8jmXr6EDH)e?>6COCl6HBQ zf0s{MmrfJ#4}Ihf3KZh1*djm#ZR-D} zZSi!O@w5+KcL3LL4+U^e=y?De;12F!bUhGi1V91u-~{rdn&!z)3h)oJ8F01P7USR! z7=Qsja1KTG7QVRw8}MWIFr5W@0T>Vj?;sCtaRmEd4niOV>X378A)V3roOt1DYJm-< z;1?Rop&kmNcA*3Rumn9o0UY|Bkcn}UG=JWA!;s-Y^d3gl6}kUp^)eV+x-9$(jeS4fl|r z;&cGmU~%TqWTcs6@5OLuT4C5=4)V}-76t#h7W;q% z4EhgiF%K-(sA(Yt|8Sg5CJuHXq9S@13MUww`WHcvso%L4H#$y`24@w(UI*|4;?!_P zCl2VanjaPf;$~+P&}YjvYTzkOP&xtNkY@Gy0Oo)Vz^bKEhG1Pv02rW};{<9wZ~#F- ztwMGH+8_@`m!==K4eB5e?f|RX;0_d!06m5Q09s+MC9T-1tw$yg%jFFl_ohoQ0SBNC z=Y|CHsQ^Rf1LTmXlL(fk=ogln7LTf-GkT@iaA}gN7EbUF7@%I{dZ`e*7E6GhZgBzG zHl|ePsU%7PJ#bv|u&`;d0ZBRzqe+|#`=M%a4f3!LyQvo3hG7@S78m~;v2CHT*%_Vt z-~;aPnY<|k`+%F|TC)@o1V2lh-EftuDo$v&q&oJfhzhM6unz^$pA!ITuu2ZdinQhA znTb|m>fo+fI!@xiW}|7Q|F9126=%rmwr|Q~1i-Ba0Hwp`4RtG<=sHf#r4Da9YCZN| zK>!ctbO0$J4mk#DJ^-+bD6qFkuoJrh*#=zdunrV}4H(L>$oUVvX{qrEYiVH)6WbON zCImh(q!H_}(76HkpbZ-k1fj~h>fi%Gz^N3l4@*FDVAc&z)&t?tvuR;*LO=o9fU#;J zx^Gdsr`vTS>JBri4ioE}J`k}r+hkG)YD>VJJK40u24qZXvKRjst37s~f_a%3;11|O zZd{sX#`d)sZ~zl_aR2bOWh+kVfNRaF04_VVl^Lu3>kdgUw}x51{{Rn^CJ*2cm~AUg zd#kQ<`@aD!xSl3X1&|HyzzyT@4xc7ri_5qHOK*1}k!o?9p7jrfS+e(_1otq!nyVJ0 zIlSXQa6@|!KEM{0>lT<=!xYeDDXO{@&<(KW1p39hZGpSGyTkjCqG{m{EM~MDz`6Tn zxowfdX~DxIny^T)4{1@VR9Ca5inHq=bxa$c7J5H_IW6%m}SIe5v`o^rgz{yGg zLf~gf7N-v|$5G3r_9<$T3b%j^xB_geb*rqR*0bc)z;yp6Wq&KT5=>4-FrR0p!O^-8 zdF;W8T8=m21Dwps+rh~qoEGB{4?Q3R{BQ(oferisYreS_nA*AT;GjX!Su7m7@8A~N zU}yViiN3QE&ooZpkX~D9ks>2k(roo%LY4H!Je7v{Z7P-6@ygZ`Q*~&+2 zs#ogF@*s6Sz-?T4qu8cxaFznymH?{Ra1THM@bFrJna4bK02(^JO8~u{sip3a4L-JK z;{c{vYPjye4(-{j2@t1T>Z+0N%j11&{)G1`gz!0NthlMP_u( z1!@nStswnc5jVlzyBzAE!AH;o1%LtjFaiFG$(#QO!gdkL5*xaid(8JB#Vwo`*r3HZ zO>&^?1jf4-)x68SOrjz>%x$p_plh(sOaaLJ4+*=>x@@#k8qH~8)HsXOy1c|ooy`r) z#mx-VW}2U437N>{U*g27=wNZ)(4O)j4rZ!u=*G)FW^vb`4&yrkxSP-7WM@rgWIHxw zo(Y=5HkuYUriM%aNg$|R$8h_g4wK0Zp_XL2wx*hCa0l=W7B>zb7N_!10C)PbmhHeN zO->J>oa}G}8tk)eN@a&i(|QF=AuN`bssqNX&`y>X+8n%zI852^bP z!|R;G%ew2}13GXGH7vWd8=MsI4(i~bR1Id^i3C0H4g0{G=l#rFofb=w;2pZ)6d+-^ z`rr{x)?3WYMvJ>5zSaxH-b42dYzE&FDBsvY-)d2{*su*d-Ea*15B!i^!g-sy=?(|Z z7DBLKV>+D}u(2V&%b6=-X%VuTsl%sBaN}?R;Qg|_#j-#>4=`KHTFu>9uI1{$uBV3fzu&Z3J-Uw z;;i13Ug?ZJ-?#S-^AOA}PUxSmj+QPPPCrU&cexaucH>o#fY+=%O| zrt5Rb>)Yt-%m(biF6`4t>>p?BiihmfsO(|K?0xC%%n0pjC+&Di?Zjy9bBFEOuI;?Y z?S1F%fCui|F6);rmgJsd=01$#et7D>?)GI*F+c`{aPNdb1~H&o6VL-ifCNZT1U>NH z!`1Kq9`FP2!S5b<@hz;Xy?Pv`%;p(%x{34j1NpYsVoyD(2t2f(=mpw3YiQ8u6RI?wa> zv;-&}XG5NkCg18Pe_itw@hv~`?{r}5v<(2APRL8}BGm&vVDw^-0I_-XF^^7K|4%>P zW2W7~?$Eyr1@>ca^ktt;u)9u5e@-6?kWb(6QLkI_6a!UX_50pVSf5Vhu=VJq4&q== z?HN)Na0E9$_c+hdUVl!9k4}lN_CQ}w@&Nbi^!V}=`IArimY+@xhxbcwzfC`negF4j zCr?y=@9mHe`Opq5Px0tf08U_Wh#T`=ZgJ<3$MQg&A{GS4)w=D8X#d~?th)j4un*Ll z{MzvNJceQO5Cri#rkDRbY=SzO^V90?$0Ul3Iyzl#mkNgBz{c~&l5l8)^e@+Pi z+V>#Z;-ml$cd_HkZGj08{{$`}py1oRd*&t(Ah6-yhIji8Fr-+~qQxE?5NzbwapQ&_ z7a5Kd_-`Kp4CWA?d%$psydv`Ut*gLLojHmx@2RUP(&ta0L4^(_TGZ%Kq)C-7Wx6!L zQ>am;2ADv>>Q$^+DNLxU)$3QVVa1LmTh{DZv}x6@W!u*6TexxM&W($d(A~T3@a@Id z4)5Kc*zOgCT-^oCuh$w%c-R z>Oce&RB%BC8+6d8sUn1`tFpMF>p~1O)Nn%%JM{2F5JSYuuD|l(3!i-cBE+Wz_92KN zcM!9PKAWz)NF8u&5{Dtsyt^?+0`5VAp&$NPh=6a@DQKS!D7q&FrI1MAy^azXQlu7N zBp}8gYZM8`pM1C{Hw^YEz=waDgsi*o7!r>mG%;XEfqMw*ktr#u(B85~iKSdpCAhuM4fQD9Jt4q$UwH;HwEP>R;U2{d1qidIi*!~K&XSY@SE z(0#LIGf`#9b(T_u6IOU(hAXl(LQKcfbX1Bfw)kR)oKsDRz`E+`QZR0 z;I(c}dCu9OGGW!(QN4N-K(qt$Jl>X2^ih;m^J4d_b@H5D2RW0!n)1VL&Of+`5+{F?BgF16G=u2%aDjfu^Zuu%|ktmH@xR30d)Bub#L1|dsK2q9gfj%y&q8@Um}n+pG+Nlt1} zo7?23QMfpvvw$%zq!6PVE#O8Qq*I+XXd?~i_)d7n6D&%R10L@phi+0T2tMdwm3;85 zd@^jG{oK<(1A0(|CKOWNe2N#nB2KiJf}G}rL>nx6(Tgs^o$};pN9VYdJIYUw3UyQu zj;CKh9BWo%;|`&j?TI<~EF#mZ34 zB3Dz4f-E+~ABQl|gL}xMuZsAq`Y2$5HmL6gO;v1bUE8V1##XkorEP5+HrcnnMXs9N zY(79F57CaruWC@A4a~@fz^Z|=uVrp?+hSYjMpwGirS4B~YZl9vrKr3mi#hi3TX&4M zv=%TUB+PqW);d?c>vc}Y(1{PJrR??upG!%BhD`xRL zBm80*$5_U718QzTw1Jcb7cCAApE~s6gdPA`sp(YlRtyW(7AOC?#WQAdlb!732}`WP za4|qyPb}@7gCVeQhrKUBhReft*=bCP;7GI>>LdboHdP9d4 zQmu_`Xk8~;*~@+uufOPPw=jl7(mr;zmCS5xXItAyarQ%@ZEbLedsEvcce%~YkZue0 z+u~+-yEAldc*i^0=_cd4-Fa+t4G#7soe*aCNT-UF%$Dd$kWFkIjsO8wlb?fF5-OOv-oy*AT~L6rcbM z96=n{Kx^7_zV@~!zSKuihe`Iak8Rk_S8`7bO_NghpRB_N2&w?Fj$$Z;$U`9_G1TMV zkpzk$5FzjABzH_A`j!}x*xpEh)c=SyieTUy*FgWf;bD$=#RnhRMo~v6DMEPyc*F8Q z={-ZXVfTx;WAhCIEkhoVsEbrT0fdZ=fP~e9eY}(a+zCPuu(1#5S40T^kVhBH5t`-` zCH^82f;i*^c5iqi2ou48IH2SEm;*lH8^9$azD~*|0-!u`csvoZomnx5+B*Vs&<1(< z0g9M_Ny{OeIDjsg71tmDd03Wvn1B?RG$FBw@UsaGqJaK-2k*c;hLDFNI1hD5j{@L^ zSrLe5sXoyOuX~UaA;1kDBmf`ShlRKXaCryM8^3?ZjUK9ieISPh`iCMY0E9@73i^l5 zaEEtb2=15&48$d3xe5J2f_YF9^#~4&P$d6i@qxZu0&!52Blw2-13-=wKmyFe1Y^7d z^bX`R2b!v@3Mhbah>auIhb!S1cYr_^+`uL940U*nAep{>Isou1yc8q=b4D9-L1N)XJN!MK zqcA-@#}#9|#~YUz^uxI;9hy=H)I*8?ID&v-h!ijvhQPe5Nda-dB>$=i7`g`wq=-!1 z#N=}aqzOd?M3To4hsZ0PL`0o+q&@%0kOy=K5L=W%Y|O!FstDH;i150|5QGxonMg$1 zk}hPz11OTLxdu(V2P~|dA#sOSVu&6P2Q1{5oE#+u5C`!aM~}lpbS%o&;zNr-z(1rZ z;ChF5m?7KAJBFw$iom=AKo)Kohm{OSdPIjo0jPu2paXab9g50!+{Ya$f_G4W3805X zDHcM3LZlJKQL@Db%td6(NRa#oAIOGvA%JZN4LJD+EjfUFKnIm%MwD^9efS5&I1jH` z2e$dYipa^G6qLTpjh_rkp}fO#lrp0X&E`VNicrdT1Vo$Yq);priP%S+C<0U@0JTJo z>1)V_M2%5G$gA0gdc>rLs7&2U@}icu5k5n1Flm1~eSP%xDR`B!C~F8jAQr zXT%L;+y{5~hmc4{iU5ts>mko+Lf|=q3OLV}fXwPa#B3A^ar{o)d(X}s%Fm=T(Y(*2 zG{B_vj&8v}zZ8(4w5IsS02L-5(l`O@{5TOG&M1X?D54r~pasppD zf-Yo89|2ARK!WrultKzfKy*g%&^|(B13-uo<(F?*LJYvYIjqC^G&rKfPbz&U(xeCk%#0?ffLQ?#d%OpC zus{Okkwa1kY`}>JScm_6U;iZYliCxL2PnNwN<`H|h;g_~7aybveWQYog2y;M!CPc<_K+=U! zPl^BsE&Pf4Lz*SflK!L2D4n<|tx{SYBL}mLr;_2hO~_G5LuCxV?+eJ>H8| z`urvYTe(_oR>5&FcOVvrz&-78f`2#%B!E?;r~o9`hvgHAz3aOq0zAPZJY-E)E?QQa zb5?fc6bIXY9(o6L_*J^G$9w&6+(vju2SsjaUP)H2$ z0a(LWG8=~t@B#h#hO3Z=aJYb$N{Fl|!f*%zyc-9%kU&Y3!64XIjQs|45DTUa*=tK# zsWrTn6^oX|3Pk)0dB9n#u-5LZbk07~4>xRIM) zy^5?2LR?w`s{q@pxCe3ATdt*m0Llu%2(q+A(g8Z4a-k)wPzglBSi!go`q0jWwThh? z)jH7%pM}_x&>@&b2z3~shTRXVh^Bj32g7xTb#PnPid)xBy1505y4?Vkz}S0mA|cRF z3gBC-P+kAPwTczZ3JjPPZ;;vEo!1_?2?ElL4Ojvppa2TYh;4veO6vw8>49+AhyOx| z=hcRNNZhNi)@a3wMZAh_*ajdF6QXTI^Ub9VDBIo*FVc-JF%kkwqktl$fI~E13K)m6jodORg{#OR%hg*7=n<_D zg6)JmtB@D37+eZ4VG6ha?d{vjo!|VlUl~R@{Pl`)hzD=vha-?&L^6V$4PXx5U7GdA zNuyw_I6ocI27WM@0UA|v_%DdKhv~J7$UP$SrL@eoihtN)uLy!eT38jfiX%9OS)nu) z1|I)|;bIu3-x+RWg0&liZHu~<6|C5RZOE11?OU$pT?)7dYygWTNRxg23Lo$;-Id_} zTG%S)&MWTVtJvbO5WN&$+v<=9AAXk-UR&TX+%;w{H~wT<1*(fmea%DZcX2sv}MTUILJihjPYcZ@Atct=wRSe=r9j2!aJ%SaDE|s@n%`XkPz> zu!@E@S+aEzbk>IWg=VRmW{=*t$r|Nv%jOO6*8VFO65d^b&`u@b+=NvJTeb?_E8uZR z+zaTV@lD=xSqF?2;c;18T;}C@(9UA+V-FVQtPlb<)lMJ&;6n1R=4!H*i?2TGZ3}D48tbxdYkfm&xK=i`&MvlgYr95^xXx=` zn`?2Z3a(h!yAJFTSqiJlBdwyFvH~ly8mq)UE4@}az8;^y{%gUmY`Op`JQ}IEv8j|= zsg|NwgyL+R`s~LZy0-Gg2bgTtUTwg(?7OBXdm;pUikpGzjRY_#o~mt+xNZM{D(wJd zs09daUu5mcPVLrqZMU|g*uD$RCJO9(o?;3m&|Zofoyd|hruRUmxWT>z!4}_+thV~Q z;9h{?X6*-9fVxI*^@gA2rXR)&5a>>dA@ZOiYKmy(mvNZBN15;U_@KgD815E{ZLkrd z@b2$^thUmM3TRRWZ_)*?fb>>x*FK!YS)9gU?)Ro1rC1(4X`ZIwNQB{VD)DfJ3Gj;` z2Lc}o13&P_3h%#raTt&Bzl(4QuWXJX1ij#k3tthRNQsq*z30BiqYxV^A)AYMfB@3Y zMd^VG&P2zJN@xU5D8?g?mtbl=FA?1N}cCkVkH z4E<4))L4zyc#ZCxv?C~h-Hk}>8xY&556PGaU@wpg8VO`7xY25>q0*f zL>ZtNhiJ3VFxs<2-?vau$h4GB>;BN5_2#UM?z_ln4#c-NUL zDUu^WPEE8stHB;7aS|w58ASp3EE$<)ceHPE_GdrtXz%13&+-4g*l}Tvl`@8NfLRJ6 ze-9(Sh!psS9ugTuyohlp7IqHNePO_6iAbc#c;DD~ai2(KnM>-_8q_%!OyX|fNe_Y% z!DjIefiD~d2IL(Xxf?s$$H<|dT|eXpb;6_podDbd5f3Lf6#fi>6II?k+-Rcp|72y z@AHI5`lM(0rJrB+Zf`<3Y>SAV%dz^47osEB_C2ZZizxYGloNMAOpBoT(}6+?*oU6T zAq3&?RkwVL*!+2Sk$BM=p0Okf;%*Cub9(oh0IB^sp`HId5B#1wdcvP^!#{ktRqo}M zdWuk@|B0fBz?|5_dhGTM?e+r$AE0;SEKkO z=?04H&;ISthICCmT{X40%_bLNBz6n66L z>GLPhphAZdEo$^A(xgh4GHvSgDb%P^r&6t2)TA6jTDNkQ)A7i?d**`NV<=?b5dszN zjYAp4M*;+L=O*wGq+<$s`_^sPhk;=bcl+caDM0_AhhA(14pv<9Z;8bpg5`Zv;1=#& zx^_JV9$dJ<620zvRAhYk-vox)+%Z(A&LQE7XVZe#3lB1Z34+xTsJ-ttLj?}+UHe9H zCGzCTmosnf{5kZFF{it{X}xAntJ=47@9zCO`0(P#lka(w3|FpXqKE8pWW$662_|ef zLYh5(_weP@w~ycAYySy2Ab|xMcp!oxQAgc%4Q5v!gb_+OA%zuMc;Qti#em*cWW{U3&ldC75A~IUtlUNqG~MTB^Awn{B%3)R=L~ zIVYWU+F4_nFP&*qns55~C!m3Dc_*QT8hR+AiB^8eW*xb3?8 zuDjxbO72mnn5)6M`RaQsy#4z7@2>JXO0QA&-fL74^5}EVcatHpFT@eU2{6SKTYRX% zdlFof!KRF2lsfxB^c@C0+#`>~DXagC>cuU){4$prpSdwn27e54KI6%Q^2$B?yc5hp z3q7=qGD}JGQ1;$zlsWt8?9R_ot4uW2Ra*_6(K;e6l*dSIAP>XhxpR*XQk%W+)oH7} zHc44KIIL4k7v+sV2aV@LJ^rY3Hs9&8{Wsu&GvxM;aD%r25+^fdxKE7lq>esL^w2lu z*b06*=2R0trQ_e3(+^NKtfGnqK%ub;96`mg3K~Gk19j!GBbzzxwO_nBnw@(WGEi%* zvI-ACJ@R|$jsKpC>paW8ysfr7|NOhS^Qn7x>V)l+4XUJ4yiYr<@H7KW?`r#@LP*v=%I6)y+~Z;QJ7A>tr@#efs((0n zUw1YzKkrBofff`L12d>WLc!_)9!!A7Ab7zMk`O2xJRu6j~VY2O)!8|60h^fr0 z855b#B+@dYIkaXzvzp|QCN^P4O>1&fS=s!i#kSeaacT#g<^-5H$*E4MoU@(qO6NM` z*%Wuu6I}3=Cq9u<&wX<1p85PI4EZV0W%(1J2KC866UwWC9<-qfeQ2u~+E9Z+w4$k! z=tTc%(Tz4Riv!zYMnlRIj*>J{7!_$eORCaBofM_&Tq#WJ)KZs@Gp06;(@bf~O_Llz zSULGAP=hMep%S&IMm;K0ld9CEGPS8reJWI=D%Gh{wW?OVDps?q)va>%s0uhhPIX$% zlFTYD!8$8i)2jd0wX(IXZhb3UX@Y^c()BuXtt(#hs@J{pwXPnVfC4-kLa`DSp(A;~ zSNp2i#WJ?Bj+ND2AFI~LO183=y)0&X`T#~r3#5hBs7Pjl0L+rMw5C0+Tv59x%Br@t zu6?a_dK%a=b@sEL70Cf6AY0h-wzs}r?Qd(s+TaqmxP8qnSfNx~+Y&akAT%y?qkG!n z_LjQRy)Jfx)l=Fck-5zc$pl85-SLuFuhxa_dCRL_@*ZHb%I&Uqbt)3TuD8DSMQeIp zo8SBL_qPa`0C%+*U-^Q!zXm?AP4=r=1tYk@rUmeO1w3Gv&ey>fwl9OHd*Kbc7Q#4M z?u12JVGjS3__`T3?TJgQV!V2IK_CusMn}Bj8T&THq_r`PbF9`DGYGygj&Xr?EaU|n z7so?B^2`GK(I1CY#(VMsHf}-zbI=#bRt}btEt_S!V#5blUN4Vx+thoMy= ziS{&{moTd!jH3q)!bYS?jaf^Z3DcR*=caAaX_`P;0caldiS&alCEI}LExGM&*@eL=i`mNSowz7MG4MeAV-F{B>H@<-c1^7T59m z>&@<&YycbLC^xRjO_L);ncoKAMx?b-j(h|5+xlJrwiiomJsJDh@=SJ3;O+34EFsj= zK7tc+0_==mS=%!SLX>;(jkz9S8#6(|HvD`9T~pv2zV^X2;!52MNL$(10Bp~H9&`%C zdIH|?br2AZYM=9a>Ebx`2ELJSUC#sq(uRlvf}o9=d?VOB@P?m}&~29Ub>oeau*X3Q zk~&*Q%I>aa7>tYiIkAUCwWtJK@??SNlwQFm{ELo$hO;?gqqB_ct?M0pI_i zFMYTjcBxnX@<9mtOcYI%%1^o77zjc+$R2DboLT|t2K-*#{;7_~{iQ)}klh=ecT`h( z0_M;LHn6dczr#Mqf`_>RwBc!NoEq^8=z-0t9eiw{9j?@^K+!|)YXwL@_-LQN5(@8x zZbyCE-t=(KJbg5SJ}r3?zR8;?OjLik(|i^mN;yg z{_&UKVMDhS9!(tH+Cg8g<&|}LL+feZOjO>@tsUZ(-vln2)G2`IWgypaUzAaRINaO( zt=dsG*#nVF1Rt;EZV-zWJHV(VWdWTLju%&w2lutO?z9 z^joZ9z!Lb{Hf&!K&dOXZLAPzd@IBw0yyEK>DmPFTBKn>3QoWgNE`Dd zo;S?ZPWWJ4@!yNdpzY0_l-M8zXalT?AlFfwz0u){<=LL~8MA@gz!_oU6(I%)+BURc zTb-A@{oC42p0(Uc>HI^4N#-KDFqaJRf{%K=hk)t?bS2xa#XMJNS@!~mBnmO)OJih-Ubfx3btRp*m zk~`94wiOva(wIGJ4L;`MCGF!sBH27r;6bifK)ww@?i4aE&;Ss$)q$lR>tmim{~i(WHZoWbVYIGtDGU za+poJ+fO2xPEHR`B9l)JrG*8hTQQ|lI#yA-&ru%Jd|`l9UL{s$rB-ewS9YaWekE9j zrC5$7S(c?)o+VnQrCP2fTehWJz9n47rCiP>U5;f1++_vu1pj#uUwV*rAi!S@ zeBD$hY(Pp7s4eX$ zO!TK-swaRhk${#Ig965UhQtHh1%B?6gT4fW?!NnI!baHvSAs7auxD}5+q z2GwIqD2W1*iDCo>qyx<2%;^%;DMJvdp;`o=VxeUaz@qx;MW|^MR)nOoDSQUO z565yUfF8gR6oGDGKnf7Rm5xNLdc*--1D76XNa*Q+ zd@0O`=|~*uNsuN)AHZ#S(xi0pJ}4s48jnKo9g(5}>I?*hc}l z$DeLMpk9QuQfsvK8M$t24|J=Ja;vvm#IZ^%taATdpB-j~5`Yf~!2wXfv)U`Z>MNLz ztA7BjrFO}vmMV>&Dyo9lMnEC7=BT8iY1m;QyCeXnPU@9vr$roqq}J&JEWtHkVT#&C zoaRQK&L`f@nx#Tvq4v}gSm_ZIK*ScRVVs^1>>LH8z|ILO0Yssj`YEr*>&g-U1@x(l zri!nM1hBTKM;yUl1i^jufQnuz_*KLa=xjx#z>(@}q_QZn8V0jADghvY)iMOuGKAKa ztXqUQc6dphdKt=&@EBGD2<<|cxs=;bnxCfZl>{lJZT}*(j0!E<5=Uw2P zpzjM-3-nz%!62t>wfCn`z6cU7*{sk2Ft)XHpug>Z0;%&H2>$@CnNF;4Z z@FugS#u2bftX?UzRsh>hszu-}0n{p(a&JY%>hxBG*j@zpdhhuLDFxhx_)_K<2vZ z^e#aHSOjRWOXiyHtuh3ULTzL8RM1_-d;Doys4B)*M85jRm1=Fdif6cXEw7d^$qHNbqL6&Z}BvX{-+IDT4p+{%)%N{^`C_Fx6^n`EKt32WbF@ZKqLy$2PBe4LhaRD!>W-e}OHf{o65ai-26L)XWL1E9H zY4A!el_F;THfpWr#Oa3Yp&~(wVxgOIT@q8RBD-mtUIV+tr+pm3fl4iI@M;Wy=?p*e z31jLFgA4P51P@oJzBX$83UQWhD|~>ll-@@Iz-@3eEB#U_1#B_ZvP;;Gt-ZoB-1>ko z>nbk)?JZZaF4HgdrbQ}KD&G=tie76H8!<5B?=J^)8E^E+1 z@L?{o2cIdo9l`Y0v`hyKR!oWiXB9)Ue) ztR>^{Nt7~2DD>QI1o-JP_saA9UPSaZa1og8vNG_V%JSEeFE3-jMGI|OfHX!cDo5*D z$Hr|MAI9C0br4|1Iw)? zYc4@-ZchO(Z2;~VcN+?KZ_A43J0tSR7C>%AYa^d?YRtql9{}BkZ1!HVj!vyt!!YL_ zG_OKoSbx>E(ykqgat@Cvl7>hOn=MMu^h6)V1H@-YXRNvU$GK*NeQ0dbKCucHHfb>H zwED;T{_VB)z>y}lWdr{PL7Z~OrUqyG_5G%45gY)+9>!>w_WeROxvI8Cdx-)66aoh| zVGcD>S1dwIbgf!O%o=L0S*(uws|rtP&>lvn()A&mFqOV4J%?`+NGx#s>japh)1tK! z`!ichw|H)@2RHZhN-33&HbR>OLuyUSiv4T^H@M~HY2dnixSrcVziP;Yn+(e}4|IMIZ7y?(@ol4+8jcyOjTbgnpy zFVBrG3zXf3SCnzrH~JYEq#3$n=#)lM7(zM)X$eszrKP32yJ6_=?i2|rLFp9fZWv%* zyldUhdd@lTI{(47uGs7P?X~y!6A8u+Cr7aOvsoCmPg_q%lwP?-xVl;7$#~uML|V&u z2cMm%-vs5m1ta(q>Zf815+mLffA%PL_5bLVATyQyI=*`%-nI3>%l%d1t?!U9OQpL_ zyRc`QkfT0RvS3kkF>|(BakdU~&Z=AT_DyoR8*IBZq1`-pIw8yMJP&mT*1nxjFB~np zodai%QEQv&5tf;{^$GQ0des)}*@o|TCmko^S<}XlCX$lx5vG0TYjpR{{LcN8N8rd^ z#l%~k2ay`o_8Ks}rXRIdC#jaEy^c$?UeHtP1D}nONVPO;r9nxh8B^7HaaDvxu^N0v z3m#_FF5KIe=LyFwZIfyhaV~+=#UbF)8SvHsQMuZ7r%6%TR#8~LCuXjv)V!$EjVH~z zXz@P0YZNXE>gC~juBF*PXkc|DqEO&BkX$vu za(uF|dOkkI>%SV3mdA=Wim*dY$cPQLD)>?A_Duij>8ek-0zJYxIN(Hq0s{YQ0p_dy!F61Et?>$d! z&G`G^opOes4hA{jfgfK%Wi1HgfhGu9UkQa7Hb?$0xkOhvw0&dWoZ1m~Ni24FaY<6T z(RkQ4g5bP+G2Cc7K7Km(gYt4p}1w4su^&73{n_S?;pA1`_c7HWu&X!K2 zyR&jw>hf&GG5TWO=++gO_hX|H>dLr-n0nDEQcQ5M(xB`8vsG_|>UxX(BQX3aRVD5F zO=)Ij%+NNZxq}G(+2zF*Ov1M5Bvpw4%91s*5y_sE&s1PVv%$%z+Fg{lz4)mVfdd?! zoBU@{45-f(Xl3r8vG^$<1vGqQ{G_j={W2RZX7KL^0kIt~gzO$8JTJGaR}gs!z)ZPB zkH36H$Redt?|Mh7`Y6or^{vp&&Ji0a1Vn{eCPm!_`#JFQ%&fnAA^t{O}oI@|&voaWY8CTCibeROgYhvI;Cf zdBxD(UKMBOJ^pv@uapVjdB?<@%30CXPw6m8WPXICUisS=(tA1Xg`zTx(xFXp8%TvB zdx_d24=HDw$n3^53<;jgBUR?7ahs@=AarY!;a#eT`h;T>6a)usHFT z9_^(l;j0|O&0Q^j9A6bkk)sT6Ei%JxOetiyrBy3XiMr$zT5{S*ch z(T&&w#KJ%Vw}KOxg_JhXl>7&+E%T2QVYh2rp;ggxM%V~@=}7!&t%xkaX6!5Kw9R-G z@iY#B+)8du!sq^nz2DoixK)b@Q(64psSwJeO*vBRgwU)V9JN4t;PzwWAL(JCj;t|v{8%D4N3K6dU>=%oV=jW zn&FilR21OiRbxjNv98z3S*SJJSMlzGN^Jr9p%&;@+`X_ZZ_nCAlM2^B)aU}ePKvN+ zsKq%rs-^bcevkofhQ45yeJuuIEakyJ0Rx-g1w&55>bHwTE!a&;b)~`WOQvObH!GahZ#7-8CQ%uV>bdeZSSBV;x6~68t6|)|KUp zuXTS>j@QHss!H1pF@34N9QRti{v<1q@t0GiU3dV0{qBybseGf5wA|FpA*iucQhq_6@OmlNBxKh5(Jl zWm#rHsxN#jGd_~uGJ1&wf()9%o)SR``C zYor4FN|*iBFSCTN2a%SBW)u+$^%bC4C|(&y{)>SI<%-B?;J`~dnp+i-U+cc{>cR|y zjjr?iF^Nw1@7ayXM)iK3C1-4Gl=bLx478u74jY>DMHG%0R#~9nrPEx;F_;??OJ%l- z!H}Har*<0DeZlA%6tUwTaXwNL?}mSrrXimSTd7MCWD*r3jMJvH9h@VX-&z~2BFLj4UYAww%lkUj z3#_Q;ez1%)Uy29a*)Hv?y0pW&5`fw-JuBv_(zmwOd|dNmzpk2EvktqcAoQ{XeJ#T( zpH?_zzx5nlwaq_l>Y}PG#B^PC?7ls2(`sA3{ncFl^I_i`L9r(DMKIZ%%A9PGVjW#a zD7}-)K19N6^kGYIfYs=fQ-Wdv6eCzkvf>cKOu0%-ayyj!{Zm*1<)2P!q11l5t(b1g ztpptR5liv2g!;QJf!WqP9ix+E8nG=&lDpK8T~7JPV%zDecT;KEf3oeC)}&MJW>}X` zij2Kim2?_@)vjDVe@D5%ff_MdYV^5&+XHHNeYXIvylSeaIzj}0X-gLR^0|HWt^2DO z_)1c?UGq8B2`Ei;zFEqxgNFL_MHBBw3g1s*2R;s+Z)^z@pmo zH_h#_kLu%Tr??vo@p#*x@^~@*+H1=g@ou#H)sYoW7khhCeME^1G6f?Eu3a{66wS#Q-I`~%$0$Ck&jL=4ENW1lxON?J(Z5AN!?{ns*aL%bF-D`&(zs8e zxzROiCQD+EGjZ?oCNV=kVSp=v*)Rza7&4kKFxwaCWeXTmM-tw_2wFqM4_vBK$NU|Q z`85XE9Sc5uzWEG>oV|uFZh{@dfs2BNhYFP#tihUy1qk)9epjDfP=Bc4Mh`GSezAtS zryigk3>05Ohr)np{>UIad{lpAC;)`!4}?MpF;D5pdx#`_AvjZbTzN#s4iHiZt{e~X z$2iD)2i!C|5=j`Y`zgBDDV^dey6P#O3XcQ=szHb@MV`b%>gNCnj3Y)o2V>fS;kcBQ z&o`mIxTr8f)6=0MJSeG#1Ot!6lExIvDfZi4d_FwXq)EHX4P;p!>{)v(R0y_r9I}WB z5h@)SI+Qpq4_odOdE6d?ZUTVzkfBS_q5DEyYY8jy=)iTfg7LI=4iL68x+!k@v<(_$ zeA*lU1nfv+T8nIPO7k3_=}jFiaXdie2a~AdYMTc8AQz=i-LI49L=+p0g7FZ^HDXN% zQkq)Yw;J@)ugQ|)ajkg>ksTn<0E8K*bPO8Qjd)}zQ{;vC*gtV;b?|UertpMetO**d z-gvBUPLT;UsA=#hTqf`}Cq-MnAt4UAxr$DaRcl%5Ya!FIiA0WR9sS2PSbRl@etHC4(T(jX?wcXAK2hJAYt4KJWWBWc;ezX zppdT+xQ;;y4?pBJUvn)>dpyVb)YZ}J=#fL{g(H_}t;EooAZ8s0MFI_bJPVZrC+Y@Y zbsSw151(j)`0ykZYc0^^$4fpwzH1FWZywr3KK^Q6o-un)R|0&*v;;hX0?$5+um;mi zQ`*7y1v4*pbpoN~DW5?tFGBD&p7%6~XnC4$LY+G9OvcWUN3H=f>_Acd znwY8%GC%d|XB_t*Jh`X|d>*{Y!9y`m0LpD0YfHkbWjX&y2MMOMwHTgiqzg_onrhyF%L51)PYhg@T#B#je?X;HuJpqOaonuo>5C@|6J$t zoYluk1kYJc7|KuoQw6bot{K#*+Rb%vGDC4qXh5sNVtOG;p(VpyCj(AmozZwD7x!uy zR~1`8b)Qe!_JZyxK@xeI%GHT`*AHJ%Pb_uLjrEQT5U2y zsC*4-y-vo4#%4>yYR)Fe{7w8 z^^u>`K*NH_!JMQC1Mae?veZXJl&4tPNA*0Xj|*r!sHx@TN4}OJ_c#P7_J4 zxz9Rd|4AUrs`bo2bu8uaT5jY>sq>mj7C5~4TG7Z%aqX~5a`?Vfe~<5)zv;nQ5a-*W z^>NKUDajXvYc^8s7u$(1?0DAaBs6LMfLlTDQUPEt4jNF`e_6p-r~Zq>tgq)b^|>o* zf2<$PxDT^#AmVqk1o2IP%Qy%xbxC_NK#g=w$}P}L$X$OfDB}~7pb#n__p()s&(G`8 zxmke^x}h;4!R~WA%A}*QbD=5N!69>D3PqtQEnA6mBPF`w?v-IVx)D<{AI=WKzwsfu zTDD+$0BYE^uh55P-Kb+*Mc-GEN{!1EH&J@nY^1*ZVHbz{ECsJvqYY>`I(CXKb^ zWW!mDuFXSFhjOGtqORxS=KJ)-H)2rJjyFkfS;+n%LF2)dD^%6B3Aw40R56Ujv~*ytl`_@S+|mu^wRRelCQTV33o*q zPrDlFif-g(*JP!I`Vo~2<=uCs=k7&~c}1=I+1=!o86p+y6BQF8m8&8pvu%h4@|5+3 zDuk1Ml|*dStJ^AgTj4qRv+MNghx8gQ@)~;GzwI>=Q5aY>hCnot%%Bc2U&}{WN8?_{ zXOP7%s>Vf8FF?_tmsVf>vz}d~LCrH(uH9Q{u|Z?8v0Jw>Ahq%GrqS9U+{~cxqvr?P zjAm=n=4Sn7n&#$^3_l;y7QOVAgbeg3cuTu}Yfd{#T6=32X%JlnC;wdN3Xr3a1!nEiSN4h%!(4emly43 zPVGkRxIM_IL^kX~H|$Nr>B94BCZX(esp_Q?GoWAULs{tAPVWnX_lYiTFnRSOE@%4X zC^w*D0|JQyn)g9`hSh2veQziSNm9NdFMc%^8?^IURPGqOr1<8UIq&TCt#|5M$kME@ z*wAh4P{RGs$orvA_2C@KqK}ld8D7%4OCtnP!=;93)tRFRj?qTLXYGdH8xKZ%#X#RE z$0{qnk1YYGm&Q<3M`$v}-0#Qs@8A9M8h@A=zh2Ti5u5lEGl5J6y}zFrQ=0_8!?)rAFG-z~1sY{3Ry25rA!FBLL?&AN9ImHW1WwcYsTrlo6N^Kt8v3Lp0^9*7=8P4=~j~FE`Rl)sJlNxAEe)dQ2}F@g<|Yc zUDq1FXk6_x)5oZRt@P%w?<}L}!tTcq-zOy=R6Ia3CP-b~>@tu!puc~Q9|)6NER;L9 zF9?f5#0!llZy=12UB4rgCx0-C5)c0djkjPZjzKA1ER44hF_Oe#(B_5CSM)uN-+G}V zjIVe+OU&~QLr)$*Li7ukaNYa% zKz4(!Na6aeu}nR3)d)BLjpj(^4Dl$DMyr`DgZ3}jqD=?$j1nZ+FYh2rKRZ0(kJ$Hg zhwB3o6cW)(MYee@%jAi5qAeG@Gv)QF(J$Mt4wv}2Xcq2agd9_q84@w#oij%Vi|syO zn(gbxP$w`YS6;{6!#x~+O=|3mgd-2}JVyzdL1Td-?7tFm)cE>Ce=GR;e?hzrH4Xkj zG-Mh={iS8zPnJr6nwTlwEeNWeX^|Vu*@gDo3^Fcn7WLu_<2wt?MpCmF@kjZeQBpVx z@8j72gw9150*Buxs9L>$pZHo;k3Qap_4a+T{-;usB%?3r=APPgL5wNp*`*&+t*VBZ zY|YMCa5F8&6}EkBSHeDKCv~zbE49XXbQauzx5RSF|qBj*iVKq{G^@s_1&u ze^c3qQ_h@|j6cI(Gs4-9S353_SyWp}oXAoC%LqY%*Rb$Osh}ak6!TLHv4hg5RvM4} z;+DOt#lqI3E;w~to5RSb&da_CyRL;{16=2e1x)*vI~?T``}>t<%N~q!1N(j)*U#K2 zH*ebQzeb8jIt&Ibx0wWhWm$NL318bd4EtC`I*xdzd2EESzOKm&W5`fGPh(q+Rg16%r>!YA>lZ)gkhrc0#|TT~e26qv$1zXUxLyucD|X#rHDDcF zGY1&OlA6t^->fIYi`=$I4fOi42qJ;Pl4ffNsN|oNob2?iGLrAiJI|6dq<7`>RYf<- zSEKFrbHVRr4~k}SI?P(Y$5ltqu#ExnSn_eh9f`h{N7GIA#ZzmQ6!mCXot1hb5Cy(Lq*) zl9td~=qrauNw{oB9tmpRS8jZH8KWD7KUtc+KS*p1)6~L@v<(bgIF?vXU-M$D5s(FJX9r-#-x43T_?U0ZFpF?y1gVAmhu25$ArbHe6nkn z;TQhB0GXEeBz(6rs%5;w+4t`m=7kgh+`Wk<6(1zE!$vn6@Dponev@p<1C$pWy;?c8 zY-9$4)Xwl@jpzC>=^)=t-%X^>ctwS>!Ib5L&!Tdk0#4I(#_SzsW%P%(*n#N5pR&&~ zo)Z>}^3*HYUd3maUoeUKU5|TxvWeSTG8frz9rs+&$N@b>Fo&EVkrMg>q)CzR7KA_q zsQ{!aLY6&@@TtC&^QUbUGa3YVQkH4x6hPFt^M^P5N8P}A!j4w4LU-zq)Zh<=<~FQQ z;+vyml#9 zTeNuL9saXoA-4Rz3p$S5xEQUo{fz=;A z#lA3=UDe?BW}T?SUiT+;e537~Tq2`ny?On}rpCg9Ze8CXJRyzd^i5m6OY)^9d>zxl zmsNInuljqsnTg z@icMxMyRMNsqX_x=DM-%Tpy5g=wmhR0RMX#LX=OAos%vQyU>NvzewA zM($|#qTl{yxGjAsr!g;y-uu(Jf@HE_n(O#j(#Y0 zpU*PEaeDuaa-28Az22g#D1BDB{zbdqsPj2b=2ym#R$aH_?PE?n*VZ4!;jcy2C1lbzosMM$Lf=bl?Wdw-v{noe<{8ho67WrD?ZaEK6w=>58drkDz` z1Z|my%}Lbn%HO13E<>+YSmKRqeqqbq7Hf5#sjW8s;XEe%j?QvGXWg*{ZMy{|bUJ0j zhqmuLUnB)^UXbFwMED%5iliiSb{C0e{Z{A7nJIoOD9bqB)3uBLRjF!6{h4amc$Rwh z+hhJys_6m0T>IF}QAd6I+g*F+?4|9;ytc)xLrx*#6_xz!^+S6Q03rGl$wyQ=|K|y_ z^!?uZxw$aDN1JG!tQvO6?J#QPS$c*6N==V{lXbR2=CN27<|ti3%!*jyL?#A104`ho zcvv~Rxcsp@XMy?Xszoj4$adoD`}LQd?ih;WkcqpE{==K0>gcl+8n13aAI=Fiiu2;` z+`WJ?MVvVCtNOf$!}Dr*8A9By4~~xFIC6@H+?U zpgFu_9rPpL@RK?B1^J=i>-v*A`b#JHBRimQJZ0^k`FlF~q4GFk=mreC1_%-aAOQ{W z>ik}&;z@+^NtUn;zxg7ICLv$Kt0)iD)DBb?;#6-D5|)3V9cr%|%KMt-vtg>IQ3;O; zi^n@O%BL(-eNq97P-?4G9`m7qPocv0H{6c8LC!b0pWQ-iNX0$msl0Z$&4qk?cf9!;(kr)>%J3;0Sp7>2ckc%$Du(|Qn?gK{XPzb`EG~hl!TUTn3B&0 z<_i%OS|Gw9Xw392VHG7rRcKs_E&h4(5jSQL$9aK#B@yi`Vx78T#b|slnIc`}Bmd+D zN(+Sy3q_8~bH)z^PP%>hArv(z6f|ib1@n(u@((GWi&8&}TEvh3ohtGN?d1Y#@Q!@= z-q6bf(#Rtgk`uJ&+ww69rZJ~z5wiRdeJwHL{xP?tWIzRuz?+zMi`ag;pvctNhL+eq zx-bl;Xb`##p1b&9Nf?o398+N2xmjfHO(azq5sff=cWO9zIGhPR{-Ff7?&)7PO@@P& ztwlb7*PVo4FJTZZl0Ga!GA{xCJ086@fK51Dk~MJ^&mVO?Qg%2@9-Vb&=snMELNZ!X zG%tb)Lo!H9FDc6{DUdhztpbU$9(3wk(mQvh_vp#yVaYDJ$=35RO06Gk(ZAT~ao8xN zTw0`%1*W*`rFgnC&u*t2BBip**pb>}Z>=RJ>8AQA*loeEC2LZn=TdF+q~uL-&V^D1 zwbHEfq_%26>8)uxb7?#mmV5S~JmGXgjdUwsK?)eo-^@ntwBWh)BC?dbDdbuO;I4Xx zuUp2H)W@2%^al52cd|_5JgGh0bn({og0#%nXK4$t^oiZLDKbX32GE`_aNIJBBrI$G z){-<9XJZYyyEJ5-HS6LR^2%DqH-(fv*6dbc$sL7|GhrF;+bngzoL6+IaCF%RVFUvL z9YzR&A(!Q#jNqY;$e@?OHiuwO$OCvJ4Ns9i;Wg{D6p*fl&QT#(<9)8yfJAY81c(+% zcMU1ZJm(#09^HsU3my41U3{)&zJOJ}V0gZ8S-$8<{>#0535)_swgPFzf>%}ra^VFE zWd+YM=;(OqY$Q>pkv!`13*J~2>Vy~Sl@%I{6u#XnG!7?KZhNIlPOi}ws)jf@+r2; zX~jzGk&4;y%K5U&#gWS8y~s@SsS}K-7cQ?C zT`a?_0dQL9Lk;Ssl^R}^=Zi%&D3muSjn<3r*Gr8ObG8HUp^b0YLxHjpje4T>%A<{M z_Zy9sYE<_dp!;=TNRy^@qh)!M^=Omrev=($vjcmxlTx#bb+cLXeb!$pQYg&10#%OESerpb9TP}NB zzEWGEbz5;nTZU&#`Dk0^ep@m*?*B7RgM~wc_TM-S+5f<4sHj;mA>e=dGE z2onu0D=8}nB_}T>H$Q}ynStRs6ALFB6Bi2$*OOSo#KOPdW|eQ|C3&$^AEkofLrhhuzAlT^7`L^jiZyZvy1y@H!lwl z&nL;oFuz+xi;9tq6P)xi{T)bXf^8bq2bVDVdJevyu<0X*o5|i^usky-A zx+LJfq~N`v7r0=1amgWc!6$qvD)vvV=ATNB0m)`3CVQKu#%b#SL|CltF0U8$(nimOgu99^xQgtpfbT9G^F3R6t z)EZqjm|V1*F0NQFuiISqzrPqYzZ$o=nEZG-ZE?A1z5eIZ=8oOguKnJj!_leJAy{y-@iAvw|Dk-xA*rC{)5w; z{V$w`>j|f^hXn>;im?3u!D&V^73%wgpKu!DB}?@_B=G;jX^PeJ6|)o@%l;=$L#5PI zF<);nU1Xbj&NR_X!r*oT{lDWh*~+bTe@0XJ{^B%ze+sai`u?!?*8c;iF&b-Y+@Gy6 z8_iZ}Z?c_`o;bZAfaLi#V9W@jw`SC-`or_r`p z{})d4d1w7!I8Cy}Mi{-gD?~D|VP_+PdywUKBrma)Jna)s^E+DX>Mu^SWib>hL;M$~ z!3jg73*$~3N>G<&{gbH1_U=!TuK5#A6XCr3C&eU~)jTCK(Q+%zqR7&mK9c`ODE$*o zvz_Vui*=j+FHV!~b)_);7pK{Q1!((+<)$)}?c_ziSg`mPPNQA+Z=B}S#%?jpu@0TN zAlYiKwD5D@URg!c-d=h30D^75;xA6a+_F`+U)6DiF~SThpgX8}!f7gM%NWWJ>b}3& zKVbVePGieHXTGnHqO}khmcmIsd`Iyk6^7nDE>x1(NDC!{}w+z9<=v3E5A0}7hj1=Z`BuDNw6n<^0 z{3uED%FADdh}6wl6M}h$r1vRr|0G)!d;dwbY3>Y7w{F_qT5_I!*_`FJeJG#vgws?q z=lUXhpfjcre!5u?5-q#g2-DuX`5o{0l+T#vPrg@@pI0VaR{iTibVf(mDlWzqTY6BzUTp&;2#k&)=7~?8*Ju0p=i>w% z4;S?uHV>C*N)-=REzZZC-_}C99fmhkxOhi*igS3s^KBnI!bLEjBknJz?f8FmaV+!C zY&bv~RrAqd095&&f8#VHLp{$#PX2+@Fw0B&;ja0Ue*YIva}oe~N^$rHPID5-qWmwM z<|K$aG8gNkeE$_#r@Wf*p|~-2MzF~b(2+m&T$J`Bm5jU57rS_N#u|3Tp4cZy_FPx^?{(s;!PWN=+Ts~RIkK!obf8jK|crpLR zX++NASZ4BZZs+6x&(L1|8>jK$m5zPFY2*|}{^B%riSGe@b8@t@+X*$1g&coz8Y8s- z;56gvNfi|Zsx}JW-;tlE4#~uEr3`;J7dcPM1DUJp?~W)j{l#gDUNo~(TRh=3YgolX zwk*RY80Se#|HNrjqW_80tm}252|M&>=?G`6MuiKeg2E0U_oFZP5h z^=A9XwG)_32E9^E{h$50td0FpBy?2^_OL((F)fu7aZN_Pm+7fAt|%ex^_Y9YX=JRH zpE)<3g1_>z)YU{iXZz|9goJQ|l3(^f(FG{vdiAxcim|Kg1qz~k-1?a)PJ9I)bFoo} zuUaR)8EknhaLf&3pY6g>g}Ft89F%`k9>Mxh+&%qlm*}Z=Apo?i-Zw~Ey%b#E_p~MV zUrpUjmG+NSe_c>Xal_B9 z;*#P;S8ep{_brw)T?8iP=VvcxBtLq%^$d|#1iJ|A2hteVpkF+JGe_%wEIrpjnU@ve z*J!i7(YI5voabrN_X{r!?tbvdoCGHTH*GC&CrFg#h?A9lnIzHxIzo>84fati@>8SN zj2s0YD~-tz(vB{%V+*{NndQa z-vD~wZ=tnHV2)<>u9d-c1MCGYz3IE9qQ*v_mjDxB`R(jUv@0redyI!gKQgJZzwps% z^o43J)k2G$DBIID7^VV9P6l7@@K|A0^-pulI2a&{eu__~SSFQtZXM%E@Q2s6=M1NH zNCC}?AiW=*2QkB&!h^O?{PF&e^BZfY#n*T@h{Sk|yL0xrwU~jlY=kY7#$9-n9`;SD^MCa&UDkCA9ayNrWg=9M zTIiM!>?f)hwpFiLq8|<&CfY6c$FIBkPmZ>JwXb3BU-wZw2Kv%;Y=Av)21Qo_!i+mM zx9@I744&rjCcLzsPuvcg8J)vuthVKjuO~ttFWxhD?rneam}&o#Umo*v!2of$z@>H7 zk|J_wI|29Jdb}1|^*#>iR$ZeoUg=}*I%{;l--3(Wj>d@dW~q5ANgLnIHGjBluKvCM z5dp8=>_XgN9(bQ*U8Ui{BGYgY+t3oku`0H9%^}T1+?aoIwF2 zHc&A&@acG^R1zpn8YE*8s3oK-e-o&@6R67)WM~0-a}%`g9HcuJs9OSf>lVBW3bwjY zes>f2z9q3#APm|!#PATHAJZ;#9=2SI8@0uHRywUsD)c- zG(uM~tOVeX78E%b6yp|_OBj}r8kl4emU339QzQa3qW<5Q-4Ci0Bx4)glzy))LVv6sdC&kw_ZJB_BDG>f)gl94{2!6B^0c z5;=qRYH%p*shjh&C8~QS@xxkDq+8@hiQk{OXb$J7^_J*^o#=~D zx9y$a-O#8rQoqZ&7zR)bTqx#IC^ptL#w|7Glr$DyJ{D_O5>Oh8F&B$J?D&i<6b(HN zPdE<$HkOptm%KHOs5G>0E)ISjhdms}py$Ih9Ltgxf7Bcgnvdsn|H3UC%PX9)hR{iP zbW0FQ^A?$p5t~o=ah-5Unkd!kC8H1{>z+7}l6cgTs66kfIv=f0meeGe^hY;I`_@BO zAzHsRsbn^3=_bj9%;Q~a)O)?;bl2pcsmWHt?wm3%G=V?_?x*kzoF|CnGpp1OsI85j z_NUwAh>ubi=6b1xMocfHJlv(=_FznA98j}lVk7vN+qm!w9DR#325@EyOu^DldD#pm zEda&cro16aoutLK4ocga1R?RFSijNxb>d6`OSgUlUW8@{Pl0}~rLMp-CUZdu6A%R? za{!%oW9<`eUq%;tCPp7tG`fWmBvnW_} z;T!^}G;6@W)@D=Z2SQR$^zuW z?XOQv_QE8;L$JvSQ4a0Fk0_?cJ%u;2fK&8z)L5*G6P#mKi@~RzTy<=Ebua=7#ve4$ zJSlveZaQd!eK?7u8zPB1`Rud44XO$D$Flc`!L%!~VA|Wras&(QT^Ip%4Oj~ohFAkq zp@KK;31U15p2U|nVWewZY+=( z#lm%!M1`S{*aKFewpzZ~80w~q+}L4OK@k|ygmtCEjHTdo(C{npU=6TFp^Rb;1;LHf zn1&-XRZ15@pgWnhL5uWrGE>mBjI0f)z^!*&Q!9utMZ$0e|A+;Z--0QWa)mUoo)Y|b z*U|+YY_?v3Dbop9J?m_H>o^TE;V{s44ft>^U9|>m?SeyL4^~79`Bp0&V;K8c9?r@)X3>w+IAgSG!3g$gn~J z&gwqNL=+}iM<%6I5d_tH>6M;1Y3T$%p>-RkI7e$BMQ)s9NFBFQCKD7qWP+p;TQ*)b;l4Kyc?Uh0j+br z0xLr5jM{;)bS&zVN}aV#Ap08$Yphq0+7&V8iLIBy_DPn}(o6YxItj(gZCPovj%WR~3CeX(9;HF4 zP;Wg48+KG_<0TAai`Tv}Rcc<*eSMNUJlfd_uT5*i`uvM{Hi7^uiUdE&6?DK^wQtb3 zuSb|P2>K09<_-!1%RV9Q!KCd#ts1c4X_;C|ceO{|?@8wm@H`!R$qelt5)e}MV&y7E zGi(VGVT8jUsG{ zb-#u!@D!6nMD35RV5kT{GFW|0{!>%smk-kbX&}lL3_uORQ4m8>PzQK; z0kN&eRv8pD3<)(4N_xt%4^7N4nA-){$Lrg{G~9K<>(~zWwL2LELr^ejRPKO#E-E(F z@1F6`9SsYMhSdv06ep8!DW(wIQ-bR#F;N6@FXxNfrfNhM1WmDm_Hm{aesC%3T@e?# zJwsZmvHuRqKE}m9!Yza90JhgGHPxRgBGxLb$EtmpoUl;k%9QjoknmYy;+wSM!Ftdk zb|2!v=ySM>OWRY~OC7RfnX$=@ zqEG?a?XhF}T;hhU;_*`U^?~9SZvt7^q)KIW!ot^rJKzOup0FLbIyncs!xHwZ4gEg& z6*|u_j&%_`Cp?Aal1XseJ~>wSt+5lhb@Hty%djwufa-Cb0(S!@vQc^Xl@fa~4x>jI z{nfIfly-6pDyJtpr!3|tT0&79s75^nH^v2|4oMNV2L-DY=iH}(hEKo*(RKIg*!XwY z$4@2P9!IAfv;hDgkLL9a=P{{+f5Sks>R9GBNQNSvbCbGzkf%3mUJ#hIx`+jT`WT*b zPTBgQeE70u*|lZ+xOMEAS@m+5lDt%x8^)47{Iugjrv(_}Zc&Q%R5_ARGomHjZyJon zvdlI-G{Js*559+j>%$0|!qRrRw}jV0@Xz2C`%HQh?C4u;wQb<;3C?iRfgn#k<~6pp zVMi1zHeJnc>2lpg(e@K)!*$1w;0kfqQAVHY!L`W&SNRn5apCzV?00bRF=SlMaub6? z%7X*PQ*STJb&oQ3um9SvzzXRQf}I_GoKkXpzv7vHf)lkgQ$%$PiV1r*F^l!dlX?>C z1h%v_d4hvDi6K3enVPND_oOsF@o1Q(kvOG2_Ml%qWvpJq&pCVDdKQA%Ih6*Uar=1i zN}NAG-sJK*r^`A2B7ZJrdM@6b3|$S8q9K$qzOZ+{a7n#@)?O$}q^hcgs2>AgOI!x% zTxxfpm#m!YgFOtpgLQH)O>pUK z#YYXd>T9p#>#No)Te}Mu!fU7Q8z*jc1#T23dmwr&fCLIFWYvhFxlJ&>b+kuae10r)z>3ly^azA=}#W;XGfw=z+#sz_J7=$J%>-|xR6_j*w z4I2Vc$W@_F+Ei*n#J8HW@EE04oOV4FAU3)e@E6Qcy% z>oox$MBLGe;0Th>3IQsTB|d?mUAp``(%N@}NIIU$7G(A2!3j#PRfcR9pJ80k~(#VQ|nr%R)dNIoUp$XMoG3kP!uUr(^C%zva@MZ>j%Eqi!c z{l#fcB+=+IE!Z%SYxdYG>ozdB{)N*JI>_KF@oQA%JrgaU^wJ-YtLbIo-O6T>y{Y0c z3+L$txuw&t0UXMN*L;y0(%uC!T{+NoLb!x_0)2k)_{r19Y5fpzix=u4U*T?9qk0cw zW6EOS-&F$2iyOHx0B z@I!I~2OI_sLeYGAJNyS+qA>iDZ%~o_((#x(y_HErsmY`B-qEW$ylbYlu4PnM^qXN^ zTMWkfB#-X#g32@pDe>mp3Jn<%mIR494y5)5|{Wg zRak~(dvu_rJWX#n$niR&`2Ps->!bF}kVWy=D>nN<>-&To)xxPyWRGT7!%D`rA&tZ0 zH~T&F*+UWDM}r2y=Z3@~GDw^+0;V zWFxJMl%A3jZtPsLL9|#(u(C4bjeWLXu#_+Bk~Gs2yTQ;%NAMUWVy)oEs|!`2R3=*HKOW@&E9* z5u;wRNeKcn8U+z4DM?XOx_dXD@BO{+KY!=<-}TpZ z?K)>W@156qzMc=`)3JvH+>^O7H44>CBI$4AgtUdAaO~{VkW@65h9L@^{4V3K4Jq=) zq8gVTm-72NEN_32xlqAOYyoCARw#w8F1y7iEtl-v8s%*cC8^J*5Q-FXx>1>2WDNVy zKMcPClM?2b-@SpMgIF}2NGZ;_u%t?$Avm+AI zqO8a3{uwtvT@?(b)rfGlV*URh@u-Vp)U`p7NW1}DT>K;rBoa|VO z4dsr2j4;Ydx->Ueu^0MEM1_t_o1Czq9RnhPs%g)+p0z>t1mg#vgd^H`(R%0a(s`k5 z_?m~gkYuH-jQGGR>^Fb39Jw=d8{29n8WKUp{fq%|uGl{pMrB?!liYRbz(&;dM4z-0 zhb9@lQTEC);PD6SPqDJ@3f0Q=8l;X1IvVLtnd{+T8%N`sHpk$+G4Yhp?@AmfOCo|R z#~wc5G`PSDg-(PsU-wugkwaw!-H<)YEH>L=HY>h9=!5J_o~dMNj%qnC51SjyDoSc4 z5DwHvv)p_{w}P~Lo6m<8zBrC+*4ZbMtje@#uprHbZzR}{1Ia`Z7TOc24d;O%0Y8Q^ z^Ina6?FUrK{P-Df*0V*G=ox!H+MT=E!3J}}W6p{h({1C41nm3ng|AhzJqM4-4bek2 zR%@)8@eRsAR2BN{05x?qwzwdQ;sK{QnCVGq*t4GPwrvwFXSnWEOPu~@!d*7p%QB^u zbVe3ObZU=vI_#5TlUk4WfYXT7_@y05K0RI99;n8{vFrhslE)#iHOkavl!@>mOc;MG zmYqSC1m-mwHH*(IEq-|o5zf4>QXQ=)tX?y3R~ai+=&v{pWLEutLS;nDBLv?u!X%v~ zM~nC^YXVC4B3$XV7RIH2y|Zk4mm&Nb>q}UuzaobpLRraTGQ}m(^6(a+u4XwMJ{u5E z_P9X)^)U9{j$qOhJj3wCaPOgsA1QNK!q~^IZ*N_K%-QeU%||Wg$?Muo`H2ezE1%Qd zH;+*o&S|8>I6!XQeS@N07HYqX5=LC%U zz{GdhAgWL@Eg9@c>bP^$O-OafFinY1s;l*u*y_bp=9%NWT_DvP7|I+fI*L|#ApVz+#>?6s`Cxg%M&>`k6d5Y`Tb$I`aY;R!N$z^`?I7Mu#8Av24(JEwZ!iGb3}^Ge!%N)!?DJC zhUW-1Mr8P!l}!j5Y!I&Ai<#ANNCu2E$(B`@sg{eBmJbc-s0z4F7Evo_1njGrU9t^(Y(Q zGZoJiSc)y#Eto|$sDX+s;|H1NvLir_3t*2zJdVqRU_`9@B{%?~l$$ve?~6k06y7=F zx*$-ZbTJ5Xh(NBqAf=LFaSMg0Qp_PY$hRM%-mf`O9#Y7`U5s*v#fO-qV$evR&V&HT zOe{of$U1QrBH=?8&!a=!f09L?q_};?*hmGzVfqRAg=phqkQRBuE+@blZ)6-sBTb)( ze~Jv>q2++(_^cF0k|jByp9GEdt1RXQBEVz|32sxV(TOOKdg`uVUbK03pguSz^r77g z$rO(7^9@(K0u)+UkQtMMLU5%TfQW`rh_XTq7Xnw4Xn5uEu;K0)wahR|Uqy5lch4Oa z0*C=+#tRmqBK1c=>R>N*0I6g`xg>zk7vghB4g!d6>!Yv$%48F?E)#4X=5W#-TK9S) zAAKa2Iykc&6(|Y72?alD&hy~~kO_jBjzE5r0N3l%NB(K~=4v(4wQU4r(V0j*b%?BJ ze3B42z&AB|M+szKR(`40Mh_7Q067UVPLd_C3+4po=0%nbpbm%XG*E2cR8!&FX}5|8 zGEH(P>YwQcbJvN?w1@L)HTE7P!$6|0jU-fAOyt5ST?GB3#Q4q?4XL=goPpsOJZ1Aw zY%YReUTsYiDAMIH3t*6!!J%?e(}mBrRV`GN~2*}P}pLPawIV2_)iBM}=< zoUOS)=yCXM0+w&VVQ6h^S3+beORz?Qb662#Vf3vA3L(jjgZMgXET3MleO=F+3B}6_ zg#G-+FJc4^@|C2ofNkp+(eWZX4RGB6>hqL|Wybmp-eeYNLY)J9FY+V4QmO>o2cj%ys0m_lA$O)+|q*$T05x;9Z6;g#_)9#Ok z;c2np`O$)LLBl9}y)!5vIhAq``Sp_i<5j&L*D$ZJ^6=*c?K`N3&%5cW2)Zj~BwZ@% z4HWs1c`AhhLhv#$qHKxbw4Y-nkxqCzmY=^6vmx=!!G2?PtPSNZW2ql<72~zPL9>ul zUIo{5i6N(&A?g%F3*dmugw5vh7-Tk;DEPs=+y7a?1pw++r!q4naw0wrc;bx~8}kOH zYDE}wrfCzrG&H*#<0k%;4?yc3$Ak2VBUk|ScvGmu&rXtnN1+MjXi$JYfRqf3qXXun z&HgS4$QNx0K;UL}CRiVXh;YV;s1l{CQ4-L^fF5LcGu%Tk9t#03yd06M0`EN;|8N@b z3>o9POkkPC4O2%3!*XJ4i?9xHw~FGU1>;>7!21tgR4BfZc8*>o{XfacL_|D2eT-4> zSgP?HW+r9YtapLus7lLr)y8Vh# zVWG7?f(=kSRVNs(04I_MPc>+)z!S$Pu~5xy1@}z*o47eRzFaXr3At{aki(_;51sy7 zJIBAFD%zeV=@T0nOh)S}q3j8O3`Xp=ZlIb*9M+7RrEVVM8y{7Lr!}O=3wxp`YMA^( z-BeCCbD2D9~^9Jqa*W4u&feICp}rk`j5e@%VlY^!$)ZIkOtCmQ~jRrwReX zBuy5MP|*vx+{`OQ03i25f|w^B;Seln2~Bc~{#3ovTQV`;U;{}Or8r~{B1;%bD|z_+ zCqyC>MoRFVI>9VmiFg0{Fofu&v>#vJt~8HjjCUr~KOuCefBgD3`5*DB>$*&HCW^D| zLHQ$e3iduxABZ$(>-=!!CFv#zWJ6cE z93}^c;*w|bZ{ZNKEhM-iP+Wpwx6Bl-X522oYc2$8lVQyTjoZ3oe{m;s&9HG5Yuh|! z*K~-?r%wsyTyF%}uy@wl>-0KHg705u-lV-e{b{CFLh%CV6Vg`jnMlf#RNk za(;t~f3$G`L>Ih4dd4f;s8P%Qym3$Y~$DT&^_=f_>CcP%<#-2n7Wi#IXRd!cKRh zwG-b@c1CnVL*q^V68!T;k-*|3@f@1~KLQTL7{tL|=wxE`cqe;Me9^kAw#&yshb8pW zk22r@{hv4PPTnpbq36lBhu?w)x5yVPn+u;dEyO2a+4dwso}Lr%4ZU<1$+r-AzfL2QJ)g|trQf1C9|9t#QD`^k7w zX=2`v{F|H3wts6%H(#?8lJ3A0^ASD>FxMeKV5hB4-m^Kq<=y`7Y%6oqrMy*l3Y$2} z14zh@oF#ta@t*SUhmTu&=LA|Uf0Hbf%c)Z=?+N@C;xPlO$OQb|0)9kI;}$K-oiuc( zQ5{V9P}9ViMzb&a>)dPh$1cr@=f9}cMSL%!4`kC(oy28T2FJKs(nHKSZa~}kNON4Q zkIEDX6w|V+$RLWn3>8A_q!k4ELm-5F-sdBkK)is<$DAIbf3V_$YfZ9{Zo9jApB&nb z%Yi_dif$psAeXTm6rG@kRV2RJHnDxYhntVn4uNOQ{`d!PiYD2qeFB9|?{4$Wa#b5W zW$;G z+vJPNf9{yi_?LA2*UciB^-tT9?`$P?W^kexMwi|1M%GV^riXG3N%fxK;ozgS3Xp!? zEpFyV6cZq|7T{1Dpg_|t6B1C?UqZMZpd`_&pcgnX?){GT4I$^LQbr)jH-Y=(rUi>; zkW6z~1fRA~vyNFHd2xxFLW){KpoYTP_whGrij5^3{J&BBfBxEh^$$8o4$}WEPskl) zM3Z8u7GzhDGO<*zw8LAf(eRR)Z|0cS@jbp%Uy#~4olQotTOR=bGRPx@(1hmvo;%t6 zDyf~D+rlgvI~433ky#G9m`}>9;ly|SEot!T+^qnK(-|B#Dp%nP_4=KH(M<9-E2?0A zEq+v8&H3wXR{VSf8M28q<~v=GPomT13rv>%Mer*jLX>$*UuY^*47@fZU4oF}5fSAh z#sTK!C`{VAd4(?rLF{avsC$ms=c0JM#2j_}q*s@lFBym@u8QrDI8#@}2cczZ)p{cE()3VJd#NkW{o_P2GHc9GlQ2pA_GSo2{@hNQvC=q;`$;x&qn5{wpbf*Aa z!{1_PUI~N$hNUeOrY&_6SG(e#iLL4wTwos&%bm~k^u5?JCqlh@hS$pcYVE32;I>RJ zq6tu{6#9ZX>Ct9UqR|F=3^B4dNo05GeA$nExhlhq0_9*RG&loPzL^g9U&T<{Q_e=U>c=s6^lta$Ho~ zO?f|F<)CS9u~}~i%mAf*QNv~tBOwuPLSZTPblir9(HzN3q?gMWc*zs60vjGjHvN|_ zq&+*pANIuSGHl7L!BH^r)y$O&`eS2j= z7GM}{3Y zc&C*eO^oxq>31NAY!$z1+}m)5@|LKk=-hJwth3JDW_1+Pp-9=QkL>L3G)_{d(&xMX zi_?6q+{BVKS!(M6b^QI_>T_@}cYAsKd#34gz~m35?c?p%@Q_LErTW$(pz#XDib~v7 zZXAB&!xkAt#O7NOh;_C@k4n&Oq{wxoPzfM8ocYT_pGf)*ZQMI&1i4opm9e&L7gd{; z5B6<5Gthv{wKxD13dm8%`F38ZHPfYz3|i;<52um7g68t4B~XU_&NE}mw{Y)b`yZU9 z+D!H+lc~t}h&cz02~>trfsYH<^=P!S&`EeuL6tP2-W(M;wW$kH30dPYvy{3$L?b(9#*h+;^X) zc^cZqrK$~fxa_x$?60qRn)?Z4b_?V-%zj0S;Qz$IHJaM05nrQ6|B@rW&5eTuag%Ro z|M85Cf&88oUlC&EW%<(fCv*$$Qw%BNe}m0=L@Laj>O0X!=n}r!A)4jE|4<;kHH0^| z+sgjBbP2Cc;!Imek@_)&Y_Dx3Fdh!ErOcg>VZB8hQPO&7!^BQSg%pKv&=_}~@&9m| z37ief+{PY$72Zjye?1~!T%PERc7J*b^Iu!G(;> z!Vfr&Qwn({=P;LHmb1EO#;N!D5TF0M6zke2w1b=@LixI}+!Id-zf1$kL*J!&?=sPC zagIt&A0=zUSxLV=A$Z8|WkdxsFko?w!6Dz$y9c%)Uk#Jx?%!pl57Du(a(&XUoyyeI z*5abJK&kn+LQgH{}eIGn}e@xE!RZ;C*#11h-3P=2Q@0V2CT86)jmiYxa< zzzD>-A#n8heI2 z9EQW4X-}nLfA-q=6Tnm_#@I=?y&f6IZ8^h@QLc5@puelqB-4FL&}6uc_vUiYPx957S95tMNDg1(mX;QHr*#I?iw4(>%?Vl&MOwfc(e01oc(p?h<~to)*Ub6 zpTr_>5gPk|s{tnScFFGf15RU8$`X`^oSU9+YU<_lek#7SbWB~@b;svxfKX+4(ei$T z4dI*f)*3+~ku)sFAK2Bk^2d-yraO&4SjytZp1*|bm*GwRRvufm;D@J7f1?dnm> zMcVI3frzH%)hloEkLP?%5r5vUIj_F&oBeVSg>|clftYszs0C4S<_`gwb2NUGFBTo| z#&_w5g>sUOIFZ{$0=v#ZojJio@c2_wOipJIi~Kvw2auX-lx&zkxGvd(*YWGe&Jl*R zqtt+1p2sJ&<&yJ4nXwC7ETbo*aC!g8#QLAUkLW(>#(&MOES@@L^zYUC*pgXYzilZ_ zH*RY>oRsQibbWQ4I4Q+q zpi-dtkc^~0EhTK&;beUDEznl9Dq#Vk_Fif_zj33A%j=g`z;#^F{Aqy<-(T{mN3-UP zVs(7x?nVkybB+1ybrxwq&1S9>jXze^2Y9`*JPC_>H{YHf&bNDd_h>=n{1cGUH^y0{ zdvP*KyseUN&&{ZNY5t>lM{C2LS3oyrdG%hrbC7S}FQ85=L0pDCqAEv`~& zCI3n}U+RANAo1~};UMy)d+q*S0*%Fg7(-#b&dMn{0E{|}6Y1F?iIyBCq7bK)b+CN*|A1F-_zPRIluNtUjKU(nv3HVXnT>Fr0|IZ}~;>C3L#= z{-omK>YtTBc>c?%eOKkkzf8T?izl{+?|xq$gbPGue7`?@-{-o2HgUBfqHsFtBY$dU zdwYbIIr?OFzhBuDSqrxN{bNo3@`*%6rM_+x|Xe(tI-^5=J3Pi^$y!t(& zKXA*V5XH^VxBt5-@LUduN*r$=R#6Q!VP=uZns}y-xoKA0)gUK)SEZk!JP+;GWHABf5QDr63&=~yn$Ar4}f9M#`SW2(%m|pU&^|B3u^$VTo}l?RfM$RhMaKW`Z9>& z!&d|-%se=dh7=NwrQu{5bpG*3UPTxhBa~V8M7RQ%@u`R?78NJ*;n5H8z+~&d%KjXm zR!P(zC~RF$;q=r{8-DZb2{*eE;S($|PlsXP6OJbkM#w9oY&$yLIXZ7kK!qCgvxA|1 z4C%lceOP}>g8 zMD(}pg3G=6hpii{9B_XdtX6ue{^IF)1y+v5Wp^HSt^p};d!X2XPPT5U-`zAfN!*a4+{i1JLlJBTMb6ZPC;n>v)o{iv=C6Tc9G)H>{Zwe>QMj$}|WZBnDoGrz64au|BG+y#@}P^3Z5g^>k{M&&sh% z@|Y@W+S*Lj*!26S%!WYfW(R^sX4*-X9Py{l-kbeE2T@pMN-zSE&0;!lpEzkL6!oXz zgUedE8(A2qO8%eP60Vn}uU|A;mrVZo-Swvs#aYa_n7CPMx%%f5K6lw)yF%Tcr38+z za2H=ub1Ossj=}3HNlHu8*^l|$n?L=jl6SxJsyjES3&>)xX)&)1b0^buA1kk`{mAeJ z^}Ra1E;a9Ooo-oOly$@8-))A!CYE)We)oEJ?nX_=*SH=B?R8&il!Q7th>z`p+_u9*xfC-a319ovAzVvB<<0 z=V8okVhtPr;BnpWc{1VoVy@m~#dC7MzU3ot6VPjiv!M{*%Y=;2WT*a{rN>wHy|0iL zGln>`y3c2I8x~l+8ic$i68G|*_l!Loi~}3K|KeGgezf>;Vp+3jQ4?oL_4!ic-mmt( zx5Ind^hkVBIE850I!Pl1pb@{#s@T4vafx?Qm2cIOcJ*pkj~+0qj?__y%`toH9b)#f zzjztX?%}TNZQ+{#wA|AxL_&7rAoUuX*G0d*0Xxb2JAcjo#PjKk#%%wJ!(LC*^KH!T z_1>NIUNvpln+zw`Cfs)Dr{e5i=uyVj2Ht)qj&qNxc)0fH$EHcf_SnY_ z@r744GYw#ac$!su1P_~iC=fs@GW_i&!K}_9yaGYssV_!2<4W4+dK$BTZ8-$gj(JLt z#zQLKnF^fE4*?U^?;QkmotkqFn>g=$;E7GTp?(LShdz-ZaS<`?sc0(bFcsOSwXhK& z?IEdM%r9=_!+``*Q-?s|Ehhb0=0gXR=sim118X>*6*j~2(GmSIL*Eb+SQsekPg(iy z5hfAJgMMT+gfmp!BiRoOMN(_0Kzv&`SR0>k_%jF`-x9ssqJBqCA)sCM?w9TXVYfQm zwx5zr12ij0^i^Q}!w`^J5T6N#Z4Vb(5C+0@h(`s0V@Z5gDQs#ihh;}p+JX!hBd63b zzMR7a!D@(h|DzeCL_#x24=6>GKt1jQD)4n&YQY&Jr=h?AXt$JQPp}u|CximDAnRXl zEdlrP{w#z^mtpAYA;Du?Bz5W+AR=bipkF~o4Mu@YEZcUg3kTAQD)O|cP{0&{RsUfp>ZsbqE6PT;>PYK508`p;kLI%MfLuKr(cT=ufoj9JcEY4n4jY;k&?3n($GK zg{cfSYo)fS`W!fX^}Qnrh6|qR28>f0H9GrXn!vnjPT?@uf5RE-9cRhnNri!MDAI9F z#QpcU`b%*~yK|4%!8!u_Q>8vjn}NDaesFp{z3!uP2Q-z_;U{}ENB7VvK_IAe=nj$u zXM!0Mg3m2|b40_`>0w-_}p?$n#7ug`P*l#j7 zVmj#eJfm@}cE_YN;z{)Za}&Ov?;rb)3MVa`I7tLXU%XdQ?&!x2Wm=ZN^TdtS>wnzm z1AOhLz|#+zdZ%K3=}3d^=^7jk&d^yC_kRD~PU(W@Cipp8KO$)nUy9pF%BuZa2V|&B@Us(vFsv&VeSYhIXL@7r zwavS91RG%E#BNNXlm{L7=IE670`H+{cn&tbfk2%zk#wVh9yhDLz$r%dA8jp{0!g2Nf`D6=7JxdV8D}L{&2Y-8WoMqId zXD_7KNdwVm z^fistu03_lFB$(mr^@&i4nDm6tZaZe$yWn(r$oF~25d`r3%oi$D)ZOAofL?D*B&4_ zrKYaP>L2HM?)}dXk|^*^E%N?;?91z$x!*}{U)3oE-&Ln%eAi2H6S#Yl6WR9l{CHFI zr17}d)$C(HXZm21SY>D3jz7MLJx~oV)Ji&m2S|;5lDg15z7+}=)dI#2Nj(msLi>O$ zKfn|is4@jR5___9uyZ6Z@Sg>T1{a?;*Zgm6fz*M$O&4*^-O7JvdbHI;g-$n8%?~wh z+Ng)_{Q<3{eQ_|Xd;O97zh8yG?*(5DMeU~C?A;t5>ZKf{5(96dj%n0J-``WUg+V%_ z*8U1-(FkUp3fsOq)W(Y9o;jac60dsSyR3IjnI|FAD{{Q5e0?w^^WD66yz%m6ez_o8 zX&G|;n_qXg5x~>*r~Xa{YX~<63!hpvl!~zkw`L<^izelqrbU2^Y4k=HTNF`B=g;Ba0R*Qz< z`d(9VE0WL?+3ti=VLVJ9aGKz=>j#`BRv>}@e{mY4{OV_ANf3M`C zGNrqHtudh`RXDAm!*B|nMDT8Az1^n=a#j5Ac|#JrPI2J*?Xy<=o@aao;*r<9>u5c& zS>)}bV9&)?H<|R*MJV%M_Zo?Bwh(!2cP}B0$uEtMn+t*cN5A>&YeBGyScicc@^~$fHQ>FMy(lY%q&t$ZL>DZo&&b|7ap(0HPyHJ{-?`o2denfi@1) zJ}3NEi#fn05E!NpS|J~xa=ta_rqQ8*j6IpDIO-(N*~mM; zY%^e{fAt?uL(2LO^?=h*d=Z_q&iNw#BZ6X5a=SQZQhKk4;;W3#SdO0D%`L?g42L0i zN^#?MOp=^SYfDNAYFeS8SY17H=5}tnu6TsDI>idI|gp>|@|u;U6z4SUs8aqOsfcm4=B-%HK$| zVZPx_NGyloB!^%L{IeZtm!5viDFV zfXlyVmM%w4_p5M}H*fpJS$l0#mvwd-zO$F@oU_GtUeQiP>ys;28@_~0CEc)N zspog<8fx&|3L0tqwIVvd-ks#!+G_4!|dbT<+4QW z?GOC1=$n0oOjI%w3eGmD7$sq5Tszl3^o0}) zX(ZlIrgd3@^KKD1+ZVvK&!5Wl%z^Utm<;FYw~UC{HDG)}2jjhOfTwa5Mtux1BE(*v z$^l(}+nEc)wKa?}KryRRN_6vZHUc!q7^v`>AK~136FBssmpa6s>us{-e$HXUt0Bwf zAju5TdGmun!2z|x#p3CflENbg!!rB)laLKyxM5s9L>XQ{E1<1Ed#4pym?m`=wup!7Z7eIzxr+VJ+3E}9g%wNyGPKVG4<2ZA_R@(g*aG-~v_Omxff`G&`- zihTiOjm;jxJp(udWx!Bwsv2K80DUZKh%=qJF#g9Y>Zy^z<;A_1U_ix6Dc+|+vHW*& zv#4--HM4Hrm;y)R#YI>s&A`5o7w4TiMYDc>2aZZIPlN-7a-u1YdY0R*wkA1Cy^rb6PJQA3L((hP+`Ruolc9SN?1%!Rt zy2bK~nJ-asxXv?;-yy!w@#q1BPXbX34#!z+yfG!t9;nZfSbAAM^($>t1|lfB#YwBC zGAcE;)jYqi^j75Oq{%&H(wnw$iYk0*BFC7_vfCb5mtO)ot7Tng7oQ_0tq$FAgrn4mIHW8x3sdQ*xF(h$7ILu7$@QW*@2eYSp3LrX1>--89SI!NV`aadOEC9kd02 zL)uzd&~gIf!|h+DmPBlwQ?D;fL{m1hyO;LbzuKk*W)6qhN@9}HBSL~GDPj?vSeh4| z6!xHGmM$)Rcm>N*Bfj!zuh1k_k*vuwFshS+loI0@qC;ElC?##s{cOsQ7I~!3y8eO0 zOcco&`~p9R`|0L8;dzU;zj$FI|H_{1kNt~#tf8i~D3JXqz@Fz*u7aDpuj8{$tkMnb zo(ae$JxRcw97~T9Xobfd4eAo{i%_eK`@zOs-AE~dSJFF;U1l-q5x6ShGQvMyiY`TQb1m6*HHB_LhbSpQ+-p0X{cmb6NS12E9ScSdS1>6Sx%EH!&9;+ z{{+x(9WW60r86KMTmUXJ#Rx>G>?-K>hu3O}@ z7%ah~^G|`&wl%)Kn-t7zXdP!sHGuWVBjIFrd#?F%n_Gzwko@sJMSa;aB^+h=Zh}BO zVo8AF)jf41(*_5r)}~T0L8jdi|RMnVc7+o+g|P~;0ilqF1SEo^!QD{d|>Bj0c(Nxm@!$!Z;o`4?y@c0dUFXRmY6P^TKale?^^w?UDF{gzT-V;X?D)bNUdCBecViR*?>v;>gtQ$3@?p;& z?E=pA2&yyP6pxC-xZ>79WRc%OF>UsPfqqn0M@zIvzRg)tc)rofN5MVsaupLpZe8iI zcIuin@ktZii!&KK*gQNdF5*c$JN?>sYXuJeEt?u0%StfIQy*-8v**)wS!w=4O=KK1vx~E z@_75vG#l$S%d^4R<3qJZ=BiW>)Ijl;=vdts}-vh!<0 z*#2%ti5qa43D5Mzo~1*07}&U8x2P9Bw-ev81Go(B9F2EQTh&d==L_yX zoqxi=mTlJJem2{}wrD7TF&N_eldbZrh2yS;=UX=Xu;uI=BBWI%fFq&=Fk+@VQL7oj zVxPex;}jB@QJ|&}rWg`3aunIf7Nk;P;A#~Xnh|AH7Ezc{`D-YqP{qmjN7Qk~mi~=c z$#XFe5f-IZ)yC|%PBRh(tYUsSa?$~2aUv3XE$GH$iGmXa#EfKZi*(|Nl#q%9F`hMV zj#Mj!q|~tfhZ&hZ3fVy;*%>FjkrTboGqN*Aa^G|0j;f@2G-S4N#8Cm#R6oW41<2dB zN^IvSxYqCDkCoXT==4*0!6MOxg(r4S9702DfXuv zX`7)Yig|gWxqIgF6ajUXj8{EK{p(swSk(ZBV~m|Q zdKN#|{(#n9?Vm71QvidXu?CN#T1uO+@h}$BShK`l{pGBN^N#ukPRx0LMt839{fVZ4 zvPrJJW=!C2qNsL)qhfEa4%>j{%&B+sTkRNQ&W%7T1f_;oo6dzO%j&EyTU*etQ?-Am zdVDx~?V=i2#s>HUdOicdkM?Z(035tB;KwqcuOooD-5wOATfkf)8>>%vra^jU-w|k_ zcgD=_4A5UE{AiEEKgVg_ZsHmQFy1s^4Kl=kXeLlJWMehz#wq_5IHYZl56jzEtN@y> z6PlxeuuW`?WssS|Cbs#*T6hJ}+}`4;36vgSWd?vciJ7TvTDG3CK0=zj46^E`f_BcC zs5w|$08GD}5l)#vOV0=^Ow7u~*mCnM;3&I4K{j(|tP68i2|30xBgO_MPjMU!&DTx9 z>lW>EoY#45-X?5eVr+sP0#QLmM>X0BdD>}IKph917wv`uX9nOh!*6HU`el|14z~D6 zE43#^FN1K{+npbHCv$)u9Oa6Sb{;>o0Ghfwp1Y*Xy9}POMu{W1f)Hv?oXt#K`e4qE z9oFqsI6Y#{F{U21;!yW|KsvQ&MzGv`;8O!J%^ERiO9#RxA7>!Qa@oYphuSJB*zJ#) zH^%PFsvyrq!2ytaW~)+RCY5i$-EIOD_u-l|bndV;Yc~lv!`=zD-J-Tx%eOQuGnFzm z!x1+_nP@I2&E2yZf9p4#7pD7{bIf^ zjhSOiyio}=zG8<6BX^+6g}IJ{-{^%iT|uzUx$AdvGqDTSR0;dYeA}3UP!U=~jL^9m z1I&YiHZwE(3#dXhgXIwfnblBhJTlt+k^O+`d1qVsxr{u*O z!GmLR%3>HooeVak%R^DF;z51P9`7ZsdpoSJIuqq+GnEFCFu@tE<{>t;Sv;N3{}cjT z+8?U7gV{`y-Dlgmls(|Oh*G}qr(s_KVMQra??4Ichn}xWnf?!9f>^$+}LAsm}Nj{H2 z7KtvMnfzoN$?UXF*PP2-wTh&RPK$C{LypB)NXVwqS27b5|2Oi>Kc+;F8r`l3}%>*>+3bY46Sa z9(m``nBIuJAg2k@l6n&)sih@mut%3D^URG&+@U?h{bgRn<8?!w#SE;Xh?l`Qf)_q9 z&myrT@}sF7wnGdJLTqTv>S(TAGtMo;yF!|11HM}(y*@Ym`XPX{Qv`z?z($l64H|M* zchpyZ2(~jfd%W(`M+-%tyM~ws4~NtfKdvDUH)FAKAw2iWkjNaQuH!p%+74@ddTG_2 z9}2fJW0i5C=x)1Nl;7?W{39ih^+C(T#PqDg>ntd_pxvVOQJ&ZP4(IT<&w?v}?_YJ( z)H`;Yj<&mQR<91y3 zc;d^g@>-8TS@KXu*q56VHgBy-SJ4Nb#$WLD8}j+d18aFZhh`A^t4P~d3OPOy`idlv z@&n*$CvwUxkUawL8y$nPgYitp6TmI$G#f( z%o-YBGM~Y)7*evlLAk7Ev-~i!8|_u^>s=URfPb?2;XJ!SII!?dPX4>iszlol{LLR5 zax%Yd*1&D6;LX*eNT~~(_1CRyIGbz0RSB@|hF|Nt#QHk9yf}^Rrb6om6XT{%z@~_; zAkY0~k&tKJ~ttvYj6f#Mrd>N~Mve^D`1^g+J=XtgIH$Y{lzxZ#;{on2= zqn3|j??3+SE!}O!-W_J#8n@j``?>q=UidrXestB|4@M!(*6O~6(|%;(e#znf4WrU= z)WP@Z18_79pm5k#dPwm~jtFy@W_ZM8Cr8_NWCJ)U@Wh;xYF|W0^M&?ZbQ4^r zV0h!AF9kkb7ASCKDqPVdURCyS7Gti!YS&E|_BVakSm2xPX!f?~n}(5_(N}C}g>G(ZM_r1zdum;BG-1G#DrOUbq92a{XgO~H29&n{}(t-J`q6l zjeZ=xByA5`sCK$q`{n=QG?2&#oJQ>J{Qr;BWGIf~GP}1i8`gO)e~2WMc))2GMjvn* ziKf;6!D-xscls;T{ydUTm3+53oQjeD52yM0DVL{`h@R5x=}56m_&t$y8+^P<>;J`R zvI=9|O?jjraGEv`AL}%k_xnG3!e=}qgMBSg9$pVPjcgZUZQ`X&G>MJy;rF3DtG;wO znYo>n?r;pr{jb1{m+k-IG?9ac|KT)ikv;H%=DFp*3?`Y||8Sbuyms(YlLEUKTt>X5 zXaauBn0>4jj`|c5iz>nXIkoLhe(WRf2b_inE}0nzGDv)y#9sO)D}lRl%psPU0J@0_ zt@sb8VV`wKm)^hpk@9#*a_a%7dG;hjl`#qGEf3Ooz-b%`|HEmn7P1F*E}il%H`SaA z9&j3SkJ+bP&P6VN!7eY{8@Wmgf6j%t6#Gw)xReC1J}Y{8Vk5O#9Cd$1SBfGDd!4rp zOh!}$kbg#0+CCz9U6HLTomZJ}>kh5LHvH`NTI(r+`x{1g&6?LWrS4g8>Kf~qYa=TN zJnBi_X?is5b#YhLf7q9P(eUy9n!XW!tXW@+W=yH~9-toQt^XuX=;bypuI2Umn=K~A zD=&;-%(ZbYipQ;EGd<;d+j{8@N7n;Rlh?KLF`T{ocygJ-*Jb4`2w-0pqxuMhMjv1S zh=_dpU8Ylf2m0EBo9M3O(M^4TN}wu{5WwDd#DaUmZsrGyWrlsibw< z)NUbg{#3p}5ep%kIWUV@uRob{p?MRu^v{1!j27@SLS)+YYvik?;FR(61ppbt!#^xc z+UgIK+DnN?+=BYY3;tM>k}qNvNIW;3iB>`u)9ljef4;b}lzc?I`^9IN#u1}??f3H4 zr2B6gJzl~7>OT3$e_Il+Pw89_mwon=*9gN8#=nsCRJN}%zT204xe%gdeQOwYXWSy z-^LXp@9wpp_W_=0$kY4AkbKsU2lg@(IjgT>7#Apkn!aksEQ6mWGtnE&`d|rU8CXHA zpR7?`Uc?s&CX-~Q>G>PWJCTTIx4=SH-fT7KUQWye8l;z2kEfHJC5}#1VjwtDkadEP zWk|kd;r3HdsbYb=>da)*{3fSUOiI}ln#tu(E^CsiPuq+)665KYy7C9J2^&~P3)*I- zdIqM`Ng-9K>c~^P>K%R5Lt`I{3WB9})^Vq3<7pK+zuyFWCV9of&D>#J>@ zq_jwv{0oBno%xx@#_dthAJVoPFzN-g-I9Lc#7|8efd!=)>hxAr1UNmP&*Q-z=` zN8-0#@}9}9wiQ2r)u8bw{OTw;TzILZG4Cfs=c`KUBV6x(CVefOnz1@RwUfszW=96U zeYKAD25zLNCkdH-1@_|9*hw0BzB*G*iSz047N^0rNnj;5x{?v|1+At4GR&kiVN&C{ z)>aXo&SGm=)!_O&oLn5uhwn3tEx|3lt;05!Gu{k|&& zQfMm_2|b~PYUrVw&_Pg|2nb3OX)3*m8j=7Zw9q?--Z2yv!4jGR>K3qJ-GE(DK~b@6 zIoW$Z&-?Ck&VA>enLFps+;cMnGi26eSZgx>_5YUj`{1MP9t_+)J3gtanIyO8$rqp9 zWE>Q;8iaT%PQh_>Y4X(3ear7Xdn!8mlHTFAKz!`y^K&A7iS61h*gwvWy8O`Fe#&Kk zVzu;zu8h*CTcd-YABbOE`=cTw+WGhIo^LO4ub)0qJ@xzE?_V!ZqKR6WPqR&VV;l@d6 zYkhSuonUD?Xfk;j*B8O+YB#E$2cwZKyK*ze4;&E4gWlTzi@Zor@{|E zpIXwRZ)V&bD1LYS1zBjspV1e}I=9Bq*uruE_l`uyDI843HE5oG#7NHT`m(5)4g~XL zoF~eQ{E=RhfBe^{n)SLj;k`9?vXhOO5(;ns_$@uJH`%x^L1ZZ~y8qruKAc8KXH`@D z*wri6U;0XVSN$J;zr#vC+r!bFI{3Tn-9HPb<*&3vuX7&W{PhKN7NCWdJbd`#Ze!an ztRUD^`}kdUV_SHTpeQo=Np9D<(TN|;%ZyCnpU=+q|2%w@D%K$!96Kg0azcxtapB@I zS*FY^S+Ki;zC`;9lXGvj?_6dYV02_ssfhmyqh?$f0A^Yfmn4 zu0H%=gveNXUw^bgV*hG3qM=Q&@8i^t&h^5378443-!6OYPgc6RIcNBx)PF zSElOUZ`E5qXYDxt$m{g^%Bzn)m*yN_{oL@W{+9K|*_?p6Yir*gr(FD6Wczg?YkSg) z*!y?WrbQnsPp71qoLawmjt{5#F#M+d9e=86;g?>eKhl#=z5D(56PqeKe%-6Q9QkPX z<=1yl8IO!^t*&j!jNGw0Nw{+=l2)1W>+|K4*7Vf2uUjX#iBrF{r?Bs(3sfl}2-J#u zv0_)L$QA1LTWK<;nNpsaWZQK7IjT&DyxgKecg_i1hobT;{eitSbu5W6tzT1eOlg{S zWtq0UBSizAVOXVP{K{y)Ju$C^o-{#6-a0{9#M%xUzto^R5agVy7?M|YttS}|mKmQs z8D3269>Vs$%&g_+tmtM&V5;H)WVZXTvnL@N@09&a`DElGHJYUN^>l0O!a-OR|In3kD}(7xD_?>v@&W+ne-s@!~)`M6WTwa|iYgM#}^%){w| z#a9K6$ikt76ENe#9FM{#nzlK+@Y--8XGLo}G3Udpto2mQua0hCs5-NuPN>G&Re!rxm7NwB=AKeJQ(a%Jn&ns7>R3aItbuJ*C*{U< z&(!o*Yo3-VCu-EXQfk{HYwe3+V0Eoae{El6bzyGx0Jcukpze%cUG{m%j;cDL^L6I5 znn0O)dHs4z&-#OD^_?a4x9``!TCA5`uV1=fmt@wk;MbrvP`^^$fa!10U1<2=T)aNh zu+Jf|Gv9se0SGBeK)?yslx|Z4M z=hC>(#eVa3>j8Az>U?V`y7i!Jn-{CiuB&Z1uI=y$Bf$oEqbF74qioK4fVG<3V8 zdFtUe?E#Vv7_IgM^NuHRjmBCXxw1+MvYGLGM2&f?npS72tirpQrUF*y*g|7ItDTRi z@fvBa)atqcY2ih7wZGYtdzVWe``XgO>Z&m+KU0&q>rLyxtbE*T=g5fM&dBmh>5iJ! zt>d$DyxFoV-@7MeyJu_Urqj!Q``&Zizja|mw#5KC#TMy~>TPe-RB{)Y=FfF}&|7`G z6c#UVpG-aO-`CNod50t55ZTP9)a>~RSs@C1e9*M>Rqx@-6qac?(%c#=5rDZeM@6N12v(tdy)~7ZjWy}8FinTU^vZ{*@SaoRKK3kV>{D5ZAc_s zSP(Ph+SzxWyXGe$;d2z%(VC=MX&f|RW1W3$=eZNzQq;V25u^P|QNtG*!#fPXf-sw` zhr>P)`7sJOY$l&^NHAlxx?Fo(Wi(i`4^&Qr@ZmI_-6Ma)X-*4`_G^z0?i@W6J$f#0 z^nCZ|=(W*{Z$~c+T^O?%QmAGmvY7v+esGzK}%J4K!fGbai@+j;qO^yRO4m%mwD zdQt24s#Zq(;4Q(2bP6n!9L%|l$mgMYctY2Czuxl1gvT&CV-l`oQZZxF`C~FYV{+HW z6jsNSgvaqZ<0=8$M8R9DBh3s30lOc=UO7{^SQ=1-Wpj?t#ZtyU*? z2v6$tOxU_k+Q&>f=1)5JOzzYf@2CYS!c!hPQ(iwWy2ecH&7bn?nc8=KDo{tVGY|CE zxf1Gnmw?jS2J~{ z={l3gW2STRr*nIz_sRdw`B4P`Kt~HG2Oa@$fgC=ZN0*?du0|xN8|bK;X=@p6*CQEd z>5_DG3^aBSx0_iIwG9m{`FtKTg0ra!nPf__Ft^*W!%5N2-&R-K#!%DQKy$abh6{<{ zZAkF8QVTTJ@HZlanyN>esgkw49JKtMv;+C<9ao(Ycilr?y3u>};{3KJ?k65|cCp@X zqmu5S5bB^D<%GAj+3DoC+sV;=r;C^SuD$NNecj#ndU@{i-Fv`qZ_qyfke~zMK|zPY zLZc$Wk3>ZrjfswrJ(3s~o1B!Go|=-8o^~Rf$cWNsB^Z`x7&m2PWJ*v=V81;F9)99u zcBp&gS$;C*4vOUmuvuh$MUZsMPPr~uxijuE=RL5E2c_B~B)X!-2ajSdB#NGi1&8Co zN$+hpe57vqNakwp zTE7_F@s@g$agO|9g#2lo^6O3}>Pa@@J{`H7gLsxJ_$D8|Rs{RRhW@GmGO5`NdM-0N zkCj_cSWwI^Dk~{2FDt96s;sT4uCK3eF8+d>h9|8>*Wsqg}&i)Z!V1T zxi@3H%e;y4iK!_*^XAIT)j!cU*JiKr(KmB9Z_eFZnCJg2Eb!?!i}&u`U%dA>183>? zC(BDuo<4p0Hvnh#?dsZx)sO2RHvW714gV|h|C1MTiyxxNJ8?NYVzUrt+|cQP-=+&{RzY6PCR5K+8-iK@19nzSvnV0wsB`hp1oAEF&enc{F3Vl361| zL*H1N%Fk+WD%A>%T0d0Y?%tSfHao=U{J=_e?$0LWmY|fyG9X0BF`kxpe^=l&ujqTH zQPCM8t>`9SxW`9_8GuRyhGJks4zKTOFEWb!?*s*X71}Qb#rS5fj;${7IX_WZKin6z za#Nbgzwt^~PY9xh-TVI_&MfB?_-7{T$WpL|!wI$LXGYF_$Q8G~^V!UVegJJ>E$sHk z==o2XjG)#B`nBV?2vEQ>^XKG;Pal3$+1w(1jx_Om3WNQ06S{Q#gTranzI>M*`3Jvl z?$P*-&-t-&p7^E_bh2l0IQf8Bb^Z6XiR8=+($tAo< z3}NZi429$ok8FhG8~GcB7LXhgLklexheC_U=#5Z248fBQFgH1p;tV8}t}GaFdwd(h zo0}yV{JEcJ>*bTC#;~<{MkCyg6lZ$oI4P6CCcEl+^l@A)MM)P_6%=xd{08zpGE|#` zFf%?(&55Aqqyk-aZzwwsaLG!(qTYxGDFMzQ8(ky*Xh&2wYF;!>{#4!P5?~iQZPRSCsV0u_eCpLYfKSwb= z06z!yUu#5cyC4udrI<#F>l6%I!@MV7Hy?dYZ%7tg#XDB`I}1aH*Jc>j&p2dA4o=w} zEGL3YRRMx$2ef?CgA8HTY0inBM1qhe6amFA5N5cUIdhqXB-)iS>R#Kb!t6OS_5z#4 zMtht@3smV1DweE-^_6{nZ=VbP3R%~vJ9u=P=0F#@gl%rC!kWZfZK9}N90J^gwwA7H zoWAr1#dSVtHHS_CTM$B08)I_!p<%(j0h-tlp;klqNYilAxOr{@gZmhzvhHI? z*UIKiLub$QM#p7}9V1k~6J_QM_2vbHd#zaaw=!$R*(ssHL zQxZ$lcvg(^N^O)H;M(YA;BSUGHDeb*iphmWsso7%e+A~q`O(F;PQFr-SfDWNR*Nu2 zi&WJYhjLvRPQ`^~ss$O)bduR*7aPYcCIVzGFT@2s&+-zs(RFWu$xhm-L#k$2{NAzp zNC)zEE*!-r+rW{P5`WHV<5B@1&aeX$9_5}jJ1v!>oJ(3Oz^HtK>3qLhYRjV~x%!3R zRiIiP#j^=n9g}K`V=&q#S^QK792ESBlEJM=l)U=AFa2}3r@#uPW>}u%!Wca;o+i?ou<;q{)E=x&mvmNbyv^)4P=$#SPiM^2o2bj*}eV zBo8|-d4-sxsT^5^oqQRFWAB*ezZ=j>M&h@Olt>16257I08K*ih^fl+#GmR=k#@(VA zi1KMjsGujX+r6ZGxvYvn{XEp+<_6S;!jn`RT{G=Cf-G!>J(f$)5{DzW5%$uhJb@#zxWIC!hwZLPmMh@6i>wQl3UlK^OQAA6Tgz~; zFG^w?bGXAZo>U^6O4~1heL`W#60VRw>CAb&j8?N^%A9YM4P406)$zKi#ZZ)0hC$iRSVEkG_Hq{xKL z@YWWe%T$IJg_PSU{R{&Qwysy03iS6rl@t=s&L^I_am)lK7o=}6glZ<-#@|xBQmU|;<;BRu%nqHl| zA)De=3o)N|wtt1WMi_f^WH1h>ENSf~gxJ(@ViFF3x$c5^Ocmj^m}+CLOnZRAuem8k{`L2Ghl28AlOxxxlI}m~rUL zGBkD) zXvE#QlzdhIKu8F~MeMjiyH4l<{AY|MY(8}!mHOj$$KBD{uMLV1#3Y9@fAR_$q-M&1 z^_!2WRvzx!R08yCmtDNiv%LozloT6tZKeZN6Sp&ES=5wjA?gblhb~`sJVphnsBsc! zGMBY0@n+{4T;iGNWcv>f53 zv!dK}>>}VYmpyW;0Vm3tX!YQxkjj?u64tF_^`_K>b_>kvpL`a-)+B!cw*URCa2I8# zUC=}EJ}y6B9NkmyAx3ok(FB`P1M*^#=p`s?4YluO+5ze0=`0`Jq`2$$-s*Q;uEBKl zK_tR6P|XyhQ3o4<#NG&<7IS;V?2ZhMQu7fI`WDMr?*JqbG8MLIj6ff;n>_F9VkRP5yi`GzuIAi=`l1fKJk2)%I zNqxl>q)<_HI8;PdKn)djDjBmSK^F6XU%e~nFiij82x@Gt2_~=waoiLr8Ge{QfG`$r zKFlChgw~UA`d@MnskGx?fhEMo0 zX~I}N%L|pVvsKNv47PI$%Wv+$B!c#{9m=u>VMtiSqK>AB``9;yhJ z4L-DI-l@n)yrEI@6cN2OoqtCalljG2U}SDoA-)!@qA9key%F$TPf z>vskYFXuT%=LBhJ8l#^>OW02OYpBdMy(`{v`Rjl+hw)Pt__YD{eg?@71)HOmeTOM|q!!J#jL(q#0EQ#Y2j5$EAw*c4=y@2ZOSJFU=TaW`O~7 z2yr`*`ibouS9Z(@zH=)r&a2~ynlwZwBG%ThJi!O>$t}OC30i~jd=H>t$zLL_Labj& z5WjDzeBZe{dj|I)qVLp{|ovS#p-B@~mJdTcSrcc_wZKf9b)m-&tO3<1dm zc3k>chv*Nq^aFu-@adlYIrRO=Vu6e~c=U6e;(%;53NH{}r4|hQA~kn;G>Z-3M8+k` z=g?iTg>#F|Km|^GTmrKc^yFK9*L!jC6@E+OLy>Ej3STdd?t^2>X2FbRCn74(! zu?q`xI5;bL0`9a?)#e=ROnTF%(eE4IC5cjNN^%i5ZmmdTNu)~p9G{g)lnJ7&(Z?ZsaT%wAkZ2HM!9k<2u-+h~F&9?uo+R53o9x7} ziD;xWvMUyswN!~JK5f;sL-G!KfmJ=81MdgTPvJ7?OKdm=iPi?M*GLF}LRJo>0?uiq zNBm%yTTpG}+-t)pAY!2$~=cwQ7LU#eE{NkarE+_Q6(WPtq%ZVt}mD8&2 zXfb!7i{nQMN*~V&_t)kQC8I0NKw$vgH5U!{Kq*C*v%O)xR2T+?+ejdrm!RS}B;q5& zTpOUfx99~SdqH!(JQxf__Ht9<(I`n&sgMdl!yyepSo_j;0rGiX{D3hC5f;*^0Au7m zyL;!*{Tv@*Tt8*c*}^ps#puC)4k~9B$O;-{Em@K{Xa>D6Hv|V?cUe#!zIF?}r3zF4 zC}<;kK^oGJ^C1PH`ibaSBh)qvkOrWknHQmrK<<_W*b$r9{t%@{h4rmDpO{0Juwgyk zXN}V09;RPn$D$9LgMw>_Rc#=13C#yo7wrRVyOE6&klI)@jYqw*57rOB9#{-_t(joD z55hfkSa{$`cXAzg?+vQGd4!2CH!(wi1K5zmsqw|APh%Qhcj^;$JH+bFb=wVKWKTkQSYcaBK7 zedm(4{R2w=2ABoJ08xOUt-f84u$^yK8ffa0v~>CYBcJrmw;liKIr7auzRkz?`2K0| z{nN|i`*;79w#3bsnQa z3E~dLugaEQnTt|sIH8tUX=NJx;;_pN(Tz;Ob#ve$X)ONrkL@t8Js|>)!uF|>0YkIuhOlFC0l{@+kxMp5UrcVf+TLl5$V{yI$T z&%<2##_gZi;=exZuTM(?4nzJ=zGQNLUJC%gLovV~KsEq@2q2JxXd#psC@L)@hLr>5 z6flZ7tcJFX)^=GPqJqAOvWlLXx&a?SucKi=AQ-FZ8{teWG)Sf@7CQ(eQ=*2UswG9s z-dxMcLTit;mcO;m9W~ZOvXmH%cA~a@4OtP(((QZ8xZ(ZX+T_eBk zB!8l5AdwVCGzrr;i_kYsG9;bg)8?a->=KR}GIkmj?D~@u&)#iP>TXi!Wzy(PYT9Gb z>`UtQG4J)YIOA_Q5@5|cU_BMg=f=Bb7VN8PJ#eZwv~}oU*ZGLPi+pr^^x(vi;TeXp zS%ERB*u<=oWLZnHEEUnL3SzY*xB+m!MPf;kdwzmB1^8fw|u|*Z3(P^Th3=vTU zCOw-WVP>75m6K&|h$+o27g4Yl6|O0y8JUVSmNtu68Oj(n)mdAS*^c}!QFE&^Qw)ruC67MK?7DZCw#az!_|fFGx`*@3Suu5@rw5;G>P2_o z>$CU$bJtx2y0#kVv4%-s8Q({zK4_^UGP&~QS^2V}1LQ21G6YjqRBNmWRhkc-F9%RZ z9^ncY*lbrbf_>h$JzW=K@ErmY*j+CI$Hq$!Nl~;`D40WR@#d!5Lh-=#!h^S>ok|GR zU17O*y1k0AGMMtHJKa9*;`#tbdk;6bSbms1x#~T%bE|9`88pd!csi)u-92`)@AhCs zx#TcWbu4h$1ujhFeg5!}2L*3i$yf1cm&!iz&5!%~`+HP@>9w~~{r(VrgU~&m&uG9M z{@l9P0p{G82h>kb)a#FZj(Jj)w3V%pV!GaQ{JiFXptI+#@G5HB!kwYAnWJ^S=b`F( z+r9=k?fE?Ngjq`b=pdl5Q?Td0Vf3voD-lzrt6OwcU~sB2THl~Sz-drPu4(SB;ByE=y- zQHv$93N#Y5In>KC-t=0@^T*I9g?7+TRifgy%_m;F9GsuCeD_y}=OtenK2#wZhO-f~ zh>)O({bo#sfjfXkx{2W&F&Ke0`V?Vini0entrTy99b?9J6^L=tA9Ug{KbLGp^O>`` zFl_4FQ(Rwz)7wtJC*}vchuao25sDj2FeEOO(|}aoNQHqEBW*iyBC$zJ^h8@_bVKT| zv{t+*8GxLtiCK7ePOaQjZUFe8FU`Tr(-emS|AO2Rc;Zc#cSI17n4nEk~ z2YWo@G;?9wcZ*oDKUky>Y3Kx@aWQ$j>%E^!M7JK2>k-j)eOITh%juoN?OQ#?dzBp! ze+4ET!X1{KsExP^vrP#ag}uCHaPDWIA3l5cjUQ?GYoNt&na1y$$qh!H5uXYuA!h2?M}MTMvt`3ysprHhYqkrn zL7r%o`6yq~ezRzBMEh(}wA^`iDc$eesY;<4wBTTP!nGGo9cjl@=o{mJC-afJ$VWyh zS?g255)by8W@=_Dn#o^$zrg`<{$j%q6AwdFASZzA|F}Q%!^Hng61D%8B>o*E{?8fW z-}i8DEA@Zg#`)o3fQ@RJhhngu%3tB23qKrm`FAqt?dkuoSa9FJV!_bRNPa9B`DZK` z$BzZ${}Brw|DU43zc&b#!T)0j$dCUnCW`)Zv+&z-A^v_L&-4t(Vj=Tn)`ZR00u}v$ z@n@XJ&+`5b@@SdaS#;)~K_2t(Ag{Efq@tp{x~j6Kwx+(mj?>)K(%#zH(bn1B-Fv!^ zJ1{WFkMJ&zUYr;o|BvME`n7BP*zV8FZhrpnz>c5Oy?FNY&Fh!%R^R*`(tY{-ar5iO zx6RN0)e6sFhoLk&BP%YCcR`dSHVz(TsAwXMCQv#YzO z2C#FqwUUBvv$Aot7wo-o@zQ19Se4*;i7QtnY#qhNZ~S(1ZoXpD>dxJ}_SY94K6?Dv z(0F;p*a)l>v<0RSbgKtX*497vEsJ|qMJNs=Hu}qob5Jf$_GrfS;^1mJQ8GE5!FmSx6aw?Nq$Zd@3wPf-1AIj zM;h8{pu26p8Lh-!mPXZ&&@g59$?6iFce)q2k8(?ChZs?2aDbPIaisJ_+(IYtprUdO zZ?@Fyq(I)1#hKJkeb7+Hh3;r-Uh3_g!?EqmYzggThwRrYSJ`{BI-lYOo?okX;B|fy z9DI4RT-ICAZDi>6tq!m5{WnI=%nSF0%4O@0n(TjYHsQcj?`VqKlS_0ue19YWU7kLP zIbHTF_2bL#3NQZ!`H|0F3mUqOmzG9ScHLJy{8Ds=Qi*{MbJxOX`8e>XU!3zqn`@)d zM*q-9YFoFV{x7~KD6_XC#6}uzIVXUukA>tYcp^*e6=EeLoKlPP&%wpnsY?!fBfZBO zjzM|%@=#x7JhM*JQE`IGB6VMdsaav`G<*!ma~3*6Sj&`CA4)}FMfn4@AfoIz$1Rxj z5d*~>HepFH{opilxkBUvh}u8{`7nGib8B~hQ57M-szkc(?6wvma9rOa1(m5p7&zCx8i zWn!2ZRXjm);UHd@U7U?=L>oY{n|>ZtKxOHw;EBlmE75ZNNYmlC=_Q0V_8=%TgA8e* zWD7C4)Ynp>oAD-d@B5(k#pB+@N7{=r_ z0E8Ai6r$dNhj#4~A9#b?UN+y3yf{0OjfN9&u*s(1qLDHXbGD!mJe8bXt~TJ2#nVxT z(qt*>X;J8yeCj}JmT%mL=7Zt74#fs_{jWzt7;G+1lr*&&Lc<2G(RLtDjgOF6$vaDZZKbXIBJhsG#(ojwkpY zYL%1@cgcz zW0ygGKHx=~kmb4eiBE}3td|_XKasSfT<>hW@Uzfir^j|jOb8G%JfYWGS*1I?+(J-z z9qP(jDD5gEW;DVUddNBEG0Wh-M;*H`nJsRb94F@V>s>i4RHOLkj#8qQXJrkt)!=hy zGOf$oc=>jx!I>_fEqg7WL6_UT@k#Cb|9Imtp>_8I;STBGoldXrQlCNd+}^`y3cb#i zGTu*0nJ2V%2TBAhZgjkK`K-f-qa|?S!)+i1=jrS2nb23cV_g5Fg;MhkJcNPdR_ZXO z;A>D*@)z;=Qi!`>qxvYt`1BTQp$y72+Vu#8`#r#6iMb><*JV+IfGqTT-uZ5q!wSlp^zk zVu;xB{2^|(l}<=lmG6{ZMSsCXurw~77b8&&HC>g)$a$@9ca6=_y&&0B%l8AmCnI^N zT|SY><*jAGuXE1e68yu*6@@p%x&5*Dv^;yRQO0?@Lzs|bk88R5DTmMkErp^oituqz zKh(~<6~uMeejC?ViC|+>6n^5C;p_gB#dG2?BBWGt>~Rd5pWjhwf}#`%ffP(+3{xa& zb4wPaZyjMbCW~(P2@+Wtk1!(@S?#pkU%#X=@uhe~6PTqWZ-YpD&%@`FUpCpj70pSH zs*-k{Iv{9R=U^UgPxG%a@JFou2@8{_&DI23Ki)1$xz>{2IZ(wkeq_JteZ5K zn>(gpJuReZ7klBN2U(UQ9pY6LB$`4n>^WYFQ>>){Vx-u;A0GI4OFT5aVtw{V$yRU7 zL*nTDfi#n$K$UlqgKZD)`iPtzET}o0@X&}q&p2{i_x;VfJ7&-OZurmFABnnL{`lQ~ zxBYKrKiuV1JSln=o$lM4t9&lR`t$kSC%)V|ylW z;=Zn=m9yvfOx1Dr5l@i{ZHr|;E-_JL)D@4CE?%+D81ernyjZcmjjHVYU##oimeG##@2Mf%3p zsrr=HZ>;tmQ@CQ7>k%`kHePjw^g^GV>sqL8TRrPLy>3JG1dQZvAdgfG*7xsfqH#{m zF~f~^Y86EGT>DTfk||(1^aX_UC26g`i1s3#St|?T;^phk<7*9{=4v;(M7NLM$E1DO zJ{s`CL<4yf-;_iWX1`AD2yt!tg+UX-l#$nigGgfO7jUM9=)jO)jaAdrHmHgD8_FP4C@+s)oIF8(L6KAs z{+t-LE7T^7YE%3)BPe)WrinY-e zFzSXhN|!5m;EGy#1-<%gWHuR6|0R+RMm4Kzq)4e{b+-Sdtxo^hko>zIIXN-$pW15n zU)t){!oRfDi|5Z)-@f7Z9{+D8)qf?m{&&Cs4=I<+%F8b({2!!T!zoT9DH+rIE zDi7|wST5@X7jho1!0skyo9q^<-)4oiAm7c$TG{PTM8*L&VcA7K&{z;3Z+8U;6)M$H zrLlQ=c>8#FY}nDU0wudwC@yFRWU45OVK(POFY4Aaah&<$dc9w32N&BT>h=~cx%@C4ZHjN6(!?Z}g*`?De}mw~$rHz=}O zBkBW~P<}^?mde0N9+_LP*@dbP(*TzCs4_HyodTG=QVnY~)&+PrBkp$X33_2IwD@wa zT_O^y>`gvEIXO|{b$Ab3BvmChfBb709Y1JFj9suC8f?0klaAx3pjuuOWF5-dX3>$i zSgGgjI|;NkRv&(>nEBSCSbzmb27%uoNCBu)A#USXh7ohEw|T#i$LFq97a?~3=U**- z*EM<%kINnUx#|uFO_*WxpdB-IBE92`1|YaY9s)HfQQZunR0TwlZbuQle+%DD-_-b~ZwUyhN*f40v5?HK)cWpj$w9)8)}`Cn!8P%qsW ze$(7vFLD3&wEe{NVB(4Y!BVoZ`P)+R{JU(q%XVX0CKbz*! z`g#1Od9qB%wW@=N6fq+vE`w9IV0%KU1*#SMPDywz&4!|GA5^-90> z%fH*@XUXsR?ea^MZ{s$<{tG+mpS^Ov9aa7xb`*cf{Hs^q($>oFm3MY`_4M^|xu^RF z|1zccz4E_G<^S}huK(>z{m0t*@c!cSXHWmvO{xFgE9L(eKmV`RISKz)>s&%BV4B-F z!Ec@01kk2XKrX*^{%G1mWvmcq%aXr8XCn#hGGYhJ475%b>4nb5pq5zMwB3owX`q$0 zO$QN<9pe(DwU51se=o$*(dYgu*#-u+L4naC#j z--D#je9G_om3@a2Ak8>3M4MjESN+ZozFjBp_3y4&$%GByl2i~JyJYfxp1?eOxdx4CkwNPlEDfhpSd%_ zVvSef3BD1HD=dGw+V6Sj`K#i}lb?ed$i-mO1OP{?W~%56^QK`?DXNo_Aekc5&Klp;7|Puc5=1bE_Cbt(QeY_zJ1NAVEb9a6Zc?k<`m*@6vCyA-bB zEHt--R6p5(2(Ju=2aL$zih8`c_pQCx zL*@f|2KpjjQ;Y~9fDn0Gr;~yJHwf8ak(lR{j6Hb%dFXRW_Ysc;#UZlFc4P~z0GcM3 zi#H}mIAJ8?YdsjrMu}I|*ZZQ^b|UtDo=_iAUtO~qw07-Msr4PGp2Y5~(f1T`BEGpI z>L~niTJ@Os#~DJ7YW%FuxeM{vh?PGLCiU+Lzq_vgpeLb*q;dPxZ)AzjpD4D7!$Ujm zyVEunj;i&pJHS+V8@CnAtlS+#o!ma(MSi;DA?KH%`z1p~^jT-;XsJL28Ey4~?r z4;~)n8h5m821}q+@56pK82c5_V=f{|6%-mrJh&}H*U`Mw zX%}%WYb^qQ$eby(WzdL}EfWpXR^2HSw=wQK8Ji7lw8dFgVM1i`@XB3*6wx(7GY$?f z&4$T090b*_XQGeT-2Lv|R;h;O(4d)(6b^~J1tF>kh9P59H9)EB!J?i{P7=R{X^gPt zB0U4-cfqm&)xxQQSV^k<=c|s=SlY22b4VWCfyj{OiNp;9*r#jRcCxDc3Yv}05iaV3 znR{xq#q_wWx}4}wjfN-Hd&;kMy)(coSgg39ahX^>(Tc12FC64G zZ$#NJYVKZFzp>bU*@9z99$zibm{UbHYr{~Y6EhNNz zxu9|HW9QcHuJyrFu0Pr-FT%0@1`L4$rze~7Ig+%yBC3km3E4R^Eh{5fB$_z!8{8k9 znYoh9Pn?1o5lFnj20^hkz;O;>KbXNV1M^r`?lf8!65rE714e0?DQV&V0Mi zHfJ)idG7l3`WF?@cJhkAGf%q{eHyvX=4aB6|L|h08Y308S`bOhF`Q&$Cl;&h#gjn3 zL(}NGx_cUtGInaJ91zN(h#V%vWUt`ZqNx;-XuuXG9Pd3|vMe0FNQ0rFaKlw8xL9+i ze{`6lC7-uj=+1*Guj||KJ_}mtI)(lOAq0DMyX;p{MMpj%&Fq7Ep-W?u0yfNNTVq8< zh(?C2w88BrG=NmW@qi0!0^_sZI9L!Y3>8EhL*tO)OH}@5EqhAcbpU-Hf`FZvv1@CmJME2nRn-~R2rs4vQYC)Y=`>u;bP6F9@ z;b0NK#0i#76f}wr=JKiRvKuUZ-9C8ik!r3=YEUy}6VkV0%sg#Z+b$Qe*)4D4q_is^ zlqNvE_Gcl5V&>SALP0?E8kI}}p3)?fF9-hFivno{!F#vxbRt}gn1wv8o<=EV-h(pf za+#$2cq`^Wgqk-MI!VpR=Gih0oA!OuoV*5)utf^;AjC31oM;dXAxK;l1%vxxI2$Y+ z`dAdnj~mwBjXbFX&0Rwb57|%G3oXDLETNd%*M_MLb!@VRT~Cp_olvk z2b;!773oY$Lrr=Q{tQ|?zVDIsr8foIlX0 zrxm2f7%gSve%}I)k_|?duTKJ}A5TiDolUrB4DVPBUQQX8D0!^VDposfFzwa=u27!! z3TW~a0#P0 z7Yzu^+t!P$(Vgq8-U&e9IKA62+n?NzU1ucDX54~lemn27WW`ie&*aZ$$bDhs{CG>} zweJUkX%9@@yPzK1MIG zQ`LGE`Ds%Yzuh-qC{zIQMfYX(<7k= zxNIgwF+iqRV3E9b{@gynG5h^+hY&jlfnbLS21rFvO>d>^E+f7S0?m%9RSU4}WMovk z-?n0!_ogHJ9g)k9R8=QNm=kl7TFX1KuRTNl79y-t%?_%_0#O-D zP&r>9nT(Hji2f>_Jbo5q0igWLK$sU1hIDCSfYM}_HgB+_#RZv}^sPAK>6dK+#A7_w(2gSt?JLTmrf&|lebbq`Y27jG?px6_rdXCH{ zY9X`oHL)_=rNvLUqiVZQ{3YH?g&tlHmCgCu!T99qHY!Ug{=s*=_{~^n7W8Mj# zR(yWcrG9|)3YpFU6x!UaxM~$@AT<{8dkKt5L}pZ+3~lw-%AvF8GT}Cef;D93T-Iy? zENv?m`Pd6gVE?bGW4K7$lBK-|`x#J(i%jMoGIjUMCd%9MkoC5- z+RS9j7Q|u|IM{|r=b8PuWd^k)`!=ZwdjLHBD)bOaShc)r7<0N3lSyT#hiC}lP$n~h zifI+f_tj~jTy$&nvng;#Y%pBhdAZz&8jFK^*a_mR(E8DF%HVM>EMrAO$O9lGB0p+aa_B zJ4gZ!$W)vJ_E&oW7K_;J?tmo+DWC~2SyiuXp@#!FntO4j?owPR{gVI5|5h5!Q%u6h~+(FI;P*V5J#Ms5@ORi6#s3dhT zY0h*97q&yTrL&qN3b86&LsI9m1l$q%0E!+|y1eDwD&f)~s2^K zyY8EFV;R_Bo`vwpYE`B6wzPS5GArlJ1bB$J^Wr*Olp|K+EMsRyq^tK+ar^^yEXJP5<$V@9t0C#N49ZC`-Z>t-g>NaEKgkNox^&#}1ofw?4q3d6z1 zyrnmJo#uV?y?rmfQ=@D8h#z}bN5tQM?^{Xl{wS-x?tl7QZnrEYZqr|?fARD$RuLA# zeaI?`u;mJj_Gw(r`)};McT|)6zV4fzmk{6$y$K1u8+sKJdQ(C#3Wkm}=}pkkLpAgw zDowf?6cG?H^kM@Q1j`f@6%-W&r&zg}bFQ`ay8G<2_CDv{bH=!5T>fS-_=Z`NDi7HxXmRB09k}3B4s6D7;JTy;v15w3N(x}FacWOj z`S?Uvp+6IU%l3O!r_V0ENLrmCUyiH9=V+t>#P4>PCvlpmLF%=5{|PZedU5KN;=D}Y z=@o`hJCIk0mdY%XcmdQVf%{JLlb&?RJut>al}q&`7QQK`DpnjC-WwncJxUVi_7p}k z;9T8R#_xiPra-TJ{v%>nOy4DM3m?Do=v>M6IV6OmR~wQ?L)Yix2oJ&I$N5v0yH{=a zg&yjE2r5A>*GjCO`Cx($x{CIc=Pk|$x4#Cwyatwjw>fE;z5XaAFzw#XGTb~cT78?)5u9_M5eWF@0&BF;BU%c zy@Ad7JkUdLfXcaN{^3o{uKv|0{T4AC)l`m~{(4|7$D0n5H8D-x22}L+WpM|H=nrUP zK7Bl&*%Eb0=BYLt=Gm4wq$GY3`*hgaXPEdD)G!)(?mxoG#xZn`z$Zow*GG;6qf)nV zIyo^W1H<^VSbANovGE`>2qAMN&uA=lfyu6`+#*T$TEv|nEoqqVEbVjxqXy+@Bqr{AncGpzE1n`bXy^}`$6_-ji zGw2x4tlne+Xqhj)i^Ibm@!i#UP8h)T312`U@cReHJ)rE)~|w{$41 zMxUq+7dV>=UMo?Kk-DA$Q$pfYQr=5OAs1xj7GSfFQ4Z*{mew3y=PT{UVvef+4V;}psFsL-d_SwTC z$lT|2$wObekB=A6t{q2G7GbOgHB4h-bI|#ipr2d&e|i0Oy#g0{!Ez%ET*?OnlAF;{ zRx8RGVRn~XqMk+}_I@(iyB%k})3EnP!_}=`NFod1y5mYY4v2apQZt;`L9!uN!>tm< zggQNgSIvo_>DBnqIK9w{Ol!LeACaz1<#5n`)!GqYy;6q22eKlK?vtLW7M+vM zh`9c?Z~39EKt`8L{Y0|+(;Pdx#^wZ$@Vq08mG)sY!&s2!z52*0bJeYLwcxkaqF<{F ziM5ima-&9T5mm9aL2Igndo>?;iO<$lHs|XGdA$b~8xQjOrM#8dTx*x$r9FCmp-4YS z;$3WKHuK;+&a^kZA0{3Tyc5O!6&Mg^%YiD}kb(cBS9KhJ91;TIV!Pkh{%h`cX_>wM z=6+ZFzq{WxbQJV;6^-=&=7BdeRI)Kra{j{uuj)inJxu<)2i}4hVnK|uP>;9LNU{B& zal#k;;e^*I{?iG6+DW(GS-0I)uin+5>2GFugKiI_>;K;~!~e7UUGh)&`##e@-0%B! z|8&1gn*Qm2*E9Un{cfTwrq@twYGSm9nPFA7yht{H(Zx=2KE@n3Iw#eGCjMhBe zZTv>borj^N=AlQ`s%{jti^lT!m{~7uO2yYN%z#*&mvm^eDe0Y zFO1Vnu0=eRvpqOaZg@@YS+6w~vY`Cv<8wK*h73Xc5wT2O2d3gN+6N9(#?s zERWQ{TT>P{`Jiy@>iefVS0IQ|+mmuk>Xr3dyr_l1@I^HYL`QE+yU?9f_$2yd2TLs$G8~%6?jl!&o^sw{Va~?dcq!9tvU`IL3obdsK5OJ$e~x*E}dqRb{p2EW4(JwH1|VUD6*XVOJk ztI}|e`zBcR;Cf`aI>2kn&;BEnAmo)P(kz(XOY;#xtGUmYa9rdlKCNX@2+Yi&G&Q#a!&@U5Yv@G}XD zr_YoqwY6{`{MM`?NrR+=rgS_EaIdDOw;J;Mj9#=9R=1O{`NRm!z_tsVuL+kk?Ci=~ z&74o>)P8W*?IV;=l4zZq_gv+R$Z1LE!EN2!Cnph;0%;FbzAtr+4zI2Bb9;}eT^Sob zO~1lr@~*tQy7vo5ilmR>bH}F!=OqvQfWDO6_bNiW?f_D%_2R&04ciCyr;~oXCah$0 z+_rs7eS%qFWRr}mPN5@6hC?zSjkwes|GgTPc%Z7@VxXkd>gSx0tWIM?=>8*q-YPZLMee;Nds-0q0Kq z^8WHHDU|u;<4Mh5-yfBU{TkT5a!4ap>XiLQ+R7cHn?K(%PTuR|!%HSgbaXb9M)Y4C z_@-p_E*S;;bLsi#bNY{$kpSCL@xMO3R#JyA@;`buxcy?-yTM46d$Hlq6EA*D`MArf zV?1OUL6{kc4GI%d&MBJ?%1D*w2hc==d6qWPqSa&f7I%AwtDi&h)2fJhy$2%G{XXik zBckzM{K=eB2;OYY*khU8*=Pqah1*It=@ddxsP>G|;mRm94e5{dt&oXC9_5BXxU#uu zh0%@D(6j_uO6Z_q!C(0{=|5gq-yjQ6-2av_6#jR{aEt2}oMm7I;Xz_3eH1BxETz%s zj%rH#%z7`OAY}SGuj1)Df}6o4Xd*`=-E&k70?FH12ft0Wgu< z3>KHq9zj*Lkb7x3It59^dY6PD1OAvmI#)_=#5rkbYD~L8P@f?EuL=BZ`@PNHe&79P zZ_R%elQ1$g{|9RAKU{jV!D|2ETKgXiwST$R{yRYJ?`!S<=X>nGk`inJ+J8SO@$XjC z|CW^aZ&%aou*9FM>A!h;{=>Y)Klal9$V;%DJ^wl{@rSntCYt_7OoE=7`)}TwLVXJ( zNJZ_Lvt{|`((4=k@YWRb?S~i%wK2PLo6dD#zSi594l%bfGiGNdj7_a9Q2kT2J!fuD z-{e8JeI2}kU%tHtrJ^pM6xP7y`=7I>#1 z&21E*Y&P=??BgM1J?x4#xg;U88y8m6e!KmelUATk@)ns^bvhkz_sKw^L{Tu~GJ&RH zJHpV>`zcWr042cdJG0GCGjG8o!}x)cA#(_aR*`47{w9zu!B;$QqMhE<6D~8kDtF}; zJ)uR@vad;i@v0yLrtt#rdbl;Je(w>p5d}@sOssm@DY-yC{_Kj^&Imp5iGpqIr9yuC zrtsts$u3F$MMDF@KFd203#BKtyN&8XBG60 zi^>ety==xgXs`L_eT^k#!!T7j!q6}l3BnNwDnMe()S1op267F!_`Gt5jZo(~&HpR=4JmlR0s}JnV8a@wiPVl~|Pzj%$AT;CWMv+esdA9_h)yCVJljUV%$BUFE)Qo;szFk!^YyUCY74q@M&j@0C` zGy;bp2^x@H7;jML#>lOd2E@2%P8c|`lrlUzA=PqNV5+=za&(HbRVC&`Gv)BqE#m(B zGp0CpDPiF;NX5OopvZR)j$=<9a`1{)hb$`B=5K4r=xG*@N^3tWD^&;p-sfVMQ%kfD zo=tT`NyrFW(cm8Z#~bc|$J4jwPKC`0G@Xg{vJvn(?t2a5T^^mihu&Fd+1@|&tm~<( z?QrE06TUj6=+UySVLw+hokc>j*bACark4)^>YNf{;i<{o92e8Bn0+d8tW3SbRJAJ2 z!aUvRSEcmfCI^3M-=#Dw&g8m{-ycffI*=g4;=ms!Xwst|qD@TY_rzt#s#(E;?Z^$k)KY=$!yAHq40#R#)q8x( zBsgZ^yfBKOaNN7Yiy+QIku#ULU@B&U_vLBolXal$>TrzfST6Q91{dC#@dz`E+{cs; z;V$(wJ~)%*|ttC$vcnnammxpGffV6-S)qE?ZnxSEEXFbx=E9+l+14dr1IG&$Dm&{~P= zr;Z!R>f1l0N#T~Dftf8vU-a*t@Krzia=V38ik>Ot+OAV0P)%^tGuP=4>bMFO%J?z4 zS=JA!^8>9Gm%h#vCYLoLf3{i)iQX@+>DJ}n*Jh>Je!uiGKd&ciM4UNu|HR-n4jIW3 z*`A@*lx#IKmeM79*PM!>pK(WKOa=1WyBZA|!d2asoTOhr+^!>gI_)0ta1l{2Q?pa* z;C&JzRifm=l(6fhTZI_k$(t?vbdZO`H`M*vG#y$-<_Rqiy*cAaSAGiRxpZIIWi1at z3Y#-UUMl-uwOJUOw(BYi5Al-@eK_UldU?-{brPY&BRi_+O86a>;5T0vXFtqcZsrQN zb~4oL_Aa>EA`mV^K^;22`Pm=e5k3%cTJza({z|^?cpB^+w&C;k%Lk2OZ- zpoSsPmjd28MbSq(to%eDYP|^J))_@_GsgYFdx=@S?=$yA-CPciLLw+E?C<{BD*Pnq zk;Dpo_nT7il)GgB3wACdj;xG8C#+eU3h(v|FJON*-gE4r;xxoir^V6M1y|mP!B>FYX{Q_wuDB~J0J^Kxb97Ltgb#hRBfSF zUBd*`!;L+OiOP0PC7`m14Fvw5c9*6Of`=mmWC8a3zrlDsD=<-B&2wk?{x4LYf(}9~ za4f`)C(n*4Nb7VHZzRY`acb>DW7oQE~NNzkTnb_xqyyE09`I$XcCO2^=_`N-%4#pgI`_l&ll+Dmh zcqCrN_d}fhDEI0IsN;vqb1(GBs@Eg%yC}B%)C0t;hI_~;J+wlp)%DLQ|1z*jS>g-} z9ueX-GtllOV-0@w4$OH2LY+l%eh{+k2@7jW;sOg54C7ZI#VkIM!12@4`J(-Rqe@$E z0-ww&UjqNueJv_cLEVxaqZZ^W^#UODAJr-P~OsJpxf6?&{K-`6;Lc zBC?9cr|EHNjP^MpvWRpD>^;f50Q9<~2`bP|ZD`nlnxeuqnk9$cR+_;}@6kBmaWv+B z9PYja$NGxNcNFLS6_Y5Uo6zJg;KCQ;sN;Po15ggeY<%Y1tH%*fLM28Yd7C329GQ_( zo{_tBq-aAI8V}sK?A=16`a59a8Ato;_Ulci6>Vr3(E)*M{mf0i+-@KG8y_EpVK7Zk zo@#h)%g`=fvht=58<+eL~OXgh>+k&WP4B8ot~UCiJbMT z9zPy&ypsc5OTx35;V>3NwFJNrkpV1}=TcbnMs6+`d2bc?tWH0ukVg^bbc)WS7w2Ig z36<()9fqJP>UN`59szfQ0d3uw-pUw5H$V@MG}*A5Yt4To%o(39pZqB=uQfJ{gbayP z=B6SWa4=Vr2%Lhvwg5!D0p2Ji#0DkMnF)?F3G_%r?8I>?-BUqV^UpASESgZc{)yt_ zcsK+exhntJuOzGvrDeg<8I*rj_qcA$abXWY97K}wr+oC%dFL2MT8rDqN^t?`L<;&r zgO^1vnq*BAS5)U_Kq+mRj<9kORzVk%PUuzRtSU#$mK|=h2X@LoUoQ7u+xywQLX2Jk z3vdYOI~3mMajdT*YRx`Ozw(zGMqS$}eoD=u#L3X5=(ys^7QC~oNY#N775{*$*Ci?x z+1>Iyj*1g8F2A;_dP`KiUgeb?m87>hS63^au0C<*sCfp5TYYuKS*ly2OAR26Ie~O< z@2fdSbuao_^MX>@?Q!6m^{Kw8vg=c)ZzPr9OxoKcQhU|9_J>C8_?p_3e#Nb++B<6% zf~AM<>2oWYq&=A8mGe9Eh=WUw@9>ka*k@~JuxaUUUUJAYMcflOwYO0R1q<4pQo5E7 zFQ7S8t-QLXaC>7pld2;G0yG>a0l%$`hRCxAA02&v6mW%{8!L}mf8~9anE6ST-z>_# zcd63I+_84!oF|m}^brT5-#3CR-k5BBa%fgIv1f^A9CRGWCaQLt4rFI!+(a5fm zyQq*zeFO!?l7rYXmAIBsfh6SW6iSJziX|Ya5_cDSIAoLc%tn z1V~9*6zVVq!UZ{^%qINO?FW7W!jjVU-8P{g2Vjgoet?E7Gw~$Rxcp8jbRm7kFJzh8y zkU*G3G##u|g2;pbMrCc29alk>vuTyvD-`oK5zuRi$=xX0ta7cj?s`e>qIg0iXIj$IP|hSs_jZTc zQgk`YfLMnL2MOD#<^a~&Fs&GYPIU?Dj z=Tmf#Zt3+(K)1S-j(5I7cYK}{8c~XE<*1pCCLV^Q&P)u53aDBpHJlW1f1NzwiBo%S zQopzT##xTRe8s_Z>p@)bV0rG~+v|htPX<4HAKVbD`7Ux3?o&^*zWH*gVJDv_y8q@& zQpYc4?iGV-s5lqjA=cBGn*f$8?llNm^Vs*Cv$ZWsqd5R$nUJfI`&xR2mruIO#8MztmSdYT+N>YNxT>OD$K1ZVcbObLYW>*~Q0m>}ma{A4o;~-_%9!BB<7syB!)-Z6x+F zOl%M=I5`~w!B&P$g&CZiaR&a>K4sWnQAL&g-C?1(AUXd;22uYH$sm7y`|QjI`viXl zKK@hfi+#{PjcsQl~zwvp?l#7&xc6?K^jgN)Tm) z)OUJt9&B<3uE+TuDm>;Fe_puf;uKp$zfSBCFV-}>$H670$z~hYQp;7${}x zdqx~@QcFid_!0hrVtlctZvb=Uz{B4%@WPzm4j+BibvLZskkz`YLI{qRR9AT?<5-X1 z+2Dfl$fVs|)>wMI;~^?{CNd39Zd-OhCWt3ZI10Zw(?rAfzM6&GCWuST`hVo0k{vDi zEk~_f$d!y7%-9M%?x!k*j^>=i!MzYw#W@mjGZYZ&yIP+kh7 zWE=qkF=gqRMSmIMSF!OCP^NK)Y~vb9N(k7Kp-ULzdm%fCA2|$4^Q|^gQk^o3>mX*u zg4@NM3MbI&JgSj97?2iSGu8HyY4P?n=mv3!}%N7fCNF zrq!)+ouGqwo>eCQ5sInL^FWndglm^?FMj2!LU2JNgvVV46b%H~HgAkp4GkhYsY2Nk zXGUUi_z1^_75OJ)+BwgO?xs3+HW@TYguA+pq(Xr+)6P%{{+yf#O3gq@cX!YeHXf#>zR-8a)ii5mz%i{E?zf{k%4{xaAxuD z?4ar^?jM_b`AR17lPBd;-qRE2er&@?8-|~UFLwTPQ}g?H_# zX$$9T<<*o)2mR@FsC*4_$C)Mwu6INV&m7{Nx2K74NQw$Z?c?i@OjO{vvwO+}TyAV+ z&%BdFdNinsEr2vXHAyYfCzaJc6=T=@Fa+xt6X_B>G4>jyhlq`P0W{!eeGCu-5&tVt%i?aG%CbBd^ig^MyWb7 z`L~^=HFWQrs#>S7>#nj$Wc|&H=@5UZJB@c{Vk=%>_gSAWy1h`Yb)AoQYd5seF7sU5^!rb##Gvy(>h7x zctzb^dOdeS>(HKGO}z$XIy~ihRtVScIhW4Adc*PpF{hwT0Z1Pctn(RiGm)Z)2hNz(WM93Ndr? zh{`XjGEHW_a!%^Q$AdAk`l_JTxn3_drsN6h4d@Zfq*f))MR&>042 ztPiKt$fDFJDzu~%0vbEhxUIC=yOJs{UAfbXmyrNJ2tg+;UA-jmv&lkt1)3^s3Ip&N zI-%|nh8xWBiZg3kVwsQS+cpbv(dp(@SMkyt=|W`;HnG5nV7?3LbAXq<4=2PmT0{-K z;=S03?(E?S02*HrE#-);K(sEnQ^xVjH$%4x5wV&f`4m)z(R_GL(%~_RCjt+MWiATA zGv~h((R{tlJaI8r0eeGfDv`^u7dnQIanVqLPBqbZxC!) z?~@BGYWv5tt(I?d4=#PaSSh*g_k3{i!EY%&H}~xrwSWKmYVga0@B22MPkdiKXTLN4 z{F${^P0G`bnC3gX-gfnpsoP2AEpt4-K6gC_&%Ks&LMzgC@sE}GT7D_FE6t{y?U4GS z&*^*i$*D`GlS;HL8M7ZNr*aRkg*@7RK!yss3Vbcs`S`^??G-LV0GIt)r7{Ra5KkCv zx))y!mWcwy+yuH{Cy6=Wxh!16XIV`t)P6^|@bjLXuRLM(t~3Vv^yj_qC9+JoHw^E+ zGKYR00174wi3HQ)ui-w))=eQo>P@Cieq+$q?-&6`~wO z<25LX#_0zO8Cp46XXz;Qh~@G4Hx&^`0>YbxU^>#MiL}f{R1}0307?5?k-6gv+CS39;Zg6S zV7?4#IEYGU&C&_Xk(G~@$pIDLAeD1K2Yhs7LfqxnoUu1JId}ErGp;%lo_94M`k-tQ z1Mc8nl*&YppT}Lo#dG=OCDzBkdL94B9h90u+JgC_!rA#Ur;e!S$~xy_Vu4&Lki8LL zMt}p=z@k;|6S^sG2Fl;(ra^}AFGBNs9dXsE6Q&G_DRD93lBxJbcSOs?%%d!D)WllxxTdq| zfi>f0rvna2De7GZT-H(!BFv9fm5+Wgr>vDEwIn@ac@)~S!wjx=6)5V$QRIgZ*ZeG*8m>P+6R#}D>1_oH*h{}l|6AGNL zQ#;V z?&iko!`VNC!*^ZyEv@sIWwrYkK+aV>5qc(X3w^&Docmg{Ai~G1;GqIVg^7c z)%q=fk_&2gq)-V=w1x>JjuZ%^BH0X-hz)c+1l6^O*2L?FY*d&!%2+x^HpGBx#52Zz zXM|$Vuu>wspF`WvzblI9AMN!%8WzP&pN)eJ3ZPj68OyQ_96s<9lyIOJo<9SNi#nKz zI06+lyih`<5z#s{g?1@u>Wt3w$$$hJiXBY(-lCTdK|zGkflRIPXvOLV-Fgir6t3aZ z(KGrGRTu-7N|GaH9QkH`LX&ciijsTu!c;aAO@BoNf0t3OD1b5Yx!mbdq}n)gx#jLO z&UzY0BPHlbhYMcGg)N`GoSO{}X#$(7%NlCP`sRm6&m>dT1DPIX<6wfQA@vh75^P_9 zg}DjVYBDPKRRC)Og6@m0-B7?g$FI;2)Mh1Cik{B5kVu*e=I{xGrKumCZd@)o&67xE zrn$QdB_vLV1yNlml{(DP{1}!l9SrJ-2VW(F#lhh6=($>R!@(NRkAjMaoT&J=cl@zp z*JH3&RLfKvV$Rn-qXbgHW>hiSOEDC?eD%4K1c-TR*_$T zfG?v~AHH=YPN2O^Rky};;_$M2!P9Z9Oda>G5WqlE32gO~A+^h-&d?Yy(6`%r3Z+qp zWn)f~V%R9e<4foSO09cPqw>NfoZ(g8DELW8lkpYc=<&Sm$@t%^z^}ch0Gz%5@fu_o zJRfqxWw~P4!z8#aF|Vb*r3sQ6X*MR3mS|Qf9oiqF0FCXyzx3!I=qMjKR5BJiFkw3| zWmxe?|K|6B8L=Dp4R1U=bmK-s?YynttLhuwFV8)-6|>m;?MA{->x)pK>z;#gT^CnF zg_f@m9vM3LK}@ho>}JPzi_5k*mDDSD4hbao-E{eznfq^)?{KIvw2Phafk5C`6q1tz z5aI-cv0OqTY|1z99y}+W2P?@E05v~0Kirh)Z%&N2)J(B6 z@(=%a@Njlx=6}c!XVXl~l@9%#X5!11^ZrwyiRqs}lYfX_e=&0ZA$pM`63t>#*d3bx z73quJr1{T$6U&73IIkME9+u>DjxC8PWsp>hEHtxhwF(aWv!h$@tTP*Lu6xl%zroeu z{NGI7dQ8_peBA?w_p!W<$Ef=!ec7CI(xmS{+BxmBN}LL+Tp6{29sO+Dd05Z*zeb(2 zt327{UUp^YU$kB}`J4^u{R@8nKR{9WyC9bq*zrG(Q~8@`ja}3Euf@54k5(BR`q$zd z8?D0D=h$==Hud+vb+NHEBzZub-Gq%yhe_lA4h{LYs>-L6xcZ?ijN#v_DxJK4(1}gc zm23^E*7|{zZMs@0yQ=a^i+!#x`t=X%?$+5xnG8Acw%pPOEwwt&NH$m7U5ahwvCkIx z+nsX)UT;1~xZ1hc;c+cG_1hew|3rXE?HSuIL7t@to)|b^yL9pSO|6eF&R~iU?`P5Z z&hdAaju~CfleWD(StZwV@+&(Ccw681RkiZ#rPGi4y4TXq9WB{P=+}PpQ1f~J**zjX zc5#fO?|u(8Z0he>Hqw$m8WO)Zff$!4@(D5 z?hcTCrN@^Z8t!O0!5l~`TYGftnsIOM|utdA$`kG__Pr z*MkpEtQyMq$2C3WJ{q?+f2s)l$`{P{9r5srTG$p>pP2DmKL3-3t$eF@d!AgHclx4J z=LZbSL=RNToFdG#EDU@rdWWr#;WZD{whEeXPjZ+=m-$U*2}5x8w_ zD&BVJOx15+3~;=NJts!akhXO}aOV_WXy+N}{;dA>G?`;&`uNMc3u#cI|82kZs_}<2 zgnb5f7ea7k^iwrFDg^Kk)OPZ^i-MsJ?m6K778pX3@StHUJW+@?(sY~1)0VZweW;d& zd99w!LElWV&wtE!p=Y>j=oI0q<4fc;c;;N%GAzCd{VP}xjDMPDbp7%;|0e0$@=uCA z*;#^YvQcDkkjl-?2MEtNsOZdK_N24Qd8K(_p}mdnHTm$a`}KWkfJutpx`olYykSsV zqv#`Epm7Dt6RLHW`vZMKWYY@NhEAn_*zz-LzIrR%OrH9YmV@u_n!Ji@!jAe{-c}=W zB}`_BqxkTfG5MKXQDv1q7cp-AqJTtC+J)&|)h1UpfBK$ZX{fS5LBi?xt9B+F>gl)r zd<9PPk86#qpGvdyPvk0{qBLKgPm4en#{uGRi=SmTt#=Lgs zhb~-{5~7auTkM=Vk?6#HF{hH0AZ3=Wj~@Dp{BR=f{_}@8_J6O}NxYQ{qx-!5uRjZ?AK7c`fZ`b) zl7cEd*U|?MCi9k+iUug!SKB0Z-j}+1`GslwCXfA#gbUd>K#5;NtnTdIA!#)Vu(ZjO zS|>0{c^zhG%1VDbw==DK_p;L)Kfko4-d$+}Z_V(>MrpcY_IJ4(uAI^34KlhXXQF?C zdG1h*bKUPrGwXe=k;?_aCf8bw5;(h?#Jp-YNutK-&D){b25W{vndBM^n|jSu98Xri z0xdAMW$%3g=NYzU^Lux@rlZu6+SR%3-0qr|?iSDIj|u8Ev#uO3WE2j_Aa~yKnhhGH zF+T}N2h5=pT|Q;2HNISQ7Wv$+>U;i%y39pBN__1P!QycLmoR~)H(oJKZefQ;FVVEG zSgSG9Z#nlVJwB^#u`_Bznmg4c!tunc6X$U`uIaLtg|+yv*^$?gp3hT0T)no3_pv>f z%;Hw>-j?Bd?l`l2&nKdev7_c{>9>1&cy@=vbCL{8^?zh=1x{V-{IYNJhSB=vf?Blx zipJi|L`HaWlc?WvV43#t{hA<|H^HyG(9-e!{N6Hy zn0b%Xk7A_}Kl~o=oY=W79l_tpxnf`V{VVC=#2D<<3TwkE(p0JEOO6#S^ylQ+fySaz zuS0JYBCfsU5}S(S$MB8t%@T7YUo2-u)``q4!Ay%FTtTrk!Uej8%H8j$c!CbS56kJb z=jHiw0qzxIa#B5^GJG*Bksvyoh%`N%_I)qWU$FNL%jEEh_REt-pUr%JzCcQSNz*Ic zGt+5RLKya!=gEZMP8`SS>=pz9Ckb9O)UHbB7oO-Aui2*Ne#4fOW93#aC8O#3Z|81? zqr>}d+3vR%{e6>1YFhH==N1CWJTSwOSBM3p$cJnNNv`FD(xOtf-_Y`)X;_6czFrzk zm?mf?F03HM)te>`(AwS7@H;~MRcW%5Vtaa}B&*VcyV3`m)6^1AILZf3>SpY^W#sq7 z>+PgVO=id}WQ?OTa^y2i=pklRMAgJhtDOv8;WRs|j4a(aaxiYlLi+t9&@z2LP0K?o zDr=+%=di>%MZ~%O{jnn&gvTO_PP9UlXCLcIUVk%CPp zF@~m58ilQDC!sl7p~7f zA=Uv8+LJ2bxI$7c=XE?dLP2IuNIKKgWysvC6!h&zs-nJST&!jBSId6$Y6D;86|&V{ zf3AR|IN0JL?#*gJCf0=lwP$iRD}wTMSbGZe9)L`ZEEJeQ58y!|4kX_$73xN1Xm1v) z1oPgf@UUL0HH~CVHrcTroW2Cq-Z$Z%(>fAO;W?9wd%cm5IGT$nMh?vsoX-W1Gq97y zDuFsQi;{hPrWpOTZfFKANUCxQ&TtgTx>PMMDq0>>Z2zr{7MguleX_mulu%+uW7kK;B3-7nU+agZQ;m)f#L*<}58 z{hG7l#X_x*{qljxedNfJxX7!PVwY{;aB4@LQhU?4LaAjBa428GiED$!z5ju_*F%FD zrwi|AxR;q~Ooe=EG}pT;0oS9W1E_~izSLH3sl7tzD1ksSDXn*EI__Z_N8)1OXJNDG>1VnM6PfEy%myv;?I7a*5&PvC{ad^KI6|ET_iXI%SH&a@0SJ-foWbS0 z{T=eteBoD=m2H_%l~lKh6+^!0-}Rw>40a^qv{YI`a!zM>4MbWQqDAbMIep3DEuRpH zN9opOPhFj7Z-qa|UEOp-%~MbC;b6z=N(0!WNwHS%P<9(6#P?9QoMDsEESI4WOz4UF z4_|af88=&`94dy@z^~2oajWOzgid#P$8~N#z8W51}(lfLX3E62CTK~gQx;l#;p#{ z+bmehAObtot2ESfy-q!=V5bE zeo+=69yYT3u2G5rBZ-fa#Y1$-&>{*TLK@jWHo{LBJ!m)jrWjsIf{r=$^M{SeERULC z$KXCdF0GL-rQ6+z*VAaUCZ4aD0;p2~n*wJ$BU}J>^sow83UcHT;o)Jy&Hc`Ffe9(% z1Rs$jk2IEad(`z+3qXKTb|KtBc-U_cAiBW+@%>UmT-zR;pdSwZ2FF2%jPJoV$cN%= zvfN<=m@|bZ91q)|Vv7rK8fCadW`*ETPVDM*q{GdiWQkmmB#;sYme{kvKFcV-j|~PgJIFdQM9bd7SXDS4*hq6zC$0 z`#p_&EJtZ>Df+A_&s75$=7a7r45(-q%$l ze1zvxBrL=^5)Tg-8jSB(fxRQbq*z>qKPJ*i-0{PuLY2&q$ zw$~|OfpN%v*I!dFCTcbEo}e@c=@a_(8Z0UnQ^N6!PyhyHl64z*;%Uh`3sv~QJkB)l zi}YR;r*;lJPO}i~i6M8#FnbJfjx*PP=82Tmo;OJzd!{n3*!A$vYw7j%ZpwF)Iw>xK zuFNN@d`TbZ@r?XFc(5Ea5?eZy9Hi`KK6S&(pWg3yJy1Zh4e=g^mnQ2_wGloXK;VoxYY6L=?bWN zVcTYH_m%o0$a7Ca@$$Cv)uu(!F0K!(nIY+iinzz$YMy%Be)@G&Z2kTDiTA_Ss*m^9 zFKk7LPt{LlU0@wOuyo6790}Wl=7p0$j#H6*8dQM69QnTIx%^??UpE5t!1nSbKz9=; z*nsb&J^XZFe7i769|E^nUw#9HOMIKEFIbQ-UQT=ss2DHFh0O~59O9$C-0E;dt&M8oW6&l|i7^n3;L0r(|W>?B_D7jylj z@r=)BxEzFfOTZm3zT`=RQnz?YE7SE^a3heTbO~<|aqrTuiS4|c;(U$sIaZ~XRx@~`_JjQTOn{~E+mD8C zd6wOtF(UEwx09-CygqB^xZj%ny48MSMa*ZdH|(A5*;f&FpNl!Hu070PUVPqn7Zjjz z@6NodafO;LA=+pd@+_jG4ikQG4fNsqF~igMF1>}sd6~rda8R<5f-z^jKj3|hX^>%! zM+ng{uMUFEEX3o159w+zIaNNAi!o-AA2ZH=JUIAq%NXp~`1n?0!)N;An`LMR6VuAr z_-1_m_0$G}fUqH9c=vBO8DIdPO)126AxNNzHgy!TiPpLlh~Rv z{>&4#ZeH|x=jXfOgP*wB#Lc45o~Pc4Lf^c_zi~S9yX!q%)```?>EB7_??R7!PFCSP z%gw3-F%1yRnL0Sv5~P8+lX(fAl=te$Ib2ux+mQY*4I2;$9s-9(+kW4K9Q%XcA$5KPVfca?*zBKw`jBVRL)KtgHX=*O0?|F+(F@5@E|Z<#!h zE9btw`kiM?qWQx9ol8f)*3nv!kRLo<>%Eu0^dI{%uz%<5|Ha&U1~t{S0lPaP2`Q8i zdXt12dJsg4Xy~DbCLIH!bfu|S&=3NID!qfDh=72gC{+waK~M;Y0tyISe)A7(Ecp*8?xO$H9QuVZkoFSy-SO*t!!#iJ`X;39o9$P!t%q+83n6JzdRZ#VA^V4taN_38m_2EB& zfC@uF`gYP2)+2<54-)D~xNct=<@E{ESE&BY1UI6H6iV^9pRnNZC0Tv2u#_F?XsN?lew=jc!XPyK)s!C= z{?_kD3a!n7BrK3Leq!ghO~%{;xdu^}wBGh1dng%4_@F9S73OWmd+^O$vPv=nuSiPX zka=!ZiCAxVcd&4HC$&O!E~%lLgiIUAd9S7>Q2n~dFsB;*VI^DERED0@8D1ayP%1{5 zdUQ|m*v^P`T3NXw#`1VbZjHF$UQYE{RtdF2b{uPcAe_h-AidcJ8esCGxEayJ=Fliw zRFkQ-tlN`&SVz{TJ;LY#q_oh=rUUGw>kEdEmux1|NQWXQCiKRF?i)N#ijV;5hdhJb(IE z#b{fl2EKTEzQjG|yhf*)K~H?S`kxV1r%JsBr5LOMI{+?N%-=)VbBfpHTDJLTETgjE zrR5y+EXwTKyU4YYHL(7IJ^Fvzy9m5!uS*PrrqYKld$uBuB-w=y9Ht zW4AYLc{vIf(P|iyeC}H%MOx8D8UHbH*#Z6;(KP=SEIO@eJAP@E)BsK{d!2}pggnY5 zc0Xv}d6vohyz6N2YkWv{i3;oZ>P;1**PD*n!=#)EL|OM+#PmSvdhh!`-PryoBwpE= zzU&5?o*RV$brXEWlnm)2H5ejg(uQrWpUfZ6Jo|R;tH5662Ea4mo@9J^gjQSIa~-XQ zBw4l!!E5`LhuHKs-Gw?Lh1QB63TYp?3kb#vM$R0c|GuPirVtWA;T4)HL%vE5v3M;y z;yOp%ONNsUG;7D%@EEOb_9t8g>^ZEI-34xb6V){2_XI7tXN}yyl_e0VarB583oQ^o ztRR!p!_r&83C6@dI`Lbbv9x+y!RV1WgF~>EP{iyBBMg)B%K_e!%}fOX2b-N?GmHte z+*((Le3+YscI38{Ry29pgken^8cMGpi&o~$xk*346^nKa`KgmevV+V7E^!pBRn%S+ zC*a+BP0l&U+#I8s&Gs4!1-d7K6#EEo%AiE&mTf`ssktw&7uJ3)jKiWoUg5g?$4=d4~ zL`7T0h{#uiT{8K@htwZRIs1alM z0MSH4MED1L+OH*<3UU$y;r$;Jb@GI0B6=X0^GuEIJUR8?@Kh|F z~x@Z;P_$x745qcmQ&B*$_puC)!GkFPoXw?rps;a-@ColBJ%3DT~3R@x7 zC^w!xncg3Y2lbR`q>w%9@v;eG_XQ&G8?M6erwz*k7D*QF>Ta6v-FedOi63GE`AVNI zM7%NNI?@Dn|G2lMxNGd1w$+|f$HUGae^7}UH9ZlvR_yjfnUJ!!PyGV4=}2-qrjYMj zh@LdbQkAZg6}^7oi-Crz8cQIY;wVpY^)|D}5S{ium43|~uHggjOz1uh_E8|ss)_8U z(}_}RRBQcn>iIACK%!H97!VQ6g1f-}tLXf3=$fH}5vzxr572<4l}EJ=8Ky z@i;)20ZC1)0cPGpS)S`HO)L9GkF-mA-ik|-F}nZ2{>D4c4WZ$bC*G#}CX`abem8<= zIO}E*3GYUEaw0t15`2%EWLA%sqjwG2E6 zFBNLBJE5O81&iLUJ!UgunBU1RI;dxi@C!DI{WR&FQC=hpk~ zhyW*x+z&e=7g{!)BIJ6NUhMEP?^TYAm#54NAVv;-yYPuJJw5jE1YG|w&Lm!8d;IRB z+i&K$N#RxFrQKnAcB2A9IO$aF9k7Rz?jiok{ElCXd?(|1TsuO}>DDb~*6rXGG{ZwY z=nFj?U3i_v&q(HLIT`IA$|jK<`<`K`-)q*_y#1pa3yo%R_^HQ7yTeNEO}}f*K6Nkk z@7CU`nKf&tH@Egb-o9ug`;;trZ3gFf%01P1)$_=;XICapMSA;Pr+n^-zvb{PJl|?D z*!sNQn@GDm`xPrA-Ru zMfs(nqXlsW8n;VRt99TXjp6IMa3eBrd|N(^jnV2B%#;+gjTX0UFQB1$VmLaqhJ53P z!cL&V=jIGU2JfON+<1pqkAZMG-_@?r@Fic|yRqdgA=Qv5BOCyV2Y7VabcoKWkt{&8 zK{c!~HI%IyGn$fu<;64tdvp5sQ+fAxQS}(9A8-t4hsnY%p3`lZy;R;a1EPK_g&AR` zpJ_R}qEz1ZAf8imwPD>w-5`aDoA(5^D$d3CugUYyBq5mP9a5Q$vvYDuB}p$frM}i& zp6iu}r!c}+3}RV4w1$)uc!rh+1E$D0%_)nBuS~ar@7tEMmgLpCU@;vaxe?AlQN%#! z=A1&m&I9+=>O?k-#};kmeC23G8k)otzswtZYftiAYoMKxZ}0umQA>IoEP}-Qu=e^` zfW>>)D{6F$ug35g=5S)0h5Z3jMC>4KRGgkuL5Dw(ixJrYTe)@goy=sQ$J z4k*j-d2I;)lUD=w>B*0>h6eHS0ZDQYk<%q9D4=?-HmNXkD22%TODIXPjH=dW7QHYi z*p%ltFQe51biC3z^+QZJanE}Mi2ImDOHxDURi6i#@4sMUxcxvZh5>tRPA8Ns3AaOy z7?`b58r&$Q29>MGy?ttEDS*%sLYoow8xF)VntPkLpMt`pcp=+m25aqcERt!-18$$Q z6O7a#88~9)ei*e3*@F$|V2z_vxy8NvUY8qrsb3O#z@Wp8a(FX4?p`8|(?~b*uSSD` zaqGa5AzjpguKnJ6#?iu8BSUKSkwiZfch(r}Q&2#5QBmlu>)w64GxnKi3aE#Ve`?v` zrA4|e%8|`+Slw1!4sx`OnONH9m&kB@-`xAUd17jgdUj}H-A&=cwgX{HiNoi#CE+xM zudnfR-0o;vT%9lna=u+~s>^VC*=KP7)})846Vel7>1q5|v1eoZu??jV)Ut0k6Y|rZ z{a1rL)uzImK>jVlFUN#{D%s9SFtv-LH;%)_SH6tzZ;~gQF2WLk#vz;*V^OvL%2{nGB)lA6d1psqb%odqn@>8N|SjVyVSbSa1F#T{qnoPkQh zw9?&)5{Yirge=Tg$F8Kb0-tV;LT3R@r}`Sha@3QztK{8p1&AtjN4>9mWhy84Zy3ou zoix0wF9T)s-F=cc?h1M1+WDFcgSv%&aY87~1bvxAExKCVoqV@W_K9$dQ=b+toU!w9 zvDy&;<@9p2P?cF6MCw#W?Z*x}*VZ1d#9^7p4KuRaU8Ked|X z7IBJy>Gv~Q!_0|De!Q&5652TS>dnjc9-3c`PG9AVOYqQ+bvT>sai(Rqhe?$HXry@h z+Z>QNm9BN)gGHv>GU>Ka^tbU4s~ylDtmpkvkOXPZZgM16qDztC$7kK(dG7Jty}7yg zub#Jn`SYS)9oYHoeO}!}uW7Oui{eFNQvbxw7rvRJ5$K6m=WkKHN-OCSY_3xlw1?X$ zrUW9#NldK-%$anv9WwKNxi9mO_pA~@w4Xm*)Tw> z3I1zY{_iXOKeYJK(B3s!^lJA`vl4oJi$90|$foR(FIj$#)ew5&bK7`&BFoDrg#IP# z$dAe+Kb4lK!2j8*ZUiI;`Uxli$^2+>DQSg0I2Ej%s)B-siZVe%LyxQF($hU)Y;0~} zVMii4IXJkH$sTTQKK}ke+(OF0z|fH36QQ9eBO_u@ojM=?kKB(&OH55k$w>Rhi=LO4 zUsPOFUQ$|7Sy^3EeU(e|{eSm@?GlMpG+rQkv@Yg9MX3#Owk_T_=9&+y5l-A&Zi~0q zDz9C-b?)(r-j|Po3ywEleBSB1IQjY4E;aGL0`>phx_63S$_|EwlvbCBV6WE0;QZET zA?qq;O?#0vpS^Gk&yAbC`5h#_3K2OuSyT^1NLEI$?{QkcHOpGGs|OYWI~YX(=gbkx#!aa4KFueN_G0y6s3y$Zo3;cKIQTijd$# zlYr|?OM}1J*g4Js_xMr_hW)s_GMJcwcWwH|3pM^P;&rS3ak)Y4e-N)pH0S;7oG-q zDH-veqn#C&mX?)CK_CQF&}fxQiAe=#B(l_nav*tyRdL1m3y@?fN&ZTRkfcQUl^Y?| zDzy-i@=765US2W2wtL5JLOSl`QXx`E6+t1^M8M#1CzV%LTue*?Gr8b5m2mq>q7-WJ z?NZ6mvXF=he54x=K|$YrbAOpDE|n#=(ImOojTCi*IgrHl+W+5?ckQ(!T(5n)p78(D z_z?o00tC2!H16ZZV%4>@3@j||oydosT|JK;3*$a19t}8wTX@t~O~es`UBsSY2dF{p z0%lU!$$YF@+#hpb?o9W-prbN`p+p8>D|2FMMR z$}cDmmKEhgiwOuxU__-wCH9E^cdjUK=L(=80;mfEy25}Fm%dfT;#8EBHI?yN8Vc%o zRc-Eo{!7}b{X^Pn5%y{880cyIi`klR_YlI~{d@Ns=^L0B7$5u}jIGUo9e+muIQ{@L zA;4A$a1{dlgn(m0Km-OjjRDRJn-I;3lJc%5%BE^=T+<)vzox%HvS#qVY^>M+ko|=o zH0S#Me9aWkI`0XvPzWR8%*?E~zCSCH9k(pp#@4~k&c%`J`mgxU+4ZoitM_5gfAoLe zK7QO1ajpUI2qo}>wLO=X4GcVX^k`UcNNCv6@UXD(h=}NuQKz^zz?hi0e{F#0&t3Qr zEt~$o+5iEX2#_gKpsL%hZOG+S)4inrMOK@_h5w~iJEDYgoIOhYgXomw^}d0VdWY5x zEjdP3T$J^-voBr$`oA{7G=p3Jn-H+(z?1(e1Z+F__J0=wn*NzdM9e3_S5kT3XF|4e zz<-MXDwUQ@|8LjDtSoLT4XzNdsIaiKq_~VruvY#f1gxp~Z&i8I^`;gswc6U&+17lM zD^tC5r~5xX)w}ol2L>|>|CIwic<}Ilx>d)=#wRA&lkBPgX$gGxY;JCLc7ASlVPWy* z%jM;lOI)UP_4Vs_@7B0j>&O4moN;^m%g*=hA3I-v{`~pxto{GbJD0Roh0Bnl3M7zW z2Za7v??iN4o}tgHwwn7X)g_X@;{LndWo&NNJ<+kteSudfURJC#dn|FaEm zU4>xJY_E0mSb*&^x<$&uk}=h~`|w(Nw;3R)MzBhK*y7mj>$5i$&wq$`a;mc%C2*SDocz{!(`kdv%*NT;cOcTXhGR+>~>*JwjqTLz_66T_wK@>~t zy>%(Nb=yx@^2uhB^LvgzbO}tmS#mqo5nB;szqiSNiMgclQ^ku6o+z0o+s%P##K3Jl z2JUrW6dlp3X~Cmh6vbvsm(Hx9nY6tY<(1CLP52YJn*q-l9%Uh7az>Fg2qd0Qc&tSI z4x@q`HpXo?cgI2rsu7d2?H4bm`Cid9I%qe~Mu`6h?j!8>QdooTNv#hbZ=~$|8B&*5 zWEtvIwlf%dNsA^G7Hj6tN(-q9$yFm!w)285D-E7N%=LU-5UqUti3nMN(u_|>CS*YC zy`27Q5{1XSBtwgiMV3ARoGV^s=!|Ii)Mtbo?0qZC$W5#Y5bYQY??YSrPNyDEi+_`L z9Qxfwt(Ra*6@Lg{Zww+x`6>irS7|uQi)U~0>7r~kwjPNOsK_OJtM)9qsO87uL#ick zZEZo>GLqDDb%t1R=qs2Rl5qlR=BDQnxzF_OA6SJWoKR~8@siMuQ)@+Isq8@cYZcR_ zrYeh1qef)+$7F{7k#O>1L?T7ZJ$45&#lRsHK25Tzy!Ect_+#hy zPrZG;ymG%j4~t*QHn)u8Fzx@4m;YsVC@55)b`yH2y zU;f%z>kRt)^TxH${lNOj%OAhqkDt8vdb{@0?q830hc5PoksUj!_u*u3vcKu$YJru_%HCjG`K62qH!x_|Apgv*UlzV44n0vr{CfnemqX55`|kvE%EGb(NkK(=;Kkr zGAlMCNP95mn8<5Mj-*n;Cs+Q5B5=(*Ecyhj0LBOTK_@-f)JE~qx!HW9_ZF*>O$q$)1S zwd*^~7wBsdxLf8%+hz*oO3?XF+a&JQkjG?_l8(ss;zp5|yV*~3Vw1!dKePt-^xkSc zEt$Ny5c$1#;KQeNmYx4S#+kl14%!|Q>c(Gt&Zw=+E}eg8+`glBxqs(tPJ(9f%fCh^ z?-g#{psItH0l^*CQ*}ZN`Vj?*H#oU-eYWsdn z5|(bJl1S4o%B>z)rAZDNI56al18?Ujs)~5px_S@r;Y%S`qU=UuP-6~U*@;e?|?NW!rRi+=a&X2DZnr@Ppc{eD={W*5&f=vBj?=)_-xKYd0H>-^eHSEd?OA>Jc`<(gbZW`je5Rj?5-GmejW?X zI0<$AYt`-H)^AwqQ~Xx8^K4wSz@bWy;&%sk4JVTNx2lCJyNQQ-j^?+<X{+qzndqme7S`UAm`%dHE0<5R5=y=h4%vQjtL_EG>QT6?@(X8y8tI3rJ_!gnNabPM5&UC zCubAo;E5Bwpn5i!2 zq6ihh<^YEA^yz&1`n$wK@t{fqa;X#HAVIB0Bg3LV?jgyKhLS9I;zQz-HM&yjXH#Bm zr9{Ec#gwGPd8U?}Ngc0EIX8FaLdb!OJE`Zz8TWM=^pZ0v5(m$gFsgSu8U0C&Y>9-N zc;h^Sw6`8bDaeJJ6_)@aVD8OmXJ11#3{%GQzP9lJvwIt}0rEwZ#L-L9FQQ91otxkoh@b92=S^ z1oolIIJH5-aeQYns1JB_6$b^b&I7N29qXXqXkb$ifin)Ru3%obN;g1hB9&G|USNDE)v0v7x@)#_8CyKpMcX0d)gz zZD<=jhfgE67_3t+IKbC1T>SKKj-d`T(y$~b3If6M1Y!XmHq@2?pt;>J+A7F|Qzu0lI;XgebGoTe&98wziZE<3(wiMvai6cE12M?r>t~mP z(wNCB#TvK@t$?C1)#PjQ(CZJ=1D2Vok}zLHsdf`43;|L$s){TH`4h{s-q!_0oh~B+ z7HT?HJs3Q?L;#rwZmSdau2$CpN!eClu{^ci7+e!Z@k8k=n=-$jSJj_m;N<#XDMO>Q ztA1qY^<5S4VRF%lp1SdF2!sG!R;_du2j?_Z_+h~s?GPU-u=t}ALWE`VHmI#!{a^#b z5`c_rRVn8hHuLJ$O#!Fnd}4Rw$#YjT3`?IhR=E>O3)70g>}n|ax*ZnAQ7y40!u$z< zjVjQj1_&{s`8Gw#Vf8nW+8tp>UW~P*eQ0@!)L4`{^4hj_C9L(Gtvm8V_D7@a_hbH_ zkvBG)C|f@bH_!QhFLV0pP5I^R@8=B$A`vUhy?FP#3n9q+>7~^&k zpLXx>ZRi)m?jKquUhLt&ena+SJHprxr+)JflA<)eM^3#>^+mD5M_ zoK^>1eR@KV7Wk_2486ykRR?&{FaaVENUmN{0RmW6U>3xl+5{#*iM!@y?yPzZ9nfHJ zx4BPWgE5d&3WY}jWy^Jb%h1wNVey<&JQKqG>2em?J9quAT~4X0(J8kkj5rf<4^@BZ z*U@*q{wqJLMt;`UH(h(t*cYe+Dh-9$5dhnqsz=u`^Vcg&y#T))s28^is}Wi*IS~7t zb;P-~ za~fz-0QF}^lxJJ7o|vy}ihRK4E934g?LuFzA0@b9+?l!HDa1?!2DOS-Y1`jh{TL;L zY>4D-{DVUPf+yzz_3w4bej-rF> z&=%&?$}Mk5qS2tX92ZnHWP%#V6OC8pA4irWeGY>hu}8gfP>$R$Z5GOrh}M6MHpueM zw*VFDDU#VJ-zX542~%c=h=Ncr9(lcwhP1KNYLtVwy(anFAua7@Z8<9P5GcJ8Wz~{% z`mWhx2fB)lbgqVVvehG}kuL+K@hoBoHDp1Aee$m2`#$u$+&$=)X-UN}K6_9TA!5rO z$#9s;aBz4=ceqBGMop2yyPc2AI9Wt_^tZQ*0y;>j?b8|l#c7k`8+UV10}daAZ1q&1 zuJZG(9>9=uUP7Wl6Rc2S3$z#wH{LS)_LaOB1-s!1(`L7!nkardnDzNB8lR09{98WaF(qbMWWI6GGabu;KvJTppIc>fO&-YIkrw%1XHF z^1|5^*6pxF@W#%{aXwHH5kDa>60rVI7&z#G#+=c^r+QPcG|8{7#gLPOKO%52m ziw443U;>&)vkjw$<_TX0t5t)wC|lvoO|9HbBRQTwt$=#_XM-yrbw7h6+FMjPN;-d1z|di^DOv1f~*y;X7#qXGP2+}LUq{0Y7HOKo@Hhx+D^>O()f z{eP+_{v^Eo4S{WH6E;P6KbJUtqwIbQ=WxlI?XDY`o=HrM(|0iCyBY|sQ+ZGbQ((Se=`CZJmR&%vSW8UbQJu!Lyl7tpIf8`ja^nlIE+wLgEWkqzGPB?mLj@o z^q8c~CAYmqTsa+4i)=DjF%53={9^mFVg@5G?7X^W0$BRot{9Iwo4Vbdw{pz0aiF0zuyuc`F?^HH{R_b0*!2i+ey)Z#m&& ztNB#V(EixM_LBp~i-K-0CxuVVxVR>7xczlIbxQBBPr|9gj{+C75BqA~+SlWI-aW!& z?SklOZHlPOH_zU5O#!dtk6nuPr`r>hihYfKU__8j1Za}^K=@R%#@~qK7sp%9pVm*e zLcF0NiOV4(o_Mr^M9gB6Q~xb3BB;POX_mjd`n(3I*W{ys*y~M`^lsu(ud|O1mV=vAr&mRqVh5lsAhcYXQ% z(M(6<&(p)DTK&9-F0j--ZcP%$o6IDGLmEB)Sj}I1wAW&H&qtbw0sp1z({fp`c-CVP zHWfa61uQ{`>{3P;L}mP|t-yvY-hO`!WSD zg%sZjO$0x+O;Z>nCnDph3dSY!qUuL2K?_jG0D#tX3&vpVU!9P})k;o=+~ui&CjYOGuWGDU)h!P(SdMVS?bh5ay$PPI_vGo_`^=oF-f zKokIHaC$+aP|2f2+2kba!rStq1}-z0_y8pli9B!salyiEiiBhZ9<1$}x1?_xWDQ4W zi{Q-#HOL?{5&42+6(p$Q?vyPG0xA$8@F;{46J?0t!q#o1l$-?$?i zwXl=9GB}jXCLXGWPLsB;gDG8Q;D4yX&FzPUj2qsoCo`U85J)KTEA^Q7A(VX}uV_OeuEZ!8L#ly^0$2H`sbk2x6}0gCdVV}5agWBWCWY?z=CNV9CSPb` zwIx2{G#$6yyasTdw5l5PA`9-M^;ABX0Z|O`2I*?h(o!T;bS=jjdY+UvW!3etBgZD3 zA?9~(Ia~`@f9n0B9@*Kg^z_8pU#c(v9(ElN{S+zd?Yq23ynD#~Q%u%*_jh~6d!`av z1sc`;KKgg|=+AsQeQa)#BqZK<6!SU0-OWF@0p#<%N6w~SxN4{LJ7J9<(YI=;UC^g; z@LR#>vt{QoNzOn3GS=@>Y|;oSZcywF0XjR(v_ANAQ+Rzn|A~dw-u%#ERA-%w7r(v6 zfwDo7PZ)FcPlsQ5xe%SV6^kXzKzh}({0dC?18JSSj-87o+J_I&v>~Jn%P~}?xDFH- zkbCqpb(eD8@VWElxC2Mj%|H?&k1b2E>AA|o;fRYOb_+S%LFiuuXn)9Oi`LBC!^8pM zC1C{oChKK75gtc5Vb74Z2MJR@JrbXysiqvjNWG9ypww(-C&z;v+4ABo*t$M}@LZI} z9YxC8{R*AwKC@qEdT`x<$p(^`naPv`vl1~2T=){X762R?r8iudi&O2 zpO1)cso6JEUt6_Lg&%owZFazaqAl&QDn+h*_Tk}gH*6Lowj`vV_ve1=aJU~4uJCJq zzAD==EyO}Goo*^Vel4)yAyJ_og6#LS+FKDmp>ZO&QYqB3+r|u5m8ZDmYhj~a0)l#N zJ*(IakEmr@yL>K)l7FdyGg#p}$ju-p_3U?7R8WmcB(n#_S~!aqn7(CW56FtBsi|s= zDaxtu@k|HjzWQKYN=87$6fr4T+gsWZ){l{{?yu5OInq`%fAlppXR|#tDsxyu>z%4LG&xpmW&{1xQ;#aB|sw|@`otk&w zOC>_3_wPM^#@eILmkAY{o_{UJdsbfI3S&Yw?^c?|z=$NS*U~MqFD>p>W#px8QWPaL zgM*SZ-HkkZotSQU#&^uEUvfp2i70iwF1|GdF4msjN#D+rr-a;}nYR}ci64+aJh^Xt zXLl}RGqd}V$V$9rANg0a*57HzdXgIU#?(VsmPn@@0$In-b<aFxGPE;C*?1UIOjdeKCRI1_j5+vX7TG4p-V6N*Qce~!it2h zE(@OytE1(I*Pxyxj0m3PMv*{s=ss=ThC>Gao_dxmw6gQiir4pk_9WNz!Z~Q-r*si_ zN(yHEz{?>Fo&Y`_bD>pQG=(>;CqpMII9wbxMpB|G5UV|9%Yu7Pv_ zG!CS2QIvm~4lxNij2Ko_0xKz_z=b&W$g9gMX(;2h6_g3es(V#6bTzaMGzt1zI);1o zjP(r;>gp5s8JHWJm>VA?9W=E%XlifECvA4f%G}bKu zav-}qI{Ul0c^&rj^LF;|^giO`N^x~Rdf4;0w{L(yCFrf{G3|xEsHrgH2h#>bZqR=#N3H(0*W?5ixX=T+FW_3+%-9PHdMmh+_&kqAN z-MqyeH+R@Q46u->s8B`k(C~fkfFBmYF!wO9v3~~q^jR^O{~rI~>=Jjxuj;|Pu<|4@ z0anfZ{~Ywl+h@F_;U zK?OoQ5XyUhGHVnWFq)%)E!vEoDyVMSMOVcq+5mzce_QYREk?B2Fe#t z1t`O=jZ_}HTI7_bVsny(2EZ2Gm=zQvMcJbCzpR#rgBqyJElqAhnOrqC6-!3Q8lBj7 zLz|EAO)1%Slx%vpZM>+5AJY2`kJcB3NMxK|&r3{3gp5mBI~wXn3BgvRJOkoHQl&+E z+IPaS*2#cSoP-9B$D1zwH2V6HLpGh}OW7%{aA%L5u@OE<9lnj&eerL}DVQ%<9s-DS zU6WVMf@_F?xd1NeW+hgdMS!C;3pt{IA>YVSDpvp1k~U`_tpqB@_hlf856=q(7bFnG zGC`k$p2E=fz)ajCw-u!-;t?4P2!qitu(&qL>TXI?^4e;CYNn@Yn!+)6)?u0_N7AwK zA)E-vTP(|$1U4x#-C;R^IH1T;VqC5ru6f1}FgYH{;>ULi0b>csn=4MXHgDt^AOgq% z(a=UUQrmg2tDtR zBV4pWZ#H7e{8{1FF)|y{u+&m(`KJ^T4 z`TETF%*NMQN~-3!xuD|6Z}TD7TE0Dx=-l}BB5FkQ`$F7oWWYNeBW@b z_2-A?&QCu-wvA~0TJPYJ4I5qWT7P}&`~K`EWS>P*2R;|`@@OQ*eXd@adLWFj)ppFq(ep(1oA`YAO9mJj4Awz!(0+LLlxM~P^6*h(l z+j{^cbyNZ@HW&p>3i%9n<1Fz3Se_MxJkk(L2NdQ~c&Gs>{3IUR(~Kg$5~3Gc!~#=B zW{A;o{2oLE-vhvM%Cjw=Wi%-HfM`k)THyLtR-aB~Tm z0Ryy7P1l5oiQF-ONTpOKNFT7^g(mW>q@lr~lo2>YCq*TShH$0IiS1LQ^0(m>LzgoE zdczP%nX-!rAU~57;6UWzGzP!~!{r)^bY!OVLYJuk_gqG}E`SG27?d!GwhWOOK*9)A zaj~-yZ9OJno=$}=Hdy(*aw)C|8I;(`gQ%j-07D9|XvO{{nAEa0F3Jpx(;)#J6h54Y zKX{IibfQlX5T%#{Km!$17m({nIEI*L7+SlXh^z?(i$2KF0hoCRE|4kxASy+lGT=n( zqN(!YoK4}&eC8jn0&`?3X~lrrZ_@O=yt!6@n~0}`Wv$dl2+SP547N9@MNG6+M_biY z7!vCE)rrZvYy|K*g1FhC0@AX_@dg{bg0UacuL#H|9xbWnR(qzTNfl%_?j8VRpaE3e zdJLMIamNlCF|^n~!$Wm{@N*zV`+_N-o#*vkiyr$zFtwRRxbBywnBp!nfFgwqibDdx z+Vtvr{m5Y~&oZN-fhC@3npK@Uk3H<+Rgl%?>0wP_Cg`kk&TVL=zC zCIU!wih}+ZfFDSbn)NQ$BS2vh@y7&OS(A=P8p@IxAjTdYzTQ8B@?zW%LvbuOhGU9^ z2p}n~obem!rZx*uB4&>i73Fyh@j!#h=X*b8ea`*f@8q|;{&wtH(*-K3rE8E9&<5i8 z?yVR*X0gpiL#G%VkSoU@6Q~1IX5jekmo0!E%3}%U3ZHqyp!%$rhRpU0E@Eg%hjedfkLr*g78 z>Qo%w+xq;RE}7`4-~af%DVDa_o2al0+ z&*F6VHJw@H!Mitr5qKhqGq95I$7pV-mDv7q_gj*mu`&D*b(mLM2&CPHLq24qufbW7 zC&aN3^K-);p*X6(OgrFwHTh2O;>O9;7nuFTYq$o=+O_vT=ljI=!-b>i-;`e=9t?ja z=%c}>r7Hj&{D{JXEXKu*ngwgUEsq}TGZ*yl<#op{d0Xsfi{W4B?G$eqC+oAj_Jx;> zDB3-t0I0IWD{2=B;JcF*4Hf}lU~9;bVD*>O@)zi%4LkA_0YvE&nb-R#e@Gc;GcI%S z1c%=5jh$^N`yvMB?^;;^ae$R_T)<1NW>#t%3w@GZ%^z}&mfMOoQ5b%O3^{2ISIbF3 zUP$D>74%DTK@0xb7RMiiH-&!ih3-B<$}f?dmlXBMiDkE5xTejWo4wbnb$9E}dgzh! zFVg%O;0r(a0^WWQUav^vd^3R!XPg({XVP`+aL9`_y^EXuI}ePjUgR9I5Ps!&ukG^P z^;Eeb!+C1*hvWl0Y1U=8I+-bNudjUQbsR47K_^asE{B`%KqV_wsOknT0El76_hlTW zB+2@<-awS@qqcJ{zl6N`Y%Cdsfa2A#prZsDHf0&=CA@OEfDJ}OonI&dG_eVx#Dr(x zm0nq2w4F|P`R<~C#90rb2|p2P&n2N(L82_kAzmPq8Z0f!Q_f5bV1Y!Vphp4z44h2QTk0U>%5cVH9OVByOV3^EY0>}K3~ zsXE9--P+j>?X1P?6v;V3kAix@X)gP~kpvIhC@4Sy`1RqzQJ?|>kF`fE6ziU{OeZs9 z4of(@OE@2ihvTAPgKZ%oG&mBi#`=m|* z$I}WINg(1bhSKvriw_ZBAi=VZ%088_k>uw)Zo zYq)35F1aTJ@i6}Ucu1D)Z2Ap}4CA?IC?^)TKhw4d_JEY$`{2R^Z$d)~ylKt!ml%{n z0D}oUHgV96V?ZDl`ceqm84vBA^Y*=+!+$noiE)sHKQOe0D?}$jNJ)>@GJ{FEE8lYv zHhBUzX+actS&2XjBlsmAzCvhwV{TGawVH5T~v4BZjuEw zHuxy1Ab5vvuN$NIE<*VX{INS&C<+n*n1wX(AUWVx6>ft`n4B}X>nYdr0~3_YZJR2) zAz5^fRHUzWyrC21r-!gg%{KUcQsQfAb*N$oqP(H8jGtA8TP_=IJmpD%;h2CjhkBF^ z&GdlQe=nvjLxHb4zG&EdH_dxAH{oH za3TwavXd+b6Mf7QPKD`I*A`F!H(qKGZYvJYguMv^Q@BOM6_9s?E1UzpzuhnAP^C)1 zF}26&OYedZ)o@g`!*&wPo|vephS24}B}4!PRGsU1OqF!3QfD0eUEFuO`VSHH$G==` zkYFjr$MiYHpz=^~z$p>surSY`^mG@VQOZ8&0yfoQT<|!<}Z)1>KE>vyH_+ z8ksUprIt-)0ZrwpO_kM6)!j`svrQL%G_hm^Riy$L7vT6MzW?`9!JhlwGt|bqcZ^79~h-Fdh{Z!wdgVvFJm^BMkZ!orA=4psvc6Yd>t%9ze&=_$UpKcT>cP zd}z0TS_*(2;=+_7os+|Hp-h`6Fnc39X~7;Q_8bUex7mO8w{6JsBLujR9HYL+T|Mh* z`&?9)?;Iuzu7Cpe`A3&bI z>|yERy(*$qZgN;kmM#W`1xx_ewKsgI!XaE+V;&4b0m3-@vpKFHJ`lv)VM&F73FiY% z5w9NHoD>7TJ>U0n7A{y^XvvRFyF-dp1;w&XnvTJd>$kE9x4<}f7zgac%~y9ksKx~3 z598YRDH{jM$g)&HH0boP`*p@P=NQ*?9(3Vz+9oEiD7xBUFHY>z>!fs2G z8)9Y9AZ~boY@91^hdXQUaf|LH8S8bFZYU9kv$_co;1Zv!DJQOE^V_1PV47oFcRhx4 zQ!ToE;K17xJzzraLT;G)S-7Z@kMSGWgbPBB1N|g85OAOi#+OfmEUWJLLDT%gc)p=5 z?;ILfzM&Pw_scvOgb(s@esFE~!Cp=&B#Z*v6K?;B4%PPylJSDq-rkGjcx7{LC6zj) zZ&!^SW_bh06{Nt9T(~9?;Y{hwA}~B}c$GZwkGF!1t?njV&I;Zjr=LK${n9Vh2@ZMy z_5NkC_imTyaoCz`%T9I7tai|Vuyurt8%@=MY$HFZ z&v}&11%DWT`z+qi1~7Eq6Q3Z&r|heZyI`$*z?YU$-Dw_SR49ZBD!QI6H3`T}p0{8l zU#S5+$6-JakyDQyBH3EfM2y&>)RAHR?GS{U(k_#5JrK-+c~3&Q!`Reoqz3R|4rIzg zVyV7fRQPikEk;rsOoELf08jE>R}Oqk7dSwTR3ko9e~@s_#5&;J?Y~;u&z|V2@P44l z%-zO!NQOfU%-nywBgDBdA15esDT1mVxw@D-oEm2FmMcecbfO5Jg@75!aX%+lRu|C| zbjwNyrfhiA3V^3aiKiz6D!=S27)7k_`kCkMNlk3Qja3<9Ux7%{!AQxv$zw@gq(>9K zk|F^ZJo8C58+s1Yse3ro)AX9@`=;H%t*DNB52?UZGW=Ko(uE0M%WijNwMX~1dwMj5 z0B6n}e9_N>#1de}0}&4kT0R~EhG$!z7Br#7;QOhtOEDND96W{uPc26{ z0axa%uii+#+Ex9cBO2fO7}TEn>ciZtkH25><>x4cjgKG=7TSilpsx?LA#RJB-HPK$9FnIjYF>D)zy+03(>$G#a(@=}g%?@0xJzy* zN$0xuVD#V=(u=Vj$pc&1EC~)fOy28q1k(1^LI4FG!GhUeK-z9c=cSy;fAmJ)8e!dVBwe8BRd}cI z3eaaF?l~vsM!q}C~{H3VS6f;2_hUxhwLL z=k+tZl3PNh49aQ@ZM8RP6!k8NrjbndTX8F6!6x1?{0@@DlOEK3m{3WHc_#)6~iNVi|=Qka(rMfF-P(+bQ>A0WSO;0WpwEx_Ax`` zXmCv?pv#08NFv`=UT|(3__Fy?$ufOl7lY<}@>|}?MOk|yYvwVzWbKmT;bF@)`t z|N2oyoA9ei^In_GSe$->sC4=3lRt97=Ht@Gg(714KJtjAs&Afu@%!hZ`*=R)&vTD3 z5+FMfhPx3_{+|0NC86e306ACle)h+W{6m_EOAKbv`q#QBN_k4ic=7f^o6nL8D*^8c zLV;77TWck>6;vDS^{W-spOt(n$dw0+oD%&IjtD^Y5T)S>Mi6f)>j#KFBIC@hC$|%J zcK1(*JMgzgBxm4qu2rj9j$d2~=Z>A;V^GLEayqMG+<$)iktgfNE+B07G54;lCH+C9 zWPD3&`-bv-lT`-)SmzEIfG=BqNi;w>P@R0a&T!b73gU9H-?F9H&$9V&don!3q8z{# z79Q~|-d|=mle2cPETCu;;J!^1T?#s~#Nbu}{K~@J-G*Y*N01{!8=Lp`TDiM4!dtspYe^SARRtI$Ub?m6Y ziHA*{5xEPnDG&%iH}(klL9QRkYea_%YCJi)GJt5vbYT@9pye6HFz9Cxfb%)IQm1hF zO9P}~5hWD&j32=v-^>3-JeCI0l@w;6z~+_IP$m0AH;xxVY|ib@vj4 z7XKs`g190u`0tb=^gl%u|2dx!gcFlc|9K|S(AfOn#1iX;7yq}hgdmd;0F|HK z2vUjnANlM5m$3x!fBpGyf{m)`b2b0rCTVGHYZu%k|0~$IBgkX!b9x0q%)f$-$HOC| zf-I&PVPps&o0^`PeR0*;&(GlHq9BL4ZD!bHG{5rp<0t-KdA7d3WGhU`aud>+DD)YO zlB?7kVgTqE2QT1|Vy~cJ*R^K*0VZBLOPP>qq?W65;NS^#dQEiyroaW#~!Za_AXriG|$nH zc3?nUvo3mDB8cqg{bFdale{SuFUm2CP>N`j#S^e5B|ictP(8` z-&Ft3u*apSEE7!_lQSr$*@>-lID9Tfyf_7+t~qwNM5+U%K||K_=wkQ!St_6)bwJ}1 z$Y&vs5PvLGWjAqw#L%p7TrAMNxx9Fa_)zn8p~+;_>mu{FjjxM$d|Q5fngrK+!*q~1 z^rpl`z3I(Xsk_jdj7F{BGxt5{cyj)jkwz_7>1Kxy(0u zlw)3NlnM@IahhyIC|%3BHjtacsAZ z?!l#@Tc!Sn4^G+=j=Nafd>!( z!2yebMt;(^0Gw3lK(45}(h%6KhVbY<*7yKNTy zpnp7I03sH|&PLLA{Q65=NYnNi_yUMxa?(4TbZ#(fh+?lKr)%hl`;fvNnEU`D#dE+M zK{J`M^GmQ8na3lE`H{TJ>_f7H_n<8VEBOQ27+T+yg>y~+3{{{Ky02w*%?PmW!jK^2 zNNOg*gU1fVS_3gyICu0cupjI2@+-kfgVZl_-S#LTtcUn)0@zTVcMyb4l-3DS?zWkL z6o%RB1-{E2$PEjG2#N-!XajGEgbotO&Vm-dYvq@XEx+G*!eQA6r^x`+RSC4MZIe0d z4v@<}s{JBY*R%XJ(jO0A+yVoc;-In?(#JFNTuZp4R)BRIFPlBX5fXqp?>FEy86L3T zgVrZbr`Fg)YmZ9|umBdJY!S&pX>=E1Y@&#>9!Jb1e<=t>LIA90FAmHgVGBw@n*Ox( z8ULCCa*;a~Nug>7L{WeQOE1xygRmxo#4ej*Ad0{Pk_08VnM)SIh(=d? ziOX9PrAH@gGT<%jjIQDRoJy*dYc3v4W`v0eLbFdngIkEhU%2Co8fE%UA5fupP!fBa z`h-*60u{q411(e+(PxJ8T7}an`8sDiDu9$-q!Err!k~oD(ny^rM^!~Z+Yl_kjTx{c z%m&mh+ZR2o0mGp@kj~2|P+J6LY$F0H`ODqF>~?@e7=y0l({c*tFS}^QvU+7ffOs*0 zZ)O8@p-@r4h(!^ErIIq{?Et~Qc#qljZE36C$(UGY10h?miWCK8i@PkOF6c4!R|2hC zsT;4>USRLa1zB&L#%NE{Wr(3D(`hnL%&p$$07B_*^sX)5y6y4oZ7A8_6`b(ydg}DB znds2eoitpZEd!uxfNe!vaL|MY6l3G9SdW?Mhc_6byq#ujC-etVAkXD&^YY@7g3wVw z$vqUIfV&K10vEUa`ao6IbN;Q+TY-9O>Tx300f^vp?l)_(Pw}I0oP*O3Ex&azi(0}p z+-4pJeCwE7 z^_u6o*;n;|vM3*bijZkwRRAoz?n=!IeEC{EX`l9TYl0sO>~eiXM3|H%&W%Su5vKt> z>=BSI!NECbyEyoE)^ilmac}bWyNhZD>Mpb@yA2lm%Hmo=`cK9e1u%To9V%So_hO$r z2h8^%3cl9vv@wMP{y1!vwUHl^?zbE#I*A<3 z22{WZQ=-EIN(rznEvcWUM-xKTFoY!Q9*Fq1D^=4L97p^`Oz#;MA0K&bn;eT*HiPDW z(V0{BsTJ6UKOVv3X`<{_xU+u;Bp#Qe#Rmu;8*mVa21+F@z{Js6)p|gt7KwoL<()sb zpo@sD8$e3YfZ&rnC4ifBc)5B2N}z>p*s*$zz8Q&e?k<|W$bNe0Pp-S}@3$(7b-?}{ zJAYUxAjcVmzWVS*sPjrhoiqhbuIv-m_J3#fZr@m8oJq1`5kj^xg%YO!rE2XNwA0@f zv0U9*3)-q!_Sjp6;?~=hpE$?pi06PBLyn^T0T9Bx*Ak4#T7u$e@@c#azR66`fSwH^ z2!zB*k-DCq&rJ9}gS<1`J1NGbsmn27F05EI-x4XTN}A$%kdEL&V`BnADqozwXZKlu zWK8|E4H5?1Nbs_+!gvwlG!mAMp=nL8XDbSn;76Q52xu*GlDhq_xIaHzC1`=coaUQd zUyD2WLLZuDB2vsN?*j+%ph<~GuHs^~eQdiKnly3Na+n0`qqhD{0v3v=OTGAnT2gbs z-3*Dp8pJ~#t+B;@>r}KQDS^unnWeJ9fVPC)s?Yw8=|>9mmSg8XSNn-JdG`BMGyOTQDM z75nBqdg25QyzQC}neRbuceaJNvf9vnb4|~!Kkb$Oq2t3n4KQeX<`2Ri@9g`Gc>3#o zJMO1AdVb`#;=p=OBt!J}`(STszKD=v=%STJaELk`r+`RvBkiAhwsYXEkm1kS`HY!a zNu&I;+y3yaw)Q-gh#fBvU;rm1Iu2N|pppbYiDa7Y9PQ45;K*@3?~bqClEj;5T9F8a zc?N^;L?2hUmQ$z|dB?{6(xn9CWo5cnW9Cagga!|qO9HbRlHW$cmi@M}{dzMRO|r}y z4y$XPTt7=gPtyj>5Yeh)Kc}*5>-IMuJm_D4kU>r*P@Sc09r886KE?;17>3CX9hVrQ z2Wuks`^P6PWoFURt_V4nv!f~o59g6`e51rdTnIttu;Z18yo%)8$6(8QG9scf@+9rj zIz%L0kZ}wuH5s8sllIp{1SHeLG85TfNQX7G)e{dqJ9{9HEGNYShYZOQjL%glW^KXTLAKJ1s3vMKzf|eFs ztt@13WTmM>Jt!a)6C^qXb!JEHWJYHq02eX|i36P2ThLj=vHcoZE)ijZgKpJPm;?{F z;#^SgVya4k8Snv9AAc)8WJhE?iht_jB35fr+i;2g8$M`l;AqmRx6 zC9LSyF9p_Y;BJWrUVBh1>Q&j5Q+at}tFm~rk||wPYEf0Tuc|zysc*<-=C10Nnd-L9YIYSt-Vr3m11?CMGb>dxCPVJ-lb5BQJKY7{ zwur01K{muuQ>B%6x`2^^Va3qEtUd;6Q zVRSf;>9fv+Myev%8;ZNQ-q^3$^(;tE1VV}xOeR2XDxp9$riYrdvEYSjW#8u%x4r%6 z^T;eBwI+uKU1&lD(*YY!a1POm`z7MzE`k^Z#x#qUVS@B1Fbf(&mI`yDfz7EfCo(H* z2_Z{{Xp|}$5g^j+EhS+xL`oyz^QOU1GUTnYX~?+Q@dc1MVaJ&-%$-D-GwDDE#C)&= zx_Llu#}~!KcP5_~A6PM&tqXJy;Hrc0b zWWkm}QOnLbyus1CcX zJ9Mu~C_`*K0BG>I#JVWNP~BaynYEjfH#G|oOc2@CH>NBRGnNh8W*~zWTk#S+upbMQ zEzo*tBl3hC70WC>SYE{VpNG)#1{#TC4vl#v&>lBL^{V@2UkF_`AkeB=iY}E!R6aIl z@M_bo*Th}g>e|@^tMmwBfNRERzkQNy*e+2|rW+#I1X5c9{FH90e_rsAemjc_GOE1h z6xix6SRbIkoTxCD+O}+7+|^KMWeLRTMFW8YtfFxjtq^jAoe4(~FgFAa$NDmSDTi+` zky&7a1MX(0qRF>%$gM;ofG1nzMtDh?y1P)o+6^8r2a2+&P-9k@H^E4Qqd;JJCF(dN zqX8uzYqYxUDG0FOf<=&wY=G z`&Ho&KTYwrcyMR$S5pH%SOW*B@J)9CNh)p~hLa+1`yd&it^)Wp%TF>Z3DCJ}a{haI z9bAF&qfIUWrg}74xgQ{t_8yWTU}%w6IIz=CQ32^_L6uvxLYNS`)qk`nf*dWnFWr8G zGN&~B!nfa`0^yd@5nvB&mI zBR?F!!s0(Oe_PhdimBp-jg|uP#3Yn2AWs|pw%6Z84_Vci-?YvxqlOlQL-0S4eJ)7@ z%P0~yG@}7wH>#W8c=*&Z!gw@=NnknMCE59Bj7n1=?8oQII2K*Tt}PU>;_A7Bg()R`HtEy?KBLD*9~#c(hgVA`7- z!z8?Pb9$LYotx2<#Yz_BPt9)LJn}n{@Mi&p7=vnB9dxc}&$B-|_j?{Pb$Y5iwm0^< zti;IzUdma`{4?yAqrYFC;+5FrWE_p13a2vuI;Lz7INFOQp)#I-zygwvh!!~XJnA0_Q24X7@hs%!_dm;|LO4-dk_3(R%qc9+cBf2q)k6lP}m%6v3@ZGrGa~1uNT}6n~ z2+>U81yAfmkJ>~w7Yb6g#$`L?ax>?qMbH%3@&Tw+9CBYzcwjnWzy_gZgRtY2Jh*i# z_KDbG$F0{f{%(VBOu8Ku^vD}VVHG-#UqV!Zz@jWiqGpU=OJqJW&a%jv6N zVJgUstu%id7!3U|FJ+RKHz&*kFaJX9=n1tcy6DIG^hY1iC&FZTfB`r0kj?7hR}wZj z*gIdaFE#h)^yzz*W+OuiJsYPFz0Mzu`uMc-S>@ETe8O3us0_ zI+(aK&E92Q1T1b}_Vi^@;W5~G>z>&g28Bxqqx-$8x8#LFl(j4`3QDY? zy!fN}{*RXVA8lJd*or?pcmBM-|L4toXL0ABH~as*J^5$( z;-A&~e?H9r`MC9muekMj=hoN#Ti;G@ZCu>?aewRG&X(uG2qX*&&&kbW{72hqiEvd- z#kuqUa~Yihg(2a95S-rd&&(En@z(jS?!RZYrSvv-@88Sl#Zq@45047g=ga92o=r|o zUzo`sdGTug9yIg+8P@9o5&#D>56=6qD1?6x>$TJk^tANV|L$!!{I^X~AkY*{@bwHW z{wZz$r?K6NsAFurLom?)w@T8?jAUlvXujRn%F4mU#zj!b{tvGpnDyHkYq@OK+-<4h zYOX0LUjN^EBn1-5U9L7kb}Fe}@&_E11s+Lz`@eAqfkaXe7}z^`JGgkeIFsGnyj|V@ zCLTPzLjG||3dFeoa!LjZoRWep!F%t4z5WON0;2r=D1m_o_60=?qJ69tyZzhQ`^w3L*L{~($acv%14qAuVh1UbaNT$9pg z_e+&i{%%OGj}mP@EFv&Y-c1m`LB-vU#|aP$0YA~3h#g4Aj;5iXBbJf)X`{duC2J2#Noq*N2(kRG98ta<`4$9Vl5gY9Gj!przapP}jL!hC&bLZ~8 ze{mavbmU(q%KnEBhyH65<+FdADE|#}{3E0MCp%eLe*6CYhkuX`{-+P0|N8Xh%a`xp zH~z6w{{JRC{!fw=fnQQq;Fo0omp<8L9PM8|*?;_!|3UMs?g|ouPXFEH{`4a0aJ-!B z-%ai=XS9PKCq!`@$d_Et3!2;~PQx5Fa9+ITsdh?#ag6KDmYHi&L@?hRmkyAk0-~}2=|O(Tx{(ur zzkQ$xY*4OIUi^1fvF8T;%rFG(C_rIvxcj`hT=rOv2C_WFJdfzFg)TYo-I1sU>@!2y ziCa4ImYSN3q!#Fe!ma!WV6TJp#0kQ|+Q)^;%+y@%+Ue#TiLmSVyi;Z?n66 ziCg>;&ttZo9{n5?ELoZoWa6Z%|ll< z-l8Wy&WCdoy zpmO8lWr^79zFAr_!fVfUR*y446i#?e_!_#u)&`Aj!aHQbwNT?k6qO_X?T0*n<3|IP4eHVeDUY zm^s-Ih*IC;IaY@hZjQqbUhboN5>6yINGoRAIzBn=R)y*`>A}#%xd7KmPjO!uO~U9z znVTlSS+?JpjX84F+lSv4mYpUPvYC~OX?i1R2 zQeksp$2LHj2m`ul4G&B|9{u{o1?1atvHGrVlxs}3o}C@(v|RSldi(Rv4{_bTHK7u| zv;z3lkkhQco?H*7T5ksekDvXkSaDzJwi*q!hnKnflg5u403sM}%0c4=7j_%jP!>!n zd3i#WmWr_1R>eaZ7t$nc1T%4jtsN4VAj^gC}Dyncdn~ zwf(UU_-p5s&|fZ|3mz*%GUmzvib6}g>FvE?^@sqY=KLnJPzO5|M4)fB@G1^_(&o{M zQM8Scwar09Yb{L-Ows{q`JC6AA<6n2Md@K^fwfZ7P3khbr*ZH7!r2i^KH)_HK4U_C z9Joo}66LW8*WS0)>+t9W7DBmBDWJ+eXw*b0qPb4?$t0?%5OYrOR4(7NEO&uxW@gxk03Ic9x1@C4 zHv@fBWiFSbGck`to!w^dM}52gYQY<6O4$2hgX59-KqoreZ+3QT_NMN&(bfc)MtLE* zF+fJDCGOCP7mG5tH2Xb1#zL6@R#4fL=F^5a?KZa>;?O;9iq(YyV;@AOx_MXw`@3$h zK369hEqb)4BI93u>;B$jw68sF96kSI_WM2Ms`iZ5Q}cg*-0Jy>Wgp#g;@u?9Rr6 z#?X$!BSNobUYHvhKRNn5ZsfJXd&faiM8)Ym_cv_l<`7-Gv$R52T-9pR$-TIMA3HmVT~*dPWMYHLxP3#uQDkDb_m=dTjw zA+b-t&)y|gGI9EZNXJe}3?wMChU(uh(X4?GO*^^~R7g^CLS%xSP>K_fV1fdv0yi}qosiS;J^c#R(^HLg7dAH!igxH4QE>K+Hv1GrcFfz1w@ zxQST;WOO7T@;py%feJig>fr&~SwD@JSy&GsW$_)piHA}Og^kd#pG%FoK+eyj8Pys< zJsHa-XMhQ)2{N{W1)9VOPtc5C)WN)^a;~VLIysmT5?#R%ILgfRR0cX(IhV&_Bb1a6 zNpW~CmO?nWfCCkYV0#F-&FwfJoNz}2XnKo_g4!~WB{U=guX6)mjL3&5<>Pyyh0B>! z6KP5az|cMmAb}pM0?s@<7l*bSL)~JgwDv*=6D&uwv0!DuZUb*s30&o1n0{Cx9J-E& zx6-s670FPj1#zi##a`$%A0qI%LAX#W72pbhwG7Q^4MpAIdJeJ+>Zuq!8PKQ$y>HN4 z2rW`LQ)Ib-;t~i=9B&0BAd>3V#dW9f)7`*;BOjHX>|6w91aPr7T*0UiTgL_J2lHcb z!ZPgCK^6nI3m4AC;t%1ZaOfL@{$;mmSROx?@UvnyY&5h&p;872B9-F4=Do0kq=KOi5ub8N0wkv#*#u z*ueL2E5Kx|Mqd$_RuWc*%GpdAt}MPHs&I1O>8zQ`zs_Kkl>jv^N+9l@AVWc2K3D?S zU>$@Nh}pP69T!8NW(ugr%N2}^7MMI2TnDj4NC`7af;sZgTwIA_*9j#u_Ip3HV&hy7 z8S2hO^^9S|xw2SZDVBzs2H-Xvl-<5F6C~I+GHQnf?pi+XX8yVEN9Pu{sF)vPXi*E& z0vU>*DZ}y@^*9jM9Nyu4_QS!m3cWk)84g{{Gc61aJTH-c3)DwNN0PD5%aE#Z)Iwdh zECJv$O#nV*fm>m}f$w5DJYKdWTF8wMk^ye5q9G;}0A5xC3rq~~9CMXYNBfLl-oO*V zbqY##rAWY?iy@n$2C1kv8b)CZI>^BYQktZ)GN(hO(**c5HxpyQfZ$W)mr=PDWs_tm z%(hyngW)@SVH%g&vsu$I1H@7pjRX>`wg$3LDkJ#+HF5ncv}p=lU0T>g3+Eq=3(&?D zFJD=pGO+-Bj)1!`y;CN98l%=qh>A1Oq7sFKrBa0|aDWkl?idFmw0X)I2 zyX&vvL-yFCj0rLKA8b6UQCiC~WMu5BO+!{?YbC|`RZ~=jCBVSJ1s0xF~I${z|?B5x39(jOFIV(Z}cKqj3wCZA+-q0N&;7=yn7WTh9j^ zDQ5%}N!_&D{qO=c77R=VMyT}GWB|{^EQHn(>DWAP=96T253L-dopp)r(E1wXZcZ;x z!QAH?NCyBR=5ju`qVcUpkOu{;Mk|^{0Jk3LEdcgStO^hr9Nd9=;|~N=wQRl=zi+&@ z_B%QJ!ikb#Kb~vUqZDip@`zZi@LjW zoV(py(U*MQK8yC&~Ww?Gv5sd+QGq+ImOAG5*_wM z|E`nf7taM=v>iLE^Oxlb8KG>I`s(jKy1=T+hSYImH;{1=&zg3)K4%Tlgy+ z+M5LH2C#TO&`&9IHEUD|mW?neyB&Mbh0utA)5dpDK30ug1c0}nM z0aec#Ks>^9axX9NuoKKwNN?&;ZJUET&WE{YTJR8R0CiH6yE*=NDuzpAw&>!NQ@p#0 z?RS&fwDLiUa%a{SYU-u2Mvq#lcY9&@$2a^QHxy!X~ zFO3bA9UYTDPf?sZs-*YK@F+N*FQoljD4q&dDids(!6*RScZ(n32OBr?7&q&As#ZiX zEP19Q|2&?!!-fTOdA18lK3U-G>6rc;#(W+)JZ>#dAub5nrca#Y3F#VU8P$Twk1SGc zPr*n)c<>~QQWH3*>!$=PQ0Xu}%TH92RyK!1!4|SH%Od{G3)ICOY=< zBn^9$tit7{zUzZ(forz1OozOnp}OE9E_OV5{tADG!h5|j4pf%Y3yu`UYhF+cP6?L^pW_uyvthAQsTNUya3S^vPyP4r z`Lrkzy#4}|w4l=aXn~XR5j&rKe5!IBdyl6)iv_U4_f$vcJ}-&*VKFnrr5VyI+hCE| z!!Q}zVzeHrmUMEA>kj6k+lGQ~uwmwRTHEa3-ckj>)&fItK;(tDCE3_9LQ%s@G>Qpu z`QEjp3rGU$(@zm!CSd6aAh(!KswGQ-udt)a@1kBoqixpwZk8

00Nc9ob`W?+^jgllu&f%IKHDf7BK$VV8D3B)K1jsWT^l<2 zCm<{1HT2z^-LFLaTCqMCu(Q+&RWIOimu@sxq!uW24SSK%g;E$pcNIA#Sc>#;)-GKz zamESjHKTfXmL^O12{M=nf^+p2U_h;s(i$2C3|N1hYg?Q1{HWq3ct?;qECY1q?W|hE zUv5k1pE=>MVfo|r+lgNypEH)%LquX}bBagT6l~#G`ke)`MpG=XCJcOf^=8O(|6_&c zBc4l7GnP~q-cD}yPk^}4Sbyv!_me*e-o@P#ipIV7FZEicL^YaODo#q zp1Q%?U|ys*tl`yDmD9KVQr6he{xs*M|BBK6 z?5&=N>O4$oYgTtFe`hF@KHF;i^vjRAwoSX;e-uLh98~xAX)pkghb06}?x*OYB{<*=RTP0jOwkE9^(2kK{*9R|P)s<$KuGp3 z>?%X1GYH&gOT*>LX_uj7xJ)ksgUs!9VvcxZ`Sxi6OdSaTGUxCteD?W@cca%8&np2F ztAZx?b~E1W#QXo{m;A8r`k{%ogD)o6{`N~gxe_R;Hz9iR>&KdH_B3F2+~$WqE;l@!t81|lHL3~O$ntft71b8#n`LkA@!Nh1Ad2iL*Rjh2`YQM3 zMNq! zxlG`f)Va>L!x%p&_BFp*e&4_I4dpS-pWUG@wpSQJIrZ>BXrCdBzEWQS`1ICSlV`bw z#!tBr)TPPbK#FUkMoqLk2Nu>qLjxR#I`|1oaK=PM<43t$Q?cV zkRF;vz-Fw#tJO;%6%P?uD^6mU13KWcfeg!S*RQh5I@PqRL|6mSA{4yrmgJ{lwK6Mj z!RC~9_t@f~+PO6T9(Uu31aHsXvwUx|z4&pTJ#MD!I#+)IM-6sb9-q)wFYy0#1zceM zWpB`pg5#6lVn)~fDB0qP{w`k0Ow|~Yt;PcPkbkTEgVbQ=MINMX&+f7+A z)c)4oCx@y&*UlckHh1$y{EOq?gOhJ$g@vTf6EgRueVItwpRs*ll^(fX`no+i(}N?V z!vXqHim!B%XR}2^ZZG8N+}t>jymEf(RYxTyS2pH{cuIJw+Y`yKGH>6MgXMvV`)s$b z_9V3gbxV(g*BqNniA3%Hwi(IFmPm~Xl4Vqdb*9ebM%JH8{ISx(C{K;vYQB22I;!nu zWmQW+cjk}7?0)sl=+0rYpE1`@IUR;Z*h&11z5UwEG`9Qw&7X01z3gl}}y-^Zu-`(2g1weQyNZw+Bn=}E89e#7N)4xIGl#iJj8C%-w<5TK{typmhJc&Xw~ z_|nx|e^Se4P_`Q@cfM!Dedw1w`78AP_N`y(kNi%ie=~60O5Zpgdott4`v&cdUtfeK zGXDJhev#1jhIA65O33?@M1qzY&|u*d$XqE2;Y3bBCs1H|E)vKHayI)CZwqF<(TmL` z(<|Teggllx_%H2(Fa<>38<|gS9FV3FxYOaKyPFakeRmAv0Gs8d}7Fq z7~>dMa)Hq6q4xESj*#nobHl6yAZY+5b0-Vw-kbvxnDvaRwpQH95=XRq5YF509zp>L zy{cDYuwBhruGJfL2%&1u<;HlK7z#w@2ItD5?ip-29i&v*g*ST0WBSrBo#QedfTH^7 zVF{OHnlu4 zMr}?IBKw3g?SUaZv;dK?glUZeMCrEWszLVRVWGAfGHf8)48WZSax^T*@~x<9kkkza z4L%vvM&t=!;6dd}AA@bv>aGTBt$LlQ_E?Pla#2%B1K1PlS??pJRPVC1tGMII{!NY{ zV#raCT;~Ufu~M!OTr^F-WXG{}Si7ULG`p2fZIzLg4n=~U{~fT+00(0d^H#Sa8XdG4@5dLK+Tp_n-fC1B>5J}(bCuD28us2 z1pE&|*$a4WqCG%UbHR6)$n-03L8bS(xR4Z&VCzfs7x~BQm-Zln6NZrBZx;W$bPh{>uQE z4M4{WS|LOcr1+GVSiFiVFxcn_QYIE&5@?W+IFi1PEi;;D>T7QkZ|4#uHZugS!Sh{C zfq=nb{ zbBO>ulZq=RY#|YYUU!3zfDklkF3V1j-bxZGzaT$q|CSy$UwsnSi4rDqjEr%xeM-~(+w(&BWYGcGy#~eEMawr z!&x0I0M_6w01Z;TYxV!MYoYDhLY74V8Hz`y{GP11DCzT}TDCgBu(WUu2arKD(e6U* zfm=T$lqTa$0iUBEd}-GRT{jz^OKZzVyzFaVa&j?NbNYJLP3UnaU6oyS(N9;XR$ z3IQq=FyBNh+!il3%f{-xa~K#Dm=H6#C_RlwLamLZpn$)!nL0<`9M($lBfp{{UY^w< zC2ysSNX{(>4J?5sqS5NwGvXdrbK|U!CZ_Mn(QP$9R$c`jw+r|k9j_-RJ#^dR^uBzi z1^@$=F`Q`6g#v?1^6j#?hk8$llt@41$G+T$`tEk$1JBnP`;u}&B7`DKQv zy*%@t=MbR$S(furYiOahQnmGs#-1}jWswxPdNQEM%z5Q@eg3e3#?i+xTc-oiD|Kx* zhO(_GG$G0*A;91-WrMcmY!Vwl4?&`%+rPVlJSy8)&}zRI4VsUcUd=Ymnl{+VW1G?W znQ_Tt37uJC2;3igv%Ar`AGrN=PA);y5K{*Z1o#LgSg~|;NU19E!fg8%;jhCq40hC>s=nNuzia0QgA1=muG zCBOz&Xp0O8E31+!KKKMr2(M22#!Wc2O#&;i62mb}qB3N)Gtnc0Foj$Q09ULA$vZCZ zbBO6Mg#jo5f^tD&Fn|c?h4edyGe|gWU;+Wq0_;eLVNiwKzy{f91C!{2|1ZNof;dDl zs4GVtIBZxaSr7$Mg8&$V3quCU z!^rXL3@H;ZTSz^3i-Tk+0-5B9YB+$?@TO$oJAS$mS7^a7Q#ip02N7Ec*_Z(5iLr2S z60SssZm0zi1Vvl85m`tLT11Fd;4+$^f?ssO3?wZTjLICc!K(aC|DCCvSYR>$NC1W_ zmjh@6g<_YhI0bAVw>NvJlaMHi;>{iMP2kMVu}Pd`*a#7*hF+AGHV6k>0E69}3JL&& zIcW-4f+bm^C0nW|>s%r1)K2?MpTrRX@j!-Nn89}G0%qujXn;C+8r@Mpy3ri{QM%w!A(cG{1yUnr(IHLJ-Yn81ZPFQ4QYeif zA9YeHJ&P#4(iDQx2e^PL?b4{hQZUt^8*KzG^-?qKiZD&n{|LI#OCZxTJySJ}(*t7D zHsydf^-?*_Q~sgTIxPzkxS}k23uZ_{3TXwBY6DY{3k{$ha3ItP@yTjHg*zo2tB4qd zVHo-R6@cN3fe9K*otRA3(~Dx#wYUURy#zxji$N+R-)L00g5$FYQ2!TnJkUl{dY|$2OA(nvYi)eY7bFr3UT^CWcQBqZlQ%%*f=%rr@CP8&n z3F(DNm^oUI3sC@vYP^tE00&D8)*!8lUAc`~$+2Hil~wtJR&kkj#SLGH)<2?CYt1Mh z*r<-eJyj3}V#oz9@Cq>K1!fS2G3W|rNCH=2hF+*f|C+KXobsqr$c0|$f-~E>ET{#P zx>&BD1udF{E*c9kP=-Jw3o-zQDbSEu00&)F*SV+)KlzhDnTiQ>L8GLKWL=eIO^^bB z2FiPoo0XEB1(uyf5MfXeeN7uS?N_r{tp;eVu4sc=$fdbK+&^(#rR7M6Fa=kTil%*9y17xQbqg*K z1}xA3uZVzUC|8H|TIYI(oN_csle7k?JzDsi|6W*Gt`Gqxhy|Wn3k}eM!}SU(0Ecc! zR1GOYaHt)`P28zi3C4{H=5&gkja;kvSzyoxZ2$&kJ&+f373;lTnFyApMTu7!-KZ#C z(?y#pl?y76MuX*w4|oRG1&dcDLjA3|o5MMs+g+0C-C|r>Fvx{g*eOJd5DlP$W8j8# z?TQB=3+)<<3kC~Ybp_d--nO6$D@cIrC4dBQvy{*PS-2BhFsPz{+@6(+z5s@7nBi;? zU%sFT1b~cgIEDcH0U417Fi-%-3x_k%jx7iPX((c!0E!|=sIk0?5FX(YW(ptf1|VKy zQS6q4Y|Ut3f=I&#U0~r{NCj7DkpU>N|5W-343h|GV7y4=*)>j*HUO7a7zU?}-?Eus zx?qB3h^+|V!LaDxUUJ<84h!D(-9Re>V%T4pV+#$)g5>>*mIYq2`h-oefUuYYP}l>p z&}2>qiI#33O{T=1EDCJXT4{de|n?vJSwu)N54EH^2 zgs{f~Pzr>AUxFqZgLaD|kj7)^1u>vtGEmr&3fm+c*V6MDwh$n1lUaLTD##L>U_-%wJ zft*ALQP@OfE)vvG4OUuOh%k={qi*G1?lb8H_Z4sDwi%KDIk}!|tEubZIRkLeA`E$e zT%hUFHf^amU&c+}l&FPdI069x1IO6j7mf<=1>f5i7@8OZY|w&PdbrBdI;9rwjVN0H z*o9Cah+{qw{{9pHj&2GE0O|(0P>_bw(C#DY?o<*A@IDIa<`aZ4Z-R(%hgk2pzGL@Z zo@r$uu8Ur7jSy4dhHfa{{Qlsn;9OMJjg-iVI^zkSmTjw;T*}o8fnyL zE-aEKTM4LAZ<2$1ghj_kg?T=>3)=w=NV1q6+Xqh*hzg^zGRbyXLDQNRW&_^oj! zk~y#QT(E{%DuWLHj{q5v0*S}SFbQan4T9(man^A{=b;UCbee?~S#j5VrHMmH6oQD9 zNuhvhaNks++)w|52PlW8ZE%?{1@zC%!{>N|6&w5i=QKGbQ18)4Y-sNs(=@8bkMX4joo! zRhMHOmY>~=plz9EO&4RG^h;Ualh>V;SNRA{4}`f?ijkI0mH8|8nNP*kSJC;M=b#?< zc{3GNrf+)J>3OKvPO8uP%CY*Z2Tra3dc)!RuCGe4FZ;U@`>|g~vtN6tefqR-Qnru# zJa+rHH&VI3dz7d9y8ltU?|W|F`>6MO!T%Yw2Yj>|e8hK|!Z&xY9zRLfkqhn*l&Jmfl+J)rjq6g+^>+`Pgg4V zDGXR8`eqg?AbztTCSyXTx0r$D?|SD?|6sXMjpC@=&wV01sbffmBkYQVU0AzqfR7E? znZ17H1qfjc28t>6V4#*>%yLl~I8a2ZW6NTR73{GyuX&l`t}}iZvwI>sT%( z4w?Cg)vK4v2273}V@C5>#RgP(2@{qoXM;1XWD0a>bYPNes*XC0A*s?ONm4xwR5SyP zqez4rw7BH3h9ie)AW3QzgDKjyYS*%D>-H_&xN_&xZ2;gd-n@GE^6l&QFW|s}2NN!A z|M)QC#EKU)ZtVCm{#JresW5;Jjs4x>jhIIon z!hAGPf^#6VS{%UyZ=faD(Fn{`M(Dy3p{Us4(~bexp6LyZFr`Q%gh0^1L0x?nRs(53 z(n136iYRiFf&+mykR&uXWC$89`uQiIf!3uWp@kZHD58lf zx+tS1viRqV4s}tbL&r2U+dXq2zLmDsE;N;DBk+>6M*fJ#YynQaz=Hpw(J?ZJ>>6yDhif zdiyQ7;r{igpQ0?~P>dPT*noUE4pam&_mT0bL$(4LoOlD(a^ygzB-ub4Wf~=n6Jf$C zC6!hVB#gVeUY98ql%l0UE3(Y>fELCYHNzvx9_7I$2Q_d5gObdEEy^jY|6HNCExY_O z%rVP6b6(`O2u3f`VSwOisll?JD8*nTLMa?ML5v6yIMEBe4haKB10f7FDh65{!^J?y zB}WBv1ATCeDHueMg%|_L(h3GGF>|o23WwJVnA6er<-?>hgOPMomQv9Jr0fS*fB$`a z$ypp6*nlF+8udUWX*?iH67qD9kF3v-OcIz7Y8LRlEag+jb&*+5IjC=-jCKIFoTEg~GlcEYqe zg!3`Ilp=w{y&6SEG0MQrZtTYtL(yDIV8aSqX*~4^<%lb8R1J|-|8j^63^stqBb7kH z#^E+6zyVfkbOt;i0u!h}Zk3LJ4tyX4BPhWMYG{ELydVZMs6odxkb)lkAP7S!LTqiY zgeE*83K!VH5wfs_E_@*j?UKS7(y)d$?A8insKXudu!q*VArONo#36zxhdw+a5|gOJ zwGgq1PJAL11!Ke|Qn89wd|?!`sKqS?af(;`A{fI+KrWK8jAp!`7saT?HL~$fXM7_Z z<2bW4wy}u~BryBOn8b$37CWkcK4D9|ft%MS}5=j(j8}ACpK%QnHdq zj3g#AsmXCQKr@#7Bq*!6$x)ILlamZ3DpNVZQnIp@eLSU^|1O})S<(_^uDm5K%?L|} zG(wiO{3S3ql*?ff^NG70$R&Ci%w;l@F2#H%G;Mgy23#VU9B3vsv#FM7a)cgdt2E@Xlbjd|Gn2;$zX#fb-kP<)p3DA*}lx70G1VP!N5tRr- zSDT@NMXl9~Ni-l8w75_&wt+HcKqI6gEh$ig3NC@Bv@I-YKrIkDkO+jr7|M_ZJDJgi zTJ$0pYMMz+Zc>pV+ypxgDMBrn5t6T_q!z-c1yIfq{|sTwbWF5>+9XJ$7BDE|cxb6b zH+FgqpN3JWe*LQ-J6R!=!lg5x35_Xok+e1x<37wVg=fYfj4}OcVqT5SF~AT3AN0bd zMPNoLJktufnujAF00ZVy(GW1uR4u7^hD*~j0%q6~TgIqH5yr$?pS7>Ve2|Ksgo3*m5&;-KnikBVWdUn( zFj{iKjW)3Jyh>azhBHi=_F4$J4&jAyc{Ln%|3+-NmkmYlbQ0bFB1B>i838Z&6&DR; z!N5nU#W&Exf=_J10%(~7DE5#RK7fJ_Xt9Zft*GH8GnsUP6<}hMc812H$91atn+Wda z9NjYaA(`E5XWup5gbV}>WZ*~yY7twwymrkI&MQ;w018m_04;);a|M{PfH`C0$kR>o zg_|tsK?jDz9S+(uY7x~l^kNyV*l2jdH$I1S`CZQwhKyP49!iCv6uU!{joBiGW!RM| zy{PR`SkMVgs{l;(0?Ls6>ZTC?6yb(3dVJyd97?g z``S;yrXmxn(T!URN*LY1#y*jK$z^kU|H;j6(X*=<0%B)K1WD6&vb(MB^nM%N?gr$# z{q(K-yD$gHdey@o zMFSk*E?htR6%Atmu#3IzPF(wn&@T6M2Sxx1a68_em;eE&q8rs<)!YNG!@|Hl?}iWJ z+9i-1a70w_j%Q(E_I~)u+tBU<|7is{$o=@uKQQu?|2z#7FpyY)Bh;Kf{TK;zchIxm zgrcu0I5dm;*+bCtt-pN+U#|gSfCJUE|2^kakNe?U@bzr~hbtNe{N-QE_QZd_0bfsg z(=)&NZWKQBvmZL?g9Fmm|Niv{vwH25pJuPee1*ZUeqmz2{O*UD=pT@a?ytZ8>=*z0 z^Y5|*n1UPK=#l*epoKV}{uN-iB!C8-n*c80W)PqOJ|LsK9s^FGGqoQCUSOg~AO&t< z9$6p;ejuS}AP0`%HhCZjo}h_{APKIZQ8*w9zMzPxAPcgf3&Nlcc8CnlAPLss4ffz< zVPYI15;C9?GNBZz-V@GX6iy)){)H1(VE|rX7Ji{# zY#|rcpBI9m8H(W;s$UtJ;TNJ|8h+mzvLP0_;Tu+89Lk{-(qSDg-yP!N66)a|{$3yY zArS&%AkN+(5@HV;;vt@1A}XQ{GGZfc-XlWd3rgZ7I$kAO;t676CI;Rna^eSi;wQ>o zD2n0*l42>I-6^8t1FGUGZe1(7VgbTpEIQpR(qjH4KsaCn!>9!_ghMYLLzke3Fm^*U zu!4bM0X|iOENEU^hypZFUt3^+D@YqMWZNw+Q7-DD`ypTv2pe`WgDZ$Y5tu?ZoQs#R z0tSeH7GOi}Oi4Ge{{j&I<`SL@Cq}iBP#TiQKSM!F4X`chb&-2Hz-zZR6}z?LpKzqLtujz z*aA?(q?y3uQ9y$*hC`KvBQ{`zE^vfa3L~WqB{ukinh1k0m}KhVUrOeoeqh4~L;yAv z4HdYQO*+k5#^gXmn|x7PGho9{42)HA)=e=%H&B6hG(;&tgAa^=DO7|gFl7Uv0=D@8 zD|7>|03{VX|3E2p1EfjhFoahGoK*yPhAEhW5)?r-BuQ!3!f7@DPBMWAXryNhgW#~G z$|U4lK3@WKLpaQbbA04cp@ zO{Q~nLu)m_FzCWSU<1F1KsYoE6%0c-KtoCR!bsj^GYkZL4g>~hrbAeR^6BQv@Mdog zUjk5pH-uLxbVDy-0YnZArI4ct_y85?LNzoVZ-|0{Hb5zO!&iPKXhr~4#saU105VjA zDMXZaGC?>H!A(*oHo&AuhSyOrfwiebecG2TG($Di){L5Hh9ael@@Me5<$tPVSYeI` zm;yG~{{ni*BsQFjaW+6T{3TP6K{yZ%Wimw($U-;7mOWyFN|b0gu#+jMD2s+ekCp~B zu*Qrw!1G{11hfH;K9`B|q>l=ae+Fsmi5?7egH;ZM5_~CN4umL7WRhMblxmcHO(_)! zYFc=wQS<_mdZz|tsnd{W1FYy$k!fih5AQTUFMtPn@`{^s26#j&l+Nh@)v29=p7d2i z1TaBLXaI$B1cMdMcCG|8kO32b0W?sGFu11(Z~@eqiw|gkE(}AF zoI!&^1FJAPyrLPLPmW?H2A=>cEjF`!Hr&CxspdJ=&6qE z{}*nWYJZ|+s&?W-bb}~RjI=RBNd#j!JZ0Ie#8!f3a%F@nIAv?z2L{B#jgBVrAW_5!=kb$%%Rc%QR$^xoWGJ|}nCB5#Z zz2566)~qAmEY7B)&T<~A_N?LA;?LS!&d45(&Iudw@L2g&Qj%C|E{uO zZsw-a=5p??dG6Q++gx-OH!ZtODB?9#4=+3xLv9M9@5 zdAuUcS~q1taS;cxzu zl<4uV{H{e#3Gn^4ZvltxK)8Ybt_5B(FycD!1D`Ei%$Dz2Ff9>q2Ky5ldKY+ku;XHI z2s<1aBG|E+@CT!C3LhLD;+P9lE)2&oz|kQ_)$j{1FAi579iAEwYwivI|8U{Pg*Xl| z=oYaNFK%2!+q5aM=`wK>NA6sVn-qf*2v_kieQy@?&=zwsE_v}64;~eZap#t?-Krkb zp>f4o-jk{E1rJ8yxv|5o-Nngq+7X7`*>T$nKpyLH!O=0>`SHKOT_6iGHyXy*8S){Q zUEFz+BHOUqVO<+L^0HkW+a1#b_|hb=QDR(O(v31Hm$E6JGAgICDz7ptx3ViE-PCEF zB-4d5eRB9>^5KC~E!%P<;j-ZgR3lsyFMp9Q|8gADMK}fXIF(ZaoD+tWm~;t>E7Zh) z&;&Ec6`=TlF_bB`?wLsV_S&9MgYMxl$u-=0XU!)Z75zZFy0i$ zbK9MiaG4lOxmjI6a}g|qwe<5*{PRl%^Z*q!TiA+1vxOEo18xvWg)jj)lUPfzl z*b&uR992>o#oClYFBAjTL_jW>!9Ywx(~#3L@Pa7l^D)@tF+5sZM1Uv=12gbKXe7i! z*p*4U2sS%}7@R~(z(_6F4)OnTHOJFZ(ZsFLgi~I48#Z=gAWuzF?_&M^+GF1KnS#gK0m|0YCtWhqgvDgT0MXgpp(`p2Xlx@ zZlZK}j7NE#hfFL37es&tv;k}*gi7~9cu9|Dah7L+mS~MNS`LS+2AyFtA%wp7eR83nAw*~U*3NC^}k&B zK(O>pa(0;LmWLJByEwza&IJ?Xcxiw`d2!EC>|XC_|M7rVT_UdqGXMcvL_qc!MHiTt zPU!P=_19XE8B?eZK?qD(i^f>n3a%W3ON}^M+?T0^mwq_}m1~-n|L>PS7nZAOkE*v( zu=ku_R(!onbOp*?gF_cE#qlK{kr%nh9XT*6Ia8QID)7QSrAw5bc-G{3T2wew>&)0VzEC)^rV; zvjlV-11dstU z#JP+wj2WEfeYp3O-3M1yhzK~teyfEB>{L$a9 zbA8tr_!70kGps$^M?4s*J=?Fn+bXW|e-x2HMTk5}l=f!@!%|7k7rR{ec?&m(8?!LP9zVH7i@GqP24}ZNDzwx`i zTktRZ#_t3pe+Vf*x3!n^_b*zIlQ}&kT|{_Vv;k?5GtJk92Amo=@c0l@|MD+BU0iZF#)?vmHh&&{diCoY%y$1Ceth}!>DO0So4s8!E5Y!} zMdc(Wj>)Y7o_sQjBmt$001FXvq5_<5Ov#VJ3N5^lLi;q_ki!l={18Nf@T-s+AXbXt z7{y5Hf|rvFTnxbme0YXH|Ijp`;uvlm#E{1xef&|X5QQ9)$RdqA(xMS5EO8}MQsD)R z00$)L#Uf(N;uxtOpdtj$zyT1*FvT3RM>`7bxlfTP45hFqTChOV1vb#*kX-6Rz6*YMNNZa zz`>@xWu=`qOk}OS7TavUQkL4%G#H`AZp9r}J#EcB7u|Fl;+EWY-F*Fx-fP)~ z7vFsK&9L5n{r$Jm|9kfxnBam#0~q0i6$VjYgB^Yt;-eOxnBt0OYq%-4BHozeZY};8 zzD3ep3ndWL;z8UA76M|VMnQQ(TXnu7bn&_5!&dKMX zm0lXPqMd%);-h0q+NlRFU>fVJbAp=duK$&KC90ijpcib&J1vW6a}izefen8hb~F(`NpYPRzr>KEW~^&-l~mc!sa8~p-~q{W zg02BFo?*Qz|3ljlA>7d-5Fr&`TX#M7?6nVZcD)(T{ivC0y6LK3z(h(YqGGH{Dc(@y z0-Q0f-*@}^?YFP{lC1I@e5B%PVGh|rZ8Y{Y9SdgXz(P$aGwZ{ z0fs*XiYVJ5lu8Drlkr5$HV|rs@kaQr6Fw1&s>$C9W70pY$j~m)5&?}+qC=E~f)*~y zQdAhUqm@8NLg{e@I8N6@cSRA7aSY28d4$CSMr$Taw2Avz!8uQHF*G;Ikr`7GoR}Cg zCJTs3{}H+&3@Sv=jUJQZBq`|;I%3FwM?Bou6_(Q1_Q749SA4zxs3Q*i(C3bLT z4^|=wXI4NZAmqy}+qFw?esf(Z#0nKr^UGk$gp*xdW)X5h!81%HRjX>1N-BVfPOyNL zozMg}RkDLm=wT&V0EY#+DK2mx6rmy#=T*qbv0h0IHK71U7Ya(QgkBV!y<}Rmo`pox zP+=S3kW)p+g;A60QlnV=79>Lxff4ADq|`d;OedMrnBFvEG}UPoZHiN$7Hp?MHDOPG z|60_12^FdJBdSrE+Rdas6?RK)>QrS4RjU$Cs#MkLu&&zGwPkgyVTF}f$?7$*iWRMh zD(hOGcGk4M6-aEA>(JZ^SG!_pu6ey#UGLi0{OA?1E90wQ35%Y<9`<8{E$m`XgILE- zOtFlWtY{uvS%gJ)vYEw-WjWg~%r@Y04Tzjmd|-?KW@dfp3GHaF@`6TGLJ~H}Ng^sy z2}o$xN1fHJygs|T2K25eA&A8~bCD7&vB$T-wTdLr@BphFWd^s!Esu6v-E)0bd^Q2% zRH#r~l>CG}*(IM=QBQ!aENNiOPAgg^;HE)R6ZX$9m!|IImw zF`udhA!9-YQ81wv!cY+ta*-nWk;Hr_;X-)+C*PdZq8cNJ2?QiTiAzXA5{)2<3lKqx zN+_ZOD2Z-LX5ffOK!Ok+I0+gc5#kuAcQozQao!ecm4>F|g-kI8=S*=73}}EE;p)X{ zNumYsp2SM75P@|*$C+FVSU8JO27p8m;RcK$lq9jmX@jg2XxK6*O8m>x_@8vMXxgpnkvm_!3gu^G~+`Xn)6 zgd*0khDyL1B^_8pBP3CX6hGh+lmM|LDxrp5YsJ_3eiWita*Q$TrWUS1HKbAUA}BvQ z+6A6AN?PG%(UH)L-oNxzC#HYoD;)7e89Q5B|Q6AN{mh zepH%o{>-Ky{$MG;`{5dY`*UUf^iS*k`Tvpp>tC$;PXIUK{{V2S1`q)+q5ut$suIuv zCt?8^u&Ex90v{p*CD5oUPy-j@y;=eeJ`e<70t2;b150ou|JDyG+Rp<+@GVkewIC`# zJO^}`hbl($0-y5z7dKPFRNw zu%pR@NGDR^8K^KNjtCHiMi49T0#D?e8bAURQAQZC6`2UXNFvj2FBTpw@1#Nlw1B0k zBtm9r6xX8^H}DiyVvCGt6&Eo(){qID!P<_2DgI6+|B|35ilFbXLXdRi7j-ZgO%Vm3 zqW!KS0-PaQjuEr~Nek9+1eoCnW%1`wA{Usz6bR}mG$0FhvF^|;8`EPOx$ztGrz%{b zhBUwvlLJM_VCZ;Z4I97_9pnSf2O5be7Bp=tJP{OALYeZhT=ww+hfyUopcTsSJCcJa zgn=1Yp$HN(0!ZO8Uas!i@gyQ(@Tfuzmcf)(f>m4vBhN!4H?kX@q93&)0$5QrmO}|n zpam%zMJW-GDPzJZwPGe^;r2*lrK+-Nu5tjgQY`6) zEX%SdGv+KOD=h`kEZfp--m?GVQZBQGF8QzR|9Z!i0@p#Bmt*Ro`^f-eO# zWe79=0#h*~i80~NF(0#uA~XFalQQSWGSLq+GqZIzbNo8fGXn=S#ZNS$Vg*6aC0cMa z>8CWg?=(?UHCJ;bUXUsngMd&iKWy_Vn1C6$0UPx1HDS{*V+Jv?;s;q1C4}%Q=nE^( zz~QKZIh(T^nBXg&Z#b_nHlqRxl@leVusL;8Do7zZrvg07XB!MKJFRa!xzjsSA`D+r z6@-Bpa$%eLq7C1Wz?>5$L;x1b&=hJU0z`o%d4Va~fPk1mbDj*^K*f}Xt3QOH%HRut zj)xc~E+uNA8`N_>p|3qfqYxXQ4Qe4b|4ywDA2E3((H)r#1B4+Igw7Q@triCC0h9ou zQlUJtLC3=A-bRr#t697BZLyNO#jDmx zb5jzMhYsXAaWo}t;hjjL6hKXYToNi^pe9qIdagk{wU0@Y??cUl3S8kB>@z`_(c0Wc zOB)~*6!d|XAvd5cC&09e&PNQMEEeQZG(-Rlsv)(^FHVtfPSJx2mZ3b-aUHYtK0WQy z4(>Wj!58OZOu5ZW6_Qb*LIj)uDQe*xICN5XuToE=6dnn*j=@zHvH==0C4?seL{bA> z6a!=giE<$qpr;5_MZ$!^L3Tt(|9SKneiT)$!bqhxCURjzmo!#o)k%>CN-3lW>@-Eh z;3ZY^P9N+f^kf-ijwD1tTx)?hG{6*!!9h_X0#rd6?vy~dpcj~d7alZKpQ06t0Yh&? zNriJ;b#GRE$`-nzV6ih{TW?`;iV3Qr8>j(cBlh$r)~75m7!eLU|?45TGnlB7N~GG<#cv$c$Q#%_Ge`_Y-rZUgcf^< z*4KbGag^3InYP!QmUgP*xu8~2q_$~|c4t)xX`@1JuvV?K*3hWdd%{+1#e{6jmTQC7 zYu}bC{H75ACv9zJZFS6S|J#;v=GJkBOSE9nG{``6p5bG&!YO&vD#!pDx*;J;;~2UD z8UUAO?smuWw)t+yih}SNcxMPvV-*V*C1hbuk-{mb(<-hZF0Ru?fB;hKhH~4>a`%US zkm5Yg<8z10DdICg8t52Ifpt7mb5dbglcyDE zff$^OSr?-h&Y%{0Au>?ncKh=`g&{x%$iI|}!5r)*$*_Wil0q#kCR*V_k762d$Tk#o zc!_tnj5lsGS0_UBQn?@kG@uO#k{41z0yH2Nx?>jeA_8IoCyKxsDCz-Pffc})a8aT~ zUo-+@^iYk<54#LZ|5D))6Hz1^fJo==NMmB?wxMxR!x*Ze2<)+A^tX81_G#g^W~;(~ zr9u|U(=tj;1DruF{_YGuClxqn?~*_nFqn|~gD}R3Bpj(%JMGi@A{DptDb!Rai~$^o z7(I$$8o=R&Rn~_07l*4>hm*EK=x#-#?HB;Wh>=){V`N5ZBz#HYPpwT*bEqb(?SaCm z7)e5lwE_r4;TujhB@`(q82ON{l^fasOMm8!(fB7X`D@jK7Jyhl2xN$hcrcE*0g@O- zvO|jdB7;u?3_jHzMTp^mI2^~(eV<}gkpdd*_atPAmR5ofK!FZc0+m#0CGb~iDp|Mq zH$R+!8GJ|s|IDB$AK-u!7#0{fl<9aeoWUS{08mmw7^0+08X#ChVOWg=B~&36h$n)A zZs>LdAgf~_rJ`Doq8fssnyyJD7QmS>VI`XBnT9!1C)b!c3z_qyyOyDOjpqYC@)%OV zc;3zr-E&Yu8kCGy}C z<^Y)O37=Gg88Eh(1KP3%8d!>;iQlCfl!1mpLjqd&rg8eQbb43zu3g$-8@fT!PD2>F z0UIROjE&l{kXlxhx?QH{n@vLmlrVp-IrdROvVuj@LKiI1-h%CGZkuLpaq3VW{98nLTNvDu2T8(Uf)TdpEo zvg4Yv*UGXl8(1=1vjKaJIs0KeyR0@_v{i<*y^3m8p&P29qfZ;PQ~Ro@Rsy;V9J(5| z<3+Y-8??tsD_Q{@KsUE@YqzZ`Z({)*f_k`#ySSe!Z>z_LmOE>k+qrvthpkZ!^!*OZD z|1Z451^dIDD#R}e!%LjNPaL6AT*d#2#S_ZKUmO@?yv0YH#y7^sZ~VJ+{AG7Mqj22E zM;pk$$u5WdM~d9Yg&fIyR>@I{$(wv>pS+UzjkR4{%DIZlt31j{*S2vx%U@;7bE)ls zTe!nK$;X_M+77vu8_m;P&E=@=pxe#gT*Ko$j@m9*wcF088_(gW?ZlhB``p3*{E66H zy$PMW4V|aDyeW`dz!hD-8U4^59Vzfz(%GBRhsx4*;=cnt)5&DhE4|05!W0yo!9!hb zN1fA4-8?5;)eD`~x97-X-706@erny;8w=NSz0-GHR(jpnT^-mZN!YbV*NYwH|BgL- zl3m#khS{6_*Pq?bqy2T9o!Ya)+G7XXv%U1T{o1G9+s6dl!=2d2y|2r?a6ap5(S5zt z9jnCsB+%B~NfF+^O5RB#Zpx$>YOU32fA;mAeqvD5E zqLXC;jL{w?RG%bRe^DEN7V09x_O97-;tW_h0#Xr$A1oFCV~S1b_+x_Z03sKa1`S$? zA&4-c!h{j9h**d)0yuEIBtX1~F{46P6N_m42r{I|kt9oA1b{N7|H_ptTe^G+Gp5X$ zG;7+ti8H6pojiN`{0TIu(4j<&8a>*QU=EWImoj~-u$PvFU3w)vHV|R1sR+r`LTIWK z!B}J((3;w7U=d~rwOGxV3e`dp&om%xC2DM0f>INv3U#qB!cwgwgb?Nt>P05Cz;(I! zAY)|67mIWgMkRvc&73=TMhZH#=+UH0n?8*?wd&QZ0VwV4)N@H%c@;7_rn!LzXFd|< z;*tZB}j!=u3A}1KA;jp;|Or3 z7FN*oNe9ID@gcJKw8_FkFyP9|{tsY)3bjUHfd(FkV1f!R|HvR}uW=TefFC)*3>Xn; zV1^P6JitpT5@-O+R|&PEN(3Jev{n)kj3JD1$eq{~TaEvJ!M3BWn4VaRP z2oao7j9tg=72|gebO+IP4Uh+w7SD)?Q4!!6mk!T5<`I9b5LWA2`5Ch-R9K zHOOY0ZoUa;oN~?y(}SBusOCjf!>h$842Vz^iqj55;L zoQ)Xy5X&*j#L`;>5r|UEGPQJiq;^U&xsa1$FvIFGwg5p=5yz0C5fk9lmQV$lbi%@X zyY{*e3!P|E!9rSqgJhn{E{hSJ&OQrmw9-yXtx9$(|Ar^C+HT942E7;=0V}Bl=mR*h zC>x4n+^)N9weG$PZ@lu(%hR<`Wy@~92p#iGzy0!(uL#8`DgrM`%2vxa+_Zrv72AL# zj79oR3?RK0UyO0a8oO!lQ}|L0^2A{DLh@Ep>N1lt$dh2?h4twmfpO(5t ztGkYS?p)8#d+)vjReMIa>rQ;}KL3t<^2*oQ!0=5O4}J7oFHe2-$On&+^BZ0uefQo= zXnpwNpN{=S+BeV$_usG2KG@^G5C7ujKmXJv>9>!6{vgHAfB$jMzmW4?!hRgkp8*eu z5dSG~fmH*bLIgO#Miek3B8UYO8sG{rKtux1IFW4HFfJ;@LSj#OSVz!wtcg4Wfw*I! z3txCM2POo912lw2eDI8^90N-U;h+aS(+aDQ;Ta@k$~JJJ0S)9vKo`=0FjmOI*1>R! zRK%DJ5kf;7YD5FixS%i?wvY&P@IR*b|B4ov1C?!1DNntCViZMJ#W>2*T~~Bq4MW0= z-qhkd5h%qmgfT=9Y9LU9!a#6(!3<$w2RytGhA>j0s0N&&6%Am5Fft-5TwO$s%xdEs zSvSW}ijq!sY#vlDp+%7NLNl$nAa@cafisLT0v-BLEU455VQ5GMlhDj`E*OC>6iN$u z5y2XbH6@L3a#^1IWavf-&1j;|ln{bSDw#5!#Q3n1xFN`HdJ}H-lBgd!KmP{lfBvrLFgMxhy507l*k zPs-7Aq7*HSJ@XX-XJ~Vbx5>>n|2@TwaR#&%vM9-U(vy*d<_bRY2^N0zvyeG}Vh@3F zV?-xc(VXhEC>PC_D{7I%RE&{B9s&`SK$V0Bh@cd9DMBe8@&Hn_^CME4YC=?skS}#< zAz}grnHD05Efp(OHoYn0c8b=t){B~V($^sWNQGi}5Kw|56haec+Yz{@~ZcRr9`iLh+$?yh%G>?rSf z7u(+aUMmD8sPBFEd*C;*V+1FNkqTZggPftlTPP(UR~#de3K0}D#w8&i7~^0h0bv6~ zSVWU}3mf1_Er2kr;qVfC`6jpY`_^eBMNY2 zSwb#`F>$31_oTo(BQO6*9-pKnW@w-ky(k87B9IF+5M&bPB1i?7!3$A5{1{pg#xY#M z<}ivv7|h_sINibwfhgqbJMTF{#L$alKKYzy)%?lgjysLNk3)2xe_D- zy=a95LQwP>Jwp^ptc5B*QVZNaKnWUbKo*Xnga}YU85%+e=M@t6gpffPy-@<|3Bm-+ zzy%l5{{}y#1wfZ7-ys6WU?D!x3t+SsrNBx(M@&j(Row9mSr<@^VR8~8WJH!-$(MW% z#C#^f49S8JU?3jl(NW;>aAd)hY-Y29;&cNvY<%`aexo? z9ic!A_IC_6*A@sE5*nZdV`hKg&<*XOEKKHPAt-`zS8W%;46qVL$6zU405C4dgam;@ zQdlDpff=8NfI2uBo+n1DCn#X#Bt+C<4roR7ymP2(f?-$c?#JDJ3CP8rX-hWR!WvvGy=DT4c#Wlf@P#J&mke^bJsUkdRl zO*6!0IF#OaQQE#!`n{_(|HZXJ!!n|8*-2{Ip>5fnpRRX5mXQpDs(pk01+dWt)i(q* zIs`Qv2DJ2+x4rT2_!;=v;Z9dZpk%jO&l}&qj6gFV_kO7|@|ytY>+8e4exorJWBDEv zzP^)hDg%Cr*wTQa+^839GecuI5(gj;m2RrJ&k&rej5~2n9 z3`#>Xar~DP!pg(O$d&^0S%S%fBOA8VEKeZ4U zWvUh;r=TjQsG%e+t8q?7LE@rU`Y$s?muiNb*V4Ik z+2A5Z?;^(JUpTnzIXzV=Lq#d78Dg#cFEhkNRl-q4(nDR`UsLq|iyz{AMU;w%xao>e z@eu7R`Z{_>dIly`Kg7_;^opK^o}o3B9jD?UW>h=`>q5mtEX?gKtZb~T9c=BLsd$K^ zlZ&N|yRCz_ofF={4(I6XX77Y|#d%QW5O)tR4^OHb;)nMR^79J_2n-Dl2@45|2n&yh zjEwn@84?>C_kT4*ZYKVR3dzfnwGWcJv`v1a)Oj50JDqJ)3>J{~xo16RJvmyH*cd6w1 z|ICJbJwE>b!wjJ!AwvHzNQhoCNXc(?y#44P5`g(8`$v8U_{UVy95 zPbGP(-l}O@iU2_9+uYPOaKQ2YO0rj(@{;u9kMGGzaU-TrdyaA;W{+LgzC-r5W^~@h zep6Wt+UH8~e=qk-S0=gLjQ1>uDw=HlFB9LFM&H{ex8sY|#0MJM-Ez%v{9v+5)XvqY2(z_Ci_?K_53E&I2LsLLBDjV8>H9ne65l@RrkX=;?nN4?U$M4>C{pQZ7z)Y(P zQrJ0BdYzNZUcLx)!f>E)eqG5~BDZ#Ec>xIXBALd1-czc!+|mIDxJ0+<7BkQjVEIN< zp|$!pRMUjl$MOuTFO5&;B(vEhyTQ4?jSSc7j}I4E&`$+;n54V0h8ru*73HJvB2G7v zYQB=^r^CGg7Av2757KwL*Iijf6x-N5rn8c`8xQ*&xX7*$@YAaw09MZgu?NNaq`}0W zhfWQ3aBd(a&XIp6<^Ba#p)tCyn5rF6gTiNR=|dMcI9^~pLBaUBca6R>NQI1K10^Sz zyjWw!4`@h06{>-$`OR&$Y3{86U^p3F81yuT=kOIqof=I!41Md<_gVa5gc(F(eZVX6 zPmiL3NrYP`i}vO}0xYbE5HYAz)E`wciJJ_tg7FO)jyI82BlQ9XX+>YBK02zZ;gSy%DZ`Ws^0G={{GuCQN1)Tc)r>qDRt4BPWNrRJB zhuAWXVOKxY<$Kq=g@Nin7WABi( zoTOb(@L$cgUjg13_rT7}aUVOmigLgvQ(EAaM`dlwmh>{%A%OT1Sk?lZra71mOyLaZ zaatIO1d~KD5xE@_zbaKvgKkd5a2>r(R2n3R5Bt!Oxat7Q(=+y)9m5bWYzl7=wh&4Z zat9IF9%3U?6egt+gQCu9J+HG|`9NH2ZTg*qf;q0yI^0I%<81beS8>rEJm&M`%0+mV z%5UNq#u~*#XB092xZSvtQz{bTUDFyrl1N2D?0o-0QbPVxk&q<=GOc*#zmO1WLwO*_ zmx_c`aM3y~3;zoVp$p$&+>M|jA?*%YChlqJR3v2DD8sIq_%9^Hh>Cw?hd=O`dc_DMXqbL}$&1U{{LcS#|qkVFl#lLLW zh4DD``DZu9J28Wvhm^9Vr|T-$N~uW5-_|>_yu0V$M@^%;9#y{2+NJsO^VQZtcp}Jj z?|`0rAjRw?f=L#qcOkYnn~`!~;?Ih~my+31*VYFg?|d{1zdl#-{c-&^!~XZ&U-SC1 zoedUK`^t^w&mQJ>23>P;byzun{c+2;hfz~+o#RTD$ZAEcxA;E03q&t3s&;j}Nc!w4 z|IZu7psw&L(}NX*xVH<_-@RLIItRu%DXpp!i`kytQh95phQ^61SRv!If)Uf`0V4uKKAq5ToJiw7#l>GAc2Fj;-=mGap=9uRu zYj@9RQ&wnM(C@9whtVe5W?u`^Z+s9tGmptP|7(By$%rN6X~!B+k)ykPu?{RDaA_*`HVS3-0w20 zH9LZk4sC3rI!s(M#=?Y9d<~tD&G{%A=B(x~=8Pt1#d8*P5}H-R`;uH^G~$Jsfe3Yx zL~}+ZqD7%dv`)n=QO9VO@id>8%o}FjiV4Hzs_-U&pRQk7J9-?2qcd&@=owWF19AJ; zRCCS>!p|*Lf(vJ50MF8E^2=@Lfvh=Ry6DtLl9cDbX@A~Y{S{V$d-?Xui6XAVRP}Ki zC4ZCWmx`|a130%M{SD%k8ka}U)WSAEL8Tr%68Eh*o6T>QG+g1BC62D&SEBj;#0Tix z>;Et=nDfY|f5{rh7^NB;8^xS*tSAOi;=mb0FqamI45}6k&q>!w`Qi|)CSqOl*zyMV zMjS$cVHTygLIiqA^y%uiKmcNJGaBNKoTx)nM}FPu$c!a7?Fv_UgT&Rte|NK!p$QBGpF&z%!Osi2$1CcIWA5SB< zAs3i|I0F#ICsKfbcut0|kZxQhXmp}-_)b9(9I`eUy3>|HtVfdxx-!d}4L}N)5Yn0> z@3<7PXXf0)@r=s)f}aK~V;tsNxO_tc;=D!CJp-kPY9h}DYzn82rc2ra z#5sOqSZDINe`cXDpv851<{9W33NB(;08ck+{J?Kg1a>1x&XR60l>)33#C&@mZWC#( z0JteI%8$c`L(-qA-x_bD?-|qVqTC>A0K@KxquE?ID!yv~reu)BkAc{W8 z^@h=7cA5fhNZBDk34enRe7z(b>QNF&##(!m<9)8c7Zn(Xapzjem$w>pS0v)+)q#!> z%PxSskzxVHNPvwlzhb)3Zw6*6yN7*NJWttg7A!sGf?eVR~ZncSs7oOWNDujI&0*tcm)ZOqaaO;C$(Z!t=qmx$l=q z2bcZgxs%y&SNiU~w?S3XjrTKy9!S@mYX?VQXy1tnzrQWKyI*_m}vG62fw1P8%RD}k1g z+W-ajXoTjA!?D0#c?*07s_V$SPR|CxF;4gZA86Tj%3Jm)TIBQLKZnrdkec+^ho0rk zBNGqD{FuM|Lbm{Ag82-3Jx$)BP*XxHs}o>Kjugpn<8N;}k8Yi?tMV&A9H+A~JGGz2 zwhL*){`^A!-bbGq)q|TjrP{%8|F(`ZBWCUubT_$8KnT$}gHDTLL!jWhejR&$fE&=x zpZ|!r{Sn`}Rz5eR$T?Hu>*Qp#e6eQF#77}rA(E1As# zLO_^cd?yhx*rC-&My{1-I% zIs`1rjVK#wo%1;-9SW7eJwA;EbG}3eF?5GDUCw%WH?B$68rvu21~By@(V6`)GtBqrv~B0ZT3zP5ybEs#Ah<9;@R6K4ypEs>p=f|fN|v) z8m_>&KK{4?m8dcFs6vB*OB-?dW!lb63y(G;NM=a=7`n3_)qz3W)v@GiM@qFZdl5P- z{DInGwAa~<(Qv1+C=*1$@6o8wXwx=iY3Kv+3>3_1uBbJXel@aO>sF~TRMnsZHP-`~T(3(>zcqvhiO0xyvGIml^pWYxd<8lvA_tDnE>`R;KG7z?9xBUdS- zh^%ok<*p2D%t5J$dt-9O`AJ6rqxLKjLXwS1T?QP^l$#tC=fc$b=2~Vf-qMAyvR3*+4^(q3=)**uX)EnIkVDJv%i|} zt(+m0)?{YTS_7;B!$Sd#BQi2H#MyK27+xdFwE5yP~oYUSAHf|K7GaY`c(z( z%={#?&eJ)LRdjPRTIk}e*q`A)eR-nCGj=zF*>X6bE6?yxUbjqi@wvT>Ekxfp&XHvS zyva9k=Zv2f&TDMV+D$ESZ7f-s&T$P)bs=(Pt9o^BJmnW!qKS!Jn^}_STq?Y{Y_p6m zzpP2h zKN>84Pp(pKN{4oiG<6~wGDmK%zIg|ob9qPQ$zLC=tst3Ycpo6KuodOp7o^?+%#-_k zz!ZR>;^<%kVs`!gMVT>;K<1sBvR4=JGT=$dCJgerOssjybj zw-Q;!?B(<*ZOJsu}L-;xP(>n}`lGfuG5_qPs)%_iUQRBQE&8qC%R6bzUS@idL z##cnka~2&HSsj9*fb8E*-rrj?3xK*ALNng-0zWei`O+Ezp}P+nr9|3L5Lnr_MhYZq zd~heOyMH~Z;o)1Bl@Iq`q9Ld!O`=Ie*0@> ztxx5LQTwO!uNhDFPPsoWX6|L=Zc0}+zckXGb9`tL3T&$HZ>HtOqaRitHb+)gmsWn1 z9%vlnUTvRi>Mn0`y3o|=_=((C_mH2x&ZzO(U$*BhBLiz}L%EG3)O04Z*Dr!tUrv9X zYQeoa41Dd%I%jsUaEW!PCGbtl!HR3(J2}?(jE5WiZd-o?wu26LTLM1*W%-nQco2{N z(jRan_vJV!;9IWS57&U7uIPWJzx?@o{w&@fBu|0J`@_!MXx{tL<=HU=`y=n!FbVjh z&rmE(M{Ms=9C;M3=N#9+8yXOxuAN5`p(s5;TFx18A_~HF&BsrS+FCj8IU9!A7=Kl; zL+KFcxhUXzEL8Rj^K9G2h)w2JpiS#_xc4y7fMqz&GUXS9cVZOPg_m8TdMK7S!YInc=;p zB!dNDU>*5_(gDTZn%m`{Rk+?{9VcNk-NvL@a1}H@b4e6}aw~_?;$#tu{=E!-6vu+pVK zkPdeStAy*%h)u%DqYf-OM0|aKp%oG zD3G{zm8NKU+ls;B14OWl;3wI%Wx$`TV|k)>B&s95#@!atAPBl0`YgWuLIT2pz%=QQ zBM6^t&yl?E%8lXn@4=5$Fo6ZVdEM)A7`9DIt}()6t@@PvnaO^Vh(s;uYk5{H>rg#* zr-&mxP8-olm^DB7vp#S5eCSpFxRZ9psZn$o&&Nv)vV_+aO818o2HV7&SVxaOvaQf^ z3#K^!Wms1)=1%{Tv6;&t*bBI8?+owJmrDW;u}u#&MPK4R(uODVO0Y9>{MLJ(DOZi> zW>&p1USZ#FtRQ?AUQo5J=3k>Ik#c7;zfhPyO}gX|6x`xQcQgDj&H|yeI z`mHCn|2&KQ7ZUQ*tMm=`Ac#Z1SH%9`NJu4`r%PF+Ff!9VyZTvF#h2!9)m){U-;g~( zEtmTKSp(fy{fscN>#(=NO*hpOeA2b`H#Gkg!8pO)84sjy8S`9CAV|e-a{pp|?9E*> zsy$kacZirX|)6uu2nyLz$09)lQ3wA4WXTEmCH1)QHkXP?3;x$}VR# z7f-cOSAa-X#YMJL4uHX6h{u#}Nag8kgu(;EuoonvbU-1&J$i`Kt*7X-nlL;lK!j}o z$Ir|^n`t|)4dA2Gl?78SwpPuUtx#Z%RG>#w>ptC&;|VopjD*ld4@+^bG<9w~gS8vI zIKx}G*@qK_ZF?LKYe%Z)JO;&}A##~ZCsUrgKC3`b^xPv_dZ!+WP-cygyI5n&xZ0@! zHSMk-n$As3Hs*z^=~um8d&7UYBYL6ZZoDg~LRZ%fq>i=%TL;NG!!w_r!OybzQO&l9 zVvMo#PJvRVwS{tDSYqJguU=saY4Q{6<9*H~#1@v_iIbS=m_7iZ(IC(apJB7Ci;_!L zK6tBZ)*FYUT2&B^#IOAlLHeL{yh=rqR7OK{tfwEat&QtxEeHd08N$B^1BM-z}UID*Vc6xwtda*lC4N^HiJuIeik{g^UrB*8jQsx zEbsoZu5T=AutNG-Ka90$mM&^^>h!gJ_RFTtub|08%-4P@*7mV$ZnOUg-tpZp+n&+% zhvBk#=Yv?gro|y?x+D z2}@R}Ab_Z4ZipEw)w09nagCQ8Uo@Tb2J=$Scw}ItHa(|JQ4&45QBTus#)+cVDQAsO z1ks1Mo^X@s{2jT3O8;5Af=Vp@pei5xs>$`cqup~BmjZ#QIbNSFkMd6|zSNy$w_A3X6TK9A z`+{X|XpgWxKSp2kDSB&Sahq16r~Rh+`g*sP!(em+1)m3E4B_2+HvKM3+go)<>Hd#N zvqM+MAR(__?3)Sk?*K=+Q0^CgeQ;JNaG!<6$ti$iGWlT^2Pbj&Sc%LKa72*n*+5>C z3^LIgeHoW`gtWe;Gd<~*1$K7J2~`<#1!2HSqX{`mDuBffP6x1+1OiUV1^vGpDZ3+U zpV)KH!Db?y{BC|SG_((X5RfO(s-423GQ=~0QdMww%L<$+1jeOGlb>lL7+9eecm_i6 z>xXQblp6LIl1HQ;EAPWXHWU;!U{Xp1&I_a~sIv^ZQ!}un4Q0|WoYTFN!2ul<~CJMUoK5PTn4mA`Nd0#D=zTwu(Zl`w) z-=asXC#uf|mZZw_YzA0pzI6G^5*$4Mv1l(*Z%If7?QO0iaRgO36cL=P4X}>$_0kn& zdPm!`32*_5`*bXASuVF44f<%7LnPwf^K`wvn9Yw($P^aTM@Nkj)_%rQ!lE%7MYYB= ziWg71Yrxz0`MXB92Sf9cDi(sPtPHaU4mVk2c0fH7)tsbOfYT%2fLU#bZ~8;}qYqzY zG|3w2-U!PW56kj$raQ~uKU@zV`tH#)0DJor6aiiTUN1=+HV|J!*yJ|4(Q}rTO zoeOV=;^R}G`TD~XZP7xCBEjPwp8xb~FoRM9&pq*tB{t0 zQiQXTK^3&_z+)sUIh5Q57fs*N>0bmR)I!>?sCLH>G3jEt?%GEwny`vuL0f+o9#J z)Je-0rwHK}?R;{oC>SR%WX0g$bALj6FxW8b&p%hRxM}D))9&fOCtosPWR$h7vkYs} z7e&h5(=RGiU=*|2S0APLEUT}q&v%fr4tXoh9`&{z(t2MY$ybYHdrYhjw2BY>W8ZU z`285p;$wnMn?$e1D39@ICvY`Xbj*eVm!lADHL7S4Ljb1^ZXNDxnH0L0>6)%z!;%Eo z0B_^@{3!%Iw+m-!$p(qzDQb@Adsg&@h4qO~^PiAfVMFrWsHBjWDW`(8a^uf|9zr1S z_(@2sUQz35c%8dOLTEY>s0Vw@DLlr4?M0B0)(}^Z42e@i2ZQ@Z(yax~t=*It4&)6HiTGVzAYXuvlPZV&)CHPLq@t3G->;!J@D**}OqHW;EeeA1l# zp1x&6x@GH%vXk#4h9v3#?{aTGQQv(+j$0I|0-4)@H9G%sy(F?PX7Yd}_AVJUugPcKF!z zAYk$kVZQX+Y?RgfSk(0E)0fB2uZHK*n&~jw^+e}-!ilH!_owEX&e`Gse7qj!P9Uh% z!+$+S@U|uY`h4!U$&9uWLT>%lSV)R1fuKNyQ&+kn7qQNkSmZ@TUyVd(!Blz>LK+V* z6SQ!EAmljVXXz=rNr2kAjx;89Bt0>Rm@+(*U`l~vm!bT8AaW^`AD?7AlT2OE;{jlU zlmuhJY_)MJS^(uE&$zt7N_Wcn?!gAmLAb=S6+*CsB*1rBj$RNl0LfOs!e})T&S-5A zDw1ikrU=2FnZZ)1F+Q1&K+wA|E9zoN85?Uwr|NCYLk#c=xEP-(KE0^%YJAqLAf-2)9qC#y+X>*!hAd^@LS)9fc{Mfc5e zkV3G=U3DN^^S!nnDut?3tVLl9Vz&Y89+ZFTwK~Rz-@(Rfq{%h~V2ZXGTu(eRK`^~e zc|jzsJ0keW$)*PjgPb6&y$US=zVr^tk6Dy*v5mah@jBR@W$HCuPq7^|Nb(}U z-J@mb4Iu9LRIhQEb7Zy@1@4GLsE=Ei;FlA=Ee=vZ)E95i1Go_yINl$TuFh${@8Vc*^cL*lSbtHv4%u4&(D7cmBc;Rf;eu4NYTLs4B5$+m&Zuod*6m zk?%GQTy%Djb{^7m9!(J)@oE~)aYn|jb{06l+~%DSYkK+4dD0CbO@xP@D!KlAp)|f) zKsD(>L*VT}YO;=AE= z`(eDwNXYvk03J$&7_q(gl)d&_tbSw<7KTB@AFC5sdWJcn*0g*>(d_^5z5ng9zF~rR zfI&PNy6{{lW$zqU zGmKJTe}CSl$6n)TS>s%D>!Pe``nkEbtG;>Z#<$}p;!QWEkWjFlpLxesxIbGY*F7uN zy`*4MvUXFt%Uxu2vv_t>c4xEW>n0z3OM%^kQ+(?zUula|-y`30OWAv?E6jr_bxWg# znzO|LANRPp=5guJPn}Dix@MkwuAcfqo>${N4RSpVD?N=`JdOK3 zwOev`Ydn%VvSJkF{ph_c_`NLUysR#HS(|y;xO&+JdD+E#+2?vWRBqc=ic?Vy`z|l% zH80mguWNt3aE#s-ql$0}o!O=OJ_Eu&%G*20+b7-|pX=>6>*d?;<=5gJFzp?<=55>W zF`~I+R>|Ne4Ft*ggkSQBaNYJd^RagIxgPHmox5uzz6$|%`wFr^Gsu`VpZG%`|L;DQ z*L?{5_{5f-8(q7h%svoFd}`2MJUc!<6@QjiiO;O`f?)8WzjR_-@VSS3_+oqv+&7Qk zx8M>1Ox_FmHB{j0Tm082mHlIJ?#D!Z-w;dRvVPwRIj_?A-MiDi_q=_|^=En{ckapU zmmYqM(D%FV>KDMc@7&>Ao9mZryB}Wb*U-O@yS|UO%}_n+*D8*0lG|(^1~^-xZx zMb5u-ZMS`Gr_0s9$87u2sA#?Gwm24MSxa!<+wVE_w~zl601t4rO%bQ~7gv5VZuGa1 zgE+ONIFnOGTkZ~CqQ>Zg{bv39)dHr>yb_9&MvGHaNWk^fJr;tvL)&NjOCU|0*C4x> zTwBV`a#`!*gDJS*aEs`OxR+h&=Q9gN$o%N%w~U8YhXK;Gl}bd|Yki*t+uPzefJyS5 zeX7CYPT+)DQVdtGh=!Mq253WncV+b8vHtcu#_cDUfKk`GBETVp7UB>Bn?F395ue@A&4m0VGzt2U+CT+>>vq&5`umI9-<}!A-e}(FA-Eu51zRO zYmRRnTo0Wp4)!x5K{UX&j=^@z!FH$vg|;AiV#?>BL~Dvy)Ea?TJ;X+GNBq`T$vVQ0 zH^F{9NZS5jJv5B={ns-`$wL+*jPVD>Z{le2BHfOSR>Gc$5RVy|yd1^@9Ix-PXt2Gj{A_$L zyjrcrdgfT6t`>WlVDdasvaWWKaoakL;B0W{R}FS94L`gDXi6UX(I4sg>|8n{U1r+G zw1!?`s(j{6aK^)IurNEpq-%Mf^f|sFnY?Ty4-H$7MI;~&`0F-3#~}G_hWaqft3$~8 z_2B2>a07@zNz$)N-@?Cq_kMn?5FKK7?HKzVaF*N=!KQdjgr2`lunkG^_W6#d`HuTS za;vL#XFBqrIXq+1jD8*zVN)M$Fn02J`n%BOuhwT?3Arg!GlAh>qK|D)0`7qoC1T`I z$B=01Lg%qEveFS1=pesCcpsS&wUcajO1ZS1T30JpS6jXmN?Tvc{wk)U_zPS;pjYVU731>Dy97FhFxu z;3scF{#Fo^_L#!>k$>y4Juc4iYOL#8%$&n1*RfN7Xz@D#zpWO@#zfYO$>m#$;$*MbdU10Uy7LO_nP8%r^V7co8bjM}0+*0a2>tn8qyYIA3i+G$>RG+&^iUyJJ~r z`Oxp1^kTD8T-d@-7U|_S_c3l4Bem)`kElq9SmU?);!spt+Q$k`g8vK=eOPAUk?9V zIHhck70L(y)%ta^|NNT9;opnD%U(R2ZVf)W^!N9#AID$5oSof702=FoVCHDSL^|mn z!KCAnAA-r~T+e$6$p0WAd)HEU4wtIZ{*8pV7*dgt5es|aEZM$OVP6Gtn(A!Tx6xZv zGPP&R=iKJ02vPf&q^Fq*bBt&K$JZXw!boJ9Xpu!9{zIO%QH)se57l0=68np1Wn!gn z;`r?x&&(L_QkTYFZ_{hlKgBD)mBp+85?E~*N6dcj?p+B4*{vd>_Jw#=O3Q~@Qik~X zIu8i;buzeHY6i-7>+4v3b=e?ZvhJ=K^)s)6XZqSnsJLBYkvO^9SpP6~PpUaZcwhRV zVaHn*w*199fURlqmw#3}ebY`encGSH*0Z&`&uL@lpKP?fR&xlj6Cmclr*Yp?A8EME zPt1JqiaGk6x%0Zu;e*Y_71HB_LxTgrlr#Y61UqIu>^i0+r<$#Te+Kq^0{02@eP?SH zxJ^SCfOGTjML@anoK=NrPiH4lF5mf=w_(S&)Ok>=ngo3o@JSJY^MwBl`++sUe#UAn z;07;dQu$MI$AsnvVst`FTjpp8ZN9ny*tJ=}VVZ2zDyG&#z{fdQCIS?q| z3O#5w>sr@0B+=;kyZui>WH7|w(2VBQu3Egc>jni9Ad14!;AxZf=Oj!*j{tlGMwuH# z69VwCB7jt?V~{Wm(3Bo&n|tyK5twnTF<@@_FUdWd*#ecPn>k-RHFwHs2(dd_+s~qA zTLsA7c2T?YP!0%|3enMShASIdH&Ll*^o1LzYR8 ztjlI)a6%IAUd2Na}qd8g_$Kmj-HetVFcU@TgG*O+Nyj&k`P3=@KD8!0-%GyptUKN;d?00i=LZ| zagqcj0y$3N^KH8D#KE*kSqWbS6lde99*1o{{rUxW^lN(^8L`%!L#bj=+*gnquNxp` zphH#5;bOD|5MGeL|D)t_8y5%xy08wS1yZGF zxb(_aE|4lEE(;Rm1VG$7ox`wo+JJiZzh`0Y1D8z`3Vc6(klWkBc*y&tJHB)~~-h2j1H z54c#Cn;R$bj~_P+&H8u;-?8IWQVoYl3B5oc*5*?0A}}5TBTDCh-SDeRl7z9>e|$?W zy>@#`##x>|45EK_yp3P3EkvD9tv^<@67qVZ!r*LDW;!DHqCNy#iQR}7G#)XBkY}2A zpwLFAcPH_j!+^Douf6Oin@9U+3jwjXhr0-W0Dtw7|BKrV33oV#P8P4czX%FF?>oqH zJ#n!ejcc>_+QP8#@Mx5qN?hYv0cnxpStEIx{t*Gg>Ai)q-va^=%aWo`yb_e47(&s4 z(_1s2ixYl|Y^LY9IeDWSTUBwjzK^8Hv+S2AT(bbMi~#nF@O%Yl=ed!Cbr<~dqp0}E zGOgDi!Ad;xb6lj1G^_1>VSNyTsMQ_!Z9|s&rXk8sP2Zgwhp6s5Yjdhoka7<>j;V6< z@i%jg-7KxZI1g|vY}@|#z@%Nnr)Mm;sA?C9c_%snXR29mit*ewo%%68n_2u=VB63y z5}Ycx?|I!6d-u8I=gzFN1vQE8ZxyhR^8?6muh1N1OPChtWWO#r(VSsiFCv zH|}l0J4dyxgTTX|=hMV+fQ>=;X{x#+`16rmJKOt#qDc?83yKjeB6SQxbehAVrRcrS-txKQ7KzGFnIQ6@*_W;a9;t7f-`gP} zZgH+JIgpRITUFXXJs|Ah>r1`(hp7o}E?E(FQwk3BGZb@>4~EOLHu+7#au0M@@drUlrqSNoc`^n2USO&WY_V0z~b z%28j-Lx;^A-nwev5uqyJy77mS%S2cg31%B? znxf>L)%|ucNs%s8`}8%hL~HLsV$7>T{+(Z;tTm!~QdN2VC!6#aKl{$cE?r*xBKU}< z@_Wrcm)hgMKUTN>oD^Krd)9xds9$i9(<-&0{9JL^F8-+SxzIu-#cyc@dc;+zx#jxO_>S)tDSR=ii$iZ&%YP^Ido=pAaM52CwaMF^66*4%xC}f z-uwRN{kxy_3G;w%XFCc%RQX|9uK;st3_Nwm3w zbj2jPNlMGJ&SD>3G24yTlLLF=(AT9#~>ZY>@ue~J!k3$ zP+9e;$ZfaXja1{dmm$QPnsKo3;_lwsp+&+ygbCkZ25%xi-(R8PQ@(wvH5Zf2m2Z4P zR4_z;O;F9f==AQ+!qvuzD$(ytBBL&%-ojtSDsL)Oa>Z8P2^3z96qcgTcz@&)*5*#A z5iTutU$3f`i6Jla(t0k?z@C#^Ms0CfBpf&!$W4#2s!ZKDt*$#rzFd|&jm;%i0EU{Q{mnVeTxSSn zX~a;YE$foJ+!$0(Nc3 zNwW_g=Fym8=Yf04CfqdxlPWbBTfU99cbKpg{rIvOUC(KQGTr{Ic&#ldeUC2Ft()@< zu(tVQErJ>RC8-ix`LW|PRoH^?;- z`vKnT-RczUNuJL695mMID1F*Yi>%F#d~ZSE_DKZs+nx zPA%|>D+az5sA5Yi(EfRv-)K<0Ng#)G6r3BF^^zJmu{Zw$WrQ`eZE}L{Re@xlF;nbc zERjG(1=?2oMGQ9y{DD&3^%F5lXwe*tvry+^E0_Z**QGuzcHUT$AQTcCWZ@#Grz#}5h>9rAwB(q72FA0E?a7V;K^ zAb8rO3k;wdGFf_x{2Kc3YMmur(SA*}B~7k7Ci{DLjwH?EOAkJ0CDZ`&<)u5E0QZR_ zcPWCSIotH2HZEnEt#qC>WFU6U&p{dsL??Xw;BNBf%+}$&uk614Z`$#gmT7rEd%rNf zyRo@Fn|V8w89=lYLh-HXWt)CCy9yr{ zJ%|3jf)+PURj%TfhAg1)f^3$t<#lU)mQJN1wLay(}D=htI;HP7O88#MGC3M0ItQ!xYMy-j1x zSO|G%y1Atm7-{?4K-B;`Gg_6BZq-yKBk6g76pdL{o(toBhS~&mW0b_ zum!6|9)qdHFB~(OQ{KjJtk}?v-#=vc3bj>pJd?JasMw8dUfQ41>|C;wvO5j=0M@k| zwm0(oSQ0am=S&B1s<1QJSey4WZ-kUA972;_tgHq&>^{GQmo2j?7=PL<`IO5MkN&jB zKNpvOXtsB_XViM$@L*orwq0=A{2ON)KdMuF3_{357iBYJ3pytX-Xt=$OMN_{B^&=i zn{zg!U5u&yiHVuwu|FB;==yi>PzULjY6qWadsnWH+Wfj+h$d|Jxf&;#Hg74_KUmNG z;2xm=hd9*6nfASTfx>-m-XEAdUfJ zLDLUSKE!iYioJE=#01A^a}oR?sk$zXSoEagpW+cbC+yZKy z5pc-*DO1|gU$8_my^Cpo?wW0SS2k$))xDFC_y0&SznKC>Ck*y4cb~pEd}{KE-SK`< z;ZS`!rih*EL*u;@`!8=qYr|wVFQ#rp-XWaqPboCm`i7vIoSt+lusyBy1ACx$WtpXn zJIk^fc)eMQ5?k|j%V{a#=@H<^nkK~Pc zIun!$28!Rym14L(hr`Ucdzi+v^L~w=dDpb{zaA5a>Vm*tKGSbR*=XQhs^mY z6UQHww&C_pyTc0!or`75&Q9{0PtdYqFisxr@>q;i;lc^NNlRdyt|la-qU;vNIjnSG z-Q-%wdfK_2NM*-y7p5Z5AHx9aSpnzM`D=GPaB_QzAs~E7IuKH0y_x1dB=Y0@_xKM+ zlKNdz=4wRiE{x0fMlBRnv8kSvkPJ5P^QqKMr4@7aw{v#iolwi4QF9$r3%i#gbctU0 zdW!I0)iBj=W$CD|%UzKr<9wTy{9ow=ETbZWyNS4{>&oge9MunNqQdT|FW}YV;?j9) z!)}<9;>?jL71wWGdvQZ~GyZ)#u&N%vbXE9IcX(@e!V)crw&%(6*nJQtG0E`Om}&A5 zEua7-b-%nx3r)7`DKa@d7psv45HOxSkJqn)c`<2OrxINnSy{9h?{hM)8pkh73O>`w zCurQ*(nw<_n|~P2W_tPY&6y-4dvCsgW`RU+fxKp+dT-%n&7!L@E&IAe28O(An#H>Y zw}*_1qk2n%HA~`pOOJbOctOg^1MUE%JTDoFg2;HnI6frOkT7y83D(PlYD69B^kkXr zA+@J5?m4}rM?EGgAO%t~-3KsR%}?qhGBpW?1`yclFqd@_ji|P2$bhMew&uwooymEq zHJJ{jqgjd}F`aLe=rIWysG3Wq5+5*YNd1y7Cl&&$z^E?wnqsvz>k|#t2g7obs3Hid$x5zLzn~O- z-k7>=p#o7Poq-ICKuRhQ8N^We?v>6bg9cdgBfFu_R?QV9hzeD)%}%bmN01ea>rzip z!T>M>ovwRO7)qz9ZWvtz=`YchD;jE+k7|$leO+XTYz*qkg0krjabgKH;~=_hT~3py zhA5r;_b|$WQ)pBYFY$@WBWxESRL)yuMl;45xw4g-~tfhzro3!I3;@OYrYm z$WYzO0VV1p>^X>nE@OIMxVD;Qb%$-DOzQ|KC6S&w3!SA)Oo2BHiWa zkQhkk=nfSS5Of*jUu+Kt`Z z@j2ex@!9r@$Fs1%ve-nv5HjW3HGEJ1ET=wng#6H$sIdRbvLo4w{>P#gtauqZ^;+-g z!#~VpI)2$iV4iHT4;H#SaH{}1T|6*dVAB6q2il=~|MVeb^Tj~TN5AL0UJU!ZP)%@_y4}B;GvaI>nLeF4+ zsdw7rm&Hr+il(9JfN6U%M4-fEVd=@;b9!%lE**0|X}L#UDTDIu7+CG}Sk#gg_EWyR zy7=LC+UFZkrOUcdChd$mWcI^9Z$DJS|5X~-|MJR&TcXbjfM%a<#c->Y+!BVR{`Zg& zHGbf~LP9L^j#(C|{YOa1aksA6pIkxK*HuGjI}!_y-H}4cq}e0;vO83`^_uhi_R>0J zP~1IS>YY{&mm22vNR1M5zy>|EHe_uo zGJP8-anEOjn*w_4W$V=MzS(B{Pe@3>i?<8+&i^YUWaZ|)OJbKUQq0FT{bWETXI-bS z(!tnj&ORuQC$$eQl8lmsh}^0xWj!H`f5ImHCSCYUE1Ax7W~kA$pNl;WHOTGcnK#Jm z#Wp&?A2@!Se0Y@i3vgQ?&gA1DGb98(f=Mq79cG4va9OfvdghNxRU~sgk*F)rACr?L zb3K*sT+TmL+Wd!WTpBw4BTlKiEiipKVb-VIN|{w=Y|HWgj4 z&r#0sbu~aeKjuXBiYnYF37nnYVB_+IZkG$3`Mz0svs_?@_N;@?C&O*0>q?}@_v@jj z(k}|Wk$xYDUD3nD0GyXU5xRFbMc(h^@XloaHyq8SwtX%Xk^_{EGMPFU$ z)iv(^w(4Q{=)fTVBOP}8X#M_-BTXC#Xm>@ji` zDf=612CE5&n-!d8KN&Y}{N3Fl-4y+Oz2%ku?+@my-se9K7W4mE96ou&J4+8URCYFA z1$FuCBT#+EXPBwj;aSQ28e#3TYE-Z^#ZT``SeYKtT7>9H|v;Q=*5EThs{9o538 ze36H6Bj0TP=V|`;(3tq1W!K9W~V>l4Z6s!7?FhCt7Mx`PXNar0Z^}+$ppUR5@B|eRk_r zwVMsrW;%NIrBq{E;=Ra=?WQYVrL;yZrO&jsl<&q)XiqlUo|mFjcwgAo+dlfDb@J$q zk9UHnKQFxa_O2lGFZWIm@TQ$4`c(z?Ucg8|M|Dlc0=|*(7D~oABfGIj zHHbtGohs+<%HY=PJfl8W_8c?6c47r5K*Acn^XV2qOTO2LR1$$|-m!MKWaeFjZob%r zpb6qy2~?QDV3}4hfyT5ANC{(|S%}p~-B!}1S5Y1_le`ZE*5vsm&Uzp%=ts3=DD27M zsJj{8(FHOiQVERZZZp0ImnPrBv3@HoL^6V_txw{C2Nj+C1kQze%f3!?K4cjnaluIM z*fB~VvHh7xmkgt057&=0evWH60y2`Kk9lQ0>N{Ey(h6NBvRtu!a`)1=7^!t75>z*+ zZ&zQr!@+uqr@ecyH04vfpZsfqw@pLWdz7!7lb;hYzcp-ipnQugzk$8gG-9c*l3!3h zEtzv`R66DCO=je~tV`3FR7GARK5p|*fLpan^|h9m%|K1k{VG8&-aD7mdOWed_B*v8~M;~`-?K$z%3JNIH*vWXcUO_@VoWp zYnZEQE!zbCn2E}Ww|m(yKaFX(=j-F)-aiFzuxFX7Glw#czS)~MO{Gur=cz@$UtHiM zeZS4O4!SYkCam5(^0Fzuv)Pakz83$jdu5@7X&6w@SRuCY3=P|-59hwNY8vYSa0f++ z)cz}!Wq3vF15mO!_(m`e_%D=-1;hhf0wcixg;JsaHfc-x(~5HQATV(#rVQoxj|>(5pDfgw=r|?|6&wF=7V5%<R0H z=JUw#*x3J&n5L#*{@)VQ>(?9G+dKaWFn#{?@$={ZPxK|=|9|{%C-DD*Ql+72)q^?w zs{boWm0v?FKH)!Bo_MzUUnrGqUj4sOst{`sB%f7jtV7nk5?^CgVRfx~`X7{PW$c>7 zR4wE|cAeXQpj5CcUQfGPmhOo?mP$XR8L-GislGS=2TFC^ht-+2yKS|fa`e`T@$NhR zkIy3L$;&QxHlGH`hOdq-D8;&sOA%O#<194lNyZ#Xo-8 z(Y15oD0(owZov$_{O~~gfbqO)F7vk9-xq(+g(4izL!C{{#Dh&RRA{h-(U8fmsSMVi z?)B9nMa)#%=j?ZEvFF7<*zGFHi!=P(@qFwtBH6QO+$#WzYI7v1S*foIa#_&f2^uy# zudl|Kb}gnzx);835i!V=pbY%fEIw!47$Tl5(m_ z`YlUnK)OgL?{f0UAfmebt9s&cffyO)=pe(p8=N=pJGV*GvLu>`XVH|Ut_N$p35n~q zl$vw6LF%$63O`}li58c0x|uJzZdpN`xxW(}>#MviUe#gaHAEC4CdW;t-Ou&ED>|hxsryBE58*nW;n8L45?OzVcg&;t!nXTC zxT$SsWa(VM@9tZ5AHzJm%>3@1c)J*L!=V;%OkN$;eD&vZl&<2z-o!oq zgKv*q6g9pt&$Xt^uVg;{^}{wN+F*C%OY+}e6*q6I{N6MFaB=L@+>QM|przY~EBlZ~ zhlhc0eL4UOdJ_xE9cE1%=a`p+=}G!|IItEx#%u%F*45suHy#6d4}9^OAXApSX!a#y*U z%QSUhO8!$;cxd&}DvQAui##=_@#=T26oC^-d9t4G*7=4h50%_AE{FWd5_nNEq%jnb zn|-E6*abX1F#hR^dgE)~y^-O(oikTc*lNxHHt-n=IwYnIJjL>5-7{HD&tqmI9mC$Y zu&htdzt*wgrj%%56O~^;{u&U36R@x^N-wNalXSu_m^-!RUrUJHbR-Czax+UWI^VH* z;*6}hmr;6g&)3a);&n4$j)IZ^wR&5sn|0uN+VzmwE!8S*v(R1}NiF71sUVdC;jZUY zK?0gRZuyEaq|&B4L08T0!j1XCr~n$yREC%u8Q(6Efl9*wcMjn^5d#$&JI1^tjbxLZ zc1};%MRU6B^9y7XAft_P#GUy3Wy2Q -iXkaNt3i?i(gvD)!g2sPoJV;84rh=w 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

GN)|5O^Si zKZyxSISIf-BJp6%9Kg+FLA+1$5xIzfpXKj(Gse(n*=0yv9SL&d+?j1-GT46VAqKNC zA|aNUH!DH`R`_rGJXvIX=p_KL1JR&bXKoqIy}$4)AmwOW7r{B`%hhdQ`@-xVFYr>} z?Qx_H5SKj%y+3|(uv>bypR%d~{yByOMIs?c!n<`HCv3>!xv&d`Y3!Xd_bQM|#Ip?i z*(~zeYt4Wv>#TYuph}_8(dn5iD3pQpVnXTNZdaLmfHwOy&j3Z`RYoR2rD3T;m4|3p zxWoX`WEm;JKI2D(hZVxU_?%+kymRpxbW+BT2$06qSrPWxEHq#O_&Bm)YXZTpWOyVR zhL(d13y=UJI3fscjpO!a)8$E^ND?Tp8-B|$D_IpeZz~%@1dA|JJkfgF2yeClN{R&9 zzf2WjQ!=si&`A0km?5`A|4S|_N`R3~1iT{PJ}OA~9CRiT@=%$fgLXYu=?SMm!zmm( zCUkNt>x>CXO6-&$8Gb7j?mm^q=!PB}AYuyXF(#thS*kH)7`r(W=w>*rJ8Cjd1&E#I zWr4E`lQpoQ_Eb6n4Gq=ZgQqJ1-i3aj0hrEQTnzRAoLsO<0>#e3L~sCzS@2Qy06>9< z%pGzCyt$b`FxJ9y4n~)Q#u=kDm_X4Kg^R48#mav%0AGtg_aPGeX+w8?03}j&E*lMa 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 T=`T6KC`6zD9iM~;01W;g&smF9 literal 0 HcmV?d00001 diff --git a/packages/streamlit-rxdb-dataframe/screenshot.png b/packages/streamlit-rxdb-dataframe/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..cc9fc64603db94e31a8c8bee527eccf0280f06e5 GIT binary patch literal 76390 zcmdSB1yGdX-!_Ut3Wy>gARsCrE!`j>ARSAmbc58=i%JQIAV_!Z(%rErNOw0#cP^dZ zjsNqWdC!?|<~wKRoSAc;d7MSqz3=M|e?L8U2#4Rh{l)ud znd`T&Xpb>1`EOr8{Sp1Y@s`Yue;-2o)EJ#>)zI=_75n~|hKq-*OH0G`)Pv6d8ZBQh<6MqKA3Zd`!VBhZvHTk->k)e=d$!@}B`ewwej(@d%AS z;-OO4R9d?}{ahKXt|xWaJigT(l{aQTUd}9VfyoVz)P}FCaKi8E)o=^l_JpP?`kcV) z?7-!Bx+z;p32LP`6KATzdU5{`4ZGms?*^Sva-J7{->7(2W|PPRAMUt#dWrPk)XY5D zJkT2%8?OJjvxKOAXlQ?z!c6X^-`Xb6b^Oze{7dGvBr9vDp7k$oiyCSLRW7J==7dpf zshl+JtaaTx=E!qpla1Tn_ws70g?9$C2&v!c$ZpmSwdi>slUG=6Iv=$L8Dr+)v=(UV zBOQCZ_S&%{ZMf~Vt*3LdES$(fp;wbF-Q7$X>f5xMnmtJzLz7l2US4AF->p8IX z(a_$y^Vjm*KxvOsb;f%88m6-y73ih3v~uK@x3->fagE$?jt$7jOEWVtq$jtw&{$Yo zKN8c`rQ8{>l-7`{gGiOd2*cdn-52mK5UkWheM$Q9#d5^iRE6$vJF7vfnRCFMJLR8)1nPOg2GGbGEoxsXmL zpT}P!Sg5ap0*va0WWnRUiZbQOx3L!J=jOI}{MxVR|rCR6)O*Dp_Jcvh7dOR_!1m5^u|Es)QS_wc~;INItp zVnZk<8GT6gIoY`EeW)ldXXsreI!}V`v(U8`4bge!}u%6VqM}LS9pI=HQUR&d%=RY)o)F zvf&`GXMN6|U3FijaYkASo0!O0F;Ksv=QC}3wYfe7{{!<{Jvvm5=}pS+-0GHN>txi|uV}F*be%#yq z^5t$xN|U027(=q(QJ|x<*n6k~OJv96u6_|2ZSDA^I5j%)TXXfcCzO;Yr&OGpI?Xrm zI}0Q>CB}aDO_khyvy|c?84rRIkqOsUjMFy^JUct z1&X~MR+!P3WG!Oc`ZFYWWhKaq|_%Z6o0X_Tu+~ zLxS^d;QMa%1_L+X!DOt>#wE7~R7D|>3|oPrkvw8k6O->0)(}Gq{?I*iHJ7H;2X0=I zeQM)XuClwrGbdYo3#%ljXQ&u5Onfw-*rmgzT6|zM|E>mYKOQ8Lk(G7zJlJZH^$~BT z<YQR}?cW2Jz+B@MenkG5-*;=mJ4!z%TY6pMhNmVoxvuJ!wT+d*gdyKQ_FN-K?KcUb ziu3RO6)oJ_4{jmBMTA6H_rZavz^1%y=dVUy0;is+C^FLzGEaSC5mkP7JsWo-wFrku zz4}PM;FGv(Xnu@N(`%ofU5FWvB6Urf#v_G-rWIWl4K1yG#7oTER!;FYR`3@l_-eo& zwA#qs`qs@J*aR{4Otevx&{;jn?cG(&%Pt<(voEOA_YX8NH60$_Fg3kGCRF@$W|w}o zTJnw19zI6KF4Tng!!UtH+x{WM!?TOJuJ-n1KBx66yjvfQwnqp%Nzz9?l*<^&Lo^w& zMMgq=`o3;#SowwL=QB;SQ2aIcB+!6{_KT{(j=OM(>oDE^h&U@Nt71z=LBZ~K)5OZk z)e|D3j11%6q`Ix0F#rL%VCv#R8&dr&szJ3aU<4{ro$B6@U(|B@HE&T|Cn|IXg4sv^}|ev}yfV zjF>sT%pEmpl`vLJcDtmPEmjrr3Rv?f_nI1azwoWCL>KF-`{*LO<0V&%ZIn?XtV|4@ z@6F9K%Z$^FIXKEj3k>#`I))xnrDtbk>Dn3IUTIZhU3m&Tfp}E9aQB-#-bk;rTAv%` zjhv!BM*5t|R)`vT~&%Q(2ty2QS?7}EH(wokEdrvsn$9)5F^Y>mG{9>i2 zXMt#j8>FVC6(SI_Lf}X@9ocJX#f?};pP#$CiTKnz3|WEo%bgx{{L%)A8A}t6VM(zX z8vRMoWWvs4r+qcpCiJG=vv1Z`Tl)x`dXzg-P>>P}6Bq`!%O$&y?Xrf9!8eS3b~AN0 zb0q_PH*tuu<{vKuql3cR7Kw<6Dy-)uHN}?K!cwLwgv|cLmb{z|#H18JrVs!J*JwSq z5+l4*bhjR#axyD3U)7Ln)<1N^B zeqTwM;`7b9hbJa_phlN#P|r9yhb0o8@z*2t8$2RuC$+Q`G&D4HN{k*+|M`}j z)rP@fR#w{5*sDt&PNo6jF)>vMR^A_O2Iv$8v8XRjsJPg;ps{?m15HG#{>D;@%5*Nf zg_}+OPKQV24c-?id1m%AwF!Ics6;-F?P80`0t=I`bT2G2wc59{6W`S~ZER+-q? zEVJ_Sw-ztF6$O2NgGoTSukRi&O*CAL>FFiwHh6Gwb0-rx&VPZ_9ote0J0iU|XL}M{ zI}hhFrH#Qk)hI&x)MDY{QgWDO?&W+u5@KZyBS=p@O&M{P0fx>tRlG}GQZ~9YxmvL&2|h)g9V=J=jIUF+)X)US3^(R{(oTu@l3KH>Gx{LZCS zCg{uX(xiy^VB_PvIJlR89I)ZP(h1ZkoPKH|%pkbXJlik@-I-Q3)S->Ev>5-XO$UGS zTkMl-{{5;a<3RbmSPfeP{A~NEZFZo#M7;^M(T~J*abUPz z;LDajl{{CcB|{*!BjexlR8LAyc33!#TOV4*Cl}Uqo6pF`CN@@8{Yh0ToKq}L7TWsZ zji0+n%kZ$KsHpzw&!jkMta-YEDF)6;qE#$juJgW}5I$~1RB|803N zM|zB!MY@|?@`;u^>gtL)I7lOU&6*;nVc_3B*QFDonK%hDBl zPao42eqL!(SfJ;V>fXqe$8&au{*m|DfQdo5HfTdx*%@WQVGX%Fl?1!GVFwva*ODhVIoqH-^v2LM!dAa3m!B3ETSKwf)(!ux8a3Y@6CN zmBdKs>BYstov5!x524#5K5gI zp^!|)WmVnsr{rX(*6S?Zd21X-M6^6Ue(LTNL-gc{l1siVt=5zr0~6EbQ=&4Dkyfd& zX$jBbva-^$vd38WCnorc3>r%+OBEFqh$w*zg>0M2Cz&n2af+{mUV&Ver^;LkUqB^r zrCY1iVn2~WfTyFq{hcIC&~xPl^`9=(8L(=0)77t;nJJzfdK_(p`h{PdQ1-@IH=6Yv zEG(qcDJCZgd6sksJrnR?VCC`IU#QvG*q{=AC!fO2^FpvRAoB0}*);52w=QQi@Zs){ z=;-gk!O2`s^L4KCe&Jm)g%y^@j#Foyn`8E7<9$=rh8LIUWoF&QsJ*?(V%XI88+$wk z$oA>}P>s9$F~`?Jp#&V+L^Na~8oJy?>RwYz9^LUy za=6q7?bDnkK+DYg^oB=9v?@)~E*3Ex&SU8inSa{ozIoSM@#VEHn_?e}V^UH) znL!{&!20>^-g4I%dPsE3pVr<4fk*;&*z{AyFsb1IcPH}ze+)l=j6_~&_~iAY$7^La z9ZeUm_UA}1=;pa;!TC{_^LU|NLY_u%Tbo~Ct(*8%u^Ao*V^-VK+Km#1|IgQ=6o>RR8@Hld|~IUawIXi3A8y4&J7^RQ*GD z!iC0<*Ut>+gO@{^=g_4j>iIm}e9Fw^eedZ%789=bx$19;BXC^%mE1!YY_tEf zP*)5KzxzUQN*E#~%)ET81>F5W@=mGU0fbEwN?gG)=Qsv^n6!s3HDkNH~oe#OJvZ2hBy_jHyl z-9QAb{9z2U*0}4h@Jfo>Sx2OlEi1Jjr`7PsrgwRELg(HJm!+O#qwH7NIl0OF-i7X6 z+?7!LsY<*2q8#^=WLeZofPDNKp;)ZkI?~%?w&5hT>FMyWDhX38`93u}Bco@>pjw_f zlbW)!euZP)Voq65kU^)aSsBOG<-OW#9y778h7jN1z8JNhf`rV^cvI(+^`@ek^d`z{ z);l2P920TAn0V8rmJQ8YX91FM!`Do>sHpT>yZmE}BnGTmY73q6phCbuVcil}^ zoqvwHv*IgNX*t(&G`|=|WgLJ{C5~ljIBmDKSCZb7_q5BXXg%lL(;op5XyB)=l;1I;bL?WLn^{ZFqnSN!) ztNQNlXR{3+>by9YR6CV`5Gio`(}0 zT>AH2`pf1$r9k@|_PkP{K`G7y?jE;_uM`DyhP@P(v zqX3sYZ+*e-kupztNldiUmtRo|tiT@T7KmpIl$USvaB#kU{rbrwa3u>883U4G&vq6! zHQ<7R3%*A`*TIRa6Ry5Gb4pLRfDB|X>pWdvxxG5OI&dDaCJNLzppK=&X0WKa)gyD7 zex?3ZVW|RH-{*T5U{11|o`MvK$9|^9dNo?Wl?nvw{TAg%o9f#WuKm5E=Z6!hVLjb< zfZ5oZE$BLX5YzROrqzIt?jcyoA2 z<|WTi*Q(gj*~!AhD<@VfLe|^FwYb z!7t796dYFX>Y%pS2W^VefHB~q8oxOoku8v$GB-0*n<7H{v~)3ZBA+5KHapX!rBinu z&!q!HftleF%@_c^J`*T4(9l@*TO=J2-=3_9djn&Nq)&>7h)+nMtAFosT1*WVYi(mA zU#sErAj%{60*EV8bmrWkvBb-+Yy>}@4xC;$lYRhYD*UFPa5M8TcbACeJD{62;KE4|N2di*+ zR@PTs=k-pt3rnb8opVG)1UuFE+^^J*ng=lm#R}W0O0JL=-5MilW#u0yC=!6w#I%{P zV^cRpF6_IJu<~tBmq_HnyvagGD{ZYoHqH{`c{JH0Pd>V_&J`XRSyr0ZZp1b;#Nj5W zzd1_Fo_~`cqQR{`!pX%IEGv_l6^BQ*rmd}zi9`2|YN`ezMHWg-NKQw9Wx=W4M>&H} zHLYW757@pPSHwDx-LzhFU{PR6w&R6|yLqj^%SGAd$OC8M@NY-SG`xv%UB?$x((aDt04m@sVll;O*ta&Jf zt515YZ!l{4g@xy0R_&+jXBs@mJfn048OjY8D*+i*Zev&uJqoVawXj4FQhA0V4MiG$b|%^lJxz$=ktR}l%5w~jF ziydPr{C85wBw-gE>ZJkWDtVpC6d@Nu@a{V9g0^oda<oA`oE5zf!)Bb{F^T zQn_@Ease{IZl+eswCWB9T6PwQp657}-lz6;j%*4gdt6(H1BR!#Un8mZSV30yhUhc! z-c;MJMR3THiHVyarK2<2sX+g_$mNX+e-aXU9^wz7Nyt{`gPX8TH->|-i_P+R-!snFs6YwqMoSc_LzX8r_ zkYT4jRHWww!pj3M=v?!nLK5(1;CkM%vGQ2uHo(l&Q1ovxqNPKq8<3;@#k{JNeGkxW zn1AiWp%~U9tox_v|G@Q6IR6u9{ADla%r7PBZw>$O@XNB||24_{BcD?*xK%Zkam?jk zwua^+S32li_=&^d>NUH|?a)r!q}2fi%l3hkRY~NF+&}RB+7v|IZ_)q51@ir56G=(Y z8!G`gavq(Am08YVs!G6<6j7}CL3hPW_wR#QteMp=6q6}3;^H%@LCDI=Xb@^szY-A< z;p3y>W)T(=$|w}Scwkt0=i2#kRlI^_6T4O_O!IT0img2Ga(Lv?2~VqD`Q_`@ScJQa zumu>7mdr@ET@5e712C%W4G4@^)if)t20}Mi0fznY{4k9@uuxaneewLP&XuJvVRz5- z%fLWz!Q=nZ0t^k+IG?>sK?=e8KB@_P{NUM_tS2G6=6pVo;c3>Fd@S3x4FKi6sWW?AFBodZhDBANt5sXf=Ys)wc-C~s3F$Fq{OWUHh;ZqN zp;B+k1O(gHCn;?Ce(Uk9yQ;5rs!FcX_+8mINAk>-+1lE8_ExqpcJJAUF?W#J3GTT+!Z+=?Wt2uTkJrs ztSqJrw{|C*B677AneP1#!|9Hp(pOneFn7b|cw=xab>X$-VSX_hS`j4E4y-VQXRIiQ z&0K+kL^iNd^akdgnHk4YsQ5zItGl;j8HMhJd@ex8v(PL>GDfE|*nNFB8FXNxyNtJx%V9%f9@Ld6`qoZf}qYTG*oL~5%GZZ6%+2ind z`$1)888cIByo&`RE351ErJ7<92`+|r-%gJ(vS?@8fyPf$fzp0FzoRv@E}Iq*e@d0OPr8+n|L+Tq@SiG^VRfF8S1;%3n?M`-t(}kNkxj18mJU5nQd6;Owt3%XG z&CPbEJo9NUp38sJnH*Ob9vJBCWBlm8r+K*f<+ty7Xv&*ln&yKe?C^9Bzh&z&7A`hB z2`t0X%;{+%3dKZ3Ct%C^QUqkyIK|p)%A~TJA`vY0Uh9fjhHsum(uI+~DXzkmT@nA& z20^fTUB%0dSXx>9{rkrBq_BAip#z+~lBhDQW5ETarhehyIH6D|aadblXXnEH{dLkC z_k<|wm(BdZ;^@P!gO|zkt}SAcl4P+AJBmB0A|j#z<^ZBG9;fGKLNzLC`57T(`b}GB zFE56z5BLo9^a^M}1Tr#Lk0&d4sRB<_K%mYp$y!lU78cn&{Xt3ufP1d(=hP=#?a7o>S4&y~^r^O)W_2(}&DhYzrG4v$y!r@7A9R3&i*C zQX<7YUy;uX2?@5fF|(a6mzC9llru`8`%B`HvuM@ZwSGhIl#w|;=H|k--=56EkU!EW zoD?*ypXrDsDc>AJbk;#PO+<`42VNqWnc(_JFXOY)vjT0hk<0upa$&Fj*plWd`zdo% zuEnkOE=CR3C)fUO*z9Ux&7}y%20F#c6gFc~b?EnR-*Bm4F)>YdPX69sniwB<11539 zp!LS7zaw&s88Az7<&0%n?;sH4%~3A>WMN|BA#R&#K8p{H`-@UIVcY}u!vp!-lU!3~ z-I}pKlKCtT#;so3TUiv_U6oE%QEDnAmzed88a89NtRL9MAQU&oJB;OlRSd~ zr&rJ!aik$U;Bq1A5JKZAqWL9W{0=2+?< zwfqjMy}*Td;1>?8(6kFOIhKHEU)W@3GRm1hiD1END92z z#~XJo&KgLsuYd2@B@Zv$4{OW7iHua~O>xyO|9G5ObKItw*wc9ql_fP^B(}231(GR{ z_k(oI-J{{jb}oqi7qYDRYHGkeX3y)oqkDBy)|0?xJCJ_Xn}i8ce}HGYy;~xzG9OO+ z@e*^cVUdjTQODxGukW0o=Z28YX(|=}K6`5zmBUJRR9{NtW3i@}FTfw6JHyHRoOaXi zNl18rj{uw@Yti4r*(;7b;y+NTcwTCalzz>Jjz8tWWj zVS5+%bG0{(%uNclYusCcL(_d~x<0&lDk_@1Im(JU@LKn}fSut0U*b)14!uDZ%+3~y zc*HA_`^u1}D~22wu*3;}E_&Xk5zZJVoF)g?hdYvX#V~`}->E&)2?%>elCqbR)xNs- z<7I$1AZdG>9RFlv+fJ41*8p>uDSIM3JIh+A*O-+zHrzUzESVu6&wD+(E#Q6rP`}i9 zWO@RBc*neMy-dIUumQFREh8?tch~oyDi8B`2gov{IWk5CDT|uae|mdD6NQ}$gVIWF z^3d8A14oOr_*#0A;t0wf+=Sk^tL@xFnvfM8h00iNV<<>~zliA@IMph3^=M2^YD-IV zowM@L(@W^+*v3T~>Iz#~8^Q6sC~R`Hw>QwK>j2@W&&_kgw18R^=$d117q`tel@kto&hU2Hq@P;<7Ik6s7|CMRsPR>ap=d zPs^)g-8M=BYU4jbWVY!U8D%-Lke76)uLkV1LU2MvVBZR^-tIPwsOo)gTb$7BBNKv- zuPKYyLAMXLCQ$4knjsx8w6&%~=oA*(RfJ($DYzMs$gKY{G)?Ygnb6lVRd#fAbTSvP znL%Fk&RqC~hYhd+Rp=ASnT8V}Gz3sXD1|^ULDT%tgEKG6Fb!Q5F^YI$WA3Bpw6wi# zV~ys0JB1IaR##RWWo1J`LIBG)fDg#tqI4p)Qu8@cksCB16V-8T4W$tBnI8lTDfYFl zt*p{kn^0_Nd6|SImcwmr?PUIuU$|b~$&`EvH@6)r*?9`ZCy{reqSQP^k}*z8E6dnJ zqX)UMDxcpf&1;Q)lwl+<0cy}zAbO31rXH-wCsc{Jxaw8AxmOh?)wymC=7sTb$#!WJ zCK(xPA^Es0Ea_uB`t!_BC}--RyAwC!CQqnMYMZC4imvFizX>=U-&Hd>l(@89h__{l zku9jiLKHUfFw^kSjC8I{ZC9%2>z=e9DLlwn8Mah`wOru*HF)k|d2Y`!Vpp1Cpi~Bz z@9w#%x$^NB@J-4o%xV45pQq142=Uwf*?r|ngx+TY4a4s@nu59>-+OH*o7>`Ln zpzde$2%s&_Pq*(D0lZ~?H%~gpN34suCqy=QaY0y3neI?tQ$~9dY@Gxyp4TaG@}~f= zKi(12PH^GM77qx(0NW%vd6tM0ek zWqMXtoX%NA*CVPI)`K#q(9WI?8b7QXshG%wy!3oIEX&zxCGh^`Yi2`2OIip-Jj0Cc z%34h*iz_iNUXh+U6Cg4Gi+d*pQ=}oqrAJ5i2fEgw!NHtwWh>fM+|r7D1hho}^0J>r zT8~v$6n|L@dHp%pZRkJ(>6s~PdFvQBzsy}g)>dzfg(Q6B3@v>84H`&-F?ECj;X*m!?W`N&n`lHiPu zg~jkHfCwOgxEM3pHS?-<_8}|}DFsQnJT$waC2=u;q=OqMub@}E+cFUl6*V1uDe2H zLLTjax_*jV8xgS(%hvqv4!Taxlo4OzY7O$?ctyQHTe`5Bg17=9SnOoZME-8>ie_7Y6o#r($RiHUoxJ- zJi`=!e~FwN%X=7yhHuuGh#^{9K?Eu)O%6^z+|7o;0Rgq;<%b}401Ag3M&dv3<@H=v z3qw7RZE}to_4u?%#jvW%o8IZZ#rhE$`N-ZziJ2vd?p*b})|yDMOO?1~bsw8L%GO)h z^ZZY4lx)$Q^Ujpd-i{C^z!=Z?J3BjP`zTK~M!eg48rYl$rO-U-*4(?a$kN zeg!Yc_Q4|~tE~|!P$r3L@9Wc0$sZ7si+VzYLNPYzXb?fPo6D|)I;5qgi4^={L+bn< z7(jvs+|{J~HW7nU4oym5(Oy;&oH z{?eM;r;Z5N!RbWL&D>h8RRYg;X=!q`&z!oJ`$UmJ1dCp+Xw=0SMtiB|gOxs|Atl-C z_)`11lD)4tOj$rbj&wi)N`n0KE;26!6cO|`iO=c_Z%FGvd?I2>WvYivLTzKl~nV`aQ((=H^^+y*AI3^%a zshU>kpP87*qJ=2O0s5=TcE;LL z2zGr*ihhO;6a#ul$4LIerII=;q2(SObuh(3ZhNO{Z{PRS2|2F~Z)pwD>U{6(>ZpUx zOw7!L5ICM6nlg4_U!2%R{V|8n^SumIDSmsTWAL`%!q)HF0i zHl^u~t~4~J8^qyzQ-VKM@EFgKa_?;&(khYf4P1$4_Qli+^Hcm3Q``lUZTom)}c!KVSz0FB~q3G7C_>1SGtzcEZ*;O)u5&=L-q8VpxcBRbCgh zddsf0k&L>x&#@j{^nJSu{$g=9~MXPT#GnsrV&g|ATursRH# zSC@BlFxdu5LWm1!{l3DxxPGJYT17lMa@_o^1P$ z1LIf-n&OzJ$u+%?>96k4+y+!|Geuq!UcHG~rZU2?Z$wEnX|ZdX1AHe(?ld0cZ4C9E zR3(lQ=&qku_D^G2=c>KVB#CVOtBjalGBJ6rneo^-hy zBMXZ|tQK?{$8>e+k=SA96)j1U!r17*3%{imwVNv9KV8bT&f`Az?XT-hJma=>%NabATKT^hD{ChuevN%_9^=7>!d*Rt6%SyT&(8o-2HW4 zJb~L*MZ43qY~tX+QOMIdMDdik2Xk2iS&-PrPiF|)6#yUR->+2OM>YO7V@n*vRL)c&ri=& zguJ~bg1G=12G|wA4+56!=m7SJgv96IbY9Jx=VQ(E2xCl;z5@#bEv;Sq2NVgbx4Z6a zNDLBoeaBpZ%AnT9MO5_nBo`xag++7KdRMsDSPnhh)URl1)up8BH2QW7A|rqnjnNZW zoAUCFBE7Pvi8KAh*3e4Z8Mj5alcNj{b!MhtMqy#A5u4AyKw>Y<&f`%LQP*l+tv(}4 zQB<_Ba4~`@HtRsxN5Sjw!Jj50IiPs(Z?VYzIJ%W1D%$69vIAQmt}NEJ`LMIzW7vbUYv`?1r1vX=w5^SKc`CdIe}bdDe4gBurN;TW6-C? zv7Iy5`PZ=~dK3~OE2FzJBkXiA?jNG@B10I|Ae@KlXg}q8xaT9>(i+jXs#sc%hlN`U z_P#jDDxk#xxqiOu>jlRd4%Ee*xvJi=j8)cMHa*DZU49Wt4Uqc-nWN&_p z`bo5GvJCQZzeZUc5jwuB)!j!=Vp$E29{!M&aS&km>RvZISK!kq+(MHG(5ZvGdT0Kg zd~qF8VpJgUbsA2r?We|jK)Zh`FhVO&=f_Lbp?>U?$-?wK%LZLU23>6vV5gsx^#K^5 zqJrZx^p-|Kf`WosT-=v6D5&V}m)z}n4JDxJIXPl7fUO^l%y=@4>zpFOyC*O{QGEf` z0@n%^azohE08-?kNC$(fbxRByQ&wrWe2JF^N&H@A-MiuD?_*?Rw>(1bHnY?%j z^LhWT+s3#*1@Jt+B#0Bg0lYZ)nI6Eingf<;TbZ$`88ukQOlB3o{f>39aUFCJIjYV{ z`@KCy!jQ*j*pyx4w2e)zR~u_PUaYIGF3EH!`!!>d^YqO|R9l@ZQc^O&Xr1u3i&rUs zveq+o;rd7X{2?^9Ad9L=eoUQdOAgT!+Mau|>;p`^)kG;DHGtBZyYmaGYbiM0-j3NN z;Zr(q&3L*2pr*R^w&)8Do6aFY|25#-K}s)MXLVA$w6a7f=IC^QMeTl8GYoM6Y?hiJ zQB-6?OhSSz0PedOmp_IC2e&-_^bI$X;9y6OHzA2W`nDkFR>Y8I$$#bpXQ4XC-MCr< zn8-5)OAMe{ib(G5{ZJ+mHjDKBJqoS#Z_zBnw_RRd?oDajSU>vmJ9T%WVWRD1BuSvq zkD#k#5ifyjqS|4s%3(xpwL96&Xpo(cp6k_8frULN7}%Yi$K&G5Pb-`jI*eEstB z?goK?Z^3g`KrFmBFXI4Ve**W&T&Zd3RHQixi+*0MnF5rB`dt7`GBfAxL+>HNr#X`@ zMIc4$9{dSOziIt4%}q)MRq9(^cT|`WmQ~@?PsvCh8@f_?_itRKe=fa1zihgdBxLHQyO{@d2N}_Ig$68*=dEz(ediq z+S;~NadBD)2c>efC_1r){Zkn1^D@b`M1v;@n{jK?$^4JwAzPrUgBkrtW$JWwW$9rG zpOimFJ$Sr_zVhPaWA_L1T_#IJove}i62tc+)S?tc|x@s zVe1iDPI(3NjC8VC^vjMucF%A3$f@{Mh-GbX@WCZIK8QX55uzX`SL=4YabWsDlLGMzHtzhgqTXO~vV-B2qtDG&Z`jxE(+HjS@U zTUmE9wks=NO~1YEVlOcLzgcXjmJxCSvDPqhfSMn)$c}ncdycp;{T~Y6u0rzGeFz>t zEc*I2`|6?+`ICf!*5JfW@16Zk%lt<#uPZ7c=pyROB&pRP8LI!JKGg*Rg58TajmX zI>%UYV-?`X;O3#e283o&QI3|D{69E&IHqp^RMf&JVK)-1Ss^5^e1by0bRM*|I`+GCFT;#op z4bQa~oR1{WtU5bo_-eQsjFJ@)8r9pN=GPA(c{Jyj>##kzdiuVq?F0`mK|L_Q=fAW7D*iw-A41am0Q>Nk zktjsDSOuLgJB6t;>*xyloP$n4#UfBV)p#s>dC9q*)_tg>A2t0VC-)VUI#3*)c4n15 zSnd0#=IlTEjH;^=y{)o_JQcC~hG=^^?;c7nFnI=tSQO7~lWPEa0-M^I-y79hk@gz~ zgseF`yFM;>Tj=N88N` zvd=g?UWH0d)tVa1SZ$CnyB{m50P_zVIUP{% zcTmHcB8>FDvKsueuj(&QRRr`uHqEso2EyLurHN08$^Lo`1@W6$S#{rbVD;|o`MR?Q zIQ3t?h=b_#v6#p4+Gv$xQG0e+iZI>r?id0Hn*GATe?@;&1Ip<47k;$M*Fo2f0iV-U z^a6pc8I3T_qZEOPIChu#JJbQG8Ycc)mB;d62_cibw(HVI84~8p<1W+Yz=v0td?iU* zJodXJs@MPt-*BcDY5bL~R!7RQnv;{GvMeYZ2GQnsKGpO!qxJXq436us_57u; z5J28RZsRn|@(u%|&iJYrl99}7!H?$U9u zzl36n2h?m9XjOPE=ekTgHny(-p5MX20Z5>_oY_--4D=`{L>e`g1H&U@Aj-Dm#74+3t^{iT+iIyFeaRW%}UdMt}crUpaa02?ZCo%Re*glcAJCwIEf0B-V|2 z$jZP1TevRwvX{q;e-qc;f3q9Jz`$^P0GkKji~#250EJ2*B~w{WOS6xYGlTfjMoFNf zDNzS0fRbBSnXL}@E1FhXnpWh)2f2oXK>QkrPo?<&^v@~^fCpe$tZK=LKfTru)CS@~ z(#Xwe!w*30rluyv6k*K!UgSWQDCE)2#=$r=Jj~0*)iXR?efgSFQK%uMQB?y10WMlq zbvQjsx#F{_NpVm2B>7X$vr9fUe%eYe|B#r(gM))=T~PjLeb1NHkHB~_n$;U13?WXA zj$(85TwH7``)=v-s%o1wG_7#2P?Y=rVNXJ_ybhE=?0XV#R!)w?PIpkT>pb`r11>EW zmtJ)s0wgK7qTUdg&(%f?Igh=0F=KT-JCMa4FJ1txdtjhc{#-FolJD&efM-bIcP|I3 z9W`ri08-7qlpGUBxeImR4nvuPkc$Wm{LtJowlkc$_e^>Q+XPOTmoa1EA8gN?Wsuw{D z+bAb*%Un=CTn=i2*q8rLidi+cMlwq9l@xCEsoOJQM%gc zHMn0zB+4*+#r7I!=NWAZ({(ol z)JuCm2muaoi*!8$61;dG4lg2tcg!DRq8))8Mr(Nvgo*YW$dK{9A;+D@ zX#YtN{{~{;pJQdaJYU{)Xd4108YdgZvl(Nbgs(6(Mj2?h)WpS;T8yIUsf4WFH3~QM zV1{WnI&5~uAe$VK?XO9ClLQ@y2U z#6R3(rJ>Qg<{w!4`SU?cA~2}xNa+tB_K;VBw}s5GZHD>e151eQ<>fsfF3aFvkdlxf z6qA!j`keKb`akmh{WU1)rQgqwGJaHMPo6C0U`k7O_=SUSYB||5o-O+yyuEc)R^8h* zx)G(3kdW?>l$MrKNok~|8alJ1s9>F)0C?mmm>Iq|;Z{N6vlZ=7-d+vARX zuY2#c*SfBG%{i}7rw*nDVDzG))2otLUD`t*vdJI2n6fr<@IuY+CJ13>lO) zWs-SZR@N<+)=Bc7DB(e=>yHwm(SMCGMprj`{@WS*CqLLRP zJfWK;iVdo@U!0zstf|}Ho(`-mGIJ;{G^3$~BTu*O=!Fzs^B?#h5nOONCYaWuBJcp`w#*a$61a3Z%#I`D1J>%R-yYO=gie* zWsx5;p96KCGw4w7Ar6_(^n#s96@){)BXIpJ(Zfw2dUku41$O* zAcfFAG4zUW#T%iX$X&@%q+5A`*%^s+S9S2>Rslc?1F(Le;B_&)md_&r0x&)r`dBY7q3R+{PRmc_ROWT(rnS)_m1nVX6yzyQ43)@n zQjLata9mt5VLBqv;>AKV&fzmyI8+Z3+@`NB_;gY65eY6E{SAwY$pZ7Jkf%f@Q!GiI zay}Xf|8oe${Y*^#HX=qvS1T7lu53144<@s#>vG~0TRaEq7Y7@n!KUI5ir1MJJu$_B zqRWGWTN6bKqpl{0HJ3i3aZ>9C2RB_MnXH%rihOMg3o6tRZ8Vh8?sOQ!IVdl)D12mn zXKURYIu~K)QR|`42lpZ}GIl>-=(_LE+-z48&?^^RnRSe}{@xV1xp>1n!I=N7Mnk~0 zHFmuZc4c0SQR~gYW!Fgjsb0rNI;_Czq41d&&ZIX^@6_)H>2H}sY|!dG}{O5y#AZU(4#a_EiE2KFAE z&$%>syO`qm)Q7k?9;9f#d-pCgdez!Vy=wn*Z-RHxuZ6mt`G;xfFK;^33l3uuA5uF!>b?_kAhn}5a{*WB?X5_F66%@k4hGBnQx!I zp1ndgK>e60&+mBoCRJRo?;RJu#dL+~OjYH1Npkl4w-N1V!~*R`;p9GaL90vqDhd`g zwdF6C>1xBj6taIuzy7NKwanB7VIi4lhV#zhq<@QT18N=~UhZxyr&liIcDUEI2$jTD zP>2Xy5?Sw$qrwdI^9^>tW+=;2ySKPnP7{ISI5c4hm*}Arp^h->i#4^hta@nH>8lEE z8#_6DiNPA#(KAzGLhrYQkk*|Zn-Jsl-qj#3Zsg>o`&Kgx4VB!-oiP3HPlqq*)_t*@ z+}n1xwzeqH@7gzLB%F>b>m|3hKZBG`14YRZ(LC}L>1yrvbj^DW%cuJLWm4YvMlCNd z-zpRnro}po082u{JGw(lNigre8Z2VK4&pP|o zc6q;iU|=%Hc^?>K&RmLP2DmZM)W>T*Lv^cHDZCw< zot2`F0D0*{jeW}s4Mrt@P9Q#~?V!(*USiVD@$dR}uR<`Bq7u}~9Ph!idf)KHNqO@& zumW6`ItOIav9cP&7DCiGsq@996;KXeva|J(9dmuq;fch_-T6LLSinFdL+G@A+6HWa zPBsQyugJHzD-+s~!@5=()yG>~TP+tFvzPUNo;r@lt{_ImElSPlX8mr?gJe+Cz1eeK zSvguqr!IjDZF4yDF2%$072Qw8`ns~%m*o=$s{1<|dd9|sO%Kc<${(|OL3Zb(!*ku; zsb7|mA7toZ3urq6WEikuNOrP4%*T6dg12apF@@dS#L$*4Icf95dZ7ytlum@TtVPnM z%I7Yxycii~rQ`6E%kV=K^QCwv71o1o&Y3@Z4DO4J%n#_ZfdL-+qPFD~()M(rO;EHn zP@jKUY2O1eL%b;tnNOHRrZWjHn&TNPnWBjM_t!*$V%uv)b{L0Z5a}W^%v)MaD<@oX3u^v62rZuNaQ*gX7DfQ4 z7Pyi7YkTSO%kt%w=!LUw<6F{*u9|v2Xz`0M(w%R`~6DrGEIr$+p&fTG$%{Xg%ADx_ZI#~_Ct@?aoUT;Aauu3L z{V|diLcq4(GIEK-s0IVoIamQf-_2N0Xy|EqS(!$u?vUUEp;pBg-=w6oWwErUQE$F3 zCsN1cqmI<@NlO)bdwUZF8Eh^s71h0*iCtTm#D!XY4Ftpq9*2Uk802fU+FTgRcfP zyyx*)5pEkS!qvlKAWqvHTjq(OGvouj>mGja1xV0u9(2t7sG^_M8uOh`%?;*8tTLj z%(Hv^O){Ux=NbuGX4W>`lF?Os>a@og~1_am7Y0@AnAVCOvC8B?sIm@I8Co12;G z>FYm*$ir!YsGp1_pk-y;G8NmUzXVS%GXj zC2J^Wfhy&1C=E+UNVKwyNz50Fj^GP58$#i}? z1&-eXnic-;^>viT&Bac>6JwOb!E6HwE{V4HUQ9mD#=RYbX8mWdYd_u?*}dl1L}We! z@uV~ozpx6mX*(S$I~^4(+;wVv&3yBNY=Bcl?!?a^h1^jPq!lssb4*tH`Z|@KD~%ZS zI~^W=MXk~hj8^wJdJ#v8ft2HfAo1?o~u6 z4C}%0F!i1i^VPON>*%W&6?PpVL}v`Qjq7%GRfSe_zY~*>@B0h$iFhjVPt66Dylwmk z)^o%Ox$G77TfM=lC2?io;n;_8WCA@#Y83n%TWCZ=s4)Mc1mc=g z&)nRAtVzJ4RWAJ0`1LNHt2iZ-vT?4;jw0d@ZRG_p-fIkYO-w|$*}fz*+Ng!l@s2)k zhIs)U-11r$5r2JgfiCoxJls$!;dcG3+<}F8qWI1`b-NAzgO4nSPV5hKVG@&btNg?q{bs-t;dA2M4peBt%M*VwrN%Ge}0Xhe%0F zQ_CdJ*IF29Y0U$5EBh9>aQrUUlPfe!g){caL_8@b&Aq+dRSvch5(WUU1P3#vHq})a zm1=J5y;mvD=Yv_NyF+_G$Qf^cKaB@+Wt<0U#___1+kyQ(yB!`SgZ>8XmbI!tH~wpXB8x%S@Pf;;3rPu?qvJf4(i4C5VYA1`e-QU*qc&uR z%Q7G^@P{)|!$b2Dr-jG=!u>M>uDd(e$~JIL`{h-WN;RNGtu?z41apUOs4^{W zDR?U)TPg_~?~0t4#;7laKq@$-p`k&awMHUSo-PVASCJ_uMya>C`E&QLqkQFJz+$|; z`F&Yp!JDD=-XpWz5B>V*>GC}d2sU2;s`({{_41_HRxC^#nk3fv5LSTbHvTC0Wj3*Z zz`S8r7FJ-9>ec(3u|&d~>L9QbMsTx@l0A=f56+G&SNZcW zQH$QeWcoY^cYJ6xd5(8>RwJ58o5gKCk<1&8N#pfK4+>QY5PsJa5Tmg+>wG7vWTOd zuRe`jmrb?Sz(z2JF=1zA?->Nb?_K=SQc)PzI6|B%`{7?h29@aOlg1PMsM9SVyy%JU zGblx|*fWo2Oi*u1e$VmVcp!RjJL2Ug=@U;z{s{Q%!@SwiXsxaR>Lzz?j_vlG>b8-F zLgW-__dE0BomjkL_q-JCKA0FYr;gJgveH$gI|GJ}tEGcmbF<@c_C3v~D(@Q^n>5xe zHp5waLy@6~1S96HuzRZ7x0%!8osz#^8x`x$RDYhSrp3sJQTx<0KhFfFk3v>|t<6TV zB0!dn^Dz(u#6h6CdVC)d)_Pmg(#COKrr~Lw4p&WKbnyP8ITpm@^kj*zIDfaG#Fi+6--&Vxi}KT6i*mutb7GL zejJaM4ea1%i!2g+d_+qxBeX>i7CLaTv7?*~LDCf^F{a7DO{J8p2=|nIJj=DF*b-e> z`-R_Dlt}gq7?}I^EOY4a!p!)`R@AP#~zg6L39e0Rx+F;eji$kei2H_qd z?iFuq=Q8M+1`V)ZIe9VFy;q8i0x|_`Br*SU3kwT#fMd9f7vxSe*bx{P^*8e`Ud1>pcw0`Ts@#bP+YyJ;e@olzO+$oir?LTI7vj&Zh}68A+h z=h}V)Jgk4P@krj9x61C|#}rj6eFhsTOqMuz|c6Z3t<;l^|b*jN%c^h`xB@9fM}USW|ax9!eW z($MqX^cR{DjNhkaO#W@_0Rd>WSx2-aZa;!=y4ww!l6@Eg8NcZ9my7(|Dvh}*#II}2 z=(pnpd^YRNk+~j zP!(lE8U59K9L6W@A1}YaEAfB4@C`Eb^N~uI?KJ8q1Y~Kt81;2lZ0ZQ7-AUp`PeF41 zpFgryM5Tka?FQMXQry41z0EZ)KVdN>$$OF4)mP@?h!e|--SzBL@L-x>!T`q8H%(V) zCYZDTNmRV;S;Nt^i#_>N2eZ^n9Rf~O&*tsNy8&Jvw$r=Djp&C)4#wm+lQB1v6wiZ- zdNGH`XDfp~a19T+D7+u?+wZc?ixXeP5FR1qjb?b2 z(s-4&mqb~W<%ufUSg)t1@Lo;==FT0nuG~dvqT!5VC2^RqF2x}kCe1Zjr{egBn|xzY zj}J=Tc310W|HJ6UcSI=1O7+xX!6&+|o}jr(ZY)%3(%J=%QfjQLV%%_XX> zD^KPOBwc01@14DvMu;*dqW|wai0oaQDMC@Y85}}F$qO;t&y!Hy~*s6(1N?ZmJF|Jde zwc`is)h`aF(4H<>C{w;|<>>gtj`7T}T(!U7PM?)q2%S|mZlT8rIe?HX%_*Gm_N9?I znv8tD&ZT&@6ii`w(x>vQZ^FtCb6jN9{!^9?u-^*Q@FJ@+RgQB;im(MpQV@e2a@kzlp`T@@qRQ92gd$43bO0o3wEc(t6C*FZtbfl{miVWYGc@zyWxEM z1v}*^BGLy3HNDDp^{9wzf9*+BxEPINmdw=OEavbQhw+qQYz%r{?%(VjQ5h7W+i^zW ze4r&{DXq|R79!)=4G3WoG119c49tbXsL~CP5ur{@4DBy+Y;-eV;UN$f5R$QtQeby! zqV4R?_pzoSnm@6xptgR-c>krp_wQs(C^*R zlfdCpx_*`;r_f`(;tlMqBi1%2q$(?>KRUdJTTseMj?|Mi@&d=%x_67%Mi;AH7O(Fo7a z>p8g@h0}saGAorh14W95neqS~EEMZw>WOA`iO41Gz)Mk3H$lHC$NbPK8Kf-pcY)WV zjIm`!F~fIa=QToc67B1xCW7fVX~I5Fgcy-ED#DC(^| zRe(%R-gpqBWOC%i5ent{kefwo{3!~IbQXh?Mepoep^TgtCqYU}LwlcCA;+-4rVrH< z8=8kmxmi+FkQCnm3Zz&z{XJ_HXW2vCr;)xzxO?^znaszwC3Z1r<@lJPp!XG4*?AZ4 z*wV%ZMfe9`$4IBnqVS>Ipli}Lb8+Mox5!&?Y>ZV&eadb~D;*bDpsSJ^MMoMTp$%WG z=OKpS&_5FSq1YPqO3^ee~)ZyV2cXmT?Vi)?W8lOMQ{~NqQl@IZt}m; zRM}yp5@$5wJStLAuf+SahE-JI;<1d_Oho;PXd;XdP4s0aIHF7ix-Mq|MlMgux#!11 z9^o!%c599Pdw>&7R41^f?fg8rGg^AEAo#mmT2)e0_wK)nB@o zQF2kG%%}hOE-bH(-_2phe8E?)Hci%$CQTObR7!ZPuiR5uerHp2g~)$Nm)gRd84gm& z5_ag++V`Z-ADu_zt0o+ytPW3#6;`gc$2mRg=e_)k`8fM=y2RPk4OkGP5^D5a7yTPl zDUpr?Cf0+dGiOQ-*aMx--xm3LEz1|={%~KD7#^Yx0wbM5$@EQgwM^)RWoF3ZLw*F) z+>8!QuW@N2y4-Ip`dY;^(9Wi#Vk52hcQY}_yt|8)@x9*0#>ZH`1TROE!J@N}m_5jVN+gNa<>*p>>Vi6Y7rC0@X;~#csOF3$w4(a6YC=vUwrle3_mC8-WpqNwtbX z$zS>nK+e(eB3+NW*Mq#!u=4uQX(g2Rd_-M81&sTxLSrX83inpt%Dr4jNe5@pboK%v zQHFekj93DZyXx`O;v?vIt+V78ya_L_EAsBtEq~oF7`!OE_g9ShA4C#ii|7%5d^{fJ zeMANxC(|#7Lmc^2SVVzM)fthukMHH7*T)0U1ssOW|9OPQ9*-NmAG62DV`unB5bp8# z^!Xza`FQ-FPyC31J-+?n;PWGj1CIYUPpI-EDryaAyWHvF23~EEK176!Y#(0dwW>^vewr(UGrk6q2ZJ z_*>E^P}LgR<`SGu>WM7R=IviA6UIlgZzrEcofvs3wdDK46pwvu ztkG~88qxH0f3%cDfxBWwx)J>=M;CxEb@unaqr}p_yy$L|oT&7EIB2RPqksbf>-5&# z*KBNiGucK#I4}%=P0VHlRLv|brO@K?GP~Y&D-g13Yp1XoF*&+SOrIUH!z2PWj7c>6Eu z%-n+_2T*en^4hmFI~f*2;ILUV)|{`^phJTK6j*A31=%ad=+>m&s&_km6{Sn3syVFV5$9OFKmy@(_ekV{%p`j)TXUb8At^0sCHt_#7$u);`{0$~>gCCdPRQ$Ct6J`9 zZH9e#g@u%9m#~h5vkvT*Rf^_EpLRflyuWWexGeqs1z{nk7>D)VCQu6>Jr~Og`#~r` zgvt70#EbI|l$3y#F_JGi7ncz+^FV9sXnVT^Z~gDzPhqs1*S-M8*OegjHo%jK&M!?;IH4eas zsiV5UL&DEb3O^(Z@l#J;RCqXt!+u#Zzqd2IgG&AqaB2X~!V`+6WmO0WhZBD5lt`~w z1h(|xDTkBl(5}%Co+Fr3M!c%%0vAQE!|!E6$;v#9p^-t)DytzL#Zw3~;3*Uxy-tZ~ za#LkDZTs!r%kmHyRyu282}hi(GNj6X7SBe+msu0RK&%jjWNu!7iTP7fUoLkvQ*wh* zv-WuI#u57R_3QRX_4}hIx?eFuWSHf8Mp`U72UEbvD6j%yNZ)?S!Pz&8p0#2YA8JZtDnYGo#}C9bHj}mF%!1zC&W&PWk!)2})hD350jO9j)@D)N)6=F8_j~YY`{_g7 z2e^+<)n>n(wx?=A;h$lU4 z`{LKy=z$9Wkc^jozL(0S zRQqlcFW2y9>li)P$HX`J;uCT^QzN){H+K~#BXraeucEq>`2ya!od2ZWxx4X+q8~>k zn)jHl_^KOz3B;T5Xi2mzyr80SxCnk_!$hIV>cM4u^r*q*;=@2EpY`Q0BmRrP#7w)L zs^@sa9-vDHI}ZgH%|-j!47OlP8{*Tyqob!!8s9R-s1!bX+(*gW-u)NY0?-Eb5{%Kw zepQ#f$y}iS20q~S;>*xKi}nAH(E@!(GULn`4a=a=Q%K#J8trrmR5)yps+e3kug=Q5 ziuDZZuXEkqa}A;$q?%r0N>aP6rMWHl4qou{oxn8D)E=&l=E(QBsv8kM-q)P?NAwI% zX{=xMvtcUai6bLy#3n9gdNqxc{POl58Lbd&h#OA2>I#6HFM4#Mm8e-l?|C}jX5LeN zHGgYqywl4p(Ab?b9rsVHaQ#ls%mrGAy(P~(UwDEjc9O0^jnWoFq|8C+sB`6%j;N5P z?2&w%nbYH_sWH~i_s>4Zg`}6%-9?`+fxT*u0RyQD$FKXo<2CvdtgK3n;wvl`_<;?{ zMK|JADu*4G#b&Zpc3zy%_R^)XbeH>kzH*41 zx5^x#IS~BU@I+Vo@P_?H&G1ANNZIdrNZOjW?gS(@kx#CzxQLRC@SilFr~G8~VHZ?q zNy?iiG2x~r<$5m~EU=QU7*!K(U>h+TAZ-JPY|7cl#{3r(BfmbH$Fuc@>WQl4jtzFu zqd{e26)9*gn*xj(39I;Qk!U|vN7M~f@#yp=EDHzC#%wIMWQm55k&-)19zfA0jT-7=|&aUod)uAQHDv7?`pbe9?O>ughjcEsH z0Jn~2q_p<&Sr@Ac%Mz!g-R^7nNt0;fp4hF6nP*A-O#T@j^!LAG8ktY)z*rjk!6MV! z@IfZ)=NR-^RDqZn-Giy!d_A-FsaOLKt(|gyK~(h~OlnaayU1Gt+tDP255dN*Q?v9n zcb3e)fls05=3AZ_#M%D!C#A1;otjUUF1g&Re8chl4El5j*z)-Y3Lw(XjL!f{vbg^7 zWrt{KoSrv(O_FwJe@5xHqN0fYuoBx}t0;krlKq8To_JbJlFW0b2U1@#>OakX^@}1T z{cq6*Zm%rZ+EZ+tl1(PtRR=TXI{@R%*4N)xzZnA!njB?w(y0r+QrX#jbMjBTy+8%x z+`^vu>v&w7qBkZlqUbQ+OQBkCoFE0fAztYvC`YPlr~h?tKO%IZ_Tr1f1q1qrR|zCj z#`5EH)x0dL4b)PhAK1Y3N|zheQueJO|NHmtzA=MjcQ$NuISNH3{&7&w#}U*hI(aW2 z-My}VoT_T}CTDEgYR2~X z{ZwEyl;FITny(K5vTP^F=EyXgiKOk^A(=GQvU1Ta=YL~z|4=T$|Ns0OGd~Gb*idJb zlZ}Gs5~Z9!7o-iXob(eI89a2_R}_^4uz0I_rxf!v$zUOryg*@PdL>HrXjh>+6dPD4 z#VQ?B80kDxg5gMmN~yf9wl%$h-yQu|9d<_Vf=; zSZaEOI%Wk2t{W889BYU6vz6mprV7jGCbQ&GSG#@ogz@5p3gcdT$m|pl9JSAn`@*_9 z(r6`^VcLlLWRw=n*6y!k7R3g#{F7(7zkLafp;+zw729JY3^Aa@M97TPU=ezSgVVI~ zTBG+@$X*-txm$7b`BZUx+$Vyr$7dt`l{n=Wt{8w8aHul){ghD}qBW%#xdN~~Tt%SY z{i~}}96M30pVPy#GI`B7Tcw1C>PB9b;e^oc{qoaH0mJ@~@%WLkfo_yvW+&*hVsyvdWsWzi2C zC1sM+Iqfy#SHX;-=B^gV^l$15Kbns_e01Vmvx^SnJdQMzahmz1;cSGzNn3l|qwX6R z8QXEW7McI+IHrOT1)IL^mvqyoYT%>NsaMcoRbBetx`~1q^VyYgWDS551_lDaL;g_H zR_GJDqod0$#Rl6prajM!a8^otlC(4)wfFB9&-?a&*zK@2vHigG*do(7ecbi_m(ttW zFp!fIg|nG1j>H<;p{5a8|c(eTE}j?4=(VBD!Bu zvIa;MHM9L0h6yj6tIYL5Qz{whX z4>A-$-3y|nq!UW}$?^`|DMeID2xuW?bFeU#nsNU;JPay6eN5#~VG{b3>6DOi6W=jz zh&O8N0FaX-Ew2sbodJyywV5S!Cvc(bIWa@ESz zY2Op3AzKO$8R|=bXHe&i>C#s$|MR@)8^F^-@FZwnY!wLv+}kh5zodSNp65`mrS`Jh zEYsm}OLDVm%=DBZ8Qc)BNL3Wy=^@TYmFm9r}^fBSfOzk5!|&dS14BRURx62d>n zzv}4>7&CdWX=2hI{9UT8T4Q2@cXSkxXKE!;?Q*eBCAn^j_HbpC4{ALeGYmoH<-oRp z2KuC`3itF8pfL-d0a=?A3*jk5ijK6#Dkc~HD;{+nS5C=vQIgg+4<9-XqHVL0M!`}t zQ`UUZkTE@+{jr!jga8H#5PpK4GiC~XI@xF+9j$-@+Q^yRjJ!#^t`9zd z|Jq~qrDf&VvF#C3f}9WFPbLnhq5(MBgqSw zbi}!Sr(Jgex>}l)0V0FT&bS*1NwIVCK11}-l}B+huY;WWQPab|U+~Kcy7f>~mBzUy0V#0)hTs47^^*Pm>UnOQ`0YUr`XVT#)cQjs^o=p7(;kN9<{ovq)hdP36DKW)Q zh8oD}>R8K1qcav7`JFF)(!#w`QVzajh=dXfU=Z9iW;u&G1D>YD$`?mICV;@r)-U5K zy4E*DGbMnQr1MmgB=|31*IsP?{royGkP-{&s#+Vjm4+Jh$OuT4&z2@=`uwMtN>W+L z34(*`9m|iIuXnQQi)VZ)lqBG`{5?!4-je{rVScWZKX!t9+rIP#ppjo}D?FaXzji}~ zcIO+M0Ff&^oH>Zg@w_*)+=vP0ZI5yv@YYq~GXoQln0P;}JO&5r(B)#k@jBEXf_eZ4 zNsuA-el14G4}0~h0;f}2jTcI=Z$%wJ$|;S{X^xJ4mgVSeS=5h4?B{QB zqn@kSAItJ}cM>CC#cEWa6=*N}SYlr0vax zP8B8vJ~w=D`R>#RU*|oqRMQL_5VX0j&uq)#v{2Wo|MCpN=Q!UPY%Ij+c}>NAcH0zl z?05wYUTiD^S8`+<8(v;@=#BHPJ}`EG-tbHVldZYYUP>;1m-StzddlL550vu29qAdJoFGHZGj)xX zm1q4#EE1?;vbRh*zg^=kAWBs3BMKpdmO+`7MeuU>7D+jV^UC0~2N z=4@LUfN6A5+tO0Ipe;fEEQYrbpn@J1Yu*6jHNbFM18knTy3cSjRz3sPUKk`PPazYN zI1NiJA{uxLoH$_~>r2}YourVbE-q}5M#I&n+|xKIYa2V@RcF4qmfI&GC4~`${LEDc zcp?d>(bA%qgnX*qK!&QV1Sjhb5Fq{klgW;!+2Cxm-YbTTb6=Dp_2c`dN2|z5?cIWw zgdMj_0vykG!pSmiEAH$HMkp_-WnfGeQN_U%Q494?XE1AFc8L)~lZ42Z86kgD&B^#3jCy&E))n(^=PCB8g zAvEX!D1{+FaKvarX>dB}@5VMu5feCADE`PO1EUm{>Fb*tCw{~{7`QW8IydhIf3e4_ zxSb$L@x9_S_-v=DXrTl+iS^|RH9WeoH8}HAaf7BPc0j;ETNzzidc@p>;&yaA7Km*| z%cSsqgbs*hJo(1 zU}NYXnlD`Do>l)p!I%8@~AS#Vbl^bDWtpo=NP+}o) zsey4QH!KBgjYiQOvesX3|4`&MG1>Nnp0%Uje8k>=N-8UtPC&QOs-a@NKo#c7=;C4r zWy5ptn@|{1D(*_slwubjVL;h>DOLNAw(1>uI71j8;z_PwL5M&BZj_9eZsGvj;J{iLdGUzlce?us9 z#A+H9s5s3<5TBsf`RikuwKewns+-3p&)rSZxhQ#lvZ8BwnBH$yxI9tg8dLK#g<) zj@5jt^_$sa$(VPvRBX8^1z5f4gXXHN_+o{sC6>Li@vPXYPw?MM<%}*GGX!-RL>p5o zygezszl7sXkT?mgOkv{(C*rJ10T^1p9TOQ35@w%sdDm&nQAVY5M z_g$UMugO^C(qxAPZdTMy895UQYaR-}1xtqrJrncAgbt5P1_2KR1#%>~5ny3)+A4E0dzg)niP-?e z#dNVnK^HVLUI_^qkl~D-Y!rjr5Eqxb-!?0syE}cBu+kp-39O((FoK}66cBI(exBZ4 zhL|6PWKeLjefpiv2XsXq@6Y(JyY$O4GDJGR|G_p9?Qo^fSFiq&ufhyGK?(Vt)v)tm z-!jBpDcsfHbTQ<9Gq<1|z{JGZdKdR(`seel{DWzQu5Iij1(NKtWhWpT#IRz`mNwip zpn+nCj#qTo6ow4RLf+iDI&RFzjgK9OU)(v*rC#4URtRRO{$(PwjQLOweV5<<;8e(hF^)#GH3uxcOkTH+Oc3 zFfej6KIK|jrU*3nJV~PtpG(LTXSfeaA5{}h8|-e+Tc$9d9OR{7Q=p3~o7zped1m#A zgc=>;)4O+?_YWGlcBRb8SFY~6b-z18|I*J36u0wv+?%fDp$Z8Rfe4`7W&)1h zEFbjsfn;+PC1dV%j6auH9sB@MGy{5|O7Xm6`u>n!HmGMje%N#jlZ|a;SygA|9OWgt z>+PlBNVeN$Gb0Xef5Jn4L&IFM$KU6~licpNAHJO*;Y2LBYevMzmg(F9PW-t{BK!7O zw!;@<0o&ou&dtH4rsum0ET7*VSkqLxT>QyVVIdeVeq+7LtgU_E8{|GRFQ|rLT6w+r zXT|Rw363Kcwm7HNJh$C;Y{vVC=ZJW=pf_;fEK#vbW7N;cM7l*}Fk@BRhgi+s^Z~Xd zkc{r;p>YZTSn$7ePVsPYq@5gg69_VNFXgvSgX}nbW9Gjs;>s2MaCI@4ot+cqRJqle z#C!6{j1c7NbOCsKa$|teeC(dHspc9P89y01!mhc6I3;FOYK{^el!}QJC4r5BF_mxR zfD4x6UEg5xuxqtBY^w~RFk$}N-{7bffTUk*YV{gt3w*7 zmPRE61r?{Dfo*7H3y8h7zwYJ)j+&l<8cMAl^0C#b+2_uR(n?}Z^DuvZ^#I+>#u^|f zmhk;1MGcBywhj-nzRc)qpJGS0Z0VxZObfY&tTYpo@Es?z<#Rza6s?RS3nxP1Jzl8J zZibVp`dimnKUF@j3kx$z#%e6fw<`86X-Rc?rYx;K>y`NB2=HmD z!7p_DrMT4MMDvl>$x$N|b&^nqpH_WGnH~n7jW)e@vt8 z7i{CCa7bbt@7ksNelS6Ul&Nw+-J@zw(I>+kuhit`@tlc{uGadB2O7->9%8Bw3**!6c{#F}cvs8oeY_y3wC%45 z!Ywwj6!RRO*KmQa^MZ9ZEd2ylc7&(G_(>on#-v=d8BA$LmmelLZfdacH&L!;G%c^z~$;vEkv? zCPS1wS7o8xYC#JN(_muX!`kLe2>wl_)kOQ?;A>{)hv`ZJ$9yS9R((AEjnz%2M{3IE z%_-Gi+f$+uqMWn?g2tQ8o%|26KZ3OW!R7uN-Q_>yMgJeuT++tR0p0V1_9s>K@pE)p zi@zkEBzRy{^e=D&dl>)W(zu0%MScR5o67d_X&!o-?5g)(rtpsgFE6cPszzY~qPlmOng{{l`$m(0eF`c}l@aKN3q!B2!oWMgRMHE(8sc-&~E_5pL=XHbi=A+zr zVKNdGx_3w2BeJ0XGz99)ch?I|tAlx#+Z9LfXuJBaH{)C4*l0i<@c{YEz(fZJeeol; zTr7(7TTj8DzC8DYK0@CjLrlo{v+Amq`n}tT5_P1!mJwUIZ$%(hk&)`?qznpVZ~h2q z1)Q$6`-0n-c7VQrD$o6-5dnJYN(OOb)GwSbww%_wJwW(LcfL1LE*1pgBt%8UfsLy%Hulpa zUm%{vO;_GJu()_2jt#fIVP~v(qlUxWK~(ftmhOdRlKb}DT<0KdOv_Z=#^KK9OKBdi zn8z+@ig~~?C`y9EzsI|bC9YSm^QYG~T|bqkp8$LiBu!P8 z7B6FZGGuAvMKJ?b*SD=N7XvQ7BDS~hD$(OQ?2QBYrdfPJTaa)l5x?8XI6reS$X=zA zxU6d40`>%#!vvM&256hd$afp(>w6WrfO~X&Od{x>2htVh@4>EPbq=8|{vUBj(i$2p zWSD4d`^#=`zX8nAPU_ehdm3;-{lUvo7mav zi0xGjSAv2xUqo9&9Q6RBdpLMYV$d}(XOagGK>pU-qhAZG#Q<$F5BpNg6|k}eLBIyn z33hEUS=?TqqBl3{J{%? zNqK;GuQQTKK&%5|Oq>4X!qU7d3-z1p>!O=u-uy8`o&STlw+^Z!=;8$jw*>d#!QI`1 zBzSOlcXtgCEP>$e?hxD|B*FFK?k>TD?~w0(uijR@t$JIvRm(q6GnbjZJw4s$oc@VS z=U-#L`|I_QwA(iJ=C;F?`_sNrV3tdtIdbFo*K{n*_~j)x`84j)_Soqnw_9{> z9wg-umV*=gec82(-a$E;_#Vl+rFRFP>)+ z8_?2Vp#gMjgb%K5XELZ})}zqP<;xwIuD7W|eo@`N1&!-7d7W&3rOXWtxm+LZ+n=;f zC6s%$c%jbZKD1RXVu%BQMRXl2CKDU;D0qUWa>a#lpoHZC%dbocNrTR|PyX81+PM$c zu4&=I*4NAAJS!N3JpQp0#!?@>6c}V5aSv~;O-Fx-!0_ensAWI#OF!c#VdQS-^2v+& z2A!Yqe|d>hR53p9U+w?61$7DyU<3dBso5SfXo*b(Ij<*zs@m3x0}Rq%Z{eiCFAgS= z-x&eR2J1`(8&>=>2P#fV%ku;z6x{Y7tc3up`EWQY@j`2~l(fOgVztI|P^_8R%&dMu zAKxD|;MVJN^W4v`Zvsk-c1F5vbs7$WIV|#Y=|J(hh_6u|OiW~d+7Fc^Ko&?huW-N5`-I8<#|3711zymJ_dCvv*mN9zYTU%CMNz&MEsV$ z-^ysMVluI5UQVz}${d^Y_5R-Y<|(HS4H6VuCDFFdyegZD%IHeHP<{GTnL^O}Nq*|Y z=O?u~n>{om)USI9>ps12gc;x28B_+FTUzK$)n2)ig^=LCf*g)i>=ys-qcZ69{bgRa zyZc5nI)0po#X(BS976rI_lGzZW}F*;W$!vzV{>wf_zc~t!5G=bpD#W1P?sau=#bGfD zBf8jF>Fj*2XL77SZL%Kwjt2hq!E;}B+q1naRs2AKa;bWGD(e$c%XjtM?(5?=gA|^N z_?X#(BK^c6vrGXGkkh4mb)i$Xb$EEui)KTN+Ne=&G(G0ivTX3-WK2<>0Ml03TWz-C z!$66;WEf=VbkQGcyUtg1hQSBg_(BaiV!S%kEFkg?3uYRo2#J&5ve#-hix1p^ox|&4 zZ###&1D$!#f%|l%{SWZlL8?5!9%v!sT`Smk9u6m0lBC&U`KDXkhENsuJKP-F!co{6 zu1ug7wdHfL3hsoTQQiC(YOHXI>J6aR6#xvqzoRRN!p`D3|4t6WqxbE7$eh)0X;A|> zg5j77_2h#u{7g6z zDP*Xh0ZXJ5iMe<6^PB*pa;@tt1TpM{@EU~reN4cx9TuM<5HH9V!(C~C;$Q`9A~?hd zoB-S}r{Wc(^_nfYfdr6mdAXSs^3!y7;uCbQ$Liz5>8wEl!xpv5I!$)P2l)yboL@sOwK4;KtfsStf+3zNw4nobWFIZe(z{$pT+b6GMU+p{OAn+OW&6;zINn%knUrq* zQEM{Ma5G~}U1jQ;660&Kz8zbqUMw#7g2eFfR?I-2LE~H%-tm%+5Ye3_}9&2l$yIpV%NYv!Kt(r}?Lq|Xz_m|?}hcb^Eb`!Is zX2mh&nV_DOD*@sqj515Ol>aDrVU(+HWo@q)NPG)#+TF4YTmcrt8w1U~YgnPyP=LTm zF~;{1cW=w;;n1+c{TgUl-m(UT!G65RtSG34`3>zW4b|O2ore$}0_#yy-Kq_LIH|&b zwjsQN!_A3-aSZB&-Ht}0WxSiU=U=`jZEx6aB9=zY_MFpuw|7c+z)^Jk_xqk(F@aCPMcA5>yubqX2d@ou)K9cE zFd2CD#f3OD9juDAO4QaKEA4OIzR#%_K{=+&0Wdv(L6yog{E)*?g_V({#janKNo8Z? zmH38X`7T&1@K_>U76yQX1Y-dF&{7!gAGP29YDW5#fp{;ur${C?PEy7C7q3U$0h%3p z*7KKrsXWsUB8*N1JCc!lGx9jg8QDS3JoEu^+Sk~knAP)4Zv|P2H4))xadY9|kf8-6 zEGfl#p>TpaK5>6Q28Jn6HzW|ra-a<*?$9Cz#p&g}OQ)bpGg--rUcrCEVnwbAnj(VM%OOB zj;~0YIdvt=nqGB!Z8EOISZmF|@}M*%wOH$Y(7D(p0b>SPH+l-v0@~2CEC)oh85qTr z^%~T~Js0zl8uYxF-o-93-hY#~g_UQDc!7*266|7{nc5@HD2fUPg3Q?DJ<-AQX=4XaO&R?A7BO_hA*$P7Y2(`A`u3D3{nY#;A2 zUb9hrx%C-L{Ve*enyK8 z0f8T3Q6s^N@+u4vJd~7KNafc~F1^=ZlcRpycV^wts{AFoEC;(M-Wb<$7&D7tI5Hq0 z%Jr2oc@Tn1=<~xalIvT!w^>eDqGD62^{pw;&~mgWuqo6;%~*e0y&R$@P|)Q{^C{3mXah2lIprLr9Z%f4kQCZ+}G5 zNSgok{Ie*wBsAZA%jtuKnS#RdZ)^;4H6^H}{lo+oOT~U5Fed){J4tYucp~MzU3klm zE|#vyp~bi;XDW;6sWNyP9zwtQNvRW#CJGLSLs>!!fgCPn!-6B3*sJXx=rx)^mv`F1Ir8xUV5+=Eo9&H~ z%Gn%DhCvq%S{{hq@?=DD4pWL+p8yFF=!^>v;R|2xg`=ModoO&oQgOOvEb}0iP@-F) zCf$}}4SnJyq^>p9zdu4D@sC+MwWRU}b2mr9&x7%-1hx@RO9i?a2={Y(HCsf`j;-Jq zTrmX4ty7Jk+!*la=DcVF&`V@wrGMfqN8UjzF}@yMYfj4m#ti~dDAuhM=szLy^kHZM zbb+q|EB{3IOiNRM6Qx{0#h>;+$4%*-kM5A(6GSj!WDvzkhgtq)9t4MO31kA!X{q-f z<4kYAQGQZ@MTxCx>NqR|vdBaORgk)uUVX5m$Djm$pRcnu1ko2tgee4C|E}`{(g3jf zZYjma@~{k*#hXC!2LP1s?FwCCTcNOepa66L1WZT5yvHVw`}}qLcs?-?T;FA&XC>D@ z;E>Mwh60~p$hsk-YJ~hvm^nRF%~wNGYQ*2{^X5DAOgh)zVWhn4 zOz9b!8H;FT@|EAnQHS;Bs?rMy36Z*=lDwuzaq@@Eq|xqBpovKc!mx^m_~lJ0&{zH3 z$XYiNnJ^!hLq{;7E&2x0kGF(SD*0!pn-|qKRXAHot}Tt=z31Xf^=B*zzXO5I39o7~ z&vx)k2t?^b=>qG2phzPt?R;rGB?pJ{3;IlnNf&NU9tGi7*=~obac(!W^{gyCGsG0y za~wmRS$*Zxc;=^LK})F5Si2#(G?D~#>k@ykyXAr|P8vl`aR+m&ek~~0A@aZ;S2u-B zepw`j_KiX;&AUEgy0ELz#-O0(9TTGrvH^hT9!AY>Et(67Wq1A7fiQ$OR81dIwLo7un={7iz7xx zHNyKR&#JIE%=tBcP%Q)N);#L zPZ+v5mrCFJZt5iA0k+O|H3oKKE%O6n9s=z` zi87qj@UEy`qy^s6op$VmZr64#nsq2d!h={C>%g)Uy?B`goQOsbNsY5dUl6{ z1gj+Hqh8RHi=IlISRA}c5h<#;kQ#P|j;{y>G?NqQZcHPX<`kx&G6I2-fT9Fp3P1vV z_;-E+`G`LD3_V9AXh<-e3(ng#8P{Qj1s4ja)wY?!(uh;B%DF`oL_a~vEY6DOy+!e({hO-HjkC;td?Zezkin3rmZ&zOgz{46MBxyn*^seDoo& zz2c!x$xl?9|J$}cnJ5q^@k^Kv=&$_g6d6kAYE_z}r*hS9SD9+;ziz}zM=<)X6mf#W zbh)-}K>{h?)QHGPRS-MM5fMKVfJ!jNlXL=nB=Du@RU~*n7&6lB_rHq+&M2m=T+{K0 z$B=TM!m*~pz)6&mT#kDz8nh{vaX1C&3dP`};XVZeTbTR)4<)TE_57J+pGJ%>rhLXZ ztDs5hAZe~S+h^%p(?PS!@nd0+<_dQu9c_j8tJ0D%>#2OI6@HgLqN4& z1$clAT99GE3PV})b_UsOn!<4_iB7+1+q4}HUlIn5)xgve3LuM|JxMB4d@tMQIHMt9 z2sAzm-J8+CnS@SeQEZ{lJ>AUK_{d41q1*R|qk9WZpMp%+Dz+%zITrreI&RZuauY7c zcTyn-#4qQ?OQ5=Sw!xIz<3Bvt7?G%LW(Vq3H?fd$p&u`#)^WcAJ*raUJ_E-8VgdfP zMeG?347ZI`QYL2zP|g)CjHkAZ{UII zuBVNfTo}DD?#Je*S%c1dzx$Xd+%Z2-;tGUp|2utC)3Hc8Y)KHH;r#TV)nrj*br9Mz z#y|Ghn|M0Tsg|zHbuihmdFPhhoTZS)>AwDB9vIJ;PHtN92H9{+l9~T@6k^bqzSY`q zIa?(&V}MHT2!Y|K$FHP<567phT%ZhRDy--m$~x10&Icw48}9B&xo0&(J*3e?>g&sS z>`hnwE!T4V?SAy)GWl1Ql+5+^X6}YAB$SnRcLxRr76EIUo6Ci=KRYzuQ=+pco}bA0 z`o!ry^7=S=c|U)xw+PempAozd^xQEc0aX3bd85w{rNd!Szw9#XAZ1B~4wGS0u}MWt zFu}Aub>33*P zK5kEUJfHQ4ySY>4i$U*&IslAa7wju-h=gnr;j(miT%6`v!5{1Ab@0QG|HP-#_s(V+ z0wuL@&^uGC`M*%G*RsMhchDr5M{Uc)#zqg($pc2RWLJIXRWIt8d!0X6JM0;EFoBvB z0>Ds)akTg*Mxh)h1c4Ycf@~%0@4SV9dMaOunc-!qEa;R7tUWYw7h0bLd&-gyM$!eQ+*ZH$#Oc3aL?7tM{S(U>FTnt{RT3764XZrn)o?mhC^*JESa62| zDCu(wYC1S*c+2*j5-ZCIWBc7)hl?Ld;qoLt5K3ZBxWU7wyowzlOSHD;PZ;E*&(fkF zR}R;d^0;O3JK`e&J{2oxyuSXj1&g}CnD=titRFCe;%I(d#d%2)e9~T_B&`AB7pQTy z9g)wJF;F4~t6|G!ZDo zy@~XNw8$X47bXxo|Ev&iwW2fEY$%Bk`BiRik8lbG~I3BBemdS2hT?uhu`gE;3ZG-DrVTa824?G}MRIp+DM=Rd71T`t6F z>}DH(jDqQ}9UniRf+RZ?Ke`rOZnuSk&R8KRGN$8&R<~6=?1a_WKbMm%DIyGlf{Z*g zBK-VC8(yhjsK08z2Bd-qR5djpB@t0jmTT5Q*M#SX%TWVNSlr2`aQ4c%r$m9#`-4mF z%!dZ0G_@yw`XLNRlj!EtCyhRx$odqCU)4LZ_5kqHm+=cf#RNRG%W+Z}_%O^`jIY-R zSDOp8_x|F#Swo$E88SQR*3OBy&+~3t_1ZXlFo9$u zUj74dUUe2@p3jepnPIq$zQSzeUi06dCpmFQR(^B2cW%!T>-aC%TAu0twk?GefHIt` z$;nTv#o3*BM40u4>yuwas!(3PR(SvZWWIdyh>zpxK078pPKAPEq2unLYsKq6_-_a$ z5dP(e@9@@&LA^o_{Nz&0J5y5@4ZG9M``C*flnZlp>%HP^|NH&oRa~Yl9bMIj&6qBA zK~?$ELRmZ+%D7MzeKQ%EzAwbLJLxPPe>c)Uk&SaUY-I9OS?Gd>4q3{j8A3kZzm%mk zQtUYizH<3;A-}TS*(pLnLo46LDUb8e$g@XI^|5}cIwX-n-Xt^RwBk?TZ~4YU6Lmt4 z?Q(41&oC{%$9S;zlYV32o0aMl!34nuOdv>@U_$+ys_q@!0K|3TI!8~9L!B~HT6K(H z2@RINt;Kuy!<)RRh(aL*T94I=E3DvAQ_|lKMLF$lBoPouMLgxdww#KeClQLrNuW?4 zBsvrXa#o37)|q9H<#lL#vV@n3CVcDZ#uRll?}G?%5~>+q;A&~{;oxNvB7d>_q1|8y z;pd||KHr}6In~$oZKsXIt)pUQj@=E#l#Ng*h6`jf`TX4Jm(0N&6WQv!w>I%n@s*1( zF`som2oS8&jX(&jv&eULxj5-~qh@_{I@@5g3)+Nhr(gneXZKZX`C&X(8_B7u%Z+w6 zii(eMRL|yGGu92n!p?b;hJod4v2STI(ZGK<2=J45?Wt;C8m*Bfj!6mI>|| zs^DJcZm-VQNY^b>$un+TYwFiC;_fPXJH`8IuFG7Dzj23LmpTw^c!$JsnfLcva&2~b zd{m*=)k;VH)r+%%gz};K!daa1YD)||Cra2j1oIri!UKk^D|)Y2 zGIKa}>hY%O>-gXV7cpeZ5P^D3SEh*VgAqWZ3@T>kr)z0s^L+6eHoYq5ENbO78*K&~ z1vo$60Rb(2G|&;lx~&;v9+DChQoBoeQu+R4J0h4YwpJG$hi();FP~M9o6>^e1;xqL z3twy5qS?V)XlQiA28Xa>q68Zm6b*$1N>wQ|-Y3#iNq&Ta8Yvp{{GF&(sLZUz&O%v0 zB@ZF$1MS$+#Vzl4kVkFyQ#1LcJ-rX0y1@`mpZ|I{+ov!34G!*1WKpR?CjTpBOrmG|6^|&0%u3^=d#%JcsxHgb8vrn)aC4t}{DqRZ`1j?V z6z(g!Q1O+D)aRcOCMT_l>%9n7+E+dIrz~BEgi|B$wJMV_L8ftimi)dpP#JhFTl(oj ze10SyH|LxNFf6y`?;Cf8`hK2YN^=HC&v82S95LlOIMyPH+F zn|FFlsJfdUqb{E%=(Ii9Waca>=HC+9wc#@{8+L#*!)G5INs1pKVPuCix}5l$3dqb(Dp7P6(Oyd)Qeq6&4| zr34)J2u7W8&K0BRL=a;QK2XxLJ!g2H9qWi|7NX6KsGYVJTn4p6nhJhaZ}b}EEimWO zA<-$|Dh_YUvfEfLJBoer4m)kmP`-_eV?3LpSm8s`Uk-USF9j3mf_J@RLhFO^!1ZOb z;@e%__#Ir?eP7795;>IzwFoba?&Z~ zjyqH<*cYBBzr)8(6hT>h1O%>Y8wrVT{bti!TSurs|LBmcynNlF6BV*J8Uhm1iIRa^ z!>gIXV(o+SM(I595T)Qmo07%ID5=g)ujaRlA}QI`r<)yA*}BZ2x0griG+}m%swQN# z5y+W6T&%YTm3CvYcyH&V4`Ln-NV!BCZpV8jE~Uq8s+mu)=JS;|Ac|w4o1_ozBbZQ4 z{eeS3NYtvNQOK;~V*mhbT-+>Pw^qgKteze*C#SQU1_#7kdZU!5z1y{37U92tqQaJ6 z^qyicpQXMs>$a=9bn5(~p>{jL4gyhMXmHFgGVLKx7}gxK+t(BgE5gX+s^BaR@(B?R zZc|mnKj}2uK)e^WXh_`+%BT}%4D{K@Zig%z@bJeg0#^08cH5?>EV67N)YyP_6LRXE z+%`(yw6(rIJLudIjn7@C0i$88V z-rZl_xx6KlDr~l~U-!{!fA&B-G1x4#YirxEC2~KD}mQO3a^?7|#$t@cH%r>d&s)X>$Rm^NNcRG5SPQ;-%_ZgSXL}qmp_R z%_ynLr73)msZ;frFk#VPKte$v*lZBh9XL7p9VRShwK-PLOu@sWNo!1@YOaH!_6z}) zSc4uXQ=rjdnV*u5>iF*&$LPD06Z^NHUtdo7VB^aL91HccQUU0gOWz%`NiZWQFQjII z-t`fqB9K#3P_(;9_@v6EWjpXX{%yX<>|0!9$n#5|sT6lVSqT8uEAKrcCW!y(L7}OF zqydmXyv7RWfPl1wBL1MY^QIqBANI zXd`bpjX-FRP9=Br=HOt3S)-2sNqO_!1EOD;SPW-aZ>$CDUvIA#WmWp^X12Ge#KKNj z3vS?oy!(8y{tf|Khf#pX_jIQyo%bnXBhT2x=%eZBiF?xH!J@o%gZ08zgqBu|xyx;| zi{IU4Npq+|jJ{r>@_y^pDj4X9cyEn6bUqK5*R5vNfww%fFlcQ(8!m9N7z347#lz>7 zjk!5+e4c)W_k1Yb@3Nhr$k!>x=!Jj0TSNu1xj~Qj4-bd#QK9?Gb%$#~v28a*sklT*< z-Sn%-JnyT6nIbpDv9n~8O%~l|vt@m2?a#k{jC1;N<@>spMRXZ>F3v1A9=kg7^v%{e zJA>AmOVtk5tBt3yf#4$-_Tw&-*9>n<*QuR<*sXdTWvdbPYYnTn%~hr=RHg$SIyb9@ zJKFRjBf2o(R8L!*%VpM|6|XWT=?J%Q(NBX6S(r4ghDG9!$;Qn3?Hh6qcq>KHO$s3t zNFV5`hAVYKLtx=>wHQazxzzf%!GW`Pyg6N@R-#$(+U6F4$9Tb$EPi}EEIr`?-nOO<;Q%j0>*Jhe!7}Ikp(w6x(Ogz+D+>S7736}y+z!h z5&!4SY5_gi5PJ_QVYUP_&;)0F-N?#nHe+-9_7>hE4f$ z283Vvj}N#$V#~_N$QOxcs&Br6q;p=QSZ-v0OF4R=k^n3r^sa}eZJJqK?m`el)<)a; zCB934ABE)p6(Q!|Kl%ImhXyM&j5q!K1ofmlgs%8Anfdvp&_i7CnB5Pi#EK!H1H0*N zLVy~t+s==Nma)NY=kn=Bk7px`QX2vu?M6gbVQ%~{Ac#e!&;2Su{^Rj~21bEK3^SkC zZP!y{?}$82E-kRP+?L){{Iqz=gC$Na@A>1K!*GB5`XH$b)#xo5bJYXQZ||Ff#?$VP z2z_2YK36eENC0=+@mxe5oK(CVbNqWsqCP0m^6?xIkK z-fcfFb8@;b%L%F|K+F62yL*N75$5C}i&4+kh_3APHjvOvQ(R!xkalJwoh9tIZY*cJ zDb=a?h46sBaMlNG@y+z?n>Sqcoc_c8OYOeFJ)YOL*nnz#pjzwW1}`KkY6OJ-koPc| zY+?dryd_@Z#@2~=J%+xpC)zpic^@{VK!+`S5%+@PmA3*kH-9GLxzm>|IU7)4^IOqR zSx(76z7cSdGH7M5F*yAs7(8vCJhbiAatnw;F1v$b!2x}F#`Nsxlqdu8>2z&;hGf0Ad~vutQpEJ5Fq!u^MDU2U)hmlrjwSK`9fmXv6MD;hYZKIfVUxS!Z!(I-H;Y81{UUEcn zd;89nWn#eBPmrU|8B`r?TD&+%0qL-CV*R5dvR&SGbKjukA0G4am^G}coZcFsb@Z+0 z7xPAQq#%z;8(6P)G6D4{Xi=T`@rjv3PQJ?4-oGfQRbn}0Mh8aCv}X8zBxlB#L#(V? zAKp>sXhCcUQmZH?@Tz%FXBUsJK|=$yz1cROWCiJ%EZD%ATroI!lc_>{F?5imlnE15 z_1PFJj)(}%HQnAaluJehEI<8#^d$dd1w5!+ZDl$&JMB;s zVej*{ujy2ntsZ0cfa9M(NDdCw^JDVFoMh)x=G^ih0VQ2c+d2V|do5yj{!>=NSSt%5 z5aes%;NTP+jF1J4A%m|&9<4LcsqeuWZ-j)hnL_e-PSOCK6^=uX8b#uVW@HpY-st?o zxTB@^5|m_`FK_t#4k%kxwY9aSAln}G)Zl^pmeP>C(benDAQD`n7p;RdCuqfqrY|;1 zoFguR0Fi)GkxH05*6$d4MtXk7J>EViP+4s&yk~U3tX?86HC0W1#QubT7hT&?X((ap za>KX|eBy?z{82Vj2azgsdYQ4Zg}^tjx5YZi;dRQTy7X5LM;_#@54~LEY}=&~CW@II zYY&K|>?ICh4g!!-bLW=SG}jj-+~4PSG>?P15BRo!q?xVF7*) zT2^R)yg>2v#9~a+&2o0sKON#L80$1$sk$1a9W6X3+(=F3>2vW&w zNh1)*N%N+Bj6DeYQ-OhjN&9-SQs>tHltarf0`ASp>NW-;OM9;W364jMn-B- zy_Mh!&@$0go>P#i%KrXA!Qvo92@Rl^MMfY6L5(O+PBv(Nl`0<{9Dob_GW-S!X&{$e zjLOUmxyASQWibeAqyjyG6(3o2+*#!!l9P*Fo+65ig)gMs4`;~Lc3^?DqBpm9*!W+j zUB8#iRoplh)5@U3rb=uSL2y^^Ubi@HN-+-MsB1>rH7$;1w2U{ngn-+?T)QMf690*i z&AD})FU~=7KshK=;NkIxm2A?Io)Z@rN)+6Gu(#(ILywe~3<)GdWOG7-xx1Mtn+8KY z1JeD<;I>5U)Dhv86#zXsWvg&jM9Au>;gH7`)%_f@=|(s*5WibS_Xd+F!N3r-Hk<{& zKtYk78};X~h7GUvsZ5!gPz|g4r2_tGfIDNft zB&?qW`cwJLM!U80GHG)vj+J=VaVw(TfKJSy840Ma?+yY{IpqtB^=+1#KPoAq(8-5= zhV=q9L)mQ_(u(9Ct#QPiIanAaF`+4&$nx-MCMUY{J8SI2?@d0NlgThkgcIWU6u;aolDaEqQzw*yZXuc zDtWc)>3k98BOd5lnHlS$>uU^BcR+1}A>5HGl9Smg^CdbO5DH2dnI|J7Q@(HNRNK;R zc(Bm$R$gVf%>%?8>nW>K$G`W!+M`Gwa^pYl_V37N(Z`jnRkL)=78cra=9B!mZr3Xz z=4dA!Ov3zce$t-rxbF^p0_9J#L=juEQm^_(I{;BcCtf1O=r>f!Ltq4iN+bvmfYO48 z)A>UQbc&c{aPYl7y)?t-*9z0%3(NEh3v-H{ifP%cuYDtFV7ec~KX*BdftnJ)n&CXC zlx@;CdU-Hyw-~JlIG%6Kr$VwnTq=$Zj=JGsNILbA`oO>11KmMig#~|&j&8xsMg*K9 z20&Eq*(L}To4=T7Ak~{GQT;@gl&F@Ky2ub- zv!ks%4E4R7OldQLi@m;o`b@5g)N8O3?D5bNMpwxUTN?l13nQ=6;&nUvb*{V}(Z93v zYMRJ9quvUOzs7)6oHnfpm&H?lE_|#`Gy7+la=>CgTC1^|o#zFMRKhV+}4gWp` z#(rBvy;9Q{GSu_7_Ir9H^bbYMg=d)krsGnCOn7^@v%R}oJgN#Ny$bjO>|nWAMmKN7 zyx6MDEUNo3RSV}vwQBNDE=-l#(t8<&&@K-pVW$Id26`OEDJ}fdXoQ@4^yAm(&Yh$E z4<`A{`XBD^vwDvoeEnQVCj$ZzO!jhu?omm+zrm4`|1Tv1a1QqF2lKb|rlWAnS@+8l zBTOWw$c?XW=4Z?GJP!(HeN4?0W7^86twB?2&Xf}u3kDSH`G@{m6}09Fe)14lga)N@ zRSgDPf?G67%<;pkDyC=a57o1)#ZP1**8kjYgnWtm^qM_es!S%qwDxqhNh4VS1A1)H z_Byle1_u{!wU}gO;56XjDp04Q91IJ#Jx|6meKOy?e>U0P+G(&_KKNM*aia&3`{kf0 z<^2>@h|<-+;)1lASkU_Hs=MHkKBw!O&f7C1k6f|$^74mZfh1dBXcH^mnxm-dzvYoJ zX-Sd56Y>!IFeC5fzkfZ)(s^9&8}(|PkX|-?w`Dc1PudJPuBqh-4>vbEystEbyj=;{ z3!cMB{f!zHPE>SWHliKe+aC8K;=wYB9={Y2D8XD#&0*mY4(sfEF)A%N+bji5?wSqq zTzH&Y>SdF|--X41dLUu$@SA>1YMiXBWMnyX0C;bYeN3lQoJom{y*^jRIya}f=oo9` zojspwEO1Xe{|6X0{`%GTYyBi1QHaoS^|G}#MHc8bHU|RfYI(Ck(NYwXT1}w)2Wv%e z+fA-3w9@Z*+PXN3s|k^pJqdEx)t45SNBvqi{8}Uqu;R-}L739%ZI|ylr1I0aY!+Hs zL~flnTcIA`X6`$;*v?$2@Yw6NIc+Y0SogEDGxwsKgJr+zGBn*^NaO|qk6xOZB^RXw zmh6O4K({4ps&$$)J}$2J`BoNQ@^Cpd8cm$YMS~B@AD&u_GUz@R?4Blxe^p6I+UQ;D z(QBafJcSKkjyfL+c=cO6zSjBjAz;X$BQ{Yepl8wwV!-R(?i>Fd+#upUb7)tAO-ueS z7QnHmoWq>488iJaxLd>*@aEwt^#YuIzI{s?wLM-4!bW^t7GxZHD*O<cc*{+KlfIyF46Cbzt30L+uP5uzgeqbed&`JM8dDX zZMkPtFnTY&-KnS>l_Q&)Xvj^E(_(b#lvAhVcj3Ri20(tAcHLdRL+1)@;(H2ycg?!% z^fsI1|Lj=URbz;+Io7zhz1uCSOJTw<1xvuKEE3}_`$z5w(M3FnaBxyto91J;8i_Wd zV2lW^RoVSn$Sn^`Ehtn}g&woWpkh?4(B@|REBMWhE4+8|6AZ#Z0UK}(trhJdfo!qh9M=i}O@(Z->pS0uIN+)$Eg4@ZI(4s>Nwm+v+F3 zzkh`s$@vZWA__ZgV@&Vt@DY z)#7Osbz9EuQguImGjKF~j*XON(Q9Q7c#+FKCk76~%*zt2GwM zieHpu9F3|D0rjrfh0n$?N>A9GKCvKSFkViSG2e-BabzVx5=_?t`WShe|Z53 zS4#_4LV7cFSaPQ018}uysBr8bhl;`*+3}i4{C+gz0jBf1it@if+1f9Y%7;QX#K2l+ z)AJ)p>6n;E)}woR^0%4wKk}7>{G5&-h|gwWVsa6#I{ct!0*N_n;AfJ=0MKF24yM20 z8Tf9J9QyuGAk3=IO@@7!46}y^U8CLN-(ik10itN1QyoJ?QBhG9P%Gl>WRhxQg#lEs z3sLF?nGDOC!&HDF8wb#xpqZh_aC=n8a;R$I?7T3<^1PZEt>1zfur1?D+~y^%omr$T z0|FLO*y5qOtDW+zxqbPaHtN)*;@yNw1ycF#n1S|(bMg2IRfC`g5O)Hbt6%2a`be*) zIx9<_JhbJ!uje6!{VP&&1oyXbEf5%Lq={ewE*-7rFVixYDX1L%b>7&CS2Mp99RRoT zCrq7*wHs}%JQukEvUu6+W0Cfgp;O)eJru+F>U9J1YyaI$9sme0QD*?7K9gG3s(esL zV#?YznfbR|D))p+wS|`Z(?j9tyUaETx$L_H_2O->6B*kdJK0SHucQFa`{UV9+KuA} z^|A(9KkJBq3|=Si$Iql?r@u25%D`-%>N(AWY113z(k(Wf+AcP#9jfP+s|UC}`POsv zhOY-p#SrIyv_XFL`Ly%4bmK8dV7~S0zECzNSU=^5#k`gLVmHzQ$aat4u_~Jn8 z2B)R+BZ{mn@+2s3Zw^_iG|$B3drgg<<`@(jM0yU)(Z4B zlHFy~2ATYBPYttATmes$ReA!^1RP5QMIvWEYe2+6wdR?Txw(6Kjk*J)&%Qy_vmIv| z{j7ibZgzH~^EQ3mJiF~)_phj3!RLprGLcfIu9La*!)VEovP5} zceL-tNV2}~nYU(~6ppDChjlUSuV7*x6<}3q-Ewzc!pF?0DJ0GQYH#6I={qB#8 z7N+)3s(d!TKJymG2uOc|5=9Tm%gf6WYQw|hNKNHICE-^eB3XfJTh2;LTcPKivt-@b z#Y-8%tt|4b>i-#$KU?+4%)#*n*uaX*%QJ5EIIOq1c_KV~SPwH8Hb((;!#nF8CoYgf zm%wd^gmA)fpc>q zb91nzs)X3smh3pKZ9bgVTk)BhI`Xl23{6r372 zOnD-!(7L!9Cx6UN6(p~b6qRw-F8shkM>jnp-xWVKWm83!#r%m3oY|g*z+r`Fkg>a6 z+J)|C1u0^}341tY5Jv>YIl)pcqqd;W`lsE@{d(0nP$E8^P`9o|3jqa8mWK(7z%F?G z1}vM^1kKO4fM`vABGg0~x4K+ptWK>N^0u&+O<-+%8&r^U)aKTh zEw8s+&zNie`;t})zmPJ2<m@F|3l zkT*Nr`4ubEB{QbtVNS*sSw(|xM<|HoRr6a{47APLOMD!JT<26F2}#;fC{dONNg`(r zUqBuC8+F<(Y)LOKuay{K;D4|hIY1BuxkT=_o0H|>qSL1U?Gc*9tohQHk`D>s>)W0g zVf~d5P^IURhkzn=q#(8OSf}DpP1!~jl$!;mHi)L@&yCbD=Lzi>K#1ZUPyKJ)Z5N0 zJFu{X^=4(nJ^jLKVib9_f;g~rwHrbd-`JWpf`-nZn%&6b-fz-?2eYPmu*-J$OIhfd zI~|{tT`#G2YtF{fyC$uMifcspoGu&6Q=@RZ++%3m9)9lsxi&KJzhxV{(3qHz@7PX<1MZmW)f@|7 zWe0Q`J+*6rp0=jL!#f6z$EyLbfbgB=^wt2DMwPD)wFdSU9?@LD&(!&K#|q7}p7z^1 zZlT(zgN8!^|5YKAJ4nNk7u75~JCixJaOY>c7yS(KDd2xe{>utGt$irzB@nqZTRtDC zpS^%vUlS?(53!N|N0jpa*TLmL?@9OD2#P7lNwupwY7&MQYWh>>I-eMJ+3>tBVdIpA z5YQiSke;_~A?qPBm-W(0#9V36`P?Hv*;F>i?EtJ7=kFWydXCMLj(?v;|f z2D-4T1q~X}0Dd}5ceC@>FqXtr2uw=;J9=@=@5_~pGrwRx zW-u={to&^ai4)wdHEv(r7?C7hxp8^-avSm2@Cx3gq!i(cQ5uDdCiMv`ii9b>`md9u zRSkarz?+nql;o3Ou`*qkmzHhh-);8zh{}YO3N}m7(Y>c}`azOsx(2}+^WUXPa=Rxk zy&)Pxxz*<4%*nAMMc?z@eJCv-%kDFKUyjh~o+`*qxlWM-+Y{0N`zkL+D!7hRMKg0~ynd+-@f8 zZNM6X75~`b+jPyw+4GLrp#fLQPK`fD!3P5W=|e}yN!dpwWo<6vLq&nTm59KsOUwQ@D?IORp}Nf(`GgH~ZGU z3?uT=TcDZ^D=0GX_`W_{NT<;v^)%)at%MHRla>DLJE8B!pG8uxTrN*5?Va1d4L#5O z5yvn){id(qtA?Xn*Eqj!L2Co&-jMO--Vgu7l#7e^zgApRYyb7h zQVRYj5%llz{!f#w{}&&8u3#k&_=NrM3kzXBY5mu`D+c!el$nqbAd~X65$DCmMiWgk z-(vW5f!6jv8a%z0jagK!^SnHst4Lj3(820ZqFyCF($Pjp7D)7C>nLtXA% zFhGIwe(wqDzo#iaeOnx|uYg&K{gmBtkLvK+tvv~N{Wb|EmbtoFUJfOVIueCs3EgsVc`k%W_n|A zFGstxK09+iex<|G&*V+|Wo)~R0(9N2gz<2%ryD`5E|3{tsbRFGqNZeu9jC@Fy%d1@-0knj<;{>g5k2 zRO5gD6WA*zhwyU1kvIH5w?#$xKfj2AP|Q9^zCytrjA&?{c z?xehO;-!IvY2G9dFF^&+0Vh+BN@A*2P4-!I^`L3mQYIb~vi1Fk^Y*$C`A`y5)ri(i zmUN53y}rlu2I)w(gSm$f%T3GSf{MF!Rcr?bQ`;f`?a~4vA$ZXosF%k}!eUmN7M}2n zo&wbNo++LN$BSnB-zbEkOv(-9LmkE>!jW2Tp~1(6^@=P$B4dkkOzvloab?uDA>OcM0$IkBdYh{J(t=k#toF9{_4yikYhk1JPn?)JT?Ro9qE-{#2)MVyt!%$muHD}awOI^SGC+(PG{UeW3GaMrNui1v5iaBnB@l2b5iN=ZO>=Kf zr|zLamzLjkc6O7e#)#G%6;!yM43=nV!9C5p$2<7kT6wQ5;FWVXzo*~d=l43_*G=}Q zNG&Tf*qv5O)An50irUI!X##zDd^u3nE?1~Qhj+c=e4n=|4aB|4^%fJGM{7&Gywd{O zyt3NazeSD&(1|w2;FWZlXFGG|b1?7Iy-H@fG!kAuzH1K;>Y$AbqaF<|4^6dMNdy`! zVyI7wd@6%{y1gpANdr4b8fWQYWvEDXw>D|Ar7Up5JH4;zda&%qO(Q#@a8IrEgqAEIc|4l z9*hSk;&Q*fzThMY?^t#_y`C-5z%^$T@Z3&TX${#wKK=F@Pp&9?0tti;O?&n#Bpq9{B_gSs@{v2q8i@uqCP@cpW<-#j2Dq9`C+;$7W4r z#EKUYE>Dyp8`NSUd7)mP)V88jsw*!a&z2Umva&M(1E;oTYE+Y%ReuaGvu-Vcf|rP_ z-qzOBaTsFF6X8b4@7{>BORVhbDgs_TlfDO&&m5C-%S{FyD?9WSSbR>mpmeLUPg_qg zLlf33+I?0Wh1|@n57d3AlErCpqt|YyS3}FYOGlR(IWJm|<9nWhoBic!@{5U&gQM>g z>&f~A8x_?>?@oGHns1I`Jm~kOm{lO6(7B?-@oh}iGwFCWcuJ#kH-CRK83oO2zhQf( z)@y5`ev7AcZR~U8pZB+aMDBsE;9ldt7RbgmZJjHFR5_QgA;bPyv$D(;7LQ6>n%{|3 zD@!OW%r3II1&#T~_A=CV6Rn*tJl$YriF=v(t;Yw|%Cv9fT;xuUn{lo;K0l(0RcSlK zsrcNQo9ARCq$ErSSt;N27sc0ZIPV!fL_QaWe8&odEHf;G(Slj8r)r7SphfeXdY9bQ(0#TRYsrsDNH~g!SE?C_F1L? zg+pu?bcK2u%B-cTeUtEl+o_FHjGrdT4MPVbnh+V>Ff%Hl4Nk=Oz zD^z5rs%IbEbakf4z-@o=&H1{Ui6ti}c-S5$G?qV+J+@_UcXBl8kIQ$#>h@Pojpzci&dOJRzBaKK*WYwx z(GVF%zUJ8ThomOd`Q7}^?3FLcv1ysx*JVXbpLyK1`~ zq+Va=ppvUKQc!;vN~BX=?EVZ#EB9svoQT(bwZBlFl&-+KA;H&5Nmv@)^6ZZE1A6NYE{#^IY#qnIMKRFy& zBBnLYiM&BII@)U%xS;y$_{UXlorh*BE$!wisx?y*f9$TTRDWtn$i~5dusZMN-ymEC z0@V0_EHwE^K~M29_>QEm9-*#2et50EG1{V5;yH6@zlJtfWea9K_N#AT-94jO=1rS} z>zkaZInlKPPS8=w$tmiE+?FyO;(S+d$W30hw(QQ#mk*5=3xIW@2(mFvR2B)&p%Tt zE_-Z)!{WL@y=Ox0aOW}#i(Cc-E&gKk5unp8Nx1mRVIwuk2`H^-lYLeCk89c6cCnW%kPDuzCAEi|5!YP%B-H>oM8_^IiWZkLc#b^V?#gZK`6gVmI<^dt_(3 z8g=xC41`%jDyGAb*+p3YhJv#!=VQC|Bx}2;R17Cixz%fFNIa&rqt%`9L?X&Vwq-}? zg0mHpSwmO@z8)Z%WZFMZIu|mT1j_&g*16YIU@zn*=WyHy{mI2fAG%GQh!5Q1$kR&^5iwb ziKMfqCz68vt+NZ!08KMDLT@Zb1%) zvH(lFLcihYiWAhZVt3-ohhfWgTVVF#YqtR_jNP=g$+I6EZu+2*YKljA(ak~#2u1lN z(;!IWy0V-tZjtJm^4s9dWe}oiClL`dT>Jthr~ky^j%a?`xm}+a!I?ze>+^wLaOcJy z%_?n^^k7c}tMhz%PfQg0dM3B!cS_#`{mSaHR*m~kqI0I3iwkC0UY?{Mnq?l>Vv*bJ zE9TFivO;!3hy~P^Ohc0yFA--(Xl@G=)aFmW-zQ;y70gD2dM7$FRJ}_f)%s1ICjR_)%r5TNiESJo)%?(j zLqla%VcSbbYv_Ky$O3U6?iTZx;JCCiuRsTU-^EqGsHwev((*jwg+o5nv?e41Y`TSyUY<}P%972`EHt&A3ulhDqpzM=& z5FXLoo18o7_h-pFRvSy&MUI6RhQXq>=}L09Q~(`$fzFu%V4sPW)VHp5)a$MNQ!LHH}owVh_XL|GnJqrHWgBxW@kWLj&~bU~ z%7-TPSYlc2h^$-a8)}>-yc)6-^ zb*7P0Ih!;}&ApiDjHBq{E!-kOA9MDJ%dhKgYNMcV)Yjcb*e`o8RTQvk>_7uNU`z)9 zVl`)#_HNieI6*^wK58OCRHv?~C2Du=~#(%g&ivSn<{ZMLojU7HW&SV0yZe%P5^YK+cdj-$Tf zai>t6{M-LLmJ62&y>F-en`R))ruy;ojPE~`i5<1Hz%vyd$Qt_BDhPb6O$f&O zfY<5P_3=72oMWqpg97wL&7B^Z|4B|NidJj0FbGoMbM?@J^}k3q+unb}aeL9H z3ztEYJT*Jp|KiBl*vOEAJQGX}krG)lk1&diHlr~&VS?hF-7>#}zmHD{XE#3mhC(BW zYCxpDt5^KHgyk(689qP!x_Hk$XL#-wPUr6BHTUfsHCp`Gm!hId(3~1H_TL_+qWnq3 z{h5_Kb7+1Ih4Iz1pceU4v!Tr3IH^_N=K`uKm_S^=i2kI+)UY0mFoEQE@w8)N68V5o6?8Pww7=%~y13IfKTamhNLfdn_I z&wXU?0ZPhWE~Sj-D^t#x3JQC@I{SrLSttO{;t+A`UayzbXJi7jc9R7EvJ<0ua3vzd!Gsz8XJA=1ujjj3?QYz^Io_|bSToNVTF}HoP*x^ z#FHmZLtBG$6f*Gh#h<3uFcFAZx$6{q?V>e>Dg&L?Wlt9a{CFh>wVKxxoMv5shs2oI z>aQ{E)$v)b^#(JmEuaw7hIOH`#fLku(c=qv9=A&8Ng?aI8jZ^GoQ-dKm8~B!>5J0q zoEE=-*WTL+Dkri^>Jj#bQi=}EljU7fG=h- zNr7k!;+NM)K8VYc-5Fz>YHN_LcWMUUsW0K;W+2ULY-IY+y%mYP^KM|MzK}Mh;C?pS z9zO^YOyP7ou59w#Lqz}5Z>zwiCvb7@J+2B;=}q9$sT{hqYT3e^$MYo-nCwr(+svk+X1(G_#FPja5C-y#guQoc=R8wG%3mt@ z|B4s|E_-Q@{SIAx$r5Y|{D&r$ee{2(R!u3HJVv`YK;?wX;yElwLA&5zoN-D@^ReR= z$Jy4Io}k|0mh}&3d;5a_#QVCM=CCs`2+*C-W7vZ8+DU)IrZ0TY$uc#Hxd=$8X%&Z0 zAmE0OkhV=#nd+-l#UXsItv1!uHA#Pix%V0P%2IPBhF2>zW6=y(=gk3#f3e3B#apiT zWrzQK^_VIPnXRxqyFvJE{)_%LQ)S}gta^e02FiDuu#Wx*^Nm*jLd{={a(V28_20jC z#)J_Q5D}VVSa<7>^gHWbivxMY#@3n;L?WuBaP3ZFfcO^Tg5I=7J}HtR=+Y~$u$oDs zRUSF{hnC*HlMt}8@ZAfcl#lBUm;btbYD8qF)#Y&D=c)@__JzziD8g=|Ncxh3m8hsZ@1h$rVYiz zbzT`TKKw}3CVwZ!Kl+V#@s9TYBg`Q-C|1p#%Zh+#ddF2&ak_o3BH}-+oUi~&%$*2B zPUH=vxI*|3*~H0Thq&eDgKtbn_?1 zByNx0TIOv5I{A({BDn34M|5wfZk&!UO zDT)B1Yy;SRwX*eN6&<>ZgElRr(u?Y~OLQXM`Ls}2dwYAx50ldy6ziVYo1_!1?}-`N zAG@+20|wAbhxo5~`a)5Zlq^k=3J|TDY%Hx##pdOS#;72F@>rJa88*!*&Py>#$#N7l z0{W?CAaYPh^~Zo&@Eg>~a0MdrU4<*KMQ@_UQS^G}p)s!b`(HXDM#=_9zs-940SVm^ zZaB(lIrD`gRWHNt=xoZ~{s@8actrA5Q~A{Z@9^j{=pF-Venq?iOgLZEBlBy*d3+8z z9+d2}9^cm&5n;!e34~+eIu|IkRh-78GAm^E#&J730bY8f?ynKc7C!Ofs29Wx_}-*z zY`muYnTida;3Oj>!Wg9a=y7HdlJwA87?#J@7MM2RPHyCsOHtK zRtCW#L#U_j=I{h{l&?QBI?;HpQjloe!cpHD`u>^QS|WPBpFwIWNv?$+a~$A+04w5r zvKcIjH%ZOdFYsILPu$QNaXsjVfQ0l}_2jl+(&rg+(?lt5Ybf!~Hm$8ww3NGJ{tl*J z)9L}&{gf{q2FQ=tTn(qQ?JW0ZdmcaA5AuIZ0rHIjeQOwDVzeYADIbB~n=A_;>WBA{ z_I`Z#k||c|>lcO>`zX(U1X~Q$aTlC!Uo4$)wEFoxVtMt9KN%P6=vk0b6Y)V!dDm!> z#%zUjUOd}h^${I-?>rP>a+13@8_R5qxWuN8GFxgT=Ba=?`_`5z*4nMqaLlKv|Wl9d={b9)QNvX3aq+`qVFSC!Nlm|>uAN!d}ssk2&K(_tQ+yH1r zq4C4J_5N56tTT3o#S}cKjP@^RLqbAP>C<=BrP44qSk2*rMCL836W@IliL(lPHh@yL zr9;IwAN^1fIQ+jZ^8Lu>?c1L)C{%;E`-Uak%J{GI{U{AI=pVO~9X#X!J8OqP}a>y49t?Wi(8XX^g)vPOf|Bnp&wd;Ly0Xy3HPus&mU zUmr=_zv&Z2=>!IuciYx8V{s zs2@%Xurrb>M4dBXWuZ3+R7pJQkh9}K&W%B@>(bYFNN}{#!BN1bGfk9~x2VY848E*H zX<8YEPc&7s626wVgL*iU5a1Rc-~Ehzh!Futo=~}o&g5jf zh?d_k!u-wSFGQDw0_aB%3#B8IPkJbMiXQ|NN`_oj9*$VNik5&pLk_6Ulrh(!l(=={ z3k{4$6a^0l7jQWDmRRM%O=8z4Ki7Tt9$&4je5XtfH?H(ePIAwSvhK*R7;xh&0V@vP zjEec)RvC7~$?Gy7ZPcP3ofx%OmFaWRaAWJ-iDt_zt(Q2SZ8DLam{M_=SDosVm*(HD z^ojSZwWmZ{+my~DBlsBHM8wK9ST3c$tmgQp#{$k^XJixOuPZP9#yJd{SnP@6 z4K@;S|2nT&lU``7cmoMeb~ipWtELubnVmG2)w&5{H4s=ADdLP`n_7<`0Q+=!Qf+P zW+&9;+kNSax~X>Iv36mv%|e9}C@*bk%jAMbvcKju#gTjTd2NvPXqI)`@+5tSzuO(HjWR?Zyt)=Ijn5#=g0kBUwP}X68-qAFOA9rCUGxi1>!zEzX!>tBuu2~;iO&b)`zV8`o@%Bvn z+-gCKxyab*S7}nio2U?_UkkrGm#-dD!E>O61#n+~%}1^A!cGNY)my$-bwp~On0zsY zE(IQ6{rb<_2vxwn>ZAnQY9F~7mLF5;GK&3SLVwIqGQ0GT0OtqT`e%+G#?2=Rc+UoQ zT%>wkhP_-PF8q8hc^o>Z3)(;qm*nf6DSMD6_$D%qYygmIb%Tl_*6#kH|R?-U=kcsrX`2S$AfPnBv{YTNHa>`A)`1@ljy zlMGF59dCwyhh}i!CQ?%|F(!5Y)%4I144lc_ip!^HQR(lf%=0SS2HqmE5>yXP=h6WG z%$bW^14Tn$IbMbmrC!}krt!!(%o8_mnel@aLpmYS<5n!_y2SaLX9XGMjQ_p_>gUdF zyhKh)O{8RypD2d-hbNj)3lUDa||Cmc$vhwY;y+ZM%isLSxE6(S(~RgtauRq8$N;V0Y$@1oo8C5=SO!H{rR|BB9TzLJsMR6&fm9 zwe^I`ii{c=8q`{*P3FS)bfjdcmUYfKXf$#WrP=a6T8`%V2~&K=*9;BL*mbK(8RmZJ zGS_6B89!xZPnGU;`a}stSEOkxz)BdrJn&yHg(GC(o_RS?_VVB40}*}fzyqNN(>`+; zrIMJK)83zTnVE4a7sWD^`f0Y~vKN!OY^dS*_@k^FIm2M>utBDWvt~^4;m~@V)%_*Z zFrRvMk!%NAlA3s$l9AA3`nYkKODR%psA+XP&ESFqMvVYCa3bh}9>oM&Qt@1C0E(tfm$PCn&}UDxw6;i0iE?$3{%4x?K^##&l~S^-PJrjc#= zW%YCXa^W{oNM*)1x|sUbifB4s{P*RTxp(v&avlJZ*1Kx1e6p;psryqYIYxTZVNc^- z%*;ole(ImTz&F}9pEgqJ;_^c7*-0W?wJoAS57U)P?yf|C7}tHqw(;VZwg9VRA6;dL zxq7oz;7@bT`ym1T>R0Ag*pF*D=mbKw`#&duj_qhu33| zTn(mNx2DCgUu)K#t0Fh@`dD*3z}z4AeA(yZBH;%6^&nYg{KN#98|H&k0a*>?`?db=e|mtQoE1| z9?tQpBbpPIy3W`@rF-fJd5J0K{`E~}Sf^~NF(c)$&=i;0$aLPYIvhvG5p4hdPr#)+ z+-uV`GpKqJe6QD)yh%RQ_$lXVE>tP~cO+s(T!7p=zRIjcQz0pSs8u$Ca*5^DvGDB= z;ByWheIqYC%P1D#L9Ng}n0~z{0%=hnjX#n~o=pnu@YijbC492}t;d6`4Y0 z39NoSQLP*McMs$xR=PR?RIOrX;@QEK7h4IRcU&*$O6WiD2ov;;;oLow2t05LKnj#`j8&?Vjs=i1*waIfYf97*iqr@-O;5R zFETEj9_*86%AQ^wL%r)!1-uwq?U)+YTp!5CJ!bgW(?5fK38LMvy_e6M%ILi`7EqtEqm%SSu$3i5(Vx#wPwObEsv~2wA1jmsQs! zM(GBc0Ty9REDUK2jbALxK;-Vf#lHku^}z!wXbS?u-mMjJyIHTf&A9A6XPCaC4+9~k z8WWcp-;>%|>0d(dXicRTSsyg+Kk{-J)eoRNg~+ zcqMr_(vE4`GkShnPNqQT@z76H@gJsdM{dV6XG-$VC(aIry6OXw0Y7pyLNKKk{}iw1hke{4AIFTg6y7=b*|?#$y1wAtg!rLSg2o!1yvvQYEsWjj-z4v&BXHEx=I9tL7C}tYL~)H zrG%SRb+9#!RzHpT1eH#N&p<)(ptQ-fZO@WK$a;n1Z%>oWDU@#jZ&L1skM}P!+#ZmU zP{0D(*zMJDaA5}{r;h}!u#JN=_pB}4w%;-*0Khi0Nx3zIaMskZO!i{eN|5Vzdt1Ud zoHp#_{k6A7I;L)!Y#ZinQO69KvE~6 z|4nhNw7KtLuC_mI*-c2Jk9EShOwC2OaZVUlhCZw)!gKA!ZLU}$sOYW)-sJbDiVu=gaD8fS?K5}qg8pqwn@pyJ-nx8b*YhvC8ba;j+s0QyUoI(vNE}Hf@Gu!EObaJLZSFefdj8ts4HPb52^GouU2`&$_Gq@I8hphJ-)W{G?L%9CW^F ze^*O7y+p_U(o}5)#_>_TF=>jlHmp=zxpCHR!oF+eX~+sMfCrMF$%QvOYM11nudO5t z8aemy-Kg^h=~lmFc7CFUKBV1%a-~>)i2rtb zf|qQf10K_4E@W$$h@`0%SDuTuE4m9L6cP$nP%t$!`6AA`)*s@+#N|3?-KHE*xU4nu zNU3@OMiIVkJtg1hL_fy|s#%-eBp#dcu)<#?IhhKb2Rn%ML?l?|SW}`dFoR@$0y_RtVts0y3z!*al{LiBc@6yxyzS+Btr+8gJy#@%okWyZKmo z>}!Ub)7qb8g(oh)HRiZ&M#$Bh!`!21F}#&pN58ddxR&t!42$`8ZnO-N0$KhI1DyV% zG;~&)`&Z+HJRc)Mg=&%=!lS`s6K(Ib& z3cU2eCKR{5SvUDo{CqBUni#1p8=gCWiw_2o_yQKPv z-jC!~p6K<~bZ~1Uw+KACT+I(HPjAHijc@}_AKI_HNzG{V(iVQ+cB^T$1OEcR(yt0u z|JYrI0r(6XhiC_##(E=%^fZ?HW?@94Z}hD^Q~Al*`i~zsa~uj=YNQ&Sqv+DXYIA~V zMLh~ayMjv<7~=Nmj|e5hs!)S<1Y$B-SUh11G7!O#xTX?dn?|9#Q>Z$&lg=%sI$Qe4 z-t5mLCtSQ%LyqYYJklgXHvVF{3opWA#$W8@#qCSlC^KgNC>@@c#JZFm=RkthF7aL7eo@8yeuI|_&! z#N+5q5pdoOQ74sIA8P;$@QXhJrp56F#p>AT2rVXDC}=Q7*xm z&EO_o`k2}kj&&o#k``xd`qkH-R#*^nhCw~qaXAMAb2ol-maIvtJUUKyw$%f>veIV?oHCLir}7hhBU-ktB+H3 ziCXmI$GI(O!Ryy8i(dqpPB7Av$&vemec8+ew#8Kg8emFTxYvlJoqFZ%0>rx6EMF(p zam-qd5(fhlYK&k89F3OUbh7_{$ynmr-@Js5kWRO`*!K~Hv3O7J7t(P=$+4@Txe@?`edxk14`+C=r3-DxsK2&Uqo8!sL z{$9VC5Xv&Q{Fb@1GkquI>*jmhnVav26lp}7F2-MT;*2){2byq^IrZopgX|?)$N4G6 z@0F4@KrDex1lAH*9~gYww05{UjGDdb^LoWT*UYXPoAUYn!qs|IE+gyWxAnP(z!U(9 zgPesQ(n;xpa8rd3-{%d$GjSY!k87E}L-fd5cv3%rALo9UUEkuXE8x2&{VX`?V#>18 zNc+q%&3nn3!*)cg6Q{nqD1Z(7`7;LjO;tb?zX%)XR&^b;9_tDijrDx1;Qm&j+fWU7 z`G3)=$(i$Nv}MX)jc=0u6fTXRs7jHSn3!;xobk?L9x;7z`I*n!x``)V&r$@XM z!p7;WkE{oZzbsMpn(@)Fr?2N3?*U~!c1`MMFP0l9!O980|2!+6rj(QYs0GI^$CqWL zl04AW_3*|8bq6pueO9K*`Gyz+AfeT32rFqadLO%}7u~KokYdi>l}b~} zL$exBQZK<^97L@Z6!_{tK?b+T*xrBf<|t=}udCPbtJjII6ABZ_%d-_o%XgZPPFHfP zq)J$wMrM@u{jka{*~KhSEVigo2W$Ci6AXD{yV1&TiDNzIo~jV|hNQ zfY+kmNvx3nw&>E2CTT#Y(xQ^P^HSCo!+LNwbMyy)ie&>pELQhPF&wSZ&$kiCssmXT{s)ug)q z?57SC807WNT)kWZ-j_6WnYSXY<#*kn$Yie$!ZrB z{RcyE98r(w7r;I&1Oi?hP7r%DpYdEsfdfs_bgd}IGeZ64a&DJ`lDYIV^45?oA`o4L z?@NOiI>CxdqiFifhbvgq(Pi^#jjPRy55dtXhIk*VJQLn>GmFP01F39FwUx7v!c&)E z&Epv;Wq~Y;4~@jL{6_gx!kjl|hGjdCuDj?etr;+)Np zEfDWTANM5mSGichd%?HL@sC!db21T1#vZFD-Q3(vvlhD7?n9PSN_{2I>sye8#UFX80(*h^ zz9&nfWt{a!? zx}6l`VV7@vNX1iRo0NfKRu2q}OhzVU zSs3%PbyNpHmMb&_IkNs3UNQK@67@U5Q48&XpXhzVc-I@0=RnS8T70tT&yY=@bq{UG z%;3`ypQ)DCuEf%f6!2zgIA!}eZ5Q?vkWqAIeQyAL$=HWV+&{XyV)QAOESBwo_-nN7 z8M5W8=#rzk>>6Fw&Izfk*po0? zMR(y(UTkNlv4kSzS;E@dO=m0c07!--N3m9nOir3dfYkx;)3dqo+~O$P0^B?In)QSgN?O%C$bs8BIF#q>|9CPy&%uneib>y`;3!q;s3&1(iT>(gryr?1kF6 zx&C*FHj>o5Y7z~E*j{+RPC76^#c|Ofb&Y=Wv|GjALdCdcnY`ly-=hV(xHKtdA35FB z(FW&^%Ysa+$>Bx{gzsJE zD9MZys;wm$G9hFVTU=xd2>rEdJl0A#r&zyH*A5{A)nSUGod+Mtk36J7XgY>2J!9Wh zuoRC|3?*5{5BZ``k~(@5ukomHS31&7gn}UP)vfs4vnO)~mY6GAu8ad@PWnfMTcm8< zt93-T^|kB&IYm)X^nXfGBu$#lZr9G(k0u?l$L?Al);{^cBT5EBo#NL}z!NOK{}vP) z(co&@GhYUZO8_x3nQwLhfYW>9`trJBD7{7pVKr%4Pj0l^(hR7SsBAQiX))-Jc`!JZ za3sU97)?j~vM_dv&uuqFL<=6w8@Id6Fc4!-xfm=?%#z|;L0D|@_QV9*2#KCTc1P$aNzk)zak6MuGpiV z-1@)VxblfRM?DU9bO}JsZ3Z8)R0?9vI~D9F&rLxHiR=wqPcCNarGdTgZ$5#svgdd- zjM5~5oA%FEy}CW!<*f_gwnjR4X0DDPw~RlQLU*+%7B-L!EA=O!d8s9*tr+r1kS5y6p=pbi!=pAoNU2^QIMQ` zwaI_^3UizHG|p*4p(_6FMScB+{ITO>ikE4m8ZssZJzC^lV+2y}y7Eh@a&$%%7dJj) z1yKx(gGfIU`(aF?Q;t(C&j)egL1$hB*p{I`UEz5!enj0TRp@M|*H+uB(U!VSdj?2(fn})9_>QLNB?0Z_Zch*a{rR5~`(l>u*lkvw49K&jh zD5Jt(AI=M>sn7Dgc9fxc^hJNfZl|8(Wt>I#06%N~h`|~kV&qq0AJH}ynsFBbo)@me zE|&Rjil1KbQHV#^MmBdTNMt03xayTrX{}IO;+$Z+A(0U69Ai8!mZdwhdEC0N;QtxH zefYPHjc07;SXTj?XPzGCdNdPNiV{DVelDQ{)hE+RVy$#7TXb#l)@ zZ2;QAjcy6Q<~AL(1U{{MWzmt%N%`3T)9JKsL3Qn*+fJ@AqH<1huC3lxijRF1X6l4^ zeNjwdX2=KEFR_o(v;I==ymV@tPtUBm_~^x*1n8WsV*M|FzgcYh_894-zei?>C*j}b ze{Th(hOV{_2I#zB?)o`r$+O-=I?Lr5Kh4mG`e@e7$LS%>+r8rNc*(19y_L8T%nqAv z?fb|D&so>T*3!ky_+H!0JGroegcM^izKBWGVUd`nRv~Z^_~99nw^A>-$h|j0E8T(C zeLso?_+U?vzH7$ciw!f2yAns9N{N(x9&DpMe5Q7t7}YO>6v=)@GebZ;cObX$+?g<# z{U$P9JE_6aVolWVv%&q&QBs9DPAxYX3dFqNT4Ga;h0uH=J)XXNphsIw)P1C@_m&MT zEk#5M#I)$vpUT8THd~IOr!EWKbfy^8z%G##zbnLu7<6K|;cB|D{4_0rB)Olwp^bGRPncQ6xC zqd!6-^20bVp-NtS@e^~`)k@FUOv4KExtDRe7ekTESjD)DMxk`;gD>j4_rBn?JrDJx zCm6^rJ?t~dz@r|^8*EH4vAUNnOYMp<8r2+9rSniQ;u zST7YNrwa_du`D}y;7)wky(v5EUQ#AJDJ?N^;3CWBFec{yA1H;M00SC&mE0ab?Z8j+-%qdcQ??1)`d@$wC!Eg5$xLS~rLC$nzi7 z#xomA&FxW?1+~LIBMSg-4uoNVRPHC8SM`yb~aQGb+?)ldI*oKPM2yNXZhMqT zG-jFge3KrVMXO%OzC6L3%!unLH(FR7k|RyCMlhi4&_7j?s3WHD-xnj_OFjG?oM3sI zN#Zb4^y3Og>HAZv(g?R-wA*{eqzDbdf-pF*5(jUm+ysew1;fN*O-F_di_Hg$9=9rP z<<*N~<d&$rI9q*=tP&+UTGj`i| z2JW(jWKiDvP}Ja(flEnQ!I4Kt)^myn@)%+FN{WN3{H|%$H$2!+jK6)fQhs@xf;QE6 zKYu_O0?q6HzKxc-@%LAc9}!CZRgLd2o^r=#-pxjQ{Pv{-BbfGb_dh7tKgEaq(;ut9 zffbA&2S5Lp7yK$EUgA-kzAY1a|L+G8i#B`5NH@|(Sx}CiLY+E}l{)3lifz@8EN@e0 zZhh9!DcrSiaDJgsC9AVEaMJXUEXv`R?iUd2^=_qCdL-m56oT#bozdA3dR_Igd@FDe zo@>y9P1JENAanUCyEyUe>WS~%%+zo>N@)boO}*~dvqO7*boDg-?b1Qovn;ic(RLl4 z%-tGltqo0qYFmf0nT;g^N+k<^!j)q?r1=}gF8c}OxSwWa2XmK9tJCFMA3C$N<1$~r zHqXMV(u=g<%&n;IC?q8RUV~0sI4<|1ctz^vRBE&v`>Kg3gv)~7t}8AZp@Kc*JGPUH zYEz? zkX2^LN=DX|y7?HH$(|S2C0!#s>)vEs627PU`}g1P?{gmK{dhbduk#$Q_xtgB6Aye< z>%Y{kr&R1}uq00OeC})+^mU(xZK?U(1Y!eWNsdojWk&BZ+sFkTn(h!w3n!hPL~MS% zk?-HTaX6a)h0M-f{d!#d`#2}h{51CV_PD`_Sc@*p_IIsFg7w?Z|8!JFkx|0;%nwZop01 zYeVdevqyLDRH?fx9D1E9sKY=%^~v_ZxICFOSfrB-yYDY$LO* zgZI!v2mLyB*%ho?uC=#R=8xJ1kG7WHAiW+qR8a!LD}=~%YoEWwf8|XZp=c&_(7wN)Ab$dctgTdMt?9xS>F5LG|vCE9c#z0LxaPQIyS*HO*XV9!a zvrue^o)#4C@GZHcJwl_#8q?RFdZDU{r)p5vw1$p;mnB@sxiU}Ce*Hi*{&JsgArn+p zQNFOVwe}rm=pC_ll(-MtFI4(MD*&9W)Ka};8a#7zkZ&}g{`yX-71!V=WwFoDRiWz9 z!N=5r)P7&<<^o6WfbW(7VdiXIckU%D9nWPnFFaXsH`0tEd6IyKlcVX0*?3c%a`Pghp85%));wRdrk)w>kh#SGc0Z`kPpuXy%16 zo)lv*Qt2vh{QKaWcInryU)iy#`xT%y`C1BHVEf_MH~v~dXY+>6W#L&k&uKs@dw<

#h^V^ggqMa@B3E%i!1TvF6*uA;xm_T_%Bw@g7%XoONi*)`}_FZESeYGZOLK~r> zQJXv5lfBvGd7t-f23g{)OJ*pHnSYPy*Aw}~c;gT}1jVR9!13w#JgaF{wyU;BSmjxI z7hi|zlO|tbm{F^~R;%drpPdinMGD-lqCuYnl8mZO^V4%P*2}R zB-Hj z(mM`B?4z9_oeBfV*(M0xA0D~m%3r#A{qpYe5#xG`mTT*l+F8tVai8a_{M>g!)fXvl_P&cQz69pBh9*Q$wxbSXM z_{&Nrj^Ko6skHR7n+uxzd0A5e?bdu;BNfv0qSjHKd>W$Pk+_MTpEs@t1iBXEHy8Zs zwE*uRxLtaHQo*BQQ9s+fK{tWtZmudz+i89N5OHrT+ zUVVQ>NQh{LkkBV3YnD#8gV_ZF=xVxx?#R0ulSr88T`MQFF|rz+R3__A$zA}K9bZmT zQP?1uwkw=9PEp$PHa-U1iKlNEkn~DkQc)7lf;9{qW?Y0FwY7O@$9V-;Jw3WQXF|r| z|7h;_twefgjL*SMV0f%8;oMd#4J-d!ELgu6VsP5kipkECw&x4#e(L0?A+;w4yH>yY z%CDZ8K$ZJX#NSs}S1@(tZ|Tpj;g=x!Lg$O|o{;NdcZ zs7iHOK%nRnj1j@$0K9MLQC`9%ylQ3<+m3>iRqpQ%a310pa)8@CZ@413$}>LZJDS20 z%%97lAod2sWt&KhuYld)JVEswIygv~^7FvfYa zQ|br*+*)p!e6goyRY9^`-IG^(kK8_avL^9_?M&(yQ&WjlGGnhILJ%NcnZ0?cXIDsTHcoyZ&fj({`vQ^#NO>(cdQa`vi9bc_EaZFG;w{K)zT z#*xdfaPcnyL%eV-)2=SJ<2Dm+PKcO0g-UbXR}eVL9B#qHQ*atXM}pKqd`?GK!10?Hc5R1~wnENzOmlffLTsb+2vDn+vu1ne;dtA(j z_j7qAdQC1a;DWkh=5&wePoDxey^JkovJ6Di%6+L71tV3O(*c{FsF7DMI7sdTcD8E; zv1_t(!4s%;klw(?3v>`!b%S0mKarbj)1GKB5pzkLo_J^>q}QIZHjKup9tXv80XJzD zet0Vdm8nCE-K?T9t-OBaSl^-DO%o%W0rH+4HbvvQ(_rD7!_>x>OH#&bHT9Y$b%B)Q z?y!EC^W#CaJ#l)fh(cj(l!06=+CYmMIU4SR!nJkxQ$>X4h5U;V8Lx9Ev`-$vNHv!{ zUW^g#=ahHNSQI>P05f!t*V3wMNovJ^v@_Tk31tCv17`ZDwQx>yo-a$NBZ3m_dpUab z$$Fj+6UQ=J1~S}GMVqPR#TK6{wN2q(hO4`dJeJ1n*LG2mZz(%V1U2A2NalJu!)sR% ze7Yfl@gy&%v5EiA=F2B{m^<#W#p3%97E^y_*>TC?-U`5VQ;dEua`b|X{m=T|iPhBM z@o)U4t)EUXo%BR_o$&Eoi3)==2)F0)o&veWZ=Du3LjOl7&#R!X{lA5lzu)^mQV_(f z7#zU*(waDPADyg7^0+k2QyOa;qftiQxq4oOTGhR}>a7;KRO2x?XrI)6`iTv{CpOZ0 z8tQ7Ps~%_}m?T+`r@jN3-fiNo>vU|w7lFUNA7Y;61XXzSj&k0VGuv%+qC<$W@!wn7 n{saa+#`ocZV5j0J_&48NmDh?3y5Q(fJ6=moU$sib{>lFU2)Wdm literal 0 HcmV?d00001 diff --git a/packages/streamlit-rxdb-dataframe/tests/test_rxdb_dataframe.py b/packages/streamlit-rxdb-dataframe/tests/test_rxdb_dataframe.py new file mode 100644 index 0000000..404ca39 --- /dev/null +++ b/packages/streamlit-rxdb-dataframe/tests/test_rxdb_dataframe.py @@ -0,0 +1,70 @@ +import pandas as pd +from rxdb_dataframe import get_column_config, get_dataframe_by_schema + + +def test_get_column_config(): + schema = { + "properties": { + "name": {"type": "string", "maxLength": 50}, + "age": {"type": "integer", "min": 0, "max": 100}, + "is_active": {"type": "boolean"}, + "gender": {"type": "string", "enum": ["Male", "Female", "Other"]}, + "birth_date": {"type": "string", "format": "date-time"}, + }, + "required": ["name", "age"], + } + + column_config = get_column_config(schema) + + assert "name" in column_config + assert column_config["name"]["type_config"]["type"] == "text" + assert column_config["name"]["type_config"]["max_chars"] == 50 + + assert "age" in column_config + assert column_config["age"]["type_config"]["type"] == "number" + assert column_config["age"]["type_config"]["min_value"] == 0 + assert column_config["age"]["type_config"]["max_value"] == 100 + + assert "is_active" in column_config + assert column_config["is_active"]["type_config"]["type"] == "checkbox" + + assert "gender" in column_config + assert column_config["gender"]["type_config"]["type"] == "selectbox" + assert column_config["gender"]["type_config"]["options"] == ["Male", "Female", "Other"] + + assert "birth_date" in column_config + assert column_config["birth_date"]["type_config"]["type"] == "datetime" + assert column_config["birth_date"]["type_config"]["format"] == "YYYY-MM-DD HH:mm" + + +def test_get_dataframe_by_schema(): + # Test case 1: Empty schema + schema = {} + expected_df = pd.DataFrame() + assert get_dataframe_by_schema(schema).equals(expected_df) + + # Test case 2: Schema with string properties + schema = { + "properties": { + "name": {"type": "string"}, + "age": {"type": "string"}, + "city": {"type": "string"}, + } + } + expected_df = pd.DataFrame( + { + "name": pd.Series(dtype="object"), + "age": pd.Series(dtype="object"), + "city": pd.Series(dtype="object"), + } + ) + assert get_dataframe_by_schema(schema).equals(expected_df) + + # Test case 3: Schema with boolean properties + schema = { + "properties": {"is_active": {"type": "boolean"}, "has_permission": {"type": "boolean"}} + } + expected_df = pd.DataFrame( + {"is_active": pd.Series(dtype="bool"), "has_permission": pd.Series(dtype="bool")} + ) + assert get_dataframe_by_schema(schema).equals(expected_df)