From d16cb0d6a679af5f9c32e4481c76a3c4556f78c1 Mon Sep 17 00:00:00 2001 From: Jamie Gilbert Date: Mon, 1 May 2023 14:05:48 -0700 Subject: [PATCH 01/22] Results upload (#72) * Automatic results upload after execution for CdmExecutionSettings * Result schema creation and improve readability of code executed in renv module contexts * Allow unit tests to run on mac by using a file backend --- DESCRIPTION | 2 + NAMESPACE | 1 + R/Execution.R | 129 +++++++++------- R/ModuleEnv.R | 86 +++++++++++ R/ModuleInstantiation.R | 8 +- R/ResultModelCreation.R | 247 ++++++++++++++++++++++++++++++ R/ResultsUpload.R | 177 +++++++++++++++++++++ R/RunModule.R | 137 ++++++++--------- R/Settings.R | 13 +- extras/ExampleWithResultsUpload.R | 96 ++++++++++++ man/createCdmExecutionSettings.Rd | 9 +- man/createResultDataModels.Rd | 36 +++++ man/runSchemaCreation.Rd | 17 ++ tests/testthat/setup.R | 5 + 14 files changed, 831 insertions(+), 132 deletions(-) create mode 100644 R/ModuleEnv.R create mode 100644 R/ResultModelCreation.R create mode 100644 R/ResultsUpload.R create mode 100644 extras/ExampleWithResultsUpload.R create mode 100644 man/createResultDataModels.Rd create mode 100644 man/runSchemaCreation.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 9439eb10..8dfded3a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -30,6 +30,7 @@ Imports: digest, methods, tibble, + ResultModelManager (>= 0.3.0), SqlRender (>= 1.11.0) Suggests: testthat (>= 3.0.0), @@ -40,6 +41,7 @@ Suggests: withr Remotes: ohdsi/CohortGenerator, + ohdsi/ResultModelManager, ohdsi/Eunomia VignetteBuilder: knitr NeedsCompilation: no diff --git a/NAMESPACE b/NAMESPACE index 8ea3b576..2671ea51 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -4,6 +4,7 @@ export(addModuleSpecifications) export(addSharedResources) export(createCdmExecutionSettings) export(createEmptyAnalysisSpecificiations) +export(createResultDataModels) export(createResultsExecutionSettings) export(ensureAllModulesInstantiated) export(execute) diff --git a/R/Execution.R b/R/Execution.R index facc04ce..afc32cf5 100644 --- a/R/Execution.R +++ b/R/Execution.R @@ -74,6 +74,7 @@ execute <- function(analysisSpecifications, } dependencies <- extractDependencies(modules) + fileName <- generateTargetsScript( analysisSpecifications = analysisSpecifications, executionSettings = executionSettings, @@ -82,7 +83,6 @@ execute <- function(analysisSpecifications, restart = restart, keyringName = keyringName ) - # targets::tar_manifest(script = fileName) # targets::tar_glimpse(script = fileName) targets::tar_make(script = fileName, store = file.path(executionScriptFolder, "_targets")) @@ -93,7 +93,60 @@ generateTargetsScript <- function(analysisSpecifications, executionSettings, dep if (restart) { return(fileName) } - # Store settings objects in the temp folder so they are available in targets + + ### Note anything inisde this block will be scoped inside the targets script file + targets::tar_script({ + ## + # Generated by Strategus - not advisable to edit by hand + ## + analysisSpecificationsLoad <- readRDS(analysisSpecificationsFileName) + moduleToTargetNames <- readRDS(moduleToTargetNamesFileName) + dependencies <- readRDS(dependenciesFileName) + + library(dplyr) + tar_option_set(packages = c('Strategus', 'keyring'), imports = c('Strategus', 'keyring')) + targetList <- list( + tar_target(analysisSpecifications, readRDS(analysisSpecificationsFileName)), + # NOTE Execution settings could be mapped to many different cdms making re-execution across cdms much simpler + tar_target(executionSettings, readRDS(executionSettingsFileName)), + tar_target(keyringSettings, readRDS(keyringSettingsFileName)) + ) + + # factory for producing module targets based on their dependencies + # This could be inside Strategus as an exported function + # it would also be much cleaner to use a targets pattern = cross(analysisSpecifications$moduleSpecifications) + # however, working out how to handle dependencies wasn't obvious + # This approach could be modified to allow multiple executionSettings, but that would require a substantial re-write + for (i in 1:length(analysisSpecificationsLoad$moduleSpecifications)) { + moduleSpecification <- analysisSpecificationsLoad$moduleSpecifications[[i]] + targetName <- sprintf("%s_%d", moduleSpecification$module, i) + dependencyModules <- dependencies %>% + filter(.data$module == moduleSpecification$module) %>% + pull(.data$dependsOn) + + dependencyTargetNames <- moduleToTargetNames %>% + filter(.data$module %in% dependencyModules) %>% + pull(.data$targetName) + + # Use of tar_target_raw allows dynamic names + targetList[[length(targetList) + 1]] <- tar_target_raw(targetName, + substitute(Strategus:::runModule(analysisSpecifications, keyringSettings, i, executionSettings), + env = list(i = i)), + deps = c("analysisSpecifications", "keyringSettings", "executionSettings", dependencyTargetNames)) + + if (execResultsUpload) { + resultsTargetName <- paste0(targetName, "_results_upload") + targetList[[length(targetList) + 1]] <- tar_target_raw(resultsTargetName, + substitute(Strategus:::runResultsUpload(analysisSpecifications, keyringSettings, i, executionSettings), + env = list(i = i)), + deps = c("analysisSpecifications", "keyringSettings", "executionSettings", targetName)) + } + } + + targetList + }, script = fileName) + + #Store settings objects in the temp folder so they are available in targets analysisSpecificationsFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "analysisSpecifications.rds")) saveRDS(analysisSpecifications, analysisSpecificationsFileName) executionSettingsFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "executionSettings.rds")) @@ -101,25 +154,6 @@ generateTargetsScript <- function(analysisSpecifications, executionSettings, dep keyringSettingsFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "keyringSettings.rds")) saveRDS(list(keyringName = keyringName), keyringSettingsFileName) - - # Dynamically generate targets script based on analysis specifications - lines <- c( - "library(targets)", - "tar_option_set(packages = c('Strategus', 'keyring'))", - "list(", - " tar_target(", - " analysisSpecifications,", - sprintf(" readRDS('%s')", analysisSpecificationsFileName), - " ),", - " tar_target(", - " executionSettings,", - sprintf(" readRDS('%s')", executionSettingsFileName), - " ),", - " tar_target(", - " keyringSettings,", - sprintf(" readRDS('%s')", keyringSettingsFileName), - " )," - ) # Generate target names by module type moduleToTargetNames <- list() for (i in 1:length(analysisSpecifications$moduleSpecifications)) { @@ -131,38 +165,27 @@ generateTargetsScript <- function(analysisSpecifications, executionSettings, dep ) } moduleToTargetNames <- bind_rows(moduleToTargetNames) + moduleToTargetNamesFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "moduleTargetNames.rds")) + saveRDS(moduleToTargetNames, moduleToTargetNamesFileName) + + dependenciesFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "dependencies.rds")) + saveRDS(dependencies, dependenciesFileName) + + execResultsUpload <- all(c(is(executionSettings, "CdmExecutionSettings"), + !is.null(executionSettings$resultsConnectionDetailsReference), + !is.null(executionSettings$resultsDatabaseSchema))) + + # Settings required inside script. There is probably a much cleaner way of doing this + writeLines(c( + sprintf("analysisSpecificationsFileName <- '%s'", analysisSpecificationsFileName), + sprintf("executionSettingsFileName <- '%s'", executionSettingsFileName), + sprintf("keyringSettingsFileName <- '%s'", keyringSettingsFileName), + sprintf("moduleToTargetNamesFileName <- '%s'", moduleToTargetNamesFileName), + sprintf("dependenciesFileName <- '%s'", dependenciesFileName), + sprintf("execResultsUpload <- '%s'", execResultsUpload), + readLines(fileName) + ), fileName) - # Generate targets code, inserting dependencies - for (i in 1:length(analysisSpecifications$moduleSpecifications)) { - moduleSpecification <- analysisSpecifications$moduleSpecifications[[i]] - targetName <- sprintf("%s_%d", moduleSpecification$module, i) - dependencyModules <- dependencies %>% - filter(.data$module == moduleSpecification$module) %>% - pull(.data$dependsOn) - dependencyTargetNames <- moduleToTargetNames %>% - filter(.data$module %in% dependencyModules) %>% - pull(.data$targetName) - - command <- sprintf( - "Strategus:::runModule(analysisSpecifications, keyringSettings, %d, executionSettings%s)", - i, - ifelse(length(dependencyTargetNames) == 0, "", sprintf(", %s", paste(dependencyTargetNames, collapse = ", "))) - ) - - - lines <- c( - lines, - " tar_target(", - sprintf(" %s,", targetName), - sprintf(" %s", command), - ifelse(i == length(analysisSpecifications$moduleSpecifications), " )", " ),") - ) - } - - lines <- c(lines, ")") - - sink(fileName) - cat(paste(lines, collapse = "\n")) - sink() return(fileName) } + diff --git a/R/ModuleEnv.R b/R/ModuleEnv.R new file mode 100644 index 00000000..bec0872c --- /dev/null +++ b/R/ModuleEnv.R @@ -0,0 +1,86 @@ +# Copyright 2023 Observational Health Data Sciences and Informatics +# +# This file is part of Strategus +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +.handleInjectVar <- function (x) { + hVar <- function(x) { + if (is.character(x)) { + return(sprintf('"%s"', x)) + } else { + return(sprintf('%s', x)) + } + } + + if (length(x) == 1) { + return(hVar(x)) + } else if (is.vector(x)) { + innerVars <- hVar(x) + return(paste0("c(", paste(innerVars, collapse = ", "), ")")) + } else { + stop("cannot handle complex data structures in variable injection") + } +} + +#' Load module execution space inside and renv +#' inspired by targets::tar_script but allowing custom variable execution +#' +#' Designed to allow more human readable code that is executed inside a module as well as simple variable substituion +#' for injecting constants (e.g. simple parameters or file paths used inside and outside of modules) +#' +#' This pattern also allows dependency injection which could be used if you don't want to use and renv and (instead) +#' would like to use docker images or just execution in the base environment for testing/debugging +#' +#' @param code code block to execute +#' @param moduleFolder Instantiated Strategus module folder +#' @param injectVars list of var names list(name=value) to replace (e.g. replace list(foo = "some string") will +#' find the pattern foo and replace it with the string some string - be careful! +#' @param tempScriptFile tempFile to write script to (ret +#' @param job run as rstudio job +#' @param processName String name for process +#' @returns NULL invisibly +withModuleRenv <- function(code, + moduleFolder, + injectVars = list(), + tempScriptFile = tempfile(fileext = ".R"), + useLocalStrategusLibrary = TRUE, + job = FALSE, + processName = paste(moduleFolder, "_renv_run")) { + # convert human readable code to a string for writing + script <- as.character(substitute(code))[-1] + # Insert variables + for (name in names(injectVars)) { + rep <- .handleInjectVar(injectVars[[name]]) + script <- gsub(name, rep, script) + } + + # Enforce attachment of Strategus from calling process - note one inside the renv + if (useLocalStrategusLibrary) { + libPath <- file.path(find.package("Strategus"), "../") + script <- c(sprintf("library(Strategus, lib.loc = '%s')", libPath), + script) + } + + # Write file and execute script inside an renv + fileConn <- file(tempScriptFile) + writeLines(script, fileConn) + close(fileConn) + renv::run( + script = tempScriptFile, + job = job, + name = processName, + project = moduleFolder + ) + return(invisible(NULL)) +} \ No newline at end of file diff --git a/R/ModuleInstantiation.R b/R/ModuleInstantiation.R index bab8a742..a37cdf98 100644 --- a/R/ModuleInstantiation.R +++ b/R/ModuleInstantiation.R @@ -223,10 +223,10 @@ getModuleRenvDependencies <- function(moduleFolder) { ) missingFiles <- tibble::enframe(renvRequiredFiles) %>% - mutate(fileExists = file.exists(file.path(moduleFolder, .data$value))) %>% - rename(fileName = .data$value) %>% - select(.data$fileName, .data$fileExists) %>% - filter(.data$fileExists == FALSE) + dplyr::mutate(fileExists = file.exists(file.path(moduleFolder, .data$value))) %>% + dplyr::rename(fileName = .data$value) %>% + dplyr::select("fileName", "fileExists") %>% + dplyr::filter(.data$fileExists == FALSE) invisible(missingFiles) } diff --git a/R/ResultModelCreation.R b/R/ResultModelCreation.R new file mode 100644 index 00000000..aef3c214 --- /dev/null +++ b/R/ResultModelCreation.R @@ -0,0 +1,247 @@ +# Copyright 2023 Observational Health Data Sciences and Informatics +# +# This file is part of Strategus +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +#' Create Result Data Models +#' @description +#' Use this at the study design stage to create data models for modules +#' This functions loads modules and executes any custom code to create schemas in a results database +#' If recreate is set to TRUE all existing data will be removed, otherwise +#' +#' @inheritParams execute +#' @export +createResultDataModels <- function(analysisSpecifications, + executionSettings, + executionScriptFolder = NULL, + keyringName = NULL) { + errorMessages <- checkmate::makeAssertCollection() + keyringList <- keyring::keyring_list() + checkmate::assertClass(analysisSpecifications, "AnalysisSpecifications", add = errorMessages) + checkmate::assertClass(executionSettings, "ResultsExecutionSettings", add = errorMessages) + checkmate::assertChoice(x = keyringName, choices = keyringList$keyring, null.ok = TRUE, add = errorMessages) + checkmate::reportAssertions(collection = errorMessages) + + modules <- ensureAllModulesInstantiated(analysisSpecifications) + + + if (is.null(executionScriptFolder)) { + executionScriptFolder <- tempfile("strategusTempSettings") + dir.create(executionScriptFolder) + on.exit(unlink(executionScriptFolder, recursive = TRUE)) + } else if (!restart) { + if (dir.exists(executionScriptFolder)) { + unlink(executionScriptFolder, recursive = TRUE) + } + dir.create(executionScriptFolder, recursive = TRUE) + } + + script <- file.path(executionScriptFolder, "SchemaScript.R") + ## + # Code execution inside targets block + ## + targets::tar_script({ + ## + # Generated by Strategus - not advisable to edit by hand + ## + analysisSpecificationsLoad <- readRDS(analysisSpecificationsFileName) + + library(dplyr) + tar_option_set(packages = c('Strategus', 'keyring'), imports = c('Strategus', 'keyring')) + targetList <- list( + tar_target(analysisSpecifications, readRDS(analysisSpecificationsFileName)), + tar_target(executionSettings, readRDS(executionSettingsFileName)), + tar_target(keyringSettings, readRDS(keyringSettingsFileName)) + ) + + for (i in 1:length(analysisSpecificationsLoad$moduleSpecifications)) { + moduleSpecification <- analysisSpecificationsLoad$moduleSpecifications[[i]] + targetName <- sprintf("%s_%d_schema_creation", moduleSpecification$module, i) + + # Use of tar_target_raw allows dynamic names + targetList[[length(targetList) + 1]] <- tar_target_raw(targetName, + substitute(Strategus:::runSchemaCreation(analysisSpecifications, keyringSettings, i, executionSettings), + env = list(i = i)), + deps = c("analysisSpecifications", "keyringSettings", "executionSettings")) + } + targetList + }, script = script) + + #Store settings objects in the temp folder so they are available in targets + analysisSpecificationsFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "analysisSpecifications.rds")) + saveRDS(analysisSpecifications, analysisSpecificationsFileName) + executionSettingsFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "executionSettings.rds")) + saveRDS(executionSettings, executionSettingsFileName) + keyringSettingsFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "keyringSettings.rds")) + saveRDS(list(keyringName = keyringName), keyringSettingsFileName) + + # Generate target names by module type + moduleToTargetNames <- list() + for (i in 1:length(analysisSpecifications$moduleSpecifications)) { + moduleSpecification <- analysisSpecifications$moduleSpecifications[[i]] + targetName <- sprintf("%s_%d", moduleSpecification$module, i) + moduleToTargetNames[[length(moduleToTargetNames) + 1]] <- tibble( + module = moduleSpecification$module, + targetName = targetName + ) + } + moduleToTargetNames <- bind_rows(moduleToTargetNames) + moduleToTargetNamesFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "moduleTargetNames.rds")) + saveRDS(moduleToTargetNames, moduleToTargetNamesFileName) + + # Settings required inside script. There is probably a much cleaner way of doing this + writeLines(c( + sprintf("analysisSpecificationsFileName <- '%s'", analysisSpecificationsFileName), + sprintf("executionSettingsFileName <- '%s'", executionSettingsFileName), + sprintf("keyringSettingsFileName <- '%s'", keyringSettingsFileName), + sprintf("moduleToTargetNamesFileName <- '%s'", moduleToTargetNamesFileName), + readLines(script) + ), script) + + targets::tar_make(script = script) +} + + +#' Results upload callbacks for inserting results in to a database +runSchemaCreation <- function(analysisSpecifications, keyringSettings, moduleIndex, executionSettings, ...) { + checkmate::assert_multi_class(x = executionSettings, classes = c("ResultsExecutionSettings")) + moduleSpecification <- analysisSpecifications$moduleSpecifications[[moduleIndex]] + + module <- moduleSpecification$module + version <- moduleSpecification$version + remoteRepo <- moduleSpecification$remoteRepo + remoteUsername <- moduleSpecification$remoteUsername + moduleFolder <- ensureModuleInstantiated(module, version, remoteRepo, remoteUsername) + + # Create job context + moduleExecutionSettings <- executionSettings + moduleExecutionSettings$workSubFolder <- file.path(executionSettings$workFolder, sprintf("%s_%d", module, moduleIndex)) + moduleExecutionSettings$resultsSubFolder <- file.path(executionSettings$resultsFolder, sprintf("%s_%d", module, moduleIndex)) + + if (!dir.exists(moduleExecutionSettings$workSubFolder)) { + dir.create(moduleExecutionSettings$workSubFolder, recursive = TRUE) + } + if (!dir.exists(moduleExecutionSettings$resultsSubFolder)) { + dir.create(moduleExecutionSettings$resultsSubFolder, recursive = TRUE) + } + + jobContext <- list( + sharedResources = analysisSpecifications$sharedResources, + settings = moduleSpecification$settings, + moduleExecutionSettings = moduleExecutionSettings, + keyringSettings = keyringSettings + ) + jobContextFileName <- file.path(moduleExecutionSettings$workSubFolder, "jobContext.rds") # gsub("\\\\", "/", tempfile(fileext = ".rds")) + saveRDS(jobContext, jobContextFileName) + dataModelExportPath <- file.path(moduleExecutionSettings$workSubFolder, "resultsDataModelSpecification.csv") + + + doneFile <- file.path(jobContext$moduleExecutionSettings$resultsSubFolder, "schema.creation") + if (file.exists(doneFile)) { + unlink(doneFile) + } + ## code executed inside renv only has scoped variables + withModuleRenv( + code = { + createDataModelSchema <- NULL + + getDataModelSpecifications <- function(...) { + if (file.exists('resultsDataModelSpecification.csv')) { + res <- readr::read_csv('resultsDataModelSpecification.csv', show_col_types = FALSE) + return(res) + } + return(NULL) + } + + source('Main.R') + + jobContext <- readRDS(jobContextFileName) + specifications <- getDataModelSpecifications(jobContext) + + if (Sys.getenv('FORCE_RENV_USE', '') == 'TRUE') { + renv::use(lockfile = 'renv.lock') + } + + ParallelLogger::addDefaultFileLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'log.txt')) + ParallelLogger::addDefaultErrorReportLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'errorReportR.txt')) + # Main.R can override default behaviour by implementing this function + if (is.function(createDataModelSchema)) { + + # If the keyring is locked, unlock it, set the value and then re-lock it + keyringName <- jobContext$keyringSettings$keyringName + keyringLocked <- Strategus::unlockKeyring(keyringName = keyringName) + + resultsConnectionDetails <- keyring::key_get(jobContext$moduleExecutionSettings$resultsConnectionDetailsReference, keyring = keyringName) + resultsConnectionDetails <- ParallelLogger::convertJsonToSettings(resultsConnectionDetails) + resultsConnectionDetails <- do.call(DatabaseConnector::createConnectionDetails, resultsConnectionDetails) + jobContext$moduleExecutionSettings$resultsConnectionDetails <- resultsConnectionDetails + + createDataModelSchema(jobContext) + + if (keyringLocked) { + keyring::keyring_lock(keyring = keyringName) + } + writeLines('schema.created', doneFile) + } else if (is.data.frame(specifications)) { + # Export schema to readable location + readr::write_csv(specifications, dataModelExportPath) + writeLines('specifications.written', doneFile) + } else { + warning('Module does not include data specifications file or createDataModelSchema function') + readr::write_csv(specifications, dataModelExportPath) + writeLines('specifications.not.written', doneFIle) + } + + ParallelLogger::unregisterLogger('DEFAULT_FILE_LOGGER', silent = TRUE) + ParallelLogger::unregisterLogger('DEFAULT_ERRORREPORT_LOGGER', silent = TRUE) + }, + moduleFolder = moduleFolder, + tempScriptFile = file.path(moduleExecutionSettings$workSubFolder, "SchemaCreation.R"), + injectVars = list( + jobContextFileName = jobContextFileName, + dataModelExportPath = dataModelExportPath, + doneFile = doneFile + ) + ) + + workStatus <- readLines(doneFile) + if (workStatus == 'specifications.written') { + moduleInfo <- ParallelLogger::loadSettingsFromJson(file.path(moduleFolder, 'MetaData.json')) + keyringName <- jobContext$keyringSettings$keyringName + keyringLocked <- Strategus::unlockKeyring(keyringName = keyringName) + + resultsConnectionDetails <- keyring::key_get(jobContext$moduleExecutionSettings$resultsConnectionDetailsReference, keyring = keyringName) + resultsConnectionDetails <- ParallelLogger::convertJsonToSettings(resultsConnectionDetails) + resultsConnectionDetails <- do.call(DatabaseConnector::createConnectionDetails, resultsConnectionDetails) + + connection <- DatabaseConnector::connect(resultsConnectionDetails) + on.exit(DatabaseConnector::disconnect(connection)) + + sql <- ResultModelManager::generateSqlSchema(csvFilepath = dataModelExportPath) + DatabaseConnector::renderTranslateExecuteSql(connection, + sql, + table_prefix = moduleInfo$TablePrefix, + database_schema = jobContext$moduleExecutionSettings$resultsDatabaseSchema) + + if (keyringLocked) { + keyring::keyring_lock(keyring = keyringName) + } + } else if (workStatus == 'schema.created') { + message("Result schema creation handled inside module execution envrionment") + } else { + message("Schema not created for module") + } + + return(list(dummy = 123)) +} \ No newline at end of file diff --git a/R/ResultsUpload.R b/R/ResultsUpload.R new file mode 100644 index 00000000..5a53834f --- /dev/null +++ b/R/ResultsUpload.R @@ -0,0 +1,177 @@ +# Copyright 2023 Observational Health Data Sciences and Informatics +# +# This file is part of Strategus +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# Results upload callbacks for inserting results in to a database +runResultsUpload <- function(analysisSpecifications, keyringSettings, moduleIndex, executionSettings, ...) { + checkmate::assert_multi_class(x = executionSettings, classes = c("ExecutionSettings")) + moduleSpecification <- analysisSpecifications$moduleSpecifications[[moduleIndex]] + + module <- moduleSpecification$module + version <- moduleSpecification$version + remoteRepo <- moduleSpecification$remoteRepo + remoteUsername <- moduleSpecification$remoteUsername + moduleFolder <- ensureModuleInstantiated(module, version, remoteRepo, remoteUsername) + + # Create job context + moduleExecutionSettings <- executionSettings + moduleExecutionSettings$workSubFolder <- file.path(executionSettings$workFolder, sprintf("%s_%d", module, moduleIndex)) + moduleExecutionSettings$resultsSubFolder <- file.path(executionSettings$resultsFolder, sprintf("%s_%d", module, moduleIndex)) + + if (!is(executionSettings, "CdmExecutionSettings")) { + stop("Unhandled executionSettings class! Must be CdmExecutionSettings instance") + } + + if (!dir.exists(moduleExecutionSettings$resultsSubFolder)) { + stop("results not found") + } + jobContext <- list( + sharedResources = analysisSpecifications$sharedResources, + settings = moduleSpecification$settings, + moduleExecutionSettings = moduleExecutionSettings, + keyringSettings = keyringSettings + ) + jobContextFileName <- file.path(moduleExecutionSettings$workSubFolder, "jobContext.rds") # gsub("\\\\", "/", tempfile(fileext = ".rds")) + saveRDS(jobContext, jobContextFileName) + dataModelExportPath <- file.path(moduleExecutionSettings$workSubFolder, "resultsDataModelSpecification.csv") + + doneFile <- file.path(jobContext$moduleExecutionSettings$resultsSubFolder, "results.uploaded") + if (file.exists(doneFile)) { + unlink(doneFile) + } + + tempScriptFile <- file.path(moduleExecutionSettings$workSubFolder, "UploadScript.R") + + ## + # Module space executed code + ## + withModuleRenv({ + uploadResultsCallback <- NULL + + getDataModelSpecifications <- function(...) { + ParallelLogger::logInfo("Getting result model specification") + if (file.exists('resultsDataModelSpecification.csv')) { + res <- readr::read_csv('resultsDataModelSpecification.csv', show_col_types = FALSE) + return(res) + } + ParallelLogger::logInfo("No result model specification found") + return(NULL) + } + source('Main.R') + moduleInfo <- ParallelLogger::loadSettingsFromJson('MetaData.json') + jobContext <- readRDS(jobContextFileName) + specifications <- getDataModelSpecifications(jobContext) + ParallelLogger::addDefaultFileLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'log.txt')) + ParallelLogger::addDefaultErrorReportLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'errorReportR.txt')) + + if (Sys.getenv('FORCE_RENV_USE', '') == 'TRUE') { + renv::use(lockfile = 'renv.lock') + } + + # Override default behaviour and do module specific upload inside module context? + if (is.function(uploadResultsCallback)) { + ParallelLogger::logInfo("Calling module result upload functionality") + # If the keyring is locked, unlock it, set the value and then re-lock it + ParallelLogger::logInfo("-- Getting result database credentials") + keyringName <- jobContext$keyringSettings$keyringName + keyringLocked <- Strategus::unlockKeyring(keyringName = keyringName) + resultsConnectionDetails <- keyring::key_get(jobContext$moduleExecutionSettings$resultsConnectionDetailsReference, keyring = keyringName) + resultsConnectionDetails <- ParallelLogger::convertJsonToSettings(resultsConnectionDetails) + resultsConnectionDetails <- do.call(DatabaseConnector::createConnectionDetails, resultsConnectionDetails) + jobContext$moduleExecutionSettings$resultsConnectionDetails <- resultsConnectionDetails + ParallelLogger::logInfo("-- Executing upload callback") + uploadResultsCallback(jobContext) + if (keyringLocked) { + keyring::keyring_lock(keyring = keyringName) + } + ParallelLogger::logInfo("-- Upload completed") + writeLines('results.uploaded', doneFile) + } else if (is.null(specifications)) { + ParallelLogger::logInfo("No result specifications found, assuming module has produced no results") + # NO spect file Status + warning('data model specifications not loaded from module - skipping results upload') + writeLines('no.spec.found', doneFile) + } else { + # Spec file written + ParallelLogger::logInfo("Writing spec for result upload outside of module context") + readr::write_csv(specifications, dataModelExportPath) + writeLines('specifications.written', doneFile) + } + + ParallelLogger::unregisterLogger('DEFAULT_FILE_LOGGER', silent = TRUE) + ParallelLogger::unregisterLogger('DEFAULT_ERRORREPORT_LOGGER', silent = TRUE) + + }, + moduleFolder = moduleFolder, + tempScriptFile = tempScriptFile, + injectVars = list(jobContextFileName = jobContextFileName, + dataModelExportPath = dataModelExportPath, + doneFile = doneFile) + ) + ## + # end Module executed code + ## + if (!file.exists(doneFile)) { + message <- paste( + "Module did not complete. To debug:", + sprintf(" rstudioapi::openProject('%s', newSession = TRUE)", moduleFolder), + sprintf(" file.edit('%s')", tempScriptFile), + sep = "\n" + ) + stop(message) + } + + workStatus <- readLines(doneFile) + + if (workStatus == 'specifications.written') { + ParallelLogger::logInfo("Uploading results according to module specification") + specifications <- readr::read_csv(dataModelExportPath, show_col_types = FALSE) + colnames(specifications) <- SqlRender::snakeCaseToCamelCase(colnames(specifications)) + moduleInfo <- ParallelLogger::loadSettingsFromJson(file.path(moduleFolder, 'MetaData.json')) + + keyringName <- jobContext$keyringSettings$keyringName + keyringLocked <- Strategus::unlockKeyring(keyringName = keyringName) + + ParallelLogger::logInfo("Getting result database credentials") + resultsConnectionDetails <- keyring::key_get(jobContext$moduleExecutionSettings$resultsConnectionDetailsReference, keyring = keyringName) + resultsConnectionDetails <- ParallelLogger::convertJsonToSettings(resultsConnectionDetails) + resultsConnectionDetails <- do.call(DatabaseConnector::createConnectionDetails, resultsConnectionDetails) + jobContext$moduleExecutionSettings$resultsConnectionDetails <- resultsConnectionDetails + + ParallelLogger::logInfo("Calling RMM for upload") + ResultModelManager::uploadResults(connectionDetails = jobContext$moduleExecutionSettings$resultsConnectionDetails, + schema = jobContext$moduleExecutionSettings$resultsDatabaseSchema, + resultsFolder = jobContext$moduleExecutionSettings$resultsSubFolder, + tablePrefix = moduleInfo$TablePrefix, + forceOverWriteOfSpecifications = FALSE, + purgeSiteDataBeforeUploading = FALSE, + databaseIdentifierFile = 'database_meta_data.csv', + runCheckAndFixCommands = FALSE, + warnOnMissingTable = TRUE, + specifications = specifications) + + ParallelLogger::logInfo("Upload completed") + if (keyringLocked) { + keyring::keyring_lock(keyring = keyringName) + } + } else if (workStatus == 'results.uploaded') { + message("Result upload handled inside module execution envrionment") + } else { + message("Results not uploaded for module") + } + + return(list(dummy = 123)) +} diff --git a/R/RunModule.R b/R/RunModule.R index 3eea9099..258cb1fb 100644 --- a/R/RunModule.R +++ b/R/RunModule.R @@ -24,7 +24,6 @@ runModule <- function(analysisSpecifications, keyringSettings, moduleIndex, executionSettings, ...) { checkmate::assert_multi_class(x = executionSettings, classes = c("CdmExecutionSettings", "ResultsExecutionSettings")) moduleSpecification <- analysisSpecifications$moduleSpecifications[[moduleIndex]] - module <- moduleSpecification$module version <- moduleSpecification$version remoteRepo <- moduleSpecification$remoteRepo @@ -51,83 +50,77 @@ runModule <- function(analysisSpecifications, keyringSettings, moduleIndex, exec jobContextFileName <- file.path(moduleExecutionSettings$workSubFolder, "jobContext.rds") # gsub("\\\\", "/", tempfile(fileext = ".rds")) saveRDS(jobContext, jobContextFileName) - # Execute module using settings - script <- " - source('Main.R') - jobContext <- readRDS(jobContextFileName) - - unlockKeyring <- function(keyringName) { - # If the keyring is locked, unlock it, set the value and then re-lock it - keyringLocked <- keyring::keyring_is_locked(keyring = keyringName) - if (keyringLocked) { - keyring::keyring_unlock(keyring = keyringName, password = Sys.getenv('STRATEGUS_KEYRING_PASSWORD')) - } - return(keyringLocked) - } - - # If the keyring is locked, unlock it, set the value and then re-lock it - keyringName <- jobContext$keyringSettings$keyringName - keyringLocked <- unlockKeyring(keyringName = keyringName) - " - - # Set the connection information based on the type of execution being - # performed + tempScriptFile <- file.path(moduleExecutionSettings$workSubFolder, "StrategusScript.R") + doneFile <- file.path(jobContext$moduleExecutionSettings$resultsSubFolder, "done") + if (file.exists(doneFile)) { + unlink(doneFile) + } + if (is(executionSettings, "CdmExecutionSettings")) { - script <- paste0( - script, - "connectionDetails <- keyring::key_get(jobContext$moduleExecutionSettings$connectionDetailsReference, keyring = keyringName) - connectionDetails <- ParallelLogger::convertJsonToSettings(connectionDetails) - connectionDetails <- do.call(DatabaseConnector::createConnectionDetails, connectionDetails) - jobContext$moduleExecutionSettings$connectionDetails <- connectionDetails" - ) + isCdmExecution <- TRUE } else if (is(executionSettings, "ResultsExecutionSettings")) { - script <- paste0( - script, - "resultsConnectionDetails <- keyring::key_get(jobContext$moduleExecutionSettings$resultsConnectionDetailsReference, keyring = keyringName) - resultsConnectionDetails <- ParallelLogger::convertJsonToSettings(resultsConnectionDetails) - resultsConnectionDetails <- do.call(DatabaseConnector::createConnectionDetails, resultsConnectionDetails) - jobContext$moduleExecutionSettings$resultsConnectionDetails <- resultsConnectionDetails" - ) + isCdmExecution <- FALSE } else { stop("Unhandled executionSettings class! Must be one of the following: CdmExecutionSettings, ResultsExecutionSettings") } + withModuleRenv( + code = { + ############################ + # Generated by strategus - do not modify by hand + ############################ + source('Main.R') + jobContext <- readRDS(jobContextFileName) + + unlockKeyring <- function(keyringName) { + # If the keyring is locked, unlock it, set the value and then re-lock it + keyringLocked <- keyring::keyring_is_locked(keyring = keyringName) + if (keyringLocked) { + keyring::keyring_unlock(keyring = keyringName, password = Sys.getenv('STRATEGUS_KEYRING_PASSWORD')) + } + return(keyringLocked) + } + + keyringName <- jobContext$keyringSettings$keyringName + keyringLocked <- unlockKeyring(keyringName = keyringName) + + ParallelLogger::addDefaultFileLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'log.txt')) + ParallelLogger::addDefaultErrorReportLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'errorReport.R')) + + options(andromedaTempFolder = file.path(jobContext$moduleExecutionSettings$workFolder, 'andromedaTemp')) + + if (Sys.getenv('FORCE_RENV_USE', '') == 'TRUE') { + renv::use(lockfile = 'renv.lock') + } + + # NOTE injected variable isResultsExecution - will look strange outside of Strategus definition + if (isCdmExecution) { + connectionDetails <- keyring::key_get(jobContext$moduleExecutionSettings$connectionDetailsReference, keyring = keyringName) + connectionDetails <- ParallelLogger::convertJsonToSettings(connectionDetails) + connectionDetails <- do.call(DatabaseConnector::createConnectionDetails, connectionDetails) + jobContext$moduleExecutionSettings$connectionDetails <- connectionDetails + } else { + resultsConnectionDetails <- keyring::key_get(jobContext$moduleExecutionSettings$resultsConnectionDetailsReference, keyring = keyringName) + resultsConnectionDetails <- ParallelLogger::convertJsonToSettings(resultsConnectionDetails) + resultsConnectionDetails <- do.call(DatabaseConnector::createConnectionDetails, resultsConnectionDetails) + jobContext$moduleExecutionSettings$resultsConnectionDetails <- resultsConnectionDetails + } + if (keyringLocked) { + keyring::keyring_lock(keyring = keyringName) + } + execute(jobContext) + + ParallelLogger::unregisterLogger('DEFAULT_FILE_LOGGER', silent = TRUE) + ParallelLogger::unregisterLogger('DEFAULT_ERRORREPORT_LOGGER', silent = TRUE) + writeLines('done', doneFile) + + }, + tempScriptFile = tempScriptFile, + moduleFolder = moduleFolder, + injectVars = list(doneFile = doneFile, + isCdmExecution = isCdmExecution, + jobContextFileName = jobContextFileName) + ) - script <- paste0(script, " - if (keyringLocked) { - keyring::keyring_lock(keyring = keyringName) - } - - ParallelLogger::addDefaultFileLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'log.txt')) - ParallelLogger::addDefaultErrorReportLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'errorReport.R')) - - options(andromedaTempFolder = file.path(jobContext$moduleExecutionSettings$workFolder, 'andromedaTemp')) - - if (Sys.getenv('FORCE_RENV_USE', '') == 'TRUE') { - renv::use(lockfile = 'renv.lock') - } - execute(jobContext) - - ParallelLogger::unregisterLogger('DEFAULT_FILE_LOGGER', silent = TRUE) - ParallelLogger::unregisterLogger('DEFAULT_ERRORREPORT_LOGGER', silent = TRUE) - writeLines('done', file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'done')) - ") - - script <- gsub("jobContextFileName", sprintf("\"%s\"", jobContextFileName), script) - tempScriptFile <- jobContextFileName <- file.path(moduleExecutionSettings$workSubFolder, "StrategusScript.R") # gsub("\\\\", "/", tempfile(fileext = ".R")) - fileConn <- file(tempScriptFile) - writeLines(script, fileConn) - close(fileConn) - - doneFile <- file.path(jobContext$moduleExecutionSettings$resultsSubFolder, "done") - if (file.exists(doneFile)) { - unlink(doneFile) - } - renv::run( - script = tempScriptFile, - job = FALSE, - name = "Running module", - project = moduleFolder - ) if (!file.exists(doneFile)) { message <- paste( "Module did not complete. To debug:", diff --git a/R/Settings.R b/R/Settings.R index 0d1fb51f..dc021e54 100644 --- a/R/Settings.R +++ b/R/Settings.R @@ -91,6 +91,9 @@ addModuleSpecifications <- function(analysisSpecifications, moduleSpecifications #' @param resultsFolder A folder in the local file system where the module output will be written. #' @param minCellCount The minimum number of subjects contributing to a count before it can be included #' in results. +#' @param resultsConnectionDetailsReference A string that can be used to retrieve the results database connection +#' details from a secure local store. +#' @param resultsDatabaseSchema A schema where the results tables are stored #' #' @return #' An object of type `ExecutionSettings`. @@ -102,7 +105,9 @@ createCdmExecutionSettings <- function(connectionDetailsReference, cohortTableNames = CohortGenerator::getCohortTableNames(cohortTable = "cohort"), workFolder, resultsFolder, - minCellCount = 5) { + minCellCount = 5, + resultsConnectionDetailsReference = NULL, + resultsDatabaseSchema = NULL) { errorMessages <- checkmate::makeAssertCollection() checkmate::assertCharacter(connectionDetailsReference, len = 1, add = errorMessages) checkmate::assertCharacter(workDatabaseSchema, len = 1, add = errorMessages) @@ -111,6 +116,8 @@ createCdmExecutionSettings <- function(connectionDetailsReference, checkmate::assertCharacter(workFolder, len = 1, add = errorMessages) checkmate::assertCharacter(resultsFolder, len = 1, add = errorMessages) checkmate::assertInt(minCellCount, add = errorMessages) + checkmate::assertCharacter(resultsConnectionDetailsReference, null.ok = TRUE, add = errorMessages) + checkmate::assertCharacter(resultsDatabaseSchema, null.ok = TRUE, add = errorMessages) checkmate::reportAssertions(collection = errorMessages) executionSettings <- list( @@ -120,7 +127,9 @@ createCdmExecutionSettings <- function(connectionDetailsReference, cohortTableNames = cohortTableNames, workFolder = workFolder, resultsFolder = resultsFolder, - minCellCount = minCellCount + minCellCount = minCellCount, + resultsConnectionDetailsReference = resultsConnectionDetailsReference, + resultsDatabaseSchema = resultsDatabaseSchema ) class(executionSettings) <- c("CdmExecutionSettings", "ExecutionSettings") return(executionSettings) diff --git a/extras/ExampleWithResultsUpload.R b/extras/ExampleWithResultsUpload.R new file mode 100644 index 00000000..5e034be3 --- /dev/null +++ b/extras/ExampleWithResultsUpload.R @@ -0,0 +1,96 @@ +library(dplyr) +library(CohortGenerator) +library(Strategus) +library(ROhdsiWebApi) + +baseUrl <- "https://change.me:8443/WebAPI" + +atlasCohortIds <- c(5903, 5904) + +username <- "changeme" # Set to your atlas username +dbUsername <- username + +if (.Platform$OS.type == "unix") { + ROhdsiWebApi::authorizeWebApi(baseUrl = baseUrl, + webApiUsername = username, + webApiPassword = getPass::getPass(), + authMethod = "windows") +} else { + ROhdsiWebApi::authorizeWebApi(baseUrl = baseUrl, + authMethod = "windows") +} + +cohortDefinitionSet <- ROhdsiWebApi::exportCohortDefinitionSet(baseUrl = baseUrl, + cohortIds = atlasCohortIds, + generateStats = TRUE) + +dir.create("tmp", showWarnings = F) +source("https://raw.githubusercontent.com/OHDSI/CohortDiagnosticsModule/0.0.8/SettingsFunctions.R") + +cohortDiagnosticsModuleSpecifications <- createCohortDiagnosticsModuleSpecifications( + cohortIds = atlasCohortIds, + runInclusionStatistics = TRUE, + runIncludedSourceConcepts = TRUE, + runOrphanConcepts = TRUE, + runTimeSeries = FALSE, + runVisitContext = TRUE, + runBreakdownIndexEvents = TRUE, + runIncidenceRate = TRUE, + runCohortRelationship = TRUE, + runTemporalCohortCharacterization = TRUE, + incremental = TRUE +) + + +# Create analysis specifications --------------------------------------------- + +source("https://raw.githubusercontent.com/OHDSI/CohortGeneratorModule/main/SettingsFunctions.R") + +cohortDefinitionSharedResource <- createCohortSharedResourceSpecifications(cohortDefinitionSet) +cohortGeneratorModuleSpecifications <- createCohortGeneratorModuleSpecifications(incremental = TRUE, + generateStats = TRUE) + +analysisSpecifications <- Strategus::createEmptyAnalysisSpecificiations() %>% + addSharedResources(cohortDefinitionSharedResource) %>% + addModuleSpecifications(cohortGeneratorModuleSpecifications) %>% + Strategus::addModuleSpecifications(cohortDiagnosticsModuleSpecifications) + + +# Create execution settings ----------------------------------------------------- +connectionDetailsReference <- "eunomia-perm" +Strategus::storeConnectionDetails(Eunomia::getEunomiaConnectionDetails(file.path(normalizePath("tmp"), "eunomia-perm.sqlite")), connectionDetailsReference) + +resultsConnectionReference <- "result-store" +resultsConnectionDetails <- DatabaseConnector::createConnectionDetails(dbms = "sqlite", server = file.path(normalizePath("tmp"), "results.sqlite")) +Strategus::storeConnectionDetails(resultsConnectionDetails, resultsConnectionReference) + +# Note: this environmental variable should be set once for each compute node +Sys.setenv("INSTANTIATED_MODULES_FOLDER" = "~/tmp/StrategusInstantiatedModules") + +# This should be ran once and only once +resultsExecutitionSettings <- Strategus::createResultsExecutionSettings(resultsConnectionDetailsReference = "result-store", + resultsDatabaseSchema = "main", + workFolder = file.path(getwd(), "./tmp/strategusWork"), + resultsFolder = file.path(getwd(),"./tmp/strategusOutput")) + +# Create results schemas for all modules - this is only needed once +Strategus::createResultDataModels(analysisSpecifications = analysisSpecifications, executionSettings = resultsExecutitionSettings) + +# Note: Need to do only once: store con +executionSettings <- Strategus::createCdmExecutionSettings(connectionDetailsReference = connectionDetailsReference, + workDatabaseSchema = "main", + cdmDatabaseSchema = "main", + cohortTableNames = CohortGenerator::getCohortTableNames(cohortTable = "strategus_test"), + workFolder = file.path(getwd(), "./tmp/strategusWork"), + resultsFolder = file.path(getwd(),"./tmp/strategusOutput"), + minCellCount = 5, + resultsDatabaseSchema = "main", + resultsConnectionDetailsReference = resultsConnectionReference) + +ParallelLogger::saveSettingsToJson(executionSettings, "testExecutionSettings.json") + +# Execute analyses ------------------------------------------------------------- +unlink("_targets", recursive = TRUE) + +Strategus::execute(analysisSpecifications = analysisSpecifications, + executionSettings = executionSettings) diff --git a/man/createCdmExecutionSettings.Rd b/man/createCdmExecutionSettings.Rd index 9d6980dc..c04d3d6d 100644 --- a/man/createCdmExecutionSettings.Rd +++ b/man/createCdmExecutionSettings.Rd @@ -11,7 +11,9 @@ createCdmExecutionSettings( cohortTableNames = CohortGenerator::getCohortTableNames(cohortTable = "cohort"), workFolder, resultsFolder, - minCellCount = 5 + minCellCount = 5, + resultsConnectionDetailsReference = NULL, + resultsDatabaseSchema = NULL ) } \arguments{ @@ -34,6 +36,11 @@ connection details) will need to have read access to this database schema.} \item{minCellCount}{The minimum number of subjects contributing to a count before it can be included in results.} + +\item{resultsConnectionDetailsReference}{A string that can be used to retrieve the results database connection +details from a secure local store.} + +\item{resultsDatabaseSchema}{A schema where the results tables are stored} } \value{ An object of type \code{ExecutionSettings}. diff --git a/man/createResultDataModels.Rd b/man/createResultDataModels.Rd new file mode 100644 index 00000000..e3ee1364 --- /dev/null +++ b/man/createResultDataModels.Rd @@ -0,0 +1,36 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/ResultModelCreation.R +\name{createResultDataModels} +\alias{createResultDataModels} +\title{Create Result Data Models} +\usage{ +createResultDataModels( + analysisSpecifications, + executionSettings, + executionScriptFolder = NULL, + keyringName = NULL +) +} +\arguments{ +\item{analysisSpecifications}{An object of type \code{AnalysisSpecifications} as created +by \code{\link[=createEmptyAnalysisSpecificiations]{createEmptyAnalysisSpecificiations()}}.} + +\item{executionSettings}{An object of type \code{ExecutionSettings} as created +by \code{\link[=createCdmExecutionSettings]{createCdmExecutionSettings()}} or \code{\link[=createResultsExecutionSettings]{createResultsExecutionSettings()}}.} + +\item{executionScriptFolder}{Optional: the path to use for storing the execution script. +when NULL, this function will use a temporary +file location to create the script to execute.} + +\item{keyringName}{The name of the keyring to operate on. This function assumes you have +created the keyring before calling this function. It defaults to +NULL to select the default keyring. If the keyring is password +protected, the password must be stored in the environment variable +STRATEGUS_KEYRING_PASSWORD so it is retrieved using the command +Sys.getenv("STRATEGUS_KEYRING_PASSWORD")} +} +\description{ +Use this at the study design stage to create data models for modules +This functions loads modules and executes any custom code to create schemas in a results database +If recreate is set to TRUE all existing data will be removed, otherwise +} diff --git a/man/runSchemaCreation.Rd b/man/runSchemaCreation.Rd new file mode 100644 index 00000000..c4a631df --- /dev/null +++ b/man/runSchemaCreation.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/ResultModelCreation.R +\name{runSchemaCreation} +\alias{runSchemaCreation} +\title{Results upload callbacks for inserting results in to a database} +\usage{ +runSchemaCreation( + analysisSpecifications, + keyringSettings, + moduleIndex, + executionSettings, + ... +) +} +\description{ +Results upload callbacks for inserting results in to a database +} diff --git a/tests/testthat/setup.R b/tests/testthat/setup.R index 009fda5d..10621763 100644 --- a/tests/testthat/setup.R +++ b/tests/testthat/setup.R @@ -3,6 +3,10 @@ library(Strategus) library(Eunomia) library(dplyr) +# allows unit tests to run on mac without issue +baseBackend <- Sys.getenv("R_KEYRING_BACKEND") +Sys.setenv("R_KEYRING_BACKEND" = "file") + dbms <- getOption("dbms", default = "sqlite") message("************* Testing on ", dbms, " *************") @@ -20,6 +24,7 @@ if (dir.exists(Sys.getenv("DATABASECONNECTOR_JAR_FOLDER"))) { withr::defer( { unlink(jdbcDriverFolder, recursive = TRUE, force = TRUE) + Sys.setenv("R_KEYRING_BACKEND" = baseBackend) }, testthat::teardown_env() ) From 5f47b87fac60fb680ea5745617a8ad10ae34b293 Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Mon, 1 May 2023 17:23:38 -0400 Subject: [PATCH 02/22] Bump version, add contributors and update module version --- DESCRIPTION | 5 +++-- inst/testdata/analysisSpecification.json | 2 +- vignettes/CreatingAnalysisSpecification.Rmd | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 8dfded3a..29fe568f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,11 +1,12 @@ Package: Strategus Type: Package Title: Coordinating and Executing Analytics Using HADES Modules -Version: 0.0.6 -Date: 2023-04-25 +Version: 0.0.7 +Date: 2023-05-01 Authors@R: c( person("Martijn", "Schuemie", email = "schuemie@ohdsi.org", role = c("aut", "cre")), person("Anthony", "Sena", email = "sena@ohdsi.org", role = c("aut")), + person("Jamie", "Gilbert", role = c("aut")), person("Observational Health Data Science and Informatics", role = c("cph")) ) Maintainer: Anthony Sena diff --git a/inst/testdata/analysisSpecification.json b/inst/testdata/analysisSpecification.json index 2b30d746..53fc459a 100644 --- a/inst/testdata/analysisSpecification.json +++ b/inst/testdata/analysisSpecification.json @@ -365,7 +365,7 @@ }, { "module": "CharacterizationModule", - "version": "0.3.1", + "version": "0.3.2", "remoteRepo": "github.com", "remoteUsername": "ohdsi", "settings": { diff --git a/vignettes/CreatingAnalysisSpecification.Rmd b/vignettes/CreatingAnalysisSpecification.Rmd index 6434f5c3..a01735b8 100644 --- a/vignettes/CreatingAnalysisSpecification.Rmd +++ b/vignettes/CreatingAnalysisSpecification.Rmd @@ -184,7 +184,7 @@ The following code creates the `characterizationModuleSpecifications` to perform ```{r eval=FALSE} -source("https://raw.githubusercontent.com/OHDSI/CharacterizationModule/v0.3.1/SettingsFunctions.R") +source("https://raw.githubusercontent.com/OHDSI/CharacterizationModule/v0.3.2/SettingsFunctions.R") characterizationModuleSpecifications <- createCharacterizationModuleSpecifications( targetIds = c(1, 2), outcomeIds = 3, From 5b9ca02d28c7f93ac899e3e97032a36550d53fac Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Mon, 8 May 2023 17:10:38 -0400 Subject: [PATCH 03/22] Implement better storeConnectionDetails - fixes #74 --- R/Settings.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/Settings.R b/R/Settings.R index dc021e54..9a294052 100644 --- a/R/Settings.R +++ b/R/Settings.R @@ -214,7 +214,7 @@ storeConnectionDetails <- function(connectionDetails, connectionDetailsReference if (is.function(connectionDetails[[i]])) { detail <- connectionDetails[[i]]() if (is.null(detail)) { - connectionDetails[[i]] <- "" + connectionDetails[[i]] <- list(NULL) # Fixes Issue #74 } else { connectionDetails[[i]] <- connectionDetails[[i]]() } From d093e8a7703f688617d08292b2a3a534427f9882 Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Mon, 8 May 2023 17:42:33 -0400 Subject: [PATCH 04/22] Add check for tempEmulationSchema - fixes #73 --- R/Execution.R | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/R/Execution.R b/R/Execution.R index afc32cf5..dab2ab39 100644 --- a/R/Execution.R +++ b/R/Execution.R @@ -53,6 +53,17 @@ execute <- function(analysisSpecifications, checkmate::assertChoice(x = keyringName, choices = keyringList$keyring, null.ok = TRUE, add = errorMessages) checkmate::reportAssertions(collection = errorMessages) + # Assert that the temp emulation schema is set if required for the dbms + # specified by the executionSettings + connectionDetails <- retrieveConnectionDetails( + connectionDetailsReference = executionSettings$connectionDetailsReference, + keyringName = keyringName + ) + DatabaseConnector::assertTempEmulationSchemaSet( + dbms = connectionDetails$dbms, + tempEmulationSchema = getOption("sqlRenderTempEmulationSchema") + ) + modules <- ensureAllModulesInstantiated(analysisSpecifications) if (is.null(executionScriptFolder)) { @@ -170,7 +181,7 @@ generateTargetsScript <- function(analysisSpecifications, executionSettings, dep dependenciesFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "dependencies.rds")) saveRDS(dependencies, dependenciesFileName) - + execResultsUpload <- all(c(is(executionSettings, "CdmExecutionSettings"), !is.null(executionSettings$resultsConnectionDetailsReference), !is.null(executionSettings$resultsDatabaseSchema))) From a2c31aceac71ed709f8a2fe4907b828ecddc40ab Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Mon, 8 May 2023 17:44:22 -0400 Subject: [PATCH 05/22] Ensure uniqueness for all cdm tables listed --- R/DatabaseMetaData.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/DatabaseMetaData.R b/R/DatabaseMetaData.R index cdd775f3..bf73d02d 100644 --- a/R/DatabaseMetaData.R +++ b/R/DatabaseMetaData.R @@ -42,7 +42,7 @@ createDatabaseMetaData <- function(executionSettings, keyringName = NULL) { connection = connection, databaseSchema = executionSettings$cdmDatabaseSchema ) - cdmTableList <- tolower(cdmTableList) + cdmTableList <- unique(tolower(cdmTableList)) if (!length(cdmTableList[which(x = cdmTableList %in% requiredTables)]) == length(requiredTables)) { missingCdmTables <- requiredTables[!(requiredTables %in% cdmTableList)] From 34c3583dec58c5c23a3a18c8fdc41d31f16525aa Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Tue, 9 May 2023 09:23:13 -0400 Subject: [PATCH 06/22] Use renv::install for mandatory dependencies --- R/ModuleInstantiation.R | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/R/ModuleInstantiation.R b/R/ModuleInstantiation.R index a37cdf98..52eca618 100644 --- a/R/ModuleInstantiation.R +++ b/R/ModuleInstantiation.R @@ -193,12 +193,7 @@ instantiateModule <- function(module, version, remoteRepo, remoteUsername, modul script <- " renv::restore(prompt = FALSE) - if (!require('ParallelLogger', quietly = TRUE)) { - install.packages('ParallelLogger') - } - if (!require('keyring', quietly = TRUE)) { - install.packages('keyring') - } + renv::install(c('ParallelLogger', 'keyring'), prompt = FALSE) " tempScriptFile <- tempfile(fileext = ".R") fileConn <- file(tempScriptFile) From 6ce7641a3afe055de7ac45abe861ad92344c8b47 Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Tue, 9 May 2023 09:55:02 -0400 Subject: [PATCH 07/22] Bump CG Module Ref in test analysisSpecification.json --- inst/testdata/analysisSpecification.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/testdata/analysisSpecification.json b/inst/testdata/analysisSpecification.json index 53fc459a..efb11134 100644 --- a/inst/testdata/analysisSpecification.json +++ b/inst/testdata/analysisSpecification.json @@ -223,7 +223,7 @@ "moduleSpecifications": [ { "module": "CohortGeneratorModule", - "version": "0.1.0", + "version": "0.1.1-1", "remoteRepo": "github.com", "remoteUsername": "ohdsi", "settings": { From a5e020afe13fc571efc03f7ee7a5e40fd3f83dcc Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Wed, 10 May 2023 16:19:13 -0400 Subject: [PATCH 08/22] Add option to pass tempEmulationSchema in execution settings and add logging for module initialization --- R/ModuleInstantiation.R | 13 +++++++--- R/RunModule.R | 1 + R/Settings.R | 2 ++ man/Strategus-package.Rd | 1 + man/createCdmExecutionSettings.Rd | 1 + man/withModuleRenv.Rd | 42 +++++++++++++++++++++++++++++++ 6 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 man/withModuleRenv.Rd diff --git a/R/ModuleInstantiation.R b/R/ModuleInstantiation.R index 52eca618..55b7e715 100644 --- a/R/ModuleInstantiation.R +++ b/R/ModuleInstantiation.R @@ -191,10 +191,15 @@ instantiateModule <- function(module, version, remoteRepo, remoteUsername, modul stop(message) } - script <- " - renv::restore(prompt = FALSE) - renv::install(c('ParallelLogger', 'keyring'), prompt = FALSE) - " + script <- paste( + c( + "renv::install(c('ParallelLogger', 'keyring'), prompt = FALSE)", + sprintf("ParallelLogger::addDefaultFileLogger(file.path('%s', 'moduleInitLog.txt'))", moduleFolder), + sprintf("ParallelLogger::addDefaultErrorReportLogger(fileName = file.path('%s', 'moduleInitErrorReport.R'))", moduleFolder), + "renv::restore(prompt = FALSE)" + ), + collapse = "\n" + ) tempScriptFile <- tempfile(fileext = ".R") fileConn <- file(tempScriptFile) writeLines(script, fileConn) diff --git a/R/RunModule.R b/R/RunModule.R index 258cb1fb..aca0c6b8 100644 --- a/R/RunModule.R +++ b/R/RunModule.R @@ -87,6 +87,7 @@ runModule <- function(analysisSpecifications, keyringSettings, moduleIndex, exec ParallelLogger::addDefaultErrorReportLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'errorReport.R')) options(andromedaTempFolder = file.path(jobContext$moduleExecutionSettings$workFolder, 'andromedaTemp')) + options(tempEmulationSchema = jobContext$moduleExecutionSettings$tempEmulationSchema) if (Sys.getenv('FORCE_RENV_USE', '') == 'TRUE') { renv::use(lockfile = 'renv.lock') diff --git a/R/Settings.R b/R/Settings.R index 9a294052..6ae54d42 100644 --- a/R/Settings.R +++ b/R/Settings.R @@ -103,6 +103,7 @@ createCdmExecutionSettings <- function(connectionDetailsReference, workDatabaseSchema, cdmDatabaseSchema, cohortTableNames = CohortGenerator::getCohortTableNames(cohortTable = "cohort"), + tempEmulationSchema = getOption("sqlRenderTempEmulationSchema"), workFolder, resultsFolder, minCellCount = 5, @@ -125,6 +126,7 @@ createCdmExecutionSettings <- function(connectionDetailsReference, workDatabaseSchema = workDatabaseSchema, cdmDatabaseSchema = cdmDatabaseSchema, cohortTableNames = cohortTableNames, + tempEmulationSchema = tempEmulationSchema, workFolder = workFolder, resultsFolder = resultsFolder, minCellCount = minCellCount, diff --git a/man/Strategus-package.Rd b/man/Strategus-package.Rd index ce39d968..94d241d6 100644 --- a/man/Strategus-package.Rd +++ b/man/Strategus-package.Rd @@ -23,6 +23,7 @@ Useful links: Authors: \itemize{ \item Anthony Sena \email{sena@ohdsi.org} + \item Jamie Gilbert } Other contributors: diff --git a/man/createCdmExecutionSettings.Rd b/man/createCdmExecutionSettings.Rd index c04d3d6d..c8d447ba 100644 --- a/man/createCdmExecutionSettings.Rd +++ b/man/createCdmExecutionSettings.Rd @@ -9,6 +9,7 @@ createCdmExecutionSettings( workDatabaseSchema, cdmDatabaseSchema, cohortTableNames = CohortGenerator::getCohortTableNames(cohortTable = "cohort"), + tempEmulationSchema = getOption("sqlRenderTempEmulationSchema"), workFolder, resultsFolder, minCellCount = 5, diff --git a/man/withModuleRenv.Rd b/man/withModuleRenv.Rd new file mode 100644 index 00000000..64afb036 --- /dev/null +++ b/man/withModuleRenv.Rd @@ -0,0 +1,42 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/ModuleEnv.R +\name{withModuleRenv} +\alias{withModuleRenv} +\title{Load module execution space inside and renv +inspired by targets::tar_script but allowing custom variable execution} +\usage{ +withModuleRenv( + code, + moduleFolder, + injectVars = list(), + tempScriptFile = tempfile(fileext = ".R"), + useLocalStrategusLibrary = TRUE, + job = FALSE, + processName = paste(moduleFolder, "_renv_run") +) +} +\arguments{ +\item{code}{code block to execute} + +\item{moduleFolder}{Instantiated Strategus module folder} + +\item{injectVars}{list of var names list(name=value) to replace (e.g. replace list(foo = "some string") will +find the pattern foo and replace it with the string some string - be careful!} + +\item{tempScriptFile}{tempFile to write script to (ret} + +\item{job}{run as rstudio job} + +\item{processName}{String name for process} +} +\value{ +NULL invisibly +} +\description{ +Designed to allow more human readable code that is executed inside a module as well as simple variable substituion +for injecting constants (e.g. simple parameters or file paths used inside and outside of modules) +} +\details{ +This pattern also allows dependency injection which could be used if you don't want to use and renv and (instead) +would like to use docker images or just execution in the base environment for testing/debugging +} From f0ca68984b856432b97a1588332d93f719d2287c Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Tue, 23 May 2023 11:52:13 -0400 Subject: [PATCH 09/22] Retrieve better connection details #74 --- R/Settings.R | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/R/Settings.R b/R/Settings.R index 6ae54d42..fe0e3722 100644 --- a/R/Settings.R +++ b/R/Settings.R @@ -257,6 +257,15 @@ retrieveConnectionDetails <- function(connectionDetailsReference, keyringName = connectionDetails <- keyring::key_get(connectionDetailsReference, keyring = keyringName) connectionDetails <- ParallelLogger::convertJsonToSettings(connectionDetails) + + # Ensure that NA values are converted to NULL prior to calling + # DatabaseConnector + for (i in 1:length(connectionDetails)) { + if (isTRUE(is.na(connectionDetails[[i]]))) { + connectionDetails[[i]] <- list(NULL) # Fixes Issue #74 + } + } + connectionDetails <- do.call(DatabaseConnector::createConnectionDetails, connectionDetails) if (keyringLocked) { From d481d97c5d4e028b379a2b565cab089187c789ac Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Fri, 26 May 2023 11:55:18 -0400 Subject: [PATCH 10/22] Revise module execution script to use Strategus retrieveConnectionDetails fix --- R/ModuleEnv.R | 9 ++++++++- R/RunModule.R | 14 ++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/R/ModuleEnv.R b/R/ModuleEnv.R index bec0872c..833590d9 100644 --- a/R/ModuleEnv.R +++ b/R/ModuleEnv.R @@ -70,6 +70,13 @@ withModuleRenv <- function(code, libPath <- file.path(find.package("Strategus"), "../") script <- c(sprintf("library(Strategus, lib.loc = '%s')", libPath), script) + # Adding Strategus dependencies to the script + libPath <- file.path(find.package("CohortGenerator"), "../") + script <- c(sprintf("library(CohortGenerator, lib.loc = '%s')", libPath), + script) + libPath <- file.path(find.package("DatabaseConnector"), "../") + script <- c(sprintf("library(DatabaseConnector, lib.loc = '%s')", libPath), + script) } # Write file and execute script inside an renv @@ -83,4 +90,4 @@ withModuleRenv <- function(code, project = moduleFolder ) return(invisible(NULL)) -} \ No newline at end of file +} diff --git a/R/RunModule.R b/R/RunModule.R index aca0c6b8..8b1b769e 100644 --- a/R/RunModule.R +++ b/R/RunModule.R @@ -95,14 +95,16 @@ runModule <- function(analysisSpecifications, keyringSettings, moduleIndex, exec # NOTE injected variable isResultsExecution - will look strange outside of Strategus definition if (isCdmExecution) { - connectionDetails <- keyring::key_get(jobContext$moduleExecutionSettings$connectionDetailsReference, keyring = keyringName) - connectionDetails <- ParallelLogger::convertJsonToSettings(connectionDetails) - connectionDetails <- do.call(DatabaseConnector::createConnectionDetails, connectionDetails) + connectionDetails <- Strategus::retrieveConnectionDetails( + connectionDetailsReference = jobContext$moduleExecutionSettings$connectionDetailsReference, + keyringName = keyringName + ) jobContext$moduleExecutionSettings$connectionDetails <- connectionDetails } else { - resultsConnectionDetails <- keyring::key_get(jobContext$moduleExecutionSettings$resultsConnectionDetailsReference, keyring = keyringName) - resultsConnectionDetails <- ParallelLogger::convertJsonToSettings(resultsConnectionDetails) - resultsConnectionDetails <- do.call(DatabaseConnector::createConnectionDetails, resultsConnectionDetails) + resultsConnectionDetails <- Strategus::retrieveConnectionDetails( + connectionDetailsReference = jobContext$moduleExecutionSettings$resultsConnectionDetailsReference, + keyringName = keyringName + ) jobContext$moduleExecutionSettings$resultsConnectionDetails <- resultsConnectionDetails } if (keyringLocked) { From bc11f81ee89a279eec08b868ffe9189fa14890c7 Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Wed, 28 Jun 2023 13:55:48 -0400 Subject: [PATCH 11/22] Add keyring to list of dependencies --- R/ModuleEnv.R | 3 +++ 1 file changed, 3 insertions(+) diff --git a/R/ModuleEnv.R b/R/ModuleEnv.R index 833590d9..d7545cd6 100644 --- a/R/ModuleEnv.R +++ b/R/ModuleEnv.R @@ -77,6 +77,9 @@ withModuleRenv <- function(code, libPath <- file.path(find.package("DatabaseConnector"), "../") script <- c(sprintf("library(DatabaseConnector, lib.loc = '%s')", libPath), script) + libPath <- file.path(find.package("keyring"), "../") + script <- c(sprintf("library(keyring, lib.loc = '%s')", libPath), + script) } # Write file and execute script inside an renv From 79c87542d799750b487ae4ace261cb7b1df1a316 Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Wed, 28 Jun 2023 13:58:39 -0400 Subject: [PATCH 12/22] Add openssl to list of dependencies --- R/ModuleEnv.R | 3 +++ 1 file changed, 3 insertions(+) diff --git a/R/ModuleEnv.R b/R/ModuleEnv.R index d7545cd6..cffc18a2 100644 --- a/R/ModuleEnv.R +++ b/R/ModuleEnv.R @@ -80,6 +80,9 @@ withModuleRenv <- function(code, libPath <- file.path(find.package("keyring"), "../") script <- c(sprintf("library(keyring, lib.loc = '%s')", libPath), script) + libPath <- file.path(find.package("openssl"), "../") + script <- c(sprintf("library(openssl, lib.loc = '%s')", libPath), + script) } # Write file and execute script inside an renv From 56edec6363ee358c5a17919aac2d26241594fc7a Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Mon, 7 Aug 2023 16:54:14 -0400 Subject: [PATCH 13/22] Only check temp emulation schema on cdm connection settings --- R/Execution.R | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/R/Execution.R b/R/Execution.R index dab2ab39..1abd87db 100644 --- a/R/Execution.R +++ b/R/Execution.R @@ -55,15 +55,16 @@ execute <- function(analysisSpecifications, # Assert that the temp emulation schema is set if required for the dbms # specified by the executionSettings - connectionDetails <- retrieveConnectionDetails( - connectionDetailsReference = executionSettings$connectionDetailsReference, - keyringName = keyringName - ) - DatabaseConnector::assertTempEmulationSchemaSet( - dbms = connectionDetails$dbms, - tempEmulationSchema = getOption("sqlRenderTempEmulationSchema") - ) - + if (is(executionSettings, "CdmExecutionSettings")) { + connectionDetails <- retrieveConnectionDetails( + connectionDetailsReference = executionSettings$connectionDetailsReference, + keyringName = keyringName + ) + DatabaseConnector::assertTempEmulationSchemaSet( + dbms = connectionDetails$dbms, + tempEmulationSchema = getOption("sqlRenderTempEmulationSchema") + ) + } modules <- ensureAllModulesInstantiated(analysisSpecifications) if (is.null(executionScriptFolder)) { From bc58d17a9196df0af8dc1de6d4c82f77e6f25f7e Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Mon, 7 Aug 2023 17:05:52 -0400 Subject: [PATCH 14/22] Change module init error report a text file --- R/ModuleInstantiation.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/ModuleInstantiation.R b/R/ModuleInstantiation.R index 55b7e715..fd512c14 100644 --- a/R/ModuleInstantiation.R +++ b/R/ModuleInstantiation.R @@ -195,7 +195,7 @@ instantiateModule <- function(module, version, remoteRepo, remoteUsername, modul c( "renv::install(c('ParallelLogger', 'keyring'), prompt = FALSE)", sprintf("ParallelLogger::addDefaultFileLogger(file.path('%s', 'moduleInitLog.txt'))", moduleFolder), - sprintf("ParallelLogger::addDefaultErrorReportLogger(fileName = file.path('%s', 'moduleInitErrorReport.R'))", moduleFolder), + sprintf("ParallelLogger::addDefaultErrorReportLogger(fileName = file.path('%s', 'moduleInitErrorReport.txt'))", moduleFolder), "renv::restore(prompt = FALSE)" ), collapse = "\n" From ea270614e188c76e268f7c05acd6b559c79c617c Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Thu, 7 Sep 2023 09:42:20 -0400 Subject: [PATCH 15/22] Use latest renv dependency, update/fix unit tests and GitHub Actions (#83) --- .github/workflows/R_CMD_check_Hades.yaml | 24 +- DESCRIPTION | 12 +- R/DatabaseMetaData.R | 4 + R/Execution.R | 62 +- R/ModuleEnv.R | 33 +- R/ModuleInstantiation.R | 60 +- R/ResultModelCreation.R | 70 +- R/ResultsUpload.R | 13 +- R/RunModule.R | 2 + R/Settings.R | 43 +- Strategus.Rproj | 1 + extras/PackageMaintenance.R | 30 +- .../.Rprofile | 0 extras/TestModule1-0.0.1/.renvignore | 3 + extras/TestModule1-0.0.1/Main.R | 122 ++ .../MetaData.json | 3 +- extras/TestModule1-0.0.1/SettingsFunctions.R | 20 + .../TestModule1.Rproj | 0 .../extras/CreateJobContextForTesting.R | 46 + extras/TestModule1-0.0.1/renv.lock | 1482 +++++++++++++++++ .../renv/.gitignore | 1 + .../renv/activate.R | 538 ++++-- .../renv/settings.dcf | 0 extras/TestModule1-0.0.1/renv/settings.json | 19 + .../resultsDataModelSpecification.csv | 3 + extras/TestModule1-0.0.1/tests/test-eunomia.R | 41 + .../tests/testJobContext.rds | Bin 0 -> 418 bytes extras/TestModule1-0.0.1/tests/testScript.R | 10 + extras/TestModules/TestModule1/Main.R | 33 - extras/TestModules/TestModule1/renv.lock | 381 ----- inst/csv/modules.csv | 16 +- inst/doc/CreatingAnalysisSpecification.pdf | Bin 250498 -> 0 bytes inst/doc/CreatingModules.pdf | Bin 197997 -> 0 bytes inst/doc/ExecuteStrategus.pdf | Bin 200660 -> 0 bytes inst/doc/IntroductionToStrategus.pdf | Bin 171537 -> 0 bytes inst/testdata/TestModule1_0.0.1.zip | Bin 0 -> 34430 bytes inst/testdata/analysisSpecification.json | 14 +- .../unitTestAnalysisSpecification.json | 12 + man-roxygen/executionSettings.R | 2 + man/createCdmExecutionSettings.Rd | 8 + man/createResultDataModels.Rd | 6 +- man/createResultsExecutionSettings.Rd | 8 +- man/dot-nullList.Rd | 12 + man/runSchemaCreation.Rd | 22 +- man/withModuleRenv.Rd | 5 +- tests/testOracle.R | 3 - tests/testPostgres.R | 3 - tests/testRedshift.R | 3 - tests/testSqlServer.R | 3 - tests/{testSqlite.R => testthat.R} | 2 +- tests/testthat/setup.R | 206 ++- tests/testthat/test-DatabaseMetaData.R | 36 +- tests/testthat/test-Settings.R | 40 + tests/testthat/test-Strategus.R | 126 +- 54 files changed, 2732 insertions(+), 851 deletions(-) rename extras/{TestModules/TestModule1 => TestModule1-0.0.1}/.Rprofile (100%) create mode 100644 extras/TestModule1-0.0.1/.renvignore create mode 100644 extras/TestModule1-0.0.1/Main.R rename extras/{TestModules/TestModule1 => TestModule1-0.0.1}/MetaData.json (52%) create mode 100644 extras/TestModule1-0.0.1/SettingsFunctions.R rename extras/{TestModules/TestModule1 => TestModule1-0.0.1}/TestModule1.Rproj (100%) create mode 100644 extras/TestModule1-0.0.1/extras/CreateJobContextForTesting.R create mode 100644 extras/TestModule1-0.0.1/renv.lock rename extras/{TestModules/TestModule1 => TestModule1-0.0.1}/renv/.gitignore (83%) rename extras/{TestModules/TestModule1 => TestModule1-0.0.1}/renv/activate.R (61%) rename extras/{TestModules/TestModule1 => TestModule1-0.0.1}/renv/settings.dcf (100%) create mode 100644 extras/TestModule1-0.0.1/renv/settings.json create mode 100644 extras/TestModule1-0.0.1/resultsDataModelSpecification.csv create mode 100644 extras/TestModule1-0.0.1/tests/test-eunomia.R create mode 100644 extras/TestModule1-0.0.1/tests/testJobContext.rds create mode 100644 extras/TestModule1-0.0.1/tests/testScript.R delete mode 100644 extras/TestModules/TestModule1/Main.R delete mode 100644 extras/TestModules/TestModule1/renv.lock delete mode 100644 inst/doc/CreatingAnalysisSpecification.pdf delete mode 100644 inst/doc/CreatingModules.pdf delete mode 100644 inst/doc/ExecuteStrategus.pdf delete mode 100644 inst/doc/IntroductionToStrategus.pdf create mode 100644 inst/testdata/TestModule1_0.0.1.zip create mode 100644 inst/testdata/unitTestAnalysisSpecification.json create mode 100644 man-roxygen/executionSettings.R create mode 100644 man/dot-nullList.Rd delete mode 100644 tests/testOracle.R delete mode 100644 tests/testPostgres.R delete mode 100644 tests/testRedshift.R delete mode 100644 tests/testSqlServer.R rename tests/{testSqlite.R => testthat.R} (62%) diff --git a/.github/workflows/R_CMD_check_Hades.yaml b/.github/workflows/R_CMD_check_Hades.yaml index b367ab6a..e836a20c 100644 --- a/.github/workflows/R_CMD_check_Hades.yaml +++ b/.github/workflows/R_CMD_check_Hades.yaml @@ -20,9 +20,12 @@ jobs: fail-fast: false matrix: config: - - {os: windows-latest, r: 'release'} - - {os: macOS-latest, r: 'release'} - - {os: ubuntu-20.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} + - {os: windows-latest, r: '4.2.3', rtools: '42', rspm: "https://cloud.r-project.org"} + - {os: macOS-latest, r: '4.2.3', rtools: '42', rspm: "https://cloud.r-project.org"} + - {os: ubuntu-20.04, r: '4.2.3', rtools: '42', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} + - {os: windows-latest, r: 'release', rtools: '', rspm: "https://cloud.r-project.org"} + - {os: macOS-latest, r: 'release', rtools: '', rspm: "https://cloud.r-project.org"} + - {os: ubuntu-20.04, r: 'release', rtools: '', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} env: GITHUB_PAT: ${{ secrets.GH_TOKEN }} @@ -53,11 +56,12 @@ jobs: CDM5_SPARK_CONNECTION_STRING: ${{ secrets.CDM5_SPARK_CONNECTION_STRING }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: r-lib/actions/setup-r@v2 with: r-version: ${{ matrix.config.r }} + rtools-version: ${{ matrix.config.rtools }} - uses: r-lib/actions/setup-tinytex@v2 @@ -66,7 +70,11 @@ jobs: - name: Install system requirements if: runner.os == 'Linux' run: | - sudo apt-get install -y libssh-dev + sudo apt-get install -y make + sudo apt-get install -y default-jdk + sudo apt-get install -y libcurl4-openssl-dev + sudo apt-get install -y libssl-dev + sudo apt-get install -y libglpk-dev while read -r cmd do eval sudo $cmd @@ -84,20 +92,20 @@ jobs: check-dir: '"check"' - name: Upload source package - if: success() && runner.os == 'macOS' && github.event_name != 'pull_request' && github.ref == 'refs/heads/main' + if: success() && runner.os == 'Windows' && github.event_name != 'pull_request' && github.ref == 'refs/heads/main' uses: actions/upload-artifact@v2 with: name: package_tarball path: check/*.tar.gz - name: Install covr - if: runner.os == 'macOS' + if: runner.os == 'Windows' run: | install.packages("covr") shell: Rscript {0} - name: Test coverage - if: runner.os == 'macOS' + if: runner.os == 'Windows' run: covr::codecov() shell: Rscript {0} diff --git a/DESCRIPTION b/DESCRIPTION index 29fe568f..f23ebde2 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Package: Strategus Type: Package Title: Coordinating and Executing Analytics Using HADES Modules -Version: 0.0.7 -Date: 2023-05-01 +Version: 0.1.0 +Date: 2023-08-15 Authors@R: c( person("Martijn", "Schuemie", email = "schuemie@ohdsi.org", role = c("aut", "cre")), person("Anthony", "Sena", email = "sena@ohdsi.org", role = c("aut")), @@ -15,12 +15,12 @@ License: Apache License 2.0 URL: https://ohdsi.github.io/Strategus, https://github.com/OHDSI/Strategus BugReports: https://github.com/OHDSI/Strategus/issues Depends: - R (>= 4.0.0), - CohortGenerator (>= 0.7.0), - DatabaseConnector (>= 5.1.0) + R (>= 4.2.0), + CohortGenerator (>= 0.8.0), + DatabaseConnector (>= 6.2.3) Imports: targets, - renv (>= 0.15.5), + renv (>= 1.0.0), ParallelLogger (>= 3.1.0), dplyr, checkmate, diff --git a/R/DatabaseMetaData.R b/R/DatabaseMetaData.R index bf73d02d..121ca849 100644 --- a/R/DatabaseMetaData.R +++ b/R/DatabaseMetaData.R @@ -44,6 +44,10 @@ createDatabaseMetaData <- function(executionSettings, keyringName = NULL) { ) cdmTableList <- unique(tolower(cdmTableList)) + if (length(cdmTableList) == 0) { + stop(sprintf("FATAL ERROR: No tables found in your OMOP CDM. Please confirm you are using the proper connection information, in particular the CDM schema name.")) + } + if (!length(cdmTableList[which(x = cdmTableList %in% requiredTables)]) == length(requiredTables)) { missingCdmTables <- requiredTables[!(requiredTables %in% cdmTableList)] stop(sprintf("FATAL ERROR: Your OMOP CDM is missing the following required tables: %s", paste(missingCdmTables, collapse = ", "))) diff --git a/R/Execution.R b/R/Execution.R index 1abd87db..44c0ca5a 100644 --- a/R/Execution.R +++ b/R/Execution.R @@ -24,18 +24,13 @@ #' Execute analysis specifications. #' #' @template AnalysisSpecifications -#' @param executionSettings An object of type `ExecutionSettings` as created -#' by [createCdmExecutionSettings()] or [createResultsExecutionSettings()]. +#' @template executionSettings #' @param executionScriptFolder Optional: the path to use for storing the execution script. #' when NULL, this function will use a temporary #' file location to create the script to execute. -#' #' @template keyringName -#' #' @param restart Restart run? Requires `executionScriptFolder` to be specified, and be #' the same as the `executionScriptFolder` used in the run to restart. -#' -#' #' @return #' Does not return anything. Is called for the side-effect of executing the specified #' analyses. @@ -62,7 +57,7 @@ execute <- function(analysisSpecifications, ) DatabaseConnector::assertTempEmulationSchemaSet( dbms = connectionDetails$dbms, - tempEmulationSchema = getOption("sqlRenderTempEmulationSchema") + tempEmulationSchema = executionSettings$tempEmulationSchema ) } modules <- ensureAllModulesInstantiated(analysisSpecifications) @@ -115,13 +110,12 @@ generateTargetsScript <- function(analysisSpecifications, executionSettings, dep moduleToTargetNames <- readRDS(moduleToTargetNamesFileName) dependencies <- readRDS(dependenciesFileName) - library(dplyr) - tar_option_set(packages = c('Strategus', 'keyring'), imports = c('Strategus', 'keyring')) + targets::tar_option_set(packages = c("Strategus", "keyring"), imports = c("Strategus", "keyring")) targetList <- list( - tar_target(analysisSpecifications, readRDS(analysisSpecificationsFileName)), + targets::tar_target(analysisSpecifications, readRDS(analysisSpecificationsFileName)), # NOTE Execution settings could be mapped to many different cdms making re-execution across cdms much simpler - tar_target(executionSettings, readRDS(executionSettingsFileName)), - tar_target(keyringSettings, readRDS(keyringSettingsFileName)) + targets::tar_target(executionSettings, readRDS(executionSettingsFileName)), + targets::tar_target(keyringSettings, readRDS(keyringSettingsFileName)) ) # factory for producing module targets based on their dependencies @@ -132,30 +126,28 @@ generateTargetsScript <- function(analysisSpecifications, executionSettings, dep for (i in 1:length(analysisSpecificationsLoad$moduleSpecifications)) { moduleSpecification <- analysisSpecificationsLoad$moduleSpecifications[[i]] targetName <- sprintf("%s_%d", moduleSpecification$module, i) - dependencyModules <- dependencies %>% - filter(.data$module == moduleSpecification$module) %>% - pull(.data$dependsOn) - - dependencyTargetNames <- moduleToTargetNames %>% - filter(.data$module %in% dependencyModules) %>% - pull(.data$targetName) - - # Use of tar_target_raw allows dynamic names - targetList[[length(targetList) + 1]] <- tar_target_raw(targetName, - substitute(Strategus:::runModule(analysisSpecifications, keyringSettings, i, executionSettings), - env = list(i = i)), - deps = c("analysisSpecifications", "keyringSettings", "executionSettings", dependencyTargetNames)) - - if (execResultsUpload) { - resultsTargetName <- paste0(targetName, "_results_upload") - targetList[[length(targetList) + 1]] <- tar_target_raw(resultsTargetName, - substitute(Strategus:::runResultsUpload(analysisSpecifications, keyringSettings, i, executionSettings), - env = list(i = i)), - deps = c("analysisSpecifications", "keyringSettings", "executionSettings", targetName)) + dependencyModules <- dependencies[dependencies$module == moduleSpecification$module,]$dependsOn + dependencyTargetNames <- moduleToTargetNames[moduleToTargetNames$module %in% dependencyModules,]$targetName + + # Use of tar_target_raw allows dynamic names + targetList[[length(targetList) + 1]] <- targets::tar_target_raw(targetName, + substitute(Strategus:::runModule(analysisSpecifications, keyringSettings, i, executionSettings), + env = list(i = i) + ), + deps = c("analysisSpecifications", "keyringSettings", "executionSettings", dependencyTargetNames) + ) + + if (execResultsUpload) { + resultsTargetName <- paste0(targetName, "_results_upload") + targetList[[length(targetList) + 1]] <- targets::tar_target_raw(resultsTargetName, + substitute(Strategus:::runResultsUpload(analysisSpecifications, keyringSettings, i, executionSettings), + env = list(i = i) + ), + deps = c("analysisSpecifications", "keyringSettings", "executionSettings", targetName) + ) + } } - } - - targetList + targetList }, script = fileName) #Store settings objects in the temp folder so they are available in targets diff --git a/R/ModuleEnv.R b/R/ModuleEnv.R index cffc18a2..c95b58f9 100644 --- a/R/ModuleEnv.R +++ b/R/ModuleEnv.R @@ -44,9 +44,11 @@ #' #' @param code code block to execute #' @param moduleFolder Instantiated Strategus module folder -#' @param injectVars list of var names list(name=value) to replace (e.g. replace list(foo = "some string") will +#' @param injectVars list of var names list(name=value) to replace (e.g. replace list(foo = "some string") will #' find the pattern foo and replace it with the string some string - be careful! -#' @param tempScriptFile tempFile to write script to (ret +#' @param tempScriptFile tempFile to write script to +#' @param useLocalStrategusLibrary Use the locally installed Strategus library? TRUE will use the Strategus +#' installation from the calling R process. #' @param job run as rstudio job #' @param processName String name for process #' @returns NULL invisibly @@ -67,22 +69,14 @@ withModuleRenv <- function(code, # Enforce attachment of Strategus from calling process - note one inside the renv if (useLocalStrategusLibrary) { - libPath <- file.path(find.package("Strategus"), "../") - script <- c(sprintf("library(Strategus, lib.loc = '%s')", libPath), - script) + script <- c(.getLocalLibraryScipt("Strategus"), script) # Adding Strategus dependencies to the script - libPath <- file.path(find.package("CohortGenerator"), "../") - script <- c(sprintf("library(CohortGenerator, lib.loc = '%s')", libPath), - script) - libPath <- file.path(find.package("DatabaseConnector"), "../") - script <- c(sprintf("library(DatabaseConnector, lib.loc = '%s')", libPath), - script) - libPath <- file.path(find.package("keyring"), "../") - script <- c(sprintf("library(keyring, lib.loc = '%s')", libPath), - script) - libPath <- file.path(find.package("openssl"), "../") - script <- c(sprintf("library(openssl, lib.loc = '%s')", libPath), - script) + c(.getLocalLibraryScipt("R6"), script) + c(.getLocalLibraryScipt("CohortGenerator"), script) + c(.getLocalLibraryScipt("DatabaseConnector"), script) + c(.getLocalLibraryScipt("keyring"), script) + c(.getLocalLibraryScipt("openssl"), script) + c(.getLocalLibraryScipt("dplyr"), script) } # Write file and execute script inside an renv @@ -97,3 +91,8 @@ withModuleRenv <- function(code, ) return(invisible(NULL)) } + +.getLocalLibraryScipt <- function(x) { + libPath <- file.path(find.package(x), "../") + sprintf("library(%s, lib.loc = '%s')", x, libPath) +} diff --git a/R/ModuleInstantiation.R b/R/ModuleInstantiation.R index fd512c14..1ee21b66 100644 --- a/R/ModuleInstantiation.R +++ b/R/ModuleInstantiation.R @@ -38,9 +38,9 @@ ensureAllModulesInstantiated <- function(analysisSpecifications) { # Verify only one version per module: multipleVersionsPerModule <- modules %>% - group_by(.data$module) %>% + group_by(module) %>% summarise(versions = n()) %>% - filter(.data$versions > 1) + filter(versions > 1) if (nrow(multipleVersionsPerModule) > 0) { stop(sprintf( "Only one version per module allowed in a single analyses specification.\nMultiple versions found for module(s) `%s`.", @@ -61,7 +61,7 @@ ensureAllModulesInstantiated <- function(analysisSpecifications) { # Check required dependencies have been installed: dependencies <- extractDependencies(modules) missingDependencies <- dependencies %>% - filter(!.data$dependsOn %in% modules$module) + filter(!dependsOn %in% modules$module) if (nrow(missingDependencies) > 0) { message <- paste( c( @@ -91,7 +91,7 @@ getModuleTable <- function(analysisSpecifications, distinct = FALSE) { bind_rows() if (distinct) { modules <- modules %>% - distinct(.data$module, .data$version, .keep_all = TRUE) + distinct(module, version, .keep_all = TRUE) } return(modules) } @@ -144,33 +144,33 @@ instantiateModule <- function(module, version, remoteRepo, remoteUsername, modul dir.create(moduleFolder) success <- FALSE on.exit(if (!success) unlink(moduleFolder, recursive = TRUE)) + moduleFile <- file.path(moduleFolder, sprintf("%s_%s.zip", module, version)) if (module == "TestModule1") { - # For demo purposes only: get module from extras folder - files <- list.files("extras/TestModules/TestModule1", full.names = TRUE, include.dirs = TRUE, all.files = TRUE) - files <- files[!grepl("renv$", files)] - files <- files[!grepl("\\.$", files)] - files <- files[!grepl(".Rhistory$", files)] - file.copy(files, moduleFolder, recursive = TRUE) - dir.create(file.path(moduleFolder, "renv")) - file.copy("extras/TestModules/TestModule1/renv/activate.R", file.path(moduleFolder, "renv"), recursive = TRUE) + # For unit testing purposes only: get module from inst/testdata folder + file.copy( + from = system.file( + file.path("testdata", basename(moduleFile)), + package = utils::packageName() + ), + to = moduleFolder + ) } else { - moduleFile <- file.path(moduleFolder, sprintf("%s_%s.zip", module, version)) moduleUrl <- sprintf("https://%s/%s/%s/archive/refs/tags/v%s.zip", remoteRepo, remoteUsername, module, version) utils::download.file(url = moduleUrl, destfile = moduleFile) - utils::unzip(zipfile = moduleFile, exdir = moduleFolder) - unlink(moduleFile) - # At this point, the unzipped folders will likely exist in a sub folder. - # Move all files from that sub folder to the main module folder - subFolders <- list.dirs(path = moduleFolder, recursive = FALSE) - if (length(subFolders) > 0) { - for (i in 1:length(subFolders)) { - R.utils::copyDirectory( - from = subFolders[i], - to = moduleFolder, - recursive = TRUE - ) - unlink(subFolders[i], recursive = TRUE) - } + } + utils::unzip(zipfile = moduleFile, exdir = moduleFolder) + unlink(moduleFile) + # At this point, the unzipped folders will likely exist in a sub folder. + # Move all files from that sub folder to the main module folder + subFolders <- list.dirs(path = moduleFolder, recursive = FALSE) + if (length(subFolders) > 0) { + for (i in 1:length(subFolders)) { + R.utils::copyDirectory( + from = subFolders[i], + to = moduleFolder, + recursive = TRUE + ) + unlink(subFolders[i], recursive = TRUE) } } @@ -223,10 +223,10 @@ getModuleRenvDependencies <- function(moduleFolder) { ) missingFiles <- tibble::enframe(renvRequiredFiles) %>% - dplyr::mutate(fileExists = file.exists(file.path(moduleFolder, .data$value))) %>% - dplyr::rename(fileName = .data$value) %>% + dplyr::mutate(fileExists = file.exists(file.path(moduleFolder, value))) %>% + dplyr::rename(fileName = value) %>% dplyr::select("fileName", "fileExists") %>% - dplyr::filter(.data$fileExists == FALSE) + dplyr::filter(fileExists == FALSE) invisible(missingFiles) } diff --git a/R/ResultModelCreation.R b/R/ResultModelCreation.R index aef3c214..78f988d4 100644 --- a/R/ResultModelCreation.R +++ b/R/ResultModelCreation.R @@ -21,11 +21,13 @@ #' If recreate is set to TRUE all existing data will be removed, otherwise #' #' @inheritParams execute +#' #' @export createResultDataModels <- function(analysisSpecifications, executionSettings, executionScriptFolder = NULL, - keyringName = NULL) { + keyringName = NULL, + restart = FALSE) { errorMessages <- checkmate::makeAssertCollection() keyringList <- keyring::keyring_list() checkmate::assertClass(analysisSpecifications, "AnalysisSpecifications", add = errorMessages) @@ -57,26 +59,29 @@ createResultDataModels <- function(analysisSpecifications, ## analysisSpecificationsLoad <- readRDS(analysisSpecificationsFileName) - library(dplyr) - tar_option_set(packages = c('Strategus', 'keyring'), imports = c('Strategus', 'keyring')) + targets::tar_option_set(packages = c("Strategus", "keyring"), imports = c("Strategus", "keyring")) targetList <- list( - tar_target(analysisSpecifications, readRDS(analysisSpecificationsFileName)), - tar_target(executionSettings, readRDS(executionSettingsFileName)), - tar_target(keyringSettings, readRDS(keyringSettingsFileName)) + targets::tar_target(analysisSpecifications, readRDS(analysisSpecificationsFileName)), + targets::tar_target(executionSettings, readRDS(executionSettingsFileName)), + targets::tar_target(keyringSettings, readRDS(keyringSettingsFileName)) ) for (i in 1:length(analysisSpecificationsLoad$moduleSpecifications)) { moduleSpecification <- analysisSpecificationsLoad$moduleSpecifications[[i]] targetName <- sprintf("%s_%d_schema_creation", moduleSpecification$module, i) - # Use of tar_target_raw allows dynamic names - targetList[[length(targetList) + 1]] <- tar_target_raw(targetName, - substitute(Strategus:::runSchemaCreation(analysisSpecifications, keyringSettings, i, executionSettings), - env = list(i = i)), - deps = c("analysisSpecifications", "keyringSettings", "executionSettings")) - } - targetList - }, script = script) + # Use of tar_target_raw allows dynamic names + targetList[[length(targetList) + 1]] <- targets::tar_target_raw(targetName, + substitute(Strategus:::runSchemaCreation(analysisSpecifications, keyringSettings, i, executionSettings), + env = list(i = i) + ), + deps = c("analysisSpecifications", "keyringSettings", "executionSettings") + ) + } + targetList + }, + script = script + ) #Store settings objects in the temp folder so they are available in targets analysisSpecificationsFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "analysisSpecifications.rds")) @@ -113,7 +118,20 @@ createResultDataModels <- function(analysisSpecifications, } -#' Results upload callbacks for inserting results in to a database +#' Create module(s) result data model +#' @description +#' This function will create the results data model for the modules in the +#' `analysisSpecifications`. A module can implement its own results data model +#' creation function by implementing the function `createDataModelSchema` in +#' its Main.R. The default behavior is to use the `ResultsModelManager` to create +#' the results data model based on the `resultsDataModelSpecification.csv` in the +#' module's results folder. +#' +#' @template AnalysisSpecifications +#' @param keyringSettings The keyringSettings from the executionSettings context +#' @param moduleIndex The index of the module in the analysis specification +#' @template executionSettings +#' @param ... For future expansion runSchemaCreation <- function(analysisSpecifications, keyringSettings, moduleIndex, executionSettings, ...) { checkmate::assert_multi_class(x = executionSettings, classes = c("ResultsExecutionSettings")) moduleSpecification <- analysisSpecifications$moduleSpecifications[[moduleIndex]] @@ -158,7 +176,9 @@ runSchemaCreation <- function(analysisSpecifications, keyringSettings, moduleInd getDataModelSpecifications <- function(...) { if (file.exists('resultsDataModelSpecification.csv')) { - res <- readr::read_csv('resultsDataModelSpecification.csv', show_col_types = FALSE) + res <- CohortGenerator::readCsv( + file = 'resultsDataModelSpecification.csv' + ) return(res) } return(NULL) @@ -195,12 +215,20 @@ runSchemaCreation <- function(analysisSpecifications, keyringSettings, moduleInd writeLines('schema.created', doneFile) } else if (is.data.frame(specifications)) { # Export schema to readable location - readr::write_csv(specifications, dataModelExportPath) + CohortGenerator::writeCsv( + x = specifications, + file = dataModelExportPath, + warnOnCaseMismatch = FALSE + ) writeLines('specifications.written', doneFile) } else { - warning('Module does not include data specifications file or createDataModelSchema function') - readr::write_csv(specifications, dataModelExportPath) - writeLines('specifications.not.written', doneFIle) + warning("Module does not include data specifications file or createDataModelSchema function") + CohortGenerator::writeCsv( + x = specifications, + file = dataModelExportPath, + warnOnCaseMismatch = FALSE + ) + writeLines('specifications.not.written', doneFile) } ParallelLogger::unregisterLogger('DEFAULT_FILE_LOGGER', silent = TRUE) @@ -244,4 +272,4 @@ runSchemaCreation <- function(analysisSpecifications, keyringSettings, moduleInd } return(list(dummy = 123)) -} \ No newline at end of file +} diff --git a/R/ResultsUpload.R b/R/ResultsUpload.R index 5a53834f..85abd85a 100644 --- a/R/ResultsUpload.R +++ b/R/ResultsUpload.R @@ -64,7 +64,9 @@ runResultsUpload <- function(analysisSpecifications, keyringSettings, moduleInde getDataModelSpecifications <- function(...) { ParallelLogger::logInfo("Getting result model specification") if (file.exists('resultsDataModelSpecification.csv')) { - res <- readr::read_csv('resultsDataModelSpecification.csv', show_col_types = FALSE) + res <- CohortGenerator::readCsv( + file = 'resultsDataModelSpecification.csv' + ) return(res) } ParallelLogger::logInfo("No result model specification found") @@ -107,7 +109,11 @@ runResultsUpload <- function(analysisSpecifications, keyringSettings, moduleInde } else { # Spec file written ParallelLogger::logInfo("Writing spec for result upload outside of module context") - readr::write_csv(specifications, dataModelExportPath) + CohortGenerator::writeCsv( + x = specifications, + file = dataModelExportPath, + warnOnFileNameCaseMismatch = FALSE + ) writeLines('specifications.written', doneFile) } @@ -138,8 +144,7 @@ runResultsUpload <- function(analysisSpecifications, keyringSettings, moduleInde if (workStatus == 'specifications.written') { ParallelLogger::logInfo("Uploading results according to module specification") - specifications <- readr::read_csv(dataModelExportPath, show_col_types = FALSE) - colnames(specifications) <- SqlRender::snakeCaseToCamelCase(colnames(specifications)) + specifications <- CohortGenerator::readCsv(dataModelExportPath) moduleInfo <- ParallelLogger::loadSettingsFromJson(file.path(moduleFolder, 'MetaData.json')) keyringName <- jobContext$keyringSettings$keyringName diff --git a/R/RunModule.R b/R/RunModule.R index 8b1b769e..72c02f59 100644 --- a/R/RunModule.R +++ b/R/RunModule.R @@ -88,6 +88,8 @@ runModule <- function(analysisSpecifications, keyringSettings, moduleIndex, exec options(andromedaTempFolder = file.path(jobContext$moduleExecutionSettings$workFolder, 'andromedaTemp')) options(tempEmulationSchema = jobContext$moduleExecutionSettings$tempEmulationSchema) + options(databaseConnectorIntegerAsNumeric = jobContext$moduleExecutionSettings$integerAsNumeric) + options(databaseConnectorInteger64AsNumeric = jobContext$moduleExecutionSettings$integer64AsNumeric) if (Sys.getenv('FORCE_RENV_USE', '') == 'TRUE') { renv::use(lockfile = 'renv.lock') diff --git a/R/Settings.R b/R/Settings.R index fe0e3722..fe2a72f3 100644 --- a/R/Settings.R +++ b/R/Settings.R @@ -87,10 +87,13 @@ addModuleSpecifications <- function(analysisSpecifications, moduleSpecifications #' @param cohortTableNames An object identifying the various cohort table names that will be created in the #' `workDatabaseSchema`. This object can be created using the #' [CohortGenerator::getCohortTableNames()] function. +#' @param tempEmulationSchema Some database platforms like Oracle and Impala do not truly support temp tables. To emulate temp tables, provide a schema with write privileges where temp tables can be created. #' @param workFolder A folder in the local file system where intermediate results can be written. #' @param resultsFolder A folder in the local file system where the module output will be written. #' @param minCellCount The minimum number of subjects contributing to a count before it can be included #' in results. +#' @param integerAsNumeric Logical: should 32-bit integers be converted to numeric (double) values? If FALSE 32-bit integers will be represented using R's native `Integer` class. Default is TRUE +#' @param integer64AsNumeric Logical: should 64-bit integers be converted to numeric (double) values? If FALSE 64-bit integers will be represented using `bit64::integer64`. Default is TRUE #' @param resultsConnectionDetailsReference A string that can be used to retrieve the results database connection #' details from a secure local store. #' @param resultsDatabaseSchema A schema where the results tables are stored @@ -107,6 +110,8 @@ createCdmExecutionSettings <- function(connectionDetailsReference, workFolder, resultsFolder, minCellCount = 5, + integerAsNumeric = getOption("databaseConnectorIntegerAsNumeric", default = TRUE), + integer64AsNumeric = getOption("databaseConnectorInteger64AsNumeric", default = TRUE), resultsConnectionDetailsReference = NULL, resultsDatabaseSchema = NULL) { errorMessages <- checkmate::makeAssertCollection() @@ -117,6 +122,8 @@ createCdmExecutionSettings <- function(connectionDetailsReference, checkmate::assertCharacter(workFolder, len = 1, add = errorMessages) checkmate::assertCharacter(resultsFolder, len = 1, add = errorMessages) checkmate::assertInt(minCellCount, add = errorMessages) + checkmate::assertLogical(integerAsNumeric, max.len = 1, add = errorMessages) + checkmate::assertLogical(integer64AsNumeric, max.len = 1, add = errorMessages) checkmate::assertCharacter(resultsConnectionDetailsReference, null.ok = TRUE, add = errorMessages) checkmate::assertCharacter(resultsDatabaseSchema, null.ok = TRUE, add = errorMessages) checkmate::reportAssertions(collection = errorMessages) @@ -130,6 +137,8 @@ createCdmExecutionSettings <- function(connectionDetailsReference, workFolder = workFolder, resultsFolder = resultsFolder, minCellCount = minCellCount, + integerAsNumeric = integerAsNumeric, + integer64AsNumeric = integer64AsNumeric, resultsConnectionDetailsReference = resultsConnectionDetailsReference, resultsDatabaseSchema = resultsDatabaseSchema ) @@ -146,6 +155,8 @@ createCdmExecutionSettings <- function(connectionDetailsReference, #' @param resultsFolder A folder in the local file system where the module output will be written. #' @param minCellCount The minimum number of subjects contributing to a count before it can be included #' in results. +#' @param integerAsNumeric Logical: should 32-bit integers be converted to numeric (double) values? If FALSE 32-bit integers will be represented using R's native `Integer` class. Default is TRUE +#' @param integer64AsNumeric Logical: should 64-bit integers be converted to numeric (double) values? If FALSE 64-bit integers will be represented using `bit64::integer64`. Default is TRUE #' #' @return #' An object of type `ExecutionSettings`. @@ -155,13 +166,17 @@ createResultsExecutionSettings <- function(resultsConnectionDetailsReference, resultsDatabaseSchema, workFolder, resultsFolder, - minCellCount = 5) { + minCellCount = 5, + integerAsNumeric = getOption("databaseConnectorIntegerAsNumeric", default = TRUE), + integer64AsNumeric = getOption("databaseConnectorInteger64AsNumeric", default = TRUE)) { errorMessages <- checkmate::makeAssertCollection() checkmate::assertCharacter(resultsConnectionDetailsReference, len = 1, add = errorMessages) checkmate::assertCharacter(resultsDatabaseSchema, len = 1, add = errorMessages) checkmate::assertCharacter(workFolder, len = 1, add = errorMessages) checkmate::assertCharacter(resultsFolder, len = 1, add = errorMessages) checkmate::assertInt(minCellCount, add = errorMessages) + checkmate::assertLogical(integerAsNumeric, max.len = 1, add = errorMessages) + checkmate::assertLogical(integer64AsNumeric, max.len = 1, add = errorMessages) checkmate::reportAssertions(collection = errorMessages) executionSettings <- list( @@ -169,7 +184,9 @@ createResultsExecutionSettings <- function(resultsConnectionDetailsReference, resultsDatabaseSchema = resultsDatabaseSchema, workFolder = workFolder, resultsFolder = resultsFolder, - minCellCount = minCellCount + minCellCount = minCellCount, + integerAsNumeric = integerAsNumeric, + integer64AsNumeric = integer64AsNumeric ) class(executionSettings) <- c("ResultsExecutionSettings", "ExecutionSettings") return(executionSettings) @@ -216,7 +233,7 @@ storeConnectionDetails <- function(connectionDetails, connectionDetailsReference if (is.function(connectionDetails[[i]])) { detail <- connectionDetails[[i]]() if (is.null(detail)) { - connectionDetails[[i]] <- list(NULL) # Fixes Issue #74 + connectionDetails[[i]] <- .nullList() # Fixes Issue #74 } else { connectionDetails[[i]] <- connectionDetails[[i]]() } @@ -259,14 +276,19 @@ retrieveConnectionDetails <- function(connectionDetailsReference, keyringName = connectionDetails <- ParallelLogger::convertJsonToSettings(connectionDetails) # Ensure that NA values are converted to NULL prior to calling - # DatabaseConnector + # DatabaseConnector. To do this, we'll construct a new connectionDetails + # list from keyring where the connectionDetails are NOT NA. This will + # allow for calling DatabaseConnector::createConnectionDetails with + # NULL values where NAs are present in the serialized version of the + # connectionDetails from keyring. + connectionDetailsConstructedFromKeyring <- list() for (i in 1:length(connectionDetails)) { - if (isTRUE(is.na(connectionDetails[[i]]))) { - connectionDetails[[i]] <- list(NULL) # Fixes Issue #74 + if (isFALSE(is.na(connectionDetails[[i]]))) { + connectionDetailsConstructedFromKeyring[names(connectionDetails)[i]] <- connectionDetails[[i]] } } - connectionDetails <- do.call(DatabaseConnector::createConnectionDetails, connectionDetails) + connectionDetails <- do.call(DatabaseConnector::createConnectionDetails, connectionDetailsConstructedFromKeyring) if (keyringLocked) { keyring::keyring_lock(keyring = keyringName) @@ -332,3 +354,10 @@ unlockKeyring <- function(keyringName) { return(TRUE) } } + +#' Used when serializing connection details to retain NULL values +#' +#' @keywords internal +.nullList <- function() { + invisible(list(NULL)) +} diff --git a/Strategus.Rproj b/Strategus.Rproj index ac857c97..3edb226c 100644 --- a/Strategus.Rproj +++ b/Strategus.Rproj @@ -18,4 +18,5 @@ StripTrailingWhitespace: Yes BuildType: Package PackageInstallArgs: --no-multiarch --with-keep.source PackageBuildArgs: --resave-data +PackageCheckArgs: --no-manual --no-build-vignettes PackageRoxygenize: rd,collate,namespace diff --git a/extras/PackageMaintenance.R b/extras/PackageMaintenance.R index c8dfdb98..f465aaac 100644 --- a/extras/PackageMaintenance.R +++ b/extras/PackageMaintenance.R @@ -115,6 +115,32 @@ unlink("inst/doc/IntroductionToStrategus.tex") pkgdown::build_site() OhdsiRTools::fixHadesLogo() +# Repackage the test module for unit testing +# NOTE: This is only necessary when the TestModule +# has been updated +testModuleRootFolder <- "extras/TestModule1-0.0.1" +targetModuleZipFile <- "TestModule1_0.0.1.zip" +testModuleFilesToRemove <- c( + file.path(testModuleRootFolder, ".RData"), + file.path(testModuleRootFolder, ".Rhistory") +) +testModuleDirToRemove <- c( + file.path(testModuleRootFolder, ".Rproj.user"), + file.path(testModuleRootFolder, "renv/library") +) +unlink(testModuleFilesToRemove) +unlink(testModuleDirToRemove, recursive = TRUE) - - +oldwd <- getwd() +setwd("extras") +zip::zip( + zipfile = targetModuleZipFile, + files = list.files("TestModule1-0.0.1", all.files = TRUE, recursive = TRUE, include.dirs = TRUE, full.names = TRUE) +) +file.copy( + from = targetModuleZipFile, + to = file.path("../inst/testdata", targetModuleZipFile), + overwrite = TRUE +) +file.remove(targetModuleZipFile) +setwd(oldwd) diff --git a/extras/TestModules/TestModule1/.Rprofile b/extras/TestModule1-0.0.1/.Rprofile similarity index 100% rename from extras/TestModules/TestModule1/.Rprofile rename to extras/TestModule1-0.0.1/.Rprofile diff --git a/extras/TestModule1-0.0.1/.renvignore b/extras/TestModule1-0.0.1/.renvignore new file mode 100644 index 00000000..04d099ca --- /dev/null +++ b/extras/TestModule1-0.0.1/.renvignore @@ -0,0 +1,3 @@ +SettingsFunctions.R + +extras/ diff --git a/extras/TestModule1-0.0.1/Main.R b/extras/TestModule1-0.0.1/Main.R new file mode 100644 index 00000000..c50a38a0 --- /dev/null +++ b/extras/TestModule1-0.0.1/Main.R @@ -0,0 +1,122 @@ +# Copyright 2023 Observational Health Data Sciences and Informatics +# +# This file is part of Strategus +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +execute <- function(jobContext) { + rlang::inform("Validating inputs") + checkmate::assert_list(x = jobContext) + if (is.null(jobContext$settings)) { + stop("Analysis settings not found in job context") + } + if (is.null(jobContext$sharedResources)) { + stop("Shared resources not found in job context") + } + if (is.null(jobContext$moduleExecutionSettings)) { + stop("Execution settings not found in job context") + } + + rlang::inform("Executing") + # Establish the connection and ensure the cleanup is performed + connection <- DatabaseConnector::connect(jobContext$moduleExecutionSettings$connectionDetails) + on.exit(DatabaseConnector::disconnect(connection)) + + sql <- "CREATE TABLE #Codesets ( + codeset_id int NOT NULL, + concept_id bigint NOT NULL + ) + ; + + INSERT INTO #Codesets (codeset_id, concept_id) + SELECT 0 as codeset_id, c.concept_id + FROM @cdm_database_schema.CONCEPT c + WHERE c.concept_id = 0 + ;" + + DatabaseConnector::renderTranslateExecuteSql( + connection = connection, + sql = sql, + tempEmulationSchema = jobContext$moduleExecutionSettings$tempEmulationSchema, + cdm_database_schema = jobContext$moduleExecutionSettings$cdmDatabaseSchema + ) + + data <- DatabaseConnector::renderTranslateQuerySql( + connection = connection, + sql = "SELECT * FROM #Codesets;", + tempEmulationSchema = jobContext$moduleExecutionSettings$tempEmulationSchema + ) + + DatabaseConnector::renderTranslateExecuteSql( + connection = connection, + sql = "TRUNCATE TABLE #Codesets; DROP TABLE #Codesets;", + tempEmulationSchema = jobContext$moduleExecutionSettings$tempEmulationSchema + ) + + message("Exporting data") + moduleInfo <- getModuleInfo() + resultsFolder <- jobContext$moduleExecutionSettings$resultsSubFolder + fileName <- file.path(resultsFolder, paste0(moduleInfo$TablePrefix, "data.csv")) + readr::write_csv(data, fileName) + + # Set the table names in resultsDataModelSpecification.csv + moduleInfo <- getModuleInfo() + resultsDataModel <- CohortGenerator::readCsv( + file = "resultsDataModelSpecification.csv", + warnOnCaseMismatch = FALSE + ) + resultsDataModel$tableName <- paste0(moduleInfo$TablePrefix, resultsDataModel$tableName) + CohortGenerator::writeCsv( + x = resultsDataModel, + file = file.path(resultsFolder, "resultsDataModelSpecification.csv"), + warnOnCaseMismatch = FALSE, + warnOnFileNameCaseMismatch = FALSE, + warnOnUploadRuleViolations = FALSE + ) + + ParallelLogger::logTrace("Finished TestModule1") +} + +createDataModelSchema <- function(jobContext) { + checkmate::assert_class(jobContext$moduleExecutionSettings$resultsConnectionDetails, "ConnectionDetails") + checkmate::assert_string(jobContext$moduleExecutionSettings$resultsDatabaseSchema) + connectionDetails <- jobContext$moduleExecutionSettings$resultsConnectionDetails + moduleInfo <- getModuleInfo() + tablePrefix <- moduleInfo$TablePrefix + resultsDatabaseSchema <- jobContext$moduleExecutionSettings$resultsDatabaseSchema + resultsDataModel <- ResultModelManager::loadResultsDataModelSpecifications( + filePath = "resultsDataModelSpecification.csv" + ) + resultsDataModel$tableName <- paste0(tablePrefix, resultsDataModel$tableName) + sql <- ResultModelManager::generateSqlSchema( + schemaDefinition = resultsDataModel + ) + sql <- SqlRender::render( + sql = sql, + database_schema = resultsDatabaseSchema + ) + connection <- DatabaseConnector::connect( + connectionDetails = connectionDetails + ) + on.exit(DatabaseConnector::disconnect(connection)) + DatabaseConnector::executeSql( + connection = connection, + sql = sql + ) +} + +# Private methods ------------------------- +getModuleInfo <- function() { + checkmate::assert_file_exists("MetaData.json") + return(ParallelLogger::loadSettingsFromJson("MetaData.json")) +} diff --git a/extras/TestModules/TestModule1/MetaData.json b/extras/TestModule1-0.0.1/MetaData.json similarity index 52% rename from extras/TestModules/TestModule1/MetaData.json rename to extras/TestModule1-0.0.1/MetaData.json index 9b97bd4f..02bf1fa8 100644 --- a/extras/TestModules/TestModule1/MetaData.json +++ b/extras/TestModule1-0.0.1/MetaData.json @@ -1,5 +1,6 @@ { "Name": "TestModule1", "Version": "0.0.1", - "Dependencies": [] + "Dependencies": [], + "TablePrefix": "tm1_" } diff --git a/extras/TestModule1-0.0.1/SettingsFunctions.R b/extras/TestModule1-0.0.1/SettingsFunctions.R new file mode 100644 index 00000000..a5ecbf83 --- /dev/null +++ b/extras/TestModule1-0.0.1/SettingsFunctions.R @@ -0,0 +1,20 @@ +#' Create specifications for the TestModule1 +#' +#' @return +#' An object of type `TestModule1Specifications`. +#' +#' @export +createTestModule1Specifications <- function() { + analysis <- list() + for (name in names(formals(createTestModule1Specifications))) { + analysis[[name]] <- get(name) + } + + specifications <- list( + module = "TestModule1", + version = "0.0.1", + settings = analysis + ) + class(specifications) <- c("TestModule1Specifications", "ModuleSpecifications") + return(specifications) +} diff --git a/extras/TestModules/TestModule1/TestModule1.Rproj b/extras/TestModule1-0.0.1/TestModule1.Rproj similarity index 100% rename from extras/TestModules/TestModule1/TestModule1.Rproj rename to extras/TestModule1-0.0.1/TestModule1.Rproj diff --git a/extras/TestModule1-0.0.1/extras/CreateJobContextForTesting.R b/extras/TestModule1-0.0.1/extras/CreateJobContextForTesting.R new file mode 100644 index 00000000..15c6dbe3 --- /dev/null +++ b/extras/TestModule1-0.0.1/extras/CreateJobContextForTesting.R @@ -0,0 +1,46 @@ +# Create a job context for testing purposes +library(Strategus) +library(dplyr) +source("SettingsFunctions.R") + +# Generic Helpers ---------------------------- +getModuleInfo <- function() { + checkmate::assert_file_exists("MetaData.json") + return(ParallelLogger::loadSettingsFromJson("MetaData.json")) +} + +# Sample Data Helpers ---------------------------- +testModule1Specifications <- createTestModule1Specifications() + +# Module Settings Spec ---------------------------- +analysisSpecifications <- createEmptyAnalysisSpecificiations() %>% + addModuleSpecifications(testModule1Specifications) + +executionSettings <- Strategus::createCdmExecutionSettings( + connectionDetailsReference = "dummy", + workDatabaseSchema = "main", + cdmDatabaseSchema = "main", + cohortTableNames = CohortGenerator::getCohortTableNames(cohortTable = "cohort"), + workFolder = "dummy", + resultsFolder = "dummy", + minCellCount = 5 +) + +# Job Context ---------------------------- +module <- "TestModule1" +moduleIndex <- 1 +moduleExecutionSettings <- executionSettings +moduleExecutionSettings$workSubFolder <- "dummy" +moduleExecutionSettings$resultsSubFolder <- "dummy" +moduleExecutionSettings$databaseId <- 123 +jobContext <- list( + sharedResources = analysisSpecifications$sharedResources, + settings = analysisSpecifications$moduleSpecifications[[moduleIndex]]$settings, + moduleExecutionSettings = moduleExecutionSettings +) +saveRDS(jobContext, "tests/testJobContext.rds") + +ParallelLogger::saveSettingsToJson( + object = analysisSpecifications, + fileName = "../../../inst/testdata/testModuleAnalysisSpecification.json" +) diff --git a/extras/TestModule1-0.0.1/renv.lock b/extras/TestModule1-0.0.1/renv.lock new file mode 100644 index 00000000..fd7ee4bf --- /dev/null +++ b/extras/TestModule1-0.0.1/renv.lock @@ -0,0 +1,1482 @@ +{ + "R": { + "Version": "4.2.3", + "Repositories": [ + { + "Name": "CRAN", + "URL": "https://packagemanager.posit.co/cran/latest" + } + ] + }, + "Packages": { + "Andromeda": { + "Package": "Andromeda", + "Version": "0.6.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "BH": { + "Package": "BH", + "Version": "1.81.0-1", + "Source": "Repository", + "Repository": "CRAN" + }, + "BeastJar": { + "Package": "BeastJar", + "Version": "1.10.6", + "Source": "Repository", + "Repository": "CRAN" + }, + "BigKnn": { + "Package": "BigKnn", + "Version": "1.0.2", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "BigKnn", + "RemoteUsername": "ohdsi", + "RemoteRef": "v1.0.2" + }, + "Capr": { + "Package": "Capr", + "Version": "2.0.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "Capr", + "RemoteUsername": "ohdsi", + "RemoteRef": "v2.0.0" + }, + "Characterization": { + "Package": "Characterization", + "Version": "0.1.1", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "Characterization", + "RemoteUsername": "ohdsi", + "RemoteRef": "v0.1.1" + }, + "CirceR": { + "Package": "CirceR", + "Version": "1.3.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "CirceR", + "RemoteUsername": "ohdsi", + "RemoteRef": "v1.3.0" + }, + "CohortDiagnostics": { + "Package": "CohortDiagnostics", + "Version": "3.2.3", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "CohortDiagnostics", + "RemoteUsername": "ohdsi", + "RemoteRef": "v3.2.3" + }, + "CohortExplorer": { + "Package": "CohortExplorer", + "Version": "0.0.11", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "CohortExplorer", + "RemoteUsername": "ohdsi", + "RemoteRef": "v0.0.11" + }, + "CohortGenerator": { + "Package": "CohortGenerator", + "Version": "0.8.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "CohortGenerator", + "RemoteUsername": "ohdsi", + "RemoteRef": "v0.8.0" + }, + "CohortIncidence": { + "Package": "CohortIncidence", + "Version": "3.1.5", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "CohortIncidence", + "RemoteUsername": "ohdsi", + "RemoteRef": "v3.1.5" + }, + "CohortMethod": { + "Package": "CohortMethod", + "Version": "5.1.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "CohortMethod", + "RemoteUsername": "ohdsi", + "RemoteRef": "v5.1.0" + }, + "CompQuadForm": { + "Package": "CompQuadForm", + "Version": "1.4.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "Cyclops": { + "Package": "Cyclops", + "Version": "3.2.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "DBI": { + "Package": "DBI", + "Version": "1.1.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "DT": { + "Package": "DT", + "Version": "0.27", + "Source": "Repository", + "Repository": "CRAN" + }, + "DataQualityDashboard": { + "Package": "DataQualityDashboard", + "Version": "2.1.2", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "DataQualityDashboard", + "RemoteUsername": "ohdsi", + "RemoteRef": "v2.1.2" + }, + "DatabaseConnector": { + "Package": "DatabaseConnector", + "Version": "6.2.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "DeepPatientLevelPrediction": { + "Package": "DeepPatientLevelPrediction", + "Version": "1.1.2", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "DeepPatientLevelPrediction", + "RemoteUsername": "ohdsi", + "RemoteRef": "v1.1.2" + }, + "EmpiricalCalibration": { + "Package": "EmpiricalCalibration", + "Version": "3.1.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "EnsemblePatientLevelPrediction": { + "Package": "EnsemblePatientLevelPrediction", + "Version": "1.0.2", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "EnsemblePatientLevelPrediction", + "RemoteUsername": "ohdsi", + "RemoteRef": "v1.0.2" + }, + "Eunomia": { + "Package": "Eunomia", + "Version": "1.0.2", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "Eunomia", + "RemoteUsername": "ohdsi", + "RemoteRef": "v1.0.2" + }, + "EvidenceSynthesis": { + "Package": "EvidenceSynthesis", + "Version": "0.5.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "FeatureExtraction": { + "Package": "FeatureExtraction", + "Version": "3.3.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "FeatureExtraction", + "RemoteUsername": "ohdsi", + "RemoteRef": "v3.3.0" + }, + "HDInterval": { + "Package": "HDInterval", + "Version": "0.2.4", + "Source": "Repository", + "Repository": "CRAN" + }, + "Hades": { + "Package": "Hades", + "Version": "1.11.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "Hades", + "RemoteUsername": "ohdsi", + "RemoteRef": "v1.11.0" + }, + "Hydra": { + "Package": "Hydra", + "Version": "0.4.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "Hydra", + "RemoteUsername": "ohdsi", + "RemoteRef": "v0.4.0" + }, + "IterativeHardThresholding": { + "Package": "IterativeHardThresholding", + "Version": "1.0.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "KMsurv": { + "Package": "KMsurv", + "Version": "0.1-5", + "Source": "Repository", + "Repository": "CRAN" + }, + "MASS": { + "Package": "MASS", + "Version": "7.3-58.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "Matrix": { + "Package": "Matrix", + "Version": "1.5-3", + "Source": "Repository", + "Repository": "CRAN" + }, + "MatrixModels": { + "Package": "MatrixModels", + "Version": "0.5-1", + "Source": "Repository", + "Repository": "CRAN" + }, + "MethodEvaluation": { + "Package": "MethodEvaluation", + "Version": "2.2.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "MethodEvaluation", + "RemoteUsername": "ohdsi", + "RemoteRef": "v2.2.0" + }, + "OhdsiSharing": { + "Package": "OhdsiSharing", + "Version": "0.2.2", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "OhdsiSharing", + "RemoteUsername": "ohdsi", + "RemoteRef": "v0.2.2" + }, + "OhdsiShinyModules": { + "Package": "OhdsiShinyModules", + "Version": "1.1.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "OhdsiShinyModules", + "RemoteUsername": "ohdsi", + "RemoteRef": "v1.1.0" + }, + "PRROC": { + "Package": "PRROC", + "Version": "1.3.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "ParallelLogger": { + "Package": "ParallelLogger", + "Version": "3.1.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "PatientLevelPrediction": { + "Package": "PatientLevelPrediction", + "Version": "6.3.4", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "PatientLevelPrediction", + "RemoteUsername": "ohdsi", + "RemoteRef": "v6.3.4" + }, + "PheValuator": { + "Package": "PheValuator", + "Version": "2.2.2", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "PheValuator", + "RemoteUsername": "ohdsi", + "RemoteRef": "v2.2.2" + }, + "PhenotypeLibrary": { + "Package": "PhenotypeLibrary", + "Version": "3.12.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "PhenotypeLibrary", + "RemoteUsername": "ohdsi", + "RemoteRef": "v3.12.0" + }, + "R6": { + "Package": "R6", + "Version": "2.5.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "RColorBrewer": { + "Package": "RColorBrewer", + "Version": "1.1-3", + "Source": "Repository", + "Repository": "CRAN" + }, + "RJSONIO": { + "Package": "RJSONIO", + "Version": "1.3-1.8", + "Source": "Repository", + "Repository": "CRAN" + }, + "ROhdsiWebApi": { + "Package": "ROhdsiWebApi", + "Version": "1.3.3", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "ROhdsiWebApi", + "RemoteUsername": "ohdsi", + "RemoteRef": "v1.3.3" + }, + "RSQLite": { + "Package": "RSQLite", + "Version": "2.3.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "Rcpp": { + "Package": "Rcpp", + "Version": "1.0.10", + "Source": "Repository", + "Repository": "CRAN" + }, + "RcppEigen": { + "Package": "RcppEigen", + "Version": "0.3.3.9.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "RcppTOML": { + "Package": "RcppTOML", + "Version": "0.2.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "ResultModelManager": { + "Package": "ResultModelManager", + "Version": "0.4.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "ResultModelManager", + "RemoteUsername": "ohdsi", + "RemoteRef": "v0.4.0" + }, + "SelfControlledCaseSeries": { + "Package": "SelfControlledCaseSeries", + "Version": "4.2.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "SelfControlledCaseSeries", + "RemoteUsername": "ohdsi", + "RemoteRef": "v4.2.0" + }, + "SelfControlledCohort": { + "Package": "SelfControlledCohort", + "Version": "1.6.0", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "SelfControlledCohort", + "RemoteUsername": "ohdsi", + "RemoteRef": "v1.6.0" + }, + "ShinyAppBuilder": { + "Package": "ShinyAppBuilder", + "Version": "1.1.1", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteRepo": "ShinyAppBuilder", + "RemoteUsername": "ohdsi", + "RemoteRef": "v1.1.1" + }, + "SparseM": { + "Package": "SparseM", + "Version": "1.81", + "Source": "Repository", + "Repository": "CRAN" + }, + "SqlRender": { + "Package": "SqlRender", + "Version": "1.15.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "abind": { + "Package": "abind", + "Version": "1.4-5", + "Source": "Repository", + "Repository": "CRAN" + }, + "anytime": { + "Package": "anytime", + "Version": "0.3.9", + "Source": "Repository", + "Repository": "CRAN" + }, + "askpass": { + "Package": "askpass", + "Version": "1.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "assertthat": { + "Package": "assertthat", + "Version": "0.2.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "backports": { + "Package": "backports", + "Version": "1.4.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "base64enc": { + "Package": "base64enc", + "Version": "0.1-3", + "Source": "Repository", + "Repository": "CRAN" + }, + "bit": { + "Package": "bit", + "Version": "4.0.5", + "Source": "Repository", + "Repository": "CRAN" + }, + "bit64": { + "Package": "bit64", + "Version": "4.0.5", + "Source": "Repository", + "Repository": "CRAN" + }, + "blob": { + "Package": "blob", + "Version": "1.2.4", + "Source": "Repository", + "Repository": "CRAN" + }, + "boot": { + "Package": "boot", + "Version": "1.3-28.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "brio": { + "Package": "brio", + "Version": "1.1.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "broom": { + "Package": "broom", + "Version": "1.0.4", + "Source": "Repository", + "Repository": "CRAN" + }, + "bslib": { + "Package": "bslib", + "Version": "0.4.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "cachem": { + "Package": "cachem", + "Version": "1.0.7", + "Source": "Repository", + "Repository": "CRAN" + }, + "callr": { + "Package": "callr", + "Version": "3.7.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "car": { + "Package": "car", + "Version": "3.1-2", + "Source": "Repository", + "Repository": "CRAN" + }, + "carData": { + "Package": "carData", + "Version": "3.0-5", + "Source": "Repository", + "Repository": "CRAN" + }, + "checkmate": { + "Package": "checkmate", + "Version": "2.1.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "cli": { + "Package": "cli", + "Version": "3.6.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "clipr": { + "Package": "clipr", + "Version": "0.8.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "clock": { + "Package": "clock", + "Version": "0.6.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "coda": { + "Package": "coda", + "Version": "0.19-4", + "Source": "Repository", + "Repository": "CRAN" + }, + "colorspace": { + "Package": "colorspace", + "Version": "2.1-0", + "Source": "Repository", + "Repository": "CRAN" + }, + "commonmark": { + "Package": "commonmark", + "Version": "1.9.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "coro": { + "Package": "coro", + "Version": "1.0.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "corrplot": { + "Package": "corrplot", + "Version": "0.92", + "Source": "Repository", + "Repository": "CRAN" + }, + "covr": { + "Package": "covr", + "Version": "3.6.2", + "Source": "Repository" + }, + "cowplot": { + "Package": "cowplot", + "Version": "1.1.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "cpp11": { + "Package": "cpp11", + "Version": "0.4.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "crayon": { + "Package": "crayon", + "Version": "1.5.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "crosstalk": { + "Package": "crosstalk", + "Version": "1.2.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "curl": { + "Package": "curl", + "Version": "5.0.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "data.table": { + "Package": "data.table", + "Version": "1.14.8", + "Source": "Repository", + "Repository": "CRAN" + }, + "dbplyr": { + "Package": "dbplyr", + "Version": "2.3.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "desc": { + "Package": "desc", + "Version": "1.4.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "diffobj": { + "Package": "diffobj", + "Version": "0.3.5", + "Source": "Repository", + "Repository": "CRAN" + }, + "digest": { + "Package": "digest", + "Version": "0.6.31", + "Source": "Repository", + "Repository": "CRAN" + }, + "dplyr": { + "Package": "dplyr", + "Version": "1.1.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "ellipsis": { + "Package": "ellipsis", + "Version": "0.3.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "evaluate": { + "Package": "evaluate", + "Version": "0.20", + "Source": "Repository", + "Repository": "CRAN" + }, + "exactRankTests": { + "Package": "exactRankTests", + "Version": "0.8-35", + "Source": "Repository", + "Repository": "CRAN" + }, + "fansi": { + "Package": "fansi", + "Version": "1.0.4", + "Source": "Repository", + "Repository": "CRAN" + }, + "farver": { + "Package": "farver", + "Version": "2.1.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "fastmap": { + "Package": "fastmap", + "Version": "1.1.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "filelock": { + "Package": "filelock", + "Version": "1.0.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "fontawesome": { + "Package": "fontawesome", + "Version": "0.5.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "fs": { + "Package": "fs", + "Version": "1.6.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "generics": { + "Package": "generics", + "Version": "0.1.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "ggplot2": { + "Package": "ggplot2", + "Version": "3.4.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "ggpubr": { + "Package": "ggpubr", + "Version": "0.6.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "ggrepel": { + "Package": "ggrepel", + "Version": "0.9.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "ggsci": { + "Package": "ggsci", + "Version": "3.0.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "ggsignif": { + "Package": "ggsignif", + "Version": "0.6.4", + "Source": "Repository", + "Repository": "CRAN" + }, + "ggtext": { + "Package": "ggtext", + "Version": "0.1.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "glue": { + "Package": "glue", + "Version": "1.6.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "gridExtra": { + "Package": "gridExtra", + "Version": "2.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "gridtext": { + "Package": "gridtext", + "Version": "0.1.5", + "Source": "Repository", + "Repository": "CRAN" + }, + "gtable": { + "Package": "gtable", + "Version": "0.3.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "here": { + "Package": "here", + "Version": "1.0.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "highr": { + "Package": "highr", + "Version": "0.10", + "Source": "Repository", + "Repository": "CRAN" + }, + "hms": { + "Package": "hms", + "Version": "1.1.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "htmltools": { + "Package": "htmltools", + "Version": "0.5.5", + "Source": "Repository", + "Repository": "CRAN" + }, + "htmlwidgets": { + "Package": "htmlwidgets", + "Version": "1.6.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "httpuv": { + "Package": "httpuv", + "Version": "1.6.9", + "Source": "Repository", + "Repository": "CRAN" + }, + "httr": { + "Package": "httr", + "Version": "1.4.5", + "Source": "Repository", + "Repository": "CRAN" + }, + "isoband": { + "Package": "isoband", + "Version": "0.2.7", + "Source": "Repository", + "Repository": "CRAN" + }, + "jpeg": { + "Package": "jpeg", + "Version": "0.1-10", + "Source": "Repository", + "Repository": "CRAN" + }, + "jquerylib": { + "Package": "jquerylib", + "Version": "0.1.4", + "Source": "Repository", + "Repository": "CRAN" + }, + "jsonlite": { + "Package": "jsonlite", + "Version": "1.8.4", + "Source": "Repository", + "Repository": "CRAN" + }, + "keyring": { + "Package": "keyring", + "Version": "1.3.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "km.ci": { + "Package": "km.ci", + "Version": "0.5-6", + "Source": "Repository", + "Repository": "CRAN" + }, + "knitr": { + "Package": "knitr", + "Version": "1.42", + "Source": "Repository", + "Repository": "CRAN" + }, + "labeling": { + "Package": "labeling", + "Version": "0.4.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "later": { + "Package": "later", + "Version": "1.3.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "lattice": { + "Package": "lattice", + "Version": "0.20-45", + "Source": "Repository", + "Repository": "CRAN" + }, + "lazyeval": { + "Package": "lazyeval", + "Version": "0.2.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "lifecycle": { + "Package": "lifecycle", + "Version": "1.0.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "lightgbm": { + "Package": "lightgbm", + "Version": "3.3.5", + "Source": "Repository", + "Repository": "CRAN" + }, + "lme4": { + "Package": "lme4", + "Version": "1.1-32", + "Source": "Repository", + "Repository": "CRAN" + }, + "lubridate": { + "Package": "lubridate", + "Version": "1.9.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "magrittr": { + "Package": "magrittr", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "markdown": { + "Package": "markdown", + "Version": "1.5", + "Source": "Repository", + "Repository": "CRAN" + }, + "mathjaxr": { + "Package": "mathjaxr", + "Version": "1.6-0", + "Source": "Repository", + "Repository": "CRAN" + }, + "maxstat": { + "Package": "maxstat", + "Version": "0.7-25", + "Source": "Repository", + "Repository": "CRAN" + }, + "memoise": { + "Package": "memoise", + "Version": "2.0.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "memuse": { + "Package": "memuse", + "Version": "4.2-3", + "Source": "Repository", + "Repository": "CRAN" + }, + "meta": { + "Package": "meta", + "Version": "6.2-1", + "Source": "Repository", + "Repository": "CRAN" + }, + "metadat": { + "Package": "metadat", + "Version": "1.2-0", + "Source": "Repository", + "Repository": "CRAN" + }, + "metafor": { + "Package": "metafor", + "Version": "4.0-0", + "Source": "Repository", + "Repository": "CRAN" + }, + "mgcv": { + "Package": "mgcv", + "Version": "1.8-42", + "Source": "Repository", + "Repository": "CRAN" + }, + "mime": { + "Package": "mime", + "Version": "0.12", + "Source": "Repository", + "Repository": "CRAN" + }, + "minqa": { + "Package": "minqa", + "Version": "1.2.5", + "Source": "Repository", + "Repository": "CRAN" + }, + "munsell": { + "Package": "munsell", + "Version": "0.5.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "mvtnorm": { + "Package": "mvtnorm", + "Version": "1.1-3", + "Source": "Repository", + "Repository": "CRAN" + }, + "nlme": { + "Package": "nlme", + "Version": "3.1-162", + "Source": "Repository", + "Repository": "CRAN" + }, + "nloptr": { + "Package": "nloptr", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "nnet": { + "Package": "nnet", + "Version": "7.3-18", + "Source": "Repository", + "Repository": "CRAN" + }, + "numDeriv": { + "Package": "numDeriv", + "Version": "2016.8-1.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "openssl": { + "Package": "openssl", + "Version": "2.0.6", + "Source": "Repository", + "Repository": "CRAN" + }, + "openxlsx": { + "Package": "openxlsx", + "Version": "4.2.5.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "pROC": { + "Package": "pROC", + "Version": "1.18.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "pbapply": { + "Package": "pbapply", + "Version": "1.7-0", + "Source": "Repository", + "Repository": "CRAN" + }, + "pbkrtest": { + "Package": "pbkrtest", + "Version": "0.5.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "pillar": { + "Package": "pillar", + "Version": "1.9.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "pkgconfig": { + "Package": "pkgconfig", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "pkgload": { + "Package": "pkgload", + "Version": "1.3.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "plogr": { + "Package": "plogr", + "Version": "0.2.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "plotly": { + "Package": "plotly", + "Version": "4.10.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "plyr": { + "Package": "plyr", + "Version": "1.8.8", + "Source": "Repository", + "Repository": "CRAN" + }, + "png": { + "Package": "png", + "Version": "0.1-8", + "Source": "Repository", + "Repository": "CRAN" + }, + "polspline": { + "Package": "polspline", + "Version": "1.1.22", + "Source": "Repository", + "Repository": "CRAN" + }, + "polynom": { + "Package": "polynom", + "Version": "1.4-1", + "Source": "Repository", + "Repository": "CRAN" + }, + "pool": { + "Package": "pool", + "Version": "1.0.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "praise": { + "Package": "praise", + "Version": "1.0.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "prettyunits": { + "Package": "prettyunits", + "Version": "1.1.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "processx": { + "Package": "processx", + "Version": "3.8.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "progress": { + "Package": "progress", + "Version": "1.2.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "promises": { + "Package": "promises", + "Version": "1.2.0.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "ps": { + "Package": "ps", + "Version": "1.7.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "purrr": { + "Package": "purrr", + "Version": "1.0.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "quantreg": { + "Package": "quantreg", + "Version": "5.94", + "Source": "Repository", + "Repository": "CRAN" + }, + "rJava": { + "Package": "rJava", + "Version": "1.0-6", + "Source": "Repository", + "Repository": "CRAN" + }, + "rappdirs": { + "Package": "rappdirs", + "Version": "0.3.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "rateratio.test": { + "Package": "rateratio.test", + "Version": "1.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "reactR": { + "Package": "reactR", + "Version": "0.4.4", + "Source": "Repository", + "Repository": "CRAN" + }, + "reactable": { + "Package": "reactable", + "Version": "0.4.4", + "Source": "Repository", + "Repository": "CRAN" + }, + "readr": { + "Package": "readr", + "Version": "2.1.4", + "Source": "Repository", + "Repository": "CRAN" + }, + "rematch2": { + "Package": "rematch2", + "Version": "2.1.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "renv": { + "Package": "renv", + "Version": "1.0.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "reticulate": { + "Package": "reticulate", + "Version": "1.31", + "Source": "Repository", + "Repository": "CRAN" + }, + "rlang": { + "Package": "rlang", + "Version": "1.1.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "rmarkdown": { + "Package": "rmarkdown", + "Version": "2.21", + "Source": "Repository", + "Repository": "CRAN" + }, + "rprojroot": { + "Package": "rprojroot", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "rstatix": { + "Package": "rstatix", + "Version": "0.7.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "sass": { + "Package": "sass", + "Version": "0.4.5", + "Source": "Repository", + "Repository": "CRAN" + }, + "scales": { + "Package": "scales", + "Version": "1.2.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "shiny": { + "Package": "shiny", + "Version": "1.7.4", + "Source": "Repository", + "Repository": "CRAN" + }, + "shinyWidgets": { + "Package": "shinyWidgets", + "Version": "0.7.6", + "Source": "Repository", + "Repository": "CRAN" + }, + "shinycssloaders": { + "Package": "shinycssloaders", + "Version": "1.0.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "shinydashboard": { + "Package": "shinydashboard", + "Version": "0.7.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "snow": { + "Package": "snow", + "Version": "0.4-4", + "Source": "Repository", + "Repository": "CRAN" + }, + "sodium": { + "Package": "sodium", + "Version": "1.2.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "sourcetools": { + "Package": "sourcetools", + "Version": "0.1.7-1", + "Source": "Repository", + "Repository": "CRAN" + }, + "stringi": { + "Package": "stringi", + "Version": "1.7.12", + "Source": "Repository", + "Repository": "CRAN" + }, + "stringr": { + "Package": "stringr", + "Version": "1.5.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "survMisc": { + "Package": "survMisc", + "Version": "0.5.6", + "Source": "Repository", + "Repository": "CRAN" + }, + "survival": { + "Package": "survival", + "Version": "3.5-3", + "Source": "Repository", + "Repository": "CRAN" + }, + "survminer": { + "Package": "survminer", + "Version": "0.4.9", + "Source": "Repository", + "Repository": "CRAN" + }, + "sys": { + "Package": "sys", + "Version": "3.4.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "testthat": { + "Package": "testthat", + "Version": "3.1.7", + "Source": "Repository", + "Repository": "CRAN" + }, + "tibble": { + "Package": "tibble", + "Version": "3.2.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "tidyr": { + "Package": "tidyr", + "Version": "1.3.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "tidyselect": { + "Package": "tidyselect", + "Version": "1.2.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "timechange": { + "Package": "timechange", + "Version": "0.2.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "tinytex": { + "Package": "tinytex", + "Version": "0.44", + "Source": "Repository", + "Repository": "CRAN" + }, + "tippy": { + "Package": "tippy", + "Version": "0.1.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "torch": { + "Package": "torch", + "Version": "0.9.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "torchopt": { + "Package": "torchopt", + "Version": "0.1.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "triebeard": { + "Package": "triebeard", + "Version": "0.4.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "tzdb": { + "Package": "tzdb", + "Version": "0.3.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "urltools": { + "Package": "urltools", + "Version": "1.7.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "utf8": { + "Package": "utf8", + "Version": "1.2.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "vctrs": { + "Package": "vctrs", + "Version": "0.6.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "viridisLite": { + "Package": "viridisLite", + "Version": "0.4.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "vroom": { + "Package": "vroom", + "Version": "1.6.1", + "Source": "Repository", + "Repository": "CRAN" + }, + "waldo": { + "Package": "waldo", + "Version": "0.4.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "withr": { + "Package": "withr", + "Version": "2.5.0", + "Source": "Repository", + "Repository": "CRAN" + }, + "xfun": { + "Package": "xfun", + "Version": "0.38", + "Source": "Repository", + "Repository": "CRAN" + }, + "xml2": { + "Package": "xml2", + "Version": "1.3.3", + "Source": "Repository", + "Repository": "CRAN" + }, + "xtable": { + "Package": "xtable", + "Version": "1.8-4", + "Source": "Repository", + "Repository": "CRAN" + }, + "yaml": { + "Package": "yaml", + "Version": "2.3.7", + "Source": "Repository", + "Repository": "CRAN" + }, + "zip": { + "Package": "zip", + "Version": "2.2.2", + "Source": "Repository", + "Repository": "CRAN" + }, + "zoo": { + "Package": "zoo", + "Version": "1.8-11", + "Source": "Repository", + "Repository": "CRAN" + } + } +} diff --git a/extras/TestModules/TestModule1/renv/.gitignore b/extras/TestModule1-0.0.1/renv/.gitignore similarity index 83% rename from extras/TestModules/TestModule1/renv/.gitignore rename to extras/TestModule1-0.0.1/renv/.gitignore index 275e4ca3..22a0d01d 100644 --- a/extras/TestModules/TestModule1/renv/.gitignore +++ b/extras/TestModule1-0.0.1/renv/.gitignore @@ -1,3 +1,4 @@ +sandbox/ library/ local/ cellar/ diff --git a/extras/TestModules/TestModule1/renv/activate.R b/extras/TestModule1-0.0.1/renv/activate.R similarity index 61% rename from extras/TestModules/TestModule1/renv/activate.R rename to extras/TestModule1-0.0.1/renv/activate.R index e9612519..2969c732 100644 --- a/extras/TestModules/TestModule1/renv/activate.R +++ b/extras/TestModule1-0.0.1/renv/activate.R @@ -2,11 +2,27 @@ local({ # the requested version of renv - version <- "0.15.4" + version <- "1.0.2" + attr(version, "sha") <- NULL # the project directory project <- getwd() + # use start-up diagnostics if enabled + diagnostics <- Sys.getenv("RENV_STARTUP_DIAGNOSTICS", unset = "FALSE") + if (diagnostics) { + start <- Sys.time() + profile <- tempfile("renv-startup-", fileext = ".Rprof") + utils::Rprof(profile) + on.exit({ + utils::Rprof(NULL) + elapsed <- signif(difftime(Sys.time(), start, units = "auto"), digits = 2L) + writeLines(sprintf("- renv took %s to run the autoloader.", format(elapsed))) + writeLines(sprintf("- Profile: %s", profile)) + print(utils::summaryRprof(profile)) + }, add = TRUE) + } + # figure out whether the autoloader is enabled enabled <- local({ @@ -54,27 +70,81 @@ local({ # mask 'utils' packages, will come first on the search path library(utils, lib.loc = .Library) - # unload renv if it's already been laoded + # unload renv if it's already been loaded if ("renv" %in% loadedNamespaces()) unloadNamespace("renv") # load bootstrap tools `%||%` <- function(x, y) { - if (is.environment(x) || length(x)) x else y + if (is.null(x)) y else x + } + + catf <- function(fmt, ..., appendLF = TRUE) { + + quiet <- getOption("renv.bootstrap.quiet", default = FALSE) + if (quiet) + return(invisible()) + + msg <- sprintf(fmt, ...) + cat(msg, file = stdout(), sep = if (appendLF) "\n" else "") + + invisible(msg) + + } + + header <- function(label, + ..., + prefix = "#", + suffix = "-", + n = min(getOption("width"), 78)) + { + label <- sprintf(label, ...) + n <- max(n - nchar(label) - nchar(prefix) - 2L, 8L) + if (n <= 0) + return(paste(prefix, label)) + + tail <- paste(rep.int(suffix, n), collapse = "") + paste0(prefix, " ", label, " ", tail) + + } + + startswith <- function(string, prefix) { + substring(string, 1, nchar(prefix)) == prefix } bootstrap <- function(version, library) { + friendly <- renv_bootstrap_version_friendly(version) + section <- header(sprintf("Bootstrapping renv %s", friendly)) + catf(section) + # attempt to download renv - tarball <- tryCatch(renv_bootstrap_download(version), error = identity) - if (inherits(tarball, "error")) - stop("failed to download renv ", version) + catf("- Downloading renv ... ", appendLF = FALSE) + withCallingHandlers( + tarball <- renv_bootstrap_download(version), + error = function(err) { + catf("FAILED") + stop("failed to download:\n", conditionMessage(err)) + } + ) + catf("OK") + on.exit(unlink(tarball), add = TRUE) # now attempt to install - status <- tryCatch(renv_bootstrap_install(version, tarball, library), error = identity) - if (inherits(status, "error")) - stop("failed to install renv ", version) + catf("- Installing renv ... ", appendLF = FALSE) + withCallingHandlers( + status <- renv_bootstrap_install(version, tarball, library), + error = function(err) { + catf("FAILED") + stop("failed to install:\n", conditionMessage(err)) + } + ) + catf("OK") + + # add empty line to break up bootstrapping from normal output + catf("") + return(invisible()) } renv_bootstrap_tests_running <- function() { @@ -83,28 +153,32 @@ local({ renv_bootstrap_repos <- function() { + # get CRAN repository + cran <- getOption("renv.repos.cran", "https://cloud.r-project.org") + # check for repos override repos <- Sys.getenv("RENV_CONFIG_REPOS_OVERRIDE", unset = NA) - if (!is.na(repos)) + if (!is.na(repos)) { + + # check for RSPM; if set, use a fallback repository for renv + rspm <- Sys.getenv("RSPM", unset = NA) + if (identical(rspm, repos)) + repos <- c(RSPM = rspm, CRAN = cran) + return(repos) + } + # check for lockfile repositories repos <- tryCatch(renv_bootstrap_repos_lockfile(), error = identity) if (!inherits(repos, "error") && length(repos)) return(repos) - # if we're testing, re-use the test repositories - if (renv_bootstrap_tests_running()) - return(getOption("renv.tests.repos")) - # retrieve current repos repos <- getOption("repos") # ensure @CRAN@ entries are resolved - repos[repos == "@CRAN@"] <- getOption( - "renv.repos.cran", - "https://cloud.r-project.org" - ) + repos[repos == "@CRAN@"] <- cran # add in renv.bootstrap.repos if set default <- c(FALLBACK = "https://cloud.r-project.org") @@ -143,33 +217,34 @@ local({ renv_bootstrap_download <- function(version) { - # if the renv version number has 4 components, assume it must - # be retrieved via github - nv <- numeric_version(version) - components <- unclass(nv)[[1]] - - # if this appears to be a development version of 'renv', we'll - # try to restore from github - dev <- length(components) == 4L - - # begin collecting different methods for finding renv - methods <- c( - renv_bootstrap_download_tarball, - if (dev) - renv_bootstrap_download_github - else c( - renv_bootstrap_download_cran_latest, - renv_bootstrap_download_cran_archive + sha <- attr(version, "sha", exact = TRUE) + + methods <- if (!is.null(sha)) { + + # attempting to bootstrap a development version of renv + c( + function() renv_bootstrap_download_tarball(sha), + function() renv_bootstrap_download_github(sha) ) - ) + + } else { + + # attempting to bootstrap a release version of renv + c( + function() renv_bootstrap_download_tarball(version), + function() renv_bootstrap_download_cran_latest(version), + function() renv_bootstrap_download_cran_archive(version) + ) + + } for (method in methods) { - path <- tryCatch(method(version), error = identity) + path <- tryCatch(method(), error = identity) if (is.character(path) && file.exists(path)) return(path) } - stop("failed to download renv ", version) + stop("All download methods failed") } @@ -185,43 +260,75 @@ local({ if (fixup) mode <- "w+b" - utils::download.file( + args <- list( url = url, destfile = destfile, mode = mode, quiet = TRUE ) + if ("headers" %in% names(formals(utils::download.file))) + args$headers <- renv_bootstrap_download_custom_headers(url) + + do.call(utils::download.file, args) + } - renv_bootstrap_download_cran_latest <- function(version) { + renv_bootstrap_download_custom_headers <- function(url) { - spec <- renv_bootstrap_download_cran_latest_find(version) + headers <- getOption("renv.download.headers") + if (is.null(headers)) + return(character()) + + if (!is.function(headers)) + stopf("'renv.download.headers' is not a function") + + headers <- headers(url) + if (length(headers) == 0L) + return(character()) + + if (is.list(headers)) + headers <- unlist(headers, recursive = FALSE, use.names = TRUE) + + ok <- + is.character(headers) && + is.character(names(headers)) && + all(nzchar(names(headers))) + + if (!ok) + stop("invocation of 'renv.download.headers' did not return a named character vector") - message("* Downloading renv ", version, " ... ", appendLF = FALSE) + headers + } + + renv_bootstrap_download_cran_latest <- function(version) { + + spec <- renv_bootstrap_download_cran_latest_find(version) type <- spec$type repos <- spec$repos - info <- tryCatch( - utils::download.packages( - pkgs = "renv", - destdir = tempdir(), - repos = repos, - type = type, - quiet = TRUE - ), + baseurl <- utils::contrib.url(repos = repos, type = type) + ext <- if (identical(type, "source")) + ".tar.gz" + else if (Sys.info()[["sysname"]] == "Windows") + ".zip" + else + ".tgz" + name <- sprintf("renv_%s%s", version, ext) + url <- paste(baseurl, name, sep = "/") + + destfile <- file.path(tempdir(), name) + status <- tryCatch( + renv_bootstrap_download_impl(url, destfile), condition = identity ) - if (inherits(info, "condition")) { - message("FAILED") + if (inherits(status, "condition")) return(FALSE) - } # report success and return - message("OK (downloaded ", type, ")") - info[1, 2] + destfile } @@ -277,8 +384,6 @@ local({ urls <- file.path(repos, "src/contrib/Archive/renv", name) destfile <- file.path(tempdir(), name) - message("* Downloading renv ", version, " ... ", appendLF = FALSE) - for (url in urls) { status <- tryCatch( @@ -286,14 +391,11 @@ local({ condition = identity ) - if (identical(status, 0L)) { - message("OK") + if (identical(status, 0L)) return(destfile) - } } - message("FAILED") return(FALSE) } @@ -307,20 +409,25 @@ local({ return() # allow directories - info <- file.info(tarball, extra_cols = FALSE) - if (identical(info$isdir, TRUE)) { + if (dir.exists(tarball)) { name <- sprintf("renv_%s.tar.gz", version) tarball <- file.path(tarball, name) } # bail if it doesn't exist - if (!file.exists(tarball)) + if (!file.exists(tarball)) { + + # let the user know we weren't able to honour their request + fmt <- "- RENV_BOOTSTRAP_TARBALL is set (%s) but does not exist." + msg <- sprintf(fmt, tarball) + warning(msg) + + # bail return() - fmt <- "* Bootstrapping with tarball at path '%s'." - msg <- sprintf(fmt, tarball) - message(msg) + } + catf("- Using local tarball '%s'.", tarball) tarball } @@ -347,8 +454,6 @@ local({ on.exit(do.call(base::options, saved), add = TRUE) } - message("* Downloading renv ", version, " from GitHub ... ", appendLF = FALSE) - url <- file.path("https://api.github.com/repos/rstudio/renv/tarball", version) name <- sprintf("renv_%s.tar.gz", version) destfile <- file.path(tempdir(), name) @@ -358,26 +463,105 @@ local({ condition = identity ) - if (!identical(status, 0L)) { - message("FAILED") + if (!identical(status, 0L)) return(FALSE) - } - message("OK") + renv_bootstrap_download_augment(destfile) + return(destfile) } + # Add Sha to DESCRIPTION. This is stop gap until #890, after which we + # can use renv::install() to fully capture metadata. + renv_bootstrap_download_augment <- function(destfile) { + sha <- renv_bootstrap_git_extract_sha1_tar(destfile) + if (is.null(sha)) { + return() + } + + # Untar + tempdir <- tempfile("renv-github-") + on.exit(unlink(tempdir, recursive = TRUE), add = TRUE) + untar(destfile, exdir = tempdir) + pkgdir <- dir(tempdir, full.names = TRUE)[[1]] + + # Modify description + desc_path <- file.path(pkgdir, "DESCRIPTION") + desc_lines <- readLines(desc_path) + remotes_fields <- c( + "RemoteType: github", + "RemoteHost: api.github.com", + "RemoteRepo: renv", + "RemoteUsername: rstudio", + "RemotePkgRef: rstudio/renv", + paste("RemoteRef: ", sha), + paste("RemoteSha: ", sha) + ) + writeLines(c(desc_lines[desc_lines != ""], remotes_fields), con = desc_path) + + # Re-tar + local({ + old <- setwd(tempdir) + on.exit(setwd(old), add = TRUE) + + tar(destfile, compression = "gzip") + }) + invisible() + } + + # Extract the commit hash from a git archive. Git archives include the SHA1 + # hash as the comment field of the tarball pax extended header + # (see https://www.kernel.org/pub/software/scm/git/docs/git-archive.html) + # For GitHub archives this should be the first header after the default one + # (512 byte) header. + renv_bootstrap_git_extract_sha1_tar <- function(bundle) { + + # open the bundle for reading + # We use gzcon for everything because (from ?gzcon) + # > Reading from a connection which does not supply a 'gzip' magic + # > header is equivalent to reading from the original connection + conn <- gzcon(file(bundle, open = "rb", raw = TRUE)) + on.exit(close(conn)) + + # The default pax header is 512 bytes long and the first pax extended header + # with the comment should be 51 bytes long + # `52 comment=` (11 chars) + 40 byte SHA1 hash + len <- 0x200 + 0x33 + res <- rawToChar(readBin(conn, "raw", n = len)[0x201:len]) + + if (grepl("^52 comment=", res)) { + sub("52 comment=", "", res) + } else { + NULL + } + } + renv_bootstrap_install <- function(version, tarball, library) { # attempt to install it into project library - message("* Installing renv ", version, " ... ", appendLF = FALSE) dir.create(library, showWarnings = FALSE, recursive = TRUE) + output <- renv_bootstrap_install_impl(library, tarball) + + # check for successful install + status <- attr(output, "status") + if (is.null(status) || identical(status, 0L)) + return(status) + + # an error occurred; report it + header <- "installation of renv failed" + lines <- paste(rep.int("=", nchar(header)), collapse = "") + text <- paste(c(header, lines, output), collapse = "\n") + stop(text) + + } + + renv_bootstrap_install_impl <- function(library, tarball) { # invoke using system2 so we can capture and report output bin <- R.home("bin") exe <- if (Sys.info()[["sysname"]] == "Windows") "R.exe" else "R" - r <- file.path(bin, exe) + R <- file.path(bin, exe) args <- c( "--vanilla", "CMD", "INSTALL", "--no-multiarch", @@ -385,19 +569,7 @@ local({ shQuote(path.expand(tarball)) ) - output <- system2(r, args, stdout = TRUE, stderr = TRUE) - message("Done!") - - # check for successful install - status <- attr(output, "status") - if (is.numeric(status) && !identical(status, 0L)) { - header <- "Error installing renv:" - lines <- paste(rep.int("=", nchar(header)), collapse = "") - text <- c(header, lines, output) - writeLines(text, con = stderr()) - } - - status + system2(R, args, stdout = TRUE, stderr = TRUE) } @@ -607,34 +779,62 @@ local({ } - renv_bootstrap_validate_version <- function(version) { + renv_bootstrap_validate_version <- function(version, description = NULL) { - loadedversion <- utils::packageDescription("renv", fields = "Version") - if (version == loadedversion) - return(TRUE) + # resolve description file + # + # avoid passing lib.loc to `packageDescription()` below, since R will + # use the loaded version of the package by default anyhow. note that + # this function should only be called after 'renv' is loaded + # https://github.com/rstudio/renv/issues/1625 + description <- description %||% packageDescription("renv") - # assume four-component versions are from GitHub; three-component - # versions are from CRAN - components <- strsplit(loadedversion, "[.-]")[[1]] - remote <- if (length(components) == 4L) - paste("rstudio/renv", loadedversion, sep = "@") + # check whether requested version 'version' matches loaded version of renv + sha <- attr(version, "sha", exact = TRUE) + valid <- if (!is.null(sha)) + renv_bootstrap_validate_version_dev(sha, description) else - paste("renv", loadedversion, sep = "@") + renv_bootstrap_validate_version_release(version, description) + + if (valid) + return(TRUE) + + # the loaded version of renv doesn't match the requested version; + # give the user instructions on how to proceed + remote <- if (!is.null(description[["RemoteSha"]])) { + paste("rstudio/renv", description[["RemoteSha"]], sep = "@") + } else { + paste("renv", description[["Version"]], sep = "@") + } + + # display both loaded version + sha if available + friendly <- renv_bootstrap_version_friendly( + version = description[["Version"]], + sha = description[["RemoteSha"]] + ) fmt <- paste( "renv %1$s was loaded from project library, but this project is configured to use renv %2$s.", - "Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile.", - "Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library.", + "- Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile.", + "- Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library.", sep = "\n" ) - - msg <- sprintf(fmt, loadedversion, version, remote) - warning(msg, call. = FALSE) + catf(fmt, friendly, renv_bootstrap_version_friendly(version), remote) FALSE } + renv_bootstrap_validate_version_dev <- function(version, description) { + expected <- description[["RemoteSha"]] + is.character(expected) && startswith(expected, version) + } + + renv_bootstrap_validate_version_release <- function(version, description) { + expected <- description[["Version"]] + is.character(expected) && identical(expected, version) + } + renv_bootstrap_hash_text <- function(text) { hashfile <- tempfile("renv-hash-") @@ -654,6 +854,12 @@ local({ # warn if the version of renv loaded does not match renv_bootstrap_validate_version(version) + # execute renv load hooks, if any + hooks <- getHook("renv::autoload") + for (hook in hooks) + if (is.function(hook)) + tryCatch(hook(), error = warnify) + # load the project renv::load(project) @@ -669,7 +875,7 @@ local({ return(profile) # check for a profile file (nothing to do if it doesn't exist) - path <- renv_bootstrap_paths_renv("profile", profile = FALSE) + path <- renv_bootstrap_paths_renv("profile", profile = FALSE, project = project) if (!file.exists(path)) return(NULL) @@ -793,14 +999,93 @@ local({ } + renv_bootstrap_version_friendly <- function(version, shafmt = NULL, sha = NULL) { + sha <- sha %||% attr(version, "sha", exact = TRUE) + parts <- c(version, sprintf(shafmt %||% " [sha: %s]", substring(sha, 1L, 7L))) + paste(parts, collapse = "") + } + + renv_bootstrap_exec <- function(project, libpath, version) { + if (!renv_bootstrap_load(project, libpath, version)) + renv_bootstrap_run(version, libpath) + } + + renv_bootstrap_run <- function(version, libpath) { + + # perform bootstrap + bootstrap(version, libpath) + + # exit early if we're just testing bootstrap + if (!is.na(Sys.getenv("RENV_BOOTSTRAP_INSTALL_ONLY", unset = NA))) + return(TRUE) + + # try again to load + if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { + return(renv::load(project = getwd())) + } + + # failed to download or load renv; warn the user + msg <- c( + "Failed to find an renv installation: the project will not be loaded.", + "Use `renv::activate()` to re-initialize the project." + ) + + warning(paste(msg, collapse = "\n"), call. = FALSE) + + } + + + renv_bootstrap_in_rstudio <- function() { + commandArgs()[[1]] == "RStudio" + } + + # Used to work around buglet in RStudio if hook uses readline + renv_bootstrap_flush_console <- function() { + tryCatch({ + tools <- as.environment("tools:rstudio") + tools$.rs.api.sendToConsole("", echo = FALSE, focus = FALSE) + }, error = function(cnd) {}) + } renv_json_read <- function(file = NULL, text = NULL) { + jlerr <- NULL + + # if jsonlite is loaded, use that instead + if ("jsonlite" %in% loadedNamespaces()) { + + json <- catch(renv_json_read_jsonlite(file, text)) + if (!inherits(json, "error")) + return(json) + + jlerr <- json + + } + + # otherwise, fall back to the default JSON reader + json <- catch(renv_json_read_default(file, text)) + if (!inherits(json, "error")) + return(json) + + # report an error + if (!is.null(jlerr)) + stop(jlerr) + else + stop(json) + + } + + renv_json_read_jsonlite <- function(file = NULL, text = NULL) { text <- paste(text %||% read(file), collapse = "\n") + jsonlite::fromJSON(txt = text, simplifyVector = FALSE) + } + + renv_json_read_default <- function(file = NULL, text = NULL) { # find strings in the JSON + text <- paste(text %||% read(file), collapse = "\n") pattern <- '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' - locs <- gregexpr(pattern, text)[[1]] + locs <- gregexpr(pattern, text, perl = TRUE)[[1]] # if any are found, replace them with placeholders replaced <- text @@ -829,8 +1114,9 @@ local({ # transform the JSON into something the R parser understands transformed <- replaced - transformed <- gsub("[[{]", "list(", transformed) - transformed <- gsub("[]}]", ")", transformed) + transformed <- gsub("{}", "`names<-`(list(), character())", transformed, fixed = TRUE) + transformed <- gsub("[[{]", "list(", transformed, perl = TRUE) + transformed <- gsub("[]}]", ")", transformed, perl = TRUE) transformed <- gsub(":", "=", transformed, fixed = TRUE) text <- paste(transformed, collapse = "\n") @@ -899,35 +1185,17 @@ local({ # construct full libpath libpath <- file.path(root, prefix) - # attempt to load - if (renv_bootstrap_load(project, libpath, version)) - return(TRUE) - - # load failed; inform user we're about to bootstrap - prefix <- paste("# Bootstrapping renv", version) - postfix <- paste(rep.int("-", 77L - nchar(prefix)), collapse = "") - header <- paste(prefix, postfix) - message(header) - - # perform bootstrap - bootstrap(version, libpath) - - # exit early if we're just testing bootstrap - if (!is.na(Sys.getenv("RENV_BOOTSTRAP_INSTALL_ONLY", unset = NA))) - return(TRUE) - - # try again to load - if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { - message("* Successfully installed and loaded renv ", version, ".") - return(renv::load()) + if (renv_bootstrap_in_rstudio()) { + # RStudio only updates console once .Rprofile is finished, so + # instead run code on sessionInit + setHook("rstudio.sessionInit", function(...) { + renv_bootstrap_exec(project, libpath, version) + renv_bootstrap_flush_console() + }) + } else { + renv_bootstrap_exec(project, libpath, version) } - # failed to download or load renv; warn the user - msg <- c( - "Failed to find an renv installation: the project will not be loaded.", - "Use `renv::activate()` to re-initialize the project." - ) - - warning(paste(msg, collapse = "\n"), call. = FALSE) + invisible() }) diff --git a/extras/TestModules/TestModule1/renv/settings.dcf b/extras/TestModule1-0.0.1/renv/settings.dcf similarity index 100% rename from extras/TestModules/TestModule1/renv/settings.dcf rename to extras/TestModule1-0.0.1/renv/settings.dcf diff --git a/extras/TestModule1-0.0.1/renv/settings.json b/extras/TestModule1-0.0.1/renv/settings.json new file mode 100644 index 00000000..ffdbb320 --- /dev/null +++ b/extras/TestModule1-0.0.1/renv/settings.json @@ -0,0 +1,19 @@ +{ + "bioconductor.version": null, + "external.libraries": [], + "ignored.packages": [], + "package.dependency.fields": [ + "Imports", + "Depends", + "LinkingTo" + ], + "ppm.enabled": null, + "ppm.ignored.urls": [], + "r.version": null, + "snapshot.type": "implicit", + "use.cache": true, + "vcs.ignore.cellar": true, + "vcs.ignore.library": true, + "vcs.ignore.local": true, + "vcs.manage.ignores": true +} diff --git a/extras/TestModule1-0.0.1/resultsDataModelSpecification.csv b/extras/TestModule1-0.0.1/resultsDataModelSpecification.csv new file mode 100644 index 00000000..38b8c8e3 --- /dev/null +++ b/extras/TestModule1-0.0.1/resultsDataModelSpecification.csv @@ -0,0 +1,3 @@ +table_name,column_name,data_type,is_required,primary_key,min_cell_count,description +unit_test,codeset_id,bigint,Yes,Yes,No,The codeset id +unit_test,concept_id,bigint,Yes,Yes,No,The concept id diff --git a/extras/TestModule1-0.0.1/tests/test-eunomia.R b/extras/TestModule1-0.0.1/tests/test-eunomia.R new file mode 100644 index 00000000..c303aa2e --- /dev/null +++ b/extras/TestModule1-0.0.1/tests/test-eunomia.R @@ -0,0 +1,41 @@ +library(testthat) +library(Eunomia) +connectionDetails <- getEunomiaConnectionDetails() + +workFolder <- tempfile("work") +dir.create(workFolder) +resultsfolder <- tempfile("results") +dir.create(resultsfolder) +jobContext <- readRDS("tests/testJobContext.rds") +jobContext$moduleExecutionSettings$workSubFolder <- workFolder +jobContext$moduleExecutionSettings$resultsSubFolder <- resultsfolder +jobContext$moduleExecutionSettings$connectionDetails <- connectionDetails +jobContext$moduleExecutionSettings$resultsConnectionDetails <- connectionDetails +jobContext$moduleExecutionSettings$resultsDatabaseSchema <- jobContext$moduleExecutionSettings$workDatabaseSchema + +test_that("Test createDataModelSchema", { + source("Main.R") + createDataModelSchema(jobContext) + + # Verify that the table(s) are created + connection <- DatabaseConnector::connect( + connectionDetails = jobContext$moduleExecutionSettings$resultsConnectionDetails + ) + on.exit(DatabaseConnector::disconnect(connection)) + tableList <- DatabaseConnector::getTableNames( + connection = connection + ) + resultsTablesCreated <- tableList[grep(getModuleInfo()$TablePrefix, tableList)] + expect_true(length(resultsTablesCreated) > 0) +}) + +test_that("Run module", { + source("Main.R") + execute(jobContext) + resultsFiles <- list.files(resultsfolder) + expect_true("tm1_data.csv" %in% resultsFiles) +}) + +unlink(workFolder) +unlink(resultsfolder) +unlink(connectionDetails$server()) diff --git a/extras/TestModule1-0.0.1/tests/testJobContext.rds b/extras/TestModule1-0.0.1/tests/testJobContext.rds new file mode 100644 index 0000000000000000000000000000000000000000..0a515f82e759c74d68a87f40bfd381e5b00d8693 GIT binary patch literal 418 zcmV;T0bTwdiwFP!000002AxvNPQpMG9Vie*Q4o~q&QFlUy-Cr8jWOWDm1LM+rEwl+ z9#Q|!FH_rc3+>Q^#3qy5oOAB`KD7xU0cq3&5;T)v(h480M%N=k>ivu%B(-E?gVc7C z*G*oHG{}Bpn~@XZ%L5yN#!IBhI*%pe&cw=(IQ03s2IIIN=4?x5 zEVaf{4Nzs0cBuZU)bvrqKpLfUNuypIhok~>zZQZAE5Ap&;80FC$!jWd7aljwx+*Hp zJ;f}oq$t4A%vQ~8(KwPY>!ZLD@`G>Zir3f>Gz{{1(?^EU=a=UMwjac46VDS_Ff z*)doeb2Eh(&>&gf)5(X@Z)0ldf*P2yB?yX4k42)A=oa>JpY09zY(c!=3dd=hujJBB zv)m~jfkvdWIyzGV4@E3P;5<}LTEs3<81Cxi6or*FchUl8Zc$3tMGqfuM;Kxf`FF}V zHTj*^^P>zSar+6(Wo?7Cv3$*E(%UAoJ(so>p!nD|a0MpaP?*IS* literal 0 HcmV?d00001 diff --git a/extras/TestModule1-0.0.1/tests/testScript.R b/extras/TestModule1-0.0.1/tests/testScript.R new file mode 100644 index 00000000..02d8c189 --- /dev/null +++ b/extras/TestModule1-0.0.1/tests/testScript.R @@ -0,0 +1,10 @@ +library(testthat) + +testFiles <- list.files(file.path("tests"), "test-.*\\.R", full.names = TRUE) +for (testFile in testFiles) { + message(sprintf("*** Running tests in '%s' ***", testFile)) + source(testFile) +} + + +# Note: testthat default structure does not work for non-packages: https://github.com/r-lib/testthat/issues/1490 diff --git a/extras/TestModules/TestModule1/Main.R b/extras/TestModules/TestModule1/Main.R deleted file mode 100644 index a51f5dfa..00000000 --- a/extras/TestModules/TestModule1/Main.R +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 2023 Observational Health Data Sciences and Informatics -# -# This file is part of Strategus -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -library(dplyr) - -validate <- function(jobContext) { - return(TRUE) -} - -execute <- function(jobContext) { - message("Computing data") - data <- get(jobContext$settings$dataSetName) - Sys.sleep(2) - - message("Exporting data") - fileName <- file.path(jobContext$moduleExecutionSettings$resultsSubFolder, "data.csv") - readr::write_csv(data, fileName) - - ParallelLogger::logTrace("Finished TestModule1") -} diff --git a/extras/TestModules/TestModule1/renv.lock b/extras/TestModules/TestModule1/renv.lock deleted file mode 100644 index 343cebec..00000000 --- a/extras/TestModules/TestModule1/renv.lock +++ /dev/null @@ -1,381 +0,0 @@ -{ - "R": { - "Version": "4.1.2", - "Repositories": [ - { - "Name": "CRAN", - "URL": "https://cran.rstudio.com" - } - ] - }, - "Packages": { - "ParallelLogger": { - "Package": "ParallelLogger", - "Version": "3.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "e88ea9f1d06de1f92313028fd0838bed", - "Requirements": [ - "jsonlite", - "snow", - "xml2" - ] - }, - "R6": { - "Package": "R6", - "Version": "2.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "470851b6d5d0ac559e9d01bb352b4021", - "Requirements": [] - }, - "bit": { - "Package": "bit", - "Version": "4.0.4", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "f36715f14d94678eea9933af927bc15d", - "Requirements": [] - }, - "bit64": { - "Package": "bit64", - "Version": "4.0.5", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "9fe98599ca456d6552421db0d6772d8f", - "Requirements": [ - "bit" - ] - }, - "cli": { - "Package": "cli", - "Version": "3.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "1bdb126893e9ce6aae50ad1d6fc32faf", - "Requirements": [ - "glue" - ] - }, - "clipr": { - "Package": "clipr", - "Version": "0.8.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "3f038e5ac7f41d4ac41ce658c85e3042", - "Requirements": [] - }, - "cpp11": { - "Package": "cpp11", - "Version": "0.4.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "fa53ce256cd280f468c080a58ea5ba8c", - "Requirements": [] - }, - "crayon": { - "Package": "crayon", - "Version": "1.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "741c2e098e98afe3dc26a7b0e5489f4e", - "Requirements": [] - }, - "dplyr": { - "Package": "dplyr", - "Version": "1.0.8", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "ef47665e64228a17609d6df877bf86f2", - "Requirements": [ - "R6", - "generics", - "glue", - "lifecycle", - "magrittr", - "pillar", - "rlang", - "tibble", - "tidyselect", - "vctrs" - ] - }, - "ellipsis": { - "Package": "ellipsis", - "Version": "0.3.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "bb0eec2fe32e88d9e2836c2f73ea2077", - "Requirements": [ - "rlang" - ] - }, - "fansi": { - "Package": "fansi", - "Version": "1.0.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "f28149c2d7a1342a834b314e95e67260", - "Requirements": [] - }, - "generics": { - "Package": "generics", - "Version": "0.1.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "177475892cf4a55865868527654a7741", - "Requirements": [] - }, - "glue": { - "Package": "glue", - "Version": "1.6.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "4f2596dfb05dac67b9dc558e5c6fba2e", - "Requirements": [] - }, - "hms": { - "Package": "hms", - "Version": "1.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "5b8a2dd0fdbe2ab4f6081e6c7be6dfca", - "Requirements": [ - "ellipsis", - "lifecycle", - "pkgconfig", - "rlang", - "vctrs" - ] - }, - "jsonlite": { - "Package": "jsonlite", - "Version": "1.8.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "d07e729b27b372429d42d24d503613a0", - "Requirements": [] - }, - "lifecycle": { - "Package": "lifecycle", - "Version": "1.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "a6b6d352e3ed897373ab19d8395c98d0", - "Requirements": [ - "glue", - "rlang" - ] - }, - "magrittr": { - "Package": "magrittr", - "Version": "2.0.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "cdc87ecd81934679d1557633d8e1fe51", - "Requirements": [] - }, - "pillar": { - "Package": "pillar", - "Version": "1.7.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "51dfc97e1b7069e9f7e6f83f3589c22e", - "Requirements": [ - "cli", - "crayon", - "ellipsis", - "fansi", - "glue", - "lifecycle", - "rlang", - "utf8", - "vctrs" - ] - }, - "pkgconfig": { - "Package": "pkgconfig", - "Version": "2.0.3", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "01f28d4278f15c76cddbea05899c5d6f", - "Requirements": [] - }, - "prettyunits": { - "Package": "prettyunits", - "Version": "1.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "95ef9167b75dde9d2ccc3c7528393e7e", - "Requirements": [] - }, - "progress": { - "Package": "progress", - "Version": "1.2.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "14dc9f7a3c91ebb14ec5bb9208a07061", - "Requirements": [ - "R6", - "crayon", - "hms", - "prettyunits" - ] - }, - "purrr": { - "Package": "purrr", - "Version": "0.3.4", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "97def703420c8ab10d8f0e6c72101e02", - "Requirements": [ - "magrittr", - "rlang" - ] - }, - "readr": { - "Package": "readr", - "Version": "2.1.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "9c59de1357dc209868b5feb5c9f0fe2f", - "Requirements": [ - "R6", - "cli", - "clipr", - "cpp11", - "crayon", - "hms", - "lifecycle", - "rlang", - "tibble", - "tzdb", - "vroom" - ] - }, - "renv": { - "Package": "renv", - "Version": "0.15.4", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "c1078316e1d4f70275fc1ea60c0bc431", - "Requirements": [] - }, - "rlang": { - "Package": "rlang", - "Version": "1.0.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "04884d9a75d778aca22c7154b8333ec9", - "Requirements": [] - }, - "snow": { - "Package": "snow", - "Version": "0.4-4", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "40b74690debd20c57d93d8c246b305d4", - "Requirements": [] - }, - "tibble": { - "Package": "tibble", - "Version": "3.1.6", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "8a8f02d1934dfd6431c671361510dd0b", - "Requirements": [ - "ellipsis", - "fansi", - "lifecycle", - "magrittr", - "pillar", - "pkgconfig", - "rlang", - "vctrs" - ] - }, - "tidyselect": { - "Package": "tidyselect", - "Version": "1.1.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "17f6da8cfd7002760a859915ce7eef8f", - "Requirements": [ - "ellipsis", - "glue", - "purrr", - "rlang", - "vctrs" - ] - }, - "tzdb": { - "Package": "tzdb", - "Version": "0.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "5e069fb033daf2317bd628d3100b75c5", - "Requirements": [ - "cpp11" - ] - }, - "utf8": { - "Package": "utf8", - "Version": "1.2.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "c9c462b759a5cc844ae25b5942654d13", - "Requirements": [] - }, - "vctrs": { - "Package": "vctrs", - "Version": "0.3.8", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "ecf749a1b39ea72bd9b51b76292261f1", - "Requirements": [ - "ellipsis", - "glue", - "rlang" - ] - }, - "vroom": { - "Package": "vroom", - "Version": "1.5.7", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "976507b5a105bc3bdf6a5a5f29e0684f", - "Requirements": [ - "bit64", - "cli", - "cpp11", - "crayon", - "glue", - "hms", - "lifecycle", - "progress", - "rlang", - "tibble", - "tidyselect", - "tzdb", - "vctrs", - "withr" - ] - }, - "withr": { - "Package": "withr", - "Version": "2.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "c0e49a9760983e81e55cdd9be92e7182", - "Requirements": [] - }, - "xml2": { - "Package": "xml2", - "Version": "1.3.3", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "40682ed6a969ea5abfd351eb67833adc", - "Requirements": [] - } - } -} diff --git a/inst/csv/modules.csv b/inst/csv/modules.csv index 806396cf..80d1b359 100644 --- a/inst/csv/modules.csv +++ b/inst/csv/modules.csv @@ -1,9 +1,9 @@ module,version,remote_repo,remote_username,module_type,main_package,main_package_tag -CharacterizationModule,v0.3.1,github.com,OHDSI,cdm,Characterization,v0.1.1 -CohortDiagnosticsModule,v0.0.7,github.com,OHDSI,cdm,CohortDiagnostics,v3.1.2 -CohortGeneratorModule,v0.1.0,github.com,OHDSI,cdm,CohortGenerator,v0.8.0 -CohortIncidenceModule,v0.0.6,github.com,OHDSI,cdm,CohortIncidence,v3.1.2 -CohortMethodModule,v0.1.0,github.com,OHDSI,cdm,CohortMethod,74f017107e0cc1b740a2badc82879ab6ad291b23 -PatientLevelPredictionModule,v0.1.0,github.com,OHDSI,cdm,PatientLevelPrediction,v6.3.1 -SelfControlledCaseSeriesModule,v0.1.3,github.com,OHDSI,cdm,SelfControlledCaseSeries,15918616814b88137f82bf2aa9986e1dcdf39e74 -EvidenceSynthesisModule,v0.1.3,github.com,OHDSI,results,EvidenceSynthesis,v0.4.0 +CharacterizationModule,v0.4.0,github.com,OHDSI,cdm,Characterization,v0.1.1 +CohortDiagnosticsModule,v0.1.0,github.com,OHDSI,cdm,CohortDiagnostics,v3.2.3 +CohortGeneratorModule,v0.2.0,github.com,OHDSI,cdm,CohortGenerator,v0.8.0 +CohortIncidenceModule,v0.1.0,github.com,OHDSI,cdm,CohortIncidence,v3.1.5 +CohortMethodModule,v0.2.0,github.com,OHDSI,cdm,CohortMethod,v5.1.0 +PatientLevelPredictionModule,v0.2.0,github.com,OHDSI,cdm,PatientLevelPrediction,v6.3.4 +SelfControlledCaseSeriesModule,v0.2.0,github.com,OHDSI,cdm,SelfControlledCaseSeries,v4.2.0 +EvidenceSynthesisModule,v0.2.0,github.com,OHDSI,results,EvidenceSynthesis,v0.5.0 diff --git a/inst/doc/CreatingAnalysisSpecification.pdf b/inst/doc/CreatingAnalysisSpecification.pdf deleted file mode 100644 index a4ba0a454c6a35ac6b0ba804e1e8977671dedf1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250498 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

;;ag0dikz`991|VLeLjU+)T<^nEd{_=ZTNX}Bx7 zHC%LL$So2+i~Cho0y`AL55DGGV!Y%y$ZFI?XGCJGa~AZ(bz818GP zdFn0wPAM$fqvJzp(2qO!b)v8Pw6t6rit9Gn!@^F13j-7}drsU1}8JKvriu_x5F z^#~qQhrVEgHy;mFj4(&(JB@dbZljI)%f8O34!__^{b>5WBhkq#O;uoM+}t-(5Bgac zB4DSy@zeO4u$%UcxZKyYvBTJkP&jbM)ex9dZRL|{IRRsen;mPZLS#6jIo272aQKN! zM*5q0wfFE?!uBX=b7(fSW>!bBZIuXsCVd7{VZK!C0!Q72NU@%+tW*CR0+Qj&0Mld>5 zcHWkHey&+X$|ne`&N|+F9mb1J&2dB{U7_eoQaPNEi6frCC}FHR1Q+S!p(sh_Jar}p zd^#nuN&Se%&2pwN*-|r^*}^aIo-Q*CMS*m?hY_VlraSwgP^dEY7F(?A_$ekL$RjC# zwxy0vbTUpYhS~d<1rA{j&BM%R=fSWIoTw@)H93iF*x2@5q&xNYcpxc%0^IOsz0l&B z95lCV*3Tb>Z20{a*IsK}o=dJ(aq4xb(*)mwl$mKb{9?Ta7iQhDdM;titv>Sc>LByG zNh0vYv1PD)9kbS7$Le-F+}N6{+i8?LQYL}2Ti+aWKF;d(HiGkjBe3%_$?+vRp+O`I zH4F2{3gSuO)ZYC6+PH=#Q4|H&wr$(CZQHhO+qP}nK5g5!?Vh`NyZMA{Qb8rg9Cip& zFO-HygyGyjrzB!u`72R|9r^nM0wYtjKhgWX)|bz3&L*ZhcQu6r(-d^iDy6TG#9-Ggw$S)pB`aAdaf6<1PqM z42I4a;+B=16iWUL$sCLg#DW7`8XV_OA|aV3!G}Kp6a4#~E%gFRZbV~rwom7p=y00u z#aAm~TIvp|a3)OhUWYdhAHqitbM{~+tvqX$e+8ax@|1t4aJv-100?fvSq2JqPh;g zbc2;aB+$Kgsi=5bdgu`}?7PMTEn;wtGXX_S-$P+dDa*@Rf)VbJ*{xuVIqbQilkxIj zAKLk-{e4bbG_O+zgVX0rcuh)rLjq{c`T8VrAvn?3Oo<^w2#(?!I5!^%JKV@!3SeKhJCBnCF`Ng~BKM+Q^rQW&FlXSP9y8 z4`C;R%SyG3DuP)jDc5@hP2oxE?pwx-EWyQvC+u zl-6{NDiz8b&Y9zn8T_PRZ@kSx8*w%Rtd|yPKx_9xjO06-=%fj-a#Dci-C!KGOCYgC zSv~^5r#rk~26{^w6-{1!_qjnRHCMrSzQ^0h^`5R}juQ`mV*rc;GAQE)-OW1AzHIX8 zpJCl^pL63G(D*_~@kRrBzH&t~S_=l46KOlZ&*VJbuD{Jf%`l9ob{d+O0Xy_eC%FAk z7@L&yYyWojOP6l8I})gL^M1v6*6eKoCMS0`#wh-z(lXlF(x&^yV}Oefn_)RW8lJg` zQuJT@9L@M;BU@|72+|v4oPUwNfAXm8$c?2iB7#@RfUsBy-ggzL!zdvfoE||;mnb&eO+Vx6% zf@nP-({{?ME3;=w+uHjw@cSMXV!2sNJN`QcHIu7l($*F(lQ}k zyOu6PgvL%D+S1Kwvj?oI8~Lp(d{SiD^@}O~^9G*gmObwpBR5NGcOK(N3y29YD=S2! z7h9vFSr9LH$iREJRT4d}9y9t`e=hYch`IsmJ6&`_HV!yZ>Zlb7T^ zQ6gBs7k0|qfK@@D>mr^=eet9Q=~38x@+`+=D*fu>b&f;%um>UN!HbIvW_?XwHt3)M z(}EC8WFp%NCx;HEH2E5vczLnC4}Nfpf2_|{3+4ux=LoxET!$nL#|A1cu1-+{BkC25 z=t-X?Vk0cBMGmAOK)=fJL_PHOU4rYN=%j84lX(yWrBkt=#{tThdFsaLAX`5}S98FHqsvb-Hle>1a?%@XLVIz zr*)LMBa=}p;qt$z641JWa*HpZyq6-*?@9-uE@p5!(4`3j1HDGOop-s}8qefMvfbKF z3W?raf}DJniaT3oWlVRA13=!f=gT|UQT+}slbRNjl)C+fb)B_B*cAD;g?j--H?Vl{ z{ydQ#ev&@Q`sv|dT#!YLhploFI51Mq_u2w{rURi@hbwwaT)IE4pS09pJpm}+d)XO1?v7MtaM6?ezR&SZZ4#3A3og*dGEFd*hFneNo9dLGEjRIw(`Z_xnhEm1jyy5T1rgPuqw1wUWhkw(0#zVd{Vaq#Lo)l))cmtwMGh zCVOY{48%w{Idav=8xuu?S_j(HPQ!Pboyc_;oS12cMga@30!)+cy7m3-AoE)1O;Rw5 zEh`s@3=febLez^@r2qLE7K+;FE}b^O)WPR$J({tD-SvJ=iqv$CE{Y!5`cw?^QFoaW zeHVmqYg__WT-Xe88q@ifLrq+Ku0aw4iQxa3sCq+Mt)pA?EHuU@07~lW&!d7P@yJ7U zpZw-c$If_>+tT`apitFSW~7hVH>zn&;S6s$_em9gJu=VG%8R6t`nx@cF}JO;mufmW zs`+*UE~>hwMmE{zs=uiA=8r*CySRu@ML8^m5)MW3@5BH^NEpX*sBY7Ba$1LGaS|0l@{D@{ksV%%bJ8Oa!)-#W-OI|CNg#SMS! ziu=$e+ich7C9GE6A;Fp$&|L-67ug}3u0Ve;cWF?9S`mHViRSlXU{{z`2j;+XG^E0W z9bSN8t{V>IM`-&Ow!|UgL$=_Q3^?J4p$)xaT|Gb@6^3d#N6!`k?Sgxr1aF@=+xj21 z28QjKY81c@wsO=Q3t<&J0CrKxhGXm_jHtOx`Y1UFmx_ldk`mYCH)nok{s(~1`~9S( z%^woi8BtyEmd@1sGG6?8ap-8z)gL07L9{} zj}&U0NGA=ObCTB7Nfss&vMEUa1}$HXH{5vvfS;w&SR@T&`$hrsDAHzqF$#ryw9&4U_#|S9K_#<^GocFHK1qz=zd}eQd;(qw-fX8_u20|lZOD| zb1zYB?_;-kMl=45~Y+9Ow| z_OX>Tj5o5cs522Tf_I0Wm6u8*0u6~r z`XtnxE#%<$s2{&JdrWDHYlug?d(ATk?9Tgx>&tqOMW*&l~{4<$$6yWMR6H=!3 zO6au=uPN_a=x;wbVgD*9Ce1svvXrZ&Ma)L@DaE z^$5J=mIY>ysHdjJnnLWB0F?8EKbRk!+=l=Z$mP-?({MWr(xbU2_H$Rn>H{5^Vv7Tb zz3y2z6|sLN5|GYH3T+?*2X859Y& z?Qx?k+&%ZJVP;AVc!G8Ftc5<+!Z_$%`aXZkCu0MaXat9Lm z<9ca0{hhrOqi-NQ1CRa3(4n28>;n3jfQLWS-ys#9H$YJ|;i2s1YAe`V_t8&d7`h?Q z1Rqg|kWdwE6#5vwulDotAb2t*n?j+4ev43^s#}`6><_mK z4&oQv)q1t@HjUa~@uX!!Zn-!UBOvi^oxNE* zFh$O2?UH@@hTc+%6Ko_c>cL*R4KzwYw`jG#oA@H&2g~IJtG=tbHQ@>qSheX6zON9Y z@6;p<$jvEXg?``&3C6n>z{k1OA{Z3#!|fF7L1xpIoNG74+6h2WQ4@^RB}>>6&Pj?-s~)c|Obl>Qv(iqbq5V~E9MB>hDu1GqKR!=w zmtg)=aut~Vb|Im3G<`v4Pmdegvp!;O`c*`YnF9YoT1cS1U769bO}Gg#b>`*59C zVevoO*|L9jWY1<}>J>BJPX|TBJc1x8Jxclk>FZs9pH~n}bJd?{_@#vx?iQcY8bQBFcz01>~^vVR@ zG7z*pnM+_|?4RX=+WFoDe=;;oQc;Z+em+SE`s0k@n;?0U3wdoabRz5)$^RA?@#4HR1VH`s(u<(<#w0G$^6#-qEJSGdW|nae)BO_u zQQG0Zcr31*k%D(f$86bRj1_404_8k1%()M{*7(zV9*+g-00nd+lEmCQS!z$_O6oOC z2Kuge;#>%`|Lce@y8!;m(x2??tL4hVw&kuE;X$Z=O8)%&SBB+A3+B$bRp&@Jr$*&R zy4M*gq7C{>+l6kwSE(YyEMAli3h@F#hVGwpA1VXI!;9*LWG+k#wRzyGP8tq2E0>GH z%TW2|oIoTGQK#f;ZXj0H^gRUhi$G1!HM!(63%FR*vf_=r2u2$^IJo9+xf4(K*u~tu zBgwh&OIW7Cvx;aywIfV6gHE@=$j+|ivnr6fY_fk_JkDbx5e`M-;K6m^AnO>V_QRb$ z5|IFRG2Den&w2TPt@0MFL`=OFTxnnHnNP|*U4F~>wc=p7%DhLFzBY)!WeZ%hp(wqp zhVmWHdY;Au;u^4IKDF}2nll5=DDzPyjGgE3NeLCU+#B{vg_v8*Z;6g6mw9!{^X_;h zT^cQ$Ai}rrnH-{XHDxqWS&{>+!(OAPNiYvRw1g&3eDWWtx5GBu^AZjoXy=VxU$ufz zm)c=&S3eFG_+W#ILS=Rb#8k1IBIk;(?^1oczqRu>3k_JDIk58ir#;&D2-0*kn1cv_ zGa|H;Dfd+Kj^9|)eimEfqfuamRGxU9<6c)`?2yuBkC3h%U`+sM+T@YNR8_$;87R=7 zkVjGqT>gd1NcI%BB!K6Y!n59g6ip<9TRYQ*qGqsGFnX@GK870fxc-hB>pLw-I5o?Y zAo@67gT~Z5Zj$mBOF1wC?7rJr;qguM*` z#?*$7>L007mb8^=%9>*k6XW9E@0i4MqWnhhzk-r&^~J$vfc7+|8ub!sNqn{Z;adh< zGEo~tjyXWc2TV>u=6)EA&=uVT28hh@I1N(efbf!5eeH3Ly1W zZH1b?7;0+e{J!lUA~s`~J@IY6obH@iLhl#)U;V3G*>1+yM+0RS{<`YPB(JTHZh^V5 zP`rl)5|t2VT1HJC#z65bA1e{92__$|6HXp{x;-;CE%V_v37qqXlW4MHXs}-pF9P76 zh!cD^F2q5Ym@Lp8I%32Lo#2ZTIbGHHSL*P3P(LBMHWT;kO<355-cpD9_%cA(t>Y5O z8f;d@;KntnkBq8t&H@5*2+=vvP>AsiOJch*QwPcIQlj#J^-)cxBHGv#o5b%&<^tfn z_zOxvJnKBt-UrWcL6+h*yGCg&VAY;d zMoSo)9eDK@P|qPhlrj%_5nsu?XEWYN$n1tM?<`yrLgMg?Ub7X&9A|E8&>9`&Hq-48pA@)B-P{(I>A7ICuQ zi+9OflWy3(C`0Il9fk&%2gMD~Y->hpmb&%V$F+if{!a;92DM-QkoTt)S70amWoKy$ zU7runkgjDmaqAQ&)J+mpek}jMs&C4-d#SQlQEIaK@A9yCab*vUHU|fBb^W+e`)ZgG zpK8C*xytTgI)m?r%A*NW>dnXw(l8hiGGNBtW?BhjngN!Lh2y4Emb62g{u8Y4 zxFyVH#!v-{K|{G&@jRSM)_0n>X)QPRl@0A9ju(Aan!kndb*Q}e9$xw6cgrIt4f~(` z=i#C4u+2AnO{3TAbJC%h@xBl>;SLp`UUe9nR|FW=?K(nk_;Aa=lS2@L5RGxEsh$U2 zYn^K$)Jalk9}7lMM8U!dsDjX2W|SdI6Oyt6i`{rbW1@y0V!1mw1a}*%N5~dLcRF_I zBy?h=cjKy;!!Tz|KyDc(GFJrs5G>NX*G$Kbb5j81vIt)qs((Ey(0KHgfOxM;I3C{j zgR%W{vp(be%kg+DNgjwF#Id1gWv)6D{gShHpsOsO#jtPH1w)DoECEhrmDSynID(w_ z>}wPIw}LZGTK~{10CVF4FBS+U$8+IRg&S#VrZ)tUSekX<*bibjhd{gfLa+77>BUCs z`|pc0DlYf-h^n>mZ-9a>xn>eNLBn+*nD?V%Nj&@9#QhYLQ-qa0ZNsYc=#5KqSr{|b zEn(hf)PhJZUagbwxRt+d*Z~579KWVF_NrPh_!GF|uK_V{uyC;Z_#&1O1xGW#K!+2! zJK7-*0AmVL#ef8jL)9~cP3RXp;}>Cibr^FS(zuUTZI?b7PakseVD$Po$_vxkY5ICPQukkGf;49f5Y5CC8Qv)N2^|f zPAh&5Av%as3vF9*J2z0Xw9GJ$PKBe|MX!a6_IATJNy74`qi$0$!*Eb6do;}yCs%Vh{6jMmpF&R5K= zxyNY&i2OVMBLcFqClf}R`_Q{K0>4}Dz4Hs|@lS~psQ@bn%I#|284iMq7^qH4XUecS z&$RpVGndsDWY@kXy=zI%u*?-78~rl_c6(R_Q8nVjzOXqr<@No2mv4yr!i;9|i?UlI zd;~C&S=hwm^eOs;AFg#L^z8PuNdnFJ{bKR+h z4E^-OYE%<&b4)#icON~#Gx&5*qPdAs4L8FJ#+GfAWI{U2bNR}DZkbuoT)gNE(%*a( z>TYrrRDMb(UTlfCUFxlObS%*}VcEdGcQ~LCrUH3iHO>&8kMF79r;@M!%|q_!ftQ_u z{?rZwBLWFT*Y8&f8SOpMb@c?HuoqQp#|Lh#Op8+nkkth>RD?Bp4{T}9b60l9mo~@_ z)-p==pw8H{HAEr+Ta@(+WxWAn$q3n{Q~i5{SY2Zr@iiiA(tH=Sz%`twrDzPDxK|31 z&C*YtF!#ZeV{1h5W)g{Hcn5azT^&qNU zv?Rqo9S!>T2^mha1GZYFj;{`A`E?!!(rMF7NnULK(hFOhmOJ^?#)Ovk0m)PqO8&8I5)WYGgk`#*ugi+fFJFFN&H2XAy>k_R6UT~>!^g0{| zyrxs?w!YlIqpaezuR0g|jn?u)Jk||a5a*^2Zy+&Zk$p?%d}@V8MeM96TUI# z#ODoq8S9)h*+YrB6vN`yXK+AQfsY{*AIe21LC>g(b6_-;-A2#zf#xZJbRUhgvO>D zj2Ln9UdWsoZ&`&wFqj7oqc@l0v;GAmi0R4f0v?)>U=zE?dE>d(_HYOH6GBd+WCa^e zbkHAmZphVHP0ZS(%VZj%)FaKHJ=oUr%@+QDZXP6xbeAQqw9ZQ2)Q(zY4d-mr?koiS zSy~XI26wPe9Mp+|9z_(~Mg&g)iBL<%Lite2eB=lkUy_8<#rKl~{jVF~KGVLaEags- zyD5Dutm}dGhJ$PiQ!L&wv^iY|`Y?rJXI1pvzUC%w7BF=aZ$&!NkJ;6EPx#IVgYTcB z3gX(5y-(EOjRFKLg6yktqa=zQ;;p#~cUggUe$(~#k^ZuGe{gCiFWx63Jv;(6CV_mn z2f#8BObrF5xb@^Wg0^+ z7~f$50L5r*;~sY?dwV%*vJGl-Pb$eMzeI$eYEN<|M&L##4Iy{$AP%?V!Eu6t$TwOE ze6aQBPYLBmx&gg~s`2BHh!Y0ASB z_<*HoQP49Maa;=S&8(5n6O()YpSvU-qqP!2@O^Z#ii^*B#<+KHams;a>VI!Rg#duqX1m7W zE7t>Y=$Kn7(tPP?23`^)e9h7Ly1ho8OBq?&U1BCN-eRs5`Y-^o7so)0XxcS`T{&ZEgD} zhNq+*MH@422*^b|uJ^SeCteF=zafKKHkT_rb`Dyu*BhYz^zObg703@FC8lPjZloPLLbbgUOqUuVZDXcBA)~Ol?CW+4kh?> z4Ok41burHC%m(L@*P$3pHErj*$4!me$?aWJo;9RTUUIS+b!JK=@2y}sFg-@FKIq_m z?B~7Q{3rcfw%}Q9s*spG_%sRk0JsRo3W~NY5>J)a3%!y>0Pag}UgeA+ti2ylZx1Qq z=R=KN>PV6YW)*P{z;wu|3=d@cl9p(G%x8^Zg>Y4+DyLHYDuh4G@#w8a7pg5+w5SEY zo*nvflfj;EZ~dfhERY$4yzqW7&C&3y8uPdKs(=`U_3+f_GqRQQ=&chH;JZ7I(2YGz z?s0A-VhiiCgIi&?o7n@4RzbXsneb2zzvn!hs@w69QkBhWi+SVxO(Q}bvX16ZKMJ%D zeX2!6XjX7?r{r{lPucDJI&3qrr}%z!mh}Im&i?QvtUXrakbUv2U4RjLFf6E(zS?60 ztIw@n<&#k9u{V>k#QVMsnRI$*HyM=SpGV{q=5A#D7w=>4IMEA8#Ls8LqV;*vY>;c~ zO0HOVIacc=KW<9W@Hg8(=#%hRVDX1)elJ#6w5nmj>qz!a-*!^qA>3pURK)Lf>`7{X z!~3MAj=_Xt>dBwf(^Z*gAIX*Q8Dv^mbVBtBia`6_4{Wi4!$WwMvZ(H_vlY$VvTpDn zbgl*GE?9Xf(*pKQlMN&&6F{ zTa4iTu*Zg{i4T4PLvlc1{LcFRKn~9hjB!@IQgY%p(b-eU5Ud!q6tXJCCL z#oraM!H^vlp#FW5G4xFrFve2uv4_AoQ_8QB^Ba=*WwSzS*WYfay11ZI@T#Tr#tEBq zQojzO!d^XVE{MzHJ9__!`Ac73)|FzzeUx)+=gDQBUX1iSd3!d#Dsz(QaBq{(WY+k) z#5@tL3igCSP!4`;wg12=P|748lRXeoBHSu87jXcERW{1Ps4(PEgXu6h$kz30BS0h~05Dx>bQ3f={=834r%i zK2L7i^+|}`a`cQnF8PB?P@h@}vkc4ID2!jQuyJiRxk{2dlkhXiB{m4n8cx$QRHeqx zIyNnYQ27^x(0(slC(8p6Irx#0@?n+wg0~Qcg-3PGA41cPsJa3D+JiNG#KqK ztpBQUk|Qv(1M6ch7+9Cb7^SB!zA5z1O+K93rOqh+@RWP<$DG{cz;;qKTPK4B8!|S+ zcD%L|LxM$GO@U;Mk7LSJ=u*ynNF(A$b5ZNwIi{z|2Bpw@ovyC4)dCTsdYCVTIXtaP zA#~OJte2ybTxr8Eqy^&pMa2u|A}uHq-qOVM!GMm#E+zK0qqq$36X-$r0q21p1~YrO zk%IJs9Wi(-qD0d?+Yh!sHcDO%UNz7#%k6|Bk&PM}Bnp`|F2=fGXv4wRMD~qXTe;m( zlM%RrJAnMFO~>$gmK;D&p+F_6Vz7#Ag9992ucD?xe(;X#;1~`SuqD~%gdDLeS z3s}q?=)$8PI1_}6u4fWe>;sVrmDw9g#&ib$HY7H6e2MszbFR%#z$NP>*xi;;qYspF z*>svp<<##EX(R9k(29yMIl)3e-%8B6Yz^%M?-oC82Y73A0O9VZIuH=GQYs=o$w;*-qZowF>B73nJ$T)~3 zfU>n+t;*2nRJ(2lw&)R(`mDNi;fl~{HILLnxM?ker#9A#2aG6_69R$Q5+)Udqx8*b znhl8KfEB#D41F_SE&9+>5>1CBi>FcnQg!;?c$KB1f^>^P#xVTVcEXkSmi)_Zt=2sp zK5l>g`;)p)YFW)hluCtFj+9;F@lNnQ}#?sYZ`_lUjD}~xje4?4Fuoc(s zT%iqNkXv+T&>i&H^7Fl{!8*Agts}DsDX_M z3LaLR#qa_AeS?d}ljqm#7N`y9>(JkaHxE_X*qHs>rBo%*Ag3*!Qc3ocHUkEeXh0g5 z2{onjN#0=zBJM>r8RpY*vd1nmZiRoMuWZ>!1saOXn1;S;%s*>lDPdaF8XGg16d_9_ z?-ZGEjVpyw=dVlseGW6v#Hu}F&30^6J@kFKu6Mb4{uE)9NdU|OV*E(}K#M{34x(>N+;Eg# z%_kh6^GS{!&EOqc{M!)zvMjb-z-^q`d)OL-MPQ*zJ538)Y^HosKBazx;nc1MlO zmv2=Evx)I26jyUXcOb2QCj9zHAsGx0GYPRO)L&#xT=UtcqY_H4Jz}X~wBo`G&`0l> z8^R~sebPL>kgMgN`o>jM3RiB9NV-%VD!b!5`1eisX_j*xnLy@^z2Pg)GRNLDNU96y zkHw^-CZIk|l~M=1*%3!o9^UQiUJ(>yyZy_7*_avRe5v<-3rq*b@w$DC8IN1Pk_42p z=%(~V5usslpN64EvlV20D>@x&ZD2E)6fPbuOQ_r6?@l(7IaVw1TWB=dP_B=ygKj)# zD@vhkyZi}{W5=JP+ouqIl}NNpjG6V1S`z$u|cndPHCQh=4cm)arx{CdT&mM<|9co1yqxhCdL=D5H~I3qGr zAf8ZvbUK2t!Qq&71qmk6Fq|*zhh@#c%rHLD!Vpk}3WA{~{=;llT$eB*iTeq%Cx(^F zNc;oh&Kl!AVQXkp`3UFS1V3xop6}P(lp;C%9*7_Z$8BUxEY-|n%B0z&GP?8^l+zYd z=gXtfH5MxzGe%!d4KR0}b_M+it(hChXcm5Q%IQFcek;7vUtCDBE`K9RI=JY2@@G0M zcLQy7>K$q6g<38me`Bqz1}oAy;L(lD^Ax`9%oyFMmBsa+Yd8eONwEM{x>|&S;^fiM zgRJMZ`&SI3{zwqb4sD}eZ9+W#L|5KMcbcf|L}@YayOp9ebf$}S(> zGp~1ly84fn7Z))(IcenBD{f+W4y_?@ba_!r;zpQW{2~Nl@CsI{sFfR<>O2^7%%xF{ zJM>C(T;QHHyFq~Pc$|RQYz2x~ZqC8tlK-@D^tVWLfnw$Z_6P76kG^wGQyeE1C)dB@_T%Vp+j8 zigqR91+~<+8?du4W_fuk?JF68as!3_EVWm!a^>#uPo`>HQ?y|jm6lg``6sF85n9(( z!zUK=SgaQ3B*mUu|BFa`mJgyCcf|*`HfO~ z9W4wk@N7rH3CqsIju0CTFKh#*8|VmS>Uo?q6-kVqI}YBzB!W%yq&$YcK*xS>Vde8y z=E{rA3H9)IiFWbes?EakB*@|Z*|5h9)9Tlg{Z2BFvsWrnz80dr5MLV*<7Eh%O<2_I zj`OmpfSdigOCU;+e8KXAFBH2*T4&-P)#W`_W>Qj2z%fvH%3b;L6T8YEGEW3SPg*Tl zga4ilM<~*a41vaRgFZ#YEej)kN7%SR6x>3I1lp#VKX!JQYc(qbk7+sR? zlLA7NkDDK_5@HjZL=kDeLm`obOP6+R?gGBq7VhSiY&{+)o$X<+on{z1@qI1j3ea=F z1R2peqP$1Z%c3<15)*np5+HV*a90K~SVI$HU*-bQa1YORH)}^ix>F_uEO(mX-==+8l zVlA9=%&s)?R>oWuqo3NXlOVlP+NKb5x^}6AsS+=2(R^B-F_HZ65~Bq~Np`kBXR;@{ zUh!9vLNU>WK6~Pn>mqM_^*X@(DE{1ymo7bhml*eat~Hyq<)5)7xKA$=L*;ZxykI!q zG*~TIQR{77)iFo6ns4A4LG+g7;BEZpMi?*UPp+e%3R2#nJ9`OB&mpg`3X~F0LW`0?BY5EbS#Vlkz#oguE(=psrYRb zUoYCvrHGzN=G-V-!C^(vI9UpzC^Nd2GbSu*(GyzOj}%~A zAOnBJpvrGdO)zltJ;8y0tY$Fle>LzNaG(x*F0WZKLjXgfuNRHr0VstdUU2+>Ni@(# z4!xrWEOr?<*O+8sY*Z_)sqhuYrt}{-cMNPm zP;^p-tm7jrVnMWKrazK9T_R(FEn!{^Q5IXqmG&cVG+k|YFVS{m*Hs;W1d*2sw!u@# z-%-hMv=AyAa`=jnCVnlnuHmom-TwNy;1oN0bW2z3bbrPn6H(1Tb=9xz8~fbpL*vhS zIV&-!!|-XZt2V(p9Hy`U)6H_8Rq>!d)sET-x~0Jt@Luz4Ob!bcvi zG(jn}TA`T=A(4);-G_o?S!-(VKRI@Zm!6mA&%81L>ljg{gBzQ|8UOl=$epylu%R~n z(nECrgtM?u_)+50sqokn{O~aueO=AWfeRi6nqnW8-kw$Ont_O{2saXe%m@NKK_^I6 z^c19J*Bs-{vN~H~a& zNDRZkx!DI@iI+HuD@yWvv~pg?lhUlVvxdPOqk`7M^pAN~39o^fK0&l^cqHpTVA5}fbph67s6$>-cWL>mvUx>GBU) z{FMR%{^zwT= zx2`aQpqX|1GF>SLiWGQA71%O3bar#}#!2GFJHqIv9sjeC&}Lk0uu&;3VoA?zHZ1or z+_q?@(6}q+8k6XB+P96%o&ae_37CW`4SdXl@??laaC}^-xNM}~)?2)>1oOa6d+u-p z`s!Jzfzv*Wk@RdGH^w=)cZLGO%&PZKuwpAf2b*=ZO zcsky)-!Q8a&nF94d`)&^8dzV^=0p`;*QZLYLb!%{x|JTtq~C<*C#XXx#uGHpD6SNT zI*c?o`TH&}t*_S1PPh?mLCEfroir8hpt4bB~bQ5d(xD&G2HY_hr?`QnWtj$b$-f%;oGMb)ig#%d3(zV0{o_tGw}OoMXt&EbFQQv9?+!oB15-; zPCfQk0r9ZIUR4mMsE*+9fIH2cV?CkT6}9i`>n@!>?>P9ukED_Sp!vV;G+hDmQyQ5n z5p*p}*M%t>-R2KblB0uWY!N&Fr{LuIm0bnwCA<;C>3nzZ<1&hV=#|3Q)6i%mFSI?m z_UX!5G>ep=;1;#}k9R_MUa z5syeiZ^UT(^!NgjW-juD?dcIR@d=Rb_b}s~za;~;P*?DZh2=8ZFQO4rq~C74{)U5g zf%0jpGIcR(B8!T?$`CZLU(19a=RqTW(6=eJ8P^QJoO7#dTNf?vS%%QCx}eUQ4l^L` z?3nbp$Q1FnvHyuc^+((Ug8%Uikx)UBQxCA?PqY3-kWsZ7lHq+Wliw>g+cBG^7a2Y3 zl2#g6JX)MG1ME)~a#I1U^bTa?0xR&pXbspD>=YlyTlRUjPTrPJyC(Mcn-tM-3=@=B z8_GC+_NCPFP1Zn$JA8cAe^$>Kl-(q6zb+%%v>_P^36p47zvPgN3R9eqa3H`v;2w?= z{%0v%yx{?{q2~cwQC?Wd2|qW&!?=vo9ot7ldJuOPL}#5~s|IpMAQ;T%?y9_f0d#V2 zH^AUF8?jnIq{3K}ABB=;)liJomHe*s?iMWUbhX$k4C}W z1P4Nu5|xq8B;a07KEg-&Vgx}Z6^Dkh#oz@q-yTE(9hD)~{Xd7rygtL9j|q4E(6c6)K!p!W_KJnKYU2U+*g&$q(AiZeQt{#(6cQZV}!Z9(}B&D7?{7m|mf55l2-YdhV5DE|AYQ(53?Khv zW;>+Q7CHWI2T_4_l^RqJOa7n*P=qGTAJ-NqT39Jvq&$gjnFwSVxp@bh0Dil9VTb2h zt7$%g6%yR~e<_7k>fH#)Tx1=n+z1FcaP8!Ix!w0l-9G)Ivf#M!CdJ-@yCd@WL=bxA z!XG+O=x1(wjY=|n3aQLhfq?nA^a*1{lRN-0#QxNY_yN93c6ucMpPY*3j&0jqW6Bp= zFu_xJq3);XH5O?@%Ar~16!PK$Uv#)~Bvw?7AnPC=Zp;(@b)5CmXwNN9g z?^zP!NZ6DhIB(6PBtgA@X;QGJZQmOJ_Knf=^DiZ&{Xq2+%kb@M4`VuK52vMWrX*yy z`GAqR=!Xi5-ov87w@GzU3P`cPl5bl0Qe#N)v40+ZLzVLyHkb=yM{D_~F|7}tMc&Ti zJT0OV?Dygqz)ykY?5cuSau^u8wk5gnSz5+bGJwTy^uE;h~9w$3vE(En+z;DBKUZy&9Gen8|@2>+)FadZ*!KM z8x5ovkx#4=Y)|Ivm3z6W1n9w&xuwhDO21P6=P!0=S~{9>QlCD$hz4T#S3_ zKgI4^><@j^y0x{l{VZSZ3*e^I!ds%4=H}aH#RV2jYa&TV(q`&2`95wX!w!xxIA$5GX-{YplQT$3NxR3ll)pYI!7M5Yr!iW6{34f6_cASY5o;KMs5f{VyPRL z8ZC9cU+w%01;D`6FJOLeo$rn)0iGS0VMg^q2*Ji7hR=w;X(QKb=mm2jfq24Y&@*pN z)D`*^U>TqMr>eI{1fKswmzB}_!zCqUaW)G}$alp!hYT<8cGFlJc((E)C0>>ErIM!2 znfS9Uls|9tnH3r!s3WX$o*Uj;6=3O*=4cK*l$>2n7CiZAzV5^)tpt0+hsd2>YSng; zRgaTFVis7N+ft4DhhC0`J0k%&Vv_|GUVy!=$Kg$j0wbkP75mdY^;Ap^A=8%AVj`<7 zC4sf_UZ{#bNoi8bvk_NZpo|nOVm(-XLG{WWb$(Nohp*wzcP3Qc=XmfGoAZ;W-B$0L z*k&5=wWxE7Ts8^)4uc4Yirw`M#Yr}%X~O@d=acodSm9kLgV$Es>i5~W=3NO?4}EE# z=IkP~fxsxQXd5ltS^jaMa}?Zm#;~aIU(Z0j#Grodd~&IrG1^?~jJ!{$G)xZmOAbx4 zM?xKY=h_>Q&d6TVN)|>ZuT!6?a0ql@`Y~EKM!O9(sGcPUYwKCACeZ;$c@xtF==n%_ zZ+GMOI=JMcKsKAh>|_1dT7+mcJ%V!5TGZODXhBW^bY*fN zFGg%(bY(bNK=Xrm8-+#YjkKKFcoO5u`H8TrxVkK32VN;MXPy%G@M9<8?!~>9% zR{_}=*)p@xs{qZNt&JQ2EDTIcZ1Cjdq7FbKCrgm6n2{5Z2f*oM0Z=q?dbfRNFfnn% zlLI7ywm^q>r76JJ9Uu>MGE#H512O}sjQ$doK#orI#zv0sYM`yTr7e*9-9!{*=k8!> zZsGLD2P-}OA5VX*MHm1wMkZDuS4S&LfRU{!K!!n{0iXbKeFrT8R3KY`G0?)u+6(|P z1E>MD0P3pZDyjfU6-9L=RceNJ$EwbDb|8oU$wgFEOASSG!CJq2<&;caXRn`8y zssU}^^EamhD5$;b|HOGG{xO#qR})s#RuX4s{BsWgW`GOO!O`+h*#F9n;yp9KzfyZQ zHFE&j{1pH|W#Qyx$HU0z>gvj1?(FEq0CF&Au(SRvKQ#+WM}RBH!3ywxbpToe|0;~L zt?7F?oh*QVJNR=d069w&psgeDkC6oEZ>7z9Dc_CWai@PK_Ff35KR&JhrUM*-!2bwi zVdVIit(=mQ9KgoN($)!RYh-KkPINMIa&`oK{tJ750!=CZP7nwXb#`$06GQ$VDu;iD z`A6y^p!Yk|v-b2ha{ccUGqQDd^!T^h{O4_(fNUKt9i1Hi_6P)+Sy}`CWbgRr%q(sH z!sLY&q$R{v)#&Bk8_$+r9`s%vTLvdLr@z>L{0WQ6@c_7(H~`GtYyhVBCKb0e6$RPY zyl3qQ|EGLnmhW|P0y(%d{_n=NvIV)?dj1~@GfP`jvp=;rb+%(vx3#o)21<+l5B(j2 z{}*NsbOJB|fc5~On~4SEpMZb$%O9Be5By#TZ%;dr9l*@U+7ak&X$E}1zGD)sxEnu2Vt z-2tXRGk8V?kkflhQ2qazwEv1F;cRWKU}OWN`d>BuZ=#WnrM3HiQvZvh3H*~Sl>*4Y z#>o1=be4`1mTo{(B}*q0i@!_zH!kgD^xpr%w&vEr_hb1BQvWkj*6+RhzJDzLtSE7GY#L5=v=m=nA`%49UFT{Uk{9gS(`2rX1HoTH2Ze zSlBrLMh*@}?(j_Sy}-iG4)A1tZ){Vb+h5HBU}UfbIlY?z?3|sv0cIcv_&*2A!46;) z{sa9baWVrKCI2aLu>u%X|0!{E0vL_{DKRs>Q-S{!+25&VmM;GWu)G5xXNP|?U;{8( z{8MCmk89y>X92YR7lWAz!1(Xtdj!zG3^)Lcc0dP9kmnJO2Lo$2-`j2-t+e}7VT-zsr`slGJcSrZ{XqJgL)T?9?z4ErTybrEL zbIji`9IVmYmQe6I@t3AL!JXcIW5h%m^$IW3%zn-f!5Wo;w)@_Veo$#(fhL&sIE{(? zimn~rODjxk(lvsXhbDkZFQa!@{A{7xRq@S_?fa1BjtMPcR* zvI5DC<1!T7gQh7%)QAJXFf)H00gbC}DyW>HF%L`B5KPezN7OIDDEG`_6>=!H2 z*$mALh?kSv$9^Xpkrup>ux&*HtXb2V=~n~YgN&p*>8V`^eq|k&MUFaw`JzN4JN&bZ z1#$VWYdI={$k|K1RNPu`hs@3$3p{S~P30ci+JWQ^n0M!2=X+xXVN$Mi&yp#RzflXs zCmKscop34bUR==GM26uf5rs|P?>u?% zGJ8&$*P(x@3g&I>Y<$x;4^KSW1K2YXpobk<_6$|AD1Tc|fEy!213$$U85&b>3lNu= z2|#^4Q@d9>)H;q;(r!v`!4%wZB(7#cg?uBa>#I3t3#kWR*cQQo^1t#Azbw)}U8Rjm zqmrF-z;MQIGr>vBS?>021g39@++$U#2xd!PL`8yh3k83T;VvY^jo&xPTb;y`2b&kp zp3P`ZntmgBlW`X;ham?iEiSbwP8_|w5Nbwk#%=fJ>!R11L?a!&&0S3Q_d{fOE+x!0QS*HXJx@*u#1FWOTFjLnM3-#2i_&H z>|}fs3#EQpB-OhH?&GcE+yRqNKsVb-E>?Em9WJc<{L;pUQ9bK}USbmE?!y3?P##Ke zgu{U_BfOhbUkAwbi3DsYs!_G`6|9aD7LD(3!F0iC7LFrQ?$8x>E4O=Z4DEVO;p~CH zGZ=kL~nCom?kgW$b|KLBPW7U{AGy=7S zQa!ll?mlwswj-3~42!6UK_m>0iWYSG;zzvf=L;;VaBG+oK}ZvD$%45gt_u z$+#{Xv3ua5$F6!qIitqtx|dk%5u{agwA>Tmoxddn@V+MSJ+F^B@Wc-+;qyitc+L)E zYYa>j`xYeHNmPPh6U{h%3 zSC917B-VC+)L0O zINnYrcD1mDb7=mOuiA~dUDf{KLIPvG1dKekg-k^)g(h3l|GBLQx--jb*XT`!k9pHs zGjm36RLASc9GVfAO*fN{MA3+{_O|RJ`F0caq18tT4dagq?v#{5OZ{45bGefdKT!_A zeNYdgZnsStExpJWmZGX9e`+{|mElleCRv81KmE9!rx<-L`}~$NiLX5b#&=9p4n}!M zqvNn6qJ8A@^NH2}={&`_pH38NwbNYCeT=XdpR(dn^`@G^m~pl2X_A5Q*S+Se_l+UW z!OmE+SJD+u=QjynENO;8s@0#f3$P_!AANS9h9*uB3zS63mYXVP$2b2*JU}z7gfhxGb(n1sQ{~% z^wEzz$CyK62~4Nk(inlz@CY6ZkBUYZ-m8bWpc#=c7^*m7Lx+m^WA4^^8@Y5aK(wih zH_E$s8f4lx8MM$+bz!z82dB>af?R_PR^EM@QJ@O^KGr&CGB}~`-kAG@L=r*T-KlP$ ztQnzs`#59o3G>Tf0Bw<_ns(v}zrX~7^T!U-kojfMD9R=viTq3$aq4M;i(qDh{~MIn zvZezRygqr4DXf@vta6x;&e7J9FgdwGm= z%i;YFVH@=uaR)_(6RU~!s;lh_w+4A&r<~eT8oM_Loy@|(10~hYsr?f)F;@I-^eCgY zf(#@Ct3ZPI+1(s_B9m>MfSb8W_3kESQiER;I!+5e^SYR~+@^9-$%D{Zo#%j~st0x9 zRu_=vn6s|;H>`|pdPw_E{y1PPKdo9I6jlRE4&4*odz#!tk0FZ|>?Hj#^$!ke;Um)y zSj$c8evK@2zF`5Fss@?y=bDpuf^MK3^8mCrU0gDA-jTZKfuw~URd z{~jjTZ%9q*pA(LlVOaO=;pxzeiPT*vK{tTgb67W*4gtcq17>WL!9$ZUyW*QdgO;c_ z!b$5EGu%KzTTfl~Fl}!a2;ByX`%RZTxQNfIcBZ#5oln73 zXza|y8RyoYp+UJ>-Ct)W6v2Y6WpcPwDpL0Nq)pF>uSmcznOstON}&T875a{bY4#qY zKtK`rK&?dA&_+Q|GTr5#=b)iT$1x)`FcZCNr@8TQpx!-0#>%*Cq#_D3Jpbl73F{56-%9$lQoX=>D)$_P;^p4jWFM@o6CFIKVQ=ojiOIc~L zD@X36)}$X@Q-ztMZj_U|R4WC&Qk4;GOP9KWLfxPH-X9%>2(BIOgOcqN& z{9W%!R%*u9vcJ=D9uQDj3sRjws&M?#G~UC50(6iAX}D`;27cg|i^@=qV<7f0l{8aHOell3NaPVY4fRS5XJGQU$y2Ee()1Nm zRP(WG(rnka=CfTVo)~2*E}x%^_9yV13`E!eoJYyo$Ph9}IZdL3`0^43SNhsYU@;Nx z8*#4ni%Gz^MWGbs`J_Ink)DDd$^pH4jVTjp5}y@K87*X~Z#r--E$lEG9;@3VLO2)G z9&QB!-Vj4XFy0rRo@BQZoZ8s?c=zT6PI(v=hbA_Jmqs~XhVL8d5oZK!>r~Chfr-bS9xqvA`Vi&xbde{>b!=)R za54EUVvqUi^ zLmQ%pj_jJqr4*9oHT-J?^`!%13PK)^zJ|%d0*@WaYZJ;ZyZLH@DamVY$7m=YR%O>x zA|m&eY_*%P6VA6P4Yg3 z5m%9BTj+?^fR=0oww zThkFnIlSz;s?DGJsFc}I3a-D6nuo`5+@#u|Fw*$ zDoJ!4PY*`91d{FyB=K#kG#eiZ7ss(5p~EVkr?Zr{^7?gY71c`k zfdjaE&~nF!86GcUoP%|@DDQ@eT*eRiD{v1UyfUh~F1sQKf@Tu+6Cn=8?yH<*bwGIr zs+4>dDAH_NN&6GnbG}upU_5E51FK+ecDzHSElOu_c*I`Z_T#;4n43EcN$w)r3*#D( zn_LT6L@TCoa=$OzV)CO7ef4&4Yr@V(XnDZ2N;BzhV4~|yMV*H31)L+z+dAVt?Dt}P z6&1s(GlI1U_5->^nCb>(2{*-ZZplDL>$TCHe(lUxl;Tp?@U~P%6g^$GkgeXJ3xatD z%I08Bf>0gMt}czwq+UoIbRxkG{(i0ihW$$p23T6x7W$nlEH))ajq8tT_4QpldARjv zHL75_%x3~7N-@jOiM&L`7L{;1ic$X^=7ZLV&144jPa~}otRbioD8%_P4p3m;>*TU& zP6fydpZp%O4jckz-85Wu7`TH{(>ZYP<;A0MS!Y7NB zj$Q0+i4X%w@i_5mB;jc;h%9)@$?Mz2P+R#tXGG663SApEJBDjKLCrqK5MZ?(KWUP35_FLt|*1J6Ol#~`|?Kqw7l6q8!DF%MG z9aZJ5oMKiQZ*10Sg>&?7i7aueX`XC}@j?!_9)9dC;JVAOD6&G9?`v#=O5X3Fl2~vQVY(Tbu{n73mFLRry54F}=X1+%RZ>*=N#%%BU zhb+gu2UruK+;I`9I_*7HY5&Zz1hblhbg6=lGW}*-eT-LFI$aijGx+wwpI&{_^cRqY z!;wsWl{k>xi8VlTVSI1xbB;I88yV6|y#Zx)4fD-b8zrWL&}2e~DLPy|vut-d#QV1| zkW~AVsAz9js?Y`uzfp^B3H*o{B^x|-f1O%Ham`l*(0_Ac>l{j_zIE?a@-B1;&UGxs z;bhVDK9X6rn`rv!n9xpmmAsD|2NngXEQ=f?_hI=_RL?B!P2nNkv61zgFmuxg`y#^8 zhO>~znfqFn=r=L#&fu4#U%6!6i^y{h-IbRiD89mF!H3K3!Bah8;lZUvoSEV&n2PknPVEd%ZDkI@+c{HcML; zFGejnW{YkZw%ThT^_F6_#jnk2$Hjy2`xegVQ>UHT#J_v}h4#BW)>GE6<|heG0w`Sy z&^>kwYZEmQNOsOn)F#qp*Z%?bnB|&4TP*pbdQPjPc}QHe21mR3l2=8-`r9)oRC z>&_6$indXV7=sX8lc8#RDF@Tg>sLN1K8Qk~o@T}szUuS~XPUJIJ+ibAPZ(c4{hrUO zcAz2g8d@81Xo$h!P)K+6vWmI&nw!R@ytj6@VevV*_|than(8p8pT1|MpTuV0<*)&( z{&S%bNw_GS4uq2MCx27LG##kyvzA!NPsFy#puW0!L_i6LnXEcW_xJCnRJp0aX=#t& zY;8{!H^1E+)%B3hlVxP_!3 zD7vn`l} z{+5M>jpHYRX-V3NHHOeEV%k@zc(&+mWy_7*?AoiHQBIM(e({lVdApoG&3NL{FcxfI zVsF{uN9o5^-sr7;rSz2|qET6JOf$0~FoSua*V@e~Gs2viXG(g0V^h}S&ZXGxrQk*@ zLJRQSH0F!t2cIYLu199O$ot02mpy(0!o$8~>$R?Cj(&bxrOWeedQz3r&D9fVP~wor zT50%?L1qplaDGJx#I(swh{o>&q_UsC#EODVVkg6t2%HZ>)EmV$>l>}I zsU{b>3heoFE%Z@(56QRPa91xj1WtsO5nkA0%82sCRpn@KJ0^muukNvK1Wx-@mhd0# zep}ia@;S47lwoY_BZ*J9;~_pncp&mMj)@tni&dMH#_mu98nk(pmnu*5e~MucnVVvd z2(>+vVThO?}$kK@)Cg?Kw)UWthsS?YDVbTlW;i!ng{zTRJsClEQOH0=} z6e@=*Cy-Ewm?OCwADYMLT8)XMxLzG7F>Z6a!w5AwinyatTnc&Y&G~ldz}4ZxjM8j2 z`9h#{)G-~VpVSN{HFI7WP1i5*LNTb-0QaHEdSZj~+TQ$WGJh=n*3Ez(ran7c|>bS@IN(^dCX}q~_5je85hEQ)1r; zh$ih?d5P@7hIK5w({5e(_GcEc28Za5_Yq@<3~3gr=TGvABqc%X5t9RzFCtE9H8nEh z)?Xx59a9p??k1NL-Wue^3?IHJ>}dP(0RX6W&p*1rc_o z61ZithRop*D{y;$UZz$<;kI01F@@wnIC~>eZ2EHIp)|D{)C}9CB!epl+QX?AWP!#We7s zuK`G-hI^I8g$X!Fi2O6W_jrv?M)K(*7|7M=9==iyEOWG;jNB6zMJnZz*TM3XnzwLQ zbuL-9j)_yT;zV3cTh&v1V)=!M#w6S;0;T+dpp+%B?>$ zWbE0cX=n-ZW}kmNq}PR>Bf-4ywfAU!!cm_&Digk* zr($B&Jaq)kcurR=giN#J&zIj*o^Q}=PF11{U$AtvVG*-E^H(*$#`U5-|Aduhp|Cc_ z6XB{(&D-|}sF>|wmuv7zC&%ukL~O?b(jHmI6goy|%sxV3=nN+K&fI?8)$QN(K95bF z@#eR^gKZHOx|R~l1V2>ncQheh*qi{M^VJTk?Hxa1#cEf`I^GjbwdH3r+u|boi4rFe z?|mwI46^<}VxGKYeIu-=>u`dA>+LMkfpYMBl5zbtuon6i&jx*L1H5!gHf-eVguVq) z9;S)z2xEC=(?5l4?ZBln;&!%dBW!4a0K7$nlTgd5upI+jz)gE0YV+gTYmx+byqqMj z3(oz>F}H}$VNkjp{Hm$rRH0ukg7WDd{DPG;HlIExl#epuh~LQ)aA7M%fK4|+VhYo8(6QQ_01cW zfZ23;h?+Yhrp&*c)&K3;0{q!sknGaAkz31utZQ@>%z8Yr?;=4GXi6|<1a{(_xyZ}L zLQR$D`Uc)*pJOv~BO0xt1emaSH!uV%nyqlWZF@>Vnd?w~|E1tA zVhikgZ{Jix!VB&p*aX2R*_3zt*s_GSa}bX!e6-iYdI$k>>Q1<-B1FV;<~yPGAvB-i zmuB=`>Z!B?t3|uzn{ZZGl*db!H!RyPC*WSx@Yq%9L>d@>kqLGCh!>|WbdlK^kg{jAV;zP%`1no ze4@(3`?*Vzstpq!^Db2 zoN&wR*!P>S#x_rcn7|eZz%tprCt2JDozr>U<;G%Royo3fK3)%UE~W+qVzBdy5_aEkV0{bbl0nd6#qY;w5=gw)f?Yp)v(bgJU*&^0%U!@@bohRT59OJAVhdJ>zWd9L!q> z!QjN76#FDBx7D?$OfJKz5?GwQ0>)|8&wudUy@GH{rRO<>2KH0BxaHMLAK&2KGRl1P z^u&2bsy3o0wG-9vuh*qrKA+OfJm}8(@VSpSR=K3NbIRk}=^ORaV7X}`DGXyd)g>Q+ z*Pd z;L9pPG-*u%%ETk~r)u`{N8Ts9 z$*9ImuZ|jt!>qhd+YOW`1UNFOA2J z>1$t87sA38lOz)4Jt$ zecunetNWb%B+*-nR^nx9Z-C3dSbC6);Dh%J&AzI!_sgLBgeazd8=Fdtdj^5zSJ9 z?>g$CaXne6z-zQ`%&YA?gGXnX#&ciq?}1(BmmXJtNlnLgR>}$ z;~ZMC;lUR!ZN?^^jR#R0P~@&TDSl%|gO4^iH8*ARc@-ffL4Yl_{`~%9%=k{KVg!sy z*(}M{1X1Pee8TLGshHTkYPNZ4kJ@C+qYcKQcB0PsSab=ZD)$KPa+2cFCzz~pxK6b= zvl=ifXBRgAzDk5XZa07$Wv$-gvdkAvjP6mT$O+$seb*nc zzV)H_N8;IP`})4j62lK5a*l~_T@iYe)k%!f5>tfJ3wne~Go|%IVAmokx~oNV;Sj8N zP&%U0_hVl*^L|N27)08pZDiVDz+)RW8V5k|sf^|^yW>KDa3j~h;Yfb-y=e>oZt&3L zU`=i-Gq{8c8?7|>+2rjP6>6&hRGY_BW-LP7&rM7rWcK^;aX8lGi(Q$|A2%7hI4D75 zI;v5PMZvKJ(>m^O7Z|cVop|PBxL)SYdD!2YVYg-f%JeGO}D5u!yyJ>uiXsJ~|1? z+-JNSdkk0U=qYb$f7J`iUb#TXOqIY{f*bB!FcjMfv6*Fj(OGL3>klSarW~ja<|Al0 z#_D9SktNOoj~8i$CjBhvQ3U;MAQZxdLeE`Ky;{K`$J1JZ|E`uZX`fY+(bf z`0gsaXCR!cl{cAeSW^hXe_Lyf*K`t=Qa%Wg=T~d`6xh@ZzX{|8RPKXMCV4HdKRXqn z$+Xm+SmZYGr8vS&XprYTh#V0F?9sG=HK7W&xTyaM(c?W{-uQj>ph7^6jbW_j(j{5t z-V!<8Y^}%1k?X0}s2`uvAgp916-?}l&V-1YuN<@6P+=B;1&);4iFc2#{gAGSKS3eqL`#IKau51NyWDwinqWH!FDD?{nE;-n1`HI;F zDS`64qg)PMyn%#`4tZ7G@t-B!LB zEn&Wzwpn^PMh3%7dDSf@=DjLJ=}qmAS*|XtjJ5%6ks-U14X&ZxH81JV)^f*Nr&{;} zWsn~77=3TQz-=~B@8j7@{mRn6ZM%sE(bBqog>FI_otbq}PJt2j_$*ym6}4a?&C?&H zlxa%ok^Vx;-C0TGs2Q5DI$$n|!YXSJn{3f~((GKZVHo*SfAk=`Kg(zh#ocz{G60B>}TAwbyVF>IGXSjWOYl&g&O zhq^^uf!SN35+`Gr#MTSAick&4WbslIYHhg64p6;QX*0p1jmHxkacrnBb2?1DqkWCN zWGV2W|DhH`LU)f`g@v}cZ*AGiS|wvMh2h^_ID+Llwuw7G)6)YyCHwQa-ZN(5$Qtk zHsqB7k;vN$)?7iOslk|`v^ME=ynNNSjXdso?n?=MrGe>9`yor$Q11jaq;Lezlus_8 z$@@h)(}=9jZ+*_q`7gc`Nt5th>Q*?P&dZJRg%&Bg`fZ*v?|m-3#O`kP41R?7F$^CJ z@W*(st>VOqd8}(ZVc-5Ph?9itd&Wa`s8pIh)3EaC)n)nzo*K5bnvf9<0uFYOdW zBZ#IV>~8Jt%(2e$H-g9;=Y4MLD482sMiv&s8Nyho&3!%cNY}QVnB(ZGFYMy*_m2tq z2*x6B0J4E-pNDq7TtJ?zYo7U%FY4-od<;5Ed?M(yi)#=(i&wR=t)#xZp8+0ccHau? zo6NUAJe^#58u_NWhFaYPdY^EQd79w4`7rd2%kj+?BAyU}UB|}!N)37YW@*p479@P^ z`SlCC;1>8G&(sjZr=|i9?jeT?S3IYagx!^)NW3K4Q9hIE$%M;|z)#(feP!sf_ASMb@e`j>)M=x6jP+Qp9w#s7zo~YdSlV?lL6B#)XRrqIu2*{Kq zv{Xn*)=#5k8~yoHxMT^bew9O)m+`yVsg7jM6}BgUP_hyl3+~D&ciSu>8#E*h=_^yEFig zV|MEge3kVsv@P5ngqzx+w^M2=owr{mpvB!Ls65kKlEJVs#>F{*lO5)<+?p|_boL6m zyFWn8OOcG7`!*}#Oqs^RALHJ*`~f=@rv|U#!M?dKwkx4$gho9{`o&ot$0E83bZ=t(l1)IpT_AC*#k{i9 zo@Sps?sMq&o4Oro8du4wNTk&yv%d@g-zPFN?!GO@y<)X9M;s^_9{nQ3CTtD4>~3%+ zfeAy2<6*AIaPybV4Y980P&Z+o43Hx!U(^!6McOB_@b3b{rT!QrbD&F;M$fcM^ z@Ce&9lmeGr@_v1l5VSKN6VR>%msf03^Q-1WQ{#wQZwf=`3@X7`NIp+k&tVy8=c{?j zUZh`wrqg9xjV5~XOzcw=%0k>}Yu{Nsu}Xr^!4b&ticIk-@xbH&S6cm;^6ylM7<*P^h{P$WEMr-Zris{KUTyiq@mZ0S-C8UkO44|VN%h@0?1F>3uws~Yq{ z2TBWQKF7(Drfz9%*Lma>+&=s=A*(I*I=QbZDCQ)@a%&q8a*SY7!$apAh4OAh3{ za;wp0o*z^g(TDP|=Z=nzuv;vEwF7t)!A8!c-?CT2Z6}}7#7=yUH-?XCkU5b8ekoAQb zRy|QF8CC+HJsoD@E$4TyVADgn+Y2C)Cl*Y`!psOGr1vY)g%|#D*ithICixF>%z4Yc zoJk{?u=-#V4uUER3<rMcwD(k#$SkA`z*e$5u-j+(QoV-pm%1~woG#ir!>b*CP z={dK9eUMeBm<#4tj=Vt2CxKM<6mW$V#hrF@sJ+Z2_K!`1pkSXHT%#|D4E&}>qM`)M zVPsD*!retgZxhwocqwLh|M)xX9Dm~F#|<}nsLR1>MIVN8+NMptSE_XjpP{!B!?CL? zItO^sTU!mNTZAhf%gY;ZW;M7r{bsO{u4~KH(Kqz<0#bTnTJ5*qB%9#S&ml_fOVXb> zS74>xC1=)yvX?!!%osPQOW~a%>@mC6R=1cuwNTJ#!8DJHrjUSz4j;7NQ-ek&n&Kgg zo!KO_dG0Xyu>p|=jhDl`FHPdp~9 zJXoF)^S;V|;;vSUGT(SfLM@}Zi96KIW2DC6!K@eawpnc8Lm!zi-$;4DD7^Ar`BYKu zr+6|pk;h<0v+W%ynKO^nA)4GxdYIa9w&o9uh>B#~qNg3iY0pwuzUlccqc8R}C&<74 zv0gw!zuWFd%at0$>u#T;TE8L@$<^JxnNU!ytyr`cH80oC+oWM1-?hFbWsYwy%5hgL zlwBphLJ=e2v)Uk|kQ!?5Z>|V|ELV-~v3VGWH#psT0!bp+I&%#J_HcV7AXI3s76U;{ zuRojs9Z0D61>ZVw<=oT;#85944`G+)F?&3iU}4;>qikKultX!ilP$l;k$xj}UZ8`f zb|-)OR$gd4`y8gg67u^yQ5Hry`ob6yh2k| z0(rp*e>(W*cf~HV*}3Z1peR^qHo#slUM{iEi1g_gID94=@$I!mlov|={>O}+LvSuk zw6$Z~w(aD^wr$%dww;{Vwr$(CZQFY9H@Snq>JI*%^|Y(Ide`1-Jxja$PFXmaIAnNJ z=KvIYHAXJ%50d7V8PH2Ihos|ZrkPGnW6oCH!#5FkWnAM)X#xV8kpqIWe#vgU+RaA$ z5E8B5J#^*yNH60A?(lLSsQ?|5;D=-uhjD@tn|3o8+Z3$KmA5Pz^U4p~pbL+>FNG#4 z?@=pyhtOnY{IQf`zG|OfSOqtBJv>*-&o*o0mP=c4$?VKliQ-6Qy@|X(XDaUFFhRhW z1TguznH=`571o1JG}LGkxLjDVIVs2Y6Sy=k+oQq}n2bTXF-x}VDFGlOjcjG`UV>-0 zSw;V1t{d`%%<}IIOEOljmnpYXkyc@V2mbEArof74-r@r^0kIg?&X)8z6(Io}B0L1f zfZ>Fa0lJ#O{oXWJg^sppXZTMT(-f9+_h<|zYnJ}bj7rOsIS~nWoGFkOtgSdjOwo^2 zpmFh?xtn*6QQFwg5sVC%__T?Yv>S8Zg(YVYrQBcKL6=A?aR^y^MQz(=qv2X-)%hnI z907e^8T!M%7WQWLi-uQ69404i7KBcakS%;Guj-Bn-XFgnVG#xs=Tye85kSN%12$*U zA7b2w6|NNFXB2p)#9MFf(Ye=bNhjA8{!%MlroGMNWb5&Br;HNw8~gr+BR3D5&9!DN zX2**xOpvupSExOq|8NQW>~W``fyq$=roui;3sle1u-)CUZR!Ojn@r6~ZIq(oRR6vv z_-uk0rWDJ-!#77O&vWs&InZmS=m(vgM~A9MDUS9#W17_ zad+VQ(E}UTBC{T@6j|}<)76byPi$Hnp4a$lpL1+6#PT*R^iRIvriQQfTP-C@{f3z; zeI0%-rAI%r4iu|B;B{ps)G|6NF-4zWl7b>I6_xDkOzk78W1N3;uxV1Ni)SBfp8m=Sdtt1 zXCjN+HW0LOP6tW;}Cto!nJV0bh1U5HrIRxAwDe6xGS9Mb>FzPRXGljvO*CpEY~ zH^e^XRl@awQ62>-5voPmn;tb}&{Ukm%poDI@r|E$GT%UAj_9GTR=3Q+Ce~HT9KBHJ zKjIzz^eLgcsh`hU$L#fdc7q{@Cj{RS$SeatlCM9(N@$B|;7iYeC>hb402I0A6)|kP zMYNILi`(JT$o>h*N$D}-uzmZi!v#QXrEc`HK5$Ygi42XRK(A`nDtOJA74}QHfTHYM ztC=gjHj9_1U{C&&R!+{$*b_7L&Z#MCxDiMKnp*qRdJcBI1V8mx4(o%@o;?f!ObZ#s z>NB9R$>Y5isq$;i+!DDJNA$0$oPk6W-x@K*6*^o^?0M=9`q3Zp2FF!2X{tFH zL{N)jpNz(CU-P`6^}o!qlslp@T}=6_%}Jo+u`1EicJ)1hu*jFrgpuD8)abL56@DD% zNx-5XKjs)*#-Nv^5M){UZwKW(ocg)FHJvU>e=2*IW}3cpgW=G zv1L;11F~P#OQ48P7W3myIK-0h+E3L)q71%Sx=qSn-hXGFh+Oma7xME^wdVc&frHW{ z6osLNoYMcTpW15_@){xb&zdpnD-TOI$f$XdF2qGD)3Ee?U>h^j~L#PCZRq)^FM?cFZe(zqUqD;}0b_KQebE>f%zoRn}l()K0^ z{#GjI)ad|&6hMYh+~OX9P>?aDvjjGG-Sp4gg{DN0vU+7`5%k`EP?F;T>B|gQZb6aYGYXKjhpCVeBz|8F* zwc1Tk$mzg)jIMq$t_#Jf*%Epm*v8(bgqt(B{sM@q1ELc1ibkT~wD9vhq2s#n{E&v_ zXA8>{czh!}{3$Ae2e~Df-;%YC)Mr{=JA6)~Q?Edf%O%FdB*DkFC=sr4{U2}WQhtd< zuG*cLM?>Sui7qQ1 zoyc5;?;jR#HHMmgQ*ILSl97PguwxB3nruH^3Gvy0+B-0za! z(K5Zq|6%Ot)|c4*Tq#DoHS8sb(uz4h&3Ht{X(lNeZT!^wi?28ox#q#IwD>X8N9%i8 zGW3xcD0bzi;q5b`!d9q;x1nOELTRETXhAnkQ@jL* zwmeSP@FM4EIHpbhhG=YL#ge&%NQH9$=u%+ui|253z4ad~`M$LpiHIjphDp_;_rfNO zV6*z0u>kxaU`ex%`E4AQoQYRbNP0N`w%Cu$O7Y!^YaE2{A3-G^c`p(L8Rx5GR6w$Um z$6K{j@VwencNFX=-0ORzUzVLA>d`9@$RX9~guq;U6(Kr~s!5*_5b|U4!mvBqMl_op zDF~-4?EB9h{DQ&4*`eEyX&9!O9uVi@;2qFn%b^MOqoC+j1gJ=V)4XmzQDoRMP`3i_QZK;fzaIj!WycNGp_tZENv%@TTnj z_Yf@qJA~j6x$!UOxXPr|Fv}B3i)bz%+OHuKVa{=o?>oV{wOr=vZ!Grp z`HNOz9F?~WU!q0O%wkp}6$JP*<-uYUvRTw!n?u*v*V0Ej)%v&M;;|fqnz`Olv#c&z z+s=4)oo@g~9pU}*UVuy-@YYBZbuW963O^zfD918o?ozbCL~$)2k1AT^uHw$gEJd>> zL;Kvb=FFjDJ<)9ZyH)&641%q$@aYZz!B#pQp^YmdXe6YkLRXI;GM6F)Mn%9vNhps- zCfP!I@DncD-?Tb2iOCd6WXahxDjU;-GPI|Lr^sJ_jRFpe?SCc~#Y7IzCT^dVL^828 zVRtB@rARXc3haQ3+J`xPfSTegegf?`^||ewqh%J5DEIzZ=GY34DRkr#a#O|D$T)R% z>aV#p<*)_4@#`N46Xt7mW=j05Cw)6#rAL@AhFtpAz*U*VhKbnl)dB=f^8UtmQD$e@ z*8DFIcNkv3OnpYlV@?T{(g<84e`dIjUY-$wD{)UvVs1p%>=;pE2XVxNM;D zzB}Wq9G`C1P`P_|%E_$=6Q1Mje+|!nt0T3pg@OYV;-?)Jzwv;(HxFeA75^)u3F2F_ zF1-o;$fXbBE5kgqc39_gMibuptMHrydcJ?ao6$0`Y^F&zjNk@JE436+Ih?*< zKBzQRdx8Swo_Vu0;GQqBwrgoU*BTEN;z9221stJ7yo7Y2yIJU-{?H`j^E9f@F?^Tj zQ}x^Q(h`>U9FCYGi?hbbRj#BB`v~-qC%Z#FYvQX$Dh4*VK6mB?N1oK$H4z+_wt;ea z^-r)c$lrmIIifGiZMY1KU%MJw5DugtWMdpghia~HR>6?l=*`dedE7MkVzd5h1bQ6v z7Y#9w92aUT4V10!O{3BHXEc+lJoTcLwkxFl0>j*!F^zA7bv_*XZ2X^+=xP819$N;j zb|l~3OhbJI9D#c$Su4LPl%#)kFDhMGC+PnEWRo2Yan+&Dr6*sy<{=J*-BL=zPAi9= zuwRBWV9%1f=LS@Q%?4)@U$_Qft_-h! zxw&?Xb!%ACWrp(*Aq;ZhT{385EC_s8cp+`wVKT>vOlj^dVY++^8~Yia>DBcsO+%TP~^zo>L;3mDxn@zOcY*5)8Pc(+81|jrRe^K zsWQ%Z@5Kl8owL(-;YLYlYzz_OPxr;W_eAMV)Ckk7(6Yzmn0X zW>z(#Inl8qb3e`b^pe7=qx~ih=jCYME_bZ@t?f*4yH8rrT;`e9JIkc{ndEVGm(v9L z_PQTw{q<|ZFkg}&BT0VRAvubu!CpLvH|ulebakH}Mkui3n{kUVy0o2OQ*5;qkd0Cf z*}m^$UJzmj#l@yi%4&k+hPUDc#@#gR6qcXN!}%|65H-$B6}Nh5<25T%7Ayq)`m6c! zy8qu$Xp6*Eokfo(IF;9mV$ilbg+W|m0A?o4wWXx{hrk+Ly0Q@{b;F$D%iZ2m32d$X z*Q~@D56A`kU1`@d{uosISNAg{XEc~07gx-^F#K63xBib0 z(H>0QiwIb?Y3p$KO!#|$Wu7%TYW$kY3jxx=lZ*3sLW`^wYAF&J)g7fxn?@0);#%@> zIdNqdptY`d*}9i5dT%NM$wsoNK-0P)Hi|dTUT1QM*2EeCCH1d%q}|SpwQzE4cC2{f zFe&Mp1$AD?FvTG*~R z*+6J1;WD1LEE|BtKgty3nr^)GE2|oYm(E4kq*|~7g4EwbYGLc}<(qC3Mu3Fj11m}8gx``@p{1%3T*NSB}b1y zlJvgyP90Yu^oJyy5BiP>;%)AWT!ZG)?GY8k!8qF_**VvhDa39?n3`}oj0ff3Jqb5I z_mlRi>nxa@2c~a6gh56<7CBL`#OT>P{UUW4!I_toMHbxz&ot_>RcjwjR)?YEWGOrn z*QcpW-Mven@N>4&U<6a|1jj=Lev;$mF7esp;3dfW1k;h(G#k;NBOasEW);OEi{Unr zrw3-~f6foGI0nIgw_o{$aK3XE?QUPHk+i%fgbr8Y*pH!DsNCR^6Bp{Y`PK!`PYDR? zqwbIHjxzIJuf>s~o7=NbgZPF+%gyJ3PC|kLf;#MB% z&xVwvb{XfKAJCM1ceODky`7}<^KW%J^FdxY$z*`glQPKu%ptRSHYqANT{TPK4QH)K~TW`{nZ#1>1FI zL(P$?H$`~Yo6mcR+aBMr&JBL4<(eJdeO6eJ!~p^jhW`LT+x$7|*bog1bH}Iuukf2s z6g%F1;32d3RjX_Ta^LmT(5QQa`d7hJa9*q8m>K3J;CWH!GFUe^kjW}VeM0CKXp&MX zH2H<9qBY!gicK1C+`YlsHf)Cy3O*8Mh==>^poHQ6Iksi_$j}RGt1f%1N#PE4H&5@G z|IeqAlK0}bMyU8?b;+csj4sxRZ%h{A;p{|xSac-umiRAfUnWIoy4kBcON<9~Dci~D zk#GI0m#vvMkDv4un29v#>c6q+rGFhIS&|zp{M>_A`hz?hNB8{(oa5%`yxHTh4FWdX z*<)RY=F?yIn$^{i@A)$v#~ExmN{55bxf}R#V0dv($ghi*?@(TSjyafj%gsa5eW^;e zZA(c9ATP^sAEfMAK_zDA7F+B(d0~w&e$;9mBbbf1uFe=r&;LrU#K2@j*#I1D4VRoBXr2X*A=i2V+Z<7dx1N>gu~1mm z=w^<$81}MK_hVwpw&1U+sVIH2R^l?=znYQtrPJm5;qd`Xu!UCJ6d7c!ONUvED!2Kg z!WwHVhRbkn?n*hxN1!)rp~6K#8&1Lra&I)u*viLCz_if(18*`2lgnK)cGiqB>6^J6 zrVkgCdKo0WNUAkKPaeProBCbK51=Cjpb~*20S>Qu^r?j^32xY89sI_={cV-8TJ7&1 z)!H-h?t|>>7vBgxc!s8AtLsbr9?>Td&#`{M$p&Bo6lId1zaIU_$tqiGCv#nvq28v4@`{BrFVHzlW!CBUs zCZl8GbG0+b`4y7uN80r7JH~)?qyIS=!?=#Uy$+TV#B#@$T@CBXS5@!5L}XR;x6%7J z4Gssw%=(SFZeR6f-1DB@hmR>Dy04_BWOabG-W+PH zbj=5GDR9}UArD1TJquFK8qqG=SKs{_>ICHvb#b5S+i zA=JsUQ6Kmk|8dZe&zAVuX!ATyqxjBQ3py5KS1lK{vh@2X z1aYh`c)kA1%!UkNp$6)S1Xfce9GHfo#V1U>uqK5jvltm1({eTG+9N`|=Lo>y2#>ME zK-Ov1(sb{a?v{C=-((9QA5Lad*}sL5eIj*ZBS<) zed%czTg)?DmuKTmv(0E>j=Fz%iXq!FYR;34KM|4scMb$~6G3B$?d?t|%Ai6jKG}#j zeUzzIoXeR~Xuf}WivNnml2$mpIJ5Gv%SWj@AKZ2h?6^`db*W1OyICo=6?A4Lwaxmg zlGm3TsR7y*b*No5Y~OEkyVWPtqWkMj{}4q2owKJi75O0La^4@A53Y+NZ7z_y{ykGE zyPSGc7g(3ua)->-4tbUu76&qylEn+U`e&Hltaei@mHiF1YEH9_75hV*6E(S#;>)+8 z6%3k$G%0TY9@U)j12;Xwot_2V*RWIxge4xAk@w_#W-S#a(Ih2eRzlp~h|(6nEK(T%V_BJ80ae%x z)tC!On~V{x4N1T+1nprFkF&+&LX6~8VcU{3p2ueZ>2%)cMR6isp&{h2AZv4kf%{b5 zqE?+wlto*2pDl3vByd9gsaV3tK3$1#R!`Aup;fVkS*SK9N zWd>o9|D3qtzgU_+68U}2jboS@ShmuvFZJ$y;T+D9`Wr%R&S_ujsD8~2JB@Ao9WL3?APS=jV3NjZVG zv}Z`O&(264{{$EON(<^E-w+kxul5!?Rzb#oTni4uF|-jh?ybdEs{O|5m982Jc7-U6 zhEZ|c;OEVT$LZ0u;6#w}Ist?vA@NJHNpo4=4+MT+3w=3l&ihr-7D8y&dX z=F}nnVV|1%@grO}dW6P+RUNRI%^TaaWXd8OTa=27I8|g723{~HW)Hzbj3)n8(J4Yu zH~%Fx+O0s)+6g=$POHe`E}_~o3cq4%fRyoZP2s-@mJX_D*B0}-YFyyVRo=4zG1QPf z=l*sn&ow9`d_N|OG+ciDpm#^VXLi+v7B5o)dg350OLE<=kZ4=jE@$eX(vG#@DdMeF z!~IWhw_E9MbFfhEVV)JwOJ}|n@Yf(Vm zd{{@nq{@s$q7BT)9&2Ua!9H8DqDcfjg=PJd$tKub6lcSy$M2Htk0{BE-Ed~pz}S_@ zN~HMATH8hnB_~D+@AG_~6a3J;KqQo1Aov!m43jAs3+65;@b1Nr1Y=N5t0XA)W*ZVH z0;G&!Bi2P-SX6&P)A<+S&G&`A>|z|0jQDDH;@SCQ$Rko~jn3OblZ+GUpl~h+e;fT| zrpRY9Tc{meZZiLJnj=o=-RoemS@K~8KzVvUV*WOK$<=qC5PXH7WYq5*(Qm}zMN5)D zBg7ARa2X}4HW2g|A~`&G5U&Wne()5%)y6Y6TX(G__~S3=y?l z+#L4VPgpbDDz`&rTa4FBvelfXn7WL#tcr7;q^&r~3kK=h-0b6V6ljYTxt5SpMAcX8 zx&*wCnAMrREwaYh>knUiZOf#7*GM88$zz6UQj8)Lr)4a})0@Fs1fG{bokFcCdjXJ; z-Fu>e8C7h+UG;YDQhyACr@Ch&s5qbzM-ZZo28XBSX}sP5q}7RmDV&t zE|E|#ab-~WPW`@^mvsh4IK|)n8knbEYg25Ryxx~CP6 zejGZ1`96P!*J6UCb(>&m+1K(YQ19@?cS64UBThZ{M~K+{@LNcB0Llqr#jbYaT4AQT z!6PBvr~v@%W5)mRe=&U7|4)W5C)fXydjDhivT$;;{_pnxVfeEC;bQv#W%#z4{YPHz zWS9L*eM_*t^WVzZM}iutkt|T8(%;TGysaIfMsr`oU_|r0(6-3ydF9{RyE_bGviBdw zdy^FwDX1MGF@kRdn+(z=qQk4c4gxYmmy2%-g@q)HrkGzHngD^@H#M_36E7`D00E^Z zdL_cNf`w8<>W6FqE!Ps#cQznh-vE!d0&)_>Bzj-5g0FuDE(apU*yOJjL;&g;F%ZN* z{?8QL?C9?b`rouoF95ENTA4_Lu)e1T|5yQ@0V7o)<=0fE5d@9C8c#_7Hue<=7Skqx zqzZ;s5dHYYx*2jlSQjW&kO!6$7ib(JAAT9~+;YOw8u*xP#bvn#OVa?>#*@^iQSTXzd3CD|E<)CU0SxzNsz8&k>VlZ=`*~zq^Lz4V8Z-t; z`Zw_a{Oc5`@w`lV|8UUl|0uqeCKd<38num`oh{tyv~GY91Gxds!vj6HHky1b-81%lGdq7X_n{!~pTRhR zuWNF3fP!Az1=KN)``u#X3Ic&$1H;{al^qEnvp^E|Z|=f8(!8v>3jJ1f21Ua|5#6_a zxF-5{{7Qg5``6G6UFB*A>t_1^tqS6ra;PC4tD!st0JfX{FNrUXPRcEg5Q_jpc>vG+ z;KuI6nScm@Ruu8wLfcCXX?I(eze&ESskOJEH%AT%lbsn4gbvDwK5xU&n?10WCDi}GNA+SdrM&0ii@h?2kKATVEBt>l+3!G;swM(pLeh zC5Q(KfQO3tJ`?ox1hPf(m-Q#*2g+IokoYkGWvv280yXkR`VxQwW-k4aA$cGJ;NKm_ zKQ3Du0O4OPi8liKHcS3qAHcTqfH1skAdWQu{L{Ze-;52;%>Gs)`RM~eVqyaF#*U!h<8-U~?uPp~?$yWv zgZ>O;KuG8C&BFSh2#qK(&XQIzjIhbn=?vjT$cB71{irJ%G2wdBdACFq@v}RnU{UB0 zZQWD(^kCFeu$f>KkX>k3OCbl`e06OUYVvwIHW7E4V3lAfMH7-SC+CfqA*SVYy|j0Q zrd-O?6P#2B|8Y^H9Y{gXWAJ65U0n9Y9OZir_5DiO7#wtFf}dzI{}Vt0^B8$D8Y8)) zFv`3426k^B4U6kMOVKg=vCbim;i`nV-`tEcEsV&oP;aCc=cpuYqh}}zUzT50pyT#& zGyqqXn@y`iXQ`qo&KmSDRU$1{VvsvW%jwx0{r$T;OMaNxEMqHsWvf8NrP8R6I^~F_ zKK}oFQE3~U&w%~^$|&pa`1YvcG>^kO?_O{ht2173L{2S;kIsS$|F zjNY}iScb6C%5 z4JZg~YS(k*v5MpfxTZO@gnuo;^wrxm&40vpZv{Px}7=C^ucc_oI6!2-eKEek{fhUX(a^j`q!fF2N_ATJD_JZ{P_@ej8IrE!~@HK zlAUXqO)!=*LzS6N!oDW)_pz);?-QzqM}!;gtOgRDOfl($`Ac^TDbS9Qkju-B^G}+& z9m;FqpkUzs=O{C*MgpkiR))MCHB$6EPk~e}Da#=uMPtw3)-;j4nQoI_E$mu;te{%B zeB8XIse;0lq?a*jFK8H|T5b)qGa|g<@tUX1PpdVb9T#i8X4AY;VsD^vp0J`^#HOzP z-(Cmd`*F`5!ZF&!CK*cUn!H|=hF~&@B_NP4_pM`?VzYOkx$KNXAv~Igpk1GTZdgM5!`!y zErdVPQD64UnHY6(iicxNQ+S?`$C^REdH{Z(+o9T=3g|d9^7=`E+aRCL(SL(5f)b$V znhz-2E_3vhll&T_=|xzScL#3ha|hVJiIUjl(SE-A!e$TeQP2+QA{&0gIYEq`ZM(v_O>>cb9))vIoL4vcGaFxbtb`cPvgP%->%KD<$& zL9lgXXO^R_F4e930=w;WJ(`RZ0WGJ8O?zRV;YTb1rI@jRmR{1OP^W)C;b+l3_s?YV z4|94$svAnX`0jt@#fVI5vm1U-0N+gL+5DmPcnpE;tg^S|Kunn@ zk1gEZet|rZP-~^r0&zN49KDtf#eScVZEA7<{iTCur34J~)IoIXN<$#?G&k1#pDWYs z8FJ+Z{x(=Zc4~2oiZDvF(GcQfA6LPZ|5x1G`v%D07NB3cx1^ig#s1PnE!S3n_fb@> z6!RXembDt9BbIyt=OzwVz`y>YlYCrMCx6i~VNtRi<&y~C#O#@1mpJ_QQ6ych(5uO8 zaZ{=M0(QTD4fF63!-h+#LP$T|cI?KktS>PYt??Hsj7pMD9}?rPv14%K0n`&@s@ocC z!=@J50t<|CXqQz#ltD8tpNTw4mI*rEM%yWx}zG9OA4Q^Wz@++l8a8-Cq=3n zqIQmZCm5KA)=j{+r^vLJhv^y}8G^L#Oz3W;xeC2FUNv>~B(l>xWiQ|f6U}NED|1Li zC}2nRYsfHXdSQy4%E!A~cyfOZF#H-dd<9LRT^c-e1KI4A5{FXdi|*R7aw^`s(T$=l6<(@D z%0$SAQLX#RTIYOdX5leZ%U*)bK5@~15bwBf!xgtRjceTe(A!DdrkztAN4ac{NIsEy zDIhSC`P~e?N8GA)t;eOy;8&(;);Qv?8Sq82fECW+dEb5Nt%RK+P%plqPkXYB-L*`7 zzVUHRE?eFVIUQ8kqp2*|j;8-0&HFS! zr*SgC2a#jX3kTL&Z}Fe}I}Je*@XvSaif|abg*%AV3Ugniqi)q(S^cicrFx4V_eo(P z2r_WiV>(Zh-#67{r`mk`1|r66c)rlG88 zDwnu<_TkRKWCLbO7DP0UgdzM@aR}CB27HJda|^aO^i#)bZ4fBhdQD+ATfMJIrBa{Z zmClZAf5F8ORTtN1nI*wAmljL5UNsgr-`2}m>*!mUdQX?N8oQDI1whots#u3@>d2LR zH3T$d8rHuR9UGUte_Vo`P*P$ba{M~>R5i1eaH<}ZS;)3kArtYpj5X`U8`sfV6vZ}W zI~}4}-3VpD6PLuNn3ZO|NJx23UQKuyB51We5`3evvhfD0BfIFlWrB?xE$9$(#^7V{ znjJBf(;NW~4zuT46=hUfxD*+mJS!>*YqNn%X21dmy1-0YdQ>}t8MRNitJW=YArxH> z1NUgP98T^}+K)7Znu62f&IFP&9~MXXp>bi#X^(vlT8ifMBbC1?orkeQ?s2JHFWuUp zopn~z7bs!ZjdM!QhL-;bEDwhe>byn@B)B&d){Uk?->_P(Is4(SzQNb>78APxy#bB_ zwL#_Q@ZGVcl8dAqh6+WJwZbj=Kcq4#odQj|_pCv~9ZF{sC&N|S!l`KT<6N486y=O4 zj>O6{%$}h7PlXEw^xBlT%>gDX6UP}Op}_)VNO$w^%V{`iwq=PGYEm(U_PG$0;uWQN zF5Rom*b~*Mao0^VZ9^y-E?{)A(w8U_A*kz@LLmqq?;xtM&9eWrnlFFyxiM4=OFl2 zkB4O^mib1n{!d|$;wpu06Z{In^S3b{yY1hl^j;`l}nY2O-AFHYuuQt#}h z%8`uCn(?Cd2Lw;tCwB-=sh-#hUK{cz#+{|>QBXlWRuUzIq~{0MdlU;j^G@OIwqfD} z+W!vC^B>FT9{6r1;jdL#JoKozil{>BqV5Qfi05h_N;cNbHJp0AqOdqc8hij!+Q zSGjaKT0;!bHFkXmwl|j7V$c#TZNS%{17dr=3;^yH9Mj#{TTJ+flg-FyHA(&%yUi({Of=X>py zGe9CK!ZVaa6RYimx4?|bV#-2O6(%Twz_r;&^A-mz$&@|wP$~o5!yEX>FxfBbZs1NQ z&*ltb)pODl_h9Ymh|DLh$O01M@`CD7a+qckG{8Yt+NAT&I=HlH3aT;YJvi2LwN=#-SP7bK`Xqv}3Ep6#uT!IzjLdPeek zTwc6!W=ye)al1zNP1t-FzeZ2=7Mw8ZR{~CCD_1_a(%!zKu`OgB8fW>AZCxTytT-0S z8?36@Zpd$qry$ZXR&0gna}p=1ER_uoKrJGgQUIYypJ{X8j0<&vbi0Rcgt#7A4_kRL zE?7Gz;rZ;boOW`Z16@>SYLT=RSE{oD{Qns?{s^`BJ~I(X$=iq-uvI7B(XDA6asaD4 z+2ty@`sHC{NiX?#1q>MB<%}|!w%gCaL{YBufQ2$5=#W={~)ble|D@&wQJ2q3Y%Uy#kKb;qBrVotP3ROtla8 zSYci!VwqZ$^V8Nv$YB9g2LKb>^g(-Q^e+tH!s~g;OOC*(mqPj_ogt>q`d37=7TXSS zvlgeC$23*uEqVn8+1tJ8Jk5OH^*dy3Eppv+!JGAr-KM-%`;jm7$7gmkxmk5Z<5}O~ zBlo9RThRFb&|cYE=b%o^C~_mP7iJgmV9#wQKt`t`4)pLZm?I^ok34{1W(|E+WYyEo zXU`q^P7_Yy1aa{0N^O*m!`Ubr5qNqp5y&=fy7=~%*<$ zJkkwI$huTwN2jCC?!9?KTHqPJl@G0A|8=feSD{ma4WaVO3rjQ(r~IAJgi?^Oz(r_f%y}0caiF9@->wF zodoitJjIRxs`f7fmvOep#^F*Mi2gP>Tp%0YaaA-l91YgpPz`FRa7WjUL#*5Yk1@r#E7EZfu+ z`!Q~gHjEw1*J#VB;3pY{54FXFlFTTA`%Bg-2=A9x4Aq41O{)0Dv-5+I#$-wQ=-@Vspf>d&jXi*ZhkT?aeWtFecmj7(jv5utfiFr89`JCy+IEC_YTKp z+O3#ji(KKJPT)y%EtM@lRx*P-e)T5zgbnkUdMc*?Y1Lu*gx>gfS zc7;_3!AlhJmJbmjxpG%e`J;UI%{qekfepG~aE^xTJwH`jCo) zkx0rqyq^d^y9+waTf#30Y#0m?p)B+%T@DX-P2XOwIAdI>!OhqGQ${fu7tQkR`R8wx z|6_wmK}8;Q!)}McO{hY_Phs|fb>%ESo{-fwLDSD$5Ea2ltryg-Wm1QD^CLvX#Er<< z{W=D_@tqN0NZK1I-dAINC7ycWyS$M{oZuf4af5yE1x(7xvE^7g)|fEL;s5^Y_b?#K zMe0dO;4Bqkg@yaGzgpqJ_2*yLI*1B2T8wbpN*RjCXaN{fGoO${6n%FK)Gmr{xmB(1 zkksNh8YGwIJQf}Ul9(D7!9To#kEGO(l&3Ok+)SQ#Z5O(aDO^3F?*iWLVmnnj^Av#c z+jv#nY;E%y0nSMoLNS0ov?exi9pf1LnPC(*%?)@R6_E2YB<1g2QuRG*=f)_8le>5jHVNd`_0eOW_MT-j$qdt)R$(6W#-mY=ZS7awp?PW7ls=2vi_&PD(51A z)A0gENu}#Q)vuPBLX)T3IQN{nw5#Ozhf_8mbveT(C#Ke8~(a;@(Oq6Vn7cqd`~WMY!lev z=k*I`sq0JC9b9ojqO$y`iWwDN`YcKeCNgR2JY$43>u`kd@1-hRLe^_l0A7F`WP3<{ zN^b3^P&z`dDI#ar5VGi00}_p<)MscQKZFA)z_sy%?xDZ^#&60B6ULSf;+7Y=O3|8A z^)0n5L|dK-(ZI*~8 zyN~(qwGrN447lx(o!6wh7oqG<{K?6DPFZ_H&qY(b_^{7{AC@PZ4Gq93u#8l_{P#tK zJtqc_l1et^^)^r)hf_$prHiVeHxRVJ#;qya*r6*GK4IyEx{Nr#YYzJK=xgq^+=ta0 zc=keDQ@kfaA5CFusZVmRqP2#=OyCqR`M?Z@RXU?9`H{|2NZRxk^(~vJlmv+h<74)P zV-vT&!^}w`2zAH%N6sb%u0aO*{bC1SA@q@M^gqcA;fots<@vwgEtdB16KrMg!g+CQ z{=0Su+jEub-Mx1CHH|?vsbx7c$9TWXHi5xzA+W9-$e1tRB9*>qdZ@rd<~N;-85f1F zaFOneaeQln`BGQ2QTe=O($?+Csr;U8H%}?@idr+gMrYMuzbF~Y`JOA3w%i|h1Qqh% zHW@g&hu#sP0uHANgty>DBm;k=tib47Ys9i?oOW@pTNHzU-%xLlEH9 z9_tNwYb3O79WXi&2hG4Gx)Fa!`R#|$%0~*&DpPBf+{`%GqT3e|247rHr$4yY`vRI} zTp$dY`pfP)iAJ6+AFnu}S@%JG&KDUjr^A#B5~!Cv$7&TKw`Y{dU7AW^izuGu8tLVtYT^!Qi2zW5@(pFnyYIVN>K>9XXdneh1$>Qe2Tp>n zSkWA+ueDGMS?Yl;)Dh|Ri|Q}v@NW_!Ja_&0(oC6Kzr3M+lbDMqFp4)tNhuVVWmw>? zTx5s@20G9ZSU6fA`yinwufPXApKT83fJW6=P(Z%7^6t5s?a#aK1`#NcCn8&j++ci*5rN$DVEpNO^vhrl?QbSTP{PE4 z9_yAtZ=My1TebX6Nc3@m`F16P49TSvg9QJI)Flrw%+cdG$5v(pHXOE6 zclP1rOPi-@l?m7(f)X-!360&`PaJ>pd4QBmA=Sx+$tyE)s#kY7hmvxUj2Luvgv}J9 zVB~Ia|NZK^G}zsjj4R2Q1cf4NC*7#8)YomIsws;8_*`8Ml(A~AcOdK9W+^^5geGq= z!epoet}Dz|gyv6TTcdwO9x}EvBs!_YDZtT^y_TeoJZR}XiWJfZuHU;r{R&-fz=arD zr$MR+x4Q}T(wau5prSUzYwjzV)3k9)uYf2ye}hiEw7WDwEzcZlev|1O4F%WxY8>)y zX+1c_liz9+3e#Zt-gjcZj1v|9_jp@NSYT4;kn~YN&+(dNKAzP8daWHxzWmReIsX-{ z%^-)lYF;Kg5#si;|LaCoqU%kC6^Y9FskF*QAO-p0{eJ(ZA5R&DL%>TABPj!}+7{3H zEp2DFcQe6wcXso@y0gJa^rjJL#9Qfl6?!abul&#_n@nC6e$O+PLizBla9(PN%pZA5 zIx`w$;d|g!kkPJwp#nWT5*_`0O|6%MNxx`Vb6WHnFh7u#r)HtfcQBkEJ~!)dSoCh9fF$9%u&h_GCaoy>HnriK*g< zB$w9&yA=4{^>Sa~$Vla=rKJ!31(bcd8=}7^O=KeS+q?~6p+E19`)s(jk5y{`?HaptT9@i3A*^!wN9_qkl;7+br z6^g(p(&b*@{8f=M+)}lP(~o#deAswZXshtE=)=j_rR z54sm=z66l3FQ+x}Tf{o(^Q$;VBxoug((f%YaJirQok(%TQfmC)4Dn!P z^N|Y@>vmYl7tLP_Ob+$5Cq~vYO6cvT!(4Q?#myAgoz9iy(AtRTX1C~j`C?2fN#kV_ zO{=vn)azQ~)0y%-R2e9te+zLAMx;`YtP?)tu`~wL8iGgmfhvC=o01^n@E;SUY6tzbjU5X?g>#+Zgg?*@b{U2WJU?uMtm^!%xm8b@fpt$BGuw0B4?3!pE8Nb@FLUTL6E52;JO}7Ja7xz{YNERa_ zoB(cU6yf+}g0T#S!=Y?S{7%1hE)s#b=mbTQ=M`^&3w62M!4XPi9c4e?LMpU+;~5*k z&rY;4Q>QIgof5yWiN0Y~@j>AxYr@;)gH10pb;A#>(3wAhj0q zZQ#Y6Fuzh|r=yXE<89?h8g7^`m8j>8yF}!6uZ!mO-YST-@!T#~-y3;%!xI04qh@Twfdk1f({_9TNFt*vfhkdurmlug1 zr!)mQZ)MG-*{J(G7wo17AO^SXcTa^S>E z>5SJHkMe9eX`l}TbW0a)j5zwAw%>7c?566s74xVu*H##NT)FG`kOHn9cSp~m*nLAft-8VgX1QUEpTLWh#@p2s;B(@7?(bC=^%8z8C&9i;;Yc5E$8DE7 zQzR|d&T-M`w?nE@CpNTx427DDf`u>Le6r% z7dw@=nX6RgEUD)KNjx_#O&%sgw4+INHgn)>flkXc2zW(9{-39Gxlqh2x8qx+F*X7> zL=KxGQv@b-c+F(3@`C#n;dr?!X;@({Bek)`zSWCv@-q8 zG_QBdpcyE98D&Bi#)U-ajuU+EC2)`$w7dD~mKish1rg&W_%oU| zmawakOp=fML;%hbalZHge$`Z;0$S6i%dXKaL7`#kDo-5R@1kZJ8?PcP8ch2wpANbh zvO`HhF?5Tg7o^Xfj`<9_U&8U1$O0CMXazW^oq_&9-~NmUS|?Z5ETxGEUx7uo`;+IK zLDVpj;ANNE|?8rDKk0H6Ah| zDFe6AlE+InGCNCWPNx|goP3Rt83skg5J*><1W+nNDdsh9v^`vV>~*qj;}X}|c-|FJ<&SGFn}1kjd-!l55=JG4 zz^&npN`StBX4h#B{c@pX>)09g5k^6>qMb_mwtkpP-_-6pR+<-SiDVNx zzsqNU`0oUc+bFXDhA$1&8OGtjjd44;EFxJoP~f~>3ycZka``F>;z|tuAbd^stH_Z} z^z4+|ZtBlY-|l;83kNSE8cBhVNf$YDVS5&v=T#SX;RX_m@5}c zh{7h46vt48otxTZ{5eg$Sw^`A`EQ|Wt3ba9*Va_)8PuxiJ?OOKU+kS195+6`^sAMv z$$a8<$26P)o*_H8OhTA)GdQSWsE0Pmg=(c+GgRtLuI8n|8?QX6lo}Y<<)Zdq3W|FbrZ>8T zyIna4qyuO@+P(j#x=p>r;$hT3+Ao)xT&PBbQLqywX-Htf<`{-!iV>ymRhg z1x*h1V(OJIf=htZ0Rt`%V*E|(Ff9l^QL_rEk3RJm6@#f4eoWuaN0avVJDz~rQiZXe zJF{d6jGX zok0IiYc9Q{-wu^%1V{2@DGx`FSDHA_JJC7oRkMp^LXh~` z_^Jkx&*y!z%wNtmfnWYD=XaiWnQw_E{ty_MCh0|0wo|~evkQ!AuIoWk!^(EY(TPSH z638)ALb2PP$zZQyi)rOB#>CsUdCnx_V#jw6K5Pk+Fi2gQ*?H*6PpoBOBZue^ixnES zCiu0DmLCUJZ{U0UH8#kHDJ^y;U+F&#!IdCvkiwZt&E4e8=!!yNJ1<_xaCUw8;@R)3 zro#zJudb3rQw5KAj=|dP!zaTxD4b+C>*ELTGmkPm9X%W_7l>YNTuvCD9Vjc^xxYyL z0Otug(H%T#{q9^Dk>edQ{`v;)p{o<%7l#GYVDZ|9jP|`1EQ{Vo zhxl}~HEO|Z4{(@?&KbQ79B#Rl>#={$IcBL&H8#elxLp;3F*p)(mnPQbcV5 zH+1Pt`tE9Fi?E{7g4~B~6!W6C z+o6Z#U%f%0xgxiPXlk4;Oo2Cw_8sBRm8}JAdHUDqlrP@0<#2Z*;e4Tv9_Iut1DfXh zLqsrJGCSWf<1T0kWZ(a-R_?b&sqPWyJddaQj^Slw??^^MxpA^spV5xeW_Ie{8$CBF zT);}b(cGdLc!Kne;Zugi2`HhN&ac?(m=7__7tTHt9u6FcOUmhbY6zC(WDO9m4lfOi z5uuQ7z)Y!?vBHt>=NC{~pRf&JgsFdHLkvOI8)2&Q1^NQz5y{NMq`m@)+VV}8{K#`2 zxtQ)cwDP)zzqV&MjQV$La1aGZYEhojngB z-A9U=JI)!670=(k5>^ZM^hY5(>aOO%+{uaJrr{awpeMeR}lUEWvnEwd+J*;TNyr&O;%Ghg% z*FLE(8$^M5Sniv3S`WxPnswn|bO0|}`@o^9Vxd{ojOu=*((c-dwn5)(dm1j?0AK z45*}I%E+kTARfh`sF7-vo#kI=BmC7fu1axD0oF1J3q*g%SJ0$)G?abVIz#dSVf7&w z>D{jBn9Kvv&pS&~PC2_Y|9gAct>_63ey82i%vS6+yC1aRO}b%eZmo(B2W6o^iZxWE z?p`f~erVHIx(Rlv1gL0ZWtNOj!X1G}1m%N`RCR0e*ppl}LB zF+rU1*Fgi<(y5hiCS5(ZwrrMx^+bDjRk$sS2z1^OcjF`nXrqO|1;}7jnu|fo7$XyiMhz1p9(=+t>|3 z*ZDQ70Yn&ClM(T-e5(au4cOmXr$1HFqSzBJiJj~sVhD@ilmXquBJQ-pRGe8xZ`5k9 zI`Va_{`TpKpl5y|XzM)q~~FFkC_)dmm)mC+NNM6s7%-@l{G9oZ;F z;8ViHk51U&MWlPR4j0@~@Ixfa()Q@+{=@XY(3_B-y+WC}{+f`!?TKRII^sFvZt7eF z{8XNz4@A2wNSz?5ulJS~y2mOm4ev=2NWKK4c{>D3@@0Z$UJCWKF?XzpeuIQ}pONzm zUNH!j{}85Qsnyet*IZ;)Pt{U1`1A5SN4JCED+};^w-KLjFByK8^ep-7@5Cnpdu8hd zS#hagortzm^`eltzi!#{6Z6FpmrZ(N{mc9CY*Qd;L^}XeyS_u(nTzPDhWcsyWYhC9 z-N_;?PXkIK^kl$>9mQ@4xr*Cu;dX(!V{YdGq-EY$-_t=1r*r!f99pj9z{^ZL2U@?nsdbw~=D?ysL?o%G<>gS(oR z!0zaJSGXdE_o|0|g+h#SjWQY3aZGJ3)iq`pI;OK|E48*pU5z<+Ng0%-K3L`OczHd5 zwd>d>u6gi8&N4ck| zOv8dD(@o4}8n2+y)U?H375r0SICBP_czwn_R6ZWFP|@6WSY{3^-flL=A=Jaul6epL zP(?Duyk4+vLMxh@PibVCT5HMRP@+*zFKO^2#7Bus)btMd8)IHzp{30@S%{*M<|8!k z{&H&Eyqvc|PWFJ<9~E=9p)s=-+ja3H8%C*OVE1{HJyp+T=@r_o$dU5Jp{0hI^f@&C z?Y0&EM;GRIQTZEDk z>z_e?b8Co8yn0)${W&`yIt!-}%=|F8a74(t^V3FFZAf^M1+qb4to7P5Emc7O?JR?9 zRwGcGpg>mS7#WEBJ0Zjn{9U7`R&2L!Y&@0Q89at_Q8bJAk+b1RkFQ}BE3*yyd0;^F zr4NORb;oqKJ`udf7YN#uiZT!XP1S0I`4myRtTtNk+*EnJ)VUl>d@+lzDOHBPdX8DV zI#UFN@zC9q(-F3pO!OG)1P=?HyiR=7I&26-CapM!?J91dcBGYXH?7W)yL-nlTV6GuZeG`AwEKi5mEu$8v^uPrk9%j}NO@Hz_-~`zzHQd{qWj%6FkF)uwl zU=pmy?agPFdj?+Wl>=*Qrre8>&pWl_t(K!4>;%zbt&IQy8ay*z4T`sPt#-096}gRm zNW}GF88M1<4<9aToPmcP76ljTNnPIfzn~O0B-3S2I8ZJGl`~)B^vVd?+|f;>&`+nA zodz$3DL{1 zF72w4|1b{8u+rk&ofqMGpvGZl&qlRRd>>N8?Kj8StU1x|M80dmlUH3cu$Kj`WRv|F zWmFHW7lzQ`z1V7N%iSVWmSC2X7|XK7E60rJ2ntdhi&X*0EQ&}TT)C)?ptvZu06RUq zJ^bDd@%LoKiv+RZ-r9BL)ljvw%pr!R+kaV2n+@H>YiWoeZ@Vkd&zC@55!aH1(_ zmK*I2&C)@Xc0Vk8KX!&|!DG1hzUObc#;*eN4?YveOrxO@6J}iPSv8#B6sRAfnU%UK zq^AAoT6g-SjP&07br{zu2wBw3vP{Qc>=U0iz$%+D>LnXu^PPJAg0?Gq@<_lleU^Q+ zDPA9s&TaEkiN9d6#zmwv>{(fJVsuM01~CX@bOZ(1sp<+p+jU{x8XNAL9!jLy&TdXR zGoC$EKMP>!K&>(VZE?KK7j57pNmzZ6DnVzsD4nEOnl(K-2MJB?hjBXPwPfz)xQg>V z^HFTIXGzn9VtBJwafC~R!N9NNB?xU#bc^%Wr`XD%@A2s@CZzpP#BQ{1k;NHq0I7UA zjEr=QSmtWrNoeXGxpjnY*BA+JP7iTlv~Dg(oVQT-gA1ZCRdQqKBZ`Ef^LPw=)KdLt zOOG$B6LAa*@hnr{Q3(Nu>Ke^GT16;hh%P3PuS9Z|Ful*E%V0cLY5x{h)fWq4;nwX#t~6AV_&ogGj4K7&ievBiL;kepE%Jy)V_C6w>s)n z@FcoYI}GBWWwQzu)Axd`dsOl-SD!xgKzY-i#a$f4-!Z2*j3fAK+5TT8s~o`hERuEIyhoyt z@kJn~4d!(RCa{7NPwdAn6B8p4S;zdYg}=*}Y?gTwGT3p z@C95e$!+85hE%fx&rr3%X425sLWsJ2YEcMz--lIRkPWS8=B6garPmu-2OQoPQjo)e zdI(WD`XwTwRDA$K*LBd^05A;2jMRaFi=hSL5#as;nCJ)%(`OZ{L0>tx*4&pZ-2y*{ z7w=oxWjuI@J@?|AHtL8VR^L4ic;z&&{+OSmJHm3!r||%`1gZ;`x9;w=C8_!T!~wCK zt~4RZTTQZGmk{zMa7p!fmFmA;x8|QR++76TZi}EPS*Fl0`&*saZ<@!87w8^<%odWt z!6y@6%X@`?njGJM#?9w*Ly5QtT4_1RF->9uP0I zh5f<5{<{Cc*DSEexY+!VH5dA-CO!Q8SS!&Y7`##Hs(~WWtUoh>SV|9r41(gr=|mp5 zIXSYBERMDUhAkK#32HP!HAqxj1PxQ7qk!X54OC)}STZsS*>X$}%v2TVdlgx<;*B0{ zyaun)nyUDsfhzI)0kndZuF1YV$!DR$x)w(5j?554=hus|2C5*=4ZPcAlbHF{uWWdk z@bV98mq9K3DAMzz^SF+G|6xJA_Xoip&htLslN7k$6?oAO1oJ|Jh<3Jfnw`Aeq}J`Q z0GvHW95|XjO<`S@qP|kdQ7}l9e+)U2CnRJ$0i`*xXPkEMRD)OFB6~yK#G!LH?v48E>mz4fac1tC&|hw3fHKC%9%pfBK*v1Mv#>{fb44%(bJTht_B zH1>{@-U?Ud_}L4SWzLX{67v%8R-y=~L-K{>|KAg4#!k_haORvKARd7{NwOwx{X?|a z+`r)B!}oXZ(nP2l(k3V=%9_C$n^|IV*64psV6WX`)a z5%d#4wq*Qq>)bg>OM@ykOeiw_7jwuOcSc5QqB}#3t;Vs9Lu>#&&X`YS8ca5I9LE5{ zYouCRP|~R>o1@9|G1`=9V`!HI9iW5ylj(rr@93mC)X-&;Y^J@ zPOW6WNdD+_unUihP#1{GGPZ6pdWph9+?G2>_>vgAbGL+Ciz;h ze#N{$hySAMT%t!Q%}lDW=bvttMie@Ye=&BzZ1yH4emKC|mZ;r*_AMYEYU#D$lVy)z(WRkHqKoT zKO>ZfYW6kuYRV)maSU*D1S5?^AxK+$D_MGG!Rq>k<#5Q%dSHU9d-t}Vy5pzH(c_*= z4Qm>ofBiBRm|@6<#j=qle};U81?9|7(0WvxMd=$#`-<6r%G@YH6z2MKri@a8x_mQ$ zuWKiGbaQyopYt6ZXRxQlC7Slnmo4ezo5=xdJ=3F!)9)6NM z%J@{J>@n%U6#s37T;U^444P9Ii5f9KK}(_AhlF9xEOr}74FJU4cJPe{0N5Ba>tnt& zO95KB6`=oHPKZjJ04pN_9#*gI!9w*n0`6GEXmqEW_e&mEl69mXfUFVcLbGu-p>X$3 z;i2AY7A6r{!Q|9*+BuD949DHnNvL=vwicw1Gc?NPYJsC$lr6!d`_Dm^VwO5FtkE~l z87n~dSxMA%+zkk5H={(So?ISBQNI7j?6W%YZa_kmzx$p-?h&4Yv_~e){P%&e+de{e zM+%u;PwPW>8gP*2(H5n78F&Ijeb(q#;piK}B*llROm8Ef3@Mg51-dZaN>J}Om<&Rt z+sSdEzieTDZG)L=%L*?ma7(chEyPbgc=R1LYdn%JZPpnH`CnV4sdm1lv!k{zHm3t` zgfxDed`>*SHtMQ{M>_L$yql>04t^wGTiV4b#U4lY-LH1A35L>$UxoMmKO*X>6v%w& z_5Yv(8X&fKnz5($bZS6JW3A=4MAEx=<=deb17&u~=d|rX-!8EcqWFJdQECX+7*QVm z|ETYbMnK0r%my{edGj}D-qL>+OkzpJ*Jr=1X^qS#=ZkhbVUm5I3hwzPE5C^C-Tek{ z(y;G}N8z`6fd1stqRg+Xi3%ZTR^_2pqoTynxEQPen=^S4C=)SE(T_h9(#Y-&`K zgzfY`0PdnkvGEJk*Nf$mwnbGlk+I^hxY$!kn~}^~wriBv<&U1#W9cwSmiYXC8Td&5 z;s#`(AtkS0;+0+1Q6*?$b>?3_sN4M9h5DDf2b`C`R&maD+Q-mg%9{oX{0I>buP4V* zQqbL*)ZT5FX0sa2*6XFqmmcZ83MCT-!t-L{n0kSsz+R zTZ-p67kx`62YO{S7kfHS=R|+U+&F|h73FnXMdYb6lzkJX+sRF_NoqfcPF*2cu5?q; zrw;I9YPla$FR;GhOI85E)kk|fTnwPVcx-OL>gBBgLdWPg;FF$d>s6%ANee$T)2-S7 zY&uxUG8c^kvPW~Oul%gt4FQRL@uM;ojc>hh`dIKb?wu#1ZBWt;>#LD6JtKT?Qui)Z z-LSnBKI0g_;Ag2lnvpC2oW`wkOq+dst6-(en4RKgSZIoW4 z(DyNU^!uJ7dehqEXZX0&d31}4O2Cvb2uOVMJNdB3h7l8< zDyEw>6j|}4eXh2ubc$Wk3f+uq2}3kg!qWeO%CVl|h(!OB#}PdzaDl7q#C`&U$M#X> z7P_kLljyDLrqo_LsC}G9EV1bHD#-={^C{7^rx)kvIKH>OxBS*3KWAD=Fx9~|%p6jE zQ763p1%`nDN?2B`z8RUnJMdtQ^HD?hgCIB4RAi?S*tOpHQly$Y(`4u9ZsD6m^mQi} z4p4{;Zd|`R?X;ECLRJ!Ir8e-9Uauils;FLrO zQLy^_!Us^haXZPT#6jrro!e*t?|SCmeOWBV(%xODSaEiU%62W&%>=NE-MW&2t`nn& z_8SzB&lrSAOqVn#L&Uqu#h`%~n1B21pA$C0Kf4`Y5QsXTbwmN<97OhFI z?42E(M^V87uUsG3Hb~tj2e*D6E(}{KiJZ4AvA|AG58&05oag}v>nnU*4AKoaQ&ko} z&+B|n$DMUP4;aL9I_ujXX&AVPAQ*xsTv0^&E32eYLAPY9!?~Ougb$3fhguTw-{WhE|G|zu%16PTjJJ7cN}bv!77BvddIsAEa2jSxTMCz9=MGm?8wwI=uCWgCcp z^wR|h=GK%7Kc|CRIW-{iIKA;n*-2g&#B@rQ{s5pBTk?CHtiO6ktTkeE=EVzKjM2B< z#W|{$osWm3D=~Tk2xtzyBDv*1tnhHo0Ty@WAqEE}-fH$jdJcY?;J!uJk6n2aI61wvAW!pgZ{zu*{_KHriabv+h?Z}moX=%8&tAXGz(Dofd# z3#{DC^NUqju%ZKtf_y5pgOehH-(I|>1c0G3!`^?DgX`?rW!-p^$WaHkzK?qb?YcqU z<&UW@+DfOh^q>e=W!RD@DR!I+#;K(SMZ1+Y-h0^^Kaqr%t-#k&PeNwv2bCl+c=Y*D z{IRHY(=9=xeWm-)lkru}03D*THJ$J|0xvon^4A@h8H&>VA7q2`U}qm&9qKNlMp%`v zNid6FUW-bAFu*k^QgzihARJ9GvFyPkryD#wUd7w{L+F*Tz1ZN{bns13W8_V78+oSU zi(=o>q*lDoW}t{_e+fSJwCrn^0%V|^#o*I+soY;6h(tRrk@vidCuCN6xApRz#mKfgaWvk1L931=PNrk)2SGIqAK9{gkLA8@Mb|vr~IeXfOvjB zZXA}6QPNjdk|LO4%o=W^24NC~rWtC0b)JmL9Z>)UhHS7g0N4Lo_PkinO+4H^c634{ zL9X~TU(O)!ANNH8vBN3mS^O*>aE$4#4VI_?e8&{Hgy7<&|Y5xXEjOckt zr5I9w1fe3W;416S z2KW-qK2{Ko?;-nWE}okS*D(-qQ_bfF0ul$;xk?Ouh85KcZ}7F{uPHlM9RuF9P=_NZ zofF0|-F5JR`f8ZA#Ly(Dj`rd@z|u~**MT?$3h~fYM$~&@>fIuPNEqHXljiyVcD62?(k=LAGSBdHZPvikTE%~v)^ z_9`c+NKSyo~ODaFBhBrwsx?I&OVdfTAR-8(*j z4}#FrMhTSnJ8%gY6-Qz?6lAkrq(dlR`F$qj`*9gIP(}^yYz0w-w%z0#ZGS}S9Rx^$ zWag2kL!n5>@N^lY8Gr_i8lvrhC|?6D_0Qj!#ul*aDCZz@UhYk2-SHg*NRn#6AwN0ioI|NV!t2iEN%YS&wM6lIEO+r;U0qhy@(B}6vN$qG{&yJs0*v@ z%f)U(Mr3;9jYhF6<`Y6C@(KOJlREeO8GV_XMEi`!=f*GInDFI_ALqkP-wh(m`hkBm z{HQ`x#*+&JN33S?+#M*4^`W$FnjUoCc>zPFkkW64beZ|(X7Q}xgg47(T)iD_y&l5_ z1cRrCPQQ4XaL2Tyf*_N=oIL(}037Pd`gyQEPRH7j4kf6%zfCfv42X$B1q)2>tty#XexfZ6r0r_!tiIdgQMXF* zs0UIG=MVOzV&c{1&;GN)e7i!KT<+iE>J+B@F)=l#eBB~ zUZhTzezgE45G%C$Fu+oIy`gOE;S@sW$E!C}S zL~`hEkMiNB{E)zS?zl9yFtw!p4?`t(aYUzgIX8(ISJqWep0`)KbP`^{4xE9Ja%3L2z{sZ{{| zq>?A4OFI9&UHhZ`)96|Zf(^fg9QQ}2avUeH&dlaoN5}N$Js*60B;#J;9UZT5GqxW0 zg+B&QNS5zW1{fW{%OxpcQ}g_a;mki&tBq^Z`)TlxBs1Xw?r527u*7_WM+__L?=4|i z@jm_Oye1sEyN`Bb!2Zg(FBE!iL{8PG!6gSh>MXRk)EB{l{o&8b9Cf6gfvN*a{)4fI z*jFgDfbxbLYhIP@LG81+tL9KlOnvbj4~U*fSvCaZBS5Eh3%5y(68lq$Hmn^C0Pp2u zIi8vjLmZEmRt){Suwb*$IOo!}g;g3=2m@5-xg9ZZ-<@_xPm7T;O*WyP+9D%$HQAki z8bL4NV`?a&+LOkPb7Huhx2(>azUw78DpP1%AJS7o3ExCd1-q8Rx3IIVr7xXqB?;nvuK^~jnIl$+CqCndX)NCm(IoIA(eN$W6 z=|NqhF7$k;H3kSr{!EbVUs7HJ-8|`jW^n3FK&_M<3PTVFcF?9<9gHO7J)>L7e}n4u^3Z(*suj}_#)=C#+ zU=s&dn1^HsA?ffYpFJ`Nd3!s9udMug`Xv^(@HS{){M$kQwtPem!oOM>*ny6#=YP8E z<5L0&7xG)vO9+L~$jxYuUVcP>UY>bd=s3oGnoRL`6qlAL*3F?x>$?hWfb7Z*kO=yE zVZ^HKFCfa^0^~B{hJ#jEdn*?;w__COKU?F52-NR-Z-?nvVQoCBP_efAy+`~p?Bl0( z0fw1Qh1R-&Y=aQn4`s+q8t=DcRaiI3|5X$P8aLn3L4CUHM4F$+9?C9L^Q0>T^O>CT zvXRMTUA@@*@80WlWX#d>)S4ualk*v&E}6Ep2qgpSf0+ImL184fndj<`z-Gwm+j+e| z_J2@MN(@I-t9HrNHVd2@rWbNrJ#_6TY*-bS;CnuR$R;?1HjJP$wDCcTxNF?ht>U_w z6WR3_(@TgfOO4$fm9O#;x(*XrFik>?U|aviRm~QYuK33pec}llA8bhw9ZMl*FdaSh z;=aQm?!3-zcckd2-Fk;W*A?a0B>p!GUyDY;+p@OZ?~bj-c>T5v|Ii^iV5oS%6=ph{3~rfa*)Nq+p9y zTJo61`W%v@?zQTS?!#foM#c?6LI=GAku7O=4kepgj%FkeVpF=4ExTEAGM;H&SsE!c zkW_HS0TSxEob?R^)J}(D1M&wS9?%t~O>3Baey%eRtN;OXsd3jT1`qlAQ%r)|9b;dU|zFL>!X} zdwgpoa|>@Fh%avBDQj*MeX(D)RzAG+7FIfozWU+Oz&ckVAOI~8fGIui=5)$v(X31k zXG@X!{h{%2#6@|8VFST`+sKnF7z^w4+#J=I;W=Iu%-N~MzZs%z=S_+tiOZ`2d?joE zZd!E48aExQW{>U~QhcFz8AtR~{Ig9zz1r$@izhBaU%tmv{KzEro`14ZQPQ)^H$8<` z?5OJ&UKUC&ptnySLl7#XOf);{h5mV|Z1H|zvve(ie!-xw-B2nH-k@|~W&tNuiBS)~ zXqO2!PzbgI0Q$`0j$7X(L$b~cIXN;`Z9s$qtZE2cGieIi0Qjv7>!jekY;!2*?gUiD z&4Ik)bR$IvF=)VcL7xN71C+aV#F2C3{7yrYyr$qudH(SPeD zr=v4wyiGY?$?9rGv_$oY91OxMR#*MEFDF?RKJ80r0B2eDaK(1$XPYKo&d7AL-Kh*J zu9WZ?zm~~nTfWN1uY>bQQ*D`Avjly`)^n@PC{g>?uF*~(UhP&Nr8zK#H2;Mi+b;Ab zANXp^s^kgh9LUQanrw>Dcp3L&(!x!P*EX5tzc@y(32EaO$+>e1IuXm{A6FstyLWUz zfXUZ-{cu}3bp~mhD1+|g+2Ck)z`rqRb4O=LIIu7@P|{Hi@3I=b8bi8 z-GxUQbq~B$yODby4sd(ic^}aHs?erhp7DO3)9%6E5A7%yItmXA+-70q+Ak#WKt6`s z6@*#BDoZAh?R&%4uH5%ZaHNu-_d_?G3YLnJWf&i;VL^H!ezp;gkC#$@DONC)4C-vW zPSEy^IiKfR95=jwox40aAH!rvlPtlwyJPWX&X{OPz3>?oN3WM*y5WWd3-CYLhOtg; zzdbXh8HZi+zUD$ITz@VBKyTu`rf(riEj#C_*&B;#ptD#WcxJqx8AoQUY5ixbI_~PL z!(BaBc2j}|`jSorH(_`N?pF)yk`3Km%TMoPpy21wHwL!2%gnU|8ojZ!S)a)>Mvy&0 zwPMJH7L*p05QXAh?2y%4>Up%{C@VFG(?Sns)!jC!BA4h5m%4SsQ~#f;Orc0jdnC8; z+!<`uzIAU@rQ!2WmtFK6I1&RcjT1uElc5C3-sunEE=7fjfmNw#^$L}`ZA{?iET6K5 zgtA!MQ+A=61jvpj%6wVWO;nVJxlq=Zf*N@sVC%Za>ApE$Y!01{Aa9tGCe?OE2fRSM z6rbCV13wT3q;Pc1mb_oD+`l2g3fyzF8fap>%of>)bLKMy1{B}bU<&qGpp3=Y2=R#S z=kL4roV!oW>O1Z}56G=1x4W*Wm|i6Kef%Gowr#TDZdLO6 zNyPuTU^5~|thy1k$43e18~j9q4C90xX(vp4eQu)-3bDQcT4QJ3-YRjn!~F<9H1FL|?|&3>Q6_45bL{f}Wb_|A5z+@oTX zucKR3h>b`jRO$B_LFYq+($OW%RB?h4x{Q!QcpXMCEEPG>9r!+KMDvY}@#VzamZygH zG(D}>7Vd(eWVVxMwS8Dsx;&zMU2Wz@tR;QH6vh>OtEba%caCYIi+HpNui=OV8Z_Tl z{0k4;?FG;@aPjVV7AGy(4DIe3v-)D$MKz9*IBw{>BE&K8C<@=cJFIwRbtB#eX2oJ%i;Zy@_;+2q zVbwWgyOE$QTfXFbm(_N!B(4s)_}0Ys+}&O%Mb# z>r`eY9w#(n%ngh|C9OZ>mJdUdY}lZVtDY|7W>v{nd|y0LnS}>YsBdo^E{nHGngF&z?UFk!&&OG@$FFB%<2?bF7v6=07d1wYI0dJ!xIY{t;H`+U1{(H2>KZq zfubTvQVezBn~7`QyH2u0Yknh2du_XVdXW$nOCDEMg-jYm{NgAgFqY&F4X}>o|AoY} z{XdX+MtWwB|Ed&;J{VXJBKZ=lK6c;@eG>u_s$uBD=bl+Pk{6?AnW=A)F8O%@hEDajaahH*Hzq|(aTScfDQrXf&YLkXK(dUo$|l3u#Syw zu0Rakr4k%n9~_!mS^@twf}%oB<|O?ZNi+cO{83+Lb#Gr=0rHbb_Hn8hsrW}Wu4c@k z^W9v5(u1u1VO0UlsQgjI;qq%JiV7g(m*iJemyGp&wA7b|Mn*Pn{MyAWEG?!OfQw0# zn~eeRaZLTQTT55-`ZV#&*nU^10Z?k#{_;5O0{j+JOqz+CpI408*MF}8`vLDkIy$y~ zDZcc!&G*s)e`RiHRwidQ9_oMqJhAB4MdD*-rlz7+HivMgFRx8!E)Va~_-L@S-2Bs; zvUv7ymSBznKC2jTWmD~LK(_pUb@%5A0Ftd~_+@YN`6L=={kU-UG(S?GO~L=7*0qTG z{Z^gdxv=+Pfquj=u=2n3IwUPEB>}|pYmm^7L7W@ip+SHLaBl&c`mF8x@TEHYAOisu zacyn=EXn`srf&31e$zUOpSEVBvA@3q{-+bqPX_0<=l6Wd*Jg8YeQbLL>-y&<0^dKm z3iurMznplN-Cg2I1Je8ouNGbuM2s>xZ~Eqg;?&w!uEpN5>ErUZQd+${7y{61KH zUxf1LgyQ7J!b408*J9qQ#8&SM5cK# zC7@#bZ{9f@(qf;@Dn7kG4uB)5e>aWw`fu`=6pi0Bw%@d!&HbB`gDapqAkMbHZ>ws4 z8yqp8TRs^Cfa?>$$Jfu&Lmos#5S+e+6`(KD=T<%bPfKTDQVJ9QzTFd6(x1yu9LV_} zrgCT-MT@hm<2|5yV0HYua`u2-VE*5q+3assYIRsp5Y#+^@ZTQI&mDVyQBBaCpXjez zIPE!{h9`;{n^^vk--q>%iA|3{s%5MG{{T@yuD=VLzdQT4{qI^5PSy?}01F2mHZ|(Rm;%{g0hcmm87B*8OIs&v04EPG0O;lh^g&{O69gv@55SM(P1}|r@4plSU}JT12EU~M zTs*-304rxVq(7(1#{poI`(yeWaRJyA{)PDY0BpMdLIQ6H_;17yU^D+W5&*DS{0nig zvjf;H{{i1>fc^nF0c=+PfNwRe{{guHY&QRZJODP^f50~q_WyuyEFAs;-)K1g8*;qS zaQX*)qv8Ay_(sF!U-0c1*j#{b7mx$U3jA*?$NyOWmh=CbdEY3%4W;{Er~B^(-)(*`jg9wT@IN)7_UCT=YwX$oEt3CvH2%VxU^i!b zkgl!e+k^R!5M?0P&DPtH{cUDB-t2Eb|NEcue-xnk_jU7+Y)MIHZ$B1p9)17|r@))I zxcGVhw2#OCKXNVpzQ6yvFW%JrzxdDP2>^k-K^92M3(gioVRq?F5oG}~1=HoQGy<%@ zD)B`1-X+5d<=Ff)}sl-b$Hom{ZKXa+frTp z2QWZ6fEZ0iVk}pORXZe0c`2y8i<05+U2eX93HNMPTXGv2Kzr;+N}!|rKAv;(74tHU z(x|*`Ef3bK=sQO7rb2uC^?cY|xU-q51 z2?V_Wcr_MwOzhm-Ojzy5!j%4#?V+FSAXK`dS(3R0&bJ{gigZV8mVOnQSgE0XMAzd4>fk*u*!6ij=& zrr$Iawxk+YzoVX#%P~zYoEb*x23FQorvDz3RU`IbmzE?Gi3%eJibw+4+=C%yKVvM; z^VNQzOGzuM5W{9ED`?QKy;Iu>CbA3t;5Q$J0*7N#|H!5rl!Jx*Nk~GH>(g#JciPxo zRY_wtqC#9GblSt?J<(QGi>)yPm({h}-t{YJe;VWS_-M;W2otkxe+UWO@%1xwFY*3R z-$wBq2R7Wy)h0)`V%dz0blil|9)*{ilCUo^1-b`KEwNo+b3|)jb3g8i1%N)o&#H2a6qvBeGJia zmA{GVpTE4cm2dQYafeH(qt)nZ&vi;OBPR0B+LAC0ABzDAuU1e~V=PtSc}gq1Uq+rz zV=*_S_1(FPzgDKUazw+-%RA;yODUMNo!TdUGciZ_(AA1<gMB?pHZT2M|xdm z@|@@*!}$6H?V)i3hA~2jBz5We#_|q>7J{q`xf3;8tOv<-rQ@8T(1?lyn?JuBuG7&tzM6L#~nWk$54NJMO{tos6fDwP(x# z?I!|Ly;Ifg>lxxyUu zXx}9FoV#p-L>V;C<7$KS5h&q;`^cqa#!~tGLt(WsJ;>GNf=ny0f9^{Puz$`cVTI>% zXFha~nLBETIf>uTcu*`Q>_+c;m2WSPaBuJj{cR*X^LQrPl3V1k8`47`$v2k*=BL|A zj<}6a?peIhNrzR{S*izIy(rV+%AYl#M>tc|{U~?>FhtZPKRvvUX3?=5j#%!S3H(eo z7;{u(;7isN=UcOo2X1y6X*fW)tB`2@8h4Th9)%$0ppa;D7-;<*j`GegdV%3vT1J>`$1^*HyopFiDSm|WZt$jsSv$6l*nLM&LmyhzkNBl>1qN;y z6O}$(iZ;qj9E^$w3RfvcqN0eO29+9%hm)Ma_hm&WZP&)zdGWP&3@wB}!_RBF?M(M5 z&PFDF8$#xUrSX@~m+rCAY=xW~CLh=XHOCFGQCkq1+*F8_M<03o;s=|IP zuaMX`{DKMhUUbb>y1ifM!|`qGRcjwODsK+Gnz~|JngtNcG4Y#YwBZPua8dF*qsFQlUu^r1Wc9CwbVUN=R~`q+bw0uIJ$M_r2x4n+!@Xr=NMOT=`0@fn)iPuah-D z4&$|xR(ThP!=TmsJAu6CyyUc<95O>jp?(du6zw|$%gRtbA^e0PHj9vrQdN_7idu=Q zuRng)t~Ih{73Lv-nKLo61qafY8*8qex9;%UcOybFZK7M!f{;oSgh;`42aUYQpbEkv%jXi@<4w)75 z^25Sj_1%D0mmbafWXFe~fR@)#u%gD7tO}%x`EwXvITotmjW1cTLSqqd_Qn>WT`w)cA-s_r#ioQEi^ zJv3nY7Zo0a4{$gRcsch_KEgD!5Hq0#K?5eUv7?R=?n~K4s$w@z!}Fyk0uu0_S{hDt z7YB(^T+-PhZoJ$?w?(FmSgDnVwRLW+hE9T`#iMIa2zOa3nHh6j$#&f4BEJYK;bX3n zNgp!NJM4qP-2l|@az5?8q_dFx!vbhOsVyV7TW6& z)RwI$nP4wb0o`H<18en*D}d+keiB!@;v`>oi_QQF9Y$yP&7&`{aX{G%!>h?{Lg zGty#reX$kNL@BYhq`9@+Q%vXe^)Mke4aM*SCBFi`uH2B25 zWCD9Wy^x-b%L~ZZ0s+hM2eX2bT_tc-0*)f?l9x_(uO;*}?D;nqZxx5%iz5_@Hv^QIJz^0$eML&lcg3`cXs z5!I9-vPtqMPnA+V!)th6`?(XbakeKOTuKv}kb=(*7#MyXU5ch+aaVmv2~dK&Z5=%s z{H}+tF&>+*LsB0bIg6r0yHu5Sg+ul8%=e2H`ZdL95D4I7(^r&h%0eX^kl<&9LdsQ6 z-jjj%=2g^tUh8kDcav1pH*dt@TW7`q44230*UFJm7-_24dtx;7hFWYK>`j$nMKa$| zsBL%WIMODyOEyBk7Ow@?#L-{h*QsmGy?RK~SL04E-i5kH{Kj09K3aQ#ZMlsw+n^_(jjT__Xu_co``Xv71 zvEEa0xv=_J-I9Tn^_!0*RTOzW(BObD)Ou+C-H;lPS!#F4M1}7u&y4hKgjE5i4AgoQ|Q7On= z^GfHo*}}_VQRJk|`Gj=+-74V^8^z|$+^o+d$U>uy(WMa*&GtT9KBT1fl}N`(lnd;- zSIWc58y_0(I1==iGI~rTg%NUo52;D{rkTZI6C2Sj2abhCQp7E*T+oI2$~VbBBbzM> zQIiTv24)e>I!$Pr$oBFfybCp2?H0%Y7$1_mgeon$Q*G>H>W6x@EU3?7vheoSsIsPz(&#=GP%VUSLtmPZOTMn)eJ^ORG#NKl+MUow z_<|q>n<3#{<#06#8zW-ccfmfZ*Cza1rZ%yXubYRhp-gfdeww;j(`8SM$1p$|so=}U zF&e?RTyx7BIR}>Tpy^nDVE&(DxM{@iqd#sC=+&+h7eYyXfElwO_Fop73 zR+ul7mkGpv$szG35$>`yKxg6+7GU-V!%=n1))-^vv<8g-M$Cci0y`|zL28vV%W8ff zX9kUW)~wd0TFht!A>B#0&aq7;csC7b$YqhK52*@mI}7wQW@Gph(7C^=LE@yb0#W_8 ze>K8BF+`n1so8GdAE6!DY*fKv7c;X%^zb3FPM3*ASVo4R+CTYiw3DkVf3Q`fl=u!n zo@L9xIEKSEPLDnbNlVxfbu+5C6=g~#3*a&p-VX0uJHB`aVw@|@Fs(gE^rnUWj7{GP zF|DMS0TS&&x?HMGv_Z8i@n*P=K7OD8mJy6B3Y_d&1dW@{u;O`tzwG$w!xUcU5A%7P z*bx0kz)^?!3PrX0>$!Tga|6*1e*7kEO0D*84#fFpXKkkOf0yuH2EW=r%?7 zOc?vER0R<3sL%pkM1+7HmF(#6=TKa=Z7Q+xK0V(wnivve4phf3KCb!|AELa|^q_d5 z`W=e)vSf=tF!`FfITMF|usn*9Dj}bkWT{r=63ysQc@!!CDKF@ji3MO0PczTr>yK48#&x!&zKsHFwg}$#7JocUR)u<&Nd97W!MW&{khJGu3fwjY0I)8rD z=$K0UoL2T^v;0(q@4%Au05aXFpzp^VEs(X_4LogdW*3%n4)_U%pW-BgJWZs>EbFN` zaS)N6S+&^T5UQ5B`8De*b0queTFJkEXO7aLmV4$B_yxuDq41d7J!u_PK;Ke`gIWvg zBOrV*<4idKR5d(_r|HggNUyhIVbkw)7D>~T?=_p*d&bI7Ml zQV6UY)sEj~b&HJ*;3sYMdKaq6|_^vC|@Tr$TJ=KqO$0= zz$c^R8LK$Oc*%&zB@xHIqoA&>WwE(iTym{X&x&fLFt zoa(?wk5J}4()LwmRg2}ZZtXmjhn`$}?8UP%3U_daN__~niJ^lNKGCUCJ+a~4daX5E z)oD&UMxZPqw2{-nRv$+JT@xqDjIPjzm=%82Txdsv_WO->2%U(63%vt1Nf<^3lN^3vP1^<*40xBaMjoenNX_tE{~ zakFBKg-jk7f=vMtV#c28{2g9)Q|Xk^U(oK~+kM2j$jAY-;BoT6l)8`m?axlH);4HU zNBdjD11wEE=_AUvV_zNJx~fhbPN+2piK~Z^KW3}(B3$rHQ2J$voiV;oy-c{9AHUuR zx+aHUo>2Br24S3#X-QV)m8Ui;jj0lnyAeU9k(fU$NojLy+*D5fPVb7!&bWOtC;us% z-u)vTK4`mZCVyW`NTwM<`+jT9q>gB(=ZjfqtxuX9fJ;|V7Wn#XbnH{P9{`pz{-B=$%n(Qj3bmZ)O%G+8b zhRqM4zyzK~-7xoH`Cg8C5Y5aT^#KQSl6=e+c9q5oF46%$-IWywfV1i;JaLh(~=H#G{-8{>AACRKS1zDS7w9VI!773CQ;kfR~j^jCCIXdS+9&} zQ5us%s3lq(!E1Hu!oUI_CktUhm-`eGM5fusg?#_T1o%=UFb593Qf3b2lTgf%-t7rQ ze0IW};M%sQDH$bdS`Gr#j;ba8@3{{@9V$&^=u3zMl)ug8&3b3dWLdJW=G_t_sK^LP zRG|+kl`1!2tBN`S@{(ES!xE6IJ2?syoktDv7d9E4Oq=q(9e-K^DD`Y8sVklv-diBc zM`y@)8C+HbY22c6OF?EJRi9h&>DgTq=x8tErqH2&Gv{AJyYS0iGjcF^H?l*rRe90F znB{iWXSs{w`^z5T^2=8~S+&(Nm(pkvnzgP?ovI3emnWN|YXmb4zp{Wi@${3%SZb6j z(@M%EmBivnD$T%;%Jif;ZE01q2P=&CB5f`2()yM=w1lapvRdvnh$k@hV2YZwfssEe zPo%IECH>02;eeJ!qZgs*ZFzA6U{1KuvHEYv-65oT^E2;5+#T8rPF6%FoI6MlHF7;I z?**|02e^HT!g%HTKNX!<@Y>9onNO5un~Y0PW*h+L3b>*|FJhsNk)n(SQ~5hM1ST@V zJ8j`I261@f>RXx^D>?8yN1T&=s8v;gWQKW&X!^Arm@7QJc4CntH(sykFZWxM+lYRu z=)16^^3@8MOpk_@)Eb_Pw9zH4o`6Cf_domZJRD=Qdw<`~ZQW)mice+%MAmVi$Rc8tnh20fW(Nkg+>+QC^q z$bW{1L{hz2@s*87ZK9PM<&%gS`pD`O%D}>bULxVA<{Xv?(jn@!aIrS>zfsI$3|q=o&vs{x_K-V81~Jff_a4<)h$ zBor~#24A&K;Td)3S01i}!WM#0*=elsk<$!J@mfXdCFUb>H&Q{;Rc?*@yS2}xbbPM^9L-Vc@~V7h5st|I-) zp$oEd>@Ma;Wcvnk3-h2hGH?aQHXJD;So zY^%-13qOJNK99u&%H@|DyS>j&JT*HE;Vl$$mf)wh%HF|v_1rHAv!TyrbMBVS;lzBt z(n)&TOLQ|4)=2lo?n~ox@IFwpNf3yza|tUt4=e`jvFIiI6qQnCR2f)ehz9TcN2h7q zh)&LBTgZY66Oq8&iSR4kyqqexP!PHmTzU>RI|S34y8MzXtsl@QJf zHNmdstj4m$ds>&tb)EW8!~H+PQc4);(s%lyT@@p@jhZ%T(jq%kFwc(pe zdgaStH|YfW*ZphnNcqHlbXRo7YR05kj;KS~Tcqo;^LFQ=Y?i{|)3ng?pS1TX))!T2--g|>~ zFY0Eq<_k`-sKe-M`%PXfR+$+54eedSl_;c-iMdVVUKFP7m$L=r`GgCde0Bw7rlIDd zy%+@kdAPmyB26!|CD<_%_O|6HE1d$wA2Ey{VZQsTAhUeh$vlyn0JRN7!*pyKq) zz|QhMOss!|VjKyF^MylPAQ{;!HgheRH9Ns;T|seh+z3#X%cq8YkE16PvEfmI4_A&3 zqseiG;@KK9b|<8app*vDx%d^&uDN4u2>!vte(_8`vi8FjpBQ~UH0qY`z6ozaNJb~) z^W1xMlCivB;vDl)?OMzBb9{}}M>&gk_+)YJ{fkAU+ge4%VG)ZO(}Y+f2gxm^$SDH) z;{w~^zb!lIh$IzK(SI?dTYl>bK)O{$U|`$+qDRbg+)0u3-mdR)j=zn()O;?h`Kv** z$Ah0ny?9?(co#7XOm*8d!-@6V1LA6{HZGr=6|}8$EKIgiM{6~JiJsQ#_sjsP6Z;v7 z)}>uc&W2pt6^V4N2sc0icT#9u@cK7q>;f`i^UoMGXU@?{~MGvx2&#+?P~tFUF4r()Qpq zt;zc*HIJQ8+qdF{gt?C#w(oA;zT|hDZr;inZuu_13)D+CX3Rjk*a)s-dohN3sR>7-(ibE5^oL`5>l!tI6KmIxg;T{PII;nBU3}k}H~F-KXV=nANv=!b%nl zE6Mzo2_TRZ7-t&xW8a%tj{vTLACgVRcg>A0MEgfEG&Uqc^o#!X5Mxx$@m07)6>%La z34gz$t%(hp77N;5GD}OUKaq6$6D^Y?6RmSIw_zdvulRS-Vu^AP-~%s%pRUFii6Ds| zX}#tu1$GG8e*hO=lKj)(Gg zm2DNafjUps$I_C3scTQn+0Fy*N!DHZNZCy)q8|jqgo-C|1lYsM?Kc6AJQ7KMVx0Vj zv0n&Ri5L#^G~Fgvem5At$d+Rge$Tb5tt!^NxSZJ3_fBA7`|F?*>Lt`~)$>?^MSc-F z?4A1XEae^6#Q~knB5+jHrK)O!GyM4M?SiuL*OywHy}ffy{gmoa`1AEVn}PXbu}&r>F!z1WPcSCVN=db_)o)UPV#E(tytS zM{$pKN*+isaNC5>J#IMP!8?MSkKr~Lm4Sro6NyLKr@Q7xOnqYYXY+`-&oKVpl2tu* zU#}`+#^O(na;@P>xlOO5ZlN46q5C|TxPQ{KsKY@n{#a^uvtGWf+}fY->h1YqB(HzD z84^-;t}@?8D~Y+X3=gmPqe9D&$J5&m*)hyM`%6#Y2Y(OhIsZXHag-@7zN5}qMi{n= zS9$&r44x1`PIkS1loALQL&p}2CE`GcU>Y2i(}jj5mfjoatzIFO^is1`2tU+Udy^&g zun8Ja`GxrbW6IA*ig&_*dMmsJJ3nNi2Pv`ZP;ftbm0$MgLx&mTq0Z+#0yry!k&pNd z{_X8Z4hWiqNU%8UHgM@YYS3u=4j>zM<#F;_54vT-YmBMaaBWLMOnwIF$5Hx7HaCc| z_!8+UPCPj3$L3qIpbes9#&*Q>hX7vIPV!Hv8;v<%LbGpByRn^qEDCnx%pR##LcAEN zaX4*rW9@!La%4+XO*9LoWMW=oPyrH8>`TSD`kz;~WZTy5Lgq zzOKk$B;ZQ3uHc^$$(yidbL1%g8jgZ2z=3 z;~m#oG>uN;56RO#(a=;=lK0TnIUX-6AZ%$+T3A$0%=ILuXC6Wv@Oo!f5}<8sJP{Ka z@d@3J%~Zg92cXS!&k~=X9+DSn0Dg(Mo+hGOe4nmXfe{1hfVFHe_Bhl%aCO#6X8hW$`ZveeiJ8 zfMYFG-XKNQoFA#r=E>AaJZS}Oa*SOiL8rXpIWS;fARC8!Wcb_1Tn}PDj!{IW6ScG) ze4x0Y0)ci|e1@Up4DEp(01uvva(GUzPVxi;lP&s%a=cMxdstn(&^t>P-_Kuqd8m0H zua~|b_zF&R3a z`}&;;lj20bdLQYp>o&pyFZ~1L`HnX8inVskJFNqf(%>{=$Jm^N1eOSrk%+&I&*$zO z;&+S)l;QJ(FRnC>+PF;E_-xq*y#S-4SQW^JXiA_a-{~D^OTn}rW~!8-(UUUX}G_(&qF62-td`-;m;9Y--zH+yst@x5I!}e($kbO=7oMw z)2f$}TlqX-vvioVN_4to^7}AdnrmO1QZigu>v^bCbI_D5*v(Y?+dQ}JM!+jueNDGS zOTFwN0imdsx0OCDstw3VD|*0+^&;s|jTzBTB$;Xl8)&L4;O%XW4#Qf4uTMqp&Rac) z^3Yp6pz(WD5j&K#&2!QMjgt}ubvz$Wi1#Ieo~@LMea$NPi~2rIvsz$*@#|!_#JtP{ z65dJqI^k78Md}BW)?@}feN))4oMvL@&i)vI?PA!mxx#}H+;;dgB(q68IV(!lX!wei zQnMeGgVCKCeo!w%!@!`KlYN6Dmnu#^WvxQ`*^%>$kWHe>CQOgpoV%y$ryj~828U5x z2IFn(`@{N}2!$2Uwfx{oGVD-e=EqMPt*RS}NMGd@Cl*}S;$!b6yK+&eOs>DJu=;Mf z=pc{{o0N{EsS?mZR%Dh4o#hh^e?K22G4Ic|qZ@B{+P(NlJbp0;gjK6~xSeZ-35^BO z9O^V3^Mb}6lyz7)3vL0P=dV+_fRc_8SfvfiL> zuQA8<`WoSh9#LtL6m2f1A5~q0rP6?0QL+={MVtN3qHCDbo|;e^Za+VK97e=tEo?p1 zDXh|}SSQ=3x`wqQrEOQP6Va5?mJCkjZ78G8;;8#>33+7T4&h4(^g?-2>xsDpj$3 z-lt%ZSBV_x;z&pO7N_nH3!t+P(C4o%>!&M#ozQk6Wac8qSoteq9h{_f@B)tp99(fn zdMs$X>7e5|aS6U{Pa~w=f*=LccIW~tgM7t;09R`9UGm)SOli}ALjcK6b69&!O>2>MVmacPGbE-se-=CAQ*VOcMnm|viKpso85fnLCju*eh7f~`RQ;_ExE$d@pJKSyUUif2 zNy#B#*>A=W-$IhPHh7z_xbS0ixK$DE4>}@~RfSq1@JaFux@pn*-%nzEBY!1?fWdVg!w^?8Rd zz2mwX!+k`z^kUIcWRJoHTKA{=XC%yC0lp_kn=_zq?+sI$XtTd-8haNy!+oZ{b$f+^ z&F?$d2^m%WfT4of?=XivpRGo071Bxt4iHWh;d6PJJNRslC?OPGXUS4(9H6fV`rN}r z1~6Z}63;12w#PM3d;&adZ*eU~>Vmg4A@V;;5v_(wAO`#rzf33szvHlp#YOYVUC(Y7 zJk7(y-QT#SEuZ8O5|ksR9}_n_&r-GPQ-Rv2z!Rt=kHe~pW~Yea7Seh0MTJPUCF|+u zHK(=Jjb${0z@-K{t}zjQz9lv#=WUXoiptx50u)0oN08b~j@Zl(Da7h)ZkraT%`04X zwoto#+0#1WOM8Os`KJ6~cb-?a(pUcT`4;@XuZ8HBUTZr@BP>sddv!5y+pTj5#uz!8 zyIUb84ViN)81yVT<=9jD_p%uHSJ5Bm_2X2TKczC|T0LM5e;QGAw4J(FqeJbj5Mr>* zE0d$-9y17I^8BPWn>@12917y-pi+NWJEpq9>cBeZ%A21>>ken%$I3=ZsuIoH>4?PX z8EJ<@8*NI0nKO^nDJW~A?m)f^EQJxI6n~m3mQutMD6weRI1PBjpm*L0N+gY?-QwRS zP87H@SA3}Th(U#`B$#xZv!a62ATft=JAf|ynGE;K6jCPMmgwUvW@F;QUHfKbrYLdV z_iTqMNDod;jt8;^h|jNtk0#QEE^f2779u+apT^)~(>&^YKl>&M zYg0x)^$jz{1&?wmC6p`+$FiJHKV{jtwZZTKe9udS3hJbzps)0BG?2~|V0}L#T@Z;4 z`I_Zuv!tYmp^k?z+`72XhP+wFZ}ohJLVPG>Ua4UA5y5W?_p^y7;xEA=gjX9p{YbZM zW+IT>D#VK~MdYjwD*`{;hjh{1+ncc@&IEuNT`d4gsWsSkn5Q_^Q^d$xK8!I zt&v~wZ&xOpxood+x8O8KLWq|I53H~pwX)A@jqj?b3n71AYn6J1=-GtRcTmT#HP&je zn$&(TUS*DD^XZq3yl|CTX;UqrEM3pR+3b5SUVIgo84Hdxn`W|GmimN?P~v{@Nn;L9 zX(Eod`qPpc{Gr$2$u!)S6!Nbg!8%S1xPZ@=SFz$lA0rfiR-c7P`dhq3VSnk!7qN2; zva%WoLaKk#ZdmP!S zS{84juzGy2gkTttjKSVs*fcIIOkeUlyic%G_5GL_*rpvVFc3u3 z6R{TXnBi--We^kQQ`W>OAIIZCE3jRnoaVWEn3DWmHQB(=4Ch`U=0JX+hmUI$VT+)G zLl?7!-J!+Fq{P9e-fL-=eR)vr}=8gNzAOzwH#9wVnR_ zHlNqNSto70fXP7h{gy$WXrPB-Dt)(q42Z84*i!T$l?ziThrmEDX15vGzZ>MgLzg3~^RkhO} z+VV4DiMw^6QWRyJ!8)fYd>e8-ew130%$VbKx5us3PR3%~BgON73IikCROOy2uli!z zUY9wD&9T|Y$<>2?sTw(o1Tx|_Py-t! zZYI;DMvQ;*Iza`ygmgJ?)k-Q9h9QhxaF0pe0VG!x#O)#Ke*E(L;BBhFq>QvSLlPwC zvD=WIKJE&~k7EnPWkXSVV_-c+>Mc4{XDG#95IEA?O*JWVQvdNg;^WNEddci@_Av9* zZg#W7(LH&Vp0AKKz(Ys{l=vHTbJ_4y6IlAMpe{b)g?R5(M&rldw*Av=uXFXJFYnvC z-DsKg@I3J$vrbUwwW>HOG7|MDIx%5z(F@-V4zADk(u?n_f@FzJacVr#mRsp(BpQp5 z#7r{Tg)>UgJg4}}4P`&1xPePJg9Q}|-A|eiqwF1I%ydHGfCoNeB%b~Gx?pQ+=AJgW z2Fy*yEPhX6p7eg*idkd(_%ZJT^2V0=AtvZXV#0ci#?=DRZUo3 z*a2Gx_S&XB>x`K}dPAzJ^5h}@okq4_QHqw68W}rD`>ZcH@W0 zu3!CnvNeO43E9Pmw>0}NPLXTNE2M1*Q$L4RXIn()ix%9Wbq;rl?%6oot-#}-$bdg z)tJb!;vV=URGWW+aay8hcJYNIZbrt03VjPWFZw*6~+%`b^{;B)^z$)^Kf^?14&Xa!ihY4pbWYdsIl_NjMIzEx2DI-OISzRQEMY z#9+w^l6b>WeABD%Zh{nf^?B5pP>Uy{82m4V_8HR#dnXB;2(aAVk@|=!G)kFME5^nK z1bbBzl4q>LRp=H??q|<;=fTF_nu9l3-rPhO1oW02W32KQd4(LX$&A|B-gFYt9C06Y z4Q9nEXnpi4f;agV(c0ZpiC$L&7#GpZ=x*>nVWTf_!T3y#$`1)kLzc{^5ZF-OG^Vw9QtZU=ro*fknI5D`omIuEq*K~T`+1!LnshiNUL~rEs{>kl_?P?2LJ4x z(kxCLRXrvplqY$2!iHxaFMgf~Vie~4NCUZ5iss#`EEPWH$f~RipAHz>72zS`s}h7PWbL^Z{Z9-q)l?adgp~$7GTNnr zA~yK6!dkz=SAtIG=6`$WR4TH(=pE_pSo;oEpND_%8DR{f0FuNV!r}Eaez+AfK_q$) z4ysrbZjS=kjQ=ngJUI--PamYv+G-`E;M5q17f@Hpx|SCgtt3{-Cx!pE*j`XUSf`4U zw0E`^;l55k-;It=CID*^L4e}#V(aJLU3IqZzwn7C3H(s0y|IrnV75?csoOZfrUUE# zE=RU!Sy2GMr27A&|i3^~|epY?9&>MV=*V{Z{S-Io?x*&@<&t)U$l_%~{Ri^l6|bb(o8 zTH#R%VqjiY@&EbiS%1ord|A{OfcwZEL@Y2s6{ig&VNXVlF}9Ie9Ot9RQ%FAA`XP1o*Nr*)MY9{h66+xC2rnSB+Blu3{mv&da)EN# zCqg(!Z3dwf>X1ZB|9bMN%@ekjLT~=dVJNnq>1_g88to(x?}wNjeH_tSn&~fIzw2R*^T7p64;K#o%{9o?i;xElogx) z{mo8icz4EW39)gZpw0bgtKfb+wb8sm-d2Tg^~|ej`6l0?D@MhL>y&>z6701C+i%U} z;MdECa5y&S2?rcyxg|CdF?wwL4Stc`N8M9mgO}8@GQyWrRtKeWp)JwN@sg3sj??^+ z`I$#jvg0v_KJ0!vx#{w%s-k=i?TjFwfZt|ku@mft>8eXvdd<=u!|TfRzLZ3Z&=$=p&ee0G*K|cm9(hL6nL~;n2oy-u14%k%0KQ(_ z<}sN$#CgqJ&k~N5**1b?fU>oFhEusKfCMePNR2H$7=@oqV6j#5Ugxg3@@!Hf7MbPs zC84GcElF{&4>mPllVmjz!#Rr3KC~EZOE2O`k~;=dYA?q#nJscivx(=1#nH;Xy(huJ zX2j{=h?Dokg#}T1r>5RP-giAD)LZmKPhx;azW0YE-3|=0+;OdD-Qvjf@>)k2&ZX>Y zu8lK!Yvb~q8W%D7UPGhDY|B&O_6Yxfd@bjO|J#l+zA;oCXhQSLhv_L1Q>{C%G=w1k zM**nL%`67!2Pjg(tx zrnD_)W;{gYr`v@}BGY>_f$-wXvxuD#*@)@z_7iT?0H;QOSQIR!1Fhei887)-qBIQa zHLcGtm@`3m2oPu1vH^9_?cP{DxV3&x}lHan!WS>cVYS)FlGWd6x#J5N1h%lrUIXShh!OD`^7p10JR(zv*d4$IxhrBD6RGU81t{?()GC*gGP-w z22z9D3xqu2JiP5PS~3qbIS_lJlTA<#Ec&f8+DJcUUF*-b?EgMCrKq3}xe>&_yo$Pa zHH~5LP0^Uls2|N5c^@Q2^GiS5LoZ}sy#xuZszLa0^kAVhJ&m<%a-Cx1HzU%RyB-1r z#okIx8@&xEoVHnx?y1i55(oA^dZI2Ixfzz*(pL#_sqrYgg+I>@>g1$J+ye)1hhg8y#Yz%QUI=n1rcAMw;2>xcAgcQHJ#1v}FQt_h*ewTst{<)9Wbb ze2h7rH4=%`G|pb@LETtN38t+G2{Y)N9FDs>xL7fy>p)JBDV+bAuj-z60j8cz;9El- zK^Hleh3D_NlPM_c!UP;P23nF5NSK^6>^OQ3wjHr01uWe6d+unOTnYyl^1$;htSkDe z1*?cI==<5bw2vwaZOcfIxJjKB2F~9irKZi`%1#D{ejq=gCQEfca$YtIfU$#e$uNr+ zBcK_Sp~7@wjGYdgu0}swzYCFVe*fz!(@F@H+M24?1va?dQsGU-q@u(AQ zQjjI5cna4#VGrE{ht{F{KGiCghi`n@elglVcw$?SDrsR7URsKGS678MXIPYALl0NW zlLssT5Xkr`E@@$-n{tNTHc!b1-qBe`wYA^;W^oukeG>b4ONWaUq)8isu&ROcgB5mV z*WO}GS|4>g4#H(~Dfre!c&GepNw+!%q6t`Y4V&Y2}BzZ5fNh`t?e-+&D2bTl;dOS&J6Wc`dvrn!o}Gsm-M z6s<@`;B!eWa z?eIeqFH$wSO$pbLt%~7B?k`1@Wtg-4kMd!yB9c5qpw|+t+(OycYMOVEbV!>!=aGb{ zACb3A!DCZQXutQ1N3J>#3lTcr-fp!SWy7P(R#u>15V`PDbIgOPZg_`U$6 zte7t!QdI^{s=kATZ#>GllaL@%BT#D7j%eI`^o4MDMm!>f=gL@jL79W0qvNeL`Vql48#dn`x9y;XXDfq`qgsfn8#df+qCqY~(4%3s5psJl$4Hbh~jK}&w;lpB|G(b9%TQ;8CsJtDb>UtV%Kp(Jyd_`r+Lkx@hE#FxlNqryf4lL$PV{HrG`CJw+Shl#qIYcV@iiAZzLQDZ^ z{KjWQrZ`swkl=jBEfW_RAr`ls&olXcot@eUFpt_F)W@r^jZ)Lh)_eNOAEt4oZG$4U z=lXHpwmwm-%1mGTTb#Vei*JMeHr_n~il@B0O-G~aWcjxtzW^^Bmv5jvtDxkq#&=XN zqos)o#{n3+(lt2_WwS;MRm7~nBFxj_t9RP{ct6n^n-5wLBiJ+TvCgB z;AqQX04Ww=(O#N9P%mK$BY_`$kqb`?l&xL8l`&EjG8_iPK`K!ZPewA-9wiqOq4C)v~AnAjY`|LZQHh8iAvkHZQHi<&Hg66)*bZV4&xU@ zoE2w3TQ02H?TfRae8!PCq^-?N=KoSbxc?6ogqf3t^M4r-79tjAR(6j6J^sHc2n!1v z7w7-43esk#n!D3TAFC4#=7Hnkfp~jc8~2|Ng1Wu46Ve3%4F+|4drNSg>`~w{C-Bu3 z(6>;U`ly4JuSv)YheOoXk=(? zEJ{R)=>&$ut+N><7MB~u2SmXDVNL;oK|x^;<{Suy1m^l3C6VWgD4^60&CGP0jKW$*_Qodmj2(=*8}TQON%cB5TLZMrY3$w(&C&P+>nl# z6xNWuV(yTh8NrtdZB3s4bO^i}U_u3nLiqcF(e^;upm-n)*!@0`?>q>h)kQEUXApoJ zO50b);%jjlp*&&x(=YvXG4gDH$>#SI-aZ%@ppFgWkNofZBn{0Zh;1C5@T^cG^7!%4 z{Kojk2(;ll;_CxMwlbhfh)8I7WZ}U9q2pJb8?eXrtJhh-GdAIB*XMHlqqmd4Z(um(A4r%z6pKc@Fhks_<3x5c0TZ45ZVf{ z(Gk=Q5UkH4A78$9*pt({#$FLhM_>@5Uif7J1R?<-Ss{5qGl7I4f#!FHgC86k1KJ-k z%>l3hYy)FcyR!s_=B7tr&kby#{(MN?xv{!IKo%01g$ZkYw1BqI{%L5Y7B(k9;m24d z(Ko6djHx-~J^=GuX(FHs5Cf$8OGouG=AOM7WXlIsCd3N%$BXw2kw@|8x5?}`NoIRw z^v~`%hU5z&{*MAHsg4Y8!Y|V|A};*?o^b_$a5r84F#T3YMO?-LH6|eYol$dg<2>X| zgvbSVe@qe(v<#?Co`JLwyv3jD!^8;8&kA`FbR~3UYk&aG%LUS<`z;S7lzUI`7UcPD z(*`Pz4$f^&2fGPCIVGfJPK?T{ARou;ADjhda&~2V6f*oY1cv41?T`5gnJp7~3$O$+ zGzHq=4rm9u*30z+GIx)M3XqtXfj4CPfc+t5W^Dk%ngPg}LNaLs62_;&48eYK#^DT` zzc`cN`_JDUNFW0jKK8`qfr_UD4}S$p5BK1IBYI_jU9NvSKLJTZ-ed1r%$!3h{kXZ!Fa8d+eu3(xY> z*a>+)+l6jBltM!#p{f81@ua+JvV?pGXP|Pi6h5q>Q@bAe3h%>J)r+h6q`F*2g5=D3 z%UYfgZNswdzX9T$&@V}@_Ce~@Tdw9lzP!XjcF&rjT}@}y*(Yyb8CPg1JJGKzzLsr= zTBjJU61b{w;%M6p-6InWj%RO_&+Amhgd#F*tl{8AnZ=7tuYUYgo6QyAmD<=b588<0 zCw`ky_0la}r=1TZ6%sjX{0UPqNK4_P@&w+)dYn6BO2$oT)Qo45Z=LqlXS2Opv-cL0V!s}^fxm&tVic+cuO+8xMqCN=Rv^Y8UcJBf&X<<* zDG8cJ4mO@$m|eOb)S9S&O_jOKDC@nOl~L8265~yDW)eaA z#i%^n?iJEh7rm^Lj$Ci)jO&Q-uh^R;&EUs7Z4s36q>*3Cr~gpcEo8XnMy5o(sp1oV zy)6X}g%kE*L_jvI!eMuxkeW!Bl`b1iPigeA?#mj9?-tNCA=lTu_u_figyV|N>iwRp zH>7$}t}+cd>3j#ji>Gu6CJG;7)Di3RigLG?Y81^y3=L4ehBtAr3N4Buhp%_hq;!1# zF?Etg-uImY<&}4|Mb{&c>j#4!!@S_o+p5xYe7(@~R)oMx6_L-Z^Q>tPSSRfbf)Fk=MyMi@Z)GE$)^lTGCm)-?QiNrp1Pgum3{y@UH*?1u4 zgrG&u35JgMpgn&CPg>y&zegC*2zGe_jQOV-1+HgF>XJ+De8e&W_Fd^B1M6@wK|VnH zAz&mcmSk^ga$7!dF#G{7{Gq=zKb~4lHhT!oj7%q5U!|4LvC^t`;)UL7dde~afH3MB z4rTL^Pnf`Ce7E^jLWS~U0}|1CCag|9$^8A2$@lHkZ~rrUE*y$^)HE-|qo;as#t)T6 z%u|EY!>6XAs}Cz1cY<(&Fr1UN$`qm_0;K@{$Y2Q6piqhFGdTCYT)fo2f!YFkCw$%R zD<7L))}UUA+Ft6MhDCzy_AV5S9J@gKb^*U##wcIT%*tz6-xAS1G@!QvcU!jRGrS_` zLl0R!@=}kA#WaR3bFDPr%vG~I_(x7QA+hggy%t9b8?Y*@&Hi`X-Y~D65?x}b0*26z z37?eV1KNpNV|yqLW}f2hDeUn%BJcG!FrV1WDd^*Cfe1Y}po$)PDw-J&@6Wg=1S@?v zB%^>*KF`1LGh2)1nUwD5y}K#rcF;-WH#y#VFDX;s0ro2)=dqU>!6l50!GXRAEFj+u zkZnEXbOG6#ya+p6uxIpm#JU_(M564@^(gTF5KbwZ()pPRRVXVgL_gbHQ>UF*nIq0I zJthUV!Xy8Hm?oI;!7ChEDdC%fx%QgjOqmPXHa`p))x90qCFsi%@5dQ*fuW*dc@NIf z`8=9ZUgh}TByR(esx@W*S-JUv^V@WPOLg9-{{7WaHGQ3K!b#2jXBr+IFrVvB*)0y5 zc$~c8Kor8EB+%=t;13A4e^geXcj5@h5Kgb0d8okDvuGVmnRfnfW1?8yW15cm3%LgF zysn^Z<>L8rjG9+FvET5*1Z}bDE{Bw-)P=IVXkjfLN21!(3wc`i(PK+&gnH_i8Tlh6 z6<2MM74bzNd+L)v9?!B+POqs9Fdl%W3h>vHBt6z9=-hntW*dXPZ%Li`+g(-Sz`s@m zegbRD6WThn&KY~Jisi#pn*=~P=XOkPB&-^yjXZR7|Gj0lp;#~~prM`0UxiDQStv)Q(9=+RA8TRx*3bsM zp}Ur$kSM*Sa3)zG5;#f)^liOdOMRcSHnVivqrlNK(8RVJbYm4B@4Ly`kM11%&TE z^PBeDBJJKV=(@@DZkkfECVM6?c0%F+hN0Zz`bz-SY081r>!5wCG)Dz;U zA|vMw=#Eb01D#8iO1?>ktoQUi3=7+YbzEa`UiH29yy8)Y6$ifHMMMJ4O>25v)@D(N znMjhgc5g*P$8pD#HdSYTM*BzBXQS`qph?ww{b0_@QQ#;h{H=`L5 zV67~_kFn|W9!ZAU+6lLZdw3s`@&3i}=Y?;WpI~x-Oa9I3L4gdEbvXV(5&UVp?C3{M z@3L+A&-6&k?X|c#yqo@T?-9s;Te*feuAvpTl`p{_1&7Duy}5_+Xc0RXJFGvRu%_)D zErrR~V5lSoE*emCz4LvpeW1}j55=D8P~N<-i*&^2aWfx!>Ah9YX5Wn^ks&r(tO;9F zbk<{m7FqF#{)+!N>7L1stgqiZ#>VcGfE=M*#vmPN4MmD}kqD^n$y(#)&c!|$;~eG! zs|?pi%!XU^N`Cg-b(JPoR(@c;fNt=-w-Z}4rrx!0F6qKkxb2*;K#@PPPsZD{N82iK z6UM4%O|i>NO5?Z_O;J)Nh=-PvJ4~b00@5A)s+vEA^s^i~FWgcUguM(Sqm+=mhPc(v zdZE7ui-f}*mzEJ~a4jXbq*o$V$OrrUD`0A7N0)$plMQyv*^FmAs6UwG{44b_WKFQa zQ-q}ev}Bz!d>yD;G=efw#keNQ&+K89p85uvei3j1fZH8+V%iXH!HaS);P zL5E9D^RVadKRii~dwg1DEJUZm$;H&}_zxG}OruaZ>{MYp!_vW=(@g^K2so4!!%4M^ zM(WATe8c++``V<=^z2ynFxG*4pJT>C8REKS4|g;cxv8M6i%*x0uJqgZ?r1{b ziH|l=lhJP3mfEJG(1W=H|6AFZd-LIlc8%`tv;&qICcM-%b|ksl3%Dj=W2Dt#OL5JM zOWt&osM5UKN2`AAlA-^m&P+$qimI*Q<07<9EG&3`sYixuQwz9(^_iWRwC=rqi=o||~j2VS=%s*}Pcu^~v=7ivi4EAI?3f#;ZG^&)=tx@DwJhM|hR^PWj@-9CK#)p2TGr znRti^QbiHWI1tGD+CaD@kr67e<#mnAf2Ip}-%ZICw#`fP5>MLjo8l$T!tt(gK>{G0 zp#MXy(iqLo&%sB~rSs!8$+0^}6783=P4Wr)<$GzGQCyA}p zk8|`9*g9FpGu{-+WBlfOVXgx_~PD0`d#|SoEB?)n?5s_PT?gkjD)fd zv&Qjs?pLVV&-oQWkH>b&#b|7TZSO7?eIPOmdy=EY{lsBwmI!^mK#1SWlUO19LxQF(%Jk-z zo?qC!gP}%Q+5vnMga7V3e8|B5z-+l6%vT@?vMB{|?cA>~{g-4Wwr?Ekv`{r-zA0lm zuSRLeL4l^XI81J8xR`HuKF{QQy`$LR>X|~0No4=z6P`T8Y5}{av40z<5g0;P!4BVH zxlR$sUq%!dLI?RGi&s=&#e(n9HnC(SxPhK84w3x^ZU}}UP^$2Q8uv{9VW2yc^4=;5 z_0o>c4orlZnB&uHyF-4Ec404~*sWb4JoBlj`8AmS-SsAURPT&Ca~>qDTM zvY�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

1XZ2Y@P-E^GkMlf>fX{RLruD)SN0uP)?7 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ⅇ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 diff --git a/inst/doc/CreatingModules.pdf b/inst/doc/CreatingModules.pdf deleted file mode 100644 index 5bc4f0bc84ef752486fda5a6bccdcce17f6146b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197997 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 A+Pt)&dP{u%U1m#296pVRsp}>&8dP|jcTr5 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

jCk=wQKH!N9v1g-I@Ks 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%0Dhf-IR1W+M+e4`smR8_-(CH8I)LOG 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 OGIJqNP>9KiBm5V$oH#xJ diff --git a/inst/doc/ExecuteStrategus.pdf b/inst/doc/ExecuteStrategus.pdf deleted file mode 100644 index ffa0e6822696383cafe6df9fe319b0d8ad9bd382..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200660 zcma&MQ;;rN5T#kRZQHhO+tw+&PT977%KFQ;ZQHi3zCAPj)EzOMPq|++V&}JV#UfV{ zlb~m2V22@}TN+-2VdW%ZB62XXf#KtWVU#nsw{*24V&>*#C;ER1hEc-W*45mZh*84U z*wtLj+|Lgy+}IArb7Na;JASJT-ha1upe_AxfL0meWJ7dMaWx=ZoIk6$r!O{H1P*Xm85x5vLa5-2f?r3pPQ3S z!3;JP1uOH#vm1eh3gn9ELb}ONngBKN-QimQhtbC~#K=URAEuY%Gs2m{{aX)z5O-W^ za+p8t4OMz)TVj#Y;(6#p-wpg$nDO!YZ@mF%xx)@%-~M-YkwGM>ktA-)g}Gy}vN<|7 z$zyEuX)g^FDiuuD7%wtSQ(|eB%1I|A;lF(@u$x%u@p(U5vRrz^QF4}JR9=`TO5w$G z96i^*+$-0hXQ|n1;iRiXaHZCKZ%zP28hb(rBB~Oyy7~8M85S$eV(XLuVb~(=t^oLy zC9C$DGWZx^?|=OAIE0-o;Nw4Ioxl|jrrMl!syb%OSQ9eue?DZR4^Cx)4`-ZkeACP2 zv{~LoQf;kRv2_{?G;6?Q(`}dcRO+5gPWRNEsR5S)1Sq+qzfY2SU~GSWG-K{%zpk;h z9LhE8q)X2Xf+bNssYIvF3ic$nVoonm?%@BSZ&)Ku`Q#T-N~==F%(TAE!}{d~1%K7| z^y(ds4Y~2g?Ad5Btt9-TalWqrCBW1?9cj$I?JRxZ*CKZ76;Sgjp{y+^v@GwE49?w5 zyUt{IAzLL^IQcbn`jzFnb3rt#Usp+%w=)v#0;^!qO;yY27=L&xu~0egO{ai&DL4XhQUTugsd|4ucHxIp?ZiIL{UAc3mzMQsalXm!{hX@ z_IW*nRJ?#^B?+cWLlsc><9cB)Q8W1d(jrv8l;jZ(un-VN#f;IHLXT7^@C^tfDVPaz zzn#5?)v^#$;4g%VcxV=5dQX`Zo(CwEQ_+8psvtRjI5R^tg#r#*EZ^XLKhy-9h>}Wd z6^l(y{I8UPEwlQd2R2CU$9x(g?`)mD%V|LgC=89-N;rN@dCA+e8dr-KV6y~FWrqW* zzo5B9sgR9V==M5DNiq^A4&?lVy>(u`pCsQuyV7d-FEOIa6A?A-bd_s~Zv-Tw~Z1)noJEJpYWk zY=0U?svg~b4m0e5t2_Y`g@@5P3Pzjj_JfH%;7KV0fJK8TCstQ0qELPF`e}; zhzLuiT6i_8(vf%-SH{Kg@!Rbc5qzSklt&m-^lbq9NFA0{3}UgTf+fGo&l>)DPq0Uu zY|+4LuW`lW^NM@#4mYu(9ZZ~E`b3ZFiTW=s1f+A`HfmkKZ9@Q@QXHF2`2yi&*ooRH zWLC&o`0wK$IC*0060KfD4-7OYIHJ6U_X+t>-#;I!`tg6zm6Fkae&kY7A#QhiK4D|+ zI~OYsXKOPGB6gh>53;+9d>N~|e4jCX&~TQtc>rNkxL+V(GLTZ*ENBb)h*!#Q&Wh{L zo&;yQt0=w);MDtHiY{1vqc?d1_wVy+0Y*z__{Dlq%YKje&y&R0d1YjHP3FrAj*-$( z>5mhtZP956R>)T%Pv<}%!pgcLI87K?l7 zrybT-t~CA`C{$B3ponvDWHHdSvvwYplhruDWpqvzqQd+d#9Mqu`cM)0n!(xk7`E+& z`&Q+O<;Xj#I5#HyX;Zob9&`1D$^qC278(0T=Ud5=oy1G!N>Z+0t&+P7L4NixMgt;c zH~}f^A9dH@vrD;Ngdj}O#>>*p`VlOwRG=kq*o)XY_>|R%k)=jsm=8Ru=&CO?X>39O zEn;fR5VOc)nA!1H^BmO=;2Cl6ocFsAqz80>;Jho`JZagbERupsS`{(NEKAu?U3!wm zWVHji8D-Z=x}L{rS2XGcDos`nq$}JqLG#U74vIoYg&)$ao!ei2^;kpz9SAye{U=Le zq^o*RIiOsR>avCZJfHW1u&+Et*SJX`o+*^*XdV$*BmG=k)F~VI1-H`=0~O+9!|Scu zzQ3u=nHbKoc!x6`bc@80siITE^6nZ)zOM{=k%%{CQhX)Ozto`gTB7GWIBH8NToSYV zYqTC1rd8Cf^UZmbS_d}$TwS#8dDwsxezm5A`Pa2hTkpl~z5c$+&&Equwy9x{l=Oj4 zSCHITwV97R)OpX^QBQYu{T<)Bw>@Zv-lggUCW^#-c4hMX2o-88IA7nA?AXS)RX%!^JsU<<#wD50kWkqlsDt zOHGYt!CcgfkN}8I=*eT;f>jG74OM$i8}&4-!O_p<>$-KYc!^U}#V?KgG`w5>$)+eI zRXk-)kBifAcjYta^cVax`-2e1+}`Z}Blv&a|D-=V>;FjxFthyM%7AHYS(i;Nl%7w` zx(3Y3i7;popLTb|MnAb}wUI{LKQ;)N)pT;g7^nhlWM=U{-yCxRVlu9U&ACIE$Uyym z1)riGw0AdMeV_MKj*3a-#%NxhvoAB=SIeDce$S`K;CX?P-CU%=p^`aBS!MkWWoYVT9Ln=6Xw?kqgT$ zWOy%TzV7^P9+AP2{&pxoz=dzCoDBQuFL`ij!g9aQK3V=7^metvN?@84LJ>Xbb(hUo z7ZW+znGHc{Elk!F=a!&HkOo2V4a0(mim%w5XV+by+H+RtR3~;k$k+#*-L68p3;|0X zc5_bs`mq?7NUsByoJ(r5oGCUSh6$joDpN<4 z*&fb3Ehg@cZXX)MPGH})dB}IqWGMrC1T@t+UOkiVbSeL7`PlV$BJv;wjC!}znFYms zUsj*n5J9QS`Rr~YG8ha4=Jk8l+a9ko=6b(xNMLkY}Vf-lMaqQPO$yt&IlYQaO z@i<2k<^nt<8;q=0+gg6@(uC9Pl8uH`%>H6kgqPLG+{Gl8afO?n%mB0&cHBW%sz@eW zBzdBPSzy_h>QyzllG(BI%FY=m-peCtQY4s%Z+%Cy?{R-a}R%&>lIFmx7 z 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 Q31+h|hx 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

Rn3`CNQE4@nBam$?Y`T$ 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

3HO! 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 AL&9`fz_`?na3 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

Cn$g31#PmMI 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 G{`Fr_Y`cU2 literal 0 HcmV?d00001 diff --git a/inst/testdata/analysisSpecification.json b/inst/testdata/analysisSpecification.json index efb11134..4ecb641d 100644 --- a/inst/testdata/analysisSpecification.json +++ b/inst/testdata/analysisSpecification.json @@ -223,7 +223,7 @@ "moduleSpecifications": [ { "module": "CohortGeneratorModule", - "version": "0.1.1-1", + "version": "0.2.0", "remoteRepo": "github.com", "remoteUsername": "ohdsi", "settings": { @@ -234,7 +234,7 @@ }, { "module": "CohortDiagnosticsModule", - "version": "0.0.7", + "version": "0.1.0", "remoteRepo": "github.com", "remoteUsername": "ohdsi", "settings": { @@ -292,7 +292,7 @@ }, { "module": "CohortIncidenceModule", - "version": "0.0.6", + "version": "0.1.0", "remoteRepo": "github.com", "remoteUsername": "ohdsi", "settings": { @@ -365,7 +365,7 @@ }, { "module": "CharacterizationModule", - "version": "0.3.2", + "version": "0.4.0", "remoteRepo": "github.com", "remoteUsername": "ohdsi", "settings": { @@ -489,7 +489,7 @@ }, { "module": "CohortMethodModule", - "version": "0.1.0", + "version": "0.2.0", "remoteRepo": "github.com", "remoteUsername": "ohdsi", "settings": { @@ -1341,7 +1341,7 @@ }, { "module": "SelfControlledCaseSeriesModule", - "version": "0.1.3", + "version": "0.2.0", "remoteRepo": "github.com", "remoteUsername": "ohdsi", "settings": { @@ -2360,7 +2360,7 @@ }, { "module": "PatientLevelPredictionModule", - "version": "0.1.0", + "version": "0.2.0", "remoteRepo": "github.com", "remoteUsername": "ohdsi", "settings": [ diff --git a/inst/testdata/unitTestAnalysisSpecification.json b/inst/testdata/unitTestAnalysisSpecification.json new file mode 100644 index 00000000..e6b5af7e --- /dev/null +++ b/inst/testdata/unitTestAnalysisSpecification.json @@ -0,0 +1,12 @@ +{ + "sharedResources": [], + "moduleSpecifications": [ + { + "module": "TestModule1", + "version": "0.0.1", + "settings": [], + "attr_class": ["TestModule1Specifications", "ModuleSpecifications"] + } + ], + "attr_class": "AnalysisSpecifications" +} diff --git a/man-roxygen/executionSettings.R b/man-roxygen/executionSettings.R new file mode 100644 index 00000000..a80e89b8 --- /dev/null +++ b/man-roxygen/executionSettings.R @@ -0,0 +1,2 @@ +#' @param executionSettings An object of type `ExecutionSettings` as created +#' by [createCdmExecutionSettings()] or [createResultsExecutionSettings()]. diff --git a/man/createCdmExecutionSettings.Rd b/man/createCdmExecutionSettings.Rd index c8d447ba..d4a84cf1 100644 --- a/man/createCdmExecutionSettings.Rd +++ b/man/createCdmExecutionSettings.Rd @@ -13,6 +13,8 @@ createCdmExecutionSettings( workFolder, resultsFolder, minCellCount = 5, + integerAsNumeric = getOption("databaseConnectorIntegerAsNumeric", default = TRUE), + integer64AsNumeric = getOption("databaseConnectorInteger64AsNumeric", default = TRUE), resultsConnectionDetailsReference = NULL, resultsDatabaseSchema = NULL ) @@ -31,6 +33,8 @@ connection details) will need to have read access to this database schema.} \code{workDatabaseSchema}. This object can be created using the \code{\link[CohortGenerator:getCohortTableNames]{CohortGenerator::getCohortTableNames()}} function.} +\item{tempEmulationSchema}{Some database platforms like Oracle and Impala do not truly support temp tables. To emulate temp tables, provide a schema with write privileges where temp tables can be created.} + \item{workFolder}{A folder in the local file system where intermediate results can be written.} \item{resultsFolder}{A folder in the local file system where the module output will be written.} @@ -38,6 +42,10 @@ connection details) will need to have read access to this database schema.} \item{minCellCount}{The minimum number of subjects contributing to a count before it can be included in results.} +\item{integerAsNumeric}{Logical: should 32-bit integers be converted to numeric (double) values? If FALSE 32-bit integers will be represented using R's native \code{Integer} class. Default is TRUE} + +\item{integer64AsNumeric}{Logical: should 64-bit integers be converted to numeric (double) values? If FALSE 64-bit integers will be represented using \code{bit64::integer64}. Default is TRUE} + \item{resultsConnectionDetailsReference}{A string that can be used to retrieve the results database connection details from a secure local store.} diff --git a/man/createResultDataModels.Rd b/man/createResultDataModels.Rd index e3ee1364..fe3d16df 100644 --- a/man/createResultDataModels.Rd +++ b/man/createResultDataModels.Rd @@ -8,7 +8,8 @@ createResultDataModels( analysisSpecifications, executionSettings, executionScriptFolder = NULL, - keyringName = NULL + keyringName = NULL, + restart = FALSE ) } \arguments{ @@ -28,6 +29,9 @@ NULL to select the default keyring. If the keyring is password protected, the password must be stored in the environment variable STRATEGUS_KEYRING_PASSWORD so it is retrieved using the command Sys.getenv("STRATEGUS_KEYRING_PASSWORD")} + +\item{restart}{Restart run? Requires \code{executionScriptFolder} to be specified, and be +the same as the \code{executionScriptFolder} used in the run to restart.} } \description{ Use this at the study design stage to create data models for modules diff --git a/man/createResultsExecutionSettings.Rd b/man/createResultsExecutionSettings.Rd index 7ecc214a..d4ea9657 100644 --- a/man/createResultsExecutionSettings.Rd +++ b/man/createResultsExecutionSettings.Rd @@ -9,7 +9,9 @@ createResultsExecutionSettings( resultsDatabaseSchema, workFolder, resultsFolder, - minCellCount = 5 + minCellCount = 5, + integerAsNumeric = getOption("databaseConnectorIntegerAsNumeric", default = TRUE), + integer64AsNumeric = getOption("databaseConnectorInteger64AsNumeric", default = TRUE) ) } \arguments{ @@ -24,6 +26,10 @@ details from a secure local store.} \item{minCellCount}{The minimum number of subjects contributing to a count before it can be included in results.} + +\item{integerAsNumeric}{Logical: should 32-bit integers be converted to numeric (double) values? If FALSE 32-bit integers will be represented using R's native \code{Integer} class. Default is TRUE} + +\item{integer64AsNumeric}{Logical: should 64-bit integers be converted to numeric (double) values? If FALSE 64-bit integers will be represented using \code{bit64::integer64}. Default is TRUE} } \value{ An object of type \code{ExecutionSettings}. diff --git a/man/dot-nullList.Rd b/man/dot-nullList.Rd new file mode 100644 index 00000000..5b697abe --- /dev/null +++ b/man/dot-nullList.Rd @@ -0,0 +1,12 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/Settings.R +\name{.nullList} +\alias{.nullList} +\title{Used when serializing connection details to retain NULL values} +\usage{ +.nullList() +} +\description{ +Used when serializing connection details to retain NULL values +} +\keyword{internal} diff --git a/man/runSchemaCreation.Rd b/man/runSchemaCreation.Rd index c4a631df..821bab19 100644 --- a/man/runSchemaCreation.Rd +++ b/man/runSchemaCreation.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/ResultModelCreation.R \name{runSchemaCreation} \alias{runSchemaCreation} -\title{Results upload callbacks for inserting results in to a database} +\title{Create module(s) result data model} \usage{ runSchemaCreation( analysisSpecifications, @@ -12,6 +12,24 @@ runSchemaCreation( ... ) } +\arguments{ +\item{analysisSpecifications}{An object of type \code{AnalysisSpecifications} as created +by \code{\link[=createEmptyAnalysisSpecificiations]{createEmptyAnalysisSpecificiations()}}.} + +\item{keyringSettings}{The keyringSettings from the executionSettings context} + +\item{moduleIndex}{The index of the module in the analysis specification} + +\item{executionSettings}{An object of type \code{ExecutionSettings} as created +by \code{\link[=createCdmExecutionSettings]{createCdmExecutionSettings()}} or \code{\link[=createResultsExecutionSettings]{createResultsExecutionSettings()}}.} + +\item{...}{For future expansion} +} \description{ -Results upload callbacks for inserting results in to a database +This function will create the results data model for the modules in the +\code{analysisSpecifications}. A module can implement its own results data model +creation function by implementing the function \code{createDataModelSchema} in +its Main.R. The default behavior is to use the \code{ResultsModelManager} to create +the results data model based on the \code{resultsDataModelSpecification.csv} in the +module's results folder. } diff --git a/man/withModuleRenv.Rd b/man/withModuleRenv.Rd index 64afb036..61407a23 100644 --- a/man/withModuleRenv.Rd +++ b/man/withModuleRenv.Rd @@ -23,7 +23,10 @@ withModuleRenv( \item{injectVars}{list of var names list(name=value) to replace (e.g. replace list(foo = "some string") will find the pattern foo and replace it with the string some string - be careful!} -\item{tempScriptFile}{tempFile to write script to (ret} +\item{tempScriptFile}{tempFile to write script to} + +\item{useLocalStrategusLibrary}{Use the locally installed Strategus library? TRUE will use the Strategus +installation from the calling R process.} \item{job}{run as rstudio job} diff --git a/tests/testOracle.R b/tests/testOracle.R deleted file mode 100644 index 9f68e3bb..00000000 --- a/tests/testOracle.R +++ /dev/null @@ -1,3 +0,0 @@ -# library(testthat) -# options(dbms = "oracle") -# test_check("Strategus") diff --git a/tests/testPostgres.R b/tests/testPostgres.R deleted file mode 100644 index 783539d9..00000000 --- a/tests/testPostgres.R +++ /dev/null @@ -1,3 +0,0 @@ -library(testthat) -options(dbms = "postgresql") -test_check("Strategus") diff --git a/tests/testRedshift.R b/tests/testRedshift.R deleted file mode 100644 index d3866880..00000000 --- a/tests/testRedshift.R +++ /dev/null @@ -1,3 +0,0 @@ -library(testthat) -options(dbms = "redshift") -test_check("Strategus") diff --git a/tests/testSqlServer.R b/tests/testSqlServer.R deleted file mode 100644 index 88270aac..00000000 --- a/tests/testSqlServer.R +++ /dev/null @@ -1,3 +0,0 @@ -library(testthat) -options(dbms = "sql server") -test_check("Strategus") diff --git a/tests/testSqlite.R b/tests/testthat.R similarity index 62% rename from tests/testSqlite.R rename to tests/testthat.R index e12a1413..d026d2c5 100644 --- a/tests/testSqlite.R +++ b/tests/testthat.R @@ -1,3 +1,3 @@ library(testthat) -options(dbms = "sqlite") +library(Strategus) test_check("Strategus") diff --git a/tests/testthat/setup.R b/tests/testthat/setup.R index 10621763..aed50436 100644 --- a/tests/testthat/setup.R +++ b/tests/testthat/setup.R @@ -6,35 +6,35 @@ library(dplyr) # allows unit tests to run on mac without issue baseBackend <- Sys.getenv("R_KEYRING_BACKEND") Sys.setenv("R_KEYRING_BACKEND" = "file") - -dbms <- getOption("dbms", default = "sqlite") -message("************* Testing on ", dbms, " *************") +withr::defer( + { + Sys.setenv("R_KEYRING_BACKEND" = baseBackend) + }, + testthat::teardown_env() +) if (dir.exists(Sys.getenv("DATABASECONNECTOR_JAR_FOLDER"))) { jdbcDriverFolder <- Sys.getenv("DATABASECONNECTOR_JAR_FOLDER") } else { jdbcDriverFolder <- "~/.jdbcDrivers" dir.create(jdbcDriverFolder, showWarnings = FALSE) - DatabaseConnector::downloadJdbcDrivers("postgresql", pathToDriver = jdbcDriverFolder) - - if (!dbms %in% c("postgresql", "sqlite")) { - DatabaseConnector::downloadJdbcDrivers(dbms, pathToDriver = jdbcDriverFolder) - } - + baseDatabaseConnectorJarFolder <- Sys.getenv("DATABASECONNECTOR_JAR_FOLDER") + Sys.setenv("DATABASECONNECTOR_JAR_FOLDER" = jdbcDriverFolder) withr::defer( { unlink(jdbcDriverFolder, recursive = TRUE, force = TRUE) - Sys.setenv("R_KEYRING_BACKEND" = baseBackend) + Sys.setenv("DATABASECONNECTOR_JAR_FOLDER" = baseDatabaseConnectorJarFolder) }, testthat::teardown_env() ) } + # Create a unique ID for the table identifiers tableSuffix <- paste0(substr(.Platform$OS.type, 1, 3), format(Sys.time(), "%y%m%d%H%M%S"), sample(1:100, 1)) tableSuffix <- abs(digest::digest2int(tableSuffix)) -tempDir <- tempfile() # "C:/temp" +tempDir <- tempfile() #"D:" tempDir <- gsub("\\\\", "/", tempDir) # Correct windows path renvCachePath <- file.path(tempDir, "strategus/renv") moduleFolder <- file.path(tempDir, "strategus/modules") @@ -46,75 +46,133 @@ withr::defer( testthat::teardown_env() ) -if (dbms == "sqlite") { - eunomiaDbFile <- file.path(tempDir, "data", "testEunomia.sqlite") - if (!dir.exists(file.path(tempDir, "data"))) { - dir.create(file.path(tempDir, "data"), recursive = T, showWarnings = F) - } - connectionDetails <- Eunomia::getEunomiaConnectionDetails( - databaseFile = eunomiaDbFile +# Assemble a list of connectionDetails for the tests ----------- +connectionDetailsList <- list() + +# SQLite +eunomiaDbFile <- file.path(tempDir, "data", "testEunomia.sqlite") +if (!dir.exists(file.path(tempDir, "data"))) { + dir.create(file.path(tempDir, "data"), recursive = T, showWarnings = F) +} +connectionDetails <- Eunomia::getEunomiaConnectionDetails( + databaseFile = eunomiaDbFile +) +withr::defer( + { + unlink(eunomiaDbFile, recursive = TRUE, force = TRUE) + }, + testthat::teardown_env() +) +cdmDatabaseSchema <- "main" +workDatabaseSchema <- "main" +vocabularyDatabaseSchema <- workDatabaseSchema +cohortTable <- "cohort" +tempEmulationSchema <- NULL + +connectionDetailsList[[length(connectionDetailsList) + 1]] <- list( + connectionDetails = connectionDetails, + cdmDatabaseSchema = "main", + workDatabaseSchema = "main", + vocabularyDatabaseSchema = "main", + cohortTable = "cohort", + tempEmulationSchema = NULL +) + +# PostgreSQL +if (!(Sys.getenv("CDM5_POSTGRESQL_USER") == "" + & Sys.getenv("CDM5_POSTGRESQL_PASSWORD") == "" + & Sys.getenv("CDM5_POSTGRESQL_SERVER") == "" + & Sys.getenv("CDM5_POSTGRESQL_CDM_SCHEMA") == "" + & Sys.getenv("CDM5_POSTGRESQL_OHDSI_SCHEMA") == "")) { + DatabaseConnector::downloadJdbcDrivers("postgresql") + connectionDetailsList[[length(connectionDetailsList) + 1]] <- list( + connectionDetails = DatabaseConnector::createConnectionDetails( + dbms = "postgresql", + user = Sys.getenv("CDM5_POSTGRESQL_USER"), + password = URLdecode(Sys.getenv("CDM5_POSTGRESQL_PASSWORD")), + server = Sys.getenv("CDM5_POSTGRESQL_SERVER"), + port = 5432, + pathToDriver = jdbcDriverFolder + ), + cdmDatabaseSchema = Sys.getenv("CDM5_POSTGRESQL_CDM_SCHEMA"), + workDatabaseSchema = Sys.getenv("CDM5_POSTGRESQL_OHDSI_SCHEMA"), + vocabularyDatabaseSchema = Sys.getenv("CDM5_POSTGRESQL_CDM_SCHEMA"), + cohortTable = "cohort", + tempEmulationSchema = NULL ) - withr::defer( - { - unlink(eunomiaDbFile, recursive = TRUE, force = TRUE) - }, - testthat::teardown_env() +} + +# Oracle +if (!(Sys.getenv("CDM5_ORACLE_USER") == "" + & Sys.getenv("CDM5_ORACLE_PASSWORD") == "" + & Sys.getenv("CDM5_ORACLE_SERVER") == "" + & Sys.getenv("CDM5_ORACLE_CDM_SCHEMA") == "" + & Sys.getenv("CDM5_ORACLE_OHDSI_SCHEMA") == "")) { + DatabaseConnector::downloadJdbcDrivers("oracle") + connectionDetailsList[[length(connectionDetailsList) + 1]] <- list( + connectionDetails = DatabaseConnector::createConnectionDetails( + dbms = "oracle", + user = Sys.getenv("CDM5_ORACLE_USER"), + password = URLdecode(Sys.getenv("CDM5_ORACLE_PASSWORD")), + server = Sys.getenv("CDM5_ORACLE_SERVER"), + port = 1521, + pathToDriver = jdbcDriverFolder + ), + cdmDatabaseSchema = Sys.getenv("CDM5_ORACLE_CDM_SCHEMA"), + workDatabaseSchema = Sys.getenv("CDM5_ORACLE_OHDSI_SCHEMA"), + vocabularyDatabaseSchema = Sys.getenv("CDM5_ORACLE_CDM_SCHEMA"), + cohortTable = "cohort", + tempEmulationSchema = Sys.getenv("CDM5_ORACLE_OHDSI_SCHEMA") ) - cdmDatabaseSchema <- "main" - workDatabaseSchema <- "main" - vocabularyDatabaseSchema <- workDatabaseSchema - cohortTable <- "cohort" - tempEmulationSchema <- NULL -} else { - if (dbms == "postgresql") { - dbUser <- Sys.getenv("CDM5_POSTGRESQL_USER") - dbPassword <- Sys.getenv("CDM5_POSTGRESQL_PASSWORD") - dbServer <- Sys.getenv("CDM5_POSTGRESQL_SERVER") - dbPort <- 5432 - cdmDatabaseSchema <- Sys.getenv("CDM5_POSTGRESQL_CDM_SCHEMA") - vocabularyDatabaseSchema <- Sys.getenv("CDM5_POSTGRESQL_CDM_SCHEMA") - tempEmulationSchema <- NULL - workDatabaseSchema <- Sys.getenv("CDM5_POSTGRESQL_OHDSI_SCHEMA") - } else if (dbms == "oracle") { - dbUser <- Sys.getenv("CDM5_ORACLE_USER") - dbPassword <- Sys.getenv("CDM5_ORACLE_PASSWORD") - dbServer <- Sys.getenv("CDM5_ORACLE_SERVER") - dbPort <- 1521 - cdmDatabaseSchema <- Sys.getenv("CDM5_ORACLE_CDM_SCHEMA") - vocabularyDatabaseSchema <- Sys.getenv("CDM5_ORACLE_CDM_SCHEMA") - tempEmulationSchema <- Sys.getenv("CDM5_ORACLE_OHDSI_SCHEMA") - workDatabaseSchema <- Sys.getenv("CDM5_ORACLE_OHDSI_SCHEMA") - options(sqlRenderTempEmulationSchema = tempEmulationSchema) - } else if (dbms == "redshift") { - dbUser <- Sys.getenv("CDM5_REDSHIFT_USER") - dbPassword <- Sys.getenv("CDM5_REDSHIFT_PASSWORD") - dbServer <- Sys.getenv("CDM5_REDSHIFT_SERVER") - dbPort <- 5439 - cdmDatabaseSchema <- Sys.getenv("CDM5_REDSHIFT_CDM_SCHEMA") - vocabularyDatabaseSchema <- Sys.getenv("CDM5_REDSHIFT_CDM_SCHEMA") - tempEmulationSchema <- NULL - workDatabaseSchema <- Sys.getenv("CDM5_REDSHIFT_OHDSI_SCHEMA") - } else if (dbms == "sql server") { - dbUser <- Sys.getenv("CDM5_SQL_SERVER_USER") - dbPassword <- Sys.getenv("CDM5_SQL_SERVER_PASSWORD") - dbServer <- Sys.getenv("CDM5_SQL_SERVER_SERVER") - dbPort <- 1433 - cdmDatabaseSchema <- Sys.getenv("CDM5_SQL_SERVER_CDM_SCHEMA") - vocabularyDatabaseSchema <- Sys.getenv("CDM5_SQL_SERVER_CDM_SCHEMA") - tempEmulationSchema <- NULL - workDatabaseSchema <- Sys.getenv("CDM5_SQL_SERVER_OHDSI_SCHEMA") - } +} - connectionDetails <- DatabaseConnector::createConnectionDetails( - dbms = dbms, - user = dbUser, - password = URLdecode(dbPassword), - server = dbServer, - port = dbPort, - pathToDriver = jdbcDriverFolder +# RedShift +if (!(Sys.getenv("CDM5_REDSHIFT_USER") == "" + & Sys.getenv("CDM5_REDSHIFT_PASSWORD") == "" + & Sys.getenv("CDM5_REDSHIFT_SERVER") == "" + & Sys.getenv("CDM5_REDSHIFT_CDM_SCHEMA") == "" + & Sys.getenv("CDM5_REDSHIFT_OHDSI_SCHEMA") == "")) { + DatabaseConnector::downloadJdbcDrivers("redshift") + connectionDetailsList[[length(connectionDetailsList) + 1]] <- list( + connectionDetails = DatabaseConnector::createConnectionDetails( + dbms = "redshift", + user = Sys.getenv("CDM5_REDSHIFT_USER"), + password = URLdecode(Sys.getenv("CDM5_REDSHIFT_PASSWORD")), + server = Sys.getenv("CDM5_REDSHIFT_SERVER"), + port = 5439, + pathToDriver = jdbcDriverFolder + ), + cdmDatabaseSchema = Sys.getenv("CDM5_REDSHIFT_CDM_SCHEMA"), + workDatabaseSchema = Sys.getenv("CDM5_REDSHIFT_OHDSI_SCHEMA"), + vocabularyDatabaseSchema = Sys.getenv("CDM5_REDSHIFT_CDM_SCHEMA"), + cohortTable = "cohort", + tempEmulationSchema = NULL ) } +# SQL Server +if (!(Sys.getenv("CDM5_SQL_SERVER_USER") == "" + & Sys.getenv("CDM5_SQL_SERVER_PASSWORD") == "" + & Sys.getenv("CDM5_SQL_SERVER_SERVER") == "" + & Sys.getenv("CDM5_SQL_SERVER_CDM_SCHEMA") == "" + & Sys.getenv("CDM5_SQL_SERVER_OHDSI_SCHEMA") == "")) { + DatabaseConnector::downloadJdbcDrivers("sql server") + connectionDetailsList[[length(connectionDetailsList) + 1]] <- list( + connectionDetails = DatabaseConnector::createConnectionDetails( + dbms = "sql server", + user = Sys.getenv("CDM5_SQL_SERVER_USER"), + password = URLdecode(Sys.getenv("CDM5_SQL_SERVER_PASSWORD")), + server = Sys.getenv("CDM5_SQL_SERVER_SERVER"), + port = 1433, + pathToDriver = jdbcDriverFolder + ), + cdmDatabaseSchema = Sys.getenv("CDM5_SQL_SERVER_CDM_SCHEMA"), + workDatabaseSchema = Sys.getenv("CDM5_SQL_SERVER_OHDSI_SCHEMA"), + vocabularyDatabaseSchema = Sys.getenv("CDM5_SQL_SERVER_CDM_SCHEMA"), + cohortTable = "cohort", + tempEmulationSchema = NULL + ) +} # Keyring helpers -------------- # Set the keyring name & password for testing diff --git a/tests/testthat/test-DatabaseMetaData.R b/tests/testthat/test-DatabaseMetaData.R index 12b62802..c6eda6ca 100644 --- a/tests/testthat/test-DatabaseMetaData.R +++ b/tests/testthat/test-DatabaseMetaData.R @@ -1,5 +1,4 @@ test_that("Test DatabaseMetaData error conditions", { - skip_if_not(dbms == "sqlite") skip_if_not_secret_service() # Run this test in isolation as it will make changes to the CDM schema. eunomiaConnectionDetails <- Eunomia::getEunomiaConnectionDetails() @@ -18,22 +17,25 @@ test_that("Test DatabaseMetaData error conditions", { ) } - on.exit(expr = { - # Put the DB back the way we found it - restoreTableSql <- "DROP TABLE IF EXISTS @cdm_table; ALTER TABLE @backup_table RENAME TO @cdm_table;" - for (i in 1:length(requiredTables)) { - DatabaseConnector::renderTranslateExecuteSql( - connection = connection, - sql = restoreTableSql, - progressBar = FALSE, - reportOverallTime = FALSE, - backup_table = paste0(requiredTables[i], "_bak"), - cdm_table = requiredTables[i] - ) - } - DatabaseConnector::disconnect(connection) - unlink(eunomiaConnectionDetails$server, recursive = TRUE, force = TRUE) - }) + withr::defer( + { + # Put the DB back the way we found it + restoreTableSql <- "DROP TABLE IF EXISTS @cdm_table; ALTER TABLE @backup_table RENAME TO @cdm_table;" + for (i in 1:length(requiredTables)) { + DatabaseConnector::renderTranslateExecuteSql( + connection = connection, + sql = restoreTableSql, + progressBar = FALSE, + reportOverallTime = FALSE, + backup_table = paste0(requiredTables[i], "_bak"), + cdm_table = requiredTables[i] + ) + } + DatabaseConnector::disconnect(connection) + unlink(eunomiaConnectionDetails$server, recursive = TRUE, force = TRUE) + }, + testthat::teardown_env() + ) # Setup keyring for the test Sys.setenv("STRATEGUS_KEYRING_PASSWORD" = keyringPassword) diff --git a/tests/testthat/test-Settings.R b/tests/testthat/test-Settings.R index acc20e4c..be23755e 100644 --- a/tests/testthat/test-Settings.R +++ b/tests/testthat/test-Settings.R @@ -54,3 +54,43 @@ test_that("Verify that unlocking keyring without password fails", { # Try to unlock and expect error expect_error(unlockKeyring(keyring = keyringName)) }) + +test_that("Store and retrieve connection details", { + # Setup keyring for the test + Sys.setenv("STRATEGUS_KEYRING_PASSWORD" = keyringPassword) + createKeyringForUnitTest(selectedKeyring = keyringName, selectedKeyringPassword = keyringPassword) + on.exit(deleteKeyringForUnitTest()) + + for (i in 1:length(connectionDetailsList)) { + connectionDetails <- connectionDetailsList[[i]]$connectionDetails + dbms <- connectionDetailsList[[i]]$connectionDetails$dbms + + message("************* Store connection details for ", dbms, " *************") + + # Verify that the connection details are valid + # by connecting to the DB + conn <- DatabaseConnector::connect( + connectionDetails + ) + DatabaseConnector::disconnect(conn) + + # Store the connection details in keyring + storeConnectionDetails( + connectionDetails = connectionDetails, + connectionDetailsReference = dbms, + keyringName = keyringName + ) + + connectionDetailsFromKeyring <- retrieveConnectionDetails( + connectionDetailsReference = dbms, + keyringName = keyringName + ) + + # Verify that the connection details retrieved + # allow for a connection to the DB + connFromKeyring <- DatabaseConnector::connect( + connectionDetailsFromKeyring + ) + DatabaseConnector::disconnect(connFromKeyring) + } +}) diff --git a/tests/testthat/test-Strategus.R b/tests/testthat/test-Strategus.R index f0cecd97..5df2433e 100644 --- a/tests/testthat/test-Strategus.R +++ b/tests/testthat/test-Strategus.R @@ -1,4 +1,4 @@ -test_that("Run Eunomia study", { +test_that("Run unit test study", { # NOTE: Need to set this in each test otherwise it goes out of scope renv:::renv_scope_envvars(RENV_PATHS_CACHE = renvCachePath) @@ -7,66 +7,98 @@ test_that("Run Eunomia study", { createKeyringForUnitTest(selectedKeyring = keyringName, selectedKeyringPassword = keyringPassword) on.exit(deleteKeyringForUnitTest()) - # Using a named and secured keyring - Strategus::storeConnectionDetails( - connectionDetails = connectionDetails, - connectionDetailsReference = dbms, - keyringName = keyringName - ) - analysisSpecifications <- ParallelLogger::loadSettingsFromJson( - fileName = system.file("testdata/analysisSpecification.json", + fileName = system.file("testdata/unitTestAnalysisSpecification.json", package = "Strategus" ) ) - # Create a unique set of cohort tables for this test run and - # ensure they are removed when complete - cohortTableNames <- CohortGenerator::getCohortTableNames(cohortTable = paste0("s", tableSuffix)) withr::defer( { - CohortGenerator::dropCohortStatsTables( - connectionDetails = connectionDetails, - cohortDatabaseSchema = workDatabaseSchema, - cohortTableNames = cohortTableNames, - dropCohortTable = TRUE - ) unlink(file.path(tempDir, "EunomiaTestStudy"), recursive = TRUE, force = TRUE) }, testthat::teardown_env() ) - # Use this line to limit to only running the CohortGeneratorModule - # for testing purposes. - analysisSpecifications$moduleSpecifications <- analysisSpecifications$moduleSpecifications[-c(2:length(analysisSpecifications$moduleSpecifications))] - executionSettings <- createCdmExecutionSettings( - connectionDetailsReference = dbms, - workDatabaseSchema = workDatabaseSchema, - cdmDatabaseSchema = cdmDatabaseSchema, - cohortTableNames = cohortTableNames, - workFolder = file.path(tempDir, "EunomiaTestStudy/work_folder"), - resultsFolder = file.path(tempDir, "EunomiaTestStudy/results_folder"), - minCellCount = 5 - ) + for (i in 1:length(connectionDetailsList)) { + connectionDetails <- connectionDetailsList[[i]]$connectionDetails + dbms <- connectionDetailsList[[i]]$connectionDetails$dbms + workDatabaseSchema <- connectionDetailsList[[i]]$workDatabaseSchema + cdmDatabaseSchema <- connectionDetailsList[[i]]$cdmDatabaseSchema + tempEmulationSchema <- connectionDetailsList[[i]]$tempEmulationSchema + studyRootFolder <- file.path(tempDir, "EunomiaTestStudy", dbms) + workFolder <- file.path(studyRootFolder, "work_folder") + resultsFolder <- file.path(studyRootFolder, "results_folder") + scriptFolder <- file.path(studyRootFolder, "script_folder") - if (!dir.exists(file.path(tempDir, "EunomiaTestStudy"))) { - dir.create(file.path(tempDir, "EunomiaTestStudy"), recursive = TRUE) - } - ParallelLogger::saveSettingsToJson( - object = executionSettings, - file.path(tempDir, "EunomiaTestStudy/eunomiaExecutionSettings.json") - ) + message("************* Running Strategus on ", dbms, " *************") - executionSettings <- ParallelLogger::loadSettingsFromJson( - fileName = file.path(tempDir, "EunomiaTestStudy/eunomiaExecutionSettings.json") - ) + # Using a named and secured keyring + Strategus::storeConnectionDetails( + connectionDetails = connectionDetails, + connectionDetailsReference = dbms, + keyringName = keyringName + ) - Strategus::execute( - analysisSpecifications = analysisSpecifications, - executionSettings = executionSettings, - executionScriptFolder = file.path(tempDir, "EunomiaTestStudy/script_folder"), - keyringName = keyringName - ) + resultsConnectionDetailsReference <- NULL + resultsDatabaseSchema <- NULL - expect_true(file.exists(file.path(tempDir, "EunomiaTestStudy/results_folder/CohortGeneratorModule_1/done"))) + if (dbms == "sqlite") { + resultsConnectionDetailsReference <- "result-store" + resultsDatabaseSchema <- "main" + Strategus::storeConnectionDetails( + connectionDetails, + resultsConnectionDetailsReference, + keyringName = keyringName + ) + } + + executionSettings <- createCdmExecutionSettings( + connectionDetailsReference = dbms, + workDatabaseSchema = workDatabaseSchema, + cdmDatabaseSchema = cdmDatabaseSchema, + tempEmulationSchema = tempEmulationSchema, + cohortTableNames = CohortGenerator::getCohortTableNames(cohortTable = paste0("s", tableSuffix)), + workFolder = workFolder, + resultsFolder = resultsFolder, + minCellCount = 5, + resultsDatabaseSchema = resultsDatabaseSchema, + resultsConnectionDetailsReference = resultsConnectionDetailsReference + ) + + if (!dir.exists(studyRootFolder)) { + dir.create(studyRootFolder, recursive = TRUE) + } + ParallelLogger::saveSettingsToJson( + object = executionSettings, + file.path(studyRootFolder, "eunomiaExecutionSettings.json") + ) + + executionSettings <- ParallelLogger::loadSettingsFromJson( + fileName = file.path(studyRootFolder, "eunomiaExecutionSettings.json") + ) + + if (dbms == "sqlite") { + resultsExecutionSettings <- Strategus::createResultsExecutionSettings( + resultsConnectionDetailsReference = resultsConnectionDetailsReference, + resultsDatabaseSchema = resultsDatabaseSchema, + workFolder = workFolder, + resultsFolder = resultsFolder + ) + Strategus::createResultDataModels( + analysisSpecifications = analysisSpecifications, + executionSettings = resultsExecutionSettings, + keyringName = keyringName + ) + } + + Strategus::execute( + analysisSpecifications = analysisSpecifications, + executionSettings = executionSettings, + executionScriptFolder = scriptFolder, + keyringName = keyringName + ) + + expect_true(file.exists(file.path(resultsFolder, "TestModule1_1", "done"))) + } }) From 5b53f87d95e1fb13dd90b8acc9fdd2707dda2387 Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Fri, 8 Sep 2023 09:37:40 -0400 Subject: [PATCH 16/22] Bump ES module ref --- inst/csv/modules.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/csv/modules.csv b/inst/csv/modules.csv index 80d1b359..1448c504 100644 --- a/inst/csv/modules.csv +++ b/inst/csv/modules.csv @@ -6,4 +6,4 @@ CohortIncidenceModule,v0.1.0,github.com,OHDSI,cdm,CohortIncidence,v3.1.5 CohortMethodModule,v0.2.0,github.com,OHDSI,cdm,CohortMethod,v5.1.0 PatientLevelPredictionModule,v0.2.0,github.com,OHDSI,cdm,PatientLevelPrediction,v6.3.4 SelfControlledCaseSeriesModule,v0.2.0,github.com,OHDSI,cdm,SelfControlledCaseSeries,v4.2.0 -EvidenceSynthesisModule,v0.2.0,github.com,OHDSI,results,EvidenceSynthesis,v0.5.0 +EvidenceSynthesisModule,v0.2.1,github.com,OHDSI,results,EvidenceSynthesis,v0.5.0 From 25499ec3b6f03ed95aaec25facf4bc5692cd30c1 Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Mon, 11 Sep 2023 17:59:26 -0400 Subject: [PATCH 17/22] Use CDM v5.4 schemas for unit tests (#85) --- .github/workflows/R_CMD_check_Hades.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/R_CMD_check_Hades.yaml b/.github/workflows/R_CMD_check_Hades.yaml index e836a20c..5a6bb062 100644 --- a/.github/workflows/R_CMD_check_Hades.yaml +++ b/.github/workflows/R_CMD_check_Hades.yaml @@ -31,22 +31,22 @@ jobs: GITHUB_PAT: ${{ secrets.GH_TOKEN }} R_REMOTES_NO_ERRORS_FROM_WARNINGS: true RSPM: ${{ matrix.config.rspm }} - CDM5_ORACLE_CDM_SCHEMA: ${{ secrets.CDM5_ORACLE_CDM_SCHEMA }} + CDM5_ORACLE_CDM_SCHEMA: ${{ secrets.CDM5_ORACLE_CDM54_SCHEMA }} CDM5_ORACLE_OHDSI_SCHEMA: ${{ secrets.CDM5_ORACLE_OHDSI_SCHEMA }} CDM5_ORACLE_PASSWORD: ${{ secrets.CDM5_ORACLE_PASSWORD }} CDM5_ORACLE_SERVER: ${{ secrets.CDM5_ORACLE_SERVER }} CDM5_ORACLE_USER: ${{ secrets.CDM5_ORACLE_USER }} - CDM5_POSTGRESQL_CDM_SCHEMA: ${{ secrets.CDM5_POSTGRESQL_CDM_SCHEMA }} + CDM5_POSTGRESQL_CDM_SCHEMA: ${{ secrets.CDM5_POSTGRESQL_CDM54_SCHEMA }} CDM5_POSTGRESQL_OHDSI_SCHEMA: ${{ secrets.CDM5_POSTGRESQL_OHDSI_SCHEMA }} CDM5_POSTGRESQL_PASSWORD: ${{ secrets.CDM5_POSTGRESQL_PASSWORD }} CDM5_POSTGRESQL_SERVER: ${{ secrets.CDM5_POSTGRESQL_SERVER }} CDM5_POSTGRESQL_USER: ${{ secrets.CDM5_POSTGRESQL_USER }} - CDM5_SQL_SERVER_CDM_SCHEMA: ${{ secrets.CDM5_SQL_SERVER_CDM_SCHEMA }} + CDM5_SQL_SERVER_CDM_SCHEMA: ${{ secrets.CDM5_SQL_SERVER_CDM54_SCHEMA }} CDM5_SQL_SERVER_OHDSI_SCHEMA: ${{ secrets.CDM5_SQL_SERVER_OHDSI_SCHEMA }} CDM5_SQL_SERVER_PASSWORD: ${{ secrets.CDM5_SQL_SERVER_PASSWORD }} CDM5_SQL_SERVER_SERVER: ${{ secrets.CDM5_SQL_SERVER_SERVER }} CDM5_SQL_SERVER_USER: ${{ secrets.CDM5_SQL_SERVER_USER }} - CDM5_REDSHIFT_CDM_SCHEMA: ${{ secrets.CDM5_REDSHIFT_CDM_SCHEMA }} + CDM5_REDSHIFT_CDM_SCHEMA: ${{ secrets.CDM5_REDSHIFT_CDM54_SCHEMA }} CDM5_REDSHIFT_OHDSI_SCHEMA: ${{ secrets.CDM5_REDSHIFT_OHDSI_SCHEMA }} CDM5_REDSHIFT_PASSWORD: ${{ secrets.CDM5_REDSHIFT_PASSWORD }} CDM5_REDSHIFT_SERVER: ${{ secrets.CDM5_REDSHIFT_SERVER }} From 800e952fc984fe760cf96a2ad29e08808284f2e6 Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Fri, 15 Sep 2023 10:55:59 -0400 Subject: [PATCH 18/22] Allow passing of renv configuration options when running Strategus (#88) * Preserve renv config options * Fix local library locations and use withModuleEnv for module instantiation --- R/ModuleEnv.R | 39 +++++++++++++++++++++++++++++++++------ R/ModuleInstantiation.R | 31 ++++++++++++------------------- 2 files changed, 45 insertions(+), 25 deletions(-) diff --git a/R/ModuleEnv.R b/R/ModuleEnv.R index c95b58f9..995eb823 100644 --- a/R/ModuleEnv.R +++ b/R/ModuleEnv.R @@ -67,16 +67,31 @@ withModuleRenv <- function(code, script <- gsub(name, rep, script) } + # Attach renv options() from the calling environment to the renv::run context + # renv options are prefixed with "renv." as described in + # https://rstudio.github.io/renv/reference/config.html + envOptions <- options() + renvOptions <- envOptions[grepl("renv\\.", names(envOptions))] + if (length(renvOptions) > 0) { + for (i in 1:length(renvOptions)) { + script <- c(.copyOptionForScript( + optionName = names(renvOptions)[[i]], + optionValue = renvOptions[[i]] + ), script) + } + } + # Enforce attachment of Strategus from calling process - note one inside the renv if (useLocalStrategusLibrary) { script <- c(.getLocalLibraryScipt("Strategus"), script) # Adding Strategus dependencies to the script - c(.getLocalLibraryScipt("R6"), script) - c(.getLocalLibraryScipt("CohortGenerator"), script) - c(.getLocalLibraryScipt("DatabaseConnector"), script) - c(.getLocalLibraryScipt("keyring"), script) - c(.getLocalLibraryScipt("openssl"), script) - c(.getLocalLibraryScipt("dplyr"), script) + script <- c(.getLocalLibraryScipt("ParallelLogger"), script) + script <- c(.getLocalLibraryScipt("CohortGenerator"), script) + script <- c(.getLocalLibraryScipt("DatabaseConnector"), script) + script <- c(.getLocalLibraryScipt("keyring"), script) + script <- c(.getLocalLibraryScipt("openssl"), script) + script <- c(.getLocalLibraryScipt("dplyr"), script) + script <- c(.getLocalLibraryScipt("R6"), script) } # Write file and execute script inside an renv @@ -96,3 +111,15 @@ withModuleRenv <- function(code, libPath <- file.path(find.package(x), "../") sprintf("library(%s, lib.loc = '%s')", x, libPath) } + +.copyOptionForScript <- function(optionName, optionValue) { + if (is.logical(optionValue) || is.numeric(optionValue)) { + sprintf("options(%s = %s)", optionName, optionValue) + } else if (is.character(optionValue) && length(optionValue) == 1) { + sprintf("options(%s = '%s')", optionName, optionValue) + } else if (is.character(optionValue) && length(optionValue) > 1) { + sprintf("options(%s = c('%s'))", optionName, paste(optionValue, collapse = "','")) + } else { + paste0("# option = ", optionName, " - could not be passed to this file, likely because it is a function.") + } +} diff --git a/R/ModuleInstantiation.R b/R/ModuleInstantiation.R index 1ee21b66..9cca1720 100644 --- a/R/ModuleInstantiation.R +++ b/R/ModuleInstantiation.R @@ -191,25 +191,18 @@ instantiateModule <- function(module, version, remoteRepo, remoteUsername, modul stop(message) } - script <- paste( - c( - "renv::install(c('ParallelLogger', 'keyring'), prompt = FALSE)", - sprintf("ParallelLogger::addDefaultFileLogger(file.path('%s', 'moduleInitLog.txt'))", moduleFolder), - sprintf("ParallelLogger::addDefaultErrorReportLogger(fileName = file.path('%s', 'moduleInitErrorReport.txt'))", moduleFolder), - "renv::restore(prompt = FALSE)" - ), - collapse = "\n" - ) - tempScriptFile <- tempfile(fileext = ".R") - fileConn <- file(tempScriptFile) - writeLines(script, fileConn) - close(fileConn) - - renv::run( - script = tempScriptFile, - job = FALSE, - name = "Buidling renv library", - project = moduleFolder + withModuleRenv( + code = { + ParallelLogger::addDefaultFileLogger( + fileName = file.path(moduleFolder, 'moduleInitLog.txt') + ) + ParallelLogger::addDefaultErrorReportLogger( + fileName = file.path(moduleFolder, 'moduleInitErrorReport.txt') + ) + renv::restore(prompt = FALSE) + }, + moduleFolder = moduleFolder, + injectVars = list(moduleFolder = moduleFolder) ) success <- TRUE } From 00899d8122a8c3e53e79da590b54df6ad44a12d2 Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Mon, 25 Sep 2023 08:50:05 -0400 Subject: [PATCH 19/22] Update unit tests and only run code coverage on Linux (#89) --- .github/workflows/R_CMD_check_Hades.yaml | 4 ++-- tests/testthat/test-Strategus.R | 26 +++++++++++------------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/.github/workflows/R_CMD_check_Hades.yaml b/.github/workflows/R_CMD_check_Hades.yaml index 5a6bb062..0ba1cc92 100644 --- a/.github/workflows/R_CMD_check_Hades.yaml +++ b/.github/workflows/R_CMD_check_Hades.yaml @@ -99,13 +99,13 @@ jobs: path: check/*.tar.gz - name: Install covr - if: runner.os == 'Windows' + if: runner.os == 'Linux' run: | install.packages("covr") shell: Rscript {0} - name: Test coverage - if: runner.os == 'Windows' + if: runner.os == 'Linux' run: covr::codecov() shell: Rscript {0} diff --git a/tests/testthat/test-Strategus.R b/tests/testthat/test-Strategus.R index 5df2433e..312637d3 100644 --- a/tests/testthat/test-Strategus.R +++ b/tests/testthat/test-Strategus.R @@ -43,6 +43,7 @@ test_that("Run unit test study", { resultsConnectionDetailsReference <- NULL resultsDatabaseSchema <- NULL + # Only run this code if we're testing on SQLite if (dbms == "sqlite") { resultsConnectionDetailsReference <- "result-store" resultsDatabaseSchema <- "main" @@ -51,6 +52,17 @@ test_that("Run unit test study", { resultsConnectionDetailsReference, keyringName = keyringName ) + resultsExecutionSettings <- Strategus::createResultsExecutionSettings( + resultsConnectionDetailsReference = resultsConnectionDetailsReference, + resultsDatabaseSchema = resultsDatabaseSchema, + workFolder = workFolder, + resultsFolder = resultsFolder + ) + Strategus::createResultDataModels( + analysisSpecifications = analysisSpecifications, + executionSettings = resultsExecutionSettings, + keyringName = keyringName + ) } executionSettings <- createCdmExecutionSettings( @@ -78,20 +90,6 @@ test_that("Run unit test study", { fileName = file.path(studyRootFolder, "eunomiaExecutionSettings.json") ) - if (dbms == "sqlite") { - resultsExecutionSettings <- Strategus::createResultsExecutionSettings( - resultsConnectionDetailsReference = resultsConnectionDetailsReference, - resultsDatabaseSchema = resultsDatabaseSchema, - workFolder = workFolder, - resultsFolder = resultsFolder - ) - Strategus::createResultDataModels( - analysisSpecifications = analysisSpecifications, - executionSettings = resultsExecutionSettings, - keyringName = keyringName - ) - } - Strategus::execute( analysisSpecifications = analysisSpecifications, executionSettings = executionSettings, From 27233616aa9996b5ac63eb5fd14612ffd36f5434 Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Mon, 2 Oct 2023 10:19:08 -0400 Subject: [PATCH 20/22] Update documentation (#90) * Updating documentation * Add Linux keyring guidance to README * Revise vignette eval flags --- DESCRIPTION | 6 +- R/Execution.R | 68 +- R/ModuleEnv.R | 4 +- R/ModuleInstantiation.R | 4 +- R/ResultModelCreation.R | 73 +- R/ResultsUpload.R | 154 ++- R/RunModule.R | 115 +- README.md | 16 +- docs/404.html | 4 +- .../CreatingAnalysisSpecification.html | 245 +++- docs/articles/CreatingModules.html | 88 +- docs/articles/ExecuteStrategus.html | 6 +- docs/articles/IntroductionToStrategus.html | 22 +- docs/articles/index.html | 4 +- docs/authors.html | 16 +- docs/index.html | 13 +- docs/news/index.html | 4 +- docs/pkgdown.yml | 4 +- docs/pull_request_template.html | 4 +- docs/reference/Strategus-package.html | 5 +- docs/reference/addModuleSpecifications.html | 4 +- docs/reference/addSharedResources.html | 4 +- .../reference/createCdmExecutionSettings.html | 32 +- .../createEmptyAnalysisSpecificiations.html | 4 +- docs/reference/createResultDataModels.html | 147 ++ .../createResultsExecutionSettings.html | 16 +- docs/reference/dot-nullList.html | 105 ++ .../ensureAllModulesInstantiated.html | 4 +- docs/reference/execute.html | 4 +- docs/reference/getModuleList.html | 4 +- docs/reference/index.html | 17 +- docs/reference/retrieveConnectionDetails.html | 4 +- docs/reference/runSchemaCreation.html | 145 ++ docs/reference/storeConnectionDetails.html | 4 +- docs/reference/unlockKeyring.html | 4 +- docs/reference/withModuleRenv.html | 161 +++ docs/sitemap.xml | 12 + extras/PackageMaintenance.R | 1 + extras/Strategus.pdf | Bin 122937 -> 140210 bytes inst/csv/modules.csv | 2 +- inst/doc/CreatingAnalysisSpecification.pdf | Bin 0 -> 260712 bytes inst/doc/CreatingModules.pdf | Bin 0 -> 220983 bytes inst/doc/ExecuteStrategus.pdf | Bin 0 -> 228442 bytes inst/doc/IntroductionToStrategus.pdf | Bin 0 -> 171525 bytes man/Strategus-package.Rd | 4 +- tests/testthat/setup.R | 42 +- vignettes/CreatingAnalysisSpecification.Rmd | 22 +- vignettes/CreatingModules.Rmd | 34 +- vignettes/IntroductionToStrategus.Rmd | 2 +- .../extras/CreateJobContextForTesting.R | 143 ++ vignettes/module_skeleton/renv/.gitignore | 7 + vignettes/module_skeleton/renv/activate.R | 1201 +++++++++++++++++ vignettes/module_skeleton/renv/settings.dcf | 10 + vignettes/module_skeleton/renv/settings.json | 19 + .../module_skeleton/tests/test-eunomia.R | 41 + .../module_skeleton/tests/testJobContext.rds | Bin 0 -> 2015 bytes vignettes/module_skeleton/tests/testScript.R | 10 + 57 files changed, 2668 insertions(+), 396 deletions(-) create mode 100644 docs/reference/createResultDataModels.html create mode 100644 docs/reference/dot-nullList.html create mode 100644 docs/reference/runSchemaCreation.html create mode 100644 docs/reference/withModuleRenv.html create mode 100644 inst/doc/CreatingAnalysisSpecification.pdf create mode 100644 inst/doc/CreatingModules.pdf create mode 100644 inst/doc/ExecuteStrategus.pdf create mode 100644 inst/doc/IntroductionToStrategus.pdf create mode 100644 vignettes/module_skeleton/extras/CreateJobContextForTesting.R create mode 100644 vignettes/module_skeleton/renv/.gitignore create mode 100644 vignettes/module_skeleton/renv/activate.R create mode 100644 vignettes/module_skeleton/renv/settings.dcf create mode 100644 vignettes/module_skeleton/renv/settings.json create mode 100644 vignettes/module_skeleton/tests/test-eunomia.R create mode 100644 vignettes/module_skeleton/tests/testJobContext.rds create mode 100644 vignettes/module_skeleton/tests/testScript.R diff --git a/DESCRIPTION b/DESCRIPTION index f23ebde2..a19bfc14 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -2,10 +2,10 @@ Package: Strategus Type: Package Title: Coordinating and Executing Analytics Using HADES Modules Version: 0.1.0 -Date: 2023-08-15 +Date: 2023-09-25 Authors@R: c( - person("Martijn", "Schuemie", email = "schuemie@ohdsi.org", role = c("aut", "cre")), - person("Anthony", "Sena", email = "sena@ohdsi.org", role = c("aut")), + person("Martijn", "Schuemie", email = "schuemie@ohdsi.org", role = c("aut")), + person("Anthony", "Sena", email = "sena@ohdsi.org", role = c("aut", "cre")), person("Jamie", "Gilbert", role = c("aut")), person("Observational Health Data Science and Informatics", role = c("cph")) ) diff --git a/R/Execution.R b/R/Execution.R index 44c0ca5a..c4e29680 100644 --- a/R/Execution.R +++ b/R/Execution.R @@ -102,32 +102,33 @@ generateTargetsScript <- function(analysisSpecifications, executionSettings, dep } ### Note anything inisde this block will be scoped inside the targets script file - targets::tar_script({ - ## - # Generated by Strategus - not advisable to edit by hand - ## - analysisSpecificationsLoad <- readRDS(analysisSpecificationsFileName) - moduleToTargetNames <- readRDS(moduleToTargetNamesFileName) - dependencies <- readRDS(dependenciesFileName) - - targets::tar_option_set(packages = c("Strategus", "keyring"), imports = c("Strategus", "keyring")) - targetList <- list( - targets::tar_target(analysisSpecifications, readRDS(analysisSpecificationsFileName)), - # NOTE Execution settings could be mapped to many different cdms making re-execution across cdms much simpler - targets::tar_target(executionSettings, readRDS(executionSettingsFileName)), - targets::tar_target(keyringSettings, readRDS(keyringSettingsFileName)) - ) - - # factory for producing module targets based on their dependencies - # This could be inside Strategus as an exported function - # it would also be much cleaner to use a targets pattern = cross(analysisSpecifications$moduleSpecifications) - # however, working out how to handle dependencies wasn't obvious - # This approach could be modified to allow multiple executionSettings, but that would require a substantial re-write - for (i in 1:length(analysisSpecificationsLoad$moduleSpecifications)) { - moduleSpecification <- analysisSpecificationsLoad$moduleSpecifications[[i]] - targetName <- sprintf("%s_%d", moduleSpecification$module, i) - dependencyModules <- dependencies[dependencies$module == moduleSpecification$module,]$dependsOn - dependencyTargetNames <- moduleToTargetNames[moduleToTargetNames$module %in% dependencyModules,]$targetName + targets::tar_script( + { + ## + # Generated by Strategus - not advisable to edit by hand + ## + analysisSpecificationsLoad <- readRDS(analysisSpecificationsFileName) + moduleToTargetNames <- readRDS(moduleToTargetNamesFileName) + dependencies <- readRDS(dependenciesFileName) + + targets::tar_option_set(packages = c("Strategus", "keyring"), imports = c("Strategus", "keyring")) + targetList <- list( + targets::tar_target(analysisSpecifications, readRDS(analysisSpecificationsFileName)), + # NOTE Execution settings could be mapped to many different cdms making re-execution across cdms much simpler + targets::tar_target(executionSettings, readRDS(executionSettingsFileName)), + targets::tar_target(keyringSettings, readRDS(keyringSettingsFileName)) + ) + + # factory for producing module targets based on their dependencies + # This could be inside Strategus as an exported function + # it would also be much cleaner to use a targets pattern = cross(analysisSpecifications$moduleSpecifications) + # however, working out how to handle dependencies wasn't obvious + # This approach could be modified to allow multiple executionSettings, but that would require a substantial re-write + for (i in 1:length(analysisSpecificationsLoad$moduleSpecifications)) { + moduleSpecification <- analysisSpecificationsLoad$moduleSpecifications[[i]] + targetName <- sprintf("%s_%d", moduleSpecification$module, i) + dependencyModules <- dependencies[dependencies$module == moduleSpecification$module, ]$dependsOn + dependencyTargetNames <- moduleToTargetNames[moduleToTargetNames$module %in% dependencyModules, ]$targetName # Use of tar_target_raw allows dynamic names targetList[[length(targetList) + 1]] <- targets::tar_target_raw(targetName, @@ -148,9 +149,11 @@ generateTargetsScript <- function(analysisSpecifications, executionSettings, dep } } targetList - }, script = fileName) + }, + script = fileName + ) - #Store settings objects in the temp folder so they are available in targets + # Store settings objects in the temp folder so they are available in targets analysisSpecificationsFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "analysisSpecifications.rds")) saveRDS(analysisSpecifications, analysisSpecificationsFileName) executionSettingsFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "executionSettings.rds")) @@ -175,9 +178,11 @@ generateTargetsScript <- function(analysisSpecifications, executionSettings, dep dependenciesFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "dependencies.rds")) saveRDS(dependencies, dependenciesFileName) - execResultsUpload <- all(c(is(executionSettings, "CdmExecutionSettings"), - !is.null(executionSettings$resultsConnectionDetailsReference), - !is.null(executionSettings$resultsDatabaseSchema))) + execResultsUpload <- all(c( + is(executionSettings, "CdmExecutionSettings"), + !is.null(executionSettings$resultsConnectionDetailsReference), + !is.null(executionSettings$resultsDatabaseSchema) + )) # Settings required inside script. There is probably a much cleaner way of doing this writeLines(c( @@ -192,4 +197,3 @@ generateTargetsScript <- function(analysisSpecifications, executionSettings, dep return(fileName) } - diff --git a/R/ModuleEnv.R b/R/ModuleEnv.R index 995eb823..b26de8ba 100644 --- a/R/ModuleEnv.R +++ b/R/ModuleEnv.R @@ -14,12 +14,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -.handleInjectVar <- function (x) { +.handleInjectVar <- function(x) { hVar <- function(x) { if (is.character(x)) { return(sprintf('"%s"', x)) } else { - return(sprintf('%s', x)) + return(sprintf("%s", x)) } } diff --git a/R/ModuleInstantiation.R b/R/ModuleInstantiation.R index 9cca1720..df27152f 100644 --- a/R/ModuleInstantiation.R +++ b/R/ModuleInstantiation.R @@ -194,10 +194,10 @@ instantiateModule <- function(module, version, remoteRepo, remoteUsername, modul withModuleRenv( code = { ParallelLogger::addDefaultFileLogger( - fileName = file.path(moduleFolder, 'moduleInitLog.txt') + fileName = file.path(moduleFolder, "moduleInitLog.txt") ) ParallelLogger::addDefaultErrorReportLogger( - fileName = file.path(moduleFolder, 'moduleInitErrorReport.txt') + fileName = file.path(moduleFolder, "moduleInitErrorReport.txt") ) renv::restore(prompt = FALSE) }, diff --git a/R/ResultModelCreation.R b/R/ResultModelCreation.R index 78f988d4..2446561a 100644 --- a/R/ResultModelCreation.R +++ b/R/ResultModelCreation.R @@ -53,22 +53,23 @@ createResultDataModels <- function(analysisSpecifications, ## # Code execution inside targets block ## - targets::tar_script({ - ## - # Generated by Strategus - not advisable to edit by hand - ## - analysisSpecificationsLoad <- readRDS(analysisSpecificationsFileName) - - targets::tar_option_set(packages = c("Strategus", "keyring"), imports = c("Strategus", "keyring")) - targetList <- list( - targets::tar_target(analysisSpecifications, readRDS(analysisSpecificationsFileName)), - targets::tar_target(executionSettings, readRDS(executionSettingsFileName)), - targets::tar_target(keyringSettings, readRDS(keyringSettingsFileName)) - ) - - for (i in 1:length(analysisSpecificationsLoad$moduleSpecifications)) { - moduleSpecification <- analysisSpecificationsLoad$moduleSpecifications[[i]] - targetName <- sprintf("%s_%d_schema_creation", moduleSpecification$module, i) + targets::tar_script( + { + ## + # Generated by Strategus - not advisable to edit by hand + ## + analysisSpecificationsLoad <- readRDS(analysisSpecificationsFileName) + + targets::tar_option_set(packages = c("Strategus", "keyring"), imports = c("Strategus", "keyring")) + targetList <- list( + targets::tar_target(analysisSpecifications, readRDS(analysisSpecificationsFileName)), + targets::tar_target(executionSettings, readRDS(executionSettingsFileName)), + targets::tar_target(keyringSettings, readRDS(keyringSettingsFileName)) + ) + + for (i in 1:length(analysisSpecificationsLoad$moduleSpecifications)) { + moduleSpecification <- analysisSpecificationsLoad$moduleSpecifications[[i]] + targetName <- sprintf("%s_%d_schema_creation", moduleSpecification$module, i) # Use of tar_target_raw allows dynamic names targetList[[length(targetList) + 1]] <- targets::tar_target_raw(targetName, @@ -83,7 +84,7 @@ createResultDataModels <- function(analysisSpecifications, script = script ) - #Store settings objects in the temp folder so they are available in targets + # Store settings objects in the temp folder so they are available in targets analysisSpecificationsFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "analysisSpecifications.rds")) saveRDS(analysisSpecifications, analysisSpecificationsFileName) executionSettingsFileName <- gsub("\\\\", "/", file.path(executionScriptFolder, "executionSettings.rds")) @@ -175,29 +176,28 @@ runSchemaCreation <- function(analysisSpecifications, keyringSettings, moduleInd createDataModelSchema <- NULL getDataModelSpecifications <- function(...) { - if (file.exists('resultsDataModelSpecification.csv')) { + if (file.exists("resultsDataModelSpecification.csv")) { res <- CohortGenerator::readCsv( - file = 'resultsDataModelSpecification.csv' + file = "resultsDataModelSpecification.csv" ) return(res) } return(NULL) } - source('Main.R') + source("Main.R") jobContext <- readRDS(jobContextFileName) specifications <- getDataModelSpecifications(jobContext) - if (Sys.getenv('FORCE_RENV_USE', '') == 'TRUE') { - renv::use(lockfile = 'renv.lock') + if (Sys.getenv("FORCE_RENV_USE", "") == "TRUE") { + renv::use(lockfile = "renv.lock") } - ParallelLogger::addDefaultFileLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'log.txt')) - ParallelLogger::addDefaultErrorReportLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'errorReportR.txt')) + ParallelLogger::addDefaultFileLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, "log.txt")) + ParallelLogger::addDefaultErrorReportLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, "errorReportR.txt")) # Main.R can override default behaviour by implementing this function if (is.function(createDataModelSchema)) { - # If the keyring is locked, unlock it, set the value and then re-lock it keyringName <- jobContext$keyringSettings$keyringName keyringLocked <- Strategus::unlockKeyring(keyringName = keyringName) @@ -212,7 +212,7 @@ runSchemaCreation <- function(analysisSpecifications, keyringSettings, moduleInd if (keyringLocked) { keyring::keyring_lock(keyring = keyringName) } - writeLines('schema.created', doneFile) + writeLines("schema.created", doneFile) } else if (is.data.frame(specifications)) { # Export schema to readable location CohortGenerator::writeCsv( @@ -220,7 +220,7 @@ runSchemaCreation <- function(analysisSpecifications, keyringSettings, moduleInd file = dataModelExportPath, warnOnCaseMismatch = FALSE ) - writeLines('specifications.written', doneFile) + writeLines("specifications.written", doneFile) } else { warning("Module does not include data specifications file or createDataModelSchema function") CohortGenerator::writeCsv( @@ -228,11 +228,11 @@ runSchemaCreation <- function(analysisSpecifications, keyringSettings, moduleInd file = dataModelExportPath, warnOnCaseMismatch = FALSE ) - writeLines('specifications.not.written', doneFile) + writeLines("specifications.not.written", doneFile) } - ParallelLogger::unregisterLogger('DEFAULT_FILE_LOGGER', silent = TRUE) - ParallelLogger::unregisterLogger('DEFAULT_ERRORREPORT_LOGGER', silent = TRUE) + ParallelLogger::unregisterLogger("DEFAULT_FILE_LOGGER", silent = TRUE) + ParallelLogger::unregisterLogger("DEFAULT_ERRORREPORT_LOGGER", silent = TRUE) }, moduleFolder = moduleFolder, tempScriptFile = file.path(moduleExecutionSettings$workSubFolder, "SchemaCreation.R"), @@ -244,8 +244,8 @@ runSchemaCreation <- function(analysisSpecifications, keyringSettings, moduleInd ) workStatus <- readLines(doneFile) - if (workStatus == 'specifications.written') { - moduleInfo <- ParallelLogger::loadSettingsFromJson(file.path(moduleFolder, 'MetaData.json')) + if (workStatus == "specifications.written") { + moduleInfo <- ParallelLogger::loadSettingsFromJson(file.path(moduleFolder, "MetaData.json")) keyringName <- jobContext$keyringSettings$keyringName keyringLocked <- Strategus::unlockKeyring(keyringName = keyringName) @@ -258,14 +258,15 @@ runSchemaCreation <- function(analysisSpecifications, keyringSettings, moduleInd sql <- ResultModelManager::generateSqlSchema(csvFilepath = dataModelExportPath) DatabaseConnector::renderTranslateExecuteSql(connection, - sql, - table_prefix = moduleInfo$TablePrefix, - database_schema = jobContext$moduleExecutionSettings$resultsDatabaseSchema) + sql, + table_prefix = moduleInfo$TablePrefix, + database_schema = jobContext$moduleExecutionSettings$resultsDatabaseSchema + ) if (keyringLocked) { keyring::keyring_lock(keyring = keyringName) } - } else if (workStatus == 'schema.created') { + } else if (workStatus == "schema.created") { message("Result schema creation handled inside module execution envrionment") } else { message("Schema not created for module") diff --git a/R/ResultsUpload.R b/R/ResultsUpload.R index 85abd85a..0a3ad60a 100644 --- a/R/ResultsUpload.R +++ b/R/ResultsUpload.R @@ -58,74 +58,76 @@ runResultsUpload <- function(analysisSpecifications, keyringSettings, moduleInde ## # Module space executed code ## - withModuleRenv({ - uploadResultsCallback <- NULL - - getDataModelSpecifications <- function(...) { - ParallelLogger::logInfo("Getting result model specification") - if (file.exists('resultsDataModelSpecification.csv')) { - res <- CohortGenerator::readCsv( - file = 'resultsDataModelSpecification.csv' - ) - return(res) + withModuleRenv( + { + uploadResultsCallback <- NULL + + getDataModelSpecifications <- function(...) { + ParallelLogger::logInfo("Getting result model specification") + if (file.exists("resultsDataModelSpecification.csv")) { + res <- CohortGenerator::readCsv( + file = "resultsDataModelSpecification.csv" + ) + return(res) + } + ParallelLogger::logInfo("No result model specification found") + return(NULL) } - ParallelLogger::logInfo("No result model specification found") - return(NULL) - } - source('Main.R') - moduleInfo <- ParallelLogger::loadSettingsFromJson('MetaData.json') - jobContext <- readRDS(jobContextFileName) - specifications <- getDataModelSpecifications(jobContext) - ParallelLogger::addDefaultFileLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'log.txt')) - ParallelLogger::addDefaultErrorReportLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'errorReportR.txt')) - - if (Sys.getenv('FORCE_RENV_USE', '') == 'TRUE') { - renv::use(lockfile = 'renv.lock') - } - - # Override default behaviour and do module specific upload inside module context? - if (is.function(uploadResultsCallback)) { - ParallelLogger::logInfo("Calling module result upload functionality") - # If the keyring is locked, unlock it, set the value and then re-lock it - ParallelLogger::logInfo("-- Getting result database credentials") - keyringName <- jobContext$keyringSettings$keyringName - keyringLocked <- Strategus::unlockKeyring(keyringName = keyringName) - resultsConnectionDetails <- keyring::key_get(jobContext$moduleExecutionSettings$resultsConnectionDetailsReference, keyring = keyringName) - resultsConnectionDetails <- ParallelLogger::convertJsonToSettings(resultsConnectionDetails) - resultsConnectionDetails <- do.call(DatabaseConnector::createConnectionDetails, resultsConnectionDetails) - jobContext$moduleExecutionSettings$resultsConnectionDetails <- resultsConnectionDetails - ParallelLogger::logInfo("-- Executing upload callback") - uploadResultsCallback(jobContext) - if (keyringLocked) { - keyring::keyring_lock(keyring = keyringName) + source("Main.R") + moduleInfo <- ParallelLogger::loadSettingsFromJson("MetaData.json") + jobContext <- readRDS(jobContextFileName) + specifications <- getDataModelSpecifications(jobContext) + ParallelLogger::addDefaultFileLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, "log.txt")) + ParallelLogger::addDefaultErrorReportLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, "errorReportR.txt")) + + if (Sys.getenv("FORCE_RENV_USE", "") == "TRUE") { + renv::use(lockfile = "renv.lock") } - ParallelLogger::logInfo("-- Upload completed") - writeLines('results.uploaded', doneFile) - } else if (is.null(specifications)) { - ParallelLogger::logInfo("No result specifications found, assuming module has produced no results") - # NO spect file Status - warning('data model specifications not loaded from module - skipping results upload') - writeLines('no.spec.found', doneFile) - } else { - # Spec file written - ParallelLogger::logInfo("Writing spec for result upload outside of module context") - CohortGenerator::writeCsv( - x = specifications, - file = dataModelExportPath, - warnOnFileNameCaseMismatch = FALSE - ) - writeLines('specifications.written', doneFile) - } - ParallelLogger::unregisterLogger('DEFAULT_FILE_LOGGER', silent = TRUE) - ParallelLogger::unregisterLogger('DEFAULT_ERRORREPORT_LOGGER', silent = TRUE) + # Override default behaviour and do module specific upload inside module context? + if (is.function(uploadResultsCallback)) { + ParallelLogger::logInfo("Calling module result upload functionality") + # If the keyring is locked, unlock it, set the value and then re-lock it + ParallelLogger::logInfo("-- Getting result database credentials") + keyringName <- jobContext$keyringSettings$keyringName + keyringLocked <- Strategus::unlockKeyring(keyringName = keyringName) + resultsConnectionDetails <- keyring::key_get(jobContext$moduleExecutionSettings$resultsConnectionDetailsReference, keyring = keyringName) + resultsConnectionDetails <- ParallelLogger::convertJsonToSettings(resultsConnectionDetails) + resultsConnectionDetails <- do.call(DatabaseConnector::createConnectionDetails, resultsConnectionDetails) + jobContext$moduleExecutionSettings$resultsConnectionDetails <- resultsConnectionDetails + ParallelLogger::logInfo("-- Executing upload callback") + uploadResultsCallback(jobContext) + if (keyringLocked) { + keyring::keyring_lock(keyring = keyringName) + } + ParallelLogger::logInfo("-- Upload completed") + writeLines("results.uploaded", doneFile) + } else if (is.null(specifications)) { + ParallelLogger::logInfo("No result specifications found, assuming module has produced no results") + # NO spect file Status + warning("data model specifications not loaded from module - skipping results upload") + writeLines("no.spec.found", doneFile) + } else { + # Spec file written + ParallelLogger::logInfo("Writing spec for result upload outside of module context") + CohortGenerator::writeCsv( + x = specifications, + file = dataModelExportPath, + warnOnFileNameCaseMismatch = FALSE + ) + writeLines("specifications.written", doneFile) + } - }, + ParallelLogger::unregisterLogger("DEFAULT_FILE_LOGGER", silent = TRUE) + ParallelLogger::unregisterLogger("DEFAULT_ERRORREPORT_LOGGER", silent = TRUE) + }, moduleFolder = moduleFolder, tempScriptFile = tempScriptFile, - injectVars = list(jobContextFileName = jobContextFileName, - dataModelExportPath = dataModelExportPath, - doneFile = doneFile) + injectVars = list( + jobContextFileName = jobContextFileName, + dataModelExportPath = dataModelExportPath, + doneFile = doneFile + ) ) ## # end Module executed code @@ -142,10 +144,10 @@ runResultsUpload <- function(analysisSpecifications, keyringSettings, moduleInde workStatus <- readLines(doneFile) - if (workStatus == 'specifications.written') { + if (workStatus == "specifications.written") { ParallelLogger::logInfo("Uploading results according to module specification") specifications <- CohortGenerator::readCsv(dataModelExportPath) - moduleInfo <- ParallelLogger::loadSettingsFromJson(file.path(moduleFolder, 'MetaData.json')) + moduleInfo <- ParallelLogger::loadSettingsFromJson(file.path(moduleFolder, "MetaData.json")) keyringName <- jobContext$keyringSettings$keyringName keyringLocked <- Strategus::unlockKeyring(keyringName = keyringName) @@ -157,22 +159,24 @@ runResultsUpload <- function(analysisSpecifications, keyringSettings, moduleInde jobContext$moduleExecutionSettings$resultsConnectionDetails <- resultsConnectionDetails ParallelLogger::logInfo("Calling RMM for upload") - ResultModelManager::uploadResults(connectionDetails = jobContext$moduleExecutionSettings$resultsConnectionDetails, - schema = jobContext$moduleExecutionSettings$resultsDatabaseSchema, - resultsFolder = jobContext$moduleExecutionSettings$resultsSubFolder, - tablePrefix = moduleInfo$TablePrefix, - forceOverWriteOfSpecifications = FALSE, - purgeSiteDataBeforeUploading = FALSE, - databaseIdentifierFile = 'database_meta_data.csv', - runCheckAndFixCommands = FALSE, - warnOnMissingTable = TRUE, - specifications = specifications) + ResultModelManager::uploadResults( + connectionDetails = jobContext$moduleExecutionSettings$resultsConnectionDetails, + schema = jobContext$moduleExecutionSettings$resultsDatabaseSchema, + resultsFolder = jobContext$moduleExecutionSettings$resultsSubFolder, + tablePrefix = moduleInfo$TablePrefix, + forceOverWriteOfSpecifications = FALSE, + purgeSiteDataBeforeUploading = FALSE, + databaseIdentifierFile = "database_meta_data.csv", + runCheckAndFixCommands = FALSE, + warnOnMissingTable = TRUE, + specifications = specifications + ) ParallelLogger::logInfo("Upload completed") if (keyringLocked) { keyring::keyring_lock(keyring = keyringName) } - } else if (workStatus == 'results.uploaded') { + } else if (workStatus == "results.uploaded") { message("Result upload handled inside module execution envrionment") } else { message("Results not uploaded for module") diff --git a/R/RunModule.R b/R/RunModule.R index 72c02f59..d7087afb 100644 --- a/R/RunModule.R +++ b/R/RunModule.R @@ -64,67 +64,68 @@ runModule <- function(analysisSpecifications, keyringSettings, moduleIndex, exec stop("Unhandled executionSettings class! Must be one of the following: CdmExecutionSettings, ResultsExecutionSettings") } withModuleRenv( - code = { - ############################ - # Generated by strategus - do not modify by hand - ############################ - source('Main.R') - jobContext <- readRDS(jobContextFileName) - - unlockKeyring <- function(keyringName) { - # If the keyring is locked, unlock it, set the value and then re-lock it - keyringLocked <- keyring::keyring_is_locked(keyring = keyringName) - if (keyringLocked) { - keyring::keyring_unlock(keyring = keyringName, password = Sys.getenv('STRATEGUS_KEYRING_PASSWORD')) - } - return(keyringLocked) - } - - keyringName <- jobContext$keyringSettings$keyringName - keyringLocked <- unlockKeyring(keyringName = keyringName) - - ParallelLogger::addDefaultFileLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'log.txt')) - ParallelLogger::addDefaultErrorReportLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, 'errorReport.R')) - - options(andromedaTempFolder = file.path(jobContext$moduleExecutionSettings$workFolder, 'andromedaTemp')) + code = { + ############################ + # Generated by strategus - do not modify by hand + ############################ + source("Main.R") + jobContext <- readRDS(jobContextFileName) + + unlockKeyring <- function(keyringName) { + # If the keyring is locked, unlock it, set the value and then re-lock it + keyringLocked <- keyring::keyring_is_locked(keyring = keyringName) + if (keyringLocked) { + keyring::keyring_unlock(keyring = keyringName, password = Sys.getenv("STRATEGUS_KEYRING_PASSWORD")) + } + return(keyringLocked) + } + + keyringName <- jobContext$keyringSettings$keyringName + keyringLocked <- unlockKeyring(keyringName = keyringName) + + ParallelLogger::addDefaultFileLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, "log.txt")) + ParallelLogger::addDefaultErrorReportLogger(file.path(jobContext$moduleExecutionSettings$resultsSubFolder, "errorReport.R")) + + options(andromedaTempFolder = file.path(jobContext$moduleExecutionSettings$workFolder, "andromedaTemp")) options(tempEmulationSchema = jobContext$moduleExecutionSettings$tempEmulationSchema) options(databaseConnectorIntegerAsNumeric = jobContext$moduleExecutionSettings$integerAsNumeric) options(databaseConnectorInteger64AsNumeric = jobContext$moduleExecutionSettings$integer64AsNumeric) - if (Sys.getenv('FORCE_RENV_USE', '') == 'TRUE') { - renv::use(lockfile = 'renv.lock') - } - - # NOTE injected variable isResultsExecution - will look strange outside of Strategus definition - if (isCdmExecution) { - connectionDetails <- Strategus::retrieveConnectionDetails( - connectionDetailsReference = jobContext$moduleExecutionSettings$connectionDetailsReference, - keyringName = keyringName - ) - jobContext$moduleExecutionSettings$connectionDetails <- connectionDetails - } else { - resultsConnectionDetails <- Strategus::retrieveConnectionDetails( - connectionDetailsReference = jobContext$moduleExecutionSettings$resultsConnectionDetailsReference, - keyringName = keyringName - ) - jobContext$moduleExecutionSettings$resultsConnectionDetails <- resultsConnectionDetails - } - if (keyringLocked) { - keyring::keyring_lock(keyring = keyringName) - } - execute(jobContext) - - ParallelLogger::unregisterLogger('DEFAULT_FILE_LOGGER', silent = TRUE) - ParallelLogger::unregisterLogger('DEFAULT_ERRORREPORT_LOGGER', silent = TRUE) - writeLines('done', doneFile) - - }, - tempScriptFile = tempScriptFile, - moduleFolder = moduleFolder, - injectVars = list(doneFile = doneFile, - isCdmExecution = isCdmExecution, - jobContextFileName = jobContextFileName) - ) + if (Sys.getenv("FORCE_RENV_USE", "") == "TRUE") { + renv::use(lockfile = "renv.lock") + } + + # NOTE injected variable isResultsExecution - will look strange outside of Strategus definition + if (isCdmExecution) { + connectionDetails <- Strategus::retrieveConnectionDetails( + connectionDetailsReference = jobContext$moduleExecutionSettings$connectionDetailsReference, + keyringName = keyringName + ) + jobContext$moduleExecutionSettings$connectionDetails <- connectionDetails + } else { + resultsConnectionDetails <- Strategus::retrieveConnectionDetails( + connectionDetailsReference = jobContext$moduleExecutionSettings$resultsConnectionDetailsReference, + keyringName = keyringName + ) + jobContext$moduleExecutionSettings$resultsConnectionDetails <- resultsConnectionDetails + } + if (keyringLocked) { + keyring::keyring_lock(keyring = keyringName) + } + execute(jobContext) + + ParallelLogger::unregisterLogger("DEFAULT_FILE_LOGGER", silent = TRUE) + ParallelLogger::unregisterLogger("DEFAULT_ERRORREPORT_LOGGER", silent = TRUE) + writeLines("done", doneFile) + }, + tempScriptFile = tempScriptFile, + moduleFolder = moduleFolder, + injectVars = list( + doneFile = doneFile, + isCdmExecution = isCdmExecution, + jobContextFileName = jobContextFileName + ) + ) if (!file.exists(doneFile)) { message <- paste( diff --git a/README.md b/README.md index 9ba8b018..39a7921b 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Strategus Introduction ============ -Strategus is an R package for coordinating and executing analytics using HADES modules. +Strategus is an R package for coordinating and executing analytics using HADES modules. Please see the [Introduction To Strategus](https://ohdsi.github.io/Strategus/articles/IntroductionToStrategus.html) for more details. Features ======== @@ -21,11 +21,11 @@ Strategus is an R package. System Requirements ============ -Requires R (version 4.0.0 or higher). Installation on Windows requires [RTools](https://cran.r-project.org/bin/windows/Rtools/). Libraries used in Strategus require Java. +Requires R (version 4.2.0 or higher). Installation on Windows requires [RTools](https://cran.r-project.org/bin/windows/Rtools/). Libraries used in Strategus require Java. Strategus requires you to setup your GitHub Personal Access Token as described [here](https://ohdsi.github.io/Hades/rSetup.html#GitHub_Personal_Access_Token) Installation ============= -1. See the instructions [here](https://ohdsi.github.io/Hades/rSetup.html) for configuring your R environment, including RTools and Java. +1. See the instructions [here](https://ohdsi.github.io/Hades/rSetup.html) for configuring your R environment, including RTools, Java and your GitHub Personal Access Token. 2. In R, use the following commands to download and install Strategus: @@ -33,7 +33,15 @@ Installation install.packages("remotes") remotes::install_github("ohdsi/Strategus") ``` - +3. If using Linux, please refer to the [keyring Linux secret service setup](https://r-lib.github.io/keyring/index.html#linux) as this is required to execute studies using Strategus. In addition to those instructions, members of the OHDSI community have shared the following guidance: + +Run in a terminal the following before installing keyring: + +```bash +sudo yum install libsodium libsodium-devel +sudo yum install libsecret libsecret-devel +sudo chmod 777 /home/idies/.config +``` User Documentation ================== diff --git a/docs/404.html b/docs/404.html index e713abb3..09410908 100644 --- a/docs/404.html +++ b/docs/404.html @@ -32,7 +32,7 @@ Strategus - 0.0.6 + 0.1.0 @@ -107,7 +107,7 @@

Page not found (404)