From e289d2568dd73bf5293ade0b5f3ead4ea828265a Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 21 Jan 2023 22:53:21 +0000 Subject: [PATCH] Built site for AMR: 1.8.2.9096@98e62c9 --- 404.html | 2 +- LICENSE-text.html | 2 +- articles/AMR.html | 636 +++++++++--------- .../AMR_files/figure-html/disk_plots-1.png | Bin 38112 -> 38785 bytes .../figure-html/disk_plots_mo_ab-1.png | Bin 52626 -> 51199 bytes .../AMR_files/figure-html/mic_plots-1.png | Bin 28087 -> 28685 bytes .../AMR_files/figure-html/mic_plots-2.png | Bin 36930 -> 37491 bytes .../figure-html/mic_plots_mo_ab-1.png | Bin 38115 -> 38348 bytes .../figure-html/mic_plots_mo_ab-2.png | Bin 51096 -> 49145 bytes articles/AMR_files/figure-html/plot 1-1.png | Bin 43098 -> 41727 bytes articles/AMR_files/figure-html/plot 3-1.png | Bin 28428 -> 28428 bytes articles/AMR_files/figure-html/plot 4-1.png | Bin 78092 -> 78241 bytes articles/AMR_files/figure-html/plot 5-1.png | Bin 49882 -> 49833 bytes articles/EUCAST.html | 2 +- articles/MDR.html | 90 +-- articles/PCA.html | 84 +-- articles/SPSS.html | 4 +- articles/WHONET.html | 14 +- articles/datasets.html | 36 +- articles/index.html | 2 +- articles/resistance_predict.html | 12 +- articles/welcome_to_AMR.html | 8 +- authors.html | 2 +- index.html | 8 +- news/index.html | 57 +- pkgdown.yml | 2 +- reference/AMR-deprecated.html | 43 +- reference/AMR-options.html | 2 +- reference/AMR.html | 95 +-- reference/Rplot005.png | Bin 12950 -> 12814 bytes reference/Rplot006.png | Bin 12468 -> 12333 bytes reference/Rplot007.png | Bin 13565 -> 12871 bytes reference/Rplot008.png | Bin 18939 -> 18490 bytes reference/Rplot009.png | Bin 8473 -> 8122 bytes reference/WHOCC.html | 2 +- reference/WHONET.html | 90 ++- reference/ab_from_text.html | 2 +- reference/ab_property.html | 6 +- reference/add_custom_antimicrobials.html | 6 +- reference/add_custom_microorganisms.html | 4 +- reference/age.html | 22 +- reference/age_groups.html | 4 +- reference/antibiotic_class_selectors.html | 242 +++---- reference/antibiotics.html | 2 +- reference/as.ab.html | 24 +- reference/as.av.html | 4 +- reference/as.disk.html | 14 +- reference/as.mic.html | 16 +- reference/as.mo.html | 4 +- reference/as.rsi-1.png | Bin 28019 -> 0 bytes reference/as.rsi-2.png | Bin 23102 -> 0 bytes reference/as.sir-1.png | Bin 0 -> 28025 bytes reference/as.sir-2.png | Bin 0 -> 23107 bytes reference/{as.rsi.html => as.sir.html} | 271 ++++---- reference/atc_online.html | 2 +- reference/av_from_text.html | 2 +- reference/av_property.html | 4 +- reference/availability.html | 4 +- reference/bug_drug_combinations.html | 2 +- ...slation.html => clinical_breakpoints.html} | 14 +- reference/count.html | 37 +- reference/custom_eucast_rules.html | 8 +- reference/dosage.html | 2 +- reference/eucast_rules.html | 28 +- reference/example_isolates.html | 20 +- reference/example_isolates_unclean.html | 4 +- reference/first_isolate.html | 72 +- reference/g.test.html | 2 +- reference/get_episode.html | 151 +++-- reference/ggplot_pca.html | 4 +- .../{ggplot_rsi-1.png => ggplot_sir-1.png} | Bin .../{ggplot_rsi-10.png => ggplot_sir-10.png} | Bin .../{ggplot_rsi-2.png => ggplot_sir-2.png} | Bin .../{ggplot_rsi-3.png => ggplot_sir-3.png} | Bin .../{ggplot_rsi-4.png => ggplot_sir-4.png} | Bin .../{ggplot_rsi-5.png => ggplot_sir-5.png} | Bin .../{ggplot_rsi-6.png => ggplot_sir-6.png} | Bin .../{ggplot_rsi-7.png => ggplot_sir-7.png} | Bin .../{ggplot_rsi-8.png => ggplot_sir-8.png} | Bin .../{ggplot_rsi-9.png => ggplot_sir-9.png} | Bin .../{ggplot_rsi.html => ggplot_sir.html} | 84 +-- reference/guess_ab_col.html | 8 +- reference/index.html | 30 +- reference/intrinsic_resistant.html | 2 +- reference/italicise_taxonomy.html | 2 +- reference/join.html | 2 +- reference/key_antimicrobials.html | 10 +- reference/kurtosis.html | 6 +- reference/like.html | 34 +- reference/mdro.html | 33 +- reference/mean_amr_distance.html | 107 +-- reference/microorganisms.codes.html | 2 +- reference/microorganisms.html | 2 +- reference/mo_matching_score.html | 4 +- reference/mo_property.html | 4 +- reference/mo_source.html | 2 +- reference/pca.html | 4 +- reference/plot-1.png | Bin 26918 -> 27590 bytes reference/plot-2.png | Bin 26406 -> 27551 bytes reference/plot-3.png | Bin 28303 -> 28474 bytes reference/plot-4.png | Bin 38695 -> 39490 bytes reference/plot-5.png | Bin 38041 -> 39142 bytes reference/plot-6.png | Bin 36843 -> 37760 bytes reference/plot-7.png | Bin 37971 -> 37252 bytes reference/plot-8.png | Bin 56846 -> 55397 bytes reference/plot-9.png | Bin 26162 -> 24724 bytes reference/plot.html | 36 +- reference/proportion.html | 55 +- reference/random.html | 50 +- reference/resistance_predict.html | 23 +- reference/skewness.html | 4 +- reference/translate.html | 2 +- search.json | 2 +- sitemap.xml | 10 +- 114 files changed, 1380 insertions(+), 1308 deletions(-) delete mode 100644 reference/as.rsi-1.png delete mode 100644 reference/as.rsi-2.png create mode 100644 reference/as.sir-1.png create mode 100644 reference/as.sir-2.png rename reference/{as.rsi.html => as.sir.html} (80%) rename reference/{rsi_translation.html => clinical_breakpoints.html} (70%) rename reference/{ggplot_rsi-1.png => ggplot_sir-1.png} (100%) rename reference/{ggplot_rsi-10.png => ggplot_sir-10.png} (100%) rename reference/{ggplot_rsi-2.png => ggplot_sir-2.png} (100%) rename reference/{ggplot_rsi-3.png => ggplot_sir-3.png} (100%) rename reference/{ggplot_rsi-4.png => ggplot_sir-4.png} (100%) rename reference/{ggplot_rsi-5.png => ggplot_sir-5.png} (100%) rename reference/{ggplot_rsi-6.png => ggplot_sir-6.png} (100%) rename reference/{ggplot_rsi-7.png => ggplot_sir-7.png} (100%) rename reference/{ggplot_rsi-8.png => ggplot_sir-8.png} (100%) rename reference/{ggplot_rsi-9.png => ggplot_sir-9.png} (100%) rename reference/{ggplot_rsi.html => ggplot_sir.html} (93%) diff --git a/404.html b/404.html index e900b3452..7a170d087 100644 --- a/404.html +++ b/404.html @@ -36,7 +36,7 @@ AMR (for R) - 1.8.2.9095 + 1.8.2.9096
+generated on 21 January 2023.Using the sample()
function, we can randomly select
items from all objects we defined earlier. To let our fake data reflect
reality a bit, we will also approximately define the probabilities of
-bacteria and the antibiotic results, using the random_rsi()
+bacteria and the antibiotic results, using the random_sir()
function.
sample_size <- 20000
@@ -360,10 +360,10 @@ function.
size = sample_size, replace = TRUE,
prob = c(0.50, 0.25, 0.15, 0.10)
),
- AMX = random_rsi(sample_size, prob_RSI = c(0.35, 0.60, 0.05)),
- AMC = random_rsi(sample_size, prob_RSI = c(0.15, 0.75, 0.10)),
- CIP = random_rsi(sample_size, prob_RSI = c(0.20, 0.80, 0.00)),
- GEN = random_rsi(sample_size, prob_RSI = c(0.08, 0.92, 0.00))
+ AMX = random_sir(sample_size, prob_sir = c(0.35, 0.60, 0.05)),
+ AMC = random_sir(sample_size, prob_sir = c(0.15, 0.75, 0.10)),
+ CIP = random_sir(sample_size, prob_sir = c(0.20, 0.80, 0.00)),
+ GEN = random_sir(sample_size, prob_sir = c(0.08, 0.92, 0.00))
)
Using the left_join()
function from the
dplyr
package, we can ‘map’ the gender to the patient ID
@@ -380,12 +380,12 @@ data set:
Now, let’s start the cleaning and the analysis!
@@ -499,16 +499,16 @@ Longest: 1dplyr
package makes this really easy:
data <- data %>%
mutate(bacteria = as.mo(bacteria))
We also want to transform the antibiotics, because in real life data
-we don’t know if they are really clean. The as.rsi()
+we don’t know if they are really clean. The as.sir()
function ensures reliability and reproducibility in these kind of
-variables. The is.rsi.eligible()
can check which columns
-are probably columns with R/SI test results. Using mutate()
+variables. The is_sir_eligible()
can check which columns
+are probably columns with SIR test results. Using mutate()
and across()
, we can apply the transformation to the formal
<rsi>
class:
-is.rsi.eligible(data)
+is_sir_eligible(data)
# [1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE
-colnames(data)[is.rsi.eligible(data)]
+colnames(data)[is_sir_eligible(data)]
# [1] "AMX" "AMC" "CIP" "GEN"
data <- data %>%
- mutate(across(where(is.rsi.eligible), as.rsi))
Finally, we will apply EUCAST rules on our antimicrobial results. In Europe, most medical microbiological laboratories already apply these rules. Our package @@ -621,9 +621,9 @@ takes into account the antimicrobial susceptibility test results using # Basing inclusion on all antimicrobial results, using a points threshold of # 2 # Including isolates from ICU. -# => Found 10,664 'phenotype-based' first isolates (53.3% of total where a +# => Found 12,360 'phenotype-based' first isolates (61.8% of total where a # microbial ID was available) -
So only 53.3% is suitable for resistance analysis! We can now filter +
So only 61.8% is suitable for resistance analysis! We can now filter
on it with the filter()
function, also from the
dplyr
package:
@@ -634,25 +634,25 @@ on it with the data_1st <- data %>%
filter_first_isolate()
# Including isolates from ICU.
So we end up with 10,664 isolates for analysis. Now our data looks +
So we end up with 12,360 isolates for analysis. Now our data looks like:
head(data_1st)
1 | -2015-03-26 | -C9 | +2 | +2010-06-25 | +F2 | Hospital A | B_ESCHR_COLI | +S | +S | +R | +S | +M | +Gram-negative | +Escherichia | +coli | +TRUE | +|||||||||
3 | +2011-12-31 | +A5 | +Hospital D | +B_ESCHR_COLI | R | S | S | @@ -688,64 +704,48 @@ like:coli | TRUE | ||||||||||||||||
7 | -2017-08-12 | -B4 | -Hospital A | -B_KLBSL_PNMN | -R | +||||||||||||||||||||
5 | +2014-05-11 | +S9 | +Hospital B | +B_ESCHR_COLI | +S | +S | S | R | -S | -M | +F | Gram-negative | -Klebsiella | -pneumoniae | +Escherichia | +coli | +TRUE | +||||||||
6 | +2011-02-06 | +S9 | +Hospital A | +B_ESCHR_COLI | +R | +R | +I | +S | +F | +Gram-negative | +Escherichia | +coli | TRUE | ||||||||||||
8 | -2015-07-29 | -K7 | -Hospital D | -B_STPHY_AURS | -S | -S | -S | -R | -M | -Gram-positive | -Staphylococcus | -aureus | -TRUE | -||||||||||||
10 | -2010-02-06 | -N9 | +2014-02-12 | +E6 | Hospital A | B_ESCHR_COLI | +R | S | -S | -S | -S | -F | -Gram-negative | -Escherichia | -coli | -TRUE | -|||||||||
12 | -2017-12-15 | -M8 | -Hospital B | -B_ESCHR_COLI | -S | -S | -S | -S | +R | +I | M | Gram-negative | Escherichia | @@ -753,19 +753,19 @@ like:TRUE | |||||||||||
15 | -2014-01-10 | -V9 | -Hospital B | -B_STPHY_AURS | -R | -S | -S | -S | +9 | +2015-08-18 | +Q1 | +Hospital D | +B_ESCHR_COLI | +I | +I | +I | +I | F | -Gram-positive | -Staphylococcus | -aureus | +Gram-negative | +Escherichia | +coli | TRUE |
1 | Escherichia coli | -4,704 | -44.11% | -4,704 | -44.11% | +5,843 | +47.27% | +5,843 | +47.27% | ||||||||||||||||
2 | Staphylococcus aureus | -2,741 | -25.70% | -7,445 | -69.81% | +3,316 | +26.83% | +9,159 | +74.10% | ||||||||||||||||
3 | Streptococcus pneumoniae | -2,062 | -19.34% | -9,507 | -89.15% | +1,866 | +15.10% | +11,025 | +89.20% | ||||||||||||||||
4 | Klebsiella pneumoniae | -1,157 | -10.85% | -10,664 | +1,335 | +10.80% | +12,360 | 100.00% | |||||||||||||||||
2015-07-29 | -K7 | -Hospital D | -B_STPHY_AURS | -S | -S | -S | -R | -M | -Gram-positive | -Staphylococcus | -aureus | -TRUE | -|||||||||||||
2015-09-30 | -X1 | -Hospital D | +2014-05-11 | +S9 | +Hospital B | B_ESCHR_COLI | -R | S | -R | +S | +S | R | F | Gram-negative | @@ -931,61 +916,76 @@ antibiotic class they are in:coli | TRUE | |||||||||
2011-12-11 | -T5 | +||||||||||||||||||||||||
2017-09-06 | +N1 | Hospital A | -B_STRPT_PNMN | -R | +B_KLBSL_PNMN | R | S | +S | R | -F | -Gram-positive | -Streptococcus | +M | +Gram-negative | +Klebsiella | pneumoniae | TRUE | ||||||||
2010-01-19 | -K7 | +||||||||||||||||||||||||
2014-10-21 | +U6 | Hospital C | B_STRPT_PNMN | -R | -R | S | -R | -M | -Gram-positive | -Streptococcus | -pneumoniae | -TRUE | -|||||||||||||
2013-05-13 | -F4 | -Hospital B | -B_STRPT_PNMN | S | S | R | -R | -M | +F | Gram-positive | Streptococcus | pneumoniae | TRUE | ||||||||||||
2010-01-29 | -W4 | -Hospital D | -B_ESCHR_COLI | +2016-07-17 | +T2 | +Hospital A | +B_STPHY_AURS | +I | +S | R | -S | -S | R | F | +Gram-positive | +Staphylococcus | +aureus | +TRUE | +|||||||
2014-09-22 | +F8 | +Hospital C | +B_ESCHR_COLI | +R | +R | +R | +R | +M | +Gram-negative | +Escherichia | +coli | +TRUE | +|||||||||||||
2014-04-21 | +E7 | +Hospital D | +B_ESCHR_COLI | +I | +S | +S | +R | +M | Gram-negative | Escherichia | coli | @@ -1013,50 +1013,50 @@ different bug/drug combinations, you can use the||||||||||||||
E. coli | AMX | -2227 | -162 | -2315 | -4704 | +1469 | +1254 | +3120 | +5843 | ||||||||||||||||
E. coli | AMC | -3431 | -174 | -1099 | -4704 | +2702 | +1194 | +1947 | +5843 | ||||||||||||||||
E. coli | CIP | -3397 | -0 | -1307 | -4704 | +1973 | +1812 | +2058 | +5843 | ||||||||||||||||
E. coli | GEN | -4106 | -0 | -598 | -4704 | +2020 | +1806 | +2017 | +5843 | ||||||||||||||||
K. pneumoniae | AMX | 0 | 0 | -1157 | -1157 | +1335 | +1335 | ||||||||||||||||||
K. pneumoniae | AMC | -922 | -47 | -188 | -1157 | +599 | +293 | +443 | +1335 |
proportion_SI()
, equa
own:
data_1st %>% resistance(AMX)
-# [1] 0.5381658
Or can be used in conjunction with group_by()
and
summarise()
, both from the dplyr
package:
@@ -1152,25 +1152,25 @@ own:Hospital A -0.5460547 +0.5845627 Hospital B -0.5252972 +0.5830477 Hospital C -0.5231231 +0.5790359 Hospital D -0.5592912 +0.5767790 Of course it would be very convenient to know the number of isolates responsible for the percentages. For that purpose the -
n_rsi()
can be used, which works exactly like +n_sir()
can be used, which works exactly liken_distinct()
from thedplyr
package. It counts all isolates available for every group (i.e. values S, I or R):
Hospital A | -0.5460547 | -3181 | +0.5845627 | +3796 |
Hospital B | -0.5252972 | -3617 | +0.5830477 | +4377 |
Hospital C | -0.5231231 | -1665 | +0.5790359 | +1784 |
Hospital D | -0.5592912 | -2201 | +0.5767790 | +2403 |
The AMR
package contains functions to extend this
-ggplot2
package, for example geom_rsi()
. It
+ggplot2
package, for example geom_sir()
. It
automatically transforms data with count_df()
or
proportion_df()
and show results in stacked bars. Its
simplest and shortest example:
Omit the translate_ab = FALSE
to have the antibiotic
codes (AMX, AMC, CIP, GEN) translated to official WHO names
@@ -1363,15 +1363,15 @@ additional functions from our package, we can create this:
# group the data on `genus`
ggplot(data_1st %>% group_by(genus)) +
# create bars with genus on x axis
- # it looks for variables with class `rsi`,
- # of which we have 4 (earlier created with `as.rsi`)
- geom_rsi(x = "genus") +
+ # it looks for variables with class `sir`,
+ # of which we have 4 (earlier created with `as.sir`)
+ geom_sir(x = "genus") +
# split plots on antibiotic
- facet_rsi(facet = "antibiotic") +
- # set colours to the R/SI interpretations (colour-blind friendly)
- scale_rsi_colours() +
+ facet_sir(facet = "antibiotic") +
+ # set colours to the SIR interpretations (colour-blind friendly)
+ scale_sir_colours() +
# show percentages on y axis
- scale_y_percent(breaks = 0:4 * 25) +
+ scale_y_percent(breaks = 0:4 * 25) +
# turn 90 degrees, to make it bars instead of columns
coord_flip() +
# add labels
@@ -1383,12 +1383,12 @@ additional functions from our package, we can create this:
# (is now y axis because we turned the plot)
theme(axis.text.y = element_text(face = "italic"))
To simplify this, we also created the ggplot_rsi()
+
To simplify this, we also created the ggplot_sir()
function, which combines almost all above functions:
data_1st %>%
group_by(genus) %>%
- ggplot_rsi(
+ ggplot_sir(
x = "genus",
facet = "antibiotic",
breaks = 0:4 * 25,
@@ -1410,16 +1410,18 @@ classes) <mic>
and <disk>
:
mic_values <- random_mic(size = 100)
mic_values
# Class 'mic'
-# [1] >=256 0.005 64 0.025 0.5 0.0625 0.025 128 1 >=256
-# [11] >=256 0.025 0.025 0.001 0.25 1 0.005 2 >=256 64
-# [21] 0.01 2 0.001 64 32 2 0.0625 0.005 0.125 0.001
-# [31] 0.5 2 0.25 0.0625 0.125 128 0.0625 0.0625 2 32
-# [41] 128 0.002 >=256 0.25 32 64 0.01 0.025 16 0.005
-# [51] 0.002 0.125 0.5 64 0.002 >=256 0.5 0.5 0.0625 1
-# [61] 4 >=256 0.005 2 128 128 32 0.25 1 4
-# [71] 8 4 0.002 128 0.025 32 8 0.5 0.001 0.025
-# [81] 8 32 1 0.025 0.5 0.001 0.25 0.002 0.002 64
-# [91] 1 0.002 0.025 128 128 2 0.01 0.002 16 4
# base R:
plot(mic_values)
disk_values <- random_disk(size = 100, mo = "E. coli", ab = "cipro")
disk_values
# Class 'disk'
-# [1] 17 29 22 22 20 26 28 25 21 24 26 31 19 28 26 18 21 24 23 23 31 22 26 31 18
-# [26] 20 29 18 21 29 25 31 23 29 26 24 28 28 23 22 21 18 17 20 21 30 29 27 29 26
-# [51] 31 29 22 29 24 19 26 27 30 23 30 22 30 23 31 26 19 23 29 22 24 28 21 17 17
-# [76] 25 24 30 21 30 17 27 19 19 25 23 26 26 22 25 30 18 24 29 20 29 20 24 25 24
+# [1] 31 28 26 25 25 26 25 19 31 31 30 27 23 29 18 31 21 18 31 19 29 24 20 28 18
+# [26] 28 30 22 18 20 22 19 26 25 29 26 26 31 17 17 18 26 25 26 30 20 27 20 28 20
+# [51] 17 20 30 23 18 31 23 18 22 20 24 31 19 27 18 21 25 25 22 26 21 29 26 24 20
+# [76] 24 20 31 22 18 23 26 28 20 26 20 17 28 31 24 31 28 21 19 26 26 22 24 18 31
# base R:
plot(disk_values, mo = "E. coli", ab = "cipro")
G1J%kl>u<-j%5!dRY%n=feXI5}?T5na
zYL@wgoP3h;jo<8OHUdN1$m(b`j}-;_-Y r*X7?dqI~pf51d@}yrOE?=WcZP4D??FnJ0bmtrsV}~x+JZ6V0Q!&LhM}y
zd=KEPTA5H4(S(iXos9`IyU;I!sW=g5i?pr{ag4@W;iVANg(W6wWy`@Nqn`o)Ks!V=
z3`~9JWV5SmdvsNhQSa_%=H=rUN}?xt^cE0tlV(|bkILvJnG?@&*ABOHUs_TXwAQ=I
z^LUoWv+%e(|Dcrd@(usjgHwVN(Y$sGu(zTzs;#U}m6CGE24QQJ={zH;<|@43zFHjH
zN8L)?kvK$Q@T>=q(VgHe?fzyYCE=QW|DHkDl#M}3*qF3>zf1>lFJ(cKdbOF7D(G8g
z%|}FTK1Ascx=SX~!k-P9r3%peHB0NK2He!&<_-KurESG+R!E&aoAIGZY9Ug&J+yb~
z>IUAZ!xKI6KGj|I->tppYr9pKhts445qSMc_739n0T#=#>tkb>Cc9A6IBAmYyuY8~
ze7v+b|AGtQF&ligraiOq!a`UhE;H>wT(G a
z%Tc>dYwf~vure8GAp*#txy?-!($t>0oYnfE>oMDv*;l;oR-IubLnD;d!bP!E6^GA;Ip
zPcGdLlLRAq+7|I>&r&^7_iGpTP)RkKVlZuQe}?SaHx&Fs7 mVWM*MhKu;$mMDhqMwq(d=p_
z{S7KpRzpbSOwyoil-qA=JFl6BgprLsfY?iK59$nz375ciH5*&9(|
zu^WeDWhE1i?TjsS^G-CjkA>b3rwZMt&39 ;@iz{D1O-TES^R3bH+v+e_VYnf<|G(0N4;NHm}5gn(uz+k&I?j
z-YIDi;PLLdsvFBKzwV-F
T8N3p8KF2#z{8uwa-Y`8Q?
z6v`pROXP;|p}n
(W43wI
E$c_mE3XMagB+MvJc2hu+%zFE%;
zxo}HVn&3-nUs+X>I6M(m?^yKucN;0NC-J()*LOQK<_RsgY-G$1fBUC5cKBP{B1Yd3
zyA|0wJF|&T<
*Vp}ylG(Amx1>d#jt~uB1CF)kC<4_SJCnAnf
z{qyU9k$e`@0q5i^C8y=*?8{xcfp>c=7AbFta!TUVt$JJw*%J;luK9gEk=UAehR
TZt?@O+f(N_IROfHu5pIv;ppmv4bpazaG@J2%G*#{z^`-%r`>JZuAjz5rZ^8EZh0pu7{!JS<2PNjj^N-(X5lHgw&Az{XI1y&(3=K
zO*-G^B_EWdAFgV37mD2X2UP>&+b0`uyYgzQA^%(_&qiB*Wt7MXspCJkl