From 663692fe7355976e02e57147f59c219f3c26f9e3 Mon Sep 17 00:00:00 2001 From: "Blanca A. Ceballos Martin" Date: Mon, 5 Sep 2016 13:53:38 +0000 Subject: [PATCH] version 1.1 --- DESCRIPTION | 20 +++-- MD5 | 30 ++++--- NAMESPACE | 5 +- R/MMOORA.R | 55 ++++++------ R/MetaRanking.R | 127 +++++++++++++------------- R/RIM.R | 76 ++++++++++++++++ R/TOPSISLinear.R | 74 ++++++++++++++++ R/{TOPSIS.R => TOPSISVector.R} | 132 +++++++++++++-------------- R/TheoryOfDominance.R | 22 +++++ R/VIKOR.R | 137 +++++++++++++++-------------- R/WASPAS.R | 47 +++++----- man/MMOORA.Rd | 11 ++- man/MetaRanking.Rd | 23 +++-- man/RIM.Rd | 36 ++++++++ man/TOPSISLinear.Rd | 32 +++++++ man/{TOPSIS.Rd => TOPSISVector.Rd} | 23 ++--- man/VIKOR.Rd | 9 +- man/WASPAS.Rd | 14 +-- vignettes/MCDM.pdf | Bin 196934 -> 0 bytes 19 files changed, 574 insertions(+), 299 deletions(-) create mode 100644 R/RIM.R create mode 100644 R/TOPSISLinear.R rename R/{TOPSIS.R => TOPSISVector.R} (76%) create mode 100644 R/TheoryOfDominance.R create mode 100644 man/RIM.Rd create mode 100644 man/TOPSISLinear.Rd rename man/{TOPSIS.Rd => TOPSISVector.Rd} (55%) delete mode 100644 vignettes/MCDM.pdf diff --git a/DESCRIPTION b/DESCRIPTION index 1d2437c..fb34027 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,13 +1,21 @@ Package: MCDM -Title: Multi-Criteria Decision Making Methods -Version: 1.0 -Date: 2015-09-10 +Type: Package +Title: Multi-Criteria Decision Making Methods for Crisp Data +Version: 1.1 +Date: 2016-09-05 Author: Blanca A. Ceballos Martin Maintainer: Blanca A. Ceballos Martin -Description: An R implementation of Four Multi-Criteria Decision Making (MCDM) Methods: Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS), "VIseKriterijumska Optimizacija I Kompromisno Resenje" (VIKOR), both Multi-Objective Optimization by Ratio Analysis and Full Multiplicative Form (Multi-MOORA) and Weighted Aggregated Sum Product ASsessment (WASPAS). In addition, this package provides a MetaRanking function which combines the output of the previous methods. +Description: Implementation of several MCDM methos for crisp data for decision + making problems. The methods that are implemented in this package are RIM, + TOPSIS (with two normalization procedures), VIKOR, Multi-MOORA and WASPAS. + In addition, MetaRanking function calculates a new ranking from the sum + of the rankings calculated, as well as an aggregated ranking. +Imports: RankAggreg License: LGPL (>= 3) URL: http://decsai.ugr.es/index.php?p=miembros&id=19909 +LazyData: true +RoxygenNote: 5.0.1 NeedsCompilation: no -Packaged: 2015-11-18 16:00:54 UTC; Blanky +Packaged: 2016-09-05 11:31:04 UTC; Modo Repository: CRAN -Date/Publication: 2015-11-19 11:02:12 +Date/Publication: 2016-09-05 13:53:38 diff --git a/MD5 b/MD5 index 945e6bd..b2a59ed 100644 --- a/MD5 +++ b/MD5 @@ -1,13 +1,17 @@ -b301612e520e87ecf367a63d632b0645 *DESCRIPTION -0f714634d9b6e945d6b30e5d6276b22e *NAMESPACE -a6d7468cec7f23a7d52226beb220a609 *R/MMOORA.R -916b563fb195602c830dd3c55b3f1f7e *R/MetaRanking.R -5b246b44eab588a3641bf7288c90f566 *R/TOPSIS.R -6f0bdad34dcfb7883f3dc08ebdecb72e *R/VIKOR.R -f80bef4b19a66218360122eb29b1f0b0 *R/WASPAS.R -e91d631037e23f00c7fd70739a1278c3 *man/MMOORA.Rd -c3d685827adbeb13256720e443d2687a *man/MetaRanking.Rd -a263ae3ec5866104e5736868d3ebbd8e *man/TOPSIS.Rd -73dae3c80f82ad4dd9119924e75ce00d *man/VIKOR.Rd -244851b5223807a97aaceba704f70a8e *man/WASPAS.Rd -9120b7e76ff718096df3feea7dce908d *vignettes/MCDM.pdf +69910b71bb5bd011e994234c8b59b0c1 *DESCRIPTION +9b7c4e38c891101fd4549788a687c7de *NAMESPACE +8287ca47154ab5e73e30274a16880212 *R/MMOORA.R +5b035e73afcd7f7bae9d167620a5a93b *R/MetaRanking.R +76fbfe56c0a7f78ed63313786b5cff85 *R/RIM.R +00ac3bdfc38bc0f08b8c3c52233e6555 *R/TOPSISLinear.R +4688cfc2894c6138351b9d12525d697d *R/TOPSISVector.R +8d25956de81910c4f10a7d01606915a3 *R/TheoryOfDominance.R +36138b0987e910975df5fd5e956556a2 *R/VIKOR.R +b5f8ffd3b9c728bd73b802be03486e88 *R/WASPAS.R +6803bdbf53ad9f3fd94ebe327a580fb6 *man/MMOORA.Rd +7e39cee422906ca0e238c31f6aaa3d15 *man/MetaRanking.Rd +cbd050e6512a7d2e1db0dfb7c996371d *man/RIM.Rd +2cb23006a72a752f685f0e05cd52e4f7 *man/TOPSISLinear.Rd +f757fbf818251edabcb38bdf2d81879f *man/TOPSISVector.Rd +33a7b42ebabfc5a90616c496db7639c4 *man/VIKOR.Rd +3369c5e7b9317128957225d4a03fd52b *man/WASPAS.Rd diff --git a/NAMESPACE b/NAMESPACE index f591e2d..f146914 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,2 +1,3 @@ -exportPattern("^[[:alpha:]]+") - +import(RankAggreg) +export(MetaRanking, MMOORA, RIM, TOPSISVector, TOPSISLinear, VIKOR, WASPAS) + diff --git a/R/MMOORA.R b/R/MMOORA.R index cdf9870..64a18c8 100644 --- a/R/MMOORA.R +++ b/R/MMOORA.R @@ -1,16 +1,18 @@ #' Implementation of MULTIMOORA Method for Multi-Criteria Decision Making Problems. #' #' @description The \code{MMOORA} function implements both the Multi-Objetive Optimization by Ration Analysis (MOORA) and the "Full Multiplicative Form" (MULTIMOORA). -#' @param decision The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria. +#' @param decision The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria. #' @param weights A vector of length \emph{n}, containing the weights for the criteria. The sum of the weights has to be 1. #' @param cb A vector of length \emph{n}. Each component is either \code{cb(i)='max'} if the \emph{i-th} criterion is benefit or \code{cb(i)='min'} if the \emph{i-th} criterion is a cost. -#' @return \code{MMOORA} returns a data frame which contains the scores and the four rankings calculated (Ratio System, Reference Point, Multiplicative Form and Multi-MOORA ranking). +#' @return \code{MMOORA} returns a data frame which contains the scores and the four rankings calculated (Ratio System, Reference Point, Multiplicative Form and Multi-MOORA ranking). #' @references Brauers, W. K. M.; Zavadskas, E. K. Project management by MULTIMOORA as an instrument for transition economies. Technological and Economic Development of Economy, 16(1), 5-24, 2010. #' @examples -#' -#' d <- matrix(rpois(12, 5), nrow = 4) -#' w <- c(0.2, 0.2, 0.6) -#' cb <- c('max','min','max') +#' +#' d <- matrix(c(60,6.35,6.8,10,2.5,4.5,3,0.4,0.15,0.1,0.2,0.1,0.08,0.1,2540,1016,1727.2, +#' 1000,560,1016,1778,500,3000,1500,2000,500,350,1000,990,1041,1676,965,915,508,920), +#' nrow=7,ncol=5) +#' w <- c(0.036,0.192,0.326,0.326,0.12) +#' cb <- c('max','min','max','max','max') #' MMOORA(d,w,cb) MMOORA <- function(decision, #matrix with all the alternatives @@ -33,10 +35,10 @@ MMOORA <- function(decision, #matrix with all the alternatives stop("length of 'weights' does not match the number of the criteria") if(length(cb) != ncol(decision)) stop("length of 'cb' does not match the number of the criteria") - - + + #MMOORA method - + #1. Normalization and weighting d = sqrt(colSums(decision^2)) NW <- matrix(nrow = nrow(decision), ncol = ncol(decision)) @@ -48,44 +50,39 @@ MMOORA <- function(decision, #matrix with all the alternatives NR <- NW for(j in 1:ncol(decision)){ if (cb[j] == 'min'){ - NR[,j] <- NW[,j]*(-1) + NR[,j] <- NW[,j]*(-1) } } RS <- apply(NR, 1, sum) - + #3. Reference point - Ref <- as.integer(cb == "max") * apply(NW, 2, max) + + Ref <- as.integer(cb == "max") * apply(NW, 2, max) + as.integer(cb == "min") * apply(NW, 2, min) RefP <- matrix(nrow = nrow(decision), ncol = ncol(decision)) for(j in 1:ncol(decision)){ RefP[,j] <- abs(Ref[j]-NW[,j]) } RP <- apply(RefP, 1, max) - + #4. Multiplicative form - NEW <- matrix(nrow = nrow(decision), ncol = ncol(decision)) - for(j in 1:ncol(decision)){ - NEW[,j] <- (decision[,j] / d[j]) ^ weights[j] - } - - max <- NEW - min <- NEW - for (j in 1:ncol(NEW)){ + max <- NW + min <- NW + for (j in 1:ncol(NW)){ if (cb[j] == 'max'){ min[,j] <- 1 }else{ max[,j] <- 1 - } + } } A <- apply(max, 1, prod) B <- apply(min, 1, prod) M <- A/B #5. Ranking the alternatives - Rrs <- rank(-RS) - Rrp <- rank(RP) - Rm <- rank(-M) - R <- Rrs + Rrp + Rm - return(data.frame(Alternatives = 1:nrow(decision), RatioSystem = RS, Ranking = rank(-RS, ties.method= "random"), ReferencePoint = RP, Ranking = rank(RP, ties.method= "random"), MultiplicativeForm = M, Ranking = rank(-M, ties.method= "random"), MultiMooraRanking = rank(R, ties.method= "random"))) - -} \ No newline at end of file + Rrs <- rank(-RS, ties.method= "first") + Rrp <- rank(RP, ties.method= "first") + Rm <- rank(-M, ties.method= "first") + MMRanking = TheoryOfDominance(Rrs,Rrp,Rm,decision) + return(data.frame(Alternatives = 1:nrow(decision), RatioSystem = RS, Ranking = Rrs, ReferencePoint = RP, Ranking = Rrp, MultiplicativeForm = M, Ranking = Rm, MultiMooraRanking = MMRanking)) + +} diff --git a/R/MetaRanking.R b/R/MetaRanking.R index 73fd1b1..acbcc44 100644 --- a/R/MetaRanking.R +++ b/R/MetaRanking.R @@ -1,63 +1,64 @@ -#' Implementation of MetaRanking function for Multi-Criteria Decision Making Problems. -#' -#' @description The \code{MetaRanking} function internally calls functions \code{MMOORA}, \code{TOPSIS}, \code{VIKOR} and \code{WASPAS} and then calculates a sum of the their rankings. -#' @param decision The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria. -#' @param weights A vector of length \emph{n}, containing the weights for the criteria. The sum of the weights has to be 1. -#' @param cb A vector of length \emph{n}. Each component is either \code{cb(i)='max'} if the \emph{i-th} criterion is benefit or \code{cb(i)='min'} if the \emph{i-th} criterion is a cost. -#' @param lambda A value in [0,1]. It is used in the calculation of the W index for WASPAS method. -#' @param v A value in [0,1]. It is used in the calculation of the Q index for VIKOR method. -#' @return \code{MetaRanking} returns a data frame which contains the rankings of the Multi-MOORA, TOPSIS, VIKOR, WASPAS Methods and the MetaRanking of the alternatives. -#' @examples -#' -#' d <- matrix(rpois(12, 5), nrow = 4) -#' w <- c(0.2, 0.2, 0.6) -#' cb <- c('max','min','max') -#' lambda <- 0.5 -#' v <- 0.5 -#' MetaRanking(d,w,cb,lambda,v) - -MetaRanking <- function(decision, #matrix with all the alternatives - weights, #vector with the numeric values of the weights - cb, #vector with the "type" of the criteria (benefit = "max", cost = "min") - lambda, #value with the real number of the 'lambda' parameter to calculate W - v #value with the real number of the 'v' parameter to calculate Q -) -{ - #Checking the arguments - if(! is.matrix(decision)) - stop("'decision' must be a matrix with the values of the alternatives") - if(missing(weights)) - stop("a vector containing n weigths, adding up to 1, should be provided") - if(sum(weights) != 1) - stop("The sum of 'weights' is not equal to 1") - if(! is.character(cb)) - stop("'cb' must be a character vector with the type of the criteria") - if(! all(cb == "max" | cb == "min")) - stop("'cb' should contain only 'max' or 'min'") - if(length(weights) != ncol(decision)) - stop("length of 'weights' does not match the number of the criteria") - if(length(cb) != ncol(decision)) - stop("length of 'cb' does not match the number of the criteria") - if(missing(lambda)) - stop("a value for 'lambda' in [0,1] should be provided") - if(missing(v)) - stop("a value for 'v' in [0,1] should be provided") - - - #Multi-MOORA method - MMoora = MMOORA(decision,weights,cb) - - #TOPSIS method - Topsis = TOPSIS(decision,weights,cb) - - #VIKOR method - Vikor = VIKOR(decision,weights,cb,v) - - #WASPAS method - Waspas = WASPAS(decision,weights,cb,lambda) - - #Meta-Ranking - MetaR = MMoora[,8]+Topsis[,3]+Vikor[,5]+Waspas[,3] - return(data.frame(Alternatives = 1:nrow(decision), MMOORA = MMoora[,8], TOPSIS = Topsis[,3], VIKOR = Vikor[,5], WASPAS = Waspas[,3], METARANKING = rank(MetaR, ties.method= "random"))) - -} +#' Implementation of MetaRanking function for Multi-Criteria Decision Making Problems. +#' +#' @description The \code{MetaRanking} function internally calls functions \code{MMOORA}, \code{RIM}, \code{TOPSISLinear}, \code{TOPSISVector}, \code{VIKOR} and \code{WASPAS} and then calculates a sum of the their rankings and an aggregated ranking by applying the \code{RankAggreg} package. +#' @param decision The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria. +#' @param weights A vector of length \emph{n}, containing the weights for the criteria. The sum of the weights has to be 1. +#' @param cb A vector of length \emph{n}. Each component is either \code{cb(i)='max'} if the \emph{i-th} criterion is benefit or \code{cb(i)='min'} if the \emph{i-th} criterion is a cost. +#' @param lambda A value in [0,1]. It is used in the calculation of the W index for WASPAS method. +#' @param v A value in [0,1]. It is used in the calculation of the Q index for VIKOR method. +#' @param AB A matrix (\emph{2} x \emph{n}). AB[1,] corresponds with the A extrem, and AB[2,] represents the B extrem of the domain of each criterion. +#' @param CD A matrix (\emph{2} x \emph{n}). CD[1,] corresponds with the C extrem, and CD[2,] represents the D extrem of the ideal reference of each criterion. +#' @return \code{MetaRanking} returns a data frame which contains the rankings of the Multi-MOORA, RIM, TOPSISLinear, TOPSISVector, VIKOR, WASPAS Methods and the both MetaRankings of the alternatives. +#' @examples +#' +#' d <- matrix(c(1,2,5,3000,3750,4500),nrow = 3,ncol = 2) +#' w <- c(0.5,0.5) +#' cb <- c('min','max') +#' lambda <- 0.5 +#' v <- 0.5 +#' AB <- matrix(c(1,5,3000,4500),nrow = 2,ncol=2) +#' CD <- matrix(c(1,1,4500,4500),nrow = 2,ncol=2) +#' MetaRanking(d,w,cb,lambda,v,AB,CD) + +MetaRanking <- function(decision, #matrix with all the alternatives + weights, #vector with the numeric values of the weights + cb, #vector with the "type" of the criteria (benefit = "max", cost = "min") + lambda, #value with the real number of the 'lambda' parameter to calculate W + v, #value with the real number of the 'v' parameter to calculate Q + AB, #matrix with the range [A,B] of the universe of discourse + CD #matrix with the Reference Ideal [C,D] +) +{ + + #Multi-MOORA method + MMoora = MMOORA(decision,weights,cb) + + #RIM + Rim = RIM(decision, weights, AB, CD) + + #TOPSIS method + TopsisV = TOPSISVector(decision,weights,cb) + TopsisL = TOPSISLinear(decision,weights,cb) + + #VIKOR method + Vikor = VIKOR(decision,weights,cb,v) + + #WASPAS method + Waspas = WASPAS(decision,weights,cb,lambda) + + #Meta-Ranking + MetaR = MMoora[,8]+Rim[,3]+TopsisV[,3]+TopsisL[,3]+Vikor[,5]+Waspas[,5] + + #Ranking Aggregated + #library(RankAggreg) + ra = rbind(MMoora[,8],Rim[,3],TopsisV[,3],TopsisL[,3],Vikor[,5],Waspas[,5]) + if(nrow(decision)<=10) + RA = RankAggreg::BruteAggreg(ra, nrow(decision), distance="Spearman") + else + RA = RankAggreg::RankAggreg(ra, nrow(decision), method = "GA", distance = "Spearman", verbose=FALSE) + + return(data.frame(Alternatives = 1:nrow(decision), MMOORA = MMoora[,8], RIM = Rim[,3], TOPSISVector = TopsisV[,3], + TOPSISLinear = TopsisL[,3], VIKOR = Vikor[,5], WASPAS = Waspas[,5], + MetaRanking_Sum = rank(MetaR, ties.method= "first"), MetaRanking_Aggreg = RA$top.list)) + +} diff --git a/R/RIM.R b/R/RIM.R new file mode 100644 index 0000000..af2a99d --- /dev/null +++ b/R/RIM.R @@ -0,0 +1,76 @@ +#' Implementation of RIM Method for Multi-Criteria Decision Making Problems. +#' +#' @description The \code{RIM} function implements the Reference Ideal Method (RIM). +#' @param decision The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria. +#' @param weights A vector of length \emph{n}, containing the weights for the criteria. The sum of the weights has to be 1. +#' @param AB A matrix (\emph{2} x \emph{n}). AB[1,] corresponds with the A extrem, and AB[2,] represents the B extrem of the domain of each criterion. +#' @param CD A matrix (\emph{2} x \emph{n}). CD[1,] corresponds with the C extrem, and CD[2,] represents the D extrem of the ideal reference of each criterion. +#' @return \code{RIM} returns a data frame which contains the score of the R index and the ranking of the alternatives. +#' @references Cables, E.; Lamata, M.T.; Verdegay, J.L. RIM-reference ideal method in multicriteria decision making. Information Science, 337-338, 1-10, 2016. +#' @examples +#' +#' d <- matrix(c(30,40,25,27,45,0,9,0,0,15,2,1,3,5,2,3,3,1,3,2,3,2,3,3,3,2,2,2,1,4), +#' nrow = 5, ncol = 6) +#' w <- c(0.2262,0.2143,0.1786,0.1429,0.119,0.119) +#' AB = matrix(c(23,60,0,15,0,10,1,3,1,3,1,5),nrow = 2,ncol = 6) +#' CD = matrix(c(30,35,10,15,0,0,3,3,3,3,4,5),nrow = 2,ncol = 6) +#' RIM(d,w,AB,CD) + +RIM <- function(decision, #matrix with all the alternatives + weights, #vector with the numeric values of the weights + AB, #matrix with the range [A,B] of the universe of discourse + CD #matrix with the Reference Ideal [C,D] +) +{ + #Checking the arguments + if(! is.matrix(decision)) + stop("'decision' must be a matrix with the values of the alternatives") + if(missing(weights)) + stop("a vector containing n weigths, adding up to 1, should be provided") + if(sum(weights) != 1) + stop("The sum of 'weights' is not equal to 1") + if(length(weights) != ncol(decision)) + stop("length of 'weights' does not match the number of the criteria") + if(ncol(AB) != ncol(decision)) + stop("length of 'AB' does not match the number of the criteria") + if(ncol(CD) != ncol(decision)) + stop("length of 'CD' does not match the number of the criteria") + + + #1. Normalization and weighting + N <- matrix(nrow = nrow(decision), ncol = ncol(decision)) + for(j in 1:ncol(decision)){ + for(i in 1:nrow(decision)){ + if((decision[i,j] >= CD[1,j]) && (decision[i,j]<= CD[2,j])){ + N[i,j]=1 + } + else if( ((decision[i,j]>= AB[1,j]) && (decision[i,j]<= CD[1,j])) && (AB[1,j]!=CD[1,j])){ + N[i,j]=1-(min(abs(decision[i,j]-CD[1,j]),abs(decision[i,j]-CD[2,j]))/abs(AB[1,j]-CD[1,j])) + } + else if( ((decision[i,j]>= CD[2,j]) && (decision[i,j]<= AB[2,j])) && (CD[2,j]!=AB[2,j])){ + N[i,j]=1-(min(abs(decision[i,j]-CD[1,j]),abs(decision[i,j]-CD[2,j]))/abs(CD[2,j]-AB[2,j])) + } + else stop("error in normalization procedure: A != B and D != C") + } + } + + + W <- diag(weights) + NW <- N%*%W + + #2. Distances to the ideal solutions + posDis = c(1:nrow(decision)) + negDis = c(1:nrow(decision)) + for(i in 1:nrow(decision)){ + posDis[i] = sqrt(sum((NW[i,]-weights)^2)) + negDis[i] = sqrt(sum(NW[i,]^2)) + } + + + #4. R index + R <- negDis/(negDis+posDis) + + #5. Rank the alternatives + return(data.frame(Alternatives = 1:nrow(decision), R = R, Ranking = rank(-R, ties.method= "first"))) + +} diff --git a/R/TOPSISLinear.R b/R/TOPSISLinear.R new file mode 100644 index 0000000..9984fe3 --- /dev/null +++ b/R/TOPSISLinear.R @@ -0,0 +1,74 @@ +#' Implementation of TOPSIS Method for Multi-Criteria Decision Making Problems. +#' +#' @description The \code{TOPSISLinear} function implements the Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) Method with the linear transformation of maximum as normalization prodecure. +#' @param decision The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria. +#' @param weights A vector of length \emph{n}, containing the weights for the criteria. The sum of the weights has to be 1. +#' @param cb A vector of length \emph{n}. Each component is either \code{cb(i)='max'} if the \emph{i-th} criterion is benefit or \code{cb(i)='min'} if the \emph{i-th} criterion is a cost. +#' @return \code{TOPSISLinear} returns a data frame which contains the score of the R index and the ranking of the alternatives. +#' @references Garcia Cascales, M.S.; Lamata, M.T. On rank reversal and TOPSIS method. Mathematical and Computer Modelling, 56(5-6), 123-132, 2012. +#' @examples +#' +#' d <- matrix(c(1,4,3,5,2,3),nrow = 3,ncol = 2) +#' w <- c(0.5,0.5) +#' cb <- c('max','max') +#' TOPSISLinear(d,w,cb) + +TOPSISLinear <- function(decision, #matrix with all the alternatives + weights, #vector with the numeric values of the weights + cb #vector with the "type" of the criteria (benefit = "max", cost = "min") +) +{ + #Checking the arguments + if(! is.matrix(decision)) + stop("'decision' must be a matrix with the values of the alternatives") + if(missing(weights)) + stop("a vector containing n weigths, adding up to 1, should be provided") + if(sum(weights) != 1) + stop("The sum of 'weights' is not equal to 1") + if(! is.character(cb)) + stop("'cb' must be a character vector with the type of the criteria") + if(! all(cb == "max" | cb == "min")) + stop("'cb' should contain only 'max' or 'min'") + if(length(weights) != ncol(decision)) + stop("length of 'weights' does not match the number of the criteria") + if(length(cb) != ncol(decision)) + stop("length of 'cb' does not match the number of the criteria") + + #1. Normalization and weighting + N <- matrix(nrow = nrow(decision), ncol = ncol(decision)) + + Norm <- as.integer(cb == "max") * apply(decision, 2, max) + + as.integer(cb == "min") * apply(decision, 2, min) + + N <- matrix(nrow = nrow(decision), ncol = ncol(decision)) + for(j in 1:ncol(decision)){ + if (cb[j] == 'max'){ + N[,j] <- decision[,j] / Norm[j] + } + else{ + N[,j] <- Norm[j] / decision[,j] + } + } + W <- diag(weights) + NW <- N%*%W + + #2. Ideal solutions + posI <- as.integer(cb == "max") * apply(NW, 2, max) + + as.integer(cb == "min") * apply(NW, 2, min) + negI <- as.integer(cb == "min") * apply(NW, 2, max) + + as.integer(cb == "max") * apply(NW, 2, min) + + #3. Distances to the ideal solutions + distance =function(x,y){ + sqrt(sum((x - y) ^ 2)) + } + posDis <- apply(NW, 1, distance, posI) + negDis <- apply(NW, 1, distance, negI) + + #4. R index + R <- negDis/(negDis+posDis) + + #5. Rank the alternatives + return(data.frame(Alternatives = 1:nrow(decision), R = R, Ranking = rank(-R, ties.method= "first"))) + +} diff --git a/R/TOPSIS.R b/R/TOPSISVector.R similarity index 76% rename from R/TOPSIS.R rename to R/TOPSISVector.R index 8aac6be..193561b 100644 --- a/R/TOPSIS.R +++ b/R/TOPSISVector.R @@ -1,66 +1,66 @@ -#' Implementation of TOPSIS Method for Multi-Criteria Decision Making Problems. -#' -#' @description The \code{TOPSIS} function implements the Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) Method. -#' @param decision The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria. -#' @param weights A vector of length \emph{n}, containing the weights for the criteria. The sum of the weights has to be 1. -#' @param cb A vector of length \emph{n}. Each component is either \code{cb(i)='max'} if the \emph{i-th} criterion is benefit or \code{cb(i)='min'} if the \emph{i-th} criterion is a cost. -#' @return \code{TOPSIS} returns a data frame which contains the score of the R index and the ranking of the alternatives. -#' @references Hwang, C.L.; Yoon, K. Multiple Attribute Decision Making. In: Lecture Notes in Economics and Mathematical Systems 186. Springer-Verlag, Berlin, 1981. -#' @examples -#' -#' d <- matrix(rpois(12, 5), nrow = 4) -#' w <- c(0.2, 0.2, 0.6) -#' cb <- c('max','min','max') -#' TOPSIS(d,w,cb) - -TOPSIS <- function(decision, #matrix with all the alternatives - weights, #vector with the numeric values of the weights - cb #vector with the "type" of the criteria (benefit = "max", cost = "min") -) -{ - #Checking the arguments - if(! is.matrix(decision)) - stop("'decision' must be a matrix with the values of the alternatives") - if(missing(weights)) - stop("a vector containing n weigths, adding up to 1, should be provided") - if(sum(weights) != 1) - stop("The sum of 'weights' is not equal to 1") - if(! is.character(cb)) - stop("'cb' must be a character vector with the type of the criteria") - if(! all(cb == "max" | cb == "min")) - stop("'cb' should contain only 'max' or 'min'") - if(length(weights) != ncol(decision)) - stop("length of 'weights' does not match the number of the criteria") - if(length(cb) != ncol(decision)) - stop("length of 'cb' does not match the number of the criteria") - - - #TOPSIS method - - #1. Normalization and weighting - d = sqrt(colSums(decision^2)) - NW <- matrix(nrow = nrow(decision), ncol = ncol(decision)) - for(j in 1:ncol(decision)){ - NW[,j] <- (decision[,j] / d[j]) * weights[j] - } - - #2. Ideal solutions - posI <- as.integer(cb == "max") * apply(NW, 2, max) + - as.integer(cb == "min") * apply(NW, 2, min) - negI <- as.integer(cb == "min") * apply(NW, 2, max) + - as.integer(cb == "max") * apply(NW, 2, min) - - #3. Distances to the ideal solutions - distance =function(x,y){ - sqrt(sum((x - y) ^ 2)) - } - posDis <- apply(NW, 1, distance, posI) - negDis <- apply(NW, 1, distance, negI) - - #4. R index - R <- negDis/(negDis+posDis) - - #5. Rank the alternatives - return(data.frame(Alternatives = 1:nrow(decision), R = R, Ranking = rank(-R, ties.method= "random"))) - -} \ No newline at end of file +#' Implementation of TOPSIS Method for Multi-Criteria Decision Making Problems. +#' +#' @description The \code{TOPSISVector} function implements the Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) Method with the vectorial normalization prodecure. +#' @param decision The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria. +#' @param weights A vector of length \emph{n}, containing the weights for the criteria. The sum of the weights has to be 1. +#' @param cb A vector of length \emph{n}. Each component is either \code{cb(i)='max'} if the \emph{i-th} criterion is benefit or \code{cb(i)='min'} if the \emph{i-th} criterion is a cost. +#' @return \code{TOPSISVector} returns a data frame which contains the score of the R index and the ranking of the alternatives. +#' @references Hwang, C.L.; Yoon, K. Multiple Attribute Decision Making. In: Lecture Notes in Economics and Mathematical Systems 186. Springer-Verlag, Berlin, 1981. +#' @examples +#' +#' d <- matrix(c(6,7,10,2,2.75,3.5),nrow = 3,ncol = 2) +#' w <- c(0.5,0.5) +#' cb <- c('min','max') +#' TOPSISVector(d,w,cb) + +TOPSISVector <- function(decision, #matrix with all the alternatives + weights, #vector with the numeric values of the weights + cb #vector with the "type" of the criteria (benefit = "max", cost = "min") +) +{ + #Checking the arguments + if(! is.matrix(decision)) + stop("'decision' must be a matrix with the values of the alternatives") + if(missing(weights)) + stop("a vector containing n weigths, adding up to 1, should be provided") + if(sum(weights) != 1) + stop("The sum of 'weights' is not equal to 1") + if(! is.character(cb)) + stop("'cb' must be a character vector with the type of the criteria") + if(! all(cb == "max" | cb == "min")) + stop("'cb' should contain only 'max' or 'min'") + if(length(weights) != ncol(decision)) + stop("length of 'weights' does not match the number of the criteria") + if(length(cb) != ncol(decision)) + stop("length of 'cb' does not match the number of the criteria") + + + #TOPSIS method + + #1. Normalization and weighting + d = sqrt(colSums(decision^2)) + NW <- matrix(nrow = nrow(decision), ncol = ncol(decision)) + for(j in 1:ncol(decision)){ + NW[,j] <- (decision[,j] / d[j]) * weights[j] + } + + #2. Ideal solutions + posI <- as.integer(cb == "max") * apply(NW, 2, max) + + as.integer(cb == "min") * apply(NW, 2, min) + negI <- as.integer(cb == "min") * apply(NW, 2, max) + + as.integer(cb == "max") * apply(NW, 2, min) + + #3. Distances to the ideal solutions + distance =function(x,y){ + sqrt(sum((x - y) ^ 2)) + } + posDis <- apply(NW, 1, distance, posI) + negDis <- apply(NW, 1, distance, negI) + + #4. R index + R <- negDis/(negDis+posDis) + + #5. Rank the alternatives + return(data.frame(Alternatives = 1:nrow(decision), R = R, Ranking = rank(-R, ties.method= "first"))) + +} diff --git a/R/TheoryOfDominance.R b/R/TheoryOfDominance.R new file mode 100644 index 0000000..b246621 --- /dev/null +++ b/R/TheoryOfDominance.R @@ -0,0 +1,22 @@ +TheoryOfDominance <- function (Rrs,Rrp,Rm,decision) { + # Function that implements the theory of dominance for Multi-MOORA method. + # It requieres the ranking from the ration system, reference point, + # the full multiplicative form and the decision matrix. + Dominance <- cbind(Rrs,Rrp,Rm,seq(1, nrow(decision))) + + for(i in 1:nrow(decision)){ + for(j in i:nrow(decision)){ + resta = Dominance[i,] - Dominance[j,] + # It is calculated the dominance of the i over j + if ( (resta[2]<0 && resta[3]<0) || ( (resta[3]<0 && resta[4]<0) || (resta[2]<0 && resta[4]<0)) ) { + dom = 1 # i domains j + } else { # j domains i + aux=Dominance[j,] + # Change the values between i and j + Dominance[j,]=Dominance[i,] + Dominance[i,]=aux + } + } + } + return(Dominance[,4]) +} diff --git a/R/VIKOR.R b/R/VIKOR.R index 885b843..d970618 100644 --- a/R/VIKOR.R +++ b/R/VIKOR.R @@ -1,66 +1,71 @@ -#' Implementation of VIKOR Method for Multi-Criteria Decision Making Problems. -#' -#' @description The \code{VIKOR} function implements the "VIseKriterijumska Optimizacija I Kompromisno Resenje" (VIKOR) Method. -#' @param decision The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria. -#' @param weights A vector of length \emph{n}, containing the weights for the criteria. The sum of the weights has to be 1. -#' @param cb A vector of length \emph{n}. Each component is either \code{cb(i)='max'} if the \emph{i-th} criterion is benefit or \code{cb(i)='min'} if the \emph{i-th} criterion is a cost. -#' @param v A value in [0,1]. It is used in the calculation of the Q index. -#' @return \code{VIKOR} returns a data frame which contains the score of the S, R and Q indixes and the ranking of the alternatives according to Q index. -#' @references Opricovic, S.; Tzeng, G.H. Compromise solution by MCDM methods: A comparative analysis of VIKOR and TOPSIS. European Journal of Operational Research, 156(2), 445-455, 2004. -#' @examples -#' -#' d <- matrix(rpois(12, 5), nrow = 4) -#' w <- c(0.2, 0.2, 0.6) -#' cb <- c('max','min','max') -#' v <- 0.5 -#' VIKOR(d,w,cb,v) - -VIKOR <- function(decision, #matrix with all the alternatives - weights, #vector with the numeric values of the weights - cb, #vector with the "type" of the criteria (benefit = "max", cost = "min") - v #value with the real number of the 'v' parameter to calculate Q -) -{ - #Checking the arguments - if(! is.matrix(decision)) - stop("'decision' must be a matrix with the values of the alternatives") - if(missing(weights)) - stop("a vector containing n weigths, adding up to 1, should be provided") - if(sum(weights) != 1) - stop("The sum of 'weights' is not equal to 1") - if(! is.character(cb)) - stop("'cb' must be a character vector with the type of the criteria") - if(! all(cb == "max" | cb == "min")) - stop("'cb' should contain only 'max' or 'min'") - if(length(weights) != ncol(decision)) - stop("length of 'weights' does not match the number of the criteria") - if(length(cb) != ncol(decision)) - stop("length of 'cb' does not match the number of the criteria") - if(missing(v)) - stop("a value for 'v' in [0,1] should be provided") - - - #VIKOR method - - #1. Ideal solutions - posI <- as.integer(cb == "max") * apply(decision, 2, max) + - as.integer(cb == "min") * apply(decision, 2, min) - negI <- as.integer(cb == "min") * apply(decision, 2, max) + - as.integer(cb == "max") * apply(decision, 2, min) - - #2. S and R index - norm =function(x,w,p,n){ - w*((p-x)/(p-n)) - } - SAux <- apply(decision, 1, norm, weights, posI, negI) - S <- apply(SAux, 2, sum) - R <- apply(SAux, 2, max) - - - #3. Q index - Q <- v*(S-min(S))/(max(S)-min(S))+(1-v)*(R-min(R))/(max(R)-min(R)) - - #4. Ranking the alternatives - return(data.frame(Alternatives = 1:nrow(decision), S = S, R = R, Q = Q, Ranking = rank(Q, ties.method= "random"))) - -} \ No newline at end of file +#' Implementation of VIKOR Method for Multi-Criteria Decision Making Problems. +#' +#' @description The \code{VIKOR} function implements the "VIseKriterijumska Optimizacija I Kompromisno Resenje" (VIKOR) Method. +#' @param decision The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria. +#' @param weights A vector of length \emph{n}, containing the weights for the criteria. The sum of the weights has to be 1. +#' @param cb A vector of length \emph{n}. Each component is either \code{cb(i)='max'} if the \emph{i-th} criterion is benefit or \code{cb(i)='min'} if the \emph{i-th} criterion is a cost. +#' @param v A value in [0,1]. It is used in the calculation of the Q index. +#' @return \code{VIKOR} returns a data frame which contains the score of the S, R and Q indixes and the ranking of the alternatives according to Q index. +#' @references Opricovic, S.; Tzeng, G.H. Compromise solution by MCDM methods: A comparative analysis of VIKOR and TOPSIS. European Journal of Operational Research, 156(2), 445-455, 2004. +#' @examples +#' +#' d <- matrix(c(1,2,5,3000,3750,4500),nrow = 3,ncol = 2) +#' w <- c(0.5,0.5) +#' cb <- c('min','max') +#' v <- 0.5 +#' VIKOR(d,w,cb,v) + +VIKOR <- function(decision, #matrix with all the alternatives + weights, #vector with the numeric values of the weights + cb, #vector with the "type" of the criteria (benefit = "max", cost = "min") + v #value with the real number of the 'v' parameter to calculate Q +) +{ + #Checking parameters + if(! is.matrix(decision)) + stop("'decision' must be a matrix with the values of the alternatives") + if(missing(weights)) + stop("a vector containing n weigths, adding up to 1, should be provided") + if(sum(weights) != 1) + stop("The sum of 'weights' is not equal to 1") + if(! is.character(cb)) + stop("'cb' must be a character vector with the type of the criteria") + if(! all(cb == "max" | cb == "min")) + stop("'cb' should contain only 'max' or 'min'") + if(length(weights) != ncol(decision)) + stop("length of 'weights' does not match the number of the criteria") + if(length(cb) != ncol(decision)) + stop("length of 'cb' does not match the number of the criteria") + if(missing(v)) + stop("a value for 'v' in [0,1] should be provided") + + #1. Ideal solutions + posI <- as.integer(cb == "max") * apply(decision, 2, max) + + as.integer(cb == "min") * apply(decision, 2, min) + negI <- as.integer(cb == "min") * apply(decision, 2, max) + + as.integer(cb == "max") * apply(decision, 2, min) + + #2. S and R index + norm =function(x,w,p,n){ + w*((p-x)/(p-n)) + } + SAux <- apply(decision, 1, norm, weights, posI, negI) + S <- apply(SAux, 2, sum) + R <- apply(SAux, 2, max) + + + #3. Q index + #If v=0 + if (v==0) + Q <- (R-min(R))/(max(R)-min(R)) + #If v=1 + else if (v==1) + Q <- (S-min(S))/(max(S)-min(S)) + #Another case + else + Q <- v*(S-min(S))/(max(S)-min(S))+(1-v)*(R-min(R))/(max(R)-min(R)) + + #4. Ranking the alternatives + return(data.frame(Alternatives = 1:nrow(decision), S = S, R = R, Q = Q, Ranking = rank(Q, ties.method= "first"))) + +} diff --git a/R/WASPAS.R b/R/WASPAS.R index 218356f..c106167 100644 --- a/R/WASPAS.R +++ b/R/WASPAS.R @@ -1,17 +1,20 @@ #' Implementation of WASPAS Method for Multi-Criteria Decision Making Problems. #' #' @description The \code{WASPAS} function implements the Weighted Aggregated Sum Product ASsessment (WASPAS) Method. -#' @param decision The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria. +#' @param decision The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria. #' @param weights A vector of length \emph{n}, containing the weights for the criteria. The sum of the weights has to be 1. #' @param cb A vector of length \emph{n}. Each component is either \code{cb(i)='max'} if the \emph{i-th} criterion is benefit or \code{cb(i)='min'} if the \emph{i-th} criterion is a cost. #' @param lambda A value in [0,1]. It is used in the calculation of the W index. -#' @return \code{WASPAS} returns a data frame which contains the score of the W index and the ranking of the alternatives. +#' @return \code{WASPAS} returns a data frame which contains the score of the WSM, WPM and the Q index and the ranking of the alternatives. #' @references Zavadskas, E. K.; Turskis, Z.; Antucheviciene, J.; Zakarevicius, A. Optimization of Weighted Aggregated Sum Product Assessment. Electronics and Electrical Engineering, 122(6), 3-6, 2012. #' @examples -#' -#' d <- matrix(rpois(12, 5), nrow = 4) -#' w <- c(0.2, 0.2, 0.6) -#' cb <- c('max','min','max') +#' +#' d <- matrix(c(370,314,480,850,11,7,10,16,2.69,2.37,3.09,3.17,2.75,3.27,3.67,4.10, +#' 5,35,30,50,1.63,1.72,1.87,1.91,1.47,2.07,1.38,2.22,7.11,5.60,7.82,8.25,88,12.60,94, +#' 23,410,100,410,65,2.93,2.13,2.87,1.10,1.98,3.21,2.94,4.37),nrow = 4,ncol = 12) +#' w <- c(0.0626,0.0508,0.1114,0.0874,0.0625,0.1183,0.0784,0.0984,0.053,0.1417, +#' 0.0798,0.0557) +#' cb <- c('min','min','max','max','max','max','max','max','min','min','max','max') #' lambda <- 0.5 #' WASPAS(d,w,cb,lambda) @@ -38,16 +41,16 @@ WASPAS <- function(decision, #matrix with all the alternatives stop("length of 'cb' does not match the number of the criteria") if(missing(lambda)) stop("a value for 'lambda' in [0,1] should be provided") - - + + #WASPAS method - - #1. Normalization + + #1. Normalization N <- matrix(nrow = nrow(decision), ncol = ncol(decision)) - - Norm <- as.integer(cb == "max") * apply(decision, 2, max) + + + Norm <- as.integer(cb == "max") * apply(decision, 2, max) + as.integer(cb == "min") * apply(decision, 2, min) - + N <- matrix(nrow = nrow(decision), ncol = ncol(decision)) for(j in 1:ncol(decision)){ if (cb[j] == 'max'){ @@ -55,26 +58,26 @@ WASPAS <- function(decision, #matrix with all the alternatives } else{ N[,j] <- Norm[j] / decision[,j] - } + } } - + #2. WSM W <- diag(weights) NW <- N%*%W WSM <- apply(NW, 1, sum) - + #3. WPM WPM <- matrix(nrow = nrow(decision), ncol = ncol(decision)) for(j in 1:ncol(decision)){ - WPM[,j] <- N[,j]^weights[j] + WPM[,j] <- N[,j]^weights[j] } WPM <- apply(WPM, 1, prod) - + #4. Q index Q <- (WSM*lambda) + ((1-lambda)*WPM) - + #5. Ranking the alternatives - return(data.frame(Alternatives = 1:nrow(decision), W = Q, Ranking = rank(-Q, ties.method= "random"))) - -} \ No newline at end of file + return(data.frame(Alternatives = 1:nrow(decision), WSM = WSM, WPM = WPM, Q = Q, Ranking = rank(-Q, ties.method= "first"))) + +} diff --git a/man/MMOORA.Rd b/man/MMOORA.Rd index e61da6a..7965bff 100644 --- a/man/MMOORA.Rd +++ b/man/MMOORA.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/MMOORA.R \name{MMOORA} \alias{MMOORA} @@ -20,9 +20,12 @@ MMOORA(decision, weights, cb) The \code{MMOORA} function implements both the Multi-Objetive Optimization by Ration Analysis (MOORA) and the "Full Multiplicative Form" (MULTIMOORA). } \examples{ -d <- matrix(rpois(12, 5), nrow = 4) - w <- c(0.2, 0.2, 0.6) - cb <- c('max','min','max') + + d <- matrix(c(60,6.35,6.8,10,2.5,4.5,3,0.4,0.15,0.1,0.2,0.1,0.08,0.1,2540,1016,1727.2, + 1000,560,1016,1778,500,3000,1500,2000,500,350,1000,990,1041,1676,965,915,508,920), + nrow=7,ncol=5) + w <- c(0.036,0.192,0.326,0.326,0.12) + cb <- c('max','min','max','max','max') MMOORA(d,w,cb) } \references{ diff --git a/man/MetaRanking.Rd b/man/MetaRanking.Rd index 4994e57..d433e32 100644 --- a/man/MetaRanking.Rd +++ b/man/MetaRanking.Rd @@ -1,10 +1,10 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/MetaRanking.R \name{MetaRanking} \alias{MetaRanking} \title{Implementation of MetaRanking function for Multi-Criteria Decision Making Problems.} \usage{ -MetaRanking(decision, weights, cb, lambda, v) +MetaRanking(decision, weights, cb, lambda, v, AB, CD) } \arguments{ \item{decision}{The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria.} @@ -16,19 +16,26 @@ MetaRanking(decision, weights, cb, lambda, v) \item{lambda}{A value in [0,1]. It is used in the calculation of the W index for WASPAS method.} \item{v}{A value in [0,1]. It is used in the calculation of the Q index for VIKOR method.} + +\item{AB}{A matrix (\emph{2} x \emph{n}). AB[1,] corresponds with the A extrem, and AB[2,] represents the B extrem of the domain of each criterion.} + +\item{CD}{A matrix (\emph{2} x \emph{n}). CD[1,] corresponds with the C extrem, and CD[2,] represents the D extrem of the ideal reference of each criterion.} } \value{ -\code{MetaRanking} returns a data frame which contains the rankings of the Multi-MOORA, TOPSIS, VIKOR, WASPAS Methods and the MetaRanking of the alternatives. +\code{MetaRanking} returns a data frame which contains the rankings of the Multi-MOORA, RIM, TOPSISLinear, TOPSISVector, VIKOR, WASPAS Methods and the both MetaRankings of the alternatives. } \description{ -The \code{MetaRanking} function internally calls functions \code{MMOORA}, \code{TOPSIS}, \code{VIKOR} and \code{WASPAS} and then calculates a sum of the their rankings. +The \code{MetaRanking} function internally calls functions \code{MMOORA}, \code{RIM}, \code{TOPSISLinear}, \code{TOPSISVector}, \code{VIKOR} and \code{WASPAS} and then calculates a sum of the their rankings and an aggregated ranking by applying the \code{RankAggreg} package. } \examples{ -d <- matrix(rpois(12, 5), nrow = 4) - w <- c(0.2, 0.2, 0.6) - cb <- c('max','min','max') + + d <- matrix(c(1,2,5,3000,3750,4500),nrow = 3,ncol = 2) + w <- c(0.5,0.5) + cb <- c('min','max') lambda <- 0.5 v <- 0.5 - MetaRanking(d,w,cb,lambda,v) + AB <- matrix(c(1,5,3000,4500),nrow = 2,ncol=2) + CD <- matrix(c(1,1,4500,4500),nrow = 2,ncol=2) + MetaRanking(d,w,cb,lambda,v,AB,CD) } diff --git a/man/RIM.Rd b/man/RIM.Rd new file mode 100644 index 0000000..134b78e --- /dev/null +++ b/man/RIM.Rd @@ -0,0 +1,36 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/RIM.R +\name{RIM} +\alias{RIM} +\title{Implementation of RIM Method for Multi-Criteria Decision Making Problems.} +\usage{ +RIM(decision, weights, AB, CD) +} +\arguments{ +\item{decision}{The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria.} + +\item{weights}{A vector of length \emph{n}, containing the weights for the criteria. The sum of the weights has to be 1.} + +\item{AB}{A matrix (\emph{2} x \emph{n}). AB[1,] corresponds with the A extrem, and AB[2,] represents the B extrem of the domain of each criterion.} + +\item{CD}{A matrix (\emph{2} x \emph{n}). CD[1,] corresponds with the C extrem, and CD[2,] represents the D extrem of the ideal reference of each criterion.} +} +\value{ +\code{RIM} returns a data frame which contains the score of the R index and the ranking of the alternatives. +} +\description{ +The \code{RIM} function implements the Reference Ideal Method (RIM). +} +\examples{ + + d <- matrix(c(30,40,25,27,45,0,9,0,0,15,2,1,3,5,2,3,3,1,3,2,3,2,3,3,3,2,2,2,1,4), + nrow = 5, ncol = 6) + w <- c(0.2262,0.2143,0.1786,0.1429,0.119,0.119) + AB = matrix(c(23,60,0,15,0,10,1,3,1,3,1,5),nrow = 2,ncol = 6) + CD = matrix(c(30,35,10,15,0,0,3,3,3,3,4,5),nrow = 2,ncol = 6) + RIM(d,w,AB,CD) +} +\references{ +Cables, E.; Lamata, M.T.; Verdegay, J.L. RIM-reference ideal method in multicriteria decision making. Information Science, 337-338, 1-10, 2016. +} + diff --git a/man/TOPSISLinear.Rd b/man/TOPSISLinear.Rd new file mode 100644 index 0000000..c41ee72 --- /dev/null +++ b/man/TOPSISLinear.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/TOPSISLinear.R +\name{TOPSISLinear} +\alias{TOPSISLinear} +\title{Implementation of TOPSIS Method for Multi-Criteria Decision Making Problems.} +\usage{ +TOPSISLinear(decision, weights, cb) +} +\arguments{ +\item{decision}{The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria.} + +\item{weights}{A vector of length \emph{n}, containing the weights for the criteria. The sum of the weights has to be 1.} + +\item{cb}{A vector of length \emph{n}. Each component is either \code{cb(i)='max'} if the \emph{i-th} criterion is benefit or \code{cb(i)='min'} if the \emph{i-th} criterion is a cost.} +} +\value{ +\code{TOPSISLinear} returns a data frame which contains the score of the R index and the ranking of the alternatives. +} +\description{ +The \code{TOPSISLinear} function implements the Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) Method with the linear transformation of maximum as normalization prodecure. +} +\examples{ + + d <- matrix(c(1,4,3,5,2,3),nrow = 3,ncol = 2) + w <- c(0.5,0.5) + cb <- c('max','max') + TOPSISLinear(d,w,cb) +} +\references{ +Garcia Cascales, M.S.; Lamata, M.T. On rank reversal and TOPSIS method. Mathematical and Computer Modelling, 56(5-6), 123-132, 2012. +} + diff --git a/man/TOPSIS.Rd b/man/TOPSISVector.Rd similarity index 55% rename from man/TOPSIS.Rd rename to man/TOPSISVector.Rd index 29c5f57..19ba157 100644 --- a/man/TOPSIS.Rd +++ b/man/TOPSISVector.Rd @@ -1,10 +1,10 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/TOPSIS.R -\name{TOPSIS} -\alias{TOPSIS} +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/TOPSISVector.R +\name{TOPSISVector} +\alias{TOPSISVector} \title{Implementation of TOPSIS Method for Multi-Criteria Decision Making Problems.} \usage{ -TOPSIS(decision, weights, cb) +TOPSISVector(decision, weights, cb) } \arguments{ \item{decision}{The decision matrix (\emph{m} x \emph{n}) with the values of the \emph{m} alternatives, for the \emph{n} criteria.} @@ -14,16 +14,17 @@ TOPSIS(decision, weights, cb) \item{cb}{A vector of length \emph{n}. Each component is either \code{cb(i)='max'} if the \emph{i-th} criterion is benefit or \code{cb(i)='min'} if the \emph{i-th} criterion is a cost.} } \value{ -\code{TOPSIS} returns a data frame which contains the score of the R index and the ranking of the alternatives. +\code{TOPSISVector} returns a data frame which contains the score of the R index and the ranking of the alternatives. } \description{ -The \code{TOPSIS} function implements the Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) Method. +The \code{TOPSISVector} function implements the Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) Method with the vectorial normalization prodecure. } \examples{ -d <- matrix(rpois(12, 5), nrow = 4) - w <- c(0.2, 0.2, 0.6) - cb <- c('max','min','max') - TOPSIS(d,w,cb) + + d <- matrix(c(6,7,10,2,2.75,3.5),nrow = 3,ncol = 2) + w <- c(0.5,0.5) + cb <- c('min','max') + TOPSISVector(d,w,cb) } \references{ Hwang, C.L.; Yoon, K. Multiple Attribute Decision Making. In: Lecture Notes in Economics and Mathematical Systems 186. Springer-Verlag, Berlin, 1981. diff --git a/man/VIKOR.Rd b/man/VIKOR.Rd index fbe5567..8bd41cb 100644 --- a/man/VIKOR.Rd +++ b/man/VIKOR.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/VIKOR.R \name{VIKOR} \alias{VIKOR} @@ -22,9 +22,10 @@ VIKOR(decision, weights, cb, v) The \code{VIKOR} function implements the "VIseKriterijumska Optimizacija I Kompromisno Resenje" (VIKOR) Method. } \examples{ -d <- matrix(rpois(12, 5), nrow = 4) - w <- c(0.2, 0.2, 0.6) - cb <- c('max','min','max') + + d <- matrix(c(1,2,5,3000,3750,4500),nrow = 3,ncol = 2) + w <- c(0.5,0.5) + cb <- c('min','max') v <- 0.5 VIKOR(d,w,cb,v) } diff --git a/man/WASPAS.Rd b/man/WASPAS.Rd index 6017bfc..132e5b1 100644 --- a/man/WASPAS.Rd +++ b/man/WASPAS.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/WASPAS.R \name{WASPAS} \alias{WASPAS} @@ -16,15 +16,19 @@ WASPAS(decision, weights, cb, lambda) \item{lambda}{A value in [0,1]. It is used in the calculation of the W index.} } \value{ -\code{WASPAS} returns a data frame which contains the score of the W index and the ranking of the alternatives. +\code{WASPAS} returns a data frame which contains the score of the WSM, WPM and the Q index and the ranking of the alternatives. } \description{ The \code{WASPAS} function implements the Weighted Aggregated Sum Product ASsessment (WASPAS) Method. } \examples{ -d <- matrix(rpois(12, 5), nrow = 4) - w <- c(0.2, 0.2, 0.6) - cb <- c('max','min','max') + + d <- matrix(c(370,314,480,850,11,7,10,16,2.69,2.37,3.09,3.17,2.75,3.27,3.67,4.10, + 5,35,30,50,1.63,1.72,1.87,1.91,1.47,2.07,1.38,2.22,7.11,5.60,7.82,8.25,88,12.60,94, + 23,410,100,410,65,2.93,2.13,2.87,1.10,1.98,3.21,2.94,4.37),nrow = 4,ncol = 12) + w <- c(0.0626,0.0508,0.1114,0.0874,0.0625,0.1183,0.0784,0.0984,0.053,0.1417, + 0.0798,0.0557) + cb <- c('min','min','max','max','max','max','max','max','min','min','max','max') lambda <- 0.5 WASPAS(d,w,cb,lambda) } diff --git a/vignettes/MCDM.pdf b/vignettes/MCDM.pdf deleted file mode 100644 index f62224d9a4fa0f73515215f309d4b6506f222e96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196934 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

cXthe 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

OU>-5#G%r=<<%zf}nA{j!=664H65YEo4 zwv^8j&P^Il!;VmID?UhtsFBy%eMC25WtnheSyhOb;e45q(}EBbJ5W}^pLDxaj+Sht z{E@|Ko9I;m*`8JfhN5rqEn*1_A+}*Z*R5X#spu?M>*}1RPQPK89^$v=*ZgNn=Vr1( zV?F5ElRYtF?SM{MkiheHMK?7{e{T5Fi&+mfm?whI-$`BK{?hQctx`2gOWua%gw~lj zU>p%MNL(VV>_Md)CG)iBLv<>`&atT+C@lHhfl)61 zl1KYiIgfqU`20rk;x`E^f4eMx)2IrCUFF7SG)tD4js`4+3PMgKh>nHOcNF_jN<0PM z50Aera$dQsZ#qvS4$otCr(@*j*G$Haz0_d9onHr$GhS%l%EG1XT70Jsz64Q8zi_Qr zIUj_*cZN#jBPuH&InO$Ca{Ni)qRt%JJPBXD}9e$OJb}pQr z!jje4piMJTxy-E6Owu1%X`D^r^Rs2+apXj=-n3OSiUvn4x0-2z=WZeR87D<{{*578 ze@kzW*TWVdzobZaDNj8SnJ1S!fCq4yxdxxFQ!QW=R$ptaAZ!vr+tL)dDU5XV2;N-c zP-^q3u-Je&3xj<`vT|#FU?VnjbLMFm?Ijsm13Xm%T2JAS7S%hC&SRuoRpsljUNcUH zlobj?w4oCM%CB-GD|E};O#bY5d|CfWmkJh%1qVqqd<1RsGb8J8NsPHk{I%O(nj~BS zr=ElS7zdySG1k@1@I)zS=WT{}Cw|QAITvxI47x9J^FbnIQkVBLlB4>Ys7%2BF;(Tw zc;-`E)AGAWz)N$oN>i?zRW1#t^4q*qZm4dNVa>c!mo`02F9X}cD|+Z32ya7(`p8Fu{=Lmv*s6j9Z{4iIydU6W7PQ^0Y9LkJg}S`p zP2zst%LCB|!D|~9*42M3aS)&%(r{)@x{k8+2OYAteYDZ76oY`{4I4_tfjT`uU& z-KlsMXlKXke(CSSA{L=NoqB! zbpjX8ShQ31NdgXaE9}*>;Onz}V$bgp3gAA~VKc`i?(aZ@#&O5`H3X4UKI5q{?XR!x z;UX@?3Y)8kXr)PJ4M)T68f|OcxN@gP;bv04tQ2DU;I*yrV!cP3GyZP4}udgl#RN`~5-j6<80#i_68947^XA=2@W z&hntIlC~5JCcUatb-LlxP=aU@&p#ncIje^+ldS&Q)TM)Rwvk63N?^j8dBj9$E`O*_ zn_?sh{E9YRE@-g2wNQLm)s%$s;kSEfS-VY1(we>; zJ~5)~_xnTq5|+(V_i7;ibka9=q?CsUr}MJcGi))K-)ZW6UaPC#@e;NXdkE|PTq@w9 zhNB#dJ89y_u;VsHbe3O=~aLayu0_(`Bx-tGZz)8riJznnJ<34$4zi+jnJyiK7o4bZnF0} zl4?ep>S+$BMur*mjx>$p=oLe;vZ4ZKCq+xrt2|1;e#eOklDlj&xOZ+Sd}`c_h(>SS zfsGn+HwsYO&uYt070BAv0!(DHZYBuMX+P10I4K8HRanBhf13B7uIy^ppa=EJO?QP< zTmif6hr$Imyz?brbb3$%R*wC2DM;s!mINXxbKcx*;XY2UR9)`6t)at3Mv^n(hDnlo z@n?usyyF8Rre9>QJ+V>@Dr64@2K!S14Q01`&!F`I6_JGP5cXl|Kk6hV9g_og-bO4p zwn^IyD)*@E8`22ZXIf6r!!Ts_u9~sVcqi5_1cEpeJmax(A0fb_TZhZjW7{=tnx*&W zeBvhutF%daxdph(dXL#-(P9BdtPqAU5OWJkF#h79F{0f_8v{hE891?+YtzyZPsI36bY@d&=Xvh{cQy18{6@gEc1tef@%MQlWmrH zb&^0Fxk_l$=@Dk=7iXV6^C*u3tZc`83tpkU1qQ>^*pR~BtI)WfwtuxROP`+G{VYL}2MlU?jiLXxuZ zI9TEE&-eJP=Veu1s*zgfjgV@aAe8FRwp&pk7t(A!3HT$m$4+-OLs9{`5px^Gi zBKMe{xFx)N`{$~$>{~HQX(2fjSq&;zaX5bk8@STHOU2lmUE{{a?qqgbebTwht5oQ1?0} z8G^9m>cL09sv{N2xDPR`QJfIoTY_6{-Z~sO1U;NfT#$Li64geACb`jkJ?D}uXt-Zj zZ?jOQIid=Z1gjoTV0I|v-6N2ceiK}-zxQs~8J>YYy>4Ub74s2d{`B>^slL8M| zK9LtYju_;Yn(Lmi0UFrGJ(V=zpFDxv4ex z?)mIlXGOo-fNo4xI6nRyLCX;h;B(>fSE+j9jv9}<5IiV*}f?rz$8RUd;=#eo&K^m@bkYEd~RW%{LCqy#p@^9To zk#gGoSrlp?N9_3fYgfX5&r!St@vpnz&KcwPGq4G>rep#HW0v>zgNqV}QO!iF?xP~E69l^wx|h(CTxB(9o$eWBgprjR;U^PK68!ocjQDi$YkZ^C}@ zZGclSX7Vb}>X0p@p~u{7p+FCvWe>*tVt1AtB3>%Gqhz*%s8&8LbEC!4<`fjp+_#=n zNmLs_Bg6^HZ4n;ZhP>bMx>IkRk6ztyDZDXnnl2VRWbv&fzrZ1f|0+FPvZAuY)HNh} zU0C`!Ex7kuUt5{e5aLwh*e-dnZm=O0+t4H-)b&dPS0KU`EmCTVlo(xl+i2eMP_Iih zN!B}xpkQm6UN+DBn^~UkH2YTrvkw-;Hz@l3Tr2V2a>xs+YP(Qy6*kXmNI~Ag-<`}d zi2(DxiW4F~^Tl*ZkZvYnij&7?O*zaUO2_bQ`i`y^Sv zfgJUTQ;?juV>+YA-# zbWz4LlUNg-&4qLwbY!wxFJYEVD0F2kX_5J+0x@Q1R!Zb5+RD!pfcbg%@3G--z0NNj z3X}90(qo%@KwjU9nISNi@Dq_9UB zM}a5-6U8$nt#8~5yJH!G`|KUNk9`*kI)#CP{`=v&7rLV(>O6aBbR1$&DvV8gZAp~= zoHxkJ46yK{f~IZkzLWDxXOW#>1=X8RNQw*4o+5KlO+`VMlFQTM(s(XVNbIEJ98%wg zNqVIlN0{1#z5V%;=acvAb(7RiB7;q7s_NLbkPQjN${d(;4cG#mt^6lGxViA`qYHgR zsS~;w_Y8X`#bUos8FtmtFlrUND(dC$uWPiXFdl4?F|WO!9h7PN;lRUUw07aP9}Z+l zJK68I66G`KFAg2|Gn#5&feuMNYe9tZ3{ zwk3+ZENkkujSu(E^a+g81_%fddBl^4EP_&sPiNZwN9|G0q)gDH+%9Qq^Gg26oRE(= z3j9d&cOz-Z2NE-(`1%8CvtaJJ&HRI{60@=|tPDbkXCW|jmqa5hajAC933GHM_SloZ zfOg2D`+lNDS!d|ZjV{{k-4sbOmdNAy?P+0`c@kN&KMMtMX=TpZbx1EB;EC$P;ynMB#-^dlD7JmjAolu#2?;#QJ@>=0dgGcxj(dFvkIZjJMW^C6!~q z_lcA!nnG7Qj!CB9HrwJLr^csj#RduA`iEMWBz$x|0a(NINZfLfZK`KQQP_<%C!RPy zwQ0daUCfqAJSc3@7U|k{5C*kg4z_hoiKzCi);L(nWuog?E(R;}Pkgp94A~M4DSX7d zXz-~KxrvNRR@gw4Sbtnon?P+Vecn8v#Vr9ZzCkjWCFc>Q*wUlTfDCt**OFZx3+gLL z_-miMpzS$}K)IwUVDfJnruu0PM6T8=HE~Tf)KHP`1Rj*wpF>5zCk0qiU4c+AVB>TJafL z87n9@8g@x%uohT#cnQ4u%Cv}lJaXk46O-uvS5fU9!wI3vgrZyC0ojwX(JvG$GDQ(M zMlmGYEx_(+yCrF7g#kgrWH^7>aS~YcT~P&Xq}=O=fAGyGRJIl#gH#_`BE>t_GjT|$ z_whE=bIR>J-ccx8m2;G_{BQpRE;r~Y>6;d|WtI$X6sOF#vl2Bc{R>lc#ptYwdC92k zgRT41w%=*y6QWJilyG1s{@`H2hzdcCdLuR|VwqY<$$ha36Gw0>!0h^3@MiQ~X43@x zQPIJ4Us`Eh$0SZG_J~#SFh!X5>lAL1kQYhmejXoy>z} zF?!OR#3Vcci(Gxa^)hHKx~Y`y3b?%S7JqpF7ztZ}wo)$e13*cbHITE;vNo?Wm0hAe zUKrSh*xk#|j)py*pKGBiBOpq^b>>iC=9;jXRP6!s`bB(kD%XnJgaW~PXOx`&?dH?v z{i46W29pPicK^`v4MB~0#RHO^M!-)E8~h9CkB ztI;!Yy%l}P(WNm`Y&ys!zlZy@sCdJ9v^hCzLcX~erSSV$NaZD)lmv}fngg1F5%eW~Nv5YsB;AaK5cdZ>zf0!Fj1ga+Nso4(&ed@(oL@xYI z#rgh(KvR+<0{^sGGBt^YR5lBeJxcD=#Ih(4;1N}zwEEEMr~C6@alhQYyBUO_O(S$y zM%ANMBIN8;2FLhgyiMpT@NjA3-88Ny%T3U>>E&mAb1-VTwN5;D*r2U0+12fi(zMRN z6zxoYvvwHBDFE4(EHA2)Lu8g1sL>83nXLr-rkOPMMQv)=}e;V7!dzEf%6R4zd3B&!91@ zZRdjkRVo=;;duWoj^R(;$P@Y=Ek~?e=tbomKJMYviTH;ATe0TRwH}hdf(kXN*b1KdIj+Bmi5yuvm` zgl)Jwz;m9msVbBH*MmZ!iD;$S6-Ae3tG)yK2)Qlk_Ap_d$fC1m9hyn$1wS+Kj<~U~ z2C0Ii#~T(O!@g^!m5R3%3SG)*i7k$b#e!$&owa{7=|D991uy4E+KNFV-I&hpXipKj zOn*;$Sa@G5GNiYG&p#=pZQu7ju-~US&UA&v%SI)HuCh=Pj$XKT%hr^w!0pcva z2osB3#NT|ZVy-|;+9yiK{YyYYnzXDp?@nPwv+5$eHY`)V5$*!y%en(Hd3u`3tW2Cn zOK>^?lI$|Y`PLQ@jai9Y>I{yGz1PrAxZS?2>4W~1TQS-~VJpX+Ls{-_1ei0L6tl@P zg-Z>m@;qlBR8K8}kId8SA&RhIu`fC~Fb+uq0jxl&4)(A#z3 zupCd<6}HX)4_goF5X8x!@0rgr9$k8@99yT;6dho)2P%sG>ZGhdnSY%1hJAgOl8)ZA3%ZkENBG=GzEOiYS3bAAL1#2g-)QGV{s5AWtz|I<1z2v4IkgQb%)x?Yv zi9wVqN;YAzNhc8`f!U8{l^`hxY2=|#Q<0t2P$t5!-N@eDco%Bf=WO&7=R$`1)I1J6 zTf~t#Ud`FX#*E2qkFTfyR5Fjwk5^fugOw-7yx@T`x>_loxI*qFtb{p#c%geD95JEUp2C3 z#m-$a$Lhvn&zvj+L%nV#_a)@SvL_D1lNM~3>6=LvKGwyJ`pU38F7wK#WrJ4+(u_RE z5aNk;?V~HA{AOaaN*OCypJ1$pHrDNE_nd-##9a)nH1&4?FU0Go2=dNug`!dk;DIv^ zw4`*?yf%sK91srnrnHTt^DJ9KAFNzqTK9gi9+UEY$=jlDsw=XX?WM{Gr$x)>xgSr} zxiN|~U(Hfo&*4K!)0mal=geg(^RWU&gHAl@Cdd1Z7hdH&%yKW%}}`%7EwsKe-Fxm8yx_}2SfTSC3(=TiNLd_o+^61R_xi9zlthB z1?k_^aE4I-pk448D#?l@uQz^ErqH=Lj3Np05{~1%>0oFTj6qRKG$*}Y1tW%XZLKvn zD9Gz*Ouie;!1hTdLq8RD^AHgLnzs(Ax+pX=>n=OmF%`uJ^{DUYA`lX-OePn#e^o9- zWom*BN%7nNYi6e+HS4C#HPa&Y^8vDZ`w3_UN}!p$Ge(JBd`xLh9=e)v(d?GDmoGb3 z@TN?We5aE4lQiJ-{Ju{T2Lhv{#v1)@5b9qTo6VziIvpeLrJf!NK(#%EO5ALcE=j%ml-GZa}c zTc#I1kR`F#H_`jW$O$e0VxFl6KS|Ob#zpuu*OW{_`~;|YVeF%2fs{_%seH2mF_M1t ztBZ4OXpVD9YWqY5Djf(;)tRLz6(s^+s%~Ll$wD@~KO=sonpmVSq${a(=xXId1fH{9 zp1o!jF-b~pPiqcO<;6MsZYx*O6_xd$;OffJo06I?UvdOJJRqtG%j4p^H z?Q$Y)Xo|+nwo+e^hL_Ev&sDuSkZKr%s$_i4a3e64uJcaq`a=+w&`MDtEN3W>mA|W_ zA;q=?A+qeit! zeJ*gko~%L~Mq!%)gx;y3<@19P8bQi0(9dv6g`R%%ia!xBoZ z@#$Usgevk?d#`e_QDv_H%fJI6*Sok}WAVh41saQO!DNO{ zq%ITS%dgkq-)!w<@hDkw&FG5)^;UADnXb7+d#_m&dqKBhpAp(r7B_{ny7@35sY62x zF$4Qob{m$Z%Q-dmVySM|>U0nbxuE$$)wU63sv*f4GA%V{B%GMQ6pMfMDMq zv565um&@W(1Q8o?VAq?p5=22LO6eB6>B>W`1iT-d5CZ>9Qn3iGbHb^hCBTsUPQmnO z_`1Mai`Fa*38+ay;asR(IA)BDP+Y$d1K?g?KOjSF3V@y;yar8ii?8eT!`(0bfleSy z68v^9Yrx;b6Zx)HG3bRpSCgiGm?{#a^_b^XEZXQ{5y3N8^j79#tbgn+6N! z$N@e_RL!Gj#Lq?vW0VXg%x0-1{i9w&1PcE$nS4sDD7ApM(#vf5Mm?=Wj&tyA`E$yb z=!EJ5G&zNIe&L{v7#L&``FH$2U;HKNm-cp}y_*>u=}8GmLZ-i|(k~Vu3~zSN5?gg9 zuB?5wBvYBE@9c_4<-L^aSLU1?bDY(?B3Pdp8^7w2MZ-uTy9NBmhZ+frXiqm?e;c}yG%Wn<}hgBxd0+Id^tS^CVaWBSu8EE+E_vNqz%(P7l-F)1-$Ug+Z zxk0I!!ZNI9W-xyky)0h}*Z8ZGBFfQ{BYM;O3A!qwG6aDk5{#WkBPw(&V5ZBI0{ofzW zzC_sBcFHj4K8oddTpZ;x^wlu7N-chHy9ef4)v#(=3a<@_q@;5@;2~g5 zffAJq6eR1N?T}yk71-TPX0sf}^$B9fSkq_sq%GWwPu@J^VP-Jkmkhemz$7Q=kg#>!EsmqyA}d$ggaDMeukf`i3G_q zKVPC9Aw2F&(Ex5y`1^5V^$@LT#5P-aNzA&=>;fUS4%7E^1xZXbcWQO}Am&o0Sy|CB z<1)k04!E$9ayagdL;df0LQjp10;baG-Wk*??!?+*c;`R&jE~JozX;KXtjN5oydR!*>trK z*o)cxCB>vtEt+1(7#Zo&%%VP_8g4LZ3V4e+!BI-r|1n|s#XDhyd4TT+wX+`U6o+| zM)HC{dO36UChS2$Yh5)M zI-|;gn?hqoac~5d;1G>jq0+(T79S`y!%J?H5(dQdLJ+X`@OJ!=Tp(?TMhwNvuP~d* z*ouPuztLv!62}M6PD!R`sa!j0Lt%$NLMSi}tdd;YN?JuHzKt@`wVubukB~gaaf-8og{vL8Y3o)m^83f9AX4-CKv?=&KLBZ&~apX4i>IVeL5 zXhsWVUEyKmGh=MhZ=I%2waZWRo9o!kRL$%BuiVuF$BmV4+G2?x@}=yWX;A$MW7mv3 zi6eOoYUvkhTPG;5T(gFRccK{E{;06-foGnC+U}f|v-xJBahLnz;}OjpiOgCJbY|HN z{@dgLa#XkChl^kl%VFOo1D^^|EEvhAcn`qMJ4`f$P@Lvh;NPJ00)NwWXR+}5zzc=Y zO4-nEcBy74R)jTFxg2E1CtIV%TFHq+lhnl`m(rYiV%Xw{Bczx@JoBi&0m*uiqC;m` zcr?slLaHatdQ-O%D2E|v*(3tv`)((jh?(s#i0Dj?%V=>aCZ(`D;x4r$;>v;$Bwxc# z9CvKMd%N{0recuL!3=1rcv8CM^@}GoJ}AbLzeE}^>UTW~i7cC)LjEhCKsh5t{YH1m z<$T)y!nr%BUjk&~b}&6RZr0BW)GvRkNkbJ<@x)K-dW@Y4R#i zX9FpKZVrdAyPM^<9-M{{ZekI;;2`Og?_D(f+6hfE2yK@-Aav7oS4JQ-PGw^i_32&u9I5LKzxO^bPPI5O<8ovZqB|`5p|0Fz-fuz z4#zZldk*;>sz3WL*rXD@1f}b5ofScbTEO-GuLXvmU+21kY64RD{Y`)Tgav1p)cV&t zD_Z>J7l&g&R^Ej;QDw1v@H(xD!nnnDKor1sbuE;3{-s|!U|YhR9dd>(cm`8mL_Jdh z8eK~`xxvh+inauZd{Uy@R?^^7e&puQyK=$DmMT!-Wb#r-rSl09D)_`O72>;5wwU`B5Tp#%pMFy!G{7t zZEy5WgkxxT6ioXi7-(NXm}O zOSvdmrAO9Ug54r5D2QGr%lXuY(`>R3Qqq3iGR9;3uI9?50sB+)JlcX^ZE;yldDnFhuqisABPUjnVp%yHbXsXa#g~nzcL~7*fK;AU+eZ zXRl>DXQL@(N2uvXvoUU9g>J{ml~`?k&-9_4?7yu8Qka~; zq+pWR z(iRQkh^j~4@|7uh(5?b%r*;Hb;7-n7m?qVi4eDo>xsvAwUL#vNf6W}~NERC3k&)vF zrf*0KAKsm0@Gs|X!4>7>14Tr9{1Fy|i+$RBJK9APV~4U1^|@nT?1XF8!{JTYb)SGJ zM-(iw!j!v^u8;c>Y-^7{qS+Ag&9M;CDdPbrPf|b#oJDNhKNGUXvf~`TuWe2sv|z)V z2^;Ot_TBhcE#a?iSBXg(^U_MVzU|>jsw|dA^L)IFbVmH+AVa_wAN&p$wZc0aenfw} z)uIhq!tcSJbrt~9uh3;lPcq`7<3Sf4H+b5I;D{fCEx)>S>WaYyvnL}GL>YOYj?}#F z+{9ske1Ql_K)z>jH-|Nne&D8VT{Cq-RG*JSP4aL!AO-?&pUK1KHs~|TY?fp>HJ%Ob z^liVm6*s2T0&s%OH%-+{9kvky>$|8}rER3GJ;^!8czXTe^ie2kmPd%JEl*I?4a-|f zWG@GgWdMptze4VE4NZR3fxx#CK40=qjkl|Wx=;z&j~zY`(Vn(%laCic3bM2%$%-Rv z($RjY=*}lxz`(a18brLq*6P(vZu6u^td`uK@dVv4)H5Q=l#c77iGmFzBW~}0*X5_Yc$lm?s2Z{#u!StUl{G4M&=o`t!6vZ z;y$#R?{C)(YYcDJOED$n*EmzyDnBrYRRz6%#04xV*3X^=IZ2jp5aQaPW|O_W*aU;>Y5qW^@Ea1~VirT>- z5{InOFKONtVPE5ir*zq85HhxJL|4}nmkCxbq^3WBu^g%q@g1VSFkK@`~^v@Z%?*ljxH@*`YCAJ=q_>J5^a(tA~2at(HE)Q4t<;{6jDzw?f zJ1U|DhFgz#pr0p1zbCIE@n&A*Nl8oY$&@g;yJep;LrfeYxWL-d=Pm*uq2_vD*2rBc6-4<)O%{}alCH-#I65?|_6YhPA zS`8^GUt%;@+=Dca0gGWGwV}iJ^QU+jGmwF%Up&RZZ|Y2VJht^;nM+Wmoa;Kjf{%x?Ba@oQQqK%fCXIM9TQ8vX)WTlAB-e(bdD<1LPVh zOvTU2hJjoZEuLe$Ze_;rw=$X!Y17d zd?fh^j|R5D9wlg547F;;Pi5aLxrk5}SWydE_s4dHb~jlwEY!DU??$qE%*zU6w(}zh zmRSp6#rVA9%S~}ww9gXe3|O7g*~Ap~S1ER?Le5A34A@dsnvR8NhQ-VKa%kzB#2&yT zS=f2WS{uF26s(zPFKX4dVIzcM zrvypY@$$2hCyjT$1Wr&czb^>~7;pO%AnBJ*yY!lCxf~Cq4usiJ5fXiBdKu*nW(+NB zxv0TMTZh(+pess-b?Ic>pq$!wAMt(WCO?3l-5yXwgRt5!Y*PhKo#V z*A?2$9O^TFClcy~i*xauye#ou|2tx>ds;!|n8Zt~98D~>Z@Nrmd80|rnh8Krc`?9U z``_^x<7`Se6#FPPU&y}zw$a>AEY*W02mULPX^J+d_ z-0tB1<7PITmm7XV9sd5nK@0em6sQyi^Yr?w%ieN4&%8pPI1xX3xh3PdH~6qs+=FIXh+bG*$|(!0fy~KPX;?>Y72!xXRi;d0-ZUrx|qQ>v|Dx zp#NYkue*O&&jrdeIs=Ve+nT8Qvz#xV%c3%W?S3xTXLopBLLe5v7Ui|aYv!3W(Q zxR3r^;RT5dDqGt?@}Rmmr?OenD;Vir=?6=C%Wb`@2$WiSz3PZ0UffacW%$E$aWo~U zCSxaOs$=9(v<+p%4Ci7Zr|EZ)@c2B9>mX2ykK$J*2E-KqArSG@S}yGyW?<=pq%HY; z8!KCqd4tsDJxP3d46`PpX?e+tYlOlm0ax>75O@O2ykwAvAhRGzXHDAP(%2Y`YT69# z0rR55`1Dc1nx0Q*69YOubnc2Dz7)4}`_1lZ$X9|AbN2}>(p#zYhu7>oR#ufm}DMC-?^G5eQ9I z&Oq{BTJy(>$TP_K%$I>*!YV|bjU1jv8^~^ zT%3)hqwbHU`XY%L^BM3WxcJJ-%f4&~gk*r|_jNk2ym*ZC?F6a$ebKd7jr5#Bp6p0i z9b0N1jpM$7z?dud+$<}g{O#Erd%NO>u+lP;OJ(U-GH^-JI5wSEpBjEJQA4s4+Vs|F zII-Wgo4ePdiUnrkl;?5q!Z~)~0rt@C>sk5^uK{+>>ZJ^;=WBraHz0DC+^OJE6DQM` zXm)kW3DYW3k^#<4kxRlBI_%WcLdaL7<|#4Jy-~cBbL){df_GjpXzC%`WJZa~2btIW~icoWg?nA5gkjA zF%HEeuR#RS6#<4J*~+M5S}C=Ed41e!m;?b%TgVQaRx*4C%c?OR+HwvTo)GfGxHscu zA@v|tz1#)U`6#0zz!a$?>f)+R=q> z$?ubC4YuW672nburpCj~@r#%L@3EWd7dI@M4Haz)iIwqyWfpH~1ces8&}81!h;BTL zR4gi1c2#b7{B#Obs>3UB?wS)c`U_0K?$p3)kI5-wEe-()0v6}P5y{O z5QgiCxJ|sJk?|8d7I-Z-9hC{-n}cS=N^E;;K1s3dkM#{%sptzQ$Y|WghO)aa2nF~fqDbW?`hMYSqh@es|Vk{5>Ym^;6T5EwYoY}5J48pAv9yIj{*@Sg!78~m^us`Z8X%ZB99{D0VAAP!&9Z0$w za7jg_;qF^__0Jui#>wt3S;;wmc!7jjagOtty14P|)Ti9xBAqCdff@T@>w5V4bY*uU z;v`A$Kyf413qDJpP2lJ#@+mV1>Yi&jNhDi>xHS2+nR<)VsI>*s?hUKHNc#5^($1{E zjYEwAUr&Vd89)^>~+qX27UkIH7SppFuw~ zjUlRIZPqI&*RkCuUGt$M{CreGcFhoZ`KDWbIZ>!hDko8S%-qF}7A*C2iA(mRt@l$y z+fKF04%rg;6Q5CSL(n>0mKZV$$w20Rpjr>Q+Dr1d=iMC+aDUl}cJagfbytBKVYdS< zXI6eC3zV;5CO0LEv)8Hri@46hCK?tM=+fjAs)Vn7Og7=~61%x_ zNn~BAt8-o>&G6b%?}|QE6#50sMpn`otLYly?0TtMVju%E%Db^N{=*Aft0Com}*J2m45vPc*dU4r{pI%WWW>g~4OtuA=kx7^9J9;|4eQc)VfE ztFMi@dy~=49G}jf6u2P_POxz#_>;FcntYvYgVsk7;xiV@% zs!P32^iQBx_&hWMGbE+qdvUP@9bi1a$+O~G83wkPUY_3hHj@s(Jp{t0H?H*4D*brh z`~D-YAEUmC8txQAl@_MWQ|f?}`L9@6lyz9#k9Sp4rBM0&U3kQ0f-yR4t+4ExNN&`G zF)*Puf?HMfYz_wUXh_m2th;>&3P(d<2T}7bT?)6Q58V^Yu|h)=B^H|&Q@_S9@2Jje zOaKm#Qs*Jbm>^j%IQl#g6m0ff92DY|7D@VBaHJR4@IV|^*U|H@F7{<7euE#RSG7fD zO#fvjV)hNlw?;3CnLhFw$`!RzNPe>T!Q8m=Pm;OO4=iomX&G+Ej6qG0O|Z%=gfBaN1`TEMsH&WWA^5}bkM4DJCDZ;5V@P=0TeA7l8q?zK9Q>=X|`! z0bh7(&{1NSw}9;OLwF0aJav{?d0<2YQ0l0z+`ObQsI}m5e;6&{Fdt}TlbEhJ-!D&< zoS)X~&iU7zfP=xwi2yq7i{jteZ;w!wXy+<`tsKM|c6o}XFvK+CG? z2Z6^dGK5e#aYLr8bGW_q%e)H@XIPa4(E*g!uXpZKN$QO~MVv1k*j@Zay*kb0;(y1o zu>Tjs^8e&?3JHpfiiy&wD5)tJSX&zyTiD6a3E5d2|L{ z0Ac`1fHXiBAP-OgC;^lKzX7TMHGl!Y5MTr_va`0c1sDTN0Hy#lfH}b2!`|G)7GMFe z0$2lV0JZ=-fSs)gz#iZTZ~{03oZajIE&x}68^9g#--0Fo!Myx`El`gC@*V%5U=2@y%8C+a zZ51m+bA582YGVTj_&ak=e|$_N+h2@6_1U#hj9$RjAL1_>Aq)#J12brPdwaY7I1uqO zLatouF$O)*L@(BF7MA88lQ#-5{mZw!++Obgg}?Z1`m;SFvw z>6==Bf`wC3T1t*f15uJ4E&-tkaOWo_zzfVRt&Yrt5n5S*G&?~k0Z(1#0I~fv0Hv>P zWN3aXXEJ~3(Gr>YBloQVn;X8l;r<;2JH3sI!q^3JZftRO{r*6#cZNvk#$NmLc@+@F z+c!TmG_v$a0OEIL`uv09Xy5pQYw)r1f+;h%y*9iyG(O)Ce#>4}SpMpF>)gQL_(svz zbfm}Lw|!|>T+tnI!B6&e@jn1yK%c++3-j0OVq|IO3~&K@xcrmL7zi-6bat>Y^8B0o zFPMXq<-assoh|Lm|BC@FzzJw>BL@c?&wqE@{~Pr` zIas#d4wm7cQIWDUvj;FS{)gSv)!{#VZa}Ah8$|if%uxL$ zVPtA=XX6Pl1)9M!$lJU8O$ngsA-}C(6 zp~YQoY~+n>f&Xp-{O275kOlm6$=LmG(MGnGHlF{d`2QZM0sIe=|3?@p7o)$e5VAA> zD+ePz<9`?}oy9FZfToI;E+!TLGb5Y7efrm~W@id?vaz%S{?+r}Rs!gl7#aVYPu0TG z#M4yn0G+>OGcx^K{Qvm= zYo+(!V8rZ9>`nif78MsGJJY`d_CF2(xJ_K0oc`+i@0tHw^nb4Z9d#hk184%fwrp?0 z6JnK-o$1nml|MWwsx#2X^ldoQp}a}8q$r@y{-=LN#12=r;d^~3ee*Q;XNTv~sl&&C zH1*+VAEph(&otm=A)YS@Reur6Z}KhR1AHxT^? zxHNh3Fl0PNSbnLeL@6$whEDfQCZ7q7=cR$1&UKiJgoXwMa!A(5kB~^sxgnvxyks~BfD_-z( z{m!C~oL1FFc8}>P(*FVNNV-9oH9fAe#FGSH%=O?cfwXoT(TVpS^mo1_X*+ucZp0r>z zIxPvLQwhnsm7VGZGQZpAL))yJUqaJWL`$u<)TtSu4LS_{l3@Mhgy{)Vo&cN`Vwl}~ zOz4p~9C8Fa;6AS8Hi7q-MeZviXZ-zY_9|6TV>e31Y&y!oQN0J2O}o)~9i5m<;3K>$ zal#kd&3cPIlNaCkWcve74F|hsjwKx8iJ<}>vb%5j-W&gnmQYJ(@ zW?RI5!c5u@LQy_ss?NcI+aX+LcuxbFt)wk~nOTl^OnQI2`!2!fzQgskoBfHPwcgn_h} zolhb;sY-une%tG;;Hd65+Y`vDuMghUaIk*YI_(d>9=$?aoB%6Lgyf?=U(2=%y-CHc zjrIssNWIV<3d4XGS@6=OH{YHaE&i%S9t-fNo45y4(Ea*RBy%`i6#t4sthXS4dmDZ0 zig1Vm%b>kDG2@PwiP?GriY1|Dx1Axh3oS>WZ}*Q?JP^CMbj7VjAxt>7IlXE~O+BNU zOSnQ?+_=3h!j;c0V(+^W}=-N;m zrVYpqJ5(}>ruK3(#|TZbL}$DJb+0YOc9)#Uc}-+NtD_z3!6RN&1P-LU>`N!m$H)^t z+J|O>kQ;6InA%4{w-4(*WMr-kFUiBXALFT{Vs}yBm_xeMHUh649Acvsl}$#w>MCt; z2s)_EhCC-f3^jg!sUAO>%aF1)SqRrjJw87I_1U2eDJsU{i#W=+hg2xeXOv2CqE>Px zz06PXvxtWf$i=mt^Bd>M#fB1EpSxn;7S$bH5r2#J8?)n1{rJ{GUrfzL&o;i3t0-7_ z#_VF5-5X?j!<(p-u2Dcbq!nT>&F(KG`D1j2q0!p>txDs^*+p`Ei`S*+D zfo>?YXprYlDI;UJihX}~TClG__|4^b`-x>AKEAc6QDm>pp=S4KBN@BXn!$$lae}H( zdT!sg-^n4K%;N~$NXl^6Nl`tZdN5VjEwPPyQMhM)E}n7YJE9zj2sr$Ja)-utf2FT7 zEmXsc(?(iuo70y_&;cV|)5TGx>03vB)Qv;whi{)$hmT3uZ5MrZzXA;`KCOyMEuP^_ zn93SL1-V2MMD@h-VBXr+fvNE_Qa#ELxY!G|@C`Eyt1VFlm!?4e)bQBkc~)L)Da<m(-M)w#hx*s*yRiIGG-<`cqcK=aqxRRQM4n zo6BPY?d)f~Mg#Cqjea<2S zfH!_My(dae!w;FJmYvvC17Y)TWr>Ps28AY&J?Jvw2woXd{J2nD7#0574gzyLJ3YvQ z;;&z0ze(+4V;J_DpV~ed{G-p4)2ag zRLwJ1Z2={Fh0ZkWWFzi}FMiMPvt;F1|P^$7fyU?|)7`@F`QH6yj*8CZ&= z#4)cYMsx3z4vnb-1r?Utf3Q>C6U%#~~&@@uo6dJ!Vu5IusA<4z#{n*34)A7_n-ehcQ9#ULw@t2jM6$JA5T0}P)#nCi3&tnfd?^3 zY7k4Bo*@l~fP<-O`_Y4c1$=H%#;0v#=6G7w+@at*rdGf?k3N`Ojf8}MQB^E1$-Z#+ z2pzDoKBoZ#^N~+DJgjsjV($8WXC%VW#q}0ARY4nlqnSq9F58~)M?R8}44dV`t<9uj z!;~Ox1x7>XtAy$>LhvZ~Z-F1I@L} z|2^4~!-p-U5Zz8G81uKrwdc~*EGpOlm9GvFHIwrxr!dpXyP(zNi>oKMvjR(FXgvK2 zSe2zs#W}~L7!(ptd$Zv_TGKq9_F+tKayJUrz}(V}2OZ3@V|CKb_ee1K)Y`iH2}tq& zs5_6=JwMQx6(f1ZLhkR^@;LnY^I^XY=|wE8!B0F{r6DzlyzC+cJg=OXt$0>Jc*_Z% z2NEJ0@$<_*IYjs~WR_-BgH0wh7AOIfPQJ1V%Po%Qs_{hb>8~g&v|+Je&B(O5abZaz@l* zvvu`>TE8pU?_YgiM%ZIR!aOjVVhh%rY3y)5-*`0@#cvmfsW;X|_VpMz`25tQcA~xg z`s?$hL)&BFHoN571q%sEx}vF-&e^3nUSBcLSIYO^G4)wa;~QbPu4)1w^UrgW>Rwc) zpvnZ^<P@)Wxg6jpogH7aL^li>%<9kJm%7C3l zWic&kt2iuA35fiC4CCNSZ%PuNlL?%Tg3tDyS^T-*xV!rm50gP>onbsWs)4;u z#cQdP7>RJ#1@RW?r;?Dkt6luI zKlZpB8{J-)m#=Uw-7ZV34E^lO^i#vwv0z1~vH2HOBHh{T&HMfmXi#a6s?fS-BK5Ny zVc4RoMaueFdFmQ%-FUK+>{uoOQTHr2{R8mQ+`3tY>_bJk3!3!pY4H)6su(v!>g@j{xcZ62u&hBOa86Dsl%u#ZH zWw2W80fwx<@Vkm_OmU{O8gH>~>6%ZB_MThO#t4sz=S>-}$cm!ax8{Bsy&PMp@Tr`H zCoT*&4-5Ci+0kFp)|62ccQjqiNW-8)=&YVccq+1r}tja_YRL@T1-z!n~&k`kVrrW3#vbIT)Vn0V*3!nVJAd$svfmhoxq zjWQ)6U*dhvs)i?{A2P2-6zk2MhRl`AHXoNywM_?iZh&aI$Z{l8)i#;GUR--T-?|`} zW$|sihe^uW!gxV|)z-&hy!zc*iJH%_om{4Ui*@Se(LV>(TU!E5JY0jd-T;mgw*R=U7~)FQb7jUXh`B8+XWyrfOwrg4{?9Fjsz^oB)_f zfSjuJP2H-@2Dfc$)Lj`ZsFoJBksL6OoT0spgOweA(h47yU4np_E&TDbV2(*>@Sn?{ z$G86E!^$L{ud0@{S~B8CuC#yNAKXg_7GML>;~Be%EcA`p!d52A;at#5iPKM}LBIso zhFC;Aks|Bu=xa+F$KTG5R!;1$+{qQA_k=0u?y)M)v}-D{gC+UahOhp3e5p;Es;jOW z#I%XhPrBNj6)Z_*fMXa}z+-_&EQG_wNyLRs0jd5~V2#%S3E{QP1@XD~gLF}S`w6)e zFAGlm8yCEU8@>3>z%_JAKqxh&j7wFw8)HkmrC>S%dhSD|PGC;^NZx?_p#2oP^e|Oj zRSA6}Jpx@X8 z8z(gW$@wei7#%^olb{r>LZ|%)hq>apblw1}&ml8N2UFIsD_g5t8y7?vh#g}kdkUE6 zz2gS#%tnyhTarM~4{S@)C@v`0l>FCY9=FU`%X1OYxJ8>eqB`2OP*kLslLb16HW<_> zclGEKH2m!cSG|(ZQ1wZo4DP)bck=NSOqE4v;(YC^V_hVOEE{CYT-wx&Fh~EA1nh+h zr9`HOuDZu+Zy|vqnS+E{${&+ijc9zH%h!x+gm`IwZFBu(rG|QXVUv(2U<8Wx=`<8| zaP@Hw`t{5fGCsWV2<~SMRjMq)sE^RLVY*TTbfc`4uy?FK9BW2C?@VP&|EPnaOMq{~ z`>yw9G@_ku`)IFp*A0L7r+e@Go>z#v`pTU0=lZlFEp^^Tv*J}Kp9z*HG_w!r{&wx6 z^As=l9G&A;;SEXp;8SsZ5rliQLz~zybtY7#nHBh8)Nf##7|A#I?ed7Vnv6SKagW`G zU=HcF{~Y}{yeR4B(O_ZD9lRj2k((i}bDuPVNNe<(7itMo{EoJx z2zbi!AEegS{qiwem-qAynVYFy0ro!^LBI$OlZrEXX-u^|@cbvf zOFg156nj6I`x_8fII?vMg8N^cY}T^$XMcuy?gC_i^f^vUD z4!`nHx{8+$0%BYwi$e%U-0JZo=F%N;s+hYy=e{F??lp%d57w|gD6_uk7-IpKIzLsl zown;{DAAX8Me zAf=!k)u#ZMY^_$8cS8#^ergk8)cQt^R9wh9tKs3*<*}xA0cyeQhb^r~r~WL27Ae8R z*qXRY33qkBNq^J&sIR_bNo+*Bg*h75Cv0yfp~@a_rGgT@5|Cwx%Fqeox$KEuL6g^t z>3bqHQY@WBBJYf?*UiDubp385)|)w58?-$t#*H3-7zyw`dWP1qFCw}-l3Q+<(hfn$ zrOM~yOk~MFf*$4m7Pax1F7e*D;5^gvS87a6%#MnS^}rL|>fB z51^$m^_KcsZ6?1ZAmQAp0jc`Vm7MyYOuv)Z^AbmrC=rES$FZP^b8%D?xuT1+&AsHb#RLc3~Z2yf!{ zPJmcZEX7qD-&5bG5n60Cm`dd4{7O+pjD+V%CvZEzu&u**W(1mrUJPQ8Cl}qp@wOYu zrj%$>s&^J9WSJ?Vs>Q#^$bIdCZGd7<%U|LT48ErL=lat)Q!nZu%PmNerJsM9H{{E# ziK;X$wrH^2HsXn7T=B}yFh8J}X@)`dPK+{cml2&?n|Se=CO$K!2=Xy^h_o?J*d$A@ zCQV_4J{eaV3h^(8+y8mg6CG|zSaGtNk{C*$;htr43B-0S92=_^B^mq!&9XD}HTbg! zAv}fixprH)Dy>ZRTi8k1{j^q7hDV@nez1$?Zd)tA_@1m=)hf}bzGXc~%wl6}vUd|Wdj1bBL88S_b{C3$*cZu5gK;K~b-U!hdm#d~g&I?$nGto#90+zvuGgHK42>RX-YBlO105WE zTvb*soY`W_GO`i?BW3yZ0)05bdBs>~aQlHno*cBV;qQUN;A|;rPilF!sTGp$MMTWs`Igiz13}F@nGO>Gl}DvveK@qqpl70QPWGBu(l(%~`E@*mD>WPi~AU zOmXBN4|xKFawvva8_0aNaUNyscv!`FIYS>T{l>={<&<^HTEY!!9>4Np4mg zt-=odqR=sg!odmH;PPQ)>B!)hHRO3Eglz*cd#jQcZ3_`zc$CAAq6vj?i@>V6h*hHb zenN_#`Aa@PSX+E$obdDQtG^KleUY22BuQ`Pm@gGr(mLCZfR>UQ|I=3Jm2@4{u$+a_e!~SmH32`@y%S6nPt*TZL70`A=R~+9&1W4 zpb((KNafmbJ;aTA&AQp8PLdI>o+#f3;9CoSD;DvK@?uxa01c z5ivT*@^OlIE(i@iNXI&b*>j-{WFeij2Ks#NfwIp$mKCbqD^+nt=ngLyOKX557he6Q+Dbw5tpFITRrKk zxjn@5%^jk~(zMmye83M?5oN9&Sp{ddmR>%UF7*0sHx#$Hcc$R`qM<_ohSWLKx-4&A z*IPe+@YaE8bhIVKRye@HuUmVri6ZV(%tS?spLh{yKfdKao$HR14)5+gL8nS(hljE^ ziKut0dfL%)=LsdCts<1}_-LgCDRg78i0YA{6-hQ<6B3RDicahNC`YWcfVV$d>GeWG z>ExbmFO=^fK53W96l)J~zBCs@zGBugQLUs$q;Q~lW`Qga`A`p&p|p*4RDb4R(POb( zP-r8@x{*H}sW*+7a~|jkJCk1#JLJQrT_!i{M(O zTF~qRw^uM^E(t0QfFG?*UscSStz(o+EfSU-gim9kcXII2z7(ICl66X%FWI2tX~y#Fd znX0d&Fg(W`@|Rz9!j#Kr1w+ht`!LK3A1AJViAS$LAK09Lq40&S;na!(n+IT5iN_+{ zX=Qf}rT})K`wtzt$PT$kC7w8cUuo`+WTH^&H8`T4U%uIvdUbUE##tjuA}y!N{RY}s zSJ9qC2-Fnt#9{owSSU~QHg?(9H%IP3BoY}dr==DsJK?bbB8{6ZDH3gz6Ck>ZsEjfq{o>Z+ zJoCQDsLbaddXS+P*<&13=Lmd!yazd}TNLK0(@A`OK!pH?;Dq}m=U;$7g+4`$H4QU7 z?=dGBGqHU$wz3%SD6r_mKYW7<-D&!;FaCthA_!RYO$ytkY=)27T#tJ^V5zT@Bj|`^fWwv)Db*=kc`%Qv(z}G zXfQoTz+)V%Ed6G9#+PLbwYx?@}veH)JK2BCyvty1doe~wr9TF%o z$Kf4BiM}lPUw@R&4@08W?p6EdIyL8%l*a_R~jlGm7^bD!=Xm6m__CRh=b31|C zs{iL$asT)^e zXmWqjAJ0(wy8dM%De9v|A=2cXskW{2K%WpE1kp2}WTR4f0*0Hx$(9qD)f;JLq&H&` z9$faOV$gNSPcs~u*}Ox+B(Tl4V`BeAYqOJCb0M_ME&{{N zong0YiefgBpu8$n0S`AmS z*<}|xe#pkqee6a(*?Ect2sqU%;VmG)ay5^b3I$ljQkHXGV5~1>xzi$_8qjx370>}D> z`BfbiGnO2g^@!vp=Ds`tj(%<`(!jaVqA9#6D`(>`E~+sF_n!VECOO;ajI84$d-5ES z5M~NXn|kApm(9G}TaA#iIU7PZzFy0jiBSI@Lq2egha>(hlH>^cEqA$CF&Jx5 zP%`_~s+zTKBrmdqn=|E0bf=1bdSF&{&=zC~H<+ZLcc8nhX-fC_BXv+~e7qd$Ub#Yy zWHNQ?%|hz;6`^E-DDL@ew^qIjl6dMfa_X)6Q##0_fur;4I$AeN2E&1vw>CwxXUru( z!v@>==1b-qf6+=wK34c~IlzO&E4;=sx*G8uKWntVp{3 zd``f!7j_%VITMSxJ5DQC0b3zMgOaO2%rpV3A&%h0N~52?Olx2KspdECMCe~9ckJ+W z>@=Tr`(_Hc{i6;f91K`PS%(G)Z_GWuz5FU9s-|$sF>*#ReHAB7t|9^7g-5y{w|uAB z`yp;#&N4RNJZJ=BijlNXof0@4ti|V_tm>;zEd{v&2_E;Ts8SUn6uv`Ghbz zwn&ebPcF!ZZo-FneJY!-MM#h163LZH1wCgZLG$=W_stCA#)jO(Y)vklZ8|6T-ay8&Tb)%&C=9@e1(Z2baWt3RY~? zXM@-{%#c^#vF+JoGo3eDSoq|_$-Eb}i zqTA$f@hwWJeg-V~@u_MCGY$|qa{%p(9DoDK5ozdQ&mNu5ajN%glv@p91Cw3MeDCt! z+E~BWShwd%{lt>e^jCYSbn(!hXF0FnliW z&V%QQe)fXRWxe~Y895Si*dis48n%+j)$r#W5D|uWxnu6cgQ5$3W}e!UdZT$fQ7%xl z*%a|IZvqGv^8;8-RXYkH%pC^6khO7dnhUMGu4WQ zF*mo2>S}De^0$*J+A>w(=?ywLiHsm>LBw^+@b#&Oh{@j^lpyR}?f~$U>^E0n8&ETXOX&#IHWu?U6XQ00AvO!{r2G*BI z^U*hEGJ8g-?$iS55t6Y?*<|DQb{R$n=tC$Yr!(&hKb$-)bY+JWc7@zRI0{zDouv-yAJa$&&Vr|!$HzaWRPV&KjRNht$_=-0bl=Dz{ zhl%|_r&ceAw2e{%_`gg0Y%1U8JhA1rd#pDcrQ#&G;6?dkkIFF6h}{!YcZFHVi}0JN zPc{NaGEJ{5@h!o>U;P|`GXM6=gmR@Oe({&L1Cvm42j(Z+hVhqtg)Ls3od9eEbdr>* z(lr8@n4|=A#YCkn{QI6BlKk=0$E>+iWGN8 zviEijV_N?yBo-b3*GG8}<(L1LyLqHR149rG1HZ4y#tsdQ2O8>}EG*is!Z9Xe&(zN+X%4^*rqTGJWH^ z8*`9hh3dzg6wVh1o7n-wrh2{;Z?k~S)p3JS^jtb z6}Exx0J2NV`ywXD?XR%@E!IHuSF#ihjAk7KrZhYn6Cz*2%Z^KKZ~@^nyeG@a8r3#& z;#b9?l9X+Nk9KQki=Ub34D*i3#HI(NxzlF>(W3E_&d#jAo0Dt_vDi4I?l3O5>!8aIzFQoMWA)Y@*R@) z#SjUYK|K|H{c6`g$*;?wG==<{{Aqr_! zTLKb{gMn>Y8iSRD8>zP$gzKBh6uX(q$}rkmg7zmEYbcn$Gz8#sI-LB<;i+!;$Xi^`isZ$psfl2o4_8Z6B9tRWH1N?PsI z@r6$$CGkyDspaoEdi0#XEdm9E-Us%d3YIScb)CfW($)o^seuH~nwvg7{TYJxv*A|3 z*a}F=V~b1-g_j5J2D^@J#uUV{?mS>yjEZUGo`Wfiq?*Co*ht(oqCc2dPM)psXi@`8 zfrAOoPzdm?A`G3~Y8!r=ZpGh(eYM+FJa4YnZNF7FQ@%$Ka-M`!O45w94Esz$$Caa& z2>*fU1wCi>JFdxvHRPz8p2$xK_?Q;}=gSvSsN>?KOE+;SijuXe|E;lChyG*!#h`3{ zi-ttxm~39ZQn_f_75BmWpcV^FU*CHK3jO1pdgtRzxr>(xLm_us$Csq0X@Or)a`DF^ zjJ8e0FE${U>CJft_Iogx0(kWWbcPtXvDT?4EVc(f4He^HE;jt$hMr9ciZ)mf=`7ye^9$CUUn`Vo3OqX$-1rLtYH z)KL2=X#81)0Sg_7^2kOp7#+0FK-_!QO9&;-{NfhfsCTzerK3|R#tISJeI}P9Dk;`S zNnIc$+}JrNNW!QWo2+Yl-gI0a%=SK5x?&Ee;2gp6KA#~0g@p0bX|Oa~4>;bUZo8+n zbOTfk9rd4+8YqRO)`Rr#%Piq)DJg2`K5=^ zkr<4{TJdaq_KFLG#R|^LuAg*WRP?gs`N&s0+=kkTkG{eA>=pQt&6ulR%fbp89d2(r zGd6!{pm9~j2O}p7iAU&cZH~FC zu=d&Rgg%t_Q#-VZ>qmxw+l{QrXz0t>8cLb&zjgRWtzDC^u+Gq~4IEbo;psP&YO*YzT9`hi8qf* z-RO0$LP*1*S<)97sd4Gh02mS`Q=%(`T~1nG`9-P&8DcfB#t*TU?ff6xS&qM~tPy5Q z@O2sAp>qQVkuarAH`ZgdKnjx>kuTl3dC@cgIO?SV+?W~d^Q)evs`Iz35Fv4G%F}+_ zUU8JWeEFp{;PsD!@rz?Bwmp{x_?7Ivs(Mv6$+?CZ)>baG11#vo1TNp`C|065&#xrw$RUFk9`?MA{2kb+d$TE#aR_(-;lq(^inr>uwR> zk=*-OW5%?Rt9~YY7CT8vW0k93C|)$otz2uG_(DYU5uSq13z1bpS3jay~jEv>}t)s zlZvx^2BbPRG~Yxo z6-m}2@>X-hdqa2S?J)N~F0Yr_&KE!aIu%i6_tDJHutS;X4fKQ>x37?W>%`EjE;VTBi}BdikB`=Ihr*UIycKJb|L zh{WU1L!~48c#LZQ7()HvbeyB?k`qTuhkOhQOU(iO%rrC2zDTp$%=!hX!t=>ImxLtG zQJoaJ#i}C@2H%3Lw{*G1rYfHMWyHU@Dy6G52S;id%D5+~(2Q>2~Hz zETN8t8s9YeeJxtU!FMyOsXGs4JHvPQeEApTb3iU9iw`v;VZ^!M=A--E! zcx%IsfikmsLY~Mm!mn@f>-c6mDa@+5PJt{4r?ZHLs!*vn$)cntVCmbx zTAnlIRRc;`*ayqKWW7Cquyjz361IvArr*)t87bV5oPY#zOQ*&~>{g30HP4?0ojQp& zh+G;Ig}o80b%(d5Pw~)*nwd*9&pSKIM^mlRjR|+tUJlu`Lyq+6OhvZ5)em5T^h7j` z&B{_*LJ6_HRDKw-&`1%bg2Wc1A{ERmcI><-AuAup)<*9aL#xQV3J~=CxYVmwkxp$o zld%?oRE11Kcw(*paIPybugdPmzHKL?ZWA&il$Jj&GJuK*YwbISz}`tubGb=%tY~B0WRZ(@wmE?>@=}HF(+CG zQ%S)vZR0OZSh1R+1??;bBtvYdH`(bxP^apq2_vYua{2f!rLaZTV=Y&aqI-1@e z#NVh+tSl@L2y^SvYQx`<8x$>y+Tw39^e}nQU;?I1)Zf$`T#|^O@$p>mas;+!X}wia z4%wpj+k{j|=Bo(MA`SP8-rT3tYuuZnjx3It;$u^t+>l;DAcD?G`3fpq-G7;E&Hbt6 zgg|f)X<@6gb?!AW<2l2CBwNP~VJao^b*IuhJauCTiNK>Jo4LIQM$s_K3%fR;9Nt9(^Odx`B? z6W=RM(J`#!6WI|@JY{8=ASc-_>lLn^(xmQ)`A%VlEF12ya762Ony$6LQN46@B|T#0 z;BZ4`XZu_EM{EhB46aGdDGK(1cL;M2&PwG}A_L7=aM7THHgPGhTCL0F)(bN$wwR4& zXMP7fxCENfD4^(6W@#no+553&-E>aL^z%?V?ex*j(X;=cgfZ$ zrRJ^SqMKNIIW~~b4LFib3<5E6(N_#*gSk6^I+x-K8%4|qb{hp3Ay$wNGxGiXcHs(2 z?}6vd&O{zfROIUgdq9zLJxL(B_a~HwDphMnOdzDTh2?KAoC*omq&VUzCo&ijL1CoH z$ruLi2~dM$B|1-$*gNVb8vBLfUh|n#eisE%%?0PU3No(jZ-sxDIHV5Pm4MhQZw2)5 z&gFtuBL~z!l%qTls*C4g?S(&r;Kr6caBp3g-Vw%X9cDEL6tDQ8$2toR>^{2)@zeWx zB+q*9G|U4%ilPdxDrcOMw-YeojLEVdN4rTHuF$``l9nz8iF03%Nct~861adbd3?Sf z1x;};)c|FvdJT4>llnY##)-hMiy|0!8niB(bfdXPj=g>gg#M%?7psZ-n5A!4oJjx17ytVj zqC$kLXzVOFSl;e!FtonZSTYrtO$h8I77I(K$Yvy5_gu^QMH_yLm@c1TaXcd~CG}*v z9j=sHh(|wD)F91m+e1p$p;Z}C>vjF@wJ`OGg4}E-?f#Zk+!+CS=_a%f8%1({-Q-0o zZ5M*9AG2mpOzQ$6wmAvrN##}VUSmVX5R~hpwL2_GU(e0G+K+9DcK933Iczcew(bP* z#2?BMaYhD_n>7lVCpjyATHc}qccKTR2a2)`YKfEt^}Ljg-OZ9(hywp;d%h7N%dan9 zKWYOpoA)kKb=!*qexcj`+ppb5Y5PiRVEi1y+qa)}d$6#xbFjxQ;&NZ&6+1arG{kOP zT(A=p_Br)~7q2q@m-os-HW0q);2BIF^?5&$6H=Ir)6FdE2fG3b#Fyc!KifkRP2M`C z(vG}+ox7{v{R&Baqen@;ijBm5kz{@|)@NDt42mt#&||Jj^--S2 zkd&W|zXYU*rQg_Gw{2@xHA8-Hp7%OcV`e|xAS6oVT*X!t_9l?Dqo9#nA1Jc=Y}>zy zEgxY`^aAO(FELC061^qRJeuq_Rm4XThufSA5y z5*5I2Ia%nGh&gvpAvmcRvKao8V&uvVW8|SqE|m$A6PrLi6?F|3{mipy(0a2I)U?C!)tTN${Pn5)4)u_ZaxaS> zUQuA&aJ&E|%zGP3J*y#ex0*-1Am2m7n{cIRT*AN^<_({(ndPntqp6EGA zrv9@w(y^E9Jf%1IENuPWr&7?tRtB6=u!`O>k48*ng9<}0d8$vR?^CQbaD-Q}GfOy~ zIURcP(FII578Pm#yt%u|r#|Nj=B(D(nL65k!@}2>P9dVZw5QQEitha}W=Ix=0a%G7@xkt@&Zc9uyqt^u+ znV|6k+Trw~|BTB}@@D!i2`Z%BnKGr*3ARsZ5;rQWSTVr=@L~*G>^=2fQs5$>zkg+X zuXpo>8PSk1GDo|wHj;77-D|eClHnL5E)8*@Jy+wh**ZA1Hf%g-?S4i&QCYpGZ1oJX z2$3&kb?j1PyC9hc*#G7J*c~`kAC%?KRc^J+!yN9q-z>>9JG_oIR@Lh_Uh04wr-ufM zm)gQzIEUB?cws^I1m(ualGBP_V{r@3N9)y`{0@77uDnRAQK5Oe2xR`~!VKnci1U~_ z@>q;v+NI!502xKY?)=6-TBa^ku%0rhZ@9DD?xMlYrF}^>XOSW`yyjBrt9>f2Y^)2S z<^E1aU#|B&EIP*w{!YZfsk5`x$muLL_AdS1e(Gi%jZlSi$B`U@fF41{l$*Uo4EscR zF75K`cI~KrI_Bk$(yVqo^mS6CZLvv+{o{rG#r{1|VArW>1_ zIS#H&RboAf8SfVFljv^f=6RwfH?7t~LoUby&Q9y@e>N&Lox3t|AidWfOR&G{m1^8X z(d?0^nLnxyKlE|ScSYc~ToGS&KVYFI@4lU7Z7zzk`0CxEXoXFlTH8uFS#byRkhF3Q zi`!2S1Ab*>!u+omgj@bR7WM=YKGj$ z!`8k_a95*k^;V?W2;s4Yqo_O?A?BQ-pTR@{pZ5^&LY@qNr|EY)9W>gN8o_lbFtS=p zmowPnWuxLP=X@&~m57%8L6+9>pd_VMUZhcoW7y6wtz@O0z|?n4)S3dcN~;{*g^DoRLumwCu^2tyZgX^Y*RC|!07dn=%TxL3Ae{0#UC*Y6tE7T; z?oONgfH4&yi>jCYgq|;3x;l9aiIzT6^aRuIINzJo9wKw=%4Nm>wloS6*=Rbf7_&)_ zvcImcbv;8<)5;>5ijt10()M)G2k?j9#3&BKa-(Hn-|Oe`Kff>JJ_AMJ+%Su{ z0s8N0I-{&5@UdWyl`tPu3i4Of_^(&NaE z!C@qiuOqd$Q!B=V`CM+NdBxiilftV&9^LySHTtv+fXbELp{!4LQw1B;wk-{Hz3@45 zmW5ZjJXM3A{Q;2Z*Y85i;R@UfASr;s3&SZL$^$yhJ{$oE12zk4DLHX$#1~T5u01m!^u^+`B6S8*Bg!g5l z@9E@AYlZxafG$bxsZxu5C0o8qGM}3tg`;~nC<{=n4d7v0y{;Jkn?X!Puy4HM6g8SQ z)GDR17od`wNpRE?QEQx!9f9d+^)-#tUexI{8Q=TTnuU&?>XZ-nJBw^r6`KLVm)mOh zKw~gIAXBgfrs98}>P&u&!#2$2|4J#LC#v-@osQ||rlH3i(4kVNzS`+X&PnDwQTzE) z|5SZb54Pl*YBLZ-{jBL)`*qud-D7ZXF}yJ9+O}=mw!3TZ_Fvn!ZQHhOch}~wZST6b z=bU@a`@VDUox5gzNLD73OtQXYlKh@lDfS5r%$y?}7*g;8Xo%@7&TB-s0(yrC2-z@S za~ssh^BM14_vIcHYNj+{hi(!kHA&?Sp?t)GDR zUY#-Y5l_kaNHh##NgNu&^n*LnbO?`q(G*v+lZK>vmS^#k%&wO-R0q9*@pis#k23q1 zbN(_c#D&f@jy#$cW&vB+@^fC)mf2)c&17I;49*~(lZ%v|LI!FdV$(UHeL?CI_`*q?yE-OtxA zsk_e3o*lw0;hO4Qg#urNyjt*&C5r-~0a183vN`M&RU+XA#-yg0RI7lcZF^DujS0FX zQVoAbUBxmK&;d9L9Ji4Pj?yUeC(-ApLe`i!dfQi+QnlPSIhbSqH<)O%3HnbH>axvo zC^v-%nyLr$weRTX@sK=?0wOe|8O%{?a$o>T);bMTU?;kP>ma|BcV}T2>}5wK96~U* z8Z%z%(%wa@7;iwOYWIy&$@mU^jpl22d1XH~u|ir7jjMRp4}gf?UZBN$sx+>$^x-r< z=u559)lj(xGo6}v!DJ>dR5P!%s%#_q-5B-vgN!L=8a$!|L_RT~Uu)b$&Nw9b{&@~-xC<#5RQ2n^e+2RAk8EIsi} zg;`|R!D6`pA8IfC0`9G)kC?7V_>{FS6gXw7G!VmP#|2B0M1u+pN;uO?(Y*)oJIpV;M4Z zb6|bCEygtyY0(9Tn-$Z_hB2>|D+*2OxFX3vL%2cBD?8N*wyL8qA9lsk#~J47hK-Q6kl;0p{eqDBe%wW*$ziqII;EGmnpRs^gR{{aj2CF95k!$uv+i-z`a|_|dj58Iy$gLSSIIDM7WU8wN9t%?9rR&wt;sa5lw#dF=a|wD7PvSX6d_SU+1W#N#9Fnm(hDiis$jH7fWAB;9dWG(h2sF@U9c)GWsz{^ipc zQ906F5!~$>X-!h)?G3q80-;b+q{l0>@IL0P*uaN-)Hr&Fzio9xIi`dCN-Ew=3*G>H zpIy)Ov`-IwUu$dPudCgP9#6J-(c7h@e#nKKdeJBZ)d;qBg%gCqBBhW;t!FdRaifAF zs0ZHSb6%I0z1<8(5QgpNuT$5RT<@(_8Bvqjy?G>zw}vZZ`y{@Kqmas9X!Rdsxw^sZ7LCaXlPdVYJ67^RXE~J zOyH-5_KSFDnmbDB0-6n*M(eA;Y5pjtPI}9~j;Nf9&_`aq72b zs)9>5fG+gzpp7_|*Fh7m)8An5!>Z9o{F#{+x9B5l`FmzNBfNIz9cbujp-;S~&2^F; zett{_A~(g7=UX=3oIzuV+VKZzW0~rEP*{yT#-QTn1i`e)Lk^6m^`hx3s43-owLjfs z0p)UKoT-UMo>Fg|3`wOL^g0{zXY(rm{krW5m)~QKOw)*rfo11)u3tlgr`jMrnL~ch z2$j}Txh5Vh3_cN9p-~AT0K5_f5!p)@DAOJeA(?n+OuLi_KKMIiACgJP8JBIdoG%i! z2ntd+79tclGm92Jd%G*EHvOv@_?PRv4cVq7J5b23NMz+eA&ARcW%A3S)F(p+Pw);U znvCZ3>pu-(EfMbVo_{20Ya7$$c-yX8iU*a&-%ujxIP&-(u3YVA>RE0GSiW&9shqgY zEeM7oIea_$x?NUIgMz#nH=30Z5Bnrf6<~hI9R)7vt;`_2(MTI*YACT{aVAS?QcZ+p ze3djNXZ|EvAt5a3jeL{@Yx2{&$F51ZSdm_Y51F6WhlG4BNa-2cOGoQrDeo{)~DtYm(lE z1S2Ukdc}2JiPTNVop6WeY8v#<^O~(Q9whIRqtoEvq>1@}?gz9C8)K;>(x*1LL7s^S zY&@^J<{6l5O^J@b(XhB0k*r)bpKcBr)9(gWoHN`Joa_>AzxoSI%7c_td^Or?fQ7r9 zKLCS@9UmF`0C>6Vfq;H9l9x$YUF_l0!;CN+fu;7FcK`l0Kt=HVfKe?<6v6udw#zY? z==l$Q3juu(>?y9^;kQf-v}46SHTufmkT7~@gP*t|!p+k$*F{zjyf-v+a9LOdj>$w$ z!l&w?_^@=)*@G9JCb&9H6gg8Ww1UABGkfRc={&cDqDOGGiR(Zir6;Y@x*rfJS@rTk zB?Tf5J%oag83(nq#{ILuO_eBoYE*f*%CGWU!D^v5XT^4A6I&GZXC9M}g`P z`{A{8clx?!)McBo<~tfdK|)G|-2P$v6M2TS@2D~Ipkr7xb}~<)eih-rDJWE;H=f8@ zAuaKB2M0Cc=e0Tgh!6uFuG{Ssv2I{z5+FI&@oHOo9PX%vL^{mTs^<$qZF`uv8G}`%W?a_sQmgdl2_*1DQ2)XS zE7e2$iniy6B2gct#RBOT`QRi;@5e=x)p_biqFo=`u~s{9n5A%w{LMXQ}9nio$gwcy~qGU)aV=8e)Yj?EYk4qagkI)x0rFL7y9hS$CAQj4}jU(ycsvTiLk8 z->QlEVGhIJx^|Yt$Y>(0kc`%{e<1*Gm^i9QoU*JMH{q}Dn`HF98p>~ep(sj$^rb!f z+Bry-{^O;MV3rZ#espiV#00{D52eF>BTF0Xe>d##@jc4cx9_WDyk6ZU7IU*+l!3TyFw zFdfK$YEuVWRoN?B-`czL4m0at5HTPf{u368PdOmf33=?BFYiWOa%(ia>$(US_3YeN z6b$M$n%3+cVy6yyz}_1}_pffWTrl7OfmuDU1jqybDmifh#Zi~Iav%UCs&n?_TJ8#J z8C6zM*WMe0%ZT7!_mHa`q!B$ax__|uZG{A*dUmOHc;NcPAd0EcQ-FSBUiqzs&1kjr z2$zgRQqm29J956X@LO$lT68z|Pojw4ZY+nE+xdidJ#}ZKDnv!fbO)fEUZq?SD0=GW zm{E%~s6U<jZVcufIW|>O zsD<*dDusW)l6F%$gIls(U7JIpY%*OS&zC)5X;%I&*#LO`HNADPBZR~iaageIX_l^c ztn_W)ujiJhP5xEYnst^hcq))^AsL!^1A3#!mw8Y6v{i zL>!L(qpZIDFe7r0k8GK-OzGcBR$+m3am+Tfy}4EVECO2?@l;Ky%!+$^oI`mM zMZxkiN)sF}v%oL-epg4D@T4pU3^LD_CvOGT+MdjYELn&0_P)bQyLTkpenS~*OzH8b z*|3d&t_X}5u${#U@1qf)?kk1)7`TmsqX|FGyRV!w^mnxuFX0atH4b?sp{X9|g0AQo z>P=?S)0`fW9y8$USw_;rIXRfjx1C}iC{;R9F{6}q@eo@vpk5FA$-RtbWGt64iu zp!;i}BkY%rIsx2QzYC1=k5AiEZcG1Q9>_}H6S#UU4CAAVfL8-Zb=&a4lKW8ikJa0K z7me;B3`U62-;U1f;oL?=@qrC27(su_UnF!1t#u3`jn_s?j*B=WFL-h$6cF6Q{C!~u zgId}2ASLZemW9cPh5s}+Bnj1iH`Qkcd7yCf7q{zCKxZRNhC2*SXB|d^lj&-m!aUGt z>F|zRo~O8ovWtk)`%NQrZxTR&3K8gDvZRW3yGk$h{SOc%7}&hW54=p0ofURp&yhH$ ztGmc1t07@O9=8nL%?+tLlZQVSiqB~O#Wpq%XNPxC*Khz(BB6sOUI4rPj#dz!&T%`` ze2)##%zqt1@CKG~FnJ>ke83m@ENl7;aT5kTxTH`h1@N=_1FwW-t2;f%N#SKbEcR`s znWq=-$oub*7)Yt-=ki&?QLS_`5qONs8gJt-Ag zFOIO*-bg!&Zt8e1&PKR%LKTKzi0N9Gv`8S%UK&Vfd_>*ajwnzzbLByibKs zepBYWf}*%eXMSZRbbnB>T&WmrP7Nnk(dN_MoDDnoUVp;Cc0^_*4>M;Qo#!^R*`g)o znLJcWnnYU(J(XWa^5O+&9R3-^{aD;uYon)V!BH^EQ9DM_TbeUKyjDP7V|)9Hdj)g2 zSvHfA{G|}dqWS9QfZSVtP1#_77^Fq1ryL$!A(ic^J$nRcCz|?JP+c!}PrgH40oVed z>Bm2X;I%)e$z`Q8OXa6`GB?L@1j+Rxx-|PJS;vw~kLL%2VAL^2lUZZi zz{~dlz{I1jeV3ph;X;!)k7f_AW|0r`uw`fsk-y50`2OHRvyoSOv`8$snbDhjK%&>4mCJ~>? z1fJTr8{Us^Jk6yRXk&I2Dr1bx;xJ|fR&UUEAi4J%Tx z09G{Z65OEWZ~DQpZ>k)Uap-myUw49dXa0H^?4m~b*E?XR`#P6B58|+>?4X6?V2G&~ zsNhyiC2pl~UZJ0~A_ejZEzqd~s^<7QyWtnb@kKfF2BxHY`w~&YYNVvKGr$Pw9^%_W zH8sdaRmF7EorWvB+4+5gI{mzcIm}gtx*%ng@;Ja1ZL%f?Jdkiz3V(G}SlMYVxv#Y_ zUF7PaMl!3L@EL+4{OsxT<-gfy6Faf{C}hCLqpBY}mVbQZYWAT#8M(p{s2J9`mUkOb z2y*Mo$7I*`1)&Q@C}St!oW-urHZX?km!9FU&I*LZ)j7@%n^wzwMPq+w5NCG2j#ia~ zs$?Qq!zBFXrr@c#R1I;<+dAg8s`XoXxf*|vlFM)t2pGMwM1_a)N+ zG*9EvLC$!&?-w0JY=a?ZlSQxE=NKwss8*XsHxJ=r;82an5mr9K)j1VvLAB=!5l)d1 z>_{cP;_4C0kd{8v`7Ty)5uL4GG2Yz5YQcPbRacG~s8d#mi6aF!fj*~~C=jjwzQ;`} zGs6kQr-bc8vf9ni`82vp3U5&m8l+eE%Cwj}$5J|?8b-~_n~uEaIdp7GZh z`sd+hH4r4n)701P#(aUCkZoncMJN1h1ra!myBU;4G6<*46dDjg z&)}>`Ion<6qH0p+;XyzEW#cB~wgLKFI+Q-Ab3Wb(yk0HzU&`FPQK_QVT*Eqz8yuTr zHacsIi((phj+V@3t;+4OQyR>*6Q0qcI2Q@ZCM(~-R zE}a-_iUsQ8{m<%Qg%s*vkNr5r_cdnAmvIDfSWx&!Vn9HjgsK{Lwa9!aZJXBuzdnTY z?s#G*>K8K03EnIP7D!;<^~=OO;CWfq*LE&-uof7z9#M$ly2vn}di$K9v4BJhh)6U|SrWQ9|?Cuk-)_jDJHB5;}mE%BD7X=yccFG*JT zvKtnTM((%sem?ISQL+{xV$wG@`Y9AUO^epr{huThA-oq(0qb^}v93f*q z)az_p3`Z-Ez6kZV`gK990k=ITS(?4O7jCn&Ev!dK+8}H0%j5Qehv@}i26=NIPEqNF z+Auj`TMI$ve7YL(k;8XEp{KVpfvVBmy|r-NkdFGNEIUb89bI><+jdLb&f$H+vokxw z8y0lUB0~3ffZO}b3rRXL5+aUcGyJT zL@~O#S}|3Yz%SnD0lI9j{#9%W^7()_B}Yd8w{5bQQ9EyCe`1E{rEa1)W-K0W=pJKuY}%+uRQIkkr(hnri-p zd0r?tiPf4AmsqstWqM>n%*EzesqP8MlM^}z zjmSa8Iq~C>X#RBst-US#G-0OOXTOYDE~(eoeh`u8qmi(U7Y>p4Jm{)GJ+}=z{`c$& z{BqQ~+>|Q=QY(=Q0-cyQs)6JQUz`QWO#&QrgvjX*5Ff>*zY3%mR0;b=5e|0VVx-GFv}Zt5UqXW2%>bV^2~*}k znmhU~_diZxyCH!t&_`v5qXXtT1*V^s&^{+3B5GqudDs9E;86vq{@Pui;`&6aWxDEG zoZ#SiglbmnO46W?Rs#^2a?>HQCee_LvtsKQDa>0B>}RlwgzcyZO*MUGtc(16v6A{< zc3s_lxf#c^DsaAtKi&&;y7il#b%TJ7ffDfgYic!k(cpaEX8%R%5d@AXd7mrdD(QPAbvzAi< zZtWZ{g~2VXiJmJMdTOnk9G^ZOAM!J)LYd;Hde7%5NYh#$7~Ph?>v zU7Fnj<5>X7<0Jrl#m%epJeBOD51`L&n}Hc4(pCAdLM>!@KoNjbIlcbzMVL!`HX^8K zxb7jAr>$b*lh#LMjroa27a-Z+2{K}AcRbqB{cWLokB^@{B(Cj7bq*_(uc+w)mG>v#_I-djkjsaBPSxD(#~2q# zUi85Gr`XLF_#3VH$lcLQ`9drAkJzjoG?_83M=O_t;TK5pH*OW-Ku$9qq5V+~NDauX z?;3&_T(^O>u-XKq7vbgRr18DN!*Kix@F_{P0D&7A+w1?p2`wJ&)vD0^1L_ENGX^9@rY+T$ddQcaDFTm0r2{1s-?|{cdm)( zQlFsP=#4v`4!K}la(H^q?XJ^pJ zP1}na(;#DxIFsHSv79{TEpQ6sRun+8zRw!=7emGWyAM8|u+$Lq-jnTg)xJSyBu=Lm)b2pC!G#u|$G!`QJm%?=%5cd8$_Aac0ipiH?;$9q%*7qrDvRX+W?)2jJ`I4;O3l&k1 zX&q<~Vim1EnGZK8Xf4Vr$x<5kXEkfL)ZR@ScC{hM9}a)R!Nt(I%qfH&K5Be;#Xiq$ zah?|?mq?`43^a1Tx&K+ol?ow>?&-25`VaxB;i&be(x25+3o?bhrtIe+^h{{}CzZYr z5sa$d%C7w_^1&$A>I|_N=ynb7%vXDL**frS_`TDP<^zO^M`WLp{&s(7V`6O04-;Dw zauV?9`gER~vFTZTpbs@`*6Z`R;6Q+2dLgy`3k^HHarLFn@Y*x|^sE5gwNUQMUS?x} zc>FBbZeA4c{|)}&{@=ig|3COc{+Fbpiu(Tve<<780RBJV4-O6@dKNC$ANYfXnTVT> zRS$+y*vZJm)|rTtnf?EOKe&EukN*XKaQ!eK(#`;D3nO7$Giwu~|A9Za*#0;7gX0I$ z_cSp(DV^%EZ~)#MJq}(~cHq=06!1Yikqd|G`6y>}+fR|4E3L{AaO=tuesKoYBO= z1z`Q7ikMpbyskgK$WO-3#qs}CMlAlTSZpSk}^{s(B{WMX6S zUjmAgiR%x0;$-2@=w$sLz5k(3%pFZk{%`Qa#n{5c(ZtEZ>A&d{Mo&gh6GuDhpV_vv zb(XOBnHd(&|L{)!4*`XX>3{p7{+EEl`ZJ0DEue6-u>X&T!ulVx`(FkB0mN`I6aB~Y z(}ab!vxy@Sql7iU*+k65$j;aVMnC|@$=T5aU<2d6QKN36nXQ*N@|RdBeom-<7io*W zy=##To{jBqyQsZe8(7+|?EtEjz1u31NIlU&ns*ax)9mHPMvngHHji4_`AUV3BI}%` zd6TTx0R4d7E|Z3h|QrjMqXm?^NY^0y)01l#4WS2=RpH>qq zAF&l=JWv>jfB>j1J{}1JR0!hw^a!q@!3CU2(4oG*vGH^9ehl2;?8)trdI8)J6qHH8 zr#+~^UJ{aN>M3IX8?PK50#w�LTgo4K7}3l}S}K36g2D>I~#?fT^Ap31-f|DOf}Z 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