@noy-db/hub 0.1.0-pre.14 → 0.1.0-pre.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aggregate/index.cjs +91 -36
- package/dist/aggregate/index.cjs.map +1 -1
- package/dist/aggregate/index.d.cts +2 -2
- package/dist/aggregate/index.d.ts +2 -2
- package/dist/aggregate/index.js +15 -8
- package/dist/aggregate/index.js.map +1 -1
- package/dist/blobs/index.cjs.map +1 -1
- package/dist/blobs/index.d.cts +4 -4
- package/dist/blobs/index.d.ts +4 -4
- package/dist/blobs/index.js +4 -4
- package/dist/bundle/index.cjs.map +1 -1
- package/dist/bundle/index.d.cts +4 -4
- package/dist/bundle/index.d.ts +4 -4
- package/dist/bundle/index.js +4 -4
- package/dist/{chunk-7QGJ7RTL.js → chunk-2ATIBE2U.js} +4 -4
- package/dist/{chunk-IXFP66OV.js → chunk-2FF5VF7C.js} +2 -2
- package/dist/{chunk-SBOSKCXD.js → chunk-2T5LJCQX.js} +6 -6
- package/dist/{chunk-PMMNH7VZ.js → chunk-4IAJNGE2.js} +1 -1
- package/dist/chunk-4IAJNGE2.js.map +1 -0
- package/dist/chunk-5ZGZ6HIZ.js +100 -0
- package/dist/chunk-5ZGZ6HIZ.js.map +1 -0
- package/dist/{chunk-RGHN6WV7.js → chunk-6I5BJLCO.js} +2 -2
- package/dist/{chunk-XFVOTOYQ.js → chunk-6QV6BT5O.js} +5 -5
- package/dist/{chunk-HENWE2QQ.js → chunk-6ZY7XM7T.js} +2 -2
- package/dist/{chunk-562AT3V6.js → chunk-7PBKKVEK.js} +5 -5
- package/dist/{chunk-Q2L5ZYX7.js → chunk-CAX3UCWT.js} +2 -2
- package/dist/{chunk-GV47JHIF.js → chunk-DPTVWLT6.js} +2 -2
- package/dist/{chunk-3J5PYYUL.js → chunk-ECZUQXFL.js} +2 -2
- package/dist/chunk-FGFDKQEQ.js +82 -0
- package/dist/chunk-FGFDKQEQ.js.map +1 -0
- package/dist/{chunk-U7YDBNFC.js → chunk-ISWNROQJ.js} +2 -2
- package/dist/{chunk-W7M3E5M5.js → chunk-JMS64IO3.js} +11 -1
- package/dist/{chunk-W7M3E5M5.js.map → chunk-JMS64IO3.js.map} +1 -1
- package/dist/{chunk-EEEFQTYN.js → chunk-KJT434FJ.js} +2 -2
- package/dist/{chunk-432R4RDC.js → chunk-L3MI2IBQ.js} +35 -5
- package/dist/chunk-L3MI2IBQ.js.map +1 -0
- package/dist/{chunk-ERV4AXVO.js → chunk-LFYN7U7S.js} +90 -131
- package/dist/chunk-LFYN7U7S.js.map +1 -0
- package/dist/{chunk-PPJA7KL6.js → chunk-OCIUVQ4S.js} +3 -3
- package/dist/{chunk-J3E2UMET.js → chunk-OENCJSB5.js} +3 -3
- package/dist/{chunk-GVPFL6XF.js → chunk-PUUH5ABC.js} +2 -2
- package/dist/{chunk-AD4FMCXZ.js → chunk-PWDTXPVI.js} +2 -2
- package/dist/{chunk-TNYWH7Z2.js → chunk-RRHDNYHV.js} +2 -2
- package/dist/{chunk-LTKFPLTW.js → chunk-RZYYGREI.js} +3 -3
- package/dist/{chunk-CRNMA2FB.js → chunk-T3Z56SBF.js} +4 -4
- package/dist/{chunk-PNTWORBA.js → chunk-TOFQTQPP.js} +2 -2
- package/dist/{chunk-CX2S2IBB.js → chunk-UNTP5FG3.js} +53 -79
- package/dist/chunk-UNTP5FG3.js.map +1 -0
- package/dist/{chunk-5Y4AKEZ6.js → chunk-UOBFPYPO.js} +2 -2
- package/dist/{chunk-FB34MDSJ.js → chunk-V35XFIXZ.js} +3 -3
- package/dist/{chunk-Q3OWJPJI.js → chunk-W7SI2WV6.js} +32 -19
- package/dist/chunk-W7SI2WV6.js.map +1 -0
- package/dist/{chunk-7AQKLLI5.js → chunk-XDA43P7D.js} +2 -2
- package/dist/{chunk-PHSGPPV7.js → chunk-XXFA6X7N.js} +3 -3
- package/dist/{chunk-ZJICDHNH.js → chunk-Y524D7MO.js} +3 -3
- package/dist/{chunk-E4ZSYZSN.js → chunk-Z2ZJT7PX.js} +4 -4
- package/dist/{chunk-E3VAKWJ7.js → chunk-ZFLGSPJP.js} +4 -4
- package/dist/consent/index.cjs.map +1 -1
- package/dist/consent/index.d.cts +4 -4
- package/dist/consent/index.d.ts +4 -4
- package/dist/consent/index.js +3 -3
- package/dist/{crypto-VTEMMJK6.js → crypto-KHVYHWLB.js} +3 -3
- package/dist/{delegation-HYQULPZR.js → delegation-T52VZVEZ.js} +5 -5
- package/dist/derivations/index.cjs.map +1 -1
- package/dist/derivations/index.d.cts +5 -5
- package/dist/derivations/index.d.ts +5 -5
- package/dist/derivations/index.js +4 -4
- package/dist/{dev-unlock-CpJ9rHW2.d.ts → dev-unlock-B6Q50uMI.d.ts} +1 -1
- package/dist/{dev-unlock-DEUUpWoR.d.cts → dev-unlock-C9oO0MzZ.d.cts} +1 -1
- package/dist/executor-5ORS7Q44.js +8 -0
- package/dist/executor-7ZO2RKVN.js +11 -0
- package/dist/executor-KES5KTWO.js +8 -0
- package/dist/guards/index.cjs.map +1 -1
- package/dist/guards/index.d.cts +5 -5
- package/dist/guards/index.d.ts +5 -5
- package/dist/guards/index.js +3 -3
- package/dist/{hash-CJ9LfuY5.d.ts → hash-CVXn2zoI.d.ts} +1 -1
- package/dist/{hash-_9VyW44M.d.cts → hash-Dp9s2_t_.d.cts} +1 -1
- package/dist/history/index.cjs.map +1 -1
- package/dist/history/index.d.cts +5 -5
- package/dist/history/index.d.ts +5 -5
- package/dist/history/index.js +5 -5
- package/dist/i18n/index.cjs.map +1 -1
- package/dist/i18n/index.d.cts +4 -4
- package/dist/i18n/index.d.ts +4 -4
- package/dist/i18n/index.js +5 -5
- package/dist/{index-BWAXR9tV.d.ts → index-BN9txQuj.d.ts} +2 -2
- package/dist/{index-7nd15fgy.d.ts → index-BrKaVyPN.d.ts} +26 -2
- package/dist/{index-s31g3m-D.d.cts → index-DbFmhrQI.d.cts} +2 -2
- package/dist/{index-CFJKJXWa.d.cts → index-GsDF2KlQ.d.cts} +26 -2
- package/dist/index.cjs +612 -444
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -12
- package/dist/index.d.ts +12 -12
- package/dist/index.js +62 -57
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.cjs.map +1 -1
- package/dist/indexing/index.js +2 -2
- package/dist/{ledger-LHLIVPJ3.js → ledger-DAIXDB6Z.js} +5 -5
- package/dist/materialized-views/index.cjs +255 -21
- package/dist/materialized-views/index.cjs.map +1 -1
- package/dist/materialized-views/index.d.cts +6 -6
- package/dist/materialized-views/index.d.ts +6 -6
- package/dist/materialized-views/index.js +9 -5
- package/dist/overlay-views/index.cjs.map +1 -1
- package/dist/overlay-views/index.d.cts +5 -5
- package/dist/overlay-views/index.d.ts +5 -5
- package/dist/overlay-views/index.js +3 -3
- package/dist/periods/index.cjs.map +1 -1
- package/dist/periods/index.d.cts +4 -4
- package/dist/periods/index.d.ts +4 -4
- package/dist/periods/index.js +5 -5
- package/dist/{public-envelope-66ZBXVXK.js → public-envelope-V2SRY3FE.js} +4 -4
- package/dist/query/index.cjs +139 -113
- package/dist/query/index.cjs.map +1 -1
- package/dist/query/index.d.cts +2 -2
- package/dist/query/index.d.ts +2 -2
- package/dist/query/index.js +13 -9
- package/dist/registry-7ADDJ5A7.js +8 -0
- package/dist/registry-MMFWKVG3.js +8 -0
- package/dist/{registry-JYALMHGM.js → registry-UTVJPBCR.js} +3 -3
- package/dist/session/index.cjs.map +1 -1
- package/dist/session/index.d.cts +5 -5
- package/dist/session/index.d.ts +5 -5
- package/dist/session/index.js +3 -3
- package/dist/shadow/index.cjs.map +1 -1
- package/dist/shadow/index.d.cts +4 -4
- package/dist/shadow/index.d.ts +4 -4
- package/dist/shadow/index.js +2 -2
- package/dist/{stale-EET5YFYL.js → stale-57YFBIYH.js} +2 -2
- package/dist/store/index.cjs.map +1 -1
- package/dist/store/index.d.cts +4 -4
- package/dist/store/index.d.ts +4 -4
- package/dist/store/index.js +2 -2
- package/dist/{strategy-D-SrOLCl.d.cts → strategy-DSTrsZ8t.d.cts} +72 -19
- package/dist/{strategy-D-SrOLCl.d.ts → strategy-DSTrsZ8t.d.ts} +72 -19
- package/dist/sync/index.cjs.map +1 -1
- package/dist/sync/index.d.cts +3 -3
- package/dist/sync/index.d.ts +3 -3
- package/dist/sync/index.js +4 -4
- package/dist/team/index.cjs.map +1 -1
- package/dist/team/index.d.cts +4 -4
- package/dist/team/index.d.ts +4 -4
- package/dist/team/index.js +7 -7
- package/dist/tx/index.cjs.map +1 -1
- package/dist/tx/index.d.cts +4 -4
- package/dist/tx/index.d.ts +4 -4
- package/dist/tx/index.js +2 -2
- package/dist/{types-2JGVRzO2.d.cts → types-BQxk3BfV.d.cts} +108 -10
- package/dist/{types-DIOLYPUq.d.ts → types-CHg3c-4p.d.ts} +108 -10
- package/dist/util/index.cjs.map +1 -1
- package/dist/util/index.js +1 -1
- package/dist/{with-derivation-ClhfQvRa.d.ts → with-derivation-2IEX6kda.d.ts} +1 -1
- package/dist/{with-derivation-3JX8SMxY.d.cts → with-derivation-DSl2vaNF.d.cts} +1 -1
- package/dist/{with-guard-fJVfWBLs.d.cts → with-guard-B1huEXLG.d.cts} +1 -1
- package/dist/{with-guard-Br3YPxRW.d.ts → with-guard-_9hGHy-s.d.ts} +1 -1
- package/dist/with-materialized-view-CWrhsQw0.d.ts +27 -0
- package/dist/with-materialized-view-CfedjOXj.d.cts +27 -0
- package/dist/{with-overlayed-view-CtvJxhU3.d.ts → with-overlayed-view-BzSWWR8-.d.ts} +1 -1
- package/dist/{with-overlayed-view-BLUKxdiJ.d.cts → with-overlayed-view-ChH8l6-c.d.cts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-432R4RDC.js.map +0 -1
- package/dist/chunk-CX2S2IBB.js.map +0 -1
- package/dist/chunk-ERV4AXVO.js.map +0 -1
- package/dist/chunk-PMMNH7VZ.js.map +0 -1
- package/dist/chunk-Q3OWJPJI.js.map +0 -1
- package/dist/chunk-SBK6CETA.js +0 -30
- package/dist/chunk-SBK6CETA.js.map +0 -1
- package/dist/executor-3H3NSIVZ.js +0 -8
- package/dist/executor-7ZOXGY7P.js +0 -8
- package/dist/executor-A5LTUAG2.js +0 -9
- package/dist/registry-J2UI37XJ.js +0 -8
- package/dist/registry-UMAL72WL.js +0 -8
- package/dist/with-materialized-view-CHho83hN.d.cts +0 -15
- package/dist/with-materialized-view-CgPphnza.d.ts +0 -15
- /package/dist/{chunk-7QGJ7RTL.js.map → chunk-2ATIBE2U.js.map} +0 -0
- /package/dist/{chunk-IXFP66OV.js.map → chunk-2FF5VF7C.js.map} +0 -0
- /package/dist/{chunk-SBOSKCXD.js.map → chunk-2T5LJCQX.js.map} +0 -0
- /package/dist/{chunk-RGHN6WV7.js.map → chunk-6I5BJLCO.js.map} +0 -0
- /package/dist/{chunk-XFVOTOYQ.js.map → chunk-6QV6BT5O.js.map} +0 -0
- /package/dist/{chunk-HENWE2QQ.js.map → chunk-6ZY7XM7T.js.map} +0 -0
- /package/dist/{chunk-562AT3V6.js.map → chunk-7PBKKVEK.js.map} +0 -0
- /package/dist/{chunk-Q2L5ZYX7.js.map → chunk-CAX3UCWT.js.map} +0 -0
- /package/dist/{chunk-GV47JHIF.js.map → chunk-DPTVWLT6.js.map} +0 -0
- /package/dist/{chunk-3J5PYYUL.js.map → chunk-ECZUQXFL.js.map} +0 -0
- /package/dist/{chunk-U7YDBNFC.js.map → chunk-ISWNROQJ.js.map} +0 -0
- /package/dist/{chunk-EEEFQTYN.js.map → chunk-KJT434FJ.js.map} +0 -0
- /package/dist/{chunk-PPJA7KL6.js.map → chunk-OCIUVQ4S.js.map} +0 -0
- /package/dist/{chunk-J3E2UMET.js.map → chunk-OENCJSB5.js.map} +0 -0
- /package/dist/{chunk-GVPFL6XF.js.map → chunk-PUUH5ABC.js.map} +0 -0
- /package/dist/{chunk-AD4FMCXZ.js.map → chunk-PWDTXPVI.js.map} +0 -0
- /package/dist/{chunk-TNYWH7Z2.js.map → chunk-RRHDNYHV.js.map} +0 -0
- /package/dist/{chunk-LTKFPLTW.js.map → chunk-RZYYGREI.js.map} +0 -0
- /package/dist/{chunk-CRNMA2FB.js.map → chunk-T3Z56SBF.js.map} +0 -0
- /package/dist/{chunk-PNTWORBA.js.map → chunk-TOFQTQPP.js.map} +0 -0
- /package/dist/{chunk-5Y4AKEZ6.js.map → chunk-UOBFPYPO.js.map} +0 -0
- /package/dist/{chunk-FB34MDSJ.js.map → chunk-V35XFIXZ.js.map} +0 -0
- /package/dist/{chunk-7AQKLLI5.js.map → chunk-XDA43P7D.js.map} +0 -0
- /package/dist/{chunk-PHSGPPV7.js.map → chunk-XXFA6X7N.js.map} +0 -0
- /package/dist/{chunk-ZJICDHNH.js.map → chunk-Y524D7MO.js.map} +0 -0
- /package/dist/{chunk-E4ZSYZSN.js.map → chunk-Z2ZJT7PX.js.map} +0 -0
- /package/dist/{chunk-E3VAKWJ7.js.map → chunk-ZFLGSPJP.js.map} +0 -0
- /package/dist/{crypto-VTEMMJK6.js.map → crypto-KHVYHWLB.js.map} +0 -0
- /package/dist/{delegation-HYQULPZR.js.map → delegation-T52VZVEZ.js.map} +0 -0
- /package/dist/{executor-3H3NSIVZ.js.map → executor-5ORS7Q44.js.map} +0 -0
- /package/dist/{executor-7ZOXGY7P.js.map → executor-7ZO2RKVN.js.map} +0 -0
- /package/dist/{executor-A5LTUAG2.js.map → executor-KES5KTWO.js.map} +0 -0
- /package/dist/{ledger-LHLIVPJ3.js.map → ledger-DAIXDB6Z.js.map} +0 -0
- /package/dist/{public-envelope-66ZBXVXK.js.map → public-envelope-V2SRY3FE.js.map} +0 -0
- /package/dist/{registry-J2UI37XJ.js.map → registry-7ADDJ5A7.js.map} +0 -0
- /package/dist/{registry-JYALMHGM.js.map → registry-MMFWKVG3.js.map} +0 -0
- /package/dist/{registry-UMAL72WL.js.map → registry-UTVJPBCR.js.map} +0 -0
- /package/dist/{stale-EET5YFYL.js.map → stale-57YFBIYH.js.map} +0 -0
package/dist/aggregate/index.js
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
avg,
|
|
3
|
+
count,
|
|
4
|
+
max,
|
|
5
|
+
min,
|
|
6
|
+
sum
|
|
7
|
+
} from "../chunk-5ZGZ6HIZ.js";
|
|
1
8
|
import {
|
|
2
9
|
Aggregation,
|
|
3
10
|
GROUPBY_MAX_CARDINALITY,
|
|
4
11
|
GROUPBY_WARN_CARDINALITY,
|
|
5
12
|
GroupedAggregation,
|
|
6
13
|
GroupedQuery,
|
|
7
|
-
|
|
14
|
+
GroupedQueryN,
|
|
8
15
|
buildLiveAggregation,
|
|
9
|
-
count,
|
|
10
16
|
groupAndReduce,
|
|
11
|
-
max,
|
|
12
|
-
min,
|
|
13
17
|
reduceRecords,
|
|
14
|
-
resetGroupByWarnings
|
|
15
|
-
|
|
16
|
-
} from "../chunk-ERV4AXVO.js";
|
|
18
|
+
resetGroupByWarnings
|
|
19
|
+
} from "../chunk-LFYN7U7S.js";
|
|
17
20
|
import "../chunk-MRIBLZL3.js";
|
|
18
|
-
import "../chunk-
|
|
21
|
+
import "../chunk-JMS64IO3.js";
|
|
19
22
|
|
|
20
23
|
// src/aggregate/active.ts
|
|
21
24
|
function withAggregate() {
|
|
@@ -26,6 +29,9 @@ function withAggregate() {
|
|
|
26
29
|
groupBy(executeRecords, field, upstreams, dictLabelResolver) {
|
|
27
30
|
return new GroupedQuery(executeRecords, field, upstreams, dictLabelResolver);
|
|
28
31
|
},
|
|
32
|
+
groupByN(executeRecords, fields, upstreams) {
|
|
33
|
+
return new GroupedQueryN(executeRecords, fields, upstreams);
|
|
34
|
+
},
|
|
29
35
|
async scanAggregate(iter, spec) {
|
|
30
36
|
const collected = [];
|
|
31
37
|
for await (const record of iter) collected.push(record);
|
|
@@ -39,6 +45,7 @@ export {
|
|
|
39
45
|
GROUPBY_WARN_CARDINALITY,
|
|
40
46
|
GroupedAggregation,
|
|
41
47
|
GroupedQuery,
|
|
48
|
+
GroupedQueryN,
|
|
42
49
|
avg,
|
|
43
50
|
buildLiveAggregation,
|
|
44
51
|
count,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/aggregate/active.ts"],"sourcesContent":["/**\n * Active aggregate strategy factory. Calling `withAggregate()` returns\n * an `AggregateStrategy` whose methods construct real `Aggregation` /\n * `GroupedQuery` instances and run the streaming reducer protocol.\n *\n * This module is only reachable through the `@noy-db/hub/aggregate`\n * subpath — a consumer that never imports the subpath ships none of\n * this (ESM tree-shaking + hub's `\"sideEffects\": false`).\n */\n\nimport { Aggregation, reduceRecords } from './aggregation.js'\nimport type { AggregateSpec, AggregateResult } from './aggregation.js'\nimport { GroupedQuery } from './groupby.js'\nimport type { AggregateStrategy } from './strategy.js'\n\n/**\n * Build the default aggregate strategy. Pass into\n * `createNoydb({ aggregateStrategy: withAggregate() })` to light up\n * `.aggregate()` and `.groupBy()` on `Query` and `ScanBuilder`.\n *\n * @example\n * ```ts\n * import { createNoydb } from '@noy-db/hub'\n * import { withAggregate, sum, count } from '@noy-db/hub/aggregate'\n *\n * const db = await createNoydb({\n * store, user, secret,\n * aggregateStrategy: withAggregate(),\n * })\n *\n * const totals = invoices.query()\n * .where('status', '==', 'paid')\n * .groupBy('clientId')\n * .aggregate({ amount: sum('amount'), n: count() })\n * .run()\n * ```\n */\nexport function withAggregate(): AggregateStrategy {\n return {\n aggregate(executeRecords, spec, upstreams) {\n return new Aggregation(executeRecords, spec as unknown as AggregateSpec, upstreams) as unknown as Aggregation<AggregateResult<typeof spec>>\n },\n groupBy(executeRecords, field, upstreams, dictLabelResolver) {\n return new GroupedQuery(executeRecords, field, upstreams, dictLabelResolver)\n },\n async scanAggregate(iter, spec) {\n const collected: unknown[] = []\n for await (const record of iter) collected.push(record)\n return reduceRecords(collected, spec as unknown as AggregateSpec) as unknown as AggregateResult<typeof spec>\n },\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/aggregate/active.ts"],"sourcesContent":["/**\n * Active aggregate strategy factory. Calling `withAggregate()` returns\n * an `AggregateStrategy` whose methods construct real `Aggregation` /\n * `GroupedQuery` instances and run the streaming reducer protocol.\n *\n * This module is only reachable through the `@noy-db/hub/aggregate`\n * subpath — a consumer that never imports the subpath ships none of\n * this (ESM tree-shaking + hub's `\"sideEffects\": false`).\n */\n\nimport { Aggregation, reduceRecords } from './aggregation.js'\nimport type { AggregateSpec, AggregateResult } from './aggregation.js'\nimport { GroupedQuery, GroupedQueryN } from './groupby.js'\nimport type { AggregateStrategy } from './strategy.js'\n\n/**\n * Build the default aggregate strategy. Pass into\n * `createNoydb({ aggregateStrategy: withAggregate() })` to light up\n * `.aggregate()` and `.groupBy()` on `Query` and `ScanBuilder`.\n *\n * @example\n * ```ts\n * import { createNoydb } from '@noy-db/hub'\n * import { withAggregate, sum, count } from '@noy-db/hub/aggregate'\n *\n * const db = await createNoydb({\n * store, user, secret,\n * aggregateStrategy: withAggregate(),\n * })\n *\n * const totals = invoices.query()\n * .where('status', '==', 'paid')\n * .groupBy('clientId')\n * .aggregate({ amount: sum('amount'), n: count() })\n * .run()\n * ```\n */\nexport function withAggregate(): AggregateStrategy {\n return {\n aggregate(executeRecords, spec, upstreams) {\n return new Aggregation(executeRecords, spec as unknown as AggregateSpec, upstreams) as unknown as Aggregation<AggregateResult<typeof spec>>\n },\n groupBy(executeRecords, field, upstreams, dictLabelResolver) {\n return new GroupedQuery(executeRecords, field, upstreams, dictLabelResolver)\n },\n groupByN(executeRecords, fields, upstreams) {\n return new GroupedQueryN(executeRecords, fields, upstreams)\n },\n async scanAggregate(iter, spec) {\n const collected: unknown[] = []\n for await (const record of iter) collected.push(record)\n return reduceRecords(collected, spec as unknown as AggregateSpec) as unknown as AggregateResult<typeof spec>\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAqCO,SAAS,gBAAmC;AACjD,SAAO;AAAA,IACL,UAAU,gBAAgB,MAAM,WAAW;AACzC,aAAO,IAAI,YAAY,gBAAgB,MAAkC,SAAS;AAAA,IACpF;AAAA,IACA,QAAQ,gBAAgB,OAAO,WAAW,mBAAmB;AAC3D,aAAO,IAAI,aAAa,gBAAgB,OAAO,WAAW,iBAAiB;AAAA,IAC7E;AAAA,IACA,SAAS,gBAAgB,QAAQ,WAAW;AAC1C,aAAO,IAAI,cAAc,gBAAgB,QAAQ,SAAS;AAAA,IAC5D;AAAA,IACA,MAAM,cAAc,MAAM,MAAM;AAC9B,YAAM,YAAuB,CAAC;AAC9B,uBAAiB,UAAU,KAAM,WAAU,KAAK,MAAM;AACtD,aAAO,cAAc,WAAW,IAAgC;AAAA,IAClE;AAAA,EACF;AACF;","names":[]}
|