Files
AI-Red-Teaming-CSCD94/first-order-attacks/fgsm.ipynb
T
Jeremy Janella 75faa5c410 added material
2026-05-09 23:21:13 -04:00

1867 lines
404 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "4da2c53a-ad93-4a21-b5b2-ae26b1efc72b",
"metadata": {},
"source": [
"# Setup"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "87540fd0-0014-4bc9-9b0e-2fb35d1a9489",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1/1: Avg Loss = 0.1567, Test Accuracy = 98.37%\n",
"Baseline test accuracy: 98.37%\n"
]
}
],
"source": [
"import os\n",
"import random\n",
"import numpy as np\n",
"import torch\n",
"from torch import nn, Tensor\n",
"import torch.nn.functional as F\n",
"from torch.utils.data import DataLoader\n",
"from torchvision import datasets, transforms\n",
"\n",
"# Import common utilities from HTB Evasion Library\n",
"from htb_ai_library import (\n",
" set_reproducibility,\n",
" SimpleCNN,\n",
" get_mnist_loaders,\n",
" mnist_denormalize,\n",
" train_model,\n",
" evaluate_accuracy\n",
")\n",
"\n",
"# Configure reproducibility\n",
"set_reproducibility(1337)\n",
"\n",
"# Configure computation device\n",
"device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
"\n",
"# Prepare data loaders using library function (normalized space)\n",
"train_loader, test_loader = get_mnist_loaders(batch_size=128, normalize=True)\n",
"\n",
"# Initialize model using library's SimpleCNN\n",
"model = SimpleCNN().to(device)\n",
"\n",
"# Train the model using library function\n",
"trained_model = train_model(model, train_loader, test_loader, epochs=1, device=device)\n",
"\n",
"# Evaluate baseline accuracy using library function\n",
"baseline_acc = evaluate_accuracy(trained_model, test_loader, device)\n",
"print(f\"Baseline test accuracy: {baseline_acc:.2f}%\")"
]
},
{
"cell_type": "markdown",
"id": "652c65d8-4f66-49d9-b56b-625d824ec830",
"metadata": {},
"source": [
"# Core Implementation"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "8986fb35-25cc-42e2-bdae-7bfd178df181",
"metadata": {},
"outputs": [],
"source": [
"def _forward_and_loss(model: nn.Module, x: Tensor, y: Tensor) -> tuple[Tensor, Tensor]:\n",
" \"\"\"Forward pass and cross-entropy loss without side effects.\n",
"\n",
" Args:\n",
" model: Neural network classifier\n",
" x: Input images tensor\n",
" y: Target labels tensor\n",
"\n",
" Returns:\n",
" tuple[Tensor, Tensor]: Model logits and scalar loss value\n",
" \"\"\"\n",
" if getattr(model, \"training\", False):\n",
" raise RuntimeError(\"Expected model.eval() for attack computations to avoid BN/Dropout state updates\")\n",
" logits = model(x)\n",
" loss = F.cross_entropy(logits, y)\n",
" return logits, loss\n",
"\n",
"def _input_gradient(model: nn.Module, x: Tensor, y: Tensor) -> Tensor:\n",
" \"\"\"Return gradient of loss with respect to input tensor x.\n",
"\n",
" Args:\n",
" model: Neural network in evaluation mode\n",
" x: Input images to compute gradients for\n",
" y: True labels for loss computation\n",
"\n",
" Returns:\n",
" Tensor: Gradient tensor with same shape as x\n",
" \"\"\"\n",
" x_req = x.clone().detach().requires_grad_(True)\n",
" _, loss = _forward_and_loss(model, x_req, y)\n",
" model.zero_grad(set_to_none=True)\n",
" loss.backward()\n",
" return x_req.grad.detach()\n",
"\n",
"def fgsm_attack(model: nn.Module,\n",
" images: Tensor,\n",
" labels: Tensor,\n",
" epsilon: float,\n",
" targeted: bool = False) -> Tensor:\n",
"\n",
" # Valid normalized range for MNIST\n",
" MNIST_NORM_MIN = (0.0 - 0.1307) / 0.3081\n",
" MNIST_NORM_MAX = (1.0 - 0.1307) / 0.3081\n",
"\n",
" if epsilon < 0:\n",
" raise ValueError(\"epsilon must be non-negative\")\n",
" if not images.is_floating_point():\n",
" raise ValueError(\"images must be floating point tensors\")\n",
"\n",
" grad = _input_gradient(model, images, labels)\n",
" step_dir = -1.0 if targeted else 1.0\n",
" x_adv = images + step_dir * epsilon * grad.sign()\n",
" x_adv = torch.clamp(x_adv, MNIST_NORM_MIN, MNIST_NORM_MAX)\n",
" return x_adv.detach()"
]
},
{
"cell_type": "markdown",
"id": "bb2c7e2d-cdf4-4c4d-b2f9-f267a0b54e81",
"metadata": {},
"source": [
"# Testing "
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "605666f2-028e-4db1-8c2d-6971a1d7f357",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"FGSM flips (first batch): 69.53%\n"
]
}
],
"source": [
"images, labels = next(iter(test_loader))\n",
"images, labels = images.to(device), labels.to(device)\n",
"\n",
"model.eval()\n",
"# Epsilon in normalized space (≈0.25 in pixel space)\n",
"epsilon = 0.8\n",
"with torch.no_grad():\n",
" clean_pred = model(images).argmax(dim=1)\n",
"\n",
"x_adv = fgsm_attack(model, images, labels, epsilon)\n",
"with torch.no_grad():\n",
" adv_pred = model(x_adv).argmax(dim=1)\n",
"\n",
"originally_correct = (clean_pred == labels)\n",
"flipped = (adv_pred != labels) & originally_correct\n",
"success = flipped.sum().item() / max(int(originally_correct.sum().item()), 1)\n",
"print(f\"FGSM flips (first batch): {success:.2%}\")"
]
},
{
"cell_type": "markdown",
"id": "d1d3fcf0-9d58-411f-a261-6ad8e44c23ce",
"metadata": {},
"source": [
"# Pixel - space FGSM"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "a9fcd9d9-53e8-495d-bcb2-2b86844aef97",
"metadata": {},
"outputs": [],
"source": [
"def _norm_params(images: Tensor, mean: list, std: list) -> tuple[Tensor, Tensor]:\n",
" \"\"\"Convert normalization parameters to broadcastable tensors.\n",
"\n",
" Args:\n",
" images: Input images tensor with shape (N, C, H, W)\n",
" mean: Normalization mean per channel as list\n",
" std: Normalization std per channel as list\n",
"\n",
" Returns:\n",
" tuple[Tensor, Tensor]: Mean and std tensors with shape (1, C, 1, 1)\n",
" \"\"\"\n",
" device, dtype, C = images.device, images.dtype, images.shape[1]\n",
" mean_t = torch.tensor(mean, device=device, dtype=dtype).view(1, -1, 1, 1)\n",
" std_t = torch.tensor(std, device=device, dtype=dtype).view(1, -1, 1, 1)\n",
" if mean_t.shape[1] != C or std_t.shape[1] != C:\n",
" raise ValueError(\"mean/std channels must match images\")\n",
" return mean_t, std_t\n",
"\n",
"def fgsm_pixel_space(model: nn.Module,\n",
" images: Tensor,\n",
" labels: Tensor,\n",
" epsilon: float,\n",
" mean: list,\n",
" std: list,\n",
" targeted: bool = False) -> Tensor:\n",
" \"\"\"FGSM for pixel-space inputs attacking normalized models.\n",
"\n",
" This variant accepts images in [0,1] pixel space rather than normalized\n",
" space. It normalizes inputs internally for the model, converts gradients\n",
" back to pixel space, and returns adversarials in [0,1] pixel space.\n",
"\n",
" Args:\n",
" model: Model expecting normalized inputs\n",
" images: Clean images in [0,1] pixel space (unnormalized)\n",
" labels: Target labels\n",
" epsilon: Max perturbation in pixel space (e.g., 8/255)\n",
" mean: Normalization mean per channel\n",
" std: Normalization std per channel\n",
" targeted: If True, minimize loss towards labels\n",
"\n",
" Returns:\n",
" Tensor: Adversarial images in [0,1] pixel space (unnormalized)\n",
" \"\"\"\n",
" mean_t, std_t = _norm_params(images, mean, std)\n",
" x = images.clone().detach()\n",
" x_norm = (x - mean_t) / std_t\n",
" x_norm.requires_grad_(True)\n",
"\n",
" _, loss = _forward_and_loss(model, x_norm, labels)\n",
" model.zero_grad(set_to_none=True)\n",
" loss.backward()\n",
"\n",
" # Convert gradient from normalized space to image space\n",
" grad_img = x_norm.grad / std_t\n",
" step_dir = -1.0 if targeted else 1.0\n",
" x_adv = torch.clamp(x + step_dir * epsilon * grad_img.sign(), 0.0, 1.0)\n",
" return x_adv.detach()\n",
"\n",
"# Example: Starting with pixel-space images\n",
"epsilon_px = 8 / 255 # pixel-space epsilon (≈0.031)\n",
"mean, std = [0.1307], [0.3081]\n",
"\n",
"# Denormalize existing normalized images to get pixel-space images\n",
"mean_t, std_t = _norm_params(images, mean, std)\n",
"pixel_images = images * std_t + mean_t\n",
"pixel_images = torch.clamp(pixel_images, 0.0, 1.0)\n",
"\n",
"# Attack in pixel space\n",
"x_adv_pixel = fgsm_pixel_space(model, pixel_images, labels, epsilon_px, mean, std)\n",
"\n",
"# x_adv_pixel is in [0,1] and can be displayed or saved directly\n",
"# If you need to pass to the model again, normalize it first:\n",
"x_adv_norm = (x_adv_pixel - mean_t) / std_t"
]
},
{
"cell_type": "markdown",
"id": "c26be0c0-550f-43fc-b1ac-37efc4de2331",
"metadata": {},
"source": [
"# Evaluation"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "cd04bfe2-d396-4af1-88cb-d7f0c134348a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"clean_accuracy: 1.0000\n",
"adversarial_accuracy: 0.3047\n",
"attack_success_rate: 0.6953\n",
"avg_clean_confidence: 0.9854\n",
"avg_adv_confidence: 0.2756\n",
"avg_confidence_drop: 0.7099\n",
"avg_l2_perturbation: 17.2031\n",
"max_linf_perturbation: 0.8000\n"
]
}
],
"source": [
"from typing import Dict\n",
"\n",
"def evaluate_attack(model: nn.Module,\n",
" clean_images: Tensor,\n",
" adversarial_images: Tensor,\n",
" true_labels: Tensor) -> Dict[str, float]:\n",
" \"\"\"Compute accuracy, success rate, confidence shift, and norms.\n",
"\n",
" Args:\n",
" model: Evaluated classifier in evaluation mode\n",
" clean_images: Clean inputs in the model's expected domain (e.g., normalized MNIST)\n",
" adversarial_images: Adversarial counterparts in the same domain as `clean_images`\n",
" true_labels: Ground-truth labels\n",
"\n",
" Returns:\n",
" Dict[str, float]: Aggregated metrics summarizing attack impact\n",
" \"\"\"\n",
" model.eval()\n",
" with torch.no_grad():\n",
" clean_logits = model(clean_images)\n",
" adv_logits = model(adversarial_images)\n",
"\n",
" clean_probs = F.softmax(clean_logits, dim=1)\n",
" adv_probs = F.softmax(adv_logits, dim=1)\n",
"\n",
" clean_pred = clean_logits.argmax(dim=1)\n",
" adv_pred = adv_logits.argmax(dim=1)\n",
"\n",
" clean_correct = (clean_pred == true_labels)\n",
" adv_correct = (adv_pred == true_labels)\n",
"\n",
" originally_correct = clean_correct\n",
" flipped = (~adv_correct) & originally_correct\n",
"\n",
" conf_clean = clean_probs.gather(1, true_labels.view(-1, 1)).squeeze(1)\n",
" conf_adv = adv_probs.gather(1, true_labels.view(-1, 1)).squeeze(1)\n",
"\n",
" l2 = (adversarial_images - clean_images).view(clean_images.size(0), -1).norm(p=2, dim=1)\n",
" linf = (adversarial_images - clean_images).abs().amax()\n",
"\n",
" return {\n",
" \"clean_accuracy\": clean_correct.float().mean().item(),\n",
" \"adversarial_accuracy\": adv_correct.float().mean().item(),\n",
" # Success rate among originally correct samples only\n",
" \"attack_success_rate\": (\n",
" flipped.float().sum() / originally_correct.float().sum().clamp_min(1.0)\n",
" ).item(),\n",
" \"avg_clean_confidence\": conf_clean.mean().item(),\n",
" \"avg_adv_confidence\": conf_adv.mean().item(),\n",
" \"avg_confidence_drop\": (conf_clean - conf_adv).mean().item(),\n",
" \"avg_l2_perturbation\": l2.mean().item(),\n",
" \"max_linf_perturbation\": linf.item(),\n",
" }\n",
"\n",
"metrics = evaluate_attack(model, images, x_adv, labels)\n",
"for k, v in metrics.items():\n",
" print(f\"{k}: {v:.4f}\")\n"
]
},
{
"cell_type": "markdown",
"id": "2c653cdf-5d4a-4255-81d1-c26e75c13abf",
"metadata": {},
"source": [
"# Visualization"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "562839cd-e6fd-4698-8045-356420af9a48",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_5838/414685490.py:129: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n",
" fig.tight_layout(rect=(0, 0, 1, 0.93))\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 1600x1000 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"# Colors imported from library\n",
"from htb_ai_library import (\n",
" HTB_GREEN, NODE_BLACK, HACKER_GREY, WHITE,\n",
" AZURE, NUGGET_YELLOW, MALWARE_RED, VIVID_PURPLE, AQUAMARINE\n",
")\n",
"\n",
"def _style_axes(ax: plt.Axes) -> None:\n",
" \"\"\"Apply Hack The Box dark theme to an axes instance.\n",
"\n",
" Args:\n",
" ax: Matplotlib axes to style\n",
" \"\"\"\n",
" ax.set_facecolor(NODE_BLACK)\n",
" ax.tick_params(colors=HACKER_GREY)\n",
" for spine in ax.spines.values():\n",
" spine.set_color(HACKER_GREY)\n",
" ax.grid(True, color=HACKER_GREY, linestyle=\"--\", alpha=0.25)\n",
"\n",
"def visualize_attack(model: nn.Module,\n",
" image: Tensor,\n",
" label: Tensor,\n",
" make_adv,\n",
" title: str,\n",
" num_classes: int = 10,\n",
" targeted: bool = False,\n",
" target_class: int | None = None) -> None:\n",
" \"\"\"HTB-styled visualization for adversarial examples.\n",
"\n",
" Args:\n",
" model: Classifier in evaluation mode\n",
" image: Single image in normalized space, shape (C,H,W)\n",
" label: Scalar true label tensor\n",
" make_adv: Callable (model, image_batch, label_batch) -> adv_batch in normalized space\n",
" title: Figure title\n",
" num_classes: Number of classes to show in probability bars\n",
" targeted: Whether the attack is targeted\n",
" target_class: Optional target class to annotate\n",
" \"\"\"\n",
" model.eval()\n",
" dev = next(model.parameters()).device\n",
" image_dev = image.to(dev)\n",
" label_dev = label.to(dev)\n",
"\n",
" # Compute clean predictions\n",
" with torch.no_grad():\n",
" clean_probs = F.softmax(model(image_dev.unsqueeze(0)), dim=1).squeeze(0)\n",
" clean_pred = int(clean_probs.argmax().item())\n",
"\n",
" # Generate adversarial example\n",
" x_adv_dev = make_adv(model, image_dev.unsqueeze(0), label_dev.unsqueeze(0)).squeeze(0)\n",
" perturbation_dev = x_adv_dev - image_dev\n",
"\n",
" # Compute adversarial predictions\n",
" with torch.no_grad():\n",
" adv_probs = F.softmax(model(x_adv_dev.unsqueeze(0)), dim=1).squeeze(0)\n",
" adv_pred = int(adv_probs.argmax().item())\n",
"\n",
" # Denormalize for visualization\n",
" image_vis = mnist_denormalize(image_dev.unsqueeze(0)).squeeze(0).detach().cpu()\n",
" x_adv_vis = mnist_denormalize(x_adv_dev.unsqueeze(0)).squeeze(0).detach().cpu()\n",
" perturbation_vis = (x_adv_vis - image_vis)\n",
"\n",
" # Create figure with grid layout\n",
" fig = plt.figure(figsize=(16, 10), facecolor=NODE_BLACK)\n",
" gs = fig.add_gridspec(2, 3, hspace=0.35, wspace=0.35)\n",
"\n",
" # Original image panel\n",
" ax1 = fig.add_subplot(gs[0, 0])\n",
" _style_axes(ax1)\n",
" if image_vis.shape[0] == 1:\n",
" ax1.imshow(image_vis.squeeze(0), cmap='gray', vmin=0, vmax=1)\n",
" else:\n",
" ax1.imshow(image_vis.permute(1, 2, 0))\n",
" ax1.set_title(f\"Original | class={clean_pred} | p={clean_probs[clean_pred]:.2%}\",\n",
" color=HTB_GREEN, fontweight=\"bold\")\n",
" ax1.set_xticks([])\n",
" ax1.set_yticks([])\n",
"\n",
" # Adversarial image panel\n",
" ax2 = fig.add_subplot(gs[0, 1])\n",
" _style_axes(ax2)\n",
" if x_adv_vis.shape[0] == 1:\n",
" ax2.imshow(x_adv_vis.squeeze(0), cmap='gray', vmin=0, vmax=1)\n",
" else:\n",
" ax2.imshow(x_adv_vis.permute(1, 2, 0))\n",
" title_color = MALWARE_RED if adv_pred != int(label.item()) else HTB_GREEN\n",
" adv_title = f\"Adversarial | class={adv_pred} | p={adv_probs[adv_pred]:.2%}\"\n",
" if targeted and target_class is not None:\n",
" adv_title += f\" | target={target_class}\"\n",
" ax2.set_title(adv_title, color=title_color, fontweight=\"bold\")\n",
" ax2.set_xticks([])\n",
" ax2.set_yticks([])\n",
"\n",
" # Perturbation panel (scaled for visibility)\n",
" ax3 = fig.add_subplot(gs[0, 2])\n",
" _style_axes(ax3)\n",
" pert_scaled = (perturbation_vis * 10 + 0.5).clamp(0, 1)\n",
" if pert_scaled.shape[0] == 1:\n",
" ax3.imshow(pert_scaled.squeeze(0), cmap='gray', vmin=0, vmax=1)\n",
" else:\n",
" ax3.imshow(pert_scaled.permute(1, 2, 0))\n",
" ax3.set_title(\"Perturbation (x10)\", color=NUGGET_YELLOW, fontweight=\"bold\")\n",
" ax3.set_xticks([])\n",
" ax3.set_yticks([])\n",
"\n",
" # Class probability comparison\n",
" ax4 = fig.add_subplot(gs[1, :])\n",
" _style_axes(ax4)\n",
" x = np.arange(num_classes)\n",
" width = 0.4\n",
" ax4.bar(x - width/2, clean_probs[:num_classes].cpu(), width,\n",
" color=AZURE, label=\"clean\")\n",
" ax4.bar(x + width/2, adv_probs[:num_classes].cpu(), width,\n",
" color=MALWARE_RED, label=\"adv\")\n",
" ax4.set_xlabel(\"Class\", color=WHITE)\n",
" ax4.set_ylabel(\"Probability\", color=WHITE)\n",
" legend = ax4.legend(facecolor=NODE_BLACK, edgecolor=HACKER_GREY)\n",
" for text in legend.get_texts():\n",
" text.set_color(WHITE)\n",
" ax4.set_title(\"Class probabilities\", color=HTB_GREEN, fontweight=\"bold\")\n",
" for text in ax4.get_xticklabels() + ax4.get_yticklabels():\n",
" text.set_color(HACKER_GREY)\n",
"\n",
" # Add main title and display\n",
" fig.suptitle(title, color=HTB_GREEN, fontweight=\"bold\", fontsize=24, y=0.98)\n",
" fig.tight_layout(rect=(0, 0, 1, 0.93))\n",
" plt.show()\n",
"\n",
"def visualize_fgsm_attack(model: nn.Module,\n",
" image: Tensor,\n",
" label: Tensor,\n",
" epsilon: float,\n",
" num_classes: int = 10,\n",
" targeted: bool = False,\n",
" target_class: int | None = None) -> None:\n",
" \"\"\"Wrapper for visualize_attack using FGSM.\n",
"\n",
" Args:\n",
" model: Classifier model\n",
" image: Single image tensor\n",
" label: True label\n",
" epsilon: Perturbation budget\n",
" num_classes: Classes to display\n",
" targeted: If True, targeted attack\n",
" target_class: Target class for targeted attack\n",
" \"\"\"\n",
" def _make_adv(m, xb, yb):\n",
" if targeted and target_class is None:\n",
" raise ValueError(\"target_class must be provided when targeted=True\")\n",
" y_used = yb if not targeted else torch.full_like(yb, target_class)\n",
" return fgsm_attack(m, xb, y_used, epsilon, targeted=targeted)\n",
"\n",
" mode = \"Targeted\" if targeted else \"Untargeted\"\n",
" visualize_attack(model, image, label, _make_adv,\n",
" title=f\"FGSM {mode}\",\n",
" num_classes=num_classes,\n",
" targeted=targeted,\n",
" target_class=target_class)\n",
"\n",
"# Assume images, labels from test_loader (from Setup)\n",
"# Assume epsilon from Core Implementation (epsilon=0.8)\n",
"_ = visualize_fgsm_attack(model, images[0].detach().cpu(),\n",
" labels[0].detach().cpu(), epsilon)"
]
},
{
"cell_type": "markdown",
"id": "58454aa8-17b9-4c01-a698-b22993a71021",
"metadata": {},
"source": [
"# Targetted FGSM"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "2b798e5c-89f4-4bfd-b39e-e49ccd640028",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"epsilon=0.50 -> predicted 1\n",
"epsilon=0.80 -> predicted 7\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_5838/414685490.py:129: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n",
" fig.tight_layout(rect=(0, 0, 1, 0.93))\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 1600x1000 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"eps_candidates = [0.5, 0.8, 1.0]\n",
"success_image, success_label, success_eps = None, None, None\n",
"\n",
"model.eval()\n",
"candidate, candidate_label = None, None\n",
"\n",
"for xb, yb in test_loader:\n",
" xb, yb = xb.to(device), yb.to(device)\n",
" match_indices = (yb == 1).nonzero(as_tuple=True)[0]\n",
" if len(match_indices) == 0:\n",
" continue\n",
"\n",
" # Check predictions for all digit 1s in this batch\n",
" with torch.no_grad():\n",
" preds = model(xb[match_indices]).argmax(dim=1)\n",
" correct_mask = (preds == 1)\n",
" if correct_mask.any():\n",
" # Take first correctly classified digit 1\n",
" local_idx = correct_mask.nonzero(as_tuple=True)[0][0].item()\n",
" idx = match_indices[local_idx].item()\n",
" candidate = xb[idx]\n",
" candidate_label = yb[idx]\n",
" break\n",
"\n",
"if candidate is None:\n",
" raise RuntimeError(\"Could not find a correctly classified digit 1 in test set\")\n",
"\n",
"target_label = torch.tensor([7], device=device)\n",
"\n",
"for eps_try in eps_candidates:\n",
" x_adv = fgsm_attack(\n",
" model,\n",
" candidate.unsqueeze(0),\n",
" target_label,\n",
" epsilon=eps_try,\n",
" targeted=True,\n",
" )\n",
" with torch.no_grad():\n",
" pred = model(x_adv).argmax(dim=1).item()\n",
" print(f\"epsilon={eps_try:.2f} -> predicted {pred}\")\n",
"\n",
" if pred == 7:\n",
" success_image = candidate\n",
" success_label = candidate_label\n",
" success_eps = eps_try\n",
" break\n",
"\n",
"if success_image is None:\n",
" raise RuntimeError(\"Targeted FGSM did not achieve 1 -> 7 within the tested epsilons.\")\n",
"\n",
"_ = visualize_fgsm_attack(\n",
" model,\n",
" success_image.detach().cpu(),\n",
" success_label.detach().cpu(),\n",
" success_eps,\n",
" targeted=True,\n",
" target_class=7,\n",
")"
]
},
{
"cell_type": "markdown",
"id": "2004dcaa-4722-430c-b41e-86454f2f1d0d",
"metadata": {},
"source": [
"# I-FGSM"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "60a4b12f-b610-439c-919a-ff706125d8e3",
"metadata": {},
"outputs": [],
"source": [
"def iterative_fgsm(model: nn.Module,\n",
" images: Tensor,\n",
" labels: Tensor,\n",
" epsilon: float,\n",
" num_iter: int,\n",
" alpha: float | None = None,\n",
" targeted: bool = False,\n",
" random_start: bool = False) -> Tensor:\n",
" \"\"\"Iterative FGSM (Basic Iterative Method) with projection.\n",
"\n",
" Args:\n",
" model: Target classifier in evaluation mode\n",
" images: Clean images (normalized)\n",
" labels: Ground-truth or target labels\n",
" epsilon: L_infinity budget (in normalized space)\n",
" num_iter: Number of iterations\n",
" alpha: Step size per iteration (defaults to epsilon/T)\n",
" targeted: If True, targeted attack\n",
" random_start: If True, initialize within the epsilon ball\n",
"\n",
" Returns:\n",
" Tensor: Adversarial images (normalized)\n",
" \"\"\"\n",
" # Valid normalized range for MNIST\n",
" MNIST_NORM_MIN = (0.0 - 0.1307) / 0.3081\n",
" MNIST_NORM_MAX = (1.0 - 0.1307) / 0.3081\n",
"\n",
" if alpha is None:\n",
" alpha = epsilon / max(num_iter, 1)\n",
" if random_start:\n",
" torch.manual_seed(1337)\n",
" delta = torch.empty_like(images).uniform_(-epsilon, epsilon)\n",
" x_adv = torch.clamp(images + delta, MNIST_NORM_MIN, MNIST_NORM_MAX)\n",
" else:\n",
" x_adv = images.clone()\n",
"\n",
" for _ in range(num_iter):0.80\n",
" x_adv = x_adv.detach().requires_grad_(True)\n",
" logits = model(x_adv)\n",
" loss = F.cross_entropy(logits, labels)\n",
" model.zero_grad(set_to_none=True)\n",
" loss.backward()\n",
" step_dir = -1.0 if targeted else 1.0\n",
" x_adv = x_adv + step_dir * alpha * x_adv.grad.sign()\n",
" x_adv = torch.clamp(images + (x_adv - images).clamp(-epsilon, epsilon), MNIST_NORM_MIN, MNIST_NORM_MAX)\n",
"\n",
" return x_adv.detach()"
]
},
{
"cell_type": "markdown",
"id": "ac658fda-76ce-4dba-a80a-8c9981ec50a5",
"metadata": {},
"source": [
"# Testing"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "fac3e711-bfbb-42b0-97c2-9724663ea96c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"I-FGSM flips (first batch): 100.00%\n"
]
}
],
"source": [
"# Assume model, test_loader, device from FGSM Setup\n",
"images, labels = next(iter(test_loader))\n",
"images, labels = images.to(device), labels.to(device)\n",
"\n",
"epsilon = 0.8\n",
"num_iter = 10\n",
"alpha = epsilon / num_iter # alpha = 0.08\n",
"\n",
"with torch.no_grad():\n",
" clean_pred = model(images).argmax(dim=1)\n",
"\n",
"x_adv_ifgsm = iterative_fgsm(\n",
" model, images, labels,\n",
" epsilon=epsilon,\n",
" num_iter=num_iter,\n",
" alpha=alpha,\n",
" targeted=False,\n",
" random_start=True\n",
")\n",
"\n",
"with torch.no_grad():\n",
" adv_pred_ifgsm = model(x_adv_ifgsm).argmax(dim=1)\n",
"\n",
"originally_correct = clean_pred == labels\n",
"flipped_ifgsm = (adv_pred_ifgsm != labels) & originally_correct\n",
"print(\n",
" f\"I-FGSM flips (first batch): \"\n",
" f\"{(flipped_ifgsm.float().sum() / originally_correct.float().sum().clamp_min(1.0)).item():.2%}\"\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "9b087eea-7d31-44f3-87a7-43dea6f686b0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"clean_accuracy: 1.0000\n",
"adversarial_accuracy: 0.0000\n",
"attack_success_rate: 1.0000\n",
"avg_clean_confidence: 0.9854\n",
"avg_adv_confidence: 0.0097\n",
"avg_confidence_drop: 0.9757\n",
"avg_l2_perturbation: 14.0366\n",
"max_linf_perturbation: 0.8000\n"
]
}
],
"source": [
"# Reuse evaluate_attack function from the Evaluation Metrics section\n",
"metrics_ifgsm = evaluate_attack(model, images, x_adv_ifgsm, labels)\n",
"for k, v in metrics_ifgsm.items():\n",
" print(f\"{k}: {v:.4f}\")"
]
},
{
"cell_type": "markdown",
"id": "d3ba64fb-0d38-43eb-bb6f-99bb968e0201",
"metadata": {},
"source": [
"# I-FGSM Analysis"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "553b92ee-1992-4ea3-99f9-aaed1bfafa08",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_5838/414685490.py:129: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n",
" fig.tight_layout(rect=(0, 0, 1, 0.93))\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 1600x1000 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def visualize_ifgsm(model: nn.Module,\n",
" image: Tensor,\n",
" label: Tensor,\n",
" epsilon: float,\n",
" num_iter: int,\n",
" targeted: bool = False,\n",
" target_class: int | None = None) -> None:\n",
" \"\"\"Wrapper for visualize_attack using I-FGSM.\n",
"\n",
" Args:\n",
" model: Classifier model\n",
" image: Single image tensor [C,H,W]\n",
" label: True label\n",
" epsilon: Perturbation budget\n",
" num_iter: Number of iterations\n",
" targeted: If True, targeted attack\n",
" target_class: Target class for targeted attacks\n",
" \"\"\"\n",
" alpha = epsilon / max(num_iter, 1)\n",
"\n",
" def _make_adv(m, xb, yb):\n",
" y_used = yb if not targeted else torch.full_like(yb, target_class)\n",
" return iterative_fgsm(\n",
" m, xb, y_used,\n",
" epsilon, num_iter, alpha,\n",
" targeted=targeted,\n",
" random_start=True\n",
" )\n",
"\n",
" mode = \"Targeted\" if targeted else \"Untargeted\"\n",
" visualize_attack(\n",
" model, image, label, _make_adv,\n",
" title=f\"I-FGSM {mode}\",\n",
" targeted=targeted,\n",
" target_class=target_class\n",
" )\n",
"\n",
"# Visualize first sample from test batch\n",
"_ = visualize_ifgsm(\n",
" model,\n",
" images[0].detach().cpu(),\n",
" labels[0].detach().cpu(),\n",
" epsilon,\n",
" num_iter,\n",
" targeted=False\n",
")"
]
},
{
"cell_type": "markdown",
"id": "d519e953-f706-4809-afe1-0b16fe98eccc",
"metadata": {},
"source": [
"# I-FGSM Targetted Misclassification"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "52efca80-8c8c-4f9e-a4bc-734bca050ba0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"epsilon=0.50 -> predicted 7\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_5838/414685490.py:129: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n",
" fig.tight_layout(rect=(0, 0, 1, 0.93))\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABR8AAAOlCAYAAADkQJD1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAADUXklEQVR4nOzdd5xcVf3/8ff0sr1lN71nA6EtvSldASFUIQoqWEGK+lNjd4mi8sUOKioCIqIBQZoCSpMiHUMgQAIJ6dndbC+z02d+f8xmS3Y3uWeTk92Q1/Px4PEgu589c+6dO3fuvOece1zlk+dlBQAAAAAAAAA7mXu0OwAAAAAAAADgvYnwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwwjvaHQAAAACALQ6e36rzr9406Of/vqFCj9wwbhR6BAAAdgThIwAAe4gfv/bGkD+/4ZPT9O7LeTvtcb7x0NsqnZjcoTa+c9RcxTo9jusrZ8Y085CIph/YrcoZcYWK0goXpuX2Solut2JdbjVv8KtprV9rl4a16uWw2ur8jtv3BTPa7wMdmnN4lybMjamgLKVgflqZjEvJuEuRFq86Gr1qWufX5ncD2vBWSOvfCCkZHX6SySU3rdbMQ7qH/f3D14/TYzdWOOhdVgsfWKmKqYlhK3bkOd4Zz+dQCJIAAAD2DISPAABgt7XXMZ065hNNmnnw8CGetyitcFFapROTmn1YREec1ypJWv9GUM//rVQv/r1km49x8BmtOv0rDQoXpQf9zqOsfIGswoUJVUxLDAgT0ynp+gtmaONboRFt22Hnturxm8qVzbi2WVd9VNc2g0fsOYYLir+637xR6A0AAEAO4SMAANjthArS+vCijdr3xM4RtzF5XkyBcNM2w8dTvtCg4z/VNKL2PV7J48uOtHsqGZ/U3u/v1Bv/Kdxm3RHnt474MQAAAADbWHAGAADsVorHJ/TFO1ftUPDoxLxjO0YcPO4s2wsWi6sSmnu03f0AAAAA7AhGPgIAgF3isRvLtfyZfEe18cjQ348G89P61K/XbfMehOteD2nFf/NV/05AkXaPvP6swoVpVc2Ka/K+UU2v6ZbXv/0RiR+4bPOw7S/9V6E2rw4o0e2WP5RRfmlK4+fENWW/bk3ZNyq389tVbtPsI7pUNimh5g1D35/y8PNa5bF8NXfblyfLG8gM+/szv16viXvFBv38xXuK9dK9xcP+XVudb2d0DwAAAGMc4SMAANglmtb6tWbJji1sc9Y361Q1Kz7k71o3+XRn7QStfGHbAWewIK19T+jQ0R9tGTZUKx6f0ITqwY/z6sOFun3hJEnD34cxXJzSvid06PAP7/h0aLdbOvy8Fv3zZ1WDfufxZnToWfanXG94c9v3rIx1DR0Ut9X7dvj5BgAAwO6P8BEAAOwWxs+O6YBT24f8XfN6n371sRnqatn+pU2s06OX7i3RS/cWa+p+0SFrKmcOHXC+cn+xthU8SlJ3m1cv3F2qF+4ulctlfs/HdFLy9BsUeMgZbfrXr8YplRgY8u37gQ4VlKW3+bdjldef0fg5MU3aO6aJe0dVOT2uwnEphYvS8gUyyqRdikXc6mz0adPbAa18MV+v/btQydi27xh08PxWnX/1pkE/37Kyti+UC2z3PbFD5VMSyi9NyeOVfnjybLVuGjy6dL+T2nXQ/DZNnBtTXklakVaP6lcG9OrDRfrfP4qVSbt00qWb9YFLGwf97R3fnqCX79/2YkZef24V9VmHRjR5n6jyS1MKFmSU6Hars9mjtUvDeuupAr3xeIGy2aGPu+2tmi4Nv9L9thaiKZmY0AEnt/etIF+Yli+QVaTNo9ZNPq18MU+vPlSkhlXBbT721qqP7tQhZ7Rpyn657e1u96hxjV+vPlSkl+8vVjrJXaEAAHivIXwEAAC7hWMvbpJ7iFwik5Fu/9okR8HjQC6tfS085G9ChYNXtpaksilmq0oPFxhty5tPFgy4n2VeSVr7f7BDrzxQPKDuyPMGjnpMxl165/k87X1Ml/Fj7mrnfX+jak7pGPb3Hl9WvmBaBWVpTZgb08Hz23XGwjo98NMqvXTPtgO94UzaO6oLf7xeZZOHn7K/RbgopY/9dINmHRoZ8POiypSKKlOqPiqioz7a0jMKdmSOOL9FJ12yeVCALPWt0F45I6FDz2pTw6qA/n71eL37iv2RpOGilM74Wr32P7l9yCn9ReNSKhqX0rQDojr+001a+nCR7vnBeEU7t32vAV8oo4/8YMOge7VuaW/Wod06+oIW/XkH9ikAABib+GoRAACMeS5XVtVHDR2qvf1svtYvGzpEHKl4ZOgg5eQrNuuwc1oUCA8dTu4Mr9xfrHj3wEu0I85vGfDvqtkxTT9w4Gi31/5dqO623eN7ZfNIVgoVZnTeok06/tODRxluT8W0uD59w1pHwWMwP63P3bh2UPC4tUl7xfS5G9eoZPz22+zP7c3qwh+v19nfqhsyeBxK5cy4PvP7tTr4DLvT7Ktmx/TFO9/VgacNHTxuze2Wak5t1xV/eVclE4cP5j3ejD71q7XbXSSqalZcl/xhjcqnmYX8AABgbCN8BAAAY96EnmmvQ1n6r8Kd/nj1KwND/jyYl9G5tXW66qkVuvy2d3XG1+t08PxWVc6MSTKfYj2UaJdHSx4sGvCzqftFNWFu3xTxI7cKIyXpuTtKd8rjj3UfvHyzxs8ZvMDNttSc0jHs8bO1+QvrNWGus/aLq1I65Mw2o76c/e1N2v+Dw4/6HI7Xl9W5tZs081A7I1sLypP65K/WGYepklQxNaGLr1snX2joe6ieeEnjdqeGb5FfmtZxnxzdVeYBAMDOtXt8PQ4AAHZ751+9acj78W1tqHvllW9juvO6YaZOu1xZTT1g+4FHrMuj+ncG3reudaNf65cFNXmfoUMorz+rqftHNXX/vkCwq8Wjt5/N1//+WaQV/83XyMb35Ty7uFSHnztwlNsR57Xq7u+FFMhLq+ZDA+99ufGtoNa+Ft4pi9zsCtmsSw3v+rXhjZDq3g6qu92jaKdH0U63smmXAnkZlUxIqPqorkHTyN1u6ZhPNGnxt8yn50baPHp2canWvRZSVlLZpIT2PbFT2Z7MbMLc6LBhYmudT0/eWqaGVQHll6Z16Nmtmn3YtkdHbm3OkV067OzB7adT0htPFOqNJwrU2ehVfllK847r1L4ndQy41YDHK53/vU265rTZyqRyx9e914xXMD8XrH7sJxtUWJEa1P6vPzFtu307/av1QwaPXS0ePX9XiTYtDyne7VbF1LiOXNCicdMHvibHz47rxM806qHrKgf8vKA8qWMvbh7yMbtaPPrPH8u16a2gAnm5+1/WnNo+5O0VAADA7ovwEQAAjHl5xYMDlS06moa+nPEFM7rs1jXbbXvVS2H99lPTB/38Hz+t0mdvXONo+qmUG7F14GntOvC0dm14K6i/f3/8iKeD170d1JpXQ5p2QF+4WXNqu/75s0odeFqbgnkDR5g9e+fI7oM4Wv76zYnKZrYfzj67uEyf/NVa7fX+gQHknCPMQj9Jalzj1w2fnKbOpoEr8jy7uKz3/4caUSpJLRt9uu6CGYr0u6/oqw8V6qPXbFTNMIsgDeWkSzYP+tmWe5a+/sjA0a5LHizW0Rc064yv1Q/4ecmEpA46va333pf9g/NUYuh9ur1VxyumxYccjdm4xq8bLp6mzua+ffb2s/l6/q4SXXrzmgHhuyQd+ZEWPXFzuWJdfbctOOycVnl9g0cFR1o9uu6jMwYs9LPs8ULVrwzolCsH7ycAALD7InwEAABjXrBw6OmckpTotjNM6t1X8rT42xN13qJN8gXMplRP2iumz/9xjW790mQtf7pgRI//3B2lmnbAxt5/B8IZHTS/bdCIyGiHW0seLB7RY4yWLcFj5ayY9j2hQ5P3iWrc9ITCxSn5Q9khw6r+CspTKhyXVMdm50t7/23RhEHB49aGu6/ov349bkDwmOPSvddUaZ8TOhwdH3mlKU0ZYnX1lc/nDQoet3j2jlKdcmWD/KGB7c87rnPEC+8MZd5xnUOONvz3bysGBI9bpJNuPbu4VFP33zjg58G8jGYdFtGyx/puhTBcUPyfP5YPucL4EzeX67BzWlU60Xz6NwAAGJsIHwEAwCCT9o7KGxg+8NuicW1giFBm54t1Dh8w+sMZxbaz0u5IvfpgsTa8EdIpV27WvGM75HGedcnrz+ojP9qgH50yZ0T9W/rvQp3+1Xrll/bdq/ADn9+s8FZB7MsPFCsZ3b3mqRaUJXX2t+u0zwnbXoBkW/KK047Dx82r/Vq9nZWi80tTKq4aPMI2k5HeeHzoALm7zat3Xw6r+qjtj8SccWD3kAHfnCMj+vFrb2z37we2ZT7yc1umD9PeBdds1AXXbBzyd8OZcVD/8DGrSXsPDlwl6Y0nht6n2YxLy5/O15ELdo9bCAAAgO0jfAQAAIN87KfrHY08Gur+jMN57MZyLX8mf7t1jWsHL/YSaR3+kqWgLGUtfJSkprUB3fblySooT2resZ2adVhE0w7oVlHl8FPBtwgXZnTwGW165s9l263dWjrp1ov3lOj4T/UtvrF18CjtfgvNhApTuvSPa1QxdcdWNA4WOF9xfLj7gvZXUD7089mx2at49/DH1+bVAUfhY0H5zhvJFyrMyBfMKBnbOaHzcNs+Ev3vORnMz8gXHDwqNJORmtYNHvW4xeY1Qy/4BAAAdk+EjwAAYJdoWuvf7r3nhtO8fvigYsq+UTUOEVYkoh59db95vf+ecXBEl968ZkSPL0mdTT49f1epnr8rF/aVTEhoek23qo/q0j4ndAyaGrvFzIMiIwofJen5v5Xo2Iua5B4m+1r5Yt6Q2z6WffCyxh0OHiXJZbCez3D3Be0vEB56pG88su1gOx5xFgAGC7Y/kthEuCit9p0UPgbzd17fwkV9oXAgb+h20wnXNu/5mdjNRvICAIBtI3wEAABj3sa3goq0epRXMni02z4ndOiVB4p3eZ9aN/nVusmv//2zWAXlSV1y05pBKwBLUuG4kY8qa93k14r/5g9acGWLZ+/YvRaacXuywy7Q8tbT+frPzeWqXxVQd5tHW1YLP//qDTp4vvNFXYYy3EIs/Q0XIvqC2w7m/MOElluLdezcQM3tMbsP6bZs67YGpvr3a7h96vFn5XJnhw0g/aGdG9QCAIDRRfgIAADGvGzWpRXP5uvADw0OofY+plOVs2JqWBkc4i93jc4mnx7/Q4UW/MDs/nhOPHtH6ZDhY3uDV288XjjEX4xdZZMTA0bGbdG4xq8/fmGKMqnBYVRBmfPp1Tuis3noy+KiyqS8gYxS8aGDtMoZzkZxDrVwiyQtebBoRCFyR+POu4wfbtv/+s2JatlocKNTacBK17Eut5Ix16Cp1263VD4lMeyo3Z0xMhYAAIwdhI8AAGCQH50yZ7S7MMiTfyzTAae0D1q0w+2RPvqjDfrNRdO3O0XWqZIJCe13Uoeeu7NEiaizNocbPdbVsmN9WvFMvpo3+FQ2aeA9A1/4e4kyaYO5x2PAUMGjJNW9ExwyeAwXp4ZdDGVn62rxqnWTTyUTBu5nj1eae1SXlg0R9IaLUppxkLP+rf5fWJmMBh2/VbNiWrMkrC0jPZ1we7JDPvfZYQYMbmuU4Za+7X3M4IA7vzSl//2jeAf65dKGN0OafmD3oNq9j+3Uk38cHD663Fnt9f6RL0QEAADGHm6oAgAAdgubVoT02r+GHuk3oTquy25drfFzYjvlsfzhjE77coO++a939KEv1aty1rbb9XgzOnJBy5C/27R8x0ZkZrMuPf+3gSPj0knphbt2rynXkpToHvrSc/I+Ufm2mmrr8WZ03vc2DXsvTRtW/HfoBZE+ePlmBfIGB6fzF9YPuaDKULpavFq/LDTo5+PnxHXylZvlcm27nXBxSoef26Iv3blK02oGh3mSFB9m/5ZN3vZIwjf/U6jMEMHliZ9r1OR9h36s/sbPjun0r9Trir+8O+h3bz839H1ej72oScVVg/t1zCeaHC12BQAAdh+MfAQAALuNv189QRP2imnctMGhxfg5cX3xzlV657l8rfhvnlo2+BXt8iiYn1bppKT2PbHD+PHyitM69uJmHXtxsxre9WvNq2FteCOkziavYl0ehYvSGjc9roPPaFP5lKEDnjefLDB+3K39d3GZVr7QF4wl4y51NJpNhx0LGtf5h5yGWzI+qc/fslrP/KVMbfVelU5M6qgFLZq4184Jk5169o5SHf7h1kE/r5oV15V/fVfP/LlMm9f4lV+a1mFnt2r24WajMh/5bYU+/Zt1g35+wqebtP8HOvTSfcVqXudXV4tX/lBG+aUpVc2Ka8q+3ZqyX3TYhYe2aK3za0J1fNDPz//+Rj1ze5k6m7y9IWNbnU9t9bmFnDavDui1fxfqgJMHvkZCBRldfttqLX86X8ufLlBbg0+JqEuhgoxKxic0oTqumYdEekeLDjVF+8W/l+iEzzbJ6xv4nOeXpnXlX1bryVvLtHF5UIFwRvud1KEDT9ux+3sCAICxh/ARAADsNqKdHt1y+RRdctMaFVUOXsjF7Zaqj+pS9VFDL9CyIypnJFQ5I6HDzm5z/DdvPpmv9cvCO/zYyahbG94cPGpud5OKu7XsiQLVnDI4CJ60d0wLrh58z8xYl3unrsa8LXVvB/XiPcU69Ky2Qb8bNy2hs79dN+jnQ02lHs6KZwr00r3FOuTMwe2XT0nolCs2G/Z4oLVLQ5p37OApy9MOiGraARsG/OzfN1TokRvG9f77gZ9UaVpNt4q3el253dLex3QNOS3biY5Gn578Y5lO+EzToN8VlKd02pcbRtQuAADYfTDtGgAA7Faa1gX0i/Nn6p0Xhp7OaSqdtHPfxM2r/brzuxOttL07e/i6SnU7XPn51YcLteyxXbuozgM/rtKmFUMvhLK1pnX+Yae/Z4e5h+Nd35ugpcPcPmBH/e8fxUrGRnY8d2z26abPT1Vr3c4fUfvIDRVa9ZKzED4WcQ+6zQAAANi9ET4CAIDdTleLVzd+dqr+8vWJjoOi/tJJaeWLefrrNyfqli9MGfT7jgafnl1cotZN5kFMJiO9fF+xfv3x6Yq0Mslkay0b/brl8qnbXYjnpXuLdcd3dn14G+vy6HefmaaVL247LFu7NKTffWaqYl1DX04PtwBRJuXSn786WX9bNF7tDWbHR3uDV0/eWqb6lUMf8+0NPt39/QlKj/CWifXvBPXzc2fqpXuLlTIM5de8GtKjv6sY8nfplFs3XT5Vyx7b9i0IWjb6dNOlU7V26e4/yhcAAPThihgAAOyWslmXljxYrCUPFmvqft2aeWhEMw7qVsmEhMJFaYUK0kqnXIp3uxVp9apprV8NqwNa91pIq17MU7x7+PAr2unRPT+coHt+KFVMi2vq/t2aPC+q8ikJlUxMKq84LX8oI5crq3i3R5FWj+pXBrTu9bBefaiw9156GNqaV8P68RmzdPQFLdr7mE6VTUnI7c6qs8mrda+H9dI9xXrnhaEXf9kVutu8+t2np2m/D3To4PltmrhXTOGidO/zvOTBYv3vn0XKZlwqnTR00tfVsu3L7BfvLtXL95Von+M6NOuwiCbvG1VheUqhwrRcrtx0845Grza/G9CGt0Ja+UKeNi0PKpvddij4ygPF2vBWUEee36LpB3aruCqpQF7G8dTwaKdHd353oh6+fpwOOLld02q6VTU7rrzitAJ5aaUSbkU73WrZ4FfDqoDWLAlr5Yt5270HaTLq1q1fmqK5R3fqkLPaNGW/buWXpBXtdKtpbUCvP1qgF/9eoni3R+VTBt+3EgAA7L5c5ZPn7bolBAEAAID3iFBBWt94+G2FCgbekzKVcKn2fdVKRLezQgwAAMAegGnXAAAAQA+XK6tjLmpSuGjwgkb9BfLS+uj/bRgUPErSu6+ECR4BAAB6MO0aAAAA6OFyS6f9vwadckWDVi/J07uvhNWwMqBIu0cul5RfmtbkeVHVnNqugvKhA8rHbhz63ocAAAB7IsJHAAAAYCsenzTr0IhmHRox+rsX/l6sd1/eOSuxAwAAvBcw7RoAAADYCZY8VKi/f3/CaHcDAABgTGHkIwAAANAjm5WSMZd8QedrMrZs9Onh68dpyYPF9joGAACwm2K1awAAAKAfXyij6iO6NOPgiCbMjal0YlJ5xSl5/VnFu92KdXnUssGnDW+G9PZz+XrnuTxls67R7jYAAMCYRPgIAAAAAAAAwAru+QgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALCC8BEAAAAAAACAFYSPAAAAAAAAAKwgfAQAAAAAAABgBeEjAAAAAAAAACsIHwEAAAAAAABYQfgIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALCC8BEAAAAAAACAFYSPAAAAAAAAAKwgfAQAAAAAAABgBeEjAAAAAAAAACsIHwEAAAAAAABYQfgIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGCFd7Q7sKcqnZjQ0Rc2a/ZhERWPT8rjzaqzyau1S8N67s4Srf5fnlF7JRMS+ubD70iSVr0U1m8/NX1E/Tr/+xt18BltkqQbPjlN775s1o+R+PFrb0iSWjb69KNT5my3/hsPva3SiUl9db95O60PW9qUtFPbHQ1HnNei6qO6NHmfqAorUr0/N9muGQdHdOnNa/TyfcW64zsTbXRzRAJ5aZ3wmUbtc3ynSiYklYi5tGFZSE/cUq6VL+QPqp+0d1THf7pR0w/sVrAgo84mr956Kl+P/rZCnc0+x4/rtB2vP6OjL2jW9AO7VTkzrvzStDIpqXWTX689Uqhnbi9VvNvTW181O6bTv1yvyftElYy7tfzpfP3jZ5WKdvSdmsPFKS28b6Xa6n365UdmKJtxjXDvYaz5RXmeLigI9v77/1q79ZO2qOO//2pxSAtLwpKkKxq7tLgrvtP7uDtonF4mSVqXTOugDW3Gfz/Z69b/JpdIkv4bTerM+g5HjznSx9tWm9LIt2OsuLeqUEeFtn1+dXK8LsgP6PqKfF3b2q0fG7wubOp/rAxlcWdMVzRFBv38hJBPnyoM6oCAV0Vul9ozWa1MpnVzR0z3RhLbfdz+r/WhnFHXrmdjuff7ErdLnyoM6vCgVzN8HpW53Ypms1qXyuiOzrhu64yp/yMeEfTq2yVh7e33qi2T0X2RhK5p7VYs21cz0+fWfyYU68lYUhc2dG63v1v32+n56avFIUlSRyar33XEHD/OWDPZ69aC/IAkaVkipYe6kzul3S3niG05cH2r1qcyO+XxgJH66imbtfCUxkE/74y5tbwuoDteLNafni1RNmvnmvbIWREdNTt3Ln7otQIt2xiy8jhbvFL7tqaU5V7nFVfu3M+R+0yM6pT9cufd/76Tp2dXDvxsfu8Vq3XU7G5J0oFXzdb6Fv9OfXxTxeGUnv/2SpXlp/Xdeyp1wxPlxm1ML4/r0uObVTMlqr0nxOX35t6Qrn2oQj9+aNyQf3Pqfh363LHN2ndSTF53Vu82+nXHi8W68ckypfp9drrs+CZddWaDmrs8Ouz7s9Ue9QzZHuwgfBwF+3+wXed9b6P8oeyAn5dOTKp0YrtqTm3Xk7eW6R8/rRqlHmJ3dvi5rZowd/e9aB9OqCCty/60WpUz+z7AeP1ZzTkyolmHR/S32gl6+b6+D4V7vb9Tn/j5Onn6fQYuGZ/Ukee3aq/3d+nXH5+u9obtB5Am7YQK0vrQlzYP7nthTBPmxlTzoTZd/9EZind7FAin9enfrFWoMK3bvjxZlbPiOu3/NShcnNatX5zS+7fzv1qvUGFaf7h0KsHje0jIJc3PG3iBeH5+wCh8BHZXXZns9oveI2pLwrq8eOAH3wqPSxUet1Yl047CRxMzfB59baugMiyXyjxu1QS8mp/n11n1HcpImuhx66+VherKZHVBQ4dOCft1WVFIXknfbunu/fufleUrJelrQwSrO9OWgHVdMr3bh49btmVxZ2ynhY/bk85m1b0Hvbaw+ykIZnTI9KgOmR7VkbMi+tytk608zlGzI73h5/pmn/Xw0aZ9JsZ6t+VaaVD4ONZ87ZRGleWntbnDoz8+UzqiNuaOj+vio1sd13/hpEZ9+/SBn7/mTYzre2c16KjZEX3sxim9QffNT5fqshOaVFGQ1tdP3axv3D1+RH3EyBA+7mIT94pqwQ83yuvLXRw89odyPf3nMiWibu17QofO+c4m+UNZHfOJZrVs8OnZO7b/Lac3kFHrJv9OGbF3x3cmjqmRbjC37IkCvXhvsereDurSm9eMdnd2mmM/2dQbPC55sEh3f3+8xk2P63N/WKtAOKOzvlmn5U8XqKvFK5c7q3O+s6k3MLz1i5P19nN5Ou6TTTrxc00qGZ/U/IX1uu3L277oGUk7bfVePf3nMr3+WKE6m7yafVhEF1y7QYFwRpUzEjrk7DY98+cyTT0gqqLKlN54okDLnynQ8mfydcKnG7X3MZ3yBjJKxd2afViXDjq9XU//uVQb3tx9L5ww2Gl5fhW4c3c+yWSzcrtcmubz6Migt3cE0+7CKykrKb2LHzfkkqJZqWJ18y5+ZGzLUCNHZ/rcenZisdwulzanMvp3984N3EaDk9F8Z+T5e4PH5YmUvtkc0f/iKQVdLu3j9yrfbf6FkpPj/e1ESr/riOnf3Ul1ZjI6PS+gn5fnyety6ciQTx8M+/RQd1InhH3Kc7t0e2dMz8ZSejOR1iVFIZ2RF+gNHy/MD+jIkE/fbo5oY3r3H1G35byxOxrquf9YQUA/K8/N/Hi4O6lmwkeMMYtfKNYVt09UwJvRuQe36xcf3SRJOvugDt38dEQvvLvzwrSQL6NoctfdVW5XP95Qzrx+ZLMdbSjPT+nCI3Oh4eIXi0e8b+rafbru0TK9ui6k4/fq0oVHtA1bW10V09dPzQWPmzs8+shvp6qhw6sbL9qgI2Z164P7dOmCw9v05+dyA1SiSbfufLFYl53QrAuPbNVP/lWh5i4isV2FPb2LnfjZxt7g8c0n8/XwdZW9v/vfP4pVWJHsHTl10qWNev6uUmXSLh08v1XnX507WT/y2wolom4ddk6rSiYkdNdVE7Tq5bxhp11PO6BbH/pSvSbuFVN3h0dL/lmklS/l6dO/WSdJA6bWDjftuv/U6Nu+MlmnXNmgaQd0K9rh0ZtPFugfP61UomfYstef0dnfrtPEuTEVjksqWJBRJiU1r/dr2eOFeuKWciWju+5EPW56XMd8okmzDouosCKlZNyl1o1+PX93iZ67Y/hvZEy3Y6/3d+qYi5o0fk5MgXBGsS6P2ut92vBmUP/4aZWinbn9c/D8Vh1xfqvGTY/LF8go2ulRy0a/NrwZ1D0/GC9px0a3PXLDuN7+7wpbT/l//A8V+uDlmzV+dkyxLo9efbhQD/6yUqn4jj3nc47s6v3/p28vVTzi0fplYb3zXJ72OaFT/lBWB5zSrmduL1PVzLiKKnMBTsO7uedLkp68tVwnfq5JkjTvuA6Fi1Lqbh/+NGjaTqTdq/87ffaAbX3rqQK9cn+RjlyQezMeNy33YdXTcx5IJbc83y6lUy65PZLHm5WyGZ39nTq11vn08PVDTzHA7mtBft906z92xvXJwmDPzwNDho8fKwjo84UhTfa5tT6Z0W87hh4h+eiEIu0f8CqdzapmfZvq+oUFf6sq0LGh3GjL921o0/JkLi48OezTJwuC2j/gVYHbpaZ0Vk9Fk/pZW7fe7Td97/ryPC3omSb+8YYOHR/y69Q8v8rdLh28oU11qYy+VhLSqWG/Jns9cklqzWT1TjKth7oT+kPPSKZqn0cLS0La2+dVucelfLdLkUxWy5Np/aUzrr/0C3SODHp13/giSbkRRM/GUrq0KKiZPo9+0RbVj9uiQ05XrvS4dFVpnvbxezTO41aB26VYNqtVyYzu7orrxo7YLg1LDwx4dUlhUIcFvSr3uBXJZPVuMq1ft8f0wDaCONPtWJAf0EUFAc3xexR0udSWyWp9KqNX4yl9rblv1NplRUGdmxfQdJ9HPpfUls5qdSqtp6NJ/Z+F0beXFIbkduXOdTdtNe13Z9j6OHkimtSVxSHN9HrUlMnoz51x/awtql0dy3yxKBc8ZrJZfaKhs/f1FMlm9WTMzmi4NxMpvW9ju/pfASzuimt+nl8nhXOv/9k+jx5SUv6e5yTRs2MS2dz/+HvelsrdLn23NKwl8ZRutDgScetp5VN8nkGva5PXwta3Uvh1e1QLS8Ka6/Po3ki8d2r8lUVBfaIgqHEet95OpvXjtm59KOzvPc/1n84uOTtXbn3bgQUFwd72hpuWvyM+V9j3XnJDOyPnMXbFU27d/nyJPntss/aekHufP2hatDd8LM9P6YoTm3TSvE5NKkkqk5Xerg/oz8+V6E/PlmjL56PJpQn976rc547/vhPWrx8v18JTNmvu+Lju/V+RFhzWNuBxr79wk66/MPcZ+oo/T9DiF0vUeF3uc+26Zp8OWtR3y6+hpjBv7/GuuH3goJ1JJQl976wGHVPdJbdL+s+KPH33nqoB06G/9IFGHb9Xl6aVJ1QUSsvlkurbvfrvO3n66b8qemv7T+eWpIWnNPaNguyZgjz8tOusLjyiTR85rFVzx8cV9GXV0OHV02/n6Rf/LtfqpkDfPrpgY+9+u/D3k3VMdUTzD+hQXiCjZRuD+tbfq/Ta+u0PgrjgiFYFez7f3PVSce/PD57Wrfu/sFo+j7RsY0Af/OkMJVJuzaiI6/GF7yovkNH6Fp+Ov3aG2rq9enVdSK+uyz3eAZO3/d6z4LA2eXtmTt/yTKle25D7u2seHKf7rlyT26YjWnvDR0m6+5UiXXZCs4K+rC44vFXXPVqx3W3DzkH4uAu53FnNPqLvouPFvw++b9ALd5f0ho/5pWlN3Cuq9csGTp854rwW5Zc6+9g0ed9uffbGNfIFcieComBKx17crP1P3v49rYaSX5rS5/+4urc9fyilI85rlcsl3f39CZIkbyCrQ85sG/iHPmn8nLjGz2nUlH279YdLp43o8U3NPbpTH//5+t7+SrmpuqG5Mc05omvb4aPBdkzcKzpoam5ecVp5xWlNmBvT4zeVK9rp0bzjOnpD5C3yS9PKL41qyr5R3XfNeGV29fChnahqdlyf/PVaeXrOLL5gSu+7sEXlUxK6+fKpO9S2PzhMmNovq508L3fh7QttP3j1eKWJc2N6Z4h7RW5h2k4m5VImNTg89gX7jr+2+txBsu71kGIRt2YeHFFxVUKVs3L3iFy7NKR4xKOTr2zI7bcrpvQG+3hvmOhx66hg7kVSl8roey0RLcgPKOx26fS8gL7eHFF3v5TkksKgvl/WNzJglt+jn5Tna1Nq8Mnits6Y9g/ky+Ny6dx8v65vz120VXpcel8wd+y9GEv2Bo/fKQnryq2mhI73unR+QUAfyvPrzLp2LU0Mfpyfleer3DPwC4Xa0rAuKdqqLbdL471uBVzqDR9n+NyanxcYUFfkcekwj1uHBX2q8Lj0y/bBF5sn9gsFtqfC49a5+QMfw+dy6YCAWwcEvJrl8+grzXankG5xYUFAPynLk8fVd27we1w6yOPWYfHUNsNHk+04JezT9RX5W/19bnrvgQGvvtkcUVrSZwuDuqp04EiTcV6Xxnndmux17/TwscTt0nk92xDJZHWL5em0J2x1nExye/T1krDGedwDAtgdVVsa1k/K85TKSm8n01rcGdMtnfHegLPM7dI+gdzrvD6d0WeLQvpA2KdxHrfWJTO6vSumG9pjMv2acNnkEpV6csHyi7GUftkW1ZJEX0A23Ki+UL/jb0NPUPbfaFKpbFYfCPt0XbtLZ/TcCuI/0dyH3avL8lTgdunLTV3G/dzZRvqa3tvv0W2VBQNef5L0/a3OV/sFvLp1XMGAL2z6G+m50qYTQz5V+3PH2CuxpF6I716j5rFnGmqIxdSyhP7xxdWqKhp4DNdMjalmap2Omj30FO29J8R122fWybOLxrQ4ebx/fmm1JhT3bcdp+3eqZkpUx/3fTLV2516v8w/o0D6TBr4XTitPalp5m07Yu0vv+9FMtXXvSEyT1R8u3qAzagZ+3p9cmtRHD2/T/AM6dM6vp+p/awffS/j6CzapJK/vXHb4zG7dcelaHfK92eqKbfvzyEl75waKNHd59FZd3/vwy2vC+sEDlbrqzAbtMzGub3xos65+oFI3fHyj8gIZJVIufeaPk0a0zQdN7btmeWtT32O+uanv/WK/yVF53dneez++viGotm63isMZnTSvi/BxFyJ83IXCxWkFwn0XNS0bBt8QNtrhVXeHW+HCXF3J+KTWLxtYk1+a1j9+WqkX/14irz8j15aRUkP40JcaeoO3l+8r1v0/rlRRZUoX/XLdiLbBH8pqyUOFuvdH41U+JaFLbsoFmwed3qa7v58btZeMuXT71ydq3dKwulo8SiXdKqlK6mM/Xa+Je8VUfVREVbNjqn/H2YfIkfL6Mzrv+xt7t//Fvxfrkd9VqLvNownVcVXO3PYHIJPtmHlwpDd4vO0rk7Ts8UKFCtIqn5xQ9dFdSnTn3qVmHdp3YXz9hdO14c2Q8opSGjcjoblHdyrb75q3/yI42/LvGyp6RzuOtrzitP716wo9/efc6MOLrlun/NK09np/l+Yc2aW3n819MB7Jtm1cHtS46bkP6Ud/tEV/vzqgcdPjmn143z7NK+kZpbgqoGTcJV8gq8oZCe1zfIdWPJevYz7RNLC/2wnxd0Y7k/aOqubUdklSLOLWy/cXS5IiLV7dvnCSzv3uJn3r37lvVNe9HtJfvzlRlbNiOuYTzXrtkUK99WSBpNyXF5K47+N7wPkFgd4PwvdH4opkpceiCZ2eF1B+TwB5R8/ovzyXBty/7YuNXbo3EtcRQZ9uGVcwqO27uuJaVJqnPLdLH84P9IaP5+b3PeZtnbm29/d7ej9MP9ad0FeaI2pIZXRY0KvFVYXKd7v04/J8fWBT+6DH8Uq6oL5Dz8SSGu91qymd0ft6RvusSaZ1el2HWtIZjfO6dYDfq4nefqOBE2l9pL5DrydSak1n5XJJ+/q9uquqUHluly4tCg0ZPpZ73Ppte1S/bIsqJalwG1NW61MZXdTQqVfjKbVkMkplpVk+j/5aVaCJXo8uKAjoe63d6rA8RbHS49IPS/uCx5+3desPHTFFM7nRkCWebb+eTbZjS7gsSSdvatfSeEqlHpdm+zw6IeTvDY+21HVlsjphY5vWpTKq8Li1t9+jmsDAy0InC1xI256CfHFhUOGe5+qOrrhaLe/zCo9bX2js0n39XidBt0sXFQR0Y0dUK5O5PbGj27YlfA+4pJqAVzWBfB0a9OmSxtyHr8n9jvkJXo8+Vdj3oW2236OrSvM01+cxHglX2dNuhcelD+X59YGwTx9v6NSj0eHfUz8Y9unontfnplRuJLIkvZVM68tNES0qDevtqbkvYx/vTuhbzREdH/LpnPyAft0e1es9oZpXko1468fbGMW8xUhf0yUet+7piqu2pVsdmYwqPW5N87r1mZ4Rg8lsVp/e3KUnowmdlR/Qz8sHfyFpcq48s75j0EjcrZ/j/r/fnm0tIHNpv/D0N0OcM4GxJODN6MOHtGuvCX3n05dX565vfnBOnaqKUkqmpc/dOkmPvFGg/EBG13y4TmfUdOjsgzp010udeuTNgdc9JXlp3fNKoWrvq1JH1K3KwpSuuH3igAVvtox23BmGerytvb4hqBN/nJtm/vuLNuiQ6VFNLEnpshOadfUDuRmP1z5UoTVNfm1q86kr7lZJOK3vzG/QRw9vU1VRSuce3K4/PFWmgxbN0YJDW3tHbm5rwZX+5h/Q0Rs8rmv26eKbJmt1k19fPKlJV57UpPxgRr/4yCa9/5pZg/42mnTpvJ/M0Nomn27+1HodPbtb5flpnbh3l+793/DnLZcrqwN6gsA3Nw3+jP/rx8t01OyITprXpUuPa9bMcQkd2FN/9QPj9Mqa4RdV25aKgr7noL3fjMSOfgM3fB6pNC+lzZ1brpNcWrYxqKNnd6tmalS5mwfx+WpXIHzchZwe0ture+eFPD1565aVo3IvrJIJg0dO+IIZTa/JDcPOZKT7rq1SrNOjaIdX/7mlXOd8p85hj/pk0tI9V09QtNOjdW1e1a8MaPK8mHzBrArKUups9imddMvnz+r8H2xU1cy4gvlpubf6oqRyRtx6+DitplsFZbkL5qZ1ft31vQm9wc2aV8Na8+q2T3Im29G8vi9IPnJBiyqmJtS4xq9NK4L692/63iSa+wXOx3+6SWuWhNS4JqANb4b0z5/v/gsMtTd49ejvKiS5tPa1sF74e4lO+HQuqJtzRF/4OBKP/q5Ce72/S8G8jA78ULsO/NDgQCTdM+owHvHo8RvL9cHLcxcen/jF+iHbTCe3/Wrb0Xam1UR08XXr5fVnlUq4dPtXJ6ljc19AsPzpAl190hwVVaaUjLnU3e6Vy5XVZX9arWTUpXt/VKWKaXGd9a263tfymlfD+vvV49W4JjDkY2LsO7/f6J0ti03c25ULH6Xc1Nkt4eOhQV/vfeFejad0e8/PH40m9c/uhM7ZaiRQJCvdE4nrwoKg9vJ7tZ/fo9cSaX24p649ndF9kVwbp/Zb8OaEsF9LwoO/EKsJeFXqdqllqw/0N3TE9O+esGNVT5izJpnRPL803uvWV4tDeiuZ1spkWk/FkgMCgc3pjM7PD+hbJWFN93kUcql3Sq4klXncqnC71LjVY76bTOu7Ld29I8vathFitWaymuJ168riAs3yuZXvcg14DK/LpVk+j/5neaTQiSG/Qj3P3zPRpH7Y2vcNvZNptybbsaZfQPHFopBejCe1MpnW0nha34v1LR6ypmfEbNglfbUkrKXxlFYl01oST+mxbQRYI+GX9MmeUYjpbFa/3QXTQl+MJXun7vd/nbhdLh0b8mtlcuQhTXcmqx+1duvR7oRWJdPyu1xakB/QVaVhuV0unZMf0E0dMb0UT8m31Ui7v3bG9M3mbs3xe/T3nqB9QUFQv2mP6a3ktr8Iey2R0uWNXXoullRDOqPJXrd+WJqn48J++VwuXV2Wp0eHWSH9tLBfv+kZEduezuhjDZ0DRkf+pSuuv3bFNcnrVls6q85sViGX9H9leVqXTOva1m4dFPDqh2V52tfvUTIrPRFN6mvNXWpI77qJ7CN9TXdkMvpiU1fvaPJ3Uxl9vN8XQP/qTujBnjD2z51xXZAf0MH9gnxpx86Vtszze/T+fl/4/OM9cB9VvDctOKxt0FRoSbr3f4V6cXVYAW9Gx++V+9LG55Fu/uSGIds5fq+uQeFjR9StL/51oroTudDp3Ua7M4WcPN5376lSY2cuYrn2oXH62+fXSpKOndvVGz62Rjz65mmbdcCUqErz0r2rOW8xp2rb9xPenpP37ez9/98+UdY7FfmH/xynC45oVVl+WntNiGtaeUJrmgaez371aHnvlOd/vFqoo3umdE8p3fY5pjQvrUDPdjR3DfU8uHTZbRP1xNdWaWJJSqf09PHh1wt0wxPOvgzcnv5vu1u9BSu7VcKy5T6PAW9WpXlptUSIxXYF9vIuFGnzKN7t7h39WDopobqtArhQYUqhwr4PEK11g1fj3fims9AuVNgXlsW63Ip19p0IWjdtf5XfoXQ2eXvvXShJiX7fMHh7Rhi+/+NNOv0rDdtsxxewP4GnoKzvArTh3YDxiDGT7XjjP4V68tYyHXFei2Ye3K2ZB/d90NvwZlC3XDFFHY0+PXdHiSbtHdX+J3do3rGdmnds35vDO8/n6Y9fmNw7xfZHp8zR7iY3pbhvP7f1O87yS/uej5Fs2+Z3g/r1x6frg5dt1oyDI/J4pfp3AmpcE+i9T2nrpr430Ed/P07tm306+qMtGjcjru52j955Pk/j58Q0oTreU7/918FI29n3pHZ95Acb5QtmFYu4ddv/m6y3nxsqfHUNWHX78PNaNXX/qP5+9XhFWr269OaVqpiW0H3X5sLpMxbW66Lr1umnZ81SJs23dLubwwNezfDlXuOt6Yzi2az28XtUl84omc3K53LpyKBXk71urU9lVNpvdN/GrUa/bBhmNMyfOnLhoyR9OD+gTFdc83qm5v2tK94bPFQ4nKdU4hn8gfq1IUK7b7dEVOZx6fCgTx/vdx+yRDarP3TEVNuzgMXvxxXog0N8eO8v6HZJWz3m6/GU43v2XV0a1qeLtn1/ouAuePmM8/Qf8WkedJpsxy0dMe3n9+qsfL9Ozsv9t8WT0YQ+0dCpSDY3ymyGz6MTQj6dmx/oncqazmZ1byShzzf2TbHd0cV8zs0P9I7Ue6g7odXDHLM709avi/7/Lu/3ehrJtjVnsvpZv2npkWxWN3TEdHzY13s/1UMCXr0UT6l5q+m7v+uIqSub1f/iKf0nmtSHep6f/QLe7YaP/9pqteSVyYyubIro9Sm5Nmb6PEMGX58pDOr7pWF5ehb6+UhDh14bYmpwVhowuu6rxWFN83m0oL5DfpdLt1cWKOxy6f81RTTL59EXikMqdBfo7CEWF7JlpK/plcnMgNtYSFKZu+91ufXxsj6V0cFbtbEj58qhPBtL7fBr69LCvn3x+w7z6fvAaOiKubWiPqC/vVSkW3pWQi7JS8vnIDMszR/8Hrpyc6A3CByJrQMq73aacvJ4G1r7runXt/T9f3lP/w+c2q17rljTe5/CoYR8O/YlRv/RgOv79Sedcamuzaey/HRv3dbh49sNfV9q99/WwA72SZJau7267bkSff3Uxt6f/ebxMu3IqMPGTq9mVeaC0aJ+t8sqDPa91yVSLrVGuIXVWED4uAtlM67exTEk6ZCz2vTGE4UDag49u633/7taPNr41uALrUTM2Uk22uFROpW7J10wP6NAXlrxnheekymvQ0lvfT+7Ic5D/Uek3XtNlV64u0SpuFsf/9k67Xti5+A/sKSzue/wHjc9Lpcrq2zW+cnNdDv+8dMqPXTdOI2fHVfpxIRmHNytoz7Sokl7x3Ti5xr196snKJ1ya/G3JunuqzOaMDumkkkJ7f3+LtWc2q7Zh0d01Eda9MTNuftO7I7Trouqkuo/dL14Ql//u1r6no+Rblv9O0Hd+sUpA2o+ek3fN6TvPDfwPmYv3Vuil+7tm2oRLk7p6/98p6c/Hm1a4SzIN23n6AubdfqX6+X2SO2bvbr58inatHz7N2ourEjqlCsbtObVkJ7/W4nGzYirYlpCdW8H9Myfc98KHnpmq8bPiatiWlwNq+yOHsbOt6Cg76KuxOPW4xOLB9W4XS6dnx/QT9qiAz7ITtzqqnjSMFfJSxIpLYuntE/Aq7PzAupf9afOvm/TG/uFI99vieg6g2l73dnBJ/8NqYxOr+tQuduluX6Ppnk9urAgoIOCPn2+KKT7Iwm9k0z3Bo+xTFbn1HfolXhKaUkrppSodBsf8qNDPOZw+t8b7hMNnXqkO6Gk+hbk2VU299vHc/3mj2uyHUlJlzd1aWGztLffqyletz4Q9uuc/ICOCfn1qcKgrmuPqSOT1QUNnSp0u7S3z6MpPrfOyQvo+J7ah7sTvSNyd3Rq8ueK+i+GsWumhW79uuj/76Z+r6eRbJtb2m7Is+X3q1MZtaYzKhnimO5/JRJ1EFYN9bjZrS7Atv59bUm4d6XttxMpLWjoHHb6bn/z/B5dUhTUPV1xPRZN6qSQT2Uetx6OJHr3w0UFAR0V9CrPlRttvSuM9DU91P5tyvTth63Pq1OGOK/uyLlyKDs67brS49KZ+bnzaFs6o790MuUaY9eW1a6H0xrxKJnOjXrsjLlV/Y1qJdNDXQsMfi1HE0N/rtve5UIs6VLQl1Wo3+KcLldWU8u3PbpvuMfrb1JJUu825s5Xk0v7Pus09Yy0O+vA9t7g8W8vFelbd1eptdurT7+/WT86t37wtowgmNsy8lKSJpf09cHtymp8cXLIui2S/QY2GFx2qSXiUSLlkt+b7Q03t1ZdFdMVJwy8ddVPzt+kk34yc8Qh8strQjpiVu7L7bnjY/rH0ly20n96/+sbgr33e9yirCcMTqRcaiGY3GVGd234PdCjv6/oXd123rGd+uBlDQoXp+QLZlRzaps+cOnm3tpHfluxQyObkjG31izJTS12u3P3fwwVpFU1O6ZjLmrazl+PXP8FUxLdbikrzTu2Q3Pf1zX8H1mwZklYnc25k0nF1ITO+e4mFVcl5AtlNHnfbh12Tss2/95kO2YcFNHxn25U1ay4Wjb5tOyJQr3xeN/UgOLxuRP9vid26OgLmlU6MaGG1QG9/kih3nk+b1DdjgjmpxUuTilcPPDEn/tZSsFh3hB2huLKlE74TJMCeWlN2a9bh53d2vu7oUf9OecNZHTk+c0qm5SQx5dRcVVCJ1/Z0Hs/xbq3A3rzyb59Pu2Abs19X6fySlLyBnLP+cXXrVOoIHeh8Z8/lg94fV1y02r9+LU39OPX3hhwGwOzdrI67cv1OmNhLnisXxnQry6c7ih4lKQzv1EnXzCbu0VA1tXbbv/Qf8v/M+px9xNySfPztj3ib4stU7NfjCXV1fPh+YCAVxfkB5Tnkk4I+fShbYwevK3nw+g4r1sX94xCfCmWHDDC6sFI33F+eVFIJ4V8Crty95k8KODVD0rD+uMQ95UczuVFQZ2T51eB26VX4indG0nojX6jrCZ53Upns8r0XM1mlLvvYNAlLSwObTN4NNV/fERXJiuvK7di+L7+XXuB+Wg00Rt+vC/k09eKQ6pwu5TvcumooFdnbud4MNmO08J+fbYwqClej95OpvWPSEJP9ZtGPbHn086FBQFdWBDQOI9LrydSeiCS0Iv9RrIOF2qbOjbk0949gevLseSAx7Dp0KBPC4Z4nWSyWf0numNTU39Ylqfvl4ZV4/cq6JKK3S5dUhjU+/tN032uZzp9VhoQyH6uMKh8l0s1fq+O6ZkuG8tke+sl6ZVJxWqcXjYoGH16YpEuKghostctn6RZPreu73dvwjcTqd7bEPgl/b4ivzd4fDaa1Kl1HY6CR5dyi0lFMll9q2fxli2v4P7jjtM927ezrya2jBYt87hVtdX5YGe+pp+KJpXuOQ99IOzXiSGf8lzShfm5L0u2ZnqubOk3HX2Gz6PwTn67/nRhUIGeIVt/6ozvsgAYsCGecuvxt3Lns4JgRr/86CZNLk3I685qQnFS5x/apn9+8V0dOat7Oy316T/Kbe74uDzugS+SLSMSy/PTOmhat6SsLjm2edCCNyNRe0aDKgpSmliS0MJT+j7X/2d5bhv7h2DxlEuxpFvzJsT02WOG/lzaPxibUxmXz7P9c/m/lvWdjz53XLP2mRhVfjCtb3xoc28wuLwuMGjU447IZl16dV3uenPvCTFtHRaHfBn94eINygtkFYm79MtHcreQm1OV0LUfHrgYq9edVWleSqV5KQV9mQFtbPm5t+c5Xfxisbasv3jx0S3ab1JUlYVJfe3Uvn3ff6Xrnt5qn4m56+Qla0Pifo+7DiMfd7GNb4W0+JsTdd73NsofyurEzzXpxM8NDgKf+lOZnl284/c/+OfPK3XpLblFYY44r1VHnJcLg9oa+p56k281nHjtkUJN3if3gj7ve5t03vc2KZOWWjb6VT5l192TJpVw687vTOxd7fqwc9p02Dltvb9f9niBXrh7+NWuTbajuCqpU67crFOu3DxUU1r+dO4NZ9z0uE6+YuiaXF3fm8VIp11f9Mt1mnnI4DfoRU+tkCSteims335q+oja3p6uFo9OvKRx0Da+9XS+3n62L2QdybZ5/Vmd9a16SYO/FWxr8Oq2r0weMLJ10j5RnbFwcK0kvfpQoZ661dnry6SdkglJHfOJvqlUVbPivYvJbDHc/t/rmE7te2KnHruxXA0rc2/eTWv92rQioAnVMe33gVzIOqE6pk3Lg2pau/MuGLBrnJbnV0HPdL/X4imdsNVCLm5JSyYXa4LXo2k+j44MevVsLKX/a+3uXe36FxX5+kXP/dsa0xkFh7lg+ltXQt8tzSrP7eq999xtnQNHpi1NpPWLtm59sTisEo9bf6kqHNTOfw3uAXhsyKdjQkMfl52ZjJ6PJRXpuV/cCWG/wm6XnpxULCk3QrAtnVHxTgogH4gkekPXu8fntiuSyaounekN4XaFhnRW32yJ9K52/ZWSsL7SbwGh37VHe0cZDsVkO+b4PfpGyfD3Mn60555wBwW8vdPyt5bMZntXOpZ2bNr15/tNvd+Vi2HUpTK6viJ/0Mrft3bGexebkUa2bXkuaUFhaNCq7lvc2B4dsOLxta1RvT/k0zy/Vx8pCOojW+3377d2D7q36VDm+L368RALoUi542FhvwVNDg56dVa/UYJHhnxaOXXgtc5Qi6BIuVDrwIBXX2rq6u3Xi7GU6lIZHRPy6biQT7N8HpV63PpXd0KxnXz9+FIspZPz/Mpzu/T6lJIBfd2Zr+m1qYxu7IjpkqKQAi6X/trv3FeXymj8VgG86blydSqtxnRuIadDgz6tnZa7TtgyinZHpl2HXNLHe46jRDar33fYv48qYNs37xqvfSflVon+8CHt+vAhg+/rbuKlfouXXHZCsy47Ifd6O/Cq2Vrf4tedLxbrW6fnPqs8+MXV6k64lR/MKBJ3KS+wYye2A6ZE9eYPVgz42cZWr379WO488M+lhbr0uGZ53NKFR7TpwiPaJEkrG4a+fnptfbB3pOaZB3bozANzt7s447ppenZl3pB/c9+SQp1ZU6DTDujU1LKknvjauwN+H4m79P8WT9iRzRzSI28U6NAZ0dw9JcfHB6x4fe15dZo7Pncd+t17qvSnZ0s1rTyhM2o6dP5h7XrmnbzehYEOndGt+65cM6j9K05s1hUn5p7LLdv/dn1Q1zw4Tt8+fbPGFab12MKB2/qvZfm6/fniAT/bd1JMxT23wXvkzR0bHAMzjHwcBUv/VaSfnTNLT99eqoZVASWiLqUSLrXW+bTkoUL95uJpeuAnO2fxkfXLwvr9Z6dqzashJeMudTZ59dSfyvTw9ZW9NZG2nftB7Mlby/WvX1WoZaNPybhLm5YHdeuXJveOwtyVlj9ToF+cN1Mv3lOslo0+pRIuxbrc2rQ8uN2ReCbbseHNkF64u1h1bwcUactNd491ubV2aUh/WzS+N0he+UKeXnmgSA3v+hXtcCuTlrrbPVr5Yli3fnGy3nrK+SijsahhVUA3fq7f8dbs0dN/LtVtX56sHf1WKRV3acmDRWpa51cimltVveFdvx6/qVw///DMQQuwbHorqHdeyFNnk1eppEvdHW6tfDGsv35jom7/2iTHU/B3Vjvb4g+lddY369S41t+zYE9ONuvSLVdO0RtPFOjsb9fp7G/X6Y0nCnTLFybvlMfFrtV/oZm/dA6eopqReheakXILz0jSbzti+nJTl1Yl00pks3o3mda3miO6pWP4QKczm9X9kb622tMZ3RsZ/Jg/aI3qo/UdeqQ7ocae+042pjNaGk/phvaorm51PtJgcWdcD0USWpdMK5LJKpXNqj6V0QORuE6v6+hdnOLzjV1a3BlTYzqjSCarJ6IJnVnXsVNXnq5tiei37VHVpTKKZrJ6MZbUh+s7tCa5/REDO9ufO+M6ta5D93TFtSmVew7b0hm9Ekvqhdi2R1mYbMdT0aTu6Izr7URK7emM0tmsWtMZPRNN5qap9oQj/4wkdG9XXKuTaXVmMkpls2pKZ/Rod0Ln1ndo2RD3BDRV7fPouJ4Rh2uSaf1zFy6G8WQ0oYsbOrUsnlI8m9XGVFrXtHbr681mq0oP5eaOuG5sj+r1eEpNPa+X5nRGT0QT+mRDp77ZMvD10pXN6vRNHbquLarVPa/fjkxGT0YTWlDfod9v4zXc35cau/SPSO4568pkFc9mtTqZ1m2dMR2/sU0v7IRRpeM9bn2jJKTnY0n9ud/5qSub1YKe2yP8YVy+vlgU0l87Y7qicefPZvlGS0QPRxKD7pcp7fzX9HdbunV1S0TrU2nFs1kti6dyx02/e7M29xvBaHKujGelT2/u1Cv9Rq7vLB/JD/SOEr+nK75LF/0BbFnX4tdx/zdT1z1apuV1AUUTLnUnXFrd5NPDrxfoK3eM12sbnN9q6LX1IX31zvFatdmv+Na3DJP0q8fK9fN/lWtds0+JtEvvNPj1sRsn9y60siM+9PPp+serBeqMudUVc+ufSwt0+i+nq7W7ZybAmrA+dfNkLduY2851zT5d/cA4Xfdo+ZDtNXT4dOmfJumNjQF1O5j2nePSJ2+ZrC8vHq+XVofUGXMrmZY2tPi0+IViHX/tTL20eud/Lr/9+ZLe/X3uwX0B8oJDW3sXHXr49QL96dncF2L/b/EErWvOjUK95sN1mlM1si8qf/lIhT7xh8l6dmVYXTG3ogmX3tgYUO29lbroD1MGfWY656Bc3+Ipl24fNCoSNrnKJ8/jXes9bq9jOvXO83lKxXMXK8XjE/rYTzZoyr65b0t//5mpeueF3Sf133K/wK/uN2+0u/KeNePgiC69eY1evq9Yd3xn+Pu0SLmV1r/5cG50n81RlQAwVjROL9O6ZFoHDbPCMHbcgvyArq/I17Wt3fpx27ZHd/W/h95wo/qw6321OKSFJeFh7wk6mmZ43Qq5XQNuDfHBsE83jStQwOXShlRaB65vc7zIFQBAuubcOn3q/S3a3OHVQYtmK5YcW2PdQr6MXrnqbVUUpPWHJ0v1jbvHj3aX9ihMu94DfPL6dUqnpEirVy53VnklaW1Z6O/Fe4p3q+ARAAAA2BGHBn26viJf3ZmsWjIZFbvdyu9ZDT2WyepLTRGCRwAwdM2DFTrzwHaNK0zp4qNbdMMTQ4/oHC0Xv69FFQVpNXd59H8PVWz/D7BTET7uAV64u1jTDoiqqDIpXyCjSGtuFe2X7i3Wa/92ttoeAAAA8F7wZiKlf3UntK/fowqPW9ms9G4yrWeiSd3QER1wf1AAgDNt3V7N/ebc0e7GsH7zeLl+8/jYCkT3JISPe4C7Fm172iywI1o3+ZkCDwAYNTuygAf2TK8l0rqwoXO0uwEAwB6Dez4CAAAAAAAAsGJs3QEUAAAAAAAAwHsG4SMAAAAAAAAAK7jno6TComLF47HR7gYAjDmBQFAd7W2j3Q3sQrwnAsBgvB/ueXg/BIChjeQ9cY8PHwuLivW9H1w32t0AgDHru9+6kg9cewjeEwFgeLwf7jl4PwSAbTN9T9zjw8ct32ZdcfHJikW7R7k3ADB2BENhXX/Lw3zrvwfZ8lx/+XPzFYs5e08MBoKO208kE0b9yWQyRvU2JeJmfTflD/gd15r2ZcqUKUb19Q31RvVer/PLye6I2bVWQUGBUX1np70VjAPBgLW2JSngd96+P2DWl+7uiFF9WVmZ41qf12fUdmeX2XOUSqaM6rsiXY5r8/OdHV+BYEjf/9lfeT/cg2x5rmeNlzwOb1S2/377O25//Yb1Rv1paWkxqrfpwQcfstr+qaee4rjWtC/f+PrXjeqXvrbUqH7OnDmOa3/xi18atW3a9x9dc41RvYmzzjrTqN4ll1F9dXW1Ub2JaCxqVB8Khiz1xL4XXnjBce1hhx3muDaZTOueR5cZvyfu8eHjFrFot6JRswszAADei2KxbudfyGWdB4SJxO4bPsbjcavtZzLOAxbTvsTjZhfapl/GmoSPptdaPp/HqN7mtVw2m7bWtiRlM87bN+2L6XMaj4Ud12Z8ZuFg3PCDXzKZNKo32Vaf1+z4wp7H45Y8bmfBicn5yus00ezth1l4Y1PW4P1qJEy21bQvpu8ppvvd5Jxiu+82nyfT/eJyGe5Hw201kUqZtW2zL7a5DU4zu2I7WXAGAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALDCO9odAAAAY0sinlA8HndUW1ZWZq0fsVjMqL6qqsqovr6+3nGtx+MxajudThvVmygvLzeqX7NmjVF9dXW1Ub3J81RQUGDUdjabNarv6OhwXDt58mSjtjdv3mxUb7P9RCJh1HY4HDaqd7lcjmsbGxuN2vb5fEb1pn03Ocba2toc1XlTKaM+4L3jwQcfUjbj7Pmvqalx3O6UKVOM+tHc3GxUb9IXSVqyZInjWtP3iBUrVhjVm6itrTWqX7RokdX2x0rbpkz7YnK8SObHo02hUGi0u7DLHHnkkaPdhQEY+QgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVnhHuwMAAGD31dnZ6bjW7Tb7zjMUChnVr1271qi+srLSqN5ELBYzqi8vL3dc6/WaXb7l5eUZ1dfX1xvVBwIBx7WbN282atum9evXG9X7/X6r7VdVVRnVm2hrazOqD4fDjmuLi4uN2jY9fjds2GBUb9KfYDDoqC4QdH6MAzbU1NQY1S9atMiovra21lpfxhKT7bTN9DmyybQvxx13nFH9kiVLjOp352PMpt19PzLyEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYIV3tDsAAADGlnBeWG6HX0+6nRYa1kpSR0eHUb2phoYGx7WBQMCo7fz8fKP6VatWOa6dOHGi1b4UFhYa1YfDYce1JSUlRm2PJStWrLDa/saNGx3X+nw+o7ZNj99gMOi4tq2tzajtWCxmVF9VVWVUb7JvotGoozqvl49Me6rPf/7z8nlHf7zO4sWLrba/aNEix7Xz5883arumpsZaX2pra43aHkt2576bPEcjsXr1ase1+++/v1HbM2fONO3OmGH6WhprRv9MCgAAAAAAAOA9ifARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALCC8BEAAAAAAACAFYSPAAAAAAAAAKzwjnYHAOw6c+bMMapfvny5Uf0XvvAFo/rrr7/eqB7ArpFKpZRKpRzXOhUMBo36MX78eKP6DRs2GNWbSCQSRvXNzc2WeiJt3LjRqL66utqoPhwOG9XvrkzfE++77z6j+kWLFhnVP/XUU45r0+m0UdsNDQ1G9dls1nFtVVWVUdv19fVG9U1NTUb1+fn5jmudnpO8Xj4y7anWrFktj9u109utqakxql+wYIFRven5x8STTz5pVH///fdb6on5dtbW1lrqyZ7lqquustq+yXuQqZ///OdG9V/60pcs9cRcNBo1qg+FQpZ6MjKMfAQAAAAAAABgBeEjAAAAAAAAACsIHwEAAAAAAABYQfgIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFjhHe0OANh1ampqjOozmYxR/YYNG4zqAYxNqVRaqVTKUe2sWbMct7tixQqjflRVVRnVV1dXG9XbZLqtNpn2ZSztR5ucHuMj9fbbbxvV5+fnO65tamoyajubzRrVd3V1WamVpPLycqN60+fJ5/M5ro1EIo7qXG6PUR/w3vHOOyvlkrPr4QULFjhud9GiRUb9qK2ttVpvk+m22mR7v++uXC7XaHdhl+no6DCqX7x4seNak3PASIRCIavt28bIRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwwjvaHQCw6xxwwAFG9ZFIxKj+nnvuMaoHsPtbs2aNtbbb2tqM6ouLi630YySqq6uN6lesWGGpJ+Zs9sV0v5iKxWKOaysrK43a7ujoMKpvamoyqg8Gg45ry8vLjdpubm42qk+n045rN27caNS2qVmzZhnVu93Ox1Z4vc4+Cjmtw55tyZIlo92FMam2ttaoftGiRZZ6Ys5mX0z3y+4sm82OdhdGzOSayPaxu7sfM4x8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWOEd7Q4A2DH77LOP49rLL7/cqO3bbrvNtDsA3gPGjatQPJbvqDYejztu16RWkhoaGqzW21RdXW213kR9fb1RfXt7u6WeSCtWrDCqLyoqMqrv7u52XHvFFVcYtf2nP/3JqD4WixnVmwgGg0b1gUDAqN70tWqisLDQqL6urs6oftKkSY5ru7q6HNWlUhmjPuC949xzzpHP59np7d5///1G9YsWLdrpfdhVamtrrdbbZHO/m7Ztul9cLpdR/Z5i/vz5RvWmr1UTps9pNBo1qg+FQkb1tjHyEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYIV3tDsAYMfMnTvXcW1eXp5R23fccYdpdwC8B+TnF8jvc3aJsGnTJsu92T1t2LDBWtuTJk0yqq+qqrJabyIWixnV19fXG9XX1NQ4rjV9T1y8eLFRfUNDg1H91KlTHdfG43Gjtk3rTfZNRUWFUdupVMqo3vS1ZNK+y+XaqXXYsy1atGi0uzAmRaNRa22HQiFrbUtSbW2t1fZNLFmyZLS7MGKmrw2b+/3+++83ql+4cKHjWtvH47XXXmtUP5aOX4mRjwAAAAAAAAAsIXwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALCC8BEAAAAAAACAFYSPAAAAAAAAAKwgfAQAAAAAAABghXe0OwBgxyxcuNBx7dq1a43afvnll027A+A9IBLpUjwWdVRbXV1trR8bNmwwqp80aZJR/YoVKxzX2txOUyb9HomioiKj+qqqKse1wWDQqO1p06YZ1T/66KOOawsKCozanjhxolF9cXGxUb1NY+n4XbNmjVF9ZWWlUX0qlXJc6/P5HNV5fXxkwvbV1tZaazsadfaevEUoFDKqX7RokeNam9tpyqTfIzGWtrWmpsaoPpvNWurJ7m0sPaemx+9Y6vtIMPIRAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALCC8BEAAAAAAACAFYSPAAAAAAAAAKwgfAQAAAAAAABghXe0OwBgoGnTphnVH3zwwY5r3377baO2I5GIUT2A94a6TXWKRp29/qurq631Y9KkSdbaluz23Sbb/V6xYoVRfXt7u6WeSBMmTDCqLygocFzb1NRk1PZYek9cs2aNUf348eON6tevX++4dtasWUZtT5w40ag+mUwa1W/evNlxbSaTcVQXDCWM+oD3jh9dc42ymZSj2traWmv9CIVC1tqW7PbdJtv9XrRokdX2TTz77LNG9SeeeKLj2q9+9aum3RkzlixZYlRfU1NjVL948WLHtQsWLDBq2/bxu27dOse1zc3NjmvTmexIusPIRwAAAAAAAAB2ED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBXe0e4AgIGOOeYYa203NjZaaxvAnmnFihWOa6urqy32xC6T7bTN9n40bT8WizmuXbt2rVHbkydPNqo3eZ6eeeYZa23bFggEjOqj0ahR/axZs4zqTTQ1NRnVe71mH1emTJniuLalpcVRXSAYNuoD9kyLFi1yXFtbW2uxJ3aZbKdttvejzfZN9+O///1va/ULFy40avuqq64yqrdp/vz5VttfsGCBtbaXLFliVL/XXnsZ1Zu8H5rUJpNprdi41KgvEiMfAQAAAAAAAFhC+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVnhHuwMABtp3332ttX3ttddaaxsAtmfFihWj3YURc7vNvq/NZDKWemJ/P1ZXV1tre+rUqUb1++23n6WeSNdcc421tkciLy/Pce2kSZMs9kSKxWKOa+vr643a9vl8RvWBQMCovq2tzXFtR0eHo7pgMmXUB2B7Fi1aNNpdGLHx48cb1dfV1Vnqif39WFtbO2bavuqqq+x0ZAxauHCh49pQKGSxJ2aWLFliVG96jePxeIzqTZj0PZ3JjugxGPkIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFZ4R7sDwHvd4YcfblR/8cUXG9UvWbLEce0jjzxi1DaAPVPFuArFY/mOahsaGiz3ZmzIZDJG9YFAwKg+Ho8b1du0YsUKa22XlJQY1X/5y182qm9sbHRc6/F4jNq2/ZxGIhHHtTafI0kKh8OOa71es48T2WzWWl8kadOmTY5rTfuOPc83vv51+XzOzhWLFi2y3Juxoa6uzqh+/vz5RvX333+/Ub1NNp/Tq666ylrbkjRu3DjHtabXciafPyXz5/Taa681qrfpsssuc1w7d+5co7YTiYRRfSgUMqpfvHix49rq6mqjtkeCkY8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArvKPdAeC97sQTTzSqLy0tNap/+OGHHdfGYjGjtgHsmYqKipUIBhzVdnZ2Om63u7t7pF2yoqyszFrbgYCz/bdFQUGBpZ6YW7FihbW2Td8TTT333HOOa21up20ej8eoPp1OG9WbvFanTp1q1HZTU5O1vkiS3+93XBuNRh3Vud18ZML2XX755Y5rf/WrX1nsibna2trR7kKvmpqa0e5Cr0WLFo12F0Zs8+bNjmt35+2srq42qjd97//1r3/tuNb0deT0PWikDj/8cMe1t956q+Nal9urmfufYtwfRj4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACs8I52B4D3uv3339+oPpvNGtXfddddRvUAsD3r1q1VLNrtqHbatGl2OzNGNDY2GtVv2rTJqL66utqo3qapU6ca1a9du9ZxbU1NjVHbpu+JTzzxhOPasbTPx5oVK1Y4ro3H40Zte71mHz9SqZRRfSKRcFzr8Xgc1bkd1uG9Z+lrS+VxuxzVmpzfamtrR9ql3c6iRYuM6sfSvjHti+m22nT44Yc7rh1L+3yssfmchkIha21L0vPPP++41uSaKCu3MiPoDyMfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAK72h3ANgdVVVVOa593/veZ9T2ihUrjOrvueceo3oA2J7S0lLFYyFHtfX19Y7bjcViI+2SI9OmTTOqb2trc1wbCjnbHyO1atUqx7WpVMpiT+xu61FHHWVUb/qe+NBDDzmura6uNmp7d7Zp0yaj+vz8fMe10WjUqG3T84Dp8ej1Ov944/F4HNUFAn6jPuC9Y//99pfP5+w4MbFkyZKd3mZ/NTU1Vtu3yeSzzWuvvWaxJ9IFF1xgVH/VVVfZ6cgInHzyyaPdhfeE2tpaa22bngdMX9cm1zkVFRWOa1PpjP67tMmoLxIjHwEAAAAAAABYQvgIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFZ4R7sDwO7ooosuclw7btw4o7Yfeughw94AwM7VHelWLNbtqLakpMRxu3V1dUb9qKqqMqpfsWKFUf1YkkqlRrsLvaZMmWJUv/feezuuraysNGrb5nvi7ny82ObxeBzXmj6nXq/Zx4+uri6jehPd3c7Oc9msy1ofACdqamqM6hctWmSpJ/a99tpro92FXrNmzRrtLuwSu/PxYlt1dbXj2gULFhi1bfq6XrJkiVG9iZtuuslxrcvt1cz9TzF+DEY+AgAAAAAAALCC8BEAAAAAAACAFYSPAAAAAAAAAKwgfAQAAAAAAABgBeEjAAAAAAAAACsIHwEAAAAAAABYQfgIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArPCOdgeA3dHUqVOttd3a2mqtbQBwIp6IKx6PO6qNRqPW+hGJRIzqi4qKjOq7uroc1+bn5xu1nUwmjeqd7m9JmjVrllHbth133HHW2j788MON6gOBgONak30+1rjdZuMHKioqjOpNXhum1y3ZbNaovrCw0Ki+sbHRcW1paamjumAwbNQHvHcse2OZPG6Xo9r99tvPcm+cq62tNapfvHix49oFCxYYtd3Q0GBU/8QTT1jri21nnHGG49r77rvPqG3Tc+eSJUsc195///1GbY8llZWVRvWXXHKJUb3Jde66deuM2jZ9/6ypqTGqX7RokeNak3NGMpnWnQ8tNeqLxMhHAAAAAAAAAJYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALCC8BEAAAAAAACAFd7R7gCwOzrttNOstf3AAw9YaxsAnCgoKJTf5+wSIRaLOW63uLjYqB9dXV1G9alUyqjeRCaTMar3eDxG9eFw2HHtihUrjNqurq42qjd5TiVp3rx5RvUmfvaznxnVx+NxSz2RAoGAtbYlqbKy0nFtKBSy2BMpGAw6rq2vrzdqe+LEiUb1jY2NRvV5eXmOa9Pp9E6tw3vPPvP2kc9ndj53oqamxqg+Go0a1S9fvtyo3iaTc5skLViwwHHtokWLjNqura01qjd13333WWv74x//uFH9zJkzLfVEmj9/vrW2JfPXh00m77fNzc1GbdvezoULF1pt3xQjHwEAAAAAAABYQfgIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACu9odwAYC44++mij+qqqKks9AYDR19HRrli021Ftfn6+43bb2tqM+hGPx43qA4GAUb1J3yORiFHbPp/PqD6RSBjVm1ixYoVRfUVFhVH9vHnzHNcWFxcbtb1x40aj+vLycse1sVjMqO1oNGpUb3J8SWbHe3t7u1HbXq/ZJX9XV5fjWtPtrKurM6oPhUJG9SbPUzAYdFQXCJqdW/DesfS1pfK4XY5qa2pqHLe7ZMkSo37cf//9RvXz5883ql+wYIHj2jvvvNOo7cMPP9yo/tlnnzWqN7Fo0SKj+quuuspORyQdd9xxRvW33XabUX02m3Vcm0qljNq+6667jOpNjq+xxuS1anIOkKQNGzYY1U+aNMla+7NnzzZqeyQY+QgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALDCO9odAMaCs846y6je4/E4rl2yZIlR20899ZRRPQDsbMFAUMpmHNWWlJQ4bretrc2oHxMnTjSqb2lpMaqPxWKOa1OplFHbLpfLqD4cDjuu7ezsNGrb1Le//W2j+srKSse1f/3rX43aXrVqlVG9iaKiIqP6dDptqSc5JseYad+TyaRpdxzz+XxG9ZmMs3PLFpFIxKi+uLjYcW1XV5ejulTarM9479h/v/3l8zm/7ndqxYoVRvW1tbVG9e+++65RvcnnlbfeesuobdPz1YIFCxzXLlq0yKhtU3/729+M6levXu24duHChUZtX3zxxUb1JvvG9PgyPX4xtMbGRqv1NTU1jmuj0ajj2mRqZNdDjHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALCC8BEAAAAAAACAFYSPAAAAAAAAAKwgfAQAAAAAAABgBeEjAAAAAAAAACsIHwEAAAAAAABY4R3tDgA2hMNho/pTTz3VUk+ku+66y6g+nU5b6gkA7HyrV692XFtZWWnUdlNTk2l3jASDQce1kydPNmp75cqVRvVu99j5Pnjq1KlG9cuXL3dcu3TpUtPuGPF4PI5rk8mkUdvFxcVG9Xl5eUb1Jn2vq6szatvv9xvVe73OPyJEo1Gjtk1ed5KUn59vVJ/NZh3XxmIxZ4Uu588N9lyLFy92XLtgwQKjtpcsWWLaHSM1NTVWaiVp0aJFRvXjxo0zqjdx4403GtVv3LjRUk+kyy67zKi+oqLCqL66utpx7ebNm43arq2tNaq36YEHHjCqP/HEE43q586da1RvwvS1ZNN9993nuDYrtxSeZfwYY+dKFwAAAAAAAMB7CuEjAAAAAAAAACsIHwEAAAAAAABYQfgIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAK7yj3QHAhmQyaVTf2tpqVH///fc7rv3lL39p1DYAjLZYPKZYLOaoNhgMOm7X5/MZ9SOVShnVp9Npo3qT/sTjcaO2vV6zSyyTbXW7zb47LikpMaqfPXu2Ub3Je+L1119v1LYpk/2en59v1PbmzZuN6kOhkFF9fX2941rTvpsKBAKOa/1+v1Hbpq/rpqYmo3qT10d5ebmjukDQ7LnEe8fS15bK43Y5qj3jjDOs9WPFihVW6w844ADHtS6Xs/2xxX777WdUv2zZMse1EyZMMGp7w4YNRvWmTPaN0/PPSE2dOtVx7bhx44zaXrRokVF9bW2tUf3ixYsd1y5YsMCo7d3ZkiVLjOpLS0sd15rsx2QyrTsfWmrUF4mRjwAAAAAAAAAsIXwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALCC8BEAAAAAAACAFYSPAAAAAAAAAKwgfAQAAAAAAABgBeEjAAAAAAAAACu8o90BwIZkMmlUf+SRR1rqCQDsftxut9xuZ99P5ufnO263vr7eqB9er9llimn9xIkTHddu2LDBqO2Kigqj+rq6Ose1ZWVlRm2Xl5cb1Z999tlG9Sa6u7uN6n0+n7X69vZ2o7YDgYBRfUtLi1G9yfPU1tZm1HYwGDSqT6VSjmubm5ut9sW03mQ/rlq1ylFdKJRn1Ae8d+Tn5cvjcTmqDYVCjttdsmSJUT+qq6ut1rtczrZRkqLRqFHbZ511llH9okWLHNfW1tYatW1bNpt1XGuynZJ04IEHGtUffPDBjmtNj8f58+cb1Zu2v2DBAmtt19TUGNWbWLx4sVH9GWecYVRvs+8mx6PL7dXM/U8xfgxGPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALCC8BEAAAAAAACAFYSPAAAAAAAAAKzwjnYHAADA2BKLxhSNRh3V+nw+x+1OmzZthD0afZMmTTKqX7NmjVF9IBBwXOv17r6Xb9XV1Ub1pvvR6XErme/HvLw8o/ru7m6j+mAw6Lg2mUwatZ3NZq31xeQcIEmpVMpqvekxA2zLnX/7m7IZZ8dgbW2t43ZrampG2qVRFwqFjOqXLFliVD9//nyj+t2VyfEime/Hu+++23Gt6Xuz6fG7bNkyo3oTL730klF9Z2enUf373/9+x7UHHnigUdvLly83qje1YsUKq+2bYuQjAAAAAAAAACsIHwEAAAAAAABYQfgIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACu9odwAAAOy+Ojo6HNdmMhmjtj0ej1F9cXGxUf3atWuN6m0KBAKOa023c3c2bdo0o/oVK1Y4rvV6zS6D29vbjepNn6e2tjbHtaavDdNtLSwsdFybl5dn1PaaNWuM6oPBoFF9UVGR49pIJOKoLhAMG/UBe6ZFixY5rq2trbXYE3Mmfbdt/vz5o92FMammpsao/v7773dcW11dbdT24sWLjeoXLFhgVG9i8uTJRvVz58611BNpzpw5RvVLliwxqjc9BkzrnUom07rzoaXGf8fIRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwwjvaHQAAAHuGrq4uq+23t7dba7uystJa25Lk9/sd1zY1NRm17Xabfdfc0dFhVF9cXOy4NhaLGbVt8zk12eeSFA6HjepNj/dgMOi4dsaMGUZtmzJ5nkyfU6/X7OOH7fOGE95UarS7gPeYRYsWjXYXRqy2tna0u7DLLFmyxKi+pqbGUk/sHjOm/Tatt7kfTznlFKO2x5JZs2YZ1S9evNiofsGCBUb1tjHyEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACs8I52B8aKYCg82l0AgDGF8+Kei+d+sEAwZLV9v9/vuDadMWvb7Tb7rjmYTBnVm+0bs74kEmZ9MWF6nHs9ZpfNmaxRuYKBoONaf8Du8ZiVy1rbxucXl8es/eDOP3/Zfv1j7HK5+bi8tWQyPdpd2GXShidym/vG5rFo+zkdS/txLEmmzLYza3gNZWs/jrTdPf5sGui50Lv+lodHuScAMDYFAkHFY7HR7gZ2Ad4TAWB4vB/uOba8H87Y96RR7snYc+dDS0e7C2PWio329s3M/U+x1vZYe05t7sfdWniWUbnt59X0PdFVPnme4fey7z2FRcWKx7mQAICtBQJBdbS3jXY3sAvxnggAg/F+uOfh/RAAhjaS90TCRwAAAAAAAABWsOAMAAAAAAAAACsIHwEAAAAAAABYQfgIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALCC8BEAAAAAAACAFYSPAAAAAAAAAKwgfAQAAAAAAABgBeEjAAAAAAAAACsIHwEAAAAAAABYQfgIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALCC8BEAAAAAAACAFYSPAAAAAAAAAKwgfAQAAAAAAABgBeEjAAAAAAAAACsIHwEAAAAAAABYQfgIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVhA+AgAAAAAAALCC8BEAAAAAAACAFYSPAAAAAAAAAKwgfAQAAAAAAABgBeEjAAAAAAAAACsIHwEAAAAAAABYQfgIAAAAAAAAwArCRwAAAAAAAABWED4CAAAAAAAAsILwEQAAAAAAAIAVhI8AAAAAAAAArCB8BAAAAAAAAGAF4SMAAAAAAAAAKwgfAQAAAAAAAFhB+AgAAAAAAADACsJHAAAAAAAAAFYQPgIAAAAAAACwgvARAAAAAAAAgBWEjwAAAAAAAACsIHwEAAAAAAAAYAXhIwAAAAAAAAArCB8BAAAAAAAAWEH4CAAAAAAAAMAKwkcAAAAAAAAAVnhHuwMAAADvFeGilA4/r1V7va9T46Yn5A9l1NXiUdO6gJY9VqAX7y1RMurWwfNbdf7VmyRJ/76hQo/cMG6Uez422dxPMw6O6NKb10iSXr6vWHd8Z+KI+nLJTas185BuSdIPT56t1k1+lUxI6JsPvyNJWvVSWL/91HRJUrAgrfdd2CxJat3o08v3lwx4jJMu3awPXNooSbrj2xMG/R4AAGB3RPgIAACwE8w8JKILf7xe+aXpAT8vrkqpuCqlWYdGtPp/YW1aERqlHmK0hQrSveHiqpfChIsAAGCPQPgIAACwg8qnxnXRdesUzMtIkt56Ol8PXz9ODSsD8oczmn5gt46+oGWUezm6fMGMkrHd944/L99f4jgsbN3k11f3m2f8GI/cMI5RsAAA4D2H8BEAAGAHnXRJY2/wWPdOQLdcMUXZjEuSFO1w683/FOrN/xTK7clus519ju/QYee2qnJGXKGitHz+jLrbvVq3LKQnby3T6lfyemuD+WmdcmWDqo/uUtG4lDJpKdLmVcOqgF75R5FefbBYklQ4LqlTrmzQrEMjyi9LK510qavFo7q3g3rujlK9/Vz+Nvv049fekCS1bPTpti9P1qlfatDU/bqVSrj1xhMF+sdPK9Xdnruk3Hq68ZO3luukSzeralZcSx8u6p3aPPOQiN73sWZN3a9boYK0op0erXs9pKduK9OqF4fvz+EfbtH7LmxW6cSkWjf59PTtZXrujtLe31fOjOmkSxs1fk5M+aUpBcIZJbrdql8Z1Ev3Fuule4sluYZse98TO3TiZxtVMT2urhavXvx7sR77fYWy2Vy9yRTwoaZdn//9jTr4jLbempmHdPfu2y0125p2Pf2giN5/YbOm7h9VqCitWKdbq/8X1mM3VmjjW32jaZ0eFwAAALsK4SMAAMAOcLmy2uv9nb3//s8t5b3B49Yy6aF/vsWMgyOae3TXgJ8VlKc079hOzT26U7/79DSt/l8ugDz/+xu1zwmdA2r9oaRKxifV3ebpDZk+ef06Tdwr1lvj9WUVCGdUNimp+pWB7YaPW+SVpHXpLavlD2V7HiutQ85s04TqmK6/cLrSyYGjGsfPieuiX66T2zOwnaM+0qz5X6uXu195fmlaex/Tpbnv69J911Tp2cVlgx7/0LNbVVyZ6v13xbSEzv5WnQLhjP5zS7kkqXxKQvt/oGPA34UKcyNPpx/YrfyylJ64qWJQ27MP7xoQDJaMT+qDlzWqoDyle34wwdH+semI81p05jfrBu2zfU/s1F7HdOlPX5qst54qkOT8uAAAANhVCB8BAAB2QLg4rVBBpvffDasCI27rtUcKtfRfRWpa71e0wyNfIKOaU9t1znfq5PFK77uwuTd8nHVYRJK05tWQbrliihJRtworUpp2QLfc3lxAGCpM9QaPrz1SqDu/O0GZjEvFlUlNPyiiSIvzS8FAOKPn/1aiB385ToUVKX3i5+tVMS2hiXvFdMgZbXr+rtIB9eGitF59qFD/+FmVYp1uFVSkVFSZ1GlfbpDbLaWT0u1fm6wV/81T9VERXXDtenm80ulfadCyxwvVsdk3oL284rRuvnyKVr0U1r4ndWrB1RslSSddslkv3FWiaKdH9e8EddPnp2jTiqAibR65XNLEuTF99sY18oeyOubjzXripnJtPfqxqDKlO787QUv/VagZB3Xr4z9fL18gq8M/3Kpnbi9T45qRP6db3PGdifr3DRVDLkSzLYXjkjr9q7mwdsObQf3l65PUssGnqtlxffqGtcovTeuc727SDz84R5m0y9FxAQAAsCsRPgIAAOyIrQYzZncg32lv8OmEzzZq1iERFY5LyRcY2Ni4GfHe/29e79fEvWKqnBnXSZc2qmFVQJtXB/T644VKRnND5GKdHkXaPMorTmvaAd066ZJGNbwb0OZ3A3rl/uJBoxW3JZ2U7v9JlZJRt6IdXj15a5nOra2TJM05smtQ+BjtdOvOqyb29iW+1qNDz26V15/bpjefLNDrjxZKkl5/tFBvPVWgfY7vlNefVfVRXXrpnoH3V1z2WGHv6L5X7i/W4ee2aNoBUflDWU07sFtvPVmgjmavDprfplO+0KCyyUn5gpkBowXzStLKL02ra6vQdc2rIb10b+7xlj9ToGWPFarm1Ha53dKcI7p2Svg4UnOP7uo9DibtHdPC+1cOqikal9L4OTFtfCvk6LgAAADYlQgfAQAAdkB3q0fRTnfv6MeqmXFtWm6+onUgnNZlf1qtonGpYWv6h5F31k7Q+d/fqAnVcR390b7FbBJRl/71q3F66rZyZbMu3b5wks75ziaVTU7qmE809/W7w62/Xz1BSx8uctS/SJt3QHjVWufv/f+8rVb4lqTGNYFBYVd+Wd+2tdYNHNnYuqnv3wVlg/dB/99v+ftpB0Rz7Zbm6i+8dr32PqZr0N/25wtmBv1sW33Z0vZoyR9iXwwlryT3HDg5LgAAAHYlwkcAAIAdkM269NaTBTrwtHZJ0jEXNWnJQ0VD3vfR7ckOe9/HWYdGeoPH+pUB3XzFFLVuzE2v/fLdqwbVb1oe0s8/POv/t3fn4VEV1v/HP3ey72QjEAgkYXNB3KsCbuCuuGtbl1bbb9W2/rpYl7p+FbUu1WqtdW2/daOtFkrrVhXEBVFwraACgSSQAEkge0hIwszc3x+QIUMSCCGTOUner+fp8+DJnck53HxIenJnrlKytiorv0Xpo1o19aIqDc1r1em/qtB/30hR/aYorVqcqHtPH6/0ka3KzG1RZm6Ljru8SsmZXl1w+wYtfSu5y/eobC9hiFdRcf7AQjF1eGvgY43VER2O39rc8Tk3V+340TN1+Nagj6Vm7/jvhqqOP6K2//jOj99cHanYJF9g8bi1xdFTP8pVybI4+X2Obn9/hRKGdFyQdqeXna+S3Bs9uSq2/d/ZRy+l6p93dfYelK7aLsHt7tcFAABAX+G1FwAAAHtp3hOZam7c9mNV9oRtN1rJnrBFEZF+xSV7td9x9bryT2s0bGxzl8/ha7eU9HsdtW7xKCnDq1N/VtHp8af8rEITp9XLE+Gq6LN4fflmsipLtl2N6PFIKVnbFmjn3LRBE6Y0yLvV0arFCfryzRTVb9q20IqJ9yt+F0u59iKipBm/Kldckk9D85uDrqIs+LB7N61ZuShR3tZtc+577Gbtf3y9ouL8mjitXvseve0mKd5Wp9Pnmzi9Xvsc3aDoOJ8OPbM2cNVj6xZHaz6Pl98r+bdf1Oj6pZZGj6Ji/DrpJxt3uXiUpNyDtuiwM2sUHefThKkNmjh9201r/H51+4Y83dFUu2NJm5q9VXFJu/+7X/FBora2bPs7O/zsWh06o1axiT5FxviVPWGLTr66Qlc/Xxw4vrtfFwAAAH2FKx8BAAD2UmVJjJ752Shd8tvSwJ2bd/fy352t+W+86jdFKjnTq+x9mnX7uyslSRvXRHd6/IEn1Wv6/1R2+rHa8kiVFcRKko44v0aTv1PT6XGlX8d2+6YzzY0eHXRqnY66MPi51i+P1Sf/HtKt56iriNJrD2fprOvLFRnl6rLfl3Y45rWHslRX0fHKvMbaCP3wjyUd6vOeyNSWhm1LvYIPE7XP1M2KjnN1zfarRRuqItRU71F8cseXW+/oK1LfvmuDvn3XhqD6ktmpvfp+j61bIlRWEKPh41uUNmKrZi5aIUl66/FMzXt8aKePqd8YpZfvH6Zzbi5TZLSr79y9vsMx1et3/H119+sCAACgr7B8BAAA6AWFnyTot2eP1VEX1GjfYxuUmdui6DhXm6sjVLk2Rl8tSNKmkq4XWc0NEfrTVaM147py5UzcIt9WR1+9k6QP/5amX/6jqMPxi/6Wpn2mblbWmGYlDPHJiZAaKiNV+HGC3noiU97WbVdivvPnDOUe3KTM3NbAFYC15VFauShRbz2e2e35mmoj9MzPRumMa8uVe1CTvFsdffNOsl55MGuPblzzwQvpqlgVo6mXVGnUAVsUl+xTc0OESpbFaeEL6Vq1uPMrDT/+Z6oaKiN19KVVSsveqpqyKC18IV0fvbjjRjd/u2mEZvyqYvsVkn6t+SJe/75vuH742NpdLh9XLU7UN+8l6YQrNmlofos2V0doyZxUvf109/9+uutvN43UmdeXacQ+zYrbRU/tLf5HmspXxWrqJVXKPahJialeNTdGqH5jpNb8N15fvZ0cOLa7XxcAAAB9xcnI2X8v7skIAACAgey3S7+WtO3quntOHR/mbgAAANDf8KtPAAAAAAAAACHB8hEAAAAAAABASPCyawAAAAAAAAAhwZWPAAAAAAAAAEKC5SMAAAAAAACAkGD5CAAAAAAAACAkIsPdQDgkpwxRS0tzuNsAAAAAAAAA+qWYmFjV19Xu9rhBt3xMThmimXc/Eu42AAAAAAAAgH7ttpt/ttsF5KBbPrZd8XjbzT/j6kdjPB6PcvPGak3xavn9/nC3A0DkErCIXAL2kEvAHnIJhFZMTKxm3v1It3Zrg2752KalpVktzSwfLfF4PNra2qqW5ma+OQBGkEvAHnIJ2EMuAXvIJWAHN5wBAAAAAAAAEBIsH2GG67qqr6uV67rhbgXAduQSsIdcAvaQS8AecgnYMWhfdg17XNfVxo3l4W4DQDvkErCHXAL2kEvAHnIJ2MHyEWY4jqPMzCxt2lTBb6cAI8glYA+5BOwhl4A95HJwiomJVXLKEDmOE+5W+j2/36+a6kr5fL69fi6WjzDDcRwlpwxRZeVGvjkARpBLwB5yCdhDLgF7yOXg4jiOTjjpDB1w4GHhbmVA2draouf+8rjq6mr26nlYPgIAAAAAAKDfOuGkM3TApEO18N23tG7d2l65Wm+wi4qM0qlnnKeTTztb//j7M3u1xGf5CAAAAAAAgH4pJjZWBxx4mBa++5Y++XhRuNsZUD54f75Om3G+4hMS1bi5ocfPw92uYYbruqququSSeMAQcgnYQy4Be8glYA+5HDySk4dIktatWxveRgag2ppqSVJ8fMJePU9Yr3zMHzNB0044TTmjcpWSkqo/P/Wwli39fJePGTN2gs4+9yINGz5CdXW1WjD/NX34wTt91DFCyXVdVVdXhrsNAO2QS8AecgnYQy4Be8jl4NF2cxleat37/K5fkvb6Bj5hvfIxJiZGG9aXaM5Lz3fr+LT0DF3x42tVVFigB+69TfPffEXnnn+pJh3EG4oOBI7jaHh2DnelAgwhl4A95BKwh1wC9pBLwI6wXvm4/JulWv7N0m4fP2XqNNXWVGnunFmSpIqKDcoZnadp00/T0v9+Gqo20Uccx1FCQoIcx+HSeMAIcgnYQy4Be8glYA+5RH+WMzJbn3/4lo4/5Tx99c3KcLez1/rVDWdy88ZqxfJlQbUV3yzTkUcdI48nQn5/x0tsIyIjFRm5Y8yYmFhJksfjkcez7cJP13Xluq4cxwn6rcie1v1+f+C52+uNem/1aHkmj8cT9PkHwkx9VWcmZgpV77vLZX+caXd1ZmIm6zO15bLNQJipJ3VmYiZLM7XP5UCZqS/qzMRMoey9/ecZKDPtqj6YZ/I4HnV1fWvlj7/q4iO9L+PxiX32ufqSo+1/x44TdJ52Pi+70q+Wj0nJQ9TQELx8bGioU0REpBITE1VfX9fhMSeeNEOnnHZOh3pu3lhtbW2VJNXX1WrjxnJlZmYpOWVI4JjqqkpVV1dq2PCRSkjY8eaaGyvKVF9fp5E5uYqJiQnUN6wvVVNTo3LzxgadhJK1RfJ6vcofMz6oh6LCAkVGRmrU6PxAze/3q6iwQPHxCcoekROot7S0qLSkWElJyRqaNTxQb2xsVNmGUqWmpistPSNQ748zOY5H2dkj1dTUqPXrSgbETG0G0nlipsE1U1suN24sV11tzYCYqc1AOk/MNLhmastlcdGqATPTQDxPzDS4ZnIcj9LS01W4euWAmUkaeOeJmQbXTI7jUVxcnCQNmJmkgXeeemOmIanpioyMkrRt0RwdveM5+lLbxW6StHXrVvn9PkVFR8vjeNrVW+X3+xUdEyOn3cq0tbVFrusGnqP9DDvP5MpVa0uLPB6PoqKiA3W/69fW1lZ5PBGKioraUff7tHXrVkVEBF+c5/N55fV6FRkZqYiIHXWv1yufz6uoqChFR8coMjJKI0flqqlpc9B5iore8bl3x8nI2d/E9ccPP/rcbm84c9Nt9+vjxe9r/luvBmp5+eP082tu1a03/j81NHRcPnZ25ePMux/RjddfpZbmZkn8psHKTI7jKCkpWfX1dfL7/QNipt6oV121dEddkitHjtyg3+xsfwtYeRQc567rjiS3w5u+dlbv6nPurp75xAGD6jwN1Jl2l8v+ONPu6szETNZnastlXV2tXNcdEDP1pM5MzGRpJsdxlJiYFLgYYiDM1Bd1ZmKmUPa+q1z215l2VR/MMw0dOlwXf+8KPf/sE9pYURZ0rPUrHx3H0dVXXa5Lv3u+socP06bKKj036x+a/a9XO7zsevy4fN1x87U66ojD1Ni0Re8u/FC33nGfqmtqJUnTjp2ia352pfYZP1Y+v1+ffv6lbr79Xq1ZWyppx0u5L7viF/qfyy7SIQcfoKLiEl1300x9+vmXnfY3NGu4Lv3+VZr13FOqqNgQdJ5iYmN1z/1P6IZrrwjs17rSr658bKivVVJSSlAtMTFZPp9XjY2bO32Mz+uVz+vtUPf7/YEv2DZtX/A729P6zs/bm/Xe6tHqTLW1Nb3ee7hn2tu6v5MLyF056uy3Bp0d23XdUecTdV7v6nN2WR9k52kgz9SdXPa3mbpTZyZmsjxT+1wOlJl6WmcmZtpVvS9nqqurDfpYd3u0PFNf1ZmJmULV++5y2R9n2l19MM7kd/2d/n/S/uCWX/9Cl373fN068z4t+eQLZQ3N0Lgx+R2OyxqaoX+/9Ixe+Nsc3XrnbxUXG6Nbb7xGf3rsQZ373R9KkuLj4/T4089p+YoCxcfH6YZfXa1nnvq9jj/lvKC/15uu+5luv/sBFRav1c3X/0xP/uF+feuY07q8W7ir7X/H25+j7Tx1dV4606+Wj2uKV2v/iQcH1fbZd6JKS9aos/d7RP/iOI5G5uRqXemaTv/BAdD3yCVgD7kE7CGXgD3kEtYlJMTrissv0Y23/UYvzn5ZkrRmbamWfPKFckZmBx172SXf1rKvluvu+38fqP382lu19OO3lZ83WkXFa/Xqf+YHPeYX192mFf9dqAnjxmhFwepA/bGnntG8Be9Lku773R+16O2XlZc7SqsLi0M1aniXj9HRMcrMzAr8d1p6pkaMGKXGpkbV1lTpjDMvUEpKqmY9/5QkadEHCzT1mBN19rkX6aNF7yo3b6yOOOpYPffMY+EaAb3IcRzFxMTIcbgbGWAFuQTsIZeAPeQSsIdcwrrxY/MVGxuj9xct3u2xBx6wv6Yc9S2tWf5xh4/ljc5RUfFa5Y7O0a9/dbUOPWSS0lNTAy9LHzlieNDy8evlBYE/V2yslCRlpqcN3OXjqNF5uvrnNwX++5zzLpYkfbx4of76wtNKTh6i1LT0wMerqyr11OMP6OzzLtbUo6errq5W/5z9vJb+99M+7x0AAAAAAADoiebmlm4f6/E4emv+u5p5z+86fKxtgfjC/z2qDRvKdc0Nt6u8YpM8HkcfzP930M1nJMnr3Rr4c9ti3tmDO1f3RFiXj6tXrdAvrv5elx//6wtPd6gVrl6pB++7LZRtAQAAAAAAACFTtGatmrZs0TFTjtQLf5+zy2OXfrVcZ5x6gkrWbej0vRlTh6RowrgxuvbGO7T4488lSUccfnCH48IltKtNYA/4/X5tWF+6R29aCiC0yCVgD7kE7CGXgD3kEta1tLTqD4//n2676RpdeN6Zyh2do0MPnqSLv31uh2P//NzfNGRIip569H4dfOBEjR41UscdPVm//+2d8ng8qq2rV1V1jS696ALljc7R1Mnf0sxbrw/DVJ3rVzecwcDX1NQY7hYA7IRcAvaQS8AecgnYQy5h3YO/f0I+r083XPNTDcsaqoqNm/TsrJc6HFdRsUlnnHupbr3xGr30wpOKjo7WunVlWvDeB4EF+xVXX6ff3HGj3p/3L60uWqOb//ce/fsfz/TxRJ1j+QgzPB6PcvPGak3xan47BRhBLgF7yCVgD7kE7CGXkKSMxyeGu4Vdcl1XDz36lB569KkOH8scFdx70ZoSXX7lL7p8rvc/WKyp08/q8jlK123o8Jz19Q0daqHAy65hiifEb3IKYM+RS8AecgnYQy4Be8glYANJBAAAAAAAABASLB8BAAAAAAAAhATLR5jh9/tVsraI9+MADCGXgD3kErCHXAL2kEvADpaPMMXr9Ya7BQA7IZeAPeQSsIdcAvaQS8AGlo8ww+PxKH/MeN4UGDCEXAL2kEvAHnIJ2EMuATtIIQAAAAAAAICQYPkIAAAAAAAAICRYPgIAAAAAAAAICZaPMMPv96uosIC7kQGGkEvAHnIJ2EMuAXvIJQainJHZ2lTylSbuNyHcreyRyHA3ALQXGRmp1tbWcLcBoB1yCdhDLgF7yCVgD7nEprz0PvtcmcVVffa5+huufIQZHo9Ho0bnczcywBByCdhDLgF7yCVgD7kE7CCFAAAAAAAAQB+bduwUvTrnOa1e9qFWfvmBZv3lj8odnRP4+MEHTtSC1/+h0oLPNO/VF3XA/vsGPuY4jr5cMl/fv+TCoOecNHFfbSr5SqNHjeyzOXaH5SMAAAAAAADQx+Lj4/T408/ppBnf0Xnf/aH8fr+eeer3chxH8XFxmvWXP2p10RqdcMaFuv+hx3T7LdcGHuu6rua+/IbOP/v0oOc896zT9fGn/9XaknV9PU6XeM9HmMKbAQP2kEvAHnIJ2EMuAXvIJax79T/zg/77F9fdphX/XagJ48bo8MMOUkREhH5+7a3a0tyslQWFyh6epQd+c1vg+Dn/elU//tH3NHLEcK1bXybHcXTOmafo4Uef7utRdokrH2EGdyMD7CGXgD3kErCHXAL2kEv0B7mjc/TEI/fpkw/+o6KvF+uzRW9KkkaOGK7xY/P19TcrtaW5OXD8p599GfT4ZV+v0KrCYp171mmSpMlHHqaM9HT9+9U3+26IbmD5CFPi4xPC3QKAnZBLwB5yCdhDLgF7yCWse+H/HlVa6hBdc8PtOvmsi3TyWd+VJEVFRclxnG49x5y5r+ncs7a99Pq8s0/XO+8vUnVNbaha7hGWjzDD4/Eoe0QOdyMDDCGXgD3kErCHXAL2kEtYlzokRRPGjdHv/vCkFi5aolWrizQkJTnw8ZWrCrX/fhMUGxMTqB16yKQOzzPn369p/33Ha9IB+2nGaSdq9tzX+qT/PUEKAQAAAAAAgD5UW1evquoaXXrRBcobnaOpk7+lmbdeH/j4P//1mvx+vx7+7UyNH5evE44/Wj+94rIOz1NSul4ff/qFfn//TEVGROqNtxb04RTdw/IRAAAAAAAA6EOu6+qKq6/TgQfsp/fn/Ut33naD7rj7wcDHG5u26JIfXK0J48ZoweuzddN1P9PMex7q9Llmz31VE/ffR6+9MV/NLS19NUK3cbdrmOG6rlpaWuS6brhbAbAduQTsIZeAPeQSsIdcQpIyi6vC3cIuvf/BYk2dflZQLXPUxMCfP/tiqY4/9fwuP97mL8+/qL88/2JomuwFLB9hhuu6Ki0pDncbANohl4A95BKwh1wC9pBLwA5edg0zHMdRcnJKt+/oBCD0yCVgD7kE7CGXgD3kErCD5SPMcBxHQ7OG880BMIRcAvaQS8AecgnYQy4BO1g+AgAAAAAAAAgJlo8AAAAAAADol9puKhQRERHmTgYej7Ntbbi3N25i+QgzXNdVY2MjdyMDDCGXgD3kErCHXAL2kMvBo76+VpI0cuTo8DYyAA1JTZMkNTU17tXzcLdrmOG6rso2lIa7DQDtkEvAHnIJ2EMuAXvI5eDR0tysZV9+qqOPPVGStG7dWvl8vjB31f9FRUZp6jEnaF1JsZoaN+/Vc7F8hBmO4yg1NV01NVX8dgowglwC9pBLwB5yCdhDLgeX+W+9Kkk6+riTwtzJwLK1tUX/+Psze50hlo8ww3EcpaVnqLa2mm8OgBHkErCHXAL2kEvAHnI5uLiuq3lvvqL3352n5JQh3OW8F/h9PtXUVPXKVaQsHwEAAAAAANDvtbQ0a9PG8nC3gZ1wwxkAAAAAAAAAIcHyEWa4rqv6ulouiQcMIZeAPeQSsIdcAvaQS8AOXnYNM1zX1UYujwZMIZeAPeQSsIdcAvaQS8AOrnyEGY7jaOjQYbwxLGAIuQTsIZeAPeQSsIdcAnawfIQZjuNwVyrAGHIJ2EMuAXvIJWAPuQTsYPkIAAAAAAAAICRYPgIAAAAAAAAICZaPMMN1XVVXVXI3MsAQcgnYQy4Be8glYA+5BOzgbtcww3VdVVdXhrsNAO2QS8AecgnYQy4Be8glYAdXPsIMx3E0PDuHNwQGDCGXgD3kErCHXAL2kEvADpaPMMNxHCUkJPDNATCEXAL2kEvAHnIJ2EMuATtYPgIAAAAAAAAICZaPAAAAAAAAAEKC5SPMcF1XGyvKuBsZYAi5BOwhl4A95BKwh1wCdnC3a5jhuq7q6+vC3QaAdsglYA+5BOwhl4A95BKwgysfYYbjOMoZlccbAgOGkEvAHnIJ2EMuAXvIJWAHy0eY4TiOYmJi+OYAGEIuAXvIJWAPuQTsIZeAHSwfAQAAAAAAAIRE2N/zccrR0zVt+mlKTklRedl6zZ0zS0WFBV0ef+hhR2naCacrc2iWtmzZohXLl+rfc/+upsbNfdg1AAAAAAAAgN0J65WPBx9yhM4572LNe/NlPXDvbSoqLNCVP7lWQ1LTOz0+L3+8Lv7elVry0Xu69+4b9cyfH9WoUfn6zkU/6OPOEQp+v18b1pfK7/eHuxUA25FLwB5yCdhDLgF7yCVgR1iXj8dNO0VLPnpPiz96TxUVGzR3zizV1lRr6tHTOj0+N2+Mqqs26f335qm6qlLFRQX6cNE7yhmV18edI1SamhrD3QKAnZBLwB5yCdhDLgF7yCVgQ9hedh0REaGRObma/9arQfUVy5cpN29cp48pLlql0884X/vuN0nLv1mqxKRkHXjQ4frm6y+7/jyRkYqM3DFmTEysJMnj8cjj2bZ7dV1XruvKcZygN6Pd03rbb1Tanrc3673Vo+WZPB6PRueO0Zri1fL5fANipt6oe+TuqEty5ciRq/Zvm7ytk+Bjd113JLkdfvvQWb2rz7nb+iA7TwN1pt3lsj/OtLs6MzGT9ZnacllctEp+v39AzNSTOjMxk6WZ2uey7WP9faa+qDMTM4Wyd4/Ho1Gj87WmeHWHXPbXmXZVZyZm6uuZdu5pV8K2fExITFJERIQaGuqC6g0N9UpOTun0MWuKV+v5Z5/Q93/wU0VFRSkiIlLLln6uOS893+XnOfGkGTrltHM61HPzxmpra6skqb6uVhs3liszM0vJKUMCx1RXVaq6ulLDho9UQkJCoL6xokz19XUamZOrmJiYQH3D+lI1NTUqN29s0EkoWVskr9er/DHjg3ooKixQZGSkRo3OD9T8fr+KCgsUH5+g7BE5gXpLS4tKS4qVlJSsoVnDA/XGxkaVbShVamq60tIzAvX+OJPjeJSdPVLNzVu0fl3JgJipzd6cp4z4He9nWtYaq1pvlPJimxTj2fHygZKWODX6IjUuvjFo0Vi0JV5bXY8mxAe/J+rKpkRFOX7lxzXtmEmOVjYlKiHCp1ExW3bM5PeoqDlBKZFeDY9uDtQ3+yJU2hKv9KhWZUa1Buq13iiVtcYOuvM0UGdqy2Vl5UbV1dYMiJnaDKTzxEyDa6a2XK5dUzhgZhqI54mZBtdMjuNRWnq6iotWDZiZpIF3nphpcM3kOB7FxcVJ0oCZSRp454mZ+u9MUdHR6i4nI2d/d/eH9b7klCGaefcjevjBmVpTvDpQP/HkGTrs8Cm6565fd3hM1rBs/eT/3aB3F7ypFcuXKSVliM48+9sqWVusv//1z51+ns6ufJx59yO68fqr1NK8bZHCBtvGTB6PR3n541RUWMCVj+3qVVct3VFX/7nyMfOJAwbVeRqoM+0ul/1xpt3VmYmZrM/UlsvC1Su58pGZmMnITO1z2fax/j5TX9SZiZlC2bvH41Fu3lgVFRZ0yGV/nWlXdWZipr6eKSY2Vvfc/4RuuPaKwH6tK2G78rFxc4N8Pp+SkoKvckxMTFZDQ32njznhpBkqLlyld95+XZJUtqFULS0t+vk1t+j1V2ervr6uw2N8Xq98Xm+Hut/vD5ysNm1/kTvb0/rOz9ub9d7q0epMXf15b3oP90x7W/cHrfa21+Wos98adHZs13VHnU/Ueb2rz9llfZCdp4E8U3dy2d9m6k6dmZjJ8kztHzdQZuppnZmYaVf1vpyJn2F7XmcmZmImZtpVnZlsztRVT53Z+cKnPuPz+bSudI0m7DMxqD5hn4laU7yq08dER0d3GNx1tw/rdL50Qf/h9/tVsrZoj76AAYQWuQTsIZeAPeQSsIdcAnaEbfkoSe8ueENHTj5WRxx5jLKysnX2uRcpNS1dixYukCSdceYFuvjSKwLHf73sC0066FBNmTpN6emZyssfp3PPv0Rr1xSqvq42TFOgN3k7uUoVQHiRS8AecgnYQy4Be8glYEPYXnYtSV98vkTxCYk6+dSzlJw8RGVl6/TkYw+qpqZKkpScPESpaemB4z9e8oFiYuM09dgTdNa539WWLU1atfIbvfLvl8I1AnqRx+NR/pjxKios4LdTgBHkErCHXAL2kEvAHnIJ2BHW5aMkLVr4thYtfLvTj/31hac71Ba+N08L35sX6rYAAAAAAAAA7KWwvuwaAAAAAAAAwMDF8hEAAAAAAABASLB8hBl+v5/34wCMIZeAPeQSsIdcAvaQS8AOlo8wJTIy7G9DCmAn5BKwh1wC9pBLwB5yCdjA8hFmeDwejRqdL4+HL0vACnIJ2EMuAXvIJWAPuQTsIIUAAAAAAAAAQoLlIwAAAAAAAICQYPkIU3gzYMAecgnYQy4Be8glYA+5BGzg3VdhRtvdyADYQS4Be8glYA+5BOwhl4AdXPkIU+LjE8LdAoCdkEvAHnIJ2EMuAXvIJWADy0eY4fF4lD0ih7uRAYaQS8AecgnYQy4Be8glYAcpBAAAAAAAABASLB8BAAAAAAAAhATLR5jhuq5aWlrkum64WwGwHbkE7CGXgD3kErCHXAJ2cLdrmOG6rkpLisPdBoB2yCVgD7kE7CGXgD3kErCDKx9hhuM4Sk5OkeM44W4FwHbkErCHXAL2kEvAHnIJ2MHyEWY4jqOhWcP55gAYQi4Be8glYA+5BOwhl4AdLB8BAAAAAAAAhATLRwAAAAAAAAAhwfIRZriuq8bGRu5GBhhCLgF7yCVgD7kE7CGXgB3c7RpmuK6rsg2l4W4DQDvkErCHXAL2kEvAHnIJ2MGVjzDDcRylpWXwhsCAIeQSsIdcAvaQS8AecgnYwfIRZjiOo7R0vjkAlpBLwB5yCdhDLgF7yCVgB8tHAAAAAAAAACHB8hEAAAAAAABASLB8hBmu66q+rpa7kQGGkEvAHnIJ2EMuAXvIJWAHd7uGGa7rauPG8nC3AaAdcgnYQy4Be8glYA+5BOzgykeY4TiOhg4dxhsCA4aQS8AecgnYQy4Be8glYAfLR5jhOI6SU4bwzQEwhFwC9pBLwB5yCdhDLgE7WD4CAAAAAAAACAmWjwAAAAAAAABCguUjzHBdV9VVldyNDDCEXAL2kEvAHnIJ2EMuATu42zXMcF1X1dWV4W4DQDvkErCHXAL2kEvAHnIJ2MGVjzDDcRwNz87hDYEBQ8glYA+5BOwhl4A95BKwg+UjzHAcRwkJCXxzAAwhl4A95BKwh1wC9pBLwA6WjwAAAAAAAABCguUjAAAAAAAAgJBg+QgzXNfVxooy7kYGGEIuAXvIJWAPuQTsIZeAHdztGma4rqv6+rpwtwGgHXIJ2EMuAXvIJWAPuQTs4MpHmOE4jnJG5fGGwIAh5BKwh1wC9pBLwB5yCdjB8hFmOI6jmJgYvjkAhpBLwB5yCdhDLgF7yCVgB8tHAAAAAAAAACHB8hEAAAAAAABASLB8hBl+v18b1pfK7/eHuxUA25FLwB5yCdhDLgF7yCVgB8tHmNLU1BjuFgDshFwC9pBLwB5yCdhDLgEberR8/M75ZykuNra3e8Eg5/F4lD9mvDweduKAFeQSsIdcAvaQS8AecgnY0aMU3vLrX+jrz97Vw/fP1OGHHtTLLWEw4xsDYA+5BOwhl4A95BKwh1wCNvQoiZO+NV0//sWvlZKSrLl//z99uOBl/b8f/0BDM9N7uz8AAAAAAAAA/VSPlo9+v19vzntXl1/5Cx105Al67q+zdd7ZZ+iLj+br+T//QaeceLwcx+ntXgEAAAAAAAD0I3t9DXJlVbU+/vQLffr5f+X3+7XvhHH6w+/u0icL/6PJRx7eGz1ikPD7/SpZW8TdyABDyCVgD7kE7CGXgD3kErCjx8vHzIx0/eSKy7Rw/r/0r5f+oqTERF38g5/qsKmn6IDDpum1N+br0d/d3Zu9YhDwer3hbgHATsglYA+5BOwhl4A95BKwIbInD3rh/x7V8cdMUWHxGr3wt9l6cfbLqq2rD3y8uaVFjz39rK76n+/t9rmmHD1d06afpuSUFJWXrdfcObNUVFjQ5fERkZE6+dSzddjhk5WclKLa2mrNe/MVLVn8fk9GgSFtdyMrKizgt1OAEeQSsIdcAvaQS8AecgnY0aPlY2Vltc668DJ9+vmXXR5TUbFJh045eZfPc/AhR+ic8y7W7BefVXHRKk2eeryu/Mm1uueuG1VbU9XpYy77wdVKSkrW32f9WZWbKpSYlMwdrAAAAAAAAACDerS1+3DJp1r61Tcd6lFRkbrwvDMD/71ufdkun+e4aadoyUfvafFH76miYoPmzpml2ppqTT16WqfH77PvARo7doKeevxBFaz8WtXVlSpZW6Q1xat7MgYAAAAAAACAEOrRlY+PPHCnFrz7gSqrqoPqiQkJeuSBO/XSnJd3+xwREREamZOr+W+9GlRfsXyZcvPGdfqYiQccopKSNZp2wuk67FuT1draqq+Wfa7/vDpHW7du7fzzREYqMnLHmDExsZK2XYLddsWk67pyXVeO4wTdpXtP622Xcu98JWZv1HurR8szeTyeoM8/EGbqjbpH7o66JFeOHLlqfz/5bZ0EH7vruiPJ7fDbh87qXX3O3dYH2XkaqDPtLpf9cabd1ZmJmazP1JbLNgNhpp7UmYmZLM3UPpcDZaa+qDMTM4Wy9/afZ6DMtKs6MzFTX8+0J69C7tHy0XEcua7boZ49fJjqGzZ36zkSEpMUERGhhoa6oHpDQ72Sk1M6fUx6Rqbyx4yT17tV//f0I0pISNQF3/6+EuIT9bdZf+r0MSeeNEOnnHZOh3pu3lhtbW2VJNXX1WrjxnJlZmYpOWVI4JjqqkpVV1dq2PCRSkhICNQ3VpSpvr5OI3NyFRMTE6hvWF+qpqZG5eaNDToJJWuL5PV6lT9mfFAPRYUFioyM1KjR+YGa3+9XUWGB4uMTlD0iJ1BvaWlRaUmxkpKSNTRreKDe2Niosg2lSk1NV1p6RqDef2dyNDQre4DNtHfnKSN+R6bKWmNV641SXmyTYjw73rekpCVOjb5IjYtvDFo0Fm2J11bXownxwblc2ZSoKMev/LimHTPJ0cqmRCVE+DQqZsuOmfweFTUnKCXSq+HRzYH6Zl+ESlvilR7Vqsyo1kC91hulstbYQXeeBvZMjhISEgfYTAPxPDHT4Jpp2w+C0dHRA2imgXiemGkwzdTU1Ci/36+0tIwBM9NAPE/MNLhm2rSpQn6/Xzmj8gbMTAPxPDFT/5wpKjpa3eVk5OzfcYvYhQWv/0Ou62r//SZoRUGhfO3uHOWJiNDonBFa8N4H+p+fXLvb50pOGaKZdz+ihx+cGfSy6RNPnqHDDp+ie+76dYfHXPXT65Q/ZoJuu+n/qbl523Jk0oGH6bIfXq0bfvWjTq9+7OzKx5l3P6Ibr79KLc3bFilssO3MFB0drZaWlgE1097Wq65auqOu/nPlY+YTBwyq8zSQZ9pVLvvrTLuqMxMz9YeZoqOj1bz955iBMtOe1pmJmazNFBUVpZaWlgE100A8T8w0uGbqKpf9eaaBeJ6YqX/OFBMbq3vuf0I3XHtFYL/WlT268vH1txZIkibuv4/eeW+RGpt2XDW1detWlZSu16v/mdet52rc3CCfz6ekpOCrHBMTk9XQUN/pY+rr61RXVxNYPEpSRfkGeTwepQxJU+Wmig6P8Xm9QUvSNn6/P3Cy2rT9Re5sT+s7P29v1nurR4szeTwejczJVVFhQaDW32fqjbo/aLW3vS5Hnf3WoLNju6476nyizutdfc4u64PsPA3Umbqby/40U3frzMRMVmdqn8vOfp7Z1fNYnWlv6szETLuq99VMHo9HOaPyArkcCDP1ZZ2ZmCkUvXcnl/1tpu7UmYmZ+mqmrnrqzB4tHx94+HFJUum69frXK2+opaV1N4/oms/n07rSNZqwz0QtW/pZoD5hn4n6atnnnT6muKhABx18uKKjY9Ta2iJJyhw6TH6/X3W11T3uBQAAAAAAAEDv2/lVl93y4uyX92rx2ObdBW/oyMnH6ogjj1FWVrbOPvcipaala9HCbVdYnnHmBbr40isCx3/2yUdqbNysiy75kbKGZSt/zASdec53tOSj97u84QwAAAAAAACA8Oj2lY8FSxfpyGNPV3VNrVYtW6ROrrwMGD9pSree84vPlyg+IVEnn3qWkpOHqKxsnZ587EHV1FRJkpKThyg1LT1wfGtrix5/9H6dd8Gl+tX1d6ixcbP++/nHev3V2d0dA8btyWW7APoGuQTsIZeAPeQSsIdcAjZ0e/l468z7tLmxcduf77hfbqfv8rbnFi18W4sWvt3px/76wtMdahsryvT4o/f3yueGLX7/tjs2AbCDXAL2kEvAHnIJ2EMuATu6vXx8cfbLgT//ffa/Q9IMEB+foKamxnC3AaAdcgnYQy4Be8glYA+5BGzo9ns+JiYmdPt/QE94PB5lj8jpcAt5AOFDLgF7yCVgD7kE7CGXgB3dvvKx8KuPOr3FdnuO48h1XQ3LO3CvGwMAAAAAAADQv3V7+XjOt38Qyj4AAAAAAAAADDDdXj5+uOTTUPYByHVdtbS07PYKWwB9h1wC9pBLwB5yObBsyksPdws9kllcFe4WTCGXgB3dXj7ut894LV+5Sq7rar99xu/y2G9WcEcp7DnXdVVaUhzuNgC0Qy4Be8glYA+5BOwhl4Ad3V4+vvPGbO1/6HGqrKrWO2/Mluu6chynw3G85yN6ynEcJSUlq6Ghnt9OAUaQS8AecgnYQy4Be8glYEe3l4+HTjlZlVXVgT8Dvc1xHA3NGq7Nmxv45gAYQS4Be8glYA+5BOwhl4Ad3V4+rltf1umfAQAAAAAAAKAz3V4+7mxMfq5+dNlFGjcuX67ravXqYj39zF9VWLSmF9sDAAAAAAAA0F95evKgGaedqIXz5mrSAfvp629W6pvlBTpg4n5aOG+uzjz9pN7uEYOE67pqbGzkknjAEHIJ2EMuAXvIJWAPuQTs6NGVj7fddI1+/8c/6b7f/TGofv01P9WtN/5SL7/2Vq80h8HFdV2VbSgNdxsA2iGXgD3kErCHXAL2kEvAjh5d+Tg0M0MvzXm5Q332P1/R0MyMvW4Kg5PjOEpLy+j0LuoAwoNcAvaQS8AecgnYQy4BO3q0fPzwo0905LcO7VA/4vBDtOTjz/e6KQxOjuMoLZ1vDoAl5BKwh1wC9pBLwB5yCdjR7Zddn3zicYE/vzH/Xd164y914AH76dMvlkqSDjt4kmacfrLuf+iPXTwDAAAAAAAAgMGk28vH555+pEPt8u99R5d/7ztBtfvuvFnPvvDS3ncGAAAAAAAAoF/r9vIxK3dSKPsA5Lqu6utquRsZYAi5BOwhl4A95BKwh1wCdvTobtdAKLiuq40by8PdBoB2yCVgD7kE7CGXgD3kErCjx8vH+Lg4TT7yMI0YMVzRUVFBH3v6L7P2ujEMPo7jKDMzS5s2VfDbKcAIcgnYQy4Be8glYA+5BOzo0fLxgP330d+efVxxsbGKj49TTW2d0tNStWVLszZVVbF8RI84jqPklCGqrNzINwfACHIJ2EMuAXvIJWAPuQTs8PTkQXfedoPenP+uxk2aoubmFp169sU6+KiT9OWyr3X7XQ/2do8AAAAAAAAA+qEeLR8n7jdBjz31rPx+v3w+n6Kjo7WhrFx3/OZ3uvn6n/V2jwAAAAAAAAD6oR4tH7d6vYHLljdVVmlk9jBJUn3DZo0YMbz3usOg4rquqqsquSQeMIRcAvaQS8AecgnYQy4BO3r0no/Lvl6hgybtr6Litfrgo090w6+uVlpaqi48d4aWr1jV2z1ikHBdV9XVleFuA0A75BKwh1wC9pBLwB5yCdjRoysf777/96rYuEmSdO8Df1BNTa1+e/etykhP069+fUevNojBw3EcDc/OkeM44W4FwHbkErCHXAL2kEvAHnIJ2NGjKx+/XPp14M9V1TX67mU/6bWGMHg5jqOEhAQ5jsOl8YAR5BKwh1wC9pBLwB5yCdjRo+Vjm4z0NI0dkyvXdbW6cI2qqmt6qy8AAAAAAAAA/VyPlo+JiQm6765bdM6MUxQRESFJ8vl8+tcrb+qGW+9SQ8PmXm0SAAAAAAAAQP/To/d8fPj+O3ToQQfo4st/qjETj1L+/kfq4st/qoMm7aeH7ru9l1vEYOG6rjZWlHFJPGAIuQTsIZeAPeQSsIdcAnb06MrHE6Ydo29feqWWfPJFoPbO+x/qml/frr8/90SvNYfBxXVd1dfXhbsNAO2QS8AecgnYQy4Be8glYEePrnysqalTfX3Hl1bX129WXV39XjeFwclxHOWMyuNuZIAh5BKwh1wC9pBLwB5yCdjRo+Xj7/7wpGbedr2yhmYEakMz03X7zb/Sg4882WvNYXBxHEcxMTF8cwAMIZeAPeQSsIdcAvaQS8CObr/sesHr/wh6r4T8vNH6/MN5Wr+hTJI0Inu4WltblZ6Wqudm/aP3OwUAAAAAAADQr3R7+fj6WwtC2QcAAAAAAACAAabby8cHHn48lH0A8vv92rC+VH6/P9ytANiOXAL2kEvAHnIJ2EMuATt6dLfrNpMO2E/jx+bLdV0VrCrUsq9X9FZfGKSamhrD3QKAnZBLwB5yCdhDLgF7yCVgQ4+WjxnpaXrq0d9qylGHq66+QY4jJScl6YOPPtYVP71OVdU1vd0nBgGPx6PcvLFaU7ya304BRpBLwB5yCdhDLgF7yCVgR4/udn3PzJuUlJSoqSecrfGTpmjcAVN09IlnKykxUb+548be7hGDiMfToy9JACFELgF7yCVgD7kE7CGXgA09uvJx2rFTdN5FP9Kq1UWBWsGqIt1wy136xwtP9VpzAAAAAAAAAPqvHv0awOPxyOvd2qHu9Xr5zQIAAAAAAAAAST1cPi78cInuvv3XysrKDNSGZQ3VnbfdoPcXLem15jC4+P1+lawt4v04AEPIJWAPuQTsIZeAPeQSsKNHL7v+9a2/0fN/ekSfL3pL68vKJdfViOzhWr6yQD/++a97u0cMIl6vN9wtANgJuQTsIZeAPeQSsIdcAjb0aPm4oaxc00+/UMcefZTGjcmT4zhauapQ73+wuLf7wyDi8XiUP2a8igoL+O0UYAS5BOwhl4A95BKwh1wCduzx8jEiIkLrVn2m4085X+8t/EjvLfwoFH0BAAAAAAAA6Of2+D0ffT6fSteXKSIiIhT9AAAAAAAAABggenTDmYceeVK33PBzDUlJ7u1+AAAAAAAAAAwQPXrPxx9dfrHyckdp2SfvaN36DWpq2hL08emnX9grzWFw8fv9vB8HYAy5BOwhl4A95BKwh1wCdvRo+fj6Wwvkuq4cx+ntfjDIRUZGqrW1NdxtoBdsyksPdws9kllcFe4WzCGXgD3kErCHXAL2kEvAhj1aPsbFxur2m3+lU0+epsjISC1ctEQ33vYbVdfUhqg9DCYej0ejRufz2ynAEHIJ2EMuAXvIJWAPuQTs2KP3fLz+mp/q2xecpXkL3tfcl/+jY6Yeqd/+5tZQ9QYAAAAAAACgH9ujKx9PP/UE/eK6/9W/XvmPJGn23Ff12j+fl8fj4TcJAAAAAAAAAILs0ZWPI4YP0+KPPwv89xdffiWvz6dhWUN7vTEMTiyxAXvIJWAPuQTsIZeAPeQSsGGPrnyMiPBo69atQTWf16fIyIgeNzDl6OmaNv00JaekqLxsvebOmaWiwoLdPi4vf5yu/vlNKi9bp9/ey0u/B4K2u5EBsINcAvaQS8AecgnYQy4BO/Zo+eg4jv7w4N1qaXe3qJiYaD3wm9vU2LQlULv8yl906/kOPuQInXPexZr94rMqLlqlyVOP15U/uVb33HWjamu6vuNsbGycLr70Cq0q+EZJScl7MgKMi49PUFNTY7jbANAOuQTsIZeAPeQSsIdcAjbs0cuuX5z9b1VWVamhoSHwv9lzX1V5xcagWncdN+0ULfnoPS3+6D1VVGzQ3DmzVFtTralHT9vl4y787uX67NPFWlO8ek/ah3Eej0fZI3Lk8ezRlyWAECKXgD3kErCHXAL2kEvAjj268vFn1/bey5sjIiI0MidX8996Nai+Yvky5eaN6/Jx3zryaGVkDNULzz6hk045a/efJzJSkZE7xoyJiZW07R+itn+EXNeV67pyHEeO4wSO3dN62/tJ7PyPW2/Ue6tHyzN5PJ6gzz8QZuqNukfujrokV44cudpxtLStk+Bjd113JLkdfvvQWb2rz7m7uitHbruZHHdb1e84krpT39aN3wnusqu6x/Vv+9zdqrvyuG6HHrX974mvve7nsj/OtLs6MzGT9ZnactlmIMzUkzozMZOlmdrncqDM1Bd1qzO1/zmzv/wM6xmE52l39fafZ6DMtKs6MzFTX8+0J4v9PVo+9qaExCRFRESooaEuqN7QUK/k5JROH5ORmaUZZ16oRx6+u9tvHHviSTN0ymnndKjn5o3V1u0vH6+vq9XGjeXKzMxScsqQwDHVVZWqrq7UsOEjlZCQEKhvrChTfX2dRubkKiYmJlDfsL5UTU2Nys0bG3QSStYWyev1Kn/M+KAeigoLFBkZqVGj8wO1tveliI9PUPaInEC9paVFpSXFSkpK1tCs4YF6Y2OjyjaUKjU1XWnpGYF6f5zJcTzKzh6ppqZGrV9XMiBmarM35ykjfnOgXtYaq1pvlPJimxTj2ZGBkpY4NfoiNS6+MWjRWLQlXltdjya0ew5JWtmUqCjHr/y4ph0zydHKpkQlRPg0KmbH2yi0+D0qak5QSqRXw6ObA/XNvgiVtsQrPapVmVE73oqh1hulstZYNaRmaEvCjrdFSKivVmJ9jerSh6k1Nj5QT67ZpLjGetUMHSlvVHSgPqSyTDHNTarMzg364Sq9vFQen1ebRuQFzZS5vlj+iEhVDdtxPhzX1dD1RWqNjVdtxo7zEbm1VekVpWpOSFJ9amagHt3cJBVV8rXXbqa2XG7cWK662poBMVObgXSemGlwzdSWy+KiVQNmpoF4nphpcM3kOB6lpaercPXKATOTNPDOU3dn2jRiVKDeX36GTa0sG3TnaXczOY5HcXFxkjRgZpIG3nlipv47U1T0jn/7dsfJyNnf3f1hvS85ZYhm3v2IHn5wZtDLp088eYYOO3yK7rnr10HHO46jX177v1r80Xv68IN3JEmnnHaODph0yC5vONPZlY8z735EN15/lVqaty1S2GDbmMlxHI0Ymat1pcXy+/0DYqbeqFddtXRHXf3nykf/G8f1yysfs4oq+drbg1z2x5l2V2cmZrI+U1suS0uK5LrugJipJ3VmYiZLM23L5WiVlhQH/ru/z9QXdaszleft+D/n/eVnWI/rauia6kF1nnZXdxxH2SNGa11px1z215l2VWcmZurrmWJiY3XP/U/ohmuvCOzXuhK2Kx8bNzfI5/MpKSn4KsfExGQ1NNR3OD42Nk6jRudrxMjROu+C70na9o+Hx+PRg7//i5744/1aVbC8w+N8Xq98Xm+Hut/v73D1ZNtf5M72tN7VVZm9Ue+tHq3OVLK2sNd7D/dMe1v3B632ttflqLPfGnR2bNd1R51P1Hm9q8/ZVd2RK6eTmTzutvVk9+udd9lZ3dG2H+y6X++8R7729jyX/W2m7tSZiZksz9Q+lwNlpp7WmYmZdlXvy5lK1hYFfay7PVqeqa/q1mbq7OdMfoa1d566Uy8t2XUu++NMu6szEzP11Uxd9dSZsC0ffT6f1pWu0YR9JmrZ0s8C9Qn7TNRXyz7vcHxz8xbde/eNQbWpR5+gceP31V/+/AdVV20Kec8ILcdxlJS0bfnc2Rc4gL5HLgF7yCVgD7kE7CGXgB1hWz5K0rsL3tDF37tSpSXFWlO8WkdNOU6paelatHCBJOmMMy9QSkqqZj3/lFzXVXnZ+qDHb95cL693a4c6+ifHcTQ0a7g2b27gmwNgBLkE7CGXgD3kErCHXAJ2hHX5+MXnSxSfkKiTTz1LyclDVFa2Tk8+9qBqaqokScnJQ5Salh7OFgEAAAAAAAD0UFiXj5K0aOHbWrTw7U4/9tcXnt7lY994fa7eeH1uKNoCAAAAAAAAsJd2vtktEDau66qxsZFL4gFDyCVgD7kE7CGXgD3kErAj7Fc+Am1c11XZhtJwtwGgHXIJ2EMuAXvIJWAPuQTs4MpHmOE4jtLSMuQ4TrhbAbAduQTsIZeAPeQSsIdcAnawfIQZjuMoLZ1vDoAl5BKwh1wC9pBLwB5yCdjB8hEAAAAAAABASLB8BAAAAAAAABASLB9hhuu6qq+r5W5kgCHkErCHXAL2kEvAHnIJ2MHdrmGG67rauLE83G0AaIdcAvaQS8AecgnYQy4BO7jyEWY4jqOhQ4fxhsCAIeQSsIdcAvaQS8AecgnYwfIRZjiOo+SUIXxzAAwhl4A95BKwh1wC9pBLwA6WjwAAAAAAAABCguUjAAAAAAAAgJBg+QgzXNdVdVUldyMDDCGXgD3kErCHXAL2kEvADu52DTNc11V1dWW42wDQDrkE7CGXgD3kErCHXAJ2cOUjzHAcR8Ozc3hDYMAQcgnYQy4Be8glYA+5BOxg+QgzHMdRQkIC3xwAQ8glYA+5BOwhl4A95BKwg+UjAAAAAAAAgJBg+QgAAAAAAAAgJFg+wgzXdbWxooy7kQGGkEvAHnIJ2EMuAXvIJWAHd7uGGa7rqr6+LtxtAGiHXAL2kEvAHnIJ2EMuATu48hFmOI6jnFF5vCEwYAi5BOwhl4A95BKwh1wCdrB8hBmO4ygmJoZvDoAh5BKwh1wC9pBLwB5yCdjB8hEAAAAAAABASLB8BAAAAAAAABASLB9hht/v14b1pfL7/eFuBcB25BKwh1wC9pBLwB5yCdjB8hGmNDU1hrsFADshl4A95BKwh1wC9pBLwAaWjzDD4/Eof8x4eTx8WQJWkEvAHnIJ2EMuAXvIJWAHKYQpfGMA7CGXgD3kErCHXAL2kEvABpIIAAAAAAAAICRYPgIAAAAAAAAICZaPMMPv96tkbRF3IwMMIZeAPeQSsIdcAvaQS8AOlo8wxev1hrsFADshl4A95BKwh1wC9pBLwAaWjzCDu5EB9pBLwB5yCdhDLgF7yCVgBykEAAAAAAAAEBIsHwEAAAAAAACEBMtHAAAAAAAAACHB8hFm+P1+FRUWcDcywBByCdhDLgF7yCVgD7kE7GD5CFMiIyPD3QKAnZBLwB5yCdhDLgF7yCVgA8tHmOHxeDRqdD53IwMMIZeAPeQSsIdcAvaQS8AOUggAAAAAAAAgJFg+AgAAAAAAAAgJlo8whTcDBuwhl4A95BKwh1wC9pBLwAbefRVmtN2NDIAd5BKwh1wC9pBLwB5yCdjBlY8wJT4+IdwtANgJuQTsIZeAPeQSsIdcAjawfIQZHo9H2SNyuBsZYAi5BOwhl4A95BKwh1wCdpBCAAAAAAAAACHB8hEAAAAAAABASLB8hBmu66qlpUWu64a7FQDbkUvAHnIJ2EMuAXvIJWAHd7uGGa7rqrSkONxtAGiHXAL2kEvAHnIJ2EMuATu48hFmOI6j5OQUOY4T7lYAbEcuAXvIJWAPuQTsIZeAHSwfYYbjOBqaNZxvDoAh5BKwh1wC9pBLwB5yCdgR9pddTzl6uqZNP03JKSkqL1uvuXNmqaiwoNNjJx14mKYcPU0jRoxSZGSUysvX643X52rF8mV93DUAAAAAAACA3QnrlY8HH3KEzjnvYs1782U9cO9tKios0JU/uVZDUtM7PX7M2AlaueIrPfn4g3rg/tu0quAb/c+Vv9SIkaP7uHMAAAAAAAAAuxPW5eNx007Rko/e0+KP3lNFxQbNnTNLtTXVmnr0tE6PnztnlhbMf12lJcWq3FSh116ZrU2byjVx4kF92zhCwnVdNTY2cjcywBByCdhDLgF7yCVgD7kE7Ajby64jIiI0MidX8996Nai+Yvky5eaN69ZzOI6j2Jg4NTY1dv15IiMVGbljzJiYWEmSx+ORx7Nt9+q6rlzXleM4Qe8Hsad1v98feO72eqPeWz1an6mifH3g4wNlpr2te7Tjm6UryZUjR67av3PJtk6Cj9113ZHkdvjtQ2f1rj7n7uquHLntZnLcbVW/40jqTn1bN34nuMuu6h7Xv+1zd6vuyuO6HXrU9r8nvva6n8v+OtOu6szETP1hpory9YH/MzVQZtrTOjMxk7WZysvWDbiZBuJ56k69/c+Z/eVnWM8gPE/dqXeVy/4800A8T8zUP2fauaddCdvyMSExSREREWpoqAuqNzTUKzk5pVvPcdy0UxUdE6P/fr6ky2NOPGmGTjntnA713Lyx2traKkmqr6vVxo3lyszMUnLKkMAx1VWVqq6u1LDhI5WQkBCob6woU319nUbm5ComJiZQ37C+VE1NjcrNGxt0EkrWFsnr9Sp/zPigHooKCxQZGalRo/MDNb/fr6LCAsXHJyh7RE6g3tLSotKSYiUlJWto1vBAvbGxUWUbSpWamq609IxAvX/O5CgpKVkVFWXasL5kgMy0zd6cp4z4zYF6WWusar1RyottUozHv6P3ljg1+iI1Lr4xaNFYtCVeW12PJrR7Dkla2ZSoKMev/LimHTPJ0cqmRCVE+DQqZsuOmfweFTUnKCXSq+HRzYH6Zl+ESlvilR7Vqsyo1kC91hulstZYNaRmaEtCcqCeUF+txPoa1aUPU2tsfKCeXLNJcY31qhk6Ut6o6EB9SGWZYpqbVJmdG/TDVXp5qTw+rzaNyAuaKXN9sfwRkaoatuN8OK6roeuL1Bobr9qMHecjcmur0itK1ZyQpPrUzEA9urlJKqrkay9opm25LCpcqbq62gEy0zYD6zwx0+CaaVsul375qSIiIgbITNsMrPPETINrJkeRkZFaueKrATTTQDxP3Ztp04hRgXp/+Rk2tbJs0J2n3c/kqLWlWaWlawbQTAPxPDFTf50pKnrHv32742Tk7B+Wa5CTU4Zo5t2P6OEHZ2pN8epA/cSTZ+iww6fonrt+vcvHH3Lokfr2RT/Un596WAUrv+7yuM6ufJx59yO68fqr1NK8bZHCBtvGTB6PR3n541RUWCCfzzcgZuqNetVVS3fU1X+ufPS/cVy/vPIxq6iSr709yGV/nGl3dWZiJuszteWycPVK+f3+ATFTT+rMxEyWZmqfy7aP9feZ+qJudabyvB3/57y//AzrcV0NXVM9qM7T7uoej0e5eWNVVFjQIZf9daZd1ZmJmfp6ppjYWN1z/xO64dorAvu1roTtysfGzQ3y+XxKSgq+yjExMVkNDfW7fOzBhxyh71z8Qz3z50d3uXiUJJ/XK5/X26Hu9/sDJ6tN21/kzva0vvPz9ma9t3q0OlNXf96b3sM9097W/UGrve11OerstwadHdt13VHnE3Ve7+pzdlV35MrpZCaPu2092f165112Vne07Qe77tc775GvvT3PZX+bqTt1ZmImyzO1f9xAmamndWZipl3V+3Imfobted3aTJ39nMnPsPbOEzMxEzOFd6aueurMzhc+9Rmfz6d1pWs0YZ+JQfUJ+0zUmuJVXT7ukEOP1Hcv+ZGef+ZxffP1l6FuEwAAAAAAAEAPhW35KEnvLnhDR04+VkcceYyysrJ19rkXKTUtXYsWLpAknXHmBbr40isCxx9y6JG6+HtX6N9z/6Y1xYVKSkpRUlKKYmPjwjUCepHruqqvq+10sw4gPMglYA+5BOwhl4A95BKwI2wvu5akLz5foviERJ186llKTh6isrJ1evKxB1VTUyVJSk4eotS09MDxk6cer4iISF3w7e/rgm9/P1D/ePFC/fWFp/u8f/Qu13W1cWN5uNsA0A65BOwhl4A95BKwh1wCdoR1+ShJixa+rUUL3+70YzsvFB/9/T190RLCxHGcbXeX21TBb6cAI8glYA+5BOwhl4A95BKwI6wvuwbacxxHySlDgu6mBCC8yCVgD7kE7CGXgD3kErCD5SMAAAAAAACAkGD5CAAAAAAAACAkWD7CDNd1VV1VyftxAIaQS8AecgnYQy4Be8glYEfYbzgDtHFdV9XVleFuA0A75BKwh1wC9pBLwB5yCdjBlY8ww3EcDc/O4Q2BAUPIJWAPuQTsIZeAPeQSsIPlI8xwHEcJCQl8cwAMIZeAPeQSsIdcAvaQS8AOlo8AAAAAAAAAQoLlIwAAAAAAAICQYPkIM1zX1caKMu5GBhhCLgF7yCVgD7kE7CGXgB3c7RpmuK6r+vq6cLcBoB1yCdhDLgF7yCVgD7kE7ODKR5jhOI5yRuXxhsCAIeQSsIdcAvaQS8AecgnYwfIRZjiOo5iYGL45AIaQS8AecgnYQy4Be8glYAfLRwAAAAAAAAAhwfIRAAAAAAAAQEiwfIQZfr9fG9aXyu/3h7sVANuRS8AecgnYQy4Be8glYAfLR5jS1NQY7hYA7IRcAvaQS8AecgnYQy4BG1g+wgyPx6P8MePl8fBlCVhBLgF7yCVgD7kE7CGXgB2kEKbwjQGwh1wC9pBLwB5yCdhDLgEbSCIAAAAAAACAkGD5CAAAAAAAACAkWD7CDL/fr5K1RdyNDDCEXAL2kEvAHnIJ2EMuATtYPsIUr9cb7hYA7IRcAvaQS8AecgnYQy4BG1g+wgzuRgbYQy4Be8glYA+5BOwhl4AdpBAAAAAAAABASLB8BAAAAAAAABASLB8BAAAAAAAAhATLR5jh9/tVVFjA3cgAQ8glYA+5BOwhl4A95BKwg+UjTImMjAx3CwB2Qi4Be8glYA+5BOwhl4ANLB9hhsfj0ajR+dyNDDCEXAL2kEvAHnIJ2EMuATtIIQAAAAAAAICQYPkIAAAAAAAAICRYPsIU3gwYsIdcAvaQS8AecgnYQy4BG3j3VZjRdjcyAHaQS8AecgnYQy4Be8glYAdXPsKU+PiEcLcAYCfkErCHXAL2kEvAHnIJ2MDyEWZ4PB5lj8jhbmSAIeQSsIdcAvaQS8AecgnYQQoBAAAAAAAAhATLRwAAAAAAAAAhwfIRZriuq5aWFrmuG+5WAGxHLgF7yCVgD7kE7CGXgB3c7RpmuK6r0pLicLcBoB1yCdhDLgF7yCVgD7kE7ODKR5jhOI6Sk1PkOE64WwGwHbkE7CGXgD3kErCHXAJ2sHyEGY7jaGjWcL45AIaQS8AecgnYQy4Be8glYAfLRwAAAAAAAAAhwfIRAAAAAAAAQEiwfIQZruuqsbGRu5EBhpBLwB5yCdhDLgF7yCVgB3e7hhmu66psQ2m42wDQDrkE7CGXgD3kErCHXAJ2cOUjzHAcR2lpGbwhMGAIuQTsIZeAPeQSsIdcAnawfIQZjuMoLZ1vDoAl5BKwh1wC9pBLwB5yCdjB8hEAAAAAAABASLB8BAAAAAAAABASLB9hhuu6qq+r5W5kgCHkErCHXAL2kEvAHnIJ2MHdrmGG67rauLE83G0AaIdcAvaQS8AecgnYQy4BO8K+fJxy9HRNm36aklNSVF62XnPnzFJRYUGXx48ZO0Fnn3uRhg0fobq6Wi2Y/5o+/OCdPuwYoeI4jjIzs7RpUwW/nQKMIJeAPeQSsIdcAvaQS8COsL7s+uBDjtA5512seW++rAfuvU1FhQW68ifXakhqeqfHp6Vn6IofX6uiwgI9cO9tmv/mKzr3/Es16aDD+rhzhILjOEpOGcLdyABDyCVgD7kE7CGXgD3kErAjrMvH46adoiUfvafFH72niooNmjtnlmprqjX16GmdHj9l6jTV1lRp7pxZqqjYoMUfvacli9/XtOmn9XHnAAAAAAAAAHYnbC+7joiI0MicXM1/69Wg+orly5SbN67Tx+TmjdWK5cuCj/9mmY486hh5PBHy+30dP09kpCIjd4wZExMrSYqLi5fHs2336rquXNeV4zhBvxXZ07rf75ekwPP2Zr23erQ8k8fxKDomRrGxcfL5fQNipt6ox3u8O+qSJEeSq/a/v2urOwp+OUHX9Y7P0VV9d5+zq3prdKzcdjM5ritHrvyOs/1xu6v75UjyO8F/713VPa5friS3W3VXHteVKyeoR8lVTGwsX3s75fKlnAxlRjQqwvWZOU+d1du+ltrq40qqe/R30B/PU3dnKszNCOrRwnnaud7ZvxH5a6sG1XnaXY9tuRwasVmO6zdznrrzb3lbLgfDeWKmwTVT28+xMbGxgY/195n6om51ppaYuEC9v/wM63FdxcbFDarztLu6x/HoHyPTlRmRrW3/L8XGeerO99xxJdWD5jwxU/+dqW2/1h1hWz4mJCYpIiJCDQ11QfWGhnolJ6d0+pik5CFqaFi20/F1ioiIVGJiourr6zo85sSTZuiU087pUL/9zod73jzQp5aGu4Ee+ce+94S7hR65L9wNGPR+uBvoof75FRhas8PdQA+Ry47IJQCETn/9fnlvuBsw6L1wN9BDfL9EfxITE6uW5uZdHhP2G87szHG2bVO7Fvyxti1sVw+Z99YremfBf4Jq8fGJamravDdtIgRiYmI18+5HdNvNP1NLy66/cAH0DXIJ2EMuAXvIJWAPuQRCLyYmVvV1tbs9LmzLx8bNDfL5fEpKCr7KMTExWQ0N9Z0+pqG+ttPjfT6vGhs7Xyb6vF75vN6g2u42sgivlpZmzhFgDLkE7CGXgD3kErCHXAKh091she2GMz6fT+tK12jCPhOD6hP2mag1xas6fcya4tUdjt9n34kqLVnT6fs9AgAAAAAAAAifsN7t+t0Fb+jIycfqiCOPUVZWts4+9yKlpqVr0cIFkqQzzrxAF196ReD4RR8sUGpahs4+9yJlZWXriCOP0RFHHasFb78erhEAAAAAAAAAdCGs7/n4xedLFJ+QqJNPPUvJyUNUVrZOTz72oGpqqiRJyclDlJqWHji+uqpSTz3+gM4+72JNPXq66upq9c/Zz2vpfz8N1wjoRV6vV2+8PlfenV4mDyB8yCVgD7kE7CGXgD3kErDDycjZf1d3dwEAAAAAAACAHgnry64BAAAAAAAADFwsHwEAAAAAAACEBMtHAAAAAAAAACHB8hEAAAAAAABASIT1btdAmylHT9e06acpOSVF5WXrNXfOLBUVFoS7LWBQOuGkMzTpwMM0NGu4tm7dqjVFq/TKv1/Uxo3l4W4NwHYnnHSGzjjzQr33zpuaO2dWuNsBBrWUlFTNOOtC7bv/gYqKitKmjeX626w/a13pmnC3BgxKHo9Hp5x2jg49bLKSklNUX1+rTxYv1FtvvizX5X67QDiwfETYHXzIETrnvIs1+8VnVVy0SpOnHq8rf3Kt7rnrRtXWVIW7PWDQGTN2H33w/nyVrC2WJ8Kj02dcoKuuvl733vVrtba2hrs9YNDLGZWnoyYfr/XrSsLdCjDoxcXF6+fX3KJVq5brycce0OaGeqVnDNWWLU3hbg0YtKafeLomT52mvz7/lMrL1itnVJ6+e8n/aEvzFr3/7lvhbg8YlHjZNcLuuGmnaMlH72nxR++pomKD5s6Zpdqaak09elq4WwMGpScfe0AfL/lA5eXrtWF9qf76wtNKS8vQyJy8cLcGDHrR0TG69LIf68W//Z+2bGkMdzvAoDf9xDNUU1Otv73wJ5WsLVJ1daVWFXyjqsqN4W4NGLRy88bpq6Wf65uvv1R1daW+/O8nWrniK+WM4mdZIFxYPiKsIiIiNDInVyuWfxVUX7F8mXLzxoWpKwDtxcXGSZKamjaHuRMA53/7+/rmq/+qYOXX4W4FgKSJBxys0pJiXfaDq3XnPY/q2hvu1JGTjwt3W8CgVlRYoPET9lPm0GGSpOwROcrPH6/lX38Z5s6AwYuXXSOsEhKTFBERoYaGuqB6Q0O9kpNTwtQVgPbOPu8iFa5eqfKy9eFuBRjUDj70CI3MGa3f3X97uFsBsF16RqamHD1N7y54Q/PeekWjR+fr3PMvkc+7VZ98vCjc7QGD0tvzXlVcXJxuvOVeua5fjuPR66/O1uefLQ53a8CgxfIRJjmOeDNgwIDzLvyesrNz9PuH7gp3K8CgNmRIms497xI9/sf75fVuDXc7ALZzHI9KS4r12iuzJUnr163VsOEjNOXo6SwfgTA5+NAjdOjhk/X8s4+rvGy9RowYpXPOv0R1dbX6ZMkH4W4PGJRYPiKsGjc3yOfzKSkp+CrHxMRkNTTUh6krAJJ07gWXauIBB+sPD9+tutqacLcDDGo5o3KVlJyiX10/M1CLiIhQ/pgJmnrMCbr2Fz/gl3ZAGNTX16q8PPiVARXlGzTpoMPC1BGAM8/+jt6e96q++GyJJKlswzqlpmXohBPPYPkIhAnLR4SVz+fTutI1mrDPRC1b+lmgPmGfifpq2edh7AwY3M674FIdcOChevT396i6qjLc7QCDXsHKb3Tv3TcG1S665EeqqCjT2/NeZfEIhElx0SoNHTo8qJY5dJhqqqvC1BGA6OgYuf7g74uu65fj4ZYXQLiQPoTduwve0JGTj9URRx6jrKxsnX3uRUpNS9eihQvC3RowKJ1/4fd12OGT9fwzj6uluVlJSSlKSkpRVFRUuFsDBq2WlmaVl60P+l9ra4uaGjfzfqxAGL274A3l5o3RCSfNUEbGUB1y2FE6asrx+uD9+eFuDRi0vl72hU48+Uztt/+BSkvL0AGTDtVxx5+iZV9+Gu7WgEHLycjZn1+VI+ymHD1d0084TcnJQ1RWtk5z5/xVRYUrw90WMCg9/Ohzndb/+vxT+piXqgBmXP3zG7V+XYnmzpkV7laAQW2/iQfpjDMvUGZmlqqrKvXOgje0+MN3w90WMGjFxMTqtDPO0wEHHqrExGTV19Xo888W683//Es+ny/c7QGDEstHAAAAAAAAACHBy64BAAAAAAAAhATLRwAAAAAAAAAhwfIRAAAAAAAAQEiwfAQAAAAAAAAQEiwfAQAAAAAAAIQEy0cAAAAAAAAAIcHyEQAAAAAAAEBIsHwEAABAWGwq+UqnnjQt3G0AAAAghCLD3QAAAAAGpqGZ6frl1VfohOnHaHhWliqrqvXVNyv05J+f18JFS8LdHgAAAPoAy0cAAAD0upyR2Xrtn8+rrr5BM3/zO329vEBRUZE6/pgpuu/OmzV52pnhbhEAAAB9gOUjAAAAet39d90i13V18ozvqmnLlkB9ZUGh/vrS3E4fc+uNv9TpJ0/X8OFZ2ripUnPmvqYHfv+EvF6vJGn/fSforv+9QQdN2l+u66pozVr96saZ+nLp1xo5YrjuvfNmHXH4wYqKilLpug264+4HNf+dhX0yLwAAADrH8hEAAAC9akhKsqYdN1W/+e0jQYvHNvX1DZ0+rnFzo/7fr25RecVG7bvPOD107x3a3NioR5/4iyTp8Ufu1bKvV+i6m++U3+fTxP33kXfrtsXkfXfdoqioKJ15/mVq2rJF48eNUWNjU+iGBAAAQLewfAQAAECvyssdJY/Ho1Wri/focb/7w1OBP5eu26DHnn5WZ884JbB8HJk9XH988i9aXbjteYvWlASOH5E9XK/+Z56Wr1wlSVpbsm5vxwAAAEAvYPkIAACAXuU4jiTJdd09etyM007UlT+8VHmjRykhIV4RERFq2Lw58PHH//ScHrrvDl1w7gy9/8FivfzaW1qztlSS9Ke/zNL9d9+i44+ZrPc+WKxXX5+nb1YU9N5QAAAA6BFPuBsAAADAwFJUvFZ+v1/jx+V3+zGHHjxJTz36W739zge66Ac/1bRTz9dDjz6l6KiowDG/fegxTT3hbM17+31NnXyEPpj/b5128nRJ0gt/n6PDpp6ql/75ivadME7zXn1R/3PZRb0+GwAAAPYMy0cAAAD0qtq6er3z3iL94HvfUXxcXIePJycndah967CDVbq+TA89+pS+XPq1itaUKGdEdofjiorX6sk/P68LL7lCr70xX9+98OzAxzaUlevZF17S5Vf+Qo8//awu+e75vToXAAAA9hzLRwAAAPS662+5SxEREXrzlb/pjFNPUH7uKI0bm68fXX6x/jN3Vofji9eUaGT2MJ0941Tljs7Rjy6/WKedMj3w8diYGN078yZNPvJwjRwxXN867GAdfOBEFawukiTd9b836PhjJmtUzghNmrivpk7+llZt/xgAAADCh/d8BAAAQK8rKV2v6addoF9efYXuuOU6ZQ3NVFV1tb5c9o2uu/nODse/Me8dPfHn53XvnTcpJjpa8xa8r9898oSu+8VPJEk+v0+pqUP0x4d+o8yMdFXX1Oi1/8zX/b/7oyQpwuPRfXfdouHDstSwebMWvLdIt95xX5/ODAAAgI6cjJz99+ydwAEAAAAAAACgG3jZNQAAAAAAAICQYPkIAAAAAAAAICRYPgIAAAAAAAAICZaPAAAAAAAAAEKC5SMAAAAAAACAkGD5CAAAAAAAACAkWD4CAAAAAAAACAmWjwAAAAAAAABCguUjAAAAAAAAgJBg+QgAAAAAAAAgJFg+AgAAAAAAAAgJlo8AAAAAAAAAQuL/A4rS8rVVvxpfAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 1600x1000 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Find one sample of '1'\n",
"one_img, one_lbl = None, None\n",
"for xb, yb in test_loader:\n",
" m = (yb == 1)\n",
" if m.any():\n",
" j = m.nonzero(as_tuple=True)[0][0].item()\n",
" one_img = xb[j].to(device)\n",
" one_lbl = yb[j].to(device)\n",
" break\n",
"\n",
"# Try increasing epsilon values until successful\n",
"for eps_try in [0.5, 0.8, 1.0]:\n",
" x_adv = iterative_fgsm(\n",
" model,\n",
" one_img.unsqueeze(0),\n",
" torch.tensor(7, device=device).unsqueeze(0), # target label\n",
" epsilon=eps_try,\n",
" num_iter=num_iter,\n",
" alpha=eps_try / max(num_iter, 1),\n",
" targeted=True,\n",
" random_start=True,\n",
" )\n",
" with torch.no_grad():\n",
" pred = model(x_adv).argmax(dim=1).item()\n",
" print(f\"epsilon={eps_try:.2f} -> predicted {pred}\")\n",
"\n",
" if pred == 7:\n",
" _ = visualize_ifgsm(\n",
" model,\n",
" one_img.detach().cpu(),\n",
" one_lbl.detach().cpu(),\n",
" eps_try,\n",
" num_iter,\n",
" targeted=True,\n",
" target_class=7,\n",
" )\n",
" break"
]
},
{
"cell_type": "markdown",
"id": "321c1bea-8d8d-451c-a9f2-0aa38ac22de1",
"metadata": {},
"source": [
"# Comparison I-FGSG vs FGSM"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "831947b7-3c82-4599-864d-d936c2520e46",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"FGSM success rate: 60.2%\n",
"I-FGSM success rate: 96.1%\n",
"Improvement: 59.7%\n"
]
}
],
"source": [
"# Compare FGSM (one-step) and I-FGSM on the same batch\n",
"# Run both attacks with same epsilon\n",
"epsilon = 0.7\n",
"x_adv_fgsm = fgsm_attack(model, images, labels, epsilon)\n",
"x_adv_ifgsm = iterative_fgsm(\n",
" model, images, labels,\n",
" epsilon, num_iter=10,\n",
" random_start=True\n",
")\n",
"\n",
"# Compare success rates\n",
"with torch.no_grad():\n",
" fgsm_pred = model(x_adv_fgsm).argmax(dim=1)\n",
" ifgsm_pred = model(x_adv_ifgsm).argmax(dim=1)\n",
"\n",
"orig_correct = clean_pred == labels\n",
"fgsm_success = (\n",
" ((fgsm_pred != labels) & orig_correct).float().sum()\n",
" / orig_correct.float().sum().clamp_min(1.0)\n",
")\n",
"ifgsm_success = (\n",
" ((ifgsm_pred != labels) & orig_correct).float().sum()\n",
" / orig_correct.float().sum().clamp_min(1.0)\n",
")\n",
"\n",
"print(f\"FGSM success rate: {fgsm_success:.1%}\")\n",
"print(f\"I-FGSM success rate: {ifgsm_success:.1%}\")\n",
"print(f\"Improvement: {(ifgsm_success - fgsm_success) / fgsm_success:.1%}\")"
]
},
{
"cell_type": "markdown",
"id": "2a03f665-bd8f-43c8-9713-8552bccc21d6",
"metadata": {},
"source": [
"# Deepfool Setup "
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "194c8de1-72c9-470b-ba92-246cc15332a4",
"metadata": {},
"outputs": [],
"source": [
"from htb_ai_library import (\n",
" set_reproducibility,\n",
" MNISTClassifierWithDropout,\n",
" get_mnist_loaders,\n",
" train_model,\n",
" evaluate_accuracy,\n",
" save_model,\n",
" load_model,\n",
" analyze_model_confidence,\n",
" HTB_GREEN, NODE_BLACK, HACKER_GREY, WHITE,\n",
" AZURE, NUGGET_YELLOW, MALWARE_RED, VIVID_PURPLE, AQUAMARINE\n",
")\n",
"\n",
"set_reproducibility(1337)\n",
"device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "3756214c-dc3d-48fb-b27f-f3166cc16cc8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Model parameters: 1,625,866\n"
]
}
],
"source": [
"# MNISTClassifierWithDropout is imported from htb_ai_library\n",
"# The architecture internally defines:\n",
"# - Conv1: 1->32 channels, 3x3 kernel, ReLU, 2x2 pooling, 25% dropout\n",
"# - Conv2: 32->64 channels, 3x3 kernel, ReLU, 2x2 pooling, 25% dropout\n",
"# - FC1: 3136->128, ReLU, 50% dropout\n",
"# - FC2: 128->10 (logits)\n",
"\n",
"model = MNISTClassifierWithDropout().to(device)\n",
"print(f\"Model parameters: {sum(p.numel() for p in model.parameters()):,}\")\n",
"\n",
"model_path = 'output/mnist_model.pth'\n",
"os.makedirs('output', exist_ok=True)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "136fb376-4076-4542-9e6d-5d93cca82958",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Found cached model at output/mnist_model.pth\n",
"Model loaded from output/mnist_model.pth\n",
"Cached model accuracy: 99.20%\n"
]
}
],
"source": [
"# Try loading cached model\n",
"if os.path.exists(model_path):\n",
" print(f\"Found cached model at {model_path}\")\n",
" model_data = load_model(model_path)\n",
" model = model_data['model'].to(device)\n",
" model.eval()\n",
"\n",
" # Validate cached model\n",
" _, test_loader = get_mnist_loaders(batch_size=100, normalize=True)\n",
" accuracy = evaluate_accuracy(model, test_loader, device)\n",
" print(f\"Cached model accuracy: {accuracy:.2f}%\")\n",
"\n",
" if accuracy < 90.0:\n",
" print(\"Accuracy below threshold, retraining required\")\n",
" model = None\n",
"else:\n",
" model = None\n",
"\n",
"# Train if needed\n",
"if model is None:\n",
" print(\"Training new model...\")\n",
" train_loader, test_loader = get_mnist_loaders(batch_size=64, normalize=True)\n",
" model = MNISTClassifierWithDropout().to(device)\n",
"\n",
" model = train_model(\n",
" model, train_loader, test_loader,\n",
" epochs=5, device=device\n",
" )\n",
" \n",
" # Evaluate and cache\n",
" accuracy = evaluate_accuracy(model, test_loader, device)\n",
" print(f\"Test Accuracy: {accuracy:.2f}%\")\n",
"\n",
" save_model({\n",
" 'model': model,\n",
" 'architecture': 'MNISTClassifierWithDropout',\n",
" 'accuracy': accuracy,\n",
" 'training_config': {\n",
" 'epochs': 5,\n",
" 'batch_size': 64,\n",
" 'device': str(device)\n",
" }\n",
" }, model_path)\n",
"\n",
"# Analyze confidence distribution\n",
"_, test_loader = get_mnist_loaders(batch_size=100, normalize=True)\n",
"stats = analyze_model_confidence(model, test_loader, device=device, num_samples=1000)"
]
},
{
"cell_type": "markdown",
"id": "ecc6a60f-03ec-4fd4-83c9-22c49f1e2d3c",
"metadata": {},
"source": [
"# DeepFool Implementation"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "4d15477a-6873-4b4f-ae95-22f97a2d2b85",
"metadata": {},
"outputs": [],
"source": [
"from typing import Tuple\n",
"\n",
"def deepfool(image: torch.Tensor,\n",
" net: nn.Module,\n",
" num_classes: int = 10,\n",
" overshoot: float = 0.02,\n",
" max_iter: int = 50,\n",
" device: str = 'cuda') -> Tuple[torch.Tensor, int, int, int, torch.Tensor]:\n",
" \"\"\"\n",
" Generate minimal adversarial perturbation using DeepFool algorithm.\n",
"\n",
" Args:\n",
" image (torch.Tensor): Input image tensor of shape (1, C, H, W)\n",
" net (nn.Module): Target neural network in evaluation mode\n",
" num_classes (int): Number of top-scoring classes to consider (default: 10)\n",
" overshoot (float): Overshoot parameter for boundary crossing (default: 0.02)\n",
" max_iter (int): Maximum iterations before terminating (default: 50)lon=0.5\n",
" device (str): Computation device ('cuda' or 'cpu')\n",
"\n",
" Returns:\n",
" Tuple containing:\n",
" - r_tot (torch.Tensor): Total accumulated perturbation\n",
" - loop_i (int): Number of iterations performed\n",
" - label (int): Original predicted class\n",
" - k_i (int): Final adversarial class\n",
" - pert_image (torch.Tensor): Final perturbed image\n",
" \"\"\"\n",
" image = image.to(device)\n",
" net = net.to(device)\n",
"\n",
" # Original prediction and class ordering (descending score)\n",
" f_image = net(image).data.cpu().numpy().flatten()\n",
" I = f_image.argsort()[::-1]\n",
" label = I[0]\n",
"\n",
" # Working tensors and accumulators\n",
" input_shape = image.shape\n",
" pert_image = image.clone()\n",
" r_tot = torch.zeros(input_shape).to(device)\n",
" loop_i = 0\n",
"\n",
" # Iterate until a successful perturbation is found or the limit is reached\n",
" while loop_i < max_iter:\n",
" x = pert_image.clone().requires_grad_(True)\n",
" fs = net(x)\n",
" # Current top prediction at x\n",
" k_i = fs.data.cpu().numpy().flatten().argsort()[::-1][0]\n",
"\n",
" # Stop when the prediction changes\n",
" if k_i != label:\n",
" break\n",
"\n",
" # Initialize the best candidate step for this iteration\n",
" pert = float('inf')\n",
" w = Nonelon=0.5\n",
"\n",
" # Search minimal step among candidate classes\n",
" for k in range(1, num_classes):\n",
" if I[k] == label:\n",
" continue\n",
"\n",
" # Compute gradient for candidate class\n",
" if x.grad is not None:\n",
" x.grad.zero_()\n",
" fs[0, I[k]].backward(retain_graph=True)\n",
" grad_k = x.grad.data.clone()\n",
"\n",
" # Compute gradient for original class\n",
" if x.grad is not None:\n",
" x.grad.zero_()\n",
" fs[0, label].backward(retain_graph=True)\n",
" grad_label = x.grad.data.clone()\n",
"\n",
" # Direction and distance under linearization\n",
" w_k = grad_k - grad_label\n",
" f_k = (fs[0, I[k]] - fs[0, label]).data.cpu().numpy()\n",
" pert_k = abs(f_k) / (torch.norm(w_k.flatten()) + 1e-10)\n",
"\n",
" if pert_k < pert:\n",
" pert = pert_k\n",
" w = w_k\n",
"\n",
" # Minimal step for the selected direction\n",
" r_i = (pert + 1e-4) * w / (torch.norm(w.flatten()) + 1e-10)\n",
" r_tot = r_tot + r_i\n",
"\n",
" # Apply with overshoot to ensure crossing\n",
" pert_image = image + (1 + overshoot) * r_tot\n",
" loop_i += 1\n",
"\n",
" return r_tot, loop_i, label, k_i, pert_image"
]
},
{
"cell_type": "markdown",
"id": "b1bfb018-2fa9-439e-b589-85a7862114ea",
"metadata": {},
"source": [
"# Demo"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "1e0b054f-4ff0-4b88-b811-642ab8ca6ac8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Model loaded from output/mnist_model.pth\n",
"True label: 7\n",
"Original: class 7 (confidence: 1.000)\n",
"Attack: 7 → 3 in 4 iterations\n",
"\n",
"=== Attack Results ===\n",
"L2 norm: 7.5054\n",
"L∞ norm: 1.4652\n",
"Relative perturbation: 31.57%\n",
"Original confidence: 1.000\n",
"Adversarial confidence: 0.496\n"
]
}
],
"source": [
"# Load trained modellon=0.5\n",
"model_path = 'output/mnist_model.pth'\n",
"if os.path.exists(model_path):\n",
" model_data = load_model(model_path)\n",
" model = model_data['model'].to(device)\n",
" model.eval()\n",
"else:\n",
" raise FileNotFoundError(\"Model not found.\")\n",
"\n",
"# Get single test sample\n",
"_, test_loader = get_mnist_loaders(batch_size=1, normalize=True)\n",
"dataiter = iter(test_loader)\n",
"image, true_label = next(dataiter)\n",
"image = image.to(device)\n",
"\n",
"print(f\"True label: {true_label.item()}\")\n",
"\n",
"# Baseline classification\n",
"with torch.no_grad():\n",
" original_output = model(image)\n",
" original_pred = original_output.argmax(dim=1).item()\n",
" original_confidence = F.softmax(original_output, dim=1).max().item()\n",
"\n",
"print(f\"Original: class {original_pred} (confidence: {original_confidence:.3f})\")\n",
"\n",
"# Execute DeepFool attack\n",
"r_total, iterations, orig_label, pert_label, pert_image = deepfool(\n",
" image, model, num_classes=10, overshoot=0.02, max_iter=50, device=device\n",
")\n",
"\n",
"print(f\"Attack: {orig_label} → {pert_label} in {iterations} iterations\")\n",
"\n",
"# Compute perturbation norms\n",
"perturbation_norm_l2 = torch.norm(r_total).item()\n",
"perturbation_norm_linf = torch.abs(r_total).max().item()\n",
"relative_perturbation = perturbation_norm_l2 / torch.norm(image).item()\n",
"\n",
"# Evaluate adversarial confidence\n",
"with torch.no_grad():\n",
" adv_output = model(pert_image)\n",
" adv_confidence = F.softmax(adv_output, dim=1).max().item()\n",
"lon=0.5\n",
"# Display results\n",
"print(f\"\\n=== Attack Results ===\")\n",
"print(f\"L2 norm: {perturbation_norm_l2:.4f}\")\n",
"print(f\"L∞ norm: {perturbation_norm_linf:.4f}\")\n",
"print(f\"Relative perturbation: {relative_perturbation:.2%}\")\n",
"print(f\"Original confidence: {original_confidence:.3f}\")\n",
"print(f\"Adversarial confidence: {adv_confidence:.3f}\")"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "8f87dc5f-0e82-46a3-a085-fb782420b548",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 1500x500 with 5 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Prepare images for visualization\n",
"original_img = mnist_denormalize(image.squeeze()).cpu().numpy()\n",
"adversarial_img = mnist_denormalize(pert_image.squeeze()).cpu().numpy()\n",
"perturbation = r_total.cpu().squeeze().numpy()\n",
"\n",
"# Normalize perturbation for visibility (amplify minimal changes)\n",
"pert_display = perturbation - perturbation.min()\n",
"if pert_display.max() > 0:\n",
" pert_display = pert_display / pert_display.max()\n",
"\n",
"# Create four-panel visualization\n",
"fig, axes = plt.subplots(1, 4, figsize=(15, 5))\n",
"fig.patch.set_facecolor(NODE_BLACK)\n",
"\n",
"for ax in axes:\n",
" ax.set_facecolor(NODE_BLACK)\n",
" for spine in ax.spines.values():\n",
" spine.set_edgecolor(HACKER_GREY)\n",
"\n",
"# Panel 1: Original clean image\n",
"axes[0].imshow(original_img, cmap='gray', vmin=0, vmax=1)\n",
"axes[0].set_title(f\"Original\\nClass: {original_pred}\",\n",
" color=HTB_GREEN, fontweight='bold')\n",
"axes[0].axis('off')\n",
"\n",
"# Panel 2: Amplified perturbation pattern\n",
"axes[1].imshow(pert_display, cmap='inferno')\n",
"axes[1].set_title(\"Perturbation\\n(amplified)\",\n",
" color=NUGGET_YELLOW, fontweight='bold')\n",
"axes[1].axis('off')\n",
"\n",
"# Panel 3: Perturbation magnitude heatmap\n",
"im = axes[2].imshow(np.abs(perturbation), cmap='viridis')\n",
"axes[2].set_title(f\"Magnitude\\nL2: {perturbation_norm_l2:.4f}\",\n",
" color=AZURE, fontweight='bold')\n",
"axes[2].axis('off')\n",
"plt.colorbar(im, ax=axes[2], fraction=0.046, pad=0.04)\n",
"\n",
"# Panel 4: Adversarial result\n",
"title_color = HTB_GREEN if pert_label != original_pred else MALWARE_RED\n",
"axes[3].imshow(adversarial_img, cmap='gray', vmin=0, vmax=1)\n",
"axes[3].set_title(f\"Adversarial\\nClass: {pert_label}\",\n",
" color=title_color, fontweight='bold')\n",
"axes[3].axis('off')\n",
"\n",
"# Summary metrics\n",
"metrics_text = (\n",
" f\"Iterations: {iterations} | \"\n",
" f\"Relative pert: {relative_perturbation:.2%} | \"\n",
" f\"Confidence: {original_confidence:.3f} → {adv_confidence:.3f}\"\n",
")\n",
"fig.text(0.5, 0.02, metrics_text, ha='center', fontsize=10, color=WHITE)\n",
"\n",
"plt.suptitle(\"DeepFool Attack Visualization\", fontsize=14,\n",
" color=HTB_GREEN, fontweight='bold', y=1.02)\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "9ccc2aa2-0b43-41f8-b6b6-90036d0f2d56",
"metadata": {},
"source": [
"# Batch Attack Generation"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "78691b1e-aae7-4a63-9ec8-ecc135c6351d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Generating 20 adversarial examples using DeepFool...\n",
"Test loader ready with 10000 samples\n",
"Will process first 20 samples\n",
"Starting batch attack generation...\n",
" Example 1: True=7, Orig=7, Adv=3, Iter=4, L2=7.5054\n",
" Example 2: True=2, Orig=2, Adv=6, Iter=3, L2=6.6667\n",
" Example 3: True=1, Orig=1, Adv=4, Iter=1, L2=4.7865\n",
" Example 4: True=0, Orig=0, Adv=6, Iter=3, L2=5.5675\n",
" Example 5: True=4, Orig=4, Adv=9, Iter=3, L2=3.7576\n",
" Example 6: True=1, Orig=1, Adv=7, Iter=1, L2=4.9832\n",
" Example 7: True=4, Orig=4, Adv=8, Iter=2, L2=1.6978\n",
" Example 8: True=9, Orig=9, Adv=4, Iter=1, L2=3.4954\n",
" Example 9: True=5, Orig=5, Adv=6, Iter=1, L2=0.5942\n",
" Example 10: True=9, Orig=9, Adv=4, Iter=2, L2=4.1109\n",
" Example 11: True=0, Orig=0, Adv=2, Iter=4, L2=6.8036\n",
" Example 12: True=6, Orig=6, Adv=0, Iter=4, L2=5.3710\n",
" Example 13: True=9, Orig=9, Adv=4, Iter=3, L2=3.7684\n",
" Example 14: True=0, Orig=0, Adv=6, Iter=4, L2=8.1619\n",
" Example 15: True=1, Orig=1, Adv=5, Iter=3, L2=4.2609\n",
" Example 16: True=5, Orig=5, Adv=3, Iter=3, L2=3.2559\n",
" Example 17: True=9, Orig=9, Adv=4, Iter=3, L2=4.4424\n",
" Example 18: True=7, Orig=7, Adv=3, Iter=3, L2=7.5655\n",
" Example 19: True=3, Orig=3, Adv=5, Iter=2, L2=1.7059\n",
" Example 20: True=4, Orig=4, Adv=9, Iter=4, L2=6.0066\n",
"\n",
"Attack Success Rate: 20/20 (100.0%)\n",
"Average L2 norm: 4.7254\n",
"Average iterations: 2.7\n",
"\n",
"Generating attack grid visualization...\n",
"Grid visualization saved to output/deepfool_examples.png\n"
]
}
],
"source": [
"num_examples = 20\n",
"print(f\"\\nGenerating {num_examples} adversarial examples using DeepFool...\")\n",
"\n",
"_, test_loader = get_mnist_loaders(batch_size=1, normalize=True)\n",
"model.eval()\n",
"\n",
"results = []\n",
"success_count = 0\n",
"\n",
"print(f\"Test loader ready with {len(test_loader.dataset)} samples\")\n",
"print(f\"Will process first {num_examples} samples\")\n",
"print(\"Starting batch attack generation...\")\n",
"\n",
"for idx, (data, target) in enumerate(test_loader):\n",
" if idx >= num_examples:\n",
" break\n",
"\n",
" data = data.to(device)\n",
"\n",
" # Execute DeepFool attack\n",
" r, iterations, orig_label, adv_label, pert_image = deepfool(\n",
" data, model, num_classes=10, overshoot=0.02, max_iter=50, device=device\n",
" )\n",
"\n",
" # Track success and store metrics\n",
" success = (orig_label != adv_label)\n",
" if success:\n",
" success_count += 1\n",
"\n",
" results.append({\n",
" 'original_image': data.cpu(),\n",
" 'perturbation': r.cpu(),\n",
" 'perturbed_image': pert_image.cpu(),\n",
" 'original_label': orig_label,\n",
" 'adversarial_label': adv_label,\n",
" 'iterations': iterations,\n",
" 'true_label': target.item(),\n",
" 'l2_norm': torch.norm(r.cpu()).item(),\n",
" 'success': success\n",
" })\n",
"\n",
" # Progress feedback\n",
" print(f\" Example {idx+1}: True={target.item()}, Orig={orig_label}, \"\n",
" f\"Adv={adv_label}, Iter={iterations}, L2={torch.norm(r.cpu()).item():.4f}\")\n",
"\n",
"print(f\"\\nAttack Success Rate: {success_count}/{num_examples} \"\n",
" f\"({100*success_count/num_examples:.1f}%)\")\n",
"print(f\"Average L2 norm: {np.mean([r['l2_norm'] for r in results]):.4f}\")\n",
"print(f\"Average iterations: {np.mean([r['iterations'] for r in results]):.1f}\")\n",
"\n",
"def visualize_attack_grid(results, save_dir='output'):\n",
" \"\"\"\n",
" Create grid visualization showing original and adversarial images side-by-side.\n",
"\n",
" Args:\n",
" results (list): Attack results from batch generation\n",
" save_dir (str): Directory to save visualization\n",
" \"\"\"\n",
" print(\"\\nGenerating attack grid visualization...\")\n",
"\n",
" num_examples = min(10, len(results))\n",
" fig, axes = plt.subplots(4, 5, figsize=(15, 12))\n",
" fig.patch.set_facecolor(NODE_BLACK)\n",
"\n",
" for ax in axes.flatten():\n",
" ax.set_facecolor(NODE_BLACK)\n",
" for spine in ax.spines.values():\n",
" spine.set_edgecolor(HACKER_GREY)\n",
"\n",
" for idx in range(num_examples):\n",
" row = idx // 5\n",
" col = idx % 5\n",
"\n",
" # Original image (top row for this column)\n",
" ax_original = axes[row * 2, col]\n",
" img = mnist_denormalize(results[idx]['original_image'].squeeze()).numpy()\n",
" ax_original.imshow(img, cmap='gray', vmin=0, vmax=1)\n",
" ax_original.set_title(f\"Original: {results[idx]['original_label']}\",\n",
" color=HTB_GREEN, fontsize=10)\n",
" ax_original.axis('off')\n",
"\n",
" # Adversarial image (bottom row for this column)\n",
" ax_adv = axes[row * 2 + 1, col]\n",
" adv_img = mnist_denormalize(results[idx]['perturbed_image'].squeeze()).numpy()\n",
" ax_adv.imshow(adv_img, cmap='gray', vmin=0, vmax=1)\n",
"\n",
" title_color = MALWARE_RED if results[idx]['success'] else HACKER_GREY\n",
" ax_adv.set_title(f\"Adversarial: {results[idx]['adversarial_label']}\",\n",
" color=title_color, fontsize=10)\n",
" ax_adv.axis('off')\n",
"\n",
" plt.suptitle('DeepFool Attack: Original vs Adversarial Examples',\n",
" color=HTB_GREEN, fontsize=16, y=0.98)\n",
" plt.tight_layout()\n",
" plt.savefig(os.path.join(save_dir, 'deepfool_examples.png'),\n",
" facecolor=NODE_BLACK, dpi=150, bbox_inches='tight')\n",
" plt.close()\n",
"\n",
" print(f\"Grid visualization saved to {save_dir}/deepfool_examples.png\")\n",
"\n",
"# Generate the grid visualization\n",
"visualize_attack_grid(results, save_dir='output')"
]
},
{
"cell_type": "markdown",
"id": "cbb22c6c-84d5-4204-a21a-ab95464e67a1",
"metadata": {},
"source": [
"# Perturbation Heatmap"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "b3a9c8b1-3822-4477-901c-e1e30f84e650",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Generating perturbation analysis...\n",
"Perturbation analysis saved to output/deepfool_perturbations.png\n"
]
}
],
"source": [
"def visualize_perturbation_analysis(results, save_dir='output'):\n",
" \"\"\"\n",
" Analyze and visualize perturbation characteristics across samples.\n",
"\n",
" Creates two-row visualization: top shows raw perturbation heatmaps,\n",
" bottom shows amplified differences overlaid on originals.\n",
"\n",
" Args:\n",
" results (list): Attack results\n",
" save_dir (str): Output directory\n",
" \"\"\"\n",
" print(\"\\nGenerating perturbation analysis...\")\n",
"\n",
" fig, axes = plt.subplots(2, 3, figsize=(15, 10))\n",
" fig.patch.set_facecolor(NODE_BLACK)\n",
"\n",
" for ax in axes.flatten():\n",
" ax.set_facecolor(NODE_BLACK)\n",
" for spine in ax.spines.values():\n",
" spine.set_edgecolor(HACKER_GREY)\n",
"\n",
" # Select first 3 successful attacks\n",
" successful_attacks = [r for r in results if r['success']][:3]\n",
"\n",
" for idx, result in enumerate(successful_attacks):\n",
" # Top row: Raw perturbation heatmap\n",
" ax_top = axes[0, idx]\n",
" pert = result['perturbation'].squeeze().numpy()\n",
" vmax = np.abs(pert).max() or 1e-6\n",
" im_top = ax_top.imshow(pert, cmap='RdBu_r', vmin=-vmax, vmax=vmax)\n",
" ax_top.set_title(f'Perturbation (L2={result[\"l2_norm\"]:.3f})',\n",
" color=HTB_GREEN, fontsize=10)\n",
" ax_top.axis('off')\n",
"\n",
" cbar_top = plt.colorbar(im_top, ax=ax_top, fraction=0.046, pad=0.04)\n",
" cbar_top.outline.set_edgecolor(HACKER_GREY)\n",
" cbar_top.ax.tick_params(colors=WHITE)\n",
"\n",
" # Bottom row: Amplified difference visualization\n",
" ax_bottom = axes[1, idx]\n",
" orig_img = result['original_image'].squeeze().numpy()\n",
" adv_img = result['perturbed_image'].squeeze().detach().numpy()\n",
" diff_amplified = (adv_img - orig_img) * 10 # 10x amplification for visibility\n",
"\n",
" im_bottom = ax_bottom.imshow(diff_amplified, cmap='RdBu_r', vmin=-0.5, vmax=0.5)\n",
" ax_bottom.set_title(f\"{result['original_label']} → {result['adversarial_label']} \"\n",
" f\"({result['iterations']} iters)\",\n",
" color=NUGGET_YELLOW, fontsize=10)\n",
" ax_bottom.axis('off')\n",
"\n",
" cbar_bottom = plt.colorbar(im_bottom, ax=ax_bottom, fraction=0.046, pad=0.04)\n",
" cbar_bottom.outline.set_edgecolor(HACKER_GREY)\n",
" cbar_bottom.ax.tick_params(colors=WHITE)\n",
"\n",
" plt.suptitle('DeepFool Perturbation Analysis', color=HTB_GREEN, fontsize=16, y=0.98)\n",
" plt.tight_layout()\n",
" plt.savefig(os.path.join(save_dir, 'deepfool_perturbations.png'),\n",
" facecolor=NODE_BLACK, dpi=150, bbox_inches='tight')\n",
" plt.close()\n",
"\n",
" print(f\"Perturbation analysis saved to {save_dir}/deepfool_perturbations.png\")\n",
"\n",
"# Generate the perturbation analysis visualization\n",
"visualize_perturbation_analysis(results, save_dir='output')"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "36d1ccf4-f279-4e98-9339-94343318808e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Generating attack metrics visualization...\n",
"L2 norm range: [0.5942, 8.1619]\n",
"Iteration range: [1, 4]\n",
"Metrics visualization saved to output/deepfool_metrics.png\n"
]
}
],
"source": [
"print(\"\\nGenerating attack metrics visualization...\")\n",
"\n",
"# Setup three-panel figure\n",
"fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n",
"fig.patch.set_facecolor(NODE_BLACK)\n",
"\n",
"for ax in axes:\n",
" ax.set_facecolor(NODE_BLACK)\n",
" for spine in ax.spines.values():\n",
" spine.set_edgecolor(HACKER_GREY)\n",
" ax.tick_params(colors=WHITE)\n",
" ax.grid(True, alpha=0.3, color=HACKER_GREY, linestyle='--')\n",
"\n",
"# Panel 1: L2 Norm Distribution\n",
"l2_norms = [r['l2_norm'] for r in results]\n",
"axes[0].hist(l2_norms, bins=15, color=HTB_GREEN, alpha=0.7, edgecolor=HACKER_GREY)\n",
"axes[0].set_xlabel('L2 Norm', color=WHITE)\n",
"axes[0].set_ylabel('Frequency', color=WHITE)\n",
"axes[0].set_title('Perturbation Magnitude Distribution', color=HTB_GREEN)\n",
"print(f\"L2 norm range: [{min(l2_norms):.4f}, {max(l2_norms):.4f}]\")\n",
"\n",
"# Panel 2: Iteration Count Distribution\n",
"iterations = [r['iterations'] for r in results]\n",
"axes[1].hist(iterations, bins=range(1, max(iterations)+2),\n",
" color=AZURE, alpha=0.7, edgecolor=HACKER_GREY)\n",
"axes[1].set_xlabel('Iterations', color=WHITE)\n",
"axes[1].set_ylabel('Frequency', color=WHITE)\n",
"axes[1].set_title('Iterations Required', color=HTB_GREEN)\n",
"print(f\"Iteration range: [{min(iterations)}, {max(iterations)}]\")\n",
"\n",
"# Panel 3: Per-Class Success Rates\n",
"class_success = {}\n",
"for r in results:\n",
" orig = r['original_label']\n",
" if orig not in class_success:\n",
" class_success[orig] = {'total': 0, 'success': 0}\n",
" class_success[orig]['total'] += 1\n",
" if r['success']:\n",
" class_success[orig]['success'] += 1\n",
"\n",
"classes = sorted(class_success.keys())\n",
"success_rates = [\n",
" class_success[c]['success'] / class_success[c]['total'] * 100\n",
" if class_success[c]['total'] > 0 else 0\n",
" for c in classes\n",
"]\n",
"\n",
"bars = axes[2].bar(classes, success_rates, color=NUGGET_YELLOW,\n",
" alpha=0.7, edgecolor=HACKER_GREY)\n",
"axes[2].set_xlabel('Original Class', color=WHITE)\n",
"axes[2].set_ylabel('Success Rate (%)', color=WHITE)\n",
"axes[2].set_title('Attack Success by Class', color=HTB_GREEN)\n",
"axes[2].set_ylim(0, 105)\n",
"\n",
"# Add percentage labels on bars\n",
"for bar, rate in zip(bars, success_rates):\n",
" height = bar.get_height()\n",
" ax_x = bar.get_x() + bar.get_width() / 2.0\n",
" axes[2].text(ax_x, height + 1, f'{rate:.0f}%',\n",
" ha='center', va='bottom', color=WHITE, fontsize=8)\n",
"\n",
"# Save visualization\n",
"plt.suptitle('DeepFool Attack Metrics', color=HTB_GREEN, fontsize=16, y=1.02)\n",
"plt.tight_layout()\n",
"plt.savefig('output/deepfool_metrics.png',\n",
" facecolor=NODE_BLACK, dpi=150, bbox_inches='tight')\n",
"plt.close()\n",
"\n",
"print(\"Metrics visualization saved to output/deepfool_metrics.png\")"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "1ff85990-5ca2-441a-b7c1-429291de15bc",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"============================================================\n",
"Attack Summary Statistics\n",
"============================================================\n",
"Success Rate: 20/20 (100.0%)\n",
"Average L2 Norm: 4.7254\n",
"L2 Range: [0.5942, 8.1619]\n",
"Average Iterations: 2.7\n",
"\n",
"Most Common Misclassifications:\n",
" 9→4: 4 times\n",
" 7→3: 2 times\n",
" 0→6: 2 times\n",
" 4→9: 2 times\n",
" 2→6: 1 times\n",
"============================================================\n"
]
}
],
"source": [
"def print_summary_statistics(results):\n",
" \"\"\"\n",
" Print summary statistics for attack results.\n",
"\n",
" Computes and displays success rate, perturbation statistics, iteration\n",
" statistics, and common class transitions.\n",
"\n",
" Args:\n",
" results (list): Attack results\n",
" \"\"\"\n",
" print(\"\\n\" + \"=\"*60)\n",
" print(\"Attack Summary Statistics\")\n",
" print(\"=\"*60)\n",
"\n",
" successful_attacks = [r for r in results if r['success']]\n",
"\n",
" if successful_attacks:\n",
" avg_l2 = np.mean([r['l2_norm'] for r in successful_attacks])\n",
" avg_iterations = np.mean([r['iterations'] for r in successful_attacks])\n",
" min_l2 = min([r['l2_norm'] for r in successful_attacks])\n",
" max_l2 = max([r['l2_norm'] for r in successful_attacks])\n",
"\n",
" print(f\"Success Rate: {len(successful_attacks)}/{len(results)} \"\n",
" f\"({100*len(successful_attacks)/len(results):.1f}%)\")\n",
" print(f\"Average L2 Norm: {avg_l2:.4f}\")\n",
" print(f\"L2 Range: [{min_l2:.4f}, {max_l2:.4f}]\")\n",
" print(f\"Average Iterations: {avg_iterations:.1f}\")\n",
"\n",
" # Class transition analysis\n",
" transitions = {}\n",
" for r in successful_attacks:\n",
" key = f\"{r['original_label']}→{r['adversarial_label']}\"\n",
" transitions[key] = transitions.get(key, 0) + 1\n",
"\n",
" print(f\"\\nMost Common Misclassifications:\")\n",
" for trans, count in sorted(transitions.items(), key=lambda x: x[1], reverse=True)[:5]:\n",
" print(f\" {trans}: {count} times\")\n",
" else:\n",
" print(\"No successful attacks generated\")\n",
"\n",
" print(\"=\"*60)\n",
"\n",
"# Generate summary\n",
"print_summary_statistics(results)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "22bb380b-3504-4c01-8496-1a10a603903e",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}