@liforma/client 0.4.15 → 0.4.16
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 +6 -0
- package/dist/next/index.js +619 -608
- package/dist/next/index.js.map +1 -1
- package/dist/next/react/ExperienceThumbnail.d.ts.map +1 -1
- package/dist/next/thumbnail/avatarPlate.d.ts +11 -0
- package/dist/next/thumbnail/avatarPlate.d.ts.map +1 -0
- package/dist/next/thumbnail/avatarPlate.test.d.ts +2 -0
- package/dist/next/thumbnail/avatarPlate.test.d.ts.map +1 -0
- package/dist/next/thumbnail/expandAssetUrl.d.ts +3 -2
- package/dist/next/thumbnail/expandAssetUrl.d.ts.map +1 -1
- package/dist/next/thumbnail/index.d.ts +2 -0
- package/dist/next/thumbnail/index.d.ts.map +1 -1
- package/dist/next/thumbnail/toGalleryThumbUrl.d.ts +7 -3
- package/dist/next/thumbnail/toGalleryThumbUrl.d.ts.map +1 -1
- package/dist/next/thumbnail.js +211 -200
- package/dist/next/thumbnail.js.map +1 -1
- package/dist/npm/index.js +496 -492
- package/dist/npm/index.js.map +1 -1
- package/dist/npm/thumbnail/avatarPlate.d.ts +11 -0
- package/dist/npm/thumbnail/avatarPlate.d.ts.map +1 -0
- package/dist/npm/thumbnail/expandAssetUrl.d.ts +3 -2
- package/dist/npm/thumbnail/expandAssetUrl.d.ts.map +1 -1
- package/dist/npm/thumbnail/index.d.ts +2 -0
- package/dist/npm/thumbnail/index.d.ts.map +1 -1
- package/dist/npm/thumbnail/index.js +123 -110
- package/dist/npm/thumbnail/index.js.map +1 -1
- package/dist/npm/thumbnail/toGalleryThumbUrl.d.ts +7 -3
- package/dist/npm/thumbnail/toGalleryThumbUrl.d.ts.map +1 -1
- package/dist/npm/v2/liforma-experience-thumbnail.d.ts.map +1 -1
- package/dist/react/index.js +749 -738
- package/dist/react/index.js.map +1 -1
- package/dist/react/react/ExperienceThumbnail.d.ts.map +1 -1
- package/dist/react/thumbnail/avatarPlate.d.ts +11 -0
- package/dist/react/thumbnail/avatarPlate.d.ts.map +1 -0
- package/dist/react/thumbnail/avatarPlate.test.d.ts +2 -0
- package/dist/react/thumbnail/avatarPlate.test.d.ts.map +1 -0
- package/dist/react/thumbnail/expandAssetUrl.d.ts +3 -2
- package/dist/react/thumbnail/expandAssetUrl.d.ts.map +1 -1
- package/dist/react/thumbnail/index.d.ts +2 -0
- package/dist/react/thumbnail/index.d.ts.map +1 -1
- package/dist/react/thumbnail/toGalleryThumbUrl.d.ts +7 -3
- package/dist/react/thumbnail/toGalleryThumbUrl.d.ts.map +1 -1
- package/dist/react/thumbnail.js +211 -200
- package/dist/react/thumbnail.js.map +1 -1
- package/dist/sdk/v2/client.js +1 -1
- package/dist/sdk/v2/client.js.map +1 -1
- package/dist/sdk/v2/thumbnail.js +2 -2
- package/dist/sdk/v2/thumbnail.js.map +1 -1
- package/dist/svelte/ExperienceThumbnail.svelte +3 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExperienceThumbnail.d.ts","sourceRoot":"","sources":["../../../src/react/ExperienceThumbnail.tsx"],"names":[],"mappings":"AAEA,OAAO,EAMN,KAAK,UAAU,IAAI,eAAe,EAElC,MAAM,OAAO,CAAC;AAEf,OAAO,
|
|
1
|
+
{"version":3,"file":"ExperienceThumbnail.d.ts","sourceRoot":"","sources":["../../../src/react/ExperienceThumbnail.tsx"],"names":[],"mappings":"AAEA,OAAO,EAMN,KAAK,UAAU,IAAI,eAAe,EAElC,MAAM,OAAO,CAAC;AAEf,OAAO,EAiBN,KAAK,YAAY,EACjB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,wBAAwB,GAAG;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAMF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,sCAoYlE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Avatar colour-plate tiers published on the CDN (`/avatars/{id}/{tier}/…`). */
|
|
2
|
+
export declare const THUMBNAIL_AVATAR_PLATE_SIZES: readonly ["256", "512", "1024"];
|
|
3
|
+
export type ThumbnailAvatarPlateSize = (typeof THUMBNAIL_AVATAR_PLATE_SIZES)[number];
|
|
4
|
+
/**
|
|
5
|
+
* Pick avatar CDN tier from the host CSS box.
|
|
6
|
+
* Unmeasured boxes stay on `256` (gallery default). Hosts larger than a 256
|
|
7
|
+
* plate use `512`; spotlight-scale hosts (long edge above 512) use `1024`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function pickThumbnailAvatarPlateSize(width: number, height: number): ThumbnailAvatarPlateSize;
|
|
10
|
+
export declare function rewriteThumbnailAvatarPlateSize(url: string, size: ThumbnailAvatarPlateSize): string;
|
|
11
|
+
//# sourceMappingURL=avatarPlate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatarPlate.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/avatarPlate.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,eAAO,MAAM,4BAA4B,iCAAkC,CAAC;AAC5E,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAIrF;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACZ,wBAAwB,CAQ1B;AAED,wBAAgB,+BAA+B,CAC9C,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,wBAAwB,GAC5B,MAAM,CAOR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatarPlate.test.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/avatarPlate.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ThumbnailAvatarPlateSize } from './avatarPlate';
|
|
1
2
|
import { type ThumbnailLocationPlateSize } from './locationPlate';
|
|
2
3
|
/** Default origin for Liforma gallery plates (catalog paths have no host). */
|
|
3
4
|
export declare const DEFAULT_THUMBNAIL_CDN_BASE_URL = "https://cdn.liforma.ai";
|
|
@@ -11,7 +12,7 @@ export declare function normalizeThumbnailCdnBaseUrl(cdnBaseUrl?: string): strin
|
|
|
11
12
|
export declare function expandThumbnailLocationUrl(ref: string, locationPlateSize: ThumbnailLocationPlateSize, cdnBaseUrl?: string): string;
|
|
12
13
|
/**
|
|
13
14
|
* Expand a catalog avatar path (or keep a full URL) onto the public CDN.
|
|
14
|
-
* `/avatars/{id}` → `{cdn}/avatars/{id}/
|
|
15
|
+
* `/avatars/{id}` → `{cdn}/avatars/{id}/{tier}/{id}_neutral.webp`
|
|
15
16
|
*/
|
|
16
|
-
export declare function expandThumbnailAvatarUrl(ref: string, cdnBaseUrl?: string): string;
|
|
17
|
+
export declare function expandThumbnailAvatarUrl(ref: string, cdnBaseUrl?: string, avatarPlateSize?: ThumbnailAvatarPlateSize): string;
|
|
17
18
|
//# sourceMappingURL=expandAssetUrl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandAssetUrl.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/expandAssetUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,0BAA0B,EAC/B,MAAM,iBAAiB,CAAC;AAEzB,8EAA8E;AAC9E,eAAO,MAAM,8BAA8B,2BAA2B,CAAC;AAIvE,wBAAgB,4BAA4B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAGxE;AAsBD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACzC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,0BAA0B,EAC7C,UAAU,CAAC,EAAE,MAAM,GACjB,MAAM,CA6BR;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"expandAssetUrl.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/expandAssetUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,wBAAwB,EAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAEN,KAAK,0BAA0B,EAC/B,MAAM,iBAAiB,CAAC;AAEzB,8EAA8E;AAC9E,eAAO,MAAM,8BAA8B,2BAA2B,CAAC;AAIvE,wBAAgB,4BAA4B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAGxE;AAsBD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACzC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,0BAA0B,EAC7C,UAAU,CAAC,EAAE,MAAM,GACjB,MAAM,CA6BR;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,GAAE,wBAAgC,GAC/C,MAAM,CAiCR"}
|
|
@@ -2,6 +2,8 @@ export type { GalleryThumb, ExperienceThumbnailBaseProps, ThumbnailInteractionKi
|
|
|
2
2
|
export { thumbnailFitClass } from './types';
|
|
3
3
|
export { toGalleryThumbUrl, resolveThumbnailLayers } from './toGalleryThumbUrl';
|
|
4
4
|
export { DEFAULT_THUMBNAIL_CDN_BASE_URL, expandThumbnailAvatarUrl, expandThumbnailLocationUrl, normalizeThumbnailCdnBaseUrl } from './expandAssetUrl';
|
|
5
|
+
export { pickThumbnailAvatarPlateSize, rewriteThumbnailAvatarPlateSize, THUMBNAIL_AVATAR_PLATE_SIZES } from './avatarPlate';
|
|
6
|
+
export type { ThumbnailAvatarPlateSize } from './avatarPlate';
|
|
5
7
|
export { pickThumbnailLocationPlateSize, rewriteThumbnailLocationPlateSize, attachThumbnailBox, THUMBNAIL_LOCATION_PLATE_SIZES } from './locationPlate';
|
|
6
8
|
export type { ThumbnailLocationPlateSize } from './locationPlate';
|
|
7
9
|
export { resolveThumbnailInteraction, resolvePlayerBaseUrl, buildHostedLaunchUrl, resolveThumbnailHref } from './hostedLaunchUrl';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EACN,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,8BAA8B,EAC9B,iCAAiC,EACjC,kBAAkB,EAClB,8BAA8B,EAC9B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACN,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,6BAA6B,EAC7B,4BAA4B,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAClB,mCAAmC,EACnC,iCAAiC,EACjC,iBAAiB,EACjB,cAAc,EACd,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EACN,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACN,8BAA8B,EAC9B,iCAAiC,EACjC,kBAAkB,EAClB,8BAA8B,EAC9B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACN,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,6BAA6B,EAC7B,4BAA4B,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAClB,mCAAmC,EACnC,iCAAiC,EACjC,iBAAiB,EACjB,cAAc,EACd,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
import type { ThumbnailAvatarPlateSize } from './avatarPlate';
|
|
1
2
|
import type { ThumbnailLocationPlateSize } from './locationPlate';
|
|
2
|
-
export type { ThumbnailLocationPlateSize };
|
|
3
|
+
export type { ThumbnailAvatarPlateSize, ThumbnailLocationPlateSize };
|
|
3
4
|
/**
|
|
4
5
|
* Rewrite known Liforma CDN URLs to gallery thumb tiers.
|
|
5
|
-
* Avatars: /{tier}/ →
|
|
6
|
+
* Avatars: /{tier}/ → the requested plate (`256` by default, `512` / `1024` for larger hosts);
|
|
7
|
+
* locations: -{WxH}.webp → the requested plate
|
|
6
8
|
* (`256x256` by default, `400x225` / `800x450` / `1672x941` for landscape hosts).
|
|
7
9
|
* Catalog paths (`/locations/…/scene`, `/avatars/{id}`) expand onto the CDN first.
|
|
8
10
|
* Unrecognized URLs are returned unchanged.
|
|
9
11
|
*/
|
|
10
|
-
export declare function toGalleryThumbUrl(url: string, locationPlateSize?: ThumbnailLocationPlateSize, cdnBaseUrl?: string): string;
|
|
12
|
+
export declare function toGalleryThumbUrl(url: string, locationPlateSize?: ThumbnailLocationPlateSize, cdnBaseUrl?: string, avatarPlateSize?: ThumbnailAvatarPlateSize): string;
|
|
11
13
|
export declare function resolveThumbnailLayers(input: {
|
|
12
14
|
readonly galleryThumb?: {
|
|
13
15
|
readonly avatarImage?: string;
|
|
@@ -22,6 +24,8 @@ export declare function resolveThumbnailLayers(input: {
|
|
|
22
24
|
readonly normalize?: boolean;
|
|
23
25
|
/** Location plate when expanding or rewriting location assets. Default `256x256`. */
|
|
24
26
|
readonly locationPlateSize?: ThumbnailLocationPlateSize;
|
|
27
|
+
/** Avatar plate when expanding or rewriting avatar assets. Default `256`. */
|
|
28
|
+
readonly avatarPlateSize?: ThumbnailAvatarPlateSize;
|
|
25
29
|
/** CDN origin for catalog paths. Default `https://cdn.liforma.ai`. */
|
|
26
30
|
readonly cdnBaseUrl?: string;
|
|
27
31
|
}): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toGalleryThumbUrl.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/toGalleryThumbUrl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toGalleryThumbUrl.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/toGalleryThumbUrl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAM9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAIlE,YAAY,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,CAAC;AAUrE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,MAAM,EACX,iBAAiB,GAAE,0BAAsC,EACzD,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,GAAE,wBAAgC,GAC/C,MAAM,CAUR;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE;QACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;IACF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,oGAAoG;IACpG,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IACxD,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,CAAC;IACpD,sEAAsE;IACtE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CAChC,GAAG,IAAI,CAgCP"}
|