@effect-app/vue 4.0.0-beta.22 → 4.0.0-beta.221

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.
Files changed (106) hide show
  1. package/CHANGELOG.md +1613 -0
  2. package/dist/commander.d.ts +634 -0
  3. package/dist/commander.d.ts.map +1 -0
  4. package/dist/commander.js +1070 -0
  5. package/dist/confirm.d.ts +21 -0
  6. package/dist/confirm.d.ts.map +1 -0
  7. package/dist/confirm.js +26 -0
  8. package/dist/errorReporter.d.ts +7 -5
  9. package/dist/errorReporter.d.ts.map +1 -1
  10. package/dist/errorReporter.js +14 -19
  11. package/dist/form.d.ts +15 -6
  12. package/dist/form.d.ts.map +1 -1
  13. package/dist/form.js +46 -13
  14. package/dist/index.d.ts +1 -1
  15. package/dist/intl.d.ts +15 -0
  16. package/dist/intl.d.ts.map +1 -0
  17. package/dist/intl.js +9 -0
  18. package/dist/lib.d.ts +8 -10
  19. package/dist/lib.d.ts.map +1 -1
  20. package/dist/lib.js +35 -10
  21. package/dist/makeClient.d.ts +156 -339
  22. package/dist/makeClient.d.ts.map +1 -1
  23. package/dist/makeClient.js +225 -376
  24. package/dist/makeContext.d.ts +1 -1
  25. package/dist/makeContext.d.ts.map +1 -1
  26. package/dist/makeIntl.d.ts +1 -1
  27. package/dist/makeIntl.d.ts.map +1 -1
  28. package/dist/makeUseCommand.d.ts +9 -0
  29. package/dist/makeUseCommand.d.ts.map +1 -0
  30. package/dist/makeUseCommand.js +13 -0
  31. package/dist/mutate.d.ts +54 -34
  32. package/dist/mutate.d.ts.map +1 -1
  33. package/dist/mutate.js +139 -46
  34. package/dist/query.d.ts +20 -39
  35. package/dist/query.d.ts.map +1 -1
  36. package/dist/query.js +133 -72
  37. package/dist/routeParams.d.ts +3 -2
  38. package/dist/routeParams.d.ts.map +1 -1
  39. package/dist/routeParams.js +4 -3
  40. package/dist/runtime.d.ts +10 -6
  41. package/dist/runtime.d.ts.map +1 -1
  42. package/dist/runtime.js +32 -18
  43. package/dist/toast.d.ts +51 -0
  44. package/dist/toast.d.ts.map +1 -0
  45. package/dist/toast.js +34 -0
  46. package/dist/withToast.d.ts +30 -0
  47. package/dist/withToast.d.ts.map +1 -0
  48. package/dist/withToast.js +64 -0
  49. package/examples/streamMutation.ts +72 -0
  50. package/package.json +48 -50
  51. package/src/commander.ts +3406 -0
  52. package/src/{experimental/confirm.ts → confirm.ts} +12 -14
  53. package/src/errorReporter.ts +65 -75
  54. package/src/form.ts +61 -18
  55. package/src/intl.ts +12 -0
  56. package/src/lib.ts +48 -20
  57. package/src/makeClient.ts +574 -1134
  58. package/src/{experimental/makeUseCommand.ts → makeUseCommand.ts} +8 -5
  59. package/src/mutate.ts +268 -127
  60. package/src/query.ts +203 -183
  61. package/src/routeParams.ts +3 -2
  62. package/src/runtime.ts +46 -21
  63. package/src/{experimental/toast.ts → toast.ts} +15 -27
  64. package/src/{experimental/withToast.ts → withToast.ts} +46 -12
  65. package/test/Mutation.test.ts +181 -24
  66. package/test/dist/form.test.d.ts.map +1 -1
  67. package/test/dist/lib.test.d.ts.map +1 -0
  68. package/test/dist/streamFinal.test.d.ts.map +1 -0
  69. package/test/dist/streamFn.test.d.ts.map +1 -0
  70. package/test/dist/stubs.d.ts +3531 -122
  71. package/test/dist/stubs.d.ts.map +1 -1
  72. package/test/dist/stubs.js +187 -32
  73. package/test/form-validation-errors.test.ts +25 -20
  74. package/test/form.test.ts +22 -3
  75. package/test/lib.test.ts +240 -0
  76. package/test/makeClient.test.ts +292 -38
  77. package/test/streamFinal.test.ts +64 -0
  78. package/test/streamFn.test.ts +457 -0
  79. package/test/stubs.ts +223 -43
  80. package/tsconfig.examples.json +20 -0
  81. package/tsconfig.json +0 -1
  82. package/tsconfig.json.bak +5 -2
  83. package/tsconfig.src.json +34 -34
  84. package/tsconfig.test.json +2 -2
  85. package/vitest.config.ts +5 -5
  86. package/dist/experimental/commander.d.ts +0 -359
  87. package/dist/experimental/commander.d.ts.map +0 -1
  88. package/dist/experimental/commander.js +0 -557
  89. package/dist/experimental/confirm.d.ts +0 -19
  90. package/dist/experimental/confirm.d.ts.map +0 -1
  91. package/dist/experimental/confirm.js +0 -28
  92. package/dist/experimental/intl.d.ts +0 -16
  93. package/dist/experimental/intl.d.ts.map +0 -1
  94. package/dist/experimental/intl.js +0 -5
  95. package/dist/experimental/makeUseCommand.d.ts +0 -8
  96. package/dist/experimental/makeUseCommand.d.ts.map +0 -1
  97. package/dist/experimental/makeUseCommand.js +0 -13
  98. package/dist/experimental/toast.d.ts +0 -47
  99. package/dist/experimental/toast.d.ts.map +0 -1
  100. package/dist/experimental/toast.js +0 -41
  101. package/dist/experimental/withToast.d.ts +0 -25
  102. package/dist/experimental/withToast.d.ts.map +0 -1
  103. package/dist/experimental/withToast.js +0 -45
  104. package/eslint.config.mjs +0 -24
  105. package/src/experimental/commander.ts +0 -1835
  106. package/src/experimental/intl.ts +0 -9
@@ -0,0 +1,634 @@
1
+ import { type MissingDependencies } from "@effect-app/vue/makeClient";
2
+ import * as Context from "effect-app/Context";
3
+ import * as Effect from "effect-app/Effect";
4
+ import * as Layer from "effect-app/Layer";
5
+ import * as Option from "effect-app/Option";
6
+ import type * as Exit from "effect/Exit";
7
+ import type * as Fiber from "effect/Fiber";
8
+ import * as Predicate from "effect/Predicate";
9
+ import { type Refinement } from "effect/Predicate";
10
+ import * as Stream from "effect/Stream";
11
+ import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
12
+ import { type FormatXMLElementFn, type PrimitiveType } from "intl-messageformat";
13
+ import { type ComputedRef } from "vue";
14
+ import { Confirm } from "./confirm.js";
15
+ import { I18n } from "./intl.js";
16
+ import { Toast } from "./toast.js";
17
+ import { WithToast } from "./withToast.js";
18
+ type IntlRecord = Record<string, PrimitiveType | FormatXMLElementFn<string, string>>;
19
+ /**
20
+ * Progress information surfaced by a stream command. Either a plain text label
21
+ * or a `{ text, percentage }` pair when concrete progress is known.
22
+ */
23
+ export type Progress = string | {
24
+ readonly text: string;
25
+ readonly percentage: number;
26
+ };
27
+ type FnOptions<Id extends string, I18nCustomKey extends string, State extends IntlRecord | undefined> = {
28
+ i18nCustomKey?: I18nCustomKey;
29
+ /**
30
+ * passed to the i18n formatMessage calls so you can use it in translation messagee
31
+ * including the Command `action` string.
32
+ * Automatically wrapped with Computed if just a thunk.
33
+ * provided as Command.state tag, so you can access it in the function.
34
+ */
35
+ state?: ComputedRef<State> | (() => State);
36
+ blockKey?: (id: Id) => string | undefined;
37
+ waitKey?: (id: Id) => string | undefined;
38
+ allowed?: (id: Id, state: ComputedRef<State>) => boolean;
39
+ };
40
+ type FnOptionsInternal<I18nCustomKey extends string> = {
41
+ i18nCustomKey?: I18nCustomKey | undefined;
42
+ state?: IntlRecord | undefined;
43
+ };
44
+ export declare const DefaultIntl: {
45
+ de: {
46
+ "handle.confirmation": string;
47
+ "handle.waiting": string;
48
+ "handle.success": string;
49
+ "handle.with_errors": string;
50
+ "handle.with_warnings": string;
51
+ "handle.error_response": string;
52
+ "handle.response_error": string;
53
+ "handle.request_error": string;
54
+ "handle.unexpected_error2": string;
55
+ "handle.unexpected_error": string;
56
+ "handle.not_found": string;
57
+ };
58
+ en: {
59
+ "handle.confirmation": string;
60
+ "handle.waiting": string;
61
+ "handle.success": string;
62
+ "handle.with_errors": string;
63
+ "handle.with_warnings": string;
64
+ "handle.error_response": string;
65
+ "handle.request_error": string;
66
+ "handle.response_error": string;
67
+ "handle.unexpected_error2": string;
68
+ "handle.unexpected_error": string;
69
+ "handle.not_found": string;
70
+ };
71
+ };
72
+ declare const CommandContext_base: Context.ServiceClass<CommandContext, "CommandContext", {
73
+ id: string;
74
+ i18nKey: string;
75
+ action: string;
76
+ label: string;
77
+ namespace: string;
78
+ namespaced: (key: string) => string;
79
+ state?: IntlRecord | undefined;
80
+ }>;
81
+ export declare class CommandContext extends CommandContext_base {
82
+ }
83
+ declare const CommandProgress_base: Context.Reference<{
84
+ readonly update: (progress: Progress | undefined) => Effect.Effect<void>;
85
+ }>;
86
+ /**
87
+ * Service available inside `streamFn` stream handlers that lets you imperatively push
88
+ * progress updates to the command's reactive `progress` ref.
89
+ *
90
+ * Use `Command.mapProgress(fn)` or `Command.updateProgress(progress)` to interact with this service.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * // Using mapProgress (recommended) — applied as a stream pipe operator:
95
+ * const exportCmd = Command.streamFn("exportData")(
96
+ * function*(arg, ctx) {
97
+ * return makeExportStream(arg.id).pipe(
98
+ * Command.mapProgress((r) =>
99
+ * AsyncResult.isSuccess(r) && r.value._tag === "OperationProgress"
100
+ * ? { text: `${r.value.completed}/${r.value.total}`, percentage: r.value.completed / r.value.total * 100 }
101
+ * : undefined
102
+ * )
103
+ * )
104
+ * }
105
+ * )
106
+ * // exportCmd.progress is updated for every OperationProgress event
107
+ * ```
108
+ */
109
+ export declare class CommandProgress extends CommandProgress_base {
110
+ }
111
+ export type EmitWithCallback<A, Event extends string> = (event: Event, value: A, onDone: () => void) => void;
112
+ /**
113
+ * Use to wrap emit calls with a callback to signal completion.
114
+ * Useful when the publisher wants to wait for the subscriber to finish processing.
115
+ */
116
+ export declare const wrapEmit: <A, Event extends string>(emit: EmitWithCallback<A, NoInfer<Event>>, event: Event) => (value: A) => Promise<void>;
117
+ export declare namespace Commander {
118
+ type IntlRecord = Record<string, PrimitiveType | FormatXMLElementFn<string, string>>;
119
+ type FnOptions<Id extends string, I18nKey extends string, State extends IntlRecord | undefined> = {
120
+ i18nCustomKey?: I18nKey;
121
+ state?: ComputedRef<State> | (() => State);
122
+ blockKey?: (id: Id) => string | undefined;
123
+ waitKey?: (id: Id) => string | undefined;
124
+ allowed?: (id: Id, state: ComputedRef<State>) => boolean;
125
+ };
126
+ type CommanderBase<RT, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> = Gen<RT, Id, I18nKey, State> & NonGen<RT, Id, I18nKey, State> & CommandContextLocal<Id, I18nKey> & {
127
+ state: Context.Service<`Commander.Command.${Id}.state`, State>;
128
+ };
129
+ type CommanderFn<RT, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> = CommanderBase<RT, Id, I18nKey, State>;
130
+ type CommanderWrap<RT, Id extends string, I18nCustomKey extends string, State extends IntlRecord | undefined, I, A, E, R> = CommandContextLocal<Id, I18nCustomKey> & GenWrap<RT, Id, I18nCustomKey, I, A, E, R, State> & NonGenWrap<RT, Id, I18nCustomKey, I, A, E, R, State> & {
131
+ state: Context.Service<`Commander.Command.${Id}.state`, State>;
132
+ };
133
+ interface CommandContextLocal<Id extends string, I18nKey extends string> {
134
+ id: Id;
135
+ i18nKey: I18nKey;
136
+ namespace: `action.${I18nKey}`;
137
+ namespaced: <K extends string>(k: K) => `action.${I18nKey}.${K}`;
138
+ }
139
+ interface CommandProps<A, E, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> extends CommandContextLocal<Id, I18nKey> {
140
+ /** reactive */
141
+ action: string;
142
+ /** reactive */
143
+ label: string;
144
+ /** reactive */
145
+ result: AsyncResult.AsyncResult<A, E>;
146
+ /**
147
+ * reactive – formatted progress info driven by `Command.mapProgress` or `Command.updateProgress`
148
+ * inside a `streamFn` handler. Undefined for non-stream commands.
149
+ */
150
+ progress: Progress | undefined;
151
+ /** reactive */
152
+ waiting: boolean;
153
+ /** reactive */
154
+ blocked: boolean;
155
+ /** reactive */
156
+ allowed: boolean;
157
+ /** reactive */
158
+ state: State;
159
+ }
160
+ interface CommandOut<Arg, A, E, R, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> extends CommandProps<A, E, Id, I18nKey, State> {
161
+ new (): {};
162
+ /** click handlers */
163
+ handle: ((arg: Arg) => Fiber.Fiber<Exit.Exit<A, E>>) & {
164
+ /** @deprecated don't exist */
165
+ effect: (arg: Arg) => Effect.Effect<A, E, R>;
166
+ };
167
+ }
168
+ interface CommandContextLocal2<Id extends string, I18nKey extends string, State extends IntlRecord | undefined> extends CommandContextLocal<Id, I18nKey> {
169
+ state: State;
170
+ }
171
+ type ArgForCombinator<Arg> = [Arg] extends [void] ? undefined : NoInfer<Arg>;
172
+ type CommandOutHelper<Arg, Eff extends Effect.Effect<any, any, any>, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> = CommandOut<Arg, Effect.Success<Eff>, Effect.Error<Eff>, Effect.Services<Eff>, Id, I18nKey, State>;
173
+ type Gen<RT, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> = {
174
+ <Eff extends Effect.Yieldable<any, any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, AEff, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Generator<Eff, AEff, never>): CommandOut<Arg, AEff, [
175
+ Eff
176
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer E, infer _R>] ? E : never, [
177
+ Eff
178
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R : never, Id, I18nKey, State>;
179
+ <Eff extends Effect.Yieldable<any, any, any, any>, AEff, A extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Generator<Eff, AEff, never>, a: (_: Effect.Effect<AEff, [
180
+ Eff
181
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer E, infer _R>] ? E : never, [
182
+ Eff
183
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R : never>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A): CommandOutHelper<Arg, A, Id, I18nKey, State>;
184
+ <Eff extends Effect.Yieldable<any, any, any, any>, AEff, A, B extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Generator<Eff, AEff, never>, a: (_: Effect.Effect<AEff, [
185
+ Eff
186
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer E, infer _R>] ? E : never, [
187
+ Eff
188
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R : never>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B): CommandOutHelper<Arg, B, Id, I18nKey, State>;
189
+ <Eff extends Effect.Yieldable<any, any, any, any>, AEff, A, B, C extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Generator<Eff, AEff, never>, a: (_: Effect.Effect<AEff, [
190
+ Eff
191
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer E, infer _R>] ? E : never, [
192
+ Eff
193
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R : never>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C): CommandOutHelper<Arg, C, Id, I18nKey, State>;
194
+ <Eff extends Effect.Yieldable<any, any, any, any>, AEff, A, B, C, D extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Generator<Eff, AEff, never>, a: (_: Effect.Effect<AEff, [
195
+ Eff
196
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer E, infer _R>] ? E : never, [
197
+ Eff
198
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R : never>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, d: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D): CommandOutHelper<Arg, D, Id, I18nKey, State>;
199
+ <Eff extends Effect.Yieldable<any, any, any, any>, AEff, A, B, C, D, E extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Generator<Eff, AEff, never>, a: (_: Effect.Effect<AEff, [
200
+ Eff
201
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer E, infer _R>] ? E : never, [
202
+ Eff
203
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R : never>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, d: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, e: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E): CommandOutHelper<Arg, E, Id, I18nKey, State>;
204
+ <Eff extends Effect.Yieldable<any, any, any, any>, AEff, A, B, C, D, E, F extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Generator<Eff, AEff, never>, a: (_: Effect.Effect<AEff, [
205
+ Eff
206
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer E, infer _R>] ? E : never, [
207
+ Eff
208
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R : never>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, d: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, e: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, f: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F): CommandOutHelper<Arg, F, Id, I18nKey, State>;
209
+ <Eff extends Effect.Yieldable<any, any, any, any>, AEff, A, B, C, D, E, F, G extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Generator<Eff, AEff, never>, a: (_: Effect.Effect<AEff, [
210
+ Eff
211
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer E, infer _R>] ? E : never, [
212
+ Eff
213
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R : never>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, d: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, e: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, f: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, g: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G): CommandOutHelper<Arg, G, Id, I18nKey, State>;
214
+ <Eff extends Effect.Yieldable<any, any, any, any>, AEff, A, B, C, D, E, F, G, H extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Generator<Eff, AEff, never>, a: (_: Effect.Effect<AEff, [
215
+ Eff
216
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer E, infer _R>] ? E : never, [
217
+ Eff
218
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R : never>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, d: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, e: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, f: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, g: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G, h: (_: G, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H): CommandOutHelper<Arg, H, Id, I18nKey, State>;
219
+ <Eff extends Effect.Yieldable<any, any, any, any>, AEff, A, B, C, D, E, F, G, H, I extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Generator<Eff, AEff, never>, a: (_: Effect.Effect<AEff, [
220
+ Eff
221
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer E, infer _R>] ? E : never, [
222
+ Eff
223
+ ] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R : never>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, d: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, e: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, f: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, g: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G, h: (_: G, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H, i: (_: H, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => I): CommandOutHelper<Arg, I, Id, I18nKey, State>;
224
+ };
225
+ type NonGen<RT, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> = {
226
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
227
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, A, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A, a: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
228
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, A, B, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A, a: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
229
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, A, B, C, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A, a: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
230
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, A, B, C, D, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A, a: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
231
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, A, B, C, D, E, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A, a: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, e: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
232
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, A, B, C, D, E, F, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A, a: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, e: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, f: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
233
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, A, B, C, D, E, F, G, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A, a: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, e: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, f: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G, g: (_: G, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
234
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, A, B, C, D, E, F, G, H, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A, a: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, e: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, f: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G, g: (_: G, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H, h: (_: H, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
235
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, A, B, C, D, E, F, G, H, I, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A, a: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, e: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, f: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G, g: (_: G, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H, h: (_: H, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => I, i: (_: H, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
236
+ };
237
+ type GenWrap<RT, Id extends string, I18nKey extends string, Arg, AEff, EEff, REff, State extends IntlRecord | undefined> = {
238
+ (): Exclude<REff, RT> extends never ? CommandOut<Arg, AEff, EEff, REff, Id, I18nKey, State> : MissingDependencies<RT, REff> & {};
239
+ <A extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A): CommandOutHelper<Arg, A, Id, I18nKey, State>;
240
+ <A, B extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B): CommandOutHelper<Arg, B, Id, I18nKey, State>;
241
+ <A, B, C extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C): CommandOutHelper<Arg, C, Id, I18nKey, State>;
242
+ <A, B, C, D extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, d: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D): CommandOutHelper<Arg, D, Id, I18nKey, State>;
243
+ <A, B, C, D, E extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, d: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, e: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E): CommandOutHelper<Arg, E, Id, I18nKey, State>;
244
+ <A, B, C, D, E, F extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, d: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, e: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, f: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F): CommandOutHelper<Arg, F, Id, I18nKey, State>;
245
+ <A, B, C, D, E, F, G extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, d: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, e: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, f: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, g: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G): CommandOutHelper<Arg, G, Id, I18nKey, State>;
246
+ <A, B, C, D, E, F, G, H extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, d: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, e: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, f: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, g: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G, h: (_: G, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H): CommandOutHelper<Arg, H, Id, I18nKey, State>;
247
+ <A, B, C, D, E, F, G, H, I extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A, b: (_: A, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, c: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, d: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, e: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, f: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, g: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G, h: (_: G, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H, i: (_: H, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => I): CommandOutHelper<Arg, I, Id, I18nKey, State>;
248
+ };
249
+ type NonGenWrap<RT, Id extends string, I18nKey extends string, Arg, AEff, EEff, REff, State extends IntlRecord | undefined> = {
250
+ (): Exclude<REff, RT> extends never ? CommandOutHelper<Arg, Effect.Effect<AEff, EEff, REff>, Id, I18nKey, State> : MissingDependencies<RT, REff> & {};
251
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, Arg>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
252
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, B, Arg>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
253
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, B, C, Arg>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
254
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, B, C, D, Arg>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
255
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, B, C, D, E, Arg>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, e: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
256
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, B, C, D, E, F, Arg>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, e: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, f: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
257
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, B, C, D, E, F, G, Arg>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, e: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, f: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G, g: (_: G, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
258
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, B, C, D, E, F, G, H, Arg>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, e: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, f: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G, g: (_: G, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H, h: (_: H, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
259
+ <Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, B, C, D, E, F, G, H, I, Arg>(a: (_: Effect.Effect<AEff, EEff, REff>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E, e: (_: E, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F, f: (_: F, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G, g: (_: G, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H, h: (_: H, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => I, i: (_: H, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff): CommandOutHelper<Arg, Eff, Id, I18nKey, State>;
260
+ };
261
+ /**
262
+ * Type for `streamFn` — generator overload where the body yields Effects and returns a `Stream`.
263
+ * `waiting` stays `true` while the stream is running, and updates the `result` ref per emitted value.
264
+ */
265
+ type StreamGen<RT, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> = {
266
+ <Eff extends Effect.Yieldable<any, any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, SA, SE, SR, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Generator<Eff, Stream.Stream<SA, SE, SR>, never>): CommandOut<Arg, SA, SE | ([Eff] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer E, infer _R>] ? E : never), SR | ([Eff] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R : never), Id, I18nKey, State>;
267
+ <Eff extends Effect.Yieldable<any, any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, SA, SE, SR, B, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Generator<Eff, Stream.Stream<SA, SE, SR>, never>, a: (_: Effect.Effect<Stream.Stream<SA, SE, SR>, ([Eff] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer E, infer _R>] ? E : never), ([Eff] extends [never] ? never : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R : never)>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B): B extends Stream.Stream<infer SA2, infer SE2, infer SR2> ? CommandOut<Arg, SA2, SE2, SR2, Id, I18nKey, State> : B extends Effect.Effect<Stream.Stream<infer SA2, infer SE2, infer SR2>, infer EE2, infer ER2> ? CommandOut<Arg, SA2, SE2 | EE2, SR2 | ER2, Id, I18nKey, State> : never;
268
+ };
269
+ /**
270
+ * Type for `streamFn` — non-generator overload accepting a function that returns a `Stream` directly,
271
+ * or an `Effect` that resolves to a `Stream`.
272
+ */
273
+ type NonGenStream<RT, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> = {
274
+ <SA, SE, SR extends RT | CommandContext | `Commander.Command.${Id}.state`, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Stream.Stream<SA, SE, SR>): CommandOut<Arg, SA, SE, SR, Id, I18nKey, State>;
275
+ <SA, SE, SR, A extends Stream.Stream<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Stream.Stream<SA, SE, SR>, a: (_: Stream.Stream<SA, SE, SR>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A): CommandOut<Arg, Stream.Success<A>, Stream.Error<A>, Stream.Services<A>, Id, I18nKey, State>;
276
+ <SA, SE, SR, EE, ER extends RT | CommandContext | `Commander.Command.${Id}.state`, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Effect.Effect<Stream.Stream<SA, SE, SR>, EE, ER>): CommandOut<Arg, SA, SE | EE, SR | ER, Id, I18nKey, State>;
277
+ <SA, SE, SR, EE, ER, B, Arg = void>(body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => Effect.Effect<Stream.Stream<SA, SE, SR>, EE, ER>, a: (_: Effect.Effect<Stream.Stream<SA, SE, SR>, EE, ER>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B): B extends Stream.Stream<infer SA2, infer SE2, infer SR2> ? CommandOut<Arg, SA2, SE2, SR2, Id, I18nKey, State> : B extends Effect.Effect<Stream.Stream<infer SA2, infer SE2, infer SR2>, infer EE2, infer ER2> ? CommandOut<Arg, SA2, SE2 | EE2, SR2 | ER2, Id, I18nKey, State> : never;
278
+ };
279
+ /**
280
+ * Type returned by `mutate.wrap` on a stream handler — analogous to `CommanderWrap` but for streams.
281
+ * The handler is pre-baked (from the stream mutation), so this is called with only optional combinators.
282
+ */
283
+ type StreamerWrap<RT, Id extends string, I18nKey extends string, State extends IntlRecord | undefined, Arg, SA, SE, SR> = CommandContextLocal<Id, I18nKey> & {
284
+ readonly state: Context.Service<`Commander.Command.${Id}.state`, State>;
285
+ } & {
286
+ (): Exclude<SR, RT> extends never ? CommandOut<Arg, SA, SE, SR, Id, I18nKey, State> : MissingDependencies<RT, SR> & {};
287
+ <A extends Stream.Stream<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Stream.Stream<SA, SE, SR>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A): CommandOut<Arg, Stream.Success<A>, Stream.Error<A>, Stream.Services<A>, Id, I18nKey, State>;
288
+ <B, A extends Stream.Stream<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Stream.Stream<SA, SE, SR>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A): CommandOut<Arg, Stream.Success<A>, Stream.Error<A>, Stream.Services<A>, Id, I18nKey, State>;
289
+ <B, C, A extends Stream.Stream<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Stream.Stream<SA, SE, SR>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A): CommandOut<Arg, Stream.Success<A>, Stream.Error<A>, Stream.Services<A>, Id, I18nKey, State>;
290
+ <B, C, D, A extends Stream.Stream<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(a: (_: Stream.Stream<SA, SE, SR>, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B, b: (_: B, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C, c: (_: C, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D, d: (_: D, arg: ArgForCombinator<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => A): CommandOut<Arg, Stream.Success<A>, Stream.Error<A>, Stream.Services<A>, Id, I18nKey, State>;
291
+ };
292
+ }
293
+ type ErrorRenderer<E, Args extends readonly any[]> = (e: E, action: string, ...args: Args) => string | undefined;
294
+ type RegisteredErrorRenderer<A> = {
295
+ guard: Refinement<unknown, A>;
296
+ render: (guarded: A) => string | undefined;
297
+ };
298
+ declare const CommanderErrorRenderers_base: Context.Reference<RegisteredErrorRenderer<any>[]>;
299
+ export declare class CommanderErrorRenderers extends CommanderErrorRenderers_base {
300
+ }
301
+ export declare const makeRegisteredErrorRenderer: <A>(guard: Predicate.Refinement<unknown, A>, render: (guarded: A) => string | undefined) => RegisteredErrorRenderer<A>;
302
+ export declare const CommanderStatic: {
303
+ accessArgs: <In, Out, Arg2, Arg = void>(cb: (a: NoInfer<Arg>, b: NoInfer<Arg2>) => (self: NoInfer<In>) => Out) => (self: In, arg: Arg, arg2: Arg2) => Out;
304
+ /**
305
+ * Stream pipe operator that maps each emitted value to a `Progress` entry and updates the
306
+ * command's reactive `progress` ref via the `CommandProgress` service.
307
+ *
308
+ * The mapper receives an `AsyncResult<A, E>` (each emitted value wrapped as
309
+ * `AsyncResult.success(value, { waiting: true })`), matching the same shape used by
310
+ * `CommandButton`'s `:progress-map` prop.
311
+ *
312
+ * Designed to be used inside a `streamFn` handler (either directly with `.pipe()`, or as
313
+ * a combinator argument):
314
+ *
315
+ * @example
316
+ * ```ts
317
+ * // Inside the handler body:
318
+ * Command.streamFn("exportData")(function*(arg, ctx) {
319
+ * return makeExportStream(arg.id).pipe(
320
+ * Command.mapProgress((r) =>
321
+ * AsyncResult.isSuccess(r) && r.value._tag === "OperationProgress"
322
+ * ? { text: `${r.value.completed}/${r.value.total}`, percentage: r.value.completed / r.value.total * 100 }
323
+ * : undefined
324
+ * )
325
+ * )
326
+ * })
327
+ *
328
+ * // Or as a stream combinator argument:
329
+ * Command.streamFn("exportData")(
330
+ * function*(arg, ctx) { return makeExportStream(arg.id) },
331
+ * (s) => s.pipe(Command.mapProgress((r) => AsyncResult.isSuccess(r) && r.value._tag === "OperationProgress" ? { text: `${r.value.completed}/${r.value.total}` } : undefined))
332
+ * )
333
+ * ```
334
+ */
335
+ mapProgress: <A, E>(fn: (result: AsyncResult.AsyncResult<A, E>) => Progress | undefined) => <R>(stream: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>;
336
+ /**
337
+ * Imperatively push a progress update from inside a `streamFn` handler.
338
+ * Requires `CommandProgress` to be in context — provided automatically for all `streamFn` streams.
339
+ *
340
+ * @example
341
+ * ```ts
342
+ * // In a streamFn handler:
343
+ * stream.pipe(
344
+ * Stream.tap((event) =>
345
+ * event._tag === "OperationProgress"
346
+ * ? Command.updateProgress({ text: `${event.completed}/${event.total}`, percentage: event.completed / event.total * 100 })
347
+ * : Effect.void
348
+ * )
349
+ * )
350
+ * ```
351
+ */
352
+ updateProgress: (progress: Progress | undefined) => Effect.Effect<void>;
353
+ /** Version of @see confirmOrInterrupt that automatically includes the action name in the default messages */
354
+ confirmOrInterrupt: (message?: string | undefined) => Effect.Effect<void, never, CommandContext | Confirm | I18n>;
355
+ /** Version of @see confirm that automatically includes the action name in the default messages */
356
+ confirm: (message?: string | undefined) => Effect.Effect<boolean, never, CommandContext | Confirm | I18n>;
357
+ updateAction: <Args extends Array<unknown>>(update: (currentActionId: string, ...args: Args) => string) => <A, E, R>(_: Effect.Effect<A, E, R>, ...input: Args) => Effect.Effect<A, E, R | CommandContext>;
358
+ registerErrorRenderer: <A>(guard: Predicate.Refinement<unknown, A>, render: (guarded: A) => string | undefined) => Layer.Layer<never, never, never>;
359
+ defaultFailureMessageHandler: <E, Args extends Array<unknown>, AME, AMR>(actionMaker: string | ((o: Option.Option<E>, ...args: Args) => string) | ((o: Option.Option<E>, ...args: Args) => Effect.Effect<string, AME, AMR>), errorRenderer?: ErrorRenderer<E, Args>) => (o: Option.Option<E>, ...args: Args) => Effect.Effect<string | {
360
+ level: "warn";
361
+ message: string;
362
+ }, AME, AMR | I18n>;
363
+ renderError: Effect.Effect<<E, Args extends readonly any[]>(action: string, errorRenderer?: ErrorRenderer<E, Args>) => (e: E, ...args: Args) => string, never, I18n>;
364
+ /**
365
+ * Version of withDefaultToast that automatically includes the action name in the default messages and uses intl.
366
+ * uses the Command id as i18n namespace. `action.{id}` is the main action name,
367
+ * and `action.{id}.waiting`, `action.{id}.success`, `action.{id}.failure` can be used to override the default messages for the respective states.
368
+ *
369
+ * the computed `state` provided to the Command can be used for interpolation in the i18n messages. (the state is captured at the start of each command execution and remains stable throughout)
370
+ *
371
+ * Note: if you provide `onWaiting` or `onSuccess` as `null`, no toast will be shown for that state.
372
+ * If you provide a string or function, it will be used instead of the i18n message.
373
+ * If you provide an `errorRenderer`, it will be used to render errors in the failure message.
374
+ */
375
+ withDefaultToast: <A, E, R, Args extends Array<unknown>>(options?: {
376
+ /**
377
+ * if true, previous toasts with this key will be replaced
378
+ */
379
+ stableToastId?: undefined | true | string | ((id: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => true | string | undefined);
380
+ errorRenderer?: (e: E, action: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => string | undefined;
381
+ showSpanInfo?: false;
382
+ onWaiting?: null | undefined | string | ((id: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => string | null | undefined);
383
+ onSuccess?: null | undefined | string | ((a: A, action: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => string | null | undefined);
384
+ }) => (self: Effect.Effect<A, E, R>, ...args: Args) => Effect.Effect<A, E, R | CommandContext | I18n | WithToast>;
385
+ /**
386
+ * Stream-aware version of `withDefaultToast`. Use this as a combinator inside `streamFn`
387
+ * (or anywhere a `Stream` needs toast lifecycle handling) instead of `withDefaultToast`.
388
+ *
389
+ * Unlike `withDefaultToast` (which only wraps the initial `Effect`), this combinator:
390
+ * - Shows the "waiting" toast **before** the stream starts
391
+ * - Updates the waiting toast with progress text when `progress` is set and a new element arrives
392
+ * - Shows the "success" toast only **after** the stream drains fully without error
393
+ * - Shows the "failure" toast if the stream errors or fails
394
+ *
395
+ * Accepts either a `Stream<A, E, R>` or an `Effect<Stream<A, E, R>, EE, ER>` as input,
396
+ * so it works in both the `NonGenStream` and `StreamGen` overloads of `streamFn`.
397
+ *
398
+ * @example
399
+ * ```ts
400
+ * Command.streamFn("exportData")(
401
+ * function*(arg, ctx) { return makeExportStream(arg.id) },
402
+ * Command.withDefaultToastStream({
403
+ * progress: (r) =>
404
+ * AsyncResult.isSuccess(r) && r.value._tag === "OperationProgress"
405
+ * ? { text: `${r.value.completed}/${r.value.total}`, percentage: r.value.completed / r.value.total * 100 }
406
+ * : undefined
407
+ * })
408
+ * )
409
+ * ```
410
+ */
411
+ withDefaultToastStream: <A, E, R, Args extends Array<unknown>>(options?: {
412
+ stableToastId?: undefined | true | string | ((id: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => true | string | undefined);
413
+ errorRenderer?: (e: E, action: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => string | undefined;
414
+ showSpanInfo?: false;
415
+ onWaiting?: null | undefined | string | ((id: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => string | null | undefined);
416
+ onSuccess?: null | undefined | string | ((a: A, action: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => string | null | undefined);
417
+ /** Map each stream element to a progress label. When non-`undefined`, updates both the active waiting toast and the `CommandProgress` service (for CommandButton progress display). */
418
+ progress?: (result: AsyncResult.AsyncResult<A, E>) => Progress | undefined;
419
+ }) => (self: Stream.Stream<A, E, R> | Effect.Effect<Stream.Stream<A, E, R>, any, any>, ...args: Args) => Stream.Stream<A, E, R | I18n | Toast | CommandContext>;
420
+ /** borrowing the idea from Families in Effect Atom */
421
+ family: <T extends object, Arg, ArgIn = Arg>(maker: (arg: Arg) => T, keyMaker?: (arg: ArgIn) => Arg) => (arg: ArgIn) => T;
422
+ };
423
+ export declare class CommanderImpl<RT, RTHooks> {
424
+ private readonly rt;
425
+ private readonly intl;
426
+ private readonly hooks;
427
+ constructor(rt: Context.Context<RT>, intl: I18n, hooks: Layer.Layer<RTHooks, never, RT>);
428
+ readonly makeContext: <const Id extends string, const I18nKey extends string = Id>(id: Id, options?: FnOptionsInternal<I18nKey>) => {
429
+ id: string;
430
+ i18nKey: string;
431
+ action: string;
432
+ label: string;
433
+ namespace: string;
434
+ namespaced: (key: string) => string;
435
+ state?: IntlRecord | undefined;
436
+ };
437
+ readonly makeCommand: <const Id extends string, const State extends IntlRecord | undefined, const I18nKey extends string = Id>(id_: Id | {
438
+ id: Id;
439
+ }, options?: FnOptions<Id, I18nKey, State>, errorDef?: Error) => (<Arg, A, E, R extends RT | RTHooks | CommandContext | `Commander.Command.${Id}.state`>(handler: (arg: Arg, ctx: Commander.CommandContextLocal2<Id, I18nKey, State>) => Effect.Effect<A, E, R>) => {
440
+ id: import("vue").UnwrapRef<Id>;
441
+ i18nKey: string;
442
+ namespace: string;
443
+ namespaced: (key: string) => string;
444
+ result: AsyncResult.AsyncResult<A, E>;
445
+ progress: undefined;
446
+ waiting: boolean;
447
+ blocked: boolean;
448
+ allowed: boolean;
449
+ action: string;
450
+ label: string;
451
+ state: State;
452
+ handle: ((arg: Arg) => Fiber.Fiber<Exit.Exit<A, E>, never>) & {
453
+ action: ComputedRef<string>;
454
+ label: ComputedRef<string>;
455
+ };
456
+ }) & {
457
+ id: Id;
458
+ };
459
+ /**
460
+ * Define a Command for handling user actions with built-in error reporting and state management.
461
+ *
462
+ * @param id The internal identifier for the action. Used as a tracing span and to lookup
463
+ * the user-facing name via internationalization (`action.${id}`).
464
+ * @param options Optional configuration for internationalization and state.
465
+ * @param options.i18nCustomKey Custom i18n key to use instead of `id` (e.g., for grouping similar actions)
466
+ * @param options.state Optional reactive state object (or function returning one) that is
467
+ * made available to the command effects and can be used for i18n interpolation.
468
+ * The state is captured at the start of each command execution and remains stable throughout.
469
+ * @returns A function that executes the command when called (e.g., directly in `@click` handlers).
470
+ * Built-in error reporting handles failures automatically.
471
+ *
472
+ * **Effect Context**: Effects have access to the `CommandContext` service, which provides
473
+ * the user-facing action name.
474
+ *
475
+ * **Returned Properties**:
476
+ * - `action`: User-facing action name from intl messages (useful for button labels)
477
+ * - `result`: The command result state
478
+ * - `waiting`: Boolean indicating if the command is in progress (shorthand for `result.waiting`)
479
+ * - `handle`: Function to execute the command
480
+ * - `exec`: The raw Effect that will be executed when calling `handle` (for advanced use cases)
481
+ * - `i18nKey`, `namespace`, `namespaced`: Helpers for internationalization keys
482
+ *
483
+ * **User Feedback**: Use the `withDefaultToast` helper for status notifications, or render
484
+ * the `result` inline for custom UI feedback.
485
+ */
486
+ fn: <const Id extends string, const State extends IntlRecord = IntlRecord, const I18nKey extends string = Id>(id: Id | {
487
+ id: Id;
488
+ }, options?: FnOptions<Id, I18nKey, State>) => Commander.Gen<RT | RTHooks, Id, I18nKey, State> & Commander.NonGen<RT | RTHooks, Id, I18nKey, State> & {
489
+ state: Context.Service<`Commander.Command.${Id}.state`, State>;
490
+ };
491
+ /**
492
+ * Internal factory for stream-backed commands. Accepts a handler that returns a `Stream` directly.
493
+ * Services (`CommandContext`, `stateTag`) are provided to the stream via `Stream.provideServiceEffect`.
494
+ */
495
+ readonly makeStreamCommand: <const Id extends string, const State extends IntlRecord | undefined, const I18nKey extends string = Id>(id_: Id | {
496
+ id: Id;
497
+ }, options?: FnOptions<Id, I18nKey, State>, errorDef?: Error) => (<Arg, SA, SE, SR>(handler: (arg: Arg, ctx: Commander.CommandContextLocal2<Id, I18nKey, State>) => Stream.Stream<SA, SE, SR>) => {
498
+ id: import("vue").UnwrapRef<Id>;
499
+ i18nKey: string;
500
+ namespace: string;
501
+ namespaced: (key: string) => string;
502
+ result: AsyncResult.AsyncResult<SA, SE>;
503
+ progress: string | {
504
+ readonly text: string;
505
+ readonly percentage: number;
506
+ } | undefined;
507
+ waiting: boolean;
508
+ blocked: boolean;
509
+ allowed: boolean;
510
+ action: string;
511
+ label: string;
512
+ state: State;
513
+ handle: ((arg: Arg) => Fiber.Fiber<unknown, unknown>) & {
514
+ action: ComputedRef<string>;
515
+ label: ComputedRef<string>;
516
+ };
517
+ }) & {
518
+ id: Id;
519
+ };
520
+ /**
521
+ * Define a stream-backed Command for handling user actions.
522
+ *
523
+ * Like `fn`, but the body generator (or function) must **return** a `Stream` rather than
524
+ * an `Effect`. The command's `waiting` state stays `true` while the stream is running and
525
+ * is set to `false` once it terminates. The reactive `result` ref is updated for every
526
+ * value emitted by the stream.
527
+ *
528
+ * Three handler shapes are accepted:
529
+ * 1. **Generator returning a Stream** (primary) — may yield Effects freely before returning the stream:
530
+ * ```ts
531
+ * Command.streamFn("exportData")(
532
+ * function*(arg, ctx) {
533
+ * const token = yield* getAuthToken
534
+ * return Stream.fromEffect(startExport(token, arg.id)).pipe(
535
+ * Stream.flatMap((job) => pollProgress(job.id))
536
+ * )
537
+ * }
538
+ * )
539
+ * ```
540
+ * 2. **Function returning a Stream directly**: `(arg, ctx) => Stream.make(1, 2, 3)`
541
+ * 3. **Function returning `Effect<Stream>`**: `(arg, ctx) => Effect.map(setup, (s) => s.stream)`
542
+ *
543
+ * @param id The internal identifier for the action (used for tracing and i18n lookup).
544
+ * @param options Same options as `fn` (`state`, `blockKey`, `waitKey`, `allowed`, `i18nCustomKey`).
545
+ *
546
+ * **Progress** — use `Command.mapProgress(fn)` as a stream pipe operator; the mapper receives
547
+ * `AsyncResult<A, E>` (each value wrapped as `AsyncResult.success(v, { waiting: true })`),
548
+ * matching the same shape as CommandButton’s `:progress-map` prop. Or call
549
+ * `Command.updateProgress(p)` for imperative control:
550
+ *
551
+ * ```ts
552
+ * // mapProgress as a combinator arg (outside the handler):
553
+ * Command.streamFn("exportData")(
554
+ * function*(arg, ctx) { return makeExportStream(arg.id) },
555
+ * (s) => s.pipe(Command.mapProgress((r) => AsyncResult.isSuccess(r) && r.value._tag === "OperationProgress" ? { text: `${r.value.completed}/${r.value.total}` } : undefined))
556
+ * )
557
+ *
558
+ * // Or inline inside the handler body:
559
+ * Command.streamFn("exportData")(function*(arg, ctx) {
560
+ * return makeExportStream(arg.id).pipe(Command.mapProgress((r) => AsyncResult.isSuccess(r) ? ... : undefined))
561
+ * })
562
+ * ```
563
+ *
564
+ * **Pipeable combinators** — the 2nd–Nth args follow the same pattern as `fn`: each combinator
565
+ * receives `(stream, arg, ctx)` and returns a transformed stream:
566
+ * ```ts
567
+ * Command.streamFn("exportData")(
568
+ * handler,
569
+ * (s, arg, ctx) => s.pipe(Command.mapProgress(fn), Stream.take(100))
570
+ * )
571
+ * ```
572
+ *
573
+ * **Returned Properties**: `action`, `label`, `result`, `progress`, `waiting`, `blocked`,
574
+ * `allowed`, `handle`, `i18nKey`, `namespace`, `namespaced`.
575
+ */
576
+ streamFn: <const Id extends string, const State extends IntlRecord = IntlRecord, const I18nKey extends string = Id>(id: Id | {
577
+ id: Id;
578
+ }, options?: FnOptions<Id, I18nKey, State>) => Commander.StreamGen<RT | RTHooks, Id, I18nKey, State> & Commander.NonGenStream<RT | RTHooks, Id, I18nKey, State> & {
579
+ state: Context.Service<`Commander.Command.${Id}.state`, State>;
580
+ };
581
+ /** @deprecated */
582
+ alt2: <const Id extends string, MutArg, MutA, MutE, MutR, const I18nKey extends string = Id, State extends IntlRecord | undefined = undefined>(id: Id | {
583
+ id: Id;
584
+ mutate: (arg: MutArg) => Effect.Effect<MutA, MutE, MutR>;
585
+ } | (((arg: MutArg) => Effect.Effect<MutA, MutE, MutR>) & {
586
+ id: Id;
587
+ }), options?: FnOptions<Id, I18nKey, State>) => Commander.CommandContextLocal<Id, I18nKey> & (<A, E, R extends RT | RTHooks | CommandContext | `Commander.Command.${Id}.state`, Arg = void>(handler: (ctx: Effect.fn.Traced & Effect.fn.Untraced & Commander.CommandContextLocal<Id, I18nKey> & {
588
+ mutate: (arg: Arg) => Effect.Effect<MutA, MutE, MutR>;
589
+ }) => (arg: Arg, ctx: Commander.CommandContextLocal2<Id, I18nKey, State>) => Effect.Effect<A, E, R>) => Commander.CommandOut<Arg, A, E, R, Id, I18nKey, State>);
590
+ alt: <const Id extends string, const I18nKey extends string = Id, State extends IntlRecord | undefined = undefined>(id: Id, customI18nKey?: I18nKey) => Commander.CommandContextLocal<Id, I18nKey> & (<A, E, R extends RT | CommandContext | `Commander.Command.${Id}.state`, Arg = void>(handler: (arg: Arg, ctx: Commander.CommandContextLocal2<Id, I18nKey, State>) => Effect.Effect<A, E, R>) => Commander.CommandOut<Arg, A, E, R, Id, I18nKey, State>);
591
+ /**
592
+ * Define a Command for handling user actions with built-in error reporting and state management.
593
+ *
594
+ * @param mutation The mutation function to take the identifier and initial handler from. Used as a tracing span and to lookup
595
+ * the user-facing name via internationalization (`action.${id}`).
596
+ * @param options Optional configuration for internationalization and state.
597
+ * @param options.i18nCustomKey Custom i18n key to use instead of `id` (e.g., for grouping similar actions)
598
+ * @param options.state Optional reactive state object (or function returning one) that is
599
+ * made available to the command effects and can be used for i18n interpolation.
600
+ * The state is captured at the start of each command execution and remains stable throughout.
601
+ * @returns A function that executes the command when called (e.g., directly in `@click` handlers).
602
+ * Built-in error reporting handles failures automatically.
603
+ *
604
+ * **Effect Context**: Effects have access to the `CommandContext` service, which provides
605
+ * the user-facing action name.
606
+ *
607
+ * **Returned Properties**:
608
+ * - `action`: User-facing action name from intl messages (useful for button labels)
609
+ * - `result`: The command result state
610
+ * - `waiting`: Boolean indicating if the command is in progress (shorthand for `result.waiting`)
611
+ * - `handle`: Function to execute the command
612
+ * - `exec`: The raw Effect that will be executed when calling `handle` (for advanced use cases)
613
+ * - `i18nKey`, `namespace`, `namespaced`: Helpers for internationalization keys
614
+ *
615
+ * **User Feedback**: Use the `withDefaultToast` helper for status notifications, or render
616
+ * the `result` inline for custom UI feedback.
617
+ */
618
+ streamWrap: <const Id extends string, Arg, SA, SE, SR, const State extends IntlRecord = IntlRecord, I18nKey extends string = Id>(handler: (arg: Arg, ctx: Commander.CommandContextLocal2<Id, I18nKey, State>) => Stream.Stream<SA, SE, SR>, id: Id, options?: FnOptions<Id, I18nKey, State>) => Commander.StreamerWrap<RT | RTHooks, Id, I18nKey, State, Arg, SA, SE, SR>;
619
+ wrap: <const Id extends string, Arg, A, E, R, const State extends IntlRecord = IntlRecord, I18nKey extends string = Id>(mutation: {
620
+ mutate: (arg: Arg) => Effect.Effect<A, E, R>;
621
+ id: Id;
622
+ } | (((arg: Arg) => Effect.Effect<A, E, R>) & {
623
+ id: Id;
624
+ }), options?: FnOptions<Id, I18nKey, State>) => Commander.CommanderWrap<RT | RTHooks, Id, I18nKey, State, Arg, A, E, R>;
625
+ }
626
+ declare const Commander_base: Context.ServiceClass<Commander, "Commander", <RT, RTHooks>(rt: Context.Context<RT>, rtHooks: Layer.Layer<RTHooks, never, RT>) => CommanderImpl<RT, RTHooks>> & {
627
+ readonly make: Effect.Effect<<RT, RTHooks>(rt: Context.Context<RT>, rtHooks: Layer.Layer<RTHooks, never, RT>) => CommanderImpl<RT, RTHooks>, never, I18n>;
628
+ };
629
+ export declare class Commander extends Commander_base {
630
+ static readonly DefaultWithoutDependencies: Layer.Layer<Commander, never, I18n>;
631
+ static readonly Default: Layer.Layer<Commander, never, I18n>;
632
+ }
633
+ export {};
634
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFHckUsT0FBTyxLQUFLLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxLQUFLLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUkzQyxPQUFPLEtBQUssS0FBSyxJQUFJLE1BQU0sYUFBYSxDQUFBO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFJMUMsT0FBTyxLQUFLLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNsRCxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEtBQUssV0FBVyxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFFLEtBQUssYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDaEYsT0FBTyxFQUFZLEtBQUssV0FBVyxFQUF3QixNQUFNLEtBQUssQ0FBQTtBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDaEMsT0FBTyxFQUFrQixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTFDLEtBQUssVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsYUFBYSxHQUFHLGtCQUFrQixDQUFDLE1BQU0s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RSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQ3RFLEtBQUssQ0FDVixFQUNELEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsR0FDTCxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDL0MsQ0FDRSxHQUFHLFNBQVMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFDaEQsSUFBSSxFQUNKLENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsY0FBYyxHQUFHLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxFQUN4RixHQUFHLEdBQUcsSUFBSSxFQUVWLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUssU0FBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQzlGLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUNkLElBQUksRUFDSjtZQUFDLEdBQUc7U0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUN6QixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FDdEUsS0FBSyxFQUNUO1lBQUMsR0FBRztTQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQ3pCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUN0RSxLQUFLLENBQ1YsRUFDRCxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFF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T0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsR0FDTCxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDL0MsQ0FDRSxHQUFHLFNBQVMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFDaEQsSUFBSSxFQUNKLENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLFNBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxjQUFjLEdBQUcscUJBQXFCLEVBQUUsUUFBUSxDQUFDLEVBQ3hGLEdBQUcsR0FBRyxJQUFJLEVBRVYsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsRUFDOUYsQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQ2QsSUFBSSxFQUNKO1lBQUMsR0FBRztTQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQ3pCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUN0RSxLQUFLLEVBQ1Q7WUFBQyxHQUFHO1NBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FDekIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQ3RFLEtBQUssQ0FDVixFQUNELEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxF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b0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMs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RUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLEdBQUcsR0FDUCxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDakQsQ0FDRSxHQUFHLFNBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxjQUFjLEdBQUcscUJBQXFCLEVBQUUsUUFBUSxDQUFDLEVBQzFGLENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxHQUFHLEdBQUcsSUFBSSxFQUVWLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUNwRSxDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLEdBQUcsR0FDUCxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDakQsQ0FDRSxHQUFHLFNBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxjQUFjLEdBQUcscUJBQXFCLEVBQUUsUUFBUSxDQUFDLEVBQzFGLENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsR0FBRyxHQUFHLElBQUksRUFFVixJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFDcEUsQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxHQUFHLEdBQ1AsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ2pELENBQ0UsR0FBRyxTQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsY0FBYyxHQUFHLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxFQUMxRixDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxHQUFHLEdBQUcsSUFBSSxFQUVWLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUNwRSxDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVB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QzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEdBQ0wsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQy9DLENBQ0UsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsY0FBYyxHQUFHLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxFQUV4RixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FDZCxJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksQ0FDTCxFQUNELEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsR0FDTCxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDL0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsY0FBYyxHQUFHLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxFQUM1RyxDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FDZCxJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksQ0FDTCxFQUNELEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsR0FDTCxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDL0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLGNBQWMsR0FBRyxxQkFBcUIsRUFBRSxRQUFRLENBQUMsRUFDL0csQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQ2QsSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLENBQ0wsRUFDRCxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQ0QsQ0FBQyxFQUFFLENBQUMsRUFDSixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9B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QyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsR0FBRyxHQUNQLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNqRCxDQUNFLEdBQUcsU0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLGNBQWMsR0FBRyxxQkFBcUIsRUFBRSxRQUFRLENBQUMsRUFDMUYsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsR0FBRyxFQUVILENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUNkLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxDQUNMLEVBQ0QsR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxP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QUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsR0FBRyxHQUNQLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNqRCxDQUNFLEdBQUcsU0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLGNBQWMsR0FBRyxxQkFBcUIsRUFBRSxRQUFRLENBQUMsRUFDMUYsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsR0FBRyxFQUVILENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUNkLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxDQUNMLEVBQ0QsR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsR0FBRyxHQUNQLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNqRCxDQUNFLEdBQUcsU0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLGNBQWMsR0FBRyxxQkFBcUIsRUFBRSxRQUFRLENBQUMsRUFDMUYsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELEdBQUcsRUFFSCxDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FDZCxJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksQ0FDTCxFQUNELEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLENBQUMsRUFDTixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsQ0FBQyxFQUNKLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQ3JFLEdBQUcsR0FDUCxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDakQsQ0FDRSxHQUFHLFNBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxjQUFjLEdBQUcscUJBQXFCLEVBQUUsUUFBUSxDQUFDLEVBQzFGLENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsR0FBRyxFQUVILENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUNkLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxDQUNMLEVBQ0QsR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsQ0FBQyxFQUNOLENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxDQUFDLEVBQ0osR0FBRyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FDckUsR0FBRyxHQUNQLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtLQUNsRCxDQUFBO0lBRUQ7OztPQUdHO0lBQ0gsS0FBWSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxNQUFNLEVBQUUsT0FBTyxTQUFTLE1BQU0sRUFBRSxLQUFLLFNBQVMsVUFBVSxHQUFHLFNBQVMsSUFBSTtRQUMzRyxDQUNFLEdBQUcsU0FBUyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxjQUFjLEdBQUcscUJBQXFCLEVBQUUsUUFBUSxDQUFDLEVBQ2xHLEVBQUUsRUFDRixFQUFFLEVBQ0YsRUFBRSxFQUNGLEdBQUcsR0FBRyxJQUFJLEVBRVYsSUFBSSxFQUFFLENBQ0osR0FBRyxFQUFFLEdBQUcsRUFDUixHQUFHLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FDMUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQ3BELFVBQVUsQ0FDWCxHQUFHLEVBQ0gsRUFBRSxFQUNBLEVBQUUsR0FDRixDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQzVCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUN0RSxLQUFLLENBQUMsRUFDUixFQUFFLEdBQ0YsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUM1QixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FDdEUsS0FBSyxDQUFDLEVBQ1YsRUFBRSxFQUNGLE9BQU8sRUFDUCxLQUFLLENBQ04sQ0FBQTtRQUNELENBQ0UsR0FBRyxTQUFTLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLGNBQWMsR0FBRyxxQkFBcUIsRUFBRSxRQUFRLENBQUMsRUFDbEcsRUFBRSxFQUNGLEVBQUUsRUFDRixFQUFFLEVBQ0YsQ0FBQyxFQUNELEdBQUcsR0FBRyxJQUFJLEVBRVYsSUFBSSxFQUFFLENBQ0osR0FBRyxFQUFFLEdBQUcsRUFDUixHQUFHLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FDMUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQ3JELENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFDekIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUMxQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FDdEUsS0FBSyxDQUFDLEVBQ1YsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUMxQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FDdEUsS0FBSyxDQUFDLENBQ1gsRUFDRCxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEdBQ0wsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEVBQUUsTUFBTSxHQUFHLEVBQUUsTUFBTSxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQzVHLENBQUMsU0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEVBQUUsTUFBTSxHQUFHLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxHQUMzRixVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FDaEUsS0FBSyxDQUFBO0tBQ1YsQ0FBQTtJQUVEOzs7T0FHRztJQUNILEtBQVksWUFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsTUFBTSxFQUFFLE9BQU8sU0FBUyxNQUFNLEVBQUUsS0FBSyxTQUFTLFVBQVUsR0FBRyxTQUFTLElBQUk7UUFDOUcsQ0FDRSxFQUFFLEVBQ0YsRUFBRSxFQUNGLEVBQUUsU0FBUyxFQUFFLEdBQUcsY0FBYyxHQUFHLHFCQUFxQixFQUFFLFFBQVEsRUFDaEUsR0FBRyxHQUFHLElBQUksRUFFVixJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FDM0YsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ2xELENBQ0UsRUFBRSxFQUNGLEVBQUUsRUFDRixFQUFFLEVBQ0YsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsY0FBYyxHQUFHLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxFQUN4RixHQUFHLEdBQUcsSUFBSSxFQUVWLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUM1RixDQUFDLEVBQUUsQ0FDRCxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUM1QixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUNyRSxDQUFDLEdBQ0wsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzlGLENBQ0UsRUFBRSxFQUNGLEVBQUUsRUFDRixFQUFFLEVBQ0YsRUFBRSxFQUNGLEVBQUUsU0FBUyxFQUFFLEdBQUcsY0FBYyxHQUFHLHFCQUFxQixFQUFFLFFBQVEsRUFDaEUsR0FBRyxHQUFHLElBQUksRUFFVixJQUFJLEVBQUUsQ0FDSixHQUFHLEVBQUUsR0FBRyxFQUNSLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUMxQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQ3BELFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzVELENBQ0UsRUFBRSxFQUNGLEVBQUUsRUFDRixFQUFFLEVBQ0YsRUFBRSxFQUNGLEVBQUUsRUFDRixDQUFDLEVBQ0QsR0FBRyxHQUFHLElBQUksRUFFVixJQUFJLEVBQUUsQ0FDSixHQUFHLEVBQUUsR0FBRyxFQUNSLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUMxQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQ3JELENBQUMsRUFBRSxDQUNELENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUs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QUFFLENBQUMsRUFBRSxJQUFJLFNBQVMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUNqRDtRQUNSLGFBQWEsQ0FBQyxFQUNWLFNBQVMsR0FDVCxJQUFJLEdBQ0osTUFBTSxHQUNOLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEdBQUcsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFBO1FBQzdGLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLEdBQUcsU0FBUyxDQUFBO1FBQzFHLFlBQVksQ0FBQyxFQUFFLEtBQUssQ0FBQTtRQUNwQixTQUFTLENBQUMsRUFDTixJQUFJLEdBQ0osU0FBUyxHQUNULE1BQU0sR0FDTixDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQTtRQUM3RixTQUFTLENBQUMsRUFDTixJQUFJLEdBQ0osU0FBUyxHQUNULE1BQU0sR0FDTixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxN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