@effect-app/cli 2.0.1-beta.9 → 2.1.0-beta.14
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 +30 -0
- package/dist/gist.d.ts +7 -7
- package/dist/gist.d.ts.map +1 -1
- package/dist/gist.js +4 -4
- package/dist/index.js +22 -2
- package/dist/os-command.d.ts +1 -1
- package/dist/os-command.d.ts.map +1 -1
- package/dist/os-command.js +2 -2
- package/dist/sync-effect-subtree.d.ts +10 -0
- package/dist/sync-effect-subtree.d.ts.map +1 -0
- package/dist/sync-effect-subtree.js +75 -0
- package/package.json +9 -5
- package/src/gist.ts +3 -3
- package/src/index.ts +43 -1
- package/src/os-command.ts +1 -1
- package/src/sync-effect-subtree.ts +121 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# @effect-app/cli
|
|
2
2
|
|
|
3
|
+
## 2.1.0-beta.14
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Update effect packages to 4.0.0-beta.52
|
|
8
|
+
|
|
9
|
+
## 2.1.0-beta.13
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 97207c0: Add `sync-effect` CLI command to sync the Effect git subtree to the version pinned in package.json manifests.
|
|
14
|
+
|
|
15
|
+
## 2.0.1-beta.12
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- fac725d: update effect to latest beta
|
|
20
|
+
|
|
21
|
+
## 2.0.1-beta.11
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- 8267e7d: update to latest effect
|
|
26
|
+
|
|
27
|
+
## 2.0.1-beta.10
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- 1f9d7da: fix missing toCodecJson usages
|
|
32
|
+
|
|
3
33
|
## 2.0.1-beta.9
|
|
4
34
|
|
|
5
35
|
### Patch Changes
|
package/dist/gist.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Config, Effect, FileSystem, Layer, Path, Schema
|
|
1
|
+
import { Config, Context, Effect, FileSystem, Layer, Path, Schema } from "effect";
|
|
2
2
|
import { RunCommandService } from "./os-command.js";
|
|
3
3
|
declare const GistError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
4
4
|
readonly _tag: "GistError";
|
|
@@ -7,7 +7,7 @@ export declare class GistError extends GistError_base<{
|
|
|
7
7
|
message: string;
|
|
8
8
|
}> {
|
|
9
9
|
}
|
|
10
|
-
declare const GistEntry_base: Schema.
|
|
10
|
+
declare const GistEntry_base: Schema.Class<GistEntry, Schema.Struct<{
|
|
11
11
|
readonly description: Schema.String;
|
|
12
12
|
readonly public: Schema.Boolean;
|
|
13
13
|
readonly company: Schema.String;
|
|
@@ -33,7 +33,7 @@ declare const GistEntryDecoded_base: Schema.Opaque<GistEntryDecoded, Schema.deco
|
|
|
33
33
|
readonly path: Schema.String;
|
|
34
34
|
readonly name: Schema.String;
|
|
35
35
|
}>>;
|
|
36
|
-
}>, typeof GistEntry, never, never>,
|
|
36
|
+
}>, typeof GistEntry, never, never>, keyof Schema.Top>;
|
|
37
37
|
/**
|
|
38
38
|
* Extended gist entry that validates file_name uniqueness and extracts base filenames.
|
|
39
39
|
*
|
|
@@ -57,7 +57,7 @@ declare const GistEntryDecoded_base: Schema.Opaque<GistEntryDecoded, Schema.deco
|
|
|
57
57
|
*/
|
|
58
58
|
export declare class GistEntryDecoded extends GistEntryDecoded_base {
|
|
59
59
|
}
|
|
60
|
-
declare const GistYAML_base: Schema.
|
|
60
|
+
declare const GistYAML_base: Schema.Class<GistYAML, Schema.Struct<{
|
|
61
61
|
readonly gists: Schema.optional<Schema.NullOr<Schema.$Record<Schema.String, typeof GistEntryDecoded>>>;
|
|
62
62
|
readonly settings: Schema.Struct<{
|
|
63
63
|
readonly token_env: Schema.String;
|
|
@@ -66,7 +66,7 @@ declare const GistYAML_base: Schema.ExtendableClass<GistYAML, Schema.Struct<{
|
|
|
66
66
|
}>, {}>;
|
|
67
67
|
export declare class GistYAML extends GistYAML_base {
|
|
68
68
|
}
|
|
69
|
-
declare const GistCacheEntry_base: Schema.
|
|
69
|
+
declare const GistCacheEntry_base: Schema.Class<GistCacheEntry, Schema.Struct<{
|
|
70
70
|
readonly name: Schema.String;
|
|
71
71
|
readonly id: Schema.String;
|
|
72
72
|
}>, {}>;
|
|
@@ -380,12 +380,12 @@ declare class GHGistService extends GHGistService_base {
|
|
|
380
380
|
declare const GistHandler_base: Context.ServiceClass<GistHandler, "GistHandler", {
|
|
381
381
|
handler: (args_0: {
|
|
382
382
|
YAMLPath: string;
|
|
383
|
-
}) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | GistError |
|
|
383
|
+
}) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | GistError | Schema.SchemaError | GistCacheOfCompanyNotFound | GistYAMLError | Config.ConfigError, never>;
|
|
384
384
|
}> & {
|
|
385
385
|
readonly make: Effect.Effect<{
|
|
386
386
|
handler: (args_0: {
|
|
387
387
|
YAMLPath: string;
|
|
388
|
-
}) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | GistError |
|
|
388
|
+
}) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | GistError | Schema.SchemaError | GistCacheOfCompanyNotFound | GistYAMLError | Config.ConfigError, never>;
|
|
389
389
|
}, never, Path.Path | FileSystem.FileSystem | GHGistService>;
|
|
390
390
|
};
|
|
391
391
|
export declare class GistHandler extends GistHandler_base {
|
package/dist/gist.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../src/gist.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,MAAM,EAAQ,MAAM,EAAE,UAAU,EAAE,KAAK,EAAU,IAAI,EAA0B,MAAM,
|
|
1
|
+
{"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../src/gist.ts"],"names":[],"mappings":"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"}
|
package/dist/gist.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-constant-binary-expression */
|
|
2
2
|
/* eslint-disable no-empty-pattern */
|
|
3
3
|
// import necessary modules from the libraries
|
|
4
|
-
import { Array, Config, Data, Effect, FileSystem, Layer, Option, Path, pipe, Redacted, Result, Schema, SchemaIssue, SchemaTransformation,
|
|
4
|
+
import { Array, Config, Context, Data, Effect, FileSystem, Layer, Option, Path, pipe, Redacted, Result, Schema, SchemaIssue, SchemaTransformation, SynchronizedRef } from "effect";
|
|
5
5
|
import * as yaml from "js-yaml";
|
|
6
6
|
import path from "path";
|
|
7
7
|
import { RunCommandService } from "./os-command.js";
|
|
@@ -192,7 +192,7 @@ class GHGistService extends Context.Service()("GHGistService", {
|
|
|
192
192
|
}
|
|
193
193
|
else {
|
|
194
194
|
const cacheContent = yield* runGetStringSuppressed(`gh gist view ${gist_id} -f "${company}.json"`);
|
|
195
|
-
const entries = yield* pipe(cacheContent, Schema.decodeUnknownEffect(Schema.fromJsonString(GistCacheEntries)), Effect.orDie);
|
|
195
|
+
const entries = yield* pipe(cacheContent, Schema.decodeUnknownEffect(Schema.fromJsonString(Schema.toCodecJson(GistCacheEntries))), Effect.orDie);
|
|
196
196
|
return new GistCache({ entries, gist_id, company });
|
|
197
197
|
}
|
|
198
198
|
}, (_, company) => _.pipe(Effect.catchTag("GistCacheNotFound", Effect.fnUntraced(function* () {
|
|
@@ -207,7 +207,7 @@ class GHGistService extends Context.Service()("GHGistService", {
|
|
|
207
207
|
return yield* loadGistCache(company, { recCacheCompany: true });
|
|
208
208
|
}))));
|
|
209
209
|
const saveGistCache = Effect.fn("effa-cli.gist.saveGistCache")(function* (cache) {
|
|
210
|
-
const cacheJson = yield* pipe(cache.entries, Schema.encodeUnknownEffect(Schema.fromJsonString(GistCacheEntries)),
|
|
210
|
+
const cacheJson = yield* pipe(cache.entries, Schema.encodeUnknownEffect(Schema.fromJsonString(Schema.toCodecJson(GistCacheEntries))),
|
|
211
211
|
// cannot recover from parse errors in any case, better to die here instead of cluttering the signature
|
|
212
212
|
Effect.orDie);
|
|
213
213
|
yield* runGetExitCodeSuppressed(`echo '${cacheJson}' | gh gist edit ${cache.gist_id} -f ${cache.company}.json -`);
|
|
@@ -571,4 +571,4 @@ export class GistHandler extends Context.Service()("GistHandler", {
|
|
|
571
571
|
static DefaultWithoutDependencies = Layer.effect(this, this.make);
|
|
572
572
|
static Default = this.DefaultWithoutDependencies.pipe(Layer.provide(GHGistService.Default));
|
|
573
573
|
}
|
|
574
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9naXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxxQ0FBcUM7QUFDckMsOENBQThDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxJQUFJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFaE0sT0FBTyxLQUFLLElBQUksTUFBTSxTQUFTLENBQUE7QUFDL0IsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRW5ELE1BQU0sT0FBTyxTQUFVLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQXNCO0NBQUc7QUFFcEYsRUFBRTtBQUNGLEVBQUU7QUFDRixVQUFVO0FBQ1YsRUFBRTtBQUVGLE1BQU0sT0FBTyxTQUFVLFNBQVEsTUFBTSxDQUFDLEtBQUssQ0FBWSxXQUFXLENBQUMsQ0FBQztJQUNsRSxXQUFXLEVBQUUsTUFBTSxDQUFDLE1BQU07SUFDMUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPO0lBQ3RCLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTTtJQUN0QixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0NBQ25DLENBQUM7Q0FBRztBQUVMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxNQUFNLENBQUMsTUFBTSxFQUFvQixDQUNyRSxTQUFTLENBQUMsSUFBSSxDQUNaLE1BQU0sQ0FBQyxRQUFRLENBQ2IsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNaLFdBQVcsRUFBRSxNQUFNLENBQUMsTUFBTTtJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87SUFDdEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNO0lBQ3RCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDbEMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUMxQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDbkIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNO0tBQ3BCLENBQUMsQ0FBQztDQUNKLENBQUMsRUFDRixvQkFBb0IsQ0FBQyxlQUFlLENBQUM7SUFDbkMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUMsS0FBSztRQUN2QyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLCtHQUErRztTQUMxSSxDQUFDLENBQUMsQ0FBQTtRQUVILGlDQUFpQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQTtRQUMzQyxLQUFLLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBQ3ZCLENBQUM7WUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNuQyxDQUFDO1FBRUQscURBQXFEO1FBQ3JELE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQTtRQUM3QixLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDbEQsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQixRQUFRLENBQUMsSUFBSSxDQUNYLGtDQUFrQyxRQUFRLHVCQUF1QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3BGLENBQUE7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELDREQUE0RDtRQUM1RCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN2QixJQUFJLFdBQVcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQ3pGLENBQUE7UUFDSCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQTtJQUM3RCxDQUFDLENBQUM7SUFDRixNQUFNLEVBQUUsQ0FBQyxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Q0FDcEUsQ0FBQyxDQUNILENBQ0YsQ0FDRjtDQUFHO0FBRUosTUFBTSxPQUFPLFFBQVMsU0FBUSxNQUFNLENBQUMsS0FBSyxDQUFXLFVBQVUsQ0FBQyxDQUFDO0lBQy9ELEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUMvQyxDQUFDO0lBQ0YsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDdEIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNO1FBQ3hCLGNBQWMsRUFBRSxNQUFNLENBQUMsTUFBTTtLQUM5QixDQUFDO0NBQ0gsQ0FBQztDQUFHO0FBRUw7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxNQUFNLENBQUMsS0FBSyxDQUFpQixnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pGLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTTtJQUNuQixFQUFFLEVBQUUsTUFBTSxDQUFDLE1BQU07Q0FDbEIsQ0FBQztDQUFHO0FBRUwsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQTtBQUc1RDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFDcEIsT0FBTyxDQUFrQjtJQUN6QixPQUFPLENBQVE7SUFFZixPQUFPLENBQVE7SUFFZixZQUFZLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQW1FO1FBQ3hHLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO0lBQ3hCLENBQUM7Q0FDRjtBQUVELEVBQUU7QUFDRixFQUFFO0FBQ0YsU0FBUztBQUNULEVBQUU7QUFDRixNQUFNLGlCQUFrQixTQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBRWxFO0NBQUc7QUFFTCxNQUFNLDBCQUEyQixTQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsNEJBQTRCLENBR3BGO0NBQUc7QUFFTCxNQUFNLGFBQWMsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FFMUQ7Q0FBRztBQUVMLEVBQUU7QUFDRixFQUFFO0FBQ0YsV0FBVztBQUNYLEVBQUU7QUFFRixNQUFNLGFBQWMsU0FBUSxPQUFPLENBQUMsT0FBTyxFQUFpQixDQUFDLGVBQWUsRUFBRTtJQUM1RSxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDeEIsTUFBTSxzQkFBc0IsR0FBRywwQ0FBMEMsQ0FBQTtRQUN6RSxNQUFNLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixDQUFBO1FBRWpFLGdIQUFnSDtRQUNoSCxNQUFNLHdCQUF3QixHQUFHLENBQUMsR0FBRyxJQUF1QyxFQUFFLEVBQUU7WUFDOUUsT0FBTyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ2pDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUNoRixNQUFNLENBQUMsS0FBSyxFQUNaLE1BQU0sQ0FBQyxNQUFNLENBQ2QsQ0FBQTtRQUNILENBQUMsQ0FBQTtRQUVELGdIQUFnSDtRQUNoSCxNQUFNLHNCQUFzQixHQUFHLENBQUMsR0FBRyxJQUFxQyxFQUFFLEVBQUU7WUFDMUUsT0FBTyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQy9CLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUNoRixNQUFNLENBQUMsS0FBSyxDQUNiLENBQUE7UUFDSCxDQUFDLENBQUE7UUFFRDs7OztXQUlHO1FBQ0gsU0FBUyxvQkFBb0IsQ0FBQyxHQUFXO1lBQ3ZDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUE7WUFDM0MsT0FBTyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUM3RSxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBR2dELE1BQU07YUFDdEUsRUFBRSxDQUFDLDZCQUE2QixDQUFDLENBQ2hDLFFBQVEsQ0FBQyxFQUNQLE9BQWUsRUFDZixFQUFFLFFBQVEsR0FBRyxLQUFLLEVBQUUsZUFBZSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFO1lBRTNGLGlDQUFpQztZQUNqQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQywwQkFBMEIsc0JBQXNCLEdBQUcsQ0FBQyxDQUFBO1lBRWpHLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUU3RSxtREFBbUQ7WUFDbkQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzFCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDZixPQUFPLEtBQUssQ0FBQyxDQUFDLElBQUksaUJBQWlCLENBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxDQUFBO1lBQzVFLENBQUM7WUFFRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3BDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQTtZQUVoQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDYixPQUFPLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsOERBQThELENBQUMsQ0FBQTtnQkFDMUYsQ0FBQztnQkFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDLElBQUksaUJBQWlCLENBQUMsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxDQUFBO1lBQ2hGLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1lBQ3ZFLENBQUM7WUFFRCxtQ0FBbUM7WUFDbkMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLE9BQU8sVUFBVSxDQUFDLENBQUMsSUFBSSxDQUN4RixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDbkIsS0FBSztpQkFDRixJQUFJLEVBQUU7aUJBQ04sS0FBSyxDQUFDLElBQUksQ0FBQztpQkFDWCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUN4QixDQUNGLENBQUE7WUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsSUFBSSxlQUFlLEVBQUUsQ0FBQztvQkFDcEIsT0FBTyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUN0QixzREFBc0QsT0FBTyx5QkFBeUIsQ0FDdkYsQ0FBQTtnQkFDSCxDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FBQztvQkFDM0MsT0FBTyxFQUFFLG1DQUFtQyxPQUFPLEVBQUU7b0JBQ3JELGFBQWEsRUFBRSxPQUFPO2lCQUN2QixDQUFDLENBQUE7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLE9BQU8sUUFBUSxPQUFPLFFBQVEsQ0FBQyxDQUFBO2dCQUVsRyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ3pCLFlBQVksRUFDWixNQUFNLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQ25FLE1BQU0sQ0FBQyxLQUFLLENBQ2IsQ0FBQTtnQkFFRCxPQUFPLElBQUksU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO1lBQ3JELENBQUM7UUFDSCxDQUFDLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDYixDQUFDLENBQUMsSUFBSSxDQUNKLE1BQU0sQ0FBQyxRQUFRLENBQ2IsbUJBQW1CLEVBQ25CLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3pCLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtZQUVwRSxLQUFLLENBQUMsQ0FBQyxzQkFBc0IsQ0FDM0IsaURBQWlELHNCQUFzQix3QkFBd0IsQ0FDaEcsQ0FBQTtZQUVELDRDQUE0QztZQUM1QyxPQUFPLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUMxRCxDQUFDLENBQUMsQ0FDSCxDQUNGLEVBQ0gsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDYixDQUFDLENBQUMsSUFBSSxDQUNKLE1BQU0sQ0FBQyxRQUFRLENBQ2IsNEJBQTRCLEVBQzVCLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQztZQUMzQixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHFCQUFxQixPQUFPLHFEQUFxRCxDQUFDLENBQUE7WUFFeEcsS0FBSyxDQUFDLENBQUMsc0JBQXNCLENBQzNCLDRCQUE0QixDQUFDLENBQUMsYUFBYSxPQUFPLE9BQU8sU0FBUyxDQUNuRSxDQUFBO1lBRUQsNENBQTRDO1lBQzVDLE9BQU8sS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ2pFLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FDSixDQUFBO1FBRUgsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUM1RCxRQUFRLENBQUMsRUFBQyxLQUFnQjtZQUN4QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzNCLEtBQUssQ0FBQyxPQUFPLEVBQ2IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNuRSx1R0FBdUc7WUFDdkcsTUFBTSxDQUFDLEtBQUssQ0FDYixDQUFBO1lBRUQsS0FBSyxDQUFDLENBQUMsd0JBQXdCLENBQzdCLFNBQVMsU0FBUyxvQkFBb0IsS0FBSyxDQUFDLE9BQU8sT0FBTyxLQUFLLENBQUMsT0FBTyxTQUFTLENBQ2pGLENBQUE7UUFDSCxDQUFDLENBQ0YsQ0FBQTtRQUVELE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUN4RSxRQUFRLENBQUMsRUFBQyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBU3hEO1lBQ0MsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsU0FBUyxTQUFTLEtBQUssQ0FBQyxNQUFNLFVBQVUsQ0FBQyxDQUFBO1lBRWhGLE1BQU0sU0FBUyxHQUFHO2dCQUNoQixJQUFJO2dCQUNKLE1BQU07Z0JBQ04sUUFBUTtnQkFDUixXQUFXLFdBQVcsR0FBRztnQkFDekIsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzNCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7YUFDekM7aUJBQ0UsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7WUFFWiwwQ0FBMEM7WUFDMUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUE7WUFFeEQsc0JBQXNCO1lBQ3RCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDNUIsT0FBTyxFQUNQLG9CQUFvQixFQUNwQixNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUNYLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLHVDQUF1QyxPQUFPLEVBQUUsQ0FBQztnQkFDMUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FDYixNQUFNO3FCQUNILE9BQU8sQ0FDTixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQ3hCO3FCQUNBLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNwRSxDQUFDLENBQ0gsQ0FBQTtZQUVELCtFQUErRTtZQUMvRSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUN6QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO2dCQUM5QixNQUFNLGFBQWEsR0FBRyxHQUFHLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtnQkFDOUMsTUFBTSxlQUFlLEdBQUc7b0JBQ3RCLElBQUk7b0JBQ0osTUFBTTtvQkFDTixRQUFRO29CQUNSLFVBQVUsQ0FBQyxFQUFFO29CQUNiLFlBQVk7b0JBQ1osYUFBYTtpQkFDZDtxQkFDRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBRVosS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsWUFBWSxPQUFPLGFBQWEsWUFBWSxTQUFTLEVBQUUsQ0FBQyxDQUFBO2dCQUMvRixLQUFLLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsQ0FBQTtZQUNoRCxDQUFDO1lBRUQsT0FBTyxVQUFVLENBQUE7UUFDbkIsQ0FBQyxDQUNGLENBQUE7UUFFRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FDcEQsUUFBUSxDQUFDLEVBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFJbEM7WUFDQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxTQUFTLFlBQVksT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUN4RixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsT0FBTyxVQUFVLENBQUMsQ0FBQTtZQUUvRSxnRUFBZ0U7WUFDaEUsMkVBQTJFO1lBQzNFLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUU7Z0JBQ3ZELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztvQkFBRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7Z0JBQzVELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLDRCQUE0QjtZQUN6RixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FDRixDQUFBO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQ3hELFFBQVEsQ0FBQyxFQUFDLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUs3QztZQUNDLE1BQU0sYUFBYSxHQUFHLEdBQUcsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFBO1lBQzNDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLGFBQWEsY0FBYyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1lBQzlFLE9BQU8sS0FBSyxDQUFDLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLE9BQU8sY0FBYyxhQUFhLEdBQUcsQ0FBQyxDQUFBO1FBQy9GLENBQUMsQ0FDRixDQUFBO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQ3BELFFBQVEsQ0FBQyxFQUFDLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFNeEQ7WUFDQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQTtZQUMzQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixhQUFhLGVBQWUsU0FBUyxZQUFZLFNBQVMsRUFBRSxDQUFDLENBQUE7WUFFcEcsbURBQW1EO1lBQ25ELE1BQU0sV0FBVyxHQUFHO2dCQUNsQixJQUFJO2dCQUNKLE1BQU07Z0JBQ04sTUFBTTtnQkFDTixPQUFPO2dCQUNQLElBQUk7Z0JBQ0osYUFBYTtnQkFDYixJQUFJLFNBQVMsR0FBRzthQUNqQjtpQkFDRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7WUFFWixPQUFPLEtBQUssQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ3JELENBQUMsQ0FDRixDQUFBO1FBRUQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FDOUMsUUFBUSxDQUFDLEVBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBUXhDO1lBQ0MsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLFlBQVksU0FBUyxFQUFFLENBQUMsQ0FBQTtZQUN0RSxNQUFNLFdBQVcsR0FBRztnQkFDbEIsSUFBSTtnQkFDSixNQUFNO2dCQUNOLE1BQU07Z0JBQ04sT0FBTztnQkFDUCxJQUFJO2dCQUNKLElBQUksSUFBSSxDQUFDLElBQUksR0FBRzthQUNqQjtpQkFDRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7WUFFWixLQUFLLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsQ0FBQTtZQUU1QyxNQUFNLGFBQWEsR0FBRztnQkFDcEIsSUFBSTtnQkFDSixNQUFNO2dCQUNOLFFBQVE7Z0JBQ1IsT0FBTztnQkFDUCxJQUFJLENBQUMsSUFBSTtnQkFDVCxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO2FBQ3RCO2lCQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUVaLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLElBQUksQ0FBQyxJQUFJLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLFlBQVksU0FBUyxFQUFFLENBQUMsQ0FBQTtZQUMvRixPQUFPLEtBQUssQ0FBQyxDQUFDLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ3ZELENBQUMsQ0FDRixDQUFBO1FBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FDeEMsUUFBUSxDQUFDLEVBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUEwQztZQUN0RSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixTQUFTLFlBQVksT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUN0RSxPQUFPLEtBQUssQ0FBQyxDQUFDLHdCQUF3QixDQUFDLGtCQUFrQixPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBQ3JFLENBQUMsQ0FDRixDQUFBO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQWE7WUFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3JFLE9BQU8sS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDdEIsbUdBQW1HLENBQ3BHLENBQUE7WUFDSCxDQUFDO1lBRUQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsS0FBSywrQkFBK0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDdkcsSUFBSSxRQUFRLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sS0FBSyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsb0RBQW9ELEVBQUUsQ0FBQyxDQUFBO1lBQ2hHLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUE7WUFDL0QsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTztZQUNMOzs7OztlQUtHO1lBQ0gsS0FBSztZQUVMOzs7OztlQUtHO1lBQ0gsYUFBYTtZQUViOzs7Ozs7ZUFNRztZQUNILGFBQWE7WUFFYjs7Ozs7Ozs7Ozs7ZUFXRztZQUNILG1CQUFtQjtZQUVuQjs7Ozs7Ozs7O2VBU0c7WUFDSCxnQkFBZ0I7WUFFaEI7Ozs7Ozs7O2VBUUc7WUFDSCxrQkFBa0I7WUFFbEI7Ozs7Ozs7OztlQVNHO1lBQ0gsZ0JBQWdCO1lBRWhCOzs7Ozs7OztlQVFHO1lBQ0gsYUFBYTtZQUViOzs7OztlQUtHO1lBQ0gsVUFBVTtTQUNYLENBQUE7SUFDSCxDQUFDLENBQUM7Q0FDSCxDQUFDO0lBQ0EsTUFBTSxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNqRSxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQ25ELEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQ3pDLENBQUE7O0FBR0gsTUFBTSxPQUFPLFdBQVksU0FBUSxPQUFPLENBQUMsT0FBTyxFQUFlLENBQUMsYUFBYSxFQUFFO0lBQzdFLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN4QixNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUE7UUFFL0IsNkVBQTZFO1FBQzdFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUE7UUFDdkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUU3QixPQUFPO1lBQ0wsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQyxFQUFFLFFBQVEsRUFBd0I7Z0JBQzFGLDBEQUEwRDtnQkFDMUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO29CQUNqQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDaEUsQ0FBQyxDQUFBO2dCQUVGLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxNQUFNLENBQUMsT0FBTyxVQUFVLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO2dCQUV2RSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLDhCQUE4QixRQUFRLEVBQUUsQ0FBQyxDQUFBO2dCQUUvRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUMvQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ2xCLE9BQU8sS0FBSyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsaUNBQWlDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQTtnQkFDdkYsQ0FBQztnQkFFRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ2hDLFFBQVEsRUFDUixFQUFFLENBQUMsY0FBYyxFQUNqQixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDekIsTUFBTSxDQUFDLEdBQUcsQ0FBQztvQkFDVCxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7b0JBQzdCLEtBQUssQ0FBQyxLQUFLO3dCQUNULE9BQU8sSUFBSSxhQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUseUJBQTBCLEtBQWUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUE7b0JBQzVGLENBQUM7aUJBQ0YsQ0FBQyxDQUNILEVBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDckQsQ0FBQTtnQkFFRCx1REFBdUQ7Z0JBQ3ZELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFFL0UsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxpREFBaUQsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO2dCQUMzRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixhQUFhLEVBQUUsQ0FBQyxDQUFBLENBQUMsb0NBQW9DO2dCQUU1RixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtnQkFFOUMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBWSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO2dCQUU3RixtRkFBbUY7Z0JBQ25GLDRFQUE0RTtnQkFDNUUsTUFBTSx3QkFBd0IsR0FBRyxNQUFNO3FCQUNwQyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7cUJBQ25DLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBRWxELEtBQ0UsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSx3QkFBd0IsRUFDcEQsQ0FBQztvQkFDRCxNQUFNLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsVUFBVSxDQUFBO29CQUV0RSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQyxDQUFBO29CQUVoRCxNQUFNLHVCQUF1QixHQUFHLEtBQUssQ0FBQyxDQUFDLE1BQU07eUJBQzFDLEdBQUcsQ0FDRixlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQzt3QkFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7d0JBQzFFLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7d0JBRTdDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs0QkFDaEIsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsUUFBUSxlQUFlLENBQUMsQ0FBQTs0QkFDcEUsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7d0JBQ3RCLENBQUM7d0JBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDOzRCQUNqQixJQUFJLEVBQUUsUUFBUTs0QkFDZCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7eUJBQ2IsQ0FBQyxDQUFBO29CQUNKLENBQUMsQ0FBQyxDQUFDLEVBQ0g7d0JBQ0UsV0FBVyxFQUFFLFdBQVc7cUJBQ3pCLENBQ0Y7eUJBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7b0JBRW5DLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUE7b0JBRTlGLCtEQUErRDtvQkFDL0QsMERBQTBEO29CQUMxRCxJQUFJLGFBQWEsRUFBRSxDQUFDO3dCQUNsQixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLDBCQUEwQixhQUFhLENBQUMsSUFBSSxZQUFZLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO3dCQUVqRyx3REFBd0Q7d0JBQ3hELE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxDQUMzQixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7NEJBQ3pCLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRTs0QkFDekIsU0FBUyxFQUFFLGFBQWEsQ0FBQyxJQUFJOzRCQUM3QixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7eUJBQ2hCLENBQUMsQ0FDSCxDQUFBO3dCQUVELE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7d0JBRTlFLHdEQUF3RDt3QkFDeEQsS0FBSyxNQUFNLEVBQUUsSUFBSSxhQUFhLEVBQUUsQ0FBQzs0QkFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDM0IsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO29DQUMzQixPQUFPLEVBQUUsYUFBYSxDQUFDLEVBQUU7b0NBQ3pCLFNBQVMsRUFBRSxhQUFhLENBQUMsSUFBSTtvQ0FDN0IsU0FBUyxFQUFFLEVBQUU7b0NBQ2IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHO2lDQUNoQixDQUFDLENBQUE7NEJBQ0osQ0FBQzt3QkFDSCxDQUFDO3dCQUVELHNDQUFzQzt3QkFDdEMsS0FBSyxNQUFNLENBQUMsSUFBSSx1QkFBdUIsRUFBRSxDQUFDOzRCQUN4QyxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0NBQzlCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQ0FDekIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFO29DQUN6QixTQUFTLEVBQUUsYUFBYSxDQUFDLElBQUk7b0NBQzdCLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSTtvQ0FDakIsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJO29DQUNqQixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7aUNBQ2hCLENBQUMsQ0FBQTs0QkFDSixDQUFDO2lDQUFNLENBQUM7Z0NBQ04sS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztvQ0FDdEIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFO29DQUN6QixTQUFTLEVBQUUsYUFBYSxDQUFDLElBQUk7b0NBQzdCLElBQUksRUFBRSxDQUFDO29DQUNQLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRztpQ0FDaEIsQ0FBQyxDQUFBOzRCQUNKLENBQUM7d0JBQ0gsQ0FBQztvQkFDSCxDQUFDO3lCQUFNLENBQUM7d0JBQ04sSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7NEJBQ3pDLEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FDdkMsS0FBSyxFQUNMLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUMsS0FBSztnQ0FDL0IsT0FBTyxJQUFJLFNBQVMsQ0FBQztvQ0FDbkIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO29DQUN0QixPQUFPLEVBQUU7d0NBQ1AsR0FBRyxLQUFLLENBQUMsT0FBTzt3Q0FDaEI7NENBQ0UsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnREFDaEMsU0FBUyxFQUFFLElBQUk7Z0RBQ2YsV0FBVztnREFDWCxTQUFTO2dEQUVULEtBQUssRUFBRSx1QkFBdUI7Z0RBQzlCLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRzs2Q0FDaEIsQ0FBQyxDQUFDO3lDQUNKO3FDQUNGO29DQUNELE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztpQ0FDdkIsQ0FBQyxDQUFBOzRCQUNKLENBQUMsQ0FBQyxDQUNILENBQUE7d0JBQ0gsQ0FBQzs2QkFBTSxDQUFDOzRCQUNOLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsaUNBQWlDLElBQUksd0JBQXdCLENBQUMsQ0FBQTt3QkFDekYsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7Z0JBRUQsdUVBQXVFO2dCQUN2RSxxRUFBcUU7Z0JBQ3JFLE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxDQUM3Qix3QkFBd0I7cUJBQ3JCLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUN6QixDQUFBO2dCQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FDeEQsS0FBSyxFQUNMLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUMsS0FBSztvQkFDL0IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFFckMseURBQXlEO29CQUN6RCwyREFBMkQ7b0JBQzNELEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO3dCQUNoRCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7d0JBQ2hDLElBQUksVUFBVSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzs0QkFDeEQscUNBQXFDOzRCQUNyQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO2dDQUNuQixPQUFPLEVBQUUsVUFBVSxDQUFDLEVBQUU7Z0NBQ3RCLFNBQVMsRUFBRSxVQUFVLENBQUMsSUFBSTs2QkFDM0IsQ0FBQyxDQUFBOzRCQUNGLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ25CLGlCQUFpQixVQUFVLENBQUMsSUFBSSxlQUFlLE1BQU0sQ0FBQyxPQUFPLFlBQVksVUFBVSxDQUFDLEVBQUUsOEJBQThCLENBQ3JILENBQUE7NEJBQ0QsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7d0JBQ3pCLENBQUM7b0JBQ0gsQ0FBQztvQkFFRCxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFBO2dCQUMxQyxDQUFDLENBQUMsQ0FDSCxDQUFBO2dCQUVELEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBRWpDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtZQUNwRCxDQUFDLENBQUM7U0FDSCxDQUFBO0lBQ0gsQ0FBQyxDQUFDO0NBQ0gsQ0FBQztJQUNBLE1BQU0sQ0FBQywwQkFBMEIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDakUsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUNuRCxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FDckMsQ0FBQSJ9
|
|
574
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9naXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxxQ0FBcUM7QUFDckMsOENBQThDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVsTCxPQUFPLEtBQUssSUFBSSxNQUFNLFNBQVMsQ0FBQTtBQUMvQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFbkQsTUFBTSxPQUFPLFNBQVUsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBc0I7Q0FBRztBQUVwRixFQUFFO0FBQ0YsRUFBRTtBQUNGLFVBQVU7QUFDVixFQUFFO0FBRUYsTUFBTSxPQUFPLFNBQVUsU0FBUSxNQUFNLENBQUMsS0FBSyxDQUFZLFdBQVcsQ0FBQyxDQUFDO0lBQ2xFLFdBQVcsRUFBRSxNQUFNLENBQUMsTUFBTTtJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87SUFDdEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNO0lBQ3RCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Q0FDbkMsQ0FBQztDQUFHO0FBRUw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLE1BQU0sQ0FBQyxNQUFNLEVBQW9CLENBQ3JFLFNBQVMsQ0FBQyxJQUFJLENBQ1osTUFBTSxDQUFDLFFBQVEsQ0FDYixNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ1osV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNO0lBQzFCLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTztJQUN0QixPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU07SUFDdEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxlQUFlLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzFDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTTtRQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU07S0FDcEIsQ0FBQyxDQUFDO0NBQ0osQ0FBQyxFQUNGLG9CQUFvQixDQUFDLGVBQWUsQ0FBQztJQUNuQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBQyxLQUFLO1FBQ3ZDLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsK0dBQStHO1NBQzFJLENBQUMsQ0FBQyxDQUFBO1FBRUgsaUNBQWlDO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFBO1FBQzNDLEtBQUssTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksZUFBZSxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDdkIsQ0FBQztZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ25DLENBQUM7UUFFRCxxREFBcUQ7UUFDckQsTUFBTSxRQUFRLEdBQWEsRUFBRSxDQUFBO1FBQzdCLEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNsRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLFFBQVEsQ0FBQyxJQUFJLENBQ1gsa0NBQWtDLFFBQVEsdUJBQXVCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDcEYsQ0FBQTtZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsNERBQTREO1FBQzVELElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixPQUFPLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3ZCLElBQUksV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDekYsQ0FBQTtRQUNILENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFBO0lBQzdELENBQUMsQ0FBQztJQUNGLE1BQU0sRUFBRSxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztDQUNwRSxDQUFDLENBQ0gsQ0FDRixDQUNGO0NBQUc7QUFFSixNQUFNLE9BQU8sUUFBUyxTQUFRLE1BQU0sQ0FBQyxLQUFLLENBQVcsVUFBVSxDQUFDLENBQUM7SUFDL0QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQy9DLENBQUM7SUFDRixRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUN0QixTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDeEIsY0FBYyxFQUFFLE1BQU0sQ0FBQyxNQUFNO0tBQzlCLENBQUM7Q0FDSCxDQUFDO0NBQUc7QUFFTDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLE1BQU0sQ0FBQyxLQUFLLENBQWlCLGdCQUFnQixDQUFDLENBQUM7SUFDakYsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNO0lBQ25CLEVBQUUsRUFBRSxNQUFNLENBQUMsTUFBTTtDQUNsQixDQUFDO0NBQUc7QUFFTCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0FBRzVEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLE9BQU8sU0FBUztJQUNwQixPQUFPLENBQWtCO0lBQ3pCLE9BQU8sQ0FBUTtJQUVmLE9BQU8sQ0FBUTtJQUVmLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBbUU7UUFDeEcsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7SUFDeEIsQ0FBQztDQUNGO0FBRUQsRUFBRTtBQUNGLEVBQUU7QUFDRixTQUFTO0FBQ1QsRUFBRTtBQUNGLE1BQU0saUJBQWtCLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FFbEU7Q0FBRztBQUVMLE1BQU0sMEJBQTJCLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsQ0FHcEY7Q0FBRztBQUVMLE1BQU0sYUFBYyxTQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUUxRDtDQUFHO0FBRUwsRUFBRTtBQUNGLEVBQUU7QUFDRixXQUFXO0FBQ1gsRUFBRTtBQUVGLE1BQU0sYUFBYyxTQUFRLE9BQU8sQ0FBQyxPQUFPLEVBQWlCLENBQUMsZUFBZSxFQUFFO0lBQzVFLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN4QixNQUFNLHNCQUFzQixHQUFHLDBDQUEwQyxDQUFBO1FBQ3pFLE1BQU0sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsaUJBQWlCLENBQUE7UUFFakUsZ0hBQWdIO1FBQ2hILE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxHQUFHLElBQXVDLEVBQUUsRUFBRTtZQUM5RSxPQUFPLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDakMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsbUJBQW1CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQ2hGLE1BQU0sQ0FBQyxLQUFLLEVBQ1osTUFBTSxDQUFDLE1BQU0sQ0FDZCxDQUFBO1FBQ0gsQ0FBQyxDQUFBO1FBRUQsZ0hBQWdIO1FBQ2hILE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxHQUFHLElBQXFDLEVBQUUsRUFBRTtZQUMxRSxPQUFPLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDL0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsbUJBQW1CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQ2hGLE1BQU0sQ0FBQyxLQUFLLENBQ2IsQ0FBQTtRQUNILENBQUMsQ0FBQTtRQUVEOzs7O1dBSUc7UUFDSCxTQUFTLG9CQUFvQixDQUFDLEdBQVc7WUFDdkMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtZQUMzQyxPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQzdFLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FHZ0QsTUFBTTthQUN0RSxFQUFFLENBQUMsNkJBQTZCLENBQUMsQ0FDaEMsUUFBUSxDQUFDLEVBQ1AsT0FBZSxFQUNmLEVBQUUsUUFBUSxHQUFHLEtBQUssRUFBRSxlQUFlLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUU7WUFFM0YsaUNBQWlDO1lBQ2pDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLHNCQUFzQixDQUFDLDBCQUEwQixzQkFBc0IsR0FBRyxDQUFDLENBQUE7WUFFakcsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBRTdFLG1EQUFtRDtZQUNuRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNmLE9BQU8sS0FBSyxDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDLENBQUE7WUFDNUUsQ0FBQztZQUVELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDcEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFBO1lBRWhDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDYixJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUNiLE9BQU8sS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyw4REFBOEQsQ0FBQyxDQUFBO2dCQUMxRixDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxDQUFDLENBQUE7WUFDaEYsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMscUNBQXFDLE9BQU8sRUFBRSxDQUFDLENBQUE7WUFDdkUsQ0FBQztZQUVELG1DQUFtQztZQUNuQyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsT0FBTyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQ3hGLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNuQixLQUFLO2lCQUNGLElBQUksRUFBRTtpQkFDTixLQUFLLENBQUMsSUFBSSxDQUFDO2lCQUNYLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQ3hCLENBQ0YsQ0FBQTtZQUVELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNwQixPQUFPLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQ3RCLHNEQUFzRCxPQUFPLHlCQUF5QixDQUN2RixDQUFBO2dCQUNILENBQUM7Z0JBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQyxJQUFJLDBCQUEwQixDQUFDO29CQUMzQyxPQUFPLEVBQUUsbUNBQW1DLE9BQU8sRUFBRTtvQkFDckQsYUFBYSxFQUFFLE9BQU87aUJBQ3ZCLENBQUMsQ0FBQTtZQUNKLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsT0FBTyxRQUFRLE9BQU8sUUFBUSxDQUFDLENBQUE7Z0JBRWxHLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDekIsWUFBWSxFQUNaLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQ3ZGLE1BQU0sQ0FBQyxLQUFLLENBQ2IsQ0FBQTtnQkFFRCxPQUFPLElBQUksU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO1lBQ3JELENBQUM7UUFDSCxDQUFDLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDYixDQUFDLENBQUMsSUFBSSxDQUNKLE1BQU0sQ0FBQyxRQUFRLENBQ2IsbUJBQW1CLEVBQ25CLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3pCLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtZQUVwRSxLQUFLLENBQUMsQ0FBQyxzQkFBc0IsQ0FDM0IsaURBQWlELHNCQUFzQix3QkFBd0IsQ0FDaEcsQ0FBQTtZQUVELDRDQUE0QztZQUM1QyxPQUFPLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUMxRCxDQUFDLENBQUMsQ0FDSCxDQUNGLEVBQ0gsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDYixDQUFDLENBQUMsSUFBSSxDQUNKLE1BQU0sQ0FBQyxRQUFRLENBQ2IsNEJBQTRCLEVBQzVCLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQztZQUMzQixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHFCQUFxQixPQUFPLHFEQUFxRCxDQUFDLENBQUE7WUFFeEcsS0FBSyxDQUFDLENBQUMsc0JBQXNCLENBQzNCLDRCQUE0QixDQUFDLENBQUMsYUFBYSxPQUFPLE9BQU8sU0FBUyxDQUNuRSxDQUFBO1lBRUQsNENBQTRDO1lBQzVDLE9BQU8sS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ2pFLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FDSixDQUFBO1FBRUgsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUM1RCxRQUFRLENBQUMsRUFBQyxLQUFnQjtZQUN4QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzNCLEtBQUssQ0FBQyxPQUFPLEVBQ2IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDdkYsdUdBQXVHO1lBQ3ZHLE1BQU0sQ0FBQyxLQUFLLENBQ2IsQ0FBQTtZQUVELEtBQUssQ0FBQyxDQUFDLHdCQUF3QixDQUM3QixTQUFTLFNBQVMsb0JBQW9CLEtBQUssQ0FBQyxPQUFPLE9BQU8sS0FBSyxDQUFDLE9BQU8sU0FBUyxDQUNqRixDQUFBO1FBQ0gsQ0FBQyxDQUNGLENBQUE7UUFFRCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsbUNBQW1DLENBQUMsQ0FDeEUsUUFBUSxDQUFDLEVBQUMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQVN4RDtZQUNDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLFNBQVMsU0FBUyxLQUFLLENBQUMsTUFBTSxVQUFVLENBQUMsQ0FBQTtZQUVoRixNQUFNLFNBQVMsR0FBRztnQkFDaEIsSUFBSTtnQkFDSixNQUFNO2dCQUNOLFFBQVE7Z0JBQ1IsV0FBVyxXQUFXLEdBQUc7Z0JBQ3pCLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMzQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDO2FBQ3pDO2lCQUNFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBRVosMENBQTBDO1lBQzFDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBRXhELHNCQUFzQjtZQUN0QixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzVCLE9BQU8sRUFDUCxvQkFBb0IsRUFDcEIsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDWCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsT0FBTyxFQUFFLENBQUM7Z0JBQzFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ2IsTUFBTTtxQkFDSCxPQUFPLENBQ04sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUN4QjtxQkFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDcEUsQ0FBQyxDQUNILENBQUE7WUFFRCwrRUFBK0U7WUFDL0UsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQTtnQkFDOUIsTUFBTSxhQUFhLEdBQUcsR0FBRyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7Z0JBQzlDLE1BQU0sZUFBZSxHQUFHO29CQUN0QixJQUFJO29CQUNKLE1BQU07b0JBQ04sUUFBUTtvQkFDUixVQUFVLENBQUMsRUFBRTtvQkFDYixZQUFZO29CQUNaLGFBQWE7aUJBQ2Q7cUJBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUVaLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLFlBQVksT0FBTyxhQUFhLFlBQVksU0FBUyxFQUFFLENBQUMsQ0FBQTtnQkFDL0YsS0FBSyxDQUFDLENBQUMsc0JBQXNCLENBQUMsZUFBZSxDQUFDLENBQUE7WUFDaEQsQ0FBQztZQUVELE9BQU8sVUFBVSxDQUFBO1FBQ25CLENBQUMsQ0FDRixDQUFBO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQ3BELFFBQVEsQ0FBQyxFQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBSWxDO1lBQ0MsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsU0FBUyxZQUFZLE9BQU8sRUFBRSxDQUFDLENBQUE7WUFDeEYsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLE9BQU8sVUFBVSxDQUFDLENBQUE7WUFFL0UsZ0VBQWdFO1lBQ2hFLDJFQUEyRTtZQUMzRSxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUN2RCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7Z0JBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7b0JBQUUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO2dCQUM1RCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyw0QkFBNEI7WUFDekYsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQ0YsQ0FBQTtRQUVELE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUN4RCxRQUFRLENBQUMsRUFBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFLN0M7WUFDQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQTtZQUMzQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixhQUFhLGNBQWMsU0FBUyxFQUFFLENBQUMsQ0FBQTtZQUM5RSxPQUFPLEtBQUssQ0FBQyxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixPQUFPLGNBQWMsYUFBYSxHQUFHLENBQUMsQ0FBQTtRQUMvRixDQUFDLENBQ0YsQ0FBQTtRQUVELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUNwRCxRQUFRLENBQUMsRUFBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBTXhEO1lBQ0MsTUFBTSxhQUFhLEdBQUcsR0FBRyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUE7WUFDM0MsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsYUFBYSxlQUFlLFNBQVMsWUFBWSxTQUFTLEVBQUUsQ0FBQyxDQUFBO1lBRXBHLG1EQUFtRDtZQUNuRCxNQUFNLFdBQVcsR0FBRztnQkFDbEIsSUFBSTtnQkFDSixNQUFNO2dCQUNOLE1BQU07Z0JBQ04sT0FBTztnQkFDUCxJQUFJO2dCQUNKLGFBQWE7Z0JBQ2IsSUFBSSxTQUFTLEdBQUc7YUFDakI7aUJBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBRVosT0FBTyxLQUFLLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNyRCxDQUFDLENBQ0YsQ0FBQTtRQUVELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQzlDLFFBQVEsQ0FBQyxFQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQVF4QztZQUNDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxJQUFJLENBQUMsSUFBSSxZQUFZLFNBQVMsRUFBRSxDQUFDLENBQUE7WUFDdEUsTUFBTSxXQUFXLEdBQUc7Z0JBQ2xCLElBQUk7Z0JBQ0osTUFBTTtnQkFDTixNQUFNO2dCQUNOLE9BQU87Z0JBQ1AsSUFBSTtnQkFDSixJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUc7YUFDakI7aUJBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBRVosS0FBSyxDQUFDLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUFDLENBQUE7WUFFNUMsTUFBTSxhQUFhLEdBQUc7Z0JBQ3BCLElBQUk7Z0JBQ0osTUFBTTtnQkFDTixRQUFRO2dCQUNSLE9BQU87Z0JBQ1AsSUFBSSxDQUFDLElBQUk7Z0JBQ1QsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTthQUN0QjtpQkFDRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7WUFFWixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixJQUFJLENBQUMsSUFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxZQUFZLFNBQVMsRUFBRSxDQUFDLENBQUE7WUFDL0YsT0FBTyxLQUFLLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUN2RCxDQUFDLENBQ0YsQ0FBQTtRQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQ3hDLFFBQVEsQ0FBQyxFQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBMEM7WUFDdEUsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsU0FBUyxZQUFZLE9BQU8sRUFBRSxDQUFDLENBQUE7WUFDdEUsT0FBTyxLQUFLLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUNyRSxDQUFDLENBQ0YsQ0FBQTtRQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQyxLQUFhO1lBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNyRSxPQUFPLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQ3RCLG1HQUFtRyxDQUNwRyxDQUFBO1lBQ0gsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEtBQUssK0JBQStCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3ZHLElBQUksUUFBUSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNuQixPQUFPLEtBQUssQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLG9EQUFvRCxFQUFFLENBQUMsQ0FBQTtZQUNoRyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFBO1lBQy9ELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUVGLE9BQU87WUFDTDs7Ozs7ZUFLRztZQUNILEtBQUs7WUFFTDs7Ozs7ZUFLRztZQUNILGFBQWE7WUFFYjs7Ozs7O2VBTUc7WUFDSCxhQUFhO1lBRWI7Ozs7Ozs7Ozs7O2VBV0c7WUFDSCxtQkFBbUI7WUFFbkI7Ozs7Ozs7OztlQVNHO1lBQ0gsZ0JBQWdCO1lBRWhCOzs7Ozs7OztlQVFHO1lBQ0gsa0JBQWtCO1lBRWxCOzs7Ozs7Ozs7ZUFTRztZQUNILGdCQUFnQjtZQUVoQjs7Ozs7Ozs7ZUFRRztZQUNILGFBQWE7WUFFYjs7Ozs7ZUFLRztZQUNILFVBQVU7U0FDWCxDQUFBO0lBQ0gsQ0FBQyxDQUFDO0NBQ0gsQ0FBQztJQUNBLE1BQU0sQ0FBQywwQkFBMEIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDakUsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUNuRCxLQUFLLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUN6QyxDQUFBOztBQUdILE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBTyxDQUFDLE9BQU8sRUFBZSxDQUFDLGFBQWEsRUFBRTtJQUM3RSxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDeEIsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFBO1FBRS9CLDZFQUE2RTtRQUM3RSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFBO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFFN0IsT0FBTztZQUNMLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUMsRUFBRSxRQUFRLEVBQXdCO2dCQUMxRiwwREFBMEQ7Z0JBQzFELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztvQkFDakMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQ2hFLENBQUMsQ0FBQTtnQkFFRixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksTUFBTSxDQUFDLE9BQU8sVUFBVSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQTtnQkFFdkUsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsUUFBUSxFQUFFLENBQUMsQ0FBQTtnQkFFL0QsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDL0MsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNsQixPQUFPLEtBQUssQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ3ZGLENBQUM7Z0JBRUQsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUNoQyxRQUFRLEVBQ1IsRUFBRSxDQUFDLGNBQWMsRUFDakIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ3pCLE1BQU0sQ0FBQyxHQUFHLENBQUM7b0JBQ1QsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO29CQUM3QixLQUFLLENBQUMsS0FBSzt3QkFDVCxPQUFPLElBQUksYUFBYSxDQUFDLEVBQUUsT0FBTyxFQUFFLHlCQUEwQixLQUFlLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFBO29CQUM1RixDQUFDO2lCQUNGLENBQUMsQ0FDSCxFQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQ3JELENBQUE7Z0JBRUQsdURBQXVEO2dCQUN2RCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUE7Z0JBRS9FLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsaURBQWlELGNBQWMsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtnQkFDM0csS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsYUFBYSxFQUFFLENBQUMsQ0FBQSxDQUFDLG9DQUFvQztnQkFFNUYsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7Z0JBRTlDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQVksS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtnQkFFN0YsbUZBQW1GO2dCQUNuRiw0RUFBNEU7Z0JBQzVFLE1BQU0sd0JBQXdCLEdBQUcsTUFBTTtxQkFDcEMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO3FCQUNuQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUVsRCxLQUNFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksd0JBQXdCLEVBQ3BELENBQUM7b0JBQ0QsTUFBTSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFVBQVUsQ0FBQTtvQkFFdEUsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUMsQ0FBQTtvQkFFaEQsTUFBTSx1QkFBdUIsR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNO3lCQUMxQyxHQUFHLENBQ0YsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUM7d0JBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO3dCQUMxRSxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO3dCQUU3QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7NEJBQ2hCLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsbUJBQW1CLFFBQVEsZUFBZSxDQUFDLENBQUE7NEJBQ3BFLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO3dCQUN0QixDQUFDO3dCQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQzs0QkFDakIsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO3lCQUNiLENBQUMsQ0FBQTtvQkFDSixDQUFDLENBQUMsQ0FBQyxFQUNIO3dCQUNFLFdBQVcsRUFBRSxXQUFXO3FCQUN6QixDQUNGO3lCQUNBLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO29CQUVuQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFBO29CQUU5RiwrREFBK0Q7b0JBQy9ELDBEQUEwRDtvQkFDMUQsSUFBSSxhQUFhLEVBQUUsQ0FBQzt3QkFDbEIsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsYUFBYSxDQUFDLElBQUksWUFBWSxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTt3QkFFakcsd0RBQXdEO3dCQUN4RCxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FDM0IsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDOzRCQUN6QixPQUFPLEVBQUUsYUFBYSxDQUFDLEVBQUU7NEJBQ3pCLFNBQVMsRUFBRSxhQUFhLENBQUMsSUFBSTs0QkFDN0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHO3lCQUNoQixDQUFDLENBQ0gsQ0FBQTt3QkFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO3dCQUU5RSx3REFBd0Q7d0JBQ3hELEtBQUssTUFBTSxFQUFFLElBQUksYUFBYSxFQUFFLENBQUM7NEJBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0NBQzNCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQ0FDM0IsT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFO29DQUN6QixTQUFTLEVBQUUsYUFBYSxDQUFDLElBQUk7b0NBQzdCLFNBQVMsRUFBRSxFQUFFO29DQUNiLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRztpQ0FDaEIsQ0FBQyxDQUFBOzRCQUNKLENBQUM7d0JBQ0gsQ0FBQzt3QkFFRCxzQ0FBc0M7d0JBQ3RDLEtBQUssTUFBTSxDQUFDLElBQUksdUJBQXVCLEVBQUUsQ0FBQzs0QkFDeEMsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dDQUM5QixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0NBQ3pCLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRTtvQ0FDekIsU0FBUyxFQUFFLGFBQWEsQ0FBQyxJQUFJO29DQUM3QixTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUk7b0NBQ2pCLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSTtvQ0FDakIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHO2lDQUNoQixDQUFDLENBQUE7NEJBQ0osQ0FBQztpQ0FBTSxDQUFDO2dDQUNOLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0NBQ3RCLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRTtvQ0FDekIsU0FBUyxFQUFFLGFBQWEsQ0FBQyxJQUFJO29DQUM3QixJQUFJLEVBQUUsQ0FBQztvQ0FDUCxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7aUNBQ2hCLENBQUMsQ0FBQTs0QkFDSixDQUFDO3dCQUNILENBQUM7b0JBQ0gsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLElBQUksdUJBQXVCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDOzRCQUN6QyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQ3ZDLEtBQUssRUFDTCxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQUs7Z0NBQy9CLE9BQU8sSUFBSSxTQUFTLENBQUM7b0NBQ25CLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztvQ0FDdEIsT0FBTyxFQUFFO3dDQUNQLEdBQUcsS0FBSyxDQUFDLE9BQU87d0NBQ2hCOzRDQUNFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0RBQ2hDLFNBQVMsRUFBRSxJQUFJO2dEQUNmLFdBQVc7Z0RBQ1gsU0FBUztnREFFVCxLQUFLLEVBQUUsdUJBQXVCO2dEQUM5QixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7NkNBQ2hCLENBQUMsQ0FBQzt5Q0FDSjtxQ0FDRjtvQ0FDRCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87aUNBQ3ZCLENBQUMsQ0FBQTs0QkFDSixDQUFDLENBQUMsQ0FDSCxDQUFBO3dCQUNILENBQUM7NkJBQU0sQ0FBQzs0QkFDTixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGlDQUFpQyxJQUFJLHdCQUF3QixDQUFDLENBQUE7d0JBQ3pGLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUVELHVFQUF1RTtnQkFDdkUscUVBQXFFO2dCQUNyRSxNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsQ0FDN0Isd0JBQXdCO3FCQUNyQixHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDekIsQ0FBQTtnQkFFRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQ3hELEtBQUssRUFDTCxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQUs7b0JBQy9CLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7b0JBRXJDLHlEQUF5RDtvQkFDekQsMkRBQTJEO29CQUMzRCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQzt3QkFDaEQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO3dCQUNoQyxJQUFJLFVBQVUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7NEJBQ3hELHFDQUFxQzs0QkFDckMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztnQ0FDbkIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxFQUFFO2dDQUN0QixTQUFTLEVBQUUsVUFBVSxDQUFDLElBQUk7NkJBQzNCLENBQUMsQ0FBQTs0QkFDRixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUNuQixpQkFBaUIsVUFBVSxDQUFDLElBQUksZUFBZSxNQUFNLENBQUMsT0FBTyxZQUFZLFVBQVUsQ0FBQyxFQUFFLDhCQUE4QixDQUNySCxDQUFBOzRCQUNELFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO3dCQUN6QixDQUFDO29CQUNILENBQUM7b0JBRUQsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQTtnQkFDMUMsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtnQkFFRCxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUVqQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUE7WUFDcEQsQ0FBQyxDQUFDO1NBQ0gsQ0FBQTtJQUNILENBQUMsQ0FBQztDQUNILENBQUM7SUFDQSxNQUFNLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2pFLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FDbkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQ3JDLENBQUEifQ==
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { GistHandler } from "./gist.js";
|
|
|
9
9
|
import { RunCommandService } from "./os-command.js";
|
|
10
10
|
import { packages } from "./shared.js";
|
|
11
11
|
import { patchArgvForWrapCommands } from "./argv-patch.js";
|
|
12
|
+
import { syncEffectSubtree } from "./sync-effect-subtree.js";
|
|
12
13
|
patchArgvForWrapCommands(process.argv);
|
|
13
14
|
NodeRuntime.runMain(Effect
|
|
14
15
|
.fn("effa-cli")(function* () {
|
|
@@ -441,6 +442,24 @@ NodeRuntime.runMain(Effect
|
|
|
441
442
|
yield* Effect.logInfo("Cleanup operation completed");
|
|
442
443
|
}))
|
|
443
444
|
.pipe(Command.withDescription("Nuclear cleanup command: removes all generated files and cleans the workspace"));
|
|
445
|
+
const syncEffect = Command
|
|
446
|
+
.make("sync-effect", {
|
|
447
|
+
manifests: Flag.string("manifests").pipe(Flag.withAlias("m"), Flag.optional, Flag.withDescription("Comma-separated list of package.json paths to scan (default: package.json)")),
|
|
448
|
+
prefix: Flag.string("prefix").pipe(Flag.optional, Flag.withDescription("Subtree prefix (default: repos/effect)")),
|
|
449
|
+
remote: Flag.string("remote").pipe(Flag.optional, Flag.withDescription("Git remote name (default: effect-smol)")),
|
|
450
|
+
remoteUrl: Flag.string("remote-url").pipe(Flag.optional, Flag.withDescription("Git remote URL (default: https://github.com/Effect-TS/effect-smol.git)"))
|
|
451
|
+
}, Effect.fn("effa-cli.sync-effect")(function* ({ manifests, prefix, remote, remoteUrl }) {
|
|
452
|
+
yield* syncEffectSubtree({
|
|
453
|
+
manifestPaths: Option.match(manifests, {
|
|
454
|
+
onNone: () => ["package.json"],
|
|
455
|
+
onSome: (m) => m.split(",").map((p) => p.trim())
|
|
456
|
+
}),
|
|
457
|
+
subtreePrefix: Option.getOrElse(prefix, () => "repos/effect"),
|
|
458
|
+
remoteName: Option.getOrElse(remote, () => "effect-smol"),
|
|
459
|
+
remoteUrl: Option.getOrElse(remoteUrl, () => "https://github.com/Effect-TS/effect-smol.git")
|
|
460
|
+
});
|
|
461
|
+
}))
|
|
462
|
+
.pipe(Command.withDescription("Sync the Effect subtree to the version pinned in package.json"));
|
|
444
463
|
// configure CLI
|
|
445
464
|
return yield* Command.run(Command
|
|
446
465
|
.make("effa")
|
|
@@ -453,10 +472,11 @@ NodeRuntime.runMain(Effect
|
|
|
453
472
|
packagejson,
|
|
454
473
|
packagejsonPackages,
|
|
455
474
|
gist,
|
|
456
|
-
nuke
|
|
475
|
+
nuke,
|
|
476
|
+
syncEffect
|
|
457
477
|
])), {
|
|
458
478
|
version: "v1.0.0"
|
|
459
479
|
});
|
|
460
480
|
})()
|
|
461
481
|
.pipe(Effect.scoped, Effect.provide(Layer.provideMerge(Layer.merge(GistHandler.Default, RunCommandService.Default), NodeServices.layer))));
|
|
462
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELHFDQUFxQztBQUNyQyw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ3hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFdEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFMUQsd0JBQXdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBRXRDLFdBQVcsQ0FBQyxPQUFPLENBQ2pCLE1BQU07S0FDSCxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUE7SUFDdkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtJQUM3QixNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxDQUFDLDRCQUE0QixDQUFBO0lBQ2pFLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxpQkFBaUIs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
|
|
482
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELHFDQUFxQztBQUNyQyw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ3hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFdEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFNUQsd0JBQXdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBRXRDLFdBQVcsQ0FBQyxPQUFPLENBQ2pCLE1BQU07S0FDSCxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUE7SUFDdkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtJQUM3QixNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxDQUFDLDRCQUE0QixDQUFBO0lBQ2pFLE1B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
|
package/dist/os-command.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Effect, Layer
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
2
|
import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
|
|
3
3
|
declare const RunCommandService_base: Context.ServiceClass<RunCommandService, "RunCommandService", {
|
|
4
4
|
runGetExitCode: (cmd: string, cwd?: string) => Effect.Effect<import("effect/unstable/process/ChildProcessSpawner").ExitCode, import("effect/PlatformError").PlatformError, never>;
|
package/dist/os-command.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"os-command.d.ts","sourceRoot":"","sources":["../src/os-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"os-command.d.ts","sourceRoot":"","sources":["../src/os-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;;0BAoBhD,MAAM,QAAQ,MAAM;wBActB,MAAM,QAAQ,MAAM;;;8BAdlB,MAAM,QAAQ,MAAM;4BActB,MAAM,QAAQ,MAAM;;;AAhCnD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,sBAsCrC;IACA,MAAM,CAAC,OAAO,6DAAgC;CAC/C"}
|
package/dist/os-command.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-constant-binary-expression */
|
|
2
2
|
/* eslint-disable no-empty-pattern */
|
|
3
|
-
import { Effect, Layer
|
|
3
|
+
import { Context, Effect, Layer } from "effect";
|
|
4
4
|
import { ChildProcess } from "effect/unstable/process";
|
|
5
5
|
import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
|
|
6
6
|
/**
|
|
@@ -40,4 +40,4 @@ export class RunCommandService extends Context.Service()("RunCommandService", {
|
|
|
40
40
|
}) {
|
|
41
41
|
static Default = Layer.effect(this, this.make);
|
|
42
42
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3MtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vcy1jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxxQ0FBcUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUVqRjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLE9BQU8sQ0FBQyxPQUFPLEVBQXFCLENBQUMsbUJBQW1CLEVBQUU7SUFDL0YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3hCLGtEQUFrRDtRQUNsRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQTtRQUUxQzs7Ozs7OztXQU9HO1FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxHQUFXLEVBQUUsR0FBWSxFQUFFLEVBQUUsQ0FDbkQsT0FBTzthQUNKLFFBQVEsQ0FDUCxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUNwRixDQUFBO1FBRUw7Ozs7Ozs7V0FPRztRQUNILE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQVksRUFBRSxFQUFFLENBQ2pELE9BQU87YUFDSixNQUFNLENBQ0wsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUM5QyxDQUFBO1FBRUwsT0FBTztZQUNMLGNBQWM7WUFDZCxZQUFZO1NBQ2IsQ0FBQTtJQUNILENBQUMsQ0FBQztDQUNILENBQUM7SUFDQSxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Effect, FileSystem } from "effect";
|
|
2
|
+
import { RunCommandService } from "./os-command.js";
|
|
3
|
+
export interface SyncEffectConfig {
|
|
4
|
+
readonly manifestPaths: ReadonlyArray<string>;
|
|
5
|
+
readonly subtreePrefix: string;
|
|
6
|
+
readonly remoteName: string;
|
|
7
|
+
readonly remoteUrl: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const syncEffectSubtree: (config: SyncEffectConfig) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | Error, FileSystem.FileSystem | RunCommandService>;
|
|
10
|
+
//# sourceMappingURL=sync-effect-subtree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-effect-subtree.d.ts","sourceRoot":"","sources":["../src/sync-effect-subtree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAU,MAAM,QAAQ,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AASD,eAAO,MAAM,iBAAiB,yJAuG5B,CAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Effect, FileSystem, Option } from "effect";
|
|
2
|
+
import { RunCommandService } from "./os-command.js";
|
|
3
|
+
const depSections = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"];
|
|
4
|
+
const normalizeVersion = (range) => {
|
|
5
|
+
const match = range.match(/\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?/);
|
|
6
|
+
return match?.[0];
|
|
7
|
+
};
|
|
8
|
+
export const syncEffectSubtree = Effect.fnUntraced(function* (config) {
|
|
9
|
+
const fs = yield* FileSystem.FileSystem;
|
|
10
|
+
const { runGetExitCode, runGetString } = yield* RunCommandService;
|
|
11
|
+
const versionMentions = [];
|
|
12
|
+
for (const manifestPath of config.manifestPaths) {
|
|
13
|
+
if (!(yield* fs.exists(manifestPath)))
|
|
14
|
+
continue;
|
|
15
|
+
const manifest = JSON.parse(yield* fs.readFileString(manifestPath));
|
|
16
|
+
for (const section of depSections) {
|
|
17
|
+
const deps = (manifest[section] ?? {});
|
|
18
|
+
for (const [name, range] of Object.entries(deps)) {
|
|
19
|
+
if (name !== "effect" && !name.startsWith("@effect/"))
|
|
20
|
+
continue;
|
|
21
|
+
const normalized = normalizeVersion(String(range));
|
|
22
|
+
if (!normalized)
|
|
23
|
+
continue;
|
|
24
|
+
versionMentions.push({ manifestPath, section, name, range: String(range), normalized });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const effectPackageMentions = versionMentions.filter((e) => e.name === "effect");
|
|
29
|
+
const versionsFromEffectPackage = [...new Set(effectPackageMentions.map((e) => e.normalized))];
|
|
30
|
+
const versionsFromEffectScope = [
|
|
31
|
+
...new Set(versionMentions
|
|
32
|
+
.filter((e) => e.name.startsWith("@effect/") && e.normalized.startsWith("4."))
|
|
33
|
+
.map((e) => e.normalized))
|
|
34
|
+
];
|
|
35
|
+
const versions = versionsFromEffectPackage.length > 0
|
|
36
|
+
? versionsFromEffectPackage
|
|
37
|
+
: versionsFromEffectScope;
|
|
38
|
+
if (versions.length === 0) {
|
|
39
|
+
return yield* Effect.fail(new Error("Could not find any effect/@effect dependency versions in manifests"));
|
|
40
|
+
}
|
|
41
|
+
if (versions.length > 1) {
|
|
42
|
+
const details = (effectPackageMentions.length > 0 ? effectPackageMentions : versionMentions)
|
|
43
|
+
.map((e) => `${e.manifestPath} (${e.section}) ${e.name}: ${e.range}`)
|
|
44
|
+
.join("\n");
|
|
45
|
+
return yield* Effect.fail(new Error(`Found multiple Effect versions. Please align first:\n${details}`));
|
|
46
|
+
}
|
|
47
|
+
const version = versions[0];
|
|
48
|
+
const candidateRefs = [
|
|
49
|
+
`effect@${version}`,
|
|
50
|
+
`@effect/effect@${version}`,
|
|
51
|
+
`@effect/ai-anthropic@${version}`
|
|
52
|
+
];
|
|
53
|
+
// ensure remote exists
|
|
54
|
+
const remoteResult = yield* runGetString(`git remote get-url ${config.remoteName}`).pipe(Effect.option);
|
|
55
|
+
if (Option.isNone(remoteResult)) {
|
|
56
|
+
yield* runGetExitCode(`git remote add ${config.remoteName} ${config.remoteUrl}`);
|
|
57
|
+
}
|
|
58
|
+
yield* runGetExitCode(`git fetch ${config.remoteName} --tags`);
|
|
59
|
+
let ref;
|
|
60
|
+
for (const candidate of candidateRefs) {
|
|
61
|
+
const tagResult = yield* runGetString(`git ls-remote --exit-code --tags ${config.remoteName} refs/tags/${candidate}`)
|
|
62
|
+
.pipe(Effect.option);
|
|
63
|
+
if (Option.isSome(tagResult)) {
|
|
64
|
+
ref = candidate;
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (!ref) {
|
|
69
|
+
return yield* Effect.fail(new Error(`No matching tag found for version ${version}. Tried: ${candidateRefs.join(", ")}`));
|
|
70
|
+
}
|
|
71
|
+
yield* Effect.logInfo(`Using effect version: ${version}`);
|
|
72
|
+
yield* Effect.logInfo(`Using subtree ref: ${ref}`);
|
|
73
|
+
yield* runGetExitCode(`git -c status.showUntrackedFiles=no subtree pull --prefix=${config.subtreePrefix} ${config.remoteName} ${ref} --squash`);
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1lZmZlY3Qtc3VidHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zeW5jLWVmZmVjdC1zdWJ0cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQVNuRCxNQUFNLFdBQVcsR0FBRyxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsQ0FBVSxDQUFBO0FBRTVHLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtJQUN6QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUE7SUFDOUQsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNuQixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFDLE1BQXdCO0lBQ25GLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUE7SUFDdkMsTUFBTSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQTtJQUVqRSxNQUFNLGVBQWUsR0FNaEIsRUFBRSxDQUFBO0lBRVAsS0FBSyxNQUFNLFlBQVksSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUFFLFNBQVE7UUFFL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxD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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/cli",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0-beta.14",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"effect-app-cli": "./bin.js"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@effect/platform-node": "^4.0.0-beta.
|
|
13
|
-
"effect": "^4.0.0-beta.
|
|
12
|
+
"@effect/platform-node": "^4.0.0-beta.52",
|
|
13
|
+
"effect": "^4.0.0-beta.52",
|
|
14
14
|
"js-yaml": "4.1.1",
|
|
15
15
|
"node-watch": "^0.7.4"
|
|
16
16
|
},
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"json5": "^2.2.3",
|
|
21
21
|
"typescript": "~6.0.2",
|
|
22
22
|
"vitest": "^4.1.3",
|
|
23
|
-
"effect-app": "
|
|
24
|
-
"
|
|
23
|
+
"@effect-app/eslint-shared-config": "0.6.0-beta.10",
|
|
24
|
+
"effect-app": "4.0.0-beta.118"
|
|
25
25
|
},
|
|
26
26
|
"typesVersions": {
|
|
27
27
|
"*": {
|
|
@@ -54,6 +54,10 @@
|
|
|
54
54
|
"./shared": {
|
|
55
55
|
"types": "./dist/shared.d.ts",
|
|
56
56
|
"default": "./dist/shared.js"
|
|
57
|
+
},
|
|
58
|
+
"./sync-effect-subtree": {
|
|
59
|
+
"types": "./dist/sync-effect-subtree.d.ts",
|
|
60
|
+
"default": "./dist/sync-effect-subtree.js"
|
|
57
61
|
}
|
|
58
62
|
},
|
|
59
63
|
"gitHead": "bd8e27eea3eff97db8739d577d67e7336c078d28",
|
package/src/gist.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-constant-binary-expression */
|
|
2
2
|
/* eslint-disable no-empty-pattern */
|
|
3
3
|
// import necessary modules from the libraries
|
|
4
|
-
import { Array, Config, Data, Effect, FileSystem, Layer, Option, Path, pipe, Redacted, Result, Schema, SchemaIssue, SchemaTransformation,
|
|
4
|
+
import { Array, Config, Context, Data, Effect, FileSystem, Layer, Option, Path, pipe, Redacted, Result, Schema, SchemaIssue, SchemaTransformation, SynchronizedRef } from "effect"
|
|
5
5
|
|
|
6
6
|
import * as yaml from "js-yaml"
|
|
7
7
|
import path from "path"
|
|
@@ -256,7 +256,7 @@ class GHGistService extends Context.Service<GHGistService>()("GHGistService", {
|
|
|
256
256
|
|
|
257
257
|
const entries = yield* pipe(
|
|
258
258
|
cacheContent,
|
|
259
|
-
Schema.decodeUnknownEffect(Schema.fromJsonString(GistCacheEntries)),
|
|
259
|
+
Schema.decodeUnknownEffect(Schema.fromJsonString(Schema.toCodecJson(GistCacheEntries))),
|
|
260
260
|
Effect.orDie
|
|
261
261
|
)
|
|
262
262
|
|
|
@@ -301,7 +301,7 @@ class GHGistService extends Context.Service<GHGistService>()("GHGistService", {
|
|
|
301
301
|
function*(cache: GistCache) {
|
|
302
302
|
const cacheJson = yield* pipe(
|
|
303
303
|
cache.entries,
|
|
304
|
-
Schema.encodeUnknownEffect(Schema.fromJsonString(GistCacheEntries)),
|
|
304
|
+
Schema.encodeUnknownEffect(Schema.fromJsonString(Schema.toCodecJson(GistCacheEntries))),
|
|
305
305
|
// cannot recover from parse errors in any case, better to die here instead of cluttering the signature
|
|
306
306
|
Effect.orDie
|
|
307
307
|
)
|
package/src/index.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { RunCommandService } from "./os-command.js"
|
|
|
11
11
|
import { packages } from "./shared.js"
|
|
12
12
|
|
|
13
13
|
import { patchArgvForWrapCommands } from "./argv-patch.js"
|
|
14
|
+
import { syncEffectSubtree } from "./sync-effect-subtree.js"
|
|
14
15
|
|
|
15
16
|
patchArgvForWrapCommands(process.argv)
|
|
16
17
|
|
|
@@ -693,6 +694,46 @@ NodeRuntime.runMain(
|
|
|
693
694
|
)
|
|
694
695
|
.pipe(Command.withDescription("Nuclear cleanup command: removes all generated files and cleans the workspace"))
|
|
695
696
|
|
|
697
|
+
const syncEffect = Command
|
|
698
|
+
.make(
|
|
699
|
+
"sync-effect",
|
|
700
|
+
{
|
|
701
|
+
manifests: Flag.string("manifests").pipe(
|
|
702
|
+
Flag.withAlias("m"),
|
|
703
|
+
Flag.optional,
|
|
704
|
+
Flag.withDescription(
|
|
705
|
+
"Comma-separated list of package.json paths to scan (default: package.json)"
|
|
706
|
+
)
|
|
707
|
+
),
|
|
708
|
+
prefix: Flag.string("prefix").pipe(
|
|
709
|
+
Flag.optional,
|
|
710
|
+
Flag.withDescription("Subtree prefix (default: repos/effect)")
|
|
711
|
+
),
|
|
712
|
+
remote: Flag.string("remote").pipe(
|
|
713
|
+
Flag.optional,
|
|
714
|
+
Flag.withDescription("Git remote name (default: effect-smol)")
|
|
715
|
+
),
|
|
716
|
+
remoteUrl: Flag.string("remote-url").pipe(
|
|
717
|
+
Flag.optional,
|
|
718
|
+
Flag.withDescription(
|
|
719
|
+
"Git remote URL (default: https://github.com/Effect-TS/effect-smol.git)"
|
|
720
|
+
)
|
|
721
|
+
)
|
|
722
|
+
},
|
|
723
|
+
Effect.fn("effa-cli.sync-effect")(function*({ manifests, prefix, remote, remoteUrl }) {
|
|
724
|
+
yield* syncEffectSubtree({
|
|
725
|
+
manifestPaths: Option.match(manifests, {
|
|
726
|
+
onNone: () => ["package.json"],
|
|
727
|
+
onSome: (m) => m.split(",").map((p) => p.trim())
|
|
728
|
+
}),
|
|
729
|
+
subtreePrefix: Option.getOrElse(prefix, () => "repos/effect"),
|
|
730
|
+
remoteName: Option.getOrElse(remote, () => "effect-smol"),
|
|
731
|
+
remoteUrl: Option.getOrElse(remoteUrl, () => "https://github.com/Effect-TS/effect-smol.git")
|
|
732
|
+
})
|
|
733
|
+
})
|
|
734
|
+
)
|
|
735
|
+
.pipe(Command.withDescription("Sync the Effect subtree to the version pinned in package.json"))
|
|
736
|
+
|
|
696
737
|
// configure CLI
|
|
697
738
|
return yield* Command.run(
|
|
698
739
|
Command
|
|
@@ -706,7 +747,8 @@ NodeRuntime.runMain(
|
|
|
706
747
|
packagejson,
|
|
707
748
|
packagejsonPackages,
|
|
708
749
|
gist,
|
|
709
|
-
nuke
|
|
750
|
+
nuke,
|
|
751
|
+
syncEffect
|
|
710
752
|
])),
|
|
711
753
|
{
|
|
712
754
|
version: "v1.0.0"
|
package/src/os-command.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-constant-binary-expression */
|
|
2
2
|
/* eslint-disable no-empty-pattern */
|
|
3
|
-
import { Effect, Layer
|
|
3
|
+
import { Context, Effect, Layer } from "effect"
|
|
4
4
|
import { ChildProcess } from "effect/unstable/process"
|
|
5
5
|
import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner"
|
|
6
6
|
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { Effect, FileSystem, Option } from "effect"
|
|
2
|
+
import { RunCommandService } from "./os-command.js"
|
|
3
|
+
|
|
4
|
+
export interface SyncEffectConfig {
|
|
5
|
+
readonly manifestPaths: ReadonlyArray<string>
|
|
6
|
+
readonly subtreePrefix: string
|
|
7
|
+
readonly remoteName: string
|
|
8
|
+
readonly remoteUrl: string
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const depSections = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"] as const
|
|
12
|
+
|
|
13
|
+
const normalizeVersion = (range: string) => {
|
|
14
|
+
const match = range.match(/\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?/)
|
|
15
|
+
return match?.[0]
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const syncEffectSubtree = Effect.fnUntraced(function*(config: SyncEffectConfig) {
|
|
19
|
+
const fs = yield* FileSystem.FileSystem
|
|
20
|
+
const { runGetExitCode, runGetString } = yield* RunCommandService
|
|
21
|
+
|
|
22
|
+
const versionMentions: Array<{
|
|
23
|
+
manifestPath: string
|
|
24
|
+
section: string
|
|
25
|
+
name: string
|
|
26
|
+
range: string
|
|
27
|
+
normalized: string
|
|
28
|
+
}> = []
|
|
29
|
+
|
|
30
|
+
for (const manifestPath of config.manifestPaths) {
|
|
31
|
+
if (!(yield* fs.exists(manifestPath))) continue
|
|
32
|
+
|
|
33
|
+
const manifest = JSON.parse(yield* fs.readFileString(manifestPath))
|
|
34
|
+
|
|
35
|
+
for (const section of depSections) {
|
|
36
|
+
const deps = (manifest[section] ?? {}) as Record<string, string>
|
|
37
|
+
|
|
38
|
+
for (const [name, range] of Object.entries(deps)) {
|
|
39
|
+
if (name !== "effect" && !name.startsWith("@effect/")) continue
|
|
40
|
+
|
|
41
|
+
const normalized = normalizeVersion(String(range))
|
|
42
|
+
if (!normalized) continue
|
|
43
|
+
|
|
44
|
+
versionMentions.push({ manifestPath, section, name, range: String(range), normalized })
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const effectPackageMentions = versionMentions.filter((e) => e.name === "effect")
|
|
50
|
+
|
|
51
|
+
const versionsFromEffectPackage = [...new Set(effectPackageMentions.map((e) => e.normalized))]
|
|
52
|
+
|
|
53
|
+
const versionsFromEffectScope = [
|
|
54
|
+
...new Set(
|
|
55
|
+
versionMentions
|
|
56
|
+
.filter((e) => e.name.startsWith("@effect/") && e.normalized.startsWith("4."))
|
|
57
|
+
.map((e) => e.normalized)
|
|
58
|
+
)
|
|
59
|
+
]
|
|
60
|
+
|
|
61
|
+
const versions = versionsFromEffectPackage.length > 0
|
|
62
|
+
? versionsFromEffectPackage
|
|
63
|
+
: versionsFromEffectScope
|
|
64
|
+
|
|
65
|
+
if (versions.length === 0) {
|
|
66
|
+
return yield* Effect.fail(
|
|
67
|
+
new Error("Could not find any effect/@effect dependency versions in manifests")
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (versions.length > 1) {
|
|
72
|
+
const details = (effectPackageMentions.length > 0 ? effectPackageMentions : versionMentions)
|
|
73
|
+
.map((e) => `${e.manifestPath} (${e.section}) ${e.name}: ${e.range}`)
|
|
74
|
+
.join("\n")
|
|
75
|
+
|
|
76
|
+
return yield* Effect.fail(
|
|
77
|
+
new Error(`Found multiple Effect versions. Please align first:\n${details}`)
|
|
78
|
+
)
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const version = versions[0]
|
|
82
|
+
const candidateRefs = [
|
|
83
|
+
`effect@${version}`,
|
|
84
|
+
`@effect/effect@${version}`,
|
|
85
|
+
`@effect/ai-anthropic@${version}`
|
|
86
|
+
]
|
|
87
|
+
|
|
88
|
+
// ensure remote exists
|
|
89
|
+
const remoteResult = yield* runGetString(`git remote get-url ${config.remoteName}`).pipe(Effect.option)
|
|
90
|
+
|
|
91
|
+
if (Option.isNone(remoteResult)) {
|
|
92
|
+
yield* runGetExitCode(`git remote add ${config.remoteName} ${config.remoteUrl}`)
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
yield* runGetExitCode(`git fetch ${config.remoteName} --tags`)
|
|
96
|
+
|
|
97
|
+
let ref: string | undefined
|
|
98
|
+
for (const candidate of candidateRefs) {
|
|
99
|
+
const tagResult = yield* runGetString(
|
|
100
|
+
`git ls-remote --exit-code --tags ${config.remoteName} refs/tags/${candidate}`
|
|
101
|
+
)
|
|
102
|
+
.pipe(Effect.option)
|
|
103
|
+
|
|
104
|
+
if (Option.isSome(tagResult)) {
|
|
105
|
+
ref = candidate
|
|
106
|
+
break
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (!ref) {
|
|
111
|
+
return yield* Effect.fail(
|
|
112
|
+
new Error(`No matching tag found for version ${version}. Tried: ${candidateRefs.join(", ")}`)
|
|
113
|
+
)
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
yield* Effect.logInfo(`Using effect version: ${version}`)
|
|
117
|
+
yield* Effect.logInfo(`Using subtree ref: ${ref}`)
|
|
118
|
+
yield* runGetExitCode(
|
|
119
|
+
`git -c status.showUntrackedFiles=no subtree pull --prefix=${config.subtreePrefix} ${config.remoteName} ${ref} --squash`
|
|
120
|
+
)
|
|
121
|
+
})
|