@legendapp/state 0.19.8 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/index.js +91 -69
- package/index.js.map +1 -1
- package/index.mjs +91 -69
- package/index.mjs.map +1 -1
- package/package.json +1 -1
- package/react-components.js +1 -38
- package/react-components.js.map +1 -1
- package/react-components.mjs +3 -40
- package/react-components.mjs.map +1 -1
- package/react-native-components.js +9 -35
- package/react-native-components.js.map +1 -1
- package/react-native-components.mjs +12 -38
- package/react-native-components.mjs.map +1 -1
- package/react.d.ts +1 -0
- package/react.js +108 -171
- package/react.js.map +1 -1
- package/react.mjs +109 -174
- package/react.mjs.map +1 -1
- package/src/computed.d.ts +1 -1
- package/src/globals.d.ts +1 -0
- package/src/helpers.d.ts +2 -2
- package/src/observableInterfaces.d.ts +14 -1
- package/src/observe.d.ts +2 -3
- package/src/onChange.d.ts +1 -1
- package/src/react/enableLegendStateReact.d.ts +1 -8
- package/src/react/lifecycle.d.ts +2 -0
- package/src/react/reactive-observer.d.ts +1 -0
- package/src/react/useComputed.d.ts +1 -1
- package/src/react/useObserve.d.ts +3 -2
- package/src/react-components/react-components.d.ts +1 -12
- package/src/react-native-components/rn-components.d.ts +2 -11
- package/src/when.d.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
## 0.20.0
|
|
2
|
+
|
|
3
|
+
- Breaking: Changed behavior of `observe` and `useObserve` so that it has a callback parameter, useful for observing an event and doing something only when it changes. If you were returning false to cancel observing, you can now use `e.cancel = true`. And if you were returning a cleanup function you can use `e.onCleanup = () => ...`. It also adds a `num` param to know how many times it's run and a `previous` param to compare to the previous value.
|
|
4
|
+
- Breaking: Renamed event `dispatch` to `fire`
|
|
5
|
+
- Breaking: Removed deprecated hooking into internal dispatcher
|
|
6
|
+
- Breaking: Removed deprecated Bindable components
|
|
7
|
+
- Feat: Added a callback parameter to useObserve, useful for observing an event and doing something only when it changes
|
|
8
|
+
- Feat: Added useMount and useUnmount lifecycle hooks to encourage getting away from useEffect
|
|
9
|
+
- Feat: `useObserve` has a second callback parameter which will run after the selector. This can be useful for passing an `observable` or `event` as the first parameter.
|
|
10
|
+
- Fix: `reactive` and `observe` components were sometimes not retaining their static properties (like id). They now use a Proxy wrapper instead of an HOC, which reduces component tree depth and avoids any other bugs from wrapping components and forwarding refs.
|
|
11
|
+
- Fix: `event` was not working correctly in selectors
|
|
12
|
+
- Fix: The two-way binding components are always controlled, even if the `value$` is undefined
|
|
13
|
+
- Types: Improved types of `computed` and `useComponent` to accept a Promise
|
|
14
|
+
|
|
15
|
+
## 0.19.8
|
|
16
|
+
|
|
17
|
+
- Fix: Reactive components were sometimes not working in React Native https://github.com/LegendApp/legend-state/issues/32
|
|
18
|
+
|
|
1
19
|
## 0.19.7
|
|
2
20
|
|
|
3
21
|
- Feat: Added `itemProps` to `For` component to pass extra props to items
|
package/index.js
CHANGED
|
@@ -91,6 +91,7 @@ function updateTracking(node, track) {
|
|
|
91
91
|
|
|
92
92
|
const symbolDateModified = Symbol('dateModified');
|
|
93
93
|
const symbolIsObservable = Symbol('isObservable');
|
|
94
|
+
const symbolIsEvent = Symbol('isEvent');
|
|
94
95
|
const symbolGetNode = Symbol('getNode');
|
|
95
96
|
const symbolUndef = Symbol('undef');
|
|
96
97
|
const extraPrimitiveActivators = new Map([
|
|
@@ -190,6 +191,61 @@ function shouldTreatAsOpaque(value) {
|
|
|
190
191
|
}
|
|
191
192
|
}
|
|
192
193
|
|
|
194
|
+
function isObservable(obs) {
|
|
195
|
+
return obs && !!obs[symbolIsObservable];
|
|
196
|
+
}
|
|
197
|
+
function computeSelector(selector, e) {
|
|
198
|
+
let c = selector;
|
|
199
|
+
if (isFunction(c)) {
|
|
200
|
+
c = e ? c(e) : c();
|
|
201
|
+
}
|
|
202
|
+
return isObservable(c) ? c.get() : c;
|
|
203
|
+
}
|
|
204
|
+
function getNode(obs) {
|
|
205
|
+
return obs[symbolGetNode];
|
|
206
|
+
}
|
|
207
|
+
function lockObservable(obs, value) {
|
|
208
|
+
var _a;
|
|
209
|
+
const root = (_a = getNode(obs)) === null || _a === void 0 ? void 0 : _a.root;
|
|
210
|
+
if (root) {
|
|
211
|
+
root.locked = value;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
function mergeIntoObservable(target, ...sources) {
|
|
215
|
+
var _a;
|
|
216
|
+
if (!sources.length)
|
|
217
|
+
return target;
|
|
218
|
+
const source = sources.shift();
|
|
219
|
+
const needsSet = isObservable(target);
|
|
220
|
+
if (isObject(target) && isObject(source)) {
|
|
221
|
+
if (source[symbolDateModified]) {
|
|
222
|
+
if (needsSet) {
|
|
223
|
+
// @ts-ignore
|
|
224
|
+
target[symbolDateModified].set(source[symbolDateModified]);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
target[symbolDateModified] = source[symbolDateModified];
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
const value = isObservable(target) ? target.peek() : target;
|
|
231
|
+
for (const key in source) {
|
|
232
|
+
if (isObject(source[key]) && !isObjectEmpty(source[key])) {
|
|
233
|
+
if (!needsSet && (!value[key] || !isObject(value[key]))) {
|
|
234
|
+
target[key] = {};
|
|
235
|
+
}
|
|
236
|
+
mergeIntoObservable(target[key], source[key]);
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
needsSet && ((_a = target[key]) === null || _a === void 0 ? void 0 : _a.set) ? target[key].set(source[key]) : (target[key] = source[key]);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
else if (needsSet) {
|
|
244
|
+
target.set(source);
|
|
245
|
+
}
|
|
246
|
+
return mergeIntoObservable(target, ...sources);
|
|
247
|
+
}
|
|
248
|
+
|
|
193
249
|
let timeout;
|
|
194
250
|
let numInBatch = 0;
|
|
195
251
|
let _batch = [];
|
|
@@ -343,6 +399,14 @@ Object.defineProperty(ObservablePrimitiveClass.prototype, symbolGetNode, {
|
|
|
343
399
|
return this._node;
|
|
344
400
|
},
|
|
345
401
|
});
|
|
402
|
+
Object.defineProperty(ObservablePrimitiveClass.prototype, symbolIsObservable, {
|
|
403
|
+
configurable: true,
|
|
404
|
+
value: true,
|
|
405
|
+
});
|
|
406
|
+
Object.defineProperty(ObservablePrimitiveClass.prototype, symbolIsEvent, {
|
|
407
|
+
configurable: true,
|
|
408
|
+
value: false,
|
|
409
|
+
});
|
|
346
410
|
ObservablePrimitiveClass.prototype.peek = function () {
|
|
347
411
|
const root = this._node.root;
|
|
348
412
|
if (root.activate) {
|
|
@@ -387,61 +451,6 @@ ObservablePrimitiveClass.prototype.onChange = function (cb, track, noArgs) {
|
|
|
387
451
|
return onChange(this._node, cb, track, noArgs);
|
|
388
452
|
};
|
|
389
453
|
|
|
390
|
-
function isObservable(obs) {
|
|
391
|
-
return obs && (!!obs[symbolIsObservable] || obs instanceof ObservablePrimitiveClass);
|
|
392
|
-
}
|
|
393
|
-
function computeSelector(selector) {
|
|
394
|
-
let c = selector;
|
|
395
|
-
if (isFunction(c)) {
|
|
396
|
-
c = c();
|
|
397
|
-
}
|
|
398
|
-
return isObservable(c) ? c.get() : c;
|
|
399
|
-
}
|
|
400
|
-
function getNode(obs) {
|
|
401
|
-
return obs[symbolGetNode];
|
|
402
|
-
}
|
|
403
|
-
function lockObservable(obs, value) {
|
|
404
|
-
var _a;
|
|
405
|
-
const root = (_a = getNode(obs)) === null || _a === void 0 ? void 0 : _a.root;
|
|
406
|
-
if (root) {
|
|
407
|
-
root.locked = value;
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
function mergeIntoObservable(target, ...sources) {
|
|
411
|
-
var _a;
|
|
412
|
-
if (!sources.length)
|
|
413
|
-
return target;
|
|
414
|
-
const source = sources.shift();
|
|
415
|
-
const needsSet = isObservable(target);
|
|
416
|
-
if (isObject(target) && isObject(source)) {
|
|
417
|
-
if (source[symbolDateModified]) {
|
|
418
|
-
if (needsSet) {
|
|
419
|
-
// @ts-ignore
|
|
420
|
-
target[symbolDateModified].set(source[symbolDateModified]);
|
|
421
|
-
}
|
|
422
|
-
else {
|
|
423
|
-
target[symbolDateModified] = source[symbolDateModified];
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
const value = isObservable(target) ? target.peek() : target;
|
|
427
|
-
for (const key in source) {
|
|
428
|
-
if (isObject(source[key]) && !isObjectEmpty(source[key])) {
|
|
429
|
-
if (!needsSet && (!value[key] || !isObject(value[key]))) {
|
|
430
|
-
target[key] = {};
|
|
431
|
-
}
|
|
432
|
-
mergeIntoObservable(target[key], source[key]);
|
|
433
|
-
}
|
|
434
|
-
else {
|
|
435
|
-
needsSet && ((_a = target[key]) === null || _a === void 0 ? void 0 : _a.set) ? target[key].set(source[key]) : (target[key] = source[key]);
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
else if (needsSet) {
|
|
440
|
-
target.set(source);
|
|
441
|
-
}
|
|
442
|
-
return mergeIntoObservable(target, ...sources);
|
|
443
|
-
}
|
|
444
|
-
|
|
445
454
|
let inSet = false;
|
|
446
455
|
let inAssign = false;
|
|
447
456
|
const ArrayModifiers = new Set([
|
|
@@ -623,6 +632,9 @@ const proxyHandler = {
|
|
|
623
632
|
if (p === symbolIsObservable) {
|
|
624
633
|
return true;
|
|
625
634
|
}
|
|
635
|
+
if (p === symbolIsEvent) {
|
|
636
|
+
return false;
|
|
637
|
+
}
|
|
626
638
|
if (p === symbolGetNode) {
|
|
627
639
|
return node;
|
|
628
640
|
}
|
|
@@ -887,21 +899,27 @@ function setupTracking(nodes, update, noArgs) {
|
|
|
887
899
|
};
|
|
888
900
|
}
|
|
889
901
|
function observe(run) {
|
|
890
|
-
let cleanupPrevious;
|
|
891
902
|
let dispose;
|
|
903
|
+
const e = { num: 0 };
|
|
892
904
|
// Wrap it in a function so it doesn't pass all the arguments to run()
|
|
893
905
|
let update = function () {
|
|
894
906
|
var _a;
|
|
895
|
-
|
|
907
|
+
// @ts-ignore
|
|
908
|
+
if (e.onCleanup) {
|
|
909
|
+
e.onCleanup();
|
|
910
|
+
e.onCleanup = undefined;
|
|
911
|
+
}
|
|
912
|
+
// Dispose listeners from previous run
|
|
896
913
|
dispose === null || dispose === void 0 ? void 0 : dispose();
|
|
897
|
-
//
|
|
914
|
+
// Run in a batch so changes don't happen until we're done tracking here
|
|
898
915
|
beginBatch();
|
|
916
|
+
// Begin tracking observables accessed while running
|
|
899
917
|
beginTracking();
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
918
|
+
// Run the function
|
|
919
|
+
e.previous = run(e);
|
|
920
|
+
// Increment the counter
|
|
921
|
+
e.num++;
|
|
922
|
+
if (!e.cancel) {
|
|
905
923
|
const tracker = tracking.current;
|
|
906
924
|
// Do tracing if it was requested
|
|
907
925
|
let noArgs = true;
|
|
@@ -915,6 +933,7 @@ function observe(run) {
|
|
|
915
933
|
tracker.traceListeners = undefined;
|
|
916
934
|
tracker.traceUpdates = undefined;
|
|
917
935
|
}
|
|
936
|
+
// Setup tracking with the nodes that were accessed
|
|
918
937
|
dispose = setupTracking(tracker.nodes, update, noArgs);
|
|
919
938
|
}
|
|
920
939
|
endTracking();
|
|
@@ -952,11 +971,11 @@ function computed(compute) {
|
|
|
952
971
|
}
|
|
953
972
|
|
|
954
973
|
function event() {
|
|
955
|
-
//
|
|
974
|
+
// event simply wraps around a number observable
|
|
956
975
|
// which increments its value to dispatch change events
|
|
957
976
|
const obs = observable(0);
|
|
958
977
|
return {
|
|
959
|
-
|
|
978
|
+
fire: function () {
|
|
960
979
|
// Notify increments the value so that the observable changes
|
|
961
980
|
obs.set((v) => v + 1);
|
|
962
981
|
},
|
|
@@ -964,18 +983,21 @@ function event() {
|
|
|
964
983
|
return obs.onChange(cb);
|
|
965
984
|
},
|
|
966
985
|
get: () => obs.get(),
|
|
986
|
+
// @ts-ignore
|
|
987
|
+
[symbolIsObservable]: true,
|
|
988
|
+
[symbolIsEvent]: true,
|
|
967
989
|
};
|
|
968
990
|
}
|
|
969
991
|
|
|
970
992
|
function when(predicate, effect) {
|
|
971
993
|
// Create a wrapping fn that calls the effect if predicate returns true
|
|
972
|
-
function run() {
|
|
994
|
+
function run(e) {
|
|
973
995
|
const ret = computeSelector(predicate);
|
|
974
996
|
if (ret) {
|
|
975
997
|
// If value is truthy then run the effect
|
|
976
998
|
effect(ret);
|
|
977
|
-
//
|
|
978
|
-
|
|
999
|
+
// Set cancel so that observe does not track
|
|
1000
|
+
e.cancel = true;
|
|
979
1001
|
}
|
|
980
1002
|
}
|
|
981
1003
|
// If no effect parameter return a promise
|
|
@@ -1013,8 +1035,8 @@ exports.observable = observable;
|
|
|
1013
1035
|
exports.observablePrimitive = observablePrimitive;
|
|
1014
1036
|
exports.observe = observe;
|
|
1015
1037
|
exports.onChange = onChange;
|
|
1016
|
-
exports.setupTracking = setupTracking;
|
|
1017
1038
|
exports.symbolDateModified = symbolDateModified;
|
|
1039
|
+
exports.symbolIsEvent = symbolIsEvent;
|
|
1018
1040
|
exports.symbolIsObservable = symbolIsObservable;
|
|
1019
1041
|
exports.symbolUndef = symbolUndef;
|
|
1020
1042
|
exports.tracking = tracking;
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/is.ts","../../src/tracking.ts","../../src/globals.ts","../../src/batching.ts","../../src/notify.ts","../../src/onChange.ts","../../src/ObservablePrimitive.ts","../../src/helpers.ts","../../src/observable.ts","../../src/observe.ts","../../src/computed.ts","../../src/event.ts","../../src/when.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/is.ts","../../src/tracking.ts","../../src/globals.ts","../../src/helpers.ts","../../src/batching.ts","../../src/notify.ts","../../src/onChange.ts","../../src/ObservablePrimitive.ts","../../src/observable.ts","../../src/observe.ts","../../src/computed.ts","../../src/event.ts","../../src/when.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;AAAA;AACM,SAAU,OAAO,CAAC,GAAY,EAAA;AAChC,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AACD;AACM,SAAU,QAAQ,CAAC,GAAY,EAAA;AACjC,IAAA,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;AACnC,CAAC;AACD;AACM,SAAU,QAAQ,CAAC,GAAY,EAAA;AACjC,IAAA,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC;AACD;AACM,SAAU,UAAU,CAAC,GAAY,EAAA;AACnC,IAAA,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC;AACrC,CAAC;AACD;AACM,SAAU,WAAW,CAAC,GAAG,EAAA;AAC3B,IAAA,IAAI,IAAI,GAAG,OAAO,GAAG,CAAC;AACtB,IAAA,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,UAAU,CAAC;AACvF,CAAC;AACD;AACM,SAAU,aAAa,CAAC,GAAW,EAAA;AACrC,IAAA,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC3E,CAAC;AAKD;AACM,SAAU,SAAS,CAAC,GAAY,EAAA;AAClC,IAAA,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC;AACzC,CAAC;AACD;AACM,SAAU,SAAS,CAAI,GAAY,EAAA;AACrC,IAAA,OAAO,UAAU,CAAE,GAAW,KAAX,IAAA,IAAA,GAAG,uBAAH,GAAG,CAAU,IAAI,CAAC,IAAI,UAAU,CAAE,GAAW,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC;AACK,SAAU,OAAO,CAAC,GAAW,EAAA;AAC/B,IAAA,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAChD,CAAC;AACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC1B,CAAC,SAAS,EAAE,IAAI,CAAC;IACjB,CAAC,QAAQ,EAAE,IAAI,CAAC;IAChB,CAAC,QAAQ,EAAE,IAAI,CAAC;AACnB,CAAA,CAAC,CAAC;AACH;AACM,SAAU,iBAAiB,CAAC,GAAG,EAAA;AACjC,IAAA,OAAO,aAAa,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;AACzC;;ACvCA,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,MAAM,aAAa,GAAoB,EAAE,CAAC;AAE7B,MAAA,QAAQ,GAAG;AACpB,IAAA,OAAO,EAAE,SAA0B;EACrC;SAEc,aAAa,GAAA;;;AAGzB,IAAA,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrC,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;AAC1B,CAAC;SACe,WAAW,GAAA;;AAEvB,IAAA,UAAU,EAAE,CAAC;IACb,IAAI,UAAU,GAAG,CAAC,EAAE;QAChB,UAAU,GAAG,CAAC,CAAC;AACf,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;;AAE3E,YAAA,SAAS;AACZ,SAAA;AACJ,KAAA;AACD,IAAA,QAAQ,CAAC,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;AAC3C,CAAC;AAEe,SAAA,cAAc,CAAC,IAAe,EAAE,KAAoB,EAAA;AAChE,IAAA,IAAI,UAAU,EAAE;AACZ,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AACjC,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAChB,YAAA,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7B,SAAA;AAGD,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,QAAA,IAAI,QAAQ,EAAE;YACV,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;YACzC,QAAQ,CAAC,GAAG,EAAE,CAAC;AAClB,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACvD,SAAA;AACJ,KAAA;AACL;;MChDa,kBAAkB,GAAG,MAAM,CAAC,cAAc,EAAE;MAC5C,kBAAkB,GAAG,MAAM,CAAC,cAAc,EAAE;MAC5C,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE;AACxC,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;MAClC,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE;AAEpC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAA2B;IACtE,CAAC,UAAU,EAAE,IAAI,CAAC;AAClB,IAAA,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC;AAC7B,CAAA,CAAC,CAAC;AACU,MAAA,mBAAmB,GAAG,IAAI,GAAG,GAAyB;AAE5D,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAEzB,SAAA,GAAG,CAAC,IAAe,EAAE,KAAoB,EAAA;;AAErD,IAAA,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE5B,IAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAEK,SAAU,IAAI,CAAC,IAAe,EAAA;AAChC,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC7B,KAAA;AACD,IAAA,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAEK,SAAU,YAAY,CAAC,IAAe,EAAA;IACxC,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,IAAI,CAAC,GAAG,IAAI,CAAC;IACb,OAAO,CAAA,CAAC,KAAA,IAAA,IAAD,CAAC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAD,CAAC,CAAE,GAAG,MAAK,SAAS,EAAE;AACzB,QAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAChB,QAAA,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAChB,KAAA;AACD,IAAA,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB,IAAA,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,EAAE;YAC/B,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAEe,SAAA,YAAY,CAAC,IAAe,EAAE,GAAoB,EAAA;;AAC9D,IAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;AACf,QAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;;AAEf,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,GAAG,GAAG,CAAC,CAAC;AAC1B,KAAA;;IAGD,IAAI,KAAK,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAC,GAAG,CAAC,CAAC;;IAGpC,IAAI,CAAC,KAAK,EAAE;AACR,QAAA,KAAK,GAAG;AACJ,YAAA,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,YAAA,MAAM,EAAE,IAAI;YACZ,GAAG;;SAEN,CAAC;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7B,SAAA;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjC,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAEK,SAAU,eAAe,CAAC,IAAe,EAAA;AAC3C,IAAA,IAAI,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE;QACR,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACjC,SAAA;AAAM,aAAA;YACH,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;AAC5B,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;IACxC,IAAI,SAAS,GAAyB,EAAE,CAAC;AAC5C,CAAA;AACK,SAAU,mBAAmB,CAAC,KAAU,EAAA;AAC1C,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;;AAEjB,QAAA,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC1E,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;AAC1D,gBAAA,OAAO,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;AAC9F,gBAAA,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC;AACxB,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;AAC1D,gBAAA,OAAO,CAAC,IAAI,CACR,CAAA,mLAAA,CAAqL,CACxL,CAAC;AACF,gBAAA,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC;AACxB,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACJ,KAAA;AACL;;AC/GM,SAAU,YAAY,CAAC,GAAQ,EAAA;IACjC,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAyB,CAAC,CAAC;AACnD,CAAC;AAEe,SAAA,eAAe,CAAI,QAAqB,EAAE,CAAmB,EAAA;IACzE,IAAI,CAAC,GAAG,QAAe,CAAC;AACxB,IAAA,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;AACf,QAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AACtB,KAAA;AAED,IAAA,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAEK,SAAU,OAAO,CAAC,GAAuB,EAAA;AAC3C,IAAA,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC;AAC9B,CAAC;AAEe,SAAA,cAAc,CAAC,GAAuB,EAAE,KAAc,EAAA;;IAClE,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,GAAG,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAC;AAChC,IAAA,IAAI,IAAI,EAAE;AACN,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACvB,KAAA;AACL,CAAC;SACe,mBAAmB,CAAC,MAAiC,EAAE,GAAG,OAAc,EAAA;;IACpF,IAAI,CAAC,OAAO,CAAC,MAAM;AAAE,QAAA,OAAO,MAAM,CAAC;AAEnC,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;AAE/B,IAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEtC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AACtC,QAAA,IAAI,MAAM,CAAC,kBAAyB,CAAC,EAAE;AACnC,YAAA,IAAI,QAAQ,EAAE;;gBAEV,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAyB,CAAC,CAAC,CAAC;AACrE,aAAA;AAAM,iBAAA;gBACH,MAAM,CAAC,kBAAyB,CAAC,GAAG,MAAM,CAAC,kBAAyB,CAAC,CAAC;AACzE,aAAA;AACJ,SAAA;AACD,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC;AAC5D,QAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AACtB,YAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;AACtD,gBAAA,IAAI,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;AACrD,oBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACpB,iBAAA;gBACD,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,aAAA;AAAM,iBAAA;AACH,gBAAA,QAAQ,KAAI,CAAA,EAAA,GAAA,MAAM,CAAC,GAAG,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAA,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7F,aAAA;AACJ,SAAA;AACJ,KAAA;AAAM,SAAA,IAAI,QAAQ,EAAE;AACjB,QAAA,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtB,KAAA;AACD,IAAA,OAAO,mBAAmB,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AACnD;;AC9CA,IAAI,OAAO,CAAC;AACZ,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,IAAI,MAAM,GAAiC,EAAE,CAAC;AAC9C;AACA,IAAI,SAAS,GAAG,IAAI,GAAG,EAAgC,CAAC;AAExD,SAAS,eAAe,GAAA;AACpB,IAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACnB,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;AACxC,YAAA,OAAO,CAAC,KAAK,CACT,uIAAuI,CAC1I,CAAC;AACL,SAAA;AACD,QAAA,QAAQ,WAAW,IAAI,CAAC,CAAC;AAC5B,KAAA;AACL,CAAC;AAEK,SAAU,WAAW,CAAC,CAA2B,EAAA;AACnD,IAAA,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC7B,IAAA,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IAC7B,IAAI,UAAU,GAAG,CAAC,EAAE;QAChB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;;AAE7B,QAAA,IAAI,QAAQ,EAAE;AACV,YAAA,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACzB,SAAA;AAAM,aAAA;AACH,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACf,YAAA,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACzB,SAAA;AACJ,KAAA;AAAM,SAAA;AACH,QAAA,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5F,KAAA;AACL,CAAC;AAEK,SAAU,KAAK,CAAC,EAAc,EAAA;AAChC,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,QAAQ,EAAE,CAAC;AACf,CAAC;SACe,UAAU,GAAA;AACtB,IAAA,UAAU,EAAE,CAAC;;AAEb,IAAA,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AACK,SAAU,QAAQ,CAAC,KAAe,EAAA;AACpC,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,IAAI,UAAU,IAAI,CAAC,IAAI,KAAK,EAAE;QAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,UAAU,GAAG,CAAC,CAAC;;;QAGf,MAAM,KAAK,GAAG,MAAM,CAAC;QACrB,MAAM,GAAG,EAAE,CAAC;AACZ,QAAA,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AACtB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,YAAA,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACnB,YAAA,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;AACf,gBAAA,CAAC,EAAE,CAAC;AACP,aAAA;AAAM,iBAAA;AACH,gBAAA,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAChF,gBAAA,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AACxD,aAAA;AACJ,SAAA;AACJ,KAAA;AACL;;ACzEA,SAAS,qBAAqB,CAAC,KAAU,EAAE,IAAyB,EAAE,UAAe,EAAA;;IAEjF,OAAO,YAAA;AACH,QAAA,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACrF,IAAI,CAAC,GAAG,KAAK,CAAC;AACd,QAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACjB,YAAA,IAAI,CAAS,CAAC;AACd,YAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,aAAA;YACD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;AAC3B,SAAA;AAAM,aAAA;YACH,KAAK,GAAG,UAAU,CAAC;AACtB,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;AACjB,KAAC,CAAC;AACN,CAAC;AAEe,SAAA,QAAQ,CACpB,IAAe,EACf,KAAU,EACV,IAAyB,EACzB,WAAgB,EAChB,UAAe,EACf,KAAa,EACb,mBAA6B,EAAA;AAE7B,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACjC,IAAA,IAAI,SAAS,EAAE;AACX,QAAA,IAAI,WAAW,CAAC;QAChB,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1B,YAAA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;AAErC,YAAA,MAAM,EAAE,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,KAAK,KAAK,UAAU,GAAG,mBAAmB,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;;AAGzG,YAAA,IAAI,EAAE,EAAE;;;AAGJ,gBAAA,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE;oBACzB,WAAW,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAChE,iBAAA;AACD,gBAAA,WAAW,CACP,MAAM;sBACC,UAAU,CAAC,QAAuB;AACrC,sBAAE;wBACI,EAAE,EAAE,UAAU,CAAC,QAAQ;wBACvB,KAAK;wBACL,WAAW;wBACX,IAAI;wBACJ,WAAW;wBACX,UAAU;wBACV,IAAI;AACP,qBAAA,CACV,CAAC;AACL,aAAA;AACJ,SAAA;AACJ,KAAA;AACL,CAAC;AAED,SAAS,cAAc,CACnB,IAAe,EACf,KAAU,EACV,IAAyB,EACzB,WAAgB,EAChB,UAAe,EACf,KAAa,EACb,mBAA6B,EAAA;;AAG7B,IAAA,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;;IAEjF,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3B,QAAA,IAAI,MAAM,EAAE;AACR,YAAA,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACzC,cAAc,CACV,MAAM,EACN,WAAW,EACX,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EACvB,WAAW,EACX,UAAU,EACV,KAAK,GAAG,CAAC,EACT,mBAAmB,CACtB,CAAC;AACL,SAAA;AACJ,KAAA;AACL,CAAC;AACK,SAAU,MAAM,CAAC,IAAe,EAAE,KAAU,EAAE,IAAS,EAAE,KAAa,EAAE,mBAA6B,EAAA;;AAEvG,IAAA,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;AAC7E;;AC/FM,SAAU,QAAQ,CACpB,IAAe,EACf,QAAyB,EACzB,KAAoB,EACpB,MAAgB,EAAA;AAEhB,IAAA,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC/B,IAAI,CAAC,SAAS,EAAE;QACZ,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1C,KAAA;AAED,IAAA,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAE9D,IAAA,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAExB,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5C;;ACLM,SAAU,wBAAwB,CAAC,IAAe,EAAA;AACpD,IAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AACD;AACA,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE;AACrE,IAAA,YAAY,EAAE,IAAI;IAClB,GAAG,GAAA;QACC,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AACJ,CAAA,CAAC,CAAC;AACH,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,EAAE;AAC1E,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,KAAK,EAAE,IAAI;AACd,CAAA,CAAC,CAAC;AACH,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE;AACrE,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,KAAK,EAAE,KAAK;AACf,CAAA,CAAC,CAAC;AACH,wBAAwB,CAAC,SAAS,CAAC,IAAI,GAAG,YAAA;AACtC,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC7B,KAAA;IACD,OAAO,IAAI,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AACF,wBAAwB,CAAC,SAAS,CAAC,GAAG,GAAG,YAAA;AACrC,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;IACxB,cAAc,CAAC,IAAI,CAAC,CAAC;AAErB,IAAA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC,CAAC;AACF;AACA,wBAAwB,CAAC,SAAS,CAAC,GAAG,GAAG,UAAa,KAA2B,EAAA;AAC7E,IAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;QACnB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpC,KAAA;AACD,IAAA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;QACxB,MAAM,IAAI,KAAK,CACX,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;AAClC,cAAE,uIAAuI;cACvI,2CAA2C,CACpD,CAAC;AACL,KAAA;AACD,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAC7B,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;AACpB,IAAA,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;AACf,IAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAChD,IAAA,OAAO,IAAqC,CAAC;AACjD,CAAC,CAAC;AACF,wBAAwB,CAAC,SAAS,CAAC,MAAM,GAAG,YAAA;AACxC,IAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAC1B,IAAA,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AAClB,QAAA,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACpB,KAAA;AAAM,SAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;AAClF,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACvE,KAAA;IAED,OAAO,CAAC,KAAK,CAAC;AAClB,CAAC,CAAC;AACF;AACA,wBAAwB,CAAC,SAAS,CAAC,QAAQ,GAAG,UAC1C,EAAiB,EACjB,KAAoB,EACpB,MAAgB,EAAA;AAEhB,IAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC;;ACrDD,IAAI,KAAK,GAAG,KAAK,CAAC;AAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC3B,YAAY;IACZ,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,SAAS;AACZ,CAAA,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAmB;IACxC,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,UAAU,EAAE,QAAQ,CAAC;IACtB,CAAC,QAAQ,EAAE,MAAM,CAAC;IAClB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,QAAQ,EAAE,MAAM,CAAC;AACrB,CAAA,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,IAAe,EAAE,MAAW,EAAE,IAAY,EAAE,GAAG,IAAW,EAAA;AAChF,IAAA,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,MAAM,CAAC;AAEhE,IAAA,MAAM,GAAG,GAAI,MAAM,CAAC,IAAI,CAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAE3D,IAAA,IAAI,IAAI,EAAE;AACN,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3B,QAAA,MAAM,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACpC,QAAA,MAAM,WAAW,GAAG,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;;AAG9D,QAAA,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;;AAG7B,QAAA,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,MAAM,GAAG,GAAG,GAAI,WAAmB,EAAE,MAAM,CAAC,CAAC;AACvE,KAAA;;AAGD,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,MAAiB,EAAE,GAAkC,EAAE,SAAe,EAAA;AACvF,IAAA,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE;AAC1B,QAAA,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC;AACjC,QAAA,IAAI,MAAM,EAAE;YACR,IAAI,MAAM,CAAC,SAAS,EAAE;AAClB,gBAAA,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AAChD,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;AACjB,KAAA;AACD,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAE3B,IAAA,IAAI,gBAAiD,CAAC;AACtD,IAAA,IAAI,KAA4B,CAAC;;IAGjC,MAAM,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AAEvD,IAAA,IAAI,OAAe,CAAC;AAEpB,IAAA,IAAI,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;;QAE7B,IAAI,CAAA,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,MAAM,IAAG,CAAC,EAAE;AACvB,YAAA,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,EAAE;gBACH,OAAO;AACH,oBAAA,CAAC,CAAC,EAAE,KAAK,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAExG,gBAAA,IAAI,OAAO,EAAE;AACT,oBAAA,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;oBAC7B,KAAK,GAAG,EAAE,CAAC;AACX,oBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,wBAAA,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACvB,wBAAA,IAAI,CAAC,EAAE;AACH,4BAAA,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA;SAAM,IAAI,SAAS,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,EAAE;;QAElD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACxC,QAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxB,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACrB,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtC,gBAAA,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAC5B,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;AACpB,oBAAA,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AACvC,iBAAA;gBAED,IAAI,KAAK,CAAC,SAAS,EAAE;AACjB,oBAAA,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtD,iBAAA;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA;AAED,IAAA,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;AAC1B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,QAAQ,GAAG,CAAC,KAAK,IAAI,CAAA,GAAG,KAAH,IAAA,IAAA,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAG,CAAE,MAAM,OAAK,SAAS,KAAT,IAAA,IAAA,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,CAAC;QAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC;QAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7B,YAAA,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,SAAS,KAAT,IAAA,IAAA,SAAS,uBAAT,SAAS,CAAG,GAAG,CAAC,CAAC;AAE9B,YAAA,IAAI,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;AAC5B,YAAA,IAAI,MAAM,EAAE;gBACR,MAAM,EAAE,GAAG,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAG,OAAO,CAAC,CAAC;gBAE5B,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;;;AAItC,gBAAA,IAAI,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE;;oBAE3B,MAAM,SAAS,GAAG,EAAE,KAAK,SAAS,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;oBAC3E,IAAI,CAAC,SAAS,EAAE;;wBAEZ,MAAM,GAAG,KAAK,CAAC;AAClB,qBAAA;yBAAM,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE;;;;AAIzD,wBAAA,IAAI,SAAS,EAAE;4BACX,KAAK,GAAG,SAAS,CAAC;AAClB,4BAAA,IAAI,CAAC,KAAK;AAAE,gCAAA,SAAS;4BACrB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClC,4BAAA,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;4BAChB,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5B,yBAAA;wBAED,OAAO,GAAG,IAAI,CAAC;;wBAGf,MAAM,UAAU,GAAG,SAAS,CAAC;AAC7B,wBAAA,MAAM,GAAG,UAAU,KAAK,KAAK,CAAC;AACjC,qBAAA;AACJ,iBAAA;AAED,gBAAA,IAAI,MAAM,EAAE;;oBAER,QAAQ,GAAG,IAAI,CAAC;;AAEhB,oBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;AACrB,wBAAA,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACnC,qBAAA;AACJ,iBAAA;AACD,gBAAA,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE;;;;;oBAKtB,IAAI,KAAK,CAAC,SAAS,EAAE;AACjB,wBAAA,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAC1D,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACnC,aAAA;AACJ,SAAA;;;QAID,OAAO,QAAQ,IAAI,OAAO,CAAC;AAC9B,KAAA;AAAM,SAAA,IAAI,SAAS,EAAE;;AAElB,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe,EAAE,CAAmB,EAAA;;IAElD,IAAI,CAAC,KAAK,SAAS;AAAE,QAAA,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;;AAGlD,IAAA,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAY,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,YAAY,GAAsB;IACpC,GAAG,CAAC,IAAe,EAAE,CAAM,EAAA;;;QAEvB,IAAI,CAAC,KAAK,kBAAkB,EAAE;AAC1B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QACD,IAAI,CAAC,KAAK,aAAa,EAAE;AACrB,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QACD,IAAI,CAAC,KAAK,aAAa,EAAE;AACrB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;AAE5B,QAAA,IAAI,EAAE,EAAE;AACJ,YAAA,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAA;AACpB,gBAAA,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;;;;AAI3B,gBAAA,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5E,aAAC,CAAC;AACL,SAAA;AAED,QAAA,IAAI,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AAE/B,QAAA,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,gBAAgB,EAAE;AAC3D,YAAA,IAAI,mBAAmB,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5F,gBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,KAAK,KAAK,SAAS,EAAE;AACrB,oBAAA,OAAO,MAAA,CAAA,EAAA,GAAA,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,CAAC;AACjD,iBAAA;AACJ,aAAA;AACJ,SAAA;QAED,MAAM,KAAK,GAAG,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;;AAGzB,QAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AACnB,YAAA,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AAChB,gBAAA,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;AAEvB,oBAAA,OAAO,CAAC,GAAG,IAAI,KAAK,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AACjE,iBAAA;AAAM,qBAAA,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;;AAG5B,oBAAA,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC3B,OAAO,UAAU,MAAM,EAAE,OAAO,EAAA;AAC5B,wBAAA,SAAS,EAAE,CAAC,CAAC,EAAE,KAAa,EAAE,KAAY,EAAA;AACtC,4BAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;yBACtD;wBACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACjC,qBAAC,CAAC;AACL,iBAAA;AACJ,aAAA;;AAED,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,SAAA;;AAGD,QAAA,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;;YAEpB,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;AAClC,gBAAA,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;;AAG3B,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;AACJ,SAAA;;AAGD,QAAA,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KAC5B;;AAED,IAAA,cAAc,CAAC,IAAI,EAAA;AACf,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;KAC7F;AACD,IAAA,OAAO,CAAC,IAAe,EAAA;AACnB,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,WAAW,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,EAAE,CAAC;AAElC,QAAA,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;;AAGjD,QAAA,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;;;AAK3B,QAAA,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;IACD,wBAAwB,CAAC,IAAI,EAAE,CAAC,EAAA;AAC5B,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;KACvF;AACD,IAAA,GAAG,CAAC,IAAe,EAAE,IAAY,EAAE,KAAK,EAAA;;AAEpC,QAAA,IAAI,KAAK,EAAE;YACP,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACzC,SAAA;QAED,IAAI,CAAC,QAAQ,EAAE;AACX,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AAED,QAAA,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACf;IACD,cAAc,CAAC,MAAiB,EAAE,IAAI,EAAA;;AAElC,QAAA,IAAI,KAAK,EAAE;YACP,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/C,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;KACJ;IACD,GAAG,CAAC,MAAM,EAAE,IAAI,EAAA;AACZ,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACnC;CACJ,CAAC;AAEF,SAAS,GAAG,CAAC,IAAe,EAAE,QAAc,EAAA;AACxC,IAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACd,OAAO,MAAM,CAAC,IAAI,EAAE,WAAkB,EAAE,QAAQ,CAAC,CAAC;AACrD,KAAA;AAAM,SAAA;AACH,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClD,KAAA;AACL,CAAC;AACD,SAAS,MAAM,CAAC,IAAe,EAAA;AAC3B,IAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AACjC,IAAA,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AAClB,QAAA,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC;AACjB,KAAA;AAAM,SAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;AAClF,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACvE,KAAA;AACL,CAAC;AAED,SAAS,MAAM,CAAC,IAAe,EAAE,GAAoB,EAAE,QAAc,EAAE,KAAc,EAAA;AACjF,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;QACxC,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,QAAQ,YAAY,WAAW,EAAE;AACvE,YAAA,OAAO,CAAC,IAAI,CAAC,CAAA,iFAAA,CAAmF,CAAC,CAAC;AACrG,SAAA;AACJ,KAAA;AAED,IAAA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QAClB,MAAM,IAAI,KAAK,CACX,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;AAClC,cAAE,uIAAuI;cACvI,2CAA2C,CACpD,CAAC;AACL,KAAA;AAED,IAAA,MAAM,QAAQ,GAAG,QAAQ,KAAK,WAAW,CAAC;AAC1C,IAAA,IAAI,QAAQ;QAAE,QAAQ,GAAG,SAAS,CAAC;AAEnC,IAAA,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAErC,IAAA,MAAM,MAAM,GAAI,GAAW,KAAK,WAAW,CAAC;;AAG5C,IAAA,IAAI,SAAS,GAAc,MAAM,GAAG,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;;AAGnE,IAAA,IAAI,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAE7D,IAAA,IAAI,MAAM,EAAE;QACR,GAAG,GAAG,GAAG,CAAC;AACb,KAAA;;AAGD,IAAA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;;IAGnC,QAAQ;AACJ,QAAA,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC;AAC7B,cAAE,QAAQ,CAAC,SAAS,CAAC;AACrB,cAAE,QAAQ,CAAC,QAAQ,CAAC,KAAI,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAG,kBAAyB,CAAC,CAAA;AAC7D,kBAAE,QAAQ,CAAC,GAAG,EAAE;kBACd,QAAQ,CAAC;IAEnB,KAAK,GAAG,IAAI,CAAC;;AAEb,IAAA,IAAI,QAAQ,EAAE;AACV,QAAA,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AAC3B,KAAA;AAAM,SAAA;AACH,QAAA,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;AAC/B,KAAA;IACD,KAAK,GAAG,KAAK,CAAC;;AAGd,IAAA,UAAU,EAAE,CAAC;IAEb,IAAI,QAAQ,GAAG,MAAM,CAAC;IACtB,IAAI,mBAAmB,GAAG,KAAK,CAAC;;AAEhC,IAAA,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE;QACnD,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvD,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AACnB,YAAA,mBAAmB,GAAG,CAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,MAAM,OAAK,SAAS,aAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,MAAM,CAAA,CAAC;AAChE,SAAA;AACJ,KAAA;;AAGD,IAAA,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,SAAS,EAAE;QACnC,MAAM,CACF,MAAM,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,QAAQ,EACR,SAAS,EACT,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,SAAS,KAAK,SAAS,IAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,EACxD,mBAAmB,CACtB,CAAC;AACL,KAAA;AAED,IAAA,QAAQ,EAAE,CAAC;AAEX,IAAA,OAAO,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,MAAM,CAAC,IAAe,EAAE,KAAU,EAAA;AACvC,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7B,IAAA,UAAU,EAAE,CAAC;IAEb,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;AACpB,KAAA;;IAGD,QAAQ,GAAG,IAAI,CAAC;IAChB,IAAI;AACA,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/B,KAAA;AAAS,YAAA;QACN,QAAQ,GAAG,KAAK,CAAC;AACpB,KAAA;AAED,IAAA,QAAQ,EAAE,CAAC;AAEX,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe,EAAE,GAAqB,EAAA;;AAEpD,IAAA,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE;AAClC,QAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AACf,QAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB,KAAA;;AAED,IAAA,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,YAAY,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,gBAAgB,CAAI,KAAK,EAAE,aAAuB,EAAA;IACvD,MAAM,OAAO,GAAG,SAAS,CAAI,KAAK,CAAC,IAAI,KAAK,CAAC;AAC7C,IAAA,IAAI,OAAO,EAAE;QACT,KAAK,GAAG,SAAS,CAAC;AACrB,KAAA;AACD,IAAA,MAAM,IAAI,GAAG;QACT,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK;KACf,CAAC;AAEpB,IAAA,MAAM,IAAI,GAAc;AACpB,QAAA,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE;QACxB,IAAI;KACP,CAAC;AAEF,IAAA,MAAM,GAAG,GACL,aAAa,IAAI,iBAAiB,CAAC,KAAK,CAAC;AACrC,UAAG,IAAI,wBAAwB,CAAC,IAAI,CAAuC;AAC3E,UAAG,QAAQ,CAAC,IAAI,CAAgC,CAAC;AAEzD,IAAA,IAAI,OAAO,EAAE;AACT,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AACpB,YAAA,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAS,CAAC,CAAC;AAC9B,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,KAAI;AACnB,YAAA,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,SAAC,CAAC,CAAC;AACN,KAAA;AAED,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAEK,SAAU,UAAU,CAAI,KAAsB,EAAA;AAChD,IAAA,OAAO,gBAAgB,CAAC,KAAK,CAAQ,CAAC;AAC1C,CAAC;AAEK,SAAU,mBAAmB,CAAI,KAAsB,EAAA;IACzD,OAAO,gBAAgB,CAAC,KAAK,oBAAoB,IAAI,CAA2B,CAAC;AACrF;;ACxgBA,SAAS,aAAa,CAAC,KAAgC,EAAE,MAAkB,EAAE,MAAgB,EAAA;IACzF,IAAI,SAAS,GAAG,EAAE,CAAC;;AAEnB,IAAA,IAAI,KAAK,EAAE;AACP,QAAA,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;AAChC,YAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;AAChC,YAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,SAAA;AACJ,KAAA;AAED,IAAA,OAAO,MAAK;AACR,QAAA,IAAI,SAAS,EAAE;AACX,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,gBAAA,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAClB,aAAA;YACD,SAAS,GAAG,SAAS,CAAC;AACzB,SAAA;AACL,KAAC,CAAC;AACN,CAAC;AAEK,SAAU,OAAO,CAAI,GAAqC,EAAA;AAC5D,IAAA,IAAI,OAAmB,CAAC;AACxB,IAAA,MAAM,CAAC,GAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;AAEtC,IAAA,IAAI,MAAM,GAAG,YAAA;;;QAET,IAAI,CAAC,CAAC,SAAS,EAAE;YACb,CAAC,CAAC,SAAS,EAAE,CAAC;AACd,YAAA,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,SAAA;;AAGD,QAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,EAAI,CAAC;;AAGZ,QAAA,UAAU,EAAE,CAAC;;AAGb,QAAA,aAAa,EAAE,CAAC;;AAGhB,QAAA,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;;QAGpB,CAAC,CAAC,GAAG,EAAE,CAAC;AAER,QAAA,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;;YAEjC,IAAI,MAAM,GAAG,IAAI,CAAC;AAClB,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;gBACxC,CAAA,EAAA,GAAA,OAAO,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,OAAO,CAAC,YAAY,EAAE;oBACtB,MAAM,GAAG,KAAK,CAAC;AACf,oBAAA,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACzC,iBAAA;;AAED,gBAAA,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;AACnC,gBAAA,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;AACpC,aAAA;;YAGD,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1D,SAAA;AAED,QAAA,WAAW,EAAE,CAAC;AAEd,QAAA,QAAQ,EAAE,CAAC;AACf,KAAC,CAAC;AAEF,IAAA,MAAM,EAAE,CAAC;;AAGT,IAAA,OAAO,MAAM,OAAO,EAAE,CAAC;AAC3B;;ACzEM,SAAU,QAAQ,CAAI,OAA6B,EAAA;;AAErD,IAAA,IAAI,GAAG,GAAG,UAAU,EAAK,CAAC;AAC1B,IAAA,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;;IAG1B,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAK;QAC9B,MAAM,GAAG,GAAG,UAAU,GAAG,EAAA;;AAErB,YAAA,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC3B,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACb,YAAA,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9B,SAAC,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,YAAA;AACP,YAAA,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;AACpB,YAAA,IAAI,SAAS,CAAI,GAAG,CAAC,EAAE;AACnB,gBAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,aAAA;AAAM,iBAAA;gBACH,GAAG,CAAC,GAAG,CAAC,CAAC;AACZ,aAAA;AACL,SAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,CAAC;AAChB,KAAC,CAAC;AAEF,IAAA,OAAO,GAAuC,CAAC;AACnD;;SC5BgB,KAAK,GAAA;;;AAGjB,IAAA,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO;AACH,QAAA,IAAI,EAAE,YAAA;;AAEF,YAAA,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;SACzB;QACD,EAAE,EAAE,UAAU,EAAE,EAAA;AACZ,YAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC3B;AACD,QAAA,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE;;QAEpB,CAAC,kBAAkB,GAAG,IAAI;QAC1B,CAAC,aAAa,GAAG,IAAI;KACxB,CAAC;AACN;;ACfgB,SAAA,IAAI,CAAI,SAAsB,EAAE,MAAwC,EAAA;;IAEpF,SAAS,GAAG,CAAC,CAAkB,EAAA;AAC3B,QAAA,MAAM,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAEvC,QAAA,IAAI,GAAG,EAAE;;YAEL,MAAM,CAAC,GAAG,CAAC,CAAC;;AAGZ,YAAA,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,SAAA;KACJ;;IAGD,MAAM,OAAO,GACT,CAAC,MAAM;AACP,QAAA,IAAI,OAAO,CAAI,CAAC,OAAO,KAAI;YACvB,MAAM,GAAG,OAAO,CAAC;AACrB,SAAC,CAAC,CAAC;;AAGP,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE7B,OAAO,OAAO,IAAI,OAAO,CAAC;AAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/index.mjs
CHANGED
|
@@ -87,6 +87,7 @@ function updateTracking(node, track) {
|
|
|
87
87
|
|
|
88
88
|
const symbolDateModified = Symbol('dateModified');
|
|
89
89
|
const symbolIsObservable = Symbol('isObservable');
|
|
90
|
+
const symbolIsEvent = Symbol('isEvent');
|
|
90
91
|
const symbolGetNode = Symbol('getNode');
|
|
91
92
|
const symbolUndef = Symbol('undef');
|
|
92
93
|
const extraPrimitiveActivators = new Map([
|
|
@@ -186,6 +187,61 @@ function shouldTreatAsOpaque(value) {
|
|
|
186
187
|
}
|
|
187
188
|
}
|
|
188
189
|
|
|
190
|
+
function isObservable(obs) {
|
|
191
|
+
return obs && !!obs[symbolIsObservable];
|
|
192
|
+
}
|
|
193
|
+
function computeSelector(selector, e) {
|
|
194
|
+
let c = selector;
|
|
195
|
+
if (isFunction(c)) {
|
|
196
|
+
c = e ? c(e) : c();
|
|
197
|
+
}
|
|
198
|
+
return isObservable(c) ? c.get() : c;
|
|
199
|
+
}
|
|
200
|
+
function getNode(obs) {
|
|
201
|
+
return obs[symbolGetNode];
|
|
202
|
+
}
|
|
203
|
+
function lockObservable(obs, value) {
|
|
204
|
+
var _a;
|
|
205
|
+
const root = (_a = getNode(obs)) === null || _a === void 0 ? void 0 : _a.root;
|
|
206
|
+
if (root) {
|
|
207
|
+
root.locked = value;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
function mergeIntoObservable(target, ...sources) {
|
|
211
|
+
var _a;
|
|
212
|
+
if (!sources.length)
|
|
213
|
+
return target;
|
|
214
|
+
const source = sources.shift();
|
|
215
|
+
const needsSet = isObservable(target);
|
|
216
|
+
if (isObject(target) && isObject(source)) {
|
|
217
|
+
if (source[symbolDateModified]) {
|
|
218
|
+
if (needsSet) {
|
|
219
|
+
// @ts-ignore
|
|
220
|
+
target[symbolDateModified].set(source[symbolDateModified]);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
target[symbolDateModified] = source[symbolDateModified];
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
const value = isObservable(target) ? target.peek() : target;
|
|
227
|
+
for (const key in source) {
|
|
228
|
+
if (isObject(source[key]) && !isObjectEmpty(source[key])) {
|
|
229
|
+
if (!needsSet && (!value[key] || !isObject(value[key]))) {
|
|
230
|
+
target[key] = {};
|
|
231
|
+
}
|
|
232
|
+
mergeIntoObservable(target[key], source[key]);
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
needsSet && ((_a = target[key]) === null || _a === void 0 ? void 0 : _a.set) ? target[key].set(source[key]) : (target[key] = source[key]);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
else if (needsSet) {
|
|
240
|
+
target.set(source);
|
|
241
|
+
}
|
|
242
|
+
return mergeIntoObservable(target, ...sources);
|
|
243
|
+
}
|
|
244
|
+
|
|
189
245
|
let timeout;
|
|
190
246
|
let numInBatch = 0;
|
|
191
247
|
let _batch = [];
|
|
@@ -339,6 +395,14 @@ Object.defineProperty(ObservablePrimitiveClass.prototype, symbolGetNode, {
|
|
|
339
395
|
return this._node;
|
|
340
396
|
},
|
|
341
397
|
});
|
|
398
|
+
Object.defineProperty(ObservablePrimitiveClass.prototype, symbolIsObservable, {
|
|
399
|
+
configurable: true,
|
|
400
|
+
value: true,
|
|
401
|
+
});
|
|
402
|
+
Object.defineProperty(ObservablePrimitiveClass.prototype, symbolIsEvent, {
|
|
403
|
+
configurable: true,
|
|
404
|
+
value: false,
|
|
405
|
+
});
|
|
342
406
|
ObservablePrimitiveClass.prototype.peek = function () {
|
|
343
407
|
const root = this._node.root;
|
|
344
408
|
if (root.activate) {
|
|
@@ -383,61 +447,6 @@ ObservablePrimitiveClass.prototype.onChange = function (cb, track, noArgs) {
|
|
|
383
447
|
return onChange(this._node, cb, track, noArgs);
|
|
384
448
|
};
|
|
385
449
|
|
|
386
|
-
function isObservable(obs) {
|
|
387
|
-
return obs && (!!obs[symbolIsObservable] || obs instanceof ObservablePrimitiveClass);
|
|
388
|
-
}
|
|
389
|
-
function computeSelector(selector) {
|
|
390
|
-
let c = selector;
|
|
391
|
-
if (isFunction(c)) {
|
|
392
|
-
c = c();
|
|
393
|
-
}
|
|
394
|
-
return isObservable(c) ? c.get() : c;
|
|
395
|
-
}
|
|
396
|
-
function getNode(obs) {
|
|
397
|
-
return obs[symbolGetNode];
|
|
398
|
-
}
|
|
399
|
-
function lockObservable(obs, value) {
|
|
400
|
-
var _a;
|
|
401
|
-
const root = (_a = getNode(obs)) === null || _a === void 0 ? void 0 : _a.root;
|
|
402
|
-
if (root) {
|
|
403
|
-
root.locked = value;
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
function mergeIntoObservable(target, ...sources) {
|
|
407
|
-
var _a;
|
|
408
|
-
if (!sources.length)
|
|
409
|
-
return target;
|
|
410
|
-
const source = sources.shift();
|
|
411
|
-
const needsSet = isObservable(target);
|
|
412
|
-
if (isObject(target) && isObject(source)) {
|
|
413
|
-
if (source[symbolDateModified]) {
|
|
414
|
-
if (needsSet) {
|
|
415
|
-
// @ts-ignore
|
|
416
|
-
target[symbolDateModified].set(source[symbolDateModified]);
|
|
417
|
-
}
|
|
418
|
-
else {
|
|
419
|
-
target[symbolDateModified] = source[symbolDateModified];
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
const value = isObservable(target) ? target.peek() : target;
|
|
423
|
-
for (const key in source) {
|
|
424
|
-
if (isObject(source[key]) && !isObjectEmpty(source[key])) {
|
|
425
|
-
if (!needsSet && (!value[key] || !isObject(value[key]))) {
|
|
426
|
-
target[key] = {};
|
|
427
|
-
}
|
|
428
|
-
mergeIntoObservable(target[key], source[key]);
|
|
429
|
-
}
|
|
430
|
-
else {
|
|
431
|
-
needsSet && ((_a = target[key]) === null || _a === void 0 ? void 0 : _a.set) ? target[key].set(source[key]) : (target[key] = source[key]);
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
else if (needsSet) {
|
|
436
|
-
target.set(source);
|
|
437
|
-
}
|
|
438
|
-
return mergeIntoObservable(target, ...sources);
|
|
439
|
-
}
|
|
440
|
-
|
|
441
450
|
let inSet = false;
|
|
442
451
|
let inAssign = false;
|
|
443
452
|
const ArrayModifiers = new Set([
|
|
@@ -619,6 +628,9 @@ const proxyHandler = {
|
|
|
619
628
|
if (p === symbolIsObservable) {
|
|
620
629
|
return true;
|
|
621
630
|
}
|
|
631
|
+
if (p === symbolIsEvent) {
|
|
632
|
+
return false;
|
|
633
|
+
}
|
|
622
634
|
if (p === symbolGetNode) {
|
|
623
635
|
return node;
|
|
624
636
|
}
|
|
@@ -883,21 +895,27 @@ function setupTracking(nodes, update, noArgs) {
|
|
|
883
895
|
};
|
|
884
896
|
}
|
|
885
897
|
function observe(run) {
|
|
886
|
-
let cleanupPrevious;
|
|
887
898
|
let dispose;
|
|
899
|
+
const e = { num: 0 };
|
|
888
900
|
// Wrap it in a function so it doesn't pass all the arguments to run()
|
|
889
901
|
let update = function () {
|
|
890
902
|
var _a;
|
|
891
|
-
|
|
903
|
+
// @ts-ignore
|
|
904
|
+
if (e.onCleanup) {
|
|
905
|
+
e.onCleanup();
|
|
906
|
+
e.onCleanup = undefined;
|
|
907
|
+
}
|
|
908
|
+
// Dispose listeners from previous run
|
|
892
909
|
dispose === null || dispose === void 0 ? void 0 : dispose();
|
|
893
|
-
//
|
|
910
|
+
// Run in a batch so changes don't happen until we're done tracking here
|
|
894
911
|
beginBatch();
|
|
912
|
+
// Begin tracking observables accessed while running
|
|
895
913
|
beginTracking();
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
914
|
+
// Run the function
|
|
915
|
+
e.previous = run(e);
|
|
916
|
+
// Increment the counter
|
|
917
|
+
e.num++;
|
|
918
|
+
if (!e.cancel) {
|
|
901
919
|
const tracker = tracking.current;
|
|
902
920
|
// Do tracing if it was requested
|
|
903
921
|
let noArgs = true;
|
|
@@ -911,6 +929,7 @@ function observe(run) {
|
|
|
911
929
|
tracker.traceListeners = undefined;
|
|
912
930
|
tracker.traceUpdates = undefined;
|
|
913
931
|
}
|
|
932
|
+
// Setup tracking with the nodes that were accessed
|
|
914
933
|
dispose = setupTracking(tracker.nodes, update, noArgs);
|
|
915
934
|
}
|
|
916
935
|
endTracking();
|
|
@@ -948,11 +967,11 @@ function computed(compute) {
|
|
|
948
967
|
}
|
|
949
968
|
|
|
950
969
|
function event() {
|
|
951
|
-
//
|
|
970
|
+
// event simply wraps around a number observable
|
|
952
971
|
// which increments its value to dispatch change events
|
|
953
972
|
const obs = observable(0);
|
|
954
973
|
return {
|
|
955
|
-
|
|
974
|
+
fire: function () {
|
|
956
975
|
// Notify increments the value so that the observable changes
|
|
957
976
|
obs.set((v) => v + 1);
|
|
958
977
|
},
|
|
@@ -960,18 +979,21 @@ function event() {
|
|
|
960
979
|
return obs.onChange(cb);
|
|
961
980
|
},
|
|
962
981
|
get: () => obs.get(),
|
|
982
|
+
// @ts-ignore
|
|
983
|
+
[symbolIsObservable]: true,
|
|
984
|
+
[symbolIsEvent]: true,
|
|
963
985
|
};
|
|
964
986
|
}
|
|
965
987
|
|
|
966
988
|
function when(predicate, effect) {
|
|
967
989
|
// Create a wrapping fn that calls the effect if predicate returns true
|
|
968
|
-
function run() {
|
|
990
|
+
function run(e) {
|
|
969
991
|
const ret = computeSelector(predicate);
|
|
970
992
|
if (ret) {
|
|
971
993
|
// If value is truthy then run the effect
|
|
972
994
|
effect(ret);
|
|
973
|
-
//
|
|
974
|
-
|
|
995
|
+
// Set cancel so that observe does not track
|
|
996
|
+
e.cancel = true;
|
|
975
997
|
}
|
|
976
998
|
}
|
|
977
999
|
// If no effect parameter return a promise
|
|
@@ -984,5 +1006,5 @@ function when(predicate, effect) {
|
|
|
984
1006
|
return promise || dispose;
|
|
985
1007
|
}
|
|
986
1008
|
|
|
987
|
-
export { ObservablePrimitiveClass, batch, beginBatch, beginTracking, computeSelector, computed, endBatch, endTracking, event, extraPrimitiveProps, getNode, getNodeValue, isArray, isEmpty, isFunction, isObject, isObservable, isPrimitive, isString, lockObservable, mergeIntoObservable, observable, observablePrimitive, observe, onChange,
|
|
1009
|
+
export { ObservablePrimitiveClass, batch, beginBatch, beginTracking, computeSelector, computed, endBatch, endTracking, event, extraPrimitiveProps, getNode, getNodeValue, isArray, isEmpty, isFunction, isObject, isObservable, isPrimitive, isString, lockObservable, mergeIntoObservable, observable, observablePrimitive, observe, onChange, symbolDateModified, symbolIsEvent, symbolIsObservable, symbolUndef, tracking, updateTracking, when };
|
|
988
1010
|
//# sourceMappingURL=index.mjs.map
|