ggtext/0000755000176200001440000000000013766621302011562 5ustar liggesusersggtext/NAMESPACE0000644000176200001440000000056213764527133013011 0ustar liggesusers# Generated by roxygen2: do not edit by hand S3method(element_grob,element_markdown) S3method(element_grob,element_textbox) export(GeomRichText) export(GeomRichtext) export(GeomTextBox) export(element_markdown) export(element_textbox) export(element_textbox_simple) export(geom_richtext) export(geom_textbox) import(ggplot2) import(grid) import(gridtext) import(rlang) ggtext/README.md0000644000176200001440000002403713764505404013051 0ustar liggesusers ggtext: Improved text rendering support for ggplot2 =================================================== [![R build status](https://github.com/wilkelab/ggtext/workflows/R-CMD-check/badge.svg)](https://github.com/wilkelab/ggtext/actions) [![Coverage Status](https://img.shields.io/codecov/c/github/wilkelab/ggtext/master.svg)](https://codecov.io/github/wilkelab/ggtext?branch=master) [![CRAN status](https://www.r-pkg.org/badges/version/ggtext)](https://cran.r-project.org/package=ggtext) [![Lifecycle: maturing](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) The ggtext package provides simple Markdown and HTML rendering for ggplot2. Under the hood, the package uses the [gridtext](https://CRAN.R-project.org/package=gridtext) package for the actual rendering, and consequently it is limited to the feature set provided by gridtext. Support is provided for Markdown both in theme elements (plot titles, subtitles, captions, axis labels, legends, etc.) and in geoms (similar to `geom_text()`). In both cases, there are two alternatives, one for creating simple text labels and one for creating text boxes with word wrapping. Importantly, the gridtext package that provides the rendering support **implements only an extremely limited subset of Markdown/HTML/CSS.** It currently can make text bold or italics, can change the font, color, or size of a piece of text, can place text as sub- or superscript, and has extremely rudimentary image support. No other features are currently supported. As a general rule, any Markdown, HTML, or CSS feature that isn’t shown in any of the ggtext or gridtext documentation likely doesn’t exist. Installation ------------ You can install the latest stable release from CRAN via `install.packages()`: install.packages("ggtext") To install the latest development version of this package, please run the following line in your R console: remotes::install_github("wilkelab/ggtext") Markdown in theme elements -------------------------- The ggtext package defines two new theme elements, `element_markdown()` and `element_textbox()`. Both behave similarly to `element_text()` but render the provided text as markdown/html. `element_markdown()` is meant as a direct replacement for `element_text()`, and it renders text without word wrapping. To start a new line, use the `
` tag or add two spaces before the end of a line. As an example, we can mix regular, italics, and bold text, and we can also apply colors to axis tick labels. This particular example was inspired by [this stackoverflow post.](https://stackoverflow.com/questions/39282293/r-ggplot2-using-italics-and-non-italics-in-the-same-category-label) library(tidyverse) library(ggtext) library(glue) data <- tibble( bactname = c("Staphylococcaceae", "Moraxella", "Streptococcus", "Acinetobacter"), OTUname = c("OTU 1", "OTU 2", "OTU 3", "OTU 4"), value = c(-0.5, 0.5, 2, 3) ) data %>% mutate( color = c("#009E73", "#D55E00", "#0072B2", "#000000"), name = glue("{bactname} ({OTUname})"), name = fct_reorder(name, value) ) %>% ggplot(aes(value, name, fill = color)) + geom_col(alpha = 0.5) + scale_fill_identity() + labs(caption = "Example posted on **stackoverflow.com**
(using made-up data)") + theme( axis.text.y = element_markdown(), plot.caption = element_markdown(lineheight = 1.2) ) ![](man/figures/README-unnamed-chunk-4-1.png) Very basic support for the `` tag exists, and it can be used, for example, to employ images as axis labels. labels <- c( setosa = "
*I. setosa*", virginica = "
*I. virginica*", versicolor = "
*I. versicolor*" ) ggplot(iris, aes(Species, Sepal.Width)) + geom_boxplot() + scale_x_discrete( name = NULL, labels = labels ) + theme( axis.text.x = element_markdown(color = "black", size = 11) ) ![](man/figures/README-unnamed-chunk-5-1.png) `element_textbox()` offers support for rendering larger amounts of text that require word wrapping. Unlike `element_markdown()`, it cannot be used for axis tick labels, and it cannot draw text at arbitrary angles, only at fixed orientations corresponding to 0, 90, 180, and 270 degrees. In practice, you will usually want to use `element_textbox_simple()` instead of `element_textbox()`, as it sets useful defaults for many parameters not usually defined in ggplot2 themes. ggplot(mtcars, aes(disp, mpg)) + geom_point() + labs( title = "Fuel economy vs. engine displacement
Lorem ipsum *dolor sit amet,* consectetur adipiscing elit, **sed do eiusmod tempor incididunt** ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", x = "displacement (in3)", y = "Miles per gallon (mpg)
A measure of the car's fuel efficiency." ) + theme( plot.title.position = "plot", plot.title = element_textbox_simple( size = 13, lineheight = 1, padding = margin(5.5, 5.5, 5.5, 5.5), margin = margin(0, 0, 5.5, 0), fill = "cornsilk" ), axis.title.x = element_textbox_simple( width = NULL, padding = margin(4, 4, 4, 4), margin = margin(4, 0, 0, 0), linetype = 1, r = grid::unit(8, "pt"), fill = "azure1" ), axis.title.y = element_textbox_simple( hjust = 0, orientation = "left-rotated", minwidth = unit(1, "in"), maxwidth = unit(2, "in"), padding = margin(4, 4, 2, 4), margin = margin(0, 0, 2, 0), fill = "lightsteelblue1" ) ) ![](man/figures/README-unnamed-chunk-6-1.png) Another example, replacing facet strips with text boxes. library(cowplot) ggplot(mpg, aes(cty, hwy)) + geom_point() + facet_wrap(~class) + theme_half_open(12) + background_grid() + theme( strip.background = element_blank(), strip.text = element_textbox( size = 12, color = "white", fill = "#5D729D", box.color = "#4A618C", halign = 0.5, linetype = 1, r = unit(5, "pt"), width = unit(1, "npc"), padding = margin(2, 0, 1, 0), margin = margin(3, 3, 3, 3) ) ) ![](man/figures/README-unnamed-chunk-7-1.png) Geoms ----- The geom `geom_richtext()` provides markdown/html labels. Unlike `geom_label()`, the labels can be rotated. df <- tibble( label = c( "Some text **in bold.**", "Linebreaks
Linebreaks
Linebreaks", "*x*2 + 5*x* + *C**i*", "Some blue text **in bold.**
And *italics text.*
And some large text." ), x = c(.2, .1, .5, .9), y = c(.8, .4, .1, .5), hjust = c(0.5, 0, 0, 1), vjust = c(0.5, 1, 0, 0.5), angle = c(0, 0, 45, -45), color = c("black", "blue", "black", "red"), fill = c("cornsilk", "white", "lightblue1", "white") ) ggplot(df) + aes( x, y, label = label, angle = angle, color = color, fill = fill, hjust = hjust, vjust = vjust ) + geom_richtext() + geom_point(color = "black", size = 2) + scale_color_identity() + scale_fill_identity() + xlim(0, 1) + ylim(0, 1) ![](man/figures/README-unnamed-chunk-8-1.png) Labels without frame or background are also possible. ggplot(df) + aes( x, y, label = label, angle = angle, color = color, hjust = hjust, vjust = vjust ) + geom_richtext( fill = NA, label.color = NA, # remove background and outline label.padding = grid::unit(rep(0, 4), "pt") # remove padding ) + geom_point(color = "black", size = 2) + scale_color_identity() + xlim(0, 1) + ylim(0, 1) ![](man/figures/README-unnamed-chunk-9-1.png) The geom `geom_textbox()` can draw boxes with word-wrapped text. It does not support arbitrary rotation angles, only fixed orientations, just like `element_textbox()`. df <- tibble( label = rep("Lorem ipsum dolor **sit amet,** consectetur adipiscing elit, sed do *eiusmod tempor incididunt* ut labore et dolore magna aliqua.", 2), x = c(0, .6), y = c(1, .6), hjust = c(0, 0), vjust = c(1, 0), orientation = c("upright", "right-rotated"), color = c("black", "blue"), fill = c("cornsilk", "white") ) ggplot(df) + aes( x, y, label = label, color = color, fill = fill, hjust = hjust, vjust = vjust, orientation = orientation ) + geom_textbox(width = unit(0.4, "npc")) + geom_point(color = "black", size = 2) + scale_discrete_identity(aesthetics = c("color", "fill", "orientation")) + xlim(0, 1) + ylim(0, 1) ![](man/figures/README-unnamed-chunk-10-1.png) Acknowledgments --------------- This project is receiving [financial support](https://www.r-consortium.org/projects/awarded-projects) from the [R consortium.](https://www.r-consortium.org) ggtext/man/0000755000176200001440000000000013621121126012322 5ustar liggesusersggtext/man/geom_textbox.Rd0000644000176200001440000001374313664751167015352 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/geom-textbox.R \name{geom_textbox} \alias{geom_textbox} \title{Draw boxes containing text} \usage{ geom_textbox( mapping = NULL, data = NULL, stat = "identity", position = "identity", ..., nudge_x = 0, nudge_y = 0, box.padding = unit(c(5.5, 5.5, 5.5, 5.5), "pt"), box.margin = unit(c(0, 0, 0, 0), "pt"), box.r = unit(5.5, "pt"), width = unit(2, "inch"), minwidth = NULL, maxwidth = NULL, height = NULL, minheight = NULL, maxheight = NULL, na.rm = FALSE, show.legend = NA, inherit.aes = TRUE ) } \arguments{ \item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or \code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the default), it is combined with the default mapping at the top level of the plot. You must supply \code{mapping} if there is no plot mapping.} \item{data}{The data to be displayed in this layer. There are three options: If \code{NULL}, the default, the data is inherited from the plot data as specified in the call to \code{\link[ggplot2:ggplot]{ggplot()}}. A \code{data.frame}, or other object, will override the plot data. All objects will be fortified to produce a data frame. See \code{\link[ggplot2:fortify]{fortify()}} for which variables will be created. A \code{function} will be called with a single argument, the plot data. The return value must be a \code{data.frame}, and will be used as the layer data. A \code{function} can be created from a \code{formula} (e.g. \code{~ head(.x, 10)}).} \item{stat}{The statistical transformation to use on the data for this layer, as a string.} \item{position}{Position adjustment, either as a string, or the result of a call to a position adjustment function. Cannot be jointy specified with \code{nudge_x} or \code{nudge_y}.} \item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are often aesthetics, used to set an aesthetic to a fixed value, like \code{colour = "red"} or \code{size = 3}. They may also be parameters to the paired geom/stat.} \item{nudge_x, nudge_y}{Horizontal and vertical adjustment to nudge text boxes by. Useful for offsetting text from points, particularly on discrete scales. Cannot be jointly specified with \code{position}.} \item{box.padding}{Unit vector of length four specifying the padding inside the text box.} \item{box.margin}{Unit vector of length four specifying the margin outside the text box.} \item{box.r}{Unit vector of length one specifying the radius of the box.} \item{width, height}{Unit values specifying the width and height of the text box (including margins!). If \code{height = NULL} (the default), the height is chosen automatically to accommodate all the text.} \item{minwidth, maxwidth, minheight, maxheight}{Unit values specifying the minimum and maximum values for \code{width} and \code{height}, respectively. If set to \code{NULL}, are not enforced.} \item{na.rm}{If \code{FALSE}, the default, missing values are removed with a warning. If \code{TRUE}, missing values are silently removed.} \item{show.legend}{logical. Should this layer be included in the legends? \code{NA}, the default, includes if any aesthetics are mapped. \code{FALSE} never includes, and \code{TRUE} always includes. It can also be a named logical vector to finely select the aesthetics to display.} \item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from the default plot specification, e.g. \code{\link[ggplot2:borders]{borders()}}.} } \value{ A ggplot2 layer that can be added to a plot created with \code{\link[ggplot2:ggplot]{ggplot2::ggplot()}}. } \description{ Draw boxes of defined width and height containing word-wrapped text. Multiple boxes can be drawn at once. Most styling parameters can be used as aesthetics and can be applied separately to each text box drawn. The exception is styling parameters that are specified as grid units (e.g., \code{box.padding} or \code{box.r}), which can only be specified for all text boxes at once. See examples for details. } \section{Aesthetics}{ \code{geom_textbox()} understands the following aesthetics (required aesthetics are in bold; select aesthetics are annotated): \itemize{ \item \strong{\code{x}} \item \strong{\code{y}} \item \strong{\code{label}} \item \code{alpha} \item \code{box.colour} Color of box outline. Overrides \code{colour}. \item \code{box.size} Width of box outline. \item \code{colour} Default color of box text and box outline. \item \code{family} \item \code{fontface} \item \code{fill} Default fill color of box background. \item \code{group} \item \code{halign} Horizontal alignment of text inside box. \item \code{hjust} Horizontal alignment of box. \item \code{lineheight} \item \code{orientation} One of \code{"upright"}, \code{"left-rotated"}, \code{"right-rotated"}, \code{"inverted"}. \item \code{size} Default font size of box text. \item \code{text.colour} Color of box text. Overrides \code{colour}. \item \code{valign} Vertical alignment of text inside box. \item \code{vjust} Vertical alignment of box. } } \examples{ library(ggplot2) df <- data.frame( label = rep("Lorem ipsum dolor **sit amet,** consectetur adipiscing elit, sed do *eiusmod tempor incididunt* ut labore et dolore magna aliqua.", 2), x = c(0, .6), y = c(1, .6), hjust = c(0, 0), vjust = c(1, 0), orientation = c("upright", "right-rotated"), color = c("black", "blue"), fill = c("cornsilk", "white") ) ggplot(df) + aes( x, y, label = label, color = color, fill = fill, hjust = hjust, vjust = vjust, orientation = orientation ) + geom_textbox(width = unit(0.4, "npc")) + geom_point(color = "black", size = 2) + scale_discrete_identity(aesthetics = c("color", "fill", "orientation")) + xlim(0, 1) + ylim(0, 1) } \seealso{ \code{\link[=geom_richtext]{geom_richtext()}}, \code{\link[=element_textbox]{element_textbox()}} } ggtext/man/geom_richtext.Rd0000644000176200001440000001506213764525267015504 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/geom-richtext.R, R/geom-textbox.R \docType{data} \name{geom_richtext} \alias{geom_richtext} \alias{GeomRichText} \alias{GeomRichtext} \alias{GeomTextBox} \title{Richtext labels} \usage{ geom_richtext( mapping = NULL, data = NULL, stat = "identity", position = "identity", ..., nudge_x = 0, nudge_y = 0, label.padding = unit(c(0.25, 0.25, 0.25, 0.25), "lines"), label.margin = unit(c(0, 0, 0, 0), "lines"), label.r = unit(0.15, "lines"), na.rm = FALSE, show.legend = NA, inherit.aes = TRUE ) } \arguments{ \item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or \code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the default), it is combined with the default mapping at the top level of the plot. You must supply \code{mapping} if there is no plot mapping.} \item{data}{The data to be displayed in this layer. There are three options: If \code{NULL}, the default, the data is inherited from the plot data as specified in the call to \code{\link[ggplot2:ggplot]{ggplot()}}. A \code{data.frame}, or other object, will override the plot data. All objects will be fortified to produce a data frame. See \code{\link[ggplot2:fortify]{fortify()}} for which variables will be created. A \code{function} will be called with a single argument, the plot data. The return value must be a \code{data.frame}, and will be used as the layer data. A \code{function} can be created from a \code{formula} (e.g. \code{~ head(.x, 10)}).} \item{stat}{The statistical transformation to use on the data for this layer, as a string.} \item{position}{Position adjustment, either as a string, or the result of a call to a position adjustment function. Cannot be jointy specified with \code{nudge_x} or \code{nudge_y}.} \item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are often aesthetics, used to set an aesthetic to a fixed value, like \code{colour = "red"} or \code{size = 3}. They may also be parameters to the paired geom/stat.} \item{nudge_x}{Horizontal and vertical adjustment to nudge labels by. Useful for offsetting text from points, particularly on discrete scales. Cannot be jointly specified with \code{position}.} \item{nudge_y}{Horizontal and vertical adjustment to nudge labels by. Useful for offsetting text from points, particularly on discrete scales. Cannot be jointly specified with \code{position}.} \item{label.padding}{Amount of padding around label. Defaults to 0.25 lines.} \item{label.margin}{Unit vector of length four specifying the margin outside the text label.} \item{label.r}{Radius of rounded corners. Defaults to 0.15 lines.} \item{na.rm}{If \code{FALSE}, the default, missing values are removed with a warning. If \code{TRUE}, missing values are silently removed.} \item{show.legend}{logical. Should this layer be included in the legends? \code{NA}, the default, includes if any aesthetics are mapped. \code{FALSE} never includes, and \code{TRUE} always includes. It can also be a named logical vector to finely select the aesthetics to display.} \item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from the default plot specification, e.g. \code{\link[ggplot2:borders]{borders()}}.} } \value{ A ggplot2 layer that can be added to a plot created with \code{\link[ggplot2:ggplot]{ggplot2::ggplot()}}. } \description{ This geom draws text labels similar to \code{\link[ggplot2:geom_text]{ggplot2::geom_label()}}, but formatted using basic markdown/html. Parameter and aesthetic names follow the conventions of \code{\link[ggplot2:geom_text]{ggplot2::geom_label()}}, and therefore the appearance of the frame around the label is controlled with \code{label.colour}, \code{label.padding}, \code{label.margin}, \code{label.size}, \code{label.r}, even though the same parameters are called \code{box.colour}, \code{box.padding}, \code{box.margin}, \code{box.size}, and \code{box.r} in \code{\link[=geom_textbox]{geom_textbox()}}. Most styling parameters can be used as aesthetics and can be applied separately to each text label drawn. The exception is styling parameters that are specified as grid units (e.g., \code{label.padding} or \code{label.r}), which can only be specified for all text labels at once. See examples for details. } \section{Aesthetics}{ \code{geom_richtext()} understands the following aesthetics (required aesthetics are in bold; select aesthetics are annotated): \itemize{ \item \strong{\code{x}} \item \strong{\code{y}} \item \strong{\code{label}} \item \code{alpha} \item \code{angle} \item \code{colour} Default color of label text and label outline. \item \code{family} \item \code{fontface} \item \code{fill} Default fill color of label background. \item \code{group} \item \code{hjust} \item \code{label.colour} Color of label outline. Overrides \code{colour}. \item \code{label.size} Width of label outline. \item \code{lineheight} \item \code{size} Default font size of label text. \item \code{text.colour} Color of label text. Overrides \code{colour}. \item \code{vjust} } } \examples{ library(ggplot2) df <- data.frame( label = c( "Some text **in bold.**", "Linebreaks
Linebreaks
Linebreaks", "*x*2 + 5*x* + *C**i*", "Some blue text **in bold.**
And *italics text.*
And some large text." ), x = c(.2, .1, .5, .9), y = c(.8, .4, .1, .5), hjust = c(0.5, 0, 0, 1), vjust = c(0.5, 1, 0, 0.5), angle = c(0, 0, 45, -45), color = c("black", "blue", "black", "red"), fill = c("cornsilk", "white", "lightblue1", "white") ) ggplot(df) + aes( x, y, label = label, angle = angle, color = color, fill = fill, hjust = hjust, vjust = vjust ) + geom_richtext() + geom_point(color = "black", size = 2) + scale_color_identity() + scale_fill_identity() + xlim(0, 1) + ylim(0, 1) # labels without frame or background are also possible ggplot(df) + aes( x, y, label = label, angle = angle, color = color, hjust = hjust, vjust = vjust ) + geom_richtext( fill = NA, label.color = NA, # remove background and outline label.padding = grid::unit(rep(0, 4), "pt") # remove padding ) + geom_point(color = "black", size = 2) + scale_color_identity() + xlim(0, 1) + ylim(0, 1) } \seealso{ \code{\link[=geom_textbox]{geom_textbox()}}, \code{\link[=element_markdown]{element_markdown()}} } \keyword{datasets} ggtext/man/figures/0000755000176200001440000000000013764505403014002 5ustar liggesusersggtext/man/figures/README-unnamed-chunk-7-1.png0000644000176200001440000013404313764505402020506 0ustar liggesusersPNG  IHDRz4iCCPkCGColorSpaceGenericRGB8U]hU>sg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|U\ 8eXIfMM*i_@IDATxƋtsN"9 "1*" &A,Drpd^fv6[s3==ΐD($@$@$@$@$!#tHHHH4*|HHHH"J hDqd$@$@$@$@T@ DЈHHHH    (*͓ P3@$@$@$@$QT@#'#   gHHHH 2GlQ8V]Yٹ簜={^hnOR2fHʍjI<9B豓2{ῲfN9_c3ȑ-Nʗ)"6.jVۅ,_U^w3g 43= 䖚MkI|>wX^ ~ӶПd[ɜ9d K @t $+.\qYnl"]tYF4WF'.]R'8znXwBE2L$%]ٮ^^)[pʲ}lܺmOȨ2#{HӅ$sLҵSKrQ)J*+Vo>}^2"Yf,YTJ!#pe9s?NniYOȪ,-qqqŨr:1F7Hܛ zKJIʔ#£!ͮڊ/7yPQΐ!&W,s{Vy{cv֩QV&+ 5Y*7X)rrE>wdV=O:? T瞸M6o/'ߎ/ޭ|9"(ڣҝ8u._>J KR;;_NS3>ၾUW0LG^}`u*(ٓ[sd[JZUO>lS q e}deKSp-(]-g8ZH>,w*Cid_,L,TޯLʤ?\- 껱 E )>rB%,w#w@jU/#*e?S*%{K2R^Y .V>tFգ̲qu}ɓ;>f9m ,g3篖ߦ/iU*.=x|l]WJ/ϓhҤAeM)SLsIE8(3Wv「@y*:{>x>?oe9_;=~1#fx(VoSɠc3w_(&-m\+?K7l޶_O[.OVb:k,Kç2&*tV^^VYUXG\O {QL\T(.O1[JMrA:ވ}HՔ$)xP5N[4G Cժ^Zƨof6IIrʦ*Q@ʑM7z:/iݢ<۳ޏ}/Ksk#}̟˷9AYcOȄ+$Q%"|7Z8)h&PBP -W^{s3s&a$QU_[]w>+Vf4s &+QI"AE~9 ( T\B7~Z)z*{ݦ=Rr˓SN:+]n–\~o jtwT`Kfd(U!NJp[^nqPR#_:5?k-9T3tWT[~CsݠN<'rRAR?#jdaRԷ8 E)'~ae,툵9}Su Ў|;R{U~]zb?y5/U.+C:FЮRI&~O b"EՊg [+{ٶjIJR*_t\s Um#I \bt4QCT'Z]$nG%bQt_a|ҬQU$w?$ew ;K˯'U`n*tY򉡓r OS2Hj,_)kE%6af[ζc廆0b7CpkW!/CYUK9}EmB$5yԌ[?3[Q׍Ishqjsk|$9Y%|=5Sqm\c8!a,ADqLbz 6ɕH*lYrS@U3֯q ?(*P[Mȥ,0-ԌbE򪙺4!ȀO;ɮg?=ݛ*Ga=nQyNXZ/Zu'w5Ij;|: [Pe2{u9>TaЭ7֕_8U }z?*5b=Gnj֨5v`F廍IKٳzNkZQ!74( ]|ťIgA8(G^`;^MCVZp\zu]4-s,4,ʲi>'bLǏmg$ Tc"}XK9Y4aoa&.&Zr!{1P]6߫-:?M^*37]YO}3CvNYLTbzH~hcTLP0 Nӕ)f/>T4VhR?p-_wJ/^Б ֮r[֩fPE:L̽||,}7KQB0 b3*2(W$UG !B13W aީb3lc3}vlf?VyAʹGȴj@S+?"\jHS5:*@y)&ϛ+ /T `T;n!9@\\{[0brBsV!?N#&"aOp2W .,^yi7ҵ:m?.^:Uoڞ *vY̙;~P0NSut~uPq 'Έ08qƲ@EX~O&j|:*K}G76甕!Oijzv;=~1nè:f<3 AcfPfoEO5 U5H˟.WS}ZAg{-7WD q(G8Uԓ`.) EG`4͓۞=)؏ޔO|b[jx$&KYV>#, ?y^'W 2¾x5y:&ӓ|8oug#g&*r*.j= XnoPQ3<:̘-9ޔO$B &BJ1mE^.O (UP@)8'UC^jHi[.xt99K/ޫ|j+}AUߡ:硠EЅ`$Fh `@ mDݗ fRa{/q=a:tۣ=h=MW19o(S4i a"5t A3ZI%BzI7E"6%O@KZf:iH0)wJu!"}w6W~ vC%ҍ7O~a-&Teb>$ ֶe[?Pjń1 /<' E2TJ]&QQϫ9@dpڪp !;UgmO(3H@ۃIW+WLF҅ %   - -"F$@$@$@$Ji^5kdϞ]n3 h (%SYdl`, 'ړP<'va3ɟvxڡ +Οv[W@qSΞ=(k֬y8:~.Çڵk#'7ov'eǎ?3ӵ{n7{" 3HHHlC j ӧe˖2|'ӦM;JeСNHHHH 3ܹs˨+sҰaC֭ 4H) HHHH~[*={J߾} jE_~)Vw    C (KO.Zr"~z-ZCɎ;rʎcN*-ҿmۦ?8gΜc|3 8nΞ=:pd5.\$d߾}AYγʂ{d..\H,2dbŊye s鼃k xN&Ff)YM\rB4<0l9+W\#!@M"*UH\\\4"( %+wd` ,Vc\7L9Da{Nw.ey{ٶm[xX5jX-[6kdZ    xu=/ fUiڵҬY3b. M b h%d̘1Nƶ>}Hvv̀OuP Ѽ;裏F}rSHHHH (ѝjRt ׮][[^5;׭['z^z)H mKK$@A֭|7ڧ3))I^}UΗz)H!!`1- 1?V>Ql(SNɭު DHP9HH&{%7oH$@ @4T' ؔ@|ܖ,Gns# pPe$@$`Sdʔ)Ef͚b7 @P YK$@ v)Ǐly䑣GJ:ٳgcJ:u|JσHH "  (زeTVMj֬ʷz˧R%ҥK(:t)" P`Pd>$@$AxB/KJSN, OE$@fLA$@Q'0uT%U 溉IHv@$@$ 28ݶq Çy/]Nɥ2$@$@۶muy>`&~'tK`ܸqһwo9qҠAxbeb j 0}۶mhlwyGRHD+gϞuy={cDIbG믿^j? ϝ;'?.\X+&K,q;s}d֭Rn]=€X հ~}_:*XúB|d-ZTX~ChرiŏKlq ^MoHo&@`Dh ES<$.7gdP(JCY`ZY{MRK-Q[3 X_~EZnc쯾JOFoW9s~A.ɗ/~իg{㊡{7C&=za} *ļ[(3ɓ'S(.Qn`B'o&\O b& H>Hc>Oq4\Ќ3jK&FQsrZ0W^yE~W=2z߸Fou\?/6' ڞ/ @h޽{Rٵkↀ]ޘb-Bq-]RfΜ)Iϕ+%G]VZF2x*+uB Zqo1SX~{ih١B] lm&+Vڮ@M>y EЎB@g>;['t4Pa °"ޕψ),f_?sfL\/1s c &e15|4idoԨQڀaK( ^-D7wYq Dgݬڅzh8Pf',y5?=~"lw:1,i }XB|Iylc<&6 `u.w p;vO!~>C:8Ow- (^P@_%†t]; !zb'ZH -0Y |aeћ ǀta*0b;*8/|Z)$`❫yFG 1]'LX&ekq4vDtX4p5^倃8,XjH ϴ%&B E4ov`&`RՏ1L1:a7&aBfGQ$PGd6h@n`қ`:awnrxIuB0>qDc#ԊVNi݇p%T>DH ^u%a۷"`2cqߨY޵fgš!sj/B!:3jժb{9ktMם F3 Ԣh#gl@Gk;a| 5ԇ 8k)۸qcrn}vߨk(CAƬw!αUΙ3ǺIvF!/̛7Q6ww'P@`~"IiChXSS˶#qP!У 7X_ڿ,! D21Ѐz=t-8wPo>O{]$ N zKO< wVNXֶm$s5=5P Xu5u?۟-6Gb>6"JC+Wa01 1M؝@wCD%s֞nժ`ުp"?,I!;@LYl1 LdE;H U~5 Аz,VQ\Z; 2 ʲe{vtX;z 6?H OP$voPݭk=I< 4 &K@6Z vRH ڵtMd4a0 *vɕ J@Ʌ0VnqTou3 HN:z„pL_u4hЀʧHo`2@1uX@Emq=IT@}c֢G, P0sс{|jfO1Kŋ^a<ÎY0BK,Tn($ 䁥5 xڵҦMΞ SfA%JC+W F?gyF8 " -!"PR:8 *+m OB ? @ć13hW_liӦIǎy:\u }U@?Yf:;y^]a+sҰaCVi8p`ڧ+    p<o :c ߿Sc(Ki=gGHHHH  E̪)L%L1XBXw&e펥֬YC;3ΰR n!ׂ)&[ LC]npv( !v&(`)=ML &~_xW(C6"-. 1\<ǻ'AX"ob<&/Oyxnޱo ۭmO4 h?'`a=xޢ]q}}#7ɠ&y; 0ĎxFlٲuu>F#C 1?ĉL2N;S l @JٶmR& b CD-ւ|'z(~„  ʅ}VphVK.zӒ%K' ^ zX+hʉ'd:#QFe :U8ڲg.]:ExA})VXPeRJ}RJGb+ԎlٲEMvD X@Q01#MbY<+Xj8'r9 7uZ`uܹs]b |޽{u;67rq;mO-ֺI E۷O[`ha(?|W2k,GxQᅅq,gW?6@* 4>ya%sǕP L Xd̘1"8AK\ ,G PCbʠHE,FCYQZW%<̰;xt%C9y5LPm]xP]3Tڈ΂cʢEʧy>p|t;XLI$@$@$@$*#G}嗺WaVY`~*0Cw@ܥ25 DT֭[Kofѽ{w '{ف@$@$@$@$"u44!<8FmyOv    DTsPG$@$@$@$Dt>aqIHHH@ h2K    zf=$@$@$@$@a @4 P% gT@=    0̒HHHH3*p @P TfI$@$@$@$PlHHHH *$   L g6C$@$@$@$T@Y x&@3!   *a,IHHH< 0@e$@$@$@$@ P̆{HHHH@ h2K    zf=$@$@$@$@a @4 P% gT@=    0̒HHHH3 IJ<3fH6mdRR% |epdɒE2f>~%xI P&0eɚ5k( (/0}h h39s<ܣýAzGYdʔ}a#ՔZޏ֔<@=z\>zYVՐa^kV_q!"A֬d[58KCPdZ>7 A`d7u1.m)$`%/ŋnNd˚]?*K$$@أ-B~.v9"C x105@@IDAT?{F s,9S&Yb4]),U֛,j./ҩqAԇ<{,ᔞC}QH5ŢAt&i޸ϗs OH&St5u 6l#m7ՕZU~ejrOv-.=x-Dj]kr̕)P}ざR|Qټ}|,վd 6O:}Ŏ2ar5Y Kg-;J:bMD:QKc,#C4r3Iٯ?$/\H~`.-R(ܢܭ|̦GXE+_ XGW5v zT([D3ɑ=NUbJqMVG4zKo1k ̫Ћq#P˱_ƭ_4RJGD7zYwQ>~/CY*4/joS!b w(@\y5PP[nU/]qWz# fݤ&G\&˽ 9|mY[vN'B٢'sWtK˯NYԁ&Y8_Jj@cE_Z-k\yrP~RI?6ڳip{c bzVܞ{6^eVYϔ >:HjeO U*eN.$u{^GNSʗ),C^u_okki hyG5;Wq݊zVnx*T]\.^6Y:ީm 0Gbŧc)Ͽӗ^_DjX>S~=+H#_g{> e=\9ʩsN[^7EUG#tV%p"Q "$CAݥZW60 nҀS 9YϜW&Z.֬`y\Ya=~޵\Y@lvc;7dԍ5_OTV 3VCfHZI%=!+ Q,r 0T\zOߏ;&c^M&ulD[AWIY+JF1Y{T~ _Y&1 A]?2nR{ez:dPQ6M{ptŊ~4O2gYႰE ,h\+ȱ*^o&+uK\WAjU/8n _i=y?vnaT VM(&0>e*e//Iڹ.K @Jͧ+%{KJ%dό}!m8$ω@Ji7w.7W/ D1 ku]M=|'}YLq#߻:\nPיS\ &?<9;UrIJƺCK |'{1\t [Y#]#a{$}uMcį`\z{ʅ?^鰮⼩ߔWĜA)!YyH8o:G ӊ)1a@-:@P<&7XG̸_׬y`\7QL3wq=TVyiѤ%g0(ٌ'Ub->٧lg oYhh )j5[L! gKu F`sXZB`3jNo`7fP`媪> 'NUJIOL_B*'7?}dRQX'(/ON}$,!06 D$0F SS BjfVb0x!:jѓI7Gn4 ˍ[< XԃV5f%ucG8WA4'gټIC} nWa͊hr)Yɓ\W\D@ԻXk{0!is$"`$˼}}6ohz&Ҳ49`^G[k#FZI3W[!6Ta0Y){4pè\6`="\A֩CT›(y8&z j8Eɯy#1ZLQEfrc1 &2ɕ8VYBcZtuavJ&#Q#8tUv ZK43͚% ZSlb>#g2UAX ΞwO8Kq 3O5 ?"vaUq &ObbF !x+ /+G6d%z8RJaBh9 O*|qɷ3[ɧjc,Y[/gaU/_X|_iy w('"4$A-?Wkvh'~ -ZQǺF8x5o(1*T |MlPOWY0R(0ʏav>ת^Fx Jkh{.߶'S7bVù1gE8!.`Mr`&.&LKա Szfve&hbeD\iO!@(VA}/dzuJw4N;oiBT |LʕG ^%,Olby ;uuB9uϮS~?}K~TAp4#LĄ%3ݹׅνY]̙De8'~^ Q,Ӊu/g<0*fC˹s-V>Q&*z!RUj}jR 'ң*n4SV"[65k<ÞTz!pLOqA~(O_չP)* IqM1ʏK 9VY|SL*%v֠Ӊԋ>y \0b9>7mXM j<Ϟ= i,= `ip\~@xf*%,{o=O=* "WWP>­̘7UmeQZ0{,1`Sfҳڗ6ׁ*QM˘1Հp*[XU$ĉ`+^$LBSx&eoIm^>^^#H@BӲ)+2ļ!   -s&   pC +֭\:HHHHnҼk.>|$$$̙3yf& Bɓ,soرce˖hCx[e߾}g[eΝre޽?;ڡ(uV9zh˂x8q"eA0%111eAP)Zi(ڠhӧuYKm9!ÇeFϿ~cٽ{- Vbn%$>- ءEd^(ٳgm񬘲3v.Qwr .O(]m1Z;tQhkămavhv͜9x1[@PHHHH qѣԩSGT"]v ` kd$@$@$@$@6"ФIJرc%o޼GTJZ@D$@$@$@$>`UUc(ҟP5!   tB>yIq*)pr !PLZӒTpaɞ=9̯O*~$@$@$@$̜9S[;#_|ҴiӠTqR{x$@$@$@$L8p%k֬r 7`*DHHHH-J*1[2H$@$@$@$`kaHHHbիu`N:ɜ9sbrq>]f^$  ,]T7o̅%Oر!+S,O-[.fڴiұcG}3괏?HHHH \s5u4yٿ,]fk3ܹs%!!Q+VHΝaÆҭ[74h 8б_HHHH ȑ#d˖MP,KT7SB_z)} ,~I,Y   Hʗ//k׮uÇKҥڏ+0)KǑjժ;OhѢ:tHv!+Wvmǎӿwޭ?%W 2<AY.^Ҽ̜?+Q˗/tS(r%\L#^7 $<͟}(Kjڞh[@=*dMԫWi: ]% :JѢE*JP<=t] k(͸FPApUTA ̙3/EhZ2gح\A5`ㅄgeϜʂ`Lz@#äG]_Pd(8.:{@żÛ՗r{E6b\5 (t!{JЍ.r"l߾٠@E||86kLw4/HHHH !1c8a6su_EP8yyG8e$@$@$@$@'yz_y8? {Q( OI$@$@$@$.8Z8FNu?HHHH DU$@$@$@$@|p$@$@$@$@iдpXF   @#G] B~NfL (   tG_֋4*UJ/jUn )%@4<  C EO~Gz;V"7ֱm~YixT@baIHH%0l0䓔ۗ,Y"_~>D:˖-33"   H;l`9l( P S A=XR?~\7o.=zpI&)sCΎ)IHH ^vK5jԐK\\+r}9s+4:tH2ge4H?T@cIHH% ˵kʿ+Eud5zhYfL0AVX! r&a$@$@$@$ tѡ|iΜ9|#k>&&  H/Ps 7]?uҬY3m9uݟ~s>q^/ @@@/ҥKG 8~2w\|^pA^x^Z}wm̋$  ȑ##Gɟ?5-[XI?۷{M;嵑 %_Keʔeʮ]~iهLV?vXbR||ԭ[5k) O/wI$@$@$ ҨQ# /ZH04sNR`e$ O6M|My饗X7ns ԥK 4rZ>w}'`|-^0 @'дi׀IBǏkVΝ;ƍSu/OXP1ly WziJVSNze&  HLaD@zVrhK5bo *&]:qDٽ{.:T}dժUZådɒҾ}{UV fK7noBBBu@͛ki' @O"믿^ڶm+ck8Jc bm[5;y=rJ,… aXKSc'xRxq1c`8>¹M6)S&}Cׯw} 4tM/peϞ=ڂ޷o_`ZE_PHHHH 0*o޼2`Ay(K-_V (VuŶԩV@EMׯw(ТE 9tرC*WlO3o4ߝLIO=$am3bVdo ŵ"kn.9ʂ{k}&9j\YLðL9.V>8s2OwDr;5.՟ *+AR!@Ŕw()j[Err5e&g  5!CY \!@Zlp  0$W\)wh۶m;Xn^;Zj)Xk֬ ^#9oڽ#&U;uԬYSM>5ڵk{MUVrUWy;EӁʘ1c":k,)T!u]-J,Zl4<ȟ~>'&B+ua e7+%Mĉ5"ዃsrb&$lx^-<-\j=P\C \;>>(vy1 Vƌu[:&C2Fv-p.THhELWQ/ܹs')ܤ~!I_zHJR>O+kGҖ-[|:6Ij`O5MokܰaC\NLڿ`CJ5XXVJeQ2a*}19(GN.;㋚T={vfmǟRd;U[&QP}JIMR#Iʒݤ]|by*vrT$e5? 6mjɡo5π?N(Æ ӖJb0 =/&`LZX5׮]؍.]ڱ_HHHX;am bcΜ9SOfv }Zk?3ٳg*Q8"O/ C=$ƍX~=*UJL ꫯ CC=uW.J-1ɗɸHHH6j(vqW& f h)K5|ѣUTI0l7M4 wܡyAŐݻ VazJIO   4J$F8<%&%SbRoSxֹ8_D_ (iHdAzJ`&IT 8t5J#$VU)?IHH'7Ĥ8(XKn3ƄeǧL :2kY?G|:t#,x5HV`زeT.͛_;S|HHH mZP:]$,b,X?ʭު:LJ_P5T"V+Oh VM8:< @Z'Eѝfn~).?Q!9rnZ&MHx $@$@$@$(;e˖n!jyz'|R'{&~ =eTBOD1GX3+U51ի#1yx vѺah?hT]G h%bK̄G%b($@$@$@9]0B" wibzcKo}ϝ@ cСڪBhOwB1M~)K,IWR ,0:~2d6ro4NrIB]~uu<.qEp:u8B!  ]XV[nCV мD)[ ..]eo|&$$8 [{ 3dgq)`)q @ѣ,X@vH cinw:1q~0b*]w+^`?&6-ZHϘ1`)p]>+0ꫯk׮icةS'fbH||G8 ڵk$@$@$ƍUȑ#: N#/̝;W["Y'{h"oLbر8O_b+V :vYgf͚٧$Ê aF0=CF@ Tv7Ǐ/5I$@$u#P:9d֬Y V2(n' cLV D89jM(fA駟{5du ˝wީQ(FR>^wo:SY2E  !,RH,`c#ȧ-xiG}d,ۢuq8UwoҳQ[)Y@$:mugg^pOWH tժe$RٔoataTC idsMVBB,vܩ-!EÆ A)$@W .Edx^p;Й'0Ӕ]aʥ"뉉M Yl9)$`7GGc̦4x`.xAgϞ-_ Yo^{C2gl7 Ώn8P"h\0B)$@) `z:utb &! ecѫСC=j@0 ($^}U1bm`v?PW*PQØCɝ;OPHnk1ce'QFf@q#|az tA p)Zl߾]"!zR0[KZt>\|ba JD#OHǎ&-gGvS7vbGW5ko^H =PCA vTR.g-'Ot+dn ވ( z:.0x .xpHB 6r#&N6:]pmB4K ?>99YX]UM tAXSy p5KO[zsC`xlذ~A~xY]zN@bx^-[@*8R*t1v>,2qo(\홀c]2xpy RSF]0BtG޼y00Wj_v=p/I5nxɆqw %ݺ/ҷo_2<*ڧnuc iL _GOe hlܸS֕qYrG[Ν` 2&UVY6j_wڵkGy&U߲eGL}IQ]vWm}=6>W\9!(~*Z]őުUk9m)=K!gvgd]zV\LxC7L4bUPP7A4e؆qF1nZ0'bUU-A\4zlm2`ݺuap#14F?^cgmdyb K(xՋ" 22́m/z@M6I!Ch*Vx}^Ĩ Ni޼6QSHH—P &O@ ,0΂m$@M@ƈ{hv HR|F6 @pZ ~wDx!!4@ v0cRGLыQHs≫0RFF /mV#{B! _z@fH띿 7pNvٙ($@ kNLbT&Fo08b񄡉1PĶYO$@$^6~D8rnI e01r$;n%0LUZKouHH'@`rk#q,"bZwv̽HnxE&6 &)p x2n  p P m۶M1*,"0`^v 0?ԳlH8pk=St۳ ޛIH &=rKD!N` x;nñ-Zo="q|Ja P@ @M$@^oƍurt{S]Ŋ{ϫ+HTn].\" p%@7A^EH?Թ9T?|eWUPB)hG7;&AiEe$@$GI $%%g֭ҬY3w`}J1wE:r_Q DwM"p@yۡFC;eu,P7\' \삏kGI -[V:vB={i9Sl` @L&L8Q&M$HaVpaDV o' @tAG!  +ZQa mhچ'&'{n=w?.X @( >yB˗/ڵk-C\'Dx =cI J `"ohf˖-%99X' 4aA$0Q ={vM,'  T*L܉b@Μ96sSHHH =h%(%PL)]tɓGn,   k!@Zhq_!7o5j-R=z\ G# dIH&h̙2"!!A!lٲi]BZ՗#G r-/_Ryw-K,I-ɘ1cM8q*uM. .5k^9K˖-;3Eyj EԞ3.7䦄=,"^۰aC9sfKQpklضm|ҥKA|H >SٹsgҩS'-ί=ZJ*%=+H I&~[]=wCnVg+m2j(y'lٲ~[]ݰaL0A#  ZyK&f2eJٳGƎ+ݺun!ٲ_%}_b/7믿KӬY~D=uT9tu]}]ɞ= Ǹ H ͛{5kCC~M7QMϛaϫCCzɓ'`("Mɔu?~Z1*E!=ﵜlʕZŋ_a&к(-翖Z}lW䞢Erk=zz-q~8v7i $@$@$@$@Hh6@[t|84*VbX9b8NW>tA|tA.uwKk*76`6)5WHgeذaC;$.ئM1,Y+P6XB>CY|u>1cHo?HEs=tL|&'y[4UV vI嵊NSP/ߊm~gjĈ:95\Sp_9uꔴnZvjV$Sj%Jj2uIvP%Hxرc>Cڠ 9 [h!>\A_zy 7JϮ?MtQq ]kS^=7xCT0V]V=>={-a`yǮA0':t!Cd̘1Zs r9YݨQ#Y~KN D=&Qrml3֞,S = 2CE5|*ygj]C,k9$n 9S\9z̙cjj(/Gg3iIDAT UuAσs^Z_'exԃ݃(G?( tqK^'y`8zziâ)*Uk)իW(#*cK)/GD\xè;${{>>PkcjL9Ͽ#`:c=TQ=&8 XkR Xw]^FHfAK=3 .\rUxrLTQچZJz.!+JČQ- y}}t!pº\I1NYB-W). =-[LD'y`8z`*2E-1}`:⧟~PE`H5.*TkWontYa\^w hwbt֭OePk>d[_A#tȓ+T|ߴԮwT:N믿>`  c߾}>eZ1ڴ:?ngΜo! q]DL(.Zλfφ)pQ-\`t?~\wu[^xqm!SF())Iw9F'/.3gv.).JH'y.iܰzj,6yO<^ 5Yw"e#TMA;b/1e+{7B F:2UeeϤnr O8H 2 O̹K4q,eܦ AH'NNNq\$aPfzok1dP`qxF8bU`0z)BE"[b l۷yZժCxNx18 q0<oJ2e蹬ӧO[e7'ܸq胷Iݺ7q]09Wm۶qͪ'Zb^Vc? { N1VL}BqZK>)u` $:IMK;w|v+&P-Xi 3 .EţK/dVcȑ#rz!.]-ya ͛7h> DRJE! \6mڤBTċ  /xxVF [櫇FF&W_} ANCtA @.RH>Lj<ry ٿ8}O q.'G,90!0Hᱵ㞂kX'N! B ('Nw ,~1F|,_Q 6 Yt|OKW;K!6FN!NK t7/oɶxU%p6ׯ 6=Z&MPs.B<ʹCpa3k;C><?=PE$@ tG r'y ;}ӦM~C=A ̙3r~?.p!)^<_|Q.`-ZT~W=ن1`).pj`@%ྎ݋xzH(qdDTHKzm|wwuɟ/QٿfVP\:m(/RN&5>_뙉r2oUw"}@<S#x @uYT=z-W^Zԯ"W/RԂIEHzu2f)$@$@$@Ehl]4 Tҫ=u}*4rv~J`xBԮ K6= DQt1lʷsVH |5cT({}Wal3]xd2\o^l2@kõb`Z;UIHH” 00-jI;~eƼrCj߉j_ JQh^ 3@d{eDUv)W[fwV{UsYdnmnyPwwh]__O .*.=[͠;HikiV?VjârdTQM" @.1dȾ:+&_nה)ow7>*TuPޞ4O*ߨoB^|rwx 'v`LHx< E ύ-;J$ch;o9$9Aj%ɠoӻǁsϩOb*HHH m Su^sKȝG!vhO7"f9V+CӍ :IH@T nb<,kBp#nӧ%[xk5& 9Q;ҋ=ifM.^8/2Jjlpyp}51)R(oM! VQ}~]A>r6xo6\| =V$2@D~  h'q1}GT|3>$H!Ieȗ'*Ԧ7$  HHHH <D Ǐ˲eԈsAZ %(:uΝi#u؈% ݖk]ԩS᠊9sF2O,gj,u  6o^[sS͛(v[;&[lq[ ]C۷OӦ|vXD$@$@nyMHHHb Xl3 HY5 "xf   p Pj   E4@c$@$@$@$".g$@$@$@$hUgIHHHE4@]ϪIHHH  ū6 hU @,p=uy睲pBf͒6mHe̘1>۸B$@$@$@$\3@{% ,ǏWX!۷5kJNdȑ2tPs;HHHH"@&70m4IJJ T߿ڵ[ϟ_}̙3    $t߾}ңGЦaPnø0B4hpO8b 3f Px>  ~۷tYF%''7| f͚Ilȑ#&Y<`a*U,BvgϞ-?+V,~~5hM6IѢE%k֬WGxbK(1|ٟ'O.[np8pٰadɒEJ,IHH < 8f UVr!&yN2ed͚5R^=exx`QHHHHc(]Ǐy@9l0ҥ    %?l螯Vxy>|^\%   dy@ a`'|0$wޛL$@$@$@$\5@C;HHHH : U|t"fHHHH e     1+    &@ԛIHHHl'@vĬHHHH Po\&    P    o4@ipHHHHv4@mG HHHH e     1+    &@ԛIHHHl'@vĬHHHH Po\&    P    o4@ipHHHHv4@mG HHHH e     1+    &b ѣԮ][z)ǏGf͚%mڴ˘1c|qHHHH 8j=zT7n,]w5Jn*͚53)8m߾ԬYS:u$#GC۹@$@$@$@$29لٳgK&M䥗^͛WT"wbŊIk׮һwo=ӧdΜIUY M>#_M>},\.[v4jްaC9xl۶, @dpjJJJG}T-L2Ʌ '@n3gNܷo+W,:uE={t9>}RpE޽{=ΎΟ?Ok.ɐw9{x<ٱcGmN>}Z?A3g΄ |_.]I%dHHpsر2emΝ;W`x^|Y|F׻a$8 ׯ׫ǎӟΝM*xC0Zϕn ^ iajp8b|_A^v~ w# qq)˗:%{8zi`eɒE6o,KTs=qF)[> O:%6m5k`ھ \X 5P_f3fdI $@$@$@$5@o&4h62Eꫯ|P 9l0ҥ GG-    1u߯L;:54ܹ,[L{<1z2|pSY. D>G Pׯ۹s-ZTw1O>~ΝO    (!h73A|Iӊ3e۷onݺߙJY @p3d#ȇzҥ2o<"ETHHH  7o͚5Pa|2k,YxO   H}#jXJl h:MK/$+Wm &6>})Rx#GkL]vRvm @z M/0=S;wG;IIIo؆8DD|宻>H&Os @z >=뮻N֯_arr,XP)O<,W\oȾ}jժ޻qHHHMt# Xl".rbLϜ9xrgc @TUJc0̙S~'mbw߭G+zjݹN$@$@$@`-X?ieӦM>`;PHB~   p=NPv[o5EԠA,    ' uMu!Ү]tO '͙3\ ACXȑ#pRR%A*-[c"A~O 8 hI?uϜ9S0F R|y|6H*2d HE$   Wu{h*:t9ˑq9rȌ3iӦ℄y!8$@$@$@$$wvW_n/I!   p"҂ 'KP=zH]0<)$@$@$@$7@WZ%/~2h ٰaYfI6m~2fm\%кuk5j.D{ٲeez*M=F$@$@$@CQѣR^=᭫V]VYbo^j֬):uFcEtc ̌3W0-"v8N;wn9v옱IyA&$ҥK۸@$@$@$@H?RjUto# p@zgܸqK/ӥQFrqɓ'YFc@}2OtËO(\I$pϚ5cZ} ޽{I&mv/O>ɓ'0m[xC~m#dm *ۅA\Lu>ܔ,Yu] \ G=bN0AЕ^vm]nlٲ AwӧTRơaYF KPﯕ d=Yx_xl5>ta (nݺ? +^%x@1Ren%J핕+WK /*V)0 ?0}UrxΝҲeK\'   H  My֭ӌͫJ`a$cpPFw,+Ơ"ĎzZ|6F1@B$@$@$@F.Hw7PY$NJzs1&bDeǎksHHH"@Xz@ݦj5 :aLY T=r! O7olP Dz@-h #PBr 7nx]AC]޳?y($@$@$@$mhZ\њ5kZ`u  e\t~o8 ,B}+A9so\)*d 8D@]0sȡs~"/gVddcJPC5vI~wcwc.{ VBLh-o $@$@$@$jqPKurtb>@7|smy䑥K U\Y2dແ? DZ9*v Tnq   @ íĘ:jHHHHRGh8齐8B$@$@$@$>4@-5jȢTd,$   H=lbQ*|YH$@$@$@$*4@-0!?HHHH uhZp1bEr P VL8iӤbŊfHHHHF ӧ v͟??U:v쨓#sF)HHHH ]v!M4X' m׮%NN!   p@TgΜzir O Ю]Z|-YH$@$@$@$`?6@{%c}5k|GgynNJ.3٦MASCd"SL1VC:;/އ~Lu"^4hOt5]~Az(oiܸtݻ($ˈDZ,:uJZn'<0N$8q?kPV-C9r,]\/,rOWHHH \Ĝtܹ裏ʮ]|<5k֔N:СC} J ]6n(|62`hz!}S`a~w6W_F9!|-?C.ȽuV.KE:hwȐ!2f.'tM/^,UۨQ#f9rI @8T"zi =wuN:>VFfٷ~)XG7BLSzTzeXW^Y=*Gy ŋ}ʜXQ܂IӦM_ o]6,}]] T+]p}` M6IӦMm`od̘Q{1׸I}WtLI.{^{>sΝaԨQ2 ݜ-[6= /cJ2l׮O]={v?Dņl FY7kL3G1W\ѣ>U`) J ]ͫF]qqqzC==_z?M<UbcLUNsX?)00a#Z(' z@wIʔ)#k֬1/B'.d.[̬]0o6,T j ٳM/[N̈́)  `Ohce˖-:V6';kQ#$,#%D AxXU#4.v|WHHK"v8;o6Lho燇 /bD (G`2zeΜ9c)G\7;d5IG 8S5lkQG͞|yT̰ $@$@$T)[$!.mA綠{u[', `x@m%NrLUƟ[q @8W @` h^T6HHH™ p:ԍHHH (l 3|u D!QxQ$ #*$@$pmh^/M$@,hhB$@Nh_aH "J! X!@4V4I$:DiӦAn~vҤIҤI1bΘN:z \! #@4.%L[n͛ӧe„ ^L"*UMu]j֬)_6P[;sLIJJFw9IH p&HbԗH " <˚5k$Cal^Z.\ vIrrn~xI-[&kmnݺ(H"=|; @Xr< ǏOF4h@/.9y̘1C`RHH +HIž<7l EImV x<2}tVZܑH• p2ԋH j̕+;v̧MN{yo^v)˗/׆}'9rޅ$@$hFe$@F,Yѣz:<tLUV*UW_}%g= D2|; @۷̝;WƎ+Ǐo[d"9smu'(j_'Nh 3{{1X駟6S0رCdz'wߍRY Dh 2,' `@Ѷm$o޼'O5 Nq2e۶o.KŋKݺuS D4@#Qg '/^=zhUl @;v˖ @D8q6>D &Fd[HCr-Z4jņ HHHHQL(nVF$@$@$@$@    G u7+#    h: wHHHHQᅎ@GIENDB`ggtext/man/figures/README-unnamed-chunk-8-1.png0000644000176200001440000012140213764505403020503 0ustar liggesusersPNG  IHDRz4iCCPkCGColorSpaceGenericRGB8U]hU>sg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|U\ 8eXIfMM*i_@IDATx T?g涧Ml6J YRRIЏ6H"!J$BTV!)Y9>ә;ޙ{gΝ;sy<9y3>)`!    $<< |# $hBqd$@$@$@$@| $hBqd$@$@$@$@| $@ZBϖ? ;[qA|3OdY^/:]MXIbŰ~0Y:v}(۶7%eRH۷xD,1ϕ\*Z(8@A>k.]: /D˛s&b=>KL A+_gOޥ%KoHG%JrٹsgF.A?V VvڕK{n"bP e{ ښ?<3 JIHHH P{HHH % Byy$@$@$@$(@=L$@$@$@hh   ?Ǟg&   BIPv^4  c3 @$@Z(o;/HHHhIHHHP-M$@$@$@G4$@$@$@$P( P΋&   #Pg|g^??۶mPo%KqHHHH u$L۷=f̘O?#F`ʕڵ+6mdݻ:u‚ 0ydm;HHHH@BO?dݻÒظq#>; 7܀)SӦMC 0h 3.]-    H^i 7TZV-x<~M\N̞=ݰa7o8N}hذa`#Sc%)J:]*VdD5g'Q"@31b% HŜk=nM7.W*j9jePHPAieBaϏ~PL?s.D@wڕ̇BrŖ]˷SA˗/O&,:+Q}_fW24:(?Y>̺3TR.HHHHR@ Pu>RazvZ{~^9szIC1s9C=%   wڳgOhOF[ѭ[7t x㍦͚5CRgm݆vSN \HHHHR%R*΍ӠUsr*zǚ9~W84[jV|uDt9X$f/п+BEn߾zGycǎ;`PBؖsVra͛*\/T9#Bm6    "C)Ċ]%    8@d$@$@$@$@k āh     PFΊ5IHHH@4 @(@#gŚ$@$@$@$@q @lHHHH rbM    8D6A$@$@$@$9 Y& @P"    hXHHHH (@M DN4rVI$@$@$@$q&HHHH"'@9+$    8@d$@$@$@$@k āh     PFΊ5IHHH@4 @(@#gŚ$@$@$@$@q @lHHHH rbM    8D6A$@$@$@$9 Y& @P"    hXHHHH (@M DN4rVI$@$@$@$q&HHHH"'@9+$    8@d$@$@$@$@k āh     PFΊ5IHHH@4 @(@#gŚ$@$@$@$@q @lHHHH rbM    8HCIG~/^^7Ly<C_Y\%Kmr@"E bŊaiiGsc~RTdfBWhQ賅3D&F,+a\r+t޽>8}YRiE"CСC݄Oygɸod| ؋+@J?LɷH&Y>% t<}b0sVdY P\|dNC%꽢 p @ P)$   ȎhvtHHHH (@㎔ dG4;:G$@$@$@$wqGIHHH#P`0ewG$@$@HPH}6.HnO$kFHHH $AEQϡ9&{7jTgqNGCwO#  D`~H<$N뼆JǡT,$PP! H!*>GD3 $LMC@+hA  #,>{ T)=EhH:ܘ(@S$@$@I ^EKhA  't/"%ׂBI^ @A|EkA @Z"HH B|Gk`T? Цu\P˲mgYH("ii8xI >W\4 @B|:: AσUVNDhph$nsR%_MgZ[ns;ck.+%ٞu֡qƘ?wju:/d=dwA`{0qx?(RdIQ~@tYJ(r!ϱT`_lYϾ;~F#>nC ͤV{yA>>9 _Z5ו*˗ =`Gy$|>v9ϖ+ *m&h ɓ'bq %pԑhzXv-jhi`$ș@SsfoW,+`;(P|컡}\!d&xsG2(D}۲W9Btż\}EcU> h D)>M:+_GU4:y,=Py|(f! N4P eyD7CǼB|S?tj[:Ba%0'T3&>-D n"#@|${_|yn :t'7n~e>y̛c^矝a]~#?cM['+W}gx9Uv}г|z?YHH Ȝ7{Z\ykض6O7ޜNN;vic+7%Ҿ|f9hnhX@3M.mX5s=?6E4VsuB-*sBKSmIFNHIvC;oT(\s%pb)Es]8ZegE5\]*O)Ӳʇ$@@ z|%WVvpmU"n@w 񺈎c%H4 DOw~TZB'Q#cefިƳ<(B^; s?TBpuqo΁pNFO;Y Q鸣ޮfcⷭ5-p W`);vcO/W|#,o W$C?teϞpOmz9޽zOEsc[sģ3z}e m؈U?]b~Ihm;ru/vW= cK裏;Mѣ{f`d@"4vIylg׮}8ahhFMਣ*Hr; @^A|<0잽\w-~P뜳y U#z+3 H_۶7cHL[HZ::?:}&5idh]TzC7sm _]+ގ64ykL{**4 /Ǎ_GGKi+R$ 7?֯NhQG. 2lL+ѓP2WѺlc{8ZNq& =tV/t쇆@~cJ{T:u}D(sd C4'YkT?Ο$0g}*{JrYTLG/ ţ߅~tŜ/1m.URbL- ~7CuGS!}~2|4e G}G FeXͥfS뫚@úEvԈx;Λ\ 0Vڒ%K`ʄ9kվDdִcni4.]ݕlʥoa]wt0?lEǩu͊w{ }޼NL<OoV֍pkv.^wROwL|_OY(9&B&Gn=S&3!< _Ël7&:׶=.2G]6HحZ~iаapGMl]]| l]bekZ^7I:ԻJɰZ>RKHt&ԮU5SN0[6 brPe8Z {__leYXշFp}tUgDԖ)S_UNu<06(CZ!ZgP}4E+Cjה%Rvc^;nuIpRږU괆 ^۵4uT sw'S%+CS]yjkVH oI|jts{O};]օ΢Od>'tx &,SRr2M}K.HK)``,U#u{X UةU1UBآgGu5[|]߱c<(Q_哏ǠO|p;v2yֵ_ڻMQǖ(}B1:ZyݢSOt12TO}\{Y3r:j=\meʤ{,6IB 3s,Iahټ΋/3~,լF',4t\H"It3+:q؈tɕ6[bѝV$SkY-X?;dv yrK裳撵2+ux:(S-5 miu}yuBm-XDiZ :U N:UNp9uW-Czee?⢪%5[W++ @. z ?+[oʕ˰=p_~I|N~pKHѯn5m 9amsX'{YK֙UM!NInqd$ľv%Cٲŭ"4,=Oٮmszg V| ] 'q^Wt!/o?go)Y-u+8cc<QO|/ UUkOy/27.7PV!\Hxk4VPGqKXoH{DaˠORK:]-]&V<,w:=ቧݹckqbxx/7фPGN+tʐkxc=,h-FqݝsVH 6 ASaNMi/X;ɯªPO.8KEhlGş%2,֭[vc%.LOERӧ7F=j5TѦaX몵R m3׍t}˖?L,KߙSѐQj MKKisTu>Zd-jM-W.|hˮZ"W+9c7gUj WMyv8ФIhKݒb$5@%}X|#}݁po sŧ{m|64-I@sF|jyJz/S'1Iv!9v) dc.F #<҄!ܱ#1`d.s qtJŠOEb'STԺ*ނŧn+[ħ(RN|~4G#> VXH!OS{dɏkO;7i ?J3l߬BWKeH|7wTh ͉5 м&IHR@>pЌS縗ׄpҺVӁd!pP# @< @HF9uԈOɠgzɞ4ԈO_qfpVvw} ;hN|0O+ƔL_yK@b )b$P|* +`-*>}4$Vr8̃ B6WSy7yoѼiӓY }w>#!SYe#"-`s ,qbtlĭk@J ٲǔk pQN)wa Zҵ^zg$jX|fF|z,kLTyr #Bx )B3zH]%СCG |X3Et+6T+48_i'UVe.#eS$RH|Gv }8+}`M y `u K9+*bTK辛WI W4WbP-=cƍK3c^bH~ƭc14Ʀl2QT)TRKη0hVn8&>C 2O͆Yp~{OWepޟ M 9]tD|rJPzw-(-YQ٢N''pE,ZE7Ml{*ʏŶm]سFШpr"@GCvh߾=uVZ9n?/Btv7jչÇ7G$@$@1P|jNu*<.oҾɻ4'@ϣþa9?5XEPK`$P "4ā@Uo͛7VZH\zUpeܸqY&5jd_йsbƌOXHHH jOGwzuwUTxW/w 8} RKG}Di|1]# B9'44 n@[@O%8͟p)dLطn:Ƃ?_Ƅ Pb@>}`bj- KBX =>=I *$W7>a7AJ7D'u֙!2_aP@ I {=ÆT ή]p^k3*e +2Tg]T +B 23gҌKIXOL4BM۷/c2؇>\*!VgԽ{w K-:Dt[t~:&iQ " yC[A}Dn2g0#ϫ-Cd.А] 4ϱ'R1qgmL?XD|Z~檷w0xzʕ-q55ϺΛtޘnHXoJ^HzC5f\uiA4 iy3ϼ"PߏϿ_P^uk]5FN(_U Dqs,4>DU4CZ?+ɯPߞa׫'tk>\veYgz}q@YK**Tܥ*,XT| fI'?jDD-FF-u/J <Du .W|蔯1x" E;~K$]z'mS ?|{s@KAƛ]O䚡@l#W5j}?=_4=|\r%n @Z od['NM[":]̃#!}uVJkK |~GH;9b\9{ꅷz 7x#ƎҳgO3S7lj)ƵtO*Ν;/:u@XHHH NX,EEǟȜ3&T|Z=z|<2{M!#Έ3Q|9\jB#%\̩S`r2jc=g$ǥj.H-:J82-C0|FZnr1tɉmq>#TOp'>a{|֕yYS`x^lWO֬:+n;xؼ:v-[W^ L^7x)r3|/'[.X@] چ~QE">HH;{a F]{A&G+]ii~}E]0xCsCȜhǎn+]'ͼDKhf"\ω@BhN~   8,^'Þ&e{ O>3 ?U?f,Bmnп[n 9s 9ӦA&`k쯃"4{>ܛhF\# (bkS};ZKͩPD($@$@@@p|sBW=r nsa}4uVJVdd$r4fɓaJaw|w`B@.1BB]P~^< NF&E%B]ZZ>]Xݞ|ԇ󵸖KP'o_u9/_ }nI@]t޽'wYp8>b @4B$@$r%B ?LRtŧr=i ?aZ d/\_1#JZLOr ŧ:ub `)Z^Ɂ^4gI&̂3SE l9_EhΌ C py$@$@Uczq8_/[i _r}__UF `O ejmwj*U"'Eh$ v Ђ}yu$@$@1Y֮Ovw$o <ÆDßz?Z%lD9\/[yh/BuMaH{F)Y`W^ @. *BC?dx^Esx$5JR*34cWbԿ'q*(@ ]5 ą@D5m K˭{M{ǥyۈ{/> O;&PD%&˄RBAPf^$ @!B5ka_tsƌ|VKyg:2eb^܎ӌM97r$С?egÇu>Tp5+tW+(BC3*h[)@  ĝ@nEup.搷ʖյ쉓aIKǽ6<{8Tןɾ#Vf{x"ݢ7n՗.j5?ޟk>\m#B? p v Ђu?y5$@$@yD 7"x&kpg3X ySש|t=cws:۷~||T-KfMyӱ@Mq{.󐻊խ[i=uAv"4;:kh  <$$mgxάaU? I_ :dLvְ|:Oٰ;*pP»i< 1![RjԀ>-IPJ:9I  @< "cO4i)"(*B^=$.,OÒZϖRX24oUzf^ş9{*V4Y~oxDƣI7r|f>g@☴ p= 7' H<#B&aLp6oz{Ə Omjt>p"Ln )]̜T{OJ-VaU;Jj#m^ OAbw  hJ@1)'T)4%o;M$@$\Kh"Y(Y֕2\ ˕3)Ȟ^:ѮxL&u|N: ޅ™t9<[fm?~ǎ~#)&S:. |ٕV>*2Ehh.a+hA  |!j)"[,wǶavӒ.mj<}.3Cή]zXPYEǾg˖z4 jz|^}?G|x b߹35~hN] ԹW) @UZ GwDp'^ ˮLx&jd4?ɧ~nL| H&Hh(OOHzPqTrQQFI&M~T-={WIt> Լo5 @UzF? O[$?}hg~xW/UT|Z΅.wþ8ە<q4L#>j_:pEєÆX)U Z&0>d_j%/^Э_fw> Իg1 @EjjNO;7i ?v3XG*˽r(r^Jρ$Vi%Luкj);Ր*z2P$52vT}N͉PM{Ş $9XDh%9X>U|JP7&XMƯ`N{ 碨G{q/sUk']/s29H~ U|vəA6(] ͖h q4Ѯ> @Z>};sBcajXTt$*"Ue;?uc1O٢Em "4j;ꨣm6ԉ,@IvH8@" Q9 X*/+9w-+9x$X"uq]7O.㹰ήrԇQm,w\uE}#Iwjz  dͷ{A1C4 ^ᕿdj+$zԿU<ϠmY3//}ܾ}{pB|LIh;v$Eb~ Sh IHH 7rc LR|گM7$9o,sЃ~9u,{q'X:js*I)}k$5:U3$i жm9Bv1_TuT]w0k9Uς$e6P̭bGIHR@nD%Ge|om<<O'Qy]8xW-wcΛYدjħxx^zzT40t)Чuk{-^%@˖D׳V$@" ((r#B=0nM3h <_x N0Hr\fV@9?5Ӯ-utOx~F?\T:<#>gOsɽaH&VKl:$L:3T Z Pq*AD&y)@ްg$@$@@nD T!1%7}&ǥ\ dޞwxY#4At]-: ᖍ}1ju% P&aHH \P{i,*>4軺iobXoO)oHf\Q˲[2|.Qナ=tZ|j]~zK~@{K1f(8@Kh2ɷB|=" (r#Bu]&iq&M[jɌd-).xn+VI:t؜cY4EIPM껪-Gԓ5l<Rwŧ [K^1rK**B5Pg,[(@N$@$@@@>隝a5i f xg0" )s?e-SCtM۷o#tX[ѳC#vÉO|jл{eV 'N(i1CcILZapBSϭb+cdgE}4ePENmb2QP5(BóI=p  BG 7"临HLPIٕhħێUZ;5^yɻY.m&s4I$Co!K(BCbIIq   H Vj .{DUv; XJx'qh,3D3!7pƎ3'p9MyQb0w-5;/TZ~_I"Al;dEh|4y>  A 7"4DsM92osٲe3MnonVvS^-*<5SӦ~'N@$nS&li2'RX ?2ICB+dΖO R|(2I\L<1K?{.\Hƫg4 ILOO |C6VԺW_E5":}IѩR򏏀%Y<ύ97g6ޮ-I+ֵ|oI(ScS _q*CW!(Lϐ:#’&kcRbǮ]OWT"y/ 7F»BK+D 8C%QTHs,-[X $,=(PXEhNSOx:*<ŋQ~}5 zkz,/xuP {J @"-*>tvW ]XJϓ!j N9+ZEa++V&K9A&weIS\.M. L G;CEh$S֬YL[+k\uUk6^PsjgH~rcSoo#I[3mg{ۛ9o0]5-<8X@GZ"B-"T$ss@#} $@n愮[X4Qp[Jn{p7?zijœ9s$fit ?SDWlSNF5YoU<7DşDnp%? g$V>f!ZI5}$b4y  @"t&z[ăҥKQjU9SN쏠Zjx'3XU|Θ)eAȢU+`P@3DN< D Vڶm 5uX]=O>d͵ߘC=M.,Ms`_݆\Cj :k19/,HQv@IDAT>TP% B7oaP`h@e$@$@$OP$ɧ~zwꫯG}>o&֯_1cƘC/_5wGn=t MIjTg$wohB9YD~<:4RI-Ob [ǤRashXŧrqF*1l%) +7dۨI&&&υ Gy%d"g .|ID#} ==:[|~ R [ƛanZfRUۭ_ŧ6# M?o ͩaМ~?h  H(šd8;2D;T1^Ծ}{dʕ<餓Oݠ."Cj-87 4~AṙwS$1En 7pe Nw0mڔ-%~h  H8q%z"T炎=Z2DCtX(CDN|H#FrJMɅ["l vNuwrqB:/ЌtbLm}}K. 4i] ЈQE]fB   T# {v6osshOaħ:[x)ܹ:/][5+Eh$`I8r}|i@Ӎ%+@5cYc("fo2?.|۶mŒƃ()d@NQ /8g"cWŎRՔbzb_ǟ0"k'x"j#&L@Nt1"i*VsX -W&,tz^|. J_|iŤCQɓ!HSH}@NNj&"k@Pt*wWWtH,p|YBʭK&B aO ;HHHR UǤ&D<'T/.ƅ޽{QJh ڎTORCj m9%sdS Мq? XE^?2arƍ7"pL5ks=gFyGcոꪫ/Us|PO:!#Dw̳  G,Epo\%u5;zI2^ -*>uџ"4V(@$@$@$:%B5 @)eر=ֈ'N4ﯻ8˿uхdi2W<OuꈶW͔$ժ PtOAJRPFƉHHH % Cjxs<5|@wJ# a4stκАGZK™+H)޷r,t~C*< xt`E%6ŝ$@$@$@H ylb.GܵdUC3iy-*>?suTX$.h&5m {p,UiƒXʖM&.h?ѱT6n gqC;gg<}u͈LJEhV8!PM$@$@$PD+Bk$"5j0|I4*>z|ns ߏ|) }ݕٳWȼS_]O?ej:!sFu^_q$䪫_z)kYB @#-A2.]j$kQ%Kay Bn6h+NF֒g^H|1LH][ҐN |Vppv5vOCUow^zE/X׭ PI(B8`ĺTY1gV&Lřna*ά\3+TY̺7@n9Vovԍ'Aݯ*HRŧի?7 nb ٤C+Ud#v^pU* FFN;:ĮzD֕tU[@5)Թat.ղ9,TnT EΓ XB_yG2axy癘}]`Z3׬Y#3ħVn߾=t_O۶m~Qy%QjIU j,E_:pv ])E->*>TY^-%Ru-a6i7QWY2|& \%  @ 'ڷo_C&T޾mO]9r [˸9ϔ(:ǍٳpBcQuEl I l!}+ڲwBGpIiȴVt߬s?s|7`IV6xA7 Rى6mژv &!yIaf}Ltwׯǀ M}=M"%tȐ!?f]~F[1{xW.ϝd1U {?vh4Q R47%qR|yS%ػ=U$ ٤Yf5V{7<8f(,8~Re+$Ĩ᚞}  `yW.{=y$@$@$@A\?w|PՐu5VVrE U+L[n%Eۺ9 k|)~ep@і=nݲo3{>{)@ipHH 9܈P͆;u^Efp :wGo g1Nu:[(>â #CrcHHHpEh(Ǥ.[_{54mUe]UV0LsBΝ+>;/~{EKh? G8a_+r)&/4!LH93ʱ3!eELHY0RV&ra&Lt 3!ek&-ޒSƤG3f̐4L:/JBu fKK&3~Tɖ и  ZBjh &@c:2]pa8:S$Bİuۡm G43`U? [ f3q_/$*PtHHR@"TkO7gv:߹sbO>]l9~hx$GѢ~Az҉snc yFa@Y`5:߈RKrGR(>#hx6C$@$@$ bÓPJXG_HvgUJćfhB2x[by}F^vV&Ҽյ3F8d V\.>#l3BPQT Q+7"׹․Oj7&#Ű:Kjx- Wĕ)@#FŊ$@$@$@r#B5uwop&MLE[jx={G$M+ab{8ecC6VRpvψ0T)as@IPX [reTZ5dg7m$$UQO?t~|fbrzvXHHH+B<$IW<6CyԵWդ14P9FJ4SOZiI=:?"Xt~?Sro2Q|y/b ]bʕ+ѹsg[;W^yٯu-[f핹 :u‚ 0ydFnC47 DM U`T,wфTNg˖|u)<0<0%" 8PJ,}tc82ğ@?#8 \tEFh¤Պ;FСCQvmoݺuCV$9d'*ׯqI'mM 65ҥKѰa B$@$@$?\%T{ku <;]wWx? @x?f.ѹxP:>W%p|jXEmg}i(>>}:&Nn;t`hճؼy%ŔE~"BL@_ahܸ57g\ݪS t߾}siQ318g_UgpTptY|B-\[]k쯖|qoל}GD7_4$LwVm#6 _8( ?7}[.t_~13sSS>;v|yq*@%Y+ /7zh̘1 ׭[5k4BTiYt>/X ?#tQD ca{(SL벊QעǯZ*xw/k'LIsYH "a$b5`d%Ty:#=`lviP{?Έa@ t^J&=_Xw}g4ݻ4j=Ȃgi I7FJDQbv%b6׹z**W^z߿?zaÆepz% .j,^x&suާKN܆`'#ڲeKfLP!ZUTP<˖{AT (#W>2& 3#}З;QY׮LTh%9;_]HKDTz|X5?HHS]Df}g)|4b2`g@'E=GjFZ4᜚U|+V|KY9 HT/nTT hʔ)f 7xW^y%֬Y뮻ܬG}4p.FԢJWLP::TVEǸEO}0*\/ydΜ9sZd 9GB3 $-1)ZxK,ys}I*(`]r1,QidT z|<Mɹ LS:]P믿6$ix" WN3ly^TP<8PgϞxǍ|۶mq뭷k2d׬Y3|gJ)GqHHH "4ZK%;E~HP8_e.ka,º-ǭݫd[1o8a!%}2ϱ=H5L~WPFIp\fN^޿6Òiy٤ImpzW|8:@5\ߗę,\x>\lI|j[j %>uΟ/q   "ZB7WY,Xmr3SsS|mB{R >PK,0|;ê]P dIHH ,B;YȬ);e<9.QJpe HHHU*7`5:1t" E|8 ' xP6dIieE-|Ioyb  (bDа*Ȝ$g(*ɱ.q   (\uPqLOr g(*ɳ J)DSb!$& $! F*>}Fa 2 Tk3 @=p蜳 sI^JHHH *B]Oԫ P;#  # |ͦM^ @"Lͷhj7HH h<.^< HNx#@z=&  BI`S+w).MǮ @"P(|U)T\P/s@ u @Mn @A%@ZP,HHHhvHHH * Ђzgy]$@$@$@$(@ư[$@$@$@$PP P;"   $%@7"   JY^ $) $1 THHHH I P&aHHHH-w6uA{ィ^:TMbÆ l F$8hԨ{'Ey(MP$? hH" "B HQ)RDz|f-w;{zgf;gcΝ;g^f zh޼y]4/ H@BP hTٳ}vO{ մ$  H@[@%a%| Ο?Bׯߊ \,̛7/sl>gQʽ7SDt].X$&M&(Qi&x,(\E u#F$  (WC5kěoՇѧ/(RMM U$  H@0"иqcSzw )x* H@PLX_`p`|eXYekX$ ,47;^|'^Ə~%p\ 0*ܽ"۞0z4ysdho H@TCsQ`wMGD)3e# H@@R 4s1||U9 |0apK9|nh6znFہ}<ȶi0y3w7SXΛԱcv%'к}Ώ<%  H@$%J t1[VHdS$KŋF4 aZԮ {/p}-`:QQ#lY;\kL2?z;w={ŒWo5e-Z\w|<}0 8m+b@yMMWm:+׾:С|e;]_1a*V222iճ=FJE#xv #V p^pLMx%^.= @8{1X"?n@!ÇL`P9_G7݈OXi @Y3u. ]ڇfv#*<rӳaZ5``N{/ہJeN w\ŋ+zȾ́3 }&XGj9Q:oJ@as,YKzƿ}Y[쟙W&b%2eGz9qH%m["Lp:J,ʗ~ڞ] Zf;ܰf!{y&)SN]k2:֭{Okk԰v]Z[^%  H@$gT,&Eg`y/df%k a`7h̷{{?*trq-86N.O bYtt~c:y^=uJu3w@.vzW]lW H@ 4]V-ϰaRRÜ?. r> 28A쥗>;UܥNjg5u, H@@nPߝ\~n/hw45/Z+q/=x G7G$  H a,9$  H@I&${CsƎ8 t̜7h*y=3{otrЙ<lY ǤgrOs3/^ \y%C5q|3 J$  PHEb"N[19v:k3-Y/<=߻v}&{-o67lW7i]],E2.4 XXޟNbu+ڷ5jaW H@@ |qE`4#^L燁ݠA@6eإN.SO;Knd uNOJ:y^=W/::>n;K;euЫ$  H@THE.Pg0o))K>ϷKFyB,ܷdq8K/ |ɺFjU;6b~'=8Т'@>ok8Ϡ̟U:g * H@J@=4 ֬ 3yϞΝ!cwNwhשd]O'3zx;[wXَ: 4YߓiQ٪7)Lh5^vu\g |$  H@pPn5!0(hߟCC1&l4uT20dc M(%%K-Y5hx?pY3\Xڶ-0f=y_K@$ȓaw6yvhæIvxh4̙Sڌ/^Ķmw5aä|tJU۬\9|dS̟ظ*P1=b?-iהR%K)^>k8[7m %7x~%y GČpqtJ@qӽHASQ~Ϟ=(e*`IGi$q<;qH/K.z45Z!$p%~v1X ts|򀬇!u=$  H#G MH@$  C@h4}9KbbL?E'Y'O?_Z: KLPIh:] \LS?N|`]~9yxh_C<]ǒ@4Q(R_yLc OE3@v @zW_G$ ?@k_r%0n\Eah}%~gzÒPiPpPő a4p㍑壽% 'J霝PGB@( @CQ6a Vٻ |0ap0#3ggVky=3{oewr<Ljo&Ӵ0#> g;ұcv%ukyؽ;ОZ&'tNA#W H ; i}zM(f1[^(Ш]C{<{^}{xo^ߨQz<}r8|`Sv734bʠ;u׽:v@$9 >kVHU&nh]T̐S{Jlf`ڸ]˗cw\v0`е},U<.qB#G&V.czYD-ÇjՀ:u}.@8Wd/sOs3,^ \y%C55o̘af(o% $@$sNި!VxuUp:zK8nMYT6Ӓ%@Ok?iA]˖7l6ի˛4.ONb\N] ,\hS'1ܺx}oupv)m=z[^I(ӹn^% @zHEb"P F32e|0t~ ,hoS]R=u6N.O bPjtT)oi_z~خStXV)*`^g J q|:W'ѫ$ԑEUn3l%%<9B 28A쥗>dOq#PJ1qhO75gs\׌Th5r׫r@8YFhO~wƴ|k4k T4#P h0H\g͚d;!CѮSɺNbg,dkw@_˓u<h: lq_ME'-gͲ(YE s>xc-XBʹΚ?>76¡{E֫$ԏE3Hi)}QСgˆHSA%C6PɍXZ~}睵Y_˓Nl _]9p݊#/eNZ>ՁvL͚’Pv5f=y_K 7 |T|R {cL^嫘|R(TAdJ B3hV).'äd4رcG.^&Ǐ1uի0gNi3"Px۶֘ )Q"S 'KTYorݒ]N16b@iĈs[9^SRjJ,"xboe)l*B4ߴb9Nɷc hIlߝ< \w#Z512s潞6)T+ᶎ/a菘.N(n)h<_W9ASbܫ?W H qcǎ3<+qo3ierJۤM3_꫱yf F9u Ka3eidp(M',[6m|: ?! D|:4d$n 5/M)'ߴRͯGlg-klѬMJ@,`iРXV,YǶnf":C\~~bz>e:h _<|[0c-(i|e?{.G%yˬEkQ)Ԩa$3Djx5M{Mу)&S}_\GHzNg6AGX S'ѡSV[֮6}P"SF,獨ܦUvQh+d{E&(McK1vލf FaW]0q;ݳ(KP7iz 7Pх4 EúLgŊXbO2&yΖPeSpoQώoC~1?$@9g 0zY}w'f\ձ(Uvoٌ;vE#zvokko43p?>UGz$LBd$jK2()RQ76m3z9T΅#SN=)+B;%q:l\1j7O$I܎#K} (+24I7D96e께jRɳcPu~!iqW nU(],g xh "^};zX >c|2>t=])s@yʎOhA#?TXY9@NjkO>$}Q3 zv:RZ,4שSdz='bف߁.:Yk<b'E?^N)?Ѩi˯J5/E mİ~;k~j3x=x81Yxb^\s >C |Os^Nrz&i>ɴRƂWYFM9ܱs|:G^ɇ`[T]ˆQZ guT^# >5|ַAcg5%ǂ$$%Q|fe H@+iI7Fmwߗ}teHMMMV]$ D#dO>v߻}+zz_^y!jigNDI@F .u@sD$  $@4Or1csv{J~v!6#!S@ (MVW& $@OqWF6|woos$)DOJ >_]$_k|E%~ > J@P U) H F<ɃmlUS^e.Po.BHHO*3.1UH*Ivb$ d$\g:?kESJumOGJgEW@ՕI@I"NsFT+ϕkѰ-`K@N >-$*MWW' $@8/]!HIDAT/74yl*|36}*6]ϧ!mOޚhl 9~H]% \.n9hݩ'rߕ͛n~=?tyj4JW*;#9M >s*$z○^ȥ__BbAϒ%Nu+Uv|l%NV}リ?{[X2Kok5 x8J>&@&@4+ Hb 8u> rse;z>]3O)3ѡStJUO=n]VqJT#6$ dP D.|R3?o(P0oM *~ZVXqgBg8ZV&FHtN@" >y 4_(ZYgd diea) LK@AJ H@Fa+}>u4ݻ0sҋhݹYد >&@6 @j H@f{^L mێ1|MBV26P6$-Xf%  J 'ϧ~k#l>3#=sO^g]I@%!1i# H@ D|:Gn|SknW}*TᬊʫϨ0* H ! i H@d|߹zc۷zsc gp$G*%  |2>h>V:|םYY%xC]'+N惼Z% BM)I@!,wk(YZ[~\nM'JW7-~WʦDނ g6* GKJ@#hI* H@>t֤ݐ/- 5}^W&I@h"[:W H !B >y!Uj](=OW}OsìOa1jc H &ӕr@ea\K~vo|ͨ$ P`oNWȝ57&̅ٞྜྷ۱ụv=i3[>m  $!%K.@%ߣahԺQAbiR.~e!vb*И*s H ʖ-'/=kJ8t{璟ЪC$ı#ݢ>9V~pp* WLK@POmKHzZjeb_ᮿŨYvZ݊%sgWIgD|Y8 @j Rk* |#z~9` >sL% 8 (#% j78rb`i9+i >h$7C" $7i )ZZ2(i H (-CHJPЫo7@_g鴣$p^$xVHcԹtcHF'O FgϞŹsv~ v57o^Q4r)$韝Ն>/_>[[On8xҋ64_ Ϗ3g\#CYOν'yLJVt=b\D.,Itǎ+VÇqhg7c}GQ\9ݻ7nѾXWH \{_(Mȑ#H/+/^bgϞPwIJ*ĵzeʔ <.mҥKG4Z! H =利|m$ P8THHPIr2$ @SK@G 'Aϋ^@FT9J@I TgHHH9O$ pп=?jQt1}waq1ߔh힔o.JPǡ H@p'>%_.:u5NsۡӃԠ >@VJ@GhѢX4~1}2miՎJH@H`M7O. $?O@iٲeVi$ DPYH:v?G`JE@h H ԩ:lѣGQB>$ _$pz1R /*I@HN:$ c3fk,Y˗s=+M'/ H ZgѼ$ $Mfvrĉ``$ H Tl郞GHx4)SFg¿ HM@K@$  D@hLX$  H@P7-$  H@И*S H@$ 7n2Z. H@$1aU$  H@n @d\$  H & @cªL%  H@h$  H@@LƄUJ@$  (ur H@$ ( 2$  H@pP&$  H@1PVe* H@$&MF%  H@b"4&T$  HM@K@$  D@hLX$  H@P7-$  H@И*S H@$ 7n2Z. H@$1aU$  H@n @d\$  H & @cªL%  H@h$  H@@LƄUJ@$  (ur H@$ ( 2$  H@pP&$  H@1[w^̙3k׮ z!\?w\p{t),Z_~%Μ9J$  H@ $tҥ ֭[~a^xͳgb֭hРu *H"ضmj֬9ƍmcFᣏ>oذrg[[z56mYf۷Ϛϗ/.2ϺxL@8TB|d}?~ɓǻ"ŧx& ~]&ϟ_s\ߏWx8zݻwhѢ~`J(;v;x➀rΝ༓8͠7sY…b 15G_@&ϳ xʔ)є%PP!IнE&YM`WDy)VK1@ܹs~R"6 $s2>|h++WG*Npv7`*yѤt8p;߻zQ/=N+V ǎS [n~PG+/.J*ec[yo `+v'JʕΉAYm*Ud͗-[*1uVr]ժUY|~,Qg#́v<ێ/2W̼Otxmx^zpLO,/6>YN\+7s/M9ũJFH<6 sX`3gb㣓'OI&Xr%~4d̙ꫭm:|v잉]15lZ_$  H@%PrKƆ QիF+ݻwGnݬǔիWGZjeʖܿ]v~G=iB$  H 1űqP(YdPzkɜ9b ͮX|Ŋ:}X2YB}˪&,W}G]:Bk67zX"(^b]aVo۳gw'o`HV`,R\J@g|r;. X]I$  H b^4yt$  H@PmQ' H@$T@hP$  H@h*? H@$  @h$  H@@F[TI@$  PG+%  H@-4ڢO$  H Р/G}^4ڷoUbѹUܹsP$ςu$}{%ɟW+T ?WrKR[ $  H@HΘ^f֭QzC'@bJJTJ*ֽ7b  XJt h֬ʖ-ÄꀆL %  H@!PT$  H@! |6Tk׮?lZVt޽{tRԨQ_~y6GDp|̙3Ppa4hyV=z+WM6Lr:u ~7imtetl(^W {-[y)S[l=빬vڞyM$|whѢ녹}vdwf = /`ժU_~_|ժU˲v2dr-Oѹsg,hA sNO>m}+k.,Yچ_z>H'ObРA`qn>;Bb"epP iӦ gcZf?,[0Y#M6[F< W6nܸɓ'{ <8c̙oxi"9 Osqݻwꫯ<3:uz^C<;h"aBW|/pO?gQv2<ϼ&Sয়~ʸ{3yҷo߀#'ZPu@]7ZHV8%Vv,غuP)m۶eB .vd=z,fy2:u*,YB=J5aA>Wx?%'|3f%LkɥWi<"3Ǟ={;Xm\|9p;wK>;½܎r.b;v@%;½ׂ'uj䢕/_>YM6ɜܶ˼1B eB .vW c'kfbߎ; PY <+>5ab `Z /bP>gZfU݃XK X}56lh]ϋ &XYU6Zly\J W6olC?32?es+6f 7p`k#x]2-Э[7=Vuښnݻ7g=adRJ>`e1d+>b # }O8a'xzܚ|Z}EZ¢EL0QfM ^a]>vեK~曭Ks)e+zȑ#qWXk¥^?OjA2-L +nX ltq89u68/XjNKXOJ%~~ MѸ|t^q>rg\Q@ώHpu+%  H@"PЈ$  H@@ @$  H@ (O;K@$  +4\1m/ H@$Ј$  H@@ @$  H@ (O;K@$  +4\1m/ H wF;w'/=z)I@H&nZ$ (_< *xǾ}:+S$L )M]$'ODƍѤIk-[Xcϟ?K'/ H "$pVXk* ]|9~_]ijѡ%  F@c\%  H ==,sg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|U\ @IDATx|Tߐ^HH." _^w׫F  (Hg,ɶ$dw3ž=3gwޙrh    '<< HHHHhHHHH(@y + z͓ P    W1z:8?//sRR<&˗/zLUVc=fv}ҲeI}ڵC>l>|xPeÆ ҹsg}zj0aIsM7I.]|n$9*_|quٽ{4mڴ7oVZE̓HH" p '`SM4qV﨣2N9@6f͚ɒ%R4s瞫q>:M^zkW_}Y۷{LS*hc:Bm#66Y$mlRXXh}Tߴi ^YY,X@ w.R^^.]vu[2:ԍ_~yyyk.S-ZʳrJ9C9İpH4>^In:t;UϸSlܸѰԩ80 n*ȷ]v.5sNIOO7HV[~ITT3k{qMq{1I׉*̬I$@$@$B V|=VSϵ lz@ݻ?Tkܸi~SkC3?~ݻC|]7ng^Hƨ/ß*;8wqthׅ :Ԓ܇r֜N9'.s-iAD8ǭeѣE5]g,2j vs    "FBxWڍ<>phWI~}>̡滫kYC+`P %|\&%@am]bLj32:%:E+}ĉH)=UAԅsu:$ֹ-7BDzB#h7XAHMP a;uTgZqovC#Fp?;en~'/XxⓁHHH p M܃ $W%-Z*͟i~9g6>*D7B'*iFŨ۠LH jRF<~7O}O+~>$|$u̝;WR*{`38j:vXfĮN:ə YAŮԔSr&5J_>_om9}tg2x WoM}ԨQfj.h"' yM>7|$@$@$@5#V ͔V|M}@UT9 ഖ)En~T wugY/7ogym- (hB e&=ccCu`DseKESpe+ݲ"nҤI.m9m@4e*7 rǡpg֪7 g/V,崀HHM+!a2t@TEh,*D*TsX|kzL_Unf=wK_[F-F*`Y@1!?[`GoL*D>/NDV9-[f}5د*3"HXa0ۀeŒ̟9saTR7S:ݰ~gnQ6VR7Vup]jJ'7TW]֧|z22ܢu cȵk׺I3Ԧ0q DW?8hŶʄ {=j2EFXUW zdF0jdFVAc޼y+ wY{o{8#HH Ct7mX駟ٳg;a㭷2۰yjjMsϙW\)|[."ٳ3O?TNjcg}{xo‡~=$A!!>Ǜ}7b:--M;<믛Gq`q+ظa9z姟~2_4uQru8oʯ*#GW_}ekN~P>X>V('8gy嗍 xҶm[Sep̘֭1Cn*wyt݉c֬Y7<y7\o_lDB[3gq?4kW+= (ӕW^)7tE>'|d8ۧzk׮)cF;9yW cSNo± SrA$@aD رcCc͚5a&uV 7 ]vaÆifE̓>:K`ƒs1B /9ϙ-[`Eꫂs]8W! ~A '`įݎ=zdXt~gFZqxz& WZe3g4@9 =p9 0ƃbu`ܻw~]o߾N]vFz0_$o=⹥Wxꩧy jx䓛+T/cǎ1cȤIL|m pK<^62k/ c0N_e]fDXeeeI6mpGh"^ ?>bStc +z# ËD (9^3sҿ7 II0GeIkc\`87y[+[5\#-[<мc$@$ԺA#F8Іpt>LbhԨC}ܜuՇIwߙ}*n4;wv|G~jmr!>*>nx :T@ՂtXpq&UaU8.rbʤ: ǡ9 /]9U}*T 8rO.IC-З$[7oˊ'c~wzˍC_(aCC;u)8*j뚶Σ/mCжڻbټy/ q5uuqw8O  SaKa X }VUqFwXQ,+ FMÒ ?.X,@F^]7niӦI'T%tŠ`D]}X>E|6nX`~wVG5XR kJD~ A7I4XT|+>V1X'%3F+tJ2~ {+@۩yyyV]/TĸEhC+:ue׎p;0Bt[.Hu eE:}yWpWGX)^)Q?\WV X;&e \{Z~J=B>}(/ At'U0zqAx]Bx!DҸ|L-||T{tS[/V ,+Ob.B ]Bu5/\pp jUt^ \˄cqXw uG2ع3Xd'M\G@\?1Ppy i5~wݺ<珋ʃ$@$ MFL!BX.]E~yD<aX\"+tr-? B*(: W e=ʬ ]yJ&*K$ DaEDh[XzyLaN_~{X5 `ЁϫU`{keo%kY;[Y*#>mYYZ"}[8X_ K?Y紬>_%_w NXU)@pGH́j\Wwx0 LH>/X]kia/ /a<~G \!Rjb BWqu7H@[@_%X04t{K#.]j!` *]->$ă]všmdCd ]HB!`|t!#1"eyP.tA=&"m ؂e'8mی>z wFBny+D/D[[{ ݺrBK-΅6n,,Gf`CxA j(n 4b/j5 =-?wkSB`Z g -D<"{3^pV\8n1҈Z#ẘEvpu  k>wB v@qM:ڡ(3(b9# hPC>VCڅlӡ9tC"M_^L0CV3hA-}.@T+CG+2@ts uZ 4*D䧣>kt$3HKݢT8Bj*xvu[0Ǡ=0@L`(f00hAY_{`ݡBʡbޡBݡ؜W{6LT$+ wH܇+j}t*Bw+AmIn R1PsV $Z_=~t7, 0WAT<}C;! B9 җ9l*R=yuRg<6T|ANenu}>}]hg Toʊm`}ty7B)C{_[H@ ڥSV"O` %,!t{ꢄ57J}ʄzN,*`ee<wвu s5 /_Xj_ +B*]뢝`񅥭2?|Ϫakګ.#h/x k6p?yu^k?.y3HB@Ń ~a* w̓5n*]Wu@-S_u"<,Z1ZE;IƼwu uN9vm' vT @kuwIH D xdIIH 4DT|h e)L]J2 x'@ cHHHH@OTL% @C̚HHHH* ЪLHHHH P!\fM$@$@$@$P@O4sL<)͛\z֚Ν    k*@7c֞(&j&}H1 ֗Cb[X9i"S w]zLLniyXuͪs}W6 qVW8bvyVCDRMby;]K).=Ae„ f)MOK2Iݰ'V˱Sߞtkٵ+/Whk^4uo[;vd, 6b‹@P<~aꪫV;vua)>|%-lϞ=&h#<`=K ] &. ] ,vحjyf *Z/tҶm[Nyh/뮓/X?xoxC6Y"kFPgM-RӼ83%R©jZV3UvũjF5k/_|g {)SNtK.ޗEwnVV|C1rΝ.pggg:?.}\vɑ4 ovȰKusnnlSovj碢"˓Mm :*Z`Yn3FFeȸqd޼ynՇ(nvڙIvYu' D2:3f0-Zv2dvZ|z'ٴi#{ɍú @$seʕҹsg9S.s9G.\(^xO$@$@$@$fڸoH]]Qu6h^"(^1]|1(>X(>{[>ga ۚYVƂ"Y|V/ [$@$@$@$`7vkq֗HHH@I TT8-eɆ"@!L Jbcc]SnvV_xoiծ Ī3?@Xz`vh#7۫W~cbbt[1;u?: r ]Ua`k,̇E`bbZ]Frp,~ҿCfN|HHH PuD T_7E*堸tkaIL_IԿw#4 ",$@$@$ 7 hyR;()+NWM"oɏ}++6vHHlKԶMϊ%(J,)=E垢HHlEV1>/p˳}%a ؂-kw}s(Kx  dܺ[ٺ$ץEj'"  P%@-rc1S.*Gvq$@$@$` hfV 4OK(1ў| *ԡIHH 3 *$.q8~?`LF$@$@$PO(@ 4O<zNi jO,\C*$@$@$@ Ca iGw{,Z͠6ɽ$@$@$@ F5%a +ߑHHH PV{4h(IqapR$$@$@$@I>i\A!9>Cc_~?d69 @x̉Nz=Zx7)>Z2Kϝ$@$@$@ Ka 0䁳J$IMXi Ft:(WC\J$@$@uH#]Y@m \{\/$wowHVjbm$@$@$@uL3'K', $@$@$@A]N,% D  ЈiJVHHHƒãXJ1’2lFaV]X*}58OH$@$@!Pt̙rJƞ~+WuiӦ%غPKU" J i$w|}Tؐ#oݻw:eD5d;7p /;79W-Z(߽-M Pt͚5_ȋ/xtt5o]Wtbd~~e 2Lx{*))IベuHgIIIiĸ)*-BbcU&A`޵k$'' MAVdmN%%%g CvyVy}uG7|cF3ԢPƍ'< 2Yf͚ŋղeKwO -X8&<giIY󘂂S߆ q@ R\#Gmv >ym5 LvzѰd_ӳ|u> b"tƌ^{)>1ldٰaOiH? Ԅi}Mm$gIZ'${C$@$@5&P_Ə/>]vsw8I:M~~`_C\Sh&  #ݣ>:r.-- Ё\CgN]%v p#rCu[7lϗ׾])3fKAql&EFkm% 'srrLv p] i.x3z&$++6Ϫp"uZ]X? h4Y9c Ԛ{\c$@$@$@$@$o>%   2 ev$@$@$@$@ 2µr+sdŦ]RbEI;P~)l$@$@v#@ Z yr蝟ҍ;āe:qչF 8 P:Qpsnz;JujX$EFX !;ʟy#3ZIRl|P)ȊMR][Js03. c:#l;))pc'K6i2}vKgtUGxJ^Pa=lؽ]MY68.wT-CO<0ggLk!RZQ.˛'\%MrfB5!o_cjN`ΝҸqcy&at$.lIMMd?xwK>YϔرCӃfi(//Z3*fe@%''9!!g[FR$9###.%%%+>JvSR(=_VJ̽[ZwONʻ)ʜM+t=/xz鐖.**<ʲͳYyn K3OKMčyki"9u*ukS$#`H "eJqYGJu`Fʬ ˪OdhY.Y)S( 4 Іsr&)~ݢܾW@1ˇ[Oo6oIH sN!H|]EdM {f-u~1  к+Gc:>ZϏ<[X=f̝$P ՀŤuGO Yi*&=I8N&9ceO,WCu#eI8bNFP $@!OiREu4KKf(qvKΐ43|:‡R lE7@ss"zw-)?h9ITdcD Je|c=i$o> Je8ۥ6 fu8,ɉ&OBt_87]ue gۨcκM2ǻ݅%2v7ݲDIY^wwx,+4E/̖ol2)I1=7ꖞ_HHH#iTuLw]Ǿj'N^7|(twMCV l}yQ+ݲ?/euS*'BcY'_㖞_HHH#@'Ct<0g_|LujdAT;eb=c&mO Wo @Btzz:kvXYJU$_rXsEMw\-%[=.sz~   /(@#!7_o/*?9 %q{Je~j.O$@$@$Ph% ZRuQ qbl ia=u+++kӽeӸ-ڭ/ @wN. 9IG_9swӕ钖ѕRt9ͼ}פ& ߿幛$Q nE.x@:$@FAtF|*(R§/:H.ѭܱWz4fAqT\ֿpd_=cF=0]n{lt;h.-RDƎ;rܧ}ĺN-^4WdꅲdQ% r/H~[@IDAT=AH h}eI|׾|z+yNWe*>QOwqefrg2u~OCLVoc <0gLZ1M|'…ӞY뗙mG$(@C!tR5i ZS~^+)~ܶX>Ɣ{F\UxGQI<1=f @^_ߺ$iH |PX[>/mU$[wUtP M_YX7=eT>m<[J,^Vᐯ)+#٫u4U;tbaUI #!W]%w:.Z[E_}=E&/aW~~ZV:~ D.]j-`= Jr\" ؃hsdVR@ Y5M,JO$$@KmL(HmCX2>w}}*MZ6-,1zH#E54I}~!IFbt4B2' $пyGI:S M6$@?Jv{ ҸaޢX,ѻz.NQjZsc~LOuGw}$@6"'G^/^k]8k<#Hg~cgꔪ[VȶE`XiYo]uItϸ%D2tCb%5LPᙞ'vn*[_=Kqˌ_H"{ǧbkZ|tl%.yL2x 7H Tk"zL~zYlI%)~|սybP7oLktȔ}[Jr~QZs6 yM1@Zg$>o n+O毗fKdާ֣-8""6Ay]MD"p\D~Y/12E'8Miβ7o\|A)/߷63'!w|([:,#z%JE%Ê3!:?!ej)5vhv-wKXe   G瓽DyoFo߾f]{{l9b̒_bI^0Ժm{ _ɚ3vAmU}S3W7LO2vEIrmشKuМ1S=g S0#  g^+W wqx-壛F: $+o`:/f?dƝfNQ*UfrTg׫Mu-6D%#틤/}. ҉:z Uyymj5 >+|WZ%&LvU!W+*sӗM'se۞b|]en׾CJ9f](Y6C~f]5V ]Ҍrp,oIHHlA 4LOʽ[磢g10KKK4B2݂3ӶmᅲÇK6m*'sa/ܰ*M$YK7T-L?P/3Wo$TTZ+eXצ~6O7VIxD\T5ucv!8Hf`vڵﳪI&~DՌ@@YyҫW/ỳ##F躇ŃW_7a/"ru_Rzc/#YCjp?L-qyJqD^z)$uj|:L52[}>*ڭƒ # бcu-͜dz6VOu/?M+qϞ=ߧw.]7)@-D Y+m}7zP<~kϻ:ːm%IwJRlk˩55AHp @gkco]YL6v뷞 Pt-^جX+~:tGq>>uFlMi;PO&Z>y[5S:n쿤ܙzJeOG;>lY d31.ڬt1HZU3L3(?*N%Hc\D7SũsPJ.Nv.sRRfeee8g0 Av뷞ODQnRz LDЕk.whHn?ʑ HT9mXgdkuEK<ѵ2=rnw%Fwm*jmvY:[4ϐڤ7ȪL*}@~/3}@{}q>M LLX8g:o'M+ŧ=.+Zw}JidjNS f:sOhyCƒ]j|:3- D2|@#Ǐ/X X;Ѝ/:i$bHHHHC ` L{6̜>OO=d+1 @ ꂇIZ2ƻ+rJ cj(,)9v;uPNi.tX5ɯdܵt{_{Ҿo?{s>2Y~d$z^/.Ȋ;M=t{TUhirHfדT3Yʶ]E:#I.= ~VJ^3G}.!ZIƁGKbW⢲RiJY\!=2I\矰r%m \IrX۞W?r HHDX_StXbGNLSPPT&o*9*-έyykq+sr[#f|d|VsUl_l)(.=*1gr| chrײlQ '?l+00RceTkϽ5yY}:R`];Qv扏ʖIxT;$sYk]ݕOE%ħ\ӅIf{;,ʗ3?zBRZPZ"eri(%*D86ݬ] HHjG QX SҶm[s_UNo|sfV%[أV;'.p&͟Ղ} 25mN;3{iϾ'-n?|mmZU|Cs$o5fi\x]*ʝpHH ,@322df9NlA4y[M:]M#+l['7xrg-n +}yex dNS9{!(iWśuVF_w"/}mzܗ˽wDv)W 涯[#~.w_A'_Wk|I6y~eAYO_2HH g֭E#LdbpXzte7C`ֽU~8A*A j} $ܲ3dUgJw@H"@p{-;tnY$eH n-h.5 `|Kšb_&aݮm+oyEG}SR]kb )d< ;Jݢ't~I}OCG}WR!8;25&B.zjhV˖Ìn ik j 5?C=Mtr(fCHgMTklې7G/м=$@$@%lFk2p@֭uQ0}ŊoܹfO0HHn xX/+WʨQdΜ9rwȈ#䬳Β)SUn6)>Vq12}[OV2y'# ۹t@Yb}SS7)b%{4Pn;=|}e >N2UP:W :V^?#>q[>Y0[<2HZ{K$@$@@ i\˲w^#]mш-kWΎWm!K?vlO,8DŪeZܴB =X?{@Zvvs s鯺×^>9fa 9ni]Z_rְzg,MzL[Cu 7Vg}2<ҹy@au ;7jxa>ArITI_m,'N*; ~!C>h>,,,4ӕEm4D,Pᗮd;5oHrwB>穛"~`~9vƝ2R+-:0/͂2ZM%/DF0;ɼ?x.I}/S~^, ceaur؝Kv7hC̚HHH >T1 ޗUP*oWQ_Wo:M`aʼ'5(VÂ1>e O^xdNwKeN7-q1rksF#%F/Av>j};jl6p!˷:747o]WoI X:ʊy:)NN.>d&z,霕9YdvfK_lܭ݀Q"]i\va%oS|ZR"AD-"7#w^iUY<gvds^>v>݈"u%ss@|Zra!~Q]eƢKeK^K0} X~grV駟.'NlʰE'f n< L8HxTi˻&&~m%w~@ &~7])epy̾P)ʬ ܊d9g!ca ؉5\yoU6(Asޫ<4ul,7E%,eL4LE%¯ʠ|MWXTJO,[ jot:ڣu7|lӽoП`BѣGٳe͚5n?m7'>f}Ju 'zs; y|7Hfp_ɏ@WyɲG%-T)|,<:ieZ}*.n+5#Bcѵ:  }N]ZBfTϴ2hJyuZ3E <{Y_P\[w,.-u)||RJ8F1P0icnnLW/? e77m$XjwYf _ dzN[(.'-5ѸA[R_ x"pnjŘcoʪ[|` D.x]+2Ns ;[?q4O<5mX@-$@\~w B Փ?';uÍ'^?Yt_7U+t~r7@k\7P܄BVھ7c +9:W'4]ԷsXҥ=C1hP`tD$a`S**+S@W};Лj{m+;ʣ>=S47k<+\g0>r ԟfZ3{}=KxU=GM<5k#_UKF ;Wte4j$.,iI2eh+0OL$@5$]ZIry?T?Ki(D5CFk7~_1:AO~NтQc$E}vڵ_;!h:ϼC|p$JA̾k,V2zM.r144FW&U)'F־~x֦{8  p"SJ+cǎbYpG\1Er]wI*!kΝҸqc7!U fN<.OhVL,AV١:za<8p cIOOAفx&[/999!iȰk6 ˥Lo釟!]:w 휑.ܺF>5UVTvlÇ2 s44LxȅEjXm P<t=E>3 ҉FDJ;EJ<^!@q/n6 Ye߸HC>)S'L 3]ӧOW_}UaVE"Mf,On;CmS]|U?N6, iTE+("!ƺowc[ŹwA GL>JAǟ|hlRDb&tx0^]A8᜗)` &Ȇ%Jm%m'11ϭ7h,*f6V`mZv$+z^$dA:\X)_rV:dg =˄Ӓ!76*7:-ccX@\Ƣ1ZO9>.Iڴi%=  <ݺuz,]zQQT#G$ W0y4Pڲ,yr*ȃ|_pfcal,L`f0{XKK_WFPu{V/0/Jߥ *HH6]7#<]AuhXAf+[  x M 7l[ϙ@w/>Uc|_EP^ '7`l`v_m=KGaՃo;? S ,\/XVGzo %m^5 U  VM:盿ECkJ瞎Tc@̧̎C`RJ|\\D6Βl<޽p 믿Ž;5z;5mbYW8!n**9'$4>5OKW؃i5k,>gc4YU}fEHJφ\gWLôd5Rҵc`HB*x.["!| v* 2D@ڷ΂&;jE}]|T !d7A 7~K5-O0 &P,}z/ܞ)O>lu_6ip0j&=׬5OpGIx[3^`'5u?s[$'1v_W_mNHN >.Ù{Q=~)$|W;6|ݛ hM Wj4?4ۿ9e0Ib ?X]i>^[|R&sq9~T] 9J| r2vǷ]%'0 Ľ09E.Ρ$6}pݬ=Jʑ{ ĝ'6aa^{OFYڷZ˯"J#Yv-AXSQF?6ףUiݼTH8[خ xj~Sq)X7>%ڤ.+h4RD'ADjc[~;hy6= L[Ewv*tX84ˮbRr N=fؾb Y1hC"[]S2[0(x胿C NAK6{{{åK͛7YLΝ;C-jY(H.LAϢ,t'4Llq,X{nQ!7BsRl:}Ǵrcz@3+i>dHwxEnd@Q)\ /,χ݇,fm$iAIhrD~bя!9;n"__Vr4dJSNLd;\oI>mbh(6#9Kٚ՞Hr2;3mG>:~p9&W>y{ToӢtUVA_ϼ^TےRqR-[ɓ'U1AZV\*!N[Ske3p5t1e~H3#GTu$PI dI%mT|f)?BJ.WB%CK @=˜<\s+а?UUlP_ĐB<Γ?3dTkhi^6\΁@F}~OǸ6C+`۶8 f8}'^= N0@p"ҖF 2:V}0sduж?2;H|Ѧ:f* cǏ_[RtCr ~ҤIx1~] 9y“7g}jGf"R#"Z׼p -q{ԵF.*JiQxKsZjͧ01Rm:IRAJZt]RcZj҈Q.^R,:cayCg:nۚZBs'p Vv]4S_|e'2£o^'i쓮DPT=6Us &G.jآ,gcn hsgNoȊ _n/ L\]>xU:{<"424T#$#& jgw {^`\{+` "fbFVEΖ?!k?ֽ%2^ 4l )` 'U֔Yxab5|Dd- 6Do V\XA'o'/Qj1B9;_zXx!i2KS#wiy.`aF_bp~uHUQAV8vQcDJp HCp#FX7szxNӕ}-aC`Śy {oǴ:! 5qNlwbp+1.gk?iR./tW_O_7ERK.g;Cā{8/-'΃,ZPcJ½93sb᛾VpHyi}pm|=HrAXʩ^Kd Cx6 \:"L C~>vp?@Я3먷X]gXq夲1ZsfKJZԸCU7x~x8/0|1GTV%2)D0EBHGi <"ԨbϺ6̈́'jjm[0-tJB+ڝO|I>i}+Oݻk_r8ڋJ~ok! =spsx~DL-:ئUO;d}>ۃB͘$c5=x 18HWwE='=nIFU~} 4$l=G}LӧGkMV>ًi!Zz/-Pk|kXzV%[F L"1qHA% L\.Ѳwܭ 1cf3JagkAL{pb0?|00zeH|Rۃ9Ûo QMla4iJ1>X7g. I V CLA9񑬈ߣB |M/'! ^gv*%(? ļW^2!צ O{yMHsIKզ\p5gSålj(3 bxtTzrl>ihXhO/^6Si 5KFBcW6v[ c5aykH %i_8n$@_6u.R& wM3 5#X- .h뺾M}TѾA7zQhn `: -_;模}8WjDu檨7\}m h:>l'и `>pjXlF 71j+0kYCvpگ8FEcü;)KU+>[3$`d}f%R d#8ˎ U3 ohf#\5Xa)~gnC0WK*pGZH115C« $k(3G$Nuʊ c E@iڼfE7ŏM3W/ʴX%׮]{3f̀.]Q`ܸq@jiY-XN+Z:Öu!+37 c6a60f=dqDZ@PQblJhj t|BzpҐrp9yCҒP.ڇҢ)Ü88~p^hԹLA}=ۀp8Ea/W$0XDZ߇΀(4C\tNj6nRY̔t SQCˆ:7hC^/ABX 8y}L Ap0e01)6} 64 )|7j&^8P[20 A%@ˌ'$%|ng-'ekg*+g Qrh޻\FOG}z9YƤH}*' ~ ^I7i P mV@`Yz' aGm=r<4z7Ƒx (D1)І٠M~X0W=<)\ʮ] .A p]t2y'\R.Ȯ}[Kcna/-И8qKIi7>|mڴa 4*ZpE76REm$c7鐪Ti?0[J9JqIGJS9k9PjۄO1emT(ON3~pel+!IeKnrjܱh=nHy`aOOi?BФz!HIKJ軉psjk4rd@G8 Z\g ?E]HNN1cرc_~,+R傯ifP+6=T\QPQ]s+$Km qqqP5Z[ a"dia MX:Qըc_r7ԗƤɍ,1bcؼh{?s#Þ)|x.LpeH>}={XJNZv߿? j\ Nق'2WZn^qip~4\YC5IaZmc Nߎ݇4NO4SxYu F]>t{6hjvUOFZ 9bNu.}&yqg f9|3 Upu,OX.I؟:-GGaQԵRKRI}ؕRcQRX*4=z-߻wfϞ |e$D02^? M 21gy(C9M<^nv͋?o\K4?ۣpVW2u}9 ~k@)&Aͧs";ICcxCHQEhƮ`ng6C`Ɨ]AF8W Z}|Z¥|k ~E0mdTT45:h@kkdJ⁦%yjccS EWqSMɄvF$HHˆ<>1=n$B㷶AtrFk~t.3r 2}},5BuIGnC&'.j'ۗ'193ǿ VMJc 6>9`B0.A:#d_jcQjLX| eS '96h-{lXT\\\P @+ѣ9s&kyٲe #J~51/,Ot7953m"#W#k@s v\ icUb @u.ù0vj~V>١t9O"߈CPQ %/3w#N.֭ Ga~&^%% (}!,, VZłқI7SޭIy5@IDAT.ăaZ˲к͇#lw~?Xw%y%@U['E0\8pCحC(;> CѲM㿞,cI@ӧ5ș'`lTR٪ ǥQ+I۠TC'.$ d( މ Mߝ`(Ux:mP/V%n4`~QOv%X~ys"@"m951X*~(vlTPc_RVROp ŤFg }%AHIjUIYO3r p Tk (Czkn3Х Qz2\ګ{4u|RۉzB)p VO7lF}G(;e<=s,Ɍaݛ>U!%|@گa2P"'8N%`mnn rZ9[9!-#~Rѧ0EϷĚ\URS ̪"FFazm)EXqsiT Ҽ(k!57n[#'''c % X D?ƀf%pM{Я8Q C#[; -qY 4sV˸|0+ȦQ͋KsSλS-[n}ܷ%v {M\x1=~yxƌ(,6R_ A(i%M?KKK@N[j~~=lٲE/^_$%u{IAx{h ߽NdyQ |.= LOZ{FPL$Ǧ1+5zo5c +'-KѫԼ΄ot|un'\ &0y`Z>]ཧF#yKPE%؞h-#^fՇU{'˸:s@UKД&Ҳz̸ R)U*8A>Hq s @YQ<LJ(*~IFFOcs0~wB; ٿߝ!- a*Ҧ;g:voYE切FA/o:)$z Gvvv?SSS P(G̙3?T* |R߆TIXqqV0DҀO}M'T1|y?\J%]aK:O. R:IIʝ8Sm?Naӆ `ڴi@5iʔ)0h2Dy,(y΂:d0[m2yu mKn$D2SEߘ]s*oΝ ƍG.\ի>$p xzHLĬ4@StH6t=сd:6|b|48_p5\,cBPR4Я]YZ-.#~z^ܵ>2l.qR P[]с{x٭:;8*?'ģM@1@`~_}ﱠ[I_EФ$/4hu{{{5kdee_~ }EQ/fd–z(ĥdW]kߣo]_kd7yF(lЪI'h`ըVqd,Hs§32X4_ذo9‡PlAǵy]7a(.\{{O'ty DƇ}|ZΞʐPKT SA4/&h٭~SX=tR9=26u||o oJ,A3.4qKuAK{ _V]`ڭ뮥uX=^~vV0Q;Km06v_x/)DOBnNU,# yLRu,lpal`.nwnF=s իa xywpkv  'XJ䁀p2د8]fVe/ ;5;Vb*9OPGF m,J_6vBHw83f]SGsЦa[xg gCgd߃-{3258 iVE'$tVVVriذa0vXxׁRt~vp5hڴ)xydСC֗0MH˂>LHQue@zwo{*Ia7GHLçgBٶBc,NHM{^X<)u ~W3;7y'3BWf&ŝ$&8 0PFi(ϳpOH6/w YKKRd/Ock{hC0XL)cw@TFW ?3 _8{fee/)1fLpY wObȒxZ} (eЌ`gs/߬THǜE eaF# +75;W̄<69{oX*7 ̎bב%o O/"@(HF&舔@wGQЫb_ vd/_" OcK0bQ4eJ8_:v+ 5'QCDdD^^ Z85Tgi^ /6g+H+8cy )axߑF.zaUvB/`MQⷡӵU)*{5i,yO>~|w#gᑐ ̓5mM&5>Jŏ|hf68`|@OW|:l?yaV3S=7| |yv3[@M;_ͽcz~@HR#/m… Rv`֭@tw^%PX`۷O뜖.] ~-\~&MZtY oGQ)'G@xXNߍ*'*̖$]A=ƶj4Xw9{6$<3s`C@R: 'I U7_WFAzo1@,E~4 P6eG߽? \.[>`Q۾aZ71j'Q ďZHa&#|RO.gc+&1e'pi@,S\m$WxZGOP'g:{'c̎U #l1עT71l]3sb}4OS LJ,ev}5atlӮ%ރS=xQ]Q(u|rؾ};~;"QΤM塸<|ZiڜB>j_H"@s}B! AfRdad2mezbD~bՕ^⤡t:.;']=Tf29 D͙@A6E[fPz@p_T=;cfRExiZI* 8*Q&Za- ASuPPBK|Ūr;+}ߓkb_z>^qS k@lՃlܤRbLT@dXvvD#2l&S[˭,H *+E+<5^!Ikz&&F3/zb#,]+d!Э`%.B&)1`DZ4X}9j$rzq0R렶uwQ$_ct_vPbΝF_xCR%iLϞ= l_hӦjٗ4q47W~_JtljfЪ Ĵ~Rm2 b7r!- ɂ~+iם-a%9'0}}8|#iɇݗaRlVsj [@Ş mkem!"zfa.>2SS!79b ?4yT %4U/V̵ 4?l:mvҢ> q=)#Y\'UE"̀"-Cd#!y"~3SITؠօ^FrDEZGU]Db#B)"pe\%k9~jj#HHW-J_u탨'[)UZv{TD^ź"&KU'g%*Z%+U`7$ ݰl6MtDdK:և@t,FmPID&2֨ˮ8|N,IDvD{•* ҇ v:66 LDڬ#6jenMmϿ.3|*W1)-ԩ:uNNN &@FFYFmGDDxB-I%r"{Pt,v l<"&9|/ sqx_"M,|qɃ<O@t841ݲ9jx]Kꅲxt@9H^rD6ƒNŮK(X96BR)Cή!QT'_-G-K=iH/@szM߲4ώ!@GZCiD'f1&SCf@R\xpUGdbC1{P ;v֫as&PK7z MW㋨'im/ }ӛ#Y{ ўNJkqۏن=XB|ldk}kV6rDpW>>襈<'(HKӤ X͗`)u1j]DkK9j\eQ@Bͣs֜/7s& ]МRPkEڤ2tw4w9Rʽ=椋rrr$ֿ>(@Eo֠v42 D5dqqŀl>&霹`u0pgгA3|$B+ؘY0-c\Su%U\L);!Ma܎#04wEAc4𘣦BI11cݛyW^Ï?64}޵kW"6-[r̓U tMa[1*Ex-8h4 : ;cHL_"@5piEe];h٦^9etVﳍ;2@F(':\X &ЄV!R2VeZTtziI˞Mp%#`2\|rN |::X'gsWfSPook=g*TAhJW: Y5;ǾhbSIQ z%K/ fZCuX&M09GRћ<襈DOQ! DbS2-CիCp~)S>ڒFR=./KQUDOc&c )=+3Yu\zFd7Y)7̄4; mߠT?|6|1 LH$WkcU Lq qݮӓxmbcU?eB {iݼ4|shTk'DlLF`僙i/maٌ0<qtL c^m2c |C3 MwݴLH!S>|f}T";>ZR&C(>ǐz ĝ3!.̄Nuz?FKb1~Yj*cDq=biPr K:2U,rD55Y(t2h:SobDfJl`fX i pөs[.0#? D?^ O7:Qʄ4S*ohu^}nW@HVV(zT7߄_@%T&mzm!ȃl9͕ sW Lj\i5e4v9IWo՜K5g1FEE)F霸$ Vv<"M֮]R<} -CTMh|KKKKKKKK+޽ C aKbe;vіI%]d*$&u'JK ]`8>< ԜTwYJ)(Ӆ9r,=8IC5fyiEsVlkH@dOW?'MݺuUVA9L;v,?;Thӭ0 MAB8;@s :7S%@3|bjOWG_Q (V˳u,m^FyC.|f[twlԶDbm< Ўs@/}Oi?ڻr0!S u5z4?\0 I0u.9޿-EAp9ȃX-F7ws1T?' m`av8cq },vB0 et*& 3:x*9!Q Nr !-(y{{{ömݺu+^9RUcJﷶ8S 7DXàP\;!I,sB" ;24vߧdf.D#%-&Y͗0͝f/F 0Ρ&5_zlvV攖) |k:u>X!k}ɶbG1.WsU=_ewB*qJ%:)<$???VY^S3O'I7G4$p H+7} g߼"w?dPXA|~}|=luOZ'u{g!C;dņh1-ڡ3|Sxx P_=HyRd~)'w'=-..P@1Zf'I1o߾0aׯVa9VgSwecSw#Xx]-@ڃk(Z,&!E  Fh2 r 'KA1 Įd7V`r!-k'Rnf6Rm.وpd+GT9)@$RNk9"$?ԶsV婍~p8}4ܻw_j׮_mli)"#[\!+(F%J,W BJ5xH<:'Ow|LͩIeRXҠe$[%Tq8.^ˑqȵS3P@NIs@ՔbJ'o^z9U[t.-k^\xY|qG>7@f ݼTrǖһ-2ڳl6i\;OÕKOd^1ozƄY=o0B#kS3He|)20WNE ;;9l%#Viޠ )@jSשI!GÏ9"s kIs p _KpBgexݻwmq?qS`1?MXx}-'2wza; z[byF(u.`l[GEFluOf<ͺ"9:yXaNl\?M:DZ>]]ہ'rƱɄYǰQvjkJ̶My9u>>OZ>bX%r:216daff j)|[}6<4j\Pyvl&ςri8 =oYS}?d=P95s&o c'a^&>Xy]s po LEl8gm?_YLw1*R:Ƣa36gMM2{k)\xڡZSְrūXm=ϔR$>dc?h(-3g.TUf}m`ȥ0 ƞx#3NJ%繺C%q@HG ϟ\nL<bccW_}̙3G<6 Sp tLH֨!@eTCP*9=@Z@+`6bTZ %Uk@v- A\NI3.l]o0++9f?Ss`f.ysǀ{ s 9%EuIM\& r 9KKS6zڹ*&dzF4`lk4/0ujjUU(G2owhVǍI粊Yy.kU8@y&I;ve?'ҼplM23Amj(~?%D)1J(-9uY ڂ~<h6i<-Z?%Ch(ۑcJ/5m4q҉ q ާN}y#\\z!#UVp)6:tP'N֭[m#........-I ԩS7Zr;i$6hoŋ7ORUoqs p p p p p p p T$k 2']vم9ҕ+WpL=P>@M@t>H]g]hcmȟv$^=N3F`K6~XvFFv0f˺ /+ss!N_ 1,c1&dgǣ &; 1LyʋQf0˜>ځSyk;&496= 1)m oC:wR?MgJC0hN RvVL=1ehč%d9W f{)FP/#[eȑKtBj4M4ax]I p'2%JƆCk 49ѓ3̎] ) 2#ov7K/&2CK[h=tq*V@ݣWYrke FAa Z!q)!ǩEAM#zMO;Q'_~y{{8b6m:e!Ȟuw8)=)L9 nEYi͋zpDׯ&ͻkC <yp eczeão_ cyFaV4%&'SPdZ'1F;j7_et#;y7K+v4g_; I}>QnNU%9kli7&}BLt @iUo5[xW_WEW6ފ"T@os 2 e$0J)N$s{5m~Q*>g@C}P.S('UU,SDm!Tmp;KU!S}JyLE->]|ϲkNL(mRxWhS/|u"hɫ,xe7O`4 pZ)bv -cTz^s饽'sg墝dvcSQkעXtVf\֮Q$5DI|!K^ǂn1V:;erDndRш=XdZh}xuQw4gȖl*fcmNI.?ЋbC`J IF^%PM%h5=q|[w1R.LQbVV&6iBBQ 1DvrD/{qrl:O#m40EYrQ cv9A"%GN+D/ ;~49h^!KP2Q߭UہIQM۽@\?B!+ %c pcHݕx\#+i1aQ^sfrDc0ӓ, QF)l$}%D< )/"[V}K*bXtN>];&E[)_sR-=z˓8q D +&U>*/v^K4 w'dۺ2(j e󧴄rDm=tRoiv +B'Ir p´a+S'%l[@a 3~6A= mhV̮dSUhj^[6Zu9F2h%˧  躮J<\-@+Z¼}.-ppIe6|-{J: 7udow D!(&hs'y*Fi#+{C\Fd<^r9ۚZAmuؘBΏzUxb9`R# +۴$^wQ@\Ǽ6#]`(AA_V!@דѽh1G:4~hvgy@_%P%ft擣 Ғ'==ɕ#@/12@0 4Q{Ha/-AS</|eܡ@]<ڶ}hh/0MHcճA3mzz7PF=>xu~a_cVc6paxh0+Ұ mT˰70][a : xO~^(hyNޖa3W^>u̼K&HS04fff2گ4'9w `aa 9';cNFl4tLq''Wzin.> Y.xudWbfߔא)RjY=gg2b١iiil"Ye,H|rcT-2 ey<`;oaLdeEAN.òVtB^%wGkgf :G-^Y ~LpYi+d\ mn, V;G/Fc=t,#9w<|>8>]{kCn[:{,& 5  9*eA# g!c&E3M?-{;â^a"^IUVVV]U2m}@py Jz%t)^sH8P\DR1C/L#0kR^ό0Bds#pqŃ服 (D Yi|0mVo='wotP_U?"IF C2k z9POJ#:Vׁt+5}"T>[6zR'K.60Op޵gclDC׆2D L,bE.*I=o6EB_r`s66R<k7CItLFq9W (t ҜQx/Z^mQ:opi<3\ 1~^%@njw&s0w4[֪MNˀWVVV`2%EE%iTQUI$IUyC\yG_UВ4iCk ն,JU9W[w}̳ZPӇtGm\Ȟ-+،jskùsm+͑@'}LZ[[%v^sM:z_.L=z9sʧ38b3j35Jwj?#f`&{c L.8,ھ.fC6~6a)iF7pRSgg9Gi0yK]s ǜZQxmx;hEnѠC^_q!K=A~@5wBX5KZдᐏ`/ ЎS5Y * ^ u )bObC(M!@0-gsèӛF#=;ocCIW@<ֆt:nQ=\Q;8=oR1=yQtpDxu0M)7|WGIx-=)ZUsTߕQW"vRY~Li$Pi>nYl,ݹwFdT*0ب%Ҵ G@͐sPK e|ݧ!HGu "5A>;!һ OF@yP|y8[W ....HPȑg <]Ǡ_gbj,bKvχg,;/@GrQÁ7\\\\g8yUD VEʉdedž幸\o- B<@RٱeiǤR9V.M'Z߇1 M%ݔ_$d[ңܧ,}7U"?Vu;ڪ6䯟rHdeBDjmZ&Q *)GC&{\7C09p7/L0նhz6l\Ur....2H@Q!\-_b Pj I+/B ڬ ˨0vY P#glSZ|,=Z+a}/M*5!<7Bgn0S_U kDQrz}EmNN5oZ7^c7;R?gP #R ....H׍K D_*qI2SdRwb< s2!9f:%_pd-ŬDc_uN'˄3!?Y]0h;0*4ꤣR4> g0R&η5r|l^[3)Yi8$f]]xywKrT@rWDͨkyʳ JR)UH+;::FB.*hm;VK /׸S'%%%%%%%P%h>?|t\\\\\\\5NָS'%%%%%%%P%>\G%P$u"}q'6AN"y[mP‚ry=63de7oS?^)~g!|Wz d}^J˅׏~!<5(f{/x#QON\Eekq$,<8q d p'J8 .ѓƫ /3((N&)oen*.F zJL+qCϱǝMd+702#k{h>cU;J skoCè]4~msN^m´ ?/쩻JwB*8{%G(@޵ !' 'ѽ*+E^۾ >̈́!/Uͧ>_|CA^5~_v|/p/\ơ5p._C}p T^߷Ą ݪ1ι*RVty۵Fɾ'0-:&T1F qU&]@~f1lҍBʭS%G-Ks  PoC&~-/[s T{ pZO!@UY'Kb ղPVT XJ8cI{pU* !9Y>]0\ \Յotjop D \1'GwbC QN\5Qijw 0]ۆbd4 GT$G#>=7H#Gy ({!@^0D, -iU#8P  `Ȭz3W/ef 0trdhn-oˑ {?ȑ)X90 9gD*W( š,D_]W`YV5-\( Aa3&~|홎t_sVݺu~uߧNyi{!Mq?]tė$B$_s"2͑c-Ѷ'&j]5LnEb{sv[ܲ!. tv" O@Qn%d%:ӌN~%#8lvXk/vb ϰ9iWi=Na"'9i/ϯ5<`h}dv"|z&"Uf E` @#zdj 2$9*H|dsT% z,ܤ+@"g *Zv^o=]ծ,)c?kym/Z;I"xFDۆw rF@4G>W |<0#eN_ sQp`! }ݏݐXOGPLr inEJbPɁ-Tzt(<3Ew4E,)EsDcz'L{rM'Q[^ڞz4kB+ou!}S jz_sX}{8?['{JnM) I @?Czn_X SA .D Za'$w]͞@`bٷg@@@@tNT @@@@@m0_m={bןf1r VRȫ#hGc~*K![>9fUyY9lX*ӁSrX{(Y,2BO@/&Q+)(H;8'o=wZ&Hx Y:7C Lc[Ʌ󮼛i߷ E{EPU"R[(3(GgSiNi3݉Z-O+_\YN-nίJk4+-A[UUUShMe)~%u&̣fJ=m"/ YGѴ@E< "|ڶmуe7sq:}tRRuZ/Z\Ɂiҗo:WC{]0=9KQQQԈ&ݒPh]ĂL"PKTx{__{wzOZ~Ǹt!8+ j=DM=L&sJrb$2 pKKՊ:?3V_,B:!j)meƂӦ..hڡ!VKiqQ?,DcE=UMky"qUX^{2zj:u*effҳ>K ,pHߦ˗'|"mٲa9/J|rk}:(,bXS"%;5!j1,vyc5Ey.'7"˿S=?sSɅN߽+~BzOc,¶L_^FN_9KX|e{>~U8֫|ݔF?P|r}WQ"P  P\̙C&M^{֯1Ga:t͞=^~e;lX@<*޷Uy'D=E1||I圚n_'jSx ʩ8s̍et|_] MyBo8(ukSvO[Ӆ?ڞUY1s[7Bx_j [  P瀚+C/..&x(+776nHÇt"vTTTdw^'*J|ȟ ]qetYb^VVf_gٱhpr; %5 s1o]*:C2*޽8T)>IGDu]^žO."S˾=\Y!w^Z!BZpUy{+)%;Cx?'9Ai㖟SSMm?W}Wt9wefC[Z{e? .#G՜A,(nJ#нK]w]r/gZyzʝwp,LÛIIv>a~̞j&yH؃B=LV8{p&qM܃=ݶPygϢ+?(;>kg)6I*6@,f|Wtn_(3dq% SnO9Sǎiٲe.hhh(?%-Bڦ;m:D5=vB\*)g')22 ͏18i[dhvr9eu)_TSR11]HFP/ '&7$! _5gh}e>>_V999M?\xwX_2Ϫ˜fsû8p!;h#yçMy,Bocmf?7 NY: |z?N5w\Z,l煶nݚΜ9C0@`LC(J1/mL+cz_^zE o|Hⓛ14ENaboȎ}eӺM,2:tzк'E`C[AowLv;E>ԥK9s/G*,,ӧ91/7#z,Z$;MbOpyAHX>0B(d,Іyjym5vjb}m{)s0Wk{pS. re-ϧ-Uʢq>C0Ch@ZGf5h۷~ vɒ%KwtK/D}x<䘑-MIq) !x{rP@,!KOIZ8ת E9ޘFy(^?"~S)\DRʜ?$e0ĐxHB*9J^4Ԋ͟ QQ>(4RoNi7?6}H+l@9.$; .ݥae^< pts^lZsIGÅx7~.%i L<4*en}$"PpK=<:!x^x)P(_sc!x\c؈{腚CZŊ^Vtx01"Z9TcdV#]Uf؊315$]pR IHsk3oU/hl.VBb.`~PqϓR}|)LjD(5*A ꋧH}uBO"cUWUY|nQrOj'<B pz%HβγLU_8*Gh;eGh-j7  O2rwA@@@@  @\8 _ ŸJm_9b1GQݹ?{n_OYYD'QVB2% RG?,i/fa  $n-bKƫwQᶵ lIYΣQ'Vy4-NJ%ZoZ-V,ٷN.E>ʧHk@@@0oԞ@Ϻ6jN?da~PBFO{VO|!bF_:azۤ;D\K)p:%Uk쯋RKee.,A@@0 @ Ս7R]鲂,Ջ=2pʡ{K:QMY=*BYU[QQ9=szɶݦ')86ٓb,aPxt( "zAY8~(2GŹ4>wG|2zLVa_:EvrA@@ @ M5UHR QsU+O|LSoGM"st2(  z'}A6,dǶ)(9zq->'ߞ)S'''ߦcvT~@} C"<!p~F:MT[*~|?  wQ+ @=FոӶ#gibxOv9ZOg>xY S[Q@nJEٟ,N䊧\)~"v]  >%SD??#1Crs|U_&p}C!u vA-ՕT}QzWU]JUs>+{?ۗU M+H-w]W)\Sz^36ib+Ti,TZ]@@oZb?ӦY4EkJ~v KmKA Mn喋V DwnFmnX6nˠ@ESAD1U  -"餞?L#sIn 72Zʌ0LE2Qw(!7PPHFC) . i.]PF1=6F@@I @1!⸋)5bCӯ2kF-s!3ѫ9S @ЛCfPrl:Ϡz:_X ^uG|$@h;! ܽ @(wִb-5kUUUlam6G7d~}okŮ_A:i\yH?߁R@k-Rtta 3gPddjl{)>>wcWu+psYt+|16󈆑=ָݯ8t,5ּbPPuZ"p(TDrx!7*4K񃮯 䬔?i @@CT;}5oGo_r6=܎."ï˘`GSh8䅍ׁh W juEPI"&gXRYNZiw>$3Q4`u%N2GQpLcGĹVE &  M+y),edJ{mx8Mb.użҰ @@@ @oh5@۶=)22&>m4GDS `^} @@@@@S @5]h,h@jX>P!,MTw    }CX   "BcA@@@@ @߇@@@4ETS݅Ƃ @jah ~PMu    '>    ).4@@@OT} @@@@@S5Z4VS,Gr*9yr(aHj>z &Д-h,MӶmۨGԂбcǨ_~ԬY3吡nuF5%5D'PR)y[uց_W^MSNLzgi?>ꫴc0a?~a9T?}dJ-ՕpϔTqrA@@ DV\Is̡I&kFׯ'ڦGOo͘1ƎKmk@i.*I -(   `<>7ʹb t˩Xڦ#GP޽)(N_|a[먬e9(jڹ_֑嵖**%,LlÅVIaa?VW׽+**>kwUxx8L&=u7l PApB9rά,KΝvtoGY?UF4lKReMifO_>r_RR*[yFgv$-ϟ?ﶛSSSݖAhH/oʿy=#gnbO)TʎP^:˿RRR$YzLAmRqx4Ֆ MhˊT3_6yI帟5oTUU)T e/g~BJJJr]e8?*3/Tlٲ%v0'''Ӯ]x\kQ)bۭ a(: %D߅Q+siMFp%z}mzGYLUuYEHlO?M]t3g=ȼ 0C'N ~~g4p@uBk<"1>So)Hѧ; UIG    `Fi    *!@3@@@@( @Ӱ@@@TBT%fQ@a'J:5JONP Pt   F!j    &H*i     `a"zm5@'DPP5    jN    &jj ڢ?ŴgϞz |aYQ`ǎ/҈#hղ}QC>Lӧ>S9srrɅ ŋE0VjB 9t=n}$7|Xp򏋊 z穲BCCAH' F hƌ:f( hÆ ${>双x@) Ѵj*bo(=pFJKJJwK.vZb؜9s >ۥn[tRի :mY _~Ezy UJJ@k5A;!ițnIgモs͛]r;!nݺ۩_~4}t8}<~뭷;C͛7׾AOf͒?";w,$'ʛ4Qe˖Q||< 7@7x؞nW'IVzJΝK]tJ2qDѦQhSiN i;G^yZ|QO> CUGC4;vLO$;;[?F\%HJNN !5kl G2d\H;~g} J4}sGk͛sQ߾}mc/'u<$@yI_xbٳ 5V<]?9\bŃ/P/DUmFoUUUQnn.͜9 1i驧+fϞ=K=uŴ捃V<<OЇ~h=xhƍ2/@#:yat%'8k,yPK/$>N ?@5O/$iӦOMcǎ%Oeei|70\z5Rxk<Jb;uD\r +tmlJo61Blױe_]z۷o/ϗJuV-,Μ9#mꫯCFCv _LOO 8BCCu̅_^[nR9z?cd^K<Հys7{J~,f3 4Hr(>| UW]%ml Czp  $ @TL@x,BXdB@!CXɳZzNxd"ӓBpZwOo9!,߬g,ZH#XmĂK˖-)OOZXnlӧ91tmy{5BXZzmV6)Ix-B0*/ݷo,/ W <ϑ/)s۵kG'N XxNLaaas,N{aM6cDisB_|rrr=w_h-QQQ֪y,\yn)!!1קÙ IVy:mlDPf c@}W ,(9{x1mرuB^\9+V[+,?N=1c͛7X*׏?jkkkO-cBcavYΝ;믗=gu6<ϞR#ss_ymR<rncu  Wga 9/$b!(bJċ]-[F?\F^qԥK {yg266ʁWoٲE.)e]&<,8YtM:U.Q9-ΪaO./biQ%' SV+ye0{j &? =<ܹsv])_n|$ @+PL"W]GW^9)$$x< G^^=++x<ߓ,T9 TWRvN<t̘1s#/$yWuΙ38>:<[p6'ͼE79mdObW x zu<蕀Ix~w-J: LKKsj #bϛ&""BB\;eʞȦ&GmNςP<'){*Mykc{/^l'ԩS$VSSY˗7@tMT @n"@y\/yzdd9{IE-{_xN$C@@@@T,|L[#.IENDB`ggtext/man/figures/README-unnamed-chunk-10-1.png0000644000176200001440000013430013764505403020555 0ustar liggesusersPNG  IHDRz4iCCPkCGColorSpaceGenericRGB8U]hU>sg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|U\ 8eXIfMM*i_@IDATxExd8 ! 9$9#IIJN ("HAP@D2D2Hɿgo^ؽxygn*޿JB$@$@$@$@>"G    A    )*>HHHH    )*>HHHH    )>͇]vg%ID?~,O>YQx$A&CaPxNٳgq| L%J$<$l/LYK %&ן+J8k}7RHa5XKWo/յE|(KLB &LPܻwgVd7~YޣI ܼy3[ᏕЇ?juVh!۷IŠAܹcU}>HHH$*qIHHH P>HHH$*qIHHH P>HHH$*qIHHH P>HHH$*qIHHH P>HHH$*qIHHH P>HHH$*qIHHH P>HHH$*qIHHH Tslݺ5̫=z|rUz>n۶M?~ls,vv%5tɋ/(&M_   1j<#FH\rN]g.ߗK_ke/^xNE'~]&~8p@>3K97HHHHl J۶m۶[>}Z~g3g )t<qxt $Ϟo85U?XҀ2E"0oWʳgF`ԶK{2TY(I&{a3lPh%7o^ٳg!>[7!;4t_f67HÇd5үoO3!#g@oݺCa+/6 GȘߏ-DSg ˰'>a <>}zԶ)Μ9ޅX,Y̪>dZ (ǸM$KF$qC HH]#Sk֬RJ髯P|3!SbżKMAAArq۷ԪUK~A>7@͙L+W8%~z&x阹7z>iӦur[@GJg'a'ʧ}?w>To_'D\t䍸tͼV 5S@} *CH,dKF?[~b) ?ۻ=ӟ\ :Il%굛Gd+ ={[{ZsϲO.٦EXR$KT]#! &@4 y2LP~ݱ? z]ǎ\!&OnlUɏ~`Ӕ1޿Pdz[:}֧pbfT]!~= @4pLdGiH-=QQ*亓wFNs/{|_y/O/%4  ?"@OnϞXVH*/!SA@՗ϗK}_稲^|LTJl\xf~P?R=mIZ-ǟ.EႹ8fͨo  s4   pAS.]a2YJA/ժJRZ-?6C%JYzd[hZ77t1B6lܮIF=aޒA)TP:t.(Eƙy,ZNz|j HbyzRM#on-J)RR~7lUv:h -AY [QRlqI.PZ$tCGNjK_VG6mXt9R&N'5dɒJvoYUk6+;hOJђj^熔(DԊgɥ? ԅovʫFi@u5.KdjU7eҴZӍ@a6oȷ,{Y7hzN_J*]f݆Uߐ~*/m*M[-_A?&+% J/ZJy{Q{`HH"JЈ~y@YKIUu˰-X^^G%WJ>ʣNiiX]r䩮I<,]4Y[)kV=OY:,fTRSO~ulںtl*Ydfh+,iRSƾT6gK4UCu;ʮ=)dCzJPTL9zrXi_}SlQ .P_@Buu"Ұir8" י#{u.co'j PV%H#eٔag:^ʧyrt;B_%K2;PS)' 1{E}/nӵ$7Saou(T٪\N> ㇀#$Y$ZĶ,\z]1* TY\7/_18P?($@$@$8D#ZP1ml-ӥY60OaB}^RX^[ M>,3`?^xfGedS |+K[ɤ /篥Է_Y1l`\lהzSB"u :qH̶`UY  MP]Ieu wRj ͈[Ieͷ[EUJX\!Opæi(שn~?]4﷥n @$~cE!qXqEY`I41,bPeXiLxI<pԘ*VD@9QQ@X{т9#U>:?7-+ae +byqB% Ψd0%1>(]|1][&NVwLNuNND_vɬ+aD+6ߖ&-bQVCrXA*}`1֗Zz-X\u;bVU[>y?6 iܬ4|^Rq>{Az9F/"ĩqHH<%@SRQPo SF[׈ѳ?e3/f%WZ1ٰn:LgHYl$AY >#3N3;;?eK+ɟ{{Y:  H|5OauWond=s"k_Ԉ<ֵg)kPm)Yu؛>bܰiIuv9U$}RAW*Rp.jkZJ>]2E=5 @Lٚ>G8%IS\+ʕ-Ǚ $S)_q,xI"?UXX>\-J<`FnPJzs:۾G&J`F%3z-G *>sevz*X +B +֏TXW F+ 1nR+M4^s,:3}NZ=mR?UT*tL[.)J#00P0%mŖFԍ7|rIx.Ӧ5N8됫QƲiCy: `Q+p(ǼiEt*hXk''ڀ+e,>a^{ ڕI4憅fY2gXe)$@$@$T@C+ R1VSH|C)IHHHjxVR CE\ @DpRD    at<HHHH "F!   0*FwNDhBݻw?|Rs#od,y|ykg;/vW*su!2IDwLQ9ʾZZ|UΝ{5ltQ)#T*%]zaou<ѕ?YzgL7Pg]޹V9 [ rO2OY4[%j `ߨ\TXZ\Nܶ}gmΞXe8J(TfMS0]ݮ0N_'b,ou1VKU-#-^[7Oϻ\9owpF%˾LQ7Ws !,Youm=tv_ϱߏ3SHmYe iTþy'*9?S4C;,  ?=TDAW!ç| lՑNOJђƟ~FɒIU%ejH/ٵ}+aNҹC^z[} ;Z;M^,OGhZ7qWc˖5oIet(4-1c&e^)UTtUϿ\k@ R?beJMS+8FNRqjP4kR[~WJ|Ҽ$OZ0&_Ϳ Eȟ ]Kʥ%_ޜҹt5ƄH+ZV{ JFZU*5ɾGt](KHSM;䵦)c]ՏSIje%Gڽe߅;?7DCxL\1@Hi;$@$@~ICBnmX 7?b9ˢ|ZŠw1V[lmIuSeŒi,R:7|;Wܡlظ]6CJ/(;~//'=6˖)&nTjwA[v _H#OuY"rl¾?6o43~\VyXEvl' Raul0Ce*=MCj9 R( 骔uyrj+={fys2 j(! kHέhizu*m}CGos7zVXͼB(3 ӧԭ]Q^o5@8tB`܃Q{|*VoQpwxvִw5 {f"{jl_]5#YܽJ ϥ{~;>+P:A[amϒ% 5C:8C,   *>gaIԔ)>zjnJ!^ne=k/V@+G~lY3VcvԩYAY*oL}H)k{elywQǔjlf]wX2O+R)koɩr %KrY;Jpmȃ宲8yFO ge2iJWj# SdaH.TGOV|fPSrڿOI,߭?~l)77^*zHc a<Ž3.p5p%"Rg匚%ԕxr?(jU_q#p8|O)]YN$@$8a$Nsf߼eΜ9HҧKkL-[KJʧszR26Wˍtv(I&zuou%Edv&w Hجe͔G3Lq,^ _G= n)m(ُt87S>b>*ydE2i ͻ|Zʗ]dɒ͸};)~`spDYd4w7W{᪽#30ayr?fLmȐ!Ǐ* Mnݾ+Ϭ#!U,rKYF[X6pn (|~axY~^Ŭfr ,ӇMs5_LZ+a=v꧇"{JY % i-"+{Kixdu^/ϩx|!Pl2E-~VUbyu/2q}thSnxaڷv.2c"Y` ,؆UoJNMB%}0rdϢaR8asoʡυuu]gq]W^:?Z*?ꇒ33r(Tޡ>YK٭S399=[/T֯-X)$@$@M e_M J Ӷ{^_mlشXFF%Uȣjq'[J qTb'3Z:])HF11c:q7i?|E+Km!y2WEj+଩F֮Q^Zw|[}o>A)KxleY`,㞈 FgU*p^{Ҿ:_WnHHHg}R4iRFs'NRNm#d?=UTo6@}w3D1g(j-v4goܸ s6b6vݮ_U>&B >H:bKYXcW>qRV'ԕ`Z06K@ KD`iXl_7,uܾ-g,L< MP+XyNºakWHkX'ډ3Dw?z P߱fO~BJM@?ksfSb'$vG38ׇTtQa$@$@$T@9H \8 w-  &EH4M~@ܾT>9  8F h\   nT@X؏Sog~ʅԉqc 3Yq,kK}g}#?DD~!p>HHjFA~"MgTrCwd1r:iX)1][]@oঀUk"[~\Co1w?LW36ƅKB$@$@PuG(#K=dɲҲY=+y끲ndՖȕDB5q<%gTծ:8=vJ>SWOݺ}GZ6&-mZۼ>K5ӹ}zVJA4/l2|4|iC8jQPG*;MWIp:wjmt&~[tPd-wPZ:_(^*$M[Lq@AEz+Kveي$yRtOP$_^LVU0x3?ۯn7.o`DWҰA5qTxVJ1&v9$UjSAA)Z r7?Cg6σ͉!  ES>z R޻F+/Ra-S&fS2gNtPJ@{В%P Tu`A=v o; 㐁50BͿY9KyL?}aufcTN(LZ70droBEt,[y@y.Qxʷ>L1gx^IZ1d~؎F8|RV(ů|+6|3J9Ny˾˝Җz`);j_?KqZtuxj_lV wpU0½Bwܿou<׾QXCM&X2U(`\nXϋyiHM;~r5?wM9wHHH*Ψx웕~Bڒ.(P)C#uOPN%:ڳk ٳﰤJ_Z2+ӱTPWfgQIe-'Sg~}8ma1+ w :=eB7s ,9H|5uk+QY:Z\IM 'XKQe{*{1|2{ yg*VpajMs( 1S *+ḁ[Xɒfd$4cSYJ; !s!u^͚ :J% ($UjAȱ`Ⱦlʗ>UkuPu+I~TSjx](^?Ԭ`Q|q<ىpu>,?xX Q ]zd% wl-͛Jt[sHHl': /\AOtm_K+:xrOêi&LuOe5X#ar.KY{cWJN`u뮤MRݿFl, n@)GE >St {hGV@X "-.Sx%x8;,svc;7SǍYn: Xf=JY &6ԤI4j>Ǣbqԩۜb*U*9 W\*f``qNVLڍ7J2mZ:LBu͖pm_*.V0ͲȼbE'J?OCq͑#Y%FvdXڠ +=drdlNW'y g˾ ?\xo$@$@$ޔEF$Gb(UFM SHHHb&Z@c}t煓 @l @ hl   AƠš @l @46E^ T@}p%gIrs :+i X q&#Η-*e'S+}ǞTep抠#F ٬J$@$@'@4 ݶ&O,Km7+tVf~(\:'';pTf~=i7ױHJ!  _Kڱ*<%fhRKΞM'  )L2OY%o`ЯNiu>PVoE6$on-E3-;e'˒?2{|v}_vƟv0ߪy=yrC3}*3Pji꫼a 'TXR}0WY_\LF ᴙoݬ߼yǒݺbXa]Ȳ3{bY/:g%x$ þ{f2ZM *?3.?eB9u,*T^3~}E6)-S,[_g.꿮 kctvJ*OB}wtjҏܭr %h'ϋ6܍ɬ׽`j=}.~ÏUƣ ܿUz+̜)jQlB>Eʽ\̒Ӿ- pHH 4nyzd嚍*OxgJZ13U򵚊oբ\\~B^5?o&>)EK6VO'O}o<#&Rv/D~Rkfut.-s]:;Z;MT}WX~I2<3MqF|4'UƦW>ʉg,U]:䖯VVjA5Ҳ`>VP'koM:!6nFUIF=T:)]/[wӧBv*E U9ٛL@!-\rM [r^|})E1np}lVO9yݘy`uQ>}BiԬE{ʆz&˳6 @"@ 7ygWyU)%$oZ<dnGm?}-x4kʂOJcYg8p]e*+LeWT? }X.+ehώ:uJN֫m9f?z씶6m4.9TZ5+E/P^TVٺ+9h I5eU'aVFͅ_}#+5_Uc EK5_WUeMCjmOAW/Edtd$[֌RO)GSVfj7ò Kkv!Ώc~,Γɖ Lq Q6tY>;ʮ=XJBv9$P’bkgJ,ղ)kxz{5˧)E U|&eA>hQ@K(dV#v )^zU]]ⲋdz9r"]ÇqB4 Ek]Rqr} ΑգEd]z5]P=± Ѿm  OS>TNGU?J`Ti?Y2O(ϻy.Ϝ9ti-S8+飈}XRH&/(7Ĩb#7nޒDJ i{-Me';NXM[yz7ocI%n6)-mHj2R҉+4|$1]S?`EԊ$Oz]hź=wck{Sy8g[ Ԇymfǡ8}mHH ny柇׫Et;|%!_VcZVJt8+Za+ռ+;qZFC7SdȐ<frz*قz'dʔN/~VZ> XٰH'ׁí(^PwYYp[)$M2,d`ݣ>Mǡ*[[býT<}^<Y=o`Dߖjq\E፛wTÔgrrܕ`Ogkzj:kea]sS(aֲ_esg3@kPO]W_-Y'WnHHH_uOҤI%M41AaAԩU6~8L)UT Y5vǝExZPPqO:s6} PNS>qKg'/'˪x|>49S>q RBpqR>D>º`'t{-dr@d~E>d \TxźMWcjVn,:s%8}L߮d9 @!`k=+2u.#\PEL#'w5Fn*cSLL)?A1aQ2FD9_$(i 8$ÆeF3-J ceUGyrs[qh^;O^k p >J9V)&Q643/#$88ڬF$@$5sʕ//6rmW$@~N >{E]HH ,_|*M(hM D.u8]P]cb$@$ P:p[2kA" @#Zrn'N[Ȕ>}zK)dɒiѣG>CRzuŎHH ԑ KHHHHH i    GT@HHHHz.&   p$@ԑ KHHHHH i    GT@HHHHz.&   p$@ԑ KHHHHH i    G>Kʼnv`ɛ7H.\ O)/)SFٳG>|h9'OI6e$@$@$@$@1OP(Ç5jȬYm۶ҰaCB'NkZΟ?/7oޔիW<%JXjՊ 7HHHH :e=z-ZT6m*;vuJĉ-*T xA`С VQW"r*UPN/(Lѣ@M)&Aݻ!Cz<~}ŔǏ/dz?Gi7Z+mٳgdbu&L(I&U~?k% >k93[1)@g=Pw^W@(F@`̒%ӻn:ѣ1Li*ٳgڵk[:9;P@q} >!ڻnA焊y=5~G ;w(ZL( xY}"D&L+.g;=Ktz5;4y``~aZ`djP_P!裏>7n(UT @!u(w.K.-ZȜ9sdȐ!Bݺu(8s挤Ob4+5iDkڵӫ/.xQHHHHbxjg7nܐ4iDqgESԃ3e$n+N[o )PY1o~۷os &JJ'^rŪi~:AXK$ࡋB>>mrHHHH f|Bђ xPoe$@$@$@$@: a 7 P&]M$@$@$@$@  xPoe$@$@$@$@: a 7 P&]M$@$@$@$@  xPoe$@$@$@$@: a 7 P&]M$@$@$@$@  xPoe$@$@$@$@: a 7 P&]M$@$@$@$@  xPoe$@$@$@$@: a 7 P&]M$@$@$@$@  xPoe$@$@$@$@: a 7 P&]M$@$@$@$@  xPoe$@$@$@$@: a 7 P&]M$@$@$@$@  xPoe$@$@$@$@: a 7 P&]M$@$@$@$@  xPoe$@$@$@$@: a 7 P&]M$@$@$@$@  xPoe$@$@$@$@: a 7 P&]M$@$@$@$@  xPoe$@$@$@$@ġ4ܻwgW4iRy+MVYZP}ucɃLBdz$noqq& L3`>#滫zq<].u~XJ$@$@$@$%T@͒ 8'@9 x@/6K$@$ W^ .\X'Ox* @L%@49HbiӦɬYt ,ql۶Mcؕp$@%)$@$@n \RƍC\~]+8lٲri @"@4vO^ %(q.\Hb1NK# !pCA#GNɒ%I$rbY6ԨY՞= ;Nbq! ӧzI_ɜ)@V}(iD^C P e-  /H>9sơ ʱcTʾT2xp|ɞ](^8qQvDJԩDiS T6%35jDX?L$@$ S 'jUO)V?+@fży/jŗ=ҨlC7B*~vbp#nI$@1@VwN&xUd?#f_\=,^@-Jj%xɑ%@4y> Gu&;w)SKR_ɯVge%#"Ȱa S(K#oT@pt$@$4CZUKi0MD _ K!pXJ$@$yG&TP*,'-,_4܍3 *1^q$@$+;PŊkE _vbx,> #@4|XHH &U!XC[EOY@Ԣ AO?9p@TF[*iefyhڵ7uܹX ;=ױxp|UV%  ( _" R/.#e6mD>HJz oE)YR@ l~F[q!pȞ="ǏΐdvZH0|5Ǎ3YFUL'-)1ϟ / E J6E!&@ԯoG$@qcᎽ`q)Գo^aY<|ذrnbi4zZg8n\JEr P=,8T\g&2`'-|ax=jjgT@pl$@$ O‘:#F9 4^S}>?f-G{ eSYJ'jj/*|F3Vc%<+= OU K,΁?+z9[Yu7mjX]*VIH !V&^F4MXqXEd2c;7ʧs7ٽ;gwVyK1Dk`?=B;+VD-_OfM hܾz k"N:,J#ǝaZ2>3e2eE6l0LݵMO,2(#*b"tF9XS1FO$*z됀=5)A!  $жRBXrJ"@ .a#, vn({ ArcVc:,B֥ČmkBp|,b"1"'2. !Qד1 XjM$@$@~C|aD #$  0-VP(D[ұcE£@" &B!4F0JTP:C@E[ * xNSbM  @ PLC鴗TŸaʣ}5sɛpYEf5ʽ{BTu6&+T@]a9 @O%V#M%؛L& gKHb!B(կi "691e؛`~hϓ0LM aL*׍P;بk$)*b=  BjՌŋ\bdBuOcf"E&1ݎEGX2X Q>bg5yH"͚L1HHT6EQW '|=uHP{"' H46Ɗs,AlOOd.CӨ EJZ.ȤN092~UT鉄C[ ({P: nzΊ5IH2! &^'X^"Zo 8NCyE%OWE70\ <#|=HO6 V{r {BU+߱ȹswcW/s۞FPy"\'^%PYK$@$ii҈xzݰڶ͘6"$![|7˗7ȅ "P!# 9{wjި6H< vN_~i _ xE D?{] #hFMԃ% O-]\'ʀm+#g$@$@DILG& СD"ED 턩ks%݄҉DXf`qPs 0;MAp{%EM!t*~7`E&O1 E"*?1O!oPHH"25fL4<74u E+бR<_>"\;q+cr匬JGK&NYR$S&#\=*Үc}W%6,0wXN'@4  X*)f. ̒1ōGX={h7O |(6,PΆ !(lP(\dM䷇EPSt8cJ, Dj cT> p=nYZP(O5mXBuvY& D$@$@^$\R6-}P>G%L5>p i>=T9 (T.40 VO,bBLQ\>wn,3(Iwi|G;ka> xB 'U,wZ.<6[nI*DٳG=W =KڶmC|UsT4饤ˀz_ k<TPPVK'MQ&K$@$ =le sXL`~J޽" !`),U3lCg%8/Z|(}ص_wE&@&U ߉$BJ}UGQR-j*u8h-EE~nڢq%!QGICIy|wv}f>}nXŗ*2%t՝b͇+ pz, \7hvfG͚H&K,D㣷Z+N~'m"MO}RK|aҳg5 h_^at5^JHy$V@I8+s E]w]P; `Aa%᪟ǧ,&X*{\ :{ fXA-Koh̉ER/xzⱟX9)S IID#\[bm%IS5!)ɒJ?pݛ*ckē_7pԎ}秚{n2wϏڼ ֤ y[PCw ;35A@v k˕8%)R@%! XKl W"^X!sЯq>G*-@L W 9 (#ʧ_6gܚ~z„\mV/xFt Dem_Q‰vOfdS(sjgʃ,hzՑ bƃNHtZ kqqc<23\w+J|骄ճ[RJ 3_(ǜo5@qCN͓zSʕ $|^HɵzO) g9uID@D@:xo< :$QBjBuj;EƝG7; O1yrPt~JGRQ&$ǗJ6{BZ!еdE a*2E"Q|$^XLJQNrp,7\dnx_(Nyj'sGiObAS^J"YIh^$FH\(0H!OuB|ءVުSR4rDp3dGSک~tliRJh=#RA#?tޱ*9k&InAZgo|UV;3)׹@@*ΊY! 7 DFFB[ϠAmy#9%'qqbn2骔}w=fAJD2# 43XD@D# ^A% 2+N6::IJ&;T?[zٿ˂\|'RSy*V5B 4 SD@D W>VFC{RӷH tN`uVPҤ1cV}/t$'߬t ߓ|tꩅYÌCa8•8zf3ƈ% 寽$Q%Gj㎮&*’g|ER7~$Q4G6)Gn%D?,y%wȑf_ ~\W'PeEv,-L J#E@D@r&cfYXqv,DwqDХ:eWayڊc)F 96i L.k/_iG/{,IkT" h%2Z." " |m7utJ`K(DklsZ_~D$2}1~:4Q*X1գV^OB*d%'RS@2lm'ctZ.I&:Id: >kFu/3V3:-Qpj{f'Θ8Q^$W(TI"6TᖣE?u<)?]v=V$=IͥGZhi@mvJ#I;>*҆BE%O( O%GrbM%4>]B($"M#!z7ƶgMGB|${]lO[ne(/}PE_"Y4+WD@D GrJ+xkYm>rnz£-,.&6GJ&_} dr<)D2bYMPQQS yU.rnyD">)3Ռ" " )(WL2˸D$દf9`۪W/3ռL邏̸ap֓Xu5g4Wv˯-^J)6[sMn$3t)3WJﻐ(QvZ&Z/Am/" "Kws-58qYcl`FG"Oksh;7QDQJIIx-KxmW$=T/ۯi-Uۥ$-g.q篿Skvf-dR@h$nT(K/M`;}M,sŲR8$JBq.(fG'v+nȋмHk?" " "8+rsY6ISyT4KKM,y}㉳=1dߏ,7_Ǎ[\|Gۼ;oیPcƸ(T!GH@4'\" " "&J Hʨ[n銯 %t "̮g\#VĬ$%s,X+^۵мFWCŘ~|)rZl]-Pmh3J8D" 4+WD@D.$H#\t?,|#O=,(ERTΈLoY}6ձJs{>ZrI>>s3G>ůʍ]lw coŌG' VaZJD +rgEVEŌXGb8Z^Mw]EiGI&Qdc$_2vZHf=1Kh@9IsnsչO& t bbIJF? d5|]Ӎ|AXEXiO?݌yʬY~'--'I[dV\/r%wD"55@539Ov>}\7Yэ>JxTD;L㼄~+lvene(hy~GA<.n2i'WܟRWэȊ,Yռ" " 5Ȣf&T ϟ{SJt$EQ(nD)%^6y HEN\)誄RfVݪK" 9I^t@I[H$E̗_vnSOMuՕ SN{\y\wm҄r&p_aۓNruRyŢҩ IB٥?l]Y(G"K"YU)" ".Y̤nplG (dcFzoLGCEĕB+VKѣ]>@{Qh}$Rbˍ=/H͊hkf.nw(u])^AӪ5ezH'$: U~ +fkz;{(⣀b%'?6NlϹDǙbFc(i&M%" "e&%*H?a]]F>DrݘPH!$R(~Uڎ$d&_9(M61;YS!я')n+} Zi@nP(DM9!-"ܸhcT}Okm$vw2b:#((ĶFqlG&,EK{SLzdE@ hVd5@J3];0; )~qf;7u|+NѾ?{P;kQ(DW$|FyDb^Iy$$L~ >>%D&^qE|@zR3LbO-rVjxI6g5}=uj,f$N3jκ|)yk.d&bG)T۲~Hg-= O >*H͊ȌJ ʣP~ۻtB"(hn+DžBpT*Q:e|-o.Z-tHMfȀW<)i! `%VND㱢X=$QBrIbݝ޺Psq>F(l3KsID +M+E]R]Bt=M(Z& R1Bʄ'y兿gOAeI)#*2+ e+@R@JXr+?v;Q/vݵrK ׯv2SϲnA`/߷yqKɇH#_%'&q|$c@?<01|EIH.̙#"_X$.}An&Lni2αEBBGCP:P@RQwJB=gR.yiU˯~yYNŀ]rߔ)7%Y??I]Һ% ؍Ղ&a]5\*50PJ6TPi6zq*E!^c5'9ڛK,b0+9_U}s_g5VG*Vm"P+)xPڈ2G([;Rzl]!D<W9yᅮ;HXI"ysG-7[u&"63OV[ouVWZG *#,p4IDAT8#b@VfEVEEwfgY}$GĪ J]Y2KdWmIAS0džMZǢ|2'ȊЬj^P g3I"2)>de7zq!B۹E5@)`}E3WA| )l%fonFrywۭt^@>Y{VO~p^&u3ݚjҢMYXRb-e;J-4w)&I!2KpO믯< e;n{ƣVރֈ@fWAC;?of7:LM!z2Q8I:׮% '.Jb-+Z<݌?)tX3Eyrz^Ě$N>ٵ>r'av[x#+ȏXkO" " 5 .6='>߾$.뮃DGe6lsSՄxS0XC-._X pP Lj_7?7뎅}lxꀢKD!tb4gI=}i' { {|Џ>jfGL,CQ6^n>- q?@lE*|xQ_{m߭5NG۾ɵCmK wX ɦ$IEĒDMrdW (tqf>qW^~%+ᦏ7VXNJȎ?4SHg&XLYaɒDzZIdv,$?a}EM: .pTe_yTJtpw9~h-_$։@ Hm?;m)" "ygIQjR_3~s[@2~U[B5Tq!'6sbk2!ओ\)=M@ hD5@"@}su2qK12:X$|TuWӚGZS*.o^"YY+" " r3E0Z(p(e"]p[_}+^n J&8-`YoDh`ږR /m>q#R͢]E@DA mߘ}咈+&.v.~%$ȄHF<ȆBX}}:K%^/."~R@N[dH4zwI+Q?G37/`\u'%?ӯK [+Mo[r1$Cѹd+^}dQB'FsNKz=p ((܏e5+-AD =R@cD@D@R&@/x$<epU ͋.rdړG30`&;\W8E+H;ω ]PQ6۸u/)KE]'+Ҋ]G'JVʓNHȊ@&ּ" " "P/4zs m7RǓrnJnj+#:(X)I$FU.U/VqHB'j̨#kXT!,Nė@"YU)" " 4zG7 >k'uuN5M(>{:,)_'堐 /t~SݒXt)Y*'T"YY+" "P7i2I{kI zd^R7W͞~)y$%QŒN>2|$u[o3) J#5QDrQnO"\ϨGrKgq(KKI8O΍Pr/-ڦ#ʺD$ h45@}ttJBF0KrS_󨣜X6~R}D)VRA $GH"BXSQD#IGc4B(]l" " "=jnb$FXN}$ː fywu}yfu(Ŕ8MbRGȂ?L33#K̢'Y𥤔owzm;7)ً@&RDL!a!駮mu_'r]v Mv BѢ]Pec<_sM׹7$OߞNJģb>@!OPdA@ hT5@*7n}'hx<^}I'U Tñ-lRFgo%PQh2L?O)a G ;߉^%?g7{t:!%~vRD@D CUN٢W,숌NsE}{1gHf5\_EEh-JH~v+jXRlNK# 4?ړ@ GUT(Ol+?_\ ' :2;W)Ց$jBЋ/.?ʧ)[2N83 H͞ " "P,d#"R7c̶*ݮ|Ol#KiGI=1y EWZlpF$+tUB9/ÝsU@Պ3w\)G@ h9*Z&" ",4yr'mpjߎ*:a%5 '@Q@>،rg[,GP 4ڇ7_+S=SbJGvE4>a0>W{7uj|ăƂsNq'IV(ZqF$7)yD@D@ -@,,q`)];YdAHyKN@D'j~Rp,nv iO> :Up﹧EsDOz| g$f4_x}5?jﰃXQ{ _rI^C+H4ij.ٴi.Q&^h^k[aQY~-ŢWO{d>@^G@.qV" " X~yz#h3>ٖ[FK !^?ZGH,i<" "  Y{mFIxor-W}\־Hi'3.Կme=5ψk-bmҙt$R@;һc("@x\:u@l\(>ƿm7ŕvk-dR@h$@{%)36j_ŗ ix!;1hРg応o馛P_KA/cEV V,A7@h8D~Ξތdk7ۨ6rIBBy<,y4=S{ms ,E뮳_ RO*]t{?mND@D oٝwQ3بنNLCZPBbvNE.Lĉf?OGCYzE|s~Pa> ;vygkc1n8O[n +7oJ`_|q,4@#@o4[h!W?cu݃bvg}]_?l]ҕO/ʳ׶^'W$j5h+DQ|dA s{A1-,T]tE+A_믿0뿻o nQ@>2G\>CIO@ S4.>Af7ElZ(V ? "V ﹏̙ ?v_sMAx )3}frc eB~ [Z\K<?l%ͨp%NqG22haf$O.+I2W@'Mdz O::łJ\ )d,\屠Qlxq)~-{n;6Zc @o~pś5~y55>7 *#M6qCH"]siJGusf\

]YϞ={Yf%\_Ѽyh%( R% 92pXAv 'ءg' bn;nML oAB|$ /~GIኀ ?y~YH0-b+5>I\"[?n$Q\>~&_7fkɜLO~bӟ}.ޒpo7V36vnQ@yyG(Jz9h`Z+ぜ3L1aKs-3լR3~|2sMɈ#n{ۓO>8 &؀B AJz G9xs,Q&W=bՐ6ߩpH=/-)S,rϗ5FmS%(l3RYW|}1CQ@fAUst4͋5+://zˋK|-Om<(CuEMh/Lg>=@:Q7 ryo@ZR4hTVPJIVn"A@ $ f#@r'!gzGHhN;YP-pD$ 4MKD@D@˚|MK:` 'eZ6)0;0)ѡ@n^Z~@ZrwN5@ڨ[D@D@D@}t" " " "Ш6;% A84*)E@D@D@DA Hm7N-" " " J@ hs:nhPR@a@ڨ[D@D@D@}t" " " "Ш6;% A84*Ga5K tbM"Z -{|a=& Nm^wa4 )N8E@DI 47ki?V\Q燐HFI`矟oӧ96_&M2{y_-c4)~hE@D b[l1ˎ8BnF3/lLѣDǟ7)yD@D@l}fܹs[D ;}|3g<& tAڿtB]_+b]βNgw'Ѐf?<5k|te7[G8@#-/ѳetQ6-Yf緭%"iJ hJ׮-6cل f.;vqm>3DSKmX'(" -ަOb}͞V z̙3^zYmԩ<]d9?x' kV)ي@%зo;-|[*@\ѷ|[xaO>5=:MU" " " " >S(" " " "@@ hHjFR@h@T3$GD@D@D@D@' 4}QD@D@D@D 8Z%" " " ">)3Ռ" " " "  &* ti $ig Ν;͛>;tb]v/Қc;[ -Pc5Htk0+ & HݭK.׊x_0A)Lϟ_{Ϗ VvW\'yrJ3W@'Mdz*Yl>+R@?Ccy$}mU(?#u$J.,@?y~qfΜ) h-ݻwhĨ#)i cӧOυ><ޕ$s |ai|P[ncB{WZ1fe _/R4ZɺVX!z>.E)J<ş1)~W"73׉]+<$zG)L">+:(!WJE]+K;+% %D=$$#FOZ88Bٳm6qٻZC~x1[n92Gy&J1z:݉4-8cZ/a;[) 2."[gu쨣#8"tS88pvm%3oDD@D@D@Dcs+9uT[|Røjf]?`#Bw2 8\`Wc Flq|W=w@.»E0m|IaV%D.p]PIrF;|2Ņ[9!]"" " " "2ml<:z HMH$ 4VM@ hD5@")xRD@D@D@D mR@&D@D@D@D@ HMģ" " " " i6Q'" " " "H@ h"Hдj>DR@h@MT$G+E@D@D@D@&Х%'lvAN][?n6[kRC;{8 ;v-u5:t=ְvF￿ v%tӗ4a޼y&=>M>u4qZId}4 %JG)q@'!ЭgN;3݇&o|}w'3Ȕ/^+]F)&ݻ7&fRK-nW 7* H^AQsx _YIJ>S{lРAo޴ TW_",bku%\=c 7n\|mE9|χFmT}K/c#YuUm%_\kvzl\ծֿmNke%'|кeJk=i.˶[TlaexL O5?>~_fͲM7y'ʭ\|ŭ9|XcP1e]G$:˹s1lA(,Zkϵֺ4,keڴiv9s?7Vl/x8?x`x=ig϶3<ӈTfwϵ wy%-q-ȤqrHKP/&P>Zve_F9 $]3ꪫZnEguVZ޺NO@%h=:gi}=y7[=eֺ4,k%~\sMy׺hk 9˞dwG{;qb@+ov"P)ŪT*Â{s2,c.Sut Gm|pbDzm~_RVJ䭷*jBP{L~sZk.jl|:<)'xbk>O>n("{M WZJu >C[lZ&O:zRiܤIW^E5 A\*]g٣GxUGSU8Iܦܐz۵^*.&XCq#ZAl6rH#c뭷^xk?rfm*~4%  &PDR,1ă{<`[mUh[=67ZIJֲ#|fevGVph*I9;SB7-J2I@5@\ &W@]`{믿޸4pꩧչhѣG|'Yʶ+P |:aئR&|gt 2."[gu TM(o}cz!, Ch^4?R#Z˒VKp\aQ^IpDu*mO =;PD}Ӹ"@r1xJ'Y KZ|>=|Jg˝|HD 黣kVR@k%" " " " uP h]@JLE@D@D@D@" .|XD@D@D@DVR@k%" " " " uZ>m," " " "P+)xH 6Zid@`ҤIaךG}uzʎ>hcDD@fz7u."  K`饗={!b}M<9l٧OcDD@:!5ӻshhg϶ 66h}ĉݻwo@))DZD@ c&lZC_z%[ih" " YE@D]zmX<͛56N@D@:s[la{g?[nTDSзZxu" @γwyxP]c5e{n#QD@ JE@D ;cƌ~vw{o)Ǵfes," 93pND@D@D@:;%!u+@/" " " 93pND@D@D@:;) @ \N@ hgt" " " "3)9D@D@D@DٯL@ h;v+@/" " " 9C3)IENDB`ggtext/man/figures/README-unnamed-chunk-6-1.png0000644000176200001440000015110413764505402020502 0ustar liggesusersPNG  IHDRz4iCCPkCGColorSpaceGenericRGB8U]hU>sg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|U\ 8eXIfMM*i_@IDATx]UE?ˢ ! ݍ4H( )ݒ4 (4"'2oᄑvXs;=3g8HIPE@PE@xDzDh4"("( VE@PE@PG2nLPE@PE@P"("(e@)"("(2ZE@PE@P)=vGkTE@PE@Pl*u Z("("< }j"("(nP-4j("("0Paa*"("E@PШ"("(@@Ї("("e@B"("(z_~kytUVʘ1G7\v ʝ++UP""AE ?|֮.m[է s( N9G_Gԭs QGǣ1g`5rډ/FMw;Օ8{1k5ekA] *H9v~"(D|5a``i%1csH7@7nF`1󓘥? 42էwOK%gia2Ȓ[ ӆ@ UX^; +Vo/Ҽ׾Ǩf??]%ג8@ u@ťe7P/LK}鳖ꀙ}8-Ezu*JY7I+H{Al!b8<3R}QE@B5#z ɺ3Wxg1j^¿+]z  u%yr]$82eϜwڕ+S k'=J$t3Qܸϊ?+NR% :S)UHsb& mUJ|`# BCfi9K+BlFIo8L0> 5wfF{K? j ;Ejz}r3azp6L y>gfgpx)en8-ݼxǤ^=7M*a%벯{L:̷ng8]xF$ !H(qN)ȗ/NP)I8o|6MJ1ÏTWRE@:B9 6$ B$pNW².T:֔!}pf RHRyx;dz !aKV€v,Yl⬏f #5x8fBsN);5L$: e˚l# 06d=É%^#uq2<짩ӗ9I67<y|5mه*ϿFIXR'w6Æ#NsYzYtIo~e„B: lcҤN.&AWO)N/:aHR#^.vѻIJbKU쎢  F9; Sfhb| t%vjb.B&`(6'ɖ<|RO0г4z _RdpH|yqvwy>1$E@Pj(31\v?76Ə0D|/o 0dsTcR LXJ2gNG|3{Jynf~C$`4bHo iٟ.Q&=$,A`@S'Cì'OȀ Ifya*Ԙ7`>ʦ#.MI5>,_k݀nyDbW=nc6+vϘ08z*_=$'3F̿:p3*DGN48*ʾ(:ɌzF$F+]ZnbTh^QַciNOV>)qrR)SZ3;6a2nb>,& s /m !KgxLYRU0qߡ@(_ι+"x@ tJQTXAjҢiMHb 6|#aTcYkljRKN0ԧS;uv}{縡ùQ,.a@K~('(f s]bI̻p:0qo:$qhVt8g/olF0"/c8\#FD uMz4v\`tm%&:6LPE=}ovq`i\D$ߞ_jڪDyrNO||n+!_8O7vy"_RDq]TƁnS+[PE^f#g@fcxs !y(vB>qm:ebYǹ|ؘL R1L5o"Dk<0L4Z$nԸi?0/}[/F s}_gHNWPE@(=ᡧ88:O5#)ʬ+#{qhǒq!"q"p3;zs)c|;v1Uƍw2,O ֗|uxіNT>ik\Vw8aμVsMѿ\\1sh}իHYK;vJx7:דJ.|(Y%,k=} Ȕѿv8ok#˯1Yi9߄m{m7GCEI:0 Dy#gȕESr+bvjiw6ݻ!EE:h@* ֗|ufOΝ&.FΔ=|t8i# d䩟xfnÞ=wMЭ'_X#~~Iov[;zs8Ta%."%,k=}D<_\65 E}ݒ6=d<gy6` ]rqQ0Gu~0c +ny8+AvIcpa!~{ Ӹwgʘ&́/yKM&􄗝mR{j(۰ /cVcgipvx:}%|(S+lb;<0t8`0kw#O'GXʻ6VbWrW6p_7qcޗؕ أmKqg0ǍqtMVR$ObqM5"`܍-ZÙ6c _g[5oo­~c(.hGusz{y2CmS8."7 C7;XŻ[$Q(R )B)U "}Y:tu:3>.Mt3TY*RT%)_r!,0 #Sg@Җ ЂO׈tY+ѳ% ן)!ɖ&*ӠS^VVⴖKjFc~uv?Y1U:"Q%^XT+yԴe!'SӲJ~=zg$q>iҤFj2JrVܱtn~dzþnW<6hړEJ4CyXڈ!y V|o,uğ!{j[A)k4k.d~+ aɵ`&yaYɋ2n3~ykKi a >R*E[Fׯ,] @=$/.uhas0B yA3?_"pqww_a rۉSȽpǍZe^<xtŤiJS)Fa>4´άiW}ђ/%Zwm e+%uvbS[~ҖnRZ_vH8Q J&~,m5䶌{|v~} Sa9oJ?7qa&M]h9t ~QWcf>#4+g+7s6\j;.nYW8w0,sa-y@9-l|O@0* 0D[G#1`H?hӏ-_ V AU{+y:r4TBՀա8 Kٻ|"uwq{.x; ċJ}қpz.IQX+cp%[gq[g/H\0fWID_d+Gytyu?P}AGH+hSeU]0B0\Âz{ou7%"h7.E#FBRlK,,?Ujv7;Mr=Y+~qqQteĸ/CgaX1qYԵ9V ٸ Uv;pysPwN1chٳft|uce/VNu$c8-y3[p]cۆܙCks\+Ǟ|zU C)=f뎲 e &rΫv;lܠfVQCp{c/;*/.שgr;U+;kެa vy SKY L'bb'.K:cۆ} efG8h(kßNnk۪ږ{%|ijP+S136ꄯ *Q@꬧6nQO׸;jT-l8ݵ_;߹Del/SOoiOV\2_ڷ5wh˨G?̟KэK;%rG?RJi[d|_A}D?ײymG=9p߾Mq6}kqT(WTܣL3e h7Gu-; FGu%S:}/OxOG7~ vyreG,_5عcSikP\Nߗtn!iGhy8 ipowOء "Gm1.yF\ǽ-(Z:Z)'ob>ZvEwk>>1>=pԅo!|g˒A>i5,o_ KAc]yY;tN//k=Ll3O^+uq+WFSw(3F%7oc #yW=xhuwTn[]UPFՅ; &+[KԪ@Y3giPUb\XRlѴ&+]^tRQ(/?:: vzy۫=H M V<[/^0aF+W6Ψ}5KY.YըVJ,(a*Qs8L` VJ%a*֣[+ŋk҅WiwwB?Β|2+4t}4]=_i-P4/̚6X]O>u@ .G$IrS|w|pa0qN{";}Bi"w0/Zzo+(Udn7G;ou!i٢㙍dOaz6VrL4zD?N^ާ#ȞI7^m,e1؂fԲya u4_JϗOլSȝę,YbZl2ծY>\ҽ΃BK"r;sԯko,UqZ/kݏ]P yzg/p9-)q ]`e`Ō nY7.ARRFrsZmά0zO7 kg+EgM|_ԥS3޵%M.u EШ䦮EoH!ehcza~« oФqo ̀u_ә·q i*y7MXDO8 #QIA<b4֬J@}z#AIo,_ie|1>{l'u?iD j|{U;z_NJV~|1T tY\M_΢/VM e@.^Y@ 9/[8.+XX~{KTa^SJN=^i%}$1,/WҤ^rZ6̪G3V {ښ6m-4cc q>^#f]p eʔּJXr<,iշbɓ75x#4D ƆK;',)L:M1h#5N<>](Sʙi)m`LytY@E aΤ:5+CF (,cA?rŒp =+;wm <0*\(y tW6ab rE˪xA&;2O\ w?ª0à#gʿ|6<~z*R8,`B/D]&L0Gf0 4;:njhTaE”%sy^9$a |7bƍ&/F,yw)'<(l>Ѩqs%!AiWۤ3ߞݙ!sBZAЧ5=GYqy+|/`P>v8\M&S c%!]]1qgLIqu^rnq[xB+vΠJBc"`ˆNχƀMw3 LH9AD#Ō@+uq3` 5z-sIS$l0&м3_`x ]4a.IDiҦ-) QHйBgBC3y˓;KJ[zYk0aޑW^) /@ϝ;k0P~$PvaVl$0vhAXkh߁cԳ{+@"54W^ anuOE ?`z!}'?ԅ|ٶ3H۱$yĺ]m:ɳrrթ:nn0!q&.Om!C@0Rf؁qu%wuM&=i^*'1-z ac)L"<;r׮n=10ߪXpZaJa]ټ'H!!3gW:U yNV HE!i˚%|l=a<}2{cH>TvosŪ$,=i#K a7 `MlD=H9] ^.=i o]Wc/ܳ_ $&[,n XJ}'Cp@&+0fxi2i)c+'n?С#̫}a8φ/OF&y\x9^"V2c0jB'L6rqC=Ž]]A gM;oW{!uvZKU;qmX3S&sHC/a:wyD%?c1ɒ;%\a%H,MQs^V>fr@X/\S"e'fȀF ;u e^(/WRZqg6:PtXmhVu!#;/p^H1g) lFɃLفC'=#Lw  }y\Y% ,qa ;~V' ʐ7Pu(0A`! |` 5frݲ;{:ٍ[v )2#Ot6r)+U(.i00pm_L(!KRQ"qu=(؃G@F(3W |b3oNvbݘf]CkcU+df:,A#MϜ}w xfi3e\aB4n|uNsN\;Q"Du gKvk{'/gzfiՄ"}Axe౼c05w|7a&,Wi%74[%)V2 Xfk3{fUp.4&V՝/PxdSiģN*P 3~ӷ(+=}ldٟ{ jR 2YU?_ŕ {^4^.-tJSϛ{ouwkyv%я\Vgȵs'&Aƿ-A_0}2Y0yoc +}GZ;˭8w ˋK,+bE7n{`78vw]ȐNɊj ]90HPٰ F ;gƒY%`5bH9<#lڐoxw*v$~}$a:ԔXPKvPΚ֭Nǃ4AdIyl5֥zEK|LǍ.KBmٝ>q["}w__,bԶZA,\,cҎU*o!,>[45Zv_3xH %!L)vs搉X~p|U2/Jڸy9#毿.lyjrGuֲN7>)t q."2<='&` 5E0k[8V` 3&'%@gKkF:w-x9N@Ezq銭@1wd׮n=1|Am؇3+KLax{!kr-e?&xќ!D~!A=z5noG?D̻51Xuɻb5@o_xǮπ]|#O鱆o=[]mnW^VwFML{QmQ7mn x/X]YP}l8 *J?8K-8 A!o|I.$<|N8=ۨB gقӫ"`e@qʂ"! + +X`Mv҆hDM`w$/ѩ]A}K }fN|BA\T#Mkٲf`5͇1$k E7blzsTI@P3E@PE@P h7!=j"("(1e@cpjE@PE@(KEӤ("(@ F JPX]Є &_ܪpLGʱ(88nq p;ޠ'2Gy:X9 rpI8>_ew<2=4 "ԏi  DGrݟ|C_duLz^bredr}Nnμ8ܽD.S[1L&̇ IxF)z^K=5QvOGxp;f@ gvz?qgrLpi Sϧa3ApE+p/z̚5G/kk}qc*. QAc]E.S\`8[|YÏ5#`<k&*qAɟ]z]ͬ˷] pؼ!k8``.v鶆劅'[;'yU yq{aRf('5pO_gҎeśC^;X"AWI7,l=լ|lx?y2Q{7NxcK j6~/Ҝ;05ɋ~ƪ@^!p<3 1w4 ǁe0[lEX.#ǹT;DA)-įq mP֚GI@ 32U%wφ'9.83T)!L?H^~ .WACJ̒s/Kj}i uBKЊU% tY+ɭZƏq='s>s:RZWmMܰ%9Vyk~ү)X_E?Xzt&Iugɞ-YR!۝?d $KS;g/#` &oعLq#~ܐe?Oㆷ2C,k7nO]ǟq)玼evKc q)Nxcqgdx_tsLB (^Ң2;p].ې>\۾r 4NF&wOeh/>pCet \ '>;[ ~Jt7bhSeGM\JI?[O{5_&G/`2߸Sv{q _yHHp +Op=ǙL/8AgD#{Wkh=mp_%w/ݷnCCZl|uM X7yԂ1%] fn.3pXN/*o岴稠X/5Q@zjb wP#(vՉ+f"7gy4]Jc^r 2`f7U EA;R@xe+T+E'r7S@Z8Czs8avB}Bՠ^e4zD?b筟?/ѹS[f+_LfjљoA_oծ(7:k`zd:~` pk8 ].]*zg@Wo8_]u>{[XC_Ƶ3ih݆,H@S&#}s!1nk=?Y>ENVӔ6n+3xЧ_wG ?;pGwi {y^R{چs@IDAT+WSqڴ) _nh'eK t%3}R?gwq͂ܵY y\cո<̏=y_qūܟ چ53Yh- Cؑoͻh x:b4~ԛapգpia=0n(ʖ)B UqFnaEQ^ 5mT]fNGp`Ȟf@o2mcƫWCnsJ/oLU*NnliӪ5saF}ndTZ*U\DAvaq:w0aİtpMJ60\jtBr;v{~q/9nd ԲymڽS@q?qIY/H/5~w/:FjV&urc;OZ˝Q%YL:%=G5PdNOtԯLwY;ևc J|z@LP,/E73Sf5( S8У{* Ǟ)5sݏ˝XB |Ԯ@% 6aX cmՅ ҌqK'鰽~3%=cctH%8{X#KSN-x: hX>A}_;Рr f&5)y/,0<2QlI"޽vTZl*Z$LGתQNTY"2n+3wiܗt:^M6WܰmltfOc:ӻg;/w϶{<Ɵ$qBs@#y?5jP ߯~㏹/A5DПH M V ͌tO%/;* ʮ(|*넆VS\σ'W{0 (/$]HW(69i߫Z:MJq6;MC_=ԔX:#̑CꮥJڶq;^=,]mm3}1Ch_gM+ޭ8:*8.YHLŗ>ߗL嶄uR䋿L f nCz  OǗq]yJ,ݣ[qnGLTݍ&)2d ƍ_ ,u<6a̩hC׬I 3{jK ړ+~\ok1fvO_0^ȃ`ݳ^~rYGCŊfUmؼ xo<%6nv-o.LB9|[kNN'N|O&̦dI_ egNC,f` _%HoG v?)hQܷbCah_7XO# Ⴌ(۴u kj]lzux ~+&˒X>8Lab[N>GV?_{}$Okid ޽ RLF0M0{}8fG}?̤86'J(jwd@ ]f5^Oa*<æw7tt(Vjȷ7a  +?Ab%k?.x07I5~w Ճ_X8"'ovӷ; gl4qxz8bu92BWb%tB~t^OOOǝ?o}rM`Am [ЖѦѶn9[<ʼYh̡47EY'&ߞp"0es ;K>![.Y0й\*VHZԡ~;''n;eYɻo![JsN뉲s^\e',cqvԌR~tXL׆H#˟/'/z!,k/Ԗn !!_dSjR^C-բrg9Ni3^ Y bԣ0<3o `iPNU"TbtP890\̼@J ?49bM|+첲q-.-فTl"DYZ@z)({FfpTܠUQU$g!#U0+/2[vol)^Eʐl1!}d;q%Gco`fACIO}^٨!{U- %q#Oɀ5nOYtւyxۑ>[p."*,?~ΠI2a9HW2/ލw1%ɚoo&`ĒgC3nK2FiTĉPr ?w-ٙ{-"y6! YRMx8Ee{9@ÊD1ۿl2AJڏ[?<#Z3 =NK4 &Lo,CVUb^jVgSݦ[kA7j0)_5 %nR˄ =%ixcu).1E UE@PE f T3v~?fC >([IPE@PDf@qsӾǣnb(^'͌"("<~;߭rw͜qϬΓ[Oz<a8yzVܥŝ{9Esq "("(Q@P4p#kjݡ?U \7"5L*:c05hړ$/NԢ,|;8U)*Wyq܇^J;J$-܀މ,TլUrZzkuwq3om[9u7[U;-IK#jboK!C+Vm&H1{{\iAIREk^[ܡ]~}ߤ0[HS}SbWVyN1'l:=xYa3h %,z&/>3'i9tj*Ko ԫLFG_)ց9ݼ?m-!9p0wEu_ķbhZz Ol|3Lfo1S BV7`Qݪ}?Mܳ\_Ό0"]|˥r C"("DH1nW:3 zd]<۸CsE3^ 5mTƙVܩޢY-W"=\zG[jC~tɗ¤ժQoEGwQV{[K+Ud8ZD,SrEiż}Kp2}di)=$v7DZ'ng&bg) e>t:+|00a|jP>ަKTs3*H1"HZ6! i&ÑgBv'J_ <Ò_*)"("B#Q`)g5%FKfdƛ2 rs׻CbK/O.S$=&ϗO92K . DX \3po~mtY*VE&19#] t,]1T4h404\Bt9o.BG˪ TVEӫ5c j 9ϲ ލjܰ*AW4c2B>^iAwlW3;W6jy;q' =V0IyӶ{h2("(@`V ]JCM5qq"芦I©{C04iNn;4Н7?GJ_QNXJׯJ)S&] uu/iewR?se*Қ A<{ |XwE@PE@xm#%5&Mؼ{BQ7w &Λ_k^֎$IYҲ;#ywMw.potWU2j("(A :L<O5}4i,"("@,:WE@PE@xXW hL/|͟"("( e@YhrE@PE@(KX("(@4C@hV E@PE@Pb:ʀ)"("P4&GPE@P215"("D3<QE@PE@xP _E@PE@P(}K("(2O~jE@PE@xDKbO8Aׯ_ER$I_EǏTRaCPE@PE!c7xƍKSYfѸq(C o>:u*ȑÉ2N(EPE@PG@`@ϟ?O;Vi֭ԱcG:{,5hЀ:tE@PE@P#a?W_.]Pʕ?C9sbŊQ@@@$+ , *Dmڴ c4~<L.<󌳎| >%" v+V,C 7}hH $Xx`u81 J  ͛iԨQ;wn*[C `ZlSR*smg'q]@ ɤE Z7¶Lhn #~^h #-3!qP,O<2d!  ٳE?k׮zjSJE`ϧ&Ϟ24iRu''O]dɤT容VE@PE! c^#VE@PED@Ч5׊"("<6}lkĊ"("<(tZPE@Pdž2 zXPE@Pe@r\+"("Ы8Ep8̙3LsXtrJPE@P+ʀFגtݽ{ZhAΝӟI'O$IDTkE@PE@@K<}݋N.ݹs)\0޽f%N8/_%gy? C`кƎ[Vi_FhJ[.khfLf?$H-*֭[6D ~G:ve̘&(UTRW%IRtѡ,%K&RZ7BkeDW!`1-}oţĉkx'FOx"U(c' H\[PE@P'e@i)ō:t@x²{%(M4H"("C¿"("(1Ɣ|("(" RPLE@PE@Pb ʀƔ|("(" RPLE@PE@Pb ʀƔ|("(" RPLE@PE@Pb ʀƔ|("(" RPLE@PE@Pb ʀƔ|("(" RPLE@PE@Pb ʀƔ|("(" RPLE@PE@Pb ʀƔ|("(" RPLE@PE@Pb ʀƔ|("(" RPLE@PE@Pb ʀƔ|("(" RPLE@PE@Pb ʀFt84|pʗ/ȑ @0{tRʛ7/eΜ*WLÈFTE@PE ÙcCcǎeg}=34tPٻ6 {AlPʞA!S"2DdTAT*RJ)ĤMGHHf<_hr9{9sldÆ 8q"Ξ=vaӦMȑ#-vmP(@ X!MΈ4 >e_;w43&M2D\xMÍQ(@ f<̳eʨS_#j}q[(@ P Smۆ[n3<<7oɓ'Ӌ\rF%P@fcǎșЋY:uln(@ '`L;v,V\cǎ_˗U<ԩS7n֭[g%Zbjt뫂NiA)SPB@엉(@ dS4B:L=sLu]/F=fQZ5t DHH2#44R+IZgt⍧X!W\ѣA*Ub >(@ P'hR'(%|a 4H]ЪUyR'y>}jYy]lY4nX?+[֫W/Kkj?J%yΝ$#A^;Ffu,oܐsCwU>K߿?wTܶlق{O]^_>nܸEZƛ7o~O&MЪU+&]>pY ._%aG-t!z$n湑^aA#1ғTh-РA̞=[]v:th_ҨdǎF^j_HXDGGbӔYIWYL@PPФl๑󃻻;’'3>**ʩ sR$CL`yֽؓ|׻>N:rK+#88X㘲{!,\K P(NJ#R_ݻ}v5\B[.dIvRmݭQ3(@ 8S\E;w=ZRIC 1t$HDL(@ P'={T)or.QV^:q(@ PW). MTfW_ P(Nf/%N P(`Ps (@ Pڌ(@ P0G9J\(@ Pf @mF Q(@ #%.C P(`36(@ P`j(@ PPQrC(@ P05GP(@ L(! P(@se(@ Pl&f(@ P9 @Q2(@ P6`j3Jn(@ P(q P(@ 0%7D P(`Ps (@ Pڌ(@ P0G9J\(@ Pf @mF Q(@ #%.C P(`36(@ P`j(@ P@$-lkN)ɵk0l0\p˗Ǘ_~ 77Lϟ'r#..y|lCGs#Ϧ\r!666y ?㹑|s e>^U$Oug]a*1MGG~C>>{F^xH`D PUzG-{ڵعs'54HUE(@ P:QoܸY(@ P yN\(@ PF @mP(@ '<'.E P(`#6f(@ P`j(@ PPAr3(@ P 05ωKQ(@ H  P(@yN\*?#::Z ;ZdL7K P0#UV8* .DHH j(@%x9vWaÆɓSOI2… vWf(@ 0%d޽{gg4/(@ Pp.u<4i{= (@ 8P9Ww}9s&s熿?Zhpea)@ P0_ u$l"PfMܹ˗Gѯ_?8p&F(@ P_c9{ǰ}v(+ I PN5<(@ PThrsg(@ P @yP(@ d,(@ Pҙ3gp%ԫW޹sG5:2(@ P {&=z4riU=o<3uQ̙3eʔ135P (@ Pr@3,, ˖-SүUTzikN1!(@ P@@+U  QRb -[kF9 ʓ~ W .jQpb$#yxx`YFlE,is#"W䳃x_\=ɓGН *IgM)G:L97S3nܸ_~ <;tO Bwwww̜9ȢrHHHPӚ7odD P(hwޅW+;Uzy?}E6mTo޼5x||<ڷo hѢh/T&5ˇXH#.&s֭[A>_hU?^qm+H k׮2ސD_eDOa8q"Fƍp@0 ()PLed{g0FG--==Ă-xnP=n8L:|J6>ž={Ty%H@_ P(@,p5k֨K`#F0I1rH@I)IK &5.^nHYKj(@ P Ԕ)n:W^MoKM˟?Tu$>s8{EAu?=m<22U(LS~e4zxn$.+ =>qeg(rO,_u 9=Y`Pol8@rpAM>_aÆ9gaY* P@6 yNYL~H^nT X*pe ]'_K PJecDLVf}|-.08+*^>{S,pKpiW(X |IsrJ֭!w1Q(`;\@(P N{-pb1(@0y r Q ͛7#11Q5XK|&(@ P9,r?((@ P'Kg-S(@ #4N(@ P<g-S(@ #4N(@ P<g-S(@ #`hbBk]0Q(@ 8]7>yY P(@M2۷h8,C&|Gpk>(@ Pp|K/u7FtÞq}:h4(@ P am>vϽנJWq?)(@ P.`71gΜdS/][7,ʅa̋H٧(@ PPuK0s qX ot= _|(@ PM tthv:=Hk{r vn*BXXÇXf ԩc9ӧOǪU=z୷޲2c(@g4&$3mx) &wUvtףf͚9ݻ7on|rmԩi|B P@ %x)E3CT!҈^u3<֮] OOOO@֓{gbS)A%KpݬA Pvk|=FNm n\ŃeF>IϦt%& PNnPitsr)^<+W1///+XH-fṑLvwI>y 552:nMv~ ԀJh[oEˎвC 30L>0%X{E@@֭6eoV,SJ)yd٬(CvGULn_WO}"LscuK;rd7hčw7K67T3k^\\\fmڡ+2墅[ЃF4ՑP: P= ݹG~\+ΚT2Zi 7Q(@ ؑԀ/:=U4bjآi& P(@4v@Q-V\i@ P(vͪO6 ͰkcOhL{uI>͜S(@ =r(V̟c{aܷu+{4ų'x(@ PHnPh΍x+,cع['fQ(@ P&MJz n1m7z籧(@ PTZR |6c vm 4k.\ 6~t(@TygNQXi62FhlW̕ }6,6ػBe]PV1%h|dKz޽hٲkN)7ߤ)~id8plo/A Z@ƭsV.x~r,\^^^-\Lw'RdY9(@To۾)sդnlu*"dڵäIʥՄȑ5rJ-l`0ajhߒr~K?)@  ZsG p<$9wwG(פ(~O[c7Gqf|v~uRi oEu#ոqcHSL)Pre:u5 RSHG&5Q87܄aٍyX#&: Uk7`y+s) ؁;ō7ptq"(@ P4*2>hArh0=^ zBͨk_70<{ˬL(@ 8B.VC:MTEKCŐ[3Ӹx$Ο:eǐ dJT "|mC!5)SŊ!-(@ P,@?h/X${*TʐGc/M/?=_o4o[/ÔWY(H҉~ժU K(@@301s "dq h 2z(oLmAui%ˆ)sKh(@ Pp(Д[i”R=ρ'ěw3d_}>X~%w>F(@ P @ ߴы'/j}w]:Ujc0s`LhELUc%^-%x(@ Pa @W- wDS Xjlt4t0 cޚu.0?zi Kq(@ 8@VAvM">*h}(\1w 7JAy ZĄxo:$idxNK=s o߮ϤWxx86oތ'O(@ P `UZf,ڻ亭5JjTT@㚅깛=^1텥sBԭ Ϟ0eј? 2em G1`5 ޸qn:Dž(@ P2GK𭻾SOZ- (T4&} L~8)=;7bxgC/]'-ߢ˓R.ѣGU˖-Sʗ/UVN:5kOjժ[n8p BBBuD P(VR9Ek(Nݯd6n\r!O7qy ~hɒ ߵ{!11/_V hBCCQT)Ǐo*I0s'r,rq>FéRY?a|nPyn$W$NrsC]+q.ې7ebcQ?hPi5?aPo\gڈK6>tI@W_}U ߈t{Mk׮`7o9s"կj`|3|N^y#"B#ك<7-$>qt]ų*FC?Pt^Op2'ƈ$ .Μ8[ףv߰*5wϟ=2&q}եV4_m 4Zr$( ;Ij'OݻwQ,YyחB'"W 'GҁH~Qύ;w8u-W7Lwe~ꜤLFAYIJ*i8;jW.Y1}LOm~]TyX2ĉ1j(4nXHɐPpa[ДC4g&LJ)Tɒ%!)W\v2%"{sG--3!&ɣ9;$&ә=dt[ cx{2tqQDFh6.ԩS @5[.6lؠ'AɃ"zjuC@(Ktʔ)(@ P -Xڃ6e ȡݗiN"Ś5kp-1° _C Qt$8 ho6 T%f(@ P s @vc4njQѳS떠Q8o*׹UjϜh[ S%JZ. PN& R',1(@ P#`UݲOױyH/I@ikn Ƨ\ygڣAFGQsuWI_ҀBj *c:YB P@6 X:h?4i ;2Jxiیfx B@j4h[oݺ-6k6 <ӪY+r! P" 4rJ X+OL*ͭZGp3Z~ w4{3h5 _0O(YUV5 XYH]婧R4zw1oi7PJkX"og.ފ|ov,EڵkF[;y(`R@nmJ|9?\3_4"*j= Ay Gʇ%|֌o~,E hK/͟?d(`4L=&~Zbu @[v-/ÍHo,şLA=67@{=۸xPUT2O,xHP TFDH͚5x[\NgWнIq,[^޾F:sWna/ a| ؓt~L0Au߱cGϞȼPY,&JnnnYwTR8vFnҤ jq'`Ub8^4 2̅ǵ{CIj[a.#!(QpXt3e,k׮UHFGGc߾}(R[ť˗W^ 2G"`Uz6` jufr_ΡPVm «/T`#6zm2j`΍%)@ P#&itYDg^ fkcNGwpU)Q3'6l'!> 0O(@ P( s&MF Iq鮨aÆX\*5{,xگ>Ƅj9s)Czs(@ Pz i%;@*^2,YP?,@F2]F* >맇_`K w$Ӽ,oGb{ɓN}_AgD Ppf}\T׀zΞ8>/ U0IxI^؍yK7[Ofu}gFLcMw- l۶ 6mt2j(v3y y-Kf,`q #±C{0Q*hL;-Q L2)\E ͋ݻU@sUL/:uB~w^2,((@P[9U;~ĂʥsЉ(XrBDDD`,кukȃS&h6B-Z* H-YN!Sѥ)HO=lق-kUfx'(@g*s-ژ3~EUk==G\]t5O>FR>+W+!tRϟߩPR X.V{"K4X=Ng czz2_50r93!gΜ6 7n:ܽ{W/Qݟz\<72x@b]~˗G-eV#ɌύWpg}"c.y7y8kT*it5 jfjCdR[>grRz7<Н Y=Cnr^jfy8<7̵U]{mm۶]f :RyHO L q๡;3e;l8ydU- ."Bj~8Ub嘘+vUlE _YqnP;ߺu+֮] [Xyn þuK;^^^v#,v%߳ΚT*m}0& j/?Uh_5=m /o_(RBGյ_I7l w0*QpY={)ԄJ?) 'Pv"`Ub r}g-%2s/f;JO3(@ P@'PHuY3eMԼ˗DV vi mgeH(ajtVuAr2KzMv_iBB<br?u*5.zm^_z6rHKXDGG;p)l@DFFn%i<%>7J*F*.]~~~naaa|.%xT.ː~՝_>>>.q ^/2JVՀJIII/v/e*@'!8} 2:nE@EpyLÎ3 P$9w&LիcܸqY| (`UԀ  y "08R) (?>ZMjdnn"Sj~wnBePQ+{xZ۾G_mStݸJmߢqa P."paFmӦ (Qh:_PP}!RʆHMؘ;ZndhO#/ȝ;7~ 6,ebj߳hL]9_}ی5{\ ȑ#"g4=݅9@ XnK,Yٴd,xoTCűǬ}q! P(зo_|7FE8;wl4/(@ ؓh'KRޤUWȔpLvXp! /F,(L2N{f\w&T@V ̙3|}}(@ X,`q-=W(@%y0ُ˗UmtBB:t蠺Ȳ1'^̼/7î?ֿ$C{2QIxgD5*̙3zj4lБR ,>/]OJzuB9$>Z D P- ܏5JKkjQEǍDpp=fy@ XUzIt[]{^CPR U4rs@*1aPo\g3`opA)@ PPR%Oryꫯp9xxx]s3d4/(Ս ्^$_P ¯_Qo਷ѡP~90ňk\Pw1R|:uB6mrJϔi.ktīu3 kb)΢(@R6tPɽ[lAR//\^zI]*O(S_>n 2թS'K>HTdVQ?[ݿGPނ^E AyQ\$j]VΓǢuS.| uOPɒ%;wѣ)Az^(@GVZ `Ϟ=%** O>!_g;PT){ѯ_?u VG4sw& P1 @ô>oT%I*YqȘ?(/THmh?oWe*TC\5l 93f }o>̙3W7Ps4 (Ұ%u:˗/Lj#RRSyݻMٱO?G}dq>~glܸQucTD Z@ ؍UOOk(L<Ѱ%d-<}]MHwL,jNՐgFhڵf(lR:IK=9_wvRܣ:ɽ7rnݺuF8p0Zw0Ao>,rLBEKcȄ;q-̜<8CO/<$Oo~S<<<۶3\7 ih"MRO`ŊnZZLEk׮i*,fLfu^e.]Opaj@W- wDS K_@64t0 cޚ1䓷ڈJ~6,v2^0ԓ-Zf 2%$ݗ.]1ySZjdZ%]` *T)葌|νț7h޼yhٲer(IɓѷoߌsR9”,\3___H&ݻ&lUz;&*Uf #"쪚^pq܉j㴛,+~uӪ/>@^-b<t7b_~5R۶mѾ}{\|E5,5m4èEOge<{ҡ=Q$ܘ8q"z+Wt(X`I{ʖXܹ3$(^x+;@jSVdg~sxLU'e&oS\HF[K|Ca/|^ʎc3d|N$THN4I\ȗ(edHpkCKzsYroذA]a(\rk&9M%mit}ZG!-G5'mM!ɉ!-;IǏGDDWi)@ 4?UV?v!tEyƍ֓pTbM69om\2j@Vs;'W]2,66|ku`q@ }': 7o\E*ḍΐߑ#Gb &_揺MG P Ht$Lpf1s͔`*5!)@a™cXxe1?|ao͗F2^ܫ!5>(@ TdS-ʗ$`fMяN;^<ۑլzڔPk)@ Py&>sPGjڴ-7mP`ʔ)g=RߤI3 =z7VsSe݃]X(@ 8@dd$x Sjվk=cǎu:CEK0w\ܸqC;e|Pi3U 9 [?Z+[? 7W} P H7Zr WWI/bŊIkGWBkGEҬX=.93_x#KKd[xsdw5zҟی}nSJ <<(KWVҕ Q+"O[]rط{3>_P*}3uK7)@ P#PdIH) NSY0aF)`Uh0mt,vYvCצ^$&&7^K^>mj5Σ(@ 8YPNՅt#߅{Fʕl,*+bmO&;=^(^^{iʽ;7ykLoqN(@ 8tגp.(@ Pbi[BՑ~\cҥhܸ pVPA'k[(\1ԬZ=PJmLWٌ1ص[,\ВpY P@ ㏐>/޽kC_o '@._K#e/{ h$=7RNZ OoG⣯"fzFGG:*t(Bw*ztS\(@ P@/= g"ܳSuƼ!m~ JR*?"@5-3{& P(@*=ж 3"#|)+s%AgOEM,(@ PoqB4]ĦoCZx j5-{ps0K@ZԿ1{&4qwѡ~j3q-^Zmj8bbnCjEO;h60(@ P} XUPqs'jk`ИwUiwo]+hQGi>(cڜ,(@ Poj@;}~X. 8!4o[7|F@/[TH-茿[NT*j?7t E\(@ عU5e2iSGQZ]_g*O૟:Yr |jz৵_੦m-(@ PgP)XPx6ReGQ-~AHLǺsPNc|>c꼗Ŕ\(@ صU 4uxg풇6Q!yΟ9u Xjһ'} Q"0GHKL(@ P#`UGnLtЋgqOH>Wn+XgF\UuTty <;|f@ P(GQ}5Dwm)T||Y+III9s&ķZP߀WT P(@*m١/N=V-e8͕ fh]0ϾD,_6& Q $ݵ[,\ϑ,(@ P @l_D}(Nݯ,\1FF`4XỈؽu= +~æ=-(@ P_W/AS"%"'SO*|*b}hx>5D P(KaV鷟L2k9Br="*Sz}j]KL(@ P!`q Ku3\k9ͷ R(@ ؏]NAynqU=(@ Ps X^t^tTɦz 7x xm?rjK1hF P(/Ųϧc۱Y6 m=Qط{3켄`m8N}ʑ#)R(@8x ]+dɒ8q (5jXW83uzqǨ7>È)sl'o?=(oA&F(@ P 2 rk#L޺u |zeviV\)S E߲eK,^3cA8m͘f%_e2ci}M6Q|U MհE'4L(@ P+_ިƍC*UPjU齐1c͒`vٲeӧ|aq*3ϥsg҃(@ Pv#:l߾ݬTDC߿ޱP`9WOۨ5dMk\vI(@ PiӔEJ4ӛ ˹r9~fMˑ6~Dkvnصؾq FfдMz+%+U).(7zxxݠi˗OR)W^M5^ϟv§S@DFF3&A>6;<7~~~pwwGXXXD~(~qaUt///Uw&HPOFӦM!S_pA Ġ^zO6dÇ#_|[g|_drf4|1}, c֛C h>Ǐ'A}0`N:gbݺuy|B PYlٲصk)y`رcfR.oooٳ+WV?4efiՕE?>/ORMk0yX'W֥Esf#6x MIL r/J]ժUCn0p@k P(`oJ¾}9[nڴό@:s0vnZALt*UeW~Ek"08?t!ϙ'-ZٳgCߢ^n|&]J.B>hP ިQ#L<7 usCn10 @Ϟ[xy-\:⹁аyGگaǯء=*,VLe*V7,'D޸qCU=O|/57o4 @?,}0G޽{M_ycI||,v(@ P Xzzy# (?ܾ4ksPظeg@jE?4vg2nojRkUn]lذ]vUȤy0Q(@ dhBd/ƚ?owWGޝ~I. XL(@ P'`qYFCյ{Kaiz7V)QV^:`N(@ PW:,?|>ע(@ Ppp(@ P 0}47E P(9ɒ2Zr$m#Vͭ[2g՝;wPB(W:*=*+ȼ8Ɩ߯:Qcd8ss#㈈@ 'vU/B/g]rnHG&B0-CfL6B*ꢽ~Q?F֭QNNwQZ O/ݻwM6-.*?bڴix9vQ&*6/fa)@ P@ 0cP(@0yKIFC޼yQT)|AG+UD  ={]tիWq4lؐP @y"P(@ d/g)7wF P(ρ'N5R͛qIBmٲ ȥ۷#66֨qqq#!!h #}q 8QM>S6N! FeK\,A@@FҥKlٲj4j+y5s~7lOC`믿TufB%PH0111*/-["G.qMBґs"00_~|JF熩S<صk&OVZAߥaF<7,= hBRz葴qF@߾}:^_v-I/IH҂դ;&ݿ_[re;cXOCȑ#I{6_M5jzx$0oI s?:N>|:R?3O>23"s*~ ʚ*Nu-. /,w yzzbѢESj$H?/_FժU 8w3YB-F@Z/XP(ܻwOrIЋ8_={6J,n[1乤 S)jE4Z3f`ذaf\_>xn\/P=-Z@pp*|pH{d,}@*͛7!]h秆ܓeG@~`ȏIr>,[ Z-zՈC>z{mt r9^.K0ZSoŊKWF<7\Ȩ @3q[,R=<1tP1e`9^5J={UƍF&"sgkF)mۆ .m۶kR#>p@h gs5 SdjJΝuURti(]O@Ft?N:.&ŕ.QƍS#ee{Be9銩F<7R"9ZOMPi7|Sp:72LqZ(Hw #*{8]W` B}\C:K>>>)' Hr`L<7Rj8;wѹ!}8K0sCZfi)@ P@ l?(@ Pp-uYZ P( @0(@ Pfi)@ P@ 7c0VOVCJΘR,2I=˗W::KX P д&B 8t_bػw/%5'-3S-zEZ:}ɐLKl_cķ»gsIǵ.jd7kol۶-E8ppE P YH^VD~)٣ i̙&6-@KފDêUqEާ(udVgyk% t7}Vʕ8Ռr΍jڱ?x`z9prM P@'+Qb.ZS7nX jh}yuأF޼Z\?nT^7ooxIBp#,,dHCq:bV)@\Z-XΜ~u5N3p~mޙ5KM[E[]KAU'S vj{fGh9S'N{xI8bIDz/^KipӾkWZUKbˏ? ~I< Gyyl'*RDu=%~µChKOGs vq𖒤rVZşkW3%_UĉjwಏftuEz6TM[$I)m0vҶdќK-ѓ&4QCtJ)[iΡZNO6&ܛ^ W Z`(F{>*ؚ9mv0&&Z\*>.NK֓4Q T'֫SjiO/KrN϶m[e+T Zz cR ca,%=ޒWgHb]>zrjjU@l{"Ut ^dU+sR" )-!!e%Z/hFP%4Z-v b%Em;谳3l̜{~`Nر|bEFL(x1&'ߥ/#ƙ.ݺ%S%̃А\_oD@E@x=Oݍ4!ŖcǛJxÌ^hԭ<9B~^x,)(,1ui%٭z/9^'OZ!~~w"><'z=W8-,*=Z'?^_*"31{C1KQwLG%Cq[;sì=>xW9M/}n+-?Y + =M M-2 yb0cͲ9~sv_u~s_Ɂϓcq)|㹾.y/(~u1^o 1|xpة;-d(' x>WݕĖ D/@m,QBÿ NqfGs x87"D'h5mŒ%6|>nOӤHm|C)6C̍FN'?iݭ[mM: 0eK;cqs+1z(iN,xt l/ebaZ>xpVp z>7eNH@Y?' jKXΐMM,,2jܵ >zyMi"~gfsE / xEbƺ ӦA:+QTB)]GUUһHA6DaoO9[ݽ 13+tz(l}g,K땅M%2E ' L "Tq3y-G}\/` GL9a1'ףw^'cCHX_[V5˗ycYv?@F;-. >;\r|)61S8Ot\z+Úٟ=A'!?7h,ڃ. !|]U}DBxNڥ@@=zDΘ16 Haz7u 2)r1ϓ6}D+Nw\C5z/"Ԇ){v&"p555H+s+9G gB4+9z4Rz!$c̴c͛6^4ot Xf(Xo<dm@_և0}V{zӒnPt@!},ԝ8}(Ys39MD+2к4ZiMF;֙$Ƥ[XcM&o[ 5EY pguu3{h" W>:SNy=7~oq;x2?D@I@4Uw%" " " YK@EHYh1' x>Wݕd- Ь}4ژēhmLD@D@D@I_Lv`jIENDB`ggtext/man/figures/README-unnamed-chunk-4-1.png0000644000176200001440000007011313764505400020476 0ustar liggesusersPNG  IHDRz4iCCPkCGColorSpaceGenericRGB8U]hU>sg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|U\ 8eXIfMM*i_@IDATx|e_* wAtX@, "©XVQĂ"" *EC IHc{Y7!&|_)<~3L"u |pX  |hM@@ h>8B@4Ԉ  4V! _|SjD@G@@/@ )5" #@U   ߔ@@ *@@ @oJ  @a  @7F@@| @@ R#  @>|pX  |hM@@ h>8B@4Ԉ  4V! _|SjD@G@@/@ )5" #@U   ߔ@@ *@@ @oJ  &ܹS&M${ɇU󎤥܄Q@͟ӧٳSSSeʕy'oE$Ird…xa9 8KtҥwߙPzzH;ˣd̙!LPe6#GEG?cSwȆ Lv~vډ&jrm۶^_hAr1LnܸѼk歮|ժUrgSNGʛo)[^usn_lR~yryy׫WQؿ'o/_>Ǯzɓ'X@p@P i#FG}5k-;sO>rUWu?䩧2/b3"wK=wHNdf_)@ Q~ x[j% .'|һP2d4m\֕H۴ic_r%rM7y`|g[`;l0{9*xFL et-zY\ϧ{rWUԩ;vgΜ9r7KttwY*USq\~Rw#ϭ[ eyox +]8'oB][_~ٻ[ΌB f:2pРAg0`fUO?-׿(/bQB?_3ZR%38vXٳI[ YK6u\뮻\~vzY^W_mF9VjBXvmfn>`snzY[C^֪UK>S:l2BuzYguz9o߾f|\Y=FҰaCˋڶm{BU:"n: @G^أ5t]c󏍍uL{P=o_V];22ҕōϼp:xuާ< 4hHB5F 2Z4&jQ9-zO7uߚ5kʝwi_*TfSKLLpXlYmZt4S/kڵeMT: kC2fs)__눪^D-jZ4NÝC3>>^222{߿tCsUsE@$.: lO~SJLL FUCCv[5n>WEY:JaPiM2Z4ilҤl֬Y:S?>ݺu3?F:s65D / J2k0_H2=靖2u70erVi޽g~]c#zaTjћt/ܼwuyװWm?Mvxe-Z8zz9S3pECNKijE癮X~kͱos"]]q[>n+_*=owFtcϽ? ^U ^^Wv{KzZhjKZFmF쐩|k@Ӱp:t0_ovs"{3ΐ%KxG5\sM^UXV~}ћJF q:7V۔mGkb@p@؎>#rמ0Z#@5DAGPw~%y;ȢEGt4Rjy77Q/#4WVMEz޽*58vio׺.rMԟ<_ysÒ֧uہM'sMyS[5MPMSo0Kx& 訡]i_vp:}A/ծ][ƍgt:=WM @@x"ѩ)tz!y~Ju>o4ٓuSG NVs0+V[L2BCl!9jsODGP@Ǩ|{BC]vi_~s >?¯ӑh} o=Kn}ڈ/T/Ȱ_rs'|CgO]j _ZOv&|zIh Z_SC>VJuEA@ G?,tiq WH@VvQd_@8SRGQ.]T.t{NnH5  @Ѐ@@ h j  4`:vD@D  ,@ @@ >   @cG@@@  @Ѐ@@ h j  4`:vD@D  ,@ @@ >   @cG@@@  @Ѐ@@ h j  4`:vD@D  ,@ @@ >   @cG@@@  @Ѐ@@ h j  4`:vD@D  ,@ @@ >   @cG@@@  @Ѐ@@ h j  4`:vD@D :!CIJJ;N,$##C233}e $""Bq>g-񒜜/K.-ʕ;ws~8kijժ g 4  /@ > @@ Tw@@ ǜ!  RА 43D@BJRAc@@Aǜ! y {8tX6z 7[Į%---:>;&&Fӝz [{ޟ(#c{@@" @   V@@$@-;# VZX1G@(H|  PXha@@H"3  @ac{@@" @   V@@$@-;# VZX1G@(H|  PXha@@H"3  @ac{@@" @   V@@$@-;# VZX1G@(H|  PXha@@H"3  @ac{@@" @   V@@$@-;# VZX1G@(H|  PXha@@H"3  @ac{@@" @   V@@$@-;# VZX1G@(@tdܕdiT\ԼTH(m/}_ d4YxtͻeݺuRlYi۶ԬYӬۺuO|_tIRRRdҡCU2o<ʕ˱\ٳGVX!7+WJ.]{B@ CirʼvHb|]].=OvL5=rA`iӦIʕ^2rH0adeeɦMd2e~zg2{lTg̘qB &Nhis̑x@o.>|f .=@C ,G@!&ʻ/R,^HfUjW,-iY!$*2B'KJ rG6=" /t}je:÷hx~7p :Tԩ#;w-[m~iU|ju$EMϟ/GN;MZj%/\q^zɓeĈ@@ rnhaָf9Y%I\%ɷ'1Vxrf凍{eݎòti۠\ӡ\ծ ::rvJaar85S9*sFvVnQ_Rr+Mxݶ?Eqoo|kBL-Ybd4_jwZw]T]+@פ wT)'׌Գ=)Ŝ8|VvѻHG$u$J*ҧOꫯLn\_z%SKff,YQ֭[رceȐ!RL m ھaр75#{[1r˃S#Hղڂur(5C~r8/{zwf$rOCϑ3w ^]l.t_Uاx +xf˰Mh\fFY_FuK>jY46[3j-+.h(/jdC&jkyNIyqsn3z;㉋$+#_Ztl_s`rz߾};:1u3wiذܞ{y0>|X/:7V%u5QW}\xҾ}P]Yu[H[30R3sϺw~sz{ҥ?vX:2T_j[WfRrq[ny->uZ }޷1Xk)M̶ؕm§{S"2nuu醽rq˶$KvMjcke}2ocji^ #Fcu5w9UV5cbb$>>^222rofuQ ;dggG]͚5K6l̜9ӴCжi!V7.+B)GElVߜ4CVn>w~sz !|]lf>tuK3rX:x;@g[+iKǼɥjY[Z=[7kv~ǞrFF˲:r٢nyuܕ#uYIҲ^YTHknkWn/mN?8uid[?9iFXg-&LQvH;.=S7臰iӦwӻe-ZcEolJNNի.6VOJW6wAPk߾Q^sNeоVPA8T~&NMITжÒq[> !}FW_S7V`JBBBS_֜dszЧZv< xV &?7^lwzih;25qNUV[o}zcw\R Z2{J88dY*J*[3.kY|Nk@m+VM{2dz ktq˖-Ez${ k^>FI-ZG[oIFD}~{dٲefo&z^zOF  8_ F@y[_FRӳ̼Ύkczj8koftQCxd/k&}9Kͭvz͝흟k挾sro}=ԑOiכ޺~<ǬK_,YFRo,J}̑>H}. tnБ#GeLm}o^vړ>K9؊F/?r.YYp ޽\^p%b_ L5ymerO=}đs$}\}C>/.6* N/(ioOS>u>k׮޷%@ç֣ Ƥ.5 8X hs%p/:M HtBCh  Ay5cY-OsQ.]T."|SyN@ 0O 9  v??  Pp  np  @ @K! n # %,@-ap ]O 9  v??  Pp  np  @ @K! n # %,@-ap ]O 9  v??  Pp  np  @ @K! n(TMKKӧ˘1c?˗˱cn# B ۮ]V.2ٵk =z{L:$3f̐ի*C@p@G@,:u={H:u o-2m4r  (PMMMe˖Ke˖_Z5eܹe@@@ ?h3ҙrB]W6NX@@(PnݺɈ#~0ԩSW_ݻQ5@@8Q7!M4Iji߾DDDȅ^(ru]wub,A@@ К5kҥKeŲn:Qѳ:ɣ^!  @aF?ׯo*ۻw,X@f-[y"  +P/~&''o^_{  (Pvs3<# P   (PK^zI2e R/   @'^K@@X ;oٲE5kf~p.]t;~WNΝ;~ *ȁ^*^~_64#򣏚s[ϼNJJJr۩ҕxwɗ.]Zʕ+'} n^YNo$ӃUJ+@u={J5K/(Ҽys߷F@@@#G5kșg2V   p2ebbԫWOيU  \@#Zѣwr>^إjժf~  (pСC2|A'@@@ݻ QQQ~g1  9 @vz~2dggQQ}H}nr;@@(p2eo󙀷z+4\! (PH>}䦛nZ,X ˖-3^G<O`<=,3J=#",P7ڵڵkK*U|rw'?2~  (s@WtĈNx-M4%K:t޼/@@N&PUV2j(;r:,裏I;wy.z@@T@uW^yEz!]tM6!I5knBA@@ڵ[4x\Rϟ/]v5Gb@@,]AIIIasQΝM ݹs _@@W# 2DxwuuH{/fq.mRw>n^F]׏JX5¹[VQ6=Uv}&u&`j= oTeۿGiߗ}ʎ;z͙3@;|*UH>}䫯nQV ~wL49rD4jiݺ|גl 8[ZKgP]$G3{g$=ޔ2Mϑҧ5F>7>;@j-g<4bkV8= vXCZM^/5Z JJbvzk)#V,Kxc3ڹ~Lor٭y/d V:S/3ʱ49ϥѨRoYO8kްaC\={Hg uk^\ cH/(ݻwNЀZn]sy@8\/d`g]bs&}5m;nDDFJ=Lz =NI}D.k.Wf@c֓-#ˑ5Iݡ~ԑ O3@bztFII.o~n'+CҬLۚܞq)%ilS7"j40s)ߢw:|E@`}U.`T`F9wL#u=c!)~4kFψhM:4;s#%c^2wZYC.f)Bf^:7?)qV5a~ ,/Mo-o Ŵ!Rȁ?Buf_7-[x/z2j(Wjl`Yd9~7۷O-Zdw5,=Aϫc|orV96ݹsgxx(7AAk$<=Ç{( =?tnȧ^q|sҫ[nw{}u6..wD,Jʷ:h<9WGwlVmVCR]wIcO3+G~Zwk@k]y]T6к5bYܽRzuw{G=zg;nkT|;ں^GKk\老RroRD[Viav z.,N} ӤId޽憠ڵk˸qkeر2~xsw~4i"z|sJ.]j|(!HGS5 S@@e`O#4@ͤ1}WK5j(҂H"Ӝ_GbueZmh>Hw{^e/, ]/짡\y51LzɂBG@7M~̵#e{Ф|T #8:3PhŊv?s@}>dS7&&|>:RZjOF@ߵkWw}[LŚOh֬Y2x`&@,@up3sA]oQӹ4w$E@ N_(e.]Ny;|Eڷ?TF@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ @w@pԑF@@ D;[r%%%r'$$HFFFȵ!"h$ 8Dꐎ  @@å'9@@!PtD@E.=y   :h&  .pI@p!E3@@pAғG Lua'nNۛ]Mm `ԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@pԡG@@ @s@p@tI{xZIL&i*&:*J{ŞC rm ۔_~g#1Q%Piiixb֭˗/uIٲem۶RfMn֭O?y}ѩS'IIIݻwK|WɼyDח+W.r͑#GdժUrE+WJ.]M (OQxtpDEFʘ~$w/{z b ?xS~L6mT\,IOO#Gʄ $++K6m$Ç)Sכ?ӧOٳg{ߧ8c ڏ8q '=zTx 9swՅ  !PbC<*ТEi6{ǫ$1&^~mȈH9qT="uDѬL:-?]_#V$՗49"uoZTK􎴦XG Ҳ2drF"םGHR%!wݦ }z9ڗlli)S*[cl:Gꗫm.W-V_QՕ>ZAL}SN57ߔnA*uԑΝ;K˖-ͶO?ԪUKnf^ZbuA^ܣzɓ'ˈ# R  @ Xm\|[^s]  cd2agҾFCMp`B)=Ze*? |[`&Cr&Jo.wLF_OyʵMpdleŮ?L`՝R?|*-֓퓝sk7写/XNj]GmgJpLwgzv?K|tT)]j~k0e(ڰBuyP܍+(qmZ6Ǿ&MmM;Dž7ȯ./رwќ9sG}^+IDATO]QJӧ|W&z7 5}GL;wn[n-cǎ!CH2er  8OcG&y_&P) 7aoZ|FdWdrtRGD'^:DҭЦo#s {m뚞+5q&kF+jfԵ?ΙҙrWeedup&kjVPSF[nlv 5y:e,idHv.N'ͱ)_o]rrp_rE6fwQc_+WW|._Yud[m'M߫ ݆XYW5ok={NmuÆ ˋy KTTԭ[LG]so{@p@PGG+jw\hlPԱFF."In,݌X*rκvՑӪ LttP̺֥qMҸRMz7>=LH{Hed@&|ڞ^]ֈǽȪ;[S"Lz^U{6G뾓)vs~ ۬P>P \,>ξ²9<_Fk3^&}̎KxVz~LLKFF&.}Z]s^カMh;v:=`|[t`7Y8(GZԵuۊ~to)UVn9kqcyޭ7]^Be :٧I'X UDS-5OG6y9+>|JmrNYt|!iSt39IxGMIL0If^^?˚IZՖ.kp z ]/{W/cnd.:[T+km7RjEYߘ&\4\Gtu<-:BͺtA8:u 2kFefAu{.:S~޻UzYv=LC*?.u_ccc%33Ӽ6m*z|Ϟǧ-Zo~9:[Ʀd^/?Zřz}m U!Ƣ ۟ 7gMرcn:msV?:~uλ][s{7nߺ},__ ̈.~}<ة~O^pӚkuJFO.wo~fݔ3/3;8u]4hּչ㿟-_nUqY#:ҩE^b"<͔[v1!tˡY?Bg<'. *T`gtd m#gWk vJOkUG(|C˛V-mk.W7`޵uڶ_E.w5j)2Ѻ_]1ոqcٲeĮoV5jԫWOZje\`,YD^z%=~Y~}ٷo,ZHtbb׻5jЈ>&J*nΝ;AZBƢߔt:>RmEG~#7o?Jv[We~׾Ͻݾڣa:jNs{Դ%) m}5Ѽf]JqK<|KF'uSPu3 :RoQGzafaVH]wVϼw[#'zǼ{zROJkZ-76@.>OGhuWu52IZ-}ۚ^`Z]}=[Vg$ֺ_9Ijބ7LeYwu:[h1w FV.q|Cmf͚0M4IkFj׮-ƍ> 6˗77?^{9nҤ-z)_GS5 S@@V*INzg$yC;5嚏inҭ~+3RZ>.^W ,n :s%'ߢg.MXf|>JmL^^Oܼk>jƹw9>v:Z9ߢ?2LHчh~W>~ڵ'} Sq]DŌu/xrhRR҉+|~s/NNhjPۨ#ժU8F@+V跽9S͂">S_O+K:joW.5:sO]S>u+|꺼§§nW~[T~uGӢvj~|_륙@ç֢A&}?k,-;)QJa(^i߾}(5  @1Zsdw@@ Pg@@ P72 4:  n 9G@@ !4@p 9" !$@ Π)  ne@!huMA@ @uC/s  @ @C3h   zsD@BHBAS@@7@˜#  B  A^@@ Pg@@ P72 4:  n 9G@@ !4@p 9" !$@ Π)  ne@!huMA@ @uC/s  @ @C3h   zsD@BHBAS@@7@˜#  B  A^@@ Pg@@ P72 4:  nvIrEew[zuINNvli8 @ 0}C@@ erR  @ @Coh  аVN @]h -C@RI! +@ ݾe  @X @ò[9)@@ t7 @KhXv+' 4t! a)@ n@@X%tG(޽{ qn^ܹSʖ-+ ub8X6 yXmr9vTT)Ϋ ')111^jTѾUVXWAOƭܮ]rRTrh;>Z\9@Ұw hB\~Wݭឳׁ.]+"_|q8K! @  @V)#r0p@\\kNU輭&MHFS!8B ::Zj׮-mڴGF]@ZBB`)  @_tCj@@(Xl['on9eG`峄.ˢE\عp_zj/6)bb)rJ[dgH?1cƸN{΁ʲe8 2m4Yf 6Lo~]>:Q8^^cJVo߾2d+DoNxs 'ə _{u7ӧKOؖ#i&̔qƙ_DpB@J0ZRhџ[liZw.]ZvĢoDرL8(հ6m*&MСCrQ{^@_4'WZ%+ѓ%(7C c~cXW%%%vi]Sq<_CEבg:|ݻTPA= (7C NLP ^>|#wtMfϞ-u1SJ %ͱqJ*IJJ{[5kڵkeĈrwȕW^^'){nSNtW_-˗/sZH-.YEzC2k,o\3?}>bԨQҹs;A(Ohȑ mq-7!,"P-[r;};bu^(%^y(y+VO>$O)SzS>$v@"@zgdIn<B@b8v%]%-@@ 0N@(ihIs<@@P8}@@%-@@ @]@P_矇Jshq@@͛W+@ulp@@PgFBN`„ ohך5kdذa_7{l4h\|2`rloYx\{g.:|<ҽ{w馛/4!zH233m4ilذAtĉn 7,/r/֭['SNߚ˗/Yf)))ҦM`*+B2>B_}D @GOҼ8[L#Ǐ7:9}t^.]Z{饗dΝ_m&'OQF< @t!@2eO>K=G޽{S=z 3f\j Ma˲eˤz3xwݱc޽[o.u.#'pveds9o߾Rtis>/ԯ_߄F հZjU{$LbЩS=B[Z8JsRF s]… Mw7nyfYvvyرc'cRȑ#9oڴaÆ2|;v7pnܸQ,Y"UTn M~L ~U #"""ds9IRJk.7 u]C5j$z;cnj0;g&zg^j:Aon Mhh B+wk(o>#7뮓+Wp;v4#x4Gݮ]vfkfF\4i"jՒ_~ٻ /@ t"96.C@БK :*z#:Zj~7՛;#~X@ @CKh  \@@ \ @@ ݿ  rА 4C@BNr]B@@ wrv  @ @CKh  '5} y |駢e)wKA%KHٲeE~f~-j^-[`:mR,SRR$!!!ວN*˗/<:ŋeѢEƮiӦ|r̯-J/#@ d]OI5i;%33S7o^C?z[o\P*䡇^xHuƍ /ɓ'ҥKE6l$%%ZeHG nQ  p7(?g}:tH9mzw{{[l vy<ܷYo=*>|8*>++˴3==]~79v ٳGmۖc_~?ӻ|߾}yfٻwwY~߰az"6gggڵk]Z]Ek^n/ׯڗz|tyn0}aS-Ν;{Kۥu붶v=~X}Yﶾ/:~V=N^{~:}^1sE?z~:\b@A@\]tε>S^=ǺL^X{*O֭=֥zOrگODDXAsWn˺u}C o,yhb  @. 4ѐeÇ,F=rKkТ'::cJukvG6TOR<۷oP .4ءOCoÍ:Q\o6M7z>?s53!A3Aͮo&<`6FL+;fkdԡ!o߾a_yvkswzK&iXXC O<4/22czc> g(+0TM:wlBU̱RMXl `e󃆾C5;@|GC}9sG^2_|Ed5w|DM?S6uh[&|ꫯX=5ĸ={4&o[Cz @Qb?u!7i7nGӢ~2q1K޽ͨ4ڥcǎO>@&h?UT9aIMƍj<:S:Z~}uwz6md—ZM ҍ|h~}Wz5@_|iy1cu. Q,] ;z̧zʣa]j5ϛQ2eʘ}4п浆E)`uevR ::AVZڵkgF5 mTo;jжˬY̾HxhEo%74 4oQ5_d^  uUy+ gTuܹl]F_wһ{sslb .{drkI6lcokNb\3F9>+c,Ȭٹ _P__WXLK׾/_QI­XaP}Qœ̙3lE#]47Y#mb͚53u }أGo?[]ls1)>ܬn_z}A9Z_Vd„ f^΅^}z>h{΁բf`:;]uy޼j~WnB% @k 'fb͝3aԚSg{m۶2w\R Xw32y7M6Z]N(Xu޹긆q20b( QPF$+&%YN)D9L22̪5`aH$C·׽=owZjڿַsWn AP!I;2k'iBD0¦LI${@ZdIea m}{ne ֵ=#}ݺuI8ʕ+%li&Ǐ#/Mu3b>~T(hI;vHCCC>/5!v i%#:]84~ I2s4!\>ҋ]sM0F?Ѳ]g2'DឳoX $s^Lip[@๮uwoT~o&`&`G^ 2='N wׯ_#;LҺ |5a?qG/''a0}@0Kcd.0ҥKc.T0ϔszСNA@jدKlZ_lpf֙gFZ<{4{a_vA(+L9'o޼Y(I{~̑]|۞Sn!!.ů џp7' {yDfgUe>Фǽ00@+rkZ'e߿?kJ#p_tn&`&`&`"@JPM&eА9TTv¬6uH54_hgTAEg4aYÙ;̝{kMk2߷ )o2 _ X[?~Mgu:>Mk\M7[mj{Iߪ0Y']o5j{]mZfj{4_?k c&`&`&00JA3cDcM`l+A7000#ր.w6000+ c%&`&`&`Jŋh4,ei4sʌF\k~@خF+ez-ɝLLL&LErj2~B^ROƦI9'tk쁄˗/'ycU,ɝLLL&IN"\Pa,\R͈T2JHD%msdÇ^e%K{h=i3^?FsRoa幑 M{zԻwJח/_"V~Xw>唍[O>ݚLLL&#K:$M-I)iӦHǐ_V$}_jU$'ѿRSd~ԜW(@eIIOy߫j$fvފ+< nc*sQ3PDgϞzׯDuJ}x&3&I-[[xqиnۃ20*;ڛ={v$gБ#Gb͛7GaekCw3000IG@ƚPi#w֭[!qS@멼iQ!L*a<7nD?*jK@=UT@ g<ҥKEլݻwΜ9UI(͛c/4j[qSh@w:eZQښ iT0S 69*Q Yʗϩt>:J]͉蛕~c&`&`&00GSh_ڹ`{NMt {.'O*ϩVHB];crv߿*^޼yU5Ƽz*ƚҜƵJF5=f/_k׮%iFϋ'OLy-꼟:u*\ ՚@$ w&4|(%hMLL& Ai>{Lw%L,?.\Pe(.AD{W<2^\ ڍ7FYcǎQ|\T´hѢt9}tw^ C?SNyki^ 6"- k%M a4Vnm{Cpw-*ߛ L iL?~(BLY}CsΥÇG N?@ÊwΝ iI}\zuzQi"*9L1ۓ\… Ӛ5kBW\ aS&8" !1ˍࣷo#&֫=%ulْC(0`v>|94eA=&|_[000A%_ROJ&6lH IsIvJ B(lLYIϙK_N3G>ihh(LD#))\x1!TJ 'rhyA5.tPTڹsgh-gΜTM{@sm۶`8k֬SQ!73" A|pߡg!7000o0~i*$b.Mi1jڳgO2eJ[_wf~*Cn?cƌX<m#fu붆&WL=z44?윣ih`1O6-l:"Z[Զf h300Phx`!>u1 >###D~Zn|ӳ}4Kd=L,^~?s4tO֬;2 $bO[ 7000IKT!sg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|U\ 8eXIfMM*i_@IDATx \U}}BBBT@tPpTA xq " 0" lÖ!@ ^S]NStz&us9Y'ʹ$NR8 FD@D@D@D@ PI% :ʀOjhGC= zնv[pavD@D@D@D@ʟ {.2/9mÆ .ZH˘R " " " [4yf馛rX X|]y6o޼Nosl``6u~|H$/@ `ǒ8&/DAʐT"oCY[[I,PW\q}woɎ۴iRzGܹs:v{ᇋ=`o/T~) <0(SI^s+К}N<ĩ` Xޗ&@y~嗍k^tE/Y%0˖">&_''B -" " "PY$@++?.5#́{ᇮ [vRE@D@D@J-G''߀5==={Nt_D@D@D`HNx'p嗻]5pwSr+" " "P4 \sB`==#N": I!" " "0 БؤO|Y@7m4a+0'.gE@D@D@D HVu+" " " "0$@'B& Zٯċ| QD@D@D@hUg/" " " O@t+DjUJL> gE@D@D@D HVu+" " " "0<9lg~&:>4D"1Q"0EJZcdrb`E`j A$IRS>.nׯVoLz{{8(uuu]𝝝iTƑ@cckG477[6";2P(4/G'E@D@D@D@ƛx" " " " % Hģ" " " " M@tʿ1xGӵHD@D@DHW~Ull_|E;+6}J[XhOD@D@D@D`HNd!" " " "YAl! D@D@D@D@&$@V" " " " [Hna=I : [XhOD@D@D@D`HNd!" " " "YAl! D@D@D@D@&$@V" " " " [L}GwK -[|Aۼy3)" " " "P &U>cveYGGLj쮹ꪫ^>V^=;(_Ɋ:-7t566ʕ+;ü^vmv-׾@y+vWH7ߴE9Iz׻]aO}1c2N.c'ӕO7埗LgIjv衇n7.֭zkoo/믿nrJ_lsNvʗߟ/\Ɓq(/ʚ@(*+y4&\X~J|>e2t:mH; ._cTQ;onϲFE~7]E@*͖\SE&|?lVN8E"9^X[[-YfϞ]vr!c|PHakgZ0 ~RԴ"'E/tLa; Gtϩů0b{'|<)B?fͲo(>9(af/Yh {ny(?.@w3ŋ;駟Lz.y2#0]y~[}̎=XK$V[[[8o "0tG`%%0]N1  бP5" " " " c& :ftPD@D@D@D`,$@BM׈B 5]#" " " "0fcF E@D@D@D@B@t,t H.  бP5" " " " c&0^9B$o[|vYg2 H\3ۮꢯycک<ꂯ -~ HV`*I" " "PVX1b43xN+heR!" " eG`֬Yۍs(9(埇J%ٳgۇ?m~gX]]6urhRR"" " eGK/n67 NN8ҡ Н%" " " L}3l6k zaMMMKUBQ~VA^+#FFUB@.S=P!NK(gLN%<aRƙ@cc~=0`]hnnlrk$2MB1CGS^였Ʌ8GJD@D@D@D`$@wH.D@D@D@D@Ƒ@YςGսkoƄS+m^{m&a|;H$L$ Љ;_ǵ&wg̘a/ D֭[gGu{c@9Lb R,YRtT9䋀dl OD@D@D@h%_D@D@D@&dWx" " " "P$@(" " " "04 ~+<m<3lۜӁ# hR$" " eGn0:tڵ5Cۜ9sҾH`N;mI_@o~AJ`{/|Ν;~JomW_}ڷGRE@D@D@D@FE`TcJO< 6md=}Lv5lv-" " " "PFJ P(TLG>;x;?ϜWVLJD&vb1O~2H$gH$b\py[YJ_|E;S^|v9OWkO)ٳ%(MTh=Pi4,J Ч~z!w_+,d2nT49vM.t]w9Ylw{nJr/p~#KZt0vFcIFUT))ᴍlOۈ*b"0AXO{BӉ@IJ/Y&}v{`vo7Md~?#:ʮz7C-^e(ǁrB czH'06)۩xٔ >y.ryMTMXWڋ>RJ P.1> ~$OHя~Dn˖-v?srJ5kkPvmʙ9O틀/t͖N]~[tszr<'E("6s]I'ŋ]ַ5;(s%(g_iZ9'@)^[Pgq~NRj<%ǜqmu:i\~p3ڿ/p9Er@e()@Lnؽs:ƙ\s;?" " " " "Pڝq>{gΜ/Ή@@I hQ4uN.ӟ܂>@t{;h)~mq"}\LT Q P&?͘1̙c֭sC?J1a0UVτ"E@ʖ,6t{=3d7QwH 'WaNxX @D@@IWqr`kD'p8i R'xbټ~Zì|Q6%gm-ro@?hJi|(_oMv^M^D@D`:()@_xv&`ƍM^]4:!" " " "0@I~o?{-? ~@u@9蓟~nv fc MWT=[dvo:{)D[[[OoQZV}9%({?я׿ZWW~nfj|%瞻sʵ@(9t8~O>i>tp-" " " " #ء]t=B}O|ظ@6-/wӎ=X;h;؊@1h쳏-\-.?I%SO=&͝;׮j7ߌt?lDb'sj'PRAْ%Kl͚5vʕ+lnn?j@13guYs&M7d\#N<'7_ZWW7G|6Uhlڮ/<#VmN<TO<aG/-]|=II˖-yه?a[CДPbe@.F qD)5@UVX9C%owqmܸu_җ{ァL&3-HdYe~2HO]ߩc#v5~Ii%ϲ'bi\ nulC>O噮Pz{Ci_FE Jʝ@9eʵAgΜYi8~37|sJ0饗^\aA=s:*" " eD`,mm:::lw3" "PLOOO`byfb~b*c+l. -^iOD@D@D`$]]]v饗tJdžxW#~wI/j=V&ȋ2fc9fBLn3:s‹+9%('-]tk9Н@5+#H5#PH`G )}'[ vJ IN]|[Awwq఺ƞ RD@D@D@@I:/K;sa%$@" " " " #5/b'?iѧzʾٳ??GZD@D@D@D@D`[}o۽P566K$|Ǿn뻎0FQDp8.o'py{駟~F%@)>>`˭9ۍ ,X0:*" " " "  ?N8>h㤣wV[[k wV?E@D@D@D@D`d|ի-L: /؃>hGl#" " " " "0(?OK/YKKzÀ@i|/'h+W4NBڸquttةj7tB!&!>9;ꨣ쭷޲W_}6md<[{aR>bŊn-[v%m" " " " G`To?z9s8 ^8.+_{ƅ)^/RFt~5׸08vcNGt" " " " eK`T]555`=wq[%_3gnul\.,7l=p9]wuvuq;n[nžmN?D@D@D\ +k)$t) }e\rs9O}ʉPZE?OSGyŎ}٧S^\7 S|M[h b~?ЀKYyY*`ZʉΉz!'@i(UWongu1:(%vod=YtGjqK Gdwڵkݍ1۸p='0qg_Ʊ \Gْ%K ?Og.֎;.D`g XITrY/oA|_#<֯_?|~#dr' oO⺢xͨm͚5n=c~'" " " "PF-@,{^=¹g?sn  .pj8#Onw_x~߮:!" " " "PFWpro( _җd? /,CqVо>Ϗ}cvgNkGD@D@D@DrJrbyrr:hD%&" " " "PF cqVg}֑UW[mJ2 vxnbu~tk6˿qim" " " " "0=SekF(vMvUot@eZh>>e6Ep5NdT6庝_~[t(8k0 }犿#" " " " 7o6~/l?655p8\(E=sq`G젃*Ή@@1/?ߒɤ>7nʞ~i+jGD@D@D@D@J()@nK"<6l`+V0}䋁7rm%-ۻ8RuND@D@D`@}}}^1_~qQ̙݇&MNYsX jD`g +v뭷eƽ7m͸Υ^}G:S1$@+&+j?Cl:;Ɗt"CN,J.4"8TҢD*+G45z*%[FK-szl{1XղLfn/8RY~dsb2iOMXdZohV8VPgR I H91oSh;wP'}~껌 zPƩPK8CKs?{.wqUBQ=PAY?\ Oڄ PXl֮ZuH$gH$K`lXu ?U=PIWjP\~ߴ\.g\r6q;,vvM7m%@w_p1'4K@ٵ坍.G=v.-kFѢ{P(TigRa.2o}[ KWWT8q#]po 0)/7Z/կDŽV\iJk^hXY^;ꨣ9~{틀7 Wr7EZe;<+N:MV__ﬥ #" " " "P&\rl'gwno4駟fSj<38Zsgɭi'@ b+" " " "$@w܋ ]§E@D@D@D@v{]" KtYbr/" " " "K$@w .Y;KLE@D@D@D@v." " " " ;K@tgɽ.%|x<v1ءj\pe2V~LS4c%Z<]}nX̖.]j]tQ$_$ Z>}}RT1B_|Ń(ϷM=%m@e|,Tyn] {{{m}-4)" " "  l]v"08޳nnn_WF=,y(" " "0=G4j%@ywڊ+,٬Y$>0(" " UC_IV*rB!(LD VYnsH*R[Y7H$R*}:W&aaU~I)N=0haT( A4lIe-@ PWWZM+^n1f,*@D@D@D`W|ߴ?OE/nFfOcک<V^*E" " "PⓑN$v-X</4(c# :6nJD@D@D` b1ƗL&ƃnsB*hd"" " Ek?liIyz!VX*he$" " AK]}.\ ̙csOy$@3MB3:](" " "Z[[+W,Xwj\/Z(@%vGq]]]TmUD@D@D@D@&V`" " " " *" " " " J@tRq+0 PI% :ʀT LD@D@D@D@Te@D@D@D@D`R HN*n&" " " " 2 " " " "0&MvvvG[n].[|AۼysIw:)" " " "P&Eu]/~VXa7{ވꪫ^>V^=;(_z&_NX.XN;4;3ΰb+Wzvm-b_׊n#" " " "P&\|>曭ъgC7|-Z']o-ﰽګ[;K F\vqW P/{qԑpʘg6k֎;8kmm*P+" " " "0mHNx^GT+WWES4zZ)iA@&i Ti.AOi&xeYx<{ >\#ﲗ4.wZ~yA vwÉ۲ '[qN'V,F\q9G C2"K^Ȱ3,ϹyyԥfRet}>>H?}u~O8 #?җ\o(tc]8E\G* 8ia蟋#|? P>tڒ4q 2 U3)'E%Y0?/s8O<]K)غ\)WB Η !52‡=lr08YH$r=gٌM-ou-NP({ )ήkOuVW}c7ՕAFANk m~ zںq[7X3Vp]7YoGuY*ڰ5A(f,'NQ Xij,9gHq`[xֿ7X8볶Ȟֽa56f#ݛUoҷ[1d1[ۜzoB:V[}}2%W9 ~csiZp†xmpmmI@ zm@ -7?V /aJ¸yV~lZmk[m6h1::VܺWd M{ߒD cɬz[P GZ;_y kF$6П>4RC \㳞d9ki ߎA//PvUcɄ})v).eOٯy0y:r[ Xcߢ5L|IE x-Gm | ܡM\,P~ TւミA.T28F  (wA4.o~2sœ3IX(/)8I3`^f-FFe D&Ϟ\\Η /m* sN U#3/>q JNӆpT w ,돥,.XM8jaqRxW2heRI#Bt7hL1|x_ww?t˟GXyCO ql߇4 Ɖ1(AgG^g&/^8̻)ιrw`~U )* @}VSmB@ oڃsknA< fέI[ۼZkj b7/D]CSbqCK!KAc@x,Q&B(%hb ̫tYYA>NTcq 6Z뜙VRgKް^FT}qxRN @h1X2ח5/[<59TlklU|iZ۰j%eiBhB‹c1ԗTV88D$c֗d4m`lC7 Ƶ!kE,ZWg|q?,Lut9{BķCz- !E><@S"Zv">Z-Zwőޖ<ꐀ*B`D9!PCl<'7o@Iy-9QL,%_Xb&d>Я G 7/*V(W) HBteP٥(XdQQ Q(-O[" \*%bB d(>ӆ |x គFʲD;N!μWQiቝ@~eӈgD!ʱ|)tLf76q/o|F"Nؠ#="ǟhM/{7e"FɞP8gP&Q@Aq_%*m,` P><(4xW(4Q639zP4!,M =+qb;w12-Ho~Fw܁|D>OxW,#Fdt?VHp?/ܷȊ rM#_= / =={-EO\~KNqƦbYk_=Zww n{4ي<3bqNB,F>/B. xuzAQ:khf.h56@XOٰb6A6kчUXz!b98P _u*ll1۱ӂm}B6|oXo6mVkj!Bs$^4J&4*ÐjrA'  X֦Ytœ; f kh4DL?D"N$'RKvnq,aՁREϸ(fZc:7 -2ָ,;~m>Z2Xp9w=\t> wD[p7-A;gq=l(懅1} ZDcĆ)=v ɑAp;rݸ_t?x閳W]w4̿DQnVܼ f΂inXѝHY>s @oE$ZA,4xּ[~Q۸q6&Vn ^t֌z:!RU kG\k}Vߒ&^6T# -7^K,$y˞xvkی 4~RR Aːݦ톞PIVKt>Llʜ@ >\ I^)`]XnqT5 M!Wwo귾nTȰHsiݽaݸ1.|X [sX9Eny`D2o[oV}ֳRGC<9ӰNT(r]1XеΊBG%z,O7 {6o9ã0e+NV)NF *!mG+>\2HkjhD0~d f񽴔"K0JA6帏كMM*C9(lhxE`dU0PiC"άσj62X U$*2uΆ!mJևɸ݉ȡ@P- g7_:d z)vx0S,"!a$,gYXA9nr.%1œ7 EJgz@g:)ҌSp]B`lbjJypp“ңm6{Rl1kQ"cCsA̾|:k/w, \85e ௱p$ [^ ^[1YywtF?>?NKbFU|zx\.Ls꬘{:??9(!(]?Ưn>8`Ğ~Vw,WQ]؀1~מ]i:ճM8CW=xشSQLv "yzaӛUt<3KJ0g`!,t${5TVHU5vb<%jXuwlÛ=.APYFQu &Tdaԍ`#=s5mַ CWS+f"c0.UҝVXP1PaQXop&/X"׿/ RZCHw=,S}!n`D\',g ,68a }޲gv]kBB\4[khSz:6lA׿ggX 7XO 6@ ⭉`Kpgo}׺@E= E UU&84+ 87/&tbϐ\V[S]ypo* ,GìX"Afw9T=jq6f;-b9Vt$8R4u~wV_`fW<'q=Y_W'.,xa;ZJD1[>Z86Jh5DBvbeޏoU4Хނ0¡%5Gϋ]7zZ=CYq@WXQ0xae^.D̐^#gaA=`0/-? z !>ĄZ8c!@h؍׃iyG1AF&nrϱxQ+Qp1e6?e>ky(8g(Ba͋O;.K/Sx_ Pww @A>2y dYhla߇7.J.fltw-?rk8TR,cpz.ͰA C(bNɖDywMODžnuLf؅?#7X[+K#W_*^LN`c,5ǣm+`]h ];z7jBtŭfFfblccd76ZFLbaMMYzх2NT¨=fa2Lu0 ͝GAd" !T7 c=6k/׎ 0αuZX`喖Zniv݋9]P!UkFڽ芧(кvA 0S6ǬV&(mX *xW , ll=3g0Ѫ|{ٱ1?ƴ]oBC$gmU8kVgvӲ4{]ځ.8u=&he"#iKX/ܳ0C}x?)6>n݈X,Mvs%ۅdف~W x2M郹E5(hr)Z%BO扲Y^ρըЧ(Yh\}Cj0#DqG|9&]ʹ)(A s,RAUN2 8bN_?2(I~z.tgАCEDՓ/y(H(.} &*xi VPiF@VmC^0f)|D"D JQQ 7KS o@|!@1FG?MK=WHBO?$4qWC^$-? 9Uu9:!J86TP,*b=M9S[_@n_8(v%}dv孡ŋT,m]ՎGܢ8+Bc=hIB7ۃ鴪v>g*˥x؀1i47? ǜ&k IZ7`QCv{lfcZFLkiiuy{E.ec(D'p&D%.nJ%zMk)^qfY PObAPNStDEyZ нͮ?vaam U@Q(uYOkL nC4{Bh!|lP#gQRfFأ%~RpE r)b5K1*VJLD8ȏ0\aaӪˢ'U BѳQS[ =x2)FJ 4dž7!xܤ6V'ݞPHYH=5p=gS'p/!+C"LD5" H7Fe"Z΂AV0 ╕&MA>4`0ƛ͖;7n$DAB98i|PbOG¿Lo"1>-/(ݙ{ }ȇ/ 9vA]" Cwg\W7/x!nIs^ 7{h`[4}/?q-) ˼d|K~xf0N8:!>ܸ%x<Fu{5<#S2P2Igf:KؠPG&)l៼Gϸ62v{ *[t3%ϭ@E g4I.F,Çs˞MXV !`"¼Ĥ(' $kmX> (fn',xCa'0IR߀qoj"4Z/D*^貮MONT _Xכ9d^{oOX\ Qa"|b5 !+cN د~tq{qވ?EjFPsr< B[Mgg0Ý[>&g{> ,<$@&>8 a8G:-j\܏%Е10pJ ba C[RBPtG1kg%Dhy p/*#` VXz8͉@Ԣ0Td̫oThsaB'8>LJ z16ԟRF`x!ZðJ&t.8\uM`U Csae_g}1ĠBU` $ i"BIŤC8<+Nd1Ɯv8b7nwT+-Fp.sZ0iČ?'_c]hr"qf@ 0< rxN$!B"ŭsnA-+NѸ!~!?`l:ooD(,~AJp濹IABYcy߼VB^VoZeTA&{'xgJ7.f5(s(cp7rixnr" p"5;yL={ ܸG7Ϲ _n(.]Xtw~.Rp6|IalGyy^߃qM!s1w )`y=~`_zZgp熘=zs3B ^lsmͮBxlYTCG5:Ӂ?ݰ%YۈO;B'5BcA@MaI$*Z3u1B'a=w\YbvƬ:Zufr[׹!#ƒ6wVnX!㽰VF+ 9ƦVY?,0@B ղ  c P6h-\1q[KpwL/YYTl~rw2^taCžo^ ٬LP@@!B?k/D ]݈7Vb|[~ 0 QJ#Xl&p7ݣ!_êZAO>޳;m/2ѣ COq&Aı. 688~,BXDm $&Ċ)RiLqI Xkfˉ4X8s6]Nd:əPho4>RNlX[qO"_3@l8bergIR!.9T"xoE<~ZzhJ>gWq=g!N98a'\`,w36gɳ7u",A4or0j3!1db5jC\] qF  +k?9,Xp]Ň/a=c% +xX)4MBE> W΢>2845s)'F1ykRնQ84PvA V9epo.e孌gQFݘ |9?yk!ιn_cP( =#\݄d&ZsF-;`cˏ^6c\^mk׽W@XLSaCX2Pl2\H;lqV܃C|As"'@y- ٨n]7w z~ Ytۇ}"M.Γ @8: h]b"͒'W )\}=̰[+Z[kWa뼘EYQnϘ`mq]ݼqlƘb'XT0uvKX[]D3f:òP'{pE7g  ϰTQc@7sb0Ox?X t{Z1'ܒVrFu Ӈ1i1ڌF|3>[^%13ZZNtbE V\% `?&)uXgWp}Jw׫<ƚ16%AK[LCXMn7aܐE2'̰+ϏbQBGPPB԰R ?=OU 2rUp^ȀC]1nH'ښe VI sB5z$a`QxĸӜEhy`(Y%4뷫1e9J⎳=)X"c{ba t‚qSc/n@x~J 2Uv&:#9!nSX^@@ۍlJ@|oOىF&Sk'1/.&@<Ae Fk+io60N Ӳ|i R۰A ;aERe[yѲU)K'qwZYs5Cga^-78N8j'>!id8ʋÅE  3ClkCR0sbs9" `4w,a(q#>uAm0H |q$ ã_w3&b:M!t䭕gR?W2--_ܜP%kȐq[~]tQ )Z<6l[lfc ަSEa/D e>nkrI1fe?2,z{~#>?]x{6DsX]M+)vت7WcrQ7*WLh$:,Tc ތiߺ7xk 1T.XT VSosf4L{ :u B(n@]Y4vw,,F?Hᛁ{P⨰wYPb4уm VtuT1E`l "3x86onqDXoؿtSKxKԬ#`IE}Xc;=Ѐ`aC9 |`vc B0XO3[QYXIЏYiXPc0DhF=OV74^B(G5mZP6Ҙ1>uP(w(1&a,#׾b[K81#&rYF` e02,zA76o\ibo0nz Tp f0V@-[+8 bՏq "Bz` T&+Ŋ44އ5\S?mzpGKx.:&$}}a3sL&FwϡEU5X Ƌ04AV`ٻ N{ٝE| a@pm"g+t0^xpW֘5xJüUڭV 'iW^v5gYH<jntEb-Y\tǝ\0E^4(D$t3g_Nm>gyD} 3we>|wD9Z\F:ɋ./#YXb7;|RunHS۶>0q`s+VK&#H)_~RRg!)%yy[>)qiqvBN7v(9l / Tpg#8&1 R7 )YZ)jNdOπj0+ oۖ_fނ!|htۊPpm#, 3Bts# wRXqa)`֍Zjrcm@[cPRmXua J"k^te9twZ_}VuiMnV!Q1Rʝx+&;]9X`%Q:#Jn/Hc axT>,Jœè4`C@Fm:tpiw zOEx~bD;yW}ER)@T |m2_–jZrQ>>hCΧ:0uWP K׃ݬݸ Bl֙ӅjvΣZ$l@@* ez}kjA%㳫yfN{h]237YdbSu3vNz* $(']8];۴θJ#ƛ1 '9M:$+@1jÌ Νu-Yq>qHu ᫂AxX&yN=@:DñeL$N}=81 ]=|ñl'Wy3{zB=rk27z^p28l<<^tøzy=gqf›&ޱmtliE "`&CNP{2+–f@'N_e ETZ_pbPkI,4R>iT0c/z9.Fc>*mob3#oBp+yPJ5h%Zh y TNS% 5OBm&; " ӑ((tSP((#otT2YyR(ݘN6.@'O()X*a`0>у+ I `UdobkjcUR+QV>eq9! Pd7KwD6m.utvr@9 _S{bmHkӬ"2{E8lsc1o@)>@ O0 W `KjJ(@94Zu/]GkƦܴb!HWƾA//`oQrirsyJp-]gFgqf %bDY-lғΫ z: ur4m~?f|u ʝ.~yMQL6~<~;ɽյ8zqXOw466qӷqy _h`v%1q#K1Z5X*0,G`=ARc| Ƅ0#цTZ6%rf3#;~ȉݫB}~af\ N GH IX$Rи*f=" e=*ٹ$Tm.Rdy OFH I,}w_t+Ye6#(uŒ$XKg[j?`xa(RS{>g!C!֦r#r)c1܇$u , Ύt*NEyf=*)@kЪ͎ڎCstXv^)A j20 5s\S. )q!#QI2TݱOQa%s"%&$14Op(xT"cQ O+ !)FbRUMDk|ڼ4i:FƉ42CCeϱרǼl69Gus $х$\, **p|aŰt^G8Zți`gEN 9ßbq.4>BOźD@%B F.`SUYΒ} ]{\M|:0]Zi


ƀ[i>yޗDuE.wbЊNzB ХLʇͩ]"[ AT']2+zhIp|0p$!,;c&+Ȅ&2bKt༽\s^3M0 ʄdLjJ!B O&O ̳Cb<$c(jrU)(sKIOzt[L`f|X< ЙK80r]M@X*J6ځE\QXqk!1zq|x(r@msi8v2H$:+v;$8ym"S誏hTޣ}⳺p>U\ǖjwatӇ;Ӷ@uG x{`q!o 3J".&7,Ѩe萊TO՗ ۗM!{s''rR)\.9'M^S12`5POAkOمo۵G7~/7ѝO,#{FCsCO*= LT"SgkاpA (N;!Ac〶(AT;GȽɨAaLTFćQ})0.d"c&ʁc暊i4ŞG(Q|8  C3 P1B~G0x@KQ/ɘfB卺v|"(H/s58e>>g`2J^ vTKȧq3n`dC Ӏ0fg׫oK]oIHA‚]'Ct&k\@g)8 riA%4$:cQᗜauEhCsn\[mq %/QZpm}DL=<3;k# ĸ z3OO<%we=q)FZ9rn2E-jŏIb}#Ʒ~:/^yr^cw@Uasb k!ʥnl R ȋg'=X {9d0.ta9TbC9;9Sݚl'U~)^&^ӷ5/}d(Sl"/!AtJ5Ү¯O 1ah Gue;4uϾ m a>ȁ+l4[~ceo4L?,Q0B:5›':󌩚'q ە 6=yn`fhI4E*r7C L/P ÏaBT7ȷX2Tgy_|ަ܃8e5hmcXF-@:7?C% zU2$P(UYT0OX?‚$g^"?JU V0Cq*W^YxVS]J}ڛ;yа7ή!cUk˶<&ׂ)wIUq@4?Uo{!;>j"Ou=Y~i `a;((`Iɧ`S#7 )c=WӀ 8@28]1,%#0p }:4P}ȈE%ԯP~x;:ZQGGItѩ9W fau.#@@X}(7>z AO(49'+5 )W塢?| t@/դp~R@xP]Fo#C8uhz(p*[+\*kM#Fe}-zC(p|@)A(X%hm{k):^9T"y~]hUVјB`SzM1e.΀ 6YŐghuq?|*r4&~FB殓%a]k9i %qHs98',Xqg ] )&{;r#8S`*>f̢M լ/[.9X'-sqJ TBԹ&"0?˓ozB/'&/6ՃY'(+-1񩖺J?wO&Zs,Wmw BsՏӧ&^So yMB[j885Ж.'L'JC@nM@1n&mb'awڢB9|PsF=lH Q솖9U ``*$ש6ViB#hgƚAxvTw-1GP̅˖Be۟v͗h3C= .<g52oDXsԅ?LK[GG?$3*؟팋'{FvpB=ȶ}iJf5DjOL})LUNdž4-pN d2P┙Œ/.b}Jk=a\A֫A a>DiaƧjes#A1D2Dq$41HΥcnyK|au;铫͚J(BW6B>IH#aK6e\sWA &D *oǨ}Pc+TK @:"T/!&-X}Xg8T\E^_GF3pJ Z!SHNOy9T)Z{9 ΝT 娲ukX jJA`R ΒzC8}8o3ȡNY =9A_ԤqI&G*/H8g%$5!oy G|\8g _Y05@EAAr/*Af1c&x%]+Y }P*#ۺ9w(QmqrTC1D#8}i>(or/ivzăZheNe]QEyyT:DIDVm><F\maX".!x`(#. ` Xu|{l &A@ʔ*t;ڻ%\3L܅eO2M0Gy fOB+c^/$0YW݂Gqi3XM11!B:E=iQDΐHBkVY6v| y{?% V+7N[R䶭WLg]`oi2Fƴ_GZ&uYz 0m)K(2Շ%`RQ.cVz؞I#^ .́!9c\gրd_ĭ)4t1-T#Fq/%$FNB'h, }Qm0 JsX*.{c ZjDE5>dslY}" }Fc/`oj#yQ_@^!~o'&L@(ȥX; 84Ml6O8ؒCl}~_{[L`/^׌2fU0I*Ev6Z\rP-*{ACOQi>1$=qqY@RhQ]6?[ɽaR9e3U"SӚ<8XUA@a#Iq~Yc)2Jt;teHYg&X^("3 dx`cuakGVd~> 1GY,e|FoNjB,^{'1(m-0TB DM K'*hϑ*j= Ä1  ,NyGՁߤd,Ud0qxBggVObmbvu%Ol6sޱTD1<`*00C7ZzT2nQua ;]Ļ ܌#BO,!1qтvamշ;"5eE띝#K)SC|a.,=d7>a.!$*'PXXx<4y0 BQ fsqt z]a^9.AyUwq:4yJ1b&4!Sdby¢R\$5h }[r;Sd֐9 >6SyD1Ot5 p(=(u:_CU&;i(y>]F%09SU:Ɲ*Q-rrQmL"aeۇa+ FxH vJDA10/f>qR`n q[\C b Fׅ]$qqhTdLl!믊;]_t) "+CaFE)Vƴ utzHK8NJ0 U.&;P'28ZȘ "daz[hӻ E:3rp<\ ;vx8GDwY@r2QC"QQgn9@Ⱦh :9!8%/86Zx>ٴ>;qa*Ä"9sI~*/>;mkȩ{D?$DN^W"իG PX'm5 ZTI肤E@a~L( NO#E5L6iO1?E䈍B%7(9; Q5 MCa푋JuN [o/sKiؕlW>ZD)d6b|9{yx5{}#m@=wR K|y"gQ铃ۧ  ɋ(/O^X)b @ ;(J"UؽLz:>k6m Q&O**{%w;ާ!eN 7k&6`L€߹g`1 3]vkz+.O(KHI{مQ%mOkc|\k|F+X=T2Ig5!؁mtM] ɟ@!| bqqurrA l^ 8 ƌZ Ī3Uy%Z kviݯRi\s+ˬ8HI}ǬcEz˃4F'4?).%416C/pt!XVh4t}&/xM#?Q\zʮ^x._y<ض t,j l`"bKI0iRZNߵs'+0n\&ဧN}Ϫ .?E9?{>?'|O%%P!6H( j&d8JSVa&RRK>@`իcP ^#0f9ؐ,%vl)r}m U 3XvT֔.KqbZOWaI?9Q=@[ 7 X}T%4 Z}`z/.ԈO:-gȪ.'ɿ! KJT0 =xÀJDEjKۓdGmudYD SU;i;{(aԐkta 2쯽'q鄲*0d"l]d\&BZ禳u>nbQz.EcA=aa3 sۺ+B\E{ /} &JRrI!?$(=$U&=ūyk6`q-%8PRls*0:7bYE 8< MʋA>WyK#dab0&1`)Aɛ>a!4H!O((eJ˭ .=hPUːbTpޑx8vZ6l{Co :|;]|ٞϬ8p٧/GOs߇fPy߼e"5Ȁ]8sWu.; PXv4qm@-yUvbՖZcwog倊g|'ATT4=oϻ[W޴ܜ\ mgw}+'u;Sg/B]1J\s'wrR,:':'7{8N}ӧon4n7yE[Z?Ҥ ˶yw;s)}·u$EclB>T-s6T 0$M۸ bPJZ\ ֩bCV%?KLfJCaCG#c/}*ITe汩9t@a2F8GػLwoK_x5KT&\-辝؀P³,5͟7h-3ko__g-8܏GH|=%{m}[%_0}L!my([륵~w0t^yg?>G=HX'E !FTp4_ iɍX>+<&ܜIkᑣICybS#P=-$1'7oEK4{eKѳ,=' 7Z~Ő(.e>>TʐxHDS_f.v1X=BbJi#1?ym]@ ~t&1<)cHPᑡgn 8.QKRCis8m*`m!5 Q?:N<5?8Rn(r!tGbqZ] 2Tbxa̋- K1 "4{>.[9{T;@@{(ҹ(FVR(s 9`4B=OpbUv@c /8hwZ0oC( )m.0 /{0p*3.9Ӏq^(]\G`+/L}+ЪՎپ|5U~z젰Gkڮ?ĺ\=k:U\6qH^g.=Gx|{~q=rΝ[d] R.%e?.*Xp[ {%yY'QxL~(ML_В_ad&/+y3m~`Q)5G*:)T&R6Kr׫JUlM7{$To՟:-=NP&n;ln?]3x @T.NOcUk@݊B,C.lKn1 t&RGUQ' }佄z#L` ,:#e !\4 nmK7:IZ|ϑw9FX0!T`$/"nkEn !m3>&GpO9`Ƚ4f G7v\s,jLY _< ;6=U]=gUuk_BO.<1k« ͤrH ZvC8[{nbYr;8A?5 q-tHJ1Q߽:t ViQL+AE\ l0 pZUvq"Ip &_`v*cCǵToעzÌE:gEV̵ie|Ke!ҽU (ɹ"Cy2X0Cؿ6'| T9 f#D\mDh)6, 6D mZ_gE!a]숊pJB} k 1P2>d{Y 졔/ (˹\kPU})T @`j&ՁF,P,I"$|t5q]bkד ` ~oH] ?]x!N1B-EtڤXPٔĒymn#" uu sH87Qu}0t;0u[\b,2MLi=[k $sù\@ળs[NZ:"ǨrLֲARb%(ңXB~?x9%3,kcW0='ǦЄ|ow{/܌-RKՀg5͝Gף<3|ׁP:_1r|1jIo.Wi'-E)wc\{m 5]r8Rws^Z{5:H'I[]bLmq}Lwo9Jaⅺs;L%HJ8d$r y!r'^S Ooʽ-{1dx @^[ t"PC1ƺNFL[˳0 'q; y*$ WGH:Khz9b/a]"CMP2]r")*/!,-'$HL nT ؊'ѴLo[M{xhC.vm 6$ءvg`1=L?EE\& ignqUC[N(CТ=tTyRF,#{{l=suC{6Oeފ&-G _ _ HQWJ [ŵ'DtƑP(R ڄQ&%_<2|i"fAer۶=i<:7nZ$dsvF NP#KU#6@n:D$\ )Ilf/M!l/ Wm'ԟ] 'z^c3$x|. @Cjg@ЇWn O:C6 .Nf s䫿|fsKkh."^!w1g:̼sXDUG;DZR4ԠAc9EWC>RntL8cُd/ ǂVO_{oEif-s]ُNG=8ڵDoN؞w-<'oP'@SfL@/']M^5ǽT9y'}n,OO t\]/#DgI"Iq !4F{#B.}0KD TDd|/ ?әqy{p yܙ%Z=.Ѣe/kSvG(2شKW;>$1J:@ y]1˄7L\17d}F’% F" SC=ƛ0/EZAEotuCrRybi Tm:}bUQ<G5() U7gsypd<>G8GM1*I AV*X %h\T 4 b }[ $81l~ψ4ԛε<%MQ5@eãng! CƑs5EwNe,1LӯaؼJP#EH>T~D0(ZB~T~hur{-nhӠB*c T g.&T'Of.n׮ܰg el"gBk6Xjf?NeEKy=5N;^L+<NyV ]EK%?s}tҲl>bejx٧N 4ROzJQԀF*mYxNp :908mȱ3b}eℹ%1< Tk;Q}wxS{{>Ǐ \6vٷ2."cd"Ճq~TF)ڡs9,2׷ ߰ QzWѧ ^R\JK'Mn_Cc` ڡy^r# 9WZ[{ub!-mS0 ZR=)vCRv.e߱֜}+[__Te߾kFv]׮otݶgV.P%%3Uڱ>v9_ Iv[gAeIHyq2iw޷# z҂A)Ykـ=g<"$bC $S%Q@6齏b QͶ+줺Ac6mӅDaٸcfiM-  mS8K>LIhd.x*5 lT,Le.xf{Lc k0~ݥZe*L/D^ R5ʏRP`l [H?te V ]PXhY~h=DMFU+(U/׽*Iu N`t*.|p?*{%aI*e;ǡN_d4Oqt( xPX!OO*,j4/`ҼܶhMk:9z5F !I:kH\MC@9 X]x 찜ٰ0VV,Cr0{}w 7 ۦpsli:WZ r#_0hJ)'30N\{Ph|Aӄ"Ru[iEbMl)r_pC_DH=ybuXAAe>N䑡0`[)ޠpml3Fp IZƿI{`r4q8U:1LHk0RppfDI0 `mm6:mn)nN"#Uɇש4EJ8]Ʊ2h8CR4rc<3O,B.g_Z+=\t@"P :%jSK_{?>ݽ>[1*A6a 1hh NCQ]3Bs-H!1ybRy/&EF-,: 4YaA5x]fbwcǰ>U#˜KlΞUyo QUuŒF`dq4 "|&%߰;:l;o zZ%{[+yEYk^͞~6BpBPk"}/?zbh˫,4Y'7 LŒhʝm~wߵ;ORB|Anjn1d{UPC0i{2gTALb<E}Kc/c$ּ~>ܷ2o|W7 Ut!p}DR XW1|N9לU(8os/}D2.&Oy#)` 0t5LQmKZߪ[T1GO;[{vHQ]OQhd;IC t] @ح.1NI`|,.ɒ@ :M@Eh3 K"j3[)(feN%E[_)p=~$2O`o,(a| /K9@%xǦ9><"my[E/O++)38A<$Ubsod݄g2v<#!eO/9Ɂ4pjp\/#B \CT4 '(mڦbHhDA!R,h9& aSHE@T?;Ҭ\R'%2j!7b@Y)7|Q@J|: c*~O^: ߟ'|^,S@D(KlB xmM/$uHbĖ/׃qdMy1XU  {Yj 6}*XmSdag6CX3M,h"J9*k0pa߳l}v>^'qesz/ gl2/޲FK!R6v"(dW_Seӿɣܷ<ᣫaqݺ,lob[5ؗUB} 6F'\׋ؤN(~R%2C)( s/<z[`߰;o w;^c:x D*TO$y"XbU\GH( cćsॖcYF ſ8P!`Zl^,sc>(Ή3>:y=;&j}:# g]MNc>i |jǾCZ~h2o@*ː*s8ག%y$E6㙤g9䕖!b1^9wfH)K/OWcZ%o''ļaiήMv1/EE{jxb\s9b,vn24ו.WpNpÑ&Guy!Rˏ_? !B5:*8&{ 0I9U E Ӱ<4"g0~T]34Q͈EPy0WVvkr@ͭ㡝[h;ڦEB1[X6~FE`WWl? x|T;woU;G(OCbzҴw._]doYLXȐ:Ϋ  q@{v+cW__-IΝG~gX% VjВP{:M2^%a  `+Y 8e>u+ԡR8eJ;1 ,l+[gY҂qB0%X z>^8ey %+XP $ZBk `OIk'w ˩B1\^@IrMdʤ99$h `Z0dF޲kr`C1w^ߐ+吷0 NY:hcY1=J;ffC`>u_\&ܱ:n)uDAN}yk}xj툵jgH\#rx!TSo Rƨ`4dC! \Px퓫I_b 欃R㩖fۄ%Ƅ'UxѠQԦD cgc%:RC8fp af%^ce`avهlҴ"Y|"BC/qFzBBU9XaaK` bŘنFn{Y N@ 7VrR"*qGb ald7Pe Sl. }gT 6R쐐aVWCMi{va=5NPGn^$:ryR:yDw I 2@S-HH%FH3դhҀT Eqx1 rKg-P{R 7hXm=CMz >M@ wÁ 03iMRbu{0g cHxd\hR@D87+/}= *N8E!00Ey~7`c:ܱ]8sBp60y=m=*ؕ+/|LrB'>,;J->_y+v g/bűOr4:|4mm^lh6ĴKVffnbs4zl{\{5ˢ|T( >!9jǫJxaK5Z{,}]O/0]&93,?_W}~}Y@IDATL )5| `K]5a f:Q2@!Sf^pd=x 57x}`T0,`URLv{4FLm#<|D:ZA搳#$u}߇M$pjIǀ0ϷN3߱V|@kC[5*#]+/]GEqUzɄv)hڣ LNc. E{Z؛ϯ6Җ>Khgt~PȢGha$1`ǰg% Ye>\bA!dD)Pr=ypݤsؠզf+o@G.Di{ǖUV4dk(z`מ#gt(rd (Ury׍_FC)nJb7R Fe@r_.CÐL!+У?1ρt%Ut`/Bt{jaXxVG$=4}#D*ȥ) <\ @H @HF |Hr.1RapyGWe]w]v^&8aڻ1*`*B]-ƝI HUd3(Pr.;T;JҜu}z?a8 D.KUn*bd ȗh> ) ہU`SNz @۠E*PXRM3bxjp]=BjX '8 { .$p0"ɱ{x`C9n YI\+-F)h"Ѿo yV ?I:̘'C^#J2 yO]p˗wɝn2(ZIyӴ}፯3Wހ\ф;2ل)jAj41ho0&ڑ #{[~/RtQ[-ۇIл\!zH&a2)]b2 ZAdr<yt(Oxr{--lUB$bw ډ0cݦs};cF.2:nyc*eRrPj_I2Q^oUf-;:',] ' ߑ{DQE[=Hy}VM?L ڈrB1~|Y]0iJ-P&*Tamvg$1&~؟<~z>-sV~۝A1]ްxVy}YTD}rd.ac_p+j(КQ\# 0N H!˓C%D;$:KKF1SNZɣ\,q2<KZ0 a K&s˲"158ni=Ue Ä44ebI`7P.?%d bu<c%r걏sc3b dUzB@'3H2D[a2QLwKgD} fMM|`"5ю5xi/;c> )2lY16k5 k.Fv ײ?:MEDjT&/__>E',]f{h^]/;FMĊU:3Uڟ.& ֊—J PE]o7A`]tBגO M7;o-}wwD5{h&2(6Jbf-LXдǟb@7'g*a4v?nzYݐt?UQ42X$ "mN}_?( ؙj1;öͱ~1!2cB?tfKV8ů/8.w6PvJt~{O[c`ms{qk[܃VHl&nWV>XG:x PXs`!˥]6Ngx{B&K{RA)XL6ME6`7Eٴ~d<޵}Ŕl%򈤚<\R XZ:jƆ$4.)W" 8:QTKI/[=@EHp ai%oMTGZVa}_Ռnº lwg 2~=6THlD*)JUʔuH,ha2iCAJg^_:؁v*OkɃ)0Dv^bYa|sX<+a&8"OiX&~j K sܢG?JKZ $%&h-e+=J`Ue1_,<$?M|I&za i&OLj{M;ۿ{~Iv{|xT斗i#)wHJFs?qҀ={bgOa[˕ 8&P(vIH%BqQ۶s3P^"m/ʟW敘ċ;[g,)jԅۿ[ o.<2Bk7曫2diPgmc0o؎1OZ zfAP3U+ 1Nf2#zF\b osJۧZs0=B*,a>yƒ49%tb%%L]-p0 Gm5H:nV2iVrqĀeKad<7,0##H c5SP>=K &7O>N#bIUBQz(@[1>?d\eAЙjIhp={ l_%uj'_~i>#~3ms: e]v C_/0`4rH.q5 rGUb, ]<9 }^LV0'i*Ԑ`$7VK2c20$mq\IY5`^j$0BGY4fA(ŤA5&*qJZvV,+Y;X(X8D84R0"(oJKbAZ(Pll]xQÀ0~Ph6>)R:c'ɇ$: J3|PqGدnŚr dC Abf=D 3R:A[$Cx@xY/DtB̚܀@@:7tAX1#|k!:>aH SQz l􀄧Hm6 @axv;va;<{<91}zmBE{r ?d0uK-,|hEgl26Y/P; ~֣b9 QMXu }n~VKk#&~HYa=_`_@E͕\,d 5&Ak/Oc"FD>8}u2ETټ\%_w@t#5i??H:DryBBƄ2R u96^SP{+)4I{v{^:HKjw_LYuW@n+DAX[dbdItejʓ4#pw H7e`/WPmsߐ%,  *IoHiƆgfIkd-12 6eUV~|wR|5df>>ۄ41 )p Scf;)3SeLuZ˫sVJm~bg0r?!D#&8X)1׭>ZbA=$˹w5- \wY:,[+$Mit.N AYm'|hha<)T';!|4:Sv6l>E2|ydSA˦\KM.(\G#+OQ 1!,vl@Ŭ$%Kxh,83x$ u(3ưVBL~b9d% )AfZ"F9b 58H](YC!A49(T[lյ ?3Y}6IK i؂X2vm$C%mjdwZuQҹF@D~SXw T-rҢE ls&j7 re zd#1M:9XU%p=pA#5|s|Xɴ~u7^ϐuR `w~!2'hL#WHG$,&\9&00iz tuХ\xaLQ^~XLyst_[{Xb? ^-qktD^S2^ sA֘rЦFvQTgB[y) f<$`柿xakL|>H +Wp:e,@n> i)zpʾz +_Ж$!:#q: *I}|<$9*i< 7KA}lt$Źf6ⱗO7j)'20:$m e=ʉiP4FGIc4pٵTA 2ctN k Ji h]u3_̪;^;k) $s30>216H4Pnp)CstJ*Sy2v?u0@([ =>}d n dMQDaا( T5<,ktD>Yn l -H#Tہ}X  TfƒKLeu\*eO`  a.+Hӡ6`u P=+/f;~dsn-:". zSF'K9JNR&ذ,Ꝩ%AYUrjs/ڔt`axBX `$s8Z6@Ӄ|a-nPę`3tL`%Md)>a RT2M4bzHF&,'39D 43¾@b\,,<[gt"xTIfz lB)BYX}:`LפC5%crAbN,qg#B>Sl" TSAQr0 a=)NR2J8FAک^|,*8Iq)]5"h(拠Usޤ' > 4>wİ/{J}AA(YюHk+;QAat'0^Gz>{CQwL4&)g Q)h+0x5\J'#^ZQE X6NyBhwRgߡ8Bi>5Eo{mojzl=>gBE)ɠ~DH?._SMv2 B z=Jjxuъahi$zP("D0M}3!Z,%-),Du.MESb6sXCM!@D}l-:!(|a1#a,K#OFgS cF1  x @( bI ' 8B`r% ju*@6`@.IAr@ș~`333(C&|*YmRZ bA-c0CZ%mbg'TZgJ] Rs&TGA KN (+.a)3 e*{m tzv.-%JI@3,t ]@)Î=4!BaSq`̷O2wb^K4p,Z4`+s4f]UQrHgD 4]&6fL_y`m1㇟Ժ'H&-u^y:aH3 EzܲUtqLլ=^/a?rdGyŵgG14򥝵.]]ǩtPC&rqLY}CNO6p| cLGUl3A$ ~ p~0:d &ZQ-IXk\n (lQbO-UވAح$y?ԟ r_4Rr?OWK-.s_ [^SvaE9 [b@ @GxZ5ٴ%s@&2o L~ 3UO^ [*!ˀmʄd`(>ə7܄HK LKOI2X072 0 4d%:,`L´0Qخ0J1VJʫ d?Pr֊F٘$IXS@3$T`I:kX(@= cCD& n S()uYJZ0̄i~+Bмa` E;>`XmA ]^ DJ2UI~,!0Fu@Mfo % LBb>rE >0r'2=}b]8Dꉭ@tf6w&}q(zşnڮӆaX(lP BrbEQ rʄ6Nd I3LLxb$ &2)9mD~X> 1+>sG=Ut1*5ثk9kUq}O_/1"hd-<Ẹok~=>w R)]KwG%ywx.5^ko5[hGJDqX8z$%`҈_Cՠ jGOhWoV^ e,-b$?Ϛ֮lIX ]v}146"zI_ ØNH-k>5~[CTƟZG BU:Ntg t5xKD7u]#M:˖M%*tq:|yYdzK/:)AILh@^ᑈ{hfކ]<qLmed#wN%(L`U8vvLғA}7@4SaG$2ugv]]Xe74Xq{%a:eM0B.)э6ЦU_ADI .MݢvB;q\|eӆt^HqWޱWPi(W:x8C'!L9h̖W`L0Ci`5%cic j[4`m.xp ٪$dB Q&!B1] 1,InKգ4:%$ '6a[/M~8j#}r)Z޺W|M?xPX8> hWJ0bOiRt=D3&T*z3#$LUdÌJtH 1PcBN n=ҫyrDMB8,5uVt~nN@G-]siGuBwMTs߽ڒIگno쏷5Z%)tT3HiƾU6]V1݃AG`Y } VbViŊgg [DaɄ0$7tZdBABiWZو}&&2H} kՔÔIFyՏaLRLAop J}; إUpUg{) k$ƔŮc}gH6i4m&;`/ rI/? 8- Mz54\}Jy4Q1g€ mȁ'=Z"!CMrtr0[ @?fg-:8vm :wmLEw Ote%W.LġB$ 2k.cHQjH52 +qhWjo/$!LgXZQy/\cӵT 7]SVlw>\!^ wL[^侣_z:^WeHp>/L) J(pu]L4W8(Ar "y_ټ]9 {f#؛fed?Q6C}@ކ ү^I\0l=Kg-FaU`'IaVЅ|VGz1:VuHM&"/V;FNd+ P0 >ABseXU{L]b1̌+)> dM [kHVҩqF+ر0flw8A61FVP_٫azpl4oCfT$ 6ǐФX?앴qS{ {u" Mq($EX7@2,غ%|*)jl&˗ORfݛJ.HŒyV#h(5A̭dMoSiE'vQO$ l*:OX(Lg hֲI{"GU#gNl#uw %u&N#&)ff{AVAFE C85bbg %#ב0ɉ]_`4G[IS(ؽZ]k.aWn[dƽuI71m5s%" k2 "!MC\#+xRGC2h(R3"mb+c­^XĪTv1ns#jI˛5)p hO8_Գ|_(t *)Ϙ0BЊ{3^˪/kGz})MiO ژVauAbFUxZ6}6{*KKJ4K#`Ѧa$'/ȁRUb*cSsaϜbzuW'4-^ZL&]ZNKxڨͱ /krv yuZ~ꂹ/j`o]KgZW\|-}O [  4B2i6M).?1Y9Uߘ6 /-,G!Z)H%s,6ud}V$ҷ{0waW+{xl}:;€G_+eyâi2UcąH &H?lQ &ŕW@x'p}t`d*7( SzRO[{Rl,Ɲ VCfaRmfGX {'%N-XATٽhGFYfS\SVK!l)}8G8 +bhi{0b%xkֆ}I{ `m`G3%ke/ KyS6!E&7a-eG 9V[&04-"ÄK,RXL3ci&%%L^uǀS1ns7 (/J'T6IurIal1la6(Z<<!Xaj-ҳ 3X E4&  ?@/@kzD'z#tubjc&f~m;`;eҭ(e o-] Pe(OO1Ih{#L)GG"^XZn[hd;wJ.tPDtE)(+d*Zlڣ N$`t " @5:Ac:0,܅!@QلS5:.n孊ί1 ހvJݼ_,KHF4As<;e(0u,n3W-fvNL{e9cdZ7jSk"Iie~J¼KđP`[d{"PC1z%X%H D;yCpi,~3w;n% yv}5;k$NbkTyO1Y*ʧщ mE{Hp{5΢.%i6?q@m|RϘ`n.nf~.#::I(IlTڊ!J3qAf@/&@$?|k8|^W g q?t7` hr51!.9ߐG?B ~+a&]_7'$m_{w(Hy ܋ }O/qX4_s"4_%H4R;cʮK'5NϬTSIulG'"khl\zYXthtW [v)A[81C &Wso!DK r%ň-/2sX|.ҡSہc8"<Ь@Uם#,u|I̊rdK.y?75ntq=mCUNȽu1rxɚž=:kJa~j?Y{QE!m=B"sL'_$܈^ q] { ȜP'6O(32L>`G `ڧahLjvqV,[HȲ׾J9 f6$5Hs>xb#/f>'_-a}0$) x^kfZZ4d&ID%;=2 a="ꓙO;SXQHbb6;_JE^.ta*.$"N3*mڙvԯ׉>y,[&0Iuv!bbfj_V,rQ ?\8aoUĒA*pģsD<2WϳXq ?arw"[ʙ}WZΆse)x+/<9щG`V/FoxCH wȜcʤeó)ڄێ6=n{I-,rGǾ/?|{,8^ s]aH@BBD2Y,K)|R@cj)@]svě%<`sS/t^2~Lz$(aᕭx Q iDHb"?k9@ajЖȶNP:/A(tKQu`]|%JsTL%꤉"d 0s,h٠~:`w 68V17 WfiMhB+thuOH"9 0_@ybj }]$92f!1Lއ߿o_nROor`1MRMFs)"#CեIpP! ޹K/@0b=滗4OϱR46_<h?9|e c)pC(!QKre$))׫%2%Dd˓ ?)8Z=oq2U 8v^` 9EvwOA*%%4c&`YLCFf7% D""]^tg"iiS1.|_y`{zJm퐐~^d:jrc#̈́߅9&=XbO[,X1bI r̆TKvVf²:{r.;Dr rwX"oNqzjڨ_oS9&V'2gmoŸX$5&î8?E.<ܐ[ov %() ay;gnYa J혤{zp׬%Y DB}>u YȖ:>yl2y?;&@c&D$ eCBӘV;H$Wn 7;{b@E<ȅ.I|M9I&:5I/IGaQ 13'<+;`nfCb!E>jP!Ry2N4M^4(F 0 , L[mI[:Y$r+, >1B]lt*8@xb (O7Ճ*^(caF*!6pHgF^H`_ e@HOn*KIS%LaSnQǞ 3u`W #A@+k'pۣbW7JB34iڈ1Rqg IK)`P E {R$õ1Wa\>Dzy"="-f$'ys0ܯ #/9 *էG!$.1jMDŽqeNɈD`)sT"#1(8")M2.`;9s٘ iۚzv {R:6 ~H/UgL/`#t @?{GDc(#9&KJHEtysfA< 8 @S"xN4<#%E? YU4{V^8v(X@{hR~35@v%"='0wSo` Kb +(~;o^NI?t^:,aNzg-p:|:_!"WJڪnۿ۟[NBx )R0H4FНx7ۻxz @_-`Ŵ7FN㭑tXg, P6!HfL2dO*Hx9D9'!a<rp:.coˣ3:uX2@UV}=[鐬X̽c н] c"a,]# 6"D`]% ޅ-Txgy;o˔|Hu}TE!'ib[X$Ġ{ FhIq0lTP'| !(s{:yNeEVIw΀GɷiPJe)q`_} -;H\,86Ґ(d]Xz9:!՜d3Na*YCb#PG4*ͭ`ys1@ЅYz!'3Y -idw?ode+0@/PS dz)u}g';$If`fLdZ;>.ZVb/~GMcSxkE%6'*)I^I1ϡ*IF8 &y̘0DeAFO)jo42&Pmy; +zD -/~eґ݁b VL⇴g"Pɳ I&0]ho5F1jJh;vCMa?q-1ݰ-[HhrJ_$ hI唉[XURЛ C7` 6xfy5MX>1">AvUDiQrɎLN8^>;g:H>i;1j~ܮHr T'1JF5q'fؾ~2]#|yDE5,μO2?j/J d́_%nMx.Kҋb¦EȈ S%h:l.UA a E"u$y:Ow)u3"FV6-zIՎ& l_҇KQ?hRss jp2@/ (C[6͓H4s{0zd`ЉQenyXՁVo-X 3q{2}aDH:C_໖/#G %+e~^+9M,- 6t\d6-ˇcf) V wbboO9:c"q~'>IU?L4:p~ɧiQ:Ÿ{ gBȁw؃uziYu 0Gt(ts^Ը@``Q&(_ obɠpvTN~DPYa,W9ɜ& C7  L,ӂ}UZ .~b0O"1gNx:h ~!+m`=_,1)b"÷lq _ Gn1ʺIW!u&U2Ovc׭βCF*>]'I`2sy5S] jeٟsmH~B 1rEbk'ħI*Qp..g2>)ćj|n1TwP7$=:tT'L5}ΣY_^BIbߺoHCpC? =x`qLY R'h7I/u;b:}nps[cwXKilv+w׮ڛ-_G=vDϔIaG9czxǧ3?g7qdsDC_%9xPut:WS?Tf:nPi\ޤ6:8]0]`mGG$U KD&uH찎x_2bȉΔMAB{6SFz{+3^ a5e{E{֨6TDz2_'y ܼ<$0%J!:?VΧ$-!!' ]kH4'ӐyaqTk ̤l& EiSȄKJw$'>g<}1 Y2C\Y`ݨC$A%p@̧&Wt !s/~ hzpFЁ1+# @9gB;}}Y`Rd2;Y,pan['UXT09*Qj炶뿴Oh}e,rL(s{v4.شZQ^rݘع\3bsˠkq@>0d^Wg%{$yɊk}|gG;R]یֽz[7[[igf!G2a>!aۜ'Y AH-WvM(i4 d` &a1V,Q]4@UiȨmO;ߵ C3$`v&2*&;(̑`2etPIa6h$Vb#9nu~jşڭ Sɱ x퉒b6FKYamNEX:$]<(Nk*F썘J쮌ʦgS||Jj.AϡʝzUIS)!:uY &2vnYA clcc. 5v$!k[q $uqUHR>! yf5Ko.*FzI; kV SGgC=#ɤDyQj!18UwCR$/b[0}&V1jKtI 5];-vE$"xWrL%|-m/-%5] hDH[#')Oe-&&d>ƒ6B< vL 4K%0oPEBvLSwp hOhϸw]aVC=UJ6m{E wss9CO[fY/eY@R/,!`{)$Yn4`"񷫯g~q@;%KyBb}䟘Q= J6c[i"ov!X9 Ft'P#rkdy&B{˶{Jy^t>og{dFR[ܶt@Bdڅ_w޹ PL ;h;D/I޺6Tݎ~ەNۭ06Jl\5g^ ]D׆k뮩ׄϵmLqAp(-gZy?oHMdèPՀ$0-{FH;ъݹ=4Hmhj!JFHx%S14uaIJX uPtjd3hֶoY#EFBrdGxƀ;?~%e.a0`܌1\ ѩfeEL$o1qvc??=ՓCKTQ#! tϒ$l^ΩSdyJd1,1 ~T EmڏuK28DatUJiPU%1Fjlg~~!M~ 8V5"1%~fɎg>9MIߵp㾽x1P38c QBZWMz$چ렛Utd.dP;'ᐗ:Ӄ!V &Sp!FO1*[ػ.42< 7l9&/~&dHc[ }H"<`NEKO1IQJz"b37։D>R w&)]`JNQ3@($ _J'4 !9"~#L*Vt3G_5mn c,QPҭmٟ| Ũ*}'k;KOy7H2g`\^4j$Iw¶0TAss (z#*Wй&l)*+%M0 QFs(U?!{H׸0(`i;1}Y%̧s-h+e"h1W'1۹L=gQN_h$]û ȷ/}0C3a:>yޠ=la1 Q3@W [!S6գbx [8B&;¤La` $eևqLnƣ:ebU SJhGVM8(8.dcOCm0XWg0ʾU.h\r ǰ#?drV_H8N%]v(@,X[_MMOhךiwed*WO8o/mS!=p ߀L:"e;{H:vJi\e(]nsnޮtzFYmW2"]^*.QI95!a.#k\ݏ)͏{JDr/ړVm_jw\޻7[BH  UH?z`ň}^eM赒aø`$FriVaUd1I&ۅu1[VbN?B̟ߵ p /l3H$EPr}dO_0(I QH [eCѲ-Q:إ5V KjҞڷ×5 a#yc/b Is дn^ @ p;̱16nQܲOa0``&J M~!$;SK0(}X2;1ɇ97lz dZ Q*h }B`Es}?'qNoT%Vsx;n@iO/vvnK!O(wUF9f$ ɱ|E;";=bH $E%`PS4y19Eh4dMRCB`oph_{pIA.Bv?wϑٕu.#2fWia6^6Y,FِnUY!pb~> *a"ν\RlF  9?)'d)-/s|8ހ_\(3 P@.6V*ECt!cN8M<°q&gЇ Z$Z0z"0b[Cne[T<5b: S@LO_?߼h;ϟ*ZB/@>=Z纻|14p`&3i,-;xq qG0|,]kr Pm+T_/%h9j;-$lLczVKa|}袎eIFa%maX 4 LpeTЎ%@!K]bnnLdN/pgv@tgWf_䍃F>&yֱ.m)X^tV_|eތ\1%B[T=0 hMSgYIdD =qקc/[~h B>!}6BfXsۣ_an ˗րLaB\ 3EDa j"č)  ]^GD'w-opAos (BѲHúAY|DZeOYqo6LsÀ:`Ho H̄`e0~$1;= >A dRV%"J9A*HMm.ٳ-D Vo|I\e`FydUpY"J]63L&%g+)L0#8QœY@:&[uvf:%SOs`->HDWv|v.N?G6識b$N'c۷:g RׄbQu,FiȨ{Q8eC3.>D7h.G56L7>Z}Z{~riۿOvO0¥̘Ű&QuZf.TdlpɄK~| ^B /`uܔ/((iu3BgH}Ĝ;h:`J6b+3Xc?lG=suߎib"Qa"zJ 3&q&agԗ&M\,Wihvt-P.k R\}f~|=k}з1t\>]G_gp.|WKu.+ǚ%<~(e*yhNMefe=:λ~ZȧH%0S| 󿼏Avs{E[Az%K(I*m3}x _gr!)#TdؓOV`g{4޴kMl}wՁ>`6jH!(_T8^("NeɎѮOJsDm|u`0\Ct^A -8Y/`b 9EƬbHH`F10wˆgbkXzsF`l&LstzpOl:_c, & c L:"(LEҝ K*'sDPϧ,30SM޿gG 6_-ȇ(ݹ=+LDW0]'.Mǜ\@%h10n"=|F{h<ܫZVlhۿ& ,ͤ"K'6.Y` `%/##CQ?`  LzV~c!u'~4 uZN_`̜{"f Д@3ZOј .N PŠ@S]+#D"lshp)ig2iw.D0D2DkPd F۔}&(2Ý `@4jɝ8h%w&vrv`bqi@euJmoTRz1P1ghV7S{[/b&`{<'.@/Yԡd+蓛Vþ愙$R"1мxMAXޝm6_ܲOI'G)}lzB_(Au"LP:eWe Ϻvxù9 S֧n]] ڿ i~MMxmUF|tɍimS-x j\TaJO^ڎrt#0 H( EDq{_OM>!Eʀ#?-ٝ%"f o/:v'5&y[de$ZgĬ}4 68ocNm&fkt L̽kZ̑s=戂=?5!d)LC^ae}E_ISI~1sN`0C:;Mi{~/(4Z!};C%7y*)Fǖdf-&L:EEA(Y#@KՀ/r5t-NKT #AxOf#81YUE.s!F/"4J+ds=דH =uky~яI w̎'N|zx i!΄zDW5 I̸Qh 5DVIOVmg+0Ngޡ56s|$-O׉>cb|0Pu7P_1Lcڇ$E'J<=$<12TqɐzH~UaWiQn¦!$båcb2|A+aznZpl}9eCp$!Z #utQ`HY)p!obL(:\@< t` R^.֋Ou\A8ʲd-5٣ۓg/ab$8R dIapGSQ%ݺuӊYRlRn|v_@Ly|EoWּN/lgdt@"Lϙv8Ob ))XN3Q71XӚ{?VCb 默џq`ΥGsZw>Huʏ\wY|v|ҿj`Q9:xQ~6*`ֲ&~`sE/դTsGڑk>:2GP9_.[~^TaJ[ /7cD jxqf/`m`HKD>m W6WDMV_ ؆1/#=gmuW EMz $mr202[MTpL's>Q~k17?_@8 I< Y~ TQ 'aNpSA=[ekh'%Aa*4|p$:VƙH%b_:1XE+_"W Yl ?f}FId -+S}JO4TR60>#@Hpe`axb N-R{.8/KFċm3`Mp۶ |XJ+s7]z\PY}}g-#NJ@}XAgtu'`ɾsVgSɍu,e/2F_[> TR~4~|w0T# j{1ϑ2EZU{M .V b] . A(ՔvDHFGQ7W͏l#E@ӃY ~nyh 5|n%TZ#6B?<#D̡JPHڧq_e]\&EopoVAmLW02mI-)B{k]IHg3]"`ɿX(2uD@J~ IEPc@|" igB[]3ɏti{}xuP' ]qqQ(sŽtHz䘤P5y-e,b%&^*q`cM4Gр $wL'O^p-Jhd_46gYBVƼ}Z? _|2Im&N-:@pdj?>k0+q\&, Pk\Fއ-?SuO,^n$\gSŨ4Y/.{I"E{z$dݷ[Dvb=$#g!; t_\B ܘPjaLIjaIQ[ <#MU!5[m`׏|3q&S RV5H |vUAX@IDAT#|<;_00 KR7_<^2*}&-Bzw%ZA1ڟQd (PKLIajE`X.O L:f>mFoT $lA7 kh!g0) _@&H6F`;`|#UH j)l˅O,\;&$H/5Gm[Uv`ksU^*8O.xaU䮬K샭{ݻoV@;%@ʹga )aJ FiZ-=h>EW&;>kў;6iM~D!Vs4I@I8EѥJ57oV6&J&1.K2'j댺͑jVzɈJHcI >$Pvr.tW roZ$eFx.:tlD;RisUd݌-`'Y9=(߽jޗ@ׁ#Ԣ6+L]Vs3et["~.*˫㼫/[4.=o4 a.wf5kЊ5vRl1j Z%1 ~p+ٌ'U{=ZL&E[[C hNNa_kۼ=;?U|Ge#P̨S:hv@7^n)Ϣ) !R@0I$&3AfS|DIQ].҉-Ⴧ\~e fHۉ* I@T[<.`p b@b )n1pޑ:f1E%;}w(:L"7Oz j0ohu!Lnnٟ{HHts;dAC[R-n 0C't2#3!hE 3uZ ><r@ D&mͯا?^ŠF}18pj@BA(oVG#]!4u10dBFtH3c;IKv ( (,: |#&>B"ϔC!gz sHP+6o ~ w%,`8O4F*kW~ȒS'_᩼heIDa49KP`0\ܣ) @ƵiD +LW+†LM4+Dq=W?f)9}r'{/_7`eWQS{s2*c[ڐˋy h^ @ #’Fu4#Y4Ѣ?gUg"v~:Ѿz |.?- i[w1\0ֳh?Yµ{HUWriQPaк`cg5;;aӿd&4.\*@!4KHnR d2,Iy]l+x*y#vi.Q '(VsX|;tijA42'x2\w_Q,R$"2h-ʔ$ );NkZqsetN V=+ـX_)!쑌LP'?t[lAX`zpn)Iv6 #jw)0|0Gh=i$`?5hK0"7 _֟tB>~fܺc?6IRHj< |<9e" )K_Z,"OuOw*M(*E)Ì+9HrP-@`.EDX A"j?Q9qQlL)`֧Jvn݃)RZ~=[Tp"T,*fjHSbk$+Mצ*vwp$bG!/FF>V:ixG+x&ѭ[%:WIŋ%P$Ġ/rasX%=?Or~2k$00!jON#XlJ(L ZfagO Ӏ8e%~zP\/&seo#FX:)>~|W>;\0QR&3 Ac>̪BYFL(iRRa@7<#v]JH{<2\dn؇k[;v2:E{|N/O{l<͓+C ev.C3iV>,/NC jq.S.e%,(/YX-ީ^fU1piQ R8}?uv7DFjaOdڨ@ڥ',;&K!#U 4qEJNY1#CM\!p R% AfR\oLN^V˴Ĵzae"; Y/mu)="kR 䐶V%=D稉 ?K={hlRlYP=jه *$2?ñ/V%" >yz "02)g0͗W|ݻ[! ^‚2,I}&zk>x`͝ujH:P˙ڙ|XaJUT<\۪ZͥY%bs>djRW\ߊ^=}X9iɛ}A&.JIv1R,c+j-Λq~\eA|(>653`1{1&VIR}01mT`'pj/XMy"yK\Ø3 ήͨF*=,~!Y@]6 @,DC!b]Ʒ9ahϹEjC47pS n,102:koktb)H' lX#" HENg`]X,n\ݫNc2$=吭! / qCTYp K"'ouZvc5Jo,./Q 8;(qZ=Cto=c3" F_:{m:GwS43TY-^<2B|^{l@ Du!L2tYceamQI9kg,7 ?փL%> 3HTz@LP@_h*f'27b|d`?dğRcMligܩոs\& 2e̮g:]uN(α8f٭8ֲ0]={̵#37hMe3֛ _;`XwHP;Z`cxaJ ~Jlz+=b!<'bMmsPE[Ϫe4M5;(*fQ b}чazBb~Exd*J~DTu!AZRo,k2(yI.]YhWl+>|r~|{@cK4v <)0tcvla]*944O!CcSʼ,< *qჃrEяn܃UQ4pvhL` ’26g@SMdMcM^tQX&JLB2sk}˓BZBګ0@rf 3$&01P` mpȇ3M5Il@(=}!J:l!(#*f:ReXLSZl/e vI,#`I#6Q`??8e;;8i˭Fkj5Nt`$+JHaE"Ȉ4>q)(ADQשS/0zBL$BP1xmW}.NNp3v&U ׀L򧟝Ta3́m8(=-b(2k qnyF! ]b(=϶Tvri+dhsF p@Ch"'Ǡ$>6SXI#2T*utA:q ӕ^  Ry^fWB.U.(mͲ P 1/1r <O>xFVg[c=#@uK8phɺ6,.U xl-0E_v 9#A O1ĔhZn~ս\ş}r*0Q>J@[ҡ ϚB[^.K`m4Β}|{QZӄE7V-|#MӶu|$ڴ-wy!3+]A$nmV(ٮ*bz0L=Unbf;]^ݏ G. + B[> RKJ^wݯߖzܷL,85LV&Sz'w ^ LIKTJ5l;Kˠo;G&v^Wv,O`,Dfl3F|3|(|he|-Fx( @k D>j7+Λw11i,@ {_~`''9&A׊`MK{hX**5>EwtQ-0~#*DBu?/ j O=OWTL0p0)ȥ9=29؍W#X`7àI6aJn)ExSg8ug%R}xӾeu8)?1PJ8!ڴ~i6@H  >в HĖYz#k 65Vp1mBe6-T>剬liLuZHGgA!Xwan 0#nop&`{kwoٌ{YvAqfv+dѤ'D MPe|8v0 fE:Ku_&>m0`~z-2Da6 XC_25w% ,ӌ9BI&pbH`G=HY ,Q&msr.LSg]'M0)E}dGb}ѯ?Yj|iO_TbAŲK+Y} JP%Lj2mPN <}"*PZb]b|L+[Y'A1cs(Kgy$02Y\DKQbGUNS(ړ{ RD)r R)@,4@@ˋx{T+ ʒXy8Մ/X뻽o3Q[?gOޅ#!d?Ֆ쯶> w_FjMG,.1d<k'/|r6'l靁eX ,)wX|~ 0U4[?CCLaUitL +_؅3XOEhDr~2hid ,;Dp'Yx 0I;1t&:Z ߼40)u:0G0daC~'Xg.2M0i#2OIwh&rYlD|i6{Dw$s: z2VqwkJ_,֚^eHΪea)Ix`#tֈluu/0HM=:K1jK{Atμ9׵N s(/0 "QsuDfת<~`Fjϲ0+?ET٘; _b +5CE<&٤xL?ݝ6b_&CL !4͒`mLyDPL $.40Q(̐3K`d9¬@<2$%}A~/՘m!\qRd޷.)sYpD7#"hr] NSKܼ9g?:OV)UyI‡N0o?n,S> X!!YZHab¼;1"D`x˵YS6l)$Fd&JaZYu3f VǘC vʅޅy1 z~2g<?QlOFҀl%3,Ցr%t 18iP-/Ya121v̆hkLTbc@cQ\Wf1181(&eY$jd)0XPTa: |8+-ˣmh{ Igh!rđQ!5=O > }G>m5%Kƚ%z V2sP>wwnmNY2r ~qB#{%`/ɂ,!\EBȏӃ3P T8 x=K2ӷq7Sp0U oUP}8"v[p zG]&gg5&X/z$v!Ӵ6.}:A8c&-ab$!]}To2OG U@PguQ /t=q߁|`i*;]kє=BU&*Sm`RG[dl'ql>+ D'NڝpJP~Nư 0%ï{U=^=}9ύ-sFN gl%h`ǘM>mߗȨT$#4Tm1lE$H6*(msTzu` ]CR"& mCf%_}Iyd&``amwc")B& 5G`&G&3zM#׌qݹkb[_?j|e`l+@f{MKI[Vi( *J>~x 'N`q^1(@H `L;`>8yka 9E@.͸DQ}MFѢl!&n.)O5uL;1=笧伆0S;*xo1qyڦ|loD\&R?nkE>GNvrGMfݧʛd=g"8#!A?P|:6VG3.x@)- GXb{ՙ5'E;gP?TipV^:O8EzSu*,Ե<O]B&eU/렝eQ} : Vl;uX&:){P++v{&3%(a4$es| 'm7l6yˆY?X| Ps):-tnDbЋKxԍ`lP6ecb$i&^$I y/~?}ÀPZ,&hJ{~n]6xN4 &kP9U")y1HمuX#Mu=L Y.\'p蚽+e4r_ F3X4XrjAD6s f9C#q9dg^)^ƴ+f`d EO]X%rbV%?@MV:I ;&-𔉧m5N4>Nn E֤)%\qDGJp|N6&}{^m1aF,YsI&J:m`HQl7_&]!&&C>ӶBVD| 'l\L?k?r Zy}Xt4qERJ%;աr?<)q|d&f]~Y$7 ̼5m @r5xf/[_xpMJˮүZuhߵ)/ c?ҋ ]ܵ Nk2Fބg?Wvι%w=|%:] 4%`=qRbAX,SZ4arк\v/œ0@(򍂽Ky& _F6n>$)8CJ0+@א»K~^8~A*\h]xt`'bV Imfy"~|h?0X= |0%E$3L~{XֶˀK Cb)X0ŧa{# 0/.#~P,9*WZa# bۓ#0k~9"A=zƺ[ ׀m3~{&5"AP{\fP:&ƖK^$nVWB$s81G'5gD1)@" 'vQ2(&$HAHB0#̴iqh|eҴG'@}="/h7& :۴/0hL |聠<w~qz>9 Zj3 >kћ kuZgQY#@ rZٛ-e݌$(,$u|y?L+| VJ9˚5(dt]C>ߺj~܏"MN뾃n4*G?[]Os }vf-ѶzҶ:/*@S6z&^|1˯MpZ/ѧhB^=}동EKl|œ8$`Ӫ >gv4L'ܛ$8F"N0j2N<;Hm7Ɯ0-I38V]Xwc;Nk`H{6+-B,H4ٓ}v0@9qaMd|i\΍> tqHhP Rpo)Pu&`~3>qףc9kttcV%rOEʃԥR wat51BrBC720v?^fIu3H3/Ře#{D]T2,&hݩqd?ڿw.?9\[`ѳWiL4H<( Ng0b<1(pP:d;u 8^`W`OSbij-o7I"ΧG,FJfr2"sLI,!ˈ@0a1z)}:Uݒg `8%ўbWqu|rSeIJ0W ]&r# }yiŢwePrH[<{' ]LƻR'ȖCr3ώFi }@ ᢐD;1|MtBW"ս]8&(>J=bQ4WX/W{^ow4E#V[ć"q-a<1vWSK7yDMע(Ɂ `Ĕ/kb?fv`ADpF.Hryպ >O(}ZipWMP\RGi\WXw|sz)>~ܺ1j}>3=:?©O+grFRŔ9 ?_|lMRfNo9T = cg24 0apts|j淨#C$lhmcB&BCt4Ɍ F^JC EEQK%:çQ;ueg,-{HZQ&'\]dW-%p pE]8Np3@+p'2_@B]'5Cn8)&JlHcX0O%d%P#&o+QQkln+C)U>!r2ee@}5\NIK2d;Gr$'Mw瑦qo"b{->5/zi?IǢ&kV},]vU5){>әC0 {$% ;Rg?RQ ꀗ!1s?Y]c'?-r ('I&= wDgd$KqbL[P?L+[m0stNK{/g*,TWBlE}OU Gj7/Y; fj3x:$^nֿ>BcRDY`Yͳq? _L}:Q"fx~<}y@nPFlN>.ı?^0> Ր CPF;1E=JgM7MǼDzAh ~zY4i.~Zdx9sVXd+;<B3Si'); j=CN#A"3y DxxF6NdM;J<0R12OS"*I 3ߨ4`Y^I E\R;ŴG)i"=(a`MY[g?8P*kd.FD6YgDK3\],7A~`s7iMe.`B1ݪ\b %0BS|d,!Xfe([x)~ 3)`Th`5 x6}T 3ާړv@JLrz%5V/wHj~ccvGDXî31O<=2 `0Eع8މĚܸ,~E'w6*}ZϐMY(h.=he8uYɟah=%E)kE[SwklEA :Rn\uh]`4hk.YA`Itpq5k1m`×F&JPY>&n}1H>hF z3H at"3nW(VvI׈#1"`HϤ|1tb%4X ^%Ïoy}@l x%|# a&/j6OЄAO ˔0JdYBS}L`Ibd:r̘M|&(*ĄhmW 1 .,' -hw.$h+wn3(H)GlK%a`; lDwh+akLwvp1h2i2{0T_߈ YB{X;n4OEbeiCx~\exrLxO^W/ ГN$!W*jqjn60i:- a\=SՂ?!?I}<BAP.Ťs ߖ/Zt$m%;NȇyОX&Dx;,CTESe$k5"V>:]r?ƨ0J1CC:}&e7]_V$J+jnul(L\6P*m:ߝ=M@: FJ/ ߒ}u /+We˫uxpr1 㲽07 gxs/O_oҴ K}oW>"eeJ`sIcLp0TZ=0}!Ѧ9°JQHWamv aDb/g/x#NrV?Ȗ;vm:W?~vhGNII #i]YmH2`30@En SOF[:8nֵ;A_~%w}-07RnS6 4B$rA1< Z N!@ATRShVZv"ډPv9K^#!;Dt<#ڝŀ hLj*ae ~qDS!}ustٮ1Q|֏ ]ti;:7;iLLCJ';\-ou@c$\(vjndz|&۟<} au@Xp4_o<H`5դߖt<=`I fb 3(C|? "(洃$Jm2ODs)JМqo#G/Q@&Kq01n@zNqS`ƒN`"Z )*1(QqTL]LQGH/tĎ'%o5p)hў \_ZDtlX?S`f|KT&&b`j[m ܓS>ξ*⾼X2W)q3ѓ JQ *~: ka)֞<7A}S8w!gԄļiAѿjj{/>:GI|Ny}'ΒL6$$ĤLJ0Ls/f$\tQ6k8rVBĜp+bU)]߈ (c9x{|wUݎq t ;CvZt.O+`N[xuKX_xMt0q2O[xIncP:]^зtǘdB>gq#GY-Ds6; rfH I$R#10rcLHZȞ8bbg fu>`Hiv'xH)q f wu_۝ O=!} *hԝ@@{LWZ H ¯5T |NZiAt*x.<[*r0ZߴW/L%&Ì8qdaNS!C|)oUz0HM1v:Z]K"ƅ)5"[<99Me ifb̒8 ]ӞL[l$C,gD 0Oנ$oܺGK*hWy PK(K(y+[Ș&Q%Cݘ %rJaR۶\=}b/†LwDŽ/L?fӆL$}hV_?&{>z19|sXnQ/gTI+ =djv H) QY4 ,^!Pt2ӗ\z謺mGK{v > p >D1FL% Rmq+sx~ȵо>LGG-g(lIyE2V@|bDiTjγ 0;,>Q m.Z DZ[^2OVL$J8\[uk2)Qd$㳵FT>l2+-C%1ّ۔y-8t#hFPZo plG˽N |__i58 H YT ČޛF@L(D^S(f?'eH;=eM)k @? 5 0Wm*.9בg.+m mk>rw<6zz4]sj8/T|\zD^]Nyuw=}Op㶭, 8I$¼,U$fMK4pX#idQƒcL . 7YvTJ/Q6ξ0+v4 I>eqdOxBRHc8k3r6@9Zd($z&E NZ.,22!R:48 Q"v#0jhQE {<0d q?өTHg=8?&Znڴ4(F[09#UHxvև+˰8:S2zgik5̡Wu0ˏ'zϊ0 n׸V%g燮*?[-W!XzlEG}Y$lPP#.ƅ@ʜ9,PՄ1 @hWg:@TJ &S3u5]e(##@mREX+R$PT=id308w׀8Q`X$V (j&pda#k3;l~⧤o8ھ CC #1cK[6AD7vv~ ["Qǝ@c Ev;N!>m걒0S[%*B -1>VSa%'Z, DEnCLbY{edNӂ.D̓alyJ\]zå`3^eDL"SPMeW(rUA@0$8?;a??TM˯|ӶE(80\cܬ%5#@lwQ_j嗭Ɉgb5)&n.Z`\'vz |97>_-FL][{Y.&!˟GFi:ċc~ EGvU1a*$T \A|zu,`ρ`}}O l-?OgH߰Վ: p9yqaj` 0"a51O)1\622|,#=?`^* ?saix. U` ` ߆k܎tPL9UK'QYt*d߈\q|p&hi* Bt#|"ej*KƤ-řc)oE3y9`]q3iD%_+~r9kuĸ'}#7΅/LRG:w)޶xȚ]R:*"rŏmX=~#&O` xK7c<3WX(اy8g^f5z~:-bx2[y#&!LRSv_\UnM]N!@%z=tN$?$귷e8ߚ#{g9;[km.ȄWYZ1by8#-m(/ :yLU}9g$!]/0h}?Eas r0@_RjTKR1i8>>Oצ`vl?6a IQ "]0aۮ,j xueнûۚ`v<[j {8]jv6MQ:'No½CBPΫCbnΏi"K[a{::la0%ʰ r'p(AI`G t;z %HgᥟX[; H%}κvz_vSK9}$/W{&Y3byAA^kEjS/;@W̧՞nkPmɱ8ZXXs':Rm%^S^㳫JA`?`f.7_j/_DsE<ؾY±9JQM(/&fcd$tV&˼iSn8̏2d]eӃer)s9 {,H)#63_MS75T:SMbD3>&1'\mC`EgZZOAp0*aln\y[Yi2u6/cRWqn~D`YƵz͑˳m\Պ4Sk" nYIgb?;;WpdzwvY"u}t'Q@VŸ|:>c;SeRu!+%YM&1j@kȠ[2bQ+ZL?()ط=::6(H6F"@!]?|EH(#iH7:t=|_w2ը!%ҎʓQ]{8/OY2Y 1n)Ѵn<2hwQyZ%ę#>f[e$y4iJtE#9)%L`h>hI`}ѓ09J `dRy߇O2BYbDUHnƼ`9k\uZ b>~eWY=ac'UX ˱'lbi˃4aUlՅVVibŵ-] +'"Cy$!Ӡr,*,xB t*ޚ!ֱk  .Q װt0 :\) IZ"E*ʢKg+C(>3z[ȦelI4mi{C˛6}S}hV$*_e}*J*P5̹G)ZPѨ⮰D4\V>;y?8vV^ݡEaY9$`m+M~ʸ,F'>h8JN)K:@6-I >tM[vGX-诹-w*϶lw̫px*)m]!/zr|v8_ g0;s V8dsB>YVѤJVE@#AP؂E8GRP&h;ywFrʐ'LݥPCqH^+3Bst#:KUL+AnA2S10 5er-f'Wk\tdd̪^–KƁNGԽ}t~A74A1cԄn/m~`HGLqc6Q4A&rHU\*]A8m,u(BJߤS3CY˭Y$ǃQΜ9 KEldhN6Bg5laNH?$N%\8Ohذq&#pAUc{E 2!|NY8@)ViM,v(1qʽCϑDh4`6D4)Lj^z+aMJ;:@(z(=lڪ 7.&gT.!}]Ѱ#7C $i,^\ZP_}~79*#%V4ĆF#K2]a=vuɱݝVhZY// T%&Xբ MݝZ3T[^0_=+/֯%ضa]Zڙ''^snΛƧVn639NCJi+o[,[U)-Y ,`SF5R5"_K0@k;͎!GzЩ#! +\?5I/Uzr'IVMQiz7Vvfd B v<5s[ﲣ&iasEsNwoS0d_nHhZ[$60S׸y1`v$31{(+lJ9҄}p &NEqF_*q"6/Al8U`gjx:O/Q}$VxGBY g".8菛j0*`59$[^ A@oɈ"w6 uj^֭Ža2}GgKVz@,:{ $%pG1r2([氄Nj}_0-o= \\AxB#TыBJ)D.b/Ŧ(Cĭ2' 7mnḤ-"繞&UaU%/.x yt@02.KHNR9ggrsiږ޻ۧa *Oilb\  囸TUNHG VuhуiEySE@Ȟ:թi]xA%IaS4.6Oj `*œ46P 30$F`GXP@aF#)T*bi U|Oj@&VΦ熨f4FIHRh>aOX:MyvҳA٭on:}O.wu)B!^ew0sV[`o0w+AMpI$T PB6HAPK㰋E0RI*m{mj"X%yzS Є*y')]f0V"\JCuĹ+xz@ $<Fng:Ï46eKit9 t{I=b|Bzpg#] d1(|9a 63y"E,t`%t(h^u^RTNmrfWE%S~^LuTkwg݇Oui^tA jjlʧEٶr/޸䯓/Ѥe{iz89ܦnZFLUNFڭK`Ҝ9sd,i+^5>gKO4)Aȏp P! )H0C^M5,4(bJ Iu0* -%2ăc|ιͲH}1zt%2Br1Q}IW"ӣta#'0'ݹ@d<짚K*LG7a SVIE}Z,өYTՠ>6<%o;a]ckT/VT{&Xgȼ6oNX7IV2d+8@V9TGCB_}D'etUn+L}i$'"XGh,Er`́,EQ/!&}=MXP`i&/Y C*Mׄ%ՍX\S5M^T.HMs^f]8[iuZZw mp-@#$%D Z8PTS얃 h$K=377i/^$flQMa&o@{(,$o-Nh#0O5-Jz;4JR_sӚuN'T=u-D'ݶJi&m h72[5U쾸'e yJom{SeE&{3R2P0Olrv $&Δ< &=D6* `H"feӲ{[T,*,6E $ F1R-?aEt8w;˰viSwB4̯гgF \cn wݎw>pk~[kw+ |pPصN3ՀS}%+l[~h>lvhV>xdbpiG$W ymnAI+zߠXvOGg}'W׫ e4j<t+\~tftH F a)s P-F]\ :Rs܃Hn:luP8S J 3@ x]\۵HC!LЇa@>\6KU2$UJTqE`d"MNcW]jd`<<Ϯ;ز%|jgj }ۙ3d͓IۏRv Z_5{=`;~+gdcaE$; @Ň@}7lIϝ}*p\{<;c,ᕨJ=JvQzzX>L9?{5M0{vL ׷,vcHvɔC,EeB|FRn0=m$+]A +9DnKRq!_M8zq+j"T.(bb=O/ 7Hc :r/4CGV?0mI5"=:2:kf_q;^XKu4s8W?ܕ̡ɚ 8fM$#}r޸MXHKvpL*jEb4@':UՆz>I/fS7;@ym-ȌZ!e)/923EA~ȡ mMs$U GjK+&:7.֭[S JyΜ$$ˑ ɚlK~lbY>5AmcPX'b(s&< #t&7fP<ez BK9[Q|,OCssI;`a7mhvys>u?3܀*йz0!,֢~;줏l=nH66vHT;Z=T &30<(*l! BaC$)%oDeFT!*]@Y(WNV@qj 3hٙ3'lOf -," Gީ'GIZ%*mp[.J{lHPCBN7h1Znpϒu"JϹeC1 4ۥ◪҇{$$X^CsT%ٸ6]^(v21|s%5DÓs ; Ջb0WEa2ɵͧ/fpY0qK18hrjD<$/1 ( 5YgRل?MQ`h#>i*!9BZTĎ*w}0ۏssm뙢۟g8vb0 ONiE&0|w}Y׈ںb_k9MnSui.}[ tƱE+"Onfu^G݃:QK\~]m9}[`|Kc)9R7ݍR&,{!Ҳ2ig[wu3+u?馛E@iՏ1Äp+0@Ic*Q`$mbGyW%:M _K~z}W5y ALG=UrOKJ_^^n}ՠ"&B2G"[}hڰ~~=hx6vQ`jGBM2VD:&Z$BaӢWg8?U k  RGv>#Je`[&C;'4߲#I'zjR#OR9Ը3\+SiKFUthYɮx A~l~>:OXQR(,تL/{B&3,2,x!XbIWKxV?J2Gto;tx>AJ֩5S{>p͜؉-YgzIh 0J4@3%h`&ibaSpà?iʄ3G^.;6:Ma:<:&mڙbhC!>$1;xXʄk/>Ay[ہ'4~_?@bzXWt˜'kr~qL%?`]i`|d}!b$}A8aV Xce{aUr)1GI@S9EPRIl%VQa nBdsfŠxRB{փ$ydrl1\ '@(+_^Ƒ.`#l 5Irv1kRb K|WNHvA4W"Շ$$Q*J !%?@QUr=`A#=} A p4^jS8lP ʞb5UBq* ik5ǜnxo@^-z`lmJIұ`b봒Z Mz_OlYPZ@"ړ0}DjA:92㛴C*E;h<\!1%.Kd0Fxn3]Ji=e;RBCU9K,*;LC,!tM(-qw?}?F)}%76OO_Mo-׶arQL-\%{ $$=q(MH@zAy"YE_FRٍ^2кIf4e:aXdBV"3u|SeS ha~`*SGb쉓axo+ǩ\4e$DgD:ڴD>/t4>l"]07M$ /a@ѱty27%.n-ɲ=$P>;OLκQ[ 8kYcS6Lx_6;!Le dSczKh|~Xe & VXv5a,GY/0if{dA۫ IIǷq꿫|ֺ mɿ)A۲;X' Y@(.<H>Zܗ!q` oA4mwQP^tdt /4 IX7f"܂hWZx@ְ{Ʀ' v3& Ѻ ڹU:^4mXjI щGGl1Bm;0t.5_:,VE G V8=jؙ]{A L,սکNK#]ߵEJ98J m,%C9g/)҇šm m<ǰMuK 9,e˯O}FFX@xU />i*@@BdfԆ=-v(&-0V$"\&1CvMEb,OPb P[S_°3KaH<39Ϣh׉FHl 98gi*_4 >gY`0P}o07 ԴMI~a=FFqwPrԪ0n$H Q6`kNa'˓ ;^2gqX0hb 3vd"`}(?Z"+1"` `3x8&q*#Sg}1$7ةm tlCέn٫vϻVBtߐ.>bJC#)Jա1hо8<~]""Tⓞ5bPĂWk\UKKN=\b.%J@ LWE0*1`}Szn4 LI" lzhf5쁣W m-0w~w>g|nV{_y__Cg__j=}|WWT2K8C[N5~闸FMMN//v1ov[[:>mS?S޹ jtwu}|=ڻ\\_<>zӵl%TumYxa{KG_jk#"̘H!1CD#;ypTYRyNUibFJeYa ?"];_6Gp"2K1o {Ц 6y!!jBChfS t&34ٷ^w4ҭ <\Nb*$ng-cO LUFTmS)OOސ{S$lazMI' SO9 4dAUmt/mbz'h.%Gm:Lhfm&u윿*^:JpJ D ۰H%°]Q|<<+,[!l㑉2.6|O{xy.ϟ-9B=裶a ]0w''ۡCx=YYQ-^{ww8}o-,,+϶rW"?__ٟoo)/r]/{x'pnv:4Ի\znz $lЉ &ۯ v"=4(G FkU@B M]N5-f&V6+~TP\"0&G?Q^}f&$y&!|0{"/1Բ0W0>b==F_G7h$QBQ,%;a㯀]0+~ Gz΢{}%= m);_cg)roDmgJaQxv)%`pJ۰k^` -Ii`{D@<ҕ,P2v6YkU5Y .qI{ &^Vެ]')1 e0 <@ } 7  WW`Lb ?b+;f .#+\ nQGޯMװE燇L%>FR*Yvw W',̢XʨK(Yll)\`p# aK*9ۖ]'j$Jbk>;}}glyp)<:!=%gV43OcԕmY('’h샲OMKY[$וL$(- 2moF0]VVɦ--3GHH+B$-Y6amwUS ǿ & a$Ѭ- `$ Ձ絎͏Nk7x3wUihd5Od-C+F1uDZ^ Zע8=!0 v,9?dL1EB횴rS/S%/!-BbB~v 7\ZɓvAt.+T >5,~ޅ?> rfffޯzo㏸%Bb"1>HŁðr< l ;~&˰y{$[X%wWZ/@#FGJ j=# &&Q%mp <e %=/{kpaw!\9 PelJdhN'a竄X'u%2&IwS*QB0R" uw̎M' v?s67eo_?^ O1#T`i78XKi@`G[QDXZ 8DM'+@A`"$?/0ީa\.k냥 HH &nSJ+W diW91$MAdK9,c;CVEʫ(yCٿ+++a|YzYz-p? е5W!S—YEoxȅg|g\^=cvz!]4m>?ڷ+/.JOoĸ۷KcЏ,관t [@nIxDPtߴďS{,~.zr;&5W ]S,{YI:" =ia;9Ra>|DY !t ]N]*0*wxPb&ro 2Y3d"k[l4UTA>VlA"!> {ݭG6AųD8&Gt#Rd=I< hڶQ5%ҀԦE:2zU!"IUgFB[S )Yn',Yh5XʹH*Iy چ>Tr|XN)-aGFc!5/ ]%I)|6RwYETv#$bk>S>%I\>-=6-IWF 9v?@褍TsĖʖN@P:??w+GjN}ٗouNɯT4'x2JQJ`} S MWznŇ09e݃X0q S=/F'M-a{AS]iu(_BĤ2Mx ipE7w:O%X$|2,Dlh,djRöu֞*kh$jb3hpр` #,(N_cT]ISx92Tt%,Y a4$ʷga7vР8?dcav튍&XUiTSkٷSyx¾U |drxaQ7:s6x"bW59h?>rVc `-b|cPe0\pqTaa'[0ÝR=KuVۉ чOb+}8aAXR:pc>GRǑ [vѳܑ_mHb Qh/]GCiI6F,*;rB5qcx07ECz(ZB?KFڈIxSeiȒEqqor!'1i:UQ~l@{[@a:Wv϶ze+cW22Iʂ~7 C*A/5qv-dY M5RgX)4)Aka*"VΤP2(+>?+;o("{WNPgf2z^-kJͦe >UCɔc=v].^HW|+ib^TD+>y***,&MJR?cw/)c^Y?4}|II>v ~]ЫϾ:=53#w 1G.|m:v3inQYU!n*D jxM@$>xbPly6t hNDߕ*( HAc/ Uu[‡(;XQT()0j|bE嗱= U7YOhc^y%v`r=;K] 2 4#X/=?O(}dlLަ[6LR2I[ݵs[E;9V*nxw(mI%RtFѩR/p4Чڻy~%iYjH+v @juX]衍&TL񦤑,S(7h (!UƓt`d8M[hz[0,&{%ʖv,\~*4T|`ئ@h2Oy vAs۾ۜ0ԉ)T(੐:VYϨLysCIa *(J OubdU.(F'1QڶK ֧J~׺XftʓQWK3|Đ_ɒ )M=}q9rR] D& ۜI;I:t,vNUK2.O:^Ыϸ GY|0Fɥi'θ(^[%gq;~K֨_stc@QT%,eNJ =K`,ŏ! ;$`l L4DC(_(jiL$bFW ۾c\ >a_[mI[ U?6m?`^oCzlZ veʀŚB$%i[Y\4*fĠ1[BS/`J?j.v"ǥD+ څ˞)Y4N HD0F0uT~4J#Y)r`7TAGjsؕtvWY'3t4<=U9|g:!br$`MM*,F~MW=WbDEܕ#(IoږRyE~rTǪZb@D^x>c$MJPS2ЫϺ c#6 ޺-ۍj6I :JRk+ہ6skvVTBY%]. ݩJ hwi<o zm $CХ |E `@S%SԱNBqL˲!D>_awͽ Z-7(>JwXc"V3yz`o⤑LQ|iMFġ lDV&Rֲ45=dK $ ,bLQUg Bؖ]PُXMȞs4A ζ*Qb>yJCUL8,E+ۛg^ދ+zX29ω f^1"Vh[x8Lob +9QOL&)$3n~W~Ž/%H(ĭILپZ7M.Įy wá 0fI??\N kҶwb.|-IYZJ7c (\O2HeߛqkagFlbdܖVkVmqқs)[j~U\;ݲճUK=~T=OX7 2K!BzĖD)3?e qoC_D @ȈSNP@rbN߿iku6vs ]{t {l-7NRzч6ID O#ID5i7bԿ& S }X'.^ }6fvlS *1L*YA@)<*BxyT@B l"K,da%+kQ 'Uf崸d-)=%,rHBڻZ+^q=x$ \E.Uk0ڕ@_sn_ ,􂷀:.0{.PzJ2 U:Ui1?tQH\XE诜?SAe $صVUZOçO vusڧ չ v__Omtrx>[@.1z|k|Bf;d@`@}6D=uM#VVy EFVN4Ӳ}chVonT()$@)\Tz~t SZOn!>b[TfjW^ܾԩɐY‡;:9Fݳ'?h'Yџ롺6@Gl!!$Zc7ۭ7с "u&̞[X*bs [^͵]W={УlE줰F~qB- Bd?!Q=KY6uk E`%`hGO« up=㰙>FjFLahLn[^}NKN(}N_De< 7#H5t#P2qk`'1դM쩬=Њm\5#KǞ a"h2Sdj˫3B67ýeU;jE>ض%F@%xd hm)/뗯X~LrɭB7YpR l@Y9`37 (򀤥ǩb46Ґ>rHVm[,q'؞(t Y $IQ5 Bh/^S!iv9gKmU xLuS1( :uXY#ؓ46,={6L=]VWN|;|d>$ޖS60,d4OY0,ozw2ԖFNV({&[7t'mCS UiG;v9{{-k^ <-gk/4*!~|šg?'z&ģ2R}l$4*@hـ-[>`>s'J,haBVul,B( +SE)B 8aK% (AM}?69xm6yQ{miR\lbQDۏ=,;IGmh#k|D.poJFzMmFdd+c; ièf8~'`1S69o{xIβ;YsvQ hLS/LD2n4"J ,ч2h8wRW|40EـU5؊53Qrk-`2?L92MUu5I _\@>в0M߶F >U̕Cg>[.}>@z-B@P-K4@%`}X)5Jn>:DdG IRY#I3m4k8yS6qcNlq?ojzvLЌ@k$'j6HA( *3ۡ+fF>5dަ,(vCQ;x:k5{=|!:v4~3f0B-Da47`SP@넾= j&z xlQt e{vmuMea^XEۙ/}?DmPS)Lœ* ,UX)%lr A2"SϢIZ`iP$ &`K5Q!IN0>ѷe'Y\I9s"( )Ava";']*WTul(b]^ Zz]Ԁg,3Jód×mIjIJA& &Hx[ԫleaޜqɬHI::^p(![g2l*LbTz0IzBH *n5lwgJC$asW2L52Oo^tj`p/,zԩ %l'!ٶ-`0lA y o&mwߺϪQ;i+dSړL936IAb f'FeunfT҆:UR,I{D$%m1ބmF![)א((? Kp|PɢPsn7Z@^-=Q;pRS= UnhmJ&Oםs}=+Hpc#isEdflÈ∤ȡQ$Fڷܗpw}ta.mIP]Uϫ ",] #&\ӊHn:2IV.G*,bik,kӵޠ甬Mt,dF5 ϲϭIvUÙdke%=Iг|2~~&-t/1 =ɨK\Cc_|.;3ukK rLs8."{FgѧeƗUڄHoϒBvVpW ;L 6F$JL^'&ƈ`jMy\+*2@P7h*Vr; 1Th /_5Oi4a3W8'䅺QI@,x.qoN:N|e$1цG%%^*Ys94oo&`&`&`&`&N/vbAzgD=qZt,$Bh|mn#ƅ sk4֚IK6}夼G9+YZam  h5 nzIyp4FAm\Jh-'|wG\Nd*0oYwы&䥷ɫZr3'Oߛ_U6n;m<{HJjVP[4/ҙ1y;iҩvky4[aQ@UZudvᝮ\{io:aJH(w|H`}V5TE-c4= HB#``|lUސd* v$f.΋ 8ǣ;ނSے;Cunfffffx7=}:ŒZt5%9aMkNKzͽHp|w0d2ΤNr!>V X7vrLK68|sC=/'qy( +ieMm@ri.g2= 183՜IV'r=V/S!(z&J](zTnf~qy}MdUufu^8ӃABwڒH0C=S׮ONΦHW~2%ޑ&r?)9?u5=ǖ7gS\R{k].߸iƑODʹs '5gem,! I#gSSq4O(<9 dsKi̯%F*g'TUosgiLLLL _EfS|cy??yio$GDMsO޺ }UFϵ?9?y# yϕ^>){71uB淤X*Hsۑ.25SAE^W^O1+ h+nV55)SI4i9j|>AjI@䴂0n#_ZQݓ;r0d*X ӭΧKMYאr'r߉@bg o9 is227ZJ:8"ƠL;%Mi9J8%>;hyaQnd4hQrGD#1 skG90G>ry" z]L[3rp xב_ 6j3Mx~kp.000000-Ai^%lKkI(Odo 8)Huy AXMןҊ;F{ݣͯ'_$ssV˯aX'9*o};[F{GE8>Lfg֐we'6kg ]V`M06NcV!5NMi*䗞LScuK& SXBLR1tHuk @JNާG)@&|_Bu+DM8GSX^I=@_9@iβשҗ[2} S¼hJ@IDATkKUI/`!s<צ4~|LRDjջ2L&<[}X]9YIT733333<@ÆlYP*,\Vԩ<{&Tv:g/'8PtWj0XrUt&lvRߝ+1+ 3#s <ٜ,}Dx7:,k&0ddZTNpJרtؕihtU ^( NWdxY `f-VGU egKf#9߯ˣ{'r5 ` \?qG(:3ѥj|R2| >ѯMP\65(^]W,l.ASIAT% LaB?}0 "X9_=fnkU-jrUוaO^V&6E}n%I?%C|CV2zE|w}FoJfE5cEuP;1U+iQr9;3,J$Ie͑Z>7k.DY7$o}Y\Z_|u1A! b~^?굤sobƁ$Z)͎>2vQC@S409*A'+Y(ɱǞU纶5Rc#5L Ӛ gp*/IR,Y9c"ZT9gtA(/1LkoP `kӲ{#{zHuc@h:udhU'8Tdk&u%b6 S|ӍINv"cGF }'BUiյ4ZI1-oy{33333/v~Ghfѓˀ8r#}9b|0iqX6X!BW\UG6:@'o* FYL }~\38! 3R"  ?˯H^DYH'udRFqLv~ʱa*1ې$VͪL ViJ4s}k`()9 SU[~X:$Tz$3uŁ95\[Hw#ɍᆏs~UcD^< }W-ڿP fffff?|t9tܖG m&uV:+We5Z#d0h z S._c¤lfn!.E ?#Zwf<Ϣ"2 Ρ|vᄐf-;HJ_emmY<ƅLj/W`XYW}QE2X`8:j:]IN}ԒMtd"JU譇| ̯Au͊lmĮ;L9 |!hZ]ZIPLZWaMoX%οTvАӱk> sFәFлD:b60eh>r m6`nmzȹg19Q վ0u3K>-B/J\z033333 <@z&Y0g_aU ,ڞ'|EXcܡ݃y4S#Dz@ZҹCȒo`2٣Cui1,}gG^|a9f_ @q"VKD'== T/d>Knc@+c`u!hD:U<`9\CyF$ ק7p=|Zg8?-OB'RXIaF=c,/!suyoCa-.aHx|Ryϙ̗م%8g`ӳ\%1 1@db M0Y(ć!* wKUb3s>nb4`&`&`&`&EN/rV_yF$R^W+B^ݗ^gE'"&ZPÉ{CI[L_%Ӆ7tg%[cB1˰@MeLQd dr֦2h<^t.ot3X-C6@KBLUjέKG H}CC48ż2kjtY?SQkRY*+qO _\cEVtj\M8[9U' 4 P̖Je?\:gPg{b j0pݧMULO_Z,q<~c-/_+q&#X.,+&QQ0lX WC6۔|133333 <@*OG"ٮdL-dK@ Ӯ|t+ xC_il^r1ʴ'Ck:TЀpK%A<0ӎ(IwЖd~~1ҞpNl8sY5idLkj"AЅmkV@SD uV50aFć%Ye;pdj8LȽCa/Tx rmz @]A=5GG'o=0$I*B3sE)es"ksrek]V-2RA-vLJloܒgˡC*1l*5AM_@j[03D Á, Hy B@lzCIHO;KfU=!}cE|wG?9mɵE %]bZK r矢D pt1}?iRw9{tx?L2IPj}cre5F3Ǭ5]Xo:>Wߜg a!clK mctޒ`04 ,3EMfg@]'+yZZ6 ha0v8ŵ>Ĉ#t9di Ja(MZo_#ѳ=(%MkwCW>y Ņ\ې۲ s9Z6W%z<. =I9`uLN\wi^4hc k|ZZh= a?;\2hd7+y[ZJ{c< pYm`d1 ifk\gwYc 8'ْKc4 x #Gϥ6&q۩.+nFձiC+݇mQe ר, `$|~|TbgmR-ezXj0HTFpRͳ%c#9ؿ3,Y!CPI y "EҠ=_ѳ-300p(B"e#*Sjfffffyfwww `;iqyd,JPsmO~  3>KJ ֔F)FXLTeŗLk\s'=j''=y²X +$5SwbyQf$V lSn+`eA &Ik Io  %J]k|T(錯)pSg#ZBc,-{d4tHz0.L)MF+#0>cyGȿ7"s#X!(E \/Eߖ_{'ڣy ЩZNuk8Zl@&9/4[2)&%&z6ISLm)!IP'iїrҼ;@ڣ" {қL&D+حKWGяb[b`W/desNOFR0DuqbvM5>ٜjYCj:iWV2~w>?ÅTFl+MZ.};H$fJZ/ZOXT0qLh4-V3OZÉd\ۺ[dsZiFfNȈLs Yw#oWe*?{Ǟ``+"k<5s.s,6R$G~!?N0һ.a~|o}ټA)@# ж ""@4]M X*}5t>E1^5lET [!<.'X!ȣqYog22wPҶ@;煭"]4ȭT&+ WrX?ՄMx!i婚Ĵ!3,g#`;axqػ\# b7x%s,^x : %@;AJԇ$=vc3S NfAUam.@ZIf[Ow䅛OOFz q zU,4Nݦ\_X'[4KXے#N>;rO_Y_W^Ox5I FjM(IuC7g0P.#MU kr V0QM- bd!@u{5 eL$y \ zw.dyC>|A'`3HX1ZqHlTX,dab]^L`jE[ {-aӖK1̔a}ºΦ@v|Is6/͋ѴctJ}uj>.gN +X>f48b8֣AEY}2" bݮ4lkҦ @/@c.ɿo_??zb<}Y'ӄ?iC$A< _kk?74̫ybHp'z2zצi{2Xe2>ci\URP5 D~LLLLLNڨ)s@IcLi=-'5dªWdi3LJ}XQyۢ3zZp=!B':jRx-@>FFM?w:9|1qV$ɬKn@rNwH,ӕ"F?! H)SG,K{M=IT`LB@}7bg-K\釯˟MkTGJLc6DKo hNWqdda Ufż/s9V-_;sRy!zt.C$) ]Ƿ ?Qɬ Rԇ1;AJu|7*3 mf!-S1?8$WW $ܹel^]KKy؜L;7#i}ҁag,;7T0OF0}+ct;}dAa&`&`&`&`&p'`9\JfvYZg{zC ZvRIOۘt$_wvO |Wji6Ja`2} Vގ|RIF.tOaXsYBqz+W qB%O,υBHwS P3'JYF<$8R`͋\押Ua8#XRɥVa'S~b `2Gr͝1섹0rRh.gS*C/ӊ+7r*h)Tպ6H%0< .u~zuF'2jg%>E@~fA$+Ȑ#"݋IV8#.:G{#f>`"3xxW.]Ť*zNh^aXӸ DlUz >__ cЀefffffyUS' 9eA&ƞ /Jw\NFK5)ѵ?Ibqtĉ^\=6R#ɬ&`#SH@=U Q'fE.&94V 0cU3uME[hH .t,tTN!)Ui5){P#Mg89gcYb]163rѡFO^7 W~DE&6{?F'4.+PV8dQ^f1]ﴩE\\@'O3'Nu iu^KrvPi <4%v'3@ @*@qqLG9a&`&`&`&`&pq'`9[os/-g*<ΚXL4JZglqMo`JԄYkG} ;c>vZ aS {ǖ4jhN0kjC6/OL[ ظgpȑ2)ɣ~W^u`Xmz/w>>`)]J% _ KNiВRPL8 \X%" 1棍Jz!L3p4pN֗q\9 tA R4:qkOfr'z0]BZ͉~|X`<=dR6@ܡ3->,*l=;%8'H'rY>@P-LHt,c<. =绫V]Ya`ɬL$6F0o E4`RTm`쌲8xC\0 : KE^ z5K ɣ;=e~|ЖE;6I;ͩ\s yYb\gL;kyrŦW[3DdIjEeJ-AgqK-axa|p<. = M\:r EAPN r80Vr2ny Y6HHuFXĘF-`@SڌBu#{OY6丶#'AS7HKY@Cۘ$Ե~֑O,PL%@w<dV–/CJ3@H\uN ?VE^DI@$&/:7 8blgOOZ\҇$f*q5y$riKvF@[1MĊ3BYkTB`Gl&Ely \ zwWc'mG؅1h*Œd΁Qi];UNdXWʐf#QtO)V.QV5g\Ӹ,l,GҪ?_@~oEܚ|@渒&'\ r׆%l#" dJt";CaaqH8CP@YbI9CkS s&+1A*eb61;h\ lEI `dKE ëKc*t؇;R[lnsnc䑮iV<. z7W+3).hw>4si'`A-^!L`C~hMVT=2z#B谠qE [.AVŒtvfv:/J{N@C`aő!Ag9) oW}lN1ݸ'kdf/t Xrۥթ&8N^E_CAZ 8/3au)&k8=!56UitF1 ld.}=^f<:G5^ 39ZfS0<-Nj4dU<0Rp Y6L.)ӫ8ql~diJZvK:`1J-%Ea@`3t E-P,}TC6VRN>ֽL5^v'QKQ 2scYR.\)DmM&2N9 -o%F79՗O`R&UWi)`6]R Say0~57@a7@e -3Kk^u k“38nB,D8 k8aZX/bԊ{,HERdN2r@vjQWS_Zg0;D(0,eKCC[:Tz9ߣN39L WujZ'R}B;k=J@-X5]g^uhN)L)"BXY՞z|`033333 >@ g-)EA*u^=U$(}Q1i=1`4Rd\]ć#-ZRX-lOe) X>+\z 0RcY't}Bmj(#Q>`ˁ݋+:dkT1E2ɡfr2\H*R&0Mb@.{"?{ iJpH PKDNiz 6;!%DŽF3hDK7*Tw&љzBّy1@܈jrҖ::'Cj\*˩|]TUl!Cu^//D8Y4 [/Miy \ z7wFdnv181qĪy,#`ŅMiYą]5`>JϤsJ/Y/\qȘtD'zO䋒 CI]6?4&6g @ӡ4bc9!h+sqt}\X:шVDdN[g] PJ 4u`tD!JVm+=1Au}dySdrJg2:dU>9f~V*̣>,-PZO)W՞{X>|:FJS+q涰 RrZ]mx4u@#.pܯhR*] m%/>t S7)H!k%e~ 9V3=VA}Yzѐ&'];z!hf0b^ݘ hxH 537Vv&Zq 0J?Zk u s `SYOw|չC^ApDE5_KGO"T]7~ ӌd-MgLLLLL"Os=>Ҏյ:9#`MBH=OD7>c:uk0or=9[4qYk=}V!Xdz<+Y" ǏHx`5?[`@ +:k 7 5a,IrlQ6=\URT N…*O-ㄒVd`!,N 4iJ|!4NE:Z< GjnyA2C'皁].ScՎվlU+Tx2O} &%/|wߑbE|}پH'033333<@ #pNiuPO@@,S HR㰍!2!$тfZkXYza(yT@>Hʉ-Ä]3M+0擮T*IzJYixBדCӗ0}jakB4TXk>f 1#58-DjW8(gMB]/%'bg~$;SBSCj0u)ִL%By@ D7VMV!}w8)dQ#?r6\*G1y5b-ʷIʜӇ _L jLLLLL"Owf.u iW`s#6 U XJO ii& V $zt0g|#E WЩMjulE.=LO:}z6;ivv"& ́VM=njZifĖYJ= w2S dZZўԮar3D02T2>#w:p[/6z\hM N.iWz-`88U~%TqG~vos,އnWk8յ99?OW49ʵyY^"?{(+;m\|˨>_dc~133333 :@<G#o  }]0O1VAl ,*p OUydpqg%&h0'!xm3ND - [nbwd4e.XwcY82ZmN0( Gx1H NhN|).)&!- 8&GנD˙sXD,D#%iG2di[aK , M%CGՙX@+;=`S?l^[V0:5w%'M~[wg򓿸/ĵqcY;EsRu $=T҅ţ' T)Qݡc)T-"SB5jɫ\G 6jnbNMsw]T dHP fs4Uv>'d&y L1Mg#(,AҜ&k `4$=UUk0|^)s@q ViB/jTBn 2 >uv'CVlt>)d0'`Gz|>UWG:`)r7l|vV<_F%>x6FZ ?A[\QF)3XT/s4N@ۿ||}:.W`da87Z733333<9N@;] ,Ȫ6Ur Wr\ui9P(RJr.K_z`c8bo=cQgdM BT'gBY;~2925r˥kyTȠ;MMsKD)4tͫ \k*uW]+H9ͦD}Y)X·sN G^,>vytݦd,jP5UqiʒN> ؅U@ jy#yb! OodVs&{hp\R0B;sW >D 3m+ 3AzNZp?=s$F7boH!;/?~|? \yrF B4}%[ |0 yEt՗`8$ hꎏNeaЌDzՠx!Sr99'%T2E T3z]!5gkr՛IJh8+IfWB%*`%o!`LRbfj]R ]ϒ5'VfI1iuT`gߠ}5Yk)]֌L<+W?,>#3qWua~'}341Ocڟ\6'w`FK[pq(zڸ4)K*POiR_D˹~u!J|ܾA}/*>Pb9yvt\z{ 2"ԎNT؅IM껼@?=5eEp&}PSNkUOiM",&'`VhaU9@cyO#S(\]"&.:b<$}ǝEٞhcFVw5+)pT]*=zVd^WL{47˲D~Rɯ=sHLLLLL"O ܢ1 L*HKI ѼO1j/<%5G}6`FC%gqAȁFEw1a\-Guԃd*qF͓4`[D 0!({tP7U?`-4 0-$}c3Vy%/iN΄iNp9+iΑkVzE~Ն mj|.|u!NeAYo!&-?3;n'ggfH+UZ_TA'o +5OYt'R;lK.{ʏ~F;bQokm,U9*5<<. = @x@925:)2 (dƈ(FؾH.@8F@v&R~<с1*}$ҾT^IFnjD-''5DZs8Zĩ/$9Y`Sn X8MH LjtvR)AR*n( @:&׹K0ھ@&X㭂ueȪ9 M+rMAj =e?.7κ<瘼Ri>U?eqeA>wG~gH ʏs^Y+ "(2-y \ z7W}0xaԦcX>pe} O>Ods8c^?E ?ήP*8?Ƥ+r yN$a1w"-zI>Q 2633333 <@SC[+SАɀ,HX1Ϣ8I@e` J9œMeh:rCu pVcU05LjG0w*]X)ɷ-l /1=S]GKrvQr &'H`*֢T @SQiB-iWЭ_K:]mgC)Jp @5.7zuxu*LsفJ"^4׫,mzYrY'9~ʪ*<212kEwpk?#e>k2a:qOZdL6Je$\?ylT[F>6 vʲr G%ըsM查J00000OwV xHYg@ ԯ)8LuO h R BONR {LsSv9h*5!) cLC'~Y0[W#奒*ɐO4'kϕeLcd>c0V4LNWcZa&`&`&`&`&pq'`9[ f]j|jW2svQdjz3d9t!BGw2g5ڇX !e,H%PNC*R[ϗxmA Cy啊..ޠG0|[^g$Z<-ESrNOGEΎA^g(&N`SƑϚ{'l֮lY"$l Ֆ$ny6k @ti?l"}G(<}XW̌S|=M@fzb]B\zx&ѯZ `=62 ,z <̒`}aV 1H\͒4iC޿s$3TPbʢjPNQ+6C>CY/Q.Ty]LB yn0G1ykmBEOfr8/ʛP!QFK{CNdĦ% 渖S"άyGOq*z9t/R^RUųq$(Y}  ô2v\SIW'bE5"C\'QN+VxjSd"i9:8GGh8ܱ“q5YR64F}Y+\YDjfffffxUfLujiRLyzz]+I@ TL_t%}t`Rݻ-1W^|qV u%qH#=G/@E{TR\#L-^B*.wIb@^VU+iq4>0C֦S?I<·(4Kyi ")94oo&`&`&`&`&N/peR"jS%ec%2ցW d/OO(uGӾ>{jPBc\6}d+]յ,eJM1y̆'>rPNV&uXUtUj,A'U,42(͠Pnݤ\ r1ȚcyM3OG0t_"krCjw,bH,s$%@ytzvyh.of%~Ge m+cu|sd&w'\#&eK9=,k> A=mP!蠆r}*=sfS5LcȦ`N\>Lr͌{y)U'2@:B8iYp-QFjE]J8;@%4cC03=ztO(84Q4+zV}bp|>YY& >VQ< >z y=8qjV$@)(FWkxrޓ7E#ۗ@uf~/CiP{N:v`Bo>"+ .}bl?%Ú'<+]m[ʗୀ(k)gC'&'i{uE z1T`Y*#Ӧ-={]d6+vŰ3{2~!^WF1q͟7%&ITK qmB:{Zm ?~@>HKj%N] 4 KG_% iMh0+p7&%р節Wj\^ Rtk}v<Y+q72IdcZ@a&`&`&`&`&p'`9\@ R9A+]q@"Vf(#QM-QIdz,X;w0f) B~j}0f1$uH1lh(}Yӿ82m^%x|# #ԼP\g6a4( !D!0@v`T.٥W J3Ig qP4>ŵl}?*JׄR? < I@z\000000.O X(GzOM0CUVϜ亾IEpq$e$kI℈??|iBڲ029榯ġ:ס+(3"Ӄ(#88""*N8^xMnML3Yew2h!']oTuΗY{ T~Fh3VB6OO3ߛHAxxܰB}t9 DZb =̲~߇l"@d$#1Y>t{ 9G]xX2"+P- }BeJSr,1n{<"lw^~,51s3K%jG;gka( U͖8㉐HB!Г|.GOɘ9u++2p,L"p.lYQRk֩wes: #~76. j(_B" " "m_.cPI$1!1zg)On+Y1P3 @ :Y䝇 Ѧ ,6%>#͏-mXR,e.A!8DִDJ=EKL(KIdA&=zo+ kee|BgX\2<41L+EiOxg|/ '2ѧ EֻE5E,gmR, UV k$+aB F3o5 h iZ CB8?x#'  (x9t9(ς{NIe|U8o(D$wʓ"b=}(uK79V%┿KƒX]>hH @gS ,o$afK,Y+t]/St;{ϓ{?xu[2"" " "=ayY{.kn;ŋĉV^^nǏw$U =|?el6|p7l2r劵okG2۲eݹsǸ̙3mܸq|̙3֡C=4hPhF*0`M4ɺuCR &! h`,nN}ϝ_~݉DaÆ٪Ul0a8pwىӫW'ζ'0{aEEEֻwou͛7:vhSLGnSΞ=RRRlȐ!C7}}PN>rrro߾ " " "-awDZfw={i۶m WQQ἞<@[zr⳪oO9vQ~3g-Y._l+WkM''M,??Ų~ڵk:GD@D@D@%-xoyGB:tt_|D 8P۷ol13bn\"58ϘSn6l9eL֭[}2UhM=bRr|o;lΝ-wb>zmԵdкukҥVcǎuv vj;vQR3P#Fk׮ƍWxƤRr;N|&$$Ի$@=i([n풃x 7X@bB# })$ٶm[D߿od2ޓ-Z0^;kӦKi۷o7 JԲeK[x/y^ = ]z9d#n xԩSqHz9Ms0+Vѣ]VZse2&IF?v{qs̴gȑ#] htlRt4E(cB LTZZjYYYN޽Nsg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|U\ 8eXIfMM*i_@IDATxxTmP) MiGQDPU)*`EPPAQE,(HQDA)bAPAzzOv3a7!e6M${޹3sw˻gc    a7$@$@$@$@$ P@$@$@$@$S>HHHH(@    ) Pfg$@$@$@$@| ٧X,XV L&dggP}6>a 0Y.vy͖o łJN|ֲ&FQV@@233 …0Z_0oVX*_*O_][IE%\fZIMM@n"C$$$Ǿc% ?j/111w''))$\CYrr޲|ٱg$@$@$@$P) PV΋&   #@Zv3 TJIHHHP{L$@$@$@hh   (;eǞ= @$@Z)o;/HHHʎhٱg$@$@$@$P) PV΋&   #@Zv3 TJIHHHP{L$@$@$@hh   (;>زeKWw^lڴ Nrݺu+܎ @!3ӧcݺuy3`ǎ6l:릥a/l2L2vvxHHHH DZ@&%%Hoh"L: u+We˖xG`,-    _f_ M?ӧOcÆ v)"q0s4qGΝɱ~ Zr{DZm6<((+VpFXXBBB|U`0@x}9Ȩ(Z]{^f48 E;RV[0Lk kڔ l6Kff<+t_}Us=zZʎcǎA;l>|T?^|Uԅ|OJߎϱ q| NabX4͖{oGħj$r/_ȟ/?r{-lXɽGD~D 8'_V ߧ"V\D9gs46p@Ǧ~A"OY*^"1%%HA!iaBa}۳nD@we021RR`he֥dZ9tt4?y,_}벰5 qZju<۵jŌXڵuA$@$@$@$P~#h{!ׯ5\Im7n$׀:@G\%s-c#g\z}q=y+YW }UTk@>X {d hLLL- 333^/_NH">322GVVO~sE>gvJ!*Zq0'w&#jㇴ(rUX/xQ36ߖʒF29rdCN4?6EYV'T  Vo6y3&z(p~0:(NQ̙3|IQU =X-ZǜXH!~eV=: I/΅e.^Lhe-E?Ɵ~ժUs2X֯_W8t׆~巠ҨQ#RJAUHΙi|IOѣ.B,2\ 󯿝s_lʒhYþ?#**mt?8;v݀,,]_~%V+ZjѣG#((HpB4h@> 5jq_|ǎ}d$$$@ڵKOr-ܹ8IJJ OϚ5 wqnA-WedzkŘ1c?Ǻu裏ja-K Ə^z)ك'O{m՗LK]i_\cvPjU==];c){ァ۝sdY,p;vXͰ6xk-YHw(gN@t^:ƍR65jX.#&wM赞b]5ۧ4mw}cҤIxpWm۶Z`$oOuwuR-pb۶mJ[nE޽QF]fR7o:uzH[iE]\RD4ر>M4^Xue]k''Bp͚5Z.g}Ç7xzjSږ~vsƍZ@G|a{}aڵعs'/^ݻ;"Z:{UEqIju m=0k6N>?bEpRQ#k h1U]vg!'p 8"D˦Xo߮u0 ID8!T, @"`]=jz̏y8 `~Q`JxUbׅq$h | =;hKY)H$S2,I"/זHL"QVJ cǎ+N'S?{聟Y 0E"&]n4+b:}c„ Zw>}"v}Jww2ھWkCl2ȯ-װQG/J$Y E:s&#k[>ێw c?Iv-$="Fߣgz>o;LEuMBjTS\wˏh~T*>Y(V8v-"baJ&k)VE)2}.aÆW^=$3)kBE-"S"$48DI<5ID*]5רW(yɩSI+YfPEĒ)NQ",Ib h˖-ESd"DhJ&a(?d, rN@fԚ{)<=E݂ou 5%W!]e=3b5b٪HE"D9bu>P"N G%ǚƼ\a*bAX)^t -"c1,D(;2M.V·VZ^ԛ&V36fY!)_~[ޔx2]ą/!s'GDD PPKΞqVd ,{UB{aZ@dzR( CyB~DO'ȅNAg~ R_uqħ#kI˓1 xF lY78(?CRzzy|q$䷷#  \)?ca Cs_Z];CgdY*]%2Fn+" @ HH %:$6#j- M  Exʒ-eI} @1d] q78ϐ%Gy|f7mėA[nGV6Y$/h;q @1 vs7@VVHx5-> dSC"oP3{!  0?K|ԋw3~0('g#uҫ}18W?W<HHʀFud0[U`Ga%>Qɬ,-GJiv " 2)$ z6!  rAOY@%3Ӳ'%>Sn .Ew[t5# @wc   s!G^xj7p.=\* Pdc$@$@$PQ͵M|@NEIؾ .I >[*oߎuAgFRMDĻ:iH;S?H^?P牞|8wm۶?)b6lNeٳs#  (鯿s,J|3r>^7#isa }I7/!!R"Pk@qa4nX_B5#GxIJiFٷo| ֭[  LT%hZGܦ`wM}ۑ~KXTxCrpp(u '~lFFF"66sslȴڵk|r.ػw8p/ƛoU:L4 |~.믿vFxx8%󰰰bbbH…Nːl%Vrwі];հ0PVE^ y3Zk ףj7tEYzvUMfL&4;.1);mabQ!|%==P.@MEmU\XE +5\hĈ?Rd^:PG$E8LM}(hFI= 7eDnʷ%W !C&l6#88اcV``-,q0W(љCa#"eP. -lfT.,!)E e֯A`0CUP˙;7@-˄\E ruA^h(ާ.@T?DE4EX?k׮/ 6`ܸqnd^z@]K׮]]u+]}s"*rDT y.y_ˏRǒC@ħ%sj%!BK %" 7 Ϋ5d_M|-{ƣǼٝrxZ*w7/%L|v#*QG>+/HHPNs$q//DCs7WcwxtLX29nGغ}hRfUAzF3NE$@$@@Ȓ7`WOҕw->g͆1.%DI=: ۶Yp^j_:PĨ0Ajb&_=~y[8(  $|][ʺ0->C"Y)[D R`}ݗ@w+WcÆ uWu8F0&5kU 'Pq@ GIHHP3uS],"> ^(>?B_\ߐ}~qMdvWE=Ze㏃k!2%mf*˧C|w^WZ@p<$@$@~M@rY̨C/] Uk|~}1gװazUO?h)> ,c4HHl dv_EM7 $gt$9fp;Ot@.'U+J9-)nQ(@p\$@$@~K|!/W^D7iY*1 w7;_.(ax0!ɪӏ 'p l  @">`ڷ7uGвծ _#cg]p=z*GL7rd4tϗ_WROy``! 1c6T1تVH=JUyLxc׏^ڔ)I*{ ˱|+m>*gI|7HH_ kWQЊ`Z.,n? HḺ.6 B:qby&UnIHL ;3RD5!^.SzÇMh,Z}9x#n*~;*KT-e! PHHHByZy_{|WŧQÆ:=Uz`mv3JM~:AOPAOq^}5xJe!@ZY4HHg$}ڰժpLh@iXZ|v옉9sѱc~b(iغUd!PIHH(%z v7ރ[E ~DΩ>YWU3'~=铆3|ƍ;vzufI*Qۧ-wc' (BK#aO@Ӭ_??ctбc76wr}8x:R6H$@$@0$X= /C ~}$YիwUذxqOBVɏVڡPV[ ' ( #0 N|23K?Yrx_],O֭3qX$DMW=DAsOJ 'ϷwV D_93HHOܧ4ezy@P 2z@ȼ3y2YY`_} l]a5")MLlxe-xҥ>jG\Ӧ%.VlV˫# 3Y͛tIF|Yڨa0="mi#b(/yPfCOի!9 oͪBI$*L|J#aoY0vl2ֵz6+ULHH=: Is |dyNL [TZDk7lU"䅗y))1X/*~i7tR#͵^(wGM[/˓Wwwg$@$@$P2zޅyex!Hy`2ǐO?fa,ży ؽۂ~(1zZ /3{Rʴǡ TYC⛋i3nA*W2?jTGT@V ݿZ?ψOa^1;!\yK&OA>NMF:6+TG^i*}E=f9bBj9V]g(@+= Y׶B t?{w#~ͻ`b|veAokZȼF5 3ǟ`?t!TƢG=;^"o/{*tD;>wD+3g/3 hT)Q MB^^ @y&:alN+\K;+4Lǧ!P9՚Ѱ#i|iHLD/g#Gb4Ԯ5kZUxwݺ+k];v-HH&-y]T6z"īW|ʖ䍒O->c|Ƥd YZ:@Qjׇ *"?,w36ǎѸq %BW/Ǐ0q8>qzߣ&<\[nH$@$@+W#E|:( 7urF^i^ & bG h{K˗_ԡaV**޽(*X0qqFm5?p}LeL:)SХKUN*v/j<^zh-=lHHFZbxTۦʒ*| ]Llm)gG_!~J^T jUY=#Bڠn٢ȡʕψ 7T\<ΔL4"†Pt$1>_{Ǒ T" *> ̀~ ,BB ȰA3`s D|NDH;)>t_Ly1UCV2G|E?h079ɄEty{Nu`E$@"   {*(=>veN 4QüORNCw!x@ 2߻wolذ!DWt?@yevQqB]J`ЖO&Z h K?wσX4zHDzeq83y9#)rv8\  0*k`Wm \$t jfڎLUD|0@ߎ}]v*f4[Tjc/7ͻv#H6"> ѵk:TC!>%Ugae \vY6.$zZX}+{e8  (fM{8} ^EҼgUv=wZ.0" WD~m7)#!>0(Tk>1i̘(شR* `Ϗñ @QRgY[!3۷"Դ75m~jU m!|wѬ{'GO>&4!JÑO˷[`ڷTUJJT 3++g?g7n i<N*)ٔs-y_8*  `gH.y-Rt^InNqħnD-S=)ީHW)8ǁ?&e-XP]RyF ظәHH 'p^ 3f!y*lB%YGF@pP[|6n˳76mVPKTys).GhT >qÒoN_5Upp>T,3.~v 7y#(MJ;tؔ%l<$aRxXn3fJPH'JKzR.i@B"l#:w^ލ$UgϞضmoX~=Jika3n>Ŧ]eNJJO5▕+M><@}nT, e}LrMʽSi\Lȥ׀5x`0ߴ{ӦMݾ8׫WOۂλx|}#T:>Gؔ`UtdP60Ƽ:ES|襉U  B0l]Y+GlHH@~ӧڴi뮻Nlg}V[<{HHyp ){?ݺ M-d7ԓΪӢE&6RGIx231~(4 TXYlޝx8f  (ħ4UF ~^zUWÖ-[`ԪU/Yө`Y-2ᅦkr֗Z]`T;mU'c*QUW9fL2~XUf3!Ag יrj;  x">͙3GolY/8k,,\Ƈ~&;W'?,>q^MI!*%DT#(Og5U@}%r=mY{xZ (@p`$@$@$pq1표7|}|v;w8LJiӦAΗq-H= D#X#aWJҢDhaHH@ʁUL,? ;fe˂`I:zt(-FӬ#6 ѣG}Y*|.rzplɇzjp)z;Gz8)^QQQ٣=/xʽ7/NÇq8rQFKؤI˸袋O8^6աdZ^޳E$Y^1bdRU~% aD"'pz:ST\+V+1j0cFF8R}sn3챨Iwo|=Rj _y]}ANH~   ;<-"qF0`yovVիW;b o>B7Th(R_>\umKDu?U Q_nQWXd΂ԩ*>ե5MWGbf㻷g @ lHHYaÆ;w.+Vॗ^R-|<Ǝ ~Μ9S[*/[2;݀WBVrɧn_FʔԠ, b:|'}I^+*kP1aB3!N2Ю{¸4p hiPe$@$@$2Z$ S֭U CR(c#R_-[LMs(2Vo;b:tFF`<Y*ҤO#y3=@5)l)o"i:8]}Xl,Ot,Y6&K-Ϙ= _ڵvJڰa__Ûonݺ9ŧz"> ӧz&Ϛ8t?icF nGZ|;AC~T _O)!>*S%D`S6^L=^ wzP!  (Ԧ=zڵk`vIĩɓ')yv~A;*]s5mO1nO=+w{-{2jTΙq|'x"o 7!j(ݗZ>VbܸiQ(]vK4$@/x'o lv? f"{6zD l.z}fΞQK֩SG`:}4$v{vz˿+B r[Co*,w ":R ~})BzF դs`)Htt4*>*SUNUvSV ٱw>P\~ ;HH*-[/P!)L!> y7W^>3'ٳGO{ GH{ L"J|A#U93=$OuwQ{ÑhWYJ"BCBZ*[#|RjTjh0 ?P->۶m뜊:tvDѻZ>)^~Ul$$' +;OSFW[0?2)#u0=Pc:Sofl?ufSUx%<*},>'@sHH@JJBƍu#2˗/XM]ٳ/t;$X\Z;%?1 pzV2>dve {1Dķ^+ټ%EɓF`?cDktZZ3g&k4㏃6~lH%'@Z =gx?GO( R/kQQ9jժp#2e̛nYJS`HNAa;󬔇 k/%PO®2TfS^i*lTrSp >ɦtuTܼzu='@9+$  M@2&ɟ񘇤@IDATc˖-jZ15%SbJ.y/HJN]zπA믺O9fyo *w|&~)k[ѷo^ڮ]5zq睩[қ UKXHH*8 /Bu֬Yx7.=v옞u0D>9(vJmv+u/Ta3uNДK)S" \+Q0jT {/D9MDTׇ:xyq@M @9' !d:^s]鸴,~뭷jiT鈦N_~":Wu]O:N)1>!#~ %^CA&#>p?"osEp>Nʙv2%IOGr𠻍n qOx TxblѢE)RrʋһᆱrOP(]_,r\osؐˁW8mի!]$?> [=,L9'Mw+Ftt    ?3ʑ纳ԼwΝu͛7PMvfQU Uy'ywA%O `޽G- 5#A\^M[h1&$@ӦE`0%#1dZjjXE|àOJF0:DСr{qRL*$dvOu3?J m%UniY *iJGjP4V~zN#$zs$SΎ p1_$@$@$@" k=t޽>S}ܪ Rwnٗ^_ժ%2۷ȨawKYH;=X{J5doC,gP2h  |: .@_x38 Ruk^ٳgL{ɏ= uxmOֺj-[9Zl*eg[yᩧ± ͛gaĈ䜢VE p @4<@$@$@$ =uâyWj0׫5/>>Rby]~O|c?? I [4p:C~q;tY' ڕW|^sMZZ燩R*T19_}EbذhI??Q>   'Y)A_{-'LwQnV M*E̝;W[<3"siiiX`6W)/]v;v,/g?md7ko!~U-~Q3i#B֍zZ"p$k>MW(7+hQ~~]hrel X<Ne@$@$@$P(X}SGaҥ:^hZpag%Wo>9{us54c qc%Py5CW^{|<2oXZDӦYʫ?C;LK3^V tq:VhP]1Us֎J\J|y$@$@$ ܵkz S, F|ѥK->cbbTRɠ$C%w}lw ~kͅcKi{zi͚NowI)e->e[]&RR nm[TX(@IHHh۶-dƍ;8SQ^T^0?~\w|++S~֭[nRi0W*L4 ʊY⊆<ʎٗ5@7ѧna,nԬydɢ|R|*&h1`* TF}ɒ%Zy+ ضmJt۔)yWoӧȑ#]W痗2U(\r$*Zb޹ H'$=a6U7B.CW#I_ߟю=`H%a`ܤr h`HHH 矏u֩lAC[o?QL裏*]:ҦM9sG 4k,~͚5tRd?5۞Vk=_ X/x8z9AY_CgFݓbOu)C8H-BݺJԲK2AKx"6dȼ2gyq6$XQQׯ%Z~jTT*.   s& ! |_U*eevޭWkBesOs-w@%P3o2<V.mZ ‍"u=>:^3YՕ뎊-yk}Uj֬t%!9|կ?cQ%[JJ?ӧc%Y u)deeo,$$ŏucOa ϱsON-j>t">*pɓ'v8qDu$qE Z82/?! #QU)r}wZ ~PACZ|Qu) *DIHHΙ_]M t1ȏ=z@ZR4Ĩ<~uUP^5=-<{kB˛,U%lx v ` @KHjż7DFüo?2]4dj}Mer z-dv aN!>Í %{HCPF$@$@$A6w)f_ ۾]LA0Q}#p ߤ!CgM e* g)jz2`6O$@$@$P<veڭƯA &.*)%hZdn&>*- 58 !Ⱦsz@HB$@$@$ ^E3#陰^82RtI牏6|^78`Z |%ɼD  (D|Jvvϸ/U>woė^`<~còsRޏCHY{KU P =}v5.4hp:yLBHY)7ʢe@-Js9 n 6 *>?˗_#t~]ժ9 CքJ yI6}e"%<Kx ^nLIˎ;0d矘2e |Zd x }\l۶MKKK_bٲe 4_.I$@$@?Sً-*80'MF0Ee4:B^qs7Tj $q%`UW]oӽ)K/ڵBn*VƂ^x3gD&Mp뭷b޽T:}aٸ+WD˖-u [?j(hժ&  (TH$nԣ}Y~ڵ2U;ճ2;]k*5E'a.^w_Ka"9%e! 69A.˓Dhs/_hE o֬Y*"YS!BDn~֮]LVժU9?T?]zQDhVVOyj[ʗs%!T za! R?_;"TDYrgPh Ӑ}7I{={%_@SDChuE]?_2}ic*1l@jsL q >l|Vs}L,S=)#ߕ2)d*tQ˖$%?aRbѢb|-V 4kjڼ!~^<`R25򺌉)p[@ lҔX8rLϱ T.! !t2 oW[D8׼by^c!UkɣIyxjY_ڃ+rv> K$@$@$R'CmVMȼ`P3F.3 ve$ٰ,Kc'$HHHpONݰ64SyC¢aP!T(;~wK8    8 rF|T>y VIZš2&@Z7ݓ @ې}Y#4rH8'݋DZ,ks hYg$@$@$@&zDp^w \Yle{-e˟ cST&  (9`*v:ϒ>HHHD@ ԩ&* J{q6S(@K.&   [[|;9wΐ- 1Tc`XHHHH (@M xNsVI$@$@$@$^&HHHH<'@9+$    P/@d$@$@$@$@k x      PzΊ5IHHH@  (@=gŚ$@$@$@$@^ @lHHHHsbM    /D6A$@$@$@$9 PY& Pz"    XHHHH (@M xNsVI$@$@$@$^XߏF/ 7܀WK5 r@nM68z(Vvahݺu9 HHH_ w ǵaN:z)IHHH(@⟰m6l|/EzzzǸHHH8+S̜M^iFy z$@$@$P PVƻ^5w Fc~/ 4i8@lPD˞,Ñ#6᫯=$k @~*čĊAqxg PF`ժU^+c֬|q' (xյ+~^zjZc,HS5k30fL \ L@,Pz{״V~݌J׶lY>73Ӏ/ɨZ5n'$@$@$@nhu'*L6 GPH%]mosޡCf,Y_F7/ ssRR JlVS{!&ƆQ!nmȔ7ߜ? B߾1Pwkք(Aϕ){=WKpPqG%KB0aB$6!9tĈhU ,\ס铦'#T< ݻ-ӧ$  -bb7*ka2M=jwTN""80M⩧1`@= Wg*ZMX'oҥ!xxc= -ZTǗ_c $%T"Uv@VJ)h{h4g?[2$Ud<~4Tp$IHH\P4 gdV5-#@w S?I#D:dBZ9(e+kbq P8:b +ێ"v6k:iRoj73RR)uG@5iw'Q Y"zEQQ@p^B*".EwZQ@l튢EpkW)nET@*H)"X#-!d#3K$33y 3g9s2y[=ӠvȶҧO)]*Mj_?@@ U}X{.uJj[NשSo:SC*(pVҪjQ'ějxddzԼp7ۘvz]A[Se WO/ Re"o~"2wQme{|< ( tZ#6%ʝwzS-aSԴvmvWooٓ[uڵZg?TXvSiUi2qb.zktߛ٠AM}dgl5~zz=g= m;ŋSm*oB@6m[t}zz[b֢Lf5wtPJꞞoJ,L4]힖`z'﹦PrܔgjS..qIEMsfʥ ᇓLum/jvxasGt^kڌWO.3T酟 VUJ;_}{6&L1E&LH4k'fSo:"Ug'у6omONY&XL1K:J&O.6kmiynK6t`խO˟g"d:HnTUMd[NN}.! ,m×IVV-<[+ >1?LILMMoE5V(gJ(0D$W|D4ں0ޔN֚ -4&ٽ;tL'oxSҒ8hцm툔_knZ]ܱcmfNk.P8P^:h8?E[BZ8L z-W?Fڶw(D)r9uNjڸ1Aty}2tDsr3/||a{oKJxt>J+ӽsϞn^#'^I6=/{vz3m7 @!@ ,6m@JTSJdǎ5Z~e93ÓaQQhкeKz.F'QmJ;kLNphgKaYՉ6?Ttx-Mݸ1Q֮M4sNjV;Rdt{O]AȑmO|SZ!T2}'~" @pRS]lԶSS=ty ܁yiULJJM5K22j=yj^{@N8ћm_|u= *klO)\>X,HE=2Fq' 4kC еklڔ(wY LsrwɨԴvmvWooJ-[uڵZg?TךTnrS>mZLX"cƸe8ޚ- rl_m$;ek9yoؐh۱.^j;P9@q#A`Da'_7;Wp1#Co9ǶLmzyy5{_%顇2m Tϟ2%v"ZcG 8iĉY&07bjRؤhܒ#|`KL*_;Hu.]  GMȔMS`޼tiȐrSݼ1@{܌ -^4@ [u '̐vz;{'B@8l=lB2PY3-  [aVϴ8g~r3UW\}<dj{!C*䭷RͼmE'%9v_7\wgɃfJ*M~m䪫Ӏ=lv[#~hw`zutB 4e~ND@Ta! $RC'+m٦Kt_N5z| L[KfmGTRo]QSr ޤn#V9hP_c|LŲ`A,Z߯_y_$]VfQen8y@ P܇!ڵF6mJ;,Zjmi$S߾=T'In+ߵkTW~VN5uZU>mZLX"cƸe8ޚ- rl_m$;ek9yoؐh۱.^j;P9@q#A`Da'_7;Wp1#Co9ǶLmzyy5{_e;<=P^aSdND^KPwH6 81RYYSۖj&FӺur-97 6@֪| եt"~  @=4!S6NyPD=Շ )7Ugσf}2aB?4CYgU;9z:,Syd#kdܽ꾬~sLO<1e{?>8'L(>Ӷ+L2Ӯ61ض [fMiINNZ  ĹLj|ۢ0l']PP %%%ÍwJd"dɧ*s ]ڀyMcO=s%%q&hφm-ϯ%X;vkpH5//ό˔:4~U` 3 c}EwvvbhA$\cVV"EEEM훛kjFuk cXc:6Pe۶ޡSG &mV𩧚p\t#< @4 4&ׂ Dh$N@&h\   p8E@@ @nr-  @FM@@h0L:nf"?OnܸQnjS< &nʕfƚJݻ_ʳ!/@ZL࣏>~ێyy˛@ vRѣ嫯Kx_Yu6loQFwR}wt_}`! @h&N(W\ql۶~>gMy GSI'$^z3=Δ̚5kL/]G[9ꨣdD믿.{r'# p:t .@t[uy gϞ:t :`vs^̞=󾸸̹]a6}wm5oll^uδqqq~ۅu"GZ$AM4(N5 <+{_r)xN4{z= Źg3Cr 8dc}V0jN=ViΝҦM{Ή|{ @ihIVkҪ{͛73<#/oR>{gժUux)/῀wsh@^^^S6 6__|9iA?.Ǐ.HZW^yew3 /~I}'LJJ+B,h!@jMMIU 0[ՎH:OKN5i#- pkwﶯ(Sbcc7ONs#Z$@JJD~y __.ϹiٲeA{%'p1;S%??~D 3A.-ڿ?>\VJKK}sⶆTiոIK?;vX|֭['os9dz^뵴ӹ>V{60/;8߷ YUU#3KxS-.? t~~/_\:u]=ڵkEG( tKkZ*iQ[@ sw<+3пtqb> yC۷[K,UN5v0R2&MSw}z)~]x{=!V 99YN;47o^z6ڄJ҅ "R x?ߡIƍ;_{5[pmgmi{#MMZZ^{k5#!Gwm[MdݻWYAt ysvmm|;cj# TJnmvcź 2@C8m>hTiO,N<^Kڎ_;&9O&A|:˛i@n;~ih$Hg鵤tmh@ v.3WDv,dv;mm}( hhs@@tbC@X:!ɱ @t$:ћosYИ\8 ЙRVO:N  CJ @ hou >ǎkG,)))_]td  J@CJ @ :ԒH7lذg94I @(*y"&Pwc.&@a7EGwޑ"-@z؄dD+و?>F,бcG)** Q9 /@;@ ;hΝvQGEZO nps<@ D~-Anj#z#G@ F=h9   >5eChw,ݺu 6#Fyɮ]<h9 "sҤI/:)SdĉҡCO~"ӧON:Ig< h89 rNj|.]T "'x\q~zQuf#zsɢmC}]4hg=/@pCc !xdʕl2ٴi@sԨQv{жmjIHHAjO@@da! 9Z~_ʴilܹsW|goiZ[[+{쉜 L@ @rA o$55U~m=o.ԒQ T<@b@Z^@\Wr$''.̔;o=o@p [!!OG}$vt~Μ9vxl@f 6@->{JJTUUɰa䦛nj'!@L b@ kK@׮]+ݻwC4us 9tB{ř"@ TTT… =:oy_I%!Mh@@ev nAN* l"@u PߺgXSϱcʫ*%%%  F]@#py',֭:u  y8i5m}h֬YD4^>r ;vSd&%%+Vyݵ]K> Çٍ @ P o !ڦ??O>J?O>! rh!@4 +vNva._%]tiu`yߔ @P1Eh)2uƢDѣVGur= @]к"G$p1Ȓ%K>&TVVJ\m_&$$Xڦ[n޼Yx ѹ?s9dСr)b{LJs,HuI V;<+^ Urr ET{+HII됭8˯kHr  vg׮]y(X_Hv*7p,[L֬Y#^z1[j_fgg%־!YYYӌ#ض.77WK赶k ۷m[b-pi۶mH @ !A{7JΝC`?">FT@Kkva1]hZZ0 @T 0 ST^."A@ƨB;9"@K $ (pqovC"O*Ȼg1D~+mݺU,Yb;q2x`l$@ Tɵ @D lذ:LWyyZ$ׁ-C.{v87 >5M:رc;6.'u@>c;SC똗+VUuTHs7Dh0~-J' !"@-w@Щ8M[WZZ*:t@_P_ ^#?g-:}Ci̙vnֱ DHk3DVrg999/= 6,ꮗ B`ؾ\="8yli@h4(׃/+ @   +"  b@@ƕ\@@a1  @h@CJ  @@@ 4q%W@@`X  и+  @0,F@hh\@@ h# F44  @4 @@B#@WrE@ @   +"  b@@ƕ\@@a1  @h@CJ  @@@ 4q%W@@`X  и+  @0,F@hh\@@ h# F l]ޓ 6]n*++O>˗}W@@ \RF-_}u]o4H4sLy衇Doٲeݮ\F%~̛7r̃  [ ,#<"SN[nEfϞ-s̑*?oV.]j׿#F6W&L O>g}?o@@"C 1ԧY]]-۶m={CuAeҵkW7mdwĽz 7n .[v~e֭ݻw ҽ{wϺpHLLp*"z0.Д$qqq1J<5}PZ1N?Wg!pNp8\ ;w6mΖ={˝ ({NG}V벴4Yjꐿk$L=s^-K kWV 55xV`RD4jmuTn`뜌'OlF+Iiih[U[)n%/5i۶ݻt>7^΅^|/̔Ps222lꐼEػWk㱒hhmxJ!@~`h/v'_;qW,m8}Y:u伵?kj8V yv,]q9Ys³Wꡉ2xΧjxV C.ϊC<+KciJH=䝐[oeaɒ%6 H\v>޽{˚5kd֭4dҧOYg%NgҡN9@@"K %q7z_Ғ{ǣ4n8y夓Ncʘ1cl5eΝ+ 0=u/ܯ'3^  z8S5'999AQVki]hcź_8 DT{Ǵ$>DKi}*;4w{b2cU޻my[QQw!lM'yI6X,IK(9xcnk(it  @d hdp  --@Ң  T4(+@@ZZE@@ hPV" hK  @PР 6c/6E#FHNdƌ)mPSS#-Y3R[[˳%.O<ϕRp4Vϕ֒@[˝<@@H e4H:wcy dff%777/+QGexB k(.!ۇ0MΟ6MbC@@uK(  @ojÆ ZVth]v.]tՑ,𽦃!--Mz)qqqvuiiYwS9&:*++{X}rJmԽ{wi۶}۔gُ+سzJvd˖-wy벟'.;_g}v40VPo̙._\q9h;r=\ -QFaxe ^/7tp(++k?o'c=ֳ=yrJ=l`C,=Þ/"UVWW6zv'JS5NX<+2m45VUU/7Ov!999v;rH 0ah@,hʳ)3͛7̘.3l]//z-mwW8~v|.BQ/D@g{1s=Y4qDׂ ~ /x":#๸cǺy_gS5X>+OLYt嗻L =/Soq]ve.<;`5xf. h~ӦM酪kUh;-ضmCСf Խ믿^*b-oL!K/Ɋ++ԣ]/6n7 A}'+oh>kѥWg:I?~]̞={H͛g93^:|쳣Zc4w9hBʒݻw{;/msNiӦ_՚ ԽdO{ŋ?:& 8>S[?w\1b(fY@+_}h[۟^zh{>kN\>+jsÇۿ;̔6V ۙ-'ph`)gGs`i::!JHHj-Ԏ#uS.4ԺY>@ϊso-жZiΜ92D."j))z\wuDv&}.EX^ISvW{ox93x`6`Su4n^^_i\q6:)b/Yϋz.]ds y]J\ {V[ 9RQ Vۘk{P{e_W9s<_t}γTg-:TնYG3ƎUW\qZ{O<宻 ZC2O 34WZ%U`Æ nͮ={?4VFVl_рO>3R]ZgE0\Go;/>>b[6>س2n8y夓N"f?c9F.h 2=M >+>;=kbFtup svF@hhs@@@@@+@\1GB sN;k}ҥr׋#!$@MwkAϗTeϞ={n;Ugff: M̄MwkASO=UzmOܲe;>)))G = # ZJkKCW\)ݺuφC# >4@FFhgMMwH (m7C38C:w,m6Yl$&&W1!ZLf."A`ʔ)yf_j=z."9G@6 @ |rg/,Çz饗lx_~;89#a 38C@b]NHp  @@ @@X 'G@,@fp ĺh?\?  f0s8@@ @c @@0 ! .@O׏ YKhW%EIENDB`ggtext/man/element_textbox.Rd0000644000176200001440000001203113764525267016042 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/element-textbox.R \name{element_textbox} \alias{element_textbox} \alias{element_textbox_simple} \title{Theme element that enables markdown text in a box.} \usage{ element_textbox( family = NULL, face = NULL, size = NULL, colour = NULL, fill = NULL, box.colour = NULL, linetype = NULL, linewidth = NULL, hjust = NULL, vjust = NULL, halign = NULL, valign = NULL, lineheight = NULL, margin = NULL, padding = NULL, width = NULL, height = NULL, minwidth = NULL, maxwidth = NULL, minheight = NULL, maxheight = NULL, r = NULL, orientation = NULL, color = NULL, box.color = NULL, debug = FALSE, inherit.blank = FALSE ) element_textbox_simple( family = NULL, face = NULL, size = NULL, colour = NULL, fill = NA, box.colour = NULL, linetype = 0, linewidth = 0.5, hjust = 0.5, vjust = 0.5, halign = 0, valign = 1, lineheight = 1.2, margin = ggplot2::margin(0, 0, 0, 0), padding = ggplot2::margin(0, 0, 0, 0), width = grid::unit(1, "npc"), height = NULL, minwidth = NULL, maxwidth = NULL, minheight = NULL, maxheight = NULL, r = grid::unit(0, "pt"), orientation = "upright", color = NULL, box.color = NULL, debug = FALSE, inherit.blank = FALSE ) } \arguments{ \item{family}{Font family} \item{face}{Font face} \item{size}{Font size (in pt)} \item{colour, color}{Text color} \item{fill}{Fill color of the enclosing box} \item{box.colour, box.color}{Line color of the enclosing box (if different from the text color)} \item{linetype}{Line type of the enclosing box (like \code{lty} in base R)} \item{linewidth}{Line width of the enclosing box (measured in mm, just like \code{size} in \code{\link[ggplot2:element]{ggplot2::element_line()}}).} \item{hjust}{Horizontal justification} \item{vjust}{Vertical justification} \item{halign}{Horizontal justification} \item{valign}{Vertical justification} \item{lineheight}{Line height, in multiples of the font size} \item{padding, margin}{Padding and margins around the text box. See \code{\link[gridtext:textbox_grob]{gridtext::textbox_grob()}} for details.} \item{width, height}{Unit objects specifying the width and height of the textbox, as in \code{\link[gridtext:textbox_grob]{gridtext::textbox_grob()}}.} \item{minwidth, minheight, maxwidth, maxheight}{Min and max values for width and height. Set to NULL to impose neither a minimum nor a maximum.} \item{r}{Unit value specifying the corner radius of the box} \item{orientation}{Orientation of the text box. See \code{\link[gridtext:textbox_grob]{gridtext::textbox_grob()}} for details.} \item{debug}{Not implemented.} \item{inherit.blank}{See \code{\link[ggplot2:element]{ggplot2::margin()}} for details.} } \value{ A ggplot2 theme element that can be used inside a \code{\link[ggplot2:theme]{ggplot2::theme()}} call. } \description{ The theme elements \code{element_textbox()} and \code{element_textbox_simple()} enable Markdown text in a box, with word wrap. Both functions implement exactly the same functionality; they only differ in the default values for the various element values. \code{element_textbox()} sets all values that are not specified to \code{NULL}, as is the usual practice in ggplot2 themes. These missing values are usually completed by inheritance from parent theme elements. By contrast, \code{element_textbox_simple()} provides meaningful default values for many of the values that are not usually defined in ggplot2 themes. This makes it simpler to use a textbox element in the context of an existing theme. } \examples{ library(ggplot2) ggplot(mtcars, aes(disp, mpg)) + geom_point() + labs( title = "Fuel economy vs. engine displacement
Lorem ipsum *dolor sit amet,* consectetur adipiscing elit, **sed do eiusmod tempor incididunt** ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", x = "displacement (in3)", y = "Miles per gallon (mpg)
A measure of the car's fuel efficiency." ) + theme( plot.title.position = "plot", plot.title = element_textbox_simple( size = 10, padding = margin(5.5, 5.5, 5.5, 5.5), margin = margin(0, 0, 5.5, 0), fill = "cornsilk" ), axis.title.x = element_textbox_simple( width = NULL, padding = margin(4, 4, 4, 4), margin = margin(4, 0, 0, 0), linetype = 1, r = grid::unit(8, "pt"), fill = "azure1" ), axis.title.y = element_textbox_simple( hjust = 0, orientation = "left-rotated", minwidth = unit(1, "in"), maxwidth = unit(2, "in"), padding = margin(4, 4, 2, 4), margin = margin(0, 0, 2, 0), fill = "lightsteelblue1" ) ) } \seealso{ \code{\link[gridtext:textbox_grob]{gridtext::textbox_grob()}}, \code{\link[=element_markdown]{element_markdown()}}, \code{\link[=geom_textbox]{geom_textbox()}} } ggtext/man/element_markdown.Rd0000644000176200001440000000520213764525267016171 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/element-markdown.R \name{element_markdown} \alias{element_markdown} \title{Theme element that enables markdown text.} \usage{ element_markdown( family = NULL, face = NULL, size = NULL, colour = NULL, fill = NULL, box.colour = NULL, linetype = NULL, linewidth = NULL, hjust = NULL, vjust = NULL, halign = NULL, valign = NULL, angle = NULL, lineheight = NULL, margin = NULL, padding = NULL, r = NULL, color = NULL, box.color = NULL, align_widths = NULL, align_heights = NULL, rotate_margins = NULL, debug = FALSE, inherit.blank = FALSE ) } \arguments{ \item{family}{Font family} \item{face}{Font face} \item{size}{Font size} \item{colour, color}{Text color} \item{fill}{Fill color of the enclosing box} \item{box.colour, box.color}{Line color of the enclosing box (if different from the text color)} \item{linetype}{Line type of the enclosing box (like \code{lty} in base R)} \item{linewidth}{Line width of the enclosing box (measured in mm, just like \code{size} in \code{\link[ggplot2:element]{ggplot2::element_line()}}).} \item{hjust}{Horizontal justification} \item{vjust}{Vertical justification} \item{halign}{Horizontal justification} \item{valign}{Vertical justification} \item{angle}{Angle (in degrees)} \item{lineheight}{Line height} \item{padding, margin}{Padding and margins around the text box. See \code{\link[gridtext:richtext_grob]{gridtext::richtext_grob()}} for details.} \item{r}{Unit value specifying the corner radius of the box} \item{align_widths, align_heights}{Should multiple elements be aligned by their widths or height? See \code{\link[gridtext:richtext_grob]{gridtext::richtext_grob()}} for details.} \item{rotate_margins}{Should margins get rotated in frame with rotated text? If \code{TRUE}, the margins are applied relative to the text direction. If \code{FALSE}, the margins are applied relative to the plot direction, i.e., the top margin, for example, is always placed above the text label, regardless of the direction in which the text runs. The default is \code{FALSE}, which mimics the behavior of \code{element_text()}.} \item{debug}{Draw a debugging box around each label} \item{inherit.blank}{See \code{\link[ggplot2:element]{ggplot2::margin()}} for details.} } \value{ A ggplot2 theme element that can be used inside a \code{\link[ggplot2:theme]{ggplot2::theme()}} call. } \description{ Theme element that enables markdown text. } \seealso{ \code{\link[gridtext:richtext_grob]{gridtext::richtext_grob()}}, \code{\link[=element_textbox]{element_textbox()}}, \code{\link[=geom_richtext]{geom_richtext()}} } ggtext/man/ggtext.Rd0000644000176200001440000000076613662420747014144 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/ggtext.R \docType{package} \name{ggtext} \alias{ggtext} \title{Improved text rendering support for ggplot2} \description{ The ggtext package implements both geoms (\code{\link[=geom_richtext]{geom_richtext()}}, \code{\link[=geom_textbox]{geom_textbox()}}) and theme elements (\code{\link[=element_markdown]{element_markdown()}}, \code{\link[=element_textbox]{element_textbox()}}) for improved text rendering with ggplot2. } ggtext/DESCRIPTION0000644000176200001440000000210413766621302013265 0ustar liggesusersPackage: ggtext Type: Package Title: Improved Text Rendering Support for 'ggplot2' Version: 0.1.1 Authors@R: person( given = "Claus O.", family = "Wilke", role = c("aut", "cre"), email = "wilke@austin.utexas.edu", comment = c(ORCID = "0000-0002-7470-9261") ) Description: A 'ggplot2' extension that enables the rendering of complex formatted plot labels (titles, subtitles, facet labels, axis labels, etc.). Text boxes with automatic word wrap are also supported. URL: https://wilkelab.org/ggtext/ BugReports: https://github.com/wilkelab/ggtext/issues License: GPL-2 Depends: R (>= 3.5) Imports: ggplot2 (>= 3.3.0), grid, gridtext, rlang, scales Suggests: cowplot, dplyr, glue, knitr, rmarkdown, testthat, vdiffr Encoding: UTF-8 LazyData: true RoxygenNote: 7.1.1 VignetteBuilder: knitr NeedsCompilation: no Packaged: 2020-12-15 02:30:51 UTC; clauswilke Author: Claus O. Wilke [aut, cre] () Maintainer: Claus O. Wilke Repository: CRAN Date/Publication: 2020-12-17 09:20:02 UTC ggtext/build/0000755000176200001440000000000013766017733012670 5ustar liggesusersggtext/build/vignette.rds0000644000176200001440000000036613766017733015234 0ustar liggesusersuOM0уWD"a)昁#(vҥ~o9foZ&Bu!ggtext/tests/0000755000176200001440000000000013563403473012726 5ustar liggesusersggtext/tests/testthat/0000755000176200001440000000000013766621302014564 5ustar liggesusersggtext/tests/testthat/test-geom-richtext.R0000644000176200001440000000143413764505553020454 0ustar liggesuserscontext("geom richtext") test_that("visual tests", { df <- data.frame( x = 0.5, y = 0.5, label = "The **quick** *brown* fox.", angle = c(0, 45, 90, 135), label.colour = c("#858E4E", "#24988F", "#8C82B8", "#B97681"), fill = c("#E6EBD1", "#CDEFE9", "#E8E6FC", "#FEE1E5"), label.size = c(0.1, 0.25, 0.5, 1) ) p <- ggplot() + geom_richtext( data = df, aes( x, y, label = label, label.colour = label.colour, fill = fill, label.size = label.size, angle = angle ), label.margin = grid::unit(rep(0.25, 4), "in"), hjust = 0, vjust = 0.5 ) + xlim(0, 1) + ylim(0, 1) + scale_discrete_identity(aesthetics = c("orientation", "label.colour", "fill")) expect_doppelganger("Rotated labels w/ colors", p) }) ggtext/tests/testthat/test-element-markdown.R0000644000176200001440000000703313764505602021142 0ustar liggesuserscontext("element markdown") test_that("ggplot2 margin simulation", { # ggplot2 margins are simulated with reshuffled # richtext_grob margins for horizontal and vertical # text, but not for other angles el <- element_markdown( size = 12, family = "", face = "plain", colour = "black", hjust = 0.5, vjust = 0.5, lineheight = 0, margin = margin(10, 10, 10, 10) ) g <- element_grob( el, "test", angle = 0, x = 0.5, y = 0.5, margin_x = TRUE, margin_y = TRUE ) expect_s3_class(g, "richtext_grob") g <- element_grob( el, "test", angle = 90, x = 0.5, y = 0.5, margin_x = TRUE, margin_y = TRUE ) expect_s3_class(g, "richtext_grob") g <- element_grob( el, "test", angle = 180, x = 0.5, y = 0.5, margin_x = TRUE, margin_y = TRUE ) expect_s3_class(g, "richtext_grob") g <- element_grob( el, "test", angle = 270, x = 0.5, y = 0.5, margin_x = TRUE, margin_y = TRUE ) expect_s3_class(g, "richtext_grob") g <- element_grob( el, "test", angle = 45, x = 0.5, y = 0.5, margin_x = TRUE, margin_y = TRUE ) expect_s3_class(g, "titleGrob") # when ggplot2 margins are turned off, result is # always a richtext_grob el <- element_markdown( size = 12, family = "", face = "plain", colour = "black", hjust = 0.5, vjust = 0.5, lineheight = 0, margin = margin(10, 10, 10, 10), rotate_margins = TRUE ) g <- element_grob( el, "test", angle = 0, x = 0.5, y = 0.5, margin_x = TRUE, margin_y = TRUE ) expect_s3_class(g, "richtext_grob") g <- element_grob( el, "test", angle = 90, x = 0.5, y = 0.5, margin_x = TRUE, margin_y = TRUE ) expect_s3_class(g, "richtext_grob") g <- element_grob( el, "test", angle = 180, x = 0.5, y = 0.5, margin_x = TRUE, margin_y = TRUE ) expect_s3_class(g, "richtext_grob") g <- element_grob( el, "test", angle = 270, x = 0.5, y = 0.5, margin_x = TRUE, margin_y = TRUE ) expect_s3_class(g, "richtext_grob") g <- element_grob( el, "test", angle = 45, x = 0.5, y = 0.5, margin_x = TRUE, margin_y = TRUE ) expect_s3_class(g, "richtext_grob") }) test_that("visual tests", { df <- data.frame(x = seq(50, 450, by = 50), y = 9:1) p <- ggplot(df, aes(x, y)) + geom_point() + xlab("really really long x label") + ylab("long y label") debug <- FALSE p1 <- p + theme( axis.text.x = element_markdown( margin = margin(10, 0, 20, 0), debug = debug ), axis.title.y = element_markdown( margin = margin(0, 10, 0, 20), debug = debug ) ) p2 <- p + theme( axis.text.x = element_text( margin = margin(10, 0, 20, 0), debug = debug ), axis.title.y = element_text( margin = margin(0, 10, 0, 20), debug = debug ) ) p3 <- p + theme( axis.text.x = element_markdown( hjust = 1, margin = margin(10, 0, 20, 0), angle = 45, debug = debug ), axis.title.y = element_markdown( vjust = 0.5, margin = margin(0, 10, 0, 20), angle = 180, debug = debug ) ) p4 <- p + theme( axis.text.x = element_text( hjust = 1, margin = margin(10, 0, 20, 0), angle = 45, debug = debug ), axis.title.y = element_text( vjust = 0.5, margin = margin(0, 10, 0, 20), angle = 180, debug = debug ) ) expect_doppelganger( "Margins match w/ ggtext and ggplot2", cowplot::plot_grid(p1, p2, p3, p4) ) }) ggtext/tests/testthat/helper-vdiffr.R0000644000176200001440000000025213764505473017453 0ustar liggesusersexpect_doppelganger <- function(title, fig, path = NULL, ...) { testthat::skip_if_not_installed("vdiffr") vdiffr::expect_doppelganger(title, fig, path = path, ...) } ggtext/tests/testthat/test-element-textbox.R0000644000176200001440000000450013764505570021015 0ustar liggesuserscontext("element textbox") test_that("visual tests", { text <- "*Lorem ipsum dolor sit amet,* consectetur adipiscing elit. **Quisque tincidunt** eget arcu in pulvinar. Morbi varius leo vel consectetur luctus. **Morbi facilisis justo non fringilla.** Vivamus sagittis sem felis, vel lobortis risus mattis eget. Nam quis imperdiet felis, in convallis elit." base <- ggplot(data.frame(x = 1:3), aes(x, x)) + geom_point() p <- base + labs(subtitle = text) + theme( plot.title.position = "plot", plot.subtitle = element_textbox_simple( size = 11, lineheight = 1.2, padding = margin(0, 0, 5, 0) ) ) expect_doppelganger("Simple textbox as plot title", p) p <- base + labs(subtitle = text) + theme( plot.title.position = "plot", plot.subtitle = element_textbox_simple( size = 11, lineheight = 1.2, linetype = 1, # turn on border box.color = "#748696", # border color fill = "#F0F7FF", # background fill color r = grid::unit(3, "pt"), # radius for rounded corners padding = margin(5, 5, 5, 5), # padding around text inside the box margin = margin(0, 0, 10, 0) # margin outside the box ) ) expect_doppelganger("Plot title with styling", p) p <- base + labs(subtitle = text) + theme( plot.title.position = "plot", plot.subtitle = element_textbox_simple( size = 11, lineheight = 1.2, width = grid::unit(4, "in"), # fixed width hjust = 1, # alignment of box relative to plot linetype = 1, # turn on border box.color = "#748696", # border color fill = "#F0F7FF", # background fill color r = grid::unit(3, "pt"), # radius for rounded corners padding = margin(5, 5, 5, 5), # padding around text inside the box margin = margin(0, 0, 10, 0) # margin outside the box ) ) expect_doppelganger("Plot title with fixed width", p) p <- base + labs(y = text) + theme( axis.title.y = element_textbox_simple( size = 11, lineheight = 1.2, orientation = "left-rotated", width = grid::unit(2.5, "in"), hjust = 0, fill = "#F0F7FF", padding = margin(5, 5, 5, 5), margin = margin(0, 0, 10, 0) ) ) expect_doppelganger("Rotated box as y axis title", p) }) ggtext/tests/testthat/test-geom-textbox.R0000644000176200001440000000203513764505537020317 0ustar liggesuserscontext("geom textbox") test_that("visual tests", { df <- data.frame( x = 0.5, y = 0.5, label = "The quick brown fox **jumps over** the *lazy* dog.", orientation = c("upright", "left-rotated", "inverted", "right-rotated"), box.colour = c("#858E4E", "#24988F", "#8C82B8", "#B97681"), fill = c("#E6EBD1", "#CDEFE9", "#E8E6FC", "#FEE1E5"), halign = c(0, 0.5, 1, 0.5), valign = c(1, 0.5, 0.5, 0), box.size = c(0.1, 0.25, 0.5, 1) ) p <- ggplot() + geom_textbox( data = df, aes( x, y, label = label, box.colour = box.colour, fill = fill, halign = halign, valign = valign, box.size = box.size, orientation = orientation ), width = grid::unit(1.5, "in"), height = grid::unit(1.5, "in"), box.margin = grid::unit(rep(0.25, 4), "in"), hjust = 0, vjust = 1 ) + xlim(0, 1) + ylim(0, 1) + scale_discrete_identity(aesthetics = c("orientation", "box.colour", "fill")) expect_doppelganger("Rotated boxes w/ colors and alignments", p) }) ggtext/tests/figs/0000755000176200001440000000000013662546256013665 5ustar liggesusersggtext/tests/figs/geom-textbox/0000755000176200001440000000000013662546357016311 5ustar liggesusersggtext/tests/figs/geom-textbox/rotated-boxes-w-colors-and-alignments.svg0000644000176200001440000004305713662546357026265 0ustar liggesusers The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. 0.00 0.25 0.50 0.75 1.00 0.00 0.25 0.50 0.75 1.00 x y Rotated boxes w/ colors and alignments ggtext/tests/figs/geom-richtext/0000755000176200001440000000000013662546355016444 5ustar liggesusersggtext/tests/figs/geom-richtext/rotated-labels-w-colors.svg0000644000176200001440000003157413662546355023644 0ustar liggesusers The quick brown fox. The quick brown fox. The quick brown fox. The quick brown fox. 0.00 0.25 0.50 0.75 1.00 0.00 0.25 0.50 0.75 1.00 x y Rotated labels w/ colors ggtext/tests/figs/deps.txt0000644000176200001440000000010313662546531015347 0ustar liggesusers- vdiffr-svg-engine: 1.0 - vdiffr: 0.3.1 - freetypeharfbuzz: 0.2.5 ggtext/tests/figs/element-textbox/0000755000176200001440000000000013662546350017004 5ustar liggesusersggtext/tests/figs/element-textbox/rotated-box-as-y-axis-title.svg0000644000176200001440000004550213662546350024713 0ustar liggesusers 1.0 1.5 2.0 2.5 3.0 1.0 1.5 2.0 2.5 3.0 x Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque tincidunt eget arcu in pulvinar. Morbi varius leo vel consectetur luctus. Morbi facilisis justo non fringilla. Vivamus sagittis sem felis, vel lobortis risus mattis eget. Nam quis imperdiet felis, in convallis elit. Rotated box as y axis title ggtext/tests/figs/element-textbox/plot-title-with-fixed-width.svg0000644000176200001440000004502613662546531025015 0ustar liggesusers 1.0 1.5 2.0 2.5 3.0 1.0 1.5 2.0 2.5 3.0 x x Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque tincidunt eget arcu in pulvinar. Morbi varius leo vel consectetur luctus. Morbi facilisis justo non fringilla. Vivamus sagittis sem felis, vel lobortis risus mattis eget. Nam quis imperdiet felis, in convallis elit. Plot title with fixed width ggtext/tests/figs/element-textbox/plot-title-with-styling.svg0000644000176200001440000004470713662546521024276 0ustar liggesusers 1.0 1.5 2.0 2.5 3.0 1.0 1.5 2.0 2.5 3.0 x x Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque tincidunt eget arcu in pulvinar. Morbi varius leo vel consectetur luctus. Morbi facilisis justo non fringilla. Vivamus sagittis sem felis, vel lobortis risus mattis eget. Nam quis imperdiet felis, in convallis elit. Plot title with styling ggtext/tests/figs/element-textbox/simple-textbox-as-plot-title.svg0000644000176200001440000004333713662546510025215 0ustar liggesusers 1.0 1.5 2.0 2.5 3.0 1.0 1.5 2.0 2.5 3.0 x x Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque tincidunt eget arcu in pulvinar. Morbi varius leo vel consectetur luctus. Morbi facilisis justo non fringilla. Vivamus sagittis sem felis, vel lobortis risus mattis eget. Nam quis imperdiet felis, in convallis elit. Simple textbox as plot title ggtext/tests/figs/element-markdown/0000755000176200001440000000000013563404120017115 5ustar liggesusersggtext/tests/figs/element-markdown/margins-match-w-ggtext-and-ggplot2.svg0000644000176200001440000010350113563404120026250 0ustar liggesusers 2.5 5.0 7.5 100 200 300 400 really really long x label long y label 2.5 5.0 7.5 100 200 300 400 really really long x label long y label 2.5 5.0 7.5 100 200 300 400 really really long x label long y label 2.5 5.0 7.5 100 200 300 400 really really long x label long y label ggtext/tests/testthat.R0000644000176200001440000000011113563403172014676 0ustar liggesuserslibrary(testthat) library(ggplot2) library(ggtext) test_check("ggtext") ggtext/vignettes/0000755000176200001440000000000013766017733013601 5ustar liggesusersggtext/vignettes/theme_elements.Rmd0000644000176200001440000002242613766016334017245 0ustar liggesusers--- title: "Markdown theme elements" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Markdown theme elements} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 4, fig.height = 3.75 ) ``` The ggtext package defines two new theme elements, `element_markdown()` and `element_textbox()`/`element_textbox_simple()`, which can be used in place of `element_text()` in ggplot2 themes. ### Simple text labels Simple text labels are created with `element_markdown()`. To demonstrate typical usage, let's start with a basic plot of a parabola. ```{r message = FALSE} library(ggplot2) library(ggtext) base <- ggplot(data.frame(x = c(-5, 5)), aes(x)) + stat_function(fun = ~ .x*.x) base ``` This plot would benefit from nicer axis labels. In particular, assume we want the x axis label to read "independent variable *x*" and the y axis label to read "dependent variable *y* = *x*2". In Markdown, we could write the axis labels as `independent variable *x*` and `dependent variable *y* = *x*2`. However, if we do so, we need to tell ggplot2 to interpret the axis labels as Markdown and not as plain text. We do this by setting `axis.title.x` and `axis.title.y` to `element_markdown()`. (Note that both are set to `element_text()` in the default theme.) ```{r} base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + theme( axis.title.x = element_markdown(), axis.title.y = element_markdown() ) ``` The new element `element_markdown()` behaves just like `element_text()`. For example, we can modify the color or the font size. ```{r} base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + theme( axis.title.x = element_markdown(color = "blue"), axis.title.y = element_markdown(size = rel(0.8)) ) ``` Inheritance of theme settings also works. For example, we can set both color and font size for `axis.title`, and then both `axis.title.x` and `axis.title.y` inherit the setting. ```{r} base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + theme( axis.title = element_text(color = "blue", size = rel(0.8)), axis.title.x = element_markdown(), axis.title.y = element_markdown() ) ``` Note that we used `element_text()` instead of `element_markdown()` for `axis.title` in the above plot. We could have used `element_markdown()` as well and the result would have been the same. It doesn't matter that we set `axis.title = element_text()`, because the `axis.title` element isn't actually rendered, only the `axis.title.x` and `axis.title.y` elements are. We're setting `axis.title` only for the purpose of providing shared parameter values to `axis.title.x` and `axis.title.y`. This is important to keep in mind when trying to create more unusual plots, e.g. with the y axis on the right. The naive code fails: ```{r} base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + scale_y_continuous(position = "right") + theme( axis.title = element_text(color = "blue", size = rel(0.8)), axis.title.x = element_markdown(), axis.title.y = element_markdown() ) ``` This happens because the axis title on the right is actually drawn by `axis.title.y.right`. Therefore, setting that element to `element_markdown()` creates the desired result. ```{r} base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + scale_y_continuous(position = "right") + theme( axis.title = element_text(color = "blue", size = rel(0.8)), axis.title.x = element_markdown(), axis.title.y.right = element_markdown() ) ``` Additional styling can be applied via inline CSS. The CSS properties `color`, `font-size`, and `font-family` are currently supported. Multi-line labels can be created by placing `
` tags where line breaks are desired. ```{r fig.width = 5, message = FALSE} library(dplyr) mtcars %>% mutate( transmission = ifelse(am == 1, "automatic", "manual") ) %>% ggplot(aes(hp, mpg, color = transmission)) + geom_point(size = 2) + scale_color_manual( values = c(automatic = "#0072B2", manual = "#D55E00"), guide = "none" ) + labs( x = "Horse power", y = "Miles per gallon (MPG)", title = "Transmission type impacts fuel efficiency
MPG is higher for automatic than for manual transmissions" ) + theme_bw() + theme( text = element_text(family = "Times"), plot.title.position = "plot", plot.title = element_markdown(size = 11, lineheight = 1.2) ) ``` We set the `lineheight` property to 1.2 because the default lineheight is too small for multi-line text labels rendered with `element_markdown()`. ### Text boxes Text boxes can be created with `element_textbox()` or `element_textbox_simple()`. Text boxes differ from labels created with `element_markdown()` in that they tend to have a specific width and wrap their contents so it fits that width. The height of a textbox is normally calculated automatically so it matches the content height, but explicitly setting the height is also possible. Finally, while markdown labels can be displayed at any angle, textboxes have only four possible orientations, upright, left-rotated, right-rotated, and inverted. In practice, setting a theme element to `element_textbox()` in a ggplot2 theme will frequently not have the desired result, because textboxes require many additional parameters that are not set by the parent text elements present in standard themes. To work around this issue, you can use `element_textbox_simple()`. It sets reasonable defaults for the additional parameters and thus can be used more readily. You will usually be able to use `element_textbox_simple()` as is, with only a few parameter adjustments required. The following example adds both a title and a subtitle to the plot by drawing one single text box. ```{r fig.width = 5, message = FALSE} base <- mtcars %>% mutate( transmission = ifelse(am == 1, "automatic", "manual") ) %>% ggplot(aes(hp, mpg, color = transmission)) + geom_point(size = 2) + scale_color_manual( values = c(automatic = "#0072B2", manual = "#D55E00"), guide = "none" ) + labs( x = "Horse power", y = "Miles per gallon (MPG)", title = "Transmission type impacts fuel efficiency
Miles per gallon (MPG) is on average higher for cars with automatic transmission than for cars with manual transmission. However, MPG generally declines with increasing horse power." ) + theme_bw() + theme(plot.title.position = "plot") base + theme( plot.title = element_textbox_simple( size = 14, lineheight = 1, padding = margin(0, 0, 5, 0) ) ) ``` Text boxes can have a background color and a border, and they have internal padding and external margins. ```{r fig.width = 5, message = FALSE} base + theme( plot.title = element_textbox_simple( size = 14, lineheight = 1, linetype = 1, # turn on border box.color = "#748696", # border color fill = "#F0F7FF", # background fill color r = grid::unit(3, "pt"), # radius for rounded corners padding = margin(5, 5, 5, 5), # padding around text inside the box margin = margin(0, 0, 10, 0) # margin outside the box ) ) ``` We can explicitly restrict the width of the box, and we can align the box relative to the enclosing space (with `hjust` and `vjust`) and the box content relative to the box edges (with `halign` and `valign`, not shown). ```{r fig.width = 5, message = FALSE} base + theme( plot.title = element_textbox_simple( size = 14, lineheight = 1, width = grid::unit(4, "in"), # fixed width hjust = 1, # alignment of box relative to plot linetype = 1, # turn on border box.color = "#748696", # border color fill = "#F0F7FF", # background fill color r = grid::unit(3, "pt"), # radius for rounded corners padding = margin(5, 5, 5, 5), # padding around text inside the box margin = margin(0, 0, 10, 0) # margin outside the box ) ) ``` If we want a box to be rotated, we can use the `orientation` parameter. ```{r} mtcars %>% mutate( transmission = ifelse(am == 1, "automatic", "manual") ) %>% ggplot(aes(hp, mpg, color = transmission)) + geom_point(size = 2) + scale_color_manual( values = c(automatic = "#0072B2", manual = "#D55E00"), guide = "none" ) + labs( x = "Horse power", y = "Miles per gallon (MPG) is on average higher for cars with automatic transmission than for cars with manual transmission.", title = "Transmission type impacts fuel efficiency" ) + theme_bw() + theme( plot.title.position = "plot", axis.title.y = element_textbox_simple( orientation = "left-rotated", width = grid::unit(2.5, "in"), hjust = 0, fill = "#F0F7FF", padding = margin(5, 5, 5, 5), margin = margin(0, 0, 10, 0) ) ) ``` ggtext/vignettes/plotting_text.Rmd0000644000176200001440000001456013766016316017153 0ustar liggesusers--- title: "Plotting with markdown text" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Plotting with markdown text} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 4, fig.height = 3.75 ) ``` The ggtext package defines two new geoms, `geom_richtext()` and `geom_textbox()`, which can be used to plot with markdown text. They draw simple text labels (without word wrap) and textboxes (with word wrap), respectively. ### Simple text labels Markdown-formatted text labels can be placed into a plot with `geom_richtext()`. This geom is mostly a drop-in replacement for `geom_label()` (or `geom_text()`), with added capabilities. As a first example, we will annotate a plot of linear regressions with their *r*2 values. We will use the `iris` dataset for this demonstration. In our first iteration, we will not yet use any ggtext features, and instead plot the text with `geom_text()`. ```{r fig.width = 6, fig.height = 3, message = FALSE} library(ggplot2) library(dplyr) library(glue) iris_cor <- iris %>% group_by(Species) %>% summarize(r_square = cor(Sepal.Length, Sepal.Width)^2) %>% mutate( # location of each text label in data coordinates Sepal.Length = 8, Sepal.Width = 4.5, # text label containing r^2 value label = glue("r^2 = {round(r_square, 2)}") ) iris_cor iris_facets <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) + geom_point() + geom_smooth(method = "lm", formula = y ~ x) + facet_wrap(~Species) + theme_bw() iris_facets + geom_text( data = iris_cor, aes(label = label), hjust = 1, vjust = 1 ) ``` This code works, but the result is not fully satisfying. First, because *r* is a mathematical variable, it should be typeset in italics. Second, it would be nicer to have a superscript 2 instead of ^2. We can achieve both results by creating a markdown label and plotting it with `geom_richtext()`. ```{r fig.width = 6, fig.height = 3, message = FALSE} library(ggtext) iris_cor_md <- iris_cor %>% mutate( # markdown version of text label label = glue("*r*2 = {round(r_square, 2)}") ) iris_cor_md iris_facets + geom_richtext( data = iris_cor_md, aes(label = label), hjust = 1, vjust = 1 ) ``` By default, `geom_richtext()` puts a box around the text it draws. We can suppress the box by setting the fill and outline colors to transparent (`fill = NA, label.colour = NA`). ```{r fig.width = 6, fig.height = 3} iris_facets + geom_richtext( data = iris_cor_md, aes(label = label), hjust = 1, vjust = 1, # remove label background and outline fill = NA, label.color = NA, # remove label padding, since we have removed the label outline label.padding = grid::unit(rep(0, 4), "pt") ) ``` We can separately choose the colors of label outline, label fill, and label text, and we can assign them via aesthetic mapping as well as by direct specification, as is usual in ggplot2. ```{r fig.width = 6, fig.height = 3} iris_facets + aes(colour = Species) + geom_richtext( data = iris_cor_md, aes( label = label, fill = after_scale(alpha(colour, .2)) ), text.colour = "black", hjust = 1, vjust = 1 ) + theme(legend.position = "none") ``` Rotated labels are also possible, though in most cases it is not recommended to use them. ```{r fig.width = 6, fig.height = 3} iris_facets + aes(colour = Species) + geom_richtext( data = iris_cor_md, aes( x = 7.5, label = label, fill = after_scale(alpha(colour, .2)) ), text.colour = "black", hjust = 1, vjust = 1, angle = 30 ) + theme(legend.position = "none") ``` ### Text boxes Markdown-formatted text boxes (with word wrap) can be placed into a plot with `geom_textbox()`. It is generally necessary to specify a width for the box. Widths are specified in grid units, and both absolute (e.g., `"cm"`, `"pt"`, or `"in"`) and relative (`"npc"`, Normalised Parent Coordinates) units are possible. ```{r fig.width = 6, fig.height = 3} df <- data.frame( x = 0.1, y = 0.8, label = "*Lorem ipsum dolor sit amet,* consectetur adipiscing elit. Quisque tincidunt eget arcu in pulvinar. Morbi varius leo vel consectetur luctus. **Morbi facilisis justo non fringilla.** Vivamus sagittis sem felis, vel lobortis risus mattis eget. Nam quis imperdiet felis, in convallis elit." ) p <- ggplot() + geom_textbox( data = df, aes(x, y, label = label), width = grid::unit(0.73, "npc"), # 73% of plot panel width hjust = 0, vjust = 1 ) + xlim(0, 1) + ylim(0, 1) p ``` If we specify a relative width, then changing the size of the plot will change the size of the textbox. The text will reflow to accommodate this change. ```{r fig.width = 4, fig.height = 4} p ``` The parameters `hjust` and `vjust` align the box relative to the reference point specified by `x` and `y`, but they do not affect the alignment of text inside the box. To specify how text is aligned inside the box, use `halign` and `valign`. For example, `halign = 0.5` generates centered text. ```{r fig.width = 4, fig.height = 4} ggplot() + geom_textbox( data = df, aes(x, y, label = label), width = grid::unit(0.73, "npc"), # 73% of plot panel width hjust = 0, vjust = 1, halign = 0.5 # centered text ) + xlim(0, 1) + ylim(0, 1) ``` While text boxes cannot be rotated arbitrarily, they can be placed in four distinct orientations, corresponding to rotations by multiples of 90 degrees. Note that `hjust` and `vjust` are specified relative to this orientation. ```{r} df <- data.frame( x = 0.5, y = 0.5, label = "The quick brown fox jumps over the lazy dog.", orientation = c("upright", "left-rotated", "inverted", "right-rotated") ) ggplot() + geom_textbox( data = df, aes(x, y, label = label, orientation = orientation), width = grid::unit(1.5, "in"), height = grid::unit(1.5, "in"), box.margin = grid::unit(rep(0.25, 4), "in"), hjust = 0, vjust = 1 ) + xlim(0, 1) + ylim(0, 1) + scale_discrete_identity(aesthetics = "orientation") ``` The previous example uses the `box.margin` argument to create some space between the reference point given by `x`, `y` and the box itself. This margin is part of the size calculation for the box, so that a width of 1.5 inches with 0.25 inch margins yields an actual box of 1 inch in width.ggtext/R/0000755000176200001440000000000013621121126011750 5ustar liggesusersggtext/R/geom-richtext.R0000644000176200001440000001464413664751147014706 0ustar liggesusers#' Richtext labels #' #' This geom draws text labels similar to [ggplot2::geom_label()], but formatted #' using basic markdown/html. Parameter and aesthetic names follow the conventions #' of [ggplot2::geom_label()], and therefore the appearance of the frame around #' the label is controlled with `label.colour`, `label.padding`, `label.margin`, #' `label.size`, `label.r`, even though the same parameters are called `box.colour`, #' `box.padding`, `box.margin`, `box.size`, and `box.r` in [geom_textbox()]. Most #' styling parameters can be used as aesthetics and can be applied separately to #' each text label drawn. The exception is styling parameters that are specified #' as grid units (e.g., `label.padding` or `label.r`), which can only be specified #' for all text labels at once. See examples for details. #' #' @section Aesthetics: #' #' `geom_richtext()` understands the following aesthetics (required #' aesthetics are in bold; select aesthetics are annotated): #' #' * **`x`** #' * **`y`** #' * **`label`** #' * `alpha` #' * `angle` #' * `colour` Default color of label text and label outline. #' * `family` #' * `fontface` #' * `fill` Default fill color of label background. #' * `group` #' * `hjust` #' * `label.colour` Color of label outline. Overrides `colour`. #' * `label.size` Width of label outline. #' * `lineheight` #' * `size` Default font size of label text. #' * `text.colour` Color of label text. Overrides `colour`. #' * `vjust` #' #' @inheritParams ggplot2::geom_text #' @inheritParams ggplot2::geom_label #' @param label.margin Unit vector of length four specifying the margin #' outside the text label. #' @return A ggplot2 layer that can be added to a plot created with #' [ggplot2::ggplot()]. #' @seealso [geom_textbox()], [element_markdown()] #' @examples #' library(ggplot2) #' #' df <- data.frame( #' label = c( #' "Some text **in bold.**", #' "Linebreaks
Linebreaks
Linebreaks", #' "*x*2 + 5*x* + *C**i*", #' "Some blue text **in bold.**
And *italics text.*
#' And some large text." #' ), #' x = c(.2, .1, .5, .9), #' y = c(.8, .4, .1, .5), #' hjust = c(0.5, 0, 0, 1), #' vjust = c(0.5, 1, 0, 0.5), #' angle = c(0, 0, 45, -45), #' color = c("black", "blue", "black", "red"), #' fill = c("cornsilk", "white", "lightblue1", "white") #' ) #' #' ggplot(df) + #' aes( #' x, y, label = label, angle = angle, color = color, fill = fill, #' hjust = hjust, vjust = vjust #' ) + #' geom_richtext() + #' geom_point(color = "black", size = 2) + #' scale_color_identity() + #' scale_fill_identity() + #' xlim(0, 1) + ylim(0, 1) #' #' # labels without frame or background are also possible #' ggplot(df) + #' aes( #' x, y, label = label, angle = angle, color = color, #' hjust = hjust, vjust = vjust #' ) + #' geom_richtext( #' fill = NA, label.color = NA, # remove background and outline #' label.padding = grid::unit(rep(0, 4), "pt") # remove padding #' ) + #' geom_point(color = "black", size = 2) + #' scale_color_identity() + #' xlim(0, 1) + ylim(0, 1) #' @export geom_richtext <- function(mapping = NULL, data = NULL, stat = "identity", position = "identity", ..., nudge_x = 0, nudge_y = 0, label.padding = unit(c(0.25, 0.25, 0.25, 0.25), "lines"), label.margin = unit(c(0, 0, 0, 0), "lines"), label.r = unit(0.15, "lines"), na.rm = FALSE, show.legend = NA, inherit.aes = TRUE) { if (!missing(nudge_x) || !missing(nudge_y)) { if (!missing(position)) { stop("You must specify either `position` or `nudge_x`/`nudge_y` but not both.", call. = FALSE) } position <- position_nudge(nudge_x, nudge_y) } layer( data = data, mapping = mapping, stat = stat, geom = GeomRichText, position = position, show.legend = show.legend, inherit.aes = inherit.aes, params = list( label.padding = label.padding, label.margin = label.margin, label.r = label.r, na.rm = na.rm, ... ) ) } #' @rdname geom_richtext #' @format NULL #' @usage NULL #' @export GeomRichText <- ggproto("GeomRichText", Geom, required_aes = c("x", "y", "label"), default_aes = aes( colour = "black", fill = "white", size = 3.88, angle = 0, hjust = 0.5, vjust = 0.5, alpha = NA, family = "", fontface = 1, lineheight = 1.2, text.colour = NULL, label.colour = NULL, label.size = 0.25 ), draw_panel = function(data, panel_params, coord, label.padding = unit(c(0.25, 0.25, 0.25, 0.25), "lines"), label.margin = unit(c(0, 0, 0, 0), "lines"), label.r = unit(0.15, "lines"), na.rm = FALSE) { data <- coord$transform(data, panel_params) if (is.character(data$vjust)) { data$vjust <- compute_just(data$vjust, data$y) } if (is.character(data$hjust)) { data$hjust <- compute_just(data$hjust, data$x) } richtext_grob( data$label, data$x, data$y, default.units = "native", hjust = data$hjust, vjust = data$vjust, rot = data$angle, padding = label.padding, margin = label.margin, gp = gpar( col = scales::alpha(data$text.colour %||% data$colour, data$alpha), fontsize = data$size * .pt, fontfamily = data$family, fontface = data$fontface, lineheight = data$lineheight ), box_gp = gpar( col = scales::alpha(data$label.colour %||% data$colour, data$alpha), fill = scales::alpha(data$fill, data$alpha), lwd = data$label.size * .pt ), r = label.r ) }, draw_key = draw_key_text ) #' @rdname geom_richtext #' @format NULL #' @usage NULL #' @export GeomRichtext <- GeomRichText # for automated geom discovery compute_just <- function(just, x) { inward <- just == "inward" just[inward] <- c("left", "middle", "right")[just_dir(x[inward])] outward <- just == "outward" just[outward] <- c("right", "middle", "left")[just_dir(x[outward])] unname(c(left = 0, center = 0.5, right = 1, bottom = 0, middle = 0.5, top = 1)[just]) } just_dir <- function(x, tol = 0.001) { out <- rep(2L, length(x)) out[x < 0.5 - tol] <- 1L out[x > 0.5 + tol] <- 3L out } ggtext/R/add-margins.R0000644000176200001440000000353013563401601014266 0ustar liggesusers# modified from ggplot2 function add_margins() add_margins <- function(grob, margin = NULL, margin_x = FALSE, margin_y = FALSE, debug = FALSE) { if (is.null(margin)) { margin <- margin(0, 0, 0, 0) } width <- grobWidth(grob) height <- grobHeight(grob) if (margin_x && margin_y) { widths <- unit.c(margin[4], width, margin[2]) heights <- unit.c(margin[1], height, margin[3]) vp <- viewport( layout = grid.layout(3, 3, heights = heights, widths = widths) ) child_vp <- viewport(layout.pos.row = 2, layout.pos.col = 2) } else if (margin_x) { widths <- unit.c(margin[4], width, margin[2]) heights <- unit(1, "null") vp <- viewport(layout = grid.layout(1, 3, widths = widths)) child_vp <- viewport(layout.pos.col = 2) } else if (margin_y) { widths <- unit(1, "null") heights <- unit.c(margin[1], height, margin[3]) vp <- viewport(layout = grid.layout(3, 1, heights = heights)) child_vp <- viewport(layout.pos.row = 2) } else { widths <- width heights <- height if (isTRUE(debug)) { bg <- rectGrob(gp = gpar(fill = "cornsilk")) g <- gTree( children = gList(bg, grob), widths = widths, heights = heights, cl = "titleGrob" ) } else { g <- gTree( children = gList(grob), widths = widths, heights = heights, cl = "titleGrob" ) } return(g) } if (isTRUE(debug)) { bg <- rectGrob(gp = gpar(fill = "cornsilk", col = NA)) gTree( children = gList(bg, grob), vp = vpTree(vp, vpList(child_vp)), widths = widths, heights = heights, cl = "titleGrob" ) } else { gTree( children = gList(grob), vp = vpTree(vp, vpList(child_vp)), widths = widths, heights = heights, cl = "titleGrob" ) } } ggtext/R/geom-textbox.R0000644000176200001440000001604413664751156014545 0ustar liggesusers#' Draw boxes containing text #' #' Draw boxes of defined width and height containing word-wrapped text. Multiple #' boxes can be drawn at once. Most styling parameters can be used as aesthetics #' and can be applied separately to each text box drawn. The exception is styling #' parameters that are specified as grid units (e.g., `box.padding` or `box.r`), #' which can only be specified for all text boxes at once. See examples for details. #' #' @section Aesthetics: #' #' `geom_textbox()` understands the following aesthetics (required #' aesthetics are in bold; select aesthetics are annotated): #' #' * **`x`** #' * **`y`** #' * **`label`** #' * `alpha` #' * `box.colour` Color of box outline. Overrides `colour`. #' * `box.size` Width of box outline. #' * `colour` Default color of box text and box outline. #' * `family` #' * `fontface` #' * `fill` Default fill color of box background. #' * `group` #' * `halign` Horizontal alignment of text inside box. #' * `hjust` Horizontal alignment of box. #' * `lineheight` #' * `orientation` One of `"upright"`, `"left-rotated"`, #' `"right-rotated"`, `"inverted"`. #' * `size` Default font size of box text. #' * `text.colour` Color of box text. Overrides `colour`. #' * `valign` Vertical alignment of text inside box. #' * `vjust` Vertical alignment of box. #' #' @inheritParams ggplot2::geom_text #' @param nudge_x,nudge_y Horizontal and vertical adjustment to nudge text boxes by. #' Useful for offsetting text from points, particularly on discrete scales. #' Cannot be jointly specified with `position`. #' @param width,height Unit values specifying the width and height of #' the text box (including margins!). If `height = NULL` (the default), #' the height is chosen automatically to accommodate all the text. #' @param minwidth,maxwidth,minheight,maxheight Unit values specifying #' the minimum and maximum values for `width` and `height`, respectively. #' If set to `NULL`, are not enforced. #' @param box.padding Unit vector of length four specifying the padding #' inside the text box. #' @param box.margin Unit vector of length four specifying the margin #' outside the text box. #' @param box.r Unit vector of length one specifying the radius of the #' box. #' @return A ggplot2 layer that can be added to a plot created with #' [ggplot2::ggplot()]. #' @seealso [geom_richtext()], [element_textbox()] #' @examples #' library(ggplot2) #' #' df <- data.frame( #' label = rep("Lorem ipsum dolor **sit amet,** consectetur adipiscing elit, #' sed do *eiusmod tempor incididunt* ut labore et dolore magna #' aliqua.", 2), #' x = c(0, .6), #' y = c(1, .6), #' hjust = c(0, 0), #' vjust = c(1, 0), #' orientation = c("upright", "right-rotated"), #' color = c("black", "blue"), #' fill = c("cornsilk", "white") #' ) #' #' ggplot(df) + #' aes( #' x, y, label = label, color = color, fill = fill, #' hjust = hjust, vjust = vjust, #' orientation = orientation #' ) + #' geom_textbox(width = unit(0.4, "npc")) + #' geom_point(color = "black", size = 2) + #' scale_discrete_identity(aesthetics = c("color", "fill", "orientation")) + #' xlim(0, 1) + ylim(0, 1) #' @export geom_textbox <- function(mapping = NULL, data = NULL, stat = "identity", position = "identity", ..., nudge_x = 0, nudge_y = 0, box.padding = unit(c(5.5, 5.5, 5.5, 5.5), "pt"), box.margin = unit(c(0, 0, 0, 0), "pt"), box.r = unit(5.5, "pt"), width = unit(2, "inch"), minwidth = NULL, maxwidth = NULL, height = NULL, minheight = NULL, maxheight = NULL, na.rm = FALSE, show.legend = NA, inherit.aes = TRUE) { if (!missing(nudge_x) || !missing(nudge_y)) { if (!missing(position)) { stop("You must specify either `position` or `nudge_x`/`nudge_y` but not both.", call. = FALSE) } position <- position_nudge(nudge_x, nudge_y) } layer( data = data, mapping = mapping, stat = stat, geom = GeomTextBox, position = position, show.legend = show.legend, inherit.aes = inherit.aes, params = list( box.padding = box.padding, box.margin = box.margin, box.r = box.r, width = width, minwidth = minwidth, maxwidth = maxwidth, height = height, minheight = minheight, maxheight = maxheight, na.rm = na.rm, ... ) ) } #' @rdname geom_richtext #' @format NULL #' @usage NULL #' @export GeomTextBox <- ggproto("GeomTextBox", Geom, required_aes = c("x", "y", "label"), default_aes = aes( colour = "black", fill = "white", size = 3.88, hjust = 0.5, vjust = 0.5, halign = 0, valign = 1, alpha = NA, family = "", fontface = 1, lineheight = 1.2, text.colour = NULL, box.colour = NULL, box.size = 0.25, orientation = "upright" ), draw_panel = function(data, panel_params, coord, box.padding = unit(c(5.5, 5.5, 5.5, 5.5), "pt"), box.margin = unit(c(0, 0, 0, 0), "pt"), box.r = unit(5.5, "pt"), width = unit(2, "inch"), minwidth = NULL, maxwidth = NULL, height = NULL, minheight = NULL, maxheight = NULL, na.rm = FALSE) { data <- coord$transform(data, panel_params) # split data frame into list of rows rows <- split(data, seq(nrow(data))) names(rows) <- NULL grobs <- mapply( make_textbox_grob, rows, list(box.padding), list(box.margin), list(box.r), list(width), list(minwidth), list(maxwidth), list(height), list(minheight), list(maxheight), SIMPLIFY = FALSE ) do.call(grobTree, grobs) }, draw_key = draw_key_text ) make_textbox_grob <- function(data, box.padding = unit(c(5.5, 5.5, 5.5, 5.5), "pt"), box.margin = unit(c(0, 0, 0, 0), "pt"), box.r = unit(5.5, "pt"), width = unit(2, "inch"), minwidth = NULL, maxwidth = NULL, height = NULL, minheight = NULL, maxheight = NULL) { textbox_grob( data$label, data$x, data$y, default.units = "native", hjust = data$hjust, vjust = data$vjust, halign = data$halign, valign = data$valign, orientation = data$orientation, padding = box.padding, margin = box.margin, width = width, minwidth = minwidth, maxwidth = maxwidth, height = height, minheight = minheight, maxheight = maxheight, gp = gpar( col = scales::alpha(data$text.colour %||% data$colour, data$alpha), fontsize = data$size * .pt, fontfamily = data$family, fontface = data$fontface, lineheight = data$lineheight ), box_gp = gpar( col = scales::alpha(data$box.colour %||% data$colour, data$alpha), fill = scales::alpha(data$fill, data$alpha), lwd = data$box.size * .pt ), r = box.r ) }ggtext/R/element-textbox.R0000644000176200001440000001741713664750225015250 0ustar liggesusers#' Theme element that enables markdown text in a box. #' #' The theme elements `element_textbox()` and `element_textbox_simple()` enable Markdown text in a box, with #' word wrap. Both functions implement exactly the same functionality; they only differ in the default values #' for the various element values. `element_textbox()` sets all values that are not specified to `NULL`, as is #' the usual practice in ggplot2 themes. These missing values are usually completed by inheritance from #' parent theme elements. By contrast, `element_textbox_simple()` provides meaningful default values for many of #' the values that are not usually defined in ggplot2 themes. This makes it simpler to use a textbox element #' in the context of an existing theme. #' #' @param family Font family #' @param face Font face #' @param size Font size (in pt) #' @param colour,color Text color #' @param fill Fill color of the enclosing box #' @param box.colour,box.color Line color of the enclosing box (if different from the text color) #' @param linetype Line type of the enclosing box (like `lty` in base R) #' @param linewidth Line width of the enclosing box (measured in mm, just like `size` in #' [ggplot2::element_line()]). #' @param hjust Horizontal justification #' @param vjust Vertical justification #' @param halign Horizontal justification #' @param valign Vertical justification #' @param lineheight Line height, in multiples of the font size #' @param width,height Unit objects specifying the width and height #' of the textbox, as in [gridtext::textbox_grob()]. #' @param minwidth,minheight,maxwidth,maxheight Min and max values for width and height. #' Set to NULL to impose neither a minimum nor a maximum. #' @param padding,margin Padding and margins around the text box. #' See [gridtext::textbox_grob()] for details. #' @param r Unit value specifying the corner radius of the box #' @param orientation Orientation of the text box. See [gridtext::textbox_grob()] for details. #' @param debug Not implemented. #' @param inherit.blank See [ggplot2::margin()] for details. #' @return A ggplot2 theme element that can be used inside a [ggplot2::theme()] #' call. #' @seealso [gridtext::textbox_grob()], [element_markdown()], [geom_textbox()] #' @examples #' library(ggplot2) #' #' ggplot(mtcars, aes(disp, mpg)) + #' geom_point() + #' labs( #' title = #' "Fuel economy vs. engine displacement
#' Lorem ipsum *dolor sit amet,* consectetur adipiscing elit, **sed do eiusmod tempor #' incididunt** ut labore et dolore magna aliqua. Ut enim ad #' minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea #' commodo consequat.", #' x = "displacement (in3)", #' y = "Miles per gallon (mpg)
A measure of #' the car's fuel efficiency." #' ) + #' theme( #' plot.title.position = "plot", #' plot.title = element_textbox_simple( #' size = 10, #' padding = margin(5.5, 5.5, 5.5, 5.5), #' margin = margin(0, 0, 5.5, 0), #' fill = "cornsilk" #' ), #' axis.title.x = element_textbox_simple( #' width = NULL, #' padding = margin(4, 4, 4, 4), #' margin = margin(4, 0, 0, 0), #' linetype = 1, #' r = grid::unit(8, "pt"), #' fill = "azure1" #' ), #' axis.title.y = element_textbox_simple( #' hjust = 0, #' orientation = "left-rotated", #' minwidth = unit(1, "in"), #' maxwidth = unit(2, "in"), #' padding = margin(4, 4, 2, 4), #' margin = margin(0, 0, 2, 0), #' fill = "lightsteelblue1" #' ) #' ) #' @export element_textbox <- function(family = NULL, face = NULL, size = NULL, colour = NULL, fill = NULL, box.colour = NULL, linetype = NULL, linewidth = NULL, hjust = NULL, vjust = NULL, halign = NULL, valign = NULL, lineheight = NULL, margin = NULL, padding = NULL, width = NULL, height = NULL, minwidth = NULL, maxwidth = NULL, minheight = NULL, maxheight = NULL, r = NULL, orientation = NULL, color = NULL, box.color = NULL, debug = FALSE, inherit.blank = FALSE) { if (!is.null(color)) colour <- color if (!is.null(box.color)) box.colour <- box.color structure( list( family = family, face = face, size = size, colour = colour, fill = fill, box.colour = box.colour, linetype = linetype, linewidth = linewidth, hjust = hjust, vjust = vjust, halign = halign, valign = valign, lineheight = lineheight, margin = margin, padding = padding, width = width, height = height, minwidth = minwidth, maxwidth = maxwidth, minheight = minheight, maxheight = maxheight, r = r, orientation = orientation, debug = debug, inherit.blank = inherit.blank), class = c("element_textbox", "element_text", "element") ) } #' @rdname element_textbox #' @export element_textbox_simple <- function(family = NULL, face = NULL, size = NULL, colour = NULL, fill = NA, box.colour = NULL, linetype = 0, linewidth = 0.5, hjust = 0.5, vjust = 0.5, halign = 0, valign = 1, lineheight = 1.2, margin = ggplot2::margin(0, 0, 0, 0), padding = ggplot2::margin(0, 0, 0, 0), width = grid::unit(1, "npc"), height = NULL, minwidth = NULL, maxwidth = NULL, minheight = NULL, maxheight = NULL, r = grid::unit(0, "pt"), orientation = "upright", color = NULL, box.color = NULL, debug = FALSE, inherit.blank = FALSE) { element_textbox( family = family, face = face, size = size, colour = colour, fill = fill, box.colour = box.colour, linetype = linetype, linewidth = linewidth, hjust = hjust, vjust = vjust, halign = halign, valign = valign, lineheight = lineheight, margin = margin, padding = padding, width = width, height = height, minwidth = minwidth, maxwidth = maxwidth, minheight = minheight, maxheight = maxheight, r = r, orientation = orientation, color = color, box.color = box.color ) } #' @export element_grob.element_textbox <- function(element, label = "", x = NULL, y = NULL, family = NULL, face = NULL, colour = NULL, size = NULL, hjust = NULL, vjust = NULL, lineheight = NULL, margin = NULL, ...) { if (is.null(label)) return(ggplot2::zeroGrob()) hj <- hjust %||% element$hjust vj <- vjust %||% element$vjust halign <- element$halign %||% 0 valign <- element$valign %||% 1 padding <- element$padding %||% ggplot2::margin(0, 0, 0, 0) margin <- margin %||% element$margin %||% ggplot2::margin(0, 0, 0, 0) orientation <- element$orientation %||% "upright" r <- element$r %||% unit(0, "pt") # The gp settings can override element_gp gp <- gpar( fontsize = size %||% element$size, col = colour %||% element$colour, fontfamily = family %||% element$family, fontface = face %||% element$face, lineheight = lineheight %||% element$lineheight ) box_gp <- gpar( col = element$box.colour %||% gp$col, fill = element$fill %||% NA, lty = element$linetype %||% 0, lwd = (element$linewidth %||% 0.5)*ggplot2::.pt ) textbox_grob( label, x = x, y = y, hjust = hj, vjust = vj, halign = halign, valign = valign, width = element$width, height = element$height, minwidth = element$minwidth, minheight = element$minheight, maxwidth = element$maxwidth, maxheight = element$maxheight, margin = margin, padding = padding, r = r, orientation = orientation, gp = gp, box_gp = box_gp ) } ggtext/R/element-markdown.R0000644000176200001440000001622713664750210015365 0ustar liggesusers#' Theme element that enables markdown text. #' #' Theme element that enables markdown text. #' #' @param family Font family #' @param face Font face #' @param size Font size #' @param colour,color Text color #' @param fill Fill color of the enclosing box #' @param box.colour,box.color Line color of the enclosing box (if different from the text color) #' @param linetype Line type of the enclosing box (like `lty` in base R) #' @param linewidth Line width of the enclosing box (measured in mm, just like `size` in #' [ggplot2::element_line()]). #' @param hjust Horizontal justification #' @param vjust Vertical justification #' @param halign Horizontal justification #' @param valign Vertical justification #' @param lineheight Line height #' @param padding,margin Padding and margins around the text box. #' See [gridtext::richtext_grob()] for details. #' @param r Unit value specifying the corner radius of the box #' @param angle Angle (in degrees) #' @param align_widths,align_heights Should multiple elements be aligned by their #' widths or height? See [gridtext::richtext_grob()] for details. #' @param rotate_margins Should margins get rotated in frame with rotated text? #' If `TRUE`, the margins are applied relative to the text direction. If `FALSE`, #' the margins are applied relative to the plot direction, i.e., the top margin, #' for example, is always placed above the text label, regardless of the direction #' in which the text runs. The default is `FALSE`, which mimics the behavior of #' `element_text()`. #' @param debug Draw a debugging box around each label #' @param inherit.blank See [ggplot2::margin()] for details. #' @return A ggplot2 theme element that can be used inside a [ggplot2::theme()] #' call. #' @seealso [gridtext::richtext_grob()], [element_textbox()], [geom_richtext()] #' @export element_markdown <- function(family = NULL, face = NULL, size = NULL, colour = NULL, fill = NULL, box.colour = NULL, linetype = NULL, linewidth = NULL, hjust = NULL, vjust = NULL, halign = NULL, valign = NULL, angle = NULL, lineheight = NULL, margin = NULL, padding = NULL, r = NULL, color = NULL, box.color = NULL, align_widths = NULL, align_heights = NULL, rotate_margins = NULL, debug = FALSE, inherit.blank = FALSE) { if (!is.null(color)) colour <- color if (!is.null(box.color)) box.colour <- box.color structure( list( family = family, face = face, size = size, colour = colour, fill = fill, box.colour = box.colour, linetype = linetype, linewidth = linewidth, hjust = hjust, vjust = vjust, halign = halign, valign = valign, angle = angle, lineheight = lineheight, margin = margin, padding = padding, r = r, align_widths = align_widths, align_heights = align_heights, rotate_margins = rotate_margins, debug = debug, inherit.blank = inherit.blank), class = c("element_markdown", "element_text", "element") ) } #' @export element_grob.element_markdown <- function(element, label = "", x = NULL, y = NULL, family = NULL, face = NULL, colour = NULL, size = NULL, hjust = NULL, vjust = NULL, angle = NULL, lineheight = NULL, margin = NULL, margin_x = FALSE, margin_y = FALSE, ...) { if (is.null(label)) return(ggplot2::zeroGrob()) hj <- hjust %||% element$hjust vj <- vjust %||% element$vjust halign <- element$halign %||% hj valign <- element$valign %||% vj padding <- element$padding %||% ggplot2::margin(0, 0, 0, 0) margin <- margin %||% element$margin %||% ggplot2::margin(0, 0, 0, 0) angle <- angle %||% element$angle %||% 0 r <- element$r %||% unit(0, "pt") align_widths <- isTRUE(element$align_widths) align_heights <- isTRUE(element$align_heights) # We rotate the justifiation values to obtain the correct x and y reference point, # since box_hjust and box_vjust are applied relative to the rotated text frame in richtext_grob just <- rotate_just(angle, hj, vj) n <- max(length(x), length(y), 1) x <- x %||% unit(rep(just$hjust, n), "npc") y <- y %||% unit(rep(just$vjust, n), "npc") # The gp settings can override element_gp gp <- gpar( fontsize = size %||% element$size, col = colour %||% element$colour, fontfamily = family %||% element$family, fontface = face %||% element$face, lineheight = lineheight %||% element$lineheight ) box_gp <- gpar( col = element$box.colour %||% gp$col, fill = element$fill %||% NA, lty = element$linetype %||% 0, lwd = (element$linewidth %||% 0.5)*ggplot2::.pt ) mrg <- fixup_margins(element$rotate_margins, margin, angle) if (isTRUE(mrg$native_margins)) { richtext_grob( label, x = x, y = y, hjust = hj, vjust = vj, halign = halign, valign = valign, rot = angle, padding = padding, margin = mrg$margin, r = r, align_widths = align_widths, align_heights = align_heights, gp = gp, box_gp = box_gp, debug = element$debug ) } else { grob <- richtext_grob( label, x = x, y = y, hjust = hj, vjust = vj, halign = halign, valign = valign, rot = angle, padding = padding, margin = unit(c(0, 0, 0, 0), "pt"), r = r, align_widths = align_widths, align_heights = align_heights, gp = gp, box_gp = box_gp, debug = element$debug ) add_margins(grob, margin, margin_x, margin_y, debug = element$debug) } } # Modeled after ggplot2 function: # https://github.com/tidyverse/ggplot2/blob/49d438cf9981f9f0624a27131775ecd3d5bb3455/R/margins.R#L294-L334 # modified here to work with vectorized input rotate_just <- function(angle, hjust, vjust) { angle <- (angle %||% 0) %% 360 hnew <- ifelse( 0 <= angle & angle < 90, hjust, ifelse( 90 <= angle & angle < 180, 1 - vjust, ifelse( 180 <= angle & angle < 270, 1 - hjust, vjust ) ) ) vnew <- ifelse( 0 <= angle & angle < 90, vjust, ifelse( 90 <= angle & angle < 180, hjust, ifelse( 180 <= angle & angle < 270, 1 - vjust, 1 - hjust ) ) ) list(hjust = hnew, vjust = vnew) } fixup_margins <- function(rotate_margins, margin, angle) { if (isTRUE(rotate_margins)) { return(list(native_margins = TRUE, margin = margin)) } angle <- round(angle) %% 360 # if we're given more than one angle or angles corresponding to anything # other than horizontal or vertical positions, we cannot use native margins if (length(unique(angle)) > 1 || any(!angle %in% c(0, 90, 180, 270))) { return(list(native_margins = FALSE, margin = NULL)) } else { angle <- angle[1] } if (angle == 0) { return(list(native_margins = TRUE, margin = margin)) } if (angle == 90) { return(list(native_margins = TRUE, margin = margin[c(4, 1, 2, 3)])) } if (angle == 270) { return(list(native_margins = TRUE, margin = margin[c(2, 3, 4, 1)])) } # the only case remaining is angle == 180 return(list(native_margins = TRUE, margin = margin[c(3, 4, 1, 2)])) } ggtext/R/ggtext.R0000644000176200001440000000054713662420742013416 0ustar liggesusers#' Improved text rendering support for ggplot2 #' #' The ggtext package implements both geoms ([geom_richtext()], [geom_textbox()]) #' and theme elements ([element_markdown()], [element_textbox()]) for improved #' text rendering with ggplot2. #' #' @name ggtext #' @docType package #' @import grid #' @import rlang #' @import gridtext #' @import ggplot2 NULL ggtext/NEWS.md0000644000176200001440000000037113764505447012672 0ustar liggesusers# ggtext 0.1.1 - Make sure tests don't fail if vdiffr is missing. # ggtext 0.1.0 First public release. Provides the two ggplot2 theme elements `element_markdown()` and `element_textbox()` and the two geoms `geom_richtext()` and `geom_textbox()`. ggtext/MD50000644000176200001440000000570413766621302012100 0ustar liggesusers34c58ddc63c7d2e49ea547beb757c273 *DESCRIPTION b0775fe7436833d79e9d2809563a252f *NAMESPACE 316b322e926399f06538d7f172fabfda *NEWS.md d0eff2eb406dbfb817cc03ab7582922e *R/add-margins.R a40a6519015116a02d36da932338fe29 *R/element-markdown.R 14e3ad58048b3b66a902ee323302e731 *R/element-textbox.R 7810b1cb07dc6164708c2c73dbec54dd *R/geom-richtext.R 2bd551866ede315cb2a8522fa0bc2b78 *R/geom-textbox.R 8ee19aabd945e9362bda9cc3f36aa7d8 *R/ggtext.R d9c24213b4d65b274af40bc7aeffe359 *README.md 1eac70eb618455aab37b598e4401114e *build/vignette.rds 3b1b374556a1e2e258a902c0955056d6 *inst/doc/plotting_text.R 18bd4eb105b18917aa7e3b367b6c62b5 *inst/doc/plotting_text.Rmd 767d03cdaecf460a4324e6ea82dcaebd *inst/doc/plotting_text.html 4885c471a0051f96f2ecb44d31ab7f73 *inst/doc/theme_elements.R 58946006e2a10b3c008b033b269fddf6 *inst/doc/theme_elements.Rmd 759d3203c46edf12ec53c242f0db0500 *inst/doc/theme_elements.html cfe82104bcc198e0e7f449e5a3f7fbda *man/element_markdown.Rd c09baa5a52000425230870f6ee403e1a *man/element_textbox.Rd 74b63022db051e0e7bfc4702d5117554 *man/figures/README-unnamed-chunk-10-1.png ee327ae0855ea7997f80452cc3e39351 *man/figures/README-unnamed-chunk-3-1.png 65e1e2f506931fff0642d9696daa2fe3 *man/figures/README-unnamed-chunk-4-1.png 07d70f76df225753d16a32fbbe59d5c5 *man/figures/README-unnamed-chunk-5-1.png 176162f812116e2bc6cb6f044c3019ac *man/figures/README-unnamed-chunk-6-1.png 051974aaffeca74ed4e4e352c8cf44e3 *man/figures/README-unnamed-chunk-7-1.png 75d22662e955bf1bfdc93d75b3f3f97e *man/figures/README-unnamed-chunk-8-1.png 21dbd35374e0fb140ea4470b3302ea90 *man/figures/README-unnamed-chunk-9-1.png 198f890d20b67e7e9c3a1b7329b41f7f *man/geom_richtext.Rd 663e87fa75113ea573a272ae169e89f3 *man/geom_textbox.Rd efe1c14457788fa73fc7217697bbb32f *man/ggtext.Rd 37455b724fc4126f1b8305cc5c05f444 *tests/figs/deps.txt 7e92a299850d48e8cbd1475604e80b8a *tests/figs/element-markdown/margins-match-w-ggtext-and-ggplot2.svg e6fd20acd78f1a44c09f599bb332a026 *tests/figs/element-textbox/plot-title-with-fixed-width.svg b788eadc8b4d8fed850b2c504f3e1502 *tests/figs/element-textbox/plot-title-with-styling.svg e8045d6580b65b17910605b25d242675 *tests/figs/element-textbox/rotated-box-as-y-axis-title.svg 519081a0125f679e219301d72b319de3 *tests/figs/element-textbox/simple-textbox-as-plot-title.svg 12e03f6939cd9fac0df62b4bc0cb680e *tests/figs/geom-richtext/rotated-labels-w-colors.svg 19d3ddaa523f82433aac822c94cea5db *tests/figs/geom-textbox/rotated-boxes-w-colors-and-alignments.svg f711cc86a23aac1f1ffefb36d68c9699 *tests/testthat.R d9a7d5e06f4322eac9e14fddf2d6c974 *tests/testthat/helper-vdiffr.R b3e120576b7c27e4113fe784cfafa0d7 *tests/testthat/test-element-markdown.R 6bb5d1493da1aecb3c0a1e45dd75e8e4 *tests/testthat/test-element-textbox.R 9ca665821330e028b38c82ede9304513 *tests/testthat/test-geom-richtext.R f6f20d338706bd95251cc28021c7614a *tests/testthat/test-geom-textbox.R 18bd4eb105b18917aa7e3b367b6c62b5 *vignettes/plotting_text.Rmd 58946006e2a10b3c008b033b269fddf6 *vignettes/theme_elements.Rmd ggtext/inst/0000755000176200001440000000000013766017733012546 5ustar liggesusersggtext/inst/doc/0000755000176200001440000000000013766017733013313 5ustar liggesusersggtext/inst/doc/plotting_text.R0000644000176200001440000000755413766017727016360 0ustar liggesusers## ---- include = FALSE--------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 4, fig.height = 3.75 ) ## ----fig.width = 6, fig.height = 3, message = FALSE--------------------------- library(ggplot2) library(dplyr) library(glue) iris_cor <- iris %>% group_by(Species) %>% summarize(r_square = cor(Sepal.Length, Sepal.Width)^2) %>% mutate( # location of each text label in data coordinates Sepal.Length = 8, Sepal.Width = 4.5, # text label containing r^2 value label = glue("r^2 = {round(r_square, 2)}") ) iris_cor iris_facets <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) + geom_point() + geom_smooth(method = "lm", formula = y ~ x) + facet_wrap(~Species) + theme_bw() iris_facets + geom_text( data = iris_cor, aes(label = label), hjust = 1, vjust = 1 ) ## ----fig.width = 6, fig.height = 3, message = FALSE--------------------------- library(ggtext) iris_cor_md <- iris_cor %>% mutate( # markdown version of text label label = glue("*r*2 = {round(r_square, 2)}") ) iris_cor_md iris_facets + geom_richtext( data = iris_cor_md, aes(label = label), hjust = 1, vjust = 1 ) ## ----fig.width = 6, fig.height = 3-------------------------------------------- iris_facets + geom_richtext( data = iris_cor_md, aes(label = label), hjust = 1, vjust = 1, # remove label background and outline fill = NA, label.color = NA, # remove label padding, since we have removed the label outline label.padding = grid::unit(rep(0, 4), "pt") ) ## ----fig.width = 6, fig.height = 3-------------------------------------------- iris_facets + aes(colour = Species) + geom_richtext( data = iris_cor_md, aes( label = label, fill = after_scale(alpha(colour, .2)) ), text.colour = "black", hjust = 1, vjust = 1 ) + theme(legend.position = "none") ## ----fig.width = 6, fig.height = 3-------------------------------------------- iris_facets + aes(colour = Species) + geom_richtext( data = iris_cor_md, aes( x = 7.5, label = label, fill = after_scale(alpha(colour, .2)) ), text.colour = "black", hjust = 1, vjust = 1, angle = 30 ) + theme(legend.position = "none") ## ----fig.width = 6, fig.height = 3-------------------------------------------- df <- data.frame( x = 0.1, y = 0.8, label = "*Lorem ipsum dolor sit amet,* consectetur adipiscing elit. Quisque tincidunt eget arcu in pulvinar. Morbi varius leo vel consectetur luctus. **Morbi facilisis justo non fringilla.** Vivamus sagittis sem felis, vel lobortis risus mattis eget. Nam quis imperdiet felis, in convallis elit." ) p <- ggplot() + geom_textbox( data = df, aes(x, y, label = label), width = grid::unit(0.73, "npc"), # 73% of plot panel width hjust = 0, vjust = 1 ) + xlim(0, 1) + ylim(0, 1) p ## ----fig.width = 4, fig.height = 4-------------------------------------------- p ## ----fig.width = 4, fig.height = 4-------------------------------------------- ggplot() + geom_textbox( data = df, aes(x, y, label = label), width = grid::unit(0.73, "npc"), # 73% of plot panel width hjust = 0, vjust = 1, halign = 0.5 # centered text ) + xlim(0, 1) + ylim(0, 1) ## ----------------------------------------------------------------------------- df <- data.frame( x = 0.5, y = 0.5, label = "The quick brown fox jumps over the lazy dog.", orientation = c("upright", "left-rotated", "inverted", "right-rotated") ) ggplot() + geom_textbox( data = df, aes(x, y, label = label, orientation = orientation), width = grid::unit(1.5, "in"), height = grid::unit(1.5, "in"), box.margin = grid::unit(rep(0.25, 4), "in"), hjust = 0, vjust = 1 ) + xlim(0, 1) + ylim(0, 1) + scale_discrete_identity(aesthetics = "orientation") ggtext/inst/doc/theme_elements.Rmd0000644000176200001440000002242613766016334016757 0ustar liggesusers--- title: "Markdown theme elements" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Markdown theme elements} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 4, fig.height = 3.75 ) ``` The ggtext package defines two new theme elements, `element_markdown()` and `element_textbox()`/`element_textbox_simple()`, which can be used in place of `element_text()` in ggplot2 themes. ### Simple text labels Simple text labels are created with `element_markdown()`. To demonstrate typical usage, let's start with a basic plot of a parabola. ```{r message = FALSE} library(ggplot2) library(ggtext) base <- ggplot(data.frame(x = c(-5, 5)), aes(x)) + stat_function(fun = ~ .x*.x) base ``` This plot would benefit from nicer axis labels. In particular, assume we want the x axis label to read "independent variable *x*" and the y axis label to read "dependent variable *y* = *x*2". In Markdown, we could write the axis labels as `independent variable *x*` and `dependent variable *y* = *x*2`. However, if we do so, we need to tell ggplot2 to interpret the axis labels as Markdown and not as plain text. We do this by setting `axis.title.x` and `axis.title.y` to `element_markdown()`. (Note that both are set to `element_text()` in the default theme.) ```{r} base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + theme( axis.title.x = element_markdown(), axis.title.y = element_markdown() ) ``` The new element `element_markdown()` behaves just like `element_text()`. For example, we can modify the color or the font size. ```{r} base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + theme( axis.title.x = element_markdown(color = "blue"), axis.title.y = element_markdown(size = rel(0.8)) ) ``` Inheritance of theme settings also works. For example, we can set both color and font size for `axis.title`, and then both `axis.title.x` and `axis.title.y` inherit the setting. ```{r} base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + theme( axis.title = element_text(color = "blue", size = rel(0.8)), axis.title.x = element_markdown(), axis.title.y = element_markdown() ) ``` Note that we used `element_text()` instead of `element_markdown()` for `axis.title` in the above plot. We could have used `element_markdown()` as well and the result would have been the same. It doesn't matter that we set `axis.title = element_text()`, because the `axis.title` element isn't actually rendered, only the `axis.title.x` and `axis.title.y` elements are. We're setting `axis.title` only for the purpose of providing shared parameter values to `axis.title.x` and `axis.title.y`. This is important to keep in mind when trying to create more unusual plots, e.g. with the y axis on the right. The naive code fails: ```{r} base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + scale_y_continuous(position = "right") + theme( axis.title = element_text(color = "blue", size = rel(0.8)), axis.title.x = element_markdown(), axis.title.y = element_markdown() ) ``` This happens because the axis title on the right is actually drawn by `axis.title.y.right`. Therefore, setting that element to `element_markdown()` creates the desired result. ```{r} base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + scale_y_continuous(position = "right") + theme( axis.title = element_text(color = "blue", size = rel(0.8)), axis.title.x = element_markdown(), axis.title.y.right = element_markdown() ) ``` Additional styling can be applied via inline CSS. The CSS properties `color`, `font-size`, and `font-family` are currently supported. Multi-line labels can be created by placing `
` tags where line breaks are desired. ```{r fig.width = 5, message = FALSE} library(dplyr) mtcars %>% mutate( transmission = ifelse(am == 1, "automatic", "manual") ) %>% ggplot(aes(hp, mpg, color = transmission)) + geom_point(size = 2) + scale_color_manual( values = c(automatic = "#0072B2", manual = "#D55E00"), guide = "none" ) + labs( x = "Horse power", y = "Miles per gallon (MPG)", title = "Transmission type impacts fuel efficiency
MPG is higher for automatic than for manual transmissions" ) + theme_bw() + theme( text = element_text(family = "Times"), plot.title.position = "plot", plot.title = element_markdown(size = 11, lineheight = 1.2) ) ``` We set the `lineheight` property to 1.2 because the default lineheight is too small for multi-line text labels rendered with `element_markdown()`. ### Text boxes Text boxes can be created with `element_textbox()` or `element_textbox_simple()`. Text boxes differ from labels created with `element_markdown()` in that they tend to have a specific width and wrap their contents so it fits that width. The height of a textbox is normally calculated automatically so it matches the content height, but explicitly setting the height is also possible. Finally, while markdown labels can be displayed at any angle, textboxes have only four possible orientations, upright, left-rotated, right-rotated, and inverted. In practice, setting a theme element to `element_textbox()` in a ggplot2 theme will frequently not have the desired result, because textboxes require many additional parameters that are not set by the parent text elements present in standard themes. To work around this issue, you can use `element_textbox_simple()`. It sets reasonable defaults for the additional parameters and thus can be used more readily. You will usually be able to use `element_textbox_simple()` as is, with only a few parameter adjustments required. The following example adds both a title and a subtitle to the plot by drawing one single text box. ```{r fig.width = 5, message = FALSE} base <- mtcars %>% mutate( transmission = ifelse(am == 1, "automatic", "manual") ) %>% ggplot(aes(hp, mpg, color = transmission)) + geom_point(size = 2) + scale_color_manual( values = c(automatic = "#0072B2", manual = "#D55E00"), guide = "none" ) + labs( x = "Horse power", y = "Miles per gallon (MPG)", title = "Transmission type impacts fuel efficiency
Miles per gallon (MPG) is on average higher for cars with automatic transmission than for cars with manual transmission. However, MPG generally declines with increasing horse power." ) + theme_bw() + theme(plot.title.position = "plot") base + theme( plot.title = element_textbox_simple( size = 14, lineheight = 1, padding = margin(0, 0, 5, 0) ) ) ``` Text boxes can have a background color and a border, and they have internal padding and external margins. ```{r fig.width = 5, message = FALSE} base + theme( plot.title = element_textbox_simple( size = 14, lineheight = 1, linetype = 1, # turn on border box.color = "#748696", # border color fill = "#F0F7FF", # background fill color r = grid::unit(3, "pt"), # radius for rounded corners padding = margin(5, 5, 5, 5), # padding around text inside the box margin = margin(0, 0, 10, 0) # margin outside the box ) ) ``` We can explicitly restrict the width of the box, and we can align the box relative to the enclosing space (with `hjust` and `vjust`) and the box content relative to the box edges (with `halign` and `valign`, not shown). ```{r fig.width = 5, message = FALSE} base + theme( plot.title = element_textbox_simple( size = 14, lineheight = 1, width = grid::unit(4, "in"), # fixed width hjust = 1, # alignment of box relative to plot linetype = 1, # turn on border box.color = "#748696", # border color fill = "#F0F7FF", # background fill color r = grid::unit(3, "pt"), # radius for rounded corners padding = margin(5, 5, 5, 5), # padding around text inside the box margin = margin(0, 0, 10, 0) # margin outside the box ) ) ``` If we want a box to be rotated, we can use the `orientation` parameter. ```{r} mtcars %>% mutate( transmission = ifelse(am == 1, "automatic", "manual") ) %>% ggplot(aes(hp, mpg, color = transmission)) + geom_point(size = 2) + scale_color_manual( values = c(automatic = "#0072B2", manual = "#D55E00"), guide = "none" ) + labs( x = "Horse power", y = "Miles per gallon (MPG) is on average higher for cars with automatic transmission than for cars with manual transmission.", title = "Transmission type impacts fuel efficiency" ) + theme_bw() + theme( plot.title.position = "plot", axis.title.y = element_textbox_simple( orientation = "left-rotated", width = grid::unit(2.5, "in"), hjust = 0, fill = "#F0F7FF", padding = margin(5, 5, 5, 5), margin = margin(0, 0, 10, 0) ) ) ``` ggtext/inst/doc/plotting_text.Rmd0000644000176200001440000001456013766016316016665 0ustar liggesusers--- title: "Plotting with markdown text" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Plotting with markdown text} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 4, fig.height = 3.75 ) ``` The ggtext package defines two new geoms, `geom_richtext()` and `geom_textbox()`, which can be used to plot with markdown text. They draw simple text labels (without word wrap) and textboxes (with word wrap), respectively. ### Simple text labels Markdown-formatted text labels can be placed into a plot with `geom_richtext()`. This geom is mostly a drop-in replacement for `geom_label()` (or `geom_text()`), with added capabilities. As a first example, we will annotate a plot of linear regressions with their *r*2 values. We will use the `iris` dataset for this demonstration. In our first iteration, we will not yet use any ggtext features, and instead plot the text with `geom_text()`. ```{r fig.width = 6, fig.height = 3, message = FALSE} library(ggplot2) library(dplyr) library(glue) iris_cor <- iris %>% group_by(Species) %>% summarize(r_square = cor(Sepal.Length, Sepal.Width)^2) %>% mutate( # location of each text label in data coordinates Sepal.Length = 8, Sepal.Width = 4.5, # text label containing r^2 value label = glue("r^2 = {round(r_square, 2)}") ) iris_cor iris_facets <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) + geom_point() + geom_smooth(method = "lm", formula = y ~ x) + facet_wrap(~Species) + theme_bw() iris_facets + geom_text( data = iris_cor, aes(label = label), hjust = 1, vjust = 1 ) ``` This code works, but the result is not fully satisfying. First, because *r* is a mathematical variable, it should be typeset in italics. Second, it would be nicer to have a superscript 2 instead of ^2. We can achieve both results by creating a markdown label and plotting it with `geom_richtext()`. ```{r fig.width = 6, fig.height = 3, message = FALSE} library(ggtext) iris_cor_md <- iris_cor %>% mutate( # markdown version of text label label = glue("*r*2 = {round(r_square, 2)}") ) iris_cor_md iris_facets + geom_richtext( data = iris_cor_md, aes(label = label), hjust = 1, vjust = 1 ) ``` By default, `geom_richtext()` puts a box around the text it draws. We can suppress the box by setting the fill and outline colors to transparent (`fill = NA, label.colour = NA`). ```{r fig.width = 6, fig.height = 3} iris_facets + geom_richtext( data = iris_cor_md, aes(label = label), hjust = 1, vjust = 1, # remove label background and outline fill = NA, label.color = NA, # remove label padding, since we have removed the label outline label.padding = grid::unit(rep(0, 4), "pt") ) ``` We can separately choose the colors of label outline, label fill, and label text, and we can assign them via aesthetic mapping as well as by direct specification, as is usual in ggplot2. ```{r fig.width = 6, fig.height = 3} iris_facets + aes(colour = Species) + geom_richtext( data = iris_cor_md, aes( label = label, fill = after_scale(alpha(colour, .2)) ), text.colour = "black", hjust = 1, vjust = 1 ) + theme(legend.position = "none") ``` Rotated labels are also possible, though in most cases it is not recommended to use them. ```{r fig.width = 6, fig.height = 3} iris_facets + aes(colour = Species) + geom_richtext( data = iris_cor_md, aes( x = 7.5, label = label, fill = after_scale(alpha(colour, .2)) ), text.colour = "black", hjust = 1, vjust = 1, angle = 30 ) + theme(legend.position = "none") ``` ### Text boxes Markdown-formatted text boxes (with word wrap) can be placed into a plot with `geom_textbox()`. It is generally necessary to specify a width for the box. Widths are specified in grid units, and both absolute (e.g., `"cm"`, `"pt"`, or `"in"`) and relative (`"npc"`, Normalised Parent Coordinates) units are possible. ```{r fig.width = 6, fig.height = 3} df <- data.frame( x = 0.1, y = 0.8, label = "*Lorem ipsum dolor sit amet,* consectetur adipiscing elit. Quisque tincidunt eget arcu in pulvinar. Morbi varius leo vel consectetur luctus. **Morbi facilisis justo non fringilla.** Vivamus sagittis sem felis, vel lobortis risus mattis eget. Nam quis imperdiet felis, in convallis elit." ) p <- ggplot() + geom_textbox( data = df, aes(x, y, label = label), width = grid::unit(0.73, "npc"), # 73% of plot panel width hjust = 0, vjust = 1 ) + xlim(0, 1) + ylim(0, 1) p ``` If we specify a relative width, then changing the size of the plot will change the size of the textbox. The text will reflow to accommodate this change. ```{r fig.width = 4, fig.height = 4} p ``` The parameters `hjust` and `vjust` align the box relative to the reference point specified by `x` and `y`, but they do not affect the alignment of text inside the box. To specify how text is aligned inside the box, use `halign` and `valign`. For example, `halign = 0.5` generates centered text. ```{r fig.width = 4, fig.height = 4} ggplot() + geom_textbox( data = df, aes(x, y, label = label), width = grid::unit(0.73, "npc"), # 73% of plot panel width hjust = 0, vjust = 1, halign = 0.5 # centered text ) + xlim(0, 1) + ylim(0, 1) ``` While text boxes cannot be rotated arbitrarily, they can be placed in four distinct orientations, corresponding to rotations by multiples of 90 degrees. Note that `hjust` and `vjust` are specified relative to this orientation. ```{r} df <- data.frame( x = 0.5, y = 0.5, label = "The quick brown fox jumps over the lazy dog.", orientation = c("upright", "left-rotated", "inverted", "right-rotated") ) ggplot() + geom_textbox( data = df, aes(x, y, label = label, orientation = orientation), width = grid::unit(1.5, "in"), height = grid::unit(1.5, "in"), box.margin = grid::unit(rep(0.25, 4), "in"), hjust = 0, vjust = 1 ) + xlim(0, 1) + ylim(0, 1) + scale_discrete_identity(aesthetics = "orientation") ``` The previous example uses the `box.margin` argument to create some space between the reference point given by `x`, `y` and the box itself. This margin is part of the size calculation for the box, so that a width of 1.5 inches with 0.25 inch margins yields an actual box of 1 inch in width.ggtext/inst/doc/theme_elements.html0000644000176200001440000167647713766017733017233 0ustar liggesusers Markdown theme elements

Markdown theme elements

The ggtext package defines two new theme elements, element_markdown() and element_textbox()/element_textbox_simple(), which can be used in place of element_text() in ggplot2 themes.

Simple text labels

Simple text labels are created with element_markdown(). To demonstrate typical usage, let’s start with a basic plot of a parabola.

library(ggplot2)
library(ggtext)

base <- ggplot(data.frame(x = c(-5, 5)), aes(x)) +
  stat_function(fun = ~ .x*.x)

base

This plot would benefit from nicer axis labels. In particular, assume we want the x axis label to read “independent variable x” and the y axis label to read “dependent variable y = x2”. In Markdown, we could write the axis labels as independent variable *x* and dependent variable *y* = *x*<sup>2</sup>. However, if we do so, we need to tell ggplot2 to interpret the axis labels as Markdown and not as plain text. We do this by setting axis.title.x and axis.title.y to element_markdown(). (Note that both are set to element_text() in the default theme.)

base +
  labs(
    x = "independent variable *x*",
    y = "dependent variable *y* = *x*<sup>2</sup>"
  ) +
  theme(
    axis.title.x = element_markdown(),
    axis.title.y = element_markdown()
  )

The new element element_markdown() behaves just like element_text(). For example, we can modify the color or the font size.

base +
  labs(
    x = "independent variable *x*",
    y = "dependent variable *y* = *x*<sup>2</sup>"
  ) +
  theme(
    axis.title.x = element_markdown(color = "blue"),
    axis.title.y = element_markdown(size = rel(0.8))
  )

Inheritance of theme settings also works. For example, we can set both color and font size for axis.title, and then both axis.title.x and axis.title.y inherit the setting.

base +
  labs(
    x = "independent variable *x*",
    y = "dependent variable *y* = *x*<sup>2</sup>"
  ) +
  theme(
    axis.title = element_text(color = "blue", size = rel(0.8)),
    axis.title.x = element_markdown(),
    axis.title.y = element_markdown()
  )

Note that we used element_text() instead of element_markdown() for axis.title in the above plot. We could have used element_markdown() as well and the result would have been the same. It doesn’t matter that we set axis.title = element_text(), because the axis.title element isn’t actually rendered, only the axis.title.x and axis.title.y elements are. We’re setting axis.title only for the purpose of providing shared parameter values to axis.title.x and axis.title.y.

This is important to keep in mind when trying to create more unusual plots, e.g. with the y axis on the right. The naive code fails:

base +
  labs(
    x = "independent variable *x*",
    y = "dependent variable *y* = *x*<sup>2</sup>"
  ) +
  scale_y_continuous(position = "right") +
  theme(
    axis.title = element_text(color = "blue", size = rel(0.8)),
    axis.title.x = element_markdown(),
    axis.title.y = element_markdown()
  )

This happens because the axis title on the right is actually drawn by axis.title.y.right. Therefore, setting that element to element_markdown() creates the desired result.

base +
  labs(
    x = "independent variable *x*",
    y = "dependent variable *y* = *x*<sup>2</sup>"
  ) +
  scale_y_continuous(position = "right") +
  theme(
    axis.title = element_text(color = "blue", size = rel(0.8)),
    axis.title.x = element_markdown(),
    axis.title.y.right = element_markdown()
  )

Additional styling can be applied via inline CSS. The CSS properties color, font-size, and font-family are currently supported. Multi-line labels can be created by placing <br> tags where line breaks are desired.

library(dplyr)

mtcars %>%
  mutate(
    transmission = ifelse(am == 1, "automatic", "manual")
  ) %>%
  ggplot(aes(hp, mpg, color = transmission)) +
  geom_point(size = 2) +
  scale_color_manual(
    values = c(automatic = "#0072B2", manual = "#D55E00"),
    guide = "none"
  ) +
  labs(
    x = "Horse power",
    y = "Miles per gallon (MPG)",
    title = "<span style = 'font-size:14pt; font-family:Helvetica;'>Transmission type impacts fuel efficiency</span><br>
MPG is higher for <span style = 'color:#0072B2;'>automatic</span>
than for <span style = 'color:#D55E00;'>manual</span> transmissions"
  ) +
  theme_bw() +
  theme(
    text = element_text(family = "Times"),
    plot.title.position = "plot",
    plot.title = element_markdown(size = 11, lineheight = 1.2)
  )

We set the lineheight property to 1.2 because the default lineheight is too small for multi-line text labels rendered with element_markdown().

Text boxes

Text boxes can be created with element_textbox() or element_textbox_simple(). Text boxes differ from labels created with element_markdown() in that they tend to have a specific width and wrap their contents so it fits that width. The height of a textbox is normally calculated automatically so it matches the content height, but explicitly setting the height is also possible. Finally, while markdown labels can be displayed at any angle, textboxes have only four possible orientations, upright, left-rotated, right-rotated, and inverted.

In practice, setting a theme element to element_textbox() in a ggplot2 theme will frequently not have the desired result, because textboxes require many additional parameters that are not set by the parent text elements present in standard themes. To work around this issue, you can use element_textbox_simple(). It sets reasonable defaults for the additional parameters and thus can be used more readily. You will usually be able to use element_textbox_simple() as is, with only a few parameter adjustments required.

The following example adds both a title and a subtitle to the plot by drawing one single text box.

base <- mtcars %>%
  mutate(
    transmission = ifelse(am == 1, "automatic", "manual")
  ) %>%
  ggplot(aes(hp, mpg, color = transmission)) +
  geom_point(size = 2) +
  scale_color_manual(
    values = c(automatic = "#0072B2", manual = "#D55E00"),
    guide = "none"
  ) +
  labs(
    x = "Horse power",
    y = "Miles per gallon (MPG)",
    title = "Transmission type impacts fuel efficiency<br>
<span style = 'font-size:10pt;'>Miles per gallon (MPG) is on average higher for cars
with <span style = 'color:#0072B2;'>automatic transmission</span> than for cars with
<span style = 'color:#D55E00;'>manual transmission.</span> However, MPG generally
declines with increasing horse power.</span>"
  ) +
  theme_bw() + theme(plot.title.position = "plot")

base +
  theme(
    plot.title = element_textbox_simple(
      size = 14, lineheight = 1, padding = margin(0, 0, 5, 0)
    )
  )

Text boxes can have a background color and a border, and they have internal padding and external margins.

base +
  theme(
    plot.title = element_textbox_simple(
      size = 14, lineheight = 1,
      linetype = 1, # turn on border
      box.color = "#748696", # border color
      fill = "#F0F7FF", # background fill color
      r = grid::unit(3, "pt"), # radius for rounded corners
      padding = margin(5, 5, 5, 5), # padding around text inside the box
      margin = margin(0, 0, 10, 0) # margin outside the box
    )
  )

We can explicitly restrict the width of the box, and we can align the box relative to the enclosing space (with hjust and vjust) and the box content relative to the box edges (with halign and valign, not shown).

base +
  theme(
    plot.title = element_textbox_simple(
      size = 14, lineheight = 1, 
      width = grid::unit(4, "in"), # fixed width
      hjust = 1, # alignment of box relative to plot
      linetype = 1, # turn on border
      box.color = "#748696", # border color
      fill = "#F0F7FF", # background fill color
      r = grid::unit(3, "pt"), # radius for rounded corners
      padding = margin(5, 5, 5, 5), # padding around text inside the box
      margin = margin(0, 0, 10, 0) # margin outside the box
    )
  )

If we want a box to be rotated, we can use the orientation parameter.

mtcars %>%
  mutate(
    transmission = ifelse(am == 1, "automatic", "manual")
  ) %>%
  ggplot(aes(hp, mpg, color = transmission)) +
  geom_point(size = 2) +
  scale_color_manual(
    values = c(automatic = "#0072B2", manual = "#D55E00"),
    guide = "none"
  ) +
  labs(
    x = "Horse power",
    y = "Miles per gallon (MPG) is on average higher for cars with <span style =
'color:#0072B2;'>automatic transmission</span> than for cars with <span style =
'color:#D55E00;'>manual transmission.</span>",
    title = "Transmission type impacts fuel efficiency"
  ) +
  theme_bw() + 
  theme(
    plot.title.position = "plot",
    axis.title.y = element_textbox_simple(
      orientation = "left-rotated",
      width = grid::unit(2.5, "in"),
      hjust = 0, fill = "#F0F7FF",  
      padding = margin(5, 5, 5, 5),
      margin = margin(0, 0, 10, 0)
    )
  )

ggtext/inst/doc/theme_elements.R0000644000176200001440000001352513766017732016441 0ustar liggesusers## ---- include = FALSE--------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 4, fig.height = 3.75 ) ## ----message = FALSE---------------------------------------------------------- library(ggplot2) library(ggtext) base <- ggplot(data.frame(x = c(-5, 5)), aes(x)) + stat_function(fun = ~ .x*.x) base ## ----------------------------------------------------------------------------- base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + theme( axis.title.x = element_markdown(), axis.title.y = element_markdown() ) ## ----------------------------------------------------------------------------- base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + theme( axis.title.x = element_markdown(color = "blue"), axis.title.y = element_markdown(size = rel(0.8)) ) ## ----------------------------------------------------------------------------- base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + theme( axis.title = element_text(color = "blue", size = rel(0.8)), axis.title.x = element_markdown(), axis.title.y = element_markdown() ) ## ----------------------------------------------------------------------------- base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + scale_y_continuous(position = "right") + theme( axis.title = element_text(color = "blue", size = rel(0.8)), axis.title.x = element_markdown(), axis.title.y = element_markdown() ) ## ----------------------------------------------------------------------------- base + labs( x = "independent variable *x*", y = "dependent variable *y* = *x*2" ) + scale_y_continuous(position = "right") + theme( axis.title = element_text(color = "blue", size = rel(0.8)), axis.title.x = element_markdown(), axis.title.y.right = element_markdown() ) ## ----fig.width = 5, message = FALSE------------------------------------------- library(dplyr) mtcars %>% mutate( transmission = ifelse(am == 1, "automatic", "manual") ) %>% ggplot(aes(hp, mpg, color = transmission)) + geom_point(size = 2) + scale_color_manual( values = c(automatic = "#0072B2", manual = "#D55E00"), guide = "none" ) + labs( x = "Horse power", y = "Miles per gallon (MPG)", title = "Transmission type impacts fuel efficiency
MPG is higher for automatic than for manual transmissions" ) + theme_bw() + theme( text = element_text(family = "Times"), plot.title.position = "plot", plot.title = element_markdown(size = 11, lineheight = 1.2) ) ## ----fig.width = 5, message = FALSE------------------------------------------- base <- mtcars %>% mutate( transmission = ifelse(am == 1, "automatic", "manual") ) %>% ggplot(aes(hp, mpg, color = transmission)) + geom_point(size = 2) + scale_color_manual( values = c(automatic = "#0072B2", manual = "#D55E00"), guide = "none" ) + labs( x = "Horse power", y = "Miles per gallon (MPG)", title = "Transmission type impacts fuel efficiency
Miles per gallon (MPG) is on average higher for cars with automatic transmission than for cars with manual transmission. However, MPG generally declines with increasing horse power." ) + theme_bw() + theme(plot.title.position = "plot") base + theme( plot.title = element_textbox_simple( size = 14, lineheight = 1, padding = margin(0, 0, 5, 0) ) ) ## ----fig.width = 5, message = FALSE------------------------------------------- base + theme( plot.title = element_textbox_simple( size = 14, lineheight = 1, linetype = 1, # turn on border box.color = "#748696", # border color fill = "#F0F7FF", # background fill color r = grid::unit(3, "pt"), # radius for rounded corners padding = margin(5, 5, 5, 5), # padding around text inside the box margin = margin(0, 0, 10, 0) # margin outside the box ) ) ## ----fig.width = 5, message = FALSE------------------------------------------- base + theme( plot.title = element_textbox_simple( size = 14, lineheight = 1, width = grid::unit(4, "in"), # fixed width hjust = 1, # alignment of box relative to plot linetype = 1, # turn on border box.color = "#748696", # border color fill = "#F0F7FF", # background fill color r = grid::unit(3, "pt"), # radius for rounded corners padding = margin(5, 5, 5, 5), # padding around text inside the box margin = margin(0, 0, 10, 0) # margin outside the box ) ) ## ----------------------------------------------------------------------------- mtcars %>% mutate( transmission = ifelse(am == 1, "automatic", "manual") ) %>% ggplot(aes(hp, mpg, color = transmission)) + geom_point(size = 2) + scale_color_manual( values = c(automatic = "#0072B2", manual = "#D55E00"), guide = "none" ) + labs( x = "Horse power", y = "Miles per gallon (MPG) is on average higher for cars with automatic transmission than for cars with manual transmission.", title = "Transmission type impacts fuel efficiency" ) + theme_bw() + theme( plot.title.position = "plot", axis.title.y = element_textbox_simple( orientation = "left-rotated", width = grid::unit(2.5, "in"), hjust = 0, fill = "#F0F7FF", padding = margin(5, 5, 5, 5), margin = margin(0, 0, 10, 0) ) ) ggtext/inst/doc/plotting_text.html0000644000176200001440000175453213766017730017123 0ustar liggesusers Plotting with markdown text

Plotting with markdown text

The ggtext package defines two new geoms, geom_richtext() and geom_textbox(), which can be used to plot with markdown text. They draw simple text labels (without word wrap) and textboxes (with word wrap), respectively.

Simple text labels

Markdown-formatted text labels can be placed into a plot with geom_richtext(). This geom is mostly a drop-in replacement for geom_label() (or geom_text()), with added capabilities.

As a first example, we will annotate a plot of linear regressions with their r2 values. We will use the iris dataset for this demonstration. In our first iteration, we will not yet use any ggtext features, and instead plot the text with geom_text().

library(ggplot2)
library(dplyr)
library(glue)

iris_cor <- iris %>% 
  group_by(Species) %>%
  summarize(r_square = cor(Sepal.Length, Sepal.Width)^2) %>%
  mutate(
    # location of each text label in data coordinates
    Sepal.Length = 8, Sepal.Width = 4.5,
    # text label containing r^2 value 
    label = glue("r^2 = {round(r_square, 2)}")
  )

iris_cor
#> # A tibble: 3 x 5
#>   Species    r_square Sepal.Length Sepal.Width label     
#>   <fct>         <dbl>        <dbl>       <dbl> <glue>    
#> 1 setosa        0.551            8         4.5 r^2 = 0.55
#> 2 versicolor    0.277            8         4.5 r^2 = 0.28
#> 3 virginica     0.209            8         4.5 r^2 = 0.21

iris_facets <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) +
  geom_point() + 
  geom_smooth(method = "lm", formula = y ~ x) +
  facet_wrap(~Species) +
  theme_bw()

iris_facets + 
  geom_text(
    data = iris_cor,
    aes(label = label),
    hjust = 1, vjust = 1
  )

This code works, but the result is not fully satisfying. First, because r is a mathematical variable, it should be typeset in italics. Second, it would be nicer to have a superscript 2 instead of ^2. We can achieve both results by creating a markdown label and plotting it with geom_richtext().

library(ggtext)

iris_cor_md <- iris_cor %>% 
  mutate(
    # markdown version of text label
    label = glue("*r*<sup>2</sup> = {round(r_square, 2)}")
  )

iris_cor_md
#> # A tibble: 3 x 5
#>   Species    r_square Sepal.Length Sepal.Width label                 
#>   <fct>         <dbl>        <dbl>       <dbl> <glue>                
#> 1 setosa        0.551            8         4.5 *r*<sup>2</sup> = 0.55
#> 2 versicolor    0.277            8         4.5 *r*<sup>2</sup> = 0.28
#> 3 virginica     0.209            8         4.5 *r*<sup>2</sup> = 0.21

iris_facets + 
  geom_richtext(
    data = iris_cor_md,
    aes(label = label),
    hjust = 1, vjust = 1
  )

By default, geom_richtext() puts a box around the text it draws. We can suppress the box by setting the fill and outline colors to transparent (fill = NA, label.colour = NA).

iris_facets + 
  geom_richtext(
    data = iris_cor_md,
    aes(label = label),
    hjust = 1, vjust = 1,
    # remove label background and outline
    fill = NA, label.color = NA,
    # remove label padding, since we have removed the label outline
    label.padding = grid::unit(rep(0, 4), "pt") 
  )

We can separately choose the colors of label outline, label fill, and label text, and we can assign them via aesthetic mapping as well as by direct specification, as is usual in ggplot2.

iris_facets + 
  aes(colour = Species) +
  geom_richtext(
    data = iris_cor_md,
    aes(
      label = label,
      fill = after_scale(alpha(colour, .2))
    ),
    text.colour = "black",
    hjust = 1, vjust = 1
  ) +
  theme(legend.position = "none")

Rotated labels are also possible, though in most cases it is not recommended to use them.

iris_facets + 
  aes(colour = Species) +
  geom_richtext(
    data = iris_cor_md,
    aes(
      x = 7.5,
      label = label,
      fill = after_scale(alpha(colour, .2))
    ),
    text.colour = "black",
    hjust = 1, vjust = 1,
    angle = 30
  ) +
  theme(legend.position = "none")

Text boxes

Markdown-formatted text boxes (with word wrap) can be placed into a plot with geom_textbox(). It is generally necessary to specify a width for the box. Widths are specified in grid units, and both absolute (e.g., "cm", "pt", or "in") and relative ("npc", Normalised Parent Coordinates) units are possible.

df <- data.frame(
  x = 0.1,
  y = 0.8,
  label = "*Lorem ipsum dolor sit amet,* consectetur adipiscing
elit. Quisque tincidunt eget arcu in pulvinar. Morbi varius leo
vel consectetur luctus. **Morbi facilisis justo non fringilla.**
Vivamus sagittis sem felis, vel lobortis risus mattis eget. Nam
quis imperdiet felis, in convallis elit."
)

p <- ggplot() +
  geom_textbox(
    data = df,
    aes(x, y, label = label),
    width = grid::unit(0.73, "npc"), # 73% of plot panel width
    hjust = 0, vjust = 1
  ) +
  xlim(0, 1) + ylim(0, 1)

p

If we specify a relative width, then changing the size of the plot will change the size of the textbox. The text will reflow to accommodate this change.

p

The parameters hjust and vjust align the box relative to the reference point specified by x and y, but they do not affect the alignment of text inside the box. To specify how text is aligned inside the box, use halign and valign. For example, halign = 0.5 generates centered text.

ggplot() +
  geom_textbox(
    data = df,
    aes(x, y, label = label),
    width = grid::unit(0.73, "npc"), # 73% of plot panel width
    hjust = 0, vjust = 1,
    halign = 0.5 # centered text
  ) +
  xlim(0, 1) + ylim(0, 1)

While text boxes cannot be rotated arbitrarily, they can be placed in four distinct orientations, corresponding to rotations by multiples of 90 degrees. Note that hjust and vjust are specified relative to this orientation.

df <- data.frame(
  x = 0.5,
  y = 0.5,
  label = "The quick brown fox jumps over the lazy dog.",
  orientation = c("upright", "left-rotated", "inverted", "right-rotated")
)

ggplot() +
  geom_textbox(
    data = df,
    aes(x, y, label = label, orientation = orientation),
    width = grid::unit(1.5, "in"),
    height = grid::unit(1.5, "in"),
    box.margin = grid::unit(rep(0.25, 4), "in"),
    hjust = 0, vjust = 1
  ) +
  xlim(0, 1) + ylim(0, 1) +
  scale_discrete_identity(aesthetics = "orientation")

The previous example uses the box.margin argument to create some space between the reference point given by x, y and the box itself. This margin is part of the size calculation for the box, so that a width of 1.5 inches with 0.25 inch margins yields an actual box of 1 inch in width.