api 7.0.0-alpha.3 → 7.0.0-alpha.6
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/bin/api.js +2 -0
- package/dist/bin.d.ts +1 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +6 -33
- package/dist/bin.js.map +1 -0
- package/dist/codegen/{language.d.ts → codegenerator.d.ts} +9 -5
- package/dist/codegen/codegenerator.d.ts.map +1 -0
- package/dist/codegen/{language.js → codegenerator.js} +4 -6
- package/dist/codegen/codegenerator.js.map +1 -0
- package/dist/codegen/factory.d.ts +7 -0
- package/dist/codegen/factory.d.ts.map +1 -0
- package/dist/codegen/factory.js +14 -0
- package/dist/codegen/factory.js.map +1 -0
- package/dist/codegen/languages/typescript/index.d.ts +90 -0
- package/dist/codegen/languages/typescript/index.d.ts.map +1 -0
- package/dist/codegen/languages/{typescript.js → typescript/index.js} +277 -216
- package/dist/codegen/languages/typescript/index.js.map +1 -0
- package/dist/codegen/languages/typescript/util.d.ts +1 -0
- package/dist/codegen/languages/typescript/util.d.ts.map +1 -0
- package/dist/codegen/languages/typescript/util.js +10 -18
- package/dist/codegen/languages/typescript/util.js.map +1 -0
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +4 -8
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/install.d.ts +1 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +56 -67
- package/dist/commands/install.js.map +1 -0
- package/dist/fetcher.d.ts +1 -0
- package/dist/fetcher.d.ts.map +1 -0
- package/dist/fetcher.js +12 -17
- package/dist/fetcher.js.map +1 -0
- package/dist/lib/prompt.d.ts +1 -0
- package/dist/lib/prompt.d.ts.map +1 -0
- package/dist/lib/prompt.js +4 -9
- package/dist/lib/prompt.js.map +1 -0
- package/dist/logger.d.ts +1 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +4 -9
- package/dist/logger.js.map +1 -0
- package/dist/packageInfo.d.ts +2 -1
- package/dist/packageInfo.d.ts.map +1 -0
- package/dist/packageInfo.js +3 -5
- package/dist/packageInfo.js.map +1 -0
- package/dist/storage.d.ts +2 -1
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +43 -40
- package/dist/storage.js.map +1 -0
- package/package.json +11 -10
- package/src/bin.ts +2 -2
- package/src/codegen/{language.ts → codegenerator.ts} +16 -6
- package/src/codegen/factory.ts +23 -0
- package/src/codegen/languages/{typescript.ts → typescript/index.ts} +287 -213
- package/src/commands/index.ts +1 -1
- package/src/commands/install.ts +27 -36
- package/src/packageInfo.ts +1 -1
- package/src/storage.ts +14 -5
- package/tsconfig.json +3 -9
- package/bin/api +0 -2
- package/dist/codegen/index.d.ts +0 -4
- package/dist/codegen/index.js +0 -23
- package/dist/codegen/languages/typescript.d.ts +0 -111
- package/src/codegen/index.ts +0 -31
package/bin/api.js
ADDED
package/dist/bin.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
|
package/dist/bin.js
CHANGED
|
@@ -1,36 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const commander_1 = require("commander");
|
|
30
|
-
const commands_1 = __importDefault(require("./commands"));
|
|
31
|
-
const pkg = __importStar(require("./packageInfo"));
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import commands from './commands/index.js';
|
|
3
|
+
import * as pkg from './packageInfo.js';
|
|
32
4
|
(async () => {
|
|
33
|
-
const program = new
|
|
5
|
+
const program = new Command();
|
|
34
6
|
program.name(pkg.PACKAGE_NAME);
|
|
35
7
|
program.version(pkg.PACKAGE_VERSION);
|
|
36
8
|
/**
|
|
@@ -38,8 +10,9 @@ const pkg = __importStar(require("./packageInfo"));
|
|
|
38
10
|
* programatically doing it like this because it's cleaner for us to let Commander manage option
|
|
39
11
|
* and argument parsing within this file than having each command manage that itself.
|
|
40
12
|
*/
|
|
41
|
-
Object.entries(
|
|
13
|
+
Object.entries(commands).forEach(([, cmd]) => {
|
|
42
14
|
program.addCommand(cmd);
|
|
43
15
|
});
|
|
44
16
|
await program.parseAsync(process.argv);
|
|
45
17
|
})();
|
|
18
|
+
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAExC,CAAC,KAAK,IAAI,EAAE;IACV,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAErC;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAoB,EAAE,EAAE;QAC9D,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type Storage from '../storage';
|
|
1
|
+
import type Storage from '../storage.js';
|
|
2
2
|
import type Oas from 'oas';
|
|
3
3
|
export interface InstallerOptions {
|
|
4
4
|
/**
|
|
@@ -11,17 +11,21 @@ export interface InstallerOptions {
|
|
|
11
11
|
*/
|
|
12
12
|
logger?: (msg: string) => void;
|
|
13
13
|
}
|
|
14
|
-
export default abstract class
|
|
14
|
+
export default abstract class CodeGenerator {
|
|
15
15
|
spec: Oas;
|
|
16
16
|
specPath: string;
|
|
17
17
|
identifier: string;
|
|
18
18
|
userAgent: string;
|
|
19
19
|
requiredPackages: Record<string, {
|
|
20
|
+
dependencyType: 'production' | 'development';
|
|
20
21
|
reason: string;
|
|
21
|
-
url
|
|
22
|
+
url?: string;
|
|
23
|
+
version: string;
|
|
22
24
|
}>;
|
|
23
25
|
constructor(spec: Oas, specPath: string, identifier: string);
|
|
24
|
-
abstract
|
|
25
|
-
abstract
|
|
26
|
+
abstract generate(): Promise<Record<string, string>>;
|
|
27
|
+
abstract install(storage: Storage, opts?: InstallerOptions): Promise<void>;
|
|
28
|
+
abstract compile(storage: Storage, opts?: InstallerOptions): Promise<void>;
|
|
26
29
|
hasRequiredPackages(): boolean;
|
|
27
30
|
}
|
|
31
|
+
//# sourceMappingURL=codegenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegenerator.d.ts","sourceRoot":"","sources":["../../src/codegen/codegenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAI3B,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,aAAa;IACzC,IAAI,EAAE,GAAG,CAAC;IAEV,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,MAAM,CAAC;IAElB,gBAAgB,EAAG,MAAM,CACvB,MAAM,EACN;QACE,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CACF,CAAC;gBAEU,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IA4B3D,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpD,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E,mBAAmB;CAGpB"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const packageInfo_1 = require("../packageInfo");
|
|
4
|
-
class CodeGeneratorLanguage {
|
|
1
|
+
import { PACKAGE_NAME, PACKAGE_VERSION } from '../packageInfo.js';
|
|
2
|
+
export default class CodeGenerator {
|
|
5
3
|
spec;
|
|
6
4
|
specPath;
|
|
7
5
|
identifier;
|
|
@@ -15,7 +13,7 @@ class CodeGeneratorLanguage {
|
|
|
15
13
|
// used to generate the SDK. For example, this'll look like `petstore/1.0.0 (api/4.2.0)` for
|
|
16
14
|
// a `petstore` spec installed on api@4.2.0.
|
|
17
15
|
const info = spec.getDefinition().info;
|
|
18
|
-
this.userAgent = `${identifier}/${info.version} (${
|
|
16
|
+
this.userAgent = `${identifier}/${info.version} (${PACKAGE_NAME}/${PACKAGE_VERSION})`;
|
|
19
17
|
/**
|
|
20
18
|
* This check is barbaric but there are a number of issues with how the `transformer` work we
|
|
21
19
|
* have in `oas` and in `.getParametersAsJSONSchema()` and `.getResponseAsJSONSchema()` that
|
|
@@ -34,4 +32,4 @@ class CodeGeneratorLanguage {
|
|
|
34
32
|
return Boolean(Object.keys(this.requiredPackages));
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
|
-
|
|
35
|
+
//# sourceMappingURL=codegenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegenerator.js","sourceRoot":"","sources":["../../src/codegen/codegenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAelE,MAAM,CAAC,OAAO,OAAgB,aAAa;IACzC,IAAI,CAAM;IAEV,QAAQ,CAAS;IAEjB,UAAU,CAAS;IAEnB,SAAS,CAAS;IAElB,gBAAgB,CAQd;IAEF,YAAY,IAAS,EAAE,QAAgB,EAAE,UAAkB;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,6FAA6F;QAC7F,4FAA4F;QAC5F,4CAA4C;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,GAAG,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,eAAe,GAAG,CAAC;QAEtF;;;;;;;;;WASG;QACH,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YACnD,MAAM,IAAI,KAAK,CACb,yHAAyH,CAC1H,CAAC;SACH;IACH,CAAC;IAQD,mBAAmB;QACjB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrD,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type CodeGenerator from './codegenerator.js';
|
|
2
|
+
import type Oas from 'oas';
|
|
3
|
+
export declare enum SupportedLanguages {
|
|
4
|
+
JS = "js"
|
|
5
|
+
}
|
|
6
|
+
export default function codegenFactory(language: SupportedLanguages, spec: Oas, specPath: string, identifier: string): CodeGenerator;
|
|
7
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/codegen/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAI3B,oBAAY,kBAAkB;IAC5B,EAAE,OAAO;CACV;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,aAAa,CAQf"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import TSGenerator from './languages/typescript/index.js';
|
|
2
|
+
export var SupportedLanguages;
|
|
3
|
+
(function (SupportedLanguages) {
|
|
4
|
+
SupportedLanguages["JS"] = "js";
|
|
5
|
+
})(SupportedLanguages || (SupportedLanguages = {}));
|
|
6
|
+
export default function codegenFactory(language, spec, specPath, identifier) {
|
|
7
|
+
switch (language) {
|
|
8
|
+
case SupportedLanguages.JS:
|
|
9
|
+
return new TSGenerator(spec, specPath, identifier);
|
|
10
|
+
default:
|
|
11
|
+
throw new TypeError(`Unsupported language supplied: ${language}`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/codegen/factory.ts"],"names":[],"mappings":"AAGA,OAAO,WAAW,MAAM,iCAAiC,CAAC;AAE1D,MAAM,CAAN,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC5B,+BAAS,CAAA;AACX,CAAC,EAFW,kBAAkB,KAAlB,kBAAkB,QAE7B;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,QAA4B,EAC5B,IAAS,EACT,QAAgB,EAChB,UAAkB;IAElB,QAAQ,QAAQ,EAAE;QAChB,KAAK,kBAAkB,CAAC,EAAE;YACxB,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAErD;YACE,MAAM,IAAI,SAAS,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC;KACrE;AACH,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type Storage from '../../../storage.js';
|
|
2
|
+
import type { InstallerOptions } from '../../codegenerator.js';
|
|
3
|
+
import type Oas from 'oas';
|
|
4
|
+
import type { ClassDeclaration } from 'ts-morph';
|
|
5
|
+
import { Project } from 'ts-morph';
|
|
6
|
+
import CodeGenerator from '../../codegenerator.js';
|
|
7
|
+
export default class TSGenerator extends CodeGenerator {
|
|
8
|
+
#private;
|
|
9
|
+
project: Project;
|
|
10
|
+
types: Map<string, string>;
|
|
11
|
+
sdk: ClassDeclaration;
|
|
12
|
+
schemas: Record<string, {
|
|
13
|
+
body?: unknown;
|
|
14
|
+
metadata?: unknown;
|
|
15
|
+
response?: Record<string, unknown>;
|
|
16
|
+
} | Record<string, unknown>>;
|
|
17
|
+
usesHTTPMethodRangeInterface: boolean;
|
|
18
|
+
constructor(spec: Oas, specPath: string, identifier: string);
|
|
19
|
+
install(storage: Storage, opts?: InstallerOptions): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Compile the TS code we generated into JS for use in CJS and ESM environments.
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
24
|
+
compile(storage: Storage, opts?: InstallerOptions): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Generate the current OpenAPI definition into a TypeScript library.
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
generate(): Promise<{
|
|
30
|
+
[x: string]: string;
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* Create our main SDK source file.
|
|
34
|
+
*
|
|
35
|
+
*/
|
|
36
|
+
private createSDKSource;
|
|
37
|
+
/**
|
|
38
|
+
* Create the `tsconfig.json` file that will allow this SDK to be compiled for use.
|
|
39
|
+
*
|
|
40
|
+
*/
|
|
41
|
+
createTSConfig(): import("ts-morph").SourceFile;
|
|
42
|
+
/**
|
|
43
|
+
* Create the `package.json` file that will ultimately make this SDK available to use.
|
|
44
|
+
*
|
|
45
|
+
*/
|
|
46
|
+
createPackageJSON(): import("ts-morph").SourceFile;
|
|
47
|
+
/**
|
|
48
|
+
* Create our main schemas file. This is where all of the JSON Schema that our TypeScript typing
|
|
49
|
+
* infrastructure sources its data from. Without this there are no types.
|
|
50
|
+
*
|
|
51
|
+
*/
|
|
52
|
+
private createSchemasFile;
|
|
53
|
+
/**
|
|
54
|
+
* Create our main types file. This sources its data from the JSON Schema `schemas.ts` file and
|
|
55
|
+
* will re-export types to be used in TypeScript implementations and IDE intellisense. This
|
|
56
|
+
* typing work is functional with the `json-schema-to-ts` library.
|
|
57
|
+
*
|
|
58
|
+
* @see {@link https://npm.im/json-schema-to-ts}
|
|
59
|
+
*/
|
|
60
|
+
private createTypesFile;
|
|
61
|
+
/**
|
|
62
|
+
* Create operation accessors on the SDK.
|
|
63
|
+
*
|
|
64
|
+
*/
|
|
65
|
+
private createOperationAccessor;
|
|
66
|
+
/**
|
|
67
|
+
* Scour through the current OpenAPI definition and compile a store of every operation, along
|
|
68
|
+
* with every HTTP method that's in use, and their available TypeScript types that we can use,
|
|
69
|
+
* along with every HTTP method that's in use.
|
|
70
|
+
*
|
|
71
|
+
*/
|
|
72
|
+
private loadOperationsAndMethods;
|
|
73
|
+
/**
|
|
74
|
+
* Compile the parameter (path, query, cookie, and header) schemas for an API operation into
|
|
75
|
+
* usable TypeScript types.
|
|
76
|
+
*
|
|
77
|
+
*/
|
|
78
|
+
private prepareParameterTypesForOperation;
|
|
79
|
+
/**
|
|
80
|
+
* Compile the response schemas for an API operation into usable TypeScript types.
|
|
81
|
+
*
|
|
82
|
+
*/
|
|
83
|
+
private prepareResponseTypesForOperation;
|
|
84
|
+
/**
|
|
85
|
+
* Add a given schema into our schema dataset that we'll be be exporting as types.
|
|
86
|
+
*
|
|
87
|
+
*/
|
|
88
|
+
private addSchemaToExport;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/codegen/languages/typescript/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAI3B,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,UAAU,CAAC;AAUlB,OAAO,EAAmB,OAAO,EAAoD,MAAM,UAAU,CAAC;AAGtG,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAiCnD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,aAAa;;IACpD,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3B,GAAG,EAAG,gBAAgB,CAAC;IAEvB,OAAO,EAAE,MAAM,CACb,MAAM,EAEJ;QACE,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAED,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC1B,CAAC;IAEF,4BAA4B,UAAS;gBAEzB,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAsDrD,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC3E;;;OAGG;IAEG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB3E;;;OAGG;IACG,QAAQ;;;IAqDd;;;OAGG;IACH,OAAO,CAAC,eAAe;IAuJvB;;;OAGG;IACH,cAAc;IAgBd;;;OAGG;IACH,iBAAiB;IAwEjB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAyDzB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAevB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAuM/B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAoChC;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAiDzC;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAiExC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAsB1B"}
|