swarm-deploy 0.4.3 → 0.5.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/CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ All notable changes to this package are documented here.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.5.0
8
+
9
+ - Add an opt-in way to get data back from `afterLink` for an explicit link request. `afterLink` may now return a plain JSON object (or nothing, as before), exported as the `HookResult` and `HookResultValue` types. `Client.link(target, name, options?)` takes `ClientLinkOptions { hookResult?: boolean }`, and with `hookResult: true` the resolved `ClientLinkResult` carries `hookResult` when the hook returned an object. `swarm-deploy link --json` is the CLI form: it prints one JSON object `{ target, name, status, hookResult? }` instead of the text line. What is returned is chosen by the hook author; nothing is taken from the context, errors, paths, or the environment. Use it to report, for example, an accepted external submission's ID or evidence URL. It is data transport, not proof of publication; see [Link publication hooks](https://github.com/tetherto/swarm-deploy/blob/main/docs/hooks.md#link-publication-hooks).
10
+ - Nothing changes for callers that do not ask. The default request and answer keep their exact bytes, an older client or CLI needs no change, and an upload's automatic links and a request without the option ignore the return value without reading it, even when it is not valid. `afterLink` is still awaited before `LINKED`, `UNCHANGED`, or `HOOK_FAILED` is sent, and the per-link order, root-lease release, abort behavior, and the retry that reports `UNCHANGED` are unchanged (the retry runs the hook again and returns that run's result).
11
+ - The wire change is one optional field on the existing link records (`hookResult: true` on the request, `hookResult` on a `LINKED` or `UNCHANGED` answer); `CONTROL_VERSION` is still `1`. The decoders reject any other shape, a result nobody asked for, and a malformed one. A server older than 0.5.0 decodes link requests with an exact key set and rejects the opted-in request, so an opted-in client fails instead of returning without the data: upgrade servers before clients that ask.
12
+ - A returned value must be a plain JSON object of strings, finite numbers, booleans, `null`, arrays, and plain objects, at most 8 levels deep and 3072 UTF-8 bytes of compact JSON (the 4 KiB control record limit is unchanged). When the caller asked, a value that is not valid (`undefined`, a function, a symbol, a BigInt, `NaN`, a class instance such as `Date`, a `toJSON` method, a getter, a cycle, too deep, too large, or not an object) fails the request as the stable, sanitized `HOOK_FAILED`, leaves the durable link in place, and can be retried safely; `onFailure` receives an error that names the reason and the path inside the result but never a value. The result is not written to events or logs.
13
+ - Documentation: the three levels a result can describe are the link status, what the hook reports (such as an external submission), and the final published status. The last happens outside the call, and a store review can outlast the client's idle timeout (5 minutes at most), so the hook should return a submission's acceptance rather than wait for publication. The server keeps no queue or job store, and this release adds no store clients or dependencies.
14
+
7
15
  ## 0.4.3
8
16
 
9
17
  - Replace the runtime `semver` dependency with the Holepunch `bare-semver` package, and drop `@types/semver`. Release-version handling is unchanged: captured and stored versions are still strict SemVer 2.0.0 of at most 100 UTF-8 bytes with no `v` prefix, surrounding whitespace, or path separator, and with major, minor, and patch no larger than `Number.MAX_SAFE_INTEGER`. Source parents and captures still drop build metadata, and a persisted commit record still rejects it. Precedence is unchanged with one exception: numeric prerelease identifiers above 9007199254740991 are now compared exactly. 0.4.2 converted them to numbers, so two distinct identifiers that round to the same number tied, and `bare-semver` would have ordered each below the other; `swarm-deploy` therefore does that comparison itself and uses `bare-semver` only to parse.
package/dist/cli.js CHANGED
@@ -32,7 +32,7 @@ const USAGE = [
32
32
  ' swarm-deploy public-key (--seed-file <seed-file> | --seed <64-lower-hex>)',
33
33
  ' swarm-deploy server (--seed-file <seed-file> | --seed <64-lower-hex>) --storage <dir> --allow-key <64-lower-hex> --max-file-bytes <bytes> --max-staging-bytes <bytes> [--allow-key <64-lower-hex>]... [--max-storage-bytes <bytes>] [--max-age-days <days>] [--replace-name <safe-basename>]... [--artifact-pattern <template>]... [--max-count <count>] [--max-versions <count> --version-granularity <major|minor>] [--symlink <selector> [<link-name>]]... [--hooks <module>]',
34
34
  ' swarm-deploy upload (--seed-file <seed-file> | --seed <64-lower-hex>) --server-key <64-lower-hex> [--idle-timeout <milliseconds>] [--no-source-parent] <file-or-directory>',
35
- ' swarm-deploy link (--seed-file <seed-file> | --seed <64-lower-hex>) --server-key <64-lower-hex> [--idle-timeout <milliseconds>] <target> <link-name>',
35
+ ' swarm-deploy link (--seed-file <seed-file> | --seed <64-lower-hex>) --server-key <64-lower-hex> [--idle-timeout <milliseconds>] [--json] <target> <link-name>',
36
36
  ' swarm-deploy reset-storage --storage <dir> [--apply [--wait <milliseconds>]]',
37
37
  '',
38
38
  'Use exactly one seed source. A command-specific environment variable is also accepted.'
@@ -654,6 +654,12 @@ function printLinkResult(result, io) {
654
654
  writeLine(io.stdout, `${result.name} -> ${result.target} ${result.status}`);
655
655
  return result.status === 'LINKED' || result.status === 'UNCHANGED' ? 0 : 1;
656
656
  }
657
+ /** One JSON object on stdout: the link outcome plus the hook's own data, when it returned any. */
658
+ function printLinkJson(result, io) {
659
+ const { target, name, status, hookResult } = result;
660
+ writeLine(io.stdout, JSON.stringify({ target, name, status, ...(hookResult === undefined ? {} : { hookResult }) }));
661
+ return status === 'LINKED' || status === 'UNCHANGED' ? 0 : 1;
662
+ }
657
663
  function linkErrorMessage(err) {
658
664
  if (err instanceof errors_js_1.SwarmDeployError &&
659
665
  (err.code === errors_js_1.ERRORS.LINK_NOT_ALLOWED ||
@@ -732,7 +738,8 @@ async function runUpload(args, env, io) {
732
738
  return code;
733
739
  }
734
740
  async function runLink(args, env, io) {
735
- const { options, positionals } = parseOptions(args, new Set(['--seed-file', '--seed', '--server-key', '--idle-timeout']), new Set(), new Set(['--server-key', '--seed']), new Set(), new Set(), true);
741
+ const { options, flagOptions, positionals } = parseOptions(args, new Set(['--seed-file', '--seed', '--server-key', '--idle-timeout', '--json']), new Set(), new Set(['--server-key', '--seed']), new Set(['--json']), new Set(), true);
742
+ const json = flagOptions['--json'] === true;
736
743
  const [target, name] = requirePositionals(positionals, 2, 'link requires a target and link name');
737
744
  try {
738
745
  (0, controls_js_1.encodeLinkRequestRecord)({ v: 1, kind: 'link', target, name });
@@ -789,8 +796,11 @@ async function runLink(args, env, io) {
789
796
  let code = 0;
790
797
  try {
791
798
  try {
792
- const result = await client.link(target, name);
793
- code = printLinkResult(result, io);
799
+ // Only --json asks the server for the hook's result; the plain call is unchanged.
800
+ if (json)
801
+ code = printLinkJson(await client.link(target, name, { hookResult: true }), io);
802
+ else
803
+ code = printLinkResult(await client.link(target, name), io);
794
804
  }
795
805
  catch (err) {
796
806
  runError = new CliError(linkErrorMessage(err), 1);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import events from '#events';
2
2
  import { type DirectDhtFactory, type DirectDhtNode } from './direct-dht.js';
3
3
  import { type ErrorCode } from './errors.js';
4
+ import type { HookResult } from './hook-result.js';
4
5
  import type { ArtifactKind, Digest, FingerprintEvent, Logger, PublicKey, PublicKeyInput, SeedInput, TransferId } from './types.js';
5
6
  declare const EventEmitter: typeof events;
6
7
  declare const DEFAULT_CONNECT_TIMEOUT = 30000;
@@ -39,10 +40,26 @@ export interface UploadResult {
39
40
  }
40
41
  export type ClientUploadResult = UploadResult;
41
42
  export type ClientLinkStatus = 'LINKED' | 'UNCHANGED';
43
+ export interface ClientLinkOptions {
44
+ /**
45
+ * Ask the server to return what its `afterLink` hook returned, as
46
+ * `ClientLinkResult.hookResult`. Off by default, and then the request and
47
+ * its answer are exactly what earlier versions exchange. A server older than
48
+ * 0.5.0 rejects the opted-in request, so the call fails instead of returning
49
+ * without the result.
50
+ */
51
+ hookResult?: boolean;
52
+ }
42
53
  export interface ClientLinkResult {
43
54
  target: string;
44
55
  name: string;
45
56
  status: ClientLinkStatus;
57
+ /**
58
+ * Present only when `ClientLinkOptions.hookResult` was set and the server's
59
+ * hook returned an object. Data the hook author chose to report, such as an
60
+ * accepted submission's ID or URL; it is not proof that anything was published.
61
+ */
62
+ hookResult?: HookResult;
46
63
  }
47
64
  export interface ClientOfferEvent {
48
65
  status: 'offered' | 'accepted' | 'resumed' | 'reset' | 'rejected' | 'already-committed';
@@ -120,7 +137,7 @@ export declare class Client extends EventEmitter {
120
137
  private performLink;
121
138
  private perform;
122
139
  upload(inputPath: string): Promise<UploadResult>;
123
- link(target: string, name: string): Promise<ClientLinkResult>;
140
+ link(target: string, name: string, options?: ClientLinkOptions): Promise<ClientLinkResult>;
124
141
  close(): Promise<void>;
125
142
  }
126
143
  export { DEFAULT_CONNECT_TIMEOUT, MAX_CONNECT_TIMEOUT, DEFAULT_IDLE_TIMEOUT, FINGERPRINT_LENGTH, fingerprint };
package/dist/client.js CHANGED
@@ -43,6 +43,22 @@ function duration(value, label, fallback) {
43
43
  }
44
44
  return actual;
45
45
  }
46
+ /** Whether the options ask for the hook's result; anything unexpected is refused. */
47
+ function linkOptions(options) {
48
+ if (options === undefined)
49
+ return false;
50
+ if (typeof options !== 'object' || options === null || Array.isArray(options)) {
51
+ throw fail(errors_js_1.ERRORS.PROTOCOL_INVALID, 'Invalid link options');
52
+ }
53
+ if (Object.keys(options).some((name) => name !== 'hookResult')) {
54
+ throw fail(errors_js_1.ERRORS.PROTOCOL_INVALID, 'Invalid link options');
55
+ }
56
+ const wanted = options.hookResult;
57
+ if (wanted !== undefined && typeof wanted !== 'boolean') {
58
+ throw fail(errors_js_1.ERRORS.PROTOCOL_INVALID, 'Invalid link options');
59
+ }
60
+ return wanted === true;
61
+ }
46
62
  function codeOf(error) {
47
63
  return error instanceof errors_js_1.SwarmDeployError &&
48
64
  Object.values(errors_js_1.ERRORS).includes(error.code)
@@ -239,8 +255,16 @@ class Client extends EventEmitter {
239
255
  this.emitSafe('result', { name: result.name, kind, status, final: true });
240
256
  return result;
241
257
  }
242
- async performLink(target, name) {
243
- const request = { v: 1, kind: 'link', target, name };
258
+ async performLink(target, name, options) {
259
+ const wantsResult = linkOptions(options);
260
+ // Only an opted-in request carries the field, so the default stays the four-field record.
261
+ const request = {
262
+ v: 1,
263
+ kind: 'link',
264
+ target,
265
+ name,
266
+ ...(wantsResult ? { hookResult: true } : {})
267
+ };
244
268
  // Validate before opening a connection so malformed names never leave the client.
245
269
  (0, controls_js_1.encodeLinkRequestRecord)(request);
246
270
  (0, abort_js_1.throwIfAborted)(this.signal);
@@ -262,14 +286,19 @@ class Client extends EventEmitter {
262
286
  const response = await reader.control(direct_wire_js_1.decodeDirectLinkResult, this.signal, this.idleTimeout);
263
287
  if (response.status === 'FAILED')
264
288
  throw fail(response.code, 'Server failed link request');
265
- const result = { target, name, status: response.status };
266
- this.logger.info('Direct link completed', {
267
- target: result.target,
268
- name: result.name,
269
- status: result.status
270
- });
271
- this.emitSafe('link', { ...result, final: true });
272
- return result;
289
+ if (!wantsResult && response.hookResult !== undefined) {
290
+ throw fail(errors_js_1.ERRORS.PROTOCOL_INVALID, 'Server sent an unrequested hook result');
291
+ }
292
+ const status = response.status;
293
+ // Neither the log nor the event carries the hook's data.
294
+ this.logger.info('Direct link completed', { target, name, status });
295
+ this.emitSafe('link', { target, name, status, final: true });
296
+ return {
297
+ target,
298
+ name,
299
+ status,
300
+ ...(response.hookResult === undefined ? {} : { hookResult: response.hookResult })
301
+ };
273
302
  }
274
303
  catch (error) {
275
304
  this.emitSafe('link', { target, name, status: codeOf(error), final: true });
@@ -306,11 +335,11 @@ class Client extends EventEmitter {
306
335
  this.queue = operation.then(() => undefined, () => undefined);
307
336
  return operation;
308
337
  }
309
- link(target, name) {
338
+ link(target, name, options) {
310
339
  if (this.closed)
311
340
  return Promise.reject(fail(errors_js_1.ERRORS.ABORTED, 'Client is closed'));
312
341
  const operation = this.queue
313
- .then(() => this.performLink(target, name))
342
+ .then(() => this.performLink(target, name, options))
314
343
  .catch((error) => {
315
344
  const reason = codeOf(error);
316
345
  this.emitSafe('failure', { fingerprint: fingerprint(this.serverPublicKey), reason });
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /** One JSON value a hook may return: no `undefined`, function, symbol, or BigInt anywhere. */
2
+ export type HookResultValue = null | boolean | number | string | readonly HookResultValue[] | {
3
+ readonly [key: string]: HookResultValue;
4
+ };
5
+ /** A plain JSON object a hook returns to describe its own work. Never built from the context. */
6
+ export type HookResult = {
7
+ readonly [key: string]: HookResultValue;
8
+ };
9
+ /**
10
+ * At most this many UTF-8 bytes of compact JSON. The whole link result record
11
+ * still has to fit one control record (4 KiB), and its fixed fields take well
12
+ * under 100 bytes of that.
13
+ */
14
+ export declare const MAX_HOOK_RESULT_BYTES: number;
15
+ /** The returned object is depth 1; each nested object or array adds one. */
16
+ export declare const MAX_HOOK_RESULT_DEPTH = 8;
17
+ /** Why a returned value was refused. Carries a reason and a path, never a value. */
18
+ export declare class HookResultError extends Error {
19
+ constructor(reason: string, where: string);
20
+ }
21
+ /**
22
+ * Checks a value a hook returned (or a decoded wire value) and returns a fresh
23
+ * deep copy of it. It throws `HookResultError` for anything that is not a plain
24
+ * JSON object within the size and depth limits: a non-object, a class instance
25
+ * (so `toJSON` is never called), a getter or other accessor, a symbol key,
26
+ * `undefined`, a function, a BigInt, a non-finite number, a cycle (it exceeds
27
+ * the depth limit), or a result larger than `MAX_HOOK_RESULT_BYTES`. The copy
28
+ * is the only thing that is sent, so later mutation of the original cannot
29
+ * change it.
30
+ */
31
+ export declare function copyHookResult(value: unknown): HookResult;
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HookResultError = exports.MAX_HOOK_RESULT_DEPTH = exports.MAX_HOOK_RESULT_BYTES = void 0;
7
+ exports.copyHookResult = copyHookResult;
8
+ const b4a_1 = __importDefault(require("b4a"));
9
+ /**
10
+ * At most this many UTF-8 bytes of compact JSON. The whole link result record
11
+ * still has to fit one control record (4 KiB), and its fixed fields take well
12
+ * under 100 bytes of that.
13
+ */
14
+ exports.MAX_HOOK_RESULT_BYTES = 3 * 1024;
15
+ /** The returned object is depth 1; each nested object or array adds one. */
16
+ exports.MAX_HOOK_RESULT_DEPTH = 8;
17
+ /** Why a returned value was refused. Carries a reason and a path, never a value. */
18
+ class HookResultError extends Error {
19
+ constructor(reason, where) {
20
+ super(`Invalid hook result: ${reason} at ${where}`);
21
+ this.name = 'HookResultError';
22
+ }
23
+ }
24
+ exports.HookResultError = HookResultError;
25
+ function charge(budget, bytes, where) {
26
+ budget.bytes += bytes;
27
+ if (budget.bytes > exports.MAX_HOOK_RESULT_BYTES)
28
+ throw new HookResultError('too large', where);
29
+ }
30
+ function describe(parent, key) {
31
+ return typeof key === 'number' ? `${parent}[${key}]` : `${parent}.${key}`;
32
+ }
33
+ /** The own data properties of a plain object or array, or an error for anything else. */
34
+ function dataProperties(value, where) {
35
+ const entries = [];
36
+ for (const key of Reflect.ownKeys(value)) {
37
+ if (typeof key === 'symbol')
38
+ throw new HookResultError('symbol key', where);
39
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
40
+ if (descriptor === undefined || !('value' in descriptor)) {
41
+ throw new HookResultError('accessor property', describe(where, key));
42
+ }
43
+ if (Array.isArray(value) && key === 'length')
44
+ continue;
45
+ if (descriptor.enumerable !== true) {
46
+ throw new HookResultError('non-enumerable property', describe(where, key));
47
+ }
48
+ entries.push([key, descriptor.value]);
49
+ }
50
+ return entries;
51
+ }
52
+ function copyValue(value, depth, where, budget) {
53
+ if (value === null) {
54
+ charge(budget, 4, where);
55
+ return null;
56
+ }
57
+ switch (typeof value) {
58
+ case 'boolean':
59
+ charge(budget, value ? 4 : 5, where);
60
+ return value;
61
+ case 'number':
62
+ if (!Number.isFinite(value))
63
+ throw new HookResultError('non-finite number', where);
64
+ charge(budget, 1, where);
65
+ return value;
66
+ case 'string':
67
+ charge(budget, value.length + 2, where);
68
+ return value;
69
+ case 'object':
70
+ break;
71
+ default:
72
+ throw new HookResultError(`unsupported ${typeof value}`, where);
73
+ }
74
+ if (depth > exports.MAX_HOOK_RESULT_DEPTH)
75
+ throw new HookResultError('too deep', where);
76
+ charge(budget, 2, where);
77
+ const object = value;
78
+ if (Array.isArray(object)) {
79
+ const properties = dataProperties(object, where);
80
+ if (properties.length !== object.length) {
81
+ throw new HookResultError('sparse array or array property', where);
82
+ }
83
+ const items = [];
84
+ for (const [key, item] of properties) {
85
+ if (key !== String(items.length))
86
+ throw new HookResultError('array property', where);
87
+ charge(budget, 1, where);
88
+ items.push(copyValue(item, depth + 1, describe(where, items.length), budget));
89
+ }
90
+ return items;
91
+ }
92
+ const prototype = Object.getPrototypeOf(object);
93
+ if (prototype !== Object.prototype && prototype !== null) {
94
+ throw new HookResultError('not a plain object', where);
95
+ }
96
+ const copy = {};
97
+ for (const [key, item] of dataProperties(object, where)) {
98
+ // An own `__proto__` key would turn into a prototype assignment in a consumer's merge.
99
+ if (key === '__proto__')
100
+ throw new HookResultError('reserved key', where);
101
+ charge(budget, key.length + 3, describe(where, key));
102
+ copy[key] = copyValue(item, depth + 1, describe(where, key), budget);
103
+ }
104
+ return copy;
105
+ }
106
+ /**
107
+ * Checks a value a hook returned (or a decoded wire value) and returns a fresh
108
+ * deep copy of it. It throws `HookResultError` for anything that is not a plain
109
+ * JSON object within the size and depth limits: a non-object, a class instance
110
+ * (so `toJSON` is never called), a getter or other accessor, a symbol key,
111
+ * `undefined`, a function, a BigInt, a non-finite number, a cycle (it exceeds
112
+ * the depth limit), or a result larger than `MAX_HOOK_RESULT_BYTES`. The copy
113
+ * is the only thing that is sent, so later mutation of the original cannot
114
+ * change it.
115
+ */
116
+ function copyHookResult(value) {
117
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
118
+ throw new HookResultError('not an object', '$');
119
+ }
120
+ const copy = copyValue(value, 1, '$', { bytes: 0 });
121
+ // The running total is only a lower bound; the exact compact size decides.
122
+ if (b4a_1.default.from(JSON.stringify(copy)).byteLength > exports.MAX_HOOK_RESULT_BYTES) {
123
+ throw new HookResultError('too large', '$');
124
+ }
125
+ return copy;
126
+ }
127
+ //# sourceMappingURL=hook-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-result.js","sourceRoot":"","sources":["../src/hook-result.ts"],"names":[],"mappings":";;;;;;;AAAA,8CAAqB;AAcrB;;;;GAIG;AACU,QAAA,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAA;AAC7C,4EAA4E;AAC/D,QAAA,qBAAqB,GAAG,CAAC,CAAA;AAEtC,oFAAoF;AACpF,qBAA6B,SAAQ,KAAK;IACxC,YAAY,MAAc,EAAE,KAAa;QACvC,KAAK,CAAC,wBAAwB,MAAM,OAAO,KAAK,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;;AAOD,SAAS,MAAM,CAAC,MAAc,EAAE,KAAa,EAAE,KAAa;IAC1D,MAAM,CAAC,KAAK,IAAI,KAAK,CAAA;IACrB,IAAI,MAAM,CAAC,KAAK,GAAG,QAAA,qBAAqB;QAAE,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AACzF,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,GAAoB;IACpD,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAA;AAC3E,CAAC;AAED,yFAAyF;AACzF,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,MAAM,OAAO,GAA6B,EAAE,CAAA;IAC5C,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;QAC3E,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC9D,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,QAAQ;YAAE,SAAQ;QACtD,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,eAAe,CAAC,yBAAyB,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QAC5E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,KAAc,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc;IAC7E,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACpC,OAAO,KAAK,CAAA;QACd,KAAK,QAAQ;YACX,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;YAClF,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;YACxB,OAAO,KAAK,CAAA;QACd,KAAK,QAAQ;YACX,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;YACvC,OAAO,KAAK,CAAA;QACd,KAAK,QAAQ;YACX,MAAK;QACP;YACE,MAAM,IAAI,eAAe,CAAC,eAAe,OAAO,KAAK,EAAE,EAAE,KAAK,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,KAAK,GAAG,QAAA,qBAAqB;QAAE,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IAC/E,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IACxB,MAAM,MAAM,GAAG,KAAe,CAAA;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAChD,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,eAAe,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAA;QACpE,CAAC;QACD,MAAM,KAAK,GAAsB,EAAE,CAAA;QACnC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;YACrC,IAAI,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,eAAe,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;YACpF,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;YACxB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;QAC/E,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAC/C,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACzD,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;IACxD,CAAC;IACD,MAAM,IAAI,GAAuC,EAAE,CAAA;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QACxD,uFAAuF;QACvF,IAAI,GAAG,KAAK,WAAW;YAAE,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;QACzE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QACpD,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;IACtE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,wBAA+B,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,GAAG,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAe,CAAA;IACjE,2EAA2E;IAC3E,IAAI,aAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,QAAA,qBAAqB,EAAE,CAAC;QACtE,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;IAC7C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}