diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index c7020a7d..00000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,2 +0,0 @@ -github: medz -open_collective: openodroe diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index 82664118..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,69 +0,0 @@ -name: 🐛 Bug Report -description: Report an issue that should be fixed -labels: - - bug - - needs triage -body: - - type: markdown - attributes: - value: | - Thank you for submitting a bug report. It helps make Prisma Dart better. - - If you need help or support using Prisma Dart, and are not reporting a bug, please - join our [Discord](https://discord.gg/ms2X9TQMR8) server, where you can ask questions in the [`Q&A`](https://github.com/medz/prisma-dart/discussions/categories/q-a) forum. - - Make sure you are running the [latest](https://github.com/medz/prisma-dart/releases/latest) version of Prisma Dart. - The bug you are experiencing may already have been fixed. - - Please try to include as much information as possible. - - type: input - attributes: - label: What version of Prisma Dart is running? - description: View the version number of the `orm` package in `pubspec.yaml` - validations: - required: true - - type: input - attributes: - label: What version of Prisma CLI is running? - description: Copy the output of `prisma version`. - validations: - required: true - - type: dropdown - attributes: - label: What type of app are you using? - multiple: false - options: - - Dart Native (Server/CLI) - - Flutter - validations: - required: true - - type: dropdown - attributes: - label: What database are you using? - multiple: true - options: - - SQLite - - MySQL - - MariaDB - - PostgreSQL - - MongoDB - - Microsoft SQL Server - - CockroachDB - - type: textarea - attributes: - label: What steps can reproduce the bug? - description: Explain the bug and provide a code snippet that can reproduce it. - validations: - required: true - - type: textarea - attributes: - label: What is the expected behavior? - description: If possible, please provide text instead of a screenshot. - - type: textarea - attributes: - label: What do you see instead? - description: If possible, please provide text instead of a screenshot. - - type: textarea - attributes: - label: Additional information - description: Is there anything else you think we should know? diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index bbcbbe7d..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..608235a3 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,111 @@ +name: CI + +on: + pull_request: + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + name: Dart and databases + runs-on: ubuntu-24.04 + timeout-minutes: 45 + services: + postgres: + image: postgres:18 + env: + POSTGRES_USER: orm + POSTGRES_PASSWORD: orm + POSTGRES_DB: orm_test + ports: + - 5432:5432 + options: >- + --health-cmd="pg_isready --username=orm --dbname=orm_test" + --health-interval=10s + --health-timeout=5s + --health-retries=10 + mysql: + image: mysql:8.4 + env: + MYSQL_ROOT_PASSWORD: orm_root + MYSQL_USER: orm + MYSQL_PASSWORD: orm + MYSQL_DATABASE: orm_test + ports: + - 3306:3306 + options: >- + --health-cmd="mysql --protocol=TCP --host=127.0.0.1 --user=orm --password=orm --database=orm_test --execute='SELECT 1'" + --health-interval=10s + --health-timeout=5s + --health-retries=10 + mariadb: + image: mariadb:11.8 + env: + MARIADB_ROOT_PASSWORD: orm_root + MARIADB_USER: orm + MARIADB_PASSWORD: orm + MARIADB_DATABASE: orm_test + ports: + - 3307:3306 + options: >- + --health-cmd="healthcheck.sh --connect --innodb_initialized" + --health-interval=10s + --health-timeout=5s + --health-retries=10 + env: + ORM_TEST_POSTGRES: postgres://orm:orm@127.0.0.1:5432/orm_test + # Migration recovery tests create an isolated database per test process. + ORM_TEST_MYSQL: mysql://root:orm_root@127.0.0.1:3306/orm_test + ORM_TEST_MARIADB: mariadb://root:orm_root@127.0.0.1:3307/orm_test + # Both containers generate self-signed certificates. Still require TLS. + ORM_TEST_MYSQL_TLS: require + ORM_TEST_MARIADB_TLS: require + steps: + - uses: actions/checkout@v6 + with: + persist-credentials: false + - uses: dart-lang/setup-dart@v1 + with: + sdk: 3.13.3 + - name: Install dependencies + run: dart pub get --enforce-lockfile + - name: Check formatting + run: dart format --output=none --set-exit-if-changed bin lib test tool example + - name: Analyze Dart package and examples + # The Flutter example is a separate package with its own SDK dependency. + run: | + for target in bin lib test tool example/*.dart example/migrations example/teams; do + dart analyze "$target" + done + - name: Check committed SQLite web assets + run: dart run tool/build_sqlite_web.dart --check + - name: Test SQLite, PostgreSQL, MySQL and MariaDB + run: dart test --concurrency=1 + + browser: + name: Chrome JS and WASM + runs-on: ubuntu-24.04 + timeout-minutes: 10 + steps: + - uses: actions/checkout@v6 + with: + persist-credentials: false + - uses: dart-lang/setup-dart@v1 + with: + sdk: 3.13.3 + - name: Install dependencies + run: dart pub get --enforce-lockfile + - name: Locate Chrome + run: echo "CHROME_EXECUTABLE=$(command -v google-chrome)" >> "$GITHUB_ENV" + - name: Test Chrome with JavaScript + run: dart run tool/test_browser.dart + - name: Test Chrome with WebAssembly + run: dart run tool/test_browser.dart --wasm diff --git a/.gitignore b/.gitignore index 1f6f6a90..27919f82 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ +.dart_tool/ +build/ +*.sqlite +*.sqlite-shm +*.sqlite-wal .DS_Store .env -.idea/ -.vscode/ -.dart_tool/ diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..d8625108 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,23 @@ +# Dart ORM + +This branch is a new implementation. The design reference is +`research/new-dart-orm-design.md`; old code and upstream architecture are retired. + +- Keep one product package. Add abstractions only to support real use cases. +- Use Dart 3.13 stable syntax, static generation, explicit sessions and typed selections. +- Table identity is independent of Dart record identity. +- Parameterize values, quote identifiers, and validate SQL scope before execution. +- Make relationship query counts and transaction boundaries observable. +- SQLite and PostgreSQL have separate driver configuration and capability checks. +- Verify behavior against real databases. Mark unverified platforms explicitly. +- Preserve immutable migration history and never infer destructive renames. +- Each migration history fixes one database engine. Save only that engine's SQL, + steps and frozen schema; reject mixed histories and mismatched connections. +- Prefer small Conventional Commits. Do not push without explicit authorization. +- Keep `docs/progress.md` accurate, including unfinished work and validation limits. +- Schema snapshots and saved migrations are Dart source. Retire the old JSON file + workflow directly; do not add compatibility readers or parallel output modes. +- Keep historical migration definitions independent of current application models. + Persist reviewed fingerprints and use static imports for migration registration. + +Commands: `dart run bin/orm.dart`, `dart analyze`, `dart test`. diff --git a/README.md b/README.md index 8bccc2f5..db8435ea 100644 --- a/README.md +++ b/README.md @@ -1,99 +1,181 @@ # Dart ORM -> [!IMPORTANT] -> December 2, 2025: I've decided to restart this project! Please check out 👉 "[Dartorm New Beginning!](https://github.com/medz/dart-orm/issues/479)" +A Dart 3.13 ORM with ordinary immutable Dart models, typed relationships, +composable selections, and explicit database sessions. Declare a class once; +generated queries return that class directly. -> ⚠️ **IMPORTANT NOTICE**: Development of Prisma Dart Client has been suspended until after June 2025 due to Prisma's architectural changes from Rust to TypeScript. Current versions will continue to work with existing Prisma versions but will not be updated to support Prisma v7 and beyond until after the suspension period. For more details, please see the [official announcement](https://github.com/medz/prisma-dart/issues/471). +The implementation has separate real SQLite, PostgreSQL, MySQL, MariaDB, Chrome, Flutter Web and Android +verification records. See [current progress](docs/progress.md), +[capability limits](docs/capabilities.md) and [design acceptance](docs/acceptance.md) +for which revision and scenarios each record covers. -[](https://pub.dev/packages/orm) -[](https://github.com/medz/prisma-dart/blob/main/LICENSE) -[](https://prisma.pub/) -[](https://github.com/sponsors/medz) -[](https://opencollective.com/openodroe) -[](https://discord.gg/ms2X9TQMR8) -[ -](https://twitter.com/shiweidu) +One package, independent modules and database adapters, no runtime reflection. +This branch is unrelated to earlier ORM implementations. -Prisma Client Dart is an auto-generated type-safe ORM. It uses Prisma Engine as the data access layer and is as consistent as possible with the Prisma Client JS/TS APIs. +For a new application with the `orm` dependency: -👉 [Learn how to use Prisma ORM for Dart in your project](https://prisma.pub/). - -```dart -import 'package:orm/orm.dart'; - -final client = PrismaClient(); - -main() { - final users = await client.user.findMany(); -} -``` - -## Installation - -This will add a like this to you packages `pubspec.yaml` (and run an implicit `dart pub get`): - -```yaml -dependencies: - orm: latest +```sh +dart run orm init --database sqlite +dart run orm migrate create 0001_initial +# Review the generated Dart migration. +dart run orm migrate apply ``` -Or you can run the following command: +Choose `postgres`, `mysql` or `mariadb` to initialize that engine's own history. +The [project CLI](docs/cli.md) creates typed Dart configuration, a nominal model, +the generated client and a static migration registry. Initialization and +generation never connect or apply DDL. + +| Module | Independent use | +| --- | --- | +| `values.dart` | Codecs and precise domain values | +| `driver.dart`, `drivers/*.dart` | Parameterized SQL contracts and database adapters | +| `runtime.dart` | Raw SQL sessions, transactions and cursor lifetimes | +| `schema_model.dart` | Physical table metadata | +| `sql.dart` | Typed query construction and offline SQL compilation | +| `orm.dart` | Typed execution and query subscriptions over `SqlDatabase` | +| `migrate.dart` | Schema inspection, plans and immutable migration execution | +| `schema.dart`, `generate.dart`, `cli.dart` | Declaration, static generation and project tools | + +These are separate Dart libraries with directed dependencies. Use a raw driver +without the ORM, compile a typed query without a connection, or run migrations +without current application models. See [API boundaries](docs/api.md). + +The [SQLite entry point](docs/sqlite-web.md) works on native platforms and the web, +with background execution and the same generated query API. Flutter Web bundles +its worker/WASM resources automatically; plain Dart uses `dart run orm web-assets`. +The [native Flutter example](docs/flutter.md) verifies Android APK upgrades, +background SQLite, persistence and commit-driven query subscriptions. ```sh -dart pub add orm +dart pub get +dart run orm generate example/schema.dart +dart run example/main.dart +dart run example/queries.dart +dart test ``` -## Sponsors - -Prisma Client Dart is an [BSD-3 Clause licensed](https://github.com/medz/prisma-dart/blob/main/LICENSE) open source project with its ongoing development made possible entirely by the support of these awesome backers. If you'd like to join them, please consider [sponsoring Seven(@medz)](https://github.com/sponsors/medz) on GitHub. - -
-
-
-
-
=0)p+=" "+r[q];++q}return p+"})"},
+jt(a3,a4,a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=", ",a2=null
+if(a5!=null){s=a5.length
+if(a4==null)a4=A.x([],t.s)
+else a2=a4.length
+r=a4.length
+for(q=s;q>0;--q)B.b.t(a4,"T"+(r+q))
+for(p=t.X,o="<",n="",q=0;q =0&&r >>0,a)
+if(q>65535)return 65535
+return q},
+fo(a,b){var s=$.ke()
+s=s==null?null:new s(A.bN(A.n7(a,b),1))
+return new A.ct(s,b.h("ct<0>"))},
+aa(a){var s=A.iS(a,null)
+if(s!=null)return s
+throw A.d(A.ev(a,null,null))},
+kC(a,b){a=A.C(a,new Error())
+if(a==null)a=A.bl(a)
+a.stack=b.i(0)
+throw a},
+iJ(a,b,c,d){var s,r=J.iH(a,d)
+if(a!==0&&b!=null)for(s=0;s"))
+for(s=a.length,r=0;r 16383+p)throw A.d(A.aV("Decimal scale is out of range."))
+s=p
+for(;;){r=s-1
+if(!(r>=0))return A.b(a,r)
+if(!(a.charCodeAt(r)===48))break;--c
+s=r}if(c>16383||s-o-c>131072)throw A.d(A.aV("Decimal exceeds the supported finite NUMERIC range."))
+q=b?"-":""
+return new A.az(A.hU(q+B.c.a1(a,o,s),null),c)},
+hB(a){if(a<-131072||a>16383)throw A.d(A.P(a,-131072,16383,"scale",null))},
+ix(a,b){if(a<1||a>1000||b<-1000||b>1000)throw A.d(A.J("Decimal precision must be 1..1000 and scale -1000..1000.",null))},
+hz(a,b,c,d){var s,r,q=a.ad(0,b),p=a.dl(0,b),o=p.m(0,$.E())
+if(o!==0){s=a.gU(0)*b.gU(0)
+o=p.a?p.D(0):p
+o=o.q(0,$.ih())
+r=o.m(0,b.a?b.D(0):b)
+o=!1
+switch(d.a){case 0:o=A.u(B.W)
+break
+case 1:break
+case 2:o=s<0
+break
+case 3:o=s>0
+break
+case 4:o=r>=0
+break
+case 5:if(r<=0){if(r===0){if(q.c!==0){o=q.b
+if(0>=o.length)return A.b(o,0)
+o=(o[0]&1)===0}else o=!0
+o=!o}}else o=!0
+break
+default:o=null}if(o)q=q.S(0,A.O(s))}return A.bt(q,c)},
+hY(a){var s
+A:{if(a instanceof A.a3){s=A.fR(a)
+break A}if(typeof a=="string"){s=A.ml(a)
+break A}s=A.u(B.a4)}return s},
+fR(a){var s=a.dt(),r=a.a,q=!0
+if(r>=-2108668032e5)if(r<=864e13)q=r===864e13&&s.b!==0
+if(q)throw A.d(B.w)
+return s},
+jq(a){var s=A.fR(t.k.a(a)),r=A.hG(A.eO(s),A.eM(s),A.eJ(s)),q=A.eB(A.eK(s),A.eL(s),A.eN(s),A.hJ(s)*1000+s.b),p=r.gaB(),o=q.i(0),n=r.a<=0?" BC":""
+return p+" "+o+"+00"+n},
+ml(a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=1e6,a1=864e8,a2=$.ki().a3(a3)
+if(a2==null||a2.ga8()!==a3.length)throw A.d(B.a_)
+try{e=a2.b
+if(1>=e.length)return A.b(e,1)
+e=e[1]
+e.toString
+s=A.aa(e)
+e=a2.b
+if(6>=e.length)return A.b(e,6)
+if(e[6]!=null){e=s
+if(typeof e!=="number")return e.e9()
+if(e<=0)throw A.d(B.V)
+e=s
+if(typeof e!=="number")return A.he(e)
+s=1-e}e=a2.b
+if(2>=e.length)return A.b(e,2)
+e=e[2]
+e.toString
+r=A.aa(e)
+e=a2.b
+if(3>=e.length)return A.b(e,3)
+e=e[3]
+e.toString
+q=A.aa(e)
+e=r
+if(typeof e!=="number")return e.b1()
+d=!0
+if(!(e<1)){e=r
+if(typeof e!=="number")return e.a5()
+if(!(e>12)){e=q
+if(typeof e!=="number")return e.b1()
+if(!(e<1)){e=q
+d=A.iN(s,r)
+if(typeof e!=="number")return e.a5()
+d=e>d
+e=d}else e=d}else e=d}else e=d
+if(e)throw A.d(B.T)
+e=a2.b
+if(5>=e.length)return A.b(e,5)
+p=e[5]
+o=0
+if(p!=null&&p.toUpperCase()!=="Z"){e=B.c.b8(p,1)
+n=A.mZ(e,":","")
+m=A.aa(J.hv(n,0,2))
+l=J.ac(n)>=4?A.aa(J.hv(n,2,4)):0
+k=J.ac(n)===6?A.aa(J.hv(n,4,6)):0
+e=m
+if(typeof e!=="number")return e.a5()
+d=!0
+if(!(e>15)){e=l
+if(typeof e!=="number")return e.a5()
+if(!(e>59)){e=k
+if(typeof e!=="number")return e.a5()
+e=e>59}else e=d}else e=d
+if(e)throw A.d(B.a0)
+e=m
+if(typeof e!=="number")return e.q()
+d=l
+if(typeof d!=="number")return A.he(d)
+c=k
+if(typeof c!=="number")return A.he(c)
+b=p
+if(0>=b.length)return A.b(b,0)
+b=b[0]==="-"?-1:1
+o=((e*60+d)*60+c)*1e6*b}e=a2.b
+if(4>=e.length)return A.b(e,4)
+e=e[4]
+e.toString
+e=A.eC(e)
+d=o
+if(typeof d!=="number")return A.he(d)
+j=e.a-d
+i=A.ju(s,r,q)+A.fS(j,a1)
+d=j
+if(typeof d!=="number")return d.n()
+h=B.l.n(d,a1)
+e=i
+if(typeof e!=="number")return e.b1()
+d=!0
+if(!(e<0)){e=i
+if(typeof e!=="number")return e.a5()
+if(!(e>102440588))e=J.ab(i,102440588)&&!J.ab(h,0)
+else e=d}else e=d
+if(e)throw A.d(B.w)
+g=A.iL(i)
+f=A.hH(h)
+e=A.it(g.a,g.b,g.c,B.a.l(f.a,36e8),B.a.n(B.a.l(f.a,6e7),60),B.a.n(B.a.l(f.a,a0),60),B.a.l(B.a.n(f.a,a0),1000),B.a.n(B.a.n(f.a,a0),1000))
+return e}catch(a){if(t.G.b(A.I(a)))throw A.d(B.S)
+else throw a}},
+fS(a,b){var s=B.a.ad(a,b)
+return s-(a<0&&B.a.n(a,b)!==0?1:0)},
+ju(a,b,c){var s=a-(b<=2?1:0),r=A.fS(s,400),q=s-r*400,p=b>2?-3:9
+return r*146097+q*365+B.a.l(q,4)-B.a.l(q,100)+B.a.l(153*(b+p)+2,5)+c-1+1721120},
+hG(a,b,c){var s
+if(a<-4713||a>5874897||b<1||b>12||c<1||c>A.iN(a,b))throw A.d(A.aV("Invalid Gregorian date."))
+s=A.ju(a,b,c)
+if(s<0||s>2147483493)throw A.d(A.aV("Date exceeds the finite PostgreSQL DATE range."))
+return new A.ap(a,b,c,s)},
+iL(a){var s,r,q,p,o,n,m,l,k
+if(a<0||a>2147483493)throw A.d(A.P(a,0,2147483493,"julianDay",null))
+s=a-1721120
+r=A.fS(s,146097)
+q=s-r*146097
+p=B.a.l(q-B.a.l(q,1460)+B.a.l(q,36524)-B.a.l(q,146096),365)
+o=q-(365*p+B.a.l(p,4)-B.a.l(p,100))
+n=B.a.l(5*o+2,153)
+m=B.a.l(153*n+2,5)
+l=n+(n<10?3:-9)
+k=l<=2?1:0
+return new A.ap(p+r*400+k,l,o-m+1,a)},
+iM(a){var s,r,q,p=$.k_().a3(a)
+if(p==null||p.ga8()!==a.length)throw A.d(B.Y)
+s=p.b
+if(1>=s.length)return A.b(s,1)
+r=s[1]
+r.toString
+q=A.aa(r)
+if(4>=s.length)return A.b(s,4)
+if(s[4]!=null){if(q<=0)throw A.d(B.a3)
+q=1-q}r=s[2]
+r.toString
+r=A.aa(r)
+if(3>=s.length)return A.b(s,3)
+s=s[3]
+s.toString
+return A.hG(q,r,A.aa(s))},
+kS(a){var s,r
+try{s=A.iM(a)
+return s}catch(r){s=A.I(r)
+if(s instanceof A.v)return null
+else if(t.G.b(s))return null
+else throw r}},
+iN(a,b){var s
+A:{if(2===b){if(B.a.n(a,4)===0)s=B.a.n(a,100)!==0||B.a.n(a,400)===0
+else s=!1
+s=s?29:28
+break A}if(4===b||6===b||9===b||11===b){s=30
+break A}s=31
+break A}return s},
+eB(a,b,c,d){var s=!0
+if(a>=0)if(a<=24)if(b>=0)if(b<=59)if(c>=0)if(c<=59)if(d>=0)if(d<=999999)if(a===24)s=b!==0||c!==0||d!==0
+else s=!1
+if(s)throw A.d(A.aV("Invalid time of day."))
+return new A.aj(((a*60+b)*60+c)*1e6+d)},
+hH(a){if(a<0||a>864e8)throw A.d(A.P(a,0,864e8,"microseconds",null))
+return new A.aj(a)},
+eC(a){var s,r,q,p,o=$.k0().a3(a)
+if(o==null||o.ga8()!==a.length)throw A.d(B.Z)
+s=o.b
+if(1>=s.length)return A.b(s,1)
+r=s[1]
+r.toString
+r=A.aa(r)
+if(2>=s.length)return A.b(s,2)
+q=s[2]
+q.toString
+q=A.aa(q)
+if(3>=s.length)return A.b(s,3)
+p=s[3]
+p=A.aa(p==null?"0":p)
+if(4>=s.length)return A.b(s,4)
+s=s[4]
+return A.eB(r,q,p,A.aa(B.c.dk(s==null?"":s,6,"0")))},
+kT(a){var s,r
+try{s=A.eC(a)
+return s}catch(r){s=A.I(r)
+if(s instanceof A.v)return null
+else if(t.G.b(s))return null
+else throw r}},
+hF(a,b){if(B.a.l(b.a,36e8)===24){a=a.bs(1)
+b=A.eB(0,0,0,0)}if(a.d>109203527)throw A.d(A.aV("Local timestamp exceeds the finite PostgreSQL TIMESTAMP range."))
+return new A.aq(a,b)},
+iK(a){var s,r,q,p=$.jZ().a3(a)
+if(p==null||p.ga8()!==a.length)throw A.d(B.U)
+s=p.b
+r=s.length
+if(1>=r)return A.b(s,1)
+q=s[1]
+if(3>=r)return A.b(s,3)
+r=s[3]
+if(r==null)r=""
+r=A.iM(A.n(q)+r)
+if(2>=s.length)return A.b(s,2)
+s=s[2]
+s.toString
+return A.hF(r,A.eC(s))},
+kR(a){var s,r
+try{s=A.iK(a)
+return s}catch(r){s=A.I(r)
+if(s instanceof A.v)return null
+else if(t.G.b(s))return null
+else throw r}},
+jC(a,b,c){var s,r,q
+if(b<0||b>6)A.u(A.P(b,0,6,"digits",null))
+if(!(b>=0&&b<7))return A.b(B.x,b)
+s=B.x[b]
+r=B.a.n(a,s)
+q=r*2
+if(q<=s)q=q===s&&!c
+else q=!0
+return q?s-r:-r},
+ci:function ci(a){this.a=a},
+hy:function hy(a,b,c){this.c=a
+this.d=b
+this.$ti=c},
+a0:function a0(a,b){this.a=a
+this.b=b},
+aA:function aA(a,b){this.a=a
+this.b=b},
+az:function az(a,b){this.a=a
+this.b=b},
+ap:function ap(a,b,c,d){var _=this
+_.a=a
+_.b=b
+_.c=c
+_.d=d},
+aj:function aj(a){this.a=a},
+aq:function aq(a,b){this.a=a
+this.b=b},
+l7(a,b,c,d,e,f,g){return new A.ck(d,b,c,e,f,a,g)},
+ck:function ck(a,b,c,d,e,f,g){var _=this
+_.a=a
+_.b=b
+_.c=c
+_.d=d
+_.e=e
+_.f=f
+_.r=g},
+eY:function eY(){},
+ao:function ao(a,b){this.a=a
+this.$ti=b},
+b5:function b5(a){this.a=a},
+hZ(a,b,c){var s,r,q=new A.dz(c,A.iJ(c.b,null,!1,t.X))
+try{A.i_(a,b.$1(q))}catch(r){s=A.I(r)
+a.b6(A.bX(s))}finally{}},
+js(a,b){var s,r
+try{A.i_(a,b.$0())}catch(r){s=A.I(r)
+a.b6(A.bX(s))}},
+i_(a,b){var s,r,q,p
+A:{s=null
+if(b==null){a.a.d.sqlite3_result_null(a.b)
+break A}if(A.bJ(b)){a.a.d.sqlite3_result_int64(a.b,t.C.a(v.G.BigInt(A.O(b).i(0))))
+break A}if(b instanceof A.z){a.a.d.sqlite3_result_int64(a.b,t.C.a(v.G.BigInt(A.il(b).i(0))))
+break A}if(typeof b=="number"){a.a.d.sqlite3_result_double(a.b,b)
+break A}if(A.cI(b)){a.a.d.sqlite3_result_int64(a.b,t.C.a(v.G.BigInt(A.O(b?1:0).i(0))))
+break A}if(typeof b=="string"){r=B.h.P(b)
+q=a.a
+p=q.a2(r)
+q=q.d
+q.sqlite3_result_text(a.b,p,r.length,-1)
+q.dart_sqlite3_free(p)
+break A}q=t.L
+if(q.b(b)){q.a(b)
+q=a.a
+p=q.a2(b)
+q=q.d
+q.sqlite3_result_blob64(a.b,p,t.C.a(v.G.BigInt(J.ac(b))),-1)
+q.dart_sqlite3_free(p)
+break A}if(t.u.b(b)){A.i_(a,b.a)
+a.a.d.sqlite3_result_subtype(a.b,b.b)
+break A}s=A.u(A.ax(b,"result","Unsupported type"))}return s},
+cY:function cY(a,b,c){var _=this
+_.a=a
+_.b=b
+_.c=c
+_.r=!1},
+eq:function eq(a,b){this.a=a
+this.b=b},
+er:function er(a,b){this.a=a
+this.b=b},
+es:function es(a,b){this.a=a
+this.b=b},
+eo:function eo(a,b){this.a=a
+this.b=b},
+ep:function ep(a,b,c){this.a=a
+this.b=b
+this.c=c},
+en:function en(a,b){this.a=a
+this.b=b},
+ek:function ek(a,b,c){this.a=a
+this.b=b
+this.c=c},
+em:function em(a,b){this.a=a
+this.b=b},
+el:function el(a,b){this.a=a
+this.b=b},
+et:function et(a){this.a=a},
+ej:function ej(a,b){this.a=a
+this.b=b},
+dz:function dz(a,b){this.a=a
+this.b=b},
+eX:function eX(){},
+bB:function bB(a,b,c){var _=this
+_.a=a
+_.b=b
+_.d=c
+_.e=null
+_.f=!0
+_.r=!1
+_.w=null},
+dE:function dE(a,b,c){var _=this
+_.r=a
+_.w=-1
+_.x=$
+_.y=!1
+_.a=b
+_.c=c},
+iC(){var s=$.hs()
+return new A.d1(A.d9(t.N,t.fN),s,"dart-memory")},
+d1:function d1(a,b,c){this.d=a
+this.b=b
+this.a=c},
+dO:function dO(a,b,c){var _=this
+_.a=a
+_.b=b
+_.c=c
+_.d=0},
+mV(a){return new A.cp(A.x(A.A(A.B(new v.G.URL(a,"file:///")).pathname).split("/"),t.s),t.bB.a(new A.hk()),t.cc)},
+hk:function hk(){},
+bs:function bs(){},
+c_:function c_(){},
+dq:function dq(a,b,c){this.d=a
+this.a=b
+this.c=c},
+N:function N(a,b){this.a=a
+this.b=b},
+dS:function dS(a){this.a=a
+this.b=-1},
+dT:function dT(){},
+dU:function dU(){},
+dW:function dW(){},
+dX:function dX(){},
+eH:function eH(a,b){this.a=a
+this.b=b},
+cU:function cU(){},
+b7:function b7(a){this.a=a},
+f3(a){return new A.aZ(a)},
+ik(a,b){var s,r,q
+if(b==null)b=$.hs()
+for(s=a.length,r=0;r q)break
+k.aO()}else if(n<=2047){m=k.b
+l=m+1
+if(l>=q)break
+k.b=l
+r&2&&A.l(s)
+if(!(m =0&&r "));r.p();)r.d.C()
+if(s.a>0){s.b=s.c=s.d=s.e=s.f=null
+s.a=0
+s.aK()}q.a.C()}}
+A.dJ.prototype={
+d4(a){var s,r,q,p=this
+if(p.c)return new A.cj(B.ab,p.d,0)
+s=A.x([],t.D)
+for(r=p.b;s.length=0&&p<6))return A.b(B.i,p)
+p=B.i[p]
+t.U.a(r)
+A.hB(q)
+o=r.a
+n=o.m(0,$.E())
+if(n===0)A.u(A.aY("Division by zero"))
+m=r.b-s.b+q
+s=s.a
+s=s.q(0,m>0?A.O(10).J(m):$.Z())
+s=A.hz(s,o.q(0,m<0?A.O(10).J(-m):$.Z()),q,p).i(0)}return s},
+$S:3}
+A.fV.prototype={
+$1(a){var s,r,q
+if(a.j(0,0)==null)s=null
+else{s=A.ay(a.j(0,0))
+r=A.c(a.j(0,1))
+q=A.c(a.j(0,2))
+if(!(q>=0&&q<6))return A.b(B.i,q)
+q=s.bO(r,B.i[q]).i(0)
+s=q}return s},
+$S:3}
+A.fW.prototype={
+$1(a){var s,r,q,p
+if(a.j(0,0)==null)s=null
+else{s=A.ay(a.j(0,0))
+r=A.c(a.j(0,1))
+q=A.c(a.j(0,2))
+A.ix(r,q)
+p=s.bO(q,B.t)
+if(!p.bG(r,q))A.u(A.aV("Decimal does not fit NUMERIC("+r+", "+q+")."))
+s=p.i(0)}return s},
+$S:3}
+A.fX.prototype={
+$1(a){var s
+if(typeof a.j(0,0)=="string"){s=A.hA(A.A(a.j(0,0)))
+s=s==null?null:s.bG(A.c(a.j(0,1)),A.c(a.j(0,2)))
+s=s===!0}else s=!1
+return s?1:0},
+$S:39}
+A.fY.prototype={
+$2(a,b){var s,r,q
+if(a==b)return 0
+if(a==null)return-1
+if(b==null)return 1
+s=A.hA(a)
+r=A.hA(b)
+q=s!=null
+if(q&&r!=null)return s.m(0,r)
+if(q)return-1
+if(r!=null)return 1
+return B.c.m(a,b)},
+$S:16}
+A.fZ.prototype={
+$1(a){var s,r,q,p
+if(a.j(0,0)==null||a.j(0,1)==null)return null
+s=A.ay(a.j(0,0))
+r=A.ay(a.j(0,1))
+q=this.a
+A:{if("add"===q){p=s.S(0,r)
+break A}if("sub"===q){p=s.S(0,new A.az(r.a.D(0),r.b))
+break A}p=A.bt(s.a.q(0,r.a),s.b+r.b)
+break A}return p.i(0)},
+$S:3}
+A.bi.prototype={
+ai(a,b,c){var s,r=this
+if(r.c===0){r.a=b.a
+r.b=b.b}else{s=b.b
+if(s>r.b){r.a=r.a.q(0,A.O(10).J(s-r.b))
+r.b=s}r.a=r.a.S(0,b.a.q(0,A.O(c)).q(0,A.O(10).J(r.b-s)))}if((r.c+=c)===0){r.a=$.E()
+r.b=0}},
+an(){return this.c===0?null:A.bt(this.a,this.b).i(0)}}
+A.dL.prototype={
+aS(){return new A.ao(new A.bi($.E()),t.y)},
+b7(a,b){t.y.a(b)
+if(a.j(0,0)==null)return
+b.a.ai(0,A.ay(a.j(0,0)),1)},
+bI(a,b){t.y.a(b)
+if(a.j(0,0)==null)return
+b.a.ai(0,A.ay(a.j(0,0)),-1)},
+bS(a){var s=t.y.a(a).a
+return s.c===0?null:A.bt(s.a,s.b).i(0)},
+bF(a){return t.y.a(a).a.an()},
+$ie3:1}
+A.bD.prototype={
+an(){var s,r,q,p,o,n=this.a
+if(n.c===0)return null
+s=A.O(10).J(Math.abs(n.b))
+r=n.a
+r=r.q(0,n.b<0?s:$.Z())
+q=A.O(n.c)
+q=q.q(0,n.b>0?s:$.Z())
+p=this.b
+p.toString
+o=this.c
+o.toString
+A.hB(p)
+n=q.m(0,$.E())
+if(n===0)A.u(A.aY("Division by zero"))
+n=r.q(0,p>0?A.O(10).J(p):$.Z())
+return A.hz(n,q.q(0,p<0?A.O(10).J(-p):$.Z()),p,o).i(0)}}
+A.dK.prototype={
+aS(){return new A.ao(new A.bD(new A.bi($.E())),t._)},
+b7(a,b){var s,r=t._.a(b).a,q=A.c(a.j(0,1)),p=A.c(a.j(0,2))
+if(!(p>=0&&p<6))return A.b(B.i,p)
+s=B.i[p]
+p=r.b
+if(p!=null)p=p!==q||r.c!==s
+else p=!1
+if(p)A.u(A.J("Average scale and rounding must be constant.",null))
+r.b=q
+r.c=s
+if(a.j(0,0)!=null)r.a.ai(0,A.ay(a.j(0,0)),1)},
+bI(a,b){t._.a(b)
+if(a.j(0,0)!=null)b.a.a.ai(0,A.ay(a.j(0,0)),-1)},
+bS(a){return t._.a(a).a.an()},
+bF(a){return t._.a(a).a.an()},
+$ie3:1}
+A.dR.prototype={}
+A.h4.prototype={
+$3(a,b,c){var s,r,q,p,o,n,m
+A:{if("time"===b){s=A.ky(a).a
+s=A.hH(s+A.jC(s,c,!1))
+break A}if("local_datetime"===b){s=A.kx(a).bT(c)
+break A}if("instant"===b){r=A.fR(A.hY(a))
+q=A.hF(A.hG(A.eO(r),A.eM(r),A.eJ(r)),A.eB(A.eK(r),A.eL(r),A.eN(r),A.hJ(r)*1000+r.b)).bT(c)
+p=q.a
+s=q.b.a
+o=B.a.l(s,36e8)
+n=B.a.n(B.a.l(s,6e7),60)
+m=B.a.n(B.a.l(s,1e6),60)
+s=B.a.n(s,1e6)
+s=A.fR(A.it(p.a,p.b,p.c,o,n,m,B.a.l(s,1000),B.a.n(s,1000)))
+break A}s=A.u(A.J("Unknown temporal storage.",null))}return s},
+$S:49}
+A.h_.prototype={
+$1(a){var s,r,q,p,o
+if(a.j(0,0)==null)return null
+s=A.A(a.j(0,1))
+r=A.c(a.j(0,2))
+q=this.a
+p=a.j(0,0)
+p.toString
+o=q.$3(p,s,r)
+if(this.b){p=a.j(0,0)
+p.toString
+return J.ab(o,q.$3(p,s,6))?1:0}return o instanceof A.a3?A.jq(o):J.b4(o)},
+$S:12}
+A.h0.prototype={
+$1(a){return a.j(0,0)==null?null:A.jq(t.k.a(A.hY(a.j(0,0))))},
+$S:12}
+A.h2.prototype={
+$1$2(a,b,c){A.mC(c,c.h("t<0>"),"T","call")
+this.a.bz(new A.h3(c.h("0?(h)").a(b)),"orm_"+a+"_v1")},
+$2(a,b){return this.$1$2(a,b,t.q)},
+$S:23}
+A.h3.prototype={
+$2(a,b){var s,r,q
+if(a==b)return 0
+if(a==null)return-1
+if(b==null)return 1
+s=this.a
+r=s.$1(a)
+q=s.$1(b)
+s=r!=null
+if(s&&q!=null)return J.km(r,q)
+if(s)return-1
+if(q!=null)return 1
+return B.c.m(a,b)},
+$S:16}
+A.h1.prototype={
+$1(a){var s,r
+try{s=A.hY(a)
+return s}catch(r){if(A.I(r) instanceof A.v)return null
+else throw r}},
+$S:24}
+A.hp.prototype={
+$1(a){return A.A(a)},
+$S:25}
+A.hq.prototype={
+$1(a){var s=J.ko(t.W.a(a),A.n6(),t.X)
+s=A.da(s,s.$ti.h("V.E"))
+return s},
+$S:21}
+A.ci.prototype={}
+A.hy.prototype={}
+A.a0.prototype={
+i(a){return"OrmException("+this.a+"): "+this.b}}
+A.aA.prototype={
+aH(){return"DecimalRounding."+this.b}}
+A.az.prototype={
+S(a,b){var s=this.b,r=b.b,q=Math.max(s,r)
+return A.bt(this.a.q(0,A.O(10).J(q-s)).S(0,b.a.q(0,A.O(10).J(q-r))),q)},
+bO(a,b){var s
+A.hB(a)
+s=this.b
+if(a>=s)return this
+return A.hz(this.a,A.O(10).J(s-a),a,b)},
+bG(a,b){var s,r
+A.ix(a,b)
+s=this.a
+r=s.m(0,$.E())
+if(r!==0){r=this.b
+if(r<=b)s=(s.a?s.D(0):s).i(0).length-r<=a-b
+else s=!1}else s=!0
+return s},
+m(a,b){var s,r,q,p,o,n,m
+t.U.a(b)
+s=this.a
+r=b.a
+if(s.gU(0)!==r.gU(0))return B.a.m(s.gU(0),r.gU(0))
+q=s.m(0,$.E())
+if(q===0)return 0
+q=this.b
+p=(s.a?s.D(0):s).i(0).length-q
+o=b.b
+n=(r.a?r.D(0):r).i(0).length-o
+if(p!==n)return B.a.m(p,n)*s.gU(0)
+m=Math.max(q,o)
+return s.q(0,A.O(10).J(m-q)).m(0,r.q(0,A.O(10).J(m-o)))},
+I(a,b){var s
+if(b==null)return!1
+if(b instanceof A.az){s=this.a.m(0,b.a)
+s=s===0&&this.b===b.b}else s=!1
+return s},
+gu(a){return A.eG(this.a,this.b,B.f,B.f)},
+i(a){var s,r=this.a,q=r.a,p=(q?r.D(0):r).i(0),o=q?"-":""
+r=this.b
+if(r<=0)return o+p+B.c.q("0",-r)
+q=p.length
+if(r>=q)return o+"0."+B.c.q("0",r-q)+p
+s=q-r
+return o+B.c.a1(p,0,s)+"."+B.c.b8(p,s)},
+$it:1}
+A.ap.prototype={
+bs(a){var s=this.d
+if(a<0-s||a>2147483493-s)throw A.d(A.aV("Date addition exceeds the supported range."))
+return A.iL(s+a)},
+gaB(){var s=this.a
+return B.c.R(B.a.i(s<=0?1-s:s),4,"0")+"-"+B.c.R(B.a.i(this.b),2,"0")+"-"+B.c.R(B.a.i(this.c),2,"0")},
+i(a){var s=this.gaB()
+return s+(this.a<=0?" BC":"")},
+m(a,b){return B.a.m(this.d,t.A.a(b).d)},
+I(a,b){if(b==null)return!1
+return b instanceof A.ap&&this.d===b.d},
+gu(a){return B.a.gu(this.d)},
+$it:1}
+A.aj.prototype={
+i(a){var s=this.a
+return B.c.R(B.a.i(B.a.l(s,36e8)),2,"0")+":"+B.c.R(B.a.i(B.a.n(B.a.l(s,6e7),60)),2,"0")+":"+B.c.R(B.a.i(B.a.n(B.a.l(s,1e6),60)),2,"0")+"."+B.c.R(B.a.i(B.a.n(s,1e6)),6,"0")},
+m(a,b){return B.a.m(this.a,t.t.a(b).a)},
+I(a,b){if(b==null)return!1
+return b instanceof A.aj&&this.a===b.a},
+gu(a){return B.a.gu(this.a)},
+$it:1}
+A.aq.prototype={
+bT(a){var s=864e8,r=this.b.a,q=this.a,p=A.iy(A.jC(r,a,q.d<2451545)).a,o=A.fS(p,s),n=r+B.a.n(p,s)
+return A.hF(q.bs(o+B.a.l(n,s)),A.hH(B.a.n(n,s)))},
+i(a){var s=this.a,r=s.gaB(),q=this.b.i(0)
+s=s.a<=0?" BC":""
+return r+" "+q+s},
+m(a,b){var s
+t.B.a(b)
+s=B.a.m(this.a.d,b.a.d)
+return s===0?B.a.m(this.b.a,b.b.a):s},
+I(a,b){var s,r
+if(b==null)return!1
+s=!1
+if(b instanceof A.aq){r=b.a
+if(this.a.d===r.d)s=this.b.a===b.b.a}return s},
+gu(a){return A.eG(this.a,this.b,B.f,B.f)},
+$it:1}
+A.ck.prototype={
+i(a){var s,r,q=this,p=q.e
+p=p==null?"":"while "+p+", "
+p="SqliteException("+q.c+"): "+p+q.a
+s=q.b
+if(s!=null)p=p+", "+s
+s=q.f
+if(s!=null){r=q.d
+r=r!=null?" (at position "+A.n(r)+"): ":": "
+s=p+"\n Causing statement"+r+s
+p=q.r
+if(p!=null){r=A.am(p)
+r=s+(", parameters: "+new A.a5(p,r.h("h(1)").a(new A.eY()),r.h("a5<1,h>")).bJ(0,", "))
+p=r}else p=s}return p.charCodeAt(0)==0?p:p}}
+A.eY.prototype={
+$1(a){if(t.I.b(a))return"blob ("+a.length+" bytes)"
+else return J.b4(a)},
+$S:27}
+A.ao.prototype={}
+A.b5.prototype={}
+A.cY.prototype={
+aN(a){var s=B.h.P(a)
+if(s.length>255)throw A.d(A.ax(a,"functionName","Must not exceed 255 bytes when utf-8 encoded"))
+return new Uint8Array(A.lZ(s))},
+by(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j,i=null
+e.h("e3<0>").a(c)
+s=this.aN(d)
+r=A.i7(!0,!0,!1)
+q=new A.eq(e,c)
+p=this.b
+o=t.fB
+n=o.a(new A.eo(e,c))
+m=t.bN
+l=m.a(new A.em(q,c))
+m=m.a(new A.er(q,c))
+q=o.a(new A.en(c,q))
+o=p.a
+k=o.V(s,1)
+o=o.d
+j=A.h8(o,"dart_sqlite3_create_window_function",[p.b,k,a.a,r,new A.a7(i,m,n,q,l,i)],t.S)
+o.dart_sqlite3_free(k)
+if(j!==0)A.cM(this,j,i,i,i)},
+a7(a,b,c,d,e){var s,r
+t.e.a(d)
+s=this.aN(e)
+r=this.b.c5(A.i7(!0,c,!1),s,a.a,new A.et(d))
+if(r!==0)A.cM(this,r,null,null,null)},
+aT(a,b,c,d){return this.a7(a,b,!0,c,d)},
+bz(a,b){var s,r,q,p,o,n,m=null
+t.aa.a(a)
+s=this.b
+r=this.aN(b)
+q=A.i7(!1,!1,!1)
+p=s.a
+o=p.V(r,1)
+p=p.d
+n=A.c(p.dart_sqlite3_create_collation(s.b,o,q,new A.a7(m,m,m,m,m,a)))
+p.dart_sqlite3_free(o)
+if(n!==0)A.cM(this,n,m,m,m)},
+C(){var s,r,q,p=this
+if(p.r)return
+p.r=!0
+s=p.b
+r=s.b4()
+q=r!==0?A.i6(p.a,s,r,"closing database",null,null):null
+if(q!=null)throw A.d(q)},
+a9(a){var s,r,q,p=this,o=B.y
+if(J.ac(o)===0){if(p.r)A.u(A.at("This database has already been closed"))
+r=p.b
+q=r.a
+s=q.V(B.h.P(a),1)
+q=q.d
+r=A.h8(q,"sqlite3_exec",[r.b,s,0,0,0],t.S)
+q.dart_sqlite3_free(s)
+if(r!==0)A.cM(p,r,"executing",a,o)}else{s=p.al(a,!0)
+try{r=s
+q=t.W.a(o)
+r.aG()
+r.Y()
+r.az(new A.b7(q))
+r.cn()}finally{s.C()}}},
+ct(a,b,a0,a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this
+if(c.r)A.u(A.at("This database has already been closed"))
+s=B.h.P(a)
+r=c.b
+t.L.a(s)
+q=r.a
+p=q.a2(s)
+o=q.d
+n=A.c(o.dart_sqlite3_malloc(4))
+o=A.c(o.dart_sqlite3_malloc(4))
+m=new A.fc(r,p,n,o)
+l=A.x([],t.bb)
+k=new A.ej(m,l)
+for(r=s.length,q=q.b,n=t.a,j=0;j (h)","e?(e?{parameter:aO})","e?(e?)","ap?(h)","a(X,U)","M(e,aW)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti"),rttc:{"2;":(a,b)=>c=>c instanceof A.cy&&a.b(c.a)&&b.b(c.b),"2;file,outFlags":(a,b)=>c=>c instanceof A.bF&&a.b(c.a)&&b.b(c.b),"2;result,resultCode":(a,b)=>c=>c instanceof A.cz&&a.b(c.a)&&b.b(c.b)}}
+A.lG(v.typeUniverse,JSON.parse('{"aB":"aT","dl":"aT","bg":"aT","nk":"aU","r":{"j":["1"],"i":["1"],"p":[],"f":["1"]},"d5":{"aO":[],"o":[]},"c1":{"o":[]},"c2":{"p":[]},"aT":{"p":[]},"d4":{"cf":[]},"ey":{"r":["1"],"j":["1"],"i":["1"],"p":[],"f":["1"]},"bR":{"K":["1"]},"bv":{"m":[],"a2":[],"t":["a2"]},"c0":{"m":[],"a":[],"a2":[],"t":["a2"],"o":[]},"d6":{"m":[],"a2":[],"t":["a2"],"o":[]},"aS":{"h":[],"t":["h"],"eI":[],"o":[]},"bx":{"q":[]},"i":{"f":["1"]},"V":{"i":["1"],"f":["1"]},"cn":{"V":["1"],"i":["1"],"f":["1"],"V.E":"1","f.E":"1"},"b9":{"K":["1"]},"bb":{"f":["2"],"f.E":"2"},"bV":{"bb":["1","2"],"i":["2"],"f":["2"],"f.E":"2"},"c6":{"K":["2"]},"a5":{"V":["2"],"i":["2"],"f":["2"],"V.E":"2","f.E":"2"},"cp":{"f":["1"],"f.E":"1"},"bh":{"K":["1"]},"bd":{"f":["1"],"f.E":"1"},"bW":{"bd":["1"],"i":["1"],"f":["1"],"f.E":"1"},"ch":{"K":["1"]},"ce":{"V":["1"],"i":["1"],"f":["1"],"V.E":"1","f.E":"1"},"cy":{"b0":[],"aH":[]},"bF":{"b0":[],"aH":[]},"cz":{"b0":[],"aH":[]},"bT":{"ba":["1","2"]},"bU":{"bT":["1","2"],"ba":["1","2"]},"cb":{"aE":[],"q":[]},"d8":{"q":[]},"dw":{"q":[]},"cA":{"aW":[]},"aP":{"b6":[]},"cS":{"b6":[]},"cT":{"b6":[]},"du":{"b6":[]},"dt":{"b6":[]},"br":{"b6":[]},"dr":{"q":[]},"c3":{"a_":["1","2"],"ba":["1","2"],"a_.K":"1","a_.V":"2"},"c5":{"i":["1"],"f":["1"],"f.E":"1"},"c4":{"K":["1"]},"eA":{"i":["1"],"f":["1"],"f.E":"1"},"b8":{"K":["1"]},"b0":{"aH":[]},"d7":{"l4":[],"eI":[]},"by":{"aU":[],"p":[],"o":[]},"aU":{"p":[],"o":[]},"c9":{"p":[]},"c7":{"ir":[],"p":[],"o":[]},"L":{"a4":["1"],"p":[]},"c8":{"k":["m"],"L":["m"],"j":["m"],"a4":["m"],"i":["m"],"p":[],"f":["m"],"T":["m"]},"a6":{"k":["a"],"L":["a"],"j":["a"],"a4":["a"],"i":["a"],"p":[],"f":["a"],"T":["a"]},"dc":{"k":["m"],"y":["m"],"L":["m"],"j":["m"],"a4":["m"],"i":["m"],"p":[],"f":["m"],"T":["m"],"o":[],"k.E":"m"},"dd":{"k":["m"],"y":["m"],"L":["m"],"j":["m"],"a4":["m"],"i":["m"],"p":[],"f":["m"],"T":["m"],"o":[],"k.E":"m"},"de":{"a6":[],"k":["a"],"y":["a"],"L":["a"],"j":["a"],"a4":["a"],"i":["a"],"p":[],"f":["a"],"T":["a"],"o":[],"k.E":"a"},"df":{"a6":[],"k":["a"],"y":["a"],"L":["a"],"j":["a"],"a4":["a"],"i":["a"],"p":[],"f":["a"],"T":["a"],"o":[],"k.E":"a"},"dg":{"a6":[],"k":["a"],"y":["a"],"L":["a"],"j":["a"],"a4":["a"],"i":["a"],"p":[],"f":["a"],"T":["a"],"o":[],"k.E":"a"},"dh":{"a6":[],"hM":[],"k":["a"],"y":["a"],"L":["a"],"j":["a"],"a4":["a"],"i":["a"],"p":[],"f":["a"],"T":["a"],"o":[],"k.E":"a"},"di":{"a6":[],"k":["a"],"y":["a"],"L":["a"],"j":["a"],"a4":["a"],"i":["a"],"p":[],"f":["a"],"T":["a"],"o":[],"k.E":"a"},"ca":{"a6":[],"k":["a"],"y":["a"],"L":["a"],"j":["a"],"a4":["a"],"i":["a"],"p":[],"f":["a"],"T":["a"],"o":[],"k.E":"a"},"bc":{"a6":[],"f1":[],"k":["a"],"y":["a"],"L":["a"],"j":["a"],"a4":["a"],"i":["a"],"p":[],"f":["a"],"T":["a"],"o":[],"k.E":"a"},"dM":{"q":[]},"bG":{"aE":[],"q":[]},"ad":{"q":[]},"cq":{"dI":["1"]},"F":{"ai":["1"]},"cG":{"j0":[]},"dV":{"cG":[],"j0":[]},"k":{"j":["1"],"i":["1"],"f":["1"]},"a_":{"ba":["1","2"]},"d_":{"bS":["h","j"]},"dy":{"bS":["h","j"]},"e4":{"t":["e4"]},"a3":{"t":["a3"]},"m":{"a2":[],"t":["a2"]},"aR":{"t":["aR"]},"a":{"a2":[],"t":["a2"]},"j":{"i":["1"],"f":["1"]},"a2":{"t":["a2"]},"h":{"t":["h"],"eI":[]},"z":{"e4":[],"t":["e4"]},"ct":{"kE":["1"]},"cO":{"q":[]},"aE":{"q":[]},"ah":{"q":[]},"aC":{"q":[]},"bZ":{"aC":[],"q":[]},"co":{"q":[]},"dv":{"q":[]},"be":{"q":[]},"cV":{"q":[]},"dk":{"q":[]},"cl":{"q":[]},"d2":{"q":[]},"e_":{"aW":[]},"dQ":{"l_":[]},"dL":{"e3":["bi"]},"dK":{"e3":["bD"]},"az":{"t":["az"]},"ap":{"t":["ap"]},"aj":{"t":["aj"]},"aq":{"t":["aq"]},"as":{"j":["e?"],"i":["e?"],"f":["e?"]},"cY":{"kz":[]},"dz":{"k":["e?"],"as":[],"j":["e?"],"i":["e?"],"f":["e?"],"k.E":"e?"},"bB":{"cU":[]},"dE":{"c_":[],"bs":[],"K":["N"]},"d1":{"H":[]},"dO":{"X":[]},"N":{"dx":["h","@"],"a_":["h","@"],"ba":["h","@"],"a_.K":"h","a_.V":"@"},"c_":{"bs":[],"K":["N"]},"dq":{"k":["N"],"dj":["N"],"j":["N"],"i":["N"],"bs":[],"f":["N"],"k.E":"N"},"dS":{"K":["N"]},"b7":{"l9":[]},"cR":{"H":[]},"cQ":{"X":[]},"au":{"cc":[]},"dC":{"l0":[]},"dA":{"l1":[]},"dD":{"l2":[]},"b_":{"aD":[]},"bC":{"k":["au"],"j":["au"],"i":["au"],"f":["au"],"k.E":"au"},"cg":{"H":[]},"dY":{"X":[]},"bf":{"aG":["a"],"k":["a"],"j":["a"],"i":["a"],"f":["a"],"k.E":"a","aG.E":"a"},"aG":{"k":["1"],"j":["1"],"i":["1"],"f":["1"]},"dP":{"aG":["a"],"k":["a"],"j":["a"],"i":["a"],"f":["a"]},"kK":{"y":["a"],"j":["a"],"i":["a"],"f":["a"]},"f1":{"y":["a"],"j":["a"],"i":["a"],"f":["a"]},"ld":{"y":["a"],"j":["a"],"i":["a"],"f":["a"]},"kI":{"y":["a"],"j":["a"],"i":["a"],"f":["a"]},"hM":{"y":["a"],"j":["a"],"i":["a"],"f":["a"]},"kJ":{"y":["a"],"j":["a"],"i":["a"],"f":["a"]},"lc":{"y":["a"],"j":["a"],"i":["a"],"f":["a"]},"kF":{"y":["m"],"j":["m"],"i":["m"],"f":["m"]},"kG":{"y":["m"],"j":["m"],"i":["m"],"f":["m"]}}'))
+A.lF(v.typeUniverse,JSON.parse('{"L":1,"cW":2}'))
+var u={c:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type"}
+var t=(function rtii(){var s=A.b2
+return{_:s("ao=0))return A.b(a4,l)
+o=o+n+a4[l]
+k=a5[q]
+j=k.w
+if(!(j===2||j===3||j===4||j===5||k===p))o+=" extends "+A.Y(k,a4)}o+=">"}else o=""
+p=a3.x
+i=a3.y
+h=i.a
+g=h.length
+f=i.b
+e=f.length
+d=i.c
+c=d.length
+b=A.Y(p,a4)
+for(a="",a0="",q=0;q0){n=A.bm(a,b,r,0)
+m=A.bL(a,c,r,0)
+return A.hX(a,n,m,c!==m)}}l=new A.al(null,null)
+l.w=12
+l.x=b
+l.y=c
+l.as=d
+return A.b1(a,l)},
+lq(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}},
+lw(a){var s,r,q,p,o,n,m,l=a.r,k=a.s
+for(s=l.length,r=0;r=48&&q<=57)r=A.ls(r+1,q,l,k)
+else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.jb(a,r,l,k,!1)
+else if(q===46)r=A.jb(a,r,l,k,!0)
+else{++r
+switch(q){case 44:break
+case 58:k.push(!1)
+break
+case 33:k.push(!0)
+break
+case 59:k.push(A.bk(a.u,a.e,k.pop()))
+break
+case 94:k.push(A.lE(a.u,k.pop()))
+break
+case 35:k.push(A.cD(a.u,5,"#"))
+break
+case 64:k.push(A.cD(a.u,2,"@"))
+break
+case 126:k.push(A.cD(a.u,3,"~"))
+break
+case 60:k.push(a.p)
+a.p=k.length
+break
+case 62:A.lu(a,k)
+break
+case 38:A.lt(a,k)
+break
+case 63:p=a.u
+k.push(A.jf(p,A.bk(p,a.e,k.pop()),a.n))
+break
+case 47:p=a.u
+k.push(A.je(p,A.bk(p,a.e,k.pop()),a.n))
+break
+case 40:k.push(-3)
+k.push(a.p)
+a.p=k.length
+break
+case 41:A.lr(a,k)
+break
+case 91:k.push(a.p)
+a.p=k.length
+break
+case 93:o=k.splice(a.p)
+A.jc(a.u,a.e,o)
+a.p=k.pop()
+k.push(o)
+k.push(-1)
+break
+case 123:k.push(a.p)
+a.p=k.length
+break
+case 125:o=k.splice(a.p)
+A.lx(a.u,a.e,o)
+a.p=k.pop()
+k.push(o)
+k.push(-2)
+break
+case 43:n=l.indexOf("(",r)
+k.push(l.substring(r,n))
+k.push(-4)
+k.push(a.p)
+a.p=k.length
+r=n+1
+break
+default:throw"Bad character "+q}}}m=k.pop()
+return A.bk(a.u,a.e,m)},
+ls(a,b,c,d){var s,r,q=b-48
+for(s=c.length;a=48&&r<=57))break
+q=q*10+(r-48)}d.push(q)
+return a},
+jb(a,b,c,d,e){var s,r,q,p,o,n,m=b+1
+for(s=c.length;m>>0)-97&65535)<26||r===95||r===36||r===124))q=r>=48&&r<=57
+else q=!0
+if(!q)break}}p=c.substring(b,m)
+if(e){s=a.u
+o=a.e
+if(o.w===9)o=o.x
+n=A.lI(s,o.x)[p]
+if(n==null)A.u('No "'+p+'" in "'+A.l5(o)+'"')
+d.push(A.cE(s,o,n))}else d.push(p)
+return m},
+lu(a,b){var s,r=a.u,q=A.ja(a,b),p=b.pop()
+if(typeof p=="string")b.push(A.cC(r,p,q))
+else{s=A.bk(r,a.e,p)
+switch(s.w){case 11:b.push(A.hX(r,s,q,a.n))
+break
+default:b.push(A.hW(r,s,q))
+break}}},
+lr(a,b){var s,r,q,p=a.u,o=b.pop(),n=null,m=null
+if(typeof o=="number")switch(o){case-1:n=b.pop()
+break
+case-2:m=b.pop()
+break
+default:b.push(o)
+break}else b.push(o)
+s=A.ja(a,b)
+o=b.pop()
+switch(o){case-3:o=b.pop()
+if(n==null)n=p.sEA
+if(m==null)m=p.sEA
+r=A.bk(p,a.e,o)
+q=new A.dN()
+q.a=s
+q.b=n
+q.c=m
+b.push(A.jd(p,r,q))
+return
+case-4:b.push(A.jg(p,b.pop(),s))
+return
+default:throw A.d(A.cP("Unexpected state under `()`: "+A.n(o)))}},
+lt(a,b){var s=b.pop()
+if(0===s){b.push(A.cD(a.u,1,"0&"))
+return}if(1===s){b.push(A.cD(a.u,4,"1&"))
+return}throw A.d(A.cP("Unexpected extended operation "+A.n(s)))},
+ja(a,b){var s=b.splice(a.p)
+A.jc(a.u,a.e,s)
+a.p=b.pop()
+return s},
+bk(a,b,c){if(typeof c=="string")return A.cC(a,c,a.sEA)
+else if(typeof c=="number"){b.toString
+return A.lv(a,b,c)}else return c},
+jc(a,b,c){var s,r=c.length
+for(s=0;s0?new Array(a):v.typeUniverse.sEA},
+al:function al(a,b){var _=this
+_.a=a
+_.b=b
+_.r=_.f=_.d=_.c=null
+_.w=0
+_.as=_.Q=_.z=_.y=_.x=null},
+dN:function dN(){this.c=this.b=this.a=null},
+fH:function fH(a){this.a=a},
+dM:function dM(){},
+bG:function bG(a){this.a=a},
+lf(){var s,r,q
+if(self.scheduleImmediate!=null)return A.mz()
+if(self.MutationObserver!=null&&self.document!=null){s={}
+r=self.document.createElement("div")
+q=self.document.createElement("span")
+s.a=null
+new self.MutationObserver(A.bN(new A.fe(s),1)).observe(r,{childList:true})
+return new A.fd(s,r,q)}else if(self.setImmediate!=null)return A.mA()
+return A.mB()},
+lg(a){self.scheduleImmediate(A.bN(new A.ff(t.M.a(a)),0))},
+lh(a){self.setImmediate(A.bN(new A.fg(t.M.a(a)),0))},
+li(a){t.M.a(a)
+A.ly(0,a)},
+ly(a,b){var s=new A.fF()
+s.cb(a,b)
+return s},
+aM(a){return new A.dF(new A.F($.w,a.h("F<0>")),a.h("dF<0>"))},
+aK(a,b){a.$2(0,null)
+b.b=!0
+return b.a},
+R(a,b){A.lQ(a,b)},
+aJ(a,b){b.aQ(a)},
+aI(a,b){b.aR(A.I(a),A.bp(a))},
+lQ(a,b){var s,r,q=new A.fP(b),p=new A.fQ(b)
+if(a instanceof A.F)a.bp(q,p,t.z)
+else{s=t.z
+if(a instanceof A.F)a.b0(q,p,s)
+else{r=new A.F($.w,t.d)
+r.a=8
+r.c=a
+r.bp(q,p,s)}}},
+aN(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e)
+break}catch(r){e=r
+d=c}}}}(a,1)
+return $.w.bM(new A.h7(s),t.H,t.S,t.z)},
+hx(a){var s
+if(t.Q.b(a)){s=a.ga0()
+if(s!=null)return s}return B.k},
+m6(a,b){if($.w===B.d)return null
+return null},
+m7(a,b){if($.w!==B.d)A.m6(a,b)
+if(b==null)if(t.Q.b(a)){b=a.ga0()
+if(b==null){A.iU(a,B.k)
+b=B.k}}else b=B.k
+else if(t.Q.b(a))A.iU(a,b)
+return new A.ad(a,b)},
+hV(a,b,c){var s,r,q,p,o={},n=o.a=a
+for(s=t.d;r=n.a,(r&4)!==0;n=a){a=s.a(n.c)
+o.a=a}if(n===b){s=A.l8()
+b.aw(new A.ad(new A.ah(!0,n,null,"Cannot complete a future with itself"),s))
+return}q=b.a&1
+s=n.a=r|q
+if((s&24)===0){p=t.F.a(b.c)
+b.a=b.a&1|4
+b.c=n
+n.bh(p)
+return}if(!c)if(b.c==null)n=(s&16)===0||q!==0
+else n=!1
+else n=!0
+if(n){p=b.ag()
+b.af(o.a)
+A.bE(b,p)
+return}b.a^=2
+A.e1(null,null,b.b,t.M.a(new A.fs(o,b)))},
+bE(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d={},c=d.a=a
+for(s=t.n,r=t.F;;){q={}
+p=c.a
+o=(p&16)===0
+n=!o
+if(b==null){if(n&&(p&1)===0){m=s.a(c.c)
+A.h5(m.a,m.b)}return}q.a=b
+l=b.a
+for(c=b;l!=null;c=l,l=k){c.a=null
+A.bE(d.a,c)
+q.a=l
+k=l.a}p=d.a
+j=p.c
+q.b=n
+q.c=j
+if(o){i=c.c
+i=(i&1)!==0||(i&15)===8}else i=!0
+if(i){h=c.b.b
+if(n){p=p.b===h
+p=!(p||p)}else p=!1
+if(p){s.a(j)
+A.h5(j.a,j.b)
+return}g=$.w
+if(g!==h)$.w=h
+else g=null
+c=c.c
+if((c&15)===8)new A.fw(q,d,n).$0()
+else if(o){if((c&1)!==0)new A.fv(q,j).$0()}else if((c&2)!==0)new A.fu(d,q).$0()
+if(g!=null)$.w=g
+c=q.c
+if(c instanceof A.F){p=q.a.$ti
+p=p.h("ai<2>").b(c)||!p.y[1].b(c)}else p=!1
+if(p){f=q.a.b
+if((c.a&24)!==0){e=r.a(f.c)
+f.c=null
+b=f.ah(e)
+f.a=c.a&30|f.a&1
+f.c=c.c
+d.a=c
+continue}else A.hV(c,f,!0)
+return}}f=q.a.b
+e=r.a(f.c)
+f.c=null
+b=f.ah(e)
+c=q.b
+p=q.c
+if(!c){f.$ti.c.a(p)
+f.a=8
+f.c=p}else{s.a(p)
+f.a=f.a&1|16
+f.c=p}d.a=f
+c=f}},
+mo(a,b){var s
+if(t.R.b(a))return b.bM(a,t.z,t.K,t.l)
+s=t.x
+if(s.b(a))return s.a(a)
+throw A.d(A.ax(a,"onError",u.c))},
+mk(){var s,r
+for(s=$.bK;s!=null;s=$.bK){$.cK=null
+r=s.b
+$.bK=r
+if(r==null)$.cJ=null
+s.a.$0()}},
+mu(){$.i2=!0
+try{A.mk()}finally{$.cK=null
+$.i2=!1
+if($.bK!=null)$.id().$1(A.jE())}},
+jB(a){var s=new A.dG(a),r=$.cJ
+if(r==null){$.bK=$.cJ=s
+if(!$.i2)$.id().$1(A.jE())}else $.cJ=r.b=s},
+mr(a){var s,r,q,p=$.bK
+if(p==null){A.jB(a)
+$.cK=$.cJ
+return}s=new A.dG(a)
+r=$.cK
+if(r==null){s.b=p
+$.bK=$.cK=s}else{q=r.b
+s.b=q
+$.cK=r.b=s
+if(q==null)$.cJ=s}},
+nn(a,b){A.h9(a,"stream",t.K)
+return new A.dZ(b.h("dZ<0>"))},
+h5(a,b){A.mr(new A.h6(a,b))},
+jy(a,b,c,d,e){var s,r=$.w
+if(r===c)return d.$0()
+$.w=c
+s=r
+try{r=d.$0()
+return r}finally{$.w=s}},
+jz(a,b,c,d,e,f,g){var s,r=$.w
+if(r===c)return d.$1(e)
+$.w=c
+s=r
+try{r=d.$1(e)
+return r}finally{$.w=s}},
+mq(a,b,c,d,e,f,g,h,i){var s,r=$.w
+if(r===c)return d.$2(e,f)
+$.w=c
+s=r
+try{r=d.$2(e,f)
+return r}finally{$.w=s}},
+e1(a,b,c,d){t.M.a(d)
+if(B.d!==c){d=c.cC(d)
+d=d}A.jB(d)},
+fe:function fe(a){this.a=a},
+fd:function fd(a,b,c){this.a=a
+this.b=b
+this.c=c},
+ff:function ff(a){this.a=a},
+fg:function fg(a){this.a=a},
+fF:function fF(){},
+fG:function fG(a,b){this.a=a
+this.b=b},
+dF:function dF(a,b){this.a=a
+this.b=!1
+this.$ti=b},
+fP:function fP(a){this.a=a},
+fQ:function fQ(a){this.a=a},
+h7:function h7(a){this.a=a},
+ad:function ad(a,b){this.a=a
+this.b=b},
+dI:function dI(){},
+cq:function cq(a,b){this.a=a
+this.$ti=b},
+bj:function bj(a,b,c,d,e){var _=this
+_.a=null
+_.b=a
+_.c=b
+_.d=c
+_.e=d
+_.$ti=e},
+F:function F(a,b){var _=this
+_.a=0
+_.b=a
+_.c=null
+_.$ti=b},
+fp:function fp(a,b){this.a=a
+this.b=b},
+ft:function ft(a,b){this.a=a
+this.b=b},
+fs:function fs(a,b){this.a=a
+this.b=b},
+fr:function fr(a,b){this.a=a
+this.b=b},
+fq:function fq(a,b){this.a=a
+this.b=b},
+fw:function fw(a,b,c){this.a=a
+this.b=b
+this.c=c},
+fx:function fx(a,b){this.a=a
+this.b=b},
+fy:function fy(a){this.a=a},
+fv:function fv(a,b){this.a=a
+this.b=b},
+fu:function fu(a,b){this.a=a
+this.b=b},
+dG:function dG(a){this.a=a
+this.b=null},
+dZ:function dZ(a){this.$ti=a},
+cG:function cG(){},
+dV:function dV(){},
+fD:function fD(a,b){this.a=a
+this.b=b},
+fE:function fE(a,b,c){this.a=a
+this.b=b
+this.c=c},
+h6:function h6(a,b){this.a=a
+this.b=b},
+d9(a,b){return new A.c3(a.h("@<0>").E(b).h("c3<1,2>"))},
+hI(a){var s,r
+if(A.i9(a))return"{...}"
+s=new A.cm("")
+try{r={}
+B.b.t($.a9,a)
+s.a+="{"
+r.a=!0
+a.aU(0,new A.eD(r,s))
+s.a+="}"}finally{if(0>=$.a9.length)return A.b($.a9,-1)
+$.a9.pop()}r=s.a
+return r.charCodeAt(0)==0?r:r},
+k:function k(){},
+a_:function a_(){},
+eD:function eD(a,b){this.a=a
+this.b=b},
+lK(a,b,c){var s,r,q,p,o,n=c-b
+if(n<=4096)s=$.kh()
+else s=new Uint8Array(n)
+for(r=a.length,q=0;q
>>0)+(r[6]>>>4)-1075
+n=new Uint16Array(4)
+n[0]=(r[1]<<8>>>0)+r[0]
+n[1]=(r[3]<<8>>>0)+r[2]
+n[2]=(r[5]<<8>>>0)+r[4]
+n[3]=r[6]&15|16
+m=new A.z(!1,n,4)
+if(o<0)l=m.Z(0,-o)
+else l=o>0?m.O(0,o):m
+if(s)return l.D(0)
+return l},
+hT(a,b,c,d){var s,r,q,p,o
+if(b===0)return 0
+if(c===0&&d===a)return b
+for(s=b-1,r=a.length,q=d.$flags|0;s>=0;--s){p=s+c
+if(!(s=0&&b=0;e=l,c=o){o=c+1
+if(!(c=0&&e=1)return a.$1(b)
+return a.$0()},
+lS(a,b,c,d){t.Z.a(a)
+A.c(d)
+if(d>=2)return a.$2(b,c)
+if(d===1)return a.$1(b)
+return a.$0()},
+lT(a,b,c,d,e){t.Z.a(a)
+A.c(e)
+if(e>=3)return a.$3(b,c,d)
+if(e===2)return a.$2(b,c)
+if(e===1)return a.$1(b)
+return a.$0()},
+lU(a,b,c,d,e,f){t.Z.a(a)
+A.c(f)
+if(f>=4)return a.$4(b,c,d,e)
+if(f===3)return a.$3(b,c,d)
+if(f===2)return a.$2(b,c)
+if(f===1)return a.$1(b)
+return a.$0()},
+lV(a,b,c,d,e,f,g){t.Z.a(a)
+A.c(g)
+if(g>=5)return a.$5(b,c,d,e,f)
+if(g===4)return a.$4(b,c,d,e)
+if(g===3)return a.$3(b,c,d)
+if(g===2)return a.$2(b,c)
+if(g===1)return a.$1(b)
+return a.$0()},
+mL(a,b,c){return c.a(a[b])},
+h8(a,b,c,d){return d.a(a[b].apply(a,c))},
+bP(a,b){var s=new A.F($.w,b.h("F<0>")),r=new A.cq(s,b.h("cq<0>"))
+a.then(A.bN(new A.hl(r,b),1),A.bN(new A.hm(r),1))
+return s},
+hl:function hl(a,b){this.a=a
+this.b=b},
+hm:function hm(a){this.a=a},
+dQ:function dQ(a){this.a=a},
+dj:function dj(){},
+dx:function dx(){},
+eV:function eV(a,b){this.a=a
+this.b=b},
+cj:function cj(a,b,c){this.a=a
+this.b=b
+this.c=c},
+mX(){var s={},r=v.G,q=new A.F($.w,t.cd)
+q.av(null)
+s.a=q
+r.onmessage=A.bH(new A.ho(s,new A.fO(),r))},
+ho:function ho(a,b,c){this.a=a
+this.b=b
+this.c=c},
+hn:function hn(a,b,c){this.a=a
+this.b=b
+this.c=c},
+fO:function fO(){var _=this
+_.e=_.d=_.c=_.b=_.a=null},
+mD(a,b,c,d){var s,r,q,p,o,n
+A.mn(a)
+A.mp(a)
+a.a9("PRAGMA foreign_keys = ON")
+s=a.ap("PRAGMA foreign_keys")
+if(!J.ab(B.b.ga_(s.ga_(s).b),1))throw A.d(B.an)
+a.a9("PRAGMA busy_timeout = "+B.a.l(b.a,1000))
+s=a.ap("PRAGMA journal_mode = "+d)
+r=B.b.ga_(s.ga_(s).b)
+s=J.ab(r,d)
+if(!s)throw A.d(A.iQ("DRIVER.JOURNAL","Requested "+d+", received "+A.n(r)+".",null))
+a.a9("PRAGMA synchronous = FULL")
+for(s=a.ap("PRAGMA compile_options").d,q=t.X,p=-1;++p,p
")),l=null
+case 4:if(!n.p()){s=6
+break}s=7
+return A.R(A.bP(A.B(o.getDirectoryHandle(m.gv(),{create:!0})),p),$async$ds)
+case 7:k=d
+case 5:l=o,o=k
+s=4
+break
+case 6:q=new A.cy(l,o)
+s=1
+break
+case 1:return A.aJ(q,r)}})
+return A.aK($async$ds,r)},
+eU(a){var s=0,r=A.aM(t.m),q
+var $async$eU=A.aN(function(b,c){if(b===1)return A.aI(c,r)
+for(;;)switch(s){case 0:s=3
+return A.R(A.ds(a,!0),$async$eU)
+case 3:q=c.b
+s=1
+break
+case 1:return A.aJ(q,r)}})
+return A.aK($async$eU,r)},
+eS(a){var s=0,r=A.aM(t.h),q,p
+var $async$eS=A.aN(function(b,c){if(b===1)return A.aI(c,r)
+for(;;)switch(s){case 0:if(A.jR()==null)throw A.d(A.f3(1))
+p=A
+s=3
+return A.R(A.eU(a),$async$eS)
+case 3:q=p.eR(c,!1,"simple-opfs")
+s=1
+break
+case 1:return A.aJ(q,r)}})
+return A.aK($async$eS,r)},
+eR(a,b,c){var s=0,r=A.aM(t.h),q,p,o,n
+var $async$eR=A.aN(function(d,e){if(d===1)return A.aI(e,r)
+for(;;)switch(s){case 0:p=A.iC()
+o=$.hs()
+n=new A.cg(p,o,c)
+s=3
+return A.R(n.a4(a,!1),$async$eR)
+case 3:q=n
+s=1
+break
+case 1:return A.aJ(q,r)}})
+return A.aK($async$eR,r)},
+bu:function bu(a,b,c){this.c=a
+this.a=b
+this.b=c},
+cg:function cg(a,b,c){var _=this
+_.d=null
+_.e=a
+_.b=b
+_.a=c},
+eT:function eT(a,b){this.a=a
+this.b=b},
+dY:function dY(a,b,c){var _=this
+_.a=a
+_.b=b
+_.c=c
+_.d=0},
+fB:function fB(a,b,c,d){var _=this
+_.a=a
+_.b=b
+_.c=c
+_.d=d},
+le(a,b){var s=A.B(A.B(a.exports).memory)
+b.b!==$&&A.jS()
+b.b=s
+s=new A.f4(s,b,A.B(a.exports))
+s.c9(a,b)
+return s},
+hO(a,b){var s=A.ar(t.a.a(a.buffer),b,null),r=s.length,q=0
+for(;;){if(!(q"]=s
+delete s["0;){--q;--s
+B.b.A(k,q,r[s])}}return A.db(k,t.K)}}
+A.b0.prototype={
+bg(){return[this.a,this.b]},
+I(a,b){if(b==null)return!1
+return b instanceof A.b0&&this.$s===b.$s&&J.ab(this.a,b.a)&&J.ab(this.b,b.b)},
+gu(a){return A.eG(this.$s,this.a,this.b,B.f)}}
+A.d7.prototype={
+i(a){return"RegExp/"+this.a+"/"+this.b.flags},
+a3(a){var s=this.b.exec(a)
+if(s==null)return null
+return new A.fA(s)},
+$ieI:1,
+$il4:1}
+A.fA.prototype={
+ga8(){var s=this.b
+return s.index+s[0].length}}
+A.fk.prototype={
+K(){var s=this.b
+if(s===this)throw A.d(A.iI(this.a))
+return s}}
+A.aU.prototype={
+gF(a){return B.aq},
+bu(a,b,c){A.cH(a,b,c)
+return c==null?new Uint8Array(a,b):new Uint8Array(a,b,c)},
+cB(a,b,c){var s
+A.cH(a,b,c)
+s=new DataView(a,b)
+return s},
+bt(a){return this.cB(a,0,null)},
+$io:1,
+$iaU:1}
+A.by.prototype={$iby:1}
+A.c9.prototype={
+gaP(a){if(((a.$flags|0)&2)!==0)return new A.fJ(a.buffer)
+else return a.buffer},
+cr(a,b,c,d){var s=A.P(b,0,c,d,null)
+throw A.d(s)},
+bc(a,b,c,d){if(b>>>0!==b||b>c)this.cr(a,b,c,d)}}
+A.fJ.prototype={
+bu(a,b,c){var s=A.ar(this.a,b,c)
+s.$flags=3
+return s},
+bt(a){var s=A.iO(this.a,0,null)
+s.$flags=3
+return s}}
+A.c7.prototype={
+gF(a){return B.ar},
+$io:1,
+$iir:1}
+A.L.prototype={
+gk(a){return a.length},
+cw(a,b,c,d,e){var s,r,q=a.length
+this.bc(a,b,q,"start")
+this.bc(a,c,q,"end")
+if(b>c)throw A.d(A.P(b,0,c,null,null))
+s=c-b
+if(e<0)throw A.d(A.J(e,null))
+r=d.length
+if(r-e").b(a))s.bb(a)
+else s.bd(a)}},
+aR(a,b){var s=this.a
+if(this.b)s.aD(new A.ad(a,b))
+else s.aw(new A.ad(a,b))}}
+A.fP.prototype={
+$1(a){return this.a.$2(0,a)},
+$S:6}
+A.fQ.prototype={
+$2(a,b){this.a.$2(1,new A.bY(a,t.l.a(b)))},
+$S:45}
+A.h7.prototype={
+$2(a,b){this.a(A.c(a),b)},
+$S:48}
+A.ad.prototype={
+i(a){return A.n(this.a)},
+$iq:1,
+ga0(){return this.b}}
+A.dI.prototype={
+aR(a,b){var s=this.a
+if((s.a&30)!==0)throw A.d(A.at("Future already completed"))
+s.aw(A.m7(a,b))},
+bx(a){return this.aR(a,null)}}
+A.cq.prototype={
+aQ(a){var s,r=this.$ti
+r.h("1/?").a(a)
+s=this.a
+if((s.a&30)!==0)throw A.d(A.at("Future already completed"))
+s.av(r.h("1/").a(a))}}
+A.bj.prototype={
+dh(a){if((this.c&15)!==6)return!0
+return this.b.b.b_(t.bO.a(this.d),a.a,t.v,t.K)},
+d6(a){var s,r=this,q=r.e,p=null,o=t.z,n=t.K,m=a.a,l=r.b.b
+if(t.R.b(q))p=l.dn(q,m,a.b,o,n,t.l)
+else p=l.b_(t.x.a(q),m,o,n)
+try{o=r.$ti.h("2/").a(p)
+return o}catch(s){if(t.eK.b(A.I(s))){if((r.c&1)!==0)throw A.d(A.J("The error handler of Future.then must return a value of the returned future's type","onError"))
+throw A.d(A.J("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}}
+A.F.prototype={
+b0(a,b,c){var s,r,q,p=this.$ti
+p.E(c).h("1/(2)").a(a)
+s=$.w
+if(s===B.d){if(b!=null&&!t.R.b(b)&&!t.x.b(b))throw A.d(A.ax(b,"onError",u.c))}else{c.h("@<0/>").E(p.c).h("1(2)").a(a)
+if(b!=null)b=A.mo(b,s)}r=new A.F(s,c.h("F<0>"))
+q=b==null?1:3
+this.au(new A.bj(r,q,a,b,p.h("@<1>").E(c).h("bj<1,2>")))
+return r},
+ds(a,b){return this.b0(a,null,b)},
+bp(a,b,c){var s,r=this.$ti
+r.E(c).h("1/(2)").a(a)
+s=new A.F($.w,c.h("F<0>"))
+this.au(new A.bj(s,19,a,b,r.h("@<1>").E(c).h("bj<1,2>")))
+return s},
+cv(a){this.a=this.a&1|16
+this.c=a},
+af(a){this.a=a.a&30|this.a&1
+this.c=a.c},
+au(a){var s,r=this,q=r.a
+if(q<=3){a.a=t.F.a(r.c)
+r.c=a}else{if((q&4)!==0){s=t.d.a(r.c)
+if((s.a&24)===0){s.au(a)
+return}r.af(s)}A.e1(null,null,r.b,t.M.a(new A.fp(r,a)))}},
+bh(a){var s,r,q,p,o,n,m=this,l={}
+l.a=a
+if(a==null)return
+s=m.a
+if(s<=3){r=t.F.a(m.c)
+m.c=a
+if(r!=null){q=a.a
+for(p=a;q!=null;p=q,q=o)o=q.a
+p.a=r}}else{if((s&4)!==0){n=t.d.a(m.c)
+if((n.a&24)===0){n.bh(a)
+return}m.af(n)}l.a=m.ah(a)
+A.e1(null,null,m.b,t.M.a(new A.ft(l,m)))}},
+ag(){var s=t.F.a(this.c)
+this.c=null
+return this.ah(s)},
+ah(a){var s,r,q
+for(s=a,r=null;s!=null;r=s,s=q){q=s.a
+s.a=r}return r},
+bd(a){var s,r=this
+r.$ti.c.a(a)
+s=r.ag()
+r.a=8
+r.c=a
+A.bE(r,s)},
+cg(a){var s,r,q=this
+if((a.a&16)!==0){s=q.b===a.b
+s=!(s||s)}else s=!1
+if(s)return
+r=q.ag()
+q.af(a)
+A.bE(q,r)},
+aD(a){var s=this.ag()
+this.cv(a)
+A.bE(this,s)},
+av(a){var s=this.$ti
+s.h("1/").a(a)
+if(s.h("ai<1>").b(a)){this.bb(a)
+return}this.cc(a)},
+cc(a){var s=this
+s.$ti.c.a(a)
+s.a^=2
+A.e1(null,null,s.b,t.M.a(new A.fr(s,a)))},
+bb(a){A.hV(this.$ti.h("ai<1>").a(a),this,!1)
+return},
+aw(a){this.a^=2
+A.e1(null,null,this.b,t.M.a(new A.fq(this,a)))},
+$iai:1}
+A.fp.prototype={
+$0(){A.bE(this.a,this.b)},
+$S:0}
+A.ft.prototype={
+$0(){A.bE(this.b,this.a.a)},
+$S:0}
+A.fs.prototype={
+$0(){A.hV(this.a.a,this.b,!0)},
+$S:0}
+A.fr.prototype={
+$0(){this.a.bd(this.b)},
+$S:0}
+A.fq.prototype={
+$0(){this.a.aD(this.b)},
+$S:0}
+A.fw.prototype={
+$0(){var s,r,q,p,o,n,m,l,k=this,j=null
+try{q=k.a.a
+j=q.b.b.dm(t.fO.a(q.d),t.z)}catch(p){s=A.I(p)
+r=A.bp(p)
+if(k.c&&t.n.a(k.b.a.c).a===s){q=k.a
+q.c=t.n.a(k.b.a.c)}else{q=s
+o=r
+if(o==null)o=A.hx(q)
+n=k.a
+n.c=new A.ad(q,o)
+q=n}q.b=!0
+return}if(j instanceof A.F&&(j.a&24)!==0){if((j.a&16)!==0){q=k.a
+q.c=t.n.a(j.c)
+q.b=!0}return}if(j instanceof A.F){m=k.b.a
+l=new A.F(m.b,m.$ti)
+j.b0(new A.fx(l,m),new A.fy(l),t.H)
+q=k.a
+q.c=l
+q.b=!1}},
+$S:0}
+A.fx.prototype={
+$1(a){this.a.cg(this.b)},
+$S:13}
+A.fy.prototype={
+$2(a,b){A.bl(a)
+t.l.a(b)
+this.a.aD(new A.ad(a,b))},
+$S:60}
+A.fv.prototype={
+$0(){var s,r,q,p,o,n,m,l
+try{q=this.a
+p=q.a
+o=p.$ti
+n=o.c
+m=n.a(this.b)
+q.c=p.b.b.b_(o.h("2/(1)").a(p.d),m,o.h("2/"),n)}catch(l){s=A.I(l)
+r=A.bp(l)
+q=s
+p=r
+if(p==null)p=A.hx(q)
+o=this.a
+o.c=new A.ad(q,p)
+o.b=!0}},
+$S:0}
+A.fu.prototype={
+$0(){var s,r,q,p,o,n,m,l=this
+try{s=t.n.a(l.a.a.c)
+p=l.b
+if(p.a.dh(s)&&p.a.e!=null){p.c=p.a.d6(s)
+p.b=!1}}catch(o){r=A.I(o)
+q=A.bp(o)
+p=t.n.a(l.a.a.c)
+if(p.a===r){n=l.b
+n.c=p
+p=n}else{p=r
+n=q
+if(n==null)n=A.hx(p)
+m=l.b
+m.c=new A.ad(p,n)
+p=m}p.b=!0}},
+$S:0}
+A.dG.prototype={}
+A.dZ.prototype={}
+A.cG.prototype={$ij0:1}
+A.dV.prototype={
+dq(a){var s,r,q
+t.M.a(a)
+try{if(B.d===$.w){a.$0()
+return}A.jy(null,null,this,a,t.H)}catch(q){s=A.I(q)
+r=A.bp(q)
+A.h5(A.bl(s),t.l.a(r))}},
+dr(a,b,c){var s,r,q
+c.h("~(0)").a(a)
+c.a(b)
+try{if(B.d===$.w){a.$1(b)
+return}A.jz(null,null,this,a,b,t.H,c)}catch(q){s=A.I(q)
+r=A.bp(q)
+A.h5(A.bl(s),t.l.a(r))}},
+cC(a){return new A.fD(this,t.M.a(a))},
+cD(a,b){return new A.fE(this,b.h("~(0)").a(a),b)},
+dm(a,b){b.h("0()").a(a)
+if($.w===B.d)return a.$0()
+return A.jy(null,null,this,a,b)},
+b_(a,b,c,d){c.h("@<0>").E(d).h("1(2)").a(a)
+d.a(b)
+if($.w===B.d)return a.$1(b)
+return A.jz(null,null,this,a,b,c,d)},
+dn(a,b,c,d,e,f){d.h("@<0>").E(e).E(f).h("1(2,3)").a(a)
+e.a(b)
+f.a(c)
+if($.w===B.d)return a.$2(b,c)
+return A.mq(null,null,this,a,b,c,d,e,f)},
+bM(a,b,c,d){return b.h("@<0>").E(c).E(d).h("1(2,3)").a(a)}}
+A.fD.prototype={
+$0(){return this.a.dq(this.b)},
+$S:0}
+A.fE.prototype={
+$1(a){var s=this.c
+return this.a.dr(this.b,s.a(a),s)},
+$S(){return this.c.h("~(0)")}}
+A.h6.prototype={
+$0(){A.kD(this.a,this.b)},
+$S:0}
+A.k.prototype={
+gG(a){return new A.b9(a,this.gk(a),A.aw(a).h("b9").a(c)
+this.T(a,b,b+c.length,c)},
+i(a){return A.iF(a,"[","]")},
+$ii:1,
+$if:1,
+$ij:1}
+A.a_.prototype={
+aU(a,b){var s,r,q,p=A.S(this)
+p.h("~(a_.K,a_.V)").a(b)
+for(s=J.cN(this.gaZ()),p=p.h("a_.V");s.p();){r=s.gv()
+q=this.j(0,r)
+b.$2(r,q==null?p.a(q):q)}},
+gk(a){return J.ac(this.gaZ())},
+i(a){return A.hI(this)},
+$iba:1}
+A.eD.prototype={
+$2(a,b){var s,r=this.a
+if(!r.a)this.b.a+=", "
+r.a=!1
+r=this.b
+s=A.n(a)
+r.a=(r.a+=s)+": "
+s=A.n(b)
+r.a+=s},
+$S:22}
+A.fL.prototype={
+$0(){var s,r
+try{s=new TextDecoder("utf-8",{fatal:true})
+return s}catch(r){}return null},
+$S:11}
+A.fK.prototype={
+$0(){var s,r
+try{s=new TextDecoder("utf-8",{fatal:false})
+return s}catch(r){}return null},
+$S:11}
+A.bS.prototype={}
+A.cW.prototype={}
+A.d_.prototype={}
+A.dy.prototype={
+bB(a){t.L.a(a)
+return new A.cF(!1).aE(a,0,null,!0)}}
+A.f2.prototype={
+P(a){var s,r,q,p,o=a.length,n=A.dp(0,null,o)
+if(n===0)return new Uint8Array(0)
+s=n*3
+r=new Uint8Array(s)
+q=new A.fM(r)
+if(q.cp(a,0,n)!==n){p=n-1
+if(!(p>=0&&p>>6|192
+k.b=l+1
+s[l]=n&63|128}else{m=k.b
+if(m+2>=q)break
+l=k.b=m+1
+r&2&&A.l(s)
+if(!(m
>>12|224
+m=k.b=l+1
+if(!(l
>>6&63|128
+k.b=m+1
+if(!(m
=15){o=l.a
+n=A.lJ(o,q,b,s)
+if(n!=null){if(!o)return n
+if(n.indexOf("\ufffd")<0)return n}}n=l.aF(q,b,s,!0)
+o=l.b
+if((o&1)!==0){m=A.lL(o)
+l.b=0
+throw A.d(A.ev(m,a,p+l.c))}return n},
+aF(a,b,c,d){var s,r,q=this
+if(c-b>1000){s=B.a.l(b+c,2)
+r=q.aF(a,b,s,!1)
+if((q.b&1)!==0)return r
+return r+q.aF(a,s,c,d)}return q.cG(a,b,c,d)},
+cG(a,b,a0,a1){var s,r,q,p,o,n,m,l,k=this,j="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE",i=" \x000:XECCCCCN:lDb \x000:XECCCCCNvlDb \x000:XECCCCCN:lDb AAAAA\x00\x00\x00\x00\x00AAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA000\x800AAAAA\x00\x00\x00\x00 AAAAA",h=65533,g=k.b,f=k.c,e=new A.cm(""),d=b+1,c=a.length
+if(!(b>=0&&b
=0&&o>>0!==0)return l.ac(0,$.Z())
+for(k=0;k0;){d=A.ll(k,m,e);--j
+A.j8(d,f,0,m,j,n)
+if(!(e>=0&&e
=m.length)return A.b(m,0)
+return B.a.i(-m[0])}m=n.b
+if(0>=m.length)return A.b(m,0)
+return B.a.i(m[0])}s=A.x([],t.s)
+m=n.a
+r=m?n.D(0):n
+while(r.c>1){q=$.ie()
+if(q.c===0)A.u(B.m)
+p=r.bk(q).i(0)
+B.b.t(s,p)
+o=p.length
+if(o===1)B.b.t(s,"000")
+if(o===2)B.b.t(s,"00")
+if(o===3)B.b.t(s,"0")
+r=r.be(q)}q=r.b
+if(0>=q.length)return A.b(q,0)
+B.b.t(s,B.a.i(q[0]))
+if(m)B.b.t(s,"-")
+return new A.ce(s,t.bJ).d9(0)},
+$ie4:1,
+$it:1}
+A.fi.prototype={
+$2(a,b){a=a+b&536870911
+a=a+((a&524287)<<10)&536870911
+return a^a>>>6},
+$S:26}
+A.fj.prototype={
+$1(a){a=a+((a&67108863)<<3)&536870911
+a^=a>>>11
+return a+((a&16383)<<15)&536870911},
+$S:28}
+A.ct.prototype={
+bv(a,b,c){var s
+this.$ti.c.a(b)
+s=this.a
+if(s!=null)s.register(a,b,c)},
+bC(a){var s=this.a
+if(s!=null)s.unregister(a)},
+$ikE:1}
+A.eu.prototype={
+$0(){var s=this
+return A.u(A.J("("+s.a+", "+s.b+", "+s.c+", "+s.d+", "+s.e+", "+s.f+", "+s.r+", "+s.w+")",null))},
+$S:29}
+A.a3.prototype={
+I(a,b){if(b==null)return!1
+return b instanceof A.a3&&this.a===b.a&&this.b===b.b&&this.c===b.c},
+gu(a){return A.eG(this.a,this.b,B.f,B.f)},
+m(a,b){var s
+t.k.a(b)
+s=B.a.m(this.a,b.a)
+if(s!==0)return s
+return B.a.m(this.b,b.b)},
+dt(){var s=this
+if(s.c)return s
+return new A.a3(s.a,s.b,!0)},
+i(a){var s=this,r=A.kA(A.eO(s)),q=A.cZ(A.eM(s)),p=A.cZ(A.eJ(s)),o=A.cZ(A.eK(s)),n=A.cZ(A.eL(s)),m=A.cZ(A.eN(s)),l=A.iu(A.hJ(s)),k=s.b,j=k===0?"":A.iu(k)
+k=r+"-"+q
+if(s.c)return k+"-"+p+" "+o+":"+n+":"+m+"."+l+j+"Z"
+else return k+"-"+p+" "+o+":"+n+":"+m+"."+l+j},
+$it:1}
+A.aR.prototype={
+I(a,b){if(b==null)return!1
+return b instanceof A.aR&&this.a===b.a},
+gu(a){return B.a.gu(this.a)},
+m(a,b){return B.a.m(this.a,t.J.a(b).a)},
+i(a){var s,r,q,p,o,n=this.a,m=B.a.l(n,36e8),l=n%36e8
+if(n<0){m=0-m
+n=0-l
+s="-"}else{n=l
+s=""}r=B.a.l(n,6e7)
+n%=6e7
+q=r<10?"0":""
+p=B.a.l(n,1e6)
+o=p<10?"0":""
+return s+m+":"+q+r+":"+o+p+"."+B.c.R(B.a.i(n%1e6),6,"0")},
+$it:1}
+A.fm.prototype={
+i(a){return this.aH()}}
+A.q.prototype={
+ga0(){return A.kW(this)}}
+A.cO.prototype={
+i(a){var s=this.a
+if(s!=null)return"Assertion failed: "+A.bX(s)
+return"Assertion failed"}}
+A.aE.prototype={}
+A.ah.prototype={
+gaJ(){return"Invalid argument"+(!this.a?"(s)":"")},
+gaI(){return""},
+i(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+A.n(p),n=s.gaJ()+q+o
+if(!s.a)return n
+return n+s.gaI()+": "+A.bX(s.gaX())},
+gaX(){return this.b}}
+A.aC.prototype={
+gaX(){return A.jo(this.b)},
+gaJ(){return"RangeError"},
+gaI(){var s,r=this.e,q=this.f
+if(r==null)s=q!=null?": Not less than or equal to "+A.n(q):""
+else if(q==null)s=": Not greater than or equal to "+A.n(r)
+else if(q>r)s=": Not in inclusive range "+A.n(r)+".."+A.n(q)
+else s=q
` | Read physical metadata for one table |
+
+`create` always uses the current source, including edits since the last
+`generate`. Other commands use the statically imported snapshot/history; they do
+not silently regenerate or change deployment artifacts. Run `generate` before
+checking a deliberately edited target with `verify`. New migrations never
+overwrite existing files. Database changes happen through explicit `apply` or
+`baseline`; initialization, generation and diff creation are offline.
+
+An initial SQLite `plan` needs an existing file and fails without creating one.
+The first `apply` can create that file. `create