From 677ca4bbd57a978b56748eab6866ded56fd728ba Mon Sep 17 00:00:00 2001 From: Emil Hvitfeldt Date: Tue, 11 Jun 2024 16:03:31 -0700 Subject: [PATCH 1/7] add recipes 1.1.0 post --- content/blog/recipes-1-1-0/index.Rmd | 239 ++++++++++++++ content/blog/recipes-1-1-0/index.md | 325 ++++++++++++++++++++ content/blog/recipes-1-1-0/thumbnail-sq.jpg | Bin 0 -> 57007 bytes content/blog/recipes-1-1-0/thumbnail-wd.jpg | Bin 0 -> 110500 bytes 4 files changed, 564 insertions(+) create mode 100644 content/blog/recipes-1-1-0/index.Rmd create mode 100644 content/blog/recipes-1-1-0/index.md create mode 100644 content/blog/recipes-1-1-0/thumbnail-sq.jpg create mode 100644 content/blog/recipes-1-1-0/thumbnail-wd.jpg diff --git a/content/blog/recipes-1-1-0/index.Rmd b/content/blog/recipes-1-1-0/index.Rmd new file mode 100644 index 000000000..49facd942 --- /dev/null +++ b/content/blog/recipes-1-1-0/index.Rmd @@ -0,0 +1,239 @@ +--- +output: hugodown::hugo_document + +slug: recipes-1-1-0 +title: recipes 1.1.0 +date: 2024-07-01 +author: Emil Hvitfeldt +description: > + recipes 1.1.0 is on CRAN! recipes now has better input checking and quality of life errors. + +photo: + url: https://unsplash.com/photos/close-up-photo-of-baked-cookies-OfdDiqx8Cz8 + author: Food Photographer | Jennifer Pallian + +# one of: "deep-dive", "learn", "package", "programming", "roundup", or "other" +categories: [package] +tags: [tidymodels, recipes] +--- + + + +We're thrilled to announce the release of [recipes](https://recipes.tidymodels.org/) 1.1.0. recipes lets you create a pipeable sequence of feature engineering steps. + +You can install it from CRAN with: + +```{r, eval = FALSE} +install.packages("recipes") +``` + +This blog post will go over some of the bigger changes in this release. + +You can see a full list of changes in the [release notes](https://github.com/tidymodels/recipes/releases/tag/v1.1.0). + +```{r setup, include = FALSE} +library(recipes) +``` + +## ptype information + +A [longtime issue](https://github.com/tidymodels/recipes/issues/793) in recipes comes from the fact that recipes didn't keep a [prototype](https://vctrs.r-lib.org/articles/type-size.html) (ptype) of the data it was specified with. This would cause unexpected things to happen or uninformative error messages to appear if different data was used to `prep()` than was used to specify it. + +In the below example, we specify a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any problems before, + +``` r +data_template <- tibble(outcome = rnorm(10), x1 = rnorm(10), x2 = sample(letters, 10, T)) + +rec <- recipe(outcome ~ ., data_template) %>% + step_bin2factor(all_numeric_predictors()) + +data_training <- tibble(outcome = rnorm(1000), x1 = rnorm(1000), x2 = rnorm(1000)) + +prep(rec, training = data_training) +#> +#> ── Recipe ────────────────────────────────────────────────────────────────────── +#> +#> ── Inputs +#> Number of variables by role +#> outcome: 1 +#> predictor: 2 +#> +#> ── Training information +#> Training data contained 1000 data points and no incomplete rows. +#> +#> ── Operations +#> • Dummy variable to factor conversion for: x1 | Trained +``` + +but now we get an error detailing how the data is different: + +```{r} +#| error: true +data_template <- tibble(outcome = rnorm(10), x1 = rnorm(10), x2 = sample(letters, 10, T)) + +rec <- recipe(outcome ~ ., data_template) %>% + step_bin2factor(all_numeric_predictors()) + +data_training <- tibble(outcome = rnorm(1000), x1 = rnorm(1000), x2 = rnorm(1000)) + +prep(rec, training = data_training) +``` + +In addition, we are exporting the two helper functions `recipes_ptype()` and `recipes_ptype_validate()` to extract and validate ptype information for a given recipe. + +```{r} +recipes_ptype(rec) +``` + +Note that recipes created before version 1.1.0 don't contain any ptype information, and will not undergo checking. Rerunning the code to specify the recipe will add ptype information to the recipe. + +## Input checking in recipe() + +Every recipe you create start with a call to `recipe()`. We have relaxed the requirements of data frames, while increasing the feedback when something goes wrong. + +The data was previously passed through `model.frame()` inside the recipe, which restricted what could be handled. Previously prohibited input included data frames with list-columns or [sf](https://r-spatial.github.io/sf/) data frames. Both of these are now supported, as long as they are a `data.frame` object. + +```{r} +data_listcolumn <- tibble( + y = 1:4, + x = list(1:3, 4:6, 3:1, 1:10) +) + +recipe(y ~ ., data = data_listcolumn) +``` + +```{r} +library(sf) +pathshp <- system.file("shape/nc.shp", package = "sf") +data_sf <- st_read(pathshp, quiet = TRUE) + +recipe(AREA ~ ., data = data_sf) +``` + +We are excited to see what people can do with these new options. + +Another way to specify a recipe is to use `add_role()` and `update_role()`. But if you are not careful, you can end up in situations where the same variable is labeled as both the outcome and predictor. + +```{r} +#| error: true +# didn't use to throw a warning +recipe(mtcars) |> + update_role(everything(), new_role = "predictor") |> + add_role("mpg", new_role = "outcome") +``` + +This specific problem can be dealt with using `update_role()` instead of `add_role()`. + +```{r} +recipe(mtcars) |> + update_role(everything(), new_role = "predictor") |> + update_role("mpg", new_role = "outcome") +``` + +## Long formulas in recipe() + +Related to the changes we saw above, we now fully support very long formulas without hitting a `C stack usage` error. + +```{r} +data_wide <- matrix(1:10000, ncol = 10000) +data_wide <- as.data.frame(data_wide) +names(data_wide) <- c(paste0("x", 1:10000)) + +long_formula <- as.formula(paste("~ ", paste(names(data_wide), collapse = " + "))) + +recipe(long_formula, data_wide) +``` + +## Better error for misspelled argument names + +If you have used recipes long enough you are very likely to have run into the following error: + +``` r +recipe(mpg ~ ., data = mtcars) |> + step_pca(all_numeric_predictors(), number = 4) |> + prep() +#> Error in `step_pca()`: +#> Caused by error in `prep()`: +#> ! Can't rename variables in this context. +``` + +and the first time you saw it, it didn't make much sense. Hopefully, you figured out that [step_pca()](https://recipes.tidymodels.org/reference/step_pca.html) doesn't have a `number` argument, and instead uses `num_comp` to determine the number of principal components to return. This confusion will be a thing of the past as we now include this improved error message: + +```{r} +#| error: true +recipe(mpg ~ ., data = mtcars) |> + step_pca(all_numeric_predictors(), number = 4) |> + prep() +``` + +## Quality of life increases in step_dummy() + +I would imagine that one of the most used steps is `step_dummy()`. We have improved the errors and warnings it spits out when things go sideways. + +If you apply `step_dummy()` to a variable that contains a lot of levels, it will produce a lot of columns, which depending on the size of your data won't fit in memory. This can lead to the following error: + +```r +data_id <- tibble( + id = as.character(1:100000), + x1 = rnorm(100000), + x2 = sample(letters, 100000, TRUE) +) + +recipe(~ ., data = data_id) |> + step_dummy(all_nominal_predictors()) |> + prep() +#> Error: vector memory exhausted (limit reached?) +``` + +Instead, you now get a more helpful error message. + +```{r} +#| error: true +data_id <- tibble( + id = as.character(1:100000), + x1 = rnorm(100000), + x2 = sample(letters, 100000, TRUE) +) + +recipe(~ ., data = data_id) |> + step_dummy(all_nominal_predictors()) |> + prep() +``` + +Likewise, you will get helpful errors if `step_dummy()` gets a `NA` or unseen values + +```{r} +data_train <- tibble(x = c("a", "b")) +data_unseen <- tibble(x = "c") + +rec_spec <- recipe(~., data = data_train) %>% + step_dummy(x) %>% + prep() + +rec_spec %>% + bake(data_unseen) +``` + +```{r} +data_na <- tibble(x = NA) + +rec_spec %>% + bake(data_na) +``` + +## Acknowledgements + +A big thank you to all the people who have contributed to recipes since the release of v1.0.10: + +[@brynhum](https://github.com/brynhum), [@DemetriPananos](https://github.com/DemetriPananos), [@diegoperoni](https://github.com/diegoperoni), [@EmilHvitfeldt](https://github.com/EmilHvitfeldt), [@JiahuaQu](https://github.com/JiahuaQu), [@joranE](https://github.com/joranE), [@nhward](https://github.com/nhward), [@olivroy](https://github.com/olivroy), and [@simonpcouch](https://github.com/simonpcouch). diff --git a/content/blog/recipes-1-1-0/index.md b/content/blog/recipes-1-1-0/index.md new file mode 100644 index 000000000..f8c69c912 --- /dev/null +++ b/content/blog/recipes-1-1-0/index.md @@ -0,0 +1,325 @@ +--- +output: hugodown::hugo_document + +slug: recipes-1-1-0 +title: recipes 1.1.0 +date: 2024-07-01 +author: Emil Hvitfeldt +description: > + recipes 1.1.0 is on CRAN! recipes now has better input checking and quality of life errors. + +photo: + url: https://unsplash.com/photos/close-up-photo-of-baked-cookies-OfdDiqx8Cz8 + author: Food Photographer | Jennifer Pallian + +# one of: "deep-dive", "learn", "package", "programming", "roundup", or "other" +categories: [package] +tags: [tidymodels, recipes] +rmd_hash: 2d6d3d7956133624 + +--- + + + +We're thrilled to announce the release of [recipes](https://recipes.tidymodels.org/) 1.1.0. censored is a parsnip extension package for survival models. + +You can install it from CRAN with: + +
+ +
install.packages("recipes")
+ +
+ +This blog post will go over some of the bigger changes in this release. + +You can see a full list of changes in the [release notes](https://github.com/tidymodels/recipes/releases/tag/v1.1.0). + +## ptype information + +A [longtime issue](https://github.com/tidymodels/recipes/issues/793) in recipes comes from the fact that recipes didn't keep a [prototype](https://vctrs.r-lib.org/articles/type-size.html) (ptype) of the data it was specified with. This would cause unexpected things to happen or uninformative error messages to appear if different data was used to [`prep()`](https://recipes.tidymodels.org/reference/prep.html) than was used to specify it. + +In the below example, we specify a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any problems before, + +``` r +data_template <- tibble(outcome = rnorm(10), x1 = rnorm(10), x2 = sample(letters, 10, T)) + +rec <- recipe(outcome ~ ., data_template) %>% + step_bin2factor(all_numeric_predictors()) + +data_training <- tibble(outcome = rnorm(1000), x1 = rnorm(1000), x2 = rnorm(1000)) + +prep(rec, training = data_training) +#> +#> ── Recipe ────────────────────────────────────────────────────────────────────── +#> +#> ── Inputs +#> Number of variables by role +#> outcome: 1 +#> predictor: 2 +#> +#> ── Training information +#> Training data contained 1000 data points and no incomplete rows. +#> +#> ── Operations +#> • Dummy variable to factor conversion for: x1 | Trained +``` + +but now we get an error detailing how the data is different: + +
+ +
data_template <- tibble(outcome = rnorm(10), x1 = rnorm(10), x2 = sample(letters, 10, T))
+
+rec <- recipe(outcome ~ ., data_template) %>%
+  step_bin2factor(all_numeric_predictors())
+
+data_training <- tibble(outcome = rnorm(1000), x1 = rnorm(1000), x2 = rnorm(1000))
+
+prep(rec, training = data_training)
+#> Error in `prep()`:
+#>  The following variable has the wrong class:
+#>  `x2` must have class <numeric>, not <character>.
+
+ +
+ +In addition, we are exporting the two helper functions [`recipes_ptype()`](https://recipes.tidymodels.org/reference/recipes_ptype.html) and [`recipes_ptype_validate()`](https://recipes.tidymodels.org/reference/recipes_ptype_validate.html) to extract and validate ptype information for a given recipe. + +
+ +
recipes_ptype(rec)
+#> # A tibble: 0 × 3
+#> # ℹ 3 variables: x1 <dbl>, x2 <chr>, outcome <dbl>
+
+ +
+ +Note that recipes created before version 1.1.0 don't contain any ptype information, and will not undergo checking. Rerunning the code to specify the recipe will add ptype information to the recipe. + +## Input checking in recipe() + +Every recipe you create start with a call to [`recipe()`](https://recipes.tidymodels.org/reference/recipe.html). We have relaxed the requirements of data frames, while increasing the feedback when something goes wrong. + +The data was previously passed through [`model.frame()`](https://rdrr.io/r/stats/model.frame.html) inside the recipe, which restricted what could be handled. Previously prohibited input included data frames with list-columns or [sf](https://r-spatial.github.io/sf/) data frames. Both of these are now supported, as long as they are a `data.frame` object. + +
+ +
data_listcolumn <- tibble(
+  y = 1:4,
+  x = list(1:3, 4:6, 3:1, 1:10)
+)
+
+recipe(y ~ ., data = data_listcolumn)
+#> 
+#> ── Recipe ──────────────────────────────────────────────────────────────────────
+#> 
+#> ── Inputs
+#> Number of variables by role
+#> outcome:   1
+#> predictor: 1
+
+ +
+ +
+ +
library(sf)
+#> Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE
+pathshp <- system.file("shape/nc.shp", package = "sf")
+data_sf <- st_read(pathshp, quiet = TRUE)
+
+recipe(AREA ~ ., data = data_sf)
+#> 
+#> ── Recipe ──────────────────────────────────────────────────────────────────────
+#> 
+#> ── Inputs
+#> Number of variables by role
+#> outcome:    1
+#> predictor: 14
+
+ +
+ +We are excited to see what people can do with these new options. + +Another way to specify a recipe is to use [`add_role()`](https://recipes.tidymodels.org/reference/roles.html) and [`update_role()`](https://recipes.tidymodels.org/reference/roles.html). But if you are not careful, you can end up in situations where the same variable is labeled as both the outcome and predictor. + +
+ +
# didn't use to throw a warning
+recipe(mtcars) |>
+  update_role(everything(), new_role = "predictor") |>
+  add_role("mpg", new_role = "outcome")
+#> Error in `add_role()`:
+#> ! `mpg` cannot get "outcome" role as it already has role "predictor".
+
+ +
+ +This specific problem can be dealt with using [`update_role()`](https://recipes.tidymodels.org/reference/roles.html) instead of [`add_role()`](https://recipes.tidymodels.org/reference/roles.html). + +
+ +
recipe(mtcars) |>
+  update_role(everything(), new_role = "predictor") |>
+  update_role("mpg", new_role = "outcome")
+#> 
+#> ── Recipe ──────────────────────────────────────────────────────────────────────
+#> 
+#> ── Inputs
+#> Number of variables by role
+#> outcome:    1
+#> predictor: 10
+
+ +
+ +## Long formulas in recipe() + +Related to the changes we saw above, we now fully support very long formulas without hitting a `C stack usage` error. + +
+ +
data_wide <- matrix(1:10000, ncol = 10000)
+data_wide <- as.data.frame(data_wide)
+names(data_wide) <- c(paste0("x", 1:10000))
+
+long_formula <- as.formula(paste("~ ", paste(names(data_wide), collapse = " + ")))
+
+recipe(long_formula, data_wide)
+#> 
+#> ── Recipe ──────────────────────────────────────────────────────────────────────
+#> 
+#> ── Inputs
+#> Number of variables by role
+#> predictor: 10000
+
+ +
+ +## Better error for misspelled argument names + +If you have used recipes long enough you are very likely to have run into the following error: + +``` r +recipe(mpg ~ ., data = mtcars) |> + step_pca(all_numeric_predictors(), number = 4) |> + prep() +#> Error in `step_pca()`: +#> Caused by error in `prep()`: +#> ! Can't rename variables in this context. +``` + +and the first time you saw it, it didn't make much sense. Hopefully, you figured out that [step_pca()](https://recipes.tidymodels.org/reference/step_pca.html) doesn't have a `number` argument, and instead uses `num_comp` to determine the number of principal components to return. This confusion will be a thing of the past as we now include this improved error message: + +
+ +
recipe(mpg ~ ., data = mtcars) |>
+  step_pca(all_numeric_predictors(), number = 4) |>
+  prep()
+#> Error in `step_pca()`:
+#> Caused by error in `prep()`:
+#> ! The following argument was specified but do not exist: `number`.
+
+ +
+ +## Quality of life increases in step_dummy() + +I would imagine that one of the most used steps is [`step_dummy()`](https://recipes.tidymodels.org/reference/step_dummy.html). We have improved the errors and warnings it spits out when things go sideways. + +If you apply [`step_dummy()`](https://recipes.tidymodels.org/reference/step_dummy.html) to a variable that contains a lot of levels, it will produce a lot of columns, which depending on the size of your data won't fit in memory. This can lead to the following error: + +``` r +data_id <- tibble( + id = as.character(1:100000), + x1 = rnorm(100000), + x2 = sample(letters, 100000, TRUE) +) + +recipe(~ ., data = data_id) |> + step_dummy(all_nominal_predictors()) |> + prep() +#> Error: vector memory exhausted (limit reached?) +``` + +Instead, you now get a more helpful error message. + +
+ +
data_id <- tibble(
+  id = as.character(1:100000), 
+  x1 = rnorm(100000), 
+  x2 = sample(letters, 100000, TRUE)
+)
+
+recipe(~ ., data = data_id) |>
+  step_dummy(all_nominal_predictors()) |>
+  prep()
+#> Error in `step_dummy()`:
+#> Caused by error:
+#> ! `id` contains too many levels (100000), which would result in a
+#>   data.frame too large to fit in memory.
+
+ +
+ +Likewise, you will get helpful errors if [`step_dummy()`](https://recipes.tidymodels.org/reference/step_dummy.html) gets a `NA` or unseen values + +
+ +
data_train <- tibble(x = c("a", "b"))
+data_unseen <- tibble(x = "c")
+
+rec_spec <- recipe(~., data = data_train) %>%
+  step_dummy(x) %>%
+  prep()
+
+rec_spec %>%
+  bake(data_unseen)
+#> Warning: ! There are new levels in `x`: "c".
+#>  Consider using step_novel() (`?recipes::step_novel()`) \ before
+#>   `step_dummy()` to handle unseen values.
+#> # A tibble: 1 × 1
+#>     x_b
+#>   <dbl>
+#> 1    NA
+
+ +
+ +
+ +
data_na <- tibble(x = NA)
+
+rec_spec %>%
+  bake(data_na)
+#> Warning: ! There are new levels in `x`: NA.
+#>  Consider using step_unknown() (`?recipes::step_unknown()`) before
+#>   `step_dummy()` to handle missing values.
+#> # A tibble: 1 × 1
+#>     x_b
+#>   <dbl>
+#> 1    NA
+
+ +
+ +## Acknowledgements + +A big thank you to all the people who have contributed to recipes since the release of v1.0.10: + +[@brynhum](https://github.com/brynhum), [@DemetriPananos](https://github.com/DemetriPananos), [@diegoperoni](https://github.com/diegoperoni), [@EmilHvitfeldt](https://github.com/EmilHvitfeldt), [@JiahuaQu](https://github.com/JiahuaQu), [@joranE](https://github.com/joranE), [@nhward](https://github.com/nhward), [@olivroy](https://github.com/olivroy), and [@simonpcouch](https://github.com/simonpcouch). + diff --git a/content/blog/recipes-1-1-0/thumbnail-sq.jpg b/content/blog/recipes-1-1-0/thumbnail-sq.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58887498784fb018455b1157c68f102f03f6e5f8 GIT binary patch literal 57007 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 z zd}q{xMVg0`bcZus125{(t-Eeo>|RpGDJ*XU3by zk#w5Az05n)Vee)fru~Ty`MY)PRuQxV+HFQbTh2&6|EpglN*797r>g4YNe7z(89K<_ zgz@@nJ%uJ^V+dI>nNYbT=fBN$*ab_=(MpXJ_l@r!BPvj80*4b4ZGY=lYRj7)3vBIYE`u=H-b>6 zegbl^8E3n?y$#JhEw0QN`Y%Jq9;xP~{Ex)CVuKcF-H@MGHx>(ZgUa%{OeQA%$@9(u-YEU+bQ3+K_X!MW4mS`{xpt282q2Iz8C&8 znxav}rF6_4*n}DDC|(4L=Z(XCBH-i!`&sXV0d9cc)!+3=RxA8Yj^PnbwA}oS zOg48_T!IC*@rZW7zZn7q-~^#1K7bwhnItVcD{IpE0hME-2mrTD9gC9rVtLt{&YU8}V0kUH& zas3229_E@(9rusvh!v(3_p$n4!iC>SKc#dMg_r{jL9(}>B6p*F7U_CF!8&zy_60)6 zu{hKp;51SfvBnTzW0b8l*kzjQaiM*9c@$ppLthro`=-<;q=lyzP^epVz|!v6nLA`0 zEw9?@{+;2t=d60%oEt8ArZlFau#uSw>XHc}TKOJhm(aLDp8Euj6|6_UK`7hKIA1gN zZ`?~>UZt}s+HmN?L0?S8U>icWW$(|`myJE+>aLQE#E|13`w_Ol-VZ?MFP%I%nSBBS z`l7?$ev{T`##!9-`tMs)6PsaLUZD|dR4-q_duRp>%M0kyhs$2HVmBmXI>onWt+dhj z2L>zH=wqFZAe;MuHjdYo9Fo(wGgUcL?g0Ob;J!&xCEXMUXw5?1(5j)~_WnwZjdKj0 z>6}U4Y+pJk?$VK;Ci$UKE1?cBtl&SAp46rMi?n%lDFO_{o!`sC-W2)CWcEG($FjFe zTIL9K3%d(1CCFEhdb4t7nW;j-U*@0n2JXW0Kl5yU!XwPo+Y4#btyE^fGD#nf=6@hB zLU7}bZkD(X9?vKJRzOYZo0ZPGjsdC-$8%p74NJ*)j5U9W3M(tfr;$;D1Md} zjHp3F_iUJQZOY8hmseR%6XM|PR$K}AKhblVrNKX>?U?V(ajrSrxI-)V@I2pZwKX>WUg8OyJy$!R`T2SCmRZ_Iw!1SK| zbIeZHh1*ctBzGZGsEJ8PS)P;w37zjS?s4}Mc1+N>=hR&9!8)Gd^1t1hZ}cnv>)V(s zV|HhLYjJoWSms`MCJ9mxlLmg?DF1ox(!)?2qqPo&Imk?d+J6PRyUBSrvq z9$lM-bmN0y`lFIL`#dtPQk)P@MCN8kle1`KJ8<|`JwX}&{3Z#nv8mL}jkiaipGU>N zfB&LFKC=-hm6hE;+!|@lyahF~tG1*1N8$lq0`%Kaq3}xUD9vG=RNZEC`0A|$MT6*D zDSdB?Ni7wRfsq*yEWX59t3!u_rYPA4#6dH&Mp`n2ML%Cp<&5J#*a znqpIbnAj0O;v(2w4DCi+DFVIfzN;;zFd5>lvCM(!#9^~lws{G|BMytZDaPx{ATw38 zcZ#fC4RMG=-(7D_2R&yNqSNbnyK+=4bZpF#;xC-kVER5O-+2#Y`t;5CKGxG+$Ld^N zR%Dzx?0HPMc(@A4!ik9I_nWW^7u{0WhU$+^pP4(OnFU94RsN&cb{Ai}a*{tqqA1ae zJ*$rvdFNFr?lv`@FqjKyJK3_K!+S^9*>4D#9LPI=G}0{VHSD%RCVy|X4u#`wWZEl7 z*i+wQyD40l#cw=dvyOM*^640QQ`0j~YFR;r^Q}GSB}9}g0rEw!-My)3@BObc7x}mh zZ8iOz!^Vb zl!<@5GEH-+dSrccoP1pA8k>!A&b<%s-N#dn|KDPC7WFcsx9|>RZTONtr0^3 zxy?HY218GTA4N@RvqG|BgiqV8*6jBRUk!>>d6YfCaP(YQ))q2%=c-sNUjaHCH@PM+ zgGV2=Zb43Kt1jMSx(-8VJ9AyScbKHoc|G{+l6xX-+5;h9@oYFl=Ufm|>nz_K|FshDJ36pC?u>bT?F(ipDBx8df3U<0Z?W1Zl6=0=-o*0f6MSIjhBf2}#f64i z@J-bJv?hxt3*_0d`wFB!SCaqwvDp0bA!(vh^2!ikNj2ey3;j{)USm`?YSHTjs#u=7lQeOsB=wSI7 zp%{Yvk>OF^%#I5u;+e)BO&t}Vr(9j4+c$1w&9cMgZ6cK1E^PLhV^N>3w`MwioH?KF z3)`4q1N$y%eSc~NbNvbad9yWAl51jLV1L5%`Z{srMEccwEIHRt3URQT^zbT;-cY_YYqscDQP49 za_zsVp5lWu~<3rFXui>J>55{6H~M9n8ZKbNJu?J;rBliL|!^K?vg*L z^_^v@o@d~Ywp8b#q{R3+g8-$v&_O6RkJ5K8B1~a+x z7STDTCTq-}u~JxbY#yCXelVoZE0~1Q4(4;6^t_*o3;+ycE^93htevhL9yw$>KlJVU zG(2bOmH45FueexRPS`Qi_`@@Wicvl!_saG8W~Cc@!pa(-$X^o&HM%2}w}9=}^e<`qHX6?G+sc*=RVxAB`HznL=;`PlF}Jd| z&7yW@6{fKJ+`o5UcCkjc%BG(@Wr&<4ntb`~`uU!%`zEd4%a(-wmqR!G&Vb%@f-ZyU z@;6xBRM5D2TW7m}6WJnf7OD3t-N8Y8cpPY*>&`k z1sjXvmR=-r@=S1%86Fg{FPg9atAQe`;P$>T_;gap*vK>|Z`Wac4#MR(SMz;IuKC!_ zOZ{b%K!5KCML~*Lcn3;mN~MZ~Q7k@7k<0fFRd>6Fv+3#z#aAmOo)vXy`krm(k6jpf zLGv!io`r%W@QCOkw{7t;u*}peTuJeKgYMUI7XR=?8yWfaT_jTkclLog%kPq30p zsM@T(qjpuC@aI*jrRAAZ*}sgvT2TozzcOA%l_mL1@gjfHzgwJX{drusYoy1Ide77q ziRk+j68SuYM2o9oZb5A%T9I2p&}+NAXZsw5$lGUGWfLb+w4l7w|9*+=3PygBzkBEh zQ$Bga#=4Pe8?IQrSGAj1jtZCnve}K&$63_yKYkYJqL2=bS~^k+zJ5Lgl#G}cC@eQeyu2lGFUu#?OG>m|>hhykdv4*RXriP9 zf9sd(Hx6sD+g>68vpYJs1N=`*-evPXj0W786kWJkA^a0vX!@y?=|F3RuKZPNs-_jE z61R?&_7#g?#JP3ptWq_!#TkI7qM}h7QLG=XL#QsYn;8%y6St0fN7VE!|H@VQM^Ev` z@ktu06Q6JEI%J`{CX@>CxbH>M_X-s3td^~L6&WU$^97F~(rih@(qDmwu6NB}_UO|? z&ae?K*qFW- z#bUxu2qt82BCTnH`(ri2_}7&5G-GPWX`)c|M@cU7dAgN2)~WD_>|uRU`6Tmi`Z^Y( z;n#)!4MLqfb6eCZE8~!K{6xeWn58p#9he-l)(4Bd{uT+h9u{PkAgaGo4CK@ zTpufXGtr)lO0Eey?rrgTL3m&P5hfJ!(DFs; zDyYDP`(8sGr3>SWlXwZ{&XQ;EwMd(_+e*W3)s>5<+ZBQy-xR3^*SPJiukj29Rt7!V z_@d(|`t82bZ(gmum9Gp;9rnGBWDnoPQbN9U^X|2KB+ae{Ir7cRiSBNuP+#!|EvyEN z-~GwQOeZ~ZJ7qnM)}vh2SS{Pe(`oj)9j`CZ<@}Db@;}@CcGt6>}EeUoFWsv}P$yjB(RDiRRyy<)dgFbnI z`*vqK>iD7V41$g28N&Y6l7XR2#pm0f@(5X~vczCKBKa|x{9GFy-)b%~Z@a&Ghn6k> zp(wDv#Ou$&!NJu(5*DKYE#|l!me<+&aq^3DV4&hp&~;UFCm~gQ=7P6K4sW~Kd5RoQdV-T}EosD3kLaI<0oumR^pQREZ`dvBC z7UQ3Wd{~0Clxm7dx#JSXYsa^tFyCDO>q=1B&@WiAbFP-&*Ja-CA4p<8efUM8U`tK&i$ImR%L^vKvyF(sA}+_LMOA_K+Yc z9>ps7{UC!LFa`w?*D+{CcG_d;H>fRxtOhEIHC%VBN(~1EzBm-Lh>^k+*SGR;JcB&k zc!m;}$;~QC@l^rG*5%JaC#SuFqW2`U|m0Wco>bn7^bCrFXmqiB?z6u;7 zn&wCp-r7TzwnOau&%BpFPI@KtJ9+apa{G(GY^ZD%52u3N=kkk~!bQ86H`do+!rdo0 zBO*0M1$EUxx36yYis3D&`sL?whr?<5_cD5N-Vcjt@q*@Wvhn(Jc=L-35I5S-px=I{ zSZ;JAx1jE}k0MeDa?*Q~hZiSqPU9KmlC(h|m5DuQcNq2N>gy1F%2>F>SxXV2HVG^X z>;p5|;dQYb-(5r0PDUO##(rQZ=YD^Oq!u-hbP}=yHQ21CLC;+YkDfFl{x+xT)Px?v z7j-NS!?fr=NDXM46qszHjstejQ1#t$-9b+M3+&=)VEwt|{t2rfK>0G@a5_R^{N=%>C)OSen#1oLY<1|-x4MNe_px@HfdgE!{nuv=uIxUsDu2_4 z?+=x@Z>N~s6FufYm*L!fx)QfhTwOR*AtVCQu3DK@W^(hccP1eWR^?*5u-m@Y#+{Fm ze4W|1aQVS1)bN!~)T4=Xd-Zn)zvGI?3aId6#M+q5C2BIef!T=*SO3v2*D$>OBj;ph z>$bI{=2M#Q-USi@^BrCadQDr?r?RfC*mHXrgkVP!;R zk$qPkfX?ntFLU)q{Biw9vWwC8P7_E@rR_v3_)w1a4*D1t8RiHuE2;hIwyFVZ5u9G^ z8Tu9MjpD{G!l8^;OE-0@-Yyu)=f5o=5@jtj6FENe@Q)`Yyk69)g;8Xj+xVudsE~SR zcvK>rG&pOExFU)88&d&$-$dLF3fusGM)b0%^UccFXbRuKH!Qv4RxvXj8g>+KwrLw{ zRz#-Ui4Y3{_ra~Zc@s4s+~2>q9Bk*<{pa!N^GKO{849r@Y)U;yiiDflM|tMPS(e&O z9$m1Zpq#kI!PA#VnNY3iVRT7|_=M~@yIig$mGmF4N^N90ZY|l*@`bw#NppZNvaOf; zWZjSLU{S40^!ps)9=3nO>B~_V*Vc%`tmONLtRB41a~&FEy8okSJHEy(Hehx7;X~EqoYK+6>{=2Ewq8~L z>qX0OI_IBF>Yvb>vFTko`QC6)8msB;uksgXP*0+~i znXs<#!S$8BoY`C}#pyZs{_$o8*PTI+5pSwrJ%Ng4eGvSoPmdua&d@b@U zGmtcI;XEptlqBhh`1di~1j!%#HVssL^W5jpbw@8ew$PnTY@`%a>Bouv4 z$i8^@cV~-EIa>Po9C^lkdK_IXhbUwdbE59x1MvEi&3WUib^$aRWq(SP9h+Zx^wjR4 z&R`qxjw$|ddgr{pp`CfYbT0%n;K6s|?xIq^93L)qr|73<&SdE)zs@-?|B)zGhqehs zlU{@=;6DO}WYkpV$Hkv(B6x%H{9?4t`&Dj_@~*J~z)gZbl#8n~6g}C(BBoUZLvKFW zm#rKq=QA5OHhgZoQ#byEs%kj{Xn7TPk#JMg4R8%H2GFXrxa_Jv_xtws#Z}6Jg5u2< z`U&YZ!5@ONC(P!h_5$d%-=W8KaUKn!pLM=&t<*(CI@Il|9c%+5E$vYB;)Iq>PcHcQ zhxV(OjHf>1OwWC#ISbMYkjz(Fj85lO@43n7O%N`MRs4U$k5|qBHX8*A$zrPB=M|zi z*@B_n7qc&C+cvo6u%w%Sm^>ByYb`os?#oe`vr zy!ebU>lfC|Dc#827|*A+X#7WVmeV-rXqTh^^|poawt}(;Ui9iWS}Us40#h~A9KkeQ z+aQl zy;S6$?YAN+-pyU?+38{9F4WLwv1dRMTW5GoZCA+SnpVUT|O35>M+ z4y=Rpq%x-d(dk>G^TYN3bbSI3W8_OR_2~}a+lX8I1n*oUP(@+PE_$(o8^?5Rz&j|x z=HGI=m#)f_d6e79^$+M7orE;CRrEKEzHPIHsnePbX?loAwMgo$^^cZk?5nd???HCr&VBq{_c(^hJO$+J35tdWtw9C{Vc_A>2kB8It@ zIWfJR76Cp&r%z<>{xOLw_8kcN5u zrz)%E9Wzku!mp{pCFQnQl{QZHDJHDDGs`F`uR>r(H-e?zbM`~fneTb>@Klb|Gns&_ z@R1UPzNgAkX#^4(h-b7SQ1Jxf{K5<|ITf2Lw=Ln$EtKS$71j5xZYt;Fd4&ZhC`Ai^ zA~(-(ivN)iTM5D#kd|k2IEk&KB`K`#(SK8uX-rPosw^x&APTQVbA1_o7OJBwJ=W_k z$8dP6TGY7C%;_DeflR>vBO!kK{2=K1;wKL|aq5eov)>oP7$AB%X>gJQF*DuF9YUEAcj>Iz?*-X52kP=BK0SNZZp+}hLWhwXmg-a+^T5N<@E zS}Wg$)`O~WufnL%Ii;Zj@%$x=Ui$%_OtfSLvcbjMqMt6)Q|RUQp=f=2tO&5r4$;w% z9$&Ykcg@o*W&hO{9VANy)f9awc6W43QGFiW-9*Gn6~qZ<=R)$uUMM|52%Gx``#h|I zkHDVbb08r#7Ogq*r!1|6{RVRLjX1cb{|Q>}*&iwy2PHo%KO5IoU%B^-rz_JLH??98 z(pH;v%XnXhEgx#kGYIIKS=0^wxSFcf1$`V88*34lS^P|5|Hd}u+SkUT$qM*wFG6@B z&9bRF`7cb=ojQeRSa>yP>Mr5^llAeaJ%^MUDfikG1e^ad2WirjPx9Sns!RPtFA+7* z7xGy#GPjXxi%0cxdQXPGd?Fa(fgGMo*fBi}PH@e*QV6k`xeH>x8aA3e=k&E~*DcLA zFG<6X^LmJcrl+r6g%}&ST*}xssCeE90kxiQEhO`?9<4X|m=6u_kO4wLU0tHOOVOq) zyCIIHnRXTxz74@}z6&nV=}v%iPM%-$1fnqIUYcx5cT1J<`Q%VO1F;_(btW^?AfKL; zJMK2N;>8brc#=ryRlP^lztuiBnP0fmq#sFM zsb(UWk&BommuBUdfzn4wq7MTU)udGXkqJu)N|^?MCld)}UR3J#d#MBG@>i2MO?*J3 zC;b83G|`{=?|ErY6OKvXnftFNDmr}OGNpQdNd$uB*O7P)eX;LCxxbi}xzla`IeHT72Dzx(#PH-Rl2QbkCl*bdBz2z?kpe|98&L&a>yfzj0lkYa}0E8dSzC_S9w|+gDJXamTWk zZ$vaym7&FK{tA-cWux&eAG^!KIkL4Y8qL3|_SuP>rP-eRsnpV@`uuTafqC;V(`V9m zBvm`&y;-Qs$3$7C01Hf)Jvavsk~tueKU+1i)4!5)Askb<*{9^=q`6DAYXpq`=MAG7 z6nT(458JQ~`F$21#5R4^>?vb4Cpaf$H+OTJs^I1=Sfg#u(&{)G)+3G!h_$|J-_^4E zQDv~mGb}c0k#=ldPsGUVqz<1I|)K4fCfkkG_>{p?vl`3nd!@(}YHwZYq^ z?8W-?7m7ClB>IEfsysP!r`BZ#nZxre^=Y5J_PtiZgxpGluCdQbdi>He*B^-p-w)_$ zI_H5RzntI2xlq5taYso^toojU-!GsuaMz)`QPgm=D zU0DJaUxk-m3@@0Nu#7=$#R^oNBToyIh0=9h799N&ag>QT>s)JFo&8sMD}^q= z=okJEuL9(e{)PK%w6feLl?^lZ?uNygTO}vY{v?#J|ih7_( zIk9>UFlQLS6<>5s=v=X{3sY`9yUwzu73u7zE*B2}OsoSHiro{IQdP28bNed(%#)2E zFlxHPe@5_!aygyKeTRp)+CqbK_g%oKL|IG)_kWEGd@K$3|FAOkh8tu6N*eV&QOmkb z)i4Hi<-L|d^cwinKdjC{BCxxa34T9Hz zx5JozrjLK~4=Y&9tcId6OZC6h=~*Kaq5xhEFd3Cz4jJg=@4snu2TEuIOlj{L*aa2x zeRbKmNa=_n8rhtnbyp01WG8x+0UB}t8Ig%9Nytb&O3@xToP0I6b&iOqipvu^9D3v; z{xrupf!nPA5k@t#q&S}7ek~0jGplW9B#l2Xbu(;HH3(?)V@|%+74V5|piPLmGUPj) z*{$MsM)jIZY#%HWBo6{|-Mv8^q_UZ=E)`sjpZNFd^TfM*a2gyN{LNgPSBdytbnV7OKK@|TwYM#UHQFOKbXLFG3_R`)Gn!hXeo_Rp1A&eazzREPwMHNZ5uyZh+0J!;78UKq$QGajq_&Y4exNFxQ6J3?xoTL5VP~s3qHl!*dkfxx^p2OjkzPFot!Sw>W8OVSq&G@^M z^)aK%GG1&WGRhaT_Ea^pA^)+=tl`X+JYk?x+o<^S8DqotrckrFjm~$oaf#Jq)=EcO z`wGLusojFe(d~#bojkob9?OD`8{3<})?CI2#|=Pe&0wXi80FMs%9CdTLPse(isCCR zUztKemL{*N1RrjiClhKcF)y-SWf^i>KW5v;a)EPcvFt8$;!F z4Q>=-P%48w?{S)@UJ~-DlZEVzgoi)n#%3y$7<}TMmkH?wM**ASGJ@-GnjSQLB4}mw z?hFZe%wnw4=ilaj%k6ph*;kzT9~Pf8%V-I^>MKO?$fF;4tC3OGqs)*rZD)2Z{oZ%w zv?=)rQ^@uQ$KDeUW(O1dgs!ggaOp%11$rrM5xzWr2#1bPL#V0QsBbBd+vh?zO~{&` z$cWcxd0mpK4xOqR&abs36EeGTpSw^qmQ;FS+Mi?J^IHVEqznlffV-~F50}bp*^|E) zGkCEc+I&0VK745UaF%%UBzu$XsHq}AH%cS&w*Qv+o2zuOxZ|t_r)!SXR&pD5!tC{x zi-!%AkA!?_x@!z+H;>ZQ71zv;Z*V#e$QZltx^a1IZ8r)$dk-W z0S(+W6v+(P2C8<@^N-SRqiDx%!2zf4$0=Yt)^3Ufq&fJr29?jDIue8k)Yu5jMXfSV zACJ|VjK3|4&jIwkR;01T_E>a3j)N2NG4&}B)tlRQNE-NgNxAsO8>?Bq*Z9=nzp@wL zi+N7dCh!3Ha+~|(nuH4;xkVR{eZtSDQs&gVlm2tSqdr87Fo25n>y8GiEyW1i>pVs2 zI5)opUliAM-+FPiXJSMr$JyXOHl2)y<~g~uqi3n|Ge;M#@8wCmJ8xbLIpt*z1gWEl zr##mp!IZ2iBcg3aswHynv>P;^j)x}{ls+p;`@>DC7(P%$RYYw!u_1Q4hAz%q0v#9y z({#DYg7vJA;QjeAlQ!VGld_GDH@QFhA~cme4RB~o7Ftf1&m^s5(Z1Ijq{?OX;Dw=5 z8t_Xg*RQ_AxA&lZ;=wflwXmc1ZJ(2=ZFuqaq8>>Oj)J^NMd*uVfBFPT__k=GJ#Sfg zBxU1hEu zvKdDCz{5iHR370OAOfV;;L+lL=*%7cOUm36z(MnxpIWnz0mIeFZd#@8$k)&k5>AHx zO8&vG2NiU~Ejta!4VD5%AES(TjXZnNaC;@DZ69*&9{NVRk9kLU4Yt|Aa6QE4roi(%~`I#Li& zNG;B*Y`8>;VL%DEK53uN3F{67qc@s0n1{l{06!!{kUO2JXL%*Wp(xK{qft)PX!z~e zOW#;^S2+BFwNoHvbGi@x8t4obsGO%KZdQ~VEWx^mSE+600`+M<(w{-A`GRJZyPz9#WKr-2oz0>_%5moyVk7|JdY44+M=Am9stg(p zkeJ0Z5@g6PQt=tj7rMRm@c(L6|eiF}Hv6QsW0`&>r*r`K| zE0{Es>GmfjMy6ngXlL7HrSj$cc9neB8F*>7KjSBDx0&0-s8ym=g~R~O@}w|=ch9y` z;c+*+UHjm7s`f;=zaML@M`~X!FyQTRWlsMz0aA%6y2T}tZ&@=4?YRz4)uJ@2s!FT( z4Gk^`)()xj1f~-n)tu@ zHd`*r!$VlsAz*qR#g9{b0Uy&{huHMJeg(CkL*@1)*j78Y|86Eo;YLtb4NyCF7F3^V zjh#5ZXE2)FtY6YUaVlwv4`Dwld`N|D$6jYEk*;>z;pGf5;C@~}B!cZO^6~6MC2Q?S zY!5qr<%S6u3$T?A(z{+mKBf`WD1_JgzH|JLgv;;`>wblc)02K<%u`Y&Crc6Z%l0of zKdRY)y2f#S7h_Q75>cW(;vdZc$R)z&nje%uDTO5b$BrixRpd42%w(*91)9g@D`W)}xoS+7$rQt}n)|DE~^!>1$b&o?`kcY!2S@Y{B`fd`} zFo+2GtGg(vvjmVUhFjV&axGcFWk7N$8J@nb{uOJTUFH^0a<|h0dBqXQzLA07@3bt5 znDonPsQA%9mtFDtL7SBMy#g-o+EmT;Xeq0Yqe-=e+OH^a<^EM_zYzF$kJ=mfSi9h@p@8|6@ln>0dadC1$yH(9of+Y)r zy`5>rGUMkb6q)9;RI3*coUAAt^ouN|5}g#UtFTQ&sbaLv>m5HA68C#n(&ehZWdBX_ ziaCHc5JwVDQaQf$!Ybu6^_gPX;jylo;eRtr<`W|R%|8v8_L%SFUejMQa7r04Zr;g` zJiX)R{_jc7R^0W8z39O%n$>khC=##0t?6S88_+au&y=#dsVQfsult=U@NWYs}>cSjAVya#QNwsT=BmUl%w&3vRLf zem;p20t|{^sEYL>)6$tF%21rY^91gX_I~?r;zvjB8^w>m^Y(><^VSAVX;6m9FpO%T zwd~BP$Xhf@NVbT;D@6#y6w2q3{TpsZ#4pfQ#vmhWn=!CRREa4f|2tCN}pcV@yF|L7keFFgv8y$86ft6mxF!5R6bJg5>8Hg zvcezIUrY}-d&D&*dzfo)Fn`R6I8I}G28RXLMICWHd<+QA{)CJ<1E`|s>i$|JH*iI? zhq6S!&2Sd5P9s|O?xAa*aN#;4rbLpe2EObw%?&>NVGqad$f9AnKIpYzczL9BciI>jC>L@i_2-!bj{T{%r7O zYHeSZ^Bnh{GM5K2HmB9mhxLSD8#LzHpdU7bpg;$&H7?UChII-rn)-0i4y-qZzW)n+ zs} zMu=M6Z)G1uN+`ZVJjWuNxefNOCBtdZJQd2!{^X% z-u4@>Xb;tAy#BmWa}g){Z^zx-Rdi zHWmA2)ZwZvlTPw~;9~z}glZ)-l`)4+5)gF&@$YsKQOA9N*Z^ROz39vBI_U51rO=7$USh^EmSsSWG7yc7(9r(n@ATTASpnmQRJ>6L-zOFMPz zmd^HX^Ppx4H=jD%7kAPtgTY%an1S~(OQnyH_H3mpGi}iTg3loRL7y6P2c?(&o{X;~@ z-KWqt6$s97?nar54SuPkz38hnTY`0Ep0jlWV>_9VZnu2J5efeDSlme4^#E z`0;8nvh6$(fk|U$JOG|0+kma7J)rzDy{H-}Q(#e=19_;&shDfh`#2(r;bF)?4UL*&rYec9?Qe~SE=b$hqxqApsYs)1 z8>7s|hg^&)m^}FA0{l#0Q8c8u3gY{-JgPlZ=%F~{l+x*|!#d`423?kwqO=}cg6#tB zG)R2_pxJr|!4etgFntO)zXJIQGm%gagOn#^|K@f>w&*-#qu!L5@?6ffvbN7-Rbfq# z0;)SGp)HgU*)iP*#+C)3o*=!cLar)w?fnxur7GwGyQ~w0QuLj+_?UC@=Q`rLsKR?% zn_H%}D=K!?F>>KS3B_E81beP$kE)4|_6fXB*p&EcX%W6o0>zO{L%l`MF!D_X*q_6| z=ipu&`Gkbqlx$($i%Cv;>$1Z*w8*tI7v>mp+$?$ySedT>{@sxdGc!Q}y6@0zzaBFq zb-Z_S5mqP1YiQhG>v=42kwCs~wT(O8>_<+M3+^Z&|Fg>p<=txt{v^P-arSMtdggC` zMS?0~P6Z9@vq~WOK^C;xOe{gaFL^sPHRmFj_87%cwD6ue^j_ml!G9T}9G4P9)Dz+x zF}qdb$Kbjtl{BDO88U%Yy}|xUW$4Hw+`Cn|gy)Sz^J)J6TEbeIqawqFk+0r(bsgnm zUx}vwEaq2FJ$d%mtdCd!svD-B_q&z)XP&U=pRe?mcya2}c8e+0?eKp7=JY zjg{y`85^4cI9wWR38RB;1V@|q7|O?yX_TtGU16h7O(WAfi``$oS5FH zSNG#Xm!f6c+z*s0gX+dA)l9&q(OW)>I4h34*{Wr?uyFZ$N|IIa;h?8Y&qD^s!S8Ln zMcM1@{Mt%m7qMB-g8tKGfHfgZiGSNK%4Qb-?6k0H? zf(RBz*E_7xo14hpV=vLy%G_Z9&-tWsVx1w`*_D_9=y$rq$*t~nHq+nn^(*(mJwS&5 zrt_D*Ss7nJ(BnX|{Wr8`Za(tS1SiZ_h@zk`NFbu>+k+K)MvM`dj=?Vi@jA(=_}u!7 zstU@I-~Hi!Gs5-J!a2y2&+e?`QKSu zzNVnr6CX5&U%z?a3+@pQ;5w_jF~;zuH%jd;*Y-(kTH%gR#if!AqJzQmfjrTKpKku} z)EG!~e_?6we&G1s9S^Lq=Wm}G;B?nk;~9^5A}6qx$N0S$WeR4^q*sAb_CO2t!TV^0f-6&V#H8Fpkm%C-mn z!^%r&AzJH|xx?(1qq7oGT+X2eBZH3zGpZe@{_vsPYV` z&|aIN)5Uqr-8XK~uUwhuZeWu(z2c`H)4eA%uw zexR`NEmuXbh>EfG8*^sVMj~!0(^(a;cMT^Pvy@{La3mV+Yppyfwbb8I2z~drE$_)P z&T63jLosG_uMynCFG~~z1J`9lV&*w9rZ21iVMWBd<1U^+csEIx<(Z>6e|CB~Qd4V6 zT6YAs*@5v;G{BfSG)%2NQt9o3e1B4Z>4kC%&JK2-jQwQ)w)hVyX<gz2m8_gq{xV<`X&3`J3i=Vh%kaPxBUd@tS~00Dg($5>xKDq!?&<@{&~G>bmk< zVJN%y5QnpX>=#_|gJ59g`(JqPg$n?lTr5+A8cjLdoK>Jy$EF?MF|0)h4$}Sg}kHP*SEv8 zNssD*G6R0())TSppXt>7Zo6R{b1mmcTJdsXVnf+Ok#2;&S;d2&_HFX{>Cw^#+u1}x z1=6-YM%el2Aw8tBF58<^Xh(jT1GlRv(9G{yjjxw|zHod=NQe>W_h09ac0XFaUvv}y z@W7S9q+x1kbxk{*=qOF^MuXJ|;%TKrs3RDnn8Oa947hD0#n)Y2`ucRAm#CtW;qm?L zR-B&O1*z~+3$4!d6U3)yva{jIO$?E~C`|m#TmjG2yI;iP{N03Tk*H!j$+U>mT*&ie z_ge%rA|%PDDi&?zzvLgx^@in3AA^e`K*R8$L|0^Y9#N(~HkP&U%eip^O94A%hR%luUOIfHxtWwOa_ROLoPT-~$9H8F;2A|SNA*>srsJQ}+3 zHl^P^;U888!nCKTe{F%$BFshtzxx#)_B6aw>?~Vn&X5|!!F=NU%`CS%pJQt`ajM3N zJN#TB~7BR4i zP@wYfNEj0(nN3Sy(V#(&+g4)EH+4uU(n>dWpJ!Dub2g_?pXG-0=~(yEPXrkK7w(4h z0(>(c6VH(Ce@a@P&PY1ANnO{`TMM1|i8sZ*^ySwwLZavKz{*6cy{&nq zknKsfcmU&Cl;K8z<0g+(@4cZtzX8luaFn85^xWKCStwjv0{TRPO&q%+NGE5YwLyrs z;aF|J)_xBXoO;|=TL)Ahb{7l(S?yuVCTm}EQG0i{rrJRq-enCzvH`k*k)0e3=VMup ztG}ui3_6M$u2HAL$vqs#zvvpDYetj2>wQj*{j_su1`XIR`Sc*aObMNN#}rE$uZfVb zVoM2h@qw65ov@^gy&SIyX99G~#9-8epfr^0IpJv-N`|Q6w~?AZTUIjh8?iLvugW*r z64L9N4gD4^USv-X;qeH7Z<|TmnrDT*Nrx1D?SudlWnnwwIJ{SNWty$;^Qx~necFtK zr?yJEo!9^Qpk)v2gYn~aVsuGu@bTz3kAO_7p|Q`D$0_dJ>#1?qh$0(<1KOe-uTGY8 zCYJa=>4=G@7a6uj$<4`WFD9{kC)5JY&l5KpA>Nj*wi~JjPGOW0+U(y>xdruw*fl|4 z1^wXTuA=r~-DVaCYne7>m2@Tm&b>J}sP({W`-fz6?8vLew&AOjDh%{9H?hcpR;ta0 zPCH#HgnA{d2WuCeK6r)qd*(q z!v9vKPpSIrfm!&ocP*r_0Y5&Q@9fVto8ZqFBemiE)>;piH??}JKF6sfZJo2sNl%`O z=EPmCUnofXwV=5uw1umiec#Wee$O&K+)y?>t|-h}GrEysxAd@8(B+&}JNN@R={UJ} z^y(lsK3DHtL;)7g)W{c2DnfjYK5!sh>ZMR`o4 zDJvW5tJ^P4%wLk8N?%bkz?_Rb7_rX_(Grut=BkcY$4_t&1bq&%QkJes{?j5$j+Asa z=T49}cT6v8TJ|RsIE$mo_rz#R@~u5yiY}XS;J~G#E%AU#8otlb@ z@!ilwNH)5AceEOT2RtN8zjRblYC5MmUdr(4xBvZ;=3s)2p@rZ<$Kt%$mMFIGSJt9_ z=3-@jNyYu*G~`@j9tWaAJS5T|_|?i4DDM16W#27I>OQgApW1zdi&?34ooRN30vKi4 zP|PMw8^N&yNcFO(2q^t1o|ktuKYQt-`RX0(kPJw!S~(dBXcftleh;-B%O#7hE^L zG0%5Pt^hrD?^N*XfX8?9(TzsFIduMy)}8sb;CIVDQU%G~oGTHe$%A50Kd^}t_3@kD zoG_sxxOIkCl(k;S-C2qfdpxPeN61f{1w$#*5!V&2c z7Ae$Qwp3g#L@R~6p^AVHS+f`k`62kFw09MfYEaA9FfpoXyRMn*HefH2Y1w*uu0wn3 zRIR%9f&BdKFbP3soM81AV)to?=`O|9_0I3RFZHta&lNno{Iv}`{Fg6Iqb02)+xdPk z*@<3CnJmXo^PZ5UCU*}@$Rw(C6a;u8YYLDG&d-p<(5!~|jv=gtK3{GZiJ)I!rCj7r z_Z*QE> z2agUeeXQjh@^z+BI`rRs;7*O-n2&-CNcsDoib|=ZPKH3a?ibHM-Q&0$z`pz%0~1AC zvjRDW_E)_<<`)QTUrq)8S3cK}KH!r1O$^e$lu+^gS#G;(+5YXD4@!4~%=z3vZ0UrK z!wn&N%pwxMV$o*17A2MM8`iyH_FVNP9h9yU-Bos{Q3W9KG1pdO;ZaEQBsb&xfU1$g z?&;Z|P!B{>TtEi7qJ^CaY+d$F(#h_oOpSr;(zyd(F@o>(pc3K|P+XOK1g!s22i$BV z=PELAnP$s8H2T>E=%qA-8!8Ek3eZ2JitT*8f6!|DKyYqlUV~~6e};7obszlfo^N>N z6ND)$%de6z+vT-p+HHBX&aL~2W4sw(pXDAHO$;@Gp3usEjY}aC*oOue`4Gh(K0io# z_o0sz2HNjlea5Y83^HH>=C6`aZV{6V|>(hj8Bu)%~YaVaz?F&F?}2G@x} z1B3enH3|;IhHBK$32*6m`%hGl_Kwi6&B z1Cl!tK>HcZG@CUf@VyF15vd|LF!% zWPB!@XXaV!8rH^1OtTvj@@T)eudKHE01%0e`}tja4WrTzHt#SCnzn)~St}LtQ);ze zUP-%lKXTnp_nC4>sUy9T^nV#(-=*wwW6?tx{QqGIfH92FT2Ry<4=y^Nf(X`*W?3h> z<-RWU1#R);gzJa=b#Vuy53w)a2)runG-6|W%!|U8JU5-g(UWfP#a9`-Q6sk-wWO>l z?bcJqnh%p$91+K|reV(W$GneB8w2%=LBALwZ)-sB3k9Hf*z*Yz_i(CpRbNPexS36E z4yr`lfqxITQ5*vLTYotHr0tT*?5%9rHuHK4aEKc6C2ufH_%1EcmdZuN{6WGh%Ifq7 zA~iv3%UWdA&I_IbR%YHdeJ4mJPVKBNd5z*MF03eA@|B-i9uHs2Z^j#9%W>Zyu%a=% zOF6mM#lc#__@8U?KN6)C*dEaibXs^}EL$kad)ydaXAIiRiTMqVpzq;Q+)n4+^z`^t zKWT-iBC{tJ24Vq;MZa2EwDWc`Stfwi`bJ^k177!_#ha|MlsVBlY=`h9I&5rd*Q@&} zlZh*T$%#9rqWi{-D$d?8bXwEo75XOWXB%2-?O$$2?et>k$| zHovoWd1Le0O*2IXN7?fZ$ZHhvKM6>`a!1}!%q~54Zi*kR3~MT2?cwvb7zQ2u$PZG+r93CZ~Ft7=`_AS30M63=Kj)vq>tMxg|I}*h4=$Z92g<0T+%eX zD$m3%DkibpCEGAEJJGg4b6?aGYZNmjKe%%DILMf93p*rOMo@ z)+Be-c`LZs`yuc{)k1~OiQ^sFV{vbmuBFXUvFpy)Lk*6i62dWVshr|YeqwC&R;_H! zs=Bh~sFA1TIoF4WkDRITsw#XR^3;0w3rKHu(_c1ooA<|bNjwAm$lup<;68CSPxk=x zyGa2039a_^R6T_=o~SCfKYw;6u)o-m|6hH$5zlYvpeyf#&zl%@P?}pnX_l*-RY{ca z57JqljX1vV-KmM$KPQ6IB_PIAM+iJY!2+H*zhLeeTJ@aj{mCWn&ytPQsngP1*Auc0 z^^N5pNmx-T?;jIuo_G5*!m!>ml&Fxq-3GsTGPD{;*$cY;5_1 zDEqirWgcEbb}EUWH5&o+a~j$&Q1PVr zSv67dX?8Qs(qv002~Ro)BP#&XB9c$8wr!p1yo^QNduR|Su0FmX5v1Y4Jsq7?(WOa@ zF8%dxex<{z#wLtvD9bB!)d9(kD;KwQzSw@7V^#=JFdp}sIY}@u1P&zfJnVVsAeZgL zVB|w{=uZ(J=#yOcBtddFm<6IhAvm*OOJHlAs6i|;0I&5^!eYkh$8YJR9t5~rOAv$+ zu1c7C#Ge8)VK;tW&GoPT=6f>s4itv9!R@x_NbwO(ty>-Gz+=mXnN+$-ev?9J4(gGClk5xl8xWJt!0DH)0aBqfGm{6zicRCAdUnMV-F%vf|TDK>Sb*ZPedzreHBr);^)$NUP=MttW}-CJauZE9Ml*)0z7qX$Nd@ zkjzbQ5?PCOx>`8q^@w&t|HXg#*)kbb?8Z|Vc=S$_V&NqqTdJ#m+}Z$>E@`@+!x?s> z4kU(lWnpS;#qLCGB;AHaKQO+F=*o!NGm&)k)m&B8O(rRa+gBr}_}ENKo48m8Ts_=$ zy}M49-nokOnHzg~uSZg6jod`Y`jI0(O@oMT+o-%_wj)nKWpL(s@DbUW;yNG-Xcnr!h^CDYQM|0>L^a>lB!gqS8i4)Z2tfl)retT9qoa;=zTQ;y&%F*t zzItdX@6UC~j+SG@+HM=ZyuTZqjXb@M-LFvl(<8Ppz_HAo4Abw9X=T}}!SOC?>0s}3 z0QA=Hy3bjAN$$oJ$hqHT)kWhI+zq7i$aNp^`#dMy!tkr5!IFr9nHs7wRhF3OvhmU?}|xS02lC&Z5QBOkw9+-kwynBVd#|SpFHT+u zJar3+2@rLYlW`51>U{I~tIO&U(49v(jj}E=Sw8UQpc5^@9x5=ip_=Ip9OO@m+`{6Bas$7P2W_M9&ZtnYO-WOBz?>fK5l#d;Z?Xiw;vc;Z>%rbW#vs8RPG6O6 zuydTu!jeb!B!9$xh@IkvGUwA>{Roh}uUk;BqLd;HmPKwZwgj{Hq?D_MWL(}J+ z+GU>Vyf#QksO6~2OGw0&L%Ob(@kNma#N%7%i zaU3!-NQlO?@ET@zMX4dh|c(|Tm`AMwoN2gr%e^}r1vgN7(y{*9m#NSr& zziFL4FH9^}^x|dtz}RcqlaQt(VO**by(f_qegZCirq_FD65ey^z7KVMWPC1cgfm18bj z8D_#xj>EW;&R{4?uA8W{piw1Zx|fHlrSVfAc&5{%xP6{~k0Ym#WAuf+1F~XHr+--A z{$Vi!ofG4{DgCnLOIWl1fK+1@^v$&U+@BvZkxF2^j|MvHt;lu@2CstmvRADuH~%-m zfao?`eI&KZ)TL)llZ^tBGQ(iD zO7wk?O52yNTy@Z2V}26NaxhXi|veQ%wC> zpEn`FGRw+RMQ5c;zGVh#zTNtV1^)edP8JUd-Z1^O@o-qj+EyMz4R!oh|3>{wUmDcF zMUKFQm|7;tKbWd#W1Qb`U#z-g#?JeM(Ha->EXO=wUFzOSqhj7v1bWwh%jrc^ptD`A z^;L71DPc9ONRq6AWnu;L7!b$##Y}}V6ohWS<=zJgZ2Z*pO2E^^1&pHX=jyu%*X&%o z-G(`=utpjG#Y}^W?vbUCSDx)z_6FIZh+xH%m>1S z`4|E816JcfyJIUH8`KG2Rk#v}E%iHGaFV<4VDf|_Osmu9J zQCF3i-Z*Sg3`$5DOo)u#+?;ieCf*XYSjfXON9jx70CW9NUJ8rdFmF8Ulg1ZL8V;T} zl@PqWn%vI^zqie7UUMIjpWNMX9XCN_mqDPKxU{00{&P~p%D*uWz@YIp{Lbe#HEbbA zBo=A0Fkyt}SQtH}`8=b~K%fwU@0%Z}7ZWge7$n&|y?DU$bXB!jmnL~iWLc9`XxvRq zGA%M6e}&b_#9P44O&`%DZ4FRwI0GM7J{S$0A$s6I!uA)!erwSp^QLbs@qNc?M#AaK zx6Vou;YGRzz40=#|7pj6l>fASc_sT9S%z7R8bAIF;;}J|PwdI%9F?yPg&#{smN*zH z|5@iHv$Yj1Z(*axO3|P|-kw`;{`Ps$4P{^?vo>>NoE5}q->n^JSkg5%y_uw4Z~=y$ z!si&EOW$+=>zU)`itW@g%kkA&fda47QT)*Z(b7|Lfb@IvNgZ>QLtG((l4PliH!%IYT6B8%p&BZNL$?pYvV@Gp!)hYWnv zc8&{$%p>HHQ3#v|aLnR-_fR3>0DY+y0%jEwg(98C5QCdUrM>#T-L?{Fl$;6~o|8mf*XY2H;C7^(JEr?_G+;el-$4!e+*k{WEDOT!oH^7RgM zcp%x&GOitqD=nYLwE?1A>zL$N#>WH$LjTkF@k-r2AwR+cumFGlO9|^@=BxgLCxStu ziV57JCVMx{@_l%eWBtjVFXXqYhWl<1#g>PkZ)o6OwVa=?ExeEK7}L~e2Xf*|UQ6Rh z91i~p6mTN?$xFpWi*?dgi$e@BTx$E&-0r_%M3Uh9ES)W{^9O?b#=PV2BGPYeYD65c zeJ5unvFi%!QV(so1~qWAM&OUMKgn%jxcpTA;6XW=-1qV4aW^%rLwlC5UvR+c+wIWt z)7DpckuT0L zR$Vap6)e8B-doXl($S)>{;joAlJO%7O3m?w+)Zx4A19sFrX3aM*n7O2qJ(a6->z>8 z!)8^sa8rFz4pQ8{E@Bzsayz)M{$=8m$?IG4o+m3qR`{ zp1dV!89C3fPQ+k~LBi>9QGe!l{Q9D@#%PgG`cQgbCR<%PQ0X&o##~PBmX_AY#+uz$ z$SI#iM|1S$g#*LatJ2SWw)EQF&6Wx#CBI;PUWHT3z=fF4$_~8CPxTRyyGQ$9DI;{Y z9|Z`6*~J(&R#Ar{{0#~~ zY4_N!xySFGmSsW;4S2!Ie1M>aS-5hGzf_FliWSN7(m$*}iX2G{#H)Z_zu0V3q|o{r ztzD|dpM6)mR}u0`MVfoG(zQ)9ViJfXu0H3h;K={0Go<=Cu zaGAYK)5N)5{25G^g*ucSa}}m!qcA9)*7{yh;O0bo$K#N94=@VpH7i%hr8S-?u$8H_ z4LntAhm~Ia!=hH+d=Q@HF;w-`Y1z~XMdH#NUJvf>n|>>YmDu=6baW63Dv8$SI7xI5 z!t-X&y1FYKPDzm(DxGKbOU+q8`oip+9rZuE^S53)_GB{{Xstr0=^*4WwzmA9@(S8$FqEZg(fQ< zuFr0HC7c??^1jQ4rRM~W*I_^P@nvt=aLOyXeChH1Cq9_%QYpMNR?eW?u$C=8NFE=A{< zm_4wiQ-lVBc!T?_(J;(lS)l_#Oc-D{i}9x3Ja1oY%p|ICrCnVsc9V{d(X>jc`6MqP z4wF)bGyyTC?Gkn`kXqWkIA|P*@92Eeu2C`Zrn#lQ)=QQ8Z_J8t^I~rFXC)f!*Et}H z^?W1~@lji$y%?Gwxm47LI3)!i*q1fdRhDM$NHE1~VvS8~h?a*I9uEyYtton+2NcM4 zU}ljdhjUxgu^)6&1pa{wrTtlr(oXIBJS(lUT_Gh#<-d1(S5eqzmk8}52(ZI6uj^$1 zOwRW?K>O{lT4HN!@4ZQi+N-EhD{WC#BZ`QfnlWm{ovVjkMZG|=hHI4SCl>k>bExd7?!J;Q zH7`pG3Q(f@HoWAzNEH%0K9+bpunXT1Bc~F zpL*fM0AZjLdBg9fWPE@|aIF^#AF5Jro$)Vk% zc<(iTxq2vUr;%9lzqbBRCstkUvH=W@+)u}sG3frrF=`f5jK)KJ8;_GfY)#J za&xDyzv#?1);hPHr7xK2T^P?=^|eX0md10G;Q9TT1S7fraML>7rR0sJaIAmyg5ntV zr4MH;11$UShi)Ge4)6HBif(QABO$t5mgo z;lb{ryIAMS>{LE|$jmgre z(>rY0<63Pnaiic$JMQCedyY>%4JKG%&E!>vsdeba4=Y!TR#zV^Kc;+4-oXuHEn$Bl zaN_$miw&mO0SQLw-qQ6{CD8D{Z+{jt#zR&b@+2VU1QC3?J5|pVbF-me+#t(zxnKl} zI*D<)fsYp5rk~{UCV!32r3vgfW9+xB#ggwAZjh|1jpYuz%f243{Ck*dx?-C>;#kNQ zxc-NDJ&Y_u#hh2qP;ZcqC$T~8BC`c#dIIJcWYWdE; zW7fq%V;^<$RW!}1Fso6ikENH6Tz+V^eIBW@^PtkN1f+wJv})S~TtO;B@agp%abs%N z$ulko4#erMUAk3&AL{8}LBYf01EYBxrz`|=rsr|Zt_n@?9;%cVYCh1|*a#n&a8HP9 zfqhXA9`a6C|GM4?xU=@Bg!r6TS|ydYV_w%7>_&2gS% zW((Rl=lx@@*>3?TuEB8oZ*$MN5I$YYr@srefF$@~Y^O-j{r4UfoHt5x91F4RC#A8v zHZcjCdvhHKfm;g@#?XnPAGsESzsD=@p}#j+m~oigjaVWUdlweqbLCv)J>B?9?i#bV z;dTlkL(T~4*;kAVALd5&R1j*lbr=YRNujeJa1-EPkkZx*Wi&aANVhjMptd`*Lo1o`aniMv;>tXuz(GDsCOBgZ=0K2 zyn!Lf*9@Wfrn8i;P&FgP7it|6NEEfDjup*r9Nv~G&hRKmN{ca~SPJBw4Bsz$FOf7^ z#Q)mp#rw05d`%}xC%-{wXPPLtt&cL8{A#re?}Q^Ot@YE{slkk#mvg2|Y<2kj@Zb`2 z7a8A>=>(mA%Rk#soIUyKbKci?{savOg^y^&s*vZZXxBl7Ctf}WkqyHX5Yf^4 zu_{@{H{a-KEpG+$7bsQz?wM6dJ@!BUTFo3F1RYE8`|-udf=#7SeM4#aQl(jke`@!m ziZsh--#(JyJVf_`S#$KSVQ_5#1r=cNN{mWpRDIA}NUHB<`hxCRPq2m!y7gNB+6RPd z*aLe(D!yh2l+@~IWNyYM_ubvjtk7(4|C?zZWyHc>>ej^@^aV|3p=>MuO#3Vk!3$!> zGoVO}1jnMj6=r^y`X>7dGk*X1NO>-9phyC-6z54~cU(esr_RbF9Rbm2uU$ft&e;AU zOwh8=S)z4(?>;DRrucljS|EvcibjlGkJ(^$B0#$|s@Gv z9;DPhKQlbCYI4>Ii4Cx3jbVsxD%@U|n>mfwUGC$}y73JRgndDJJZuTXYA|d9ZmP=q zdjITGBZ4?V3aM)~7IXE7Opm-)sj-)+La}X6>K%8D7!!sVGoc514=7H6J>lNujOxV> z)~hj#NvZYaO;LTxTd!J+0#DuHlLu9$V=K~`2-)a!*qJe!}9qsgTy}t!jHW-`+jKR0?4O3y2M4FLG55_zt08cvk3A zoZ@>(o~a0Odq}H5$M6TIaaZ+7m&9a<)`*6K8mmO8QO0XlD^nDAx^u;7U~hR8RF1-c zo5%a3MZ)2q7Uygf3%xVUxhj6gZ_o7@vhMee;LC2pis)R}bM*jE1SPJ(Vu%vp+3;Ca zMSfS!uB7rTtZ48K;X`T+fLm2+g-;)=d5KUCi{|4|l1OK^^pQz8&sYI;9*}c)s@IpH zfaC{G7wB2|T&L{P_vy;D!3Ifg1Gf!TUeKyWyT+{S3Zx4&+x&J^QuS$Z-|~QkT!U8a z7x_8Mn15^iy)&}}D&BWVhu+qOY;m&6!0F4Bx5Zd{SB2c82_36o^9^WxAI@KT%tPmG zLSSHP?lF4kAE_|I@=sgyO{z$3V?JNP#T~cY7Mu5JZ#{%-^EU)1k!p3&S^EA<7mQx+=W!PnL{mv(_9B*G|fndgdjyb9eFZzd}Ki6h+jX)*jf(*511= zZ$`@L16qXjkG2wm+OiWyFJ`Z3`35h}_dkj$cDzS{zoSNcacde6(~$4P6Kl2Rsm+7V z-o@e05dbpD$3O_@I|XwyjL$F}k!D%X`;xLBn6gNn3Y0iJ*=4p~MCz{jTeQ1F?`A(@ zw+V9;nUXK}!S`(5{usMX4;h9BArnvP^m=Wn)4$qo>v_?Lr6jA=w!!t^zQLa*FcSsO zSTwOR4r=8+Ix9%10YRL(ODxe~rVaJi+}ZXwq1+@wv+4;)y}h~iQcAkqJKymX_+>KI zRK$j<`5A{^{Iq~rItWNzIDhB=k7&lFRuT0N6KLx_%wqk8EVOW-)DQ5#73c0xmzE6DewqeQ)=q_fUDh%uQszEM#DKn|L;%t`@yAyZ|EGX^+jtsaQ zNW3i1x(38r)*kn%#ZYb(BF!)Q{7VS&D|-f51Zr-hvAN~zfx{7(gBfoILNJp`E%xPG z2&=}@_ol8pR6(@M!e2r-;(3$r&6%c3n9Zk zV-`$a+HuV2hKTpxZ%iwCVB+fkl;MkWJ7aww;HV&55}hN?_7sd0a=r8-OufL7YJ(4RBr2qZJzJ;mN?q;4=L6Pp`V7o`S4HN=Ix?VR% zLP36S72eScjoa(cO6yrSlSrzur&3Ap^eI1lVovgbL&&o{mKKAcqsqR-!KK}8-)#dC zJdEsRc1WG!IZeE(Pz`llvWaf8Iz^P(u*6AZL(3I!B#y0rpkUwr@X+T;e_iGFT;REx zM!KpcjlI6VEh8VltJATL#n73{qQ}DU0xV{f^w*|ZF}cM8S9)rMm)}UL1PeQ-Io*NA zAF#O(#(WLCy>R2*HMOya%Rblg?J|-8qp5_4ki8PJ>Ut_kC?mJtwNVl>0z>MR1G29V ze_F2#%`4cnwG}!-46@B@YF(3YpU37Bj+PFHEKhqNOhh$rTl|I=RD1F`D{VnhxI;Ov zQ?xFP(+VSvO{e4js|0vF2Wc0TbR=~D3}EwqgdL|YsHHHyl8dz;e5*E3rxl9 zSAKKaS_^X1G|ud(a1HpoZ@Ef!_9at@!gt8^$ni9-nehEmo-`t|Y|;vQ!h!J5LDMt< z9P4V&1HN*x^nn-^9|$o;0b%3>+q={`<_>FV+}cKD9m7s5$mo@(RJ{SU#l3m-`)PL# zKWq$eIh8NAcR(sz5GJ=*?y(5j_`aZ=nkj1H(Lehig@uIvn+^<4f3EeZ)?}D#(N@|Z zj1b%vSSkF4RgW?4YK%K=CIMSD?|%?s{bU6hX)V`)UTGflltP!EJiYS2hs4cSkdlmo+T`2wRAGcbt_L><>A1eYR@e^(K%9z`&0HNo%ja75~bd|5J941MS`R0tdb-c;H z!oA{5HFvYjjjto^!NR}jzw_ESY`yETBk1b495Sv+0IwMNvw2+VxB;7BVR?Xva0qX6 zYq-nxON62={4uN~M#0ogR!7|t`HE~{u`V56@f!LmETIIlv0h;QeQXeSXd0$Gu6lR5 zl3$MwZaSPz^*}cDv(!K#drs0vZLSk`A^_6(~gJ#Ac=UQIVp^3ZqPBse~RiCh&WhRBWE&Zv2wLuH`r z$ID?%fY4Hr^(L^k9*k%;8D=c29qxtuN&h+S&xQXD3ZURvDf=M76{RkR>uKeT50n2j zZ(+?;D_B6xf1iqHe(giIV+Iz6XVL0yeU_6{DC6qi$Vel}yFN$THyO`Jj&crv_Kuno zoSGww?Jv`N$2RjZ$CaDFbqkO4!iSE!F)YMDJdc?&G)07y)2pW%^@sY2vC<|5_fFwS zzm4_q@}AOxQ08D)%XKXkuf@_WbEElt^DRqj_9`Ld{ynUk%1LE$J&4Xds08hsmUiTb znA$Qc<%0i=nXk#5%PLKF&d#1X!zeA+LJj&`OLda8y=ih&> zP8YFrMU;Zsv{cmxP|a7eowLzbRh8aBNPn%jX{fa+_R+zA<5?)##K^U*jY*rE710wX zli6(X!cM26jZ}g#BW9&`UeE$R9ePT$z8;=2@b#|2qO#WqhrXG}aFjZ!0oISaPAKhS zbyfF|<2ZWRB`alZV7RrH1ezHMvma?=n6|hX5;!i>$d&ftv!~@@cdUpSMK8e8$Aevb zz}x*kI5OxR*-q4Df`AE0f2aQ@xyzQ);-R!P6dF1;QOFt@BvIsaSEq0%Rg|}o_H}1r zaGwBZiMd;9ju{1(L3`At-q;*2F=d1AbAR1<)@!75`OCt~nlMZYl;1_x2JX?}*_L|# zxZ>GRxyKhhS?>1}R2Z|)e+b*Q11a`}vWK5W8n7FC?`J9s^YqV3sdu9X7J@Bu`#gxv z#~P3pn;${-{gW8;$-1(-%YctJ615)t@#){--I&_3;UkS=>SD=Ga0gGizTd779NWh2 z80?*SqV7&BiR(~H?rsnhF2zpuu6~1giJ`dXRmtTqz(bq&=6)>~D(Sd4Tc+#Ni9QrnUfKZ;m2OKsZmNaF{31@aJ^r+D8L0P(g8cCqMN{U;MX$yt)Z-ET^18Ni+upGK6b z;}{0()FwrU?HE@0zHG7e0XZ&lXK`gO#h&g#S3J+VOlrQ8h(5k^nBtT;tm5QhohR$F z)4)?7Rkr8%_UwZCs2>%^s)9tfjh-HP%%S+iws`Yr$rKZIZH8av9ApScS4N*kJkixa zpY7_WVx5oB&CiRm@@cFb#xKsrAHy13xR(Ib;NeLxa#bP5ovEl?PSahs(+wk+f?dtR zgEEu6Iy71qdSuN8{se{SyTfaU%$uF0o7;Hdd~2GimWSaX4Ow`HuRc%ry+6)lN5Wk% zO2*_9>D=_wYvL8#CY|~gwY(@%kHyZp$*Sb7Am%P>8FY(1KHF&A7NL05;&$!Vt==M) z{`?0vc>+v1XRvyR`@t;o^y9chYWwhXOI|!H8&k=OID3MUY+Z$C66a7b-%bC?!C&vC z@fRqMOLFb(kqAS^WcNzRNjR*$9)q*k^wPkYYY-j?BV+u+9Zy-WpzbBvU0@LwGuJ7O zfyT)(mFOC*IKS3qC&2G=VwgZ?gc4b?o#q@F%Le3K3}>COm5B;Qee$6mH|K|ZT7xF( z;0=*dbSsiX_l68CzQ9d&Hk1E170NHAok$Y2{)g5J3|fR_{iE#n>?1o0Rk4S#O-QGC z_}4nUo@;^(vRw@n`yTUwFe&CQ!_t2EN4clY3&OQiuzc{1P>3a!f6PY?ndLWWk@f&OLKMXM{ z28;`FJqG+p^P>V+{RXy{h{Sd=*?Z|q_6O)@*Ma4=tM54q|A-qIS>!OeMv1R--t(Ik z-s)DAKyKi9h(ovlqn0;`IBW3Hf z*TT;2sqDkG$35B_=3B?1DqsB{4gWzTrF48ri1lr7P4thDSPq9F0?tIfZ;B>v9cl-p zTjeL+GD`)vE0yPdVf^--LG&S|zIR#@9$NCjz~9?Z`iL%##)k$s zON1Vx-YIV!R=DdbZQPURW_^JY(eUG62>#`e_zV;|VINVke1%>8L*Y|eDrc#h)fARJ z@==j=KwFb)FjS04ky0zJd$TUgNv(ghp;rR<770l;$f=m zJ}Y4Huao~qj{$q$@9hlpir=vkVw6+R?D@%|(x%xp3AR;RF>3l4VGQY%Bct1m5JIcxR#y!m8!DGZ2<&Kl$U_mbTr zdY+lWk$5FG@hx3exV53@>QiQq?C?v+$-4Y}=SB&%XwsW>gK}-7Twep*8x)_*TO!6Y zhSZt@e|`{ig^0ZU+%puAL~ij4BIC`?;d0X@P706G3O^o`yF%2;1z+oU{M2wv9z7Gy zqFO~Y4p)K$lRackzhDC{0?z@SIy=3KajUBSE9BDA?-GM`?WT5GRY7jo$b~DiQ@8`0 zFS(Tk^{|!1uSA0ihUPvG!PeAU!CBEo6d(KlG1&e2dvhw`vhy@`?CuDO%f);uUL1bY za3Nss$xrR|1zln$m-x2_qxGOOU8GDKHwtLA;BP@geb}Td2YV?N@GI8%kVJQ>+H~wp0VKdWUECgu(nG(*Uj{puI(0XyTU1*9Xl2{6Uke6&v&+v3 zt7?kmY0kzN@s_$)A5Lu@|ZGGBel^M$p=ZFrV~!(8SJk-e)Y=KJzHX|{56u7(~m7K&jvyK>>A4HLhj>_}vn zS^@km;2`(5BU!+_R(A{6#X^0riugC8Zv`jWv$)Ow(|OKCs{v`X4-+MS#3#W+HgGAF zCo_>Hi}_ZNtnq|ow*H?xt;Md6a=WoUa@B*P$)$JAB4dEv;CDoead(Idl4p@T6K6Vc z-Lv@X(6hJFf@t8tFS^i^-T>qtX0SZ)`E|>KONrh%brFJl~ z{*FdlN4u7%9uYKV2Q{wWv4D;mblODBLOP&zb3q}7zK~$)rk2KczYmqMDnMa2Udm>w z9dhLOL7v43T$ewe}5K*X^bme;%d&&k0 zFt|LC@Hqo3G&SSbCaR!)soermWzZ(!Z#K7o?lgDq63j_U0BmB&ns*uv4EYfHN{D#rs z;+CW9$6FeOBbg@LN=Dq$p?6LIa{z26tVd0wqi88Rs;aJRS=8Uc0+jw>l{$6dmx-B` z4zB``7N&dH`i7iLb;k4A;gCHJ<8J;8hJ2Y5HF5V@glH+bRMnmAEz8`yPfz;Rks>kA zBa*%ZpD)#0soe<;N9|X4t&9in^%-3tCp;l7$L?=POw?DEbr5RjMa9v&!Tam$yxO7b zF(&CEmg%Zv}ngFoJ&oiY6p@ zD<0Gis2T17(3@dMLzBvGfgA~M3>`nyn)W2M9nKZ^PE)OU%s{7Wi zwF3pI8els|OCS`0is*s6Uh*HsM}Jq>oZTNON{SB`zZFJXI4`a8Gs)O&w616{hCLf; zc||S&!CKV6@_mIa)Pv(SV)wfCM75@qxuYbiffP}(f8P_$P+R}=Y<809X_qcFILTEC z6Mib?Y!^+51V)wDEk!OT1IVAAD$|Dn+MFB`Ssgoi1)$R9)$B zu6uVGCG%=}*S1)-T~s+(Uje#F4YvgUbwzo z;>@&Uc&&jUvQ-(Up4pl6-WwPu{L-Oi6xm$zqj0a>=HDsMe|a0U>TX4ps>mhQX@E%F zq;3ox6t60og`sWneqXFx{j4pZl*;P4*UTE(v&YHnK}&Q!g)IlRzsJoj-;C{qB|Lia z+a%Gcb#b9Ccvx?yP46dJD1_hh+y#QnHcVS=gEDPlE-_QsM1{o`IPjpz`K zcnNs2?31(-miRcc+03)>FEdr9Vlak@bInPFyE5 zMI=q@Tk`4$RrX;2NIu5~(@#&KSA`m`0G2R&f*F>}e@DXHB)fm&+f#`;mKd3y8g?a_ zGKL19={|0G!Wh|7eE;e<`PT$iC*4in5VF*Z)xj9I>N5<_r8_}9dK!^RMJe_qw-_{qXjnF#N2Tl zKX5d|e+^`}{!Y2uDy_7^7s6s;F8N0!&Oh!hlVH{+vHNiaLSV`Du$ z1RW8DR2v`WWq-Y0l9iq=T7N$#f2@%4)4955tlcilVIfl_;pMONM_)xm1h7z;(w5D2 z@K`Qh)nn~TMHKJGbpycEPcg<^D7-5BU((|5k|&5+RIiS|{|euS z{rxwMPe1Eu`1=H{;wKB7sk1|Ny|)bF%_3pkST6q3v?;g`KYs!CoR2a7?wU4j!oJWr zNV5@fID!(==VH~D`53$zaw300U07wrP)EfGU##LjB|-`SKQNsL63JekBh^Fp$@&8&r9T&@nN6 zZ^r8U^jFG#VO@`ztN|J!NwIxQA_k$cn|ev!8Fc92?xWgSUHC=NdNURa?bOyUcO@oR z)&kx8gFBfeB6^gn%w;o8#!cd9kX^?vBc-~kV;Rk$7sRxyG_cU(=4}6_0)l~dw&0pf z#z4kD4N0o18$CY3OP~s(7S6LvgEP!wv_+@N*^og`DRSWz+d+yK@2#~U_r)TZS`(=2 zA~ji6wt{HZfQQ7$b>mKohlDPskb*fyX)BPkN;0D|}djDcm`+l3^RUwhH)Kxht1GB)DJ5EPK`w!(sL6zhO6iJ17 z&w(fToY0;`r}r;s66 z*9pdzW{L$gKihmF*+ez><}j*-K&_I zy~j0g+vA!AH=&eU8QcpF4V3wg3~6JFt)#KNTRrQuTBiLUi~WYdq?4n??D_|pm8-Lq z6l{HcyJV8?!f_nm?vKJl?Ky-X?ROMlgB>F4WZ{tdYAn-K>$C!$X|rfc&T;_x%17i> zoJI?e*|-8aqIzZzp)`ws--~&xoIig;U$jAsI8ALHL@aL00-a(D1I+tu$iZ{Ih1{I9?Cef%VGH<%jN$q;9rqkU> z=Vo)Z2Xd()l{?1#b|fD1>%FMg99lHx_1i*~Vl9W*!;6E#{H;T96KE}DaAZD9Pw&g& z==g3Q5KDfz4C`1ms~^2Ey~RvR_=9fTQ&!VdLT?oaBfg{)?GKsM^O-vkCk(Ohn%sa_ ze;uiL`LzuUO5C}9{iZt%>r1)A!q##Da%F)krYY)%DH~IZC1Y}+P-f}s_kuJ^6sdXq zZJF9SGlEiI`4t}a7>J0JB6JUSJ^p#P3&c}eDuK`Wywu8$?ms|ztos*pvV9!N5n4rr ziI8!b7-w_UYx3#WRT_l~=Z{FfmcucxQ2FNqd@4wjedaCo?_bC<5PLpRwn+KG_S5^Q<+jq& zW$Wjcn%h%_00NoEUbMhq<`6NdV{0fBN1^dZ>=xJYUm*}Qu}4(;%U5EYvPI!lW&3HzXU$b@Sn%mcIJl;$Kd5OE+Me zzsdjbZuOYlmNif53%+T0xF3C_mU#QK0?of&FRahHWOfAu1L%7!uE0aAHJ( zWizwrTeQzBxvHl9xq!>&O^7Z8_Yz7F?Ep_9X)C8tS^rT?w@Hi~6FfYztmi*XdG3l( z8YdjgVgzq?a&JDV$|jHJi@d|tQnwOl0mYw2*;cV50*ShcQYug`j zTlN1s95#9kTScCVU*$pEFw<?u6~To8(m zsJb8a***{wV6c(3nH4?kY_xjvP}`(#3^Xz4dg?rXTHT=QQ^f0%+<3sF4hnWHwGZDr z)Tq!)O(1twdh+Pt_uJxyyZ-30Dcv(;xgA#CXd%GJmc;xG_5@BCT_O+uRGaa933+M? zvowvFGhiDDnswXMJbKFBYsl+lRXIGg8-n1QMiK-cxds>P^RKs)P<$mVDS8#7N)#ER zLKKJKgX`t9qz7|kTt(NZHSj7+l_9*$Z2Q9P-stm-*5;?ONj32)Pdj?aUGFu8D)dYL zWX0|8WK`-iWVTt`!Pi~p&c@t_rIbc}7Fmw#2f9wgU6SxLi-cg9tf zev@wrJg+VLha6}1$C97oc_n6FG0vZDgL}gIuXwMT9PpnoG^$FMZkrmO2t4MK#Qnm7 zS7Uo^=%)NP=T9m{^cgJbx&AOTM5RSdo%4|8jYtxjY%4Y#PFm!v!{c%5f0hjxFtdrj zzN1-}#nB3B-va}MYN+mIPVdrEr96SbD&u2BD=b}o^mLy4*C(q@Nx8}qQ^Gi`=uNei z3^#P~nNTZ`M8$dY&x$6s)HV_&czTg_oCLH9Vm8F9Rek^cY-2D`roeozr;A z>-Q|~G@iGM2w{P+ntovFY$<1;M|~|gAY4QCDC{7XT@;bHhSXbJ1ZlKlqM^6nO$pX! z_t`ySOIc+q+Oes&rf*Z^=Zw&q_bUCUL(5KlO(v$}-XN(=gKFE`*a-!0r<^1KmceW0 zh}jYG;oIJ{#wrnM7%s8Gn-I%3D*Q2>U9%;7x(tE~#p_#`e>pXVhUu|0phNkoahW(- z!>UUE(&N-`aJ69f?^vd#G}Jqq;2mo~`L>bOcFb1Hq(jF?Cg~6+m+pf&L4R8%I{vY! z!pbr33x{e9DB%KsKk4Hi#*`Vsh^>^IZoiK7h+!jy(h#}Q{rfUB8o~$%#J4GbM%foX zn=*ocwGA5YEcpj?q{1eVgBv9Jv`Z@j>@@zWVqdByIAFIa=yl-X)wyHGm*`0_%~w)3=1Yu{j(4Gh=DZ^~wm>@8E3dtjC*Ssr&=6|6beiDQ3WT z%mXqcwt`9WhsI&p;V_l~S*t~t>@gWHrSN~=5nD+VYGPy#*IRO@VfBvg+iZ-;)N1`n zg#yXv5~02T6d^fmwsHtw&=I-nT~fJYnoFPU`wc`!$kz zexVoE(ncF**nIU_UEN9j!POrU<2H+Pz0Z$%XOh6!Iy}Wr;Gvz_$lWwBZfI3v!Zic1 z_e)Er^XdF{cY1|_a>cd-yGGEdfkF2sl8XFRM*2e9?~#PSGi~>>jY4x;G?oVM8(Zm_ zHSrkhMa4->#2uA-@zCF(D!(Om`Q|De%tr`4bsnuEGT@p!PR+GH?JAnj=G;zfoaN1I zYG{~F4%~=&$DPm<9jMhDkaolm$Gdhw>jR@Iz>mN^7xt*=Fe==|ghz#Vm&_c`l`j6% zo3*>|8Y3ms?+R-_=Kf;sv1`X6mZZ8?WlCu#%~zO)Z6IA#)>FoU~uiL4i!hJTtmdK__Rkp>T&v z_}&6?#*>!-L8(jP?H0xA##S=)(M#_p&x9dk_XXF49EHB~*#N1ik}_~oT~f0kYs8f9 zfTufBZ-MclyBA>hsjz16z~T41F$z(A0>@Q)E1*3YtVZNTOi6h8_M>fuM>^C;kEiZA zM5@FJyf;kv^dyqXy^mH&1e&0#h8OI_u*&Q0NiD1GeNl$SNftT>PartuzNl}YioIc>UvRYB}*W~|3nXrfA8IIJa*ai-J# zy$ZrTT--17f?v|~x^4VazC-jKgDk;q>IzDuGgj0VBRr+zgzNA4HT6cD^PX4in+VXL zdkw*OL2B}hj=%6trtP+2i_q>u;cVq(>hJKd?!dfBJ&R(Iw;-@F&FKVxbUDTws2l3LyzZF#k2Nvs=jC?;$E z{{DB!rl3C*cQZ@{cSfQw!;$wuQJuNgZGTL+13LH2vuEEHzw*7qs`G$mG1j3y{RMyH zdDQ9hRq5v-U3c^UD2y#4%5>oF^S2XT-pC8;OOk{$z!bJ-9fUjr-AJYK7m{qzAO53Q zII;Db7LM12Fq_83ha)3Lor-ibkaE9icJ^i`iiRDA&Ra;mo%oB?im)0`)J~r z)hSrKO6ByE)8{YttVn64#ew*(3`;U?SffRR zVvjar2g48F$ZC=-3J#M{%@((#QqfoO3WY=maAXArWZT#`Kk>k=KB}g$<*QA?qkk0X zn91tug4Ugy10CF@it>DU71mBDftx|?J>lDnt!2-{o!K~ah}E{wdENPo_%8ETDu#cf zlq=X88(9R5jplDI&^#tjLkm7EI-O>@na>F*QW^*rUIkSwH5S7fE9O2~STLdeJmJb5 zHgeY}4#@gig_;=p?udA4>~4RaJ(Lb=9WDmwJL1~nP9K;^T#f|N~ z>259JF*fy*me%=?;smS;(i`az`#f(3Q>P3 zlyuI-abxw>w^SMPpG;>?lYUKldI0qx*UmeL#1pfs%Dt}Mys9cYFIM1>RPt%UUK_~E zn@^zv8p+~ke--#w#0WPrpFZ1R?<}~r_Q1V?CwQxx)B;KiinSgG3%QWX%9+yT=H!z< z)Yrfn1r7PNo_sKyK5_U!M#lkRS~y6e9ZutuFs?#M68dZ2O0916=ad;XQ#Elugq0OB0z5cH9x<|NsT+9#v1$e=WUbV$ zJI)4$sjZ4%>T~}F$2%Zx86lfd!|JPc+flQM!N z?Vh14ChoVG+z^rcSAJNfnT&F!`luEocBqO*mno+qWg$~(7cneP-Y@G~lta=8isa*- z#nmUHe(dY3G9u-N!%hK-vUX}aPTGvau%_$6=bcXLkUSvhNslwkmJD8G&nuCaZnZ z@@B0C%>UU~x1Lez5!(Z*DEkXk8?PNmK-0Glx7Iepq}W&IQ+NDqiwNmQGsKJY3n9GNAnROlommTZ~S;2mVGN;F6=#hKBA{%>P!BrG$Fr$p-vT;_ZHIhnyWfCwZ;LH8m)%D91k90pl?1tHv_+EVnwU!2kD(oqnVqGx2>0V= z4W=#cx?Iap_r%C&_S(XrZ|Y0FHl76j8+C(sSDZ%Kzari-t{!R(v$vCeO>~*~dmD=v z_PN?mpFlYcziR@+BvjzdAy#J&2JIR#A)M{7o6m)yZQ~vR@%azWXSC?lV^hSoLc?`c zzQo0ii&H3;YUmyn2pa2fFXzN(J>pQO+=+w~_;Fn1b8!3+dTj1UfsOQ@g1tY1Av)i0 zjg;Pbo0+bz(00GXJf%d(s&&`{xAQ8HP0#<1);BxK{Eyy4ArR3;mRTw;`eMg`c}7LP zX8*H_n~#LPhQWPUv7X=%#{Vdwy6PiY=k*J4!$>>tl$?W++}YXrQN4xd3#Q^tVP4PZ zIlON44$<`;lVXY{Dx^n>-$5n7-rK+-aOMYpwj4&U~(HE=C3ULgJiy+bx@Qqq2-+6-N3 z91MM%zA+Fp$#1$;ul=-71GZyP|65l4(Pu9oCgmj1!^)=;1%G4im2+D&`40GFQ(VO) zk}U!nOZe|}?y{;cMXh3Zu`(cZi{w1 zLf6esPH#tYMQ*x#UTyjZc!}j$a4)u}>NDWm zFDA&HUzQ#C7KN@~$ufj|TLk=_b9S`U^S&NIE-q^w-pk|C9T0P%yIg{9K69RcV?IAJ z)85#OXDpnF(@-a+h`sKeYC?h@FJr`1i7y&nyI8wu=b84#YnWS5+vHI6}|6Qd2eR-j${XZw(FA?n-W#&OCPb(IxD50 z$QVa~k42C$TVAk+?wY%>1w=Zkfr(Opm0~L?u&N%tR{6blK>;-%_Amc{i-IvwX-iMK zOOz{6akcG=Dd{G&vzhkB89&UM51Gybe!?vXT;f*~TbJS_z=*l)HT;PsYglXDo|0 zWt83tLpzs*I$^9rJ;KT3>uxY34jJL8>Wbwt^{kW=;*_lUW!I6`yM%QTid2GqQWt=< z>ya6A2A{yZ<5iOKgX)t`?z87BCetZGCSHttai3DO*!A`u)RaN1fhYh$5)e{|*G;7Ivy;Y-yabQa5y`#CR&mH9R`&!|ZH-W6-Fb-fn3F0>052VO@XTUXP zn$7xqi-23M%3szQo)@mJWvTcD3#yw^N6-s^t8P`ZvwNE+5VB3uUzZ3w-p_uNRfe(d zlfZo6G3s2F9_QmV-Y}Bf(z4#o%+A&hcZ0!Pq1G+{oH5ydNY>IwLN1WH|0sIGt><*= z8XeJoQZ!pV>+9RVciB#bpx1xC3VFP^Zu-qK0H#Sm;8CZAgyto)FdnkFL~BD-z?H_; z3!~y%9*@r1^x4W44c3tRz;oZGFZI$;dCn^T8U$B>yOB8egWa-AC0AveH>s3 zgZ%lqg>7;7-MzJ^nRbZy`gEY+AZA!S=SrP`Axly?f*F3eLs=wRO7g((3tDOqHY33e z`lo>QeC}4IxldW0r?VNv1(RiY%BJ&c?HC|&;xjq}2OIkbI;`%W%%Un|hH!^9-F;Fx zOvzs0s8f2)IW!MYdq8BHGM@?)D+#hSfj8hvGAr&`IJx)E@Z~?g@vZagV~00cZXT*f zi%4G*A5k5b-3enbpYCHVPAD|^68l3^n!@lSt@YQ9N?$M!p8w12e))3VgGFaQlL))a z+aCX-M6bapyn>fP?R@_Q?X2AY{sN{v*WeR?ytCdqb>#)-x#X$5S zyS>wwbNW?43kpaPjxB6EIWiuOQ`L4XQNzUgKiA7UlkO49@N=7=N=Y|NP)X^|sem-2n}Kw9Nll~#gh_XIH>10ABS*g9 zzQ3^Tx%b@XbzaBul8KM(#~8*|!wCr5l(9TifD~x?`n_ffo;I{F@6?))e)nc3SRqpQnX`+)!8i1tO0Q9G&^QQwVz z0~YNNQ%kkmRD2z+6>i7Puksq}qnXr8n%jhQtkrhX7AAzzUbm|B?D9U`by@NA=bd~H zvted-rT%+`qs;Edz;+u_Iy6bvlu+9@I-Z0-j>ph5EqvIMAm*r#Alu>V086_c(7GMP z;o0M>{>%`a8~Fl|pm1U8Bxjz$L_-#P`bIn&(AnEZK~SbSBd0KXm`1bmNkxf`uRk0J z8Qux*(I}49t}(XZxHfxedSaMFh0y8LWZN+^>esf1<8v{y4{c-8lWt(&TS+m_))zgz zNA5-vx0Rr`RSagz9Yw2aQ?ylfUIbFVxzG0$??CrA?gckM-ArM6PvWMMTWRS2)(1kq2vKy+vl^o06gW~zGw79}AJi>S%s z^GluO+4N@Ca1qQH@DES$h_4WXwSa}tbekIaN=tw5uXzu^WWyX<2grin%UnB4jUua< zV?7N%Sgmtn=EGVR`d)E--p1H~I5bU#CuV#Sa;X>&#bRa4Cd$RXLi<77k%HId(+_lc zW?lkt9j{t-p|`oz`I(AxqRZqC4E#ae9IH*NDohcN(~zSTZ=WOcs0vZuE``Ou<>B(X zTdp$bM7D^G1S%T+>6swhfX}a_b!&1ae-F}`8V}O5C66hQ1^qe$6p=E=z&EM7nHIt8 zq{oHG)3eQ(MgRJU+Op^(B`|mY-KQesJw7Wwzj>*Qi@|=|hsk!-e*mP-)9hwE!NdFZ zDHz#jXKqog53D8ILE2!v<;^xBf3SXQt7TJ4nEAz4%mw^Ez^vIEQ&`HukZ`F8RHeSy zLGzp@p0+P$>&ggUwEXgcXKmy^z~}LW{3iko1aMQKTT(qjWHH;rv+}*v-1!CT?{ls9 z!5;nteLe(tq?=UzYlKB%Pn`d}(zpusV!Egm$@*kD2!D)u(H!FhI?e3bA!X$AJaTgXyFjK)R}dmuNTZ6*XN-g*lDT6NAn z^pE#JEiZBROxEHXC!MX<-PyqF&5A1ndp9b%mZl-s>8i)^#cdo9@6jrEye-E3&4B2j zyS1($R;%lBHX3$s9U@ASM*3`~uN}fD?=4bN>oyi7`zds%H8!R>wEVDdT<}F7bfk1I1;3pD%;CJSxDxelfCT=0-v4aQ`ro7gv!mP@VcVLh{GDi`^cO*tSigX(p_8 zgUkBWzk7L(7eZ02Vx5a3dDMH2omVhHtYEiqdvxG{qf=>nQ-dL?dXL(c)&Qn~9SDgZ zLvmMwl7B^r*S3dF(x-1nF$w*w2_13I7&DGc^&>9#-HZc(%9$!LODzFS5e3Tql?s~E zGmMXRlR|3@2G)J|_ab!G=CR5xG0Oa3bNcbT`t7&T8^V5_o6v|PuXL5>aLptJ3HJtP zoY`in%8Vrx$a&EiJ9mEk!`fOtL2ALC^umSipiSD=OX(;!)6G;NYVS&bl!a_aZG8{4_GQ7+%XN&(efyB(+u)P|My7gYS{3UH|7e6 zq$RbjA-asrMqfIcq;b;)^=#jLS%1>K0Uw_rSyTzNqg0hAEeW1=C6on;e-jL@F~?$Q z!)vT*33~CZDnIr<`YpD<0=m}R7K}3HEi7IjjQ+Xc@NH}pz^!v{RcsGW&-%J0p(;2t z=qwNlVue2eQBBi5ZTxj{-S!C!@&g&Fjmz76^awli4fTwAviDQoYV!%s=Lz8)GQTix ze6o=si9@59%)Q78UXvtRGXQ;JoP;@=&=83-pk336{Yk0MIYg1poILhkTv{*}btAkM z^1DPMRA%6UU-z+&rBLkzTFr!UdI~Olnrz6jN@SeD_=oT3hBgx(ybFc#vKdSI%LNF( zfCxA#Ny{?ei%DJgw?eG^@MO5BnP%ZrY1Jkxbn1kvucAg>l;2#AbHunGjjP$MTuM_8&2_D= zdJb3+&3CX$;{qSuFK)tN+=ZERPRgpJB*npN#p<84zqhIl9lpg{9vS;nN@Fa3Ys^u6 z1=Ax_T}Ilfn9sV4Q&harigr6);=>2{!W;{9AmlTf4YQ~A3}SNB$n(<6{`Z2xcX07M zyL@e>FS_z?mT={_I%t?Z`qjAFCsMhehF#wfvAe9AVWRUnvsn+@Ayz$4`|DQTLw{Z` z2bMR_{RXHlg8aiv9?F(#-n!$L6O1!<=-Z6v`#PfqQKMeCL4zfB`0PKw4SayUFOKnH zyt?9zWYfPct%%7Y_#=HT?K@Yf9qki8mA2dCH@SWS2tM@|m+q*z|NN;s?p5NeF;hhh z1^WQ#o}rQdRh5D>Mb{4c(DU88g$P5Qo$Oo~d3c4V7`zqZcKvY%1=)T+jEj~#Hd0?& z7o|MbDCs1S`Aq*L?Y!Eg?a1Tc(A&*gr>LQz+8(O1agzu^0uFt)6%=f{jYgWn{ea+r zViQ63F*ddlZ4qS^ov&?(Npmwz2nc7pErg|v{U;{ zFisN3r9A$WbN{PSuvObgY8{ulIv6ZXHWVIlUQtQ)rnCJ+JxYQEBL!6eAdr@@oPV=Xj7-y09iSnYgGZ3=U}aygPT7LuL1 zk;$Q2D-jj-3KNdKm!6`W6gp1%Qc%c)uX|Z$Sbl(mxhL&uoJ$MYO-`6Mk&BpF?Zy0| zj_sT~JKX`87riK-cj?7hTcW8EQ(pdXPpy}WkGPchtFa=dPyA0X!APF5fSyF+T=2{& zGyX@Rib_@h@g~jgD&sm1QQnXHMh1DWaol`Fe8eS`>=0I9qGope(lF+;j2rg7bHC%$ z)oIayVgGexoIds|CSC;wS!ufg5w&4|rxvVb93F;{1F-8a9+DwT z?IjytV&bsTYDbn~gzzdsh$ROPJKOT#W|7mAfTTnJB0QXoZ(H=L^65Owx+%JMHA%`R zeh(wk`Wp(JXY;F7 z0`55>D^ILVRg;i6eoDcnh_O_PW#?5TfW%0@ONPTv>P$a3HdC&=wkVzKup?-49N#XN z94V4scyKpcATV5VoAhb-2S+BXG5@~f#d%DiA`pH^NF!7(sd{nx*Ni4&(YI0>lr5^ET^n-zxAB!X*3*x>C3VSgU9XBvn{$P|^e*TkQx_9S z`EeV)Ep2Lzs8haN9-AIBt3yv{guBM}9#X>@4n_)LzB3vSD zl_6Zp-3(XlAe(Zp&xnq2gz6_Fp}7u zP)$gD5Uu~+W90KsP&Q1pyDCT7pj4*I<#B4#xM{(oayT^fGb4*wSnExB3)BpKPWJCB zJiOq#-b6(stFO~$WEfGvUdGo*aNtRcP|=B$p;xsM#Z>#qSIzrBvxCf-_yqjfG0-KZ zC9aK|U?FwPebHRj+RVH40zP#sD<|e$N#dpAT)-M+&l=1|Ntkx(Lb~nw@chHI5Xu!1 zy#bGrk$CW_Z>~f#jOFnrTQMwtu2UjzU+bIIWcv|J`6`3+M?%5HAryhWL!!Gw{dZQq z!{gzZJdbIiMf);Tv&0p7e@_^-Mypnz@vv&qIrC7H|8ped2fVesaBh_5&~tx#xM#`4 zR^xEDu;l*xN_vD5Y^EKuSIoZLvNQ)bP1ZkzXhRm#n5soPz)M}gu=Xl12VaHyu($3G z9)}=-U7;4Oqi4kRd%E*e&kMrXo%lXE0~y<1+vf6APx=XOI%qMB z9n)Qv`%_GikL|KzhZI8%8T06#!D<23l39@zJP9Q>^lAN{IvE0~0R-3He){0eXlh>b zSzbMa9M&@=L5hZ2XHB4M@>1q?={kp6Rhg1Y-x3#EWb0UGqgIu|={qV-R}~=1bAR*w ztmjd3Lo~3B)dutuLVQ%Jmg7t@qG(bu=uYTpnz8(gD`q=T40iD0njSr%Uq=nAp=`|m zJh+AR>rhU=$-D*ss&8D9Yzmsl{;E+lA-BFw9|ONoS!a0B1$|K)ilA(@o?Em$SC>Bi zqdgvi-YH|_?S57^JBBwrzlFC4qVWSxJdkeMjdE?QMa0$BB~=CdITsajh{N~LHzOU9 zKsb*xDFyb<7XP)FzF4@slyPMUEo56RDfx8mkpwY?oHhIhP-w>q=rjOYg2}8^(QB&; zRN-33;P`us@}{N)lKma6$%b(n1*tumwO=wXP_gUnWGe>;B9(R&p|_#r2Ne{oPVx{1 zJUZwrZM-zgtI+@eEl2O!BG&Z;>T!L1er@Aq23OVan8~Eo&dx*D`PxD>DJL;v?#&Ft z(2Ko9rR{oP1LQfv{{I%KAAYKc2GAlDbG}4ktm=9w+NBa;V#rlZjdlEf$s;(76@Xlc z*|eD`zMltWeFC@N9h>QP301l;<>?Jcpp!QRIH+xuA^m|$`#O74iVy)bKsDxhC7d8- zpswrh2=@^X#B#S5Z2v+qCz+|aVYGYOUqP`@1Q`9C<#z#V>U(lLuX9jKMTBVS z1jedcIq_LGVvzg`U*}+gkN!^lN#4C8s{Q)>v9RWZu!}i|wr2_D+bv>8 z9jZ4;Utq5x2sp2%VUvtAjT{X?=Qvfx-Q(C#!=UQ$&;Tn~cy(7@E<>%RrzlNBi))*= zn&jZCZ}|IslA5VsS>HA#>FwSWz;@~n_Tv~?Ms5pAv^`@b``%pyAbbxYskTp?iuNtB zQXL;>rf9J_|2bbs=MJq;W2Fm|#S09vVk%=4e9U7(h{nIzfJPm& zO;1_j7ukA}M1$S^hTD%POOANQoYdbtiD5rsJ}oj;#>V%ay)Z*x36YNN8;{h4$=;T3 z%wL^-h@e8o${{9zrMSl-=gv_GPj5VD*q7hM4!1RvKAuObE93JGE^X%e7`BTGysGYY z+QwpQjRZYmS(1y&k>ze9ai$zs7iGiH=TU&kECwvy63&ql1n; zK2WRmZg${tioP8t5!9_}Y1MQ?44R^OGXhQx%iT+^@CCQEJ-B0WCS)3f-}Y)BiYvSp zn7OcfK)d}|&GWs?2@s`7Smw9<)<0jeImY=R+iPm8uL-!+f)VhiwabQzm?)y4Ml$af z1Ed-A1=+!v`l$3k`&bWo`?Mxe94kdZ8t!%(|M_2oKjV#N*t*Fmn>jz51O9nWWs z&R6?Jw+y#ta^dpf&O>PPvkvEmjhYr*CsQ3X4Ab9hyy!lws;j3=8mQMMuX=Xg09fbs z8k9+GMiV5xE_$2XW8>p$>6-U13q-CStcCI**3zZcwcg^C?$?wBIeI+#@;^) zxx>$&>BI>;n6@+)m-!O<=>JIH>3`6V?8*6guu9cDeI*%QsiE)TB;g#_{%Ctwz0uyK zxoJ4s6Hl)>NGAm5j;8n4>sVHMf5`wOK&gD5dFtI&rG2|xh+#Q6cv@U}19P8j(T5dA z%iV0QzU8@=s1s2P`BK90SUs>FV=laB{zm0klCci!1@?)iS%1kA!}Fv1>pG9!_l`fA ze=6?ikacW-$#xO%ukc=IMS{DJnv*wTKgd%V#_5xP;CdCM2YAcDBv3TvB(MI#%zwkw z=QW&8ZL;EbjyB0yN2ne%R-7WU&t@Z#R@P>t)fU9NKkDS7s1{BiCUyXY%{6SvT~xP@ z%Nc~^jg{LSRi5P1pjg41FhX0ISG47=Ax$;{f2p`D|0e$4i6ZZ)cHwL2XU(l`3q||5b1DR6=Dh6Y*L*IM|S=s_3)Y}(fUBJq{ zIQRHSv)7f)?Y`yWJmoTj*xLWV!lscI7V%)hn36#nhI1*ZCxTb^s{8FV@p0xzXiyDT zJc+fw;xD6RY^9wB0B&lK#g{+2y4XMJrB%JW1~w0Ob+)i)g>u#uP)9dRs%iRNU#kw2 za|$&N({+!EqIX@GYQs-7H(^U0n`&8QUMe5$e1W6~{Kn7nOndc+T9PE+m;{dK;$xAO zGE-x=nV}i#hb!9Jr1W7QwV69LNQ->vpYRevMgg6Y=)ga?$BYFT5ZdE@c(2oVl@xaw!5wDTkKiuRX$0w)8YpxKR zz$h0gPM0D&;)3HlnPUFViV^yAd!|sYkUggK=Dxg2poM0u)mUY&+`i_mnPh)T2Cu`q zVZ}%RMU)gd7MI9W2f5%F2_Iw=_4OXtEAvJPE)0vJB;Q}m&DAx}e0Ww)Zn10eU3F{6 zw17`qojEuYRoszF@(*zqDfMb=)a(J@qOCsdqXK^u1s6-*X5oA0ABown31Z`y{)p%< zP)$HDh!S5&*3)$ZMlt&GqITg0Y=>aoS|SI6X#^|P!O-_Uo9%8xuFt;xLza^?-^%=XU=r<6CyYp?;mOU-p}7Ht5r=1I zCRe3fcAe|nUhPdlcg)~LD~qudj-41QGXPwjz1*MZk%n`D@#>O-!}putVg@IeGWhfu z*?Yn9J~snWigP|D+Eu&M+W@lQTs~jqI0{~^W|XU9V=A~0CNi3rb>*1=alTGSidh)k zDn!4r%}4&Rt(!Z{d)^4isgnE;@B@}x6YK6+;ZU&^n>qjbxPE0N7!?odYKup#%HEU z#<-O&8=Bul`K(DQt|$7x>y0C1W?xB0bh+^1x;VCrWC+~aR zz7gL&^yTC3kaniv%#Lol(;aaCMl#=|Qd-hE&KW&A!aMz~;=+4 zzo8qKnxpDoq4uV6_({6`0BFjKTi5aO?~6sKTn>a zTEO_86;XOOU@Fqbo?0nrMWA?wo=zF9aMnSL@|Llz>@X#WNY#yYT9iCUiheth{ffQy-Cb~D#-VY`4 z(+=+Ddk|@u-I%U0uP0klUUgspHZ+;^{KSR7W}|BO02Bg3Xud;n!cSC?TYbm_)j}pr zYtg!CW8T1%HvJ$QiuzHuKc&6bymQY0pSMcJ?+DtD;Rw~5SZyUFN7(VZ{8`HjE1Ope z?9~Yvj!+R&>f1)x@EPh2#{+ruwdiA^lwE-z8u*tt$i1lJY`7wvI#PGSo^5d)!)>1* z(DILr%p*it*pkDiJUnIfp~PA9xpFw4Kiz4L)1uC&vJ66roYc#tzH{T z1IL(pe4g4X4*ty_W`l8>ZUYk?aVL-+{_MSMEL@#C&U-`c$% z_*)UeVbzw_ci$q==A?B#v$3J$(N}Wg5e0rNl1l14={CI(H}uzsP5u}RVP5dky4g7W z0WP+_PIomMuk$|r)YaG#nyI96Ld_PW=5>PN$U04+?)jai|BuM^Ga!*`>YHX?31wOWIQpU;o%<>WA-w z2o&sZ{uX{!%K8STCsAM{m%uQ4``fG8h`r|Bb69E_J?|xscIu$ynCtj^U%l`MKf_

m`BfT2;D7oTo?cByZTQeTsM%&!@uQAFl{T*95 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 z%0D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 T6c+79Apc(8nx0%ovZwwJw52JF literal 0 HcmV?d00001 From 045789c3aa81f226f0fdc97217a91e6ad2991db2 Mon Sep 17 00:00:00 2001 From: Emil Hvitfeldt Date: Wed, 12 Jun 2024 09:52:32 -0700 Subject: [PATCH 2/7] reknit --- content/blog/recipes-1-1-0/index.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/blog/recipes-1-1-0/index.md b/content/blog/recipes-1-1-0/index.md index f8c69c912..11659402b 100644 --- a/content/blog/recipes-1-1-0/index.md +++ b/content/blog/recipes-1-1-0/index.md @@ -15,7 +15,7 @@ photo: # one of: "deep-dive", "learn", "package", "programming", "roundup", or "other" categories: [package] tags: [tidymodels, recipes] -rmd_hash: 2d6d3d7956133624 +rmd_hash: 0b7a7500441aa5a0 --- @@ -25,14 +25,14 @@ TODO: * [x] Edit (or delete) the description; note this appears in the Twitter card * [x] Pick category and tags (see existing with [`hugodown::tidy_show_meta()`](https://rdrr.io/pkg/hugodown/man/use_tidy_post.html)) * [x] Find photo & update yaml metadata -* [ ] Create `thumbnail-sq.jpg`; height and width should be equal -* [ ] Create `thumbnail-wd.jpg`; width should be >5x height -* [ ] [`hugodown::use_tidy_thumbnails()`](https://rdrr.io/pkg/hugodown/man/use_tidy_post.html) -* [ ] Add intro sentence, e.g. the standard tagline for the package -* [ ] [`usethis::use_tidy_thanks()`](https://usethis.r-lib.org/reference/use_tidy_thanks.html) +* [x] Create `thumbnail-sq.jpg`; height and width should be equal +* [x] Create `thumbnail-wd.jpg`; width should be >5x height +* [x] [`hugodown::use_tidy_thumbnails()`](https://rdrr.io/pkg/hugodown/man/use_tidy_post.html) +* [x] Add intro sentence, e.g. the standard tagline for the package +* [x] [`usethis::use_tidy_thanks()`](https://usethis.r-lib.org/reference/use_tidy_thanks.html) --> -We're thrilled to announce the release of [recipes](https://recipes.tidymodels.org/) 1.1.0. censored is a parsnip extension package for survival models. +We're thrilled to announce the release of [recipes](https://recipes.tidymodels.org/) 1.1.0. recipes lets you create a pipeable sequence of feature engineering steps. You can install it from CRAN with: From 1ff398e67721560feec0ecefb0707d965ff2ed88 Mon Sep 17 00:00:00 2001 From: Emil Hvitfeldt Date: Mon, 8 Jul 2024 08:28:24 -0700 Subject: [PATCH 3/7] Apply suggestions from code review Co-authored-by: Simon P. Couch Co-authored-by: Hannah Frick --- content/blog/recipes-1-1-0/index.Rmd | 33 ++++++++++++++-------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/content/blog/recipes-1-1-0/index.Rmd b/content/blog/recipes-1-1-0/index.Rmd index 49facd942..c236810c2 100644 --- a/content/blog/recipes-1-1-0/index.Rmd +++ b/content/blog/recipes-1-1-0/index.Rmd @@ -46,14 +46,18 @@ You can see a full list of changes in the [release notes](https://github.com/tid library(recipes) ``` -## ptype information +## Column type checking -A [longtime issue](https://github.com/tidymodels/recipes/issues/793) in recipes comes from the fact that recipes didn't keep a [prototype](https://vctrs.r-lib.org/articles/type-size.html) (ptype) of the data it was specified with. This would cause unexpected things to happen or uninformative error messages to appear if different data was used to `prep()` than was used to specify it. +A [longtime issue](https://github.com/tidymodels/recipes/issues/793) in recipes comes from the fact that recipes didn't keep a [prototype](https://vctrs.r-lib.org/articles/type-size.html) (ptype) of the data it was specified with. This would cause unexpected things to happen or uninformative error messages to appear if different data was used to `prep()` than was used to specify it in `recipe()`. -In the below example, we specify a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any problems before, +In the below example, we specify a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any problems before ``` r -data_template <- tibble(outcome = rnorm(10), x1 = rnorm(10), x2 = sample(letters, 10, T)) +data_template <- tibble( + outcome = rnorm(10), + x1 = rnorm(10), + x2 = sample(letters, 10, T) +) rec <- recipe(outcome ~ ., data_template) %>% step_bin2factor(all_numeric_predictors()) @@ -76,7 +80,7 @@ prep(rec, training = data_training) #> • Dummy variable to factor conversion for: x1 | Trained ``` -but now we get an error detailing how the data is different: +Now, we get an error detailing how the data is different: ```{r} #| error: true @@ -90,17 +94,12 @@ data_training <- tibble(outcome = rnorm(1000), x1 = rnorm(1000), x2 = rnorm(1000 prep(rec, training = data_training) ``` -In addition, we are exporting the two helper functions `recipes_ptype()` and `recipes_ptype_validate()` to extract and validate ptype information for a given recipe. - -```{r} -recipes_ptype(rec) -``` Note that recipes created before version 1.1.0 don't contain any ptype information, and will not undergo checking. Rerunning the code to specify the recipe will add ptype information to the recipe. -## Input checking in recipe() +## Input checking in `recipe()` -Every recipe you create start with a call to `recipe()`. We have relaxed the requirements of data frames, while increasing the feedback when something goes wrong. +Every recipe you create starts with a call to `recipe()`. We have relaxed the requirements of data frames, while making feedback more helpful when something goes wrong. The data was previously passed through `model.frame()` inside the recipe, which restricted what could be handled. Previously prohibited input included data frames with list-columns or [sf](https://r-spatial.github.io/sf/) data frames. Both of these are now supported, as long as they are a `data.frame` object. @@ -123,17 +122,17 @@ recipe(AREA ~ ., data = data_sf) We are excited to see what people can do with these new options. -Another way to specify a recipe is to use `add_role()` and `update_role()`. But if you are not careful, you can end up in situations where the same variable is labeled as both the outcome and predictor. +Another way to specify a recipe is to use `add_role()` and `update_role()`. But if you were not careful, you could end up in situations where the same variable is labeled as both the outcome and predictor. ```{r} #| error: true -# didn't use to throw a warning +# didn't used to throw a warning recipe(mtcars) |> update_role(everything(), new_role = "predictor") |> add_role("mpg", new_role = "outcome") ``` -This specific problem can be dealt with using `update_role()` instead of `add_role()`. +This error can be avoided by using `update_role()` instead of `add_role()`. ```{r} recipe(mtcars) |> @@ -168,7 +167,7 @@ recipe(mpg ~ ., data = mtcars) |> #> ! Can't rename variables in this context. ``` -and the first time you saw it, it didn't make much sense. Hopefully, you figured out that [step_pca()](https://recipes.tidymodels.org/reference/step_pca.html) doesn't have a `number` argument, and instead uses `num_comp` to determine the number of principal components to return. This confusion will be a thing of the past as we now include this improved error message: +The first time you saw it, it didn't make much sense. Hopefully, you figured out that [step_pca()](https://recipes.tidymodels.org/reference/step_pca.html) doesn't have a `number` argument, and instead uses `num_comp` to determine the number of principal components to return. This confusion will be a thing of the past as we now include this improved error message: ```{r} #| error: true @@ -181,7 +180,7 @@ recipe(mpg ~ ., data = mtcars) |> I would imagine that one of the most used steps is `step_dummy()`. We have improved the errors and warnings it spits out when things go sideways. -If you apply `step_dummy()` to a variable that contains a lot of levels, it will produce a lot of columns, which depending on the size of your data won't fit in memory. This can lead to the following error: +If you apply `step_dummy()` to a variable that contains a lot of levels, it will produce a lot of columns, and the resulting object may not fit in memory. This can lead to the following error: ```r data_id <- tibble( From 870dc9c74536819cfb4ec1cc5999f19ac0fce1fe Mon Sep 17 00:00:00 2001 From: Emil Hvitfeldt Date: Mon, 8 Jul 2024 08:54:36 -0700 Subject: [PATCH 4/7] all periods before code chunks --- content/blog/recipes-1-1-0/index.Rmd | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/blog/recipes-1-1-0/index.Rmd b/content/blog/recipes-1-1-0/index.Rmd index c236810c2..c2cbc2142 100644 --- a/content/blog/recipes-1-1-0/index.Rmd +++ b/content/blog/recipes-1-1-0/index.Rmd @@ -3,10 +3,10 @@ output: hugodown::hugo_document slug: recipes-1-1-0 title: recipes 1.1.0 -date: 2024-07-01 +date: 2024-07-08 author: Emil Hvitfeldt description: > - recipes 1.1.0 is on CRAN! recipes now has better input checking and quality of life errors. + recipes 1.1.0 is on CRAN! recipes now have better input checking and quality of life errors. photo: url: https://unsplash.com/photos/close-up-photo-of-baked-cookies-OfdDiqx8Cz8 @@ -50,7 +50,7 @@ library(recipes) A [longtime issue](https://github.com/tidymodels/recipes/issues/793) in recipes comes from the fact that recipes didn't keep a [prototype](https://vctrs.r-lib.org/articles/type-size.html) (ptype) of the data it was specified with. This would cause unexpected things to happen or uninformative error messages to appear if different data was used to `prep()` than was used to specify it in `recipe()`. -In the below example, we specify a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any problems before +In the below example, we specify a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any problems before. ``` r data_template <- tibble( @@ -80,7 +80,7 @@ prep(rec, training = data_training) #> • Dummy variable to factor conversion for: x1 | Trained ``` -Now, we get an error detailing how the data is different: +Now, we get an error detailing how the data is different. ```{r} #| error: true @@ -156,7 +156,7 @@ recipe(long_formula, data_wide) ## Better error for misspelled argument names -If you have used recipes long enough you are very likely to have run into the following error: +If you have used recipes long enough you are very likely to have run into the following error. ``` r recipe(mpg ~ ., data = mtcars) |> @@ -167,7 +167,7 @@ recipe(mpg ~ ., data = mtcars) |> #> ! Can't rename variables in this context. ``` -The first time you saw it, it didn't make much sense. Hopefully, you figured out that [step_pca()](https://recipes.tidymodels.org/reference/step_pca.html) doesn't have a `number` argument, and instead uses `num_comp` to determine the number of principal components to return. This confusion will be a thing of the past as we now include this improved error message: +The first time you saw it, it didn't make much sense. Hopefully, you figured out that [step_pca()](https://recipes.tidymodels.org/reference/step_pca.html) doesn't have a `number` argument, and instead uses `num_comp` to determine the number of principal components to return. This confusion will be a thing of the past as we now include this improved error message. ```{r} #| error: true @@ -180,7 +180,7 @@ recipe(mpg ~ ., data = mtcars) |> I would imagine that one of the most used steps is `step_dummy()`. We have improved the errors and warnings it spits out when things go sideways. -If you apply `step_dummy()` to a variable that contains a lot of levels, it will produce a lot of columns, and the resulting object may not fit in memory. This can lead to the following error: +If you apply `step_dummy()` to a variable that contains a lot of levels, it will produce a lot of columns, and the resulting object may not fit in memory. This can lead to the following error. ```r data_id <- tibble( @@ -210,7 +210,7 @@ recipe(~ ., data = data_id) |> prep() ``` -Likewise, you will get helpful errors if `step_dummy()` gets a `NA` or unseen values +Likewise, you will get helpful errors if `step_dummy()` gets a `NA` or unseen values. ```{r} data_train <- tibble(x = c("a", "b")) From 6080cfd4b1cd0e4df05f58c36a33de6132463f6a Mon Sep 17 00:00:00 2001 From: Emil Hvitfeldt Date: Mon, 8 Jul 2024 09:06:24 -0700 Subject: [PATCH 5/7] spe --- content/blog/recipes-1-1-0/index.Rmd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/blog/recipes-1-1-0/index.Rmd b/content/blog/recipes-1-1-0/index.Rmd index c2cbc2142..7a57672af 100644 --- a/content/blog/recipes-1-1-0/index.Rmd +++ b/content/blog/recipes-1-1-0/index.Rmd @@ -48,9 +48,9 @@ library(recipes) ## Column type checking -A [longtime issue](https://github.com/tidymodels/recipes/issues/793) in recipes comes from the fact that recipes didn't keep a [prototype](https://vctrs.r-lib.org/articles/type-size.html) (ptype) of the data it was specified with. This would cause unexpected things to happen or uninformative error messages to appear if different data was used to `prep()` than was used to specify it in `recipe()`. +A [longtime issue](https://github.com/tidymodels/recipes/issues/793) in recipes comes from the fact that recipes didn't keep a [prototype](https://vctrs.r-lib.org/articles/type-size.html) (ptype) of the data it was specified with. This would cause unexpected things to happen or uninformative error messages to appear if different data was used to `prep()` than was used to create the `recipe()`. -In the below example, we specify a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any problems before. +In the below example, we create a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any problems before. ``` r data_template <- tibble( @@ -95,7 +95,7 @@ prep(rec, training = data_training) ``` -Note that recipes created before version 1.1.0 don't contain any ptype information, and will not undergo checking. Rerunning the code to specify the recipe will add ptype information to the recipe. +Note that recipes created before version 1.1.0 don't contain any ptype information, and will not undergo checking. Rerunning the code to create the recipe will add ptype information to the recipe. ## Input checking in `recipe()` @@ -122,7 +122,7 @@ recipe(AREA ~ ., data = data_sf) We are excited to see what people can do with these new options. -Another way to specify a recipe is to use `add_role()` and `update_role()`. But if you were not careful, you could end up in situations where the same variable is labeled as both the outcome and predictor. +Another way to tell a recipe what variables should be included and what roles they should have is to use `add_role()` and `update_role()`. But if you were not careful, you could end up in situations where the same variable is labeled as both the outcome and predictor. ```{r} #| error: true From c788724f249ec52bafc854101746b3661ee2e3ba Mon Sep 17 00:00:00 2001 From: Emil Hvitfeldt Date: Mon, 8 Jul 2024 09:15:16 -0700 Subject: [PATCH 6/7] fix tense issue --- content/blog/recipes-1-1-0/index.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/recipes-1-1-0/index.Rmd b/content/blog/recipes-1-1-0/index.Rmd index 7a57672af..2d1bc01ec 100644 --- a/content/blog/recipes-1-1-0/index.Rmd +++ b/content/blog/recipes-1-1-0/index.Rmd @@ -48,7 +48,7 @@ library(recipes) ## Column type checking -A [longtime issue](https://github.com/tidymodels/recipes/issues/793) in recipes comes from the fact that recipes didn't keep a [prototype](https://vctrs.r-lib.org/articles/type-size.html) (ptype) of the data it was specified with. This would cause unexpected things to happen or uninformative error messages to appear if different data was used to `prep()` than was used to create the `recipe()`. +A [longtime issue](https://github.com/tidymodels/recipes/issues/793) in recipes came from the fact that recipes didn't keep a [prototype](https://vctrs.r-lib.org/articles/type-size.html) (ptype) of the data it was specified with. This would cause unexpected things to happen or uninformative error messages to appear if different data was used to `prep()` than was used to create the `recipe()`. In the below example, we create a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any problems before. From 2ebe6e62134e31ba2f3c5805e455e242592ffb55 Mon Sep 17 00:00:00 2001 From: Emil Hvitfeldt Date: Mon, 8 Jul 2024 10:12:38 -0700 Subject: [PATCH 7/7] finish making additions --- content/blog/recipes-1-1-0/index.Rmd | 34 +++++++++-- content/blog/recipes-1-1-0/index.md | 87 +++++++++++++++++----------- 2 files changed, 81 insertions(+), 40 deletions(-) diff --git a/content/blog/recipes-1-1-0/index.Rmd b/content/blog/recipes-1-1-0/index.Rmd index 2d1bc01ec..3e50e1239 100644 --- a/content/blog/recipes-1-1-0/index.Rmd +++ b/content/blog/recipes-1-1-0/index.Rmd @@ -38,7 +38,7 @@ You can install it from CRAN with: install.packages("recipes") ``` -This blog post will go over some of the bigger changes in this release. +This blog post will go over some of the bigger changes in this release. Improvements in column type checking, allowing more data types to be passed to recipes, use of long formulas and better error for misspelled argument names. You can see a full list of changes in the [release notes](https://github.com/tidymodels/recipes/releases/tag/v1.1.0). @@ -50,7 +50,7 @@ library(recipes) A [longtime issue](https://github.com/tidymodels/recipes/issues/793) in recipes came from the fact that recipes didn't keep a [prototype](https://vctrs.r-lib.org/articles/type-size.html) (ptype) of the data it was specified with. This would cause unexpected things to happen or uninformative error messages to appear if different data was used to `prep()` than was used to create the `recipe()`. -In the below example, we create a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any problems before. +Every recipe you create starts with a call to `recipe()`. In the below example, we create a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any warnings or errors, silently doing something unintended. ``` r data_template <- tibble( @@ -99,7 +99,7 @@ Note that recipes created before version 1.1.0 don't contain any ptype informati ## Input checking in `recipe()` -Every recipe you create starts with a call to `recipe()`. We have relaxed the requirements of data frames, while making feedback more helpful when something goes wrong. +We have relaxed the requirements of data frames, while making feedback more helpful when something goes wrong. The data was previously passed through `model.frame()` inside the recipe, which restricted what could be handled. Previously prohibited input included data frames with list-columns or [sf](https://r-spatial.github.io/sf/) data frames. Both of these are now supported, as long as they are a `data.frame` object. @@ -140,7 +140,7 @@ recipe(mtcars) |> update_role("mpg", new_role = "outcome") ``` -## Long formulas in recipe() +## Long formulas in `recipe()` Related to the changes we saw above, we now fully support very long formulas without hitting a `C stack usage` error. @@ -176,7 +176,7 @@ recipe(mpg ~ ., data = mtcars) |> prep() ``` -## Quality of life increases in step_dummy() +## Quality of life increases in `step_dummy()` I would imagine that one of the most used steps is `step_dummy()`. We have improved the errors and warnings it spits out when things go sideways. @@ -236,3 +236,27 @@ rec_spec %>% A big thank you to all the people who have contributed to recipes since the release of v1.0.10: [@brynhum](https://github.com/brynhum), [@DemetriPananos](https://github.com/DemetriPananos), [@diegoperoni](https://github.com/diegoperoni), [@EmilHvitfeldt](https://github.com/EmilHvitfeldt), [@JiahuaQu](https://github.com/JiahuaQu), [@joranE](https://github.com/joranE), [@nhward](https://github.com/nhward), [@olivroy](https://github.com/olivroy), and [@simonpcouch](https://github.com/simonpcouch). + +## Chocolate Chocolate Chip Cookies + +preheat oven 350°F + +- 1/3c butter +- 1/2 + 1/3c sugar + +mix until fluffy + +- 1 tsp vanilla +- 1 egg + +mix until combined + +- 1/2c cocoa +- 1/2 tsp baking soda +- 1c flour + +mix until combined + +- 3/4c chocolate chips + +bake for about 8 mins, depending on size! they will crack on top, but still be soft. diff --git a/content/blog/recipes-1-1-0/index.md b/content/blog/recipes-1-1-0/index.md index 11659402b..7d99ad754 100644 --- a/content/blog/recipes-1-1-0/index.md +++ b/content/blog/recipes-1-1-0/index.md @@ -3,10 +3,10 @@ output: hugodown::hugo_document slug: recipes-1-1-0 title: recipes 1.1.0 -date: 2024-07-01 +date: 2024-07-08 author: Emil Hvitfeldt description: > - recipes 1.1.0 is on CRAN! recipes now has better input checking and quality of life errors. + recipes 1.1.0 is on CRAN! recipes now have better input checking and quality of life errors. photo: url: https://unsplash.com/photos/close-up-photo-of-baked-cookies-OfdDiqx8Cz8 @@ -15,7 +15,7 @@ photo: # one of: "deep-dive", "learn", "package", "programming", "roundup", or "other" categories: [package] tags: [tidymodels, recipes] -rmd_hash: 0b7a7500441aa5a0 +rmd_hash: 6f2b4a3bd54fecae --- @@ -42,18 +42,22 @@ You can install it from CRAN with: -This blog post will go over some of the bigger changes in this release. +This blog post will go over some of the bigger changes in this release. Improvements in column type checking, allowing more data types to be passed to recipes, use of long formulas and better error for misspelled argument names. You can see a full list of changes in the [release notes](https://github.com/tidymodels/recipes/releases/tag/v1.1.0). -## ptype information +## Column type checking -A [longtime issue](https://github.com/tidymodels/recipes/issues/793) in recipes comes from the fact that recipes didn't keep a [prototype](https://vctrs.r-lib.org/articles/type-size.html) (ptype) of the data it was specified with. This would cause unexpected things to happen or uninformative error messages to appear if different data was used to [`prep()`](https://recipes.tidymodels.org/reference/prep.html) than was used to specify it. +A [longtime issue](https://github.com/tidymodels/recipes/issues/793) in recipes came from the fact that recipes didn't keep a [prototype](https://vctrs.r-lib.org/articles/type-size.html) (ptype) of the data it was specified with. This would cause unexpected things to happen or uninformative error messages to appear if different data was used to [`prep()`](https://recipes.tidymodels.org/reference/prep.html) than was used to create the [`recipe()`](https://recipes.tidymodels.org/reference/recipe.html). -In the below example, we specify a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any problems before, +Every recipe you create starts with a call to [`recipe()`](https://recipes.tidymodels.org/reference/recipe.html). In the below example, we create a recipe where `x2` starts by being a character vector, but the recipe is prepped where `x2` is a numeric vector. This didn't produce any warnings or errors, silently doing something unintended. ``` r -data_template <- tibble(outcome = rnorm(10), x1 = rnorm(10), x2 = sample(letters, 10, T)) +data_template <- tibble( + outcome = rnorm(10), + x1 = rnorm(10), + x2 = sample(letters, 10, T) +) rec <- recipe(outcome ~ ., data_template) %>% step_bin2factor(all_numeric_predictors()) @@ -76,7 +80,7 @@ prep(rec, training = data_training) #> • Dummy variable to factor conversion for: x1 | Trained ``` -but now we get an error detailing how the data is different: +Now, we get an error detailing how the data is different.

-In addition, we are exporting the two helper functions [`recipes_ptype()`](https://recipes.tidymodels.org/reference/recipes_ptype.html) and [`recipes_ptype_validate()`](https://recipes.tidymodels.org/reference/recipes_ptype_validate.html) to extract and validate ptype information for a given recipe. +Note that recipes created before version 1.1.0 don't contain any ptype information, and will not undergo checking. Rerunning the code to create the recipe will add ptype information to the recipe. -
+## Input checking in `recipe()` -
recipes_ptype(rec)
-#> # A tibble: 0 × 3
-#> # ℹ 3 variables: x1 <dbl>, x2 <chr>, outcome <dbl>
-
- -
- -Note that recipes created before version 1.1.0 don't contain any ptype information, and will not undergo checking. Rerunning the code to specify the recipe will add ptype information to the recipe. - -## Input checking in recipe() - -Every recipe you create start with a call to [`recipe()`](https://recipes.tidymodels.org/reference/recipe.html). We have relaxed the requirements of data frames, while increasing the feedback when something goes wrong. +We have relaxed the requirements of data frames, while making feedback more helpful when something goes wrong. The data was previously passed through [`model.frame()`](https://rdrr.io/r/stats/model.frame.html) inside the recipe, which restricted what could be handled. Previously prohibited input included data frames with list-columns or [sf](https://r-spatial.github.io/sf/) data frames. Both of these are now supported, as long as they are a `data.frame` object. @@ -154,11 +147,11 @@ The data was previously passed through [`model.frame()`](https://rdrr.io/r/stats We are excited to see what people can do with these new options. -Another way to specify a recipe is to use [`add_role()`](https://recipes.tidymodels.org/reference/roles.html) and [`update_role()`](https://recipes.tidymodels.org/reference/roles.html). But if you are not careful, you can end up in situations where the same variable is labeled as both the outcome and predictor. +Another way to tell a recipe what variables should be included and what roles they should have is to use [`add_role()`](https://recipes.tidymodels.org/reference/roles.html) and [`update_role()`](https://recipes.tidymodels.org/reference/roles.html). But if you were not careful, you could end up in situations where the same variable is labeled as both the outcome and predictor.
-
# didn't use to throw a warning
+
# didn't used to throw a warning
 recipe(mtcars) |>
   update_role(everything(), new_role = "predictor") |>
   add_role("mpg", new_role = "outcome")
@@ -168,7 +161,7 @@ Another way to specify a recipe is to use [`add_role()`](https://recipes.tidymod
 
 
-This specific problem can be dealt with using [`update_role()`](https://recipes.tidymodels.org/reference/roles.html) instead of [`add_role()`](https://recipes.tidymodels.org/reference/roles.html). +This error can be avoided by using [`update_role()`](https://recipes.tidymodels.org/reference/roles.html) instead of [`add_role()`](https://recipes.tidymodels.org/reference/roles.html).
@@ -186,7 +179,7 @@ This specific problem can be dealt with using [`update_role()`](https://recipes.
-## Long formulas in recipe() +## Long formulas in `recipe()` Related to the changes we saw above, we now fully support very long formulas without hitting a `C stack usage` error. @@ -211,7 +204,7 @@ Related to the changes we saw above, we now fully support very long formulas wit ## Better error for misspelled argument names -If you have used recipes long enough you are very likely to have run into the following error: +If you have used recipes long enough you are very likely to have run into the following error. ``` r recipe(mpg ~ ., data = mtcars) |> @@ -222,7 +215,7 @@ recipe(mpg ~ ., data = mtcars) |> #> ! Can't rename variables in this context. ``` -and the first time you saw it, it didn't make much sense. Hopefully, you figured out that [step_pca()](https://recipes.tidymodels.org/reference/step_pca.html) doesn't have a `number` argument, and instead uses `num_comp` to determine the number of principal components to return. This confusion will be a thing of the past as we now include this improved error message: +The first time you saw it, it didn't make much sense. Hopefully, you figured out that [step_pca()](https://recipes.tidymodels.org/reference/step_pca.html) doesn't have a `number` argument, and instead uses `num_comp` to determine the number of principal components to return. This confusion will be a thing of the past as we now include this improved error message.
@@ -230,17 +223,17 @@ and the first time you saw it, it didn't make much sense. Hopefully, you figured step_pca(all_numeric_predictors(), number = 4) |> prep() #> Error in `step_pca()`: -#> Caused by error in `prep()`: +#> Caused by error in `prep()` at recipes/R/recipe.R:479:9: #> ! The following argument was specified but do not exist: `number`.
-## Quality of life increases in step_dummy() +## Quality of life increases in `step_dummy()` I would imagine that one of the most used steps is [`step_dummy()`](https://recipes.tidymodels.org/reference/step_dummy.html). We have improved the errors and warnings it spits out when things go sideways. -If you apply [`step_dummy()`](https://recipes.tidymodels.org/reference/step_dummy.html) to a variable that contains a lot of levels, it will produce a lot of columns, which depending on the size of your data won't fit in memory. This can lead to the following error: +If you apply [`step_dummy()`](https://recipes.tidymodels.org/reference/step_dummy.html) to a variable that contains a lot of levels, it will produce a lot of columns, and the resulting object may not fit in memory. This can lead to the following error. ``` r data_id <- tibble( @@ -276,7 +269,7 @@ Instead, you now get a more helpful error message. -Likewise, you will get helpful errors if [`step_dummy()`](https://recipes.tidymodels.org/reference/step_dummy.html) gets a `NA` or unseen values +Likewise, you will get helpful errors if [`step_dummy()`](https://recipes.tidymodels.org/reference/step_dummy.html) gets a `NA` or unseen values.
@@ -290,8 +283,8 @@ Likewise, you will get helpful errors if [`step_dummy()`](https://recipes.tidymo rec_spec %>% bake(data_unseen) #> Warning: ! There are new levels in `x`: "c". -#> Consider using step_novel() (`?recipes::step_novel()`) \ before -#> `step_dummy()` to handle unseen values. +#> Consider using step_novel() (`?recipes::step_novel()`) before `step_dummy()` +#> to handle unseen values. #> # A tibble: 1 × 1 #> x_b #> <dbl> @@ -323,3 +316,27 @@ A big thank you to all the people who have contributed to recipes since the rele [@brynhum](https://github.com/brynhum), [@DemetriPananos](https://github.com/DemetriPananos), [@diegoperoni](https://github.com/diegoperoni), [@EmilHvitfeldt](https://github.com/EmilHvitfeldt), [@JiahuaQu](https://github.com/JiahuaQu), [@joranE](https://github.com/joranE), [@nhward](https://github.com/nhward), [@olivroy](https://github.com/olivroy), and [@simonpcouch](https://github.com/simonpcouch). +## Chocolate Chocolate Chip Cookies + +preheat oven 350°F + +- 1/3c butter +- 1/2 + 1/3c sugar + +mix until fluffy + +- 1 tsp vanilla +- 1 egg + +mix until combined + +- 1/2c cocoa +- 1/2 tsp baking soda +- 1c flour + +mix until combined + +- 3/4c chocolate chips + +bake for about 8 mins, depending on size! they will crack on top, but still be soft. +