From e1aa4791287ebeb909d954b533fc36b0cf289678 Mon Sep 17 00:00:00 2001 From: Ramiro Magno Date: Thu, 30 May 2024 22:05:57 +0100 Subject: [PATCH] 0015 derive seq (#53) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * First mockup of `hardcode_no_ct()` * Update `hardcode_no_ct()` Update `hardcode_no_ct()` by allowing the rewriting of the `target_sdtm_variable` variable to preserve `NA` * Align `hardcode_no_ct()` code style with Ramm's expectations * Add `hardcode_*()` and `assign_*()` functions * hardcode_no_ct algorithm code changes (#45) * hardcode_no_ct algorithm code changes * harcode_ct working as expected * assign_ct and assign_no_ct works great. * address review comments * Add `oak_id_vars()` * Fix typo in `recode()` * Simplify `oak_id_vars()` docs * Update `assign_*` and `hardcode_*` implementations * Introduce memoisation of `ct_mappings()` * Update of README introductory paragraph * Update hardcode_* functions' interface * Add `contains_oak_id_vars()` function * Update `contains_oak_id_vars()` doc examples * Update `sdtm_harcode()` and dependant functions * Update `assign_*` and `hardcore_*` related functions * Automatic renv profile update. * Automatic renv profile update. * Make `ct` and `cl` parameters mandatory for `assign_ct()` * Add functions ct importing - Adds three new user facing ct-related functions: `read_ct_example()`, `ct_example()` and `read_ct()` - Provides a ct example file in inst/ct/ * Bring `hardcode*()` and `assign*()` related assertions closer to user calling functions * Add lagging behind Rd for `ct_example()` * Add `assert_ct()` * Add ct assertions * Remove R/.gitkeep As it is no longer needed. * Add unit tests for `ct_vars()` * Update dependencies * Export `ct_vars()` Export `ct_vars()` such that we can cross-reference it from other functions' documentation. * Update `assert_ct()` docs * Clarify `assign_ct()`/`assign_no_ct()` doc * Improve grammar in doc * Remove last empty line from ct example file * Add documentation to `sdtm_assign()` and ct-related unit tests Although we had discussed to keep assertions only at the user facing functions, I am getting the feeling we would miss assertions also at the internal function... because of several reasons: firstly, the internal function is more flexible having more optional parameters, which requires extra assertion logic, and also because eventually we will be checking code coverage and we will regret not having done this now. * Update hardcode-related fns * Changes to meet linter issues * Code reformatting * Code reflow * Improve `assert_cl()` docs * Update `read_ct()` docs * Automatic renv profile update. * Automatic renv profile update. * Add units tests for `recode()` * Remove `are_to_recode()` function Ended up not using this function. * Add units tests for `assert_ct()` * Add one more test for `assert_ct()` * Add a basic unit test for `ct_mappings()` * Fill in some doc details of ct-related functions * Remove leftover doc text in `assign` * Update website's reference * Styling update * Bump version and update NEWS * Fix a few lintr issues * Add examples to `ct_map()` doc * Fix typo in `problems()` doc * Fix typo * Initial mockup of `assign_datetime()` * Add `.warn` parameter to `create_iso8601()` internals * Remove lint issues * Replace `.data` usage in tidyselect expressions See https://github.com/tidyverse/tidyverse.org/pull/600 for more details. * Variable renaming - `ct` to `ct_spec` (ct specification) - `cl` to `ct_cltc` (codelist code) * Finish pending renaming of variables * Rename code-list to codelist * Fix style * Fix style * Add assertions to `assign_datetime()` * Add merge example to `assign_datetime()` doc * Style changes * Style changes (.Rd) * Bump version and update news * Update `ct_map()` doc example * Make tibbles more readable in doc examples * Rename `ct_cltc` to `ct_clst` As per @rammprasad's suggestion. * Stash changes so far * Fix bug in `assign_datetime` - This bug is related to the support of input is in two different variables (date and time). - A unit test was also added * Linting * Update styling * Add renv profile for R version 4.4 * Fix a few issues in `domain_example()` docs * Comment `derive_seq()` Comment `derive_seq()` function for the moment for testing purposes with new R version. * Add example with date and time to `assign_datetime()` docs * Avoid backslash hell (մերսի) Credit goes to @edgar-manukya for the expression * Update `ct_spec_vars()` docs' examples `ct_spec_vars()` used to be an internal function but not anymore: so no need for `:::`. * Fix typo in `assign_datetime()` documentation * Fix typo in `ct_map()` docs * Reformating of docs of `derive_seq()` * First mockup of `derive_seq()` * Simplification of `derive_seq()` interface `derive_seq()` no longer has a default value for parameter `id_vars` as per the meeting of 2024-05-15, so function's logic has been simplified accordingly. * Bump dev version and update NEWS * Automatic renv profile update. * Update `derive_seq()` - Two examples of domain data sets were added: vs and apsc - An internal data set `domain_record_vars` provides the mapping between domain names and key variables (thank you @edgar-manukyan) - `rec_vars()` was added to access those record-defining variables - Likewise, `sbj_vars()` for subject-level defining rows * Automatic renv profile update. * Strip down the domain example data sets * Remove `rec_vars()` * Fix linting issues * Linting issues (still) * Fix code styling issues * Addressing Edgar's review - `derive_seq()` checks the name of `tgt_var` - Added comment to clarify the code * Add `sbj_vars()` to pkgdown reference list --------- Co-authored-by: Ram Ganapathy Authored-by: ramiromagno --- DESCRIPTION | 2 +- NAMESPACE | 4 + NEWS.md | 6 + R/derive_seq.R | 97 +++++ R/domain_example.R | 129 +++++++ R/sbj_vars.R | 14 + _pkgdown.yml | 11 + data-raw/sdtm_domain_examples.R | 32 ++ inst/WORDLIST | 4 + inst/domain/ae.rds | Bin 0 -> 23160 bytes inst/domain/apsc.rds | Bin 0 -> 316 bytes inst/domain/cm.rds | Bin 0 -> 42124 bytes inst/domain/vs.rds | Bin 0 -> 344 bytes man/derive_seq.Rd | 62 +++ man/domain_example.Rd | 75 ++++ man/is_seq_name.Rd | 30 ++ man/read_domain_example.Rd | 36 ++ man/sbj_vars.Rd | 19 + renv.lock | 240 ++++++------ renv/activate.R | 80 +++- renv/profiles/4.2/renv.lock | 240 ++++++------ renv/profiles/4.3/renv.lock | 240 ++++++------ renv/profiles/4.4/renv.lock | 538 +++++++++++++++++++++++++++ renv/profiles/4.4/renv/.gitignore | 7 + renv/profiles/4.4/renv/settings.json | 19 + 25 files changed, 1504 insertions(+), 381 deletions(-) create mode 100644 R/derive_seq.R create mode 100644 R/domain_example.R create mode 100644 R/sbj_vars.R create mode 100644 data-raw/sdtm_domain_examples.R create mode 100644 inst/domain/ae.rds create mode 100644 inst/domain/apsc.rds create mode 100644 inst/domain/cm.rds create mode 100644 inst/domain/vs.rds create mode 100644 man/derive_seq.Rd create mode 100644 man/domain_example.Rd create mode 100644 man/is_seq_name.Rd create mode 100644 man/read_domain_example.Rd create mode 100644 man/sbj_vars.Rd create mode 100644 renv/profiles/4.4/renv.lock create mode 100644 renv/profiles/4.4/renv/.gitignore create mode 100644 renv/profiles/4.4/renv/settings.json diff --git a/DESCRIPTION b/DESCRIPTION index 721a589a..ccbf6dc3 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: sdtm.oak Type: Package Title: SDTM Data Transformation Engine -Version: 0.0.0.9003 +Version: 0.0.0.9004 Authors@R: c( person("Rammprasad", "Ganapathy", role = c("aut", "cre"), email = "ganapathy.rammprasad@gene.com"), diff --git a/NAMESPACE b/NAMESPACE index 41e0d4cd..e627383e 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -9,13 +9,17 @@ export(create_iso8601) export(ct_map) export(ct_spec_example) export(ct_spec_vars) +export(derive_seq) export(derive_study_day) +export(domain_example) export(fmt_cmp) export(hardcode_ct) export(hardcode_no_ct) export(problems) export(read_ct_spec) export(read_ct_spec_example) +export(read_domain_example) +export(sbj_vars) importFrom(rlang,"%||%") importFrom(rlang,":=") importFrom(rlang,.data) diff --git a/NEWS.md b/NEWS.md index 8db329a1..6e33105a 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,9 @@ +# sdtm.oak 0.0.0.9004 (development version) + +## New Features + +* New function: `derive_seq()` for deriving a sequence number variable. + # sdtm.oak 0.0.0.9003 (development version) ## New Features diff --git a/R/derive_seq.R b/R/derive_seq.R new file mode 100644 index 00000000..2cd17078 --- /dev/null +++ b/R/derive_seq.R @@ -0,0 +1,97 @@ +#' Derive the sequence number (`--SEQ`) variable +#' +#' @description +#' [derive_seq()] creates a new identifier variable: the sequence number +#' (`--SEQ`). +#' +#' This function adds a newly derived variable to `tgt_dat`, namely the sequence +#' number (`--SEQ`) whose name is the one provided in `tgt_var`. An integer +#' sequence is generated that uniquely identifies each record within the domain. +#' +#' Prior to the derivation of `tgt_var`, the data frame `tgt_dat` is sorted +#' according to grouping variables indicated in `rec_vars`. +#' +#' @param tgt_dat The target dataset, a data frame. +#' @param tgt_var The target SDTM variable: a single string indicating the name +#' of the sequence number (`--SEQ`) variable, e.g. `"DSSEQ"`. Note that +#' supplying a name not ending in `"SEQ"` will raise a warning. +#' @param rec_vars A character vector of record-level identifier variables. +#' @param sbj_vars A character vector of subject-level identifier variables. +#' @param start_at The sequence numbering starts at this value (default is `1`). +#' +#' @returns Returns the data frame supplied in `tgt_dat` with the newly derived +#' variable, i.e. the sequence number (`--SEQ`), whose name is that passed in +#' `tgt_var`. This variable is of type integer. +#' +#' @examples +#' # A VS raw data set example +#' (vs <- read_domain_example("vs")) +#' +#' # Derivation of VSSEQ +#' rec_vars <- c("STUDYID", "USUBJID", "VSTESTCD", "VSDTC", "VSTPTNUM") +#' derive_seq(tgt_dat = vs, tgt_var = "VSSEQ", rec_vars = rec_vars) +#' +#' # An APSC raw data set example +#' (apsc <- read_domain_example("apsc")) +#' +#' # Derivation of APSEQ +#' derive_seq( +#' tgt_dat = apsc, +#' tgt_var = "APSEQ", +#' rec_vars = c("STUDYID", "RSUBJID", "SCTESTCD"), +#' sbj_vars = c("STUDYID", "RSUBJID") +#' ) +#' @export +derive_seq <- + function(tgt_dat, + tgt_var, + rec_vars, + sbj_vars = sdtm.oak::sbj_vars(), + start_at = 1L) { + admiraldev::assert_character_scalar(tgt_var) + if (!is_seq_name(tgt_var)) { + rlang::warn("Target variable name (`tgt_var`) should end in 'SEQ'.") + } + + admiraldev::assert_character_vector(rec_vars) + admiraldev::assert_character_vector(sbj_vars) + admiraldev::assert_data_frame(tgt_dat, + required_vars = rlang::syms(rec_vars), + optional = FALSE + ) + + admiraldev::assert_integer_scalar(start_at, subset = "non-negative") + + tgt_dat |> + # Ensure that no prior grouping exists that alters ordering and new + # grouping. + dplyr::ungroup() |> + dplyr::arrange(dplyr::across(.cols = dplyr::all_of(rec_vars))) |> + dplyr::group_by(dplyr::across(dplyr::all_of(sbj_vars))) |> + dplyr::mutate("{tgt_var}" := dplyr::row_number() + start_at - 1L) |> # nolint object_name_linter() + dplyr::ungroup() + } + +#' Is it a --SEQ variable name +#' +#' [is_seq_name()] returns which variable names end in `"SEQ"`. +#' +#' @param x A character vector. +#' +#' @returns A logical vector. +#' +#' @examples +#' # A valid SEQ name. +#' sdtm.oak:::is_seq_name("AESEQ") +#' +#' # Not valid sequence number (`--SEQ`) variable names. +#' # Case matters. +#' sdtm.oak:::is_seq_name("AEseq") +#' +#' # A valid name has to end in "SEQ". +#' sdtm.oak:::is_seq_name("AESEQUENCE") +#' +#' @keywords internal +is_seq_name <- function(x) { + stringr::str_detect(x, "SEQ$") +} diff --git a/R/domain_example.R b/R/domain_example.R new file mode 100644 index 00000000..f63578a6 --- /dev/null +++ b/R/domain_example.R @@ -0,0 +1,129 @@ +#' Find the path to an example SDTM domain file +#' +#' @description +#' [domain_example()] resolves the local path to a SDTM domain example file. The +#' domain examples files were imported from +#' [pharmaversesdtm](https://cran.r-project.org/package=pharmaversesdtm). See +#' Details section for available datasets. +#' +#' @details +#' Datasets were obtained from +#' [pharmaversesdtm](https://cran.r-project.org/package=pharmaversesdtm) but are +#' originally sourced from the [CDISC pilot +#' project](https://github.com/cdisc-org/sdtm-adam-pilot-project) or have been +#' constructed ad-hoc by the +#' [admiral](https://cran.r-project.org/package=admiral) team. These datasets +#' are bundled with `{sdtm.oak}`, thus obviating a dependence on +#' `{pharmaversesdtm}`. +#' +#' ### Example SDTM domains +#' +#' \describe{ +#' \item{`"ae_ophtha"`}{Ophthalmology Adverse Events Dataset.} +#' \item{`"ae"`}{Adverse Events Dataset-updated.} +#' \item{`"ce_vaccine"`}{Clinical Events Dataset for Vaccine Studies.} +#' \item{`"cm"`}{Concomitant Medication Dataset.} +#' \item{`"dm_vaccine"`}{Demographics Dataset for Vaccine Studies.} +#' \item{`"dm"`}{Demography Dataset.} +#' \item{`"ds"`}{Disposition Dataset-updated.} +#' \item{`"eg"`}{ Electrocardiogram Dataset.} +#' \item{`"ex_ophtha"`}{Ophthalmology Exposure Dataset.} +#' \item{`"ex_vaccine"`}{Exposures Dataset for Vaccine Studies.} +#' \item{`"ex"`}{Exposure Dataset.} +#' \item{`"face_vaccine"`}{Findings About Clinical Events Dataset for Vaccine Studies.} +#' \item{`"is_vaccine"`}{Immunogenicity Specimen Assessments Dataset for Vaccine Studies.} +#' \item{`"lb"`}{Laboratory Measurements Dataset.} +#' \item{`"mh"`}{Medical History Dataset-updated.} +#' \item{`"oe_ophtha"`}{Ophthalmology Adverse Events Dataset.} +#' \item{`"pc"`}{Pharmacokinetics Concentrations Dataset.} +#' \item{`"pp"`}{Pharmacokinetics Parameters Dataset.} +#' \item{`"qs_ophtha"`}{Ophthalmology Questionnaire Dataset.} +#' \item{`"rs_onco_irecist"`}{Disease Response Dataset (iRECIST).} +#' \item{`"rs_onco"`}{Disease Response Dataset.} +#' } +#' +#' @param example A string with either the basename, file name, or relative path +#' to a SDTM domain example file bundled with `{stdm.oak}`, e.g. `"cm"` +#' (Concomitant Medication) or `"ae"` (Adverse Events). +#' +#' @returns The local path to an example file if `example` is supplied, or a +#' character vector of example file names. +#' +#' @examples +#' # If no example is provided it returns a vector of possible choices. +#' domain_example() +#' +#' # Get the local path to the Concomitant Medication dataset file. +#' domain_example("cm") +#' +#' # Local path to the Adverse Events dataset file. +#' domain_example("ae") +#' +#' @source See \url{https://cran.r-project.org/package=pharmaversesdtm}. +#' +#' @seealso [read_domain_example()] +#' @export +domain_example <- function(example) { + # If no example is requested, then return all available files. + if (missing(example)) { + domain_path <- system.file("domain", package = "sdtm.oak", mustWork = TRUE) + domain_files <- list.files(domain_path, pattern = "*.rds") + domains <- tools::file_path_sans_ext(basename(domain_files)) + return(domains) + } + + # Otherwise, resolve the local path to the example requested. + admiraldev::assert_character_scalar(example, optional = TRUE) + base_name <- tools::file_path_sans_ext(basename(example)) + path <- file.path("domain", paste0(base_name, ".rds")) + local_path <- system.file(path, package = "sdtm.oak") + + if (identical(local_path, "")) { + stop( + glue::glue( + "'{example}' does not match any domain example files. Run `domain_example()` for options." + ), + call. = FALSE + ) + } else { + local_path <- + system.file(path, package = "sdtm.oak", mustWork = TRUE) + return(local_path) + } +} + +#' Read an example SDTM domain +#' +#' [read_domain_example()] imports one of the bundled SDTM domain examples +#' as a [tibble][tibble::tibble-package] into R. See [domain_example()] for +#' possible choices. +#' +#' @param example The name of SDTM domain example, e.g. `"cm"` (Concomitant +#' Medication) or `"ae"` (Adverse Events). Run `read_domain_example()` for +#' available example files. +#' +#' @returns A [tibble][tibble::tibble-package] with an SDTM domain dataset, or a +#' character vector of example file names. +#' +#' @examples +#' # Leave the `example` parameter as missing for available example files. +#' read_domain_example() +#' +#' # Read the example Concomitant Medication domain. +#' read_domain_example("cm") +#' +#' # Read the example Adverse Events domain. +#' read_domain_example("ae") +#' +#' @seealso [domain_example()] +#' @export +read_domain_example <- function(example) { + if (missing(example)) { + return(domain_example()) + } else { + admiraldev::assert_character_scalar(example) + } + + path <- domain_example(example) + readr::read_rds(file = path) +} diff --git a/R/sbj_vars.R b/R/sbj_vars.R new file mode 100644 index 00000000..96871eb1 --- /dev/null +++ b/R/sbj_vars.R @@ -0,0 +1,14 @@ +#' Subject-level key variables +#' +#' [sbj_vars()] returns the set of variable names that uniquely define +#' a subject. +#' +#' @returns A character vector of variable names. +#' +#' @examples +#' sbj_vars() +#' +#' @export +sbj_vars <- function() { + c("STUDYID", "USUBJID") +} diff --git a/_pkgdown.yml b/_pkgdown.yml index 13e86fbf..878b8998 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -13,9 +13,16 @@ reference: contents: - assign - harcode + - derive_seq - derive_study_day - assign_datetime +- title: SDTM examples + desc: SDTM domain file examples + contents: + - domain_example + - read_domain_example + - title: Controlled terminology contents: - read_ct_spec @@ -30,6 +37,10 @@ reference: - dtc_formats - problems +- title: Utils + contents: + - sbj_vars + - title: Package global state contents: - clear_cache diff --git a/data-raw/sdtm_domain_examples.R b/data-raw/sdtm_domain_examples.R new file mode 100644 index 00000000..4c58ea1d --- /dev/null +++ b/data-raw/sdtm_domain_examples.R @@ -0,0 +1,32 @@ +# Title: SDTM domain example datasets. + +library(pharmaversesdtm) +library(readr) +library(here) + +path <- here::here("inst/domain") + +vs <- tibble::tribble( + ~STUDYID, ~DOMAIN, ~USUBJID, ~VSSPID, ~VSTESTCD, ~VSDTC, ~VSTPTNUM, + "ABC123", "VS", "ABC123-375", "/F:VTLS1-D:9795532-R:2", "DIABP", "2020-09-01T13:31", NA, + "ABC123", "VS", "ABC123-375", "/F:VTLS1-D:9795532-R:2", "TEMP", "2020-09-01T13:31", NA, + "ABC123", "VS", "ABC123-375", "/F:VTLS2-D:9795533-R:2", "DIABP", "2020-09-28T11:00", 2L, + "ABC123", "VS", "ABC123-375", "/F:VTLS2-D:9795533-R:2", "TEMP", "2020-09-28T11:00", 2L, + "ABC123", "VS", "ABC123-376", "/F:VTLS1-D:9795591-R:1", "DIABP", "2020-09-20", NA, + "ABC123", "VS", "ABC123-376", "/F:VTLS1-D:9795591-R:1", "TEMP", "2020-09-20", NA +) + +apsc <- tibble::tribble( + ~STUDYID, ~RSUBJID, ~SCTESTCD, ~DOMAIN, ~SREL, ~SCCAT, + "ABC123", "ABC123-210", "LVSBJIND", "APSC", "FRIEND", "CAREGIVERSTUDY", + "ABC123", "ABC123-210", "EDULEVEL", "APSC", "FRIEND", "CAREGIVERSTUDY", + "ABC123", "ABC123-210", "TMSPPT", "APSC", "FRIEND", "CAREGIVERSTUDY", + "ABC123", "ABC123-211", "CAREDUR", "APSC", "SIBLING", "CAREGIVERSTUDY", + "ABC123", "ABC123-211", "LVSBJIND", "APSC", "SIBLING", "CAREGIVERSTUDY", + "ABC123", "ABC123-212", "JOBCLAS", "APSC", "SPOUSE", "CAREGIVERSTUDY" +) + +readr::write_rds(x = pharmaversesdtm::ae, file = file.path(path, "ae.rds"), compress = "xz") +readr::write_rds(x = pharmaversesdtm::cm, file = file.path(path, "cm.rds"), compress = "xz") +readr::write_rds(x = vs, file = file.path(path, "vs.rds"), compress = "xz") +readr::write_rds(x = apsc, file = file.path(path, "apsc.rds"), compress = "xz") diff --git a/inst/WORDLIST b/inst/WORDLIST index 538f7a2e..e047f082 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -25,3 +25,7 @@ AE AESTDY CMSTDY DM +Immunogenicity +Pharmacokinetics +iRECIST +pharmaversesdtm diff --git a/inst/domain/ae.rds b/inst/domain/ae.rds new file mode 100644 index 0000000000000000000000000000000000000000..5b527060abbe2e7574f232542c276cff1d74802d GIT binary patch literal 23160 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

@2RUk z8S%BtQawf3>jaM!e3Mr9>x?@QKuX|&^asYS|c2|@Z zx=bh5TXsd)e>%WVhT_J>Hb}d+oJ=YQfd)m}0ggPJ5w=5lN&ifl_%(|o7MLM0M-mn} z{UZcW0KGaFU^+?`;lB>_G9op>G6nfOyn>Ho*LTVH=*6!Ys24_gzNA2T>ILE2k21?) zIOL59c&kNm=pbJR-4gTT1$v|pcVvsHpXeXH=IiQ8jT+QSMoe)7lr>)IdWc4ymg)WU zkn}Sv0a)3EBHX@7G0O;=LhS2|P<@p#3GOe$So?YOjIL4gaMjGlbUSmF0?ucgJm`y4 zGu4hhK6hXLoy|Pym4jrR_6G#=2vwyC4nOSVjy_Cn`P?(or)Jpik>g!>=?!&FqHuI5 z?q=A3rz&)*vc*W6l;>3;aT)=5mM4sGxqATXQPXm*WO;i(|^qnE;tD?4BFSJk8lppkaYH^9v67MQJG^=JXbgBW=W-O^IfdV(Ytm8ZP z`F!V2hTW_-_Nze;>GUjZw0uq42k5;%FL_EkML(1SbhggLfT3DI@v3hLq3HER$sJ60 zN2>?49l-s4+sS*oMu#wvzh?PAomadoE^v{TjqNp_&%~-Ld0$?W+?Y#(M}Xqaw3d+; zOoFLYQTo{RmpA~U^|mRSE|%-kYAE0Zye{u6A^^kM-sbn}eVo(%?mA;;%ERU0KSJRA|NC3L^u}H_cv1M7IVQ_{J)*DvH22i^NEk4$sD=0Rh zE6GtR@^$&P#SLz!I$A+kPB!H_wNRPE#?xPGPL37 z=OscuQAlq0Hc<+ts)gO?65z&})Rd7xk)ST&VKG*50RWA$wabO2p;IUQzSI~ta`T_o=^5=l=^wT)&zv7=@akPX8f7p3XfvTo$x ziY+*w3xatZBS>W~6ToB(GsyK}cP3W?L@wqGlhFgjf)HOMNsmx_so}YDYHIdxGSQ8K z5+B=FA0V~G?JHfZ-A5El2S$m_R$n_S#*$}l=V{mezK4|kQFrUgQs?ShzQ}wonu}%H zi(73v$>Q@QeV79S3H=X>o$>_9p+NZw@}f@}6qQnu*iE>JY=?m?>K0$?oqn-ILn`t; zj=Fh>7jM>)vaim7p>zPGyZkpcxOEBnSJ#fXv8M}T@gj$E5A`np{oSm#wAukj3taz8 zLzavcavTyVc3H#(6=UsS7|{|2dznF=(Tr}z^vH9+v=wbA!| zMZRjjojjTuKa9=tA1_Z4q-B0~YNbCD-U9#pd>tqH zBSoTHD3TZb6pjhqMgdB$Z`~PN<3@zs0{P8f5oPJwE6hAlLfVBrWAHURQY}yek^YOK zT$#$?_@OwcxN_9F;lP!NjQpA;H_Z`wu_Ll~0wqVPx9SB@drjHdK6?|9h*LVL^=6Df zOsyNgM(2k9*(Kh){P(Z528;(6fYu7T zxd=I__cC}$_gCkxct#&n5#@Z1zd8O^7=rE?TV&dhoW`Ul`enn9MGS_Onj3g+8&Q&} zO}Z~jjd@<5ZjqOm^SFK3%}iKI_Ab8!fCS`S9xgr3MXV`o88@!QfCFxnSg0qM%N7w^ zXfqo|2=pQWA4{(?p)=i!XBkea3zFHZMpeN*$=dvv7_DYYm%HTe` ze3gB~?l17E?a2f*C^ylZNBm``VO(QH5Sku-AQlHmLq>az$LixVcB+y;Y=gdq<7;zW zZ)lRH6Wyv199qa+jRwTt(blU|J#j&lQYrJ#yF~FCSS>>FhK)RfY34GdPKsL;^0~(R z>e|$!B|9AHuifS^e{0aA6{iy$*yEgvf`e+-j^fPYjX(>9$kIUbTj`}T=F!|}?ZgAA z1jbqv4EuJ4AFA+C1XsB8T=3_9m+!;`%u)k`2c9P@?LZ*5u>zUFwTSHwM^aWsf#sdG3pva;SSwcwmxm+@ioLM4* z9ftOM8H${!3XHGP#Wz^j%_(@|IK0sv!dVzWu#|y&na@e%9|APloA;i3#9wN!R9;zb z>@DKlDBAfYC`yQN)MUCa=1=CPB>8782OjzItG)ClX^Ct5I38hE-fi1%c%*is7Yjk8 zwVG?!6{}yMt9#^zWvooktfveQ7YHUIFdPr|X}Gs4*Z zAihgY>FvqeXg-aUFY+@|$2%`7KZ>PYI>=cQ5fI?W0_l5cpCBh085)KhfkxnPZfE5W zueb?xRG;kgga#*0fya5$te=jO1-QY>|4$x5uux5+*T3~ZAX;V~!L z+8Ji#bt+vTIvCNj!)dwdgme+?+mli zfhuxLHO2aM+b{MA(y!SK{#<1-`bKkz1!T>Bj}o_d|76eWEK%!8wh7=qJ++J8OQ<{j zxM>-66&i1R{e;%lbv(`q;MuPFhXmJJ8O=t{kWkPgNKH!35N5E22{C3X!&T1g9N7PR z1fIcs4qbohuYva(e>S}BftAna@{#QXh2|fcHCQqHyO(DGkLDWK6Xng!p^w+~9*kbj zJut2pkPyM;)pzJ0-dF@~=K9PPT(3*EF^I9rCb2Tii9wGpTuCTDr^K259RA#lc8ZGO zjoK?x<<!Z6eW7us* z&?|Mc4vTo01%3p^b9(?naW?up03G8O`#~J_#&uyagJu9+&ApdfYU^tVJn~u6J$;4h zz92~(pECa3WV#plEbl9IvNH?S+jpRP0|2SQQYMcb-<)U9WJ{nJ6WuRGu z7Utu1BDg9`;Pzgs2`~+*xjcUrQn@65Kd;@SRR2~H@i>@0;T;5P$Dup)s?3!RS5^Rg zY+#e+MM-sWYbzk1QMb?OfSRm@L)v^ysB9>3`9gV5b=;8ABccI^1q8l2OIX00l5znj zV1J1I_K)T#hYpn_4Gy+hgRdC0EzTA{RT+x`W!gAVxAFGO_eITGfql-GOF{+gcRKmv zOb=EZHv4p>6(@bb@r&9eLWyZlOidvNnJ`03%M9tMo;r<&ibJIYOKu<^(!wx4w$E9b zL4qX=8fI89a>!rjqevc``u)Gd{i&4#S1L1iR^6WNulfxfUc0o*0##ey7t)A4xBe=C zc?ACf^`tmfQLu?b)@cb^tNjOLj7Tq&g^PHaLbzSIO^2EL()gk0=$TA1*d+{2<2ec% z41V2U-H{u?zy|=P-MF3xcrGwR%ME#tp>yLCyY+_GblOAd(@m}HWiRXY+fL)fs^~KY zx}5S2wA{}^aH+HS8-O&Ryv*kwhJh~BRoq8-+3PuxV3cBy5DC2X`tcIZiRDX_wi_IM z7(3nm%YFJdFf~#cnwX-b`kAyJA_+jQAV%Qcc z7Bm}?Id0)^S$wg$qD^Zj+7&MNN!F2P^*|s9m^9gLJN#=K12E-GK_g)<36FJ%Z7NpT zvwLhI3T;o|V5-5?ifqS!^PCK@W=Gh#w3q-r0<)p8=$D0hH2e7IU=;F7M(2u#k;2|+ z3s~uAqm1LFa=-^Hd)A_p?+nUno+4!ZK#{-Frq*STs%|JP{`vOx} zv}gF3)qG<8Oi0($aCT!htX2KHhoS&h?QcXLESM_XV;-LP@nL?j_0^S%(act;gjTsF z2PY;_)iAkZ{J*E=US$8ExHw!fb=~VVUz5dkj=`x_nOXr%ey-!psStmgXp;4xuybZ* zAmsb)1NY@u!(-r!Jb8V>rF8j*<8X^9f$b{ZsEuc|=WEpFG&v8lN@fBiB!oAq$!$1m zLAE+_g#}BaHUSO< z#DqDLZT+Lhm}x$LGh)724_{s z{f&R@BDHyB^DFnD{%)(cu9BBrEQE3eiTsFYxsjA*-G0PvVrIBworJs{m+Zruqca^CJXXG(((k9(t!K*k#e z7(i+sB5H$5@ksJK-d!vK` zK3CL>l_);e#0^W;58IK4^j7b|hH})?Bp0jvScV3iN5!%)Gy{Ucmpvx$WUCV0l_A`5 z4o(2oUMVfi9>fVXT>J{cbAiP3m{vI++f}WK~cTwz1NO_9}Nff*?84S9R>G7d2 zV2!nmp}fy1#F9@M4qAj-dHw^Dh_q4ewwbR|98uDDP5EBIlB<^Wo;?JY= z`RLaQsIzJwkAqTgPy-Ys#^TAu4@0U)*YzZUO1ey7)i*)Y20Zl(S@68!9Uk>19g1xz zl`GM|&hdn%Kj#nQ-PMFQCC(>9W<|~)E1riiD}pTY3sgOioIT6Y9Kx$8%l6eiJi=2o zKH94{(j}#gnz_lKm>>g_r_Fk&iC8Z7yL+K7c2+pdHxodcD8&92{ew6KN6vVu!wpnO z^%b+-%Gkw4gtp+ZA^wI!b0Fod_&xueWDQpk+i(5CTOXp|rq>E3xI?57Q-Y6S4Oh3) z>H3}rE^#He$uzR~jPW~Xz^tUZQS}ZCmm7Rxc@A|D)*`NF2>@EiPuZ)?NH&5{gcXQlPfzQbY zJyjq+i})FrCeWmHp!owxg|BR#o&_Ryzbm)0JrvS)Qv8_J{~5e`$6}j4&Ckt|Z2!{WY6U{Obv7v>=phS#lvr%XC_+Kj@Wve#Ve^modl$mDGiey4t_ZMOxnrOsG(OTeXo@;`t> zzyyt8n{&dXoeOgYZEGBpR03DByy4ia57UERn3l93`i+9i zp(m2tBCTUdy0gn(Zf?6}feG1F(PcjtVY$TGAN-9*u!E zB>gCv$m{GKd-F47CV}D`d~HXGH4N>jb{kbkG#7E z(+0CSCXCLv%v~B<+rBvaKqqfQw^JR*Ipm9P3;o z0K}!e__b-sHX}1dCA}3euE6OvDUOb&D&6wp`qVFBVF@EPNQ#5zFZTY+m2kOM?>j7I zw^PY{PO(=fWB1@>+V!~ZoRXp{KfC_-C+8`eQ$g1Q4-aCTA!|jLW4XL|Epgjv=t%Ul`fRgih1S-)pGe28JyAPDZ?KVfk97ZNztzb_ z*simKmxt^3;)isA^$W%K*0#<&$?$f?IA-;VKrc&e^g#}+L3+X@@1QQyfkDMUlz0f9 zO3mF>Z~M>IybAyugu94#p$BJ#F=!W1f1>=`K5UwSXJwu!gg=gE2H)%3YinCet-oIE z#Fr7DP`oh|6ZzGLf|!`*sNkB4=h7l=e^^s%#$Z-?JE&7>q(N$no=LBL+UtwLdlib8d8MBXy&ig;l-tu=IL-0NMExUSLDfBu=W z7fXa^CVJB&eg*c)X;Q`y2MW%5En2j_Xb2!Zhe$2ij>ndVl9M5=NEgwdaU=E#KB!^% zw7!4Hx7|A>z5Sa9#=;L}+~alPH`HL%QCkX#kf{x~f+)_rK6u!=#fJydZ+hMF#1aAF zo1>~MP~4+QrO>3Vv?T7eJX0GlHFhT8lH7#_-#UF&$i!5*zR%eZ8tqg96VazC6`7Vc z|Hk;YKZo0%Nt9d8msxyD!W9lV_&~5N5Gj6dpw>BBBrW9A$=qr4-f1jUZnZ=oKR&%Z zKeqEW6(tOTKv&X6{!r6@%2DdFZvRKG2~i!~XTcx#v*^ zCvrfjAv&|w%N7|_dqr8dN)-4B;}s)h(eI;51effLP^je@nZg$(tUSB;Y2Ko;R|KbM zK|AZ1Vrd3;trV4rCE|4%LGvTw1pzPaGHOJ(I!XLm4(Z}1YL7^@GwvO5+r*@N`73P9 z*%^r=IocY3W~^}?W*~Jm~Ex1UB~Py3KA8Vp4Ov$i9T75Ju);&zk(4mjD}D~=!s)D{^Wj*K-;M4T z06`xcyy|lu)44-gd)`DWf$3DOD;6G|;;oK%x0G9UAo*JnytcYqmM+XmEb-K#cu|mtRyRgIhKpb@Ob{l*OnB>m zPQ3Q5)(<0q0s%l^@XNvJCo(>@qM(Vpb`+F?XC$sY&;R;yN_VoMX6@_VM=*t?@AU z;^5(EUzYKFmBR;mc9(!~+;5!-|$wj`Qu}{7q;;EZZ~b@-!G> zzXXzycuJj^EKOqNR<}xAq|bcOgmWIjTV=?kGrxe0dN$x)(06JuUZG@QEddZtEJo;; zC;2qG6hxR!E1lb(Qxg5_`|ei5>Bgz37Qu+-H-z^gp91A%R&Q%7B4&ws;1W-7S%2RV z@o|CiWnfOn&0hGh&OnXEKA4mTip4$kl}K=N1!~&>iQ8z2@i)&#;PJtaXT1pvj3z%Z^25`8D_HG zDBl_540WJSv7*SuOw>!{>)kpArdmn&&nAElBI`|r* z#M1a5aP+a4+x9>W(`<)zhF(dYcg@0@+8zo`=T)mvN}hO^ml#6+fyswJ437FivU-~J zKJ08mJWD8Bs>KAkg`x7$e?aToqVodU(v)Wlr2a9fKMQ6C?jo-bf)OVcb=0VQ- z#WHiZKJYbfe-WHxh0;ch%$^#DB8}2pEM-RiGWjF-ICr?h-)h)(K$Z!|TJFEYwR#LT zzWXc6|2p-VBB2WQbC=Uee?#>}IxT?B_CI7qfOqE;OKBt4m+0bGY|4Q=2;RI!-&V9p zS_mqV$i^Ac*5*gE7)fwVR7)+ZSXK`V&P?q9IdH#B%NUZs&RU5xtLAjHsWVq4BgUA< zF?yuV)VU=xd6&Ek46^M=VylE7DewW2Blit8QeVP{4#L5wDBa9_jpp%VI`DZKKMI-= z9)Oc$?phI1m#C)pZF)u-{|wNv+QA7sc02}Z2XN*!w>;7;D8{4W&6lYJ5Ya^>?RA=% zXJMXvS>Da45Bwt`EmIeP;#jAsU&d~9@qp(SdG}>dy}4muTDGA~@=DESWIm@|SDvBO zzxOMeZ%tKz80o-iIIu-*&owpzG5=F|GBV9U;=uw8m2Qv7h>w(@@<%){r0CQ;Y)3rcr6WtrgC15i0AHeynx#Q#!AW>YxuFX)_`=BL0Q`(~ zYO25tRTNQCR&-W%mB%;Zw;w+j$2HLC_rHDc-^($A)qRE`9yGWC^x-vJx3(#M3iBG# zVvLa>mvhvT!byw40u4@lrY5K`y<;=<6Zw8>7jZ*`q$14f7-6ZXOUGTo1pUyL;qN zH2J8Kl?SRvE;Mb(=clU5bon2I4)IfVos4nj5q-G>LvATozQB9|uwO&@P!;6?KqhW# zQ&K?ewFZtF+*w3){qD!clw!JPV$p-uInbds0PRcp+hFnF}Z_yZe%+TDD50JhH=zw@eI zV8C97tat6vY~tZ7fo94T;OLlaVnS(#FnN60-zbusL7bfYFYBZ-^~U=6q3GfNwK}sF zrKNy5;{1Vot)QCYx@EHQ1nK5s`HL%XN*_7Hrmp_aRRtBaW$*`B?Zps^H6=NMvvPxi zb12b+@fsWW4JPlBm*@yN-jAB4FjWwPWkN(L4EkxNm$r};kV#s?M6=t6f2G=2s4$Ux z@24lzQyZkF)nE|Em)OyW*d(!6KF=UNJQ3d3*B5YX18ti_!Gf#)2p;Oo5|WE0^h7gV zSBA|2O(qx@cz}rLTX3naDE%N;)(Nr)`bkm^~(mPlui8yI3b$r`kke>)Gm1xWSHhWc*WLe&IkQw z2Y7yUNd)hK;;)Yl>PIuZmq2xvX>u8v&8#P449Es_r`7F~z{}Z01;6Ovo&FB&f1#lb z64Ic%;WKJJAWLUH5&}qNJ|GVnt1W|clMl3vjejQkcwp!f!{gthkW($G!R?yVaFdHg zwKF4O3eN<|<_Id3+h`w16W%_mChFNjXoeE(G?FhIVh66QpcQ7lpxQYEmhm_0fiVZ* zl=;|HV(LuuH~mE8UM(O7*^|fTE;qw#;)0@;;i-_Qx6>3LAMsmScVcMKT{P{AC>(@L zRE#1dO%HGTX$mU#;ubRqPFx_(Jz-@?l>3{t?Q)lNue3@9sMvN%!S2LLg)rN}4>{0l z)ya<7glm)RRW&mQ_wA0@vfeo}v*-+N`$~t`UF0F=@Q~l9mzv4%e<@z5nz^5vzXu%V zB>fc^pGlI9wGJ8lg_C8G+jN2IO&r0JE%!V8Zs*D^l@sJ|gSdN6Z%9v3fQ*=#Pw^kKo&g{m;fMzsAwVA{Fly|JqUSJ-H z5+`g3mky6y*+?VJ<;97ltTkYaa$h$2!#xDAk|!CARDeXOS=Om1qToUFrx(GXc%NDB z@ulaLQ^Z$89Bb=MX$!DWuB1iMg4acxwYIr{`EiSO@-a8r9CMyh1a3F}wHZJdQ)BbQ zk7@hO6lj?5KEKcL9~M?18F4u@T2awGHR{7t1?SKK6bia1vVoqykp{ zLV+5FgdP64bI%7DRv1@#X}IeTr%wu-WEeO7md(%Acwbo0TgKm|fBymdo0b!y{*EHp zRgvm+mV>?MNjo`Vh*S#tgDaAWVbKS0jfF6Xxr-NkUA*k5i)i?+usmlr<(CW82QB} zAMu=WnZYVAMNi>w1YM3Fiu=RDq=;B-R4c+u4ym)aZ!*{J>9*il^1~)sjrE**LZ2+M z*#w4fb)%wlc>?bljH%3)H`o{pURADE1_m*{53v;sAl{T?X}1&ZRI}f&u*-7AlboVu zg)$i<#1sZCj)H{Zvv^QEP9l2wYxV9G3qGv zmLUOFHyQ4!U`E~!t&+{C9r^0byj#>Iew9YjLr!!a3TK*?SkPdy#)wk{*`AdnOWRFr zJk6}eyb0t43)cHDz@*Mh52h469c*x-rGWktuK&#uj|T6c+G%1o$PB;8U_Cigz|Q{G#7C9k(~5I4-`XdGX}Pc%B&$F>n03!L|Qe&4(aFfk0}k$ z?H~nt;s*4%z$3Fx??M#Omc3szRuc^?Z-u#H&+t!CQal;xaD?K zb+u)nubC@{B$<-lxx|VPTdQf7=$s1^yP;b3oCCo);+;enaOH%0G`v%|P{P|C>)W_t zg99X$;OnLJR>zaH5Ksw=iz`X*U>P?*zB-VDnU0W!D`VqNes?ZUz@=`ho{+MN4mNg! zVI~)6aDI>NOh9tmT`oB2A^qm;H_DJK_dHg{-I{KEfE$KXe+8Vlf`TpAv;7&tN8l|A zUAvL$GrdWcw=`KYMlf{|$8mJn0L$Jb3V%C8vXoI{<2Q{{zi%H-2daWg*W0dJ9B zTavE*n@Q^H6Gf0yOFa{;S6%XJ^1u7~97w1WorJIX4Rvpzh`gv;88Q!#s758t83ajO zd9XfJOiCOH`kvBZ*CyF#_C}-z6B~U74^;E|#i41qp)ieZ6$3cO`iCWn2S~6r93j{O zX-8*(RRfteym!p_UL?OspDB=hHPvB6oFMbI$jY;x^fw0~I|UtE)kB_S!7tsdfi z%5;*;)7~lM7b^WZSq(t1bRRAM#tQ+vB!Ur>n69UoG;Wg|)*8n*{C|%5K^} zWsLvt|Mw6hNck6xYs{cAyK2&vjp6-FcMc|S*O9?3zOT8VH>vG6?L{*xPW20%KVrQY zh5X{zWu`-*o+2?ydR}c&Pz@l-W48KnLbqUpJ*ly4hv>;E1fW9MjhNgIj_mgoXhQCt zs-7hK-iUEo40!`mw{n|6QfW_BS|Hx>$Ic3Y6M-dD%BlI?0tS{Sbbuhf9m!5Qe{ngk zK`YN;uaQ@YVX^T{XUpH2XjfLAhi+G8*@lYL(0$v<7&-e)%f7qex)j|cbNpqL;iCWf zT4)2X8Yh^}yk{*)(jC%eLV*RQ$TZS)2h~Dz=PS`WES)Lg zq)^#!kaCCsUjSIXLzTjQ193^(9KYgkIp_+-8-LUerK7UVHeBI14%2NWz}SjnEQG-O z<@_9KJ#dCslT?{?{DuuNrBUB7+1>KtP(nn20CbQV0^Du;BI^T^A5bKJFULzv^4KP; zzQeXuC8YanfoC3ZH0;kw%J>JMn-GbmJ0^9zrWThAPMd0O1CdQzi&|H$H+9YkP3zZW z&d%&&T6@(pjS?N?YI5%=*|NYNXeoIlm*x;_V2AGL9Ij1tgg4ex%0m&S+)Hrg_uxR783WDeI?z5K}I#(EJ6n>=qXMgf~lJt=5j z&fhMtZ(J}HJNHO@K(43V3~H*2_(?VBvBP)B8eC0kLkzvZ{;87SOV<4$GQ<~rXbkf~ z&y04!-C+YRh5d{IlGU(VJ#^twh1fBMe? zNg<;&vS1_%wBhbvbNI|#!D*d&i$rKkj~g7%BR+sIP&pBy6)mKyOgCP+?+oos+NTMA zl@r?A!v)AH44gs;6`6Q!e5arjr4&}7z|mc8W3&>jicUd1fn@^|8X**M_D~#}MY(HY z6VWLq=4{RM{rXP{Hc1C0bZ#>o42lXK2aMGxoF~IMNUywP({G`O z-^5by)F)X z8*|8gOO~%s?hr%8W$Wy)MMqF+J}^%#L`(7a4H)X>Mq?vtyY1$lSDvHUy0u@cRkBOv zpxE(uHp%K?^uf=~Vumex%pzhrX#wCPsTxrWdHyyDajt$PE(E)7Q$=6U!> z^d)V?g!<&QxhwO?MV1e1l-)r8J8A&8qYMODZcb(DlL7pVVXBhG#tIXQxbt=X6th%# zc5HWWG5k*6F=&g_q2LD-Rg5yUlWbDWr*mUX`x}~Ao?o6CBb)I4r|A#Vt>RMQQ-N?~ zALYVadI0qY#yKZxsC7Cpg_Nc?zU@ymp&_V*P|^<(oT_0Au~}-lZ0e_j)x10E_Zb#NPIpFcUVe%{ zCh)ppNxNR+IsV*^P{X>}{~D$9`HE&r1OH5RZe}t=U|efHh>ve^TIj7iLxq9HcO7*0 z#dNX2$8+r&LJ)jNeI&?I&=5JFWj7#Zfkhta2)%+Nyb1spzvcrsDyGwk)A|hcv#{Ar zn?AIgI=f)Ti|E6nxV2vEQKm9`4%my$OR<9nT-1pugwJfb{pk9HwdrpDc3L)${$wUW?cY*bT3U-uN;w_9iqSsu+sLHEuy^PgKcij&U#}?Gq^)w%& z5<8_6!uq?T3sH%iHI6j=!3HW@X+^VuxX?y)$w-m3lO#yY_Opv3Oy*49^XV9JUE^>Y zj;hdqWqv3wWPz}gfrGnAxw_YXB|Oc7njx%Zy&hc+Mvk5)n3Oqk3iUS zo$5;0^-zYm8qQF^s)|3tnNd%XAR1*hE#b_A?22<>mBw-si(q~pFIo#~lP}S6F#R+J zx_^*4kns{TfvM3fEn6+KsLsU?u&1;wNLZL_ugI1U0J>SdFE$9x4hv_*0DMsi%A&{9 zvE!a>e?IodFtUO7WXToq%4VSwL8%lq*$qK(Q$=xSABBY?Ko{P`X@GRk>X~&$*hgm30!hM)T$X?OZ4es~##)<;f;S27XHj_Y`SDMK7rP`=_1i_PO39 z)g%;9?XN!*8<`WRu+7n@w_=i=ErN?@vr}Nttb4HJ&R|&;LZ(a7pk)n%+sw=I+Yo)L zQ|M&=@P~};r*SWwOSLG^HqsUf)LrN=Rlo(F<7dy=IYciK1yO6Tzxd!5-X_RSxEASb zjHPuKID4`cYQ=LW(3&fl!Zvmp#0qD9-){IenvIJdh*drn>2vDx`LUSYHf3%~m*14z zYAoVAjey97B`ji|;*7KYf;`%D;#(zO-f;9ib%Vg-uG+(IsHQG* zht%^iref9?s_j2&CyexTH+<(=?U+7)FF`lriWxWWS9i%~hX28=byWUZ729DXOO06u z?hNSr^-J!<{o4Hp=;g!Vf*hrGun>P{&P^g%8^KR0KZXVbIaK_R{R;M^(>Em4m6CEw ztwHipsC(#PlG?0>2nRK%fJlZ_HT<*3xR9n7vcZi2uYmLZ5NLxnm^~=D{obsGL?D=A zGa-+C;}jIG_~D~Myw9|&kXzIPSj{NOHrc8$(QdrfAcumYNw}nx`PwvS_yhfZKr0=~ zHu99xeIns$q5BDU9LuF?Ck!%>%&aJWVqGJ0|1(ok~t7H4(ZL3Il7CYHxizOfUS#KT&;E6#AO^J)=eX1>X4tde&Y9bkp1ep?DzAI-e#O6=*Ad zX#jV&Mpp=)Fc@3l%wMHUtWbV9?=*lp3-rX5*6CN1(+MsTd5po}C|NO?hqUcdx4heX zBB)CfmQxa74he@_49dK$1zwHLugUaN!aX!2_b{t>SJ?rol#*fc70<*oYFu%A)a{v4 zoPs4fw9R|kQ{|fbh(_Own}lX`3&H9`+5!?wNSVa56_J&Kxom#G;Y$mJE~XINzs3W^ zh)X^#_U)L&a*Hlmr#$j{t5TPpvPym z{{?l|%Au0-Eh%?}9G9Pzw@icP(U%!zAa!5vTG3xUPiQAyPte9Hm7v7(OC&*Z(RUQ* z8v#K-vVo?kLqZ;SyLHEw1GSg7<%>_s!rVz}Ua?-w;y*$%Cf(jI_D<6B{h zyj^7tMgMOwQq+o$_*Gn1D57B&IPwSUp@fEiXuUY0(Zs@MNpM12%oTZ%8u!j}m%S{d zL7{DY0bAKHS0#^oLUYui@7%!s9#-THXmhH!opd zp02bB=A~tNUqR2IqRjCQtTdR0-1`+xL^K3s_F*|&$&8QQha`eu@K!p zNliMe9QF~wtg12Q8aV2|G^vAxCBIn^U`+;6;a>wgz{?014zuPYdg->h#bzL8-G6#k zemy&FH}(tXQVFip!+foQH6iu8dqt@1*(3uhYDIQF# zxtW7eJOAzZX_C~Y?7bg=gfQrE%4kt3JYXM>aa4+kI4xqnKGF}Ux4eLJ}TAj zS)RN_?c7!$=ccV5k&o!{Q2yQVFZ8{}umP&TQDq6$XVn5}teMU`l|7;vwzr*W=l^yC zi+z_lG+<#yh}8Y+S{&yAvqPKgb8Z-Aw7j-%ft@}RxaB&pi9K}w@D~c~xp<7^Ttt2< zxSYx!O^&WC)MI+x-;#A<-bRYejiqf$gf}OIPHp%*4SY@TJMTKk5_I2IRz<%re!O+m2A>_aFtY$mHZ~EE6R1Mu}1% zb|^{PG%&++?G`E45#9F6dEugL->|3Y5#tT`Je;w?Mll1_MOQncX~sR)X-c_1YL8Hg zzf8!*sF5*W)B)x=dE0AaAVMW`b7ePcS(TW zk+-EvyprgeNXP*H7l*yTY~r!KEp>A0K$gbJYunZ@75?RQLnlHnOks@yMmRmNpYL}F zuy2=?0zj{muslYToZEoj2v8OYybSH&4!s854Ho6@xbwkChi_Y zWV;$p{}Wwmu&3bu&&%Y!JXuD$+ukdn3eZO>!`_V(Xv*K#4Qer~Rqu(o`?(#y8{?h` z;SrjXeXTLhss8>_U7$f1K5?4GNgLqYj zU*E9UOo#Ycq6#6TXV*_qNCT~Rh+M#djYx!U1%aUwheKsI>Wt|aTX4iAe6_8!DQo1` zicJ6iOOFCP1!_Ww^w&}bb-#<7&2Za8K70WI`ktAQ+99v-M8@d!%gKWh#a~+#S{ZDm z|8P^vYB)Xg&=jyp0%57cH}U=cgHy7k!J3 zrCoMI^Z?86cV2HtCKyt7lCDRUUO?z9mXhq6HbdqnnF*F^6nZao3sG;+J_bE3(0I>R zqlZ#BN?x!M5ZS_fK6xv5|Crq%M!W_QBkMt!kR@tB!T+OUeXXZ4t?Z2`f zFPkj-z>}qpNub@3Jf{JyD6_Z~yF;6+G4ub~nRakp1KE(-Qsgt;+Jru+7ErRUFUD6+ zwbD0dUr=ppDR2sR*jn`eJ{wJ$$Ogd5AdIs?s_jaOouV2$)K*gHVkpink-InAS9l1} zvw?Qr!JFaXh;~p@1}i_XN+UxjiW7?%hW26EcX>uMy>z(EJc5$4k!qTkp+JDHWPj{TSzxf>1rM zg(YRhdsJ!qfUJvP{O@kp;LUUF#2YsS(DPiHnPeFGgUK$%n;X(s?f2e^#HiOtPA_Dl zjz8RjYU2*$+Z=wpx@t=~H)WuGCST-RTJDp|wt(ABK>ROLQx7EU>RO5eQjz}62Z{$# zn$vS-+1D{Ll4vj4BQ~5?SU?PJ_yggEKGZ3wba!~;~0 zCQmANz50R7)r*~G~Q<%Cr6CF|l)PMd*FxqR|pVUAiu%l>!tG4>_yu=Ju{ANafj zKAN&tfCtzDHM3?-gv{~NJQ@`=KyrpZo|QO$WsV)Pdt)YoehgX$=xjQ9-@HliNnxW* z-TVT%3up` z1K{A>p$!;IGrr4b+-a=M8>maV8Py_Pk8B`gwH7gKjw`cqFV|KZM`a?YuN$?%Sc-9) zKn6Lg=-k{HBefY%xFmp_=!7uU+%5$UI13-$kJ9XG?(l^-6ou~{22Yly^|8) z5bL}JO9Qj2Tr2N(tY+cTg1k%gsf_$Yj|-_jpdrB5|KZ@1=GNiAt#ZJ$dji{z)PcUx za4xfzc2ziH@nID&2aD$9HgC45T@7PPZp8`R+l8>8S`fNi7h(W)onX$=5W7V;Ydlvj zE=_4^f5)!LJD6ovui-xT1@E$zc553QCS6t-yYtcP8=k~j^C=e|(J9iFNylNH>(pkw z3=5+BG2+(wfp1{&7JaPBwj;C-=e7QkpJl}WodYrP3ajF#G0F|kA1WJsl66a;AYsDY zwI(zZbORYieowco)H4J8({HdFL{oK-N|B^f2M1bseKAyEt1H?ds*v{BTOmL`Grq7= zE*Q`h_MRo*5u5D&uyo5oCsYf9Xg{FWseQmsNStT9<#rpvXcY9UhFK zg9*i+F!YP)n8j|Qu2o_*09EYHO-V!H&t$@5|Xx7k@9h4D&CQGgekfv!S$7Vi`J2W{}9oL*Az)(k?T|KTX zTFtR&OUQOxT(EzwTGDLcWa;A9(e2D!$imdw%|?s4|&ZQn|yNchE|3OdH2Y?v5G!#K)?KN!WHE-MHdh!F05Ol$L@YFn#Z%^5SiDOP3hwJ}nMV`Xo->Q+OE_sDT}OvqN4z?{5FyQg&K?$V?-Ep8zAGi@ zkQRlT6QLQeDD&ooRQnzvFsz^NSz4!a846TCYt=nnzHfgS0U}+@=FVAg z;e}W@Pmo*lNew;gs%%V|BE)Jr1)n|z5t_G?yWI;@NxS~|3BTm3==U>wEy2H3J*j-K z=QzGX8@=!(>e;k~wVUx4jcU`+J{Qd*DH@io^af91G6U)#`QFSU$c*%vG-U7s@jT^C zJC3y*Pk@E}Ij#1|!~s`LMETAA4inVVrPP`6xjm2D6kc~1kfzPR9Q<=;mbj`Z?R!~D zSD**84;wX&apV#^a<&I}jEJ0pn*kEBu1Vb{m)Ek5iu8kzTyZo-5C)B41|qmyPbLg* jA`bunLr~@c00Gpr0r#jSro>Q+J}?c70ssI200CKAH6tlK literal 0 HcmV?d00001 diff --git a/inst/domain/apsc.rds b/inst/domain/apsc.rds new file mode 100644 index 0000000000000000000000000000000000000000..a8709b9ea3f0992d0f80037273c4612e96db7c2b GIT binary patch literal 316 zcmV-C0mJ_NH+ooF0004LBHlIv03iVu0001VFXf})18M;OT>vZsd>Q$l_#!$6$k%h% zD-DJ;ayK06;*w4JqPF<1DxUsfhNAGu1XEpL|B_UBpg7b{E#3A3Q}lBHLk!F^TTsC! zR1AX?$o7FN@SS(kW00QBl7Z|oz*IS0=V;5rAWRaKW>19 zaQicti{yB4TM%cnd@aYhfluny#Ocxtd1S`f6S>8LfB*oP{GF}<0ha>n1^@uf8wI>R OFb#_W000000a;oGz>mNH literal 0 HcmV?d00001 diff --git a/inst/domain/cm.rds b/inst/domain/cm.rds new file mode 100644 index 0000000000000000000000000000000000000000..483e44b837e615d80ef9d9ef8798b32b66a668d4 GIT binary patch literal 42124 zcmV(rK<>Z&H+ooF0004LBHlIv03iVu0001VFXf~EXpE#!T>vZsd>Q$l_#!$6$k%h% zD-DO!_v1ApiRKDm#{(^`U3CIK090fit^3fMakVn60S*&Y!(S%E7Q?3t?Fjf3JIIMD|y;v=voa^E0~q>o|Anj?E(5atWos!4+H zE`en^`9QL22_+|_8B(zTf1;xP^`?+onEzgiW-v_bRcv=G-y&pElWa4_0 zd~DOde5NC&7@c~bJG7Q!phdARRA8W5{wd}Hwyl~T`9hD#9o$Elpr&Q3?@@qTD8sv-BU0>hLdnpU9<-X_K?xM}+N&@x05LWVI^*V3a}f4+ zhd0FWU41{;xMulHAkgPa%dK$x~1eLVLX918?04;f;o;c#U>iTaWJ*-`LGvR<&{p zoOy0Ab42;aLkavfT)}&+&caWyA5E;xJM2jo>P$LC{4v2zaE_0{*FQF|%ug;>{aZ74 z^FHgxZ*Qk^idT+yDJoqt_F&IBkx(yXIbJL$LE6_HmkX~`-MCZEH3mJuneV=< z`qt|&BOzU3B)>O<<7n;Ren34zJ?1$)31pTj+ohiL6r|A=E5TWGfB7D+6wM+)B7lO2 zv%9iYaS^j_4|_KfRp=;L(%8F?H5yNaM(Hk4wMW^4YU>>%#tC)xFhla@TndTIpQ;17 z|FG&Asu==M@LN{cJX}|8T%bO!E)}}Uz!XP;Jzv7x z26hMRHe!|#0Hnaz=FS$ zsuO>(1T9G@x=ycn>WImqwC-^5f!hQ@lPLfth>ZHQpc!L?eqa;{OL`cf27HKPmfRbI zPO=)j5t8@8jyG8v2t!TjQQ%2-ScO)OQJ%p)QH8j zlcm`u;mEWy4$AuT)NXH{Hb!i`R_F7~@lG3vdp`%~bnDE^`VcRj>LZg7e19e=4#0 z9*AxYSf3##^!6xkkoGz0T4}mOFFZ}_NKA(EJ($QDw1yu0)g3H})-uNiXK}2lal}%3 zo?L*t>S}cK!GeK#M&ZSGj zCe^Pt0)Tw>hT}Y%*sY7W@4ek@_2dx|R_ohrXOdl(RO6_?14L-Mv2e%Zl{$(jS6{5e zxy5kOcDsQA`jxf_?oB0sYNR_S`6DX@maeKR_&>M8%%ZzAVP#YQaoYj*GG7KrUWspJssoWJt$uA{&0CW#mw zzE(f=iG0fs4mGj73kImdL#ZaN2p~i({jFLwm|(=l#|s~`Z&n2y6_ceeL%)9P_Wf1b z8Ss{!;)aj44Zi075LBH&KQNC700@7lN1A-|5W4;3{f`!*wG2fm6L#ux*XaCPx}hT_ zW@HhW0un)XK%051Zl%fd)dC=Ud(e(sn735Othvtf9!+{d#e?iwJJH<(aVaw#T{M1WabZxQwSE3naF0BB5d(|MD%u5qwDZ19I1xWg;ObK09B(xr53`tN35 zG~EdZ9v5CmvK1W=7+^BoVg8fr<4ZTjHH4tQu-8iKR?>FET4!EGCJs2$SiokpwiJYj zz45OC_n@6Y_!&B?2me*q(eh&7IV`R>EB%G)(2_X1qT%w6ojtWx>H#9Eo^ixaNTe;pSH ziHqs3Z==0z&dTG75j6D5E(6_)t>P=XtIODRLbGc-iIcT8&yZ}lyMXZ92z+{c0kYw% zaZ*_`h#{JdR~f!q@8p-Xk6g{)7Q8l$Y?^4?ZNWUn{#5VcoFgzCdE^328y{cHqL_@8 z9XR=pnH`&XWXELG&=Ih+=QD@n+}gO=tC|f<74rcNLoX+B%<}42xOanyIPWXnzlhof z(!^beCTyeRpQd(RQJ9?I_x*MBdCyz?BP#m0-L?(G^~J@*VLSWN=%Iq_2Y3(7a&bpU zcR?$hp8R9_X!bEt-B))e`J?w=&$&*vUk3>WoyZkI{7sw>8qvL$HhA8Ejdl~ubIedb zhL8_vony?eZul}ZlnI%9`}IOUENxMn$VDfh_^rYP55#xFn4i_v;UIfYn3@G9%=dj& z+TfqF-~Q(_qUXu2!f<^hn5rV3^N=(*vzcg&v@y+hhCxv5D~vs4>xQt<0O&Z zL)kkuh`eK@M=d9fx4LV&JR6I(i4O{Cnf->oc^T=Sj_`g$&%!Z_2>E)=7^W6v=*5pb z;lL$iN1ro|yN~*g){dGcj|xcYRNFDm`R@BAzLs6QX)scQYRs5D zX394Oh1f?VN7Lg)%xzgAN-1v1v!`a-Tr_`NUo!-HkOR%X})<)4uz4t%zFedIZD zpgWamYKNqw`!Q0;%3GuOTK;<~9UT307hFwrrN`*z3jva!h=3!=IwdBL9#hDYQ*}?> z-Z66n^7MIl0f+Ycb;Fhpg^Sb)a}dfKd!%S66bD(7h0mtntGJ8yQtZ za@-kcAi&GP5Gn7;CSkqxbAkYm0N-xc>;k>~OfjfnLD^Q)+1M}SlkvP2gC0h5S2FEp zOrxaNBB_E2(~pg(5O_gT;WoHMM(E*qC2~;?HL2eZ<}>D@k>IYKR#15&d%c$;WvNiU z?U5@!nb9#* zV(|-csGlad`vUsrAlz=g{EY|DE2Q10-71Qx&bQ|8>omaJ4|l|sHzuC;T-u$WQXZ%U zg+2#G8b$C6CChQyPc}Yw8TScK!Rwi*q)CRC0pS1fDF=3FBj;zd+4VB$TiO#A{>SjS z(peykSAYWSmxCM6arwMo1P0=(uGC4)Z#ujcXJB2`+HFNImty)Yx*uGHS_@Sq+B&t) zy~wbB@t-7;-b(*y1{I_|_{?qv3i5cOf*!Ex_;bM4441HjJ!CsVS0(<@D6jY-5YkjS zNXywzT05I21Hqp9K_xL#YbB=?feq*a4vk{%e8CYp;WuYIg54R9*-hj4&n;Nnqn}Mt z19EeaJiQ5!|8t57qUMSkI9eNIYT@1Z$j4SS{T*BAdIrr0)#tVXx{k$z0CB6^6_~RzP8QBu%KiKkMn(eTt>=6MiRa>~YGeS5C$7_R zZ3}~bg=VylCeNVV0asxOkG8aWyrsY;t;!G+|Jk9h^p*!*Ptd^aJRDu8Y~4%( zGLeun7(pax+qIX;7E_fp zXM8MuoT}e$KoG|Pd+FpG_Cl{2A0%K^E27nGnU5uE-tEK$#7js^7qTIM_r1fp8=@Of z@&|`z%p{wgA>U^*K7FA0k-K@uoMy*`uVlx7hHE!by51}m6d=-Y>S%J;UTiins^s~??+{B1oXJ#BVw*Cr8A~X4&3PejkW$S-mI(o zkaVFvS&>V7R`y}IIcB9s;0oRg&{)yS^o}cPt3=ef*UiXS%2X*EO<05 zt(XO3-APTfwGt@2MuzN;lMuYgQSC}KTM)4_qEcev*6*>Gmo@$usM`4V4Dq*wUI7kk ztl$Msf>Vcf8FZU>M{JFQijxzJ+k42_MByL_b`Sdd6ZZFPb@R`<1lQdw8fIr;DMPhf zB0c0UgnQt*EtU<^luomku+>ZAP@6xP#y^((Z1m-lO)IlGgHwi?jl>DWAa-Wl>d`b` zFaA+%rRM6lj&@warju8ae7EB?OfQW_NTZCrjHuI@VXgNC+0HE4*^nUS_ED?F|D=QH zNgF?rRP#uZN>W4@fp#+bks->ku}+)qZkWCslaMp4RAcNU`vWVEPJtlAiF~j%=M~2) zJ;CB6O<@WmRi)B0Z;H@7`>L{{Hs7so5tRC9hxWwGKHT6F`fLaEU4;jB2CgNLwdSUq zp4AJB%D$mlIJ`4_>kzl*-3B;THGt`AGZALTWcUF+v`^}0af_ZQPC@w9>8U4qI$trB zR^vxe(c0ABd_ALg(5mIaCa>U79R{<8R4B+|izZdNuwDqh1Z${ke{w@#3q!i<-Yk28 zRQbRSJHVO!FFw3zV8+f(T?j?-OLKZ{-ag4HB}CYXk?kB90*w>lph1=^k(X&3yiJ`a zt5?g_5OjVNKt(>n;XYjjJIpfHYJh(#R1^Iu2oR_)BHW>OMAa8f&*fLU-=@9|Q|EPp zEC-VMoVqRKOm;4AX`l>-oxHha4S*AZ=f{t3!SPf4GT-}S!>%a0JO;Bz8F*er5C;-M zi`t+iGOVhv3o*Md9UJ08oG$HH)DB->$%vU3Edd81f|_Yi^QL);#@}yKGlYWsp60Gx zHr2CzGU&ZB#AyJmhbK=pbCcP%(BiAEikFb>`lt-Yy5(MvY z^Z8=t_sIu4Lpa%P9$_^t=IZ3x;+HSIQ-`W}9~38bHHiz~-P9+>^pH*+0x{}AbRz9^ zzt4Znas3Y8L{l6lP4JHOa$8m&$>qEd<%b7h`^tbnDq{Ry@_%&&;pyEPH4WmEfFgX+ z5t=#anj84@Jz`+O>yhMbf9NP~oU-Lw{gUA}w&614^5 zaJm0DfeMJX5I%1})&$0P6(AGveySNc0dPMK9<QHtlIwU)0^! zO>1bwKS<)#hr_ha*Ln|~Zn%lF9{I^~=NrQ}17r>z9f*S!;zY~_aGexy_lWGG0(fFR$_r4#OzsXXbdU$N)nf@{+FyqQIC|+llqtBv|-8a znyZ+xk+hF=3j~4m%7ZP}g#%W?R+&Yf)Q-eW7i`#cxH!q=aQdSDc$d|ElJ zCEG`#-{(B!jN?qb+e$M*kxp558e|_cydq*=%H4UN)84~?SSjFTiEV~f!&?}@>^6aS zLVwytzU5s`7e3j+84kyET$_y#C7a|$t|OdT+#nhH<{xdFzRrOkX&6m9reOp`zxmEO zV^!KukziFz(dYt?&U8k%SI!q9$Z|Sp_6V&!gFwt^D=?^hm=bi&-46q8nW*(iLlCYp zgrBm3T8kpxd9chI$RKeUOTnrH(<~<~k(&%6>pU8TPoD{SF#3jN8f(Co)cO8Dt+|NL zs-&0EtW+fbMo`lk<)H=;QJeCgJz$3`jOi0)KgU|cv9gx{ zxF~BO30}ci7gm37X5jp}V0x1e!~-$nhU0O($<*{3)H4u*>UJD~M>?3TJ1BGTH2!;( z6OXnvIZg)%1c*&oE0(?m^q<2?+i=+oml_d$XRX-~hZ#xb z9`(P4^WSZWi5vf_0(MsFWoCd9f=&FAUXq+T;}tdH~{K=mv~StD!S>js`O! zmsB56%sqKvtE;s_#6yLRNYS&;cVvQKzeHv`py#)duW!=jX{Evf409Yh)dz&~y!WMDzQJ+`sdu~6eJO-yO2o4}kIky2b0aB9J+AA;AL+tV z*!piEUOl1d(iGVV)=nMNak1PF&D@}U%G6MQ=BUNJ8h)8??4 z^#c=8<9iu#JqpM(Kby3Y8#^`36E>LvU#LKHOh`9#pj{rXh}4O=??3~kh$`PJzWgQP zhYg!1=K8Q{`-RC!DdJu@8x$^K%(Krfm0pPJk!8v)j0s?b2&tAH$! z|Cc+i&h?0Pt!k679f=*LQ_{l$!P**JqgJJfseB?7?xW6?D;}LIM?2-!pU`>(_WNUxWh`AVY(-Wzc!$lWSkvms>>hy!WTOdLr|-x_(VfloaaWs5d`6 zarL3PUI1!kCwXGc6vdlLulA@czCbF;HzGOkT0H6l9WXDHeP4ut;j@Ctb~*;-W|I z9?us$F{X=ZEAO30skxD7n9H-2bxR;eRG!QWYHqkEh96*snYfT|@)WJ>(Z~PXKHea0 zjsy3sIwP>>#p~FsR{1X2R&^V+%dXbmht@GIu2#c2GQ-)Te3H7NGS=Zx(q+Urt&xXz zu&%DWJIBAS?5Q>kxYtl)(f|aG*hkoj#O21>j2r%_i6E=LW?l^n> zQ{ehUl3TpBISA?z4CC;vYBWoNDcj?ew8agX6Q1=v&-gMn6Y)@bp9CNoQz6J+T&0ea z56EFz0=Pn#yLaSD#*-mc(Xo+tSEn~%W`w2o-|Jy-bMwqQxs9^n)yDB(@;E<#8`34` z#TxC&BUrB*cT>Yu+)q8+hg~ta`an^qhvIMO76unViy{EHreF=5qPa{|2CNHug!Cua zUKS|XWqH1mkK!ptlSpe6R&I7AYlb|LycSTO&nHL$QhImHw_un4ok zOL#IwSVRieLP`9NRI|Qn_}uaz_6x6>&`w!A>5S_FjuihuKcP2-OhJK&VY=Z!HQE24 z%^aYhjoPx0!oFe(1CuJGmh}t%XRQ6;S@bj;Gfy$Fv5HXxW|o*C?*h5Frp~r7{%abx ze?;?k+T%#N!T>|g%_XVFCNRfOBbUJXHrho}?B?|yH+$oKuKzlC*Sh_%jaYN2f0pad z&CEsHCDr5h%;jfZ7lG7LT*?~|J zOqzFcn%UpGQ%fqdq!;x{kyV8fV_$XnYi?v>Ti|g|mMVFn`pGDZ7)s5UeELQ+af8?o zJ**pkY9Z)0C9n+Dk0n}@_WhWBlGj#=U1Aie-WUYTkM=~vLqhb{HE{)0^IcUMj}D5_ zcI^9S_*1l?vFP&Dv|iHjakss8J|yqF9^!sUPJ@n{R_X}$3_d;_zNvikRyG|$l;#e& z>T&sc2$kQcpRKN}io&4+#lz?(?><9TwEUR$9LkMbVJO3(lplwd!>SWu;YxIQlM=UZ zp55wOd4$K4aM@BXmxfRSe!or3OCASZ|R}8A^C_K0AGZlB@KURBSZ77n{CFKOJ^*F zOHCj&434KTh#X?kjDYyayI6AQLyOmkY2c@A%RM^9Djcqyx8k($w=a0IkaW-Ee!TMx zk&aTZZokZrM<&gi^wGdsj=@2Sm_0RyD6!22m-@NzQ48n)7-NodQWOUlgw^aXT;_xpuMNn1rB-L;fyCoi|= zT<{|)(=hj2_VqK@yGfoFC^(orO}h{CN?Njjq_f3Fu#s77@4Ok>oUOENFRQExHj*^| zyK+LH{2h&Bg!BPCwQ0#`iTj}W27VQJ%W16KN)BE+%AnuEpb)XiazQR z_K@u#SrHtZW8-r7uAMtZZ8%V~R*oX&7l(w)np}vY5M|SD`lJa+HkRY@2_{*_$ymXe zn>77b$R$~%_C&t%O_KHU_j<91X(FP{i$N%4DVI&bRg`9?EXz!Gk*&gdddD-lESe~< zb$nwm)kLwTOC(XZbB1HLNtcls*sU##$?$)OTc%%qQr4N?RqA^`E#X^q0QBO4b#0Jz z9GUQQb*y+@a;&1(5sz-7wevg@tegoA^21U#64l1o*xNf_ z$$xq?{g>={z(Vu<%~X{FABiR;f(;-S0CJzL8Y~eFu&vXf*jfJ~vv}Z#Q1%4l;htEiK+mA$C>gd-Cprn3VDVrr#q9A( zgWVR0W0JY&zmV8!@A-({KsW=I_(FQ#;4b*iGx%kTwj&fft8)ArJm=+dYWF>08!8wCB6%ajX>2N_?8PSX(%n~=NW!{LWgU9CQ54LMeRcjKIv~|8?Jfz5N{e> zz88gHBJIy!L)$#Jeie5`Xtw!h?~~IEsXj#$%v6Mp`u>KzGwa(>k%WAcWc3vI-Blph42x2*$>kV|rCb1+{7km^} z&KL$V+2eTgrg3FZh@r&!Q!CG*J!A2igQ|2SMR6Q24>`g% z=a8Fk<_lvL=sD8Dl_Smt;)O-sq%hx2P1XnpCGc^AsCrTw_$(mF5?Rhl<;pYHT{u<< za*Io7^W;w@J5b4D!U>}JE_|3$%-Vdan;POY$*dUJt}toy%_-`OiMq62QC%zeVWh*- z-A6WwC2s>fLJc-i;S?+~4Tf3Rp+6{gcASTR&H;~4=5Zn^0BM;d#Wb1N^*6u&h+jJJ zWvAFJ<{T@)Si)s;5gW82JE630K_a@*ZPSu+fmRaE!Ot(jPy%ih zg%+M1%cv;c2_G9ME?4&Vi<)Qrh%>iZQ!Lm&sPhS}>l$j*5Pb#9Ro|idSbd$&<7=_7 z(kmUQy z3dHz~;YGL_hnSK2(@^Co3_#X9G$+@AxvsrDN_$U6@6os-NA0F`zp6M@A>hs0d++i+ zc=CC~DtXVoy!UlVOjdbzS)s_oZQF?zE1e{l`vw+tE#?)fMXc`Sb_qJ#~?I0Ew3q)wNRKD<;BQI7Np`$UPr1`9XMnuRy*TU3l8!mwpHh6 zGB5f}z!iXANTjb7a7Zhm=~@9{Lef=)DPJa`7^{rzks{f2ML44gS~()YLzY{`!(l*; zPBQGs>D4HU)E9$uz)jl%iiYttqwZ}HL3&BBF3D;1j+<5~$TD-D=hv2Glhwv^*;ylo zbefo_;+VAYz^8@&JAWg2Tij(z5ZQpjYIqN`yU)X~;Mx$QvJ_O4Uym*Ihm7@5tVg zyG7PfN`gP#UjF2?VD^u^YmO93m%COBf|4}oq1I~*BG@E`xbJ-Q8;|zq`kDdnD3&NR zzUH1)J-At8$J7rcIa7llp!wtWM(UtL`*_j#C2f+}-T)`biO zJpGq=i63vcy9toksJo2h|AmB9l@Y08CY?WX%S(aXm+(4X)J#Ze&6M(0`FWtw9H{t*%d*=&wQ!tfmyh3>oUPH2T^Bu%Ne`?cA*PU5A4)Us-sp>PKebFvGlltF?* zcrFo4-R6vU8t~qXt&o`s0ZUN5%uJn1yd4hAvTP9a6J7p<^#11a`GiD4O2}Vf-phI1 z=30l^_-YTd>kV1K!>OEZ(H$mRHdW-&MrC_Fc=M1@CU-OngT^JX-+40#;ipkeJ}ymJ zJvaddmIT^q6?mdG7&k~hq;WqjB_Z{&r$$Wmpx*Kc?U7=~u)FWTj=P-B{*-M>t0*4# zJT&H{DNKu{dh?D<%C}AdCqOK(mXs5}_@-!jud6tre48dtz8wJ3Jon%Ad1+fAz2Xg# zJ|aKWLz@PQhmzzUTf?NUDa-JH1#hu0z_qn{;k0h~B&`8_kQUkwwLX-~GKi)c^Bu|= zn$r~sK4rt$YU#R^VSBqQmo5yygLEPoebh!9V@gH>`Qj~T%Pj0Y&)2Fy93mGjr9}hd z@9Nk^u6-Yc0q?d~+d<*0X|}wD1ARTnvE8flONrxdIo0wQJQ44KgpzgG4@g*8@9(Ug z)(RAi@M$BhmKF7#o<`y!%88O8H&lDq5kgVtnxE$Wpj&mcxAHsvQEgpo{IT4c$LdLbgyXrF~x@^_PN%;-ZrGlc!DLkMlg*jXBL_adKndbWKzr zxhEm3C`}ZHkL*C#NnM+FZ0*mzR@~Pv*HaQO$Vapnl|)USHS$z)IgjCrLRU=3mVfd# z(Xk`w%=jc;Fc{A4b8<(q38oW7z(*Y&vcYS2U$M!8rx?OS0JQ{3?%V`XsRisv%v~j+ ztWcflk*^|oaQZulK?|2vPp(LsI=$hylZyo9lRYR0mQhVfBpzZ0l}9;Tearh_Mc|3e z4~GNyB)!@ z7h*l7(b!9BJn?iEF46B6k|cy0j=B?ZNOQW1vaBN)YFbw86tGl^Pn|*}%L+Kobk5ou zfNVtC4P=r^kQ=@Etdg?FT;CY#Y?=NeeL78!br|mAW?XXh#ZUd@2gKZ)_8b;8EYn=I z9qgYzl^`8)g{ZIDT(Y|s-xml23!H4EA7c_}*S6w}1kCl||MUm~woZD1hSuIeoB6X) zWKdwu+m|GjY*KBcUBd4-Dla(t^Sp@AP|*Bo<=TC$RY3~AtW(OK2`ImvQ#AzSYv9F*4=f5-z-ehnP&9iqi9KizB|Ubw_ISauN#zC#&Fb%x>1iKL~o-}ghQ zsNE`Gqk6yzWSK^efu2i`XgJ7%b~WAR7C2hm@7PVJLI=|&MXmCo|H2_8D!SkeMaO>eOyv|vsJVH@ zfHFd4DOC8TJzLAeqMF-o(;h&wOyZF}7}&@Cl>7uFKEoHbl8q~*8gtl*(PLvpI;;oNtEuAy<H9$sPRjRk#y1gdY_bvf zLi-MAQ%La~t*&dcGmz1L*f8T5;mr;Ja`czoRJ@gD^sszU5;v?ezMUFnhALGq#f=03W_*Y^;5McEiqsJm>P-kyt$5%2F z`GtOw)rqdD4FpB`A)@v-*p;zrkugI$*~+dHleXdtEH!3Y^oxEdQez%m?bkUkiUb-3 zV8p@+P8RIWazY2i^&P%7K@d~?|Yh>roA z2f6Q3|Iw~SqY-kRdyq;iFhRGe_203Dg;T-q^k~we2LTclPy<<1mI6hR zOBRG@EdJ!Cet}zpv18NZdjk<90&S}68hZg!0a9|t4~*ZrU~e$}Q8l+~998=q(nS4RAFo zgZn#zdWKV*)t#;&MxxscQ274>ANSbo8D^EV&wSAYFXvXc6(n_ylD#<%cHGx0l>$l-QTFq5CG&LphAGMSOYVgDH1TvQ4H6@4tBMo)jcfU!`#Kg z=pet}r$JWTSfti$YUBLX^D6tz@A7Te?sreU^4N*H#^AW`vaZwy)q4N?-+;5RgjAgZ(HPc)V zk&E5#WkM*o?{)xnS?H2l$7I(C5XZc}W<5E9H#PSIZhzryE>F%R3jR0nr%878!3B#; zXT)2j9u|X6%@x={ZCqv&5SF@WAYxN z_p`jsFPcJFWwDkeMS8}7*pUr~tk1Vo?R*8nnE2Dv*vgR5?&TFK?CM)4KULyM_ra4a zCodDM9_MT?w$__(lh=Yzt-;3?Ne8CI!Z+`F%%Xc{nZNEA%o;PCI-CWUE`vs_)Wx8= zj@<1xzx8nnL&(yjJkWEY0=C(Yo{H3_8)D7d^qbdDc`|+5>f5P;g%VJsnz(lulqI)KRng3Iw?POXZ<)aHjqLLHrWT)E&gRT%8f@%!UekdDw_knj?k7 zQKlU%M|H?xF&&MW;GaRj?RNZU{cm%l3~Rw21S$OmzNZ~L&GI?b^w4ORR9$^f{?CA? z9vVaHYEj_${1ndgCL-!Pl?JuQ`MWvHWdwhxvGA`VU3tl`@BM`#(EE0}b{dtRE-BUs zUXz#LK;wBI!RtW;s>UE_Jst*(j&34WnHEjQY^l{kgW#S*5yx0?P^+GQBF9}AjngU~ z$iVV;B2{~PU>WEAS%p&W`W_^o8NQ6Aq1r62Qe9e{q;j~``O!h z=`uhGUC4ob19`w}in)q7RVUp^Tx+XYumwYdHi4)4${p*W#aVN`raktfUJz>sA01uW zhFSgBE;IchiLw;FC5k&&)niCvq=(14ALmPoD}*ex+(_ z(5NWUwh(~1-A7=%h6X7 zz=wbtm}{7nEt1`fjC-JAbQTM6y-Oft?oiYik;^eVIf&{A;36^ks75JwBNMPyvbpQ{ zRsZm;R6piwmGNYP?Jc!vHcUWgyTM&)9GeZAxZ}F*)eyRxX>qGRD>nv~^73LA1C-*7 zK=V-c4$LnAB9|Ez%Ro8^0o^zWT+7WhQ2DF+s9@ud)8vk(E;_O@n()kT-3@^mYMMk$ z{Zg`U$ig55xqM}*Ncx!EqtuD~p8=~Dut{G?ne)oYT{pu8L&4lowR_0Ghkl8oxI8Z0 z#abSSoBLQ>yr%ysKXvC(aZyG0Hh+W0+P!Cd0|#5C8Na9@SjfA~(pOQ6C@ijd|I zbG$xU>k}t=N-;eI6r$t5B}Thh5id1|QkckzI+%aMVoe)7vZzTwb_c+~>IeZ-kKt}< zdVNzH$ye0o_Q4!6S4mlThJY9pM$wV|M{$dsx-ziMrKjKxPEJ-9TGF!|kDO%obaWpy zQ0}w|NZq>_86WI%y>oRDj`hT*3nq)#e={H1i5IQNFv7PQx7PA@f3Kgb1F-O7uQ-f^ zjxlLuku8eH1}6WPB_h$_ot)4Jgna&ICsKZ*{l$iNQhHjILu)4MxRv-be8numr}}D> zpF~e0RjQA?y7pIS6*qzl&|7}F{dnbCJNXvbCdWUulk)-+S%8a`?Q=%xf>cTj#F!a* zmk0h}o15Zp2s2A`eIkC3);itHDzIb20Se7pbLp)*aGAsu)GE@v=<>0PZ2VX|d7E$C za=AtxJRk4^@%2M?{3sioPLe8bKt^zbf%IgHU^C6k{!c3I%s%)fE~t~H^f{qo^5x+v zm0F32ZQJ&{$xPsOEi{scx)Pt&kHY`Ks{h9(yVli5D|V5{HNLaAA?TQw6S`FL0@6$g zLYyoulQJ6hCwhFj9Zuu%37v7yI9qyhRkP-=ip*SO1Qsvk{kT_Y zx>tZ_d6F(J5OQ)kAES)SVaVHo8ZFz%ts;tH?TcN*f-9?TJi8J{_P3b=uXn3go3Fe) zRY!6}Hr{TJ?}*I9AG@KHWW;D5iOLxfJ*O8{&JtcZECNcGDq-#x#)|+}0eG~hHi3*? z%lpb!g|&YNX&YO=t_0c?UV$qj^L657@20v202X+fXgl$79>8)UwE-+;lJ}A`I-a>B zZB{n9#RLBazrfbzPoM(E*)#p6(6^xYI$$^K8b(-O5U7hS+(xE@sK*MR-b_HwQEkAOIlsTd0bWhRNqG64VBF+ETfD6 zx9&~C*jWurvBC%hO!Rpu(7o%AXY9q?hU<~%J&kmtmdm#xx zjL6vICV0=}o^S?~Dzy}P>o}?EYP~~5zUVRG1a}05uO#ZE3Ig|tm11Z+^tgOp?Y1w} z?Qbbk6g0v@oG=_Ez{U!+9Js*|{dm3S)-05ld$0x$hlp@kG`c87>}ce2rN?SO_6O@m z?)WVV)80L*d+vUuk}K*eeF@&=7j1i}_7&RE%sBALKJ;g79F&@pX1$?G_^zWNrD%*Aa= z4RyvLH^U0z)#GQs+zGOyaGbl1MTc*w6=<)uP&dK!Q-ty6mlk`_q zaPw{@2YSIsH)}B$u`$JM{+c8*uinf*ndGA7hobRKBH#N^-Moq}~x9 zs3LLsNWn#}%B%kI4ee=VtwvV-OfB3 z{j)5HdVTe|IsPmFyBhd>37Om%@&#rTHpyTnS?#07Z{b9Rc-=)VA|APBiOb=bA3r|| zCq|uAzJ|>9JpD5o!=EXaQ2~ubP;p_uS|-!_OVhyEUP^g6%I*!0C`|*J47dJ>b}!H} zr7zq0!PLL#9K|HWG)HuvD-BKF8v&+?WxjJD9_QK`6qr@%%PWY_Gg>7L6Op~D>goL; zqQu^-8ZxPm+NuU{46fHu_{@W@MxIluL6Rap#HvUcg5d?ak3^8tF6wRRlSB^!JxN&% znt*c#Xfr!EEx1I_c;l;>qr=KZTZ&6B&zTTjcKVa&s@2JlAWM2cS?gkVN zm(D||X0K^zd%!S+$uN0bh0-*`B~!N_gi|0bu5l zyPM!4(zCRhP;Ohaxs{_Q0Za-E{bhVU!x1#403$%$zwAuJ$3xtU=34y{pWo>`0gZ4f zD)2+H2_5f9ejLO6kFG7uzB?v9sSGtvRlV>-6P`}W+5`%1za`8^?Fh67nJ@v@NFRdm zVl4s=ni8?6Ym>-#=(Urc%TQ5Z@u?pIP#~$YOv5^x@LoP>W&UlLOai_idvgY-jz&_| z10F(9V-+;uZdo5q0m{fqB~6G~r`mnFEqn(nddcb5$WpU+M9XT4)p7`HYe(i|P%3`t zq_``%A5(lMAl<6Xr;VhP!wIwQ^8+S5CU^PxF1cY;6(^C~3uTBBlGVhFkSvhFXWdYnxQ4^}BAclhm|8TI+ z`6@-)U^eovzOnN3(!^vi63fS)s(1w z=u@fK+*jr*0m78OC@VC}-VcQN?6q!=PFvT4u8sw+_W{&uoHt9oFlylbOVJr(Zc|PU zXF)EFo=~YR*_Fc>%D+ay|FLy8vg9H6Z*O%191jX23Amxh%ZTyqxJo`v{*8W=k~^j2 zDD@4JvM%>MSI*xo>IH39FY-s74s6B3=w1h&H#8sZU}Adj&J_Hx?`i+;*nEBT&hH5S z&&=R`qs~eaAR?esTB=uSVB)kaSbSh{nzz9ng26ywM_*NGK?eN1^v4U=8x>amLheyY zh7&fx*(X?-{CuT^A`FE0a{h&*8Fgl&1Y6z0n4>&_gDQhvX5vsz;{J>aU&3F} zPh&GSz4u22nG7BXs%nn26c!+orstUGJs_h~phE#iX4HRSd)lJ#IydNDLx->n6il%4 zSe<}K9KQ`+NHU(Oh9z&dNXnYlh@He6GG{w@O;r-U@$Hx7^Bor-paEfrwEkhmjIsjY#E9&bGzF(GQ8)RP^ifS83rM=UN32vVlf!r9GL?;0l9 z@fLl-!nga_3&P-yo<1;lMHOFUJuAhu)L9}BOQ(dS z9Vod>Gr)h?8S9uw742ByIKr7j11pHZ$DClfEN z%AJqP)*ik8=%aMf7-n>8>sRT_@MFjVo&L%=YB7CCS)q zJ|Lf*1#D*>+aVWYfr9t2RypRV1Bj5z>A6%4(Y=kG7;mw2*U4HlKIACh2zp%H{Z0<(_f*_-pHuR?+bxD@g zm)EbswuJW&4zi(i_ovFu{niT~xYCF&~tvQ~jP(fDDNN;i&-oMnx2h7GdtoHPV?(G%_gFY_+1aaRj-e_Vt?uq1NKp8b3tD-vq{oDG5xe|$1A zMk@tj(Ep193v@TMicV3A4->;qHI>m+J=3@swl7V~)B~RR-`e>Az`feDMy?&WNSrc4 zh{H*H_)Y)*=63sf}#l?p=sN??PuVEwPl5=5QcccRc$q7=b+4MAS{at-C z(tn9UcngeU;fYbp53*JA9R`DTr6&Sz}HF_i_J|8FmN&;)||oy$3D8Y zRRsIpzx*G~Rjli^u87^cYlKu+WP$mVGZb+>{ z?!k9UpAL3BM<`w{26YJWL6blW4l4l&pJTI@uI-#mQJL5^q#Pix7)s75q{Ow^^QRI{ z=+othi?`Z>!vf}p5fF8)ByKolHpKrYr1d|s^zaa{-^qY6WCu53Aab>Z?T0x#Kf=9m zbV%Ex$}H;A06F5FF-r_o-Y*GK=YX5r@fo z2DXXuK^DWvak|K{TH8;RaaNeLL31xq`_xREtWF60yf20x2qxgi;PJL|mvSZ)6)9 zoFcHF%_!$E2j@Wv5$`{}TCihl8XpBhcNluI241j)pd%@Z>eql+Drtt5R;|)BT?1&j;ODw0kf|Ffqt#_Tt`@v@tM9t$p<7UDvGyun+H0KZd~6w!W}s#G1#91{(^FWHdz) z;YEAjk#21ek+^%akq*r2g)y3w%C|AlNjMM~*3}PRl&F`O-tqKd^yjsK_ag!|7XGVhI9h`#YxgI7 z`|&$gWOvjI1Ie9rH+p@;znQ}>-W?<>O^`;ZJ!ZmPP}ydXd{%LD=$F~UZ{d{+R{VQu zXER26h#p#@e1f+p5SN!-Uga{7>8VpXP|lM~n`NzauTAX$nKc8yjJFccy3aucsr&bC znBD^imPa{{l!=4g`Uyj@R~0u)QQrVkE(Bc~d%k zkBhbB97uXp1uprA3TJD+k`6JM=*Ma=^6e_U#Td5y?e!cJySA5lVqeD*s?2!`cPEqi zXmYm1TO$W2uNsI+{UEDb=vP=u$+Lk9qYt=4jb%Skd(EP*XUB_{m68WFB@utt5x%QO zkxeQ4yuD#5b3D|0f|2eggWmB~$%*}h^M7edrTZ(zbe^fTe!ZP(0$wcqqKS%Fjw zZEsQDD_|-*2ikaKQSEgDg#+W7VV;ss+^p3#lX{viikAUPh*9zVEHvG3%^I!Dy|JJT zWlqyC4lR^(BzoQ-0gc8EDV-$AF36~~|4U*;9=vJGwU^Iw4w_9D!cXmHcmJ|(@u8Ws zrWprc*{+{BW!J5c-nLwU%nRbglu(b%QM*agn(@R&guI?ZQHiM!ML`W&7|_76~kM{SNdiD8GRYti1Wt+o$4!w}rFJOqGw60Vu|r$7AQH7Q2V9%sY3 zf#Du|0G3jkXXWD%q4>J#LjxnHI98jb25C<{2|W?nNvx(i#)H{U$k{!&ZInf(F#=UZ z_!H7aC_QFjP7`1s>fKZYK*|mfSAWye()&og)t$QSXOIs4YcxCl6zJCj`w;fLiBh4d zSLQ&erBrA2$vtUXqHens}(F`kor`e!$=G$&XSnS)KK50`PI7Yn_HoPRl%wtv>j z$-}Q+lT0|YU{@rRW9j8zTd#t1hOrB9+lnfMtTKpT8~j~hX>@3BlksBDhI=sKrmtR8 zP|!L*#cVY0fqPeqgxg^>AyK6jyqF^$_ZHl)v6c61zmx42nT!7npfR0D$aNz%%uS<+ zn{n#C+v_-rfxcrfSg5DoetiA2C&j{Y)}};n(W+Oz9!zKxGEJ+=o}|Hw|3BXVn@9px z<(u~sky(@DsqZNzHSWmSGgNt+>8}spT-CVXaQyRG8Rch_;qfaIbOUhIO!&C|~ zRwF zO3%w2qd}4SAE&K^y4HAVo!%^%fvd9iU>>j6t;IT<%prN4zP;7fx`gRsMW`()&AF$A z+HCfk`OWoB87q}cwmPL7HZ@R_M>t3lx2Q$Geb!rUw$-zhM^Rs;>B12yQJ+3ZL5I=E zO2D;9=#;f=SXkMlU(e-Tas!oVrw#Ewn|F)L`1)MyFpaEJ7oZu)A2j6~xyQ&sOv% zTH>7WFrLJzj@*m)87q3#N~S0vlrAiQ!k#lBMRI&@g&z-sW@g& z+hUBNijqfGhb+t;;sYwI{G-Tqr?vfbSQJQicfpSNjTMzx56*w0+Ck=TPd}|*6PSA+ z0+7I>(tZGUA^)Th>EOGyj z!7?u;E%pMj4t zZ9vlR&b2~Q4F#&FWcOP4UM<@%2W{xUpg+z5-*4_oihRo8-M2NH;kXgy8+eD2&EhTmSTvFx0@~ zDrv`LdfKK&Ax1q#rV?>r%F0TC=d#%XkS}m6=O#7BX-G-Je3(5JKMfB%&*^}HaqYHe z>dAJW(HSh>a@viss35$i{kOUgySH{Vz(2OyUgC-kB3HrlMqm?e5o8JfHvIrQsAYL$ ziFM}lMrf7%?1xJjlj$JeL$}uQ>tOnF;={s*IOW3hcyrzorV7Cga9PljPh!Hu zqtwrAQY4qXTY*6&Og9Syoq|%s@Gf}+yV8LK0J?9r58D+nXQBVNiA`U0O!7}MB{}>2 zM3Gi&N#2%gMzn)Bf^3at-4Y0#3EW-L-0v=Rk?==4jR>t=%`?;w{q;;HeI-4$rm>OQAG*XyQZ{y_?YWGjCGv zWAe}>O9$v$vkXdq3$i3yyQ)5{aLcLX2^MTDk0K|WF#KAld+ zFl#uG^&$V2LZe3Ld!7t!&+WgKl{|H!3}BbBG2n{F7U-3W=T`v#L_2lY88k0lIK}kJ z^Klxqx(Xt;4*QY_aozn?GoD814Z)iQ+A|lES5JYjx29p5D8@j`cHK)@$~Hy?hGdg` zvPXnhO%J+yB{3gX)#(i|4V1Q?zx2~>G7M4_d)s>}s$Cn%Z z(>fMjMu5EbF9Gx zJ=*b~_)k(deDzczh9m)Jj7~^Z5(W-$(%psga|!?VXp^`eC6!iGYj37+vwB&nUQCk? zT%!Eo<;fX%)Y^)WcjT%^pv6qAe7Qzrd^ewiet!E9vR#<^)PZ|&qD6%woVkmM>orWJ zB~8+!1pG4()R9L1aBW=YLs^1?qCzJQF@)K_F;X^7pdK zXUK{~%t~Hfs4Ayh2|?-ZzM9xh|G{#p6 zx|3VwTUQL8h3xpIh%^9nRib&Ql7!Bg`S@Sg?7Mu|5AebQj(&UqqQpM=0wO*x&Cgu| z1tc^&!RmUw0l&Qy0C%UXEBKmk=@Ph+7^*k?AYpEkrI|N`_Z97G#sd;EO#Jm8$%aXd z@-({#-ROLeR2nEH(kRBRz5-Jv+~pcE;>yg17qzY(c10@ zresF=Q?E`3RZbW|OfW1Q{=rwqdZzM;EMv6VQbKpjHa?15&sx06MPfd4h$ER{(UIJl zd^pFslAFB5NXcfmGJwTQqKxFZ(+cbq^1n#%-2a zB{JxJ6kc+VYpEUYisj+?PwlFFsdhOovERJb^q;bg-0tW!5S1&@T~ZV{mi2BIj8uKG z&<+CUV`Vkf_epI0?#(9AGrW@_IBEfzjsxopk)^K^VD@UQdAyuow1bP2Hv`}fEXJuz zL`I!@^TROhS)G2=hw@gx9!2`t$DW9YC>IKeWea$n8m-^E5rK5*7yga3<4isKhOeI) zqyWZ#|C5ILDz!qBF*WAPHRTBe6%@F(Z6RJi@4j12u{{2gDXCZhtW{|KJ@T`2#n)Cr z5<5}{a1eFKkhnl&*^U!#HWno<9aouXZv~{W8fb(=6KMgQcjsy-Q+<>!*L%MQdAqIT z$_-8SZr964`d2rv_NDIA^Z(AF8aaH)^LB|U;YQO)X`lJ}!jK`^ckx;T_zvcOn?+d8 z!}+bo%o2fME3+5zfq7@&56j2WNW_y35;Rwj5xyMm0|c@U2?-J-Eoufg-yPi%O1HWMm>IHCeKr#c)-B ztf=7v)Qd04Aoc4+PvfpY#QAPT$LA+Zoz+XN9wq zzorE`(y6hue4~9)hP$ddt-*zCBmi{Qc+n!M(&B(q8Hb89Jfj&l#Mw%%Fd2zG3#uJL zkfARoiimr29`9U|9%6uK5dTex2x|p1LGi(gY%GN@yZHD$jGxTz6D9f+f`gDfNEr%_ zqQc85JgJ#P`cKZ{iO|uAbd}&y*ck=pId0-H&hdI$8QKKJ=6<@^AK8Dnf+?<%BSbfF z`=Gh{GIX8v;+2QqOhP=}6~0LJiU;X?Vh_fMaU^Ot|3|uKYQiFU+Y%9|U;;G8dh_k( z6&deU2B+C_;A;T@DJroB2_+@Y36bzuARR{-PsS$Zqs2G2 z%SBl>02)6iLMGS0Feo#Joh895a&xoBBqUmuYt2#R){Y@rZ|P4~^a;Z5$sl0GGo~e% zSaCBHln%Mb?&M~n^qk36KAlhsh*Wp^49J8?z)$K_`d1oR3?A4*Eg8@Y&Y!+syHgjv zYP6=MdvX`}fwo(>(okfn>~2IfQk--m6BoXrRKf)UEq`C&&?Ve5xq1Dm{*D<5?qMZX-4D-r?w7rY^IrdTX`3gNq9U+X98R|QRtG&4JcKG%>!`E zAdb>BN5=^Q!egXxv{d=UmItlSsNSEbXTw^5<78)F&+e@5F;T+g^zk`N zg4t5*=^88`E>CyEWW2$R*2+2ug=v8ZsnWK6ygf zvqy#N(n>wcg|R0Sxrj(Yo!b_$ivt8og1okJJDtyPR%xOdz+M#E9lom2>Yo}Wn(2f7 z;o!tQIydhXdKb?#t#CqzXTwMB+I?8b1DxY&;3xmlzTYgMg3BH+bIpH!O`@;db;V>t z)b*-6J@DT@?Y>eaWh08&^_haN8aR;dyJss;lUP(_-C19Klp8oLO^`2=`^%vs>G!Fj z6-fu0!lJ3f_pVLn(N+bxYr9?oHqLA8I~^SckmcSxuu}=AJ00U4>?Zu-K4nRs&V|eFL;k#&_XV7(-=>M zP#($HL<(PQ?LeE4c_~|Rx(k=Xm3aX2hDY{;d z|2I_ORjrKD%2lvMeDR%m3HkBLJl%>WYPO(pY%WIA$?40xL*nXSgL-W|n3y(}EwDZr z;MqtFg{`KS|K|&1Oc{$=_d5Sdf2+I}vutk4=1N|~ACY#Woqp|zWR0p&H|TfZ6Uw4! zBsYTl%kud0Av=ygpFWx#Ib7$s``6TtE-VCQoS!W8zZ5SC$UvG`H4%`F1}A+N{mO$^ zV<}OWNJNq;zg-IqPl)RbdTM&b4$$}YP3&3|Devt!SnBzM)-JN>cetuP^M~F9Ia5k- z>}}?*!f6_m61y`hnPYeD^3I9Tv~OmzRjDDH7%Qei?w1+~Uj8w$uMGKfk%C*8G0%QM zC0SKtYCkxz`($mrLS@jrz8H7&yC(vzeMp1xsIacZttbY$DB$WLApAyz8JJ>LnoqY)$LCu;k%O~9CIfqm#&3c&RTM@nEn4q8NDj^1@ zn0R(7h2mN-;@S4@6|lrjXQHDC+|<|PpX!?8c=Y*=phQlmf5ka8;VV}Jfh-*sJy&?t z^D8Aa`0so&71=(fXYiVKuw^o_$xW;!6cjxE*Vztb5T?_nPiEL4rSg(|1NHD!!ZoR& ze^DiTLQ4&zyzxR2847m<5T_>zkrn%fAGk?vlo9DZ^Xee7?2=xG-g9urf{&uY77k$z zeUx)03D?Le;)XX{tHWL_-Guru%xT0;Y{)^en9*I;cX{Wez3FFm0ywqLwV_j+0(1v$ zs*}cAl`;*UiB^nU)ipe={Buh`8o~+Y&N8>rl1?NnCFb#BE#v zqNF`?3bxB5NU?sKX+uaS{rl5+S=E}Z76asdQ~#N$ku`Bqf9!U*|BnM zFcFw*iW(;*zYo?Mf7FLqE^xv^MzE~hnZ?XIxEq;94GckvC-%!reo0 z2Q_JFhUm8wsO+_Bv>7S42M(WUx9QjTOTa-j)nMOe=xC(MSy4w=<-jBJJ=$=>(lAH8 z)jB3o!!iZ~vr&T~j<-c2|FL6cMj-EQn|jOE4Boam8ufWusP6`Hw69%?t>IK+Y%djR zVxiGxzu4TKsxnO1AWP58ttER7eQl_=mW$MQZRYpWnzq6>rQg7{zPSiETw+to7EKx_ zO#jc;YPd|ScM84&n%uC$C>m}8G9m@a#Kk_`d(+HJhom+sG_U&jvC~g70SU`ggRBX4D9j*@Lz+jWRL);eBfxz{+6?N;;k^#X5uOB zS+g4HGmNP-!ek?MUz-(KbyYIr%w`hJW7CjYW){1aYuaJ0k#dx6=YTNTsXw+Wds)2d z{CXp)?E3DmJW_!9=5)R_{uOxO#MwGiiQ#lz-JCDE3|Qa}rdwE{5r=WSBCftX3YZO1 z3Y8UK4AO!$Fq!%n7Ha26Mv#p9hukNkFiQwqA5~-)QLN*O|KtR%dF>7wHSKF@KK#JD zh*WSdEX67D>7#_g^%`QU!T1|zv5Uy*C+XKT7iA!uNNU68zXI!MCiz}nE>H2ZPt4(b zE%Zg}^l6@1>3Bsf*ouHD14P$=NzpPdUp>u*6VTTT&H{{Qmxt1sS$a{hOa+UB za=LTtNamrSGUEJ2IcqVW4XG(UR6eFUdGB07EiN*vCYHFJnxm*mXHVp;g0Py?W5>0` z7MPc~InCBhq#P4RTf&&=cS?bV)93~|NC&!NT7s!LRTegUpdIXZXv=u_PKfP_UG*#2 z1+va4jX0q4qDUtxYfSRiqODBsOY80S+LI)@0n4+d^w9MAmcJgSC4KD825i;dQ@LdB zWUdge=JmO|me2((M7_8mn*b+mijkk$`A= zTfkc+Z$u zQh`y=4M`pI?gex}o}*SFgj2OoGgL3;)GDLvL|fKE9ZxoRRv_#Fhc5eV!FXFgFmX=+ zU|R1%{=jC%%d~n4K!ioS@ikeEX-naWEKLk@e6Ge^>7Rk_yXDEz+Dq;NzUL%y!xn7M z(mfmzirWJKaT07v7C5n4pCEikx$qgmPvHPF{wsD}1RPvD_Cg;&t$V(Qz*1BGq6$DoqtJ_x z?#Wr9DW5o6RI^o_uqgm4EMVo$ zn`h5}Av01Qjg;q+mIR{hAkv+XRm-9Hsl1*OW`fiRf}-T)*M7VI95^9XV9tkK``YrG za0QwmOZG!7q9!Sej?;uT&O@XwC;AQSfM;3}gU~5SZb+tQ-8DeR$dYQs>o^|urwkbX zgS**52bA&q3q#FZ{1%l0$hM{FPioMH0g>PeW2x`MhnceA4y#7n7hMz?(1Hy&0^v19 zzpK?mpnDUQX=c8EWXRM>7A66&L7*YKXPR8d#055*Lv=8Ru#Q))84n zsikk;5T@yfc=G@hlGv=zO z)dV+DTvlsnu{?n`LVYvPh)Y0I{ZR-x4vecAbB%pur%JCPT0`%j)9l&Z%o0w7Vt%5{ zR?6JLMfAAqi#&<%==33TL$E`Gw?6wniTJs4g(bk-jg;r0mhm#KpIVE@PUsAbvJx_;M1ce3!E%l@e(dpO^)nty^055ck@l{982fmAqy;YmU}X%^^V%ED-&w(SL1Ke88yD^>_vRS^^Vae~~{>Lz>p!I{6<& zk9}2CGtfDYqn#I7TXUN{!4x9FPN#G|AyEbS`Bh5waZyQWr)lcq+VKM_GxzH|R_DqR zp^qVmI+wmFf@VZVX0ejXMJdn2(R44yhcw_%$x}QO36`D4x!2{C@`scnr-pg;8iz$Q z>LewZ1l5jj9yENA&9YibFDHat@R2Pnv;QinWe3h6)OH8&SyGUgf+ufpDHBy1)BJw# zyrDe!e5MjlL^{%L|O^^Y!oZi9*2~d zZzV8l)v z!WfQ-*c_Eg6Xp@lVZ#zKQR=$~s#W@7nonbIyWmvLRDSxtB^wfX!}KnJ;Ce=3aiy5d z_?(}$5{;zs&A0oIX#@1YhLqQde5(dh!WP)SND|)!b)q9Q`Zq}O#rZ(tObjH?e6bjk z024=R+2-oZy`I0COjw#W?YMFZ_iJ$%_dE0gRmRlZ5USD-~Nv+5)eJf*Ew!jz1z0xYY_zT;YfTg$3PxB(09|eQOW)=MUdSHN<{HP5OYRLt_`$rAmeOX+4E&Foa6}qB>*|Uy57O`Hw0*R1amu*FiUS~2 zbyE3-v8gMSGpT^gu9cmaE?b}d^cWL{nya)>$fWoODRzoR(MXxr=W4r&A{?zLu$AEp zr;FcKMtw{d#VU>@M|mq&vsVkc>1fP8DDw$$I1<~v(&v)x z8de!oXrFBSgeKqzNAF7}lZRf$ojCh)^H8%xe&1b)$wU)|MdwDMYOD;#HjZyCsR|8m z6p}N32LGDJC-^Jipi3MVeV;WHz8ScG_yx~lg%U1-G7Tn%;C?Z^swaExj&AMqBnM2# zuAZuYov$rOqgRnX+(|oN!VP1tZx1LOBTU=!I|c!4r?3OTM|nE`F6ets+lCu*j}KV zgmfC-fYfarL*zk4_Fir4r`wN$K653VaRZar;IU>BhQNEo0u>OdjocdKnZ}ua(1SO+ zQ+JO1MWi946}L?$w~_Eoiv7?8x80opoBdUGHj&l4QRBcXC7Z1@`<}fH`w`uRwi#Eq zS)KAMl*yHl>Z%o5ED!Yjg{<}tmow4$7o)PNN+FIz;pm?+Ui&Ny3$FMeV+7BMqQ1G9 zsmB*iW)97}F)2(0TrL0cQCH-Q@&8YWZx%XLNhr2|UBEM=rNV+a+8qP$XzL^iU4|PG z)F5JBL{=(Y#sYqq#|PR$x9uih9E?v+2PNk}PNQCHpM5d!qCX4uHk!hrs0PDISRe-v zWw+?}UE@!gejM(a7T-lMDRw?U^xzgIu`Q;J?67%ybpI z{CDo%?*|CdKq&7<94WfHhNw_?^E223bnXno3^EWJ=28xUuV7ywwQ}?@1Ra!++SS56 z%E|-PpYXFX5&`e&0LrHS=;frn!8PcF>(aUh|AwvUJ|?y23)VxqT{6m2I}mV2+wVOf zxC%-tfGFU-+%pZq2_gSZPS_ADUPGBBc^Kg&wAS7WAG`*94B5Y-W7DzI;tn6C_-H4< z3HK!S;EXt=Y0fVtCj(6XO%>+CZLNBM?6RTE9vV6}eV1lt(nfY$2>LSbVg0HSk%Qec zZt66rZDy)Q)mQh89ivGQK@ywhyydmTAqF-ibPc@%-ZTcc1W#3hgJeoReu}zJVVR=w zC?^R~o;an@`(fm+uRF6p{C(Ja=qnpOcA9faYGuN5d@u(^EW;T+2?Sl)N-LXhjX0AK z`1*%Y8ja(a(S5oI2JKAFy#We{C>@rv8nwkPQfsSGzJ-s62$ymklG0g}e=6etP?&D@*GU;lT) z`6be2*&AkpqAgabuM6jwVKxMQ60B4U_!Q!A^Y1QyZ@O2rh@3Fc&`0Xz_l{DFRi)f4 zy|aK1yNsw}`alzhl8DsSKH(i8dC(E6;k{~Q{SkgM``?b>-~%4@MTUL~?1OSn&aQ=N zIfpI0EY@B{ewT7QA;6R)*aM#G^E$?oFJ;FZ6j#U}27i|@Fhr8>lu^e=QKQO}n?y_-JdyxZq~Gq@FV+#=5S z?i8NrE@hGi)V8V=tsp4+B+zj{mt|{d*;}6EuK5tFfRwjGOP;I+7mNqc9AaAD33{IR z!2t|_L1Gu*C-U_BOn7U%qz{uoyuV6XSB7iFUsEeCrz@@FFN`R5@0`|1`Cj z)G}Q)G6RA3st8M=aYwv@Ak5>KQ4!51**T!N@zIzvPDmC`t8mwVcZWQ5#AId_ZU+EO zPY=Xyr7ycHf>Em%+s}Lk5NlXm`6jXAS*!=XEJou=1v_~_su}M*n-=}GFU&>N6+I1o zwmXneQMRSx1R4v@S5VteD#VU5?!!GGRzM7l&4N>^1g}nkpwk+niA<{HqWJWP)(jSe znb?agmGnrgI%9w(9qKf)?(Ke3w?RDG6fb^BeF}RQnY)G=mN# z(J7ZO!wfU*olu>poqRFAyMcj8{EnOkU=r=AZ=w!H3^;!tpld|bV+g^%WLvU6Qh{&hqTR6I-S)>&jM6lNRBndjMVfZCU8EA>-FTHzFRks_oegi4Ez`$xUkA zQ`j9s@RN|_ljM6A`$s9deNTNTy_p;1P(Sp2+{UsCt9#1C_S27>(+eZ^O84LMebqIdfjCpP-a1DEr}uQrZfV?O4y8>lh19)`8-bOBs|&nDXl%6M zY-LAaX(_8JS7vn{JtyIse8s;la1l&$^wl!1a!NKOED z*@m%wCR!n1H_@MzhPR@r1v)gc^~5_-W@od9$ZZ$gs%Uj9zT`Dn0z+6pA9Msl+-~t4 z_vjjmN2rB6sl4w`#>+Gh3LIaeh$py@CcAr!AvmBqdpKZ=T|6|02fT(Cp6YdaJOH}*A z)K~2tF$HY-@MmgV9BmNcI|(`remIuRjVA|Xv>zSt!dTYS(unevPQz^qwOr#ghTu4m zP{$d7spVPysM>y;D}e@qYHYueDA9Tov#An%8kJv)goA{h*${4P?mMleadvp+i1e}i zeIo7rX5sp)?0_RJ=^lc{9RKw&|1GqN?IEDCg%5J zz(1hPQAKMIRj9!_`e!ji3VV`IQ{H7@fliH#t>CtB9ZRLhTsSR!%d^HkACn=p$szu6 zKhybxdH=}L8;3v`np0RP9H0S7n?OoR3auv;<&qz7g#qhwA<4i=c1}@&s}8EC11MLI z=DR>tB(w5XloJBK>e=l0u^IFILCRArqUu#=Pgj4xN$~wh$}1k2jS|-(eJ^%Sh{}Jz ziw;?;$RdIZy&O`5ee)_+82zHZb^a|HO1#ViW=OK`kf_3`mCa~1RF2P_iw046K}ABp zq;;TjN{68#nV4(ayaCwD_kZ&8Z*i2dxd4n?B8k3??O3V#^Whx0lhr<|qV{S=3zi)= zG?WLp1uuycS`LZmTeN$@H{$)PXgd|CYdzI+-=1V&AJc_p-cMAe5O*QWu14&(PsasxWNzfOnZe&#wp9kr*UfAQ54M1iNn zUUnk~8gJN_Q?dDH`}gQ=rDXzh3KkLdaw?hA+r7l@n$L>UET5*Aw% z{al5Q!LDj8wJHXu2{Uxd>QoqTB_dpeSQ-R85>bS3tbGq-Z z1)$Rd9*$1nhYI@35qX=M`*zeR%eodw;6)w@pQ;l-GuDHJg4ovv&&X_ECU`uNj6*xv z}SBMUZphu2rs41i{qwWYf5ofoT4&hTpF;B0h* z1{VApCG|rjVm12+q-_Cdi|%E^fdud#LT=Sasw{+pdNXm(t$0MZ60qSyBx( zC?73okTgOccg)DnKIC!ku1v1>9;oN_Iu(W}nh%h59G`am&2t_`U5Dv^66+U5`nmI`*i?KSS^62R;l95iL?R+rCEF|oUJ>Elb z!Wc&Ny#vG|8yLXHuKmMt9McuhR|R&*8F|ZKhU&;gh5W+#od%D>p& zX`K6HkHzGI4HkU5@gRRhk!I8P0azrb+xch$-Qkt9l_Ct}G#N=CgEEViY!Wjnk^|gm zZk`*~@}qDYx|ibxPqw>k182#|@hE*c?X<=WyhKrtsFV;;tf@`WPy6itkDbWfj`WDR zjYdOL!_or*6V`OY!#fV%g=Z09ah0AMixJ3tr0a@Brws9?BfFsT&Q6@sq@1W# zhOKu+c-|X}9@s{%Rfl8!-n}t%7>YB;*Ls3NH^&E2eC%w)5SBjURx4B_4a5j7)O#J4 zz3s8Ck5|mVv5-HDBaW5JtT2JowV=eJPGR%b1RG~e%4dMhVrt&#hOCSj!K%p41`D|# zMP)O-Lc%9?_`$^7jK@>sRr^I^x;#GCvN;xIFSMiZf6doR&`MiH@q(pOtkSVoeHBWy z#^v2M@nX3737mr5o~&mMJ)$h<>Z}b-V{@3?#d;VQ?|@_JrBNJ%Idr+qR36O*CO-AM zxPSBbyUu>`yCGHw49VX`f%(XSM>gv=KWqUI-x%K(3|GRTuAX7Jb2>u`g_v8B3(pZL z-j4D1Z5Q=)U-iEJ67T}GQFhvC;BKD{AUf;@!WJg2od??p&i*(-ODbJ^4<{1JYEf?3 zI2lN^oHuX$N1pxZ6w-=^AuLcxeDc@*^6=w9aI3kR*5KhgeY@CBl158g6n3Z(Gnq1B zlRQQirw8`}hoPk$um;mglZFKsNsh_1^SD)+`qvu$lg1D|8$xJf_p8)!Q*NNsGok| zjLP!Nfay`-VbFH}RL3TEgJ#mo*^6m%N(0h3Ku>Pv47AC5!rl3>{U`x@-fz3t_aK0! zz~TJk7NxVa>vD-I_l{>am;#P>EJ{a4Zv?>pgLpWtrm7w;$ngWeYYGC-ngLMZ+^wVt z^>zLRzGk5th_%+`JX);!?*@V*!#^I^N&*E$*_&J<4Ji9Q&*=>G(UW_q&k1{4l_lE7 zz;FeqM|B4y!(-zRm&8e72T;`?VTfT;_O1?tk||`cDBEtSo25mn5$(-{P2o54;eC)k z<;$c+CFU1H1@~z>gEpuJ2b{=;pMir0@QSz0`aMl|sIgQC16j81+We0}M-G?9m4v&S zJ6?)v$3=Qfi5rr>`4EeqJw7OJWDhpeM?-_rFCDdwjtKve5g54e1Nk=b5|$JqmSrB= z&7RT63w8*vc44H&U2On|Qi>n*ZP*$~Y>7m>5!S%ex|P9iYHt>zrUwcEiRZ5}=R;UI zO;`=Mo}5pHN*a`u%t`-H(pydjCa{PMom^S{%;DF+XS~j$iava6L88(}E&MlPWQtqNgi_F*@CwP z%LvHBV~n;1sS$yulj*Ab-IQB8s)v-orfOYM=r8@43#(Ep+PpNdDu)6(PI#F@tSp#z zQ@PS@APj@ZldXSH;%*E7f6ExYh*g%SEr&mv1sx6bK3D2pJX zI@V7BNhFKe6r@Tv|Mb2;QvMgQ)-I#k1=c zU%ijhI=*CYs7rrLpJn{x$oW2o`E1~x6gua^?UXlS@{as^=cPnuu)`}dNN&Qhhb$(p zIoTt_G6_0V6+qt@P8Z`^eNVLo^V{f%@S5csRm4xI{?7wvVEcvhcl0jo`hhabpCacL z*jpT#`3k3bRmg`JYhL2?%0WX=uDWM#AG3mjL+42`fS*WN1PekA~C z8}HKF)Ml;jJ#9VA9Dq>fRUGU}sqj2H=P8GGLG@BSF}|H$fx(BqOTLTG>xt8hf4dk$ z_UL3g{C^>~O7eX}-?!xB`y&s{dqq43?L`$}&9DE^{bO5`<^7Zsy$tD(g;-xRp1c)7 z%wl5?jaVd#Jb$%eG#*$LF4@B9&u*!eob#}U^@9K|7>xeaM{2VTSI^k9;xG|Jd}y zbr@68J=T^pe|)B*z_O!2pO#j^0QK*9cF<76R2n{yz2jHYcJP?i{4ky$n=E^QSiV1^$N3tY zM5jdzOEdPdIrjiS*S!|hz_i3yaD144Ox@M==Qz!SocD}+#58evyAhtD7)yZnn)%HD zw_R?e7nvgI*p+a|a~7)?GUb$bL?#t7dCKYR22RnTsBR7PBvn>Ri((js)gY-+~;UWHsnjFZl9a8Vc&aM>u;gT=DxKC>$E9ZNEa)XdA5j0Pu z+1UtU5JbQ@isg*fGnqaGfGtIEv?W=4L#2CrFslfU0)9-lVFgATgw4Up^3e3*?xRq1 z5fyc+I=%_A+_UjJeK$cL<;c8x5#)%hjf}h_ zM~l5yCJ>e(KMzl;=H5E40!Q|n6R%NEb~w$#0w3AW&L^ZU?2G-3J{^U|N_lwkx9bux zk8@{W==9Q$D@wPoIfFbZ$ceE;p5p;Tp<&k;_vu#p!60v`Qj{n$)Cfo44FIevuL2s> zBfc)5VigHM(Q8q@M{-v#0zLO;bqXa%+e)o22aL$TLvrw9!`SQ_t4I{fXn#wp zW@+FIFcg!|lf7p_KllGWi;h&@vP8K$znaMw(q@2b{fHU-imVnoA?jrseK_*{4?el_oTqb;jCH((L$kS;PhD9x@?d`sv((cSg5 zz_K?8_;x736Ty6SBBJoz4$)i(PHxAzEBm+9&QlEjVzj<#Eb4#aHot~txQ9F803Y6 zB0^Fwjpxt7M*+nbrL{ehm=H-w%;q&|E>ex(HT3JjQ%3wsAk6!Ii)aF*My(TXCe+;3 zUUuDG7*^JlN}o4EE7^eU5!+D1R0krq76zSOBv^T8TFNh)eyKLqm|OI04bUbf5Y3O zIAXr`3W$}4pReS5$HK%KcIm=tr=j06amj`VEUTDcTN%dULT);6A zJQ#~f>3-0S1ot#{UMk*t7={aSlWHw$B@=5p*vmt-A#kITdI7Qc6J09W(?tFI8Co8;$d^_bO2lm_j&~tYT|}doA`*^@UDim_-j)d3CF`407X`E69WA;Lo-X4Zq?8=8@Gp+ zC-9K67NAD6FP$HUbtOA&+NX(E1!hx9QAr%W<0MX>6MGK|&ftkPvLz!dazsdG`GWx9 znxnT&E{XVZw#pJ322C$U+^{sxjfvKap~Km}uNchVI<}8us6)7)} zF1Bi&H|BgC&ELp(neT*1nQc)sB|lH^J5H!Qme9yadWUK%_Q~2=u8ps;E(5IoIwPc2 zmFu=7j(#zMq2kn!8(*d5i3HcIH{#y`UFdShiI#K;C{i zOTi)`Fs!Nb->wmYMY!bgS6kbkLQECXk@}mkEzO#D`_f=UfG{d@5uxLQ4Ba;kN z!>Q4z#2s};sM59NP8EJmMNDO*UP3W2pPuPk7Ip`tpWd`qacMiOcU;&@avbt|0eD1U zwnvYI{9g=zpbx+rdE$k6s^qgf&edz)eo z=_r}H6c_i2TyTsvK-s)0_IPO=n{t>AU#n;p%IbL=*swF=bA0d~lPiwd|BjPwF#sujJNxy;D3={KO{84q41(%Q&TUi1~nVRZMqp?EJfa4iv-bD0-c?lr|C#(o*J|~}N3iT;?ps0pO;DCHR?`0h5 zmu=0Ft+#~9P95y&*=ZOJ7&;!{CmtE@bA3Dhc=S=^j#=*zAf%+sZK z@qZ6;sZRM_wh|B+kgA0-fa7G$PrHiOI6hy6sKI*W_|Tlz^UK7Sw(wOUtt;|%X%Ayh zc<>2(CT>^#A)jn5*JB3@`eQ`>Pe%9~rKc3}aj4R5c5b%wLUuOs-#KZbgUKoIb~B_g zvU4#IKvOuaHAmh1H_P5779IE;a1-rB^r*0>Vbp-}i_ZvAAY)*KuntQe8^JP=_5D{T z)suQ$9;%d>DKlnF$cE&wNw~$$0IyM5i z+AHLb%%-^aFx&)`8h5Lus=yW|h4q?f24sf(6pc&k+bo1!U9gQ*4=h60-CiWB=?0BZV@9qxNoe<;5M@>4>S*`=gR+=@e4`;$^s z(JMY!Yy&=p?tnq@kYZOhAsFicZhC8Cp?BOBV9eak$f#1o*FSZ^CU8SZsI60CS7v#d z?6xJ`?JRTi}iuT~E4SJJW}Y8~aH)WXVVxMEq`)wEH4v!!eDJr!96bwZa}6 zD>3;=a5q(TatDZ5|+n`VYPUM5xR%zXG0F2oY zLZP*7FY*+NGL;FJkI)v0zN@sorPN-{@v-o~V14dIY=ZK9>z z7HKy1=6PustRqj62svTm+?+MDCm)O_T%0Ib2Vd4Orw7E$4VGObgEzk^-Vt#PkHxdk zAzbpK>m#jPk^{-KL;^vVjSDSg4Mw|H|L!5LkdJ{p0#^*oXq90Z9x{qqMG`oD7rDlu zIa`M`W&S}jGFp~lJ3V3wNaCIi2zWP@bQ_elxrH2u5=h}+h~ZFo=T^6sADEk87aoOy zFIjo{E;!PlJcNf>*iwQ|$`Ss)OFcA~C`neP_kMW<(iswfvBI35#|{O*l#utfm=|c) z{kX`X)U6#Oz~6Ci>g%YpdnVwwi1HbclfNNpj=toc{Q?sv_q|Z+)%+>+zs-Ne)X+PA zGEAo453xglWk!l$*5Q4RxBj-jO~-V=6=Fpc`x2Hpe6H>W&k4C|P{b%ZGjRd7I#$yj zEJM32oA`kNp>w*1K?s5+ejj(q%?0%iL_AOy@vP=}PD;AH(QtOcW>DLe7g}M%Uk{dY zd)HVR1pqF?gu;AB4RVU4KCB7U7}A|$f=Up7pTNjOT0Sn#y0GO5(D8{BLh27Kt{U)5 zg9r*=y(@dEWS5Iw3Fl#8cc+z^wW=`?FJAe`gC&lgBW<%Pazz0!nI11N@@HbO5VZyD zxoj$Y?_18iR;oZ+514z8#SdV_gDZarM*8N+FMHo5<_)HmG)9p}}Y{ z-R-gfd`M`V^h#g%Guh(7<6zDeo$^;~t=04T2qR$HSum=amrH?3)thn z$?|RE5>62LvOq5r0<@okxYd+j3#oCO~z zx@aQ>fDI_*Ls(F;<4)>L&iZ9#U!qv5cYv=cjo=H_XFo`^IeepiuB0@w;PQ zOpBAznIAq~o@>9un=O$-?Dc%z_7-+_n)U&4!BDvLn+@6Pnpw%%`k{r};PS2PagnxH z$aqYMORHYaaso>#s{om6i16j!C>x+HS%z#nSV^Nze2Q#;D3Hdx!RMQk=OkAj1cBj|Mns z=r}9NcUg35qj)!|$}l6E5)IMH;8_0zuYzX2pZfR!9n;0fA^%0ehg9xOgm6FZTRCMR zT8aMiLRqlMhmhM43Jvr#0ez;r)p66wCbnOVk<+SwmcjaI=8~s3lp6a4FuJme=_Q{} z835FDlRaa2OYhL5A|-7`qC<$%AJ-jg_=T`Y&vdM9Im1M4nat~Rn6^Yo!xH6Mgt$5w z;|KmejPnvdA2s*sa%^_o$!liJNIqI_)_)zwx}6e|Lhr69Gn?q3k#9A$;(x>^6lHYq$@g zYSRoS33(=?*)!*dE6sjr_T|K+_R$2u*!M5$(_0o!VFAno0jXLrek4MugcLN-!eRC0bFjCK^fK${bMZN(6*w zC;&2_99Cn?@96PFW2V4TC{>R!Zej;H{nP2NAjy8bc1}FUmQ1px{+{Xv$m^;aTcj-n zhtM$23lyIZcY%q>dbFc|w^*;$N8Qf;3~{gSsVxa>=(cK8HzQxTw!Dv%zaiptL(=NV zAm2GOFp-dCudhEiwQw#qe<%(&MIXvY&WTO@%6_*SN%an>(Kz|q`)81kvm=;BHo;rz zaoFBVYi-1_T1K%QVy*xF^jVVV9fv-%YoZ(MFVJy3UcvV~VZ&0cg}8DE0tFjHL(o5< ze#H`55!Wxc_-|G(-vg0ej~Ko=ih$U=!}e~_1nIB+xh-e9aB*>gm00!6Aw-&p4#opV zEUkh!H}nfO+uod^`q+;IIt*lNl(dN-|CS~@RvgdE4J#`*l~*WjJ}<)wNH=4>0WLbf1Pz}T$- z=`D&fs8OY2z4nF@GEw~*;Sl*fv4s#>&3WkD<_m4af5P{jCoZu9qF5!M`A2;^o_ThTjFn&PvJJX7BatLpF@-8H9wn)lGC% ztIjruNdtjY@@l*SqylCWrqG}ZbTD-|htsu9&us}Q?R|&~i)QkVGvXEB0TvnPD3bCS zEFH<$C#L=zXA{en>Y`Nome04m>Zq+R*hCPV=<1FX$w$fi3zpm4O?E>40f=mQGf(U) zH}{6X1Q3UKenZ{km}60BTnoYb2l`RKDbMrD?@cFwV%!f4-d?u+ zT(3Nopz-7|v-(pKqtL(~nK9_FG7oZwY)za&z0B@u{#eb3G)l5*4%0bo#OY{+ChHzaGp|KTuLRtwT6!o zTwLfvQ2?5GK~%{EDX^6g2yaYIWqDU$qI$>@LkiQu9(u=YF`P^`j70;`;?9rDY!=0$I(bv6}cP^XICGnj!m zl(*C4t|hyFlHyvZz*a~NzMCXyP}qcRa;!T{R3=RH)(LxtI?(Wi74ZeO-TT0m*)`e30k zPYfBjX_uSt*O)*(*Q42mm&Xll zwn?zCHR=dL3>UMVmX85Bgla5mSW^)Jhs2i_quTlg@J#0L*of!J0{Wk)M_+-Z@!M&2 zad;J<1W{WEB*3lp%Ws(>&3uPZr=;Ry%dy?b;*Iyu51fuc$HazKt6$6K9IC9CUiFXE z96kcKO3_YY-i@`qNq-SA(EvXn<{OlQhVrGTqgv0n67sKuHSwFs1zmMFax|W+kqy9Q zhtpza(r1mV5=C}qqmd6t4me zvzzyR$UUU9TaBm%I}4yxOGZC@6^P~o=hnU?-=%j&S#!Y; z@?jz}qo+an6MG+`J`;t?6a5%|OK8aSHMFhT^u-N);_HDT!=OAL>kcW`Mlv@=Rdk2? zc9dpTZDjmL1Qg{-&Y!y>m{WMz;IwDZWfjTdTPMU4NhYqXSR`rFnP57+787rpo(`A~ z@AW}Z8Hdq!N|8RYAP0mX(lAV5AlMBCBQsxt7l63>v&2w81YB{%4-Qx;S_OQXF+tO> zVKQ3xF;&a5PmO{{3%!|LgG9P9@6$yauKx(7aDJWuEQug!>^{tx5n{>;AOVyZ@|xv8 zg8JK=JY7_QbNi!$c&JMB_(`Y}o^Bcr91Q!fe4+3}#W(sJv7H6GyP(w*Qqoj7+-^v+CH{p{g*fTM+RN7%L z_4EE$>?Bo_3rU^Aw!;SNj>_biR$Z)-U=M-g#_CIup9RKR)v88WEyRvs?26mjKSUqp z-+0dQS*|h3BmH(cp8anr+Z5^*0^>0O`g7S^xp( Y$O4VgeR|~rvZsd>Q$l_#!$6$k%h% zD-DKH0B4xRG4RJQ{$gK-kl+)mMkSUE8Z#eb{8ZyTRdLpvATZ?%JZ7^Q5ajk`#*H{J z@?W6b#wGCb^UB+KdAm3vX^hlMg(Kyd&gWt(7F-2vm(JwqDKs176uI30RR_#9#6v}&t8r}#!cWm<6|1Wg)XwpE55 qo{eF$E+*13{r~`dZx= "4.4.0") + auto <- "TRUE" + if (auto %in% c("TRUE", "True", "true", "1")) return(renv_bootstrap_platform_prefix_auto()) @@ -801,24 +842,23 @@ local({ # 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"]])) { + dev <- identical(description[["RemoteType"]], "github") + remote <- if (dev) paste("rstudio/renv", description[["RemoteSha"]], sep = "@") - } else { + else paste("renv", description[["Version"]], sep = "@") - } # display both loaded version + sha if available friendly <- renv_bootstrap_version_friendly( version = description[["Version"]], - sha = description[["RemoteSha"]] + sha = if (dev) 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.", - sep = "\n" - ) + fmt <- heredoc(" + 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. + ") catf(fmt, friendly, renv_bootstrap_version_friendly(version), remote) FALSE @@ -1041,7 +1081,7 @@ local({ # if jsonlite is loaded, use that instead if ("jsonlite" %in% loadedNamespaces()) { - json <- catch(renv_json_read_jsonlite(file, text)) + json <- tryCatch(renv_json_read_jsonlite(file, text), error = identity) if (!inherits(json, "error")) return(json) @@ -1050,7 +1090,7 @@ local({ } # otherwise, fall back to the default JSON reader - json <- catch(renv_json_read_default(file, text)) + json <- tryCatch(renv_json_read_default(file, text), error = identity) if (!inherits(json, "error")) return(json) @@ -1063,14 +1103,14 @@ local({ } renv_json_read_jsonlite <- function(file = NULL, text = NULL) { - text <- paste(text %||% read(file), collapse = "\n") + text <- paste(text %||% readLines(file, warn = FALSE), 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") + text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") pattern <- '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' locs <- gregexpr(pattern, text, perl = TRUE)[[1]] @@ -1118,14 +1158,14 @@ local({ map <- as.list(map) # remap strings in object - remapped <- renv_json_remap(json, map) + remapped <- renv_json_read_remap(json, map) # evaluate eval(remapped, envir = baseenv()) } - renv_json_remap <- function(json, map) { + renv_json_read_remap <- function(json, map) { # fix names if (!is.null(names(json))) { @@ -1152,7 +1192,7 @@ local({ # recurse if (is.recursive(json)) { for (i in seq_along(json)) { - json[i] <- list(renv_json_remap(json[[i]], map)) + json[i] <- list(renv_json_read_remap(json[[i]], map)) } } diff --git a/renv/profiles/4.2/renv.lock b/renv/profiles/4.2/renv.lock index 885895ef..a456139d 100644 --- a/renv/profiles/4.2/renv.lock +++ b/renv/profiles/4.2/renv.lock @@ -17,7 +17,7 @@ "Package": "R.cache", "Version": "0.16.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "R.methodsS3", @@ -32,7 +32,7 @@ "Package": "R.methodsS3", "Version": "1.8.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "utils" @@ -43,7 +43,7 @@ "Package": "R.oo", "Version": "1.26.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "R.methodsS3", @@ -56,7 +56,7 @@ "Package": "R.utils", "Version": "2.12.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "R.methodsS3", @@ -71,7 +71,7 @@ "Package": "R6", "Version": "2.5.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -81,7 +81,7 @@ "Package": "Rcpp", "Version": "1.0.10", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "methods", "utils" @@ -92,7 +92,7 @@ "Package": "askpass", "Version": "1.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "sys" ], @@ -102,7 +102,7 @@ "Package": "assertthat", "Version": "0.2.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "tools" ], @@ -112,7 +112,7 @@ "Package": "backports", "Version": "1.4.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -122,7 +122,7 @@ "Package": "base64enc", "Version": "0.1-3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -132,7 +132,7 @@ "Package": "bit", "Version": "4.0.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -142,7 +142,7 @@ "Package": "bit64", "Version": "4.0.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "bit", @@ -156,21 +156,21 @@ "Package": "brew", "Version": "1.0-8", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "d69a786e85775b126bddbee185ae6084" }, "brio": { "Package": "brio", "Version": "1.1.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "976cf154dfb043c012d87cddd8bca363" }, "bslib": { "Package": "bslib", "Version": "0.4.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "base64enc", @@ -190,7 +190,7 @@ "Package": "cachem", "Version": "1.0.7", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "fastmap", "rlang" @@ -201,7 +201,7 @@ "Package": "callr", "Version": "3.7.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -214,7 +214,7 @@ "Package": "checkmate", "Version": "2.1.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "backports", @@ -226,7 +226,7 @@ "Package": "cli", "Version": "3.6.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "utils" @@ -237,7 +237,7 @@ "Package": "clipr", "Version": "0.8.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "utils" ], @@ -247,21 +247,21 @@ "Package": "commonmark", "Version": "1.8.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "b6e3e947d1d7ebf3d2bdcea1bde63fe7" }, "cpp11": { "Package": "cpp11", "Version": "0.4.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "ed588261931ee3be2c700d22e94a29ab" }, "crayon": { "Package": "crayon", "Version": "1.5.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "grDevices", "methods", @@ -273,7 +273,7 @@ "Package": "credentials", "Version": "1.3.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "askpass", "curl", @@ -287,7 +287,7 @@ "Package": "curl", "Version": "5.0.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -297,7 +297,7 @@ "Package": "desc", "Version": "1.4.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -311,7 +311,7 @@ "Package": "devtools", "Version": "2.4.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -345,7 +345,7 @@ "Package": "diffobj", "Version": "0.3.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "crayon", @@ -360,7 +360,7 @@ "Package": "digest", "Version": "0.6.31", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "utils" @@ -371,7 +371,7 @@ "Package": "downlit", "Version": "0.4.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "brio", @@ -391,7 +391,7 @@ "Package": "dplyr", "Version": "1.1.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -414,7 +414,7 @@ "Package": "ellipsis", "Version": "0.3.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "rlang" @@ -425,7 +425,7 @@ "Package": "evaluate", "Version": "0.20", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "methods" @@ -436,7 +436,7 @@ "Package": "fansi", "Version": "1.0.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "grDevices", @@ -448,14 +448,14 @@ "Package": "fastmap", "Version": "1.1.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "f7736a18de97dea803bde0a2daaafb27" }, "fontawesome": { "Package": "fontawesome", "Version": "0.5.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "htmltools", @@ -467,7 +467,7 @@ "Package": "fs", "Version": "1.6.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "methods" @@ -478,7 +478,7 @@ "Package": "generics", "Version": "0.1.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "methods" @@ -489,7 +489,7 @@ "Package": "gert", "Version": "1.9.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "askpass", "credentials", @@ -504,7 +504,7 @@ "Package": "gh", "Version": "1.4.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -520,7 +520,7 @@ "Package": "git2r", "Version": "0.31.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "graphics", @@ -532,7 +532,7 @@ "Package": "gitcreds", "Version": "0.1.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -542,7 +542,7 @@ "Package": "glue", "Version": "1.6.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "methods" @@ -553,7 +553,7 @@ "Package": "highr", "Version": "0.10", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "xfun" @@ -564,7 +564,7 @@ "Package": "hms", "Version": "1.1.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "ellipsis", "lifecycle", @@ -579,7 +579,7 @@ "Package": "htmltools", "Version": "0.5.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "base64enc", @@ -596,7 +596,7 @@ "Package": "htmlwidgets", "Version": "1.6.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "grDevices", "htmltools", @@ -611,7 +611,7 @@ "Package": "httpuv", "Version": "1.6.9", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -626,7 +626,7 @@ "Package": "httr", "Version": "1.4.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -641,7 +641,7 @@ "Package": "httr2", "Version": "0.2.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -660,7 +660,7 @@ "Package": "hunspell", "Version": "3.0.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "Rcpp", @@ -672,14 +672,14 @@ "Package": "ini", "Version": "0.3.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "6154ec2223172bce8162d4153cda21f7" }, "jquerylib": { "Package": "jquerylib", "Version": "0.1.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "htmltools" ], @@ -689,7 +689,7 @@ "Package": "jsonlite", "Version": "1.8.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "methods" ], @@ -699,7 +699,7 @@ "Package": "knitr", "Version": "1.42", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "evaluate", @@ -715,7 +715,7 @@ "Package": "later", "Version": "1.3.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "Rcpp", "rlang" @@ -726,7 +726,7 @@ "Package": "lifecycle", "Version": "1.0.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -739,7 +739,7 @@ "Package": "lubridate", "Version": "1.9.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "generics", @@ -752,7 +752,7 @@ "Package": "magrittr", "Version": "2.0.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -762,7 +762,7 @@ "Package": "memoise", "Version": "2.0.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "cachem", "rlang" @@ -773,7 +773,7 @@ "Package": "mime", "Version": "0.12", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "tools" ], @@ -783,7 +783,7 @@ "Package": "miniUI", "Version": "0.1.1.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "htmltools", "shiny", @@ -795,7 +795,7 @@ "Package": "openssl", "Version": "2.0.6", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "askpass" ], @@ -805,7 +805,7 @@ "Package": "pillar", "Version": "1.8.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "cli", "fansi", @@ -822,7 +822,7 @@ "Package": "pkgbuild", "Version": "1.4.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -841,7 +841,7 @@ "Package": "pkgconfig", "Version": "2.0.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "utils" ], @@ -851,7 +851,7 @@ "Package": "pkgdown", "Version": "2.0.7", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "bslib", @@ -881,7 +881,7 @@ "Package": "pkgload", "Version": "1.3.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -901,21 +901,21 @@ "Package": "praise", "Version": "1.0.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "a555924add98c99d2f411e37e7d25e9f" }, "prettyunits": { "Package": "prettyunits", "Version": "1.1.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "95ef9167b75dde9d2ccc3c7528393e7e" }, "processx": { "Package": "processx", "Version": "3.8.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -928,7 +928,7 @@ "Package": "profvis", "Version": "0.3.7", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "htmlwidgets", @@ -940,7 +940,7 @@ "Package": "progress", "Version": "1.2.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R6", "crayon", @@ -953,7 +953,7 @@ "Package": "promises", "Version": "1.2.0.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R6", "Rcpp", @@ -968,7 +968,7 @@ "Package": "ps", "Version": "1.7.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "utils" @@ -979,7 +979,7 @@ "Package": "purrr", "Version": "1.0.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -994,7 +994,7 @@ "Package": "ragg", "Version": "1.2.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "systemfonts", "textshaping" @@ -1005,7 +1005,7 @@ "Package": "rappdirs", "Version": "0.3.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -1015,7 +1015,7 @@ "Package": "rcmdcheck", "Version": "1.4.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R6", "callr", @@ -1037,7 +1037,7 @@ "Package": "readr", "Version": "2.1.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -1060,7 +1060,7 @@ "Package": "rematch2", "Version": "2.1.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "tibble" ], @@ -1070,7 +1070,7 @@ "Package": "remotes", "Version": "2.5.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "methods", @@ -1082,19 +1082,19 @@ }, "renv": { "Package": "renv", - "Version": "1.0.3", + "Version": "1.0.7", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "utils" ], - "Hash": "41b847654f567341725473431dd0d5ab" + "Hash": "397b7b2a265bc5a7a06852524dabae20" }, "rlang": { "Package": "rlang", "Version": "1.1.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "utils" @@ -1105,7 +1105,7 @@ "Package": "rmarkdown", "Version": "2.20", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "bslib", @@ -1154,7 +1154,7 @@ "Package": "rprojroot", "Version": "2.0.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -1164,14 +1164,14 @@ "Package": "rstudioapi", "Version": "0.14", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "690bd2acc42a9166ce34845884459320" }, "rversions": { "Package": "rversions", "Version": "2.1.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "curl", "utils", @@ -1183,7 +1183,7 @@ "Package": "sass", "Version": "0.4.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R6", "fs", @@ -1197,7 +1197,7 @@ "Package": "sessioninfo", "Version": "1.2.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1210,7 +1210,7 @@ "Package": "shiny", "Version": "1.7.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -1244,7 +1244,7 @@ "Package": "sourcetools", "Version": "0.1.7-1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -1254,7 +1254,7 @@ "Package": "spelling", "Version": "2.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "commonmark", "hunspell", @@ -1300,7 +1300,7 @@ "Package": "stringi", "Version": "1.7.12", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "stats", @@ -1313,7 +1313,7 @@ "Package": "stringr", "Version": "1.5.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1349,14 +1349,14 @@ "Package": "sys", "Version": "3.4.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "34c16f1ef796057bfa06d3f4ff818a5d" }, "systemfonts": { "Package": "systemfonts", "Version": "1.0.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cpp11" @@ -1367,7 +1367,7 @@ "Package": "testthat", "Version": "3.1.7", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -1397,7 +1397,7 @@ "Package": "textshaping", "Version": "0.3.6", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cpp11", @@ -1409,7 +1409,7 @@ "Package": "tibble", "Version": "3.2.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "fansi", @@ -1428,7 +1428,7 @@ "Package": "tidyr", "Version": "1.3.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1451,7 +1451,7 @@ "Package": "tidyselect", "Version": "1.2.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1467,7 +1467,7 @@ "Package": "timechange", "Version": "0.2.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cpp11" @@ -1478,7 +1478,7 @@ "Package": "tinytex", "Version": "0.44", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "xfun" ], @@ -1488,7 +1488,7 @@ "Package": "tzdb", "Version": "0.3.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cpp11" @@ -1499,7 +1499,7 @@ "Package": "urlchecker", "Version": "1.0.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1513,7 +1513,7 @@ "Package": "usethis", "Version": "2.1.6", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1544,7 +1544,7 @@ "Package": "utf8", "Version": "1.2.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -1554,7 +1554,7 @@ "Package": "vctrs", "Version": "0.5.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1568,7 +1568,7 @@ "Package": "vroom", "Version": "1.6.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "bit64", @@ -1594,7 +1594,7 @@ "Package": "waldo", "Version": "0.4.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "cli", "diffobj", @@ -1611,14 +1611,14 @@ "Package": "whisker", "Version": "0.4.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "c6abfa47a46d281a7d5159d0a8891e88" }, "withr": { "Package": "withr", "Version": "2.5.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "grDevices", @@ -1631,7 +1631,7 @@ "Package": "xfun", "Version": "0.37", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "stats", "tools" @@ -1642,7 +1642,7 @@ "Package": "xml2", "Version": "1.3.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "methods" @@ -1653,7 +1653,7 @@ "Package": "xopen", "Version": "1.0.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "processx" @@ -1664,7 +1664,7 @@ "Package": "xtable", "Version": "1.8-4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "stats", @@ -1676,14 +1676,14 @@ "Package": "yaml", "Version": "2.3.7", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "0d0056cc5383fbc240ccd0cb584bf436" }, "zip": { "Package": "zip", "Version": "2.2.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "c42bfcec3fa6a0cce17ce1f8bc684f88" } } diff --git a/renv/profiles/4.3/renv.lock b/renv/profiles/4.3/renv.lock index ebc34e12..30fb9575 100644 --- a/renv/profiles/4.3/renv.lock +++ b/renv/profiles/4.3/renv.lock @@ -17,7 +17,7 @@ "Package": "R.cache", "Version": "0.16.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "R.methodsS3", @@ -32,7 +32,7 @@ "Package": "R.methodsS3", "Version": "1.8.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "utils" @@ -43,7 +43,7 @@ "Package": "R.oo", "Version": "1.26.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "R.methodsS3", @@ -56,7 +56,7 @@ "Package": "R.utils", "Version": "2.12.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "R.methodsS3", @@ -71,7 +71,7 @@ "Package": "R6", "Version": "2.5.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -81,7 +81,7 @@ "Package": "Rcpp", "Version": "1.0.10", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "methods", "utils" @@ -92,7 +92,7 @@ "Package": "askpass", "Version": "1.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "sys" ], @@ -102,7 +102,7 @@ "Package": "assertthat", "Version": "0.2.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "tools" ], @@ -112,7 +112,7 @@ "Package": "backports", "Version": "1.4.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -122,7 +122,7 @@ "Package": "base64enc", "Version": "0.1-3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -132,7 +132,7 @@ "Package": "bit", "Version": "4.0.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -142,7 +142,7 @@ "Package": "bit64", "Version": "4.0.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "bit", @@ -156,21 +156,21 @@ "Package": "brew", "Version": "1.0-8", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "d69a786e85775b126bddbee185ae6084" }, "brio": { "Package": "brio", "Version": "1.1.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "976cf154dfb043c012d87cddd8bca363" }, "bslib": { "Package": "bslib", "Version": "0.4.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "base64enc", @@ -190,7 +190,7 @@ "Package": "cachem", "Version": "1.0.7", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "fastmap", "rlang" @@ -201,7 +201,7 @@ "Package": "callr", "Version": "3.7.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -214,7 +214,7 @@ "Package": "checkmate", "Version": "2.1.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "backports", @@ -226,7 +226,7 @@ "Package": "cli", "Version": "3.6.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "utils" @@ -237,7 +237,7 @@ "Package": "clipr", "Version": "0.8.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "utils" ], @@ -247,21 +247,21 @@ "Package": "commonmark", "Version": "1.9.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "d691c61bff84bd63c383874d2d0c3307" }, "cpp11": { "Package": "cpp11", "Version": "0.4.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "ed588261931ee3be2c700d22e94a29ab" }, "crayon": { "Package": "crayon", "Version": "1.5.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "grDevices", "methods", @@ -273,7 +273,7 @@ "Package": "credentials", "Version": "1.3.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "askpass", "curl", @@ -287,7 +287,7 @@ "Package": "curl", "Version": "5.0.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -297,7 +297,7 @@ "Package": "desc", "Version": "1.4.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -311,7 +311,7 @@ "Package": "devtools", "Version": "2.4.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -345,7 +345,7 @@ "Package": "diffobj", "Version": "0.3.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "crayon", @@ -360,7 +360,7 @@ "Package": "digest", "Version": "0.6.31", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "utils" @@ -371,7 +371,7 @@ "Package": "downlit", "Version": "0.4.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "brio", @@ -391,7 +391,7 @@ "Package": "dplyr", "Version": "1.1.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -414,7 +414,7 @@ "Package": "ellipsis", "Version": "0.3.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "rlang" @@ -425,7 +425,7 @@ "Package": "evaluate", "Version": "0.20", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "methods" @@ -436,7 +436,7 @@ "Package": "fansi", "Version": "1.0.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "grDevices", @@ -448,14 +448,14 @@ "Package": "fastmap", "Version": "1.1.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "f7736a18de97dea803bde0a2daaafb27" }, "fontawesome": { "Package": "fontawesome", "Version": "0.5.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "htmltools", @@ -467,7 +467,7 @@ "Package": "fs", "Version": "1.6.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "methods" @@ -478,7 +478,7 @@ "Package": "generics", "Version": "0.1.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "methods" @@ -489,7 +489,7 @@ "Package": "gert", "Version": "1.9.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "askpass", "credentials", @@ -504,7 +504,7 @@ "Package": "gh", "Version": "1.4.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -520,7 +520,7 @@ "Package": "git2r", "Version": "0.32.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "graphics", @@ -532,7 +532,7 @@ "Package": "gitcreds", "Version": "0.1.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -542,7 +542,7 @@ "Package": "glue", "Version": "1.6.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "methods" @@ -553,7 +553,7 @@ "Package": "highr", "Version": "0.10", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "xfun" @@ -564,7 +564,7 @@ "Package": "hms", "Version": "1.1.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "lifecycle", "methods", @@ -578,7 +578,7 @@ "Package": "htmltools", "Version": "0.5.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "base64enc", @@ -595,7 +595,7 @@ "Package": "htmlwidgets", "Version": "1.6.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "grDevices", "htmltools", @@ -610,7 +610,7 @@ "Package": "httpuv", "Version": "1.6.9", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -625,7 +625,7 @@ "Package": "httr", "Version": "1.4.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -640,7 +640,7 @@ "Package": "httr2", "Version": "0.2.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -659,7 +659,7 @@ "Package": "hunspell", "Version": "3.0.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "Rcpp", @@ -671,14 +671,14 @@ "Package": "ini", "Version": "0.3.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "6154ec2223172bce8162d4153cda21f7" }, "jquerylib": { "Package": "jquerylib", "Version": "0.1.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "htmltools" ], @@ -688,7 +688,7 @@ "Package": "jsonlite", "Version": "1.8.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "methods" ], @@ -698,7 +698,7 @@ "Package": "knitr", "Version": "1.42", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "evaluate", @@ -714,7 +714,7 @@ "Package": "later", "Version": "1.3.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "Rcpp", "rlang" @@ -725,7 +725,7 @@ "Package": "lifecycle", "Version": "1.0.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -738,7 +738,7 @@ "Package": "lubridate", "Version": "1.9.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "generics", @@ -751,7 +751,7 @@ "Package": "magrittr", "Version": "2.0.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -761,7 +761,7 @@ "Package": "memoise", "Version": "2.0.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "cachem", "rlang" @@ -772,7 +772,7 @@ "Package": "mime", "Version": "0.12", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "tools" ], @@ -782,7 +782,7 @@ "Package": "miniUI", "Version": "0.1.1.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "htmltools", "shiny", @@ -794,7 +794,7 @@ "Package": "openssl", "Version": "2.0.6", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "askpass" ], @@ -804,7 +804,7 @@ "Package": "pillar", "Version": "1.9.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "cli", "fansi", @@ -821,7 +821,7 @@ "Package": "pkgbuild", "Version": "1.4.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -840,7 +840,7 @@ "Package": "pkgconfig", "Version": "2.0.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "utils" ], @@ -850,7 +850,7 @@ "Package": "pkgdown", "Version": "2.0.7", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "bslib", @@ -880,7 +880,7 @@ "Package": "pkgload", "Version": "1.3.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -900,21 +900,21 @@ "Package": "praise", "Version": "1.0.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "a555924add98c99d2f411e37e7d25e9f" }, "prettyunits": { "Package": "prettyunits", "Version": "1.1.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "95ef9167b75dde9d2ccc3c7528393e7e" }, "processx": { "Package": "processx", "Version": "3.8.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -927,7 +927,7 @@ "Package": "profvis", "Version": "0.3.7", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "htmlwidgets", @@ -939,7 +939,7 @@ "Package": "progress", "Version": "1.2.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R6", "crayon", @@ -952,7 +952,7 @@ "Package": "promises", "Version": "1.2.0.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R6", "Rcpp", @@ -967,7 +967,7 @@ "Package": "ps", "Version": "1.7.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "utils" @@ -978,7 +978,7 @@ "Package": "purrr", "Version": "1.0.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -993,7 +993,7 @@ "Package": "ragg", "Version": "1.2.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "systemfonts", "textshaping" @@ -1004,7 +1004,7 @@ "Package": "rappdirs", "Version": "0.3.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -1014,7 +1014,7 @@ "Package": "rcmdcheck", "Version": "1.4.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R6", "callr", @@ -1036,7 +1036,7 @@ "Package": "readr", "Version": "2.1.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -1059,7 +1059,7 @@ "Package": "rematch2", "Version": "2.1.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "tibble" ], @@ -1069,7 +1069,7 @@ "Package": "remotes", "Version": "2.5.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "methods", @@ -1081,19 +1081,19 @@ }, "renv": { "Package": "renv", - "Version": "1.0.3", + "Version": "1.0.7", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "utils" ], - "Hash": "41b847654f567341725473431dd0d5ab" + "Hash": "397b7b2a265bc5a7a06852524dabae20" }, "rlang": { "Package": "rlang", "Version": "1.1.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "utils" @@ -1104,7 +1104,7 @@ "Package": "rmarkdown", "Version": "2.21", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "bslib", @@ -1154,7 +1154,7 @@ "Package": "rprojroot", "Version": "2.0.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -1164,14 +1164,14 @@ "Package": "rstudioapi", "Version": "0.14", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "690bd2acc42a9166ce34845884459320" }, "rversions": { "Package": "rversions", "Version": "2.1.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "curl", "utils", @@ -1183,7 +1183,7 @@ "Package": "sass", "Version": "0.4.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R6", "fs", @@ -1197,7 +1197,7 @@ "Package": "sessioninfo", "Version": "1.2.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1210,7 +1210,7 @@ "Package": "shiny", "Version": "1.7.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -1244,7 +1244,7 @@ "Package": "sourcetools", "Version": "0.1.7-1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -1254,7 +1254,7 @@ "Package": "spelling", "Version": "2.2.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "commonmark", "hunspell", @@ -1300,7 +1300,7 @@ "Package": "stringi", "Version": "1.7.12", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "stats", @@ -1313,7 +1313,7 @@ "Package": "stringr", "Version": "1.5.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1349,14 +1349,14 @@ "Package": "sys", "Version": "3.4.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "34c16f1ef796057bfa06d3f4ff818a5d" }, "systemfonts": { "Package": "systemfonts", "Version": "1.0.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cpp11" @@ -1367,7 +1367,7 @@ "Package": "testthat", "Version": "3.1.7", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "R6", @@ -1397,7 +1397,7 @@ "Package": "textshaping", "Version": "0.3.6", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cpp11", @@ -1409,7 +1409,7 @@ "Package": "tibble", "Version": "3.2.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "fansi", @@ -1428,7 +1428,7 @@ "Package": "tidyr", "Version": "1.3.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1451,7 +1451,7 @@ "Package": "tidyselect", "Version": "1.2.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1467,7 +1467,7 @@ "Package": "timechange", "Version": "0.2.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cpp11" @@ -1478,7 +1478,7 @@ "Package": "tinytex", "Version": "0.45", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "xfun" ], @@ -1488,7 +1488,7 @@ "Package": "tzdb", "Version": "0.3.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cpp11" @@ -1499,7 +1499,7 @@ "Package": "urlchecker", "Version": "1.0.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1513,7 +1513,7 @@ "Package": "usethis", "Version": "2.1.6", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1544,7 +1544,7 @@ "Package": "utf8", "Version": "1.2.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R" ], @@ -1554,7 +1554,7 @@ "Package": "vctrs", "Version": "0.6.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "cli", @@ -1568,7 +1568,7 @@ "Package": "vroom", "Version": "1.6.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "bit64", @@ -1594,7 +1594,7 @@ "Package": "waldo", "Version": "0.4.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "cli", "diffobj", @@ -1611,14 +1611,14 @@ "Package": "whisker", "Version": "0.4.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "c6abfa47a46d281a7d5159d0a8891e88" }, "withr": { "Package": "withr", "Version": "2.5.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "grDevices", @@ -1631,7 +1631,7 @@ "Package": "xfun", "Version": "0.38", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "stats", "tools" @@ -1642,7 +1642,7 @@ "Package": "xml2", "Version": "1.3.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "methods" @@ -1653,7 +1653,7 @@ "Package": "xopen", "Version": "1.0.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "processx" @@ -1664,7 +1664,7 @@ "Package": "xtable", "Version": "1.8-4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Requirements": [ "R", "stats", @@ -1676,14 +1676,14 @@ "Package": "yaml", "Version": "2.3.7", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "0d0056cc5383fbc240ccd0cb584bf436" }, "zip": { "Package": "zip", "Version": "2.3.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "repos", "Hash": "d98c94dacb7e0efcf83b0a133a705504" } } diff --git a/renv/profiles/4.4/renv.lock b/renv/profiles/4.4/renv.lock new file mode 100644 index 00000000..ec45f2c2 --- /dev/null +++ b/renv/profiles/4.4/renv.lock @@ -0,0 +1,538 @@ +{ + "R": { + "Version": "4.4.0", + "Repositories": [ + { + "Name": "CRAN", + "URL": "https://packagemanager.posit.co/cran/latest" + } + ] + }, + "Packages": { + "R6": { + "Package": "R6", + "Version": "2.5.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "470851b6d5d0ac559e9d01bb352b4021" + }, + "admiraldev": { + "Package": "admiraldev", + "Version": "1.0.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "dplyr", + "hms", + "lifecycle", + "lubridate", + "magrittr", + "purrr", + "rlang", + "stringr", + "tidyr", + "tidyselect" + ], + "Hash": "4ab0476ca36f502f6cdd2080f8d0f261" + }, + "assertthat": { + "Package": "assertthat", + "Version": "0.2.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "tools" + ], + "Hash": "50c838a310445e954bc13f26f26a6ecf" + }, + "bit": { + "Package": "bit", + "Version": "4.0.5", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "d242abec29412ce988848d0294b208fd" + }, + "bit64": { + "Package": "bit64", + "Version": "4.0.5", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "bit", + "methods", + "stats", + "utils" + ], + "Hash": "9fe98599ca456d6552421db0d6772d8f" + }, + "cachem": { + "Package": "cachem", + "Version": "1.0.8", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "fastmap", + "rlang" + ], + "Hash": "c35768291560ce302c0a6589f92e837d" + }, + "cli": { + "Package": "cli", + "Version": "3.6.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "utils" + ], + "Hash": "1216ac65ac55ec0058a6f75d7ca0fd52" + }, + "clipr": { + "Package": "clipr", + "Version": "0.8.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "utils" + ], + "Hash": "3f038e5ac7f41d4ac41ce658c85e3042" + }, + "cpp11": { + "Package": "cpp11", + "Version": "0.4.7", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "5a295d7d963cc5035284dcdbaf334f4e" + }, + "crayon": { + "Package": "crayon", + "Version": "1.5.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "grDevices", + "methods", + "utils" + ], + "Hash": "e8a1e41acf02548751f45c718d55aa6a" + }, + "dplyr": { + "Package": "dplyr", + "Version": "1.1.4", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "R6", + "cli", + "generics", + "glue", + "lifecycle", + "magrittr", + "methods", + "pillar", + "rlang", + "tibble", + "tidyselect", + "utils", + "vctrs" + ], + "Hash": "fedd9d00c2944ff00a0e2696ccf048ec" + }, + "fansi": { + "Package": "fansi", + "Version": "1.0.6", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "grDevices", + "utils" + ], + "Hash": "962174cf2aeb5b9eea581522286a911f" + }, + "fastmap": { + "Package": "fastmap", + "Version": "1.1.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "f7736a18de97dea803bde0a2daaafb27" + }, + "generics": { + "Package": "generics", + "Version": "0.1.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "methods" + ], + "Hash": "15e9634c0fcd294799e9b2e929ed1b86" + }, + "glue": { + "Package": "glue", + "Version": "1.7.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "methods" + ], + "Hash": "e0b3a53876554bd45879e596cdb10a52" + }, + "hms": { + "Package": "hms", + "Version": "1.1.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "lifecycle", + "methods", + "pkgconfig", + "rlang", + "vctrs" + ], + "Hash": "b59377caa7ed00fa41808342002138f9" + }, + "lifecycle": { + "Package": "lifecycle", + "Version": "1.0.4", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cli", + "glue", + "rlang" + ], + "Hash": "b8552d117e1b808b09a832f589b79035" + }, + "lubridate": { + "Package": "lubridate", + "Version": "1.9.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "generics", + "methods", + "timechange" + ], + "Hash": "680ad542fbcf801442c83a6ac5a2126c" + }, + "magrittr": { + "Package": "magrittr", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "7ce2733a9826b3aeb1775d56fd305472" + }, + "memoise": { + "Package": "memoise", + "Version": "2.0.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "cachem", + "rlang" + ], + "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c" + }, + "pillar": { + "Package": "pillar", + "Version": "1.9.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "cli", + "fansi", + "glue", + "lifecycle", + "rlang", + "utf8", + "utils", + "vctrs" + ], + "Hash": "15da5a8412f317beeee6175fbc76f4bb" + }, + "pkgconfig": { + "Package": "pkgconfig", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "utils" + ], + "Hash": "01f28d4278f15c76cddbea05899c5d6f" + }, + "prettyunits": { + "Package": "prettyunits", + "Version": "1.2.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "6b01fc98b1e86c4f705ce9dcfd2f57c7" + }, + "progress": { + "Package": "progress", + "Version": "1.2.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "R6", + "crayon", + "hms", + "prettyunits" + ], + "Hash": "f4625e061cb2865f111b47ff163a5ca6" + }, + "purrr": { + "Package": "purrr", + "Version": "1.0.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cli", + "lifecycle", + "magrittr", + "rlang", + "vctrs" + ], + "Hash": "1cba04a4e9414bdefc9dcaa99649a8dc" + }, + "readr": { + "Package": "readr", + "Version": "2.1.5", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "R6", + "cli", + "clipr", + "cpp11", + "crayon", + "hms", + "lifecycle", + "methods", + "rlang", + "tibble", + "tzdb", + "utils", + "vroom" + ], + "Hash": "9de96463d2117f6ac49980577939dfb3" + }, + "renv": { + "Package": "renv", + "Version": "1.0.7", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "utils" + ], + "Hash": "397b7b2a265bc5a7a06852524dabae20" + }, + "rlang": { + "Package": "rlang", + "Version": "1.1.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "utils" + ], + "Hash": "42548638fae05fd9a9b5f3f437fbbbe2" + }, + "stringi": { + "Package": "stringi", + "Version": "1.8.4", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "stats", + "tools", + "utils" + ], + "Hash": "39e1144fd75428983dc3f63aa53dfa91" + }, + "stringr": { + "Package": "stringr", + "Version": "1.5.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cli", + "glue", + "lifecycle", + "magrittr", + "rlang", + "stringi", + "vctrs" + ], + "Hash": "960e2ae9e09656611e0b8214ad543207" + }, + "tibble": { + "Package": "tibble", + "Version": "3.2.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "fansi", + "lifecycle", + "magrittr", + "methods", + "pillar", + "pkgconfig", + "rlang", + "utils", + "vctrs" + ], + "Hash": "a84e2cc86d07289b3b6f5069df7a004c" + }, + "tidyr": { + "Package": "tidyr", + "Version": "1.3.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cli", + "cpp11", + "dplyr", + "glue", + "lifecycle", + "magrittr", + "purrr", + "rlang", + "stringr", + "tibble", + "tidyselect", + "utils", + "vctrs" + ], + "Hash": "915fb7ce036c22a6a33b5a8adb712eb1" + }, + "tidyselect": { + "Package": "tidyselect", + "Version": "1.2.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cli", + "glue", + "lifecycle", + "rlang", + "vctrs", + "withr" + ], + "Hash": "829f27b9c4919c16b593794a6344d6c0" + }, + "timechange": { + "Package": "timechange", + "Version": "0.3.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cpp11" + ], + "Hash": "c5f3c201b931cd6474d17d8700ccb1c8" + }, + "tzdb": { + "Package": "tzdb", + "Version": "0.4.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cpp11" + ], + "Hash": "f561504ec2897f4d46f0c7657e488ae1" + }, + "utf8": { + "Package": "utf8", + "Version": "1.2.4", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "62b65c52671e6665f803ff02954446e9" + }, + "vctrs": { + "Package": "vctrs", + "Version": "0.6.5", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "cli", + "glue", + "lifecycle", + "rlang" + ], + "Hash": "c03fa420630029418f7e6da3667aac4a" + }, + "vroom": { + "Package": "vroom", + "Version": "1.6.5", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "bit64", + "cli", + "cpp11", + "crayon", + "glue", + "hms", + "lifecycle", + "methods", + "progress", + "rlang", + "stats", + "tibble", + "tidyselect", + "tzdb", + "vctrs", + "withr" + ], + "Hash": "390f9315bc0025be03012054103d227c" + }, + "withr": { + "Package": "withr", + "Version": "3.0.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "grDevices", + "graphics" + ], + "Hash": "d31b6c62c10dcf11ec530ca6b0dd5d35" + } + } +} diff --git a/renv/profiles/4.4/renv/.gitignore b/renv/profiles/4.4/renv/.gitignore new file mode 100644 index 00000000..0ec0cbba --- /dev/null +++ b/renv/profiles/4.4/renv/.gitignore @@ -0,0 +1,7 @@ +library/ +local/ +cellar/ +lock/ +python/ +sandbox/ +staging/ diff --git a/renv/profiles/4.4/renv/settings.json b/renv/profiles/4.4/renv/settings.json new file mode 100644 index 00000000..74c1d4bb --- /dev/null +++ b/renv/profiles/4.4/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": "explicit", + "use.cache": true, + "vcs.ignore.cellar": true, + "vcs.ignore.library": true, + "vcs.ignore.local": true, + "vcs.manage.ignores": true +}