@furystack/shades 6.1.5 → 7.0.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/dist/component-factory.spec.js +6 -6
- package/dist/component-factory.spec.js.map +1 -1
- package/dist/components/lazy-load.js +17 -14
- package/dist/components/lazy-load.js.map +1 -1
- package/dist/components/route-link.js +7 -3
- package/dist/components/route-link.js.map +1 -1
- package/dist/components/route-link.spec.js +2 -2
- package/dist/components/route-link.spec.js.map +1 -1
- package/dist/components/router.js +25 -26
- package/dist/components/router.js.map +1 -1
- package/dist/components/router.spec.js +2 -2
- package/dist/components/router.spec.js.map +1 -1
- package/dist/models/render-options.js +23 -0
- package/dist/models/render-options.js.map +1 -1
- package/dist/services/location-service.js +16 -4
- package/dist/services/location-service.js.map +1 -1
- package/dist/services/location-service.spec.js +1 -1
- package/dist/services/location-service.spec.js.map +1 -1
- package/dist/services/resource-manager.js +48 -0
- package/dist/services/resource-manager.js.map +1 -0
- package/dist/services/resource-manager.spec.js +32 -0
- package/dist/services/resource-manager.spec.js.map +1 -0
- package/dist/shade-component.js +28 -14
- package/dist/shade-component.js.map +1 -1
- package/dist/shade-resources.integration.spec.js +7 -8
- package/dist/shade-resources.integration.spec.js.map +1 -1
- package/dist/shade.js +33 -69
- package/dist/shade.js.map +1 -1
- package/dist/shades.integration.spec.js +197 -187
- package/dist/shades.integration.spec.js.map +1 -1
- package/package.json +5 -5
- package/src/component-factory.spec.tsx +7 -7
- package/src/components/lazy-load.tsx +19 -15
- package/src/components/route-link.spec.tsx +2 -2
- package/src/components/route-link.tsx +11 -10
- package/src/components/router.spec.tsx +2 -2
- package/src/components/router.tsx +32 -32
- package/src/jsx.ts +3 -2
- package/src/models/render-options.ts +37 -9
- package/src/services/location-service.spec.ts +1 -1
- package/src/services/location-service.tsx +18 -4
- package/src/services/resource-manager.spec.ts +33 -0
- package/src/services/resource-manager.ts +60 -0
- package/src/shade-component.ts +35 -15
- package/src/shade-resources.integration.spec.tsx +8 -14
- package/src/shade.ts +34 -107
- package/src/shades.integration.spec.tsx +265 -252
- package/types/components/lazy-load.d.ts +1 -1
- package/types/components/lazy-load.d.ts.map +1 -1
- package/types/components/route-link.d.ts +1 -1
- package/types/components/route-link.d.ts.map +1 -1
- package/types/components/router.d.ts +6 -8
- package/types/components/router.d.ts.map +1 -1
- package/types/jsx.d.ts +3 -2
- package/types/jsx.d.ts.map +1 -1
- package/types/models/render-options.d.ts +7 -7
- package/types/models/render-options.d.ts.map +1 -1
- package/types/services/location-service.d.ts +12 -1
- package/types/services/location-service.d.ts.map +1 -1
- package/types/services/resource-manager.d.ts +16 -0
- package/types/services/resource-manager.d.ts.map +1 -0
- package/types/services/resource-manager.spec.d.ts +2 -0
- package/types/services/resource-manager.spec.d.ts.map +1 -0
- package/types/shade-component.d.ts +16 -5
- package/types/shade-component.d.ts.map +1 -1
- package/types/shade.d.ts +8 -27
- package/types/shade.d.ts.map +1 -1
package/types/jsx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../src/jsx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../src/jsx.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Injector } from '@furystack/inject';
|
|
2
|
-
import type { PartialElement } from './partial-element';
|
|
3
2
|
import type { ChildrenList } from './children-list';
|
|
4
|
-
|
|
3
|
+
import type { Disposable, ObservableValue } from '@furystack/utils';
|
|
4
|
+
export type RenderOptions<TProps> = {
|
|
5
5
|
readonly props: TProps;
|
|
6
6
|
injector: Injector;
|
|
7
7
|
children?: ChildrenList;
|
|
8
|
-
element: JSX.Element<TProps
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
8
|
+
element: JSX.Element<TProps>;
|
|
9
|
+
useDisposable: <T extends Disposable>(key: string, factory: () => T) => T;
|
|
10
|
+
useObservable: <T>(key: string, observable: ObservableValue<T>, callback?: (newValue: T) => void, getLast?: boolean) => [value: T, setValue: (newValue: T) => void];
|
|
11
|
+
useState: <T>(key: string, initialValue: T) => [value: T, setValue: (newValue: T) => void];
|
|
12
|
+
};
|
|
13
13
|
//# sourceMappingURL=render-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-options.d.ts","sourceRoot":"","sources":["../../src/models/render-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"render-options.d.ts","sourceRoot":"","sources":["../../src/models/render-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEnE,MAAM,MAAM,aAAa,CAAC,MAAM,IAAI;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,aAAa,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IACzE,aAAa,EAAE,CAAC,CAAC,EACf,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAC9B,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,EAChC,OAAO,CAAC,EAAE,OAAO,KACd,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAAA;IAChD,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAAA;CAC3F,CAAA"}
|
|
@@ -2,7 +2,18 @@ import type { Disposable } from '@furystack/utils';
|
|
|
2
2
|
import { ObservableValue } from '@furystack/utils';
|
|
3
3
|
export declare class LocationService implements Disposable {
|
|
4
4
|
dispose(): void;
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Observable value that will be updated when the location pathname (e.g. /page/1) changes
|
|
7
|
+
*/
|
|
8
|
+
onLocationPathChanged: ObservableValue<string>;
|
|
9
|
+
/**
|
|
10
|
+
* Observable value that will be updated when the location hash (e.g. #hash) changes
|
|
11
|
+
*/
|
|
12
|
+
onLocationHashChanged: ObservableValue<string>;
|
|
13
|
+
/**
|
|
14
|
+
* Observable value that will be updated when the location search (e.g. ?search=1) changes
|
|
15
|
+
*/
|
|
16
|
+
onLocationSearchChanged: ObservableValue<string>;
|
|
6
17
|
updateState(): void;
|
|
7
18
|
private pushStateTracer;
|
|
8
19
|
private replaceStateTracer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location-service.d.ts","sourceRoot":"","sources":["../../src/services/location-service.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAS,MAAM,kBAAkB,CAAA;AAEzD,qBACa,eAAgB,YAAW,UAAU;IACzC,OAAO;
|
|
1
|
+
{"version":3,"file":"location-service.d.ts","sourceRoot":"","sources":["../../src/services/location-service.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAS,MAAM,kBAAkB,CAAA;AAEzD,qBACa,eAAgB,YAAW,UAAU;IACzC,OAAO;IAQd;;OAEG;IACI,qBAAqB,0BAAuD;IAEnF;;OAEG;IACI,qBAAqB,0BAAqC;IAEjE;;OAEG;IACI,uBAAuB,0BAAuC;IAE9D,WAAW;IAMlB,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,kBAAkB,CAAY;;CAoBvC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ObservableValue } from '@furystack/utils';
|
|
2
|
+
import type { Disposable, ValueChangeCallback } from '@furystack/utils';
|
|
3
|
+
import type { ValueObserver } from '@furystack/utils';
|
|
4
|
+
/**
|
|
5
|
+
* Class for managing observables and disposables for components, based on key-value maps
|
|
6
|
+
*/
|
|
7
|
+
export declare class ResourceManager {
|
|
8
|
+
private readonly disposables;
|
|
9
|
+
useDisposable<T extends Disposable>(key: string, factory: () => T): T;
|
|
10
|
+
readonly observers: Map<string, ValueObserver<any>>;
|
|
11
|
+
useObservable: <T>(key: string, observable: ObservableValue<T>, callback: ValueChangeCallback<T>, getLast?: boolean) => [value: T, setValue: (newValue: T) => void];
|
|
12
|
+
readonly stateObservers: Map<string, ObservableValue<any>>;
|
|
13
|
+
useState: <T>(key: string, initialValue: T, callback: ValueChangeCallback<T>) => [value: T, setValue: (newValue: T) => void];
|
|
14
|
+
dispose(): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=resource-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-manager.d.ts","sourceRoot":"","sources":["../../src/services/resource-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAErD,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;IAO5E,SAAgB,SAAS,kCAAwC;IAE1D,aAAa,WACb,MAAM,8EAGD,OAAO,2CACsB,IAAI,EAQ5C;IAED,SAAgB,cAAc,oCAA0C;IAEjE,QAAQ,WACR,MAAM,8FAG4B,IAAI,EAQ5C;IAEM,OAAO;CASf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-manager.spec.d.ts","sourceRoot":"","sources":["../../src/services/resource-manager.spec.ts"],"names":[],"mappings":""}
|
|
@@ -15,14 +15,25 @@ export declare const hasStyle: (props: any) => props is {
|
|
|
15
15
|
*/
|
|
16
16
|
export declare const attachStyles: (el: HTMLElement, props: any) => void;
|
|
17
17
|
export declare const attachDataAttributes: (el: HTMLElement, props: any) => void;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param el The Target HTML Element
|
|
21
|
+
* @param props The Props to attach
|
|
22
|
+
*/
|
|
23
|
+
export declare const attachProps: (el: HTMLElement, props: any) => void;
|
|
24
|
+
type CreateComponentArgs<TProps> = [
|
|
25
|
+
elementType: string | ShadeComponent<TProps>,
|
|
26
|
+
props: TProps,
|
|
27
|
+
...children: ChildrenList
|
|
28
|
+
];
|
|
18
29
|
/**
|
|
19
30
|
* Factory method that creates a component. This should be configured as a default JSX Factory in tsconfig.
|
|
20
31
|
*
|
|
21
|
-
* @param elementType The type of the element (component or stateless component factory method)
|
|
22
|
-
* @param props The props for the component
|
|
23
|
-
* @param children additional rest parameters will be parsed as children objects
|
|
24
32
|
* @returns the created JSX element
|
|
25
33
|
*/
|
|
26
|
-
export declare const
|
|
27
|
-
|
|
34
|
+
export declare const createComponentInner: <TProps>(elementType: string | ShadeComponent<TProps>, props: TProps, ...children: (string | HTMLElement | JSX.Element<any> | string[] | HTMLElement[] | JSX.Element<any>[])[]) => HTMLElement | undefined;
|
|
35
|
+
type CreateFragmentArgs = [props: null, ...children: ChildrenList];
|
|
36
|
+
export declare const createFragmentInner: (props: null, ...children: (string | HTMLElement | JSX.Element<any> | string[] | HTMLElement[] | JSX.Element<any>[])[]) => DocumentFragment;
|
|
37
|
+
export declare const createComponent: <TProps>(...args: [props: null, ...children: (string | HTMLElement | JSX.Element<any> | string[] | HTMLElement[] | JSX.Element<any>[])[]] | [elementType: string | ShadeComponent<TProps>, props: TProps, ...children: (string | HTMLElement | JSX.Element<any> | string[] | HTMLElement[] | JSX.Element<any>[])[]]) => HTMLElement | DocumentFragment | undefined;
|
|
38
|
+
export {};
|
|
28
39
|
//# sourceMappingURL=shade-component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shade-component.d.ts","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG5D;;;;;GAKG;AACH,eAAO,MAAM,WAAW,OAAQ,WAAW,GAAG,gBAAgB,iCAY7D,CAAA;AAED,eAAO,MAAM,QAAQ,UAAW,GAAG;WAAqB,QAAQ,mBAAmB,CAAC;CAEnF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,OAAQ,WAAW,SAAS,GAAG,SAOvD,CAAA;AAED,eAAO,MAAM,oBAAoB,OAAQ,WAAW,SAAS,GAAG,SAK/D,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"shade-component.d.ts","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG5D;;;;;GAKG;AACH,eAAO,MAAM,WAAW,OAAQ,WAAW,GAAG,gBAAgB,iCAY7D,CAAA;AAED,eAAO,MAAM,QAAQ,UAAW,GAAG;WAAqB,QAAQ,mBAAmB,CAAC;CAEnF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,OAAQ,WAAW,SAAS,GAAG,SAOvD,CAAA;AAED,eAAO,MAAM,oBAAoB,OAAQ,WAAW,SAAS,GAAG,SAK/D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,OAAQ,WAAW,SAAS,GAAG,SAOtD,CAAA;AAED,KAAK,mBAAmB,CAAC,MAAM,IAAI;IACjC,WAAW,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,MAAM;IACb,GAAG,QAAQ,EAAE,YAAY;CAC1B,CAAA;AAGD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,4MAgBhC,CAAA;AAED,KAAK,kBAAkB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,YAAY,CAAC,CAAA;AAElE,eAAO,MAAM,mBAAmB,6IAI/B,CAAA;AAED,eAAO,MAAM,eAAe,oWAK3B,CAAA"}
|
package/types/shade.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Disposable } from '@furystack/utils';
|
|
2
|
-
import { Injector } from '@furystack/inject';
|
|
3
2
|
import type { ChildrenList, RenderOptions } from './models';
|
|
4
|
-
export type ShadeOptions<TProps
|
|
3
|
+
export type ShadeOptions<TProps> = {
|
|
5
4
|
/**
|
|
6
5
|
* Explicit shadow dom name. Will fall back to 'shade-{guid}' if not provided
|
|
7
6
|
*/
|
|
@@ -9,47 +8,29 @@ export type ShadeOptions<TProps, TState> = {
|
|
|
9
8
|
/**
|
|
10
9
|
* Render hook, this method will be executed on each and every render.
|
|
11
10
|
*/
|
|
12
|
-
render: (options: RenderOptions<TProps
|
|
11
|
+
render: (options: RenderOptions<TProps>) => JSX.Element | string | null;
|
|
13
12
|
/**
|
|
14
13
|
* Construct hook. Will be executed once when the element has been constructed and initialized
|
|
15
14
|
*/
|
|
16
|
-
constructed?: (options: RenderOptions<TProps
|
|
15
|
+
constructed?: (options: RenderOptions<TProps>) => void | undefined | (() => void) | Promise<void | undefined | (() => void)>;
|
|
17
16
|
/**
|
|
18
17
|
* Will be executed when the element is attached to the DOM.
|
|
19
18
|
*/
|
|
20
|
-
onAttach?: (options: RenderOptions<TProps
|
|
19
|
+
onAttach?: (options: RenderOptions<TProps>) => void;
|
|
21
20
|
/**
|
|
22
21
|
* Will be executed when the element is detached from the DOM.
|
|
23
22
|
*/
|
|
24
|
-
onDetach?: (options: RenderOptions<TProps
|
|
23
|
+
onDetach?: (options: RenderOptions<TProps>) => void;
|
|
25
24
|
/**
|
|
26
25
|
* A factory method that creates a list of disposable resources that will be disposed when the element is detached.
|
|
27
26
|
*/
|
|
28
|
-
resources?: (options: RenderOptions<TProps
|
|
29
|
-
|
|
30
|
-
* An optional method that checks the state for changes and returns true if the element should be rerendered. This will not be called if `skipRender` is set to true in the relevant `updateState()` call.
|
|
31
|
-
*/
|
|
32
|
-
compareState?: (options: {
|
|
33
|
-
oldState: TState;
|
|
34
|
-
newState: TState;
|
|
35
|
-
props: TProps;
|
|
36
|
-
element: HTMLElement;
|
|
37
|
-
injector: Injector;
|
|
38
|
-
}) => boolean;
|
|
39
|
-
} & (unknown extends TState ? {} : {
|
|
40
|
-
/**
|
|
41
|
-
* The initial state of the component
|
|
42
|
-
*/
|
|
43
|
-
getInitialState: (options: {
|
|
44
|
-
injector: Injector;
|
|
45
|
-
props: TProps;
|
|
46
|
-
}) => TState;
|
|
47
|
-
});
|
|
27
|
+
resources?: (options: RenderOptions<TProps>) => Disposable[];
|
|
28
|
+
};
|
|
48
29
|
/**
|
|
49
30
|
* Factory method for creating Shade components
|
|
50
31
|
*
|
|
51
32
|
* @param o for component creation
|
|
52
33
|
* @returns the JSX element
|
|
53
34
|
*/
|
|
54
|
-
export declare const Shade: <TProps
|
|
35
|
+
export declare const Shade: <TProps>(o: ShadeOptions<TProps>) => (props: TProps, children: ChildrenList) => JSX.Element<any>;
|
|
55
36
|
//# sourceMappingURL=shade.d.ts.map
|
package/types/shade.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shade.d.ts","sourceRoot":"","sources":["../src/shade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"shade.d.ts","sourceRoot":"","sources":["../src/shade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAG3D,MAAM,MAAM,YAAY,CAAC,MAAM,IAAI;IACjC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA;IAEvE;;OAEG;IACH,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAC3B,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;IAE/E;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAEnD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAEnD;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAA;CAC7D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,KAAK,kGAgJjB,CAAA"}
|