@catladder/cli 2.5.0 → 2.6.1
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/bundles/catenv/index.js +3 -3
- package/dist/bundles/cli/index.js +8 -8
- package/dist/cli/src/git/gitConfig.d.ts +9 -0
- package/dist/cli/src/git/gitConfig.js +16 -0
- package/dist/cli/src/git/gitConfig.js.map +1 -0
- package/dist/cli/src/git/gitProjectInformation.d.ts +16 -0
- package/dist/cli/src/git/gitProjectInformation.js +38 -0
- package/dist/cli/src/git/gitProjectInformation.js.map +1 -0
- package/dist/cli/src/git/index.d.ts +2 -0
- package/dist/cli/src/git/index.js +19 -0
- package/dist/cli/src/git/index.js.map +1 -0
- package/dist/cli/src/utils/gitlab.js +18 -13
- package/dist/cli/src/utils/gitlab.js.map +1 -1
- package/dist/cli/src/utils/preferences.js +56 -0
- package/dist/cli/src/utils/preferences.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/git/gitConfig.ts +32 -0
- package/src/git/gitProjectInformation.ts +40 -0
- package/src/git/index.ts +2 -0
- package/src/utils/gitlab.ts +19 -19
- package/src/utils/preferences.ts +56 -0
- package/dist/cli/src/utils/preferences/index.js +0 -35
- package/dist/cli/src/utils/preferences/index.js.map +0 -1
- package/src/utils/preferences/index.ts +0 -36
- /package/dist/cli/src/utils/{preferences/index.d.ts → preferences.d.ts} +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type GitLocationScope = "global" | "local" | "system" | "worktree";
|
|
2
|
+
export type GitConfigOptions = {
|
|
3
|
+
location?: GitLocationScope;
|
|
4
|
+
comment?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function gitConfigGet(key: string, { location }?: Pick<GitConfigOptions, "location">): Promise<string>;
|
|
7
|
+
export declare const gitConfigSet: (key: string, value: string, { location, comment }?: GitConfigOptions) => Promise<{
|
|
8
|
+
stdout: string;
|
|
9
|
+
}>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.gitConfigSet = exports.gitConfigGet = void 0;
|
|
4
|
+
const child_process_promise_1 = require("child-process-promise");
|
|
5
|
+
const argsJoin = (args) => args.filter(Boolean).join(" ");
|
|
6
|
+
async function gitConfigGet(key, { location } = {}) {
|
|
7
|
+
const { stdout } = await (0, child_process_promise_1.exec)(`git config get ${argsJoin([location ? `--${location}` : undefined])} ${key}`);
|
|
8
|
+
return stdout.trim();
|
|
9
|
+
}
|
|
10
|
+
exports.gitConfigGet = gitConfigGet;
|
|
11
|
+
const gitConfigSet = (key, value, { location, comment } = {}) => (0, child_process_promise_1.exec)(`git config set ${argsJoin([
|
|
12
|
+
location ? `--${location}` : undefined,
|
|
13
|
+
comment ? `--comment=${comment}` : undefined,
|
|
14
|
+
])} ${key} ${value}`);
|
|
15
|
+
exports.gitConfigSet = gitConfigSet;
|
|
16
|
+
//# sourceMappingURL=gitConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitConfig.js","sourceRoot":"","sources":["../../../../src/git/gitConfig.ts"],"names":[],"mappings":";;;AAAA,iEAA6C;AAQ7C,MAAM,QAAQ,GAAG,CAAC,IAA4B,EAAU,EAAE,CACxD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE1B,KAAK,UAAU,YAAY,CAChC,GAAW,EACX,EAAE,QAAQ,KAAyC,EAAE;IAErD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,4BAAI,EAC3B,kBAAkB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,EAAE,CAC9E,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AARD,oCAQC;AAEM,MAAM,YAAY,GAAG,CAC1B,GAAW,EACX,KAAa,EACb,EAAE,QAAQ,EAAE,OAAO,KAAuB,EAAE,EAC5C,EAAE,CACF,IAAA,4BAAI,EACF,kBAAkB,QAAQ,CAAC;IACzB,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;IACtC,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;CAC7C,CAAC,IAAI,GAAG,IAAI,KAAK,EAAE,CACrB,CAAC;AAVS,QAAA,YAAY,gBAUrB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find the absolute path of the current git project root.
|
|
3
|
+
*/
|
|
4
|
+
export declare const getProjectRootPath: () => Promise<string>;
|
|
5
|
+
/**
|
|
6
|
+
* Get the git remote hostname and project path from the git config.
|
|
7
|
+
*/
|
|
8
|
+
export declare const getGitRemoteHostAndPath: () => Promise<{
|
|
9
|
+
gitRemoteHost: string;
|
|
10
|
+
gitRemotePath: string;
|
|
11
|
+
}>;
|
|
12
|
+
export declare const gitProjectInformation: () => Promise<{
|
|
13
|
+
gitRemoteHost: string;
|
|
14
|
+
gitRemotePath: string;
|
|
15
|
+
projectRootPath: string;
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.gitProjectInformation = exports.getGitRemoteHostAndPath = exports.getProjectRootPath = void 0;
|
|
4
|
+
const gitConfig_1 = require("./gitConfig");
|
|
5
|
+
const child_process_promise_1 = require("child-process-promise");
|
|
6
|
+
/**
|
|
7
|
+
* Find the absolute path of the current git project root.
|
|
8
|
+
*/
|
|
9
|
+
const getProjectRootPath = async () => {
|
|
10
|
+
const { stdout } = await (0, child_process_promise_1.exec)(`git rev-parse --show-toplevel`);
|
|
11
|
+
return stdout.trim();
|
|
12
|
+
};
|
|
13
|
+
exports.getProjectRootPath = getProjectRootPath;
|
|
14
|
+
/**
|
|
15
|
+
* Get the git remote hostname and project path from the git config.
|
|
16
|
+
*/
|
|
17
|
+
const getGitRemoteHostAndPath = async () => {
|
|
18
|
+
var _a;
|
|
19
|
+
const remoteUrl = await (0, gitConfig_1.gitConfigGet)("remote.origin.url");
|
|
20
|
+
const remoteReg = /(https:\/\/|git@)([^:/]+)[:/]([^.]*)(\.git)?/;
|
|
21
|
+
const match = (_a = remoteUrl.match(remoteReg)) !== null && _a !== void 0 ? _a : [];
|
|
22
|
+
const [, , gitRemoteHost, gitRemotePath] = match;
|
|
23
|
+
if (!(gitRemoteHost === null || gitRemoteHost === void 0 ? void 0 : gitRemoteHost.length) || !(gitRemotePath === null || gitRemotePath === void 0 ? void 0 : gitRemotePath.length)) {
|
|
24
|
+
throw new Error(`Failed to parse git remote hostname and path from git configs remote.origin.url! ${remoteUrl}`);
|
|
25
|
+
}
|
|
26
|
+
return { gitRemoteHost, gitRemotePath };
|
|
27
|
+
};
|
|
28
|
+
exports.getGitRemoteHostAndPath = getGitRemoteHostAndPath;
|
|
29
|
+
const gitProjectInformation = async () => {
|
|
30
|
+
const [{ gitRemoteHost, gitRemotePath }, projectRootPath] = await Promise.all([(0, exports.getGitRemoteHostAndPath)(), (0, exports.getProjectRootPath)()]);
|
|
31
|
+
return {
|
|
32
|
+
gitRemoteHost,
|
|
33
|
+
gitRemotePath,
|
|
34
|
+
projectRootPath,
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
exports.gitProjectInformation = gitProjectInformation;
|
|
38
|
+
//# sourceMappingURL=gitProjectInformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitProjectInformation.js","sourceRoot":"","sources":["../../../../src/git/gitProjectInformation.ts"],"names":[],"mappings":";;;AAAA,2CAA2C;AAC3C,iEAA6C;AAE7C;;GAEG;AACI,MAAM,kBAAkB,GAAG,KAAK,IAAqB,EAAE;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,4BAAI,EAAC,+BAA+B,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC,CAAC;AAHW,QAAA,kBAAkB,sBAG7B;AAEF;;GAEG;AACI,MAAM,uBAAuB,GAAG,KAAK,IAGzC,EAAE;;IACH,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAY,EAAC,mBAAmB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,8CAA8C,CAAC;IACjE,MAAM,KAAK,GAAG,MAAA,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,mCAAI,EAAE,CAAC;IAC/C,MAAM,CAAC,EAAE,AAAD,EAAG,aAAa,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC;IACjD,IAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAA,IAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAA,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACb,oFAAoF,SAAS,EAAE,CAChG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAC1C,CAAC,CAAC;AAdW,QAAA,uBAAuB,2BAclC;AAEK,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;IAC9C,MAAM,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3E,CAAC,IAAA,+BAAuB,GAAE,EAAE,IAAA,0BAAkB,GAAE,CAAC,CAClD,CAAC;IACF,OAAO;QACL,aAAa;QACb,aAAa;QACb,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,qBAAqB,yBAShC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./gitConfig"), exports);
|
|
18
|
+
__exportStar(require("./gitProjectInformation"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/git/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0DAAwC"}
|
|
@@ -5,12 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.upsertAllVariables = exports.clearBackups = exports.getVariableValueByRawName = exports.getAllVariables = exports.getProjectInfo = exports.doGitlabRequest = exports.getGitlabToken = exports.setupGitlabToken = exports.hasGitlabToken = void 0;
|
|
7
7
|
const pipeline_1 = require("../../../pipeline/src/index.js");
|
|
8
|
-
const child_process_promise_1 = require("child-process-promise");
|
|
9
8
|
const lodash_1 = require("lodash");
|
|
10
9
|
const memoizee_1 = __importDefault(require("memoizee"));
|
|
11
10
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
12
11
|
const open_1 = __importDefault(require("open"));
|
|
13
12
|
const preferences_1 = require("./preferences");
|
|
13
|
+
const gitProjectInformation_1 = require("../git/gitProjectInformation");
|
|
14
14
|
const TOKEN_KEY = "gitlab-personal-access-token";
|
|
15
15
|
const hasGitlabToken = async () => await (0, preferences_1.hasPreference)(TOKEN_KEY);
|
|
16
16
|
exports.hasGitlabToken = hasGitlabToken;
|
|
@@ -21,13 +21,16 @@ const setupGitlabToken = async (vorpal) => {
|
|
|
21
21
|
vorpal.log("");
|
|
22
22
|
vorpal.log("☝ we open up the settings page for you!");
|
|
23
23
|
vorpal.log("");
|
|
24
|
-
const { shouldContinue } = await
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
const [{ shouldContinue }, { gitRemoteHost }] = await Promise.all([
|
|
25
|
+
vorpal.prompt({
|
|
26
|
+
default: true,
|
|
27
|
+
message: "Ok",
|
|
28
|
+
name: "shouldContinue",
|
|
29
|
+
type: "prompt",
|
|
30
|
+
}),
|
|
31
|
+
(0, gitProjectInformation_1.getGitRemoteHostAndPath)(),
|
|
32
|
+
]);
|
|
33
|
+
(0, open_1.default)(`https://${gitRemoteHost}/-/profile/personal_access_tokens`);
|
|
31
34
|
vorpal.log("Please type in gitlab's personal access token");
|
|
32
35
|
const { personalToken } = await vorpal.prompt({
|
|
33
36
|
type: "string",
|
|
@@ -52,9 +55,12 @@ const getGitlabToken = async (vorpal) => {
|
|
|
52
55
|
};
|
|
53
56
|
exports.getGitlabToken = getGitlabToken;
|
|
54
57
|
const doGitlabRequest = async (vorpal, path, data = undefined, method = "GET") => {
|
|
55
|
-
const rootToken = await
|
|
58
|
+
const [rootToken, { gitRemoteHost }] = await Promise.all([
|
|
59
|
+
(0, exports.getGitlabToken)(vorpal),
|
|
60
|
+
(0, gitProjectInformation_1.getGitRemoteHostAndPath)(),
|
|
61
|
+
]);
|
|
56
62
|
//const method = data ? (update ? "PUT" : "POST") : "GET";
|
|
57
|
-
const result = await (0, node_fetch_1.default)(`https
|
|
63
|
+
const result = await (0, node_fetch_1.default)(`https://${gitRemoteHost}/api/v4/${path}`, {
|
|
58
64
|
method,
|
|
59
65
|
headers: {
|
|
60
66
|
"Content-Type": "application/json",
|
|
@@ -75,9 +81,8 @@ const doGitlabRequest = async (vorpal, path, data = undefined, method = "GET") =
|
|
|
75
81
|
};
|
|
76
82
|
exports.doGitlabRequest = doGitlabRequest;
|
|
77
83
|
const getProjectInfo = async (vorpal) => {
|
|
78
|
-
const
|
|
79
|
-
const
|
|
80
|
-
const project = await (0, exports.doGitlabRequest)(vorpal, `projects/${encodeURIComponent(projectPath[2])}`);
|
|
84
|
+
const { gitRemotePath } = await (0, gitProjectInformation_1.getGitRemoteHostAndPath)();
|
|
85
|
+
const project = await (0, exports.doGitlabRequest)(vorpal, `projects/${encodeURIComponent(gitRemotePath)}`);
|
|
81
86
|
return project;
|
|
82
87
|
};
|
|
83
88
|
exports.getProjectInfo = getProjectInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../../../src/utils/gitlab.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../../../src/utils/gitlab.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setPreference = exports.getPreference = exports.hasPreference = void 0;
|
|
4
|
+
const promises_1 = require("fs/promises");
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
const os_1 = require("os");
|
|
8
|
+
const yaml_1 = require("yaml");
|
|
9
|
+
const legacyPreferencesPath = (0, path_1.join)((0, os_1.homedir)(), ".catladder/preferences.yml");
|
|
10
|
+
const preferencesPath = (0, path_1.join)((0, os_1.homedir)(), ".config/catladder/preferences.yml");
|
|
11
|
+
const ensurePreferencesFile = async () => {
|
|
12
|
+
if ((0, fs_1.existsSync)(preferencesPath)) {
|
|
13
|
+
return preferencesPath;
|
|
14
|
+
}
|
|
15
|
+
await (0, promises_1.mkdir)((0, path_1.dirname)(preferencesPath), { recursive: true, mode: 0o700 });
|
|
16
|
+
await (0, promises_1.writeFile)(preferencesPath, "---\n{}", {
|
|
17
|
+
encoding: "utf-8",
|
|
18
|
+
mode: 0o600,
|
|
19
|
+
});
|
|
20
|
+
if ((0, fs_1.existsSync)(legacyPreferencesPath)) {
|
|
21
|
+
return legacyPreferencesPath;
|
|
22
|
+
}
|
|
23
|
+
return preferencesPath;
|
|
24
|
+
};
|
|
25
|
+
const loadPreferences = async () => {
|
|
26
|
+
const currentLoadPath = await ensurePreferencesFile();
|
|
27
|
+
return (0, promises_1.readFile)(currentLoadPath, { encoding: "utf-8" });
|
|
28
|
+
};
|
|
29
|
+
const getPreferences = async () => {
|
|
30
|
+
var _a;
|
|
31
|
+
const yamlContent = await loadPreferences();
|
|
32
|
+
return ((_a = (0, yaml_1.parse)(yamlContent)) !== null && _a !== void 0 ? _a : {});
|
|
33
|
+
};
|
|
34
|
+
const hasPreference = async (key) => {
|
|
35
|
+
const preferences = await getPreferences();
|
|
36
|
+
return key in preferences;
|
|
37
|
+
};
|
|
38
|
+
exports.hasPreference = hasPreference;
|
|
39
|
+
const getPreference = async (key) => {
|
|
40
|
+
const preferences = await getPreferences();
|
|
41
|
+
return preferences[key];
|
|
42
|
+
};
|
|
43
|
+
exports.getPreference = getPreference;
|
|
44
|
+
const setPreference = async (key, value) => {
|
|
45
|
+
const preferences = await getPreferences();
|
|
46
|
+
const newPreferences = {
|
|
47
|
+
...preferences,
|
|
48
|
+
[key]: value,
|
|
49
|
+
};
|
|
50
|
+
await (0, promises_1.writeFile)(legacyPreferencesPath, (0, yaml_1.stringify)(newPreferences), {
|
|
51
|
+
encoding: "utf-8",
|
|
52
|
+
mode: 0o600,
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
exports.setPreference = setPreference;
|
|
56
|
+
//# sourceMappingURL=preferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../../src/utils/preferences.ts"],"names":[],"mappings":";;;AAAA,0CAAyD;AACzD,2BAAgC;AAChC,+BAAqC;AACrC,2BAA6B;AAC7B,+BAAwC;AAExC,MAAM,qBAAqB,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,4BAA4B,CAAC,CAAC;AAC5E,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,mCAAmC,CAAC,CAAC;AAE7E,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;IACvC,IAAI,IAAA,eAAU,EAAC,eAAe,CAAC,EAAE,CAAC;QAChC,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,MAAM,IAAA,gBAAK,EAAC,IAAA,cAAO,EAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,MAAM,IAAA,oBAAS,EAAC,eAAe,EAAE,SAAS,EAAE;QAC1C,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IACH,IAAI,IAAA,eAAU,EAAC,qBAAqB,CAAC,EAAE,CAAC;QACtC,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACjC,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACtD,OAAO,IAAA,mBAAQ,EAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;;IAChC,MAAM,WAAW,GAAG,MAAM,eAAe,EAAE,CAAC;IAC5C,OAAO,CAAC,MAAA,IAAA,YAAK,EAAC,WAAW,CAAC,mCAAI,EAAE,CAA2B,CAAC;AAC9D,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IACjD,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAC3C,OAAO,GAAG,IAAI,WAAW,CAAC;AAC5B,CAAC,CAAC;AAHW,QAAA,aAAa,iBAGxB;AACK,MAAM,aAAa,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IACjD,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAC3C,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC,CAAC;AAHW,QAAA,aAAa,iBAGxB;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,GAAW,EAAE,KAAsB,EAAE,EAAE;IACzE,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAE3C,MAAM,cAAc,GAAG;QACrB,GAAG,WAAW;QACd,CAAC,GAAG,CAAC,EAAE,KAAK;KACb,CAAC;IAEF,MAAM,IAAA,oBAAS,EAAC,qBAAqB,EAAE,IAAA,gBAAS,EAAC,cAAc,CAAC,EAAE;QAChE,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC,CAAC;AAZW,QAAA,aAAa,iBAYxB"}
|