@catladder/cli 0.0.0-main-daaec755 → 0.0.0-main-877fa9b2
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 +36 -28
- package/dist/bundles/cli/index.js +36 -28
- package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js +36 -28
- package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -3854,16 +3854,14 @@ const getJobRunScriptForJob = (context, jobName, wait) => {
|
|
|
3854
3854
|
};
|
|
3855
3855
|
const getDeleteSchedulesScripts = (context) => {
|
|
3856
3856
|
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
3857
|
-
const
|
|
3857
|
+
const schedules = getSchedules(context);
|
|
3858
3858
|
const argsString = (0, createArgsString_1.createArgsString)({
|
|
3859
3859
|
project: deployConfig.projectId,
|
|
3860
3860
|
location: deployConfig.region,
|
|
3861
3861
|
});
|
|
3862
|
-
return
|
|
3863
|
-
.map(({
|
|
3864
|
-
return [
|
|
3865
|
-
`${(0, common_1.gcloudSchedulerCmd)()} jobs delete ${schedulerName} ${argsString}`,
|
|
3866
|
-
];
|
|
3862
|
+
return schedules
|
|
3863
|
+
.map(({ name }) => {
|
|
3864
|
+
return [`${(0, common_1.gcloudSchedulerCmd)()} jobs delete ${name} ${argsString}`];
|
|
3867
3865
|
})
|
|
3868
3866
|
.flat();
|
|
3869
3867
|
};
|
|
@@ -3937,28 +3935,26 @@ const getJobCreateScripts = (context) => getCloudRunJobsWithNames(context).map((
|
|
|
3937
3935
|
});
|
|
3938
3936
|
exports.getJobCreateScripts = getJobCreateScripts;
|
|
3939
3937
|
const getCreateScheduleScripts = (context) => {
|
|
3940
|
-
const
|
|
3938
|
+
const schedules = getSchedules(context);
|
|
3941
3939
|
const { region: location, projectId: project } = (0, common_1.getCloudRunDeployConfig)(context);
|
|
3942
|
-
|
|
3943
|
-
|
|
3944
|
-
|
|
3945
|
-
location,
|
|
3946
|
-
uri: `"$current_job_uri"`,
|
|
3947
|
-
"http-method": "POST",
|
|
3948
|
-
"oauth-service-account-email": `"$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"`,
|
|
3949
|
-
};
|
|
3950
|
-
return jobsWithSchedule.map(({ job: { maxRetryAttempts, schedule }, jobName, schedulerName }, jobIndex) => {
|
|
3940
|
+
return schedules.map((scheduler, jobIndex) => {
|
|
3941
|
+
var _a;
|
|
3942
|
+
const uri = getSchedulerUrl(scheduler, context);
|
|
3951
3943
|
const argsString = (0, createArgsString_1.createArgsString)({
|
|
3952
|
-
|
|
3953
|
-
|
|
3954
|
-
"
|
|
3944
|
+
project,
|
|
3945
|
+
location,
|
|
3946
|
+
uri: `"$current_job_uri"`,
|
|
3947
|
+
"http-method": "POST",
|
|
3948
|
+
"oauth-service-account-email": `"$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"`,
|
|
3949
|
+
schedule: `"${scheduler.schedule}"`,
|
|
3950
|
+
"max-retry-attempts": (_a = scheduler.maxRetryAttempts) !== null && _a !== void 0 ? _a : 0,
|
|
3955
3951
|
});
|
|
3956
3952
|
return [
|
|
3957
3953
|
jobIndex === 0
|
|
3958
3954
|
? `exist_scheduler_names="$(\n ${(0, common_1.gcloudSchedulerCmd)()} jobs list --filter='httpTarget.uri ~ ${context.env}.*${context.name}' --format='value(name)' --limit=999 --location='${location}' --project='${project}'\n)"`
|
|
3959
3955
|
: null,
|
|
3960
|
-
`current_job_uri="${
|
|
3961
|
-
`current_scheduler_name="${
|
|
3956
|
+
`current_job_uri="${uri}"`,
|
|
3957
|
+
`current_scheduler_name="${scheduler.name}"`,
|
|
3962
3958
|
`if grep "$current_scheduler_name" <<<"$exist_scheduler_names" >/dev/null; then`,
|
|
3963
3959
|
` ${(0, common_1.gcloudSchedulerCmd)()} jobs update http "$current_scheduler_name" ${argsString}`,
|
|
3964
3960
|
`else`,
|
|
@@ -3970,16 +3966,28 @@ const getCreateScheduleScripts = (context) => {
|
|
|
3970
3966
|
});
|
|
3971
3967
|
};
|
|
3972
3968
|
exports.getCreateScheduleScripts = getCreateScheduleScripts;
|
|
3973
|
-
const
|
|
3969
|
+
const getSchedulerUrl = (scheduler, context) => {
|
|
3970
|
+
if (scheduler.type === "cloudRunJob") {
|
|
3971
|
+
const { region: location, projectId: project } = (0, common_1.getCloudRunDeployConfig)(context);
|
|
3972
|
+
const uriBase = `https://${location}-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${project}/jobs`;
|
|
3973
|
+
return `${uriBase}/${scheduler.jobName}:run`;
|
|
3974
|
+
}
|
|
3975
|
+
throw new Error(`Unknown scheduler type: ${scheduler.type}`);
|
|
3976
|
+
};
|
|
3977
|
+
const getSchedules = (context) => {
|
|
3974
3978
|
const jobsWithNames = getCloudRunJobsWithNames(context);
|
|
3975
3979
|
return jobsWithNames
|
|
3976
3980
|
.filter((entry) => entry.job.when === "schedule")
|
|
3977
|
-
.map(({ job,
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
|
|
3981
|
-
|
|
3982
|
-
|
|
3981
|
+
.map(({ job: { maxRetryAttempts, schedule }, jobName }) => {
|
|
3982
|
+
const schedulerName = jobName.concat("-scheduler");
|
|
3983
|
+
return {
|
|
3984
|
+
name: schedulerName,
|
|
3985
|
+
maxRetryAttempts,
|
|
3986
|
+
schedule,
|
|
3987
|
+
type: "cloudRunJob",
|
|
3988
|
+
jobName,
|
|
3989
|
+
};
|
|
3990
|
+
});
|
|
3983
3991
|
};
|
|
3984
3992
|
const getCloudRunJobsWithNames = (context) => {
|
|
3985
3993
|
var _a;
|
|
@@ -6791,16 +6791,14 @@ const getJobRunScriptForJob = (context, jobName, wait) => {
|
|
|
6791
6791
|
};
|
|
6792
6792
|
const getDeleteSchedulesScripts = (context) => {
|
|
6793
6793
|
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
6794
|
-
const
|
|
6794
|
+
const schedules = getSchedules(context);
|
|
6795
6795
|
const argsString = (0, createArgsString_1.createArgsString)({
|
|
6796
6796
|
project: deployConfig.projectId,
|
|
6797
6797
|
location: deployConfig.region,
|
|
6798
6798
|
});
|
|
6799
|
-
return
|
|
6800
|
-
.map(({
|
|
6801
|
-
return [
|
|
6802
|
-
`${(0, common_1.gcloudSchedulerCmd)()} jobs delete ${schedulerName} ${argsString}`,
|
|
6803
|
-
];
|
|
6799
|
+
return schedules
|
|
6800
|
+
.map(({ name }) => {
|
|
6801
|
+
return [`${(0, common_1.gcloudSchedulerCmd)()} jobs delete ${name} ${argsString}`];
|
|
6804
6802
|
})
|
|
6805
6803
|
.flat();
|
|
6806
6804
|
};
|
|
@@ -6874,28 +6872,26 @@ const getJobCreateScripts = (context) => getCloudRunJobsWithNames(context).map((
|
|
|
6874
6872
|
});
|
|
6875
6873
|
exports.getJobCreateScripts = getJobCreateScripts;
|
|
6876
6874
|
const getCreateScheduleScripts = (context) => {
|
|
6877
|
-
const
|
|
6875
|
+
const schedules = getSchedules(context);
|
|
6878
6876
|
const { region: location, projectId: project } = (0, common_1.getCloudRunDeployConfig)(context);
|
|
6879
|
-
|
|
6880
|
-
|
|
6881
|
-
|
|
6882
|
-
location,
|
|
6883
|
-
uri: `"$current_job_uri"`,
|
|
6884
|
-
"http-method": "POST",
|
|
6885
|
-
"oauth-service-account-email": `"$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"`,
|
|
6886
|
-
};
|
|
6887
|
-
return jobsWithSchedule.map(({ job: { maxRetryAttempts, schedule }, jobName, schedulerName }, jobIndex) => {
|
|
6877
|
+
return schedules.map((scheduler, jobIndex) => {
|
|
6878
|
+
var _a;
|
|
6879
|
+
const uri = getSchedulerUrl(scheduler, context);
|
|
6888
6880
|
const argsString = (0, createArgsString_1.createArgsString)({
|
|
6889
|
-
|
|
6890
|
-
|
|
6891
|
-
"
|
|
6881
|
+
project,
|
|
6882
|
+
location,
|
|
6883
|
+
uri: `"$current_job_uri"`,
|
|
6884
|
+
"http-method": "POST",
|
|
6885
|
+
"oauth-service-account-email": `"$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"`,
|
|
6886
|
+
schedule: `"${scheduler.schedule}"`,
|
|
6887
|
+
"max-retry-attempts": (_a = scheduler.maxRetryAttempts) !== null && _a !== void 0 ? _a : 0,
|
|
6892
6888
|
});
|
|
6893
6889
|
return [
|
|
6894
6890
|
jobIndex === 0
|
|
6895
6891
|
? `exist_scheduler_names="$(\n ${(0, common_1.gcloudSchedulerCmd)()} jobs list --filter='httpTarget.uri ~ ${context.env}.*${context.name}' --format='value(name)' --limit=999 --location='${location}' --project='${project}'\n)"`
|
|
6896
6892
|
: null,
|
|
6897
|
-
`current_job_uri="${
|
|
6898
|
-
`current_scheduler_name="${
|
|
6893
|
+
`current_job_uri="${uri}"`,
|
|
6894
|
+
`current_scheduler_name="${scheduler.name}"`,
|
|
6899
6895
|
`if grep "$current_scheduler_name" <<<"$exist_scheduler_names" >/dev/null; then`,
|
|
6900
6896
|
` ${(0, common_1.gcloudSchedulerCmd)()} jobs update http "$current_scheduler_name" ${argsString}`,
|
|
6901
6897
|
`else`,
|
|
@@ -6907,16 +6903,28 @@ const getCreateScheduleScripts = (context) => {
|
|
|
6907
6903
|
});
|
|
6908
6904
|
};
|
|
6909
6905
|
exports.getCreateScheduleScripts = getCreateScheduleScripts;
|
|
6910
|
-
const
|
|
6906
|
+
const getSchedulerUrl = (scheduler, context) => {
|
|
6907
|
+
if (scheduler.type === "cloudRunJob") {
|
|
6908
|
+
const { region: location, projectId: project } = (0, common_1.getCloudRunDeployConfig)(context);
|
|
6909
|
+
const uriBase = `https://${location}-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${project}/jobs`;
|
|
6910
|
+
return `${uriBase}/${scheduler.jobName}:run`;
|
|
6911
|
+
}
|
|
6912
|
+
throw new Error(`Unknown scheduler type: ${scheduler.type}`);
|
|
6913
|
+
};
|
|
6914
|
+
const getSchedules = (context) => {
|
|
6911
6915
|
const jobsWithNames = getCloudRunJobsWithNames(context);
|
|
6912
6916
|
return jobsWithNames
|
|
6913
6917
|
.filter((entry) => entry.job.when === "schedule")
|
|
6914
|
-
.map(({ job,
|
|
6915
|
-
|
|
6916
|
-
|
|
6917
|
-
|
|
6918
|
-
|
|
6919
|
-
|
|
6918
|
+
.map(({ job: { maxRetryAttempts, schedule }, jobName }) => {
|
|
6919
|
+
const schedulerName = jobName.concat("-scheduler");
|
|
6920
|
+
return {
|
|
6921
|
+
name: schedulerName,
|
|
6922
|
+
maxRetryAttempts,
|
|
6923
|
+
schedule,
|
|
6924
|
+
type: "cloudRunJob",
|
|
6925
|
+
jobName,
|
|
6926
|
+
};
|
|
6927
|
+
});
|
|
6920
6928
|
};
|
|
6921
6929
|
const getCloudRunJobsWithNames = (context) => {
|
|
6922
6930
|
var _a;
|
|
@@ -15,16 +15,14 @@ const getJobRunScriptForJob = (context, jobName, wait) => {
|
|
|
15
15
|
};
|
|
16
16
|
const getDeleteSchedulesScripts = (context) => {
|
|
17
17
|
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
18
|
-
const
|
|
18
|
+
const schedules = getSchedules(context);
|
|
19
19
|
const argsString = (0, createArgsString_1.createArgsString)({
|
|
20
20
|
project: deployConfig.projectId,
|
|
21
21
|
location: deployConfig.region,
|
|
22
22
|
});
|
|
23
|
-
return
|
|
24
|
-
.map(({
|
|
25
|
-
return [
|
|
26
|
-
`${(0, common_1.gcloudSchedulerCmd)()} jobs delete ${schedulerName} ${argsString}`,
|
|
27
|
-
];
|
|
23
|
+
return schedules
|
|
24
|
+
.map(({ name }) => {
|
|
25
|
+
return [`${(0, common_1.gcloudSchedulerCmd)()} jobs delete ${name} ${argsString}`];
|
|
28
26
|
})
|
|
29
27
|
.flat();
|
|
30
28
|
};
|
|
@@ -98,28 +96,26 @@ const getJobCreateScripts = (context) => getCloudRunJobsWithNames(context).map((
|
|
|
98
96
|
});
|
|
99
97
|
exports.getJobCreateScripts = getJobCreateScripts;
|
|
100
98
|
const getCreateScheduleScripts = (context) => {
|
|
101
|
-
const
|
|
99
|
+
const schedules = getSchedules(context);
|
|
102
100
|
const { region: location, projectId: project } = (0, common_1.getCloudRunDeployConfig)(context);
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
location,
|
|
107
|
-
uri: `"$current_job_uri"`,
|
|
108
|
-
"http-method": "POST",
|
|
109
|
-
"oauth-service-account-email": `"$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"`,
|
|
110
|
-
};
|
|
111
|
-
return jobsWithSchedule.map(({ job: { maxRetryAttempts, schedule }, jobName, schedulerName }, jobIndex) => {
|
|
101
|
+
return schedules.map((scheduler, jobIndex) => {
|
|
102
|
+
var _a;
|
|
103
|
+
const uri = getSchedulerUrl(scheduler, context);
|
|
112
104
|
const argsString = (0, createArgsString_1.createArgsString)({
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
"
|
|
105
|
+
project,
|
|
106
|
+
location,
|
|
107
|
+
uri: `"$current_job_uri"`,
|
|
108
|
+
"http-method": "POST",
|
|
109
|
+
"oauth-service-account-email": `"$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"`,
|
|
110
|
+
schedule: `"${scheduler.schedule}"`,
|
|
111
|
+
"max-retry-attempts": (_a = scheduler.maxRetryAttempts) !== null && _a !== void 0 ? _a : 0,
|
|
116
112
|
});
|
|
117
113
|
return [
|
|
118
114
|
jobIndex === 0
|
|
119
115
|
? `exist_scheduler_names="$(\n ${(0, common_1.gcloudSchedulerCmd)()} jobs list --filter='httpTarget.uri ~ ${context.env}.*${context.name}' --format='value(name)' --limit=999 --location='${location}' --project='${project}'\n)"`
|
|
120
116
|
: null,
|
|
121
|
-
`current_job_uri="${
|
|
122
|
-
`current_scheduler_name="${
|
|
117
|
+
`current_job_uri="${uri}"`,
|
|
118
|
+
`current_scheduler_name="${scheduler.name}"`,
|
|
123
119
|
`if grep "$current_scheduler_name" <<<"$exist_scheduler_names" >/dev/null; then`,
|
|
124
120
|
` ${(0, common_1.gcloudSchedulerCmd)()} jobs update http "$current_scheduler_name" ${argsString}`,
|
|
125
121
|
`else`,
|
|
@@ -131,16 +127,28 @@ const getCreateScheduleScripts = (context) => {
|
|
|
131
127
|
});
|
|
132
128
|
};
|
|
133
129
|
exports.getCreateScheduleScripts = getCreateScheduleScripts;
|
|
134
|
-
const
|
|
130
|
+
const getSchedulerUrl = (scheduler, context) => {
|
|
131
|
+
if (scheduler.type === "cloudRunJob") {
|
|
132
|
+
const { region: location, projectId: project } = (0, common_1.getCloudRunDeployConfig)(context);
|
|
133
|
+
const uriBase = `https://${location}-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${project}/jobs`;
|
|
134
|
+
return `${uriBase}/${scheduler.jobName}:run`;
|
|
135
|
+
}
|
|
136
|
+
throw new Error(`Unknown scheduler type: ${scheduler.type}`);
|
|
137
|
+
};
|
|
138
|
+
const getSchedules = (context) => {
|
|
135
139
|
const jobsWithNames = getCloudRunJobsWithNames(context);
|
|
136
140
|
return jobsWithNames
|
|
137
141
|
.filter((entry) => entry.job.when === "schedule")
|
|
138
|
-
.map(({ job,
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
.map(({ job: { maxRetryAttempts, schedule }, jobName }) => {
|
|
143
|
+
const schedulerName = jobName.concat("-scheduler");
|
|
144
|
+
return {
|
|
145
|
+
name: schedulerName,
|
|
146
|
+
maxRetryAttempts,
|
|
147
|
+
schedule,
|
|
148
|
+
type: "cloudRunJob",
|
|
149
|
+
jobName,
|
|
150
|
+
};
|
|
151
|
+
});
|
|
144
152
|
};
|
|
145
153
|
const getCloudRunJobsWithNames = (context) => {
|
|
146
154
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudRunJobs.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.ts"],"names":[],"mappings":";;;AAMA,gEAA6D;AAC7D,8CAAsD;AACtD,qCAOkB;AAClB,0DAAuD;AACvD,uCAA+C;AAK/C,2CAAgD;AAChD,0CAAwC;AAExC,MAAM,qBAAqB,GAAG,CAC5B,OAAyB,EACzB,OAA+B,EAC/B,IAAa,EACb,EAAE;IACF,MAAM,UAAU,GAAG,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;IAElD,MAAM,gBAAgB,GAAG,IAAA,mCAAgB,EAAC,UAAU,CAAC,CAAC;IACtD,OAAO,GAAG,IAAA,qBAAY,GAAE,iBAAiB,OAAO,CAAC,QAAQ,EAAE,IAAI,gBAAgB,GAC7E,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACrB,EAAE,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,yBAAyB,GAAG,CAAC,OAAyB,EAAE,EAAE;IACrE,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IACtD,MAAM,
|
|
1
|
+
{"version":3,"file":"cloudRunJobs.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.ts"],"names":[],"mappings":";;;AAMA,gEAA6D;AAC7D,8CAAsD;AACtD,qCAOkB;AAClB,0DAAuD;AACvD,uCAA+C;AAK/C,2CAAgD;AAChD,0CAAwC;AAExC,MAAM,qBAAqB,GAAG,CAC5B,OAAyB,EACzB,OAA+B,EAC/B,IAAa,EACb,EAAE;IACF,MAAM,UAAU,GAAG,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;IAElD,MAAM,gBAAgB,GAAG,IAAA,mCAAgB,EAAC,UAAU,CAAC,CAAC;IACtD,OAAO,GAAG,IAAA,qBAAY,GAAE,iBAAiB,OAAO,CAAC,QAAQ,EAAE,IAAI,gBAAgB,GAC7E,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACrB,EAAE,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,yBAAyB,GAAG,CAAC,OAAyB,EAAE,EAAE;IACrE,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,mCAAgB,EAAC;QAClC,OAAO,EAAE,YAAY,CAAC,SAAS;QAC/B,QAAQ,EAAE,YAAY,CAAC,MAAM;KAC9B,CAAC,CAAC;IACH,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QAChB,OAAO,CAAC,GAAG,IAAA,2BAAkB,GAAE,gBAAgB,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;AACZ,CAAC,CAAC;AAZW,QAAA,yBAAyB,6BAYpC;AAEK,MAAM,oBAAoB,GAAG,CAAC,OAAyB,EAAE,EAAE;IAChE,MAAM,UAAU,GAAG,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAA,mCAAgB,EAAC,UAAU,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC5C,gGAAgG;QAChG,GAAG,IAAA,qBAAY,GAAE,yBAAyB,gBAAgB,UAAU,OAAO,yCAAyC,IAAA,qBAAY,GAAE,uCAAuC,gBAAgB,EAAE;QAC3L,GAAG,IAAA,qBAAY,GAAE,gBAAgB,OAAO,IAAI,gBAAgB,EAAE;KAC/D,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,oBAAoB,wBAU/B;AAEK,MAAM,gBAAgB,GAAG,CAC9B,OAAyB,EACzB,IAAqC,EACrC,EAAE;IACF,MAAM,aAAa,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO,aAAa;SACjB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;SACtC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE;;QACxB,2DAA2D;QAC3D,gEAAgE;QAChE,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9D,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,mBAAmB,IAAI,GAAG;gBAC1B,CAAC,CAAC,CAAC,MAAA,GAAG,CAAC,iBAAiB,mCAAI,KAAK,CAAC;gBAClC,CAAC,CAAC,KAAK,CAAC;QACZ,OAAO,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAyB,EAAY,EAAE,CACzE,wBAAwB,CAAC,OAAO,CAAC,CAAC,GAAG,CACnC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAU,EAAE;;IACrC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAC7C,CAAC,CAAC,GAAG,CAAC,OAAO;QACb,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3B,MAAM,EACJ,KAAK,EAAE,WAAW,EAClB,OAAO,EACP,MAAM,EACN,GAAG,UAAU,EACd,GAAG,IAAA,4BAAmB,EAAC,OAAO,CAAC,CAAC;IACjC,MAAM,sBAAsB,GAAG,IAAA,mCAAgB,EAC7C;QACE,OAAO,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;QACtC,MAAM,EAAE,IAAI,IAAA,wBAAe,EAAC,IAAA,qBAAS,EAAC,OAAO,CAAC,CAAC,wCAAwC;QACvF,KAAK,EAAE,IAAI,MAAA,GAAG,CAAC,KAAK,mCAAI,WAAW,GAAG;QACtC,OAAO;QACP,MAAM;QACN,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM,EAAE,MAAA,GAAG,CAAC,MAAM,mCAAI,OAAO;QAC7B,WAAW,EAAE,MAAA,GAAG,CAAC,WAAW,mCAAI,CAAC;QAEjC,cAAc,EAAE,MAAA,GAAG,CAAC,OAAO,mCAAI,KAAK;QACpC,eAAe,EAAE,6BAAiB;QAClC,aAAa,EAAE,CAAC;QAEhB,GAAG,UAAU;QAEb,UAAU;QACV,eAAe,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY;QAClC,YAAY,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS;QAC5B,OAAO,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO;QACrB,MAAM,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM;KACpB,EACD,GAAG,IAAA,4BAAkB,EAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAC1C,CAAC;IAEF,OAAO;QACL,QAAQ,KAAK,CAAC;YACZ,CAAC,CAAC,0BAA0B,IAAA,qBAAY,GAAE,wCAAwC,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,mDAAmD,OAAO,eAAe,MAAM,OAAO;YACpM,CAAC,CAAC,IAAI;QACR,qBAAqB,OAAO,GAAG;QAC/B,oEAAoE;QACpE,KAAK,IAAA,qBAAY,GAAE,oCAAoC,sBAAsB,EAAE;QAC/E,MAAM;QACN,KAAK,IAAA,qBAAY,GAAE,oCAAoC,sBAAsB,EAAE;QAC/E,IAAI;KACL;SACE,MAAM,CAAC,cAAM,CAAC;SACd,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CACF,CAAC;AArDS,QAAA,mBAAmB,uBAqD5B;AAEG,MAAM,wBAAwB,GAAG,CACtC,OAAyB,EACf,EAAE;IACZ,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAC5C,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAU,EAAE;;QACnD,MAAM,GAAG,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhD,MAAM,UAAU,GAAG,IAAA,mCAAgB,EAAC;YAClC,OAAO;YACP,QAAQ;YACR,GAAG,EAAE,oBAAoB;YACzB,aAAa,EAAE,MAAM;YACrB,6BAA6B,EAAE,gEAAgE;YAC/F,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,GAAG;YACnC,oBAAoB,EAAE,MAAA,SAAS,CAAC,gBAAgB,mCAAI,CAAC;SACtD,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,KAAK,CAAC;gBACZ,CAAC,CAAC,gCAAgC,IAAA,2BAAkB,GAAE,yCAAyC,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,oDAAoD,QAAQ,gBAAgB,OAAO,OAAO;gBACrN,CAAC,CAAC,IAAI;YACR,oBAAoB,GAAG,GAAG;YAC1B,2BAA2B,SAAS,CAAC,IAAI,GAAG;YAC5C,gFAAgF;YAChF,KAAK,IAAA,2BAAkB,GAAE,+CAA+C,UAAU,EAAE;YACpF,MAAM;YACN,KAAK,IAAA,2BAAkB,GAAE,+CAA+C,UAAU,EAAE;YACpF,IAAI;SACL;aACE,MAAM,CAAC,cAAM,CAAC;aACd,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAlCW,QAAA,wBAAwB,4BAkCnC;AAWF,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAE,OAAyB,EAAE,EAAE;IAC1E,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACrC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAC5C,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG,WAAW,QAAQ,6DAA6D,OAAO,OAAO,CAAC;QAE/G,OAAO,GAAG,OAAO,IAAI,SAAS,CAAC,OAAO,MAAM,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,OAAyB,EAAe,EAAE;IAC9D,MAAM,aAAa,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO,aAAa;SACjB,MAAM,CACL,CACE,KAAK,EAKL,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CACnC;SACA,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACxD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnD,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,gBAAgB;YAChB,QAAQ;YACR,IAAI,EAAE,aAAa;YACnB,OAAO;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,OAAyB,EAAE,EAAE;;IAC7D,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CACtC,IAAA,4BAAkB,EAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEzD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,YAAY,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC3D,2BAA2B;SAC1B,MAAM,CAAC,CAAC,KAAK,EAA8C,EAAE,CAC5D,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAClB;SACA,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC;QAC/B,GAAG;QACH,MAAM;KACP,CAAC,CAAC,CAAC;IACN,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
|