From 617b26de81c217531072a726b39cc30df4ae23e5 Mon Sep 17 00:00:00 2001 From: Josh Sumner <51797700+joshqsumner@users.noreply.github.com> Date: Wed, 30 Jul 2025 08:40:11 -0500 Subject: [PATCH 01/19] skipping some test on CI --- tests/testthat/test-brmsModels.R | 1752 +++++++++++++++--------------- 1 file changed, 900 insertions(+), 852 deletions(-) diff --git a/tests/testthat/test-brmsModels.R b/tests/testthat/test-brmsModels.R index cf529bc6..9e042ead 100644 --- a/tests/testthat/test-brmsModels.R +++ b/tests/testthat/test-brmsModels.R @@ -129,11 +129,16 @@ test_that("Logistic brms model pipeline", { x <- suppressWarnings(barg(fit_list, list(ss, ss))) }) +#* *********************************** +#* ***** `Not Run on the remote` ***** +#* *********************************** + test_that("distPlot works with many models", { skip_if_not_installed("brms") skip_if_not_installed("cmdstanr") skip_on_cran() skip_if_offline(host = "r-project.org") + skip_on_ci() options(cmdstanr_warn_inits = FALSE) load(url("https://raw.githubusercontent.com/joshqsumner/pcvrTestData/main/brmsFits.rdata")) fits <- list(fit_3, fit_15) @@ -158,6 +163,7 @@ test_that("brms model warns about priors", { skip_if_not_installed("brms") skip_if_not_installed("cmdstanr") skip_on_cran() + skip_on_ci() options(cmdstanr_warn_inits = FALSE) set.seed(123) simdf <- growthSim( @@ -186,6 +192,7 @@ test_that("Hierarchical Model Works", { skip_if_not_installed("brms") skip_if_not_installed("cmdstanr") skip_on_cran() + skip_on_ci() options(cmdstanr_warn_inits = FALSE) set.seed(123) simdf <- growthSim( @@ -269,6 +276,7 @@ test_that("weibull survival", { skip_if_not_installed("brms") skip_if_not_installed("cmdstanr") skip_on_cran() + skip_on_ci() options(cmdstanr_warn_inits = FALSE) set.seed(123) model <- "survival" @@ -293,6 +301,7 @@ test_that("binomial survival", { skip_if_not_installed("brms") skip_if_not_installed("cmdstanr") skip_on_cran() + skip_on_ci() options(cmdstanr_warn_inits = FALSE) set.seed(123) model <- "survival binomial" @@ -313,8 +322,8 @@ test_that("binomial survival", { test_that(".brmSurvSS options all work", { set.seed(123) df <- growthSim("logistic", - n = 20, t = 25, - params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) + n = 20, t = 25, + params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) ) surv <- .survModelParser("survival weibull") ss <- suppressMessages( @@ -358,7 +367,7 @@ test_that(".brmSurvSS options all work", { ) ) expect_equal(names(ss4), c("df", "family", "formula", "prior", "initfun", "pcvrForm")) - + surv <- .survModelParser("survival binomial") ss <- suppressMessages( .brmsSurvSS( @@ -398,962 +407,1001 @@ test_that(".brmSurvSS options all work", { expect_equal(names(ss4), c("df", "family", "formula", "prior", "initfun", "pcvrForm")) }) -#* *********************************** -#* ***** `Not Run on the remote` ***** -#* *********************************** +test_that("Gompertz brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("gompertz", + n = 20, t = 25, + params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(0.25, 0.25)) + ) -if (file.exists("/home/josh/Desktop/")) { - # only run locally, don't test for each R-CMD Check - test_that("Gompertz brms model pipeline", { - set.seed(123) - simdf <- growthSim("gompertz", - n = 20, t = 25, - params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(0.25, 0.25)) - ) + ss <- growthSS( + model = "gompertz", form = y ~ time | id / group, sigma = "int", + list("A" = 130, "B" = 10, "C" = 1), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "A", "B", "C")) - ss <- growthSS( - model = "gompertz", form = y ~ time | id / group, sigma = "int", - list("A" = 130, "B" = 10, "C" = 1), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "A", "B", "C")) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/gompertz_fitGrowth.png", plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/gompertz_fitGrowth.png", plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("4 Parameter Logistic brms model pipeline", { - set.seed(123) - simdf <- growthSim("logistic4", - n = 20, t = 25, - params = list( - "A" = c(200, 160), - "B" = c(13, 11), - "C" = c(3, 2.5), - "D" = c(5, 20) - ) +test_that("4 Parameter Logistic brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("logistic4", + n = 20, t = 25, + params = list( + "A" = c(200, 160), + "B" = c(13, 11), + "C" = c(3, 2.5), + "D" = c(5, 20) ) + ) + ss <- growthSS( + model = "logistic4", form = y ~ time | id / group, sigma = "int", + list("A" = 130, "B" = 10, "C" = 1, "D" = 2), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "A", "B", "C", "D")) - ss <- growthSS( - model = "logistic4", form = y ~ time | id / group, sigma = "int", - list("A" = 130, "B" = 10, "C" = 1, "D" = 2), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "A", "B", "C", "D")) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/4PLogistic_fitGrowth.png", plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/4PLogistic_fitGrowth.png", plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("5 Parameter Logistic brms model pipeline", { - set.seed(123) - simdf <- growthSim("logistic5", - n = 20, t = 25, - params = list( - "A" = c(200, 160), - "B" = c(13, 11), - "C" = c(2.75, 3.25), - "D" = c(5, 20), - "E" = c(1, 1.5) - ) +test_that("5 Parameter Logistic brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("logistic5", + n = 20, t = 25, + params = list( + "A" = c(200, 160), + "B" = c(13, 11), + "C" = c(2.75, 3.25), + "D" = c(5, 20), + "E" = c(1, 1.5) ) + ) - ss <- growthSS( - model = "logistic5", form = y ~ time | id / group, sigma = "int", - list("A" = 130, "B" = 10, "C" = 1, "D" = 2, "E" = 0.75), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "A", "B", "C", "D", "E")) + ss <- growthSS( + model = "logistic5", form = y ~ time | id / group, sigma = "int", + list("A" = 130, "B" = 10, "C" = 1, "D" = 2, "E" = 0.75), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "A", "B", "C", "D", "E")) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/5PLogistic_fitGrowth.png", plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("Monomolecular brms model pipeline", { - set.seed(123) - simdf <- growthSim("monomolecular", - n = 20, t = 25, - params = list("A" = c(200, 160), "B" = c(0.01, 0.08)) - ) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/5PLogistic_fitGrowth.png", plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - ss <- growthSS( - model = "monomolecular", form = y ~ time | id / group, sigma = "int", - list("A" = 130, "B" = 1), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "A", "B")) +test_that("Monomolecular brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("monomolecular", + n = 20, t = 25, + params = list("A" = c(200, 160), "B" = c(0.01, 0.08)) + ) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") + ss <- growthSS( + model = "monomolecular", form = y ~ time | id / group, sigma = "int", + list("A" = 130, "B" = 1), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "A", "B")) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/monomolecular_fitGrowth.png", plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("Exponential brms model pipeline", { - set.seed(123) - simdf <- growthSim("exponential", - n = 20, t = 25, - params = list("A" = c(15, 12), "B" = c(0.1, 0.085)) - ) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - ss <- growthSS( - model = "exponential", form = y ~ time | id / group, sigma = "int", - list("A" = 10, "B" = 1), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "A", "B")) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/monomolecular_fitGrowth.png", plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") +test_that("Exponential brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("exponential", + n = 20, t = 25, + params = list("A" = c(15, 12), "B" = c(0.1, 0.085)) + ) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/exponential_fitGrowth.png", plot, - width = 10, - height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("Power law brms model pipeline", { - set.seed(123) - simdf <- growthSim("power law", - n = 20, t = 25, - params = list("A" = c(15, 12), "B" = c(0.75, 0.8)) - ) + ss <- growthSS( + model = "exponential", form = y ~ time | id / group, sigma = "int", + list("A" = 10, "B" = 1), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "A", "B")) - ss <- growthSS( - model = "power law", form = y ~ time | id / group, sigma = "linear", - list("A" = 10, "B" = 1), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "A", "B")) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/exponential_fitGrowth.png", plot, + width = 10, + height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/powerlaw_fitGrowth.png", plot, - width = 10, - height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("linear brms model pipeline", { - set.seed(123) - simdf <- growthSim("linear", - n = 20, t = 25, - params = list("A" = c(15, 12)) - ) +test_that("Power law brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("power law", + n = 20, t = 25, + params = list("A" = c(15, 12), "B" = c(0.75, 0.8)) + ) - ss <- growthSS( - model = "linear", form = y ~ time | id / group, sigma = "int", - list("A" = 5), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "A")) + ss <- growthSS( + model = "power law", form = y ~ time | id / group, sigma = "linear", + list("A" = 10, "B" = 1), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "A", "B")) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/linear_fitGrowth.png", plot, - width = 10, - height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("logarithmic brms model pipeline", { - set.seed(123) - simdf <- growthSim("logarithmic", - n = 20, t = 25, - params = list("A" = c(15, 12)) - ) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/powerlaw_fitGrowth.png", plot, + width = 10, + height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - ss <- growthSS( - model = "logarithmic", form = y ~ time | id / group, sigma = "int", - list("A" = 5), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "A")) +test_that("linear brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("linear", + n = 20, t = 25, + params = list("A" = c(15, 12)) + ) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") + ss <- growthSS( + model = "linear", form = y ~ time | id / group, sigma = "int", + list("A" = 5), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "A")) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/logarithmic_fitGrowth.png", plot, - width = 10, - height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("linear sub model with prior brms model pipeline", { - set.seed(123) - simdf <- growthSim("linear", - n = 20, t = 25, - params = list("A" = c(15, 12)) - ) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - model <- "linear" - form <- y ~ time | id / group - sigma <- "linear" - priors <- list("A" = 5, "sigmaA" = 2) - df <- simdf - type <- "brms" - - ss <- growthSS( - model = "linear", form = y ~ time | id / group, sigma = "linear", - list("A" = 5, "sigmaA" = 2), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "A", "sigmaA")) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/linear_fitGrowth.png", plot, + width = 10, + height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") +test_that("logarithmic brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("logarithmic", + n = 20, t = 25, + params = list("A" = c(15, 12)) + ) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/linear_fitGrowth.png", plot, - width = 10, - height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("GAM brms model pipeline", { - set.seed(123) - simdf <- growthSim("logistic", - n = 20, t = 25, - params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) - ) + ss <- growthSS( + model = "logarithmic", form = y ~ time | id / group, sigma = "int", + list("A" = 5), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "A")) - ss <- growthSS( - model = "gam", form = y ~ time | id / group, sigma = "int", - df = simdf, type = "brms" - ) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - fit <- suppressWarnings(fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - )) - expect_s3_class(fit, "brmsfit") + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/logarithmic_fitGrowth.png", plot, + width = 10, + height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/gam_fitGrowth.png", plot, - width = 10, - height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) +test_that("linear sub model with prior brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("linear", + n = 20, t = 25, + params = list("A" = c(15, 12)) + ) + model <- "linear" + form <- y ~ time | id / group + sigma <- "linear" + priors <- list("A" = 5, "sigmaA" = 2) + df <- simdf + type <- "brms" + ss <- growthSS( + model = "linear", form = y ~ time | id / group, sigma = "linear", + list("A" = 5, "sigmaA" = 2), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "A", "sigmaA")) - test_that("linear+linear brms model pipeline", { - set.seed(123) - simdf <- growthSim("linear + linear", - n = 20, t = 25, - params = list("linear1A" = c(15), "changePoint1" = c(8), "linear2A" = c(3)) - ) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - ss <- growthSS( - model = "linear + linear", form = y ~ time, sigma = "spline", - list("linear1A" = 10, "changePoint1" = 5, "linear2A" = 2), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "", "linear1A", "changePoint1", "linear2A")) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/linear_fitGrowth.png", plot, + width = 10, + height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") +test_that("GAM brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("logistic", + n = 20, t = 25, + params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) + ) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/linearPlusLinear_fitGrowth.png", plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("linear+logistic brms model pipeline", { - set.seed(123) - simdf <- growthSim("linear + logistic", - n = 20, t = 25, - params = list( - "linear1A" = c(15, 12), "changePoint1" = c(8, 6), - "logistic2A" = c(100, 150), "logistic2B" = c(10, 8), "logistic2C" = c(3, 2.5) - ) - ) + ss <- growthSS( + model = "gam", form = y ~ time | id / group, sigma = "int", + df = simdf, type = "brms" + ) - ss <- growthSS( - model = "linear + logistic", form = y ~ time | id / group, sigma = "spline", - list( - "linear1A" = 10, "changePoint1" = 5, - "logistic2A" = 100, "logistic2B" = 10, "logistic2C" = 3 - ), - df = simdf, type = "brms" - ) + fit <- suppressWarnings(fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + )) + expect_s3_class(fit, "brmsfit") - expect_equal(ss$prior$nlpar, c( - "", "", "linear1A", "changePoint1", - "logistic2A", "logistic2B", "logistic2C" - )) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/gam_fitGrowth.png", plot, + width = 10, + height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/linearPlusLogistic_fitGrowth.png", plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) +test_that("linear+linear brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("linear + linear", + n = 20, t = 25, + params = list("linear1A" = c(15), "changePoint1" = c(8), "linear2A" = c(3)) + ) - test_that("linear+gam brms model pipeline", { - set.seed(123) - simdf <- growthSim("linear + logistic", - n = 20, t = 25, # using logistic data, but modeling as a gam - params = list( - "linear1A" = c(15, 12), "changePoint1" = c(8, 6), - "logistic2A" = c(100, 150), "logistic2B" = c(10, 8), "logistic2C" = c(3, 2.5) - ) - ) + ss <- growthSS( + model = "linear + linear", form = y ~ time, sigma = "spline", + list("linear1A" = 10, "changePoint1" = 5, "linear2A" = 2), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "", "linear1A", "changePoint1", "linear2A")) - ss <- growthSS( - model = "linear + gam", form = y ~ time | id / group, sigma = "homo", - list("linear1A" = 10, "changePoint1" = 5), - df = simdf, type = "brms" - ) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - expect_equal(ss$prior$nlpar, c("", "linear1A", "changePoint1")) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/linearPlusLinear_fitGrowth.png", plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 +test_that("linear+logistic brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("linear + logistic", + n = 20, t = 25, + params = list( + "linear1A" = c(15, 12), "changePoint1" = c(8, 6), + "logistic2A" = c(100, 150), "logistic2B" = c(10, 8), "logistic2C" = c(3, 2.5) ) - expect_s3_class(fit, "brmsfit") + ) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/linearPlusGAM_fitGrowth.png", plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) + ss <- growthSS( + model = "linear + logistic", form = y ~ time | id / group, sigma = "spline", + list( + "linear1A" = 10, "changePoint1" = 5, + "logistic2A" = 100, "logistic2B" = 10, "logistic2C" = 3 + ), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c( + "", "", "linear1A", "changePoint1", + "logistic2A", "logistic2B", "logistic2C" + )) - test_that("linear + linear + linear brms model pipeline", { - set.seed(123) - simdf <- growthSim("linear + linear + linear", - n = 25, t = 50, - params = list( - "linear1A" = c(10, 12), "changePoint1" = c(8, 6), "linear2A" = c(1, 2), - "changePoint2" = c(25, 30), "linear3A" = c(20, 24) - ) - ) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - ss <- growthSS( - model = "linear + linear + linear", form = y ~ time | id / group, sigma = "spline", - list("linear1A" = 10, "changePoint1" = 5, "linear2A" = 2, "changePoint2" = 15, "linear3A" = 5), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c( - "", "", "linear1A", "changePoint1", - "linear2A", "changePoint2", "linear3A" - )) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/linearPlusLogistic_fitGrowth.png", plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/linearPlusLinearPlusLinear_fitGrowth.png", - plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("Logistic brms logistic sub model pipeline", { - set.seed(123) - simdf <- growthSim("logistic", - n = 20, t = 25, - params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) +test_that("linear+gam brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("linear + logistic", + n = 20, t = 25, # using logistic data, but modeling as a gam + params = list( + "linear1A" = c(15, 12), "changePoint1" = c(8, 6), + "logistic2A" = c(100, 150), "logistic2B" = c(10, 8), "logistic2C" = c(3, 2.5) ) + ) - ss <- growthSS( - model = "logistic", form = y ~ time | id / group, sigma = "logistic", - list("A" = 130, "B" = 10, "C" = 3, "sigmaA" = 20, "sigmaB" = 10, "sigmaC" = 2), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "A", "B", "C", "sigmaA", "sigmaB", "sigmaC")) + ss <- growthSS( + model = "linear + gam", form = y ~ time | id / group, sigma = "homo", + list("linear1A" = 10, "changePoint1" = 5), + df = simdf, type = "brms" + ) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) # that's fast - expect_s3_class(fit, "brmsfit") + expect_equal(ss$prior$nlpar, c("", "linear1A", "changePoint1")) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/logistic_logisticSubModel.png", plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("Logistic brms gompertz sub model pipeline", { - set.seed(123) - simdf <- growthSim("logistic", - n = 20, t = 25, - params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) - ) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - ss <- growthSS( - model = "logistic", form = y ~ time | id / group, sigma = "gompertz", - list("A" = 130, "B" = 10, "C" = 3, "sigmaA" = 20, "sigmaB" = 10, "sigmaC" = 2), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "A", "B", "C", "sigmaA", "sigmaB", "sigmaC")) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/linearPlusGAM_fitGrowth.png", plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/logistic_gompSubModel.png", plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("Logistic brms monomolecular sub model pipeline", { - set.seed(123) - simdf <- growthSim("logistic", - n = 20, t = 25, - params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) +test_that("linear + linear + linear brms model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("linear + linear + linear", + n = 25, t = 50, + params = list( + "linear1A" = c(10, 12), "changePoint1" = c(8, 6), "linear2A" = c(1, 2), + "changePoint2" = c(25, 30), "linear3A" = c(20, 24) ) + ) - ss <- growthSS( - model = "logistic", form = y ~ time | id / group, sigma = "monomolecular", - list("A" = 130, "B" = 10, "C" = 3, "sigmaA" = 5, "sigmaB" = 0.5), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "A", "B", "C", "sigmaA", "sigmaB")) + ss <- growthSS( + model = "linear + linear + linear", form = y ~ time | id / group, sigma = "spline", + list("linear1A" = 10, "changePoint1" = 5, "linear2A" = 2, "changePoint2" = 15, "linear3A" = 5), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c( + "", "", "linear1A", "changePoint1", + "linear2A", "changePoint2", "linear3A" + )) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/logistic_monoSubModel.png", plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - - test_that("int+int homoskedastic model pipeline", { - set.seed(123) - - noise <- do.call(rbind, lapply(1:30, function(i) { - chngpt <- rnorm(2, 18, 2) - noise_i <- rbind( - data.frame( - id = paste0("id_", i), time = 1:chngpt[1], group = "a", - y = c(runif(chngpt[1] - 1, 0, 20), rnorm(1, 5, 1)) - ), - data.frame( - id = paste0("id_", i), time = 1:chngpt[2], group = "b", - y = c(runif(chngpt[2] - 1, 0, 20), rnorm(1, 5, 1)) - ) - ) - return(noise_i) - })) - noise2 <- do.call(rbind, lapply(1:30, function(i) { - start1 <- max(noise[noise$id == paste0("id_", i) & noise$group == "a", "time"]) - start2 <- max(noise[noise$id == paste0("id_", i) & noise$group == "b", "time"]) - - noise2_i <- rbind( - data.frame( - id = paste0("id_", i), time = start1:40, group = "a", - y = c(runif(length(start1:40), 15, 50)) - ), - data.frame( - id = paste0("id_", i), time = start2:40, group = "b", - y = c(runif(length(start2:40), 15, 50)) - ) - ) - return(noise2_i) - })) - simdf <- rbind(noise, noise2) - - ss <- growthSS( - model = "int + int", form = y ~ time | id / group, sigma = "int", - list("int1" = 10, "changePoint1" = 10, "int2" = 20), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "int1", "changePoint1", "int2")) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/linearPlusLinearPlusLinear_fitGrowth.png", + plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") +test_that("Logistic brms logistic sub model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("logistic", + n = 20, t = 25, + params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) + ) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/intPlusInt_fitGrowth.png", plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("int+int fixed changepoint homoskedastic model pipeline", { - set.seed(123) - - noise <- do.call(rbind, lapply(1:30, function(i) { - chngpt <- c(20, 21) - noise_i <- rbind( - data.frame( - id = paste0("id_", i), time = 1:chngpt[1], group = "a", - y = c(runif(chngpt[1] - 1, 0, 20), rnorm(1, 5, 1)) - ), - data.frame( - id = paste0("id_", i), time = 1:chngpt[2], group = "b", - y = c(runif(chngpt[2] - 1, 0, 20), rnorm(1, 5, 1)) - ) - ) - return(noise_i) - })) - noise2 <- do.call(rbind, lapply(1:30, function(i) { - start1 <- max(noise[noise$id == paste0("id_", i) & noise$group == "a", "time"]) - start2 <- max(noise[noise$id == paste0("id_", i) & noise$group == "b", "time"]) - - noise2_i <- rbind( - data.frame( - id = paste0("id_", i), time = start1:40, group = "a", - y = c(runif(length(start1:40), 15, 50)) - ), - data.frame( - id = paste0("id_", i), time = start2:40, group = "b", - y = c(runif(length(start2:40), 15, 50)) - ) - ) - return(noise2_i) - })) - simdf <- rbind(noise, noise2) - - ss <- growthSS( - model = "int + int", form = y ~ time | id / group, sigma = "int", - list("int1" = 10, "fixedChangePoint1" = 20, "int2" = 20), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c("", "int1", "int2")) + ss <- growthSS( + model = "logistic", form = y ~ time | id / group, sigma = "logistic", + list("A" = 130, "B" = 10, "C" = 3, "sigmaA" = 20, "sigmaB" = 10, "sigmaC" = 2), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "A", "B", "C", "sigmaA", "sigmaB", "sigmaC")) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) # that's fast + expect_s3_class(fit, "brmsfit") - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/intPlusInt_fixedChngpt_fitGrowth.png", - plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/logistic_logisticSubModel.png", plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) +test_that("Logistic brms gompertz sub model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("logistic", + n = 20, t = 25, + params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) + ) + ss <- growthSS( + model = "logistic", form = y ~ time | id / group, sigma = "gompertz", + list("A" = 130, "B" = 10, "C" = 3, "sigmaA" = 20, "sigmaB" = 10, "sigmaC" = 2), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "A", "B", "C", "sigmaA", "sigmaB", "sigmaC")) - test_that("int+int thresholded homoskedasticity model pipeline", { - set.seed(123) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - noise <- do.call(rbind, lapply(1:30, function(i) { - chngpt <- rnorm(2, 18, 2) - noise_i <- rbind( - data.frame( - id = paste0("id_", i), time = 1:chngpt[1], group = "a", - y = c(runif(chngpt[1] - 1, 0, 20), rnorm(1, 5, 1)) - ), - data.frame( - id = paste0("id_", i), time = 1:chngpt[2], group = "b", - y = c(runif(chngpt[2] - 1, 0, 20), rnorm(1, 5, 1)) - ) - ) - return(noise_i) - })) - noise2 <- do.call(rbind, lapply(1:30, function(i) { - start1 <- max(noise[noise$id == paste0("id_", i) & noise$group == "a", "time"]) - start2 <- max(noise[noise$id == paste0("id_", i) & noise$group == "b", "time"]) - - noise2_i <- rbind( - data.frame( - id = paste0("id_", i), time = start1:40, group = "a", - y = c(runif(length(start1:40), 15, 50)) - ), - data.frame( - id = paste0("id_", i), time = start2:40, group = "b", - y = c(runif(length(start2:40), 15, 50)) - ) - ) - return(noise2_i) - })) - simdf <- rbind(noise, noise2) - - ss <- growthSS( - model = "int + int", form = y ~ time | id / group, sigma = "int + int", - list( - "int1" = 10, "changePoint1" = 10, "int2" = 20, "sigmaint1" = 10, - "sigmachangePoint1" = 10, "sigmaint2" = 10 - ), - df = simdf, type = "brms" - ) - expect_equal(ss$prior$nlpar, c( - "", "int1", "changePoint1", "int2", "sigmaint1", - "sigmachangePoint1", "sigmaint2" - )) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/logistic_gompSubModel.png", plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") +test_that("Logistic brms monomolecular sub model pipeline", { + skip_on_ci() + skip_on_cran() + set.seed(123) + simdf <- growthSim("logistic", + n = 20, t = 25, + params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) + ) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/intPlusInt_heteroskedastic_fitGrowth.png", - plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) + ss <- growthSS( + model = "logistic", form = y ~ time | id / group, sigma = "monomolecular", + list("A" = 130, "B" = 10, "C" = 3, "sigmaA" = 5, "sigmaB" = 0.5), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "A", "B", "C", "sigmaA", "sigmaB")) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/logistic_monoSubModel.png", plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - test_that("int + linear model and submodel pipeline", { - set.seed(123) - noise <- do.call(rbind, lapply(1:30, function(i) { - chngpt <- rnorm(2, 18, 2) - noise_i <- rbind( - data.frame( - id = paste0("id_", i), time = 1:chngpt[1], group = "a", - y = c(runif(chngpt[1] - 1, 0, 20), rnorm(1, 5, 1)) - ), - data.frame( - id = paste0("id_", i), time = 1:chngpt[2], group = "b", - y = c(runif(chngpt[2] - 1, 0, 20), rnorm(1, 5, 1)) - ) +test_that("int+int homoskedastic model pipeline", { + set.seed(123) + skip_on_ci() + skip_on_cran() + noise <- do.call(rbind, lapply(1:30, function(i) { + chngpt <- rnorm(2, 18, 2) + noise_i <- rbind( + data.frame( + id = paste0("id_", i), time = 1:chngpt[1], group = "a", + y = c(runif(chngpt[1] - 1, 0, 20), rnorm(1, 5, 1)) + ), + data.frame( + id = paste0("id_", i), time = 1:chngpt[2], group = "b", + y = c(runif(chngpt[2] - 1, 0, 20), rnorm(1, 5, 1)) ) - return(noise_i) - })) - signal <- growthSim("linear", - n = 30, t = 20, - params = list("A" = c(3, 5)) ) - signal <- do.call(rbind, lapply(unique(paste0(signal$id, signal$group)), function(int) { - noisesub <- noise[paste0(noise$id, noise$group) == int, ] - signalSub <- signal[paste0(signal$id, signal$group) == int, ] - y_end <- noisesub[noisesub$time == max(noisesub$time), "y"] - signalSub$time <- signalSub$time + max(noisesub$time) - signalSub$y <- y_end + signalSub$y - return(signalSub) - })) - simdf <- rbind(noise, signal) - ss <- growthSS( - model = "int + linear", form = y ~ time | id / group, sigma = "int + linear", - list( - "int1" = 10, "changePoint1" = 10, "linear2A" = 20, "sigmaint1" = 10, - "sigmachangePoint1" = 10, "sigmalinear2A" = 10 + return(noise_i) + })) + noise2 <- do.call(rbind, lapply(1:30, function(i) { + start1 <- max(noise[noise$id == paste0("id_", i) & noise$group == "a", "time"]) + start2 <- max(noise[noise$id == paste0("id_", i) & noise$group == "b", "time"]) + + noise2_i <- rbind( + data.frame( + id = paste0("id_", i), time = start1:40, group = "a", + y = c(runif(length(start1:40), 15, 50)) ), - df = simdf, type = "brms" + data.frame( + id = paste0("id_", i), time = start2:40, group = "b", + y = c(runif(length(start2:40), 15, 50)) + ) ) - expect_equal(ss$prior$nlpar, c( - "", "int1", "changePoint1", "linear2A", "sigmaint1", - "sigmachangePoint1", "sigmalinear2A" - )) + return(noise2_i) + })) + simdf <- rbind(noise, noise2) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") + ss <- growthSS( + model = "int + int", form = y ~ time | id / group, sigma = "int", + list("int1" = 10, "changePoint1" = 10, "int2" = 20), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "int1", "changePoint1", "int2")) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df, timeRange = 1:40) - ggsave("~/scripts/fahlgren_lab/labMeetings/intPlusLinear_heteroskedIntPlusLinear_fitGrowth.png", - plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - - test_that("int + Logistic brms int+spline sub model pipeline", { - set.seed(123) - noise <- do.call(rbind, lapply(1:30, function(i) { - chngpt <- rnorm(2, 18, 2) - noise_i <- rbind( - data.frame( - id = paste0("id_", i), time = 1:chngpt[1], group = "a", - y = c(runif(chngpt[1] - 1, 0, 20), rnorm(1, 5, 1)) - ), - data.frame( - id = paste0("id_", i), time = 1:chngpt[2], group = "b", - y = c(runif(chngpt[2] - 1, 0, 20), rnorm(1, 5, 1)) - ) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") + + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/intPlusInt_fitGrowth.png", plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) + +test_that("int+int fixed changepoint homoskedastic model pipeline", { + set.seed(123) + skip_on_ci() + skip_on_cran() + noise <- do.call(rbind, lapply(1:30, function(i) { + chngpt <- c(20, 21) + noise_i <- rbind( + data.frame( + id = paste0("id_", i), time = 1:chngpt[1], group = "a", + y = c(runif(chngpt[1] - 1, 0, 20), rnorm(1, 5, 1)) + ), + data.frame( + id = paste0("id_", i), time = 1:chngpt[2], group = "b", + y = c(runif(chngpt[2] - 1, 0, 20), rnorm(1, 5, 1)) ) - return(noise_i) - })) - signal <- growthSim("logistic", - n = 20, t = 30, - params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) ) - signal <- do.call(rbind, lapply(unique(paste0(signal$id, signal$group)), function(int) { - noisesub <- noise[paste0(noise$id, noise$group) == int, ] - signalSub <- signal[paste0(signal$id, signal$group) == int, ] - y_end <- noisesub[noisesub$time == max(noisesub$time), "y"] - signalSub$time <- signalSub$time + max(noisesub$time) - signalSub$y <- y_end + signalSub$y - return(signalSub) - })) - simdf <- rbind(noise, signal) - simdf <- simdf[simdf$time < 45, ] - - ss <- growthSS( - model = "int+logistic", form = y ~ time | id / group, sigma = "int + spline", - list( - "int1" = 5, "changePoint1" = 10, "logistic2A" = 130, "logistic2B" = 10, "logistic2C" = 3, - "sigmaint1" = 5, "sigmachangePoint1" = 15 + return(noise_i) + })) + noise2 <- do.call(rbind, lapply(1:30, function(i) { + start1 <- max(noise[noise$id == paste0("id_", i) & noise$group == "a", "time"]) + start2 <- max(noise[noise$id == paste0("id_", i) & noise$group == "b", "time"]) + + noise2_i <- rbind( + data.frame( + id = paste0("id_", i), time = start1:40, group = "a", + y = c(runif(length(start1:40), 15, 50)) ), - df = simdf, type = "brms" + data.frame( + id = paste0("id_", i), time = start2:40, group = "b", + y = c(runif(length(start2:40), 15, 50)) + ) ) + return(noise2_i) + })) + simdf <- rbind(noise, noise2) + + ss <- growthSS( + model = "int + int", form = y ~ time | id / group, sigma = "int", + list("int1" = 10, "fixedChangePoint1" = 20, "int2" = 20), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c("", "int1", "int2")) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") + + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/intPlusInt_fixedChngpt_fitGrowth.png", + plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - expect_equal(ss$prior$nlpar, c( - "", "int1", "changePoint1", "logistic2A", "logistic2B", "logistic2C", - "sigmaint1", "sigmachangePoint1" - )) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 + +test_that("int+int thresholded homoskedasticity model pipeline", { + set.seed(123) + skip_on_ci() + skip_on_cran() + noise <- do.call(rbind, lapply(1:30, function(i) { + chngpt <- rnorm(2, 18, 2) + noise_i <- rbind( + data.frame( + id = paste0("id_", i), time = 1:chngpt[1], group = "a", + y = c(runif(chngpt[1] - 1, 0, 20), rnorm(1, 5, 1)) + ), + data.frame( + id = paste0("id_", i), time = 1:chngpt[2], group = "b", + y = c(runif(chngpt[2] - 1, 0, 20), rnorm(1, 5, 1)) + ) ) - expect_s3_class(fit, "brmsfit") + return(noise_i) + })) + noise2 <- do.call(rbind, lapply(1:30, function(i) { + start1 <- max(noise[noise$id == paste0("id_", i) & noise$group == "a", "time"]) + start2 <- max(noise[noise$id == paste0("id_", i) & noise$group == "b", "time"]) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/intPluslogistic_intPlusGAMSubModel.png", - plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" + noise2_i <- rbind( + data.frame( + id = paste0("id_", i), time = start1:40, group = "a", + y = c(runif(length(start1:40), 15, 50)) + ), + data.frame( + id = paste0("id_", i), time = start2:40, group = "b", + y = c(runif(length(start2:40), 15, 50)) + ) ) - expect_s3_class(plot, "ggplot") - }) + return(noise2_i) + })) + simdf <- rbind(noise, noise2) + ss <- growthSS( + model = "int + int", form = y ~ time | id / group, sigma = "int + int", + list( + "int1" = 10, "changePoint1" = 10, "int2" = 20, "sigmaint1" = 10, + "sigmachangePoint1" = 10, "sigmaint2" = 10 + ), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c( + "", "int1", "changePoint1", "int2", "sigmaint1", + "sigmachangePoint1", "sigmaint2" + )) - test_that("fixed and estimated changepoints can be mixed in growth formula", { - simdf1 <- growthSim( - model = "logistic", n = 20, t = 20, - params = list("A" = c(180, 160), "B" = c(9, 11), "C" = c(3, 3.5)) - ) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") - simdf2 <- growthSim( - model = "linear + linear", n = 20, t = 20, - params = list("linear1A" = c(6, 8), "changePoint1" = c(7, 9), "linear2A" = c(15, 20)) - ) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/intPlusInt_heteroskedastic_fitGrowth.png", + plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) - simdf2_adj <- do.call(rbind, lapply(unique(paste0(simdf2$id, simdf2$group)), function(int) { - p1 <- simdf1[paste0(simdf1$id, simdf1$group) == int, ] - p2 <- simdf2[paste0(simdf2$id, simdf2$group) == int, ] - y_end_p1 <- p1[p1$time == max(p1$time), "y"] - p2$time <- p2$time + max(p1$time) - p2$y <- y_end_p1 + p2$y - return(p2) - })) - simdf <- rbind(simdf1, simdf2_adj) - - ss <- growthSS( - model = "logistic+linear+linear", form = y ~ time | id / group, - sigma = "logistic+linear", df = simdf, - start = list( - "logistic1A" = 130, "logistic1B" = 10, "logistic1C" = 3.5, - "fixedChangePoint1" = 20, "linear2A" = 5, "changePoint2" = 28, "linear3A" = 20, - "sigmalogistic1A" = 10, "sigmalogistic1B" = 12, "sigmalogistic1C" = 20, - "sigmafixedChangePoint1" = 20, "sigmalinear2A" = 3 - ), type = "brms" - ) - expect_equal(ss$prior$nlpar, c( - "", "logistic1A", "logistic1B", "logistic1C", "linear2A", "changePoint2", - "linear3A", "sigmalogistic1A", "sigmalogistic1B", "sigmalogistic1C", - "sigmalinear2A" - )) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/threePart_fixedAndEstimatedChangepoint.png", - plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("logistic decay as a segment", { - simdf <- growthSim( - model = "logistic + logistic decay", n = 20, t = 45, - params = list( - "logistic1A" = c(120, 140), "logistic1B" = c(12, 10), "logistic1C" = c(3, 3.5), - "changePoint1" = c(20, 23), - "logistic2A" = c(90, 100), "logistic2B" = c(11, 13), "logistic2C" = c(3, 3.5) +test_that("int + linear model and submodel pipeline", { + set.seed(123) + skip_on_ci() + skip_on_cran() + noise <- do.call(rbind, lapply(1:30, function(i) { + chngpt <- rnorm(2, 18, 2) + noise_i <- rbind( + data.frame( + id = paste0("id_", i), time = 1:chngpt[1], group = "a", + y = c(runif(chngpt[1] - 1, 0, 20), rnorm(1, 5, 1)) + ), + data.frame( + id = paste0("id_", i), time = 1:chngpt[2], group = "b", + y = c(runif(chngpt[2] - 1, 0, 20), rnorm(1, 5, 1)) ) ) - ss <- growthSS( - model = "logistic + logistic decay", form = y ~ time | id / group, sigma = "spline", - list( - "logistic1A" = 100, "logistic1B" = 10, "logistic1C" = 3, "changePoint1" = 20, - "logistic2A" = 100, "logistic2B" = 10, "logistic2C" = 3 + return(noise_i) + })) + signal <- growthSim("linear", + n = 30, t = 20, + params = list("A" = c(3, 5)) + ) + signal <- do.call(rbind, lapply(unique(paste0(signal$id, signal$group)), function(int) { + noisesub <- noise[paste0(noise$id, noise$group) == int, ] + signalSub <- signal[paste0(signal$id, signal$group) == int, ] + y_end <- noisesub[noisesub$time == max(noisesub$time), "y"] + signalSub$time <- signalSub$time + max(noisesub$time) + signalSub$y <- y_end + signalSub$y + return(signalSub) + })) + simdf <- rbind(noise, signal) + ss <- growthSS( + model = "int + linear", form = y ~ time | id / group, sigma = "int + linear", + list( + "int1" = 10, "changePoint1" = 10, "linear2A" = 20, "sigmaint1" = 10, + "sigmachangePoint1" = 10, "sigmalinear2A" = 10 + ), + df = simdf, type = "brms" + ) + expect_equal(ss$prior$nlpar, c( + "", "int1", "changePoint1", "linear2A", "sigmaint1", + "sigmachangePoint1", "sigmalinear2A" + )) + + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") + + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df, timeRange = 1:40) + ggsave("~/scripts/fahlgren_lab/labMeetings/intPlusLinear_heteroskedIntPlusLinear_fitGrowth.png", + plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) + + +test_that("int + Logistic brms int+spline sub model pipeline", { + set.seed(123) + skip_on_ci() + skip_on_cran() + noise <- do.call(rbind, lapply(1:30, function(i) { + chngpt <- rnorm(2, 18, 2) + noise_i <- rbind( + data.frame( + id = paste0("id_", i), time = 1:chngpt[1], group = "a", + y = c(runif(chngpt[1] - 1, 0, 20), rnorm(1, 5, 1)) ), - df = simdf, type = "brms" - ) - fit <- fitGrowth(ss, - backend = "cmdstanr", iter = 500, chains = 1, cores = 1, - refresh = 0, silent = 2 - ) - plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) - ggsave("~/scripts/fahlgren_lab/labMeetings/logistic_plus_logisticDecay.png", plot, - width = 10, height = 6, dpi = 300, bg = "#ffffff" - ) - expect_s3_class(plot, "ggplot") - }) - - test_that("Test flexsurv model", { - set.seed(123) - model <- "survival gompertz" - form <- y > 100 ~ time | id / group - df <- growthSim("logistic", - n = 20, t = 25, - params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) - ) - ss <- growthSS(model = model, form = form, df = df, type = "flexsurv") - library(flexsurv) - fit <- fitGrowth(ss) - p <- growthPlot(fit, form = ss$pcvrForm, df = ss$df) - expect_s3_class(p, "ggplot") - }) - - test_that("Logistic Poisson Model", { - set.seed(123) - form <- y ~ time | id / group - df <- growthSim("count: logistic", - n = 20, t = 25, - params = list("A" = c(10, 12), "B" = c(13, 11), "C" = c(3, 3.5)) - ) - ss <- growthSS( - model = "poisson: logistic", form = y ~ time | id / group, sigma = NULL, - df = df, start = list("A" = 8, "B" = 10, "C" = 3) - ) - lapply(ss, head) - fit <- fitGrowth(ss, - iter = 600, cores = 1, chains = 1, backend = "cmdstanr", - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") - p <- growthPlot(fit, ss$pcvrForm, df = ss$df) - expect_s3_class(p, "ggplot") - }) - - test_that("Beta DRC Model", { - set.seed(123) - form <- y ~ time | id / group - df <- growthSim( - "beta", - n = 20, t = 50, - params = list( - "A" = c(10, 10), - "B" = c(1.25, 1.3), - "C" = c(20, 22), - "D" = c(5, 5), - "E" = c(30, 32) + data.frame( + id = paste0("id_", i), time = 1:chngpt[2], group = "b", + y = c(runif(chngpt[2] - 1, 0, 20), rnorm(1, 5, 1)) ) ) - #* consider using ss with nls to get ideas for parameters - ss <- growthSS( - model = "beta", form = y ~ time | id / group, sigma = NULL, - df = df, start = list("A" = 10, "B" = 1, "C" = 15, "D" = 3, "E" = 25) + return(noise_i) + })) + signal <- growthSim("logistic", + n = 20, t = 30, + params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) + ) + signal <- do.call(rbind, lapply(unique(paste0(signal$id, signal$group)), function(int) { + noisesub <- noise[paste0(noise$id, noise$group) == int, ] + signalSub <- signal[paste0(signal$id, signal$group) == int, ] + y_end <- noisesub[noisesub$time == max(noisesub$time), "y"] + signalSub$time <- signalSub$time + max(noisesub$time) + signalSub$y <- y_end + signalSub$y + return(signalSub) + })) + simdf <- rbind(noise, signal) + simdf <- simdf[simdf$time < 45, ] + + ss <- growthSS( + model = "int+logistic", form = y ~ time | id / group, sigma = "int + spline", + list( + "int1" = 5, "changePoint1" = 10, "logistic2A" = 130, "logistic2B" = 10, "logistic2C" = 3, + "sigmaint1" = 5, "sigmachangePoint1" = 15 + ), + df = simdf, type = "brms" + ) + + + expect_equal(ss$prior$nlpar, c( + "", "int1", "changePoint1", "logistic2A", "logistic2B", "logistic2C", + "sigmaint1", "sigmachangePoint1" + )) + + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") + + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/intPluslogistic_intPlusGAMSubModel.png", + plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) + + +test_that("fixed and estimated changepoints can be mixed in growth formula", { + simdf1 <- growthSim( + model = "logistic", n = 20, t = 20, + params = list("A" = c(180, 160), "B" = c(9, 11), "C" = c(3, 3.5)) + ) + + simdf2 <- growthSim( + model = "linear + linear", n = 20, t = 20, + params = list("linear1A" = c(6, 8), "changePoint1" = c(7, 9), "linear2A" = c(15, 20)) + ) + + simdf2_adj <- do.call(rbind, lapply(unique(paste0(simdf2$id, simdf2$group)), function(int) { + p1 <- simdf1[paste0(simdf1$id, simdf1$group) == int, ] + p2 <- simdf2[paste0(simdf2$id, simdf2$group) == int, ] + y_end_p1 <- p1[p1$time == max(p1$time), "y"] + p2$time <- p2$time + max(p1$time) + p2$y <- y_end_p1 + p2$y + return(p2) + })) + simdf <- rbind(simdf1, simdf2_adj) + + ss <- growthSS( + model = "logistic+linear+linear", form = y ~ time | id / group, + sigma = "logistic+linear", df = simdf, + start = list( + "logistic1A" = 130, "logistic1B" = 10, "logistic1C" = 3.5, + "fixedChangePoint1" = 20, "linear2A" = 5, "changePoint2" = 28, "linear3A" = 20, + "sigmalogistic1A" = 10, "sigmalogistic1B" = 12, "sigmalogistic1C" = 20, + "sigmafixedChangePoint1" = 20, "sigmalinear2A" = 3 + ), type = "brms" + ) + + expect_equal(ss$prior$nlpar, c( + "", "logistic1A", "logistic1B", "logistic1C", "linear2A", "changePoint2", + "linear3A", "sigmalogistic1A", "sigmalogistic1B", "sigmalogistic1C", + "sigmalinear2A" + )) + + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") + + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/threePart_fixedAndEstimatedChangepoint.png", + plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) + +test_that("logistic decay as a segment", { + simdf <- growthSim( + model = "logistic + logistic decay", n = 20, t = 45, + params = list( + "logistic1A" = c(120, 140), "logistic1B" = c(12, 10), "logistic1C" = c(3, 3.5), + "changePoint1" = c(20, 23), + "logistic2A" = c(90, 100), "logistic2B" = c(11, 13), "logistic2C" = c(3, 3.5) ) - expect_s3_class(ss, "pcvrss") - tryCatch( - { - fit <- fitGrowth(ss, - iter = 600, cores = 1, chains = 1, backend = "cmdstanr", - refresh = 0, silent = 2 - ) - expect_s3_class(fit, "brmsfit") - p <- growthPlot(fit, ss$pcvrForm, df = ss$df) - expect_s3_class(p, "ggplot") - }, - error = function(err) {} + ) + ss <- growthSS( + model = "logistic + logistic decay", form = y ~ time | id / group, sigma = "spline", + list( + "logistic1A" = 100, "logistic1B" = 10, "logistic1C" = 3, "changePoint1" = 20, + "logistic2A" = 100, "logistic2B" = 10, "logistic2C" = 3 + ), + df = simdf, type = "brms" + ) + fit <- fitGrowth(ss, + backend = "cmdstanr", iter = 500, chains = 1, cores = 1, + refresh = 0, silent = 2 + ) + plot <- growthPlot(fit = fit, form = ss$pcvrForm, df = ss$df) + ggsave("~/scripts/fahlgren_lab/labMeetings/logistic_plus_logisticDecay.png", plot, + width = 10, height = 6, dpi = 300, bg = "#ffffff" + ) + expect_s3_class(plot, "ggplot") +}) + +test_that("Test flexsurv model", { + set.seed(123) + skip_on_ci() + skip_on_cran() + model <- "survival gompertz" + form <- y > 100 ~ time | id / group + df <- growthSim("logistic", + n = 20, t = 25, + params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) + ) + ss <- growthSS(model = model, form = form, df = df, type = "flexsurv") + library(flexsurv) + fit <- fitGrowth(ss) + p <- growthPlot(fit, form = ss$pcvrForm, df = ss$df) + expect_s3_class(p, "ggplot") +}) + +test_that("Logistic Poisson Model", { + set.seed(123) + skip_on_ci() + skip_on_cran() + form <- y ~ time | id / group + df <- growthSim("count: logistic", + n = 20, t = 25, + params = list("A" = c(10, 12), "B" = c(13, 11), "C" = c(3, 3.5)) + ) + ss <- growthSS( + model = "poisson: logistic", form = y ~ time | id / group, sigma = NULL, + df = df, start = list("A" = 8, "B" = 10, "C" = 3) + ) + lapply(ss, head) + fit <- fitGrowth(ss, + iter = 600, cores = 1, chains = 1, backend = "cmdstanr", + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") + p <- growthPlot(fit, ss$pcvrForm, df = ss$df) + expect_s3_class(p, "ggplot") +}) + +test_that("Beta DRC Model", { + set.seed(123) + skip_on_ci() + skip_on_cran() + form <- y ~ time | id / group + df <- growthSim( + "beta", + n = 20, t = 50, + params = list( + "A" = c(10, 10), + "B" = c(1.25, 1.3), + "C" = c(20, 22), + "D" = c(5, 5), + "E" = c(30, 32) ) - }) -} + ) + #* consider using ss with nls to get ideas for parameters + ss <- growthSS( + model = "beta", form = y ~ time | id / group, sigma = NULL, + df = df, start = list("A" = 10, "B" = 1, "C" = 15, "D" = 3, "E" = 25) + ) + expect_s3_class(ss, "pcvrss") + tryCatch( + { + fit <- fitGrowth(ss, + iter = 600, cores = 1, chains = 1, backend = "cmdstanr", + refresh = 0, silent = 2 + ) + expect_s3_class(fit, "brmsfit") + p <- growthPlot(fit, ss$pcvrForm, df = ss$df) + expect_s3_class(p, "ggplot") + }, + error = function(err) {} + ) +}) From 89721765fff62410762a88a9c843945e46812a13 Mon Sep 17 00:00:00 2001 From: Josh Sumner <51797700+joshqsumner@users.noreply.github.com> Date: Wed, 30 Jul 2025 09:29:10 -0500 Subject: [PATCH 02/19] linting --- tests/testthat/test-brmsModels.R | 10 ++++++---- tools/tests_timing.R | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/tests/testthat/test-brmsModels.R b/tests/testthat/test-brmsModels.R index 9e042ead..7b13c654 100644 --- a/tests/testthat/test-brmsModels.R +++ b/tests/testthat/test-brmsModels.R @@ -321,9 +321,9 @@ test_that("binomial survival", { test_that(".brmSurvSS options all work", { set.seed(123) - df <- growthSim("logistic", - n = 20, t = 25, - params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) + df <- growthSim( + "logistic", n = 20, t = 25, + params = list("A" = c(200, 160), "B" = c(13, 11), "C" = c(3, 3.5)) ) surv <- .survModelParser("survival weibull") ss <- suppressMessages( @@ -367,7 +367,7 @@ test_that(".brmSurvSS options all work", { ) ) expect_equal(names(ss4), c("df", "family", "formula", "prior", "initfun", "pcvrForm")) - + surv <- .survModelParser("survival binomial") ss <- suppressMessages( .brmsSurvSS( @@ -1303,6 +1303,8 @@ test_that("fixed and estimated changepoints can be mixed in growth formula", { }) test_that("logistic decay as a segment", { + skip_on_ci() + skip_on_cran() simdf <- growthSim( model = "logistic + logistic decay", n = 20, t = 45, params = list( diff --git a/tools/tests_timing.R b/tools/tests_timing.R index 10adceac..1d1886c8 100644 --- a/tools/tests_timing.R +++ b/tools/tests_timing.R @@ -12,7 +12,7 @@ tdf <- do.call(rbind, }) data.frame(time = x[["elapsed"]], Test = gsub(".*/", "", file)) })) -tdf +write.csv(tdf, file = "~/pcvr/tools/tests_timing.csv", row.names = FALSE) if (!interactive()) {pdf(NULL)} ggplot(tdf, aes(x = 1, y = time, fill = Test)) + geom_col(position = "stack") + From e5e9f4d25df1768120ffc49424c9a6b3e78bf2ba Mon Sep 17 00:00:00 2001 From: Josh Sumner <51797700+joshqsumner@users.noreply.github.com> Date: Thu, 31 Jul 2025 09:12:43 -0500 Subject: [PATCH 03/19] skipping most of these on CI --- tests/testthat/test-brmsInterceptModels.R | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/testthat/test-brmsInterceptModels.R b/tests/testthat/test-brmsInterceptModels.R index aa55a8df..6fa84e32 100644 --- a/tests/testthat/test-brmsInterceptModels.R +++ b/tests/testthat/test-brmsInterceptModels.R @@ -28,6 +28,7 @@ test_that("Logistic Decay brms Model with Intercept", { skip_if_not_installed("brms") skip_if_not_installed("cmdstanr") skip_on_cran() + skip_on_ci() options(cmdstanr_warn_inits = FALSE) set.seed(123) logistic_df <- growthSim( @@ -52,6 +53,7 @@ test_that("Gompertz brms model pipeline", { skip_if_not_installed("brms") skip_if_not_installed("cmdstanr") skip_on_cran() + skip_on_ci() options(cmdstanr_warn_inits = FALSE) set.seed(123) simdf <- growthSim( @@ -79,6 +81,7 @@ test_that("intercept in submodel works", { skip_if_not_installed("brms") skip_if_not_installed("cmdstanr") skip_on_cran() + skip_on_ci() options(cmdstanr_warn_inits = FALSE) set.seed(123) simdf <- growthSim("gompertz", @@ -105,6 +108,7 @@ test_that("intercepts work in a changepoint model", { skip_if_not_installed("brms") skip_if_not_installed("cmdstanr") skip_on_cran() + skip_on_ci() options(cmdstanr_warn_inits = FALSE) set.seed(123) simdf <- growthSim("linear + linear", From 71601f09dac3f07f8a9798813bf345b342b65997 Mon Sep 17 00:00:00 2001 From: Josh Sumner <51797700+joshqsumner@users.noreply.github.com> Date: Thu, 31 Jul 2025 09:12:53 -0500 Subject: [PATCH 04/19] skipping --- tests/testthat/test-brmsModels.R | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/testthat/test-brmsModels.R b/tests/testthat/test-brmsModels.R index 7b13c654..66b24208 100644 --- a/tests/testthat/test-brmsModels.R +++ b/tests/testthat/test-brmsModels.R @@ -1251,6 +1251,8 @@ test_that("int + Logistic brms int+spline sub model pipeline", { test_that("fixed and estimated changepoints can be mixed in growth formula", { + skip_on_cran() + skip_on_ci() simdf1 <- growthSim( model = "logistic", n = 20, t = 20, params = list("A" = c(180, 160), "B" = c(9, 11), "C" = c(3, 3.5)) From 9c648f8a0e203992499bd8d723227f58d6330485 Mon Sep 17 00:00:00 2001 From: Josh Sumner <51797700+joshqsumner@users.noreply.github.com> Date: Thu, 31 Jul 2025 09:13:06 -0500 Subject: [PATCH 05/19] stuff for local cleanup --- tests/testthat/test-survSS_helpers.R | 3 +++ tests/testthat/test-sv-conjugate.R | 4 ++++ tests/testthat/test-wide_mv_workflow.R | 4 ++++ tests/testthat/test-wide_sv_workflow.R | 15 +++++---------- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/tests/testthat/test-survSS_helpers.R b/tests/testthat/test-survSS_helpers.R index ac0d1822..82eed860 100644 --- a/tests/testthat/test-survSS_helpers.R +++ b/tests/testthat/test-survSS_helpers.R @@ -60,3 +60,6 @@ test_that(".flexSurvSS returns errors and is covered", { expect_equal(names(ss2$formula), c("f1", "f2")) expect_true(identical(ss2$df, df2)) }) +if (!interactive()) { + dev.off() +} diff --git a/tests/testthat/test-sv-conjugate.R b/tests/testthat/test-sv-conjugate.R index a40cc791..be127b45 100644 --- a/tests/testthat/test-sv-conjugate.R +++ b/tests/testthat/test-sv-conjugate.R @@ -441,3 +441,7 @@ test_that("bivariate conjugate lognormal works", { p <- plot(out2) expect_s3_class(p, "ggplot") }) + +if (!interactive()) { + dev.off() +} diff --git a/tests/testthat/test-wide_mv_workflow.R b/tests/testthat/test-wide_mv_workflow.R index 9cdd2b4c..c4500894 100644 --- a/tests/testthat/test-wide_mv_workflow.R +++ b/tests/testthat/test-wide_mv_workflow.R @@ -87,3 +87,7 @@ test_that("reading mv github data as long works", { expect_equal(dim(net$nodes), c(10, 12)) expect_equal(dim(net$edges), c(30, 11)) }) + +if (!interactive()) { + dev.off() +} diff --git a/tests/testthat/test-wide_sv_workflow.R b/tests/testthat/test-wide_sv_workflow.R index e55930fc..51d2606e 100644 --- a/tests/testthat/test-wide_sv_workflow.R +++ b/tests/testthat/test-wide_sv_workflow.R @@ -77,14 +77,9 @@ test_that("reading sv github data as wide works", { model = "gompertz", form = area_pixels ~ DAS | barcode / group, sigma = "spline", df = sv, start = list("A" = 130, "B" = 10, "C" = 0.5) ) - expect_type(ss, "list") - - expect_s3_class(ss[["formula"]], "brmsformula") - expect_s3_class(ss[["prior"]], "brmsprior") - expect_type(ss[["initfun"]], "closure") - expect_s3_class(ss[["df"]], "data.frame") - expect_type(ss[["family"]], "character") - expect_s3_class(ss[["pcvrForm"]], "formula") - - #* pending + expect_s3_class(ss, "pcvrss") }) + +if (!interactive()) { + dev.off() +} From 7cb60b9b1189cff14f95f5a4e5fbbccfd36947cc Mon Sep 17 00:00:00 2001 From: Josh Sumner <51797700+joshqsumner@users.noreply.github.com> Date: Thu, 31 Jul 2025 09:13:21 -0500 Subject: [PATCH 06/19] checking run times locally --- tools/examples_timing.R | 10 ++++---- tools/examples_timing.png | Bin 0 -> 200272 bytes tools/tests_timing.R | 46 ++++++++++++++++++++++++++++++++++-- tools/tests_timing.png | Bin 0 -> 140677 bytes tools/tests_timing_ci.png | Bin 0 -> 140549 bytes tools/tests_timing_cran.png | Bin 0 -> 140810 bytes 6 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 tools/examples_timing.png create mode 100644 tools/tests_timing.png create mode 100644 tools/tests_timing_ci.png create mode 100644 tools/tests_timing_cran.png diff --git a/tools/examples_timing.R b/tools/examples_timing.R index ad44ed59..40699c72 100644 --- a/tools/examples_timing.R +++ b/tools/examples_timing.R @@ -1,4 +1,3 @@ -wd <- getwd() library(ggplot2) setwd("~/pcvr/R") devtools::load_all("~/pcvr") @@ -9,10 +8,11 @@ tdf <- do.call(rbind, lapply(dir("~/pcvr/man", pattern = ".[Rr]d$", full.names = }) data.frame(time = x[["elapsed"]], fun = gsub(".*/", "", doc)) })) -setwd(wd) -tdf -if (!interactive) {pdf(NULL)} -ggplot(tdf, aes(x = 1, y = time, fill = fun)) + +setwd("~/pcvr/tools/") +write.csv(tdf, file = "examples_timing.csv", row.names = FALSE) + +p1 <- ggplot(tdf, aes(x = 1, y = time, fill = fun)) + geom_col(position = "stack") + scale_fill_viridis_d()+ theme_light() +ggsave("examples_timing.png", plot = p1, width = 7, height = 6, dpi = 300, bg = "#ffffff") \ No newline at end of file diff --git a/tools/examples_timing.png b/tools/examples_timing.png new file mode 100644 index 0000000000000000000000000000000000000000..a4f6fb1ae5124638681189cf3a35d9f8190fba86 GIT binary patch literal 200272 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�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
Fkg2i5|&o=JnXQRv1P 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 KWs-Lv^8OFd2%2&L literal 0 HcmV?d00001 diff --git a/tools/tests_timing.R b/tools/tests_timing.R index 1d1886c8..d8617f48 100644 --- a/tools/tests_timing.R +++ b/tools/tests_timing.R @@ -13,8 +13,50 @@ tdf <- do.call(rbind, data.frame(time = x[["elapsed"]], Test = gsub(".*/", "", file)) })) write.csv(tdf, file = "~/pcvr/tools/tests_timing.csv", row.names = FALSE) -if (!interactive()) {pdf(NULL)} -ggplot(tdf, aes(x = 1, y = time, fill = Test)) + + +p1 <- ggplot(tdf, aes(x = 1, y = time, fill = Test)) + geom_col(position = "stack") + scale_fill_viridis_d()+ theme_light() +ggsave("~/pcvr/tools/tests_timing.png", plot = p1, width = 7, height = 6, dpi = 300, bg = "#ffffff") + + +# now with CI and CRAN + +Sys.setenv("CI" = "true") +sv <- NULL +tdf <- do.call(rbind, + lapply(dir("~/pcvr/tests/testthat", pattern = ".[Rr]$", full.names = TRUE), + function(file) { + message(paste0("Running ", gsub(".*/", "", file))) + x <- system.time({ + source(file) + }) + data.frame(time = x[["elapsed"]], Test = gsub(".*/", "", file)) + })) +write.csv(tdf, file = "~/pcvr/tools/tests_timing_ci.csv", row.names = FALSE) + +p2 <- ggplot(tdf, aes(x = 1, y = time, fill = Test)) + + geom_col(position = "stack") + + scale_fill_viridis_d()+ + theme_light() +ggsave("~/pcvr/tools/tests_timing_ci.png", plot = p2, width = 7, height = 6, dpi = 300, bg = "#ffffff") + +Sys.setenv("NOT_CRAN" = "false") +sv <- NULL +tdf <- do.call(rbind, + lapply(dir("~/pcvr/tests/testthat", pattern = ".[Rr]$", full.names = TRUE), + function(file) { + message(paste0("Running ", gsub(".*/", "", file))) + x <- system.time({ + source(file) + }) + data.frame(time = x[["elapsed"]], Test = gsub(".*/", "", file)) + })) +write.csv(tdf, file = "~/pcvr/tools/tests_timing_cran.csv", row.names = FALSE) + +p3 <- ggplot(tdf, aes(x = 1, y = time, fill = Test)) + + geom_col(position = "stack") + + scale_fill_viridis_d()+ + theme_light() +ggsave("~/pcvr/tools/tests_timing_cran.png", plot = p3, width = 7, height = 6, dpi = 300, bg = "#ffffff") diff --git a/tools/tests_timing.png b/tools/tests_timing.png new file mode 100644 index 0000000000000000000000000000000000000000..141bcaa9b1117520b3ca1840275481c05a1553ff GIT binary patch literal 140677 zcmeFZ1z48rx-QBX76zgss7NTHAgKZ(ElQ(wrx>JyfV6-EYX~9=0@4a19TL)@C@P>J z-QC?FeeMr*%)PID?RC~!YwdmZxvulgITe}k|Nr;K^W61*j}+u2$+l5%BOxInla>-w zA|WB=CL!5EO8O_hBk}q9EBv+jvaF;S$tv-mmw8b>_|DdwQkvEzBpgSG|NUVfDPl`P za)?A)OjN}_c(}#k5@k)piE-(3g;X0v_wL$u**D!yiBkUt`#UWUX68<}beC|c8!ems zO;ywWRV@2FD3CZ8S-5b}w*v0z4^@U6o+Wtt+S?CS2kdcuY6xbHa z_)Lm%&!f#`ORaY5MMXuA#2AhoIU=Mh;b5n#q46RhK(kFz;o>8)@XX9JLPA1Ejzr{N zc@^mH?p|3{wM^M^(f9fDy_A%jMBB*+Mp>UpZ4_%j_{A~i=ua7KE;-jqsq9SW z(#>14X$5S#En0ImQw?Wmx7XnF*2Zg2<&8O)Pm|`vBo(YUmin=i9Xx%#CELdN%Q>C| z-JEy$*^7bPF=J<=pWwISwKF(K-FDLQSKG0vRQa)M?|CHVLB&2Ou!}`eL1BEZU^Op4 zf`nvtuQx@tl!U|s-yOEj2M!zI$ zieq8V#=itI7fZf=m6DaU-eTwMN4b%t^Xl{Unf-rjivQ1BbpQV+T3hG;n@dH_%lr*@ zvaN0}49w7?=$ti4Vti9$M@m96BfnOJewsJFz4ArRX+$;W#!3gdYvydDnOVj~lKKtn z^{Y+u{{8#uO_vy+MYn7=8@)#%_d>wVTthF<(I)8hjX_>IlIU$~wd+ochJk@WLf<8l zmx;fA^&<8o+wtSlx_#xYD^mketL1_Bu^}7Y-Oz6NvWa9PJ`yn`XY)*cw6BU}2Kf1@ zc|9X}PbdCAmPfO-Vmcfg9v<#6)%!h=XDGz3b-w*B`8)HLz>tuZ9J?|4)t_IYf~{ow z%0ld7(OlEVj$ zk4V};GU2mUtD|E(J3AjyFzMOUs7Csgm6ex=@mcqx9VF$9X5S?j{uy8tI#3xY8=1ha zmuvs^>EW@wIlY*XO`A3a@mlD;yWTL|kou8*q$xum!(2%<;jviUOmuSc2|ljf8$~TGEe#w{&1TB}B(V`&8@!iRD24saSySQS9)(_f ze0+9o&U3MMQ9bT?WT}k;1EKBx-F;Odv zZL9f%v2pyi!!LY&ef|9We0^(Tl%p2M3S2+9ZSth%*%qgJd!mTmd0H`x>{!&vH*z8T zHiOlx3rVY{sOl0D5?WeX_!IA$V>2{6q`&Go(OE?A^0PylDMTgq{yxly={Y5+gxqL)hXu#V zMsNM?q*1V?#9*r3K;_XQMnw}76Gc8WN*iU8WRIu8F9Qp^KcUkom8Sv~oK4Z4ZBsxq zH8{M~M^}tRamuRuYjSWvzSw%31KZ1dZ72$IDpdt4v8;Z?W;ZbsHKQmKSC` zgr6MbO%(T_!sw1{p})N=;lfUmwi~tUtLX>so7&f(L$@)_q$)XBiZOgdkHjqw4m zL!|F873IQS9Bau%W1m*K9UNPj^x;~F+&5s)Tgi4ry7+9nP;0|0#M0{i;ExG zw%B)h+Blk${O$AW?X0YN4I7pm0t9F8`oU|nJ_*_Z7kvAMXm zLJs*7<%0#EaM?0+0rO!|9j!S1wz*pjJ6Gi$$0m}T?dv12QiiP*z4VDfo=rbr@SSp0 zWMofouLS);UUQvyWx|WY6uucZny4f-NEEKD!{`{yeJ{rHv2dt;=Oe5{ufA%1*X5bU zbhD3Ea&mH3;S7~o)_u{r*!uQ=Zn#6ejxC};jbLnkh;F&xqZ+41YxVUot6F^YbTlTm z*=2DA1;ij`q+DpO`L(pqY4he63*#vBhtEF{qjz0hZ1dMnup4VtoJVbs;btMJr~I{= z!wo(@u*jb`9I8$D=*6m@IE<=_LcIL>paoH^U%zH-4h;({z}Cc@FDB-U4x%$)pp}qOp(8C8{p%uM@_56JMDbkLB(oJO;5UitEb zmNRd<(&~!9LVrZWywJyxF|oG2feC3Ui*-%)dQf%oMiNXqI$e`^|-b zQ`btK2d2%J35?}Vl?nK&nbjq>5V$+{lx<4hY~zrhws{uT$wx1L9V--lojn^xF;$KW ztAc(D_)uiD{AtHt{dsm|a=lRac6WC#bRPFv^Z17? zm{ASX>1>-J6azmg##u}S{ZjiDd~dKRV+;eVS+Sj>7`p{Mxz#KwZ?-&G$ic;Wohf|?*AKn?|&imjumy@g3%&T=zAhBl9zuzdebj}sUVR1 ze+u3GzrTGaVv}E6yDoK3YAzZfS1ZC zJ^MY;%JQ#BM{;x$TY!zYE->y%uj#dW54f1R5&@X@q%0-pR&I+*4X4HANLfjVX+z32 zRhOMdj~)f=kr5uB_(Go)Ss!{ zRr7SMSicW7vpevzO}BGtC-d>+$Ctda1w0OFMa8-}_*mFs#eViY*oLks)1(jJQR2($ zLmr>=oJ2IB>G^du45C0pcnR}gdVdF~qRnwA!Ny-X-sYEvu~Br_V_JcCmHalmHhXvg z7tQnMd-I(aM>+UJ)@6!2LIgYm8gV;hzc3J0fU2^WXZyBopS|emH;RH6XuZ3BK>79( zN|}I+_g*S0mzDWGv`BqJLqiRN+2IB+p;?XP&6?uB-q9%y#QLCl=3zE;imBtKW!RR% zlS2;(|mZwD75TKHo$BA<0TLP0Xb5xm4@rq>DslJPfXrh8xfNCp^2`mD+UJB z{T0V!TP(lO8g#^`mc>rJh)&tC^GrL+^^Q^koJmtus(eeJ}| zPWSjz`9C{7+_ma+9j2~$3E85=*!BN-W!d!^+=2SUrS}`i1(UH}WXkg|7r6_JW_D$E zJwc&eMw@-%<5LBw>$1GyNy9f;qpsfqvcvva(+0DRCer)&?jw%)faq_|vkiTZxypV5 zvIINYG~o5_pS%#l&(n-s^V>pa-_9g5FKupauBKLdz$o}x_~e_5L8IA2i66;D1O)_g z(BO>1oNcp8cXR4yPoq~3qri22_AFRk9@DpNxQ0d*KYdVjnO|MEA!+jsvHzc7A#Uy3lc$=xE)=J`oaX30gen&FFxiJr8gh z0uuH}sCo|Rh)3oZ#(_$C=r1vdh=?p~L#qr#`@+J}bDpW86LNfh-8}f z%Jx_iIio<2vaOlUi?e{G6KHt3Sil7S0OE@wDqFd#$1Al6?b`7Ey$hUGz0sWc7EC)* zVooM&2Lhto8j5|#3^lyyqYNaFlMf2 zM6m-hi1p>watoZvPGQNr2pBh1|Mp7EH?iYjfi6oEUxv7=8wdRadI${Ln(MG@<6Ntg z1vqs~-XpQj*(M8ew?nL~aq?lps@JD1To<(=FenRtT?O#48Eaj>zfUhZy3j{n*rD0- zi?7Tf@s&yc0velYMZA$Lt;EP|xRUKN5p&$t-u$pPt_tV-PH0hQiZvVj)^Ff~ap;zPPX*u>6k2 zPF01iOoM{TReS|zqLO>Wg?YuYgRFc1t#8h|aZCqlMo>TipF!b0$R&Hxt0*ZGG~O~$ zkJIv5bpyP8@uC;Orh~$oi^T$lbCGe+{QNxDp(BBvP0v5v$u96z3yYi#D@O!u=kB3Q zaCD;PL)Q^wc#EZaA_1_}(sClwUr%c=+O+ux^=!5hrVTHIiFBv4SZyeGnH`Kva#^0K zTT`U%tKM8B@H-@?F#jg|kq26y=9*J&vW||9KV?1vCANa+C^->Cg^(yn-DElQxVgBv zY?fZ(27_-FZmswN$ZQP=+F_@O89-N|92smYaLwBK*bA63*t%?MDRe6btQF9={koMN z9NEmIZdfK`Z@f;_gm(uxqO>E70$479FCM<2tF2F7- zzyMw+segPc#j&ebuY&V$5&8LnoJFV(wFivP4`u!~899Id%Z5~=x#0%uV(+7(yL4_< zh;tc!I|B;R_bq_pB7HSF9{qB^io6kkc>*6@L(FMo#<9kq6YVdKvM>V?E8*YXyeJD5}CF57@ zrLk_?P%dQrdlNmheb_?jbxjGCL+LJfz7!#Hj_RZr1+DozDx*Ob`B?*Rf(j?wR#)b_ zEAp;N(%MvieRkyIBzl;Soipf;!K?5sqX8Up!D^%TV` z425sr14t?rsohmk@@SazePNtA$)a&;358oe-#x@Ea6s;Qoddc@aloUm0CIIe1<5+2 z3$3c^Q+n!Z?oDYx3FxrAY;EXU_#q_%RwU^cWbaH@%kC*7^o`w;G`lx`Koj)QFRe#S z#}1D=M7mRO{5|wG)ySBdIQ7*L3)k(X@`4j$R)!3fD8Nji_6%$VsH~A{j;qsE^2CC@ z*F&h0iiQjgXmxy7zdqe-P+gR8Jd$oT6UAm`s7_>Q{G)F6tw+aLw~tjPuItKoO7bAT z8g#t4@`MkPrE>M-(AZGi{^YFjS?jW3KAT;aJaz0l?o*EN_XS(0q@)yDH9RtB7#J8h z{y9a~1Y8-gSbsDT^!F4CIW0f8!~LeKP|Hj;>_OFJN8J1Pc`aI(x_#t1?9{Q=v{rF$$HH8=BMU$M~+w@aTNA24`j-B;FOM%Lrrx}RBHw>eO$bE&HqwKIMdKTQzl z7YRGmT}`T^E1I*cm0iEPzD{Vs9}78M=S!=3BBFu{76#+sK8ZEq>vGhY-A5$Y zw9=x7-E(Hb^$T2}hQ=CO02gy7243F#6Zi9Evj?jUFsFZD&ap}eQqh7p+uyru8Moy- zYiK}`i_x9X>9a25iwaNLwNccIPN=XDxK70Dr&|IY42;Xwxl?^ zOnB(uqd4DU+jOJibM);-lPJ}=QcV#S`S4lx5t6NnM+ znvYGFYoAm0(PyBN6s|Jc_&qx!nW$foKWOG#C$LTgSoR6Mas{H`U6alXp)*6{!v#i< zeotT<$k6+R%Ma3~V@E~{f^Zm@`Jh_lz~{q&pXq&ZMFO{gz8gZlEnXL!No8JkPk(c*+U@35`UqLY)Q24=p0=qU+mfOfJ8{1AFx(#-8u}le@ zLuRmvFbb2$piI+j|9?irb+xGu6rfrLpy8_)G_> zSe9+>QAlqRJ>j~t)IGADij8!;FUQg42>RvdaNTqlvyw*fl}vO36I7jv;5fB)g-9U_ zd-48#6kFg&$Ur=toEA-lRC%K*-`UA!?E*B6dFbHb?jCOC=(s?1Ad|}1-7)TZP_=+h zJE9|=Z2NMa=!AhAv!J!byNhq9^{-6S&8hw_L8)|4y+UlZr=+Y*?k%s@Ct_eJYowQH z9Ch{kUZy1Ny05OJr1Y-^z`8}H@#tkz6oPB%gwSr#0a*l1WU{-s;|pt2Zpxsi*k7vI zXQqI>_fY`?hu^30)~<&*qnttXB6r)Gg@og*D1^pfa7R}ab#!v^mRME7!}WylgyjLr zM3&%M^#{m~|IC}~%$ub%()DDx`0m>Gq*#0LjnTFvxVL}1~7kRIeEN-vP| zgJO(l>aU$vk6}h#0 zaOOu}z8~T!6y7>wT9-v_`nFD0oZCw+QkUU@!cd0xo5;xf+x78oJJ8TE^`g6W&DT`tGC7}WjZyJL#meaqCQ2cp8%(pby%RP;r%hlhuai=IQr?(95Bdqez##gwHI*W%V=?r|D%ZYEy zD|;Igp{M?=Km872;uv`)%qR@yX@}a>Y8o7-o)HH5w~f93ai;(qTP`3>jG087vRDY$ z^hf%Y6KpEkiJvjfniYvJoD>;*>0AETLUV%fEpC73sk`2g68S_<#bZ65*Y9qG@@id)B`1_I65PqZ!o@!+|%JB0j6y)&FKn09r-#RAF-1x zVMtHCWGhqfE-IqkhlFg2uRWh2oe}TbRtoHE4HzIn56S!4<@>W%;t%CR1^J42q#5^A z1X77CHk5nYiPI~~|2;kCx++lQaqQ$=c*^C)3SDrdj=7~go_q!}MwLRdJ-za(lJcD0I{rfLklofuwrSE$X zFJ=JsJt|rds|gh5K~I;LNInV+L27Fgv}I*v+zuhK0wApknu^g(!BUtQJQB#xi;N{8Q=4Wuylc8TayjW|Fi+q zpGI@A9c|8f`SK8{8_HDwvu<6Ti;33PV_nXh)eqU$;)UOi=cvT-{XZFvKy=(_-hMYeWvA=7bEzy3-4SHy@)wi zWO+co;-1PgKwmaCL{$=jZb6q(o6L4?#EgcyuFR{d>r&>0Jv*m67aq9OkGh?*a%3T; zrWSUF@wOPC!HmlLpN7=$F6<=Kkvoo6sO22G*=*YH*rc>pPlNNY5pp~_lP8POwQC^u zPLj|UArIa?WKYNjSSukyUBPQ!w@-MXrcnsx#by1xGj_FDV#`0fyZ|s=K0%6*c+8wp z235Qn>X2y|gG)^gcJu;Sg0G&s4f^AJpU5iMMEUsPWnz626uI+l`a#o++1El=^lW8d zClKETY33t!1G*skp(AhPbArKFn^C;NhZe;8BVgy+DHKd(bGa=rGva++^fY<;;az^_K1pC=c( zH9y${ukvP=6X3$ie7S3F*A6Lx$Omec5tb40*G#MK2f zROz9jU7oS}Vg+QPGg@SeuO8AZOqOyEEj+F{wx+BnOA7SAybEh@ylr*4ZNugr5Gl_) zIv(v32T3H%Rq#OYnw6lorC#_uH{j0!D1#j?&W*W3J4JQ@Qz}9S@#^m8RkO+`D5Z-O zOmfXISM;G`ygL8TcB~a?uOnPssj~hY*x@c1DI_i&r@r&5?|onPIZHW^*CHQOmY}QN zvK#}z!oad}a%C}5p$h=B=J3Ao-U&t4HR;rPef7iDWC^xOaiKs27l5PSMs|Ji62UMu zrJ49Vd-g0SXc5ZSWf0(@x+HpZ`v?ioLH_E%Tc!NVdBgEQR|LZ%b{VC*&ThS@0Qkh_ z#ala!q}LIW3D(JL^A4DeOIQ-1cB>FrbESQbfgL`ibL=M;GD`5bK%O|L4Unux9V-%N zBNo3~xKPZL6Qph;IE}jUvfT5Dkdscc!{`IZx)8qN46W?^6ZxbQEeJ3w=<7*eh#T8g zqOPH_pJTKU!;Bujurq4bnRn$`X6Y>b%Xd0AKWy?jc5$0qJI2CY&Hcd`qs6*uMDibt z1m@gBB*kwn_^^XcFf;$kU)ldgqA-r|3afoLvuoE9aUWdIKdzHllK;GEMK&lvyy6}H zIho5^&JRgQmRwucTxSxJe_zV+pBJdJYip~vBTa9Qoaq`8*hmsh`~U2PemMyL`CIxA zywDw?3aBFBuDFn4(Q13Euqg3_=0Iy3w3ce|MMxF$^(%yHlx<9(KlKl6A{j;H9~AIY z8DuCUxYgPP(N6n@%a(7!d|a&35GdlToFNV(7xVmfJF!d8ryUoY%gD^k9l&t*weR4`kmPhyW*`1Y^mNxK)Q1+Wg~85#O3y`jf8d%)9b}Si3UtC{DttS1^ zibQ7Gjiy=DMwnfiX+u!NrzSV%9QyS-G|P)~qq8brbg?GqdtE=3#|LR`_AxWw15 zyD^kBCohYE1;cL1M!Y51^78>g%v4Td5=3h_@c;nf0gz6^B*e9)ZYGi9@87?dl<;>w z=2B8=g)0HU(&lH!Ln9-j4AYuH$QvAXGXs&b{)FQWUB;w2a{}qsWx&JhJte-rE)lW% zeePF{jL7K(&+NDa?AB9@Fc>G1usB4DA<6_Y$f-Pi9r{-~ zb*x4nktiK6>F!O9zitI@RhoT|9;^f44$3Io`XVfhP>}%`^&JNyd7E#3gt~T+o7t$@ z1U!mBZwS}<@KWvF+uhTXpp!L8*d0B7+FBXrc_7Y#U$T^ejEK8{KOw1&aE|brb@OHf zcLk`gmAP_)Ya;0xj||~2c>^LTB-c{USn9eg2Ev(yBJXzSg`mSE{mS^m6v|KliR7Cg zPb!UC#zpRw@Mze1bn@4%6{==nHlRY+fk=Or?Dl8CUBSq^6#Lr&PeLN6$Krec*M=~c zg@ITxC7&{#7_HpxH9o9ju8Q`JLEC;K?Yt5E-&wKdYu288aBX=GW&4 zZ^g4_^dE2Kn^+2p09v{;7QF8}E({CqKehVqD&s#;MJIGMwSk!RqWZzHASBIsF!l|6-l zKf^k}`64YVi{L%3td)hKkL*w=?4%DssFxLvefhHe?;}rsVzq+_$jcKRw0fdWKv-Cq z6yvt-+u=x33Vo$7^HLdnt^DSKCMtsl9ej$(o>CZd2#&xe5f%LawnfFEa|VIP^E>%o zKd>B)2l;9>kku(UuSRMRDvxJ=g?XBt^vvcS_dqiDg1P11VYhIRVLc?8mE*K)r+=DaPjSiek`wx(2oPh1ba~9^t^cDZ?LhBHQz*=YpC_)JBSOF3tbexSh2_d4Q*jDl)%ePP{2!IQH9iLQ7Lxb?g z3CIX1LJ)oxJpU}^8&s5(Xdp!P1~QByL^%*La=6E^t(THN?v#~JG95LlGa;gg^$}us zH=}F#s;xk(+y7)=#`Oj(q}m96V#@=S6%^!C#gep3oSQZGE~Tk1JIq+4bG1-J`!5xG-wj! zj{UVJfVf^R(-AP+Mo|vozCr&3c@$ZlFZVf^RBXdh2P$yz*uzo$6^8mW?u7kfBe9k8UnhX~lA zLK`R(Ha~>$mGaej5mn6>#{QE#%)cH?D0- zCk$(Zmgx=VlU$e0o(D+T_68X3JaCFpoRMejn{RAVYbcJGB^_GRd^2m^~XBu63RSog~UL+UYVlWrh`1D&u8c%$bbF%mDE}tW@|?) z9D+A1PZacLKXr>i&gXy_N+h_^7Ktr~SrI`4K^{I1nvVgYe#1C^7fxw&uGF8?6>#LE zmAUySl$lfbF+jZ)z`}e~%^+@*J)_h-rYi1&UlOYbW^&dP>HNzYKe5gNvJIzCEUN1} zr(=m2JK<~KQeJrbkYRmwFJ14~{?QTx$C7G{RxG8OnfS&+-fy^f580cL@s zj`}u!=Z_5tz1IVhrLA4q;*gOX;LKIHnw*ARRVmAK9~X&5%4ssS|Qp`pL|C6Ge2ib8Qi+usEJu#X7Pe0?LNp;o2fbgA3Dw)=#)Byw~eb z+;$V-H%0kSbO4I4*vm_F%kog6gWSe9zn%Q@7{nNzTYzU$JLd`iV01NQc*X$;EUv05 zQOLcjid>m~d|i_mhxg9VXINruaU03W*jh?CgPr`mrq#?BHWR=HAVzdoyk6b{h&QQQ zJHqVWi;H7qjsPl}YeY|L-A|R;B&uM`@pRL6s(bfk{JmEyyj)Z&)|T4HwmfH;05FCA z?hsQDa#FBj5D-{I5ZXpu`RgXpr+$93FluAbCOf|Li>Ideaq818CtKuBe8xTc$3BHS z3@CN4hZt-^e)2s?SnSc&a7PQzxwx!A8bogj^!G=PUvpsE@`aG1LB#Xr%a_$%O^~4# z`Gka)kuHGxpfsr>P6&!*K$*ZI_dm8_nL1o_BRZ*CQEj5G_NZdTO$G7rZO02`Pxh;* zAv@)sR}tQJ?V%$>Oq*b|#}JXWd3YZj47~x+@F6|Xpjh7R3Q4Oh3YfzNO@0bi#vZH? z`^l!CU9ndE z*)&gqq)^BUo}~Vp-0c#^ziqK~4hoElkMdr%_|F|%0Q4zGO1^!IcNC!fKA@tF`JVeX zoR^ScH`7Qib(ROMbW3C0st}ckMA_U}0hlGSao}jUh~!*UCCjdZ#g8hzxiWgnHo~OZ zlQ&PuV5-$}xTQx-q5J&^(xLlqH)iop?BAa+AV8t4bgf7DNLXlSD<)HxBkL-@hm$o3 zw9yDT-a;ZSa}H^04WNtL`fQ{`l!ZmDKBn%-pzerXAGY1ijv>4~gjp;Bc2c*Fj}Mv1 zGoz?<^JMl(c(z*NSfWXcomjX8OGt8mmApuTu{yhLuS|`sMR{4-6RPDEs8*vm*`Ot| zsXDk@%%q|%9q<4<*)M^J)G#;HqcHBh2xsaD+Y(N?;BZjeuYq?bsJ_9g;Zr0$&q708 zzz0`G?FzK9n$jxYLo!y(t0g+J=ZBvDfpT{-{j5rxowl0kRw3p5L-EPG$Zm(h08m}S zN!zy*M~VgmD+c!}Mn5B{gu&sW1^QRKZMRdyb#1BxSXFcKgwi3iUqZCaU_Q_+5d>RS zH+YljIjitABD2p%)RmrmgE>fE;yu;YP2#Cto32rPYp|gvHqGqSihju~3MobpwK*bK zJ#<+u7i#4|(80=`<2g=jY+`qrO%3yHJa|J|=x`;N=h$A(Pt`U?i7FRI&(*A1G;Y5w z8iK}1%PnydB**)xY~dutGA;8E$hG1<5}wqN#_U=Hhe_Rt5K-OrHPq;X)D9cl_2$fz zHs4Xj+1YLbuK?o5cw9nzNlM-&ci?&aprzXRNn?9WNa&u&!v7AdVNaEH;+jcAN$_Vj*R$f#9JEx0r0(Kd(xtvhuVxTTWVp7ZOUp7Ou-YK$f| z7>2hoGOZL~!S$Ed5(@2I`lXl6rWNI9a7eZ~*e;T>d|NtBtm&pcv!bM=bXE?y`A0Np z)85hxHAylB$I$(j1{cF*V(#sJqcP?`_8OY)!}~<*O>6)f!{U9|1Fzo*dBx)_2wdfj z7j8$2$u#ZgGbtU!Jde{Eavnea$ndkgi=eAfS9~Z)i#-lYUCVGq=!8&MH1hkyJ;ML! z(N!Z$vW}EH({ax@Fdn?mI_e1lfFrneLI4J|zcxe^cQ`r*S!f3UQ7oz*IQl~*fId#5 z`Y4&Fn1Yt$G=h}7lxaN{V4dBo!T-+3$rjkHavtu(C3Qt5B`ciCdEi<`ID+WkR(-d& zxgByWO@eY0({w>@|K63cx0AY2&#aIWI2qWO!~pO?Y9=wHhoz|y1B8)FWbe6E<#fLV zd`x5u{NRe_h1nFE@AgrC%!O{YKtwD+DfevrfT)OT=OZRP=pY~?%>W`u*FmL1J0LRu zaN-ae5<+Wm1_t*gr$>qlZIf7}%e}k>d>}8xxtDQ=62c>bL<0T)@u0qC5hc%~RBF5q z+)Y84dPIr|t}=3*XuN?qZgI_Dmr8EYCm`T}(7k+*xMG_`GXxV`F|2nFA#vjbPEJIl zKHS}sVO+sL>V{P<1l$Rkz+qawABSs{vo_o!ve3X9cMoY~nCrrC2eqhx=?5_dQZLb8 zh{O}Yr%V`mhJj3rb>WB*>DrHzFebRc7en}GRWmepzkXNQ!sjZ&y05y4zAE zEn(ruV0*P%jJ9sJafqC*X+nZ5t45q^M1;zamZF)+wpxx!#ioVbtkL4^TD-B#N_IsR z3|ce_V!Mv9NxQfPw>8TPvq>K+CMz78uWJhOv2Nw%yZUC%d5rH3L4IgyX%8GYE?o)I zL4<&Sy=pRf-{&*SNqI9K@FZ|a$-#ES!aiL%pp$?9b?l&cWJ!Xay3<-R4rfqdxGP9W zeeEgrKk75`q@}r8>?Y6*^vDuV9_sIqF~GfWu8Tuj>GIlTBPj^E2IKji+a7y&%Z~k* zWJ7DPu}tepIDcmWh^PsaDxAl*JdhC%_0Pks-^)GF8P$FN{!9c<5K@rxeqA?&=^<1( z8SPO>lATv5&f%jFNVQhmLfTtJLE%vO7G;p0(b|M2Li$rZW*hL0s^+KmQwz>_%Sx?K zde+*N5`(n2TAXfyOP(j~pR?yI&z++7eEaq-RM*ZhG{)G$hw@MTrC3;4PPL^DSUemk zlu3{EkwF#v*138n^7ZTIP#NKuqe@Ug0LMjI(i%2yr@roVq7DIyn&mFJO)IYotZ>KlxZMVPyAl==}Zn-%u?I1OcFyvRAds=g4#Zv zd!rN+e|_z-3Qt$YvUAd95-#r8W{e#IQVuH^Vg!*B3!H^3JQLrd>@7_&Ktu^6ohE03<%9Xl!O&>^^FJ9OqQwgdPS2G9{eQTuA z2IqKTah*;L6t|g*_rv1FK{ZP$(cEAkc?o^wL+KUFzzKzw_hA z55#+e`E5+GeIZsMIe%*Z4hVazP`M_7+wlrbf%>lrFBEGRC%Ue-E*xZ- zb2wj_amt5U-q6FeCSx4IW?=rc`De!dN3Je(JBz=o6`^)oRmp zi0-LB6LBZ#+OnUJRi7IlkB;rZtM$!P}Xbm^@rLbTWS|l-y&KX7P=c^rB<% zqtA`L_59N(vE3q5-?-A>tv_x9AAYaem^+0;ge7PRRh*<*>r?9+v^Ct8xv;X$@>DGQ91OyX#Y$XfL7w&a+JgYCU!`XJXp_hZ~@wu+t zHZh4|l!o#Q`J@!J13CdSHIcwc&;93Sp1(%zC@T{^yoy7~7n90zGBY)9mjaf36Eqzc zS)CGrpxEn#JSDl~+~|!rq9X&Zv%P(MZ1{BvNiNOU;EVYPbEmw8fB?=s@1>&~?djw4i3=slCbf6A4Us>5U)yHFCQ;x2Pb<#7c+-G31JQnsGO{<)6el&US8!;dgf7E zfFoK0A99(h{%g2jVz{tdeV#tOG-r-_U-*%@h9v&^i8ES4jk^x6zX=IR_2#|*{6BZX zng3ZWB;ty{>_+^gd-$2P;~>N@?G?9Nf3ym|W_IsfE2qTw74{bWvpQcgyZ$`x2q}_F5-SzsnfAfF#(X#jjetn*Y9>yX~4ae(6D}5u&80s{M(Zvb9)5+~6DQmy|OJpOz1XZ+RTDE*DE zT)rF};=%Xit8!AEKPtPQAN7vSPBWTK&;9(M*k6U_ftbM5+?<`A-Q3KKGk_ih%q*B< zpFe+IL3PEp-Z^3fw0H>iM~_01#~r_PcfK z*4hh9XK&ir{#q(GsV)D~^M0-6@@Q7EICb^}wI{(!0o;PZ!Ymwfal)6Aa}50eJ!bL) z&JhTmIPpVtdB3N`M2n`pd3l|#(~EgJLSJ2j6EQ$}F*SowKX3x@ON}pUdGZ~mU#s{I ze~~da;r|hQCd=I|bwPC5;KY6^HjQ1ocZ(WqrTS;O2cH9JVq=~E^v556pmQyN?A!2% ze7Ll$^negBP#7u%RIc!d2=svjr5Kt<^1&CKotGmXVXp(}CTOO9{{H1LbI$fMCzWgnTOHZ=dwtdnJ;*QuO3KPTlr}4i1*e>! zJKEd-TwElFW`s_MgfW$50Zu!BpCQK57B0RW%fiB9ti8P*l;0%15umxS@SH%eiBLp^ zJ#v}(mX?%!%Z1n`&F~OQ)Z++(TWE}gC)GJL6jx!a=Q4kd z%M*TrKd1f*3Yn9G!~Ei+*8#3xgxe@3i6RgDy>HK+&W?@>SV+(XBBP?zeThTqVn3jb z<5Z>koOQC3$P>d-m3Wyfi&#VJj~otaW^P++SDpC^0b#KqXNGptZujE%vsqt<(OxpL zvg~vxsXZy%G<0-m0Bb2It~e@0RUKs{E}Rau0d&(!sI5u&9+HDd3!ZX8PVTgj23%AH zg{PsRp)X!!0%oDR#>cZY0mXort}HJ`y?Ik2iN`e&nKs1Q(Ti#LtQfhu(<*rfXB?k- z*?+wRDElxs&==4GY2F8hz3#F zGvWl!*tB z)W7XQ7=~>&6}JPiqiDMDt%^-YH+Uf7rDuIE1c$(B6UJ77%b!TAO76vg4LD?&Dr36$ ziJF)UfM8xfITBkRN5AFmH5RS%*(`%Eg5TwnwI=6qs7r_s1o15em*|M(uXggXRWU|I zf+%Wb0bG(anpswnZ`}|l56F+hcwr0TFv4?2=>#=SjpRc@Lb_2^2X;KbP6YfY<(>54 zxmiL+O;7KNW9+-l(i@>=;ZQ8f+}#ff2pZtnqo3b909y?9!KwJf{(j@PC#rFr0lPDy zZfM4F87u_n-VbN2**5JTHgJVt04);MkF(u{HvnHIJXFV-!*(oL_b}uNX3FQi* zgK0-+P0a>iDm2-iawb;RA;{#iQc|Qlc3hB=DJd`K-M@oBWE5H-s!VtT>@-%r3cOMV z4Uwe;S?8(v;W@S_y<4J32bb;#*Qv!^6x>c;Q%c6rKR~i|`eK@`Z$j^)_OO z5wZK7I}sdvB@?L>qXNM%KR+Kah5+De43?)uE$XTfP9HU4^QUVisKqTWFB_EwJ9HFo zIvFk(6(r)CACO_uoT=#j8mj}gRR)+#@6_W*k0z$4i6A?1J`ngdU2CMXlZe>kK?eYD z?x(@sL-8i)BuP41r*P^5Fh53x1#Jhx#AEF27jGXzuX#vL4@WO4X$*)`Tt`Xil*^Jm z3J`HN1;huQ1D;u<7U^ZCay7|?=ELV04PBnlgSOwQIya{FjFsx0I(6#Pc@b|$JXWcu zH$g_>pu#UCbLSd4z3}s-_jLTXqEY*OPY>0^5gpR<`t|q$Sx6SU2rFzXn$64<tXISN?ln7bJ#B@m{y#z(80E`p#&Kj#W*ybaU5h@)L)W2e*-R!cdn~0yQi`9Am12j z$pIW}?9{W+ym>R36xvh&osBmpQBc%oDgh&Ts6GGwem(D{S{z!i4eLX*#u8d8 z0TF|_iM4BXb{2UUTsWOEPF!gA`*@X0$FTeTyO4n_-d+~3la+#iXJTR^>>kf2Pf$kg zovKS`Md9F_BI}Mi05>=zwh{H_jDe#gFuJL;+rVuRjZ z^7y_a?LQ00mME9~x3b|a;zBE1Ps)XdGla-RRSh5>SJEP_tEP7Bi)lJPcsB<}*{zsx zv@taN3>;8_r1;{5K_P5}>(ZxKSxdheZbk~!H$RT32RXh6Uq~m#(r#h_A-dM9>X3AW zoZKt6@$06?rW51i{nas5=<)u@azMNwp9XR$5uiGgMsHS`I2f=eU<3v6-8ZsDq97h0 zpF7IMerjN50gYg!HBbAhJunZ#VK{GDf9+89jeizXK+$4D!Yj47FL1L$LYxtHc=6%| zWC79qM0RN<9i3+EKB|5Dj7oPIp5{vCb1pXKR+}OE!_2Zq?#ie!i?1nE3WTxzyl$^9 z&&dr(X$_yE97*hKPPPcGy>MdFN`CiW7p}nXf<1&MTxFr?dNbnjjD&A$SaYbF^`DQT ziH|6LbG%*DgLUd_w_SizT+ORjuZX-C9!P|IJq{j6L_|0{I~TKH;W_T1uBn+E>4QvO7h zA?eb6)zHxW(4j*wPfuSVlav=%#$+FzO8dIh=1)sJ6m2<=Z1YFJjp59{6t?`{deH^9 zZ{HTX2>>z0juY9(-LMmizI+j22tX%!^fEa)xmmWhPjdr`6uP5oUbge1ZHOGx<$1lI z*&T@Cqv`ImMEeP8_43{O!u=F>ySIbZ$8UH~p6m5DajJ@eu%~cXgO-y<*_a)t7TQ+cot^ih#G z^m1SL`!jK}svsE@8k!FilXxgfrsa7WB3}a`k*3<~Nc|bgxT3WM{%*;ca_?T_l`Ggl zJY}NB04llns?lnIx2_NGvhjtSvd**aRBha}>HfWYI{CLXyc#HBmz4r=NuD%F@|c>ajv<6^y$ zimr-%PEFpi7vq3f!rw)PIDWH&WCmsbmnSF-2?kxw3T*P4-&gV>qp`D7{-yiw%L~{R z==Ne05^*&+%-K3CtT;FROYJzj48XN#&mKV`p^M~xD-SaZnx2P+wISGqgG;9QgwBk5 zLPjU3Asnt2chUbtj61*=dUy9ol3B1(Iz-eNtYXlV*lATjBDCLf`WqGEy?h=#}UUVtvJ%D_{rzjD9&hsj3Dwr zB+>9lD>%I0zFnBgkju%+B795WA6YyS3{h!^$!>&R(G{>>D531)EDtOB)92 z^~Dw&%H%%m^iI^soTt8{d*Q{2!yFuP-mfu%o^(Qu4Fe=L6s5mx7`)Vfk)AeQ0EOL? z;7Rc6(+IVP?Kj(p?4bC&EI@MpUnA!Id)~n6AKhoC|E+5=YZCaX$8Uw^Kl0H^YJN-K zXPT#k_VEd95;$|yDxY}e_rmsTiSo6A@b42O|2_BcpHe*k%io|~5e1rMZQ4P*dxv!n zNqggbGvkEk^|t($tbh}|3Z?&|h-q30nYRy6P;?FJd~;BlR0;iXiJ6_ac=qooD=X@t zdt~ymZpf^dS1GCYf$nfij=J(Def>5_&7cm)4bd< zd&NR5AgDeyJk9e)eScQd0`W^wV3!dpd#a%)0GaXA;9wZ^hJDB8qa%KU8ulkr7?3*J`oM4vWN-gHu3)I3Z~on_2WZw6zv~5b{0SgXh$fx z_4V~Y=v*O)6Uf|3K{s_z62`M$I%`lI0|p2=H@pF@>^nEi0^$q^-R|8TU0q!xBP~Gg zQ2oFg)N*5MOvRaCs&Tt^5+}{Gta{KC!Smt35h-RO--1LQ9x+rods=RTc5ke1b-Nk+ zm)%hc<_j>MkscJ6kbvCPP*s(R$Q%(_MK)JE;YOI5pHY#>Jv_@2F7YxVhj1fnjJfdx zR#_Pus|Pzt(R=;60F4B0#baLgb7kpnvYdUNy(?UUJ(X9iab4i)gUNtUNn4_X`-gYH3;+u zaRa|->k$GgZo`(HV&dXZ0m`QB@w^KO3B;BKkPlAAgNCpe3Yy*dl`cm8#co}rXF8i+ zLSwh>O;r*wg6rx^OiavV9AGlcb105R$eshDTsEX`3N^|Sxd#&$`HjX~!T@GpEy-NY z4<{lPVx^;?(4P6%pkU~4K_neqdmjyr&gh=2e0Y-SR&w&BX;UjK$`W1GTZwpWz$@Rl z3(qNNX>|vtHbTh8Lo)IL+V9I0{>}m{zJUYYfU`@G4>Wv=C%V26N|8IEMyg<@?AA=d5w>X0qwhhNU{``wkYUU6bp; z457E5NVxF4^cB_{Fs{NeIJS2AlO?P@EH@@^M;|RX46V|K$Y%7mQAPLlA?@P{ZA{XY;5@fc zaG*Kf{qWSsCl$e#inB>|{}**{9@g_7?)_S<)xt8gBq`I%q9|ijBqGx)A!(Lm$k2eI zNXbwwQ>N-yN@Z-&EK*4_Mw2NCAyUy`s7w)^*9Tc^KWCroIoCe>TxXxI{l~NSgZ1nC z`+V=ueZQxBCb5Z9&z8y|AlNgNDA=1s$%Ro)hIQx6c`~aa!uiW@HPasjY);{v@#D{7 zBp|y^=q%2DX1?d`2f~>;a_jEhGxhb=)=%pgxoPLBq9G1Vma=1fz(i;LX>n$49Ye|G zk!Jz+a8;CRZ1`L=uaEZH$IrDn$ZG4}EZwVz{}ge-hsCgugB5N+*1Ys@tkR`NOVe|E zUj4_>)R1mHhR!)qwQT({l1>VX_DatL>=SAJCD#P%%o{*}FAY&CtV&V$%4Zf{e0|~X= z{n3ojQL}zl*a@f@54Bo94fqxJD<~V*6`8!7P2}=?A`{3&#l$2S&2J<)4NsO}iFgm8 zLS*!?CnCqYolHMH9;4avk(FVH2B0Q(az z%##J;c$L-ciHyAB>?MZMv5@H?C;WSJk{503r$=9WhWG#S%>0kbY@S-B{Ki@LnfZj1 zN6qnXu6p%KhhL5=55z+037esb_gxJ6hunb7Z(hD!!TT=EYpRYmc`LSNf`DADh+yz# zq#Cn4PHT5dpJj88s{>GfXc@nMu=VDV0&9vlRV}-F*Ss)@e@k(5Oz)|NM%LDksDP8t ztbC$dm^*1S?^o}UOZQamMUzQ=+WLX4Jhga(t6Hm{zh+w6_TfX_Q#8z#4cm6_*39%C z?EZA8Cbl}2G6uuoSC@VV?N!>nANKk5{j(0__%Kr@TuuO2`nz)PXB8&!Go*Xb> z07@Dd6t`2iH@*<%ttmytqdoVRI{zu%i4y^}`=uUByLs|q1GLCO6G^+AV_Aw)UW$mB z!Du_TYq!@dOqjK0XB^q}5A=b~W9Vj4UaN2C801m%w%Je{BCmLPd3{A$7!vNegT74NsbFGq0>w#AP<<8|(Ia|^2_Fzhau%%*2)b$+PBAmpnHhV`lG=6b zxSm-f)=p_?+9I&=vFkss{=E;1<7|LWvlkZv6HT7XUW<7ngDx8(~mjn{rr#_ZL1KCsd)A*uMUH4`DJsGBJV{^ zlcTxgOPn%w>VZ*C7hVSaU4R49yKVXUeev(nq;EY4WmP!`o88=>xds=91ZOo{dNv)V zYrWs~#WTvH>;#&${M1_Def3_|Z$EN*z+0lJ(ne*}yLWE|nfmsY-PZiBdGTGko!lvp zc>VCrmxm@GT}U2Ac^W8oCu?IdV6MOK+{P2zo{f!-Nh0|JS2K!pcN7=fq*1!I zoh!3W<7JQrt=R;RUOoIbTD%cqS6?AfDVlb>ce%ggow(q}z&o|sXLvQZTAx)^SU6ZX zxwomg_x-fx%uf2C{D33&JKgM3*72tCJqm%^wry@$W(-oN?%J_K7}x-D9OMt5w9|-s zHDGbK=2?HM+jiceXX%hcqeNDP`Rw4Ny>lyLUN|&b+UE=mnC%pPS92yuW`|?f4;}aZ zseVL`6BF0E;OyaRa(PpAHC3BmDdY4j$*WgfR=XMlxljAPe)DGJi7`H{^Mm?u5gQgw ztJhrW)N8-5Z-)_y0%o8{$vS~{5cs&CM+%IJ)D4=@?Lxo){e$~lR&WiCy>_^Kpm~$b zo*u>?$>%Nlq@3`aNHbgh!j76*2hO0iAmF1{i|}QT|NF(mvexUmAV`3K1Lxer=cw=0 z5wt(vVg>J3YQ10dnQLG8_F~86l8e%RGt|NU6$4+*P&^QFLBN?do|>)Q7H->4yQH+4 zTC=~;v`5)TjDT)s&Li}JcJqO#M;@Mi<;scy%y6reFV=6CPg03=)tT$7qWXzmP{K8N)L z)<1I(n55)fzdm!?wAgBs#zk2l%6=Qs#&*e){TrNhAIaK)c`i161^Tu-ct%{P)UNQ@ z_J;Lczhc32^jffB+0<(ZCVf&GOQpv^pm!;m1&E5`?XFXsBDa=WSUt4y+B&y2_hNi| zjyC$4ZgTtX-D@VPp%Lsd;c~&A`0IuGTynCTW<5UefrfMqeblyAu?3^qqH_IHfagSOn zs;E?>lZlO~001jDsq~>cw7RyE8dID&FY!YHV-)SWoZ5wa8OC?NE$&lJx1JWtedCg1&_LMeWQ|e5Y=k+qLdBB0>gf*XQQ{I%zdz z-gZ3?(}q9X+Sqteq|@rvtC3J_{T|=jYwWs_Iy&>L>@~iYDd=U3w3YLjV?>>3{<6L> z^~$A7C+&)27{vf|;$Fv>Pht`DnZUOIpNJiRrbWBA>BWi*~Vzs{XH1^UBq4xOHAVt9+M z@m`FH>hC%j0P$$XU)4`6Ub1KrsSziL=AqDgLchjV)5qi}yHima$I$D5SO4X=Xrw|j zc`pb+ELSO-pS|o!fkHrnUe?cidY;WNF{p7isR>y$yA1MSvMBu$psCI+m#`p-DM z3_4F&S9b_gjNUDpIF(Mhb6Qj4k3fAp10k+rQs4k?@7SS>jQEKiQ}z`V*IpWVUi|SD zZD*a(ju*!plsScRwqWN$X1sl+ug@9V*gWR1UhvUGKZu{Bd3>nPjvdo3 zOF@w`gS>*T{n~poGG?fp+O~72+Y*(VuoH_g8P*7qc|wK7qlJWvir$3JUe9j-XVPG-dfG zg8>l0eXQ#~@aKnGrTsw<^PJ1;HeNu9xu*8+AyYGF`5VQ>n&5FjObe8OBI06X z^!&(O-WL*b|EQi!-F4@A{s$onWMr77V-?8GKASXZY>awGJ8d)j&bBiSadlzE-&_1p zc~Z&6%)tcd>hf71Z7C@6rW#hNLAWtH{DC&deQxf!Lyh0 zI$^UD_F-Ho6uL*`hLn^D*bS@p^cgdDovGSd*l@B=^U}*lo}U~WuRI|m&S>$C)00e| zUQnw}FE3vdHlvuL0-88#Oi=FRrYgrJQD33#ivG46Dr>u{m|0q?oNDUWx%2z_dS_Ry zckex}PZqpGr_j(>wOtKsh&uhNc4;PRVi2QJi)DBn=&-lQAO9|BDd&{-8T)w~5g06qoIpJR2e}Xy#vzsjaOo)uAC(_b&Qpa4P8 zwQFC+?7iiAd0@UIGR=}D3OxByNQ`dpVTkOPQ&?D7TwHuFU3?$s{ycK$i>5K-Pg{VO zRU?pHzx_%4$qyT1`FiE(r!FTrpu7{PC3E;GpLkSMgIsh zZrP=j-EuWB@IA3=__J9#v)$nDzuM+++YB2uMsCYOg@Z%xWvoezY)>8LFo)vUrhYSy zo*3cM^~bdlWSzL7-w;O~6}JnA_DMxg^PRGAnJn-w-AW1tfTBu(-dd6$Q9@k1R{W)9 zsDnT4fp(2c0LkR-%#fZf$NljvS$X-dANuK*KAz8OtyVS^|ZB z%E|&;PS?BtL$TDVRp^xXFFJD7NXiIo8cmK77;4_og7C2!yT)oy_~A|1X!#7u%0A5% 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