The Kernel SHAP Method
Assume a predictive model \(f(\boldsymbol{x})\) for a response value \(y\) with features \(\boldsymbol{x}\in \mathbb{R}^M\), trained on a training set, and that we want to explain the predictions for new sets of data. This may be done using ideas from cooperative game theory, letting a single prediction take the place of the game being played and the features the place of the players. Letting \(N\) denote the set of all \(M\) players, and \(S \subseteq N\) be a subset of \(|S|\) players, the “contribution” function \(v(S)\) describes the total expected sum of payoffs the members of \(S\) can obtain by cooperation. The Shapley value (Shapley (1953)) is one way to distribute the total gains to the players, assuming that they all collaborate. The amount that player \(i\) gets is then
\[\phi_i(v) = \phi_i = \sum_{S \subseteq N \setminus\{i\}} \frac{|S| ! (M-| S| - 1)!}{M!}(v(S\cup \{i\})-v(S)),\]
that is, a weighted mean over all subsets \(S\) of players not containing player \(i\). Lundberg and Lee (2017) define the contribution function for a certain subset \(S\) of these features \(\boldsymbol{x}_S\) as \(v(S) = \mbox{E}[f(\boldsymbol{x})|\boldsymbol{x}_S]\), the expected output of the predictive model conditional on the feature values of the subset. Lundberg and Lee (2017) names this type of Shapley values SHAP (SHapley Additive exPlanation) values. Since the conditional expectations can be written as
\[\begin{equation}
\label{eq:CondExp}
E[f(\boldsymbol{x})|\boldsymbol{x}_s=\boldsymbol{x}_S^*] = E[f(\boldsymbol{x}_{\bar{S}},\boldsymbol{x}_S)|\boldsymbol{x}_S=\boldsymbol{x}_S^*] =
\int f(\boldsymbol{x}_{\bar{S}},\boldsymbol{x}_S^*)\,p(\boldsymbol{x}_{\bar{S}}|\boldsymbol{x}_S=\boldsymbol{x}_S^*)d\boldsymbol{x}_{\bar{S}},
\end{equation}\]
the conditional distributions \(p(\boldsymbol{x}_{\bar{S}}|\boldsymbol{x}_S=\boldsymbol{x}_S^*)\) are needed to compute the contributions. The Kernel SHAP method of Lundberg and Lee (2017) assumes feature independence, so that \(p(\boldsymbol{x}_{\bar{S}}|\boldsymbol{x}_S=\boldsymbol{x}_S^*)=p(\boldsymbol{x}_{\bar{S}})\). If samples \(\boldsymbol{x}_{\bar{S}}^{k}, k=1,\ldots,K\), from \(p(\boldsymbol{x}_{\bar{S}}|\boldsymbol{x}_S=\boldsymbol{x}_S^*)\) are available, the conditional expectation in above can be approximated by
\[\begin{equation}
v_{\text{KerSHAP}}(S) = \frac{1}{K}\sum_{k=1}^K f(\boldsymbol{x}_{\bar{S}}^{k},\boldsymbol{x}_S^*).
\end{equation}\]
In Kernel SHAP, \(\boldsymbol{x}_{\bar{S}}^{k}, k=1,\ldots,K\) are sampled from the \(\bar{S}\)-part of the training data, independently of \(\boldsymbol{x}_{S}\). This is motivated by using the training set as the empirical distribution of \(\boldsymbol{x}_{\bar{S}}\), and assuming that \(\boldsymbol{x}_{\bar{S}}\) is independent of \(\boldsymbol{x}_S=\boldsymbol{x}_S^*\). Due to the independence assumption, if the features in a given model are highly dependent, the Kernel SHAP method may give a completely wrong answer. This can be avoided by estimating the conditional distribution \(p(\boldsymbol{x}_{\bar{S}}|\boldsymbol{x}_S=\boldsymbol{x}_S^*)\) directly and generating samples from this distribution. With this small change, the contributions and Shapley values may then be approximated as in the ordinary Kernel SHAP framework. Aas, Jullum, and Løland (2019) propose three different approaches for estimating the conditional probabilities. The methods may also be combined, such that e.g. one method is used when conditioning on a small number of features, while another method is used otherwise.
Multivariate Gaussian Distribution Approach
The first approach arises from the assumption that the feature vector \(\boldsymbol{x}\) stems from a multivariate Gaussian distribution with some mean vector \(\boldsymbol{\mu}\) and covariance matrix \(\boldsymbol{\Sigma}\). Under this assumption, the conditional distribution \(p(\boldsymbol{x}_{\bar{\mathcal{S}}} |\boldsymbol{x}_{\mathcal{S}}=\boldsymbol{x}_{\mathcal{S}}^*)\) is also multivariate Gaussian
\(\text{N}_{|\bar{\mathcal{S}}|}(\boldsymbol{\mu}_{\bar{\mathcal{S}}|\mathcal{S}},\boldsymbol{\Sigma}_{\bar{\mathcal{S}}|\mathcal{S}})\), with analytical expressions for the conditional mean vector \(\boldsymbol{\mu}_{\bar{\mathcal{S}}|\mathcal{S}}\) and covariance matrix \(\boldsymbol{\Sigma}_{\bar{\mathcal{S}}|\mathcal{S}}\), see Aas, Jullum, and Løland (2019) for details. Hence, instead of sampling from the marginal empirical distribution of \(\boldsymbol{x}_{\bar{\mathcal{S}}}\) approximated by the training data, we can sample from the Gaussian conditional distribution, which is fitted using the training data. Using the resulting samples \(\boldsymbol{x}_{\bar{\mathcal{S}}}^k, k=1,\ldots,K\), the conditional expectations be approximated as in the Kernel SHAP.
Gaussian Copula Approach
If the features are far from multivariate Gaussian, an alternative approach is to instead represent the marginals by their empirical distributions, and model the dependence structure by a Gaussian copula. Assuming a Gaussian copula, we may convert the marginals of the training data to Gaussian features using their empirical distributions, and then fit a multivariate Gaussian distribution to these.
To produce samples from the conditional distribution \(p(\boldsymbol{x}_{\bar{\mathcal{S}}} |\boldsymbol{x}_{\mathcal{S}}=\boldsymbol{x}_{\mathcal{S}}^*)\), we convert the marginals of \(\boldsymbol{x}_{\mathcal{S}}\) to Gaussians, sample from the conditional Gaussian distribution as above, and convert the marginals of the samples back to the original distribution. Those samples are then used to approximate the sample from the resulting multivariate Gaussian conditional distribution. While other copulas may be used, the Gaussian copula has the benefit that we may use the analytical expressions for the conditionals \(\boldsymbol{\mu}_{\bar{\mathcal{S}}|\mathcal{S}}\) and \(\boldsymbol{\Sigma}_{\bar{\mathcal{S}}|\mathcal{S}}\). Finally, we may convert the marginals back to their original distribution, and use the resulting samples to approximate the conditional expectations as in the Kernel SHAP.
Empirical Conditional Distribution Approach
If both the dependence structure and the marginal distributions of \(\boldsymbol{x}\) are very far from the Gaussian, neither of the two aforementioned methods will work very well. Few methods exists for the non-parametric estimation of conditional densities, and the classic kernel estimator (Rosenblatt (1956)) for non-parametric density estimation suffers greatly from the curse of dimensionality and does not provide a way to generate samples from the estimated distribution. For such situations, Aas, Jullum, and Løland (2019) propose an empirical conditional approach to sample approximately from \(p(\boldsymbol{x}_{\bar{\mathcal{S}}}|\boldsymbol{x}_{\mathcal{S}}^*)\). The idea is to compute weights \(w_{\mathcal{S}}(\boldsymbol{x}^*,\boldsymbol{x}^i),\ i=1,...,n_{\text{train}}\) for all training instances based on their Mahalanobis distances (in the \(S\) subset only) to the instance \(\boldsymbol{x}^*\) to be explained. Instead of sampling from this weighted (conditional) empirical distribution, Aas, Jullum, and Løland (2019) suggests a more efficient variant, using only the \(K\) instances with the largest weights:
\[v_{\text{condKerSHAP}}(\mathcal{S}) = \frac{\sum_{k=1}^K w_{\mathcal{S}}(\boldsymbol{x}^*,
\boldsymbol{x}^{[k]}) f(\boldsymbol{x}_{\bar{\mathcal{S}}}^{[k]},
\boldsymbol{x}_{\mathcal{S}}^*)}{\sum_{k=1}^K w_{\mathcal{S}}(\boldsymbol{x}^*,\boldsymbol{x}^{[k]})},\]
The number of samples \(K\) to be used in the approximate prediction can for instance be chosen such that the \(K\) largest weights accounts for a fraction \(\eta\), for example \(0.9\), of the total weight. If \(K\) exceeds a certain limit, for instance \(5,000\), it might be set to that limit. A bandwidth parameter \(\sigma\) used to scale the weights, must also be specified. This choice may be viewed as a bias-variance trade-off. A small \(\sigma\) puts most of the weight to a few of the closest training observations and thereby gives low bias, but high variance. When \(\sigma \rightarrow \infty\), this method converges to the original Kernel SHAP assuming feature independence. Typically, when the features are highly dependent, a small \(\sigma\) is typically needed such that the bias does not dominate. Aas, Jullum, and Løland (2019) show that a proper criterion for selecting \(\sigma\) is a small-sample-size corrected version of the AIC known as AICc. As calculation of it is computationally intensive, an approximate version of the selection criterion is also suggested. Details on this is found in Aas, Jullum, and Løland (2019).
Conditional Inference Tree Approach
The previous three methods can only handle numerical data. This means that if the data contains categorical/discrete/ordinal features, the features first have to be one-hot encoded. When the number of levels/features is large, this is not feasible. An approach that handles mixed (i.e numerical, categorical, discrete, ordinal) features and both univariate and multivariate responses is conditional inference trees (Hothorn, Hornik, and Zeileis (2006)).
Conditional inference trees is a special tree fitting procedure that relies on hypothesis tests to choose both the splitting feature and the splitting point. The tree fitting procedure is sequential: first a splitting feature is chosen (the feature that is least independent of the response), and then a splitting point is chosen for this feature. This decreases the chance of being biased towards features with many splits (Hothorn, Hornik, and Zeileis (2006)).
We use conditional inference trees (ctree) to model the conditional distribution, \(p(\boldsymbol{x}_{\bar{\mathcal{S}}}|\boldsymbol{x}_{\mathcal{S}}^*)\), found in the Shapley methodology. First, we fit a different conditional inference tree to each conditional distribution. Once a tree is fit for given dependent features, the end node of \(\boldsymbol{x}_{\mathcal{S}}^*\) is found. Then, we sample from this end node and use the resulting samples, \(\boldsymbol{x}_{\bar{\mathcal{S}}}^k, k=1,\ldots,K\), when approximating the conditional expectations as in Kernel SHAP. See Redelmeier, Jullum, and Aas (2020) for more details.
The conditional inference trees are fit using the party and partykit packages (Hothorn and Zeileis (2015)).
Examples
shapr
supports computation of Shapley values with any predictive model which takes a set of numeric features and produces a numeric outcome. Note that the ctree method takes both numeric and categorical variables. Check under “Advanced usage” for an example of how this can be done.
The following example shows how a simple xgboost
model is trained using the Boston Housing Data, and how shapr
can be used to explain the individual predictions. Note that the empirical conditional distribution approach is the default (i.e. approach = "empirical"
), and that the Gaussian, Gaussian copula, and ctree approaches can be used instead by setting the argument approach
to either "gaussian"
, "copula"
, or "ctree
".
library(xgboost)
library(shapr)
data("Boston", package = "MASS")
x_var <- c("lstat", "rm", "dis", "indus")
y_var <- "medv"
x_train <- as.matrix(Boston[-1:-6, x_var])
y_train <- Boston[-1:-6, y_var]
x_test <- as.matrix(Boston[1:6, x_var])
# Fitting a basic xgboost model to the training data
model <- xgboost(
data = x_train,
label = y_train,
nround = 20,
verbose = FALSE
)
# Prepare the data for explanation
explainer <- shapr(x_train, model)
#> The specified model provides feature classes that are NA. The classes of data are taken as the truth.
# Specifying the phi_0, i.e. the expected prediction without any features
p <- mean(y_train)
# Computing the actual Shapley values with kernelSHAP accounting for feature dependence using
# the empirical (conditional) distribution approach with bandwidth parameter sigma = 0.1 (default)
explanation <- explain(
x_test,
approach = "empirical",
explainer = explainer,
prediction_zero = p
)
# Printing the Shapley values for the test data.
# For more information about the interpretation of the values in the table, see ?shapr::explain.
print(explanation$dt)
#> none lstat rm dis indus
#> 1: 22.446 5.2632030 -1.2526613 0.2920444 4.5528644
#> 2: 22.446 0.1671903 -0.7088405 0.9689007 0.3786871
#> 3: 22.446 5.9888016 5.5450861 0.5660136 -1.4304350
#> 4: 22.446 8.2142203 0.7507569 0.1893368 1.8298305
#> 5: 22.446 0.5059890 5.6875106 0.8432240 2.2471152
#> 6: 22.446 1.9929674 -3.6001959 0.8601984 3.1510530
# Plot the resulting explanations for observations 1 and 6
plot(explanation, plot_phi0 = FALSE, index_x_test = c(1, 6))
![](data:image/png;base64,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bt26tV27dmFhYU09Zpq0QxWosmxLbyLQZbiCByb49ttvPT09vby8/P39u3TpwuVyHzx48PPPP5ubm69du7bRxd3d3c3MzJYtW5aTk2NhYfHbb79dvHiRzWZv377dxcWF+nZZT0+vX79+s2fPrq2t3bZtm1QqpX/wLS8qKmro0KF9+/adNm0aIWTr1q18Pj88PJyuMGLECIFAcPPmzWXLlimPKiAgYPbs2Xv37l28eDH9DajyUBW+VfX29t62bdu8efMGDBhw8eLFpKQk+W+vGw1VgYpboNHGra2tFy5cuHr1al9f39GjR9+7d2/v3r3yF740Y2PjFStWLFiwICAgwM/P79mzZzExMRMnTqQuNLlcbllZ2a5duwYMGODq6kovxefz165dGxISMnjw4A8++ODVq1cxMTHt27dfuHCh8g3e1BUhhMyaNcve3v6zzz4TCASbN28ePXr03r17Z8yYofoWa9IObeqyrbOJQHdp6e59AA179erVp59+2q1bNwMDAzMzsx49enz55Zdv3ryhK8j/CJhibm6+aNEiavrSpUt9+/YVi8Vubm5z584tKiqKjY319PRMSEigfvL0zTffrFy50s3NzdjYeMiQIX/99RfdjvxPnmQy2bVr14YOHWpmZmZlZTVu3Lj79+8rhDpy5EhCiPJf7VMGDBhQt6aSUBWCKSoqmj59urm5ubW19fjx41++fDllypQDBw6oHiql0S1Qd9s22nhcXFz37t0NDAy8vb1///33TZs2RURE1NvaTz/95OXlpa+v/8477yxdurSsrIwqT0tL69Onj1Ao3Lp1a92lTp482b9/fyMjIycnp2nTpuXl5SmJtn///tQ/F9SroRXZvXs3IeT333+na44ZM8bMzCwvL69Jx4zyHao8WuXLttomAt3EkqkwEATQlpWVlenr68fHx1OP+1DfiBEjsrKy7ty5o5HWWoHGtwDjYYuBLsB38ACtKjs7Oykp6YMPPtB2IADAcPgOHqCVVFZWbty48ddff+VwONQXugAALQdX8ACtRCKRxMfHV1ZWHjhwQP6xMAAALQHfwQMAADAQruABAAAYCAkeAACAgZDgAQAAGAgJHgAAgIGQ4AEAABgICR4AAICBkOABAAAYCAkeAACAgfCo2iaQ/2ttAAbQ19e3tbXVdhStDR0ZGKahjowreAAAAAZCggcAAGAgJHgAAAAGQoIHAABgICR4AAAABkKCBwAAYCAkeKhfRkZGaGgoYgB4q+lCJ9KFGNomJHggV65cCQgIaOpSUql08uTJZWVlzXvTgoKC5i2o3L59+4KCggICAr788suSkhK6XEm09S6Smpo6bdq0cePGxcTESKXSlggVQLOa0ZGzs7Pnz58/ZsyYTz/9tHldsoU6cmJi4uTJkwMCAj7//PPnz5/Lz7py5UpwcHDdRU6ePPnhhx/6+/tHRkbSHTksLMzn/23evLklQtVleNANEKFQWFRURE0fOHDgl19+EQqFgwcPpisMGTIkNja2c+fOdElCQsLp06dzc3OVNJuUlHTr1q3S0tK8vDyBQPDZZ59ZWVk9fvx4586dHA6npKRk8+bN165d27ZtW3l5uaen5+zZs/X19RuKQRU3b95MSEjYtm2bgYHB2rVr9+3bN3v2bOXR1rtIeXn5V199tW7dOmdn5+XLlx89ejQoKKhJkQC0vqZ25Nra2iVLlsydO7dnz55bt27dsWNHRERE3WZbvyPn5OTExsbu3r3b3Nx8z54969ati42NpWa9fPkyJiaGx+MpLJKdnR0fH799+3ZLS8uNGzfu3bt33rx5VFPHjx8XiUSEEDa7zV3QtrkVhroMDAw6duxICLl27dqJEye2bNmyY8eO1NRUukJsbKyTk5P8Iu3bt//www85HI7ylk+dOhUSEhIXF+fl5bVx40aq8K+//urZs2d0dHRBQcGqVauWL1/+448/cjicrVu3KolBFcbGxl988YWFhQWPx7O1taXDUxJtvYv897//dXd3f/fdd/l8flBQ0IULF5oUBoBWNLUj37hxw8LCok+fPhwOZ/bs2Z988klDLbdyR87JyRk+fLidnZ1AIPDz88vKyqLKJRLJ119/PW3atLqLsNlsDocjFot5PJ5IJKJyeWlpKZfLNTQ05PF4PB6v0fMV8+AKHv6RkpISEBBgZWVFCJk4ceJPP/1Elctfu1O6detGCGm0w3Tr1o06ofj7+2/fvl0ikRBCTE1Nx44dSwg5c+aMp6cnVWHq1KkLFixQEgPl2bNna9eulS/55ptvBAIBNe3g4ODg4HD69On169fb2tru2LGj0WjrXeTVq1fW1tZUBVtb27y8POWrCaBTVOzIOTk5QqEwPDw8PT3dxcVl0aJFhoaG9TbYyh25d+/evXv3JoRIJJIffvhh0KBBVHl8fPz777//7rvv1o3Q1tZ24sSJEyZMEIlERkZGu3fvJoTk5ubKZLKPPvro5cuX7u7uCxYsaGsPZkaCh38UFhZSuZAQQmc4dZiZmVETPB5PLBYXFxcTQkxMTKjC/Pz827dv/+c//6FeUicX5TE4ODhs375d+ZsOHz68V69ee/fu3bx58+LFi1WJs+4iLBaLmiWTyWpra1VpBEBHqNiRS0tLHz58uHr1aicnp8OHD69duzY+Pr7emlrpyBcuXNi9e3f//v1nzpxJCDl79mxxcXFAQEBGRkbdynfv3j1z5kxMTIyNjc2hQ4diY2OXLFnC4/FGjx49YcIEFot18ODBtWvXxsXFKX9ThkGCh3+Ympq+evWKms7Pz1e/wZcvX1ITZWVl5eXlRkZGb968ob8JMzEx8fb2pj7vSyQS6kJZnRgSExO5XO6QIUNMTU2pe22at4iFhcXff/9Nr4KlpWWTwgDQLhU7kZmZWbdu3agL4pEjR+7fv7+hmq3ckWUy2YYNG3Jzc9euXWtnZ0cVXrhw4fr16wEBAVKptLy8PCAgYO/evfSHjCtXrvTt27dr166EkEmTJoWEhCxZssTW1jYkJIT6wn7s2LFHjhxpUhgMgO/g4R/9+/c/fvx4fn5+ZWXl4cOH6fJ79+6Vl5c3unjdamlpaTdv3qytrf3uu+/69u2rMEjeu3fv5OTknJwcqVT67bfffvfdd0pioDx9+vQ//1ZVVUXPFQgEP/74Y1lZWW1t7ZkzZ+odylOItt5Fevfufe/evezsbJlMduLECXqEEOCtoGJH7tWr1+3bt+/fv19VVZWQkNClS5d6q5FW78iXL19+8uTJ+vXrra2tpVIp9TOWlStX/vrrr8eOHdu8ebONjc2xY8eo7E5F+84771y9ejUnJ6eysvK3337r0KEDIeTChQuffPJJUVFRZWXlyZMn6RGFtgNX8PAPT09PPz+/sLAwgUDw4YcfXr9+nSqfO3euwl309Zo7d+6GDRu6d+9Ol/Tq1Wvfvn1Pnjxxdnaue4OutbX1/PnzIyIiSktL3d3dqbHxhmKgODo67ty5s6EABg0adO/evSlTprBYrE6dOoWHhyuPNjY2tt5FxGLx0qVLv/zyy+rqak9PT+qLRoC3hYod2dTUdN68eWvWrCksLOzUqdPnn39OV9NuR05LS7t///7QoUOpl0ZGRseOHWuoMrVSAwcOzMnJCQ8Pr6qqcnd3p4IcOnRoZmbm9OnTZTJZ165d6RVsO1gymUzbMbw18DfSyp0/f97JycnBwYF6mZSU9Pfffy9atEi7UYES+D94qAsd+a2D/4OHFldYWEifFADgLYWOzBi4gm8CfPAHhsEVPAAD4AoeAACgDUGCBwAAYCAkeAAAAAZCggcAAGAg3GTXBBKJpLq6WiN/Hsrn86urq9Vvh8vl8ni8iooK9Ztis9lsNpt6yrSaBAKBTCbTyAryeDyJRKL+UcpisYRCIXZf3QCoP9pqU9CRVcTn8wkh6MiN4nA4fD5fBzsyHnTTBFwut7y8XCMHhEAgkH9yU7Ox2Wwul6uRpng8nqaaEgqFMplMI01xudyamhr1OzObzdbX16+oqNBIVJrafSwWSyQSaWr38Xg8jTTFeFwul8FHApfL5fP5TO3ILBZLBzuyUCjkcrnV1dXqf4Jp3u6TyWT1JngM0QMAADAQEjwAAAADIcEDAAAwEL6DhxYxJjpJ2yEAIYT8GNZH2yG8fVIelKhcV/WajbaTp6GmNKjEt5edtmOA5sMVPAAAAAMhwQMAADAQEjwAAAADIcEDAAAwEBI8AAAAAyHBAwAAMBASPAAAAAMhwQMAADAQEjwAAAADtVKCT09PX7JkSb2zamtrg4KCGlpQ+VwAAACoF2MfVZuamrpr167t27crlCckJBw/frympsbT0/Pjjz8WCoWEkD/++OPQoUMVFRWdO3eeM2eOgYGBNkIGeOu9efPGxMREI03l5OTEx8dnZmY6OzsvXLiw3mYVuvmhQ4dOnTolkUg6deqEjgzQ2kP0Uql08+bNISEhU6ZMSUhIIISsXbu2pqZm0aJFhJCjR49OnTp10qRJX3zxRWFhocJc1b169Wrr1q11/5r3xo0bp06dWrlyZXx8PCHkyJEjhJCcnJydO3euWLFiz549AoHgwIEDGllTgLYjIyNj1apVX3/99bp16zIzM7/44ou9e/dGRESsWLHi8uXL69evnzFjxqlTp1RvUCaTrVq1Kigo6IcffrC3t//+++/r1lHo5mlpaadPn96wYcPu3bsJIYcPH9bIqgG8vVr7Cj4lJSU7O3vnzp15eXnz5s0bOnRoRETEhAkTNmzYkJeXd/Dgwbi4OBMTk02bNiUlJQUFBdFzVX8LiUSycePGSZMm1e3hd+/e9fDwsLOzI4SMHDkyNjY2ODiYw+FwOBw9PT0ejycUCtnsfz70SKXSFy9eUNMGBgaGhoZsNpvD4ai9GQiLxdJUO4QQjTTFZrM1GxXoAuU7VIN76ubNmzNmzBgyZMjLly/T0tJmz549ffr0hQsXnj59esWKFXfv3o2NjfX19VWxtVu3bpmbm/fo0YMQMnPmzPLycoUKdbu5sbFxeHi4ubl5bW2tjY2NfOXa2trnz59T0/r6+kZGRprqyIynwXOC/KlVnXYIIbp2HqZWTSMr2LzzcEMdubUTfG1tbWlpaW5urrOz89GjR6kSapaxsfH27dtNTEzKy8t5PF7dLk3JysqKiYmRL4mKiuLz+fTLXbt2DRgwwNXVte6yjo6O33//vb+/v76+/tmzZwsKCggh1tbWgYGB06dPF4lEhoaGcXFxdP28vDx/f39qeurUqXPnztXX11dr/eVoaiRTs03p6elpqinQBcqPDYlEoqk3MjY29vPzo6bt7Oyoj9Ht27d3c3MjhDg4OFRVVcnXV96Rc3NzBQLBF198kZGR4ejoWHe8vW43t7e3t7e3P3v2bFxcnLW1tXzjBQUFdEeePHlyeHi4WCwWi8UNr01hU1efqXg8nqZOL9T3oRrR2O5rAt08D4tEoibVb6gjt3aC9/b2zsvLi4yMFIlEY8eOlf9Ez+FwTp48ee3aNQ6Hw2KxzM3N623B3t5+06ZNDbWfnJxcUlLi5+eXmZlZd26/fv0yMjIWLVrE5/Pfe+896hB58ODB+fPn16xZY2VldfTo0W3bti1YsICqb2pqunXrVmqauiYoLy+vqalp7tr/QywWl5WVqd8On88XiURFRUXqN8XlcjkcjsJZuHk01fdAfcqPDS6Xy+Vq5iQgf3ajT08sFouarnuFobwjl5WVPX78eNmyZQ4ODsePH4+NjY2OjqbnKunmgwcP9vDwOHDgwI4dO+bPn08VGhoa0h3Z2tqaaK4jM15NTU1D11pNIhQKa2pqpFKpmu2wWCxDQ0MGn4c5HA6Px6usrGzSUg115NZO8EVFRcOHDw8MDLxz505sbKyrq6uTkxM1Kzk5+a+//oqMjDQxMfnll19KS0ub0f6lS5du3LgRHBwslUrLy8uDg4O3bNliZGREza2pqRk3blxwcDAh5Nq1axkZGYSQ1NTU3r17d+rUiRASFBQUGhpKJ3g+n9+7d2/59iUSiUYOrNraWo20Q+1UDZ6qNNJU3bsfQFuU71CNDCpSNPu9jKmpaefOnTt06EAIGTp06KFDh+Tn1tvNU1NTuVzuwIEDTUxMfH19o6Ki6Pp1O7JUKkWCV4VMJtPIhuLz+ZpK8ERzu09T52FqRF0ikah/6pPJZGw2u6lR6coQfVJSUlpaWmRkpIuLi0AgoLK4VCqVyWRv3ryxtLQ0MTHJz89PTk7u2LEjtQg1l16BrKysjRs3yrcZHR1Nj+wtXryYmsjMzFy9evWOHTuolw8fPrS3t8/JyVm5cmVMTIy+vv4vv/wycuRIQoiTk9PBgweHDh1qZmb2+++/Ozs7t/xmAGjrlHdkDw+P/fv3P3z40NHR8dSpU/TZgOrI9XZzPp9/8ODBXr16iUSiixcvUh8OANqy1k7wvr6+d+7cmTp1KpfL9fHx6dq1K4vF6tat25w5c9asWXP58uWZM2daWloGBAQcOXIkPT3dxcWFmrtlyxaqBXt7+9jY2Ka+7+LFi9esWePu7h4YGBgeHi4SiYYNG+bt7U0Iee+993Jzc5ctW1ZVVeXm5hYeHq7hdQYAQvr27Sv/UnlHNjExmTVrVkxMTHFxsZub27x586hyuiPXXaR///6PHj0KCwtjsVju7u6hoaGajR/grcPCaGqTFBcXV1dXq9+OoaFhcXGx+u2IRCKxWJyfn69+Uzwej8vlVlRUqN+UkZHRqKjf1W8H1PdjWB8lcwUCQdv8sXhJSYmS201SHpS0ZjC6zLeXnUbOVGKxuLKyUiND9GZmZsp3n+o0dR4WCoX6+vqvX79WP59yuVw+n9/U+x74fL6hoWHdcjyqFgAAgIGQ4AEAABgICR4AAICBkOABAAAYCAkeAACAgZDgAQAAGAgJHgAAgIGQ4AEAABgICR4AAICBWvtRtdBGnPh8SEmJBh4HpqkHYLHZbFNTU918AJamHkSo5E+WoUn6uan6dD8dPBKa9yi0ehkZGeFRp281XMEDAAAwEBI8AAAAA2GIHlrEmOgkbYfANMr/NgagJYxe94e2Q2gljOxfuIIHAABgICR4AAAABkKCBwAAYCAkeAAAAAZCggcAAGCgxhN8YWFhQkJCTEwMIeTu3bsSiaTlowIAAAC1NJLgHz165O7uPnv27IULFxJCli5d2rlz56dPn7ZGaAAAANBcjST48PBwHx+fZ8+ecblcQsiuXbucnJyoZA8AAAA6q5EH3Vy8eDEpKYnN/t/nAHNz84iIiICAgJYPDAAAAJqvkSt4IyOjyspK+RKJRKKvr6/+G2dmZmIkAOBth44MoLMaSfAjR46MjIwsLCykXt6+fXvBggWjR49uqH5qampwcLAmA2y6M2fOzJo1Kzg4eMWKFS9fvlSYe+jQoWnTpgUHB69du1b+786kUumsWbPwZ1wA5G3oyKS+PvvHH3989NFHk0VaUj8AACAASURBVCdPVujdAG1TIwk+OjqaEGJpaSmRSExNTbt06dKhQ4f169c3VF8gEFB/npiRkbFixYqffvrp66+//uSTT9LT06kKR44cmTZtWmhoaHJyMlVy+/bt5cuXU9OXLl3atGkTIUQqlW7evDkkJGTKlCkJCQmqr09ubu62bdtWrly5Z8+e9u3bb968WX5uWlra6dOnN2zYsHv3bkLI4cOHqfLExMSIiIgXL16o/kYADKbjHZnU12dzcnJ27ty5YsWKPXv2CASCAwcONHftARii8SH6c+fOJScn7927d/fu3Q8fPvz555/19PQaqq+vr+/m5kZN37p1y9PTc9myZT4+PkePHiWE3LhxIzExMTo6etOmTTdu3FDyvikpKdnZ2Tt37ly9evWePXsUviZQ4sWLF++//76NjQ2fzx82bFh2drb8XGNj4/DwcHNzcx6PZ2NjQ99bYGdnN27cOA6Ho+K7ADCbjndkUl+f5XA4HA5HT0+Px+MJhUK6dwO0Wcpusnvy5Mn8+fPj4+P79OnTp0+T/2nH0tKSOkd06NDh3r17hJCrV6+OHDnS0tKSEBIYGHjkyJGGlq2trS0tLc3NzXV2dqbOKbSsrCzqR/m0qKgoPp9PTXt6enp6ehJCJBLJwYMH+/XrJ1/T3t7e3t7+7NmzcXFx1tbWdDtdunQhhNRN8C9evBg1ahQ1PXXq1Llz5xoaGjZ1OzTE3NxcB5sSi8Waago0S5W9rOTDd71UeayFDnZkUl+ftba2DgwMnD59ukgkMjQ0jIuLo2fl5+ePGDGCmp48eXJ4eLiBgYGBgUGj664K3ezITT0SQP2Nb2ZmppFIiOY6srIE365duytXrpw9e3b69OlNejNK3XvxCgsLO3XqRE1TZwcFMpmMmvD29s7Ly4uMjBSJRGPHjvX19aXr2NvbU6N/Sly6dGnfvn1eXl4hISF15w4ePNjDw+PAgQM7duyYP3++knYMDQ2XLl1KTbu6uhJCKisrNfKoH6FQqPrVjBI8Hk8gEJSWlqrfFIfDYbPZNTU16jclEonUbwQUKN/L1PVrdXV1k9rkcDjUL2CV0NmOrODBgwfnz59fs2aNlZXV0aNHt23btmDBAnoV6I7s4uJCGN2R2Ww2l8tt6pFQrzbVkdXZ+FrffdRSdcuV9W0+n79nz55FixYVFBR07dpV/jNF3Q/UdbFYLIUSExOT/Px8avr169d0OX06oO/mKyoqGj58eGBg4J07d2JjY11dXd95551G35FqKj4+/vnz58uXL7e1tVWYe+bMGS6XO3DgQBMTE19f36ioKOWt6enpBQYGypdUV1drpOfw+XyNnBdYLJZAINDUKYbL5WqkKYFAoH4joED5ruHxeDwer6m7T5U9pYMduV6pqam9e/emPnkEBQWFhobSCV4oFCp05JqamqqqKlWaVU5THZkQoqmOTJ3o0ZGbSs0tJhAIqqqq6C7QbM3bffTQl2JryhejesWSJUsUypt3nefl5RUfHz9gwACxWHzs2DGqUCQSpaenFxcX8/n8M2fOtGvXjhCSlJSUlpYWGRnp4uKi8MkoKytr48aN8s1GR0fTq3ft2rWnT5+uW7eOzWbX1tYSQqiv4h4+fGhvb8/n8w8ePNirVy+RSHTx4sUOHTo0Yy0A2jitd+R6ryydnJwOHjw4dOhQMzOz33//3dnZuWXWHuCt0UiC18iALZfL7dWrFyGkW7duw4cPX7RokUAgCAwMvHnzJiHE2dm5b9++YWFh9vb2fn5+OTk5hBBfX987d+5MnTqVy+X6+Ph07dqVbs3e3j42Nrah97p79+6jR4/oT+uGhob79+8nhCxevHjNmjX9+/d/9OhRWFgYi8Vyd3cPDQ1Vf+0A2gjd6cju7u51F3nvvfdyc3OXLVtWVVXl5uYWHh6u0bUHePuwlA8pFBUV1S3kcDgaedbN26i4uFgjQ/SGhobUz5DUJBKJxGIxPV6qDmqIvqKiQv2mjIyMRkX9rn47IO/HMGU3ulJD9E19kINAINDUvWZvl5KSEo0M0WuqIwuFQn19fY10ZC6Xy+fzNfJIjzbVkZX3L+Wo3ff69WuNDNE3Y/fx+fx6bwBv5Are2Ni4bqGXl9fly5eb9PYAAADQmhpJ8Pfv36enKyoqUlNTt2zZQj0lBgAAAHRWIwmeftgFpXv37u3bt587d+6ZM2daMioAAABQS5Mf9mRnZ3ft2rWWCAUAAAA0pZEr+Dt37si/fPPmzdq1a6kfwAAAAIDOaiTBd+7cWaHE0tJy3759LRYPAAAAaEAjCb7us/fwrHIAAADd18h38EFBQeJ/KywsDAoKap3gAAAAoHkavIKnniKZmJio8DjJx48fnz9/vqXDAgAAAHU0mODpR0zTExQ2m71+/fqWDQrefic+H1JSUqJ+O2KxuLKyUiqVqtkOm802NTVl8PPLAFpCwuKhGjnUNdWRWSyWmZmZrnVkndVggk9OTiaE9OrVi5oAAACAt0gj38HX/cn7rVu3Ro8e3WLxAAAAgAY0chf9zZs3Z82a9eTJE7qkpKTE19e3haOC1pDyQAND6A0oGdFTpf/wBgBdNnrdH9oOQdHp5X7aDuGt0cgV/Lx584RCYWxsLJvNjo6OXrt2rbm5+YYNG1onOAAAAGieRq7g//rrr4SEhEGDBiUlJZmbm48ePVomky1ZsuTw4cOtEx8AAAA0QyNX8Gw2u7a2lhDi6elJ3W03ePBg/EwOAABAxzWS4Pv06fP1118/efKkW7duR48eraqqunz5MofDaZ3gAAAAoHkaSfBxcXFFRUVHjhzp27evhYWFmZlZSEhIaGho6wQHAAAAzdP4/8Ffv35dJpOxWKykpKRz584ZGBgMGDCgdYIDAACA5mkkwRNCCgsLk5OT09PTw8PDnZycXF1dWyEsAAAAUEcjQ/SPHj1yd3efPXv2woULCSFLly7t3Lnz06dPWyM0AAAAaK5GEnx4eLiPj8+zZ8+4XC4hZNeuXU5OTlSyBwAAAJ3VSIK/ePHiggUL2Oz/VTM3N4+IiMDP5ADapvT09CVLltQ7q7a2VskfSSufCwAtoZHv4I2MjCorK+VLJBKJvr6+xuN48+aNiYmJRprKycmJj4/PzMx0dnZeuHChQrOffvrpo0ePqGk/P7+PP/6YEPLHH38cOnSooqKic+fOc+bMMTAw0EgkANBs9XZV2pkzZw4dOlReXu7i4hIWFmZlZUWVS6XSsLCw2NhYPT291o4YQMc0kuBHjhwZGRl59OhR6uXt27cXLFigwT+bycjI2LdvH5vNLi0tnT179o4dO1xcXB4+fCgQCIYPH/7nn3/eu3dv/Pjxqj/9XiaTrVq1atasWd27d9+9e/f333+/YMEC+QovXrz48ccfhUIhIYQamcjJydm5c+emTZssLCy2bNly4MABhVMJACiQSqVbtmy5du0ai8UaP3786NGj165dW1NTs2jRog0bNhw9evTYsWM1NTVOTk6fffaZsbGx/FwV36JuV6Xl5uZu27YtLi7OzMxs//79mzdvXr16NSEkMTHx7NmzL1680Pj6AryNGhmij46OJoRYWlpKJBJTU9MuXbp06NBBs/8Hf/PmTQ8Pj5UrVxJC0tLShg0btnbt2uLi4tOnT3/22WeLFi2iP16o4tatW+bm5j169OBwODNnzpw5c6b83LKyMjabbWBgwOPxeDwe9cQeDofD4XD09PR4PJ5QKFQ4lQBAXSkpKdnZ2Tt37ly9evWePXsqKysjIiJ4PN6GDRvy8vIOHjy4fv3677//3tDQMCkpiRBCz1Wx/Xq7Ku3Fixfvv/++jY0Nn88fNmxYdnY2VW5nZzdu3Dg8iQuA0vgQ/blz565evXrv3j0jI6POnTt36NBBsxEYGxv7+f3v34Hs7Ozs7OwIIe3bt3dzcyOEODg4VFVVydfPysqKiYmRL4mKiuLz+dR0bm6uQCD44osvMjIyHB0dFcbbnz9/TgiZP3/+q1evXF1dw8LCrK2tra2tAwMDp0+fLhKJDA0N4+Li6Pp5eXkfffQRNT1u3LgpU6bo6+vLZDL115rNZmvkKwkWi0UIaW5TLfdvcoTP52tkBdlstkAg0Mg2J4SIxWKNjNzqxu5TbIrFYgkEgiYtRT2Iuhlqa2tLS0tzc3OdnZ2pj+B0U8bGxtu3bzcxMSkvL+fxeOXl5fW2oLwj19tV6Zqenp6enp6EEIlEcvDgwX79+lHlXbp0IYTUTfAFBQXTp0+npv39/WfMmIEjQRU6e7Wjm7vP2NhYI001Y/dJpdJ6y+tP8KtXr542bRqVawkhffr06dOnT5PeT3Xy21ckElETLBaLmqY2nDx7e/tNmzY11FpZWdnjx4+XLVvm4OBw/Pjx2NhYahCCwuPxRowY4e/vz2azf/7555iYmHXr1j148OD8+fNr1qyxsrI6evTotm3b6FF9oVA4ZMgQatrFxYUQIpFIGtqUTcLn86urq9Vvh8vlstlsjTSlWbW1tRqJisfjSSQS9RM8i8XicDgM3n1sNpvNZkskkiYtxWKxeDxeM97O29s7Ly8vMjJSJBKNHTtW/ks0Dodz8uTJa9eucTgcFotlbm5ebwvKO3K9XVWhzqVLl/bt2+fl5RUSEqI8WvmOTD3JA0eCKjTyKaElYPepqP4Ev2zZsiFDhlAJ/v79+9OnT798+bJG3q+uuilcHaampvQww9ChQw8dOiQ/18bGZsKECdQZbdSoUSdOnCCEpKam9u7du1OnToSQoKCg0NBQOsEbGBjMnTtXvoXKykqN7EUOh1NWVqZ+OyKRiMfjaaQpzZJIJBqJSiwWV1ZWqt+Z2Wy2UCisqqpSGBBqHk3tPqFQqKndRw1lN3S53BCBQEB9yd1URUVFw4cPDwwMvHPnTmxsrKurq5OTEzUrOTn5r7/+ioyMNDEx+eWXX0pLS5vRfr1dlSaTyeLj458/f758+XJbW9tGW9PT01PoyAw+ErhcLp/Pb+qR0FBT6jfSEnRz95WXl6t/KdK83cfn8+nL43+11uiSZWVlV65cadKbtaisrKyNGzfKl0RHR9Mjex4eHvv373/48KGjo+OpU6c6duxIlT98+NDe3v7KlSvHjx9ftWoVn8//448/OnfuTAhxcnI6ePDg0KFDzczMfv/9d2dn51ZeI4C3TlJSUlpaWmRkpIuLi0AgoLK4VCqVyWRv3ryxtLQ0MTHJz89PTk6m+yA1l/5Ar7wjp6Sk1O2q5P87clpa2tOnT9etW0f/3aXODiYDaJGOfkCT17dvX/mX9vb2sbGxDVU2MTGZNWtWTExMcXGxm5vbvHnzqPLFixevWbNm0KBBWVlZn3zyCSGkc+fO1Nz33nsvNzd32bJlVVVVbm5u4eHhLbk2AEzg6+t7586dqVOncrlcHx+frl27slisbt26zZkzZ82aNZcvX545c6alpWVAQMCRI0fS09NdXFyouVu2bKFaUN6R6+2q5P878t27dx89ehQYGEgVGhoa7t+/v4XXGODtw6p3SIHFYl25coX63v369es9e/bU1F1Ob7vi4mKNDNEbGhoWFxer345IJBKLxfn5+c1YNuVBC95kN6KnbUmJBtrX4BC9qalpSUmJRkb2NLX7hEKhvr5+83afgmYP0bfNpz4w+EjQ4BC9kZHRqKjf1W9Hs04v99PN3ff69WstDtEbGhrWLce4FgAAAAM1OEQfERFhZmZGCCkoKCCEjB8/Xn7u4cOHWzoyAAAAaLb6E3xAQAAhhLpT39DQMCAgQFN37QMAAEArqD/BN+nhcQAAAKBr8B08AAAAAyHBAwAAMBASPAAAAAMhwQMAADAQEjwAAAADvQWPqoUW0s/tX48w4/F4XC63oqJC/ZaNjIya/T+kAKA7EhYP1ciz3jT1SErN/jkZ4+EKHgAAgIGQ4AEAABgIQ/TQIsZEJ9Ut/DGsT+tHAgDNNnrdH+osji6vXbiCBwAAYCAkeAAAAAZCggcAAGAgJHgAAAAGQoIHAABgICR4AAAABkKCBwAAYCAkeAAAAAZCggcAAGAgnUjwmZmZCxcu1HYUAKAWdGQAnaITCZ6WmpoaHBysqaZCQ0Prlv/999+ffPLJ1KlTt23bRv+1UUJCwkcffTR16tRvvvmmsrJSIwEAtFka6cg5OTkRERGTJ09evnz5mzdvFObW25GVLwLQ1mgzwR85cmTatGmhoaHJyclUiUAgoP6aUCqVbt68OSQkZMqUKQkJCU1t+dWrV1u3bpXJZArlFRUV69evX7Bgwc6dO1++fPnbb78RQm7cuHHq1KmVK1fGx8dTUam7YgBtSUt0ZJlMtmrVqqCgoB9++MHe3v7777+Xn1tvR1a+CEAbpLUEf+PGjcTExOjo6E2bNt24cYMq1NfXd3NzI4SkpKRkZ2fv3Llz9erVe/bsadJVtUQi2bhx46RJk+rOun79uqura4cOHfh8vr+/f0pKCiHk7t27Hh4ednZ2BgYGI0eOvHz5sibWD6BNaKGOfOvWLXNz8x49enA4nJkzZ86cOVN+br0dWfkiAG2Q1v5N7urVqyNHjrS0tCSEBAYGKlw319bWlpaW5ubmOjs7Hz16VH5WVlZWTEyMfElUVBSfz6df7tq1a8CAAa6urnXfND8/38rKipq2srLKz88nhDg6On7//ff+/v76+vpnz54tKCig679+/XrBggXU9KhRoyZOnCgWi/X09NRZcQqHwzE2Nla/HTabTQjRSFMsFovFYgkEAvWb4nA49ZY3I042m83n8+sOxjSPnp6eSCRSvx2d3X3yHUEVtbW1ar5vC3Xk3NxcgUDwxRdfZGRkODo6zpkzx8DAgK5Zb0dWskhhYeHcuXOpaV9f30mTJuFIUEVDHVl19Bq1hY5sZGSkflOa7chaS/CFhYWdOnWipqmzgzxvb++8vLzIyEiRSDR27FhfX196lr29/aZNmxpqNjk5uaSkxM/PLzMzs94KLBaLmpDJZNTR1q9fv4yMjEWLFvH5/Pfee08sFtOVORyOnZ0dNW1oaEgIqa2tVf+cSAhhs9n0F4c60hSbzWaxWJpqqt7yZjROhaT+eYHa78zefRqMSnUt1JHLysoeP368bNkyBweH48ePx8bGRkdHy1eo25GVLMJms+mOTJ2FcSSo2JSaLdBhaKojE0K4XC52n4KGNqzWEryJiQn1uZsQ8vr1a4W5RUVFw4cPDwwMvHPnTmxsrKur6zvvvKNKs5cuXbpx40ZwcLBUKi0vLw8ODt6yZQv9wcrMzCwtLY2azs/PNzc3J4TU1NSMGzeOuifo2rVrGRkZdGvGxsZRUVHy7VdUVFRXVzdnhf/N0NCwpKRE/XZEIhGXy9VIUzwej8vlVlRUqN9UQ59kmxGnWCyurKxUv+ew2WxTU9PKysqqqio1myKa231CoVBfX19Tu4/H45WXlzdpKYFAoOaYTQt1ZFNT086dO3fo0IEQMnTo0EOHDsnPrbcjK1nE0NBQoSMz+Ejgcrl8Pr+pR0K91L8kpddIUx2ZGmXUzd1XWlqq/ieY5u0+Pp8vFArraU3NaJrNy8srPj5+wIABYrH42LFjCnOTkpLS0tIiIyNdXFwEAkFpaSk9Kysra+PGjfKVo6Oj6QGNxYsXUxOZmZmrV6/esWMH9fLhw4f29vY9evT49ttvc3JybG1tExMT+/XrRwh59uzZypUrY2Ji9PX1f/nll5EjR7bQKgMwTwt1ZA8Pj/379z98+NDR0fHUqVMdO3akypV05IYWAWiztJbgu3XrNnz48EWLFgkEgsDAwJs3b8rP9fX1vXPnztSpU7lcro+PT9euXelZ9vb2sbGxTX27xYsXr1mzxt3dPTw8PCoqqqampmvXrqNGjSKEuLi4BAYGhoeHi0SiYcOGeXt7q792AG1EC3VkExOTWbNmxcTEFBcXu7m5zZs3jypX0pEbWgSgzWJp6q6HNqK4uFhTQ/TU74jUJBKJxGIxPUaqDs0O0Y+K+r1u+Y9hfZralGaH6EtKSjQ1sqeR3UeN7Glq9zVviF7+5rW2g8FHgmaH6OvtyKqju7wGh+jNzMx0c/e9fv1ai0P01F1iCnTrQTcAAACgEUjwAAAADIQEDwAAwEBI8AAAAAyEBA8AAMBASPAAAAAMhAQPAADAQEjwAAAADIQEDwAAwEBae1QtMNuJz4do5F8cAECLEhYP1ciz3kArcAUPAADAQEjwAAAADIQEDwAAwEBI8AAAAEwkA9UUFBQEBwdfu3ZN24H8y+nTp0NCQrQdhaKvvvoqLi5O21H8S1FRUXBw8JUrV7QdyL8kJSUFBwdLpVJtB9KGFBcXBwcHX758WduB/ItuHglr1qyJjY3VdhT/UlpaGhwcnJKSou1A/uXcuXPBwcHV1dXaDkQR7qJXlUQiuXfvnq7dUFpQUHD//n1tR6EoMzOzrKxM21H8i87uvnv37mk7irZFKpXq4JHw5s0bHTwSsrKyxGKxtqP4F2r3FRUVaTuQf6F2n0ztP4PXOAzRAwAAMBCu4FXF4XDs7OxEIpG2A/kXfX19Ozs7bUehyNzc3NjYWNtR/Au1+/T09LQdyL+IxWId3H3MxmazdbAj6+aRYG5urmsbitp9utmRWSyWtgNRxNLBUQUAAABQE4boAQAAGAgJHgAAgIGQ4AEAABgIN9k1WWpq6q5du7Zv367tQP7nzJkzhw4dKi8vd3FxCQsLs7Ky0mIwf//9986dO0tLS728vGbNmsXhcLQYDE2nNpECXTuc2g5d2/I6dZSiIzeVrh1OFFzBN82rV6+2bt2qO3cm5ubmbtu2beXKlXv27Gnfvv3mzZu1GExFRcX69esXLFiwc+fOly9f/vbbb1oMhqZTm0iBrh1ObYeubXmdOkrRkZtK1w4nGhJ8E0gkko0bN06aNEnbgfzjxYsX77//vo2NDZ/PHzZsWHZ2thaDuX79uqura4cOHfh8vr+/f0pKihaDoenUJpKng4dTG6GDW16njlJ05CbRwcOJhiH6Jti1a9eAAQNcXV21Hcg/PD09PT09CSESieTgwYP9+vXTYjD5+fn0oJmVlVV+fr4Wg6Hp1CaSp4OHUxuhg1tep45SdOQm0cHDiYYEr8zp06ePHz9OCPnPf/5TWlpaUlLi5+eXmZmpO1F5eHgQQi5durRv3z4vL6+QkBDtxkY/6oF6ErJ2g5GnO5uIkpycrCOHU1uAjtxU6Mgq0vGOjAfdqGrdunU3btzgcrlSqbS8vNzAwGDLli1GRkbajUomk8XHxz9//nzOnDm2trbaDSY5Ofn8+fPLly8nhNy8efPHH3+Mjo7WbkhExzYRTTcPp7ZAN7e8Th2l6Miq083D6R+t/Oc2DPDs2bNZs2ZpO4r/uXr16sKFC2tqaqT/T4vBlJWVBQcHZ2dn19bWRkVFHTt2TIvB0HRqE9WlU4dTm6JTW16njlJ05GbQqcOJhiH6t9vdu3cfPXoUGBhIvTQ0NNy/f7+2gtHT0wsPD4+KiqqpqenateuoUaO0FYk8ndpEAPXSqaMUHZkxMEQPAADAQPiZHAAAAAMhwQMAADAQEjwAAAADIcEDAAAwEBI8AAAAAyHBA7ytxo4dy6pj9erV2o6rtV29epV+8hoA0JDgAd5iPj4+V/5t2rRpzWjH29t748aNmo5OMxqK7dmzZywWa8eOHeq0qU4jADoOD7oBeIuZmZn16dOnNd+xuro6JyfHycmpNd+03hhMTEyWLFnSvXt3dZoyMjJSvxEA3YQreAAGKioqCg0NdXBwMDIyGjNmTHp6OlX+4MGDESNGmJiYGBoaDho06NatW4SQXr16/fnnn4sWLfL19S0rK2OxWHfu3KHrs1isoqIiQgiPx/v111/t7OzmzZun5C3kvXr1auLEiRYWFjY2NvPnz6+uriaE5OXlTZ482dra2tbWNjg4OC8vj6rM4/GuXLkyYcIEZ2dnFxeXI0eOKMSmEIOxsfGGDRskEgm1+MWLF3v27GlkZDRw4MAbN24QQhpaF/k25RtpUmAAbwFtPysXAJopICBg8ODBqXLu3btHzRo0aNDAgQPPnz9/9erVDz74wMbG5s2bNzKZrEePHoMGDUpKSjp79uyAAQN69+5N1e/fv/+GDRtkMllpaSkh5Pbt21T5/fv3CSGFhYUymYzL5bq6uu7evTsjI0PJW9CkUmnXrl19fX0vXbr0ww8/WFhYLFu2rLa2tlevXn369Dl37tz58+f79OnTs2fP2tpaqv2BAwc+fvxYIpF8+eWXQqGwoqJCPra6MXC53D///PPKlSuEEFdX1+PHj1+4cGHkyJGGhob5+flK1kWhzT///LMZgQHoOCR4gLdVQECAwud1Ly8vmUx25coVHo9XUFBAVZNIJO3atTtx4kRtbe26deseP35Mle/fv9/c3JyaVjHBr1+/nipv6C3kw/v111/19fXprL99+/YpU6acO3eOy+VmZmZShc+ePeNwOBcuXKDa37JlC1VO/flmenq6rE4ypmOQ/TvB0/+JUl5ebmlpuWHDhiYl+GYEBqDjMEQP8BYLCgqS78+XL18mhNy7d6+mpsbS0pLH4/F4PKFQmJ2dnZ6ezmKxwsPDc3Jy4uPjp0+fvnDhwqa+Xbdu3aiJht5CvvLt27c7depkbGxMvfz444+///77e/fuOTo62tvbU4Xt27d3cHC4d+8e9dLd3Z2a0NPTazQGBQMHDqQmRCJR//796TZVpH5gALoGN9kBMI2RkZGpqenr168VysvLy4cMGZKXlxcQEDB27Fhvb+/Fixcrb6qiokL+JZ3eGnoLeTU1NVyu4hmmtrZW4SdtbDab/h6dz+crj4c0nGLlm5XJZAKBQKGCwrpoPDAAXYMreACm6dSpU0FBwe3bt6mX+fn5AQEBd+/ePXfu3K1bt27fvr1+/foxY8bU1tY21MKbN2+oievXrzfpLeTruLu73759mxonJ4T89NNPw4YNe/fddzMyMnJycqjC7Ozsp0+fduzYUY3V/Z9z585RExUVFZcuXerSpYuK60JpucAAsLP98wAABvBJREFUtAUJHoBpXF1dAwMDJ0+efO7cueTk5JCQkHv37rm6uhoYGJSVlf38889PnjzZtWvXypUrS0pKqBvp2Wz248ePCwsLxWKxhYVFVFTUnTt3zpw5Ex8f36S3kK8zZswYCwuL4ODg1NTUY8eOLV26tGPHjoMHD+7atevEiRMvXbqUkpIyceLEbt26DRo0SMnq0LEpqSMQCMLDw48fP3758uUJEyaw2eyQkBAl61K3zWYEBqDrtPTdPwCoKyAgQOE7eFpZWVlYWFi7du2MjIz8/f2fPHlClUdGRlpZWZmZmQUFBaWnpwcEBIwaNUomk+3evdvMzCwwMFAmkyUmJrq5uRkYGPj4+Ny5c8fLy6ukpET2/zejNfoW8jIzM/39/U1MTKifyVE3n798+fKDDz6wsrKysrKaNGnSq1evqMry7efn54tEIqpN+dgUYqBe3r59e/To0b/++mv37t2NjIyGDRtG3wTX0LrU22ZTAwPQcSyZTKbtzxgAAACgYRiiBwAAYCAkeAAAAAZCggcAAGAgJHgAAAAGQoIHAABgICR4AAAABkKCBwAAYCAkeAAAAAZCggcAAGAgJHgAAAAGQoIHAABgICR4AAAABkKCBwAAYCAkeAAAAAZCggcAAGAgJHgAAAAGQoIHAABgICR4AAAABkKCBwAAYCAkeAAAAAZCggcAAGAgJHgAAAAGQoIHAABgICR4AAAABkKCBwAAYCAkeAAAAAbiajsAgDZq+Fe/qbP4ic+HCAQCTQWjdRKJ5LerWeq0MMqrPYfD0VQ8AAyAK3iAt5JMJtN2CJrEsNUB0AVI8AAAAAyEBA8AAMBASPAAAAAMhAQPAADAQEjwAAzUpUuXCxcuaDsKXSESiYRCoUgkMjIyGjJkyN27d7UdEUBrQIIHgP958eKFtkNoKQ8ePKioqMjOzg4ICPD29n79+nVTW2DwxgGmQoIHYKybN2+OGDFi5cqVY8aM6dSpU2pqKlX+3XffdejQwdLSMjw8nKrm5+c3ZsyY8ePHE0JOnz7dpUsXR0fHGTNmFBYWUots2LDBxsbG1NTUx8fn5cuXhBCJRDJjxgxLS0tra+vNmzdT1eouW281bTEwMJgzZ87w4cO3bt1ab7SkDW8cYB4keAAmO3fu3PDhw0+cOBESErJx40ZCSFpaWmRk5Pnz59PS0hITE3/77TdCyJkzZ4YNG3b69OmXL19++OGHBw4cSE9P53K5CxcuJIRkZmauWrXqypUrz58/t7Cw2Lt3LyHk8OHD9+/fz8jIOHv27KJFi8rKyupdtm41rW4PQggZOnTojRs36o0WGweYBE+yA2AyBwcHLy8vQkjPnj1TUlIIIUeOHJkyZYqdnR0h5LvvvhMKhYQQKyurOXPmEEIOHDjg4+PTpUsXQkhkZKSPjw819+HDh9bW1kVFRQKBoKioiBAilUrfvHnz6NGj7t27V1dXE0J++umnusvWraZ1lpaWz58/T0hIqBstNg4wCRI8AJOZmppSEywWi5rIycnp3bs3Nd2nTx9CyM2bN62trem5ly5d8vDwkF+cy+Vu3bo1ISGBx+Ox2ex27doRQiZOnJiZmTls2DADA4PPPvssNDS03mXrVmudFVciLy/Pxsam3mixcYBJkOABmIzO6zRLS0vqe2JCSGpqanV1tVgsZrPZ9NzAwMAtW7YQQqqrq3Nycgghhw4dSkxMPHnypI2Nzfr16wsKCggheXl5s2bN+vzzzy9evDh16tTevXvXu2zdap6enq219vVLSkrq3r27hYVF3WixcYBJ8B08QNsyZsyY77777uXLl0VFRaGhoZmZmfJzfX19jx49mp6eLpFIIiIiIiMjCSHPnz93cHCwsbHJyso6ePBgeXk5IWTv3r0ffvhhbW1tz549xWLxmzdv6l22bjWtrDWlvLx8x44dp06dmj17dr3RtuWNA8yDBA/QJvD5/FGjRhFCvLy8wsPDvby83n333f79+0+cOFG+mqOj4+bNm0eNGmVnZ/fo0aOYmBhCyJQpU6g0Fhwc/Omnn549e/b69ethYWFsNtvGxsbNzW3MmDGDBw+ud9m61bSy+h07djQwMLCxsTl06NCFCxfMzc3rjbZtbhxgKhb+xAlAK9T8u9jjn71P3QLGDDU1NSf/m61OC/i7WAAFuIIHAABgICR4AAAABkKCBwAAYCAkeAAAAAZCggcAAGAg3EUPoB0VFRXqLM7lcnk8nqaC0TqpVKrms1oFAgH9RBoAIEjwAAAAjIQPvAAAAAyEBA8AAMBASPAAAAAMhAQPAADAQEjwAAAADIQEDwAAwEBI8AAAAAyEBA8AAMBASPAAAAAMhAQPAADAQEjwAAAADIQEDwAAwEBI8AAAAAyEBA8AAMBA/weevczbNx098wAAAABJRU5ErkJggg==)
The Gaussian approach is used as follows:
# Use the Gaussian approach
explanation_gaussian <- explain(
x_test,
approach = "gaussian",
explainer = explainer,
prediction_zero = p
)
# Plot the resulting explanations for observations 1 and 6
plot(explanation_gaussian, plot_phi0 = FALSE, index_x_test = c(1, 6))
![](data:image/png;base64,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)
The Gaussian copula approach is used as follows:
# Use the Gaussian copula approach
explanation_copula <- explain(
x_test,
approach = "copula",
explainer = explainer,
prediction_zero = p
)
# Plot the resulting explanations for observations 1 and 6, excluding
# the no-covariate effect
plot(explanation_copula, plot_phi0 = FALSE, index_x_test = c(1, 6))
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAAEgCAIAAADkBlbXAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAgAElEQVR4nO3deVwT19oH8JM9AcK+I4IUobihuEEVFasioIKI2lasW69XrBvW1qVaqq3iClRxq1ut1upHrVqsYosrFfWCpYoroigCgqDsmyTk/WPuOzdlCUEGEobf96/JzJkzz0zyzJM5SSYchUJBAAAAgF24mg4AAAAAmIcCDwAAwEIo8AAAACyEAg8AAMBCKPAAAAAshAIPAADAQijwwBKlpaVhYWFubm5SqdTGxsbLy+vo0aPKvwL18PAYO3ZsS2y6V69eH374YUv0/Ba0Khj1eXp6jh49ukmrrFixQiqVtlA8La11nqY2fYig+VDggQ3Ky8vd3d3Xrl3bq1evtWvXzpkzRy6XT5gwYcGCBZoODZpMKpV26tSpddZqV3CI2hu+pgMAYEBkZOTdu3djY2O9vb2pOUuXLp0zZ87mzZs/+eST7t27aza89qOwsDAvL69z587N6cTJycnIyKh11mpXcIjaG1zBAxtcu3bNzMyMru6UkJAQPp+flJSkPPPq1auDBw/W19d/5513vvvuO+VFW7Zs6datm66urqmp6bBhwxISEqj5ZWVlHA7n9OnTERERvXr1MjY2Hj58+M2bNxsKJjk52dfX19zc3MzMbPz48ampqdT8r7/+ms/nv379mm556NAhDodz9erVWj2MHz9eKpVWVVXRc/744w8Oh3PgwAHVodbSuXPnkJAQ5TkCgWDdunWNhlpLo0fAw8MjNDR0+/btlpaWq1atUqfz6OhoNzc3AwODwYMHX7x4UXmRUChUHliOiYmhnjIHB4elS5eWl5cTQjw9Pb/99tvS0lIOh7Np06a6a507d27w4MFGRkaOjo7Tpk179eqVcrRz5869ceOGj4+PoaGho6NjrVdCLQ3tSEJCApfLjYyMpFuOGDHC0dGxoqKiqa8ZFU9oo9E2tG5rHiLQUgqAtm/MmDF8Pj8lJUVFG3d3d3t7e2tr63Xr1h08eLBfv36EkHPnzlFLt2/fTggZP378zp07v/jiCzs7O319/devXysUitLSUkKIu7u7p6dnfHx8fHz8+++/LxaLExMTqXV79uz5wQcfUNOXLl0SCoW9e/eOjIz85ptvrKysjI2N09LSFArFX3/9RQg5ePAgHVJgYGCHDh1qampqhfrzzz8TQmJjY+k5s2bNkkgkxcXFqkOtFYyjo+OsWbOUe+bz+WvXrm001FoaPQLu7u4DBgyQSqX/+te/Tp8+3Wjny5YtI4S8//77kZGRM2bMEIvFJiYmo0aNonsLCAigpn/44QcOhzNy5Mjo6Og5c+bw+fypU6cqFIoHDx5Mnz5dIpEkJSXl5OTUWuvw4cMcDsfd3T0qKmrZsmX6+vodO3YsKSmh+x88ePCQIUP+85//5OTkfPrpp4SQM2fO1PuyUb0js2bNkkqlmZmZ1EYJIefPn2/qa0b1E6o6WhXrttohAq2FAg9scPLkSUIIj8ebMGHCqVOnioqK6rZxd3cnhPz555/Uw5ycHELI8uXLqYdeXl7u7u504/j4eEJIXFyc4v9P1kZGRvTpr6qqysbGxsfHh3qofLLu1atX3759q6urqYdZWVlGRkbBwcHUw44dO06YMIGaLi0tlUgkCxcurBtqcXGxSCT69NNPqYdyudzS0nLixImNhqpoSoFXHaqyRo8AdWwvXbpEr6Ki86ysLLFYPHbsWPqdDTWoULfAl5eXW1lZjRo1im65dOlSDodDFbDly5fr6enRW6TXevPmjb29fZ8+faqqqqhF1EXt6tWr6ZY8Ho8u0lVVVUKhcPHixXV3vNGjVFhYaGlpGRQUVFRUZG1tPWPGDDWPmPLTpPoJVR2t6nVb5xCB1sIQPbCBv7//qVOn+vbte/ToUX9/f2Nj4/fee2/Dhg0FBQXKzbp06TJgwABq2sLCwtjYuLKyknp46tSpCxcu0C1zc3MJIfRSQsi4ceP09PSoaaFQOGnSpLi4OLlcrtx/dnZ2cnIy9dEANcfa2nr06NH0ELS/v39sbOybN28IIWfOnKmoqJg4cWLd3ZFKpSNGjIiJiaEeXrt2LScnZ9KkSWqGqo5GQ61L9RHo2rXr4MGD1en80qVLlZWVS5Ys4XA41NI5c+ZIJJK6W7xx48aLFy/mzp1LtwwJCYmMjFS9sw8ePHj69OncuXOFQiE1x8PDo3///rGxsXSbHj16vPPOO/S+GBkZKX8gov5RMjAw+O67744dO+bn5yeXyzds2KD+EaM1+oSqiPbtXgwMHiLQZijwwBJjxoy5du1abm7u4cOHp02bxuFwvvrqK1dX10ePHtFt7O3tlVfhcv/3+pdKpY8fP/7+++///e9/9+jRIygoqFb/9MmO4ujoWF1dnZmZqTwzLS2NEDJ9+nSOkh9//PHly5dUg4CAgOLi4suXLxNCjh07Zm9vT31SUNe4ceMyMjJu3bpFCDl+/LixsfHIkSPVDFUdjYZal+ojYGtrq2bnjx8/JoR07dqVbq+jo1Pvt7upls7OzvQcW1vb+fPnW1lZqdi19PR0Qsi7776rPPPdd9+l5lNsbGyUl9JvIGpR5yhNmDDBx8fnzz//jIiIqPUVNnVeM0SNJ1RFtG/3YmDwEIE2w7fooc0rLi7esmXLiBEj+vbta2ZmNnHiROqyODMz09XVdcmSJcePH6da0tcrdYWHh3/55ZcWFhajR4/+/PPPTUxM/Pz8lBvUuvCqrq4mhPB4POWZYrGYELJlyxYPD496tzJo0CAjI6OYmJiBAwf+9ttvc+bMaSge6lsFMTExrq6uJ06cmDBhgkAgUDPUhshkMnovGg21LtVHgOpQnc6pq2HFP/+outaRpFBDHfTVs5pqamrqzuRyuVTAyjE0Sp2jJJPJsrOzCSG3bt366KOPlBep85ohajyhKqJ9uxcDg4cItBmeQmjzdHV1V69e/eLFi759+yrP79Chg5OTE3UVqFphYeGKFSs+++yzdevWUZf1f//9d602Dx48UH54584doVBobW2tPJO+DO3duzc9MyUlhT5v8vl8Pz+/X3/9dciQIWVlZfWOz1OMjIy8vLxiYmJ8fX2fPn1KVw51QlWmXEefPXtGP2w01LrUOQLqdE6No9y7d48evaiqqnry5ImdnV2tfqgr4LS0NPpqMi8vb9u2bRMmTHBxcWkoTgcHB0JIamqq8ujIw4cPHR0dG1qlIeocpY0bN6ampk6bNi0yMnLy5MndunWjF6lzxJr6hDKyLoOHCLQZhuihzePxeJ6ennv37q31i7g7d+78/fffbm5ujfbw6NEjuVzu4eFBD9ofPXqU/LM6Hj9+/Pnz59R0ZmbmgQMHvL29lQf5CSFmZmYeHh7btm2jLj0JIfn5+Z6enj/++CPdxt/f/9mzZ6tWrercuXOvXr1URDVu3LjExMStW7d27Nhx4MCB6odKE4vFyj9O2717d5NCrUWdI6BO515eXhKJZP369XTM33//fVlZWd1++vXrZ2hoGB0dTc85dOjQ119/TQ9m1LvX7777rq2t7datW2UyGTXn+vXrCQkJI0aMaGjXGtLoUUpLS1u5cuWyZcu2bdvWoUOHkJCQpr5mmvSE1qLOui19iECb4Qoe2OD77793c3Nzd3f39/fv3r07n89/+PDh8ePHTU1Nw8PDG13dxcXFxMRk+fLlWVlZZmZmv/3225UrV7hc7o4dOxwdHalPl3V0dAYMGDB79uyamprt27fL5XL6B9/K1q5dO3z4cA8Pj6lTpxJCtm3bJhQKQ0ND6QYjR44UiUS3bt1avny56qgCAgJmz569b9++xYsX05+Aqg611qeqnp6e27dvnzdv3qBBg65cuRIXF6f86XWjodai5hFotHNLS8uFCxeuXr3ax8dn9OjR9+/f37dvn/KFL83Q0PDrr79esGBBQECAn5/fs2fPIiMjJ06cSF1o8vn8srKy3bt3Dxo0yMnJiV5LKBSGh4dPnjx56NChH3zwwcuXLyMjIzt27Lhw4ULVB7ypO0IImTlzpq2t7eeffy4SiTZv3jx69Oh9+/ZNnz5d/SPWpCe0qeu2ziEC7aWhb+8DMOzly5efffaZq6urVCo1MTHp3bv3V199VVBQQDdQ/hEwxdTUdNGiRdR0QkKCh4eHrq6us7Pz3Llzi4qKoqKi3NzcYmJiqJ88fffddytXrnR2djY0NBw2bNhff/1F96P8kyeFQpGYmDh8+HATExMLC4tx48Y9ePCgVqi+vr6EENW/2qcMGjSobksVodYKpqioaNq0aaamppaWluPHj8/Nzf34448PHTqkfqiURo9A3WPbaOdbtmzp2bOnVCr19PT8/fffIyIili5dWm9vP//8s7u7u56e3jvvvLNs2bKysjJqfkpKSv/+/cVi8bZt2+qudebMmYEDBxoYGHTq1Gnq1Kl5eXkqoh04cCD1zwX1amhH9uzZQwj5/fff6ZZjxowxMTHJy8tr0mtG9ROqOlrV67baIQLtxFGoMRAE0J6VlZXp6elFR0dTt/tovpEjRz5//vzu3buM9NYKGD8CrIcjBtoAn8EDtKrMzMy4uLgPPvhA04EAAMvhM3iAVlJZWblp06bTp0/zeDzqA10AgJaDK3iAViKTyaKjoysrKw8dOqR8WxgAgJaAz+ABAABYCFfwAAAALIQCDwAAwEIo8AAAACyEAg8AAMBCKPAAAAAshAIPAADAQijwAAAALIQCDwAAwEK4VW0TKP+1NgAL6OnpWVtbazqK1oZEBpZpKJFxBQ8AAMBCKPAAAAAshAIPAADAQijwAAAALIQCDwAAwEIo8AAAACyEAg/1S09PnzVrFmIAaNO0IYm0IYb2CQUeyPXr1wMCApq6llwunzRpUllZ2dtt9PXr12+3omoHDhwICgoKCAj46quvSkpK6Pkqoq13laSkpKlTp44bNy4yMlIul7dEqADMeotEzszMnD9//pgxYz777LO3S8kWSuTY2NhJkyYFBAR88cUXL168UF50/fr14ODguqucOXPmww8/9Pf3DwsLoxM5JCTE6/9t3ry5JULVZrjRDRCxWFxUVERNHzp06JdffhGLxUOHDqUbDBs2LCoqqlu3bvScmJiYc+fOZWdnq+g2Li7u9u3bpaWleXl5IpHo888/t7CwePz48a5du3g8XklJyebNmxMTE7dv315eXu7m5jZ79mw9Pb2GYlDHrVu3YmJitm/fLpVKw8PDDxw4MHv2bNXR1rtKeXn5N998s27dOgcHhxUrVpw4cSIoKKhJkQC0vqYmck1NzZIlS+bOndunT59t27bt3Llz6dKldbtt/UTOysqKioras2ePqanp3r17161bFxUVRS3Kzc2NjIwUCAS1VsnMzIyOjt6xY4e5ufmmTZv27ds3b948qqtTp05JJBJCCJfb7i5o290OQ11SqbRLly6EkMTExF9//XXr1q07d+5MSkqiG0RFRXXq1El5lY4dO3744Yc8Hk91z2fPnp08efKWLVvc3d03bdpEzfzrr7/69Omzfv36169fr1q1asWKFT/99BOPx9u2bZuKGNRhaGj45ZdfmpmZCQQCa2trOjwV0da7yn/+8x8XF5d3331XKBQGBQVdvny5SWEAaERTEzk5OdnMzKx///48Hm/27NmffvppQz23ciJnZWV5e3vb2NiIRCI/P7/nz59T82Uy2bfffjt16tS6q3C5XB6Pp6urKxAIJBIJVctLS0v5fL6+vr5AIBAIBI2er9gHV/DwP1evXg0ICLCwsCCETJw48eeff6bmK1+7U1xdXQkhjSaMq6srdULx9/ffsWOHTCYjhBgbG48dO5YQcv78eTc3N6rBlClTFixYoCIGyrNnz8LDw5XnfPfddyKRiJq2s7Ozs7M7d+7chg0brK2td+7c2Wi09a7y8uVLS0tLqoG1tXVeXp7q3QTQKmomclZWllgsDg0NTUtLc3R0XLRokb6+fr0dtnIi9+vXr1+/foQQmUz2448/Dhky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)
The conditional inference tree approach is used as follows:
# Use the conditional inference tree approach
explanation_ctree <- explain(
x_test,
approach = "ctree",
explainer = explainer,
prediction_zero = p
)
# Plot the resulting explanations for observations 1 and 6, excluding
# the no-covariate effect
plot(explanation_ctree, plot_phi0 = FALSE, index_x_test = c(1, 6))
![](data:image/png;base64,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)
We can use mixed (i.e continuous, categorical, ordinal) data with ctree. Use ctree with categorical data in the following manner:
x_var_cat <- c("lstat", "chas", "rad", "indus")
y_var <- "medv"
# convert to factors
Boston$rad = as.factor(Boston$rad)
Boston$chas = as.factor(Boston$chas)
x_train_cat <- Boston[-1:-6, x_var_cat]
y_train <- Boston[-1:-6, y_var]
x_test_cat <- Boston[1:6, x_var_cat]
# -- special function when using categorical data + xgboost
dummylist <- make_dummies(traindata = x_train_cat, testdata = x_test_cat)
x_train_dummy <- dummylist$train_dummies
x_test_dummy <- dummylist$test_dummies
# Fitting a basic xgboost model to the training data
model_cat <- xgboost::xgboost(
data = x_train_dummy,
label = y_train,
nround = 20,
verbose = FALSE
)
model_cat$feature_list <- dummylist$feature_list
explainer_cat <- shapr(dummylist$traindata_new, model_cat)
p <- mean(y_train)
explanation_cat <- explain(
dummylist$testdata_new,
approach = "ctree",
explainer = explainer_cat,
prediction_zero = p
)
# Plot the resulting explanations for observations 1 and 6, excluding
# the no-covariate effect
plot(explanation_cat, plot_phi0 = FALSE, index_x_test = c(1, 6))
![](data:image/png;base64,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)
We can specify parameters used to build the conditional inference trees using the following manner. Default values are based on Hothorn, Hornik, and Zeileis (2006).
# Use the conditional inference tree approach
# We can specify parameters used to building trees by specifying mincriterion,
# minsplit, minbucket
explanation_ctree <- explain(
x_test,
approach = "ctree",
explainer = explainer,
prediction_zero = p,
mincriterion = 0.80,
minsplit = 20,
minbucket = 20
)
# Default parameters (based on (Hothorn, 2006)) are:
# mincriterion = 0.95
# minsplit = 20
# minbucket = 7
We can also specify multiple different mincriterion (1 minus the boundary for when to stop splitting nodes) parameters to use when conditioning on different numbers of features. In this case, a vector of length = number of features must be provided.
# Use the conditional inference tree approach
# Specify a vector of mincriterions instead of just one
# In this case, when conditioning on 1 or 2 features, use mincriterion = 0.25
# When conditioning on 3 or 4 features, use mincriterion = 0.95
explanation_ctree <- explain(
x_test,
approach = "ctree",
explainer = explainer,
prediction_zero = p,
mincriterion = c(0.25, 0.25, 0.95, 0.95)
)
Main arguments in shapr
When using shapr
, the default behavior is to use all feature combinations in the Shapley formula. Kernel SHAP’s sampling based approach may be used by specifying n_combinations
, which is the number of feature combinations to sample. If not specified, the exact method is used. The computation time grows approximately exponentially with the number of samples. The training data and the model whose predictions we wish to explain must be provided through the arguments x
and model
. Note that x
must be a data.frame
or a matrix
, and all elements must be finite numerical values. Currently we do not support categorical features or missing values.
Main arguments in explain
The test data given by x
, whose predicted values we wish to explain, must be provided. Note that x
must be a data.frame
or a matrix,
where all elements are finite numerical values. One must also provide the object returned by shapr
through the argument explainer
. The default approach when computing the Shapley values is the empirical approach (i.e. approach = "empirical"
). If you’d like to use a different approach you’ll need to set approach
equal to either copula
or gaussian
, or a vector of them, with length equal to the number of features. If a vector, a combined approach is used, and element i
indicates the approach to use when conditioning on i
variables. For more details see Combined approach below.
When computing the kernel SHAP values by explain
, the maximum number of samples to use in the Monte Carlo integration for every conditional expectation is controlled by the argument n_samples
(default equals 1000
). The computation time grows approximately linear with this number. You will also need to pass a numeric value for the argument prediction_zero
, which represents the prediction value when not conditioning on any features. We recommend setting this equal to the mean of the response, but other values, like the mean prediction of a large test data set is also a possibility. If the empirical method is used, specific settings for that approach, like a vector of fixed \(\sigma\) values can be specified through the argument sigma_vec
. See ?explain
for more information. If approach = "gaussian"
, you may specify the mean vector and covariance matrix of the data generating distribution by the arguments mu
and cov_mat
. If not specified, they are estimated from the training data.
Advanced usage
Combined approach
In addition to letting the user select one of the three aforementioned approaches for estimating the conditional distribution of the data (i.e. approach
equals either "gaussian"
, "copula"
, "empirical"
or "ctree"
) the package allows the user to combine the four approaches. To simplify the usage, the flexibility is restricted such that the same approach is used when conditioning on the same number of features. This is also in line Aas, Jullum, and Løland (2019, Section 3.4).
This can be done by setting approach
equal to a character vector, where the length of the vector is equal to the number of features in the model. Consider a situation where you have trained a model that consists of 10 features, and you would like to use the "empirical"
approach when you condition on 1-3 features, the "copula"
approach when you condition on 4-5 features, and the "gaussian"
approach when conditioning on 6 or more features. This can be applied by simply passing approach = c(rep("empirical", 3), rep("copula", 2), rep("gaussian", 5))
, i.e. approach[i]
determines which method to use when conditioning on i
features.
The code below exemplifies this approach for a case where there are four features, using "empirical", "copula"
and "gaussian"
when conditioning on respectively 1, 2 and 3-4 features. Note that it does not matter what method that is specified when conditioning on all features, as that equals the actual prediction regardless of the specified approach.
# Use the combined approach
explanation_combined <- explain(
x_test,
approach = c("empirical", "copula", "gaussian", "gaussian"),
explainer = explainer,
prediction_zero = p
)
# Plot the resulting explanations for observations 1 and 6, excluding
# the no-covariate effect
plot(explanation_combined, plot_phi0 = FALSE, index_x_test = c(1, 6))
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAAEgCAIAAADkBlbXAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAgAElEQVR4nO3dd1wT9/8H8E92InsvkVEEcaDgwioqVkVcIKK2FRy1XwvWAdZWsVrUVsEJRVx11WqtPtSqpSq2OCmOr1irqDhQFAEHqICAAknu98f9euYLIYwEEo/X86/L3efeed/45J37JLlwKIoiAAAAwC5cbScAAAAAmocCDwAAwEIo8AAAACyEAg8AAMBCKPAAAAAshAIPAADAQijwwBKlpaXR0dFeXl4GBgZ2dna+vr779u1T/BVor169Ro0a1RRP7enp+dFHHzVF5EbQqWTqz8fHZ8SIEQ1aZeHChQYGBk2UT1NrnsP0Tu8iUB8KPLBBeXm5t7d3bGysp6dnbGzs9OnTZTLZ2LFjIyIitJ0aNJiBgYGTk1PzrNWiYBe1NHxtJwCgAXFxcTdu3EhOTvbz86PnREVFTZ8+PSEh4dNPP+3UqZN202s5ioqKCgoK2rZtq04QV1dXExOT5lmrRcEuamlwBQ9scP78eQsLC6a608LDw/l8fnp6uuLMtLS0fv36GRoavvfee99//73iorVr13bs2FFPT8/c3HzgwIHnzp2j55eVlXE4nN9//33NmjWenp6mpqaDBg26fPlybclcuXJl6NChlpaWFhYWY8aMuXPnDj1/0aJFfD7/xYsXTMvdu3dzOJy0tLRqEcaMGWNgYFBRUcHM+fPPPzkczs6dO1WnWk3btm3Dw8MV5wgEguXLl9eZajV17oFevXpFRkZu2LDB2tp6yZIl9QmemJjo5eVlZGTUr1+/U6dOKS4SCoWKA8tJSUn0IXN2do6KiiovLyeE+Pj4fPfdd6WlpRwOZ/Xq1TXXOn78eL9+/UxMTFxcXCZPnvz8+XPFbGfMmHHx4kV/f39jY2MXF5dqZ0I1tW3IuXPnuFxuXFwc03Lw4MEuLi6vX79u6Dmj4oDWmW1t6zbnLgIdRQG8+0aOHMnn8zMyMlS08fb2dnR0tLW1Xb58+a5du3r06EEIOX78OL10w4YNhJAxY8Zs2rTpq6++cnBwMDQ0fPHiBUVRpaWlhBBvb28fH5/U1NTU1NQPPvhALBZfunSJXrdLly4ffvghPX369GmhUNi1a9e4uLhvv/3WxsbG1NQ0KyuLoqi///6bELJr1y4mpaCgoNatW8vl8mqp/vLLL4SQ5ORkZk5YWJhEIikpKVGdarVkXFxcwsLCFCPz+fzY2Ng6U62mzj3g7e3du3dvAwOD//znP7///nudwefPn08I+eCDD+Li4qZMmSIWi83MzIYPH85ECwwMpKd//PFHDoczZMiQxMTE6dOn8/n8SZMmURR169atTz75RCKRpKenP3nypNpae/bs4XA43t7e8fHx8+fPNzQ0bNOmzatXr5j4/fr169+//3//+98nT558/vnnhJCjR48qPW1Ub0hYWJiBgUFubi79pISQEydONPScUX1AVWerYt1m20Wgs1DggQ0OHTpECOHxeGPHjj18+HBxcXHNNt7e3oSQv/76i3745MkTQsiCBQvoh76+vt7e3kzj1NRUQkhKSgr174u1iYkJ8/JXUVFhZ2fn7+9PP1R8sfb09OzevXtVVRX9MC8vz8TEJCQkhH7Ypk2bsWPH0tOlpaUSiWT27Nk1Uy0pKRGJRJ9//jn9UCaTWVtbjxs3rs5UqYYUeNWpKqpzD9D79vTp08wqKoLn5eWJxeJRo0Yx72zoQYWaBb68vNzGxmb48OFMy6ioKA6HQxewBQsW6OvrM8/IrFVZWeno6NitW7eKigp6EX1Ru3TpUqYlj8djinRFRYVQKJw7d27NDa9zLxUVFVlbWwcHBxcXF9va2k6ZMqWee0zxMKk+oKqzVb1u8+wi0FkYogc2CAgIOHz4cPfu3fft2xcQEGBqavr++++vXLny5cuXis3at2/fu3dvetrKysrU1PTNmzf0w8OHD588eZJp+fTpU0IIs5QQMnr0aH19fXpaKBSOHz8+JSVFJpMpxs/Pz79y5Qr90QA9x9bWdsSIEcwQdEBAQHJycmVlJSHk6NGjr1+/HjduXM3NMTAwGDx4cFJSEv3w/PnzT548GT9+fD1TrY86U61J9R7o0KFDv3796hP89OnTb968mTdvHofDoZdOnz5dIpHUfMaLFy8+fvx4xowZTMvw8PC4uDjVG3vr1q0HDx7MmDFDKBTSc3r16tWzZ8/k5GSmjYeHx3vvvcdsi4mJieIHIvXfS0ZGRt9///3+/fuHDRsmk8lWrlxZ/z3GqPOAqsi2cSeDBncR6DIUeGCJkSNHnj9//unTp3v27Jk8eTKHw/nmm286d+589+5dpo2jo6PiKlzu2/PfwMDg3r17P/zww2effebh4REcHFwtPvNiR3NxcamqqsrNzVWcmZWVRQj55JNPOAp++umnZ8+e0Q0CAwNLSkrOnDlDCNm/f7+joyP9SUFNo0ePzsnJuXr1KiHkwIEDpqamQ4YMqWeq9VFnqjWp3gP29vb1DH7v3j1CSIcOHZj2rVq1Uvrtbrqlm5sbM8fe3n7WrFk2NjYqNi07O5sQ0q5dO8WZ7dq1o+fT7OzsFJcybyCqqc9eGjt2rL+//19//bVmzZpqX2GrzzlD6nFAVWTbuJNBg7sIdBm+RQ/vvJKSkrVr1w4ePLh79+4WFhbjxo2jL4tzc3M7d+48b968AwcO0C2Z65WaYmJivv76aysrqxEjRnz55ZdmZmbDhg1TbFDtwquqqooQwuPxFGeKxWJCyNq1a3v16qX0Wfr27WtiYpKUlNSnT58jR45Mnz69tnzobxUkJSV17tz54MGDY8eOFQgE9Uy1NlKplNmKOlOtSfUeoAPWJzh9NUz97x9VV9uTNHqog7l6rie5XF5zJpfLpRNWzKFO9dlLUqk0Pz+fEHL16tWPP/5YcVF9zhlSjwOqItvGnQwa3EWgy3AI4Z2np6e3dOnSx48fd+/eXXF+69atXV1d6atA1YqKihYuXPjFF18sX76cvqz/559/qrW5deuW4sPr168LhUJbW1vFmcxlaNeuXZmZGRkZzOsmn88fNmzYb7/91r9//7KyMqXj8zQTExNfX9+kpKShQ4c+ePCAqRz1SVWRYh19+PAh87DOVGuqzx6oT3B6HOXmzZvM6EVFRcX9+/cdHByqxaGvgLOyspiryYKCgvXr148dO9bd3b22PJ2dnQkhd+7cURwduX37touLS22r1KY+e2nVqlV37tyZPHlyXFxcaGhox44dmUX12WMNPaAaWVeDuwh0GYbo4Z3H4/F8fHy2bdtW7Rdx169f/+eff7y8vOqMcPfuXZlM1qtXL2bQft++feR/q+OBAwcePXpET+fm5u7cudPPz09xkJ8QYmFh0atXr/Xr19OXnoSQwsJCHx+fn376iWkTEBDw8OHDJUuWtG3b1tPTU0VWo0ePvnTp0rp169q0adOnT5/6p8oQi8WKP07bsmVLg1Ktpj57oD7BfX19JRLJihUrmJx/+OGHsrKymnF69OhhbGycmJjIzNm9e/eiRYuYwQylW92uXTt7e/t169ZJpVJ6zoULF86dOzd48ODaNq02de6lrKysxYsXz58/f/369a1btw4PD2/oOdOgA1pNfdZt6l0EugxX8MAGP/zwg5eXl7e3d0BAQKdOnfh8/u3btw8cOGBubh4TE1Pn6u7u7mZmZgsWLMjLy7OwsDhy5MjZs2e5XO7GjRtdXFzoT5dbtWrVu3fvadOmyeXyDRs2yGQy5gffimJjYwcNGtSrV69JkyYRQtavXy8UCiMjI5kGQ4YMEYlEV69eXbBggeqsAgMDp02btn379rlz5zKfgKpOtdqnqj4+Phs2bJg5c2bfvn3Pnj2bkpKi+Ol1nalWU889UGdwa2vr2bNnL1261N/ff8SIEZmZmdu3b1e88GUYGxsvWrQoIiIiMDBw2LBhDx8+jIuLGzduHH2hyefzy8rKtmzZ0rdvX1dXV2YtoVAYExMTGho6YMCADz/88NmzZ3FxcW3atJk9e7bqHd7QDSGETJ061d7e/ssvvxSJRAkJCSNGjNi+ffsnn3xS/z3WoAPa0HWbZxeB7tLSt/cBNOzZs2dffPFF586dDQwMzMzMunbt+s0337x8+ZJpoPgjYJq5ufmcOXPo6XPnzvXq1UtPT8/NzW3GjBnFxcXx8fFeXl5JSUn0T56+//77xYsXu7m5GRsbDxw48O+//2biKP7kiaKoS5cuDRo0yMzMzMrKavTo0bdu3aqW6tChQwkhqn+1T+vbt2/NlipSrZZMcXHx5MmTzc3Nra2tx4wZ8/Tp0wkTJuzevbv+qdLq3AM1922dwdeuXdulSxcDAwMfH58//vhjzZo1UVFRSqP98ssv3t7e+vr677333vz588vKyuj5GRkZPXv2FIvF69evr7nW0aNH+/TpY2Rk5OTkNGnSpIKCAhXZ9unTh/7nAqVq25CtW7cSQv744w+m5ciRI83MzAoKChp0zqg+oKqzVb1us+0i0E0cqh4DQQAtWVlZmb6+fmJiIn27D/UNGTLk0aNHN27c0Ei0ZqDxPcB62GOgC/AZPECzys3NTUlJ+fDDD7WdCACwHD6DB2gmb968Wb169e+//87j8egPdAEAmg6u4AGaiVQqTUxMfPPmze7duxVvCwMA0BTwGTwAAAAL4QoeAACAhVDgAQAAWAgFHgAAgIVQ4AEAAFgIBR4AAICFUOABAABYCAUeAACAhVDgAQAAWAi3qm0Axb/WBmABfX19W1tbbWfR3NCRgWVq68i4ggcAAGAhFHgAAAAWQoEHAABgIRR4AAAAFkKBBwAAYCEUeAAAABZCgQflsrOzw8LCkAPAO00XOpEu5NAyocADuXDhQmBgYEPXkslk48ePLysra9yTvnjxonErqrZz587g4ODAwMBvvvnm1atXzHwV2SpdJT09fdKkSaNHj46Li5PJZE2RKoBmNaIj5+bmzpo1a+TIkV988UXjumQTdeTk5OTx48cHBgZ+9dVXjx8/Vlx04cKFkJCQmqscPXr0o48+CggIiI6OZjpyeHi4778SEhKaIlVdhhvdABGLxcXFxfT07t27f/31V7FYPGDAAKbBwIED4+PjO3bsyMxJSko6fvx4fn6+irApKSnXrl0rLS0tKCgQiURffvmllZXVvXv3Nm/ezOPxXr16lZCQcOnSpQ0bNpSXl3t5eU2bNk1fX7+2HOrj6tWrSUlJGzZsMDAwiImJ2blz57Rp01Rnq3SV8vLyb7/9dvny5c7OzgsXLjx48GBwcHCDMgFofg3tyHK5fN68eTNmzOjWrdv69es3bdoUFRVVM2zzd+S8vLz4+PitW7eam5tv27Zt+fLl8fHx9KKnT5/GxcUJBIJqq+Tm5iYmJm7cuNHS0nL16tXbt2+fOXMmHerw4cMSiYQQwuW2uAvaFrfBUJOBgUH79u0JIZcuXfrtt9/WrVu3adOm9PR0pkF8fLyTk5PiKm3atPnoo494PJ7qyMeOHQsNDV27dq23t/fq1avpmX///Xe3bt1WrFjx4sWLJUuWLFy48Oeff+bxeOvXr1eRQ30YGxt//fXXFhYWAoHA1taWSU9FtkpX+e9//+vu7t6uXTuhUBgcHHzmzJkGpQGgFQ3tyFeuXLGwsOjZsyePx5s2bdrnn39eW+Rm7sh5eXl+fn52dnYikWjYsGGPHj2i50ul0u+++27SpEk1V+FyuTweT09PTyAQSCQSupaXlpby+XxDQ0OBQCAQCOp8vWIfXMHDW2lpaYGBgVZWVoSQcePG/fLLL/R8xWt3WufOnQkhdXaYzp070y8oAQEBGzdulEqlhBBTU9NRo0YRQk6cOOHl5UU3mDhxYkREhIocaA8fPoyJiVGc8/3334tEInrawcHBwcHh+PHjK1eutLW13bRpU53ZKl3l2bNn1tbWdANbW9uCggLVmwmgU+rZkfPy8sRicWRkZFZWlouLy5w5cwwNDZUGbOaO3KNHjx49ehBCpFLpTz/91L9/f3p+YmLiBx980K5du5oZ2trajhs3buzYsRKJxMjIaOvWrYSQ/Px8iqI+/fTTp0+furu7R0REtLQbM6PAw1tFRUV0LSSEMBVOHWZmZvSEQCDQ09MrKSkhhJiYmNAzCwsLr1+//p///Id+SL+4qM7BwcFh48aNqp/Uz8+ve/fu27dvT0hImDt3bn3yrLkKh8OhF1EUJZfL6xMEQEfUsyOXlpbeuXNn6dKlTk5O+/bti4mJSUxMVNpSKx35zJkzW7du7dOnz5QpUwghJ0+eLCkpCQwMzM7Ortn45s2bJ06ciIuLs7Gx2bt3b3x8/Lx58wQCwYgRI8aOHcvhcPbs2RMTE7N27VrVT8oyKPDwlqmp6bNnz+jpwsJC9QM+ffqUnigrKysvLzcyMnr58iXzSZiJiYmPjw/9fl8qldIXyurkkJyczOfzBw4caGpqSn/XpnGrWFhY/PPPP8wmWFpaNigNAO2qZycyMzPr3LkzfUE8dOjQXbt21daymTsyRVGrVq3Kz8+PiYmxs7OjZ545c+by5cuBgYEymay8vDwwMHD79u3Mm4wLFy706tXLw8ODEPLxxx+HhobOmzfP1tY2NDSU/sB+1KhR+/fvb1AaLIDP4OGtPn36HD58uLCw8M2bN/v27WPmZ2ZmlpeX17l6zWYZGRlXr16Vy+U//vhjr169qg2S9+jRIzU1NS8vTyaT/fDDDz/++KOKHGgPHjz4z/+qqKhglopEop9//rmsrEwul584cULpUF61bJWu0qNHj8zMzNzcXIqifvvtN2aEEOCdUM+O3L179+vXr9+6dauioiIpKalTp05Km5Fm78jnz5+/f//+ypUrra2tZTIZ/TOWxYsX//7774cOHUpISLCxsTl06BBd3els33vvvYsXL+bl5b158+bIkSNt27YlhJw5c+bzzz8vLi5+8+bN0aNHmRGFlgNX8PCWl5fXsGHDwsPDRSLRRx99dPnyZXr+jBkzqn2LXqkZM2asWrWqS5cuzJzu3bvv3Lnz/v37zs7ONb+ga21tPWvWrKioqNLSUnd3d3psvLYcaI6Ojps3b64tgf79+2dmZk6YMIHD4XTo0CEyMlJ1tvHx8UpX0dPTmz9//jfffFNZWenl5UV/0AjwrqhnRzY1NZ05c+ayZcuKioo6dOjw1VdfMc2025EzMjJu3bo1aNAg+qGRkdGhQ4dqa0xvVL9+/fLy8iIjIysqKtzd3ekkBw0alJOTM3nyZIqiPDw8mA1sOTgURWk7h3cG/kZatdOnTzs5OTk4ONAPU1JS/vnnnzlz5mg3K1AB/wcPNaEjv3Pwf/DQ5IqKipgXBQB4R6Ejswau4BsAb/yBZXAFD8ACuIIHAABoQVDgAQAAWAgFHgAAgIVQ4AEAAFgIX7JrAPovCPl8vkAgeP36tfoBhUJhZWWl+nFEIhFFUeqH4nA4AoFAI3HEYnFlZaX6f7RK31JD/Tg4akrx+Xz6j7ZaFLoj83g8oVCoU6eEUCgkhGgqFCs7Mo6aUrV1ZNzopgHoey1xOByJRKJ436VGE4lEGokjFospilI/FF0q1I/D5XL19fVfv36tfiixWCyXyzXyUoWjBjR6X4nFYj6fX1lZqf5Fjg6eEkKhUCNxNNiRNbJp9FFja0du9FGjKEppgccQPQAAAAuhwAMAALAQCjwAAAAL4TN4aCrB8We1nQKQn8N7ajuFd0/a7VcNXKOh7Zs6DiGkRFNxBniYaygUNDdcwQMAALAQCjwAAAALocADAACwEAo8AAAAC6HAAwAAsBAKPAAAAAuhwAMAALAQCjwAAAALocADAACwUDMV+KysrHnz5ildJJfLg4ODa1tR9VIAAABQirW3qk1PT9+yZcvGjRurzU9KSjp8+HBVVZWXl9dnn30mFosJIX/++efevXtfv37dsWPH6dOnGxgYaCNlgHfey5cvTUxMNBIqLy8vMTExJyfH2dl59uzZSsNW6+Z79+49duyYVCrt0KEDOjJAcw/Ry2SyhISE0NDQCRMmJCUlEUJiYmKqqqrmzJlDCDl48ODEiRM//vjjr7/+uqioqNrS+nv27Nn69etr/s3zlStXjh07tnjx4sTERELI/v37CSF5eXmbN29etGjRtm3bRCLR7t27NbKlAC1Hdnb2kiVLvvvuu+XLl+fk5Hz99dfbt2+PiopatGjR+fPnV65c+cknnxw7dqz+ASmKWrJkSXBw8E8//WRvb79jx46abap184yMjOPHj69atWrr1q2EkH379mlk0wDeXc19BZ+Wlpabm7t58+aCgoKZM2cOGjQoKipq7Nixq1atKigo2LNnz9q1a01MTNasWZOSkhIcHMwsrf9TSKXS1atXf/zxxzV7+M2bNz09Pe3s7AghQ4cOjY+PDwkJ4fF4PB6vVatWAoFALBZzuW/f9MhksidPntDTBgYGPB6PEEI3oKfVxOFwNBVHI6E0GEfNCKApqo+mBo/U1atXP/nkk4EDBz59+jQjI2PatGmTJ0+ePXv28ePHFy1adPPmzfj4eH9//3pGu3btmrm5edeuXQkhU6ZMKS8vr9agZjc3NjaOjIw0NzeXy+U2NjaKjeVy+ePHj+lpfX19xY6s2N9BKS6Xq/5rApfLpShKI3GIjr38aiqUOi+/tXXk5i7wcrm8tLQ0Pz/f2dn54MGD9Bx6kbGx8caNG01MTMrLywUCQc0uTXv06FFcXJzinNjYWKFQyDzcsmVL3759XV1da67r6Oi4Y8eOgIAAfX39kydPvnjxghBibW0dFBQ0efJkiURiaGi4du1apn1BQUFAQAA9PXHixBkzZjCLNDUOqak4hBDFnaALcUAXqD7BpFKppp7I2Nh42LBh9LSdnR39NrpNmzZubm6EEAcHh4qKCsX2qjtyfn6+SCT6+uuvs7OzHR0da4631+zm9vb29vb2J0+eXLt2rbW1tWLwFy9eMB15/PjxkZGRzKJa9k9RA7eezfT09PT09DQVSiNxdPDlV1OhGvfyW1tHbu4C7+PjU1BQEB0dLZFIRo0apfiOnsfjHT169NKlSzwej8PhmJsr/49Ce3v7NWvW1BY/NTX11atXw4YNy8nJqbm0d+/e2dnZc+bMEQqF77//Pn223b59+/Tp08uWLbOysjp48OCGDRsiIiLo9qampuvXr6enbWxsiouLCSFCoVAikdDTatLT0ysrK9NIHIqiantLVH8cDkcikWgkjqGhoZpBQCNUn6h8Pp/P18yLgOILnEQioSfoM4oou8JQ3ZHLysru3bu3YMECBweHw4cPx8fHr1ixglmqopsPGDDA09Nz9+7dmzZtmjVrFj3T0NCQ6cjW1tYa78jsVl5eXlVVpWYQoVBIUZRG4uDlt6baOnJzF/ji4mI/P7+goKAbN27Ex8e7uro6OTnRi1JTU//+++/o6GgTE5Nff/21tLS0EfHPnTt35cqVkJAQmUxWXl4eEhKybt06IyMjemlVVdXo0aNDQkIIIZcuXcrOziaEpKen9+jRo0OHDoSQ4ODgsLAwpsALhcIePXowwQsLC8m/o0Pqn6mEELlcrpE4FEVpJBSHwxGJROrHwbCn7lB9NDV4pDT7uYypqWnHjh3btm1LCBk0aNDevXsVlyrt5unp6Xw+v1+/fiYmJv7+/rGxsUx7FR1ZKpXW/LIOKJLJZOq/JvB4PI0UeN18+dXIpqnz8qsrQ/QpKSkZGRnR0dEuLi4ikYiu4jKZjKKoly9fWlpampiYFBYWpqamtm/fnl6FXspswKNHj1avXq0Yc8WKFcywxty5c+mJnJycpUuXbtq0iX54584de3v7vLy8xYsXx8XF6evr//rrr0OHDiWEODk57dmzZ9CgQWZmZn/88Yezs3PT7waAlk51R/b09Ny1a9edO3ccHR2PHTvGvBrQHVlpNxcKhXv27OnevbtEIjl79iz95gCgJWvuAu/v73/jxo2JEyfy+XxfX18PDw8Oh9O5c+fp06cvW7bs/PnzU6ZMsbS0DAwM3L9/f1ZWlouLC7103bp1dAR7e/v4+PiGPu/cuXOXLVvm7u4eFBQUGRkpkUgGDx7s4+NDCHn//ffz8/MXLFhQUVHh5uam+PkcAGhKr169FB+q7sgmJiZTp06Ni4srKSlxc3ObOXMmPZ/pyDVX6dOnz927d8PDwzkcjru7e1hYmGbzB3jncDA8VX/0yJ5YLNbX16en1WRoaFhSUqJ+HCMjI7lc/urVKzXjcDgcfX199eNwuVxTU1O/b4+oGQfU93N4TxVLRSJRC/yxuGJHfv78ec3XwLTb6nYBNhngYV7tC5KNIBaLKYrSSBwdfPmlKEr9UOq8/AqFQqVfe8JnpQAAACyEAg8AAMBCKPAAAAAshAIPAADAQijwAAAALIQCDwAAwEIo8AAAACyEAg8AAMBCKPAAAAAs1Ny3qoWWY39EX43cuEoul1dWVqofRwdvgKVT9x8ERm+3ht3dj033RKsWx8zMDKfWuwtX8AAAACyEAg8AAMBCGKKHphIcf1bbKbCN6n+OAWgKbOrILa0H4QoeAACAhVDgAQAAWAgFHgAAgIVQ4AEAAFgIBR4AAICF6i7wRUVFSUlJcXFxhJCbN29KpdKmzwoAAADUUkeBv3v3rru7+7Rp02bPnk0ImT9/fseOHR88eNAcqQEAAEBj1VHgIyMjfX19Hz58yOfzCSFbtmxxcnKiiz0AAADorDpudHP27NmUlBQu9//fB5ibm0dFRQUGBjZ9YgAAANB4dVzBGxkZvXnzRnGOVCrV19dX/4lzcnIwEgDwrkNHBtBZdRT4oUOHRkdHFxUV0Q+vX78eERExYsSI2tqnp6eHhIRoMsGGO3HixNSpU0NCQhYtWvT06dNqS/fu3Ttp0qSQkJCYmBjFf0mSyWRTp04tLy9v3mQBdJHud2SirM/++eefn3766fjx46v1boCWqY4Cv2LFCkKIpaWlVCo1NTXt1KlT27ZtV65cWVt7kUhE/9dhdnb2okWLfvnll+++++7zzz/PysqiG+zfv3/SpElhYWGpqan0nCeQJUIAACAASURBVOvXry9cuJCePnfu3Jo1awghMpksISEhNDR0woQJSUlJ9d+e/Pz8DRs2LF68eNu2bW3atElISFBcmpGRcfz48VWrVm3dupUQsm/fPnp+cnJyVFTUkydP6v9EACym4x2ZKOuzeXl5mzdvXrRo0bZt20Qi0e7duxu79QAsUfcQ/alTp1JTU7dv375169Y7d+4cOHCgVatWtbXX19d3c3Ojp69du+bl5bVgwQJfX9+DBw8SQq5cuZKcnLxixYo1a9ZcuXJFxfOmpaXl5uZu3rx56dKl27Ztq/YxgQpPnjz54IMPbGxshELh4MGDc3NzFZcaGxtHRkaam5sLBAIbGxvmuwV2dnajR4/m8Xj1fBYAdtPxjkyU9Vkej8fj8Vq1aiUQCMRiMdO7AVosVV+yu3///qxZsxITE3v27NmzZ4P/hMfS0pJ+jWjbtm1mZiYh5OLFi0OHDrW0tCSEBAUF7d+/v7Z15XJ5aWlpfn6+s7Mz/ZrCePToEf2jfEZsbKxQKKSnvby8vLy8CCFSqXTPnj29e/dWbGlvb29vb3/y5Mm1a9daW1szcTp16kQIqVngnzx5Mnz4cHp64sSJM2bMYBaZm5vXe0+ooqk4hBCRSKRTcUDjVJwtjTtq9bmthQ52ZKKsz1pbWwcFBU2ePFkikRgaGq5du5ZZVFhYOGTIEHp6/PjxkZGRzCIzM7M690B9aLAjayoUOnJN1fYta45abR1ZVYFv3br1hQsXTp48OXny5EY8Zc3v4hUVFXXo0IGepl8dqqEoip7w8fEpKCiIjo6WSCSjRo3y9/dn2tjb29OjfyqcO3du586d3t7eoaGhNZcOGDDA09Nz9+7dmzZtmjVrloo4hoaG8+fPp6ddXV1LS0sJIQKBQCQS0dNqEovF9b+mUUEikVAUpX4oDocjEok0EkdPT0/NIFCT0rNOnaPG4/HoX8CqoLMduZrbt2+fPn162bJlVlZWBw8e3LBhQ0REBLMJTEd2cXFBR65/HJZ1ZMXDzaajxuVylXZkVX1bKBRu27Ztzpw5L1688PDwUByZr/mGWmm61eaYmJgUFhbS08+fP2fmMy8HzLf5iouL/fz8goKCbty4ER8f7+rq+t5779X5jHSoxMTEx48fL1y40NbWttrSEydO8Pn8fv36mZiY+Pv7x8bGqo7WqlWroKAg5iGTvEY6DyFEKBRqJI5IJJLL5Ro5w/h8vvpxuFwuy14XdITSQ6POUavP5YIOdmSl0tPTe/ToQb/zCA4ODgsLYwq8WCyurSNXVFQwaTeaBjuypkqFRjoy+wq84j5h01Fjhr6qqePNO90r5s2bV21+VVVVI5Lw9vZOTEzs27evnp7eoUOH6JkSiSQrK6ukpEQoFJ44caJ169aEkJSUlIyMjOjoaBcXl2rvsh89erR69WrFsCtWrGA279KlSw8ePFi+fDmXy5XL5YQQ+qO4O3fu2NvbC4XCPXv2dO/eXSKRnD17tm3bto3YCoAWTusdWSKR1MzKyclpz549gwYNMjMz++OPP5ydnZtm6wHeGXUU+MYV8urPwed3796dENK5c2c/P785c+aIRKKgoKCrV68SQpydnXv16hUeHm5vbz9s2LC8vDxCiL+//40bNyZOnMjn8319fT08PJho9vb28fHxtT3XzZs37969y7xbNzQ03LVrFyFk7ty5y5Yt69Onz927d8PDwzkcjru7e1hYmPpbB9BC6E5Hdnd3r7nK+++/n5+fv2DBgoqKCjc3N8UP2gFaJo7q4ani4uKaM3k8nkbudfPOoUf2xGKxvr4+M8qnDkNDQ/rHSGoyMjKSy+Xq//CXw+Ho6+urH4fL5Zqamvp9e0TNOFDNz+FKvuuqzlETiUQGBgZq5/WOUezIz58/V3+IXoMdmaIo9UNpqiNzOBwzMzM2dWTFHsSmoyYUCg0NDWvOr+MK3tjYuOZMb2/v8+fPNyIJAAAAaB51FPhbt24x069fv05PT1+3bh19lxgAAADQWXUUeOZmF7QuXbq0adNmxowZJ06caMqsAAAAQC0NvtmTnZ3dpUuXmiIVAAAA0JQ6ruBv3Lih+PDly5cxMTH0D2AAAABAZ9VR4Dt27FhtjqWl5c6dO5ssHwAAANCAOgp8zfs4suzGRgAAAKxUx2fwwcHBev+rqKgoODi4eZIDAACAxqn1Cp6+i2RycnK120neu3fv9OnTTZ0WAAAAqKPWAs/cYpqZoHG53JUrVzZtUsAK+yP6VlRUqBlELBbL5fLKykr147D1/oMATUpTHZmiKI3E0VRHbglqLfCpqamEkO7du9MTAAAA8A6p4zP4mj95v3bt2ogRI5osHwAAANCAOr5Ff/Xq1alTp96/f5+Z8+rVK39//ybOCppP2u1qQ8QaGHwmhBBSPMDDXEOhAEBrguPPajuFBlD6h0wtVh1X8DNnzhSLxfHx8Vwud8WKFTExMebm5qtWrWqe5AAAAKBx6riC//vvv5OSkvr375+SkmJubj5ixAiKoubNm7dv377myQ8AAAAaoY4reC6XK5fLCSFeXl70t+0GDBiAn8kBAADouDoKfM+ePb/77rv79+937tz54MGDFRUV58+f5/F4zZMcAAAANE4dBX7t2rXFxcX79+/v1auXhYWFmZlZaGhoWFhY8yQHAAAAjVP3/8FfvnyZoigOh5OSknLq1CkDA4O+ffs2T3IAAADQOHUUeEJIUVFRampqVlZWZGSkk5OTq6trM6QFAAAA6qhjiP7u3bvu7u7Tpk2bPXs2IWT+/PkdO3Z88OBBc6QGAAAAjVVHgY+MjPT19X348CGfzyeEbNmyxcnJiS72AAAAoLPqKPBnz56NiIjgcv+/mbm5eVRUFH4mB9AyZWVlzZs3T+kiuVyu4o+kVS8FgKZQx2fwRkZGb968UZwjlUr19fU1nsfLly9NTEw0EiovLy8xMTEnJ8fZ2Xn27NnVwn7xxRd3796lp4cNG/bZZ58RQv7888+9e/e+fv26Y8eO06dPNzAw0EgmANBoSrsq48SJE3v37i0vL3dxcQkPD7eysqLny2Sy8PDw+Pj4Vq1aNXfGADqmjgI/dOjQ6OjogwcP0g+vX78eERGhwT+byc7O3rlzJ5fLLS0tnTZt2qZNm1xcXO7cuSMSifz8/P7666/MzMwxY8bU/+73FEUtWbJk6tSpXbp02bp1644dOyIiIhQbPHny5OeffxaLxYQQemQiLy9v8+bNa9assbCwWLdu3e7du6u9lABANTKZbN26dZcuXeJwOGPGjBkxYkRMTExVVdWcOXNWrVp18ODBQ4cOVVVVOTk5ffnll8bGxopL6/kUNbsqIz8/f8OGDWvXrjUzM9u1a1dCQsLSpUsJIcnJySdPnnzy5InGtxfgXVTHEP2KFSsIIZaWllKp1NTUtFOnTm3bttXs/8FfvXrV09Nz8eLFhJCMjIzBgwfHxMSUlJQcP378yy+/nDNnDvP2oj6uXbtmbm7etWtXHo83ZcqUKVOmKC4tKyvjcrkGBgYCgUAgENB37OHxeDwer1WrVgKBQCwWV3spAYCa0tLScnNzN2/evHTp0m3btr158yYqKkogEKxataqgoGDPnj0rV67csWOHoaFhSkoKIYRZWs/4Srsq48mTJx988IGNjY1QKBw8eHBubi49387ObvTo0bgTFwCt7iH6U6dOXbx4MTMz08jIqGPHjm3bttVsBsbGxsOGDaOn7ezs7OzsCCFt2rRxc3MjhDg4OFRUVCi2f/ToUVxcnOKc2NhYoVBIT+fn54tEoq+//jo7O9vR0bHaePvjx48JIbNmzXr27Jmrq2t4eLi1tbW1tXVQUNDkyZMlEomhoeHatWuZ9gUFBZ9++ik9PXr06PHjxxNCOBwOIUQjHyhwuVxNxSGNT+lV3U0aRU9PT/1hUnpvUxSlkTgsOmrVQzUuDn0j6satWFpamp+f7+zsTL8FZ0IZGxtv3LjRxMSkvLxcIBCUl5crjaC6IyvtqkxLLy8vLy8vQohUKt2zZ0/v3r3p+Z06dSKE1CzwL168mDx5Mj0dEBAwceJE8u8pYWxs3Lg9oIhNp8S7rv5bzaajJpPJlM5XXuCXLl06adIkutYSQnr27NmzZ1P9B5/i9kgkEnqCw+HQ03QnVGRvb79mzZraopWVld27d2/BggUODg6HDx+Oj4+nByFoAoFgyJAhAQEBXC73wIEDcXFxy5cvv3379unTp5ctW2ZlZXXw4MENGzYwo/pisXjgwIH0tIuLS2VlJSGEz+dzuVx6Wk1CoVAjcUQiEUVRGgmlQVKptLbTrv54PB5FUY2uQwx2H7VGp8ThcAQCQSNW9PHxKSgoiI6Olkgko0aNUvwQjcfjHT169NKlSzwej8PhmJsr/9dg1R1ZaVet1ubcuXM7d+709vYODQ1Vna1iR3Z1dW0JHVkjKXE4nHduOKT+W83Wo6ZIeYFfsGDBwIED6QJ/69atyZMnnz9/XoPPqqhmCVeHqakpM8wwaNCgvXv3Ki61sbEZO3Ys/Yo2fPjw3377jRCSnp7eo0ePDh06EEKCg4PDwsKYAm9gYDBjxgxm9cLCQkKIWCwWCARlZWXqZ8vj8TQSh8/ny+VyjYTSoIqKimqjL40gFovlcrn6Jz2LjxqHw+FyuY2LIxKJ6A+5G6q4uNjPzy8oKOjGjRvx8fGurq5OTk70otTU1L///js6OtrExOTXX38tLS1tRHylXZVBUVRiYuLjx48XLlxoa2tbZ7RWrVrV1pHLy8vVHx/S4ClBUZR2T4lqcRp3emhR/beaTUdNKBQyl8f/k1uda5aVlV24cKERT9lEHj16tHr1asU5K1asYEb2PD09d+3adefOHUdHx2PHjrVv356ef+fOHXt7+wsXLhw+fHjJkiVCofDPP//s2LEjIcTJyWnPnj2DBg0yMzP7448/nJ2dm3mLAN45KSkpGRkZ0dHRLi4uIpGIruIymYyiqJcvX1paWpqYmBQWFqampjJ9kF7KvKFX3ZHT0tJqdlXyb0fOyMh48ODB8uXLmb+7xFdnAGqqu8BrXa9evRQf2tvbx8fH19bYxMRk6tSpcXFxJSUlbm5uM2fOpOfPnTt32bJl/fv3f/To0eeff04I6dixI730/fffz8/PX7BgQUVFhZubW2RkZFNuDQAb+Pv737hxY+LEiXw+39fX18PDg8PhdO7cefr06cuWLTt//vyUKVMsLS0DAwP379+flZXl4uJCL123bh0dQXVHVtpVyb8d+ebNm3fv3g0KCqJnGhoa7tq1q4m3GODdw1E6PMXhcC5cuEB/7n758uVu3bqpP4rFAszInr6+Pj2tJkNDw5KSEvXjGBkZyeXyV68a83W5tNtN9SW7AR7mOjVEz6ajpojD4ejr6zcujkgkaoF3fVDsyM+fP1f/xU2DpwRFUeqHUueUqBbHzMzM79sjasZpTj+H1/frYmw6akKh0NDQsOZ8jGsBAACwUK1D9FFRUWZmZoSQFy9eEELGjBmjuHTfvn1NnRkAAAA0mvICHxgYSAiRSqWEEENDw8DAQHoaAAAA3gnKC3yDbh4HAAAAugafwQMAALAQCjwAAAALocADAACwEAo8AAAAC6HAAwAAsNA7cKtaaFK93d7eyExTN8DicrmmpqbqxwEArdsf0Vcjt6SkKEojcTR1S8qWAFfwAAAALIQCDwAAwEIYooemEhx/tv5//AAAuik4/qyaEfA6oC24ggcAAGAhFHgAAAAWQoEHAABgIRR4AAAAFkKBBwAAYCEUeAAAABZCgQcAAGAhFHgAAAAWQoEHAABgIZ0o8Dk5ObNnz9Z2FgCgFnRkAJ2iEwWekZ6eHhISoqlQYWFhNef/888/n3/++cSJEzds2CCTyeiZSUlJn3766cSJE7///vs3b95oJAGAFksjHTkvLy8qKmr8+PELFy58+fJltaVKO7LqVQBaGm0W+P3790+aNCksLCw1NZWeIxKJSkpKCCEymSwhISE0NHTChAlJSUkNjfzs2bP169dTFFVt/uvXr1euXBkREbF58+anT58eOXKEEHLlypVjx44tXrw4MTGRzkrdDQNoSZqiI1MUtWTJkuDg4J9++sne3n7Hjh2KS5V2ZNWrALRAWivwV65cSU5OXrFixZo1a65cuULP1NfXd3NzI4SkpaXl5uZu3rx56dKl27Zta9BVtVQqXb169ccff1xz0eXLl11dXdu2bSsUCgMCAtLS0gghN2/e9PT0tLOzMzAwGDp06Pnz5zWxfQAtQhN15GvXrpmbm3ft2pXH402ZMmXKlCmKS5V2ZNWrALRAWvs3uYsXLw4dOtTS0pIQEhQUVO26WS6Xl5aW5ufnOzs7Hzx4UHHRo0eP4uLiFOfExsYKhULm4ZYtW/r27evq6lrzSQsLC62srOhpKyurwsJCQoijo+OOHTsCAgL09fVPnjz54sULpv3z588jIiLo6eHDh48ePZoQwuVyCSHGxsaN3/h/8Xg8TcUhOpYSTf1QXC6XoqhWrVqpH0cj+RB2HTW5XK7mUzdRR87PzxeJRF9//XV2drajo+P06dMNDAyYlko7sopVioqKZsyYQU/7+/uPHTuW/HtKGBkZqbkHCLtOiaZgbGxMd2SJRKJmKHRkpWrryFor8EVFRR06dKCn6VcHRT4+PgUFBdHR0RKJZNSoUf7+/swie3v7NWvW1BY2NTX11atXw4YNy8nJUdqAw+HQExRF0WP4vXv3zs7OnjNnjlAofP/99/X09JjGPB7Pzs6OnjY0NGQ+6uNyucy0OjQYhxCifigOh6ORlJidrJGtoyhK/TpEcNSaRhN15LKysnv37i1YsMDBweHw4cPx8fErVqxQbFCzI6tYhcvlMh3ZyMgIHbn++HwN1AgmE13b26w5ajU/j6ZprcCbmJjQ77sJIc+fP6+2tLi42M/PLygo6MaNG/Hx8a6uru+99159wp47d+7KlSshISEymay8vDwkJGTdunXMm3QzM7OMjAx6urCw0NzcnBBSVVU1evRo+jtBly5dys7OZqIZGxvHxsYyD+mExWKxvr7+q1evGrfhigwNDTUSx8jISC6Xqx+Kw+FoZNO4XK6pqSkhRP1QYrFYLpdXVlaqHwdHrSaRSCQSidR59ibqyKamph07dmzbti0hZNCgQXv37lVcqrQjq1jF0NCwto5cWlpa24tj/WnwlKAoSnc6MofDUfP0oL169UosFlMUVVFRoWYo3ezIWj9qQqFQLBbXnK+1Au/t7Z2YmNi3b189Pb1Dhw5VW5qSkpKRkREdHe3i4iISiUpLS5lFjx49Wr16tWLjFStWMCN7c+fOpSdycnKWLl26adMm+uGdO3fs7e27du36ww8/5OXl2draJicn9+7dmxDy8OHDxYsXx8XF6evr//rrr0OHDm2iTQZgnybqyJ6enrt27bpz546jo+OxY8fat29Pz1fRkWtbBaDF0lqB79y5s5+f35w5c0QiUVBQ0NWrVxWX+vv737hxY+LEiXw+39fX18PDg1lkb28fHx/f0KebO3fusmXL3N3dIyMjY2Njq6qqPDw8hg8fTghxcXEJCgqKjIyUSCSDBw/28fFRf+sAWogm6sgmJiZTp06Ni4srKSlxc3ObOXMmPV9FR65tFYAWi6P+8FTLoTiyxwxLqsPQ0JD+NZGadGGwVxE9RO/37ZGfw3uqGUqzQ/Q4atWIRCLFL6+1EIod+fnz5xoZotfUKUFRlPqhNDhEb2Zm5vftETXj/BzeU7ND9LrWkbV+1IRCoaGhYc35unWjGwAAANAIFHgAAAAWQoEHAABgIRR4AAAAFkKBBwAAYCEUeAAAABZCgQcAAGAhFHgAAAAWQoEHAABgIa3dqhZYb39EX/VvXAUA2oWO/O7CFTwAAAALocADAACwEAo8AAAAC6HAAwAAsBEFDZSSkhISEiKTybSdyFtLly79/vvvtZ3FW8XFxSEhIRcuXNB2Im/9+eefISEhcrlc24m89d133yUkJGg7i5br1KlTISEhlZWV2k7kreXLl69evVrbWbxVVlYWEhKSlpam7UTeOnnyZEhISFVVlbYTeSsmJiYuLk7bWSiHb9E32IsXLzIzM7Wdxf94+PChsbGxtrN4SyqVZmZmauS/ljVFN4+aqamptrNouV6+fJmZmUmp/WfwGpSTkyMUCrWdxVsymSwzM7OoqEjbibylm0etVatW2s5COQzRAwAAsBCu4BtMT0/Pzs5O21n8D3NzcyMjI21n8RaPx7Ozs9Opd7X6+vo6eNR0atylpaE7MofD0XYib5mZmenUFTyXy7Wzs9PT09N2Im/RHVmnjpq5ublYLNZ2FspxdGqsAwAAADQCQ/QAAAAshAIPAADAQijwAAAALIQv2TVeenr6li1bNm7cqO1EyIkTJ/bu3VteXu7i4hIeHm5lZaXFZP7555/NmzeXlpZ6e3tPnTqVx+NpMRmaTu0fhu6cPy2c7hwInTpR0ZHrSXfOn5pwBd9Iz549W79+vS58RTE/P3/Dhg2LFy/etm1bmzZtEhIStJjM69evV65cGRERsXnz5qdPnx45ckSLydB0av8wdOf8aeF050Do1ImKjlxPunP+KIUC3xhSqXT16tUff/yxthMhhJAnT5588MEHNjY2QqFw8ODBubm5Wkzm8uXLrq6ubdu2FQqFAQEBaWlpWkyGplP7h6ZT509LplMHQqdOVHTk+tCp80cpDNE3xpYtW/r27evq6qrtRAghxMvLy8vLixAilUr37NnTu3dvLSZTWFjIjJtZWVkVFhZqMRmaTu0fmk6dPy2ZTh0InTpR0ZHrQ6fOH6VQ4Ovl+PHjhw8fJoT85z//KS0tffXq1bBhw3JycnQhH09PT0LIuXPndu7c6e3tHRoaqq2saMw9KOibIWs3GYbu7J/U1FStnz8tFjpy/aEjq/ZOdGTc6KbBli9ffuXKFT6fL5PJysvLDQwM1q1bp8UbyVEUlZiY+Pjx4+nTp9va2morDVpqaurp06cXLlxICLl69erPP/+8YsUK7aakU/uH6N7502Lp2oHQqRMVHblOunb+KNe8/23DKg8fPpw6daq2s6AuXrw4e/bsqqoq2b+0mAz991O5ublyuTw2NvbQoUNaTIamU/tHkY6cP6AjB0KnTlR05PrTkfNHKQzRv/Nu3rx59+7doKAg+qGhoeGuXbu0lUyrVq0iIyNjY2Orqqo8PDyGDx+urUwYOrV/AGqjUycqOjI7YIgeAACAhfAzOQAAABZCgQcAAGAhFHgAAAAWQoEHAABgIRR4AAAAFkKBB3hXjRo1ilPD0qVLtZ1Xc7t48SJz2zUAYKDAA7zDfH19L/yvSZMmNSKOj4/P6tWrNZ2dZtSW28OHDzkczqZNm9SJqU4QAB2HG90AvMPMzMx69uzZnM9YWVmZl5fn5OTUnE+qNAcTE5N58+Z16dJFnVBGRkbqBwHQTbiCB2Ch4uLisLAwBwcHIyOjkSNHZmVl0fNv3749ZMgQExMTQ0PD/v37X7t2jRDSvXv3v/76a86cOf7+/mVlZRwO58aNG0x7DodTXFxMCBEIBL///rudnd3MmTNVPIWiZ8+ejRs3zsLCwsbGZtasWZWVlYSQgoKC8ePHW1tb29rahoSEFBQU0I0FAsGFCxfGjh3r7Ozs4uKyf//+arlVy8HY2HjVqlVSqZRe/ezZs926dTMyMurXr9+VK1cIIbVti2JMxSANSgzgHaDte+UCQCMFBgYOGDAgXUFmZia9qH///v369Tt9+vTFixc//PBDGxubly9fUhTVtWvX/v37p6SknDx5sm/fvj169KDb9+nTZ9WqVRRFlZaWEkKuX79Oz7916xYhpKioiKIoPp/v6uq6devW7OxsFU/BkMlkHh4e/v7+586d++mnnywsLBYsWCCXy7t3796zZ89Tp06dPn26Z8+e3bp1k8vldPx+/frdu3dPKpV+8803YrH49evXirnVzIHP5//1118XLlwghLi6uh4+fPjMmTNDhw41NDQsLCxUsS3VYv7111+NSAxAx6HAA7yrAgMDq71f9/b2pijqwoULAoHgxYsXdDOpVNq6devffvtNLpcvX7783r179Pxdu3aZm5vT0/Us8CtXrqTn1/YUiun9/vvv+vr6TNXfuHHjhAkTTp06xefzc3Jy6JkPHz7k8Xhnzpyh469bt46eT/8FZ1ZWFlWjGDM5UP9b4Jk/RCkvL7e0tFy1alWDCnwjEgPQcRiiB3iHBQcHK/bn8+fPE0IyMzOrqqosLS0FAoFAIBCLxbm5uVlZWRwOJzIyMi8vLzExcfLkybNnz27o03Xu3JmeqO0pFBtfv369Q4cOxsbG9MPPPvtsx44dmZmZjo6O9vb29Mw2bdo4ODhkZmbSD93d3emJVq1a1ZlDNf369aMnJBJJnz59mJj1pH5iALoGX7IDYBsjIyNTU9Pnz59Xm19eXj5w4MCCgoLAwMBRo0b5+PjMnTtXdajXr18rPmTKW21PoaiqqorPr/4KI5fLq/2kjcvlMp+jC4VC1fmQ2kusYliKokQiUbUG1bZF44kB6BpcwQOwTYcOHV68eHH9+nX6YWFhYWBg4M2bN0+dOnXt2rXr16+vXLly5MiRcrm8tggvX76kJy5fvtygp1Bs4+7ufv36dXqcnBDyyy+/DB48uF27dtnZ2Xl5efTM3NzcBw8etG/fXo3N/X+nTp2iJ16/fn3u3LlOnTrVc1toTZcYgLagwAOwjaura1BQ0Pjx40+dOpWamhoaGpqZmenq6mpgYFBWVnbgwIH79+9v2bJl8eLFr169or9Iz+Vy7927V1RUpKenZ2FhERsbe+PGjRMnTiQmJjboKRTbjBw50sLCIiQkJD09/dChQ/Pnz2/fvv2AAQM8PDzGjRt37ty5tLS0cePGde7cuX///io2h8lNRRuRSBQZGXn48OHz58+PHTuWy+WGhoaq2JaaMRuRGICu09Jn/wCgrsDAwGqfwTPKysrCw8Nbt25tZGQUEBBw//59en50JP5TuQAABhpJREFUdLSVlZWZmVlwcHBWVlZgYODw4cMpitq6dauZmVlQUBBFUcnJyW5ubgYGBr6+vjdu3PD29n716hX175fR6nwKRTk5OQEBASYmJvTP5Ogvnz99+vTDDz+0srKysrL6+OOPnz17RjdWjF9YWCiRSOiYirlVy4F+eP369REjRvz+++9dunQxMjIaPHgw8yW42rZFacyGJgag4zgURWn7PQYAAABoGIboAQAAWAgFHgAAgIVQ4AEAAFgIBR4AAICFUOABAABYCAUeAACAhVDgAQAAWAgFHgAAgIVQ4AEAAFgIBR4AAICFUOABAABYCAUeAACAhVDgAQAAWAgFHgAAgIVQ4AEAAFgIBR4AAICFUOABAABYCAUeAACAhVDgAQAAWAgFHgAAgIVQ4AEAAFgIBR4AAICFUOABAABYCAUeAACAhVDgAQAAWAgFHgAAgIX42k4AoIXy+/aIOqv/9tVAkUikqWS0TiqVHrn4SJ0Iw73b8Hg8TeUDwAK4ggd4J1EUpe0UNIllmwOgC1DgAQAAWAgFHgAAgIVQ4AEAAFgIBR4AAICFUOABWKhTp05nzpzRdha6QiKRiMViiURiZGQ0cODAmzdvajsjgOaAAg8A/+/JkyfaTqGp3L59+/Xr17m5uYGBgT4+Ps+fP29oBBbvHGArFHgA1rp69eqQIUMWL148cuTIDh06pKen0/N//PHHtm3bWlpaRkZG0s2GDRs2cuTIMWPGEEKOHz/eqVMnR0fHTz75pKioiF5l1apVNjY2pqamvr6+T58+JYRIpdJPPvnE0tLS2to6ISGBblZzXaXNtMXAwGD69Ol+fn7r169Xmi1pwTsH2AcFHoDNTp065efn99tvv4WGhq5evZoQkpGRER0dffr06YyMjOTk5CNHjhBCTpw4MXjw4OPHjz99+vSjjz7avXt3VlYWn8+fPXs2ISQnJ2fJkiUXLlx4/PixhYXF9u3bCSH79u27detWdnb2yZMn58yZU1ZWpnTdms20uj8IIWTQoEFXrlxRmi12DrAJ7mQHwGYODg7e3t6EkG7duqWlpRFC9u/fP2HCBDs7O0LIjz/+KBaLCSFWVlbTp08nhOzevdvX17dTp06EkOjoaF9fX3rpnTt3rK2ti4uLRSJRcXExIUQmk718+fLu3btdunSprKwkhPzyyy81163ZTOssLS0fP36clJRUM1vsHGATFHgANjM1NaUnOBwOPZGXl9ejRw96umfPnoSQq1evWltbM0vPnTvn6empuDqfz1+/fn1SUpJAIOByua1btyaEjBs3LicnZ/DgwQYGBl9++WVYWJjSdWs2a54NV6GgoMDGxkZpttg5wCYo8ABsxtR1hqWlJf05MSEkPT29srJST0+Py+UyS4OCgtatW0cIqayszMvLI4Ts3bs3OTn56NGjNjY2K1eufPHiBSGkoKBg6tSpX3311dmzZydOnNijRw+l69Zs5uXl1Vxbr1xKSkqXLl0sLCxqZoudA2yCz+ABWpaRI0f++OOPT58+LS4uDgsLy8nJUVzq7+9/8ODBrKwsqVQaFRUVHR1NCHn8+LGDg4ONjc2jR4/27NlTXl5OCNm+fftHH30kl8u7deump6f38uVLpevWbKaVraaVl5dv2rTp2LFj06ZNU5ptS945wD4o8AAtglAoHD58OCHE29s7MjLS29u7Xbt2ffr0GTdunGIzR0fHhISE4cOH29nZ3b17Ny4ujhAyYcIEuoyFhIR88cUXJ0+evHz5cnh4OJfLtbGxcXNzGzly5IABA5SuW7OZVja/ffv2BgYGNjY2e/fuPXPmjLm5udJsW+bOAbbi4E+cALRCzb+LPfzlB/RXwNihqqrq6H9z1YmAv4sFqAZX8AAAACyEAg8AAMBCKPAAAAAshAIPAADAQijwAAAALIRv0QNox+vXr9VZnc/nCwQCTSWjdTKZTM17tYpEIuaONABAUOABAABYCW94AQAAWAgFHgAAgIVQ4AEAAFgIBR4AAICFUOABAABYCAUeAACAhVDgAQAAWAgFHgAAgIVQ4AEAAFgIBR4AAICFUOABAABYCAUeAACAhVDgAQAAWAgFHgAAgIX+DzhT/c4UJNevAAAAAElFTkSuQmCC)
As a second example using "ctree"
for the first 3 features and "empirical"
for the last:
# Use the combined approach
explanation_combined <- explain(
x_test,
approach = c("ctree", "ctree", "ctree", "empirical"),
explainer = explainer,
prediction_zero = p
)
Using ctree when features are mixed numerical and categorical
x_var <- c("lstat", "rm", "dis", "indus")
y_var <- "medv"
# Convert two features as factors
dt <- Boston[, c(x_var, y_var)]
dt$rm <- as.factor(round(dt$rm/3))
dt$dis <- as.factor(round(dt$dis/4))
xy_train_cat <- dt[-1:-6, ]
y_train_cat <- dt[-1:-6, y_var]
x_train_cat <- dt[-1:-6, x_var]
x_test_cat <- dt[1:6, x_var]
# Fit a basic linear regression model to the training data
model <- lm(medv ~ lstat + rm + dis + indus, data = xy_train_cat)
# Prepare the data for explanation
explainer <- shapr(x_train_cat, model)
# Specifying the phi_0, i.e. the expected prediction without any features
p <- mean(y_train_cat)
# Computing the actual Shapley values with kernelSHAP accounting for feature dependence using
explanation_categorical <- explain(
x_test_cat,
approach = "ctree",
explainer = explainer,
prediction_zero = p
)
# Note that nothing has to be specified to tell "ctree" that two of the features are
# cateogrical and two are numerical
# Plot the resulting explanations for observations 1 and 6, excluding
# the no-covariate effect
plot(explanation_categorical, plot_phi0 = FALSE, index_x_test = c(1, 6))
![](data:image/png;base64,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)
Explain custom models
shapr
currently natively supports explanation of predictions from models fitted with the following functions:
stats::lm
stats::glm
ranger::ranger
mgcv::gam
xgboost::xgboost
/xgboost::xgb.train
Any continuous response regression model or binary classification model of these model classes, can be explained with the package directly as exemplified above. Moreover, essentially any feature dependent prediction model can be explained by the package by specifying two (or one) simple additional functions to the class your model belongs to.
Note: The below procedure for specifying custom models was changed in shapr v0.2.0 The first class function is predict_model
, taking the model and data (as a matrix
or data.frame/data.table
) as input and outputting the corresponding prediction as a numeric vector. The second (optional, but highly recommended) class function is get_model_specs
, taking the model as input and outputting a list with the following elements: labels (vector with the feature names to compute Shapley values for), classes (a named vector with the labels as names and the class type as elements), factor_levels (a named list with the labels as names and vectors with the factor levels as elements (NULL if the feature is not a factor)). The get_model_specs
function is used to check that the format of the data passed to shapr
and explain
have the correct format in terms of the necessary feature columns being available and having the correct class/attributes. It is highly recommended to do such checks in order to ensure correct usage of shapr
and explain
. If, for some reason, such checking is not desirable, one does not have to provide the get_model_specs
function class. This will, however, throw a warning that all feature consistency checking against the model is disabled.
Once the above class functions are created, one can explain predictions from this model class as before. These functions can be made general enough to handle all supported model types of that class, or they can be made minimal, possibly only allowing explanation of the specific version of the model class at hand. Below we give examples of both full support versions of these functions and a minimal version which skips the get_model_specs
function. We do this for the gbm
model class from the gbm
package, fitted to the same Boston data set as used above.
library(gbm)
#> Loaded gbm 2.1.5
xy_train <- data.frame(x_train,medv = y_train)
form <- as.formula(paste0(y_var,"~",paste0(x_var,collapse="+")))
# Fitting a gbm model
set.seed(825)
model <- gbm::gbm(
form,
data = xy_train,
distribution = "gaussian"
)
#### Full feature versions of the three required model functions ####
predict_model.gbm <- function(x, newdata) {
if (!requireNamespace('gbm', quietly = TRUE)) {
stop('The gbm package is required for predicting train models')
}
model_type <- ifelse(
x$distribution$name %in% c("bernoulli","adaboost"),
"classification",
"regression"
)
if (model_type == "classification") {
predict(x, as.data.frame(newdata), type = "response",n.trees = x$n.trees)
} else {
predict(x, as.data.frame(newdata),n.trees = x$n.trees)
}
}
get_model_specs.gbm <- function(x){
feature_list = list()
feature_list$labels <- labels(x$Terms)
m <- length(feature_list$labels)
feature_list$classes <- attr(x$Terms,"dataClasses")[-1]
feature_list$factor_levels <- setNames(vector("list", m), feature_list$labels)
feature_list$factor_levels[feature_list$classes=="factor"] <- NA # the model object doesn't contain factor levels info
return(feature_list)
}
# Prepare the data for explanation
set.seed(123)
explainer <- shapr(xy_train, model)
#> The columns(s) medv is not used by the model and thus removed from the data.
p0 <- mean(xy_train[,y_var])
explanation <- explain(x_test, explainer, approach = "empirical", prediction_zero = p0)
# Plot results
plot(explanation)
![](data:image/png;base64,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)
#### Minimal version of the three required model functions ####
# Note: Working only for this exact version of the model class
# Avoiding to define get_model_specs skips all feature
# consistency checking between your data and model
# Removing the previously defined functions to simulate a fresh start
rm(predict_model.gbm)
rm(get_model_specs.gbm)
predict_model.gbm <- function(x, newdata) {
predict(x, as.data.frame(newdata),n.trees = x$n.trees)
}
# Prepare the data for explanation
set.seed(123)
explainer <- shapr(x_train, model)
#> get_model_specs is not available for your custom model. All feature consistency checking between model and data is disabled.
#> See the 'Advanced usage' section of the vignette:
#> vignette('understanding_shapr', package = 'shapr')
#> for more information.
#> The specified model provides feature labels that are NA. The labels of data are taken as the truth.
p0 <- mean(xy_train[,y_var])
explanation <- explain(x_test, explainer, approach = "empirical", prediction_zero = p0)
# Plot results
plot(explanation)
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAAEgCAIAAADkBlbXAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAgAElEQVR4nOydeUATx9vHJ3cCCSTcgggoKoKCQkFQ8Wq9K4IiatWq1VpAUUE88NaqIKIgNyJaBdFWPFGLFetBPaEqHgU1iMohch/hMtf7x7zdXxpICFlu5/PXZnZm8mSz353dmWefhyAWiwECgUAgEIieBbGzDUAgEAgEAtH2oAEegUAgEIgeCBrgEQgEAoHogaABHoFAIBCIHgga4BEIBAKB6IGgAR6BQCAQiB4IGuARPQQej7d9+3Zra2sWi2VgYDBu3LgzZ85IvgXq4ODg4uLSHl89bNiwefPmtUfPStCljFEcR0fH6dOnt6rJ1q1bWSxWO9nT3nTM39StDxECP2iAR/QE6urq7O3tAwIChg0bFhAQsHLlSqFQ6ObmtmbNms42DdFqWCyWiYlJx7T6okCH6EuD3NkGIBBtQHBw8MuXL1NSUiZNmgRL/Pz8Vq5cGRoaumzZsiFDhnSueV8OlZWVJSUl/fv3x9PJgAEDOBxOx7T6okCH6EsDPcEjegL379/X1tbGRneIh4cHmUzOyMiQLLx79+6YMWPU1NT69et36NAhyV1hYWGDBw9WVVXV0tL65ptv7t27B8tra2sJBMLly5cPHjw4bNgwDQ2NCRMm/P3337KMefLkydSpU3V0dLS1tWfPnv369WtYvmPHDjKZXF5ejtVMTEwkEAh3796V6mH27NksFquxsREruX79OoFAiI+Pl2+qFP379/fw8JAsoVAo+/bta9FUKVo8Ag4ODt7e3lFRUXp6ert27VKk8/DwcGtra3V19TFjxty8eVNyF5VKlZxYTk5Ohn9Z3759/fz86urqAACOjo67d+/m8XgEAuHAgQNNW127dm3MmDEcDsfU1HTJkiVlZWWS1np5eT18+HDKlClsNtvU1FTqTJBC1g+5d+8ekUgMDg7Gak6cONHU1LS+vr6154ycP7RFa2W17chDhOiiiBGI7o+TkxOZTH7+/LmcOvb29sbGxvr6+vv27UtISLCzswMAXLt2De6NiooCAMyePTsmJmb9+vVGRkZqamrl5eVisZjH4wEA7O3tHR0d09LS0tLSvv76azqdnp6eDtsOHTp07ty5cPvWrVtUKtXGxiY4OPjnn3/u1auXhoYGl8sVi8WPHz8GACQkJGAmzZw5s3fv3iKRSMrUU6dOAQBSUlKwEnd3dwaDUV1dLd9UKWNMTU3d3d0leyaTyQEBAS2aKkWLR8De3n7kyJEsFuvHH3+8fPlyi51v2rQJAPD1118HBwcvXbqUTqdramp+++23WG/Ozs5w+5dffiEQCJMnTw4PD1+5ciWZTF68eLFYLM7Ozv7hhx8YDEZGRkZRUZFUq9OnTxMIBHt7+5CQkE2bNqmpqfXp06empgbrf8yYMWPHjn306FFRUdGKFSsAAFevXm32tJH/Q9zd3VksVn5+PvxSAMCNGzdae87I/0PlWyunbYcdIkSXBQ3wiJ7AhQsXAAAkEsnNze3ixYtVVVVN69jb2wMA/vrrL/ixqKgIALBlyxb4cdy4cfb29ljltLQ0AEBqaqr434s1h8PBLn+NjY0GBgZTpkyBHyUv1sOGDbO1teXz+fBjQUEBh8NZsGAB/NinTx83Nze4zePxGAyGj49PU1Orq6tpNNqKFSvgR6FQqKenN2fOnBZNFbdmgJdvqiQtHgF4bG/duoU1kdN5QUEBnU53cXHB7mzgpELTAb6urq5Xr17ffvstVtPPz49AIMABbMuWLUwmE/tGrNXnz5+NjY2/+uqrxsZGuAs+1O7ZswerSSKRsEG6sbGRSqVu2LCh6Q9v8ShVVlbq6em5urpWVVXp6+svXbpUwSMm+TfJ/0PlWyu/bcccIkSXBU3RI3oCM2bMuHjxoq2t7ZkzZ2bMmKGhoTFixIj9+/dXVFRIVjM3Nx85ciTc1tXV1dDQaGhogB8vXrz4559/YjU/ffoEAMD2AgBmzZrFZDLhNpVKnT9/fmpqqlAolOy/sLDwyZMncGkAlujr60+fPh2bgp4xY0ZKSsrnz58BAFevXq2vr58zZ07Tn8NisSZOnJicnAw/3r9/v6ioaP78+QqaqggtmtoU+UfAwsJizJgxinR+69athoaGjRs3EggEuHflypUMBqPpNz58+PDjx49eXl5YTQ8Pj+DgYPk/Njs7+927d15eXlQqFZY4ODgMHz48JSUFq2NpadmvXz/st3A4HMkFEcWPkrq6+qFDh5KSkqZNmyYUCvfv36/4EcNo8Q+VY61yJ0MbHiJEVwYN8IgegpOT0/379z99+nT69OklS5YQCIRt27ZZWVm9efMGq2NsbCzZhEj83/nPYrFycnIOHz78008/WVpaurq6SvWPXewgpqamfD4/Pz9fspDL5QIAfvjhB4IEJ06cKC4uhhWcnZ2rq6tv374NAEhKSjI2NoYrBU2ZNWvWhw8fMjMzAQBnz57V0NCYPHmygqYqQoumNkX+ETA0NFSw85ycHACAhYUFVl9FRaVZ725Yc+DAgViJoaHh6tWre/XqJeen5ebmAgDMzMwkC83MzGA5xMDAQHIvdgMhhSJHyc3NbcqUKX/99dfBgwelXNgUOWeAAn+oHGuVOxna8BAhujLIix7R7amurg4LC5s4caKtra22tvacOXPgY3F+fr6VldXGjRvPnj0La2LPK03x9/ffvHmzrq7u9OnT161bp6mpOW3aNMkKUg9efD4fAEAikSQL6XQ6ACAsLMzBwaHZbxk9ejSHw0lOTh41atSVK1dWrlwpyx7oVZCcnGxlZXX+/Hk3NzcKhaKgqbIQCATYr2jR1KbIPwKwQ0U6h0/D4v8mqpY6khA41YE9PSuISCRqWkgkEqHBkja0iCJHSSAQFBYWAgAyMzO/++47yV2KnDNAgT9UjrXKnQxteIgQXRn0FyK6Paqqqnv27Pn48aOtra1kee/evQcMGACfAuVTWVm5devWtWvX7tu3Dz7WP336VKpOdna25McXL15QqVR9fX3JQuwx1MbGBit8/vw5dt0kk8nTpk27dOnS2LFja2trm52fh3A4nHHjxiUnJ0+dOvXdu3fYyKGIqZJIjqPv37/HPrZoalMUOQKKdA7nUf755x9s9qKxsfHt27dGRkZS/cAnYC6Xiz1NlpSUREZGurm5DRo0SJadffv2BQC8fv1acnbk1atXpqamsprIQpGjFBQU9Pr16yVLlgQHBy9cuHDw4MHYLkWOWGv/0DZp24aHCNGVQVP0iG4PiURydHQ8evSo1BtxL168ePr0qbW1dYs9vHnzRigUOjg4YJP2Z86cAf8dHc+ePZuXlwe38/Pz4+PjJ02aJDnJDwDQ1tZ2cHCIjIyEj54AgNLSUkdHxxMnTmB1ZsyY8f79+127dvXv33/YsGFyrJo1a1Z6enpERESfPn1GjRqluKkYdDpd8uW0I0eOtMpUKRQ5Aop0Pm7cOAaDERgYiNl8+PDh2trapv3Y2dmx2ezw8HCsJDExcceOHdhkRrO/2szMzNDQMCIiQiAQwJIHDx7cu3dv4sSJsn6aLFo8Slwud+fOnZs2bYqMjOzdu7eHh0drz5lW/aFSKNK2vQ8RoiuDnuARPYHDhw9bW1vb29vPmDFjyJAhZDL51atXZ8+e1dLS8vf3b7H5oEGDNDU1t2zZUlBQoK2tfeXKlTt37hCJxOjoaFNTU7i6rKKiMnLkSE9PT5FIFBUVJRQKsRe+JQkICJgwYYKDg8PixYsBAJGRkVQq1dvbG6swefJkGo2WmZm5ZcsW+VY5Ozt7enoeO3Zsw4YN2AqofFOlVlUdHR2joqJWrVo1evToO3fupKamSq5et2iqFAoegRY719PT8/Hx2bNnz5QpU6ZPn56VlXXs2DHJB18MNpu9Y8eONWvWODs7T5s27f3798HBwXPmzIEPmmQyuba29siRI6NHjx4wYADWikql+vv7L1y4cPz48XPnzi0uLg4ODu7Tp4+Pj4/8A97aHwIAWL58uaGh4bp162g0Wmho6PTp048dO/bDDz8ofsRa9Ye2tm3HHCJE16WTvPcRiDamuLh47dq1VlZWLBZLU1PTxsZm27ZtFRUVWAXJl4AhWlpavr6+cPvevXsODg6qqqoDBw708vKqqqoKCQmxtrZOTk6GrzwdOnRo586dAwcOZLPZ33zzzePHj7F+JF95EovF6enpEyZM0NTU1NXVnTVrVnZ2tpSpU6dOBQDIf2sfMnr06KY15ZgqZUxVVdWSJUu0tLT09PRmz5796dOn77//PjExUXFTIS0egabHtsXOw8LChg4dymKxHB0d//jjj4MHD/r5+TXb26lTp+zt7ZlMZr9+/TZt2lRbWwvLnz9/Pnz4cDqdHhkZ2bTV1atXR40apa6ubmJisnjx4pKSEjnWjho1CmYuaBZZPyQuLg4A8Mcff2A1nZycNDU1S0pKWnXOyP9D5Vsrv22HHSJE14QgVmAiCIH4kqmtrWUymeHh4TDcB34mT56cl5f38uXLNumtA2jzI9DjQUcM0RVAa/AIRIeSn5+fmpo6d+7czjYEgUD0cNAaPALRQTQ0NBw4cODy5cskEgku6CIQCET7gZ7gEYgOQiAQhIeHNzQ0JCYmSoaFQSAQiPYArcEjEAgEAtEDQU/wCAQCgUD0QNAAj0AgEAhEDwQN8AgEAoFA9EDQAI9AIBAIRA8EDfAIBAKBQPRA0ACPQCAQCEQPBA3wCAQCgUD0QNAAj0AgEAhEDwSFqm0Fkqm1EYgeAJPJ1NfX72wrOhokZEQPQ5aQ0RM8AoFAIBA9EDTAIxAIBALRA0EDPAKBQCAQPRA0wCMQCAQC0QNBAzwCgUAgED0QNMAjEAgEAtEDQQM8onlyc3Pd3d2RDQhEt6YriKgr2PBlggZ4BHjw4IGzs3NrWwmFwvnz59fW1ir3peXl5co1lE9KSsr8+fOdnZ3Xr1//8eNHWHj27Nm5c+fOmjVr3759DQ0NUk0yMjIWL148a9as4OBgoVCoSBMEoguihJCb1Uur6Eghx8fHu7q6Ojs7b9u2raampmmrphelFpv0bFCgGwSg0+lVVVVwOzEx8dy5c3Q6ffz48ViFb775JiQkZPDgwVhJcnLytWvXCgsL5XSbmpr67NkzHo9XUlJCo9HWrVunq6ubk5MTGxtLIpFqampCQ0PT09OjoqLq6uqsra09PT2ZTKYsGxShoKAgJCQkLi5OS0vr6NGj+/btCwkJSU9Pv3Tp0v79+9lsdmRk5MmTJ5cuXYo1qaur+/nnn/ft29e3b9+tW7eeP3/e1dVVfhMEomvSWiE3q5em3XYRIWdmZiYnJ0dFRbFYLH9///j4eE9PT8lWTS9KLTbp8aAneARgsVjm5uYAADiwRURExMTEZGRkYBVCQkJMTEwkm/Tp02fevHkkEkl+z7///vvChQvDwsLs7e0PHDgACx8/fvzVV18FBgaWl5fv2rVr69atJ0+eJJFIkZGRcmxQhIKCgkmTJhkYGNBotGnTpuXl5QEAnj9/bmtra2hoyGKxZsyY8ddff0k2efTo0aBBg8zMzKhUqqur6+3bt1tsgkB0TVor5Gb10ixdQchsNnvz5s3a2toUCkVfX7/pxafpRanFJj0e9ASP+B937951dnbW1dUFAMyZM+fUqVOwXPLZHWJlZQUAaFEwVlZW8IIyY8aM6OhogUAAANDQ0HBxcQEA3Lhxw9raGlZYtGjRmjVr5NgAef/+vb+/v2TJoUOHaDQa3Lazs7OzswMACASCEydOjB07FgDQr1+/w4cPz549m8lkXrt2rbS0VLJ5cXGxnp4e3NbX1y8pKWmxCQLRxVFQyM3qpVm6gpCNjIyMjIyuXbu2f/9+fX39mJiYpkaC/16UWmzS40EDPOJ/VFZWQpEAALBhDw+amppwg0KhqKqqVldXAwA4HA4sLC0tffHixY8//gg/qqmptWiDkZFRdHS0/C+9fft2XFzcqFGj4Lz6mDFjuFyup6cnhUIZM2aMqqqqVH0CgQA3xGKxSCRSpAkC0ZVplZCl9NIsXUHIkEmTJtna2h47diw0NHTDhg3ye1C6SY8BDfCI/6GhoVFcXAy32+Sx9dOnT3Cjtra2rq5OXV29oqKCSPz/hSEOh+Po6Ajv9wUCAXx6xmODWCwOCgoqLCz09/c3MDCAhXw+f968efAacf/+/ZycHMkm2traT58+xazV0dFpsQkC0cVRUETN6qVZuoKQU1JSyGTyN998o6GhMWPGjO3bt7fYjxJNehhoDR7xP0aNGnXx4sXS0tKGhoYzZ85g5VlZWXV1dS02b1rt+fPnmZmZIpHol19+cXBwkJrSt7OzS0tLKygoEAqFhw8f/uWXX+TYAHn37t2P/6WxsRHbe//+/bdv3+7fv19PT08oFEKX+Nzc3AULFpSUlNTX158+fXrq1KmS1trZ2WVlZeXn54vF4kuXLsHJQFlNEIhugYJCblYvTauBriFkGo128uTJ2tpakUh048YNMzMzWdZiyGry5YCe4BH/w9raetq0aR4eHjQabd68eX///Tcs9/LykvKibxYvL6+goKChQ4diJba2tvHx8W/fvu3bt6+fn59UfT09vdWrV/v5+fF4vEGDBsHZM1k2QIyNjWNjY2UZ8Pz58+zs7AkTJsCP6urqFy5cGDBgwJw5c3766ScGgzFt2jTMoRf7UZs2bdq2bdvnz5+tra3hmqKsJghEt0BBITerF9BVhTx27NisrKzvv/+eQCBYWFh4e3s3+6MkkdXky4EgFos724ZuA0ojLZ9bt26ZmJgYGRnBj6mpqU+fPvX19e1cqxByQPngEU1BQu52oHzwiHansrISuyggEIhuChJyjwE9wbcCdOOP6GGgJ3gEogeAnuARCAQCgfiCQAM8AoFAIBA9EDTAIxAIBALRA0EDPAKBQCAQPRDkZNcKFM82SCQSiUQijNisHAwGg8/n4+mBSqV+/vxZ6eY0Gk0kEvH5/M4ygEKhEIlEyfAXShjA5/OVPsNJJBKVSq2vr1faADKZLBKJYPhbJSASiTQarbGxEU8P8s9DMpnMYDCU67z78qUJWSwW4+mh04VMoVAEAkHnClksFmOBgFoLgUCg0+mdIuSeEOgmNzf3+PHjAwcOzMnJ+fjxo7e3t6mpKQDg5s2bp0+fbmhoGDZsmLu7O51Ol1Xz8ePHx44dq6+vt7S0XLp0qazY44qfoxQKhUwm4zmnWSzWNP9rSjdHICDn147Dcx52JEjICIQs5AtZLBb32AEeAPDs2bN58+bNmzcvKSnp/Pnz69aty8/PP3r0aEBAgJ6e3sGDB3/77bfvv/++2ZqVlZVBQUH+/v69e/eOjo6Oi4tbtWoV7La6ujo8PBxu29vbjxgxQkF74A3XF5idENHVoFKpWMzwrk87CZnH44WGhsJtOzu7UaNGKWgPEjKii6CckDtI+Vwud+PGjc3uEolErq6ushrK34uho6MzcOBAAED//v0bGhoAAI8ePXJ0dDQwMCCRSLNmzXr48KGcmkOGDDEyMiKRSHPnzv3nn3+wbvl8fta/lJSUkBWGRCIRiUTF6zelFQcXgZCN/POwbcf+Dx8++Pj44OmhnYQsEAgwIRcXFyMhI7odygm5h5x/TCZTquTVq1cvX75cvnw5AEBbW7u8vByW8/n8ZcuW8fl8Y2NjeFDKysqePXs2a9YskUhEp9MlMxtqamrGx8djHxXPiQRn9vCs+mhpaSndFoHAaGhokJMoiEajUanUNv/SjIyMkJCQhISE1jbEI+S0tLTMzEwnJyesbVVVlbq6OgCAzWYjISO6NfKFTKVSmxVyRw/wQqEwIiIiPT2dQCDMnj17+vTp/v7+fD7f19c3KCjo/PnzFy5c4PP5JiYm69atY7PZknvldIul9IYUFxc/e/YM+1hWVsZmswEA2dnZVVVVhw4dUlNTCwoK+vjxI6zQ0NAQFhamra0dHh7edeYzz3qPgY8mSkAgEJhMpuLORE1hs9kCgYDH4yndg5qaGswbrRxMJpNMJldWVirdA4vF4vF4Svvm0Ol0JpNZVlamdA8MBkMoFCrtoEQmk9lsdlVVldKujh3zBJmUlHT58mU6ne7o6AhLaDQa/Oub6l1+V3iE7ODg0KtXL5iVPCMj486dO3B073TO+YxV+haBQCCwWCw8OmKz2UKhEM+lAKeQVVVVqVRqRUWF0j0wmcy6ujqlPdRoNBqLxcIjZDqdLhKJlBYyiUTicDidIuSOHuDv3r2bn58fGxtbUlKyatWqCRMm+Pn5ubm5BQUFlZSUnD59OiwsjMPhHDx4MDU11dXVFdur+FeIxeIDBw64uLgkJiYWFRXp6OicPXvWzs4OAPD27VtVVVWYYHj48OHHjx8HAFhaWp4+fZrH4+nq6n748AGP33jbMiv4dmebAAAAJz2Gd7YJiK7LkydPUlJSAgMDmUzmtm3bYCGTyYTz5031TqfTFey5tUL+6quvfv31VxcXF3V19bi4uK6TG3TmwVsK1kRaQ7QtHT3Ai0QiHo9XWFjYt2/f8+fPwxK4i81mR0dHczicuro6CoUiazoiLy8vODhYssTd3R3bJpPJDQ0No0ePHjJkSHJyMkwDamlpOXfuXACAvr4+j8crLi5mMpmZmZnwtQcLCwtHR8f169cTCAQqlRodHY31VlxcDBsCAObOnQsfDhRHRUWlVfW7Jpqamso1JBAISrcF/z7M4ewB//yzhoYGzh5woqamhrMHOS/C4Xl9C/Lw4cOpU6fq6OgAAGbOnJmUlCS5t6neMdpcyDo6OsuXL9+1a1dpaWmfPn1++uknrLfy8nLMlcfV1dXDw6NVv7HDhNzs2Y5fR2QyGY8QOl3IAAAajYanOfhShdzRA7yjo2NJScn27dspFAqBQIiLi8N2kUikq1evpqenk0gkAoEga+3K0NDw4MGDUoX79++HG+Xl5RwOZ9q0aR8+fFBRUYmJiZGs5uLiUltb6+vrS6VSR4wYAaf7Xr16lZub6+/vr6ure/78+fj4+DVr1sD6qqqqixYtgtuDBw+WswQiBfTNwTMZIOsNn45H8V8tBZ1OV3qJAQBAo9GIRCKe5U8ajfb582el5+XIZDKNRlP65wMAKBSKWCxWehAlEokMBqOxsVHpF3ChY46cqUUikUihUJTrHFJZWWlhYQG34TAvCaZ3BoPh4uIyZcoUbFebCxkAMHLkyH79+gUGBh44cECyPp1Ox4Rsbm7eZYXc1DACgUCj0fDoiMFgiEQiPG/64RQylUolkUidLuT6+nqle+i+Qm7jAb5F55qqqqpJkybNnDnz5s2bkZGROTk5JiYmcFdaWtrjx4+3b9/O4XDOnTun3OrvvXv30tPTnZ2dxWKxWCz+7rvvoqKisKU4KFQikdjQ0JCdnQ2vRxkZGXZ2dmZmZh4eHjt27PD29m52gAcd65vTdQZ4pX8FhULBcwRIJBLOYwib41l4g9dWPMGgcK7Bw+sCnqU7sVgs5xjifzDicDiYLsrKyqQuYZjeX758GRISMmDAgH79+inS7b179/7++28XFxeRSCQWi+fPnx8ZGSkp5FmzZi1YsCAjIyM8PNzQ0BCW37hxIy4uTiAQ7Nixw8PDQ1dXF5arqKh0CyE3/SL4/I1zdBQKhXh6wClk+KohzktBQ0MDnjV4nAO8WCzGuQbf3kKmUqkd8R485lwjFYkCmx87dOjQ8+fPdXR07O3tCQQCj8d7+fIlDDdWUVFBIpGOHTv2/fff37lzRyAQXL9+nUAgwBhGmPdNXl6e1O15YGAgNgG1cOHC9PT0qKiourq6LVu2mJiYwIvC69evDQ0Nb9++febMmf379+vq6q5YsQIuE5qYmMTGxj558qSoqOjPP//s27dv2x6TLogiS334newQXwL29vbh4eHGxsYXLlzgcrl8Pv/Dhw/h4eFlZWV+fn4VFRVUKrV3795ZWVlCoVDydJIv5PXr17u7uy9fvlxTU9PPz8/W1lZSyAUFBTt37ty8eXNERASPx5s4cSIAoLCwMCoqisPh+Pv7X7p0KTQ0dM+ePR14JMDdV805sr2qweNkh0DgoY0HeMy5Bvw3EsXNmzcBAE+ePMnLyxs4cOD79+8vXbrEYrEsLS1fvnzJYrFWrly5d+/eP/7448GDByUlJYMGDUpNTd25cyfctWLFisjISNitoaFhSEiILAOKioq+/vrrXr16wZm9/Px8WL5hw4a9e/daWFhMmjTp559/ZjAYhoaG8MZ/xIgRjx8/fvDgAQDgzZs33t7eWG+fP39++vQp3O7Vq5fiiyjwDVqck5/thyKGEQgEnPO3+JsTCAT8BuCJcAn+nZ1TugcCQflo0NAAPJ7wJBJJ/nmI/50RKyurSZMmBQcHV1VVOTo6wif4N2/emJiY+Pv7r169uqysrKysDAAgEoksLS2xhvKF/OzZMy0tLRsbmw8fPqipqS1duhSWQyEPGjTI2dnZz8+PyWTSaDTovV9UVGRjY5Ofn6+lpTVx4sTNmzdjvUkKWU9PT3Hv+jYRMh4h4JdhpwsZqgC/AUo/wUMF4RQykUhUujlUWbsKWVYspnZcg5eMRJGVlbVr167o6Ohvv/125syZAIB79+4lJSXB53ITE5Off/4ZALBgwYIHDx74+PjcunUrMzOTTqcbGhpevHhRstumvjkBAQHYjb+1tbW1tTUAQF9ff9CgQdiQjDn4eHp6mpmZhYWFwWgYsHDlypUrV650dXXdsGGDpENNeXm5p6cn3F60aJGXl1erjoDiDsMdjIIXOBjDuQO+qP16wH+Phd81Bif4F2vkzMPjd7IDALi6utrY2OzevdvX1xcA8OHDBwMDg0OHDgEATExMJk+ePGXKlNraWk9PT8m34OQLubCwkEajbd68OTc319jYuKamhsViAQkhl5SULFu2bMiQIdhjOqZ9gUBw+vTpkSNHYj1XV1djQp4/f77kTbwiKCzk8mZLGQwGzoD/OFVAIpFw9tDpQsbvLftlCrkdB/imMSvk++MAALBbpNb65khx7969+Ph4ezF3a5EAACAASURBVHv7hQsXNt07fvz4YcOGJSYmxsTErF69Wk4/2tra2O0Fi8VS/FVOeOOPx7GFw+Eo3bZFFPkhampqAoEAj4sZk8nEM8OvoqJCJpNxvoBbV1en9H03jUZTUVGprKzE0wOehD0kEklNTa2mpkbpYRje9cvxkKJQKE11Kgcul3vkyJGAgICmuzgcjqurK/Six8YzAoEAt8VisVRIA/lCrq2tzcnJ2bJli5GR0cWLF0NCQgIDA7G9aWlpNTU10AVPqmGz2tfQ0MCEzGQyO1LIAIC6ujqleyAQCKqqqnh0xGKxRCJRbW2t0j10upBVVFTwrKBTqVRVVdWeLWQymQzvgKXLlfs+RZCKWQGa+ONg5XABnsPhYJcApX1zxGJxYGAgnI7jcrlVVVWSI+WNGzd+/fXXoqIi+FFFRQUO8NevX//111/5fP7BgwdXr16NHSkSiQTftYUo7psD/UqU9plsbxQxDHop4vkJ+Ju3iQFKqxpOCeLpAfrm4ElCBc3A04P8Y9iGkXCa6h0PGhoaGhoa+/bt4/P5gwcPfvv2reTee/fuPXnyZMGCBTB+y4IFCyIiItTU1MLDwz9+/Oji4nLu3DlJrzoikdiJQsaZiAynCnAagL85piM8BuDJyohfyPDbcf4L7SrkTpiibwr0xxk9erSqquqFCxcAALm5uQkJCa9evdq7d+/y5ctPnDihpaWFxzfn0aNHjx492rBhw7Bhw44ePfrLL7/A6Tjom0OlUouLi48cOcJmsxMSEqDOCwoKYmNjDx48uGbNGhqNlpiYKPkGLR6ad7pRkFc1nRvJDoGQg1SIusGDBxcUFMCgk6tWraqoqFi0aBGfz6dQKP379wcAHDx4UCwWS4aklC9kCoXy/v37tWvXmpmZ7dq1C7tNh0LesGFDSkrKn3/+mZ2draend/jwYQDAo0eP3r175+vru3nzZrhk28FRKUcOlH6EwnUFQCBw0xEDPJlMtrW1Bf/64/j6+tJotJkzZ2ZmZgIA3rx5Y2pqWlBQEBkZWV9fb25uvmLFCqV9c27fvs3n83fv3g0/Ys/i0Ddn2LBhFApl3bp1BAJh0KBBMLAG9F+AS+/w3WusN5zZ5BQ9QDKg0Wh4HrDIZHKrZl+lgI4teHrAaQBMI43TADzrXvCmGE8PZDJZJBIpvXwIn4kZDIbSL7MR/0W55nKQClHn7+9vYGCQm5sbFBSUmZlZUVFx+PBhDofj4eHx4sWLqVOn+vj4LFy4UDIkpXwhf/jwYdiwYQkJCdXV1b1798budDEnOwMDg1mzZkkuFvzzzz9v3rzB7s6///577H3dzssmVwP+fRFc2R7aQMjwdr+zDMAvZAqFoqqqitNZFeelQCwWd0cht/EAb2JiAkNVYBsAAAsLC2zp3dXVFXtlbuLEibm5uWw228vLKyQkZM2aNf7+/itWrAA4fHOGDBnS0NDQ2NgIfXNWrlwJy6FvDpfLpdPpbDa7uLi4rq6uvr5eXV1dT09v5syZS5YsYTAYL168CAsLw3pubGzEslf17t1bcY8tAoGAf8YSum4q3Ry/8y1O31f8rrMAn5cc/iOA3wA8zrfQAPgKrNI9yD8V8Ux7whB1ZDLZxMTEzMxs3759bm5uAABzc/Njx47BkJTm5uYwYpWKiorUICdfyMbGxrdv3969ezeTyYyPj7916xYsx5zshgwZAgAgkUjYXcLixYsbGhoMDQ2h551kbJzPnz9jQtbT02utkHFqGaeQ8cuw04Xcua/D4Bcy7AFPPAzQzkKWNXvf+dnkJNfIRSLRggULEhISMN+cpj9JQd+csrKy8PBwKd8cCoUydOhQLpdLoVCqq6sPHjwYGBj46tWr5ORkdXV1sVhMoVDCw8PXrl0L60s62YHWx8dQsLIs6urqULKZTk82g8c3p02SzdTU1OCJj0GlUuVnk2v2wtdixCqpkJSSu/CEpMQoKioqKipatmwZVoKlhoM8ffo0NjaWz+fHxcV5enqSSKQDBw7cvv2/9A1OTk7x8fGwiaSTHejYQDcAgPr6epRsptOTzeARcpskm2lXIXeVbHKSJCUlXbhwoaGhIS0tDZYQiUR4JonF4mvXrsXFxREIhFYdVg0NjcGDB6urq/v7+zMYDCnfHDab/fjx4x07dhgZGe3cuTMrKwsAcPnyZaFQGBgYqKamFh0dfffuXWyAx0nTNTnF0dLSQkFmEJ1FixGrEhMTU1NTVVRUzMzM0tLScnJy6urqoJNwWlranTt3TExMNm7cmJSUdOfOHRixqlUX6G+//XbChAnwLv+33367fv265OheX1+/f//+HTt2+Pn5lZSUXLlyxcnJic/nQ4dtoVBYV1fXFXKxjxzI0tLSwuPBjkDgodM0AJNQeXt7JyYmPnnyBBYSiUT46nxxcXF5eXlsbGxeXp6vr29DQwP2Kqp83xy4brd79243N7cTJ06Ym5vDcuibc/r0aaFQqKurKxKJdHR0cnNzAQACgQDOfsC3KfCslrUtMJscSjCF6HhajFh19erVPn36bN68eceOHTAkJVyMgG/EqKurU6nU0tLSa9euff78OTY29tOnT15eXvX19dgbdPKFnJeXt3PnzuDgYAqFcuXKFexRHgr577//HjBgAHTfmzp16vnz552cnDZu3AjrcLlcPz+/hIQE/IF424SZB28hFSM6hU4b4GESKg0NDSKR6OLiIpWESiwWNzY2FhYWGhgYTJkyRSrQhJwFLQ6HY2RklJOTc/z4cYFAsGrVKlgOfXN0dHR69eoFl/n79esH9T9q1KjMzMxNmzZ9/vxZRUVFsvOukE0OTzI3nCmkYJIGPD2gbHL46fRscpIRqzIyMgAADx8+dHJyys7O9vDwEIvFTCZTVkhKGxub69evP3z4cMyYMdbW1r6+vhEREVjPcoRsamo6c+ZMb29vgUBga2s7fvx4WA6FXFpaisWZ19HRkZpyv3LlioqKiuSp2+nZ5HCexiibHMomB7pFNjkMGPQG+uJxuVwAQJ8+fXx9fWFI2t27d587dw4LdCPZUP7SXVpamoqKyokTJz58+LBnzx5s/Q/65rx69crMzAz62RYUFGzduhUAMHLkyNzc3D/++ENFRWXEiBH37t3DepP89sGDByu+Ig69q/CECcP+S6WX4alUqtKLRgAAGo0mFovx9IDTAOh8iyfGCE4DYCA/PHm0oBe90muHRCIR5tHC04P881AR7ydJ/2dVVdWtW7cGBARYWFjMmzcPAMDlciMjI6VCUs6fP//hw4c+Pj5CoVBTU/PIkSMnT55sbcQqFxcXBweHwMBAHx8frBATMvzGpKSkgoICybXVoqKi9+/fwwzxGHQ6HROypaVlxwsZZza27i5kmC0GTw8wI4lyzfELGXrRKy1DAoFAp9PbVchAhhdhpw3wsoLeQPAkoYIRMOA6HIyAga3eaWpqPn/+HG6XlpbC4R/LTAUASE9Ph/P2EBaLJRmetiN9c7ABXrkFPBiAGs/iHxQVnh5IJBLO+FlkMhlPD0QiEU8kOzqdDh1bOtHJDqaza1cnuxbjsLYqYhXcwB+xCnLz5s0JEyY0LW9WyHKaqKiodK6QlT6NCQQCTh1RKBShUNiJQlZVVSUQCDgvBTid7HAKGb+THUy5265Odh2RTU5xmga9kSQ1NfX58+fbt283NTWl0WiKB7rZsGED3IBP8NirMnDpzsbG5vDhwwUFBfr6+ikpKTBa9fv37+FqH5PJPHfu3NSpU2XZrHhsefhmCJ5Y9Hw+/4LveJyxk/AYAOWEpwexWIwzGr9IJMLZA51Ox3Pjz+fz8cwNwtNA6VekCAQCjBWjtF8IvPGXcwyV80RrVrwMBoPL5VZXV1Op1Bs3bvTu3RvgEDLkzp07UmFx5QhZVpOmdC8h49RRpwuZQCAIhUKcQobzEMq1xS9k+KJjJwoZXkaUEHKnDfDNBr3BmDJlysuXLxctWkQmk8eNG6d4oBtZYPExvL29AwIC+Hy+paXlt99+CyRW+xgMxsSJE2FmqmbBE6tBCfAnSul0JyP8BuBcRMdvQKenBOx0AzDkR6zq27evg4ODh4eHoaHhtGnTCgoKAD4hv379mkgkSiUpkSNkWU2a8gUKGWcPnS5k/HS6jjrFAOVzWSIQCAQCgeiydGisZgQCgUAgEB0DGuARCAQCgeiBoAEegUAgEIgeCBrgEQgEAoHogaABHoFAIBCIHkjn52PoRrx+/bqzTUAg2hImk6mvr9/ZVnQ0SMiIHoYsIaMneAQCgUAgeiBogEcgEAgEogeCBngEAoFAIHogaIBHIBAIBKIHggZ4BAKBQCB6IGiARyAQCASiB4IGeETz5Obmuru7IxsQiG5NVxBRV7DhywQN8Ajw4MEDZ2fnVjWJj493dXV1dnbetm1bTU2NEl9aXl6uRKsWaWrYqVOnxv2XiooKqVZCoXD+/Pm1tbVy+kEgujhKCBlruGDBAuW+tOsIOT8/f/Xq1U5OTmvXrsWsarbwywEFukEAOp1eVVUFtxMTE8+dO0en08ePH49V+Oabb0JCQgYPHgw/ZmZmJicnR0VFsVgsf3//+Ph4T0/Ppt2mpqY+e/aMx+OVlJTQaLR169bp6urm5OTExsaSSKSamprQ0ND09PSoqKi6ujpra2tPT0+YqLtZGxShWcPc3NxcXV1hhfT09L/++ovD4Ui2Sk5OvnbtWmFhofx+WmUJAtHxtFbIkE+fPgUHB8vJVt4thCwSiTZu3Ojl5fXVV19FRkbGxMT4+fk1W9gqS7o76AkeAVgslrm5OQAgPT390qVLERERMTExGRkZWIWQkBATExPsI5vN3rx5s7a2NoVC0dfXJ5FIsnr+/fffFy5cGBYWZm9vf+DAAVj4+PHjr776KjAwsLy8fNeuXVu3bj158iSJRIqMjJRjgyI0axiJRKJQKBQKRSgUXrhwYdWqVVKt+vTpM2/ePMlfofgPRCC6Dq0VMgBAIBDs3r178eLF8nvu+kJ+8uSJtrb28OHDSSSSp6fnihUrZBV+UbT8BF9ZWZmWlsblcr29vf/5558BAwaQyei5v2dy9+5dZ2dnXV1dAMCcOXNOnToFy6Vu+Y2MjIyMjK5du7Z//359ff2YmBhZHVpZWcELyowZM6KjowUCAQBAQ0PDxcUFAHDjxg1ra2tYYdGiRWvWrJFjA+T9+/f+/v6SJYcOHaLRaIoYduzYMScnJzqd3tRIAIDkKK74D0QguiAKChkAEB4e/vXXX5uZmcnvsOsLuaCggE6ne3t7c7lcU1NTX19fNTW1ZgtbPnw9iBaG6jdv3owePZpMJufn53t7e2/atCk7OzslJcXY2LhDzEN0KJWVlXC0AwDo6enJrzxp0iRbW9tjx46FhoZu2LCh2Tqamppwg0KhqKqqVldXAwCwibXS0tIXL178+OOP8CPUnnwbjIyMoqOjlTCssLAwMzPTw8NDftvW/kAEoguioJD//PPP6upqZ2fn3Nxc+R12fSHzeLzXr1/v2bPHxMTkzJkz/v7+4eHhzRbK/9IeRgtT9N7e3uPGjXv//j18aj9y5IiJiYmPj0+H2IboaDQ0NIqLi+F2aWmprGopKSmpqamw/owZM549eyar5qdPn+BGbW1tXV2duro6AIBI/P+zjsPhODo6xsbGxsbGRkVFbd26VXEbWmvY9evXp06dir8fBKLro6CIbt++/ejRI2dn51WrVn38+NHZ2bmp/ymk6wtZU1PTysrKzMyMRqNNnTqVy+XKKvyiaGGAv3Pnzpo1a7A/UktLy8/P79atW+1uF6IzGDVq1MWLF0tLSxsaGs6cOYOVZ2Vl1dXVYR9pNNrJkydra2tFItGNGzew+T2pagCA58+fZ2ZmikSiX375xcHBQWox287OLi0traCgQCgUHj58+JdffpFjA+Tdu3c//pfGxsYWDQMApKamOjo6SnbV1FpF+kEguj4KCnnnzp2XL1++cOFCaGhor169Lly4AB/Ku6OQbW1tX7x4kZ2d3djYmJycPGTIEABAs4VfFC1M0aurqzc0NEiWCAQC6CGJ6HlYW1tPmzbNw8ODRqPNmzfv77//huVeXl6Szrdjx47Nysr6/vvvCQSChYWFt7c3Vi0oKGjo0KFYh7a2tvHx8W/fvu3bt29T/1U9Pb3Vq1f7+fnxeLxBgwbBWThZNkCMjY1jY2Nl2S/LsOzsbBKJJOU8L/WjFOkHgegWKChkWXRTIa9atWrv3r2VlZUWFhbr168HAGhoaDQt/KIgiMViObt/+umn169fnz9/Xltbm8/nv3jx4rvvvnN0dIyIiOgwE7sOKI20fG7dumViYmJkZAQ/pqamPn361NfXt3OtQsgB5YNHNAUJuduhZD74wMBAAICOjo5AINDQ0BgyZEj//v3379/fLjYiujmVlZXYRQGBQHRTkJB7DC08wUMePnyYlZWlrq4+ePDg/v37d4BZXRN044/oYaAneASiByBLyPLW4N++fbt69erw8PDhw4cPHz683WxDIBAIBALRxsibou/du/eDBw/+/PPPDrMGgUAgEAhEmyDvCZ5KpR49etTX17e8vNzS0lJFRQXbNXLkyPa3DYFAIBAIhJK0sAYvKwMBn89vH3u6NGjpDtHDQGvwCEQPQJk1ePClDuSygPGbEIgeQ9PI/F8CSMiIHgYWxl+KFgZ4LPmgJCQSqUvFusnNzT1+/PjAgQNzcnI+fvzo7e1tamoKALh58+bp06cbGhqGDRvm7u5Op9Nl1Xz8+PGxY8fq6+stLS2XLl2qqqra7BcpnlWMQqGQyeT6+nqlf5SWltakn68o3RyBgJxfO05WwD4gEW20K4CEjEDIQjkhtyBvdnNMmDABl6XtwLNnz6ytrbds2TJu3Ljz588DAPLz848ePbpt27ajR4/y+fzffvtNVs3KysqgoCBfX9+YmBgSiRQXF4d129DQkPovXC6XpjDwuqB4/aZ0ymFE9DxIJJKc06yrZcJtJyF//vwZE/Lr16+RkBHdDuWE3MITfHZ2NrZdX1+fkZEREREhqZwugo6OzsCBAwEA/fv3z8rKAgA8evTI0dHRwMAAADBr1qwDBw58//33smoOGTIEBnaYO3fu5s2bsW4rKys3btwItxctWuTl5dUqq5C8EZ2O/GEG5v3sOrSTkKurqzEhz58/v7Wxh5GQEZ2OckJuYYCHEsIYOnRonz59vLy8bty40SrjuFzukSNHAgICmu4SiURubm5JSUnNNpS/F6PpkkFlZaWWlhbc1tbWLi8vl1WzrKwsOzsb5jCWqqCtrX3x4kW4zWKxZKVaagqZTCaRSJLpE1qLVLxlBEI56uvrpdJJSEKhUFq13NZNhayhoYEJmclkIiEjuh3yhUwmk1ksVjPlrf0aAwOD9PT01rZqbwgEglRJbW3t9evXZ86cCQAoKytjs9mwvK6ubsWKFTwer3///vANAjabra2tXVpaKhAIzM3N586di3VCIpHgowNE8aSHRCKRSCQKhUI8PwqBwI9YLJZzHsI00F0HSSGXlpYuX768srJSTU1t5MiRurq6kkKurKxctmwZn883NjaGC5BsNtvBwcHd3T0jI+PIkSM7d+7EuiISiUjIiG6NfCErOUX/8uVLyY8VFRX+/v69e/dWwj6IUCiMiIhIT08nEAizZ8+ePn26v78/n8/39fUNCgo6f/78hQsX+Hy+iYnJunXr2Gy25F7Fv6W4uDg9Pb2+vr6oqEhHR+fs2bN2dnYAgMbGxo8fPwYGBhoZGfn5+cEbcyaTyeVy9+7da2xs7OPjc+DAgS8zlU4HcNKjFfEQmUwmmUyurKxU+utYLBaPx1MkGHOz0Ol0JpNZVlamdA8MBkMoFH7+/Fm55mQymc1mV1VVKf0yS/uN3+0t5LKysvfv30dFRdXX12/YsCEoKGjfvn2YkLOzsysrKw8dOqSmphYUFPTx40cAgI2NzenTp0eNGhUREdHY2JiYmIjSAHYimNhVVVWpVKrisyZNYTKZdXV1IpFIueY0Go3FYuERMp1OF4lESgsZZsDrFCG30KxpYkEdHZ34+HjlvgwAcPfu3fz8/NjY2JKSklWrVk2YMMHPz8/NzS0oKKikpOT06dNhYWEcDufgwYOpqamurq7YXgX7J5PJNjY2cKHu+PHj27Zt+/z5s6WlJXwu/+eff+h0Ogyn7+joePXqVQCAsbHxnDlzwsLCeDyeioqKlZUV1lt1dXV4eDjctre3HzFihIJmwBv/rubB1Om0ajaYQqEQiUQ872uQyWRZftSKAP8+PD2QyWSRSESlUpVrDh9nGQyG0mvAxH9Rrrkc2lvIVVVVgwYN6tWrFwBgzpw5CQkJP/zwAybkt2/fqqqqwofyESNGJCYmAgB0dHSWLl26Y8cOEokkFouXLVuG9cbj8UJDQ+G2nZ3dqFGjFDQDCVlpMOXiFzKFQlFVVVV6eMYvZHhGdUchtzDA83g8qRI8hwkAIBKJeDxeYWFh3759oe8rdl/GZrOjo6M5HE5dXR2FQpH1SkBeXl5wcLBkSUBAAJbgzsLCIi0tbfTo0QMGDFBRUYmJiZGsSSQSx4wZA7ft7OySk5MBAIaGhvPmzdPV1Q0LC2MymdCFB8Ln86H/DgCgX79+it9GEQgEAoHQ1eY/O51WHRCoCjzHkEgk4myO3wACgaD0+AqPAIlEwtOD/PNQ6aciTMhkMtnExAQ+4sBdbSJkFxcXFxcXAIBAIHj37t3UqVOXL1+O1Rw6dGhmZmZxcTGTyXz37h32aPXPP/8sWbJkyJAhe/bskVySFAgEmJCNjY2RkDsA7KDhFzKBQMBzj9UmVxKxWNwdhdzCb3Z1df39998lS+DSV4vOMrJwdHQsKSnZvn07g8FwcXGZMmUKLK+oqFBXV7969Wp6ejqJRCIQCJhnjRSGhoYHDx6U1f+BAwdu376NfXRycoqPj5eMa0EgEIRCoYeHx/r167FbwuvXr//6668MBkMgEISHh2OZjzU1NSWnKxRfumuT12eVbttladV8exeZoq+qqurcKXoej4dnZo9Kpcp5fZZGozX7XJKRkRESEpKQkCCrISZkCoUi5QFDIpHwCxkAcOPGjePHj1dXV2tra+/atUty18iRI3Nzc319fWtqaiZPngyfOtLS0t68eZORkZGQkCAUCmtqarAxns1mIyF3MJhy4RQ9HiG3yRQ9HiG3yRR9uwqZSqU2K2SZA/yBAwcAACkpKXADIycn59atW8pZCQCoqqqaNGnSzJkzX758GRISoqqqevPmTYFAsG/fPjs7u0uXLo0bN+79+/eVlZUFBQX79+/Pyspq1f/K5/NVVFTIZLJQKKyrq5O65dHU1Pzzzz/9/PyKiorKy8uh9pKSkk6dOnXo0CFtbe2AgICMjAylf13bctZ7jBy3SfkQCAQmk1lTU6P0t7PZbIFA0HQKR3HU1NSqq6uVbo7oRGg0GvzvpELKuLq6wgqJiYmpqakqKipmZmZpaWk5OTl1dXXwXZ20tLQ7d+6YmJhs3LgxKSnpzp07169fJxAIrRJyQUFBWFiYqanpzz//fOPGjfDw8D179mB7+Xy+urq6np5eZWWlhYVFfn4+AODGjRtv3ryBU8ENDQ1LliyJi4vrCkHrzvmMVfoWgUAgsFgsPDpis9nwdkfpHpCQuy8yB/gLFy5IbUCIRCI2jaYEqampz58/3759u6mpKY1Gq6+vf/bsGQBgx44dp0+frq+vnz59Oo1G8/Dw4PP5R44cefHixebNm8ViMfaUkJeXJ3XPERgYiN28YG+7crlcPz+/hIQEuOzx+vVrQ0NDGxubyMjIhQsXvnnzJjU1FabModFoAoEAToCUl5djbrqdzqzg2y1X6gxa5SuH6I4wmUzsFdlnz57Nmzdv3rx5SUlJN2/eBAA8efLk6tWrffr02bx5844dOwgEAo/Hg9OYYrEYzsZRqdTS0tJr1659/vw5Njb206dPXl5e9fX1DAYDditfyHfu3GGxWAEBAUQi8ZtvvsGm5aCQCwoKEhMTf/jhhzdv3iQnJ3/77bcAAHd3d29v7/DwcPjW+9dff90VRncAwMyDt/B3gkSHUAKZA3xaWhoAwNbWFm60FVOmTHn58uWiRYvIZPK4ceP69+/PZrMNDQ3Xrl3r6el5+fLlbdu26ejomJqafvz4kcvlmpiYkMnklStXSnq2K7KSceXKFRUVFcypYcOGDXv37h00aNC6deuOHTsmEomYTCa8Lnz77bd379718PAgEAg0Gk3yi4qLi7G35ubOnfvjjz+26sdK5t/rSWhqaipSjUAgKFhTVnPFv0tWD0r7xWBoaGjg7AEnampqOHvAxtSmKBLoRjKkDJzfevjwoZOTU3Z2toeHh1gsZjKZlpaWL1++ZLFYK1eu3Lt37x9//PHgwYOSkhIbG5vr168/fPhwzJgx1tbWvr6+Cgq5sbGxqqoKvuYKAMD+R0zIbm5uJ06cEAqFQ4cOdXR0BADo6enNnDlzyZIlNBqNz+dLOtOUl5djcw+urq4eHh4t/mpJuoKQlRYCfHTBI4ROFzJoi1hDX6aQW1iDb/rK+7NnzzZv3gzd0xTH1NQUBsdgsViS76fm5uZyOJwffvghJCSExWL16dMHLssdOnRo0qRJpqamdXV1TCZT8qLQ4tIdAKCoqOj9+/fHjx/HSqBDHwDA2tra2tra1dV12bJl0HHj9evXNTU1/v7+urq658+fP3nyJBYrQ1VVddGiRXB78ODBcpZApID+FHhS9eB0ZmxXFDwOdDpd6SUGAACNRiMSiXiWP2k02ufPn5VeeIMxShX/05tCoVDEYrHS0eKIRCKDwWhsbFT6PWzoZihn7ZBIJMrKGIkh6f+sqqq6devWgIAACwuLefPmAQC4XG5kZCS8iJuYmPz8888AgPnz5z98+NDHx0coFGpqah45cuTkyZOSPjegJSEvXrx48eLF9+7di4+Pt7e3X7hwISzHhAy98FxdXWfMmAFLXr16devWrb1790IhR0VFYUKm0+mY8hcDqgAAIABJREFUkM3NzbujkJU+DxkMhkgkwhOrB6eQqVQqiUTqdCHX19cr3UP3FXILA3xmZuby5cvfvn2LldTU1EiqFD+SHjq1tbULFiyQ49qjIDdv3hwwYIC7u3t0dLTUruTk5IsXL/L5/OjoaE9PTzqdnpCQkJeX5+fnh9VZsmQJnNyTHOBBx/rmdOUBXsHfRaFQ8BwBEomE8xjC5ng8a2g0WkNDg9I9AABwOtnB6wIe3xyxWCznGCryYNQ0ihSHw8G0UFZWhpXD+XkOh4N5VEn53AwYMKBfv36KWJ6UlHTixAm4ffbs2bNnz0p5yz59+jQ2NpbP58fFxXl6epJIpIyMDGNj48jISB6PN2zYsPv372MDvIqKSncXstI20Gg0oVCI5yfgFDJ8vwvnpaChoQGPkx3OAV4sFuN0smtvIVOp1Gaf71sY4FetWkWn00NCQnx8fAICAoRC4Y4dO1oVc0YOSUlJFy5caGhowFYBiEQi9OYQi8XXrl2Li4sjEAhSh1X+0h3k5s2bfD5fshAu3WVnZ//+++87d+5cvXo1NGDBggWTJ0+urKxct26dhoZGTExMZmZmF1m6axE5y3JdwckO0VOxt7cPDw8fPXq0qqoq9NHJzc1NSEh49erV3r17ly9ffuLECS0tLT8/v4qKCiqV2rt376ysLKFQKHk6yReyoaGhqanpnj17iETi06dPHzx4AFUJhQwA2L9//44dO/z8/EpKSq5cueLk5GRgYHDmzJn169cPGTLE19e3u6hYPome9jid7BBfMi0M8I8fP05OTh47dmxqaqqWltb06dPFYvHGjRvPnDmD84ufPHmSkpLi7e2dmJj45MkTWEgkEuFqX3FxcXl5eWxsbF5enq+vb0NDA5a42tDQMCQkRE7PWVlZFRUVP/30k6SRcOnun3/+GTZsGIyPMWHChOjo6AULFowcOfLjx487duxoaGggkUj+/v5Yq8+fPz99+hRu9+rVS/FFFBjCusXJT5zI6R++fo3HAPw94G9OIBDwG4AzPgbOHggEAk4D8Ly/SyKR5J+HrXoxl0wm29raAgCsrKwmTZrk6+tLo9FmzpyZmZkJAHjz5o2pqWlBQUFkZGR9fb25ufmKFStWr15dVlYGn/JFIpGlpSXWm3whZ2VlcbncOXPmwI/YC29QyGVlZQMGDIARq6ZOnXr+/HknJycymdyrV68jR440Njb26tVL8oFPUsh6enqKj/0dI2Q5wCgx3VrIUAX4DVD6CR4qCKeQoQ+pcs3xR9RoUchKhqolEonwsFpbW6elpU2fPn38+PGbNm1S2lCMhw8fTp061cbGxsbG5t69e0lJSX369PH19Y2MjAQATJw48bfffissLOzfvz+WJQLSbHwMyYf127dvL168eMCAAZJ14NJdeXn58ePHZ8yYceLEifj4eCxxhaurq6ur69GjR83NzSUD8ZaXl3t6esJtJbLJYTcl7USL1ymcDzEkEgmnkxr+pyicPeC/NON3jcEJ/jleJZJQmZiYwJdlsA0AgIWFhYWFBdyGkoHbEydOzM3NZbPZsOaHDx/8/f1XrFgBm0+ePHnKlCm1tbWenp6Ss/3yhQzX4AEAUJX29vawHAr5woULurq6AICkpKTCwkI45V5aWmplZeXu7g4AKCws3Lp1K9ZzdXU1JmQlssm1t5DlAE8//ELG2UOnCxm/t+yXKeQWBvjhw4fv3r3b2NjYysoqNDT0559/vn//fpsEbiwsLPz777+hl6yOjo7UXlnxcEBLvjlpaWk1NTXTpk378OFD071YfAwqlTpixAjJI15UVPTixYsffvhBsn4XzyYnxx4CgaCiolJbW6u0AWpqagKBAI+LGZPJxDPDD+MZ4JmcVFVVraurU/q+m0ajqaioVFZW4ulBJBIpvfBGIpHU1NRqamqU9u6Bd/1tmE1ODhwO58OHDyEhIWvWrMGWAwkEAtxuupCvoLdsU1ViPcMN+G6enELQnbPJVVZWqqqq4tERi8USiUR4LgWdLmQVFRU8K+hUKlVVVbVnC1nJbHJhYWHfffddUlKSt7e3tra2pqZmbW3t9u3bZdVvMQAWhpqaGgxPAf7rpwNR2jfnzJkz7969wxb1nZycIiIi4KIdAIDP5/fv3//+/fs8Hi8vL09PTw8AcPbsWczf3snJCQCAufN08WxycvqHM8N4DICXSJw9dAUDlFY1nLvC0wP0zVH6J8DhCmcPHZZNrs29ZQsKCrZt21ZdXb1161YfHx/JkVJTU/Pu3btYWkj4CpampmZ6erqfn9+HDx90dHQkA1p032xy8PTDaUDnChnTER4DRCIRnrDKAJ+Q4bfj/BfaVchKTtEPHDjw77//hnFmUlNTb968yWKxRo8eLau+rABY3t7epqamAICkpKTLly/T6fQBAwZUVVXBnFEhISEwq0RmZiZMDPXHH3+kpKRgv0dx35yQkBDYKi8vb+fOnTY2NnB0h745b9++3bt375YtWwYOHOju7g4zU7m4uDg5OXl5ee3evfvt27eYO08Hc/fVfx3iXtXgiWSHQHQY7eEtKxaLd+3aJRKJYmJikpKSjh8/Dl3ioZDNzc2DgoI2bNhgY2OzfPly6LhjbW194MABT0/P8ePHr1ixoq1mJtoDFLUG0TG0fP9eWVmZlpbG5XK9vb1NTEyk1ralkBUA6/z58+vWrYOOdYGBgUwmc9u2bWpqar6+vgQCgcPhwAEeg8PhNDY2QvcQHo8n+aXyfXOwlDsikaiuru6nn36C5dA3p6KiwsDAIDQ0lMFg2NvbFxQUwCZcLpdEIrFYrCtXrkh6GHRsNjlpj3cajYbnAYtMJuO5xkHHFpzJ3HCmkELZ5EBXzSaH0U7ess+ePYNTuxoaGkuXLsWWijAnu379+p06derEiRP9+vWrqqoCAHC53D59+iQnJ587d87S0nL+/PlYb10tm1yrzmr8Qobv1CjdQ6cLGWWTa69scm/evBk9ejSZTM7Pz/f29t60aVN2dnZKSoqxsXGLXUsGwIKpnKBjHVxxnzlzZlJS0sGDB1+8ePHrr7+uW7cONrG2tgYA0Gg0Dofj6+vbt29fqW5bdLKD3LlzZ+3atdgBxXxzLC0tm7rhDBgwICIi4ujRo1OmTJH8Dzo3mxz0PlW6Oc5cam2SA6pzDUDZ5NovmxxGO3nLFhYWwrv87777ztjYeOXKlXCJERMyDHQBJIRcWFiopaXV2NiYm5tbUFBQV1eHzdJ3tWxyrU2riFNH+Hvo9CsJyibXLtnkvL29x40bh0V0P3LkyMKFC318fM6dO9eiTU1v2WBmCLjd1LEOAIDdoyntZAdprW+OrCadmE0OAFBXV/clJ5tB2eQ6MZuc4sgXtdJCrq2tzcnJ2bJli5GR0cWLF0NCQgIDAyUrNBWynCZdLZuc4md1D0g2g7LJdcVscpA7d+6kpqZi9x0weIWzs7MiNrUqABbcwB8AC3Lz5s0JEyY0LdfU1Hz+/DncLi0tldSerCbyf5H8mq16/h5l9p+3ODQ0NGpra5V+glfCACngn4KnB/zNcfYgmaOos3oAnfov4D8NWkSWqCFKC1lDQ2Pw4MHwTfcJEyb8+uuvknubFbL8JpK09oDg/AfP+YzFc6eO8ySEN0CdK+Q2MaBzLwUAnwyhAe33L8ja1cIAr66uLnVqCgQCpVdTmgbAAgAwGAwul1tdXU2lUm/cuAFfQ5dKOqe4kx3kzp07MPQ9BpZN7vDhwwUFBfr6+ikpKTCbnKwmTWltvgScLz4ymUycjkI4MzRQKBScbwDjzDCBvwf8bzB3eo4K/C6f7ZorpVlRYygt5GHDhiUkJLx+/drY2Pj33383NzeH5XKELKtJUzpYyKqqqjh7QELuAULG/yK+EkJuYYCfOnXq9u3bsQQPL168WLNmzfTp01v3HXIDYPXt29fBwcHDw8PQ0HDatGnQ8U0q6ZziAbAAAK9fvyYSiVKXRSwJlbe3d0BAAJ/Pt7S0hNnkZDVBIBAt0qyoMZQWMofDWb58eXBwcHV19cCBA1etWgXL5QhZVhME4oulhTiaVVVVzs7Od+/e5fP5HA6noqJi5syZ8fHxXSF/IgKBQCAQCFkoFCj74cOHWVlZ6urq2BIXAoFAIBCIrkzzA/yePXsWL14sGfsJgUAgEAhEN6L51/K2bNmCxZHNzs52cHDoQJMQCAQCgUDgpeX37mtrax88eNABpiAQCAQCgWgr2jhCU8+m2Qx1CET3hcFgaGtrd7YVHQ0SMqKHIUvIaIBvBSj1C6KH0eZBWLsFSMiIHoYsIbdjFgoEAoFAIBCdhcz7dz8/Pxh7qLy8HAAwe/Zsyb1nzpxpb8sQCAQCgUAoTfMDPIw2LxAIAABqamrOzs5wG4FAIBAIRLeg+QEei02LQCAQCASiO4LW4BEIBAKB6IGgAR6BQCAQiB4IGuARzZObm+vu7o5sQCC6NV1BRF3Bhi8TNMAjwIMHD6BbpeJ4eHiM+5fQ0FAlvhS+ndHmxMfHu7q6Ojs7b9u2raamRk4hRn5+/urVq52cnNauXStl1YMHDxYsWNAediIQbY4SQpZz8itIOwk5JSVl/vz5zs7O69ev//jxIyyUb+3Zs2fnzp07a9asffv2wVAHp06dGvdfKioq2sPaLsuXGOYCIQWdTq+qqoLbiYmJ586do9Pp48ePxyp88803ISEhgwcPxkoKCgouXrzIYDAAAERi87eJqampz5494/F4JSUlNBpt3bp1urq6OTk5sbGxJBKppqYmNDQ0PT09Kiqqrq7O2tra09OTyWTKskERMjMzk5OTo6KiWCyWv79/fHy8p6dns4VYE5FItHHjRi8vr6+++ioyMjImJsbPzw/u+vTpU3BwMIVCaZUNCERn0Vohyzn5Jel4IRcUFISEhMTFxWlpaR09enTfvn0hISHyrU1PT7906dL+/fvZbHZkZOTJkyeXLl3q5ubm6uqKVfjrr784HE6rLOnuoCd4BGCxWObm5uBfkURERMTExGRkZGAVQkJCTExMsI88Ho9MJqupqVEoFAqFQiKRZPX8+++/L1y4MCwszN7e/sCBA7Dw8ePHX331VWBgYHl5+a5du7Zu3Xry5EkSiRQZGSnHBkVgs9mbN2/W1tamUCj6+vrQsGYLMZ48eaKtrT18+HASieTp6blixQpYLhAIdu/evXjx4lYZgEB0Iq0VsqyTvykdLOSCgoJJkyYZGBjQaLRp06bl5eW1aO3z589tbW0NDQ1ZLNaMGTP++usvAACJRILXKKFQeOHChVWrVrXKjB4AeoJH/I+7d+86Ozvr6uoCAObMmXPq1ClYLvnsDgAoLCwUi8XLli379OnToEGD1qxZo6+v32yHVlZW8IIyY8aM6OhoGE1BQ0PDxcUFAHDjxg1ra2tYYdGiRWvWrJFjA+T9+/f+/v6SJYcOHaLRaHDbyMjIyMjo2rVr+/fv19fXj4mJkVWIUVBQQKfTvb29uVyuqampr6+vmpoaACA8PPzrr782MzNT7kgiEJ2IgkKWdfI3pYOFbGdnZ2dnBwAQCAQnTpwYO3Zsi9b269fv8OHDs2fPZjKZ165dKy0tlez82LFjTk5OdDq9dcex+4MGeMT/qKystLKygtt6enqyqlEolOnTp7u5uREIhNOnT/v7+4eFhTVbEwZDhE1UVVWrq6sBANgsWWlp6YsXL3788Uf4EcpVvg1GRkbR0dHyf8WkSZNsbW2PHTsWGhq6YcMGOYUAAB6P9/r16z179piYmJw5c8bf3z88PPzPP/+srq52dnbOzc2V/10IRBdEQSE3e/I3W7NThHz79u24uLhRo0YtXbq0RWvHjBnD5XI9PT0pFMqYMWNUVVWxXYWFhZmZmR4eHvK/rkfyf+3daVwT19oA8JMdQsK+RUDBIgoILrjQ34UqVnEtIlIRFVzaW8UdhLpURW1VVFBfFXfqhlZb3K1iXRDBHasICCKIIiCbLMpOlvfDuXduGiCGDJAwPv9Pk8nMyZlJnjmTmWfOgQYe/I++vn5xcTGeljkFltalSxc/Pz98c3rChAkxMTEtLVlUVIQnqqura2pqdHR0ysvLiXv2enp6rq6u+HxfKBSWlJQoXodmxcbGMpnM4cOH6+vrjx8/PjQ0tKWZBAMDgz59+uB/6mPGjImOjkYIxcfHP3782NPTUyQS1dTUeHp6Hjp06HO7ewc6LwWDqNkff7M6OJAlEkl4eHhBQcHGjRvNzMwUqW1jY6Ovry8+Fbh37152djbx1rVr18aMGdOqClAG3IMH/+Pi4nL+/PnS0tK6ujrp4QbS09NramqIl/Hx8fPmzausrKyrq7t8+TJxni6zGEIoJSUlOTlZLBYfPnz4yy+/lLn/PWjQoISEhPz8fJFItH///sOHD8upA/b69et//1N9fT3xLofDOX78eHV1tVgsvnHjBj4WNDuTqO3AgQNTU1MzMjLq6+svXrzo4OCAEFq7du2lS5fOnTu3Y8cOgUBw7tw5aN1BJ6JgIDf742+6GOrwQL53796rV6+2bNliamoqEolEItEna5uTkzNt2rSSkpLa2tqTJ09Kt+jXr193dXVVfm92ZvAPHvxP//79x44dGxAQwOFwfH19Hz9+jOcvWLBAOvl2xIgRubm5M2fOlEgkjo6OP/74I7FYeHh43759iQIHDhx47NixV69ede/evWmCrqmp6aJFi5YvX15VVWVra4uvnLdUB8zS0vLAgQMt1X/o0KHp6en+/v40Gs3e3j4wMLClmdIbtXDhwg0bNlRUVNjb2xPbAkDnpWAg6+vrN/vjV3kgp6SkZGRkjBgxAr/U0dE5d+6cnNrijfLx8Zk9e7ampubYsWOJvP2MjAwGg/HZnqDTJBKJquvQaWRmZqq6Cmrt1q1bVlZW3bp1wy+vX7/+9OnT4OBg1dYKyMHj8VpKkKQwCGT5IJA7nZYCGS7RgzZTUVFBHBQAAJ0UBDJlwD/4VoATf0Ax8A8eAAqAf/AAAADAZwQaeAAAAICCoIEHAAAAKAgek2sFOZ2uA9AZtTRQELVBIAOKodFozc6nQgOfk5Nz5MiRnj17Zmdnv3v3LjAw0NraGiEUFxd38uTJurq6fv36zZkzR0NDo6Ul//7770OHDtXW1jo6On733XfS3RxK09HRUbBKLBaLyWTW1tYqvVGGhoZVVVV40EMl0Gg0Ho/XdGhUxenq6gqFwqqqKqVL0NbWxl1aKofH4zGZzIqKCqVL4PP5VVVVSqeRamho8Hi89+/fK12CpqamSCRqaGhQbnUmk6mrq1tZWdnY2Kh0CWw2W6bTEmlE79/qgKqBXF1drXQJNBqNz+eTiSNdXV2RSETmUEAykLW0tNhsNplxWnk8Xk1NjVgsVm51DofD5/PJBLKGhoZYLFY6kPGD+O0ayGw2u/kVlfs8dfPs2TNfX19fX9+YmJizZ8+GhITk5eX9+uuvYWFhpqamW7du/f333/39/ZtdsqKiIjw8fOPGjebm5nv37o2KilKTQYcmbotXdRVAp3d2iZuqq9AKlAxkr623VF0F0OkpF8gUaeCNjY179uyJEOrRo0d6ejpC6OHDh66urrgf44kTJ0ZERODjQrNLOjg44Oc+J0+e/NNPPxHFFhYWjhs3Dk9Pnz59wYIFrapVS38gAOgwXC6Xy+W29C4eFkx9tFMgl5aWjho1Ck9PnTqV6M1QQRDIQOWUC2SKNPA8Hk9mTkVFhaGhIZ42MjIqKytracn3799nZGTgkRJkFtDW1l6xYgWetrGxUfx6NYPBoNPpSl+QabaeACihoaFBzqVFBoPBZKrRQaCdApnH4xGBbG1tDYEMOh35gUyn05sNZHWJ7fLycjLdBRMpBgkJCY8ePfLw8MAvDx8+fOzYsfLycl1dXWJJkUgUEBDw/fff4zm6urpisfjVq1f4pZvb/66EcLlcLy8v4qXiYyLhW3dK30FHcFwAbUQoFMr5Hbb5Pfi2CmSEUF1d3fLly7Oysvh8vpubm56e3vv376UDGSGUlJQUGRnZvXt3hJCurq6RkVFpaalQKLSzs5s8eTJRlIaGBgQy6NTkB7Ka3oPPyck5duwYnU6vqqqaO3fuvn37rK2tMzMzORzOyJEjExMT09PTv/3229GjRytYoIuLS1lZ2fLly/Py8lasWNG3b18+n3/w4MFBgwbhBSoqKpYvX15YWEis4uTktHfv3q1bt5qbm0dHR5NJJ/ncHA8YLOddSLJThyQ75VZsrTYPZIlEkpmZuWzZMgMDg5CQkL179y5duvT06dNEICOEiouLd+/eTXw7PB4vKytrw4YNlpaWQUFBERERkZGRym3OnRfKp6TJevHxTNBQSLKDJDuVBLLq/8EnJyfPmjVr+PDhRUVFKSkpc+fOnTlzZlBQ0NWrV9esWfP8+fPt27crflxgsViDBg1isVhdunQxNDTMysqaNWuWo6MjcTrPZrMnTpwYFhbGYDAGDhyIENLS0tLU1IyIiKiqqurZs+eiRYuI0urq6hITE/G0paWliYmJgtVgMBgMBkOtUpTbg/wNpNPpZPYAvjpKpgQ6nd7Sia0icFCRLIFOp7f0BMsn4WfYWCyW0g+z0el0+b/DNnxgrG0D+c2bN4aGhk5OTgih2bNnnzx5UiaQJRJJRETElClTjh8/jgPZ0tLSx8dn586dVVVVXC6XGMUYIdTQ0HD79m083bVrV4FA8KnPb7sGHiEmk0nyZ0xmdRqNRj6OSAYyjUYjWQKbzVa6eWaxWAghDoejdAlMJlMikahzILdUsuobeF1d3bFjx+JpMzMznE3TtWtXnEHTrVs36XGCEUJv377dtm2b9JywsLAtW7bgaXt7e3t7e4TQ8ePHp06d6uzsLL2klZUVPqlnMBi2trb48PHu3TsWi8Vms4VCYWNjY3V1NZ/Px8tXVFQsW7YMTyuRZEf5Bp7YUUovQP4j5MOxrcIKkCcns0ZBcn6HbZhk17aBzGazBQLBTz/9lJOTY2lpuW7dOumutq2srKytrS0sLGxsbNhsNk6gs7Cw8PX1NTEx2blzJ4/Hw7l42IcPH4hAVizJTtFr+IrgcDgkDwUkf4QMBoNkIFAgkFV+r0QlgayyBj43N3f79u0LFiyQvmOnqamJJ2g0Gp5uetJkYWGxdetW+YUXFhampqbOmjVLkZqwWKxRo0aNHz+eTqefPn1627ZtmzZtwm8ZGxvfvHkTT3M4nPfv3ytSIGqLx2cNDAyUXrfDyN8hfD6fzIVBLS0tFotF5hI9j8errq5W+rSdw+HweLyysjJVXaJnMBi6urofPnxo1+fgW3Xgy8rKOnjwYFhYWNO39PT0vL29Y2JiUHOBLJFIZL5K+YFcXV2dnZ29cuXKbt26nT9/fvv27Zs3bybeTUhI+Pjx49ixY3Nzc2VWHDZsWL9+/U6cOLFv3z7iapy+vr5ygdwmqqurVdihhY6OjkgkItOhhToEMslL9CQDmfwl+vYOZDab3ewpVBs38ElJSdu3b4+OjlZ8FaWve7Tkxo0bUVFRQqFwzZo1AQEBTa+ri0SixsbG2tpafEolEAgMDAwWL15cW1trY2OTnZ1NLEmn07W1tYmXiv/KJf9FZkNOBw5R845uPrmBJPcA+X2o2hLa5GfQrhVow8Ek2zaQ9fX1hULhkiVL8EuZK5B379599OiRp6cn3ropU6bs2bMnKSmJyWS6uLgsXbp08eLF27dvJ5ZvbSD/q+d/jpVt1dEN+d8AmdXJl0BmdbwuyRJIRgFSaSB3QAVaequNG3gOh4PTMVrqaiomJubSpUsaGhqurq54lZqamlWrVv38888Ioaqqqq1btwYFBUkkkqtXr0ZFRdFoNJnzprdv30ZEREjP2bx5M3GjtKCgYM+ePXp6ehs3brxw4cKOHTvWr1+PEMrMzLSwsNDU1IyNjb1586b07rh06dKRI0c2bdokEAhWr15NpOmqXBt2dCM/Gw6A1hKJRJGRkY8ePaLRaN9++23v3r3z8/MbGxuDg4MXLlxYXl4+ffr0xsZGFovVo0cPhNDWrVslEklwcHB4eDguQX4g9+vXr7q6et26dT169Dh79uyLFy/wfBzIfn5+jx492rNnT01NzcqVK62srHR0dNhs9sGDBy9evFhYWHjnzh38ueqgbTu6gVgGimvjBp7H4+Fbbqi5rqaePHkSGxu7efNmHo+3evVqOeUUFxeXlZUdOHDg7du3wcHBdXV1Ghoa+C0LCwvpc3MZhYWFTk5OeXl5hoaG7u7uRGcXS5cu3bBhg62trZmZ2cSJEzds2ECs8uWXXx4/fvznn3+m0+mampp9+/Yl3qqoqCCuRg4ZMmTYsGEK7gecWqU+TxgrcQMMp8aQuXPGZDJJrk6n08mUwGKx+Hy+0mfNOAGNzK07BoMhkUiUvv+K/xNzuVylL07S6XScnqPc6nLcuXMnLy/vwIEDJSUlCxcu3Lhxo5mZWU5OTnh4eHJycnl5+f79+/X09AICAlJTU8eMGRMUFOTn50e07uhTgcxmszU0NPbt2/fhwwfp1FccyLW1tV9//bVAIMjNzeVyuXl5eQghFxeXe/fuPX36FCFUUlIyb948orQPHz4QIe/q6jp8+HAFN1PdAhm1PpbxJnTqQGYymTweDwJZTiB30D94adJdTSUlJS1btszS0nLMmDHGxsYIIS8vr5iYGCsrq9mzZ69atQoh1LVr1xkzZty/fx8h5O7u/vvvvxcUFHzxxRcsFoto3VELuTnEiX///v379++PEBIKhSdPnvzXv/6F5589exZPODg4IIRYLBZxm1AgEEyePDk6OlpTU1NTU/Pf//43UbJYLCaeD6mvr1c8B5JGo+Hk1Vbsr/akXE3IbwKZ1XFUkKwA/iJUVQGSJeDVyXwLn6yA0kccsVhcVVVVUFDAZDKtrKx69eq1adOmSZMmIYTs7OwOHTqkp6dXU1NjZ2eHu6nhcrkyhyf5gUykvorFYpFIROQQEYGMw7xLly62trb48juNRvvxxx8RQt7e3osXL5bJaSLjl/RjAAAbaUlEQVQCua6urvMGMmr9z6lN4ki1gUz7LxVWgEwJKgzkdmzgm+2UCqe4I4RwMy+DOA1xdXUtKSkJDQ3FaUrSy3wyyW7JkiUvX77E02PGjJF599SpU1euXGlsbNy6deuiRYv4fP6LFy8uXLiAzxBpNNqOHTtCQkLwwvr6+rt37ybWbW3/GCRv3Sm9blOVlZWtXUVNBptRouaENnkO/sOHD6p9Dr66urpdk+ya/V/yyWQaIkJZLJbMkZfBYFy+fPnRo0f4IlBLv2T5gcxisXr27Pn69WsGg/Hu3bvNmzc3XTgxMTEiImLs2LFEOu21a9dOnTolHd14vra2NjUCGbU+ltXkOXgygdwmz8GTCeQ2eQ6+XQOZzWY3G8jt2MA3PeHS09MrLi7esWPHo0ePhEIh/g99/Phx4uZcfHz833//nZSUZGFhMX/+fC8vrxUrVhQVFc2fP3/Xrl2KfKhEInn9+rWtre28efMEAoHMKU9KSsrVq1fDw8PnzJmDEPrjjz9mzZp1+fLlhoaGyMhIPp+/adOme/futdEOIEu1SXbgc9ZSMo23tzde4MSJE9evX+dyub169UpISMjOzq6pqcH/sxMSEm7fvm1lZbVs2bKYmJjbt29fu3aNRqO19gD99OnTnTt3GhgYHDx48K+//pJ+SyKRLFu27M2bNyKRaMqUKTjM8/PzDxw4sHXr1sWLF3M4nBMnTsyePbttdgc5qu3oBnzOOvTekrOzc3h4uJGR0c6dO9etW5eVlVVXV/f9998HBwevXr06Ly/v4cOHgwYNCgkJCQwM/OWXXyIjI1etWjV16lTpy+byc3MSEhLEYvH69etlmnacm6OrqxsYGIjPqU1NTfEyX3zxRXp6ekNDg1gsrqmpUfMkO0ixAR2gpWSauLg4hNCTJ08uX77ctWvXn376ac2aNTQaraqqik6n40Tf8vJynPJWWlp69erVhoaGAwcOFBUVLViwoLa2lrg1Jj+Qb968qaGhoaWlJRaL2Ww2cXkfB3JKSsrHjx8XLly4ZcsWsVgsFovxHUoGg4GvzHM4HPW5rt6uo8nBAQHI0RENPJPJtLe3T0tL69Onj4ODw71795YsWeLj45OcnKyhodG9e3cajRYQEGBubj5r1qyKiorGxkYLC4usrKzp06fjBA1HR0fpAuWE7uPHj0UiEdHvNI/HO3HiBJJKsrOwsLh582ZjYyO+CIkQ8vDwaGhoCAkJ+fjxo4aGhvRBRw1Hk2vVFT+S3WswmUzp7AclkL8+SbIE8n0NqbxDAsUHL28JydHkZJJpEEIPHjzw8PDIyMgICAiQSCQ8Hs/R0TEtLY3P58+fP3/Dhg1//fXX/fv3S0pKnJycrl279uDBgyFDhvTv3z84OFi6+1g5gTxjxgwGg4ET5dhs9tChQ/F8HMjPnz/Py8vDCbBTpkzR1taOjo42NTX18vKaOXMmQiglJUX6mh+FR5NTJEBIdqWn4Ke0awkkD0Tocw3kNm7grayscF9UxARCyN7ensPhpKWlIYSWLFly5syZCxcuxMTETJgwASFEo9EYDIaJicnGjRt/++23v//+Ozk5mUajubq6+vv7i8XiSZMmSV/tl3/rzsvLy9jYmOi1JjU1Fc8ncnNQc11heHt7e3t7l5eXnzhx4syZM0TKLp/PJxr13r17V1dXK7gfyA9C1dIxRcE60Gg0Npst03dYq2hqaorFYjIlaGhokBmlA/8JI3P7k8PhNDQ0kOmfksPhKP6lN8VisSQSidK9xeHHOurq6mTSUFpVApPJVGIQKmnSyTRaWlqrVq0KCwuzt7f39fVFCGVlZe3evRtHqEAgEIlEOjo6U6dOffDgQVBQkEgkwtfYjx8/PmHCBOmuauUHMo1G8/f3t7a2PnbsmLOzs5+fH56PA9nW1nbGjBkIIW9v76NHj+ID34sXL27durVhwwYTE5OzZ8/u2bOHGFmOy+USgWxnZ6cOgdxWPrktKg9kfAFG5YFcU1NDprPbThrIHf34R2Vl5ciRI728vNLS0rZv325jY2NlZYXfSkhIwB1UHT9+/MyZM8qldwkEAhcXl/Xr1+fm5lpYWEj3WoMQunHjRn5+/oMHD6qqquzs7PC7N27c+Pjx44MHD3JzcwUCgXSPS1paWtOnTydedmRuTkvHBQXLxKdNJINKKBSSKYHFYpFZHY9kSqYEvDqZzBoOh1NXV0emjw6SSXaampr19fVkcnMkEomcfajIH7tmk2mIWJDuFY7YUc+ePbtz505QUFDTeP/iiy8UqblEItm8eTN+5i0rK6uyslJmkLqnT58eOHCgsbExKipq7ty5DAYjKSnJ1tY2Ojo6Nze3a9eu2dnZ0g28ugVyW/lk3TgcjkgkUmEg40e8SB4K6urqyCTZcTgcMocCiURCMsmuvQOZzWYTN7/+saJyn6e069evp6SkhIaGWltbNzQ0rF69ms/n4/Oa8vJyfX39goKC0tLS27dvC4VCnJsjFAqlO/qXf+suMTExMjJy8eLF/fv3X7NmDZFGi2/dIYTOnDnz888/29jYzJ8/H8cei8U6evRocHAwvv3fYbtCOVP3PEBw4w2olLOz865du7766istLa1z586Vl5fjK+oVFRXm5uZ1dXXPnj3Dx7K//vorNjaW+OMifdYuP5AfPnz48OHDpUuX9uvX79dffz18+DC+rk4E8pYtW9asWbN8+fKSkpI///zTw8PD0tLy9OnTc+bMcXFxCQ0NJX9Rt70pEsWQZAfI6OgGfvTo0WlpadOnT8fnRP/3f//H5/O/++673NxcNze3uLg4FosVERFha2t7/fr1tWvX4rt68+bNI55ykd8/hr6+vq6u7v79+xFC9vb2CxcuxPPxrTs2m21kZBQeHk6j0QQCAT4j09bW1tPT27dv3/79+3v16hUcHEyUprajySlSMvlBqEhuAowmR7HR5JhMJh63rU+fPiNHjgwODuZwOAMGDMjOzt61a5eWltbs2bPfvHmzZs2aIUOGXL16FSGkp6dXX1+PnwCuqqqysbEhSpMfyPHx8Y2Njb/88gt+SZyp40B+//69jY0N7qtuzJgxZ8+e9fDw4PF4hoaGJ0+ePHLkiI2Nzdy5c4nSWj+a3P/2T/sFsoLFwmhyMJqcuo8mZ21tjTNi+Hz+2rVrEUJ79+41NjbGTeaCBQtiYmJ0dHQWL168e/fujRs33rp1C6fgWVhYnD9/XrqoT/aPgcetysnJ+fDhA3H8wrfuzp075+TkhJ+RKygowB3syKwi/S2q7WhyCnYLRXIIJhiEinwFyFPJIFQtJdMQ/VjgtBWE0N69eydPnoy7tZg7d25MTExYWFhOTs7jx4/xR+vp6QUHB3fv3l3mI+QHsoODQ11dHY5KS0vL+fPn4/lEIONDR0xMDL7mhxAqKCgwNzfHq9TX10tvdetHk/uHdgpkxX9aMJocjCaHOtdocvI7vZHu6KZVuTnyB6FCUjcUib775axiZGREnF7w+fzy8nIFt47JZDIYDDKJLTJ3HGV8siY0Go3L5ZJJENPW1hYKhXK6VvgkHo9Hpp8cLpfLZDJJ9rBBJrOGw+FwudyKigoyJYjFYqVvvDEYDG1t7Y8fPyqd3YOP7HIypFgsFskDX6cIZH19fSKQeTyemgSyItWg0WhaWlokx4ITi8VkDgUqD2Qul0vmDjqbzdbS0qJ2ILfUnbDKGviW8nQwpXNz9PX1e/fuja/djRgx4tSpU9LvGhgYpKSk4OnS0lL85IacVRgMBh7WmlhFwa3DeSVK50xicjq6+WTJNBpNIpGQqQA+bpIsQR0qoHRU46QeMiXg+1BKbwJuw0iWIH8fku9lvVMEMp1OV2Egt9TRjSLFkg9k1BaRSGZ1Io7IVAD3dkCyAmQOBWTCkCik/QK5pXttKmvgZfJ0ZN6VzsXjcDiK5+b069cvOjo6MzPT0tLyypUrdnZ2eD7OzXFyctq/f39+fn6XLl1iY2NxT/UtrdJUax/lVDqBViwW+/n5zZgx4+uvv1auBIzMpcVVq1Z17dpVuoshJZB5+PXXX3/NysqSHhZICWT2QHx8/MGDB6OiosjchicjNzd3wYIFK1euJPqcUQ75a4NyQCDL5+/vP23aNHd3d6VLQOTiaO3atcbGxgEBAaqqwNGjR1NTU2UuwLQWmZTJxMREnGLVbJ55BygoKFi4cOHy5cvl/CYVoUQgq6yBl87T8fLySk5Oln6XyMVjMplubm7SHd3Iz83R09P74Ycftm3bhgehkkmys7W1DQwMDAsLa2xsdHR0xJ3YtLSKaqWnpyt+IbE95OTkkL/vRUZhYeGrV69UWIGKior09PQ2HDG9terr69PT08lcXO0AEMjyZWRklJWVqbACr1+/JvnXk6SioiKZx5U7WGVlZXp6utIXAMjDgUzmNofSVDkMIpGngxDCZ7hERg+Ri6cEZ2dnZ2dnmZnSg1Dhcag+uQoAQBEQyACoJ3XprhnIMDMzU20HmcbGxvIT/dqbrq5us0MOdhgtLS0zMzOln40hj8VimZmZtd+zGKADmJmZqTZ/28jISLXja+jo6Cj+gHF74HK56hDIKumYgabCK5AAAAAAaCfwDx4AAACgIGjgAQAAAAqCBh4AAACgIFVm0YNm4WGyqqqqnJ2df/jhh1b1Ft4mlixZ8vLlSzw9duzY2bNnd9hHi0SigICA7du3E098dvDeaFqBDt4bN27cOHXqVE1NjbW1dUBAAM5OUvlPAihB5d8aBDIE8n/6CwNqoqamZsqUKZmZmfX19aGhoefPn+/4OkyZMuXDhw8NDQ0NDQ14KL+OceXKlZCQkG+++aa6uhrP6eC90bQCko7dG/n5+RMnTiwoKKivr4+KilqxYoVEPX4SoLXU4VuDQIZAhkv06uXx48d4mCw2mz1+/Pg7d+50cAWqq6vpdDqfz2exWCwWqyP/dpiZmU2cOFH6Ezt4bzStQAfvjcLCwq+//logELDZbHd397y8PKQGPwmgBJV/axDIEMgILtGrm9LSUuKZURMTE8U7zW4r7969QwgtWrSouLjYxsYmICDA1NS0Yz7awcEB/bNT5Q7eG00r0MF7g+i8RSgUnjx5EvfAqvKfBFCCyr81CGQIZARJdmqo6TBZHYnFYo0aNWr9+vVRUVHW1tYyA3p2vM9wb9y9e3fBggVGRkbff/89nqPanQCU8xn+dOX4DPeGOgQyNPDqxcDAoLi4GE8Tw2R1JIFAMGnSJB6Px+Vyx40bp9re4D+3vSGRSHbu3Hnp0qVVq1ZNnz6dTqcjNdgJQAkq/9YgkKV9toEMDbx6cXJyyszMzM/Pl0gkxDBZHenOnTshISEfPnyoq6u7du1a7969O7gC0j63vfHo0aPXr1+vW7fO1NSUGB9T5TsBKEHl3xoEsrTPNpDhHrx64XK5TYfJ6khDhw59+/btvHnzEEK9e/dW7ZBcn9veeP78+cuXL728vPBLbW3t6Ohole8EoASVf2sQyNI+20CGvugBAAAACoJL9AAAAAAFQQMPAAAAUBA08AAAAAAFQQMPAAAAUBA08AAAAAAFQQMPQGc1YcIEWhPr169Xdb062oMHD4g+wgAABGjgAejE3Nzc7v/TjBkzlCjH1dU1IiKirWvXNlqq25s3b2g02r59+8iUSaYQANQcdHQDQCdmYGAwePDgjvzEhoaG/Px8KyurjvzQZuugp6e3bNmyvn37kilKR0eHfCEAqCf4Bw8ABVVWVs6ZM6dbt246OjoeHh5ZWVl4/osXL0aNGqWnp6etrT106NBnz54hhAYOHJiYmBgcHDx69Ojq6moajZaWlkYsT6PRKisrEUIsFuvSpUtmZma4I7CWPkJacXGxj4+PkZGRQCBYtGhRQ0MDQqikpGTq1KmmpqZdunSZNm1aSUkJXpjFYt2/f3/SpEndu3e3traOiYmRqZtMHXR1dcPDw4VCIV799u3bAwYM0NHRGTJkyJMnTxBCLW2LdJnShbSqYgB0Au0+4jwAoH14enoOGzYsSUp6ejp+a+jQoUOGDLl169aDBw8mT54sEAjKy8slEomTk9PQoUOvX79+8+bNr776atCgQXh5FxeX8PBwiURSVVWFEEpNTcXzMzIyEEIVFRUSiYTJZNrY2ERFReXk5Mj5CIJIJHJ0dBw9evTdu3ePHj1qZGS0cuVKsVg8cODAwYMHx8XF3bp1a/DgwQMGDBCLxbj8IUOGZGdnC4XC1atXa2ho1NbWStetaR2YTGZiYuL9+/cRQjY2NufPn4+Pjx8zZoy2tnZpaamcbZEpMzExUYmKAaDmoIEHoLPy9PSUOV93dnaWSCT3799nsVhlZWV4MaFQaG5ufuHCBbFYvGnTpuzsbDw/Ojra0NAQTyvYwG/ZsgXPb+kjpKt36dIlHo9HtPp79+719/ePi4tjMpm5ubl45ps3bxgMRnx8PC4/MjISz8/NzUUIZWVlSZo0xkQdJP9s4M+dO4dn1tTUGBsbh4eHt6qBV6JiAKg5uEQPQCfm7e0tHc/37t1DCKWnpzc2NhobG7NYLBaLpaGhkZeXl5WVRaPRAgMD8/Pzd+3aNXPmzKCgoNZ+XJ8+ffBESx8hvXBqaqq9vb2uri5+OXv27CNHjqSnp1taWlpYWOCZXbt27datW3p6On5pa2uLJ7hc7ifrIGPIkCF4QlNT08XFhShTQeQrBoC6gSQ7AKhGR0dHX1///fv3MvNramqGDx9eUlLi6ek5YcIEV1fXpUuXyi+qtrZW+iXRvLX0EdIaGxuZTNkjjFgslnmkjU6nE/fR2Wy2/PqglptY6WIlEgmHw5FZQGZb2rxiAKgb+AcPANXY29uXlZWlpqbil6WlpZ6ens+fP4+Li3v27FlqauqWLVs8PDzwMNXNKi8vxxOPHz9u1UdIL2Nra5uamoqvkyOEfvvtN3d39169euXk5OTn5+OZeXl5r1+/trOzI7G5/xEXF4cnamtr79696+DgoOC2YO1XMQBUBRp4AKjGxsbGy8tr6tSpcXFxCQkJfn5+6enpNjY2fD6/urr69OnTr169Onjw4Nq1az9+/IgT6el0enZ2dkVFhZaWlpGRUVhYWFpa2o0bN3bt2tWqj5BexsPDw8jIaNq0aUlJSefOnVuxYoWdnd2wYcMcHR19fHzu3r17584dHx+fPn36DB06VM7mEHWTswyHwwkMDDx//vy9e/cmTZpEp9P9/PzkbEvTMpWoGADqTkX3/gEAZHl6esrcgydUV1cHBASYm5vr6OiMHz/+1atXeH5oaKiJiYmBgYG3t3dWVpanp+e4ceMkEklUVJSBgYGXl5dEIomNje3Zsyefz3dzc0tLS3N2dv748aPkv8lon/wIabm5uePHj9fT08OPyeHk86KiosmTJ5uYmJiYmEyZMqW4uBgvLF1+aWmppqYmLlO6bjJ1wC9TU1O/+eabS5cu9e3bV0dHx93dnUiCa2lbmi2ztRUDQM3RJBKJqs8xAAAAANDG4BI9AAAAQEHQwAMAAAAUBA08AAAAQEHQwAMAAAAUBA08AAAAQEHQwAMAAAAUBA08AAAAQEHQwAMAAAAUBA08AAAAQEHQwAMAAAAUBA08AAAAQEHQwAMAAAAUBA08AAAAQEHQwAMAAAAUBA08AAAAQEHQwAMAAAAUBA08AAAAQEHQwAMAAAAUBA08AAAAQEHQwAMAAAAUBA08AAAAQEHQwAMAAAAUBA08AAAAQEHQwAMAAAAUBA08AAAAQEHQwAMAAAAUxFR1BQD4TI38+U8yq1/4cTiHw2mryqicUCj888FbMiWMc+7KYDDaqj4AUAD8gwegU5JIJKquQlui2OYAoA6ggQcAAAAoCBp4AAAAgIKggQcAAAAoCBp4AAAAgIKggQeAghwcHOLj41VdC3WhqampoaGhqampo6MzfPjw58+fq7pGAHQEaOABAP9RWFio6iq0lxcvXtTW1ubl5Xl6erq6ur5//761JVB45wCqggYeAMpKTk4eNWrU2rVrPTw87O3tk5KS8PzDhw/36NHD2Ng4MDAQLzZ27FgPD49vv/0WIXT16lUHBwdLS8tZs2ZVVFTgVcLDwwUCgb6+vpubW1FREUJIKBTOmjXL2NjY1NR0x44deLGm6za7mKrw+fz58+ePHDly9+7dzdYWfcY7B1APNPAAUFlcXNzIkSMvXLjg5+cXERGBEEpJSQkNDb1161ZKSkpsbOyff/6JELpx44a7u/vVq1eLiop8fX1PnDiRlZXFZDKDgoIQQrm5uevWrbt///67d++MjIwOHTqEEPrjjz8yMjJycnJu3rwZHBxcXV3d7LpNF1Pp/kAIoREjRjx58qTZ2sLOAVQCPdkBQGXdunVzdnZGCA0YMODOnTsIoZiYGH9/fzMzM4TQ4cOHNTQ0EEImJibz589HCJ04ccLNzc3BwQEhFBoa6ubmht/NzMw0NTWtrKzkcDiVlZUIIZFIVF5e/vLly759+zY0NCCEfvvtt6brNl1M5YyNjd+9e3fx4sWmtYWdA6gEGngAqExfXx9P0Gg0PJGfnz9o0CA8PXjwYIRQcnKyqakp8e7du3f79esnvTqTydy9e/fFixdZLBadTjc3N0cI+fj45Obmuru78/n8kJCQOXPmNLtu08U6ZsPlKCkpEQgEzdYWdg6gEmjgAaAyol0nGBsb4/vECKGkpKSGhgYtLS06nU686+XlFRkZiRBqaGjIz89HCJ06dSo2Nvby5csCgWDLli1lZWUIoZKSkh9++OHHH3+8ffv29OnTBw0a1Oy6TRfr379/R219865fv963b18jI6OmtYWdA6gE7sED8Hnx8PA4fPhwUVFRZWXlnDlzcnNzpd8dPXr02bNns7KyhELh8uXLQ0NDEULv3r3r1q2bQCB4+/btyZMna2pqEEKHDh3y9fUVi8UDBgzQ0tIqLy9vdt2mi6lkq7Gampp9+/ZduXJl7ty5zdb2c945gHqggQfgs8Bms8eNG4cQcnZ2DgwMdHZ27tWrl4uLi4+Pj/RilpaWO3bsGDdunJmZ2cuXL7dt24YQ8vf3x83YtGnTlixZcvPmzcePHwcEBNDpdIFA0LNnTw8Pj2HDhjW7btPFVLL5dnZ2fD5fIBCcOnUqPj7e0NCw2dp+njsHUBUNBnECQCVIDhd7PuRrnAJGDY2NjZcf5pEpAYaLBUAG/IMHAAAAKAgaeAAAAICCoIEHAAAAKAgaeAAAAICCoIEHAAAAKAiy6AFQjdraWjKrM5lMFovVVpVROZFIRLKvVg6HQ/RIAwBA0MADAAAAlAQnvAAAAAAFQQMPAAAAUBA08AAAAAAFQQMPAAAAUBA08AAAAAAFQQMPAAAAUBA08AAAAAAFQQMPAAAAUBA08AAAAAAFQQMPAAAAUBA08AAAAAAFQQMPAAAAUBA08AAAAAAFQQMPAAAAUND/A4ryl3LkR46KAAAAAElFTkSuQmCC)