@catladder/cli 1.121.4 → 1.122.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/README.md CHANGED
@@ -33,3 +33,9 @@ Catladder stores some preferences in `~/.catladder/preferences.yml` in case you
33
33
  ## Contribution
34
34
 
35
35
  Check the documentation [here](https://git.panter.ch/catladder/catladder/-/tree/main/cli/CONTRIBUTING.md).
36
+
37
+ ### Adding packages in cli
38
+
39
+ if you add npm libs in cli, make sure to add them as dev-dependencies.
40
+
41
+ the reason is that we bundle all dependencies in the cli package, so that if you add that to your project, it won't install all @catladder/cli's dependencies.
@@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  exports.__esModule = true;
39
- var child_process_promise_1 = require("child-process-promise");
39
+ var copyDb_1 = require("../../../../gcloud/cloudSql/copyDb");
40
40
  var startProxy_1 = require("../../../../gcloud/cloudSql/startProxy");
41
41
  exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
42
42
  return __generator(this, function (_a) {
@@ -44,7 +44,7 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
44
44
  .command("cloud-sql-restore-db", "restore a db from one source to another target")
45
45
  .action(function restoreDb() {
46
46
  return __awaiter(this, void 0, void 0, function () {
47
- var sourceInstance, sourceProxy, targetProxy, sourcePort, targetPort, sourceLocalPort, sourceUsername, sourcePassword, sourceDbName, targetInstance, targetLocalPort, targetUsername, targetPassword, targetDbName, shouldContinue, targetPSQL, copyDBScript;
47
+ var sourceInstance, sourceProxy, targetProxy, sourcePort, targetPort, sourceLocalPort, sourceUsername, sourcePassword, sourceDbName, targetInstance, targetLocalPort, targetUsername, targetPassword, targetDbName, shouldContinue;
48
48
  return __generator(this, function (_a) {
49
49
  switch (_a.label) {
50
50
  case 0: return [4 /*yield*/, this.prompt({
@@ -155,14 +155,19 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
155
155
  if (!shouldContinue) {
156
156
  return [2 /*return*/];
157
157
  }
158
- targetPSQL = function (command) {
159
- return "PGPASSWORD=".concat(targetPassword, " psql -p ").concat(targetPort, " --host=localhost --user=").concat(targetUsername, " -q ").concat(command);
160
- };
161
- copyDBScript = "\n set -e\n \n \n\n dumptmp=$(mktemp /tmp/dump.XXXXXX)\n\n echo \"Dumping file to $dumptmp\"\n pg_dump --dbname=postgres://".concat(sourceUsername, ":").concat(sourcePassword, "@localhost:").concat(sourcePort, "/").concat(sourceDbName, " --no-owner --no-privileges > $dumptmp\n echo \"dump done\"\n ").concat(targetPSQL("-c 'drop database \"".concat(targetDbName, "\" WITH (FORCE)' 1> /dev/null || true")), "\n ").concat(targetPSQL("-c 'create database \"".concat(targetDbName, "\"' 1> /dev/null")), "\n echo \"Restoring dump...\"\n ").concat(targetPSQL("\"".concat(targetDbName, "\" < $dumptmp 1> /dev/null")), "\n \n\n echo \"Clean up...\"\n set +e\n rm $dumptmp\n echo \"\n\uD83D\uDC31 Done!\"\n ");
162
158
  _a.label = 18;
163
159
  case 18:
164
160
  _a.trys.push([18, , 20, 21]);
165
- return [4 /*yield*/, (0, child_process_promise_1.spawn)(copyDBScript, [], { shell: "bash", stdio: "inherit" })];
161
+ return [4 /*yield*/, (0, copyDb_1.spawnCopyDb)({
162
+ targetPassword: targetPassword,
163
+ targetPort: targetPort,
164
+ targetUsername: targetUsername,
165
+ sourceUsername: sourceUsername,
166
+ sourcePassword: sourcePassword,
167
+ sourcePort: sourcePort,
168
+ sourceDbName: sourceDbName,
169
+ targetDbName: targetDbName
170
+ })];
166
171
  case 19:
167
172
  _a.sent();
168
173
  return [3 /*break*/, 21];
@@ -1 +1 @@
1
- {"version":3,"file":"commandRestoreDb.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/cloudSQL/commandRestoreDb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandRestoreDb.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/cloudSQL/commandRestoreDb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type Vorpal from "vorpal";
2
+ declare const _default: (vorpal: Vorpal) => Promise<Vorpal.Command>;
3
+ export default _default;
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ exports.__esModule = true;
39
+ var getProjectConfig_1 = require("../../../../../config/getProjectConfig");
40
+ var startProxy_1 = require("../../../../../gcloud/cloudSql/startProxy");
41
+ var autocompletions_1 = require("../utils/autocompletions");
42
+ var connection_string_parser_1 = require("connection-string-parser");
43
+ var copyDb_1 = require("../../../../../gcloud/cloudSql/copyDb");
44
+ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
45
+ return __generator(this, function (_a) {
46
+ return [2 /*return*/, vorpal
47
+ .command("project-cloud-sql-restore-db", "restores a project db from one source to another target")
48
+ .action(function restoreDb() {
49
+ var _a, _b, _c, _d;
50
+ return __awaiter(this, void 0, void 0, function () {
51
+ var envs, sourceEnvAndComponent, _e, sourceEnv, sourceComponent, sourceContext, sourceEnvVars, sourceProxy, sourceDbName, sourceUsername, sourcePassword, targetUsername, targetPassword, targetProxy, sourcePort, targetPort, targetDbName, closeAll, parser, parsersResult, targetEnvAndComponent, _f, targetEnv, targetComponent, targetContext, targetEnvVars, parser, parsersResult, shouldContinue, confirmInstance;
52
+ return __generator(this, function (_g) {
53
+ switch (_g.label) {
54
+ case 0: return [4 /*yield*/, (0, autocompletions_1.envAndComponents)()];
55
+ case 1:
56
+ envs = _g.sent();
57
+ return [4 /*yield*/, this.prompt({
58
+ type: "list",
59
+ name: "sourceEnvAndComponent",
60
+ choices: envs,
61
+ message: "Source instance (connection string or 'local')? 🤔 "
62
+ })];
63
+ case 2:
64
+ sourceEnvAndComponent = (_g.sent()).sourceEnvAndComponent;
65
+ _e = sourceEnvAndComponent.split(":"), sourceEnv = _e[0], sourceComponent = _e[1];
66
+ return [4 /*yield*/, (0, getProjectConfig_1.getPipelineContextByChoice)(sourceEnv, sourceComponent)];
67
+ case 3:
68
+ sourceContext = _g.sent();
69
+ return [4 /*yield*/, (0, getProjectConfig_1.getEnvVarsResolved)(this, sourceContext.environment.shortName, sourceContext.componentName)];
70
+ case 4:
71
+ sourceEnvVars = _g.sent();
72
+ closeAll = function () {
73
+ sourceProxy === null || sourceProxy === void 0 ? void 0 : sourceProxy.stop();
74
+ targetProxy === null || targetProxy === void 0 ? void 0 : targetProxy.stop();
75
+ };
76
+ if (!(sourceEnv === "local")) return [3 /*break*/, 5];
77
+ parser = new connection_string_parser_1.ConnectionStringParser({
78
+ scheme: "postgres",
79
+ hosts: []
80
+ });
81
+ parsersResult = parser.parse(sourceEnvVars.DATABASE_URL);
82
+ sourcePort = (_b = (_a = parsersResult.hosts) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.port;
83
+ sourceUsername = parsersResult.username;
84
+ sourcePassword = parsersResult.password;
85
+ sourceDbName = parsersResult.endpoint;
86
+ return [3 /*break*/, 7];
87
+ case 5:
88
+ sourcePort = 54399;
89
+ return [4 /*yield*/, (0, startProxy_1.startCloudSqlProxyInBackground)({
90
+ instanceName: sourceEnvVars.CLOUD_SQL_INSTANCE_CONNECTION_NAME,
91
+ localPort: sourcePort
92
+ })];
93
+ case 6:
94
+ sourceProxy = _g.sent();
95
+ sourceUsername = sourceEnvVars.DB_USER;
96
+ sourcePassword = sourceEnvVars.DB_PASSWORD;
97
+ sourceDbName = sourceEnvVars.DB_NAME;
98
+ _g.label = 7;
99
+ case 7: return [4 /*yield*/, this.prompt({
100
+ type: "list",
101
+ name: "targetEnvAndComponent",
102
+ choices: envs,
103
+ message: "target env? 🤔 "
104
+ })];
105
+ case 8:
106
+ targetEnvAndComponent = (_g.sent()).targetEnvAndComponent;
107
+ _f = targetEnvAndComponent.split(":"), targetEnv = _f[0], targetComponent = _f[1];
108
+ return [4 /*yield*/, (0, getProjectConfig_1.getPipelineContextByChoice)(targetEnv, targetComponent)];
109
+ case 9:
110
+ targetContext = _g.sent();
111
+ return [4 /*yield*/, (0, getProjectConfig_1.getEnvVarsResolved)(this, targetContext.environment.shortName, targetContext.componentName)];
112
+ case 10:
113
+ targetEnvVars = _g.sent();
114
+ if (!(targetEnv === "local")) return [3 /*break*/, 11];
115
+ parser = new connection_string_parser_1.ConnectionStringParser({
116
+ scheme: "postgres",
117
+ hosts: []
118
+ });
119
+ parsersResult = parser.parse(targetEnvVars.DATABASE_URL);
120
+ targetPort = (_d = (_c = parsersResult.hosts) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.port;
121
+ targetUsername = parsersResult.username;
122
+ targetPassword = parsersResult.password;
123
+ targetDbName = parsersResult.endpoint;
124
+ return [3 /*break*/, 13];
125
+ case 11:
126
+ targetPort = 54499;
127
+ return [4 /*yield*/, (0, startProxy_1.startCloudSqlProxyInBackground)({
128
+ instanceName: targetEnvVars.CLOUD_SQL_INSTANCE_CONNECTION_NAME,
129
+ localPort: targetPort
130
+ })];
131
+ case 12:
132
+ targetProxy = _g.sent();
133
+ targetUsername = targetEnvVars.DB_USER;
134
+ targetPassword = targetEnvVars.DB_PASSWORD;
135
+ targetDbName = sourceEnvVars.DB_NAME;
136
+ _g.label = 13;
137
+ case 13: return [4 /*yield*/, this.prompt({
138
+ type: "confirm",
139
+ name: "shouldContinue",
140
+ message: "This will drop ".concat(targetEnv, "/").concat(targetDbName, " and replace it with ").concat(sourceEnv, "/").concat(sourceDbName, ". Continue? \uD83E\uDD14 ")
141
+ })];
142
+ case 14:
143
+ shouldContinue = (_g.sent()).shouldContinue;
144
+ if (!shouldContinue) {
145
+ this.log("abort");
146
+ closeAll();
147
+ return [2 /*return*/];
148
+ }
149
+ if (!(targetContext.environment.envType === "prod")) return [3 /*break*/, 16];
150
+ this.log("\n\uD83D\uDEA8 You are overriding a production environment. Please type in ".concat(targetEnvVars.CLOUD_SQL_INSTANCE_CONNECTION_NAME, " to continue\n\n"));
151
+ return [4 /*yield*/, this.prompt({
152
+ type: "input",
153
+ name: "confirmInstance",
154
+ message: "confirm: "
155
+ })];
156
+ case 15:
157
+ confirmInstance = (_g.sent()).confirmInstance;
158
+ if (confirmInstance !== targetEnvVars.CLOUD_SQL_INSTANCE_CONNECTION_NAME) {
159
+ this.log("abort");
160
+ closeAll();
161
+ return [2 /*return*/];
162
+ }
163
+ _g.label = 16;
164
+ case 16:
165
+ _g.trys.push([16, , 18, 19]);
166
+ return [4 /*yield*/, (0, copyDb_1.spawnCopyDb)({
167
+ targetPassword: targetPassword,
168
+ targetPort: targetPort,
169
+ targetUsername: targetUsername,
170
+ sourceUsername: sourceUsername,
171
+ sourcePassword: sourcePassword,
172
+ sourcePort: sourcePort,
173
+ sourceDbName: sourceDbName,
174
+ targetDbName: targetDbName
175
+ })];
176
+ case 17:
177
+ _g.sent();
178
+ return [3 /*break*/, 19];
179
+ case 18:
180
+ closeAll();
181
+ return [7 /*endfinally*/];
182
+ case 19: return [2 /*return*/];
183
+ }
184
+ });
185
+ });
186
+ })];
187
+ });
188
+ }); });
189
+ //# sourceMappingURL=commandProjectRestoreDb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandProjectRestoreDb.js","sourceRoot":"","sources":["../../../../../../src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,7 @@ var commandPortForward_1 = __importDefault(require("./commandPortForward"));
63
63
  var commandTriggerCronjob_1 = __importDefault(require("./commandTriggerCronjob"));
64
64
  var commandOpenGrafanaPod_1 = __importDefault(require("./commandOpenGrafanaPod"));
65
65
  var commandSecretsClearBackups_1 = __importDefault(require("./commandSecretsClearBackups"));
66
+ var commandProjectRestoreDb_1 = __importDefault(require("./cloudSql/commandProjectRestoreDb"));
66
67
  exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
67
68
  return __generator(this, function (_a) {
68
69
  (0, commandSetup_1["default"])(vorpal);
@@ -77,6 +78,7 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
77
78
  (0, commandOpenGrafana_1["default"])(vorpal);
78
79
  (0, commandOpenGrafanaPod_1["default"])(vorpal);
79
80
  (0, commandCloudSqlProxy_1["default"])(vorpal);
81
+ (0, commandProjectRestoreDb_1["default"])(vorpal);
80
82
  (0, commandOpenGit_1["default"])(vorpal);
81
83
  (0, commandOpenEnv_1["default"])(vorpal);
82
84
  (0, commandTriggerCronjob_1["default"])(vorpal);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gFAA0D;AAC1D,gFAA0D;AAE1D,0EAAoD;AACpD,gFAA0D;AAC1D,oEAA8C;AAC9C,0FAAoE;AACpE,sEAAgD;AAChD,sEAAgD;AAChD,gEAA0C;AAC1C,4DAA4D;AAC5D,sEAAgD;AAChD,8EAAwD;AACxD,wEAAkD;AAClD,wFAAkE;AAClE,gFAA0D;AAC1D,oEAA8C;AAC9C,oEAA8C;AAC9C,sEAAgD;AAChD,8EAAwD;AACxD,4EAAsD;AACtD,4EAAsD;AACtD,kFAA4D;AAE5D,kFAA4D;AAC5D,4FAAsE;AAEtE,sBAAe,UAAO,MAAc;;QAClC,IAAA,yBAAY,EAAC,MAAM,CAAC,CAAC;QAErB,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;QAEvB,IAAA,6BAAgB,EAAC,MAAM,CAAC,CAAC;QACzB,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QACxB,IAAA,gCAAmB,EAAC,MAAM,CAAC,CAAC;QAC5B,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;QAE7B,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;QAE7B,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QAExB,IAAA,qCAAwB,EAAC,MAAM,CAAC,CAAC;QAEjC,IAAA,+BAAkB,EAAC,MAAM,CAAC,CAAC;QAC3B,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC;QAC9B,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;QAC7B,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC;QAC9B,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;QAC7B,IAAA,uCAA0B,EAAC,MAAM,CAAC,CAAC;QACnC,IAAA,8BAAiB,EAAC,MAAM,CAAC,CAAC;QAE1B,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QACxB,IAAA,+BAAkB,EAAC,MAAM,CAAC,CAAC;QAE3B,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QAExB,IAAA,sCAAyB,EAAC,MAAM,CAAC,CAAC;QAClC,IAAA,gCAAmB,EAAC,MAAM,CAAC,CAAC;;;KAC7B,EAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gFAA0D;AAC1D,gFAA0D;AAE1D,0EAAoD;AACpD,gFAA0D;AAC1D,oEAA8C;AAC9C,0FAAoE;AACpE,sEAAgD;AAChD,sEAAgD;AAChD,gEAA0C;AAC1C,4DAA4D;AAC5D,sEAAgD;AAChD,8EAAwD;AACxD,wEAAkD;AAClD,wFAAkE;AAClE,gFAA0D;AAC1D,oEAA8C;AAC9C,oEAA8C;AAC9C,sEAAgD;AAChD,8EAAwD;AACxD,4EAAsD;AACtD,4EAAsD;AACtD,kFAA4D;AAE5D,kFAA4D;AAC5D,4FAAsE;AACtE,+FAAyE;AAEzE,sBAAe,UAAO,MAAc;;QAClC,IAAA,yBAAY,EAAC,MAAM,CAAC,CAAC;QAErB,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;QAEvB,IAAA,6BAAgB,EAAC,MAAM,CAAC,CAAC;QACzB,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QACxB,IAAA,gCAAmB,EAAC,MAAM,CAAC,CAAC;QAC5B,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;QAE7B,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;QAE7B,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QAExB,IAAA,qCAAwB,EAAC,MAAM,CAAC,CAAC;QAEjC,IAAA,+BAAkB,EAAC,MAAM,CAAC,CAAC;QAC3B,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC;QAC9B,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;QAC7B,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC;QAChC,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC;QAC9B,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;QAC7B,IAAA,uCAA0B,EAAC,MAAM,CAAC,CAAC;QACnC,IAAA,8BAAiB,EAAC,MAAM,CAAC,CAAC;QAE1B,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QACxB,IAAA,+BAAkB,EAAC,MAAM,CAAC,CAAC;QAE3B,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QAExB,IAAA,sCAAyB,EAAC,MAAM,CAAC,CAAC;QAClC,IAAA,gCAAmB,EAAC,MAAM,CAAC,CAAC;;;KAC7B,EAAC"}