From 2a617357e8419455cd3edbdf4b50fd41808ae6cd Mon Sep 17 00:00:00 2001 From: Piero Palacios Bernuy Date: Tue, 30 Apr 2024 20:40:07 -0500 Subject: [PATCH] encode commit --- .../ENCODE_project/execute-results/html.json | 15 +++++++++++++++ .../notebooks/TCGA/execute-results/html.json | 4 ++-- notebooks/ENCODE_project.qmd | 18 ++++++++++++++++++ notebooks/TCGA.qmd | 9 ++++----- .../number_mut_genes_per_tumor_stage.jpeg | Bin 278777 -> 278642 bytes 5 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 _freeze/notebooks/ENCODE_project/execute-results/html.json create mode 100644 notebooks/ENCODE_project.qmd diff --git a/_freeze/notebooks/ENCODE_project/execute-results/html.json b/_freeze/notebooks/ENCODE_project/execute-results/html.json new file mode 100644 index 0000000..0f0539d --- /dev/null +++ b/_freeze/notebooks/ENCODE_project/execute-results/html.json @@ -0,0 +1,15 @@ +{ + "hash": "ceedd343dc07b96c4af9c4a939f8d621", + "result": { + "engine": "knitr", + "markdown": "---\ntitle: \"Analyzing Cloud Data from ENCODE\"\nsubtitle: \"The Encyclopedia of DNA Element (ENCODE)\"\nformat: html\neditor: visual\n---\n\n\n# Introduction\n\nThe Encyclopedia of DNA Elements ([ENCODE](https://www.encodeproject.org/)) is a collection of experimental results (from human, mouse, worm and fly) and computing resources devoted to elaborating the mechanisms of gene regulation. \n\nWe will use Bioconductor to acquire and interpret ENCODE resources. In particular, we'll analyze ChIP-Seq, ATAC-Seq and CRISPR interference RNA-Seq experiments.\n\n# ENCODE ChIP-seq Data\n\n\n\n\n::: {.cell}\n\n:::\n", + "supporting": [], + "filters": [ + "rmarkdown/pagebreak.lua" + ], + "includes": {}, + "engineDependencies": {}, + "preserve": {}, + "postProcess": true + } +} \ No newline at end of file diff --git a/_freeze/notebooks/TCGA/execute-results/html.json b/_freeze/notebooks/TCGA/execute-results/html.json index 81d6419..032a276 100644 --- a/_freeze/notebooks/TCGA/execute-results/html.json +++ b/_freeze/notebooks/TCGA/execute-results/html.json @@ -1,8 +1,8 @@ { - "hash": "dc08553dbecf0ac0d417e1815f428244", + "hash": "98d1461385d96f5400e95691212ffc5d", "result": { "engine": "knitr", - "markdown": "---\ntitle: \"Integrative Analysis with TCGA Data\"\nsubtitle: \"Analysis of Mutation Data from The Cancer Genome Atlas (TCGA)\"\nformat: html\neditor: visual\n---\n\n::: {.cell .hidden}\n\n```{.r .cell-code .hidden}\n#| include: false\nlibrary(knitr)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'knitr' was built under R version 4.3.3\n```\n\n\n:::\n\n```{.r .cell-code .hidden}\n#| include: false\nknitr::opts_chunk$set(\n warning = FALSE,\n message = FALSE,\n dpi = 180,\n echo = TRUE\n)\n\nlibrary(tidyverse)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'ggplot2' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'tidyr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'readr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'purrr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'dplyr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'stringr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'lubridate' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──\n✔ dplyr 1.1.4 ✔ readr 2.1.5\n✔ forcats 1.0.0 ✔ stringr 1.5.1\n✔ ggplot2 3.5.0 ✔ tibble 3.2.1\n✔ lubridate 1.9.3 ✔ tidyr 1.3.1\n✔ purrr 1.0.2 \n── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──\n✖ dplyr::filter() masks stats::filter()\n✖ dplyr::lag() masks stats::lag()\nℹ Use the conflicted package () to force all conflicts to become errors\n```\n\n\n:::\n\n```{.r .cell-code .hidden}\n#| include: false\ntheme_set(theme_minimal())\n```\n:::\n\n\n## Introduction\n\nThe Cancer Genome Atlas (TCGA) is a massive cancer genomics project compiling high-throughput multi-omic data on dozens of cancer types for [public access](https://www.cancer.gov/ccg/research/genome-sequencing/tcga).\n\nWe are gonna use the `curatedTCGAData` package to manipulate locally to multiple high-throughput datasets from the project. The package provides access to TCGA data that has been curated and stored as a *MultiAssayExperiment* object on the Bioconductor [ExperimentHub](https://bioconductor.org/packages/release/bioc/html/ExperimentHub.html).\n\nFirst, let's load the packages needed.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(curatedTCGAData)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: MultiAssayExperiment\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'MultiAssayExperiment' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: SummarizedExperiment\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'SummarizedExperiment' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: MatrixGenerics\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'MatrixGenerics' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: matrixStats\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'matrixStats' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'matrixStats'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:dplyr':\n\n count\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'MatrixGenerics'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:matrixStats':\n\n colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,\n colCounts, colCummaxs, colCummins, colCumprods, colCumsums,\n colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,\n colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,\n colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,\n colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,\n colWeightedMeans, colWeightedMedians, colWeightedSds,\n colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,\n rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,\n rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,\n rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,\n rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,\n rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,\n rowWeightedMads, rowWeightedMeans, rowWeightedMedians,\n rowWeightedSds, rowWeightedVars\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: GenomicRanges\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: stats4\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: BiocGenerics\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'BiocGenerics' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'BiocGenerics'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:lubridate':\n\n intersect, setdiff, union\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:dplyr':\n\n combine, intersect, setdiff, union\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:stats':\n\n IQR, mad, sd, var, xtabs\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:base':\n\n anyDuplicated, aperm, append, as.data.frame, basename, cbind,\n colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,\n get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply,\n match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,\n Position, rank, rbind, Reduce, rownames, sapply, setdiff, sort,\n table, tapply, union, unique, unsplit, which.max, which.min\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: S4Vectors\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'S4Vectors'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:lubridate':\n\n second, second<-\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:dplyr':\n\n first, rename\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:tidyr':\n\n expand\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:utils':\n\n findMatches\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:base':\n\n expand.grid, I, unname\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: IRanges\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'IRanges'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:lubridate':\n\n %within%\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:dplyr':\n\n collapse, desc, slice\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:purrr':\n\n reduce\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:grDevices':\n\n windows\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: GenomeInfoDb\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'GenomeInfoDb' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: Biobase\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWelcome to Bioconductor\n\n Vignettes contain introductory material; view with\n 'browseVignettes()'. To cite Bioconductor, see\n 'citation(\"Biobase\")', and for packages 'citation(\"pkgname\")'.\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'Biobase'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:MatrixGenerics':\n\n rowMedians\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:matrixStats':\n\n anyMissing, rowMedians\n```\n\n\n:::\n\n```{.r .cell-code}\nlibrary(TCGAutils)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'TCGAutils' was built under R version 4.3.2\n```\n\n\n:::\n\n```{.r .cell-code}\nlibrary(MultiAssayExperiment)\n```\n:::\n\n\n## Download the Data\n\nTo download the data we need to use `curatedTCGAData`function. The first argument is a four letter disease (cancer) code (A complete list of disease codes used by the TCGA project are available on the [NCI Genomic Data Commons website](https://gdc.cancer.gov/resources-tcga-users/tcga-code-tables/tcga-study-abbreviations)), the second argument is a vector of data types we want to download. We need to specify `dry.run = FALSE` to download the data.\n\nIn this specific case, we are gonna work with RNA-Seq data, mutation data and methylation data from Rectum Adenocarcinoma (READ). The clinical data is included by default.\n\n\n::: {.cell}\n\n```{.r .cell-code}\n#| message: false\n#| warning: false\n#| label: read-data\n\nreadData = curatedTCGAData(\"READ\", \n c(\"RNASeq2GeneNorm\", \"Mutation\", \"Methylation_methyl450\"), \n dry.run = FALSE, version = \"2.1.1\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_Mutation-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nrequire(\"RaggedExperiment\")\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'RaggedExperiment' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_RNASeq2GeneNorm-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_Methylation_methyl450-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nrequire(\"rhdf5\")\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'rhdf5' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: HDF5Array\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'HDF5Array' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: DelayedArray\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'DelayedArray' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: Matrix\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'Matrix' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'Matrix'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:S4Vectors':\n\n expand\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:tidyr':\n\n expand, pack, unpack\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: S4Arrays\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'S4Arrays' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: abind\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'S4Arrays'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:abind':\n\n abind\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:base':\n\n rowsum\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: SparseArray\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'SparseArray' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'DelayedArray'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:purrr':\n\n simplify\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:base':\n\n apply, scale, sweep\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'HDF5Array'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:rhdf5':\n\n h5ls\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_colData-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_sampleMap-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_metadata-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nharmonizing input:\n removing 1903 sampleMap rows not in names(experiments)\n removing 2 colData rownames not in sampleMap 'primary'\n```\n\n\n:::\n\n```{.r .cell-code}\n#| message: false\n#| warning: false\n#| label: read-data\n\nreadData # this is a MultiAssayExperiment object\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nA MultiAssayExperiment object of 3 listed\n experiments with user-defined names and respective classes.\n Containing an ExperimentList class object of length 3:\n [1] READ_Mutation-20160128: RaggedExperiment with 22075 rows and 69 columns\n [2] READ_RNASeq2GeneNorm-20160128: SummarizedExperiment with 18115 rows and 177 columns\n [3] READ_Methylation_methyl450-20160128: SummarizedExperiment with 485577 rows and 106 columns\nFunctionality:\n experiments() - obtain the ExperimentList instance\n colData() - the primary/phenotype DataFrame\n sampleMap() - the sample coordination DataFrame\n `$`, `[`, `[[` - extract colData columns, subset, or experiment\n *Format() - convert into a long or wide DataFrame\n assays() - convert ExperimentList to a SimpleList of matrices\n exportClass() - save data to flat files\n```\n\n\n:::\n:::\n\n\n## Review the Clinical Metadata\n\nWe can see which patients have data for each assay. The assay column gives the experiment type, the primary column gives the unique patient ID and the colname gives the sample ID used as a identifier within a given experiment.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsampleMap(readData)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nDataFrame with 352 rows and 3 columns\n assay primary colname\n \n1 READ_Methylation_methyl450-20160128 TCGA-AF-2687 TCGA-AF-2687-01A-02D..\n2 READ_Methylation_methyl450-20160128 TCGA-AF-2690 TCGA-AF-2690-01A-02D..\n3 READ_Methylation_methyl450-20160128 TCGA-AF-2693 TCGA-AF-2693-01A-02D..\n4 READ_Methylation_methyl450-20160128 TCGA-AF-3911 TCGA-AF-3911-01A-01D..\n5 READ_Methylation_methyl450-20160128 TCGA-AF-4110 TCGA-AF-4110-01A-02D..\n... ... ... ...\n348 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A02G TCGA-AG-A02G-01\n349 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A02N TCGA-AG-A02N-01\n350 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A02X TCGA-AG-A02X-01\n351 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A032 TCGA-AG-A032-01\n352 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A036 TCGA-AG-A036-01\n```\n\n\n:::\n:::\n\n\nNot all patients have data for all assays, and some of them can have multiple data entries for one or more experiment type. This may correspond to multiple biopsies or matched tumor and normal samples from an individual patient.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsampleMap(readData) |> \n as_tibble() |> \n pull(primary) |> \n table() |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n 1 2 3 4 \n 5 147 7 8 \n```\n\n\n:::\n:::\n\n\nWe can see the metadata of the patients with `colData`. Note that there are more than 2000 columns of data per patient (not necessarily complete).\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin = colData(readData) |> \n as_tibble()\ndim(clin)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 167 2260\n```\n\n\n:::\n\n```{.r .cell-code}\nhead(colnames(clin), 10) \n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n [1] \"patientID\" \"years_to_birth\" \"vital_status\" \n [4] \"days_to_death\" \"days_to_last_followup\" \"tumor_tissue_site\" \n [7] \"pathologic_stage\" \"pathology_T_stage\" \"pathology_N_stage\" \n[10] \"pathology_M_stage\" \n```\n\n\n:::\n:::\n\n\nAs an example, for rectum adenocarcinoma, we can see the tumor stage.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin |> \n pull(pathology_T_stage) |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n t1 t2 t3 t4 t4a t4b \n 9 28 114 5 8 1 \n```\n\n\n:::\n:::\n\n\nStage T4 have subgroups. To simplify the analysis, let's combine all T4 tumors.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin <- clin |> \n mutate(t_stage = case_when(\n pathology_T_stage %in% c(\"t4\",\"t4a\",\"t4b\") ~ \"t4\",\n .default = pathology_T_stage\n ))\n\nclin$t_stage |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n t1 t2 t3 t4 \n 9 28 114 14 \n```\n\n\n:::\n:::\n\n\nAlso, we can see the vital status (alive=0, deceased=1)\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin$vital_status |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n 0 1 \n139 28 \n```\n\n\n:::\n:::\n\n\nOr combine tumor status and vital status.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntable(clin$t_stage, clin$vital_status)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n \n 0 1\n t1 9 0\n t2 24 4\n t3 96 18\n t4 9 5\n```\n\n\n:::\n:::\n\n\n## Analyzing Mutation Data\n\nLet's begin analyzing the mutation data. Below is the code to retrieve the mutation data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_data = readData[[1]]\n\nmut_data\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nclass: RaggedExperiment \ndim: 22075 69 \nassays(34): Hugo_Symbol Entrez_Gene_Id ... COSMIC_Gene Drug_Target\nrownames: NULL\ncolnames(69): TCGA-AF-2689-01A-01W-0831-10 TCGA-AF-2691-01A-01W-0831-10\n ... TCGA-AG-A032-01 TCGA-AG-A036-01\ncolData names(0):\n```\n\n\n:::\n:::\n\n\nFrom the inspection of the sample IDs we can see that the mutation colnames match to the **primary** column from he clinical data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_sample_ids = colnames(mut_data)\nhead(mut_sample_ids)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"TCGA-AF-2689-01A-01W-0831-10\" \"TCGA-AF-2691-01A-01W-0831-10\"\n[3] \"TCGA-AF-2692-01A-01W-0831-10\" \"TCGA-AF-3400-01A-01W-0831-10\"\n[5] \"TCGA-AF-3913-01\" \"TCGA-AG-3574-01A-01W-0831-10\"\n```\n\n\n:::\n\n```{.r .cell-code}\nhead(clin$patientID)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"TCGA-AF-2687\" \"TCGA-AF-2689\" \"TCGA-AF-2690\" \"TCGA-AF-2691\" \"TCGA-AF-2692\"\n[6] \"TCGA-AF-2693\"\n```\n\n\n:::\n:::\n\n\nWe need to manipulate these by substracting 12 characters.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_sample_ids <- mut_sample_ids |> \n stringr::str_sub(1,12)\n\nall(mut_sample_ids %in% clin$patientID)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] TRUE\n```\n\n\n:::\n:::\n\n\nIs important to note that the data stored in `assay(mut_data)` is difficult to work with because is a sparse matrix that has a row for each `GRanges` with a mutation in at least one sample.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nassay(mut_data)[1:3,1:3]\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n TCGA-AF-2689-01A-01W-0831-10 TCGA-AF-2691-01A-01W-0831-10\nX:54241715-54241716:+ \"WNK3\" NA \n7:111899511:+ \"IFRD1\" NA \n7:113309556:+ \"PPP1R3A\" NA \n TCGA-AF-2692-01A-01W-0831-10\nX:54241715-54241716:+ NA \n7:111899511:+ NA \n7:113309556:+ NA \n```\n\n\n:::\n\n```{.r .cell-code}\n# Is a sparse matrix\n\nassay(mut_data)[1,] |> \n table(useNA=\"ifany\")\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\nWNK3 \n 1 68 \n```\n\n\n:::\n:::\n\n\nWe can get more information if we look at the mutation information for each patient.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_assay = mut_data@assays\n\nmut_assay # GRangesList\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nGRangesList object of length 69:\n$`TCGA-AF-2689-01A-01W-0831-10`\nGRanges object with 64 ranges and 34 metadata columns:\n seqnames ranges strand | Hugo_Symbol Entrez_Gene_Id\n | \n [1] X 54241715-54241716 + | WNK3 65267\n [2] 7 111899511 + | IFRD1 3475\n [3] 7 113309556 + | PPP1R3A 5506\n [4] 7 128146325 + | FAM71F1 84691\n [5] 7 156447624 + | NOM1 64434\n ... ... ... ... . ... ...\n [60] 10 50616059 + | OGDHL 55753\n [61] 10 96343335 + | HELLS 3070\n [62] 5 139173166 + | PSD2 84249\n [63] 5 147800932 + | FBXO38 81545\n [64] 5 54365356 + | GZMK 3003\n Center NCBI_Build Variant_Classification Variant_Type\n \n [1] hgsc.bcm.edu 36 Frame_Shift_Ins INS\n [2] hgsc.bcm.edu 36 Missense_Mutation SNP\n [3] hgsc.bcm.edu 36 Missense_Mutation SNP\n [4] hgsc.bcm.edu 36 Silent SNP\n [5] hgsc.bcm.edu 36 Missense_Mutation SNP\n ... ... ... ... ...\n [60] hgsc.bcm.edu 36 Silent SNP\n [61] hgsc.bcm.edu 36 Silent SNP\n [62] hgsc.bcm.edu 36 Nonsense_Mutation SNP\n [63] hgsc.bcm.edu 36 Silent SNP\n [64] hgsc.bcm.edu 36 Missense_Mutation SNP\n Reference_Allele Tumor_Seq_Allele1 Tumor_Seq_Allele2 dbSNP_RS\n \n [1] - - T novel\n [2] A A G novel\n [3] T T C novel\n [4] G G A novel\n [5] A A G novel\n ... ... ... ... ...\n [60] G G A novel\n [61] T T C novel\n [62] C C T novel\n [63] G G A novel\n [64] T T A novel\n dbSNP_Val_Status Matched_Norm_Sample_Barcode Match_Norm_Seq_Allele1\n \n [1] unknown TCGA-AF-2689-10A-01W.. -\n [2] unknown TCGA-AF-2689-10A-01W.. A\n [3] unknown TCGA-AF-2689-10A-01W.. T\n [4] unknown TCGA-AF-2689-10A-01W.. G\n [5] unknown TCGA-AF-2689-10A-01W.. A\n ... ... ... ...\n [60] unknown TCGA-AF-2689-10A-01W.. G\n [61] unknown TCGA-AF-2689-10A-01W.. T\n [62] unknown TCGA-AF-2689-10A-01W.. C\n [63] unknown TCGA-AF-2689-10A-01W.. G\n [64] unknown TCGA-AF-2689-10A-01W.. T\n Match_Norm_Seq_Allele2 Tumor_Validation_Allele1 Tumor_Validation_Allele2\n \n [1] - - T\n [2] A A G\n [3] T T C\n [4] G . .\n [5] A A G\n ... ... ... ...\n [60] G . .\n [61] T . .\n [62] C C T\n [63] G G A\n [64] T T A\n Match_Norm_Validation_Allele1 Match_Norm_Validation_Allele2\n \n [1] - -\n [2] A A\n [3] T T\n [4] . .\n [5] A A\n ... ... ...\n [60] . .\n [61] . .\n [62] C C\n [63] G G\n [64] T T\n Verification_Status Validation_Status Mutation_Status Sequencing_Phase\n \n [1] Unknown Valid Somatic Phase_I\n [2] Unknown Valid Somatic Phase_I\n [3] Unknown Valid Somatic Phase_I\n [4] Unknown Unknown Somatic Phase_I\n [5] Unknown Valid Somatic Phase_I\n ... ... ... ... ...\n [60] Unknown Unknown Somatic Phase_I\n [61] Unknown Unknown Somatic Phase_I\n [62] Unknown Valid Somatic Phase_I\n [63] Unknown Valid Somatic Phase_I\n [64] Unknown Valid Somatic Phase_I\n Sequence_Source Validation_Method Score BAM_file Sequencer\n \n [1] Capture 454 SOLID\n [2] Capture 454 SOLID\n [3] Capture 454 SOLID\n [4] Capture . SOLID\n [5] Capture 454 SOLID\n ... ... ... ... ... ...\n [60] Capture . SOLID\n [61] Capture . SOLID\n [62] Capture 454 SOLID\n [63] Capture 454 SOLID\n [64] Capture 454 SOLID\n TranscriptID Exon ChromChange AAChange COSMIC_Codon\n \n [1] NM_001002838 exon23 c.4999_5000insA p.L1667fs .\n [2] NM_001550 exon10 c.A1043G p.E348G .\n [3] NM_002711 exon2 c.A838G p.T280A .\n [4] NM_032599 exon3 c.G639A p.T213T .\n [5] NM_138400 exon5 c.A1651G p.T551A .\n ... ... ... ... ... ...\n [60] NM_001143996 exon18 c.C2286T p.S762S .\n [61] NM_018063 exon18 c.T2061C p.D687D .\n [62] NM_032289 exon3 c.C460T p.Q154X .\n [63] NM_205836 exon21 c.G3327A p.R1109R .\n [64] NM_002104 exon5 c.T640A p.S214T .\n COSMIC_Gene Drug_Target\n \n [1] . .\n [2] . .\n [3] . .\n [4] . .\n [5] . .\n ... ... ...\n [60] . .\n [61] . .\n [62] . .\n [63] . .\n [64] . .\n -------\n seqinfo: 24 sequences from NCBI36 genome; no seqlengths\n\n...\n<68 more elements>\n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay |> class()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"CompressedGRangesList\"\nattr(,\"package\")\n[1] \"GenomicRanges\"\n```\n\n\n:::\n\n```{.r .cell-code}\nlength(mut_assay)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 69\n```\n\n\n:::\n:::\n\n\nLet's inspect the data from the first patient. We can see from the metadata information the Hugo Symbol, mutation status and predicted effect of each mutation at variant classification.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_assay[[1]]\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nGRanges object with 64 ranges and 34 metadata columns:\n seqnames ranges strand | Hugo_Symbol Entrez_Gene_Id\n | \n [1] X 54241715-54241716 + | WNK3 65267\n [2] 7 111899511 + | IFRD1 3475\n [3] 7 113309556 + | PPP1R3A 5506\n [4] 7 128146325 + | FAM71F1 84691\n [5] 7 156447624 + | NOM1 64434\n ... ... ... ... . ... ...\n [60] 10 50616059 + | OGDHL 55753\n [61] 10 96343335 + | HELLS 3070\n [62] 5 139173166 + | PSD2 84249\n [63] 5 147800932 + | FBXO38 81545\n [64] 5 54365356 + | GZMK 3003\n Center NCBI_Build Variant_Classification Variant_Type\n \n [1] hgsc.bcm.edu 36 Frame_Shift_Ins INS\n [2] hgsc.bcm.edu 36 Missense_Mutation SNP\n [3] hgsc.bcm.edu 36 Missense_Mutation SNP\n [4] hgsc.bcm.edu 36 Silent SNP\n [5] hgsc.bcm.edu 36 Missense_Mutation SNP\n ... ... ... ... ...\n [60] hgsc.bcm.edu 36 Silent SNP\n [61] hgsc.bcm.edu 36 Silent SNP\n [62] hgsc.bcm.edu 36 Nonsense_Mutation SNP\n [63] hgsc.bcm.edu 36 Silent SNP\n [64] hgsc.bcm.edu 36 Missense_Mutation SNP\n Reference_Allele Tumor_Seq_Allele1 Tumor_Seq_Allele2 dbSNP_RS\n \n [1] - - T novel\n [2] A A G novel\n [3] T T C novel\n [4] G G A novel\n [5] A A G novel\n ... ... ... ... ...\n [60] G G A novel\n [61] T T C novel\n [62] C C T novel\n [63] G G A novel\n [64] T T A novel\n dbSNP_Val_Status Matched_Norm_Sample_Barcode Match_Norm_Seq_Allele1\n \n [1] unknown TCGA-AF-2689-10A-01W.. -\n [2] unknown TCGA-AF-2689-10A-01W.. A\n [3] unknown TCGA-AF-2689-10A-01W.. T\n [4] unknown TCGA-AF-2689-10A-01W.. G\n [5] unknown TCGA-AF-2689-10A-01W.. A\n ... ... ... ...\n [60] unknown TCGA-AF-2689-10A-01W.. G\n [61] unknown TCGA-AF-2689-10A-01W.. T\n [62] unknown TCGA-AF-2689-10A-01W.. C\n [63] unknown TCGA-AF-2689-10A-01W.. G\n [64] unknown TCGA-AF-2689-10A-01W.. T\n Match_Norm_Seq_Allele2 Tumor_Validation_Allele1 Tumor_Validation_Allele2\n \n [1] - - T\n [2] A A G\n [3] T T C\n [4] G . .\n [5] A A G\n ... ... ... ...\n [60] G . .\n [61] T . .\n [62] C C T\n [63] G G A\n [64] T T A\n Match_Norm_Validation_Allele1 Match_Norm_Validation_Allele2\n \n [1] - -\n [2] A A\n [3] T T\n [4] . .\n [5] A A\n ... ... ...\n [60] . .\n [61] . .\n [62] C C\n [63] G G\n [64] T T\n Verification_Status Validation_Status Mutation_Status Sequencing_Phase\n \n [1] Unknown Valid Somatic Phase_I\n [2] Unknown Valid Somatic Phase_I\n [3] Unknown Valid Somatic Phase_I\n [4] Unknown Unknown Somatic Phase_I\n [5] Unknown Valid Somatic Phase_I\n ... ... ... ... ...\n [60] Unknown Unknown Somatic Phase_I\n [61] Unknown Unknown Somatic Phase_I\n [62] Unknown Valid Somatic Phase_I\n [63] Unknown Valid Somatic Phase_I\n [64] Unknown Valid Somatic Phase_I\n Sequence_Source Validation_Method Score BAM_file Sequencer\n \n [1] Capture 454 SOLID\n [2] Capture 454 SOLID\n [3] Capture 454 SOLID\n [4] Capture . SOLID\n [5] Capture 454 SOLID\n ... ... ... ... ... ...\n [60] Capture . SOLID\n [61] Capture . SOLID\n [62] Capture 454 SOLID\n [63] Capture 454 SOLID\n [64] Capture 454 SOLID\n TranscriptID Exon ChromChange AAChange COSMIC_Codon\n \n [1] NM_001002838 exon23 c.4999_5000insA p.L1667fs .\n [2] NM_001550 exon10 c.A1043G p.E348G .\n [3] NM_002711 exon2 c.A838G p.T280A .\n [4] NM_032599 exon3 c.G639A p.T213T .\n [5] NM_138400 exon5 c.A1651G p.T551A .\n ... ... ... ... ... ...\n [60] NM_001143996 exon18 c.C2286T p.S762S .\n [61] NM_018063 exon18 c.T2061C p.D687D .\n [62] NM_032289 exon3 c.C460T p.Q154X .\n [63] NM_205836 exon21 c.G3327A p.R1109R .\n [64] NM_002104 exon5 c.T640A p.S214T .\n COSMIC_Gene Drug_Target\n \n [1] . .\n [2] . .\n [3] . .\n [4] . .\n [5] . .\n ... ... ...\n [60] . .\n [61] . .\n [62] . .\n [63] . .\n [64] . .\n -------\n seqinfo: 24 sequences from NCBI36 genome; no seqlengths\n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay[[1]]$Hugo_Symbol\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n [1] \"WNK3\" \"IFRD1\" \"PPP1R3A\" \"FAM71F1\" \"NOM1\" \"TRIM73\" \n [7] \"C7orf51\" \"DIDO1\" \"DNMT1\" \"CALR\" \"SIN3B\" \"ZNF569\" \n[13] \"SIGLEC12\" \"ZNF160\" \"NLRP4\" \"ENPP2\" \"TRPA1\" \"MMP16\" \n[19] \"GPR89A\" \"SLC9A11\" \"PAX7\" \"PLA2G5\" \"SLC26A9\" \"PIK3R3\" \n[25] \"LPPR4\" \"BCL9L\" \"PRDM11\" \"PEX3\" \"DCDC2\" \"KRT20\" \n[31] \"TP53\" \"CDH8\" \"SF3B3\" \"SLC9A10\" \"SLC7A14\" \"NLGN1\" \n[37] \"MYRIP\" \"CYP8B1\" \"TGM4\" \"COL7A1\" \"P2RX7\" \"KRAS\" \n[43] \"TPH2\" \"ANO4\" \"UBR1\" \"LBXCOR1\" \"PDLIM5\" \"ODZ1\" \n[49] \"SMARCA1\" \"CNKSR2\" \"RBM10\" \"RBM3\" \"HUWE1\" \"CYLC1\" \n[55] \"ATP6V1E2\" \"ASTN2\" \"TAF1L\" \"SGCG\" \"GBF1\" \"OGDHL\" \n[61] \"HELLS\" \"PSD2\" \"FBXO38\" \"GZMK\" \n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay[[1]]$Mutation_Status |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\nSomatic \n 64 \n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay[[1]]$Variant_Classification |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n Frame_Shift_Ins Missense_Mutation Nonsense_Mutation Silent \n 1 39 5 19 \n```\n\n\n:::\n:::\n\n\nNow, is kind of a trouble to inspect manually each patient. So, lets get all mutation information from Hugo symbol and Variant classification for all the patients.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nvar_class_df = mapply(function(sample_id, mutation_assay){\n \n d = mcols(mutation_assay)[,c(\"Hugo_Symbol\",\"Variant_Classification\")] |> \n as.data.frame()\n \n colnames(d) = c(\"symbol\",\"variant_class\")\n \n d$patientID = sample_id\n \n return(d)\n \n}, sample_id=mut_sample_ids, mutation_assay = mut_assay,SIMPLIFY = F, USE.NAMES = F)\n\n\nvar_class_df = do.call(rbind, var_class_df)\n\n\nhead(var_class_df)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n symbol variant_class patientID\n1 WNK3 Frame_Shift_Ins TCGA-AF-2689\n2 IFRD1 Missense_Mutation TCGA-AF-2689\n3 PPP1R3A Missense_Mutation TCGA-AF-2689\n4 FAM71F1 Silent TCGA-AF-2689\n5 NOM1 Missense_Mutation TCGA-AF-2689\n6 TRIM73 Nonsense_Mutation TCGA-AF-2689\n```\n\n\n:::\n:::\n\n\nWe can visualize the most common mutated genes genes in rectum adenocarcinoma\n\n\n::: {#cell-fig-genesmut .cell}\n\n```{.r .cell-code}\n#| label: fig-genesmut\n#| message: false\n#| warning: false\n\np <- var_class_df |> \n as_tibble() |> \n group_by(symbol,variant_class) |> \n summarise(n = n()) |> \n arrange(desc(n)) |> \n ungroup() |> \n slice_max(order_by = n, n = 20) |> \n ungroup() |> \n mutate(symbol = fct_reorder(symbol,n)) |> \n ggplot(aes(n, symbol,fill=variant_class)) +\n geom_col() +\n facet_wrap(~variant_class) +\n paletteer::scale_fill_paletteer_d(\"awtools::a_palette\") +\n labs(x = \"Samples with specific mutation\", y=\"Gene Symbol\", fill=\"Variant Class\",\n title=\"Top 20 Samples with READ\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n`summarise()` has grouped output by 'symbol'. You can override using the\n`.groups` argument.\n```\n\n\n:::\n\n```{.r .cell-code}\n#| label: fig-genesmut\n#| message: false\n#| warning: false\n\npath <- \"images/\"\nggsave(paste0(path,\"samples_with_mut.jpeg\"), device = \"jpeg\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nSaving 7 x 5 in image\n```\n\n\n:::\n:::\n\n\n![Samples with specific mutation per gene](images/samples_with_mut.jpeg)\n## Linking mutations and tumor stage\n\nNow that we are familiarized with the mutation data, we can link mutations to the tumor stage from the patients with rectum adenocarcinoma.\n\nWe can filter the clinical data with the patients that have mutation data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nindex <- which( (var_class_df$patientID |> unique()) %in% clin$patientID)\n\nclin_and_mutation = clin[index,]\n\nhead(clin_and_mutation) \n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 2,261\n patientID years_to_birth vital_status days_to_death days_to_last_followup\n \n1 TCGA-AF-2687 57 0 NA 1427\n2 TCGA-AF-2689 41 1 1201 NA\n3 TCGA-AF-2690 76 1 524 NA\n4 TCGA-AF-2691 48 0 NA 1309\n5 TCGA-AF-2692 54 0 NA 412\n6 TCGA-AF-2693 75 0 NA 1155\n# ℹ 2,256 more variables: tumor_tissue_site , pathologic_stage ,\n# pathology_T_stage , pathology_N_stage , pathology_M_stage ,\n# gender , date_of_initial_pathologic_diagnosis ,\n# days_to_last_known_alive , radiation_therapy ,\n# histological_type , tumor_stage , residual_tumor ,\n# number_of_lymph_nodes , ethnicity , admin.bcr ,\n# admin.day_of_dcc_upload , admin.disease_code , …\n```\n\n\n:::\n:::\n\n\nWe can count the number of genes with mutations per patient and then make a `left_join` to the clinical data to plot the mutated genes per tumor stage.\n\n\n::: {#cell-fig-plot1 .cell}\n\n```{.r .cell-code}\n#| label: fig-plot1\n\ndf = var_class_df |> \n group_by(patientID) |> \n summarise(n = n())\n\np <- clin_and_mutation |> \n left_join(df, by = join_by(patientID)) |> \n ggplot(aes(t_stage,log(n), fill=t_stage))+\n geom_boxplot() +\n geom_jitter(width = 0.05, colour=\"red2\") +\n paletteer::scale_fill_paletteer_d(\"awtools::a_palette\")+\n labs(x = \"Tumor stage\", y=\"Number of mutated genes in log scale\")\n\npath <- \"images/\"\nggsave(paste0(path,\"number_mut_genes_per_tumor_stage.jpeg\"), device = \"jpeg\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nSaving 7 x 5 in image\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 20 rows containing non-finite outside the scale range\n(`stat_boxplot()`).\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 20 rows containing missing values or values outside the scale range\n(`geom_point()`).\n```\n\n\n:::\n:::\n\n\n![Number of mutated genes per tumor stage](images/number_mut_genes_per_tumor_stage.jpeg)\n\nAlso, we can focus on a specific gene, e.g. [TP53](https://www.ncbi.nlm.nih.gov/gene/7157).\n\n\n::: {#cell-fig-plot_tp53 .cell}\n\n```{.r .cell-code}\n#| label: fig-plot_tp53\n\nmut_on_tp53 <- var_class_df |> \n dplyr::filter(symbol == \"TP53\") \n\n\np <-clin_and_mutation |> \n dplyr::filter(patientID %in% mut_on_tp53$patientID) |> \n dplyr::select(t_stage, patientID) |> \n group_by(t_stage) |> \n summarise(n = n()) |> \n # mutate(t_stage = fct_reorder(t_stage,n)) |> \n ggplot(aes(n, t_stage, fill=t_stage, label=n)) +\n geom_col() +\n geom_label(fill=\"white\") +\n paletteer::scale_fill_paletteer_d(\"awtools::a_palette\")+\n labs(y = \"Tumor Stage\", x=\"N° of Mutations\", fill=\"Tumor Stage\", title=\"Number of Mutations on Gene TP53\")\n\npath <- \"images/\"\nggsave(paste0(path,\"number_mut_tp53_per_tumor_stage.jpeg\"), device = \"jpeg\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nSaving 7 x 5 in image\n```\n\n\n:::\n:::\n\n\n![Number of mutations on gene TP53 per tumor stage](images/number_mut_tp53_per_tumor_stage.jpeg)\n\n# Linking expression and tumor stage\n\nWe also can link the expression data (RNA-Seq) with the tumor stage data from the clinical metadata. [Check the TCGA RNA-Seq protocol online]{.aside}\n\n\n::: {.cell}\n\n```{.r .cell-code}\nrnaseq = readData[[2]]\n\nrnaseq\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nclass: SummarizedExperiment \ndim: 18115 177 \nmetadata(3): filename build platform\nassays(1): ''\nrownames(18115): A1BG A1CF ... ZZZ3 psiTPTE22\nrowData names(0):\ncolnames(177): TCGA-AF-2687-01 TCGA-AF-2689-11 ... TCGA-AG-A032-01\n TCGA-AG-A036-01\ncolData names(0):\n```\n\n\n:::\n:::\n\nAs before, we need to shorten the sample IDs so they can match to the clinical data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncolnames(rnaseq) = colnames(rnaseq) |> \n stringr::str_sub(1,12)\n\nclin <- clin |> as.data.frame()\nrownames(clin) <- clin$patientID\n\nindex <- which(colnames(rnaseq) %in% rownames(clin))\n\ncolData(rnaseq) = as(clin[colnames(rnaseq),],\"DataFrame\")\n\n\nidx <- is.na(colData(rnaseq)$t_stage)\n\nrnaseq <- rnaseq[,!idx]\n```\n:::\n\n\nThen, we can use the `limma` package to proceed with the differential expression analysis. In this case, we'll ise the tumor stage as a variable to explain the expression of the genes. \n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(limma)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'limma' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'limma'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:BiocGenerics':\n\n plotMA\n```\n\n\n:::\n\n```{.r .cell-code}\nmm = model.matrix(~t_stage, data=colData(rnaseq))\nf1 = lmFit(assay(rnaseq), mm)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Partial NA coefficients for 5 probe(s)\n```\n\n\n:::\n\n```{.r .cell-code}\nef1 = eBayes(f1)\ntopTable(ef1) |> \n arrange(desc(AveExpr))\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nRemoving intercept from test coefficients\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stdout}\n\n```\n t_staget2 t_staget3 t_staget4 AveExpr F P.Value\nPAM -0.5791836 0.08813521 0.4984790 10.94216940 8.309141 3.409613e-05\nPAIP2 -0.3240061 0.18551765 0.0958645 10.29398797 9.056896 1.331550e-05\nSPP1 -0.3352086 1.56339367 2.6409082 9.61423581 9.316731 9.621982e-06\nNIPSNAP3A -0.9988818 -0.35051776 -0.6085837 9.38910637 8.712515 2.051165e-05\nASPN -0.7366657 0.75340984 1.9537316 7.45952050 8.323019 3.350393e-05\nOLR1 -0.2557879 1.39542897 2.1822156 4.97144475 8.531715 2.597133e-05\nSEMA5B 1.3576218 1.27252058 1.9271042 4.60337761 8.091237 4.490926e-05\nCPSF4L 1.0629502 -0.17984587 -1.4274556 0.70036223 8.955085 2.311056e-05\nGRM5 1.3027501 -0.14596612 -0.7395609 0.06134539 10.268851 7.301656e-06\nC1orf223 0.7830779 -0.40735736 -0.7062534 -0.35136703 9.681632 1.743477e-05\n adj.P.Val\nPAM 0.06860899\nPAIP2 0.06719153\nSPP1 0.06719153\nNIPSNAP3A 0.06719153\nASPN 0.06860899\nOLR1 0.06719153\nSEMA5B 0.07597995\nCPSF4L 0.06719153\nGRM5 0.06719153\nC1orf223 0.06719153\n```\n\n\n:::\n:::\n\n\nLet's visualize two of the most expressed genes.\n\n\n::: {.cell}\n\n```{.r .cell-code}\npar(mfrow=c(1,2))\nboxplot(split(assay(rnaseq)[\"PAM\",], rnaseq$t_stage), main=\"PAM\") # higher expression in lower t_stage\nboxplot(split(assay(rnaseq)[\"PAIP2\",], rnaseq$t_stage), main=\"PAIP2\")\n```\n\n::: {.cell-output-display}\n![](TCGA_files/figure-html/unnamed-chunk-25-1.png){width=1260}\n:::\n:::\n\n\n# Linking methylation and expression\n\nFinally, we can use the methylation data with the expression data. This is important because methylated cytosines of the DNA change the expression of the genes.\n\nSome patients have methylation data for multiples tissue types. This information is encoded in the fourth component of the sample names. The code `01A` correspond to primary tumor samples and the code `11A` correspond to normal tissue. We'll keep the primary tumor samples.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmethyl <- readData[[3]]\n\nidx <- colnames(methyl) |> \n str_split(pattern = \"-\") |> \n map(4) |> \n enframe() |> \n unnest(value)\n\nidx <- which(idx$value == \"01A\")\n\nmethyl = methyl[,idx]\n\nmethyl\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nclass: SummarizedExperiment \ndim: 485577 95 \nmetadata(0):\nassays(1): counts\nrownames(485577): cg00000029 cg00000108 ... rs966367 rs9839873\nrowData names(3): Gene_Symbol Chromosome Genomic_Coordinate\ncolnames(95): TCGA-AF-2687-01A-02D-1734-05 TCGA-AF-2690-01A-02D-1734-05\n ... TCGA-G5-6572-01A-11D-1828-05 TCGA-G5-6641-01A-11D-1828-05\ncolData names(0):\n```\n\n\n:::\n:::\n\n\nAs before, let's truncate the names of the sample to match the clinical data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncolnames(methyl) <- colnames(methyl) |> \n str_sub(start = 1,end = 12)\n```\n:::\n\n\nWe can add the clinical data to the methyl object and count the number of patients with methylation and transcription data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncolData(methyl) <- as(clin[colnames(methyl),],\"DataFrame\")\n\n\nintersect(colnames(methyl), colnames(rnaseq)) |> length()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 93\n```\n\n\n:::\n:::\n\n\nLet's subset common sample names and check the methylation data as row ranges.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmethyl_subset = methyl[,which(colnames(methyl) %in% colnames(rnaseq))]\nrnaseq_subset = rnaseq[,which(colnames(rnaseq) %in% colnames(methyl))]\n\nmethyl_genes = rowData(methyl_subset)\nmethyl_genes\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nDataFrame with 485577 rows and 3 columns\n Gene_Symbol Chromosome Genomic_Coordinate\n \ncg00000029 RBL2 16 53468112\ncg00000108 C3orf35 3 37459206\ncg00000109 FNDC3B 3 171916037\ncg00000165 NA 1 91194674\ncg00000236 VDAC3 8 42263294\n... ... ... ...\nrs9363764 NA NA 0\nrs939290 NA NA 0\nrs951295 NA NA 0\nrs966367 NA NA 0\nrs9839873 NA NA 0\n```\n\n\n:::\n:::\n\n\nThis function takes a gene symbol and returns a scatter plot showing the relationship between 3 different sites near that gene and gene expression.\n\n\n::: {.cell}\n\n```{.r .cell-code}\n#| label: figplot\n\nme_rna_cor = function(sym, mpick = 3){\n require(GGally)\n # subset methylation data to first mpick methylation sites for given gene symbol\n methyl_ind = which(methyl_genes$Gene_Symbol == sym)\n if (length(methyl_ind) > mpick){ \n methyl_ind = methyl_ind[1:mpick]\n }\n methyl_dat = assay(methyl_subset)[methyl_ind,] # subset to selected methylation sites\n\n # subset expression data to selected gene symbol\n expr_ind = which(rownames(rnaseq_subset) == sym) \n expr_dat = assay(rnaseq_subset)[expr_ind,]\n\n # combine methylation and expression data as data frame\n combined_dat = as(t(methyl_dat), \"DataFrame\")\n combined_dat$expr = expr_dat\n\n # plot pairs and calculate correlation coefficients between methylation and expression\n ggpairs(combined_dat) |> print()\n sapply(1:mpick, function(i){\n \n cor_to <- as.numeric(combined_dat[,mpick+1])\n \n df <- data.frame(v1= as.numeric(combined_dat[,i]),\n v2 = cor_to)\n \n df <- df |> na.omit()\n \n cor(df[,1], df[,2])\n })\n}\n\nme_rna_cor(\"TAC1\", mpick=3)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: GGally\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'GGally' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nRegistered S3 method overwritten by 'GGally':\n method from \n +.gg ggplot2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :\nRemoved 5 rows containing missing values\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :\nRemoved 5 rows containing missing values\nWarning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :\nRemoved 5 rows containing missing values\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 5 rows containing missing values or values outside the scale range\n(`geom_point()`).\nRemoved 5 rows containing missing values or values outside the scale range\n(`geom_point()`).\nRemoved 5 rows containing missing values or values outside the scale range\n(`geom_point()`).\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 5 rows containing non-finite outside the scale range\n(`stat_density()`).\n```\n\n\n:::\n\n::: {.cell-output-display}\n![](TCGA_files/figure-html/unnamed-chunk-30-1.png){width=1260}\n:::\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 0.0410095 0.1457715 0.0856926\n```\n\n\n:::\n:::\n", + "markdown": "---\ntitle: \"Integrative Analysis with TCGA Data\"\nsubtitle: \"Analysis of Mutation, Transcription and Methylation Data from The Cancer Genome Atlas (TCGA)\"\nformat: html\neditor: visual\n---\n\n::: {.cell .hidden}\n\n```{.r .cell-code .hidden}\n#| include: false\nlibrary(knitr)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'knitr' was built under R version 4.3.3\n```\n\n\n:::\n\n```{.r .cell-code .hidden}\n#| include: false\nknitr::opts_chunk$set(\n warning = FALSE,\n message = FALSE,\n dpi = 180,\n echo = TRUE\n)\n\nlibrary(tidyverse)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'ggplot2' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'tidyr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'readr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'purrr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'dplyr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'stringr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'lubridate' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──\n✔ dplyr 1.1.4 ✔ readr 2.1.5\n✔ forcats 1.0.0 ✔ stringr 1.5.1\n✔ ggplot2 3.5.0 ✔ tibble 3.2.1\n✔ lubridate 1.9.3 ✔ tidyr 1.3.1\n✔ purrr 1.0.2 \n── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──\n✖ dplyr::filter() masks stats::filter()\n✖ dplyr::lag() masks stats::lag()\nℹ Use the conflicted package () to force all conflicts to become errors\n```\n\n\n:::\n\n```{.r .cell-code .hidden}\n#| include: false\ntheme_set(theme_minimal())\n```\n:::\n\n\n## Introduction\n\nThe Cancer Genome Atlas (TCGA) is a massive cancer genomics project compiling high-throughput multi-omic data on dozens of cancer types for [public access](https://www.cancer.gov/ccg/research/genome-sequencing/tcga).\n\nWe are gonna use the `curatedTCGAData` package to manipulate locally to multiple high-throughput datasets from the project. The package provides access to TCGA data that has been curated and stored as a *MultiAssayExperiment* object on the Bioconductor [ExperimentHub](https://bioconductor.org/packages/release/bioc/html/ExperimentHub.html).\n\nFirst, let's load the packages needed.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(curatedTCGAData)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: MultiAssayExperiment\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'MultiAssayExperiment' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: SummarizedExperiment\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'SummarizedExperiment' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: MatrixGenerics\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'MatrixGenerics' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: matrixStats\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'matrixStats' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'matrixStats'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:dplyr':\n\n count\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'MatrixGenerics'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:matrixStats':\n\n colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,\n colCounts, colCummaxs, colCummins, colCumprods, colCumsums,\n colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,\n colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,\n colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,\n colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,\n colWeightedMeans, colWeightedMedians, colWeightedSds,\n colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,\n rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,\n rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,\n rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,\n rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,\n rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,\n rowWeightedMads, rowWeightedMeans, rowWeightedMedians,\n rowWeightedSds, rowWeightedVars\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: GenomicRanges\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: stats4\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: BiocGenerics\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'BiocGenerics' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'BiocGenerics'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:lubridate':\n\n intersect, setdiff, union\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:dplyr':\n\n combine, intersect, setdiff, union\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:stats':\n\n IQR, mad, sd, var, xtabs\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:base':\n\n anyDuplicated, aperm, append, as.data.frame, basename, cbind,\n colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,\n get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply,\n match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,\n Position, rank, rbind, Reduce, rownames, sapply, setdiff, sort,\n table, tapply, union, unique, unsplit, which.max, which.min\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: S4Vectors\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'S4Vectors'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:lubridate':\n\n second, second<-\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:dplyr':\n\n first, rename\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:tidyr':\n\n expand\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:utils':\n\n findMatches\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:base':\n\n expand.grid, I, unname\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: IRanges\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'IRanges'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:lubridate':\n\n %within%\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:dplyr':\n\n collapse, desc, slice\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:purrr':\n\n reduce\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:grDevices':\n\n windows\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: GenomeInfoDb\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'GenomeInfoDb' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: Biobase\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWelcome to Bioconductor\n\n Vignettes contain introductory material; view with\n 'browseVignettes()'. To cite Bioconductor, see\n 'citation(\"Biobase\")', and for packages 'citation(\"pkgname\")'.\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'Biobase'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:MatrixGenerics':\n\n rowMedians\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:matrixStats':\n\n anyMissing, rowMedians\n```\n\n\n:::\n\n```{.r .cell-code}\nlibrary(TCGAutils)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'TCGAutils' was built under R version 4.3.2\n```\n\n\n:::\n\n```{.r .cell-code}\nlibrary(MultiAssayExperiment)\n```\n:::\n\n\n## Download the Data\n\nTo download the data we need to use `curatedTCGAData`function. The first argument is a four letter disease (cancer) code (A complete list of disease codes used by the TCGA project are available on the [NCI Genomic Data Commons website](https://gdc.cancer.gov/resources-tcga-users/tcga-code-tables/tcga-study-abbreviations)), the second argument is a vector of data types we want to download. We need to specify `dry.run = FALSE` to download the data.\n\nIn this specific case, we are gonna work with RNA-Seq data, mutation data and methylation data from Rectum Adenocarcinoma (READ). The clinical data is included by default.\n\n\n::: {.cell}\n\n```{.r .cell-code}\n#| message: false\n#| warning: false\n#| label: read-data\n\nreadData = curatedTCGAData(\"READ\", \n c(\"RNASeq2GeneNorm\", \"Mutation\", \"Methylation_methyl450\"), \n dry.run = FALSE, version = \"2.1.1\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_Mutation-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nrequire(\"RaggedExperiment\")\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'RaggedExperiment' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_RNASeq2GeneNorm-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_Methylation_methyl450-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nrequire(\"rhdf5\")\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'rhdf5' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: HDF5Array\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'HDF5Array' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: DelayedArray\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'DelayedArray' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: Matrix\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'Matrix' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'Matrix'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:S4Vectors':\n\n expand\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:tidyr':\n\n expand, pack, unpack\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: S4Arrays\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'S4Arrays' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: abind\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'S4Arrays'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:abind':\n\n abind\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:base':\n\n rowsum\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: SparseArray\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'SparseArray' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'DelayedArray'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:purrr':\n\n simplify\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:base':\n\n apply, scale, sweep\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'HDF5Array'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:rhdf5':\n\n h5ls\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_colData-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_sampleMap-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_metadata-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nharmonizing input:\n removing 1903 sampleMap rows not in names(experiments)\n removing 2 colData rownames not in sampleMap 'primary'\n```\n\n\n:::\n\n```{.r .cell-code}\n#| message: false\n#| warning: false\n#| label: read-data\n\nreadData # this is a MultiAssayExperiment object\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nA MultiAssayExperiment object of 3 listed\n experiments with user-defined names and respective classes.\n Containing an ExperimentList class object of length 3:\n [1] READ_Mutation-20160128: RaggedExperiment with 22075 rows and 69 columns\n [2] READ_RNASeq2GeneNorm-20160128: SummarizedExperiment with 18115 rows and 177 columns\n [3] READ_Methylation_methyl450-20160128: SummarizedExperiment with 485577 rows and 106 columns\nFunctionality:\n experiments() - obtain the ExperimentList instance\n colData() - the primary/phenotype DataFrame\n sampleMap() - the sample coordination DataFrame\n `$`, `[`, `[[` - extract colData columns, subset, or experiment\n *Format() - convert into a long or wide DataFrame\n assays() - convert ExperimentList to a SimpleList of matrices\n exportClass() - save data to flat files\n```\n\n\n:::\n:::\n\n\n## Review the Clinical Metadata\n\nWe can see which patients have data for each assay. The assay column gives the experiment type, the primary column gives the unique patient ID and the colname gives the sample ID used as a identifier within a given experiment.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsampleMap(readData)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nDataFrame with 352 rows and 3 columns\n assay primary colname\n \n1 READ_Methylation_methyl450-20160128 TCGA-AF-2687 TCGA-AF-2687-01A-02D..\n2 READ_Methylation_methyl450-20160128 TCGA-AF-2690 TCGA-AF-2690-01A-02D..\n3 READ_Methylation_methyl450-20160128 TCGA-AF-2693 TCGA-AF-2693-01A-02D..\n4 READ_Methylation_methyl450-20160128 TCGA-AF-3911 TCGA-AF-3911-01A-01D..\n5 READ_Methylation_methyl450-20160128 TCGA-AF-4110 TCGA-AF-4110-01A-02D..\n... ... ... ...\n348 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A02G TCGA-AG-A02G-01\n349 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A02N TCGA-AG-A02N-01\n350 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A02X TCGA-AG-A02X-01\n351 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A032 TCGA-AG-A032-01\n352 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A036 TCGA-AG-A036-01\n```\n\n\n:::\n:::\n\n\nNot all patients have data for all assays, and some of them can have multiple data entries for one or more experiment type. This may correspond to multiple biopsies or matched tumor and normal samples from an individual patient.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsampleMap(readData) |> \n as_tibble() |> \n pull(primary) |> \n table() |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n 1 2 3 4 \n 5 147 7 8 \n```\n\n\n:::\n:::\n\n\nWe can see the metadata of the patients with `colData`. Note that there are more than 2000 columns of data per patient (not necessarily complete).\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin = colData(readData) |> \n as_tibble()\ndim(clin)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 167 2260\n```\n\n\n:::\n\n```{.r .cell-code}\nhead(colnames(clin), 10) \n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n [1] \"patientID\" \"years_to_birth\" \"vital_status\" \n [4] \"days_to_death\" \"days_to_last_followup\" \"tumor_tissue_site\" \n [7] \"pathologic_stage\" \"pathology_T_stage\" \"pathology_N_stage\" \n[10] \"pathology_M_stage\" \n```\n\n\n:::\n:::\n\n\nAs an example, for rectum adenocarcinoma, we can see the tumor stage.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin |> \n pull(pathology_T_stage) |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n t1 t2 t3 t4 t4a t4b \n 9 28 114 5 8 1 \n```\n\n\n:::\n:::\n\n\nStage T4 have subgroups. To simplify the analysis, let's combine all T4 tumors.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin <- clin |> \n mutate(t_stage = case_when(\n pathology_T_stage %in% c(\"t4\",\"t4a\",\"t4b\") ~ \"t4\",\n .default = pathology_T_stage\n ))\n\nclin$t_stage |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n t1 t2 t3 t4 \n 9 28 114 14 \n```\n\n\n:::\n:::\n\n\nAlso, we can see the vital status (alive=0, deceased=1)\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin$vital_status |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n 0 1 \n139 28 \n```\n\n\n:::\n:::\n\n\nOr combine tumor status and vital status.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntable(clin$t_stage, clin$vital_status)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n \n 0 1\n t1 9 0\n t2 24 4\n t3 96 18\n t4 9 5\n```\n\n\n:::\n:::\n\n\n## Analyzing Mutation Data\n\nLet's begin analyzing the mutation data. Below is the code to retrieve the mutation data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_data = readData[[1]]\n\nmut_data\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nclass: RaggedExperiment \ndim: 22075 69 \nassays(34): Hugo_Symbol Entrez_Gene_Id ... COSMIC_Gene Drug_Target\nrownames: NULL\ncolnames(69): TCGA-AF-2689-01A-01W-0831-10 TCGA-AF-2691-01A-01W-0831-10\n ... TCGA-AG-A032-01 TCGA-AG-A036-01\ncolData names(0):\n```\n\n\n:::\n:::\n\n\nFrom the inspection of the sample IDs we can see that the mutation colnames match to the **primary** column from he clinical data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_sample_ids = colnames(mut_data)\nhead(mut_sample_ids)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"TCGA-AF-2689-01A-01W-0831-10\" \"TCGA-AF-2691-01A-01W-0831-10\"\n[3] \"TCGA-AF-2692-01A-01W-0831-10\" \"TCGA-AF-3400-01A-01W-0831-10\"\n[5] \"TCGA-AF-3913-01\" \"TCGA-AG-3574-01A-01W-0831-10\"\n```\n\n\n:::\n\n```{.r .cell-code}\nhead(clin$patientID)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"TCGA-AF-2687\" \"TCGA-AF-2689\" \"TCGA-AF-2690\" \"TCGA-AF-2691\" \"TCGA-AF-2692\"\n[6] \"TCGA-AF-2693\"\n```\n\n\n:::\n:::\n\n\nWe need to manipulate these by substracting 12 characters.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_sample_ids <- mut_sample_ids |> \n stringr::str_sub(1,12)\n\nall(mut_sample_ids %in% clin$patientID)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] TRUE\n```\n\n\n:::\n:::\n\n\nIs important to note that the data stored in `assay(mut_data)` is difficult to work with because is a sparse matrix that has a row for each `GRanges` with a mutation in at least one sample.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nassay(mut_data)[1:3,1:3]\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n TCGA-AF-2689-01A-01W-0831-10 TCGA-AF-2691-01A-01W-0831-10\nX:54241715-54241716:+ \"WNK3\" NA \n7:111899511:+ \"IFRD1\" NA \n7:113309556:+ \"PPP1R3A\" NA \n TCGA-AF-2692-01A-01W-0831-10\nX:54241715-54241716:+ NA \n7:111899511:+ NA \n7:113309556:+ NA \n```\n\n\n:::\n\n```{.r .cell-code}\n# Is a sparse matrix\n\nassay(mut_data)[1,] |> \n table(useNA=\"ifany\")\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\nWNK3 \n 1 68 \n```\n\n\n:::\n:::\n\n\nWe can get more information if we look at the mutation information for each patient.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_assay = mut_data@assays\n\nmut_assay # GRangesList\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nGRangesList object of length 69:\n$`TCGA-AF-2689-01A-01W-0831-10`\nGRanges object with 64 ranges and 34 metadata columns:\n seqnames ranges strand | Hugo_Symbol Entrez_Gene_Id\n | \n [1] X 54241715-54241716 + | WNK3 65267\n [2] 7 111899511 + | IFRD1 3475\n [3] 7 113309556 + | PPP1R3A 5506\n [4] 7 128146325 + | FAM71F1 84691\n [5] 7 156447624 + | NOM1 64434\n ... ... ... ... . ... ...\n [60] 10 50616059 + | OGDHL 55753\n [61] 10 96343335 + | HELLS 3070\n [62] 5 139173166 + | PSD2 84249\n [63] 5 147800932 + | FBXO38 81545\n [64] 5 54365356 + | GZMK 3003\n Center NCBI_Build Variant_Classification Variant_Type\n \n [1] hgsc.bcm.edu 36 Frame_Shift_Ins INS\n [2] hgsc.bcm.edu 36 Missense_Mutation SNP\n [3] hgsc.bcm.edu 36 Missense_Mutation SNP\n [4] hgsc.bcm.edu 36 Silent SNP\n [5] hgsc.bcm.edu 36 Missense_Mutation SNP\n ... ... ... ... ...\n [60] hgsc.bcm.edu 36 Silent SNP\n [61] hgsc.bcm.edu 36 Silent SNP\n [62] hgsc.bcm.edu 36 Nonsense_Mutation SNP\n [63] hgsc.bcm.edu 36 Silent SNP\n [64] hgsc.bcm.edu 36 Missense_Mutation SNP\n Reference_Allele Tumor_Seq_Allele1 Tumor_Seq_Allele2 dbSNP_RS\n \n [1] - - T novel\n [2] A A G novel\n [3] T T C novel\n [4] G G A novel\n [5] A A G novel\n ... ... ... ... ...\n [60] G G A novel\n [61] T T C novel\n [62] C C T novel\n [63] G G A novel\n [64] T T A novel\n dbSNP_Val_Status Matched_Norm_Sample_Barcode Match_Norm_Seq_Allele1\n \n [1] unknown TCGA-AF-2689-10A-01W.. -\n [2] unknown TCGA-AF-2689-10A-01W.. A\n [3] unknown TCGA-AF-2689-10A-01W.. T\n [4] unknown TCGA-AF-2689-10A-01W.. G\n [5] unknown TCGA-AF-2689-10A-01W.. A\n ... ... ... ...\n [60] unknown TCGA-AF-2689-10A-01W.. G\n [61] unknown TCGA-AF-2689-10A-01W.. T\n [62] unknown TCGA-AF-2689-10A-01W.. C\n [63] unknown TCGA-AF-2689-10A-01W.. G\n [64] unknown TCGA-AF-2689-10A-01W.. T\n Match_Norm_Seq_Allele2 Tumor_Validation_Allele1 Tumor_Validation_Allele2\n \n [1] - - T\n [2] A A G\n [3] T T C\n [4] G . .\n [5] A A G\n ... ... ... ...\n [60] G . .\n [61] T . .\n [62] C C T\n [63] G G A\n [64] T T A\n Match_Norm_Validation_Allele1 Match_Norm_Validation_Allele2\n \n [1] - -\n [2] A A\n [3] T T\n [4] . .\n [5] A A\n ... ... ...\n [60] . .\n [61] . .\n [62] C C\n [63] G G\n [64] T T\n Verification_Status Validation_Status Mutation_Status Sequencing_Phase\n \n [1] Unknown Valid Somatic Phase_I\n [2] Unknown Valid Somatic Phase_I\n [3] Unknown Valid Somatic Phase_I\n [4] Unknown Unknown Somatic Phase_I\n [5] Unknown Valid Somatic Phase_I\n ... ... ... ... ...\n [60] Unknown Unknown Somatic Phase_I\n [61] Unknown Unknown Somatic Phase_I\n [62] Unknown Valid Somatic Phase_I\n [63] Unknown Valid Somatic Phase_I\n [64] Unknown Valid Somatic Phase_I\n Sequence_Source Validation_Method Score BAM_file Sequencer\n \n [1] Capture 454 SOLID\n [2] Capture 454 SOLID\n [3] Capture 454 SOLID\n [4] Capture . SOLID\n [5] Capture 454 SOLID\n ... ... ... ... ... ...\n [60] Capture . SOLID\n [61] Capture . SOLID\n [62] Capture 454 SOLID\n [63] Capture 454 SOLID\n [64] Capture 454 SOLID\n TranscriptID Exon ChromChange AAChange COSMIC_Codon\n \n [1] NM_001002838 exon23 c.4999_5000insA p.L1667fs .\n [2] NM_001550 exon10 c.A1043G p.E348G .\n [3] NM_002711 exon2 c.A838G p.T280A .\n [4] NM_032599 exon3 c.G639A p.T213T .\n [5] NM_138400 exon5 c.A1651G p.T551A .\n ... ... ... ... ... ...\n [60] NM_001143996 exon18 c.C2286T p.S762S .\n [61] NM_018063 exon18 c.T2061C p.D687D .\n [62] NM_032289 exon3 c.C460T p.Q154X .\n [63] NM_205836 exon21 c.G3327A p.R1109R .\n [64] NM_002104 exon5 c.T640A p.S214T .\n COSMIC_Gene Drug_Target\n \n [1] . .\n [2] . .\n [3] . .\n [4] . .\n [5] . .\n ... ... ...\n [60] . .\n [61] . .\n [62] . .\n [63] . .\n [64] . .\n -------\n seqinfo: 24 sequences from NCBI36 genome; no seqlengths\n\n...\n<68 more elements>\n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay |> class()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"CompressedGRangesList\"\nattr(,\"package\")\n[1] \"GenomicRanges\"\n```\n\n\n:::\n\n```{.r .cell-code}\nlength(mut_assay)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 69\n```\n\n\n:::\n:::\n\n\nLet's inspect the data from the first patient. We can see from the metadata information the Hugo Symbol, mutation status and predicted effect of each mutation at variant classification.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_assay[[1]]\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nGRanges object with 64 ranges and 34 metadata columns:\n seqnames ranges strand | Hugo_Symbol Entrez_Gene_Id\n | \n [1] X 54241715-54241716 + | WNK3 65267\n [2] 7 111899511 + | IFRD1 3475\n [3] 7 113309556 + | PPP1R3A 5506\n [4] 7 128146325 + | FAM71F1 84691\n [5] 7 156447624 + | NOM1 64434\n ... ... ... ... . ... ...\n [60] 10 50616059 + | OGDHL 55753\n [61] 10 96343335 + | HELLS 3070\n [62] 5 139173166 + | PSD2 84249\n [63] 5 147800932 + | FBXO38 81545\n [64] 5 54365356 + | GZMK 3003\n Center NCBI_Build Variant_Classification Variant_Type\n \n [1] hgsc.bcm.edu 36 Frame_Shift_Ins INS\n [2] hgsc.bcm.edu 36 Missense_Mutation SNP\n [3] hgsc.bcm.edu 36 Missense_Mutation SNP\n [4] hgsc.bcm.edu 36 Silent SNP\n [5] hgsc.bcm.edu 36 Missense_Mutation SNP\n ... ... ... ... ...\n [60] hgsc.bcm.edu 36 Silent SNP\n [61] hgsc.bcm.edu 36 Silent SNP\n [62] hgsc.bcm.edu 36 Nonsense_Mutation SNP\n [63] hgsc.bcm.edu 36 Silent SNP\n [64] hgsc.bcm.edu 36 Missense_Mutation SNP\n Reference_Allele Tumor_Seq_Allele1 Tumor_Seq_Allele2 dbSNP_RS\n \n [1] - - T novel\n [2] A A G novel\n [3] T T C novel\n [4] G G A novel\n [5] A A G novel\n ... ... ... ... ...\n [60] G G A novel\n [61] T T C novel\n [62] C C T novel\n [63] G G A novel\n [64] T T A novel\n dbSNP_Val_Status Matched_Norm_Sample_Barcode Match_Norm_Seq_Allele1\n \n [1] unknown TCGA-AF-2689-10A-01W.. -\n [2] unknown TCGA-AF-2689-10A-01W.. A\n [3] unknown TCGA-AF-2689-10A-01W.. T\n [4] unknown TCGA-AF-2689-10A-01W.. G\n [5] unknown TCGA-AF-2689-10A-01W.. A\n ... ... ... ...\n [60] unknown TCGA-AF-2689-10A-01W.. G\n [61] unknown TCGA-AF-2689-10A-01W.. T\n [62] unknown TCGA-AF-2689-10A-01W.. C\n [63] unknown TCGA-AF-2689-10A-01W.. G\n [64] unknown TCGA-AF-2689-10A-01W.. T\n Match_Norm_Seq_Allele2 Tumor_Validation_Allele1 Tumor_Validation_Allele2\n \n [1] - - T\n [2] A A G\n [3] T T C\n [4] G . .\n [5] A A G\n ... ... ... ...\n [60] G . .\n [61] T . .\n [62] C C T\n [63] G G A\n [64] T T A\n Match_Norm_Validation_Allele1 Match_Norm_Validation_Allele2\n \n [1] - -\n [2] A A\n [3] T T\n [4] . .\n [5] A A\n ... ... ...\n [60] . .\n [61] . .\n [62] C C\n [63] G G\n [64] T T\n Verification_Status Validation_Status Mutation_Status Sequencing_Phase\n \n [1] Unknown Valid Somatic Phase_I\n [2] Unknown Valid Somatic Phase_I\n [3] Unknown Valid Somatic Phase_I\n [4] Unknown Unknown Somatic Phase_I\n [5] Unknown Valid Somatic Phase_I\n ... ... ... ... ...\n [60] Unknown Unknown Somatic Phase_I\n [61] Unknown Unknown Somatic Phase_I\n [62] Unknown Valid Somatic Phase_I\n [63] Unknown Valid Somatic Phase_I\n [64] Unknown Valid Somatic Phase_I\n Sequence_Source Validation_Method Score BAM_file Sequencer\n \n [1] Capture 454 SOLID\n [2] Capture 454 SOLID\n [3] Capture 454 SOLID\n [4] Capture . SOLID\n [5] Capture 454 SOLID\n ... ... ... ... ... ...\n [60] Capture . SOLID\n [61] Capture . SOLID\n [62] Capture 454 SOLID\n [63] Capture 454 SOLID\n [64] Capture 454 SOLID\n TranscriptID Exon ChromChange AAChange COSMIC_Codon\n \n [1] NM_001002838 exon23 c.4999_5000insA p.L1667fs .\n [2] NM_001550 exon10 c.A1043G p.E348G .\n [3] NM_002711 exon2 c.A838G p.T280A .\n [4] NM_032599 exon3 c.G639A p.T213T .\n [5] NM_138400 exon5 c.A1651G p.T551A .\n ... ... ... ... ... ...\n [60] NM_001143996 exon18 c.C2286T p.S762S .\n [61] NM_018063 exon18 c.T2061C p.D687D .\n [62] NM_032289 exon3 c.C460T p.Q154X .\n [63] NM_205836 exon21 c.G3327A p.R1109R .\n [64] NM_002104 exon5 c.T640A p.S214T .\n COSMIC_Gene Drug_Target\n \n [1] . .\n [2] . .\n [3] . .\n [4] . .\n [5] . .\n ... ... ...\n [60] . .\n [61] . .\n [62] . .\n [63] . .\n [64] . .\n -------\n seqinfo: 24 sequences from NCBI36 genome; no seqlengths\n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay[[1]]$Hugo_Symbol\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n [1] \"WNK3\" \"IFRD1\" \"PPP1R3A\" \"FAM71F1\" \"NOM1\" \"TRIM73\" \n [7] \"C7orf51\" \"DIDO1\" \"DNMT1\" \"CALR\" \"SIN3B\" \"ZNF569\" \n[13] \"SIGLEC12\" \"ZNF160\" \"NLRP4\" \"ENPP2\" \"TRPA1\" \"MMP16\" \n[19] \"GPR89A\" \"SLC9A11\" \"PAX7\" \"PLA2G5\" \"SLC26A9\" \"PIK3R3\" \n[25] \"LPPR4\" \"BCL9L\" \"PRDM11\" \"PEX3\" \"DCDC2\" \"KRT20\" \n[31] \"TP53\" \"CDH8\" \"SF3B3\" \"SLC9A10\" \"SLC7A14\" \"NLGN1\" \n[37] \"MYRIP\" \"CYP8B1\" \"TGM4\" \"COL7A1\" \"P2RX7\" \"KRAS\" \n[43] \"TPH2\" \"ANO4\" \"UBR1\" \"LBXCOR1\" \"PDLIM5\" \"ODZ1\" \n[49] \"SMARCA1\" \"CNKSR2\" \"RBM10\" \"RBM3\" \"HUWE1\" \"CYLC1\" \n[55] \"ATP6V1E2\" \"ASTN2\" \"TAF1L\" \"SGCG\" \"GBF1\" \"OGDHL\" \n[61] \"HELLS\" \"PSD2\" \"FBXO38\" \"GZMK\" \n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay[[1]]$Mutation_Status |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\nSomatic \n 64 \n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay[[1]]$Variant_Classification |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n Frame_Shift_Ins Missense_Mutation Nonsense_Mutation Silent \n 1 39 5 19 \n```\n\n\n:::\n:::\n\n\nNow, is kind of a trouble to inspect manually each patient. So, lets get all mutation information from Hugo symbol and Variant classification for all the patients.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nvar_class_df = mapply(function(sample_id, mutation_assay){\n \n d = mcols(mutation_assay)[,c(\"Hugo_Symbol\",\"Variant_Classification\")] |> \n as.data.frame()\n \n colnames(d) = c(\"symbol\",\"variant_class\")\n \n d$patientID = sample_id\n \n return(d)\n \n}, sample_id=mut_sample_ids, mutation_assay = mut_assay,SIMPLIFY = F, USE.NAMES = F)\n\n\nvar_class_df = do.call(rbind, var_class_df)\n\n\nhead(var_class_df)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n symbol variant_class patientID\n1 WNK3 Frame_Shift_Ins TCGA-AF-2689\n2 IFRD1 Missense_Mutation TCGA-AF-2689\n3 PPP1R3A Missense_Mutation TCGA-AF-2689\n4 FAM71F1 Silent TCGA-AF-2689\n5 NOM1 Missense_Mutation TCGA-AF-2689\n6 TRIM73 Nonsense_Mutation TCGA-AF-2689\n```\n\n\n:::\n:::\n\n\nWe can visualize the most common mutated genes genes in rectum adenocarcinoma\n\n\n::: {#cell-fig-genesmut .cell}\n\n```{.r .cell-code}\n#| label: fig-genesmut\n#| message: false\n#| warning: false\n\np <- var_class_df |> \n as_tibble() |> \n group_by(symbol,variant_class) |> \n summarise(n = n()) |> \n arrange(desc(n)) |> \n ungroup() |> \n slice_max(order_by = n, n = 20) |> \n ungroup() |> \n mutate(symbol = fct_reorder(symbol,n)) |> \n ggplot(aes(n, symbol,fill=variant_class)) +\n geom_col() +\n facet_wrap(~variant_class) +\n paletteer::scale_fill_paletteer_d(\"awtools::a_palette\") +\n labs(x = \"Samples with specific mutation\", y=\"Gene Symbol\", fill=\"Variant Class\",\n title=\"Top 20 Samples with READ\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n`summarise()` has grouped output by 'symbol'. You can override using the\n`.groups` argument.\n```\n\n\n:::\n\n```{.r .cell-code}\n#| label: fig-genesmut\n#| message: false\n#| warning: false\n\npath <- \"images/\"\nggsave(paste0(path,\"samples_with_mut.jpeg\"), device = \"jpeg\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nSaving 7 x 5 in image\n```\n\n\n:::\n:::\n\n\n![Samples with specific mutation per gene](images/samples_with_mut.jpeg) \\## Linking mutations and tumor stage\n\nNow that we are familiarized with the mutation data, we can link mutations to the tumor stage from the patients with rectum adenocarcinoma.\n\nWe can filter the clinical data with the patients that have mutation data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nindex <- which( (var_class_df$patientID |> unique()) %in% clin$patientID)\n\nclin_and_mutation = clin[index,]\n\nhead(clin_and_mutation) \n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 2,261\n patientID years_to_birth vital_status days_to_death days_to_last_followup\n \n1 TCGA-AF-2687 57 0 NA 1427\n2 TCGA-AF-2689 41 1 1201 NA\n3 TCGA-AF-2690 76 1 524 NA\n4 TCGA-AF-2691 48 0 NA 1309\n5 TCGA-AF-2692 54 0 NA 412\n6 TCGA-AF-2693 75 0 NA 1155\n# ℹ 2,256 more variables: tumor_tissue_site , pathologic_stage ,\n# pathology_T_stage , pathology_N_stage , pathology_M_stage ,\n# gender , date_of_initial_pathologic_diagnosis ,\n# days_to_last_known_alive , radiation_therapy ,\n# histological_type , tumor_stage , residual_tumor ,\n# number_of_lymph_nodes , ethnicity , admin.bcr ,\n# admin.day_of_dcc_upload , admin.disease_code , …\n```\n\n\n:::\n:::\n\n\nWe can count the number of genes with mutations per patient and then make a `left_join` to the clinical data to plot the mutated genes per tumor stage.\n\n\n::: {#cell-fig-plot1 .cell}\n\n```{.r .cell-code}\n#| label: fig-plot1\n\ndf = var_class_df |> \n group_by(patientID) |> \n summarise(n = n())\n\np <- clin_and_mutation |> \n left_join(df, by = join_by(patientID)) |> \n ggplot(aes(t_stage,log(n), fill=t_stage))+\n geom_boxplot() +\n geom_jitter(width = 0.05, colour=\"red2\") +\n paletteer::scale_fill_paletteer_d(\"awtools::a_palette\")+\n labs(x = \"Tumor stage\", y=\"Number of mutated genes in log scale\")\n\npath <- \"images/\"\nggsave(paste0(path,\"number_mut_genes_per_tumor_stage.jpeg\"), device = \"jpeg\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nSaving 7 x 5 in image\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 20 rows containing non-finite outside the scale range\n(`stat_boxplot()`).\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 20 rows containing missing values or values outside the scale range\n(`geom_point()`).\n```\n\n\n:::\n:::\n\n\n![Number of mutated genes per tumor stage](images/number_mut_genes_per_tumor_stage.jpeg)\n\nAlso, we can focus on a specific gene, e.g. [TP53](https://www.ncbi.nlm.nih.gov/gene/7157).\n\n\n::: {#cell-fig-plot_tp53 .cell}\n\n```{.r .cell-code}\n#| label: fig-plot_tp53\n\nmut_on_tp53 <- var_class_df |> \n dplyr::filter(symbol == \"TP53\") \n\n\np <-clin_and_mutation |> \n dplyr::filter(patientID %in% mut_on_tp53$patientID) |> \n dplyr::select(t_stage, patientID) |> \n group_by(t_stage) |> \n summarise(n = n()) |> \n # mutate(t_stage = fct_reorder(t_stage,n)) |> \n ggplot(aes(n, t_stage, fill=t_stage, label=n)) +\n geom_col() +\n geom_label(fill=\"white\") +\n paletteer::scale_fill_paletteer_d(\"awtools::a_palette\")+\n labs(y = \"Tumor Stage\", x=\"N° of Mutations\", fill=\"Tumor Stage\", title=\"Number of Mutations on Gene TP53\")\n\npath <- \"images/\"\nggsave(paste0(path,\"number_mut_tp53_per_tumor_stage.jpeg\"), device = \"jpeg\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nSaving 7 x 5 in image\n```\n\n\n:::\n:::\n\n\n![Number of mutations on gene TP53 per tumor stage](images/number_mut_tp53_per_tumor_stage.jpeg)\n\n# Linking expression and tumor stage\n\nWe also can link the expression data (RNA-Seq) with the tumor stage data from the clinical metadata. [Check the TCGA RNA-Seq protocol online]{.aside}\n\n\n::: {.cell}\n\n```{.r .cell-code}\nrnaseq = readData[[2]]\n\nrnaseq\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nclass: SummarizedExperiment \ndim: 18115 177 \nmetadata(3): filename build platform\nassays(1): ''\nrownames(18115): A1BG A1CF ... ZZZ3 psiTPTE22\nrowData names(0):\ncolnames(177): TCGA-AF-2687-01 TCGA-AF-2689-11 ... TCGA-AG-A032-01\n TCGA-AG-A036-01\ncolData names(0):\n```\n\n\n:::\n:::\n\n\nAs before, we need to shorten the sample IDs so they can match to the clinical data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncolnames(rnaseq) = colnames(rnaseq) |> \n stringr::str_sub(1,12)\n\nclin <- clin |> as.data.frame()\nrownames(clin) <- clin$patientID\n\nindex <- which(colnames(rnaseq) %in% rownames(clin))\n\ncolData(rnaseq) = as(clin[colnames(rnaseq),],\"DataFrame\")\n\n\nidx <- is.na(colData(rnaseq)$t_stage)\n\nrnaseq <- rnaseq[,!idx]\n```\n:::\n\n\nThen, we can use the `limma` package to proceed with the differential expression analysis. In this case, we'll ise the tumor stage as a variable to explain the expression of the genes.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(limma)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'limma' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'limma'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:BiocGenerics':\n\n plotMA\n```\n\n\n:::\n\n```{.r .cell-code}\nmm = model.matrix(~t_stage, data=colData(rnaseq))\nf1 = lmFit(assay(rnaseq), mm)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Partial NA coefficients for 5 probe(s)\n```\n\n\n:::\n\n```{.r .cell-code}\nef1 = eBayes(f1)\ntopTable(ef1) |> \n arrange(desc(AveExpr))\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nRemoving intercept from test coefficients\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stdout}\n\n```\n t_staget2 t_staget3 t_staget4 AveExpr F P.Value\nPAM -0.5791836 0.08813521 0.4984790 10.94216940 8.309141 3.409613e-05\nPAIP2 -0.3240061 0.18551765 0.0958645 10.29398797 9.056896 1.331550e-05\nSPP1 -0.3352086 1.56339367 2.6409082 9.61423581 9.316731 9.621982e-06\nNIPSNAP3A -0.9988818 -0.35051776 -0.6085837 9.38910637 8.712515 2.051165e-05\nASPN -0.7366657 0.75340984 1.9537316 7.45952050 8.323019 3.350393e-05\nOLR1 -0.2557879 1.39542897 2.1822156 4.97144475 8.531715 2.597133e-05\nSEMA5B 1.3576218 1.27252058 1.9271042 4.60337761 8.091237 4.490926e-05\nCPSF4L 1.0629502 -0.17984587 -1.4274556 0.70036223 8.955085 2.311056e-05\nGRM5 1.3027501 -0.14596612 -0.7395609 0.06134539 10.268851 7.301656e-06\nC1orf223 0.7830779 -0.40735736 -0.7062534 -0.35136703 9.681632 1.743477e-05\n adj.P.Val\nPAM 0.06860899\nPAIP2 0.06719153\nSPP1 0.06719153\nNIPSNAP3A 0.06719153\nASPN 0.06860899\nOLR1 0.06719153\nSEMA5B 0.07597995\nCPSF4L 0.06719153\nGRM5 0.06719153\nC1orf223 0.06719153\n```\n\n\n:::\n:::\n\n\nLet's visualize two of the most expressed genes.\n\n\n::: {.cell}\n\n```{.r .cell-code}\npar(mfrow=c(1,2))\nboxplot(split(assay(rnaseq)[\"PAM\",], rnaseq$t_stage), main=\"PAM\") # higher expression in lower t_stage\nboxplot(split(assay(rnaseq)[\"PAIP2\",], rnaseq$t_stage), main=\"PAIP2\")\n```\n\n::: {.cell-output-display}\n![](TCGA_files/figure-html/unnamed-chunk-25-1.png){width=1260}\n:::\n:::\n\n\n# Linking methylation and expression\n\nFinally, we can use the methylation data with the expression data. This is important because methylated cytosines of the DNA change the expression of the genes.\n\nSome patients have methylation data for multiples tissue types. This information is encoded in the fourth component of the sample names. The code `01A` correspond to primary tumor samples and the code `11A` correspond to normal tissue. We'll keep the primary tumor samples.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmethyl <- readData[[3]]\n\nidx <- colnames(methyl) |> \n str_split(pattern = \"-\") |> \n map(4) |> \n enframe() |> \n unnest(value)\n\nidx <- which(idx$value == \"01A\")\n\nmethyl = methyl[,idx]\n\nmethyl\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nclass: SummarizedExperiment \ndim: 485577 95 \nmetadata(0):\nassays(1): counts\nrownames(485577): cg00000029 cg00000108 ... rs966367 rs9839873\nrowData names(3): Gene_Symbol Chromosome Genomic_Coordinate\ncolnames(95): TCGA-AF-2687-01A-02D-1734-05 TCGA-AF-2690-01A-02D-1734-05\n ... TCGA-G5-6572-01A-11D-1828-05 TCGA-G5-6641-01A-11D-1828-05\ncolData names(0):\n```\n\n\n:::\n:::\n\n\nAs before, let's truncate the names of the sample to match the clinical data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncolnames(methyl) <- colnames(methyl) |> \n str_sub(start = 1,end = 12)\n```\n:::\n\n\nWe can add the clinical data to the methyl object and count the number of patients with methylation and transcription data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncolData(methyl) <- as(clin[colnames(methyl),],\"DataFrame\")\n\n\nintersect(colnames(methyl), colnames(rnaseq)) |> length()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 93\n```\n\n\n:::\n:::\n\n\nLet's subset common sample names and check the methylation data as row ranges.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmethyl_subset = methyl[,which(colnames(methyl) %in% colnames(rnaseq))]\nrnaseq_subset = rnaseq[,which(colnames(rnaseq) %in% colnames(methyl))]\n\nmethyl_genes = rowData(methyl_subset)\nmethyl_genes\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nDataFrame with 485577 rows and 3 columns\n Gene_Symbol Chromosome Genomic_Coordinate\n \ncg00000029 RBL2 16 53468112\ncg00000108 C3orf35 3 37459206\ncg00000109 FNDC3B 3 171916037\ncg00000165 NA 1 91194674\ncg00000236 VDAC3 8 42263294\n... ... ... ...\nrs9363764 NA NA 0\nrs939290 NA NA 0\nrs951295 NA NA 0\nrs966367 NA NA 0\nrs9839873 NA NA 0\n```\n\n\n:::\n:::\n\n\nThis function takes a gene symbol and returns a scatter plot showing the relationship between 3 different sites near that gene and gene expression.\n\n\n::: {.cell}\n\n```{.r .cell-code}\n#| label: figplot\n\nme_rna_cor = function(sym, mpick = 3){\n require(GGally)\n # subset methylation data to first mpick methylation sites for given gene symbol\n methyl_ind = which(methyl_genes$Gene_Symbol == sym)\n if (length(methyl_ind) > mpick){ \n methyl_ind = methyl_ind[1:mpick]\n }\n methyl_dat = assay(methyl_subset)[methyl_ind,] # subset to selected methylation sites\n\n # subset expression data to selected gene symbol\n expr_ind = which(rownames(rnaseq_subset) == sym) \n expr_dat = assay(rnaseq_subset)[expr_ind,]\n\n # combine methylation and expression data as data frame\n combined_dat = as(t(methyl_dat), \"DataFrame\")\n combined_dat$expr = expr_dat\n\n # plot pairs and calculate correlation coefficients between methylation and expression\n ggpairs(combined_dat) |> print()\n sapply(1:mpick, function(i){\n \n cor_to <- as.numeric(combined_dat[,mpick+1])\n \n df <- data.frame(v1= as.numeric(combined_dat[,i]),\n v2 = cor_to)\n \n df <- df |> na.omit()\n \n cor(df[,1], df[,2])\n })\n}\n\nme_rna_cor(\"TAC1\", mpick=3)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: GGally\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'GGally' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nRegistered S3 method overwritten by 'GGally':\n method from \n +.gg ggplot2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :\nRemoved 5 rows containing missing values\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :\nRemoved 5 rows containing missing values\nWarning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :\nRemoved 5 rows containing missing values\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 5 rows containing missing values or values outside the scale range\n(`geom_point()`).\nRemoved 5 rows containing missing values or values outside the scale range\n(`geom_point()`).\nRemoved 5 rows containing missing values or values outside the scale range\n(`geom_point()`).\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 5 rows containing non-finite outside the scale range\n(`stat_density()`).\n```\n\n\n:::\n\n::: {.cell-output-display}\n![](TCGA_files/figure-html/unnamed-chunk-30-1.png){width=1260}\n:::\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 0.0410095 0.1457715 0.0856926\n```\n\n\n:::\n:::\n", "supporting": [ "TCGA_files" ], diff --git a/notebooks/ENCODE_project.qmd b/notebooks/ENCODE_project.qmd new file mode 100644 index 0000000..66662eb --- /dev/null +++ b/notebooks/ENCODE_project.qmd @@ -0,0 +1,18 @@ +--- +title: "Analyzing Cloud Data from ENCODE" +subtitle: "The Encyclopedia of DNA Element (ENCODE)" +format: html +editor: visual +--- + +# Introduction + +The Encyclopedia of DNA Elements ([ENCODE](https://www.encodeproject.org/)) is a collection of experimental results (from human, mouse, worm and fly) and computing resources devoted to elaborating the mechanisms of gene regulation. + +We will use Bioconductor to acquire and interpret ENCODE resources. In particular, we'll analyze ChIP-Seq, ATAC-Seq and CRISPR interference RNA-Seq experiments. + +# ENCODE ChIP-seq Data + +```{r} + +``` diff --git a/notebooks/TCGA.qmd b/notebooks/TCGA.qmd index 687ba9a..6810ca4 100644 --- a/notebooks/TCGA.qmd +++ b/notebooks/TCGA.qmd @@ -1,6 +1,6 @@ --- title: "Integrative Analysis with TCGA Data" -subtitle: "Analysis of Mutation Data from The Cancer Genome Atlas (TCGA)" +subtitle: "Analysis of Mutation, Transcription and Methylation Data from The Cancer Genome Atlas (TCGA)" format: html editor: visual --- @@ -247,8 +247,7 @@ ggsave(paste0(path,"samples_with_mut.jpeg"), device = "jpeg") ``` -![Samples with specific mutation per gene](images/samples_with_mut.jpeg) -## Linking mutations and tumor stage +![Samples with specific mutation per gene](images/samples_with_mut.jpeg) \## Linking mutations and tumor stage Now that we are familiarized with the mutation data, we can link mutations to the tumor stage from the patients with rectum adenocarcinoma. @@ -327,6 +326,7 @@ rnaseq = readData[[2]] rnaseq ``` + As before, we need to shorten the sample IDs so they can match to the clinical data. ```{r} @@ -348,7 +348,7 @@ rnaseq <- rnaseq[,!idx] ``` -Then, we can use the `limma` package to proceed with the differential expression analysis. In this case, we'll ise the tumor stage as a variable to explain the expression of the genes. +Then, we can use the `limma` package to proceed with the differential expression analysis. In this case, we'll ise the tumor stage as a variable to explain the expression of the genes. ```{r} @@ -462,4 +462,3 @@ me_rna_cor = function(sym, mpick = 3){ me_rna_cor("TAC1", mpick=3) ``` - diff --git a/notebooks/images/number_mut_genes_per_tumor_stage.jpeg b/notebooks/images/number_mut_genes_per_tumor_stage.jpeg index 39ec99b6ee3789ee63ad56e0273236a7f2659c4a..e6cb1397e09017aa1237083ddd88dfeab8603f53 100644 GIT binary patch literal 278642 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%0AHC6A)$@H9 zE_<@Q5kvuiy9LxUHB~P^k*?Uk&&|yFw9+MZMqqm~(V=Z7-y9x&wi|&3%dOk=_p>gw zwdkVPT}YiEJbEF~0ed6ZuA4i#By&=gLJf-FRER%EM^!mcm#b)HS{iVNE#|b{Ytm89 z=5qzE{T15iwnrTMFYd*x;r~U8ze8Ni8ve&IfTJ*JvR`P)hi>%w<0P!5)sQV;yK4eZ zFX2pKm2z1H?!hSlL9mZ&QV-4FJyjR?Lc1*IDf(}xho1V3bFIZ${0{3#zWb6hw9 z`;2o*hugS+S;1_kjNA4R+gDYKI#LH?MpCsVJWCFw!<~s|q-!sW~dN9iI zI|TZZ8WW=&|AKP-$|FWaCr+i>WbhBf(O)R*xnzNY3bSndVolxa7JGxcf@s^Ks{JI@u%Bm%!Mg{+ zi>GTYr+gL{jbF?W(C1|h?`Pu0eI8W7EXXn5ihr9&#`Pqh_}#+3zAqes?wuZ!OQE-uxzN?&Ef}xyI$lT}r5D$8k$3_EyMuXgD3Tvgtw?T! zRPzry=OW3n9Pd>1o(^!nxnMQ5T!(}$L%|2nyBcf1+!#FpZ#JJSgv+P)k#A@cF-{bf zlts7WZ#B2SfXa%_M(Qo$FW|(E+6+$ISR&6)o|KC`IYr;i4^pO`YT zWy&?;;+6GCh;$fT!E?v-%flbz!yb-ECN)q$DQ7CbnjWse+T$8LQyf8yFza<3%0JRK z^RmYZZ+3o>rNpmxtsa-nUX&@VN853NIoOk>40cnB61E-{@3HWTdT@f~>TL-QiMw?X zSoa_jM&*lOR+w4?HIgUbMY2?vhFVp{i=it==1H3U@S_g#j|(K4hB`6!-|^&x`;0X{ zfon7mDw}VViRfA0(f57}eYkuEPXbRP6c!G7%Z+Y-A=lm_Zxr@43<*xpc}%*fdG+ z2cI#T%tq)#w=Ph}-I~GB# z4qBR?e$D&^?B<%{Wim+Ckfs4CKt|ZoiV&i zc8FN#Or(zrQ-0YyfEWv{lpShFrD*2F)B=yfY(h#%7Y=yJoW06_jYOXCxNGUyJ%A6- zE}6dzAptkcnw4USYpg!eBV8=?5sS>L@s8*rwx@GLo)>^x+9v0QTkaAtnxJZqf|^Oa zwx6J)tafByLcT7*BP6L5GzQO9bmT6DMYvL zP1+C6bB;yLGJX{bD0GotrP!4q{-p`gABn)(8fDqkLjeoQ%hFycZVk*TJ7;|=Kq;1- zeP?Y@KneH22XuSC$A8~<5)QIS5gs)?y^0{n0`hUr8T2+@n>8V8be_f!lHofa^SyV= zQ9^%m?%M8*QoUS9>%aNFKlpe~T#AcSjQYwFdsmKu$JC}~HG12#-ooBM=#Lu$-}zjZ zfClCesI$f;I+C!=(%gbmSb?U-a{iYNir$c5Ok-dwnPxud$y+y}dcjQWRPta!`CGih zNs-jF7i8Yuhu#jgb?v|JE(@>0_Y;zR_iR{FXJV%| z$CeuyuU3pR@M8-CcQkxBiDa4U+@&#ZvSWr~R7x zwM)YPfdniiX~>%Aqum0I7VP{zpRwN(V3+hzeIe8;o!}JZvcdfIT#u}ui?-i`!C&F3 zkP=R6f|u<$X-G9H&#YBmIH??P}{y<_*h6DeM8+9DV1wMyJSt-U8lHfh#7D zG*(I_1@!Q@2VrVn>lZBI435I|r>?D8hHQk!(VE>uEJU1(twRB~s|t1+Si8COf*CUd zm@3cwP2ge)Cn6+6Hf;P^)0GJIXJjesa?XVjHy^&15_RU*=}sdXvC#NPqwGsxXA)Y$ zlwr&&Js%7+WEzlt=xz_ydYUQETG^Aid?E%<*r%P=UQ)S59yCC;powmmzBwy@0TMC0 zH};64yLIg^_Wg)nuEQR^|DT-OOW>{6)i3n!j#TE1S^QZ^`ML7TT`N>Bp$fg#w3%F$ zHrspw+V^9emKn;0guDxehrPIJI8vn)k8D_hJOUFQ?bl@0|HwI^S^6L=Y$-UOuC4FQ zskfJ(QFY=FbIzCz>)FjU7=DDt`m}}LlCP_1DkUhKhY0j^q+v-o|a7;$_mju`Rq<*tqHlk-Wd8L*;xW+7Y zbn(v>$2z*A^=jJ~2``cXN%j&UT%h|@rt_0FTeo31ypV1=RPdE?oVX4>@wMo! z$qp>UhE{kStowynb)m^)y<_Poc-d8)%W6}d#BpiGD~cape5gO zKk^{&&MCpUk3i!%h6vSbpclB~C}5MyK@9SqwK@1a#5@mfFrhACNhv142sc1G2f@(rf<$i$`LMW|X;yhcp;=GZTJU)vL z4U6w93l$KqvsTwMcLL~u8MKokh&4+5P;aDn3yWV1%S!x6{@}>Wslb0 z?szAn2(kW9K66}r+^$;`M?22B8xrn2A!%TBY`@Z)_*;?za3&#x)rb?ry8w3*F;kY{ zjTR^o;_2qe%i+RQ7Jk7>mlLtE0C+NP9|z@ldk&(T!!H# zWRMpx)pGb z*zLLG?7Shy$@^z<<~!uaIC+0uthlEM*J_xDoV#o&%$V?ci*pk)hTMRs@jBM$Z&loT zShvA!FeA;UmJde`HAOoo$Usl!XIvRMG4vKUw5#6!R?^E1Jks*b4bhK29yZPEqk;(y zgZSPhR$SAww?}J_--xA;PFytM;PYtiujrJoq4MOxr3V93n_*nZLO6Dyg2TPdtdkSyIdmk=cDecCh^9g|6VD6w-N%qxOZjPTcP9)xUUX4M^-w(z+ zX@vp;1&72@0CrVLOk>Z*E9V_P#4JNhu@czEuaet4PgXtKX@4Gm{^XsQyotR~54*#v zzpUi`%kw4%*c9)A!?QwKZ;0$mU<)FriR>kFK_5`7VH|nn^s?9^-lO-&i5$g}c0=PB zzeF9=+Nk_O#SByVf6g#6c3sNKZ+H>XBbEOC@%&myjgM-_gcVB0>_c#&|c5V2*+v`K`XYNYj0NF zM$V6m%bMC8ZScm^$>B8evU`PlD;Xail7=>b7f`^!!O`Y*Ufzzaa~2h2&kxlzFEV#k zbYdgq-he^qvM%$1Hbz@Cansw6g{~}(gkFo-Af3H3epGr3w0>6j>2^r_if1=n zfzx6WU-MSLYJmchj=QdAWhM^=j7xwJ_7%)0=!`8gS*6j9V+H1hOz!M?megVB(2&d74#M5rK+WJoj>4qJ0Wk@^`*_RxNO}q1=_&{OR+Y}P4e{d zuRo%nTXK76?zu`9Q%xS%n%02JO74K#mEK)4d>NnbmZfX{gm!6(XW<(2a+ixH&C0P{ zgE{KUH}TxI+TC;%5XH%wa){O}hix0B-a0YsY!g>}4J+FyBjm?psoiT;?Akc9l^HSb z8C6SOC`D{d#RsVMttMTecsv)Y{m}7LKjAUyr6>!x4_lG~Zx)vp$BRqP*~Gixm{o|- z8r4pDYm6BV%*IAIft+wNo*B7!x3J2!*0wX@vk@h4B0J9&yFK43=i!N_pH7ygJ8>RQ z2P(>z&XN7uRs@XS)i?F2i!otDylZvfYk|UFT4&FEO(dL(2Y&7Po8@0~yXc2zIo9(oZ4Y0x}yrh)E6)PxX^!HbRvxrz$KPNam~ zSMCkrIo+-v@aieJtTJQ^s$5WWU+8-Kg=amfD|t3Ni;s{9^4!Ad13J%oj+bz_f1q!7 z%c`lt$@%cnSIeS9H*folewU!XW>1M8Jv!pxaAlaytvVs_$GS6zKZxlkCs+FQWtied zU)}$}R5NrY^W}NY4Y5~orkMq)j@i0(#&7pc>-HLn&aO}dd%P;j7?}N#rEj5St9uHl zh;`I?(#b7 zd08A=S;o1S6!nfaRE^+lLGp*rQ(?Z`*|a!hbvRDx6%}Pg-kFuj9ET07*b1l=dg4_Q z65K@S+_EQqsJ6P4CoXv?{lQJynI8sE<;}-i=U;Pe@6o%Geg`zh)~hOQ@TSDnxZBZk zf1kml!FOz|Xm-vq-&_yN6+f1ct7GtNjk=%nF!M&MQ0ir>)ZG@w&XVn7Cyubz^3d>E z^cSOy5~W0cF&_eng9;Ym&W9_@Vn-+0;t4OLN4BKK^n@Oi9rqExbgS+_FZd6FN7=LS zBoU8XY6iqK!vc~bPR^IkQX@=h2l4EpKgMT1HWQNynnqWlnbkVQbX%hH*-*M3EYZ}A zwn=T;BKg6?_nYhq+tC?1Z(ZK5NVQu>+BDfEJv612et_2ha9IhoGC%z|00sEGN5_Ra z(V-)XPoX0-5d6eWu;~wOlAgfX2_D5WBlkZ-2ds9&O}n2#2dLC`B3Rj}XbYoqC!FM4 z=Sfvk9y~c#e_8Nk!vrKsoFL}^B0^E5xNxn$N$wDIyy$f&MF2XQbmU*rBt;3D2|c~Q z0v>d%>5RmAG$%X>`oBn2e%o+<+uu=CfA}os0G}UUDgQAc*%6+FJ--Pr{{tE2pYpf= zm20B4^(mQqFT9e!6MOBBF**sx)LAJ3C?ZxXjNX#QzG`+w7u+OpOtJN&=axhB<&V!H z3ckgX>`eyDQEhM1tgbI=S4mk4-)}nGN-NDfW_|yIp|HCd^mafxyuE%|_p+c>o_^a# zX2*?{LoE+j+23s~bTe9xNbrv@kk<7T4Vm4(F~~WrbmW2la;*_OsL%o0>{~32f4S2t zbs)hk(~d3J#Hk%CV)9s3cRdryYXqaEWNE++t4B!kscGh`|0~lGbNB0hAO<}mi%fbY?as&R}2N=r`wg`X^?H}nP$4s+*_31H&#C7v|#8U?Fkx1=-pUoko=3z;>z zTS)8wZMic`xo*8w*;2hp0d~il81b!)5kVWn&f@={^TDk5{eKURj$;epKZ& z>5e?og&;bPU^a2$8TPZ<7|b?jxx?Ac>kg%nbYagb)Q6`?2Nu`t3z5bj&~JA-tmmhXPQ& zAr@GeDGaBYHF)Mi?+w|b?LzfAX~~N8itP9muUuhW73e^YJ05h{RgfGW&Yg5d^8rrW z@qUt=a2FOUmPDo*(GShaXF0{woy!F)AmOe3C zban4;S~m>#DJ@|$J|0Rq5@AB@0%6g9hR}fBNhX5IHKkg}R6l4e z$!0xleD(ai8;4OR?Y^qG$&^qwsJ71uq5bN(tFL(Sm1y^~?sGC4IK$-JLRAN+7;j3* zH@gcDXc8Ei6AORrGoE(7jZDWx<)G6^G9P>ASNu(C_~UB6bk-%0&P*~NYIn+-6N}&P z6DH0fcP-|)?C?u@!d8e#Gpz)(w-m8?WnU0!pt}*zXj;~s*$E=S`BWQ9{KIE=J!&P^KDw|6Pa%1n$sx6LBKkBJ zDr^qSY52vzx6=%FAvFy`LxMy z04x3PrjofwB-q{X5}-wAsw+KW*9VV+yUHHr5h)@3+%oShUG4UyHgoD%dp0_Bwk%$2 zRnuEZ`YsxQlIH1bUUZOb&aUeXnZ>Rsj|M;CWM8J5lA?TFAa%-O1IY%{N)>dKE1srT zm7=}vCqk_K7MD8;PbWET4{z#%M~vG9NEaD=c(J0EF}L1kTBuS3p`v#8j9}6` zb%Ah?R|L|FGgYpVJMG`1tG*goz(g$fg5Lj&i3iY{2ABAwQGv= zS)uc`IRZ-a+|7=L{>XjsG$&B5Gf0ciAn4R^`wii!h_Pi*Vdxv~x2;<-OUp(yVpa8N)kCo8tkMAw;AUR7IxY!3s^J4eIIT0ved{y z^)T&li%hFjj=alK{IrlXHbMz*{VfRCq?gYP;Yl4BsXOUt_9T z18`;NFLW1%IV7Kg>K7E+5uI_+eU!xdYGlr}zzw|@V4zv(!`K0YK6@CL#xi&K^xY9^ zvrNU6GS}qX6@co*0;a5mB}Rh?s(!~1$LPjn(cTkG7av%qMn1TZ{O}|{ z4yaZp&&|-Ma`CD4Gv}gav5fk*lRU)&C%Gtk@NTd~zzL`#ETP)^eLQ_?)Xp=P%3b75 zO8w7?Lhl1_OqO|rrN<>z>iaHB#F0ugPE}Y2oe{mza&Q~~wzlytR>p!y z@t|nO_8Kp#uG#Vxi4~ftcLhg@-<@GO;{{+Ztup3zdU89{*CVlez>+3ut+p#K4OC*w z@12Yx_9g)U(wf(|3(?14EM!F2(cOGc7|tVuUpsrxo#LYr?1%f+pp8>v0e%i4?e@ec zbsJ{GYac?Ovj!;>AuW!iM6)!pQ-^L81$8re%QjDRRY}*=+?`{h>f+^T;p;G^cr3op zH=;hnrE`JIiCCJHrOf`Z?h=Ho5EP>my)8|*k}`N?@sKBzto6HdMPp5@1}K2*Df_0U z(2R7k+%O+P!e^xIfoV;sd=*mjy4otj(#~r7`F6@9AKV+UYQ&EoWwjcuU#s0*&2KD= zUt0GJCZLMfl@JIHPCFVg5P2+%y?nrhopsV1QaZm>|c=Q-m;9Q zZ?qD;dXtN&l$LO6krCt%22BXRKmo+?t@?ha%YN%=RNE!3VUwlte5a^z^@#5*JCW4X z>rd4bmHCYOO($sfb#e3*J->2#pLZ+!hUTcsmbmi?0t53BeXAp3D&i##EF26`Ajhvh zPzH^Yh2Ds^$sTqV*L~iTR?g2;SAO+2)krZwrnuEySYm}Z`r4f~eQ3^!iKNeZjbo8m z#n$=|qo0!%fTJ!2`>>z~B6MKJGe5PN)a+Z5P^B#HOFm5RkAF>nNCt~C0_?h_oxaol zNYPTgm@}kuV3cmw@+1#cwF3#x;ygQsV_W2)uBJ6*i|<)6S+1`#S>T%qpX+>aF{prd zI*BFrY;8ETb+FRha5%8kFQL6Z+g z??}UOi}RF;#824{0;`)h;u>m#pTeo9yH%b(LB8%?jB{7l(0i?5AJX^*=dv)6<<=R@B>&;Y8LWW zb94g%;wU%ulep?HWdP&o!SeRbU@7|I3TGp?+$RB~JjHsEAaZ$y@(#PW6iRntb9-ph zhW0fQCOxyVBS^N;2)lR)uM`K|y6fFU*kZv828q%))^Z3XS|*54*DT$ul!CWBi%GUc zFV1(#)M>nzouZp{2s2gdze&AuzFc>L-JIoW_A1Nr0f$QYqRbDa``t3H9EV01-{rfs zdC&!~uy?cOcm9DtVukM-8<@%^dql@*q_pS7KkM~&+Nq=h7%2=l2M~b zX~xUVlz~QD#{*xd@Lel2mRE%A?`O39d&A`glg~d9r;xk?ZVF+>fhVu%z@6MI`m{|Q z;vMUVfLEulA~Iyz@wsF~*4P^gJZa(0byDo$J}Ji0!IGGPkz+}=r@c{T!y6$9)Lo8# zUB!}O>eS;6~{&_`AU1Pk%dLukTp>M8ZnD8F8vRn+sP@aa0{!ptoyjXti5 ziKD03Ce%RmsTI49KKGgKjKkK%=l3f1pUwEMx-S1WzhW0elkgdQvyYJ1iqGrr2Q zx*2I8nGMIE6!w#F%l$CApHE*lTZJuje-nYW)jM5d7F*YYt{#eoOg#u}82yW6$=smek?mJEFQIMx%4p#>NGpKw`4wF+w9}HQ^UyfP*rHYIB4IAx~waTp$)D{ zh0$xADVJy5&7p>km42agbv?%YU=@k6*{h0?3Jh+}1K>g+^!6NI8eYX1ojVQ8I@Jj8 zi6gDh5_zZarVcsV#b&0_Q#RbStc;bR9CZawO)0nty)2!&JVtp{w}zq)WGqe)rCoDb zSV9|=pxHW&h|hA^F^syu(eqG(N^gF$Na5jqI%WIb2;*E04QqQVI%VusXxAsGXGjIV zZpEur>O2X)LwJ37|Jh+O9|2+Rt22?2qgBm1Z>-$4CxVKrE)PJ0mk%BdvE`w#l_zK! z&i750S8!cc?Jb!@Weh|W4sQYIj`KNs&lV=VM!4Q5cTXx@hrD(Opg)0o-=Iuky0SWGTN@D2sr%9DE4!%aHj zBLMaj?83|Ma~~B1|B)&xq=w_0Sb0{n!Wf4M2Em&lX)O?*LoA}$-N&1y%9&y&$AJ0# z!u|$N*5}^z+9?+uTo_E!aPV1NP43V1V|Rh|#u;NuHsKKsPPVKTD|06zSVN1idQFj@ zD`MCjchyq!$44A9EPkAyBf@Ky;gW3NVmRVW1esH^Tg^)$CWW7?F;~^QWNR>_ydnW! zu6e$Xs<|f$GOH_fh#C68vn#$dYrLv7X4=K&9q2X=cSQEl=B`rYF`Qy}J9KlgJA+OkPz{3#}n7nD3Qa zE&8ZI*3&r6F#~mxzPzry(>NZL7Y1#t3^{AwTu>sPqan1as~faeoAHwJ|M7u5**v&H zUFqHT0T;^r9?>(Nj=Mh6zJQOj)f*_3LI6M2#dvUz8d`kDC`)}_ufpTuc#7*&yrKza zyumY%7*CH<2i|lf(hqUsEoPutQg_y_FBQ9ynq^UWK9yn6^U;}fGLE-*C|>){=@?-% zieE~mf-ZzV$g-d-h|W?tm6COL7DxHiVVqT#&DcY=&F6dB{oKWk9$V1)=cdn*b!5)5 ziOG_O1Fl74S|FQQa@KA64|06^wQL-CF6iH=Yr;@F*l$a!@LW&TQ zv5qB?FqUvFQ7Jo)shCIZ7%OM(?EB zdpD&FgQQ7dAX56O3o%Qal_MrP+@Y;;!WFa7lQpE6|rj=k|`7-;|3 ze^*iv!*Z3>tibC>>roK8Xjx_q3viQfIkd{q*-IS+f7vJL=E1>;J~Rp>0unEKe>e zwTm*0DqFjdJ7ZuuSh&V_uFTj_NBg6I@lIhC*d`wbRNx604m_(#%AYWkVOsz?k4EvacP^$*Y2 zn~ST^9*Xh}tfdMJY?T^+V)C_eS`IE5oKA>ZdN~aA_>L4%K)~J2 z88Im@Oo$n15a$Hz;1oMDmu=^V3UY2gH0G2zMMdRLSvLo%lpR*>)(4#*b_^`m(_ z-^tH95~RV}C}Xr3v)hFeOQ0?9ex0F4*Uw#Yb|meZr~rHY^(d1dRaq0sncx;DF@hap zK$zAv=$)tt+0 zp;~bSk+W}G8Jn|u^g;#KyW+iN>iRweV+@>=!*GvaI3!WEgD7*SVI!)U_J?7i=YEf5 zUG^v^mZrhV84%?VJii`pCRSqE=G<{Z-<*fyd+`J*uJ|4K2x`Sm5H-M}_1v-|#~0hx zus7fTRM&?O3N-^G4pB6VK3nC;t5*?VQTj-h<%Bq|2J*3Lxul~n7f!FHBTb)vM9h#v zm;uuJo(%!v^i5Fi+NEU(0PQ?4Uqix9Du1dtvJPHHya5|-f-Dzfw=Q_*jNCxCAper) zf&qk==A%TZ_DGlehX9DG+U0zDp9B4{is!ny<2#OH7u)}}MTtq^58`B~NLLnA6vLV8 zfolEzSvRzDgx|3DbokPUfB*kW{oue{wz%MAzhj&=H#nxe5cTNfYBa>t2HAUon4CjU z1c&2y?56_fg{?vXYMf8vX z7HJgN|I{f??nAYGmD-P*C-Rd{lKA_np6{=6+pGM$&Jf>U(>K4S5L(5Yn_RQSc+D)m z+YGbQSf-y&XnoS(ai3=Xe~ioT@B1$|e!h$LH;eXPX`}w3*Q6k7aEbh(&5ULP^Rv@^ zQR`Pk6i4?;n8>&PI1>t3eloYOVE-Ow_#gU-f0HG||NUoIqchOt0c1r>f%zHrmaH^Y zjqcczmBXr+zwAi(%~0Q8Zvc&eFAR-vF}HV~ZeHxN^|NyAqp3}vw{W~8+fsg-;O(z+a@-ZIM=m@wzRep|y>sUt z8*OqM!3_@;hxr?aspn@) zyJYSNb$oa)#r6LAV2=QY#1Y2@_t8(E&R`!Eq)J+&_Rp3Sd)aU_3{l)se ztI>kEMHfCCam_~3|ExmALDmn$FV}3TK15XFVP3I#39s?i@Jee&E>`Ns8czDw1o_HN zVUr5tQyUxD|h$qdC4gY{vP%p||_!zBWUcVg|NK*U7bwu)5;7#b$BCuHFw z!aDqd##iq5$Er|D1d&Y;&jxzKv7VS*M3CA99i{=VtpKZBE1VrD&sSwguv&gck7AAUz z5g*hLi{@3TI5Uzm<_T2m0suNLb|mh ziwW`vujx%-Ib`XRCYzIBu*QQ0)F+GW1T5s&^&dO$cen!Hn<}(u>CZ*g{$QeA7&X4P zkAkJYFhm0EoK_+4BPZCM43vbgcF5;#gD;NWpI4y5-mEVzoS1}()~pObql zqNN999?}CKK#S0Ig&2>Rc};*824#;3u>(_~M_wsxg03GXX)iiEv%{2r*P#7E<162D z?EJiE{?Fvt`6O^f{JQCQ<#Gs{sS9_LXmz`jRFYK0SQpuQwV)cAGlK4VyWLORx37Y$ zXBrM6AGwIO5zoB1>z72Zxnd*MkU{=K0zzLTGlXP;FF836tv}56@1yz9BfWo|g6`l5cW(`Ukc#Yrfd_8A zqT~qP3kj|17tS@iI@6Tum-$lt{^@eAv%BA0+w*#0#J=f9zas$`loPK-QcXiG0+dfm zZ>+FPkdcU~O^^zD(R6#2Q?W1>74CI@H4c)0@lAa5uWju9T>5_RXK1Vw>n13Wge4V^ zlC=AsI5t5+p7furfINa6UQL)n#-D{_QElmB}bmM33Ch!`92liUDevu-x zAXjJNci!pqE&teu#Q#06q|d?u^$J4}?i3eBT6RmDAeWd1N3kR}VT-YzW&iNu4Mn)U z9Y8<&v?o7jBQ_2I5??YH+$w)W_N)v938{k`R5144O7p6g&vq<#G|w4P7+J`ItQvP= zcslY>Ohg@Aya&qfajZRWZXKDU*`1Y)9j7F?K$7DW$bb;YHkAiYsg zadwtt7a1!%62xKSZd1FIcGaaRnwrtxy+Vh6V=hxU2IFj9vHS>kI{5towzr5m=LlJn z<8&xEi{G6h`o`OKk4=!{$L8?`EHn#+H=$Z=B#; zbgH^{Lp!p*RJC1&0`vNPT znGj@;>4p)_Mgej|729gw=O&u`{gXhLPst4~?oKfOx``&nsSiSEMGW$FASO;G02GB6 zfXpLcT!0y3k);iSI|?)oTerKu33}162_jKK2+f#N1m4 z?rYlUv;6;RVpJT@{DOu9dH*ehH}?@B*?^K6>Y zDGj05<~+GNGD@l|s07)=c5*8oi;l_Rbiws^*;QuR{hNcFr-6%h>0_J+Hn^t76nN*m zm0DzM4YQ159J*2?x_-xGTH;8M7*rFfTC4FUDh^$cL|Js;5_0qO>-;M-L$%7LK$wec zt8)WbPf-l>G#3w^`N^@N;zGUhSN(%_0y2z^x*Ajos>#?c-w`&(sUDR5+^0dJMyI;@2;AkPb2@$l*uXd9EjSdX^75e z=(Sy6K0pNL~74VNMmLcsoMs@*UVe?++STN$9KA_3$q&Cd>NsPOI zD9r@@lF0lNK;4aCV>08gYBiAO_DG+i!wCfC%Lj7H45Y~Jm}um4FE8@srJBjqqHbZi z&VcPTE?rxOro$9VWZfl=^R@EnN(WQ8 zX^#fj2$7}q_TABWRr%ZZ8|r;ce7U4MW8q$v1sa}NcI{%0mATmz0?~0w+yO~cm+vDE zInXRx?j?k&;&S}g;!yC=ZMBt*OsA*R=|?oq82Al=87JirG-I!{&oTD5?M-qB zXK_E9z^PhBd@>l`&ri_!DiI&~@Dg(wR-@0z** zr>ohxaevg(9PQnO!=Z@_u*sE2ly^_5j~MfF1lc!Aa8(+jVBNQcV(mORxCm&fP0-y= z19aAVJ*7DsNjba=J*hRV7;*Q99KZhk_Z^3b;EnieY~UH%J=sIMCC+oP1?_XRWqKRX z|G2BTe4Kr!Rn$K<#gjn8u3R{6HYX5O4n%)FW{;x%kdOwgZ@xC!FzgsuT` zi?NrtRgF%%Y&gA_hBlnss52Il|F(JPcTDZY>;o7g5?F69%?Zz^EewnkpB+I=_rpf@ zYs%(Uj|2c-!d-|EXE02uv-#QQ<>4Ry@QYRbk6!-N_JZ6m&o6)c%f5WiUoaqF{^aHV zE4CLF=J;EZ{>g^Cm25lNIpKG_z;Bm`x3X41s_f%{);0k4s3!P+>$pVI__Dp&{15!u zP6;Wc_m39t>s*TEZ+Tw40Xe^d^$6|2!;il4Cg;snHXC5S61bD+97(_38u&HaH8REf(R9bdZO_8l%+T&K@Lbfj{d=X(c- z$N83g=cuV~(Z7#{SQVJO`FHEh?p`Z-o_6){a+o9KXeREkX9e9FSmC36s<|MvHM^do zq-E|#QH~46+q|1G3KPyqvD7!FYY+2pgmvqGWDdoYhBDKMOgPi0kEOMD7k;%*K5L!r z?$+;~SU^{Q_rxaJuLMv2Ct2%tsQe)#ik*<@I@kt9#}^Me-(_qJE}}x1-#DR|`yki+ zLu2%7D$rap)cP09?b++&uAea3wG!(R={i?K;YhD;vm_@olfX&Mh$5GxUQC(MQd_qc ztUmkRW9txg698U?4AN)X1IUL<=G6~BI%8KFMXsW|>&2YPuQE{)Jc<^C>{&k1^sD8n|Xh8ik{G@(siN>GQFY;T}FVvM_ zSMd%XS>4^~ZM!-atnfCf`$Kp2r~+A&k@e2rlhwO~+Q@ux;5`I;c@cQeHT)j5Y|EX8 z`y%z&ul6R~kf!rL-Sb$o>~MkWNdxjhEIog^OA91nMv9KMsxphxx~ z$Nj`i;DPB!)gQ;>oyO9Ltj!<83+sB?6{d^%JF@B=e=^&x% z^@pqdYRBD%=zG0Kr4DAg(%;hd8BA~XUJ}#NXpSQ&;Ge3#O)rYjC$9wOGt^ltn1Hw{ zlbI?EV;QDQ<6>gfa9+a)f^QnyixyCML#%n8jXZ7y$vx2#d|ac%)7Du61jYB}3K;m_~DvedX0(6V;23yGXDwyzvmFcmYEhTr6vsy>*E`Ig4|FY=$ z?RkW00=pA2g2?^HHhT=f0Q?fzX5X5w1!m>x5%111?v3T>|>jnN5PkrrevEZ?$&y$+o-7DO&j!dzBzDT+3kU>FXH7V`*$s~bO50T9;UqPm*|<$ zrRKGU%V#$bkfrj>_Bd{(UZkYM7l ze)17JzvZ<9XLoT#)2BW-Q67p@rn})itm(6hA4IoDgRg+)<^?#<;}hqs5)>(dU3XIP z2kXLxN2kq{BeyzLFR&(43nTaBx3l6 z6sB%ZYunP!>}iASPcz3CmrXdNm-Gg*0&;)=q)0j#a*x|F)5_RJf*~W&Ep&oR^U=QQ zGZbS*JcEsBLmZ~61n@e08|zVXeeBh}-cWh(^$p_!(3OJ}_<%D~C~ATY>H|>(Z|N<| zJjAL~PE{yz04id|ew2mP!j*~ojI7aK^}8z35o}pOP5qpig>Nzhwh?}>_yEfB17{8pjH&( zAGuB+OHbf*hl0TGKintAF&8yl9#x{ zqoN$F)TEkk=KjWRuYyI{$c}n8x6Z^h$G)xdZTj&m+IU;l{36<=p$Pezz=6aQeOYGR)X4ZQMK=feDZ}153CTMsUW5wq3cSJs93X!I$*f`yZ@2^ zhe}P)hT8U!D4nT3y?_7Szvm9WVBGyjsKZ}i*>Bm=+W%zV)tlKes@wkT`S+7ds7z$= z@FW=DbboEcF!|+!t0rXz%={1>@@@=)CT8&Khswl*2F#nFmyQ>KtwzAupn(k1;Lsbi z-6o_R@q|kN3>oSPXnBKH2#yI-jwGBd5(X6VayY<#pGew|C}$c(tTAU{h?E*QAV(XD z7MLK4;}8P^2v7KA^CFf2gLENouZ9e%qKe|@U5|vXj};*gH&d|Ob-Fy zp05c*@=Nx#qQr*dm4SU!U^CNr!@cJtmy3MEC{mb9-6}WU!0ZG1=g$UB-}ddOTfn}X zVEHC!QTWH-{ri5I+W?BzBZi>-<4<`37c3tbCo#+bA;V-^#3NiZxI8J~{-1lP=SP_T zk@6&8kQ}A?t7CT(e3>qWC#;_nqAhmYDP61Sn*>d7ybLR>ymKI3&BZde304I zbd!boX;)ZRMY;R+=UTcafsK)dr;wO1gTO)5u8HWqtqq}1ZiP0dzxNBm99+6B8y!E{ zUCdKqu&-J6V0@$yW0g>>VL1EYXoacw_Hr7n*$&E&i}+u`6*R=J9rn>vsyQWoLDsAN zhk1vXc+>9Gr0#F)k+1ocx4WE648rC*-&eeGY6bVkU2gsQ4EYCipkQ+eU=Gy+Sowb# zy>s$=5bw@af7^e6Ni_km#Y=A}h*XV%Z!`Hz2K`Y~ku7Yg?;2;KhQV>tgT zAcE{91~vM1#JbJ893*SSVqIyh@!`y5)PvzShKTZ`fGZb}2MdHr{BraR_D*kCV_&g| zf7F8%OM;>(1fVgP!F*gKwe}Uxut!SuT@4i+ky$I-IJYfNOlo z8{rah&Mv~Q1(eLEBH)8|d`TYnFgVH(!q@F|1jY!T)@&k*B&hPm#07GW#XfKqco#(T z3e`Vxdh+?}aTd(GoERGB%4q2}Q3%}>qiX!*Yi0X{K5m)}Blm>lm4dy}CU>Q(MS9U6 zo6VN*@%!-Y+XUICRJRf=G1L0>q=p0N+vV_AHz6w#@692PiKOgbZFyY?S#B0-=?%j@ znP%%;Htub<&tcXqHTEB&3nJ@%qfR!kLg8TInNCo%F~`%A7~~AEk=_?Z2#c3bvCyUW zx&@tI0<&9udo z#L;fFm$yX(d^BUH($M+6D!fMSyJjV4A55bT5D((x!rn|rWJRF8#B?ckiTc*m-E#}f z3wp%3i?Rw~eL$#qF|h5zDW(LG2;%q+FYj z&h>TzCtrMPTA^vbx9+|L_3G6f4l&QfWggc~m{pWePai1QlR5;Znrc19_O^}d+^Hyb zcX=I9bo}UU|G^AtHr$-MbXA&1GTf_dEvtTKiWpTOUHr}gWQZ$&;;MpS-aY@v#noG- zNTFJ~IM;_H1&5q(zO6gbVj`liv8y+hjx(62*|2Qoo^35^FWw(zK7{r+pl`|24Yd~y zf8VK9Zg-@D%BXhnD$cow(^{}n)-bsTjv5a0SWG=&9IeJ@Bi4p{UU#Cb>y+F9S@6S} z>pn5VOKr?JxLrkPOR{OMw2!P+Vm)`+X^lADYPtK)0tjTMCai1_yGQSQYEtji5qx$0 zF%L>I`EV1KrLx6D5=8$Dg38ND%3L5P*(M>jhAk?CZa>AEag<>vRZH=!t@725{YUM# zf&X16eBVO<5m@t|+(Q2>mPN9KKt=+^ncg0k=2lrm0*e0lCJ5K;XeW-%dVm2>30Bmj ziJ}I54Y@O%A~kD1D>Pf>vtjh@9|SQ(M;!7jz71<(7gTYjn|Vev;b7@xu||JQ+L;Lv zHv_~l_K^d#f84rFQ7Btn6WY}C%pNMWDVJqAYx*-$Gz*&`E+S7;k*!3}^O3jh;-2eQ z1gP&zTWYPOPX{>A4M6FzAlud8kHLhg+Zom3EU#}OSLlA&Fnet2DouR1tV*;M(KTeJ zyL_T%{qaSY>O^iJ+Ciwb@A^g<|#$*&Jrd&bFj5Tb?&x)rh$h0N9h@sL8zQpj%q1N1t(l#PFt#} z@?a^*u`BFeXYfGbo1=%T%B6_g5&HwkI4E!@s4i21 zg6DjPnX<5+1#&U|vqYG!>`H-et7y|}SLy+NH&^KZNs1UJ6PDCCqEPckqMhB)dg6F- z+wJf;PhOBRnJgVyn_DUGI*{enR=?fu$~X8OzHcgg-&FW<0!j*tv6m0I{LcuUl6K2% zy_s*bsJ=nces0Mz`3?2te{?#SqOYf77%eDuO~N3lOr3h=_Xg{aUO=;&c4Sb7U2UsB z(HCevz6rXGdM=uSmrth)?wPi`Avhy%-0M2dO3Gd^4w>^_qVB$$o!q;#3~R?{v)Yaz zXo!K=Xid>uOrF{Xq&hregNhGueRY{OV)rAOET(~Q{E=AFz6NEIdpGJ6dnc3fG8EW> zn2?en?W|Y&XR9PME<~b7zH2!WlWijJvVfMX>2Gw`D za;Oa!4pA=14|pe=6PV@ScXfu9zdy(9cFvt|GJZbKM8D(1cYhEf@w-3hNB#6OpZkA4 z;~jYoc>d6I%+jbZ$=&SB2g7PMB>C7)kj+{IZVrh5I6h7)M0|WzVvoZR?SVn94|$PN zFlA;@ps^FquZ=HBxtBG1#s37G;}iLj^A09$(G}>XeY#u+@l0V}#}uo&j?G%_S6zwP z1bHQ<^qJ^oHw#g8QiK|M55tPaiE`7O=)vcra~bAUsMsgFRJ97N}Ca5rqlwAg7 z!{{npSl9@m3XUlpd;Vc<82rW>f=jn>`nU-)sTwtzUG;)QL*Cfa`x5sh5qPxqp6iboVFH|E`kSC-t*g<1ibb-Zr{fpJmSH~+d57i^ zwuQ&<-WDE@)>{J7U0!DVDLv=evx&F4L8nw_K8MIBzZ0E%5^&wgq&?+$k#b!8PTuDO#lOTDE7W_hK8aJttZo@aEp}yBVZ466ExL zFfxnf;f2k48+9PMl%zt1*2$_vqGX?wDsrJ4|aT ziw*VLW%XXdnNJsosgqi?#M+5B+h51h4v!lD+rc&}(Fz5gM2D4`QX=A^x^Z}aTJkfRbr#*=jI?MR1j9LeQ zBkv%tJ6{$RdT6BQ6&D03T3WJSIOg^0m2WTsWcr2X`Sb+6=pDeOR!}F2fFSYx)-iH> z^FQ%0K9lfrAoc88e_d7PB*AI_rnRgjwlcUa+c>L_Pof#877d&`SRVF~Nl;(6x6XOsByMQ;4~G z?MOjAmBY7l!yFmhB|NHbPhX2pbvEa4@J#m+b4on9|6SQqQiR{k#(RNW&1a{(sOkkV z!!Z5r$g;!Rrp`s|&!^d+kY)dhA-H_XOG$}UhlQuR#HHD3_h4j9H+khXitdZTZ}jd? z9uu#MG?lu#$6=h%vw(`pf|0{-k1xC854ed3(@yGiJ6zbEe!JUWhder;Bu<$y4*i4Ki232`0^? z{dAxcl=ium7_fW<8s`JIVq33b^I1JvMbFoJV!dJF!w7ln92b?mIbNg&6Ne%misn!% z!7IHgxoD;EE|*Sz!9iRKw76d5hKY2#h+mjY2ErENy%j#AWcU%eX0r+wXnM^yV+}zlrY}#wAbo> zf`*dIAWEt{rmtS8ZL8h>g(Wc*ou1paI2}owN31tXh-MA8Vh?nqJ0-=juO%7#p=Zj$ zw!yR4#W=f7gYI3PUv24QRu2DNliG71&6nh)$I53Rr@E*39~<>5joeV6^H-)=Ok*bP z_o~3IfpSSZHGsT=oj}wDjl$sE1_(fqlk)?q)2D%$4bOwP6_TqEu#^nm1mSH*4R#WY zUlLZTBKl)FPU*sLSC7}`Glp901MlA&E>p%+&!lVOz4Lm{Rz{YlFIN zZ$M`Q*mq|pRI@nPj5QJ1l?itE7=`SD-1UbciM6RWMH|nBwkGdDKXCnE{#@xqMQh9} z!3m$WL%(j6{LfwEk}KXYR8t%v%!H z^p~RYZC2WET=ivG^tKw5pBRR)hTOnRnN<|+-UM+M#;nb3f--zo$15QCQHhNQB=?Nz z#MFXC4No*9(ru0}tHfV5D>803H!}3en&l-d4+wd4(&HVWvz)v#Kv^y`#ja_0lHP2= zQn!Ys;jGznyvAd6?m^WX#uxG)@6T0+DQpP#AqMXe*gwYH-CBZj<~3r4R)AcmGB#__ z2t@hrAq~hoQho44t3rnv;)2g0dT?K-?40nr+(L9=7&zL>fC+zL=n}rFS3LCOyFJ0C zRRO9M=QkwY&bS3okqAB4J5LkY=4YFCbj|G9rIN(YhZ9*b2}_Z`f^uy3}sLBT2GAgjiZkQ)idU zPJj<;9}vEdI)YwgFc{uGaZ3Ek#HqL+`t)w@vIBHRW=PkTHbICdM(x~_@c{0JT^9Fu z&CTbIm{n!3f3ZlQLs%)MMmij`Hpd9k5x^Nr|`b#+3h{@E#7 zmGRa~hwMkFIdk-)b~qAKSJ}D} zJBwuE^@c?IIm{sRcY=GWQl_{OuQ7*SKMV|Z9gTF=ki?KvteKb$x=w(-jC0v7@MWw&a4mZ~PKt++rBgunwSag=qX|;X&Ft25a z_QHhrvS?`Lu_SiTKnSl1h1Hw^GH$BdBHf~s&EVx-XPT1gpbp~@g&Q1yccwf!!Z6GowMJuD%Ts+uYH>d{i+@FLK5pYBqyQTtF|%u> z7GaAPkZ+3Vv#djYs*n9!R-{3Oo&mPV?j>8YjC1wZ zwpjH67-_`-M%sJ-Ax2t7g5;pAqlG$RxL-Zy{A>w*o`(0{;Fu-G#Wkoo&aK?(>?6SU zmk<`;Qu6f2j$RY|)Vs+OF@NK}{(DNm_ow$TF87k)~a=P5zbx`TJ}9KcaEJzo`G@i%P<9OB}>m1$HOPy7qdNRV$mO z%#&M#saQFaFx~ssQ&+WroFS4ScQj^mN0mRFyYy*bUvd64frGzS0NwPxOTG)kUpGFW z`2i|WkgtOe%7!~2jf`c9$zbfv!RtFtP6;5g_+wqPA>I3$(E>3uyC$$9!k@FYKyX@Xs)&YD=%+XlKc1GRxTIndl9 zD&oQOYeMpU!$A_a8VUuG=i@g#A;cx*QYw<5o`N3l7~TYN0$iX?fRiYqhXlW{cIh7t zfHs@QkXaqQ@Vh-+(`8ZGtdYH$m4RgVGtBpcp+Q(e4vN>Ys77cCn0l zP~&Yoz)Q@b1Mx0WwoK`&qB~LN8)SJHKcQ@yYBJSbbj`CsnZx1@?4cf4$P(Z||2gn{ z0!8jFOZ#%faDxWm?1Q%SQ>~6>4kN_5-9&0BKX|r-TP-mX$7KIP_B!|6#qBLj}=d z-5FkRtmR81?!b2gYn>895D)=Ym04qzI?14~!8W6-P-L0gl(AQ31m|q_bx8Y#s|4MF z1_uCL)E(__aoi~jX&Pmt^*CjD2k-If% z3mFcYc!*5{`Cv^Qr1J9TTja)OjaRkLCY0WnrU7C%Xf6znZ_r{_WdNS78UZijQDLu` zMPbCqOwA^UBMFRqUBZQED&7PI=YomW1<2h5Jw=><%;CpgCd(J@9u|?dNAX>E-Blmt zaDwzhm91~ z40o^V80t8o2jE48!=@B)&?)K^1j7W|PISDe0e41rUbgQ6ETn#PEr7_h<}L`XblB;J znrvY9K9*`BWJsBdnO}8z4WV>-;WO|6>lw2vTh-!lYiP%+(A(Qr#gqeYHCh##jXaRk zFucAe5|=qBo+wmVVBL*9oI_W?GhzOiZli>`lfPHuM>Drpmjh0G?T7Qi)b;d6a>~MQ zv~wvwm8zaW1vV|o`8miV;{jAs`0gA(b8|~Wzvk2oS1&ojbd15$#G3r`H zhX8yJ0r+V%<-ZvMaFp}FIU`%TloMBc-Q~V~AV^0LEFbwN()zcKfr!|D1LXZx_&SPH zS{|UarX61w{&)a;V*$TxdCVR@Z{t@iyC-)-)pB&%;p!&=Mpm*mfo4_GYMHcN#u2e5lvlRW9 z7|y=(-AYy8q|^N=h5aQZrYkqdCXTjE+5RLmzqB0w^*qynP@E}@L)JX$>GShu5Sqz- zt0!vc<<01Peerp&SA+JDk#md{QD!w<820kZzGRcAW-_RM2*JlPINoqGFfdwTFD>Jl zQf|YjPS>39M5p`soTTHnM^lJ`uQf(0IAm8-PMs2|9wNJ?B1u7K6A?3z<3%AIQ;DRn z5v{if77D5l9HZPhNN&Q?=kH)BmxOTd=GZ%hV3dV$v1S06Te+-oUnBm9TGOpW(XlMeKGa&zo0 zUAq~*&qJ4R0WV))Zf7@RKe%B6xqX|0(k5yz#54D%3Khi(`5#u2w#skp{ryA7e+P>F zj0@^J*XqdHe-S8_jvm|(Snj#NKS*Zly2it~EQ@>N7X9Hh>e4zAK#C(Uz`eUXzU+Xw zJKMMH*AO++(<(VxbG{l-Wm*bA)}3AwMq@^P8OS_|z&7C>dFPM*WmcUDaxUNBMuY`O4Aw!UzVuCQ5>F7f^@pyqA zn6gVtkA010^a*C)B}wg@Q|vr%;K(w+^PS}d8WzLdjq>P%N1 z9@kFll(Y+HrA_+@<>Y@j(Ot$kqLVFvZ^G=K9|XCU^)ptK4e%( zsonN0NFBswUS&dfdMyhNn9ssAlLg1zr#cm%^{Ux2^m;z?y2nsoNtvWl`2^$F5D_^*(zVO{kAEW?_n#JOJd)%F#gxVR=#a{vQ0#{Un1Bbt2ltB zB7bJ1l50z=g{Y%;u3=>1ZuGvUwM*(U}ptnfvg2 zMqD-hMXi+vv^ZE*&+WF4mTi5dPBFP%d+o_(u5+=oQl+n?9fjOZtPnM+`rzh$>_Fvc z`plSNN8am=hyT3$4iwM_wBWUN(&qQF7AvW^pgOr>@7YXRk!b1_!yV z@40YIO@SIe{J=sT0qkhb4Qzvk$< zRlZHCKYs@hgoT8AX%aAosQ#YG0|)H7t!rH{_Zhi$>3O*Gq*%*_6XcR>iWCx@Owv2& z%om^1%FIX^K}_;??LFod7;v4#cL3kU)jr&RuuWd%!}Lndnxg0P<){pBW-o>J0fpMy z<9n3u!>8y?7c3u3dsQZ@?VOQijjOP|Veus7H3R;5d+q8ET#;rCB`i~5##B-EEZptL z-R*7#d^!Qjm4#5Au^SHNC~<;eg46k|CX3dxhTt|kxP39CLX3$8; z;*KmJEa)bXcPXR?$VEZ~$ckSu#cwRo1CxCkcHMFqvjIwl%>95MjOsKOG2{1DAs9uG zdkHPwGJ57>L5c^5NjrO!k{(5cmhmpnl``om;b4^-OhlCyS%u*XcV^79I#l<2Aqni( zNlA>>dKAGuXppu!dl`a37K-Ol!PEN*#b)QU>hfOZf()3~B_*i7yT_x;MdZ*7JnNpIcKfOrLP7e7< z>}m2{I-4pJL8a;Tt4GVYmc9Tw2LR)lLw>he`ExsF%aZ}X_{fid@&2a(wai{URU5Ok z>z>LV`prjNgMF7VsZNt`a-S@D8%1OF3dvx17mklmNn)0gv0d`Qz}OwZ64-_ABFaUE zVQYKP07jg|!zTo4D_qoYZ7J1`!G#?S|2A-F)DuQ`lJIS!l~7K2jwl5>LG8D#*;xZP=4Dqz&M+a zWIg_%7~CL#H^*&9Ioi? zJ|G`X`4En3gYG^M5FL&nL>NI>oEYp9x+a&eW%lX!^(tHLx6)IQH@Wd5sBY&e`>}BP zYA}WVl(>U)XvzxI&W@p{ibJP`KK#QG-V8V2X!|$?yjK~sgI{!vak5-{Uti@zyfRak z$Jj%fUB_M+@<*E$rp*=>e4F+1-JkT`p9F+R|BU(L0;VYD{C|>o=(lq9{Ib3XQi`6Z z%?Bd(H$m%1PzMPn0HompdTkYm=2wK<0Wtc_fahBuy?jYu?O}Ucd!NL`m@9enFF}-} zy^EKwy71$5Vg}VD^$kKztaVtl=2V=EL9=E&mGXx&aHHONg@>Ov9(p3b5QAG1Yetl_ z(}y8*RMDL`YDR(VJScHM19mwsKgWLPAStn^ag|5 zpbFC^Ujs7yeZlj|cupt1)TuRz$3$6+lm|U62Ad!qR}Q6E{u?)}i;l`=ocEo#`SThz z!k-R`y6nNttav*K4RPM;yz=%*+Vjyoy3C~A?^!5WC8+=+DrK=hx7h?~2c9GP7*0MU z^}QQkzW0-}zPqQYSdh1_1TLYJam?N$coVn9R12eBV(-tL-+#kW=SZa^<7;H91H`pR zng6LQ{TnkIZq>9~hcsi!9nzI}K7{Z(o5iO27f63a$FB|#=DIJUpLFMX6QM&_Lg%G~ zuSwoq2nRtNgI;s(e?cw@0^f7O<9f;*V3jj^l`evKfeZE=VW}J^R^PjVi{D+Qr_m&f z0@3Hl!wKdC#lk}mQ->f-gpk8U{ues@S)9gB)Ax@gQh6Q$HG-&m7@WiiHiOP)2Ka{_ zsgrYZ)gktyWfC!mB*OALUj@+jQt={~6mgw{7|*3t$Exl6=Y*e+N`E%XzM|K*2yUU7q&-~ zq)?7qWxGr2OFjR6ll}W9`%lh{|K=vU;Fqarw$+UFF<)sP=jnrN;iv99M%3UBWT#E(SScoT{cuQELXd^^ z)CXCk_1i#Wjh{F6F#>|SS`4<$%P_^S0rmeeO@D^r2R@TNb)xQV8CRR{%jUqx+K;K1 z{{-Ou>bfFM;;{wd4n4!2eRofkgqX*_e%o`vJYn>P)O5_SWn+n(HqFb^rQ{%JlfcU> zM_52NXg-7W4cPIghKI~Y<6#wg zmFibKHbL3J!P8OxyB$m_dN!yuaY_;WY{x`D7|vgo+R5t|HV4>nX8in}QXFiP)A4E1 zU)eh=A}@D2;x)(&;A&~iIx=hG_4}P))eRk~zp3ZRYs;N*X?~nirEF$^Yajj`gu3W% z8eGdDJ6cY9c46iKltD?4ruQgMBIQ|Rn52Lby(I`2<8zRp2rxvIM=Yh_Cp+z8?quZo zocf?MsLH7#u-_@a?D7dm-J(t*5<3wA@bLNJ?y@x`WxP+gdbFHaNf!KAnZss*T*p$Z z9`P8!xGw3<7&@^j{Xh1;1Rl!m|9?a%O0ut`C>0`mStb>dq>^N>>|{&U83u*2hN6T? zlHIgevhPGmvP{{Ap=@EsI>yZSAJx6Ty5C#3d%ySl{r!L6Z?E%uG0*ck&v~BbJm-AQ z`E2jc6Z@PeyExaoRPKRT4n{ZfldC%Kv|PjvRyI;jFQ38EN9S~Bi#G=aCQ828&!cGR z+6a@9qp!qevs^{;Aov^xn*?##qo~%HVc{JYq)Yu78E7mT;Bn*u3|apifn`YYvLj-z zaIf)L?9zZ4(}Cm*BciLB?b(f!#%gn za}?Ox;nCJrKPmztq^w2f*0ZnC7t)ZaJQ>^pKm#7o?87IW6Z=&}ASogkD-}3?yVEAVb|Bhnk-SAOi(oN87_g zzKo$a0BW=^QlP`5z9fD|rujDn*pDk)5H^lfC(E?ux-%)p*LprXln~6Ff6=Xxfg8F- z`I4xBSOy`gP6tHeursSU7AQwW|R6<*Bo zC)W@Ph$~td=fX5am0er|X4o1JxV|oM$6oDcYs=qTu+BZ3>HbVpBoq8f^oYvMQ*4QI zt!h|~>^!mtJ~<+#B||&+jHzhcQ5WN0k*K{NvhF61Jn-2_%r*7IDO{Oz+~|0~)V^j+ z`LRV{|DcF>tCc?8h>FZB&w4i~B;UACco29P@*R?#N_fxi#1f}}N?v6lM&%(Kvj@+l zUjABDunhAk{{VF?@0`ZKl9m2J3#^@R4@3DMT%3sk zIds0D?_nRmznGQVvw=wUi$?OfgSyue&XothR3eH`$%~oxY-oG7rqDn+l5zMCF1GiI zs!4!`U5INpX&)-RwsBbGrX}pdJK)Ld`Sq&QS{^=XzD&+bytp}rVyoU((M(x1Fezw`= zZ5fe{|scEvn-PCT>* zz1gm0TX3|pQC$AmW^HciM42mmNj+QK!UM(<4bm{6e5cpG&{6+{U;YWd{7I|u1%Aw@ z1nU1v_~k#D)6oMzeRXoqVeh#F9+R>=)kl43uwx)Kt0ZSP5viNp5BE;9+t$zQRmDwP zyns$ZDB;9>d0(Ef4mOb7j@J|P_avQeB#WLlpPc}aB#|JUl`}Ahyl6*`G=Sif)mWf6 zK>QkiPW5$y5wL{cgaH{QIFpHe$f3$10DJsJ8&G_bA+j~Mk*Y+MMSj)VZ{vi%XqnUc z&I&|T!JIfvYy;S9o$+K+@9#DJL>9Y5DES4BwC`YN{QcCFZhpdemLRgRvL|nUG)D&^uk(gd!?G{a z7P?4XhOXjDRw6?URU%m_!ufFMxEIF0SzySwBItUcrs(AfBaDygoeVpRqvarJ`?DS9 z+udimXw&;!g)zAfrlTaMl(Y!xg=W5Np%lbz%nOr^D7bQzSwXHRz;X$WlYQQ^!zm{) zXvW5TkIO#a4>Kx07=?5A^r~*h>F!DLUWXCdr`|a;8LG|00ZRsdg<|!(bob4-m%gKU zLkkjEE?0ToC*?sflxt}*3zrtGu%iO#r@d@@wn0ZkDB(F zzIHr$Y>i+&a@VR02}7NVfm-REntj9aoZ6R8o*BNCHzuDcO2cx#@}>tc{{|x*0Y+&> zJ3t%4ay zW~bI3Z}j9Lxh34GMXpmehDGKmYYpjK>|g#M{#YYZ?AeFri($?FS=>`Yuw!m|Ue1G} zVK#)$kZa0zdB#}Zpt!@G+q?yCA3NcFoa3NCug%y?ho049`<)N*1?ihWXkQZ0@oCHR zvr=Q`vW<&7Z{&Xrl>4HMujRq-i00oU%{gC&&A@uV4z;YZxwQ2%YUVfyYeRb@Z+b!* zDu?d@%qNp=RQ)+$Up{kol0ZxP%mee3*Z^$-i`=z6bzV?j(hN z&V#818=CjK_rKsN|Iv>4F}M6DJt)?G)u{Nle&b(9iKcoqkHA4OW)5MYs3YG#s8wB$ zFWw8*n_rVR{>YiXEe$60s{kLd#$!7;W9IKLF)B;?WV^cy6ek|#vDjT@ zIS99r%e;&54m0n%ATES2AJ6UV@ObYkWffjZ6B{&{*!3WQ@LmFG`0(N7n#HUlgA+Zs z>#F0VKhPiJDs(feT`fPxPJX)5{lYgt=Y0R^N{2e~k%z9P5(cW^@63z8f%F%Hc+Oz) zp|(h{)b^m>j#1J}J-Zd;-HM!#4y6l-S%Wkn-&~`A<=_AK!>Nvnqn_%!MyV%fma;8} zE$LYn1)tg}vZq9F{o}w5^4eZj2VxHLr3_^65NiL5LW5r;VWvbl-jM~u(9n}szUY+N=g7&5vQ zHrU$G!XfKY*sXgtu-4rI%6d)v!p7`2?;T#iY|vHyV72_%i~S6@`L7PQ(c5-iqj+3b z%>-Fz4t-0cRWoj~SXQ5`<(_mbvVd>ApWG}hGf!I%q+?bD(q>@8TIX$1lUzm276pZU z5g+!&z;`@r?btYfrdKQZDOqd;j*3iHO~$thW^X9-eio>7xS3{bcBgY!g=aBwY-ntn znK1sar!n!WaDMn*L6meH#V+=+W%uD>gFJ*R@ez=FYvpfe9ptD$ujir{zmlYRl4i8_ zDOuA+#ceRX9-wsar$J1tKzoBy;s*zI*sup&k{gepol;3H^s-Ntckh!U#j+{Zm(na4Dy{F^neZ zA1X**F55Gt%S+bCC&Y(;NNDJ;qov!d{w}6gN&k3KGp#^fk-6XVfoW#1_J&H_=qP;C2zU(|DdeOhpRRV*3OjN2BlqI0+9CUfSUN+@8=IobJ6EQOsmnqO+ z*L!zQueST*{L+*dF~gqYdxNXC)E)=p7!(O z>-!%B%Et-alZ{oh7KiY=VdrvN8SEF0SVD8$wdFJt`fddwCWSKT_$?lNlaQAsFR^*g z_x8)+A}-G|NO`O@lW{gOI~@MAPKS_F%pjv-;5_@aD~#? zZi%>W*{ai{!9J9@nMLlIS3C}R1tE&K;I4CusUDKQso}M>&4bC*^{y}1F(eEtYZG8K zs%#bV`yOPi#rYdCTG;W(w0pD#DUQ%xZaIgnA>l>I)V>wSfY@m+vLt#9vUL(mT~qKC zML$Vl$UJb~^kn<7g3=O)JH;`KmyM;?z6}gd?u|Zu2^-6amxftUre%&OFwOJ{8{yl@W72~ z9Qz)Z1Zyzgx7>7*@fQZAA3{~dj@#$J2*9yL@88QPR%g}!2cd}%O4f1F7fjx}Oy=&A{2aA%o~P>ss*#ufOKMM zUE$+C!-;qr;aCfAOw5{NG?OT!CG25c_KE9Su8w)8Yc;$3KgLKc&gWu@r;(dLHq5iS zWNx6Xs_QBuZ>iV^!k`GiuWk%klaG9eumbK|Z$UOP0N`dw21|BI01SUlVFkjb`E}i> z4^STDD-Uy!$1)2j#Zn0AAe|;9-DV+Yq;>h!o!M~T$>K46@_>*Uu>F{D{ekdR?zat<7w?~7edYROC9^xh&g zkW8G*nKXm3k9rV#O(s0mO&28Ny|?Ub@GTeXLwqCKCd)UnZ3_P_**4M16)Z$0ZGsaT zr(;vkc@3VS?sXz}r0JB0xan>9FkYsezQTtH8<>==FR8pHhhjI{HkHCLs8NL4cH+$= z53A|es@9{tOA`Ytkjwd%oa0oHF2o7j_>wCILA?Elo0{kA-^N$y(yB-~V1O5ish12j z$PvsB8aA@nAD-A{>`X&E@^YLn+j+y7ODoeg;b@8D(o%cr_+8XEB#QjW+icu7bQT5A zJ+%p{i+&cD!NbiTxKU9kG_I%0Z}XFq;PIYX9}}4x+~HyEQ_SHT)fo6Usb7+Ng*o_R z6Z3ofXaRyARVxoY7q$Y?NJErMV$ruljx0TZ6(3DYZ~L+4e|+8>q#}4gdI|uXQvQyr z-;V%zPBB3&6!>#;_EVzD3S`@6C}~h~2Aw)F+D(%F@jcV;)U-suYmCO+&6C8%hY#a5 z1K)Q@1l}3zHSV6`p?SmhG?EBG<%xw6(}wmcvknv&Fr9rs^5k474c_lTHziyF5uFIV zuO%unjA`r+PK9TiYr`{4b==){K7TG2XF*ILE(6D2cZV@&cc#p|JgdFlRu^9&*>rta4CBugKT0 zjc<#zIa!^VlIVNs9#hPzG6Q6gf0WeNgfEW6xaBr zT)5>g3)jN4&uiHvaGCkIyk*Xj{(ec3{lpnTMKG$lOn^0R=SPgu?;V<$S5+=?6hKK7 z5becTRyqhH`%5AxfbW2n5g{rBHNyxj^`8R6PUcZdNDj}0d0;osdOfKpIbWWu_Vjx( zbNEOt9n$aM)2`0fjschf>RZxPr+#=WuXZH)})Fjc?B(%Xz4G7i7n=xmh#VNaW0}G3-1EHbGtsWf2aghTikrP9!L15iqd5rsf?N0aPD|b5QE{Zc4W>2|Hc?mfv;UK3_o z>4>9&Lqn>$=iG5Ba>{a!=~0hi-NI)qZ!C$RWE8F6HOMru2sr#;%2l5?LjG!Wg7Xt+ z18L|s!7;gkjC7mSrp@KZ1_a0HFgdtE`(wnObbBq^C)tQ1g)`f3`2;}%=35B{El3Ws zF&x)o);ae9#cbCdVUiNzGCJ_Ft78!J7EwQoGzbg7{Qu~3_0z|*4J#La*T#Gj;Z+6%yV9H zFaNs$p1qB9aZBjBWO-jMTniZ_9Lt#!ExnQNlek7$oat*CoyY& zP5A;zvi{BzRlu-U*K?=syds^(nceU7o{Kxoy12#BS&r~;Hg@%sAnSB1Ae0l6htHUV z_L_$w**qe!ETW>toLpOrxNz9IzEscJrlu+Npl7)o*l;0r5(mxObI^!&Dg|lv9Vc}5 zK6!d#vkasqwyH{Gm{4zPi(*&ZV$VxWvVsq2P3G?2eJ|9mC8_3W^ey@e$@Da$qLE?; z4-r!cOvf>E6Jppkx{h|P?(BNUE=;i>3a^r}#7nK)tL$plwp!HL^|sv<3VMGtup!j& z)&gyeT}<=!1G7h}E!4$dz-gLfo2(9R@lHGY=w6()ivMuJyUIZ;;z4TQ3S>zFM3%Fe z6p_U%8IiBd!BUk5QqeiY0h4C@APWijoet*%W1RhH#g4YJL+!h7dM{jNq}T1+XR)`j zpY~N(UKlQduTDpL%m8I8V*@9}`dZ!q4{?N8FD;_LS>bsPs{| zp)qZb3v9oA5+cQXhhDVy(=|oP0)rE1b|PB$wWF}Lbn^oZ+N(nh;*GCpC}M8a{emR~ z-OxG8_Sf@Kbw321Rgvdl-= z9LC)D<>gE^JS!%0Kt@RHx?8}gYbyv(t6&6eDj0jT3)`6;K2mm$DNuT&i^}pc2JAIz zhyY1qKZsDOzECh$iNEbNLiGpQb$@At6l9GKu98GwL|s$v<|jjdg}JxLGb*b+kjpL6 zsZfxQ;xwnTkiZ0b<-ph``nPsoI2Ur}kvu-9G&-VGGp?GuX`#i+p}V3W!$?yw&Gy_i z^NX=e+mErh5izA-Z6`qxi- z*4>gp)X4xiAH`up=(H?chf@hzU|ZO=j(Nau;kE4X0eHp;KgK(?+xAfpC0o7l;b9xv z#lq-&A+&v(itkHX1l!dkv6Ds;1%U?@q2>7z?23ZpdmH7_jP%pKvu=EajQ3vvnwOd@ zU@spizqdj4=156vwK<)GL5mmZQd~@NFYdJ-FEAE+UWY-%THR5B6^vcz1j5{y#5T9$ z`uh*$EU42$eh|HA4uzcW2N)SN~sW*CUwo6D#YxP^`OURn}8FjhoM$J(IfET3s|w z@cts2jW7~kW_XT3Kcdm*&TtrLmA3|+51)BCqYkm;nr+n z7h|`H3Dp$`P6j^c1yney4~WE-r-9zh5V+)+b0SA_8!1bd$zr0^%~7Gy*+m#Q0yssf zlQ14wDL|j{%LN+Os7Z7fY_@BNO0K4|BWq3&4pRL_Ks!=Mf~;@)km#aQ<#cBy@dTxS zU_j?)JY75R0N{ZV1*UpAa{px)bcC?@dQ|d zHS1ZHmQkR2peb(q>M=DJF!iXV)%XCvv#VDQ?jWYDKwv;x2R9)msJ0Vgmy667$Fbxc z)NbOF6^M!xZ2ARsP?Nk3$_^WuLV{bYYLvVEq>&yIR0?pR4uXF1;;TsUskjg_rS;Pt zaJI|34Z2f(NNhF|z-~Fb$3dQv;uQ$E16c=ZM{J_>pqJ;JL8mw( zK!+w5LBY%7Q-Aj5$FKFj*_U!*d0x&q&1)jTI_A2?#a?P>npk(g@}czloZemhz-zHC z=HPa;gUa)o^$kZFO4TM7UB}Lp44cUkM6NewH%feY-uM7AJT&D%-&tmszSZI5xWNWj zlW{_#0a8WjfDRfT1g2lM&I4hYczTAZ)j|4mQ2w0Y|CgENDLEu7S?^U&eSf-}t0Rp| zKsPsI@5TKCaNf)eVkyo#`oeC>Y3snv)wHrw$+}KlZ#v;vKC(vpT{hG4&GkHvrQw_A z$z0v#AyuS^{@j7`-Bgl=+>18Om;-m6l&+2{qHXZ1sh-(hlG>FOw_4m})$d==;ETlV z+bGtf%#zVJ-p}-UdisHkNeio;$S(S!r;(RKN5$^u1^(!w{iAp%VMMMK$kxKt6^MD| z@>WbdLKJAi*G^M>ksq?n_TXo!YFy?Y(Y83o^|2W96FOYCq*d{GY&cjgVTkXHQ_k?= z0wt?mLDUbK7(12XVW`_gBXkJ8Hj3T2(baxTFa@$o3tOd)`nKk(4L2n^qIm!Zu^56D z_@b6KJHBn0-Xo918rFN;kc9+yENjM6Vt0QS@|Xt>v%WSQ%6q&mM5lQd%mI`GOUUJ1 z>yonQZJoPMiQQO!Bx-thafA+aZY*}(Y%Sh^ymev5#B`rl#<7$$>3tDClMIzAx)0~x z8%>KnLQ4?AYP~ft3A`wH+5Pqde&WbymB9RJesJ}0Sal2XnIMK*0b9^BP5)AsGsyT# z!wiRgN&NT4WOsL|vg&4f6&)uCgoMlKNaL3Is7*Jw?1$_gsEVEm{pZNDt)UfbI}s}P z$Mj5zt!FyB;B!G1Wzn||)t{L*c{FS>k5(pT511O%b|1SbhYg>PFtw>Xd|IiA=gLw2 z$oc0WM9=7tn{dU4gh(pOJkYU&qp=ewwf5Z5^?8>>|4KeQwvmUd1CP3*yw`g$N!mfX z&ktlYi_r?d2gity$_M0ICM&k$9C{I32A{VwkHs39O)Qc+Vvbs|^%vWy~S%3*uPU z{9!qz706~gY4fVm^TmeuBh>|h-(3|PnU$OE%EiNR9z|JdnOI`1Rt$A*4@Yy0$i*EW z6vX#0!ft1;!`BY2-`zHpUp3$96h&=1%{Ca)z;2q_XcsV%)d!`-tkN@zhyb&c)D0k3op_a{b>`2X3`m*iRVx z3BAfyR!@^h`OMsBuD*6HFflSoEvIsm?djyLukYxVd!M8~TUS?oO!L^?F7vChV!Et$ zI_dponY2>p&!0^fPCstX=gjEk(^Y5qAj-OJZMF1)oR+CG;jz=ld%OHJ78;vt{6M!T{40I;a>GOxs ziKNOWR$-H@8ZAi?L9l1h(*X%{S*vBoy?aRlH6Iik&Fpu!_3o|>cYpuu3FubjG=PaGxZbN0r+D69KHqG}FRsff|VuT>OjKjp_N28$YG zbU|E$FB{n5BMhlRhc*o?ZC+eJr;x7!0R#l@@shZnp_W%5L;^Ym@yj{opFg5_e|7>G z9X~ta`<+05(Fvm>e3~x@&*m+)Qe@F=_yc>1n4Ann=Y7+OfGr&PhZ+|?b4Z7tUpsf9 z^*@wJ{--hhpYQW&mH*if|6ToX&(c-uq@S}%$I-~`>vdZu60SwpRckGkyPaGDp03Ch zh@hNgG;DDNLKyn>jI8%(($62De|~nt&rbL>Q~q%z$l*$A9#dbP4v5t4mH?825hj?J zWaziIfqQuAA#$_;O;1R8Ot#q)d5j1H#1exC2FBl(%fBVB|G{}PSHctOAzS1G2}W5v zagCS`gvLbV`~r%^1i<&Em$+i76a5>KTQ*Fww>|Mn zU_^A{WJiI-ZQRz(TOL{Ra*OBQDGSjoL6owlfQ9Tv zb^y+DK~KP+SE{q0FtUJ!Ehq$xfYzkePmou0ZLm>}4CD|B0AoocNm2tAQJ-L~m{@dy z`AP{z_9WYai^lFDUx@*ORwJw-ifFvgoI*SO31*8^5Cy=nJYk=&YCiQhUAg-R4W=RO;_F4Z#LTQb~&&O>$nL;qKZSsuSZ%v$$vN6a#1mP#vQt>xaT*s(QG ztBRI3wka=|`(!`kU^pwkJ*yf>5E{@lj5)}>)0xhtfiY5!@otO@q-uD^L9$MeyN#^p z?ChNLmXamreT5*IFji0{1icYHuPi9`&ymdvCd__Vbsh)eb3(QgB!d%}j{4@Uqr+z^ z_U{+UgIlr@amCJ1;zj4pM7z8Bjoky+b=Sv646j)~Qm6)t6#L$Fj~rD+>m6(a^3eCk zPmGVIn9+q$EPTSRYxv9!_5XEZ4pB_ABhS50vp%7vxS+UP(1f$4OOZIP#J?-D@p7Y_ zO|_9~np@tus(6=UOK!{P%s`>jqsGP)Zw60!C=2e*R$bpVFP7waf?)l`$$q;lC2$ies>3nw%(srXY-g%U}U|Ey0Eye+h&b6s|x>5)LEN{KzH;=fwfw zmf~PGWEN|x|F^%acVk2A5-Z@v=uxow;K~!lp~#`YIRev-9F;IBimDto(QK_rPQzm>dJ7dTyPLIdCNSLL6Q+W*AU`X}+U^d*47Q&_#S zW7u@e#(7)qZrAIfXTqr*+6EnZhufUz_j36d_B6RXPqf?`CkzWZ**VYtTGp6yOuawO zW5z^!goiQhYU|*ciZz5pRVDn$LY@3cqaC+X_9%tC+b_5JuX{cncl#bej3K$={;Dklm?sNr&h6>CAv z;ZQCTEOVl`=exBw z%;6p??_Jgy7xRlIMjb7PX^G@@*k1rY;w>+~F77E?v^S%5Nf3UL?t98dNDH@xTh`{j< zEK5wd)}`HJz_Ai62tYn#X2IHYv9u zCxDpoD#BgA(?I`Ej}eXt0MhXwgi=WnhGbU@!76%Pp-#A`%nZ%o$ zVR$gpuIMxu(iXZj6EX`NH*who%LbFQK=M3J^+1yKJu2-fcabB_ z(3ik9Gc=nd(Avm}nQO~7tSPZ8xoUdd@#2<#1xi;C{N^EzZhv}c| zJ99~>>xOeVt-;&m^#o6p7K=E1D^XcLhJ1RJ88J#N-)| zH1VMG{OGmZL~D{1Ciy~hV#P&PAZ{;U7-9T337HOU*=-qrz2_<%iD>cbh@+KpJ9+nV zoZI!xMQsL?g1)0FewcvJ?huK1D{y)<&oM?yH>L%}X_`vBnXzxrX{L2_{H)6bd3wuk z20$s5yGW&j5i#2+xfx(lI4}XcSrmvEC?y3BT*Tv{i}RHYQIjp^)W9MvaTCx!X)dff z`>8RZm&sUg5HwAunjo=VtNN-UIV5R47C8V`sR(FycNB$gcjfdfP7i2$X0pRiu_OQ84tN!#Y;K0@lsNmi;QYg-Z)Gwc|?W>1t`}u4?`|am= z`#4d5&V~PQ9&+z#2YPB~X3E*gI%;o^NKUQl)9tAVq^WoEy6(!EiId(;%v9MXr>X6x zk9)PZjwpJH7_>vbR7_PQ{6=pzH&W}oB$^;eafOjs^Rj^A>YrGG{-l(HmLWhR5Ip$c zxB1UEsQ6*_&Qhzb*UV@r>{Z_F!r(S(W`l$A5@iNAJh6-8^`YdsjZgw#tQ`(_y69yx z0L(aLt#y8Kc$*qN>vnP3`DGJ;UA6WWQxkXZFuu4-ptS(3G59vj)iC7>X7>V%TFS#A zysFuTKXcXx89?1?>!*?*qa!yQI=+dyE7o5`ZKAr`+?9wchgE@Xl`KrKTWfp5jJi7` zy@OWOW}*3k0rXR{s~Ktlc{KqV*o zIGeh=I^VG898_6Cqp8fc@kY>E6;-7=+xNvb#d{uB>$}ZR z?PP||`IV1wZ(v0DU#I+hJy3ib~BLK|I%E*dwa z4GUvzM^#>~-TETjWg|N;&bhbinxM~@oFFTybGJ&EHlr;f$QH{n54RIOhJb!w``HK|5T8lLBlH- z-v}2OuPAMTZbOo!-s|0nWy9T${@adR*Px*j)ZF@%r%W@Am_BqYK68vq)i)0fR~5Q5M2iUtI83S~q}xBrG^T zi>+hvkDncHANOOEQkHoX{lU_eCn8GpoHECPh(&)w;Y;0?svMS$ey#mGJ0#neT@I$b zrGIhd$m3_VZ3kjxrgQ}695HFl8T9-U}?zVb0H1xAORK+se6(Au}Kq)c-UE4t{OO76gD= z0K>@LOR(rvD#yqbF;ch!rAS6@Rz79>nQxCBh;W?q_9e|gkm)5lvd<3}iK zBr1i$=AmZKJ#h6t=rhph`q>)T91YN@Rp@@ahfN41UL+7m=IDD);UD_#<%*HQd`2cBQ>?3*?J> z4S;z^yWNAY#u^!EvIkq4Ht%iN;IRVva?4(R@Jki`V}v{~FL(nkg#iwxDZIeWoR{@) z*@=8yr|_+p6Xa0gax0Kc#1VsQPE*~K)IzP`K^B_FG*dL{f&pG=X5!vdLt?EtfhE%2 zD{g8M-K}JK%V`syPe^cp{lq9&=nu4U(dzWc9Ga6-YW%#5+x4w>RdEQ@u~wtMIE|m) zY`c(5OB@>1(N(|Z=s2Ibp`boT*xu^)@x+Y~rB_3pZe{{F9l`c0BtK$j=IA4d+=_xN zg-;8vI39hni!Gpv!H3@`&!M(VE4AB;Whg30PK9$@K~dLzc?{>nh|D;v11^e?>4Q=F zEq})6;=j>@Y#$+vOWK{zDikhAn=ro)f*hVxwMXjT>aA z+Zn{aD2?l8xRo)*q18BcYMr>2iVi|D+rB8_eXe`vI2%u1o~88Rk&XpH|4XzFIq(&^ zS^W+P1zqVGN3BbWuQv&!^xpW;yxLfGQhyh~)X|4$Gr<=MXJ73J^csnH)cp9NP*jKS zy1dI(MUxMR(+5g;b`{~LX-ndHe&!-8^Q0c*1X0csA1$AO#3xkk z5+ueLN#QJ*U5tbc7ZfeyS3P)L(OUlkCRH{xWJA6RER2{rB#8;bM$o0I1KaDwBy5f| z&$tmgBPmKjNY2>z|3>A}PyU*P&N~NVXLP~d5Qm%-Hq{4)(7$U`{Bb+xDl3o+_E1_f zJgeR_y~TYn!pK5df{SmX){G+YGB9?2FU4N{lH(JYTUfU!P@2Ic6_fXRu{hePFV!KM$!E7bz($I;O-MZUh z9k~xTEXDPZFy}-k*ACn$n2lf78g3-rETpNF?m-&8CvTHS6D)8M=&-yTv)27>)tnhi zTTqD*c;V2~=&EjplsxAeJ^K|1r|OPwV##>@hq(>>toBhcJWEv!rA|uM_&413;r-)Q z&|a(M+oSJGIZ7;&m*xD&@8_>BaA4gGWx4a(pB+P~i^%HgLxH)*;%N|ZJ8?mV8FImKAbAyCKKXRPfk z9UOXU$2dGtO8rEP4By$g4-P;>AwXo&$Ey~}6?AM?3ER6YF<>5ZYO;0zn{n8K4G8n0 zN}BNshOYO8C4ricY+zPpOfyH4ibwebH0P=xWW_1cZhtuE%ce)5zZ=J^a|7ck*|ybW zz$f+5p$|y7t&Wnayc&3{+*})wp3hHcF z*q`a&SiY=3eZgsNqF6%GF|F`v_#p1~`o}02hvY701FN(NAM3~%@r0mvFSOo8BJ#zh zTgDo7bAjLD#<|9Pp`$%_%e~7M-W{!R5Ur-$x5#+iwTP%-MH;%*3L=J?p7GA z=AP#_urRm9bj$uRoA|>~V#WthnVV|50W++xq=p&c0T5M_r!Hv%48wa}6@G+9a$F(6 zV`2fUc}i|f?(b)D28oCZ0BD*QN}@&qi=YqAZzq@s=}?MqIyJEKxz{pP9Z2`+AgYe> zSFVz!*e|%RS?*UJDqw5-FL0ju{jmy?buc{_Gd<8b>Fk(NTy*^$EK|y(8@cVwXkWky&R2CO6IseLyW!$mesWsgi z)9^#WGYw)iega;5w$Ew?<;|4QW=*aEc?Y$Lw5{ZJ0B_+Da(CI&7a{eJIPn|$9DbS zR2hFoSn>hE`7#@C&K~_21?OuJWmX`@MR% z7-A&I%$G!h=(zPO5VnN`DT~6h#-(!WPWWd!y`jt|b9gUKjMB&*Z63zEeo#c;kb_?9 z7b`FEb}ZN{`_%ApVYf3$*bm|!CQ*4R;jA}F`8B&FLC zV}JO8QedTU2gVKGgPR{F%_m3UhB(t4TyQ&_riAsxHy-1Xh&+{ie?}&8A#Y@`sD7ep zenJIW-ym_MYq0KkU$4f4GyI9WjrlWGw1#c=PMWBU1gc^QyUjP79&6$#J>ZBtme-sb z<15osS>yxu0pt_gBMA2J2#HjM(|+0v=Za6%?4%VS)Ef|saMxs=!}NOX9C=Ef%$!l$ z&>YEnn0q=>tdMInZ4(1Nr(9vEF*0ZRv_tkXoai>ICYNu|xUhpg>gD4(Y?R=>C*_8D z=*j89))u<1whZAncTd9hOpc4Z=PsI}bi}hi|fI+S9_spD(>JOV{u2;bi+5t)sL}ipn9Fu&xeISwhv>x z)t$eY@wsE)RZKYMC9oH{)21QJk|`FOxtTX^N_47oXmA+Oz2+IBOMK$)v1xBeljHp% zSg8?E%?8c70nc)>IguSnOo*p)0`@t_0C?*f7J!ZhlCzwD4s@O!z*(Y^yyG{uVS`S( zfanDbU_u})73ekV-zw5S1>F|$DO4DM2b8>nB5{FLyejoG z?IMyy3!Fa#7*^pAshr}Ka~pJ*$w&ZXXs!U8ldK0M%}=DSUQLrMZipP^MJ*D+vq13` zPRLPnpx#{rULEAIkpMc|Q5Gnb4hkR;iDw=Ib*&t18azHgGDLuYs8^L-)U_XJ#rW=| zf0VZtV|mEO?lkajwL_{-eWEKiZ%SKPnYC1vbX59OKFdMRU~SfMf$h(eL8Pl zio;-J=L;O;adVGwE#j zPtr3>-)Bv9)z;SjLmBCRD*QJlsQ4`L|0bZ&%Q*l!{B**6zIztr*y8<7K+2RpD5rjG z&-0hR=r0!@?+rXp;+=8s=52UCJ=h^rmDAR3-Y8z>aWc=JdVyicOlSGvnchASf$znU zprlQFcWYy_{wrvUKiNJF@x)yGwZArGUqbQyH@)LN^+`bqPfU7`MjztJ!|msA(|T0g zF(0PHBxhax^!C=PlBRY3J1tvpy`9f>7OZz;se^7x>z`IyK5)^~b8QpDSm2&Xqkfgp z_t2}VTeQpjJr}MFPfan!u(Z=zbl)+VbStpNC>g)52&E*PFXq*~y3G-5WjA<+q7dYW zO*ujmTd)fqwo?_lS>$^&J;-9NpQ8vQfvtz0GA%fecvInZ9A zD5%G+mT%A0DYg^kWxIQlx!*=zyqn;U213Ai=E>dOP^&B==MS4kd6t zQbJpU_1=SXu}T_BxnAjwXHvsXwq3E!yk+^aEpo!FZ9{HlG<0g~aw?G_4Sq~02ENO(_9q%j%A5T z@-o=|Bi5__dQH^NivKm;lcs;_cvi}(OOW%w_bVavl_f(8dSV%_@*S6vb*sRt9A19LVv?A= zFPOf}d7!0xGy!!Dp_12oOL>2H!0pteg{5)L{{23~!-Nhgxeqr%x$)!c=zn8Q%uiZb zvEK&0epiq8&J2{lxR(B@g?F{`CdTTq<9*%6*tacqp6hj-rMZVA8uV|3Z&E+#Y3Gcz zkxT2{DOdK)B1VDdH1J&DFwIqiiJgUGu1+AIxJT5_w%nVDG35nrPJ)EE8=#Rb}J~Czo^L7?UA{S1$arC-Y zVE6SFHbJJ+{1r)|gyrX6AEw_G8Q;nqidb0cdRKUu!CjoDu|xls)ls?z?1Z@nLWr0& z=#l>zpJ?PZI!k$@-7KPgjm4yb;ic~RJ#Pd9E5eCt1f`luJF7v({E@bi<%jV%4##g6 zEJm;-Cf8X!R9UNQhB3qZy9U4sb+3@dsHJtI*!c$Y_XXd}`T3TGbae&N2W>8Y44r3P zft0{*{!i-9e@)KnALlOLsL3&~SotJ(Dpe|Bv5~E}nf}%6TbYM~x25OamkBN|xR-ZW zvzZZb@Z0;l1>xI0Xxq1&C1Ni3Q(qR9gx5G=`E}iP@EvTmd|BmV`Mf>hJhf$UM~Ys< z<6V*dXEwp+9QPotmv0=;95Uq4+%L`uCCT5aeB#@@;}jt$H1#eg9SeoeXdkpnDVMK~ z*D0f4D$e~$N$5b$h32I@{PMj^={yZGm;d<+W}U0$$HvQlCl9`UJym2tUq@T-QCt3! z^SoF_uH#l7Z>tNy-y5@#l@OP1k!m-C9XB{()O|>LruhvmFzHR6pxjelB;m@&DqvpR zX5MQYW(8dr0_;6}U6ZhB-t7oKyj0l?9p=6A(Bztq52PWb$|D5lwLLA4gjNGXoY(X6 zj!*&DV#6861tE+WzMs^iM{LaOfBWKz@v+5|>RacmB(EcdP0+RQ2}j)_!F0Hdbc>@> zpB8&q+l>k}as=ER-U;vg)BOA!)8NP2F;hW0Z)luk47>o{%@M6ORU-)7T^WR^CA`!O zYbd#PKyA-~`%wq{d6zd;G##zk93+!i=&Wu+(- zdF8jq`ox|~_Wk!N`thnI{oC-zqO+T*CGY!=KINuYo2eXp%DW7&B29S3SMSq6i;^bp zxJwV5tQ$DyHO41 zbhfc!I}7w&mCuR?c5RP7PU7T;RwYanz``pS+eA6_>>uE~stniW=xj}y6IX-<$n7e5 z+MI~d9<1aVRoz|S5W#jLbacCN9gl(T;*Ei*JSm4XJT`0&%4Jm0a4n<$5}V+8=Ir$4 zW*1Eix9oUtZu7S+zW;mY%i~g8NYs%XObR^sbPVuH~g?5E+^dhCo{ zQ+%9eDOy8III;jfSXr+$>1G^XQ?cveGJWNyZK?+XFEC#}HFp8g>!P76FpW?kru*hO zTqGLQpN5{r;ONqy9oGqnS)UvcbtjUsX{dY}q~>6sE@*KwUr)@c{lH7!e`9I=x`)zg zdTozpU8{MNJ?D*9%a47$@3;beMS3^pM?t*UXV9{T(rhL1gSPcQA%K+g4YZP@7FHnh z(~>iJvjZdK8#|B_{pRmX8>^?6c3cPibsh4iFVtKE({|(cXD=|kN~9$&?q(9-lYeF7 zeVT;esX<5akzyCaa}oE2+=ZAs6g-*iY*d~HK4*5^LYoP(E^DN6K> z|2sn>8;xHKl^`46-=NX8?rg{l+Xe0LVT)vza&N8%maDl#+RI|vhewLqb5r}zT@Nq2 zkGeH56yUF#-c=Sh#87vdkVd(gcHgaMtgCHW>Y0YwN!=GNu2oe~y$Pe6@8#ahwGtDk zwY6a^*QRpK48>>H?XmFI9O7Rdpt|>xcM>ekHW31`Cbi-Vle7&@f-*6R!muM#e(c1@ zl8j!}&UxqJ;2r@(mQg%S{H&-nHx$17k}hejJ#;ml5Qo`2U{J>#0>VZlAtJ}q)ec?4l=E&nSNANAGpV|)7VRx^klui)!)_LJFQ-38s<{5EA))XiU`ipQX1 zAe!RvUN^j`#2%ql9=J5TNA`qxAP4g}v&Hpww8EDI)e%jExW)g+-gkgCwWR$AQBhG4 z6=^~cP!v>|5-H&K5|zJ@Rz0KtDyL{1`a;<7(Ez!M&3^GYB(s zB}Lx#R;E@bydxW)i5(2vqqL5@$c6B62lkr;zN3Le&Ti2@+y?u zF@l@(&=v*p=Im{EMVCH#tgFZ!8wwi4X$Q`e_(%F-T6y8ojgi+(X&!L#Y}Z(UX46~z z=1mM7#Mb{4UiIHcU%xpze)A(P*z#?PR+6f&cWG8ji^G|8Hp-2;VK{EyPllp6Ds?^8 z{R0M6WYno7*)A^}^Sfr!j{0@&5D$oERD1PW^m&A3V;X}avUIx;@Sxlx zxcnLNItI8x^#(atpw^+%M-bi0h-Isqb3<5C7;+zG_9%vUW+ajDBu5tiwp^%tj`i{T zgQGSBg6rP9H;fvI9f*BV$Ixe7w(GGcs=NC1S#8up1*wpCSP;5lBkDCwwat)5<6H|> zLA?-+OVv0;c+OW~#;|$w__40|U!_3d3kB9vPIh@p8E_+OQC92v3>l*a_y(JaA?{3< z7$kW+LWwKU!0}lWZ~n49d474+euCYSf35(&gcl$$Tc%U0+rV3e0xPbUANXUYgJ@2I0qfacYTW+10`y}S zd})e))1+pFC6Sasjzd;hjtJlr??nv0kY9C-CJ`@wv9tAp%)_vKAjhv<*sL;OFkc;9 zn^YsmfnOsH_8x;TIX&!yAr_c~s%6;RhoIT-3|`OflPG-Iwin+?g>-Xqf= zYkUan<6%j7X!c5mDL_OiFP7(}UP+)He|Rh>H;R{+!*`%e7;whM-8C_nHJnFCeJQ(D@xaZ+?m3xzYc-l}T%phh60Dbk z9B9%!x9j&Qm_*4O;)5|Pxqbw_&77w zr0JtmUeB`EhE^kiax<{U@%@{+ZCSpaDdr}&2}bORyhV5HrjVBxyy(s0HiVE={l*iv zy4_+ux1!{CZKvuHa*wLxc($B|$j?O)cYZ_+t^h_BV*7?AfVT;8(PY4Ij7Md`zP|hO z1dwa~?2td+2clo zT)kG})ldEKp-~;xQ;^)HZ=ZBwHth)Z{tcso-5us3VTg?WhL1d!kqR)f z`og&ey8EXJB0di4DOou%^x!Z1>8KWpE}onV8F=n`GHxX|AA6b|b>P)ztg8A&7AG3$ zv1!W!f(~xuDn8(W)hUjT?Q(gMCPjs&mHF++ldAT1p%QdnWtht5fS!P0NhNdJ)ekYE znHfi#s!lQH$F5trKMuBQaabvV8)(^C=6sdg;PmY9bcfnK)oG!&Xduv(WKp$DSJHGy=F2X57Y>T~@M&Z8m zL)eEdi52kzIOkv+NrNFqy{9%0-22a>@8pcdC54p7BA?7}eIzbg;bK+|WgrP>Sgtv7 z(3QCNTi8if8l17`vidN1Y&7^Ch%DCLHjLcsA&>izh3fBik(gU>OsihndH3VH2LYS;GtC#`55OLLo)?sU8(!uA89w^I@&k47%KigAWdqU8*ddNV1Nt3 zSU-w5bQ!M2C!4#w{LQ{I^HvzXVMQwWE2~^(`-d@A3k4MotO>i(kw2zWQIlmH^bi4I*2wcf{Syo$ z3TpGg#xgwO>dX$RYlO6#e^qbwYGi%nfmM8nuE&(zxRGijjbN{SUc z$e|r-)yai6&f!qLr1|NaxVpkb#^3))K z{!eE+fNG)zSUv`kl!h?E`Dls{FNFlU9oRHbszllX3UD;pJlTp_W`L~$W62x9C3gh8 zEMVQlz{rtMTt+*^XYMn^`!i(o?4AI5t15XNv;rt;?(alQf)vBepCP95B)(Taz`uLBj<&$&8xq4Gf5dQkW2C>i(U2E2hyT7ZCq}Jwnl1Ir3HctLsv#8m&LN_cylso!+KA7m`&EFTUjm zhh7QNeS64!lV{^qkYIWug#N}g;}EV8;}Av$IYvz*s@Y?y8n1o~E`4{I{TFTbYUHe=q5d4{fe2My(!voQlrM9OJ)q|9(i|unN_QerdHCtfV#~@MKa*34g4$+^FrCnYSE*by*+) zc_0@9<;kC-?Vf&gYTb&*>ZAUsy%<{nx8xRK0``T6Bq2GOuzsXK!LUyAo^zu)w{^n= zTXXa<_BNv4yp{oo5Aii|hCwWpN;26f7 z#4MlIDYhX!Y1&W00OY!S8tgjTM3+B(cZM%r0~vIWaO;9(XlqcS5ZV#<8A6H#u)P>? zK1}wkr&m!f%jJPAT=TGHQ^%D_N9=FfWWjS(O)b{2;d=6GN#e~3^Oi9E&Y_lEy)2cn z{p`ioJrX&SG$RVo5RipW{H`b8#8u=`aSbP$Yf=!BBH;e6Q+U(fdg*G~BSfPd%T2Gc zj0r15t?po8>ZAUFclq-!`456>X;RLSRg_(v@baYOa zXX?sdoosOMXBHPvt>M2YbopstFtarzIMkKKS0z*~NHg57h*|L6RugxQyb0af_`ChG zLtCG4+wbp4LnV8#jGP_`+f(7Crfz#hqeNLT4dn>@X_Ya74!TE91f z{>9e~kK>@KKJ!b}#5s~h&yofGf!?Cq_tu|tJb(HcHV*HPtb2fjv%R)38xk$RkH_cvruOe@X94ofzW3;Q$-J{DWBX8HV>E7&|Jb@ zcqn>z$8un&Kpsnwp*(Z#*t=`?QkR8IK0|U0kB??avonpNd_|?WM3v^`ZbpaKo-Pt% zj15x{{s^1Z4sw}M4Ui?w3^l1Lgs5+*Jxw073%0)EXU5%;ct&-Dan2DOcYmyZ|93^u ze_s`lm<348Xux(ArGr@B58ppC=tiH2xV(-nhuZ_HNhqZWewqNE@AuRuc1byjw)|M{ z{R3lB+Y{GLk@KXcR0;w)SD_EKvk^Hj0i^m=K=J1nQwFEcULvq_7;rYbiztVV{qCef zTeJhOg(OS(%D^ZP#$X+Qf=_S$LaZK=%mx>|j;L1vxhTu(D8bq2GP>gF-@!ClaJmnV zENxkKP`!C3_27^;FP^U!W`Ra*< z>O09oh+WIO)<2XAZLSpjet6{ueTxla&cH{9xv@OR2}3gOxe`(ZXY<@PdC%CK#PQLw z@~a5;A|iufD-Np~Q&%})(xBOY<(3w#zZ^mlZyw>_SCT&aJMI0_GyFmL1!6CB4G#8E zC z2>wnX&2{bZl$L<>qUWDP-lmk(LU;VrhtePZ!mHR*^Rps*E-zO0^$o~ao_Kx!K*2Mv z7kq_>Vjpd%5xuBiQu4Y*l)sVI!NGM~=9>zL`hZE${q!Mw`}53)I``Pm&sUxAK%F?* z)HHVRP2*N7CD#bPeHr)a>mf!ChP=R=Rc{1C-aiGy={QnEM-aF?G(X6&DGk(T+oIv4 ze^aAgCe!2cYkXw$gIv`1>4Qv6-k#Y#CxslgReVqqij95zL5Ak+%Gt4mF6krJT^c5; zd$fHWX=xvpOJl7LK0E6(G;!paii+X{r*AAVcJZnubYG^Vsl$jBe?_sMU(FEIGXLR~ z*a};Ri1(?yJWG#cK6t9Q%M;$>1$*XH1DGuB!q8n}M;s{gRAkFs#6#HrJ=q-uJEsEX zjX7g`ZP@$}w5#Mh)oCk;VIj!`q!r2~pn{m(-`~;Nlhv{6AkTjPMDO*4UhgeAV@Um# zqpwS$uLwQx2dh16fgaFwgZ_SH_Vj*LGZDM)3r%@JdkP`^9EvN=>XtwHg+LvcWI4t9 zBh%#A%imD=esk;pgUAU@N6b288n!YcK=HBoEl)1ggO!CcnpRA*$IOsG5n?6mGvpTP zDM?_>8l6G5AS|@pEc~-GrcG9m#ZSRc@cU9>3z$dv4a#Jz4eY#;nX%PfM&w+2uj)b|ZA2 zRm=M#mT7uh&x(;U)=DD#386_W}3YE^?91{gU0<^p@3Mf|{hzpW9FLlNdXA^TJy)0SmzB5amy zcU@oVoKk2M-aRMngZ9LSRi9Kf?6~FMFs)~GnmN<1y5@@S#(Q~Q={TAh!{Z}JHVf9K zB3ACQyP&<(c55q6U^`<`M@~f-?JyA^8Luj zWZFB$K1Px^3(0bCY;1g9ALIZ80*ime7Q zOg&~BZxFM2H7-kJtFR3eP{(82qTu*Zo6it^K zbI_uoCu{W&ufjh(v43aefBQW}^!rGvxUl;RA)#sM_goSV`Y`v%U0LqWy`gfpf^$hf z;DHw}LB7(twobG2eCbtMncY_0N8PM@1XB+UJ#x*ySdH0F;vPOXYMgG7V0dg>g8!ND z$5LWe%o?G#3X)w+BmvYGMDyGrWlP=-L?sc&OQQ4xB1isfU*FMb_Yx%tXmy?xnb9jr zDJpr!87TS|V(|1>{aihxnKA)8RHm(&+n!}TA2U90;=|eXp32E6k+*XmGm+0fRn{ z_J9u_7?c)R2$BS+$CgGYgv92D8zW)=_Dh8za?QSWaLVJj@CF@HMTmEyW*x5H8D$>r6rG{6j7Ip-1L$D_AUYSXB%s?^j9`k2f^g%)3)O1!|SWhSRVB6DWH_&vP9CEkQGpj>IG@pPT2A>-llu6Trpc00%B4B9NJ zZC;f}GOgA8cU{tM>alCC_B09gcMl`8z$FPT6C?h)@)u7wQ-V>?bC-~T#CrDKo2t8F z;==RAO$1nkA`MtK56Kv02txlQd$L&(uf51^Ha7Oi&1>cZ| zl5I3=2U=$<=MIH=d0irO*dHm49CBB)P1bcbuZ(|j9l!1kG--pl)mlq|9eO+OU3(T| zl=>zf`4p_ATqUg2w|}$oUkw4UrTh%}Wly<;0> z&k*s?5KS=C@4bx|c->1HC97|4KIJ~RpsQ?_!d8?>>4?o~kK7cUssBMC`n#gwKP24$ zyV}K<*O>8U?rhDqB1b2KRPl7|sqDtw2}ZNcx0ksNrn1(5p%DN1=DqgoiDWJ;adTZ`0Z{+ z*k(8li9MN6pp8HJcI4ruvJS4&V_i#Q>E{lfdSABa!ZPIxm-2w(oT5ki;ngwCK_~aE zT@At|>NQ8an!R2kv{pZ4ma@kU*i86Q+Yv2UNr)jXgx~L-D_IS}cIxzBbhH{SJH;|= z$76paeY+eDr*G&EuH<~+bdfp#qBtKn5WO2$7;$!ACp9r$#jKOxO3+8ZTI-d2pSpv3C5e+G0h)ERhB8S?J0q|r z|4A_iQ4HhzQk2`g`l=h#4~=AF+DKeXy!jb&*Guybd_JrpPwO4cL`h6T3C1@88hF)5c;f*g(g_SNZ`j`9t!8VRxRNOLrRTJkZ*BHy#$?&Q zzw`cwFHlQfSC&%I;RO`(9B;s{GU;SDXWF1qTbC!f)%TJgYdR*uXW8XHLGd%ZHmk}W z8Ys_6=@2si1cJ&Fxb|ftHbgxdhY=-?EAW}?E8SR`ABF9VGf;Z8h`tM4<)K2Cl?nRw z{hKUYH^!?m{T0Ijsoc;j#sPTMs&{$M3oz{yN|tG7!w-3cdb*534U4ihsyS%GG>a@t z&R(Mp_|zHDFo6yAFK)6~^>05|kGu7lBYPaiz5z~g3mrMt=+-{ zSk&lCMUzT{0u!-;Al4f*~J zuo3bpQfsd9WTK$w{$#m@?H5rclK%u$J-x@SRYh!e{a-G1t~}wlA~W*%XR?cq^3T)XJ}R5FdqbZg5@iB`E6Osv z&qQq~9(wxZEn+2Od;4&zpX6B~!x>iZNX<_N7cYf!dDbCP?B=d_4N&0*{P+x}onOjo zEIv$Q>f{+PVN4U2Qmmxw~Xs@1Jr?fJyyV-%@R{|;{u7e|g< zHqFdVD3l#~YO=HAXrYkLj4~ZEkEo2vle45 zz1P&IAcvgN3yikwL&WE_tjl*7LhO37zKnyf|NaNo`Jb=(pY@u5AD<;qwNNc51JyKr z@-fI=i05&0^KYTz-)dC;;Vb;(n0+oEm*Ee^mPitB3*+b2Tc>Sz1ivmKxakig?nO%SY2{o(70!I|I>zwlzOk>ldBuk!dLQC#Myy*)hR4R%xGKl4jga&R z&vUH_u4kp*y)I%b#2lm?onu3DsHobXI3;`gHu8YYe;#}6LQ!j(eo8l@1 z!=G-y6Th8`mp7FE;w8chJndEN@(lmr7F8>AJI4bWDtG1&Tna81Ho*z*JS%CZ%gS3r zAE@h(N!2kV>~ptNdid&PjDwl&OP*U)&w1~8E7p$&t$sPa(pmgQe|}^3`!)pRn_E9E zg5P#x1}bsdPM4gnEHQTyk35@T^prTtXkartfH-VDWbWpA^Ss_-(}jYlCV?jfg3n-u zhs+k!wQi>TsFn#l?7!H}PRWwmz(96OEX$!&p2C_d1{b9G6-qmfutoG7eDZ4HUaXg> zwtAVe*p;HPN2W#(lDM(d;wZ)3T>sjBqkCIkQcQ?QxAlkDyKM6MFYC>$$0+LKge&P9 z5??bet)`{-&oC_-8a9|jHdDU|JAZDMV^gk}t%z{KUF(E)ktX#exehM$>$n&3!jBr< zHW>QcHAKjAGfHKl^B-;nnVj9qfv)Rt*M2^z`<#C&>p^o=HTCp4?RGc1^x^?u(=@KR zjY~3sQq!>{tb82p-I~YPxooMlVu1Fz5k%w|U24+KVlDeIc%;oZI=GS#o5xTZ4IS|? zvePrlEOO(douTAsh@LTJ2E?i4Ehqo#AiaF@t8&(_<$sB@^rrbN!}HZYFx^8hM7=5gere;7=7|_8D@s zpI8U@XtY6u%FgV_DWER#pvPy~5EL>!LEsh|L0m@sxeD0L|5_uFvX39Ch*&^U%Anl^ zUO6Bp48(m|CcEh)2B}H6K{QuTT^oF30=VSKubv#tM67i}aWPYd(a^PW5IYVV=E_-) zrhv$=nO5>c=NTw@MV@rDSUb6njDyvN{e1dArRNQYaT>#)Vx4HJi!&Me^h^D$82vwm zXbz$2@n+n;94l3Xnc6q-H&Z=#BC4zkgvI*JcnL0ZVa=lN2qo2v`h_`foI}}*o-ChG zwMl`+x$8iDcD$34$=-VCP-tGA84VZOlhBHr#;O$MWAENJF7The$oQUrG2t=G?!^4_ zXE_E|ro49ITSMEF*mXWVt)}w7Dt6j%XsI{Y)3OAY8uax1s+({9;ow_h(@twNQ#Gz) ze;z1~h_6P<)X$;vbDI1y5#fZOKRM7_Q@q>W*tX+_B$RlYUs$<=vx9PUGWyI$>05Ve z=^MUPLAU&z*%zt}=x!HSiFJ*RGgD5(4Yb=MSJ=Pjro{Nqk9IJ3@e&Zz&ts`&E*RUH z4Iequl8ZZ-{>j-U_!7;=dnTB_gZ^6Rsci+mj=cOO_B((mb@is?O*$@lx&Vlyj|^Ns zPTTaV^3&3i!hQSg5b8sW#l-w!*3d~Z1Xqt`uFGCVj4aaq%kESxDkZ6=s|PBr##6%PfS z+tavLs(IXUB1>;*t$NNz(^mt7Kl=Cxi8h}iQQ%+5DHdwYNoY z6SSvdmi%Yc(azsIeyr;m>pV1pC%k0_nQPPMN8hW zMF3dr6`~n{IdlLhrvchQsk*VvOu%xY$aTEU#vGzHY}Vi+#WRe&3}D({o^$|Fc{&s1 z4||9hv;>@6H>aUXvxtQkplAVj5$)DDGZg>Yl*A3Dt01SHF?b?9K5+xM@Vke-`;tRA z*b=rhGPu?QkSVmgIDoVP-Izp#KzpL#OMPDQo9UD98|#3N9s~`UAh5Zk$$@?z;6He)F8>wqd&{c1!N zLw^pbpHuBWCxWuW%9rF}AtFo<3ItZ~1Ipji+L8ihcE+RRU9?Z%+tU*0+GIvumb0L{ z^ct;3n|7UjY)nQ|2Y-g-^Uqu+rl2#wBjAs{{HKR(t%dyTP_b1XK#veTWieI+reQ<&`ADT9X)ey`$N9-dnBG+Nis@i zK67R?mZ&izbmHC3{_*YG&a5=w(MUXX)=|A2`oU}j?l^)F0~=1x zgiY##2%7Tb&yW$ISMrZ~4M>wLfMRJ&GyuJc6jt3Tir=5VFi(U&?6f7Z$?rY~Q<+wA zacJL%qq}pWjf8B=-o|vaNK4kBX3iYk>teWaZF>5ggZNXSS_AL;N)Y#`ah|Yr5R=(` zU1r$5Q!nGy-1`xuMiwV(UfSNXs2iKd?+uGTy~>}&1%H6JfN$V=I{fw;e$X6i-_tMW zrE~KR!`!@7I&CAr)rF69*+Ysi5T&6)eEiR^3vk{(byM-Cb$S(7iMg~WVO$Buy`ggC zrr<3-6ME8X7?u8r$2nY^>Nq*%-G@t7!i*HxOj+DD|F^D4Q+we!f4RD)?0wVIBgAQ? zjH0plk!$@tZ%*Gbo>rVO5ZNnhwd>+m^8*TkuY3X5h+dBDA%+ubTuBz2+#|dElTurM zbVuntxCb_7)&iU5rl$lmHiWJ7vkH*C^bnIb-`*WuKOVzN_5zVslQ+@jn-PBv-;)OX zpDfAh%G|ZYruS-zIVEv|AM1pmI8@ZUXj(3meMan2b;Q}?xHD)w-^0s9?FK9{DMmhI z<@wV@d1GgZ8^sQX0pex1#jx_&ieY7j5qJ62+5~)JyXXEXAlzomk0Yj1G}IQ)cD|LJO6ig4(bNMiFK*!>U4VzYxCWv z0vlYy&BBSk{p;E^qevDD4xZxB9;?^A=Y>DXsdO2WOtgvJv)kRZeRC)AprTC4D#>{LnXdQd4)c#tii6r5@kA&HKa7 zI!4j5+yWJKPFkwi{h|C#9;$esoi{C&={ozFZz@i#+e;mwLx4719G;O$0{RgqL3!I2 zL6?!6PV?+LSL$>JT4q7E)*Yzqo1wS-3V1HXl>}VyilnJR9YiONOj@0~;SUqyWr*ZG z=l$XA>h@w7tILNC1Ki9p`=|ygYP$8zTjh1|#le@C)wOe8k(|U%PpK>>dcR zuW>)=n&nCs?KcjI>*hOl7`lFt@``+%IrG?3d1uVA z(Zzezx4v9j3HjBUyrT70`K#;y_pHn*v#Rp~pOm|ieej0oIj}-ZJ>T5IhFIJb2!OGPXtq}NnoD!h?&%EnkUMhnwFF9b?8PV< zrHjwHB8!_Cy%iKAu4lztEpwwdCoHf!IiE&rvh;~0B5%e}G%XN)h;*k_L!QfUwmv%bv~S_K)GjQ8XW-UbK@Ej+pGoJ~xs|dTaon`V!js)eTg1 z^2W-N;1pb>ZteJ!T;lie!T|=!7QGCWqeL#DywRUNL%Lw(7_>1C(_c(Ptz^2*S|89vHkJjyvC)RS`t^75uS)`WGdFM zazKw1O&tc1189tQ9KtN`Roz%d)aJp4uPXyqR)x=y1>g?O3Y3w*-URHbpo0>85QB-E z80z(NiVx6S4nE#Ip#iL^`zd57091R=A|^SJYm;99Tjo*li6q3@*q5_=z>{8PE8ty~ z|AM9H0KXzHnYanP_;+F^k3-4pn`KUW5XC41TL8EY03vF@=(-b-#D;AGs9lvd#9i{> zOm*|@XVddLOZJeX{}vIgQCs*eU^Us!Fx6&$tf@3Dx|obCvtDt z$zr3>a(t6ryfDsh{2|vs+J+w({dE#o&_Yqo7vB~uw6W}N zFES|KD|l|To>b!`VdFp6E-4@uxT2_>WPQo$b*`)HQZoo33PpP(udL`=`x9*fK4J4% z_7qEV7X+pl-dUJqsAD6xLlW~Y&n5TD2?@`wgN(w*jPT0qZS&R=-!o39p_N+s_uB;9K=b}7*55S^1yKBpRaCo7rl zmc7_H)S3%7WNjvpMt2&pa7f&!n%Tkq~cVhROzG()L#Ft4XuShDw zhR$Ell|00^bG#FnFut0J-_E{oq`_ZJ#;>Q}wf%?|b=bz@=7#MXDe;wHV7x!Ld?1WM zLjJXo_*N|V-4G*h;|4;4_pgP-&!&AXTK^NhCK{4GsSGGxv0LCGr-$u=jRyyS9&8`M zlq9~|u%-lyXAVBvXUsua3Cq5{S+D(pM@yYw?ddRt8?pE+_A6ri*C$`!`M<@BwW;IO z_C-E~9T5Hu0lP91Qy=y>Pus+5kU_EvssV4e&#J`TMPzY%=n#@L?-Sewt*fW7^2EQX zAmCeidQ_E_B$tbi4xWvv?Wv~Tx=;2~MAbR1t8op~?9~Nuug0N;-7f957=|oK)6sKB zbMkW_6>PItZz`%;D_}lX}rH zimsCuKtJQzq8UZ8PX`-R8Ze{R2ZRWUDNU)$uEUctJ&Q*KR*h;Ru1egCzv$+)x}ecL zBb1pQeS&3Y?W|Ey&W-HLZ!(>)a0uC9nE4G4f5If&m}tw43uJNVxv7QAKSk%dZuTO_ zO=9b(f@GEht`BGAqXwRssQo*uxCvCe2!r;95uE|^k2}tRa`^!4OOo@6p{eF-aaFP) zxZc{iY~{)J_W|&~KQY5^m_7dX)_<{Y{jnnooR8!$9A`gx$;5GYrl4l9&v6#5j*M5P z+*=tQ$y%DD(k!t2w*|}?Mo%d{_RAKl#u1DwS@mP;TQXTEY_A_UpLjPQ)mmboYM%YT z;fGZe=60l}gj6`v_PXYUM2Gme!g+@|gGm2q^VGu!@xy^tXV0Dl%vbb`7L=pU;Oa$# ztfx;`1~KlJ_9e!~ELvGsyTxOUS#E^9OM3D^u0u5e4F00)d6AkcH+>aKgp6$>`aSLH zX7mjA>L6<+1PhvN2)1dAvvHxN_$%3LtO2X% zetFW#1u8^KJ>cK;0$a{a}N5~Sa{ zf4RwXzka8KNN_{ohgn8VlL%W#!WI=8T?o(6?#J+>)4~;JQk_q1-4SnQ0-cTG@rvxO z&dlMoDLp`K@I+x|-*y_?t9!2XplrNygb?A za@f|~zpv%`4fnin^oLUv0cDsM@S_7+jEZ0QBnsil`oh~*I zs-eoob6RhLXMdw7qOz>H0!n9u%dMr%I~I3bj=ZLJKaiuup`I5TdQKZfkS~8taDwOS zHxw{cGpZ-jGE3RTrw-)s7iU-g{ht3;5BZ}sQa@dxzn)`So)>BdHQKFnH*y869BHfg zw#bbcY5B`@`&gh~7~7;x73g~QFy$Bf4M$RO+Y9nlaferk!ms8ObS(E~Nzc*t8eG6N zc!w7;Gu{Y)Hxx7U88R$Kf&oRS2$H}e2FPFZp`>Gj0U&w7cCZLh0~P5=hA&vD*l?dA z6z?{~kjWrP3pl8H0ha9+R#nn&pb`#Bq#UrR`V1jbD+0fi#|XS8qB4Yl_zXF34#NrA zQ20ubbuAtzaip*$g8M})Z5`uJp9GHHe&O|$N9@B#3IpMh3yK%N45jseaZgEewDf9q zU0-)qs*gDaPuaO=DIam)i-&{1p5#eWIY|GGs2Y%arqeM>+E9J*RuI#a&qa?prDruG`o6xcuO)x@XY`|*@ym#I;M31#vfQ~+*}mxU`Cib~{2yfGrcP|{6~ z(JU%>qwkv8Q1PUm-1DCHaS(CNzd)lw3z+SXj>*8@-#h)eM!{9{xlq z(r5?wR*vQ17f&)EGR&N7DE(GxF_CKz4(6qlwjZmA|L8q9uZg2?p=`-XZIQ7zdcubs zzR`})JQqg4-M(wlPlI$y!b>!4l>VVu4EcVH({qbER!7)OojltV(6P1&YcojQm_|7z z^Q~_%Pe&h}F3&h9!Q<4n(-d(U8woL@Hnh`?%=nSMF$}?(QRFue#5J&$a{X$HH9E9L zdZK`sxeuJd!cd8plMUZWj=xBkZ!^^YmGR_j_IqqKac#hNavWzg5e5OCxE zYZfmioER#zT5{$+y|;F$2Ik#+X)a)&&U)({mqxqYyr=&jPn~2JvrDZfy4sc7=B$R* zf=?JleTKNiU*Cwqv&|W+b!6{ebAGFI`0S?-G%a_bey&;rsqUVqqsFIo4#h6^(I?F5 zL#t8udk}#l^{8e3V^)q&{f8cTKd?WS#!l@9HAMG|-IsK5Og5CaOzTrT6F*^YzVp_@ zK90f_XrzscO-(ebXPb=YxyD<4`^Iv@`kd?XJeuunM3bwd))*u;F4gdaV0UMVbNaSm zU)P*)sE(+f#ux6+PCa~Yevg~JJx@+%`0KkjB2CY3b?dlG{B2rdfE@pex&G4*`zt+& zVt!N_YMXwp)4jLX>P&-PV|^5xi?&0_-7POlN_;BYlrqw;9pf_iFxRqcYPR&a11--u z;iAOinWMANY*|;sBD}K_I@Enzi{WbRRkim^uBLUbciBzTIT$)*kd)gOxMSYkZgMu` z>>0RQB1WG;1J&>Hn@2e()uzn1nrf6s9WCeWW2kY^W%A7pW9m~VmPQ>(N*5E2>ywGo z?!3O2*$dJ|7dC7qT-`1)<@UT+ArY`a))hT*^WVB1>YZ(N4Vx``o|})$`_QaLEYe}1 zOtlh9zdX1zr%;D=em&Ye4$CHQo6);;v}}Ks^sd*qUY5?DalC)KaIh6e&^fQXNCU^a zoo`bJ)-zWFue^VKY4GmrdK+8*K)ihQ9B);Djp+eZPgj=e2W;CkrTvN~x~cV}1HCxS zi`g4><=F-dc~a8WED=>$76vW3u$3j_uq-KSGI2Ge}0iFh3fr zKWrkjlbfb*h+(CcFDe`lQ^pis7qE)2E~)f%BUbPNyUPlXR#ozB~HYxUf98rs57v4BKC)4r}-+i%)S7@u0pwtm-U zM~_nKZST4G;a+n-#6+fViahR=;=}@7JX0E>xfaQ6^QpCz+x%4AOX__00IQ@l5QOrE z?isYah!dBY3{1_d%!hpijW8=#*+9kK)5-;E+&27^K^6q$G-wN^7EFU5;yJsr+!I?YF zcP2y^$M2y+_UcpLxwYi9>{(dr8J6XdoILHTyw7*%BZevQq;1 zDFWvT43caCd#y?$(Qk}`jVEw01PX}rpoqY101G@Xe0>?VwgmWSepsLaq$9V>M$||#Q6bT%>6jTLlsi5tLKpt&4`R>45b|5rZ{g!(&z zmRtl)gb_OsM#yynbPXU5!!Uv>6XjkVcphRExFx7ymL?Gk6Q3cvVYB-`LtxYt!e)3s z_~|16S_9JD!37GiSpFaCtjT<50CU$A1hKfEtx<@k2fx}h)JSH5X z?K4B!UW%K4EB)M6Vm+LLMI%6?H9%@d_J_d{9&N!BX{l%EZO(!5iMGrvzQ}>wLSn|keg)9a*3DR4~7m;Qf zF~80s1A%WQ5lB|?bL{^V6n|f;8aR8OMAwgyx1Zd|d3C`d7||%BwQP08VsM|xxfe{4 z&wCwvOQa4tr%9f35kMcl?Qs9&^BKF~2||sh9sH_xN5|Kyi?7StO}YrulMqWvNgrae zVI2#!2a7;yNStv1xlk;}Gw9ckvtr54g&=Y{5{rF-HTdq9>`&l^v5g?XV_EV{fvpt+ zuU;Z$G*UzcR1b!w=pN=`8FzZj-f+(wvG5YHYiTfOO}#F;Tkkm6anoBK&V1WxrV)Iz z{53NT7W@xgvWHxF&*KX#7;Th0vX?_Hux+peiwVXideezl4B=cd&M>V>n9gcP**{GU z{B#{+*IQ;+yy`77#&l-3iAvn4A9&sSxtoDs6Bsh06Z$NT$8LI8a^l_LThu7_r;ckA zDg0d?jHAA&%Xc@H6&5bc%c~r`DuM4_%XC-hvh3zU6fg22Ux@ZtiV5l5cJu4w7OJq~ z36$zogfPuZ6B5BvUAnLj|-(VDfPBW68x8#*R*aX zEqn0YV_FYku@DDyc&lm_zpvGl3OlKtieK7QAsPr@Y*k3{HA3rs7@mZZv z#toz)%=Si2_k7TK5u9c;|LSruor=PtT_5n<<~}?h259QT;gg+tv2QQ3s8{q~jbsM7 z$;27sMreEE#H!qq$*~voK)&2t{zA#V#V_~-&z|M9`L+0&GjbaCeaB|d<_ zLLFD6l-;bK;REzra|xLugZ|@PZHMm%9f>^u8B!-fj87>OyF#eSzTM+-jn$^g!P0zh zrR=_j1jJ~Zr>e#^pptYWpeXl`1DPQ38N%@U7qpjQ!2?G+Mag2S$O;X;Do4iy`>uGr zm&+VhvVS^ssFO@TD)zup8KK-hfz#~5^&7};eGC<5$PicWOA)6LMO-8_jTmUa+wZQE z7)49PwAEyI>fTpdd^k{WJd~=*U3v5Pu~+&VEDPVp>MJCk3Xe+5{g3pj&%F6 zXMg=Ae^|GcWU8&6NqwA|^Uub2NQ2xCZq6V%El0j`p>RNK#Ptd!!J2|C(}D=i^1HzO zHIW>U1c2));73cCm2Lis8b1Q-&8zCscJ(^GMR#G z-cytVh;P0U_Iepf-1ZSMB!TdQcDt#Px6ER2?6AtPSt(x1JtsJU4hcdee?I5`Qoo5A z1>e!yl~I0G5P}NGYjm9xCCd$ba%yJmc)&HvY*fukaMv%0Z-;kS&1>Jm8z@AaI_7YTN5Buhtv!*(dUoGGYjcI7_wGJe@q)9`nV1^Zo4O1KUomHuYIeYZr2-UTo+6 z-5N&)gX^f2T?ZZy4eqma&M;4%EO^tPvQsb;xNW(HZV5|6oon-88&S4iu@WI4T-8ym zIJz$#vv9gxZAD~Vq=Y{t%hAl{+`W*tOPTToT<8pfCvHL&7vOiJec|MsjX+#5R#-&F ze<>_dk);Phy(D?-2dX^#X3q1ceLd+JJN`=2cPliN zuW^eH{VVZQ`NXMkg*Wo4I*DlwZ^{#Vr|FKjP7+PjPlQi(-JZ73e0_|Q=o?g`Z87(~ z#q?i5PX=!jJ=(T#zx-fuNOmIF%dk$Anhv{=v=hq0?bs{Do^8Evn=R!T$b%qe?5~mL z2&;}cr_03fJ_OA|FMDHV)=k^f%+m%z|J>&2%A`vLO&i*+E0^E3a)I`3TjGce2#i^D!>sqS>9WDR|7hfo+}21<9y@C_xY;CsD}~B}WyIBp?}vFa!Z5 z${?WRoM9yAoI!F@a*`-8LmXfj{=vPwUw2(~Z$0jAkFP(5?iadWs8?05s$P{0iD4Z1 z2VKTG8(BQi-GQi7`fAr|%nJiu%RV$FWGTA$Z=-j*Yc0>^P*c0K)M8LhmS!^7DTO|v zAC`F0eu9|0N??4z)ebU|1&JSPy&P`Hz8UrQuF0uTE2&vEKF4X3CmD z_0r4SzIB|e0V3#8{6-EVz?$|;qd*Dx1oi#8=-Nbm0}wvqcBW6KDP;`{Ts}}kI zS$w8-LQyfOQenDA2IyhPAUR@9-8`;`?WOlS9Hi<;B#E#`kZ9mrW7y-kG*ZS%?cY4*VQ3ALyHWc?K2 zKDH`%5#_&x;2_$JK!qP9{(CB_Z>kbf^jx@y@o?>B>H^&QqgX3Vv?WU8R`5EAGbz^rt%tO3l2_$@!!TkFOCs`fgZq`j{WHNO>hgk^0TmrHw(Xdd1$A z6OoA{qrt-$JQ5nS(6}IyZYP&w#2(0I$5b7w(CB4ewwBz6n9&-VUVhlVgakS$cbqRQ zB=wjsw3R2h99+mowbq@G)_2^TlCJmK9vSi#iA9&rzOPhf!5AWjCMo9Brv2ng)LIH=!H6V7wkz8M>0gmURo2ad?ZLS9*y z6YSRRL=>Edz6``~dAF_Uz#26^&{0wlWE;0YpgMX-t{3`lqVXZVxx9vkuran2+fzRg zarP6@$(jp=U8*WoYr|qsQsOrR+(%<`vWt67r}FbW62oqLC{oR$kCu(emG0WavbVEP zLI`Zlyoxr&tfL9y)(4x*kH*9MU^DZfemwvJ*&VvA)+E|@ds<&a? zU3>zAVcTom{=?)r)@F&80z7b^^Bx~aonBtGObN!RZhn87pUq!fAVOJi3ZJ}jVqQ2n zL6RS)`Ia0J=-$J%;FNBmjb*q(awadk^3h22TV+f`m{*5%;1==w=W=7nNk3nGJBS2(HLLQD6K;I-vJ zvZv%8!RYw?Ar9$2V4St)s}!8sTuCbPYBsMj3WzxRV=K0T2$GzO$a@&qhbZ_Z-m4A` zc`kksIWMT8plFe)96vWCn4PhyLn)7RLV3s-cw51~Ryo1Z?}%90Ri6?Z=|G8${U^)N z>!ZvNv?Y+p$T34l{oUei&|Sra>I|a~eEPW@pfQxu#WjWjXDs_6_K4Z0w<_x+Yx-24 zf)eXvPb*B@l(|RFqq_ob>619M3VB?Sj#IxaOP|EwqUY=PBpvaya#d0{V-1Wu8*f zgiX`ds;SpU>9Hr9agZ3v)@)(-(JgGF|`xfdD{>x2tDcwWX6drXWb7B_jLL>4{*gA^IG^5*{0 zkFVbxS(JVontwF+9&HHMMf;>co#*FrOCye>r_!vSYu58Wsb!d;GAYcsJd1X7L7e|M ztE!IM`7lEwu0ToN;wo7lu#AvYVX@mXM%19ej0Y;X=sVWJPJdjE(HZO_0tdtRu=6CU z)c0G)ZgJfha(HzO6+Ew8CKGV0NzkZ>9{nG#a7g?+8E-UlD@GH8< z7p1D#Z{&RpKpkR?jr08<{io#vHU8>3joE{98eHE$r}6d0_B&+hoBUK6XI15@hBaho z$sT1VgzFG|aQ!G$euF^&Y;&YP-lU^#%O8T0-!IJ2CU9|K09Z3-pmxuBvf)H=Z_-Bq ziOSl7j36>z%MgaIRN7Cpd#gKqi-?82J(2T1prtWd9tBPtq-!$Ifcc|u3Q;lq#)`6C zv#hU{0!}FL?F4n~15ySgp}WXCD7%AVPNZjFH$q?^5O`qJkcIL|7MpKXiC;N=yBo9^ z1e!C^WVh<;`3AHpiF)6lg>iaaTem6VSbTDx)ni!M*mFK`UX}7nXK39hd1=?+_)un* zM$36~%`CDc(L`Ol_*>d%?JQPAjonQP(JZfM*4q@BzNQSGsf5O6qFmzM4@FsBh@y_~ zX&IvwXQX3DPb?7h90;cPn*yk~5XPV#Vp^2dhTJ}&9`*NGan!**&q7px+_VwLsSeKh zefjdEx<_O6-wYeKZK15##@w@{2)_>^9RWG65jgt*U~DOznxC`CYP^2q`PC=~=?+Ta4N{4mGKx$J+ zDmy$uvdBB)DeTGb`N~XuoR@aX8?F~_e52A*<-~22oU*f;8F?%KNndIPm+eQLyk(I@ z8AHXR&ediOA+>j!|klf3wPazFffFX`QSo_0iLC>mMMH#KTD z6qa3tW-((e&Zi}1Y|-lIuD(TM3-mAb15zAZf1F+WjWp*ENd?P4+}Ul6mRJus=O_#< zbpLSLXeTVOi-f4_D)=t&g}};`_cyW#6f9lr*HawXV1hMTj3q?CM=8fAb_>>G{f732 zp<_42zmb(Z@Ice!Pxkhwt6L7nk}zFoVsUrwX^IcIey|}P8{9feR0|$Bv2<)clQv8} z{3(~+k}OByK&CGt4kvj@~{5#vX-)GE!D??<6gn2y+ztuy)duPpBvSIb{1bK*M!$%-aKqGp& zWd#fDtby7?QG+PcRJ&2B2x@S<-AI5?Abi|5%eH~?k_q-*v8A(ZeavLdxlb)rJIJ!< zSOv-PHiDVGLTf8=t)EdKhTdoDg)CcG=)OqppnEeXC@_N^b zpBJ}{zV|$zo|F~leI+G%?Ma39l$^}WgkxnxTy$H_HpuUGI0V!k+cr=+FFUh1wjR%^ zwGT)nDcRb)a*!rsTD}jEV6$G?kvk~oJK}(R`RJ(FzhywuQ^TV_hQFPqygi$|C8gNg z*0CuyV;OL9t!FnWZQ;@E?&US^#uwZ3dp%lmQ0BG~h`s&1Sv2DLH=k+`rnTJb)2ut- z9nJO;`2Up_dhpaJUJpC3na@u7bOEQ_&F+yiY&F$*+P(zW+w2sBj4DuOV%}vpcbr-p zO$gUv%`}W>+9#F4*WK&CoeO+V6A_g^zExPrK8&EjkprQqq=|dnKO6bGY2y} z^|r>F7O?1qw!R&MOG$DzRTJXW08$1faQuo~x8C^`Br zcOl49$J7aOX&%UVDKb`D2!!Xtm6(03v8*bwjm|$I$VvE=acdUZZroK>RRww7%qUI+ zwx=0z0gKZ_1oeg)$2Ix-#|C?z7B#iSDm>*0n+=+x6It z{K2d%&3%3`j9$W6WrH7J)PB%%@bcRcC(kj+PX78j1enXI{h)9Wnd!vOFqh6|y-DU= zxiHYvoqWL8+&fqtscT1k&3_N0=dI02{dRFMF0`#_jb}3@am|9Sy*y3h0M%Xl#J7YV z(eD2q+MOD^#^Q*YKLf|NRBRBVFe)}o)Z`|n8mawubN2I6icx2H;hYk%JDrj#+q*IH zsUHMJ@h3D;XXFuNiFR=Yw7rgdomUlBqs=g(S)e*+-0m{D8w3ji&U5F|>}3kw;mWj= z_?}u+J&wF7W9s3RJfkDiQr&K>Cq(SBB$nmj|KI#mn)jWT-19Xpe&R5b z!;Z^=`><8E=bGiTW-SeYPKpu+xx<<&sb~0!Y`ql2Q0~=h6JV_Cy$r|j__vdISUFBY z{2Wy$aJ8#T-j>*;n$CL)C``zNvTo|}BO^tD@PYcM(|riCjMikMkmXl8AEeK1TQWbo zH#XmEo1l2@Nj$rH?I?MlUoI~HV=CkwN6+O@jkMo|WSh@yp3O4edif9v$j;K}=h$D=b1hMDj>~v~& zY<#fI)Wz=T!Tgr`!eKPg4UuXaknfDdx5aCYrI%Cj0;fhE%~%D#7}2;!4TyM+pGq0L zM#Ixr;Q_-|D=ik+Vl#j8>e(?1-7V_w3eC`aUgD^DNtQffO{Q7r&$vk6_390f=tFsJ znMJ7{qt1i2TJ`}j#V$}yOV>VNwtp81mqF5_BB^lqfMz|$_Eswo6nPQzm1{LC$Zc&T zeE?ilO%Sm&1{ySeDJKuKy-|Ux zc=l7pvyq%gJ57|^BZl8;l}9j2C(@C*wFiy zEuw@wj&xt^(68Ht&4ALgMys#vPJGh9e9@(&QT{tTqM+svjB@Hnw3MNE;R2f-(4Yk^J)lX6p`Db=g(-R zx!ASq)HVt|*A4R-Qf9zh&|`HT&*_pJ(3XuP$sX9+lVAIA`psz7v0GbJG`hPAAxbq1 z%UnJt^3IQlY4G3_ZFa*I0zEUYKiFMsEhW;)21dgP9qN)r#lkdk&HrXP>*09Wz)4U=j3w{p+=tX7t5ia>_VC>?R zv&J@qJws%6A7rkun6aP@P_W1(S~y>a(I!9B%{3NF7CQN4)W|hrDhX>n%b~7hq#$Rr zVU+t`3l7;^fOTW6K=20t|Ht`U-}wLg&(r_+Vt#(Pt=H|WH^;8!Gh~!LRl?(`gqd<- z<6LvB_vCp`yKa>TLMv2w6?|Etg{wig3G0|~Ubm}32j zWgqDH-Ada7jQ?nw!naK^{{RD}&$ zFt%Xy9OR_=EgW+ugFIzNu85|@_JG1g57-9?$EfF_uC0IHy| z5`6@Uhr~| zCx~ZfT#NFOZEY-dqS^F;`x(yA$c(qAImgunJ&fqnF5Hn#iwB^&9Cr*6r=ttfrUi>P zPxn0XWO$}U60dqGP@;sZ=|0fys@x!_@;%RcFAV>FW6aKnKEWX@_>M>;V0%{k0bIGJ zf@r{zHo+(d4y@NJ&GR<|1h~`-ac#C6e-u20${t*Kn&+pajjxhXXcO3W;S7{Gg^u!l z8}H|!zNr2CPe;q(Xzd^7+RyS+lslGElTwBL=IghKiHU!Xu%HMLed6q>OyXyU+syLS zmy~u7S3LD?q0FJ=e!;N(*U9((#ZNLATxOqR4ttreO>e(@d05R@qIns&OQt zaMz0o4@d1u5SFpP={}n5zK_!$?q|r0E^~`+1(uxI@rOfv5Hb@?`Zc5pAw1;~FWx+) z4#jA^f?VaiB`7yWcxz3$XMHzaT|GRddvZb1n>aVrqLCc0Xe-5$H&(+gKr6d@TtKxX z^5U9`V`|Y99fF<;Z%&z#dLYB92tUL$SsI zy4fPY#?t|(;bV1LS1KJcWfY2>8W~P;tHe`!$Bcsn<-eI}2z%R9OB0+GIx$x7WLyI* zFXJ4@9W}_|QXPNYx@`n{jx~K|0Ns7Z|9b^|f;U=nN<8IB#G0sM2|v3(C*OT2TsEQn z+6rBFnwHb_j-q5oS+qpq;K7;Mls}EK{wVwWZ!Z6P$iyfqeIIbaVQgm$Wwa*5{=564 zKm^9_=!G5ieZZ2$Ch*`o+zzGP-Um>bZLoj2S5i;6HvI`khCkjF-E2|Tb0O@3_=*o+ z7=r7`o8(pc@9-;n3PEsSf{4&PL1YCJ2t43r2fpDmH4_mS7w6-nLGO!J^R=YH_QW`@ zr8XOF(shSSoe964L2AB`tWetX>GaXzs~FKWrObXn{{C!e!=A~RC`n~WuuosGOxyM` znF)pTY5MI`FOP|#r>65bd9mD8!%f92&_bTF4Zt^>gg)qNzj|eGLKu4c* zV&$sOtJ25sqiNf!sFN}A^mi7lVO*tL(Tu@C25(t=Waso`nqZr;+zMRY7zA|8ODdrP zL>>nHRb&=eb^46{e>%@zIC!YD`s4HeuPd3Fwhw5c+(MS4;(m5Y{k}{?OB8x`#m;>m zb;Ki|;rBFs`ViE0xG0YPS7bjGAK_Hl+gDPkGGIzG8O)bDgd&9J`;5qR=xX29m_lIR%1*$Qf? zbz5T{1zkN+_qO-7arI~BEr45|l<`TTQ|pk405UB*$Yj!UhjhlPwoJoV6|{pHLICq1 zH={~VJ`?-NO7Ae*<%~Cp!-Y>S!$Xa-G0+;Mu^>{A^k+@g^V-U10^Pe~jjeP71J@yp zF#IYRtVP=ud!sEi4KPIqMXL6dsOhViR5x#KemggrhJlJYXu;UB8g#0Ref&9cK<8W` zC!GG;@+-C!{#z~p?N)(};_*rkEmG*6eSmScw|Y2&@VxC^l3vQ#n*iny(Liu1aOton z^D~N_YQGgUue7UJ(Px%_C@ASi1$T$g7(!)v`5nDpt^N7$s!H!J!pb+0tqVnEYqPx|(tlMWz<{-o<9r#@1*sS4%sJt`k1SqB>f4ZHs zl%cgcT>;xkzVbSXcWZ3EXM3pEAarod48w*kwLH!@Om&m!=k89ZNmV?uac^!Al~G#- zxd0m?%&gOII~*I9zHt3cJ7L1mjJ^S1gs#;FL;+$2u{yNX{pmyhel!#K>QV@QIzwI9 zQlY0KHz-rn?LpqNCI#~I{Dh*YAb$-xW#U;wcKWrUJALmilZp9y2vu8lDL8;{B8+^R z+U@y(%8dd{u+hpX$$@ai@)y;WR!Yz6Zl6y&KY*D!J6gdFGxOg-xq;Ox8_fLZiMtz@ zCvu6noTZ|OUq)bkaAq+)QM>H=qVhV&YwJDs%pu*$1!^*VVv|}-LAA=*yjIA3rs)vf zc{$=Cu3A%K?wx)Qr(y6xG`^A&mL^m*KIM_-OOm9`Wa;rZC^?q!xrOhA=KHBUz-K%B zPki}b%6-j`@&++bHo0Nxkb>@E33GBW&44!~>=bqL#wJX4$!F?3-tD3VDNwX#>uBTK zLFxvO*I>B)kQ9lxtJ$klbPNRgAB0g+I2@yrDkx#v&mjoSNwQ3B+2Ge7bUrjlE75ec z_{;$i+x$`-IhR7jE{n$o#s?FBGHZ^-uwoB9mm|a~h2uw_QXSYio=S0&IySwt*shu% zNV-csq3wN*Pjeib;ufq>t3hoPe5?rKqbA&62yIl$ z%N4P&Gh~fhRS{X3)+w%uZunMSs&Ydm{u~IYeH(HpQ(kqu@Bj(Kc^B0 z-@LXYPAd`AdgWtnmZ--40b}UwBvInHpUp_fq-eM93+z&ParuPR7G9RczyV@*n~G*7 zoYkaz}*B$G1KIOV7R%l4P?Js zf@Byl{JDB_*(hDmdi!bf^R_~-tE<)0^t4n{`?E8?ZHxg}vjb_~6JtVvy9^Tn9*>|P zS4OMW45v5CQRC<@vKo0oXs&SO_u4p)44m!=ES)4xoh2`;EdaTP4fhZn2frp-)5GS6 zdj6A$#Md>UBkJi^Kj{PC?~Hf7f`O_c*@U5l z8|}|GTbI<1<(dV%G7;}Cq{ZMxYzbb&RGUU0T&{*=j<-3FCeRci&CmDW}vV9NVe74R11!Me=iut9U zoQiOvpZ>M~-a|Ud}ESi(|%9rHQQ_RMs<)Yt9Pgm?x7Cu}&toRE-{!(Ix64YgO z9cnuWKky9r`KbvOAzZa;@)5J1XlR;hVeeY&wRe2SA9sc0}yP2 zyt{&KPT|UZ`P;eWa?}dDapk!+qZrUxcOCP%`DUCP9C6-kdvYKV-_*PN$^~}nRZ-;7 z$EG(lxi5wYJ*Tr_rVhB(7~z0(%G%1h>o7;*7m@d;4fHQ^wlSjv`SCam4|1s|g zteD@C=Nu7~5ZO(hSIj^url4v4phmc&vEUSfzE3S(;m`=orw{!nXvz*6qD3|d+GgGX z?Kz@cZqq_=KbK*9!lRLr$mo55Hc@5s&-2Uw2L!vH!R;sg@PSHLv7+~Ir|SDG!@s&c z{{UREF{?fL{Ad`GP^|-w(i3LtBS0Q%>54{wU`&6)lKhpS+TY~9C@ru0;o=pBT1Oca z)b0aNzYrho>HLWblyN?IACQbXAX5)nRfCS9P7O4JdQgEnCI_~eewru1KQQ4(+KpcT z?f~x|fbUhZ<>*AET%=%4x++ScH}MNDMuBkV9~ji1z()KB>@+@g*v{~u(465V%kr@ ztAAi-zvQj|j*t&s8-C?m9K)}%^Rgo9I&41cuk0@U$3gBB);)mS1hW$7;Ln(cPnZ}5 zz4<=@rTzg%=|5$MIDw@07IzkWPdsJ&o;|mqD>CiabhMBb{uFk)1GE38?fHB47-u?+ zIvBGE6#&IFQ2+=g%%iV7w9$drCw0>85_HPm+yAXOGG5aIm>=WR%~Y#D8j)-lOj@$t1ww!K)_7Mc~zy9YK|O<$|w! zpn8aMe^_vwrpm}|YqJY2k~pq?6;I8-o_c6D9m401HlDxmiu~KV zjbDd9mW>yi?Yh~Vl9ffBn-@0oXz1LPZtitiR%6E7r-s{}1YT;renJ#Iq^hcUlMsfF zvca^S!au8J%o)ufy$>k$werI}Rq28rHB)gB2711Xcra<)_Gs;c;nFdco>8TY2mxY!gU z74i%h8$RWDM^c#IiYLNc=l*5OWFt$ayw0<$D?0h)cy$Ea>usn=fDqzQxLG3+$1!~# zn`G7@DKx=ro4j&WABCu+@AkFq%v2Qr0lNODHgZSX21z62Vq&*oV=;lscW_f*0|4Z+TfZsWBW#B|1<}jT8v# z#sS=ybNeJ&6fv^70C?hYU~r-|@acvubhmab-eMnM=WJ!Fy@KEF z*Sa^c-Bk=K6XfA!-tw9i`GABX=7uXrsUnZc{xZs6l5)KFP1BwAaW@$) zk?ZbS=V8&4?XhtSCKC|6j!pZin*+8+Xx5CZXZX1;1PuiG-tRpoipd)=tHoeE6;1eF z%cqD>G!3h|`B8~2?goyS;O*bfFr2)~?!+)T8fb|-{QN<>!ufA72z zT=fXZkAVC?n_#82gwtHW!Rv$V0~(mFO-aI|)1P-fEw(Q52oMpG>zNax@^A#fd?bsy zk#q}_Ru`{nnqJiD3Vdm`b6RxbZWck2!~~y-0~##AeI4N$v4G8nw@`dakS)5U6yzay zcB-7VX&ZN1a%0=W24$NWN7o3H3|u8^3SC?~wf>2Q@18v%=M{BFE9GdV{AaI}Z?T;8 z`7QK>gV)0{ExbK!d>^H2#KmgHlcWpW(Hbd1)ABbG-J=|m9Ke|Qwo$b}%E!kfBZOL?hZb$r!VP;ysQp#c3 zT>PS3{^B6=-)%EZQ74lBlGXU0)~oFBhY4XAF^`3B7R%Jc!R?z5;O z{_1sZ!ng2_Dj=1A-g-e_>;oEAmf;$k<}>_H9NgzD=&u_UfAD8$GXXs+zs%dYrFEe! z>>c^GTvbXP(6kw;I8#uWs})2s=KwjaCG{B3F=brgAwQ??K7bx3c-9=YB`w#fq2|KR zrPf~2m2m^#k4GRhafqorvTQS*+<3@EoMsgjz(^)jU)!Lc6tf|cO0s(?WVC(MLD8Rm zsp=rK5m=nAzr4M|6%u3cM|%C|hxf>4=E!E|8&Gs~#N=?7<2R<_yIDs^OulZ!Z7-5I zp?O;o-ZWVEKqouf!PcG%{$5eKZ-ZYTcrBnFpFns5;wzc*%DIa+weZy~GSiP&xacsc z0wEF3SM0#dxQ-7s@6>KSXOb$bIXz_iK&YCF3*iTRQo{YgZZn;ODlfBfNO@PZHrwfC zlvLR)FhGN))`{!)Gfq{%JZ%TD?6h9utt(-#NKe$jTB0LSYBt9FNw+zH9Pqqsc zDeSXKcjZr*qJLM7SrYipeJ~_1UE*toZT}hoJ)#Robm1EqhyH2hqQ>q(y*5GCvY7y_ zows`2T^|tRZNXuY!D#q`H#~h(aindw4su4)N<7f)!!!NeXG8b)0TgmlSxUufxkl2& zHjr4*BcIaHTo`UR5l412MhY*(noepK(5VIf41*Yc5^bA}K^ zpRKi_wej^;{wG=LuU0?u*7OOv9G#x|Ds&J^JP3D-u`t&nfmu!v&OT#LWnaO|Ftfix zWtjH}YvwcyiTD&3`h}?^;DD#223**F64yw|p*EdtR04C*gv8DMDb5LbyLLbm*L+mo zNnJWJ^9=~&8@S+9=B;&g+!MymPr8R$64^y*qM? z5o_>AnZm?==40hfY|yo;{?TL5?)k1Jx{~0sq138|tp*ms_vo(hsEzfG+75JeJM3D? zWYG&z3rcII$>?Nb#Hg@Ox_FqA4n2#RSp`S5<#%@5U!DA)ka%RL|8z-Y5tx31tbRS~?;bwB^c!~gE|-pY)8C@Be`CrKHa)_o{{`4oRz&0qHTAhOf!_XC zlo-c@qSb!=ADoc-b;S3tk?y0u<@Z4GMG@WQcojw6Ygo-G{e-I6ZWcxo;DmqK7r)v; zdbU$}ad#uUeQPqW1kqiJXGxc!X>LlTmjHhqvcLM0pOBdH!9(u?ScIRR`+=$$O<;h8 zzlxGP7L87K0;(-P;r)j@sz(hz8iAt`I2wV!8iZ zTT6ME1{^1F7+{-%oaXdGT({=W96r5(!Ti3fCB!W9HsQSiK+tG$G=-gOnc##^>XPZW zm+VF7c7KIj#|7fFs3MH04YQh(@{06{-4p6?)2#k}Y6}8IePw#KB0Mkd#T6w4L;BD{ z1=Sn9O3#HQlZTuaX_c%k;(1->ETbyET~$SZ0hZginMqX}m_M49g0u<@0QV_4)ZjksC<}7H(xk73Pbp^f70fo8}l8>VSE`Ywiwq1E+7Z zR$nY!dj(iMPOEUto}1#ho?U=afN-ao8R_K7M=CTNNJ{|a&4e@;89M5ii~s=K!#V(0 zExb*F%un{YmI0!E4X{RrkurC^urN{A4zrFS!_KI8)JS&N=&8h-=nV5K%vbMdMTPvz z%NeMv1TJdo)G8&d$$L&ITv84byzW@V*HBH*gJZHZuhAcztmPiReF-{NPJEQ|94>Mhlj zBJE+9)?|CxjTc)@=th3J*+w` zFwWM|+G&M}nL=H3qwQhC>_qSf&%~q!&U=Pu?_Mm*Epn>Tj}DEQ!^4*qePS3^@7Gbw z(26T5)oYs6efiaGbNwf~E**l*LY?H4G5+HNY09YUkY-uhC@rP5+Keh3?^C}o ze1YD&adgkv8*Vw-IB;V(dP!4aB%j1|sKuou{qf0!bedk} z9fABQe8SPe1=i8|LEIQ@(mOUz2~pc~z_TB(S2eT0&YWL!WQ(d*=+4JZz44w7HJj4A zt{7*7=XlUNWS#sO*wlMw;QIWYsfkACJ$b~0JObh^if+=r^1t5?H zEJ!^ea%T57dwza1cag(5uGWChbM1x5vSW@k0?`;k;Xnl(XG9pE8zW#|((ivfAne&` zk2`z8Z+Kfba(g>~k!Mq2qe>Otf3<=}d$1$peU=Yy%qm&C5LxkRGw<3OrHb`Or^QY* z3|&fw&wuL?4v^u+ou|0^(H|vw`wCTsCJlGM{5R3j7o#>Nk^BS8)_b>3D}+_C>m@C3kQGQnIKgL&EjV$A?Pi?<>OTcLi=HVU zE#3!^85RJ&p5|XJb=BkO@9w~&LHJWYX17Fg^gQ0c$1;+#J=S89nHWVNzD+Lj&ZrKq z8E*))Q)*Q5?;}F$1=EDnF;?i{06`}a>1QWw{F3V@)G5?>71Xyw6u^%oa<+Z1&m*W; zGh{plIik;dJhnDik~5o8l^4&kXq{ncOoj%uls?z0b*glJPb3uGbvo5C* zLxwSj(L63h-_j+?4TT`(Z*a?d3LDQm<%7!FlQyi zhWKn{41#MDBdGV(n&j(5c<7{qor%tai8c<+)%MzBw(C@0lvQA$tCpeVjYGO`Rk>8LB^knmmF0*^^lrtYR~C*$U_knY1LPb_#G`ZPtQ za{Dr(+INmejWjX(O5@>)$^g?-<_m!NLGQ0QxwAy4}cjM$za-@h^e>VTgvT(KHe$Ucm zP55fpRQIJ9#NAB{cW5?D#TzN`xiBdfoAc8n4U9{y#{!rr`7d2X^J8?&yCtJE9bw+N z=3+kjz3KyT!Iz)YKJS~d#>q&&=sG71T$fMiqRHkdGmQ;?InBa<5~Ag;5JnS1r|j3u zniJuP8GCNWN#Ia~I|+I?iKwva81k&1@(H?U+^(V`!^yLrtR|cuH1k+jtzcXvy&L9e z^5A$}GdWEJ!^3O9S$OywO5s1PPuXf)Q1wy@7&e#WDi^?ZUKQ#x1bO|7FhTc3Y_ zv%vJ4iuP%%bj`ChK)lFD;SW5w&*`UAWP+WVXUcgFu0t98Lt4Mz>r0l*q)HfC-|>2Ek6vN%=MsA zcp`Dy<@C+@Cc$7WsP$6jz|-}F!eVb_@Ah+na@ALE0ff+#FCY~iss{=Rwa#{fM`x~T zF>uKXi(7pU$XUOsL!;$!aO3|9DvFF{eyA5kZ%c=9`@z z0pLY=e(xDY(L6c({l*>0^h%y~oDb9Wu^Wzms{`ioKZ#h3hU+*PjACXNsHfb8*(Zq= z`nB*ia8sv@2ef~)-s{SN`>^F=rr?Hbvm`r{!MY568c3gDHB%4!}(vS85n(mDy z(*??;^%butT9wJ324$F835}0OMd%Ot?{SCk+2B(yg5PTx6Yc1GF=?0*NN1OKVY<5k z&7)0u*H<31Lrxin$f>?J+PO;v!?{E|Y)1v58!a8eHLeNMd#PljRuOc(?Dom$wv?EQ z&0ATUwQA6$*LsAJA&`V>v(q(~G#g!aR-G1sh3UZW0p!nH7i(tjTQ*$==WSRu?u3F& z9-Yp0nSLx3Vf_(A|IcL&WW%a_>ec*xAWRie56#xaRSPmwgPI?jgIPo;dHTx({4uoX zd#yC>P1e`Wg5o6F^7ZaUNuKo$bQ3(&pa0SE$t9RleB5HIS@Ns!Jpv_@bb8%Yl?Ywm zGjRX>NEmgUn%;mHP1oZr>hfM@8b509k*6L{#;2!}%w2dQ`fck1&KQPjkp~Iq6!~w- zmVs~hGuRLi*18Azzit35SgMW@@Cher+F3{uwM_Dk+*%du=E{60ri_Ot&7)6@p4w)k zcKl_DtykXS)h0F}6LK^6z@jTBN|}zeX!6z$TECnoi7D{stZo`Uhprjos&_4NVu`24 z0;f}5lx%$3^b}eqX;&ucA<4@i9JwWhZ{S0j{KGKygaV0_?jqU7$9%^?BZ9&9`H_9) zUJWCL%d_4iv^k0*!8M+|55~_T=Mm{`8Oxa;1vnOEZ26StnZRi`vd&!}!Usfe$$U^# z3#gqpv)(O#I8dkD&!(wk`+haq6wq)R$N#vYksy9z`M~mqkM_mP=Qr7{)ocw4dpr%Lr0KOj9MBk5H$g5hk&cz_8Boj)6VAQ|o;QryLe!oz)8`E>T2&rMZAgBnQ? z##;G{T8Fm)4+&a+7h}Xnoy@uq#+nj;5GYZ?)pQ@|M$bL&J%e>2>P863x%7BnPt24{ zzb(YTCJL?ai;=l8sQIGM-i6?y=>41X)in4uxi>)AbAuRbQi<=eZC{~Xrm;cMFoK(i z->r~0>&g3!#!Ybq74CI_tBLx=_Y>0Rfr=qM_d|Fb1*CEa6ghKs=;*-Wi;C;z^sT~g zBq;=_F2Bd34}YH>6x2+!k+!21tQYr=);}6Q=<(BFsgLiPo2S9RzLsL;!y5b-E3fBVDPs*_ihM=QZ`LgZmF@ql?-GtN2Xd9%oPN>yZ{) z34ZIQG7>t&FWvdXGH5XSd=2R-W6AWSh`=$1*BIHQ%x{5_G2^pz`45?&-Zg$dc>JpXv#sU*a5Es%^cB{z zY_jYRXw#~*U)v~abv_4eN#%X_+6hlL5^ikrUNIk;;;RFmRI)CW3Lga%{KpkyzC4Vu0%Hfr_8HR4{J z4;{ke{`h?U*Hs$p)i@C}^AmOD;_Q!noBCmh26l9A%Pu==_YP`brRy*yzkL7}kDWQQ zyp(D@D|;E}y5G%qjdiV)<7-V*gojI+ex$=kW&X29K)ItbFBbE36|t?OJ{aiLHM{7C54QF=ducI5z#_HN=CJJuI}>v>mK}z;V_6_-q%pbO@nr>f3G*v=GJk|1t%JK|a< z38fB=wha34)R+XST$PVm93C#WC;{VrB6@EXSMZ4^{Km0;`B$t=NOu*A zlnoe{ri%h~0ND!ibvQ5BTo*Nf2rXzBTzaTZS^4as`fzFE@v<&=J`X%RLh-3Fu4#Re zEPiKZJ1IvxlSzj3=Sxh>np1A02Gvowyf9BCz*ZtG*n9^lE6Yk>m#@mUD>P>D~#Or7;UtleP*?KaS zp<@k|nD9^qA8BvnbcWXvGz|8qg{UcASixxgIU+#oG$a{(V0<4yun=h2C1tH=$@bL4 z?9xdZoz4^TH|Yw*I;8W>>MM!Lu8uGEXIB)5&1|!14YspHc$lda}wNgUy9gOtRzCHL6hAfY7ILx#^KY|4#r%yIr>SHVzN%T z(MF}HFFzY4gH?n1FD=#gN|rC_OM&TUNg8jl`9Gba<`>q4g6hn0;p5Gefi{y1w4f7EYyg3b)5&H2&E#q`YAXMbFMW-dFo%=&7&F$Hr4R3%<- zrF9M-H~}INd(dqSFs&Lkd32Bb)dpa11&+m)xu-7gCDH}Sm-Gny4G5bp48G*y@N-Jj zVD$S92!s9s`?|jcVVW_rvWsRDtx^w_%e3=DPru)m(7&i|_z>L$o!U)BAIe@M1uLx~ zLXzk8(>m1es+!|Qzf7_qEC{*4(aFk1>j^^F`0guu?L-?$mHqNOd)M6s!C>MDsWT$V z00Mq|46Dl}0VmwITA!^Sdq#xkhR*>wm(O%iNLM|Os`6Q0GN(h@(pm@g_2u}(tXkMGT= z9|Py;=Jhk(GeLCUk@H}td1^fvA1w{U@i)e-r)2ANBr~LFD0D7B8eY0m6AHe?vn1D% z%zr|Zy-p3;>5NrWyqbvYDY!e;9`=rKAJC{8zMgeyVACBcRo@ZJycwCJPifU(1wrz> z9ZNJPs?4KuGri`R3d&mw;#x~8I1YmKKiXrc2(KGdgDXwdg=`&Llk$AO?AZE{xFm)K zg<$NcG0CCkn(L#Ny9a6tDQOCe&WAnb=&+noKV9F4MuWmK)x=!0?%pd&FpiK4!Xg-L zc~x1@g93+W)_0!QQm`)Qx<;L>Zsa3ZZW{#EjS%%rDWW)~gn~*Q>pEcqc0ayO$2=_& zg!R4A3ez6s<+*}rQV2qiHh;S(>(Z6L48s}s4{@uUQ)y8fYc|m^PT@RwA86_-6Qn)T z{LCFc9hnhDDHOIKiFp*JLv=j3QP~DLjV89IgNg2=qpi4!E^12}@Qf5bvm)bv z*rn$`xO|bGvFZf+7)C&UMM$T0soCi{4q$y;D@FeBEd^B<9Lx$Vs!VgWu|_HkgF<}M z!rTRdh9@-*OpDQvXs#l#vKZ9iQ{#R_6HEP@PPbIriB;;$EkD+I2)eS@8-vIl&%_P$ zmyC9#NRrfI6BlMVy?T)hy_^W$YKT5z=e@~rWrZ%M_;o=e#s9VU-BC?#Tfad-5RjtM zL=_ZmO}m1;P^p$I5lnjpP}CcT4%7DDKqL;(W{@bud(Ao5EZb%>GEeI+WuL&L#G+d65hXi~E1qcj zD?NT?#TIXtuX7)Jdl$ZS@9#Y~e35pM~ZS8|lqqj7rPG1sAYWfpmOU8Hn^nS}<+GM$8KMv`D$>Yy`GxU0c6Zr`z5_YPNK_FG)(w9C84wbVvH*(6&= zh2u$VcoRIIxTlf+XbjizmbUCFCV7L^%ApM;tP}1gNC}uvY-P?#LNv z8%%Q=ZTg*QhVN93hXFWa1~mS4eRM*|DEK=E-u}cp>kOnC+4S=8HDDifzl3g;oPmz7 zNNt`foPm)3i&i9R3&eVUxiJAtP8_~;2AUEAY;1L@08||C1DSp)r)|bo$G3}tr?fu< zo!>AmOAK7RXfUQQ{h^K|T4{b~|CLa2@?*tkDOR$Xt0&4Z3@;rF69Ro<}Zi*YvtIjxm2Kd-8~Y zv?_mb&0EU;Fbcn$VxPT{hIyYMjsA!?t4hdL-F%q7+HF9`z%%_XV3-e5z#GNq`)R@& zGrPD-^-eJ^u6K6zwMCFxly^lu+!N!`MFNe(Q6Y4r`@^&wKRu^9yo<22rGqP&z6&>z z+Mwsuae5N&#|QjqfBasXDI^ug4cQIkaH&=xdDk~J)~oPWYV$I*R`ho1K`nFBex&aR z47X#ehN5}ioilCo=Xm$wwX;eyzXpgAbmSRt`d8`blMmj-6XRa47pE$~Gl`N9t}N6U ze9$Mcy*LB4s>4r58oq5hHpoP7o5b&Er{>eSncvng433sYEZhL185}H}4(?&NI($Sl z4|4~`sb%k6DSQO^nhwRYSjOX^R1TTUqaP|hSH2ver9z8xNIbwy$6MAfW$*kYsv)7H zJ-LO;LZ&N|=Z)7Ev7A*vdh-e!Z)I;-mx?)$9A?lT*3Cp`N_6(ZUiAyOIbOcl^yrV- zLVc6)egPUzYB#?%U#S)7HO1R-T=jU6BW^uK5A~K{VC(Wh#fDzwk896Z+m_zXp>wtZ z3J%xWVs#!*G0(4Gn!7@?n;eRSGW-*S%#fi>uJPrO>Wd+ZlX9*XM{C|J>(84C33JzP zAjv1x{%hMCxMqkhy*_$Z)HWH9;d01Szqs=8W5sM{s@U*|@!wk@FrvA%`Qw$E@LT#7 zHWk_WCI^bXQoC%2HHWVaW@taCetp{&reZrmm_yf@&CJeR*KxQJLC+?9m6|%)s?5qX;YMn8@$Oqz3PHMc(aOY)f-OtI@%b~5%J<8?@z!=i%;6x#OO@Q6 zf$^sMj|jdUP;N&LM+2*k(kuNdN9@|m@<`d~CZ<1pgy)-C6)o_?-KOSgk5Z1|>JmpG z>SO+lxpC62l&jotf0nDm*n=bqlPLm8H&4?>AGBD#^U72!;)_jhJ&Lkv-h$z% z*N&Z>kWS3QV((L8ZWQrSh9$PO?wKMO$#j{NBWvS^j}rAG{e!lfp0a9#t}$dX(gchX zeHR|#d7>a`X}M{yB>UIwmS{g|ffku~!iIiQ{&Ec$Kmi$I{6I@68tJkpm`XqWl?1W6YJWvaUe| zoVKtaps}(v@htd4`C~#&RH0u~8~Ru}(Vsi%>liH=O+z6eBgT`%x2_uicu;G?Xo)wnyYoP7v9zT9dLqG;W2n5ksg;E#*IdUkw%F{=1hOwT0c)yCZX$J(B;bJ#}4=yTyYamyiL{yY9G%0@lw5NS)7+m zp=Rl2T(JKSSj@Z#UhK_|2)3iJa4RPwZ($dEee+}+zd`Tg3vM~pcL~XF##A49?M3u2UO)sY%By1DckiKo=gKN7mm;#` zgmq1U+GhcC!iXY_MO~y$DA?uhlU8V_NoJsJ%rkTvnI4~%Uuqk;q~yYin%FIyQ@h#9 zRLdc<0A3Vdyy=+=Rbuy0*$eJsdBpKVHOla|VQe+XVdELyM-?hIj?aQT|?a5LFx&)wDY zDrh-d^z*w3X4@TIKO(2qF34MDPJKk%gb@OGQ^>W zHHxvC%{El($pz?PpU@hx%L>rrw;n#1rF@(Kc=TR;{C}B#l+*c@x0_-+FWP>EKjp*?Vo6@(nmkHXyk&W zto$^%EEL>z(GvlZT8Zui-ld2gm)wT2@!)SUapK>LUkOq@b76?$!N{X!@RXJ&O={&t z%gIfhQc)RQLt~-GeP_J%A6TQs7#P14=3fZ>iNOEm8ehZCz)n>y+0Q^e zh&ApY5(!A9>(OaH1MLozmjKoMPuF=<^kH}}x6vmI{ zVeL0XitM@B`$(~=r?H0_JKoAA1#`^mzLpdd&Id4%gN*c8ZuB9CZE%5tg}(6ZpHwUs z=umI2V8hm{7YD0~Zk$ANU>%3hkLdb>+o+7+lKs)!)nZ(Ji2GHk0x5bn_P0D(Fykwb z1p%#}tcxffZ<44^*F1QvR6sj#{EyVWYp;C0j$m~ckV;?u%Ddl(^cw)?`+l)D($Q;G zz$5B9HwI$3d+u4hyXEW>>PRs2<{9YoWAy1;r$a0^5Q(Bl5IYGkL+u+H*AVwkwb$Mt zwpqOaBPFd4I*mTn9z>tKS^>-)cQg$Nc(r@w8i45;sN*~GfbZAd>PS$=>hN+3U}SVZ z{F@oX>xezP0y|+9RVM+Pa!*(RV(KAu|4}vj4j4%IIRE|(^z^sCSxtFFt5bDRuG1!K z;1X_`f1bupc=RWDoKJp(1C;ZY}n>g1L38-yrw1{&bl znh{$Q^=FTPF0VELF*KH=2suY=l~ODQMdl0PtBLpWk*w50G;|gV1XspD#Y}y7m~4Gr z&p@=;*E=~F?wD;Pc(+2RH|s?XQ~%_9lG+qz_6*c6v#8+kQ`1&~KZ;axztVp8R>${) z@~0yQjZ7>KlQU)M@`G@WU`i)^L|E>(!?>#NL&{nhfxITiV?tUWH8fSbCQwKk?a5u z^o250P-c9&+g)}MkVmFPdfN{hryMnjLlZ78$@Y=Z)Fcq^IU2d=Pvg!16iaX?TesRc zS=?Fhec>ENWS9XVDFjlcV)Pj3;Hi_EbuxX{Ak(^qkqGji%;ZLLijRBDCLqkw&P9&M zbu4AMS1)1B)XzujS+{P#i^_?oMNMA5PEHVG^SEI5dq>>#^+awN(R!MLLC>r&C~~4d zU=Z?&orZD$=a&KB{v1~xT6%vXZYiUPp+OYo4uzvF(z*dGAK&#wDu2=pN?;6#@h+GD z7UZ36MOKD@&{dBduv`Mow4+)pYP^s6TC`}CH006mom%8a#7=p^Aoz^XJ=fSo%U2G$ z9v>2f-eLJEGjq6|GHdbdZKg=Y)ti#L$1VktWxI?Hoc zE>9e>WI{o@URgZeJ8Ejgkm!OweD%T1td7vNyD>Qxpu?dNNNQQ)(ol1u1A=MP>&TL= zrP0jMPA!ty_g=((3`5~*g?x4lHF3qxV?5Os(u`|;N$uVU4zZdX#u2T z?sMe<3L$3ZIvT!rnR1^{Od*$u0#>ve@}+}sol=aAdhaFb@=2VxzMvl((JFT>hA`-n z#e?lIg}f>7^VF#PT-_w2y6I4Q{kL0ToEj%NMcA%j;opger&mY!brm|&q>>^^aSiN- z>W*~Rf1~Y_+2PhZmE15d=&r?2#(#92zcyM@BImePl#zU0DrY|Au{sBwA zb~%|fO0O0)=$qY@5bj3*hXxkSy2V?)jPq`50#@9(o@W~&3Mq3@@T6_~CE*9iST#R#^TQHX!BqIR**T|kg zptW=+7oMlo+f#zSa#owV;qm~oAxWPmq#n|mwj09l7dhS$Liw$%?D=oWW{$kIs{Tl0 zgHND6wBXcbi{Z|A<{3ZN)`04713k!oXMVPIn8f|f$I9Ht%cOJg*C+3pwed>^8tXH; z*=Hc^AI1O3ooJ%U(+`fB_a@1Fix@GzOwzywCv;8EQUDvnCvya|kY*wH{^BXKiG!(q ztQ3ltSgSK$(DLJ)Y4uK}?0m#ap%ic@-MdYiu{zW%wySKZOS-P@5Ye&yjlHJUaYYy&R-GZuQX9*z2c#*5MV5ZM|Ea$ z5gPh(|LAf7-hYmN1ApkRzwp-)U|qvr3gH0si1zxi)zhid zVG?bE?e@IO$yeAwD4f#SClB zq7@=$`JXK*E;DQLhEvc~ur6oehuuvvvSVbcqUovL(@IdPJx@f^?;%d`UMMbevAV%M zkBBn-QjvJ_j6z~aiC*{?c>;|@bSQm=doAe@LJI6{1&@2q*<}Q<89h8IDpk^1u#CME zpSLlizGV^|w>+n-`1xqeyasd>x6&ovCA(H&zOiX_Zr{->SWItB%(P?MS76a`C29z{ z@|kA9_l|g+c(;=L8q9#mo}-hq5#aMKU=nOwFLN0t0`W=_4Tad&yT`c4$!(w^vE`0g zvmrba`&kOTB=6jsc^AyA%m<69o*~JMXT~}38T&(QRJD@e(Dx9GqiAh$??Op&X7mEC$GPe~I5}Jp!F z;Cj8{cfhqrDWdMHM?6LnpTuJaPv-0Q9uVIxz=$UD)HNw5d525_8!n1izQG~Z6b_)x z_mJmIDuJ&x3;)@R-dT*Kv(2MBHV3Sqo*{fkydKePu z{RoN&a#GE0fv;Vl+_2L|RioH8=0;z~zz@jaIW?4vjI+LE97Z^QY#a5(D_WRIa)5O2 z0^>;?rdoMO!K*A?r}A`gOr%6{SaN%WU*T}c=NqN$&R9LSEe?HH+ldkDvYKfzp0YJL z?L7>hC7|AuA|XIn--dZy1%8WUw&;?wB(`HEye(dWct(Qk5V1oi9bm-Bewn5T(fg#7 zAfrP_IV?{)9xV~e7VWYey6NLJyjrl+I)HuCm)HKz5zmlIdF zs+A=AO~&oV54aq5odqqB>byNqPng^SURwARI?1lT=cq-pslNxto18ZRdLO{xA{>GngZp8tM-U?!YL2ee(>?Q_ zC1Oz_7tTPhXgWL`!82eNtjG9K3oI$NO+&mM)reNwqQ_yw5jYC`T$<)#)NJis)v0UZ zimltj7#G)FppwHD{BNxZ$`rbx7w>_2a$$ufpDk4zZ5nHNWi1=^R2b^lXbNQc1nTy# zk?)NJ1-yfNtZehA+j+Y?7m5qmk)x7W%izgah)G*&^2Cp;5H^21e%nvIELvcxaYIfZr53hZwy2r2s29voQBio4^=J1u#!2) zSI(q691H=T*R9Atby(uVv{&oSVlBLInX6B^Li!^qc`|y8flepo8u+Z2`v~d{O1;sA z+nfq{$!ZPSW*l?f#|#ux#yNhlwqt1ceprD6{z}aIvHt5A{?Zs1+mrL4ZQ;=-!G#lW zTY&O-l^>mk-iBSmF4Cw=M*Q?8$cMGt@5e${){>~#R`N{A@$-+k-^wbE-mWN9R3z~( zP_%8!9xOHa<85Jt7+FHr=r2{bpUXf}4Gtl4l@_vK!b1rJ;0T^<3hfNyYed2e!f|Co3~+h{*Z8rZ z8O4vU9!hb%S5ySM(KAyzcJzH&TC3|3NJEojThHB8ChMG{oM1$mSEF{G?tOnYjc+a~ z!ztG*H6*gnNyv8Fc)lHNBC_Cm6-7PsW^{#|40|f2i@jQc>MtV2lRzx*x)d&F82f%O z0n-yT`r5za&CAlA_}~$*@|R=X7)MN&Z*dQ~Tg*pT2Z`ahgz5X+JQ|z}W6Rhsr6Z+U z6;x~!vVG;g`UbFu;Zd(%l!%E@_ifaCl&&+m@1lhU?NG<5hRv<9t^pFnq{vOUu?xFQ zG`2|YA`L*C2jek6+>rxORMND)RQ8JBJuSTv_#bW9OLvwD&aVL_>XY^^6PyhOu%BBEV>zIo9igk*uL9beUPbTxk!r(sa2nrvg{&e3lx znD73tXEZ~6!Tg?#Vi*{@3sfi>$XuX?twz=WR&nEP(GbqmjHfPpd8taRbXkKJoll2- z3{1(AlCtd>td2xrC@VDWDu#e+FJ~mKKK1pfoN*F57u{$>d6%0qoYoo&kzcG0a>W;S zw8;Hofhnm;dmH+3cPey%MtLEegK0Rft`y5f7Q*kvJ!kiYi{^jKzSUU6D@idT%Nt4g zW2sCy5lXQu<}B*br#I1d95Re$T7j>_kZk@0Z zp!8{W_PU6M$53~%xFRw*kO1@ZGW#YGu}-RoVb5Wf+0N@2c!+ z^>N<+OvMt;6hP=bWrVkIe=Bn(Q!FNrjV-K{>{5uw)p2&5r&P4l=E-mJK)g)bi}Hr2 zpMgMrc~w<)a&U#v2exJB-P%HjISn+6%CBWDtTy5>rhv<gIx0K|LUo#=(z-~deTXXEk)w7#LYqoNmo;_9meTb=AaoDWPcbfo8?|z zX~_j_w2x`9j)lua?IkhRL0ZCa%;~882RWg}^Ta{wE+%em4ET0295H8UO$Q literal 278777 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
5l9i)gY{Y{Z{L(EsZ9)lJ_`2_F2=pVtG9+uMMF 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 G)Bge3D4>}D