From 58462d584462f780080f8f8e72b0a8b9a4e3c4be Mon Sep 17 00:00:00 2001 From: Hare Date: Wed, 7 Oct 2026 00:14:51 +0900 Subject: [PATCH 1/4] feat: register Workspace Profiles as Decodal values (T-710) Project the evaluated Workspace Profile value into a revision-bound JSON archive without source-path registration or Decodal re-evaluation. Preserve partial-value omissions and explicit overrides, validate before save, and reject legacy registrations with a documented explicit migration. Fix array-element schema completion and provide fingerprint-bound authoring shapes independently of materialization defaults. Carry metadata through REST, regenerate TypeScript/OpenAPI/WASM artifacts, and exercise save/projection/Runtime consumption and persisted Manifest restore boundaries. Validation: root cargo check; cargo test -p config-source; cargo test -p worker-runtime; cargo test -p server-api --features typescript; focused profile_settings/value_profiles/archive tests; 39 web config-source/profile API tests; deno task check; cargo fmt --all -- --check; git diff --check HEAD. Full workspace-server test: 641 passed, one pre-existing ticket_checker_suppresses_stale_and_clean_results_and_diagnoses_invalid_output assertion failure. The same filter fails at base 3c424fd17d1a5e8bb5542de2d0ad88f55338e0ea in a separately archived source tree and isolated target directory. Remaining server crate tests pass with only that filter skipped (641 lib + 11 bin); unrelated checker code is unchanged. --- crates/config-source/src/lib.rs | 688 +++++++++++++++++- crates/server-api/src/lib.rs | 4 + crates/worker-runtime/src/profile_archive.rs | 274 ++++++- crates/workspace-server/src/config_source.rs | 6 +- .../workspace-server/src/profile_settings.rs | 393 ++++------ crates/workspace-server/src/server.rs | 2 + .../src/server/tests/subjektiv_jobs_tests.rs | 2 +- .../src/server/tests/value_profiles_tests.rs | 362 +++++++++ docs/design/profiles-manifests-prompts.md | 30 +- openapi/server-api.json | 9 +- .../config-schema/profile-authoring.dcdl | 72 ++ resources/config-schema/profile.dcdl | 11 + web/workspace/deno.json | 2 +- .../src/lib/generated/companion-api.ts | 2 +- .../src/lib/generated/legacy-server-api.ts | 4 + .../src/lib/generated/repository-api.ts | 2 +- .../src/lib/generated/runtime-api.ts | 2 +- web/workspace/src/lib/generated/ticket-api.ts | 2 +- .../src/lib/generated/worker-launch-api.ts | 2 +- .../src/lib/workspace/config-source/api.ts | 8 +- .../generated/config_source_wasm_bg.wasm | Bin 1265992 -> 1283030 bytes .../types/ConfigSchemaContribution.ts | 2 +- web/workspace/test/config-source/api.test.ts | 38 + .../test/config-source/wasm-parity.test.ts | 110 +++ 24 files changed, 1708 insertions(+), 319 deletions(-) create mode 100644 crates/workspace-server/src/server/tests/value_profiles_tests.rs create mode 100644 resources/config-schema/profile-authoring.dcdl create mode 100644 resources/config-schema/profile.dcdl diff --git a/crates/config-source/src/lib.rs b/crates/config-source/src/lib.rs index a5df85dce..2d6604d82 100644 --- a/crates/config-source/src/lib.rs +++ b/crates/config-source/src/lib.rs @@ -487,6 +487,9 @@ pub struct ConfigSchemaContribution { pub namespace: String, pub version: String, pub source: String, + // Optional editor-only schema; never used to validate or materialize config. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub authoring_source: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub projection_validator: Option, pub source_digest: String, @@ -529,16 +532,31 @@ impl ConfigSchemaContribution { version, source_digest: digest_bytes(source.as_bytes()), source, + authoring_source: None, projection_validator: None, }) } + pub fn with_authoring_source(mut self, source: impl Into) -> Self { + self.authoring_source = Some(source.into()); + self + } + pub fn with_projection_validator(mut self, validator: ConfigProjectionValidator) -> Self { self.projection_validator = Some(validator); self } fn validate(&self) -> Result<(), ConfigTreeError> { + if self + .authoring_source + .as_ref() + .is_some_and(|source| source.trim().is_empty()) + { + return Err(ConfigTreeError::InvalidSchemaContribution( + "authoring schema source must not be empty".to_string(), + )); + } let expected = digest_bytes(self.source.as_bytes()); if self.source_digest != expected { return Err(ConfigTreeError::InvalidSchemaContribution(format!( @@ -591,27 +609,41 @@ impl WorkspaceConfigSchemaBundle { .collect::>() .join(" & ") }; - let fingerprint = digest_bytes( - serde_json::to_vec(&( - CONFIG_SOURCE_CONTRACT_VERSION, - DECODAL_VERSION, - contributions - .iter() - .map(|contribution| { - ( - contribution.provider_id.as_str(), - contribution.namespace.as_str(), - contribution.version.as_str(), - contribution.source_digest.as_str(), - contribution.projection_validator.as_ref(), - ) - }) - .collect::>(), - digest_bytes(source.as_bytes()), - )) - .expect("schema bundle fingerprint input serializes") - .as_slice(), - ); + let mut fingerprint_input = serde_json::to_vec(&( + CONFIG_SOURCE_CONTRACT_VERSION, + DECODAL_VERSION, + contributions + .iter() + .map(|contribution| { + ( + contribution.provider_id.as_str(), + contribution.namespace.as_str(), + contribution.version.as_str(), + contribution.source_digest.as_str(), + contribution.projection_validator.as_ref(), + ) + }) + .collect::>(), + digest_bytes(source.as_bytes()), + )) + .expect("schema bundle fingerprint input serializes"); + let authoring_sources = contributions + .iter() + .filter_map(|contribution| { + contribution + .authoring_source + .as_deref() + .map(|source| (contribution.provider_id.as_str(), source)) + }) + .collect::>(); + // Preserve legacy fingerprints when no editor-only metadata is present. + if !authoring_sources.is_empty() { + fingerprint_input.extend( + serde_json::to_vec(&("authoring_sources", authoring_sources)) + .expect("authoring schema fingerprint input serializes"), + ); + } + let fingerprint = digest_bytes(&fingerprint_input); Ok(Self { contributions, source, @@ -619,6 +651,25 @@ impl WorkspaceConfigSchemaBundle { }) } + fn authoring_source(&self) -> String { + if self.contributions.is_empty() { + return self.source.clone(); + } + self.contributions + .iter() + .map(|contribution| { + format!( + "({})", + contribution + .authoring_source + .as_deref() + .unwrap_or(&contribution.source) + ) + }) + .collect::>() + .join(" & ") + } + pub fn empty() -> Self { Self::compose(Vec::new()).expect("empty schema bundle is valid") } @@ -751,26 +802,32 @@ pub struct EvaluationResult { pub projection_digest: String, } +#[derive(Debug, Clone, PartialEq, Eq)] +enum ConfigCompletionPathSegment { + Field(String), + Index(usize), +} + #[derive(Debug, Clone, PartialEq, Eq)] struct ConfigFieldCompletionContext { - schema_path: Vec, + schema_path: Vec, from: usize, } #[derive(Debug)] enum ConfigCompletionContainer { Object { - schema_path: Vec, + schema_path: Vec, pending_path: Vec, last_identifier_from: Option, trailing_dot: bool, reading_value: bool, }, Array { - schema_path: Vec, + schema_path: Vec, }, Other { - schema_path: Vec, + schema_path: Vec, }, } @@ -855,9 +912,18 @@ fn config_field_completion_context( }); } SyntaxTokenKind::LBracket => { - let schema_path = pending_container_path(&containers); + let mut schema_path = pending_container_path(&containers); + schema_path.push(ConfigCompletionPathSegment::Index(0)); containers.push(ConfigCompletionContainer::Array { schema_path }); } + SyntaxTokenKind::Comma => { + if let Some(ConfigCompletionContainer::Array { schema_path }) = + containers.last_mut() + && let Some(ConfigCompletionPathSegment::Index(index)) = schema_path.last_mut() + { + *index += 1; + } + } SyntaxTokenKind::RBracket => { pop_container(&mut containers, |container| { matches!(container, ConfigCompletionContainer::Array { .. }) @@ -943,7 +1009,12 @@ fn config_field_completion_context( return None; }; let mut schema_path = schema_path.clone(); - schema_path.extend(pending_path.iter().cloned()); + schema_path.extend( + pending_path + .iter() + .cloned() + .map(ConfigCompletionPathSegment::Field), + ); Some(ConfigFieldCompletionContext { schema_path, from: if *trailing_dot { @@ -954,14 +1025,25 @@ fn config_field_completion_context( }) } -fn pending_container_path(containers: &[ConfigCompletionContainer]) -> Vec { +fn pending_container_path( + containers: &[ConfigCompletionContainer], +) -> Vec { match containers.last() { Some(ConfigCompletionContainer::Object { schema_path, pending_path, reading_value: true, .. - }) => schema_path.iter().chain(pending_path).cloned().collect(), + }) => schema_path + .iter() + .cloned() + .chain( + pending_path + .iter() + .cloned() + .map(ConfigCompletionPathSegment::Field), + ) + .collect(), Some(ConfigCompletionContainer::Array { schema_path }) | Some(ConfigCompletionContainer::Other { schema_path }) => schema_path.clone(), _ => Vec::new(), @@ -1201,12 +1283,37 @@ impl SnapshotEnvironment { if self.schema_bundle.is_some() && let Some(context) = config_field_completion_context(source, utf8_byte_offset) { - let mut member_source = format!("{WORKSPACE_CONFIG_SCHEMA_GLOBAL}."); - member_source.push_str(&context.schema_path.join(".")); - if !context.schema_path.is_empty() && context.from == utf8_byte_offset { - member_source.push('.'); + let (schema_path, prefix) = if context.from == utf8_byte_offset { + (context.schema_path.as_slice(), "") + } else { + let Some((ConfigCompletionPathSegment::Field(prefix), schema_path)) = + context.schema_path.split_last() + else { + return self.complete(entrypoint, source, utf8_byte_offset, explicit); + }; + (schema_path, prefix.as_str()) + }; + let has_array = schema_path + .iter() + .any(|segment| matches!(segment, ConfigCompletionPathSegment::Index(_))); + let mut member_source = WORKSPACE_CONFIG_SCHEMA_GLOBAL.to_owned(); + // Ordinary object paths retain the language service's member traversal, + // but both branches install the composed authoring schema. + if !has_array { + for segment in schema_path { + if let ConfigCompletionPathSegment::Field(field) = segment { + member_source.push('.'); + member_source.push_str(field); + } + } } - let mut completion = LanguageService::new(self).complete( + member_source.push('.'); + member_source.push_str(prefix); + let completion_environment = ConfigFieldCompletionEnvironment { + environment: self, + schema_path: if has_array { schema_path } else { &[] }, + }; + let mut completion = LanguageService::new(completion_environment).complete( entrypoint.as_str(), &member_source, member_source.len(), @@ -1270,6 +1377,91 @@ impl HostEnvironment for &SnapshotEnvironment { } } +// Decodal has no indexed member syntax. Resolve array ranges only in this +// completion environment, then reuse the language service's member behavior. +struct ConfigFieldCompletionEnvironment<'a> { + environment: &'a SnapshotEnvironment, + schema_path: &'a [ConfigCompletionPathSegment], +} + +impl HostEnvironment for ConfigFieldCompletionEnvironment<'_> { + type Loader = SnapshotImportLoader; + + fn create_loader(&self) -> Self::Loader { + self.environment.create_loader() + } + + fn configure_engine(&self, engine: &mut Engine) -> decodal::Result<()> { + use decodal::runtime::{ConcreteValue, ObjectField, ObjectValue, RuntimeValue}; + + let Some(bundle) = &self.environment.schema_bundle else { + return Ok(()); + }; + let module = engine.add_root_source( + WORKSPACE_CONFIG_SCHEMA_SOURCE, + WORKSPACE_CONFIG_SCHEMA_SOURCE, + &bundle.authoring_source(), + )?; + let mut schema = Some(engine.eval_module(module)?); + for segment in self.schema_path { + let Some(value) = schema else { + break; + }; + schema = match segment { + ConfigCompletionPathSegment::Field(field) => engine + .value_fields(&value)? + .unwrap_or_default() + .into_iter() + .find(|(name, _)| name == field) + .map(|(_, value)| value), + ConfigCompletionPathSegment::Index(index) => { + let element = match value { + RuntimeValue::Concrete(ConcreteValue::Array(elements)) => { + elements.get(*index).copied() + } + RuntimeValue::Abstract(range) => { + range.constraints.iter().find_map(|entry| { + if let decodal::Constraint::ArrayItems(element) = entry.constraint { + Some(element) + } else { + None + } + }) + } + _ => None, + }; + if let Some(element) = element { + // value_fields is the public API for forcing lazy fields. + // Wrap the element thunk without materializing its schema. + let object = RuntimeValue::Concrete(ConcreteValue::Object(ObjectValue { + fields: vec![ObjectField { + name: "element".into(), + value: element, + span: Span::default(), + }], + rest: None, + })); + engine + .value_fields(&object)? + .and_then(|fields| fields.into_iter().next().map(|(_, value)| value)) + } else { + None + } + } + }; + } + if let Some(schema) = schema { + engine.bind_global_runtime(WORKSPACE_CONFIG_SCHEMA_GLOBAL, schema); + } else { + engine.bind_global( + WORKSPACE_CONFIG_SCHEMA_GLOBAL, + Value::object([] as [(&str, Value); 0]), + )?; + } + Ok(()) + } +} + #[derive(Debug, Clone)] pub struct SnapshotImportLoader { snapshot: ConfigTreeSnapshot, @@ -1890,7 +2082,7 @@ mod tests { assert_eq!( config_field_completion_context(root, root_cursor), Some(ConfigFieldCompletionContext { - schema_path: vec!["pro".into()], + schema_path: vec![ConfigCompletionPathSegment::Field("pro".into())], from: root_cursor - 3, }) ); @@ -1899,7 +2091,10 @@ mod tests { assert_eq!( config_field_completion_context(nested, nested_cursor), Some(ConfigFieldCompletionContext { - schema_path: vec!["profile".into(), "def".into()], + schema_path: vec![ + ConfigCompletionPathSegment::Field("profile".into()), + ConfigCompletionPathSegment::Field("def".into()), + ], from: nested_cursor - 3, }) ); @@ -1908,7 +2103,12 @@ mod tests { assert_eq!( config_field_completion_context(array, array_cursor), Some(ConfigFieldCompletionContext { - schema_path: vec!["profile".into(), "entries".into(), "sel".into()], + schema_path: vec![ + ConfigCompletionPathSegment::Field("profile".into()), + ConfigCompletionPathSegment::Field("entries".into()), + ConfigCompletionPathSegment::Index(0), + ConfigCompletionPathSegment::Field("sel".into()), + ], from: array_cursor - 3, }) ); @@ -1991,6 +2191,420 @@ mod tests { ); } + fn profile_entries_completion_schema() -> WorkspaceConfigSchemaBundle { + WorkspaceConfigSchemaBundle::compose([ConfigSchemaContribution::new( + "builtin:profile", + "profile", + "1", + "{ profile = { default_profile = String; entries = [...{ selector = String; profile = { slug = String; worker = { mode = String; }; }; }]; }; }", + ) + .unwrap()]) + .unwrap() + } + + #[test] + fn completion_projects_array_element_and_nested_profile_fields() { + let snapshot = ConfigTreeSnapshot::from_entries(1, [entry("main.dcdl", "{}")]).unwrap(); + let environment = SnapshotEnvironment::new(snapshot) + .with_schema_bundle(profile_entries_completion_schema()); + for (marked_source, expected, prefix_len) in [ + ( + "{ profile.entries = [{ sel| }] } as WorkspaceConfigSchema", + "selector", + 3, + ), + ( + "{ profile = { entries = [{ pro| }] } } as WorkspaceConfigSchema", + "profile", + 3, + ), + ( + "{ profile.entries = [{ | }] } as WorkspaceConfigSchema", + "selector", + 0, + ), + ( + "{ profile.entries = [{ | }] } as WorkspaceConfigSchema", + "profile", + 0, + ), + ( + "{ profile.entries = [{ profile = { slu| } }] } as WorkspaceConfigSchema", + "slug", + 3, + ), + ( + "{ profile.entries = [{ profile = { | } }] } as WorkspaceConfigSchema", + "worker", + 0, + ), + ( + "{ profile.entries = [{ profile.worker.mo| }] } as WorkspaceConfigSchema", + "mode", + 2, + ), + ( + "{ profile.entries = [{ profile.worker.| }] } as WorkspaceConfigSchema", + "mode", + 0, + ), + ( + "{ profile.entries = [{ profile = { worker = { mo| } } }] } as WorkspaceConfigSchema", + "mode", + 2, + ), + ( + "{ profile.entries = [{}, { sel| }] } as WorkspaceConfigSchema", + "selector", + 3, + ), + ( + "{ profile.entries = [{ selector = \"日本語\"; profile = { slu|g } }] } as WorkspaceConfigSchema", + "slug", + 3, + ), + ( + "{ profile.entries = [{ pro|file }] } as WorkspaceConfigSchema", + "profile", + 3, + ), + ( + "{ profile.entries = [({ profile = { worker = { mo| } } })] } as WorkspaceConfigSchema", + "mode", + 2, + ), + ] { + let cursor = marked_source.find('|').unwrap(); + let source = marked_source.replace('|', ""); + let completion = environment + .complete_config(&path("main.dcdl"), &source, cursor, true) + .unwrap() + .unwrap_or_else(|| panic!("missing completion for {marked_source}")); + assert_eq!(completion.from, cursor - prefix_len, "{marked_source}"); + assert!( + completion.items.iter().any(|item| item.label == expected), + "{marked_source}: {completion:?}" + ); + } + } + + #[test] + fn completion_tracks_fixed_array_positions_and_nested_array_ranges() { + let snapshot = ConfigTreeSnapshot::from_entries(1, [entry("main.dcdl", "{}")]).unwrap(); + let schema = WorkspaceConfigSchemaBundle::compose([ConfigSchemaContribution::new( + "builtin:profile", + "profile", + "1", + "{ profile = { entries = [{ selector = String; }, { profile = { slug = String; worker = { mode = String; }; }; }]; matrix = [...[...{ selector = String; }]]; }; }", + ) + .unwrap()]) + .unwrap(); + let environment = SnapshotEnvironment::new(snapshot).with_schema_bundle(schema); + for (marked_source, expected, unexpected) in [ + ( + "{ profile.entries = [{ | }] } as WorkspaceConfigSchema", + "selector", + "profile", + ), + ( + "{ profile.entries = [{}, { | }] } as WorkspaceConfigSchema", + "profile", + "selector", + ), + ( + "{ profile.entries = [{}, { profile.worker.mo| }] } as WorkspaceConfigSchema", + "mode", + "selector", + ), + ( + "{ profile.matrix = [[{}, { sel| }]] } as WorkspaceConfigSchema", + "selector", + "profile", + ), + ( + "{ profile.matrix = [[], [{ sel| }]] } as WorkspaceConfigSchema", + "selector", + "profile", + ), + ] { + let cursor = marked_source.find('|').unwrap(); + let source = marked_source.replace('|', ""); + let completion = environment + .complete_config(&path("main.dcdl"), &source, cursor, true) + .unwrap() + .unwrap_or_else(|| panic!("missing completion for {marked_source}")); + assert!( + completion.items.iter().any(|item| item.label == expected), + "{marked_source}: {completion:?}" + ); + assert!( + !completion.items.iter().any(|item| item.label == unexpected), + "{marked_source}: {completion:?}" + ); + } + for marked_source in [ + "{ profile.entries = [{}, {}, { | }] } as WorkspaceConfigSchema", + "{ profile.entries = [{ missing = { | } }] } as WorkspaceConfigSchema", + ] { + let cursor = marked_source.find('|').unwrap(); + let source = marked_source.replace('|', ""); + let completion = environment + .complete_config(&path("main.dcdl"), &source, cursor, true) + .unwrap(); + assert!( + completion.is_none_or(|completion| !completion + .items + .iter() + .any(|item| matches!(item.label.as_str(), "selector" | "profile"))), + "{marked_source}" + ); + } + } + + #[test] + fn completion_preserves_general_schema_member_behavior() { + let snapshot = ConfigTreeSnapshot::from_entries(1, [entry("main.dcdl", "{}")]).unwrap(); + let environment = SnapshotEnvironment::new(snapshot) + .with_schema_bundle(profile_entries_completion_schema()); + for source in [ + "WorkspaceConfigSchema.pro", + "WorkspaceConfigSchema.profile.", + "WorkspaceConfigSchema.profile.entries.", + "WorkspaceConfigSchema.profile.default_pro", + "let schema = WorkspaceConfigSchema; in schema.profile.def", + ] { + assert_eq!( + environment + .complete_config(&path("main.dcdl"), source, source.len(), true) + .unwrap(), + environment + .complete(&path("main.dcdl"), source, source.len(), true) + .unwrap(), + "{source}" + ); + } + } + + #[test] + fn completion_array_schema_retains_nested_profile_diagnostics() { + let valid = "{ profile = { default_profile = \"default\"; entries = [{ selector = \"default\"; profile = { slug = \"default\"; worker = { mode = \"interactive\"; }; }; }]; }; } as WorkspaceConfigSchema"; + let snapshot = ConfigTreeSnapshot::from_entries(7, [entry("main.dcdl", valid)]).unwrap(); + let environment = SnapshotEnvironment::new(snapshot) + .with_schema_bundle(profile_entries_completion_schema()); + assert!(environment.analyze(&path("main.dcdl"), None).is_empty()); + for (source, field) in [ + ( + valid.replace("selector = \"default\"", "selector = 42"), + "selector", + ), + (valid.replace("slug = \"default\"", "slug = 42"), "slug"), + (valid.replace("mode = \"interactive\"", "mode = 42"), "mode"), + ( + valid.replace("mode = \"interactive\"", "typo = \"interactive\""), + "typo", + ), + ] { + let diagnostics = environment.analyze(&path("main.dcdl"), Some(&source)); + assert!( + diagnostics.iter().any(|diagnostic| { + diagnostic.kind == "constraint_violation" + && diagnostic.path == path("main.dcdl") + && diagnostic.revision == 7 + && diagnostic.span.end_byte > diagnostic.span.start_byte + && (diagnostic.message.contains(field) + || diagnostic + .labels + .iter() + .any(|label| label.message.contains(field))) + }), + "{field}: {diagnostics:#?}" + ); + } + } + + #[test] + fn completion_authoring_schema_preserves_omitted_profile_fields_in_evaluation() { + let schema = WorkspaceConfigSchemaBundle::compose([ConfigSchemaContribution::new( + "builtin:profile", + "profile", + "1", + "{ profile = { defaults = {...Unknown}; entries = [...{ selector = String; profile = {...Unknown}; }]; }; }", + ) + .unwrap() + .with_authoring_source( + "{ profile = { defaults = { slug = String; worker = { mode = String; }; }; entries = [...{ selector = String; profile = { slug = String; worker = { mode = String; }; }; }]; }; }", + )]) + .unwrap(); + let source = "{ profile = { defaults = {}; entries = [{ selector = \"default\"; profile = {}; }]; }; } as WorkspaceConfigSchema"; + let snapshot = ConfigTreeSnapshot::from_entries(1, [entry("main.dcdl", source)]).unwrap(); + let environment = SnapshotEnvironment::new(snapshot).with_schema_bundle(schema.clone()); + assert!(environment.analyze(&path("main.dcdl"), None).is_empty()); + let contract = ToolchainContract::with_schema_bundle(1, vec![path("main.dcdl")], 1, schema); + let evaluated = environment.evaluate_contract(&contract).unwrap(); + assert_eq!( + evaluated.projections[0].data_json, + serde_json::json!({"profile": {"defaults": {}, "entries": [{"selector": "default", "profile": {}}]}}) + ); + // Both ordinary object paths and array-element paths use editor metadata. + for (marked_source, expected) in [ + ( + "{ profile.defaults = { slu| } } as WorkspaceConfigSchema", + "slug", + ), + ( + "{ profile.defaults.worker = { mo| } } as WorkspaceConfigSchema", + "mode", + ), + ( + "{ profile.entries = [{ pro| }] } as WorkspaceConfigSchema", + "profile", + ), + ( + "{ profile.entries = [{ profile = { slu| } }] } as WorkspaceConfigSchema", + "slug", + ), + ( + "{ profile.entries = [{ profile.worker = { mo| } }] } as WorkspaceConfigSchema", + "mode", + ), + ( + "{ profile.entries = [{ profile = { | } }] } as WorkspaceConfigSchema", + "worker", + ), + ] { + let cursor = marked_source.find('|').unwrap(); + let source = marked_source.replace('|', ""); + let completion = environment + .complete_config(&path("main.dcdl"), &source, cursor, true) + .unwrap() + .unwrap_or_else(|| panic!("missing completion for {marked_source}")); + assert!( + completion.items.iter().any(|item| item.label == expected), + "{marked_source}: {completion:?}" + ); + } + // Completion does not install its schema into later analysis/evaluation. + assert!(environment.analyze(&path("main.dcdl"), None).is_empty()); + assert_eq!(environment.evaluate_contract(&contract).unwrap(), evaluated); + } + + #[test] + fn completion_authoring_sources_compose_with_validation_source_fallbacks() { + let schema = WorkspaceConfigSchemaBundle::compose([ + ConfigSchemaContribution::new( + "builtin:editor", + "editor", + "1", + "{ editor = {...Unknown}; }", + ) + .unwrap() + .with_authoring_source( + "{ editor = { theme = String; settings = { enabled = Bool; }; }; }", + ), + ConfigSchemaContribution::new( + "builtin:web", + "web", + "1", + "{ web = { enabled = Bool; }; }", + ) + .unwrap(), + ]) + .unwrap(); + let snapshot = ConfigTreeSnapshot::from_entries(1, [entry("main.dcdl", "{}")]).unwrap(); + let environment = SnapshotEnvironment::new(snapshot).with_schema_bundle(schema); + for (marked_source, expected) in [ + ("{ ed| } as WorkspaceConfigSchema", "editor"), + ("{ editor = { th| } } as WorkspaceConfigSchema", "theme"), + ( + "{ editor.settings = { en| } } as WorkspaceConfigSchema", + "enabled", + ), + ("{ web = { en| } } as WorkspaceConfigSchema", "enabled"), + ] { + let cursor = marked_source.find('|').unwrap(); + let source = marked_source.replace('|', ""); + let completion = environment + .complete_config(&path("main.dcdl"), &source, cursor, true) + .unwrap() + .unwrap(); + assert!( + completion.items.iter().any(|item| item.label == expected), + "{marked_source}: {completion:?}" + ); + } + } + + #[test] + fn authoring_schema_metadata_is_optional_validated_and_fingerprinted() { + let contribution = ConfigSchemaContribution::new( + "builtin:editor", + "editor", + "1", + "{ editor = {...Unknown}; }", + ) + .unwrap(); + let serialized = serde_json::to_value(&contribution).unwrap(); + assert!(serialized.get("authoring_source").is_none()); + assert_eq!( + serde_json::from_value::(serialized).unwrap(), + contribution + ); + let legacy = WorkspaceConfigSchemaBundle::compose([contribution.clone()]).unwrap(); + let legacy_input = serde_json::to_vec(&( + CONFIG_SOURCE_CONTRACT_VERSION, + DECODAL_VERSION, + vec![( + contribution.provider_id.as_str(), + contribution.namespace.as_str(), + contribution.version.as_str(), + contribution.source_digest.as_str(), + contribution.projection_validator.as_ref(), + )], + digest_bytes(legacy.source.as_bytes()), + )) + .unwrap(); + assert_eq!(legacy.fingerprint, digest_bytes(&legacy_input)); + legacy.validate().unwrap(); + + let authoring = contribution + .clone() + .with_authoring_source("{ editor = { theme = String; }; }"); + assert_eq!(authoring.source_digest, contribution.source_digest); + let serialized = serde_json::to_value(&authoring).unwrap(); + assert_eq!( + serialized["authoring_source"], + "{ editor = { theme = String; }; }" + ); + assert_eq!( + serde_json::from_value::(serialized).unwrap(), + authoring + ); + let authored = WorkspaceConfigSchemaBundle::compose([authoring]).unwrap(); + authored.validate().unwrap(); + assert_eq!(authored.source, legacy.source); + assert_ne!(authored.fingerprint, legacy.fingerprint); + assert_ne!( + ToolchainContract::with_schema_bundle(1, vec![path("main.dcdl")], 1, authored.clone()) + .fingerprint, + ToolchainContract::with_schema_bundle(1, vec![path("main.dcdl")], 1, legacy) + .fingerprint, + ); + let changed = WorkspaceConfigSchemaBundle::compose([contribution + .clone() + .with_authoring_source("{ editor = { theme = String; mode = String; }; }")]) + .unwrap(); + assert_ne!(changed.fingerprint, authored.fingerprint); + let mut tampered = authored; + tampered.contributions[0].authoring_source = + changed.contributions[0].authoring_source.clone(); + assert!(tampered.validate().is_err()); + for source in ["", " \n\t "] { + assert!( + matches!(WorkspaceConfigSchemaBundle::compose([contribution.clone().with_authoring_source(source)]), Err(ConfigTreeError::InvalidSchemaContribution(message)) if message.contains("authoring")) + ); + } + } + #[test] fn relative_imports_and_completion_share_the_snapshot_namespace() { let snapshot = ConfigTreeSnapshot::from_entries( diff --git a/crates/server-api/src/lib.rs b/crates/server-api/src/lib.rs index 0062c3bc5..65c717d8b 100644 --- a/crates/server-api/src/lib.rs +++ b/crates/server-api/src/lib.rs @@ -4496,6 +4496,10 @@ pub struct ConfigSchemaContribution { #[serde(default, skip_serializing_if = "Option::is_none")] #[cfg_attr(feature = "typescript", ts(optional))] pub projection_validator: Option, + /// Completion-only shape for partial values; never materialized as defaults. + #[serde(default, skip_serializing_if = "Option::is_none")] + #[cfg_attr(feature = "typescript", ts(optional))] + pub authoring_source: Option, pub source_digest: String, } diff --git a/crates/worker-runtime/src/profile_archive.rs b/crates/worker-runtime/src/profile_archive.rs index 6c056b878..a38ff72dd 100644 --- a/crates/worker-runtime/src/profile_archive.rs +++ b/crates/worker-runtime/src/profile_archive.rs @@ -125,6 +125,35 @@ pub struct ProfileSourceArchiveInput { impl ProfileSourceArchive { pub fn build(input: ProfileSourceArchiveInput) -> Result { + Self::build_with_source_format(input, "decodal", "text/x-decodal") + } + + /// Archive an already evaluated Profile value without Decodal evaluation or conversion. + pub fn build_evaluated_profile( + id: String, + selector: String, + value: serde_json::Value, + ) -> Result { + let path = "profiles/evaluated.json".to_string(); + let source = serde_json::to_string(&value) + .map_err(|err| ProfileArchiveError::Json(err.to_string()))?; + Self::build_with_source_format( + ProfileSourceArchiveInput { + id, + entrypoints: BTreeMap::from([(selector, path.clone())]), + imports: BTreeMap::new(), + sources: BTreeMap::from([(path, source)]), + }, + "json", + "application/json", + ) + } + + fn build_with_source_format( + input: ProfileSourceArchiveInput, + kind: &str, + content_type: &str, + ) -> Result { if input.sources.len() > MAX_SOURCES { return Err(ProfileArchiveError::LimitExceeded("source count")); } @@ -145,8 +174,8 @@ impl ProfileSourceArchive { source_meta.push(ProfileSourceArchiveSource { path: path.clone(), source_key: path.clone(), - kind: "decodal".to_string(), - content_type: default_decodal_content_type(), + kind: kind.to_string(), + content_type: content_type.to_string(), digest: sha256_hex(source.as_bytes()), size_bytes: size, }); @@ -288,7 +317,17 @@ impl VerifiedProfileSourceArchive { actual: source.source_key.clone(), }); } - if source.content_type != default_decodal_content_type() { + let expected_content_type = match source.kind.as_str() { + "decodal" => "text/x-decodal", + "json" => "application/json", + _ => { + return Err(ProfileArchiveError::UnsupportedSource { + path: source.path.clone(), + kind: source.kind.clone(), + }); + } + }; + if source.content_type != expected_content_type { return Err(ProfileArchiveError::UnsupportedSource { path: source.path.clone(), kind: source.content_type.clone(), @@ -297,12 +336,6 @@ impl VerifiedProfileSourceArchive { if !manifest_paths.insert(source.path.clone()) { return Err(ProfileArchiveError::DuplicateSource(source.path.clone())); } - if source.kind != "decodal" { - return Err(ProfileArchiveError::UnsupportedSource { - path: source.path.clone(), - kind: source.kind.clone(), - }); - } let content = entries .get(&source.path) .ok_or_else(|| ProfileArchiveError::MissingSource(source.path.clone()))?; @@ -373,30 +406,50 @@ impl VerifiedProfileSourceArchive { .entrypoints .get(selector) .ok_or_else(|| ProfileArchiveError::MissingEntrypoint(selector.to_string()))?; - let mut engine = Engine::new(ArchiveSourceLoader { archive: self }); let source = self .sources .get(path) .ok_or_else(|| ProfileArchiveError::MissingSource(path.clone()))?; - let module = engine.add_root_source(path, path, source).map_err(|err| { - ProfileArchiveError::Decodal { - path: path.clone(), - message: format!("{err:?}"), + let metadata = self + .manifest + .sources + .iter() + .find(|source| &source.path == path) + .ok_or_else(|| ProfileArchiveError::MissingSource(path.clone()))?; + let json = match metadata.kind.as_str() { + "json" => serde_json::from_str(source) + .map_err(|err| ProfileArchiveError::Json(err.to_string()))?, + "decodal" => { + let mut engine = Engine::new(ArchiveSourceLoader { archive: self }); + let module = engine.add_root_source(path, path, source).map_err(|err| { + ProfileArchiveError::Decodal { + path: path.clone(), + message: format!("{err:?}"), + } + })?; + let value = + engine + .eval_module(module) + .map_err(|err| ProfileArchiveError::Decodal { + path: path.clone(), + message: format!("{err:?}"), + })?; + let data = + engine + .materialize(&value) + .map_err(|err| ProfileArchiveError::Decodal { + path: path.clone(), + message: format!("{err:?}"), + })?; + decodal_data_to_json(&data) } - })?; - let value = engine - .eval_module(module) - .map_err(|err| ProfileArchiveError::Decodal { - path: path.clone(), - message: format!("{err:?}"), - })?; - let data = engine - .materialize(&value) - .map_err(|err| ProfileArchiveError::Decodal { - path: path.clone(), - message: format!("{err:?}"), - })?; - let json = decodal_data_to_json(&data); + _ => { + return Err(ProfileArchiveError::UnsupportedSource { + path: path.clone(), + kind: metadata.kind.clone(), + }); + } + }; let resolved = resolve_profile_artifact_value( json, ProfileSource::Archive { @@ -674,6 +727,171 @@ mod tests { .unwrap() } + fn evaluated_profile() -> serde_json::Value { + serde_json::json!({ + "slug": "evaluated", + "description": "Evaluated profile", + "scope": "workspace_read", + "worker": { "mode": "wip" }, + "feature": { + "task": { "enabled": true }, + "memory": { "enabled": true }, + "sub_worker": { "enabled": true } + } + }) + } + + fn evaluated_archive() -> ProfileSourceArchive { + ProfileSourceArchive::build_evaluated_profile( + "evaluated-archive".to_string(), + "project:evaluated".to_string(), + evaluated_profile(), + ) + .unwrap() + } + + #[test] + fn evaluated_json_preserves_explicit_worker_mode_and_features() { + let archive = evaluated_archive(); + let verified = archive.verify().unwrap(); + let source = &verified.manifest().sources[0]; + assert_eq!(source.kind, "json"); + assert_eq!(source.content_type, "application/json"); + assert_eq!(verified.manifest().imports.len(), 0); + assert_eq!( + serde_json::from_str::(&verified.sources[&source.path]).unwrap(), + evaluated_profile() + ); + let root = tempfile::tempdir().unwrap(); + let manifest = verified + .resolve_profile("project:evaluated", root.path(), "evaluated-worker") + .unwrap(); + let json = serde_json::to_value(&manifest).unwrap(); + assert_eq!(manifest.worker.name, "evaluated-worker"); + assert_eq!(json["worker"]["mode"], "wip"); + assert_eq!(json["feature"]["task"]["enabled"], true); + assert_eq!(json["feature"]["memory"]["profile"]["enabled"], true); + assert_eq!(json["feature"]["sub_worker"]["enabled"], true); + } + + // Recompute the outer digest so verification reaches the source-level checks. + fn repack_archive( + archive: &mut ProfileSourceArchive, + manifest: &ProfileSourceArchiveManifest, + sources: &BTreeMap, + ) { + let mut content = Vec::new(); + { + let mut builder = Builder::new(&mut content); + append_bytes( + &mut builder, + MANIFEST_PATH, + &serde_json::to_vec(manifest).unwrap(), + ) + .unwrap(); + for (path, source) in sources { + append_bytes(&mut builder, path, source.as_bytes()).unwrap(); + } + builder.finish().unwrap(); + } + archive.reference.digest = sha256_hex(&content); + archive.reference.size_bytes = content.len() as u64; + archive.content = content; + } + + #[test] + fn evaluated_json_reuses_source_size_limit() { + assert!(matches!( + ProfileSourceArchive::build_evaluated_profile( + "oversized".to_string(), + "default".to_string(), + serde_json::Value::String("x".repeat(MAX_SOURCE_BYTES as usize)), + ), + Err(ProfileArchiveError::LimitExceeded("source bytes")) + )); + } + + #[test] + fn evaluated_json_rejects_archive_and_source_tampering() { + let mut archive = evaluated_archive(); + archive.content[0] ^= 1; + assert!(matches!( + archive.verify(), + Err(ProfileArchiveError::ArchiveDigestMismatch { .. }) + )); + + let mut archive = evaluated_archive(); + let mut verified = archive.verify().unwrap(); + let path = verified.manifest.sources[0].path.clone(); + verified + .sources + .get_mut(&path) + .unwrap() + .replace_range(0..1, "["); + repack_archive(&mut archive, &verified.manifest, &verified.sources); + assert!(matches!( + archive.verify(), + Err(ProfileArchiveError::SourceDigestMismatch { path: actual, .. }) if actual == path + )); + } + + #[test] + fn evaluated_json_requires_matching_source_kind_and_content_type() { + for (kind, content_type) in [ + ("json", "text/x-decodal"), + ("decodal", "application/json"), + ("unknown", "application/json"), + ] { + let mut archive = evaluated_archive(); + let mut verified = archive.verify().unwrap(); + verified.manifest.sources[0].kind = kind.to_string(); + verified.manifest.sources[0].content_type = content_type.to_string(); + repack_archive(&mut archive, &verified.manifest, &verified.sources); + assert!(matches!( + archive.verify(), + Err(ProfileArchiveError::UnsupportedSource { .. }) + )); + } + } + + #[test] + fn evaluated_json_does_not_fallback_to_filesystem_or_default() { + let root = tempfile::tempdir().unwrap(); + let profiles = root.path().join("profiles"); + std::fs::create_dir(&profiles).unwrap(); + let local_profile = profiles.join("evaluated.json"); + std::fs::write( + &local_profile, + serde_json::to_vec(&evaluated_profile()).unwrap(), + ) + .unwrap(); + let verified = evaluated_archive().verify().unwrap(); + for selector in [ + "default", + "profiles/evaluated.json", + local_profile.to_str().unwrap(), + ] { + assert!(matches!( + verified.resolve_profile(selector, root.path(), "evaluated-worker"), + Err(ProfileArchiveError::MissingEntrypoint(actual)) if actual == selector + )); + } + + // A valid local file must not rescue an invalid archived Profile value either. + let invalid = ProfileSourceArchive::build_evaluated_profile( + "invalid".to_string(), + "project:evaluated".to_string(), + serde_json::json!({ "not_a_profile_field": true }), + ) + .unwrap() + .verify() + .unwrap(); + assert!(matches!( + invalid.resolve_profile("project:evaluated", root.path(), "evaluated-worker"), + Err(ProfileArchiveError::Profile { .. }) + )); + } + #[test] fn build_and_verify_archive() { let archive = sample_archive(); diff --git a/crates/workspace-server/src/config_source.rs b/crates/workspace-server/src/config_source.rs index 2a127bd9c..19d566416 100644 --- a/crates/workspace-server/src/config_source.rs +++ b/crates/workspace-server/src/config_source.rs @@ -140,7 +140,11 @@ pub(crate) fn validate_workspace_config_candidate_projections( }; crate::prompt_settings::validate_evaluated_prompt_catalog(&candidate.evaluation)?; if has_provider("builtin:profile") { - crate::profile_settings::project_profiles_from_workspace_config(workspace_id, &state)?; + crate::profile_settings::project_profiles_from_evaluation( + workspace_id, + &state, + &candidate.evaluation, + )?; } if has_provider("builtin:runtime") { crate::runtime_settings::project_runtime_from_workspace_config(workspace_id, &state)?; diff --git a/crates/workspace-server/src/profile_settings.rs b/crates/workspace-server/src/profile_settings.rs index 5c38a099b..2d08b2e31 100644 --- a/crates/workspace-server/src/profile_settings.rs +++ b/crates/workspace-server/src/profile_settings.rs @@ -1,7 +1,7 @@ use std::collections::BTreeMap; -use std::path::{Component, Path, PathBuf}; +use std::path::Path; -use config_source::{ConfigContentType, ConfigSchemaContribution, VirtualPath}; +use config_source::ConfigSchemaContribution; use manifest::{ProfileSource, builtin_profile_catalog_snapshot, resolve_profile_artifact_value}; use serde::Deserialize; use server_api::{ @@ -21,24 +21,19 @@ use crate::config_source::{ use crate::store::WorkspaceRecord; use crate::{Error, Result}; -const PROFILE_SCHEMA_SOURCE: &str = r#"{ - profile = { - default_profile = String default "builtin:companion"; - entries = [...{ - selector = String; - source = String; - label = String default ""; - description = String default ""; - }] default []; - }; -}"#; +const PROFILE_SCHEMA_SOURCE: &str = include_str!("../../../resources/config-schema/profile.dcdl"); #[derive(Debug, Default)] pub struct ProfileConfigSchemaProvider; impl WorkspaceConfigSchemaProvider for ProfileConfigSchemaProvider { fn contribution(&self) -> Result { - ConfigSchemaContribution::new("builtin:profile", "profile", "1", PROFILE_SCHEMA_SOURCE) + ConfigSchemaContribution::new("builtin:profile", "profile", "2", PROFILE_SCHEMA_SOURCE) + .map(|schema| { + schema.with_authoring_source(include_str!( + "../../../resources/config-schema/profile-authoring.dcdl" + )) + }) .map_err(|error| Error::Config(error.to_string())) } } @@ -59,7 +54,7 @@ struct VirtualProfileSection { #[serde(deny_unknown_fields)] struct VirtualProfileEntry { selector: String, - source: String, + profile: serde_json::Value, label: String, description: String, } @@ -68,7 +63,6 @@ struct VirtualProfileEntry { pub struct ProfileConfigProjection { pub settings: ProfileSettingsResponse, entries: BTreeMap, - sources: BTreeMap, } pub fn project_profiles_from_workspace_config( @@ -96,23 +90,42 @@ pub fn project_profiles_from_workspace_config( "Profile projection digest mismatch for Workspace {workspace_id}" ))); } + project_profiles_from_evaluation(workspace_id, state, &evaluation) +} + +pub(crate) fn project_profiles_from_evaluation( + workspace_id: &str, + state: &WorkspaceConfigState, + evaluation: &config_source::EvaluationResult, +) -> Result { + if evaluation.projection_digest != state.projection_digest { + return Err(Error::Config( + "Profile evaluation does not match Workspace config state".into(), + )); + } let projected = evaluation.projections.first().ok_or_else(|| { Error::RegistryInconsistency("Workspace config has no active projection".to_string()) })?; + if projected + .data_json + .pointer("/profile/entries") + .and_then(serde_json::Value::as_array) + .is_some_and(|entries| entries.iter().any(|entry| entry.get("source").is_some())) + { + return Err(profile_validation_error( + "profile_source_registration_removed", + "profile.entries.source is no longer supported: replace source = \"profiles/name.dcdl\" with profile = import \"./profiles/name.dcdl\" (relative to the containing config file). Saved config is not rewritten.", + )); + } let config: VirtualProfileConfig = serde_json::from_value(projected.data_json.clone()) .map_err(|error| Error::RegistryInconsistency(error.to_string()))?; let mut profiles = builtin_profile_summaries(Some(&config.profile.default_profile)); let mut entries = BTreeMap::new(); - let sources = state - .snapshot - .entries - .iter() - .filter(|(_, entry)| entry.content_type == ConfigContentType::Decodal) - .map(|(path, entry)| (path.as_str().to_string(), entry.content.clone())) - .collect::>(); let mut source_summaries = Vec::new(); for entry in config.profile.entries { - if !entry.selector.starts_with("project:") { + if !entry.selector.starts_with("project:") + || entry.selector.trim_start_matches("project:").is_empty() + { return Err(profile_validation_error( "profile_selector_invalid", "Workspace Profile selectors must use project:*", @@ -124,61 +137,43 @@ pub fn project_profiles_from_workspace_config( "Workspace Profile selectors must be unique", )); } - let source_path = VirtualPath::parse(&entry.source).map_err(|error| { - profile_validation_error("profile_source_path_invalid", &error.to_string()) - })?; - let source_entry = state.snapshot.get(&source_path).ok_or_else(|| { - profile_validation_error( - "profile_source_missing", - &format!( - "Profile source {:?} is missing from the active config revision", - entry.source - ), - ) - })?; - if source_entry.content_type != ConfigContentType::Decodal { - return Err(profile_validation_error( - "profile_source_type_invalid", - "Profile sources must use Decodal content", - )); - } - let archive_source = entry.source.clone(); let label = if entry.label.is_empty() { entry.selector.trim_start_matches("project:").to_string() } else { entry.label.clone() }; resolve_profile_artifact_value( - evaluate_profile_source(&state.snapshot, &source_path)?, + entry.profile.clone(), ProfileSource::Archive { archive_id: format!("workspace-config-r{}", state.snapshot.revision), - source: archive_source.clone(), + source: entry.selector.clone(), }, Path::new("/"), "workspace-config-validation", ) - .map_err(|error| profile_validation_error("profile_source_invalid", &error.to_string()))?; + .map_err(|error| profile_validation_error("profile_value_invalid", &error.to_string()))?; profiles.push(WorkspaceProfileSummary { profile_id: entry.selector.clone(), selector: entry.selector.clone(), label, source_kind: "project".to_string(), - profile_source_id: Some(entry.source.clone()), + profile_source_id: Some(entry.selector.clone()), description: (!entry.description.is_empty()).then(|| entry.description.clone()), editable: false, is_default: config.profile.default_profile == entry.selector, diagnostics: Vec::new(), }); + let value_bytes = serde_json::to_vec(&entry.profile).expect("Profile value serializes"); source_summaries.push(WorkspaceProfileSourceSummary { - profile_source_id: entry.source.clone(), - display_path: entry.source.clone(), - kind: "virtual_config".to_string(), - content_type: "decodal".to_string(), - content_digest: source_entry.content_digest.clone(), + profile_source_id: entry.selector.clone(), + display_path: format!("profile.entries[{}].profile", source_summaries.len()), + kind: "evaluated_config".to_string(), + content_type: "application/json".to_string(), + content_digest: config_source::digest_bytes(&value_bytes), provenance: WorkspaceProfileSourceProvenance::ProjectProfileSourceTree, editable: false, revision: state.snapshot.revision.to_string(), - size_bytes: source_entry.content.len() as u64, + size_bytes: value_bytes.len() as u64, diagnostics: Vec::new(), }); entries.insert(entry.selector.clone(), entry); @@ -198,46 +193,16 @@ pub fn project_profiles_from_workspace_config( registry_revision: format!("config:{}", state.snapshot.revision), config_revision: Some(state.snapshot.revision), tree_digest: Some(state.snapshot.digest.clone()), - projection_digest: Some(evaluation.projection_digest), + projection_digest: Some(evaluation.projection_digest.clone()), default_profile: Some(config.profile.default_profile), profiles, sources: source_summaries, diagnostics: Vec::new(), }, entries, - sources, }) } -fn evaluate_profile_source( - snapshot: &config_source::ConfigTreeSnapshot, - source_path: &VirtualPath, -) -> Result { - let contract = config_source::ToolchainContract::with_schema_bundle( - config_source::DEFAULT_SCHEMA_VERSION, - vec![source_path.clone()], - config_source::DEFAULT_IMPORT_POLICY_VERSION, - config_source::WorkspaceConfigSchemaBundle::empty(), - ); - let evaluation = config_source::SnapshotEnvironment::new(snapshot.clone()) - .evaluate_contract(&contract) - .map_err(|diagnostics| { - profile_validation_error( - "profile_source_invalid", - &serde_json::to_string(&diagnostics) - .unwrap_or_else(|_| "Profile source evaluation failed".to_string()), - ) - })?; - evaluation - .projections - .into_iter() - .next() - .map(|projection| projection.data_json) - .ok_or_else(|| { - profile_validation_error("profile_source_invalid", "Profile source has no projection") - }) -} - pub fn selector_for_workspace_candidate( projection: &ProfileConfigProjection, profile: &str, @@ -420,6 +385,16 @@ pub fn build_virtual_profile_config_bundle_with_prompt_projection( selector: &str, prompt_projection: &worker::WorkspacePromptProjection, ) -> Result> { + if projection.settings.workspace_id != workspace_id + || projection.settings.config_revision != Some(state.snapshot.revision) + || projection.settings.tree_digest.as_deref() != Some(state.snapshot.digest.as_str()) + || projection.settings.projection_digest.as_deref() + != Some(state.projection_digest.as_str()) + { + return Err(Error::Config( + "Profile projection does not match Workspace config state".into(), + )); + } validate_prompt_projection_matches_state(workspace_id, state, prompt_projection)?; let prompt_catalog = prompt_projection.catalog().clone(); let profile_selector = @@ -429,12 +404,7 @@ pub fn build_virtual_profile_config_bundle_with_prompt_projection( )) })?; let archive = match projection.entries.get(selector) { - Some(entry) => Some(build_virtual_profile_archive( - selector, - entry, - &projection.sources, - state, - )?), + Some(entry) => Some(build_virtual_profile_archive(selector, entry, state)?), None => Some(builtin_profile_source_archive(&profile_selector).map_err(Error::Store)?), }; let bundle_id = virtual_profile_bundle_id( @@ -492,19 +462,14 @@ pub(crate) fn resolve_profile_manifest_from_config_bundle( fn build_virtual_profile_archive( selector: &str, entry: &VirtualProfileEntry, - all_sources: &BTreeMap, state: &WorkspaceConfigState, ) -> Result { - let mut closure = BTreeMap::new(); - let mut imports = BTreeMap::new(); - collect_profile_import_closure(&entry.source, all_sources, &mut closure, &mut imports)?; - ProfileSourceArchive::build(ProfileSourceArchiveInput { - id: format!("workspace-config-profile-r{}", state.snapshot.revision), - entrypoints: BTreeMap::from([(selector.to_string(), entry.source.clone())]), - imports, - sources: closure, - }) - .map_err(|error| profile_validation_error("profile_source_archive_invalid", &error.to_string())) + ProfileSourceArchive::build_evaluated_profile( + format!("workspace-config-profile-r{}", state.snapshot.revision), + selector.to_string(), + entry.profile.clone(), + ) + .map_err(|error| profile_validation_error("profile_value_archive_invalid", &error.to_string())) } pub fn workspace_metadata_settings( @@ -576,124 +541,6 @@ fn profile_validation_error(code: impl Into, message: impl Into) } } -fn collect_profile_import_closure( - current_path: &str, - all_sources: &BTreeMap, - closure_sources: &mut BTreeMap, - imports: &mut BTreeMap, -) -> Result<()> { - if closure_sources.contains_key(current_path) { - return Ok(()); - } - let content = all_sources.get(current_path).ok_or_else(|| { - profile_validation_error( - "profile_source_import_missing", - &format!("Profile source import closure is missing {current_path}"), - ) - })?; - closure_sources.insert(current_path.to_string(), content.clone()); - for specifier in collect_decodal_import_specifiers(content) { - let target = resolve_profile_source_import(current_path, &specifier)?; - if !all_sources.contains_key(&target) { - return Err(profile_validation_error( - "profile_source_import_missing", - &format!( - "Profile source import {specifier:?} from {current_path} resolves to missing {target}" - ), - )); - } - imports.insert(format!("{current_path}\0{specifier}"), target.clone()); - collect_profile_import_closure(&target, all_sources, closure_sources, imports)?; - } - Ok(()) -} - -fn resolve_profile_source_import(current_path: &str, specifier: &str) -> Result { - if specifier.is_empty() || specifier.contains("://") || Path::new(specifier).is_absolute() { - return Err(profile_validation_error( - "profile_source_import_invalid", - "Profile source import must be a virtual relative path", - )); - } - let raw = specifier - .strip_prefix("project:") - .or_else(|| specifier.strip_prefix("workspace:")) - .unwrap_or(specifier); - if specifier.contains(':') && raw == specifier { - return Err(profile_validation_error( - "profile_source_import_invalid", - "Unsupported profile source import namespace", - )); - } - let base = if raw.starts_with("profiles/") || raw.starts_with("./profiles/") { - PathBuf::from(raw) - } else { - Path::new(current_path) - .parent() - .map(Path::to_path_buf) - .unwrap_or_default() - .join(raw) - }; - let normalized = normalize_virtual_profile_source_path(&base.to_string_lossy())?; - Ok(normalized) -} - -fn normalize_virtual_profile_source_path(path: &str) -> Result { - let mut normalized = PathBuf::new(); - for component in Path::new(path).components() { - match component { - Component::CurDir => {} - Component::Normal(value) => normalized.push(value), - Component::ParentDir => { - if !normalized.pop() { - return Err(profile_validation_error( - "profile_source_import_invalid", - "Profile source import escapes the virtual tree", - )); - } - } - Component::RootDir | Component::Prefix(_) => { - return Err(profile_validation_error( - "profile_source_import_invalid", - "Profile source import must be relative", - )); - } - } - } - Ok(normalized.to_string_lossy().replace('\\', "/")) -} - -fn collect_decodal_import_specifiers(content: &str) -> Vec { - let mut specifiers = Vec::new(); - for line in content.lines() { - let trimmed = line.trim_start(); - if trimmed.starts_with("//") || trimmed.starts_with('#') { - continue; - } - let Some(index) = trimmed.find("import") else { - continue; - }; - let after = trimmed[index + "import".len()..].trim_start(); - let Some(first) = after.chars().next() else { - continue; - }; - if first == '"' || first == '\'' { - if let Some(end) = after[1..].find(first) { - specifiers.push(after[1..1 + end].to_string()); - } - } else { - let ident: String = after - .chars() - .take_while(|ch| !ch.is_whitespace() && *ch != ';' && *ch != ',' && *ch != '{') - .collect(); - if !ident.is_empty() { - specifiers.push(ident); - } - } - } - specifiers -} - pub fn selector_for_builtin_candidate( id: &str, ) -> Option { @@ -711,6 +558,7 @@ pub fn selector_for_builtin_candidate( #[cfg(test)] mod tests { use super::*; + use config_source::{ConfigContentType, VirtualPath}; #[test] fn workspace_metadata_projects_server_database_record_without_filesystem_diagnostics() { @@ -779,7 +627,7 @@ mod tests { config_source::ConfigEntry::new( VirtualPath::parse("main.dcdl").unwrap(), ConfigContentType::Decodal, - r#"{ profile = { default_profile = "project:alpha"; entries = [{ selector = "project:alpha"; source = "profiles/alpha.dcdl"; label = "Alpha"; }]; }; }"#, + r#"{ profile = { default_profile = "project:alpha"; entries = [{ selector = "project:alpha"; profile = import "./profiles/alpha.dcdl"; label = "Alpha"; }]; }; }"#, ) .unwrap(), config_source::ConfigEntry::new( @@ -819,18 +667,18 @@ mod tests { .entrypoints .get("project:alpha") .map(String::as_str), - Some("profiles/alpha.dcdl") + Some("profiles/evaluated.json") ); assert_eq!(archive.reference.source_graph.source_count, 1); } #[test] - fn virtual_config_projection_preserves_import_closure() { + fn virtual_config_projection_materializes_import_closure() { let state = virtual_state(vec![ config_source::ConfigEntry::new( VirtualPath::parse("main.dcdl").unwrap(), ConfigContentType::Decodal, - r#"{ profile = { entries = [{ selector = "project:alpha"; source = "profiles/alpha.dcdl"; }]; }; }"#, + r#"{ profile = { entries = [{ selector = "project:alpha"; profile = import "./profiles/alpha.dcdl"; }]; }; }"#, ) .unwrap(), config_source::ConfigEntry::new( @@ -857,8 +705,8 @@ mod tests { .unwrap() .unwrap(); let archive = bundle.profile_source_archive.unwrap(); - assert_eq!(archive.reference.source_graph.source_count, 2); - assert_eq!(archive.reference.source_graph.import_count, 1); + assert_eq!(archive.reference.source_graph.source_count, 1); + assert_eq!(archive.reference.source_graph.import_count, 0); } #[test] @@ -955,8 +803,8 @@ mod tests { VirtualPath::parse("main.dcdl").unwrap(), ConfigContentType::Decodal, r#"{ profile = { entries = [ - { selector = "project:alpha"; source = "profiles/alpha.dcdl"; }, - { selector = "project:beta"; source = "profiles/beta.dcdl"; }, + { selector = "project:alpha"; profile = import "./profiles/alpha.dcdl"; }, + { selector = "project:beta"; profile = import "./profiles/beta.dcdl"; }, ]; }; }"#, ) .unwrap(), @@ -1002,20 +850,83 @@ mod tests { } #[test] - fn virtual_config_projection_rejects_missing_profile_source() { - let state = virtual_state(vec![ - config_source::ConfigEntry::new( - VirtualPath::parse("main.dcdl").unwrap(), - ConfigContentType::Decodal, - r#"{ profile = { entries = [{ selector = "project:alpha"; source = "profiles/missing.dcdl"; }]; }; }"#, - ) - .unwrap(), - ]); - let error = project_profiles_from_workspace_config("workspace-test", &state).unwrap_err(); - assert!( - error - .to_string() - .contains("missing from the active config revision") + fn value_profile_authoring_uses_current_provider_schema_without_inserting_defaults() { + let bundle = + config_source::WorkspaceConfigSchemaBundle::compose([ProfileConfigSchemaProvider + .contribution() + .unwrap()]) + .unwrap(); + let snapshot = config_source::ConfigTreeSnapshot::from_entries(1, [config_source::ConfigEntry::new( + VirtualPath::parse("main.dcdl").unwrap(), ConfigContentType::Decodal, + r#"{ profile = { entries = [{ selector = "project:alpha"; profile = {}; }]; }; } as WorkspaceConfigSchema"#, + ).unwrap()]).unwrap(); + let environment = config_source::SnapshotEnvironment::new(snapshot.clone()) + .with_schema_bundle(bundle.clone()); + for (body, token, label) in [ + ( + "{ profile = { entries = [{ sel }] } } as WorkspaceConfigSchema", + "sel", + "selector", + ), + ( + "{ profile = { entries = [{ pro }] } } as WorkspaceConfigSchema", + "pro", + "profile", + ), + ( + "{ profile = { entries = [{ profile = { wor } }] } } as WorkspaceConfigSchema", + "wor", + "worker", + ), + ( + "{ profile = { entries = [{ profile = { worker = { mo } } }] } } as WorkspaceConfigSchema", + "mo", + "mode", + ), + ( + "{ profile = { entries = [{ profile = { feature = { ti } } }] } } as WorkspaceConfigSchema", + "ti", + "ticket", + ), + ] { + let offset = body.rfind(token).unwrap() + token.len(); + let completion = environment + .complete_config( + &VirtualPath::parse("main.dcdl").unwrap(), + body, + offset, + true, + ) + .unwrap() + .unwrap(); + assert!( + completion.items.iter().any(|item| item.label == label), + "{label}: {completion:?}" + ); + } + for invalid in [ + r#"{ profile = { entries = [{ selector = 42; profile = {}; }]; }; } as WorkspaceConfigSchema"#, + r#"{ profile = { entries = [{ selector = "project:alpha"; profile = 42; }]; }; } as WorkspaceConfigSchema"#, + ] { + assert!( + !environment + .analyze(&VirtualPath::parse("main.dcdl").unwrap(), Some(invalid)) + .is_empty() + ); + } + let evaluation = environment + .evaluate_contract(&config_source::ToolchainContract::with_schema_bundle( + config_source::DEFAULT_SCHEMA_VERSION, + vec![VirtualPath::parse("main.dcdl").unwrap()], + config_source::DEFAULT_IMPORT_POLICY_VERSION, + bundle, + )) + .unwrap(); + assert_eq!( + evaluation.projections[0] + .data_json + .pointer("/profile/entries/0/profile"), + Some(&serde_json::json!({})) ); } } diff --git a/crates/workspace-server/src/server.rs b/crates/workspace-server/src/server.rs index 84fb046e1..ac8759821 100644 --- a/crates/workspace-server/src/server.rs +++ b/crates/workspace-server/src/server.rs @@ -12320,6 +12320,7 @@ fn config_schema_bundle_to_api( namespace: contribution.namespace, version: contribution.version, source: contribution.source, + authoring_source: contribution.authoring_source, projection_validator: contribution .projection_validator .map(config_projection_validator_to_api), @@ -33466,6 +33467,7 @@ impl IntoResponse for ApiError { #[cfg(test)] mod tests { mod subjektiv_jobs_tests; + mod value_profiles_tests; mod worker_operations_tests; include!("server_workspace_config_tests.rs"); use super::*; diff --git a/crates/workspace-server/src/server/tests/subjektiv_jobs_tests.rs b/crates/workspace-server/src/server/tests/subjektiv_jobs_tests.rs index 78c191a4d..6905bfe58 100644 --- a/crates/workspace-server/src/server/tests/subjektiv_jobs_tests.rs +++ b/crates/workspace-server/src/server/tests/subjektiv_jobs_tests.rs @@ -454,7 +454,7 @@ async fn backend_job_project_recipe_is_resolved_and_delivered_without_system_ove entrypoints: state.contract.entrypoints.iter().map(|p| p.as_str().into()).collect(), changes: vec![server_api::ConfigTreeChange::Update { path: entrypoint.as_str().into(), expected_digest: root.content_digest.clone(), - content: "{ profile = { entries = [{ selector = \"project:job-recipe\"; source = \"profiles/job-recipe.dcdl\"; }]; }; }".into(), + content: "{ profile = { entries = [{ selector = \"project:job-recipe\"; profile = import \"./profiles/job-recipe.dcdl\"; }]; }; }".into(), }, server_api::ConfigTreeChange::Create { path: "profiles/job-recipe.dcdl".into(), content_type: server_api::ConfigContentType::Decodal, content: "{ slug = \"job-recipe\"; scope = \"workspace_read\"; model = { id = \"fixture-model\"; }; engine = { instruction = \"role.default\"; }; feature = { task = { enabled = true; }; }; }".into(), diff --git a/crates/workspace-server/src/server/tests/value_profiles_tests.rs b/crates/workspace-server/src/server/tests/value_profiles_tests.rs new file mode 100644 index 000000000..984f8f5b4 --- /dev/null +++ b/crates/workspace-server/src/server/tests/value_profiles_tests.rs @@ -0,0 +1,362 @@ +use super::*; +use crate::profile_settings::{ + build_virtual_profile_config_bundle, project_profiles_from_workspace_config, +}; + +const PROFILE: &str = r#"{ + slug = "alpha"; + worker = { mode = "wip"; }; + model = { ref = "codex-oauth/gpt-5.6-sol"; }; + feature = { task = { enabled = true; }; ticket = { enabled = false; }; }; +}"#; + +fn request( + api: &WorkspaceApi, + source: &str, + extra: Vec, +) -> ConfigCommitRequest { + let state = api + .config_store + .load_workspace_config(TEST_WORKSPACE_ID) + .unwrap() + .unwrap(); + let main = state + .snapshot + .get(&config_source::VirtualPath::parse("main.dcdl").unwrap()) + .unwrap(); + let mut changes = vec![config_source::ConfigTreeChange::Update { + path: main.path.clone(), + expected_digest: main.content_digest.clone(), + content: source.into(), + }]; + changes.extend(extra); + ConfigCommitRequest { + base_revision: state.snapshot.revision, + base_digest: state.snapshot.digest, + entrypoints: state.contract.entrypoints, + changes, + } +} + +fn source(value: &str) -> String { + format!( + r#"{{ profile = {{ default_profile = "project:alpha"; entries = [{{ selector = "project:alpha"; label = "Alpha"; description = "Value recipe"; profile = {value}; }}]; }}; }}"# + ) +} + +#[tokio::test] +async fn value_profiles_save_project_and_runtime_consume_the_same_revision() { + let dir = tempfile::tempdir().unwrap(); + let api = test_api(dir.path()).await; + let forms = [ + PROFILE.to_string(), + r#"import "./recipes/alpha.dcdl""#.into(), + r#"(import "./recipes/base.dcdl") // { worker = { mode = "wip"; }; feature.task.enabled = true; }"#.into(), + ]; + let mut manifests = Vec::new(); + let mut saved_manifest = None; + for (index, form) in forms.iter().enumerate() { + let extra = if index == 0 { + vec![ + config_source::ConfigTreeChange::Create { + path: config_source::VirtualPath::parse("recipes/alpha.dcdl").unwrap(), + content_type: config_source::ConfigContentType::Decodal, + content: PROFILE.into(), + }, + config_source::ConfigTreeChange::Create { + path: config_source::VirtualPath::parse("recipes/base.dcdl").unwrap(), + content_type: config_source::ConfigContentType::Decodal, + content: PROFILE + .replace("wip", "tools") + .replace("enabled = true", "enabled = false"), + }, + ] + } else { + vec![] + }; + let state = commit_workspace_config_tree( + &api, + TEST_WORKSPACE_ID, + &request(&api, &source(form), extra), + ) + .unwrap(); + let loaded = api + .config_store + .load_workspace_config(TEST_WORKSPACE_ID) + .unwrap() + .unwrap(); + assert_eq!(loaded, state); + // The Browser receives the same fingerprint-bound authoring metadata through REST. + let wire = workspace_config_state_to_api(loaded.clone()); + let decoded: config_source::WorkspaceConfigSchemaBundle = + serde_json::from_value(serde_json::to_value(wire.contract.schema_bundle).unwrap()) + .unwrap(); + decoded.validate().unwrap(); + assert_eq!(decoded, loaded.contract.schema_bundle); + assert!( + decoded + .contributions + .iter() + .find(|entry| entry.provider_id == "builtin:profile") + .unwrap() + .authoring_source + .is_some() + ); + let projection = + project_profiles_from_workspace_config(TEST_WORKSPACE_ID, &loaded).unwrap(); + assert_eq!( + projection.settings.default_profile.as_deref(), + Some("project:alpha") + ); + assert_eq!( + projection.settings.config_revision, + Some(state.snapshot.revision) + ); + let selected = projection + .settings + .profiles + .iter() + .find(|entry| entry.selector == "project:alpha") + .unwrap(); + assert_eq!(selected.label, "Alpha"); + assert_eq!(selected.description.as_deref(), Some("Value recipe")); + assert!(selected.is_default); + assert_eq!(selected.profile_source_id.as_deref(), Some("project:alpha")); + let bundle = build_virtual_profile_config_bundle( + &projection, + &state, + TEST_WORKSPACE_ID, + "2026-01-01T00:00:00Z", + "project:alpha", + ) + .unwrap() + .unwrap(); + assert_eq!(bundle.metadata.digest, bundle.computed_digest()); + assert_eq!( + bundle.metadata.revision, + state.snapshot.revision.to_string() + ); + let archive = bundle.profile_source_archive.as_ref().unwrap(); + let verified = archive.verify().unwrap(); + // This is the Runtime's archive consumer. It needs neither the Workspace tree nor imports. + let resolved = verified + .resolve_profile( + "project:alpha", + Path::new("/runtime-worker"), + "value-worker", + ) + .unwrap(); + assert_eq!(resolved.worker.mode, manifest::WorkerMode::Wip); + assert!(resolved.feature.task.enabled); + assert!(!resolved.feature.ticket.enabled); + assert!(!resolved.feature.ticket.authoring); + assert!(!resolved.feature.sub_worker.enabled); + assert_eq!(archive.reference.source_graph.import_count, 0); + let evaluation = config_source::SnapshotEnvironment::new(state.snapshot.clone()) + .evaluate_contract(&state.contract) + .unwrap(); + let value = evaluation.projections[0] + .data_json + .pointer("/profile/entries/0/profile") + .unwrap(); + assert!(value.is_object()); + assert!( + value.get("engine").is_none(), + "omission must remain omission in the Profile value" + ); + let mut snapshot = serde_json::to_value(&resolved).unwrap(); + snapshot.as_object_mut().unwrap().remove("profile"); // revision-specific provenance only + manifests.push(snapshot); + if index == 0 { + saved_manifest = + Some(manifest::write_persisted_worker_manifest_snapshot(&resolved).unwrap()); + } + if index == 2 { + let mut other_state = state.clone(); + other_state.snapshot.revision += 1; + assert!( + build_virtual_profile_config_bundle( + &projection, + &other_state, + TEST_WORKSPACE_ID, + "created", + "project:alpha" + ) + .unwrap_err() + .to_string() + .contains("does not match") + ); + } + } + assert_eq!(manifests[0], manifests[1]); + assert_eq!(manifests[1], manifests[2]); + // Saving a new recipe is not an operation on existing Workers or their persisted Manifest. + let state = commit_workspace_config_tree( + &api, + TEST_WORKSPACE_ID, + &request( + &api, + &source( + &PROFILE + .replace("wip", "tools") + .replace("enabled = true", "enabled = false"), + ), + vec![], + ), + ) + .unwrap(); + let projection = project_profiles_from_workspace_config(TEST_WORKSPACE_ID, &state).unwrap(); + let bundle = build_virtual_profile_config_bundle( + &projection, + &state, + TEST_WORKSPACE_ID, + "created", + "project:alpha", + ) + .unwrap() + .unwrap(); + let fresh = crate::profile_settings::resolve_profile_manifest_from_config_bundle( + &bundle, + "project:alpha", + ) + .unwrap(); + assert_eq!(fresh.worker.mode, manifest::WorkerMode::Tools); + assert!(!fresh.feature.task.enabled); + let restored = + manifest::read_persisted_worker_manifest_snapshot(saved_manifest.unwrap()).unwrap(); + assert_eq!(restored.worker.mode, manifest::WorkerMode::Wip); + assert!(restored.feature.task.enabled); +} + +#[tokio::test] +async fn value_profiles_invalid_saves_preserve_the_active_config() { + let dir = tempfile::tempdir().unwrap(); + let api = test_api(dir.path()).await; + let before = commit_workspace_config_tree( + &api, + TEST_WORKSPACE_ID, + &request(&api, &source(PROFILE), vec![]), + ) + .unwrap(); + let invalid = [ + (source("42"), ""), + (source(r#"{ worker = { mode = "not-a-mode"; }; }"#), "profile_value_invalid"), + (source(r#"{ worker = { name = "runtime-only"; }; }"#), "profile_value_invalid"), + (source(r#"import "./missing.dcdl""#), ""), + (source(r#"import "../outside.dcdl""#), ""), + (r#"{ profile = { entries = [{ selector = "project:alpha"; profile = {}; }, { selector = "project:alpha"; profile = {}; }]; }; }"#.into(), "profile_selector_duplicate"), + (r#"{ profile = { default_profile = "project:unknown"; }; }"#.into(), "unknown_default_profile"), + (r#"{ profile = { entries = [{ selector = "project:"; profile = {}; }]; }; }"#.into(), "profile_selector_invalid"), + (r#"{ profile = { entries = [{ selector = "project:alpha"; source = "profiles/alpha.dcdl"; }]; }; }"#.into(), ""), + ]; + for (source, code) in invalid { + let error = + commit_workspace_config_tree(&api, TEST_WORKSPACE_ID, &request(&api, &source, vec![])) + .unwrap_err(); + assert!(error.to_string().contains(code), "{error}"); + assert_eq!( + api.config_store + .load_workspace_config(TEST_WORKSPACE_ID) + .unwrap() + .unwrap(), + before + ); + } +} + +#[tokio::test] +async fn value_profiles_legacy_source_config_requires_explicit_lossless_migration() { + let dir = tempfile::tempdir().unwrap(); + let api = test_api(dir.path()).await; + let mut contributions = api.config_schema_registry.compose().unwrap().contributions; + let profile_schema = contributions + .iter_mut() + .find(|entry| entry.provider_id == "builtin:profile") + .unwrap(); + *profile_schema = config_source::ConfigSchemaContribution::new("builtin:profile", "profile", "1", r#"{ + profile = { default_profile = String default "builtin:companion"; + entries = [...{ selector = String; source = String; label = String default ""; description = String default ""; }] default []; + }; + }"#).unwrap(); + let old_schema = config_source::WorkspaceConfigSchemaBundle::compose(contributions).unwrap(); + let old_source = r#"{ profile = { default_profile = "project:alpha"; entries = [{ selector = "project:alpha"; label = "Alpha"; source = "recipes/alpha.dcdl"; }]; }; }"#; + let candidate = api + .config_store + .evaluate_workspace_config_candidate_with_schema( + TEST_WORKSPACE_ID, + &request( + &api, + old_source, + vec![config_source::ConfigTreeChange::Create { + path: config_source::VirtualPath::parse("recipes/alpha.dcdl").unwrap(), + content_type: config_source::ConfigContentType::Decodal, + content: PROFILE.into(), + }], + ), + old_schema, + ) + .unwrap(); + // Fixture simulates a previously persisted v1 schema/revision. + let legacy = api + .config_store + .commit_evaluated_workspace_config(TEST_WORKSPACE_ID, &candidate) + .unwrap(); + let error = project_profiles_from_workspace_config(TEST_WORKSPACE_ID, &legacy).unwrap_err(); + assert!( + error + .to_string() + .contains("profile_source_registration_removed") + ); + assert!(error.to_string().contains("profile = import")); + assert_eq!( + api.config_store + .load_workspace_config(TEST_WORKSPACE_ID) + .unwrap() + .unwrap(), + legacy + ); + assert!( + commit_workspace_config_tree(&api, TEST_WORKSPACE_ID, &request(&api, old_source, vec![])) + .is_err() + ); + assert_eq!( + api.config_store + .load_workspace_config(TEST_WORKSPACE_ID) + .unwrap() + .unwrap(), + legacy + ); + let migrated_source = old_source.replace( + r#"source = "recipes/alpha.dcdl""#, + r#"profile = import "./recipes/alpha.dcdl""#, + ); + let migrated = commit_workspace_config_tree( + &api, + TEST_WORKSPACE_ID, + &request(&api, &migrated_source, vec![]), + ) + .unwrap(); + let projection = project_profiles_from_workspace_config(TEST_WORKSPACE_ID, &migrated).unwrap(); + assert_eq!( + projection.settings.default_profile.as_deref(), + Some("project:alpha") + ); + assert_eq!( + migrated + .snapshot + .get(&config_source::VirtualPath::parse("recipes/alpha.dcdl").unwrap()), + legacy + .snapshot + .get(&config_source::VirtualPath::parse("recipes/alpha.dcdl").unwrap()) + ); + assert_eq!( + projection + .settings + .profiles + .iter() + .find(|entry| entry.selector == "project:alpha") + .unwrap() + .label, + "Alpha" + ); +} diff --git a/docs/design/profiles-manifests-prompts.md b/docs/design/profiles-manifests-prompts.md index 4e98f622a..8d5192f39 100644 --- a/docs/design/profiles-manifests-prompts.md +++ b/docs/design/profiles-manifests-prompts.md @@ -17,7 +17,33 @@ A Profile should not contain runtime-bound fields: Those fields depend on one run, one parent, or one machine. Putting them in a reusable Profile makes reuse unsafe. -Yoi Profiles are data artifacts resolved from builtin profile definitions, `profiles.toml`, Decodal source archives, or explicit JSON/TOML artifacts. Decodal is the authoring syntax used by the Workspace profile editor and Backend Runtime archive path; JSON/TOML artifacts are the low-level resolver interchange format. Runtime launch should not depend on executable profile scripts. +Yoi Profiles are data artifacts resolved from builtin profile definitions, `profiles.toml`, Workspace Config values, or explicit JSON/TOML artifacts. Decodal is the Workspace authoring syntax; JSON/TOML artifacts are the low-level resolver interchange format. Runtime launch does not depend on executable profile scripts. + +### Workspace registration and migration + +Register the Profile **value**, not a source pathname: + +```dcdl +{ + profile = { + default_profile = "project:my-companion"; + entries = [{ + selector = "project:my-companion"; + label = "My Companion"; + description = "My reusable Worker recipe"; + profile = import "./profiles/my-companion.dcdl"; + }]; + }; +} as WorkspaceConfigSchema +``` + +The imported file can contain `{ worker = { mode = "wip"; }; model = { ref = "codex-oauth/gpt-5.6-sol"; }; feature = { task = { enabled = true; }; }; }`. That record can also be written directly at `entries[0].profile`. Composition uses ordinary Decodal expressions, for example `(import "./profiles/base.dcdl") // { worker = { mode = "wip"; }; }` for an explicit patch, or `&` for compatible refinement. No dedicated Profile file or `profiles/` directory is required. Imports are relative to the **containing virtual config file**, not a host filesystem path; missing imports and virtual-tree escapes are rejected. + +`selector` must be a nonempty `project:*` selector, unique in the Workspace. `label` and `description` are optional display metadata. An omitted `default_profile` selects `builtin:companion`; an explicitly unknown default is an error, not a fallback. A project Profile is a partial recipe resolved against `WorkerManifestConfig::resolution_defaults()`, **not** implicitly inherited from a builtin role. Explicit values remain explicit and omitted Profile fields remain absent in the transported value. Builtin-value import helpers are not part of this registration contract. + +The former `entries = [{ selector = "project:name"; source = "profiles/name.dcdl"; }]` registration is no longer accepted. Migrate it explicitly to `profile = import "./profiles/name.dcdl";`, preserving the selector, label, description and default. For registrations in a nested config file, adjust the relative import to the original virtual-tree entry (for example `../profiles/name.dcdl`). Do not rename or recreate the Profile file merely for registration. Previously saved source-based revisions remain readable as config data and are not rewritten, deleted, or silently substituted with a builtin. Their Profile projection/launch reports `profile_source_registration_removed` with the replacement form; saves under the new schema reject the old field. Existing Workers continue using their saved Manifest while the author migrates and saves the config. + +The schema contribution separates its materialized registration schema from an optional, fingerprint-bound `authoring_source`. The latter supplies editor field suggestions inside array elements and partial Profile records; it is never evaluated as defaults or substituted for the validation schema. Decodal structural diagnostics cover registration/value shape, and the shared Backend save boundary checks full Profile/Manifest semantics (including mode, forbidden runtime fields, duplicate selectors and default references). UI and WIP saves use that same boundary; invalid candidates leave the active config revision untouched. ## Manifests @@ -27,7 +53,7 @@ Source/partial layers may omit fields. Resolved manifests should be explicit eno `--manifest ` exists as an explicit low-level escape hatch. Normal fresh startup selects a `builtin:*` or `project:*` Profile from the Backend-managed Workspace Config revision rather than applying an ambient manifest cascade. -Project Profiles are evaluated from the revisioned Virtual Config's Decodal source/import closure. The Backend packages that closure into a digest-bound Profile source archive, delivers it with the resolved launch bundle, and the Worker persists the resulting Manifest for restore. Files below the Workdir are not implicit Profile override layers. +Project Profiles are evaluated as part of the revisioned Virtual Config, including its imports and value composition. The Backend packages the **evaluated selected value** into a digest-bound JSON entry in the existing Profile archive transport, and binds the launch bundle to the Workspace identity, revision, tree/projection digests and schema/toolchain fingerprints. Runtime verifies the archive and resolves that exact value without re-evaluating Decodal, scanning imports or reading Workspace files. Builtin Profiles retain their embedded Decodal archive path. Saving config changes only future fresh launches; the Worker persists the resulting resolved Manifest and restore uses that saved snapshot rather than selecting the current recipe again. Files below the Workdir are not implicit Profile override layers. ## Local stdio MCP server declarations diff --git a/openapi/server-api.json b/openapi/server-api.json index c217d3c0f..9eb8e17d3 100644 --- a/openapi/server-api.json +++ b/openapi/server-api.json @@ -1235,6 +1235,13 @@ "ConfigSchemaContribution": { "additionalProperties": false, "properties": { + "authoring_source": { + "description": "Completion-only shape for partial values; never materialized as defaults.", + "type": [ + "string", + "null" + ] + }, "namespace": { "type": "string" }, @@ -15474,7 +15481,7 @@ "info": { "title": "Yoi Server API", "version": "0.1.0", - "x-yoi-source-digest": "sha256:fd06f382c6d33a5c3cc98ef9e264545923c53fa95a9be555a85680f98c6065da" + "x-yoi-source-digest": "sha256:a6a7147c9a2f465a5da044e9ba21947cb3d86eacbfe3905696483917e794d5cf" }, "openapi": "3.1.0", "paths": { diff --git a/resources/config-schema/profile-authoring.dcdl b/resources/config-schema/profile-authoring.dcdl new file mode 100644 index 000000000..62317038e --- /dev/null +++ b/resources/config-schema/profile-authoring.dcdl @@ -0,0 +1,72 @@ +# Completion-only shape of partial Profile values. This is never materialized or +# used as defaults: omitted fields remain omitted until Manifest resolution. +let + Flag = { enabled = Bool; }; + Model = { + ref = String; scheme = String; base_url = String; model_id = String; + auth = { kind = String; ref = String; file = String; }; + capability = Unknown; context_window = Int; max_context_window = Int; + }; + Extraction = { + enabled = Bool; model = Model; reasoning = String; + threshold = Int; worker_max_turns = Int; + }; + Scope = { intent = String; deny_write = [...String]; symlink_policy = String; }; + Profile = { + slug = String; + description = String; + worker = { mode = String; }; + model = Model; + engine = { + instruction = String; language = String; reasoning = Unknown; + max_tokens = Int; max_turns = Int; temperature = Unknown; top_p = Unknown; + top_k = Int; stop_sequences = [...String]; tool_call_dispatch = String; + tool_output = { default_max_bytes = Int; per_tool = { ...Int }; }; + file_upload = { max_bytes = Int; }; + }; + scope = Scope; + delegation_scope = Scope; + session = { + record_event_trace = Bool; + }; + permissions = { default_action = String; rule = [...{ tool = String; pattern = String; action = String; }]; }; + feature = { + task = Flag; web = Flag; image = Flag; sub_worker = Flag; flow = Flag; + worker = { enabled = Bool; direct_spawn = Bool; }; + workspace_worker_discovery = Flag; objective = Flag; manage_workdir = Flag; + workdir_catalog = Flag; workspace_config = Flag; orchestration = Flag; + ticket = { enabled = Bool; authoring = Bool; thread = Bool; intake = Bool; workflow = Bool; }; + merge_request = { show = Bool; open = Bool; review = Bool; readiness_check = Bool; complete = Bool; }; + memory = { + enabled = Bool; staging_tools = Bool; + resident = { inject_summary = Bool; }; + extraction = Extraction; + consolidation = { request_enabled = Bool; }; + }; + subjektiv = { enabled = Bool; consolidation_tools = Bool; extraction = Extraction; }; + }; + mcp = { stdio_server = [...{ + name = String; command = String; args = [...String]; + cwd = { kind = String; path = String; }; + env = { inherit = [...String]; set = { ...Unknown }; }; + }]; }; + compaction = { + kind = String; threshold = Unknown; request_threshold = Unknown; + prune_enabled = Bool; worker_context_max_tokens = Unknown; + worker_max_turns = Int; model = Model; + }; + web = { + enabled = Bool; allow_private_addresses = Bool; + search = { enabled = Bool; provider = String; api_key_secret = String; timeout_secs = Int; base_url = String; country = String; search_lang = String; ui_lang = String; safesearch = String; }; + fetch = { enabled = Bool; timeout_secs = Int; redirect_limit = Int; max_response_bytes = Int; max_output_bytes = Int; allow_private_addresses = Bool; }; + }; + skills = { directories = [...String]; }; + }; +in { + profile = { + default_profile = String; + entries = [...{ + selector = String; profile = Profile; label = String; description = String; + }]; + }; +} diff --git a/resources/config-schema/profile.dcdl b/resources/config-schema/profile.dcdl new file mode 100644 index 000000000..aff4ccadc --- /dev/null +++ b/resources/config-schema/profile.dcdl @@ -0,0 +1,11 @@ +{ + profile = { + default_profile = String default "builtin:companion"; + entries = [...{ + selector = String; + profile = { ...Unknown }; + label = String default ""; + description = String default ""; + }] default []; + }; +} diff --git a/web/workspace/deno.json b/web/workspace/deno.json index 9479ef44f..e17a7fb8b 100644 --- a/web/workspace/deno.json +++ b/web/workspace/deno.json @@ -6,7 +6,7 @@ "dev": "deno run -A npm:vite@8.3.2 dev", "dev:backend": "cd ../.. && cargo run -p yoi-workspace-server --bin yoi-server -- serve --listen 127.0.0.1:8787", "check": "deno run -A npm:@sveltejs/kit@3.0.0 sync && deno run -A npm:svelte-check@4.7.6 --tsconfig ./tsconfig.json", - "test": "deno test --allow-read=src,test,tests,../../docs --allow-env=LOG,VSCODE_TEXTMATE_DEBUG,NODE_ENV tests/workspace-model.test.ts tests/repository-api.test.ts tests/workspace-catalog.test.ts tests/profile-api.test.ts tests/skill-api.test.ts tests/tooltip-contract.test.ts tests/bevel-contract.test.ts tests/bevel-line-contract.test.ts tests/typography-contract.test.ts src/lib/workspace/auth/model.test.ts src/lib/workspace/protocol-validator.test.ts tests/auth-api.test.ts src/lib/workspace/api/http.test.ts src/lib/workspace/api/workers.test.ts src/lib/workspace/api/ticket-browser.test.ts src/lib/workspace/header/breadcrumb-model.test.ts src/lib/workspace/console/chat-submit.test.ts src/lib/workspace/console/composer-delivery.test.ts test/composer-history.test.ts tests/composer-paste.test.ts src/lib/workspace/console/composer-command.test.ts src/lib/workspace/console/composer-draft.test.ts src/lib/workspace/console/composer-completion.test.ts src/lib/workspace/console/composer-invocation.test.ts src/lib/workspace/console/file-completions.test.ts test/console/ansi.test.ts src/lib/workspace/console/history.test.ts src/lib/workspace/console/model.test.ts src/lib/workspace/console/turn-navigation.test.ts src/lib/workspace/console/run-status.test.ts src/lib/workspace/companion/api.test.ts tests/workdir-api.test.ts tests/workdir-permissions.test.ts src/lib/workspace/console/tasks.test.ts test/ticket-detail-route-reuse.test.ts test/spa-shell.test.ts test/objective-pages.test.ts test/repositories/ui.test.ts src/lib/workspace/console/worker-console.ui.test.ts src/lib/workspace/settings/model.test.ts tests/runtime-connection.test.ts tests/runtime-management.test.ts tests/runtime-management-source.test.ts src/lib/workspace/sidebar/override-stack.test.ts src/lib/workspace/sidebar/route-ownership.test.ts src/lib/workspace/sidebar/workers.test.ts src/lib/workspace/sidebar/workspace-switcher.test.ts src/lib/workspace/sidebar/worker-subscription.test.ts src/lib/workspace/sidebar/worker-workdir-meta.test.ts src/lib/workspace/sidebar/worker-launch.test.ts tests/runtime-workers.test.ts test/sidebar/worker-actions.test.ts src/lib/workspace/tickets/merge-request-resources.test.ts src/lib/workspace/tickets/ticket-panel.test.ts test/merge-request-status.test.ts test/config-source/decodal-grammar.test.ts test/config-source/editor-state.test.ts test/config-source/fixed-schema-wrapper.test.ts test/config-source/toolchain.test.ts test/config-source/wasm-parity.test.ts test/config-source/api.test.ts tests/memory-api.test.ts test/repository-access/api.test.ts test/repository-access/loader.test.ts test/repository-access/model.test.ts test/repository-access/structure.test.ts test/repository-ssh-connection-ui.test.ts", + "test": "deno test --allow-read=src,test,tests,../../docs,../../resources/config-schema --allow-env=LOG,VSCODE_TEXTMATE_DEBUG,NODE_ENV tests/workspace-model.test.ts tests/repository-api.test.ts tests/workspace-catalog.test.ts tests/profile-api.test.ts tests/skill-api.test.ts tests/tooltip-contract.test.ts tests/bevel-contract.test.ts tests/bevel-line-contract.test.ts tests/typography-contract.test.ts src/lib/workspace/auth/model.test.ts src/lib/workspace/protocol-validator.test.ts tests/auth-api.test.ts src/lib/workspace/api/http.test.ts src/lib/workspace/api/workers.test.ts src/lib/workspace/api/ticket-browser.test.ts src/lib/workspace/header/breadcrumb-model.test.ts src/lib/workspace/console/chat-submit.test.ts src/lib/workspace/console/composer-delivery.test.ts test/composer-history.test.ts tests/composer-paste.test.ts src/lib/workspace/console/composer-command.test.ts src/lib/workspace/console/composer-draft.test.ts src/lib/workspace/console/composer-completion.test.ts src/lib/workspace/console/composer-invocation.test.ts src/lib/workspace/console/file-completions.test.ts test/console/ansi.test.ts src/lib/workspace/console/history.test.ts src/lib/workspace/console/model.test.ts src/lib/workspace/console/turn-navigation.test.ts src/lib/workspace/console/run-status.test.ts src/lib/workspace/companion/api.test.ts tests/workdir-api.test.ts tests/workdir-permissions.test.ts src/lib/workspace/console/tasks.test.ts test/ticket-detail-route-reuse.test.ts test/spa-shell.test.ts test/objective-pages.test.ts test/repositories/ui.test.ts src/lib/workspace/console/worker-console.ui.test.ts src/lib/workspace/settings/model.test.ts tests/runtime-connection.test.ts tests/runtime-management.test.ts tests/runtime-management-source.test.ts src/lib/workspace/sidebar/override-stack.test.ts src/lib/workspace/sidebar/route-ownership.test.ts src/lib/workspace/sidebar/workers.test.ts src/lib/workspace/sidebar/workspace-switcher.test.ts src/lib/workspace/sidebar/worker-subscription.test.ts src/lib/workspace/sidebar/worker-workdir-meta.test.ts src/lib/workspace/sidebar/worker-launch.test.ts tests/runtime-workers.test.ts test/sidebar/worker-actions.test.ts src/lib/workspace/tickets/merge-request-resources.test.ts src/lib/workspace/tickets/ticket-panel.test.ts test/merge-request-status.test.ts test/config-source/decodal-grammar.test.ts test/config-source/editor-state.test.ts test/config-source/fixed-schema-wrapper.test.ts test/config-source/toolchain.test.ts test/config-source/wasm-parity.test.ts test/config-source/api.test.ts tests/memory-api.test.ts test/repository-access/api.test.ts test/repository-access/loader.test.ts test/repository-access/model.test.ts test/repository-access/structure.test.ts test/repository-ssh-connection-ui.test.ts", "test:component": "deno run -A npm:vitest@5.0.3 run --config vitest.config.ts", "build": "deno run -A npm:vite@8.3.2 build", "preview": "deno run -A npm:vite@8.3.2 preview", diff --git a/web/workspace/src/lib/generated/companion-api.ts b/web/workspace/src/lib/generated/companion-api.ts index 8a530c53d..f85678a77 100644 --- a/web/workspace/src/lib/generated/companion-api.ts +++ b/web/workspace/src/lib/generated/companion-api.ts @@ -1,6 +1,6 @@ // @generated by yoi-companion-openapi-typescript@1. Do not edit. // Input: openapi/server-api.json -// Input contract: 0.1.0 (sha256:fd06f382c6d33a5c3cc98ef9e264545923c53fa95a9be555a85680f98c6065da) +// Input contract: 0.1.0 (sha256:a6a7147c9a2f465a5da044e9ba21947cb3d86eacbfe3905696483917e794d5cf) // Options: companion-operation-schema-closure,openapi-3.1,strict-integer-ranges,sorted-output // Output: web/workspace/src/lib/generated/companion-api.ts // Regenerate/check: cargo run -q -p server-api --example generate_companion_api_types -- --check diff --git a/web/workspace/src/lib/generated/legacy-server-api.ts b/web/workspace/src/lib/generated/legacy-server-api.ts index 7a34b2e60..aeb99cdaf 100644 --- a/web/workspace/src/lib/generated/legacy-server-api.ts +++ b/web/workspace/src/lib/generated/legacy-server-api.ts @@ -237,6 +237,10 @@ export type ConfigSchemaContribution = { version: string; source: string; projection_validator?: ConfigProjectionValidator; + /** + * Completion-only shape for partial values; never materialized as defaults. + */ + authoring_source?: string; source_digest: string; }; diff --git a/web/workspace/src/lib/generated/repository-api.ts b/web/workspace/src/lib/generated/repository-api.ts index 5b72d2098..2ac059cfb 100644 --- a/web/workspace/src/lib/generated/repository-api.ts +++ b/web/workspace/src/lib/generated/repository-api.ts @@ -1,6 +1,6 @@ // @generated by yoi-repository-openapi-typescript@1. Do not edit. // Input: openapi/server-api.json -// Input contract: 0.1.0 (sha256:fd06f382c6d33a5c3cc98ef9e264545923c53fa95a9be555a85680f98c6065da) +// Input contract: 0.1.0 (sha256:a6a7147c9a2f465a5da044e9ba21947cb3d86eacbfe3905696483917e794d5cf) // Options: repository-operation-schema-closure,openapi-3.1,format:uint64=safe-number,strict-safe-integers,sorted-output // Output: web/workspace/src/lib/generated/repository-api.ts // Regenerate/check: cargo run -q -p server-api --example generate_repository_openapi_types -- --check diff --git a/web/workspace/src/lib/generated/runtime-api.ts b/web/workspace/src/lib/generated/runtime-api.ts index 53eeae412..9197abbc9 100644 --- a/web/workspace/src/lib/generated/runtime-api.ts +++ b/web/workspace/src/lib/generated/runtime-api.ts @@ -1,6 +1,6 @@ // @generated by yoi-runtime-openapi-typescript@1. Do not edit. // Input: openapi/server-api.json -// Input contract: 0.1.0 (sha256:fd06f382c6d33a5c3cc98ef9e264545923c53fa95a9be555a85680f98c6065da) +// Input contract: 0.1.0 (sha256:a6a7147c9a2f465a5da044e9ba21947cb3d86eacbfe3905696483917e794d5cf) // Options: runtime-operation-schema-closure,openapi-3.1,strict-integer-ranges,sorted-output // Output: web/workspace/src/lib/generated/runtime-api.ts // Regenerate/check: cargo run -q -p server-api --example generate_runtime_api_types -- --check diff --git a/web/workspace/src/lib/generated/ticket-api.ts b/web/workspace/src/lib/generated/ticket-api.ts index 657aa7d1b..530b8fbe0 100644 --- a/web/workspace/src/lib/generated/ticket-api.ts +++ b/web/workspace/src/lib/generated/ticket-api.ts @@ -1,6 +1,6 @@ // @generated by yoi-ticket-browser-openapi-typescript@1. Do not edit. // Input: openapi/server-api.json -// Input contract: 0.1.0 (sha256:fd06f382c6d33a5c3cc98ef9e264545923c53fa95a9be555a85680f98c6065da) +// Input contract: 0.1.0 (sha256:a6a7147c9a2f465a5da044e9ba21947cb3d86eacbfe3905696483917e794d5cf) // Options: ticket-objective-merge-request-browser-operation-schema-closure,openapi-3.1,strict-integer-ranges,sorted-output // Output: web/workspace/src/lib/generated/ticket-api.ts // Regenerate/check: cargo run -q -p server-api --example generate_ticket_api_types -- --check diff --git a/web/workspace/src/lib/generated/worker-launch-api.ts b/web/workspace/src/lib/generated/worker-launch-api.ts index f56aba174..2ec93ec9e 100644 --- a/web/workspace/src/lib/generated/worker-launch-api.ts +++ b/web/workspace/src/lib/generated/worker-launch-api.ts @@ -1,6 +1,6 @@ // @generated by yoi-worker-openapi-typescript@1. Do not edit. // Input: openapi/server-api.json -// Input contract: 0.1.0 (sha256:fd06f382c6d33a5c3cc98ef9e264545923c53fa95a9be555a85680f98c6065da) +// Input contract: 0.1.0 (sha256:a6a7147c9a2f465a5da044e9ba21947cb3d86eacbfe3905696483917e794d5cf) // Options: worker-operation-schema-closure,openapi-3.1,strict-integer-ranges,sorted-output // Output: web/workspace/src/lib/generated/worker-launch-api.ts // Regenerate/check: cargo run -q -p server-api --example generate_worker_launch_api_types -- --check diff --git a/web/workspace/src/lib/workspace/config-source/api.ts b/web/workspace/src/lib/workspace/config-source/api.ts index c277ccc5d..2afb76407 100644 --- a/web/workspace/src/lib/workspace/config-source/api.ts +++ b/web/workspace/src/lib/workspace/config-source/api.ts @@ -187,7 +187,7 @@ function parseContribution(value: unknown): ConfigSchemaContribution { const item = record( value, ["provider_id", "namespace", "version", "source", "source_digest"], - ["projection_validator"], + ["projection_validator", "authoring_source"], ); const projection = item.projection_validator === undefined ? undefined @@ -197,6 +197,12 @@ function parseContribution(value: unknown): ConfigSchemaContribution { namespace: boundedString(item.namespace), version: boundedString(item.version), source: boundedString(item.source, MAX_SCHEMA_SOURCE_BYTES), + ...(item.authoring_source === undefined ? {} : { + authoring_source: boundedString( + item.authoring_source, + MAX_SCHEMA_SOURCE_BYTES, + ), + }), ...(projection === undefined ? {} : { projection_validator: projection }), source_digest: boundedString(item.source_digest, MAX_DIGEST_BYTES), }; diff --git a/web/workspace/src/lib/workspace/config-source/generated/config_source_wasm_bg.wasm b/web/workspace/src/lib/workspace/config-source/generated/config_source_wasm_bg.wasm index 4662c4ac37451a58907c03aa11860e19860922fa..8fc0b42457573bdb91793220a34f0aaabd88b0b1 100644 GIT binary patch delta 299942 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 delta 282766 zcmce92YeJ&*Z1DLZDw|pY)CJ_?9vhlMZ{1G?iV_hN6_xV+&z;%L;N$zf<@ddx{M@Xf8!}xm4Yi>T`3qOEniI=BB#a_*K=%RF~h)74Gt>s^T&~ zPi&XL+-}BP_>X?*f4`6Wn9ppU)X=;>sbkPXRp^E>H#cV_Wd+cN`+RP<+vPUbB{hz^ zId}V9X}+{H*CmQaaVd)8a{CI=EgG>jSJ0(qdA;bx<-)Je?c(_7_Pfw0Ky=1=Tl}~@ zK36+b<5?Hxgx+z>jhVV|%{X(p70%GsgNI$*OHXsZ3v;?VlyU?2bC*jCGMA4tnm)sH z8B_4Tj|cIP7yU5J9SmYEF02>-xirn?^PxXlS&%WmU&+eiT;p!Vt-0DWb5E#WI&XxB zIVT*^sLbVWCO0!bOpchxll6+EIvbd|D`kLrQEIOHpmNZ>HnmOrY9(Rd zh!Mjd?SJRcf%n}#_yN~hCCR?*KWOmihX)V7&-I%Uy7T^fM+_f4dT{?c9~?Dm@O`6Q zmFAk%%uCNGp}`Lg9RA=y$DMOZa=h+=`v#79VCem$UB4>{L+&4S@4(UhAGrU)QFjh@ zeQk!)QhU9o1|JxVx>&PU)u7ev2CLQ6YI6Vn4-dNMzPs)od|&^22M!;8|DCRBN*zb# zsKHk4JLZVAjNJFNjQ;%xKQemosQX3@9@2mGz(KbAay&d_)ZoFc z=e3Zd>VeS%M~!whQ&%Q4m%#!Dlv&!0KxtrRKm=Y1toJ?Z-Kd??-Uz%Ics2fSTA)l@ z-{V{3laF~ywJpAP{b&7e1opURse9aG ze0$t`+;94+oT<+9&qZA&pfdF>|7?|NXQ{8Fd`ErV{|4?A{I1Qyzd2EDj8?2|Qzv^$ zJa1@L-#fMSzD>$u_pjP=b+NKTU9Zm4R>^s7S3j_4ve&oP_pW!me}3Rg-vR$B{}k^o z?Kk`R)ih^+sSTahzVh!>g*HQ7sm{TWzoEA^%4y}eQmTI9i#~5J=#ch@_J(havd_29 zzs>iKZ);#>V7qUzTCFbhAMkzUTNv1&E)UF8zw#Bk-}UU~Z>bag^Z83kg|E!_w6<#m3K$r?Z7vlPqj7PS>8SFGS9BSQMN|et*+3XRe$sU;h(IT+ClFY?{00CcfR*q z_IXrYsr}^NuWj@$_WsOvsjC2esa1PtdylbC)Fs++|Hs;U-nrhB>{E5IcG`bXTkBoo ztzmoBceP{woq=zZeab22j5bA+!zpW(ed=4))%b^Um=eXWyv{wdnW$FSHHb1>RrSH|qEPPqg*kx4b9V0kvHF(f^UQ$@{kV zd-jpKK>NkN+V`D*s&a^bslKEA;Qw4(?Oo*kjvZ9zq2(U!eeXQ)DfYGcw)U%kPvBc+ zuky3dS(LlAjEU-}B8YosbsAJXd zd^5dAJjdK$xLN?nTeey{9MzV#ke zmMUeQZOT05kXoso@PDW5Ru%_#29|Brrz(Rf*D#HU4Sp zes!5vk3=rYu7@+m-ps5p}ipyZ@Yjt1`tm!#lzMz3)5ES@+Z0ZvUI=Jl_Z2 zx0EePsc*0M70)kKJ!`Z{-l?9y_yUD!e!x3UEA?zre|EpDPV;Y8 z&Ul~muJCX4KND3a`OkWvS4-3h>Ui}9^(FN={7wKoQGF5RB=tvcdEkBZRo^(@kKR@8 z1p&Gu_8aGYC-9@EgjWR0)vatrV1YWzvmo$p;6={{cV%F{`jCjWNN z+sb5hz4oSWx^EF*?wju4&P^@4DzHf185ryP5GakIdRKrDdsJNuu0861TCU&=?{4o@ zP56KJjg51ADOOEuTA&=TR-?Y)Kj$^oP43Ogdx1*#L_bMKZTp?>AC(`KDu0z9+Flup zfBU1#e&tjA`vm_!!@ni|mHv+cA3@C>P>ySwl}Wze-Q$!W)OFf8WpChTb#35#T(1r64NO;;`~K9%Yd_jg zpVM{*p7DLI{0fY&lPtF@u+F#4U!zt5lYjavnKjCJ&B6@yM$}duwfz5)f2RMaccEv6 zZ-Vx$^09vn)?XD^;(qoY(f*8f&a+kd!+pSB_ly4X-W~oA0?+uX)fatdfWb0i?_%qW`&C(`$KDXI# zOklb14VC^q9iV^3fqlNYzW1Z3{?a?kwpC*R#jX!)<17>HnWZ&v*+iO&aS`RAZhFgrN)xLPgwbvA0=@o)3|piROv zbOrl6QJbSp_HEE!^sZ5lXrmbEZE-Z$_s&sfep&U01UNOZ4XnUZPZ>=Hfb+{ z{bwr^y^DQo11Hp1Z zS;o`vY;YN4m{E-~^s?d#7@3AAwA4JJ_u^-KX6x`({-tWf-6bJIj6CbD&np+3Gr}F& zt>yvzE;TbFve}TxqNdf$H@FJ<364R6g?z3X<>9xfstlI^PQ*tx%N|X|#Ai0jOxou* zs$4Xn8euesQRGiEUu^KQLcJMjp{e5Vd~dpWS;H)v2AZTy{l!zCf4W?RfAK`jvW8Vn zt1JHd`J3ShOy`DD6y~~OuwfA;!4(MTK2K-etNRT1=uoNIy2aGADa&YpCH4T5 z>;XP+5g#C-Wgmqa8Q#!T^UjvT*d%jj%TE#{t9d#b9wRSQVpg=eU!kcQK{RT5(UAtA z0uSgmJs7S+rVlidv-H`RzNq!$v_F>qC&M?o_$q}Ofpk;Nkr$sQa*nwpD|xLy>CrDrNka(#Gq93^}?1Z^WNRyD$3))-6`MDJ=%&%CxJ9v_I$c>%i$~H! z5|1&&+S;hh9TPSuYM<)7j(ucaZnRKK{Q+=zL-6y1#v_=@apNVL&=ptZmIPcFE{~VG zNz~|SiaX5RogtPVnO|Jdf|Z&HS7xD`#6B7332;@`n-oKJ?;es(@^gsWz(`wojHRl1oTZ43?&(8p^kko6Jaw+m zt4%Ll?A+SLmi>LP=K5>mvi$uujZ$e{r1eNh>j$7{JBCUsBG(RN=y}|AH?XA@`>$KZ z*-Pg0eJ^1zRjlv3lO?V$!!wr{r%;4`SIrqW)<@&DH}=RVo`D;!j3p>=1HQwq>A3pI ztanqt91;^_7v1?u!<7qaJ77$sE-KBJZ_?4jvYXb#)cbel!~F{R>BZ*ae)|(3@zCu) zX>|i)?IT)UbLq|X!4|u3&i8%fBl9=;mZPv3-`_%5Ot^JKZp=#1s_H^;Ays}GffLME zZ*2nPt-m!(IZS*5?l-@>^;>>onfbwOOW6eTiQDP^+}jJI7+IOM3<=A zTZ?95GgN}JGd8x`p54np%wfqdidktGRc*u<~Uv3-uca;ux zCC$;oJGS&+F8zoS>Nqx0%a5RmTBH5@tS+3YoE7@~r&*bM`VY8Z0@B3BCUD1qOQA|$ z8_)rm-#6fzdc?Ubk2ee_=&U7c5!R?E2qzg0r5kz0z!9lV;<$q(f>A<#ArM%p7p%n;@M3E+SmZyCmV@7}Vn9{{!K`D3&9F z^_xfT$^<^n-Zi4NW3eYXx*+k{Nv_k1C+H63sVrWps%)!msKbpBOhg91vc*1rX z57s)36oycg%J}3431-tq<&-AKD~>V466HIr_17m7cVAs*jdDYU22S*o6%S^2rKh&%C{$mf_oD_4)iFJ(q zOUZ_Pt zU-43Oh@b5~L@iGOC1QR9R|MaB^)tP~jso$%gT zpmAudx#YP6e9sp1h4KBU_-=e_$Z8Ogn8)CwBZ^eL`4iq?HRjFqhi-Bqv1IJz!ABR9?HD<_N@eddHQqdiXegLP)*Y@LlYeJ}i$c9@aP_UnFQf6ONC z@|wvnW&jcSFBY<~6$4(J#@HV7>`RYBB1Tr$H%m)WT0sOu0dR6-i{1e}XkBPnNJ-Ut zSLl5|*npt&6$F_FN{ZRj=4~$*W8BYQ?#uu1nHNuPj(!JDj`e$HGRa}ctXDuhgwFG< zKHYg-$=2~3%r=@q@d6P_7sQ&(Xod#nE#~EYCU11*xm<-HkU|9e0A@bHD4ENA23WZAiclV#@)PG-j5wPx|F#5c2E-D)qIy8T~R^rqK_ zbhqa1#Q?zC3al%RRUlzW?K-o|0*X{G5-}#7(`s+gy+TNbN}q$FoT_Q8rLgJf}tPpg_NH17Dbq`?ogEr zz<2-_1ij}I0!M(dLc!gVmGAlev8At&`~KovGz*xCzK$OAU=3(WTx z2GM-;!iM;*SxELcqr6#1>O2+QChMtCnaJ>|d`iYqllr`^u=LLBy*Gzsl6<3YlZHuHxPzxab+G7rRx0Reub{GTrDVafuPwHPT z#fe#S&$|(<_^I+NGqG}z?2|}8x6+i?xn|!Lq_BssxD3BmY9*&c(DV;3+sQWYf|cCMz# z^Tg^~l^s+?IgT6F+=ke4$(np+pWUkB@R|a~J~R{8WwF_2-nx33GrJ>FD!2yuFAiTL z-+f|ccPw|sO!JO)?OSc%Y}+XoyBDrY!!jewI2yl+=Z(`6GB>Zg6h7m#Tf%0;sw?VL zs$n;xgDr4oHOLnWy>32I)sj`3^Qs=_r#)t)_1(17o-j0|p&&8;(E7Wa;F0wc`B`7Z zhz<2vdW}z44a)vMQpjE8j5j4SXU={9iasS9V~WI03VbQ$QsTRS^R|1DUYA#5m%Rl26TCb>n>um2Dkyd zosRh%NaAnFlz1J|sJ%g72H@!@cbP3*Ac(;z2l zUi)KR^S2#Ym!na0m#YKJhotg*fa6rh6qY$*Oksf&p8c}fd*=d7VfBF=Gi6sY!X@lL zkp&1_ik~LbcGp36%KYP_l8U*zkwQ9U`ab%ZovQfbqx}|8QZeY`M$GdJ3pOqvHY6#;Xrpgx})_p0gI6LTa;s*bb2g zm@$tyd+xzTwwm-qjzW7X_8nZ#la>-2+nY4<>4iAMy ze|`9_%&)z{+6V)zXKa_H{)4j8xqom*o6M&CW-HNiyI{0i&GQAhqkQM{eX^JXmJLKsiQQ56-6MS-Qq#3f}mB}sXLE7!73^a9mC1GQuF(oynGrShq;O(aL=vw zzAo5y^TQ%ohDQw;`BLL`__60TQ-BJa`K8Y~sTMWTmm24Uv6eGfi_;-K<%DZCn|pt3 zqDjZkQp4Wk=Y5t{s?dJw!P(bl-;<+aHQP@1r%4z5(miET~sS&x-jya4z*!9qb-zt>=Vx`St8B30^48 zY$H>W@9(2+qS-W(vw18Md%#uu00!s+OBox%)c(8-&TaQUZznzf=3l+>d+M*o5Q>~L ztAK`2&O8V-^geqtt#;no1-N~~x$bPDIqlr57hCQG%@Bc`D|EGog+lwEm2(-3GQM|(Xyj&amc&XoL&8%WcC*J=jkwLjy0g;C zH$3bjb}@xHG+zUo7Dp-C0Y~r0gyPW-l*2B-aSq?IQs9X0bmbr_jXI%E#oIpCUO7%s z3ZS2Stc1-G#eSCA1h@>4-cPmkKCRq}#%blgI8?dL&t_m7LENFTx~!)136=HcY`gd% zz-|t}HOWNFU{PpmWs4yDnp5P5)ClD>^NNgL*Te%InJW1ausv0oD*46#Fxoz zaO&5R;pcgaLU5;HjeM~3qF)`>f;}ystHZ{j<6sKwAA!FByPOf4gI47IM7T}&Qep=( z7vhB!mfb-LB%u%+kroPxmkr)E!Aowx*CMjcctkESqXDad2CnopW>2#V8EYFD!?psFv8tVn z0)x8R34^hgJ7F+Zxf7lnW2~upY)_^PrYQ{QSY-V9r9|i!7cd&*vxNMA`Sg&*EedGz57mBMv+nzKD-!{obBshO*}yumf#f-euPGusi`@w+1=OSk9>UxS796T08~Q7F~b$AxTn6nYV- ztw_mYActO*ahpRgN{`;57u__FLod2%ActOb8{2Dn89R2l5u8|pRFlj@w?pQECzdA~ zw_~dUc7`ja6MKkD+Osei_NMl%4Vx?`wP)*yoE=yWilH4CnI#)4?*N%B75h4{d=%$9 zu#C=o;E#Y{dIUQlU13dmk5TXsywZX8kO?NW5|Ji8*bO)asF1x^knX{T2@}PfcS)7% z7N^r>=9Y{dyee_Bj-rd5m$FQK8;o(>x?$wx8@q_Z z?3DCiD;PT`dh}$~);KvLzn3&SJ$l6kyIxdN)zjigFZL2f9Nn9h+apej3zKMh4Qu=# zjF=%_y@uU{VNYIT4cp*)wu+^lW3+JxyJV9Fya3(y%MI*O*lrxg`^Q_f%LU=KRyCoo zR7c)_u@=(3N}{#;>1fiw-A61K(B*yc$G=$pS^`wIzmdHTUta9Hi48|_ML)^i!}_rs zfRT0m7|vme->9-i)W4Yx1RloR%$@;}{I{@9c%a)YkeH>FPoN-_F1?MlWKz7~(vmk& zdF*yJ2oa*_(;r*UBMRc+k?c z;_^GCIv&u?lO~?Jlck3x3tK~24eb$#u}Srw6Yt!~@)fCaL*U|X@048Zy-W7f3WcOZ z1|=mkLgyG_J>tK6?~?4@e6VEinSBZ z-NtCOIQWpqaiY>n8HuxZvwvAkKev_z2Mz_XCX3Rcl7j1pvf2DxwHSO4n@Z)`d)QM{ zK3QayXYKOIVQeAQHyv)(FR;s|_u8;sHoeb=?Xv0pHf)zoN3bXO`D!t51S_Vp=}6p1 zxnLxFoXRGnta7ehh99ut8Fra7+JZ~%GVMVNo@|#%4_WXeyHp>x;Ac^4=c`@tIEx_v zV#E`yk!bY@>qUd^jYp8d`Q4%8|Xd;z*Ud2f}q`zo8hd*wW-`nMoC)nfhXM^a>d zNvs)}j=~pMKL1OIfiJKgPzDQM0K2nQV%SSC`>Vu+m)P_66C%5W6Kut`ZR< zYQ_}mtL^ekr$*%2|KoZaHHs9(9O9F9BIEPhzTUh&zZKJzx~9zBB@7!8aP!UCPx2O4D@ zi{t8aLd}H`(&9hjAPtjNG3{EOO8Und-@mn?^RKl}Q9nQcYCMvR*DglH1{pZF1m<2A z!$kTrxH-k*iDhg;UrI<&N(RKlnRnXYMNWLlocIR2%)!kE9QWDazRq&O@Znx{!Y|Je zb=R^6;)x2@$B!Gx+n*G>D_A25;0T8}TLBxfROBvaSN56f=oyLB7o9K&{j3wl$mg6R zVdUSO@bNif(Q-s;rIiPlv(LD-+@YfW3f91J9T4xXU>#$wGo^IJ*%d4UK0w+^#O0;p z`IXZ0EMLi%1G?uu={3Ln9@LwKEV#SI^cmvOO>FSBS+<)?2~LTs-)F>g`7*il6W}=N zFyZf<@RzlK+o;Aa#aOX@728-~jgyWZvE=bHFYKY%37?)JmaJpgr5C%`v4_OJ*05d_ znSi7;pF*5YyXafpa0gw548_5TrQ;lIATRjG9X#wOPVY*$() zZhoKLV^1pOe>|xcqM(}X@dFb^U5Kf7BfB>aJi3vcviYAl>#s86|Gy3SpRD5F@BlJ5 z61P_|MfBXv_Qi*4vW49f11iN9yqE77c+D&^cPp##&&DK4m)!9In;mN`{2#KxF`)8+ z4_PNp!r*}mjC5KDS1V}Uc16aC>2VSD7!Zl0fNfTgNzOw~7_7732}2}yIbpEQ7AFkW zsdB(>W5smQW(ON^DJCNGBiu+VGS1gFp%aM4A5QpWEx@e&-Oe4X7cmSvpp+##c%@cz z$PQj|!q3eR-FC`M#o(Q+Z>pUnNSF2$8C1Fu+jp{w4ov|x>;+2WLYjx<3E;Sd01een z7-(4Sgn@?TP8e${cfxaP0XLoTi{Nlg2l4SPHeFH@alLqKH+x+I*tZn9dsxvBd*aqE zA|`%$Yz5ZY7SwEV#j0>#-ENLuetC6b8dxOHCQV@Wy*PV6AeN!P)F=yI z`R*r3yz(X0qTZ)$3LdHWluS$I!B3HNL!S7=X9y6tSN1%>F7w(vPRBo9*dV4HvV=?S zoLRZ4_u?5+D>nt$CJ%B`wSZzwlZK@IVfJA!@JuR2U8%H5c^n&t_9>-Q%6@$d*zO^f z49yo#7zF&-3Gdh-uKkJ(P36e1U=Y(vo?%F>gmkYl;|1hZXo^UwF8Z2fcbn3skO#5h zfUMOvx<+0U_dWIz{4)7qrmR!!x+U?>J{Gl|B_3fpnN{&y&mE87atFO4`3TFbUwilW zqmH|tfPoFm&{FZp5f*7V#lgo|RTzRj4@sm=*Er#K-V>kKNX9)^!|Je$WlFFVhri$?Z;3Ib ztSq4uVaUGWz}?R0z)gx&RH4vE;>zQ!he9%DBxBEQ%5hde6SB9(E}W3(ZxizTZ9*Oc z6FPHTYUk{q*vfp;Rd#Mi&!vqiRnLv>_~wusm#ODSxbnl@~c76~*;P?mj)pB7xoihR$n~+%i2g{-zTqOA*>zyOAXh(_agwWIC z&>wQQWbmJevycRR|4;0H?h(KKDU*F8|H6Q!V(wq8QFn=fdSH&)&65p3BC zuw@W}D(x50c|XG&4jB6?Me-R|7^=p3fv{@$!U5VZ{9uc?=?p^e)s>?73@b?3?gtl9 zDqF$vGqLgvyO?jR6vxl7X8eOnk#m+cl15Q_46SgEV`E%J;#?QbaX4Y9)agzbjPQyR z24}wDgu$85IN`H6=3(n!#h8KwSQdCCPpmu3t|#`w&T|k8yij7~5hRDisQ)A}z0a{j zplyru>_!m&ne*&wcC*wDbc&@BsVg<&m3uWtT^ts#os(BemlG!Ga>68CPWYXTB9Fml zjjim#crMG{V`uB-Msz!=%s{Y4q!^-{cg;j1U%{@F@j=Xkm6-l)qxhWjd%9p=aB(!a zI2W#3x;Tzi^M6=19riyB;Y}7x3VDvW{V>ZGRc=0oY+wQ{mJ$g@^`^KDq^$sBHDH?t z335;;jK!8a;klbcnTOXyu(i&^e~;S!hV6{Bw(yGiBVkN#NQoDNOF zdNQLmk?bbakS>2#;rX=(XX&8D@~xF?6+VcZn6So+P@HVY)5UC!mj-}v+VFE3N8b}& z0{m{9nM40QX7(FSC4T#&dDo!)Gxwgd#0}EA77>HZpgqN%mzXge5 zMMeTYXm{)e`q1%dG_>uv?D&N9L3Di738UjfPI&(+(J4_%!hl2^=Z$&Y)=LdQD4oU= zQPQUzR)>EIQ?V^@ZV08&;{3Ec(;WXY1n*|B!ycm@)rb`5DO(z6Y z{+!OQaHG5=n@?idbOb`0vJ^69-+o`^(o<|xb|43s9b0)Whf7m-QC&`^tY2MDrmUo{ z#QxH{*3BdJ_*0nfo%MM?_Ow`CpVN5|L+3*M(DP;)gKL z?J7-D@B)*BLx#KTeRRLEi}ukyv|p1-$4YSTpqKVHa7sUqAMye(@>of)2_MJqkjfNE_CS3b|pOC^xJt_cjHFg;jDs{6-Z#KY2zT2d!|Z=j{T12Z)%^ToQ3|b4kQMnoA`3D5mn8S>1Sgw_d4PL;yIC3e+>DiJ$Py10)lF&jPgZic= zzmv`v^k~hy;Do<;>0(LE_b%qmXqytgMB{j8;@6A$-PpXky$!Db;gc`ny4(9^{51qM$HvyA3Eacrtwqa)In8bzJ;s0tTW7^@Z zLcaSJs|Os@_?vc+Jvy|5?9rhexUr*FRe*O3B9h}9lF#Qi8bV)J?rF;}B|kHL_714y2T*YtXSjEi#Jl$)}yg?U!8G0Ysh2MtW|9t`2 zp6tr^{jHO3;`wg;U;o%XU)wjD^FForPG8Lz z13Gz|q{4xo{MFif^Ljz<*NTR{A(cx-QE%Q6obgs~KAt^W*{Tmm)^L1f>uWf6p0+k8M&MJ*V7QPZ@nq$AL^e@g4rD+-pGJxSO=^#XlGEK788d%VcBsc zJlvOG?|t5r9ZVNXZ{;n(DQElg7P2NKR@47qxDkJ1{l9pwXEF~a3idDFRJIJpT6VgT z--niO-zd>`_(ncR-dAJyAHE4T@rc-U6PW3UsMilvd0vd@CtKfft0aI8HM*I1LX*Ka z!Rh5t+T>x=dK*)9Cq|EQ-!x5}RM+av?q6rFV&zXlHw6l460MYuoD z7M*W{F}Cg`*wREP6$sR_+quE!ic`1qo6w-w9sCkZ@aa4FwKf}f6FL3m81@pT_2&%| z&+LNC=NYGVBTe`_lArytVOKT>8)WZ`9RtAT%S3P>uv;T`J;~eEkz1gJt-0acuE48?IHW7S zzMIoQ7BtNg*A9g#s1c70rK-wpLwOoy1-`lmT40-KTZ90mM%-A$d$!s}OJLwe4i(iQ zm>w|3zx6(CNtUAsO{R~Ct)_~G#vxfDb{BEIaSe_o<4l)V$Hp=)5K?h$2)-Z74dcbC zBBNrC$QZ^S#Xv6)<2_Iu7{-U90A6y%fZ_aRT-&P)-wSQ#l4;n z@EL%9cz};ijS~as))NhzZAOijY_nvvr0bWXf&3cL=0V=A(Bc^E=^E4KO5|3du(16t z<^*g{idE2_daT2x5Av)SPwsjUC(@73zcLKc;YF(XSBmwcB^zWv#IM3Q{U74DqgeA0 zzq@wr4sz|qICfMkE%?DX;_8PXFY?J;vG!q}+~~wSyZiF_S4QADlV$J@>j~|Jmw&)9 z4DoD@s2#A081RT(>r0RDTlqFF4&N_14g41t1&>Np_Ieaf{&De$1(iMuk>4ivKMHNL zOkDIBud7vJVle&qw2SEX7zSM?9(^n>cjC}vI73?7bBx&)an<9p`@0_J19UL8oGX5m z2p?wf-kvC?47RkVd<1XfVc5@~;LV!FNoVXLS`-*(;;3haj(6~?A>%nP)U~6^^*rz- z)Xy?8>&e*U1_5`H-+DfUqi(iR82J?5-2Agd_@n%7Dl4P>9oV9Ki?QydVv$w+D2vMG zW8iF{QDxE7JcBO8$Q!*G;*7($ky-q z@YTJ^{Q0yJuYps5@H=@_Pq~8iLrw?19iGeuwOe8$3@cIDAUm_5au+}wbnSgCzy={0Y*xg%CmdJ;=zXI z@xJo42B_#^@cxND(s{#;0sqmB;s1U^jGoFbXWxj5seBdtUfeHu`#Rs_=m))jp}UPk zt|Gip^1XOZK=FMq5=+tefaqPyuLo3C%2T8CQHX`(8PACNo@#*D)PoP-HFWXLv48aO zJNmyzP6TG!4c}Y$^`=8LZZQl3`^uL4i~Ksy)IQp z_u7C$`Sg1o|#b$+WfrR*j41MEVF#4Vr>znS z74hV|UE%sbZYe$&M`@2xjW32h@$#!YJBpKpsdUhRq0wCWrW~Cu%nZE`bSirNw(b(p zir!xcr-Kzb<6W(WE?qMUio$8AFG0N;V+*i1r_`u?B{z)MeXOfOt^k=fcZtVP=xupJU4JW_3e6<@r98C@dnOt(P3Tbe zY!7I-0^uCJPB;S%e3)z%eK!TOO`tP5idDFH)WF_=y=GUo5tUGG1Y0+*Z0s+&x`ngQ z6ghwUqf)_fz#ksS3klo?Ky%&0Ze7`!!0w)QG3>8X(vSOYo13s8TNQLiVsQ z4g=-!YEPJ6l*Noxc^*GtC_NGwm_{t$qBV~aYO){;QZ_fMP4$l<9_2C(Z;7Te2!oI0dh{VS|O9x<(GmFhi)UBCJIX zd%!iuI2tiW4yoc6AB~N8EHVhjX0(uiNPa`hY#f9x!pd;CCLDyUU>yPKkfw)rSPKb2 zP|UbFphsiPu)k_60O*|*ocBha*j*Hs{HN!Ty2ML33f@Y?;&Uixk0J2J0U0DPflE&! zTM7^ej0ABq9_Xb3CBNxG!_~*?!2{(Iv}h25L>f^@EN;v6d9*l>s^CBGxU&N&mIr+OyCylCg}M5SQ$f>CRE6$Q3<$|$^@enuQYwl zv#GT=ig%RpT~wMq2w^V_Q^I$AE@i8!y;{gu5M@&=o?MPP`iSZhDq9xva=Xnug2B3T zZCH+twWF~Si{gid|G|wO6ZM3=DC9XC%Sh0(iB5@y9ItuH!Mj^?z6ub!MGG3W zBMNlZ&brsey4T8r3Q+h8d7jmzA&N{I4hf1M+B zJ*6uSTF@(4MA|ywe|ZI!XZaqGDi^-1fp;E|-vI;QX^KwJ7hb0&Rqi8wt0#iZq2E9` z`p|{$3#ZUY(G-|S!v%Gf*gMDKDH0Ogh^CNyP~?aP@>9FW^1(EPlc5{vjTY7ui7l|c zE1Yb2!Y~(mzrIRIiu(s_L2F)1C+W^<$5V~8l@GvN5jZN=%{3p(`gpE3Y=mpcnl{ZfO`m+ z!AaI|MX7D$Z8C~Lvg9d9Bl-$0B0eLpA;BnPL`qsXxIP~oNPDFTWG04U!JD71!i}hL zlr~I}&dlTeq<4ag+jM-&1Ytccr;&W3EMpe$lu8c@$F0!AwlZiVI>KsAAU=F;>)6w! z5Hcny?u$vSYDsMrYC@L=4eVs+wIwlxS19DUFe*g&9hea}|6Uxj+aqb-Sji{uc zg7=a0N@8l9Ie-4Vo3M;G@sKuy&jnWo7)BR$$de&+Z7VD~5<#*JJ0?9!sebV82&7jk zN?QgqbX8(BWF6B{BPrwo0RIU^#)J>z`x!(JW1JH{vo(G*gNOwq>mtSAg6+%5cZVVn zXiK+Qcw>-o+@$yBj5KOSCu;Q+>k99L*>#zux&yF((!T(~pvcIQgDAj=B4q{_^tkQORRb2?`Q(fNO`>lu0Awljw2}37D}i(qld)0#10FqhR0R8ro7Wy~fli$c64g zDBwNPhXEi)dAcS&=1^O3qGpuMAVuB^m1S@qeQkLgv?iCbkQboD;>b}AeaO+jb_vge z3y6s~B)^la8^h4xNPk!SXgx=f2M8xs&IA0HeuaxhNtXjw;W`u7p0=1#I^j`4;il!{ zU@|Q?-SE?y%5-dQ(}PeC8g}fg_p~Q1Uhgv6qM{SN*zh*4t5Fepjow6un}3GGZAN*T zLo!gF;$b(B;zSM(5%GvBe6R6A_sF4m*lS2XiyPp=`Y@2-I!4}-2M!$Gfdh(s}%nxnOS7fT~S!5w_GsmSorCt~FB<$4wiqqQ4>lGT7X zo3vXD)@f*RN1*#?qX*OVSWHbu(-IKO-(v4>xRQO-u1o+O5i4V@dC-XVWI&&MKA^2z z*IlIN6f_Ba4uL{YSEPGsLa^qd)9XCF5p|(JD}$hOxuq}=+F0(WBs1O?c8QX5o*|N! zaC|vLy!JY89i2dF4P)BAcq}1blqQ~m{sY;(Ay5(9kJN9QND3A0B6UI={CY}Qwai5t zW(@@=h0~&b9m7M;v5b5ZKm!#v1iLrz#)*0^_z>jIkvD;mDu6{rP%^^Cj>d?7^w zmsvo81jxz5ojeJg7>m=U^4se)K9F4(x3H;*-NZEL{75RmHZ}-@ka-27TWiMI@eD;Y zs$+}H6`?a%b;-nrsPMqKLbV6yEIMQQxun9=_1u>1MGgjsHOw-i^u0RV%OZKk$Lq-3 zOb08$bCeoC14oO3!zj|TR9rgQq;&XM*zI+})F;!Z$$Au5J#ygIMkta<9;RpHL=cl+ z4aMf_K8)Tm0?6RBVc!i38}g3fG&l$Nns6@q=A(g%5+2Tl6yUpOBz1XkOhJr>dfj}i zK-aVLp^WO&vSjF=t!s2MThAp!8_mvl>u5xGBk-D$9hF`PEysEu!k;T|2S7wCtcIdX zL#T;OLMSrw4vHdye0U!u6WE@Y;sakKlO!u(l)yPBsuQ>3Zd?vYZnLALshaDk+rsdjX;loI#s>}#lc?hpD>{|X)|80B8?2bCrCbza zHK1S|ss^oyuHusU4z1qD-yz`$t)k;Q0;hDwIvysIZN>Ex*Rd&0EBD1jZlQ~Yj_PVS2+_e^N~+~R{`F*%TF68YsUif;gsPl;j`_Rv9Ab(BOar9K zf#}<`qqAf9vUV~R$rQs6iv*?nkfUc5@?1QI&^u%mK@{-qQVG)4C{_VWlnE3Zat({5 zgNx#>0t_zYb1)EjBCI!L1jEqX;IqKIHYsSaavkn|!A84r&% za)p3TdUwEyQX&>SCvcQ}7Q{*p2b5#LolrO{0K{Y!MY4@lN=V?bVmt=#9Bcta1`R%p z@CUO`B#p|50d^?gJ%9u}8w-w;Hakvqc?aQR%ywurEXfbi_n)bh4D}6VfQiF$LL@;j zDOC7%5DoH&=PjC9&KbbIH19m#E0QJm0Q9V3hUcL$B}}t`8p_dv1!YQ#K1>B)D+{x> z%)6c6q{pw74RO&OOZ8ai8|u=Ev|0zVF8D8>2eERpfORd$sjdtFfHkZd`XWd~CwKOL zJ{vr)P?}fvN0_&#qZv_rj=%~T6lfe7D}jyE(Z1HM)zj1Sxk9t42b@B)wJWkYq#pUF z>8K>ullP&%DIkf%pjkR}dK?CI)4{-Tm~3vk&E)6+19wJXf#Rx&{DfIp1=finBSByt z6Q`l=&xMgn4!z?>Ehw#m?I~+1)jpo@XnkW6+-$UxC!K&_xsZ-+5kl3AIS+klQQ+cq zNU6Ol^4$*62d|*`W!TRH@Ksb}1wQ&^eFzA~%8DxC0>C<_Tdn}602r}UKom{qgQIke zpM0>RcsqkM#}T_cBufm^YIp>OC83blxb<|>e=^!JJfmP%VT7SOl2Jl&hckeLWK1Df zA`ZfYeHpMnk`z#WgiDey0MaqG%)TnFpTW~uKn$J1BbT7Ve7EJ4B@zoJ+s;BFiCfI8 zNCaWx>KaoQ>t^7n%{SuH8T{d7EJg;5a*?!XF>oeNkzcxy(+;h~vW!D`YvGvO4UU~xaE9&;CmL;CVGU+IG%Qljc9?upw8%hXn@(nQa}g-hPLG5z(F{GeNL=^3 znj&_6;|qzRKh$IdJGsQLxki-EOL}9wHSoFVX(R|*bi?){UP*CV4MTe3HFD=Cq-Ws$ zz2+`g#EX}SWL#im_rN~jm#(h(JshtZH40#huA{o3Xl1oidyYhZ(4E7gz!yda6@a5$ z2+ygf@uHsmjy%l^72^<6Srt;(BF5+m9)qhth`0d>1xv=`s^8AG|%vVMnoRl1%vo7RDcmCfyp;v*9rjjL0 z7$}(@roGw_?O%A&IHD4r>N@FEm*_OAOBC8ZMyf1}Dmedva2IQ(`C)Zl`q}~v3poz5 zpTE)Drm5D0=qx)$>FiT-BlScCkA!HB*x%J)2as*bq3r|(UT`+$lydY`=ndLYCSEua z=Yd!6T_l2yTa6@27XSgw@LVH-_D6fM= z1>6b65EsqjX;DBU0HDX=*1e%9;HOcZp@qyAkxqgLV`pG%+y|DThORRsbg&l}v;l&m zyA`$Ks+U9>62w5H9~uWSJ9h45%#MWcaAdV)%pL`1y%e+~n?*{4-t0usL2pY+{3B@h zBG^DDbSfG_JAFhI1;P_)lz<$WF-W5eD|Ck)($j|NYEA@vbu~yC3*A9f8M?y^gS`+0 zK@PE{It)A$#2B&QJt%IP&Ff{x_upX#AZ+&jyY3M$%y#U(lgXHd27ljsN5Cz^R{W9= zh=d!mo;WW|87^r-L&FGPCy>BHlPbiEG8QE>D^rWm%CgSZ$`P_Jh;C&aV%sQ8PNacV zIZswja+4W~G_>l#(;T;x8kea(`ANwTZed4^S2^(rnlUCEpE4 z#pxnweGUM7fR0bRC8z2#Cfc$b?hAj)hj^ zg)N!xWpWjW+2Nrkz?a1y0_Dg(_}m=V1H853~F-(Tb^s?9Lggyw4cCRP~M9cbIbpo9R@D~~H<0wm>^`}Lcu^K?W zIPnIrCl-WTAm*B(f_3OUK~5yztH@ zeG!U8-Oye%OG31pvr<+ z_=LRlC|M(kIFI2TNjxD@hsk@y%j*(TkP|=yCQT~GM!Mm)j)~w56d^X&7r34McVMV; z&<7*Sj^%7am?TUPLT|fkHVhGERL0o&L0o_(-~s_7WQyM6k3b4#IwMu)5%5ueAT2`s zV5GWIDG1MOi{;2GsKaY1bZdj{78LEEh*7kP$YsE(K|A1r{zxop@R>to*oo3n>%N>O z&DqYWQvQ}Qs_xDd!N?>l;%QlPZCl#!r88-8T4FN<+U;psc~^qKT$UlA*+T7DlZHCZ z#EhXQ8xnaMN{dJnlUqMD1z0C3Bp$j?$9sa}j*4JrV;mqNHL2!l*a z4Q0mBl$enCIV7fa4rbzS9@5JzGUZH}uw)tmak~deN3cm|Jfw&J3I#y=5E>NEz)>J1 zXWB1b@qlr9Jhm#r##7% z$7osXiMYkdH+kBfAY(byG>PFnvNXV-{S4?O#|AyMij@P6fqa64w>lGG`UqBa39{S zqn!uXbRr@XW11#MI^kU|^hR&y%5(z;#1h5<+c2Ml_M!B$9*B z3~bMUxoguj_?(%GbO~)b(!Qq$>IE%2!m^?047NmZ6^sqk4Q1HnyMR!liM9D0Wath2 z*`u5euDei;P0j%j#l(Exs;#@bl<6p(Tb%bs+Fzb90YoQ9&=%MzMoIOLpg{F#t9Aqg zBB=Wj00L1soFWDN39A^6Ci2uXecl`nULuLJE$ie~p#sU;cm;$%z+#Y|D89TVDeXT* zh}53)XoAERcrTGsDw0i*7sn9`>dvMPa=CVfD;ab`8@a>Eu)T__*fx`n91A6q!KsJb z*4w5^UWn2<)@f_h_eJh!JQy>LLUnB0!K8s2yesd;wQTq>7YPb-p$*H>l{)Vucq)g)BHWajvUC8_43J>%}fd{Td0W$SMaY)|o zZr#2L#Q|B-8CQ6$BNZK7?NH!PeYHXHk-XgsS6D;=irumznukja&=3V4&{1FoxhUS3 z_i+l9=$VS5N>+sQB$<@ng`_lno5WI?$B+}vAh=;J` zEmWd9x*r#`#e=^UEE^o88+-8-oD>hV9r-G#Q7mr;zOOVZo^JH6i4&GkE;rRtHd!7H z38$f{Tp-TGlNU=#Xq=%SZ3frC`i2MD65NG5FC!p&y}>#(Ny<`YDcsg^W9gUrf`=ot}-OtG2(&!CTHV1nxb@B zFllJ7T9?IRA4i1#lKzbJU(m?uztF0ri-NcukCLM@Lp(E|H;DQz&uBG^c)=3(S#CIE zKClDQhhNtQh92VpMVBrY{>-R6;S`HS(VDE$g|Vo|ibbu~NTSL3dMIos7B_&>09J-7 zdJ3<2pz1Dg2sjS=Hppo z=^H-(hr4%yld3rL{-@8Wp8GHjGsDa<19UgH0YOkMDr)3lRJ;?T(M^nNvS!x>O@eV< z_f2Atf(8|JycQ}kh^QpNh=yd)prR7RNDMJ#7b8YuNP>naDytYt{C|H{r+a!}Kp?)p zpU+=D&grUCr!G%D_0)5#r?fF{e?g`V+x-2Y#f4Rgq3WvG0&nk5M$mGqi`jAv5Ngqa zvs$^s_dWol4rd>%>hK+PULLM<&R3-@RhDKc>q>HMCJp1->ICeNRh{La%*i-rr&vVh!mOE|fiuTL8O$~5Ite0Z9Mu`Eb{d0| zm@c{!w}?D7U5Pdh|AYxNq0Su%6sH(fe2(QP8Zteb^lEw5tE6b;c$4NfUEr0JKAHzg zUb+UM@k#?V=Ko3Is5W|qiDXGq4w>#4M8e)bscIzBElnpAfiWQq-=Li*j&O(^!D_CK zT^~}2n|MH!3%7cM5~M64A&K&s^R2_iq~~U zbmBLV2DSxJTN6EBpcCrJxn8$cwCD?KUNQ%&fGE@&FP(fPeB%m8B5Dx7!b>BV_1lY z9Vt;$(JJ9Lwe!VF4vKsCLcv4top&MelY_oF(c%ul87kzc2xMrss0hbOGD<*ui$kUQ2S2 zPz&Kp-RK5%hQr6ceiu8nu#0`Y$ zvC8j{OqA~lD0GH&5e~hpZdnpE_GLI-_$w6%SeWi>M=c3jj`^!QP!jviuGKwNZo4fl zs%~AV72)cGq3$+3^4;(Pd)<=Yz)Ckfb$^|Gc1iH*S}e=e=@QAuID3( ztfnPUkSK1GY4iK$X)Dd8oP>D1=tkb+;u||8sbvS>o#?%t~G*Ztr<8I6aQM z-WmQdXi4M)z7Jj+M2XUs#9=3({q!FNBLe~^%@p^Gvwde-a5Rs@A99ab z{_(7T^m*82{?o$&r|vuNc$k1gJj3NajKJZK5GsIE_>Tm)@Hq8R;*o6bT=Qsffr8y1 zxq@%z+Sw}t!X9+~&x+u4`gH6Qs^S4V_sQVXyxshyi#afCWiWa8<>egeZmmkWXG{F- z7eAZhXA{rP8&-1gnF0Lrr@?1vxb3OnK~gV16`aCj|ED>!e!2bp(`d^sx8Hc0AUvDx zT~8B^XmjW3tAa{;VZZoHa0QQ7p9#+6@tL0m->q}4a@>wx_0U8s7evxdpJ$0Z)x;Z) z2WDjQk<&F>97utY#h$V{n9S!luLee!+x4qm^ol+|5B@e{tpm6YgJOulfgs@q`1~m7A4*O^Xca!2u#!{Fs{Un^&_nr%`&(CZ0i=awiJaG-~ z@f&Z}eGP4P{+b{|-V&mB}=0rubRmGgvcFrm?CU8C`pRwvGGFqdpf{p+USTo*_32LFQA{~ZKmE?I8hJ6c}M_H-EM#Q zD#4K+;y}Zwl7pj~V`^Z+Q?DnhIfM{Ujw_vNUn3IGMtj0*!JRbt`fIMi%%3?sNSLEP zZw-#NZ)^_A?8-m0T&}iL-*WGd+Z=qp_`M=Q#jn2k7yoMgUxL37O6X^=qi4L|9{&bm zT?%EkzfmZ2j9suLc)%At%Rcxffh%0;3AX&LKmncNYG=L`v^SDqmqFEP@gvo_P{_?xQ{H|7ixUD;w zO6^(i1!wdAvG*Jp-+C|jm#);6e|4#N!0Gn`g|3QIcfKFAr>l<$Ey?)i9J0)v16BfHt1&$`dg5yieqFk-Ag-9`CD*yIa)qjSs4zrze%)r@iHGeK4dLC8$dP?R z1+eMp8*;0RUECaIDseAp1IFz)KWX3p&$5i&)*RN_@r_{<1x{)VKfuy)Qd4*i|$A9IYCj5 zzjCbeo9XbXpymN0+SZ`&js~z-bk+|F%h~E}{~_UNbo6UO!lMV=R)}t&l!)~w(q8)l zfqVHj`#(d%Pw~a@q2WSZ(h8%iAYOEaS7EjSLTN0Cc_C-|-!o zE}wIB2HLwDM}-f7!_SNg(~*D+bxZ23=gQ)4((T8J)16%jlPRmNghz0vD(#5lJ)t#q7B+GL(jv?#D<4|XJ zmPtCAVvcA>7V3$%pfnfcnW73Wv*3Yh&zusjVp@N3S~$3+QcN|@RhaC-bhNN&(GzK$ zyST*QoMXfNp<*{48{SON+Tq8A`x(WawabqWFXsDS9v6=4?bI(~nG_El6nfs)9v>>G z^BX6GgYEsthZX#O$Y<^1gRh;C|3G1I`=1!z%Y)91`kW87Nu>mSYKzy2Tf*sS(U!sm z3LrhPu8!$S`y{%(kD_OT?6p(FcDh&lsqo>C0~%jFH5}B- z`8fHBR9w@YL8FzsZ=jLB^dkTb-MkB^)Sve8K;`t$>;gx6?K2>-Cw&xvpl5^Z+%v-V z9D(nv9!pm}g!4kW`muENLqxdvS4HLezp`u!J5Yr?OJpKz|0x{UeI0?XU-)d;m&`p} zH(1s_3Yc8+Pr&5q&$)Fo<;?J~QgJU^Ubk1B8Md9-2iZ{P9ILR<>3lTujysy(JM}7N zK^MHMKGAp4ogI$M?dU80jKs0P_69t$y0t+98$n;fVZXo2h_ z$*6%qRVXy@CyCZ@^5b{TPMSpRj-G)$^m1wcXo`B_C&}?0aR4>&M2RRqU&Gg_cVvUW zwS}-Fd>Mw5e0_3JotC;KAzRWKG~1%P^b*%(*{E@}6A3Sq8;yK2^RhKrdM(%zUAK}h4CWhEqAsMv`&<)is<}?+T;HYW ziZ@o!Ts|BRM|U`#s4h8hGHBVEn0XIssY`q}6j>&R4Z}rW5-Y>Bv#%zj+24I!tnGX^ zS?dy*Evu}L=5sx*-!RKX5i{@1pZdPx2G?Pjw8XcR#O@P}4rpM^-{Ha1* z+^GyOUp(A5_u(Q&rpvBV;}FFStnp;x5GO|G~iJ0U%Oa(G2<7Fq3o4`)tp zyJ8kO?d{vkW=?Lp!u@RDRy%WY`4zKf@kQbatzk0wT|3*CQ~p4H^Lcv03 z3!t+31IIK*ZXLO6$W0f@&L%fQF0jsK3%NR&(T`jvBirI~_hUi?$7R7moXG%kh$Os3 z&A_aqV$qBZ@Q((2=YNIuxfY))P2>B^$MIBzK3VBsHv7jw|ETkijDPg=5BH&K(Y58} zGJq3T8v(EU&qe%n5K@n)IursxWC5PS&;SlOfToZGV8{V1g&crF4j?Jy0FWCGxV~>) z*U&X^N80Qcz8(%so+I$s$G#K}FLmT@p}qd=;o$N!l}+F?pE|>*=K0jAJ~h{;rux)P zK6Qdmb+}Y+3cVrH3ti&q)tw?nmxE(zMLc2}pi&Bhk7`Fg z&*PJJ>|^JGbuT)zdYO*qe^m{-00wXv%L4gMM3oUshgF)Jmih(U296sV%em4MvFhK-uk42RB@?~V{c0d?-3omfcS7Muqebak=lx+nmZ5&w>s3CRT3s~2pb+S*-L zq;%51T%l_ASyve=b)*(5Upj+5y%#$2cUi#QH9!QF&fncAwCJ}55$h$-|R=ZH?6ov z+^njNX1L9K?K!G<=66m6se0lXe3aEwJH}ldTy(WJ?NmD+f&%1+L$}A?Q@!&6Nbgkd z?y41|pPx47Up2E)i2rKl9L&2MH^BR#l!@@jrenJf7j$kl)J`Ha!uzBMA!6J@&?v$! zuEKonf!~)-AdKoRae`o=<(XZh6C9yCDa$bqI3dMeC>L8>4)>GqAX_SRWGnXqQynb* z_q4wc6?o#-g|D7%Eg%)sqI2-x)0Bz#7J0vF>8S%|++Dnsx&g9BP!#6AsR(mvL{+aPHnN*Gz(3Ie*5Ixh(V0W%b>A*!RphZBlSCKx?;3Y^MqRMU!P1dJh6KGXPd9spI$vdsZqDV;36b6Azg(0R z$+C;GqReyEp=Hg45_wE~*i@cdcnq@5g!120c1{9FaXunMPsJH*57}gbL~JynWK8Xb zpTu0sV^XG4k7e+;h2`S5Qi-I+_?u(P(*UIHFVGldCx=@_+bHC~5%_rjR1}+@_fNMc zpDTA2#{it?yjpbhx99EBn~g(}AI(-n`m2%)y)ede zFXSHwe;_CJ(g}1$0+8dyk8tEu?1GDZfrJ|iENLg!ICcTP0|Ces3qVMHP5=re0O1CQ z0OXFI6>5nEpd2jFzDPg?p+?MW%o~fd&Hvm}0VubR63|B_0Oj^Z0!kJ*aF~16DZoVP z_=g0bFYcoR1j_7_0F>-e04n#>_Wu_FXhaBbB>oJmz>k&R1iN&yO9lRUF6l*}irI0} z%Rm)4x4O4p2&!n0lU@p{z=zMhjm02@F9qBJ3E=f52UW62OVgE35k-rGy=dQt_=BC# z2k#^sM-nY&NF*u>8HehbM;GUbUmUgJc(CHr==?F~UVZ2<+HjjT+BNz5J8fSMjvM-p zR?L$Ca$BW??NO;kKF6z^#I>(VEvR%iUub$an}B#n4d^QRgyWSrV2~&>C{Q* zNe8jPOww^Z&X9OLuK1)riu>k*J@;`MQ!QK{NvjI3fqHa$ka}R{S$r1F&`B~K?T_EhC&U0G>%a3#}9wC3OUiI`Hg2-h2G zyxJUHR20WjnZmG161So=kHv!J-8q_TKBvr(z^`m2=*~*-!dL z+h{3(yOTn{Z!`-PWdKV16!q57yGnakdpNjBcJT(;NlbKqNQ+4G?HpsSwlBAb4TNIW z&9RA#I7^H+x7YD4**?*KJF^PNbsqA4uYBxvvdcUKB(xtD|2N4yN!{r#{+s=v8`UssgooA(&Az^&pGBBvWoLy)^8bs}%EVvbq7@ z9cV?=n=ZtbDKDj8T9H83Wy%IzuV1l!1U^*98xR%LSyT<>j`?+6^5=1~BCNz3au}i_ z3`-nuFip|0!gQ{DdK65TgeMeHLl`C0elJcC5{QsPF<3de`r$pF1qRn6!jJfiK&UDi z(*)skA-b}(7G8~{vl1RX`Py|yT|dN$IkN0HZ)vsw)*Oh5&I;X$)}{tf$x4W}qYE14 zkB?NM7_!e@77oaj(OBHBA!Gy;(x3eXL>@@?_$9dRUtCN*_4M3Mdp9c_{Uu2(#e;&XLKCG9sC7dM!5JqJ6f{@0Zhy@WNwkUL24dlBDjE}l z0@(mP-{LPX4_ockmxq;^GWIZuO0j;#RRP+#K4*2Wi#>aG*pE)~$$mLVk~`0%KjqR9 zAoWPC1#I9z91|+$(}{9!ZMpzb4%ZbeMusnZ_(QMqDCgvmBuPP5{!ay{l3A{!T`p7I zcFQ=OoOX09ebEaKo-Sp@?mEIsmh}xu2t@{~!9IRPs2dL*6t-UxR&oBY{9EDh{8ZF` z>{AiW4qJl16Cq+Y9lOsSF+1#=g!%;q6#4pW9C|A4_hyF!4=FOwF-_ggb4IZji_LRJ z3^a$$L9RP&aAkP#QDsPDE`xB4V0IbO7;8|{7_s>+%$Q?!Jf@SMH%FDl%R@+-Ewi~R z!+)$PzLQAXjN7*j)UhkALi767relUKBdZ&D|nhtmbS(wf=3r zfAsQ?-u}^DKyn|t4!EX8CyYSi>v3R8kF&qJI{ZeWtaIv|@SBMm?F6WA-QH1Se{)UP zI>fnaTn=Lk?E4>@K!nzg`w>ALWM1MXkIfa=L4R!lT!K8cm&c&=ZE@iOChw}~a9 z)2i9NTx|LDb>ZiSzN+h+sE6#4j!PmHDurt~92A$7%rTj<_PCC4Vt*tb_Aw4n>6$VA zt_!8sbUA?k&W`Y)gU22eEao7v4EKw8x|-$PBHxyZXg%%Zc{4f#npMW!nN3|EHV=b; z)zTY#FN+}0y>bYCDW_n_=GQU`;F3S}dYpRZ+JCz~91IbebA8w!iub+i!;{Cbt+vbe zmZK8&*;++}Acmt1OciNT=kYKR946;3i5)?n9ezWY-A^nQN~KIWEMP|*E4)(DN=390 z2Njcg-fh(^&PsdH4dEbKyX}UsRmZ$<2;1N*r2a!fC}&6DjF)Bzsw1-zTZOoIZ{>!+ z5x-EW!{WND226x^5O1vAp4*~ClE}bC0j}qH7Z!O|;AJhgB&v~Tgk!8LwKKX)H;5n1 zWKd5Vmm+bNjpsr{WZl&?oiD!3*3DJ~Td9-h{yi}|NGYaJTgRYL8C?=b25C;UqaXF1P!4q7<&ej< z2wpsddx49z-#DYT$sT!A*k`CdffYH-Q}Dy$I%Gf32QboFv|qm|Y-uZU;Q%uw_Z7Q& zR74xdf@0obAH9hq4=e8IeCej}q#&4ohaF|vi=MS-+HlOE&7~3HOEiHT(lRUqn4o)E zNAZGAMDrKe`)%03*7{Q${s<)e`rL5nC)wN34m+6$`=6Kuu~r@vSgS;M(z0Zho3yAD zA1I8zb2n==72U7Lp{e(cJ!x*(Z2vwt9CcRV`j05SM5ZD_54OWCGVm9*juJU$yjC#M z4G*lyOl96%CsPk=LL3&cDz)wgKR6zH<*jfI;%YKrsD0p8pchBhL?goYpk@`1tYncm z++B@+PEXg^OlM8&DH0_l?SWW|&I$M81Hy4rVr_LvRf(kj!r(;)b{hO&7BcES(Fb~@ z3xogqZDH$~9`==dC9>oI<|;@-vr41Bd8$kEp-v?{Oce!k3prg{oL*c=MEmJO`}S>N z_T*Q|jfL_+Lij6%Qcxp=@ZS`tS-#H~r)lD6#px#&+H-CXFG`HFFW!z@_Ga5KFFd$! zVFsD%v22r3y~IQNFZ03&n`enqw?eq}5YiB*3wL!6ChY(1@H+#`AVP?tit9BA$tDj; z3HIE-zQAt&Hm;y$w*MXBfuP^iJHj>||K%SG{Nq{w*m_4eqF=l(1foN3Ti6c5xoyEl z_k=_3S>Fj8%9enk`0&|p-xFSH-~UcnPXnp>VM`U0p@tJ`c*14c|83HToFU&y5V@rUXM`{bXEao~Lft70<;-hO*GE3@Z``%sQ zupH}&`zm^9%2}g}o2pb(wLLdg+0_(Y7QQLp`E;2s6WL|=k1Xmp(oa`4W%+7~dJHW? z4iT^*`4W+k07a8uSs3oeV(4`@-mPmF*fDp9M`Y&-&gsZMgm7yU+2MMwOQgO{pk$EX z`nx%ib(fuVPxy&aAthO}?g_s~*64dV+wrn}{ob&#Oxj$%s$LZSm{(6O3cps>48fQS zM=>(>8ykH$Y@CwHPdsy&WJqbq6->pn%qVDLnq8%^u@c54jl8d8<%X@CONP?Tk^_^{ zEjHUbzl%C3se1>?Gqs_@5;W<$pYmu996OYBbOIhifgRu>a@-U>iTV{L2FL^sBBHcx zl?ZntxDp)8Sjy-+*x{wh0kyn1N8|~SUl2^>7sg-rH0v^=Di9B>4L1H?15L_acdDtjM|?j#{ERZGlRz8Fg#6H0QAIZ8VM0XFIRPL-i=K7SMV%KfRVx^P zmYa_+<6IJv_cVML7_-(MaGJ?fOUP$BU=lL5HnEtKNwq%sWt=AtEq}Ky3S~_QimM=+ z4R1pLHv+ZN5jJZSKJ|crDCUZ^sQ9yGT^L1g1i~!-BdFg528bExp@+e#mV7R)VstL< zH44Aci5&50iCleNMuD%v5{D;_`jr;p2?|=_NpFzVMZS*lBt{VK*P%f+Tw<7(AnftO zBS>%koSyF8lC6(Qj>CYE4|!ehG!~c?j&gTvI`yP(X}|$k;X#3&;$6BZqheQaA{)$u zv8Q>sfMi6*6;z<93Q$|70JXI|2v8fuB(`*L2^j>am3jw$K)Q@fJs^_)CR?LfL-mn! ziVvY8sO&2eu$97)!Wu zyl%F}KJtTb|8d-Is~`=o1L%(FR6IlE5Iz>DYG(Xv*B=_R1Md%qkJZfLGM%rL0mt=+ zlJA`PUa)fUJoK26I2tU9F(E;%KtxnJj|2q4L$Qb<1A)@3>LC*X zmQN!$*h3~&kMj2z$_Za{jw%c0>u9jRtrnKLa~d-`VG8+lT@z9`zo!nu4QcccGCe|k zQJoAQcq(-?2mzkPc06|nRhP*Q0s&V@`J7X<$G4DCji@f9%<0#o_0O>jWuo?9zy`VV z{fqOL?Ez8fVQW`QDMk8BVN8f;3Q{^eXvGjlrs5HE%e(mb6vDCyF+bX-rGAW}oN5k+ zq+knbzgS%k7(980sdMaIBFRnhCFSikc>PaxS@p$PQ=q|X-(FGTn-beouBp?O!Aw>< z+;Y9h3?N&^i!Dg5H6l^zT#b%5_UN-R^WtBA7)}bF{DYmbENskGGiF>j zlb)jI$5JjFoqQ>?#$BWMI!fs;R3u8GOf0M3dV*mIVVAgHI#>h2EQ#PiB{FjF=FoJN zO6#gaUz&^W;?mV1E~PPYPQG+dzKQB+<(rSYN(ny>09oQfYApv$J~d6bhcO3B$?OE) z>Y*H_(*0iq1Y?)r52s=<@7x8`HL7G1!5|nwGPRU%#CB(jNBLo6w|Mqy6fS!iM0jKiY5o2nIcA?|Ut5v`_vh+;~({ z@j4Sa1v%-U;KCjNkZ{LjdISP2-8p=*?T?!FI{U$o!_fzH1Kw`Fg%0W4Z@X{1qs)f^ zbC3t->NoQUv()|S0hYr69i;_JUs|yArMts2<8kuC5a!742s3Oi5GEe)f_)$FP22M0 z-TtnA?S8zzw8ra8|34b?qKvZCjY#9tpmP6vZ`2UtEK9#s49K{|E&Cxr5Xrue(F6b%R%yHrzhK^*YhHWBWS|N=$UT%N)SlBOE`KHZ05soIr z&8MCS2lw23o}v~vpP9Jf1HX!bXqEf5it%wO%&yroZH&zkRcQ?PBn8^S-nj{N_DxKA!g<7dM}oxahTf z%N_35E?SP~-IrF&9k1(t%?c!B~?!0Okuj-ghdwSo#j={aEc+i=NtFOwBda3)hdvN>G8uikvdKz{2 zenXAyHO~;^D5faCeFloM^zHoo&U3$Z(O||SwlA#)=e@n>^UFffvii#(x)C(j{KBpI z=I6LyyKml?R`YYV?s@Yuq#t^vsQJvqj@R=oZ*z-l7cIy5{Cf9m7tO~j+Lu=I>o@Ir^YOsf7B`=nxc<-imRGu8yJ$HcxG$}iSN?g= zTaE|*LUGISz-M2b$M7w?!|-_EzOz+dQo?Y?z;!ss{b!RUQyHNRmmMjtQvH;S9jOxzNSd_lA> z7WsPQUg9P1ORME|f8TSs$1QK|-tz4C^E1B1ExcWTJZ{;SR?A!dy5}v&%k915mit+^ z+E*5c&EnnRd%W6xX*IuiFYrA^xb5AWcL=v=b{^q6+^=1XK1MiSTFrON-gAVDo4;&R z(e4)G`^EzAwt9EGTim=at>#zn1@9I&Kf8zKH@}*n`?c=Z?nm!StNFFB?)luu>Va#! zH=kNBS!sK|`Hk+^E}D08KVpI_qvkhm-|Ob*?%ez#o4%Ew`!(*@?wj|e)%+T};W7MB z_e4^Q5r0AV)*a$^xXn%S%C=Yu(Bq1a5#N_q>)W>N`QT&j`R;Db=f$-(1&L+Z?%1m# zp4R%(>cFzSV6XC|zFP-kQeW8U7P?=%fPS9TyE1Bi;ha5Rc`?O%u(Z~Wi^uF_*pOtVDwub+%j_hp6rW)| zZ?H3d7}ndVe+&l(_ha$-W7xcx79TFMkTv9{ScXhS+nrsc2L+%kK9rVj%$JsK%$F`! z0PeBHC)HhnKeWmw-U{opc_Yt?M0YC>lw%{dk!V>D!~8HUXR9CNmRN30M(bj^wMUB& zr8P)jT7&eZiwD`>zK2$dy&R;82l?1O46@k|a%sGWB%^up9@66=DXl^J(i)^M{Sgi_ zx2u`N5vaPzD*0iP7msUktV{$~V`bv*#zpDFkkm9VU%dOk_RPc-+v~pkTG&_i)cZdO z2UK8m#sb-tP2P*$E`bJjMK9Axy!WtXC>Az+eZ4YwSJ?Zso7e_Bu-25?y3OH!d;aNj z`+yTeJx*+o^Xzo4(!vQ}TA=f#yMu1u5P#T*tZsHEx4M754}(PV6bai_ zFj{ZemC;&*baE<6eOE?<^rb(JLFQNYx_uZVd%p&`&grpbwO$cxw0BwsMTS;iT7&eZ zKaN3iV9?Fv`h6JW2tUXTv4RiNe5~N>agdZ2y86-@q%Zw(3=($24f0R>Fi6-}&18p+ zP|p8g+Z+0|i#6$(U93^Avg|p?%uxLB_bWJT~zW^FB85^|)YST=JzgNMHKn7$o*dHzqf86T@QPnjYz%19*f2$rTbNt#H5oQGhRVz{-YGvdPYC0+ZNtJwzT<4;O=K zYiLF}J;ZK7wPD{twJkQFvJb`v)ZK#07Z<2}@qZLl%VSWTosB)M*OZ!1*l#Dz;yp&u zJn#Bw4^{0sq9GC~+JdvLE1xaVc#;jzt*;!O~LGAKL>Wd5VzW6^1`KSMA zPp&Wps&I9Md3}#To=4MXih=cV<(>eGBS!lItZlIo0yK?{5W7dy*a`ufx?le&u%7j} zWjYdhJUzbJytBvf$}3%d{*P6Y$I*3NU?2D4gn5KoP z5Pu;C)uIB#Z%B1Pe130Jm+r3B$UEldar4D4AeGwJdzc`^uceDrYrXTs~czvgSWF{^t_(06voexAj9lo?W zFn1>(2z6j!PgvZ*AtN6lw81{!Xwu$3Ir2znUUUY^Z5SGRG*IeA8|N)c{n>2}*G-$i z*|7u%ak;>G>oWVPCbP5Ma%;hEsnhtGq`kJuWCzaugEXIG_?RP9?H5nr((Xxl9Reo_ z?c@DS|A|h4cLrq^yI)+Is8hRB^JmdGWjTb?lWsb~Xr(K|X=jzTy<1JQydt7zGb+|m zro2@Ve_Z?37Bg^&jF7nPPT;BuPC)I{AKx4MlYXYfzSL~W4qffEi0aN#_iGp3aabBg zzO=eS={@fbYen6;b2r_|9=g%F2dO8k-LGBrBnFHxt)5VN&wIiZ^6JSwyXi@b{Y8r@ zo4DEu_YN@b*Dku_Q~`7%Rs{fN^qH>O^?JSKdU-08 zMC(Wh3HehvM9Hb->MRC)6=Z#6h$iHJWdnOxf77JkNfS#rY_9XZoH8dIP)Wr>B^iFP z?Q(00LP?#=qqm$9UE#CzI5eRC2F6c04^1P_i9hnCFXv6bZ6e64_; zoKpu5OA_4dW=+LqY+sR>NVy4(TSEq&(nBi6;?oAxVv1pD_ z*F^J)-_ZsjW@Ad(k1WjL9emdZI1f{3fj|#1Jl&>L?{wQO8Pl30uO!4OWR_@zK4e2L0gYf_-Vg_3 z=VhdH9odQ0r7rdcA=))_*UT=bitiYP8VV}Xy$=JW!izXtM?8~;-~{eH7LYv z*r6cDM>u44RU-f4&S|d6C@$b4vk>9I$B1=d1X6x1sD$E9C@z5lP7qXFab?|z6po<{ z)Z&pQI0lba%_y;;Gp%}z#JI;}aMq2(hknp5pUDwTZFFLGg7=ke1a9^3nL>rn0uUEE zAe&5oVmmYnlrB6*BPl#;6pMvp=Dy6Cv_#m33Bj2FGod+fL3n#9vV#i};bw@KWHX42 z!CN0fg^j3q*|``CmC+n}rWnP{NH6t;W!H<9Reo$u2{>GCFP&MF&gF|01%RmYq0zxd zVO5=Qpqd9=E$7i+{jbw7z|bU%M`#4V^rs2PH)sXr<33c6D&g)f#eHxqjDTvPTVRU& z5KuIE8og76uwBBTqQDQ@FPA42D}fbI*`oN!YKtWoE&0w93g57nM;yN4A%4A4SyH9= zJ#Fb0`-vfDNbVs*$Mq3KO+Z}!P@3+e4u*QP5n3C@8O2JdWJd%M zh_fJvGLA1zEUDGnr%&#}8|@p~8&da%nXwe(6Bolq!B{hHEGAn~O%%f!fPAcd;O?3_ z;O2-2l`tvVg|cJQ6E4q=o1D8`p%Z^o(R|9dsmv*J)4-6&{hxcI@FGg4tDy+fp>B#% z(*ku$2LfnWn%{(AAe^F$sZ2mNuAuv7dfdz`)i~T6OVexCCmV(;_6J=|sxEFWOvsx~ z_dhb9)EZTv&#Nr_?oczZQUr`*lvcXYp0}j58vJH>!bETY5|!yy#f)(&V2P{P|8ixj z-F!lcsN3~e(P?2$T&NImOonk6pbqr$I1Q44NLmnzx5uoAu0vsbP$1w9e%P-}uT9!D zvue!5F!et~&tMg5eh7XIf`|%-Ts5A$vm9=Pd{&*P9uwyr2#LZiw6K$gm_bM1N|3%j z#OToMvB&jhz6mP$s6&gkC=_HtkdZ{g0Z0U1%f~e*x?+K$Aq3>XZDwdL$yB);NCBlI zKv}JIE>X>8SmKHt=5~u}w~RAJ{nR-)b}bVZ!Y?RF&Tw6by#z96g|j=xx)(&CnxR6F{h1 zw`;SJ5V3+KqeYqM8XVl6nE6l&T$x-o>!>#s@ta!$d_WU| zFeP0kn;%o_JKsla;}|NyaygO*sWvb``!b7OF`X(|^+JhknYMnS(&hi@_6Ne}=s{p- zcQ=fSYQ_Gag9V0kfald7D*6R1lBvHD!Q1WI8)D=^3n%Yp3BIXS!O}T1n^YE?5M5E6nUDy0 z{D|UES(OwPTq1VisODd0d^!wQL(r*m?6wC%aJJHLqQKBoh=A6 z6U3y6S>>bj^lXFY0+m^v73yWda$N>MhJlG}QC0vE&W2Ihc_hn^ZRx|U1&NE&iDQk& z5-wV{e;8?wCI;=uQ6|H7O0$GpW>p-^v~JVIr^jF5!ic(ac#P|p$@Xkbwq-&i~iHdBfLocYE-{6`?DU(j>`Dn`&hJm z1D20=oGC+KXBv|Z?O#Tj#^y@cb#ynG1QcxSRJZ4-=Uj`>e}8kxDQxfQq3JQ{v3?IC zcHjZgh35%|_ht{A!DhkkHM#xL%Vy2)n7^VuryYm&P@bu#x@6j2Frb@?A#Gw78~MU6 z+8>bC<##o9BIQmS2_}}Dq~Y1?Urja!p37N~&`=`rTOy$v~Qm;U6TSNuNYSP&d z>!w8)&&YD?S_KH87cl?R*=NC8wpq@BK;Xn=@m*-|A8iJfX)AzVu*Z)<6CaE*2R16| zFOx|~vpDD$ql`;@K3C}^F_P23arR=O3`Q*M>9CvPI{X+jNw<9rC96?mW(I}DV?BO~ zyU5nf$V!w0+jg1~O)FF4q%k7-QcBw|>j@+WLWD-QBM&f{J_PwyqH8J=nu>-TOP38` zI@Bqc{xyn3SXc$L8aImH5-e>Fqr;mW9MEGb%K zi%Cy_w@h-UaP#c!!IM8InK_x|Xb&B0D*I{tn)iGFFtFFH*z5%R&tuJg+>IXdmaM|E z8Cuv`L4mJ4XDPr{E9oG&E9P=SF#!N6TgBy!ovKyjsfMdP(@)z4j4rn$&*UYvzQKjK z>nDWELiV-#SztoC`dqf37DT3%eJkB>TKeF7qYp}0h>n+opM(~0jkLPuvK$hWr&|da ztF_F+)ND8&LL6v6H#8AGZ3!j9e-^R-Wu~VG@k=$Xd_z3QE|NJag0TO^^-6hzu@tk9t1AKD4veB3?^TZ5i_I)v0 ziv*1z1ZOI{ZF_JSeRNY!7PUk*bI>4>rp|5~Z_+twDj-EX48u$yMY^qI2o)4*PbLLj zDAu5zmJqNd*)pd#38E^nm!g6TTF3G~cG znM^0d2Du9xHA+l2nl-o!n95v*7)>#1z0+rRgVXONRFFlH3KMVqMQH-$0XU$WLn6B z5cQ`^z+@<$qQ4-Spfc2RzX}%Vpw-*Oi5tXQs?0--O5KnIb~gcm_U|C)rm&Z%_r-I- zurxnvQByG}-)s;!n#ecXZR*m4;;DeXxPdjsy^yv{y>V0Frq?CQ5tYwmvK91F-2=_s zKk?ybaFNB5gW&_+-MUQ9>;!UFE-ui^b-di+o|mc`K|g^`n8y;}f*z1LkuB@OKnFqy zxW?7UxEz?>-Rz09+wx4Bs{*7CCEgvnI112bG){C<<|fkie1Zmw(`if9F=ucv|qZvYG}#V;P~%Wgr;87>7f1^GVPNhf{sSU zrFx|sJ$AYpr%B9#9%x)BRKt^DyIn^$Oey9R(Yu#@{DPYL95{0*U<7wiJ4x$;6snCI zc(6LfK^f0MDWobPdFd%y3B~izB*gXjy&}s{Ts6qCz8Zf8l}4y(q=CX4e`A#!`?N!I z#jiv_lppT!1+0{0s4}T5%XDWI(gPbj1WsyCbWvSu&!`@T2I!=oLn4F8_EI@ z;YbcTzQfnWNHS=zk%XYs4oL>Njj|X=;DH^Er~~Sr!;uVwAk1%!CJw>T7c#s&nsB#J zcQgThyFn9Z5ei1I&9$)`G>NO}0ZsA^hzD`#5ERhFzslzq&?Nq1Cp2NYbqk1Y;?S>= z@x-EmAvGAX$|DUO<FA8G4E6i+`A;Z7d~PdGr)>mYL)=EEKMEI0aV!QX zEByvS)G#(YVHpe1$V|ni!BbEZT(gZX`mJ8DD7Z9CFR&1Z$gtoAVL zQk-C#gVNSS?ZGtWTVozzw;f@Que;`Z#1Ia2V?a%`F_0GaW&4>)=0s%J1R@iB%KRNl z7~LtrOoiQ!H&=4XAN_b>7&{YL&h5&nHH!v9byr{17mkPJu>N2d$}prq#(^DxGKwO z9tX~FB=4WqmGY<*LVp4I#0Z}jmkcP$OqX7${6zFsaYE>kqiSW?`STO4SnVD9_ z?o5d&eKdb6rn3)U;P$ch#IZGj-?jDLwoEo75A1~uHe*!DPk(X@9DPkFj;dGGJ_@l> zd|J`lUGXel5QINIPq%ThnL+b5d? zDm>5z1EC2=njzeEapsX`D36&(n(v(aFt?*Z3S@>$0%x?G>lKneO!*h7{0pqHgNyP( zNj|{Ptp-`l)8H~9t}C@OK54$3xXf<&q`A3*i173e?#5nnlsTYM%!vbcnSJOeGop-8 z^nfy9s}>|$Ew^}oDsj6#12tdnb=)!NR0mpXrvS+-?Ih8Na5xdCMjJNE;--LT{WJmu z_a=Rr$~m=^W0?BYe`n3Qa~hU=;VT1(qeQ%rNBk3D9JNlz3QP@zEhy@9$$ zWOFM#g~$}bqNrR$S{k{kSnYysL00Rey>p5gQm#cny3Rf~#q_15BqUe~XW~~F{a#)@ zkA*eeYdT`ozy(2T3#-`QMu~DBv4gpR!n#=dNqg9_X7tDb(Y<;23cL(?73ZX1F4IJ> zN(f49qps)Ncx8`;5IY;W?q2L;pE#Bq<$tV8R4BbM05;B5$i*609S+94+9Winc31qu z0SD<3V(CV(2eG89s#_gt(Og6u3P>R(k-q9Eeq09bYa!(VSI# zEBHka!_;?-NX`J;e3BWNo2yK&#!7X)6~=DSwN%A7YSe_t*@S&BXEKq8fqzsYQcC!D z#BN+4xxU01{xOAuIP9lx1m)7Y znkAb~k8*dr5<=dg1v{6zznkkle6PUr`zGrP7nJ^BUvKp8A676dT?hx35&%Cp1&t4N zaRZ3<;DLU9C#wFh47P`{R^$hpvd^Aunxh|Az_z&?vhcpseNkvCi0#e=N?a)%me5%( zU#`(ZF5m{K25&EluW@dG_}L*-&A5Tj+*NS3k+L*eS)5*em%VtZ`Cf0`3)3qZhG7E3 zB?E4@V?Sla^wHfg-uw(@lOI#F{f|#!g zxbA|=x;ZsDsw5Q|?V0==9;OZon<&N2fA`rnr%3_U5}|)wX86mWq+0EDpElJe z<3g7DrhJUtmt0!y*accri|}?3$HMoBr~do6Lt_2-&@-15V{f&uecH5+f-nfz$*T4q zPhs>otjwYqtk`mGU=*2Hf~yDs9eXOfhOV<^YHD=_&c(xPcf9jvHmb0rYWgx%gh}Y_ z=tM`z#VTA`bDC*r;dUR%e(0G*Fu3DMyGJyS>8|v*+{i!()#oNqa@;L9m3H*6E7IfR zJg8^kmK%NE#QxXUFN{(ahGr(KI$+azZGV26X*?6h2PQ)#)YD;JyK8N-wSsm)Ed^-# z+it{VsHXyrF23PXUU#Fd^r~pxbUEO7?Xn7B(xaeV*(Ky`>WHYaE&1V&EcbLCC!BpANVC%kH9Cj&VZ% zL)@+R((W_YK3NjISrW~a19+c#wz)3-ypgi4Hg%V~mHZra-u*h4&bQHb zTlEFgFY$&Q`UUgJ#PfFg7tDY0>8s~(>6iH;2Ri23zF#yalrCNdY@W2|e$liCmpyJ@ z`=a?t;#zypznG`^==^ic*ZoJD=GHG^N@L3c6~u)eJS|%LcwsY2uq8&TNyk>X1fCnw z%HlNFIW8|w;{mp`IE^^BxH!#5zpywxPYL_uFPRJfUw5MOyZ?%88utRC6^)t}UH(M( zp|=;O8Tz*3p)m9<#c77VsW{EhHx#GWbtRxED}yYT<+j-q&ovc^nfCN^&5v@|hD^KI z2KGD9^053mD*PDl7nJU@otC=PU5R*taK>GyIF*mhg`&MdRh03JNkZfeS{rR$QD8ru zBlKp{g-NF88%ehmGU)pH;sR?|*n9rn{7YR|2WcV^W#~?4>ol_>(SYpKGrrHP(PAZB zBN1E5py!vKXKo(nvRJH9g?2-k;ke<}ND5;qEV+ zv)tW86m)aA)VJ6!XE;RiU&)8`fn(tO_cosbZdS^5Uy)QCH z)N8?N`#J-0n8%q>Dz)8y^*>CLC|@us`u&HMFQ@#LOH5NQ%13|vu+l+Xda^*lhL*Zi zs!eHSVD8S%@ZicvEmC#MZK&+WJG_Fn=#_o+BGV5MOIttZ2z9|G8)Ri_d*`1oGG{0K z;QyufGu#meCU8Ac$>hq(C8=lZif@=}0msSTG-HSTuRQ32Nx>!jAOE8gX`31Q4zNo6 z+P?ZtvtQ4E;pI7(nEiT!0Y1}0YswDNlrgLM?Oh_~=<=(qduqV=a72^5X(U+P#64pLi;m8kZ<)o3#*QaSxNR)W<(UCHPPWWTdmVPoY}1#~|7o_F)r7MwyA$Rz zJq)4)<}PY_z|OqVOl=Zu%2M}H2C;as6KACx>#%>m(u}HpOAcs(yN>BCJNPQr!&~-i zSDAlHEVVCQWo}_q7hG*V5v<%~AH3QOPkh0yzuIJi4eL8UxZ0E_J~h9N-k}%ApcB1Y z63e14v)yO14tJ95r*uxtlemrac+F{PGbS`l)#Xx7q_2y(0%#UAh_Gi>v zuE#KW+e_}0mwjUqC-RrvYL2yYZZJ2T=!Sa+oO5aPRDQHBZ>q~1Qw)G96k>yP<1ckO zfbQe(&Ae^0_5}+rb=WNy`nK6N&oyVK z+0KnLAh0HmGfA6*w;>!Y0grE;3z9!z*UhD#BwkNQA*z`Pe3@|-+ zp83z-3rd~XHoOESBj=e?YwVVJ=F@R@sj~T_>{GvOh6cY|-}#Mi)8omm$88cJqrUn6 z3enTbDnfio)@*@p-kpqHn09;SJ!XLY{T*f|UHP}~m;=DJTfbw5mEG>J?aVH0yX78} zw3FtWYYMAQ&9a<)JFY9NI%VRIP}KOv(EUEZYW zMT5qp*4>^PgB&{4g(-sh`3$o2*?Y`ciE1@jSZL!Hk@c{>X_4#FQ;Q78-d^f_ZIP)- zoZ{MAg!&TQ;j99FYQE?D%Kz}LvQ+SLcgFV{G1?L6yy=CrVP=af&D zxc{~skxuLv&hG47c^~^qqO)_$56oNxI$!xiGoHs|KQxEqPA+2f4c8ZzfgicwE#e+_ z?@ZjoLbp5Y;Y&?(*MxL3A>|21e(sNuKJK?~{m7hh*xf;TBtK?j97%sEdxWhHktP9f)}7wnIIY>uc^ znKaA_dLC%>TpM4dg?`z23X{;Lz!^L_TdPScoJXMfshZeoY}>@su6Y1-dh z?btfi2r6>*C-tWH{9?=Q8~Fu~p)(SPR-9h`0&{;5Um&I|*6*$SK`7j`%$(KmFk|z3 zqb_I+oagq^&d)t$Mki?f>W9s_=61|t_A3j`csueZrnc%vSB@3IK7RC1%wdj@iXrVH zp9s#w!}5dB9B@`{i(T*&=D5Q?_Y*Ul$LY(>Ipy~fD{BdK=G_UM$A2Bzd1)oLblcWsep6LwW-J@<6uK%on zO>?JXiaJ`db4TBJ)ZBjH)f_V1a~Pm3eZByptL@k`Gn^QNFdpst=uBhofoc&Aoj6ndi)>*~q^4oEb*y`RB~Rr^R2PyolEN-@4E} zS{dh~M3>}#(S_Mi$B$jUWT*?!obck}8PW2Gv0-IHuicMx>_7j)9MGRCoOeyMTEFnR zk(;XPCx7gHzc5F9CT>N#(n9kkJvLv~)jXDr9h*l{EiTnH&!{J_F=tlg8>M;s-8G14 z57}R>F%R*$=9lJ6jQ{Oly3~Eon{Sj-Se+XED>Esv+J5y{<`b!W-(>A5jn*u;kN(Qc z$*ER0^ztm1Zut@rPKFk3&>R0?R!~Ml!H>t|63u8_Qy>6tiW4PlxIpm4mVBmjd>}Ft z@1qX}>bqq?)&p>fe#xUM$}QGU>8+ww{BqD&VvQ0j`J;rMg*WSzSRKF7vrue<5^Li( zdKQXpQeu7lM$baA+!m!a#;^1&l-s7n=J<`Cg<|bLA+a@nqi3PmY`xhYztOW$Y*z7` z4keT`A;<9M6jCJSDxn+={HEf>d?l2lH}i@UiR>lcE3vbpbu{wUEXQ9{zCDz7o^vo5?ZPKgt@hd$G z<+doXF@B?Gq1ZMhHpg%DEEH=O+HH;B=vgQ>TW_|0j%vrue_5)0j%Q~ZxYxn+8_*uC=4xLirJLT{GFZ}cn_ zTVDKT-E!No&WssCURvXT(+;LZZJ2SQjVg!Y%V~*GG%kMFPFrVAcC=#Ca{Jgi(*iMl zah*AgN7D=D(k~W$;8wkS44L>s-Lf}FOF{G4RwvOnOUDX1QP)aWG1sFaIzSKJe*qG{ z+MfIyGo=^xLTZjiZ^`5@w|D;rGWfcE`Zwm_*45H)#x18yaX3;(M2PrfTV6DyrLMic&`m(8NmjwhYn=Z7yd-Ot-CJbF8eQq&l$|Ir`Y=Qf!m2i~%> zNZ*fcZi?i%qwP1;`=u7d!)I?Z1eA3 z`~UfSb8YDo*M4W!Mw18!({i2qit z3#ls=kectRPQ9Qr zU;eYXrgV*a)0x<8HUw2(7msfvtkUM!&D{;xJRtFZliV4+uWT~<-4E>icTK(5zpV0# zpbdG=zy`bKjc)pvH{URKm#dbjA$5zrV+%aw1NPA^Ox6STjVCMpW|`;n@(l; z+c)8o=GydI=IppToY$p0SHFd~B+Bo%kk&izm$W`2@wv_u-bSY=69S4p*KKD^s7c*u z|6{8;b42I;>i$Y~AJQY!{|fykB7f@9vP>dfUR{sig3R){&iA*P0r{FL)S|1Yf|^FY zW6o*aT}^iJJNOiS&OY^y`Dw#~e-vVWe%CBypdH)HfAT1Q&-{Ctw|X|+@-~um$9pIQ z@3!f;%^EE{R`$ndi-CCVyR{KEsD%!;`J;6Nw}$rt9nxLz8`Ndyp)ja`R8)m4uaGc(@3! zyulDDOp}{${b|=akb$o_E&E<^dhM;9Yl7sM1h%4tN!|t==9y&E{W0w}E-@DnKR83<~lqQd;{J_zgMTwfUy{H@g1n` z-T@l?VR3~t`2FHE4c=9pzWtU?M)$9Y;BTe&o{Hq$7B@msurOK#Z7z*!qo43WG${3! z{in+0V<13tRdSl9^YW_X4F~yN^!L4(8&4ChUTS}u_XLx-P4r%It8d<-VXBhOhpUq< ziE;`@!%}Y3WB&S+`VKSIKx8$^Qs26+R(5 z>vkG`4DefyP6QO*6UwN#PK;ML{n`I$PM$tyhuOP^bODJkFC?n_Xg8~)YP-ET`Hqlc zYro`KF=S3}Np92>AKscgETMP&7-kprPfqY)XtHniPacujU=J9O{CYf*4-82DnAtgZ zVDhuU)>6B2VDcIYoRUudVk(%%>FFfiKq&?>5ENr-+Db~~+NIDs(O;SAxRX-7MsF3T zLBZFG)34069KXG;3-i96^_X|OJ*;oCzVni7aztUe9~+b`A5oYVdHNM#$oL24L5mBW z$B8!wCF@()qLx&c70w5v@zaKZD^%#z?`v&laIz8fJ7jQjkjMW1-Le07Lz18OSaMU0 zEcUgb$=W{PcoH1%9bGQG+^_pbvxg-MOGXZtg(YK0w^^)CjD}Bw8Dj9l43zT5eJMCQN5ge4jhp@ zj%MGSfid-l5y?7!-!mdPY?zegVFXuzA()+6l@$O=Dv#NnTSp|nmgriQGW5$otO=tn z=Z;HL8#*r=nJjm>HD^@vyD<(;+&}q0TGDl+lQZM2+earyo+eU-dI6K~@UY46C(!Fv zOxdUs`I*scuxJJ80;+>W%Zk%r(URiyqML2&nB=F$cg+}+oFycGcTDn2egSlT;eh14 zL_Os_Pl#Ll(HO3V)MQ_e8PAo4@RE;kx_SxdZ zce@fN7MeI_LQ(NsiW7e*PK-OKsMyTn#Pe~2QH-~v4^IAnw7m(O6xF%^-BsOH)jbO| zFayKP0M#wvuoFQ++$h{|#i%hRCW?tGLtIeNxHaymsG#T}1{JSH)Tl@_HtrCYkSJa5Rs_UAeCSlD|edLsr@5m|%$HRO-R za=OX3C}%eJRyyv-^UcGPyw2v2=RcS#^ae?m!ql)dUec2ze!BG%x38IhiR+mIw_pdJ zW#(<+z2m%UPTJC2rca;P%ImM|j$3)>)I68}ww3n-TX&dgXwwgeY~vlS>mRo9`ZwCP z(h@m{i#Pw?#ydzq@oFndvXAGNPnt~7xr(lgyr*bw))enK9?QFK>+Rz>ua>Xb&YNL> z@418b7|(y%!Fx&N_e}*r^&RES=7s~k2DA6h-fMmgYUbrm$oBVk@n-e>ST6lF!&K8t z|GA6jd}}@q;6PqxS{q3dbhG0uX{l_FeYa$9x_>)lH}CAE`)%!d4*|};2594tgr5wD zHzTW@Yu4=+Pts3z_r7i4ta;;~dL!Ld59~K)%~pGPGt73=ypaxpN7KCi{cZboauMI) z3e7p)&6s!UX_&(-P_C9Crzt4=R4lBecr^| zG3m$@XWtmMj@}1eW4^gyAFth~G3LxH+sEtMq=xaNL~u{q3>q@#qCLGq=EHrw!z!;H z@?CE$mi*f9dcRLMp6xacXc!1MMUDBh%}M)t_i8XJ&+?kf(|+KcBG_2-Ljbq&LZ`8B zLqEOPCx4+?eSo)6FYZ6xyG7Stv+J768y)C1InMI(#2_M+bl~G zraHVamzO{JvG=%B>B4Mc(v-g(^7E%D${Oe9{t*V=Gx;wD^>zUqi*Ll+%dZahL_nY$L z%Hb>TB7?Yv+nALVW9ew;RE9feYwDp-Vm<)@GGRyn+L*(`5} ze!O>IT$9dzN*UX=f^S06l?X$i8T3$=r zjaJxLkuM%FuyKM~EO6W~+dEF5hsOg8i_DhC!wtS^4n7{HY>{zJ@LF004Y(2?Tl8c` z6IkHO5QE~l6TC@aha*n#uE8~`_fJ_TFx12oz28ylp5)!Gnpd3UJ;D;4d9r8pYx}9* z!~FWnsWkMeX()L!d8vG2$=lxLt(B*F59zJebGg21)}9L!^5ZkT#j40T%R*I|wYwC6 zvOku8a*lUX_YZEXc~=nFT0Y`@Z+7Ja^XWYArpEcmTB5Wv6wNokz5w3$P4njqyf-nA z{PsfTaGm+&LfGS1%@Y@SeOd6=FY?aix1;CV-+nQl59XUS^S!@Oc;^CJ`1S&Cu^fGT zc{pWtX-JZ|30|+h*qi3`{qzY0%#P^HCo#4t78y7Zl==(31@buaN2NMqk258ZUb+x& zVY&JHLT|V`=S?&4Qt!Lo`I*)R&-~>wZ%o6wbgN7n)`Qvn`ciK$UD^6F+m%_Dd57}! zr}(Ld@xI^n+ZA0;^;A(0_tZWk|B%^ik#|zpTdys$-$Xz2CiLem@SalPMVHg@XzS>? zxc}t^KlAQ%!H~NwhNC^LJa@6zOCHjfUjbMwH_u$b60a|Reua0cQ~w*>oh`5Tif7(f z;*Bo<`YP{Rj`JJy`V#M_gmoTxwRbY^v46SR`x$_D!hd;xw_K6M-}%4$VSD~%{OOgO z4OLT}?xwSP?c%ByT;tuwH``z9joK6>AnyR+bm3hU-IJcqtUh@}8_55USXWL-Txs=c zORoh$7MX#+@P?|QUoeS_%uj#8R$pW;|AluV`lIISyqETW`xfa(a3CQrf%s5eU$#ZC zcrFjPlGOORoM6j{pROr8inqu#7kzrsN=!7CEOj~GEGY*A%SSC`Gf71Q$C`;1D{R0F zij|=^c(-NWqdimt0sv(P_)QqWh0qDjnpp z**v-2>!Vj+U+zt=`7QdDH!iDnlU_&D)Hi20%}OyoKmQf5_mpYA%^Rb2zs-9@xWn=; zho2AcGVXS-1wh{Qb_THA%)8y23|U%pJF~3!gnpO)@D8u~V2&$;jNUZG72aQx7h22h zch=J4E$_1U&SHHJ#7rk1zKhy#HU8b+Px?bWi0vfiuu4S4zBE8Y=G~31;Z3vaJ>GbT z$Z7X@yYRH;9`DMpuu_(tSa`3OR~JNG%)R$|b?$3v^VVHnTivZn+E*VE$e+}g~r`_kZgb4{a!O9EWeury-$udWNmlb&IK5q~h^PT&=8zxI_Hm9$f zFQrcZ?!C6FoWv$GqSvl8A3xv?Z&rC%wVSBgC0CU^l(PyoXoi1 zBg$3df-`HkaLZ;diV;i)kys(HJ?r8XZ)P zYUd8MCAQaS}~11O@|k4`|%SjYheIt$k;A@xBO!9*(WH0L!uc z63rCRS{?FqA}+yZyjRpGVTgppS6{^h!E;mf*t1dsQP05n361icaHcL-6FORP4N6uWF z+(M?w>tv2HyR}(QZ@g9gjF<8q7mn}EM~EQWG&=K9Q27D{?kwak8W-JKDWHKwo81uy z^kYJ&vo8vLYr)7Su5)G!&8#T#uH-e>s57@N!bF)q8Hke@6*o-@NV z%PL}&FDgDV&Q8Z9C@&>B3Ye~u%3tV@arS3v++z#9NNbyRC-YM;&5RePKd*~AIt$8d zmFXn7UNAvc6;i5^6P;N4IEpaXMb3S@#L3MAB}rhmNk@SUr_|;lSy4JkCxMPM4v?Q- z@EcN6URR(AQH10nanx!$B34ZKFs)+*bfO__j;YiW9)6SA=%R~P$`!nXfdAqxNkkO6 zbQS5yR8WmGDn+c@NUETqodS+>XyHN<^(HR(3n=R~mOt`bN18s`09J(rI-s0H!N&l? z%I<&@i7TgJ{t^wIKr4$z5;KZ!ttk>Vi~%T4h8$Ch7=V%z00;^_!97e|fFi?j08?Z* zp|JWE1eD*)rWpfdNw>zF5^|p}(*?U>1+F4S(0&$?Bx=&&00TB@tgFE;7OiJsmgduf z*a01`VA%oN20)d+&c=Ay_G}mcOfz6d7(jj*oC4enE2y^AIa>oY*&6&wDb*~+ zGkO9D&)-1K1&Ys!?J^zlmo0WA9qwUxmQ(3L@hJsiyR!ADS^>_7%r7kw~)w9FL>Fj32*MXnT#t*mi6Wo94m^(%!cfVZl=AsjIu9MKYM z5Fb&~{nWJPjRj^CWb#)rTTHXIh8vw;?eY{?0o88e)B7O+HX?mkaZJd+AGK|s4#f$j zqrX<>0Qc8=R8*{7rWAchshw8z!fOI_ZFB;Z_w&+iL{`an!I2^UV1SDS9 z5=Tq4wl{8gZ6$c|vGNpH2m_WQz7;Hsj^6$apUUC&8{1v|4IdMnR6Ckd*Khz31-wW* zFr#+k5S1Hm9P(J$jr0GqZ!#80Eru!fp<0Lln)ps(8@mD5vdr3m7J;LvBxeQU3CR0a z$Z;bW#^%*%4;!sl^BizN6CbjliY-cV7xI^9Hde8DR7&Y)(1v6S=ypWa$S;~9D!5St zRIbrt|9t69o3evUquMyilEFtuH>#b5VCq(`psFY{OR0O^$q~`TqrOVB(w#jr=~OBW zB5YKM#UA*GgEjUBtBR-=xhG*x$cZNVDt|$qiR9A6rY}(nOzHR*n{nkJE?|r4dfQ@Q z+|7lUX2u=iFH|+ZmpVGfiIa(l633`x2Q~>AQt+A+LaqdAQ`8|`NOn+*e__p(0STnl z8s$q}MH7`orWH(@&;e3H30*_Z8pBq57pmFzqRsu&Bn;OmZ-##WkCeB-9*iYZYF{#o zq$f{czM>}6>9rKd-_I$VQZ=nBgqg~?G3hY^x-Uh z*gqeyn#2lP27@0BbBo2nb}vxJ=ue#4H-8^SONPr_Ls&`jRC%$f2+;&uY}a{1LB^7* z?5DO~-iVnCJFkqqUcu)rF>BN!v_1@QB$$j_rHYN!VSY>O1Y zuKYOoyV$8Lsv8lbK*>!B;Vq?jAVPt^wk+>8Q< zLc5JE3;Sc)->=ztPAUa+4RR*m8;8tkc{tK6WD&?osof}U*)lR2VHWbqsZF*V5DWfE zc%4lCw`mT&P)Hg3-tzWM#kh~PT_j5;KtkU_QUc=Eqz--^)2~GQ6$TA!o-+M_0reBDZ?XDsX$Q;VVO;*@&3cv>O3ED|IY2iL4{KSMP{1Y`cfYgm^76ytZBDxixF4{bL zw94ASy%J@tT}U(~bFoCfTom93;nkPKWW-|-j~i?Ms9akukzCwbMl%_Q?I=2rPO+dO|m4-VLXEghpmZIpcsiI4GKx;e@g}u##0!jOSUkw`l4bvqD!BHN%{;w zIW61|zyZiy#fc2dn8-`-e7* zBa=v%tN^kl%vLCGI?s1=Xvj{ql1r-@%ATlH)Xu{Sl7Ju&SdzR^epy-}i7VXr5DD%} z?rN80nh6i7uNQL`)?lu4@s@<_4&!z`ogBjTxtJ0U=N4pDC~|$2w+C^>!c!Q^RlE~l zjbNW}X{4lSMqy(KWo$g9i+~t|nya+2lm*0!btHkpVY1m$Idx((gn}|;h?oYdOmx+w zkfbnhfXoGj%Ay5{+=IJ8_HHcO)xx+!i${dnVd*_Y*XY`?^jO`EpdqUZ)AvK8gL$gc z1llKnvqA}nS^>Y>4x42^yL>j^kP%~u5@9f<~S_&4@WL7 z)+=q{NPE7{$Wbb9FR+B7j;*>h6$0UvWPW;t9QFoo86A!?C%xzm+p#4aSv_Q@|Ix^v z*awsh-0DC2gssy+EFAg<3-?Bf(+@6pL2`i0DdEU7iX)RVc1DMz?HN0z9>~BgEe0HrR{J|Gj$=x|FGVv1VUT)fTrl^$3CW8_5vhJ`>q#NfnT zRw@PtJ z7p|Cmd%9oYwy~`7i6)TECn%KS=TTi@Mpx?!3;Uq1P}h~Z(t#CRg%h6EGZf(-d$sg* zoql4w@)uZzU)4^3&VdP|xi>h)D%m99$E-9&`QKOqFf1INOwHhMNOCt!^D>-2$zB+& z=OO&5ys1eXqGhzWD;%sD9>SmM-jN)SxNG}7myVIIh~xQmeOfFutC&_tS68V_Hkxls zR@RivwIwTRO6J&-F5#9iX;*6-i@FvLmLSN!r@UkDr8@iBBl<}8(*Og_CC{SPA$gnk zU&as@z-Ggt#%wC57+?>PnmGBrPn+dhGnMT~%lu@Iq$qlqZPqZb6xd?{pygSm*eirw zL7;^~oR5g~LE7>?z=24%MF}+#v)GT*JSZXubaJqaJ;0?%w$a&PM)_2^ldPf{%Iwm{j_hf+8`BU@_>9A3(z}3@ z#J|A*=I_ac?Lv7OT@VPAr$^!e?c!Ml0#y}(Sw1E+prMTw$b?{gv_fX!I&WB3>g3AP z*ygqfMYmlCDyV(2qeQksUM=)udYL+nBcLME0H$HgvcuZIHn!ZbQ$S>{jaT{!>!m z+vccV%qa|nK&T(HO$%5KEreIjyGg@_C*Z>&1p*&gN#U0xKqksEY(vr}6==Zp~% z7tBz^g4Ddgj4yZ&cA}BW@kSy~meE&6MHE<^Z$y<%am^eHCSlEP{{f+tEd%Iq=-ac5 z$WSdOOP!J`sNEma0QQ|2up8pj151i+zi|1ALJO8f3)jd9{F07-hk}o|TUi zy$Ub{`uaL!=6?|MGv~hU4H`E}^PB)fW(H&Aj6H#2LzvS!3U_`LQlstru4*8rS0)h?A@K(x-Wi6 z26D84;34Pfh;2eKBgxDRY9u7^SBr1%kM>AndZ)*^#`a-~05obCj#h4CvW6JO3--Ks~Jh=mfmPW@8OyN?^O$ ztpF5DS{C+>aknkCB3_(qFPV~}|aUelUdTgfvmi+1VkjcD6P1}I| z6$NA5iak7vlSJ5(5&sfXeoZYUA$EW}TT@r8Yv)k4CY`Jn+y9w(Jv3>BNVHcS8Jeoz z5-GzjHnDd!R?k&7(H?ymc5#Wl#leMQFQDrsA2&0;tt+U{Gj!d&?7L|(`qER0L)seSUhBfWO@{9Pn}xL5*-%-6WB>0 zNs==170gwv582 zxqz~}uwb*!st_iBg^Ox37WAb3Mv0bV0!z7ADU`D^I5|C+hq)T(uFDk8^1tIB2umvjFNSYKy5obk+;|9ZM zR<+_e9#}{Zn1~j>uu6$gq>hTt)cvFUu~{_PxT|p=LGcDM7LbP42E$D|8xnS-o~;PK zfeH|(#wtzX_ZEAW5jRNoqA^l`2ecVq!7@k|vL?p|9>?(Sf#UTAJ!P+px>fdpb^+Kk z&n1Re6jkazsVbnyRCr!7}*4Fp{s1MjZW zhJWg{5sKT%aCxy{!$ixV9B*vY;X*1bc;Xhq-PdV|W4DkBB%xbXA|0z+#rL76nDf4C zb*lgmq&Pm*iET{-8BSTtSuJ_60WG;)Do_rm(lSsvv7$Rxf=kbAVa0ZugL!R$tTrV& z1TMmn$p{q_44f!8)C&f zqm;59u0y&XRQEcOmbsSBo}Ci%R8iJjjlx*V%)#+M=4LR2k^*F`F215ER|HY4woc|E znTegiPd$!~>UJatKWkT~Y}fGPv4H^e1z$&%(Yl)xt+<2(rR@u)xsLuxaWo;Ce+$3L z1Er$JE{SC5q+AOjSe-@FrN_1)I=PdA|G)Iuto~%zob|rfrzDXp`aFd>DQ3{%5-2IA zqsLN~rHbAmirb!)O1VS%GkRu1KHwYcldA2M+$!pqTahchZQsE*Jt`HyV{hYk)S7-k zd;ch(Aghc@5#Ov^ZO{Z4cBrOrwp7n~1dR7J7IJZ%*5IzQ(7~J%2~fnKNBh|M#jj)#9l?&=bm~!V19%Y#HIOV_kyWw97igO*d7Erl(0>ed zT6C#}V3_2mCD#gN%0eVnT@`n0odYj-bZORjYGE78y}~Tny=OBh+giur zSJ{x(cvx^YBD9?&p2>G^rxyB-!F)$e9bd;QsV85Xa$@LL7!Pg7HAAs|;_Jho$& z$&U@=v1JHM=-lutNaDs_D9)(lj+I(em38Ocv&Vk4o_6miDqD^Y7HQrtonL26ObV znm?BK7Mw7#;|e#WgoZ2&2k0o4ivFkQKl3-aGwCKuEe-o z{rE6j)=}$`Je`+V?bstZV=+|KBRQw=_(rqfBhL32@^9}=QU&z<(Cgp!6#Seb!qW^> zarw-EMaypfmuA}!y#t(Q%{3o-d-i_TGIpuhz=~ZBXYJr4ZvsDW^N}|UU)sYz!t++n z&erS3Mv>#bjjOWx<;ULD)8*_OyDBp>Y{|*UL~C6I_QWo0Hml#hwhS4frfd)1nppL< zW@T&h{DBAtnB5!w7W3dI-ieKgUp1lM>4vnq?<4POv;I?WbM;Lhe?Q|@z2z4f_DKI?&G+A23#)~#`By0x0sb_e}Ma` zZ(d6K`^H1)XQpNRUZnbEouZGH|0ec8KO*B#Zb+V(H~giY=lnMFOvWcsuK6(IPjY@) z9_RTdJNTsE>ic^-D@;1@PhkM31wM%l%2x+|hh2UIx@6D-1g7}Ktbg4$@$z4KcRg5^j0G>QS@W8WM$Ylu4mkmGk>{rBXC&bN;23S-Z@fQs=MTAmklY?{AVUQoGS2 zeRYiooBj=cFU`@&2LHZo{>6-t^#1>jtk zIjV=>EBh&$3!!uKG2m(Lrl_)b>w5V4{)rDaTxVvo-fJkN;7L1oA-PB-&G9h&VBr~ z&O>HIlV3>FfAhqLL>N75j%)HaC$MB$li$N>h&^&*=(#N87tCADeosd7akGCu-=5vq z--=Hj>06p7$(T_@Q zGh4OLyEW#R7JmYlU$*#TxxCooAIW9c{{AmixVL{0m;879L*q+7bJ2JFJ-A={9e;_l zrhM8y{%MZcX@I|wvcC-Q59Bg=p#6wTKXcDOf48`(pZU}G{ImJw!0-EKIA#P2HvgtS z!V8tnRt3MMc|P}qs4rI0f-Gw#UoCUqp8jCx6|-zle`E7G-9{|uV6mj}8w%ANAbX$Lu`7zl5*<2YsLLie)bwLkB+mjc15`vZot@a_ouh5KZ#Jo<7IU9RzqC-a(SCWL4zaaTCZX( zz|dzgi95hOD#}%28Wz&{;OjK1D|&a&Vg8_gi>-U_$YLtqyJMldJ|Xnx?}zyt1LUoT z`;Rb9uO03WCh2;#aye|uyX8JJ{LLJSckc9uaXGdVFj`|i?DUT&-@uHS{?FXcedGPa zzm6Yo`U#_4W#0XXKcpJN2IxpE4HTnIpO%}ENBHB31!1gG{)IN{9l~0ygvhuStxPnl z<}|jadlON1)e-*gRQ=8o{wNx3KhpoLW6JA}^iOo)BMvy4y|lz!dNhwqOn#QXyLvNy zmcNGmKl&Jdn7RR)N)5?*n@g?Ujzh9i&hCo;@0w^x4r7(kx}|9PxGq-z>X@i_l( zO8;`4e>0bPv;AR;tQD|TH7EckCyAR!X0ts$G9S+Nf9(9;{NQ+h8|G{A@&1-voqN3UAM1KbR_xcn4vz(^yg#p>B3e(_q zQE6F_|HwoqgX-6q-=7RrtT9KO;tw-B@F%|CJH8Au>rS!tOgj~fHsK??mxAtlsr$aM z$UwV`19GEycYS1f%>e@v%QVNI(sRk3)p!_kG~8*f&~K-k=jQk`iNRYr*B@#+PxB{i zB>awot`6lE(oTKU-dU`V%??&Oo#7ZTvv#iEO!AQzPV;Z4zw=M`zw3P8ym7jJEt7r0 z85Z)&XRxZ@H)oycpFl#Z&(HMx@>}y+%-!jx^DO_oxXps;cecL^+4E05*Z;n`_iX<- z-Wqp~KWY*v9@>UlBD$WA$2vq}S7I{1q$ldT>1>FH-&!f%nM7>Pcpz2pq|{im;9Kbd z=Kga*tdE`JXM0$Mb}qUWtrML$>(24NM<2GH3r@D<-jtF2Yp#Dz+>8B*`}^~`{=b~( z%TJ%@_jjC2F1yIz$Q*fz4~IiQNR?@U8l!1|2_~9T2!XlJKVRN_o}a6HbI1jLo}B-p z+g4CSOsu}SpSkb?fNOdA{tNuc@dx9QcP+X>VywRVe0i6P{JKi5r`{PfwA*}7T{Yvo zSbcjxbM<@?)bg|Q+52rVsZ4?j)f0sTCY?R*VyI^FMmPR5d1F6w)g}ID0O+wx;78}1 zw=VJLZ*|`OnGq$ISSaU|=-Mwkc*yFQBFnJ-{gvri(XI>N3I6sda);x=Ayr< z$X8J&vT-Jy<)oq}6=B$sRy`Mes-i{}?L^#wRhmas$BcEPofz>Ws(f^RnC}|G*ww* z&6(y|Gs<6yBaa7K$_{sGvFmd^?@<`4%dP^Hl6{pA1Wa$7XMsr_RR^ZAEb-`SzIO}l z@|d-xw$Mj?>)X}0WX5gZSc3ncZ>6cluJ7Z{ZCvf#f7G{{&)vcRTn3W9^_8b>b64Mz zrMGQ|FgcupO@4;AUX(;PCC~l==P)2gdo(nWH;EpF{QPA+s^Lc2ie2#W-V5V z#wuZd5M4B9l~p!iGL^C+h+g_w2FwkKl;o3m=6lr1Rs4@KcPDW!81IP&jsYiPkdD0CK`c_u)9O#qDh z(WT6Pd?+9M5y%FRscrSI7S&n}nVX-B&Jn|q{K~x%>5jq}&L4WL4i4lSdx1-UdNF46 z^idn^MJet^_g(;=b~5&eKPf`A)b(Or{#@IM!xYwx2|$q>M-@lq=hx}n*26-nKrgRD zhK%>FD_o?*kh*W?Zv8Duzg9bK%$GWhDsRIb-cWx*L)|LVKuyQn%IUJ`Dhy zCu4_T0A!}=ACE*~w~$?anLU^r8A0m4u?MoAGaTuPXYwLGc8n3@+l;W(9Vn1+0E%ii zaN$Q-h~4>-9|8*>wm-n+nglvn89-q%38X-+aqpz_w`X(k7Z8OOO0lQ)a`#Yxk0*3% z0k@Rc)+44c*j<#8&%-iBJ{;|~PoU?zKV zZ8Bz=Q<5Ru!646Bx0|jeq(rjbQBYvOy8>xn2DEs}<4KFIpJyrm23HMi)Kxj%VH07@ zi_XaI(r6QFSQMQRUnlld865%}TmCBH7&=j!tuyB=N5|Er; zT}+7}mBngVIyMG6VKsJRvi}Qp>^Gc+Wm(qr z%g~dtHkUZm(dzJ-6~)%X0S*~6a*RKwIl~l#Z*jxP{~_T~!;Cp<3~YVITs6jT#{C_m zWSzFdjdu4EHexBN1!MN)b`=mzu#K9?|2bhdouipBRSwnN&`y#dsqI#$E|bKCRk2{F z=H6wG6>tVj>oZ<)BQxWk=^@lPUV5v&2{Awc$K^oeQd@#8CTp&%Ua$z3T zR>*-ebNRn0wF0N!*ee2w&WnR}aIFx{drj33_`xPcw38$yRIUnX=Fo5XLl0zEZeUj9 zF^|P#j7^-p4*mmcGI08sfUR&FKC;)1_eV;D{q%T0 z9A*2Nwf%$`%AHP*4BU_)s;jSfh1$LrHuVQ@xUU#NzNxRn>E(?v5;G0bTW>kYSf*v^$kYg{yi079aUmJr(z1`yNcWWf5WVozCsx#y+59cth0sACTFL9B&_y$ z>}l$9lm8^gn%g_8p{`+G1RA!7J2iR|V!v@^aMm38wJTFu7@#b2)F?ar=bQWe4;A9U zzt0A9qoz2h0DYBcI~}mFJyED1`Y+1~&XsD3PMxVMsIwx;7qU}`-o$c%2PbY;DI0wP zwJh}K|G^ObTTQPkvP~v`aea%Kv!&CLiJFN_`SB!wAAiM%E0GY*g020&!*Papzm>`; z5LEG&|Ht0F`8O;; zZ$22o1dZwX0O9*<7tHLlm0v6g*!|hocV|vs5l;}vNh!i<0K}EftVyYSocLJ*W9)9p7L+z=vO>Ql~Nh(AropW5Ha8KmF!nxE7$DP{h>mEUWt zOl%)!u$G=>soTl|P%64FzuvtW6CX1P8-%{*3DSq-TW;k%TN|F(7F6P|09{+hhCny! zNvpD%LB#XiWz5T4`_22uupQ7BVvj3=FEi~I07M_iU29x?<%dqP|GpVFjQ7f3OFtSuCdQ>D64SsL|5 zuVNmUs(RnE+6IkrYr0qd4AT+$8$~UE3nD0AGtRgY(qvUCAv}&Bs$SE4Zn@DWL7A4b zci79!i~P}X=D~>Lbj|_ezj!)A-}$%#I9vHmxccKVDuELgvNOueF1VJSuZ`)sr3Y1R zyK(zQS&bW$qtoToGt8X~zIBxv1Jkk00a+vx48tUTkdHl%r$iVFMe`(K7g)r|V{KpZ z8{v9~|$%P?vbwC1cniLivfM#l@Z=Rgql& zx~;G>3(u3m1G=h>eA;&Ypwj3m&bQmb(R;Ls z{~=*?44edVIx~8Ezpa!Rl}h0*>>RjREJ3o4} zavOBLkhPt%73V4yk4n|Wr7VG1#B|8{aYEv343M}O7GWk2kL5z9yz375-jv#y9h)gW z6ShrC5j-L^VHsyT$y72bHJ7B4xI1W5kLA(`AOV`HpWQSE{gi_4PUZr%pJ0C$5m5sD zg3@PI)-FCM;LmYxD7$d!QRev_{o#lA3R|@6*qI8fB=ENy1`a8TJ1u;R%m8roh#^!s zquQkn^&{@6Y=na=F!8FHIn^JW|8jF?$y7wHGt7NlO35JqyBaN3D)f-akC753F&J}( zT*a5Q5>YsrvkpgXZSk|k+=G+;Mkof5$cs6E7_=Ua>N6#ryOdHDKw~87 z`{tpY{hu7sD%#hzrMvps{~?EwnT#xBXXIimRn;lFf3Nifgh`y;(Am- za-He1tH03!%ew%3Ru_ENg*|L-w<=8r!<5MDX+R?F@s)wWe`#PDEADGxbSF&4 zX6EmTA7w0ag9psAUHw80@6&AlwyWQB&+hv>dXWJ~DV&`#@DovDhU{8jTf4PxB`^YFh^l1xgWC;tyoyR}wC5Z8vy)?L+V zsC$rTg^M*?Z_qLvb{`GBvYOlzX>zBs95ho-saZb{eF&X zzBnM;clZ!X0&A@CG2N^Dt(d}h;6U}aclTR&$)FKWEU7ybdxE+H%i{zJJdI;2t&0W4 z#KR^9%)E=&`&5BwVoygIl(}qrwz);qr=EKf;uC{*<;Rl!QC}q<4gAov`?$$dY8OGf zpBaqV`Kh(b$K&(bPy-O5ftG- z>CaQjTiU{9V_^rP#bdXA(#${5o^ww=wxt7m0-e_UjAG zT|C)fcqUu5hG9S3M9=Lj@Ug4)S@h}T2)r!Sd>~z)?O{ZojW2?u@udti(iB&FTl0gb zAJp^xY}adkarH|w3_!Q5u9SXAMiM%S*2%GktRZZrs)8<7LN5cP;)3DWToawa6jh(kk+#-|xxxEaFFFXI-FHku1=l)N)+`ZUuZzNO*gA=sLo;8?W><^>n zQH$Xqo+OJtp2YS&g$%4)>_6??VeY)b{~V3@iYxs`$*h0YRsJEUmCJ8mh4z$B#{2?z z`bFmEUtq&oWM2G*{~m>FuCqO)aF97{sow)%GHdC~7E??fJQ^@ffGF;x7cTWX-Se>l zed2Cx)?e>uIrm`1^}b1S%z*j*4gQ#{Jt4r29x+?r=G|e& zH~3>YEI?@^0NO1HsNynS)H}$Nn7#Ln{;X;ZG*rIPpF8kk5}nCGHa?GmZSn;Eza7y( z|A7DRzjNk?zhr#pn?3&S4zv9$sXu7K6prM5DHmG)0f>ML>MsP{lauv}lap2QkQMM6 zi^4cC*I|3q=2NqEI2=X)8)Ymj_Lqr?{^7G0my9m9#zobfW-a`#RA_p=Z9-ZyEyPD} zQEcwK2?xW6O`n^wC!Am2{$^l?bvou29LN`$U*6(x%jMl${Ei`7BCENz_7*%-L+e$` zcsPP-p-x@!^GnT^%lw6ndQyO;^#CjXd71x;!xXJr?(5Ww50>N0e7+fahkZKtSNORv zFF*7v+zaJT3n@xrLE(}qHsDVSXN0`ic)NdR-{)?&6F=t`JMqwK(ly}{`{M0@@N)C{ z?fwY&>37YDUlS5it$xL?0qpA2_wVq3@O_QLm4Ix|I)crsxYak=@l@7#&QnP<*YtK9 zO4(CcQalI(lp*QNseCj)dy_XMRbOZlnTlZP=_WavAFgE8Z?sN5q&DagHs)U_e^JJ9 zmu`-{lgQ`KNJoFC|J?8wEVI#|=xA2wghFo+AufRF_$(nr-riH(_#m9}(RcYx={}Fh zLPp|?xTp5UEV|b}R*m+!&;Ov(xJUj0vgZ%JAAInF+3|k=iXk?LAO+S$n&yv%XuC!U zRh{VAo_yvivynY$8ma#aQ~P6 zNMSU8WNv!We}x#9r3;?&ovq_o8!}O+6>CE#>U0uoLxwUXiy+l#5?0d(f7=sm8JR_s zGIQYbe!rSfn|Gh~7j}i(od1l!A1KjS|*fc`+hHsFJ5yR`a`{^ts-S^ccPpUh`N zp7VENU5|XupQShvsFw}UFzcW52Y$CJ^vIfnP`29S+-V!3WK%BxpN!?S=l#RdEU@YI zNUqHUfAX7%tJ!^ZP2SK^zy51 z{}hV`Xb?vHR^{Ec7a$imn=N0!rS=}P?+gB*aW`iRmdSNtuRznpG2fb@glz>fZD8}t z02WvCcU9xih%cMgM&#d+!xV zbszoNZ|i?^R&Yb+mr1D%C=TTpngI63J!bk}{I-_(=eS&`=)TIw`jsJ_{1<;hw$iq_ z`!D{WKDL9P=s2*E;pMM1Z}YbM;6hXP60cXMaHp5L#sd?RLj4gtV^l`|rFpFsSLgMr zm;81*aS!#3xu-I6o4j0_d`6A|nAONvx}<4{CwqbM*ZM;TSEkl}+fg%X9TU=H?Gof~ zHhZk~2Mn%^vGV2)q!zRD%bS%}$_v)|OPzt|dXTxw0xDmFbZ*g8nmN1#%|3ticNt#k zQ8G!a&Xrnz%=ou2e2}1yI#5)6XCC=0^!ag0EeyD?Kw?&#@vrzpyXO5zuMp^Svzhw} z@luP-Z(i|t>?H&ZA8GLtrxNBDm0Q>OI-{x2e#i&ddbWgd8WRezKa=7MIwY!vvzczdO_?}< zAx>qmQF)X}?c5=7lcgMGUWNi?Jb?{BYe^7}vYgl?!{QmBFaQ+wWY8O^x?)cWp$C#K zXatI#LSD|V6P^PTYKJXb?=18EPmK@;x~iJClDoSfJ-79!((KyVPqPG<7i z+2&HntrblH{)59{R7#E>zBnWzZRipMMP`U)W0Lq=_FB4mJdG@2m7LWe(ZT|(Jl^>N zaRjbCE3|5r1<+75GGYH=HnSWL>|F#T5A+ z9--)b_D4Nvh*@^?E7>>979Z1Tl7`Cp9L0q?Q5ScjF3!zl7YoMO&QoWkny81fBb=|R zNBFCIRmHe2n+KDbXWFSwlW7xsOPL&+*WQ7Nt;?@RyDLqFf+e}xmF~6Ztf?{Y5){G zDd%eBK{Suli}YuVb8(tAZ=X22bDBN4V@TjT&djT znctu~NT;V^^oTUsGGwjobYkz8I)C8%io#y+OXb(M=EA6l-YHA-^z;zFbf_VRizHS~P|ZSTnRMg+4U71Te^&GtcPJ=aMBGXUuz( zvq5h@psmASTutX4>KkL*y6JcRo^A>kZaF8>(5B!aKbQJ=cb!O5B z{-!%Bolmll*$S0AZ4;Qm$}b=r8rp)jlA$DnKrI(N-Q~y(YT45}KJYKto&26w2@tEZ z=nHCD_M)<7C7px&ws%K`IUPKsC2oiUPJfB~0!GO0buRdqf5Ap^of=f73R|c4b)~>W z|Mn;LsEps@m^yRLzx~mrnh}#cJbAwnST5S&#GW+XLh3G^7tCf!GEY`Y)oo^>IzPl6 zB=ZwzNmgD|k}9iKuw0y7Sm~5WAD@(wI$6$MWRq30odi&9|7s?elwy_1RkAC0rd;)E zbiX~>32ZfGVXkIH&I-kHSU}P;@K#rOP);s9mP47mN^@OYj;s#E#*mTu6f&b^(4na;b9B8A+!W1RVH0tq0YU#z!a7eqD#sp1A_6ne7_J%#g;sX7Av zX({WqtqDrS>-6rFX*ms7C1XvX9}U>dm7c`>o@vAKDy`wjXQ> z>a^ZOs#6WAJY6j}t)KXt0R@vgk-xBjvKg6j45e|2S8#Dkv>Pa=6fW`&PsQ6z)=BE5 zZcRP?Egb_O+26>$%dT$~QL)h5qidtu9BRc7@To#=Htf~I!Uh_7KWdnU8Mxl8{lwp; zLs~>lwjZZap*mYV;4v&cS5(ZV{0>{qUZ46Cw{7KZGF%3%Qrxr_ggLJ48es^F#h7zo zrZrwNO$qQ|=P73%`xLWgym`p2{gurVQr5M3;=NO#tZVO(j*&1lg!9Tiv3?DcmB~<= zLqT7W?Ih@v?bVWroQ2)qdKgB>%*@aHe1`=^v<2oZ|s@GIX7WM!AD)L(7MPNt2T%$Y4e_gnIHaSgd}m|caOIp}l0 z!&97H&Mf%cAGk4!QUC&<1&z&($5to6B}pAlioFH6a4F`GpZkRgm6x*?SOq`A-vFyM zXvXzae{!oonbBYP{YsUO@qHi@Jl{h4+?Ye+xLw(t3e2~5wKYMd!?1#U7%9u$T6s)x z5yZKoO_fuMxW(%C;4vkqi7_a6jLdMQ_(>mg7ly)5(itoJTM#M##9`=@i?}Y zO`|1Gpsv)ZqNtBnqeGE8LwekX=s8}nG567Yz1k72P=P&ww6E;0S#p%3)>f)g^zErj zw+-;EVB#?XiNaMjD9Q~sxgcmTJ#@(nGFn2^5ok3sWLfZRHqf(8)n)h5uC#ql(OCL4i}HNBi* zqf*j;jYi^9*A#rJCTzuD9;^Bzy0XL`ye`ZHbb*gFIW|K9?2ZmJYGN8%_1DIX#Dxjj zx4B$!kc#$9(3NHb+nV@j%ZOW8rsv5LTi!&&s6MmbG>pn~V$7ZgLu@=ZC^$`KV>j5^ zNt;95V9HRowBl5l&CSS>&XqAdmt0qKmDH4f(LCk`{Rn{<>obHn=XZFt=lGH&*AnCb zP&go`KEjlXYHd(D=qTNO#i~?QFn~NRt9?cbxwQ5f*N>}epAnx-?ej%l4_36x-z%S- zmKj_Ldx5q$2agSwGs(2nRK*2k(oC4p*cMhtU@cbofmXW zo7;7Sq$I-VjM`@g@JY2#cA2Ap)IKwSztuj!a)r5@N~QUF)eCmWlKp#kwp_Cr=LciA zO{=G{pBf-}3mpd+#xG<)h9tSb;fKJgi)qIF!W11;i$ z!Qd!^r+ff;>Ju0R;-a1IVZM0h@TXw4?dFuAY zWU|v#=By4*`KxtcYp!{vB-`^>UqVW$c}YUcSKq;mUHeYuv0Hag{}f67s$Aj#g|tET zQSV?S;Zm}&t>Z^Y*1)b|$A~Y>TfU5KaxA(v(IPgv{@>Kz%SQ(3EQ0OT`AD7unqo{!#9bb1(FwBAY|x9^ zDK>H_%`_IdewN~V?2#DYv9MRC-HcPv%k#EkL$p`P$A7G@$oeodvLrjR4%J|`J|-EP zBt>2qp0iUnbB4KfK(=4$Qk&2cxjQLCIzCwzOEvCN^xKM!8d~L>f{qdtDwRwE zU&ar9TSXjkHRML-L-H>&s&Iumq^4sOs@&kLD$gpR z%Kg{24+zo>m2=V~b?A!7TiPcO02Z-r4n;Uui!^Lx_?;yW3S+@3@Xe8eaQ{oU5F^(-#6GKGi?56O4%)*7vVhm z)x|5hRU#f_h<%F=)5FaVU?~=v&)S1lGpW?02lWjd5XjkK+JLU2={shc%>@I3K9t|r z7W~9H&x~vjF6bXO(2_K8t!+RYI<6S}l#aYx3_3QoD&r2K#ZvKv97f{}Hk~$;Rns%( zuBKv#4KhD9>B^%fJ6?-jyX=$@C#X3zhtINHCkr zdqaX|F8b*ge9`MrlQ}Gn7NY-Q^V3L>4bA~k;3>5)}J=qGsDc;#b64^ zyz+xpg;HSOG`nvc9MjwOX)QWaw^CkyYUALrwDXzSazrq~T`-LaQ!Asg$_l^(&3oGqM@bRD}&2T#a~gH<>w6>=FPQ+N=&tHp*d6hhJ^F1Iec{R)1IO{>JgzkIE|ie-X9%|%3w3dn&OyXpFzTb zZfAY5zDGKfazvD%deLafe>g^DjTsY!{gpZrhC`N3Qij1tgVQjx@$(a7g3Z5^g^7<9 zp=jsGgbX&6qRxtN1i-VxbO%8p^kTeeby9q-YM|}09S6Q1L@6$SZ)HQ=e=Noie2~Tl z%1idUvBA(m|6-OC5mYjA^j_`r8;ebkZv~H!x9eEneI0q1bwquhtRumzJ6I)VQfPW@ z@->UN)h5A-qySs7N$>-D$|Rg@m6W=h;~GCFI%s)0hfAAT((pG4|}((o$B#HOTT21 z_e~ZVc}9zzH5ZHzHj3rrbcCLd2>$4-E6mFAL3`Vm>xAg5c3bDa#|OiltSM|73}O|d zO@lENUz0?(m&i#<5nJ_Tn+Bn|anqo6OJP8&7+FM_gsQj#bl5i)^kCr&;R<_Z1;AYG zC!VP1vdw}iO{zdK^>JW2%4ZF5pUr}4?vg9b(#?Vq&Lifj%>o&`8z%(cp^HDBz*Ej# zF(H`ttsH`aL=jyS64xNt=LRbc(ny^MgG9Z$nD=23&47u)@tZ=&5X%+i#wAN0zw|Ul z_u`FgdMLt-C=DjGcm;VGS56RM4zm2U zOtWVF7QxUxUZ<60U?2<5qSM@woMbm8^ATqQzCd1$^d8%~o{Zg zFc6TeoTr74KL+Dpe$%qo^7rubIz1tb92?!Q0uH&v2`$e4CG`YP2&_e*v7VJ z^B>u?3UQuy`7+z16;vT!FRRQCw+Rj}kyDfpT8h%JbJLFCqnx6EXEsjo?+8k1zNUNE z+k)6SVEZR-K(O1bgA>yDk&)?D;sL}jv>qK5@?E)_?I#DrOG|XJN=LMsORSG(3*u;k ztQtFLT7`1;U<)voP!L#3&bmr3sFjF6(M5wsO0gaw);$6Gufw)5Zt6lH9WS-?qUX6$ zsTSONwqxul+*=5>uCz#;UtCtT+a$afCI?xsy^&!S^+z%I-O`@QK{K^(8 zmB4gxT0LhEg3TYC#qwg-v!vG=yV`q9fxPyN=m3 z%eD=6E3rqW#si|9_sikCxmEz;q1TM7#@iJ=43jmRrJgKAOe>}z^2tB+^ zDdV_lQ7+a1{_v~QEn<$_CeSXLDRc%Di)&Eb7TdD(dpVUVYzivCS`6k800%ZHj}{`oW|_ST{bEOho~M`(GGS-4AZhQFGj;aoXj*I?L|Siwlh$VWuX zT3#cwJzPe52fI7!sJ)(SWU*KUY7z4G;{%b<#hTN14T__4(F$81?39>}(2bDMVvl1h zs@Vu=G1N#ZuvSm*8tmZnp!pcMTW~0finDiPJ_sM#E!d0M8M`}T?ILsh?!ja3**BUU zrv-&!pWLttO!@>mSxZ*K3F*}i3cMtULT2GW=)CBg1=HZ%&kOn|;Ed0O;JYn^A_) zTr_JU^JKVD7=hX2$3fG0drZq=bTlphwIpyr!35JOnV1~YlD1lm>H#zc=lg-?u49AY zX6=uIDYp8kF3)Kr;w1+y4-NLTCzSv=1kNTq-Q%Q^ z!ww66KY*I~25DEv`2kg&)sT|=1xrl-rX3zk&1z=Ub#v9>LBGn=>*l`0gZ)E0H4~YJ zwW%4=br-A@2*Rj$O~V1V6Ogsf3}$}5`T2}sZciGN4oE5hXw7=FNoVjw?`(XwA216$ z5zN<{`#OWZ&O7EAe&{Jz5X0a$d?x+{i_B9qgLCD~z5h>w7j)g?h~PYm zA3h>Dgv+QS?PcMS!SOsb9EGZSk=gvH;4yU6*`uKbi^%04?2D>!#nHh;p58y2jlZbe zdsc9qoiWSb*cpScJIvVS#{|D)9OnR_ zZ+=Gbz3hrxZ3An}&(E(zN+(HP3*8Eel8#_?X$++YruOXmi=)LFNsILha( zxtK?uH{rR#+f8p-#1ew=W4z)DuN2M;`b@Ah3-c;PS$D(&y>jiA`t%~U6d3^#IJ)-K zl5#N6oO@nyuzSy~<@cz`ZCyb|)ey3sKPChO=&W4x(@?oZX21o(<&Eq*djuQ|4xNAS zg5Wac=_i$pokC?6jnq##f!EEf3o)i8PnVgyFATQn^-Iw!I)Ohd^eB4zR#Sgb@Pu=& zdGR7`8S~ji!O_k}G>@^Sm)VjqLoHW!df3Dei zf!%VQ3xa8m^G9>{#lgX3q$pexZ0tO3=3E^N-tlQ`>&T*=ga9{?dIA@z?j{~$^rJ6X zg1%Z}{&saR{Y$nX^S%EH{?Pjj>!X{Nt71elfzJFN%UfO(%t$k=qe#g1Wt-8Ji-H@S zzKgCy?6-QL9%2b`Lj=a|GW%a1Y|r^V*IrKl>(^)xbIQG+f7JZ(=fQ4%{E->9nEm%F zv+rWmRqM@pR|KQY^2I?b_Xo`85TtdB(d+)o9B@VD=e_ymr7M`=_2%1G2KQI0>3dah zdb`@_VP)x_^1)D^Ao!WMbLCSO1Q~bS^>ZJxhO{@h#)hq=+>1m@-7oC3;GShR07w6g@1=eAW_V|evR}k zU(PefFAH{et}j2l48-GHZ-y-oraO0)&s!c`;0$F4xtwDFG$!1xRRycQ!P;x$jq+gA zt!@i88)?~LXr`1Usp#)iAEOZQMZ)a1<#eq4Hdoyi^pm}A#clW{Ei&obgOeIRT>y); zDZC3z(#7Wd+cB>$H_LD5h4tps+k@%u`yZP9e;xct-~Hy-!I1B+)dzi|^<3;4)2vlF zse59YaJ*CIN`@&#nWhIo0r3!U{BJlB3(0h-!f959X;$496wCp40G*4>iFX8RHjde( z!$1ere-M|KZxQ8~Zjl&zvxGY`-?}&GGsq&i$-IQlGr?q&JG&#YYby-JWoFkEsKDo& z6IKL&B?ffAJA-ivv%;ZsFi1@NqVkn@28$gu=^8=0%FS@@ns2VUGuX%+eRptfSB>sH z!3UFWhxEh)bhRQg>CXS@AS{P-%Ds@R`DWFoE((G6f(y#ll&D13!+Gz@U7(;Aya>028g%jQl@*v*!cBz4Ya@2ZJ^<;=w>B>`4z= zd5NNqiB_7_tJre&Y0PPJhYLz2%E+?6HauDa!ar>f%*zi3yT$HwH?WVNf5?*V0S{Z! zJ?G)T6X`ztciR8uZ~Y#c+eN7#cqDi^p}m%oG0Pr>YA!dgJ{lZsiK!)MFPOd81W$K; zHTJP!UGkL$05jQ{f&TkM|KyTiV76b&yuVbQxi)BW zoh!)>$xx?oc46M=M2pE}Zcpatu2=KyL}=V3lw7qkqEnYQXHC`gl6 zl<~pt_^iSN@-LgMUd4j2$n5iKpoA7rz8Y*&C-{{MTmCuI7W;dq;cvmEy!c;#3ohoe>H6R$=X>Smx4~Wzs%$Bz}^1K zy#G$nXWZH=fl)kKmRtow(rL@lgV#_3A%6N=N-QD%Qi+-HE?i6Z56v&$4Sv`Ari5!* zhuj4!@64Z8p7UPNU&Q(Hf55e@qY;Snyd}2g^6G!!6EP5^gV7B{dJQ%prF%x&XNP0s z^6K;VnNR*1yyje6{_6(-1Bj~Uzk{6|p1=2D@V3)@pZ!E9XY&bxFtEaWvfszS&`bZG zeP{D)i8!1hVjG-2#d=dTgU&(~B~BF0_5tS&TrH-cHh?v1`TvOf4)Caowf{Y5H_6PI zluZap2!U)ufP^BUNiPTKO%xRs5Uf`L6%Z9`LJ>lfAZ3Dr1VlxOBof)6hyhViKq8z5n>^&b*(W z|8#d7JyC9AiVEBfHy5o|VS(us^UkDS`0t*Z{M)^PjVsd6&|M4_Cz$nj9lY2+AF zrI)j0JQ{Mycc;q!oMnVf?a|JaDEkYRfSf1w`;hLHsP6oV1$KL@=ryt~10 zZeSCS^JEq=X2lr@ZstRrY6fm4x+iTfqgadhtg!=%m0#gVFk^Si zy0Pqxp2YgdYJ`%_3Mn4rYZuu0ALwAo_{r^8>Pgi3xFzsSWBz1K2Ai~ zus}znWy^RLcZuGn%Ln73JOmv5wRm=ozHOG{#u!qQ5r3nwCL{jF-~{#%?pOI(ZT2*h zqieA4#vhcGDEkcpnc`0R7!O|(P8(9S*o@%!65oG|ObBZ`x86r49oj+*4nlELl!sZclFt1e4d+*j;fR}d%E+}DVDY!DoZT-AWJ!Q;ct z{4(qf>=!!&Pt+3+=EJ>NtQOb=Mj5YPTfa=fOVFx7jEI>T{GBd0tcQ|dDv1{klPf1}G}RxR@m$~4wZz}-Y;y@q#>K~;JK-$hpaE;+NZZXE>! zg_Ek5xe;Yxltg38b_QjkR&sTL+U2)dEI}5b435a=OqPfN+Zb@1{vtD^Gctd5WUas; zJzQVNrNCW~dZr3!GU zY2MS3NxctQ3SVVx}Z)Y$dYH?;EDCYQ2yVo z3gL9lc9KIHvLQGe8yd0`?#rnU%3>FUtpSq}T5d;tH3U)?tl#x8=EY-xCV;T>y}yLZ zkD9O@h=sf?o81lsnKfmtiD%rUDQcc5mo#OMg7cKpj9rgayuTSvR)KuB8LLHnGLY=y z-t{Ko^-!j^SNjRKlzW=7M_S}<0^!{r7fT-4N9W!^Vk>gAWP{`oD&* zkDSntvo3Il zRd_i|N~)}r#5y5`%5|Y?tU=8ENjJjv@L?eF->$BBoKoV z4K94Q_h}XG5t2@LM6n^rqPv0E4Q`SlB87oVyEUpoc>313r1IpKtyz5p;f`s;`V*ge zSR2+XTCrp`GlM=@(uTD+isZpIthRUFCSbffCzcVu052t9N~8AC*l|JZ8WO{Yp&iXv8Z}Os;1a+dUDk8KWWRF z#0FZTMsTm9g~WEOp7D+B*p8hHDWs9RK_AzGA`>A}~ zX3Y^>`W2fs2`wI_i@Uq9%bemgVV}zOU07`#k-=Tq&w%%Xu3#&Sk_BDaA|w`fWpB`{ zZfp{0+r!;}_)U_Y?remyPu|-dXQ@IKbY~p`?!FFmXHSz)vIl#xm+4u*CtCwi)ki(q z03+r+{ADY@X9FO*z{{e!W`e(WZ+5F;eMORD7;Axr?eD`T(x>hEvYI%lgZi?z#&Q2s zeOWj;5L?)fbvB;$@9)RvnC5Il?m85a?4LS-g_#YiM)8ITIFNbTpLYYls~U{hzy4~V z&!~0hKsE-RfbwPR16G3nx@*}e(>N~Q8pJk4Qjd0djf5O~(RrD7J*!JN(<%a9QmN_LS+!I|ra*>M72&ez{#`E&$>)D-+5VjSJK~kV5#|*GDi>IKikUIEG z;+rOM$qvYKrWJ`C4}qX7sIWUruVJt_td-AJa^ z2?Iw+jRDB{#ChZBGWGoI>B#aeAqncWNXr`|h+D1!8TAGif`6J1%PuW*u7{ zQ_;+nG&`IkIDyHPr0kXO8HKG1N8~2j<5)r>IKyq1_j`(}ls}jy$53z+l3fG$E%Tnlz!u>jxvB>tOWN%aHfuMh;pjXWIEH&q z$*n`6OuS+S3ce&y4FQ64O0uCW1&_Kz*>#!DQXHq4u~?fwo}lN3vc?IQo*;Q*DC;Vm z6{MQTBdzRx6X4@6IqoLbI63$oBo9?4HcFl;Wr=e4O{|%<5t|K4aM;?)rLN2v#-6O_ zOfVd}Dp9o4U6q7*%W3nN+&7HX!O6NXj9mtXtB<95w4ST8{>Nm;;jCpc!9lAVOoz0Z zk=AeX!q*mJXb)#e>GZy;x6^9qZ_wK*_JVwOIBU!DR{(lL1TOi_tZUAEN>P|#(t2?D z1bKV|Kqe|og#~#g@SZsGY2Y$|P6!E{+aDxb~pQia;MzO27_=odM^-O`tkqPp;Ta7sE+On@8bBw&7#cS0OrPc+i zBhdO1dHMYS0ej`J`jSr4z>gofIL71 zT`<3t|9Svp-zk^iyJlnz89yT3i{_$~GaoWiCUfa@n5OnoKF7#x5z-4lb}}C1a@T=~ z>QX$&5^~UJ9AI1|*?^}*m#Sw?;&M1`3fMIIKp&vX$b!!)vK%G1BZf~!AaSY#h^OW% zzY7?|LZ1`MOjiK)k<`cN!sJ@@$ndd|X|nJ^*1Cz)ocatAQiQV0ci*RK#XmLvNP7h) z0M_pI3K>40rN*fysc=r9plmfBTOKnGP&;4U+=&gS;Yc_@NMl45Dl5v+iJ=kD#Gr@r z+3~DNCgy|e+J!cw@1Jgk&WB?RK>d_CpG72Ot3FUtbuln(NA-zDJ(8p-`Mwj=g&CXUCO@_1u%aMaE)YhU*o1gAN+ZuCU~YB71C9#p z5QYKd{UHp49B7`KPz0>PF)%g9zy!y@;WKnLJLAIbL?#F1e-3D7z}pkQm~;eB>J(68!q;{gd3P8iAN@H()Pa04oiMADda2N7V+8eq z`gTPBl-Ioz*0v#Kk`6@{wEf6gS!36WhVqD~v=~BqWtYpi3laC_z&t=jK7;lWl-`xe z1oX0@`-htI@I)kBr=2pS2sGv53Fm}PZYffvBXJHo5>U%`a*L2_A@?kD0}jYcdj)dA zIkQh9*Kq{a9mzsugULh#NskFuQGi@R7BSNF*g!4~tlVhj&Zh}B$;(ALoFsW$%BJ&K zhP>w&SfG~6iN8d&_Nfx;od(qyi?5oVFbvO!m`~fn`dvY7>y`s8*l1U`8p!#5o75t} zKT)S!4O#rKyN1=Y#-5}i->&c^%2m_Y`0D5&ycf51btdjOp*-l;LfLvcdj`e#PG^Tl zR;n^z*a2L?XD`|bTtG>8F5&4YMDsc5v*q_5mzs-zcjDDaLH zp`7o1!kHKB}R9VaV< zQS81L>;v7_s;^)azxfpVkB9lm6EL}u-Xs~hkp2vhl$R;9(uFkft?YGyf;9@5?|Qfl zCL|F%T5+r3FW5z7D)D1*`+-pdER0xU8$B2(j%8znlYt$f0s<;ZH(49Q$VJtI3BWhB z|BB?C0+!4+Qd{I?x@|XJGewmFwyI*?nAD)hUL7d0c6$_DKl{TMvX_jMjhG+R5(T1C zY{W_@(f;jEvmPN1r;``4noU*JYN_Cg2I_3!{=nOGWi2qhq_bODi@akIYsP}D7cOF{ z>8cW}Xc_vXxn~$=l|jnS7XeJH@t<1+rU^)cZ=Yv#ycBT~ClK;f?;z}>1evykCHQYD z1QQzJ=Wryk{Ltou`6O|%h$%IFDchP#WhpqM`qWULQtU@0A=~s0^54CTg&9s8(z6`Q zohRg$<-nK+`M+KseC0>(OD|Ba-2DPO94LRq3b4JNkRw*G%rI(*t4_%^D_E&6@`(KW zCDs{5(pNe~V2w-tzI`RjAvkk<6+qwBSOc;~~8d|Hk`NHVrG7wq$^7LvPZ#@Yu zFl|5QW3glHnRD=f5;&CeJ_vUS`wXSM!E8(|Wn)G5pX|7nWhUiAj;To=wV)b`WwRpI_IC}SkZxdd5vvclLVoGs$w_@zTEw#d@Ph@#!Saz# z`4+`2J$wZX=ZqXu%xVNixJ{4HKdG4AX~ZgyDhEm8f#x~N`sIaJ*c6aZlh%P)M1+oY zioy2YI?yTw(kNl1d68TK$$5e7T*7L?GX$+l{%keVh4eV$vX?PE)8NrWlEYSvOKn4J zYP}8fOW51hmBuW{5M}?jNf_}tcIi)Y#H&Fz8lhjEz($)1nER4^=2hlP2jD|x;B#ws z6LilAmn!{u}W?p=1nl;WR0ZxN6Xg&IXQZf*{mfwK&)gE|lZf zv&J_}1FOo8(p)vgQI8A+_W{!22BQt2D$;&&8cL}UeI^)f#2u~#>;M8)xoQ@mIXd*~ zdc`D4@w3aCp#P}H2?#{|E~i;Ac@&4-Bz_tVDH|Zl`>K4%&u(N+kfG!9fFA&Mm;Biu z$~mffxpXXr`vRwzRH?jj16W6omnzoLiqg;ziJz?R47!!RE@d~E=xz56tSHdpF`4=r zt4{b*VBjjJ0ajhp`DAit5|1($o&y1F@SjK;g(#tM%`$R^cuYS2n!_>*?*=k9lx0LH zRDs<28mrNaY9ft4a!weiswxW!R&uezZ1@H@$#4o0Nz_5IB-s`LgxK_7~ zVBYSO{*CM%JRW}oVxFDy=Qr45JQi*usgnG06Wc@R*!DNseNhDmvA!+say+1V*{2K} z9a>{$tRM7x-z;M{n;G!RPM(qA&)Vb0<*E#W(v4p5z5(gAngGv8+4U{9jgYJ8tt=zz z!U5D-&Ca7b=g3Z5SyEk+d?@GurmfcAgKC037lf3f{^z#ypOuepW!-ZMk!ef(!$iYR znaBGj*es+vWsFc;-WT4=P0nR1%T*RJ|GJ3#FN&n1CGDFY+|Nt2B!|BZZ01sphyO** zs5s)Ui?F{g!bc?k@l42=cmAM%;;(Ct{Ocl7e_bT{Py4qC{fnwHfAaG`>T>K~Hx~ET zMXLREk@!FDa{jx2Fr^89U321J7fJf-A~pWBf1S4dLH}z0bJv7Gp0)P@T;D85?PEm=vk)BLU#BGf^> z1vd<(2Oq%v7s#mxz`!n$YY(uL8vD=)>9D9KlhVkn7!*weR8x-~VCTZ|F&dRe53=qF zzpouvX^HH3NL4!GkgD{lLo7Z12*v@OIj}{sv>9Zb?mZ&69fG8Fr~Kv+t2vDJ3Yyg} z%SaDEZ64dz8>2(`1oS>q*hfCc6?BHgsCoE>B`cx~MU6WdWfy0Z>kRp?&sb};Rrnb+ zf+|!xMWU19ZXn z$JkHUNvDr9i3X;eV0XAK>g1vMl zsiNuYxt6}3(NLB);n@36jB*@1G zu?tY7GUaH~|8`m--NPq~>ayb*sO%NUfoH(VDV9^tuqtk*RB*QtH&gIhvPf<}!?s(> z%@l+gI6{SIS-cIa7aTg+9+P7!Hzop%QSvs0Oc2P(Bq6DfIIE;MQt27^mik)b|+{yWwSBR=yT3%F!5iSpsvc8$7CsFHm7JLdCW|2?3g0H>dv#zu{VkHaHl zSgL&a2iBxMb`%hEFKJ@L_yQ)c@YnPJJ-+9D7*>z6%csmdFDI_01;cio)j%z!J*& z_sT&(u{t@k-RKVU&PLD$O~a7iVI_2c2NUNfykygeC_00Z{{UcFY2j`Fa_nDV!w7;0c)<*`lwk)xuFn%BS}<_^#sFcBq*hAjvxbAyj*{t z`G%tVX^sAyc1)$eO=wxE zAvOP*wdfi$B*?qSmK`G^GGe5{*~#xG+$)3ja7IQdTF%I#uo0tFO{;!psRLqr@!Ky1?uNY+1Mu zBZtjlHPge$Gbx7`P&w`byPO1hG5TFhO^}YR{z3nsTI>gLB*a{pVaH7=1XEx(*{S!V zFq%+C`bayXB=n5tcO;mMw9}v>2u2FL$VQU~HkuSF4>Dp5JQx7J`544NK6kHlSFlxx zG<@zWb=CBnsu?u``w!puKu6RB^dOhpF~SQ9>ds%-GvpWo$Bae|z__C<=$%SItgWHx zjg<*7OL3h}lAV5KtNZF2sBgXz_V=4YYJhmZA~cN_j)kTHdJl%C_imD{egpA6$$#x{ zthy0WGioYD^A5G8`dU=k9o5$rq3OcPgwxmg>-mp>32O}A5ZX?k8vMFi3IrH-riKLu zG%OV?ApI%8g1#od=OX&@U6T`i`HjhY1In~^^Wo-%#qw!4SEhZxy7|S#V-pWA1ol_% z;j4*3_gFY5E?mn9PF%Q~BKUr!+Ax*Mp3XbVEAQY@{0~yflUetD)?th5_k@Vo|?#ORa4w6@|R0q zg$mW@^2$VhB7Eyp3ejkn#E0WXS(L=)gsFrb%}yPtomc z32ox+@0)UZ_t~^`dAKgGjbgvn<%39Jc2GUO0}7xS_4(srh_)LUCI@Ho#)#nhQGGrE zF9v1urbtcGkJmH#U{%Zr6zi46d#fBXkn>I!A6>P~T@84DqfnMM;KX(bZ^+%m7PcDk zhwzx(2nVi07B%AEBlUb^mHMzTKM=1D8?F$2>hup;b{W4iE%zw4qsKeT0+TJ8*oQ7S zy=?2!5fL#%ugL5sJSp`TV#2|jJ>J9kArLVU@7L1{Aur43Nk);(ZNig{FXb~$ctbNk zR>oxW8sT4>D8Xf66JF2E)p;nAmCb9(Db0AS?9`N7$hak&X9M$W(p1&(GG0gTA%TWl zuiDvas8^lx9~Zp)0P>P7Qz<-$sot2m@iMz9uYsz2H|1BDClAZnO#xG8 z$XA>4SIx;s<)~&nxskHO%~oOv`scAfJyb^gB+xRd<4SyS87>nSY^7gm#z`4xe>2{~ z%-7Xl6X=jvtH`1oh&E2BJ4vCiR{}Hus4{@z@An)9?)^9ad+@*ojt;a*B<>oG*V^g;UW%S~6#gUR(Jh$+~S`BYk7)q+n* zrQ%uce8g?Q?a6w1z=p%E9jr`#+kz*;Jc+mD3*zQeLuZ|rq6?W^6}RN^#(e)fEwQ5@ zdWFpa(Q->p=~6QgxTDTJyo4LU`nrqg(Tu!od9q`O_z$XH9pBxiNnwmTfE993<*Ys%s6`7CoXNb2_dJgg#4b%1t$ffOBi2gigL z;TzDGfgO1-b5V(Wwj;j*kmg)RUc1r(#pf@DA&f{ToEH_mHUoipaX_($^$B6=E-bg( z@hGuJ&hCWWU*LbW6Hg$w-#f10HR|TWW4PVG-WYToUeyn{OU&eEgzR5orO4b03-JWI z@@kbr&E8!(1%|z&EB_0j=F+Z!^K0a$t~|-y=#ii$Z_JTqH=bQpHc7HS zrJu`y^h0{6+5f+nP$oL%AWd?U#5f=}^}p1Ozode+x}i)5U_0lnZ&fd?$|i^R#B8pSQ+o270Beu;-Zkr?F|R<8$EbV8O-;&+Y|yRfy7}S;U z5CjV+)6S@U!|+^HrQAGRp`Tw4=gZOcnK$#ZoJNB!R5_sMZ{fan8>a$bLoFKUBe1c~ z_IxOLj)(LLkRPZ15H`5d(*{3*NG7lt$l-;Xu9xBkxAMgB)f4gkFiJgmEQ*> zw&YfR2i@z3a(G91!|i+~HqMFL33v6!+`*qSuz}Y7i<8y<=m&W3tP0XKfkRZ&i(e*q zV2xcAUDv{I_$@#lDPTbzphDh$C;tIo4Ze%dYoNXYZE^8uq*SFpBV1H{R$~N!YOyRI z&wm|MO4I4H_t7Lei}JlkFN&T=;-Pu$txn$WX5aaKMQ}NES^45fo>lF8g`A=W3Y zpi8vS|HVk&gC?Wl-9V-){5Raq8yPw2AgIBrAeU|_co@K$L10qEV8brMPayO7h0bp= z&CdFdPEff4Jyy`ZSO-#%Lew`n@iPJr-wfsOE(&=Ek!LDhH3L*IX{8zVv5-7ci-S&@ zVOIo0V4@T7n-ATy;nbfjb1$i(k*7RMH`jS2C|Iz{oLa$Ff~VPF647lCW+Irx@zoxz zY162hhZ7#Fe&wU$=p>9%yXu4ajVYhIm#5XN)Qy9$J1^CRk7+yjqU7Owc@sB8i86jP zZ4}Lu3kzb52drEChgzPRIA_YNz?AJJWli{EO@n1Y8h3X_(NatV zP4&gINUE%rK7`dIQYabaXE=xS>cuQbAQ|3N4yK=U_C78U{yB(+%Y8F~cRx{)PVhHz4PreDgsd;{SWNBga?5o!=?RdF%k(35Ej< zfjhqoM)*6`xDdD#P>s9hVg8Ewid)XQ!Ag{=kMQY0jaNRxZ->_@@1tNZ03m*q-;YQA z$8asaC!c+c9|33v&!N5l^~ZUd1GCGK_j0acH2_?9mZPWhmGY-Mc)I*z0+&X<|B;D& zsXMy}!5!`9_OW1$$L}elzP$(>0u5TLVq>!JluG`=UR_A8oWhstE{yeWn#y}ZQYIs& ztE&QR4hWle%1twP2Rts!08#Sk%E=-UOja>t@rKKVuyum_{zQA2Q>G6Pf;e7Yell&U&uLiSuJ=nQjH5+V+ zHS)vRyc;qT^LaW6f`F(t0v`^KOsMvoMB#)(5Oj4u|FJqMH_!s=RTf)ryhLw?&H;9{ zMlPL$=%)qp!#TYEAUXifO+j1}8XI!J?DbYKvR#NIEt&mjC z1-7I~2%0nT@`I;1**ac67f4tYCXhSG1lll<9}KTJjxDj+|IBB}@7j7xLP1(Afd95=Pcv9vf=U-c|CGh5Uwg zC!gN}EQoGz>Rl+=3Ky6oZ1RqB96N(#g~~rL)Rz?JiGlMp@@c-W-YOz#eb5vF6HPaO zHKZS%M=IY)WEzq$O*&?jf)_$Qdu{p?qKozpCyJa^E{EvKMehl}G;LKeSm~9u0w1mHtwK4KjRMM} z_!01v56Lyp@%q#*)Bp*mJ%l9i@v!B5en9Z3bd4|$P#r6u=beC-pL(7@QC0Bx@Qb)n zpx3t>lwiI*{31VV?2zRv__JV>-1`#08;?UT@xFL8Sjh+W2*z2WyAF5eNZag(O$1ED zb}O%M`YOik5oL(oP2uPdJ@;0??FURaN7#p-lUrBvx#THu6(<)|Q&$1pRLFy?_>B>c zi$57(gpO^LyRL{zmpMgTByQa1@+mw3G!pJ`a2jYwpO#CDcv>I4M1OQ-mc4-l9U`|q zeoVUQJq>0d4lT?Hum{E}pLIS1$5`PNw(|w#xb}{X5-ugL@KS4p@!RG2g@1B*F|W}| z*X$$1c9g^msz80Ne$nAMrpxpL+;Z7jP-(VTzb1={d3J5*W8gGSAJm7s6*T*6F;DEI z%cPq)tza`fFfQFq5$Wu$$fv=e=a>Z8VvMmjz6Mk;9h%?z%u?3s4f2{-`1MeIUh@iX zDDaJ)L;b7RD8G1xXT@*87vz`O?2PIWHXBi3H%i|+u=uDbes@~O-%O$375InwB$0}m zB3G0PAC;(z8LT<%$qySG^Wu%4IwnOc1%`B;fDRBGWtrPbN`c%_S>%f&q^_%|vWt9Ls4Q4{swX+EsN}qbzPdzvid_dDT=hO^ivSxsMV>cy zD>YD+aOrA8d2>!ypvBNv^y%NgwtM+ae)T1%KT~7L7qKWq2CQ^ehzWWB8y7Jl_c#-$ z{B&q0Bs_LFOvvi8*(RP2OoW_xz_S7>7`+K7&i|hI=xh)$A0tF998kb^isr2&dlPTY z&L;-laS?b+o<(itWpp1rmD;PxT`Aty*WZ$8$yQ<}5f4TSvro^>x@zU^p3N4V;wgNH~$WdFhyr@v+`k&qk1YI+Fe|nqO z3^Q;mejDaL%$|3@ zAwS-M3$$2<@8s?L!`=fPO1?2sR=f2L7JKvq-mZqyqX2~o0uS&mRB5LC13pyt-p=zX z{Uh(+&X1v?s_n`Tc7Q3ZnwwBrboNfZ-(lx!hs@(X;8*;4YlX&V{xQ42Nh9wn=x*g5 z>P0N_0k+V2=$UHLIM zd`d9bK<0nUpVrbr4)=>MgXnJ)*bBHsSURAnrIX+nOEFkf3H1-@^bEu@ zRK&VnG$|@j1fS%-A-((fVfffPyN@pcew_a)AD9Hb7&aulDbb_Sh3#qi^QXKQ%68ii z;pk5J^?rUEZleJQz`0*8#~k2ak{3aa`B7d3z2rsE^x;8X1S7~L-~$ICyW1q+KFHU? zdEotrh{sppKlm9Ktw=XN!t+hM-g=aO1d`zCFL<(vseAP}))7jN$9e6`oE?l4LvDAR zlhq!#y)rECuEJaZsRA1kJUwucPw*D_^uZHE`^&{Al!#%|2|mR9)h$!L?+g5OzUCvV;F@5JqR_Jy3fKIsf)5Dbn%WC$ zo717V=Ch|c1@&xo2E~eH-WmROjmgUZ%aL>^WclJ&UbuQ_`D)@YR-MfM}<$;zejw}H=zBDA9#B5 zM~d_XT?gtY6TEsn8j-vXc=hlfcxwVZL}rl7VKN1vEm9y?<4bCw{0H79;Uh&mnb1cB z5@{$hktn*!x6%!Vv>G9)V?N8HzYjT*B;)^Zb*}^9UnyE@@%`B@ZY4j0HafznUvc zf9CCS;Cl{XmuNh|*)KQy;<3ib12TYU4LYyL$pap*z$%q{)yczb1z5IHJ6oD8DfM1>)W65can2*9WT zJXfSRmG*^?@RmwpT6Y4_j595=(>P&TTk%-sw#ZH+(_>v@l=>g@SoPdFdkdg%p*&UN z1fi;u`DCs{0%uYlBXL9F0;k0D5oSb=K}PRT?n?J$xPshqx1CDX-5ye&zz#LNTW}$2 zbw)gH!@S@z9J*Y13`u7i=8&KRp~5{`=BQRQCo~j~Ju}D@2U<%R@E}j@bVYoC&*QN# zxGFQi90e<{GJ}-MA~9KD?US&zBW%xDsGMQ>Eq7-Vv!JY{>2e`3 z1|B{QRBb!lI7-!yC@Ivbqy%_{INKzUAf8KnU}(fPK{}-}4F-paUFXaN$!8i-1F9}( z-l;PH?#I>S4?)u!wxic*&zWWqxg@|Sw9cOvEajl{=wZk_Qbko~`gdz_(Q08lSU^2n zZgeso?qvpGQQ>kzHv)e%YB4ZY^al5g;)~%&S6>d!1EG3o)w_Y_6kLU`)t-UxFvTD= zmC2K8B8@BfK~=zx@N%%#u*5nr2Ogu5Lgt-1^ET9l%;A8Fs=7$9RUXAFtm-KJ7=jW9 z?*vohyg}8{7^rBKNzy$g`Ht4g#Gwcd&_ix?AZH+5QT*#X694EluB0uZhl4XZGM$ls zI1?6*yio%9hnOcCuO6pb9FP3)Vdy)QK6gf>G-$i=_8^iEI z^OJTMK*u>*+|06L0hYm2v@qkuLbJ<`%h(hv8MoWFms>T>gA3&6ZB=qkl2zTz{a&VJ zsHD-!$};CkxjDrmCvkH!Ag$lg%36op`sTXU4I=LtF0YBuMg|WxwxyNIztvrU{_@fU zE54JGfzlQ0{9qUTP=3Y8bB5+2(E#w%?vkW1TH#s9=Or7VoG=2W}HVoKjavxdx$w;KG7>uDCre`=`a1h?9_36~hFm)ava zqFw*Q)w$%4$G7Bf9$$+2{Xe%`kNwGRJ@$9+R&(+{H_-q5$w2?}w-0p3KZXg(Ngb@G zB16$2nby(j{Wo4C=E;9-aOTf{vWh?d?W=fh!9Re{`hB+b4m4u?Uv{xt8rF3A7K8<` z3g79k*VTH^-3%OU7=mej16jDm2>aObEu!OL^tH|;L9Id=^nfiyOm+^=6C7!R{r6r!iwt^t^|#0z zWmJEwO|`ki2!Lxm31!C+c`r8OFl>I1BecqJ11 zaM^X%Fx(@j7cCa=#vE-DRAYzYVfBBenT@i~Q!cyVg1#M(q7F@}iGV zk{s)d)F1otG3@t)pB=y6dI2g|GjFi=o9~6o34`Hr`tcjBro<#K8e)+HfI~y9_7TK| zFucD=-%u-~kz$d8Tc>q(T;5*{OcMFxC(U!nDiL*r^1%25Lw58~>oHwfinMOB1b*Li zvz5q#1zO$|C_t?pxyi~je=%hCLomPh4YMe4Sd(E^b%|Ih7$}Mp-?gb9G*clXu%F>%I=l zdv*a(^2JQ)LII+D7KCQ>&()<<-lOSW8=84OgTh7i903j${DiJakIs7$+TX}LwOq#E zjm0jKZSS_0bkH%RX0AmfCk4tD;g_9ZmjyG*DI?APK9GTl`OsxgRxzPu!adg7aQgWz z`~lr#rGVpe@*eBqoG+DhkU+=|RgkRs!Mp|InUNx%FKmr3dWtXRQD3AKbR4xHyHXrZ%8|BGlq9`LyQmfZd%qBYPtHP|tz_CN`lgnV zmr`Cn{mZ3)JEjB5d?AxYTiN^!gL(|)G~47=qpim2N0qKVDXbwcPieVzCWGCuhVGtF zQuH8zcHwC2G8pXa8f{f?m~W+n3yJT+!h4#yx!Prv@<>R0<`CaZGG>g`2L7pfjjHrVnN-6|yA#62vTGS3jDff66$q&X@Jy9%itks>A15|*LFe(`Cg&TcT9p+tP zk#_yLc}_Nk&n)O>P8$}0RNy%E3ioo?>hntjI>z6LdbU6 zPmu)!Za)H%*hcc;SSt=AJ~P%zY&hpnM@+Y=Zo+`;siyZ?wN!9WnnBb439icQT><~J zyIfw#l%QdSEP&o|_gSskPKtnQc;A&J_gM`Pg75HsRx{{(#*MQ`N$A>f*3j^6I&47c zIItQ|$ur}ux`C|Z`>onqU77j-KhCJ>l1#NrBHgw zz@C|pSYsJgsajt4h}AwGA%w9r&2|R)c!UOXnG2dl|9-@(8z{HHpZX}coB>UYj~}CJ z)PMdlYm@g%0o)l~LG zka|UG=_E#b|!}SN8_0J z-;QHum2q4`M?Nr)N{zSwqn=ymd~3W>O}R57P!GK}?d#|*|Moe+fhym)gKuQTQ&y(( zfaI4o=30ly(NCD{J%nkbo% z9k3~sKP|R~M9%^&$6X20U3!@JYkBLlR_j`e=E1%uOlhmb!vv|506rV`a%95=W$Cll z9XRwf50N;I^_N(;2JIB(Q%gYBY?IrTSoK)2M?WqB2Czn^6k24f*}Bl`95`WTck81# zr4X{@8S+4()r-v7>n*hwB3ZUnoy>nP)wvy(S-HsFv`pomU53N+l#F}Mx(+A)uIH@d zfh7a5NtO34$HErKlI2w(&e7%8K4sNNbB{^K#fjMmoK|3E3qE-21qHm;zhLdAJrW6r zPfxyR9W@rpF)OTrktN#0WhTO&&V`b(^?IPtoR_TSVNc*%e@nJq3FxDL&R=P*aenq# zW!<5EE|#yXvND|91FNhS5zrZ;pb-ePZQY`a_#azs6$STT^Ox18y8dM#?F4R}EjMee z+HxD$(p&lYTI)7g=|SX3Mp?3dk+s;Ixk!Ff1Uw1m`Nh_?QG1`+LXi?}pVDO=Rc!Uh zDy1w^@*+U%RT~5#3{FrmDFC=$R9LPnJXmZkFwZ_C$Gu{uSBIF8OfIyvTbB#)tAfnVixyLi{(z&V;=->p*w+`y75Yc-+7A~n3LU$tmm zs;^h;(q_H&8B$69Dn+~dt+$YCm0Dz`)LcJ?lv*z$<=Fs{WP!YFgEi5ZFN-%=PXMcF z^_tbmoZ^w=U$gFqvhnHHtY?us>vd}YG>|@f9bSEokUz+`WY|W_hpc)Vt=ph{K4YUb zmMkBCeZ#sPyZp9I)>UlwAzUg9VdUS~WZi?AZuF+rCw>lX6Xzn;V#{)u?6(Dtt@ayb zxHS=lHhZg;8eVi5%`BGJZnZYatF}PPVvX}2QHbgNiq$wEi~V@t!}RLuf_Vh=ONd&R zJ9k?(Ft#suTf5}^cdc&N+Ro-s_KRtz?GkV@I{F2xw#N-qE`y<<^8& z2MyBhgWXHK@_|9W;7=2MAzTSYH2}lTJD`y2or+rQ-(QYH8^Bk#>{bT|^Ta~&6&#?t zvesVkN(v-SQBAANgaWpYX3F1pua##c%>+>aqy(B8c)&~77^UWkqhIln^?2-2a@!3p zE(5dhFI9XeLx4 z*M5%0TP|B4weE#l%n;bo-9 z0A0QlR&&##+;F?fWhbpnhjKHCsbv!7hTZ5>bVoyXCLCLtpxi1>T9?_=^eYwojZk;E zt^-X4LJqe%sqc7*kaIg!jGO$$Urfji{tC3mF8S0~R@*2=w3(#CVS;G;6j@hm^2{Xi z3{|F>opB05)R_)>MpYAeMpYB#<^9A%3tgo}3ecPWsyF$oJ{!WoeKZ(}#z?wju{r09F{}ewd&ZO&z}Qk%}n65H$^U;4|V?Doc4% zB+~X&1hWn5jIucmCE_|)Sc4l^`l-<&AMCuNpeH$bQcD5*W%08EnR81*?Rpl3*)KJXP$ z4|H(sA1lg$xgnV1!{1mP;to)~6zmEWNvg<_Ip0{VqYkUzPQHvjZ6(zHkAc@%a_BrK zrn~LLE2GHz1D(e?^!`V7Ic?Q3=Ny&)I&HN^yoJKkRxRT>x#_gksM>Qn;hYw=l zBC6;)`O9gmSJIate@JW8h3J*^P~EiW9+fwpu^J4VM-yeJUIUuOdR!<+W*cbk5Oq(p z0Q7IQQigW{vWGhsm`fzzLhi%qSg)2QfHV22}k>4~x{JZ0HrU6kj)JelXLRFv;|&YD_T z{=0L)f(vBtpMYq8B1iv(2)G;lUC&$hniLvQMQPlA0oXI8##|Sc7y&LMw$2GT@>eUD zGJT%NWQN@n1z&Mr$(Y|1mUa5Ki}8cB`5nYE?G}U(Xa^C1<{UsV5P?3jlOb+FM>Nvq z-(iT_hVi=m+Qjp9zvUKDluYu7bUfO5#3)2}UEvWA!g+@;OsqFfXbiKCyDX6+G*}_r10VyiAJ{v`!c0k5RYX zRm*raIph|L$?RysL2DA+pzAac8Wlc;^`%FAb7Gk20>}pR#BVa!OTne+d`QLBWj!Za zeBzKP{(EA?Y$HIk{C1h>A$!M)f*MWyQnC>sCCT=rg=JZI9AcvbU-EQpi&yjVii?)eRQ74o| zA?cPcGVQGk$P2P;njl)qRnHp;&7L8T&}TEMe74sJ`D~amOU_9UHSt)JAZmwE zeP?8Of@ll(SRxTG=E?er!56&~MHe;V8owKHt>29}<#!{ldC`bJN~96X)FknG`1i`L zR~|_c9mT;30IA3D&%0b^)etvV$(Ub53~l-Jg)%4VC@^DkE2uDOH=HWkOYsU%XfP9i zrHNWWg^B%8KUokp**95avOo>;(PWXFeDOz~%8!bYMa#M~V5dvhJh7rRdakfGjq-VC z0N#_ivQ<;GGYM;iyLw77;NGBJS zN-rCkaL+-0T%gZSZqL%AaU-O`H3=yJXQCP(!Ud{ohyw$hIW2~)G+b$hF9%*;(IN?h z@uculYb z!^i~OGZy|E>0(MFf)X^mHe4bUl-NOTSl$9O652&7#?DIsI!a@B+Kmj(J88fJ*bs!J zdcoR!9VP{2hT^fO5%mYFDzZXC7wFP}vjmli-7;2*KJZ3u8T0^RC9R}SE#$!MN6r2m z;NvvULNBhT4VHx#05XCw<(mYqSnwfDCTa}pqFj|A3uuYY9BC)rL%5+zRvGI8P5Z~=pp2#ix9Weozt zQ>%UxpCuc31X*#A=O7#@YL|wCvqr-~L=_B255REx4{)wFfYV1R6zJsWT39%`92?;Q zGZ%7Xga`Q=0;2t2cNjhgVA-J%AhgVsg(ZH_2%V7`dK_F~=h&gd6W9BK%p7n$oP7{! zvm9{DgZqFAdI9tCh)?&RXqe+%PD{u~;Mi0)j!gp}K3KtY!cMWTo#tu&RTGi4cxZxJ zh<6m`fx+Q594qM)ojpQ!%n<$R0tj>kEWp-jtwBNy0@MT$ut{o?fe;{sEXok$b7JX) zgW#jW?a^i=;*?@Vju85QB{9gC4c3Gf7rPQ?BE$QGX?E6sRA-R^F)E=d-`Y2-W(SpEJ zQDm?IxPyWVXy=p@h)qW*&|nf>kE`?@MIMN7`n+}_0ACI{1&5Ifj)*du!2_>>b&>HH z4rd%yf-xwAvVe~$C3aNaqtqMNm_-MBf|bDN2@DfTgY)mf>XBK517UH*FqKXME32TD zcAXU^eWQ7NPHUoUNJNRr9ik@NndZpKX(q%c&0{x8v#@O#0HXE|1-u(A1^YstxabrH z+cO-8T_KGcWV(U5R8W%oAsdY5R!*LQt>(E>BeoGO0eC%*uWZalmUbEC#^8eP zsgwt|z=|k(TgbDAqvEeOs8U=e8Zuz}R+&wJ+e}z3Rh?1|YiZKGWWh^kj9`j0k>EUK znVweis?>;THxXEc@e0Zj@qQ#=(g~lz+LaW*19&N}O7KADyZV|Sz<`4kxFx6@K?gj7 z&_NDA!4qy!yi42@TGa;K{T-aZH<9pVuiyltXAl4;IHB57aKdS;Dx8RwXX*np4wF1n zWZ3X%L)gI(=K{fD*LOaF__Q#L13x@~+jzir4Xqf!7qvor4AT8Dc~7ROpM{{Pw83DZ z9FKiZ*IRHCV7T#$3qW^XHMuDh7?DSQlqvec%9}0>4DmNZHp&9Rh66*eUip2;_23H| zX=kdt!Xt-giB#}i<%BFTlAfotf+T_jiO@!_Z7lMjW;Ls!*j$BLc&3r~D3Cz~{V3Qw zl%N=qjME>(qT{*EMK%=LikoAE#d2qJQL7GWa0pr4XSO0;9^sgG(QE;A<| zkR4ixJ5bB=7UF?=zawgcq-;{a{t8CPMAO!iLt6?FvtI~Y6&O2hH1B@@gUB?%%${_) zxVlm_c8zzg|MSZQ-1Qd7k6R0+l;>y&K*W$H>$VZoEamZnTtAh_(l%lZir&#yG*Eb&8pWg=M(+yo~E2`eHJMbrB;l8Si%y{h~|H zY}V{P#F+)Vr0x}>D=Hsxg{a&56FMPuWvh563Rrl-g13`2Gr(a|I)-nXT_O$UlWO0- zdxdD)3bRamuu|rQd-mjJ><+q|z&fDIY1?;{f%PZ9hO~B&hLvv;NwP;*5#7w;69gw$ zTe(H68MQ0k11)zzh(PjFO3JBS#ZF_gytbR@5;*}F6Cp{biMLdvTP4NW zrz$IZvX5wv9&OQ&ANznRtdPz6f@x48XZID4;t|Lx)>Pz1R4D{caxZJ*qJlek0qWW#O_?mar# zU5A0U0L9s1nC=oOhKpN~x_3CX!i~3!JB?ibTepLm>#a~uImj#91@+4x|1V@?yIpsu zXcP+}Uj*)dpfW&CAh$ax=iVtg)<1$B5$XLJ0i8&JN4Z$RKw4mdPP+#km?mGpS0u|?_X;a{8iI1+ zjz^#D=n)_fs1y+(Fx;JekEmgO5>nWA$->0&pew|l_^Rx2ujoQe0_sweE^1QVE9&Sb zeesv7K%V)l0zF2Hr^B8HC+jVFVzel7em*ls?AJg2504e!dBWa=LW5t9eNZe(d$p&p z#xjzlMEa_Carxq3gaWv|VmtU|Ku)@lr}k#!#eU;e8TAlO_M6gvNHjCv^pAT;Y%s%K zARe5**`ol{&hMp{{=BIXp*ng9_dYIbcZb_ixV; zEezx1^%KwrcIknM-~djOohON=0ey~8|2|+xPniU;QLtb#5F~hfoGeJZ3BD^S2uzy{ zpow^3lYzMv$oHzeYxjhDck>e>fuyC_#kesP4;BZJM4F^4GW!YjUYlil9as=v{d#^T|BXJnDq0QBAVh z_sN@EM^*EGo+n;1j1zLkba4wFr>Bb!#tX9147Bos95e$L3?it^5Oq?EY5B;Rg9#){ zaaZkJctHra%jnHp^2`h|(%C}8W{NUr3uVj_5flfd(Ual|JVrk$N+7tX{gJpqK0aHd zW{^HyV^=nK$m!VZ$JW_t&~q|7)6OqlXM+SL_amEUqc;_@Vz#>H;_?MWe1g3=MSR+m zFDMqm&-r4V3NK*;_i2+xA~iVMoo9)AeJGew6FScX;HG5>&XByb-;( zH9z3ILLFm!-$m)O7p3#&R4re4QMxpkCg~99f25)Cqg%xeyF+IeRAz@Mk(er+Tbb*j zL>DMVAZg+fUrgujrCf@n0qUE`3Y}Z#@HX&#@hft*;PAaL&7XTY~r#GJi@(s`BXGD<7#8x0pCpS&_1!P7ejsI;Ii+EfN- zgiv@@T%qv6uK8SJ84+e+o; z1!4oaQiA(e^!hnYY!Py$gh$Yo5<(?(i_)K~Ao1|7bV_2MmHML!aGz4m%2Tr%recI( zfb!Xeq7}uN!IFV{g?IkX7mD3x5|xhfiIGIV5H2tt9-9pE*tC6-Xc&8erwLULh6*ws zJ&af^ic|2Bnl$8M*BWEg*R&K^54m@-=n(f3AeYZo*Qf`V_7uJ5Mm<@kv*p~zj@elLaI@TaOnIcUbTPkks z7w{B8&Ucm69w;=`h-ffWBVtC=mdL;ZHb%;e1Y8atX6Ph2zXgbMK^O;AMWH(W8Oy|W z!+6y{XgO}4UO|mf#N~oFS&+ky-YB$4?L&BL*U}ken}DuYEdhpApuFFD0h0*y;K3IK z#GU^AFJiv~Al>njmx}=dRiZV*4)~X? z5$~HhiZrNHkUa_P5@81l$+AEhN_fD)(=-_^wXnAl`l-SWP&(4y7fe@m*o=VzaR~ju z2jnYWttm8IG%9LzlV2A>2$L_n7mJ}uSXBr8ROBQiI101foL*v;E8YgwS>gBx@H=fCFfF+5S|_?+^3zGF5Y7O9a~%8Pcu@`UU?Bu* zxTZwaFuO#M>+j7a;$1wZy(-=(A5!ROqR$MX&)60agP7Qb^4|53Im5r_dQsmzQX&28 zMIn;c`^7?B8UOZ+C(x_$rQ&*c#-g<*2f+j~!7srT;y+d@I4$An4WhYu_LQvi8ZOjg z+4nWk!#D5rW*6MYKw6HTwjeJ)gow7lMs{fJb*}-fT=b3qi`PUFRdV5Vq&I#g8*LOV zeT6z;OBm=fTh1&aJ}CIMA;DQDY!pMaLli<{L!BT~&?MR@XfVh;aa^XrJ4}FNFC+EJ zT5sU?&X@PSA+G8GJpz-QWm^H#mwtJ1Bm<-fKsc^FO^SGebLkv(W0R;JRdyUiHK4HO zCDhp@n#M0j7L*IIxgc7EI9(CScjC>Z2xXcwO(;Xu{wIWT{kltuOA;bf4<%UWT!X2K zsIn<|Crt>nmli?y4;Jt9 zqJl{IMq81X6J>iqlSBl`J8;~zR0rz|=AH?+OW=|cAWb7o3St2rNg~RY0fj!av(a5MuBXnQ;IWtM3p992*#Ra-WC+Nm=wYY711kI(`b67q>H8vR=D#D z^Oa>jO0P(!hyKBjm-EW>dCAclJe4Uii?1b0Uf;@1K_OL1FyWn&nENafymHinlS8#Q zp*;~IQGVE7)Nfg+iF>@(@yRM3^G)%Xp2scXKtWI|umx~ef%k-~aJl^Oeenji&g|{N zBAVps9U`L}9PnC*ghN0OH!qP6;Un$rd$9gs5@8L{VVZrgc65v{2cJN_#}1D#&OQ=t-tbTOOU%M>m@C`$jXgz6w6c zM59U{MZs0_Jjj6ZxBxTo(wAY@Ugvk*au9K3>R@dM!*YKHLxhZnO>ljVP7hZs+aw3mM%>KSw7 z&<{ZO1XfdGHGh!(%LQ{*R6bHJ_GF#LMZ;_c+J}&Bf;S#7IQXuNSfw-VzkLX|JU0-DG*ekAbikQ!t@|!)PU)3^{ zyK^u2G9~h+PlX@O%i-q?sEH!xWcq%nhgJBW-VZcB2N2nt6HdMZi6897aa80iR0K^0 zjzCOk%(dTLBbooLQA$%R?cn z&w#~oD3XLCRZygAW;`ziwE0LTEYu1t-he@Q)yxFm%jKWX)kJ(c3^&S8rKwOF@<&E~ zA`V~Nlls}qN(AePL^T2f2 zvH*Pc7Y8)U354&Wb^(>ZsrW&;%USd3XVWxGd|#u4QSw&5J<2B0y2@x z4chz@Qan1R9HGU#K{$dMIIsr`X&K$Q7h_Q5o0m!I^b<i&pWhyJtWXJQo3ffnf`4Jz~Y z@&2fAG!`4Y3w|i`nhmWCP@?|tqr6y!ObDCIy@E2w(0VcfGAbx@maN=x2w-m)jXmV; z*J#Sr_Bg?zHild`YloxiF`=4`3|LbYA6)0a9Xu6wIK!WK@>_QrnLl~Erj(yJ54dDe zs36l689MtX?=cMa8$T;x@!ih=77OW_!`@KJIaq$1QxMM|YXJjPY~A5X9gcW&jnBQo zXkJAw|M?ht`3UIfqeMqQ(SJ@K9f82>D3x+1&a^q=U5d+sqhPuA(w9fQbz=5m6j%?s zk1ibb)>ibrqTAp{?g4`zaKJ0K=`WC>9i_p)K#PW&IrS^;`NiAGvw@w28~R63&N1bD z(eD@pkDCz^*!v_dl{_+tj(a%(@69Iw(vH#e6W(^Xl%DXm(x<#b)lNe2e2luB^meT~ zW$Ja96Oe|_<~sNu$6PAhJ;01&;T~IDxvj$|=;M>#Zg|ai%KNly93;(j;a7b2F`9D< zrlaHN(kbutNOkztI~bSszj}M(lKPvsi+l85z~@h?|8I)5IrW=2ADXc`zbiE%R$fZ& z3e|%04~bAMR3`67{O)b2&pJfQfA{vXPjJE>@za3=-bM*mR}o^VX3((H&`j>4Wv9LQ zY{;i8$pGkgI(yoCOH<@j@EMR>?EeHRadV30lExOCMQRNuF^Dyj!fTL*{^3oCsaSN= z|A4};gpU2;&ETLnsIgq%iCC4XXS{XTH_d9AStI6_bo1~pu+qj2WDu|4<4bCZ7T7BQ z+8o7BSbPO9SnKYJZ?rXX%UMXWC$#B|_eou!vxeH8^QK%=YHbn?ki#49GiNbL65rn( zI~x0jjb|eE&A4;kJE}tc333E|V3=WVmOsvUvohXvw|5{GD0B7vIIIqwI~gLzJ=FBP zx1TnOW}NpX)>z4+SN4BJ(9i+k%+8i)fKGxBkooH<`u@DPe#$5q+j4ynXT*1dS&qka zG7XH!feYS7iRG_ZCG2{r-vubLM$y^}-fF!^LCO!=AgW>V$62W{M4OFh+R?p3AhtW7 z_<>?fi=s(&A6W=s2{wA~ncCC24)mh=MQ?{bO68^${MZ;mzls3>j}pu0%8dX5pubQR zKE(yEAhy;pr$ET1HWu`4D&ao?{qBtAwCIvIGhW#V;45LG;jpSHUQThBylw5)S>4aA zBLFuG%PN@zgj-in6xZ_i*2hP-&I#3ek!n3y6=|LX)wrq!)&U1Ed5aruVVN-4JO36P zE3yb?24(|u9a|eH(N9siox`cH1;WD6$D6#*YU$%K#uhp4vf#VJc2U#(Z%%AyKruLR zhyg{w#5u;$CYIDuK|oW;DfR zv1a7qQmPrOUyaq(rLlGCqZ_wct^t^EXy^xk0b&jXlD#h=>1)9p1F)^RT)*h$tyjdY z#g(_VO7nm1c6i@&>aGI)WuR8X(SN=>rV-u=TU$q^P*#Qv~Kg!jj> zDC4$v;ij?DUHme>7;3+O8!un6Wggj8bU#1$e5TcTt+co^Kw>L4?&=kzpp(on<5@V*vNwyj|#H!b@5%IcO@6w%o;3l*@T8d}3n zS*Walx6%Z|NGm`CaMgmz$I#C?tUZh#z;tWoH|0rov^4i{(%`2toIK1)$w_vtG|zC- z!%4-$|HVl@nOk{MnnPbflC?ROb;Srys;WTuYt7BqIql=e;1F;|C?^Fc0irc?AtzN! zpoujliQpeJMtucTrGKoW;ldap-UR+cfE@K@Gbm9S+3`Cd3}p7&CTjx_slg3f8a?2p zGg}&~s=^+X$Db)?>$=B5Hy`sRwc2bQQFf6{C-E4kLR!xkC{YY@hO3+)tNUR^h=v9yM1pFKSdU5LC;z^q0>_(!X`kkX>+VsziJBL`(cxs3;Jf78d8gLKcEB z*4gm^e6a%p-ZY$M5OhQoz=5BPF#?f!7nNiS#uz9^sd2`~+En@>&KSi)ZACgOfkpVN zITmWaP{rV&Xo2y*coJ0&2}x^uRcyl&YF*X1S3mEh8C8t|zVpt?U<`g(sRE&N&}lyQ zz>jifywMzQ4~{q31gcJgv9aC+Q0gpgGnbr(YRs~-*G-t81cf;_GHb?Zs+MSU21Wfy zqR|umS)XXM$HkRo+>GJ6J;`W;%fuvuqxDxwHag;RXELU7Gc8Cq_;B~^6l0iv!AT2K zj27J*mUS| zU`4Sk-QZK5Yh)Nxaao^XJOlMcvueiU8mRX7svFPal|aDYGd~IgMr~Z?28`FMt8HF9 z8kPnp*~X+IHV9BIBA|qNW*W7)hJv7xAVy(T2h7o28fPre3}VB>`!{I3pk1JDH82H; zp;p7-xL&W-08F|-=V};310(TPia8oDE0hYr1m*}t@Bs7jW#=IOaGIQD;FT{x_2)F>AP+Ww z=0|X8K^z+p_62o}8{r|kxenIdEb`X{jj)WauWJN)RaD{P(ZJc_{aNt@u>`{)d>qb= zGyvIg0XF7wjIrzHZ{v3$C=|@kN3pvyC<+%Ml5i5t+oyFg?XS|GXsG51?vOh?Ab3g9 zff_ihh*((EsvZ`@I+|0@Xx|Bq!#TykH{+rjXX9ANi2bj|f<=Q^9`ZxbX%N{OrV)1J zKfv8`Jz7DKE!J0`u4@2V3eWy^~|yizR(2$C!bQGA-ArqrdH>>A6N4mE{`i ztkq>5^+t>98}+r>w6DHF+S<^w4U9W9ZFcDEJmYf>$M3v#jnRp{8x;fW_Wz51zQ*{8 zpEoj+H3S#LFhDVUys@zg!smHSP?bJUryCyjwMm4QM`yB|Wr$3u^Gy5aQEoG1jP)Xd zX_XB0C&ofPib;fz$4=VY%(w=28UB2uZG7eTL9hBz^RJy`Mre2oL(}kKBU>6@6dZSk z{beB(hZGJQ0=Olc7hyKnj6^aBqQg*=0MsgdBR`AJgx*03#*j!3MoC?FU`pNKbd)Su z?|>Bn+SCaE>Gn@ncVONeFgXc0PzXPVp-O=mPQz0clPXE7&Qk?Zvu%T(4l2+!0J;@4 z63C2(z#WULBivDVnjQX?PIy>B$;f9+Ko86^B(%rMDJSdeAz$L|h;Um_WBT43gbw)H zr;KiY*)gpB&{t^lVdFv9W~XqHI1`&qeU2C{YNA8zV8$(jiWD_x;P z6XdkN;+)gba{zQtlG)x^;NP_M6U(#5Lm6K=e zBn`X{m}F;Y&UHph&AT}o?iofv3S?4v&~tlF<4(p{B|VMz5?3-ud>Ixg-LOzR zaQ_F1?Oz#s>`r4jD+FubZE&P9j9hZ)hr5j%D~69Sd>cYv-D9NMV_4v7zIq0@w#xLCDpor*g(dV{Tj+scnlk{Y-vs!BT3FFbHl zoWQ9xexUIdbsJzr|A#Nk)M&y$WAcA4k@JMnsxJ#$1hyL=#;Ooy2AgLglX-BLnb6;y zu&dkylbvDA(UEE3+rr57*`49SP%|onk_}H7k6Azx3yxLT<{;xF2EO5w#v_>g$xj+@ zVJS3t${_A-O!<-zlA<}#<=DYRaS@AP6v?j zf5pKAoh)K^_|IUR>gX)!V@d&GVgTnH{!K8<;&vSVx!xckP%EoAYij@YhK2Y5Oc~>K zf7S@9KJY<o8+>sM-)Se;w$RpB0E@IWAtVE=1*rdm zk<2l7qo~11BPJ>Ab?;*JCuSI=1?noMZXK9(Su|x!FVJV8*GdHRI#z$c`DXHXC@mQP4d4n1NCU}<3`uWX;3aG zo!`a`ObG3K8*@(crx<)v@NZKZn}0V7@LwwWkx)GF_rn$lT8O6C~KO~dxU*f$4^0@VW!@D=2db-XW{_ghC2t24^^NMfc2gKn&D+@xpf7#sS`l-!ABN46RrKCERS2JG2a)2p38y2Xl!<8hLSF-ATBc}!`VQ~?_Lbw3z zmQ*Kj!mrNV-cGR#DmoJ%E(X7UyRTgq7&+IY9+opje5@IOttbndR35W5>cnPyC{&xt z;mTmdYFD-fmGPIcSgPX7rYr=z^29@B>5Kv# z5A4d0!g?^=QGd8s?161{3{qo1j|X;y^%XjXC2oqCwg^jMyP6Cd zzR2*0r}1wiXP5abqRdrR!tq5$j%~NkT43}5$Q$$J2*#qZhKto|9I)7^AK;me<<*E7 z4&nL4P5FG%ip7fNJg^x2;dVM_r81WwHHMlmF>2#u;8<$5vepdtRWS`(Vwl+$s8nd2 zaWR~nFUCUU!iyLCSy5d91(JVQ0s!~{wJgC16w#d}#;qOBh8;2RqW(fKYGe@j%#PO0 zt}?N8oN&Wwf7v+<|8K@N;Ls1JD&A71L%)?6o%O%5C!wy(jBo$WwS*dcghA1!P`{8d zpV;%5lV3pwkud&kbI4c7F87PTkV%HcWjSH;V zW{!#d);4`yi^z*GL^{q%_bnDHW}}UzreNt4Su!|@auJ2 zvB?Mqi*b(-QQxX8wk|Ax6Z;NQxC?H&w28GFp~jm*LF)@GF?O^6D={`=KZK>&Z7?;L zzcx~V5mL7p&9pB=J+>Gzy0$FTYn$;igX8PIHC(U{4RzjOtc}9ev)i~Qs`J%Y2pgI+ ze*z^}ISb(k!~wJaBTKQQRIwDtO2Lr*6H9UP0b^z*mg3R@AaI+dsQ;s4DQ^7{(#ayy z4;p-)^R)*tSo7$`gGL(TK|09vIq+aLMuCAcqcuLbPnl6up+Gf_mZH^0fuJrK1x_zB zvfJVeW!_-A$&lOm?9)LPYYxrN_-tiJfu4k(4iC<1gUr<{A$yR3GNb3&6hV zCnLQ81g82hrUM<%#i2~S1W|kycsWo=z_q5!IGw4z!%~PL@7W3$nlR< zM`@#+>9`()z#uV6yD07kF0{ua0Gaw#$#cc ziml}(X|2%h2GwRve0#35BMJ3l)N_|!- z^+l!BMozI-M!olSrPMc-O75tX+EppF`^SRF=J!>4c%V|MtWxS{PL((ROQqDwN+o}* z^z2NfXXk$Wq#&Z2OO+lL9*peTuu7?sl~Q9WrN)O-;q|a#2_Wwb{yEG)yYS=3diY&u z6Im)aW;_I{{-o>5!%jn(T0M?2^8-4?D zz8MX$41)d$7 z%nn)NRJG|Dq~Qo)$T}I4*n}$t<^xRQv7i!@YN`AT_*#?N^1D2>% zMPp$Z30lEupr4hySO6Po9aIVo9QHqFi7} zh0qs^QQ+253>Wy0Sp9;9IGg&b9^iwy2fWaDHdO$cioU30od3@{(Nmoj3|WV=i^K$S z%lxC#SSi*MrbGQ;QUT5Jojji?#tR?#u#WCw#kbS8l>%O3<9O1~7>}~;733Uj#H7L{ z9NtfbXRw<}=$$hl3x=1{@-s#~MXPcAMSK;HC8$_bZO$mA3ui#NmQc!{Mh$&+DYf}i zy?f`MP@3#2rQv@XnKcz@7h#@Nek8E%@uK1|&_>h%1?Y)Cp?tYW-On1`^iv+1c@|Rk zFKEqKu*@^**jYfBqhy{lGQvl7Ja7(!f0Ra@gO=|Y9Xe+WEKbirut{{l3%CCx+l8`zao;RPe;!NP&&2}S2$Ft(!T;EP6{ z2Svf&qsRvrElug(i=de{Q^!lj_qYW9GF}7qx8yJ54NaRl@mhh@#O;E$Nli4tyni1} z%(e8S6)s{Pv)C5PTLSt}OSNr7#)vLjBU{o1laosHF}CGD)5m|sioN9+1K^4QgynbU2H*0# zSFn=*DMMs}_?>8oBl=}06$3x~6gp|ETy^PjDLhUG!WYACAdO!0iSGKY6?DKSYVy_N7wLgrE3W0(1qj?ZfT10% z!UkG8YPR}upwxAKac!DiiX$AbxYjCV7kJk%dUACa{h~HsYsQJ2v_I+TI5CM$FfnH! zCgBg`%x(rRN{zAD@kyUMvK@}5s$l@&pO7w>!S0(x?W%}}Yck8KD=#_FJ>0d^ZvpKw z@dt5kRlo&@ce|4gd<2V#(kh~9!LlWoW`4!!Z_dKK|AdPL7p%zRfQ3MT=EqzF(fA^Z zK#mbvWD^%*0ZT+JkXS?(IUG^TF1sO*x1ds)Ke!AG%DI|w8UCJ#&Rn`mHIQFK78zTD zTHtLMSqqCZ%$fW^nchG|VZ8y{LH@)=5wCFS)6HDt6FC zH_c8J*>p>~;6oEWNf)Mm$wg5a;^9hS%&4#!6E`$GLlkPeLs8Yl5DiBt4XZBhk6H#P zK!|>+F21RzZaGSU!?x)MDZ%_ru~lYwK(xStA&Hsd8SQNvpDDWAA&Wp>G={A5aHi-g zI4qH+4Z9L@gh%UNnSY5onh8R()i-_IMQV5U|=wca4rEg%;tsTP?f7oj( z9=6T_CA%@RFyI?#eU@kh)bmFcI<D1vcvWd$~b@xJ=81UtGxnfid_

OLw!(0^K$OUcQhCMkxo)lA^F6IbJwNm8N4CW;e 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 J^JA;H{vQ|SKpp@9 diff --git a/web/workspace/src/lib/workspace/config-source/generated/types/ConfigSchemaContribution.ts b/web/workspace/src/lib/workspace/config-source/generated/types/ConfigSchemaContribution.ts index 69d5a595d..957a1a06a 100644 --- a/web/workspace/src/lib/workspace/config-source/generated/types/ConfigSchemaContribution.ts +++ b/web/workspace/src/lib/workspace/config-source/generated/types/ConfigSchemaContribution.ts @@ -1,4 +1,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { ConfigProjectionValidator } from "./ConfigProjectionValidator"; -export type ConfigSchemaContribution = { provider_id: string, namespace: string, version: string, source: string, projection_validator?: ConfigProjectionValidator | null, source_digest: string, }; +export type ConfigSchemaContribution = { provider_id: string, namespace: string, version: string, source: string, authoring_source?: string | null, projection_validator?: ConfigProjectionValidator | null, source_digest: string, }; diff --git a/web/workspace/test/config-source/api.test.ts b/web/workspace/test/config-source/api.test.ts index d0269c215..6bded5f07 100644 --- a/web/workspace/test/config-source/api.test.ts +++ b/web/workspace/test/config-source/api.test.ts @@ -244,3 +244,41 @@ Deno.test("config source API surfaces bounded failed evaluation details", async } assert(message.includes("structured diagnostics")); }); + +Deno.test("config source API carries bounded optional authoring schemas without changing validation source", () => { + const body = withSchema("validation"); + const authoringSource = "shape\n".repeat(6000); + const contribution = { + ...body.contract.schema_bundle.contributions[0], + authoring_source: authoringSource, + }; + const withAuthoring = { + ...body, + contract: { + ...body.contract, + schema_bundle: { + ...body.contract.schema_bundle, + contributions: [contribution], + }, + }, + }; + const parsed = parseWorkspaceConfigTreeResponse(withAuthoring); + assertEquals( + parsed.contract.schema_bundle.contributions[0].authoring_source, + authoringSource, + ); + assertEquals(parsed.contract.schema_bundle.source, "validation"); + for (const invalid of [null, 42, {}, "é".repeat(4 * 1024 * 1024) + "x"]) { + assertThrows(() => + parseWorkspaceConfigTreeResponse({ + ...withAuthoring, + contract: { + ...body.contract, + schema_bundle: { + ...body.contract.schema_bundle, + contributions: [{ ...contribution, authoring_source: invalid }], + }, + }, + }), ConfigSourceApiError); + } +}); diff --git a/web/workspace/test/config-source/wasm-parity.test.ts b/web/workspace/test/config-source/wasm-parity.test.ts index 23449ea63..637299db7 100644 --- a/web/workspace/test/config-source/wasm-parity.test.ts +++ b/web/workspace/test/config-source/wasm-parity.test.ts @@ -381,3 +381,113 @@ Deno.test("generated WASM completes asserted WorkspaceConfigSchema keys", () => assertEquals(result.from, 2); assertEquals(result.items.some((item) => item.label === "profile"), true); }); + +Deno.test("generated WASM authors value-based Profiles using the Backend schema without materializing authoring fields", async () => { + const source = await Deno.readTextFile( + new URL( + "../../../../resources/config-schema/profile.dcdl", + import.meta.url, + ), + ); + const authoring_source = await Deno.readTextFile( + new URL( + "../../../../resources/config-schema/profile-authoring.dcdl", + import.meta.url, + ), + ); + const schema = compose_schema_bundle([{ + provider_id: "builtin:profile", + namespace: "profile", + version: "2", + source, + source_digest: await digestText(source), + authoring_source, + }]) as WorkspaceConfigSchemaBundle; + const content = + '{ profile = { entries = [{ selector = "project:alpha"; profile = {}; }]; }; } as WorkspaceConfigSchema'; + const tree: ConfigTreeSnapshot = { + revision: 8, + digest: "sha256:value-profile-tree", + entries: { + "main.dcdl": { + path: "main.dcdl", + content_type: "decodal", + content, + content_digest: await digestText(content), + }, + }, + }; + const valueContract = { + ...contract, + entrypoints: ["main.dcdl"], + schema_bundle: schema, + fingerprint: await toolchainFingerprint(["main.dcdl"], schema), + }; + set_snapshot(tree); + set_schema_bundle(schema); + const evaluated = evaluate_snapshot(tree, valueContract) as { + projections: Array< + { data_json: { profile: { entries: Array<{ profile: unknown }> } } } + >; + }; + assertEquals( + evaluated.projections[0].data_json.profile.entries[0].profile, + {}, + ); + for ( + const [body, token, label] of [ + [ + "{ profile = { entries = [{ sel }] } } as WorkspaceConfigSchema", + "sel", + "selector", + ], + [ + "{ profile = { entries = [{ pro }] } } as WorkspaceConfigSchema", + "pro", + "profile", + ], + [ + "{ profile = { entries = [{ profile = { wor } }] } } as WorkspaceConfigSchema", + "wor", + "worker", + ], + [ + "{ profile = { entries = [{ profile = { worker = { mo } } }] } } as WorkspaceConfigSchema", + "mo", + "mode", + ], + [ + "{ profile = { entries = [{ profile = { feature = { ta } } }] } } as WorkspaceConfigSchema", + "ta", + "task", + ], + ] + ) { + const cursor = body.lastIndexOf(token) + token.length; + const result = complete_current("main.dcdl", body, cursor, true) as { + from: number; + items: Array<{ label: string }>; + }; + assertEquals( + result.items.some((item) => item.label === label), + true, + label, + ); + assertEquals(result.from, cursor - token.length); + } + const invalidContent = content.replace("profile = {};", "profile = 42;"); + const invalid = { + ...tree, + entries: { + "main.dcdl": { ...tree.entries["main.dcdl"], content: invalidContent }, + }, + }; + const diagnostics = analyze_snapshot( + invalid, + "main.dcdl", + undefined, + ) as Array< + unknown + >; + assertEquals(diagnostics.length > 0, true); +}); From 3558e4aae160bf894b756f8060bb9d91c7d801a4 Mon Sep 17 00:00:00 2001 From: Hare Date: Wed, 7 Oct 2026 00:36:16 +0900 Subject: [PATCH 2/4] fix: diagnose nested partial Profile values in the editor (T-710) Resolve MR sequence 3 profile_nested_editor_diagnostics_missing with a separate, non-materializing authoring constraint pass. Preserve omission and the persisted evaluation schema, and map nested/imported failures to supplied virtual-source spans. Exercise actual Backend schema in native and regenerated WASM tests for empty/partial values, worker and feature types, unknown fields, imports and composition. Validation: root cargo check; config-source 38; config-source-wasm native/doc; unfiltered yoi-workspace-server 642 lib + 11 bin; worker-runtime 340 lib + 17 per binary; server-api --features typescript 77; focused Deno 39; deno task check; wasm32 release build, wasm-bindgen 0.2.117 + Binaryen 132 -Oz regeneration; cargo fmt/diff checks. Earlier checker failure did not recur: Reviewer independently passed full source suite and exact original baseline checker filter, recorded in MR sequence 3. --- crates/config-source/src/lib.rs | 195 ++++++++++++++++-- docs/design/profiles-manifests-prompts.md | 2 +- .../2026-10-06-review-finding-severity.md | 12 ++ .../config-schema/profile-authoring.dcdl | 5 +- .../generated/config_source_wasm_bg.wasm | Bin 1283030 -> 1289088 bytes .../test/config-source/wasm-parity.test.ts | 103 ++++++++- 6 files changed, 291 insertions(+), 26 deletions(-) create mode 100644 docs/report/2026-10-06-review-finding-severity.md diff --git a/crates/config-source/src/lib.rs b/crates/config-source/src/lib.rs index 2d6604d82..8f1239d3d 100644 --- a/crates/config-source/src/lib.rs +++ b/crates/config-source/src/lib.rs @@ -487,7 +487,8 @@ pub struct ConfigSchemaContribution { pub namespace: String, pub version: String, pub source: String, - // Optional editor-only schema; never used to validate or materialize config. + // Optional editor shape for completion and non-materializing constraint analysis; + // never used to materialize or validate the persisted config projection. #[serde(default, skip_serializing_if = "Option::is_none")] pub authoring_source: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1250,17 +1251,83 @@ impl SnapshotEnvironment { "configured entrypoint is missing", )]; }; - let service = LanguageService::new(self); - service - .analyze( - entrypoint.as_str(), - entrypoint.as_str(), - source_override.unwrap_or(&entry.content), - ) + let source = source_override.unwrap_or(&entry.content); + let diagnostics: Vec<_> = LanguageService::new(self) + .analyze(entrypoint.as_str(), entrypoint.as_str(), source) .diagnostics .iter() .map(|diagnostic| project_diagnostic(&self.snapshot, entrypoint.clone(), diagnostic)) - .collect() + .collect(); + if !diagnostics.is_empty() + || !self.schema_bundle.as_ref().is_some_and(|bundle| { + bundle + .contributions + .iter() + .any(|entry| entry.authoring_source.is_some()) + }) + { + return diagnostics; + } + + // Check authoring constraints separately, without materializing the shape. + // Partial records may omit any recipe field: authoring metadata must neither + // make those fields required nor supply defaults to the saved projection. + let environment = ConfigAuthoringEnvironment { + environment: self, + schema_path: &[], + }; + let mut engine = match environment.create_engine() { + Ok(engine) => engine, + Err(diagnostic) => { + return vec![project_diagnostic( + &self.snapshot, + entrypoint.clone(), + &diagnostic, + )]; + } + }; + let result = engine + .add_root_source(entrypoint.as_str(), entrypoint.as_str(), source) + .and_then(|module| engine.eval_module(module)); + match result { + Ok(_) => Vec::new(), + Err(mut diagnostic) => { + // Constraint failures often point at the schema declaration. Anchor + // the editor diagnostic at the narrowest supplied value instead; + // label spans have no file field, so retain only that source's labels. + if !engine + .source_name(diagnostic.span.source) + .is_some_and(|name| { + VirtualPath::parse(name) + .is_ok_and(|path| self.snapshot.get(&path).is_some()) + }) + && let Some(span) = diagnostic + .labels + .iter() + .map(|label| label.span) + .filter(|span| { + engine.source_name(span.source).is_some_and(|name| { + VirtualPath::parse(name) + .is_ok_and(|path| self.snapshot.get(&path).is_some()) + }) + }) + .min_by_key(|span| span.end.saturating_sub(span.start)) + { + diagnostic.span = span; + } + diagnostic + .labels + .retain(|label| label.span.source == diagnostic.span.source); + let mut projected = project_engine_diagnostic( + &engine, + &self.snapshot, + entrypoint.clone(), + &diagnostic, + ); + projected.kind = diagnostic_kind(diagnostic.kind).to_string(); + vec![projected] + } + } } pub fn complete( @@ -1309,7 +1376,7 @@ impl SnapshotEnvironment { } member_source.push('.'); member_source.push_str(prefix); - let completion_environment = ConfigFieldCompletionEnvironment { + let completion_environment = ConfigAuthoringEnvironment { environment: self, schema_path: if has_array { schema_path } else { &[] }, }; @@ -1379,12 +1446,12 @@ impl HostEnvironment for &SnapshotEnvironment { // Decodal has no indexed member syntax. Resolve array ranges only in this // completion environment, then reuse the language service's member behavior. -struct ConfigFieldCompletionEnvironment<'a> { +struct ConfigAuthoringEnvironment<'a> { environment: &'a SnapshotEnvironment, schema_path: &'a [ConfigCompletionPathSegment], } -impl HostEnvironment for ConfigFieldCompletionEnvironment<'_> { +impl HostEnvironment for ConfigAuthoringEnvironment<'_> { type Loader = SnapshotImportLoader; fn create_loader(&self) -> Self::Loader { @@ -2488,6 +2555,110 @@ mod tests { assert_eq!(environment.evaluate_contract(&contract).unwrap(), evaluated); } + #[test] + fn actual_profile_schema_diagnoses_nested_values_without_materializing_omissions() { + let schema = WorkspaceConfigSchemaBundle::compose([ConfigSchemaContribution::new( + "builtin:profile", + "profile", + "2", + include_str!("../../../resources/config-schema/profile.dcdl"), + ) + .unwrap() + .with_authoring_source(include_str!( + "../../../resources/config-schema/profile-authoring.dcdl" + ))]) + .unwrap(); + let source = "{ profile = { entries = [{ selector = \"project:alpha\"; profile = {}; }]; }; } as WorkspaceConfigSchema"; + let snapshot = ConfigTreeSnapshot::from_entries( + 8, + [ + entry("main.dcdl", source), + entry("recipe.dcdl", "{ worker = { mode = 42; }; }"), + ], + ) + .unwrap(); + let environment = SnapshotEnvironment::new(snapshot).with_schema_bundle(schema.clone()); + let contract = ToolchainContract::with_schema_bundle(1, vec![path("main.dcdl")], 1, schema); + let before = environment.evaluate_contract(&contract).unwrap(); + for value in [ + "{}", + "{ worker = {}; }", + "{ worker = { mode = \"wip\"; }; }", + "{ feature = { task = {}; }; }", + ] { + let source = source.replace("profile = {};", &format!("profile = {value};")); + assert!( + environment + .analyze(&path("main.dcdl"), Some(&source)) + .is_empty(), + "{source}" + ); + } + for (value, field, expected_path) in [ + ("{ worker = 42; }", "worker", "main.dcdl"), + ("{ worker = { mode = 42; }; }", "mode", "main.dcdl"), + ( + "{ feature = { task = { enabled = 42; }; }; }", + "enabled", + "main.dcdl", + ), + ("{ worker = { typo = \"wip\"; }; }", "typo", "main.dcdl"), + ("import \"./recipe.dcdl\"", "mode", "recipe.dcdl"), + ( + "(import \"./recipe.dcdl\") // { worker = { mode = 42; }; }", + "mode", + "main.dcdl", + ), + ] { + let source = source.replace("profile = {};", &format!("profile = {value};")); + let diagnostics = environment.analyze(&path("main.dcdl"), Some(&source)); + let diagnostic = diagnostics + .first() + .unwrap_or_else(|| panic!("missing {field} diagnostic for {source}")); + assert!( + matches!( + diagnostic.kind.as_str(), + "constraint_violation" | "type_mismatch" + ), + "{diagnostic:?}" + ); + assert_eq!(diagnostic.path, path(expected_path), "{diagnostic:?}"); + assert_eq!(diagnostic.revision, 8); + let diagnostic_source = if expected_path == "main.dcdl" { + &source + } else { + "{ worker = { mode = 42; }; }" + }; + assert!( + diagnostic.span.end_byte > diagnostic.span.start_byte + && diagnostic.span.end_byte <= diagnostic_source.len() as u32, + "{diagnostic:?}" + ); + assert!( + diagnostic.message.contains(field) + || diagnostic + .labels + .iter() + .any(|label| label.message.contains(field)), + "{diagnostic:?}" + ); + assert!( + diagnostic + .labels + .iter() + .all(|label| label.span.end_byte <= diagnostic_source.len() as u32) + ); + } + // Analysis never changes the evaluation schema or transports authoring fields. + assert_eq!(environment.evaluate_contract(&contract).unwrap(), before); + assert_eq!( + before.projections[0] + .data_json + .pointer("/profile/entries/0/profile"), + Some(&serde_json::json!({})) + ); + } + #[test] fn completion_authoring_sources_compose_with_validation_source_fallbacks() { let schema = WorkspaceConfigSchemaBundle::compose([ diff --git a/docs/design/profiles-manifests-prompts.md b/docs/design/profiles-manifests-prompts.md index 8d5192f39..c75a33fe1 100644 --- a/docs/design/profiles-manifests-prompts.md +++ b/docs/design/profiles-manifests-prompts.md @@ -43,7 +43,7 @@ The imported file can contain `{ worker = { mode = "wip"; }; model = { ref = "co The former `entries = [{ selector = "project:name"; source = "profiles/name.dcdl"; }]` registration is no longer accepted. Migrate it explicitly to `profile = import "./profiles/name.dcdl";`, preserving the selector, label, description and default. For registrations in a nested config file, adjust the relative import to the original virtual-tree entry (for example `../profiles/name.dcdl`). Do not rename or recreate the Profile file merely for registration. Previously saved source-based revisions remain readable as config data and are not rewritten, deleted, or silently substituted with a builtin. Their Profile projection/launch reports `profile_source_registration_removed` with the replacement form; saves under the new schema reject the old field. Existing Workers continue using their saved Manifest while the author migrates and saves the config. -The schema contribution separates its materialized registration schema from an optional, fingerprint-bound `authoring_source`. The latter supplies editor field suggestions inside array elements and partial Profile records; it is never evaluated as defaults or substituted for the validation schema. Decodal structural diagnostics cover registration/value shape, and the shared Backend save boundary checks full Profile/Manifest semantics (including mode, forbidden runtime fields, duplicate selectors and default references). UI and WIP saves use that same boundary; invalid candidates leave the active config revision untouched. +The schema contribution separates its materialized registration schema from an optional, fingerprint-bound `authoring_source`. The latter supplies editor field suggestions inside array elements and partial Profile records, plus a separate constraint-only analysis pass for supplied nested values (including imported recipes); that pass never materializes the shape, makes omitted fields required, or supplies defaults to the saved projection. Editor diagnostics point to the supplied value's virtual file/span. The authoring shape is never substituted for the persisted evaluation schema. Decodal structural diagnostics cover registration and nested Profile field types; the shared Backend save boundary additionally checks full Profile/Manifest semantics (including mode values, forbidden runtime fields, duplicate selectors and default references). UI and WIP saves use that same boundary; invalid candidates leave the active config revision untouched. ## Manifests diff --git a/docs/report/2026-10-06-review-finding-severity.md b/docs/report/2026-10-06-review-finding-severity.md new file mode 100644 index 000000000..72277abf6 --- /dev/null +++ b/docs/report/2026-10-06-review-finding-severity.md @@ -0,0 +1,12 @@ +# Review finding severity の入力契約 + +T-710 の独立レビュー中、Reviewer が `ReviewMergeRequest` に finding severity `medium` を渡し、HTTP 422 で拒否された。Backend の許可値は `blocker` / `major` / `minor` / `note` で、最初の呼び出しでは verdict が記録されなかった。 + +親は committed session と MR thread を確認して未記録であることを確かめ、Reviewer の新しい turn で同じ capability・同じ MR/source に対して `major` を使った訂正を依頼した。訂正は成功し、MR sequence 3 に `request_changes` が記録された。別の保存経路や Ticket comment で verdict を代替しなかった。 + +## 改善案 + +- finding severity は公開 tool schema でも Backend と同じ enum として示し、受理可能な語彙を入力前に確認できるようにする。 +- capability を使う操作の検証エラーでは、イベントが未記録であることと、訂正した入力を再送できるかを明確に返す。Reviewer が「一回の呼び出し」と「一回の有効な verdict 記録」を混同し、未記録のまま止まる障壁を減らせる。 + +これは observed rejection と訂正成功に基づくフィードバックであり、Backend の review authority を迂回する提案ではない。 diff --git a/resources/config-schema/profile-authoring.dcdl b/resources/config-schema/profile-authoring.dcdl index 62317038e..da6fe1853 100644 --- a/resources/config-schema/profile-authoring.dcdl +++ b/resources/config-schema/profile-authoring.dcdl @@ -1,5 +1,6 @@ -# Completion-only shape of partial Profile values. This is never materialized or -# used as defaults: omitted fields remain omitted until Manifest resolution. +# Editor-only shape of partial Profile values, used for completion and constraint +# analysis without materialization. Never used as defaults: omitted fields remain +# omitted until Manifest resolution. let Flag = { enabled = Bool; }; Model = { diff --git a/web/workspace/src/lib/workspace/config-source/generated/config_source_wasm_bg.wasm b/web/workspace/src/lib/workspace/config-source/generated/config_source_wasm_bg.wasm index 8fc0b42457573bdb91793220a34f0aaabd88b0b1..f6cf6e8cf87e1475bb84c2482d3c5fbc5c7846d3 100644 GIT binary patch delta 194571 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 =?f^NQzqXFd-H96VH4V-I#kl<3ZcTix2RU3 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 Bd-DJQ diff --git a/web/workspace/test/config-source/wasm-parity.test.ts b/web/workspace/test/config-source/wasm-parity.test.ts index 637299db7..cd03c15d5 100644 --- a/web/workspace/test/config-source/wasm-parity.test.ts +++ b/web/workspace/test/config-source/wasm-parity.test.ts @@ -475,19 +475,100 @@ Deno.test("generated WASM authors value-based Profiles using the Backend schema ); assertEquals(result.from, cursor - token.length); } - const invalidContent = content.replace("profile = {};", "profile = 42;"); - const invalid = { + for ( + const value of [ + "{}", + "{ worker = {}; }", + '{ worker = { mode = "wip"; }; }', + "{ feature = { task = {}; }; }", + ] + ) { + const partialContent = content.replace( + "profile = {};", + `profile = ${value};`, + ); + assertEquals( + analyze_snapshot(tree, "main.dcdl", partialContent), + [], + value, + ); + } + const recipe = "{ worker = { mode = 42; }; }"; + const analysisTree = { ...tree, entries: { - "main.dcdl": { ...tree.entries["main.dcdl"], content: invalidContent }, + ...tree.entries, + "recipe.dcdl": { + path: "recipe.dcdl", + content_type: "decodal", + content: recipe, + content_digest: await digestText(recipe), + }, }, }; - const diagnostics = analyze_snapshot( - invalid, - "main.dcdl", - undefined, - ) as Array< - unknown - >; - assertEquals(diagnostics.length > 0, true); + for ( + const [value, field, expectedPath] of [ + ["42", "profile", "main.dcdl"], + ["{ worker = 42; }", "worker", "main.dcdl"], + ["{ worker = { mode = 42; }; }", "mode", "main.dcdl"], + ["{ feature = { task = { enabled = 42; }; }; }", "enabled", "main.dcdl"], + ['{ worker = { typo = "wip"; }; }', "typo", "main.dcdl"], + ['import "./recipe.dcdl"', "mode", "recipe.dcdl"], + [ + '(import "./recipe.dcdl") // { worker = { mode = 42; }; }', + "mode", + "main.dcdl", + ], + ] + ) { + const invalidContent = content.replace( + "profile = {};", + `profile = ${value};`, + ); + const diagnostics = analyze_snapshot( + analysisTree, + "main.dcdl", + invalidContent, + ) as Array<{ + path: string; + revision: number; + kind: string; + span: { start_byte: number; end_byte: number }; + message: string; + labels: Array< + { span: { start_byte: number; end_byte: number }; message: string } + >; + }>; + assertEquals(diagnostics.length > 0, true, value); + const diagnostic = diagnostics[0]; + assertEquals(diagnostic.path, expectedPath); + assertEquals(diagnostic.revision, tree.revision); + assertEquals( + ["constraint_violation", "type_mismatch"].includes(diagnostic.kind), + true, + ); + assertEquals( + diagnostic.message.includes(field) || + diagnostic.labels.some((label) => label.message.includes(field)), + true, + ); + // New authoring failures must be anchored in the supplied value, not the + // much longer schema source, including relative imported recipes. + if (value !== "42") { + const length = new TextEncoder().encode( + expectedPath === "main.dcdl" ? invalidContent : recipe, + ).length; + assertEquals( + diagnostic.span.end_byte > diagnostic.span.start_byte && + diagnostic.span.end_byte <= length, + true, + ); + assertEquals( + diagnostic.labels.every((label) => label.span.end_byte <= length), + true, + ); + } + } + // Neither completion nor diagnostic shape checking changes the saved value. + assertEquals(evaluate_snapshot(tree, valueContract), evaluated); }); From 61f0469986b634544f01698211877e1f344ef2e7 Mon Sep 17 00:00:00 2001 From: Hare Date: Wed, 7 Oct 2026 02:25:16 +0900 Subject: [PATCH 3/4] fix: preserve string and table Profile scope authoring (T-710) Resolve MR sequence 5 profile_authoring_rejects_valid_string_scope_intents. Decodal 0.4 has no union constraint: retain an opaque scope range with non-materialized table completion hints so string intents remain valid. Keep shared Backend semantic validation authoritative for scope forms/types/unknown keys without changing persisted values or weakening worker/feature editor diagnostics. Prove actual-provider native/WASM scalar/table, inline/import/patch, nested intent/deny_write/symlink_policy completion and evaluation invariance. Add real save/projection/Runtime scope equivalence and invalid-scope save non-loss coverage. Regenerated WASM artifact is byte-identical; the changed shape is transported via the fingerprint-bound Backend schema metadata. Validation: root cargo check; config-source39; value_profiles4; unfiltered server643+11; worker-runtime340+17+17; server-api --features typescript77; wasm32 release/wasm-bindgen0.2.117/Binaryen132 -Oz; Deno39; deno task check0/0; fmt/diff checks. Logs target/t710-scope-{check,server,server-api,runtime}.log. No target/ref integration changes. --- crates/config-source/src/lib.rs | 87 ++++++++++++++++++- .../src/server/tests/value_profiles_tests.rs | 81 +++++++++++++++++ docs/design/profiles-manifests-prompts.md | 2 + .../config-schema/profile-authoring.dcdl | 6 +- .../test/config-source/wasm-parity.test.ts | 87 +++++++++++++++++++ 5 files changed, 258 insertions(+), 5 deletions(-) diff --git a/crates/config-source/src/lib.rs b/crates/config-source/src/lib.rs index 8f1239d3d..d5c1f7eb5 100644 --- a/crates/config-source/src/lib.rs +++ b/crates/config-source/src/lib.rs @@ -2555,9 +2555,8 @@ mod tests { assert_eq!(environment.evaluate_contract(&contract).unwrap(), evaluated); } - #[test] - fn actual_profile_schema_diagnoses_nested_values_without_materializing_omissions() { - let schema = WorkspaceConfigSchemaBundle::compose([ConfigSchemaContribution::new( + fn actual_profile_schema() -> WorkspaceConfigSchemaBundle { + WorkspaceConfigSchemaBundle::compose([ConfigSchemaContribution::new( "builtin:profile", "profile", "2", @@ -2567,7 +2566,12 @@ mod tests { .with_authoring_source(include_str!( "../../../resources/config-schema/profile-authoring.dcdl" ))]) - .unwrap(); + .unwrap() + } + + #[test] + fn actual_profile_schema_diagnoses_nested_values_without_materializing_omissions() { + let schema = actual_profile_schema(); let source = "{ profile = { entries = [{ selector = \"project:alpha\"; profile = {}; }]; }; } as WorkspaceConfigSchema"; let snapshot = ConfigTreeSnapshot::from_entries( 8, @@ -2659,6 +2663,81 @@ mod tests { ); } + #[test] + fn actual_profile_schema_preserves_scalar_and_table_scope_forms_and_completion() { + for (recipe, expected) in [ + ( + r#"{ scope = "workspace_read"; delegation_scope = "workspace_write"; }"#, + serde_json::json!({"scope": "workspace_read", "delegation_scope": "workspace_write"}), + ), + ( + r#"{ scope = "workspace_write"; delegation_scope = "workspace_read"; }"#, + serde_json::json!({"scope": "workspace_write", "delegation_scope": "workspace_read"}), + ), + ( + r#"{ scope = { intent = "workspace_read"; }; delegation_scope = { intent = "workspace_write"; deny_write = ["private"]; symlink_policy = "resolved"; }; }"#, + serde_json::json!({"scope": {"intent": "workspace_read"}, "delegation_scope": {"intent": "workspace_write", "deny_write": ["private"], "symlink_policy": "resolved"}}), + ), + ] { + for form in [ + recipe.to_owned(), + r#"import "./scoped.dcdl""#.into(), + format!(r#"(import "./scoped.dcdl") // {{ description = "patched"; }}"#), + ] { + let source = format!( + r#"{{ profile.entries = [{{ selector = "project:scoped"; profile = {form}; }}]; }} as WorkspaceConfigSchema"# + ); + let snapshot = ConfigTreeSnapshot::from_entries( + 9, + [entry("main.dcdl", &source), entry("scoped.dcdl", recipe)], + ) + .unwrap(); + let schema = actual_profile_schema(); + let environment = + SnapshotEnvironment::new(snapshot).with_schema_bundle(schema.clone()); + let contract = + ToolchainContract::with_schema_bundle(1, vec![path("main.dcdl")], 1, schema); + let before = environment.evaluate_contract(&contract).unwrap(); + assert!( + environment.analyze(&path("main.dcdl"), None).is_empty(), + "{source}" + ); + let mut expected = expected.clone(); + if form.contains("patched") { + expected["description"] = serde_json::json!("patched"); + } + assert_eq!( + before.projections[0] + .data_json + .pointer("/profile/entries/0/profile"), + Some(&expected) + ); + for field in ["scope", "delegation_scope"] { + for (prefix, label) in [ + ("int", "intent"), + ("deny", "deny_write"), + ("sym", "symlink_policy"), + ] { + let marked = format!( + "{{ profile.entries = [{{ profile.{field} = {{ {prefix}| }}; }}]; }} as WorkspaceConfigSchema" + ); + let cursor = marked.find('|').unwrap(); + let source = marked.replace('|', ""); + let result = environment + .complete_config(&path("main.dcdl"), &source, cursor, true) + .unwrap() + .unwrap(); + assert!( + result.items.iter().any(|item| item.label == label), + "{source}: {result:?}" + ); + } + } + assert_eq!(environment.evaluate_contract(&contract).unwrap(), before); + } + } + } + #[test] fn completion_authoring_sources_compose_with_validation_source_fallbacks() { let schema = WorkspaceConfigSchemaBundle::compose([ diff --git a/crates/workspace-server/src/server/tests/value_profiles_tests.rs b/crates/workspace-server/src/server/tests/value_profiles_tests.rs index 984f8f5b4..72c72f6ad 100644 --- a/crates/workspace-server/src/server/tests/value_profiles_tests.rs +++ b/crates/workspace-server/src/server/tests/value_profiles_tests.rs @@ -228,6 +228,81 @@ async fn value_profiles_save_project_and_runtime_consume_the_same_revision() { assert!(restored.feature.task.enabled); } +#[tokio::test] +async fn value_profiles_scalar_and_table_scopes_analyze_save_and_resolve_equally() { + let dir = tempfile::tempdir().unwrap(); + let api = test_api(dir.path()).await; + let scalar = format!( + r#"{PROFILE} // {{ scope = "workspace_read"; delegation_scope = "workspace_write"; }}"# + ); + let table = format!( + r#"{PROFILE} // {{ scope = {{ intent = "workspace_read"; }}; delegation_scope = {{ intent = "workspace_write"; }}; }}"# + ); + let mut scopes = Vec::new(); + for (index, form) in [scalar.clone(), table, r#"import "./scoped.dcdl""#.into()] + .iter() + .enumerate() + { + let extra = if index == 0 { + vec![config_source::ConfigTreeChange::Create { + path: config_source::VirtualPath::parse("scoped.dcdl").unwrap(), + content_type: config_source::ConfigContentType::Decodal, + content: scalar.clone(), + }] + } else { + vec![] + }; + let authored = format!("{} as WorkspaceConfigSchema", source(form)); + let state = + commit_workspace_config_tree(&api, TEST_WORKSPACE_ID, &request(&api, &authored, extra)) + .unwrap(); + let environment = config_source::SnapshotEnvironment::new(state.snapshot.clone()) + .with_schema_bundle(state.contract.schema_bundle.clone()); + assert!( + environment + .analyze( + &config_source::VirtualPath::parse("main.dcdl").unwrap(), + None + ) + .is_empty(), + "{authored}" + ); + let projection = project_profiles_from_workspace_config(TEST_WORKSPACE_ID, &state).unwrap(); + let bundle = build_virtual_profile_config_bundle( + &projection, + &state, + TEST_WORKSPACE_ID, + "created", + "project:alpha", + ) + .unwrap() + .unwrap(); + let resolved = bundle + .profile_source_archive + .as_ref() + .unwrap() + .verify() + .unwrap() + .resolve_profile( + "project:alpha", + Path::new("/runtime-worker"), + "scoped-worker", + ) + .unwrap(); + assert_eq!(resolved.scope.allow.len(), 1); + assert_eq!(resolved.delegation_scope.allow.len(), 1); + let scope = serde_json::to_value(&resolved.scope).unwrap(); + let delegation = serde_json::to_value(&resolved.delegation_scope).unwrap(); + assert_eq!(scope["allow"][0]["target"], "/runtime-worker"); + assert_eq!(scope["allow"][0]["permission"], "read"); + assert_eq!(delegation["allow"][0]["target"], "/runtime-worker"); + assert_eq!(delegation["allow"][0]["permission"], "write"); + scopes.push((scope, delegation)); + } + assert_eq!(scopes[0], scopes[1]); + assert_eq!(scopes[1], scopes[2]); +} + #[tokio::test] async fn value_profiles_invalid_saves_preserve_the_active_config() { let dir = tempfile::tempdir().unwrap(); @@ -242,6 +317,12 @@ async fn value_profiles_invalid_saves_preserve_the_active_config() { (source("42"), ""), (source(r#"{ worker = { mode = "not-a-mode"; }; }"#), "profile_value_invalid"), (source(r#"{ worker = { name = "runtime-only"; }; }"#), "profile_value_invalid"), + (source(r#"{ scope = 42; }"#), "profile_value_invalid"), + (source(r#"{ scope = "not-an-intent"; }"#), "profile_value_invalid"), + (source(r#"{ delegation_scope = { intent = 42; }; }"#), "profile_value_invalid"), + (source(r#"{ scope = { intent = "workspace_read"; unknown = true; }; }"#), "profile_value_invalid"), + (source(r#"{ scope = { intent = "workspace_read"; deny_write = 42; }; }"#), "profile_value_invalid"), + (source(r#"{ delegation_scope = { intent = "workspace_write"; symlink_policy = 42; }; }"#), "profile_value_invalid"), (source(r#"import "./missing.dcdl""#), ""), (source(r#"import "../outside.dcdl""#), ""), (r#"{ profile = { entries = [{ selector = "project:alpha"; profile = {}; }, { selector = "project:alpha"; profile = {}; }]; }; }"#.into(), "profile_selector_duplicate"), diff --git a/docs/design/profiles-manifests-prompts.md b/docs/design/profiles-manifests-prompts.md index c75a33fe1..f89c33192 100644 --- a/docs/design/profiles-manifests-prompts.md +++ b/docs/design/profiles-manifests-prompts.md @@ -45,6 +45,8 @@ The former `entries = [{ selector = "project:name"; source = "profiles/name.dcdl The schema contribution separates its materialized registration schema from an optional, fingerprint-bound `authoring_source`. The latter supplies editor field suggestions inside array elements and partial Profile records, plus a separate constraint-only analysis pass for supplied nested values (including imported recipes); that pass never materializes the shape, makes omitted fields required, or supplies defaults to the saved projection. Editor diagnostics point to the supplied value's virtual file/span. The authoring shape is never substituted for the persisted evaluation schema. Decodal structural diagnostics cover registration and nested Profile field types; the shared Backend save boundary additionally checks full Profile/Manifest semantics (including mode values, forbidden runtime fields, duplicate selectors and default references). UI and WIP saves use that same boundary; invalid candidates leave the active config revision untouched. +`scope` and `delegation_scope` retain both supported forms: a string such as `"workspace_read"` / `"workspace_write"`, or a table such as `{ intent = "workspace_read"; deny_write = ["private"]; symlink_policy = "resolved"; }`. Decodal 0.4 has no union range, so these fields are opaque to the editor constraint pass; a non-materialized table hint supplies nested completion without rejecting the string form or rewriting it. The shared Backend save validator checks scope forms, intent values and table fields (including their types and unknown keys). Other structurally typed fields such as `worker.mode` and `feature.task.enabled` retain editor type diagnostics. Completion hints never become Profile defaults or saved values. + ## Manifests A resolved Manifest is the concrete contract used to create or restore a Worker. It carries defaults, resolved paths, permissions, scope, prompt references, provider/model decisions, and runtime identity. diff --git a/resources/config-schema/profile-authoring.dcdl b/resources/config-schema/profile-authoring.dcdl index da6fe1853..ffd1b5e83 100644 --- a/resources/config-schema/profile-authoring.dcdl +++ b/resources/config-schema/profile-authoring.dcdl @@ -12,7 +12,11 @@ let enabled = Bool; model = Model; reasoning = String; threshold = Int; worker_max_turns = Int; }; - Scope = { intent = String; deny_write = [...String]; symlink_policy = String; }; + # Profile scope accepts either a string intent or a table. Decodal 0.4 has + # no union range; keep this field opaque to constraint analysis and expose + # the table only as a completion hint. This shape is never materialized; + # actual scope forms, intent values and table fields are checked on save. + Scope = Unknown default { intent = String; deny_write = [...String]; symlink_policy = String; }; Profile = { slug = String; description = String; diff --git a/web/workspace/test/config-source/wasm-parity.test.ts b/web/workspace/test/config-source/wasm-parity.test.ts index cd03c15d5..be59ab095 100644 --- a/web/workspace/test/config-source/wasm-parity.test.ts +++ b/web/workspace/test/config-source/wasm-parity.test.ts @@ -569,6 +569,93 @@ Deno.test("generated WASM authors value-based Profiles using the Backend schema ); } } + for (const field of ["scope", "delegation_scope"]) { + for ( + const [prefix, label] of [["int", "intent"], ["deny", "deny_write"], [ + "sym", + "symlink_policy", + ]] + ) { + const body = + `{ profile.entries = [{ profile.${field} = { ${prefix} } }]; } as WorkspaceConfigSchema`; + const cursor = body.lastIndexOf(prefix) + prefix.length; + const result = complete_current("main.dcdl", body, cursor, true) as { + items: Array<{ label: string }>; + }; + assertEquals( + result.items.some((item) => item.label === label), + true, + `${field}.${label}`, + ); + } + } + for ( + const [recipe, expected] of [ + ['{ scope = "workspace_read"; delegation_scope = "workspace_write"; }', { + scope: "workspace_read", + delegation_scope: "workspace_write", + }], + ['{ scope = "workspace_write"; delegation_scope = "workspace_read"; }', { + scope: "workspace_write", + delegation_scope: "workspace_read", + }], + [ + '{ scope = { intent = "workspace_read"; }; delegation_scope = { intent = "workspace_write"; deny_write = ["private"]; symlink_policy = "resolved"; }; }', + { + scope: { intent: "workspace_read" }, + delegation_scope: { + intent: "workspace_write", + deny_write: ["private"], + symlink_policy: "resolved", + }, + }, + ], + ] as const + ) { + for ( + const form of [ + recipe, + 'import "./scoped.dcdl"', + '(import "./scoped.dcdl") // { description = "patched"; }', + ] + ) { + const scopedContent = content.replace( + "profile = {};", + `profile = ${form};`, + ); + const scopedTree = { + ...tree, + entries: { + "main.dcdl": { + ...tree.entries["main.dcdl"], + content: scopedContent, + content_digest: await digestText(scopedContent), + }, + "scoped.dcdl": { + path: "scoped.dcdl", + content_type: "decodal", + content: recipe, + content_digest: await digestText(recipe), + }, + }, + }; + assertEquals( + analyze_snapshot(scopedTree, "main.dcdl", undefined), + [], + form, + ); + const result = evaluate_snapshot( + scopedTree, + valueContract, + ) as typeof evaluated; + assertEquals( + result.projections[0].data_json.profile.entries[0].profile, + form.includes("patched") + ? { ...expected, description: "patched" } + : expected, + ); + } + } // Neither completion nor diagnostic shape checking changes the saved value. assertEquals(evaluate_snapshot(tree, valueContract), evaluated); }); From e24fbabe54ca01f5c89557e2abf9ef16dcadb818 Mon Sep 17 00:00:00 2001 From: Hare Date: Wed, 7 Oct 2026 02:51:29 +0900 Subject: [PATCH 4/4] fix: align Profile authoring with compaction and reasoning contracts (T-710) Resolve MR seq9 supported-compaction-fields and numeric-extraction-reasoning findings. Cover all canonical CompactionConfigPartial settings, token aliases and ratio helpers; accept string effort and signed integer extraction budgets without materializing editor defaults. Audit the remaining Profile field groups against their real serde contracts. Share an actual-provider value corpus across native, generated WASM, and shared save/projection/verified Runtime archive consumption. Prove inline/import/patch exact values and effective Manifest settings; gate canonical compaction field coverage against serialization of the actual partial type. Keep prior scope union and worker/feature diagnostics fixes intact. Validation: root cargo check; config-source40; unfiltered server644+11; Runtime340+17+17; API typescript77; Deno39; deno task check0/0; wasm32 release regeneration byte-identical with wasm-bindgen0.2.117/Binaryen132; cargo fmt/diff checks. Logs target/t710-contract-{check,config-source,server,api,runtime}.log. Reviewer seq9 independently confirmed seq3/5/7 resolution and correct main/relative-cwd routing. No target integration/ref mutations. --- crates/config-source/src/lib.rs | 104 ++++++++++++++ .../src/server/tests/value_profiles_tests.rs | 135 ++++++++++++++++++ docs/design/profiles-manifests-prompts.md | 2 + .../profile-authoring-values.json | 116 +++++++++++++++ .../config-schema/profile-authoring.dcdl | 17 ++- .../test/config-source/wasm-parity.test.ts | 95 ++++++++++++ 6 files changed, 466 insertions(+), 3 deletions(-) create mode 100644 resources/config-schema/profile-authoring-values.json diff --git a/crates/config-source/src/lib.rs b/crates/config-source/src/lib.rs index d5c1f7eb5..71264ef60 100644 --- a/crates/config-source/src/lib.rs +++ b/crates/config-source/src/lib.rs @@ -2738,6 +2738,110 @@ mod tests { } } + fn fixture_decodal(value: &serde_json::Value) -> String { + match value { + serde_json::Value::Object(fields) => format!( + "{{ {} }}", + fields + .iter() + .map(|(key, value)| format!("{key} = {};", fixture_decodal(value))) + .collect::>() + .join(" ") + ), + serde_json::Value::Array(values) => format!( + "[{}]", + values + .iter() + .map(fixture_decodal) + .collect::>() + .join(", ") + ), + serde_json::Value::Null => panic!("fixture omission must not be represented as null"), + value => value.to_string(), + } + } + + #[test] + fn actual_profile_authoring_value_corpus_preserves_supported_forms() { + let cases: Vec = serde_json::from_str(include_str!( + "../../../resources/config-schema/profile-authoring-values.json" + )) + .unwrap(); + for case in cases { + let recipe = fixture_decodal(&case["profile"]); + for (form, patched) in [ + (recipe.clone(), false), + (r#"import "./recipe.dcdl""#.into(), false), + ( + r#"(import "./recipe.dcdl") // { description = "patched"; }"#.into(), + true, + ), + ] { + let source = format!( + r#"{{ profile.entries = [{{ selector = "project:corpus"; profile = {form}; }}]; }} as WorkspaceConfigSchema"# + ); + let snapshot = ConfigTreeSnapshot::from_entries( + 10, + [entry("main.dcdl", &source), entry("recipe.dcdl", &recipe)], + ) + .unwrap(); + let schema = actual_profile_schema(); + let environment = + SnapshotEnvironment::new(snapshot).with_schema_bundle(schema.clone()); + let contract = + ToolchainContract::with_schema_bundle(1, vec![path("main.dcdl")], 1, schema); + let before = environment.evaluate_contract(&contract).unwrap(); + let diagnostics = environment.analyze(&path("main.dcdl"), None); + assert!( + diagnostics.is_empty(), + "{}: {form}: {diagnostics:?}", + case["name"] + ); + let mut expected = case["profile"].clone(); + if patched { + expected["description"] = serde_json::json!("patched"); + } + assert_eq!( + before.projections[0] + .data_json + .pointer("/profile/entries/0/profile"), + Some(&expected), + "{}", + case["name"] + ); + assert_eq!(environment.evaluate_contract(&contract).unwrap(), before); + } + } + let source = "{} as WorkspaceConfigSchema"; + let environment = SnapshotEnvironment::new( + ConfigTreeSnapshot::from_entries(10, [entry("main.dcdl", source)]).unwrap(), + ) + .with_schema_bundle(actual_profile_schema()); + for (profile_path, prefix, label) in [ + ("compaction", "reta", "retained_tokens"), + ("compaction", "prune_min", "prune_min_savings"), + ("compaction", "req", "request"), + ("compaction", "wor", "worker"), + ("compaction", "compact_ret", "compact_retained_tokens"), + ("feature.memory.extraction", "reas", "reasoning"), + ("feature.subjektiv.extraction", "reas", "reasoning"), + ] { + let marked = format!( + "{{ profile.entries = [{{ profile.{profile_path} = {{ {prefix}| }}; }}]; }} as WorkspaceConfigSchema" + ); + let cursor = marked.find('|').unwrap(); + let source = marked.replace('|', ""); + let result = environment + .complete_config(&path("main.dcdl"), &source, cursor, true) + .unwrap() + .unwrap(); + assert!( + result.items.iter().any(|item| item.label == label), + "{source}: {result:?}" + ); + } + } + #[test] fn completion_authoring_sources_compose_with_validation_source_fallbacks() { let schema = WorkspaceConfigSchemaBundle::compose([ diff --git a/crates/workspace-server/src/server/tests/value_profiles_tests.rs b/crates/workspace-server/src/server/tests/value_profiles_tests.rs index 72c72f6ad..b375fdeb9 100644 --- a/crates/workspace-server/src/server/tests/value_profiles_tests.rs +++ b/crates/workspace-server/src/server/tests/value_profiles_tests.rs @@ -303,6 +303,141 @@ async fn value_profiles_scalar_and_table_scopes_analyze_save_and_resolve_equally assert_eq!(scopes[1], scopes[2]); } +fn profile_fixture_decodal(value: &serde_json::Value) -> String { + match value { + serde_json::Value::Object(fields) => format!( + "{{ {} }}", + fields + .iter() + .map(|(key, value)| format!("{key} = {};", profile_fixture_decodal(value))) + .collect::>() + .join(" ") + ), + serde_json::Value::Array(values) => format!( + "[{}]", + values + .iter() + .map(profile_fixture_decodal) + .collect::>() + .join(", ") + ), + serde_json::Value::Null => panic!("fixture omission must not be represented as null"), + value => value.to_string(), + } +} + +#[tokio::test] +async fn value_profiles_authoring_corpus_preserves_effective_runtime_settings() { + let cases: Vec = serde_json::from_str(include_str!( + "../../../../../resources/config-schema/profile-authoring-values.json" + )) + .unwrap(); + // The canonical token fixture must exercise every serializable setting, + // so adding a field to CompactionConfigPartial cannot silently outgrow the + // editor-shape coverage. Aliases/ratio helpers have separate corpus cases. + let default = serde_json::to_value(manifest::CompactionConfigPartial::default()).unwrap(); + let canonical = cases + .iter() + .find(|case| case["name"] == "canonical_compaction_tokens") + .unwrap(); + assert_eq!( + default + .as_object() + .unwrap() + .keys() + .collect::>(), + canonical["profile"]["compaction"] + .as_object() + .unwrap() + .keys() + .filter(|name| name.as_str() != "kind") + .collect() + ); + for case in cases { + let dir = tempfile::tempdir().unwrap(); + let api = test_api(dir.path()).await; + let recipe = profile_fixture_decodal(&case["profile"]); + for (index, (form, patched)) in [ + (recipe.clone(), false), + (r#"import "./recipe.dcdl""#.into(), false), + ( + r#"(import "./recipe.dcdl") // { description = "patched"; }"#.into(), + true, + ), + ] + .iter() + .enumerate() + { + let extra = if index == 0 { + vec![config_source::ConfigTreeChange::Create { + path: config_source::VirtualPath::parse("recipe.dcdl").unwrap(), + content_type: config_source::ConfigContentType::Decodal, + content: recipe.clone(), + }] + } else { + vec![] + }; + let authored = format!("{} as WorkspaceConfigSchema", source(form)); + let state = commit_workspace_config_tree( + &api, + TEST_WORKSPACE_ID, + &request(&api, &authored, extra), + ) + .unwrap(); + let environment = config_source::SnapshotEnvironment::new(state.snapshot.clone()) + .with_schema_bundle(state.contract.schema_bundle.clone()); + let diagnostics = environment.analyze( + &config_source::VirtualPath::parse("main.dcdl").unwrap(), + None, + ); + assert!(diagnostics.is_empty(), "{}: {diagnostics:?}", case["name"]); + let mut expected = case["profile"].clone(); + if *patched { + expected["description"] = serde_json::json!("patched"); + } + let evaluated = environment.evaluate_contract(&state.contract).unwrap(); + assert_eq!( + evaluated.projections[0] + .data_json + .pointer("/profile/entries/0/profile"), + Some(&expected) + ); + let projection = + project_profiles_from_workspace_config(TEST_WORKSPACE_ID, &state).unwrap(); + let bundle = build_virtual_profile_config_bundle( + &projection, + &state, + TEST_WORKSPACE_ID, + "created", + "project:alpha", + ) + .unwrap() + .unwrap(); + let resolved = bundle + .profile_source_archive + .as_ref() + .unwrap() + .verify() + .unwrap() + .resolve_profile( + "project:alpha", + Path::new("/runtime-worker"), + "corpus-worker", + ) + .unwrap(); + let manifest = serde_json::to_value(resolved).unwrap(); + for (pointer, value) in case["manifest_expect"].as_object().unwrap() { + assert_eq!( + manifest.pointer(pointer), + Some(value), + "{}: {pointer}", + case["name"] + ); + } + } + } +} + #[tokio::test] async fn value_profiles_invalid_saves_preserve_the_active_config() { let dir = tempfile::tempdir().unwrap(); diff --git a/docs/design/profiles-manifests-prompts.md b/docs/design/profiles-manifests-prompts.md index f89c33192..f791eb084 100644 --- a/docs/design/profiles-manifests-prompts.md +++ b/docs/design/profiles-manifests-prompts.md @@ -47,6 +47,8 @@ The schema contribution separates its materialized registration schema from an o `scope` and `delegation_scope` retain both supported forms: a string such as `"workspace_read"` / `"workspace_write"`, or a table such as `{ intent = "workspace_read"; deny_write = ["private"]; symlink_policy = "resolved"; }`. Decodal 0.4 has no union range, so these fields are opaque to the editor constraint pass; a non-materialized table hint supplies nested completion without rejecting the string form or rewriting it. The shared Backend save validator checks scope forms, intent values and table fields (including their types and unknown keys). Other structurally typed fields such as `worker.mode` and `feature.task.enabled` retain editor type diagnostics. Completion hints never become Profile defaults or saved values. +Extraction `reasoning` in both `feature.memory` and `feature.subjektiv`, like `engine.reasoning`, accepts either a string effort or a signed integer budget. These union values are also opaque to editor constraints and semantically checked on save. Compaction authoring covers the complete token settings and their supported `compact_*` aliases, plus the ratio helper's `request` / `worker` aliases; values are not renamed or defaulted during Workspace evaluation. The shared test corpus `resources/config-schema/profile-authoring-values.json` proves exact values in native/WASM analysis and effective settings through save/projection/Runtime consumption. Its canonical compaction case must cover every serialized `CompactionConfigPartial` field, making future contract drift visible in tests. + ## Manifests A resolved Manifest is the concrete contract used to create or restore a Worker. It carries defaults, resolved paths, permissions, scope, prompt references, provider/model decisions, and runtime identity. diff --git a/resources/config-schema/profile-authoring-values.json b/resources/config-schema/profile-authoring-values.json new file mode 100644 index 000000000..4038f72f4 --- /dev/null +++ b/resources/config-schema/profile-authoring-values.json @@ -0,0 +1,116 @@ +[ + { + "name": "canonical_compaction_tokens", + "profile": { + "compaction": { + "kind": "tokens", + "prune_enabled": false, + "prune_protected_tokens": 3000, + "prune_min_savings": 1000, + "threshold": 80000, + "request_threshold": 90000, + "retained_tokens": 12000, + "overview_target_tokens": 1000, + "overview_warning_tokens": 2000, + "overview_deadline_tokens": 3000, + "worker_context_max_tokens": 20000, + "finish_warning_remaining_tokens": 1000, + "final_reserve_tokens": 2000, + "worker_max_turns": 5, + "summary_target_tokens": 1000, + "summary_max_tokens": 2000, + "auto_read_budget_tokens": 500, + "result_context_max_tokens": 4000, + "model": { "ref": "codex-oauth/gpt-5.6-sol" } + } + }, + "manifest_expect": { + "/compaction/prune_enabled": false, + "/compaction/prune_protected_tokens": 3000, + "/compaction/prune_min_savings": 1000, + "/compaction/threshold": 80000, + "/compaction/request_threshold": 90000, + "/compaction/retained_tokens": 12000, + "/compaction/overview_target_tokens": 1000, + "/compaction/overview_warning_tokens": 2000, + "/compaction/overview_deadline_tokens": 3000, + "/compaction/worker_context_max_tokens": 20000, + "/compaction/finish_warning_remaining_tokens": 1000, + "/compaction/final_reserve_tokens": 2000, + "/compaction/worker_max_turns": 5, + "/compaction/summary_target_tokens": 1000, + "/compaction/summary_max_tokens": 2000, + "/compaction/auto_read_budget_tokens": 500, + "/compaction/result_context_max_tokens": 4000, + "/compaction/model/ref": "codex-oauth/gpt-5.6-sol" + } + }, + { + "name": "compaction_token_aliases_without_kind", + "profile": { + "compaction": { + "compact_threshold": 80000, + "compact_request_threshold": 90000, + "compact_retained_tokens": 12000, + "compact_worker_max_input_tokens": 20000, + "compact_worker_max_turns": 5, + "compact_auto_read_budget": 500 + } + }, + "manifest_expect": { + "/compaction/threshold": 80000, + "/compaction/request_threshold": 90000, + "/compaction/retained_tokens": 12000, + "/compaction/worker_context_max_tokens": 20000, + "/compaction/worker_max_turns": 5, + "/compaction/auto_read_budget_tokens": 500 + } + }, + { + "name": "compaction_ratio_aliases", + "profile": { + "model": { "context_window": 100000 }, + "compaction": { + "kind": "ratio", + "threshold": 0.9, + "request": 0.8, + "worker": 0.2 + } + }, + "manifest_expect": { + "/compaction/threshold": 90000, + "/compaction/request_threshold": 80000, + "/compaction/worker_context_max_tokens": 20000 + } + }, + { + "name": "numeric_extraction_reasoning", + "profile": { + "engine": { "reasoning": -1 }, + "feature": { + "memory": { "extraction": { "enabled": true, "reasoning": 4096 } }, + "subjektiv": { "extraction": { "enabled": true, "reasoning": 4096 } } + } + }, + "manifest_expect": { + "/engine/reasoning": -1, + "/feature/memory/profile/extraction/reasoning": 4096, + "/feature/subjektiv/profile/extraction/reasoning": 4096 + } + }, + { + "name": "string_extraction_reasoning", + "profile": { + "feature": { + "memory": { "extraction": { "enabled": true, "reasoning": "high" } }, + "subjektiv": { + "extraction": { "enabled": true, "reasoning": "medium" } + } + } + }, + "manifest_expect": { + "/feature/memory/profile/extraction/reasoning": "high", + "/feature/subjektiv/profile/extraction/reasoning": "medium" + } + } +] diff --git a/resources/config-schema/profile-authoring.dcdl b/resources/config-schema/profile-authoring.dcdl index ffd1b5e83..d2cb97ce3 100644 --- a/resources/config-schema/profile-authoring.dcdl +++ b/resources/config-schema/profile-authoring.dcdl @@ -9,7 +9,8 @@ let capability = Unknown; context_window = Int; max_context_window = Int; }; Extraction = { - enabled = Bool; model = Model; reasoning = String; + # ReasoningControl accepts string effort or signed integer budget. + enabled = Bool; model = Model; reasoning = Unknown; threshold = Int; worker_max_turns = Int; }; # Profile scope accepts either a string intent or a table. Decodal 0.4 has @@ -56,9 +57,19 @@ let env = { inherit = [...String]; set = { ...Unknown }; }; }]; }; compaction = { + # Token settings (CompactionConfigPartial) and ratio helper fields. + # Threshold/context values accept integer tokens or numeric ratios. kind = String; threshold = Unknown; request_threshold = Unknown; - prune_enabled = Bool; worker_context_max_tokens = Unknown; - worker_max_turns = Int; model = Model; + worker_context_max_tokens = Unknown; request = Unknown; worker = Unknown; + prune_enabled = Bool; prune_protected_tokens = Int; prune_min_savings = Int; + retained_tokens = Int; + overview_target_tokens = Int; overview_warning_tokens = Int; overview_deadline_tokens = Int; + finish_warning_remaining_tokens = Int; final_reserve_tokens = Int; + worker_max_turns = Int; summary_target_tokens = Int; summary_max_tokens = Int; + auto_read_budget_tokens = Int; result_context_max_tokens = Int; model = Model; + # Supported token aliases remain authorable without rewriting recipes. + compact_threshold = Int; compact_request_threshold = Int; compact_retained_tokens = Int; + compact_worker_max_input_tokens = Int; compact_worker_max_turns = Int; compact_auto_read_budget = Int; }; web = { enabled = Bool; allow_private_addresses = Bool; diff --git a/web/workspace/test/config-source/wasm-parity.test.ts b/web/workspace/test/config-source/wasm-parity.test.ts index be59ab095..905303f1d 100644 --- a/web/workspace/test/config-source/wasm-parity.test.ts +++ b/web/workspace/test/config-source/wasm-parity.test.ts @@ -382,6 +382,22 @@ Deno.test("generated WASM completes asserted WorkspaceConfigSchema keys", () => assertEquals(result.items.some((item) => item.label === "profile"), true); }); +function fixtureDecodal(value: unknown): string { + if (Array.isArray(value)) return `[${value.map(fixtureDecodal).join(", ")}]`; + if (value !== null && typeof value === "object") { + return `{ ${ + Object.entries(value).map(([key, value]) => + `${key} = ${fixtureDecodal(value)};` + ).join(" ") + } }`; + } + if ( + typeof value === "string" || typeof value === "number" || + typeof value === "boolean" + ) return JSON.stringify(value); + throw new Error("fixture omission must not be represented as null/undefined"); +} + Deno.test("generated WASM authors value-based Profiles using the Backend schema without materializing authoring fields", async () => { const source = await Deno.readTextFile( new URL( @@ -656,6 +672,85 @@ Deno.test("generated WASM authors value-based Profiles using the Backend schema ); } } + const cases = JSON.parse( + await Deno.readTextFile( + new URL( + "../../../../resources/config-schema/profile-authoring-values.json", + import.meta.url, + ), + ), + ) as Array<{ name: string; profile: Record }>; + for (const fixture of cases) { + const recipe = fixtureDecodal(fixture.profile); + for ( + const [form, patched] of [[recipe, false], [ + 'import "./recipe.dcdl"', + false, + ], [ + '(import "./recipe.dcdl") // { description = "patched"; }', + true, + ]] as const + ) { + const fixtureContent = content.replace( + "profile = {};", + `profile = ${form};`, + ); + const fixtureTree = { + ...tree, + entries: { + "main.dcdl": { + ...tree.entries["main.dcdl"], + content: fixtureContent, + content_digest: await digestText(fixtureContent), + }, + "recipe.dcdl": { + path: "recipe.dcdl", + content_type: "decodal", + content: recipe, + content_digest: await digestText(recipe), + }, + }, + }; + assertEquals( + analyze_snapshot(fixtureTree, "main.dcdl", undefined), + [], + `${fixture.name}: ${form}`, + ); + const result = evaluate_snapshot( + fixtureTree, + valueContract, + ) as typeof evaluated; + assertEquals( + result.projections[0].data_json.profile.entries[0].profile, + patched + ? { ...fixture.profile, description: "patched" } + : fixture.profile, + ); + } + } + for ( + const [path, prefix, label] of [ + ["compaction", "reta", "retained_tokens"], + ["compaction", "prune_min", "prune_min_savings"], + ["compaction", "req", "request"], + ["compaction", "wor", "worker"], + ["compaction", "compact_ret", "compact_retained_tokens"], + ["feature.memory.extraction", "reas", "reasoning"], + ["feature.subjektiv.extraction", "reas", "reasoning"], + ] + ) { + const body = + `{ profile.entries = [{ profile.${path} = { ${prefix} } }]; } as WorkspaceConfigSchema`; + const cursor = body.lastIndexOf(prefix) + prefix.length; + const result = complete_current("main.dcdl", body, cursor, true) as { + items: Array<{ label: string }>; + }; + assertEquals( + result.items.some((item) => item.label === label), + true, + `${path}.${label}`, + ); + } // Neither completion nor diagnostic shape checking changes the saved value. assertEquals(evaluate_snapshot(tree, valueContract), evaluated); });