1
0
mirror of https://github.com/msberends/AMR.git synced 2024-12-26 08:06:12 +01:00

Compare commits

...

2 Commits

41 changed files with 5664 additions and 635 deletions

View File

@ -1,6 +1,6 @@
Package: AMR
Version: 2.1.1.9084
Date: 2024-09-30
Version: 2.1.1.9087
Date: 2024-10-02
Title: Antimicrobial Resistance Data Analysis
Description: Functions to simplify and standardise antimicrobial resistance (AMR)
data analysis and to work with microbial and antimicrobial properties by

View File

@ -1,4 +1,4 @@
# AMR 2.1.1.9084
# AMR 2.1.1.9087
*(this beta version will eventually become v3.0. We're happy to reach a new major milestone soon, which will be all about the new One Health support! Install this beta using [the instructions here](https://msberends.github.io/AMR/#latest-development-version).)*

Binary file not shown.

BIN
data-raw/AMRforRGPT.pdf Normal file

Binary file not shown.

BIN
data-raw/AMRforRGPT.pptx Normal file

Binary file not shown.

2456
data-raw/AMRforRGPT.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 327 KiB

View File

@ -169,6 +169,7 @@ pre_commit_lst$MO_WHO_PRIORITY_GENERA <- c(
"Coccidioides",
"Cryptococcus",
"Enterococcus",
"Escherichia",
"Fusarium",
"Haemophilus",
"Helicobacter",

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
5b5544d28deade33092925a6758277c4
f38201f0751cfc3a0993dcf9141609a1

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -23741,19 +23741,19 @@
"B_ECRBM_RMSM" "Erythromicrobium ramosum" "synonym" "Bacteria" "Pseudomonadota" "Alphaproteobacteria" "Sphingomonadales" "Erythrobacteraceae" "Erythromicrobium" "ramosum" "" "species" "Yurkov et al., 1994" "LPSN" "776049" "515600" "12988" "3221406" 2 "434593006"
"B_ERMNS" "Erythromonas" "synonym" "Bacteria" "Pseudomonadota" "Alphaproteobacteria" "Sphingomonadales" "Sphingomonadaceae" "Erythromonas" "" "" "genus" "Yurkov et al., 1997" "LPSN" "515601" "1302" "515246" "8926" 2 ""
"B_ERMNS_URSN" "Erythromonas ursincola" "synonym" "Bacteria" "Pseudomonadota" "Alphaproteobacteria" "Sphingomonadales" "Sphingomonadaceae" "Erythromonas" "ursincola" "" "species" "Yurkov et al., 1997" "LPSN" "776051" "515601" "774092" 2 ""
"B_ESCHR" "Escherichia" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "" "" "genus" "Castellani et al., 1919" "facultative anaerobe" "LPSN" "515602" "482" "11158430" 1.15 "407310004,407251000,407281008,407284000,407283006,407160000,407285004,407159005,407287007,407290001,407291002,407289005,407293004,407222004,407295006,407294005,407297003,407260008,407299000,407300008,407301007,103429008,124994003,407303005,407306002,407305003,407308001,407253002,407254008,407262000,407263005,407265003,407264004,407267006,407269009,407256005,407271009,407199008,407273007,407275000,407258006,407278003,407279006,407277008,407231004,407235008,407234007,407233001,407237000,407239002,407241001,407243003,407245005,407246006,407227005,407229008,715877003,407203008,407161001,407204002,407158002,407207009,407206000,407209007,407211003,407214006,407213000,407219001,407217004,407218009,407216008,407220007,407221006,407224003,407225002,414103002,407197005,407198000,407196001,407202003,407201005,407182007,407184008,407163003,407186005,407190007,407189003,407188006,407192004,407194003,407165005,407169004,407168007,407173001,407172006,407171004,407175008,406629008,406628000,407177000,407179002,407180004,407156003,407157007,116398008,417207000,64735005,713416009"
"B_ESCHR_ADCR" "Escherichia adecarboxylata" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "adecarboxylata" "" "species" "Leclerc, 1962" "likely facultative anaerobe" "LPSN" "776052" "515602" "777447" 1.15 ""
"B_ESCHR_ALBR" "Escherichia albertii" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "albertii" "" "species" "Huys et al., 2003" "facultative anaerobe" "LPSN" "776053" "515602" "5427575" 1.15 "419388003"
"B_ESCHR_BLTT" "Escherichia blattae" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "blattae" "" "species" "Burgess et al., 1973" "likely facultative anaerobe" "LPSN" "776056" "515602" "788468" 1.5 ""
"B_ESCHR_COLI" "Escherichia coli" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "coli" "" "species" "Castellani et al., 1919" "facultative anaerobe" "LPSN" "776057" "515602" "11286021" 1.15 "1095001000112106,715307006,737528008,416989002,116397003,414097009,414098004,414099007,414100004,116395006,735270003,116396007,83285000,116394005,112283007,710886005,710887001,710888006,710889003,414132004,721892009,416812001,416740004,417216001,457541006,710253004,416530004,417189006,409800005,713925008,444771000124108,838549008"
"B_ESCHR_COLI_COLI" "Escherichia coli coli" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "coli" "coli" "subspecies" "GBIF" "776057" "12233256" "11286021" 1.15 ""
"B_ESCHR_COLI_EXPR" "Escherichia coli expressing" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "coli" "expressing" "subspecies" "AmSOD" "GBIF" "776057" "12239548" "11286021" 1.15 ""
"B_ESCHR_DYSN" "Escherichia dysenteriae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "dysenteriae" "" "species" "likely facultative anaerobe" "GBIF" "515602" "10862979" 1.5 ""
"B_ESCHR_FRGS" "Escherichia fergusonii" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "fergusonii" "" "species" "Farmer et al., 1985" "facultative anaerobe" "LPSN" "776059" "515602" "5427571" 1.15 "72461005"
"B_ESCHR_HRMN" "Escherichia hermannii" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "hermannii" "" "species" "Brenner et al., 1983" "facultative anaerobe" "LPSN" "776060" "515602" "5427572" 1.5 "85786000"
"B_ESCHR_MRMT" "Escherichia marmotae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "marmotae" "" "species" "Liu et al., 2015" "likely facultative anaerobe" "LPSN" "792928" "515602" "8869052" 1.5 "14961000146107"
"B_ESCHR_RUYS" "Escherichia ruysiae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "ruysiae" "" "species" "Van der Putten et al., 2021" "likely facultative anaerobe" "LPSN" "17322" "515602" "11776954" 1.5 ""
"B_ESCHR_VLNR" "Escherichia vulneris" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "vulneris" "" "species" "Brenner et al., 1983" "likely facultative anaerobe" "LPSN" "776063" "515602" "796273" "5427573" 1.15 ""
"B_ESCHR" "Escherichia" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "" "" "genus" "Castellani et al., 1919" "facultative anaerobe" "LPSN" "515602" "482" "11158430" 1 "407310004,407251000,407281008,407284000,407283006,407160000,407285004,407159005,407287007,407290001,407291002,407289005,407293004,407222004,407295006,407294005,407297003,407260008,407299000,407300008,407301007,103429008,124994003,407303005,407306002,407305003,407308001,407253002,407254008,407262000,407263005,407265003,407264004,407267006,407269009,407256005,407271009,407199008,407273007,407275000,407258006,407278003,407279006,407277008,407231004,407235008,407234007,407233001,407237000,407239002,407241001,407243003,407245005,407246006,407227005,407229008,715877003,407203008,407161001,407204002,407158002,407207009,407206000,407209007,407211003,407214006,407213000,407219001,407217004,407218009,407216008,407220007,407221006,407224003,407225002,414103002,407197005,407198000,407196001,407202003,407201005,407182007,407184008,407163003,407186005,407190007,407189003,407188006,407192004,407194003,407165005,407169004,407168007,407173001,407172006,407171004,407175008,406629008,406628000,407177000,407179002,407180004,407156003,407157007,116398008,417207000,64735005,713416009"
"B_ESCHR_ADCR" "Escherichia adecarboxylata" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "adecarboxylata" "" "species" "Leclerc, 1962" "likely facultative anaerobe" "LPSN" "776052" "515602" "777447" 1 ""
"B_ESCHR_ALBR" "Escherichia albertii" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "albertii" "" "species" "Huys et al., 2003" "facultative anaerobe" "LPSN" "776053" "515602" "5427575" 1 "419388003"
"B_ESCHR_BLTT" "Escherichia blattae" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "blattae" "" "species" "Burgess et al., 1973" "likely facultative anaerobe" "LPSN" "776056" "515602" "788468" 1 ""
"B_ESCHR_COLI" "Escherichia coli" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "coli" "" "species" "Castellani et al., 1919" "facultative anaerobe" "LPSN" "776057" "515602" "11286021" 1 "1095001000112106,715307006,737528008,416989002,116397003,414097009,414098004,414099007,414100004,116395006,735270003,116396007,83285000,116394005,112283007,710886005,710887001,710888006,710889003,414132004,721892009,416812001,416740004,417216001,457541006,710253004,416530004,417189006,409800005,713925008,444771000124108,838549008"
"B_ESCHR_COLI_COLI" "Escherichia coli coli" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "coli" "coli" "subspecies" "GBIF" "776057" "12233256" "11286021" 1 ""
"B_ESCHR_COLI_EXPR" "Escherichia coli expressing" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "coli" "expressing" "subspecies" "AmSOD" "GBIF" "776057" "12239548" "11286021" 1 ""
"B_ESCHR_DYSN" "Escherichia dysenteriae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "dysenteriae" "" "species" "likely facultative anaerobe" "GBIF" "515602" "10862979" 1 ""
"B_ESCHR_FRGS" "Escherichia fergusonii" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "fergusonii" "" "species" "Farmer et al., 1985" "facultative anaerobe" "LPSN" "776059" "515602" "5427571" 1 "72461005"
"B_ESCHR_HRMN" "Escherichia hermannii" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "hermannii" "" "species" "Brenner et al., 1983" "facultative anaerobe" "LPSN" "776060" "515602" "5427572" 1 "85786000"
"B_ESCHR_MRMT" "Escherichia marmotae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "marmotae" "" "species" "Liu et al., 2015" "likely facultative anaerobe" "LPSN" "792928" "515602" "8869052" 1 "14961000146107"
"B_ESCHR_RUYS" "Escherichia ruysiae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "ruysiae" "" "species" "Van der Putten et al., 2021" "likely facultative anaerobe" "LPSN" "17322" "515602" "11776954" 1 ""
"B_ESCHR_VLNR" "Escherichia vulneris" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Escherichia" "vulneris" "" "species" "Brenner et al., 1983" "likely facultative anaerobe" "LPSN" "776063" "515602" "796273" "5427573" 1 ""
"P_ESTST" "Estiastra" "accepted" "Protozoa" "" "" "" "" "Estiastra" "" "" "genus" "Eisenack, 1959" "GBIF" "3208159" "7" 2 ""
"P_ESTST_MAGN" "Estiastra magna" "accepted" "Protozoa" "" "" "" "" "Estiastra" "magna" "" "species" "Eisenack, 1959" "GBIF" "4918097" "3208159" 2 ""
"P_ESTST_MINM" "Estiastra minima" "accepted" "Protozoa" "" "" "" "" "Estiastra" "minima" "" "species" "Volkova, 1969" "GBIF" "4918094" "3208159" 2 ""

Binary file not shown.

Binary file not shown.

View File

@ -9,6 +9,8 @@
* Integrates with **WHONET**, ATC, **EARS-Net**, PubChem, **LOINC**, **SNOMED CT**, and **NCBI**
* 100% free of costs and dependencies, highly suitable for places with **limited resources**
<a href="https://chatgpt.com/g/g-M4UNLwFi5-amr-for-r-assistant"><img src="AMRforRGPT.svg" style="min-width: 300px; width: 10%;" /></a>
<div style="display: flex; font-size: 0.8em;">
<p style="text-align:left; width: 50%;"><small><a href="https://msberends.github.io/AMR/">https://msberends.github.io/AMR</a></small></p>
<p style="text-align:right; width: 50%;"><small><a href="https://doi.org/10.18637/jss.v104.i03" target="_blank">https://doi.org/10.18637/jss.v104.i03</a></small></p>

View File

@ -207,7 +207,7 @@ Furthermore,
When calculating the matching score, all characters in \eqn{x} and \eqn{n} are ignored that are other than A-Z, a-z, 0-9, spaces and parentheses.
All matches are sorted descending on their matching score and for all user input values, the top match will be returned. This will lead to the effect that e.g., \code{"E. coli"} will return the microbial ID of \emph{Escherichia coli} (\eqn{m = 0.598}, a highly prevalent microorganism found in humans) and not \emph{Entamoeba coli} (\eqn{m = 0.381}, a less prevalent microorganism in humans), although the latter would alphabetically come first.
All matches are sorted descending on their matching score and for all user input values, the top match will be returned. This will lead to the effect that e.g., \code{"E. coli"} will return the microbial ID of \emph{Escherichia coli} (\eqn{m = 0.688}, a highly prevalent microorganism found in humans) and not \emph{Entamoeba coli} (\eqn{m = 0.381}, a less prevalent microorganism in humans), although the latter would alphabetically come first.
}
\section{Reference Data Publicly Available}{

View File

@ -55,7 +55,7 @@ Furthermore,
When calculating the matching score, all characters in \eqn{x} and \eqn{n} are ignored that are other than A-Z, a-z, 0-9, spaces and parentheses.
All matches are sorted descending on their matching score and for all user input values, the top match will be returned. This will lead to the effect that e.g., \code{"E. coli"} will return the microbial ID of \emph{Escherichia coli} (\eqn{m = 0.598}, a highly prevalent microorganism found in humans) and not \emph{Entamoeba coli} (\eqn{m = 0.381}, a less prevalent microorganism in humans), although the latter would alphabetically come first.
All matches are sorted descending on their matching score and for all user input values, the top match will be returned. This will lead to the effect that e.g., \code{"E. coli"} will return the microbial ID of \emph{Escherichia coli} (\eqn{m = 0.688}, a highly prevalent microorganism found in humans) and not \emph{Entamoeba coli} (\eqn{m = 0.381}, a less prevalent microorganism in humans), although the latter would alphabetically come first.
}
\section{Reference Data Publicly Available}{

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 327 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 178 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 178 KiB

View File

@ -66,8 +66,31 @@
--bs-dropdown-link-hover-color: var(--amr-green-light) !important;
--bs-dropdown-link-hover-bg: var(--amr-green-dark) !important;
--bs-dropdown-link-active-color: white !important;
}
/* Python page */
body.amr-for-python * {
--amr-green-light: #FFD43B; /* Python yellow */
--amr-green-light-rgb: 255, 212, 59;
--amr-green-dark: #306998; /* Python blue */
--amr-green-dark-rgb: 48, 105, 152;
--amr-green-middle: #b1bc5e; /* Adjusted middle yellow */
--amr-green-middle-rgb: 177, 188, 94;
--bs-success: var(--amr-green-dark) !important;
--bs-light: var(--amr-green-light) !important;
--bs-info: var(--amr-green-middle) !important;
--bs-link-color: var(--amr-green-dark) !important;
--bs-link-color-rgb: var(--amr-green-dark-rgb) !important;
--bs-primary: var(--amr-green-dark) !important;
--bs-primary-color: var(--amr-green-dark) !important;
--bs-primary-rgb: var(--amr-green-dark-rgb) !important;
--bs-secondary-color: var(--amr-green-dark) !important;
--bs-navbar-active-color: var(--amr-green-light) !important;
--bs-dropdown-bg: var(--amr-green-dark) !important;
--bs-dropdown-link-hover-color: var(--amr-green-light) !important;
--bs-dropdown-link-hover-bg: var(--amr-green-dark) !important;
}
.nav-text.text-muted,
.bg-primary .navbar-nav .show>.nav-link,
.bg-primary .navbar-nav .nav-link.active,

View File

@ -52,7 +52,7 @@ $(document).ready(function() {
// make Python part more fancy - prepare for CSS
if (window.location.href.includes('AMR_for_Python')) {
$('body').addClass('amr-for-python');
$('img[src="logo.svg"]').attr('src', 'logo_python.svg');
$('img[src="../logo.svg"]').attr('src', '../logo_python.svg');
}
// add doctoral titles to authors

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png?v=newlogo"/>
<square310x310logo src="/mstile-310x310.png?v=newlogo"/>
<TileColor>#128f76</TileColor>
</tile>
</msapplication>
</browserconfig>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

View File

@ -1,512 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="714.000000pt" height="714.000000pt" viewBox="0 0 714.000000 714.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,714.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M2048 6354 l-1528 -764 0 -2020 0 -2020 1530 -765 1530 -765 1530
765 1530 765 0 2020 0 2020 -1530 765 c-841 421 -1531 765 -1532 764 -2 0
-690 -344 -1530 -765z m2275 290 c402 -201 734 -368 737 -371 3 -2 -11 -17
-30 -33 l-35 -29 48 -48 c26 -27 47 -54 47 -61 0 -9 -54 -12 -220 -12 l-220 0
0 -25 c0 -16 6 -25 15 -25 13 0 15 -31 15 -223 l0 -223 -82 -33 c-333 -135
-514 -281 -534 -433 -11 -81 -60 -130 -198 -200 -65 -32 -226 -98 -242 -98 -2
0 -4 53 -4 118 0 96 4 125 21 162 27 60 37 70 148 144 94 62 203 159 252 223
24 31 25 32 74 21 179 -38 330 171 271 373 -19 66 -65 133 -109 159 -23 14
-37 34 -50 71 -13 35 -37 71 -76 110 -52 54 -58 65 -68 123 -13 74 -32 118
-73 168 -57 68 -165 97 -244 64 -34 -14 -34 -14 -65 24 -63 78 -181 106 -268
62 -51 -26 -110 -94 -124 -143 l-12 -37 -41 19 c-199 90 -402 -144 -328 -378
l19 -61 -48 -32 c-109 -70 -169 -220 -148 -368 29 -206 210 -345 373 -287 l39
14 102 -102 c139 -139 148 -159 153 -350 2 -82 0 -152 -4 -157 -32 -30 -947
-200 -1075 -200 l-22 0 21 23 c12 13 26 46 32 75 18 97 52 124 126 98 71 -24
89 -21 113 18 12 18 21 43 21 54 0 12 -27 51 -59 88 l-59 68 24 29 c32 38 33
99 2 121 -19 13 -25 14 -43 2 -11 -7 -22 -26 -25 -42 -5 -27 -8 -29 -50 -29
-42 0 -45 2 -50 29 -13 74 -90 61 -90 -15 l0 -39 -360 0 c-367 0 -403 -3 -415
-39 -2 -9 -19 -22 -36 -30 -50 -22 -59 -58 -59 -239 0 -176 6 -199 53 -190 25
5 27 3 27 -28 0 -32 -1 -33 -52 -38 -29 -3 -116 -8 -193 -12 -127 -6 -138 -5
-126 10 8 9 28 16 48 16 63 0 102 33 103 88 0 24 -6 35 -23 43 -13 6 -27 18
-32 28 -31 56 -59 91 -72 91 -8 0 -38 -24 -66 -53 -115 -117 -131 -127 -195
-127 -49 0 -62 4 -82 25 -23 25 -44 30 -74 19 -23 -9 -20 -57 4 -79 11 -10 20
-31 20 -47 l0 -28 -70 0 -70 0 0 538 0 537 1473 737 c809 405 1480 737 1490
737 9 1 347 -164 750 -365z m806 -403 c12 -8 11 -13 -10 -30 -28 -23 -35 -25
-44 -10 -4 5 1 19 11 30 19 22 23 22 43 10z m206 -103 c80 -40 145 -78 145
-85 0 -7 11 -13 25 -13 14 0 75 -25 135 -55 97 -48 110 -58 110 -81 0 -24 3
-25 48 -23 26 1 57 -3 70 -10 22 -12 22 -15 22 -206 l0 -195 -245 0 -244 0 -3
108 -3 107 -87 3 -88 3 0 -111 0 -110 -245 0 -245 0 0 285 0 285 205 0 205 0
0 62 c0 50 4 66 22 85 12 13 23 23 25 23 1 0 68 -33 148 -72z m945 -473 l270
-135 0 -1201 0 -1202 -20 26 c-24 31 -70 43 -102 27 -13 -7 -46 -35 -74 -62
l-52 -50 -69 51 c-38 28 -81 54 -94 59 -18 7 -64 -2 -189 -38 -91 -26 -178
-50 -194 -54 -17 -4 -63 -40 -106 -82 l-76 -74 -98 0 c-90 0 -99 -2 -121 -25
-35 -34 -35 -96 0 -130 23 -24 29 -25 155 -25 77 0 140 5 153 11 12 6 47 36
78 66 l56 55 45 -132 45 -131 -121 -82 c-75 -51 -126 -93 -134 -110 -11 -23
-9 -54 13 -210 29 -206 37 -232 76 -252 49 -26 94 -13 123 35 16 28 15 37 -4
172 -11 79 -23 150 -26 159 -3 11 17 30 67 63 50 33 70 42 64 30 -4 -11 -12
-30 -18 -45 -13 -32 37 -403 59 -437 39 -60 138 -46 164 24 5 12 -2 92 -16
195 l-24 173 56 126 c32 71 58 145 61 170 3 31 -7 86 -31 175 -19 71 -33 131
-31 134 2 2 27 -15 56 -38 41 -33 60 -41 92 -41 38 0 47 6 139 98 l98 98 0
-723 0 -723 -148 -74 -147 -74 -172 -11 c-94 -6 -272 -11 -395 -11 -184 0
-244 4 -334 21 -329 61 -575 89 -793 89 -136 0 -374 -22 -496 -46 -353 -69
-624 -204 -801 -398 -107 -118 -161 -246 -184 -441 -16 -133 -30 -206 -46
-237 l-14 -28 -1205 603 -1205 602 0 1407 0 1408 73 0 73 0 -4 -35 c-3 -21 2
-45 11 -59 13 -20 24 -23 74 -23 69 -1 83 8 83 53 0 19 5 34 10 34 6 0 10 -13
10 -29 0 -47 55 -83 76 -50 4 8 9 8 17 0 16 -16 43 -14 61 5 10 10 16 33 16
65 0 49 0 49 33 49 17 0 61 3 97 6 62 6 66 5 66 -14 0 -16 -3 -18 -13 -10 -17
14 -43 3 -43 -20 0 -10 -21 -38 -46 -62 -45 -45 -78 -93 -68 -102 2 -3 -2 -11
-11 -18 -8 -7 -15 -17 -15 -22 0 -5 -16 -25 -35 -45 -20 -20 -34 -41 -32 -47
7 -21 25 -15 60 19 20 19 40 35 45 35 4 0 13 5 20 12 6 6 22 13 34 15 13 2 48
28 78 58 31 30 63 55 73 55 22 0 33 26 18 44 -9 11 -8 14 6 12 28 -2 27 34 -2
64 l-26 27 47 7 c94 12 94 12 94 -44 0 -62 34 -106 73 -95 35 11 47 35 47 97
0 32 4 58 10 58 6 0 10 -28 10 -64 0 -56 3 -67 22 -80 31 -22 45 -20 73 9 21
20 25 34 25 85 0 55 2 60 23 61 12 0 77 6 145 13 l122 12 0 -83 c0 -77 2 -84
24 -99 22 -13 29 -14 53 -2 27 13 28 15 31 106 3 115 22 123 22 9 0 -54 5 -90
14 -102 15 -21 70 -25 89 -6 7 7 14 53 17 109 l5 97 95 13 c527 71 952 159
1259 262 291 97 450 209 451 317 1 126 177 271 484 398 46 19 87 35 90 35 3 0
6 -29 6 -65 l0 -65 630 0 630 0 0 190 0 190 35 0 c25 0 112 -39 305 -135z
m-930 -110 l0 -85 -40 0 -40 0 0 85 0 85 40 0 40 0 0 -85z m-1540 18 c25 -12
54 -24 64 -28 18 -5 16 -9 -15 -41 -31 -33 -190 -137 -197 -129 -4 3 61 174
78 205 6 12 14 20 18 18 4 -2 27 -13 52 -25z m-434 -89 c6 -22 14 -54 17 -72
l7 -33 -59 52 -59 52 20 34 c19 31 22 33 42 20 11 -8 26 -32 32 -53z m-1036
-388 c0 -38 25 -56 80 -56 55 0 80 18 80 56 0 15 6 24 15 24 28 0 18 -59 -16
-91 l-31 -29 66 -77 c36 -42 66 -84 66 -93 0 -9 -9 -26 -20 -38 -19 -20 -23
-21 -48 -8 -79 40 -140 24 -173 -47 -10 -23 -19 -54 -19 -68 0 -31 -32 -75
-60 -84 -18 -6 -20 -16 -20 -119 0 -89 -3 -116 -15 -126 -12 -10 -18 -10 -30
0 -12 10 -15 37 -15 127 l0 114 -37 -3 -38 -3 -3 -117 c-2 -84 -6 -117 -16
-121 -29 -11 -35 10 -38 123 l-3 115 -147 3 c-142 2 -148 2 -148 -17 0 -30
-30 -41 -114 -41 l-76 0 0 -89 c0 -73 -3 -90 -16 -95 -41 -16 -44 3 -44 305 0
247 -2 289 -15 289 -28 0 -35 -39 -35 -195 0 -121 -3 -156 -12 -153 -10 4 -14
48 -16 165 -2 149 -1 161 18 186 12 15 30 27 41 27 10 0 19 6 19 14 0 8 10 22
22 30 19 14 75 16 411 16 l388 0 -15 22 c-21 29 -21 78 -1 78 9 0 15 -9 15
-24z m-1190 -401 c0 -8 9 -19 20 -25 11 -6 22 -21 26 -34 3 -13 14 -26 25 -29
24 -6 25 -39 2 -59 -10 -9 -39 -18 -65 -20 -44 -5 -49 -3 -88 37 l-41 41 51
47 c27 25 50 51 50 57 0 6 5 8 10 5 6 -3 10 -13 10 -20z m-360 -130 c20 -22
32 -25 87 -25 36 0 76 6 92 14 27 14 29 14 70 -28 l42 -43 -3 -74 c-2 -58 -6
-74 -18 -74 -10 0 -16 13 -18 43 -2 28 -8 42 -17 42 -9 0 -15 -14 -17 -42 -2
-30 -8 -43 -18 -43 -10 0 -16 13 -18 43 l-3 42 -74 0 -74 0 -3 -42 c-2 -30 -8
-43 -18 -43 -12 0 -16 19 -18 95 -3 85 -5 97 -28 121 -23 24 -23 39 1 39 6 0
22 -11 35 -25z m1250 -24 c0 -5 -35 -12 -77 -15 -43 -4 -102 -9 -132 -13 -52
-5 -53 -5 -42 16 11 20 20 21 131 21 66 0 120 -4 120 -9z m-320 -130 c0 -61
-16 -89 -45 -77 -11 4 -15 22 -15 71 l0 65 30 0 c30 0 30 0 30 -59z m-352 -40
c-33 -10 -39 -23 -21 -44 15 -17 16 -20 2 -15 -11 4 -35 -13 -75 -53 -32 -32
-64 -59 -72 -59 -7 0 -24 -7 -38 -16 -31 -21 -41 -12 -20 18 9 12 16 29 16 38
0 9 27 42 59 74 40 40 57 64 53 75 -4 13 -1 12 17 -4 19 -16 24 -17 31 -5 6 8
10 21 10 29 0 10 8 7 26 -10 17 -16 21 -25 12 -28z m-478 -16 c0 -16 -6 -25
-15 -25 -9 0 -15 9 -15 25 0 16 6 25 15 25 9 0 15 -9 15 -25z m5334 -1267 l79
-57 69 64 c38 36 76 65 86 65 33 0 62 -29 62 -63 0 -27 -14 -46 -88 -120 -110
-110 -117 -111 -231 -26 -45 34 -83 60 -85 58 -2 -2 16 -78 40 -169 24 -91 44
-179 44 -197 0 -18 -27 -94 -60 -169 l-60 -136 23 -171 c15 -104 21 -181 16
-194 -17 -45 -87 -55 -108 -15 -5 10 -22 104 -36 208 l-27 189 36 79 c20 44
30 76 23 73 -18 -7 -216 -137 -221 -145 -2 -4 7 -79 20 -167 23 -156 24 -161
6 -185 -25 -34 -62 -37 -89 -8 -17 19 -26 58 -47 211 -25 170 -26 191 -12 212
8 12 69 57 135 100 67 43 121 80 121 84 1 13 -103 306 -112 316 -5 5 -39 -21
-86 -68 l-77 -77 -122 0 c-67 0 -129 3 -138 6 -37 15 -38 82 -1 106 6 4 54 8
106 8 l95 0 75 74 75 74 190 55 c105 30 197 52 205 49 8 -3 51 -32 94 -64z
m-1499 -1578 c205 -12 346 -30 565 -72 152 -29 182 -32 375 -32 116 0 275 3
355 7 l145 7 -1144 -573 -1144 -573 -51 25 c-28 13 -67 33 -87 42 -19 10 -54
21 -76 25 l-41 6 -4 67 c-2 37 1 69 7 73 5 4 12 3 13 -3 6 -17 60 -39 97 -39
97 0 165 92 165 224 0 45 -1 48 -22 42 -13 -4 -57 -10 -98 -15 -41 -4 -89 -15
-106 -24 -37 -19 -68 -78 -62 -118 3 -16 1 -29 -2 -29 -4 0 -13 34 -19 76 -13
75 -8 162 11 197 11 21 38 23 38 3 0 -21 40 -46 72 -46 28 0 98 53 98 74 -1
14 -88 56 -117 56 -12 0 -28 -7 -37 -15 -15 -15 -41 -21 -34 -7 32 66 44 82
63 82 35 0 64 28 70 68 3 20 8 48 11 61 5 23 4 24 -47 19 -69 -7 -104 -43 -96
-97 4 -22 1 -46 -8 -61 l-14 -25 -1 26 c0 42 -23 61 -86 74 -32 7 -63 9 -67 5
-15 -13 11 -94 38 -117 29 -25 64 -30 83 -11 17 17 16 -1 -4 -70 -9 -30 -17
-85 -18 -122 0 -42 -5 -66 -11 -63 -6 2 -9 18 -7 36 4 38 -30 95 -68 113 -14
7 -61 17 -105 22 -44 6 -88 14 -97 17 -16 6 -18 0 -18 -48 0 -30 7 -74 15 -98
40 -112 158 -160 229 -94 55 51 95 -27 96 -186 0 -64 -1 -67 -27 -75 -16 -4
-55 -8 -88 -9 -63 -1 -136 -30 -153 -61 -7 -13 -26 -7 -133 47 l-125 62 18 54
c10 30 23 91 29 136 38 309 73 395 218 542 234 237 630 375 1141 398 36 2 72
4 80 5 8 1 92 -3 185 -8z m-996 -1210 c20 -10 52 -25 71 -33 l35 -14 -130 -65
-130 -66 -119 60 c-119 60 -119 60 -99 80 28 27 89 40 136 27 32 -8 42 -7 57
6 42 38 112 40 179 5z"/>
<path d="M2570 6435 c0 -25 74 -165 87 -165 23 0 24 19 3 60 -11 22 -18 45
-15 50 13 21 33 8 50 -30 12 -26 25 -40 37 -40 22 0 23 12 2 53 -33 66 -66 83
-97 53 -12 -13 -16 -12 -25 10 -13 26 -42 33 -42 9z"/>
<path d="M2509 6398 c0 -2 -2 -20 -4 -40 -3 -28 0 -38 10 -38 8 0 24 -18 35
-40 21 -41 45 -51 68 -28 20 20 15 41 -8 35 -15 -4 -24 2 -35 23 -14 26 -13
30 1 38 22 12 8 35 -17 27 -13 -4 -19 -2 -19 9 0 12 -28 25 -31 14z"/>
<path d="M2441 6381 c-9 -6 -2 -29 31 -95 23 -47 46 -86 51 -86 21 0 15 35
-17 103 -38 81 -45 90 -65 78z"/>
<path d="M2371 6279 c-26 -28 -27 -39 -1 -39 11 0 20 5 20 10 0 6 7 10 15 10
21 0 19 -13 -5 -28 -24 -14 -26 -54 -5 -72 13 -11 23 -9 55 6 46 22 48 34 17
89 -28 49 -64 58 -96 24z m69 -74 c0 -8 -7 -15 -16 -15 -14 0 -14 3 -4 15 7 8
14 15 16 15 2 0 4 -7 4 -15z"/>
<path d="M2282 6239 c-64 -24 -37 -131 33 -131 28 0 65 27 65 49 0 18 -20 16
-41 -3 -11 -10 -25 -14 -36 -9 -15 5 -12 10 20 26 38 20 47 39 25 56 -22 17
-42 21 -66 12z m28 -39 c-20 -13 -33 -13 -25 0 3 6 14 10 23 10 15 0 15 -2 2
-10z"/>
<path d="M2163 6218 c2 -13 8 -31 12 -40 5 -12 -1 -21 -24 -32 -39 -21 -37
-21 -50 14 -10 29 -34 40 -46 20 -7 -12 72 -170 85 -170 20 0 23 32 7 59 -16
27 -16 28 18 44 l35 17 15 -31 c10 -18 23 -29 32 -27 21 4 20 9 -19 95 -24 52
-38 72 -52 73 -14 0 -17 -5 -13 -22z"/>
<path d="M1952 6074 c-15 -10 -22 -26 -22 -47 -1 -27 -2 -29 -11 -14 -12 21
-62 23 -79 2 -7 -8 -19 -15 -26 -15 -20 0 -18 -14 11 -70 23 -46 42 -60 58
-44 3 4 -3 24 -13 45 -24 46 -25 55 -5 63 11 4 22 -8 37 -39 21 -43 40 -56 53
-35 3 5 -2 24 -11 42 l-16 33 21 -22 c28 -30 71 -30 99 0 27 29 28 37 2 37
-11 0 -20 -4 -20 -9 0 -14 -32 -23 -43 -12 -7 7 3 16 27 27 42 20 43 27 16 54
-24 24 -48 25 -78 4z m38 -34 c-20 -13 -33 -13 -25 0 3 6 14 10 23 10 15 0 15
-2 2 -10z"/>
<path d="M1656 5979 c-36 -28 -37 -95 -2 -136 32 -37 93 -39 130 -4 36 34 37
101 1 136 -31 32 -91 34 -129 4z m92 -26 c32 -28 36 -59 13 -82 -12 -12 -29
-21 -39 -21 -46 0 -73 80 -36 107 24 17 38 16 62 -4z"/>
<path d="M1043 5650 c-6 -24 -26 -26 -43 -5 -18 22 -32 18 -28 -7 3 -20 -1
-23 -29 -22 -28 2 -32 -1 -30 -20 2 -17 -3 -21 -25 -19 -28 2 -40 -21 -16 -29
19 -7 1 -38 -22 -38 -11 0 -20 -4 -20 -10 0 -5 7 -10 15 -10 22 0 18 -37 -5
-43 -25 -7 -26 -27 -1 -27 24 0 36 -29 16 -36 -25 -10 -17 -27 9 -20 35 9 55
-2 49 -25 -7 -27 5 -24 36 9 22 23 26 24 29 10 2 -10 10 -18 18 -18 16 0 19
26 4 35 -16 10 11 43 32 37 22 -5 25 16 3 24 -19 8 -19 23 0 31 9 3 25 -3 35
-12 20 -18 22 -17 24 20 1 16 7 19 29 17 26 -3 37 11 17 23 -17 10 -11 32 10
38 26 7 26 27 1 27 -26 0 -36 17 -20 36 16 19 6 28 -18 16 -24 -13 -43 -5 -43
19 0 25 -20 25 -27 -1z"/>
<path d="M5280 6095 c0 -33 -2 -35 -35 -35 -32 0 -35 -2 -35 -30 0 -28 3 -30
35 -30 33 0 35 -2 35 -35 0 -32 2 -35 30 -35 28 0 30 3 30 34 0 32 3 35 33 38
27 2 32 7 32 28 0 21 -5 26 -32 28 -30 3 -33 6 -33 38 0 31 -2 34 -30 34 -28
0 -30 -3 -30 -35z"/>
<path d="M4790 5920 l0 -40 40 0 40 0 0 40 0 40 -40 0 -40 0 0 -40z"/>
<path d="M4934 5946 c-3 -8 -4 -25 -2 -38 2 -19 10 -24 41 -26 l37 -3 0 40 c0
40 -1 41 -35 41 -22 0 -38 -6 -41 -14z"/>
<path d="M5080 5920 l0 -40 40 0 40 0 0 40 0 40 -40 0 -40 0 0 -40z"/>
<path d="M5460 5920 l0 -40 40 0 40 0 0 40 0 40 -40 0 -40 0 0 -40z"/>
<path d="M5600 5920 l0 -40 40 0 40 0 0 40 0 40 -40 0 -40 0 0 -40z"/>
<path d="M4790 5810 l0 -40 40 0 40 0 0 40 0 40 -40 0 -40 0 0 -40z"/>
<path d="M4934 5836 c-3 -8 -4 -25 -2 -38 2 -19 10 -24 41 -26 l37 -3 0 40 c0
40 -1 41 -35 41 -22 0 -38 -6 -41 -14z"/>
<path d="M5080 5810 l0 -40 40 0 40 0 0 40 0 40 -40 0 -40 0 0 -40z"/>
<path d="M5460 5810 l0 -40 40 0 40 0 0 40 0 40 -40 0 -40 0 0 -40z"/>
<path d="M5607 5843 c-4 -3 -7 -21 -7 -40 0 -32 1 -33 40 -33 l40 0 0 40 c0
39 -1 40 -33 40 -19 0 -37 -3 -40 -7z"/>
<path d="M5750 5811 l0 -41 41 0 40 0 -3 38 c-3 35 -5 37 -40 40 l-38 3 0 -40z"/>
<path d="M4794 5726 c-3 -8 -4 -27 -2 -43 3 -25 7 -28 38 -28 34 0 35 1 35 40
0 38 -2 40 -33 43 -21 2 -34 -2 -38 -12z"/>
<path d="M4937 5733 c-9 -8 -9 -46 -1 -67 4 -10 18 -16 40 -16 34 0 34 1 34
45 0 44 0 45 -33 45 -19 0 -37 -3 -40 -7z"/>
<path d="M5082 5698 c3 -42 4 -43 38 -43 34 0 35 1 35 40 0 39 -1 40 -38 43
l-38 3 3 -43z"/>
<path d="M5464 5726 c-3 -8 -4 -27 -2 -43 3 -25 7 -28 38 -28 34 0 35 1 35 40
0 38 -2 40 -33 43 -21 2 -34 -2 -38 -12z"/>
<path d="M5604 5726 c-3 -8 -4 -27 -2 -43 3 -24 8 -28 41 -31 l37 -3 0 45 c0
46 0 46 -35 46 -22 0 -38 -6 -41 -14z"/>
<path d="M5750 5695 l0 -46 38 3 c36 3 37 4 37 43 0 39 -1 40 -37 43 l-38 3 0
-46z"/>
<path d="M4792 5583 c3 -36 5 -38 38 -38 33 0 35 2 38 38 l3 37 -41 0 -41 0 3
-37z"/>
<path d="M4937 5613 c-4 -3 -7 -19 -7 -34 0 -22 6 -30 25 -35 40 -10 55 1 55
41 0 33 -2 35 -33 35 -19 0 -37 -3 -40 -7z"/>
<path d="M5082 5583 c3 -36 5 -38 38 -38 33 0 35 2 38 38 l3 37 -41 0 -41 0 3
-37z"/>
<path d="M5462 5583 c3 -36 5 -38 38 -38 33 0 35 2 38 38 l3 37 -41 0 -41 0 3
-37z"/>
<path d="M5602 5583 c3 -36 5 -38 38 -38 33 0 35 2 38 38 l3 37 -41 0 -41 0 3
-37z"/>
<path d="M5750 5585 c0 -40 15 -51 55 -41 21 5 25 12 25 41 0 34 -1 35 -40 35
-39 0 -40 -1 -40 -35z"/>
<path d="M6214 5625 c-3 -8 -3 -19 1 -25 3 -5 0 -10 -9 -10 -8 0 -22 -3 -31
-6 -11 -5 -18 0 -22 15 -8 31 -34 27 -31 -5 3 -29 -30 -60 -39 -36 -5 14 -33
17 -33 3 0 -5 7 -16 15 -25 8 -8 15 -26 15 -40 0 -21 -5 -26 -26 -26 -32 0
-27 -24 6 -28 35 -6 52 -33 34 -53 -8 -8 -14 -19 -14 -22 0 -12 27 -7 39 6 6
8 23 12 41 9 26 -4 29 -7 24 -28 -5 -18 -2 -24 10 -24 8 0 18 11 22 25 7 28
25 32 44 10 10 -12 10 -21 0 -45 -15 -36 -4 -53 16 -26 11 16 16 17 29 6 8 -7
15 -25 15 -41 0 -19 5 -29 15 -29 8 0 15 9 15 20 0 15 7 20 25 20 14 0 30 -9
37 -20 7 -11 16 -20 20 -20 12 0 9 38 -3 45 -6 5 -3 13 11 22 16 11 24 12 35
3 25 -21 39 0 16 24 -24 26 -18 66 10 66 11 0 19 7 19 16 0 12 -7 15 -26 11
-33 -6 -49 27 -28 60 18 28 18 33 -1 33 -9 0 -18 -7 -22 -15 -5 -14 -8 -14
-25 2 -15 13 -18 25 -13 50 6 35 -7 45 -23 17 -15 -27 -52 -8 -52 27 0 19 -5
29 -15 29 -8 0 -15 -9 -15 -20 0 -11 -5 -20 -11 -20 -23 0 -49 22 -49 40 0 23
-18 27 -26 5z"/>
<path d="M4925 5019 c-4 -5 -4 -21 -1 -33 5 -20 1 -24 -25 -30 -55 -11 -67 -7
-78 24 -15 45 -35 39 -27 -8 5 -34 2 -41 -23 -60 -29 -21 -29 -21 -46 -1 -20
21 -45 25 -45 7 0 -7 11 -23 24 -37 18 -21 22 -34 19 -63 -5 -36 -7 -38 -39
-38 -52 0 -45 -27 9 -35 33 -5 46 -13 59 -36 16 -28 16 -30 -2 -42 -11 -6 -20
-17 -20 -24 0 -24 20 -24 44 0 22 22 27 23 70 13 48 -11 49 -14 31 -58 -5 -13
-2 -18 9 -18 18 0 36 30 36 59 0 25 26 28 58 5 26 -18 30 -68 7 -101 -24 -34
3 -42 30 -9 l21 26 28 -29 c24 -25 28 -36 23 -66 -5 -30 -3 -36 11 -33 11 2
18 14 20 33 3 27 6 30 39 29 28 -1 42 -8 63 -34 31 -38 49 -26 26 17 -14 26
-13 30 11 55 l26 27 28 -20 c39 -28 51 -4 14 28 -25 22 -27 28 -19 61 7 30 14
38 37 40 15 2 27 10 27 17 0 21 -15 26 -44 15 -24 -9 -27 -7 -41 27 -14 33
-14 38 5 70 11 19 20 36 20 39 0 12 -29 2 -45 -16 -18 -20 -19 -20 -47 7 -29
28 -32 46 -13 96 11 28 -24 21 -37 -8 -6 -14 -14 -24 -17 -22 -3 1 -18 9 -33
16 -24 12 -28 20 -28 58 0 30 -4 43 -14 43 -15 0 -26 -21 -26 -51 0 -20 -8
-20 -71 -3 -10 3 -20 20 -23 39 -7 35 -19 44 -31 24z"/>
<path d="M3113 4581 c5 -37 3 -39 -32 -50 -31 -9 -40 -8 -63 9 -15 11 -32 20
-38 20 -18 0 -11 -28 11 -43 20 -15 20 -15 -16 -43 -33 -25 -39 -26 -69 -16
-41 15 -46 15 -46 -1 0 -8 12 -19 26 -26 l26 -11 -21 -33 c-17 -27 -26 -32
-60 -32 -21 0 -43 -4 -47 -8 -11 -11 15 -27 44 -27 26 0 26 0 10 -51 -10 -35
-14 -39 -45 -39 -27 0 -33 -4 -33 -21 0 -19 4 -21 33 -16 l32 5 2 -49 c3 -46
1 -49 -25 -55 -39 -10 -44 -14 -32 -29 8 -9 20 -11 39 -5 25 7 32 4 51 -23
l23 -30 -21 -18 c-24 -19 -29 -39 -10 -39 6 0 21 8 32 18 16 14 32 18 64 14
l43 -4 -6 -39 c-5 -31 -4 -39 8 -39 17 0 27 21 27 55 0 16 11 30 35 44 l36 21
11 -25 c6 -14 17 -25 25 -25 19 0 16 34 -6 54 -17 16 -18 20 -5 44 8 15 14 35
14 45 0 20 13 22 40 5 10 -7 23 -9 27 -5 13 13 -13 41 -46 51 -26 7 -30 13
-25 30 4 12 11 27 16 34 15 17 65 15 99 -5 38 -23 51 -7 17 22 l-26 23 28 27
c25 24 33 26 69 20 33 -5 41 -4 41 8 0 16 -21 27 -52 27 -14 0 -18 5 -14 16 3
9 6 27 6 41 0 18 8 28 30 36 17 6 30 17 30 24 0 16 -42 17 -57 2 -18 -18 -64
40 -52 63 5 9 14 20 19 23 16 10 11 25 -8 25 -9 0 -23 -9 -30 -21 -11 -18 -19
-20 -50 -14 -41 8 -52 19 -52 53 0 14 -6 22 -16 22 -13 0 -16 -7 -11 -39z"/>
<path d="M4160 4574 c-331 -38 -532 -114 -656 -247 -77 -83 -84 -113 -84 -377
0 -276 5 -298 98 -390 135 -133 344 -207 653 -231 470 -38 909 103 1010 324
17 38 19 68 19 298 0 255 0 255 -26 307 -67 135 -279 248 -559 297 -86 15
-382 28 -455 19z m410 -79 c196 -29 389 -103 482 -185 50 -43 88 -110 88 -153
0 -40 -27 -97 -62 -134 l-31 -32 -37 24 c-106 67 -307 127 -492 146 -138 15
-413 7 -528 -15 -149 -29 -310 -87 -383 -138 l-28 -20 -25 23 c-58 54 -79 149
-48 214 24 50 102 119 182 159 234 118 556 158 882 111z m570 -545 c0 -38 -1
-39 -18 -22 -17 16 -17 19 -3 39 9 12 17 23 19 23 1 0 2 -18 2 -40z m-1633
-17 c-16 -16 -17 -15 -17 17 0 32 1 33 17 17 16 -16 16 -18 0 -34z"/>
<path d="M1349 4091 c-82 -76 -100 -102 -113 -162 -3 -15 -29 -45 -67 -75
-105 -84 -149 -154 -173 -275 -14 -72 -14 -73 -17 -29 -5 77 0 102 36 186 38
89 43 130 20 174 -22 43 -50 55 -81 35 -25 -16 -33 -58 -14 -70 17 -10 12 -34
-25 -115 -19 -43 -38 -98 -41 -123 -8 -56 11 -168 36 -217 19 -37 82 -100 101
-100 6 0 22 -13 36 -30 24 -29 28 -30 110 -30 46 0 93 5 103 10 13 7 21 7 25
0 8 -13 52 -13 59 -1 4 5 19 4 36 -2 22 -8 35 -9 48 -1 15 10 18 39 24 235 5
152 4 239 -3 272 -13 54 -10 60 43 77 44 14 78 52 78 89 0 15 -21 57 -47 96
-25 38 -49 83 -53 100 -3 16 -12 31 -20 33 -8 1 -54 -34 -101 -77z m146 -68
c25 -35 45 -73 45 -83 0 -27 -34 -59 -70 -66 -16 -4 -37 -15 -46 -25 -15 -17
-16 -26 -6 -67 7 -32 9 -123 5 -270 -5 -197 -8 -223 -22 -220 -13 3 -17 20
-19 93 l-3 89 -19 -29 c-13 -20 -20 -47 -20 -80 0 -59 -11 -81 -35 -71 -15 5
-16 14 -10 64 4 31 8 96 9 144 1 86 1 87 -33 122 -37 38 -68 46 -78 20 -4 -10
5 -26 25 -44 55 -49 55 -155 2 -222 -17 -20 -30 -39 -30 -42 0 -2 12 -6 28 -8
16 -2 27 -9 27 -18 0 -12 -17 -16 -82 -18 -80 -3 -81 -2 -103 28 -12 16 -27
30 -35 30 -26 0 -73 50 -95 102 -17 39 -23 74 -24 133 -1 73 3 88 39 168 36
82 38 90 26 123 -17 47 -2 65 28 33 31 -33 26 -80 -16 -173 -33 -72 -37 -89
-35 -154 2 -80 24 -144 61 -176 l22 -20 -7 80 c-12 152 37 262 161 364 73 58
85 75 85 117 0 22 17 44 82 105 76 71 83 76 91 56 4 -11 28 -50 52 -85z"/>
<path d="M745 4030 c-98 -40 -98 -56 2 -97 43 -17 81 -29 86 -26 9 5 -10 43
-22 43 -5 0 -26 7 -47 16 l-39 16 50 20 c50 20 68 35 59 50 -7 11 -10 10 -89
-22z"/>
<path d="M5505 4039 c-4 -5 -4 -21 -1 -35 5 -17 0 -33 -12 -49 -17 -22 -21
-23 -38 -10 -11 8 -22 15 -26 15 -15 0 -8 -28 11 -41 10 -8 21 -31 24 -52 6
-37 5 -38 -21 -35 -19 2 -27 -2 -27 -12 0 -10 12 -16 38 -18 28 -2 37 -8 37
-22 0 -34 -29 -53 -72 -46 -30 5 -38 3 -38 -9 0 -8 6 -15 14 -15 24 0 29 -19
12 -45 -10 -16 -26 -25 -41 -25 -16 0 -25 -6 -25 -16 0 -12 7 -15 29 -12 26 4
30 1 35 -26 5 -22 1 -35 -14 -51 -11 -12 -20 -24 -20 -28 0 -12 23 -7 40 8 14
13 22 14 43 4 22 -10 24 -15 16 -36 -12 -32 -12 -33 6 -33 9 0 20 11 25 25 12
33 69 36 77 5 3 -11 12 -20 19 -20 16 0 18 14 4 39 -16 31 20 54 69 46 47 -8
57 9 16 25 l-26 10 23 30 c16 23 30 30 55 30 41 0 43 17 4 27 -29 8 -29 9 -16
41 11 24 20 32 40 32 16 0 25 6 25 16 0 12 -7 15 -30 12 -29 -4 -30 -3 -30 34
0 32 4 39 25 44 14 3 25 12 25 20 0 16 -14 18 -39 5 -14 -8 -20 -4 -31 27 -12
33 -11 37 9 50 11 8 21 18 21 23 0 13 -34 11 -47 -2 -8 -8 -18 -6 -36 6 -23
14 -24 20 -15 41 16 35 0 43 -25 12 -13 -15 -34 -28 -52 -30 -26 -3 -30 0 -33
25 -3 28 -16 35 -27 16z"/>
<path d="M6392 3988 c-6 -6 -12 -29 -12 -50 l0 -39 63 3 c72 3 83 21 17 28
-31 3 -45 10 -45 20 0 10 14 17 45 20 25 3 45 10 45 15 0 15 -98 18 -113 3z"/>
<path d="M694 3902 c-24 -15 -34 -50 -24 -77 14 -36 36 -27 32 13 -2 18 1 32
7 32 6 0 11 -16 11 -35 0 -28 4 -35 20 -35 11 0 20 -4 20 -10 0 -5 -20 -10
-44 -10 -30 0 -46 -5 -50 -15 -8 -21 3 -45 20 -45 8 0 14 7 14 15 0 10 10 15
30 15 20 0 30 -5 30 -15 0 -8 7 -15 15 -15 8 0 15 7 15 15 0 8 9 15 20 15 25
0 26 18 3 27 -27 10 -45 31 -33 38 17 10 11 61 -8 78 -19 18 -59 22 -78 9z
m63 -54 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z"/>
<path d="M6408 3883 c-34 -9 -35 -93 -2 -93 12 0 14 7 9 30 -4 19 -3 30 4 30
6 0 11 -9 11 -19 0 -11 7 -27 16 -35 14 -15 13 -16 -6 -16 -50 0 -59 -15 -57
-93 l2 -72 60 0 c47 0 60 3 60 15 0 11 -13 16 -47 18 -33 2 -48 8 -48 17 0 9
15 15 48 17 59 4 61 21 3 28 -61 7 -67 30 -7 30 48 0 69 16 44 34 -13 9 -13
13 -2 24 8 7 12 27 10 49 -3 36 -5 38 -42 40 -22 0 -47 -1 -56 -4z m66 -48 c3
-8 1 -15 -4 -15 -6 0 -10 7 -10 15 0 8 2 15 4 15 2 0 6 -7 10 -15z"/>
<path d="M698 3709 c-29 -16 -39 -44 -28 -74 14 -36 36 -27 32 13 -2 18 1 32
7 32 6 0 11 -16 11 -35 0 -30 3 -35 23 -35 31 0 47 18 47 51 0 45 -52 72 -92
48z m59 -61 c-3 -7 -5 -2 -5 12 0 14 2 19 5 13 2 -7 2 -19 0 -25z"/>
<path d="M667 3594 c-16 -16 8 -34 45 -34 31 0 41 -4 45 -20 10 -37 32 -23 31
20 l0 40 -58 0 c-31 0 -59 -3 -63 -6z"/>
<path d="M6382 3583 c2 -13 14 -19 46 -21 28 -2 42 -8 42 -18 0 -10 -12 -14
-45 -14 -38 0 -45 -3 -45 -20 0 -17 7 -20 48 -20 60 0 81 20 77 70 l-2 35 -63
3 c-55 3 -61 1 -58 -15z"/>
<path d="M667 3504 c-15 -15 8 -24 64 -24 46 0 59 3 59 15 0 12 -13 15 -58 15
-32 0 -62 -3 -65 -6z"/>
<path d="M800 3490 c0 -15 5 -20 18 -18 9 2 17 10 17 18 0 8 -8 16 -17 18 -13
2 -18 -3 -18 -18z"/>
<path d="M6340 3460 c0 -16 6 -20 30 -20 28 0 30 -3 30 -36 0 -33 -2 -35 -27
-32 -20 2 -29 -2 -31 -15 -3 -16 4 -18 79 -15 52 2 84 7 86 15 3 7 -10 13 -34
15 -35 3 -38 6 -41 35 -3 30 -1 32 35 35 26 2 38 8 38 18 0 12 -17 16 -82 18
-78 3 -83 2 -83 -18z"/>
<path d="M670 3440 c0 -17 7 -20 45 -20 33 0 45 -4 45 -15 0 -11 -12 -15 -45
-15 -38 0 -45 -3 -45 -20 0 -17 7 -20 49 -20 58 0 70 12 69 68 l0 42 -59 0
c-52 0 -59 -2 -59 -20z"/>
<path d="M5760 3453 c-68 -26 -117 -107 -106 -176 24 -145 196 -198 289 -88
93 111 19 273 -125 270 -23 0 -50 -3 -58 -6z m145 -54 c64 -57 66 -151 4 -203
-75 -64 -177 -39 -215 51 -18 42 -18 67 3 110 22 47 66 73 125 73 39 0 54 -6
83 -31z"/>
<path d="M3340 3426 c0 -31 -28 -42 -45 -19 -17 23 -33 8 -18 -16 18 -28 5
-61 -23 -61 -29 0 -32 -20 -5 -27 30 -8 34 -33 11 -58 -22 -24 -15 -40 10 -25
25 15 42 -28 23 -57 -14 -21 -14 -23 0 -23 9 0 19 5 22 10 13 21 37 -12 31
-42 -6 -31 10 -38 28 -12 18 24 46 7 46 -27 0 -33 16 -39 25 -9 9 28 53 27 57
-2 4 -31 28 -35 28 -5 0 30 30 45 46 23 18 -25 27 -19 21 14 -9 44 0 61 30 54
32 -8 28 16 -5 31 -25 11 -36 44 -16 52 22 8 16 25 -8 22 -46 -5 -85 19 -58
36 15 9 12 25 -4 25 -7 0 -20 -10 -28 -22 -8 -12 -19 -18 -26 -14 -17 10 -15
42 3 60 16 16 20 36 7 36 -4 0 -14 -6 -20 -12 -18 -18 -34 9 -28 45 6 30 -10
37 -28 11 -14 -19 -42 -10 -49 17 -7 27 -27 24 -27 -5z"/>
<path d="M667 3326 c-3 -8 -3 -31 0 -50 5 -34 8 -36 45 -36 54 0 78 15 78 48
0 15 -4 33 -9 41 -13 21 -32 3 -25 -25 4 -14 2 -24 -5 -24 -6 0 -11 8 -11 18
0 10 -5 23 -12 30 -17 17 -55 15 -61 -2z m40 -38 c-3 -8 -6 -5 -6 6 -1 11 2
17 5 13 3 -3 4 -12 1 -19z"/>
<path d="M666 3222 c-10 -16 11 -31 49 -34 28 -2 41 -8 43 -20 5 -25 -52 -51
-95 -43 -29 5 -34 3 -31 -10 3 -15 123 -75 149 -75 22 0 6 29 -23 41 l-31 13
31 15 c30 14 32 17 31 68 l-2 53 -58 0 c-32 0 -60 -4 -63 -8z"/>
<path d="M4959 3187 c-19 -12 -45 -43 -58 -70 -32 -64 -24 -123 25 -177 67
-74 163 -78 233 -12 82 78 71 203 -24 262 -46 29 -131 27 -176 -3z m164 -26
c40 -23 70 -90 61 -138 -13 -72 -98 -127 -168 -109 -38 9 -83 53 -96 92 -24
71 13 144 85 169 43 15 74 11 118 -14z"/>
<path d="M4354 2928 c-12 -5 -27 -21 -33 -34 -23 -52 -14 -77 73 -193 96 -127
109 -140 149 -141 38 0 63 14 121 69 27 25 46 38 43 29 -31 -87 -78 -298 -74
-328 3 -20 37 -87 81 -157 42 -67 76 -130 76 -138 0 -9 -18 -79 -40 -156 -50
-174 -51 -208 -9 -243 38 -32 80 -33 113 -3 19 17 36 63 75 204 28 99 51 196
51 215 0 19 -11 49 -25 71 -14 20 -23 37 -19 37 3 0 30 -15 60 -32 l54 -33 0
-187 c0 -184 0 -187 25 -216 46 -54 108 -50 145 10 18 30 20 51 20 243 0 258
4 247 -144 337 -59 34 -105 67 -103 73 2 5 19 61 38 122 19 62 37 113 41 113
3 0 27 -36 53 -80 51 -86 66 -100 114 -100 32 0 258 107 278 132 34 42 22 102
-26 131 -41 24 -63 21 -141 -18 l-70 -35 -26 42 c-112 182 -81 160 -336 233
-115 32 -176 45 -194 41 -15 -4 -60 -39 -100 -77 l-72 -71 -49 65 c-62 84 -96
101 -149 75z m122 -90 c31 -40 61 -77 65 -82 5 -6 44 24 93 72 46 45 92 82
102 82 35 0 379 -102 396 -118 10 -8 30 -36 45 -61 15 -25 42 -70 60 -98 l34
-53 81 41 c89 45 117 46 144 3 30 -45 9 -68 -128 -134 -87 -42 -130 -58 -146
-54 -15 4 -44 42 -88 115 -36 60 -68 109 -72 109 -14 0 -105 -321 -94 -332 5
-5 56 -38 113 -72 59 -35 109 -73 116 -87 16 -30 18 -405 3 -444 -14 -38 -57
-51 -89 -27 l-26 19 -5 198 -5 199 -98 59 c-55 33 -102 56 -107 51 -5 -5 13
-44 40 -87 55 -89 57 -59 -15 -310 -42 -145 -52 -170 -73 -180 -36 -16 -76 9
-80 50 -2 18 15 99 38 180 23 81 42 155 42 163 1 8 -36 74 -80 146 -52 83 -82
141 -82 159 0 15 23 113 51 218 28 104 48 192 44 195 -3 3 -45 -33 -93 -81
-64 -63 -94 -87 -113 -87 -30 0 -63 33 -148 148 -64 88 -74 121 -44 154 32 35
58 23 119 -54z"/>
<path d="M1287 2783 c-3 -4 -66 -163 -140 -353 -112 -286 -274 -698 -294 -747
-4 -10 20 -13 99 -13 91 0 107 3 122 19 10 11 36 70 59 133 l42 113 225 3 225
2 38 -109 c21 -61 47 -122 58 -136 20 -24 25 -25 126 -25 80 0 104 3 100 13
-5 13 -376 955 -412 1047 l-21 55 -111 3 c-61 1 -114 -1 -116 -5z m196 -459
c43 -116 77 -214 77 -217 0 -4 -72 -7 -160 -7 -88 0 -160 3 -160 7 0 4 34 98
75 210 41 111 75 210 75 220 0 35 19 -7 93 -213z"/>
<path d="M2050 2230 l0 -560 100 0 101 0 -3 384 c-2 211 -2 384 -1 383 0 -1
74 -137 162 -302 89 -165 171 -308 182 -317 31 -26 101 -24 134 5 14 12 98
157 185 322 l160 300 0 -387 0 -388 95 0 95 0 0 560 0 560 -98 0 c-63 0 -104
-4 -115 -12 -15 -12 -342 -613 -373 -688 l-15 -35 -41 80 c-77 154 -331 620
-346 638 -13 14 -33 17 -119 17 l-103 0 0 -560z"/>
<path d="M3480 2230 l0 -560 110 0 110 0 0 215 0 215 54 0 c43 0 60 -5 80 -22
14 -13 75 -99 137 -193 61 -93 121 -180 132 -192 19 -21 29 -23 139 -23 65 0
118 3 118 6 0 11 -288 429 -308 448 -21 18 -21 18 27 43 233 116 243 465 16
572 -89 42 -157 51 -392 51 l-223 0 0 -560z m416 377 c113 -24 149 -67 142
-173 -7 -117 -73 -164 -239 -172 l-99 -5 0 182 0 181 68 0 c37 0 95 -6 128
-13z"/>
<path d="M780 2716 c0 -27 -38 -44 -47 -20 -3 8 -11 14 -19 14 -16 0 -18 -9
-5 -29 14 -22 -6 -51 -34 -51 -30 0 -33 -16 -5 -25 27 -9 26 -51 -1 -66 -15
-8 -18 -14 -10 -22 7 -7 15 -7 25 2 13 11 16 8 22 -15 4 -16 2 -35 -5 -46 -15
-25 -7 -35 14 -18 23 19 47 -15 32 -47 -13 -30 -2 -41 20 -20 26 23 57 4 49
-29 -7 -28 10 -33 29 -8 15 22 55 10 55 -17 0 -25 20 -25 27 0 7 26 34 36 45
16 14 -24 31 -18 24 10 -9 36 12 66 35 52 30 -19 35 2 6 29 -30 27 -36 54 -12
54 8 0 15 7 15 16 0 12 -6 15 -22 11 -27 -7 -78 26 -59 37 16 10 14 26 -4 26
-7 0 -18 -7 -23 -17 -12 -21 -42 -10 -42 17 0 11 9 25 20 32 11 7 20 18 20 25
0 16 -6 16 -30 3 -15 -8 -19 -5 -25 17 -3 14 -1 31 4 36 16 16 13 27 -4 27 -9
0 -18 -6 -21 -14 -8 -21 -43 -7 -50 20 -8 31 -24 31 -24 0z"/>
<path d="M6237 2214 c-4 -4 -7 -19 -7 -34 0 -14 -5 -31 -10 -36 -7 -7 -10 -56
-8 -125 l3 -114 39 -3 c22 -2 51 -12 64 -23 34 -26 105 -26 132 1 26 26 25 36
-5 64 -23 21 -25 31 -25 108 0 46 -4 88 -9 94 -5 5 -11 23 -13 39 l-3 30 -75
3 c-42 1 -79 0 -83 -4z m139 -44 c-4 -22 -1 -32 9 -36 8 -4 15 -12 15 -20 0
-9 -20 -14 -72 -16 l-73 -3 -3 -52 -3 -53 75 0 c44 0 76 -4 76 -10 0 -5 -16
-10 -35 -10 -25 0 -43 -7 -59 -25 -14 -14 -34 -25 -50 -25 l-26 0 0 104 c0 83
3 105 15 110 10 4 13 14 9 36 l-6 30 67 0 68 0 -7 -30z m24 -125 c0 -24 -3
-25 -60 -25 -57 0 -60 1 -60 25 0 24 3 25 60 25 57 0 60 -1 60 -25z m41 -121
c11 -14 10 -18 -6 -30 -30 -22 -45 -17 -45 16 0 23 5 30 19 30 10 0 25 -7 32
-16z"/>
<path d="M2132 1614 c-28 -19 -44 -49 -51 -94 -5 -29 -11 -36 -34 -38 -35 -4
-34 -35 1 -40 21 -3 23 -7 18 -40 -11 -64 -36 -276 -36 -300 0 -17 5 -23 18
-20 21 4 36 71 53 240 l12 117 46 3 c34 2 47 7 49 21 3 14 -4 17 -44 17 l-46
0 6 32 c11 55 32 78 71 78 28 0 35 4 35 20 0 16 -7 20 -38 20 -21 0 -48 -7
-60 -16z"/>
<path d="M2954 1623 c-6 -4 -20 -93 -32 -198 -13 -104 -25 -207 -28 -227 -5
-35 -4 -38 19 -38 24 0 25 4 37 100 l12 100 32 0 c29 0 35 -7 90 -100 49 -85
61 -100 83 -100 31 0 29 5 -39 119 -28 46 -47 86 -42 88 27 9 75 45 89 66 40
62 26 145 -28 174 -33 17 -176 29 -193 16z m176 -63 c24 -24 26 -77 4 -109
-21 -30 -73 -51 -125 -51 l-41 0 6 58 c16 130 11 122 77 122 46 0 64 -5 79
-20z"/>
<path d="M2335 1493 c-68 -18 -125 -105 -125 -192 0 -70 22 -115 67 -136 103
-49 213 51 213 193 0 56 -3 66 -32 97 -33 36 -79 50 -123 38z m89 -63 c24 -23
26 -109 3 -162 -28 -67 -106 -93 -150 -50 -49 49 -16 189 54 224 37 19 64 16
93 -12z"/>
<path d="M2685 1492 c-11 -2 -32 -16 -47 -30 l-28 -26 0 27 c0 20 -5 27 -19
27 -23 0 -26 -12 -41 -155 -6 -55 -13 -117 -17 -137 -5 -35 -4 -38 19 -38 24
0 26 4 32 68 10 100 24 146 58 186 22 26 37 36 59 36 16 0 29 2 29 4 0 2 3 11
6 19 6 16 -19 25 -51 19z"/>
<path d="M1240 4315 c-42 -43 -43 -46 -27 -62 16 -17 20 -15 64 29 40 40 45
49 34 62 -19 22 -22 21 -71 -29z"/>
<path d="M4156 1397 c-13 -13 -40 -34 -60 -46 -43 -27 -60 -55 -52 -86 7 -26
46 -58 86 -70 14 -4 36 -16 49 -26 31 -24 56 -24 74 1 11 16 21 19 45 14 37
-7 62 8 62 38 0 14 5 18 16 14 9 -3 25 -6 35 -6 28 0 15 -17 -32 -40 -49 -26
-73 -61 -65 -96 9 -34 49 -70 94 -85 21 -6 46 -20 57 -29 31 -28 69 -34 89
-15 9 9 16 21 16 26 0 5 20 6 45 2 51 -7 75 7 75 42 0 19 5 22 42 21 36 -1 44
3 57 27 15 24 15 30 0 55 -13 23 -22 27 -56 26 -37 -1 -42 2 -47 27 -6 34 -45
48 -88 31 -24 -9 -28 -8 -28 8 0 30 -26 43 -75 38 -44 -5 -45 -5 -45 23 0 36
-32 56 -66 41 -20 -10 -23 -8 -26 16 -3 25 -7 27 -48 27 -35 0 -47 4 -55 20
-16 31 -69 32 -99 2z m82 -14 c2 -9 -9 -13 -40 -13 -40 1 -42 2 -23 16 23 17
56 15 63 -3z m1 -37 c7 -9 11 -38 9 -73 l-3 -58 -44 -3 c-37 -3 -43 -1 -37 13
15 40 17 67 8 94 -10 28 -9 30 16 34 15 2 30 5 33 6 4 0 12 -5 18 -13z m96 4
c8 -13 -5 -13 -25 0 -13 8 -13 10 2 10 9 0 20 -4 23 -10z m0 -65 c0 -17 -8
-33 -20 -41 -20 -13 -21 -12 -21 42 -1 53 -1 54 20 41 13 -9 21 -25 21 -42z
m-197 16 c5 -32 -6 -71 -20 -71 -17 0 -48 31 -48 48 0 22 31 53 49 50 9 -2 17
-14 19 -27z m287 -30 c-9 -29 -39 -23 -43 8 -2 13 2 27 10 32 19 12 41 -14 33
-40z m-148 -8 c-3 -10 -5 -2 -5 17 0 19 2 27 5 18 2 -10 2 -26 0 -35z m258
-24 c9 -14 7 -16 -44 -24 -32 -5 -42 -4 -36 5 15 24 69 37 80 19z m-195 -19
c0 -13 -28 -25 -38 -16 -3 4 0 11 8 16 20 13 30 12 30 0z m215 -40 c8 -26 8
-137 0 -150 -3 -6 -29 -10 -57 -10 -48 0 -50 1 -43 23 11 29 11 108 1 129 -8
18 7 25 61 27 24 1 33 -4 38 -19z m110 9 c12 -19 -2 -21 -32 -5 l-28 15 27 1
c15 0 30 -5 33 -11z m-432 -10 c-8 -8 -16 -8 -30 0 -16 9 -14 10 12 11 21 0
26 -3 18 -11z m432 -49 c9 -28 -3 -58 -27 -71 -11 -6 -21 -9 -23 -7 -1 2 -5
31 -7 65 l-4 62 27 -15 c15 -7 30 -23 34 -34z m-241 9 c9 -27 4 -62 -13 -89
-9 -13 -14 -12 -38 6 -37 27 -41 60 -12 90 28 30 51 27 63 -7z m163 -66 c-2
-21 -4 -6 -4 32 0 39 2 55 4 38 2 -18 2 -50 0 -70z m181 43 c4 -35 -9 -50 -37
-41 -15 4 -21 15 -21 35 0 48 53 54 58 6z m-98 -75 c0 -16 -27 -31 -45 -25
-15 6 -15 9 6 20 28 16 39 17 39 5z m-130 -51 c0 -13 -30 -13 -50 0 -11 7 -7
10 18 10 17 0 32 -4 32 -10z"/>
<path d="M4100 1300 c0 -5 7 -10 15 -10 8 0 15 5 15 10 0 6 -7 10 -15 10 -8 0
-15 -4 -15 -10z"/>
<path d="M4380 1124 c0 -9 5 -14 12 -12 18 6 21 28 4 28 -9 0 -16 -7 -16 -16z"/>
<path d="M5483 1275 c1 -19 6 -35 11 -35 6 0 18 -15 26 -33 12 -26 21 -32 45
-32 21 0 31 5 33 19 3 15 0 18 -16 14 -15 -4 -23 1 -32 20 -8 19 -8 28 -1 30
20 7 12 35 -8 29 -12 -3 -22 1 -25 9 -11 29 -34 15 -33 -21z"/>
<path d="M5415 1232 c-16 -9 -31 -18 -33 -18 -2 -1 9 -27 25 -58 22 -43 31
-53 43 -46 12 8 12 14 -3 45 -16 34 -16 55 2 55 4 0 15 -16 24 -35 17 -35 47
-48 47 -20 0 25 -28 73 -49 85 -24 12 -20 13 -56 -8z"/>
<path d="M5307 1172 c-10 -10 -17 -27 -17 -37 0 -15 -3 -16 -12 -7 -17 17 -57
15 -64 -3 -4 -8 -16 -15 -28 -15 -22 -1 -56 -22 -56 -35 0 -5 9 -28 21 -52 14
-28 27 -43 40 -43 24 0 24 2 -1 49 -18 35 -18 51 0 51 4 0 15 -18 25 -40 10
-22 22 -40 27 -40 17 0 19 29 4 59 -18 35 -20 51 -6 51 5 0 19 -18 30 -40 11
-22 25 -40 30 -40 16 0 21 19 10 41 -11 20 -11 20 13 4 29 -19 70 -8 86 24 15
27 -4 38 -28 17 -19 -17 -41 -21 -41 -7 0 5 14 14 30 21 34 14 37 22 14 44
-21 21 -57 20 -77 -2z m53 -16 c0 -2 -7 -6 -15 -10 -8 -3 -15 -1 -15 4 0 6 7
10 15 10 8 0 15 -2 15 -4z"/>
<path d="M3990 1159 c-14 -5 -38 -23 -55 -40 -16 -17 -45 -40 -64 -52 -19 -12
-43 -34 -54 -49 -37 -50 1 -110 91 -145 26 -9 54 -25 64 -35 39 -39 96 -36
116 5 11 22 16 25 32 17 28 -15 76 -12 94 6 9 8 16 27 16 41 0 20 4 24 18 18
58 -25 102 -2 102 53 0 59 -49 89 -101 62 -16 -9 -19 -7 -19 15 0 14 -9 34
-21 46 -21 21 -40 22 -96 4 -19 -6 -23 -4 -23 13 0 23 -35 52 -60 51 -8 0 -26
-5 -40 -10z m68 -31 c22 -22 12 -28 -45 -28 l-58 1 24 19 c26 23 61 26 79 8z
m140 -61 c4 -17 2 -18 -27 -2 -38 19 -39 27 -4 23 17 -2 29 -10 31 -21z m-114
-39 c6 -29 6 -67 0 -95 l-9 -48 -62 -3 c-35 -2 -63 -1 -63 1 0 3 7 22 16 43
15 37 15 76 -2 132 -6 22 -5 23 52 20 l59 -3 9 -47z m30 11 c8 -43 6 -110 -4
-134 -6 -13 -7 -1 -3 35 3 31 1 72 -5 93 -6 20 -7 37 -2 37 4 0 10 -14 14 -31z
m-185 -25 c8 -28 6 -45 -6 -75 -8 -21 -19 -39 -23 -39 -15 0 -70 58 -70 75 0
27 19 54 48 69 33 18 39 14 51 -30z m19 21 c-3 -3 -9 2 -12 12 -6 14 -5 15 5
6 7 -7 10 -15 7 -18z m222 8 c49 -29 49 -87 0 -116 -15 -9 -30 -17 -32 -17 -1
0 -3 34 -3 75 0 41 1 75 3 75 2 0 17 -8 32 -17z m134 -19 c18 -7 22 -69 5 -79
-5 -4 -21 -4 -35 -1 -19 5 -24 13 -24 40 0 25 5 36 18 39 9 3 18 5 19 6 1 0 8
-2 17 -5z m-347 -26 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z
m243 -97 c0 -21 -32 -37 -51 -25 -7 4 0 14 18 25 34 23 33 23 33 0z m-143 -53
c-5 -15 -46 -13 -61 2 -7 7 3 10 28 10 26 0 36 -4 33 -12z"/>
<path d="M3880 1005 c0 -8 7 -15 15 -15 8 0 15 7 15 15 0 8 -7 15 -15 15 -8 0
-15 -7 -15 -15z"/>
<path d="M5043 1046 c-26 -12 -28 -19 -12 -47 10 -20 10 -20 -14 -4 -33 21
-73 11 -92 -24 -8 -14 -14 -20 -15 -13 0 17 -21 15 -50 -7 l-24 -19 24 -52
c16 -34 29 -50 39 -47 18 4 18 7 -1 55 -11 28 -10 34 2 42 11 7 21 1 38 -20
40 -51 105 -32 105 30 l0 32 14 -26 c7 -14 18 -26 23 -26 18 0 20 20 5 51 -16
30 -14 59 3 59 4 0 17 -18 28 -40 15 -30 22 -37 34 -30 12 8 11 15 -8 54 -18
39 -26 46 -49 45 -16 -1 -38 -6 -50 -13z m-38 -97 c9 -28 -9 -46 -30 -29 -8 7
-15 21 -15 31 0 26 37 25 45 -2z"/>
<path d="M4773 954 c-3 -8 -1 -20 6 -27 13 -13 15 -28 4 -26 -31 5 -35 -2 -29
-43 l7 -43 -31 30 c-24 23 -33 26 -43 16 -10 -10 -3 -20 33 -52 62 -54 76 -49
73 26 l-3 60 22 -42 c14 -27 29 -43 40 -43 10 0 18 4 18 9 0 17 -51 106 -60
104 -4 -1 -6 6 -3 16 6 23 -25 37 -34 15z"/>
<path d="M4498 819 c-21 -11 -38 -24 -38 -29 0 -17 64 -140 73 -140 20 0 87
42 87 55 0 16 -25 21 -34 6 -3 -5 -14 -11 -25 -14 -30 -8 -35 22 -6 35 28 12
34 38 9 38 -8 0 -24 -4 -34 -10 -13 -7 -19 -6 -24 5 -3 10 5 20 24 30 30 15
41 45 18 45 -7 -1 -30 -10 -50 -21z"/>
<path d="M4608 824 l-27 -15 26 -54 c15 -30 31 -55 35 -55 17 0 19 29 3 59
-15 31 -13 51 5 51 5 0 19 -18 30 -40 14 -27 25 -38 35 -34 19 8 19 11 -8 59
-25 45 -54 53 -99 29z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@ -1,19 +0,0 @@
{
"name": "AMR for R",
"short_name": "AMR for R",
"icons": [
{
"src": "/android-chrome-192x192.png?v=newlogo",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png?v=newlogo",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#128f76",
"background_color": "#128f76",
"display": "standalone"
}

View File

@ -26,7 +26,9 @@ knitr::opts_chunk$set(
The `AMR` package for R is an incredible tool for antimicrobial resistance (AMR) data analysis, providing extensive functionality for working with microbial and antimicrobial properties. But what if you're working in Python and still want to benefit from the robust features of `AMR`?
Luckily, there is no need to port the package to Python! With the help of `rpy2`, a powerful Python package, you can easily access R from Python and call functions from the `AMR` package to process your own data. This post will guide you through setting up `rpy2` and show you how to use R functions from `AMR` in Python to supercharge your antimicrobial resistance analysis.
The best way is to access R directly from Python with the help of `rpy2`, a simple yet powerful Python package. You can easily call functions from the `AMR` package to process your own data in your own Python environment. This post will guide you through setting up `rpy2` and show you how to use R functions from `AMR` in Python to supercharge your antimicrobial resistance analysis.
<a href="https://chatgpt.com/g/g-M4UNLwFi5-amr-for-r-assistant"><img src="../AMRforRGPT.svg" style="min-width: 300px; width: 10%;" /></a>
# What is `rpy2`?
@ -43,17 +45,37 @@ Before diving into the examples, youll need to install both R and `rpy2`. Her
## Step 1: Install R
Ensure that you have R installed on your system. You can download R from [CRAN](https://cran.r-project.org/).
Ensure that R is installed on your system. R has minimal dependencies and is very simple to install:
* **Linux**
* Ubuntu / Debian:
`sudo apt install r-base`
* Fedora:
`sudo dnf install R`
* CentOS/RHEL:
`sudo yum install R`
* Arch Linux:
`sudo pacman -S r`
* **macOS** (with Homebrew):
`brew install r`
* **Other Systems:**
Visit the [CRAN download page](https://cran.r-project.org).
## Step 2: Install the `AMR` package in R
Once you have R installed, open your R console and install the `AMR` package:
On Linux and macOS, open Terminal and run:
```bash
Rscript -e 'install.packages("AMR")'
```
For other systems, open your R console and install the `AMR` package by running:
```r
install.packages("AMR")
```
You can also install the latest development version of the `AMR` package if needed:
On any system, you can also install the latest development version of the `AMR` package by setting `repos` to our beta channel:
```r
install.packages("AMR", repos = "https://msberends.r-universe.dev")
@ -69,7 +91,7 @@ pip install rpy2
## Step 4: Test `rpy2` Installation
To ensure everything is set up correctly, you can test your installation by running the following Python script:
To ensure everything is set up correctly, you can test your installation by running the following Python script, which essentially runs R in the background:
```python
import rpy2.robjects as ro
@ -80,11 +102,11 @@ ro.r('1 + 1')
If this returns `2`, you're good to go!
# Working with AMR in Python using `rpy2`
# Working with `AMR` in Python
Now that we have `rpy2` set up, lets walk through some practical examples of using the `AMR` package within Python.
## Example 1: Loading `AMR` and Example Data
## Example 1: Converting Taxonomic Data
Lets start by converting taxonomic user input to valid taxonomy using the `AMR` package, from within Python:
@ -94,9 +116,6 @@ import rpy2.robjects as ro
from rpy2.robjects.packages import importr
from rpy2.robjects import pandas2ri
# Enable conversion between pandas and R data frames
pandas2ri.activate()
# Load the AMR package from R
amr = importr('AMR')
@ -105,15 +124,12 @@ data = pd.DataFrame({
'microorganism': ['E. coli', 'S. aureus', 'P. aeruginosa', 'K. pneumoniae']
})
# Convert the Python DataFrame to an R DataFrame
r_data = pandas2ri.py2rpy(data)
# Apply mo_name() from the AMR package to the 'microorganism' column
ro.globalenv['r_data'] = r_data
ro.globalenv['r_data'] = data
ro.r('r_data$mo_name <- mo_name(r_data$microorganism)')
# Retrieve and print the modified R DataFrame in Python
result = ro.r('as.data.frame(r_data)')
result = ro.r('r_data')
result = pandas2ri.rpy2py(result)
print(result)
```