iobroker.bee 0.2.5 → 0.2.7

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
@@ -41,6 +41,8 @@ Limits: a power loss while the script works leaves the system as far as the scri
41
41
 
42
42
  If the owner installs adapters that are not part of the profile, the agent reports them, stops automatic updates and informs the owner via an ioBroker notification. The fleet manager sees the installation in the deviation list and can bring it back to managed mode (removing the own adapters or tolerating them as exceptions).
43
43
 
44
+ An asset can also run without profile (mode `free`, set in the fleet management for installations that are too different for a profile). The agent then gets no profile and changes nothing by itself; versions are installed with the command `adapter`. Every version of the agent handles this like an asset without profile.
45
+
44
46
  ### Remote access to admin, vis-2 and the console
45
47
 
46
48
  A technician of the fleet manager can open admin or vis-2 of the system from the fleet management, without ioBroker.pro and without open ports on the device:
@@ -60,8 +62,9 @@ From the asset detail a technician (permission `operate`) can start, stop and re
60
62
  - Instances: the same way admin does it, through the instance object (`common.enabled`, or rewriting it for a restart). Only instances of this host; `bee` itself can be restarted but not stopped from afar.
61
63
  - Restart of ioBroker: host command `restartController` of js-controller.
62
64
  - OS updates: js-controller (6 and newer, Linux) lists upgradeable packages (`apt list --upgradeable`) on every update of the repository, admin triggers that daily, and writes them to `system.host.<host>.osPackageUpdates`. The agent reports this list in the inventory, together with `/var/run/reboot-required`, and on request passes the chosen packages to the host command `upgradeOsPackages`, which runs apt (with sudo if ioBroker does not run as root). Packages that js-controller did not list are refused.
65
+ - Adapter version (since 0.2.6, permission `assign`): installs one version of one adapter right away, from npm or from a package of the own server (checked like the packages of a job), like an installation from admin: `iobroker upgrade <adapter>@<version>` (with `--force` downwards), `iobroker add` for a new adapter, `iobroker url` for a package. Only for an asset without desired profile in managed mode (otherwise the next job would turn it back; there the version is changed in the profile or set for the asset), never js-controller, without backup. It runs with the detached runner of the jobs under its own file (`adapter-runner.json`), so it survives the restart of the agent when the agent updates itself; the answer then comes from the new process. The emergency stop stops it too.
63
66
  - Nothing of this while a job (update) is running, and one command at a time.
64
- - Log files: the agent lists the files in the directories of the file transports of `iobroker.json` (as js-controller finds them for admin; only `*.log` and `*.gz`), and on request uploads one of them to its own server, compressed with gzip (a `.gz` file as it is), with the one-time ticket of the request and at most 50 MB compressed. The upload URL must belong to the server of the enrollment or the broker. This works also during a job, one upload at a time.
67
+ - Log files: the agent lists the files in the directories of the file transports of `iobroker.json` (`iobroker-data/iobroker.json`, found as js-controller finds it; without a file transport `log` below the ioBroker directory; only `*.log` and `*.gz`, no symbolic links like `iobroker.current.log`), and on request uploads one of them to its own server, compressed with gzip (a `.gz` file as it is), with the one-time ticket of the request and at most 50 MB compressed. The upload URL must belong to the server of the enrollment or the broker. This works also during a job, one upload at a time.
65
68
 
66
69
  ## Configuration
67
70
 
@@ -109,6 +112,16 @@ npm test # unit tests of planner, preflight and diff
109
112
 
110
113
  ## Changelog
111
114
 
115
+ ### 0.2.7 (2026-11-11)
116
+
117
+ - Protocol: the desired state can carry the mode `free` (without profile), shown in `info.mode`
118
+ - Command `software`: remove an adapter, add or delete an instance right away, with the runner of the command `adapter`
119
+
120
+ ### 0.2.6 (2026-11-11)
121
+
122
+ - Log files: the list was empty on normal installations, the agent now finds `iobroker.json` in `iobroker-data` as js-controller does
123
+ - Command `adapter`: install a version of an adapter right away on an asset without desired profile
124
+
112
125
  ### 0.2.5 (2026-11-10)
113
126
 
114
127
  - Log files of ioBroker for the fleet management: list them, upload one compressed on request
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ADAPTER_COMMAND_TIMEOUT = void 0;
4
+ exports.adapterCommandPaths = adapterCommandPaths;
5
+ exports.adapterRefusal = adapterRefusal;
6
+ exports.adapterStep = adapterStep;
7
+ exports.startAdapterCommand = startAdapterCommand;
8
+ exports.adapterCommandState = adapterCommandState;
9
+ exports.clearAdapterCommand = clearAdapterCommand;
10
+ const node_child_process_1 = require("node:child_process");
11
+ const promises_1 = require("node:fs/promises");
12
+ const node_path_1 = require("node:path");
13
+ const util_1 = require("./util");
14
+ /**
15
+ * Command 'adapter' of the fleet management: one version of one adapter right away, for an asset without
16
+ * desired profile (or a self-managed one), like an installation from admin. It runs with the detached runner
17
+ * of the jobs under its own file, so it does not get in the way of a job, and it survives the restart of the
18
+ * agent when the agent updates itself. After such a restart the agent answers from the files.
19
+ */
20
+ const ADAPTER_NAME = /^[a-z0-9][a-z0-9_-]*$/;
21
+ const VERSION = /^\d+\.\d+\.\d+(?:-[\w.-]+)?(?:\+[\w.-]+)?$/;
22
+ /** Longer than the runner needs for one step (30 minutes per call of the CLI, at most two calls) */
23
+ exports.ADAPTER_COMMAND_TIMEOUT = 65 * 60_000;
24
+ function adapterCommandPaths(dataDir) {
25
+ return { runner: (0, node_path_1.join)(dataDir, 'adapter-runner.json'), command: (0, node_path_1.join)(dataDir, 'adapter-command.json') };
26
+ }
27
+ /**
28
+ * Why the command is refused; null if it may run
29
+ *
30
+ * @param req the request of the server
31
+ * @param desired the desired state the agent has
32
+ */
33
+ function adapterRefusal(req, desired) {
34
+ if (!req || typeof req.name !== 'string' || !ADAPTER_NAME.test(req.name)) {
35
+ return 'Ungültiger Adaptername';
36
+ }
37
+ if (req.name === 'js-controller') {
38
+ return 'js-controller wird nicht über diesen Befehl aktualisiert';
39
+ }
40
+ if (typeof req.version !== 'string' || !VERSION.test(req.version)) {
41
+ return 'Ungültige Version';
42
+ }
43
+ if (desired?.profile && desired.mode === 'managed') {
44
+ // the next job would turn it back
45
+ return 'Die Anlage folgt einem Sollprofil: die Version im Profil ändern oder für diese Anlage festlegen';
46
+ }
47
+ return null;
48
+ }
49
+ /**
50
+ * The step for the runner: a new adapter with one instance, or an up- or downgrade
51
+ *
52
+ * @param name adapter
53
+ * @param version wanted version
54
+ * @param installed installed version, undefined if the adapter is not installed
55
+ * @param fromPackage from a package of the server: also with the same version number (a build that kept it)
56
+ * @returns null if there is nothing to do
57
+ */
58
+ function adapterStep(name, version, installed, fromPackage) {
59
+ if (!installed) {
60
+ return { action: 'install', adapter: name, from: null, to: version, status: 'pending' };
61
+ }
62
+ const c = (0, util_1.compareVersions)(version, installed);
63
+ if (c === 0 && !fromPackage) {
64
+ return null;
65
+ }
66
+ return { action: c < 0 ? 'downgrade' : 'upgrade', adapter: name, from: installed, to: version, status: 'pending' };
67
+ }
68
+ /**
69
+ * Starts the runner for the step, detached from the agent
70
+ *
71
+ * @param paths see adapterCommandPaths
72
+ * @param command what to remember
73
+ * @param step see adapterStep
74
+ * @param opts where and how
75
+ * @param opts.iobrokerJs iobroker.js of js-controller
76
+ * @param opts.cwd directory of ioBroker
77
+ * @param opts.haltFile halt file of the jobs: the emergency stop stops this command too
78
+ * @param opts.logFile log of the runner
79
+ * @param opts.file local package (tgz) instead of npm
80
+ */
81
+ async function startAdapterCommand(paths, command, step, opts) {
82
+ const runner = {
83
+ mode: 'apply',
84
+ steps: [step],
85
+ ...(opts.file ? { files: { [step.adapter]: opts.file } } : {}),
86
+ iobroker: opts.iobrokerJs,
87
+ cwd: opts.cwd,
88
+ haltFile: opts.haltFile,
89
+ logFile: opts.logFile,
90
+ phase: 'start',
91
+ };
92
+ await (0, util_1.writeJsonAtomic)(paths.command, command);
93
+ await (0, util_1.writeJsonAtomic)(paths.runner, runner);
94
+ const child = (0, node_child_process_1.spawn)(process.execPath, [(0, node_path_1.join)(__dirname, '..', 'runner.js'), paths.runner], {
95
+ detached: true,
96
+ stdio: 'ignore',
97
+ cwd: opts.cwd,
98
+ windowsHide: true,
99
+ });
100
+ child.unref();
101
+ }
102
+ /**
103
+ * State of the command from its files
104
+ *
105
+ * @param paths see adapterCommandPaths
106
+ * @param now current time, for the timeout
107
+ * @returns undefined without a command, null while it runs, else its outcome
108
+ */
109
+ async function adapterCommandState(paths, now = Date.now()) {
110
+ const command = await (0, util_1.readJson)(paths.command);
111
+ if (!command) {
112
+ return undefined;
113
+ }
114
+ const runner = await (0, util_1.readJson)(paths.runner);
115
+ const what = command.what ?? `${command.name} ${command.version}`;
116
+ if (runner?.phase === 'done') {
117
+ return { command, state: 'done', message: command.done ?? `${what} installiert` };
118
+ }
119
+ if (runner?.phase === 'failed' || runner?.phase === 'halted') {
120
+ const step = runner.steps[0];
121
+ const reason = runner.phase === 'halted'
122
+ ? 'durch Not-Aus angehalten'
123
+ : [runner.error, step?.detail].filter(Boolean).join(': ') || 'fehlgeschlagen';
124
+ return { command, state: 'error', message: `${what}: ${reason}` };
125
+ }
126
+ if (now - command.startedAt > exports.ADAPTER_COMMAND_TIMEOUT) {
127
+ return { command, state: 'error', message: `${what}: keine Rückmeldung des Runners` };
128
+ }
129
+ return null;
130
+ }
131
+ /** Forgets the command once it is answered */
132
+ async function clearAdapterCommand(paths) {
133
+ await (0, promises_1.rm)(paths.command, { force: true });
134
+ }
135
+ //# sourceMappingURL=adapterCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapterCommand.js","sourceRoot":"","sources":["../../src/lib/adapterCommand.ts"],"names":[],"mappings":"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"}
@@ -18,14 +18,15 @@ const util_1 = require("./util");
18
18
  exports.REBOOT_REQUIRED = '/var/run/reboot-required';
19
19
  /**
20
20
  * What this system can do: OS updates need Linux and js-controller 6 (it lists them and runs apt);
21
- * logs: list and upload log files
21
+ * logs: list and upload log files; adapter: install a version; software: remove an adapter, add or delete
22
+ * an instance
22
23
  */
23
24
  function supportedCommands(jsController, platform = process.platform) {
24
25
  const commands = ['instance', 'restart'];
25
26
  if (platform === 'linux' && jsController && (0, util_1.compareVersions)(jsController, '6.0.0') >= 0) {
26
27
  commands.push('osUpgrade');
27
28
  }
28
- commands.push('logs');
29
+ commands.push('logs', 'adapter', 'software');
29
30
  return commands;
30
31
  }
31
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/lib/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/lib/commands.ts"],"names":[],"mappings":"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"}
package/build/lib/logs.js CHANGED
@@ -3,6 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.configFile = configFile;
7
+ exports.readConfig = readConfig;
6
8
  exports.logDirs = logDirs;
7
9
  exports.validLogName = validLogName;
8
10
  exports.listLogFiles = listLogFiles;
@@ -25,7 +27,38 @@ const protocol_1 = require("./protocol");
25
27
  /** At most this many files in a list (one per day, older ones compressed) */
26
28
  const MAX_FILES = 200;
27
29
  /**
28
- * Directories of the file transports in iobroker.json (log.transport.*.filename, e.g. "log/iobroker")
30
+ * Path of iobroker.json, found like js-controller does (getConfigFileName): IOBROKER_DATA_DIR, iobroker-data
31
+ * next to node_modules, then the places of a development installation. Not utils.getConfig() of adapter-core:
32
+ * that reads only conf/iobroker.json of js-controller, which a normal installation does not have.
33
+ *
34
+ * @param controllerDir directory of js-controller, e.g. /opt/iobroker/node_modules/iobroker.js-controller
35
+ * @param env environment of the process
36
+ * @returns null if there is none
37
+ */
38
+ function configFile(controllerDir, env = process.env) {
39
+ const dataDir = env.IOBROKER_DATA_DIR;
40
+ const candidates = [
41
+ ...(dataDir ? [(0, node_path_1.join)((0, node_path_1.isAbsolute)(dataDir) ? dataDir : (0, node_path_1.join)(controllerDir, dataDir), 'iobroker.json')] : []),
42
+ (0, node_path_1.join)(controllerDir, '..', '..', 'iobroker-data', 'iobroker.json'),
43
+ (0, node_path_1.join)(controllerDir, 'conf', 'iobroker.json'),
44
+ (0, node_path_1.join)(controllerDir, 'data', 'iobroker.json'),
45
+ ];
46
+ return candidates.find(f => (0, node_fs_1.existsSync)(f)) ?? null;
47
+ }
48
+ /**
49
+ * Content of iobroker.json
50
+ *
51
+ * @param controllerDir see configFile
52
+ * @param env see configFile
53
+ * @returns null if there is none; throws if it is not readable
54
+ */
55
+ function readConfig(controllerDir, env = process.env) {
56
+ const file = configFile(controllerDir, env);
57
+ return file ? JSON.parse((0, node_fs_1.readFileSync)(file, 'utf8')) : null;
58
+ }
59
+ /**
60
+ * Directories of the file transports in iobroker.json (log.transport.*.filename, e.g. "log/iobroker").
61
+ * Without any (no iobroker.json, no file transport) the default of js-controller: log below the root.
29
62
  *
30
63
  * @param config content of iobroker.json
31
64
  * @param root directory of ioBroker, e.g. /opt/iobroker; relative names are below it
@@ -41,7 +74,7 @@ function logDirs(config, root) {
41
74
  const dir = filename.includes('/') ? filename.slice(0, filename.lastIndexOf('/')) || '/' : '.';
42
75
  dirs.add((0, node_path_1.isAbsolute)(dir) || /^[A-Za-z]:/.test(dir) ? (0, node_path_1.normalize)(dir) : (0, node_path_1.resolve)(root, dir));
43
76
  }
44
- return [...dirs];
77
+ return dirs.size ? [...dirs] : [(0, node_path_1.resolve)(root, 'log')];
45
78
  }
46
79
  /** A file name the fleet management may ask for: no path, a log or a compressed log */
47
80
  function validLogName(name) {
@@ -52,7 +85,8 @@ function validLogName(name) {
52
85
  !name.includes('..'));
53
86
  }
54
87
  /**
55
- * The log files in these directories, newest first
88
+ * The log files in these directories, newest first. Without symbolic links: iobroker.current.log only
89
+ * points to the file of today.
56
90
  *
57
91
  * @param dirs see logDirs
58
92
  */
@@ -71,7 +105,7 @@ async function listLogFiles(dirs) {
71
105
  continue;
72
106
  }
73
107
  try {
74
- const s = await (0, promises_1.stat)((0, node_path_1.join)(dir, name));
108
+ const s = await (0, promises_1.lstat)((0, node_path_1.join)(dir, name));
75
109
  if (s.isFile()) {
76
110
  files.set(name, { name, size: s.size, mtime: Math.round(s.mtimeMs) });
77
111
  }
@@ -95,7 +129,7 @@ async function findLogFile(dirs, name) {
95
129
  }
96
130
  for (const dir of dirs) {
97
131
  try {
98
- if ((await (0, promises_1.stat)((0, node_path_1.join)(dir, name))).isFile()) {
132
+ if ((await (0, promises_1.lstat)((0, node_path_1.join)(dir, name))).isFile()) {
99
133
  return (0, node_path_1.join)(dir, name);
100
134
  }
101
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/lib/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/lib/logs.ts"],"names":[],"mappings":";;;;;AA4BA,gCASC;AASD,gCAGC;AASD,0BAYC;AAGD,oCAQC;AAQD,oCAwBC;AAQD,kCAcC;AA0BD,8BAsDC;AAvND,qCAAqE;AACrE,+CAAkD;AAClD,0DAA6B;AAC7B,4DAA+B;AAC/B,yCAA2E;AAC3E,6CAAuD;AACvD,mDAAgD;AAChD,yCAAuC;AACvC,yCAAgE;AAEhE;;;;GAIG;AAEH,6EAA6E;AAC7E,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB;;;;;;;;GAQG;AACH,SAAgB,UAAU,CAAC,aAAqB,EAAE,MAAyB,OAAO,CAAC,GAAG;IAClF,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC;IACtC,MAAM,UAAU,GAAG;QACf,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,IAAA,sBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,aAAa,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,IAAA,gBAAI,EAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,CAAC;QACjE,IAAA,gBAAI,EAAC,aAAa,EAAE,MAAM,EAAE,eAAe,CAAC;QAC5C,IAAA,gBAAI,EAAC,aAAa,EAAE,MAAM,EAAE,eAAe,CAAC;KAC/C,CAAC;IACF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,oBAAU,EAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,aAAqB,EAAE,MAAyB,OAAO,CAAC,GAAG;IAClF,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,OAAO,CAAC,MAAe,EAAE,IAAY;IACjD,MAAM,UAAU,GAAI,MAAmE,EAAE,GAAG,EAAE,SAAS,IAAI,EAAE,CAAC;IAC9G,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAA2C,EAAE,CAAC;QAClF,IAAI,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YACrB,SAAS;QACb,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/F,IAAI,CAAC,GAAG,CAAC,IAAA,sBAAU,EAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAO,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAO,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,uFAAuF;AACvF,SAAgB,YAAY,CAAC,IAAa;IACtC,OAAO,CACH,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,CAAC,MAAM,IAAI,GAAG;QAClB,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC,IAAA,oBAAQ,EAAC,IAAI,CAAC,KAAK,IAAI;QACvB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CACvB,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,YAAY,CAAC,IAAc;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACD,KAAK,GAAG,MAAM,IAAA,kBAAO,EAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACL,SAAS;QACb,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,SAAS;YACb,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,CAAC,GAAG,MAAM,IAAA,gBAAK,EAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;oBACb,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,0BAA0B;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACrH,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,WAAW,CAAC,IAAc,EAAE,IAAa;IAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,IAAA,gBAAK,EAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1C,OAAO,IAAA,gBAAI,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,wBAAwB;QAC5B,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,+DAA+D;AAC/D,SAAS,OAAO,CAAC,GAAW,EAAE,KAA0B;IACpD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,IAAI,uBAAS,CAAC;QACjB,SAAS,CAAC,KAAa,EAAE,SAAS,EAAE,QAAQ;YACxC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;YACtB,KAAK,CAAC,KAAK,CAAC,CAAC;YACb,QAAQ,CACJ,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAC5F,KAAK,CACR,CAAC;QACN,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,GAAW,EAAE,MAAc,EAAE,EAAY;IACnF,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAK,CAAC,CAAC,CAAC,mBAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QAC9D,MAAM,EAAE,MAAM;QACd,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9B,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE;YACL,aAAa,EAAE,UAAU,MAAM,EAAE;YACjC,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,kBAAkB,CAAC,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC;SACpD;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE;QACvD,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;YACrB,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACxB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAClE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACf,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBACzB,aAAa,EAAE,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACJ,IAAI,MAAM,GAAG,IAAI,CAAC;oBAClB,IAAI,CAAC;wBACD,MAAM,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAwB,CAAC,KAAK,IAAI,IAAI,CAAC;oBACpE,CAAC;oBAAC,MAAM,CAAC;wBACL,aAAa;oBACjB,CAAC;oBACD,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACnG,CAAC;YACL,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACtE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,4EAA4E;IAC5E,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvB,MAAM,MAAM,GAAa,IAAA,0BAAgB,EAAC,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC9B,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,+BAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QAC/D,CAAC,CAAC,CAAC,MAAM,EAAE,IAAA,sBAAU,GAAE,EAAE,OAAO,CAAC,+BAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClF,IAAI,CAAC;QACD,MAAM,IAAA,mBAAQ,EAAC,KAAkE,CAAC,CAAC;IACvF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,iEAAiE;QACjE,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACrB,MAAM,GAAG,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,CAAC;IACb,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -20,7 +20,7 @@
20
20
  * WebSocket to TUNNEL_PATH of the server and carries the connections of the browser (see tunnel.ts).
21
21
  */
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.TERMINAL_JOB_STATES = exports.TUNNEL_PATH = exports.ACCESS_KINDS = exports.MAX_LOG_UPLOAD_BYTES = exports.INSTANCE_ID = exports.MAX_COMMENT_LENGTH = exports.PROTOCOL_VERSION = void 0;
23
+ exports.TERMINAL_JOB_STATES = exports.TUNNEL_PATH = exports.ACCESS_KINDS = exports.MAX_LOG_UPLOAD_BYTES = exports.SOFTWARE_ACTIONS = exports.INSTANCE_ID = exports.MAX_COMMENT_LENGTH = exports.PROTOCOL_VERSION = void 0;
24
24
  exports.deviceTopic = deviceTopic;
25
25
  exports.controlTopic = controlTopic;
26
26
  exports.normalizeComment = normalizeComment;
@@ -63,6 +63,7 @@ function parseOsPackage(line) {
63
63
  }
64
64
  /** Instance id as the commands accept it, e.g. "javascript.0" */
65
65
  exports.INSTANCE_ID = /^[a-z0-9][a-z0-9_-]*\.\d{1,4}$/;
66
+ exports.SOFTWARE_ACTIONS = ['removeAdapter', 'addInstance', 'removeInstance'];
66
67
  /** Largest log file the agent uploads, compressed (nginx in front of the server allows 52 MB) */
67
68
  exports.MAX_LOG_UPLOAD_BYTES = 50 * 1024 * 1024;
68
69
  exports.ACCESS_KINDS = ['admin', 'vis', 'console'];
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/lib/protocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAMH,kCAEC;AAED,oCAEC;AASD,4CAWC;AAkHD,wCAMC;AAtJY,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAIlC,SAAgB,WAAW,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAY;IACxE,OAAO,SAAS,QAAQ,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;AACpD,CAAC;AAED,SAAgB,YAAY,CAAC,QAAgB;IACzC,OAAO,SAAS,QAAQ,UAAU,CAAC;AACvC,CAAC;AAED,kFAAkF;AACrE,QAAA,kBAAkB,GAAG,GAAG,CAAC;AAEtC;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,CAAC,GAAG,KAAK;SACV,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;SACzB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,0BAAkB,CAAC;SAC5B,IAAI,EAAE,CAAC;IACZ,OAAO,CAAC,IAAI,SAAS,CAAC;AAC1B,CAAC;AA8GD;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAAY;IACvC,MAAM,CAAC,GAAG,uEAAuE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACpG,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,iEAAiE;AACpD,QAAA,WAAW,GAAG,gCAAgC,CAAC;AAe5D,iGAAiG;AACpF,QAAA,oBAAoB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AA4GxC,QAAA,YAAY,GAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAetE,0DAA0D;AAC7C,QAAA,WAAW,GAAG,SAAS,CAAC;AAyBxB,QAAA,mBAAmB,GAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/lib/protocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAMH,kCAEC;AAED,oCAEC;AASD,4CAWC;AAkHD,wCAMC;AAtJY,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAIlC,SAAgB,WAAW,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAY;IACxE,OAAO,SAAS,QAAQ,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;AACpD,CAAC;AAED,SAAgB,YAAY,CAAC,QAAgB;IACzC,OAAO,SAAS,QAAQ,UAAU,CAAC;AACvC,CAAC;AAED,kFAAkF;AACrE,QAAA,kBAAkB,GAAG,GAAG,CAAC;AAEtC;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,CAAC,GAAG,KAAK;SACV,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;SACzB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,0BAAkB,CAAC;SAC5B,IAAI,EAAE,CAAC;IACZ,OAAO,CAAC,IAAI,SAAS,CAAC;AAC1B,CAAC;AA8GD;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAAY;IACvC,MAAM,CAAC,GAAG,uEAAuE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACpG,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,iEAAiE;AACpD,QAAA,WAAW,GAAG,gCAAgC,CAAC;AAa/C,QAAA,gBAAgB,GAAqB,CAAC,eAAe,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAUrG,iGAAiG;AACpF,QAAA,oBAAoB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAuIxC,QAAA,YAAY,GAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAetE,0DAA0D;AAC7C,QAAA,WAAW,GAAG,SAAS,CAAC;AAyBxB,QAAA,mBAAmB,GAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validAdapterName = validAdapterName;
4
+ exports.softwareRefusal = softwareRefusal;
5
+ exports.nextInstance = nextInstance;
6
+ exports.softwarePlan = softwarePlan;
7
+ const protocol_1 = require("./protocol");
8
+ /**
9
+ * Command 'software' of the fleet management: remove an adapter, add or delete an instance right away, as
10
+ * admin does it with the CLI. It runs with the detached runner of the command 'adapter' and under its files,
11
+ * so only one of both runs at a time.
12
+ */
13
+ const ADAPTER_NAME = /^[a-z0-9][a-z0-9_-]*$/;
14
+ /**
15
+ * Whether this can be the name of an adapter
16
+ *
17
+ * @param name from the request
18
+ */
19
+ function validAdapterName(name) {
20
+ return typeof name === 'string' && ADAPTER_NAME.test(name);
21
+ }
22
+ /**
23
+ * Why the command is refused; null if it may run
24
+ *
25
+ * @param req the request of the server
26
+ * @param ctx see SoftwareContext
27
+ */
28
+ function softwareRefusal(req, ctx) {
29
+ const r = req;
30
+ if (!r || !protocol_1.SOFTWARE_ACTIONS.includes(r.action)) {
31
+ return `Unbekannte Aktion ${String(r?.action)}`;
32
+ }
33
+ if (!validAdapterName(r.adapter)) {
34
+ return 'Ungültiger Adaptername';
35
+ }
36
+ if (r.adapter === 'js-controller') {
37
+ return 'js-controller ist kein Adapter mit Instanzen';
38
+ }
39
+ const agent = ctx.own.split('.')[0];
40
+ if (r.action === 'removeInstance') {
41
+ const id = r.instance;
42
+ if (typeof id !== 'string' || !protocol_1.INSTANCE_ID.test(id) || !id.startsWith(`${r.adapter}.`)) {
43
+ return `Ungültige Instanz ${String(id)}`;
44
+ }
45
+ if (id === ctx.own) {
46
+ return `${id} löschen trennt die Anlage von der Flottenverwaltung; das geht nur am Gerät`;
47
+ }
48
+ const inst = ctx.instances.find(i => i.id === id);
49
+ if (!inst) {
50
+ return `Instanz ${id} gibt es auf dem Gerät nicht`;
51
+ }
52
+ if (inst.host !== ctx.host) {
53
+ return `Instanz ${id} gehört zum Host ${inst.host}, nicht zu ${ctx.host}`;
54
+ }
55
+ return null;
56
+ }
57
+ if (!ctx.adapterObj || ctx.adapterObj.type !== 'adapter') {
58
+ return `${r.adapter} ist nicht installiert`;
59
+ }
60
+ if (r.action === 'removeAdapter') {
61
+ if (r.adapter === agent) {
62
+ return `${agent} entfernen trennt die Anlage von der Flottenverwaltung; das geht nur am Gerät`;
63
+ }
64
+ if (ctx.desired?.mode === 'managed' && ctx.desired.profile?.adapters?.[r.adapter]) {
65
+ // the next job would install it again
66
+ return `${r.adapter} gehört zum Sollprofil der Anlage: über die Version je Anlage entfernen`;
67
+ }
68
+ const foreign = ctx.instances.filter(i => i.host !== ctx.host).map(i => i.id);
69
+ if (foreign.length) {
70
+ return `${r.adapter} hat Instanzen auf anderen Hosts (${foreign.join(', ')}); das geht nur am Gerät`;
71
+ }
72
+ return null;
73
+ }
74
+ // addInstance
75
+ if (r.adapter === agent) {
76
+ return `Eine zweite Instanz von ${agent} ist nicht vorgesehen`;
77
+ }
78
+ const common = ctx.adapterObj.common;
79
+ if (common.singleton && ctx.instances.length) {
80
+ return `${r.adapter} erlaubt nur eine Instanz`;
81
+ }
82
+ if (common.singletonHost && ctx.instances.some(i => i.host === ctx.host)) {
83
+ return `${r.adapter} erlaubt nur eine Instanz je Host`;
84
+ }
85
+ return null;
86
+ }
87
+ /**
88
+ * The number of the next instance, as js-controller chooses it (the highest one plus one)
89
+ *
90
+ * @param adapter name of the adapter
91
+ * @param instances all instances of the adapter
92
+ */
93
+ function nextInstance(adapter, instances) {
94
+ let max = -1;
95
+ for (const i of instances) {
96
+ const n = parseInt(i.id.slice(adapter.length + 1), 10);
97
+ if (i.id.startsWith(`${adapter}.`) && n > max) {
98
+ max = n;
99
+ }
100
+ }
101
+ return `${adapter}.${max + 1}`;
102
+ }
103
+ /**
104
+ * The step for the runner and the texts of the answers
105
+ *
106
+ * @param req a request without refusal
107
+ * @param ctx see SoftwareContext
108
+ */
109
+ function softwarePlan(req, ctx) {
110
+ if (req.action === 'removeAdapter') {
111
+ const version = ctx.adapterObj?.common?.version;
112
+ return {
113
+ step: { action: 'remove', adapter: req.adapter, from: version ?? null, to: null, status: 'pending' },
114
+ running: `${req.adapter} wird mit allen Instanzen entfernt`,
115
+ what: req.adapter,
116
+ done: `${req.adapter} entfernt`,
117
+ };
118
+ }
119
+ if (req.action === 'addInstance') {
120
+ const id = nextInstance(req.adapter, ctx.instances);
121
+ return {
122
+ step: { action: 'addInstance', adapter: req.adapter, instance: id, status: 'pending' },
123
+ running: `Instanz ${id} wird angelegt`,
124
+ what: id,
125
+ done: `Instanz ${id} angelegt`,
126
+ };
127
+ }
128
+ return {
129
+ step: { action: 'removeInstance', adapter: req.adapter, instance: req.instance, status: 'pending' },
130
+ running: `Instanz ${req.instance} wird gelöscht`,
131
+ what: req.instance,
132
+ done: `Instanz ${req.instance} gelöscht`,
133
+ };
134
+ }
135
+ //# sourceMappingURL=softwareCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"softwareCommand.js","sourceRoot":"","sources":["../../src/lib/softwareCommand.ts"],"names":[],"mappings":"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"}
package/build/main.js CHANGED
@@ -57,6 +57,8 @@ const remote_1 = require("./lib/remote");
57
57
  const transport_1 = require("./lib/transport");
58
58
  const tunnel_1 = require("./lib/tunnel");
59
59
  const util_1 = require("./lib/util");
60
+ const adapterCommand_1 = require("./lib/adapterCommand");
61
+ const softwareCommand_1 = require("./lib/softwareCommand");
60
62
  /** Host of the broker for the status, e.g. "bee.iobroker.click" */
61
63
  function hostOf(url) {
62
64
  try {
@@ -85,6 +87,8 @@ class BeeAdapter extends utils.Adapter {
85
87
  reconciling = false;
86
88
  /** A command of the fleet management is being carried out (one at a time) */
87
89
  commandRunning = false;
90
+ /** Waits for the runner of the command 'adapter' (also one started before a restart of the agent) */
91
+ adapterWaiting = false;
88
92
  logUploading = false;
89
93
  lastWaitReason = '';
90
94
  unloading = false;
@@ -250,6 +254,8 @@ class BeeAdapter extends utils.Adapter {
250
254
  else if (this.persisted.lastResult) {
251
255
  await this.transport?.publish('result', this.persisted.lastResult);
252
256
  }
257
+ // an adapter installed on request, e.g. the agent itself: the answer comes from the new process
258
+ void this.waitAdapterCommand();
253
259
  }
254
260
  async onDesired(msg) {
255
261
  this.desired = msg;
@@ -282,7 +288,12 @@ class BeeAdapter extends utils.Adapter {
282
288
  else if (msg.cmd === 'tunnel' && msg.tunnel) {
283
289
  await this.openTunnel(msg.tunnel, false);
284
290
  }
285
- else if (msg.ref && (msg.cmd === 'instance' || msg.cmd === 'restart' || msg.cmd === 'osUpgrade')) {
291
+ else if (msg.ref &&
292
+ (msg.cmd === 'instance' ||
293
+ msg.cmd === 'restart' ||
294
+ msg.cmd === 'osUpgrade' ||
295
+ msg.cmd === 'adapter' ||
296
+ msg.cmd === 'software')) {
286
297
  await this.runCommand(msg);
287
298
  }
288
299
  else if (msg.ref && msg.cmd === 'logList') {
@@ -310,17 +321,18 @@ class BeeAdapter extends utils.Adapter {
310
321
  logDirs() {
311
322
  let config = null;
312
323
  try {
313
- config = utils.getConfig();
324
+ config = (0, logs_1.readConfig)(utils.controllerDir);
314
325
  }
315
326
  catch (e) {
316
- this.log.debug(`iobroker.json not readable: ${e.message}`);
327
+ this.log.warn(`iobroker.json not readable: ${e.message}`);
317
328
  }
318
329
  return (0, logs_1.logDirs)(config, (0, node_path_1.join)(utils.controllerDir, '..', '..'));
319
330
  }
320
331
  async logListCommand(ref) {
321
332
  try {
322
- const files = await (0, logs_1.listLogFiles)(this.logDirs());
323
- await this.reply(ref, 'done', `${files.length} Log-Dateien`, files);
333
+ const dirs = this.logDirs();
334
+ const files = await (0, logs_1.listLogFiles)(dirs);
335
+ await this.reply(ref, 'done', `${files.length} Log-Dateien in ${dirs.join(', ')}`, files);
324
336
  }
325
337
  catch (e) {
326
338
  await this.reply(ref, 'error', e.message);
@@ -369,7 +381,7 @@ class BeeAdapter extends utils.Adapter {
369
381
  await this.reply(ref, 'error', 'Während eines Auftrags (Update) nicht möglich');
370
382
  return;
371
383
  }
372
- if (this.commandRunning) {
384
+ if (this.commandRunning || (await (0, adapterCommand_1.adapterCommandState)((0, adapterCommand_1.adapterCommandPaths)(this.dataDir))) === null) {
373
385
  await this.reply(ref, 'error', 'Es läuft schon ein Befehl');
374
386
  return;
375
387
  }
@@ -387,6 +399,12 @@ class BeeAdapter extends utils.Adapter {
387
399
  else if (msg.cmd === 'osUpgrade') {
388
400
  await this.osUpgradeCommand(ref, by, msg.osUpgrade);
389
401
  }
402
+ else if (msg.cmd === 'adapter') {
403
+ await this.adapterCommand(ref, by, msg.adapter);
404
+ }
405
+ else if (msg.cmd === 'software') {
406
+ await this.softwareCommand(ref, by, msg.software);
407
+ }
390
408
  }
391
409
  catch (e) {
392
410
  this.log.warn(`Command ${msg.cmd} of ${by} failed: ${e.message}`);
@@ -419,6 +437,114 @@ class BeeAdapter extends utils.Adapter {
419
437
  this.inventorySoon();
420
438
  }
421
439
  }
440
+ /** Installs one version of one adapter right away, for an asset without desired profile */
441
+ async adapterCommand(ref, by, req) {
442
+ const refusal = (0, adapterCommand_1.adapterRefusal)(req, this.desired);
443
+ if (refusal || !req) {
444
+ await this.reply(ref, 'error', refusal || 'Adapter fehlt');
445
+ return;
446
+ }
447
+ const obj = await this.getForeignObjectAsync(`system.adapter.${req.name}`);
448
+ const installed = typeof obj?.common?.version === 'string' ? obj.common.version : undefined;
449
+ let file;
450
+ if (req.tarball) {
451
+ await this.reply(ref, 'running', `Paket für ${req.name} wird geladen`);
452
+ file = await (0, packages_1.ensurePackage)((0, node_path_1.join)(this.dataDir, 'packages'), req.tarball, {
453
+ serverUrls: [this.config.enrollUrl, this.creds?.mqttUrl || ''],
454
+ ca: (0, transport_1.trustedCas)(this.creds?.ca || ''),
455
+ });
456
+ }
457
+ const step = (0, adapterCommand_1.adapterStep)(req.name, req.version, installed, !!file);
458
+ if (!step) {
459
+ await this.reply(ref, 'done', `${req.name} ${req.version} ist schon installiert`);
460
+ return;
461
+ }
462
+ this.log.info(`Adapter ${req.name}: ${step.action} ${installed ?? '-'} -> ${req.version} on request of ${by} (fleet management)`);
463
+ await (0, adapterCommand_1.startAdapterCommand)((0, adapterCommand_1.adapterCommandPaths)(this.dataDir), { ref, by, name: req.name, version: req.version, startedAt: Date.now() }, step, {
464
+ iobrokerJs: (0, node_path_1.join)(utils.controllerDir, 'iobroker.js'),
465
+ cwd: (0, node_path_1.join)(utils.controllerDir, '..', '..'),
466
+ haltFile: (0, node_path_1.join)(this.dataDir, 'halt'),
467
+ logFile: (0, node_path_1.join)(this.dataDir, 'runner.log'),
468
+ file,
469
+ });
470
+ await this.reply(ref, 'running', installed
471
+ ? `${req.name} ${installed} → ${req.version} wird installiert`
472
+ : `${req.name} ${req.version} wird installiert`);
473
+ await this.waitAdapterCommand();
474
+ }
475
+ /** All instances of an adapter with their host */
476
+ async instancesWithHost(adapter) {
477
+ const prefix = `system.adapter.${adapter}.`;
478
+ const res = await this.getObjectViewAsync('system', 'instance', { startkey: prefix, endkey: `${prefix}香` });
479
+ return res.rows
480
+ .filter(row => row.value)
481
+ .map(row => ({ id: row.value._id.replace('system.adapter.', ''), host: String(row.value.common.host) }));
482
+ }
483
+ /** Removes an adapter, adds or deletes an instance right away, with the runner of the command 'adapter' */
484
+ async softwareCommand(ref, by, req) {
485
+ const adapter = (0, softwareCommand_1.validAdapterName)(req?.adapter) ? req.adapter : null;
486
+ const ctx = {
487
+ own: this.namespace,
488
+ host: this.host || '',
489
+ desired: this.desired,
490
+ adapterObj: adapter ? await this.getForeignObjectAsync(`system.adapter.${adapter}`) : null,
491
+ instances: adapter ? await this.instancesWithHost(adapter) : [],
492
+ };
493
+ const refusal = (0, softwareCommand_1.softwareRefusal)(req, ctx);
494
+ if (refusal || !req) {
495
+ await this.reply(ref, 'error', refusal || 'Anfrage fehlt');
496
+ return;
497
+ }
498
+ const plan = (0, softwareCommand_1.softwarePlan)(req, ctx);
499
+ this.log.info(`Software ${req.action} ${plan.what} on request of ${by} (fleet management)`);
500
+ await (0, adapterCommand_1.startAdapterCommand)((0, adapterCommand_1.adapterCommandPaths)(this.dataDir), {
501
+ ref,
502
+ by,
503
+ name: req.adapter,
504
+ version: '',
505
+ what: plan.what,
506
+ done: plan.done,
507
+ startedAt: Date.now(),
508
+ }, plan.step, {
509
+ iobrokerJs: (0, node_path_1.join)(utils.controllerDir, 'iobroker.js'),
510
+ cwd: (0, node_path_1.join)(utils.controllerDir, '..', '..'),
511
+ haltFile: (0, node_path_1.join)(this.dataDir, 'halt'),
512
+ logFile: (0, node_path_1.join)(this.dataDir, 'runner.log'),
513
+ });
514
+ await this.reply(ref, 'running', plan.running);
515
+ await this.waitAdapterCommand();
516
+ }
517
+ /** Waits for the runner of the commands 'adapter' and 'software' and answers the server */
518
+ async waitAdapterCommand() {
519
+ if (this.adapterWaiting || !this.dataDir) {
520
+ return;
521
+ }
522
+ this.adapterWaiting = true;
523
+ const paths = (0, adapterCommand_1.adapterCommandPaths)(this.dataDir);
524
+ try {
525
+ while (!this.unloading) {
526
+ const result = await (0, adapterCommand_1.adapterCommandState)(paths);
527
+ if (result === undefined) {
528
+ return;
529
+ }
530
+ if (result) {
531
+ if (!this.transport?.connected) {
532
+ // answered after the next connect
533
+ return;
534
+ }
535
+ await this.reply(result.command.ref, result.state, result.message);
536
+ this.log[result.state === 'done' ? 'info' : 'warn'](`Adapter command of ${result.command.by}: ${result.message}`);
537
+ await (0, adapterCommand_1.clearAdapterCommand)(paths);
538
+ this.inventorySoon();
539
+ return;
540
+ }
541
+ await (0, util_1.sleep)(2000);
542
+ }
543
+ }
544
+ finally {
545
+ this.adapterWaiting = false;
546
+ }
547
+ }
422
548
  /** Upgrade OS packages through js-controller, only those it listed itself */
423
549
  async osUpgradeCommand(ref, by, req) {
424
550
  const host = `system.host.${this.host}`;
@@ -786,7 +912,7 @@ class BeeAdapter extends utils.Adapter {
786
912
  }
787
913
  /** Converges on the desired state if possible. Never runs two jobs at once. */
788
914
  async reconcile() {
789
- if (this.reconciling || this.unloading || !this.jobs || this.jobs.isActive()) {
915
+ if (this.reconciling || this.unloading || !this.jobs || this.jobs.isActive() || this.adapterWaiting) {
790
916
  return;
791
917
  }
792
918
  this.reconciling = true;
package/build/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,qCAAgD;AAChD,+CAA4C;AAC5C,sDAAyB;AACzB,yCAAiC;AAEjC,6CAOwB;AACxB,2CAAgF;AAChF,+CAA2D;AAC3D,iDAA0C;AAC1C,+CAA0G;AAC1G,qCAAsD;AACtD,qCAA2E;AAC3E,qCAQoB;AACpB,6CAA8E;AAC9E,2CAAgF;AAChF,+CAA4D;AAC5D,6CAewB;AACxB,yCAQsB;AACtB,+CAAwD;AACxD,yCAAuD;AACvD,qCAA0E;AAkC1E,mEAAmE;AACnE,SAAS,MAAM,CAAC,GAAuB;IACnC,IAAI,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,QAAQ,IAAI,uBAAuB,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,uBAAuB,CAAC;IACnC,CAAC;AACL,CAAC;AAED,MAAM,UAAW,SAAQ,KAAK,CAAC,OAAO;IAE1B,OAAO,GAAG,EAAE,CAAC;IACb,KAAK,GAA0B,IAAI,CAAC;IACpC,SAAS,GAAqB,IAAI,CAAC;IACnC,IAAI,GAAsB,IAAI,CAAC;IAC/B,OAAO,GAA0B,IAAI,CAAC;IACtC,OAAO,GAA0B,IAAI,CAAC;IACtC,SAAS,GAAc,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACzF,MAAM,GAAqB,EAAE,CAAC;IAC9B,WAAW,GAA0B,IAAI,CAAC;IAC1C,aAAa,GAAG,MAAM,CAAC;IACvB,GAAG,GAAG,CAAC,CAAC;IACR,QAAQ,GAAmC,IAAI,CAAC;IAChD,IAAI,GAAG,EAAE,CAAC;IACV,QAAQ,GAAoD,EAAE,CAAC;IAC/D,oBAAoB,GAAG,CAAC,CAAC;IACzB,WAAW,GAAG,KAAK,CAAC;IAC5B,6EAA6E;IACrE,cAAc,GAAG,KAAK,CAAC;IACvB,YAAY,GAAG,KAAK,CAAC;IACrB,cAAc,GAAG,EAAE,CAAC;IACpB,SAAS,GAAG,KAAK,CAAC;IAC1B,gDAAgD;IAC/B,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC3D,gDAAgD;IAC/B,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,YAAmB,UAAyC,EAAE;QAC1D,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,+EAA+E;IAEvE,KAAK,CAAC,OAAO;QACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACtD,IAAA,mBAAS,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAI,IAAI,EAAE,MAAwC,EAAE,IAAI,IAAI,EAAE,CAAC;QAExE,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,IAAA,eAAQ,EAAY,IAAA,gBAAI,EAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,IAAI,CAAC,OAAO,GAAG,MAAM,IAAA,eAAQ,EAAiB,IAAA,gBAAI,EAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,GAAG,MAAM,IAAA,eAAQ,EAAiB,IAAA,gBAAI,EAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAElF,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAU,CAAC;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAA,gBAAI,EAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC;YACpD,GAAG,EAAE,IAAA,gBAAI,EAAC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC;YAC1C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,GAAG;YAC/C,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,GAAG;YAC3D,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YAClC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,IAAA,6BAAiB,EAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAChE,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACjD,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3F,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC;YAC5D,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;gBAC5C,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,MAAM,IAAA,mBAAQ,EAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,MAAM,eAAe,OAAO,+BAA+B,CAAC,CAAC;gBACpG,MAAM,IAAA,uBAAgB,EAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,IAAA,iBAAU,EAAC,IAAI,CAAC;SACvC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,sEAAsE;QACtE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QAE9B,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,GAAG,MAAM,IAAA,eAAQ,EAAiB,IAAA,gBAAI,EAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QAC/E,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,iFAAiF;YACjF,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,IAAA,eAAQ,EAAkB,IAAA,gBAAI,EAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1F,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,WAAW,CACP,GAAG,EAAE;YACD,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/B,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC,EACD,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,MAAM,CAC3C,CACJ,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAoB;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnC,CAAC;YACD,sEAAsE;YACtE,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gBAC9C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/B,CAAC;YACD,oGAAoG;YACpG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;gBAAS,CAAC;YACP,QAAQ,EAAE,CAAC;QACf,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa;QACvB,MAAM,IAAA,sBAAe,EAAC,IAAA,gBAAI,EAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,gFAAgF;IAExE,KAAK,CAAC,cAAc,CAAC,MAAc;QACvC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,MAAM,oBAAoB,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,eAAe,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,sDAAsD,MAAM,EAAE,CAAC,CAAC;QAC9F,wFAAwF;QACxF,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;IAC3E,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,qDAAqD,EAAE,IAAI,CAAC,CAAC;YAChG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAC/E,OAAO;QACX,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YAC/C,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,iBAAE,CAAC,QAAQ,EAAE;YACvB,YAAY,EAAE,IAAI,CAAC,OAAO;YAC1B,OAAO,EAAE,IAAA,2BAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;SACjD,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,MAAM,IAAA,sBAAe,EAAC,IAAA,gBAAI,EAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,KAAK,CAAC,QAAQ,WAAW,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YACtF,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,8EAA8E;YAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;YACrE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,MAAM,eAAe,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9F,MAAM,IAAI,CAAC,QAAQ,CACf,aAAa,EACb,8CAA8C,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,EAC7E,IAAI,CACP,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,CAAC,EAAE,KAAK,CAAC,CAAC;QACd,CAAC;IACL,CAAC;IAED,+EAA+E;IAEvE,cAAc;QAClB,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,KAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAChH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,SAAS,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;YAC9B,KAAK,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,SAAS,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,WAAW;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzF,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/B,iCAAiC;QACjC,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,GAA0B;QAC9C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,MAAM,IAAA,sBAAe,EAAC,IAAA,gBAAI,EAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,GAAG,EAAE,OAAO;YACR,CAAC,CAAC,kBAAkB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;YAC9F,CAAC,CAAC,kBAAkB,CAC3B,CAAC;QACF,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,GAAmB;QACvC,2EAA2E;QAC3E,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,MAAM,IAAA,sBAAe,EAAC,IAAA,gBAAI,EAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;YAC3G,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,GAAe;QAC/B,IAAI,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,UAAU,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,WAAW,CAAC,EAAE,CAAC;YACjG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC1C,mDAAmD;YACnD,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC3C,8EAA8E;YAC9E,KAAK,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,mBAAmB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpF,CAAC;IACL,CAAC;IAED,sGAAsG;IAE9F,KAAK,CAAC,KAAK,CACf,GAAW,EACX,KAA4B,EAC5B,OAAgB,EAChB,KAA6B;QAE7B,MAAM,GAAG,GAAiB;YACtB,CAAC,EAAE,2BAAgB;YACnB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,GAAG;YACH,KAAK;YACL,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC;QACF,MAAM,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,kFAAkF;IAC1E,OAAO;QACX,IAAI,MAAM,GAAY,IAAI,CAAC;QAC3B,IAAI,CAAC;YACD,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAA,cAAO,EAAC,MAAM,EAAE,IAAA,gBAAI,EAAC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,GAAW;QACpC,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAY,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,cAAc,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAED,0DAA0D;IAClD,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,EAAU,EAAE,GAA2B;QAC9E,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,IAAA,4BAAiB,EAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClF,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,iCAAiC,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAW,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,aAAa,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,8BAA8B,EAAE,qBAAqB,CAAC,CAAC;YACzF,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,8BAA8B,CAAC,CAAC;YAC5E,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAS,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3F,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACpG,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,4FAA4F;IACpF,aAAa;QACjB,KAAK,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAAe;QACpC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAI,CAAC;QACrB,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,mBAAmB,CAAC;QACzC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,+CAA+C,CAAC,CAAC;YAChF,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,2BAA2B,CAAC,CAAC;YAC5D,OAAO;QACX,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC;YACD,IAAI,GAAG,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,EAAE,qBAAqB,CAAC,CAAC;gBAC5E,kEAAkE;gBAClE,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,OAAO,EAAE,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAChC,CAAC;IACL,CAAC;IAED,kFAAkF;IAC1E,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,EAAU,EAAE,GAA2B;QAC9E,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,CAAC;QAC3B,MAAM,KAAK,GAAG,kBAAkB,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,EAAE,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5G,MAAM,OAAO,GAAG,IAAA,0BAAe,EAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAClF,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;YAC3D,OAAO;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,MAAM,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;QAC1F,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC;QACtC,IAAI,GAAG,EAAE,CAAC;YACN,6DAA6D;YAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,IAAI,CAAC,wBAAwB,CAC/B,KAAK,EACL,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,EAAE,CAClF,CAAC;QACF,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,sBAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAED,6EAA6E;IACrE,KAAK,CAAC,gBAAgB,CAAC,GAAW,EAAE,EAAU,EAAE,GAA4B;QAChF,MAAM,IAAI,GAAG,eAAe,IAAI,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,IAAA,4BAAiB,EAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5F,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,kDAAkD,CAAC,CAAC;YACnF,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GACR,IAAA,wBAAa,EAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,mBAAmB,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC;QACtG,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAA,2BAAgB,EAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,KAAK,CACZ,GAAG,EACH,OAAO,EACP,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,sCAAsC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CACzG,CAAC;YACF,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,KAAK,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;QACxF,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,KAAK,EAAE,CAAC,CAAC;QAClD,sFAAsF;QACtF,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAAE;gBAC5C,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/C,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO;aAC1B,CAAC;YACF,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,UAAU,CACN,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,iDAAiD,EAAE,CAAC,EAC3E,EAAE,GAAG,MAAM,CACd,CACJ,CAAC;YACN,CAAC,CAAC;SACL,CAAC,CAAsD,CAAC;QACzD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,CAAC,KAAK,CACZ,GAAG,EACH,MAAM,EACN,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,gBAAgB,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAE,CACjI,CAAC;YACF,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,mCAAmC,CAAC;YACnE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,mFAAmF;IAEnF,uEAAuE;IAC/D,aAAa;QACjB,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,IAAI,IAAA,oBAAU,GAAE,EAAE,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,uFAAuF;IAC/E,SAAS,CAAC,CAAgB,EAAE,MAAc;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,OAAO,IAAI,oBAAU,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CACN,MAAM,CAAC,MAAM,CAAC;gBACV,IAAA,uBAAc,EAAC,gBAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,oBAAU,yBAAyB,CAAC,CAAC;gBAC3F,IAAA,uBAAc,EAAC,gBAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aAC/D,CAAC,CACL,CAAC;YACF,OAAO;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/B,IAAA,oBAAU,EAAC,MAAM,EAAE;YACf,GAAG,EAAE,IAAA,gBAAI,EAAC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC;YAC1C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,GAAG,EAAE;gBACR,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClB,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACnC,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,UAAU,CAAC,CAAgB,EAAE,OAAgB;QACvD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACxE,wCAAwC;YACxC,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAA,yBAAgB,EAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,GAAG,+CAA+C,CAAC,CAAC;YACjG,OAAO;QACX,CAAC;QACD,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,MAAM,GAAwB,IAAI,CAAC;QACvC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO,GAAG,CAAC,SAAS;gBAChB,CAAC,CAAC,mBAAmB,qBAAY,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B;gBACrE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI;oBACjC,CAAC,CAAC,mDAAmD;oBACrD,CAAC,CAAC,4CAA4C,CAAC;QACzD,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO,GAAG,mDAAmD,CAAC;YAClE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,2EAA2E;YAC3E,MAAM,GAAG,IAAA,qBAAY,EAAC,MAAM,IAAA,oBAAW,EAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,GAAG,CAAC,CAAC,QAAQ;oBAChB,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,gCAAgC;oBACvD,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,wBAAwB,CAAC;YACvF,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO,GAAG,mDAAmD,CAAC;YAClE,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC,CAAC,EAAE;YAC/B,MAAM;YACN,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,OAAO;YACP,EAAE,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;YACpC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACjB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,qBAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,MAAM,GAAG,CAAC,CAAC;gBAC3F,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClB,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;oBACxB,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACnC,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,qBAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,OAAO,EAAE,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,oBAAoB,qBAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,EAAE,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CACpM,CAAC;QACN,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,WAAW;QACrB,MAAM,IAAA,sBAAe,EACjB,IAAA,gBAAI,EAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAClC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAC7C,CAAC;IACN,CAAC;IAED,wCAAwC;IAChC,SAAS,CAAC,CAAgB;QAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,CAAC;IAED,0DAA0D;IAClD,KAAK,CAAC,kBAAkB;QAC5B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,QAAQ,CACf,qBAAqB,EACrB,MAAM;aACD,GAAG,CACA,CAAC,CAAC,EAAE,CACA,GAAG,qBAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,CAChN;YACD,4DAA4D;aAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAC3B,IAAI,CACP,CAAC;IACN,CAAC;IAED,6FAA6F;IAErF,KAAK,CAAC,SAAS;QACnB,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAgB,EAAC,IAAI,EAAE;YACrC,YAAY,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAChC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;SACxC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,MAAM,OAAO,GAAG,IAAA,2BAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,OAAO,EAAE,CAAC;YACV,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,CAAC;QACD,iEAAiE;QACjE,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,GAAG,CAAC,aAAa,GAAG;YAChB,KAAK,EAAE,IAAA,wBAAe,EAAC,MAAM,IAAA,oBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxD,GAAG,EAAE,IAAA,wBAAe,EAAC,MAAM,IAAA,oBAAW,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACvD,CAAC;QACF,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,WAAW,GAAG,IAAA,qBAAW,GAAE,CAAC;QACpC,CAAC;QACD,GAAG,CAAC,QAAQ,GAAG,IAAA,4BAAiB,EAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAA,wBAAa,EACzB,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,IAAI,CAAC,IAAI,mBAAmB,CAAC,EAC5E,IAAA,oBAAU,EAAC,0BAAe,CAAC,CAC9B,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACV,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAa;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;YAC7B,OAAO;QACX,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE;gBACtC,CAAC,EAAE,2BAAgB;gBACnB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACd,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,GAAG;aACZ,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC5C,OAAO;YACX,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE;gBACtC,CAAC,EAAE,2BAAgB;gBACnB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACd,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;gBACrB,GAAG;gBACH,KAAK;aACR,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACrE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,CAAC;QACD,MAAM,GAAG,GAAiB;YACtB,CAAC,EAAE,2BAAgB;YACnB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAI,CAAC,OAAO;YAC1B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;YAC7C,OAAO,EAAE,iBAAE,CAAC,OAAO,EAAE;YACrB,QAAQ,EAAE,IAAI,EAAE,IAAI;YACpB,WAAW,EAAE,CAAC,MAAM,IAAA,0BAAc,GAAE,CAAC,IAAI,SAAS;YAClD,SAAS,EAAE,IAAI,CAAC,oBAAoB;YACpC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK;YAC/B,MAAM;YACN,QAAQ,EAAE,MAAM,IAAA,oBAAQ,GAAE;SAC7B,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,GAAwB;QAClC,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YACxE,OAAO;QACX,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,WAAW,CAAC,OAAgB;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,kBAAkB,OAAO,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC1E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE;YAC5D,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,MAAM,GAAG;SACvB,CAAC,CAAC;QACH,MAAM,IAAI,GAAqC,EAAE,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxD,SAAS;YACb,CAAC;YACD,6FAA6F;YAC7F,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAA,mBAAO,EAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,SAAS;YACb,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAA,2BAAe,EAC/B,GAAG,EACH,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,EACnC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAC5B,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,8FAA8F;IACtF,KAAK,CAAC,YAAY;QACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE;YAC5D,QAAQ,EAAE,qBAAqB;YAC/B,MAAM,EAAE,sBAAsB;SACjC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,oFAAoF;IAE5E,KAAK,CAAC,MAAM,CAAC,KAAe,EAAE,MAAc,EAAE,KAAwB;QAC1E,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QACD,MAAM,GAAG,GAAkB;YACvB,CAAC,EAAE,2BAAgB;YACnB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;YACvB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;YAC3B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK;YACL,MAAM;YACN,KAAK;SACR,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC;QAChC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,GAAY;QAChC,MAAM,GAAG,GAAkB;YACvB,CAAC,EAAE,2BAAgB;YACnB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,KAAK,EAAE,GAAG,CAAC,KAAK;SACnB,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC;QAChC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAY,EAAE,MAAsC;QAC5E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC7C,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;QAC/E,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9F,CAAC;QACD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,WAAW,KAAK,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACnE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,kCAAkC,GAAG,CAAC,WAAW,YAAY,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,+DAA+D;QAC/D,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,+EAA+E;IACvE,KAAK,CAAC,SAAS;QACnB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC3E,OAAO;QACX,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,IAAA,6BAAiB,EAAC,GAAG,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3C,wFAAwF;QACxF,MAAM,IAAI,GACN,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM;YAClC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC1G,MAAM,IAAI,GAAG,IAAA,qBAAW,EAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAE9D,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,sEAAsE;YACtE,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,MAAM,CACb,iBAAiB,EACjB,uBAAuB,CAAC,CAAC,OAAO,CAAC,IAAI,eAAe,IAAI,CAAC,MAAM,2FAA2F,CAC7J,CAAC;YACN,CAAC;YACD,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,yBAAe,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,gGAAgG;YAChG,MAAM,GAAG,GAAG,WAAW,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1C,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,MAAM,CACb,aAAa,EACb,wCAAwC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6GAA6G,CAC1K,CAAC;YACN,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,8BAA8B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC7F,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC;gBACzC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;gBACrC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;YACvD,CAAC;YACD,OAAO;QACX,CAAC;QACD,sEAAsE;QACtE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,CAAC;QAExE,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAS,EAAC;YACvB,GAAG,EAAE,IAAI,IAAI,EAAE;YACf,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI;YAC5B,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM;YAChC,MAAM,EAAE;gBACJ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO;gBACzC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,OAAO;gBACrC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;aACrC;YACD,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;YAClE,SAAS,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,SAAS;YAC9E,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI;YACxC,gBAAgB,EAAE,IAAA,2BAAiB,EAAC,CAAC,EAAE,SAAS,EAAE;gBAC9C,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY;gBACvC,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;aACzD,CAAC;YACF,UAAU,EAAE,UAAU;gBAClB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE;gBAC9E,CAAC,CAAC,SAAS;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACT,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;gBACxC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC;gBAChC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;YACD,OAAO;QACX,CAAC;QACD,2EAA2E;QAC3E,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAA,qBAAU,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC;gBACD,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,IAAA,wBAAa,EAAC,IAAA,gBAAI,EAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE;oBAC1E,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;oBAC9D,EAAE,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;iBACvC,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,MAAM,GAAG,aAAa,OAAO,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,MAAM,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;oBACjC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;oBAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;gBACD,OAAO;YACX,CAAC;QACL,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7G,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,yCAAyC,EAAE,IAAI,CAAC,CAAC;QAC9F,MAAM,IAAI,CAAC,IAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,KAAK,KAAK,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,GAAc,EAAE,IAAe;QACpE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,OAAO;YACH,GAAG,IAAA,mBAAY,EAAC,MAAM,IAAA,gBAAS,EAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACtD,GAAG,IAAA,sBAAe,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAA,kBAAW,EAAC,IAAA,gBAAI,EAAC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;SAChG,CAAC;IACN,CAAC;IAED,2FAA2F;IAEnF,KAAK,CAAC,gBAAgB;QAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC;IAEO,KAAK,CAAC,MAAM,CAChB,QAAoE,EACpE,OAAe;QAEf,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,KAAwC;QAC5E,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,kBAAkB,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,gBAAgB,EAAE,CAAC;YAClD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;CACJ;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,OAAO,GAAG,CAAC,OAAkD,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AACrG,CAAC;KAAM,CAAC;IACJ,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/build/runner.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cliArgs = cliArgs;
4
+ exports.checkResult = checkResult;
4
5
  /**
5
6
  * Detached job runner. Started by the adapter as an independent process, it executes the
6
7
  * steps of a job with the ioBroker CLI and survives restarts of the adapter, including
@@ -46,6 +47,11 @@ function cliArgs(step, file) {
46
47
  return [['upgrade', `${step.adapter}@${step.to}`, '--yes', '--force']];
47
48
  case 'remove':
48
49
  return [['del', step.adapter]];
50
+ case 'addInstance':
51
+ // with the number: "add" only creates the instance, the adapter is installed already
52
+ return [['add', step.adapter, step.instance.slice(step.adapter.length + 1)]];
53
+ case 'removeInstance':
54
+ return [['del', step.instance]];
49
55
  }
50
56
  }
51
57
  function run(file, args) {
@@ -91,8 +97,20 @@ function installedVersion(file, adapter) {
91
97
  return null;
92
98
  }
93
99
  }
94
- function checkResult(file, step) {
95
- if (step.action === 'backup' || !step.adapter) {
100
+ /**
101
+ * Why the step did not do what it should although the CLI ended with 0, or null
102
+ *
103
+ * @param file the runner file
104
+ * @param step the step
105
+ * @param output what the CLI printed
106
+ */
107
+ function checkResult(file, step, output) {
108
+ if (step.action === 'removeInstance') {
109
+ // js-controller keeps an instance others depend on, and still ends with 0
110
+ const refused = /Cannot remove instance[^\r\n]*/.exec(output);
111
+ return refused ? refused[0].trim() : null;
112
+ }
113
+ if (step.action === 'backup' || step.action === 'addInstance' || !step.adapter) {
96
114
  return null;
97
115
  }
98
116
  const version = installedVersion(file, step.adapter);
@@ -141,7 +159,7 @@ async function main(path) {
141
159
  break;
142
160
  }
143
161
  }
144
- const mismatch = result.code === 0 ? checkResult(file, step) : null;
162
+ const mismatch = result.code === 0 ? checkResult(file, step, result.output) : null;
145
163
  if (mismatch) {
146
164
  (0, node_fs_1.appendFileSync)(file.logFile, `\n[check] ${mismatch}\n`);
147
165
  result.code = 1;
@@ -167,7 +185,7 @@ async function main(path) {
167
185
  step.detail = tail(result.output);
168
186
  file.phase = 'failed';
169
187
  file.error = mismatch
170
- ? `${step.action} ${step.adapter}: ${mismatch}`
188
+ ? `${step.action} ${step.instance ?? step.adapter}: ${mismatch}`
171
189
  : `${step.action}${step.adapter ? ` ${step.adapter}` : ''} fehlgeschlagen (Exit-Code ${result.code})`;
172
190
  file.steps.filter(s => s.status === 'pending').forEach(s => (s.status = 'skipped'));
173
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
package/io-package.json CHANGED
@@ -1,8 +1,16 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "bee",
4
- "version": "0.2.5",
4
+ "version": "0.2.7",
5
5
  "news": {
6
+ "0.2.7": {
7
+ "en": "Command software: removes an adapter, adds or deletes an instance right away on request of the fleet management; the desired state can carry the mode free (without profile), shown in info.mode",
8
+ "de": "Befehl software: entfernt einen Adapter, legt eine Instanz an oder löscht sie, sofort auf Anforderung der Flottenverwaltung; der Sollzustand kann den Modus free (ohne Profil) tragen, sichtbar in info.mode"
9
+ },
10
+ "0.2.6": {
11
+ "en": "Installs a version of an adapter right away on an asset without desired profile, like from admin; the list of log files was empty on normal installations, the agent now finds iobroker.json in iobroker-data as js-controller does",
12
+ "de": "Installiert eine Version eines Adapters sofort auf einer Anlage ohne Sollprofil, wie aus admin heraus; die Liste der Log-Dateien war auf normalen Installationen leer, der Agent findet iobroker.json jetzt wie js-controller in iobroker-data"
13
+ },
6
14
  "0.2.5": {
7
15
  "en": "Log files of ioBroker for the fleet management: lists them and uploads one compressed on request",
8
16
  "de": "Log-Dateien von ioBroker für die Flottenverwaltung: listet sie auf und überträgt auf Anforderung eine davon komprimiert"
@@ -250,8 +258,8 @@
250
258
  "common": {
251
259
  "role": "text",
252
260
  "name": {
253
- "en": "Mode (managed or self)",
254
- "de": "Modus (verwaltet oder eigenverantwortlich)"
261
+ "en": "Mode (managed, self or free: without profile)",
262
+ "de": "Modus (verwaltet, eigenverantwortlich oder free: ohne Profil)"
255
263
  },
256
264
  "type": "string",
257
265
  "read": true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.bee",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "Fleet agent for ioBroker: reports inventory to a beekeeper server and converges the system to the desired version profile",
5
5
  "author": {
6
6
  "name": "Denis Haev",