@primoui/utils 1.2.2 → 1.3.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/helpers/helpers.d.ts +8 -1
- package/dist/helpers/helpers.d.ts.map +1 -1
- package/dist/http/http.d.ts +79 -30
- package/dist/http/http.d.ts.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +223 -153
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +1 -1
- package/dist/index.umd.cjs.map +1 -1
- package/dist/objects/objects.d.ts +1 -1
- package/dist/objects/objects.d.ts.map +1 -1
- package/dist/{params/params.d.ts → pagination/pagination.d.ts} +2 -20
- package/dist/pagination/pagination.d.ts.map +1 -0
- package/package.json +5 -5
- package/dist/params/params.d.ts.map +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ReplaceNullWithUndefined } from "..";
|
|
1
2
|
/**
|
|
2
3
|
* A collection of helper functions used throughout the application.
|
|
3
4
|
*/
|
|
@@ -60,7 +61,7 @@ export declare const isCuid: (id: string) => boolean;
|
|
|
60
61
|
* @param value - The value to check
|
|
61
62
|
* @returns A boolean indicating if the value is truthy
|
|
62
63
|
*/
|
|
63
|
-
export declare
|
|
64
|
+
export declare const isTruthy: <T>(value?: T | undefined | null | false) => value is T;
|
|
64
65
|
/**
|
|
65
66
|
* Get the initials from a string
|
|
66
67
|
* @param value A string to get the initials from
|
|
@@ -120,5 +121,11 @@ type Result<T, E = Error> = Success<T> | Failure<E>;
|
|
|
120
121
|
* @returns A result object with the data or error
|
|
121
122
|
*/
|
|
122
123
|
export declare const tryCatch: <T, E = Error>(promise: Promise<T>) => Promise<Result<T, E>>;
|
|
124
|
+
/**
|
|
125
|
+
* Converts all null values in an object to undefined.
|
|
126
|
+
* @param obj - The object to convert.
|
|
127
|
+
* @returns The converted object.
|
|
128
|
+
*/
|
|
129
|
+
export declare const nullsToUndefined: <T>(obj: T) => ReplaceNullWithUndefined<T>;
|
|
123
130
|
export {};
|
|
124
131
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,IAAI,CAAA;AAElD;;GAEG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,aAI/C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAU,OAAO,MAAM,qBAExC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,kBAAkB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,WAGpF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,WAEvC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,oBAAiB,WAEhE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,eAAY,kBAa1E,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,EAAE,oBAAkB,KAAG,MAQ3D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,YAEhC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,KAAG,KAAK,IAAI,CAE3E,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,cAAS,WAgB3D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,IAAI,KAAG,OAAO,CAAC,MAAM,CAOnD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,MAAM,UAQpE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,gBAAgB,GAAG,IAAI,GAAG,SAAS,EAC1C,OAAO,OAAO,EACd,uBAAqB,SAWtB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,EAAE,iBAAY,EAAE,iBAAgB,WAK7E,CAAA;AAED;;GAEG;AACH,KAAK,OAAO,CAAC,CAAC,IAAI;IAChB,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,IAAI,CAAA;CACZ,CAAA;AAED;;GAEG;AACH,KAAK,OAAO,CAAC,CAAC,IAAI;IAChB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,CAAC,CAAA;CACT,CAAA;AAED;;GAEG;AACH,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAEnD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAU,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAOtF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,KAAK,CAAC,KAAG,wBAAwB,CAAC,CAAC,CAatE,CAAA"}
|
package/dist/http/http.d.ts
CHANGED
|
@@ -1,48 +1,97 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Utility functions for
|
|
2
|
+
* Utility functions for URL manipulation and validation.
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* @
|
|
8
|
-
* @returns A new URL string with the appropriate protocol added.
|
|
5
|
+
* Checks if a URL is valid using both regex and URL constructor validation
|
|
6
|
+
* @param url - The URL to validate
|
|
7
|
+
* @returns True if the URL is valid
|
|
9
8
|
*/
|
|
10
|
-
export declare const
|
|
9
|
+
export declare const isValidUrl: (url?: string) => boolean;
|
|
11
10
|
/**
|
|
12
|
-
*
|
|
13
|
-
* @param url - The URL string
|
|
14
|
-
* @
|
|
11
|
+
* Adds protocol to a URL string
|
|
12
|
+
* @param url - The URL string without protocol
|
|
13
|
+
* @param secure - Whether to use https (default: true, false for localhost)
|
|
14
|
+
* @returns URL with protocol added
|
|
15
15
|
*/
|
|
16
|
-
export declare const
|
|
16
|
+
export declare const addProtocol: (url?: string, secure?: boolean) => string;
|
|
17
17
|
/**
|
|
18
|
-
* Removes
|
|
19
|
-
* @param url - The URL string
|
|
20
|
-
* @returns
|
|
18
|
+
* Removes protocol from a URL string
|
|
19
|
+
* @param url - The URL string with protocol
|
|
20
|
+
* @returns URL without protocol
|
|
21
21
|
*/
|
|
22
|
-
export declare const
|
|
22
|
+
export declare const removeProtocol: (url?: string) => string;
|
|
23
|
+
/**
|
|
24
|
+
* Normalizes a URL by removing trailing slashes and cleaning up format
|
|
25
|
+
* @param url - The URL to normalize
|
|
26
|
+
* @returns Normalized URL
|
|
27
|
+
*/
|
|
28
|
+
export declare const normalizeUrl: (url?: string) => string;
|
|
23
29
|
/**
|
|
24
|
-
*
|
|
25
|
-
* @param url - The URL
|
|
26
|
-
* @returns
|
|
30
|
+
* Gets the base URL (protocol + hostname + port)
|
|
31
|
+
* @param url - The URL string
|
|
32
|
+
* @returns Base URL without path, search, or hash
|
|
33
|
+
*/
|
|
34
|
+
export declare const getBaseUrl: (url: string) => string;
|
|
35
|
+
/**
|
|
36
|
+
* Extracts the domain name from a URL
|
|
37
|
+
* @param url - The URL string
|
|
38
|
+
* @returns Domain name without www prefix
|
|
39
|
+
*/
|
|
40
|
+
export declare const getDomain: (url: string) => string;
|
|
41
|
+
/**
|
|
42
|
+
* Checks if a URL is external (has protocol)
|
|
43
|
+
* @param url - The URL to check
|
|
44
|
+
* @returns True if URL is external (contains protocol)
|
|
27
45
|
*/
|
|
28
46
|
export declare const isExternalUrl: (url?: string) => boolean;
|
|
29
47
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* @
|
|
33
|
-
* @returns The URL with the subpath removed.
|
|
48
|
+
* Checks if a URL is a localhost URL
|
|
49
|
+
* @param url - The URL to check
|
|
50
|
+
* @returns True if URL points to localhost
|
|
34
51
|
*/
|
|
35
|
-
export declare const
|
|
52
|
+
export declare const isLocalhostUrl: (url?: string) => boolean;
|
|
36
53
|
/**
|
|
37
|
-
*
|
|
38
|
-
* @param
|
|
39
|
-
* @
|
|
54
|
+
* Joins URL paths safely
|
|
55
|
+
* @param base - Base URL
|
|
56
|
+
* @param paths - Path segments to join
|
|
57
|
+
* @returns Combined URL
|
|
40
58
|
*/
|
|
41
|
-
export declare const
|
|
59
|
+
export declare const joinUrlPaths: (base: string, ...paths: string[]) => string;
|
|
42
60
|
/**
|
|
43
|
-
*
|
|
44
|
-
* @param url - The URL
|
|
45
|
-
* @returns
|
|
61
|
+
* Extracts query parameters from a URL
|
|
62
|
+
* @param url - The URL string
|
|
63
|
+
* @returns Object containing query parameters
|
|
46
64
|
*/
|
|
47
|
-
export declare const
|
|
65
|
+
export declare const getQueryParams: (url: string) => Record<string, string>;
|
|
66
|
+
/**
|
|
67
|
+
* Adds or updates query parameters in a URL
|
|
68
|
+
* @param url - The base URL
|
|
69
|
+
* @param params - Parameters to add/update
|
|
70
|
+
* @returns URL with updated parameters
|
|
71
|
+
*/
|
|
72
|
+
export declare const setQueryParams: (url: string, params: Record<string, string | number | boolean>) => string;
|
|
73
|
+
/**
|
|
74
|
+
* Removes query parameters from a URL
|
|
75
|
+
* @param url - The URL string
|
|
76
|
+
* @returns URL without query parameters
|
|
77
|
+
*/
|
|
78
|
+
export declare const removeQueryParams: (url?: string) => string;
|
|
79
|
+
/** @deprecated Use addProtocol instead */
|
|
80
|
+
export declare const addHttp: (url?: string, secure?: boolean) => string;
|
|
81
|
+
/** @deprecated Use removeProtocol instead */
|
|
82
|
+
export declare const removeHttp: (url?: string) => string;
|
|
83
|
+
/** @deprecated Use normalizeUrl instead */
|
|
84
|
+
export declare const removeTrailingSlash: (url?: string) => string;
|
|
85
|
+
/** @deprecated Use normalizeUrl instead */
|
|
86
|
+
export declare const stripTrailingSlash: (url?: string) => string;
|
|
87
|
+
/** @deprecated Use getBaseUrl instead */
|
|
88
|
+
export declare const stripURLSubpath: (url: string) => string;
|
|
89
|
+
/** @deprecated Use getDomain instead */
|
|
90
|
+
export declare const getUrlHostname: (url: string) => string;
|
|
91
|
+
/** @deprecated Use removeQueryParams instead */
|
|
92
|
+
export declare const removeSearchParams: (url?: string) => string;
|
|
93
|
+
/** @deprecated Use getQueryParams instead */
|
|
94
|
+
export declare const getSearchParams: (url: string) => Record<string, string>;
|
|
95
|
+
/** @deprecated Use setQueryParams instead */
|
|
96
|
+
export declare const addSearchParams: (url: string, params: Record<string, string | number | boolean>) => string;
|
|
48
97
|
//# sourceMappingURL=http.d.ts.map
|
package/dist/http/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http/http.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http/http.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,OAazC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,SAAS,OAAO,KAAG,MAW5D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,MAE7C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MA4B3C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAOxC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,MASvC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,OAG5C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,OAU7C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,GAAG,OAAO,MAAM,EAAE,KAAG,MAe/D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAajE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,KAAK,MAAM,EACX,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,KAChD,MAiBF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,MAYhD,CAAA;AAGD,0CAA0C;AAC1C,eAAO,MAAM,OAAO,SA9Mc,MAAM,WAAW,OAAO,KAAG,MA8M3B,CAAA;AAElC,6CAA6C;AAC7C,eAAO,MAAM,UAAU,SA/Lc,MAAM,KAAG,MA+LN,CAAA;AAExC,2CAA2C;AAC3C,eAAO,MAAM,mBAAmB,SAzLG,MAAM,KAAG,MAyLG,CAAA;AAE/C,2CAA2C;AAC3C,eAAO,MAAM,kBAAkB,SA5LI,MAAM,KAAG,MA4LE,CAAA;AAE9C,yCAAyC;AACzC,eAAO,MAAM,eAAe,QA5JI,MAAM,KAAG,MA4JA,CAAA;AAEzC,wCAAwC;AACxC,eAAO,MAAM,cAAc,QAjJI,MAAM,KAAG,MAiJD,CAAA;AAEvC,gDAAgD;AAChD,eAAO,MAAM,kBAAkB,SAlCS,MAAM,KAAG,MAkCE,CAAA;AAEnD,6CAA6C;AAC7C,eAAO,MAAM,eAAe,QArFQ,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAqFrB,CAAA;AAE7C,6CAA6C;AAC7C,eAAO,MAAM,eAAe,QAlErB,MAAM,UACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,KAChD,MAgE0C,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export * from "./helpers/helpers";
|
|
|
8
8
|
export * from "./http/http";
|
|
9
9
|
export * from "./numbers/numbers";
|
|
10
10
|
export * from "./objects/objects";
|
|
11
|
-
export * from "./
|
|
11
|
+
export * from "./pagination/pagination";
|
|
12
12
|
export * from "./parsers/parsers";
|
|
13
13
|
export * from "./random/random";
|
|
14
14
|
export * from "./string/string";
|
|
@@ -25,4 +25,7 @@ export type NestedPartial<T> = {
|
|
|
25
25
|
export type NestedRequired<T> = {
|
|
26
26
|
[K in keyof T]-?: T[K] extends object ? NestedRequired<T[K]> : T[K];
|
|
27
27
|
};
|
|
28
|
+
export type ReplaceNullWithUndefined<T> = T extends null ? undefined : T extends Date ? T : {
|
|
29
|
+
[K in keyof T]: T[K] extends (infer U)[] ? ReplaceNullWithUndefined<U>[] : ReplaceNullWithUndefined<T[K]>;
|
|
30
|
+
};
|
|
28
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAE3B,MAAM,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,SAAS,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AACnG,MAAM,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,SAAS,MAAM,IAAI,IAAI,IAAI,GAAG;KAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;CAAE,CAAA;AAE/F,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,EAAE,GACnD,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,GAAG,MAAM,EAAE,IAAI,MAAM,EAAE,EAAE,GACjC,EAAE,SAAS,MAAM,CAAC,GAChB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAClB,KAAK,GACP,KAAK,CAAA;AAEb,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,EAAE,GACxD,EAAE,GACF,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,GACD,CAAC,SAAS,GAAG,MAAM,EAAE,IAAI,MAAM,EAAE,EAAE,GACjC,EAAE,SAAS,MAAM,CAAC,GAChB,GAAG,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAClC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAC1B,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;AAEhC,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;KAC5B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAClE,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;KAC7B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACpE,CAAA;AAED,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GACpD,SAAS,GACT,CAAC,SAAS,IAAI,GACZ,CAAC,GACD;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACpC,wBAAwB,CAAC,CAAC,CAAC,EAAE,GAC7B,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnC,CAAA"}
|