diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..b5a6bdaa --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +tutorials/* linguist-vendored +tests/qa_runbook.ipynb linguist-vendored diff --git a/.gitignore b/.gitignore index bac1c6d2..bbe9a163 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,9 @@ playground.ipynb */*/.cache_dir results*/ logs +_hidden_local_dev* +tmp_dir_new*/ +tmp/ notebooks/figures/ *.tsv *.csv diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 62cee4a7..a45cf025 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -25,6 +25,11 @@ When adding new methods or APIs, unit tests are now enforced. To run existing te cd pyvene python -m unittest discover -p '*TestCase.py' ``` +For specific test case, yoou can run +```bash +cd pyvene +python -m unittest tests.integration_tests.ComplexInterventionWithGPT2TestCase +``` When checking in new code, please also consider to add new tests in the same PR. Please include test results in the PR to make sure all the existing test cases are passing. Please see the `qa_runbook.ipynb` notebook about a set of conventions about how to add test cases. The code coverage for this repository is currently `low`, and we are adding more automated tests. #### Format diff --git a/README.md b/README.md index d3533aee..aae8232a 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,10 @@ *This is a beta release (public testing).* -# **Use _Activation Intervention_ to Interpret _Causal Mechanism_ of Model** -**pyvene** supports customizable interventions on different neural architectures (e.g., RNN or Transformers). It supports complex intervention schemas (e.g., parallel or serialized interventions) and a wide range of intervention modes (e.g., static or trained interventions) at scale to gain interpretability insights. +# A Library for _Understanding_ and _Improving_ PyTorch Models via Interventions +Interventions on model-internal states are fundamental operations in many areas of AI, including model editing, steering, robustness, and interpretability. To facilitate such research, we introduce **pyvene**, an open-source Python library that supports customizable interventions on a range of different PyTorch modules. **pyvene** supports complex intervention schemes with an intuitive configuration format, and its interventions can be static or include trainable parameters. -**Getting Started:** [](https://colab.research.google.com/github/stanfordnlp/pyvene/blob/main/tutorials/basic_tutorials/Basic_Intervention.ipynb) [**_pyvene_ 101**] +**Getting Started:** [](https://colab.research.google.com/github/stanfordnlp/pyvene/blob/main/pyvene/pyvene_101.ipynb) [**Main _pyvene_ 101**] ## Installation ```bash @@ -24,55 +24,45 @@ pip install pyvene ## _Wrap_ , _Intervene_ and _Share_ You can intervene with supported models as, ```python -import pyvene -from pyvene import IntervenableRepresentationConfig, IntervenableConfig, IntervenableModel -from pyvene import VanillaIntervention +import torch +import pyvene as pv -# provided wrapper for huggingface gpt2 model -_, tokenizer, gpt2 = pyvene.create_gpt2() +_, tokenizer, gpt2 = pv.create_gpt2() -# turn gpt2 into intervenable_gpt2 -intervenable_gpt2 = IntervenableModel( - intervenable_config = IntervenableConfig( - intervenable_representations=[ - IntervenableRepresentationConfig( - 0, # intervening layer 0 - "mlp_output", # intervening mlp output - ), - ], - intervenable_interventions_type=VanillaIntervention - ), - model = gpt2 -) +pv_gpt2 = pv.IntervenableModel({ + "layer": 0, + "component": "mlp_output", + "source_representation": torch.zeros( + gpt2.config.n_embd) +}, model=gpt2) -# intervene base with sources on the 4th token. -original_outputs, intervened_outputs = intervenable_gpt2( - tokenizer("The capital of Spain is", return_tensors="pt"), - [tokenizer("The capital of Italy is", return_tensors="pt")], - {"sources->base": 4} +orig_outputs, intervened_outputs = pv_gpt2( + base = tokenizer( + "The capital of Spain is", + return_tensors="pt" + ), + unit_locations={"base": 3} ) -original_outputs.last_hidden_state - intervened_outputs.last_hidden_state +print(intervened_outputs.last_hidden_state - orig_outputs.last_hidden_state) ``` which returns, - ``` tensor([[[ 0.0000, 0.0000, 0.0000, ..., 0.0000, 0.0000, 0.0000], [ 0.0000, 0.0000, 0.0000, ..., 0.0000, 0.0000, 0.0000], [ 0.0000, 0.0000, 0.0000, ..., 0.0000, 0.0000, 0.0000], - [ 0.0000, 0.0000, 0.0000, ..., 0.0000, 0.0000, 0.0000], - [ 0.0008, -0.0078, -0.0066, ..., 0.0007, -0.0018, 0.0060]]]) + [ 0.0483, -0.1212, -0.2816, ..., 0.1958, 0.0830, 0.0784], + [ 0.0519, 0.2547, -0.1631, ..., 0.0050, -0.0453, -0.1624]]]) ``` -showing that we have causal effects only on the last token as expected. You can share your interventions through Huggingface with others with a single call, +You can share your interventions through Huggingface with others with a single call, ```python -intervenable_gpt2.save( +pv_gpt2.save( save_directory="./your_gpt2_mounting_point/", save_to_hf_hub=True, - hf_repo_name="your_gpt2_mounting_point", + hf_repo_name="your_gpt2_mounting_point" ) ``` -We see interventions are knobs that can mount on models. And people can share their knobs with others to share knowledge about how to steer models. You can try this at [](https://colab.research.google.com/github/stanfordnlp/pyvene/blob/main/tutorials/basic_tutorials/Load_Save_and_Share_Interventions.ipynb) [**Intervention Sharing**] -You can also use the `intervenable_gpt2` just like a regular torch model component inside another model, or another pipeline as, +You can also use the `pv_gpt2` just like a regular torch model component inside another model, or another pipeline as, ```py import torch import torch.nn as nn @@ -81,7 +71,7 @@ from typing import List, Optional, Tuple, Union, Dict class ModelWithIntervenables(nn.Module): def __init__(self): super(ModelWithIntervenables, self).__init__() - self.intervenable_gpt2 = intervenable_gpt2 + self.pv_gpt2 = pv_gpt2 self.relu = nn.ReLU() self.fc = nn.Linear(768, 1) # Your other downstream components go here @@ -94,18 +84,55 @@ class ModelWithIntervenables(nn.Module): activations_sources: Optional[Dict] = None, subspaces: Optional[List] = None, ): - _, counterfactual_x = self.intervenable_gpt2( + _, counterfactual_x = self.pv_gpt2( base, sources, unit_locations, activations_sources, subspaces ) - counterfactual_x = counterfactual_x.last_hidden_state - - counterfactual_x = self.relu(counterfactual_x) - counterfactual_x = self.fc(counterfactual_x) - return counterfactual_x + return self.fc(self.relu(counterfactual_x.last_hidden_state)) +``` + +## Complex _Intervention Schema_ as an _Object_ +One key abstraction that **pyvene** provides is the encapsulation of the intervention schema. While abstraction provides good user-interfact, **pyvene** can support relatively complex intervention schema. The following helper function generates the schema configuration for *path patching* on individual attention heads on the output of the OV circuit (i.e., analyzing causal effect of each individual component): +```py +import pyvene as pv + +def path_patching_config( + layer, last_layer, + component="head_attention_value_output", unit="h.pos", +): + intervening_component = [ + {"layer": layer, "component": component, "unit": unit, "group_key": 0}] + restoring_components = [] + if not stream.startswith("mlp_"): + restoring_components += [ + {"layer": layer, "component": "mlp_output", "group_key": 1}] + for i in range(layer+1, last_layer): + restoring_components += [ + {"layer": i, "component": "attention_output", "group_key": 1} + {"layer": i, "component": "mlp_output", "group_key": 1} + ] + intervenable_config = IntervenableConfig(intervening_component + restoring_components) + return intervenable_config +``` +then you can wrap the config generated by this function to a model. And after you have done your intervention, you can share your path patching with others, +```py +_, tokenizer, gpt2 = pv.create_gpt2() + +pv_gpt2 = pv.IntervenableModel( + path_patching_config(4, gpt2.config.n_layer), + model=gpt2 +) +# saving the path +pv_gpt2.save( + save_directory="./your_gpt2_path/" +) +# loading the path +pv_gpt2 = pv.IntervenableModel.load( + "./tmp/", + model=gpt2) ``` @@ -113,14 +140,34 @@ class ModelWithIntervenables(nn.Module): | **Level** | **Tutorial** | **Run in Colab** | **Description** | | --- | ------------- | ------------- | ------------- | -| Beginner | [**Getting Started**](tutorials/basic_tutorials/Basic_Intervention.ipynb) | [](https://colab.research.google.com/github/stanfordnlp/pyvene/blob/main/tutorials/basic_tutorials/Basic_Intervention.ipynb) | Introduces basic static intervention on factual recall examples | -| Beginner | [**Intervened Model Generation**](tutorials/advanced_tutorials/Intervened_Model_Generation.ipynb) | [](https://colab.research.google.com/github/stanfordnlp/pyvene/blob/main/tutorials/advanced_tutorials/Intervened_Model_Generation.ipynb) | Shows how to intervene a model during generation | -| Intermediate | [**Intervene Your Local Models**](tutorials/basic_tutorials/Add_New_Model_Type.ipynb) | [](https://colab.research.google.com/github/stanfordnlp/pyvene/blob/main/tutorials/basic_tutorials/Add_New_Model_Type.ipynb) | Illustrates how to run this library with your own models | +| Beginner | [**pyvene 101**](pyvene_101.ipynb) | [](https://colab.research.google.com/github/stanfordnlp/pyvene/blob/main/pyvene/pyvene_101.ipynb) | Introduce you to the basics of pyvene | | Intermediate | [**ROME Causal Tracing**](tutorials/advanced_tutorials/Causal_Tracing.ipynb) | [](https://colab.research.google.com/github/stanfordnlp/pyvene/blob/main/tutorials/advanced_tutorials/Causal_Tracing.ipynb) | Reproduce ROME's Results on Factual Associations with GPT2-XL | | Intermediate | [**Intervention v.s. Probing**](tutorials/advanced_tutorials/Probing_Gender.ipynb) | [](https://colab.research.google.com/github/stanfordnlp/pyvene/blob/main/tutorials/advanced_tutorials/Probing_Gender.ipynb) | Illustrates how to run trainable interventions and probing with pythia-6.9B | | Advanced | [**Trainable Interventions for Causal Abstraction**](tutorials/advanced_tutorials/DAS_Main_Introduction.ipynb) | [](https://colab.research.google.com/github/stanfordnlp/pyvene/blob/main/tutorials/advanced_tutorials/DAS_Main_Introduction.ipynb) | Illustrates how to train an intervention to discover causal mechanisms of a neural model | -## Causal Abstraction: From Interventions to Gain Interpretability Insights +## Contributing to This Library +Please see [our guidelines](CONTRIBUTING.md) about how to contribute to this repository. + +*Pull requests, bug reports, and all other forms of contribution are welcomed and highly encouraged!* :octocat: + +### Other Ways of Installation + +**Method 2: Install from the Repo** +```bash +pip install git+https://github.com/stanfordnlp/pyvene.git +``` + +**Method 3: Clone and Import** +```bash +git clone https://github.com/stanfordnlp/pyvene.git +``` +and in parallel folder, import to your project as, +```python +from pyvene import pyvene +_, tokenizer, gpt2 = pyvene.create_gpt2() +``` + +## A Little Guide for Causal Abstraction: From Interventions to Gain Interpretability Insights Basic interventions are fun but we cannot make any causal claim systematically. To gain actual interpretability insights, we want to measure the counterfactual behaviors of a model in a data-driven fashion. In other words, if the model responds systematically to your interventions, then you start to associate certain regions in the network with a high-level concept. We also call this alignment search process with model internals. ### Understanding Causal Mechanisms with Static Interventions @@ -178,28 +225,6 @@ intervenable.train( ``` where you need to pass in a trainable dataset, and your customized loss and metrics function. The trainable interventions can later be saved on to your disk. You can also use `intervenable.evaluate()` your interventions in terms of customized objectives. -## Contributing to This Library -Please see [our guidelines](CONTRIBUTING.md) about how to contribute to this repository. - -*Pull requests, bug reports, and all other forms of contribution are welcomed and highly encouraged!* :octocat: - -### Other Ways of Installation - -**Method 2: Install from the Repo** -```bash -pip install git+https://github.com/stanfordnlp/pyvene.git -``` - -**Method 3: Clone and Import** -```bash -git clone https://github.com/stanfordnlp/pyvene.git -``` -and in parallel folder, import to your project as, -```python -from pyvene import pyvene -_, tokenizer, gpt2 = pyvene.create_gpt2() -``` - ## Related Works in Discovering Causal Mechanism of LLMs If you would like to read more works on this area, here is a list of papers that try to align or discover the causal mechanisms of LLMs. - [Causal Abstractions of Neural Networks](https://arxiv.org/abs/2106.02997): This paper introduces interchange intervention (a.k.a. activation patching or causal scrubbing). It tries to align a causal model with the model's representations. diff --git a/pyvene/__init__.py b/pyvene/__init__.py index 280702ae..059253d5 100644 --- a/pyvene/__init__.py +++ b/pyvene/__init__.py @@ -2,7 +2,7 @@ from .data_generators.causal_model import CausalModel from .models.intervenable_base import IntervenableModel from .models.configuration_intervenable_model import IntervenableConfig -from .models.configuration_intervenable_model import IntervenableRepresentationConfig +from .models.configuration_intervenable_model import RepresentationConfig # Interventions @@ -24,6 +24,8 @@ from .models.interventions import ZeroIntervention from .models.interventions import LocalistRepresentationIntervention from .models.interventions import DistributedRepresentationIntervention +from .models.interventions import SourcelessIntervention +from .models.interventions import NoiseIntervention # Utils diff --git a/pyvene/models/basic_utils.py b/pyvene/models/basic_utils.py index b5236b69..cdffd45a 100644 --- a/pyvene/models/basic_utils.py +++ b/pyvene/models/basic_utils.py @@ -130,6 +130,7 @@ def get_list_depth(lst): return 1 + max((get_list_depth(item) for item in lst), default=0) return 0 + def get_batch_size(model_input): """ Get batch size based on the input @@ -141,3 +142,28 @@ def get_batch_size(model_input): batch_size = v.shape[0] break return batch_size + + +def GET_LOC( + LOC, + unit="h.pos", + batch_size=1, +): + """ + From simple locale to nested one. + """ + if unit == "h.pos": + return [ + [ + [ + [LOC[0]] + ] * batch_size, + [ + [LOC[1]] + ] * batch_size + ] + ] + else: + raise NotImplementedError( + f"{unit} is not supported." + ) \ No newline at end of file diff --git a/pyvene/models/configuration_intervenable_model.py b/pyvene/models/configuration_intervenable_model.py index 2b334d9b..8432498e 100644 --- a/pyvene/models/configuration_intervenable_model.py +++ b/pyvene/models/configuration_intervenable_model.py @@ -8,15 +8,15 @@ from .interventions import VanillaIntervention -IntervenableRepresentationConfig = namedtuple( - "IntervenableRepresentationConfig", - "intervenable_layer intervenable_representation_type " - "intervenable_unit max_number_of_units " - "intervenable_low_rank_dimension " - "subspace_partition group_key intervention_link_key intervenable_moe " +RepresentationConfig = namedtuple( + "RepresentationConfig", + "layer component unit " + "max_number_of_units " + "low_rank_dimension intervention_type " + "subspace_partition group_key intervention_link_key moe_key " "source_representation hidden_source_representation", defaults=( - 0, "block_output", "pos", 1, + 0, "block_output", "pos", 1, None, None, None, None, None, None, None, None), ) @@ -24,49 +24,102 @@ class IntervenableConfig(PretrainedConfig): def __init__( self, - intervenable_representations=[IntervenableRepresentationConfig()], - intervenable_interventions_type=VanillaIntervention, + representations=[RepresentationConfig()], + intervention_types=VanillaIntervention, mode="parallel", - intervenable_interventions=[None], + interventions=[None], sorted_keys=None, + model_type=None, # deprecating + # hidden fields for backlog intervention_dimensions=None, - intervenable_model_type=None, **kwargs, ): - if isinstance(intervenable_representations, list): - self.intervenable_representations = intervenable_representations - else: - self.intervenable_representations = [intervenable_representations] - self.intervenable_interventions_type = intervenable_interventions_type + if not isinstance(representations, list): + representations = [representations] + + casted_representations = [] + for reprs in representations: + if isinstance(reprs, RepresentationConfig): + casted_representations += [reprs] + elif isinstance(reprs, list): + casted_representations += [ + RepresentationConfig(*reprs)] + elif isinstance(reprs, dict): + casted_representations += [ + RepresentationConfig(**reprs)] + else: + raise ValueError( + f"{reprs} format in our representation list is not supported.") + self.representations = casted_representations + self.intervention_types = intervention_types + # the type inside reprs can overwrite + overwrite = False + overwrite_intervention_types = [] + for reprs in self.representations: + + if overwrite: + if reprs.intervention_type is None: + raise ValueError( + "intervention_type if used should be specified for all") + if reprs.intervention_type is not None: + overwrite = True + overwrite_intervention_types += [reprs.intervention_type] + if None in overwrite_intervention_types: + raise ValueError( + "intervention_type if used should be specified for all") + if overwrite: + self.intervention_types = overwrite_intervention_types + self.mode = mode - self.intervenable_interventions = intervenable_interventions + self.interventions = interventions self.sorted_keys = sorted_keys self.intervention_dimensions = intervention_dimensions - self.intervenable_model_type = intervenable_model_type + self.model_type = model_type super().__init__(**kwargs) + + def add_intervention(self, representations): + if not isinstance(representations, list): + representations = [representations] + for reprs in representations: + if isinstance(reprs, RepresentationConfig): + self.representations += [reprs] + elif isinstance(reprs, list): + self.representations += [ + RepresentationConfig(*reprs)] + elif isinstance(reprs, dict): + self.representations += [ + RepresentationConfig(**reprs)] + else: + raise ValueError( + f"{reprs} format in our representation list is not supported.") + if self.representations[-1].intervention_type is None: + raise ValueError( + "intervention_type should be provided.") + self.intervention_types += [self.representations[-1].intervention_type] + def __repr__(self): - intervenable_representations = [] - for reprs in self.intervenable_representations: + representations = [] + for reprs in self.representations: if isinstance(reprs, list): - reprs = IntervenableRepresentationConfig(*reprs) + reprs = RepresentationConfig(*reprs) new_d = {} for k, v in reprs._asdict().items(): if type(v) not in {str, int, list, tuple, dict} and v is not None and v != [None]: new_d[k] = "PLACEHOLDER" else: new_d[k] = v - intervenable_representations += [new_d] + representations += [new_d] _repr = { - "intervenable_model_type": str(self.intervenable_model_type), - "intervenable_representations": tuple(intervenable_representations), - "intervenable_interventions_type": str( - self.intervenable_interventions_type + "model_type": str(self.model_type), + "representations": tuple(representations), + "intervention_types": str( + self.intervention_types ), "mode": self.mode, - "intervenable_interventions": [ - str(intervenable_intervention) - for intervenable_intervention in self.intervenable_interventions + "interventions": [ + str(intervention) + for intervention in self.interventions ], "sorted_keys": tuple(self.sorted_keys) if self.sorted_keys is not None else str(self.sorted_keys), "intervention_dimensions": str(self.intervention_dimensions), diff --git a/pyvene/models/intervenable_base.py b/pyvene/models/intervenable_base.py index 7c1fa16e..cefb0862 100644 --- a/pyvene/models/intervenable_base.py +++ b/pyvene/models/intervenable_base.py @@ -1,4 +1,4 @@ -import json, logging +import json, logging, torch import numpy as np from collections import OrderedDict from typing import List, Optional, Tuple, Union, Dict @@ -10,7 +10,7 @@ from .constants import CONST_QKV_INDICES from .configuration_intervenable_model import ( IntervenableConfig, - IntervenableRepresentationConfig, + RepresentationConfig, ) from .interventions import ( TrainableIntervention, @@ -29,13 +29,18 @@ class IntervenableModel(nn.Module): Generic intervenable model. Alignments are specified in the config. """ - def __init__(self, intervenable_config, model, **kwargs): + def __init__(self, config, model, **kwargs): super().__init__() - self.intervenable_config = intervenable_config - self.mode = intervenable_config.mode - intervention_type = intervenable_config.intervenable_interventions_type + if isinstance(config, dict) or isinstance(config, list): + config = IntervenableConfig( + representations = config + ) + self.config = config + + self.mode = config.mode + intervention_type = config.intervention_types self.is_model_stateless = is_stateless(model) - self.intervenable_config.intervenable_model_type = type(model) # backfill + self.config.model_type = type(model) # backfill self.use_fast = kwargs["use_fast"] if "use_fast" in kwargs else False self.model_has_grad = False if self.use_fast: @@ -48,7 +53,7 @@ def __init__(self, intervenable_config, model, **kwargs): # each representation can get a different intervention type if type(intervention_type) == list: assert len(intervention_type) == len( - intervenable_config.intervenable_representations + config.representations ) ### @@ -62,7 +67,7 @@ def __init__(self, intervenable_config, model, **kwargs): # To support a new model type, you need to provide a # mapping between supported abstract type and module name. ### - self.intervenable_representations = {} + self.representations = {} self.interventions = {} self._key_collision_counter = {} self.return_collect_activations = False @@ -86,22 +91,22 @@ def __init__(self, intervenable_config, model, **kwargs): _any_group_key = False _original_key_order = [] for i, representation in enumerate( - intervenable_config.intervenable_representations + config.representations ): _key = self._get_representation_key(representation) - if representation.intervenable_unit not in CONST_VALID_INTERVENABLE_UNIT: + if representation.unit not in CONST_VALID_INTERVENABLE_UNIT: raise ValueError( - f"{representation.intervenable_unit} is not supported as intervenable unit. Valid options: ", + f"{representation.unit} is not supported as intervenable unit. Valid options: ", f"{CONST_VALID_INTERVENABLE_UNIT}", ) if ( - intervenable_config.intervenable_interventions is not None - and intervenable_config.intervenable_interventions[0] is not None + config.interventions is not None + and config.interventions[0] is not None ): # we leave this option open but not sure if it is a desired one - intervention = intervenable_config.intervenable_interventions[i] + intervention = config.interventions[i] else: intervention_function = ( intervention_type @@ -111,7 +116,7 @@ def __init__(self, intervenable_config, model, **kwargs): other_medata = representation._asdict() other_medata["use_fast"] = self.use_fast intervention = intervention_function( - get_intervenable_dimension( + embed_dim=get_dimension( get_internal_model_type(model), model.config, representation ), **other_medata ) @@ -135,11 +140,11 @@ def __init__(self, intervenable_config, model, **kwargs): ): self.return_collect_activations = True - intervenable_module_hook = get_intervenable_module_hook( + module_hook = get_module_hook( model, representation ) - self.intervenable_representations[_key] = representation - self.interventions[_key] = (intervention, intervenable_module_hook) + self.representations[_key] = representation + self.interventions[_key] = (intervention, module_hook) self._key_getter_call_counter[ _key ] = 0 # we memo how many the hook is called, @@ -150,28 +155,28 @@ def __init__(self, intervenable_config, model, **kwargs): _original_key_order += [_key] if representation.group_key is not None: _any_group_key = True - if self.intervenable_config.sorted_keys is not None: + if self.config.sorted_keys is not None: logging.warn( "The key is provided in the config. " "Assuming this is loaded from a pretrained module." ) if ( - self.intervenable_config.sorted_keys is not None + self.config.sorted_keys is not None or "intervenables_sort_fn" not in kwargs ): - self.sorted_intervenable_keys = _original_key_order + self.sorted_keys = _original_key_order else: # the key order is independent of group, it is used to read out intervention locations. - self.sorted_intervenable_keys = kwargs["intervenables_sort_fn"]( - model, self.intervenable_representations + self.sorted_keys = kwargs["intervenables_sort_fn"]( + model, self.representations ) # check it follows topological order if not check_sorted_intervenables_by_topological_order( - model, self.intervenable_representations, self.sorted_intervenable_keys + model, self.representations, self.sorted_keys ): raise ValueError( - "The intervenable_representations in your config must follow the " + "The representations in your config must follow the " "topological order of model components. E.g., layer 2 intervention " "cannot appear before layer 1 in transformers." ) @@ -185,8 +190,8 @@ def __init__(self, intervenable_config, model, **kwargs): # In case they are grouped, we would expect the execution order is given # by the source inputs. _validate_group_keys = [] - for _key in self.sorted_intervenable_keys: - representation = self.intervenable_representations[_key] + for _key in self.sorted_keys: + representation = self.representations[_key] assert representation.group_key is not None if representation.group_key in self._intervention_group: self._intervention_group[representation.group_key].append(_key) @@ -205,7 +210,7 @@ def __init__(self, intervenable_config, model, **kwargs): else: # assign each key to an unique group based on topological order _group_key_inc = 0 - for _key in self.sorted_intervenable_keys: + for _key in self.sorted_keys: self._intervention_group[_group_key_inc] = [_key] _group_key_inc += 1 # sort group key with ascending order @@ -234,8 +239,8 @@ def __str__(self): """ attr_dict = { "model_type": self.model_type, - "intervenable_interventions_type": self.intervenable_interventions_type, - "alignabls": self.sorted_intervenable_keys, + "intervention_types": self.intervention_types, + "alignabls": self.sorted_keys, "mode": self.mode, } return json.dumps(attr_dict, indent=4) @@ -244,9 +249,9 @@ def _get_representation_key(self, representation): """ Provide unique key for each intervention """ - l = representation.intervenable_layer - r = representation.intervenable_representation_type - u = representation.intervenable_unit + l = representation.layer + r = representation.component + u = representation.unit n = representation.max_number_of_units key_proposal = f"layer.{l}.repr.{r}.unit.{u}.nunit.{n}" if key_proposal not in self._key_collision_counter: @@ -397,17 +402,17 @@ def save( create_directory(save_directory) - saving_config = copy.deepcopy(self.intervenable_config) - saving_config.sorted_keys = self.sorted_intervenable_keys - saving_config.intervenable_model_type = str( - saving_config.intervenable_model_type + saving_config = copy.deepcopy(self.config) + saving_config.sorted_keys = self.sorted_keys + saving_config.model_type = str( + saving_config.model_type ) - saving_config.intervenable_interventions_type = [] + saving_config.intervention_types = [] saving_config.intervention_dimensions = [] # handle constant source reprs if passed in. - serialized_intervenable_representations = [] - for reprs in saving_config.intervenable_representations: + serialized_representations = [] + for reprs in saving_config.representations: serialized_reprs = {} for k, v in reprs._asdict().items(): if k == "hidden_source_representation": @@ -417,17 +422,19 @@ def save( if v is not None: serialized_reprs["hidden_source_representation"] = True serialized_reprs[k] = None + elif k == "intervention_type": + serialized_reprs[k] = None else: serialized_reprs[k] = v - serialized_intervenable_representations += [ - IntervenableRepresentationConfig(**serialized_reprs) + serialized_representations += [ + RepresentationConfig(**serialized_reprs) ] - saving_config.intervenable_representations = \ - serialized_intervenable_representations - + saving_config.representations = \ + serialized_representations + for k, v in self.interventions.items(): intervention = v[0] - saving_config.intervenable_interventions_type += [str(type(intervention))] + saving_config.intervention_types += [str(type(intervention))] binary_filename = f"intkey_{k}.bin" # save intervention binary file if isinstance(intervention, TrainableIntervention) or \ @@ -452,7 +459,8 @@ def save( repo_id=hf_repo_name, repo_type="model", ) - saving_config.intervention_dimensions += [intervention.interchange_dim] + saving_config.intervention_dimensions += [intervention.interchange_dim.tolist()] + # save metadata config saving_config.save_pretrained(save_directory) if save_to_hf_hub: @@ -493,28 +501,21 @@ def load(load_directory, model, local_directory=None, from_huggingface_hub=False # load config saving_config = IntervenableConfig.from_pretrained(load_directory) - saving_config.intervenable_model_type = get_type_from_string( - saving_config.intervenable_model_type - ) - if not isinstance(model, saving_config.intervenable_model_type): - raise ValueError( - f"model type {str(type(model))} is not " - f"matching with {str(saving_config.intervenable_model_type)}" - ) - casted_intervenable_interventions_type = [] - for type_str in saving_config.intervenable_interventions_type: - casted_intervenable_interventions_type += [get_type_from_string(type_str)] - saving_config.intervenable_interventions_type = ( - casted_intervenable_interventions_type + casted_intervention_types = [] + + for type_str in saving_config.intervention_types: + casted_intervention_types += [get_type_from_string(type_str)] + saving_config.intervention_types = ( + casted_intervention_types ) - casted_intervenable_representations = [] + casted_representations = [] for ( - intervenable_representation_opts - ) in saving_config.intervenable_representations: - casted_intervenable_representations += [ - IntervenableRepresentationConfig(*intervenable_representation_opts) + representation_opts + ) in saving_config.representations: + casted_representations += [ + RepresentationConfig(*representation_opts) ] - saving_config.intervenable_representations = casted_intervenable_representations + saving_config.representations = casted_representations intervenable = IntervenableModel(saving_config, model) # load binary files @@ -522,7 +523,8 @@ def load(load_directory, model, local_directory=None, from_huggingface_hub=False intervention = v[0] binary_filename = f"intkey_{k}.bin" if isinstance(intervention, TrainableIntervention) or \ - intervention.is_source_constant: + (intervention.is_source_constant and \ + not isinstance(intervention, SourcelessIntervention)): if not os.path.exists(load_directory) or from_huggingface_hub: hf_hub_download( repo_id=load_directory, @@ -530,26 +532,26 @@ def load(load_directory, model, local_directory=None, from_huggingface_hub=False cache_dir=local_directory, ) logging.warn(f"Loading trainable intervention from {binary_filename}.") - saved_state_dict = torch.load(os.path.join(load_directory, binary_filename)) - if intervention.is_source_constant: + if intervention.is_source_constant and not isinstance(intervention, ZeroIntervention): + saved_state_dict = torch.load(os.path.join(load_directory, binary_filename)) intervention.register_buffer( 'source_representation', saved_state_dict['source_representation'] ) - intervention.load_state_dict(saved_state_dict) - intervention.interchange_dim = saving_config.intervention_dimensions[i] + intervention.load_state_dict(saved_state_dict) + intervention.set_interchange_dim(saving_config.intervention_dimensions[i]) return intervenable def _gather_intervention_output( - self, output, intervenable_representations_key, unit_locations + self, output, representations_key, unit_locations ) -> torch.Tensor: """ Gather intervening activations from the output based on indices """ if ( - intervenable_representations_key in self._intervention_reverse_link - and self._intervention_reverse_link[intervenable_representations_key] + representations_key in self._intervention_reverse_link + and self._intervention_reverse_link[representations_key] in self.hot_activations ): # hot gather @@ -559,7 +561,7 @@ def _gather_intervention_output( # enable the following line when an error is hit # torch.autograd.set_detect_anomaly(True) selected_output = self.hot_activations[ - self._intervention_reverse_link[intervenable_representations_key] + self._intervention_reverse_link[representations_key] ] else: # cold gather @@ -569,15 +571,15 @@ def _gather_intervention_output( original_output = output[0] # gather subcomponent original_output = self._output_to_subcomponent( - original_output, intervenable_representations_key + original_output, representations_key ) # gather based on intervention locations selected_output = gather_neurons( original_output, - self.intervenable_representations[ - intervenable_representations_key - ].intervenable_unit, + self.representations[ + representations_key + ].unit, unit_locations, ) @@ -586,7 +588,7 @@ def _gather_intervention_output( def _output_to_subcomponent( self, output, - intervenable_representations_key, + representations_key, ) -> List[torch.Tensor]: """ Helps to get subcomponent of inputs/outputs of a hook @@ -596,9 +598,9 @@ def _output_to_subcomponent( """ return output_to_subcomponent( output, - self.intervenable_representations[ - intervenable_representations_key - ].intervenable_representation_type, + self.representations[ + representations_key + ].component, self.model_type, self.model_config, ) @@ -607,7 +609,7 @@ def _scatter_intervention_output( self, output, intervened_representation, - intervenable_representations_key, + representations_key, unit_locations, ) -> torch.Tensor: """ @@ -619,19 +621,19 @@ def _scatter_intervention_output( else: original_output = output - intervenable_representation_type = self.intervenable_representations[ - intervenable_representations_key - ].intervenable_representation_type - intervenable_unit = self.intervenable_representations[ - intervenable_representations_key - ].intervenable_unit + component = self.representations[ + representations_key + ].component + unit = self.representations[ + representations_key + ].unit # scatter in-place _ = scatter_neurons( original_output, intervened_representation, - intervenable_representation_type, - intervenable_unit, + component, + unit, unit_locations, self.model_type, self.model_config, @@ -642,15 +644,15 @@ def _scatter_intervention_output( def _intervention_getter( self, - intervenable_keys, + keys, unit_locations, ) -> HandlerList: """ Create a list of getter handlers that will fetch activations """ handlers = [] - for key_i, key in enumerate(intervenable_keys): - intervention, intervenable_module_hook = self.interventions[key] + for key_i, key in enumerate(keys): + intervention, module_hook = self.interventions[key] def hook_callback(model, args, kwargs, output=None): if self._is_generation: @@ -701,7 +703,7 @@ def hook_callback(model, args, kwargs, output=None): # set version for stateful models self._intervention_state[key].inc_getter_version() - handlers.append(intervenable_module_hook(hook_callback, with_kwargs=True)) + handlers.append(module_hook(hook_callback, with_kwargs=True)) return HandlerList(handlers) @@ -779,7 +781,7 @@ def _reconcile_stateful_cached_activations( def _intervention_setter( self, - intervenable_keys, + keys, unit_locations_base, subspaces, ) -> HandlerList: @@ -789,8 +791,8 @@ def _intervention_setter( self._tidy_stateful_activations() handlers = [] - for key_i, key in enumerate(intervenable_keys): - intervention, intervenable_module_hook = self.interventions[key] + for key_i, key in enumerate(keys): + intervention, module_hook = self.interventions[key] self._batched_setter_activation_select[key] = [ 0 for _ in range(len(unit_locations_base[0])) ] # batch_size @@ -881,7 +883,7 @@ def hook_callback(model, args, kwargs, output=None): self._intervention_state[key].inc_setter_version() - handlers.append(intervenable_module_hook(hook_callback, with_kwargs=True)) + handlers.append(module_hook(hook_callback, with_kwargs=True)) return HandlerList(handlers) @@ -976,16 +978,16 @@ def _wait_for_forward_with_parallel_intervention( # at each aligning representations if activations_sources is None: assert len(sources) == len(self._intervention_group) - for group_id, intervenable_keys in self._intervention_group.items(): + for group_id, keys in self._intervention_group.items(): if sources[group_id] is None: continue # smart jump for advance usage only group_get_handlers = HandlerList([]) - for intervenable_key in intervenable_keys: + for key in keys: get_handlers = self._intervention_getter( - [intervenable_key], + [key], [ unit_locations_sources[ - self.sorted_intervenable_keys.index(intervenable_key) + self.sorted_keys.index(key) ] ], ) @@ -995,27 +997,27 @@ def _wait_for_forward_with_parallel_intervention( else: # simply patch in the ones passed in self.activations = activations_sources - for _, passed_in_intervenable_key in enumerate(self.activations): - assert passed_in_intervenable_key in self.sorted_intervenable_keys + for _, passed_in_key in enumerate(self.activations): + assert passed_in_key in self.sorted_keys # in parallel mode, we swap cached activations all into # base at once - for group_id, intervenable_keys in self._intervention_group.items(): - for intervenable_key in intervenable_keys: + for group_id, keys in self._intervention_group.items(): + for key in keys: # skip in case smart jump - if intervenable_key in self.activations or \ - self.interventions[intervenable_key][0].is_source_constant: + if key in self.activations or \ + self.interventions[key][0].is_source_constant: set_handlers = self._intervention_setter( - [intervenable_key], + [key], [ unit_locations_base[ - self.sorted_intervenable_keys.index(intervenable_key) + self.sorted_keys.index(key) ] ], # assume same group targeting the same subspace [ subspaces[ - self.sorted_intervenable_keys.index(intervenable_key) + self.sorted_keys.index(key) ] ] if subspaces is not None @@ -1033,32 +1035,32 @@ def _wait_for_forward_with_serial_intervention( subspaces: Optional[List] = None, ): all_set_handlers = HandlerList([]) - for group_id, intervenable_keys in self._intervention_group.items(): + for group_id, keys in self._intervention_group.items(): if sources[group_id] is None: continue # smart jump for advance usage only - for intervenable_key_id, intervenable_key in enumerate(intervenable_keys): + for key_id, key in enumerate(keys): if group_id != len(self._intervention_group) - 1: unit_locations_key = f"source_{group_id}->source_{group_id+1}" else: unit_locations_key = f"source_{group_id}->base" unit_locations_source = unit_locations[unit_locations_key][0][ - intervenable_key_id + key_id ] if unit_locations_source is None: continue # smart jump for advance usage only unit_locations_base = unit_locations[unit_locations_key][1][ - intervenable_key_id + key_id ] if activations_sources is None: # get activation from source_i get_handlers = self._intervention_getter( - [intervenable_key], + [key], [unit_locations_source], ) else: - self.activations[intervenable_key] = activations_sources[ - intervenable_key + self.activations[key] = activations_sources[ + key ] # call once per group. each intervention is by its own group by default if activations_sources is None: @@ -1070,18 +1072,18 @@ def _wait_for_forward_with_serial_intervention( all_set_handlers.remove() all_set_handlers = HandlerList([]) - for intervenable_key in intervenable_keys: + for key in keys: # skip in case smart jump - if intervenable_key in self.activations or \ - self.interventions[intervenable_key][0].is_source_constant: + if key in self.activations or \ + self.interventions[key][0].is_source_constant: # set with intervened activation to source_i+1 set_handlers = self._intervention_setter( - [intervenable_key], + [key], [unit_locations_base], # assume the order [ subspaces[ - self.sorted_intervenable_keys.index(intervenable_key) + self.sorted_keys.index(key) ] ] if subspaces is not None @@ -1097,47 +1099,125 @@ def _broadcast_unit_locations( intervention_group_size, unit_locations ): - _unit_locations = {} - for k, v in unit_locations.items(): - # special broadcast for base-only interventions - is_base_only = False - if k == "base": - is_base_only = True - k = "sources->base" - if isinstance(v, int): - if is_base_only: - _unit_locations[k] = (None, [[[v]]*batch_size]*intervention_group_size) + if self.mode == "parallel": + _unit_locations = {} + for k, v in unit_locations.items(): + # special broadcast for base-only interventions + is_base_only = False + if k == "base": + is_base_only = True + k = "sources->base" + if isinstance(v, int): + if is_base_only: + _unit_locations[k] = (None, [[[v]]*batch_size]*intervention_group_size) + else: + _unit_locations[k] = ( + [[[v]]*batch_size]*intervention_group_size, + [[[v]]*batch_size]*intervention_group_size + ) + self.use_fast = True + elif len(v) == 2 and isinstance(v[0], int) and isinstance(v[1], int): + _unit_locations[k] = ( + [[[v[0]]]*batch_size]*intervention_group_size, + [[[v[1]]]*batch_size]*intervention_group_size + ) + self.use_fast = True + elif len(v) == 2 and v[0] == None and isinstance(v[1], int): + _unit_locations[k] = (None, [[[v[1]]]*batch_size]*intervention_group_size) + self.use_fast = True + elif len(v) == 2 and isinstance(v[0], int) and v[1] == None: + _unit_locations[k] = ([[[v[0]]]*batch_size]*intervention_group_size, None) + self.use_fast = True else: + if is_base_only: + _unit_locations[k] = (None, v) + else: + _unit_locations[k] = v + elif self.mode == "serial": + _unit_locations = {} + for k, v in unit_locations.items(): + if isinstance(v, int): _unit_locations[k] = ( [[[v]]*batch_size]*intervention_group_size, [[[v]]*batch_size]*intervention_group_size ) - self.use_fast = True - elif len(v) == 2 and isinstance(v[0], int) and isinstance(v[1], int): - _unit_locations[k] = ( - [[[v[0]]]*batch_size]*intervention_group_size, - [[[v[1]]]*batch_size]*intervention_group_size - ) - self.use_fast = True - elif len(v) == 2 and v[0] == None and isinstance(v[1], int): - _unit_locations[k] = (None, [[[v[1]]]*batch_size]*intervention_group_size) - self.use_fast = True - elif len(v) == 2 and isinstance(v[0], int) and v[1] == None: - _unit_locations[k] = ([[[v[0]]]*batch_size]*intervention_group_size, None) - self.use_fast = True - else: - if is_base_only: - _unit_locations[k] = (None, v) + self.use_fast = True + elif len(v) == 2 and isinstance(v[0], int) and isinstance(v[1], int): + _unit_locations[k] = ( + [[[v[0]]]*batch_size]*intervention_group_size, + [[[v[1]]]*batch_size]*intervention_group_size + ) + self.use_fast = True + elif len(v) == 2 and v[0] == None and isinstance(v[1], int): + _unit_locations[k] = (None, [[[v[1]]]*batch_size]*intervention_group_size) + self.use_fast = True + elif len(v) == 2 and isinstance(v[0], int) and v[1] == None: + _unit_locations[k] = ([[[v[0]]]*batch_size]*intervention_group_size, None) + self.use_fast = True else: _unit_locations[k] = v + else: + raise ValueError(f"The mode {self.mode} is not supported.") return _unit_locations + def _broadcast_source_representations( + self, + source_representations + ): + """Broadcast simple inputs to a dict""" + _source_representations = {} + if isinstance(source_representations, dict) or source_representations is None: + # pass to broadcast for advance usage + _source_representations = source_representations + elif isinstance(source_representations, list): + for i, key in enumerate(self.sorted_keys): + _source_representations[key] = source_representations[i] + elif isinstance(source_representations, torch.Tensor): + for key in self.sorted_keys: + _source_representations[key] = source_representations + else: + raise ValueError( + "Accept input type for source_representations is [Dict, List, torch.Tensor]" + ) + return _source_representations + + def _broadcast_sources( + self, + sources + ): + """Broadcast simple inputs to a dict""" + _sources = sources + if len(sources) == 1 and len(self._intervention_group) > 1: + for _ in range(len(self._intervention_group)): + _sources += [sources[0]] + else: + _sources = sources + return _sources + + def _broadcast_subspaces( + self, + batch_size, + intervention_group_size, + subspaces + ): + """Broadcast simple subspaces input""" + _subspaces = subspaces + if isinstance(subspaces, int): + _subspaces = [[[subspaces]]*batch_size]*intervention_group_size + + elif isinstance(subspaces, list) and isinstance(subspaces[0], int): + _subspaces = [[subspaces]*batch_size]*intervention_group_size + else: + # TODO: subspaces is easier to add more broadcast majic. + pass + return _subspaces + def forward( self, base, sources: Optional[List] = None, unit_locations: Optional[Dict] = None, - activations_sources: Optional[Dict] = None, + source_representations: Optional[Dict] = None, subspaces: Optional[List] = None, ): """ @@ -1205,6 +1285,11 @@ def forward( Since we now support group-based intervention, the number of sources should be equal to the total number of groups. """ + # TODO: forgive me now, i will change this later. + activations_sources = source_representations + if sources is not None and not isinstance(sources, list): + sources = [sources] + self._cleanup_states() # if no source inputs, we are calling a simple forward @@ -1212,11 +1297,15 @@ def forward( and unit_locations is None: return self.model(**base), None + # broadcast unit_locations = self._broadcast_unit_locations( get_batch_size(base), len(self._intervention_group), unit_locations) - sources = [None]*len(self._intervention_group) if sources is None else sources - + sources = self._broadcast_sources(sources) + activations_sources = self._broadcast_source_representations(activations_sources) + subspaces = self._broadcast_subspaces( + get_batch_size(base), len(self._intervention_group), subspaces) + self._input_validation( base, sources, @@ -1258,7 +1347,7 @@ def forward( collected_activations = [] if self.return_collect_activations: - for key in self.sorted_intervenable_keys: + for key in self.sorted_keys: if isinstance( self.interventions[key][0], CollectIntervention @@ -1284,7 +1373,7 @@ def generate( base, sources: Optional[List] = None, unit_locations: Optional[Dict] = None, - activations_sources: Optional[Dict] = None, + source_representations: Optional[Dict] = None, intervene_on_prompt: bool = False, subspaces: Optional[List] = None, **kwargs, @@ -1314,6 +1403,11 @@ def generate( counterfactual_outputs: the intervened output of the base input. """ + # TODO: forgive me now, i will change this later. + activations_sources = source_representations + if sources is not None and not isinstance(sources, list): + sources = [sources] + self._cleanup_states() self._intervene_on_prompt = intervene_on_prompt @@ -1323,10 +1417,14 @@ def generate( # that means, we intervene on every generated tokens! unit_locations = {"base": 0} + # broadcast unit_locations = self._broadcast_unit_locations( get_batch_size(base), len(self._intervention_group), unit_locations) - sources = [None]*len(self._intervention_group) if sources is None else sources + sources = self._broadcast_sources(sources) + activations_sources = self._broadcast_source_representations(activations_sources) + subspaces = self._broadcast_subspaces( + get_batch_size(base), len(self._intervention_group), subspaces) self._input_validation( base, @@ -1369,7 +1467,7 @@ def generate( collected_activations = [] if self.return_collect_activations: - for key in self.sorted_intervenable_keys: + for key in self.sorted_keys: if isinstance( self.interventions[key][0], CollectIntervention @@ -1452,17 +1550,17 @@ def _batch_process_unit_location(self, inputs): _curr_source_ind = 0 _parallel_aggr_left = [] _parallel_aggr_right = [] - for _, rep in self.intervenable_representations.items(): + for _, rep in self.representations.items(): _curr_source_ind_inc = _curr_source_ind + 1 _prefix = f"source_{_curr_source_ind}->base" _prefix_left = f"{_prefix}.0" _prefix_right = f"{_prefix}.1" _sub_loc_aggr_left = [] # 3d _sub_loc_aggr_right = [] # 3d - for sub_loc in rep.intervenable_unit.split("."): + for sub_loc in rep.unit.split("."): _sub_loc_aggr_left += [inputs[f"{_prefix_left}.{sub_loc}"]] _sub_loc_aggr_right += [inputs[f"{_prefix_right}.{sub_loc}"]] - if len(rep.intervenable_unit.split(".")) == 1: + if len(rep.unit.split(".")) == 1: _sub_loc_aggr_left = _sub_loc_aggr_left[0] _sub_loc_aggr_right = _sub_loc_aggr_right[0] _parallel_aggr_left += [_sub_loc_aggr_left] # 3D or 4D @@ -1477,21 +1575,21 @@ def _batch_process_unit_location(self, inputs): else: # source into another source and finally to the base engaging different locations _curr_source_ind = 0 - for _, rep in self.intervenable_representations.items(): + for _, rep in self.representations.items(): _curr_source_ind_inc = _curr_source_ind + 1 _prefix = ( f"source_{_curr_source_ind}->base" - if _curr_source_ind + 1 == len(self.intervenable_representations) + if _curr_source_ind + 1 == len(self.representations) else f"source_{_curr_source_ind}->source{_curr_source_ind_inc}" ) _prefix_left = f"{_prefix}.0" _prefix_right = f"{_prefix}.1" _sub_loc_aggr_left = [] # 3d _sub_loc_aggr_right = [] # 3d - for sub_loc in rep.intervenable_unit.split("."): + for sub_loc in rep.unit.split("."): _sub_loc_aggr_left += [inputs[f"{_prefix_left}.{sub_loc}"]] _sub_loc_aggr_right += [inputs[f"{_prefix_right}.{sub_loc}"]] - if len(rep.intervenable_unit.split(".")) == 1: + if len(rep.unit.split(".")) == 1: _sub_loc_aggr_left = _sub_loc_aggr_left[0] _sub_loc_aggr_right = _sub_loc_aggr_right[0] _curr_source_ind += 1 diff --git a/pyvene/models/intervention_utils.py b/pyvene/models/intervention_utils.py index a2b81007..bfc4a105 100644 --- a/pyvene/models/intervention_utils.py +++ b/pyvene/models/intervention_utils.py @@ -37,7 +37,7 @@ def __repr__(self): def __str__(self): return json.dumps(self.state_dict, indent=4) -def broadcast_tensor(x, target_shape): +def broadcast_tensor_v1(x, target_shape): # Ensure the last dimension of target_shape matches x's size if target_shape[-1] != x.shape[-1]: raise ValueError("The last dimension of target_shape must match the size of x") @@ -50,6 +50,19 @@ def broadcast_tensor(x, target_shape): broadcasted_x = x_reshaped.expand(*target_shape) return broadcasted_x +def broadcast_tensor_v2(x, target_shape): + # Ensure that target_shape has at least one dimension + if len(target_shape) < 1: + raise ValueError("Target shape must have at least one dimension") + + # Extract the first n-1 dimensions from the target shape + target_dims_except_last = target_shape[:-1] + + # Broadcast the input tensor x to match the target_dims_except_last and keep its last dimension + broadcasted_x = x.expand(*target_dims_except_last, x.shape[-1]) + + return broadcasted_x + def _do_intervention_by_swap( base, source, @@ -66,7 +79,7 @@ def _do_intervention_by_swap( # auto broadcast if base.shape != source.shape: try: - source = broadcast_tensor(source, base.shape) + source = broadcast_tensor_v1(source, base.shape) except: raise ValueError( f"source with shape {source.shape} cannot be broadcasted " @@ -110,17 +123,20 @@ def _do_intervention_by_swap( collect_base = [] for example_i in range(len(subspaces)): # render subspace as column indices - sel_subspace_indices = [] - for subspace in subspaces[example_i]: - sel_subspace_indices.extend( - [ - i - for i in range( - subspace_partition[subspace][0], - subspace_partition[subspace][1], - ) - ] - ) + if subspace_partition is None: + sel_subspace_indices = subspaces[example_i] + else: + sel_subspace_indices = [] + for subspace in subspaces[example_i]: + sel_subspace_indices.extend( + [ + i + for i in range( + subspace_partition[subspace][0], + subspace_partition[subspace][1], + ) + ] + ) if mode == "interchange": base[example_i, ..., sel_subspace_indices] = source[ example_i, ..., sel_subspace_indices diff --git a/pyvene/models/interventions.py b/pyvene/models/interventions.py index 41dda11a..3c903402 100644 --- a/pyvene/models/interventions.py +++ b/pyvene/models/interventions.py @@ -1,4 +1,5 @@ import torch +import numpy as np from abc import ABC, abstractmethod from .layers import RotateLayer, LowRankRotateLayer, SubspaceLowRankRotateLayer @@ -29,8 +30,11 @@ def __init__(self, **kwargs): self.source_representation = None def set_interchange_dim(self, interchange_dim): - self.interchange_dim = interchange_dim - + if isinstance(interchange_dim, int): + self.interchange_dim = torch.tensor(interchange_dim) + else: + self.interchange_dim = interchange_dim + @abstractmethod def forward(self, base, source, subspaces=None): pass @@ -74,6 +78,15 @@ class ConstantSourceIntervention(Intervention): def __init__(self, **kwargs): super().__init__(**kwargs) self.is_source_constant = True + + +class SourcelessIntervention(Intervention): + + """No source.""" + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.is_source_constant = True class BasisAgnosticIntervention(Intervention): @@ -100,9 +113,10 @@ class ZeroIntervention(ConstantSourceIntervention, LocalistRepresentationInterve def __init__(self, embed_dim, **kwargs): super().__init__(**kwargs) - self.embed_dim = embed_dim - self.interchange_dim = embed_dim - + # TODO: put them into a parent class + self.register_buffer('embed_dim', torch.tensor(embed_dim)) + self.register_buffer('interchange_dim', torch.tensor(embed_dim)) + def forward(self, base, source=None, subspaces=None): return _do_intervention_by_swap( base, @@ -124,9 +138,10 @@ class CollectIntervention(ConstantSourceIntervention): def __init__(self, embed_dim, **kwargs): super().__init__(**kwargs) - self.embed_dim = embed_dim - self.interchange_dim = embed_dim - + # TODO: put them into a parent class + self.register_buffer('embed_dim', torch.tensor(embed_dim)) + self.register_buffer('interchange_dim', torch.tensor(embed_dim)) + def forward(self, base, source=None, subspaces=None): return _do_intervention_by_swap( base, @@ -147,8 +162,9 @@ class SkipIntervention(BasisAgnosticIntervention, LocalistRepresentationInterven """Skip the current intervening layer's computation in the hook function.""" def __init__(self, embed_dim, **kwargs): - super().__init__(**kwargs) - self.interchange_dim = embed_dim # assuming full subspace + # TODO: put them into a parent class + self.register_buffer('embed_dim', torch.tensor(embed_dim)) + self.register_buffer('interchange_dim', torch.tensor(embed_dim)) def forward(self, base, source, subspaces=None): # source here is the base example input to the hook @@ -172,8 +188,9 @@ class VanillaIntervention(Intervention, LocalistRepresentationIntervention): def __init__(self, embed_dim, **kwargs): super().__init__(**kwargs) - self.embed_dim = embed_dim - self.interchange_dim = embed_dim # assuming full subspace + # TODO: put them into a parent class + self.register_buffer('embed_dim', torch.tensor(embed_dim)) + self.register_buffer('interchange_dim', torch.tensor(embed_dim)) def forward(self, base, source, subspaces=None): return _do_intervention_by_swap( @@ -196,8 +213,9 @@ class AdditionIntervention(BasisAgnosticIntervention, LocalistRepresentationInte def __init__(self, embed_dim, **kwargs): super().__init__(**kwargs) - self.embed_dim = embed_dim - self.interchange_dim = embed_dim # assuming full subspace + # TODO: put them into a parent class + self.register_buffer('embed_dim', torch.tensor(embed_dim)) + self.register_buffer('interchange_dim', torch.tensor(embed_dim)) def forward(self, base, source, subspaces=None): return _do_intervention_by_swap( @@ -220,12 +238,9 @@ class SubtractionIntervention(BasisAgnosticIntervention, LocalistRepresentationI def __init__(self, embed_dim, **kwargs): super().__init__(**kwargs) - self.embed_dim = embed_dim - self.interchange_dim = embed_dim # assuming full subspace - self.is_repr_distributed = False - - def set_interchange_dim(self, interchange_dim): - self.interchange_dim = interchange_dim + # TODO: put them into a parent class + self.register_buffer('embed_dim', torch.tensor(embed_dim)) + self.register_buffer('interchange_dim', torch.tensor(embed_dim)) def forward(self, base, source, subspaces=None): @@ -251,8 +266,9 @@ def __init__(self, embed_dim, **kwargs): super().__init__(**kwargs) rotate_layer = RotateLayer(embed_dim) self.rotate_layer = torch.nn.utils.parametrizations.orthogonal(rotate_layer) - self.embed_dim = embed_dim - self.interchange_dim = embed_dim # assuming full subspace + # TODO: put them into a parent class + self.register_buffer('embed_dim', torch.tensor(embed_dim)) + self.register_buffer('interchange_dim', torch.tensor(embed_dim)) def forward(self, base, source, subspaces=None): rotated_base = self.rotate_layer(base) @@ -281,8 +297,9 @@ class BoundlessRotatedSpaceIntervention(TrainableIntervention, DistributedRepres def __init__(self, embed_dim, **kwargs): super().__init__(**kwargs) - self.embed_dim = embed_dim - self.interchange_dim = embed_dim # assuming full subspace + # TODO: put them into a parent class + self.register_buffer('embed_dim', torch.tensor(embed_dim)) + self.register_buffer('interchange_dim', torch.tensor(embed_dim)) rotate_layer = RotateLayer(embed_dim) self.rotate_layer = torch.nn.utils.parametrizations.orthogonal(rotate_layer) self.intervention_boundaries = torch.nn.Parameter( @@ -302,10 +319,6 @@ def get_temperature(self): def set_temperature(self, temp: torch.Tensor): self.temperature.data = temp - def set_interchange_dim(self, interchange_dim): - """interchange dim is learned and can not be set""" - assert False - def set_intervention_boundaries(self, intervention_boundaries): self.intervention_boundaries = torch.nn.Parameter( torch.tensor([intervention_boundaries]), requires_grad=True @@ -352,7 +365,9 @@ def __init__(self, embed_dim, **kwargs): torch.tensor([100] * embed_dim), requires_grad=True ) self.temperature = torch.nn.Parameter(torch.tensor(50.0)) - self.embed_dim = embed_dim + # TODO: put them into a parent class + self.register_buffer('embed_dim', torch.tensor(embed_dim)) + self.register_buffer('interchange_dim', torch.tensor(embed_dim)) def get_boundary_parameters(self): return self.intervention_boundaries @@ -363,10 +378,6 @@ def get_temperature(self): def set_temperature(self, temp: torch.Tensor): self.temperature.data = temp - def set_interchange_dim(self, interchange_dim): - """interchange dim is learned and can not be set""" - assert False - def forward(self, base, source, subspaces=None): batch_size = base.shape[0] rotated_base = self.rotate_layer(base) @@ -396,10 +407,11 @@ class LowRankRotatedSpaceIntervention(TrainableIntervention, DistributedRepresen def __init__(self, embed_dim, **kwargs): super().__init__(**kwargs) - rotate_layer = LowRankRotateLayer(embed_dim, kwargs["intervenable_low_rank_dimension"]) + rotate_layer = LowRankRotateLayer(embed_dim, kwargs["low_rank_dimension"]) self.rotate_layer = torch.nn.utils.parametrizations.orthogonal(rotate_layer) - self.embed_dim = embed_dim - self.interchange_dim = None + # TODO: put them into a parent class + self.register_buffer('embed_dim', torch.tensor(embed_dim)) + self.register_buffer('interchange_dim', torch.tensor(embed_dim)) def forward(self, base, source, subspaces=None): rotated_base = self.rotate_layer(base) @@ -484,13 +496,11 @@ def __init__(self, embed_dim, **kwargs): self.pca_std = torch.nn.Parameter( torch.tensor(pca_std, dtype=torch.float32), requires_grad=False ) - self.interchange_dim = 10 # default to be 10. - self.embed_dim = embed_dim + # TODO: put them into a parent class + self.register_buffer('embed_dim', torch.tensor(embed_dim)) + self.register_buffer('interchange_dim', torch.tensor(kwargs["low_rank_dimension"])) self.trainble = False - def set_interchange_dim(self, interchange_dim): - self.interchange_dim = interchange_dim - def forward(self, base, source, subspaces=None): base_norm = (base - self.pca_mean) / self.pca_std source_norm = (source - self.pca_mean) / self.pca_std @@ -513,3 +523,24 @@ def forward(self, base, source, subspaces=None): def __str__(self): return f"PCARotatedSpaceIntervention(embed_dim={self.embed_dim})" + +class NoiseIntervention(ConstantSourceIntervention, LocalistRepresentationIntervention): + """Noise intervention""" + + def __init__(self, embed_dim, **kwargs): + super().__init__() + self.interchange_dim = embed_dim + rs = np.random.RandomState(1) + prng = lambda *shape: rs.randn(*shape) + noise_level = kwargs["noise_leve"] \ + if "noise_leve" in kwargs else 0.13462981581687927 + self.register_buffer('noise', torch.from_numpy( + prng(1, 4, embed_dim))) + self.register_buffer('noise_level', torch.tensor(noise_level)) + + def forward(self, base, source=None, subspaces=None): + base[..., : self.interchange_dim] += self.noise * self.noise_level + return base + + def __str__(self): + return f"NoiseIntervention(embed_dim={self.embed_dim})" \ No newline at end of file diff --git a/pyvene/models/modeling_utils.py b/pyvene/models/modeling_utils.py index 63c8a3bb..ef94e1ab 100644 --- a/pyvene/models/modeling_utils.py +++ b/pyvene/models/modeling_utils.py @@ -91,11 +91,11 @@ def getattr_for_torch_module(model, parameter_name): return current_module -def get_intervenable_dimension(model_type, model_config, representation) -> int: +def get_dimension(model_type, model_config, representation) -> int: """Based on the representation, get the aligning dimension size""" dimension_proposals = type_to_dimension_mapping[model_type][ - representation.intervenable_representation_type + representation.component ] for proposal in dimension_proposals: if "*" in proposal: @@ -143,20 +143,20 @@ def get_representation_dimension_by_type( assert False -def get_intervenable_module_hook(model, representation) -> nn.Module: +def get_module_hook(model, representation) -> nn.Module: """Render the intervening module with a hook""" type_info = type_to_module_mapping[get_internal_model_type(model)][ - representation.intervenable_representation_type + representation.component ] parameter_name = type_info[0] hook_type = type_info[1] - if "%s" in parameter_name and representation.intervenable_moe is None: + if "%s" in parameter_name and representation.moe_key is None: # we assume it is for the layer. - parameter_name = parameter_name % (representation.intervenable_layer) + parameter_name = parameter_name % (representation.layer) else: parameter_name = parameter_name % ( - int(representation.intervenable_layer), - int(representation.intervenable_moe) + int(representation.layer), + int(representation.moe_key) ) module = getattr_for_torch_module(model, parameter_name) module_hook = getattr(module, hook_type) @@ -165,7 +165,7 @@ def get_intervenable_module_hook(model, representation) -> nn.Module: def check_sorted_intervenables_by_topological_order( - model, intervenable_representations, sorted_intervenable_keys + model, representations, sorted_keys ): """Sort the intervention with topology in transformer arch""" if is_transformer(model): @@ -176,7 +176,7 @@ def check_sorted_intervenables_by_topological_order( TOPOLOGICAL_ORDER = CONST_GRU_TOPOLOGICAL_ORDER scores = {} - for k, _ in intervenable_representations.items(): + for k, _ in representations.items(): l = 100*(int(k.split(".")[1]) + 1) r = 10*TOPOLOGICAL_ORDER.index(k.split(".")[3]) # incoming order in case they are ordered @@ -184,7 +184,7 @@ def check_sorted_intervenables_by_topological_order( scores[k] = l + r + o sorted_keys_by_topological_order = sorted(scores.keys(), key=lambda x: scores[x]) - return sorted_intervenable_keys == sorted_keys_by_topological_order + return sorted_keys == sorted_keys_by_topological_order class HandlerList: @@ -215,14 +215,14 @@ def bsd_to_b_sd(tensor): return tensor.reshape(b, s * d) -def b_sd_to_bsd(tensor, d): +def b_sd_to_bsd(tensor, s): """ Convert a tensor of shape (b, s*d) back to (b, s, d). """ if tensor is None: return tensor b, sd = tensor.shape - s = sd // d + d = sd // s return tensor.reshape(b, s, d) @@ -236,21 +236,23 @@ def bhsd_to_bs_hd(tensor): return tensor.permute(0, 2, 1, 3).reshape(b, s, h * d) -def bs_hd_to_bhsd(tensor, d): +def bs_hd_to_bhsd(tensor, h): """ Convert a tensor of shape (b, s, h*d) back to (b, h, s, d). """ if tensor is None: return tensor b, s, hd = tensor.shape - h = hd // d + + d = hd // h + return tensor.reshape(b, s, h, d).permute(0, 2, 1, 3) -def gather_neurons(tensor_input, intervenable_unit, unit_locations_as_list): +def gather_neurons(tensor_input, unit, unit_locations_as_list): """Gather intervening neurons""" - if "." in intervenable_unit: + if "." in unit: unit_locations = ( torch.tensor(unit_locations_as_list[0], device=tensor_input.device), torch.tensor(unit_locations_as_list[1], device=tensor_input.device), @@ -260,7 +262,7 @@ def gather_neurons(tensor_input, intervenable_unit, unit_locations_as_list): unit_locations_as_list, device=tensor_input.device ) - if intervenable_unit in {"pos", "h"}: + if unit in {"pos", "h"}: tensor_output = torch.gather( tensor_input, 1, @@ -270,7 +272,7 @@ def gather_neurons(tensor_input, intervenable_unit, unit_locations_as_list): ) return tensor_output - elif intervenable_unit in {"h.pos"}: + elif unit in {"h.pos"}: # we assume unit_locations is a tuple head_unit_locations = unit_locations[0] pos_unit_locations = unit_locations[1] @@ -282,7 +284,7 @@ def gather_neurons(tensor_input, intervenable_unit, unit_locations_as_list): *head_unit_locations.shape, *(1,) * (len(tensor_input.shape) - 2) ).expand(-1, -1, *tensor_input.shape[2:]), ) # b, h, s, d - d = head_tensor_output.shape[-1] + d = head_tensor_output.shape[1] pos_tensor_input = bhsd_to_bs_hd(head_tensor_output) pos_tensor_output = torch.gather( pos_tensor_input, @@ -294,11 +296,11 @@ def gather_neurons(tensor_input, intervenable_unit, unit_locations_as_list): tensor_output = bs_hd_to_bhsd(pos_tensor_output, d) return tensor_output # b, num_unit (h), num_unit (pos), d - elif intervenable_unit in {"t"}: + elif unit in {"t"}: # for stateful models, intervention location is guarded outside gather return tensor_input - elif intervenable_unit in {"dim", "pos.dim", "h.dim", "h.pos.dim"}: - assert False, f"Not Implemented Gathering with Unit = {intervenable_unit}" + elif unit in {"dim", "pos.dim", "h.dim", "h.pos.dim"}: + assert False, f"Not Implemented Gathering with Unit = {unit}" def split_heads(tensor, num_heads, attn_head_size): @@ -311,11 +313,11 @@ def split_heads(tensor, num_heads, attn_head_size): def output_to_subcomponent( - output, intervenable_representation_type, model_type, model_config + output, representation_type, model_type, model_config ): if ( - "head" in intervenable_representation_type - or intervenable_representation_type + "head" in representation_type + or representation_type in {"query_output", "key_output", "value_output"} ): n_embd = get_representation_dimension_by_type( @@ -333,7 +335,7 @@ def output_to_subcomponent( hf_models.gpt2.modeling_gpt2.GPT2Model, hf_models.gpt2.modeling_gpt2.GPT2LMHeadModel, }: - if intervenable_representation_type in { + if representation_type in { "query_output", "key_output", "value_output", @@ -342,7 +344,7 @@ def output_to_subcomponent( "head_value_output", }: qkv = output.split(n_embd, dim=2) - if intervenable_representation_type in { + if representation_type in { "head_query_output", "head_key_output", "head_value_output", @@ -352,13 +354,13 @@ def output_to_subcomponent( split_heads(qkv[1], num_heads, attn_head_size), split_heads(qkv[2], num_heads, attn_head_size), ) # each with (batch, head, seq_length, head_features) - return qkv[CONST_QKV_INDICES[intervenable_representation_type]] - elif intervenable_representation_type in {"head_attention_value_output"}: + return qkv[CONST_QKV_INDICES[representation_type]] + elif representation_type in {"head_attention_value_output"}: return split_heads(output, num_heads, attn_head_size) else: return output elif model_type in {GRUModel, GRULMHeadModel, GRUForClassification}: - if intervenable_representation_type in { + if representation_type in { "reset_x2h_output", "new_x2h_output", "reset_h2h_output", @@ -369,15 +371,15 @@ def output_to_subcomponent( n_embd = get_representation_dimension_by_type( model_type, model_config, "cell_output" ) - start_index = CONST_RUN_INDICES[intervenable_representation_type] * n_embd + start_index = CONST_RUN_INDICES[representation_type] * n_embd end_index = ( - CONST_RUN_INDICES[intervenable_representation_type] + 1 + CONST_RUN_INDICES[representation_type] + 1 ) * n_embd return output[..., start_index:end_index] else: return output else: - if intervenable_representation_type in { + if representation_type in { "head_query_output", "head_key_output", "head_value_output", @@ -391,14 +393,14 @@ def output_to_subcomponent( def scatter_neurons( tensor_input, replacing_tensor_input, - intervenable_representation_type, - intervenable_unit, + representation_type, + unit, unit_locations_as_list, model_type, model_config, use_fast, ): - if "." in intervenable_unit: + if "." in unit: # extra dimension for multi-level intervention unit_locations = ( torch.tensor(unit_locations_as_list[0], device=tensor_input.device), @@ -410,8 +412,8 @@ def scatter_neurons( ) if ( - "head" in intervenable_representation_type - or intervenable_representation_type + "head" in representation_type + or representation_type in {"query_output", "key_output", "value_output"} ): n_embd = get_representation_dimension_by_type( @@ -430,18 +432,18 @@ def scatter_neurons( hf_models.gpt2.modeling_gpt2.GPT2LMHeadModel, }: if ( - "query" in intervenable_representation_type - or "key" in intervenable_representation_type - or "value" in intervenable_representation_type - ) and "attention" not in intervenable_representation_type: - start_index = CONST_QKV_INDICES[intervenable_representation_type] * n_embd + "query" in representation_type + or "key" in representation_type + or "value" in representation_type + ) and "attention" not in representation_type: + start_index = CONST_QKV_INDICES[representation_type] * n_embd end_index = ( - CONST_QKV_INDICES[intervenable_representation_type] + 1 + CONST_QKV_INDICES[representation_type] + 1 ) * n_embd else: start_index, end_index = None, None elif model_type in {GRUModel, GRULMHeadModel, GRUForClassification}: - if intervenable_representation_type in { + if representation_type in { "reset_x2h_output", "new_x2h_output", "reset_h2h_output", @@ -452,27 +454,27 @@ def scatter_neurons( n_embd = get_representation_dimension_by_type( model_type, model_config, "cell_output" ) - start_index = CONST_RUN_INDICES[intervenable_representation_type] * n_embd + start_index = CONST_RUN_INDICES[representation_type] * n_embd end_index = ( - CONST_RUN_INDICES[intervenable_representation_type] + 1 + CONST_RUN_INDICES[representation_type] + 1 ) * n_embd else: start_index, end_index = None, None else: start_index, end_index = None, None - if intervenable_unit == "t": + if unit == "t": # time series models, e.g., gru for batch_i, _ in enumerate(unit_locations): tensor_input[batch_i, start_index:end_index] = replacing_tensor_input[ batch_i ] else: - if "head" in intervenable_representation_type: + if "head" in representation_type: start_index = 0 if start_index is None else start_index end_index = 0 if end_index is None else end_index # head-based scattering - if intervenable_unit in {"h.pos"}: + if unit in {"h.pos"}: # we assume unit_locations is a tuple for head_batch_i, head_locations in enumerate(unit_locations[0]): for head_loc_i, head_loc in enumerate(head_locations): @@ -515,16 +517,17 @@ def do_intervention( ): """Do the actual intervention""" - d = base_representation.shape[-1] - + num_unit = base_representation.shape[1] + # flatten original_base_shape = base_representation.shape if len(original_base_shape) == 2 or \ - isinstance(intervention, LocalistRepresentationIntervention): + (isinstance(intervention, LocalistRepresentationIntervention)): # no pos dimension, e.g., gru base_representation_f = base_representation source_representation_f = source_representation elif len(original_base_shape) == 3: + # b, num_unit (pos), d -> b, num_unit*d base_representation_f = bsd_to_b_sd(base_representation) source_representation_f = bsd_to_b_sd(source_representation) @@ -534,20 +537,22 @@ def do_intervention( source_representation_f = bhsd_to_bs_hd(source_representation) else: assert False # what's going on? - + intervened_representation = intervention( base_representation_f, source_representation_f, subspaces ) - + + post_d = intervened_representation.shape[-1] + # unflatten if len(original_base_shape) == 2 or \ isinstance(intervention, LocalistRepresentationIntervention): # no pos dimension, e.g., gru pass elif len(original_base_shape) == 3: - intervened_representation = b_sd_to_bsd(intervened_representation, d) + intervened_representation = b_sd_to_bsd(intervened_representation, num_unit) elif len(original_base_shape) == 4: - intervened_representation = bs_hd_to_bhsd(intervened_representation, d) + intervened_representation = bs_hd_to_bhsd(intervened_representation, num_unit) else: assert False # what's going on? @@ -555,7 +560,7 @@ def do_intervention( def simple_output_to_subcomponent( - output, intervenable_representation_type, model_config + output, representation_type, model_config ): """This is an oversimplied version for demo""" return output @@ -564,8 +569,8 @@ def simple_output_to_subcomponent( def simple_scatter_intervention_output( original_output, intervened_representation, - intervenable_representation_type, - intervenable_unit, + representation_type, + unit, unit_locations, model_config, ): diff --git a/pyvene_101.ipynb b/pyvene_101.ipynb new file mode 100644 index 00000000..c1babeda --- /dev/null +++ b/pyvene_101.ipynb @@ -0,0 +1,1656 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ba6c7e19", + "metadata": {}, + "source": [ + "# Introduction to pyvene\n", + "This tutorial shows simple runnable code snippets of how to do different kinds of interventions on neural networks with pyvene." + ] + }, + { + "cell_type": "markdown", + "id": "9d6994fa", + "metadata": {}, + "source": [ + "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/stanfordnlp/pyvene/blob/main/pyvene/pyvene_101.ipynb)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "d123a2ba", + "metadata": {}, + "outputs": [], + "source": [ + "__author__ = \"Zhengxuan Wu\"\n", + "__version__ = \"01/20/2024\"" + ] + }, + { + "cell_type": "markdown", + "id": "26298448-91eb-4cad-85bf-ec5fef436e1d", + "metadata": {}, + "source": [ + " # Table of Contents \n", + "1. [Set-up](#Set-up) \n", + "1. [pyvene 101](#pyvene-101) \n", + " 1. [Zero-out Intervention](#Simple-zero-out-intervention) \n", + " 1. [Zero-out & Subspaces](#Zero-out-&-the-notion-of-subspaces)\n", + " 1. [Interchange Intervention](#Interchange-Interventions)\n", + " 1. [Intervention Config](#Intervention-Configuration)\n", + " 1. [Addition Intervention](#Addition-Intervention)\n", + " 1. [Trainable Intervention](#Trainable-Intervention)\n", + " 1. [Activation Collection](#Activation-Collection-with-Intervention)\n", + " 1. [Activation Collection with Other Intervention](#Activation-Collection-at-Downstream-of-a-Intervened-Model)\n", + " 1. [Intervene Single Neuron](#Intervene-on-a-Single-Neuron)\n", + " 1. [Add New Intervention Type](#Add-New-Intervention-Type)\n", + " 1. [Intervene on Recurrent NNs](#Recurrent-NNs-(Intervene-a-Specific-Timestep))\n", + " 1. [Intervene across Times with RNNs](#Recurrent-NNs-(Intervene-cross-Time))\n", + " 1. [Intervene on LM Generation](#LM-Generation)\n", + " 1. [Saving and Loading](#Saving-and-Loading)\n", + " 1. [Multi-Source Intervention (Parallel)](#Multi-Source-Interchange-Intervention-(Parallel-Mode))\n", + " 1. [Multi-Source Intervention (Serial)](#Multi-Source-Interchange-Intervention-(Serial-Mode))\n", + " 1. [Multi-Source Intervention with Subspaces (Parallel)](#Multi-Source-Interchange-Intervention-with-Subspaces-(Parallel-Mode))\n", + " 1. [Multi-Source Intervention with Subspaces (Serial)](#Multi-Source-Interchange-Intervention-with-Subspaces-(Serial-Mode))\n", + " 1. [Interchange Intervention Training](#Interchange-Intervention-Training-(IIT))\n", + "1. [pyvene 102](#pyvene-102)\n", + " 1. [Intervention Grouping](#Grouping)\n", + " 1. [Intervention Skipping](#Intervention-Skipping-in-Runtime)\n", + " 1. [Subspace Partition](#Subspace-Partition)\n", + " 1. [Intervention Linking](#Intervention-Linking)\n", + " 1. [Add New Model Type](#Add-New-Model-Type)\n", + " 1. [Path Patching](#Composing-Complex-Intervention-Schema:-Path-Patching)\n", + " 1. [Causal Tracing](#Composing-Complex-Intervention-Schema:-Causal-Tracing-in-15-lines)\n", + "1. [The End](#The-End)\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "0706e21b", + "metadata": {}, + "source": [ + "## Set-up" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e08304ea", + "metadata": {}, + "outputs": [], + "source": [ + "try:\n", + " # This library is our indicator that the required installs\n", + " # need to be done.\n", + " import pyvene\n", + "\n", + "except ModuleNotFoundError:\n", + " !pip install git+https://github.com/frankaging/pyvene.git" + ] + }, + { + "cell_type": "markdown", + "id": "0ede4f94", + "metadata": {}, + "source": [ + "## pyvene 101\n", + "Before we get started, here are a couple of core notations that are used in this library:\n", + "- **Base** example: this is the example we are intervening on, or, we are intervening on the computation graph of the model running the **Base** example.\n", + "- **Source** example or representations: this is the source of our intervention. We use **Source** to intervene on **Base**.\n", + "- **component**: this is the `nn.module` we are intervening in a pytorch-based NN.\n", + "- **unit**: this is the axis of our intervention. If we say our **unit** is `pos` (`position`), then you are intervening on each token position.\n", + "- **unit_locations**: this list gives you the percisely location of your intervention. It is the locations of the unit of analysis you are specifying. For instance, if your `unit` is `pos`, and your `unit_location` is 3, then it means you are intervening on the third token.\n", + "\n", + "### Simple zero-out intervention" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "a82664f9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "# define the component to zero-out\n", + "pv_gpt2 = pv.IntervenableModel({\n", + " \"layer\": 0, \"component\": \"mlp_output\",\n", + " \"source_representation\": torch.zeros(gpt2.config.n_embd)\n", + "}, model=gpt2)\n", + "# run the intervened forward pass\n", + "intervened_outputs = pv_gpt2(\n", + " base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\"), \n", + " # we define the intervening token dynamically\n", + " unit_locations={\"base\": 3}\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "39071858", + "metadata": {}, + "source": [ + "### Zero-out & the notion of subspaces\n", + "The notion of subspace means the actual dimensions you are intervening. If we have a representation in a size of 512, the first 128 activation values are its subspace activations." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "b7896c3b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n", + "Directory './tmp/' already exists.\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "# built-in helper to get a HuggingFace model\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "# create with dict-based config\n", + "pv_config = pv.IntervenableConfig({\n", + " \"layer\": 0, \"component\": \"mlp_output\"})\n", + "#initialize model\n", + "pv_gpt2 = pv.IntervenableModel(pv_config, model=gpt2)\n", + "# run an intervened forward pass\n", + "intervened_outputs = pv_gpt2(\n", + " # the intervening base input\n", + " base=tokenizer(\"The capital of Spain is\", return_tensors=\"pt\"), \n", + " # the location to intervene at (3rd token)\n", + " unit_locations={\"base\": 3},\n", + " # the individual dimensions targetted\n", + " subspaces=[10,11,12],\n", + " source_representations=torch.zeros(gpt2.config.n_embd)\n", + ")\n", + "# sharing\n", + "pv_gpt2.save(\"./tmp/\")" + ] + }, + { + "cell_type": "markdown", + "id": "1410904d", + "metadata": {}, + "source": [ + "### Interchange Interventions\n", + "Instead of a static vector, we can intervene the model with activations sampled from a different forward run. We call this interchange intervention, where intervention happens between two examples and we are interchanging activations between them." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "9691c7d8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "# built-in helper to get a HuggingFace model\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "# create with dict-based config\n", + "pv_config = pv.IntervenableConfig({\n", + " \"layer\": 0,\n", + " \"component\": \"mlp_output\"},\n", + " intervention_types=pv.VanillaIntervention\n", + ")\n", + "#initialize model\n", + "pv_gpt2 = pv.IntervenableModel(\n", + " pv_config, model=gpt2)\n", + "# run an interchange intervention \n", + "intervened_outputs = pv_gpt2(\n", + " # the base input\n", + " base=tokenizer(\n", + " \"The capital of Spain is\", \n", + " return_tensors = \"pt\"), \n", + " # the source input\n", + " sources=tokenizer(\n", + " \"The capital of Italy is\", \n", + " return_tensors = \"pt\"), \n", + " # the location to intervene at (3rd token)\n", + " unit_locations={\"sources->base\": 3},\n", + " # the individual dimensions targeted\n", + " subspaces=[10,11,12]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "c890fda4", + "metadata": {}, + "source": [ + "### Intervention Configuration\n", + "You can also initialize the config without the lazy dictionary passing by enabling more options, e.g., the mode of these interventions are executed." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "4faa3e41", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n", + "IntervenableConfig\n", + "{\n", + " \"model_type\": \"None\",\n", + " \"representations\": [\n", + " {\n", + " \"layer\": 0,\n", + " \"component\": \"mlp_output\",\n", + " \"unit\": \"pos\",\n", + " \"max_number_of_units\": 1,\n", + " \"low_rank_dimension\": null,\n", + " \"intervention_type\": null,\n", + " \"subspace_partition\": null,\n", + " \"group_key\": null,\n", + " \"intervention_link_key\": null,\n", + " \"moe_key\": null,\n", + " \"source_representation\": \"PLACEHOLDER\",\n", + " \"hidden_source_representation\": null\n", + " },\n", + " {\n", + " \"layer\": 1,\n", + " \"component\": \"mlp_output\",\n", + " \"unit\": \"pos\",\n", + " \"max_number_of_units\": 1,\n", + " \"low_rank_dimension\": null,\n", + " \"intervention_type\": null,\n", + " \"subspace_partition\": null,\n", + " \"group_key\": null,\n", + " \"intervention_link_key\": null,\n", + " \"moe_key\": null,\n", + " \"source_representation\": \"PLACEHOLDER\",\n", + " \"hidden_source_representation\": null\n", + " },\n", + " {\n", + " \"layer\": 2,\n", + " \"component\": \"mlp_output\",\n", + " \"unit\": \"pos\",\n", + " \"max_number_of_units\": 1,\n", + " \"low_rank_dimension\": null,\n", + " \"intervention_type\": null,\n", + " \"subspace_partition\": null,\n", + " \"group_key\": null,\n", + " \"intervention_link_key\": null,\n", + " \"moe_key\": null,\n", + " \"source_representation\": \"PLACEHOLDER\",\n", + " \"hidden_source_representation\": null\n", + " },\n", + " {\n", + " \"layer\": 3,\n", + " \"component\": \"mlp_output\",\n", + " \"unit\": \"pos\",\n", + " \"max_number_of_units\": 1,\n", + " \"low_rank_dimension\": null,\n", + " \"intervention_type\": null,\n", + " \"subspace_partition\": null,\n", + " \"group_key\": null,\n", + " \"intervention_link_key\": null,\n", + " \"moe_key\": null,\n", + " \"source_representation\": \"PLACEHOLDER\",\n", + " \"hidden_source_representation\": null\n", + " }\n", + " ],\n", + " \"intervention_types\": \"\",\n", + " \"mode\": \"parallel\",\n", + " \"interventions\": [\n", + " \"None\"\n", + " ],\n", + " \"sorted_keys\": \"None\",\n", + " \"intervention_dimensions\": \"None\"\n", + "}\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "# standalone configuration object\n", + "config = pv.IntervenableConfig([\n", + " {\n", + " \"layer\": _,\n", + " \"component\": \"mlp_output\",\n", + " \"source_representation\": torch.zeros(\n", + " gpt2.config.n_embd)\n", + " } for _ in range(4)],\n", + " mode=\"parallel\"\n", + ")\n", + "# this object is serializable\n", + "print(config)\n", + "pv_gpt2 = pv.IntervenableModel(config, model=gpt2)\n", + "\n", + "intervened_outputs = pv_gpt2(\n", + " base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\"), \n", + " unit_locations={\"base\": 3}\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "9c5b2270", + "metadata": {}, + "source": [ + "### Addition Intervention\n", + "Activation swap is one kind of interventions we can perform. Here is another simple one: `pv.AdditionIntervention`, which adds the sampled representation into the **Base** run." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "a40f5989", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "config = pv.IntervenableConfig({\n", + " \"layer\": 0,\n", + " \"component\": \"mlp_input\"},\n", + " pv.AdditionIntervention\n", + ")\n", + "\n", + "pv_gpt2 = pv.IntervenableModel(config, model=gpt2)\n", + "\n", + "intervened_outputs = pv_gpt2(\n", + " base = tokenizer(\n", + " \"The Space Needle is in downtown\", \n", + " return_tensors=\"pt\"\n", + " ), \n", + " unit_locations={\"base\": [[[0, 1, 2, 3]]]},\n", + " source_representations = torch.rand(gpt2.config.n_embd)\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "099ddf77", + "metadata": {}, + "source": [ + "### Trainable Intervention\n", + "Interventions can contain trainable parameters, and hook-up with the model to receive gradients end-to-end. They are often useful in searching for an particular interpretation of the representation.\n", + "\n", + "The following example does a single step gradient calculation to push the model to generate `Rome` after the intervention. If we can train such intervention at scale with low loss, it means you have a causal grab onto your model. In terms of interpretability, that means, somehow you find a representation (not the original one since its trained) that maps onto the `capital` output." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "7f058ecd", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "das_config = pv.IntervenableConfig({\n", + " \"layer\": 8,\n", + " \"component\": \"block_output\",\n", + " \"low_rank_dimension\": 1},\n", + " # this is a trainable low-rank rotation\n", + " pv.LowRankRotatedSpaceIntervention\n", + ")\n", + "\n", + "das_gpt2 = pv.IntervenableModel(das_config, model=gpt2)\n", + "\n", + "last_hidden_state = das_gpt2(\n", + " base = tokenizer(\n", + " \"The capital of Spain is\", \n", + " return_tensors=\"pt\"\n", + " ), \n", + " sources = tokenizer(\n", + " \"The capital of Italy is\", \n", + " return_tensors=\"pt\"\n", + " ), \n", + " unit_locations={\"sources->base\": 3}\n", + ")[-1].last_hidden_state[:,-1]\n", + "\n", + "# golden counterfacutual label as Rome\n", + "label = tokenizer.encode(\n", + " \" Rome\", return_tensors=\"pt\")\n", + "logits = torch.matmul(\n", + " last_hidden_state, gpt2.wte.weight.t())\n", + "\n", + "m = torch.nn.CrossEntropyLoss()\n", + "loss = m(logits, label.view(-1))\n", + "loss.backward()" + ] + }, + { + "cell_type": "markdown", + "id": "a8fd2b8e", + "metadata": {}, + "source": [ + "### Activation Collection with Intervention\n", + "You can also collect activations with our provided `pv.CollectIntervention` intervention. More importantly, this can be used interchangably with other interventions. You can collect something from an intervened model." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "6e6bd585", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "config = pv.IntervenableConfig({\n", + " \"layer\": 10,\n", + " \"component\": \"block_output\",\n", + " \"intervention_type\": pv.CollectIntervention}\n", + ")\n", + "\n", + "pv_gpt2 = pv.IntervenableModel(\n", + " config, model=gpt2)\n", + "\n", + "collected_activations = pv_gpt2(\n", + " base = tokenizer(\n", + " \"The capital of Spain is\", \n", + " return_tensors=\"pt\"\n", + " ), unit_locations={\"sources->base\": 3}\n", + ")[0][-1]" + ] + }, + { + "cell_type": "markdown", + "id": "f7b0d0c6", + "metadata": {}, + "source": [ + "### Activation Collection at Downstream of a Intervened Model" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "adcfcb05", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "config = pv.IntervenableConfig({\n", + " \"layer\": 8,\n", + " \"component\": \"block_output\",\n", + " \"intervention_type\": pv.VanillaIntervention}\n", + ")\n", + "\n", + "config.add_intervention({\n", + " \"layer\": 10,\n", + " \"component\": \"block_output\",\n", + " \"intervention_type\": pv.CollectIntervention})\n", + "\n", + "pv_gpt2 = pv.IntervenableModel(\n", + " config, model=gpt2)\n", + "\n", + "collected_activations = pv_gpt2(\n", + " base = tokenizer(\n", + " \"The capital of Spain is\", \n", + " return_tensors=\"pt\"\n", + " ), \n", + " sources = [tokenizer(\n", + " \"The capital of Italy is\", \n", + " return_tensors=\"pt\"\n", + " ), None], unit_locations={\"sources->base\": 3}\n", + ")[0][-1]" + ] + }, + { + "cell_type": "markdown", + "id": "a9e6e4d9", + "metadata": {}, + "source": [ + "### Intervene on a Single Neuron\n", + "We want to provide a good user interface so that interventions can be done easily by people with less pytorch or programming experience. Meanwhile, we also want to be flexible and provide the depth of control required for highly specific tasks. Here is an example where we intervene on a specific neuron at a specific head of a layer in a model." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "d25b6401", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "config = pv.IntervenableConfig({\n", + " \"layer\": 8,\n", + " \"component\": \"head_attention_value_output\",\n", + " \"unit\": \"h.pos\",\n", + " \"intervention_type\": pv.CollectIntervention}\n", + ")\n", + "\n", + "pv_gpt2 = pv.IntervenableModel(\n", + " config, model=gpt2)\n", + "\n", + "collected_activations = pv_gpt2(\n", + " base = tokenizer(\n", + " \"The capital of Spain is\", \n", + " return_tensors=\"pt\"\n", + " ), \n", + " unit_locations={\n", + " # GET_LOC is a helper.\n", + " # (3,3) means head 3 position 3\n", + " \"base\": pv.GET_LOC((3,3))\n", + " },\n", + " # the notion of subspace is used to target neuron 0.\n", + " subspaces=[0]\n", + ")[0][-1]" + ] + }, + { + "cell_type": "markdown", + "id": "5692bc15", + "metadata": {}, + "source": [ + "### Add New Intervention Type" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "1597221a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "class MultiplierIntervention(\n", + " pv.ConstantSourceIntervention):\n", + " def __init__(self, **kwargs):\n", + " super().__init__()\n", + " def forward(\n", + " self, base, source=None, subspaces=None):\n", + " return base * 99.0\n", + "# run with new intervention type\n", + "pv_gpt2 = pv.IntervenableModel({\n", + " \"intervention_type\": MultiplierIntervention}, \n", + " model=gpt2)\n", + "intervened_outputs = pv_gpt2(\n", + " base = tokenizer(\"The capital of Spain is\", \n", + " return_tensors=\"pt\"), \n", + " unit_locations={\"base\": 3})" + ] + }, + { + "cell_type": "markdown", + "id": "079050f6", + "metadata": {}, + "source": [ + "### Recurrent NNs (Intervene a Specific Timestep)\n", + "Existing intervention libraries focus on Transformer models. They often lack of supports for GRUs, LSTMs or any state-space model. The fundemental problem is in the hook mechanism provided by PyTorch. Hook is attached to a module before runtime. Models like GRUs will lead to undesired callback from the hook as there is no notion of state or time of the hook. \n", + "\n", + "We make our hook stateful, so you can intervene on recurrent NNs like GRUs. This notion of time will become useful when intervening on Transformers yet want to unroll the causal effect during generation as well." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "7a53347a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, _, gru = pv.create_gru_classifier(\n", + " pv.GRUConfig(h_dim=32))\n", + "\n", + "pv_gru = pv.IntervenableModel({\n", + " \"component\": \"cell_output\",\n", + " \"unit\": \"t\", \n", + " \"intervention_type\": pv.ZeroIntervention},\n", + " model=gru)\n", + "\n", + "rand_t = torch.rand(1,10, gru.config.h_dim)\n", + "\n", + "intervened_outputs = pv_gru(\n", + " base = {\"inputs_embeds\": rand_t}, \n", + " unit_locations={\"base\": 3})" + ] + }, + { + "cell_type": "markdown", + "id": "031dd5de", + "metadata": {}, + "source": [ + "### Recurrent NNs (Intervene cross Time)" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "id": "b48166c0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "# built-in helper to get a GRU\n", + "_, _, gru = pv.create_gru_classifier(\n", + " pv.GRUConfig(h_dim=32))\n", + "# wrap it with config\n", + "pv_gru = pv.IntervenableModel({\n", + " \"component\": \"cell_output\",\n", + " # intervening on time\n", + " \"unit\": \"t\", \n", + " \"intervention_type\": pv.ZeroIntervention},\n", + " model=gru)\n", + "# run an intervened forward pass\n", + "rand_b = torch.rand(1,10, gru.config.h_dim)\n", + "rand_s = torch.rand(1,10, gru.config.h_dim)\n", + "intervened_outputs = pv_gru(\n", + " base = {\"inputs_embeds\": rand_b}, \n", + " sources = [{\"inputs_embeds\": rand_s}], \n", + " # intervening time step\n", + " unit_locations={\"sources->base\": (6, 3)})" + ] + }, + { + "cell_type": "markdown", + "id": "121366c1", + "metadata": {}, + "source": [ + "### LMs Generation\n", + "You can also intervene the generation call of LMs. Here is a simple example where we try to add a vector into the MLP output when the model decodes." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f718e2d6", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.\n", + "Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.\n", + "Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Once upon a time there was a little girl named Lucy. She was three years old and loved to explore. One day, Lucy was walking in the park when she saw a big, red balloon. She was so excited and wanted to play with it.\n", + "\n", + "But then, a big, mean man came and said, \"That balloon is mine! You can't have it!\" Lucy was very sad and started to cry.\n", + "\n", + "The man said, \"I'm sorry, but I need the balloon for my work. You can have it if you want.\"\n", + "\n", + "Lucy was so happy and said, \"Yes please!\" She took the balloon and ran away.\n", + "\n", + "But then, the man said, \"Wait! I have an idea. Let's make a deal. If you can guess what I'm going to give you, then you can have the balloon.\"\n", + "\n", + "Lucy thought for a moment and then said, \"I guess I'll have to get the balloon.\"\n", + "\n", + "The man smiled and said, \"That's a good guess! Here you go.\"\n", + "\n", + "Lucy was so happy and thanked the man. She hugged the balloon and ran off to show her mom.\n", + "\n", + "The end.\n", + "\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "# built-in helper to get tinystore\n", + "_, tokenizer, tinystory = pv.create_gpt_neo()\n", + "emb_happy = tinystory.transformer.wte(\n", + " torch.tensor(14628)) \n", + "\n", + "pv_tinystory = pv.IntervenableModel([{\n", + " \"layer\": l,\n", + " \"component\": \"mlp_output\",\n", + " \"intervention_type\": pv.AdditionIntervention\n", + " } for l in range(tinystory.config.num_layers)],\n", + " model=tinystory\n", + ")\n", + "# prompt and generate\n", + "prompt = tokenizer(\n", + " \"Once upon a time there was\", return_tensors=\"pt\")\n", + "_, intervened_story = pv_tinystory.generate(\n", + " tokenizer(\"Once upon a time there was\", return_tensors=\"pt\"),\n", + " source_representations=emb_happy*0.3, max_length=256\n", + ")\n", + "\n", + "print(tokenizer.decode(\n", + " intervened_story[0], \n", + " skip_special_tokens=True\n", + "))" + ] + }, + { + "cell_type": "markdown", + "id": "cb539f4b", + "metadata": {}, + "source": [ + "### Saving and Loading\n", + "This is one of the benefits of program abstraction. We abstract out the intervention and its schema, so we have a user friendly interface. Furthermore, it allows us to have a serializable configuration file that tells everything about your configuration.\n", + "\n", + "You can then save, share and load interventions easily. Note that you still need your access to the data, if you need to sample **Source** representations from other examples. But we think this is doable via a separate HuggingFace datasets upload. In the future, there could be an option of coupling this configuration with a specific remote dataset as well." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "272f3773", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n", + "Directory './tmp/' already exists.\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "# run with new intervention type\n", + "pv_gpt2 = pv.IntervenableModel({\n", + " \"intervention_type\": pv.ZeroIntervention}, \n", + " model=gpt2)\n", + "\n", + "pv_gpt2.save(\"./tmp/\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "50b894b4", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:root:The key is provided in the config. Assuming this is loaded from a pretrained module.\n", + "WARNING:root:Loading trainable intervention from intkey_layer.0.repr.block_output.unit.pos.nunit.1#0.bin.\n" + ] + } + ], + "source": [ + "pv_gpt2 = pv.IntervenableModel.load(\n", + " \"./tmp/\",\n", + " model=gpt2)" + ] + }, + { + "cell_type": "markdown", + "id": "b2d07ca8", + "metadata": {}, + "source": [ + "### Multi-Source Interchange Intervention (Parallel Mode)\n", + "\n", + "What is multi-source? In the examples above, interventions are at most across two examples. We support interventions across many examples. You can sample representations from two inputs, and plut them into a single **Base**." + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "847410a8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n", + "_the 0.07233363389968872\n", + "_a 0.05731499195098877\n", + "_not 0.04443885385990143\n", + "_Italian 0.033642884343862534\n", + "_often 0.024385808035731316\n", + "_called 0.022171705961227417\n", + "_known 0.017808808013796806\n", + "_that 0.016059240326285362\n", + "_\" 0.012973357923328876\n", + "_an 0.012878881767392159\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "parallel_config = pv.IntervenableConfig([\n", + " {\"layer\": 3, \"component\": \"block_output\"},\n", + " {\"layer\": 3, \"component\": \"block_output\"}],\n", + " # intervene on base at the same time\n", + " mode=\"parallel\")\n", + "parallel_gpt2 = pv.IntervenableModel(\n", + " parallel_config, model=gpt2)\n", + "base = tokenizer(\n", + " \"The capital of Spain is\", \n", + " return_tensors=\"pt\")\n", + "sources = [\n", + " tokenizer(\"The language of Spain is\", \n", + " return_tensors=\"pt\"),\n", + " tokenizer(\"The capital of Italy is\", \n", + " return_tensors=\"pt\")]\n", + "intervened_outputs = parallel_gpt2(\n", + " base, sources,\n", + " {\"sources->base\": (\n", + " # each list has a dimensionality of\n", + " # [num_intervention, batch, num_unit]\n", + " [[[1]],[[3]]], [[[1]],[[3]]])}\n", + ")\n", + "\n", + "distrib = pv.embed_to_distrib(\n", + " gpt2, intervened_outputs[1].last_hidden_state, logits=False)\n", + "pv.top_vals(tokenizer, distrib[0][-1], n=10)" + ] + }, + { + "cell_type": "markdown", + "id": "2f93402c", + "metadata": {}, + "source": [ + "### Multi-Source Interchange Intervention (Serial Mode)\n", + "\n", + "Or you can do them sequentially, where you intervene among your **Source** examples, and get some intermediate states before merging the activations into the **Base** run." + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "id": "5e5752dc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "_the 0.06737838685512543\n", + "_a 0.059834375977516174\n", + "_not 0.04629501700401306\n", + "_Italian 0.03623826056718826\n", + "_often 0.021700192242860794\n", + "_called 0.01840786263346672\n", + "_that 0.0157712884247303\n", + "_known 0.014391838572919369\n", + "_an 0.013535155914723873\n", + "_very 0.013022392988204956\n" + ] + } + ], + "source": [ + "config = pv.IntervenableConfig([\n", + " {\"layer\": 3, \"component\": \"block_output\"},\n", + " {\"layer\": 10, \"component\": \"block_output\"}],\n", + " # intervene on base one after another\n", + " mode=\"serial\")\n", + "pv_gpt2 = pv.IntervenableModel(\n", + " config, model=gpt2)\n", + "base = tokenizer(\n", + " \"The capital of Spain is\", \n", + " return_tensors=\"pt\")\n", + "sources = [\n", + " tokenizer(\"The language of Spain is\", \n", + " return_tensors=\"pt\"),\n", + " tokenizer(\"The capital of Italy is\", \n", + " return_tensors=\"pt\")]\n", + "\n", + "intervened_outputs = pv_gpt2(\n", + " base, sources,\n", + " # intervene in serial at two positions\n", + " {\"source_0->source_1\": 1, \n", + " \"source_1->base\" : 4})\n", + "\n", + "distrib = pv.embed_to_distrib(\n", + " gpt2, intervened_outputs[1].last_hidden_state, logits=False)\n", + "pv.top_vals(tokenizer, distrib[0][-1], n=10)" + ] + }, + { + "cell_type": "markdown", + "id": "28621880", + "metadata": {}, + "source": [ + "### Multi-Source Interchange Intervention with Subspaces (Parallel Mode)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "773aba2e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "config = pv.IntervenableConfig([\n", + " {\"layer\": 0, \"component\": \"block_output\",\n", + " \"subspace_partition\": \n", + " [[0, 128], [128, 256]]}]*2,\n", + " intervention_types=pv.VanillaIntervention,\n", + " # act in parallel\n", + " mode=\"parallel\"\n", + ")\n", + "pv_gpt2 = pv.IntervenableModel(config, model=gpt2)\n", + "\n", + "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", + "sources = [tokenizer(\"The capital of Italy is\", return_tensors=\"pt\"),\n", + " tokenizer(\"The capital of China is\", return_tensors=\"pt\")]\n", + "\n", + "intervened_outputs = pv_gpt2(\n", + " base, sources,\n", + " # on same position\n", + " {\"sources->base\": 4},\n", + " # on different subspaces\n", + " subspaces=[[[0]], [[1]]],\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "7223603f", + "metadata": {}, + "source": [ + "### Multi-Source Interchange Intervention with Subspaces (Serial Mode)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "305e0607", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "config = pv.IntervenableConfig([\n", + " {\"layer\": 0, \"component\": \"block_output\",\n", + " \"subspace_partition\": [[0, 128], [128, 256]]},\n", + " {\"layer\": 2, \"component\": \"block_output\",\n", + " \"subspace_partition\": [[0, 128], [128, 256]]}],\n", + " intervention_types=pv.VanillaIntervention,\n", + " # act in parallel\n", + " mode=\"serial\"\n", + ")\n", + "pv_gpt2 = pv.IntervenableModel(config, model=gpt2)\n", + "\n", + "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", + "sources = [tokenizer(\"The capital of Italy is\", return_tensors=\"pt\"),\n", + " tokenizer(\"The capital of China is\", return_tensors=\"pt\")]\n", + "\n", + "intervened_outputs = pv_gpt2(\n", + " base, sources,\n", + " # serialized intervention\n", + " # order is based on sources list\n", + " {\"source_0->source_1\": 3, \"source_1->base\": 4},\n", + " # on different subspaces\n", + " subspaces=[[[0]], [[1]]],\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "4b5fcb37", + "metadata": {}, + "source": [ + "### Interchange Intervention Training (IIT)\n", + "Interchange intervention training (IIT) is a technique of inducing causal structures into neural models. This library naturally supports this. By training IIT, you can simply turn the gradient on for the wrapping model. In this way, your model can be trained with your interventional signals." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "8c7dde89", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "pv_gpt2 = pv.IntervenableModel({\n", + " \"layer\": 8}, \n", + " model=gpt2\n", + ")\n", + "\n", + "pv_gpt2.enable_model_gradients()\n", + "# run counterfactual forward as usual" + ] + }, + { + "cell_type": "markdown", + "id": "b8c7ccad", + "metadata": {}, + "source": [ + "## pyvene 102\n", + "Now, you are pretty familiar with pyvene basic APIs. There are more to come. We support all sorts of weird interventions, and we encapsulate them as objects so that, even they are super weird (e.g., nested, multiple locations, different types), you can share them easily with others. BTW, if the intervention is trainable, the artifacts will be saved and shared as well.\n", + "\n", + "With that, here are a couple of additional APIs.\n", + "\n", + "### Grouping\n", + "\n", + "You can group interventions together so that they always receive the same input when you want to use them to get activations at different places. Here is an example, where you are taking in the same **Source** example, you fetch activations twice: once in position 3 and layer 0, once in position 4 and layer 2. You don't have to pass in another dummy **Source**." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "84afd62c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "config = pv.IntervenableConfig([\n", + " {\"layer\": 0, \"component\": \"block_output\", \"group_key\": 0},\n", + " {\"layer\": 2, \"component\": \"block_output\", \"group_key\": 0}],\n", + " intervention_types=pv.VanillaIntervention,\n", + ")\n", + "\n", + "pv_gpt2 = pv.IntervenableModel(config, model=gpt2)\n", + "\n", + "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", + "sources = [tokenizer(\"The capital of Italy is\", return_tensors=\"pt\")]\n", + "intervened_outputs = pv_gpt2(\n", + " base, sources, \n", + " {\"sources->base\": ([\n", + " [[3]], [[4]] # these two are for two interventions\n", + " ], [ # source position 3 into base position 4\n", + " [[3]], [[4]] \n", + " ])}\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "34aeb892", + "metadata": {}, + "source": [ + "### Intervention Skipping in Runtime\n", + "You may configure a lot of interventions, but during training, not every example will have to use all of them. So, you can skip interventions for different examples differently." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "61cd8fc9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n", + "True True\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "config = pv.IntervenableConfig([\n", + " # these are equivalent interventions\n", + " # we create them on purpose\n", + " {\"layer\": 0, \"component\": \"block_output\"},\n", + " {\"layer\": 0, \"component\": \"block_output\"},\n", + " {\"layer\": 0, \"component\": \"block_output\"}],\n", + " intervention_types=pv.VanillaIntervention,\n", + ")\n", + "pv_gpt2 = pv.IntervenableModel(config, model=gpt2)\n", + "\n", + "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", + "source = tokenizer(\"The capital of Italy is\", return_tensors=\"pt\")\n", + "# skipping 1, 2 and 3\n", + "_, pv_out1 = pv_gpt2(base, [None, None, source],\n", + " {\"sources->base\": ([None, None, [[4]]], [None, None, [[4]]])})\n", + "_, pv_out2 = pv_gpt2(base, [None, source, None],\n", + " {\"sources->base\": ([None, [[4]], None], [None, [[4]], None])})\n", + "_, pv_out3 = pv_gpt2(base, [source, None, None],\n", + " {\"sources->base\": ([[[4]], None, None], [[[4]], None, None])})\n", + "# should have the same results\n", + "print(\n", + " torch.equal(pv_out1.last_hidden_state, pv_out2.last_hidden_state),\n", + " torch.equal(pv_out2.last_hidden_state, pv_out3.last_hidden_state)\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "d9df6acd", + "metadata": {}, + "source": [ + "### Subspace Partition\n", + "You can partition your subspace before hand. If you don't, the library assumes you each neuron is in its own subspace. In this example, you partition your subspace into two continous chunk, `[0, 128), [128,256)`, which means all the neurons from index 0 upto 127 are along to partition 1. During runtime, you can intervene on all the neurons in the same parition together." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "3a66bbeb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "config = pv.IntervenableConfig([\n", + " # they are linked to manipulate the same representation\n", + " # but in different subspaces\n", + " {\"layer\": 0, \"component\": \"block_output\",\n", + " # subspaces can be partitioned into continuous chunks\n", + " # [i, j] are the boundary indices\n", + " \"subspace_partition\": [[0, 128], [128, 256]]}],\n", + " intervention_types=pv.VanillaIntervention,\n", + ")\n", + "pv_gpt2 = pv.IntervenableModel(config, model=gpt2)\n", + "\n", + "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", + "source = tokenizer(\"The capital of Italy is\", return_tensors=\"pt\")\n", + "\n", + "# using intervention skipping for subspace\n", + "intervened_outputs = pv_gpt2(\n", + " base, [source],\n", + " {\"sources->base\": 4},\n", + " # intervene only only dimensions from 128 to 256\n", + " subspaces=1,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "0fdde257", + "metadata": {}, + "source": [ + "### Intervention Linking\n", + "Interventions can be linked to share weights and share subspaces. Here is an example of how to link interventions together. If interventions are trainable, then their weights are tied as well.\n", + "\n", + "Why this is useful? it is because sometimes, you may want to intervene on different subspaces differently. Say you have a representation in a size of 512, and you hypothesize the first half represents A, and the second half represents B, you can then use the subspace intervention to test it out. With trainable interventions, you can also optimize your interventions on the same representation yet with different subspaces." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "eec19da9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n", + "True\n", + "True\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "config = pv.IntervenableConfig([\n", + " # they are linked to manipulate the same representation\n", + " # but in different subspaces\n", + " {\"layer\": 0, \"component\": \"block_output\", \n", + " \"subspace_partition\": [[0, 128], [128, 256]], \"intervention_link_key\": 0},\n", + " {\"layer\": 0, \"component\": \"block_output\",\n", + " \"subspace_partition\": [[0, 128], [128, 256]], \"intervention_link_key\": 0}],\n", + " intervention_types=pv.VanillaIntervention,\n", + ")\n", + "pv_gpt2 = pv.IntervenableModel(config, model=gpt2)\n", + "\n", + "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", + "source = tokenizer(\"The capital of Italy is\", return_tensors=\"pt\")\n", + "\n", + "# using intervention skipping for subspace\n", + "_, pv_out1 = pv_gpt2(\n", + " base, [None, source],\n", + " # 4 means token position 4\n", + " {\"sources->base\": ([None, [[4]]], [None, [[4]]])},\n", + " # 1 means the second partition in the config\n", + " subspaces=[None, [[1]]],\n", + ")\n", + "_, pv_out2 = pv_gpt2(\n", + " base,\n", + " [source, None],\n", + " {\"sources->base\": ([[[4]], None], [[[4]], None])},\n", + " subspaces=[[[1]], None],\n", + ")\n", + "print(torch.equal(pv_out1.last_hidden_state, pv_out2.last_hidden_state))\n", + "\n", + "# subspaces provide a list of index and they can be in any order\n", + "_, pv_out3 = pv_gpt2(\n", + " base,\n", + " [source, source],\n", + " {\"sources->base\": ([[[4]], [[4]]], [[[4]], [[4]]])},\n", + " subspaces=[[[0]], [[1]]],\n", + ")\n", + "_, pv_out4 = pv_gpt2(\n", + " base,\n", + " [source, source],\n", + " {\"sources->base\": ([[[4]], [[4]]], [[[4]], [[4]]])},\n", + " subspaces=[[[1]], [[0]]],\n", + ")\n", + "print(torch.equal(pv_out3.last_hidden_state, pv_out4.last_hidden_state))" + ] + }, + { + "cell_type": "markdown", + "id": "ef5b7a3e", + "metadata": {}, + "source": [ + "### Add New Model Type" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "acce6e8f", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.\n" + ] + } + ], + "source": [ + "import torch\n", + "import pyvene as pv\n", + "\n", + "# get a flan-t5 from HuggingFace\n", + "from transformers import T5ForConditionalGeneration, T5Tokenizer, T5Config\n", + "config = T5Config.from_pretrained(\"google/flan-t5-small\")\n", + "tokenizer = T5Tokenizer.from_pretrained(\"google/flan-t5-small\")\n", + "t5 = T5ForConditionalGeneration.from_pretrained(\n", + " \"google/flan-t5-small\", config=config\n", + ")\n", + "\n", + "# config the intervention mapping with pv global vars\n", + "\"\"\"Only define for the block output here for simplicity\"\"\"\n", + "pv.type_to_module_mapping[type(t5)] = {\n", + " \"mlp_output\": (\"encoder.block[%s].layer[1]\", \n", + " pv.models.constants.CONST_OUTPUT_HOOK),\n", + " \"attention_input\": (\"encoder.block[%s].layer[0]\", \n", + " pv.models.constants.CONST_OUTPUT_HOOK),\n", + "}\n", + "pv.type_to_dimension_mapping[type(t5)] = {\n", + " \"mlp_output\": (\"d_model\",),\n", + " \"attention_input\": (\"d_model\",),\n", + " \"block_output\": (\"d_model\",),\n", + " \"head_attention_value_output\": (\"d_model/num_heads\",),\n", + "}\n", + "\n", + "# wrap as gpt2\n", + "pv_t5 = pv.IntervenableModel({\n", + " \"layer\": 0,\n", + " \"component\": \"mlp_output\",\n", + " \"source_representation\": torch.zeros(\n", + " t5.config.d_model)\n", + "}, model=t5)\n", + "\n", + "# then intervene!\n", + "base = tokenizer(\"The capital of Spain is\", \n", + " return_tensors=\"pt\")\n", + "decoder_input_ids = tokenizer(\n", + " \"\", return_tensors=\"pt\").input_ids\n", + "base[\"decoder_input_ids\"] = decoder_input_ids\n", + "intervened_outputs = pv_t5(\n", + " base, \n", + " unit_locations={\"base\": 3}\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "ba158a92", + "metadata": {}, + "source": [ + "### Composing Complex Intervention Schema: Path Patching" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "e51cadfe", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n", + "Directory './tmp/' already exists.\n" + ] + } + ], + "source": [ + "import pyvene as pv\n", + "\n", + "def path_patching_config(\n", + " layer, last_layer, \n", + " component=\"head_attention_value_output\", unit=\"h.pos\"\n", + "):\n", + " intervening_component = [\n", + " {\"layer\": layer, \"component\": component, \"unit\": unit, \"group_key\": 0}]\n", + " restoring_components = []\n", + " if not component.startswith(\"mlp_\"):\n", + " restoring_components += [\n", + " {\"layer\": layer, \"component\": \"mlp_output\", \"group_key\": 1}]\n", + " for i in range(layer+1, last_layer):\n", + " restoring_components += [\n", + " {\"layer\": i, \"component\": \"attention_output\", \"group_key\": 1},\n", + " {\"layer\": i, \"component\": \"mlp_output\", \"group_key\": 1}\n", + " ]\n", + " intervenable_config = pv.IntervenableConfig(\n", + " intervening_component + restoring_components)\n", + " return intervenable_config\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "pv_gpt2 = pv.IntervenableModel(\n", + " path_patching_config(4, gpt2.config.n_layer), \n", + " model=gpt2\n", + ")\n", + "\n", + "pv_gpt2.save(\n", + " save_directory=\"./tmp/\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "9074f716", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:root:The key is provided in the config. Assuming this is loaded from a pretrained module.\n" + ] + } + ], + "source": [ + "pv_gpt2 = pv.IntervenableModel.load(\n", + " \"./tmp/\",\n", + " model=gpt2)" + ] + }, + { + "cell_type": "markdown", + "id": "d546e858", + "metadata": {}, + "source": [ + "### Composing Complex Intervention Schema: Causal Tracing in 15 lines" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c0b6a70f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loaded model\n" + ] + } + ], + "source": [ + "import pyvene as pv\n", + "\n", + "def causal_tracing_config(\n", + " l, c=\"mlp_activation\", w=10, tl=48):\n", + " s = max(0, l - w // 2)\n", + " e = min(tl, l - (-w // 2))\n", + " config = pv.IntervenableConfig(\n", + " [{\"component\": \"block_input\"}] + \n", + " [{\"layer\": l, \"component\": c} \n", + " for l in range(s, e)],\n", + " [pv.NoiseIntervention] +\n", + " [pv.VanillaIntervention]*(e-s))\n", + " return config\n", + "\n", + "_, tokenizer, gpt2 = pv.create_gpt2()\n", + "\n", + "pv_gpt2 = pv.IntervenableModel(\n", + " causal_tracing_config(4), \n", + " model=gpt2\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "bc6eb49d", + "metadata": {}, + "source": [ + "### The End\n", + "Now you are graduating from pyvene 101! Feel free to take a look at our tutorials for more challenging interventions." + ] + } + ], + "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.8.12" + }, + "toc-autonumbering": true, + "toc-showcode": false, + "toc-showmarkdowntxt": false, + "toc-showtags": true + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/tests/integration_tests/ComplexInterventionWithGPT2TestCase.py b/tests/integration_tests/ComplexInterventionWithGPT2TestCase.py index 63989f5e..93718a3d 100644 --- a/tests/integration_tests/ComplexInterventionWithGPT2TestCase.py +++ b/tests/integration_tests/ComplexInterventionWithGPT2TestCase.py @@ -49,16 +49,16 @@ def test_clean_run_positive(self): Positive test case to check whether vanilla forward pass work with our object. """ - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( 0, "block_output", "pos", 1, subspace_partition=[[0, 6], [6, 24]] ), ], - intervenable_interventions_type=VanillaIntervention, + intervention_types=VanillaIntervention, ) - intervenable = IntervenableModel(intervenable_config, self.gpt2) + intervenable = IntervenableModel(config, self.gpt2) intervenable.set_device(self.device) base = {"input_ids": torch.randint(0, 10, (10, 5)).to(self.device)} golden_out = self.gpt2(**base).logits @@ -74,22 +74,22 @@ def _test_subspace_partition_in_forward(self, intervention_type): Provide subpace intervention indices in the forward only. """ batch_size = 10 - with_partition_intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + with_partition_config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( 0, "block_output", "pos", 1, - intervenable_low_rank_dimension=24, + low_rank_dimension=24, subspace_partition=[[0, 6], [6, 24]], ), ], - intervenable_interventions_type=intervention_type, + intervention_types=intervention_type, ) intervenable = IntervenableModel( - with_partition_intervenable_config, self.gpt2, use_fast=False + with_partition_config, self.gpt2, use_fast=False ) intervenable.set_device(self.device) base = {"input_ids": torch.randint(0, 10, (batch_size, 5)).to(self.device)} @@ -101,30 +101,30 @@ def _test_subspace_partition_in_forward(self, intervention_type): subspaces=[[[0]] * batch_size], ) - without_partition_intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( - 0, "block_output", "pos", 1, intervenable_low_rank_dimension=24 + without_partition_config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( + 0, "block_output", "pos", 1, low_rank_dimension=24 ), ], - intervenable_interventions_type=intervention_type, + intervention_types=intervention_type, ) - intervenable_fast = IntervenableModel( - without_partition_intervenable_config, self.gpt2, use_fast=True + fast = IntervenableModel( + without_partition_config, self.gpt2, use_fast=True ) - intervenable_fast.set_device(self.device) + fast.set_device(self.device) if intervention_type in { RotatedSpaceIntervention, LowRankRotatedSpaceIntervention, }: - list(intervenable_fast.interventions.values())[0][ + list(fast.interventions.values())[0][ 0 ].rotate_layer.weight = list(intervenable.interventions.values())[0][ 0 ].rotate_layer.weight - _, without_partition_our_output = intervenable_fast( + _, without_partition_our_output = fast( base, [source], {"sources->base": ([[[0]] * batch_size], [[[0]] * batch_size])}, diff --git a/tests/integration_tests/IntervenableBasicTestCase.py b/tests/integration_tests/IntervenableBasicTestCase.py new file mode 100644 index 00000000..0b71e7d0 --- /dev/null +++ b/tests/integration_tests/IntervenableBasicTestCase.py @@ -0,0 +1,611 @@ +import unittest +from ..utils import * + +import torch +import pyvene as pv + +class IntervenableBasicTestCase(unittest.TestCase): + """These are API level positive cases.""" + @classmethod + def setUpClass(self): + _uuid = str(uuid.uuid4())[:6] + self._test_dir = os.path.join(f"./test_output_dir_prefix-{_uuid}") + + def test_lazy_demo(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + pv_gpt2 = pv.IntervenableModel({ + "layer": 0, + "component": "mlp_output", + "source_representation": torch.zeros( + gpt2.config.n_embd) + }, model=gpt2) + + intervened_outputs = pv_gpt2( + base = tokenizer( + "The capital of Spain is", + return_tensors="pt" + ), + unit_locations={"base": 3} + ) + + def test_less_lazy_demo(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig([ + { + "layer": _, + "component": "mlp_output", + "source_representation": torch.zeros( + gpt2.config.n_embd) + } for _ in range(4)], + mode="parallel" + ) + print(config) + pv_gpt2 = pv.IntervenableModel(config, model=gpt2) + + intervened_outputs = pv_gpt2( + base = tokenizer( + "The capital of Spain is", + return_tensors="pt" + ), + unit_locations={"base": 3} + ) + + def test_less_lazy_demo(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig([ + { + "layer": _, + "component": "mlp_output", + "source_representation": torch.zeros( + gpt2.config.n_embd) + } for _ in range(4)], + mode="parallel" + ) + print(config) + pv_gpt2 = pv.IntervenableModel(config, model=gpt2) + + intervened_outputs = pv_gpt2( + base = tokenizer( + "The capital of Spain is", + return_tensors="pt" + ), + unit_locations={"base": 3} + ) + + def test_source_reprs_pass_in_unit_loc_broadcast_demo(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + pv_gpt2 = pv.IntervenableModel({ + "layer": 0, + "component": "mlp_output", + }, model=gpt2) + + intervened_outputs = pv_gpt2( + base = tokenizer( + "The capital of Spain is", + return_tensors="pt" + ), + source_representations = torch.zeros(gpt2.config.n_embd), + unit_locations={"base": 3} + ) + + def test_input_corrupt_multi_token(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig({ + "layer": 0, + "component": "mlp_input"}, + pv.AdditionIntervention + ) + + pv_gpt2 = pv.IntervenableModel(config, model=gpt2) + + intervened_outputs = pv_gpt2( + base = tokenizer( + "The Space Needle is in downtown", + return_tensors="pt" + ), + unit_locations={"base": [[[0, 1, 2, 3]]]}, + source_representations = torch.rand(gpt2.config.n_embd) + ) + + def test_trainable_backward(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig({ + "layer": 8, + "component": "block_output", + "low_rank_dimension": 1}, + pv.LowRankRotatedSpaceIntervention + ) + + pv_gpt2 = pv.IntervenableModel( + config, model=gpt2) + + last_hidden_state = pv_gpt2( + base = tokenizer( + "The capital of Spain is", + return_tensors="pt" + ), + sources = tokenizer( + "The capital of Italy is", + return_tensors="pt" + ), + unit_locations={"sources->base": 3} + )[-1].last_hidden_state + + loss = last_hidden_state.sum() + loss.backward() + + def test_reprs_collection(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig({ + "layer": 10, + "component": "block_output", + "intervention_type": pv.CollectIntervention} + ) + + pv_gpt2 = pv.IntervenableModel( + config, model=gpt2) + + collected_activations = pv_gpt2( + base = tokenizer( + "The capital of Spain is", + return_tensors="pt" + ), + unit_locations={"sources->base": 3} + )[0][-1] + + def test_reprs_collection_after_intervention(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig({ + "layer": 8, + "component": "block_output", + "intervention_type": pv.VanillaIntervention} + ) + + config.add_intervention({ + "layer": 10, + "component": "block_output", + "intervention_type": pv.CollectIntervention}) + + pv_gpt2 = pv.IntervenableModel( + config, model=gpt2) + + collected_activations = pv_gpt2( + base = tokenizer( + "The capital of Spain is", + return_tensors="pt" + ), + sources = [tokenizer( + "The capital of Italy is", + return_tensors="pt" + ), None], + unit_locations={"sources->base": 3} + )[0][-1] + + def test_reprs_collection_on_one_neuron(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig({ + "layer": 8, + "component": "head_attention_value_output", + "unit": "h.pos", + "intervention_type": pv.CollectIntervention} + ) + + pv_gpt2 = pv.IntervenableModel( + config, model=gpt2) + + collected_activations = pv_gpt2( + base = tokenizer( + "The capital of Spain is", + return_tensors="pt" + ), + unit_locations={ + "base": pv.GET_LOC((3,3)) + }, + subspaces=[0] + )[0][-1] + + def test_new_intervention_type(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + class MultiplierIntervention( + pv.ConstantSourceIntervention): + def __init__(self, embed_dim, **kwargs): + super().__init__() + def forward( + self, base, source=None, subspaces=None): + return base * 99.0 + # run with new intervention type + pv_gpt2 = pv.IntervenableModel({ + "intervention_type": MultiplierIntervention}, + model=gpt2) + intervened_outputs = pv_gpt2( + base = tokenizer("The capital of Spain is", + return_tensors="pt"), + unit_locations={"base": 3}) + + def test_recurrent_nn(self): + + _, _, gru = pv.create_gru_classifier( + pv.GRUConfig(h_dim=32)) + + pv_gru = pv.IntervenableModel({ + "component": "cell_output", + "unit": "t", + "intervention_type": pv.ZeroIntervention}, + model=gru) + + rand_t = torch.rand(1,10, gru.config.h_dim) + + intervened_outputs = pv_gru( + base = {"inputs_embeds": rand_t}, + unit_locations={"base": 3}) + + def test_lm_generation(self): + + # built-in helper to get tinystore + _, tokenizer, tinystory = pv.create_gpt_neo() + emb_happy = tinystory.transformer.wte( + torch.tensor(14628)) * 0.3 + + pv_tinystory = pv.IntervenableModel([{ + "layer": _, + "component": "mlp_output", + "intervention_type": pv.AdditionIntervention + } for _ in range( + tinystory.config.num_layers)], + model=tinystory) + + prompt = tokenizer( + "Once upon a time there was", + return_tensors="pt") + _, intervened_story = pv_tinystory.generate( + prompt, + source_representations=emb_happy, + max_length=32 + ) + print(tokenizer.decode( + intervened_story[0], + skip_special_tokens=True + )) + + def test_save_and_load(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + # run with new intervention type + pv_gpt2 = pv.IntervenableModel({ + "intervention_type": pv.ZeroIntervention}, + model=gpt2) + + pv_gpt2.save(self._test_dir) + + pv_gpt2_load = pv.IntervenableModel.load( + self._test_dir, + model=gpt2) + + def test_intervention_grouping(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig([ + {"layer": 0, "component": "block_output", "group_key": 0}, + {"layer": 2, "component": "block_output", "group_key": 0}], + intervention_types=pv.VanillaIntervention, + ) + + pv_gpt2 = pv.IntervenableModel(config, model=gpt2) + + base = tokenizer("The capital of Spain is", return_tensors="pt") + sources = [tokenizer("The capital of Italy is", return_tensors="pt")] + intervened_outputs = pv_gpt2( + base, sources, + {"sources->base": ([ + [[3]], [[4]] # these two are for two interventions + ], [ # source position 3 into base position 4 + [[3]], [[4]] + ])} + ) + + def test_intervention_skipping(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig([ + # these are equivalent interventions + # we create them on purpose + {"layer": 0, "component": "block_output"}, + {"layer": 0, "component": "block_output"}, + {"layer": 0, "component": "block_output"}], + intervention_types=pv.VanillaIntervention, + ) + pv_gpt2 = pv.IntervenableModel(config, model=gpt2) + + base = tokenizer("The capital of Spain is", return_tensors="pt") + source = tokenizer("The capital of Italy is", return_tensors="pt") + # skipping 1, 2 and 3 + _, pv_out1 = pv_gpt2(base, [None, None, source], + {"sources->base": ([None, None, [[4]]], [None, None, [[4]]])}) + _, pv_out2 = pv_gpt2(base, [None, source, None], + {"sources->base": ([None, [[4]], None], [None, [[4]], None])}) + _, pv_out3 = pv_gpt2(base, [source, None, None], + {"sources->base": ([[[4]], None, None], [[[4]], None, None])}) + # should have the same results + self.assertTrue(torch.equal(pv_out1.last_hidden_state, pv_out2.last_hidden_state)) + self.assertTrue(torch.equal(pv_out2.last_hidden_state, pv_out3.last_hidden_state)) + + def test_subspace_intervention(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig([ + # they are linked to manipulate the same representation + # but in different subspaces + {"layer": 0, "component": "block_output", + # subspaces can be partitioned into continuous chunks + # [i, j] are the boundary indices + "subspace_partition": [[0, 128], [128, 256]]}], + intervention_types=pv.VanillaIntervention, + ) + pv_gpt2 = pv.IntervenableModel(config, model=gpt2) + + base = tokenizer("The capital of Spain is", return_tensors="pt") + source = tokenizer("The capital of Italy is", return_tensors="pt") + + # using intervention skipping for subspace + intervened_outputs = pv_gpt2( + base, [source], + {"sources->base": 4}, + # intervene only only dimensions from 128 to 256 + subspaces=1, + ) + + def test_linked_intervention_and_weights_sharing(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig([ + # they are linked to manipulate the same representation + # but in different subspaces + {"layer": 0, "component": "block_output", + "subspace_partition": [[0, 128], [128, 256]], "intervention_link_key": 0}, + {"layer": 0, "component": "block_output", + "subspace_partition": [[0, 128], [128, 256]], "intervention_link_key": 0}], + intervention_types=pv.VanillaIntervention, + ) + pv_gpt2 = pv.IntervenableModel(config, model=gpt2) + + base = tokenizer("The capital of Spain is", return_tensors="pt") + source = tokenizer("The capital of Italy is", return_tensors="pt") + + # using intervention skipping for subspace + _, pv_out1 = pv_gpt2( + base, [None, source], + # 4 means token position 4 + {"sources->base": ([None, [[4]]], [None, [[4]]])}, + # 1 means the second partition in the config + subspaces=[None, [[1]]], + ) + _, pv_out2 = pv_gpt2( + base, + [source, None], + {"sources->base": ([[[4]], None], [[[4]], None])}, + subspaces=[[[1]], None], + ) + self.assertTrue(torch.equal(pv_out1.last_hidden_state, pv_out2.last_hidden_state)) + + # subspaces provide a list of index and they can be in any order + _, pv_out3 = pv_gpt2( + base, + [source, source], + {"sources->base": ([[[4]], [[4]]], [[[4]], [[4]]])}, + subspaces=[[[0]], [[1]]], + ) + _, pv_out4 = pv_gpt2( + base, + [source, source], + {"sources->base": ([[[4]], [[4]]], [[[4]], [[4]]])}, + subspaces=[[[1]], [[0]]], + ) + self.assertTrue(torch.equal(pv_out3.last_hidden_state, pv_out4.last_hidden_state)) + + def test_new_model_type(self): + try: + import sentencepiece + except: + print("sentencepiece is not installed. skipping") + return + # get a flan-t5 from HuggingFace + from transformers import T5ForConditionalGeneration, T5Tokenizer, T5Config + config = T5Config.from_pretrained("google/flan-t5-small") + tokenizer = T5Tokenizer.from_pretrained("google/flan-t5-small") + t5 = T5ForConditionalGeneration.from_pretrained( + "google/flan-t5-small", config=config, cache_dir=self._test_dir + ) + + # config the intervention mapping with pv global vars + """Only define for the block output here for simplicity""" + pv.type_to_module_mapping[type(t5)] = { + "mlp_output": ("encoder.block[%s].layer[1]", + pv.models.constants.CONST_OUTPUT_HOOK), + "attention_input": ("encoder.block[%s].layer[0]", + pv.models.constants.CONST_OUTPUT_HOOK), + } + pv.type_to_dimension_mapping[type(t5)] = { + "mlp_output": ("d_model",), + "attention_input": ("d_model",), + "block_output": ("d_model",), + "head_attention_value_output": ("d_model/num_heads",), + } + + # wrap as gpt2 + pv_t5 = pv.IntervenableModel({ + "layer": 0, + "component": "mlp_output", + "source_representation": torch.zeros( + t5.config.d_model) + }, model=t5) + + # then intervene! + base = tokenizer("The capital of Spain is", + return_tensors="pt") + decoder_input_ids = tokenizer( + "", return_tensors="pt").input_ids + base["decoder_input_ids"] = decoder_input_ids + intervened_outputs = pv_t5( + base, + unit_locations={"base": 3} + ) + + def test_path_patching(self): + + def path_patching_config( + layer, last_layer, + component="head_attention_value_output", unit="h.pos" + ): + intervening_component = [ + {"layer": layer, "component": component, "unit": unit, "group_key": 0}] + restoring_components = [] + if not component.startswith("mlp_"): + restoring_components += [ + {"layer": layer, "component": "mlp_output", "group_key": 1}] + for i in range(layer+1, last_layer): + restoring_components += [ + {"layer": i, "component": "attention_output", "group_key": 1}, + {"layer": i, "component": "mlp_output", "group_key": 1} + ] + intervenable_config = pv.IntervenableConfig( + intervening_component + restoring_components) + return intervenable_config + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + pv_gpt2 = pv.IntervenableModel( + path_patching_config(4, gpt2.config.n_layer), + model=gpt2 + ) + + pv_gpt2.save( + save_directory="./tmp/" + ) + + pv_gpt2 = pv.IntervenableModel.load( + "./tmp/", + model=gpt2) + + def test_multisource_parallel(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig([ + {"layer": 0, "component": "mlp_output"}, + {"layer": 2, "component": "mlp_output"}], + mode="parallel" + ) + pv_gpt2 = pv.IntervenableModel(config, model=gpt2) + + base = tokenizer("The capital of Spain is", return_tensors="pt") + sources = [tokenizer("The capital of Italy is", return_tensors="pt"), + tokenizer("The capital of China is", return_tensors="pt")] + + intervened_outputs = pv_gpt2( + base, sources, + # on same position + {"sources->base": 4}, + ) + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig([ + {"layer": 0, "component": "block_output", + "subspace_partition": + [[0, 128], [128, 256]]}]*2, + intervention_types=pv.VanillaIntervention, + # act in parallel + mode="parallel" + ) + pv_gpt2 = pv.IntervenableModel(config, model=gpt2) + + base = tokenizer("The capital of Spain is", return_tensors="pt") + sources = [tokenizer("The capital of Italy is", return_tensors="pt"), + tokenizer("The capital of China is", return_tensors="pt")] + + intervened_outputs = pv_gpt2( + base, sources, + # on same position + {"sources->base": 4}, + # on different subspaces + subspaces=[[[0]], [[1]]], + ) + + def test_multisource_serial(self): + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig([ + {"layer": 0, "component": "mlp_output"}, + {"layer": 2, "component": "mlp_output"}], + mode="serial" + ) + pv_gpt2 = pv.IntervenableModel(config, model=gpt2) + + base = tokenizer("The capital of Spain is", return_tensors="pt") + sources = [tokenizer("The capital of Italy is", return_tensors="pt"), + tokenizer("The capital of China is", return_tensors="pt")] + + intervened_outputs = pv_gpt2( + base, sources, + # serialized intervention + # order is based on sources list + {"source_0->source_1": 3, "source_1->base": 4}, + ) + + _, tokenizer, gpt2 = pv.create_gpt2(cache_dir=self._test_dir) + + config = pv.IntervenableConfig([ + {"layer": 0, "component": "block_output", + "subspace_partition": [[0, 128], [128, 256]]}, + {"layer": 2, "component": "block_output", + "subspace_partition": [[0, 128], [128, 256]]}], + intervention_types=pv.VanillaIntervention, + # act in parallel + mode="serial" + ) + pv_gpt2 = pv.IntervenableModel(config, model=gpt2) + + base = tokenizer("The capital of Spain is", return_tensors="pt") + sources = [tokenizer("The capital of Italy is", return_tensors="pt"), + tokenizer("The capital of China is", return_tensors="pt")] + + intervened_outputs = pv_gpt2( + base, sources, + # serialized intervention + # order is based on sources list + {"source_0->source_1": 3, "source_1->base": 4}, + # on different subspaces + subspaces=[[[0]], [[1]]], + ) + + @classmethod + def tearDownClass(self): + print(f"Removing testing dir {self._test_dir}") + if os.path.exists(self._test_dir) and os.path.isdir(self._test_dir): + shutil.rmtree(self._test_dir) \ No newline at end of file diff --git a/tests/integration_tests/InterventionWithGPT2TestCase.py b/tests/integration_tests/InterventionWithGPT2TestCase.py index 98536565..7591a26e 100644 --- a/tests/integration_tests/InterventionWithGPT2TestCase.py +++ b/tests/integration_tests/InterventionWithGPT2TestCase.py @@ -20,17 +20,17 @@ def setUpClass(self): vocab_size=10, ) ) - self.vanilla_block_output_intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + self.vanilla_block_output_config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( 0, "block_output", "pos", 1, ), ], - intervenable_interventions_type=VanillaIntervention, + intervention_types=VanillaIntervention, ) self.device = torch.device("cuda" if torch.cuda.is_available() else "cpu") self.gpt2 = self.gpt2.to(self.device) @@ -62,7 +62,7 @@ def test_clean_run_positive(self): with our object. """ intervenable = IntervenableModel( - self.vanilla_block_output_intervenable_config, self.gpt2 + self.vanilla_block_output_config, self.gpt2 ) intervenable.set_device(self.device) base = {"input_ids": torch.randint(0, 10, (10, 5)).to(self.device)} @@ -74,24 +74,24 @@ def test_clean_run_positive(self): torch.allclose(GPT2_RUN(self.gpt2, base["input_ids"], {}, {}), golden_out) ) - def test_invalid_intervenable_unit_negative(self): + def test_invalid_unit_negative(self): """ Invalid intervenable unit. """ - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( 0, "block_output", "pos.h", 1, ), ], - intervenable_interventions_type=VanillaIntervention, + intervention_types=VanillaIntervention, ) try: - intervenable = IntervenableModel(intervenable_config, self.gpt2) + intervenable = IntervenableModel(config, self.gpt2) except ValueError: pass else: @@ -118,20 +118,20 @@ def _test_with_position_intervention( "input_ids": torch.randint(0, 10, (b_s, max_position + 2)).to(self.device) } - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( intervention_layer, intervention_stream, "pos", len(positions), ) ], - intervenable_interventions_type=intervention_type, + intervention_types=intervention_type, ) intervenable = IntervenableModel( - intervenable_config, self.gpt2, use_fast=use_fast + config, self.gpt2, use_fast=use_fast ) intervention = list(intervenable.interventions.values())[0][0] @@ -241,19 +241,19 @@ def _test_with_head_position_intervention( "input_ids": torch.randint(0, 10, (b_s, max_position + 2)).to(self.device) } - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( intervention_layer, intervention_stream, "h.pos", len(positions), ) ], - intervenable_interventions_type=intervention_type, + intervention_types=intervention_type, ) - intervenable = IntervenableModel(intervenable_config, self.gpt2) + intervenable = IntervenableModel(config, self.gpt2) intervention = list(intervenable.interventions.values())[0][0] base_activations = {} @@ -392,10 +392,10 @@ def _test_with_position_intervention_constant_source( "input_ids": torch.randint(0, 10, (b_s, max_position + 1)).to(self.device) } - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( intervention_layer, intervention_stream, "pos", @@ -406,10 +406,10 @@ def _test_with_position_intervention_constant_source( torch.rand(self.config.n_embd*4).to(self.gpt2.device) ) ], - intervenable_interventions_type=intervention_type, + intervention_types=intervention_type, ) intervenable = IntervenableModel( - intervenable_config, self.gpt2, use_fast=use_fast + config, self.gpt2, use_fast=use_fast ) intervention = list(intervenable.interventions.values())[0][0] @@ -571,10 +571,10 @@ def _test_with_long_sequence_position_intervention_constant_source_positive( } intervention_layer = random.randint(0, 2) - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( intervention_layer, intervention_stream, "pos", @@ -585,10 +585,10 @@ def _test_with_long_sequence_position_intervention_constant_source_positive( torch.rand(self.config.n_embd*4).to(self.gpt2.device) ) ], - intervenable_interventions_type=intervention_type, + intervention_types=intervention_type, ) intervenable = IntervenableModel( - intervenable_config, self.gpt2, use_fast=True + config, self.gpt2, use_fast=True ) intervention = list(intervenable.interventions.values())[0][0] @@ -641,7 +641,7 @@ def suite(): suite.addTest(InterventionWithGPT2TestCase("test_clean_run_positive")) suite.addTest( InterventionWithGPT2TestCase( - "test_invalid_intervenable_unit_negative" + "test_invalid_unit_negative" ) ) suite.addTest( diff --git a/tests/integration_tests/InterventionWithMLPTestCase.py b/tests/integration_tests/InterventionWithMLPTestCase.py index e6198ea2..db8515f0 100644 --- a/tests/integration_tests/InterventionWithMLPTestCase.py +++ b/tests/integration_tests/InterventionWithMLPTestCase.py @@ -13,10 +13,10 @@ def setUpClass(self): ) ) - self.test_subspace_intervention_link_intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.mlp), - intervenable_representations=[ - IntervenableRepresentationConfig( + self.test_subspace_intervention_link_config = IntervenableConfig( + model_type=type(self.mlp), + representations=[ + RepresentationConfig( 0, "mlp_activation", "pos", # mlp layer creates a single token reprs @@ -27,7 +27,7 @@ def setUpClass(self): ], # partition into two sets of subspaces intervention_link_key=0, # linked ones target the same subspace ), - IntervenableRepresentationConfig( + RepresentationConfig( 0, "mlp_activation", "pos", # mlp layer creates a single token reprs @@ -39,14 +39,14 @@ def setUpClass(self): intervention_link_key=0, # linked ones target the same subspace ), ], - intervenable_interventions_type=VanillaIntervention, + intervention_types=VanillaIntervention, ) - self.test_subspace_no_intervention_link_intervenable_config = ( + self.test_subspace_no_intervention_link_config = ( IntervenableConfig( - intervenable_model_type=type(self.mlp), - intervenable_representations=[ - IntervenableRepresentationConfig( + model_type=type(self.mlp), + representations=[ + RepresentationConfig( 0, "mlp_activation", "pos", # mlp layer creates a single token reprs @@ -56,7 +56,7 @@ def setUpClass(self): [1, 3], ], # partition into two sets of subspaces ), - IntervenableRepresentationConfig( + RepresentationConfig( 0, "mlp_activation", "pos", # mlp layer creates a single token reprs @@ -67,38 +67,38 @@ def setUpClass(self): ], # partition into two sets of subspaces ), ], - intervenable_interventions_type=VanillaIntervention, + intervention_types=VanillaIntervention, ) ) - self.test_subspace_no_intervention_link_trainable_intervenable_config = ( + self.test_subspace_no_intervention_link_trainable_config = ( IntervenableConfig( - intervenable_model_type=type(self.mlp), - intervenable_representations=[ - IntervenableRepresentationConfig( + model_type=type(self.mlp), + representations=[ + RepresentationConfig( 0, "mlp_activation", "pos", # mlp layer creates a single token reprs 1, - intervenable_low_rank_dimension=2, + low_rank_dimension=2, subspace_partition=[ [0, 1], [1, 2], ], # partition into two sets of subspaces ), - IntervenableRepresentationConfig( + RepresentationConfig( 0, "mlp_activation", "pos", # mlp layer creates a single token reprs 1, - intervenable_low_rank_dimension=2, + low_rank_dimension=2, subspace_partition=[ [0, 1], [1, 2], ], # partition into two sets of subspaces ), ], - intervenable_interventions_type=LowRankRotatedSpaceIntervention, + intervention_types=LowRankRotatedSpaceIntervention, ) ) @@ -108,7 +108,7 @@ def test_clean_run_positive(self): with our object. """ intervenable = IntervenableModel( - self.test_subspace_intervention_link_intervenable_config, self.mlp + self.test_subspace_intervention_link_config, self.mlp ) base = {"inputs_embeds": torch.rand(10, 1, 3)} self.assertTrue( @@ -120,7 +120,7 @@ def test_with_subspace_positive(self): Positive test case to intervene only a set of subspace. """ intervenable = IntervenableModel( - self.test_subspace_intervention_link_intervenable_config, self.mlp + self.test_subspace_intervention_link_config, self.mlp ) # golden label b_s = 10 @@ -148,7 +148,7 @@ def test_with_subspace_negative(self): Negative test case to check input length. """ intervenable = IntervenableModel( - self.test_subspace_intervention_link_intervenable_config, self.mlp + self.test_subspace_intervention_link_config, self.mlp ) # golden label b_s = 10 @@ -173,7 +173,7 @@ def test_intervention_link_positive(self): Positive test case to intervene linked subspace. """ intervenable = IntervenableModel( - self.test_subspace_intervention_link_intervenable_config, self.mlp + self.test_subspace_intervention_link_config, self.mlp ) # golden label b_s = 10 @@ -219,7 +219,7 @@ def test_no_intervention_link_positive(self): Positive test case to intervene not linked subspace (overwrite). """ intervenable = IntervenableModel( - self.test_subspace_no_intervention_link_intervenable_config, self.mlp + self.test_subspace_no_intervention_link_config, self.mlp ) # golden label b_s = 10 @@ -266,7 +266,7 @@ def test_no_intervention_link_negative(self): Negative test case to intervene not linked subspace with trainable interventions. """ intervenable = IntervenableModel( - self.test_subspace_no_intervention_link_trainable_intervenable_config, + self.test_subspace_no_intervention_link_trainable_config, self.mlp, ) # golden label diff --git a/tests/unit_tests/IntervenableConfigUnitTestCase.py b/tests/unit_tests/IntervenableConfigUnitTestCase.py index 3e9fc411..9f3ded9d 100644 --- a/tests/unit_tests/IntervenableConfigUnitTestCase.py +++ b/tests/unit_tests/IntervenableConfigUnitTestCase.py @@ -22,40 +22,40 @@ def setUpClass(self): ) def test_initialization_positive(self): - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( 0, "block_output", "pos", 1, ), ], - intervenable_interventions_type=VanillaIntervention, + intervention_types=VanillaIntervention, ) - assert intervenable_config.intervenable_model_type == type(self.gpt2) - assert len(intervenable_config.intervenable_representations) == 1 + assert config.model_type == type(self.gpt2) + assert len(config.representations) == 1 assert ( - intervenable_config.intervenable_interventions_type == VanillaIntervention + config.intervention_types == VanillaIntervention ) assert ( - intervenable_config.intervenable_representations[0].intervenable_layer == 0 + config.representations[0].layer == 0 ) assert ( - intervenable_config.intervenable_representations[ + config.representations[ 0 - ].intervenable_representation_type + ].component == "block_output" ) assert ( - intervenable_config.intervenable_representations[0].intervenable_unit + config.representations[0].unit == "pos" ) assert ( - intervenable_config.intervenable_representations[0].max_number_of_units == 1 + config.representations[0].max_number_of_units == 1 ) diff --git a/tests/unit_tests/IntervenableUnitTestCase.py b/tests/unit_tests/IntervenableUnitTestCase.py index b2e996a8..0b5da071 100644 --- a/tests/unit_tests/IntervenableUnitTestCase.py +++ b/tests/unit_tests/IntervenableUnitTestCase.py @@ -24,26 +24,26 @@ def setUpClass(self): self.test_output_dir_pool = [] def test_initialization_positive(self): - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( 0, "block_output", "pos", 1, ), - IntervenableRepresentationConfig( + RepresentationConfig( 1, "block_output", "pos", 1, ), ], - intervenable_interventions_type=VanillaIntervention, + intervention_types=VanillaIntervention, ) - intervenable = IntervenableModel(intervenable_config, self.gpt2) + intervenable = IntervenableModel(config, self.gpt2) assert intervenable.mode == "parallel" self.assertTrue(intervenable.is_model_stateless) @@ -66,26 +66,26 @@ def test_initialization_positive(self): assert len(intervenable._batched_setter_activation_select) == 0 def test_initialization_invalid_order_negative(self): - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( 1, "block_output", "pos", 1, ), - IntervenableRepresentationConfig( + RepresentationConfig( 0, "block_output", "pos", 1, ), ], - intervenable_interventions_type=VanillaIntervention, + intervention_types=VanillaIntervention, ) try: - intervenable = IntervenableModel(intervenable_config, self.gpt2) + intervenable = IntervenableModel(config, self.gpt2) except ValueError: pass else: @@ -93,26 +93,26 @@ def test_initialization_invalid_order_negative(self): "ValueError for invalid intervention " "order is not thrown" ) - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( 0, "block_output", "pos", 1, ), - IntervenableRepresentationConfig( + RepresentationConfig( 0, "mlp_output", "pos", 1, ), ], - intervenable_interventions_type=VanillaIntervention, + intervention_types=VanillaIntervention, ) try: - intervenable = IntervenableModel(intervenable_config, self.gpt2) + intervenable = IntervenableModel(config, self.gpt2) except ValueError: pass else: @@ -121,26 +121,26 @@ def test_initialization_invalid_order_negative(self): ) def test_initialization_invalid_repr_name_negative(self): - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( 1, "block_output", "pos", 1, ), - IntervenableRepresentationConfig( + RepresentationConfig( 0, "strange_stream_me", "pos", 1, ), ], - intervenable_interventions_type=VanillaIntervention, + intervention_types=VanillaIntervention, ) try: - intervenable = IntervenableModel(intervenable_config, self.gpt2) + intervenable = IntervenableModel(config, self.gpt2) except KeyError: pass else: @@ -149,26 +149,26 @@ def test_initialization_invalid_repr_name_negative(self): ) def test_local_non_trainable_save_positive(self): - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( 0, "block_output", "pos", 1, ), - IntervenableRepresentationConfig( + RepresentationConfig( 1, "block_output", "pos", 1, ), ], - intervenable_interventions_type=VanillaIntervention, + intervention_types=VanillaIntervention, ) - intervenable = IntervenableModel(intervenable_config, self.gpt2) + intervenable = IntervenableModel(config, self.gpt2) _uuid = str(uuid.uuid4())[:6] _test_dir = os.path.join(f"./test_output_dir_prefix-{_uuid}") self.test_output_dir_pool += [_test_dir] @@ -184,26 +184,26 @@ def test_local_non_trainable_save_positive(self): ) def test_local_trainable_save_positive(self): - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( 0, "block_output", "pos", 1, ), - IntervenableRepresentationConfig( + RepresentationConfig( 1, "block_output", "pos", 1, ), ], - intervenable_interventions_type=RotatedSpaceIntervention, + intervention_types=RotatedSpaceIntervention, ) - intervenable = IntervenableModel(intervenable_config, self.gpt2) + intervenable = IntervenableModel(config, self.gpt2) _uuid = str(uuid.uuid4())[:6] _test_dir = os.path.join(f"./test_output_dir_prefix-{_uuid}") self.test_output_dir_pool += [_test_dir] @@ -221,35 +221,35 @@ def test_local_trainable_save_positive(self): "there should binary file for each of them." ) - def _test_local_trainable_load_positive(self, intervenable_interventions_type): + def _test_local_trainable_load_positive(self, intervention_types): b_s = 10 - intervenable_config = IntervenableConfig( - intervenable_model_type=type(self.gpt2), - intervenable_representations=[ - IntervenableRepresentationConfig( - 0, "block_output", "pos", 1, intervenable_low_rank_dimension=4 + config = IntervenableConfig( + model_type=type(self.gpt2), + representations=[ + RepresentationConfig( + 0, "block_output", "pos", 1, low_rank_dimension=4 ), - IntervenableRepresentationConfig( - 1, "block_output", "pos", 1, intervenable_low_rank_dimension=4 + RepresentationConfig( + 1, "block_output", "pos", 1, low_rank_dimension=4 ), ], - intervenable_interventions_type=intervenable_interventions_type, + intervention_types=intervention_types, ) - intervenable = IntervenableModel(intervenable_config, self.gpt2) + intervenable = IntervenableModel(config, self.gpt2) _uuid = str(uuid.uuid4())[:6] _test_dir = os.path.join(f"./test_output_dir_prefix-{_uuid}") self.test_output_dir_pool += [_test_dir] intervenable.save(save_directory=_test_dir, save_to_hf_hub=False) - intervenable_loaded = IntervenableModel.load( + loaded = IntervenableModel.load( load_directory=_test_dir, model=self.gpt2, ) - assert intervenable != intervenable_loaded + assert intervenable != loaded base = {"input_ids": torch.randint(0, 10, (b_s, 10))} source = {"input_ids": torch.randint(0, 10, (b_s, 10))} @@ -258,7 +258,7 @@ def _test_local_trainable_load_positive(self, intervenable_interventions_type): base, [source, source], {"sources->base": ([[[3]], [[4]]], [[[3]], [[4]]])} ) - _, counterfactual_outputs_loaded = intervenable_loaded( + _, counterfactual_outputs_loaded = loaded( base, [source, source], {"sources->base": ([[[3]], [[4]]], [[[3]], [[4]]])} ) diff --git a/tests/utils.py b/tests/utils.py index e6d82841..d005a01d 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -33,7 +33,7 @@ def is_package_installed(package_name): from pyvene.models.basic_utils import embed_to_distrib, top_vals, format_token from pyvene.models.configuration_intervenable_model import ( - IntervenableRepresentationConfig, + RepresentationConfig, IntervenableConfig, ) from pyvene.models.intervenable_base import IntervenableModel diff --git a/tutorials/advanced_tutorials/Boundless_DAS.ipynb b/tutorials/advanced_tutorials/Boundless_DAS.ipynb index ee089e25..281677c6 100644 --- a/tutorials/advanced_tutorials/Boundless_DAS.ipynb +++ b/tutorials/advanced_tutorials/Boundless_DAS.ipynb @@ -63,7 +63,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "9a39c2b3", "metadata": {}, "outputs": [], @@ -84,7 +84,7 @@ "from pyvene import (\n", " IntervenableModel,\n", " BoundlessRotatedSpaceIntervention,\n", - " IntervenableRepresentationConfig,\n", + " RepresentationConfig,\n", " IntervenableConfig,\n", ")\n", "from pyvene import create_llama\n", @@ -391,25 +391,23 @@ "outputs": [], "source": [ "def simple_boundless_das_position_config(model_type, intervention_type, layer):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " layer, # layer\n", + " config = IntervenableConfig(\n", + " model_type=model_type,\n", + " representations=[\n", + " RepresentationConfig(\n", + " layer, # layer\n", " intervention_type, # intervention type\n", - " \"pos\", # intervention unit\n", - " 1, # max number of unit\n", " ),\n", " ],\n", - " intervenable_interventions_type=BoundlessRotatedSpaceIntervention,\n", + " intervention_types=BoundlessRotatedSpaceIntervention,\n", " )\n", - " return intervenable_config\n", + " return config\n", "\n", "\n", - "intervenable_config = simple_boundless_das_position_config(\n", + "config = simple_boundless_das_position_config(\n", " type(llama), \"block_output\", 15\n", ")\n", - "intervenable = IntervenableModel(intervenable_config, llama)\n", + "intervenable = IntervenableModel(config, llama)\n", "intervenable.set_device(\"cuda\")\n", "intervenable.disable_model_gradients()" ] @@ -521,7 +519,7 @@ " _, counterfactual_outputs = intervenable(\n", " {\"input_ids\": inputs[\"input_ids\"]},\n", " [{\"input_ids\": inputs[\"source_input_ids\"]}],\n", - " {\"sources->base\": ([[[80]] * b_s], [[[80]] * b_s])}, # swap 80th token\n", + " {\"sources->base\": 80}, # swap 80th token\n", " )\n", " eval_metrics = compute_metrics(\n", " [counterfactual_outputs.logits], [inputs[\"labels\"]]\n", @@ -586,7 +584,7 @@ " _, counterfactual_outputs = intervenable(\n", " {\"input_ids\": inputs[\"input_ids\"]},\n", " [{\"input_ids\": inputs[\"source_input_ids\"]}],\n", - " {\"sources->base\": ([[[80]] * b_s], [[[80]] * b_s])}, # swap 80th token\n", + " {\"sources->base\": 80}, # swap 80th token\n", " )\n", " eval_labels += [inputs[\"labels\"]]\n", " eval_preds += [counterfactual_outputs.logits]\n", diff --git a/tutorials/advanced_tutorials/Causal_Tracing.ipynb b/tutorials/advanced_tutorials/Causal_Tracing.ipynb index 58db2357..37951e6e 100644 --- a/tutorials/advanced_tutorials/Causal_Tracing.ipynb +++ b/tutorials/advanced_tutorials/Causal_Tracing.ipynb @@ -50,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -61,7 +61,7 @@ "from pyvene import (\n", " IntervenableModel,\n", " VanillaIntervention, Intervention,\n", - " IntervenableRepresentationConfig,\n", + " RepresentationConfig,\n", " IntervenableConfig,\n", " ConstantSourceIntervention,\n", " LocalistRepresentationIntervention\n", @@ -109,7 +109,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -133,10 +133,7 @@ ], "source": [ "device = \"cuda:0\" if torch.cuda.is_available() else \"cpu\"\n", - "config, tokenizer, gpt = create_gpt2(\n", - " name=\"gpt2-xl\",\n", - " cache_dir=\"../../../.huggingface_cache/\", # change to your local dir\n", - ")\n", + "config, tokenizer, gpt = create_gpt2(name=\"gpt2-xl\")\n", "gpt.to(device)\n", "\n", "base = \"The Space Needle is in downtown\"\n", @@ -164,7 +161,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -187,17 +184,17 @@ "\n", "\n", "def corrupted_config(model_type):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + " config = IntervenableConfig(\n", + " model_type=model_type,\n", + " representations=[\n", + " RepresentationConfig(\n", " 0, # layer\n", " \"block_input\", # intervention type\n", " ),\n", " ],\n", - " intervenable_interventions_type=NoiseIntervention,\n", + " intervention_types=NoiseIntervention,\n", " )\n", - " return intervenable_config" + " return config" ] }, { @@ -209,7 +206,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -231,8 +228,8 @@ ], "source": [ "base = tokenizer(\"The Space Needle is in downtown\", return_tensors=\"pt\").to(device)\n", - "intervenable_config = corrupted_config(type(gpt))\n", - "intervenable = IntervenableModel(intervenable_config, gpt)\n", + "config = corrupted_config(type(gpt))\n", + "intervenable = IntervenableModel(config, gpt)\n", "_, counterfactual_outputs = intervenable(\n", " base, unit_locations={\"base\": ([[[0, 1, 2, 3]]])}\n", ")\n", @@ -263,21 +260,21 @@ " layer, stream=\"mlp_activation\", window=10, num_layers=48):\n", " start = max(0, layer - window // 2)\n", " end = min(num_layers, layer - (-window // 2))\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + " config = IntervenableConfig(\n", + " representations=[\n", + " RepresentationConfig(\n", " 0, # layer\n", " \"block_input\", # intervention type\n", " ),\n", " ] + [\n", - " IntervenableRepresentationConfig(\n", + " RepresentationConfig(\n", " i, # layer\n", " stream, # intervention type\n", " ) for i in range(start, end)],\n", - " intervenable_interventions_type=\\\n", + " intervention_types=\\\n", " [NoiseIntervention]+[VanillaIntervention]*(end-start),\n", " )\n", - " return intervenable_config" + " return config" ] }, { @@ -316,12 +313,12 @@ " data = []\n", " for layer_i in tqdm(range(gpt.config.n_layer)):\n", " for pos_i in range(7):\n", - " intervenable_config = restore_corrupted_with_interval_config(\n", + " config = restore_corrupted_with_interval_config(\n", " layer_i, stream, \n", " window=1 if stream == \"block_output\" else 10\n", " )\n", - " n_restores = len(intervenable_config.intervenable_representations) - 1\n", - " intervenable = IntervenableModel(intervenable_config, gpt)\n", + " n_restores = len(config.representations) - 1\n", + " intervenable = IntervenableModel(config, gpt)\n", " _, counterfactual_outputs = intervenable(\n", " base,\n", " [None] + [base]*n_restores,\n", diff --git a/tutorials/advanced_tutorials/DAS_Main_Introduction.ipynb b/tutorials/advanced_tutorials/DAS_Main_Introduction.ipynb index 596bd35a..3bc39013 100644 --- a/tutorials/advanced_tutorials/DAS_Main_Introduction.ipynb +++ b/tutorials/advanced_tutorials/DAS_Main_Introduction.ipynb @@ -69,20 +69,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\attic\\anaconda3\\envs\\bigkid\\lib\\site-packages\\pandas\\core\\computation\\expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).\n", - " from pandas.core.computation.check import NUMEXPR_INSTALLED\n", - "c:\\Users\\attic\\anaconda3\\envs\\bigkid\\lib\\site-packages\\pandas\\core\\arrays\\masked.py:62: UserWarning: Pandas requires version '1.3.4' or newer of 'bottleneck' (version '1.3.2' currently installed).\n", - " from pandas.core import (\n" - ] - } - ], + "outputs": [], "source": [ "import torch\n", "from torch.utils.data import DataLoader\n", @@ -104,23 +93,23 @@ " VanillaIntervention,\n", " RotatedSpaceIntervention,\n", " LowRankRotatedSpaceIntervention,\n", - " IntervenableRepresentationConfig,\n", + " RepresentationConfig,\n", " IntervenableConfig,\n", ")" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -161,7 +150,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -229,12 +218,12 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { "data": { - "image/png": "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OgVHKTQ0VHl5eYqLi9OOHTtM5wDYD4MH8DNffvmlpk2bprS0NNMpOEbdunVT9+7dlZKSYjoFwH4YPIAfcRxHMTExSk5OVpMmTUzn4Dikp6drypQp+vrrr02nANgLgwfwI//617/0008/KSoqynQKjtPpp5+upKQkjRkzxnQKgL0weAA/UVxcrNjYWOXm5iosLMx0Dk7A6NGj9c033+j11183nQJgDwYP4CfS09PVqVMnXXnllaZTcIJq1qyp3NxcjR49WiUlJaZzAIjBA/iF77//Xnl5eRo/frzpFPhIr169dMEFFygzM9N0CgAxeAC/MHbsWMXGxurMM880nQIfysrKUnZ2ttauXWs6BQh6DB7AsAULFmjlypWKi4sznQIfa9GihaKjo/m9BfwAgwcwaPfu3YqJiVF2drbCw8NN56AKJCYmqqCgQAsXLjSdAgQ1Bg9gUE5Ojlq1aqVrrrnGdAqqSEREhCZMmKDo6GiVlpaazgGCFoMHMGT9+vVKS0tTdna26RRUsX/84x8688wzlZeXZzoFCFoMHsCQxMREDR8+XGeffbbpFFQxj8ejnJwc2batX375xXQOEJQYPIABS5Ys0dtvv63k5GTTKagm5557ru644w4lJSWZTgGCEoMHqGZlZWWKiopSZmamateubToH1WjcuHFauHCh3n33XdMpQNBh8ADV7PHHH1eDBg100003mU5BNatTp47S09MVFRWl8vJy0zlAUGHwANVo48aN+r//+z/l5ubK4/GYzoEBt9xyi0466SRNnTrVdAoQVBg8QDW69957deutt6pdu3amU2CIx+NRfn6+HnjgAW3atMl0DhA0GDxANSkoKNBrr72mBx980HQKDOvQoYP69++vcePGmU4BggaDB6gGFRUVioqKkm3bqlevnukc+IGHHnpIr7zyij766CPTKUBQYPAA1eCpp56Sx+PR7bffbjoFfqJ+/fp65JFHFBUVpYqKCtM5gOsxeIAqtmXLFiUnJysvL08hIfwrhz/dcccdKisr06xZs0ynAK7Hn75AFXvwwQd13XXXqVOnTqZT4GdCQkKUn58vr9errVu3ms4BXI3BA1Shzz77TM8++6weffRR0ynwU3/961/Vu3dvPfTQQ6ZTAFdj8ABVxHEcRUdH68EHH9Spp55qOgd+zLZtPf3001q1apXpFMC1GDxAFXnxxRe1efNm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L76oN954w0AZULU8Hs9yx3EO+q6aPKWFoOI4jmzblmVZBx07gNvddtttWrVqlZYvX246BahWDB4ElTfffFMlJSW67rrrTKcARtSsWVNxcXFKTU01nQJUKwYPgopt2/J6vQoJ4aGP4HXXXXdp8eLF+vLLL02nANWGP/URNN577z199913GjBggOkUwKjatWsrKipKaWlpplOAasOrMhE0bNtWYmIib6sPSIqKitLZZ5+tH3/8UWeccYbpHKDKcYYHQeHTTz/VsmXLNHToUNMpgF845ZRTdMcdd2j8+PGmU4BqweBBUEhNTdXo0aP/+NwsAFJsbKyefvppbdy40XQKUOUYPHC9b7/9Vm+88YZGjBhhOgXwK6effrpuuukm5ebmmk4BqhyDB66XkZGh4cOHq169eqZTAL+TmJioxx57TNu2bTOdAlQpBg9c7eeff9YLL7yg0aNHm04B/FKrVq3Us2dPPf7446ZTgCrF4IGrTZgwQbfeeqsaNWpkOgXwW16vVxMmTFBJSYnpFKDKMHjgWps3b9aTTz6p+Ph40ymAX+vQoYMuuugizZgxw3QKUGUYPHCtiRMn6tprr1Xz5s1NpwB+z7Ispaenq6yszHQKUCUYPHCloqIi5ebmKikpyXQKEBAuueQSnXHGGXrhhRdMpwBVgsEDV3riiSfUrVs3nXfeeaZTgIBhWZZSU1NVUVFhOgXwOQYPXGf37t0aP368LMsynQIElKuuukphYWH697//bToF8DkGD1znmWee0bnnnqtOnTqZTgECisfjkWVZSklJkeM4pnMAn2LwwFXKy8uVmprK2R3gON1www367bfftHjxYtMpgE8xeOAqr7zyiurXr6/LL7/cdAoQkGrUqKHExETZtm06BfApBg9cw3Ec2bYty7Lk8XhM5wAB67bbbtOqVau0fPly0ymAzzB44BoLFixQSUmJrr32WtMpQECrWbOm4uLiOMsDV2HwwDV+P7sTEsLDGjhRd911l95++22tXr3adArgExwZ4ArvvfeefvjhBw0YMMB0CuAKtWvXVnR0tNLT002nAD4RajoA8AXbtpWQkKDQUB7SgK9ERUWpdevWWrt2rc4880zTOcAJ4QwPAt6nn36qZcuWaejQoaZTAFepX7++7rjjDo0fP950CnDCGDwIeKmpqRozZowiIiJMpwCuExsbq5kzZ2rjxo2mU4ATwuBBQPv222/1xhtvaMSIEaZTAFc6/fTT1b9/f+Xm5ppOAU4IgwcBLSMjQ8OHD1fdunVNpwCulZCQoMcee0zbtm0znQIcNwYPAtbPP/+sF154QaNHjzadArhaq1at1LNnTz322GOmU4DjxuBBwJowYYIGDRqkRo0amU4BXM/r9So7O1slJSWmU4DjwuBBQNq8ebOefPJJxcfHm04BgkKHDh100UUXacaMGaZTgOPC4EFAys/P17XXXst7gwDVyLIspaenq6yszHQKcMwYPAg4RUVFys/PV1JSkukUIKhccsklOuOMM/TCCy+YTgGOGYMHAeeJJ55Q165ddd5555lOAYJOcnKyUlNTVVFRYToFOCYMHgSU3bt3KzMzU5ZlmU4BglKvXr0UFhamf//736ZTgGPC4EFAmTVrls477zx16tTJdAoQlDwejyzLUkpKihzHMZ0DHDUGDwJGeXm50tLSOLsDGHbDDTfot99+0+LFi02nAEeNwYOA8corr6h+/frq0aOH6RQgqNWoUUNJSUmybdt0CnDUGDwICI7jKCUlRZZlyePxmM4Bgt6gQYO0atUqLV++3HQKcFQYPAgICxYs0O7du3XttdeaTgEgqWbNmoqLi+MsDwIGgwcBwbZteb1ehYTwkAX8xV133aUlS5Zo9erVplOAI+LoAb/37rvv6ocfftCAAQNMpwDYS+3atRUVFaX09HTTKcARhZoOAI7Etm0lJiYqNJSHK+BvoqKi1Lp1a61du5aPeoFf4wwP/Nqnn36qgoICDR061HQKgIOoX7++7rzzTo0fP950CnBYDB74tdTUVI0ZM0bh4eGmUwAcQmxsrGbOnKmNGzeaTgEOicEDv/XNN9/ojTfe0IgRI0ynADiM0047Tf3791dOTo7pFOCQGDzwWxkZGbrnnntUt25d0ykAjiAhIUGPPfaYtm3bZjoFOCgGD/zSzz//rBdffFGjR482nQLgKLRq1UpXXXWVHnvsMdMpwEExeOCXJkyYoEGDBqlhw4amUwAcJa/Xq+zsbJWUlJhOAQ7A4IHf2bx5s5544gnFx8ebTgFwDNq3b6+LLrpI06dPN50CHIDBA7+Tn5+vf/zjH7ynBxCALMtSRkaGysrKTKcA+2DwwK8UFRUpLy9PSUlJplMAHIdLLrlEZ555pl544QXTKcA+GDzwK1OnTlW3bt3Upk0b0ykAjpNlWbJtWxUVFaZTgD8weOA3du/erfHjx8uyLNMpAE5Ar169VLNmTb3++uumU4A/MHjgN2bNmqXzzjtPnTp1Mp0C4AR4PB4lJyfLtm05jmM6B5DE4IGfKC8vV1paGmd3AJfo16+ffvvtNy1evNh0CiCJwQM/8fLLL+uUU05Rjx49TKcA8IEaNWooKSlJKSkpplMASQwe+AHHcWTbtizLksfjMZ0DwEcGDRqkL774QsuXLzedAjB4YN6CBQu0e/duXXPNNaZTAPhQzZo1FR8fL9u2TacADB6Yl5KSIq/Xq5AQHo6A2wwbNkxLlizR6tWrTacgyHGEgVHvvvuu1q5dqwEDBphOAVAFateuraioKKWlpZlOQZALNR2A4GbbthITExUaykMRcKuoqCi1bt1aa9eu5SNjYAxneGDMypUrVVBQoKFDh5pOAVCF6tevrzvvvFPjx483nYIgxuCBMampqYqNjVV4eLjpFABVLDY2VjNnztTGjRtNpyBIMXhgxDfffKMFCxbonnvuMZ0CoBqcdtpp6t+/v3JyckynIEgxeGBERkaG7rnnHtWtW9d0CoBqkpiYqMcee0zbtm0znYIgxOBBtVu/fr1efPFFjR492nQKgGp01lln6aqrrtLkyZNNpyAIMXhQ7SZMmKDbbrtNDRs2NJ0CoJp5vV5lZ2eruLjYdAqCDIMH1Wrz5s2aNm2a4uLiTKcAMKB9+/bq3LmzZsyYYToFQYbBg2qVn5+v6667jvfiAIKYZVlKT09XWVmZ6RQEEQYPqk1RUZHy8vKUlJRkOgWAQX/729/UvHlzPf/886ZTEEQYPKg2U6dO1WWXXaY2bdqYTgFgmGVZSk1NVUVFhekUBAkGD6rF7t27NX78eFmWZToFgB/o1auXatWqpddff910CoIEgwfVYubMmTr//PN10UUXmU4B4Ac8Ho8sy1JKSoocxzGdgyDA4EGVKy8vV1paGmd3AOyjX79+2rx5s/73v/+ZTkEQYPCgyr388stq0KCBunfvbjoFgB+pUaOGvF6vbNs2nYIgwOBBlXIcR7Zty7IseTwe0zkA/Mytt96q1atXq6CgwHQKXI7Bgyr1xhtvqLS0VNdcc43pFAB+qGbNmoqLi+MsD6ocgwdVyrZteb1ehYTwUANwcMOGDdM777yj1atXm06Bi3EUQpVZunSpfvzxR918882mUwD4sdq1ays6OlppaWmmU+BioaYD4F62bSsxMVGhoTzMABzeqFGj1Lp1a61du5aPnkGV4AwPqsTKlSv10UcfaciQIaZTAASA+vXr684771RmZqbpFLgUgwdVIjU1VWPGjFF4eLjpFAABIjY2VrNmzdLGjRtNp8CFGDzwuW+++UYLFizQPffcYzoFQAA57bTTdPPNNysnJ8d0ClyIwQOfS09P14gRI1S3bl3TKQACTEJCgh577DFt27bNdApchsEDn1q/fr1eeuklxcTEmE4BEIDOOussXXXVVZo8ebLpFLgMgwc+NWHCBN12221q2LCh6RQAAcrr9So7O1vFxcWmU+AiDB74zG+//aYnn3xS8fHxplMABLD27durc+fOmj59uukUuAiDBz6Tn5+v66+/XmeccYbpFAABzrIsZWRkqKyszHQKXILBA58oKipSfn6+kpKSTKcAcIG//e1vat68uZ5//nnTKXAJBg98YurUqbrssst07rnnmk4B4BLJyclKTU1VRUWF6RS4AIMHJ2zXrl3KzMyUZVmmUwC4SM+ePVWrVi299tprplPgAgwenLBZs2apbdu2uuiii0ynAHARj8cjy7Jk27YcxzGdgwDH4MEJKS8vV1paGmd3AFSJfv36acuWLfrf//5nOgUBjsGDEzJnzhydeuqp6t69u+kUAC5Uo0YNJSUlKSUlxXQKAhyDB8fNcRzZti3LsuTxeEznAHCpW2+9VV9++aUKCgpMpyCAMXhw3N544w2VlZWpb9++plMAuFjNmjUVFxcn27ZNpyCAMXhw3GzbltfrVUgIDyMAVWvYsGF655139MUXX5hOQYDiSIXjsnTpUv3444+6+eabTacACAK1a9dWdHS00tLSTKcgQIWaDkBgsm1biYmJCg3lIQSgeowaNUqtW7fW2rVrdeaZZ5rOQYDhDA+O2SeffKKPPvpIQ4YMMZ0CIIjUr19fw4YNU2ZmpukUBCAGD45ZamqqYmNjFR4ebjoFQJCJjY3VrFmzVFhYaDoFAYbBg2OyZs0avfnmm7rnnntMpwAIQk2aNNHNN9+snJwc0ykIMAweHJOMjAyNGDFCderUMZ0CIEglJCTo8ccf17Zt20ynIIAweHDU1q9fr5deekkxMTGmUwAEsbPOOktXX321Jk+ebDoFAYTBg6OWlZWl22+/XQ0bNjSdAiDIeb1eZWdnq7i42HQKAgSDB0flt99+07Rp0xQXF2c6BQDUrl07de7cWdOnTzedggDB4MFRyc/P1/XXX68zzjjDdAoASJKSk5OVkZGh0tJS0ykIAAweHNGOHTuUn5+vpKQk0ykA8IcuXbqoRYsWev75502nIAAweHBEU6dOVffu3XXuueeaTgGAfViWpdTUVFVUVJhOgZ9j8OCwdu3apfHjx8uyLNMpAHCAnj17Kjw8XK+99prpFPg5Bg8Oa9asWWrbtq3+8pe/mE4BgAN4PB4lJycrJSVFjuOYzoEfY/DgkMrLy5WWlqbk5GTTKQBwSP369dPWrVv11ltvmU6BH2Pw4JDmzJmjU089VZdddpnpFAA4pJCQECUlJcm2bdMp8GMMHhyU4ziybVuWZcnj8ZjOAYDDuvXWW/Xll19q2bJlplPgpxg8OKj//Oc/Ki8vV9++fU2nAMAR1axZU/Hx8ZzlwSExeHBQtm3L6/UqJISHCIDAMGzYMC1dulRffPGF6RT4IY5mOMDSpUu1bt069e/f33QKABy1yMhIRUdHKy0tzXQK/FCo6QD4H9u2lZCQoNBQHh4AAsuoUaPUunVr/fDDD2revLnpHPgRzvBgH5988ok++ugjDRkyxHQKAByz+vXra9iwYcrMzDSdAj/D4ME+UlNTFRsbq/DwcNMpAHBcYmNj9cwzz6iwsNB0CvwIgwd/WLNmjd58803dc889plMA4Lg1adJEN998s3JyckynwI8wePCH9PR0jRw5UnXq1DGdAgAnJCEhQY8//ri2bt1qOgV+gsEDSdL69es1e/ZsxcTEmE4BgBN21lln6eqrr9bkyZNNp8BPMHggScrKytLtt9+uU0891XQKAPiE1+tVTk6OiouLTafADzB4oN9++03Tp09XXFyc6RQA8Jl27drpr3/9q6ZPn246BX6AwQPl5eXp+uuv1xlnnGE6BQB8yrIspaenq7S01HQKDGPwBLkdO3Zo4sSJSkxMNJ0CAD7XpUsXtWzZUs8//7zpFBjG4AlyU6dOVffu3XXuueeaTgGAKmFZllJTU1VRUWE6BQYxeILYrl27NH78eFmWZToFAKpMz549FRERoVdffdV0Cgxi8ASxmTNnql27dvrLX/5iOgUAqozH45FlWbJtW47jmM6BIQyeIFVeXq709HTO7gAICv369dPWrVv11ltvmU6BIQyeIDVnzhw1bNhQl112mekUAKhyISEh8nq9sm3bdAoMYfAEIcdxZNu2LMuSx+MxnQMA1WLgwIH68ssv9eGHH5pOgQEMniD0n//8R+Xl5erbt6/pFACoNjVr1lR8fLxSU1NNp8AABk8Qsm1bXq+XszsAgs6wYcO0dOlSffHFF6ZTUM0YPEHmnXfe0bp169S/f3/TKQBQ7SIjIxUTE6O0tDTTKahmoaYDUL1s21ZiYqJCQ/mtBxCcRo0apVatWumHH35Q8+bNTeegmnCGJ4h88skn+vjjjzV48GDTKQBgzMknn6xhw4YpMzPTdAqqEYMniKSmpio2Nlbh4eGmUwDAqNjYWD3zzDMqLCw0nYJqwuAJEmvWrNF///tf3XPPPaZTAMC4Jk2aaMCAAcrOzjadgmrC4AkS6enpGjFihOrUqWM6BQD8QkJCgqZMmaKtW7eaTkE1YPAEgfXr12v27NmKiYkxnQIAfqNly5a6+uqrNXnyZNMpqAYMniCQlZWlwYMH69RTTzWdAgB+xev1Kjs7W8XFxaZTUMUYPC63adMmTZs2TXFxcaZTAMDvtGvXThdffLGmTZtmOgVVjMHjcvn5+erXr5+aNWtmOgUA/JJlWcrIyFBpaanpFFQhBo+L7dixQ/n5+UpMTDSdAgB+q0uXLmrZsqWef/550ymoQgweF5syZYouv/xynXvuuaZTAMCvJScny7ZtVVRUmE5BFWHwuNSuXbuUlZUly7JMpwCA3/v73/+uyMhIvfrqq6ZTUEUYPC41c+ZMtWvXThdeeKHpFADwex6PR5ZlybZtOY5jOgdVgMHjQuXl5UpLS1NycrLpFAAIGP369dO2bdu0aNEi0ymoAgweF5o9e7YaNWqkbt26mU4BgIAREhKipKQk2bZtOgVVgMHjMo7jyLZtWZYlj8djOgcAAsrAgQP11VdfadmyZaZT4GMMHpf5z3/+o4qKCvXt29d0CgAEnJo1ayo+Pp6zPC7E4HGZlJQUzu4AwAkYNmyYli5dqlWrVplOgQ8xeFzknXfe0fr163XTTTeZTgGAgBUZGamYmBilpaWZToEPhZoOgO/Ytq3ExESFhvLbCgAnYtSoUWrVqpW+//57tWjRwnQOfIAzPC6xYsUKrVixQoMHDzadAgAB7+STT9Zdd92lzMxM0ynwEQaPS6Smpio2Nlbh4eGmUwDAFcaMGaNnn31WGzZsMJ0CH2DwuMCaNWu0cOFCDR8+3HQKALhGkyZNNGDAAOXk5JhOgQ8weFwgPT1dI0aMUJ06dUynAICrJCQk6PHHH9fWrVtNp+AEMXgC3Lp16zR79mzFxMSYTgEA12nZsqX69OmjSZMmmU7BCWLwBLisrCwNHjxYp556qukUAHAlr9ernJwcFRcXm07BCWDwBLBNmzZp+vTpiouLM50CAK7Vtm1bXXzxxZo2bZrpFJwABk8Ay8/PV79+/dSsWTPTKQDgapZlKSMjQ6WlpaZTcJwYPAFqx44dys/PV1JSkukUAHC9Ll266KyzztJzzz1nOgXHicEToKZMmaLLL79c55xzjukUAAgKlmUpNTVVFRUVplNwHBg8AWjXrl3KysqSZVmmUwAgaPz9739XZGSkXn31VdMpOA4MngA0c+ZMtW/fXhdeeKHpFAAIGh6PR8nJyUpJSZHjOKZzcIwYPAGmvLxcaWlpnN0BAAOuv/56bd++XYsWLTKdgmPE4Akws2fPVqNGjdStWzfTKQAQdEJCQpSUlCTbtk2n4BgxeAKI4ziybVuWZcnj8ZjOAYCgNHDgQH311Vf68MMPTafgGDB4Asj8+fPlOI769u1rOgUAglbNmjWVkJDAWZ4Aw+AJILZty+v1cnYHAAy788479e6772rVqlWmU3CUGDwB4p133tH69et10003mU4BgKAXGRmpmJgYpaWlmU7BUQo1HYCjY9u2kpKSFBrKbxkA+INRo0apVatW+v7779WiRQvTOTgCzvAEgBUrVmjFihUaPHiw6RQAwB4nn3yy7rrrLmVmZppOwVFg8ASA1NRUxcbGqlatWqZTAAB7GTNmjJ599llt2LDBdAqOgMHj577++mstXLhQw4cPN50CANhPkyZNNGDAAGVnZ5tOwREwePxcenq6Ro4cqTp16phOAQAcREJCgqZMmaKtW7eaTsFhMHj82Lp16zRnzhzFxMSYTgEAHELLli3Vp08fTZo0yXQKDoPB48eysrI0ePBgNWjQwHQKAOAwvF6vcnJytHPnTtMpOAQGj5/atGmTpk+frri4ONMpAIAjaNu2rbp06aJp06aZTsEhMHj8VF5enm644QY1a9bMdAoA4ChYlqXMzEyVlpaaTsFBMHj80I4dOzRx4kQlJiaaTgEAHKWLL75YZ511lp577jnTKTgIBo8fmjJlii6//HKdc845plMAAMfAsiylpqaqoqLCdAr2w+DxM7t27VJWVpYsyzKdAgA4Rn//+99Vu3Zt/etf/zKdgv0wePzM008/rfbt2+vCCy80nQIAOEYej0eWZcm2bTmOYzoHe2Hw+JHy8nKlp6dzdgcAAtj111+v7du3a9GiRaZTsBcGjx+ZPXu2GjdurG7duplOAQAcp5CQEHm9XqWkpJhOwV4YPH7CcRzZti3LsuTxeEznAABOwMCBA7VmzRp9+OGHplOwB4PHT8yfP1+O46hPnz6mUwAAJygsLEzx8fGybdt0CvZg8PgJ27bl9Xo5uwMALnHnnXfq3Xff1eeff246BWLw+IUlS5bo559/1k033WQ6BQDgI5GRkRo9erTS0tJMp0BSqOkAVJ7dSUxMVGgovx0A4CYjR45Uq1at9P3336tFixamc4IaZ3gMW7FihT755BMNHjzYdAoAwMdOPvlk3XXXXcrMzDSdEvQYPIalpqYqNjZWtWrVMp0CAKgCY8aM0TPPPKMNGzaYTglqDB6Dvv76ay1cuFDDhw83nQIAqCJNmjTRwIEDlZ2dbTolqDF4DEpPT9fIkSNVp04d0ykAgCqUkJCgKVOmaMuWLaZTghaDx5B169Zpzpw5iomJMZ0CAKhiLVq0UJ8+fTRp0iTTKUGLwWNIVlaWhgwZogYNGphOAQBUA6/Xq9zcXO3cudN0SlBi8BiwadMmTZ8+XWPHjjWdAgCoJm3btlWXLl00bdo00ylBicFjQF5enm644QY1a9bMdAoAoBpZlqWMjAyVlpaaTgk6DJ5qtn37dk2cOFGJiYmmUwAA1eziiy9Wq1at9Oyzz5pOCToMnmo2ZcoUXXHFFTrnnHNMpwAADEhOTlZaWpoqKipMpwQVBk812rVrl7KysuT1ek2nAAAMufLKK1W7dm3961//Mp0SVBg81ejpp59Whw4ddOGFF5pOAQAY4vF4ZFmWUlJS5DiO6ZygweCpJmVlZUpLS1NycrLpFACAYddff7127NihhQsXmk4JGgyeajJ79mw1adJE3bp1M50CADAsJCREXq9Xtm2bTgkaDJ5q4DiOUlNTZVmW6RQAgJ8YOHCg1qxZow8++MB0SlBg8FSD+fPny3Ec9enTx3QKAMBPhIWFKT4+nrM81YTBUw1SUlJkWZY8Ho/pFACAH7nzzjv1/vvv6/PPPzed4noMniq2ZMkS/fLLL/rnP/9pOgUA4GciIyMVExOjtLQ00ymuF2o6wO1s21ZiYqJCQ/m/GgBwoJEjR6pVq1b67rvv1LJlS9M5rsUZniq0YsUKffLJJxo8eLDpFACAnzr55JN19913KzMz03SKqzF4qpBt2xo7dqxq1aplOgUA4MfGjBmj5557Ths2bDCd4loMniry9ddfa9GiRbr77rtNpwAA/Fzjxo11yy23KDs723SKazF4qkh6erpGjhypOnXqmE4BAASAhIQETZkyRVu2bDGd4koMniqwbt06zZkzRzExMaZTAAABokWLFurbt68mTZpkOsWVGDxVYPz48RoyZIgaNGhgOgUAEECSkpKUm5urnTt3mk5xHQaPj23atEkzZszQ2LFjTacAAAJM27Zt1aVLFz355JOmU1yHweNjeXl5uuGGG9SsWTPTKQCAAGRZljIzM1VaWmo6xVUYPD60fft2TZw4UUlJSaZTAAAB6uKLL1br1q317LPPmk5xFQaPD02ZMkVXXHGFzj77bNMpAIAAZlmWUlNTVVFRYTrFNRg8PrJr1y5lZWXJ6/WaTgEABLgrr7xSJ510kubOnWs6xTUYPD7y9NNP64ILLtCFF15oOgUAEOA8Ho+Sk5Nl27YcxzGd4woMHh8oKytTWlqaLMsynQIAcIl//OMfKioq0sKFC02nuAKDxwdmz56tJk2aqFu3bqZTAAAuERISoqSkJKWkpJhOcQUGzwlyHEe2bXN2BwDgcwMHDtQ333yjDz74wHRKwGPwnKB58+ZJkvr06WO4BADgNmFhYUpISJBt26ZTAh6D5wT9fnbH4/GYTgEAuNAdd9yh999/X5999pnplIDG4DkBS5Ys0S+//KJ//vOfplMAAC4VGRmpmJgYpaWlmU4JaKGmAwKZbdtKSkpSaCj/NwIAqs7IkSPVqlUrfffdd2rZsqXpnIDEGZ7j9PHHH+uTTz7R7bffbjoFAOByJ598su6++25lZmaaTglYDJ7jlJqaqrFjx6pWrVqmUwAAQWDMmDF69tln9csvv5hOCUgMnuPw1VdfadGiRbr77rtNpwAAgkTjxo01cOBAZWdnm04JSAye45Cenq5Ro0apTp06plMAAEEkISFBU6dO1ZYtW0ynBBwGzzH66aef9PLLLys6Otp0CgAgyLRo0UJ9+/bVxIkTTacEHAbPMcrKytKQIUPUoEED0ykAgCCUlJSk3Nxc7dy503RKQGHwHINNmzZpxowZiouLM50CAAhSbdu21SWXXKInn3zSdEpAYfAcg9zcXN14441q2rSp6RQAQBCzLEuZmZnavXu36ZSAweA5Stu3b9ekSZOUmJhoOgUAEOT++te/qnXr1nr22WdNpwQMBs9RmjJliq644gqdffbZplMAAJBlWUpLS1NFRYXplIDA4DkKu3btUlZWlizLMp0CAIAk6corr1SdOnU0d+5c0ykBgcFzFJ566ildcMEF6tixo+kUAAAkSR6PR5ZlKSUlRY7jmM7xewyeIygrK1N6ejpndwD4vcKiQqUvTde6i9fpGecZDXp5kNKXpmtj0UbTaagi//jHP7Rz507997//NZ3i9/iY7yOYPXu2mjRpom7duplOAYCDWrZumex3bM1fM1+SVFJWUnnFT9LLX7ysB/73gHq37i2rq6XOTTsbLIWvhYSEKCkpSbZtq2fPnqZz/BpneA7DcRzZtq3k5GTTKQBwUJMLJqvHUz00d/VclZSV/Dl29iguK1ZJWYnmrp6rHk/10OSCyUY6UXUGDhyob775Ru+//77pFL/G4DmMefPmyePxqHfv3qZTAOAAkwsmK35BvHaW7pQzx5Hm7neD7yWlSdouOXK0s3Sn4hfEM3pcJiwsTAkJCbJt23SKX2PwHIZt2/J6vfJ4PKZTAGAfy9Yt+2PsSJJ6S/pa0jd7blAq6VVJvSTt9TnHv4+egvUF1ZmLKnbHHXfogw8+0GeffWY6xW8xeA5hyZIl2rBhg2666SbTKQBwAPsdW8WlxX9eECmpj6TXJO2WtFjSKZIuPPBri0uLZS/hbICbREZGavTo0UpLSzOd4rcYPIeQkpKixMRE1ahRw3QKAOyjsKhQ89fMl6P9fhS5raTTJM2WtFzStQf/ekeO5q2Zx09vuczIkSM1b948fffdd6ZT/BKD5yA+/vhjrVy5UrfffrvpFAA4wIwVMw59ZV9J30nqLqneoW/mkefw94OAU69ePd19993KyMgwneKXGDwHkZqaqrFjx6pWrVqmUwDgACs3rDzgp7H+cJIqn95qePj7KC4r1qeFn/o6DYaNGTNGzz33nH755RfTKX6HwbOfr776SosWLdLw4cNNpwDAQW0t2eqT+9lcstkn9wP/0bhxY916663Kzs42neJ3GDz7SU9P16hRo3TSSSeZTgGAg6oXfpjnqo5B/fD6Prkf+Jf4+HhNnTpVW7ZsMZ3iVxg8e/npp5/08ssvKzo62nQKABxSh8YdFB4afkL3EREaofaN2vuoCP6kRYsW6tu3ryZOnGg6xa8wePaSlZWloUOHqkGDBqZTAOCQhnQccvgbxEpqdfibOHKOfD8IWF6vV7m5udq5c6fpFL/B4Nnj119/1YwZMzR27FjTKQBwWI1qN1Lv1r3l0fG9KapHHvVp3UcNax/hlc0IWOeff74uueQSPfHEE6ZT/AaDZ4+8vDzdeOONatq0qekUADgiq6uliLCI4/raiLAIWd0sHxfB31iWpczMTO3evdt0il9g8Ejavn27Jk2apMTERNMpMKiwqFDpS9N1aeal6vdiPw16eZDSl6bz5mzwS52bdlZmr0xFhkUe09dFhkUqs1emOp3eqYrK4C/++te/6uyzz9azzz5rOsUveBzHOeSVnTp1cgoK3P95K5mZmSooKNDzzz9vOgUGLFu3TPY7tuavmS9J+7y/SURohBw56t26t6yuljo37WwqEzio3z9AtLi0+MB3Xt6LRx5FhEUos1emRnQaUY2FMGnhwoUaNWqUPv/886D45ACPx7PccZyDrvmgP8Oza9cuTZgwQV6v13QKDJhcMFk9nuqhuavnqqSs5IA3cysuK1ZJWYnmrp6rHk/14FOm4XdGdBqhxUMWq1+bfgoPDVdE6L5Pc0WERig8NFz92vTT4iGLGTtB5oorrlDdunU1d+5c0ynGhZoOMO2pp57SBRdcoI4dO5pOQTX7/W/GO0t3SrskTZJ0paQOe26wS9JESVdJTlvnj0+ZlsRBA36l0+mdNOfmOdpYtFEzVszQp4WfanPJZtUPr6/2jdprSMchvEA5SHk8HlmWpUcffVQ33HCDPJ7je6G7GwT1U1plZWVq06aNZsyYoa5du5rOQTVatm6ZejzVo3Ls/G6NpJcljZJUW9LrknZIGrDv10aGRWrxkMW8BgJAQKioqFC7du2Uk5Ojnj17ms6pUjyldQgvvfSSTjvtNMZOELLfsVVcWrzvha0lnS1pvio/fPFzVX4Q436KS4tlL7GrvBEAfCEkJERer1cpKSmmU4wK2sHjOI5SU1NlWfxoZrApLCrU/DXzD/4Cz6slfS/pRUm9JNU58CaOHM1bM4+f3gIQMG655RZ99913ev/9902nGBO0g2fevHnyeDzq3bu36RRUsxkrZhz6yghVfsp0qaTzDn0zjzyHvx8A8CNhYWGKj4+XbQfv2emgHDyO4yglJUWWZQX1C7iC1coNKw/4aaw/fCJpi6SzJL156PsoLivWp4Wf+j4OAKrInXfeqQ8++ECfffaZ6RQjgnLwLFmyRIWFhfrnP/9pOgUGbC3ZevArdkh6Q9J1kq5V5Wt4fjj0/Wwu2ezzNgCoKhERERo9erRSU1NNpxgRlIPHtm0lJiYGxZsw4UD1wusd/Ip5ktpIaqnK1+70lPSqpLKD37x+eP2qyAOAKjNy5EjNnz9f3333nemUahd0g+fjjz/WypUrdfvtt5tOgSEdGndQeGj4vhd+IWmtKkfO7y5S5fBZfOB9RIRGqH2j9lXWCABVoV69err77ruVkZFhOqXaBd378PTv319dunThU9GDWGFRoZpnNz/063iOQnhouNaOWcubuQEIOBs2bFCbNm30xRdfqEmTJqZzfIr34dnjq6++0ltvvaW7777bdAoMalS7kXq37i2Pju8F6x551Kd1H8YOgIDUuHFj3XrrrZowYYLplGoVVIMnPT1do0aN0kknnWQ6BYZZXS1FhEUc+YYHEREWIasb798EIHDFx8friSee0JYtW0ynVBtXfpZWYVGhZqyYoZUbVmpryVbVC6+ns+uerTn/maM1n6wxnQc/0LlpZ2X2yvzzs7SOUmRYpDJ7ZfKxEgACWosWLXTNNdfoqaee0i3DbjngmNmhcQcN7TjUVWeyXfUanmXrlsl+x9b8NfMlaZ/XaESERqiiokJ9zukjq6ulzk07m8qEH/n9A0SLS4sP/s7Le3jkUURYhDJ7ZfLBoQBc4a0v31L6++n630//k3TgMdORo96tewfUMfNwr+FxzeDhwIXjVbC+QPYSW/PWzJNHHhWX/fkZW7//S9+ndR9Z3SzO7ABwBbceMw83eFzxlNbkgskafe9olX5bKg3a64pcSadon8ucXEc7L9+peMVLUkD8BqJqdTq9k+bcPEcbizZqxooZ+rTwU20u2az64fXVvlF7Dek4xFWndQEEt9/Hzs7SndJKSa8d5EalknpITg9HO0t3Kn5B4B8zA37wLFu3TPEL4lXarLTy/VIqVPlS7O2SyiX9vN9lv0lqrj9+Azuf3pm/tUOS1LB2QyVcmmA6AwCqzO/HzD9eu9hhz6+9LZe0SJXvRbaHG46ZAf9TWvY7topLi6XTVTlwftlzxQ+qfMfcU/e7rL6kupX/WFxaLHtJ8H6QGgAguPxxzDyUnyX9R9I/VfnGq3sJ9GNmQA+ewqJCzV8zv/L5x1BJzfTnZx/9IOnMPb/2vqz5n1/vyNG8NfO0sWhj9UUDAGDAPsfMgymW9KKk7qo8YbCfQD9mBvTgmbFixr4XNNef42btnn8+c7/LWuz7JR55DrwfAABc5rDHOkfSK5IaSbr00DcL5GNmQA+elRtW7vvxAM1VOWp2SiqS1EDSGZJ+3HNZofY5wyNJxWXF+rTw02rpBQDAlAOOmXt7R9JGSddLh3sT+kA+Zgb04NlasnXfC86QVCLpI1We2ZGkcFU+D/nRnv88yAdcby7ZXHWRAAD4gQOOmb/7TtISSf0lHcUb0AfqMTOgB0+98Hr7XhCmyhcvv6c/B4/2/Pf3dMDZnd/VDz/ICgIAwEUOOGZKlT+9PFvS1ZJOO7r7CdRjZkAPng6NOyg8NHzfC1uo8ums/QdPkQ46eCJCI9S+UfuqSgQAwC8c9Ji5XJXHx/mSHt3v10HenyeQj5kB/U7LhUWFap7d/NDPSR6F8NBwrR2zljeWAwC4WjAcMw/3TssBfYanUe1G6t26tzyHe4XVYXjkUZ/Wffz2Nw4AAF8J9mNmQA8eSbK6WooIO4pXWR1ERFiErG6Wj4sAAPBPwXzMDPjB07lpZ2X2ylRkWOQxfV1kWKQye2UG7FtkAwBwrIL5mBnwn6Ul/flhZm785FcAAHwpWI+ZAX+G53cjOo3Q4iGL1a9NP4WHhisidN9TdhGhEQoPDVe/Nv20eMjigP+NAwDgeAXjMTOgf0rrUDYWbdSMFTP0aeGn2lyyWfXD66t9o/Ya0nFIwL7YCgCAquCmY+bhfkrLlYMHAAAEH9f+WDoAAMDRYPAAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADXY/AAAADX8ziOc+grPZ6Nkn6ovhwAAIDj1txxnIYHu+KwgwcAAMANeEoLAAC4HoMHAAC4HoMHAAC4HoMHAAC4HoMHAAC43v8Dvi/RKKEVPu0AAAAASUVORK5CYII=", + "image/png": "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OgVHKTQ0VHl5eYqLi9OOHTtM5wDYD4MH8DNffvmlpk2bprS0NNMpOEbdunVT9+7dlZKSYjoFwH4YPIAfcRxHMTExSk5OVpMmTUzn4Dikp6drypQp+vrrr02nANgLgwfwI//617/0008/KSoqynQKjtPpp5+upKQkjRkzxnQKgL0weAA/UVxcrNjYWOXm5iosLMx0Dk7A6NGj9c033+j11183nQJgDwYP4CfS09PVqVMnXXnllaZTcIJq1qyp3NxcjR49WiUlJaZzAIjBA/iF77//Xnl5eRo/frzpFPhIr169dMEFFygzM9N0CgAxeAC/MHbsWMXGxurMM880nQIfysrKUnZ2ttauXWs6BQh6DB7AsAULFmjlypWKi4sznQIfa9GihaKjo/m9BfwAgwcwaPfu3YqJiVF2drbCw8NN56AKJCYmqqCgQAsXLjSdAgQ1Bg9gUE5Ojlq1aqVrrrnGdAqqSEREhCZMmKDo6GiVlpaazgGCFoMHMGT9+vVKS0tTdna26RRUsX/84x8688wzlZeXZzoFCFoMHsCQxMREDR8+XGeffbbpFFQxj8ejnJwc2batX375xXQOEJQYPIABS5Ys0dtvv63k5GTTKagm5557ru644w4lJSWZTgGCEoMHqGZlZWWKiopSZmamateubToH1WjcuHFauHCh3n33XdMpQNBh8ADV7PHHH1eDBg100003mU5BNatTp47S09MVFRWl8vJy0zlAUGHwANVo48aN+r//+z/l5ubK4/GYzoEBt9xyi0466SRNnTrVdAoQVBg8QDW69957deutt6pdu3amU2CIx+NRfn6+HnjgAW3atMl0DhA0GDxANSkoKNBrr72mBx980HQKDOvQoYP69++vcePGmU4BggaDB6gGFRUVioqKkm3bqlevnukc+IGHHnpIr7zyij766CPTKUBQYPAA1eCpp56Sx+PR7bffbjoFfqJ+/fp65JFHFBUVpYqKCtM5gOsxeIAqtmXLFiUnJysvL08hIfwrhz/dcccdKisr06xZs0ynAK7Hn75AFXvwwQd13XXXqVOnTqZT4GdCQkKUn58vr9errVu3ms4BXI3BA1Shzz77TM8++6weffRR0ynwU3/961/Vu3dvPfTQQ6ZTAFdj8ABVxHEcRUdH68EHH9Spp55qOgd+zLZtPf3001q1apXpFMC1GDxAFXnxxRe1efNm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L76oN954w0AZULU8Hs9yx3EO+q6aPKWFoOI4jmzblmVZBx07gNvddtttWrVqlZYvX246BahWDB4ElTfffFMlJSW67rrrTKcARtSsWVNxcXFKTU01nQJUKwYPgopt2/J6vQoJ4aGP4HXXXXdp8eLF+vLLL02nANWGP/URNN577z199913GjBggOkUwKjatWsrKipKaWlpplOAasOrMhE0bNtWYmIib6sPSIqKitLZZ5+tH3/8UWeccYbpHKDKcYYHQeHTTz/VsmXLNHToUNMpgF845ZRTdMcdd2j8+PGmU4BqweBBUEhNTdXo0aP/+NwsAFJsbKyefvppbdy40XQKUOUYPHC9b7/9Vm+88YZGjBhhOgXwK6effrpuuukm5ebmmk4BqhyDB66XkZGh4cOHq169eqZTAL+TmJioxx57TNu2bTOdAlQpBg9c7eeff9YLL7yg0aNHm04B/FKrVq3Us2dPPf7446ZTgCrF4IGrTZgwQbfeeqsaNWpkOgXwW16vVxMmTFBJSYnpFKDKMHjgWps3b9aTTz6p+Ph40ymAX+vQoYMuuugizZgxw3QKUGUYPHCtiRMn6tprr1Xz5s1NpwB+z7Ispaenq6yszHQKUCUYPHCloqIi5ebmKikpyXQKEBAuueQSnXHGGXrhhRdMpwBVgsEDV3riiSfUrVs3nXfeeaZTgIBhWZZSU1NVUVFhOgXwOQYPXGf37t0aP368LMsynQIElKuuukphYWH697//bToF8DkGD1znmWee0bnnnqtOnTqZTgECisfjkWVZSklJkeM4pnMAn2LwwFXKy8uVmprK2R3gON1www367bfftHjxYtMpgE8xeOAqr7zyiurXr6/LL7/cdAoQkGrUqKHExETZtm06BfApBg9cw3Ec2bYty7Lk8XhM5wAB67bbbtOqVau0fPly0ymAzzB44BoLFixQSUmJrr32WtMpQECrWbOm4uLiOMsDV2HwwDV+P7sTEsLDGjhRd911l95++22tXr3adArgExwZ4ArvvfeefvjhBw0YMMB0CuAKtWvXVnR0tNLT002nAD4RajoA8AXbtpWQkKDQUB7SgK9ERUWpdevWWrt2rc4880zTOcAJ4QwPAt6nn36qZcuWaejQoaZTAFepX7++7rjjDo0fP950CnDCGDwIeKmpqRozZowiIiJMpwCuExsbq5kzZ2rjxo2mU4AT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\n", "text/plain": [ "
" ] @@ -266,7 +255,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -280,7 +269,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAIuCAYAAAC7EdIKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAAsTAAALEwEAmpwYAABi8klEQVR4nO3dd3zN9+PF8XOzp4iYscWqEFSUIkaLFlWN1laiNkkksu5NbZWbJbJqRGtTVdF8Wz9aLbVLUaEoSos2RuzIXp/fHyGVSiL7fe/nnufjkUfr3publ7jtPT735l6FJEkgIiIikjM90QFERERElY2Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGSPg4eIiIhkz6C4M2vWrCk1adKkilKIiIiIyu7UqVP3JEmqVdh5xQ6eJk2a4OTJk5VTRURERFSBFArF9aLO40NaREREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkewaiA4hINySmJGJd/DqcvXMWj9Mfw8rECg51HDChwwTUMq8lOo+IZE4hSVKRZzo6OkonT56swhwikpsTCSegPqzG7iu7AQDp2en555kamEKChAHNB0DVQ4XO9TuLyiQiGVAoFKckSXIs7Dw+pEVElWbFyRXovb434i7GIT07vcDYAYC07DSkZ6cj7mIceq/vjRUnVwjpJCL54+Ahokqx4uQKeO/xRmpWKiQUfSQZACRISM1Khfce77yR1Ls3PvvssyoqJSJdwMFDRMVat24d2rVrBzMzM9StWxfTp0/Ho0ePiv2cEwkn8scOlgH4BMCS5z6SCv+8Z6PnSeaTCv09EBFx8BBRkZYuXQo/Pz+EhITg8ePHOHbsGK5fv45+/fohMzOzyM9TH1YjLSvt3xNGAfj4uY9qRX/NtKw03Hh0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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAIuCAYAAAC7EdIKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAAsTAAALEwEAmpwYAABi8klEQVR4nO3dd3zN9+PF8XOzp4iYscWqEFSUIkaLFlWN1laiNkkksu5NbZWbJbJqRGtTVdF8Wz9aLbVLUaEoSos2RuzIXp/fHyGVSiL7fe/nnufjkUfr3publ7jtPT735l6FJEkgIiIikjM90QFERERElY2Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGSPg4eIiIhkz6C4M2vWrCk1adKkilKIiIiIyu7UqVP3JEmqVdh5xQ6eJk2a4OTJk5VTRURERFSBFArF9aLO40NaREREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkexw8REREJHscPERERCR7HDxEREQkewaiA4hINySmJGJd/DqcvXMWj9Mfw8rECg51HDChwwTUMq8lOo+IZE4hSVKRZzo6OkonT56swhwikpsTCSegPqzG7iu7AQDp2en555kamEKChAHNB0DVQ4XO9TuLyiQiGVAoFKckSXIs7Dw+pEVElWbFyRXovb434i7GIT07vcDYAYC07DSkZ6cj7mIceq/vjRUnVwjpJCL54+Ahokqx4uQKeO/xRmpWKiQUfSQZACRISM1Khfce77yR1Ls3PvvssyoqJSJdwMFDRMVat24d2rVrBzMzM9StWxfTp0/Ho0ePiv2cEwkn8scOlgH4BMCS5z6SCv+8Z6PnSeaTCv09EBFx8BBRkZYuXQo/Pz+EhITg8ePHOHbsGK5fv45+/fohMzOzyM9TH1YjLSvt3xNGAfj4uY9qRX/NtKw03Hh0o4J+B0REeTh4iKhQSUlJmD9/PqKiovD222/D0NAQTZo0wbZt23Dt2jVs2rSp0M9LTEnE7iu7i38YKw3AZgDBAAKf/vvjvLMkSLifdh9PMvKO8ly5cgW9evWClZUVatasiREjRuRfzcWLF9GvXz/UqFEDrVq1wrZt2yrit05EMsTBQ0SFOnr0KNLT0zF06NACp1tYWGDgwIH44YcfAACBgYF455138s9fF7/u5VcuAegIwAOAJwBDALv+PVsBBY78fQQAMHfuXPTv3x8PHz7EP//8Azc3NwBASkoK+vXrh9GjRyMxMRFbt27FjBkzcOHChbL+lolIxjh4iKhQ9+7dQ82aNWFg8OLLddWrVw/37t0DACiVSuzcuTP/vLN3zr7w01jYCkD99OMLAGYA2gAwAmAMwAnA9X8vnivlIiEpAQBgaGiI69ev4+bNmzAxMUGPHj0AADt37kSTJk0wYcIEGBgYoGPHjnj//ffx1VdfVcw3gIhkhS88SESFqlmzJu7du4fs7OwXRs+tW7dQs2bNQj/vcfrjF08cCcDuuV9nAvgewBXkPbz17LRc5P81LDU7FQAQHByMuXPn4rXXXoO1tTW8vLzw0Ucf4fr16zh+/DiqV6+ef7XZ2dn48MMPS/17JSL54+AhokK9/vrrMDY2xo4dOzB8+PD805OTk7F7924EBAQU+nlWJlYvv/KfAdwDMAmAJYBbAFYBzz/tx8zADABQt25drF69GgBw+PBh9O3bFz179kTDhg3Rq1ev/IfWiIiKw4e0iKhQVlZWmD9/Ptzc3PDdd98hKysL165dw/Dhw9GgQYMij6Q41HGAiYFJ8Veegbzn7ZgASAVwoODZego91K9WHwDw1Vdf4Z9//gEAWFtbQ6FQQE9PD++88w4uX76MjRs3IisrC1lZWThx4gR+//33cv2+iUieOHiIqEi+vr4ICAiAt7c3qlWrhi5duqBhw4bYu3cvjI2NAQABAQEYMGBA/ue4dHB5+RV3BZCFvJ/S+gxA84JnS5DQvWF3AMCJEyfQpUsXWFhY4N1330VERASaNWsGS0tL7NmzB1u3boWtrS3q1q0LPz8/ZGRkVMRvnYhkhu+lRUQVbuiXQxF3Me6lr7BcGAUUcG7tjNgRsZVQRkRyxvfSIqIqpeqhgqmhaZk+19TQFConVQUXEZGu4+AhogrXuX5nhPYPhZmhWak+z8zQDKH9Q+FoW+hf0IiIyow/pUVElWK643QAgPceb6RlpRX78JYCCpgamiK0f2j+5xERVSQe4SGiSiFJEh798AjdL3eHc2tnmBiYwNSg4MNcpgamMDEwQfca3dHqaCuMaj5KUC0RyR2P8BBRhbtx4wY+/PBDHDx4EPb29ji37hzuptzFuvh1+C3xNzxMfwhrE2u0q90OLh1ccOj7Q3j//95Ho0aNsHbtWrz//vuifwtEJDMcPERUoZYvXw5fX1+kpeW9hHKHDh0AALXMa8Gnu0+hn9O4cWOYmJjgyZMnGDduHD777DNs2rQJNjY2VZVNRDLHh7SIqMJIkoSYmBjk5OQgNzcXAGBra/vSz6tRowb09fUBABkZGfjpp59w8eLFSm0lIt3CwUNEFUahUODUqVPo2rUrDA0Noa+vj9q1a7/082rUqIH09HQYGxvDwMAA8fHx6N69exUUE5Gu4OAhogp14cIFnD9/HufOncO0adNKNFyqVauGUaNG4YcffsDYsWOxatWqKiglIl3CV1omogojSRL69OmD4cOHY8aMGWW6jsTERNjb22P//v2wt7ev4EIikjO+0jIRVYkvv/wSjx8/xtSpU8t8HbVr18a8efPg5uaG4v5CRkRUGhw8RFQhkpOT4ePjg6ioqPwnIJfV9OnTce/ePWzfvr2C6ohI13HwEFGFWLJkCXr37o0ePXqU+7oMDAwQFRUFLy8vpKSkVEAdEek6Dh4iKrfLly9j9erVCA4OrrDr7NWrF3r06AG1Wl1h10lEuouDh4jKRZIkzJo1C0qlEvXq1avQ6w4JCcGKFStw5cqVCr1eItI9HDxEVC7ffvstrl27Bnd39wq/7vr168PX1xceHh4Vft1EpFs4eIiozNLT0+Hp6YnIyEgYGRlVytfw8PDAH3/8gZ07d1bK9RORbuDgIaIyCwkJQYcOHdCvX79K+xrGxsaIiIiAh4cH0tPTK+3rEJG8cfAQUZlcv34d4eHhCAsLq/Sv9fbbb6Nt27ZV8rWISJ44eIioTLy8vDBr1iw0bty4Sr5eWFgYli5dihs3blTJ1yMieeHgIaJS+/HHH/Hrr7/Cx8enyr5ms2bN4OrqCm9v7yr7mkQkHxw8RFQqmZmZcHNzQ3h4OExNTav0a/v5+eGXX37Bvn37qvTrEpH24+AholKJiopCkyZNMHjw4Cr/2mZmZggLC4ObmxuysrKq/OsTkfbi4CGiErt16xbUajUiIiKgUCiENDg7O6N+/fr49NNPhXx9ItJOHDxEVGJ+fn6YNGkSWrZsKaxBoVAgMjISn3zyCW7fvi2sg4i0CwcPEZXIkSNHsG/fPsyZM0d0Clq3bo0JEyZAqVSKTiEiLcHBQ0QvlZOTA1dXV4SGhsLCwkJ0DgBg7ty5+OGHH/Dzzz+LTiEiLcDBQ0QvFRMTAysrK4wYMUJ0Sr5q1aohKCgIrq6uyMnJEZ1DRBqOg4eIinXv3j3Mnz8fkZGRwp6oXJQxY8bAzMwMn3/+uegUItJwHDxEVKw5c+Zg5MiRcHBwEJ3yAoVCgaioKMydOxcPHjwQnUNEGoyDh4iKdOrUKcTFxWHRokWiU4rUoUMHfPDBB5g7d67oFCLSYBw8RFSo3NxcuLm5ISAgANWrVxedU6zFixdj+/btOH36tOgUItJQHDxEVKiNGzciJycHLi4uolNeqkaNGli8eDHc3NwgSZLoHCLSQBw8RPSCx48fQ6VSITo6Gnp62vG/iYkTJyI9PR2bN28WnUJEGkg7/k9GRFVq4cKFGDRoEDp37iw6pcT09fURHR0NPz8/JCUlic4hIg3DwUNEBZw/fx6bNm1CQECA6JRS69q1K/r374/FixeLTiEiDcPBQ0T5JEmCu7s75s2bh1q1aonOKZPAwECsW7cOv//+u+gUItIgHDxElG/79u24e/cupk2bJjqlzOrUqYOPP/4Y7u7ufAIzEeXj4CEiAEBKSgq8vLwQHR0NAwMD0TnlMnPmTNy6dQtff/216BQi0hAcPEQEAFCr1XByckLPnj1Fp5SboaEhoqKiMHv2bKSmporOISINwMFDRLhy5QpWrlyJ4OBg0SkVpk+fPujSpQuCgoJEpxCRBuDgISJ4enrC19cX9evXF51SoUJDQxEdHY0///xTdAoRCcbBQ6Tjdu7cicuXL8PDw0N0SoVr2LAhvLy84OnpKTqFiATj4CHSYenp6fDw8EBkZCSMjIxE51QKLy8vXLhwAbt37xadQkQCcfAQ6bCwsDC0a9cOb731luiUSmNsbIyIiAjMmjULGRkZonOISBAOHiId9ffffyMsLAxhYWGiUyrdwIED0apVK4SHh4tOISJBOHiIdJS3tzdcXV3RtGlT0SlVIjw8HCEhIUhISBCdQkQCcPAQ6aB9+/bhl19+gZ+fn+iUKmNnZ4fp06fDx8dHdAoRCcDBQ6RjsrKy4ObmhrCwMJiamorOqVIqlQpHjhzBgQMHRKcQURXj4CHSMZ9++ikaNGiA9957T3RKlTMzM8PSpUvh5uaG7Oxs0TlEVIU4eIh0yO3bt7FkyRJERERAoVCIzhHi/fffR61atbBixQrRKURUhTh4iHSIUqnEhAkT0Lp1a9EpwigUCkRFRWHRokVITEwUnUNEVYSDh0hH/Pzzz/jxxx8xd+5c0SnCtWnTBuPGjYO/v7/oFCKqIhw8RDogJycHrq6uCAoKgqWlpegcjTB//nzs2rULv/zyi+gUIqoCHDxEOuDzzz+HmZkZRo8eLTpFY1SrVg2BgYFwdXVFbm6u6BwiqmQcPEQyd//+fcydOxfR0dE6+0TloowdOxYGBgZYu3at6BQiqmQcPEQyN3fuXAwbNgzt27cXnaJx9PT0EB0djY8//hgPHz4UnUNElYiDh0jGTp8+jR07dmDRokWiUzTWq6++CmdnZ8yfP190ChFVIg4eIpmSJAlubm5YvHgxatSoITpHo33yySfYunUrzp49KzqFiCoJBw+RTG3evBkZGRn46KOPRKdoPBsbGyxatAiurq6QJEl0DhFVAg4eIhlKSkqCn58foqOjoa+vLzpHK0yePBnJycnYunWr6BQiqgQcPEQytGjRIrz11lvo0qWL6BStoa+vj6ioKPj4+CA5OVl0DhFVMA4eIpn5/fffsX79eqjVatEpWqd79+5488038cknn4hOIaIKxsFDJCOSJMHd3R1z5sxBnTp1ROdopaCgIHz22We4dOmS6BQiqkAcPEQy8vXXX+P27duYOXOm6BStVbduXfj7+2PWrFl8AjORjHDwEMlEamoqZs+ejaioKBgYGIjO0Wpubm64ceMGvvnmG9EpRFRBOHiIZCIwMBBdu3ZF7969RadoPUNDQ0RFRcHT0xNpaWmic4ioAnDwEMnAn3/+ieXLlyM0NFR0imy8+eab6NSpE0JCQkSnEFEF4OAhkgFPT094eXmhQYMGolNkZenSpYiIiMC1a9dEpxBROXHwEGm53bt348KFC5g9e7boFNlp1KhR/pgkIu3GwUOkxTIyMjBr1ixERETA2NhYdI4seXt7Iz4+Hnv27BGdQkTlwMFDpMWWLVuG1q1bY+DAgaJTZMvExATh4eFwd3dHZmam6BwiKiMOHiIt9c8//yA0NBTLli0TnSJ777zzDuzs7BAZGSk6hYjKiIOHSEv5+Phg+vTpsLOzE50iewqFAuHh4QgMDMTNmzdF5xBRGXDwEGmhAwcO4OjRo1CpVKJTdEaLFi0wZcoU+Pn5iU4hojLg4CHSMtnZ2XB1dUVYWBjMzMxE5+iUjz/+GAcOHMChQ4dEpxBRKXHwEGmZ5cuXo06dOhg6dKjoFJ1jbm6OkJAQuLm5IScnR3QOEZUCBw+RFklMTMTixYsRGRkJhUIhOkcnDR8+HNbW1li1apXoFCIqBQ4eIi2iUqkwbtw4tGnTRnSKzlIoFIiKisKCBQtw79490TlEVEIcPERa4pdffsHu3bsxf/580Sk6r23bthg9ejQ+/vhj0SlEVEIcPERaIDc3FzNnzkRQUBCqVasmOocALFiwAN988w1OnjwpOoWISoCDh0gLrFmzBkZGRhg7dqzoFHqqevXqCAgIgKurK3Jzc0XnENFLcPAQabiHDx9izpw5iI6O5hOVNcz48eMBABs2bBBcQkQvw8FDpOHmzZsHZ2dndOzYUXQK/Yeenh6io6OhUqnw6NEj0TlEVAwOHiINdvbsWWzbtg2ffPKJ6BQqgqOjIwYPHowFCxaITiGiYnDwEGkoSZLg6uqKRYsWwcbGRnQOFSMgIABbtmzBuXPnRKcQURE4eIg01BdffIGUlBRMmjRJdAq9RM2aNTF//ny4ublBkiTROURUCA4eIg305MkT+Pr6IioqCvr6+qJzqASmTp2Khw8f4quvvhKdQkSF4OAh0kCffPIJ3nzzTXTr1k10CpWQgYEBoqKi4OXlheTkZNE5RPQfHDxEGubSpUtYs2YNgoKCRKdQKTk5OaFXr14ICAgQnUJE/8HBQ6RBJEmCu7s7/P39UbduXdE5VAbBwcGIiYnBH3/8ITqFiJ7DwUOkQf73v//hn3/+gaurq+gUKiNbW1v4+fnBw8NDdAoRPYeDh0hDpKWlwdPTE5GRkTA0NBSdQ+Uwa9YsXL16FTt37hSdQkRPcfAQaYjg4GA4OjrizTffFJ1C5WRkZITIyEjMmjUL6enponOICBw8RBrh2rVriIqKwtKlS0WnUAXp378/2rdvj9DQUNEpRAQOHiKNMHv2bHh6eqJRo0aiU6gChYWFITw8HDdu3BCdQqTzOHiIBNuzZw/Onj0LLy8v0SlUwZo0aQI3Nzf+2RJpAA4eIoEyMzPh7u6O8PBwmJiYiM6hSuDr64uTJ09i7969olOIdBoHD5FAERERsLOzwzvvvCM6hSqJqakpli1bBjc3N2RlZYnOIdJZHDxEgty8eRNBQUEIDw8XnUKVbMiQIWjUqBGioqJEpxDpLA4eIkF8fX0xdepUtGjRQnQKVTKFQoGIiAio1Wrcvn1bdA6RTuLgIRLg0KFDOHjwIPz9/UWnUBVp1aoVPvroI/j5+YlOIdJJHDxEVSw7Oxuurq4IDQ2Fubm56ByqQnPmzMHevXtx9OhR0SlEOoeDh6iKrVq1CjY2Nhg2bJjoFKpilpaWCA4OhqurK3JyckTnEOkUDh6iKnT37l0sXLgQkZGRUCgUonNIgFGjRsHCwgKrV68WnUKkUzh4iKrQxx9/jDFjxqBt27aiU0gQhUKB6OhozJ8/H/fv3xedQ6QzOHiIqsjJkyfx7bffYsGCBaJTSDAHBwcMHz4cc+bMEZ1CpDM4eIiqQG5uLlxdXaFWq2FlZSU6hzTAokWL8PXXX+PXX38VnUKkEzh4iKrA+vXroVAoMG7cONEppCGsra3xySefwNXVFbm5uaJziGSPg4eokj169Aj+/v6IioqCnh7/k6N/ffTRR8jOzsamTZtEpxDJHv/vS1TJFixYgHfffReOjo6iU0jD6OnpITo6GkqlEo8fPxadQyRrHDxElejcuXPYsmULlixZIjqFNNRrr72GAQMGYNGiRaJTiGSNg4eokkiSBDc3NyxYsAA1a9YUnUMaTK1WY8OGDbhw4YLoFCLZ4uAhqiTbtm3Dw4cPMXXqVNEppOFq166NuXPnwt3dHZIkic4hkiUOHqJKkJycDG9vb0RHR0NfX190DmmBGTNm4M6dO4iNjRWdQiRLHDxElSAgIAC9e/dGjx49RKeQljAwMEB0dDS8vLyQkpIiOodIdjh4iCrYH3/8gZiYGAQHB4tOIS3Tq1cvdOvWDYGBgaJTiGSHg4eoAkmShFmzZkGpVKJevXqic0gLhYSEYMWKFbh69aroFCJZ4eAhqkA7d+7En3/+CXd3d9EppKUaNGgAb29veHp6ik4hkhUOHqIKkp6eDg8PD0RGRsLIyEh0DmkxT09PXLx4Ef/3f/8nOoVINjh4iCpIaGgoOnTogP79+4tOIS1nbGyMyMhIeHh4ICMjQ3QOkSxw8BBVgOvXr2PZsmVYunSp6BSSibfffhtt2rRBWFiY6BQiWeDgIaoA3t7emDVrFpo0aSI6hWRk2bJlCA0Nxd9//y06hUjrcfAQldPevXtx6tQp+Pj4iE4hmWnWrBlmzpwJb29v0SlEWo+Dh6gcsrKy4ObmhmXLlsHU1FR0DsmQUqnE8ePH8dNPP4lOIdJqHDxE5RAVFYXGjRvj3XffFZ1CMmVmZoawsDC4ubkhKytLdA6R1uLgISqjW7duISAgABEREVAoFKJzSMacnZ1Rr149LF++XHQKkdbi4CEqI6VSiUmTJqFly5aiU0jmFAoFIiMj8cknn+DOnTuic4i0EgcPURkcPXoUe/fuxZw5c0SnkI545ZVXMH78eCiVStEpRFqJg4eolHJycuDq6oqQkBBYWFiIziEdMm/ePOzZswfHjh0TnUKkdTh4iEpp9erVsLS0xMiRI0WnkI6pVq0agoKC4OrqipycHNE5RFqFg4eoFO7fv4958+YhKiqKT1QmIcaMGQMTExOsWbNGdAqRVuHgISqFOXPmYOTIkXBwcBCdQjpKoVAgOjoac+bMwYMHD0TnEGkNDh6iEvr111/x9ddfY+HChaJTSMd16NAB77//PubOnSs6hUhrcPAQlUBubi5cXV2xZMkSWFtbi84hwieffILt27cjPj5edAqRVuDgISqBTZs2ITs7GxMmTBCdQgQAqFGjBhYvXgxXV1dIkiQ6h0jjGYgOINIUiSmJWBe/DmfvnMXj9MewMrGCQx0HvN/sfSiVSsTFxUFPj39HIM0xceJErFq1Cps3b8bYsWOLvA1P6DABtcxric4lEkpR3N8MHB0dpZMnT1ZhDlHVO5FwAurDauy+shsAkJ6dnn+eqYEpsrKzUD+1Pr5y/wqd63cWlUlUqJ9//hmjvEfhVfdXi7wNS5AwoPkAqHqoeBsmWVMoFKckSXIs7Dz+dZV02oqTK9B7fW/EXYxDenZ6gTsKAEjLTkM2snHD7AZ6r++NFSdXCOkkKkq8YTwSByYWextOz05H3MU43oZJp3HwkM5acXIFvPd4IzUrFRKKfw6EBAmpWanw3uPNOwzSGM9uw2nZaWW+Da9btw49evSo7FQi4Th4SGuo1WoMGDCgwGktWrQo9LStW7ciISEB1tbWOHz4cP55f//9N6ytrbH227X5Y6dIS577WADgEyB1QSpmdJ+BxdGLK+q3RTpk7NixLzzx/cCBA7CxscGtW7dgYWHxwoehoSGaNWv2wnWdSDjx4m34JwCLUPC2e7jg5z0bPSdv8ukKpFv4pGXSGj179kRgYCBycnKgr6+PW7duISsrC6dPny5w2pUrV9CzZ0/Y2toiKCgIkyZNQnx8PExMTDB16lRMmDAB36Z+i7SstOK/4MfP/fsyAO8CsAMUUCC+Vnz+WdnZ2TAw4H9K9HIRERGwt7fHDz/8gH79+iE9PR2TJ0/G0qVLUa9ePSQnJxe4/M2bN9GxY8dCX29HfVhd+G3YHsD7xXekZaVBfUiN2BGx5fjdEGkXHuEhrdG5c2dkZWXlv+7IoUOH0KdPH7Rq1arAaXZ2drC1tQUATJ48GfXq1cPChQuxfv16XLp0Ce4qd+y+svulDwEURfpLwo4pOzB38VzUrVsXEyZMKPRhAYVCgStXrgAAMjIy4O3tjUaNGqFOnTqYNm0a0tJeMrhIdmxsbBAVFYUpU6YgJSUFCxcuhJ2dHVxcXF64bHZ2NoYPH47Bgwe/cFQoMSWxdLfhQwAiAAQAiAak3yXsurILd1PuFriYJEnw9PRE7dq1Ua1aNbRr1w7nzp0DwNswaT8OHtIaRkZG6NKlCw4ePAgAOHjwIJycnNCjR48Cp/Xs2TP/cxQKBT777DMsX74cHh4eWL16NbZd3vbvlR4CsLkMMcnA4YuHcf36dcTExLz04kqlEpcvX0Z8fDyuXLmChIQELFq0qAxfmLTdsGHD8Oqrr2LUqFGIiYkp8vbj6+uLlJQUREdH559248YNVK9eHcu+W1a6L1oDwAQASgC9AewA8ARYF7+uwMX27NmDgwcP4vLly3j8+DG2bdsGGxsbALwNk/bj4CGt0qtXr/xxc+jQITg5OcHJyanAab169SrwOY0bN4atrS2qVauGnj174uyds//+JIsTgDFla7F91xbGxsYwNTUt9nKSJCEmJgbLli1DjRo1YGlpCX9/f2zdurVsX5i03vLly7Fv3z7MmzcPDRs2fOH82NhYrF27FrGxsTAxMck/vVGjRnj06BH+Vvz9wk9j5TsPQP3cRxLyHuaqhrz/47cFUANIv56O3xJ/K/CphoaGePLkCS5evAhJkvDKK6+gXr16vA2TLPCJB6RVevbsiU8//RQPHjzA3bt30aJFC9SpUwfjx4/HgwcPcO7cuQJHeAAgMDAQNjY2sLCwQGhoKB43elz+EHMgKTepRBe9e/cuUlNT0alTp/zTJElCTk5O+TtIK9WpUwc1a9aEvb39C+ddvnwZEydOxIYNGwp9sjIAPE4v5jZc2HN44gH8DODR019nAkgFHqY/LHCxN954A66urpg5cyauX7+OoUOHIjQ0FOnp6bwNk9bj4CGt8vrrr+Px48dYvXo1unfvDgCoVq0abG1tsXr1atja2qJp06b5l79w4QJCQkJw/PhxZGZmokePHugd0LtCWqxN/n1PLXNzc6Sm/vvTMrdv387/95o1a8LU1BTnz59H/fr1K+Rrkzylpqbi/fffx7Rp0/Duu+8WeTkrE6uSX+kjAN8CGAegIfKO8qwAID29DWcUvLi7uzvc3d2RmJiI4cOHIyQkBAsXLuRtmLQeH9IirWJqagpHR0eEhYXByckp//QePXogLCyswNGd3NxcTJw4Eb6+vmjdujUcHBzg7u6O82vOw1jfuHwhCqBd7Xb5v2zfvj3Onz+P+Ph4pKenY8GCBfnn6enpYfLkyfD09ERiYiIAICEhAd9//335Gkh2pk2bBhsbGyxZsqTYyznUcYCJgUmxl8mX+fSf5k//eRpAImCob1jgNgwAJ06cwPHjx5GVlQVzc3OYmJhAT0+Pt2GSBQ4e0jq9evVCYmJigZ+KcnJyQmJiYoHBExERgdTUVPj6+uafNnfuXOin6CPn5NND8QcBbCpbh0sHl/x/b9myJebNm4e+ffuiRYsWL/zEVlBQEJo3b46uXbuiWrVq6Nu3Ly5dulS2L0yydOPGDWzcuBHHjh2DlZXVC6/H8+wyFhYW6GvTt+RXXBtANwCfAQgBcAdAo7wXInz+NgwASUlJmDx5MqytrdG4cWPY2NjAx8cHAG/DpP34Xlqkk4Z+ORRxF+PK9KPpCijg3NqZr2FCQvE2TPQivpcW0X+oeqhgalj8T1cVxdTQFConVQUXEZUOb8NEpcPBQzqpc/3OCO0fCjNDs1J9npmhGUL7h8LRttC/QBBVGd6GiUqHP6VFOmu643QAyHvzxazi33xRAQVMDU0R2j80//OIRONtmKjkeISHdFovs1547+F7cG7tDBMDE5gaFHyIwNTAFCYGJnBu7YwDLgd4R0EaZ7rjdBxwOVDsbdhQYYg2em14GyadxiM8pLP27duHAQMGwMDAACkpKbibchdrTq9B9FfRcHjNATZmNmhXux1cOriglnkt0blERXK0dUTsiFjcTbmLdfHrsOmHTTCubozWjVujXe12uPzVZXwW8Rk+v/k52ke2h6GhoehkoirHIzykcyRJwpIlS/DOO+8gMzMz/60hapnXQqO/G+GfyH8wNH0oNjhvgE93H44d0hq1zGtharupuLDkAu5G3M2/DTev1xwAsGbNGrz++uu4c+eO4FKiqsfBQzpn3rx5mDdv3gvv9JyTkwM/Pz8AwJw5c5CdnS0ij6hcwsPDIUkSbt68iQMHDgAAsrKyAACZmZk4ffo02rdvz9s36RwOHtI5kyZNwogRIwAABgYG+XcG27Ztw8OHee8t9OTJE2zcuFFYI1FZJCUlISQkBDk5OcjMzMx/0cCMjLz3j9DT04OtrS1iYmJgYMBnNJBu4eAhndO4cWP069cPPXr0wNSpU9GmTRsAea/C/OyOITMzE/PmzROZSVRqq1atQnp6OvT19WFoaIgTJ07g2LFjsLW1RZcuXeDv748GDRpg8ODBolOJqhwnPumcnJwcBAUFYfny5XjjjTfyTw8JCUFiYiKmT5+O8PBw1KrF5+6QdhkwYACqVauG9evXo3nz5ujevXv+20FMnz4dOTk52LZtGw4ePIhevXqJziWqUnxrCdI527dvR0hICI4dOwaFQvHC+QYGBkhPT+chf9JaH330EXr06IGPPvrohfM+//xzbNu2jW/8SbLEt5YgekqSJKjVaqhUqkLHDpHcffjhh7hw4QJOnTolOoWoSnHwkE754YcfkJ6ejnfffVd0CpEQRkZG8PLyQmBgoOgUoirFwUM6Ra1WQ6lUQk+PN33SXZMnT8aBAwdw6dIl0SlEVYb/1yed8fPPP+Ovv/7CyJEjRacQCWVubg5XV1cEBQWJTiGqMnxWJukMtVoNX19fvqw+EQBXV1e0aNECf//9Nxo2bCg6h6jS8QgP6YTffvsNJ06cwIQJE0SnEGmEGjVq4KOPPsLSpUtFpxBVCQ4e0gmBgYGYNWtW/vtmERHg6emJDRs24O7du6JTiCodBw/J3p9//onvv/8e06dPF51CpFFsbW0xbNgwREZGik4hqnQcPCR7ISEhmDp1KqysrESnEGkcX19frFy5EklJSaJTiCoVBw/J2q1bt/Dll19i1qxZolOINJKdnR369euHVatWiU4hqlQcPCRry5Ytw5gxY1C7dm3RKUQaS6lUYtmyZUhPTxedQlRpOHhIth4+fIjPP/8c3t7eolOINJqDgwM6deqEdevWiU4hqjQcPCRbn376KQYPHozGjRuLTiHSeCqVCsHBwcjOzhadQlQpOHhIllJSUhAZGQk/Pz/RKURaoVu3bmjYsCG+/PJL0SlElYKDh2Tps88+g5OTE1555RXRKURaQ6VSITAwELm5uaJTiCocBw/JTmZmJpYuXQqVSiU6hUirvPXWWzA0NMT//d//iU4hqnAcPCQ7mzdvRqtWreDo6Cg6hUirKBQKqFQqBAQEQJIk0TlEFYqDh2QlJycHgYGBPLpDVEZDhw7FgwcPcODAAdEpRBWKg4dk5euvv4a1tTX69OkjOoVIK+nr68PX1xdqtVp0ClGF4uAh2ZAkCWq1GiqVCgqFQnQOkdb68MMPceHCBZw6dUp0ClGF4eAh2dizZw/S09MxePBg0SlEWs3IyAheXl48ykOywsFDsvHs6I6eHm/WROU1efJkHDx4EBcvXhSdQlQheM9AsvDzzz/j+vXrGDlypOgUIlkwNzeHm5sbgoODRacQVQgD0QFEFUGtVsPHxwcGBrxJE1UUV1dXNG/eHDdu3ECjRo1E5xCVC4/wkNb77bffcOLECUyYMEF0CpGsWFtb46OPPsLSpUtFpxCVGwcPab3AwEB4eHjA1NRUdAqR7Hh6emLjxo24e/eu6BSicuHgIa32559/4vvvv8f06dNFpxDJkq2tLYYPH47IyEjRKUTlwsFDWi0kJARTp05FtWrVRKcQyZaPjw9WrlyJpKQk0SlEZcbBQ1rr1q1b+PLLLzFr1izRKUSyZmdnh379+mHlypWiU4jKjIOHtNayZcswduxY1K5dW3QKkewplUqEh4cjPT1ddApRmXDwkFZ6+PAhPv/8c3h7e4tOIdIJDg4O6NSpE9atWyc6hahMOHhIK0VHR2Pw4MF8bRCiKqRSqRAcHIzs7GzRKUSlxsFDWiclJQXR0dHw8/MTnUKkU7p164aGDRviyy+/FJ1CVGocPKR1PvvsM/To0QOvvPKK6BQinePv74/AwEDk5uaKTiEqFQ4e0iqZmZkIDQ2FSqUSnUKkk/r37w9DQ0P83//9n+gUolLh4CGtsmnTJrzyyitwdHQUnUKkkxQKBVQqFQICAiBJkugcohLj4CGtkZOTg6CgIB7dIRJs6NChePDgAQ4cOCA6hajEOHhIa3z99dewtrZG7969RacQ6TR9fX34+flBrVaLTiEqMQ4e0gqSJCEgIAAqlQoKhUJ0DpHOGzt2LC5cuIBTp06JTiEqEQ4e0gp79uxBZmYmBg8eLDqFiAAYGRnBy8uLR3lIa3DwkFZQq9VQKpXQ0+NNlkhTTJ48GYcOHcLFixdFpxC9FO89SOMdPXoU169fx8iRI0WnENFzzM3N4erqiuDgYNEpRC9lIDqA6GXUajV8fX1hYMCbK5GmcXV1RfPmzXHjxg2+1QtpNB7hIY3222+/4eTJk5gwYYLoFCIqhLW1NSZOnIilS5eKTiEqFgcPabTAwEB4eHjAxMREdAoRFcHT0xMbN27E3bt3RacQFYmDhzTW1atX8f3332P69OmiU4ioGPXq1cPw4cMREREhOoWoSBw8pLFCQkIwbdo0VKtWTXQKEb2Ej48PVq5ciaSkJNEpRIXi4CGNdOvWLWzbtg2zZs0SnUJEJWBnZ4e33noLK1euFJ1CVCgOHtJIy5Ytw9ixY1GrVi3RKURUQkqlEuHh4UhPTxedQvQCDh7SOA8fPsRnn30Gb29v0SlEVArt2rVDp06dsHbtWtEpRC/g4CGNEx0djSFDhvA1PYi0kEqlQkhICLKzs0WnEBXAwUMaJSUlBVFRUfDz8xOdQkRl0K1bNzRq1Ahffvml6BSiAjh4SKOsXr0aTk5OaN26tegUIiojlUoFtVqN3Nxc0SlE+Th4SGNkZmZi6dKlUKlUolOIqBz69+8PIyMj7Ny5U3QKUT4OHtIYmzZtwiuvvAJHR0fRKURUDgqFAv7+/lCr1ZAkSXQOEQAOHtIQOTk5CAoK4tEdIplwdnbGgwcPcODAAdEpRAA4eEhD7NixAzVq1EDv3r1FpxBRBdDX14efnx8CAgJEpxAB4OAhDSBJEtRqNVQqFRQKhegcIqogY8eOxe+//45Tp06JTiHi4CHx9uzZg8zMTLzzzjuiU4ioAhkZGcHb2xtqtVp0ChEHD4kXEBAApVIJPT3eHInkZtKkSTh06BAuXrwoOoV0HO9hSKijR4/ixo0bGDlypOgUIqoE5ubmcHV1RVBQkOgU0nEGogNIt6nVavj6+sLAgDdFIrlydXVF8+bNcePGDb5lDAnDIzwkzNmzZ3Hy5ElMmDBBdAoRVSJra2tMnDgRS5cuFZ1COoyDh4QJDAyEp6cnTExMRKcQUSXz9PTExo0bcffuXdEppKM4eEiIq1evYs+ePZg2bZroFCKqAvXq1cPw4cMREREhOoV0FAcPCRESEoJp06ahWrVqolOIqIr4+vpi5cqVSEpKEp1COoiDh6rczZs3sW3bNsyaNUt0ChFVoWbNmuGtt97CihUrRKeQDuLgoSq3bNkyfPjhh6hVq5boFCKqYkqlEuHh4UhLSxOdQjqGg4eq1MOHD7FmzRp4eXmJTiEiAdq1a4fOnTtj3bp1olNIx3DwUJWKjo7Gu+++y9fiINJhKpUKwcHByM7OFp1COoSDh6pMSkoKoqKi4OfnJzqFiAR6/fXX0bhxY2zdulV0CukQDh6qMqtXr0bPnj3RunVr0SlEJJhKpUJgYCByc3NFp5CO4OChKpGZmYmlS5dCpVKJTiEiDdC/f38YGxtj586dolNIR3DwUJXYuHEj2rRpg06dOolOISINoFAooFKpEBAQAEmSROeQDuDgoUqXk5ODoKAgHt0hogKcnZ3x8OFD7N+/X3QK6QAOHqp0O3bsgI2NDXr16iU6hYg0iL6+PpRKJdRqtegU0gEcPFSpJEmCWq2GSqWCQqEQnUNEGmbMmDG4ePEiTp48KTqFZI6DhyrV999/j6ysLLzzzjuiU4hIAxkZGcHLy4tHeajScfBQpVKr1VAqldDT402NiAo3adIkHD58GBcvXhSdQjLGeyGqNEeOHMHff/+NESNGiE4hIg1mbm4ONzc3BAUFiU4hGTMQHUDypVar4evrCwMD3syIqHgzZ85E8+bNcePGDb71DFUKHuGhSnH27Fn8+uuvcHFxEZ1CRFrA2toaEydORGhoqOgUkikOHqoUgYGB8PDwgImJiegUItISnp6e2LRpE+7evSs6hWSIg4cq3NWrV7Fnzx5MmzZNdAoRaZF69ephxIgRiIiIEJ1CMsTBQxUuODgY06dPR7Vq1USnEJGW8fHxwcqVK5GUlCQ6hWSGg4cq1M2bN/HVV1/B3d1ddAoRaaFmzZrhrbfewooVK0SnkMxw8FCFWrZsGT788EPUqlVLdAoRaSmlUonw8HCkpaWJTiEZ4eChCvPgwQN8/vnn8Pb2Fp1CRFqsXbt26Ny5M9auXSs6hWSEg4cqTHR0NN577z00bNhQdAoRaTmVSoWQkBBkZ2eLTiGZ4OChCpGSkoLo6Gj4+fmJTiEiGXj99dfRuHFjbN26VXQKyQQHD1WI1atXo2fPnmjVqpXoFCKSCX9/fwQGBiI3N1d0CskABw+VW0ZGBkJDQ6FSqUSnEJGM9OvXD8bGxvj2229Fp5AMcPBQuW3atAn29vbo1KmT6BQikhGFQgGVSgW1Wg1JkkTnkJbj4KFyycnJQVBQEI/uEFGlcHZ2xqNHj7B//37RKaTlOHioXGJjY1GzZk306tVLdAoRyZC+vj78/PwQEBAgOoW0HAcPlZkkSVCr1VCpVFAoFKJziEimxowZg0uXLuHkyZOiU0iLcfBQmX3//ffIzs7GoEGDRKcQkYwZGRnBy8sLarVadAppMQ4eKjO1Wg2lUgk9Pd6MiKhyTZo0CYcPH8bvv/8uOoW0FO+pqEyOHDmCv//+GyNGjBCdQkQ6wNzcHG5ubggKChKdQlrKQHQAaSe1Wg1fX18YGPAmRERVY+bMmWjevDlu3LiBRo0aic4hLcMjPFRqZ86cwa+//goXFxfRKUSkQ6ytrTFp0iSEhoaKTiEtxMFDpRYYGAhPT0+YmJiITiEiHePp6YlNmzYhMTFRdAppGQ4eKpUrV67ghx9+wLRp00SnEJEOqlu3LkaMGIGIiAjRKaRlOHioVEJCQjB9+nRYWlqKTiEiHeXj44NVq1YhKSlJdAppEQ4eKrGbN2/iq6++gru7u+gUItJhzZo1w9tvv40VK1aITiEtwsFDJRYWFoZx48ahVq1aolOISMcplUqEh4cjLS1NdAppCQ4eKpEHDx5gzZo18PLyEp1CRIS2bduic+fOWLt2regU0hIcPFQi0dHReO+999CwYUPRKUREAAB/f3+EhIQgKytLdAppAQ4eeqnk5GRER0fDz89PdAoRUb6uXbuiSZMm2Lp1q+gU0gIcPPRSq1evRq9evdCqVSvRKUREBahUKgQGBiI3N1d0Cmk4Dh4qVkZGBpYuXQqVSiU6hYjoBf369YOJiQm+/fZb0Smk4Th4qFibNm2Cvb09Xn31VdEpREQvUCgU8Pf3R0BAACRJEp1DGoyDh4qUk5ODoKAg+Pv7i04hIiqSs7MzHj9+jJ9++kl0CmkwDh4qUmxsLGrWrImePXuKTiEiKpKenh78/PygVqtFp5AG4+ChQkmSBLVaDZVKBYVCITqHiKhYY8aMwaVLl3DixAnRKaShOHioUN999x1ycnIwaNAg0SlERC9lZGQEb29vHuWhInHwUKHUajWUSiX09HgTISLtMGnSJBw5cgS///676BTSQLw3oxccOXIECQkJGD58uOgUIqISMzMzg5ubG4KCgkSnkAYyEB1AmketVsPHxwcGBrx5EJF2mTlzJpo3b47r16+jcePGonNIg/AIDxVw5swZ/Prrr3BxcRGdQkRUatbW1pg0aRJCQ0NFp5CG4eChAgIDA+Hp6QkTExPRKUREZeLp6YnNmzcjMTFRdAppEA4eynflyhX88MMPmDZtmugUIqIyq1u3LkaMGIGIiAjRKaRBOHgoX3BwMGbMmAFLS0vRKURE5eLj44NVq1bh8ePHolNIQ3DwEADg5s2b2L59O9zd3UWnEBGVW7NmzfD2229jxYoVolNIQ3DwEAAgLCwM48aNQ82aNUWnEBFVCKVSiYiICKSlpYlOIQ3AwUN48OAB1q5dCy8vL9EpREQVpm3btnjttdewdu1a0SmkATh4CFFRUXjvvffQsGFD0SlERBVKpVIhODgYWVlZolNIMA4eHZecnIxPP/0Uvr6+olOIiCpc165d0bRpU2zdulV0CgnGwaPjVq9ejV69eqFVq1aiU4iIKoVKpUJgYCByc3NFp5BAHDw6LCMjA0uXLoVKpRKdQkRUafr16wdTU1N88803olNIIA4eHbZx40a0bdsWr776qugUIqJKo1AooFKpoFarIUmS6BwShINHR+Xk5CA4OJhHd4hIJzg7O+Px48f46aefRKeQIBw8Oio2Nha1atVCz549RacQEVU6PT09KJVKqNVq0SkkCAePDpIkCWq1GiqVCgqFQnQOEVGVGD16NC5duoRffvlFdAoJwMGjg7777jvk5ORg0KBBolOIiKqMkZERvL29ERgYKDqFBODg0UFqtRpKpZJHd4hI50yaNAlHjhzB77//LjqFqhgHj445fPgwEhISMHz4cNEpRERVzszMDO7u7ggKChKdQlXMQHQAVS21Wg1fX18YGPCPnoh008yZM2FnZ4fr16+jcePGonOoivAIjw45c+YMTp8+jfHjx4tOISISpnr16pg0aRJCQ0NFp1AV4uDRIYGBgfD09ISJiYnoFCIioTw9PbF582YkJiaKTqEqwsGjI65cuYIff/wR06ZNE51CRCRc3bp1MXLkSISHh4tOoSrCwaMjgoODMX36dFhaWopOISLSCD4+PoiJicHjx49Fp1AV4ODRATdv3sT27dvh7u4uOoWISGM0bdoUb7/9NlasWCE6haoAB48OCAsLw/jx41GzZk3RKUREGkWpVCI8PBxpaWmiU6iScfDI3P3797FmzRp4eXmJTiEi0jht27ZFly5dsGbNGtEpVMk4eGQuOjoazs7OaNCggegUIiKNpFKpEBISgqysLNEpVIk4eGQsOTkZ0dHR8PX1FZ1CRKSxunbtiqZNm2Lr1q2iU6gScfDIWExMDPr06YNWrVqJTiEi0mj+/v5Qq9XIzc0VnUKVhINHpjIyMhAWFgaVSiU6hYhI4/Xt2xdmZmb45ptvRKdQJeHgkamNGzeibdu26Nixo+gUIiKNp1AooFKpoFarIUmS6ByqBBw8MpSTk4OgoCD4+/uLTiEi0hrOzs5ISkrCvn37RKdQJeDgkaHt27ejdu3acHJyEp1CRKQ19PT04OfnB7VaLTqFKgEHj8xIkgS1Wg2VSgWFQiE6h4hIq4wePRqXL1/GiRMnRKdQBePgkZnvvvsOubm5GDRokOgUIiKtY2RkBG9vbx7lkSEOHpkJCAjg0R0ionKYNGkSjhw5ggsXLohOoQrEwSMjhw8fxs2bNzFs2DDRKUREWsvMzAzu7u4ICgoSnUIVyEB0AFUctVoNX19fGBjwj5WIqDxmzpwJOzs7XLt2DU2aNBGdQxWAR3hkIj4+HvHx8Rg/frzoFCIirVe9enVMnjwZoaGholOognDwyERgYCA8PT1hYmIiOoWISBY8PDywZcsW3LlzR3QKVQAOHhm4cuUK9u7di6lTp4pOISKSjbp162LkyJGIiIgQnUIVgINHBoKDgzF9+nRYWlqKTiEikhUfHx+sWrUKjx8/Fp1C5cTBo+USEhKwfft2uLu7i04hIpKdpk2bYuDAgVi+fLnoFConDh4tFxYWhvHjx6NmzZqiU4iIZEmpVCIiIgJpaWmiU6gcOHi02P3797F27Vp4eXmJTiEiki17e3t06dIFa9asEZ1C5cDBo8Wio6Ph7OyMBg0aiE4hIpI1lUqFkJAQZGVliU6hMuLg0VLJycmIjo6Gn5+f6BQiItnr2rUrmjVrhi+++EJ0CpURB4+WiomJQZ8+fdCyZUvRKUREOkGlUiEwMBC5ubmiU6gMOHi0UEZGBsLCwqBSqUSnEBHpjL59+8LMzAzffPON6BQqAw4eLbRx40a0a9cOHTt2FJ1CRKQzFAoF/P39ERAQAEmSROdQKXHwaJmcnBwEBQXx6A4RkQDvvfcenjx5gn379olOoVLi4NEy27dvR+3ateHk5CQ6hYhI5+jp6cHPzw9qtVp0CpUSB48WkSQJarUaKpUKCoVCdA4RkU4aPXo0Ll++jF9++UV0CpUCB48W2b17NyRJwqBBg0SnEBHpLCMjI/j4+PAoj5bh4NEiarUaSqWSR3eIiASbOHEijh49igsXLohOoRLi4NEShw8fxs2bNzFs2DDRKUREOs/MzAzu7u4ICgoSnUIlZCA6gEpGrVbDz88PBgb8IyMi0gQzZ86EnZ0drl27hiZNmojOoZfgER4tEB8fj/j4eIwfP150ChERPVW9enVMnjwZoaGholOoBDh4tEBgYCA8PT1hbGwsOoWIiJ7j4eGBLVu24M6dO6JT6CU4eDTcH3/8gb1792Lq1KmiU4iI6D/q1q2LkSNHIjw8XHQKvQQHj4YLDg7GjBkzYGlpKTqFiIgK4ePjg5iYGDx+/Fh0ChWDg0eDJSQkIDY2Fu7u7qJTiIioCE2bNsXAgQOxfPly0SlUDA4eDRYWFobx48fDxsZGdAoRERVDqVQiIiICqampolOoCBw8Gur+/ftYu3YtvLy8RKcQEdFL2Nvbo2vXrlizZo3oFCoCB4+GioqKwtChQ9GgQQPRKUREVAIqlQqhoaHIysoSnUKF4ODRQMnJyfj000/h6+srOoWIiEqoS5cuaNasGb744gvRKVQIDh4NFBMTgz59+qBly5aiU4iIqBRUKhUCAwORm5srOoX+g4NHw2RkZCAsLAwqlUp0ChERlVLfvn1hbm6O//3vf6JT6D84eDTMhg0b0K5dO3Ts2FF0ChERlZJCoYBKpYJarYYkSaJz6DkcPBokJycHwcHBPLpDRKTF3nvvPTx58gT79u0TnULP4eDRINu3b0edOnXg5OQkOoWIiMpIT08PSqUSAQEBolPoORw8GkKSJKjVaqhUKigUCtE5RERUDqNHj8aVK1fwyy+/iE6hpzh4NMTu3bshSRIGDhwoOoWIiMrJ0NAQ3t7eUKvVolPoKQ4eDaFWq6FUKnl0h4hIJiZOnIijR4/i/PnzolMIHDwa4dChQ7h16xaGDRsmOoWIiCqImZkZZs2ahaCgINEpBMBAdADlHd3x9fWFgQH/OIiI5GTGjBmws7PDtWvX0KRJE9E5Oo1HeASLj4/HmTNnMH78eNEpRERUwapXr47JkycjNDRUdIrO4+ARLDAwEJ6enjA2NhadQkRElcDDwwObN2/GnTt3RKfoNA4egf744w/s3bsXU6dOFZ1CRESVpG7duhg9ejTCw8NFp+g0Dh6BgoODMWPGDFhaWopOISKiSuTj44OYmBg8evRIdIrO4uARJCEhAbGxsXB3dxedQkRElaxJkyYYOHAgli9fLjpFZ3HwCBIWFgYXFxfY2NiITiEioiqgVCoRGRmJ1NRU0Sk6iYNHgPv372Pt2rWYPXu26BQiIqoi9vb26Nq1K9asWSM6RSdx8AgQFRWFoUOHokGDBqJTiIioCqlUKoSEhCArK0t0is7h4KliT548waeffgpfX1/RKUREVMW6dOkCOzs7bNmyRXSKzuHgqWIxMTF444030LJlS9EpREQkgL+/P4KCgpCbmys6Radw8FShjIwMhIWFQalUik4hIiJB3nzzTZibm+N///uf6BSdwsFThTZs2AAHBwd07NhRdAoREQmiUCigUqkQEBAASZJE5+gMDp4qkp2djaCgIPj7+4tOISIiwd577z0kJydj7969olN0BgdPFdm+fTvq1q0LJycn0SlERCSYnp4elEol1Gq16BSdwcFTBSRJQmBgIFQqlegUIiLSEKNHj8aVK1dw/Phx0Sk6gYOnCuzevRuSJGHgwIGiU4iISEMYGhrC29ubR3mqCAdPFQgICIBKpYJCoRCdQkREGmTixIk4duwYzp8/LzpF9jh4KtmhQ4dw+/ZtfPDBB6JTiIhIw5iZmcHd3R1BQUGiU2TPQHSA3KnVavj6+sLAgN9qIiJ60YwZM2BnZ4e//voLTZs2FZ0jWzzCU4ni4+Nx5swZjB8/XnQKERFpqOrVq2PKlCkIDQ0VnSJrHDyVSK1WY/bs2TA2NhadQkREGszDwwNffPEF7ty5IzpFtjh4Kskff/yBffv2YcqUKaJTiIhIw9WpUwejRo1CeHi46BTZ4uCpJMHBwZgxYwYsLS1FpxARkRbw8fFBTEwMHj16JDpFljh4KkFCQgJiY2Ph7u4uOoWIiLREkyZNMGjQICxfvlx0iixx8FSCpUuXwsXFBTY2NqJTiIhIi/j5+SEyMhKpqamiU2SHg6eC3b9/H+vWrcPs2bNFpxARkZaxt7dH165d8fnnn4tOkR0OngoWFRWFoUOHokGDBqJTiIhIC6lUKoSGhiIrK0t0iqxw8FSgJ0+e4NNPP4Wfn5/oFCIi0lJdunRB8+bNsWXLFtEpssLBU4FiYmLwxhtvoEWLFqJTiIhIi6lUKgQGBiI3N1d0imxw8FSQjIwMhIWFQalUik4hIiIt9+abb8LCwgJxcXGiU2SDg6eCbNiwAe3bt0fHjh1FpxARkZZTKBTw9/eHWq2GJEmic2SBg6cCZGdnIygoCCqVSnQKERHJxJAhQ5CSkoK9e/eKTpEFDp4KsH37dtStWxdOTk6iU4iISCb09PTg5+eHgIAA0SmywMFTTpIkQa1W8+gOERFVuNGjR+Pq1as4fvy46BStx8FTTrt27QIADBw4UHAJERHJjaGhIXx8fKBWq0WnaD0OnnJ6dnRHoVCITiEiIhn66KOPcOzYMZw7d050ilbj4CmHQ4cO4fbt2/jggw9EpxARkUyZmZnB3d0dQUFBolO0moHoAG2mVqvh5+cHAwN+G4mIqPLMmDEDdnZ2+Ouvv9C0aVPROVqJR3jK6PTp0zhz5gzGjRsnOoWIiGSuevXqmDJlCkJDQ0WnaC0OnjIKDAzE7NmzYWxsLDqFiIh0gIeHB7Zs2YLbt2+LTtFKHDxlcPnyZezbtw9TpkwRnUJERDqiTp06GD16NMLDw0WnaCUOnjIIDg7GzJkzYWlpKTqFiIh0iI+PD1avXo1Hjx6JTtE6HDyl9M8//2DHjh1wc3MTnUJERDqmSZMmGDRoED799FPRKVqHg6eUwsLC4OLiAhsbG9EpRESkg/z8/BAZGYnU1FTRKVqFg6cU7t+/j3Xr1sHLy0t0ChER6Sh7e3t069YNn3/+uegUrcLBUwqRkZF4//33Ub9+fdEpRESkw1QqFUJDQ5GZmSk6RWtw8JTQkydPsHz5cvj6+opOISIiHffaa6+hefPm2LJli+gUrcHBU0IxMTF444030KJFC9EpREREUKlUCAoKQm5urugUrcDBUwIZGRkICwuDSqUSnUJERAQAePPNN2FpaYm4uDjRKVqBg6cE1q9fj/bt26NDhw6iU4iIiAAACoUCKpUKAQEBkCRJdI7G4+B5iezsbAQHB/PoDhFpvMSURAQfCUZClwRsljZj7I6xCD4SjLspd0WnUSUZMmQIUlNT8eOPP4pO0Xh8m++X2L59O+rWrQsnJyfRKUREhTqRcALqw2rsvrIbAJCenZ53xj/Ajt93YP7++RjQfABUPVToXL+zwFKqaHp6evDz84NarUa/fv1E52g0HuEphiRJUKvV8Pf3F51CRFSoFSdXoPf63oi7GIf07PR/x85TadlpSM9OR9zFOPRe3xsrTq4Q0kmVZ/To0bh69SqOHTsmOkWjcfAUY9euXVAoFBgwYIDoFCLSUuvWrYO+vj4sLCzw+++/V+h1rzi5At57vJGalQoJxT+HQ4KE1KxUeO/x1ojR8+OPP8LCwgJ6enp8OKacDA0N4ePjA7VaLTpFo3HwFEOtVkOpVEKhUIhOISLBxo4diwkTJhQ47cCBA7CxscGtW7eK/dzXX38dycnJeOWVV4q8THx8PDp16gQzMzN06tQJ8fHxxV7niYQTmL1lNlLnpQKxz53xF4AFAJY89/HcVT0bPSdvniz0eiVJgp+fH2xsbGBjYwM/P78inxC7f/9+6OnpwcLCIv9j/fr1+ef37t0bJiYm+ee1atUq/7y+ffsiOTkZjRo1Kvb3SSXz0Ucf4fjx4zh37pzoFI3FwVOEQ4cO4c6dOxg2bJjoFCLSABEREdi9ezd++OEHAEB6ejomT56MpUuXol69euW67szMTAwZMgRjx47Fw4cPMX78eAwZMqTYV9FVH1Yj/X/pQGEv/G4J4OPnPjoUPDstKw3qQ4UfDYiJiUFcXBzOnDmDs2fP4ttvv8WqVauK7LC1tUVycnL+x/jx4wucHx0dnX/epUuXirweKh8zMzPMmjULQUFBolM0FgdPEQICAuDr6wt9fX3RKUSkAWxsbBAVFYUpU6YgJSUFCxcuhJ2dHVxcXMp93fv370d2djY8PDxgbGwMd3d3SJKEffv2FXr5xJRE7NyxEzAB0LT0X0+ChF1XdhX601vr16+Hl5cXGjRogPr168PLywvr1q0r/RehKjdjxgzs2rULf/31l+gUjcTBU4jTp0/j7NmzGDdunOgUItIgw4YNw6uvvopRo0YhJiYGMTExAAAHB4dyvcT/+fPn4eDgUODhcwcHB5w/f77Qy688shLZe7OBt4q4whQAIQDCAXwHoJADRQoosC5+XaEt7du3z/91+/bti+wAgMTERNSpUwdNmzaFp6cnUlJSCpyvUqlQs2ZNdO/eHfv37y/yeqj8rKysMGXKFISEhIhO0UgcPIUIDAzE7NmzYWxsLDqFiDTM8uXLsW/fPsybNw8NGzYEAJw9exajR48u83UmJyfDysqqwGlWVlZ48uRJoZffErEFUkcJsCrkzJoApgHwAjAewE0A3794sbTsNPyW+NtLW6ysrJCcnFzo83hat26N+Ph43Lp1C/v27cOpU6cwe/bs/PODgoLw559/IiEhAVOmTMHgwYNx9erVQn9PVDE8PDzwxRdf4Pbt26JTNA4Hz39cvnwZ+/btw9SpU0WnEJEGqlOnDmrWrAl7e/syX8fzT/K9ceMGLCwskJSUVOAySUlJsLS0fOFz4+PjkXAmAehaxJVbAqiNvP+7WwPoB+BC4Rf9Zesv+R3Tpk3Lb3u+JSkpCRYWFoX+8EbdunXRpk0b6OnpoWnTpggODkZs7L/PoO7SpQssLS1hbGyM8ePHo3v37ti1a1fR3xgqtzp16mDMmDEIDw8XnaJxOHj+Izg4GDNnzoSFhYXoFCKSqeef5NuoUSPY29vj7NmzBY6inD17ttBRtX//fqTdSwOWIe9hq6MAfgewsogvpgCK+on110a+lt+xcmXeFdjb2+PMmTP5lzlz5kyJx51CoSj2jSwVCgXfAqEKeHt7Y/Xq1Xj06JHoFI3CwfOcf/75Bzt27ICbm5voFCLSIb1794a+vj4iIyORkZGB6OhoAMAbb7zxwmWnTJkC1TYVjF2N8x66cgTQAsCHTy/wF4BHyBs5jwH8CKD1i1/T1MAU7Wq3e+H0cePGISwsDAkJCbh58yaWLl1a5BOzf/rpJ1y/fh2SJOHvv/+GUqnEkCFDAACPHj3C999/j/T0dGRnZ2Pz5s04ePAg3n777dJ8a6gMmjRpgkGDBuHTTz8VnaJROHieExYWhgkTJsDGxkZ0ChFpEXt7e2zevLnMn29kZIS4uDhs2LAB1atXx5o1axAXFwcjIyMAeT81+uwFUM3MzOD2phsUloq8h6+MkPcmQeZPr+wWgM+R9/o7nyPv4a1CXjtVggSXDi4vnD516lQMHjwY7dq1Q9u2bTFo0KACD/FbWFjg0KFDAPJ+wKNbt24wNzdHt27d0K5dO0RGRgIAsrKyMGfOHNSqVQs1a9ZEVFQU4uLi0LJlyzJ/n6jklEolIiMjkZqaKjpFYyiKO7zo6OgonTxZ+ItTyc29e/fQsmVL/Pbbb6hfv7AXtiBdYWBggPT0dBgY8K3mqPw2btyIqVOnwsjICD///HOxLz5YGkO/HIq4i3EvfYXlwiiggHNrZ8SOiH35hSvJ3r178f777yMjIwO7du1Cnz59hLXIlbOzM/r06QN3d3fRKVVGoVCckiTJsdDzOHjyzJ8/Hzdv3sTq1atFp5BgHDykDU4knEDv9b2RmlX6v8GbGZrhgMsBONoWer9AMvHLL7/ggw8+wJUrV/KPFspdcYOHD2kBePLkCZYvXw5fX1/RKSRQYkoigo8Eo3todzhvc8bYHWMRfCS40BdnIxKtc/3OCO0fCjNDs1J9npmhGUL7h3Ls6IDXXnsNLVq0KNdrRMkJj/AACA0NxcmTJ7F161bRKSTAiYQTUB9WY/eV3QBQ4N2mTQ1MIUHCgOYDoOqhQuf6nUVlEhXq2RuIpmWlFfvwlgIKmBqaIrR/KKY7Tq/CQhJp7969mDlzJs6fP68T7xzAIzzFyMjIwLJly6BUKkWnkAArTq5A7/W9EXcxDunZ6QXGDpD34mzp2emIuxiH3ut7a8S7TBM9b7rjdBxwOQDn1s4wMTCBqYFpgfNNDUxhYmAC59bOOOBygGNHx7zxxhuoVq0a4uLiRKcIp/NPUli/fj3at2+PDh06iE6hIjRp0gR37tzBBx98gI0bN1bY9T77m3FJngMhQcp/l2kAGnGn8cYbb+Do0aNwdHTE4cOHReeQQI62jogdEYu7KXexLn4dfkv8DQ/TH8LaxBrtareDSwcX1DKvJTqTBFAoFFCpVFiyZAmGDh1a6AtI6gqdPsKTnZ2N4OBg+Pv7i06RreTkZDRp0qTAj+w+efIEjRo1wvbt20t8Pd9++22xYyc+Ph6dOnWCmZkZOnXqhPj4+EIvl5GRgYkTJ6Jeg3qY0X0GUiNTgT/+c6FzAKIBBDz95+//nvVs9Jy8WfRDvXv37kXr1q1hZmaGPn364Pr160Ve9ujRo3jttddgaWkJBweHAsNl//790NPTK/CqvOvXr88/f9++ffkvFkcEALXMa8Gnuw82OG/At6O+xQbnDfDp7sOxo+OGDBmC1NRU/Pjjj6JThNLpwfPVV1+hXr166NGjh+gU2bKwsMCqVavg4eGBu3fznvzr6+sLR0dHfPDBBxXyNTIzMzFkyBCMHTsWDx8+xPjx4zFkyBBkZr74jonZ2dlo2LAhHPwcACWANwB8BeDh0wskAdiBvDdlVAHoDyAWQPK/15GWlQb1IXWhLffu3cPQoUOxePFiPHjwAI6OjhgxYkShl33w4AEGDx4MHx8fPHr0CL6+vhg8eDAePnyYfxlbW9sCr8o7fvz40n57iEjH6enpQalUIiAgQHSKUDo7eCRJQmBgIFQqlegU2XvrrbcwaNAguLu7Y//+/di2bRuWL19eYde/f/9+ZGdnw8PDA8bGxnB3d4ckSdi3b98LlzU3N8cMnxk4mHQw79bfCkB15L1YG5A3eEyQ98q1CgAtkffCbv9uEEiQsOvKrkJ/emvHjh2wt7fHsGHDYGJiggULFuDMmTO4ePHiC5c9evQo6tati2HDhkFfXx9jx45FrVq1sGPHjvJ9Q4iI/mPUqFH466+/cOzYMdEpwujs4Nm1axcUCkX+q5dS5Vq2bBn279+PDz74AKGhoahbt27+eVu2bIGDg0OZr/v8+fNwcHAo8Ni0g4MDzp8/X+jl18Wv+/cXyQDuA3h2xN/26b9fBJCLvIez9AHUKXgdCigKXs9zLe3bt8//tbm5Oezs7Ips+e9PSUqShHPnzuX/OjExEXXq1EHTpk3h6emJlJSUQq+HiKg4hoaG8Pb2hlpd+NFpXaCTg0eSJAQEBEClUun0E7iqkrW1Nezt7ZGamoqhQ4cWOG/06NE4e/Zsma87OTkZVlZWBU6zsrLCkydPCr382Ttn834aKwd5D1d1wL+DRw9A+6enL376z8HIO8rznLTsNPyW+Fu5Wl5//XXcvHkTX3zxBbKysrB+/XpcvXo1/6XgW7dujfj4eNy6dQv79u3DqVOnMHv27GK/F0RERZk4cSKOHz9e4C9VukQnB8+hQ4eQmJhYYc8hoZfbtGkTrl27hr59+8LPz69Cr9vCwgJJSUkFTktKSoKlpWWhl3+c/jjv6M0O5B29GfjcmVcB/ADABcBcABMAfIN/H/J6zs1/bhZ4QnFpW2xsbPC///0PYWFhqFOnDr777jv07dsXDRo0AADUrVsXbdq0gZ6eHpo2bYrg4GDExop7KwAi0m6mpqaYNWsWAgMDRacIoZODR61Ww9fXVydehEkTJCYmwtPTE6tXr8aqVauwbdu2/DcfrAj29vY4e/ZsgYeHzp49C3t7+0IvX824Wt6ISQEwAnmj55nbABoDqI+8/zrqP/3488XrsW1Q8AnFz1rOnDmTf5mUlBRcvXq1yJZevXrhxIkTePDgATZu3IiLFy/itddeK/SyCoUCubm5hX8TiIhKYMaMGdi9ezf++usv0SlVTucGz+nTp3H27FmMGzdOdIrOcHV1xXvvvYc+ffqgXr16CA4OxuTJk5GRkVEh19+7d2/o6+sjMjISGRkZiI6OBpD3OjWFubrxKhT3FMAoAIb/ObM+gOv494jOLQA38MJzeEwNTNGudrsXrtvZ2Rnnzp1DbGws0tPTsWjRIjg4OKB169aFtpw+fRpZWVlISkqCt7c3GjZsiLfeegsA8NNPP+H69euQJAl///03lEolhgwZUpJvCRFRoaysrDBlyhSEhISITqlyOjd41Go1vLy8YGxsLDpFJ8TFxeHw4cMF/uOaNGkSbG1tsWjRIgDA5s2bizwCUhJGRkaIi4vDhg0bUL16daxZswZxcXH5b5YXEBCQ/+T069ev4/j/jkO6LQGhAJY8/Xj2FKImAHoD2Ia81+H5EoATgOYFv6YECS4dXF5oqVWrFmJjY/Hxxx/D2toax48fL/CWJdOmTcO0adPyfx0cHIyaNWuiYcOGuHXrFr7++uv8806fPo1u3brB3Nwc3bp1Q7t27RAZGVnm7xMREQB4eHjgiy++wO3bt0WnVCmdei+ty5cvo3v37vjrr7/yn3NBmq9Vq1a4desWnJ2dC7zwXnkM/XIo4i7GFfveQ0VRQAHn1s6IHSH2+TT9+vXDsWPH8Nprr2Hv3r1CW4hIu7i6usLc3BxBQUGiUypUce+lpVODZ9KkSWjQoAEWLFggOoUEO5FwAr3X9y7R20r8l5mhGQ64HOC7TROR1rp27Ro6deqEq1evonr16qJzKkxxg0eW76WVmJKIdfHrcPbOWTxOfwwrEyu0qNYCsd/F4sqZK6LzSAN0rt8Zof1DS/xeWs+YGZohtH8oxw4RabUmTZrgnXfewfr16zFq0qgX7jMd6jhgQocJsnpbElkd4TmRcALqw2rsvrIbAAq887WpgSlyc3MxsOVAqHqo0Ll+Z1GZpEGevYFoWlZasQ9vKaCAqaEpQvuHasQbhxIRlddPl35C8LFg7P9nP4AX7zMlSBjQfIBW3WfqxENavOOisjp58yTUh9TYdWUXFFAgLTst/7xn/9EPbD4QKicVj+wQkSzI9T6zuMEj5Ke0FAoFzM3N8fHHH1fI9T37g0vNSn3pk1AlSPnveL3i5IoK+foVxc7ODkZGRhg7dqzoFJ3iaOuI2BGxuOFxAwt7L8SHDh/inZbv4EOHD7Gw90Lc8LiB2BGxHDtEVKUq+r7yGW2/z3RxcYGpqWn+i7SWmCRJRX506tRJkiRJCggIkN5++23pec2bNy/0tC+++EJ6GQDSH3/8UexlfvzxR6lVq1aSqamp1Lt3b+natWuFXu67+O8kfQd9CRaQYAwJDSFhEiQseO5jACRUhwQjSKgHCRPyTjdbYiadSDjx0t7NmzdLjRo1kszMzKQhQ4ZI9+/fL/Ky33zzjWRvby+Zm5tLr7/+unT+/Pn889auXSvp6elJ5ubm+R8//fRTgc+fP3++NGbMmJc2ERGR5tq0aVOB/9c/+wAgLVy4sETXUZH3ldevX5fMzc0lUzPTvPtCQ0gAJPR/+X3ls4+X3WeW5r5y7969UseOHSVLS0upadOm0qpVq/LP27dvn9S2bVvJyspKqlGjhvTee+9J//zzT4HP/+mnn6T69esX9j07KRWxaUp0hKdnz544evQocnJyAAC3bt1CVlYWTp8+XeC0K1euoGfPnqVbXIW4d+8ehg4disWLF+PBgwdwdHTEiBEjCr1s2IEw5NTNAaYC8EPe+yBtBvDsNe3+AfAjgOEAVABeRd5rq+QCaVlpUB8q/o3Uzp8/j6lTp2Ljxo24c+cOzMzMMGPGjEIv+8cff2DMmDFYuXIlHj16hMGDB+Pdd99FdnZ2/mVef/31Aq/O27t375J/Y4iISCuMGTOmwP/rk5OTER4ejjp16mDy5MkV8jVKc1/ZqFEjJCcn4+01b0PhrwBmAFAAeOXpBYq5r3ymuPvM0txXZmVlwdnZGVOnTsXjx4/x5ZdfYvbs2fmvUt+mTRt8//33ePToEW7evIkWLVpg+vTyP5xWosHTuXNnZGVlIT4+HkDee1H16dMHrVq1KnCanZ0dbG1tyx21Y8cO2NvbY9iwYTAxMcGCBQtw5swZXLx4scDlElMScfDJQaAbAMunvxtH5L0p5P2nF3qEvDeGtEXeH257AKkAUvIO1e26sgt3U+4W2bJ582YMHjwYPXv2hIWFBRYvXowdO3YU+maQ33//PZycnNCjRw8YGBjAz88PCQkJOHDgQHm/JUREpMVOnz4NDw8PbN26FfXq1auQ6yzpfeUziSmJ2H1ld97DWGeQ9zY61k/PfIQi7yufKe4+szT3lQ8ePEBSUhI+/PBDKBQKdO7cGa+88gouXLgAAKhTp06BLaGvr48rV8r/E9YlGjxGRkbo0qULDh48CAA4ePBg/h3786c9O7oTGBiId955p8xR58+fR/v27fN/bW5uDjs7O5w/f77A5dbFr3vxk28hb/DUePrr5gAk5K3XXACnAdQF8PR1BxVQFH49RbQ8e57N5cuXC7289NyTwJ8dRnv+nWlPnz6NmjVromXLlli8eHGBoz9ERCQ/jx49wgcffIC5c+cWOKpfVfeVz+Tf10nIGzztnzvzJfeVzxR1n1ma+8o6depg1KhRWLt2LXJycvDzzz/j+vXr6NGjR/5lbty4gerVq8PU1BShoaHw9fUt8vtQUiV+0nKvXr3yx82hQ4fg5OQEJyenAqf16tULAKBUKrFz584yRyUnJ8PKyqrAaVZWVi8sxbN3zhb4MTqkA/gaeW8NYPL0NGPkHbJbA2AxgP0ABiNvwQJIy07Db4m/lbsFAPr27YsDBw5g//79yMzMREBAADIzM5Gamvc6Lz179sS5c+eQmJiI2NhYfPHFFzr5fiZERLpCkiSMGzcObdu2feFOu6ruK5/Jv8+8ASAZQJvnznzJfeUzRd1nlrZl1KhRWLRoEYyNjeHk5IQlS5agYcOG+ec3atQIjx49wr179/DJJ58U+X6EpVHiwdOzZ08cPnwYDx48wN27d9GiRQt069YNR48exYMHD3Du3LkKef4OAFhYWCApKanAaUlJSbC0tCxw2uP0x//+IgvAFwAaIO+9j575FUA88h6vnAtgKIAtAJ67+ofpDwHkjTYLCwtYWFjkv7dTSVsAoHXr1li/fj1cXV1Rr1493Lt3D23atMl/JnmzZs3QtGlT6OnpoV27dpg3bx62b99esm8KERFpnaCgIJw/fx7r16+HQqF4+SeUQmnun4Dn7jPjkTd2nn9LyRLcVz5zJf5Kue4rL168iJEjR2LDhg3IzMzE+fPnERwcjP/7v/974bI1atTA+PHjMWTIkHI/IlLiwfP666/j8ePHWL16Nbp37w4AqFatGmxtbbF69WrY2tqiadOm5Yp5xt7ePv/JSwCQkpKCq1evvvAGk1YmT9dkNoCtAKoB+O/RwdsAWgKoibzfbQvkHaL7+9+LWJvkPYjp5OSU/+SyZ4cE/9vy559/IiMjAy1btiy0/YMPPsC5c+dw//59LFy4ENeuXUPnzoW/YJNCoSjwEBgREcnH/v37sWTJEmzfvr1S3r6hpPeVz1iZWOUdHLiAgg9nASW6r3ymeYfm5bqvPHfuHFq2bIm33noLenp6aNWqFQYNGoTdu3cX2p2dnY3ExMQXBlVplXjwmJqawtHREWFhYXBy+vcQSo8ePRAWFlZhR3cAwNnZGefOnUNsbCzS09OxaNEiODg4vHBIy6GOA4wVxnnvbG0A4D28+DuqD+AygAfIe3zyKvKe0Fz76e/LwBTtarcrsmXMmDH49ttvcejQIaSkpGDevHkYOnRokQv61KlTyMnJwd27dzFlyhS8++67+d27d+/GnTt3AOQt3MWLF2PIkCGl+dYQEZEWuHXrFkaOHInw8HB07NixUr5GSe8rn3Go4wDDy4Z5T/n47/GJl9xXPlPUfWZp7is7duyIP/74A/v27YMkSbh69Sp27twJBwcHAHlPxr506RJyc3Nx9+5dzJ49Gx07dkSNGjVeuK7SKNULD/bq1QuJiYkFnljk5OSExMTEAoMnICAAAwYMKHNUrVq1EBsbi48//hjW1tY4fvw4tm7dmn/+tGnTMG3aNLh0cIF0Q8r7Q7oKIBDAkqcf159euD2AtgDWAVAD2I28xyWfvj2IBAkuHVyKbLG3t8fKlSsxZswY1K5dG0+ePMHy5cvzzx8wYAACAgLyfz1r1ixUr14drVq1grW1NVavXp1/3t69e+Hg4ABzc3MMHDgQQ4cOhb+/f5m/T0REpJlWr16NO3fuYNasWfkP/zz7mDZtGoCqu698xqWDC3JO5+TdL/730bWX3Fc+U9R9ZmnuK+3s7LBmzRq4u7ujWrVq6NWrF95//31MmjQJAJCQkIC3334blpaWaNeuHfT09PD111+X7Zv0HCFvLWFiYgJjY2O4u7tj8eLF5bquoV8ORdzFuJe+WmRhFFDAubUzYkfElquhorRq1QoJCQkYPnw41qxZIzqHiIgEqsj7ymfkcJ85ceJEfPXVV6hdu/YLP64u6/fSOpFwAr3X9y7VO14/Y2ZohgMuB/iWAUREpBPkfp+pce+lVZE61++M0P6hMDM0K9XnmRmaIbR/qEb/wREREVUkXb7PNBAdUBGevYOrHN/5lYiIqCLp6n2m1h/heWa643QccDkA59bOMDEwgamBaYHzTQ1MYWJgAufWzjjgckDr/+CIiIjKShfvM7X+OTyFuZtyF+vi1+G3xN/wMP0hrE2s0a52O7h0cEEt81ovvwIiIiIdIaf7TFk/aZmIiIgIkPmTlomIiIhehoOHiIiIZI+Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGSPg4eIiIhkj4OHiIiIZI+Dh4iIiGRPIUlS0WcqFHcBXK+6HCIiIqIyayxJUq3Czih28BARERHJAR/SIiIiItnj4CEiIiLZ4+AhIiIi2ePgISIiItnj4CEiIiLZ+382vEPpcgdWhQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -310,7 +299,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -323,7 +312,7 @@ }, { "data": { - "image/png": "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a9fQuXPhN2xSKBQFToEREZF8HDp0CMuXL8euXbsq5fENJT1WPmNlYpU3OHARBU9nASU6Vj7TvEPzch0rz58/j5YtW+Ktt96Cnp4eWrVqhUGDBmHv3r2F5s7OzkZiYuILhaq0Slx4TE1N4ejoiNDQUDg5/TuE0qNHD4SGhlbY6A4AODs74/z584iJiUF6ejqWLFkCBweHF4a0HGwdYKwwznuytQGA9/DiT1QfwBUAD5B3fvIq8i5orv305zIwRbva7YrMMnbsWHz99dc4evQoUlJSsGDBAgwdOrTIBn369Gnk5OTg7t27mDZtGt5999383Hv37sWdO3cA5DXcpUuXYsiQIaV5a4iISAvcunULo0aNQlhYGDp27Fgp2yjpsfIZB1sHGF4xzLvk47/jEy85Vj5T1DGzNMfKjh074o8//sDBgwchSRKuXr2KPXv2wMHBAUDexdiXL19Gbm4u7t69i7lz56Jjx46oUaPGC+sqjVLdeLBXr15ITEwscGGRk5MTEhMTCxQef39/DBgwoMyhatWqhZiYGHz00UewtrbGiRMnsGPHjvz5M2bMwIwZMzCxw0RIN6S8P6SrAAIALH/6df3pwu0BtAWwEYAawF7knZd8+ngQCRImdphYZBZ7e3usWbMGY8eORe3atfHkyROsWrUqf/6AAQPg7++f//2cOXNQvXp1tGrVCtbW1li3bl3+vAMHDsDBwQHm5uYYOHAghg4dCj8/vzK/T0REpJnWrVuHO3fuYM6cOfmnf559zZgxA0DVHSufmdhhInLO5OQdF/97du0lx8pnijpmluZYaWdnh/Xr18PNzQ3VqlVDr169MGzYMEyZMgUAkJCQgLfffhuWlpZo164d9PT08OWXX5btTXqOkEdLmJiYwNjYGG5ubli6dGm51jX086GIvRT70rtFFkYBBZxbOyNmZEy5MlSUVq1aISEhASNGjMD69etFxyEiIoEq8lj5jByOmZMnT8YXX3yB2rVrv/BxdVk/S+tkwkn03tS7VE+8fsbM0AyHJx7mIwOIiEgnyP2YqXHP0qpInet3Rkj/EJgZmpXqdWaGZgjpH6LRf3BEREQVSZePmQaiA1SEZ09wleOTX4mIiCqSrh4ztX6E55mZjjNxeOJhOLd2homBCUwNTAvMNzUwhYmBCZxbO+PwxMNa/wdHRERUVrp4zNT6a3gKczflLjbGbcRvib/hYfpDWJtYo13tdpjYYSJqmdd6+QqIiIh0hJyOmbK+aJmIiIgIkPlFy0REREQvw8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLKnkCSp6JkKxV0A16suDhEREVGZNZYkqVZhM4otPERERERywFNaREREJHssPERERCR7LDxEREQkeyw8REREJHssPERERCR7/w/dS1oCio0VoAAAAABJRU5ErkJggg==", + "image/png": "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a9fQuXPhN2xSKBQFToEREZF8HDp0CMuXL8euXbsq5fENJT1WPmNlYpU3OHARBU9nASU6Vj7TvEPzch0rz58/j5YtW+Ktt96Cnp4eWrVqhUGDBmHv3r2F5s7OzkZiYuILhaq0Slx4TE1N4ejoiNDQUDg5/TuE0qNHD4SGhlbY6A4AODs74/z584iJiUF6ejqWLFkCBweHF4a0HGwdYKwwznuytQGA9/DiT1QfwBUAD5B3fvIq8i5orv305zIwRbva7YrMMnbsWHz99dc4evQoUlJSsGDBAgwdOrTIBn369Gnk5OTg7t27mDZtGt5999383Hv37sWdO3cA5DXcpUuXYsiQIaV5a4iISAvcunULo0aNQlhYGDp27Fgp2yjpsfIZB1sHGF4xzLvk47/jEy85Vj5T1DGzNMfKjh074o8//sDBgwchSRKuXr2KPXv2wMHBAUDexdiXL19Gbm4u7t69i7lz56Jjx46oUaPGC+sqjVLdeLBXr15ITEwscGGRk5MTEhMTCxQef39/DBgwoMyhatWqhZiYGHz00UewtrbGiRMnsGPHjvz5M2bMwIwZMzCxw0RIN6S8P6SrAAIALH/6df3pwu0BtAWwEYAawF7knZd8+ngQCRImdphYZBZ7e3usWbMGY8eORe3atfHkyROsWrUqf/6AAQPg7++f//2cOXNQvXp1tGrVCtbW1li3bl3+vAMHDsDBwQHm5uYYOHAghg4dCj8/vzK/T0REpJnWrVuHO3fuYM6cOfmnf559zZgxA0DVHSufmdhhInLO5OQdF/97du0lx8pnijpmluZYaWdnh/Xr18PNzQ3VqlVDr169MGzYMEyZMgUAkJCQgLfffhuWlpZo164d9PT08OWXX5btTXqOkEdLmJiYwNjYGG5ubli6dGm51jX086GIvRT70rtFFkYBBZxbOyNmZEy5MlSUVq1aISEhASNGjMD69etFxyEiIoEq8lj5jByOmZMnT8YXX3yB2rVrv/BxdVk/S+tkwkn03tS7VE+8fsbM0AyHJx7mIwOIiEgnyP2YqXHP0qpInet3Rkj/EJgZmpXqdWaGZgjpH6LRf3BEREQVSZePmQaiA1SEZ09wleOTX4mIiCqSrh4ztX6E55mZjjNxeOJhOLd2homBCUwNTAvMNzUwhYmBCZxbO+PwxMNa/wdHRERUVrp4zNT6a3gKczflLjbGbcRvib/hYfpDWJtYo13tdpjYYSJqmdd6+QqIiIh0hJyOmbK+aJmIiIgIkPlFy0REREQvw8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLKnkCSp6JkKxV0A16suDhEREVGZNZYkqVZhM4otPERERERywFNaREREJHssPERERCR7LDxEREQkeyw8REREJHssPERERCR7/w/dS1oCio0VoAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -361,12 +350,12 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [ { "data": { - "image/png": "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a9fQuXPhN2xSKBQFToEREZF8HDp0CMuXL8euXbsq5fENJT1WPmNlYpU3OHARBU9nASU6Vj7TvEPzch0rz58/j5YtW+Ktt96Cnp4eWrVqhUGDBmHv3r2F5s7OzkZiYuILhaq0Slx4TE1N4ejoiNDQUDg5/TuE0qNHD4SGhlbY6A4AODs74/z584iJiUF6ejqWLFkCBweHF4a0HGwdYKwwznuytQGA9/DiT1QfwBUAD5B3fvIq8i5orv305zIwRbva7YrMMnbsWHz99dc4evQoUlJSsGDBAgwdOrTIBn369Gnk5OTg7t27mDZtGt5999383Hv37sWdO3cA5DXcpUuXYsiQIaV5a4iISAvcunULo0aNQlhYGDp27Fgp2yjpsfIZB1sHGF4xzLvk47/jEy85Vj5T1DGzNMfKjh074o8//sDBgwchSRKuXr2KPXv2wMHBAUDexdiXL19Gbm4u7t69i7lz56Jjx46oUaPGC+sqjVLdeLBXr15ITEwscGGRk5MTEhMTCxQef39/DBgwoMyhatWqhZiYGHz00UewtrbGiRMnsGPHjvz5M2bMwIwZMzCxw0RIN6S8P6SrAAIALH/6df3pwu0BtAWwEYAawF7knZd8+ngQCRImdphYZBZ7e3usWbMGY8eORe3atfHkyROsWrUqf/6AAQPg7++f//2cOXNQvXp1tGrVCtbW1li3bl3+vAMHDsDBwQHm5uYYOHAghg4dCj8/vzK/T0REpJnWrVuHO3fuYM6cOfmnf559zZgxA0DVHSufmdhhInLO5OQdF/97du0lx8pnijpmluZYaWdnh/Xr18PNzQ3VqlVDr169MGzYMEyZMgUAkJCQgLfffhuWlpZo164d9PT08OWXX5btTXqOkEdLmJiYwNjYGG5ubli6dGm51jX086GIvRT70rtFFkYBBZxbOyNmZEy5MlSUVq1aISEhASNGjMD69etFxyEiIoEq8lj5jByOmZMnT8YXX3yB2rVrv/BxdVk/S+tkwkn03tS7VE+8fsbM0AyHJx7mIwOIiEgnyP2YqXHP0qpInet3Rkj/EJgZmpXqdWaGZgjpH6LRf3BEREQVSZePmQaiA1SEZ09wleOTX4mIiCqSrh4ztX6E55mZjjNxeOJhOLd2homBCUwNTAvMNzUwhYmBCZxbO+PwxMNa/wdHRERUVrp4zNT6a3gKczflLjbGbcRvib/hYfpDWJtYo13tdpjYYSJqmdd6+QqIiIh0hJyOmbK+aJmIiIgIkPlFy0REREQvw8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLKnkCSp6JkKxV0A16suDhEREVGZNZYkqVZhM4otPERERERywFNaREREJHssPERERCR7LDxEREQkeyw8REREJHssPERERCR7/w/dS1oCio0VoAAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAIuCAYAAAC7EdIKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAAsTAAALEwEAmpwYAABjXklEQVR4nO3deXwM9+MG8GdznyKCuK+4KgQVpYijRYuqhrrVUTdJJHLtpu4jm0vkqiNaN1UVzbf1q9JSV7WKCkXRaNHGEXfkvub3R0ilksj92Z193q9XXm1mZmeerGGefGZ2RiFJEoiIiIjkTE90ACIiIqLKxsJDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLJnUNzMmjVrSk2aNKmiKERERERld/r06XuSJNUqbF6xhadJkyY4depU5aQiIiIiqkAKheJ6UfN4SouIiIhkj4WHiIiIZI+Fh4iIiGSPhYeIiIhkj4WHiIiIZI+Fh4iIiGSPhYeIiIhkj4WHiIiIZI+Fh4iIiGSPhYeIiIhkj4WHiIiIZI+Fh4iIiGSPhYeIiIhkj4WHiIiIZI+Fh4iIiGSPhYeIiIhkj4WHiIiIZI+Fh4iIiGSPhYeIiIhkj4WHiIiIZI+Fh4iIiGSPhYeIiIhkj4WHiIiIZI+Fh4iIiGSPhYeIiIhkj4WHiIiIZI+Fh4iIiGSPhYeIiIhkj4WHiIiIZI+Fh4iIiGSPhYeIiIhkj4WHiIiIZI+Fh4iIiGSPhYeIiIhkj4WHiIiIZI+Fh4iIiGTPQHQAItINiSmJ2Bi3EefunMPj9MewMrGCg60DJnWYhFrmtUTHIyKZU0iSVORMR0dH6dSpU1UYh4jk5mTCSaiPqbE3fi8AID07PX+eqYEpJEgY0HwAVD1U6Fy/s6iYRCQDCoXitCRJjoXN4yktIqo0q0+tRu9NvRF7KRbp2ekFyg4ApGWnIT07HbGXYtF7U2+sPrVaSE4ikj+e0iKiSrH61Gp47fdCalbqS5eVICE1KxVe+70AADMdZ1Z2PCLSMRzhIaIS2bhxI9q1awczMzPUqVMHM2fOxKNHjwpd9mTCyYJlZ/lzX4sALHvu+3P/vu5Z6Tl1k6fSiahisfAQ0UutWLECvr6+CA4OxuPHj/Hzzz/j+vXr6NevHzIzM19YXn1MjbSstH8nfPTclxWA0c997/DcC3OAtKw0qI+qK/GnISJdxMJDRMVKSkrCwoULERkZibfffhuGhoZo0qQJdu7ciWvXrmHr1q0Flk9MScTe+L2QUPQHIvL9BWAFgGMAggH8D5DOSPjS50vcTbmbv5hCoUB8fDwAICMjA15eXmjUqBFsbW0xY8YMpKWlFbZ2IqJ8LDxEVKzjx48jPT0dQ4cOLTDdwsICAwcOxHfffQcACAgIwDvvvIONcRtLt4FkAGkAPAAMzpukgKLI9SiVSly5cgVxcXGIj49HQkIClixZUrptEpHOYeEhomLdu3cPNWvWhIHBi59xqFu3Lu7duwcgr4js2bMH5+6ce+HTWMVSAOiNvI9QGOZNypVy8Vviby8sKkkSoqOjsXLlStSoUQOWlpbw8/PDjh07Sv1zEZFu4ae0iKhYNWvWxL1795Cdnf1C6bl16xZq1qxZYNrj9Mel24A58ovO8x6mP3xh2t27d5GamopOnTrlT5MkCTk5OaXbJhHpHI7wEFGxXn/9dRgbG2P37t0FpicnJ2Pv3r148803C0y3MrEq3waNAGQB1ibWAIDbt2/nz6pZsyZMTU1x4cIFPHr0CI8ePcLjx4+RnJxcvm0Skeyx8BBRsaysrLBw4UK4urri22+/RVZWFq5du4YRI0agQYMG+OCDDwos72DrABMDk7Jv0BbAXcDmsQ3S09OxaNGi/Fl6enqYOnUqPDw8kJiYCABISEjAvn37yr49ItIJLDxE9FI+Pj7w9/eHl5cXqlWrhi5duqBhw4Y4cOAAjI2NAQD+/v4YMGAAJnaYWL6N1QQM+hhgs+dmtGjRAj169CgwOzAwEM2bN0fXrl1RrVo19O3bF5cvXy7fNolI9vgsLSKqcEM/H4rYS7El+2j6fyiggHNrZ8SMjKmEZEQkZ3yWFhFVKVUPFUwNTcv0WlNDU6icVBWciIh0HQsPEVW4zvU7I6R/CMwMzUr1OjNDM4T0D4FjvUJ/QSMiKjN+LJ2IKsWzB4B67fdCWlZasae3FFDA1NAUIf1D+OBQIqoUHOEhokohSRIeffcI3a90h3NrZ5gYmMDUoOBpLlMDU5gYmKB7je5odbwVRjcfLSgtEckdR3iIqMLduHEDH3zwAY4cOQJ7e3uc33ged1PuYmPcRvyW+Bsepj+EtYk12tVuh4kdJuLovqMY9n/D0KhRI2zYsAHDhg0T/SMQkcyw8BBRhVq1ahV8fHzyH+jZoUMHAEAt81rw7u5d6GsaN24MExMTPHnyBOPHj8cnn3yCrVu3wsbGpqpiE5HM8ZQWEVWYZ8+6ysnJQW5uLgCgXr16L31djRo1oK+vDyDvaeg//PADLl26VKlZiUi3sPAQUYVRKBQ4ffo0unbtCkNDQ+jr66N27dovfV2NGjWQnp4OY2NjGBgYIC4uDt27d6+CxESkK1h4iKhCXbx4ERcuXMD58+cxY8aMEhWXatWqYfTo0fjuu+8wbtw4rF27tgqSEpEu4Z2WiajCSJKEPn36YMSIEZg1a1aZ1pGYmAh7e3scOnQI9vb2FZyQiOSMd1omoirx+eef4/Hjx5g+fXqZ11G7dm0sWLAArq6uKO4XMiKi0mDhIaIKkZycDG9vb0RGRuZfgFxWM2fOxL1797Br164KSkdEuo6Fh4gqxPLly9G7d+8Xnm5eFgYGBoiMjISnpydSUlIqIB0R6ToWHiIqtytXrmDdunUICgqqsHX26tULPXr0gFqtrrB1EpHuYuEhonKRJAlz5syBUqlE3bp1K3TdwcHBWL16NeLj4yt0vUSke1h4iKhcvv76a1y7dg1ubm4Vvu769evDx8cH7u7uFb5uItItLDxEVGbp6enw8PBAREQEjIyMKmUb7u7u+OOPP7Bnz55KWT8R6QYWHiIqs+DgYHTo0AH9+vWrtG0YGxsjPDwc7u7uSE9Pr7TtEJG8sfAQUZlcv34dYWFhCA0NrfRtvf3222jbtm2VbIuI5ImFh4jKxNPTE3PmzEHjxo2rZHuhoaFYsWIFbty4USXbIyJ5YeEholL7/vvv8euvv8Lb27vKttmsWTO4uLjAy8uryrZJRPLBwkNEpZKZmQlXV1eEhYXB1NS0Srft6+uLX375BQcPHqzS7RKR9mPhIaJSiYyMRJMmTTB48OAq37aZmRlCQ0Ph6uqKrKysKt8+EWkvFh4iKrFbt25BrVYjPDwcCoVCSAZnZ2fUr18fH3/8sZDtE5F2YuEhohLz9fXFlClT0LJlS2EZFAoFIiIisGzZMty+fVtYDiLSLiw8RFQiP/74Iw4ePIh58+aJjoLWrVtj0qRJUCqVoqMQkZZg4SGil8rJyYGLiwtCQkJgYWEhOg4AYP78+fjuu+/w008/iY5CRFqAhYeIXio6OhpWVlYYOXKk6Cj5qlWrhsDAQLi4uCAnJ0d0HCLScCw8RFSse/fuYeHChYiIiBB2oXJRxo4dCzMzM3z66aeioxCRhmPhIaJizZs3D6NGjYKDg4PoKC9QKBSIjIzE/Pnz8eDBA9FxiEiDsfAQUZFOnz6N2NhYLFmyRHSUInXo0AHvv/8+5s+fLzoKEWkwFh4iKlRubi5cXV3h7++P6tWri45TrKVLl2LXrl04c+aM6ChEpKFYeIioUFu2bEFOTg4mTpwoOspL1ahRA0uXLoWrqyskSRIdh4g0EAsPEb3g8ePHUKlUiIqKgp6edvwzMXnyZKSnp2Pbtm2ioxCRBtKOf8mIqEotXrwYgwYNQufOnUVHKTF9fX1ERUXB19cXSUlJouMQkYZh4SGiAi5cuICtW7fC399fdJRS69q1K/r374+lS5eKjkJEGoaFh4jySZIENzc3LFiwALVq1RIdp0wCAgKwceNG/P7776KjEJEGYeEhony7du3C3bt3MWPGDNFRyszW1hYfffQR3NzceAEzEeVj4SEiAEBKSgo8PT0RFRUFAwMD0XHKZfbs2bh16xa+/PJL0VGISEOw8BARAECtVsPJyQk9e/YUHaXcDA0NERkZiblz5yI1NVV0HCLSACw8RIT4+HisWbMGQUFBoqNUmD59+qBLly4IDAwUHYWINAALDxHBw8MDPj4+qF+/vugoFSokJARRUVH4888/RUchIsFYeIh03J49e3DlyhW4u7uLjlLhGjZsCE9PT3h4eIiOQkSCsfAQ6bD09HS4u7sjIiICRkZGouNUCk9PT1y8eBF79+4VHYWIBGLhIdJhoaGhaNeuHd566y3RUSqNsbExwsPDMWfOHGRkZIiOQ0SCsPAQ6ai///4boaGhCA0NFR2l0g0cOBCtWrVCWFiY6ChEJAgLD5GO8vLygouLC5o2bSo6SpUICwtDcHAwEhISREchIgFYeIh00MGDB/HLL7/A19dXdJQqY2dnh5kzZ8Lb21t0FCISgIWHSMdkZWXB1dUVoaGhMDU1FR2nSqlUKvz44484fPiw6ChEVMVYeIh0zMcff4wGDRrgvffeEx2lypmZmWHFihVwdXVFdna26DhEVIVYeIh0yO3bt7F8+XKEh4dDoVCIjiPEsGHDUKtWLaxevVp0FCKqQiw8RDpEqVRi0qRJaN26tegowigUCkRGRmLJkiVITEwUHYeIqggLD5GO+Omnn/D9999j/vz5oqMI16ZNG4wfPx5+fn6ioxBRFWHhIdIBOTk5cHFxQWBgICwtLUXH0QgLFy7EN998g19++UV0FCKqAiw8RDrg008/hZmZGcaMGSM6isaoVq0aAgIC4OLigtzcXNFxiKiSsfAQydz9+/cxf/58REVF6eyFykUZN24cDAwMsGHDBtFRiKiSsfAQydz8+fMxfPhwtG/fXnQUjaOnp4eoqCh89NFHePjwoeg4RFSJWHiIZOzMmTPYvXs3lixZIjqKxnr11Vfh7OyMhQsXio5CRJWIhYdIpiRJgqurK5YuXYoaNWqIjqPRli1bhh07duDcuXOioxBRJWHhIZKpbdu2ISMjAx9++KHoKBrPxsYGS5YsgYuLCyRJEh2HiCoBCw+RDCUlJcHX1xdRUVHQ19cXHUcrTJ06FcnJydixY4foKERUCVh4iGRoyZIleOutt9ClSxfRUbSGvr4+IiMj4e3tjeTkZNFxiKiCsfAQyczvv/+OTZs2Qa1Wi46idbp3744333wTy5YtEx2FiCoYCw+RjEiSBDc3N8ybNw+2trai42ilwMBAfPLJJ7h8+bLoKERUgVh4iGTkyy+/xO3btzF79mzRUbRWnTp14Ofnhzlz5vACZiIZYeEhkonU1FTMnTsXkZGRMDAwEB1Hq7m6uuLGjRv46quvREchogrCwkMkEwEBAejatSt69+4tOorWMzQ0RGRkJDw8PJCWliY6DhFVABYeIhn4888/sWrVKoSEhIiOIhtvvvkmOnXqhODgYNFRiKgCsPAQyYCHhwc8PT3RoEED0VFkZcWKFQgPD8e1a9dERyGicmLhIdJye/fuxcWLFzF37lzRUWSnUaNG+WWSiLQbCw+RFsvIyMCcOXMQHh4OY2Nj0XFkycvLC3Fxcdi/f7/oKERUDiw8RFps5cqVaN26NQYOHCg6imyZmJggLCwMbm5uyMzMFB2HiMqIhYdIS/3zzz8ICQnBypUrRUeRvXfeeQd2dnaIiIgQHYWIyoiFh0hLeXt7Y+bMmbCzsxMdRfYUCgXCwsIQEBCAmzdvio5DRGXAwkOkhQ4fPozjx49DpVKJjqIzWrRogWnTpsHX11d0FCIqAxYeIi2TnZ0NFxcXhIaGwszMTHQcnfLRRx/h8OHDOHr0qOgoRFRKLDxEWmbVqlWwtbXF0KFDRUfROebm5ggODoarqytycnJExyGiUmDhIdIiiYmJWLp0KSIiIqBQKETH0UkjRoyAtbU11q5dKzoKEZUCCw+RFlGpVBg/fjzatGkjOorOUigUiIyMxKJFi3Dv3j3RcYiohFh4iLTEL7/8gr1792LhwoWio+i8tm3bYsyYMfjoo49ERyGiEmLhIdICubm5mD17NgIDA1GtWjXRcQjAokWL8NVXX+HUqVOioxBRCbDwEGmB9evXw8jICOPGjRMdhZ6qXr06/P394eLigtzcXNFxiOglWHiINNzDhw8xb948REVF8UJlDTNhwgQAwObNmwUnIaKXYeEh0nALFiyAs7MzOnbsKDoK/Yeenh6ioqKgUqnw6NEj0XGIqBgsPEQa7Ny5c9i5cyeWLVsmOgoVwdHREYMHD8aiRYtERyGiYrDwEGkoSZLg4uKCJUuWwMbGRnQcKoa/vz+2b9+O8+fPi45CREVg4SHSUJ999hlSUlIwZcoU0VHoJWrWrImFCxfC1dUVkiSJjkNEhWDhIdJAT548gY+PDyIjI6Gvry86DpXA9OnT8fDhQ3zxxReioxBRIVh4iDTQsmXL8Oabb6Jbt26io1AJGRgYIDIyEp6enkhOThYdh4j+g4WHSMNcvnwZ69evR2BgoOgoVEpOTk7o1asX/P39RUchov9g4SHSIJIkwc3NDX5+fqhTp47oOFQGQUFBiI6Oxh9//CE6ChE9h4WHSIP873//wz///AMXFxfRUaiM6tWrB19fX7i7u4uOQkTPYeEh0hBpaWnw8PBAREQEDA0NRcehcpgzZw6uXr2KPXv2iI5CRE+x8BBpiKCgIDg6OuLNN98UHYXKycjICBEREZgzZw7S09NFxyEisPAQaYRr164hMjISK1asEB2FKkj//v3Rvn17hISEiI5CRGDhIdIIc+fOhYeHBxo1aiQ6ClWg0NBQhIWF4caNG6KjEOk8Fh4iwfbv349z587B09NTdBSqYE2aNIGrqyv/bIk0AAsPkUCZmZlwc3NDWFgYTExMRMehSuDj44NTp07hwIEDoqMQ6TQWHiKBwsPDYWdnh3feeUd0FKokpqamWLlyJVxdXZGVlSU6DpHOYuEhEuTmzZsIDAxEWFiY6ChUyYYMGYJGjRohMjJSdBQincXCQySIj48Ppk+fjhYtWoiOQpVMoVAgPDwcarUat2/fFh2HSCex8BAJcPToURw5cgR+fn6io1AVadWqFT788EP4+vqKjkKkk1h4iKpYdnY2XFxcEBISAnNzc9FxqArNmzcPBw4cwPHjx0VHIdI5LDxEVWzt2rWwsbHB8OHDRUehKmZpaYmgoCC4uLggJydHdBwincLCQ1SF7t69i8WLFyMiIgIKhUJ0HBJg9OjRsLCwwLp160RHIdIpLDxEVeijjz7C2LFj0bZtW9FRSBCFQoGoqCgsXLgQ9+/fFx2HSGew8BBVkVOnTuHrr7/GokWLREchwRwcHDBixAjMmzdPdBQincHCQ1QFcnNz4eLiArVaDSsrK9FxSAMsWbIEX375JX799VfRUYh0AgsPURXYtGkTFAoFxo8fLzoKaQhra2ssW7YMLi4uyM3NFR2HSPZYeIgq2aNHj+Dn54fIyEjo6fGvHP3rww8/RHZ2NrZu3So6CpHs8V9fokq2aNEivPvuu3B0dBQdhTSMnp4eoqKioFQq8fjxY9FxiGSNhYeoEp0/fx7bt2/H8uXLRUchDfXaa69hwIABWLJkiegoRLLGwkNUSSRJgqurKxYtWoSaNWuKjkMaTK1WY/Pmzbh48aLoKESyxcJDVEl27tyJhw8fYvr06aKjkIarXbs25s+fDzc3N0iSJDoOkSyx8BBVguTkZHh5eSEqKgr6+vqi45AWmDVrFu7cuYOYmBjRUYhkiYWHqBL4+/ujd+/e6NGjh+gopCUMDAwQFRUFT09PpKSkiI5DJDssPEQV7I8//kB0dDSCgoJERyEt06tXL3Tr1g0BAQGioxDJDgsPUQWSJAlz5syBUqlE3bp1RcchLRQcHIzVq1fj6tWroqMQyQoLD1EF2rNnD/7880+4ubmJjkJaqkGDBvDy8oKHh4foKESywsJDVEHS09Ph7u6OiIgIGBkZiY5DWszDwwOXLl3C//3f/4mOQiQbLDxEFSQkJAQdOnRA//79RUchLWdsbIyIiAi4u7sjIyNDdBwiWWDhIaoA169fx8qVK7FixQrRUUgm3n77bbRp0wahoaGioxDJAgsPUQXw8vLCnDlz0KRJE9FRSEZWrlyJkJAQ/P3336KjEGk9Fh6icjpw4ABOnz4Nb29v0VFIZpo1a4bZs2fDy8tLdBQircfCQ1QOWVlZcHV1xcqVK2Fqaio6DsmQUqnEiRMn8MMPP4iOQqTVWHiIyiEyMhKNGzfGu+++KzoKyZSZmRlCQ0Ph6uqKrKws0XGItBYLD1EZ3bp1C/7+/ggPD4dCoRAdh2TM2dkZdevWxapVq0RHIdJaLDxEZaRUKjFlyhS0bNlSdBSSOYVCgYiICCxbtgx37twRHYdIK7HwEJXB8ePHceDAAcybN090FNIRr7zyCiZMmAClUik6CpFWYuEhKqWcnBy4uLggODgYFhYWouOQDlmwYAH279+Pn3/+WXQUIq3DwkNUSuvWrYOlpSVGjRolOgrpmGrVqiEwMBAuLi7IyckRHYdIq7DwEJXC/fv3sWDBAkRGRvJCZRJi7NixMDExwfr160VHIdIqLDxEpTBv3jyMGjUKDg4OoqOQjlIoFIiKisK8efPw4MED0XGItAYLD1EJ/frrr/jyyy+xePFi0VFIx3Xo0AHDhg3D/PnzRUch0hosPEQlkJubCxcXFyxfvhzW1tai4xBh2bJl2LVrF+Li4kRHIdIKLDxEJbB161ZkZ2dj0qRJoqMQAQBq1KiBpUuXwsXFBZIkiY5DpPEMRAcg0hSJKYnYGLcR5+6cw+P0x7AysYKDrQOGNRsGpVKJ2NhY6OnxdwTSHJMnT8batWuxbds2jBs3rsh9eFKHSahlXkt0XCKhFMX9ZuDo6CidOnWqCuMQVb2TCSehPqbG3vi9AID07PT8eaYGpsjKzkL91Pr4wu0LdK7fWVRMokL99NNPGO01Gq+6vVrkPixBwoDmA6DqoeI+TLKmUChOS5LkWNg8/rpKOm31qdXovak3Yi/FIj07vcCBAgDSstOQjWzcMLuB3pt6Y/Wp1UJyEhUlzjAOiQMTi92H07PTEXsplvsw6TQWHtJZq0+thtd+L6RmpUJC8ddASJCQmpUKr/1ehR4wevfujU8++aSyohIV6tk+nJadVuZ9eOPGjejRo0dlRyUSjoWHNJparcaAAQMKTGvRokWh03bs2IGEhARYW1vj2LFj+fP+/vtvWFtb48SJE/nTTiaczC87L1gJYBmA5c99JeXNenbAOHWTp3qp9MaNG/fChe+HDx+GjY0Nbt26BQsLixe+DA0N0axZsxfWVeg+/AOAJSi47x4r+Druw6SrWHhIo/Xs2RPHjx/Pv43+rVu3kJWVhTNnzhSYFh8fj549e6J+/foIDAzElClTkJ6eN7Q/ffp0TJo0CV26dMlfr/qYGmlZaUVveDSAj577qvbvrLSsNKiPqiv2ByWdEB4ejr179+K7774DAKSnp2Pq1KlYsWIF6tati+Tk5AJfV65cQY0aNQq9306R+7A9Cu67hQzecB8mXcTCQxqtc+fOyMrKyr/XyNGjR9GnTx+0atWqwDQ7OzvUq1cPADB16lTUrVsXixcvxqZNm3D58mUsW7Ysf52JKYnYG7/3pacACkgDsA1AECAFSIhdGIuzV84Wumh8fDx69eoFKysr1KxZEyNHjsyfd+nSJfTr1w81atRAq1atsHPnztK8HaTlbGxsEBkZiWnTpiElJQWLFy+GnZ0dJk6c+MKy2dnZGDFiBAYPHvzCqFCp9+GjAMIB+AOIAqTfJXwT/w3uptwtsJgkSfDw8EDt2rVRrVo1tGvXDufPnwcAZGRkwMvLC40aNYKtrS1mzJiBtLRifmkg0jAsPKTRjIyM0KVLFxw5cgQAcOTIETg5OaFHjx4FpvXs2TP/NQqFAp988glWrVoFd3d3rFu3DmZmZvnzJ3hOQOaWzNIFkQB0BOAOwAOAATB2ythCF50/fz769++Phw8f4p9//oGrqysAICUlBf369cOYMWOQmJiIHTt2YNasWbh48WLpspBWGz58OF599VWMHj0a0dHRiI6OLnQ5Hx8fpKSkICoqKn/ajRs3UL16daz8dmXpNloDwCQASgC9AewG8ATYGLexwGL79+/HkSNHcOXKFTx+/Bg7d+6EjY0NAECpVOLKlSuIi4tDfHw8EhISsGTJktLlIBKIhYc0Xq9evfLLzdGjR+Hk5AQnJ6cC03r16lXgNY0bN0a9evVQrVq1AmUIAGz62yB3dG7xG90BQP306zMAZgDaADACYAzk9sjFH7/+UehLDQ0Ncf36ddy8eRMmJib5F4Tu2bMHTZo0waRJk2BgYICOHTti2LBh+OKLL0r1fpD2W7VqFQ4ePIgFCxagYcOGL8yPiYnBhg0bEBMTAxMTk/zpjRo1wqNHj/C34u8XPo2V7wL+3XfVyLv+zB55p2X1ALQFUANIv56O3xJ/K/BSQ0NDPHnyBJcuXYIkSXjllVdQt25dSJKE6OhorFy5EjVq1IClpSX8/PywY8eOing7iKoEbzxIGq9nz574+OOP8eDBA9y9exctWrSAra0tJkyYgAcPHuD8+fMvlJqAgADY2NjAwsICISEhUCqV+fMepz9++UZHAbB77vtMAPsAxCPv9BaAzMxM5OTkQF9fv8BLg4KCMH/+fLz22muwtraGp6cnPvzwQ1y/fh0nTpxA9erV85fNzs7GBx98UJq3g2TA1tYWNWvWhL29/Qvzrly5gsmTJ2Pz5s2FXqwMvGQftgcw7D/T4gD8BODR0+8zAaQCD9MfFljsjTfegIuLC2bPno3r169j6NChCAkJQXp6OlJTU9GpU6f8ZSVJyr+OjkgbsPCQxnv99dfx+PFjrFu3Dt27dwcAVKtWDfXq1cO6detQr149NG3aNH/5ixcvIjg4GCdOnEBmZiZ69OiBYcOGoUWLFgAAKxOr0of4CcA9AFMAWAK4BWAtCr2lf506dbBu3ToAwLFjx9C3b1/07NkTDRs2RK9evfIvWCX6r9TUVAwbNgwzZszAu+++W+RypdqHHwH4GsB4AA2RN8qzGoAEWJtYAxkFF3dzc4ObmxsSExMxYsQIBAcHY/HixTA1NcWFCxdQv3790v5YRBqBp7RI45mamsLR0RGhoaFwcnLKn96jRw+EhoYWGN3Jzc3F5MmT4ePjg9atW8PBwQFubm6YNm1afjlxsHWAiYHJC9spVgYAQwAmAFIBvSNF/9X54osv8M8//wAArK2toVAooKenh3feeQdXrlzBli1bkJWVhaysLJw8eRK///576bKQbM2YMQM2NjZYvnx5scuVah9+drma+dP/ngGQCBjqG6Jd7XYFFj158iROnDiBrKwsmJubw8TEBHp6etDT08PUqVPh4eGBxMREAEBCQgL27dtX8h+OSDAWHtIKvXr1QmJiYoEbpDk5OSExMbFA4QkPD0dqaip8fHzyp82fPx+3b9/OvzHgo+8eIXNTKS9a7gogC0AQgE8AvRZF/9U5efIkunTpAgsLC7z77rsIDw9Hs2bNYGlpif3792PHjh2oV68e6tSpA19fX2RkZBS5LtIdN27cwJYtW/Dzzz/DysrqhfvxPFvGwsICfW36lnzFtQF0A/AJgGAAdwA0yrsR4cQOEwssmpSUhKlTp8La2hqNGzeGjY0NvL29AQCBgYFo3rw5unbtimrVqqFv3764fPlyBfzkRFWDz9IinTT086GIvRRbuo+mP6WAAs6tnREzMqYSkhGVDPdhohfxWVpE/6HqoYKpoWmZXmtqaAqVk6qCExGVDvdhotJh4SGd1Ll+Z4T0D4GZodnLF36OmaEZQvqHwLFeob9AEFUZ7sNEpcNPaZHOmuk4EwDyHr6YVfzDFxVQwNTQFCH9Q/JfRyQa92GikuMID+m0Xma98N7D9+Dc2hkmBiYwNSh4isDUwBQmBiZwbu2MwxMP80BBGmem40wcnni42H3YUGGINnptuA+TTuMID+msgwcPYsCAATAwMEBKSgruptzF+jPrEfVFFBxec4CNmQ3a1W6HiR0mopZ5LdFxiYrkWM8RMSNjcDflLjbGbcTW77bCuLoxWjdujXa12+HKF1fwSfgn+PTmp2gf0R6GhoaiIxNVOY7wkM6RJAnLly/HO++8g8zMTJia5v1GXMu8Fhr93Qj/RPyDoelDsdl5M7y7e7PskNaoZV4L09tNx8XlF3E3/G7+Pty8bnMAwPr16/H666/jzp07gpMSVT0WHtI5CxYswIIFC1540nNOTg58fX0BAPPmzUN2draIeETlEhYWBkmScPPmTRw+fBgAkJWVBSDvcShnzpxB+/btuX+TzmHhIZ0zZcoUjBw5EgBgYGCQfzDYuXMnHj7Me7bQkydPsGXLFmEZicoiKSkJwcHByMnJQWZmZv5NA5/d3FJPTw/16tVDdHQ0DAx4RQPpFhYe0jmNGzdGv3790KNHD0yfPh1t2rQBkHdH5mcHhszMTCxYsEBkTKJSW7t2LdLT06Gvrw9DQ0OcPHkSP//8M+rVq4cuXbrAz88PDRo0wODBg0VHJapyrPikc3JychAYGIhVq1bhjTfeyJ8eHByMxMREzJw5E2FhYahVi9fukHYZMGAAqlWrhk2bNqF58+bo3r17/uMgZs6ciZycHOzcuRNHjhxBr169RMclqlJ8tATpnF27diE4OBg///wzFArFC/MNDAyQnp7OIX/SWh9++CF69OiBDz/88IV5n376KXbu3MkHf5Is8dESRE9JkgS1Wg2VSlVo2SGSuw8++AAXL17E6dOnRUchqlIsPKRTvvvuO6Snp+Pdd98VHYVICCMjI3h6eiIgIEB0FKIqxcJDOkWtVkOpVEJPj7s+6a6pU6fi8OHDuHz5sugoRFWG/+qTzvjpp5/w119/YdSoUaKjEAllbm4OFxcXBAYGio5CVGV4VSbpDLVaDR8fH95WnwiAi4sLWrRogb///hsNGzYUHYeo0nGEh3TCb7/9hpMnT2LSpEmioxBphBo1auDDDz/EihUrREchqhIsPKQTAgICMGfOnPznZhER4OHhgc2bN+Pu3buioxBVOhYekr0///wT+/btw8yZM0VHIdIo9erVw/DhwxERESE6ClGlY+Eh2QsODsb06dNhZWUlOgqRxvHx8cGaNWuQlJQkOgpRpWLhIVm7desWPv/8c8yZM0d0FCKNZGdnh379+mHt2rWioxBVKhYekrWVK1di7NixqF27tugoRBpLqVRi5cqVSE9PFx2FqNKw8JBsPXz4EJ9++im8vLxERyHSaA4ODujUqRM2btwoOgpRpWHhIdn6+OOPMXjwYDRu3Fh0FCKNp1KpEBQUhOzsbNFRiCoFCw/JUkpKCiIiIuDr6ys6CpFW6NatGxo2bIjPP/9cdBSiSsHCQ7L0ySefwMnJCa+88oroKERaQ6VSISAgALm5uaKjEFU4Fh6SnczMTKxYsQIqlUp0FCKt8tZbb8HQ0BD/93//JzoKUYVj4SHZ2bZtG1q1agVHR0fRUYi0ikKhgEqlgr+/PyRJEh2HqEKx8JCs5OTkICAggKM7RGU0dOhQPHjwAIcPHxYdhahCsfCQrHz55ZewtrZGnz59REch0kr6+vrw8fGBWq0WHYWoQrHwkGxIkgS1Wg2VSgWFQiE6DpHW+uCDD3Dx4kWcPn1adBSiCsPCQ7Kxf/9+pKenY/DgwaKjEGk1IyMjeHp6cpSHZIWFh2Tj2eiOnh53a6Lymjp1Ko4cOYJLly6JjkJUIXhkIFn46aefcP36dYwaNUp0FCJZMDc3h6urK4KCgkRHIaoQBqIDEFUEtVoNb29vGBhwlyaqKC4uLmjevDlu3LiBRo0aiY5DVC4c4SGt99tvv+HkyZOYNGmS6ChEsmJtbY0PP/wQK1asEB2FqNxYeEjrBQQEwN3dHaampqKjEMmOh4cHtmzZgrt374qOQlQuLDyk1f7880/s27cPM2fOFB2FSJbq1auHESNGICIiQnQUonJh4SGtFhwcjOnTp6NatWqioxDJlre3N9asWYOkpCTRUYjKjIWHtNatW7fw+eefY86cOaKjEMmanZ0d+vXrhzVr1oiOQlRmLDyktVauXIlx48ahdu3aoqMQyZ5SqURYWBjS09NFRyEqExYe0koPHz7Ep59+Ci8vL9FRiHSCg4MDOnXqhI0bN4qOQlQmLDyklaKiojB48GDeG4SoCqlUKgQFBSE7O1t0FKJSY+EhrZOSkoKoqCj4+vqKjkKkU7p164aGDRvi888/Fx2FqNRYeEjrfPLJJ+jRowdeeeUV0VGIdI6fnx8CAgKQm5srOgpRqbDwkFbJzMxESEgIVCqV6ChEOql///4wNDTE//3f/4mOQlQqLDykVbZu3YpXXnkFjo6OoqMQ6SSFQgGVSgV/f39IkiQ6DlGJsfCQ1sjJyUFgYCBHd4gEGzp0KB48eIDDhw+LjkJUYiw8pDW+/PJLWFtbo3fv3qKjEOk0fX19+Pr6Qq1Wi45CVGIsPKQVJEmCv78/VCoVFAqF6DhEOm/cuHG4ePEiTp8+LToKUYmw8JBW2L9/PzIzMzF48GDRUYgIgJGRETw9PTnKQ1qDhYe0glqthlKphJ4ed1kiTTF16lQcPXoUly5dEh2F6KV49CCNd/z4cVy/fh2jRo0SHYWInmNubg4XFxcEBQWJjkL0UgaiAxC9jFqtho+PDwwMuLsSaRoXFxc0b94cN27c4KNeSKNxhIc02m+//YZTp05h0qRJoqMQUSGsra0xefJkrFixQnQUomKx8JBGCwgIgLu7O0xMTERHIaIieHh4YMuWLbh7967oKERFYuEhjXX16lXs27cPM2fOFB2FiIpRt25djBgxAuHh4aKjEBWJhYc0VnBwMGbMmIFq1aqJjkJEL+Ht7Y01a9YgKSlJdBSiQrHwkEa6desWdu7ciTlz5oiOQkQlYGdnh7feegtr1qwRHYWoUCw8pJFWrlyJcePGoVatWqKjEFEJKZVKhIWFIT09XXQUohew8JDGefjwIT755BN4eXmJjkJEpdCuXTt06tQJGzZsEB2F6AUsPKRxoqKiMGTIEN7Tg0gLqVQqBAcHIzs7W3QUogJYeEijpKSkIDIyEr6+vqKjEFEZdOvWDY0aNcLnn38uOgpRASw8pFHWrVsHJycntG7dWnQUIiojlUoFtVqN3Nxc0VGI8rHwkMbIzMzEihUroFKpREchonLo378/jIyMsGfPHtFRiPKx8JDG2Lp1K1555RU4OjqKjkJE5aBQKODn5we1Wg1JkkTHIQLAwkMaIicnB4GBgRzdIZIJZ2dnPHjwAIcPHxYdhQgACw9piN27d6NGjRro3bu36ChEVAH09fXh6+sLf39/0VGIALDwkAaQJAlqtRoqlQoKhUJ0HCKqIOPGjcPvv/+O06dPi45CxMJD4u3fvx+ZmZl45513REchogpkZGQELy8vqNVq0VGIWHhIPH9/fyiVSujpcXckkpspU6bg6NGjuHTpkugopON4hCGhjh8/jhs3bmDUqFGioxBRJTA3N4eLiwsCAwNFRyEdZyA6AOk2tVoNHx8fGBhwVySSKxcXFzRv3hw3btzgI2NIGI7wkDDnzp3DqVOnMGnSJNFRiKgSWVtbY/LkyVixYoXoKKTDWHhImICAAHh4eMDExER0FCKqZB4eHtiyZQvu3r0rOgrpKBYeEuLq1avYv38/ZsyYIToKEVWBunXrYsSIEQgPDxcdhXQUCw8JERwcjBkzZqBatWqioxBRFfHx8cGaNWuQlJQkOgrpIBYeqnI3b97Ezp07MWfOHNFRiKgKNWvWDG+99RZWr14tOgrpIBYeqnIrV67EBx98gFq1aomOQkRVTKlUIiwsDGlpaaKjkI5h4aEq9fDhQ6xfvx6enp6ioxCRAO3atUPnzp2xceNG0VFIx7DwUJWKiorCu+++y3txEOkwlUqFoKAgZGdni45COoSFh6pMSkoKIiMj4evrKzoKEQn0+uuvo3HjxtixY4foKKRDWHioyqxbtw49e/ZE69atRUchIsFUKhUCAgKQm5srOgrpCBYeqhKZmZlYsWIFVCqV6ChEpAH69+8PY2Nj7NmzR3QU0hEsPFQltmzZgjZt2qBTp06ioxCRBlAoFFCpVPD394ckSaLjkA5g4aFKl5OTg8DAQI7uEFEBzs7OePjwIQ4dOiQ6CukAFh6qdLt374aNjQ169eolOgoRaRB9fX0olUqo1WrRUUgHsPBQpZIkCWq1GiqVCgqFQnQcItIwY8eOxaVLl3Dq1CnRUUjmWHioUu3btw9ZWVl45513REchIg1kZGQET09PjvJQpWPhoUqlVquhVCqhp8ddjYgKN2XKFBw7dgyXLl0SHYVkjEchqjQ//vgj/v77b4wcOVJ0FCLSYObm5nB1dUVgYKDoKCRjBqIDkHyp1Wr4+PjAwIC7GREVb/bs2WjevDlu3LjBR89QpeAID1WKc+fO4ddff8XEiRNFRyEiLWBtbY3JkycjJCREdBSSKRYeqhQBAQFwd3eHiYmJ6ChEpCU8PDywdetW3L17V3QUkiEWHqpwV69exf79+zFjxgzRUYhIi9StWxcjR45EeHi46CgkQyw8VOGCgoIwc+ZMVKtWTXQUItIy3t7eWLNmDZKSkkRHIZlh4aEKdfPmTXzxxRdwc3MTHYWItFCzZs3w1ltvYfXq1aKjkMyw8FCFWrlyJT744APUqlVLdBQi0lJKpRJhYWFIS0sTHYVkhIWHKsyDBw/w6aefwsvLS3QUItJi7dq1Q+fOnbFhwwbRUUhGWHiowkRFReG9995Dw4YNRUchIi2nUqkQHByM7Oxs0VFIJlh4qEKkpKQgKioKvr6+oqMQkQy8/vrraNy4MXbs2CE6CskECw9ViHXr1qFnz55o1aqV6ChEJBN+fn4ICAhAbm6u6CgkAyw8VG4ZGRkICQmBSqUSHYWIZKRfv34wNjbG119/LToKyQALD5Xb1q1bYW9vj06dOomOQkQyolAooFKpoFarIUmS6Dik5Vh4qFxycnIQGBjI0R0iqhTOzs549OgRDh06JDoKaTkWHiqXmJgY1KxZE7169RIdhYhkSF9fH76+vvD39xcdhbQcCw+VmSRJUKvVUKlUUCgUouMQkUyNHTsWly9fxqlTp0RHIS3GwkNltm/fPmRnZ2PQoEGioxCRjBkZGcHT0xNqtVp0FNJiLDxUZmq1GkqlEnp63I2IqHJNmTIFx44dw++//y46CmkpHqmoTH788Uf8/fffGDlypOgoRKQDzM3N4erqisDAQNFRSEsZiA5A2kmtVsPHxwcGBtyFiKhqzJ49G82bN8eNGzfQqFEj0XFIy3CEh0rt7Nmz+PXXXzFx4kTRUYhIh1hbW2PKlCkICQkRHYW0EAsPlVpAQAA8PDxgYmIiOgoR6RgPDw9s3boViYmJoqOQlmHhoVKJj4/Hd999hxkzZoiOQkQ6qE6dOhg5ciTCw8NFRyEtw8JDpRIcHIyZM2fC0tJSdBQi0lHe3t5Yu3YtkpKSREchLcLCQyV28+ZNfPHFF3BzcxMdhYh0WLNmzfD2229j9erVoqOQFmHhoRILDQ3F+PHjUatWLdFRiEjHKZVKhIWFIS0tTXQU0hIsPFQiDx48wPr16+Hp6Sk6ChER2rZti86dO2PDhg2io5CWYOGhEomKisJ7772Hhg0bio5CRAQA8PPzQ3BwMLKyskRHIS3AwkMvlZycjKioKPj6+oqOQkSUr2vXrmjSpAl27NghOgppARYeeql169ahV69eaNWqlegoREQFqFQqBAQEIDc3V3QU0nAsPFSsjIwMrFixAiqVSnQUIqIX9OvXDyYmJvj6669FRyENx8JDxdq6dSvs7e3x6quvio5CRPQChUIBPz8/+Pv7Q5Ik0XFIg7HwUJFycnIQGBgIPz8/0VGIiIrk7OyMx48f44cffhAdhTQYCw8VKSYmBjVr1kTPnj1FRyEiKpKenh58fX2hVqtFRyENxsJDhZIkCWq1GiqVCgqFQnQcIqJijR07FpcvX8bJkydFRyENxcJDhfr222+Rk5ODQYMGiY5CRPRSRkZG8PLy4igPFYmFhwqlVquhVCqhp8ddhIi0w5QpU/Djjz/i999/Fx2FNBCPZvSCH3/8EQkJCRgxYoToKEREJWZmZgZXV1cEBgaKjkIayEB0ANI8arUa3t7eMDDg7kFE2mX27Nlo3rw5rl+/jsaNG4uOQxqEIzxUwNmzZ/Hrr79i4sSJoqMQEZWatbU1pkyZgpCQENFRSMOw8FABAQEB8PDwgImJiegoRERl4uHhgW3btiExMVF0FNIgLDyULz4+Ht999x1mzJghOgoRUZnVqVMHI0eORHh4uOgopEFYeChfUFAQZs2aBUtLS9FRiIjKxdvbG2vXrsXjx49FRyENwcJDAICbN29i165dcHNzEx2FiKjcmjVrhrfffhurV68WHYU0BAsPAQBCQ0Mxfvx41KxZU3QUIqIKoVQqER4ejrS0NNFRSAOw8BAePHiADRs2wNPTU3QUIqIK07ZtW7z22mvYsGGD6CikAVh4CJGRkXjvvffQsGFD0VGIiCqUSqVCUFAQsrKyREchwVh4dFxycjI+/vhj+Pj4iI5CRFThunbtiqZNm2LHjh2io5BgLDw6bt26dejVqxdatWolOgoRUaVQqVQICAhAbm6u6CgkEAuPDsvIyMCKFSugUqlERyEiqjT9+vWDqakpvvrqK9FRSCAWHh22ZcsWtG3bFq+++qroKERElUahUEClUkGtVkOSJNFxSBAWHh2Vk5ODoKAgju4QkU5wdnbG48eP8cMPP4iOQoKw8OiomJgY1KpVCz179hQdhYio0unp6UGpVEKtVouOQoKw8OggSZKgVquhUqmgUChExyEiqhJjxozB5cuX8csvv4iOQgKw8Oigb7/9Fjk5ORg0aJDoKEREVcbIyAheXl4ICAgQHYUEYOHRQWq1GkqlkqM7RKRzpkyZgh9//BG///676ChUxVh4dMyxY8eQkJCAESNGiI5CRFTlzMzM4ObmhsDAQNFRqIoZiA5AVUutVsPHxwcGBvyjJyLdNHv2bNjZ2eH69eto3Lix6DhURTjCo0POnj2LM2fOYMKECaKjEBEJU716dUyZMgUhISGio1AVYuHRIQEBAfDw8ICJiYnoKEREQnl4eGDbtm1ITEwUHYWqCAuPjoiPj8f333+PGTNmiI5CRCRcnTp1MGrUKISFhYmOQlWEhUdHBAUFYebMmbC0tBQdhYhII3h7eyM6OhqPHz8WHYWqAAuPDrh58yZ27doFNzc30VGIiDRG06ZN8fbbb2P16tWio1AVYOHRAaGhoZgwYQJq1qwpOgoRkUZRKpUICwtDWlqa6ChUyVh4ZO7+/ftYv349PD09RUchItI4bdu2RZcuXbB+/XrRUaiSsfDIXFRUFJydndGgQQPRUYiINJJKpUJwcDCysrJER6FKxMIjY8nJyYiKioKPj4/oKEREGqtr165o2rQpduzYIToKVSIWHhmLjo5Gnz590KpVK9FRiIg0mp+fH9RqNXJzc0VHoUrCwiNTGRkZCA0NhUqlEh2FiEjj9e3bF2ZmZvjqq69ER6FKwsIjU1u2bEHbtm3RsWNH0VGIiDSeQqGASqWCWq2GJEmi41AlYOGRoZycHAQGBsLPz090FCIireHs7IykpCQcPHhQdBSqBCw8MrRr1y7Url0bTk5OoqMQEWkNPT09+Pr6Qq1Wi45ClYCFR2YkSYJarYZKpYJCoRAdh4hIq4wZMwZXrlzByZMnRUehCsbCIzPffvstcnNzMWjQINFRiIi0jpGREby8vDjKI0MsPDLj7+/P0R0ionKYMmUKfvzxR1y8eFF0FKpALDwycuzYMdy8eRPDhw8XHYWISGuZmZnBzc0NgYGBoqNQBTIQHYAqjlqtho+PDwwM+MdKRFQes2fPhp2dHa5du4YmTZqIjkMVgCM8MhEXF4e4uDhMmDBBdBQiIq1XvXp1TJ06FSEhIaKjUAVh4ZGJgIAAeHh4wMTERHQUIiJZcHd3x/bt23Hnzh3RUagCsPDIQHx8PA4cOIDp06eLjkJEJBt16tTBqFGjEB4eLjoKVQAWHhkICgrCzJkzYWlpKToKEZGseHt7Y+3atXj8+LHoKFROLDxaLiEhAbt27YKbm5voKEREstO0aVMMHDgQq1atEh2FyomFR8uFhoZiwoQJqFmzpugoRESypFQqER4ejrS0NNFRqBxYeLTY/fv3sWHDBnh6eoqOQkQkW/b29ujSpQvWr18vOgqVAwuPFouKioKzszMaNGggOgoRkaypVCoEBwcjKytLdBQqIxYeLZWcnIyoqCj4+vqKjkJEJHtdu3ZFs2bN8Nlnn4mOQmXEwqOloqOj0adPH7Rs2VJ0FCIinaBSqRAQEIDc3FzRUagMWHi0UEZGBkJDQ6FSqURHISLSGX379oWZmRm++uor0VGoDFh4tNCWLVvQrl07dOzYUXQUIiKdoVAo4OfnB39/f0iSJDoOlRILj5bJyclBYGAgR3eIiAR477338OTJExw8eFB0FColFh4ts2vXLtSuXRtOTk6ioxAR6Rw9PT34+vpCrVaLjkKlxMKjRSRJglqthkqlgkKhEB2HiEgnjRkzBleuXMEvv/wiOgqVAguPFtm7dy8kScKgQYNERyEi0llGRkbw9vbmKI+WYeHRImq1GkqlkqM7RESCTZ48GcePH8fFixdFR6ESYuHREseOHcPNmzcxfPhw0VGIiHSemZkZ3NzcEBgYKDoKlZCB6ABUMmq1Gr6+vjAw4B8ZEZEmmD17Nuzs7HDt2jU0adJEdBx6CY7waIG4uDjExcVhwoQJoqMQEdFT1atXx9SpUxESEiI6CpUAC48WCAgIgIeHB4yNjUVHISKi57i7u2P79u24c+eO6Cj0Eiw8Gu6PP/7AgQMHMH36dNFRiIjoP+rUqYNRo0YhLCxMdBR6CRYeDRcUFIRZs2bB0tJSdBQiIiqEt7c3oqOj8fjxY9FRqBgsPBosISEBMTExcHNzEx2FiIiK0LRpUwwcOBCrVq0SHYWKwcKjwUJDQzFhwgTY2NiIjkJERMVQKpUIDw9Hamqq6ChUBBYeDXX//n1s2LABnp6eoqMQEdFL2Nvbo2vXrli/fr3oKFQEFh4NFRkZiaFDh6JBgwaioxARUQmoVCqEhIQgKytLdBQqBAuPBkpOTsbHH38MHx8f0VGIiKiEunTpgmbNmuGzzz4THYUKwcKjgaKjo9GnTx+0bNlSdBQiIioFlUqFgIAA5Obmio5C/8HCo2EyMjIQGhoKlUolOgoREZVS3759YW5ujv/973+io9B/sPBomM2bN6Ndu3bo2LGj6ChERFRKCoUCKpUKarUakiSJjkPPYeHRIDk5OQgKCuLoDhGRFnvvvffw5MkTHDx4UHQUeg4LjwbZtWsXbG1t4eTkJDoKERGVkZ6eHpRKJfz9/UVHoeew8GgISZKgVquhUqmgUChExyEionIYM2YM4uPj8csvv4iOQk+x8GiIvXv3QpIkDBw4UHQUIiIqJ0NDQ3h5eUGtVouOQk+x8GgItVoNpVLJ0R0iIpmYPHkyjh8/jgsXLoiOQmDh0QhHjx7FrVu3MHz4cNFRiIiogpiZmWHOnDkIDAwUHYUAGIgOQHmjOz4+PjAw4B8HEZGczJo1C3Z2drh27RqaNGkiOo5O4wiPYHFxcTh79iwmTJggOgoREVWw6tWrY+rUqQgJCREdReex8AgWEBAADw8PGBsbi45CRESVwN3dHdu2bcOdO3dER9FpLDwC/fHHHzhw4ACmT58uOgoREVWSOnXqYMyYMQgLCxMdRaex8AgUFBSEWbNmwdLSUnQUIiKqRN7e3oiOjsajR49ER9FZLDyCJCQkICYmBm5ubqKjEBFRJWvSpAkGDhyIVatWiY6is1h4BAkNDcXEiRNhY2MjOgoREVUBpVKJiIgIpKamio6ik1h4BLh//z42bNiAuXPnio5CRERVxN7eHl27dsX69etFR9FJLDwCREZGYujQoWjQoIHoKEREVIVUKhWCg4ORlZUlOorOYeGpYk+ePMHHH38MHx8f0VGIiKiKdenSBXZ2dti+fbvoKDqHhaeKRUdH44033kDLli1FRyEiIgH8/PwQGBiI3Nxc0VF0CgtPFcrIyEBoaCiUSqXoKEREJMibb74Jc3Nz/O9//xMdRaew8FShzZs3w8HBAR07dhQdhYiIBFEoFFCpVPD394ckSaLj6AwWniqSnZ2NwMBA+Pn5iY5CRESCvffee0hOTsaBAwdER9EZLDxVZNeuXahTpw6cnJxERyEiIsH09PSgVCqhVqtFR9EZLDxVQJIkBAQEQKVSiY5CREQaYsyYMYiPj8eJEydER9EJLDxVYO/evZAkCQMHDhQdhYiINIShoSG8vLw4ylNFWHiqgL+/P1QqFRQKhegoRESkQSZPnoyff/4ZFy5cEB1F9lh4KtnRo0dx+/ZtvP/++6KjEBGRhjEzM4ObmxsCAwNFR5E9A9EB5E6tVsPHxwcGBnyriYjoRbNmzYKdnR3++usvNG3aVHQc2eIITyWKi4vD2bNnMWHCBNFRiIhIQ1WvXh3Tpk1DSEiI6CiyxsJTidRqNebOnQtjY2PRUYiISIO5u7vjs88+w507d0RHkS0Wnkryxx9/4ODBg5g2bZroKEREpOFsbW0xevRohIWFiY4iWyw8lSQoKAizZs2CpaWl6ChERKQFvL29ER0djUePHomOIkssPJUgISEBMTExcHNzEx2FiIi0RJMmTTBo0CCsWrVKdBRZYuGpBCtWrMDEiRNhY2MjOgoREWkRX19fREREIDU1VXQU2WHhqWD379/Hxo0bMXfuXNFRiIhIy9jb26Nr16749NNPRUeRHRaeChYZGYmhQ4eiQYMGoqMQEZEWUqlUCAkJQVZWlugossLCU4GePHmCjz/+GL6+vqKjEBGRlurSpQuaN2+O7du3i44iKyw8FSg6OhpvvPEGWrRoIToKERFpMZVKhYCAAOTm5oqOIhssPBUkIyMDoaGhUCqVoqMQEZGWe/PNN2FhYYHY2FjRUWSDhaeCbN68Ge3bt0fHjh1FRyEiIi2nUCjg5+cHtVoNSZJEx5EFFp4KkJ2djcDAQKhUKtFRiIhIJoYMGYKUlBQcOHBAdBRZYOGpALt27UKdOnXg5OQkOgoREcmEnp4efH194e/vLzqKLLDwlJMkSVCr1RzdISKiCjdmzBhcvXoVJ06cEB1F67HwlNM333wDABg4cKDgJEREJDeGhobw9vaGWq0WHUXrsfCU07PRHYVCIToKERHJ0Icffoiff/4Z58+fFx1Fq7HwlMPRo0dx+/ZtvP/++6KjEBGRTJmZmcHNzQ2BgYGio2g1A9EBtJlarYavry8MDPg2EhFR5Zk1axbs7Ozw119/oWnTpqLjaCWO8JTRmTNncPbsWYwfP150FCIikrnq1atj2rRpCAkJER1Fa7HwlFFAQADmzp0LY2Nj0VGIiEgHuLu7Y/v27bh9+7boKFqJhacMrly5goMHD2LatGmioxARkY6wtbXFmDFjEBYWJjqKVmLhKYOgoCDMnj0blpaWoqMQEZEO8fb2xrp16/Do0SPRUbQOC08p/fPPP9i9ezdcXV1FRyEiIh3TpEkTDBo0CB9//LHoKFqHhaeUQkNDMXHiRNjY2IiOQkREOsjX1xcRERFITU0VHUWrsPCUwv3797Fx40Z4enqKjkJERDrK3t4e3bp1w6effio6ilZh4SmFiIgIDBs2DPXr1xcdhYiIdJhKpUJISAgyMzNFR9EaLDwl9OTJE6xatQo+Pj6ioxARkY577bXX0Lx5c2zfvl10FK3BwlNC0dHReOONN9CiRQvRUYiIiKBSqRAYGIjc3FzRUbQCC08JZGRkIDQ0FCqVSnQUIiIiAMCbb74JS0tLxMbGio6iFVh4SmDTpk1o3749OnToIDoKERERAEChUEClUsHf3x+SJImOo/FYeF4iOzsbQUFBHN0hIo2XmJKIoB+DkNAlAdukbRi3exyCfgzC3ZS7oqNRJRkyZAhSU1Px/fffi46i8fiY75fYtWsX6tSpAycnJ9FRiIgKdTLhJNTH1NgbvxcAkJ6dnjfjH2D377ux8NBCDGg+AKoeKnSu31lgUqpoenp68PX1hVqtRr9+/UTH0Wgc4SmGJElQq9Xw8/MTHYWIqFCrT61G7029EXspFunZ6f+WnafSstOQnp2O2Eux6L2pN1afWi0kJ1WeMWPG4OrVq/j5559FR9FoLDzF+Oabb6BQKDBgwADRUYhIS23cuBH6+vqwsLDA77//XqHrXn1qNbz2eyE1KxUSir+GQ4KE1KxUeO330ojS8/3338PCwgJ6eno8HVNOhoaG8Pb2hlqtFh1Fo7HwFEOtVkOpVEKhUIiOQkSCjRs3DpMmTSow7fDhw7CxscGtW7eKfe3rr7+O5ORkvPLKK0UuExcXh06dOsHMzAydOnVCXFxcses8mXASc7fPReqCVCDmuRl/AVgEYPlzX8+t6lnpOXXzVKHrlSQJvr6+sLGxgY2NDXx9fYu8IPbQoUPQ09ODhYVF/temTZvy5/fu3RsmJib581q1apU/r2/fvkhOTkajRo2K/TmpZD788EOcOHEC58+fFx1FY7HwFOHo0aO4c+cOhg8fLjoKEWmA8PBw7N27F9999x0AID09HVOnTsWKFStQt27dcq07MzMTQ4YMwbhx4/Dw4UNMmDABQ4YMKfYuuupjaqT/Lx0o7MbvlgA+eu6rQ8HZaVlpUB8tfDQgOjoasbGxOHv2LM6dO4evv/4aa9euLTJHvXr1kJycnP81YcKEAvOjoqLy512+fLnI9VD5mJmZYc6cOQgMDBQdRWOx8BTB398fPj4+0NfXFx2FiDSAjY0NIiMjMW3aNKSkpGDx4sWws7PDxIkTy73uQ4cOITs7G+7u7jA2NoabmxskScLBgwcLXT4xJRF7du8BTAA0Lf32JEj4Jv6bQj+9tWnTJnh6eqJBgwaoX78+PD09sXHjxtJvhKrcrFmz8M033+Cvv/4SHUUjsfAU4syZMzh37hzGjx8vOgoRaZDhw4fj1VdfxejRoxEdHY3o6GgAgIODQ7lu8X/hwgU4ODgUOH3u4OCACxcuFLr8mh/XIPtANvBWEStMARAMIAzAtwAKGShSQIGNcRsLzdK+ffv879u3b19kDgBITEyEra0tmjZtCg8PD6SkpBSYr1KpULNmTXTv3h2HDh0qcj1UflZWVpg2bRqCg4NFR9FILDyFCAgIwNy5c2FsbCw6ChFpmFWrVuHgwYNYsGABGjZsCAA4d+4cxowZU+Z1Jicnw8rKqsA0KysrPHnypNDlt4dvh9RRAqwKmVkTwAwAngAmALgJYN+Li6Vlp+G3xN9emsXKygrJycmFXsfTunVrxMXF4datWzh48CBOnz6NuXPn5s8PDAzEn3/+iYSEBEybNg2DBw/G1atXC/2ZqGK4u7vjs88+w+3bt0VH0TgsPP9x5coVHDx4ENOnTxcdhYg0kK2tLWrWrAl7e/syr+P5i3xv3LgBCwsLJCUlFVgmKSkJlpaWL7w2Li4OCWcTgK5FrNwSQG3k/etuDaAfgIuFL/rLjl/yc8yYMSM/2/NZkpKSYGFhUeiHN+rUqYM2bdpAT08PTZs2RVBQEGJi/r2CukuXLrC0tISxsTEmTJiA7t2745tvvin6jaFys7W1xdixYxEWFiY6isZh4fmPoKAgzJ49GxYWFqKjEJFMPX+Rb6NGjWBvb49z584VGEU5d+5coaXq0KFDSLuXBqxE3mmr4wB+B7CmiI0pgKI+sf7aqNfyc6xZk7cCe3t7nD17Nn+Zs2fPlrjcKRSKYh9kqVAo+AiEKuDl5YV169bh0aNHoqNoFBae5/zzzz/YvXs3XF1dRUchIh3Su3dv6OvrIyIiAhkZGYiKigIAvPHGGy8sO23aNKh2qmDsYpx36soRQAsAHzxd4C8Aj5BXch4D+B5A6xe3aWpgina1270wffz48QgNDUVCQgJu3ryJFStWFHlh9g8//IDr169DkiT8/fffUCqVGDJkCADg0aNH2LdvH9LT05GdnY1t27bhyJEjePvtt0vz1lAZNGnSBIMGDcLHH38sOopGYeF5TmhoKCZNmgQbGxvRUYhIi9jb22Pbtm1lfr2RkRFiY2OxefNmVK9eHevXr0dsbCyMjIwA5H1q9NkNUM3MzOD6pisUloq801dGyHtIkPnTld0C8Cny7r/zKfJObxVy71QJEiZ2mPjC9OnTp2Pw4MFo164d2rZti0GDBhU4xW9hYYGjR48CyPuAR7du3WBubo5u3bqhXbt2iIiIAABkZWVh3rx5qFWrFmrWrInIyEjExsaiZcuWZX6fqOSUSiUiIiKQmpoqOorGUBQ3vOjo6CidOlX4zank5t69e2jZsiV+++031K9f2I0tSFcYGBggPT0dBgZ81ByV35YtWzB9+nQYGRnhp59+Kvbmg6Ux9POhiL0U+9I7LBdGAQWcWzsjZmTMyxeuJAcOHMCwYcOQkZGBb775Bn369BGWRa6cnZ3Rp08fuLm5iY5SZRQKxWlJkhwLncfCk2fhwoW4efMm1q1bJzoKCcbCQ9rgZMJJ9N7UG6lZpf8N3szQDIcnHoZjvUKPCyQTv/zyC95//33Ex8fnjxbKXXGFh6e0ADx58gSrVq2Cj4+P6CgkUGJKIoJ+DEL3kO5w3umMcbvHIejHoEJvzkYkWuf6nRHSPwRmhmalep2ZoRlC+oew7OiA1157DS1atCjXPaLkhCM8AEJCQnDq1Cns2LFDdBQS4GTCSaiPqbE3fi8AFHjatKmBKSRIGNB8AFQ9VOhcv7OomESFevYA0bSstGJPbymggKmhKUL6h2Cm48wqTEgiHThwALNnz8aFCxd04skBHOEpRkZGBlauXAmlUik6Cgmw+tRq9N7UG7GXYpGenV6g7AB5N2dLz05H7KVY9N7UWyOeMk30vJmOM3F44mE4t3aGiYEJTA1MC8w3NTCFiYEJnFs74/DEwyw7OuaNN95AtWrVEBsbKzqKcDp/kcKmTZvQvn17dOjQQXQUKkKTJk1w584dvP/++9iyZUuFrffZb8YluQZCgpT/lGkAGnHQeOONN3D8+HE4Ojri2LFjouOQQI71HBEzMgZ3U+5iY9xG/Jb4Gx6mP4S1iTXa1W6HiR0mopZ5LdExSQCFQgGVSoXly5dj6NChhd5AUlfo9AhPdnY2goKC4OfnJzqKbCUnJ6NJkyYFPrL75MkTNGrUCLt27Srxer7++utiy05cXBw6deoEMzMzdOrUCXFxcYUul5GRgcmTJ6Nug7qY1X0WUiNSgT/+s9B5AFEA/J/+9/d/Zz0rPaduFn2q98CBA2jdujXMzMzQp08fXL9+vchljx8/jtdeew2WlpZwcHAoUFwOHToEPT29Anfl3bRpU/78gwcP5t8sjggAapnXgnd3b2x23oyvR3+Nzc6b4d3dm2VHxw0ZMgSpqan4/vvvRUcRSqcLzxdffIG6deuiR48eoqPIloWFBdauXQt3d3fcvZt38a+Pjw8cHR3x/vvvV8g2MjMzMWTIEIwbNw4PHz7EhAkTMGTIEGRmvvjExOzsbDRs2BAOvg6AEsAbAL4A8PDpAkkAdiPvoYwqAP0BxABI/ncdaVlpUB9VF5rl3r17GDp0KJYuXYoHDx7A0dERI0eOLHTZBw8eYPDgwfD29sajR4/g4+ODwYMH4+HDh/nL1KtXr8BdeSdMmFDat4eIdJyenh6USiX8/f1FRxFKZwuPJEkICAiASqUSHUX23nrrLQwaNAhubm44dOgQdu7ciVWrVlXY+g8dOoTs7Gy4u7vD2NgYbm5ukCQJBw8efGFZc3NzzPKehSNJR/L2/lYAqiPvZm1AXuExQd6daxUAWiLvxm7/dhBIkPBN/DeFfnpr9+7dsLe3x/Dhw2FiYoJFixbh7NmzuHTp0gvLHj9+HHXq1MHw4cOhr6+PcePGoVatWti9e3f53hAiov8YPXo0/vrrL/z888+iowijs4Xnm2++gUKhyL97KVWulStX4tChQ3j//fcREhKCOnXq5M/bvn07HBwcyrzuCxcuwMHBocC5aQcHB1y4cKHQ5TfGbfz3m2QA9wE8G/Gv9/T/LwHIRd7pLH0AtgXXoYCi4Hqey9K+ffv8783NzWFnZ1dklv9+SlKSJJw/fz7/+8TERNja2qJp06bw8PBASkpKoeshIiqOoaEhvLy8oFYXPjqtC3Sy8EiSBH9/f6hUKp2+gKsqWVtbw97eHqmpqRg6dGiBeWPGjMG5c+fKvO7k5GRYWVkVmGZlZYUnT54Uuvy5O+fyPo2Vg7zTVR3wb+HRA9D+6fSlT/87GHmjPM9Jy07Db4m/lSvL66+/jps3b+Kzzz5DVlYWNm3ahKtXr+bfCr5169aIi4vDrVu3cPDgQZw+fRpz584t9r0gIirK5MmTceLEiQK/VOkSnSw8R48eRWJiYoVdQ0Ivt3XrVly7dg19+/aFr69vha7bwsICSUlJBaYlJSXB0tKy0OUfpz/OG73ZjbzRm4HPzbwK4DsAEwHMBzAJwFf495TXc27+c7PABcWlzWJjY4P//e9/CA0Nha2tLb799lv07dsXDRo0AADUqVMHbdq0gZ6eHpo2bYqgoCDExIh7FAARaTdTU1PMmTMHAQEBoqMIoZOFR61Ww8fHRyduwqQJEhMT4eHhgXXr1mHt2rXYuXNn/sMHK4K9vT3OnTtX4PTQuXPnYG9vX+jy1Yyr5ZWYFAAjkVd6nrkNoDGA+sj721H/6defL66nXoOCFxQ/y3L27Nn8ZVJSUnD16tUis/Tq1QsnT57EgwcPsGXLFly6dAmvvfZaocsqFArk5uYW/iYQEZXArFmzsHfvXvz111+io1Q5nSs8Z86cwblz5zB+/HjRUXSGi4sL3nvvPfTp0wd169ZFUFAQpk6dioyMjApZf+/evaGvr4+IiAhkZGQgKioKQN59agpzdctVKO4pgNEADP8zsz6A6/h3ROcWgBt44RoeUwNTtKvd7oV1Ozs74/z584iJiUF6ejqWLFkCBwcHtG7dutAsZ86cQVZWFpKSkuDl5YWGDRvirbfeAgD88MMPuH79OiRJwt9//w2lUokhQ4aU5C0hIiqUlZUVpk2bhuDgYNFRqpzOFR61Wg1PT08YGxuLjqITYmNjcezYsQJ/uaZMmYJ69ephyZIlAIBt27YVOQJSEkZGRoiNjcXmzZtRvXp1rF+/HrGxsfkPy/P398+/OP369es48b8TkG5LQAiA5U+/nl1C1ARAbwA7kXcfns8BOAFoXnCbEiRM7DDxhSy1atVCTEwMPvroI1hbW+PEiRMFHlkyY8YMzJgxI//7oKAg1KxZEw0bNsStW7fw5Zdf5s87c+YMunXrBnNzc3Tr1g3t2rVDREREmd8nIiIAcHd3x2effYbbt2+LjlKldOpZWleuXEH37t3x119/5V9zQZqvVatWuHXrFpydnQvceK88hn4+FLGXYot99lBRFFDAubUzYkaKvZ6mX79++Pnnn/Haa6/hwIEDQrMQkXZxcXGBubk5AgMDRUepUMU9S0unCs+UKVPQoEEDLFq0SHQUEuxkwkn03tS7RI+V+C8zQzMcnniYT5smIq117do1dOrUCVevXkX16tVFx6kwxRUeWT5LKzElERvjNuLcnXN4nP4YViZWaFGtBWK+jUH82XjR8UgDdK7fGSH9Q0r8LK1nzAzNENI/hGWHiLRakyZN8M4772DTpk0YPWX0C8dMB1sHTOowSVaPJZHVCM/JhJNQH1Njb/xeACjw5GtTA1Pk5uZiYMuBUPVQoXP9zqJikgZ59gDRtKy0Yk9vKaCAqaEpQvqHaMSDQ4mIyuuHyz8g6OcgHPrnEIAXj5kSJAxoPkCrjpk6cUqLBy4qq1M3T0F9VI1v4r+BAgqkZaflz3v2l35g84FQOak4skNEsiDXY2ZxhUfIp7QUCgXMzc3x0UcfVcj6nv3BpWalvvQiVAlS/hOvV59aXSHbryh2dnYwMjLCuHHjREfRKY71HBEzMgY33G9gce/F+MDhA7zT8h184PABFvdejBvuNxAzMoZlh4iqVEUfK5/R9mPmxIkTYWpqmn+T1hKTJKnIr06dOkmSJEn+/v7S22+/LT2vefPmhU777LPPpJcBIP3xxx/FLvP9999LrVq1kkxNTaXevXtL165dK3S5b+O+lfQd9CVYQIIxJDSEhCmQsOi5rwGQUB0SjCChLiRMyptuttxMOplw8qV5t23bJjVq1EgyMzOThgwZIt2/f7/IZb/66ivJ3t5eMjc3l15//XXpwoUL+fM2bNgg6enpSebm5vlfP/zwQ4HXL1y4UBo7duxLMxERkebaunVrgX/rn30BkBYvXlyidVTksfL69euSubm5ZGpmmncsNIQEQEL/lx8rn3297JhZmmPlgQMHpI4dO0qWlpZS06ZNpbVr1+bPO3jwoNS2bVvJyspKqlGjhvTee+9J//zzT4HX//DDD1L9+vULe89OSUV0mhKN8PTs2RPHjx9HTk4OAODWrVvIysrCmTNnCkyLj49Hz549S9e4CnHv3j0MHToUS5cuxYMHD+Do6IiRI0cWumzo4VDk1MkBpgPwRd5zkLYBeHZPu38AfA9gBAAVgFeRd2+VXCAtKw3qo8U/SO3ChQuYPn06tmzZgjt37sDMzAyzZs0qdNk//vgDY8eOxZo1a/Do0SMMHjwY7777LrKzs/OXef311wvcnbd3794lf2OIiEgrjB07tsC/9cnJyQgLC4OtrS2mTp1aIdsozbGyUaNGSE5Oxtvr34bCTwHMAqAA8MrTBYo5Vj5T3DGzNMfKrKwsODs7Y/r06Xj8+DE+//xzzJ07N/8u9W3atMG+ffvw6NEj3Lx5Ey1atMDMmeU/nVaiwtO5c2dkZWUhLi4OQN6zqPr06YNWrVoVmGZnZ4d69eqVO9Tu3bthb2+P4cOHw8TEBIsWLcLZs2dx6dKlAsslpiTiyJMjQDcAlk9/GkfkPRTy/tOFHiHvwZD1kPeH2x5AKoCUvKG6b+K/wd2Uu0Vm2bZtGwYPHoyePXvCwsICS5cuxe7duwt9GOS+ffvg5OSEHj16wMDAAL6+vkhISMDhw4fL+5YQEZEWO3PmDNzd3bFjxw7UrVu3QtZZ0mPlM4kpidgbvzfvNNZZ5D1Gx/rpzEco8lj5THHHzNIcKx88eICkpCR88MEHUCgU6Ny5M1555RVcvHgRAGBra1ugS+jr6yM+vvyfsC5R4TEyMkKXLl1w5MgRAMCRI0fyD+zPT3s2uhMQEIB33nmnzKEuXLiA9u3b539vbm4OOzs7XLhwocByG+M2vvjiW8grPDWeft8cgIS89poL4AyAOgCe3ndQAUXh6ykiy7PrbK5cuVLo8tJzF4E/G0Z7/sm0Z86cQc2aNdGyZUssXbq0wOgPERHJz6NHj/D+++9j/vz5BUb1q+pY+Uz+sU5CXuFp/9zMlxwrnynqmFmaY6WtrS1Gjx6NDRs2ICcnBz/99BOuX7+OHj165C9z48YNVK9eHaampggJCYGPj0+R70NJlfii5V69euWXm6NHj8LJyQlOTk4FpvXq1QsAoFQqsWfPnjKHSk5OhpWVVYFpVlZWLzTFc3fOFfgYHdIBfIm8RwOYPJ1mjLwhu/UAlgI4BGAw8hosgLTsNPyW+Fu5swBA3759cfjwYRw6dAiZmZnw9/dHZmYmUlPz7vPSs2dPnD9/HomJiYiJicFnn32mk88zISLSFZIkYfz48Wjbtu0LB+2qOlY+k3/MvAEgGUCb52a+5Fj5TFHHzNJmGT16NJYsWQJjY2M4OTlh+fLlaNiwYf78Ro0a4dGjR7h37x6WLVtW5PMIS6PEhadnz544duwYHjx4gLt376JFixbo1q0bjh8/jgcPHuD8+fMVcv0OAFhYWCApKanAtKSkJFhaWhaY9jj98b/fZAH4DEAD5D376JlfAcQh73zlfABDAWwH8NzqH6Y/BJBX2iwsLGBhYZH/bKeSZgGA1q1bY9OmTXBxcUHdunVx7949tGnTJv9K8mbNmqFp06bQ09NDu3btsGDBAuzatatkbwoREWmdwMBAXLhwAZs2bYJCoXj5C0qhNMcn4LljZhzyys7zj5QswbHymfi4+HIdKy9duoRRo0Zh8+bNyMzMxIULFxAUFIT/+7//e2HZGjVqYMKECRgyZEi5z4iUuPC8/vrrePz4MdatW4fu3bsDAKpVq4Z69eph3bp1qFevHpo2bVquMM/Y29vnX7wEACkpKbh69eoLD5i0MnnaJrMB7ABQDcB/RwdvA2gJoCbyftoWyBui+/vfRaxN8k5iOjk55V9c9mxI8L9Z/vzzT2RkZKBly5aFZn///fdx/vx53L9/H4sXL8a1a9fQuXPhN2xSKBQFToEREZF8HDp0CMuXL8euXbsq5fENJT1WPmNlYpU3OHARBU9nASU6Vj7TvEPzch0rz58/j5YtW+Ktt96Cnp4eWrVqhUGDBmHv3r2F5s7OzkZiYuILhaq0Slx4TE1N4ejoiNDQUDg5/TuE0qNHD4SGhlbY6A4AODs74/z584iJiUF6ejqWLFkCBweHF4a0HGwdYKwwznuytQGA9/DiT1QfwBUAD5B3fvIq8i5orv305zIwRbva7YrMMnbsWHz99dc4evQoUlJSsGDBAgwdOrTIBn369Gnk5OTg7t27mDZtGt5999383Hv37sWdO3cA5DXcpUuXYsiQIaV5a4iISAvcunULo0aNQlhYGDp27Fgp2yjpsfIZB1sHGF4xzLvk47/jEy85Vj5T1DGzNMfKjh074o8//sDBgwchSRKuXr2KPXv2wMHBAUDexdiXL19Gbm4u7t69i7lz56Jjx46oUaPGC+sqjVLdeLBXr15ITEwscGGRk5MTEhMTCxQef39/DBgwoMyhatWqhZiYGHz00UewtrbGiRMnsGPHjvz5M2bMwIwZMzCxw0RIN6S8P6SrAAIALH/6df3pwu0BtAWwEYAawF7knZd8+ngQCRImdphYZBZ7e3usWbMGY8eORe3atfHkyROsWrUqf/6AAQPg7++f//2cOXNQvXp1tGrVCtbW1li3bl3+vAMHDsDBwQHm5uYYOHAghg4dCj8/vzK/T0REpJnWrVuHO3fuYM6cOfmnf559zZgxA0DVHSufmdhhInLO5OQdF/97du0lx8pnijpmluZYaWdnh/Xr18PNzQ3VqlVDr169MGzYMEyZMgUAkJCQgLfffhuWlpZo164d9PT08OWXX5btTXqOkEdLmJiYwNjYGG5ubli6dGm51jX086GIvRT70rtFFkYBBZxbOyNmZEy5MlSUVq1aISEhASNGjMD69etFxyEiIoEq8lj5jByOmZMnT8YXX3yB2rVrv/BxdVk/S+tkwkn03tS7VE+8fsbM0AyHJx7mIwOIiEgnyP2YqXHP0qpInet3Rkj/EJgZmpXqdWaGZgjpH6LRf3BEREQVSZePmQaiA1SEZ09wleOTX4mIiCqSrh4ztX6E55mZjjNxeOJhOLd2homBCUwNTAvMNzUwhYmBCZxbO+PwxMNa/wdHRERUVrp4zNT6a3gKczflLjbGbcRvib/hYfpDWJtYo13tdpjYYSJqmdd6+QqIiIh0hJyOmbK+aJmIiIgIkPlFy0REREQvw8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLLHwkNERESyx8JDREREssfCQ0RERLKnkCSp6JkKxV0A16suDhEREVGZNZYkqVZhM4otPERERERywFNaREREJHssPERERCR7LDxEREQkeyw8REREJHssPERERCR7/w/dS1oCio0VoAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -398,7 +387,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -413,7 +402,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -439,7 +428,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -470,7 +459,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -503,7 +492,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -521,7 +510,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -536,7 +525,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -578,31 +567,27 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(handcrafted),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + "config = IntervenableConfig(\n", + " model_type=type(handcrafted),\n", + " representations=[\n", + " RepresentationConfig(\n", " 0, # layer\n", " \"block_output\", # intervention type\n", - " \"pos\", # intervention unit\n", - " 1, # max number of unit\n", " subspace_partition=[[0, 4], [4, 8]],\n", " ),\n", - " IntervenableRepresentationConfig(\n", + " RepresentationConfig(\n", " 0, # layer\n", " \"block_output\", # intervention type\n", - " \"pos\", # intervention unit\n", - " 1, # max number of unit\n", " subspace_partition=[[0, 4], [4, 8]],\n", " ),\n", " ],\n", - " intervenable_interventions_type=VanillaIntervention,\n", + " intervention_types=VanillaIntervention,\n", ")\n", - "intervenable_handcrafted = IntervenableModel(intervenable_config, handcrafted)" + "handcrafted = IntervenableModel(config, handcrafted)" ] }, { @@ -614,7 +599,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -653,7 +638,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "metadata": { "scrolled": true }, @@ -693,19 +678,19 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "handcrafted.to(\"cuda:0\")\n", - "for parameter in intervenable_handcrafted.get_trainable_parameters():\n", + "for parameter in handcrafted.get_trainable_parameters():\n", " parameter.to(\"cuda:0\")\n", "preds = []\n", "for batch in DataLoader(dataset, batch_size):\n", " batch[\"input_ids\"] = batch[\"input_ids\"].unsqueeze(1)\n", " batch[\"source_input_ids\"] = batch[\"source_input_ids\"].unsqueeze(2)\n", " if batch[\"intervention_id\"][0] == 2: # Intervention on both high-level variables\n", - " _, counterfactual_outputs = intervenable_handcrafted(\n", + " _, counterfactual_outputs = handcrafted(\n", " {\"inputs_embeds\": batch[\"input_ids\"]},\n", " [\n", " {\"inputs_embeds\": batch[\"source_input_ids\"][:, 0]},\n", @@ -722,7 +707,7 @@ " elif (\n", " batch[\"intervention_id\"][0] == 0\n", " ): # Intervention on just the high-level variable 'WX'\n", - " _, counterfactual_outputs = intervenable_handcrafted(\n", + " _, counterfactual_outputs = handcrafted(\n", " {\"inputs_embeds\": batch[\"input_ids\"]},\n", " [{\"inputs_embeds\": batch[\"source_input_ids\"][:, 0]}, None],\n", " {\"sources->base\": ([[[0]] * batch_size, None], [[[0]] * batch_size, None])},\n", @@ -731,7 +716,7 @@ " elif (\n", " batch[\"intervention_id\"][0] == 1\n", " ): # Intervention on just the high-level variable 'YZ'\n", - " _, counterfactual_outputs = intervenable_handcrafted(\n", + " _, counterfactual_outputs = handcrafted(\n", " {\"inputs_embeds\": batch[\"input_ids\"]},\n", " [None, {\"inputs_embeds\": batch[\"source_input_ids\"][:, 0]}],\n", " {\"sources->base\": ([None, [[0]] * batch_size], [None, [[0]] * batch_size])},\n", @@ -742,7 +727,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ @@ -758,7 +743,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -1361,10 +1346,10 @@ }, "outputs": [], "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(trained),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + "config = IntervenableConfig(\n", + " model_type=type(trained),\n", + " representations=[\n", + " RepresentationConfig(\n", " 0, # layer\n", " \"block_output\", # intervention type\n", " \"pos\", # intervention unit is now aligne with tokens\n", @@ -1372,7 +1357,7 @@ " subspace_partition=None, # binary partition with equal sizes\n", " intervention_link_key=0,\n", " ),\n", - " IntervenableRepresentationConfig(\n", + " RepresentationConfig(\n", " 0, # layer\n", " \"block_output\", # intervention type\n", " \"pos\", # intervention unit is now aligne with tokens\n", @@ -1381,7 +1366,7 @@ " intervention_link_key=0,\n", " ),\n", " ],\n", - " intervenable_interventions_type=RotatedSpaceIntervention,\n", + " intervention_types=RotatedSpaceIntervention,\n", ")" ] }, @@ -1401,7 +1386,7 @@ } ], "source": [ - "intervenable = IntervenableModel(intervenable_config, trained, use_fast=True)\n", + "intervenable = IntervenableModel(config, trained, use_fast=True)\n", "intervenable.set_device(\"cuda\")\n", "intervenable.disable_model_gradients()" ] @@ -1751,7 +1736,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.6" + "version": "3.8.12" } }, "nbformat": 4, diff --git a/tutorials/advanced_tutorials/IOI_with_DAS.ipynb b/tutorials/advanced_tutorials/IOI_with_DAS.ipynb index b507b2b0..fe79f5af 100644 --- a/tutorials/advanced_tutorials/IOI_with_DAS.ipynb +++ b/tutorials/advanced_tutorials/IOI_with_DAS.ipynb @@ -92,7 +92,7 @@ "from pyvene import embed_to_distrib, top_vals, format_token, sigmoid_boundary\n", "from pyvene import (\n", " IntervenableModel,\n", - " IntervenableRepresentationConfig,\n", + " RepresentationConfig,\n", " IntervenableConfig,\n", " LowRankRotatedSpaceIntervention,\n", " SkipIntervention,\n", @@ -1038,7 +1038,7 @@ " [17],\n", " [i for i in range(12)],\n", " \"attention_input\",\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\", # now we are localizing the IO name\n", " debug=False,\n", ")\n", @@ -1048,7 +1048,7 @@ " [17],\n", " [i for i in range(12)],\n", " \"block_input\",\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\",\n", " debug=False,\n", ")\n", @@ -1058,7 +1058,7 @@ " [17],\n", " [i for i in range(12)],\n", " \"mlp_input\",\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\",\n", " debug=False,\n", ")\n", @@ -1068,7 +1068,7 @@ " [17],\n", " [i for i in range(12)],\n", " \"mlp_activation\",\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\",\n", " debug=False,\n", ")\n", @@ -1078,7 +1078,7 @@ " [17],\n", " [i for i in range(12)],\n", " \"attention_output\",\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\",\n", " debug=False,\n", ")\n", @@ -1088,7 +1088,7 @@ " [17],\n", " [i for i in range(12)],\n", " \"mlp_output\",\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\",\n", " debug=False,\n", ")\n", @@ -1098,7 +1098,7 @@ " [17],\n", " [i for i in range(12)],\n", " \"attention_value_output\",\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\",\n", " debug=False,\n", ")\n", @@ -1108,7 +1108,7 @@ " [17],\n", " [i for i in range(12)],\n", " \"block_output\",\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\",\n", " debug=False,\n", ")" @@ -1389,7 +1389,7 @@ " [layer],\n", " \"head_attention_value_output\",\n", " heads=sorted(list(set([i for i in range(12)]) - {i})),\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\",\n", " debug=True,\n", " )[0]\n", @@ -1477,7 +1477,7 @@ " [layer],\n", " \"head_attention_value_output\",\n", " heads=sorted(current_heads),\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\",\n", " debug=True,\n", " )[0]\n", @@ -1647,7 +1647,7 @@ " [layer],\n", " \"head_attention_value_output\",\n", " heads=sorted(list(set([i for i in range(12)]) - {i})),\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\",\n", " debug=True,\n", " )[0]\n", @@ -1735,7 +1735,7 @@ " [layer],\n", " \"head_attention_value_output\",\n", " heads=sorted(current_heads),\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\",\n", " debug=True,\n", " )[0]\n", @@ -17450,7 +17450,7 @@ " [17],\n", " [9],\n", " \"attention_value_output\",\n", - " intervenable_low_rank_dimension=20,\n", + " low_rank_dimension=20,\n", " aligning_variable=\"name\",\n", " return_intervenable=True,\n", " debug=True,\n", diff --git a/tutorials/advanced_tutorials/Intervened_Model_Generation.ipynb b/tutorials/advanced_tutorials/Intervened_Model_Generation.ipynb deleted file mode 100644 index c1d98c41..00000000 --- a/tutorials/advanced_tutorials/Intervened_Model_Generation.ipynb +++ /dev/null @@ -1,355 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "14c34758", - "metadata": {}, - "source": [ - "## Tutorial of changing how TinyStories end with simple interventions" - ] - }, - { - "cell_type": "markdown", - "id": "a88fd28a", - "metadata": {}, - "source": [ - "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/frankaging/pyvene/blob/main/tutorials/Change%20how%20TinyStories%20end%20with%20interventions.ipynb)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "3aa67223", - "metadata": {}, - "outputs": [], - "source": [ - "__author__ = \"Zhengxuan Wu\"\n", - "__version__ = \"10/08/2023\"" - ] - }, - { - "cell_type": "markdown", - "id": "496303f3", - "metadata": {}, - "source": [ - "### Overview\n", - "\n", - "Most of the tutorials focus on a single token generation task (e.g., capital change, price tagging task). Most of the real-world tasks are multi-token generations (e.g., ChatGPT). In this tutorial, we show how to intervene on a generic language generation task." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "93b918c2", - "metadata": {}, - "outputs": [], - "source": [ - "try:\n", - " # This library is our indicator that the required installs\n", - " # need to be done.\n", - " import pyvene\n", - "\n", - "except ModuleNotFoundError:\n", - " !pip install git+https://github.com/stanfordnlp/pyvene.git" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "aa6a75e7", - "metadata": {}, - "outputs": [], - "source": [ - "import torch\n", - "import pandas as pd\n", - "\n", - "from pyvene import (\n", - " IntervenableModel,\n", - " AdditionIntervention, SubtractionIntervention,\n", - " IntervenableRepresentationConfig,\n", - " IntervenableConfig,\n", - ")\n", - "from pyvene import create_gpt_neo\n", - "\n", - "%config InlineBackend.figure_formats = ['svg']" - ] - }, - { - "cell_type": "markdown", - "id": "8d4bd9c6", - "metadata": {}, - "source": [ - "### Original generation with TinyStories-33M" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "354ac7e7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "loaded model\n" - ] - } - ], - "source": [ - "config, tokenizer, tinystory = create_gpt_neo()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "3e2e363d", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.\n", - "Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Once upon a time there was a little girl named Lucy. She was three years old and loved to explore. One day, Lucy was walking in the park when she saw a big, red balloon. She was so excited and ran over to it.\n", - "\n", - "\"Can I have it?\" she asked.\n", - "\n", - "\"No,\" said her mom. \"It's too big for you. You can't have it.\"\n", - "\n", - "Lucy was sad, but then she saw a small, red balloon. She smiled and said, \"I want that one!\"\n", - "\n", - "Her mom smiled and said, \"Okay, let's go get it.\"\n", - "\n", - "So they went to the balloon and Lucy was so happy. She held the balloon tight and ran around the park with it. She laughed and smiled and had so much fun.\n", - "\n", - "When it was time to go home, Lucy hugged the balloon and said, \"I love you, balloon!\"\n", - "\n", - "Her mom smiled and said, \"I love you too, Lucy.\"\n", - "\n" - ] - } - ], - "source": [ - "prompt = \"Once upon a time there was\"\n", - "input_ids = tokenizer.encode(prompt, return_tensors=\"pt\")\n", - "output = tinystory.generate(input_ids, max_length=512, num_beams=1)\n", - "output_text = tokenizer.decode(output[0], skip_special_tokens=True)\n", - "print(output_text)" - ] - }, - { - "cell_type": "markdown", - "id": "df7e25cf", - "metadata": {}, - "source": [ - "### Set-up interventions on language generation" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "22544382", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "loaded model\n" - ] - } - ], - "source": [ - "def activation_addition_position_config(\n", - " intervention_type, start_layer_idx, end_layer_idx, embedding,\n", - "):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " i, # layer\n", - " intervention_type, # intervention type\n", - " source_representation=embedding\n", - " )\n", - " for i in range(start_layer_idx, end_layer_idx)\n", - " ],\n", - " intervenable_interventions_type=AdditionIntervention,\n", - " )\n", - " return intervenable_config\n", - "\n", - "\n", - "config, tokenizer, tinystory = create_gpt_neo()\n", - "\n", - "sad_token_id = tokenizer(\" Sad\")[\"input_ids\"][0]\n", - "happy_token_id = tokenizer(\" Happy\")[\"input_ids\"][0]\n", - "beta = 0.3\n", - "sad_embedding = tinystory.transformer.wte(torch.tensor(sad_token_id))\n", - "happy_embedding = tinystory.transformer.wte(torch.tensor(happy_token_id))\n", - "sad_embedding *= beta\n", - "happy_embedding *= beta" - ] - }, - { - "cell_type": "markdown", - "id": "39eaf4ac", - "metadata": {}, - "source": [ - "### Adding a little bit of \"sadness\" into the story" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "25d5f3f6", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.\n", - "Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.\n", - "The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.\n", - "Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Once upon a time there was a little girl named Lucy. She was three years old and loved to explore. One day, Lucy was walking in the park when she saw a big, red balloon. She was so excited and ran over to it. She reached out to grab it, but it was too high.\n", - "\n", - "Suddenly, a kind old man appeared. He said, \"I can help you get the balloon, but first you must do something for me.\" Lucy was confused, but she agreed. The old man said, \"I need you to help me pull the balloon down from the tree.\"\n", - "\n", - "Lucy was scared, but she was brave and she did it. The old man grabbed the balloon and handed it to Lucy. She was so happy and thanked the old man.\n", - "\n", - "The old man said, \"You are very brave and strong. I'm glad I could help you.\" Lucy smiled and said, \"Thank you!\" She hugged the balloon tightly and ran off to show her mom her new prize.\n", - "\n" - ] - } - ], - "source": [ - "intervenable_config = activation_addition_position_config(\n", - " \"mlp_output\", 0, 4, sad_embedding\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, tinystory)\n", - "\n", - "base = \"Once upon a time there was\"\n", - "\n", - "inputs = tokenizer(base, return_tensors=\"pt\")\n", - "base_outputs, counterfactual_outputs = intervenable.generate(\n", - " inputs,\n", - " max_length=256,\n", - " num_beams=1,\n", - ")\n", - "counterfactual_text = tokenizer.decode(\n", - " counterfactual_outputs[0], skip_special_tokens=True\n", - ")\n", - "print(counterfactual_text)" - ] - }, - { - "cell_type": "markdown", - "id": "c50357fc", - "metadata": {}, - "source": [ - "### Adding a little bit of \"happiness\" into the story" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "3f95a802", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.\n", - "Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.\n", - "The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.\n", - "Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Once upon a time there was a little girl named Lucy. She was three years old and loved to explore. One day, Lucy was walking in the park when she saw a big, red balloon. She was so excited and wanted to play with it.\n", - "\n", - "But then, a big, mean man came and said, \"That balloon is mine! You can't have it!\" Lucy was very sad and started to cry.\n", - "\n", - "The man said, \"I'm sorry, but I need the balloon for my work. You can have it if you want.\"\n", - "\n", - "Lucy was so happy and said, \"Yes please!\" She took the balloon and ran away.\n", - "\n", - "But then, the man said, \"Wait! I have an idea. Let's make a deal. If you can guess what I'm going to give you, then you can have the balloon.\"\n", - "\n", - "Lucy thought for a moment and then said, \"I guess I'll have to get the balloon.\"\n", - "\n", - "The man smiled and said, \"That's a good guess! Here you go.\"\n", - "\n", - "Lucy was so happy and thanked the man. She hugged the balloon and ran off to show her mom.\n", - "\n", - "The end.\n", - "\n" - ] - } - ], - "source": [ - "intervenable_config = activation_addition_position_config(\n", - " \"mlp_output\", 0, 4, happy_embedding\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, tinystory)\n", - "\n", - "base = \"Once upon a time there was\"\n", - "\n", - "inputs = tokenizer(base, return_tensors=\"pt\")\n", - "base_outputs, counterfactual_outputs = intervenable.generate(\n", - " inputs,\n", - " unit_locations={\n", - " \"sources->base\": (\n", - " None, 0\n", - " )\n", - " }, # this is less broadcast\n", - " intervene_on_prompt=False,\n", - " max_length=256,\n", - " num_beams=1,\n", - ")\n", - "counterfactual_text = tokenizer.decode(\n", - " counterfactual_outputs[0], skip_special_tokens=True\n", - ")\n", - "print(counterfactual_text)" - ] - } - ], - "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.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/advanced_tutorials/Interventions_with_BLIP.ipynb b/tutorials/advanced_tutorials/Interventions_with_BLIP.ipynb index dd7f644e..ebd20cc3 100644 --- a/tutorials/advanced_tutorials/Interventions_with_BLIP.ipynb +++ b/tutorials/advanced_tutorials/Interventions_with_BLIP.ipynb @@ -49,7 +49,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "a89edbd1-0821-4d1e-b1e1-3694451d3733", "metadata": {}, "outputs": [], @@ -61,7 +61,7 @@ "from pyvene import (\n", " IntervenableModel,\n", " VanillaIntervention, Intervention,\n", - " IntervenableRepresentationConfig,\n", + " RepresentationConfig,\n", " IntervenableConfig,\n", ")\n", "from pyvene import create_blip\n", @@ -387,19 +387,19 @@ "outputs": [], "source": [ "def simple_position_config(model_type, intervention_type, layer):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + " config = IntervenableConfig(\n", + " model_type=model_type,\n", + " representations=[\n", + " RepresentationConfig(\n", " layer, # layer\n", " intervention_type, # intervention type\n", " \"pos\", # intervention unit\n", " 1, # max number of unit\n", " ),\n", " ],\n", - " intervenable_interventions_type=VanillaIntervention,\n", + " intervention_types=VanillaIntervention,\n", " )\n", - " return intervenable_config\n", + " return config\n", "\n", "\n", "base = processor(raw_image, \"what is the color of the animal\", return_tensors=\"pt\").to(\n", @@ -431,10 +431,10 @@ "with torch.inference_mode():\n", " for layer_i in tqdm(range(12)):\n", " for pos_i in range(9):\n", - " intervenable_config = simple_position_config(\n", + " config = simple_position_config(\n", " type(blip), \"block_output\", layer_i\n", " )\n", - " intervenable = IntervenableModel(intervenable_config, blip)\n", + " intervenable = IntervenableModel(config, blip)\n", " _, counterfactual_outputs = intervenable(\n", " base, sources, {\"sources->base\": ([[[pos_i]]], [[[pos_i]]])}\n", " )\n", @@ -553,45 +553,45 @@ "\n", "\n", "def corrupted_config(model_type, noise_level):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + " config = IntervenableConfig(\n", + " model_type=model_type,\n", + " representations=[\n", + " RepresentationConfig(\n", " 0, # layer\n", " \"block_input\", # intervention type\n", " \"pos\", # intervention unit\n", " 1, # max number of unit\n", " ),\n", " ],\n", - " intervenable_interventions_type=make_noise_intervention(noise_level),\n", + " intervention_types=make_noise_intervention(noise_level),\n", " )\n", - " return intervenable_config\n", + " return config\n", "\n", "\n", "def restore_corrupted_config(model_type, layer, noise_level):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + " config = IntervenableConfig(\n", + " model_type=model_type,\n", + " representations=[\n", + " RepresentationConfig(\n", " 0, # layer\n", " \"block_input\", # intervention type\n", " \"pos\", # intervention unit\n", " 1, # max number of unit\n", " ),\n", - " IntervenableRepresentationConfig(\n", + " RepresentationConfig(\n", " layer, # layer\n", " \"block_output\", # intervention type\n", " \"pos\", # intervention unit\n", " 1, # max number of unit\n", " ),\n", " ],\n", - " intervenable_interventions_type=[\n", + " intervention_types=[\n", " make_noise_intervention(noise_level),\n", " VanillaIntervention,\n", " ],\n", " # mode='serial'\n", " )\n", - " return intervenable_config" + " return config" ] }, { @@ -721,10 +721,10 @@ " for noise_level in [0.1, 0.5, 1.0, 2.0, 5.0, 10.0, 20.0]:\n", " for layer_i in tqdm(range(12)):\n", " for pos_i in range(9):\n", - " intervenable_config = restore_corrupted_config(\n", + " config = restore_corrupted_config(\n", " type(blip), layer_i, noise_level=noise_level\n", " )\n", - " intervenable = IntervenableModel(intervenable_config, blip)\n", + " intervenable = IntervenableModel(config, blip)\n", " _, counterfactual_outputs = intervenable(\n", " base,\n", " [base, base],\n", @@ -994,10 +994,10 @@ " for i in range(10):\n", " for layer_i in tqdm(range(12)):\n", " for pos_i in range(9):\n", - " intervenable_config = restore_corrupted_config(\n", + " config = restore_corrupted_config(\n", " type(blip), layer_i, noise_level=1.0\n", " )\n", - " intervenable = IntervenableModel(intervenable_config, blip)\n", + " intervenable = IntervenableModel(config, blip)\n", " _, counterfactual_outputs = intervenable(\n", " base,\n", " [base, base],\n", diff --git a/tutorials/advanced_tutorials/Probing_Gender.ipynb b/tutorials/advanced_tutorials/Probing_Gender.ipynb index 6c172e72..75507575 100644 --- a/tutorials/advanced_tutorials/Probing_Gender.ipynb +++ b/tutorials/advanced_tutorials/Probing_Gender.ipynb @@ -50,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -63,7 +63,7 @@ ")\n", "from pyvene import (\n", " IntervenableModel,\n", - " IntervenableRepresentationConfig,\n", + " RepresentationConfig,\n", " IntervenableConfig,\n", " VanillaIntervention,\n", " LowRankRotatedSpaceIntervention,\n", @@ -111,12 +111,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.\n" + ] + } + ], "source": [ "device = \"cuda:0\" if torch.cuda.is_available() else \"cpu\"\n", - "model = \"EleutherAI/pythia-6.9B\"\n", + "model = \"EleutherAI/pythia-70m\" # \"EleutherAI/pythia-6.9B\"\n", "tokenizer = AutoTokenizer.from_pretrained(model)\n", "tokenizer.pad_token = tokenizer.eos_token\n", "gpt = AutoModelForCausalLM.from_pretrained(\n", @@ -135,9 +143,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "47 10\n" + ] + } + ], "source": [ "Example = namedtuple(\"Example\", [\"base\", \"src\", \"base_label\", \"src_label\"])\n", "\n", @@ -375,16 +391,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Example(base={'input_ids': tensor([[ 0, 40587, 7428, 984]]), 'attention_mask': tensor([[1, 1, 1, 1]])}, src={'input_ids': tensor([[ 0, 46961, 7428, 984]]), 'attention_mask': tensor([[1, 1, 1, 1]])}, base_label=703, src_label=344)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "sample_example(tokenizer)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -412,9 +439,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:01<00:00, 79.91it/s]\n", + "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [00:00<00:00, 98.78it/s]\n" + ] + } + ], "source": [ "# make dataset\n", "total_steps = 100\n", @@ -433,7 +469,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -441,32 +477,29 @@ " \"\"\"Generate intervention config.\"\"\"\n", "\n", " # init\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + " config = IntervenableConfig(\n", + " representations=[\n", + " RepresentationConfig(\n", " layer, # layer\n", " intervention_type, # intervention type\n", - " \"pos\", # intervention unit\n", - " 1, # max number of unit\n", - " intervenable_low_rank_dimension=num_dims, # low rank dimension\n", + " low_rank_dimension=num_dims, # low rank dimension\n", " ),\n", " ],\n", - " intervenable_interventions_type=[LowRankRotatedSpaceIntervention],\n", - " intervenable_interventions=[None],\n", + " intervention_types=[LowRankRotatedSpaceIntervention],\n", + " interventions=[None],\n", " )\n", - " return intervenable_config" + " return config" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# loss function\n", "loss_fct = torch.nn.CrossEntropyLoss()\n", "\n", - "\n", "def calculate_loss(logits, label):\n", " \"\"\"Calculate cross entropy between logits and a single target label (can be batched)\"\"\"\n", " shift_labels = label.to(logits.device)\n", @@ -490,8 +523,8 @@ " print(f\"layer: {layer}, position: {position}\")\n", "\n", " # set up intervenable model\n", - " intervenable_config = intervention_config(type(gpt), \"block_output\", layer, 1)\n", - " intervenable = IntervenableModel(intervenable_config, gpt)\n", + " config = intervention_config(type(gpt), \"block_output\", layer, 1)\n", + " intervenable = IntervenableModel(config, gpt)\n", " intervenable.set_device(device)\n", " intervenable.disable_model_gradients()\n", "\n", @@ -516,24 +549,7 @@ " _, counterfactual_outputs = intervenable(\n", " example.base,\n", " [example.src],\n", - " {\n", - " \"sources->base\": (\n", - " [\n", - " [\n", - " [\n", - " position,\n", - " ]\n", - " ]\n", - " ],\n", - " [\n", - " [\n", - " [\n", - " position,\n", - " ]\n", - " ]\n", - " ],\n", - " )\n", - " },\n", + " {\"sources->base\": position},\n", " )\n", "\n", " # loss\n", @@ -555,24 +571,7 @@ " _, counterfactual_outputs = intervenable(\n", " example.base,\n", " [example.src],\n", - " {\n", - " \"sources->base\": (\n", - " [\n", - " [\n", - " [\n", - " position,\n", - " ]\n", - " ]\n", - " ],\n", - " [\n", - " [\n", - " [\n", - " position,\n", - " ]\n", - " ]\n", - " ],\n", - " )\n", - " },\n", + " {\"sources->base\": position},\n", " )\n", "\n", " # calculate iia\n", @@ -669,7 +668,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -677,20 +676,18 @@ " \"\"\"Generate intervention config.\"\"\"\n", "\n", " # init\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + " config = IntervenableConfig(\n", + " model_type=model_type,\n", + " representations=[\n", + " RepresentationConfig(\n", " layer, # layer\n", " intervention_type, # intervention type\n", - " \"pos\", # intervention unit\n", - " 1, # max number of unit\n", " ),\n", " ],\n", - " intervenable_interventions_type=[CollectIntervention],\n", - " intervenable_interventions=[None],\n", + " intervention_types=[CollectIntervention],\n", + " interventions=[None],\n", " )\n", - " return intervenable_config" + " return config" ] }, { @@ -717,19 +714,11 @@ " print(f\"layer: {layer}, position: {position}\")\n", "\n", " # set up intervenable model\n", - " intervenable_config = probing_config(type(gpt), \"block_output\", layer, 1)\n", - " intervenable = IntervenableModel(intervenable_config, gpt)\n", + " config = probing_config(type(gpt), \"block_output\", layer, 1)\n", + " intervenable = IntervenableModel(config, gpt)\n", " intervenable.set_device(device)\n", " intervenable.disable_model_gradients()\n", - " \n", - " _intervention_location = [\n", - " [\n", - " [\n", - " position,\n", - " ]\n", - " ]\n", - " ]\n", - " \n", + "\n", " # training loop\n", " activations, labels = [], []\n", " iterator = tqdm(trainset)\n", @@ -737,25 +726,13 @@ " # forward pass\n", " base_outputs, _ = intervenable(\n", " example.base,\n", - " [None], # there is no source\n", - " {\n", - " \"sources->base\": (\n", - " None, # there is no source\n", - " _intervention_location,\n", - " )\n", - " },\n", + " unit_locations={\"base\": position},\n", " )\n", " base_activations = base_outputs[1][0]\n", "\n", " src_outputs, _ = intervenable(\n", " example.src,\n", - " [None], # there is no source\n", - " {\n", - " \"sources->base\": (\n", - " None, # there is no source\n", - " _intervention_location,\n", - " )\n", - " },\n", + " unit_locations={\"base\": position},\n", " )\n", " src_activations = src_outputs[1][0]\n", " \n", @@ -777,25 +754,13 @@ " # forward pass\n", " base_outputs, _ = intervenable(\n", " example.base,\n", - " [None], # there is no source\n", - " {\n", - " \"sources->base\": (\n", - " None, # there is no source\n", - " _intervention_location,\n", - " )\n", - " },\n", + " unit_locations={\"base\": position},\n", " )\n", " base_activations = base_outputs[1][0]\n", "\n", " src_outputs, _ = intervenable(\n", " example.src,\n", - " [None], # there is no source\n", - " {\n", - " \"sources->base\": (\n", - " None, # there is no source\n", - " _intervention_location,\n", - " )\n", - " },\n", + " unit_locations={\"base\": position},\n", " )\n", " src_activations = src_outputs[1][0]\n", " \n", diff --git a/tutorials/advanced_tutorials/tutorial_ioi_utils.py b/tutorials/advanced_tutorials/tutorial_ioi_utils.py index e08cd5d1..8478a1a1 100644 --- a/tutorials/advanced_tutorials/tutorial_ioi_utils.py +++ b/tutorials/advanced_tutorials/tutorial_ioi_utils.py @@ -35,7 +35,7 @@ from pyvene import ( IntervenableModel, - IntervenableRepresentationConfig, + RepresentationConfig, IntervenableConfig, LowRankRotatedSpaceIntervention, SkipIntervention, @@ -506,25 +506,25 @@ def single_d_low_rank_das_position_config( model_type, intervention_type, layer, - intervenable_interventions_type, - intervenable_low_rank_dimension=1, + intervention_types, + low_rank_dimension=1, num_unit=1, head_level=False, ): - intervenable_config = IntervenableConfig( - intervenable_model_type=model_type, - intervenable_representations=[ - IntervenableRepresentationConfig( + config = IntervenableConfig( + model_type=model_type, + representations=[ + RepresentationConfig( layer, # layer intervention_type, # intervention type "pos" if not head_level else "h.pos", num_unit, - intervenable_low_rank_dimension=intervenable_low_rank_dimension, # a single das direction + low_rank_dimension=low_rank_dimension, # a single das direction ), ], - intervenable_interventions_type=intervenable_interventions_type, + intervention_types=intervention_types, ) - return intervenable_config + return config def calculate_boundless_das_loss(logits, labels, intervenable): @@ -542,7 +542,7 @@ def find_variable_at( layers, stream, heads=None, - intervenable_low_rank_dimension=1, + low_rank_dimension=1, aligning_variable="position", do_vanilla_intervention=False, do_boundless_das=False, @@ -642,34 +642,34 @@ def find_variable_at( f"layers->{aligning_layer}, stream->{stream}" ) if heads is not None: - intervenable_config = single_d_low_rank_das_position_config( + config = single_d_low_rank_das_position_config( type(gpt2), aligning_stream, aligning_layer, _intervention_type, - intervenable_low_rank_dimension=intervenable_low_rank_dimension, + low_rank_dimension=low_rank_dimension, num_unit=len(heads), head_level=True, ) else: if across_positions: - intervenable_config = single_d_low_rank_das_position_config( + config = single_d_low_rank_das_position_config( type(gpt2), aligning_stream, aligning_layer, _intervention_type, - intervenable_low_rank_dimension=intervenable_low_rank_dimension, + low_rank_dimension=low_rank_dimension, num_unit=len(positions[0]), ) else: - intervenable_config = single_d_low_rank_das_position_config( + config = single_d_low_rank_das_position_config( type(gpt2), aligning_stream, aligning_layer, _intervention_type, - intervenable_low_rank_dimension=intervenable_low_rank_dimension, + low_rank_dimension=low_rank_dimension, ) - intervenable = IntervenableModel(intervenable_config, gpt2) + intervenable = IntervenableModel(config, gpt2) intervenable.set_device("cuda") intervenable.disable_model_gradients() total_step = 0 diff --git a/tutorials/basic_tutorials/Add_Activations_to_Streams.ipynb b/tutorials/basic_tutorials/Add_Activations_to_Streams.ipynb index 900acc25..bdc7f6e1 100644 --- a/tutorials/basic_tutorials/Add_Activations_to_Streams.ipynb +++ b/tutorials/basic_tutorials/Add_Activations_to_Streams.ipynb @@ -34,7 +34,7 @@ "source": [ "### Overview\n", "\n", - "Interventions have many types: (1) activation swapping, (2) activation addition, or (3) any other kind of operations that modify the activation. Some of them modify the addition respecting to its original basis, some do not. In this tutorial, we show how can we do any kind of activation modification using this library." + "Interventions have many types: (1) activation swapping, (2) activation addition, or (3) any other kind of operations that modify the activation. In this tutorial, we show how we ca do activation addition." ] }, { @@ -83,7 +83,7 @@ " IntervenableModel,\n", " AdditionIntervention,\n", " SubtractionIntervention,\n", - " IntervenableRepresentationConfig,\n", + " RepresentationConfig,\n", " IntervenableConfig,\n", ")\n", "from pyvene.models.gpt2.modelings_intervenable_gpt2 import create_gpt2\n", @@ -112,7 +112,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "id": "1fc15f36", "metadata": {}, "outputs": [ @@ -126,20 +126,20 @@ ], "source": [ "def activation_addition_position_config(model_type, intervention_type, n_layer):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " i, # layer\n", - " intervention_type, # intervention type\n", - " \"pos\", # intervention unit\n", - " 1, # max number of unit\n", + " config = IntervenableConfig(\n", + " model_type=model_type,\n", + " representations=[\n", + " RepresentationConfig(\n", + " i, # layer\n", + " intervention_type, # component\n", + " \"pos\", # intervention unit\n", + " 1, # max number of unit\n", " )\n", " for i in range(n_layer)\n", " ],\n", - " intervenable_interventions_type=AdditionIntervention,\n", + " intervention_types=AdditionIntervention,\n", " )\n", - " return intervenable_config\n", + " return config\n", "\n", "\n", "config, tokenizer, gpt = create_gpt2()" @@ -147,7 +147,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 9, "id": "151ded21", "metadata": {}, "outputs": [ @@ -182,11 +182,11 @@ } ], "source": [ - "intervenable_config = activation_addition_position_config(\n", + "config = activation_addition_position_config(\n", " type(gpt), \"mlp_output\", gpt.config.n_layer\n", ")\n", "\n", - "intervenable = IntervenableModel(intervenable_config, gpt)\n", + "intervenable = IntervenableModel(config, gpt)\n", "\n", "base = \"The capital of Spain is\"\n", "source = \"The capital of Italy is\"\n", @@ -213,46 +213,16 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 11, "id": "0481a874", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['layer.0.repr.mlp_output.unit.pos.nunit.1#0',\n", - " 'layer.1.repr.mlp_output.unit.pos.nunit.1#0',\n", - " 'layer.2.repr.mlp_output.unit.pos.nunit.1#0',\n", - " 'layer.3.repr.mlp_output.unit.pos.nunit.1#0',\n", - " 'layer.4.repr.mlp_output.unit.pos.nunit.1#0',\n", - " 'layer.5.repr.mlp_output.unit.pos.nunit.1#0',\n", - " 'layer.6.repr.mlp_output.unit.pos.nunit.1#0',\n", - " 'layer.7.repr.mlp_output.unit.pos.nunit.1#0',\n", - " 'layer.8.repr.mlp_output.unit.pos.nunit.1#0',\n", - " 'layer.9.repr.mlp_output.unit.pos.nunit.1#0',\n", - " 'layer.10.repr.mlp_output.unit.pos.nunit.1#0',\n", - " 'layer.11.repr.mlp_output.unit.pos.nunit.1#0']" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# we can patch mlp with the rome word embedding\n", "rome_token_id = tokenizer(\" Rome\")[\"input_ids\"][0]\n", "rome_embedding = (\n", " gpt.wte(torch.tensor(rome_token_id)).clone().unsqueeze(0).unsqueeze(0)\n", - ") # make it a fake batch\n", - "activations_sources = dict(\n", - " zip(\n", - " intervenable.sorted_intervenable_keys,\n", - " [rome_embedding] * len(intervenable.sorted_intervenable_keys),\n", - " )\n", - ")\n", - "# we intervene on all of the mlp output\n", - "intervenable.sorted_intervenable_keys" + ")" ] }, { @@ -280,14 +250,13 @@ ], "source": [ "base = \"The capital of Spain is\"\n", - "source = \"The capital of Italy is\"\n", - "inputs = [tokenizer(base, return_tensors=\"pt\"), tokenizer(source, return_tensors=\"pt\")]\n", + "\n", "_, counterfactual_outputs = intervenable(\n", - " inputs[0],\n", + " base=tokenizer(base, return_tensors=\"pt\"),\n", " unit_locations={\n", - " \"sources->base\": ([[[0]]] * gpt.config.n_layer, [[[4]]] * gpt.config.n_layer)\n", + " \"sources->base\": 4\n", " }, # last position\n", - " activations_sources=activations_sources,\n", + " source_representations=rome_embedding,\n", ")\n", "distrib = embed_to_distrib(gpt, counterfactual_outputs.last_hidden_state, logits=False)\n", "top_vals(tokenizer, distrib[0][-1], n=10)" @@ -314,7 +283,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 18, "id": "fe8195d1", "metadata": {}, "outputs": [], @@ -325,26 +294,15 @@ "\n", "data = []\n", "for till_layer_i in range(gpt.config.n_layer):\n", - " intervenable_config = activation_addition_position_config(\n", + " config = activation_addition_position_config(\n", " type(gpt), \"mlp_output\", till_layer_i + 1\n", " )\n", - " intervenable = IntervenableModel(intervenable_config, gpt)\n", - " activations_sources = dict(\n", - " zip(\n", - " intervenable.sorted_intervenable_keys,\n", - " [rome_embedding] * len(intervenable.sorted_intervenable_keys),\n", - " )\n", - " )\n", + " intervenable = IntervenableModel(config, gpt)\n", " for pos_i in range(len(base.input_ids[0])):\n", " _, counterfactual_outputs = intervenable(\n", " base,\n", - " unit_locations={\n", - " \"sources->base\": (\n", - " [[[0]]] * (till_layer_i + 1),\n", - " [[[pos_i]]] * (till_layer_i + 1),\n", - " )\n", - " },\n", - " activations_sources=activations_sources,\n", + " unit_locations={\"sources->base\": pos_i},\n", + " source_representations=rome_embedding,\n", " )\n", " distrib = embed_to_distrib(\n", " gpt, counterfactual_outputs.last_hidden_state, logits=False\n", @@ -354,33 +312,23 @@ " {\n", " \"token\": format_token(tokenizer, token),\n", " \"prob\": float(distrib[0][-1][token]),\n", - " \"layer\": f\"f{till_layer_i}\",\n", + " \"layer\": f\"mlp_o{till_layer_i}\",\n", " \"pos\": pos_i,\n", " \"type\": \"mlp_output\",\n", " }\n", " )\n", "\n", - " intervenable_config = activation_addition_position_config(\n", + " config = activation_addition_position_config(\n", " type(gpt), \"attention_output\", till_layer_i + 1\n", " )\n", - " intervenable = IntervenableModel(intervenable_config, gpt)\n", - " activations_sources = dict(\n", - " zip(\n", - " intervenable.sorted_intervenable_keys,\n", - " [rome_embedding] * len(intervenable.sorted_intervenable_keys),\n", - " )\n", - " )\n", - "\n", + " intervenable = IntervenableModel(config, gpt)\n", " for pos_i in range(len(base.input_ids[0])):\n", " _, counterfactual_outputs = intervenable(\n", " base,\n", " unit_locations={\n", - " \"sources->base\": (\n", - " [[[0]]] * (till_layer_i + 1),\n", - " [[[pos_i]]] * (till_layer_i + 1),\n", - " )\n", + " \"sources->base\": pos_i\n", " },\n", - " activations_sources=activations_sources,\n", + " source_representations=rome_embedding,\n", " )\n", " distrib = embed_to_distrib(\n", " gpt, counterfactual_outputs.last_hidden_state, logits=False\n", @@ -390,9 +338,9 @@ " {\n", " \"token\": format_token(tokenizer, token),\n", " \"prob\": float(distrib[0][-1][token]),\n", - " \"layer\": f\"a{till_layer_i}\",\n", + " \"layer\": f\"attn_o{till_layer_i}\",\n", " \"pos\": pos_i,\n", - " \"type\": \"attention_input\",\n", + " \"type\": \"attention_output\",\n", " }\n", " )\n", "df = pd.DataFrame(data)" @@ -400,13 +348,13 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 19, "id": "81604a1c", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAB7CAAAewgFu0HU+AADg/klEQVR4nOzdeXxU1f3/8fedyTqTBAJhEUKQTVFAwAUVrQKp4IIIyk8tRLGltlq12NqqVbHWhdLWBaq0VlzQRr5Iq0hAoSKIIJvKKosLKCYRJISEQJZJMjP390eaKSGZrHNnkpnXs4+pydx7z/3cCeQM7znnHsM0TVMAAAAAAAAAwpIt1AUAAAAAAAAAsA4BIAAAAAAAABDGCAABAAAAAACAMEYACAAAAAAAAIQxAkAAAAAAAAAgjBEAAgAAAAAAAGGMABAAAAAAAAAIYwSAAAAAAAAAQBgjAAQAAAAAAADCGAEgAAAAAAAAEMYIAAEAAAAAAIAwRgAIAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAAAYYwAEAAAAAAAAAhjBIAAAAAAAABAGCMABAAAAAAAAMIYASAAAAAAAAAQxggAAQAAAAAAgDBGAAgAAAAAAACEMQJAAAAAAAAAIIwRAAIAAAAAAABhjAAQAAAAAAAACGMEgAAAAAAAAEAYIwAEAAAAAAAAwhgBIAAAAAAAABDGCAABAAAAAACAMEYACAAAAAAAAIQxAkAAAAAAAAAgjBEAAgAAAAAAAGGMABAAAAAAAAAIYwSAAAAAAAAAQBgjAAQAAAAAAADCGAEgAAAAAAAAEMYIAAEAAAAAAIAwRgAIAAAAAAAAhDECQAAAAAAAACCMRYW6AATGl19+GeoSAABAE5x22mmhLgEAAAARggAQAACgjeADPwAA2hY+8ENrwRRgAAAAAAAAIIwRAAIAAAAAAABhjAAQAAAAAAAACGMEgAAAAAAAAEAYIwAEAAAAAAAAwhgBIAAAAAAAABDGCAABAAAAAACAMEYACABh4u6779bIkSM1b968Zrdx4403auTIkVq+fHmTj922bZtGjhypkSNHNvv8AAAAAIDAiwp1AQDQGs2bN0+vvvqq7/tnnnlGQ4YM8bu/y+XSxIkTVVJSIkkaPHiwZs2aZXGVAADAKie/F6gWExOj5ORknXbaaRo9erQuvvjiEFQHAEDTEAACQCP85z//qTcAXLt2rS/8a8u6deummJgYOZ3OUJcCAECrYLPZ1K5dO9/3xcXFOnTokA4dOqS1a9cqPT1dDzzwgGw2JlcBAFovAkAAqEdKSooKCwu1Zs0aTZs2TXFxcXXuVz1ltkuXLjp06FAwSwyop59+OtQlAADQqnTq1EkLFizwfW+apnJycvTCCy9o3bp1Wrlypc466yyNGzcuhFUCAFA/PqYCgHq0a9dOw4YNU2lpqdasWVPnPnl5edq2bZuSkpJ0/vnnB7lCAAAQTIZhKC0tTb///e+VlpYmqWqmAAAArRkjAAGgAWPGjNGGDRv0n//8R6NHj661/b333pPX61V6enq9039cLpfWrl2rTZs26ZtvvtHhw4flcrnUoUMHnXXWWZo4caJOO+20emtZvXq13nrrLe3du1c2m02nnnqqrrnmGl122WX1Hle9MMczzzyj7t27KzMzU5988ony8/OVlpamF198UVLVIiCHDh3Sfffdp8svv7xWO4WFhXr11Ve1YcMGFRYWKjk5WcOGDdPNN99c7/kBAAg30dHRGjp0qLKzs7V//36/+23cuFFLlizRnj17dPz4cSUmJuqMM87QNddco2HDhtV5zN13363t27drypQpysjI0MKFC7VixQodPHhQiYmJGjZsmH7yk5+oY8eOkqTvvvtOmZmZ2rx5s44ePaquXbvqqquu0v/7f/+v3vcmX3zxhd566y1t375dBQUFiomJUVpamkaNGqVx48YpJiamRa8RAKD1IAAEgAZceOGFSkxM1LZt25SXl6fOnTvX2F79qf+YMWO0YsUKv+2sXr1af/rTnyRV3U+o+j57hw4d0ooVK7Rq1Srde++9dYaMkjRnzhz9+9//llQ1+sDpdGrPnj3atWuX9u7d26hrycnJ0SOPPKKioiLFxcXJbrc36jhJys7O1q9+9SsVFBRIkmJjY3Xs2DEtXbpU69at09SpUxvdFgAA4cA0TUmS1+utc9szzzyjJUuWSKrq+x0Oh4qKirR+/XqtX79e48eP1y9/+UsZhlFn+263W7/97W+1bds2XxiXn5+vd999Vzt27NBzzz2n7777Tvfdd5+Ki4vldDrldruVk5Oj559/XocPH9add95ZZ9uvvvqqXn31Vd81OBwOlZWVac+ePdqzZ4/ee+89/eUvf6lx/0MAQNtFAAgADYiJidHIkSOVlZWl9957TxkZGb5tO3fuVG5urnr27KnTTz+93gAwISFBN954o37wgx+ob9++iomJkWmays3N1T//+U+tWLFCTz31lAYPHqwuXbrUOHbVqlW+8G/cuHH68Y9/rPbt2+vYsWPKzMzUwoULG7Vwx9///nedcsopevzxxzVw4EBJVaMGGuJ2u/WHP/xBBQUF6tSpk37729/q3HPPlWEY2rZtm/785z/r73//e4PtAAAQLiorK7V161ZJVYtonexf//qXL/z70Y9+pB/96EdKTEzUsWPH9Prrr2vhwoV6++23lZqaquuuu67OcyxevFgxMTGaMWOGzj//fJmmqQ0bNuiPf/yjcnNz9corr2jjxo0aNGiQ7rzzTnXr1k0lJSV64YUXlJWVpbfeektXX321evbsWavdefPmKSkpSbfccovS09OVlJTku6Znn31WX331lWbOnKk//vGPAX7lAAChwD0AAaARxowZI6lquu+Jqhf/qN5en4svvlg///nPdeaZZ/o+xTcMQz169NDvfvc7nXvuuaqoqPC1Wc00Tb3yyiuSpEsvvVS/+tWv1L59e0lSUlKSfvGLX+jyyy9v1CrEdrtdf/nLX3zhnyR17969weM++OADff3117LZbJoxY4bOO+8832iFIUOGaObMmaqoqGiwHQAA2jrTNJWdna1HH31UOTk5klRr9L7L5dI///lPSdKECRP0s5/9TImJiZKq+u7bb79dY8eOlSS99tprKi8vr/NcxcXFmj59ui688ELZbDbZ7XZdfPHFuuGGGyT9LyB87LHHfCGk0+nUtGnT1L17d5mmqQ8//LBGmyUlJZo7d66ioqI0c+ZMTZgwQUlJSZKqpjUPGzZMM2fOVFxcnDZu3Kgvv/wyEC8bACDECAABoBHOPPNMpaWlKScnRzt37pQklZeXa/Xq1bLZbH6n7TaWYRi+BUSq26+2b98+5ebmSpImT55c5/Enjkqsz+jRo9WhQ4cm11f9j4cLLrhAffv2rbU9LS1NI0aMaHK7AAC0docPH9a1117re4wZM0ZTpkzRRx99JKnqViETJkyoccynn36q4uJi2Ww2v330zTffLJvNpmPHjunTTz+tc58BAwZoyJAhtZ4/55xzfF9ff/31tW7pYbPZfMd9/fXXNbZ9+OGHKikp0VlnnaUzzjijzvN2797dt81fbQCAtoUpwADQSGPGjNHcuXP1n//8RwMHDtRHH32kkpISDRs2zHcT7oYcPnxYb731ljZv3qwDBw6orKys1n2D8vPza3z/xRdfSKr6RL9fv351ttu9e3d17txZeXl59Z5/wIABjarzZNWf/tf1j5BqQ4YMqXcKNAAAbZHX61VhYWGd2372s5/pxhtvrHUPv+p+89RTT/X7wVunTp2Ulpam/fv368svv9RFF11Ua59evXrVeWz1TID69qk+b3FxcY3nd+3aJUnavXu3rr322jqPleSbWXDo0CG/+wAA2g4CQABopMsuu0wvvfSSVq9erbvuuqtJ038ladu2bXrggQdUVlbme87pdPqmA1dUVKikpEQul6vGcUVFRZKklJSUettPSUlpMABs7o28jx492mANDdUHAEBb1KVLFy1YsECS5PF4dPjwYS1fvlz//Oc/NW/ePJ122mk1RuRJjes3paoQcP/+/b79T+bvA8YTR/z526d69V+3213j+SNHjkiqmqZ88nuOuvibngwAaFsIAAGgkTp16qSzzz5bn376qd5++21t2bJFTqdTF198cYPHut1uzZgxQ2VlZTr11FN15513asCAAYqLi/Pt88477+jJJ5/0rcZnhaas+gsAAGqy2+3q2rWrbrnlFjmdTv3tb3/To48+qpdffrnRswFCrXrmwdVXX61f//rXIa4GABAs3AMQAJqg+l5/c+fOldfr1YgRI3wj+Oqza9cuHT58WJI0Y8YMnXPOOTXCP0l+pxdVj9qr/sTen5OnDgdS9VSj+mqw8vwAALQ21113nXr37q1jx47ppZdeqrGtut9sqG+sfm9w4pReqyUnJ0tSg7MGAADhhQAQAJrgBz/4gRwOh286TWOn/1a/wU9KStIpp5xS5z7btm2r8/nTTz9dUtU9fPbu3VvnPgcOHLD0jfxpp50mSdq+fbvfffzVDwBAOLLZbLrpppskSf/5z3+UnZ3t21bdb+7fv18FBQV1Hp+fn+87pnr/YKi+H/COHTt89/kDAIQ/AkAAaIK4uDjdeeeduv7663XTTTdp0KBBjTrO6XRKko4fP17nfX62bt2qLVu21Hls3759lZqaKkl6/fXX69wnMzOzUXU016WXXipJ2rBhQ63VBCUpNzfXt1IwAACR4pJLLlGPHj3k9Xpr9MXnnnuuEhMTaz1/oldffVVer1dJSUk699xzg1WyRowYIYfDobKyMs2dO7fefcvKylRZWRmkygAAViIABIAmuuKKK3T77bfrJz/5SaOPGTRokOLi4mSaph599FEdPHhQUtXCHytWrND06dOVmJjo9/gf//jHkqTVq1dr9uzZvoVBjh8/rueff17Lli3zhYxWGDlypHr37i2Px6Pf/e53+vTTT333Kty+fbvuu+8+RUdHW3Z+AABaI5vNphtuuEGStHLlSuXm5kqq+sCwenTgokWLNHfuXB0/flySdOzYMT3//PNaunSpJGnKlCmKjY0NWs1JSUn6+c9/LklavHixHnvssRof7rndbn355Zd6+eWXNXnyZL8LlAAA2hYWAQGAIEhISNBPf/pTPffcc9q6dasmTZokp9Op8vJyud1u9e3bV1dccYWeffbZOo8fNWqU9uzZo3//+996++23lZWVJafTqZKSEnm9Xl1//fX64osv6p2i2xJRUVH6/e9/r1/96lfKy8vTb3/7W989DF0ul5KTk3X77bfrySeftOT8AAC0VqNHj9a8efOUn5+vf/7zn/rd734nSZo4caJycnK0ZMkSzZ8/XwsWLKjRd0vSNddcowkTJgS95nHjxsnlcukf//iHVq1apVWrVik2NlaxsbEqLi721QcACB+MAASAILnuuuv06KOPauDAgYqLi5PH41GPHj10yy236LnnnpPD4aj3+DvuuEO///3vNXDgQMXGxsrj8eiMM87QAw88oNtvv93y+tPS0jR37lyNGzdOnTp1ksfjUVJSksaOHat//OMf6t69u+U1AADQ2kRHR+v666+XJL3//vv67rvvJEmGYejXv/61ZsyYoQsvvFBJSUkqLS1VUlKShg8frpkzZ+ruu++WYRghqfv666/XvHnzNGHCBPXs2VM2m00lJSVq166dzjrrLN1000168cUX1alTp5DUBwAILMOsnsOFNu3LL78MdQkAAKAJmnPTf/p7AADalmAu8gPUhxGAAAAAAAAAQBgjAAQAAAAAAADCGAEgAAAAAAAAEMZYBRhAWNu5c6cefvjhJh1z5513atSoURZVBAAAgon3AgAAEAACCHNut1uFhYVNOqaiosKiagAAQLDxXgAAAFYBDhusCggAQNvCKsAAAIQ/VgFGa8E9AAEAAAAAAIAwRgAIAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAAAYYwAEAAAAAAAAAhjBIAAAAAAAABAGCMABAAAAAAAAMJYVKgLQGB06NAh4G0ahqH4+HiVlZXJNM2At2+FuLg42Ww2eb1euVyuUJfTKLzOwcHrHBy8zsHB6xwcrfF1tqK/t9vtSk5OVmFhoTweT8Dbt0JycrLsdrs8Ho8KCwtDXU6j8DoHB69zcPA6Bwevc3C0xdcZaA5GAMIvm80mh8Mhm63t/DGJj4+Xw+FQfHx8qEtpNF7n4OB1Dg5e5+DgdQ6Otvg6AwAAAHVhBCD8qqhwa9tnOTpefFxejzfU5TRKYmKxbDa7vF6Pjh8vDnU5jeL1mkqKPiKXq1Rebxt5nROKZLPb5PV4dbz4eKjLaRSPx1Ri+wK5XGXytJXXOfG4b8TU8eNt43U2PaYSEqpeZ6+3bXyCmpB4THabTR6vV8Vt5HV2G1JMv0K5ykvlaSu/n93H//d7o428zna7TRcnJYa6DMtVuCq1Y81uHT/edvr7hMRE2e02eTxt5++tx+NVYkKCXOVtqR9KbHP9kNftVWJiolzlLl5nC5lurxKT26us3NVm+vu2+Drb7R6de5Epu7dMhtk2/jyrIkGm3S55PIoy28a/x2xem0zz4lCXAViOABB+ffn1YT00451QlxH2bC63Yg+VhLqMsGfabfI6Y0NdRvgzTRltJEBoy8pSpe9vYFRaMGQm3qTTopJCXYal9m75Rn8Y/0yoywh7pmlKbSSQavMMfj9aLsoue2JCqKsIewPPPaoLBm9Tm3qliyRTkiGpzfSeHkmVmZL6hboSwFL0jgAAAAAAAEAYIwAEAAAAAAAAwhgBIAAAAAAAABDGuAegpLKyMi1YsEAbN25Ufn6+KisrJUlZWVkhrgwAAAAAAABoGQJASTNnztTWrVslSXFxcXI6nb5t+/bt0xdffKG9e/dq3759ys7Olsfj0cCBAzVjxox62y0uLtbOnTt9x+7du1dFRUWSpCeeeEKDBg2y7qIAAAAAAAAAEQAqOzvbF/7df//9Gj58eI3tf/zjH5WXl9estjdt2qTZs2e3uEYAAAAAAACguQgAs7MlSYmJibXCP0mKiopS79691bdvX/Xp00fbtm3Thg0bGt1+cnKy+vTpo759+6pbt256+umnA1Y7AAAAAAAA0JCIDwDLy8slSfHx8XVunzNnjux2u+/73NzcRrc9YsQIpaen+74vLi5uZpUAAAAAAABA80RsADh//nwtWLDA931eXp7GjRvn+37atGlKT0+vEf41VUuOBQAAAAAAAAIhYgPA+Ph4tW/fXhUVFSotLZXNZlNSUpJve0xMTAirAwAAAAAAAAIjYgPACRMmaMKECVq5cqVmz56tlJQUvfjii6EuCwAAAAAAAAgoW6gLAAAAAAAAAGAdAkAAAAAAAAAgjBEAAgAAAAAAAGEsYu8B2NZkZmZq/vz5frdPnDhRU6ZMCeg5nc6SgLYHAEBb1K5dO5mmGeoyJEnJyckBb9PpTAh4mwAAtDWtqb8HrEAA2EaUlJQoLy/P7/bS0lLZ7faAntNmMEAUAACbrfX0h4Hu6yXJZjMC3iYAAG1Na+rvASsQALYRTqdTnTt39rvd4XDI4/EE9Jxe0xvQ9gAAaIu8Xq8lIwKaE+YFuq+XJK+X0Q4AALSm/h6wAgFgG5GRkaGMjAy/2/Pz81VYWBjQc5aUMAUYAICioiJLgreUlJQmHxPovl6SSkqKA94mAABtTWvq7wErMMYVAAAAAAAACGOMAGxAeXm5ysvLfd9XVlZKktxut44dO+Z73m63y+l01jr+xH1KS0t9X5eUlNTY5nA4FBXFjwMAAAAAAACBReLUgDfffFMLFiyo9fznn39eY0ruwIEDNWPGjFr7+Zu2e/K+TzzxhAYNGtTCagEAAAAAAICamAIMAAAAAAAAhLGIHwGYnp6u9PR0v9snTZqkSZMmNbv9rKysZh8LAAAAAAAAtBQjAAEAAAAAAIAwRgAIAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAAAYYwAEAAAAAAAAAhjBIAAAAAAAABAGCMABAAAAAAAAMJYVKgLQOtV6fZIphnqMsKeaXplllfICHUh4c4wpChb1X9hHY9HKivndbaYUSCpOEFmFJ/jWa3C4wn7d0vuCneoS4gMvKcKHtOkH7KYaUiehDheZouVRsXreKWp6ChPqEsJe7FmRahLACwX5m9p0RKGV5I31FWEP8PllnHkaKjLCHtGVJSi+PNsOdPlkvf7w6EuI+yZ7gR5CzqHuoyIYJTbpNhQV2EtU4ZkECZbzqaqD0lgPVIpy5kJ8XKfkRrqMsKeu490xCiW+NVhua4mLzLCH+/24FdUtD3UJQAAEFLRtvDvC6Nj+DwYABDZDCM61CUAliMABAAAAAAAAMIYASAAAAAAAAAQxggAAQAAAAAAgDBGAAgAAAAAAACEMe76XI/i4mLt3LlTe/fu1b59+7R3714VFRVJkp544gkNGjSo3uP37dunL774wnd8dna2PB6PBg4cqBkzZgTjEgAAAAAAABDhCADrsWnTJs2ePbvZx//xj39UXl5eACsCAAAAAAAAmoYAsAHJycnq06eP+vbtq27duunpp59u9LFRUVHq3bu3+vbtqz59+mjbtm3asGGDhdUCAAAAAAAANREA1mPEiBFKT0/3fV9cXNyk4+fMmSO73e77Pjc3N2C1AQAAAAAAAI0REQFgcXGx1q1bpy1btig3N1dHjhyR2+1Wx44dNXjwYI0fP17dunWrddyJ4V1ztPR4AAAAAAAAoKUiIgDMysrSggULJFWFcg6HQ+Xl5Tp48KAOHjyo1atX64EHHtCQIUNCWygAAAAAAAAQYBERAHbo0EGTJ0/WsGHDlJaWJrvdLo/Ho/379yszM1ObN2/WU089pblz5youLi7U5QIAAAAAAAABYwt1AcFw+eWX64YbblCvXr1803Ltdrv69OmjBx54QD169FBRUZHWrVsX4koBAAAAAACAwIqIALA+0dHRvqm/e/bsCW0xAAAAAAAAQIBFxBRgqWoF3qVLl2rXrl3Ky8uTy+WSaZo19ikoKAhRdQAAAAAAAIA1IiIAXLNmjWbNmiW32y1JMgxDDodD0dHRkiSXyyWXy6Xy8vJQllmvzMxMzZ8/3+/2iRMnasqUKQE9p9NZEtD2AABoi9q1a1frQ8NQSU5ODnibTqcz4G0CANDWtKb+HrBC2AeARUVFmjNnjtxutwYMGKCbb75Zffv29YV/UlW4tnDhwlb9l72kpER5eXl+t5eWlvrubxgoNpsR0PYAAGiLbLbWc8eUQPf1Uuu6PgAAQoX+EOEu7APAzZs3q6ysTHFxcZo+fbocDketfY4ePRr8wprI6XSqc+fOfrc7HA55PJ6AntPrbb2BKAAAweL1ei35kLA5YV6g+3qp6voAAIh0ram/B6wQ9gFgfn6+JCk1NbXO8M80Te3cuTPYZTVZRkaGMjIy/G7Pz89XYWFhQM9ZUsIUYAAAioqKLAneUlJSmnxMoPt6if4eAACpdfX3gBXCfoxr9X1tDh06pMrKylrbV61apQMHDgS7LAAAAAAAACAown4E4ODBg2UYho4fP65Zs2bppz/9qZKTk1VWVqYVK1Zo3rx5SkxM1PHjx+s8/tixY76vS0tLfV+XlJTU2OZwOBQVVfPlLC8vr7GwSHUA6Xa7axxrt9u5ATcAAAAAAAAsEfYBYGpqqsaNG6fFixdr7dq1Wrt2rZxOp8rKyuT1ejV06FD169dPCxcurPN4f9NuZ8yYUeP7J554QoMGDarx3JtvvqkFCxbUOvbzzz+v0e7AgQNrtQcAAAAAAAAEQtgHgJI0depUpaamatmyZcrJyZHX61Xv3r01YsQIXXXVVXrjjTdCXSIAAAAAAABgiYgIACVpzJgxGjNmTJ3bJk2apEmTJtW5LSsrq9nnrK9dAAAAAAAAIBjCfhEQAAAAAAAAIJIRAAIAAAAAAABhjAAQAAAAAAAACGMEgAAAAAAAAEAYIwAEAAAAAAAAwhgBIAAAAAAAABDGCAABAAAAAACAMEYACL/clZ5QlwAAQEhVmuHfF1ZWuENdAgAAIVXpCf/+HogKdQFovUybiIiDwIyLktmxvYxQFxLmTMOQJzFeMnilLeWJlZEQx+tssdjubnXr/b2MaF5nq8U5ykNdguUMmZLpDXUZ4c/Laxw0pkk/ZDGjuEzRe3J5mS32baX0xNejJXuoKwl/d8an6FT+7YswRwAIv6Kj7Lx5CgLDsMmIjQl1GeHPbpNio0NdRfgz7VI0XYvVbB0r5ehwPNRlRISYKLtkhroKa0XF8Hc2KAyjKpiC9Xj/ajnDlOzFrlCXEfbc5VH6vLxrqMuIDEZsqCsALEfGDQAAAAAAAIQxAkAAAAAAAAAgjDHnQ1JZWZkWLFigjRs3Kj8/X5WVlZKkrKysEFcGAAAAAAAAtAwBoKSZM2dq69atkqS4uDg5nU7ftn379umLL77Q3r17tW/fPmVnZ8vj8WjgwIGaMWNGo9ovKirSv//9b3388cc6cuSIYmNj1adPH1155ZW64IILLLkmAAAAAAAAQCIAVHZ2ti/8u//++zV8+PAa2//4xz8qLy+vRe0/+OCDKioqkiTFx8erpKRE27Zt07Zt23T11Vfr1ltvbf4FAAAAAAAAAPUgAMzOliQlJibWCv8kKSoqSr1791bfvn3Vp08fbdu2TRs2bGhU25WVlXr88cdVVFSknj176te//rV69eql8vJyLV68WK+//rqWLFmiXr166Yc//GFArwsAAAAAAACQCABVXl4uqWpkXl3mzJkju93u+z43N7fRbf/nP//R999/r9jYWD388MPq1KmTJCk2NlbXX3+9CgoK9O677yozM1MjRoxQVFTE/zgAAAAAAAAQYBGbOM2fP18LFizwfZ+Xl6dx48b5vp82bZrS09NrhH9NtXr1aknSJZdc4gv/TnTddddp2bJlKigo0GeffaahQ4c2+1wAAAAAAABAXWyhLiBU4uPj1b59ezkcDkmSzWZT+/btfY+YmJgWtV9WVqavvvpKknT22WfXuU+nTp2UmpoqSdq+fXuLzgcAAAAAAADUJWJHAE6YMEETJkzQypUrNXv2bKWkpOjFF18MWPu5ubkyTVOS1LNnT7/79ezZUzk5OcrJyQnYuQEAAAAAAIBqETsC0GoFBQW+rzt06OB3v+pthYWFltcEAAAAAACAyEMAaBGXy+X7OjY21u9+1dvKysosrwkAAAAAAACRhwAQAAAAAAAACGMRew9Aq8XFxfm+Li8v9y02crLy8nJJVYuS1CczM1Pz58/3u33ixImaMmVKMyr1z+ksCWh7AAC0Re3atfPd1zfUkpOTA96m05kQ8DYBAGhrWlN/D1iBANAiJ973r6CgwG8AWH2vwIbe0JeUlCgvL8/v9tLSUtnt9mZU6p/NYIAoAAA2W+vpDwPd10uSzWYEvE0AANqa1tTfA1YgALRIamqqDMOQaZrKzs5WampqnftlZ2dLknr06FFve06nU507d/a73eFwyOPxNL/gOnhNb0DbAwCgLfJ6vZaMCGhOmBfovl6SvF5GOwAA0Jr6e8AKBIAWiY+PV79+/fTll19qy5YtGj58eK198vPzlZOTI0kaPHhwve1lZGQoIyPD7/b8/PyAryRcUsIUYAAAioqKLAneUlJSmnxMoPt6SSopKQ54mwAAtDWtqb8HrMAYVwuNGDFCkrRmzRodPny41va33npLpmmqQ4cOGjRoUJCrAwAAAAAAQCQgAGxAeXm5jh075ntUVlZKktxud43n6xotN2bMGHXt2lUul0uPPfaYvvnmG1+b//73v/XOO+9IqhrdFxXFYEwAAAAAAAAEHqlTA958800tWLCg1vOff/55jSm5AwcO1IwZM2rsEx0drYceekgPPvig9u/fr2nTpsnhcMjlcsnrrbq/3tixY/XDH/7Q2osAAAAAAABAxCIAtFhaWpqeffZZvfnmm/r444+Vn58vp9Op3r1766qrrtIFF1wQ6hIBAAAAAAAQxiI+AExPT1d6errf7ZMmTdKkSZNadI727dtr6tSpmjp1aovaAQAAAAAAAJqKewACAAAAAAAAYYwAEAAAAAAAAAhjBIAAAAAAAABAGCMABAAAAAAAAMIYASAAAAAAAAAQxggAAQAAAAAAgDBGAAgAAAAAAACEsahQF4DWq9LtkUwz1GWEPdP0yiyvkBHqQsKdYUhRtqr/wjoej1RWzutsMe8Rt1zHo2VEh7qS8Ffh8YT9x6XuCneoS4gMvKcKHtOkH7KYaUiehDheZot5o+3yVBqSPdSVhL9Kr5vXGWGPABB+GV5J3lBXEf4Ml1vGkaOhLiPsGVFRiuLPs+VMl0ve7w+Huoyw5zKcyi3oE+oyIoKrIlqKC3UV1jJlSEaYp5ytgU1VH5LAeqRSljMT4uU+IzXUZYQ9dze3XGaZxOc0lvOY/N5A+OPdHvyKiuYjEABAZIsywv+z0uiY8L9GAADqE22jL0T4IwAEAAAAAAAAwhgBIAAAAAAAABDGCAABAAAAAACAMMZE93oUFxdr586d2rt3r/bt26e9e/eqqKhIkvTEE09o0KBBjWpnw4YNWrZsmfbt26fy8nKlpKTovPPO0//7f/9PSUlJVl4CAAAAAAAAIhwBYD02bdqk2bNnt6iN559/Xu+++64kyWazKTY2VgcOHNDixYv14Ycf6oknnlCPHj0CUS4AAAAAAABQCwFgA5KTk9WnTx/17dtX3bp109NPP93oY//zn//o3XfflWEYmjx5sq655hrFxsbqm2++0dNPP61vv/1Wjz/+uJ577jlFR0dbeBUAAAAAAACIVASA9RgxYoTS09N93xcXFzf62MrKSs2fP1+SdOWVV+r666/3bevVq5emT5+uO+64QwcPHtSKFSt05ZVXBq5wAAAAAAAA4L8iIgAsLi7WunXrtGXLFuXm5urIkSNyu93q2LGjBg8erPHjx6tbt261jrPb7c0+544dO1RYWCjDMHTttdfW2t65c2ddcsklWrFihVavXk0ACAAAAAAAAEtExCrAWVlZmjNnjjZs2KADBw7IbrfL4/Ho4MGDWr58ue6++25t27YtoOfcsWOHJKlHjx7q1KlTnfsMHTpUkvTFF1/I5XIF9PwAAAAAAACAFCEjADt06KDJkydr2LBhSktL8wWA+/fvV2ZmpjZv3qynnnpKc+fOVVxcXEDOmZOTI0nq2bOn332qt5mmqdzcXPXt2zcg5wYAAAAAAACqRcQIwMsvv1w33HCDevXq5ZvWa7fb1adPHz3wwAPq0aOHioqKtG7duoCds6CgQFJV+OjPidsKCwsDdm4AAAAAAACgWkQEgPWJjo7WkCFDJEl79uwJWLvVU3pjY2P97nPittLS0oCdGwAAAAAAAKgWEVOAJSk3N1dLly7Vrl27lJeXJ5fLJdM0a+xTPWoPAAAAAAAACBcREQCuWbNGs2bNktvtliQZhiGHw6Ho6GhJVaP1XC6XysvLA3bO6nsJ1tfmidscDke97WVmZmr+/Pl+t0+cOFFTpkxpYpX1czpLAtoeAABtUbt27Wp9aBgqycnJAW/T6XQGvE0AANqa1tTfA1YI+wCwqKhIc+bMkdvt1oABA3TzzTerb9++vvBPqgrXFi5cGNC/7B06dNDXX39d76jCE7c19Ia+pKREeXl5freXlpb67m8YKDabEdD2AABoi2y21nPHlED39VLruj4AAEKF/hDhLuwDwM2bN6usrExxcXGaPn16nSPtjh49GvDz9ujRQ59++qmys7P97lO9zTAMpaam1tue0+lU586d/W53OBzyeDzNK9YPr5dPPwAA8Hq9lowIaE6YF+i+Xqq6PgAAIl1r6u8BK4R9AJifny9JSk1NrTP8M01TO3fuDPh5zzrrLC1atEjZ2dnKz89XSkpKrX22bt0qSTr99NN9U4b9ycjIUEZGht/t+fn5AV9JuKSEKcAAABQVFVkSvNX13qAhge7rJfp7AACk1tXfA1YI+zGu1fe1OXTokCorK2ttX7VqlQ4cOBDw85511llKTk6WaZpatGhRre2HDx/WmjVrJEkjRowI+PkBAAAAAAAAKQICwMGDB8swDB0/flyzZs3yfXJeVlamrKwszZkzR4mJiX6PP3bsmO9RXFzse76kpKTGtuoFRqpFR0dr0qRJkqSlS5fq3//+t2/Rj2+++UaPPfaYXC6XTjnlFF122WWBvmwAAAAAAABAUgRMAU5NTdW4ceO0ePFirV27VmvXrpXT6VRZWZm8Xq+GDh2qfv36aeHChXUe72/a7YwZM2p8/8QTT2jQoEE1nhszZoy++eYbvfvuu3rttdf0+uuvKzY2VqWlpZKk9u3b66GHHqqxIAkAAAAAAAAQSGEfAErS1KlTlZqaqmXLliknJ0der1e9e/fWiBEjdNVVV+mNN96w7Ny33XabBg8erHfffVdff/21b9TfsGHDNHHiRLVr186ycwMAAAAAAAAREQBKVaPxxowZU+e2SZMm+abrniwrK6vF577wwgt14YUXtrgdAAAAAAAAoKnC/h6AAAAAAAAAQCQjAAQAAAAAAADCGAEgAAAAAAAAEMYIAAEAAAAAAIAwRgAIAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAAAYYwAEAAAAAAAAAhjBIDwy13pCXUJAACElNusDHUJlquscIe6BAAAQqrSw799Ef6iQl0AWi/TJiLiIDDjomR2bC8j1IWEOdMw5EmMlwxeaUt5YmU443idLdY+tUy90r6SLTrUlYS/jo5Sydsh1GVYypApmd5QlxH+vLzGQWOa9EMWM4rLFL0nl5fZYt6jcSo/s6Nk44W2mvfMKKl9qKsArEUACL+io+y8eQoCw7DJiI0JdRnhz26TYklLLOe1S3a6FqtFp5jqkvx9qMuICDF2uxTmuU1UDH9ng8IwqoIpWI/3r5YzTMle7Ap1GWHPSLLJW8q/E4Ih2kZfiPDH+C4AAAAAAAAgjBEAAgAAAAAAAGGMca4tVFZWpgULFmjjxo3Kz89XZWXVzcKzsrJCXBkAAAAAAABAANhiM2fO1NatWyVJcXFxcjqdNbYfOXJEixYt0ubNm3X48GFFRUWpe/fu+sEPfqCxY8cqKoofAQAAAAAAAKxD+tQC2dnZvvDv/vvv1/Dhw2ts37Fjh/74xz+qpKREkuRwOOR2u/XVV1/pq6++0ocffqjHHntMCQkJQa8dAAAAAAAAkYEAsAWys7MlSYmJibXCv/z8fF/417dvX91xxx3q06ePvF6vtm7dqmeffVb79u3T008/rYcffjgU5QMAAAAAACACsAhIC5SXl0uS4uPja21bvHixSkpKFB8fr+nTp6tPnz6SJJvNpnPOOUf33HOPJOnTTz/V9u3bg1c0AAAAAAAAIgojAJth/vz5WrBgge/7vLw8jRs3zvf9tGnT9Omnn0qSLr30UiUnJ9dqY9CgQerTp4/27dunVatWafDgwdYXDgAAAAAAgIjDCMBmiI+PV/v27eVwOCRVjepr37697xETE6PDhw9Lkrp37+63ndTUVEnStm3bLK8ZAAAAAAAAkYkRgM0wYcIETZgwQStXrtTs2bOVkpKiF198scY+s2fPliR5vV6/7VRvKyws1PHjx5WYmGhd0QAAAAAAAIhIjAC0SOfOnSX9b6GQupy4raCgwPKaAAAAAAAAEHkIAC0ydOhQSdLatWuVl5dXa/snn3yib7/91vd9WVlZ0GoDAAAAAABA5CAAtMg111yj+Ph4VVRU6Pe//722bNmi8vJyFRcXa9WqVXrmmWcUFfW/GdiGYYSwWgAAAAAAAIQr7gFokc6dO+v+++/XzJkz9d133+mRRx6psT0pKUmTJk3Sa6+9JklyOp31tpeZman58+f73T5x4kRNmTKlxXWfyOksCWh7AAC0Re3atZNpmqEuQ5KUnJwc8DadzoSAtwkAQFvTmvp7wAoEgBYaOnSo/va3v2nJkiX67LPPdPToUSUkJOiss87Stddeq82bN0uSoqKi1KVLl3rbKikpqXMqcbXS0lLZ7faA1m8zGCAKAIDN1nr6w0D39ZJkszELAQCA1tTfA1YgALRYx44ddcstt9S5bd++fZKk3r17Kzo6ut52nE6nb2GRujgcDnk8nmbXWRev6X8FYwAAIoXX67VkREBzwrxA9/WS5PUy2gEAgNbU3wNWIAAMkcrKSm3YsEGSNGLEiAb3z8jIUEZGht/t+fn5KiwsDFR5kqpGHQIAEOmKioosCd5SUlKafEyg+3pJKikpDnibAAC0Na2pvweswBjXEMnMzFRBQYFSUlI0atSoUJcDAAAAAACAMMUIQAu99tprGjBggPr37+9b5CM7O1tvvvmmPvjgA9ntdt11111yOBwhrhQAAAAAAADhigDQQmvWrNG///1vSVJ8fLw8Ho8qKiokVd3Tb9q0aRo6dGgoSwQAAAAAAECYIwC00PXXX69PPvlE+/fvV2FhoaKiotStWzede+65uvrqq5WcnBzqEgEAAAAAABDmCABbID09Xenp6X63jx49WqNHjw5iRQAAAAAAAEBNLAICAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAAAYYwAEAAAAAAAAAhjBIAAAAAAAABAGCMABAAAAAAAAMIYASAAAAAAAAAQxqJCXQBar0q3RzLNUJcR9kzTK7O8QkaoCwl3hiFF2ar+C+t4PFJpOa+zxSqPuJR/zCEjJtSVhL8KjyfUJVjOXeEOdQmRgfdUwWOa9EMWMw3J44yVwetsKTM2RvLw5zkYKtzh398DBIDwy/BK8oa6ivBnuNwyjhwNdRlhz4iKUhR/ni1nulzyfn841GWEveMx8fqmoGeoy4gIR3vFqWt0qKuwlilDMpgUYjmbqj4kgfUIS6znjJe7f2qoqwh7nkRDNg9/noPB4DMaRADe7cGvqGh7qEsAACCkomxhnv5Jio7h82AAQGSLtvNvX4Q/AkAAAAAAAAAgjBEAAgAAAAAAAGGMABAAAAAAAAAIY9z0xWKmaWrdunVasWKF9u3bp9LSUrVv314DBw7UNddcoz59+oS6RAAAAAAAAIQxAkALud1uPfnkk1q/fr0kyWazyeFw6MiRI1q9erXWrl2r22+/XaNHjw5xpQAAAAAAAAhXBIAWeu2117R+/XrZbDZNmTJFV1xxheLi4nT06FFlZmbqvffe09/+9jelpaWpf//+oS4XAAAAAAAAYYh7AFqkqKhI77zzjiRp3LhxmjBhguLi4iRJ7du315133qmBAwfK6/Vq3rx5IawUAAAAAAAA4YwRgI1QXFysdevWacuWLcrNzdWRI0fkdrvVsWNHDR48WOPHj1e3bt1qHLN9+3ZVVlZKkiZMmFBnu+PHj9fOnTu1e/duff/99+ratavl1wIAAAAAAIDIwgjARsjKytKcOXO0YcMGHThwQHa7XR6PRwcPHtTy5ct19913a9u2bTWOOXz4sCTJ6XQqOTm5znZTU1N9X598PAAAAAAAABAIjABshA4dOmjy5MkaNmyY0tLSfAHg/v37lZmZqc2bN+upp57S3LlzfdN8q3m9Xr/tnrgtOzvbsvoBAAAAAAAQuRgB2AiXX365brjhBvXq1Ut2u12SZLfb1adPHz3wwAPq0aOHioqKtG7dOt8xnTt3liSVlZX5RgOe7MTQr6CgwMIrAAAAAAAAQKQiAGyh6OhoDRkyRJK0Z88e3/ODBg1SVFTVAMt//etftY4zTVNvvvmm7/uysjJrCwUAAAAAAEBEYgpwI+Xm5mrp0qXatWuX8vLy5HK5ZJpmjX1OHMXXvn17XXHFFVqyZImWL1+u+Ph4jR07VsnJyfruu+/0+uuv66uvvlJUVJTcbrcMwwj2JQEAAAAAACACEAA2wpo1azRr1iy53W5JkmEYcjgcio6OliS5XC65XC6Vl5fXOO6WW27RoUOH9PHHH2vRokVatGhRje2XX3659u7dq71798rpdNZbQ2ZmpubPn+93+8SJEzVlypTmXJ5fTmdJQNsDAKAtateuXa0P/ULF38JiLdHQexAAACJBa+rvASsQADagqKhIc+bMkdvt1oABA3TzzTerb9++vvBPqgrnFi5cWOuXRXR0tB588EGtX79eH374obKzs+XxeNS9e3eNHj1aw4cP19SpUyVJ3bt3r7eOkpIS5eXl+d1eWlrquz9hoNhsjEoEAMBmaz13TAl0Xy+1rusDACBU6A8R7ggAG7B582aVlZUpLi5O06dPl8PhqLXP0aNH/R5vGIYuuugiXXTRRbW2HTt2zLdAyOmnn15vHU6n07ewSF0cDoc8Hk+9bTSV18unHwAAeL1eS0YENCfMC3RfL1VdHwAAka419feAFQgAG5Cfny9JSk1NrTP8M01TO3fubFbba9askVQ1nad6IRF/MjIylJGRUW+dhYWFzarDn5ISpgADAFBUVGRJ8JaSktLkYwLd10v09wAASK2rvweswBjXBlTfF+fQoUOqrKystX3VqlU6cOBAk9vNy8vTggULJEnXXnstnwoAAAAAAADAEgSADRg8eLAMw9Dx48c1a9Ys3yfvZWVlysrK0pw5c5SYmFjnsTt27NCiRYt04MAB3ycJZWVl+uCDD3Tffffp2LFjGjRokK6++uqgXQ8AAAAAAAAiC1OAG5Camqpx48Zp8eLFWrt2rdauXSun06mysjJ5vV4NHTpU/fr108KFC2sde/jwYb3yyit65ZVXZLPZ5HA4VFJS4ruvwLnnnqt7772Xm40CAAAAAADAMgSAjTB16lSlpqZq2bJlysnJkdfrVe/evTVixAhdddVVeuONN+o87owzztA111yjXbt2KS8vT6WlpUpOTla/fv00atQoXXjhhUG+EgAAAAAAAEQaAsBGGjNmjMaMGVPntkmTJmnSpEm1nu/WrZumTp1qdWkAAAAAAACAX8w9BQAAAAAAAMIYASAAAAAAAAAQxggAAQAAAAAAgDBGAAgAAAAAAACEMQJAAAAAAAAAIIwRAAIAAAAAAABhjAAQAAAAAAAACGMEgPDLXekJdQkAAISUx1sZ6hIsV1nhDnUJAACEVKWbf/si/EWFugC0XqZNRMRBYMZFyezYXkaoCwlzpmHIkxgvGbzSlvLEykiMF3+grdUhtVjDuu6QLTrUlYS/zvHjJHdKqMuwlCFTMr2hLiP8eXmNg8Y06e+tVlymqD25vMwWM5JilZDYVbyxsp7dZYa6BMByBIDwKzrKzpunIDAMm4zYmFCXEf7sNimWtMRypl2K4XW2WmxKpVLbHQt1GREhxm6XwnyAXFQMbweDwjCqgilYj/evljNMyV7sCnUZYc8WZSjKxZ/nYIix20NdAmA5xncBAAAAAAAAYYwAEAAAAAAAAAhjBIAAAAAAAABAGOOmLy1UVlamBQsWaOPGjcrPz1dlZdVqgVlZWSGuDAAAAAAAACAAbLGZM2dq69atkqS4uDg5nc4a27///nstWbJE27ZtU15enjwej5KSktS7d2+lp6froosuCkXZAAAAAAAAiBAEgC2QnZ3tC//uv/9+DR8+vMb2Tz75RH/+859VXl4uSbLb7YqJiVFBQYEKCgr06aef6oILLtC9996rqCh+FAAAAAAAAAg8UqcWyM7OliQlJibWCv+OHTump59+WuXl5Tr11FN122236fTTT5fdbldhYaHeeustLV68WBs3btSSJUs0YcKEUFwCAAAAAAAAwhyLgLRA9ci++Pj4Wts++eQTlZSUSJIefPBBnXnmmbLb7ZKk5ORkTZ06VcOGDZMkrV+/PkgVAwAAAAAAINIwArAZ5s+frwULFvi+z8vL07hx43zfT5s2TYWFhZKqRgd26dKlznb69u2rjz/+WC6Xy9qCAQAAAAAAELEIAJshPj5e7du3V0VFhUpLS2Wz2ZSUlOTbHhMT4wv9jh8/rkOHDtUZAu7du1eS1Lt37+AUDgAAAAAAgIhDANgMEyZM0IQJE7Ry5UrNnj1bKSkpevHFF2vs43K51KFDBxUUFGjGjBn6+c9/rv79+8tms6mwsFCLFi3Sxx9/rISEBN14440huhIAAAAAAACEOwJAi8TFxenhhx/WjBkz9M033+j+++/3rQJcVlam6OhoXXzxxcrIyNApp5wS6nIBAAAAAAAQplgExEK9e/fWE088of79+0uSPB6PysrKfF9XVFT4FhIBAAAAAAAArMAIQAutWLFCf//735WUlKRf/epXGjRokBwOh7Kzs7VgwQJ9/PHH2rlzpx599FGddtppoS4XAAAAAAAAYYgA0CKff/65nn32WcXExOjxxx9Xamqqb1v//v31+9//Xg899JA+++wzvfDCC3ryySfrbS8zM1Pz58/3u33ixImaMmVKwOqXJKezJKDtAQDQFrVr106maYa6DElScnJywNt0OhMC3iYAAG1Na+rvASsQAFokKytLknTuuefWCP+qGYaha665Rp999pm+/PJLFRYW1vumvqSkRHl5eX63l5aWym63t7zw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nDp27BjqMgEAAAAAAHwr8jZ2n8TExGafKzExUUePHm3UOSWpuLi4UecN5jW0FQSAFqqoqNCMGTO0ZcsW33MOh0Mul0v79+/X/v37tXz5cj344IM666yzQlgpAAAAAACAtHfv3ibt061bt2af65RTTtHRo0d1/PhxHTp0SF26dKl3/y+//LJR5w3mNbQVTAG20MKFC33h349+9CO9/vrrWrBggd5880394Q9/0CmnnKKysjL95S9/UXl5eYirBQAAAAAAkW7t2rUNZhTvv/++7+vzzz+/2ec68dj33nuv3n2zs7P1+eefS5LS0tLqvWfgihUrGjx3oK6hrSAAtNDq1aslSaNGjdKPfvQj35BSu92uoUOH6t5775UkFRUVadeuXaEqEwAAAAAAQJJ09OhRvfjii363Hzx4UK+//rokKTY2VmPHjm32ua677jrf10899ZQ8Ho/fff/0pz/JNM1ax9Xl888/1zvvvON3+/bt230hYdeuXXXxxRc3pew2iSnAjVBcXKx169Zpy5Ytys3N1ZEjR+R2u9WxY0cNHjxY48ePr3O4aGFhoSSpb9++dbbbq1cv2e12eTweuVwuS68BAAAAAACgMe677z4NGjRIl1xySY3njx07puuvv963aMaPf/xjderUqdnnufLKKzVo0CB99tln2r59u26//Xb97W9/U1RUzbhq3rx5ev755yVV3Vpt2rRpDbY9depUrVq1SmeeeWaN5w8cOKAbbrjBFzbefffdio6ObvY1tBUEgI2QlZWlBQsWSKoavedwOFReXq6DBw/q4MGDWr16tR544AENGTKkxnFdunRRbm6u37nn33zzjTwej2w2m3r16mX1ZQAAAAAAANRr7NixWrFihUaNGqUbb7xR6enpio+P1+7du/XSSy/pwIEDkqoGNf3pT39q0blsNpsyMzM1fPhwlZSUaO7cudqwYYNuuukmnXrqqSooKNDixYu1fPly3zF//etf1bNnz3rbvfbaa7Vo0SKdc845uuWWWzR8+HDZ7XZt2bJFL730ko4ePSqpaurvPffc06JraCsIABuhQ4cOmjx5soYNG6a0tDTfqL39+/crMzNTmzdv1lNPPaW5c+cqLi7Od9yYMWP00ksvadWqVeratauuuuoqJSYmyuPx6LPPPtPf//53SVWJ9ymnnBKqywMAAAAAAJAknXPOObrpppv04x//WK+//rpvuu+JTj/9dC1fvlxJSUktPt9ZZ52lDz74QNdee61yc3O1c+dO3XfffbX2czgc+utf/6qpU6c22ObVV1+tSy65RPfcc4+ef/553+jBE1144YVaunRprdGG4SoyrrKFLr/88lrP2e129enTRw888IDuvvtu5eTkaN26dUpPT/ftM3bsWB0+fFhLlizR/PnzNX/+fN8qwF6vV927d9fPf/5zXXXVVcG8HAAAAAAAAL+uv/56DR48WM8++6zee+89fffdd4qOjtbpp5+uG264QXfccYdiY2MDdr7zzjtPX375pV588UUtXrxYO3fuVEFBgRISEtS7d2+NGTNGd9xxR5NW6502bZouuugizZkzRx9++KEOHjwoh8OhQYMG+QJOmy1ylsYgAGyh6OhoDRkyRDk5OdqzZ0+NANBut+vHP/6xunXrppdeekmVlZUqLS31bS8vL/eFgZH0hw4AAAAAALRup59+up577rkmH7d///5mnS8+Pl533XWX7rrrrmYdf8stt+iWW26p8dy5556rV155pVnthRsCwEbKzc3V0qVLtWvXLuXl5cnlcvlWn6lWUFBQ4/ujR49qxowZ+vzzzzVixAjfYiFHjx7V5s2blZmZqVdffVVff/21fvvb3wbzcgAAAAAAABAhCAAbYc2aNZo1a5bcbrckyTAMORwO3yoxLpdLLpdL5eXlNY575pln9Pnnnys9Pb3GCjXV9wPs0aOHpk+frrVr12rUqFE655xz/NaQmZmp+fPn+90+ceJETZkypSWXWUuCsySg7QEA0Ba1a9eu1od+oZKcnBzwNp1OZ8DbBACgrWlN/T1gBQLABhQVFWnOnDlyu90aMGCAbr75ZvXt27fGEtGZmZlauHBhjV8WOTk52rp1qyRp/PjxdbZ91llnqXfv3tq3b582bdpUbwBYUlKivLw8v9tLS0tlt9ubeHX1MwwjoO0BANAWtabbdAS6r5da1/UBABAq9IcIdwSADdi8ebPKysoUFxen6dOny+Fw1NqnevnoE+Xk5Pi+7tq1q9/2u3Tpon379unQoUP11uF0OtW5c2e/2x0OhzweT71tNBWffgAAIHm9Xkv6xOaEeYHu66Wq6wMAINK1pv4esAIBYAPy8/MlSampqXWGf6ZpaufOnbWeP3H03OHDh5Wamlpv+3W1faKMjAxlZGTUW2dhYWG9bTRVcQlT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qphfSbi+niXAAADU1NRYEry19btBR2I91ktSfR3jPQAAvWm8B6zAHFeLnHnmmcrOzpZpmnruuedate/fv1/r16+XJE2aNCnO1QEAAAAAACBREABaxOPxaNasWZKkF154Qc8++2zkoh+fffaZ7r77bjU2Nuqkk07SxRdfbGepAAAAAAAAcDCWAFtoypQp+uyzz/TSSy/piSee0JNPPqmUlBQ1NDRIkrKysjR//nx5PB6bKwUAAAAAAIBTEQBa7Ic//KHy8/P10ksvaffu3ZFZfxMmTNDMmTOVmZlpd4kAAAAAAABwMALAHigoKFBBQUGH25133nk677zz4lARAAAAAAAA0BLnAAQAAAAAAAAcjAAQAAAAAAAAcDACQAAAAAAAAMDBCAABAAAAAAAAByMABAAAAAAAAByMABAAAAAAAABwMAJAAAAAAAAAwMGS7C4AvVdzMCSZpt1lOF/IlMvfZHcVjmdKCnuTJcPuShwuFJZRF+A4W8yQpPQUycXneFZrbgraXYLlEuE1Aogxw5C8qXZX4XymKTU02l1FQmAsRCIgAERUhmnKIP+znMvfpJTPD9pdhuOZyUkK5/azuwznq/fL9fk+u6twPDM1RTr5BLvLSAjuprDdJQBA7+NNlWvEULurcDyzrkHm7lK7y0gIhvjDF87H1AFElZTktrsEAABs5UmAsdCTzOfBAIDElpTssbsEwHIEgAAAAAAAAICDEQACAAAAAAAADkYACAAAAAAAADgYJ32Jg5qaGj377LN6++23deDAAaWkpGjEiBG69NJLde6559pdHgAAAAAAAByMANBipaWluv3221VTUyNJSktLU319vd577z299957uvzyy3X99dfbXCUAAAAAAACcigDQQs3NzbrnnntUU1OjoUOH6t/+7d80bNgwBQIBrVy5Uk8++aSef/55DRs2TBdddJHd5QIAAAAAAMCBOAeghV555RXt27dPKSkp+sUvfqFhw4ZJklJSUvStb31Ll1xyiSSpuLhYwWDQzlIBAAAAAADgUMwA7IS6ujpt3LhRmzdv1t69e3XgwAEFg0H1799f+fn5uuKKKzRo0KBW+61bt06SdMEFF2jAgAGt2q+88kqtWrVKBw8e1NatWzVu3DirXwoAAAAAAAASDDMAO6GkpERFRUV64403VF5eLrfbrVAopIqKCr388suaO3eu3nvvvRb7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amqqvv3tb+vQoUNatWqVXn/9df4g6KSTTz65xfdyW44uGzQMQ2PGjIlPYehTGO/hJIz38cF4H1+M90DfRACIPuPTTz+Vy+XSN77xjS7vO336dD355JP69NNPLajMebZt29btfRsaGmJYiXO9//77MgxDN954Y6tfoM4991yNGDFCd999tz7//HPNmzdPd911l4YOHWpPsX3Y7t27JUkXX3xxi8cvvPBCPfvss5KOvD+0Zdq0aVq1apU++eQTa4t0gPHjx+udd95RdXW1LrvsMl166aVRt/X7/fr2t78tSbr33nvjVSL6EMb7+GG8tx7jfXww3scH4z3QtxEAos9obGxUSkqKkpOTu7xvcnKyUlNT1djYaEFlznP77bd3eXo/umb//v1yu90aPXp0m+0DBgzQr371Ky1YsEA7d+7U7bffrgULFmjkyJFxrrRvO3z4sFJSUtSvX78Wjx9dTujxeKIuLczLy5PH41FVVZXldfZ18+fP18aNG7VkyRL98Y9/1GuvvaabbrpJw4YNa7Ut7y3oCON9/DDeW4/xPj4Y7+OD8R7o21x2FwB0Vm5urvx+vz7//PMu77tnzx41NDR0eA4htGSaZrdu6FgwGFRycrJcruhvwz6fT3fffbdOP/101dbW6o477tBHH30Uxyr7vmhX9Dv6uM/na3f/tLQ0NTc3x7wuJ/rKV76iP/zhD7r44ov1ySef6Kc//akeffRRghh0GeN9/DHeW4fxPj4Y7+OH8R7ou5gBiD5j/PjxKikp0YMPPqhf/OIX6t+/f6f2O3DggB566KHIFb7QsczMTB0+fFj/9m//pn/5l3/p0r61tbW68cYbLarMObKzs1VVVaXa2lplZGRE3S41NVULFizQ3Xffra1bt2rBggWaP39+HCvt2zIzM7Vv3z41NjYqNTW1y/v7/f5WswkQndfr1Y9+9CNdeOGFevjhh1VSUqKNGzfquuuu08SJE+0uD30E4338MN5bj/E+Phjv44vxHuibCADRZ1x11VVat26dPv/8c91000264IILNG7cOA0dOlQ5OTmRT/gCgYAOHjyo0tJSbd68WevXr1djY6OysrI0c+ZMm19F3zBy5Eht3rxZ5eXlHX5ierxQKGRRVc4ybNgwVVVV6f3339f555/f7rYpKSn6xS9+oXvvvVfvvfee7rrrLoXD4ThV2rcNGjRI+/bt09//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", + "image/png": "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Rq3KNkRERIQee+yxetW98sordeWVV5ocEQAAAAAAQGULFizQfffdJ0maP3++7r33Xs8G1MSwByAAAAAAAADgxUgAAgAAAAAAAF6MBCAAAAAAAADgxdgD0EudPHlSTz75ZJ3qjB49WqNHj26kiAAAAAAAAOAJJADPA7U5WOSXXC6Xzpw5U6c6BQUFdSoPAAAAAACApo8EoJeqT9IQAAAAAAA0P2vWrNENN9wgSXr22Wf13HPP6ccff9Q777yjr776SqmpqfLz89NFF12kcePG6dFHH5W/v3+VbV1wwQU6fPiwunbtqkOHDqmoqEjvvfeelixZoh9//FEnTpxQly5ddOjQoQr1CgoK9P7772vZsmVKSkrSqVOnFBISou7du2vYsGF69NFH1alTpzrd1+bNm/X3v/9da9euVVpamux2u3r37q1Jkybpvvvuk9XafHbGIwEIAAAAAAAAt0WLFmnKlCnKz893P5efn6/vv/9e33//vf7xj38oMTFRXbt2rbGdQ4cO6dZbb1VSUlKN5X744QeNGTNGR44cqfD86dOndfr0aW3evFmvv/663n77bU2ZMqVW9/DGG2/o//7v/+R0Ot3PFRYWas2aNVqzZo3++c9/avny5QoLC6tVe+c7EoAAAAAAAACQJG3ZskUvv/yySkpKNGHCBA0ZMkSBgYHavXu3/vnPf+rYsWPat2+fbrjhBm3btk2hoaFVtlNUVKTbb79dSUlJuvLKKzV27FiFh4fr9OnT2r17t7vczp07dcMNNygvL0+SdMkll+juu+9Wt27ddPr0aS1dulRfffWV8vPzdf/998swDN1///013sO///1vxcfHy8/PT/fff7+uueYa2Ww2bdmyRf/85z+VlZWljRs3avjw4frmm2/k4+P96THvv0OgDkocTskwPB2G1zBcLhlFxbJ4OhBvYrFIPtbS/6LhnE6psFj8JTVHcUaRjucEy+rr6Ui8S7HLKbung2gEjmKHp0PwLrx/aRyGwZhrEsMiOYMDeDlN4gr0k5wG72FMVlLiPHuhZmD58uUKCgpSYmKioqOjK1z7v//7P91888369ttv9fPPP+upp57S3Llzq2zn+PHjOn78uF5++WU99dRTVZZxuVyaOHGiO/n3wAMPaM6cORUSco888ojef/99TZ06VYZh6Le//a2GDBmiCy64oNp7+Oyzz9SuXTutXLlSvXr1cj8/ceJE/e53v9PgwYP1008/6fvvv9crr7yi//f//l8tX53zFwlAoByLS7LwM980lkKHLKfOeDoMr2Lx8ZGPy9NReA+jsFCu4yc9HYbXOOPnrzWZPT0dhtcZ1cWuMC/cnsaQRbJ44Y15ilWlH2rAXGSrzBMcKMfF4Z6Owmu4rJKNz1FMZ+GzFLeXX365UvJPklq2bKklS5aoZ8+eys3N1YIFC/TCCy+obdu2VbZz2223VZv8k6T//Oc/7uXBffr00dy5c2Wz2SqVu//++7V582bNnTtX+fn5evPNN/X666/XeA/vvfdeheRfmfDwcC1atEiXXXaZXC6X3njjDf3ud7+Tn59fje2d73jXBZTj41v5Bw0AAJ5ks3jnlEpfPz6HBgA0Lb78PiipNMk3derUaq937txZEydOlFS6zPff//53tWV/+9vf1tjXZ5995v76ySefrDL5V+b//b//J8t/P5gpX68qPXv21K233lrt9f79++vXv/61JCk9PV3ffPNNje15AxKAAAAAAAAAkCRde+21CggIqLHMjTfe6P5606ZNVZax2Wy6+uqra2zn+++/d389dOjQGst27dpVPXuWrjZJSUnRsWPHahVfbcpUdw/ehAQgAAAAAAAAJEkXXnhhncqkpaVVWaZ169ZnTSSWJfFCQkLUoUOHs/bbo0ePSnXPFl9tylR3D96EtReNaOXKlUpPT1fv3r3Vu3fvKsvk5uYqISFBkjRy5EgFBwefyxAbjWEYWrt2rVavXq2DBw8qNzdXfn5+at++vfr376+RI0eqdevWng4TAAAAAACUY7ef/fix8mVycnKqLBMYGHjWdsrq1qZPSRVyJtX1W9v2anMP3oQEYCNauXKlezPL6hKAeXl5iouLkyQNGTLEKxKAxcXFmjVrlrZu3ep+LigoSIWFhTp06JAOHTqkxMREPfPMM+rTp48HIwUAAAAAAOWVnchb2zIhISH17iskJERnzpypVZ9S6SSq2vR7Lu/hfEECEKZbvHixO/l311136ZZbblFISIicTqd27typuXPn6tixY/rb3/6m9957T/7+/h6OGAAAAAAASNKBAwfqVKZTp0717qtjx446c+aMcnJylJ6ervbt29dYfv/+/bXq91zew/mCPQBhujVr1kiSBg8erLvuusudSbfZbOrfv79+//vfS5KysrK0e/duT4UJAAAAAAB+Yf369SoqKqqxzNdff+3++oorrqh3X+XrfvXVVzWWTUlJ0b59+yRJERERNe4ZuGLFirP2bdY9nC+YAVgLubm52rBhg7Zu3arU1FSdOnVKDodDrVu3Vt++fTVq1KgK2eKVK1fqzTffdH8fFxfnXuZbJiEhQTExMe4lwpIqHbM9ePBgPf7445KkhQsXKi4uTr169dKsWbO0ZcsWLV26VMnJySouLlZ4eLiGDRum4cOHm3rvmzdvVmJiovbv36/c3FwFBwerR48eGj58uAYMGFBlnczMTElSVFRUlde7desmm80mp9OpwsJCU+MFAAAAAAD1d+bMGb333nv6zW9+U+X1Y8eO6aOPPpIk+fv765Zbbql3X2PGjNGCBQskSa+++qomTJggm81WZdm//OUvMgzDXa8m+/bt03/+8x+NGDGiyus7duxwJwk7dOiga6+9tp53cP4gAVgLCQkJ7gSezWZTUFCQioqKdOzYMR07dkxr1qxRTEyM+vXrJ0ny8/NTy5YtlZubK4fDoYCAgCpPvgkODlaLFi2UnZ0tSWrRooWs1v9Nyqxu08olS5boww8/lNVqVWBgoIqLi3Xw4EHNmTNHx44d05QpUxp8z4ZhaM6cOUpMTJQkd1/Z2dnatGmTNm3apJtvvlkPPfSQLBZLhbrt27dXampqtVNuf/75ZzmdTlmtVnXr1q3BsQIAAAAAAPM89dRT6t27t6677roKz2dnZ+vOO+90H5px3333qW3btvXu5+abb1bv3r21a9cu7dixQ4888oj+/ve/y8enYrpqwYIFmjt3rqTSMwYee+yxs7Z9//33a9WqVbrkkksqPJ+WlqZx48bJ6XRKkh5//HH5+vrW+x7OFyQAa6FVq1aaOHGiLr/8ckVERLhnrx06dEixsbHasmWLXn31Vc2bN08BAQEaNGiQBg0a5J7hN2rUKE2YMKFSuzExMUpPT3fP/Hv11VfPut79559/1p49ezRx4kSNGDFCwcHByszM1LvvvquNGzdq2bJluvHGGxUREdGge162bJk7+TdmzBiNGTNGwcHBysnJ0ZIlS7R06VJ9/vnn6ty5s2699dYKdYcNG6b3339fq1atUocOHTRixAj3HoC7du3SnDlzJJX+Q+/YsWOD4gQAAAAAAOa55ZZbtGLFCg0ePFjjx4/XkCFDFBgYqD179uj9999XWlqapNLVfX/5y18a1JfValVsbKyuvvpq5eXlad68efr22291991364ILLtDp06cr5Cck6a233lLXrl1rbPf2229XfHy8BgwYoHvvvVdXX321bDabtm7dqvfff19nzpyRVLr098knn2zQPZwvSADWwk033VTpOZvNpsjISMXExOjxxx/XkSNHtGHDBg0ZMqRRY8nLy9OkSZN05513up8LCwvTE088od27dysrK0sbN25sUAKwqKhIixYtklT6D3/y5MnuayEhIZoyZYoKCgr05ZdfKi4uTkOHDq1wkMctt9yikydP6t///rcWLlyohQsXuk8Bdrlc6ty5sx566KFqp+ICAAAAAADPGDBggO6++27dd999+uijj9zLfcu76KKLlJiYqBYtWjS4vz59+mj16tW6/fbblZqaqqSkJD311FOVygUFBemtt97S/ffff9Y2b731Vl133XV68sknNXfuXPfswfKuuuoqLV++vNJsQ2/FISAN5Ovr6176u3fv3kbvz8/PTyNHjqz0vL+/v/r37y9JOnz4cIP62LZtm/Ly8mS1WnXHHXdUWWb8+PGyWq3KycnR9u3bK1yz2Wy677779NBDD7mn0ebn58vlckkqTTCWJQMBAAAAAEDTcuedd2rr1q36zW9+owsvvFBBQUEKDQ3V5ZdfrldffVU7duzQBRdcYFp/AwcO1P79+/XWW29pyJAhat++vXx9fRUWFqYBAwYoJiZGP/30U62Sf2Uee+wxfffdd7r33nvVrVs3BQQEqFWrVrr++uv13nvv6ZtvvlGrVq1Mu4emrnmkOU2Qmpqq5cuXa/fu3Tpx4oQKCwvdm0+WOX36dKPH0aVLlyr3E5Sk1q1bSyo9tKQhyvbu69Kli8LCwqrtKzw8XCkpKUpOTq5wYs6ZM2c0a9Ys7du3T9HR0e5DUs6cOaMtW7YoNjZWH3zwgQ4ePKgZM2Y0KFYAAAAAAGC+iy66SO+8806d6x06dKhe/QUGBmr69OmaPn16verfe++9uvfeeys8d9lll2n+/Pn1as/bkACshXXr1umNN96Qw+GQJFksFgUFBblntxUWFqqwsPCsx2SbITAwsNprZfGUbWRZX2WHkpQlFKvTunVrpaSkuNfOl3n99de1b98+DRkypMLGnGX7AXbp0kUzZ87U+vXrNXjw4GpPEwYAAAAAAEDDkQA8i6ysLM2ePVsOh0OXXnqp7rnn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YwBooYSEBGRnZ2POnDl46KGHsHPnTuzfvx/Xrl2DSqVCREQE5s2bh86dOwNoHAq7Y8cOnDx5EhUVFejevTuio6PxwAMPQCYzL20vKirCwoULAQCbN2+GVqvF9u3bcfr0aajVanTr1g0TJkxAXFycpENqr1y5gtTUVJw+fRrl5eXw8fFBaGgoIiMjER0dDblc3uqcy5cv47vvvgMALFmypEX4R0RERERERETOV1GvtsMcgK7HncJMWzEAtFJDQwNeeuklnD592jCUtaysDHv37kVOTg5effVVFBQU4OWXX4ZGo4FSqYROp0N+fj62bt2KkpISQ6hniXPnziExMRG1tbVQKBQQRREFBQVISUnB0aNHsWbNGqhUKpvvb9++fXj77bfR0NAAAFAqldBqtTh79izOnj2LrKwsvPjii62utX//fgBA//79ERoaanMdRERERERERCStKl0tGvRGAkD3zwQNqaAoelY8yADQSl999RV8fHywcuVKREREQBRFHDt2DOvXr0dBQQGSk5Nx7NgxDB06FAsXLkTPnj1RXV2NDz74ABkZGdi1axemTJmCvn37WnTdd955B3379sXTTz+N/v37Q6fT4eDBg9i0aRMuXbqETZs2YcWKFTbd24ULFwzhX0REBBYtWoRevXqhvr4eBw4cwLvvvotz587hrbfeQkJCQotzz549CwAYMGAANBoNtm/fjm+//RYlJSVQKpUYOHAgpk6div/3//6fTTUSERERERERkXW6+3VHsba89Y6bMjF3yQONRX2C4C53Zx7zxqBSKxqNBitWrMCYMWMgk8kgl8tx5513YubMmQB+DwgTEhLQs2dPAIBCocDixYvRq1cviKKIw4cPW3xdLy8vrFq1Cv379zd8HhUVhSVLlgAADh06hCtXrth0b0lJSWhoaEBYWBief/559OrVCwDg7e2NyZMn4+mnnwYAfPfddzh//nyLcwsLCw0fL1++HKmpqbh+/Tr8/PxQWVmJ48eP4x//+Af+/e9/21QjEREREREREVlJFCCasendYdMbvzdPwwDQSkOGDMHw4cNbvT5q1CjDxzNmzGg1T55MJsOIESMANM6XZ6mYmBgEBAS0ej0yMhLdu3cHAKuCxSZqtRonT54EAMyaNQteXq07iU6cOBF9+vQBAHzzzTetzgeArKwsXL9+HU888QRSUlKQnJyMrVu34t57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hkmTJtlUJxERERERERFZQRTdfGtavaSNYzwMewB2MIsXL0ZiYiKWLl0KpVKJuro61NfXAwAGDBiAp556yuZrDBo0CEuXLsXbb7+N48eP4/jx41AqldBqtdDpdACAIUOGYOnSpa3OLS8vR1JSEpKSkiCXy6FQKKDT6VBTU2M4pk+fPnj++efh7+9vc61EREREREREZCHJQzBnDadt7x48L+gzhQFgBzNkyBC8/vrr2LZtG7Kzs6HVatG7d29MmDABcXFx8PX1leQ6UVFRCA8PR2pqKk6dOoXy8nL4+voiPDwckZGRiI6ObjU0GACWLVuGEydO4MyZM7h+/ToqKysBNHZ7HjBgAO68805MnDgR3t7ektRJRERERERERFaQNABsasveQaDY8kPPmsbPJgwALbR27do29/fo0QPp6eltHjN37lzMnTu31etbtmwxq4bQ0FCsWLHCrGNtERoaimeeecaic4YPH47hw4fbqSIiIiIiIiIispkIO3WOM9KoLSGdPTv4eVjnQAaARERERERERESexJHz4N18mfZW3/XA+fkcgQEgEREREREREZEnceZCGE3XbQoCnRb4eVbQyACQiIiIiIiIiMijuMBKuM6+vodhAOimrl+/jmeffdaic2bOnImZM2faqSIiIiIiIiIicgkiGMB5GAaAHYA5C4vcTK/X48aNGxadU1NTY9HxRERERERERNQBOXMIMDkFA0A3ZU1oSEREREREREQegvmfR2EASERERERERETkSdgD0OMwACQiIiIiIiIi8iQMAD0OA0CiZup1DfwlKCW9CNTUQXB2He5EFAEfL0DgV1USej1EbR2/nhIR9AK8K7whyvn1lFJ9fYOzS7ALXZ3O2SUQkUMJ0Cv9IfCZKw1RBLT1EPjfLpKq96RnExcB8TgMAImaEUQRAn8HSkaorYd3QZmzy3AropccCFI5uwy3IVbXAvlFzi7DfXRRIqhPMDihjLS8a9zz6ykKgCBjECAVURT5rx65NpUCGHwLf0ylUlUN2cWrzq7CDXnOT2hDvY4BoIdhAEjUjLeX3NklEBERteAtd89nk7cP/wwlIiLX4knPpryL1wBR70mZ5+8EeOQIIM/56SYiIiIiIiIiIvQb1As3iiqcXYZz6D0x9WQASERERERERETkYcTG6SMs0dF6zXGIcwsMAO0oMzMTRUVFGDFiBEaMGGH0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X6TkvjgEmKgZby+5s0sgIiJqwV2fTd4+fB+aiIhcC59N5M4YABIREREREREREbkxBoBERERERERERERujP1b7SgzMxNFRUUYMWIERowYYfQYtVqN9PR0AEBsbCxUKpUjS7SL69ev49tvv8WpU6fw66+/oqysDF5eXujWrRtGjRqF+++/Hz179nR2mUREREREREREHoEBoB1lZmYiOzsbAEwGgBqNBikpKQCASZMmdfgA8Pr163jiiScaJ6L+jUKhQF1dHa5evYqrV69iz549WLZsGe655x4nVkpERERERERE5BkYAJKk9Ho9AOD2229HVFQURo0ahcDAQDQ0NODs2bN477338Ouvv+KNN95ASEgIbrnlFucWTERERERERETk5jgHIElKpVJh/fr1WLVqFSZMmIDAwEAAgFwux/Dhw/Hyyy8jKCgIOp0OaWlpTq6WiIiIiIiIiMj9sQegGdRqNQ4fPowffvgBeXl5KC0thU6nQ5cuXTBy5EjMmDEDvXv3NhyfmZmJN9980/B5SkqKYZhvk/T0dCQkJBiGCAPAwoULWxwTFRWFZcuWAQCSk5ORkpKC4cOHY+3atThx4gR27tyJ3Nxc1NXVISQkBPfddx9iYmIkvffjx48jIyMDFy5cgFqthkqlwqBBgxATE4OIiIhWxyuVSgwYMMBke506dUJERAT27duH3NxcSWslIiIiIiIiIqLWGACaIT093RDgyf9/e3ceHlV99///dSb7zIRAWBQJiSERqQpIKe7YCBRkrRYUClTuomhLpZuX17dGUATltr21LjRFb2y1d5EiaIEUJdayF6usIqFAICoBEpaQEJLJOpnz+4NfpsEkZDvDJIfn47q8rmHO+XzO+xwD78l7PktIiJxOpyoqKpSXl6e8vDxt3LhRqampuvHGGyVJ4eHh6tixo0pKSuT1ehUZGanIyMg6/brdbnXo0EHnzp2TJHXo0EEOx38GZbpcrnrjWbFihf785z/L4XAoKipKlZWV+uKLL7Ro0SLl5eVp+vTprb5n0zS1aNEiZWRkSJL/WufOndO2bdu0bds2jRo1So888ogMw2hW3zWjAqurq1sdJwAAAAAAAC6OAmATxMbGasqUKbrpppsUHx+vkJAQVVdX66uvvtKSJUu0c+dOvfjii1q8eLEiIyM1ePBgDR482D/C75577tHkyZPr9JuamqqTJ0/6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1qxZI9M0ZRiG4uLilJCQoNjYWP+HjoqKChUUFCgnJ0dHjx71nztmzBg99NBDQb4D+zh37px+8IMf8G3l1/zzn//USy+9pOrqav8vyoZhSJJuvvlmzZo1S263u962/DJyIdM0NXv2bO3bt++CooNhGBo3bpzuvfdezZo1S8XFxQoLC1N0dLSKiopUXV0twzA0aNAgPfnkk0G8g7bllVdeafK5Pp9PGzdulGEYuuuuu/zvG4ahn/70p4EID20QObftIOfWj5xrHXKutci5QPvCCECgjfnkk0/0t7/9TYZhaNSoUfre976nrl27XrTNmTNn9N577+mDDz7QmjVr1K9fP910002XKGJcbk6cOKFXXnlFXq9XHTp00Le+9S116NBBmZmZOnz4sD799FMdOXJE8+bNU7du3YIdbpu3adMmZWZmKiQkRN/73vfUu3dv7d+/XytXrtT7778vwzBUWlqqGTNmaMSIEQoLC1N5eblWrVqlZcuWafv27dq9e3ejo0AuF+vXr/f/YtxUpmlqw4YN/tf8MnL5IOeirSPnWoucay1yLtC+UAAE2pi1a9fKMAxNmTJF9913X5PadO7cWQ8//LBiY2P15z//We+//z6/jCBg/va3v6myslJXX321nnnmGXXs2NF/7JNPPlFaWpry8vL0q1/9SvPnz1ePHj2CF2w7sHnzZv/f+fHjx0uSbrrpJjkcDr377rtavXq1xo4dqzFjxvjbREZGatKkSTp79qzWrl2rTZs28cvI1/To0eOCn8361Ew3NAxD119//aUJDG0KORdtHTnXWuTcwCDnAu0DBUCgjcnOzpbD4dB3v/vdZrcdN26c3n77bWVnZwcgsvYrMzOzxW1LS0stjMQe9uzZI8Mw9Mgjj9T5sHfLLbcoKSlJ8+fP15EjR5Samqp58+YpISEhOMG2A1988YUk6Tvf+c4F799111169913JZ3/u12fMWPGaO3atTp06FBgg2xHBg0apO3bt6uwsFCjR4/WqFGjGjy3rKxMkyZNkiQ999xzlypEtCHkXOuRc61FzrUWOdda5FygfaEACLQx5eXlioiIUHh4eLPbhoeHKzIyUuXl5QGIrP168sknmz09AQ07ffq0QkJC1KdPn3qPd+3aVf/93/+tuXPnKisrS08++aTmzp2r5OTkSxxp+3Du3DlFRESoQ4cOF7xfMw0xLCyswSmJcXFxCgsLU35+fsDjbC9mz56trVu3avHixfrf//1fbdiwQTNnzlRiYmKdc/l3AeRc65FzrUXOtRY511rkXKB9cQQ7AAAX6tKli8rKynTkyJFmt/3qq69UWlra6PpFlyvTNFv0Hy7k9XoVHh4uh6PhFOJyuTR//nxdd911Ki4u1pw5c3TgwIFLGGX70dBugjXvu1yui7aPiopSVVWV5XG1Z7fffrt+//vf6zvf+Y4OHTqkxx57TH/4wx8o1KAOcm7gkHOtQc61FjnXeuRcoP1gBCDQxgwaNEjp6en67W9/q6eeekqdO3duUrszZ87opZde8u9Qhv+IiYnRuXPn9Mtf/lLf+ta3mtW2uLhYjzzySIAia586deqk/Px8FRcXKzo6usHzIiMjNXfuXM2fP1979+7V3LlzNXv27EsYafsQExOjEydOqLy8XJGRkc1uX1ZWVmckAySn06mf/OQnuuuuu/S73/1O6enp2rp1qx566CHddtttwQ4PbQQ513rkXGuRc61Fzg0Mci7QPlAABNqY++67Txs3btSRI0c0c+ZM3XnnnRowYIASEhIUGxvr/4ayoqJCBQUFysnJ0a5du7R582aVl5erY8eOmjBhQpDvom1JTk7Wrl27lJub2+g3u19XXV0doKjar8TEROXn52vPnj264447LnpuRESEnnrqKT333HP67LPPNG/ePPl8vksUaftw1VVX6cSJEzp+/LiSkpIuOLZ06dKLTpk5ffq0qqqqFBsbG+gw263rrrtOr776qpYvX6733ntPv/nNbzRw4EA98sgj/BIHcm4AkHOtRc61Fjk3sMi5QNtGARBoYzp06KDnnntOzz77rE6ePKmPPvpIH330UaPtTNPUFVdcodmzZ5NgvyYpKUk7d+5koXaL9OvXT9u2bdP69esb/WVEOr9O1uzZs/X8889rx44dklgHprbk5GTt3LlT+/btq/PLSGO/PO/evVuSdM011wQsPjsIDQ3V5MmTNXjwYKWlpWnHjh3KzMzU2LFjgx0agoycaz1yrrXIudYi5wYeORdou1gDEGiD4uPjlZaWphkzZvgXcb7YWjnXXHONZsyYobS0NMXHxwcz9Dap5gPe4cOHgxyJPdx6662SpF27dunLL79sUpuwsDClpqb62+I/br75Zo0YMUJut7vZbdeuXSvp/C+IaFzPnj31/PPP68c//rEcDod/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\n", "text/plain": [ "
" ] @@ -432,8 +380,8 @@ "df[\"token\"] = df[\"token\"].astype(\"category\")\n", "nodes = []\n", "for l in range(gpt.config.n_layer - 1, -1, -1):\n", - " nodes.append(f\"f{l}\")\n", - " nodes.append(f\"a{l}\")\n", + " nodes.append(f\"mlp_o{l}\")\n", + " nodes.append(f\"attn_o{l}\")\n", "df[\"layer\"] = pd.Categorical(df[\"layer\"], categories=nodes[::-1], ordered=True)\n", "\n", "g = (\n", diff --git a/tutorials/basic_tutorials/Add_New_Model_Type.ipynb b/tutorials/basic_tutorials/Add_New_Model_Type.ipynb deleted file mode 100644 index a1d9eab9..00000000 --- a/tutorials/basic_tutorials/Add_New_Model_Type.ipynb +++ /dev/null @@ -1,642 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "a0d447d3", - "metadata": {}, - "source": [ - "## Tutorial of using flan-t5 with this library" - ] - }, - { - "cell_type": "markdown", - "id": "200a6350", - "metadata": {}, - "source": [ - "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/frankaging/pyvene/blob/main/tutorials/basic_tutorials/Add_New_Model_Type.ipynb)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "f56a6bac", - "metadata": {}, - "outputs": [], - "source": [ - "__author__ = \"Zhengxuan Wu\"\n", - "__version__ = \"10/05/2023\"" - ] - }, - { - "cell_type": "markdown", - "id": "90f0b9de", - "metadata": {}, - "source": [ - "### Overview\n", - "\n", - "This library only supports a set of library as a priori. We allow users to add new model architectures to do intervention-based alignment training, and static path patching analyses. This tutorial shows how to deal with new model type that is not pre-defined in this library.\n", - "\n", - "**Note that this tutorial will not add this new model type to our codebase. Feel free to open a PR to do that!**" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "155db980", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[2024-01-11 00:58:38,385] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)\n" - ] - } - ], - "source": [ - "try:\n", - " # This library is our indicator that the required installs\n", - " # need to be done.\n", - " import pyvene\n", - "\n", - "except ModuleNotFoundError:\n", - " !pip install git+https://github.com/frankaging/pyvene.git" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "d7e81322", - "metadata": {}, - "outputs": [], - "source": [ - "import torch\n", - "import pandas as pd\n", - "from pyvene.models.constants import CONST_OUTPUT_HOOK\n", - "from pyvene import (\n", - " IntervenableModel,\n", - " IntervenableRepresentationConfig,\n", - " IntervenableConfig,\n", - " Intervention, VanillaIntervention\n", - ")\n", - "from pyvene.models.basic_utils import lsm, sm, top_vals, format_token\n", - "from pyvene.models.intervenable_modelcard import (\n", - " type_to_module_mapping,\n", - " type_to_dimension_mapping,\n", - ")\n", - "\n", - "%config InlineBackend.figure_formats = ['svg']\n", - "from plotnine import (\n", - " ggplot,\n", - " geom_tile,\n", - " aes,\n", - " facet_wrap,\n", - " theme,\n", - " element_text,\n", - " geom_bar,\n", - " geom_hline,\n", - " scale_y_log10,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "5c736302", - "metadata": {}, - "source": [ - "### Try on new model type Flan_t5" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "3d1e2fcb", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "You are using the default legacy behaviour of the . This is expected, and simply means that the `legacy` (previous) behavior will be used so nothing changes for you. If you want to use the new behaviour, set `legacy=False`. This should only be set if you understand what it means, and thouroughly read the reason why this was added as explained in https://github.com/huggingface/transformers/pull/24565\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "loaded model\n" - ] - } - ], - "source": [ - "def create_flan_t5(\n", - " name=\"google/flan-t5-small\", cache_dir=None\n", - "):\n", - " \"\"\"Creates a t5 model, config, and tokenizer from the given name and revision\"\"\"\n", - " from transformers import T5ForConditionalGeneration, T5Tokenizer, T5Config\n", - "\n", - " config = T5Config.from_pretrained(name)\n", - " tokenizer = T5Tokenizer.from_pretrained(name)\n", - " t5 = T5ForConditionalGeneration.from_pretrained(\n", - " name, config=config, cache_dir=cache_dir\n", - " )\n", - " print(\"loaded model\")\n", - " return config, tokenizer, t5\n", - "\n", - "\n", - "def embed_to_distrib_t5(embed, log=False, logits=False):\n", - " \"\"\"Convert an embedding to a distribution over the vocabulary\"\"\"\n", - " with torch.inference_mode():\n", - " vocab = embed\n", - " if logits:\n", - " return vocab\n", - " return lsm(vocab) if log else sm(vocab)\n", - "\n", - "\n", - "config, tokenizer, t5 = create_flan_t5()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "ec445ae7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The capital of Spain is\n", - "Madrid 0.08071776479482651\n", - " 0.05465298891067505\n", - "the 0.05142271891236305\n", - "Spain 0.044039856642484665\n", - "El 0.03095950372517109\n", - "Valencia 0.026710543781518936\n", - "capital 0.026438357308506966\n", - "La 0.020008759573101997\n", - "The 0.013906280510127544\n", - "Central 0.013829439878463745\n", - "\n", - "The capital of Italy is\n", - " 0.08179678022861481\n", - "the 0.08141565322875977\n", - "Italy 0.05989212542772293\n", - "its 0.039061129093170166\n", - "Milan 0.035837408155202866\n", - "Geno 0.030690433457493782\n", - "Rome 0.030660534277558327\n", - "capital 0.025854801759123802\n", - "Italian 0.023508301004767418\n", - "The 0.020907413214445114\n" - ] - } - ], - "source": [ - "base = \"The capital of Spain is\"\n", - "source = \"The capital of Italy is\"\n", - "inputs = [tokenizer(base, return_tensors=\"pt\"), tokenizer(source, return_tensors=\"pt\")]\n", - "decoder_input_ids = tokenizer(\"\", return_tensors=\"pt\").input_ids\n", - "print(base)\n", - "res = t5(**inputs[0], decoder_input_ids=decoder_input_ids)\n", - "distrib = embed_to_distrib_t5(res.logits, logits=False)\n", - "top_vals(tokenizer, distrib[0][-1], n=10)\n", - "print()\n", - "print(source)\n", - "res = t5(**inputs[1], decoder_input_ids=decoder_input_ids)\n", - "distrib = embed_to_distrib_t5(res.logits, logits=False)\n", - "top_vals(tokenizer, distrib[0][-1], n=10)" - ] - }, - { - "cell_type": "markdown", - "id": "d22b3d2f", - "metadata": {}, - "source": [ - "### To add t5, you only need the following block" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "a78e62cc", - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"Only define for the block output here for simplicity\"\"\"\n", - "type_to_module_mapping[type(t5)] = {\n", - " \"mlp_output\": (\"encoder.block[%s].layer[1]\", CONST_OUTPUT_HOOK),\n", - " \"attention_input\": (\"encoder.block[%s].layer[0]\", CONST_OUTPUT_HOOK),\n", - "}\n", - "type_to_dimension_mapping[type(t5)] = {\n", - " \"mlp_output\": (\"d_model\",),\n", - " \"attention_input\": (\"d_model\",),\n", - " # the following fields are necessary for the module to run!\n", - " \"block_output\": (\"d_model\",),\n", - " \"head_attention_value_output\": (\"d_model/num_heads\",),\n", - "}" - ] - }, - { - "cell_type": "markdown", - "id": "a9f80b73", - "metadata": {}, - "source": [ - "### Path patching with t5" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "933c187c", - "metadata": {}, - "outputs": [], - "source": [ - "def simple_position_config(model_type, intervention_type, layer):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " layer, # layer\n", - " intervention_type, # intervention type\n", - " \"pos\", # intervention unit\n", - " 1, # max number of unit\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=VanillaIntervention,\n", - " )\n", - " return intervenable_config\n", - "\n", - "\n", - "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", - "sources = [tokenizer(\"The capital of Italy is\", return_tensors=\"pt\")]\n", - "base[\"decoder_input_ids\"] = decoder_input_ids\n", - "sources[0][\"decoder_input_ids\"] = decoder_input_ids" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "3da33b7e", - "metadata": {}, - "outputs": [], - "source": [ - "# should finish within 1 min with a standard 12G GPU\n", - "tokens = tokenizer.encode(\"Madrid Rome\")[:2]\n", - "\n", - "data = []\n", - "for layer_i in range(t5.config.num_layers):\n", - " intervenable_config = simple_position_config(type(t5), \"mlp_output\", layer_i)\n", - " intervenable = IntervenableModel(intervenable_config, t5)\n", - " for pos_i in range(len(base.input_ids[0])):\n", - " _, counterfactual_outputs = intervenable(\n", - " base, sources, {\"sources->base\": ([[[pos_i]]], [[[pos_i]]])}\n", - " )\n", - " distrib = embed_to_distrib_t5(counterfactual_outputs.logits, logits=False)\n", - " for token in tokens:\n", - " data.append(\n", - " {\n", - " \"token\": format_token(tokenizer, token),\n", - " \"prob\": float(distrib[0][-1][token]),\n", - " \"layer\": f\"f{layer_i}\",\n", - " \"pos\": pos_i,\n", - " \"type\": \"mlp_output\",\n", - " }\n", - " )\n", - "\n", - " intervenable_config = simple_position_config(type(t5), \"attention_input\", layer_i)\n", - " intervenable = IntervenableModel(intervenable_config, t5)\n", - " for pos_i in range(len(base.input_ids[0])):\n", - " _, counterfactual_outputs = intervenable(\n", - " base, sources, {\"sources->base\": ([[[pos_i]]], [[[pos_i]]])}\n", - " )\n", - " distrib = embed_to_distrib_t5(counterfactual_outputs.logits, logits=False)\n", - " for token in tokens:\n", - " data.append(\n", - " {\n", - " \"token\": format_token(tokenizer, token),\n", - " \"prob\": float(distrib[0][-1][token]),\n", - " \"layer\": f\"a{layer_i}\",\n", - " \"pos\": pos_i,\n", - " \"type\": \"attention_input\",\n", - " }\n", - " )\n", - "df = pd.DataFrame(data)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "d5734c19", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAB7CAAAewgFu0HU+AAC9QklEQVR4nOzdeXxU1f3/8fedSUIyYSCBiIrsiyiooCgqbmyKVeQLglIBRcVd69pWf6j92mqr1qpoRamggoYIaEEBvyIURBEVLS7sokX2JYSwTJLJNvf+/sBMCclkZsJsufN6Ph63Tebee+7njkkOeeecewzLsiwBAAAAAAAAsCVHvAsAAAAAAAAAED0EgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2RgAIAAAAAAAA2BgBIAAAAAAAAGBjBIAAAAAAAACAjREAAgAAAAAAADZGAAgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2RgAIAAAAAAAA2BgBIAAAAAAAAGBjBIAAAAAAAACAjREAAgAAAAAAADZGAAgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2RgAIAAAAAAAA2BgBIAAAAAAAAGBjBIAAAAAAAACAjREAAgAAAAAAADZGAAgAAAAAAADYGAEgAAAAAAAAYGMp8S4Ah2zYsCHeJQAAgCOceOKJYR1Pfw4AQOIJtz8H7IgRgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2RgAIAAAAAAAA2BgBIAAAAAAAAGBjBIAAEGW//vWv1bdvX82fP7/ebfTt21d9+/bVd999F/a58+fPV9++ffXrX/+63tcHAAAAADRcKfEuAADC9dRTT+mjjz6SJBmGoby8PB133HEBj8/Pz9c111wj0zQlSQMHDtRDDz0Uk1oBAED9HN7fHy49PV3NmjXTySefrEGDBqlHjx6xLw4AgAaGEYAAGjTLsmr95eBwH330kT/8a6hat26t1q1bq1GjRvEuBQCAmEpJSVF2drZ/q6io0I4dO7Ro0SLdd999evXVV+NdIgAACY8RgAAarGOPPVa7d+/WggULdN1118kwjFqPqwoIq45viN588814lwAAQFx069ZN48eP93/u8/n0008/6eWXX9bKlSv19ttvq0ePHurVq1f8igQAIMExAhBAg9WpUye1b99eO3bs0KpVq2o9ZtWqVdq+fbs6dOigTp06xbhCAAAQaU6nU126dNETTzyhpk2bSlLQ2QAAACQ7RgACaNAGDhyoiRMn6qOPPtJpp51WY3/VLwQDBw7UypUra23D4/Hok08+0VdffaUtW7aooKBAlZWVysnJ0RlnnKERI0bohBNOCFiDZVmaO3euPvjgA23ZskVpaWnq1KmTRowYUedohF27dumaa66RJL399tsqKytTXl6evv32WxUWFuqcc87RE088IenQIiCS9Pzzz9f6rKPt27dr6tSpWrFihTwej4455hidf/75uvbaawNeHwCAhsztduukk07S8uXLtWnTphr7LcvSv/71L3300Uf68ccf5fV61bRpU5166qkaPny4unbtWmu7v/71r7V79249+OCDuuiii5Sbm6tPPvlEe/bsUXZ2ti688EJdd911aty4sSRpw4YNysvL06pVq+TxeNS6dWtdddVVuvTSS+usf8WKFZo7d67WrFmjAwcOKD09XR06dNDAgQN1ySWXyOl0HvV7BABAFQJAAA3agAED9Oqrr+qTTz7Rb37zG6Wnp/v3lZWVacmSJXI4HBowYEDAAPCf//ynpk6dKunQqILMzEyVlpZq+/bt2r59uxYuXKgnnnhCPXv2rHGuz+fT448/rk8++USS5HA4lJKSom+//Vbffvut7rrrrpDuY+XKlXr++edVWloql8sV1j/6V61apQcffFBer1eSlJGRoYKCAs2cOVOff/65rrjiipDbAgCgITryWb/l5eX64x//qM8//1zSof7Z5XKpoKBAH3/8sZYsWaKbb77Z/4e42hQVFen222/X5s2blZ6eLtM0tXv3br3zzjtas2aNxo8fr+XLl+tPf/qTKisr5XK5VFFRoY0bN+rpp59WUVGRhg8fXqNdn8+n559/Xh988IH/tczMTBUVFen777/X999/r8WLF+vPf/6z0tLSIvQOAQCSHQEggAatefPmOuuss7R8+XItXbpUF198sX/f0qVLVVxcrLPPPlvNmjWrs40bb7xR5557rtq3by+n0ymfz6eNGzfqtdde0/Lly/XEE08oLy9PGRkZ1c6dMWOGPvnkExmGoTFjxmj48OHKzMzU3r179fLLL+uVV15RSkrwH7Xjx49Xly5ddM8996h9+/ayLEs7duwIel5RUZEee+wxeb1etWvXTr/73e/UtWtX+Xw+ffHFF3rmmWd4fiAAwJYOHjyodevWSZJatmxZbd/EiRP1+eefy+l06pZbbtEVV1zh/wPZq6++qoULF+rVV19VmzZtdN5559Xa/tSpU5Wdna0XX3xRp556qioqKrRgwQI9//zzWrt2raZMmaL3339fAwYM0E033aRmzZpp//79+tvf/qZly5Zp8uTJuuSSS9SkSZNq7U6ePFkffPCBjj32WI0dO1bnnXeeXC6XSktL9fnnn2vChAn697//rVdeeUX33HNPdN48AEDS4RmAABq8Sy65RJK0YMGCaq8fPv23LldccYWuvfZaderUyT/yzul0qnPnznr88cfVtm1b7d+/3z/Kr0ppaany8vIkSVdffbXGjBmjzMxMSYdCxYcfflinnnqqSktLg95Ddna2nn76abVv316SZBhGndOOq8yePVuFhYXKzMzUM88845/O5HQ6df755+uPf/yjiouLg7YDAEBD4fP59MMPP+jRRx/VwYMHJf333wKSlJ+fr/fff1+SdMstt+jqq6/2/wEvJydH/+///T+dddZZkqRJkyYFvI7X69WTTz6pU089VZKUmpqqyy+/3H+tvLw8nXjiifr973/v/0NjVlaWHn74YblcLpWVlenLL7+s1ub27ds1c+ZMud1uPffcc7r44ovlcrkkSenp6erXr5/+9Kc/yTAMzZs3T4WFhUf9fgEAIBEAArCB888/X40bN9Y333yjPXv2SJL27Nmjb775Rm63O+Bf9kORmpqqM888U5K0evXqavv+/e9/q7i4WE6nU7/+9a9rnOtwODRq1KiQrjNkyBA1atQo7PqqQsmBAwcqJyenxv4ePXr4f3EBAKAhWrNmja688kr/NnDgQN12223+R3tcccUVuvDCC/3Hf/rppzJNU263W0OHDq3RnmEYuv766yVJmzdv1n/+859ar3vRRRfV+se4wx8JMnLkyBr7MzIy/H+Q27hxY7V9H330kUzT1AUXXFBj1GKV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AAD783g8UelLw+3PATtijmgdLMuqc//XX3+ttWvXSpJ69eoVi5IAAAAAAIANLVmyxL+C7mOPPSbp0KCj3/zmN+rSpYsyMzOVnZ2tc845R88//7zKysoCttWuXTsZhqF27dpJksrKyjRhwgT16dNHxx9/vJxOp3/f4bxer1566SVdfPHFOv7445WWlqbmzZvrrLPO0iOPPKIdO3aEfV///ve/deONN6pjx47KyMhQTk6O+vbtq9dee42ZizHECMA6vPrqqzIMQ71791bnzp3VqFEjSYf+uv+vf/1LM2bMkCS1adNG/fv3j2epAAAAAADARmbMmKEbb7xRJSUl/tdKSkq0fPlyLV++XK+++qrmz5+vtm3b1tnOpk2bdMUVV2j16tV1Hvf1119r2LBh2rp1a7XXCwsLVVhYqH//+996/vnn9fe//1033nhjSPcwfvx4/fa3v602tbu0tFRLlizRkiVL9Prrr2vevHks/hIDBIB18Hq9Wrx4sebNmyfDMORyuSQdWtCjSocOHfTwww8rNTU1XmUCAAAAAAAbWbFihZ566ilVVFRo5MiR6t+/vzIyMrRmzRq9/vrr2rlzp9avX6++ffvq22+/VdOmTWttp6ysTFdeeaVWr16tc845R8OHD1erVq1UWFioNWvW+I9buXKl+vbt6887unbtqmuvvVbt27dXYWGh3nvvPS1YsEAlJSUaO3asLMvS2LFj67yHuXPnavbs2UpLS9PYsWN13nnnyel0asWKFXr99dd14MABff755/rVr36lzz77TCkpRFTRxLtbh0svvVRNmzbVDz/8oPz8fHk8HpmmqWbNmqljx44677zzdOGFF/JFCgAAAAAAImbevHlyuVyaP3+++vTpU23fb3/7W1122WX64osv9PPPP+vBBx/UxIkTa21n165d2rVrl5566ik9+OCDtR5jmqZGjRrlD/9uuukmvfLKK9Wyjttvv12vvfaabr75ZlmWpbvvvlv9+/evdRpxlVmzZqlFixZatGiRTjnlFP/ro0aN0v33369+/frpxx9/1PLly/W3v/1NDz30UIjvDuoj6ZOr/v37B5y+e9JJJ+mkk06KcUUAAAAAACDZPfXUUzXCP0nKysrSO++8o5NOOklFRUWaMmWKHn/8cR1zzDG1tvM///M/AcM/Sfrggw/804NPO+00TZw4sdaVk8eOHat///vfmjhxokpKSvTCCy/o+eefr/MeJk+eXC38q9KqVSvNmDFDZ555pkzT1Pjx43X//fcrLS2tzvZQfywCAgAAAAAAkECysrJ08803B9x/wgknaNSoUZIOTfOdO3duwGPvvvvuOq81a9Ys/8cPPPBAreFflYceekiGYdQ4rzYnnXSSrrjiioD7Tz/9dF188cWSpN27d+uzzz6rsz0cHQJAAAAAAACABHL++ecrPT29zmMGDBjg//irr76q9Rin06nevXvX2c7y5cv9H19yySV1Htu2bVv/TMktW7Zo586dIdUXyjGB7gGRQQAIAAAAAACQQDp37hzWMTt27Kj1mObNmwcNEqtCPLfbreOOOy7odU888cQa5warL5RjAt0DIoMAEAAAAAAAIIFkZmaGdYzH46n1mIyMjKDtVJ0byjUlqXHjxkGvG2p7odwDIoMAEAAAAAAAIIFUrcgb6jFut7ve16o6N5RrSlJRUVFI143lPSA4AkAAAAAAAIAE8tNPP4V1TMuWLet9reOPP17SoRF4u3fvDnr8hg0bQrpuLO8BwREAAgAAAAAAJJClS5eqrKyszmP+9a9/+T8+++yz632tw89dsGBBncdu2bJF69evlyS1adOmzmcGLly4MOi1I3UPCI4AEAAAAAAAIIHs379fkydPDrh/586dmjZtmiSpUaNGGjRoUL2vNWzYMP/Hzz77rHw+X8Bjn376aVmWVeO82qxfv14ffPBBwP3ff/+9PyQ87rjjdP7554dTNsJEAAgAAAAAAJBgHnzwQX366ac1Xj948KCuvvpq/6IZN9xwg4455ph6X+eyyy7TqaeeKulQKHf77bersrKyxnFTpkzRxIkTJUkul0v33HNP0LbHjh2rtWvX1nh9x44dGjFihD9svPfee5Wamlrve0BwKfEuAAAAAAAAAP81aNAgLVy4UP369dOvf/1r9e/fXxkZGVq7dq1ee+017dixQ5LUvn17Pf3000d1LYfDodzcXPXu3VvFxcWaNGmSvvjiC1177bVq166dCgsL9f7772v+/Pn+c1588UW1bdu2znavvPJKzZ49Wz179tT111+v3r17y+l06ptvvtFrr72m/fv3Szo09feBBx44qntAcASAAAAAAAAACaRnz5669tprdcMNN2jatGn+6b6H69Kli+bPn68mTZoc9fVOO+00ffzxx7ryyiu1bds2rV69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8/59Grb943iXETHDvg7/Xr6//q6QjmvcuLF69eql5cuXa/78+Ro2bFiNY7Zt26a1a9dKkvr37x9yDf369dPXX3+tjz76KOAxCxYsCLvdKsuXL5d0aARf8+bNY3rtw0VtFWDLstSlSxc9//zz2r59uyZPnlyv8E+STj31VL3xxht6/fXXI1zlIV6vV2+88YZuvfVWDRs2TIMHD9bgwYOjci0AAAAAAIBmjTIkU8m9hTFwcNSoUZKkt99+W1u3bq2x/69//assy1LLli3Vt2/fkNsdOXKkDMPQjz/+qNmzZ9fYP2vWLP34448yDMNfQ5WqgW+BbNmyRRMmTJAkXX755f7n/0Xi2uGKygjA4cOH6/bbbw/rDa9Ly5YtNWbMmIi0VZunnnpK3377rSQpPT1dmZmZkqSKigotWrRIP/74ozZu3Kh9+/bp4MGDSk1NVYsWLdS9e3cNGjRIxx13XNRqAwAAAAAA9pOVliEjQH5U4+WGvOLuETdjBPg4mFtuuUXjx4/Xxo0bNWjQIL311ls67bTT5PV69cILL+ill16SJD3xxBNKTU2tdm67du20efNmjRkzRlOmTKm277TTTtM111yjvLw8jR07Vg6Hwz8obM6cObrpppskSddee626detW7dzc3Fy99957uvbaa3X++ecrJydHklRUVKS5c+fq97//vQoLC9W4cWM99thjNe7paK4drqgEgDNnzoxGs1GxZcsWf/j30EMPqXfv3v59+/bt08svv+z/3OFwyOVyqaSkRJs3b9bmzZs1f/583XPPPbrgggtiXjsAAAAAALCfGsFYki36UZtGjRppzpw56tevn1auXKnu3burSZMmKi4uls/nkyT95je/0Q033BB22//4xz/0n//8R8uXL9eQIUOUkZEhy7JUWloqSTr33HOr5UNVfD6fZs2apVmzZkk6NFW5UaNG2rdvn0zTlCS1aNFC06dPV5cuXSJ67XBFdRXghmDLli2SDs3FPjz8k6TU1FRdccUV6tatm0488URlZ2fL6XSqsrJS69ev15QpU7RhwwaNHz9enTp1CnmVGQAAAAAAAIK98HTr1k2rVq3SU089pblz52rr1q1q2rSpzjjjDN15550aMmRIvdpt3Lixli5dqr///e+aNm2aNmzYIEk644wzNHr0aN111101RhVKUt++ffXEE09o2bJl+uGHH1RQUKADBw4oOztbXbt21WWXXaZbbrlFzZo1i/i1w5X0AWBZWZmk2hcaady4sW6++eYar6ekpOiUU07RY489phtvvFGlpaX69NNPNWLEiKjXCwAAAAAAbCCaq+dGe8pwHIPLFi1a6LnnntNzzz0X8jmbNm0Kekxqaqruv/9+3X///SG327ZtWz388MMhHx/Ja4crJgHgzp079eWXX2rbtm06ePCgf2hmXf7whz9Etaa8vDxNnz7d/3l+fn61hT/uueeeoCusNG7cWC1bttTGjRu1d+/eqNUKAAAAAAAQMkYW4ghRDQC/++47/f73v9eiRYvCPjfaAWBGRoaysrJUXl6ukpISORwONWnSxL8/LS0taBsHDx7Ujh07JImFQAAAAAAAQOgsBVwEBIi0qAWA//d//6fhw4errKws6LLIhmFUO8Ywor+8zdChQzV06FAtWrRIL7zwgnJycjR58uSg51mWpf379+vHH3/UtGnTVFpaKpfLpX79+kW9ZgAAAAAAYBOW4j9S7/D4Jd61IKqiEgDu3btXI0eO9Idj999/v84//3xdeumlMgxDjz/+uHr06KGff/5ZH374oT788EMZhqExY8ZozJgx0SjpqE2aNElz586t8frxxx+v3/72t8rKyop9UQAAAAAAAPVRFUBGfwwWEkBUAsCJEyfq4MGDMgxD77//fo1n6Z1yyim67LLLJEl33nmnvvjiCw0fPlxTp05V165d9dvf/jYaZR0Vl8ulrKws+Xw+eTweSVLLli118803q3PnznGuDgAAAAAANDiJMOounjUkwv0niagEgAsWLJBhGLr00kuDLqQhSeeee64+/PBDnXXWWRo3bpwGDBigHj16RKO0ehs1apRGjRolSSotLdWqVas0depU/fGPf1SfPn10zz33yOl0xrlKAAAAAADQIMR4CnAoA/3I4+wrKgHg+vXrJUkDBgyodX9lZWWN10477TSNGDFCubm5mjRpkiZMmBCN0iIiPT1dZ511lrp166a7775bS5YsUadOnaqtInyk3Nxc5eXlBdw/fPjwiE9/dpY1lkoj2iQAAAnH3dit7IzseJchScrOjk4dbrc7Ku0CAJBI3G531PrSRGQowrNvI5DeBa2H6cINVlQCwP3790uSWrVqVe311NRUVVZWqqSkpNbz+vTpo9zcXC1evDgaZUVc1eIf06dP18KFC+sMAIuLi5Wf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VCp11/Bif/rTn3L44Ydn8eLF2WuvvfLLX/4yU6ZM6ddjVyq9vwjnnHNOWltbUyqVcswxx/TvCfVAAAgAAAAwxF7WOffKL7oNg/P/bWs9A/HRj340u+22W9atW5djjjkmDz30UJKktbU1F154Yb75zW8mSb70pS9l9OjNV4jsuuuuKZVK+cAHPrBFv/vvv3/+9m//Nkly2mmn5ZprrkmlUkmlUsk111yTD3/4w0mS973vfd3n49tkxYoVmT17dp588snsvvvuufXWW/NXf/VX/X5Ohx56aC644II89NBD6ez8/+fA/MMf/pAPfehD+epXv9pdV0/LnvtrZM2vBQAAACiSEbISf+zYsVmwYEEOP/zwPPTQQ5k1a1YmTJiQdevWpaurK0nyqU99Kh/84AcH3Pe//du/5Yknnsivf/3rHHfccRk3blwqlUra2tqSJG9605vyL//yL1vs961vfSuPPPJIko1hYG9XND7kkENy9dVXb/a9Z555JmeddVbOOuusjBo1KjvssENaW1s3u+rwnDlzMm/evAE/p5cSAAIAAAAMtW1YBjtQ1TpX4HDJGPfZZ5/8/ve/z4UXXphrr702S5YsyQ477JADDzwwn/jEJ3LcccdtU7/jx4/PnXfemUsvvTSXX355Hn300STJgQcemLlz5+aTn/zkFrMKk6RcLnffb2lpSUtLS4+PsWrVlld9/ud//uf88pe/zL333pvly5dn1apVGTVqVPbYY4+86U1vygc/+MEBLWfujQAQAAAAYKhVKin1cQ64QdNXMviSsgbtoiPb8PR33HHHXHTRRbnooov6vc/TTz/d5zajR4/OZz/72Xz2s5/td7/nnHNOzjnnnH5v/1InnXRSTjrppG3efyAEgAAAAAC1UKupdZset/SSryksASAAAADAENuWC2FUXa0fnyEjAAQAAAAYakNwDsDemPw3sggAAQAAAIbcICeAL+q6t3P4ba2t0lsj2yUBIAAAAMAQGxZLgHvQnfsN0/oYOAFgktbW1lx55ZW55557snLlynR0dCRJFixYUOPKAAAAgMKqYsA2FJP15IHbLwFgkgsvvDAPPPBAkqShoSFNTU1Jkq6urjz44IO5//77s2jRoixfvjxtbW0ZP358dttttxx66KF529velrq6ulqWDwAAAGxnhvMMwJ5YEbz9GvEB4OLFi7vDvzPOOCOHHHJI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gKHW73MAbtqmtNl/w57ZfcOKABAAAABgqFUywBMfVjb7r9twCQTlfcOaABAAAABgyPX/KsB9dbOZoQoEBX7bFQEgAAAAwFCrZHCWyW62YriKaeBg1sqgEwACAAAADLV+nwNwW/vv/mejbQkEncevMASAAAAAAENtsAPALR6v+5+kp6vvDnngJ2AcKgJAAAAAgJHkpUHfSy40TPEIAAEAAACG3BDPAPzLQ/ao1Ec72zUBIAAAAMBQG6yLgGyrYVQK1ScABAAAABhqQ30OQEY0AWAvnn322dx999156KGH8vTTT2fVqlUZNWpUpk6dmte97nV597vfnZ122qnWZQIAAADbHQEgQ0cA2INnn302H/7wh1N50ZuxsbExGzZsyJIlS7JkyZLcfPPN+cxnPpO3vOUtNawUAAAA2O6YAcgQEgD2oFwuJ0kOPPDAHH744Xnd616XCRMmpKurK4sWLcq3v/3tPP3007nooosybdq07LrrrrUtGAAAANh+VNLP8+5tjyGhywkPN3W1LmC4Gj9+fL7+9a/nnHPOyVvf+tZMmDAhSVJfX5999903X/ziF7PDDjuks7Mz11xzTY2rBQAAALYrmy4C0uct2+GtP89reww2t18jYgbg2rVrc9ddd+X+++/P0qVL89xzz6WzszOveMUrMmvWrBx33HHZeeedN9unqakpu+22W499Tpo0Ka9//etz22235YknnhjspwAAAAAUyH898+yID8FKJgoOmRERAC5YsCBXXnllko0z+BobG9Pe3p7ly5dn+fLluf3223PmmWfmda973YD63TQrsKurq9olAwAAAAU2duyo5C+nHxupRnj+OaRGRAA4efLknHLKKTn44IMzffr01NfXp6urK08//XTmz5+f++67L1/72tfyne98Jw0NDf3ud+HChUmSGTNmDFbpAAAAQAFNmjohz/xxWb+23d4nysn5am9EBIDvfOc7t/hefX19dt9995x55pn5zGc+kyVLluSuu+7K7Nmz+9XnPffck8cffzxJ+r0PAAAAwEb9Pw+eAI2Xa8RfBGT06NHdS38XLVrUr32effbZzJs3L0nyhje8Ia9//esHqzwAAACgiPp7oYwi3xgyI2IGYJIsXbo01113XR5++OGsWLEibW1tqbzkYFu1alWf/axduzbnnXde1qxZk5122imf/vSnB6tkAAAAoKjKleqf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VxpV6xIAYNCVRsB4N3pM8Z8jABjvYPAIAAEAAACgwASAAAAAAFBgAkAAAAAAKDABIAAAAAAUmAAQAAAAAApMAAgAAAAABSYABAAAAIACEwACAAAAQIEJAAEAAACgwASAAAAAAFBgAkAAAAAAKLBRtS5ge7BmzZr85Cc/yW9+85s899xzGTt2bHbfffccddRReeMb31jr8gAAAACgRwLAPixevDhnnXVW1qxZkyQZN25c1q1blwcffDAPPvhg3v3ud+cjH/lIjasEAAAAgK0TAPaio6MjX/rSl7JmzZrMmDEjn/3sZzNz5sy0t7fnmmuuyeWXX55rr702M2fOzBFHHFHrcgEAAABgC84B2Iubb745//Vf/5WxY8fmC1/4QmbOnJkkGTt2bE4++eS8613vSpLMnz8/nZ2dtSwVAAAAALZqRMwAXLt2be66667cf//9Wbp0aZ577rl0dnbmFa94RWbNmpXjjjsuO++88xb73X777UmSt771rZk6deoW7SeccEJuvPHGrFq1Kr///e9zwAEHDPZTAQAAAIABGREzABcsWJB58+bl7rvvzrJly1JfX5+urq4sX748N910Uz7zmc/kwQcf3Gyf1tbWPPbYY0mSAw88cKv9Tp06NdOmTUuS/O53vxvU5wAAAAAA22JEzACcPHlyTjnllBx88MGZPn16dwD49NNPZ/78+bnvvvvyta99Ld/5znfS0NCQJFm6dGkqlUqSZMaMGT32PWPGjCxZsiRLliwZkucCAAAAAAMxImYAvvOd78x73/vezJw5M/X19UmS+vr67L777jnzzDOzyy67ZM2aNbnrrru691m1alX3/cmTJ/fY96a21atXD1L1AAAAALDtRkQA2JvRo0fnda97XZJk0aJF3d9va2vrvj927Nge99/U1traOjgFAgAAAMDLMCKWACcbl/Red911efjhh7NixYq0tbV1L/Hd5MWz/gAAAACgCEZEAHjHHXfk4osvTmdnZ5KkVCqlsbExo0ePTrJxtl9bW1va29u799l0LsAkaW9vT2Nj41b73rTPuHHjeq1h/vz5ueKKK3psP/HEE3Pqqaf27wn1U7mtOVlf1S4BYNhpbm7OpIZJtS4jSTJp0uDU0dzcPCj9AsBw0tzcPGhjKYx0hQ8A16xZk3nz5qWzszP77LNP3v/+92ePPfboDv+SjeHcVVddtdmMwBef92/VqlU9BoCbZg329SG1bt26rFixosf29evXd5+fsFrq6kb8Cm8ARoC6urqqj6HbarDqqKs3pgNQfHX1w2dMh6IpfAB43333pbW1NQ0NDfn85z+/1SDv+eef3+J706ZNS6lUSqVSyeLFizNt2rSt9r948eIkyS677NJrHU1NTdlxxx17bG9sbExXV1evfQxUuVyuan8AMByVy+Wqj6GbDPSXkMGqo9xlTAeg+MpdgzOmCxVhBASAK1euTLIx0Nta+FepVLJw4cItvj9u3LjsueeeefTRR3P//ffnkEMO2WrfS5YsSZLMmjWr1zrmzp2buXPn9lpnta8k3NLZUtX+AGA4amlpSX1rdcfQTaZMmTKg7as9lm/S0mJMB6D4WlpaBmUsHeh4DkVU+PUkTU1NSZI///nP6ejo2KL9tttuy7Jly7a676GHHppk4zkEn3322S3ar7766lQqlUyePDn77bdf9YoGAAAAgCopfAA4a9aslEqltLS05OKLL+7+a0Jra2sWLFiQefPm9Xhi7SOPPDI77bRT2tract555+Wpp55KsvHCHz/5yU9y/fXXJ9k4u2/UqMJPpgQAAABgO1T41GratGk59thjc8011+TOO+/MnXfemaamprS2tqZcLueAAw7InnvumauuumqLfUePHp2zzz47Z511Vp5++umcfvrpaWxsTFtbW/f59Y455pgcccQRQ/20AAAAAKBfCh8AJslpp52WadOm5cYbb8ySJUtSLpez22675dBDD83RRx+dH/3oRz3uO3369Fx66aX56U9/mt/85jdZuXJlmpqasttuu+Xoo4/OG9/4xiF8JgAAAAAwMCMiAEw2Luc98sgjt9o2Z86czJkzp8d9J06cmNNOOy2nnXbaYJUHAAAAAIOi8OcABAAAAICRTAAIAAAAAAUmAAQAAACAAhMAAgAAAECBCQABAAAAoMAEgAAAAABQYAJAAAAAACgwASAAAAAAFJgAEAAAAAAKTAAIAAAAAAUmAAQAAACAAhMAAgAAAECBCQABAAAAoMAEgAAAAABQYAJAAAAAACgwASAAAAAAFFipUqlUal0EycqVK6veZ7myIS1di6re78vR3Nycurq6lMvltLS01LqcJEm50pFKSimVRte6lG71dXVpbm5OS0tLusrlWpeTZOPrVJekrjSq1qV0G47HU0dbZ/78u3EpDaPXqb6u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eumlmTBhQo2fCcPB+eefn3vvvTd/93d/l7e85S19br9hw4acf/75efDBBzN27NiUy+V0dnbm5z//+eAXy3ans7MzV111VX7605+mq6srr3/96/Oxj30sEyZMyHvf+96USiXHDiOW8ZxqMp4zmIznAP0nAKSqFi9enC996Uv585//3O9zb1QqlfzVX/1Vzj777EyfPn2QK2R7ce211+ayyy7L61//+nzhC1/o1z4dHR258MIL89vf/jZJ/NBHn5YsWZJ58+Zl0aJFaWhoyLvf/e78+Mc/duww4hnPqRbjOUPBeA7QNwEgVdfR0ZGbb745t99+ex5//PH0dIiVSqXsueeeedvb3pYjjzwyo0ePHuJKGc5WrlyZ0047LaVSKV//+tczc+bMfu3X1dWVf/7nf87dd9/thz767aabbsq///u/p7W1NZVKxbEDMZ5THcZzhpLxHKBnAkAGVVtbW5YsWZLVq1entbU1STJu3LhMnjw506ZNS0NDQ40rZDhbuXJlyuVyxo8fn8bGxn7vVy6Xs2jRolQqley7776DWCFFsnr16vz7v/97nn322SQbl60BGxnPeTmM5wwl4znA1gkAAQAAAKDAXAUYAAAAAApMAAgAAAAABSYABAAAAIACEwACAAAAQIEJAAEAAACgwASAAAAAAFBgAkAAAAAAKDABIAAAAAAUmAAQAAAAAApMAAgAAAAABSYABAAAAIACEwACAAAAQIEJAAEAAACgwASAAAAAAFBgAkAAAAAAKDABIAAAAAAUmAAQACic22+/PaVSKaVSKeecc06S5JFHHsmnPvWp7LXXXmlqasqkSZPyxje+MV//+tfT3t7eZ5+tra355je/mbe//e155StfmTFjxuQVr3hFDjrooJx99tlZtmxZn320t7fn3/7t3/Kud70rr3rVq9LQ0JDGxsZMnz49Bx54YObOnZvvfe97Wbt27ct9CQAAoFupUqlUal0EAEA13X777TnssMOSJP/4j/+Y17zmNfnQhz6U9evXb3X7vffeOzfddFNmzJix1fZ77703J5xwQpYsWdLjYzY2NubSSy/Nhz70oa22P/XUU3nnO9+ZRx99tM/6f/zjH+fEE0/sczsAAOiPUbUuAABgMN1333258MIL09HRkTlz5mT27NkZN25cHn744fyf//N/snz58vzxj3/MYYcdlgceeCA77LDDZvs/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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "image/png": { - "height": 480, - "width": 640 - } - }, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "df[\"layer\"] = df[\"layer\"].astype(\"category\")\n", - "df[\"token\"] = df[\"token\"].astype(\"category\")\n", - "nodes = []\n", - "for l in range(t5.config.num_layers - 1, -1, -1):\n", - " nodes.append(f\"f{l}\")\n", - " nodes.append(f\"a{l}\")\n", - "df[\"layer\"] = pd.Categorical(df[\"layer\"], categories=nodes[::-1], ordered=True)\n", - "\n", - "g = (\n", - " ggplot(df)\n", - " + geom_tile(aes(x=\"pos\", y=\"layer\", fill=\"prob\", color=\"prob\"))\n", - " + facet_wrap(\"~token\")\n", - " + theme(axis_text_x=element_text(rotation=90))\n", - ")\n", - "print(g)" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "3a6e2233", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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depUSdIrr7yiffv2OcdXrlwp3/c1YMAAjRkzJvB9J0+eLM/zVFlZqddee805vnbtWlVWVsrzvNY1tEg3FU6lUvrVr34lSerXr1+bTy4CAAAAAAAg3BgABjB9+nQNHjxYjY2NuvPOO7Vt2zZJRzboWLFihZ5//nlJR56iy88/9qHKBQsW6LLLLtPixYud+5aUlGjy5MmSpAcffFBlZWXyfV++76usrEwPPfSQpCMDyOLi4mOuXb16tb73ve9p3bp1OnjwYOvXm5qa9Oabb+q73/1u69ODn//855WXxx81AAAAAABAT8RHgAPo1auXvvOd72jRokXavn27br75ZsViMTU2Nqq5uVmSNGvWLE2bNq3D977++uu1a9culZeX6+6771bv3r0lSYcOHZIknXnmmbruuuvMa9etW6d169ZJOvJR5fz8fDU0NLQ+HZiXl6fPfe5zmjVrVofXBQAAAAAAgHBgABhQcXGxHnzwQT399NNav369qqqqVFhYqBEjRmjmzJkaP358p+4bjUZ17733atWqVSotLVVlZaUkaeTIkZo6dapmzpzpPFUoSRdeeKGuv/56bd68Wdu3b9eBAwfU0NCggoICDR48WOecc44uvfRS58lBAAAAAAAA9CwMADugf//+mj9/vubPnx/4mkceeSTtOfn5+ZozZ47mzJkT+L79+vXTpz/9aX36058OfA0AAAAAAAB6HgaACMTzPN4jmEZntuEOO5rY6GKji40uLprY6GKji40uLprY6GKji40uLprY6GLLZBcGgAgkGo0qFoulPW9/F6wlV8Xj8TaP9dQuNLHRxUYXG11cNLHRxUYXG11cNLHRxUYXG11cNLHRxdZel+PFABCBJBIJJZPJbC8jp9XU1GR7CTmHJja62Ohio4uLJja62Ohio4uLJja62Ohio4uLJja62IJ26cygkAEgAvF9v3V3Ydjo46KJjS42utjo4qKJjS42utjo4qKJjS42utjo4qKJjS62THbhpW4AAAAAAABAiDEABAAAAAAAAEKMASAAAAAAAAAQYgwAAQAAAAAAgBBjAAgAAAAAAACEGLsAIxDP85SXx7y4PZFIJNtLyDk0sdHFRhcbXVw0sdHFRhcbXVw0sdHFRhcbXVw0sdHFlskuDAARSDQaVSwWS3ve/i5YS66Kx+NtHuupXWhio4uNLja6uGhio4uNLja6uGhi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RUVFkqSNGzcGvvemTZskSWPHjpXnec5xz/M0duzYY84FAAAAAAAAOoIBYBo7d+6U7/uS5HwE92gtx3bs2BHovr7va+fOnWnvW1xc3KH7AgAAAAAAAEdjAJhGdXV1668HDBjQ5nktx2pqagLdN5FIqLGxMfB9E4mEEolEoHsDAAAAAAAALRgAptEypJOObPrRlpZjQYd0R58X5L4duTcAAAAAAADQggEgAAAAAAAAEGL52V5ArisoKGj9dTKZVCwWM89LJpOSpGg0Gui+R5/Xcm179+3IvTtj2bJlWr58eZvHr7zySl1zzTVp73PgBK6pu4nH420eO9B1y8gpNLHRxUYXG11cNLHRxUYXG11cNLHRxUYXG11cNLHRxdZel+PFADCNo9/PV11d3eYAsOVdgUH/sKLRqKLRqBKJxDHvGWzrvi3nZ0p9fb327t3b5vGGhgZFIpGMff8woI+LJja62Ohio4uLJja62Ohio4uLJja62Ohio4uLJja62DLZhQFgGkVFRfI8T77vq6KiQkVFReZ5FRUVkqRhw4YFuq/neSoqKtKWLVtarz0R9+2swsJCDRo0qM3jsVhMqVQqo2vo7ujjoomNLja62OjioomNLja62OjioomNLja62OjioomNLragXTozKGQAmEY0GtWoUaNUXl6u119/XRMnTnTOqaqq0o4dOyRJ5513XuB7n3vuudqyZYveeOONNs/ZsGFD67mZNG/ePM2bN6/N41VVVYF3OO6p6OOiiY0uNrrY6OKiiY0uNrrY6OKiiY0uNrrY6OKiiY0utqBdTj311A7fm01AApg6daok6ZVXXtG+ffuc4ytXrpTv+xowYIDGjBkT+L6TJ0+W53mqrKzUa6+95hxfu3atKisr5Xle6xoAAAAAAACAjmAAGMD06dM1ePBgNTY26s4779S2bdskHdmgY8WKFXr++eclHXmKLj//2IcqFyxYoMsuu0yLFy927ltSUqLJkydLkh588EGVlZXJ9335vq+ysjI99NBDko4MIIuLi53rm5qaVFdX1/qvRCLReuzor9fV1Z2QDgAAAAAAAOh++AhwAL169dJ3vvMdLVq0SNu3b9fNN9+sWCymxsZGNTc3S5JmzZqladOmdfje119/vXbt2qXy8nLdfffd6t27tyTp0KFDkqQzzzxT1113nXnt22+/rUWLFpnHPvxx3l//+tcd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zjsv8L3PPfdcbdmyRW+88Uab52zYsKH13KOdffbZys/PV1NTk15//XVNnTrVubblvr169dJZZ50VeF3Skc1PWoaPp512Wtrz582bp3nz5rV5vKqqKvAOyT0VfVw0sdHFRhcbXVw0sdHFRhcbXVw0sdHFRhcbXVw0sdHFFrTLqaee2uF794hNQFqGa6+88or27dvnHF+5cqV839eAAQM0ZsyYwPedPHmyPM9TZWWlXnvtNef42rVrVVlZKc/znAFfLBbTRRddJEl69tlnnSlvKpXSs88+K0n62Mc+5nx02ff9dtf2+OOP69ChQ/I8r/X7AAAAAAAAoOfpEQPA6dOna/DgwWpsbNSdd96pbdu2STqywcaKFSv0/PPPSzryFFx+/rEPRS5YsECXXXaZFi9e7Ny3pKREkydPliQ9+OCDKisrk+/78n1fZWVleuihhyQdGUBaH+G9+uqrlZ+fr3fffVf3339/66S3pqZG999/v95991316tVLV199tXPtt7/9bT355JPatm3bMcPDiooK/fjHP9YzzzwjSbrkkkvSbgAShOd5ikQiaf/Vk9HFRRMbXWx0sdHFRRMbXWx0sdHFRRMbXWx0sdHFRRMbXWxB5i6dbRT6jwBLRz5C+53vfEeLFi3S9u3bdfPNNysWi6mxsVHNzc2SpFmzZmnatGkdvvf111+vXbt2qby8XHfffbd69+4tSTp06JAk6cwzz9R1111nXltcXKybb75ZP/7xj/Xqq6/qv//7vxWLxVRfXy9Jys/P180332wO8Pbt26dly5Zp2bJlikQiisViOnTo0DG7Ck+ZMkVf/epXO/wzWaLRaJsbqBxt/wn5bt1Texu19NQuNLHRxUYXG11cNLHRxUYXG11cNLHRxUYXG11cNLHRxcYuwCdAcXGxHnzwQT399NNav369qqqqVFhYqBEjRmjmzJkaP358p+4bjUZ17733atWqVSotLVVlZaUkaeTIkZo6dapmzpzpPFV4tClTpmjYsGFauXKl/vznP6uurq71o8iXX365SkpKzOu+/OUva+PGjdqyZYtqamp08OBBRSIRDRkyRGeeeab+5m/+xnnv4PFIJBLHDBfh4h0GLprY6GKji40uLprY6GKji40uLprY6GKji40uLprY6GIL2qUzg8IeMwCUpP79+2v+/PmaP39+4GseeeSRtOfk5+drzpw5mjNnTqfWNWLECH3jG9/o0DWTJk3SpEmTOvX9OsP3fXbpSYM+LprY6GKji40uLprY6GKji40uLprY6GKji40uLprY6GLLZJce8Q5AAAAAAAAAoKfqUU8AovM8z1NeHvPi9vT0l5VaaGKji40uNrq4aGKji40uNrq4aGKji40uNrq4aGKjiy2TXRgAIhA2AUmPl5i6aGKji40uNrq4aGKji40uNrq4aGKji40uNrq4aGKji41NQJB1bAKSHi8xddHERhcbXWx0cdHERhcbXWx0cdHERhcbXWx0cdHERhcbm4Ag69gEJD36uGhio4uNLja6uGhio4uNLja6uGhio4uNLja6uGhio4uNTUAAAAAAAAAAdAoDQAAAAAAAACDE+AgwAmEX4PTYxchFExtdbHSx0cVFExtdbHSx0cVFExtdbHSx0cVFExtdbOwCjKxjF+D02MXIRRMbXWx0sdHFRRMbXWx0sdHFRRMbXWx0sdHFRRMbXWzsAoysYxfg9NjFyEUTG11sdLHRxUUTG11sdLHRxUUTG11sdLHRxUUTG11s7AKMrGMX4PTo46KJjS42utjo4qKJjS42utjo4qKJjS42utjo4qKJjS42dgEGAAAAAAAA0CkMAAEAAAAAAIAQ4yPACIRdgNNjFyMXTWx0sdHFRhcXTWx0sdHFRhcXTWx0sdHFRhcXTWx0sbELMLKOXYDTYxcjF01sdLHRxUYXF01sdLHRxUYXF01sdLHRxUYXF01sdLGxCzCyjl2A02MXIxdNbHSx0cVGFxdNbHSx0cVGFxdNbHSx0cVGFxdNbHSxsQswso5dgNOjj4smNrrY6GKji4smNrrY6GKji4smNrrY6GKji4smNrrY2AUYAAAAAAAAQKcwAAQAAAAAAABCrEs+AtzU1KT//u//1vr161VZWamDBw/q5JNP1umnn66Pf/zjmjRpEjvA5Dh2AU6Pfw+7aGKji40uNrq4aGKji40uNrq4aGKji40uNrq4aGKji63b7gLc3NysH/7wh1q8eLH27NnT5nmDBw/WwoULdcsttzBkylHsApweuxi5aGKji40uNrq4aGKji40uNrq4aGKji40uNrq4aGKji61b7gJ84MABzZgxQ+vWrZN0ZBOJtuzatUu33nqrnnnmGT3//PPq379/ppaFTmIX4PTYxchFExtdbHSx0cVFExtdbHSx0cVFExtdbHSx0cVFExtdbJncBdjz25vMdZLv+/rkJz+ptWvXSpLy8vJ0ySWXaNq0aRo1apQKCwtVX1+vrVu36ve//71+97vfKZVKyfM8TZw4Ua+++uqJXhIAAAAAAADQI2VkAPgf//EfWrBggTzP0xlnnKEnnnhC559/fpvnb9y4UV/4whf0l7/8RZ7n6d///d/15S9/+UQvCwAAAAAAAOhxMjIA/NSnPqXVq1erf//++vOf/6zTTz897TWVlZX66Ec/qtraWk2ZMkUvv/zyiV4WAAAAAAAA0ONkZMeNzZs3y/M8feUrXwk0/JOk008/XfPnz5fv+9q8eXMmlgUAAAAAAAD0OBkZANbX10uSxo0b16HrLrjgAklSQ0PDCV8TAAAAAAAA0BNlZADY8tRfKpXq0HUt5w8ZMuSErwkAAAAAAADoiTIyAJw8ebIkte4CHNTatWvleZ6mTJmSiWUBAAAAAAAAPU5GNgH505/+pPHjx6tXr17605/+pLPOOivtNW+//bbGjRunpqYmlZWVtX4cGAAAAAAAAEDnZeQJwHHjxukHP/iBksmkPvWpT+mFF15o9/wXX3xRf/M3f6NDhw7pX/7lXxj+AQAAAAAAACfIcT0B+Itf/KLd47/+9a+1cuVKeZ6nM888U9OmTdOoUaNUWFio+vp6bd26Vb/73e/0zjvvSJIuv/xyzZ49W5L0pS99qbPLAgAAAAAAAPD/O64BYF5enjzPS3ue7/vtnvfh457nqampqbPLAgAAAAAAAPD/yz/eGwSdH6Y7LwOvIgQAAAAAAAB6vOMaAP7sZz87UesAAAAAAAAAkAEZ2QUY4VNeXp7tJQAAAAAAAPR4o0eP7vA1GdkFGAAAAAAAAEBuYAAIAAAAAAAAhNhxbwLSEXv27NGuXbt08OBBnXzyyTr99NM1aNCgrlwCAAAAAAAA0KNkfABYUVGhH//4x1q5cqUqKiqc48XFxbryyit10003adiwYZleDgAAAAAAANCjZHQTkJ/97Ge66aab1NDQIEmyvpXneZKkWCymBx98UF/+8pcztRwcBzYBAQAAAAAAyL7ObAKSsScAf/azn2n+/PnyPE++78vzPJ111lkaPXq0TjrpJH3wwQcqLy/XO++8I9/3VV9fr/nz50sSQ0AAAAAAAADgBMnIE4C7du3SqFGj1NDQIM/z9NWvflXf+ta3VFxc7Jy7Y8cO3Xvvvfq3f/s3NTc3q7CwUFu2bNHgwYNP9LJwHHgCEAAAAAAAIPs68wRgRnYBXrJkSevw76c//amWLFliDv8kadiwYfrXf/1XPfLII5KkhoYGLVmyJBPLAgAAAAAAAHqcjDwB+LGPfUx/+tOfdOmll+rFF18MfN2MGTP0m9/8RhdeeKHWr19/opeF48ATgAAA4Hjde++9eumll5yvFxQUaMCAATrrrLM0a9YsnX/++V2/OAAAgG4iZ54AfO+99yRJc+bM6dB1n/3sZ4+5HgAAAOGTn5+veDze+q/Dhw+rsrJS//Vf/6WFCxfqJz/5SbaXCAAAECoZ2QTk4MGDkqQBAwZ06LqW8z/44IMTviYAAADkhnPOOUeLFy9u/X0qldLWrVu1ZMkSbdq0SY8//rjOP/98fexjH8veIgEAAEIkI08AnnLKKZKkbdu2dei67du3S+r44BAAAADdVyQS0Uc+8hHddddd6tevnySZHxUGAABA52TkCcCPfvSj2r17t375y1/qG9/4hvLy0s8ZU6mUfvnLX8rzPH30ox/NxLIAAACQw04++WSdeeaZWrduXes/GD6a7/v6/e9/r5deeklbtmxRIpFQv379NGbMGF155ZU6++yzzft+4Qtf0J49e3TrrbdqypQpWrZsmUpLS7Vv3z7F43FNnjxZX/rSl3TSSSdJOvLu4+XLl2vz5s06ePCghg0bps997nP69Kc/3e76//SnP+m5557Tm2++qdraWhUUFGjEiBGaPn26Lr30UkUikeNuBAAA0BkZGQBedtll+v3vf6+33npL119/vZYuXSrP89o83/d9fe1rX9Of//xneZ7X+i5AAAAA9EzNzc3H/P7QoUP653/+Z61du1aSlJeXp1gspqqqKv3hD3/Q6tWrde211+qqq65q854ffPCBrrvuOv31r39VQUGBmpubtWfPHj311FN68803tXjxYq1bt0533HGHmpqaFIvFdPjwYb333nu677779MEHH+jKK6907ptKpfSjH/1Izz//fOvXCgsL9cEHH2jjxo3auHGjXn75ZX3ve99T7969T1AhAACA4DLyEeAFCxaoqKhIkvTTn/5UF1xwgR577DHt3bv3mPP27dunxx57TOPGjdNPf/pTeZ6noqIiLViwIBPLAgAAQA6rq6vT22+/LUk6/fTTjzn28MMPa+3atYpEIrruuuu0atUqPffcc3rqqad0ySWXyPd9/eQnP9GaNWvavP+jjz6q5uZmPfDAA3rxxRf1wgsv6Bvf+IYikYjeeust/fznP9e9996radOmacWKFVq1apWeeeYZfeITn5AkPfLII6qrq3Pu+8gjj+j555/Xaaedpm9/+9t6/vnntWrVKr3wwgu67bbbNGDAAP3xj3/U0qVLT2AtAACA4DIyACwoKNDTTz+tWCwmSdq0aZO+9KUvaciQIerfv7+GDh2q/v37a/DgwfrSl76kjRs3yvd9xWIxrVy5Un369MnEsgAAAJCDUqmU/vKXv+i2225rHbBdeumlrcf37t2rZ599VpL093//95o7d66i0agk6dRTT9U//dM/6aKLLpJ05B8+tyWRSOiee+7RmDFjJEm9evXSzJkzW7/X8uXLNXr0aP2f//N/Wt9J3b9/fy1atEixWEzJZFJlZWXH3PP999/Xk08+qZNPPln333+/Lrnkkta/AxcUFOhTn/qU7rjjDnmep1WrVqm6uvq4ewEAAHRURgaAknTRRRdpzZo1Ovvss+X7fuu/6urqtHv3btXV1R3z9TFjxmjt2rUaN25cppYEAACAHPDmm2/q8ssvb/3X9OnT9Q//8A/atGmTJGn27NmaPHly6/mvvPKKmpubdfLJJ+tv//Zvnft5nqcvf/nLkqS//vWvevfdd83vO2XKFA0dOtT5+tF///ziF7/oHI9Go63vF3zvvfeOOfbSSy+publZn/zkJ52nFlucc845GjJkiJqamrRhwwbzHAAAgEzKyDsAW5x77rnatGmTnn/+ea1cuVLr1q3Trl27dPDgQZ188skaMmSIPv7xj+uKK67QjBkz2n1PIAAAAMKhqalJNTU1ztfz8vL0rW99S5dccskxXy8vL5ckjRkzRr169TLvedZZZykWi6mhoUHl5eUaOXKkc86IESPMa/v379/665KSEvOceDwu6ch7BI/25ptvSpJWr16t1157zbxWkg4ePChJ2rNnT5vnAAAAZEpGB4DSkX8iO2vWLM2aNSvT3woAAADdwHnnnafFixdLOjIMrKys1DPPPKNf/epXeuihhzRixIhjBngHDhyQdOTjvm3xPE+nnHKKGhoaWs//sFNOOcX8+tG787Z1Tl5eXut6j7Z//35JUkNDgxoaGtpcX4tkMpn2HAAAgBMtIwPAln+6OmvWLD3wwAOZ+BYAAAAIgfz8fBUXF+vmm29WXl6eVq5cqe9+97v66U9/qoKCgmwvL62W3YqvvfZa8+PDAAAAuSAj7wCsqKjQX//6V51zzjmZuD0AAABCaMGCBYrH49q5c6eefPLJ1q+3fES3qqqqzWt93299Gu/oj/RmWstHg/loLwAAyGUZGQAOGjRIklp3TwMAAADSiUajmjt3riTpiSeeaN0RePTo0ZKkzZs36/Dhw+a1b7/9dutHcFvO7wof/ehHJUnr169vfRoQAAAg12RkAPiRj3xEkrRz585M3B4AAAAhddlll+mkk05SQ0ODVqxYIUmaPHmy8vLydPDgQT3zzDPONb7v6+c//7kkafjw4eYGIJkyffp05eXlaffu3cc8tWhp2QgEAACgq2VkAHjllVfK9309/fTTmbg9AAAAQioWi+lv//ZvJUkrV67UwYMHNWjQIM2ZM0eS9JOf/ERPPfWUEomEpCMfC77nnnv0P//zP5KOvIuvKxUXF+vzn/+8JOnf/u3f9MADD+j9999vPX7o0CH9+c9/1r/+67/q6quv7tK1AQAAtMjIJiDXXnutHn74Yb322mv64Q9/qG984xuZ+DYAAAAIoSuuuEJPPfWU6uvrtWLFCv3v//2/9dWvflW7d+/W2rVrtWTJEv3bv/2bYrGYPvjgA/m+L0n6+7//e33iE5/o8vUuWLBAhw8f1ooVK/TMM8/omWeeUTQaVX5+vurr61s/Gnz0bsMAAABdKSNPAPbu3VurVq3S+eefr1tvvVVXXHGFVq9erUOHDmXi2wEAACBE+vXrpxkzZkiSnn76aX3wwQfq3bu37rrrLn3729/W2LFjVVhYqEQioQEDBmjq1Kn613/9V1111VVZWW9eXp6+9rWv6eGHH9ZnPvMZDR06VM3NzUokEorH4xo3bpzmz5+vRx99NCvrAwAA8PyWf2R6Ao0YMUKSlEwmtWvXLnmeJ+nIP/U85ZRTFI1G21+U5+ndd9890cvCcSgvL8/2EgAAAAAAAHq8zmx4lpGPAG/fvr116Nfyf33fV1NTk/bs2ZP2+pZrAAAAAAAAAByfjAwAi4uLGeIBAAAAAAAAOSBjTwACAAAAAAAAyL6MbAICAAAAAAAAIDcwAAQAAAAAAABCLCMfAf6w/fv367nnntP69etVWVmpgwcP6uSTT9bpp5+uj3/845o1a5ZOOeWUrlgKAAAAAAAA0KN4vu/7mbr5wYMHdeutt+rnP/+5kslkm+f16dNHX/nKV3TvvffqpJNOytRycBzKy8uzvQQAAAAAAIAeb/To0R2+JmMDwIqKCn3qU5/Stm3bFORbeJ6nESNG6OWXX9awYcMysSQcBwaAAAAAAAAA2ZczA8BDhw7p/PPP1zvvvCNJOumkk3T11Vdr2rRpGjVqlAoLC1VfX6+tW7fq97//vR577DEdPHhQknTWWWdpw4YN6tWr14leFo4DA0AAAAAAAIDsy5kB4OLFi3XLLbfI8zyNHz9eTz31lE4//fQ2z9+1a5fmzp2rNWvWyPM83X///br55ptP9LJwHBgAAgAAAAAAZF9nBoAZ2QX4iSeekCQNGTJEL774YrvDv5bzXnjhhdbz/vM//zMTywIAAAAAAAB6nIwMAP/yl7/I8zx95StfUd++fQNdc/LJJ2v+/PnyfV9/+ctfMrEsAAAAAAAAoMfJz8RNDx06JEk655xzOnTd2WefLUk6fPjwCV8Tjs+AAQOyvYR2xeNxRSIRpVIp1dTUZHs5OYMuNrrY6OKiiY0uNrrY6OKiiY0uNrq4aGKji40uNrq4wt4kI08AFhUVSZISiUSHrms5f+jQoSd8TQAAAAAAAEBPlJEB4CWXXCLf9/Xyyy936Lr/+q//kud5uvTSSzOxLAAAAAAAAKDHycgA8MYbb1Q0GtXjjz+uV199NdA1r776qv7zP/9TsVhMN954YyaWBQAAAAAAAPQ4GRkAjh49Wj/72c+Un5+vGTNmaMmSJa3vBfyww4cPa+nSpZo5c6Z69eqln/3sZxo1alQmlgUAAAAAAAD0OBnZBOSOO+6QdOSjwKtWrdKNN96o2267TZMmTdKoUaNUWFio+vp6bd26Va+++qoOHDggSZo1a5beeuut1ustt99+eyaWjDQikUi2lxBYd1prV6KLjS42urhoYqOLjS42urhoYqOLjS4umtjoYqOLjS6uMDbxfN/3T/RN8/Ly5HneMV/zfd/5Wntfb0sqlTru9QEAAAAAAAA9RUaeAJSODPaCfK29r39YRwaFOLFyfQvsvn37tm7XXVdXl+3l5Ay62Ohio4uLJja62Ohio4uLJja62OjioomNLja62Oji6k5N4vF4h6/JyADwD3/4QyZuiyzqTk9edqe1diW62Ohio4uLJja62Ohio4uLJja62OjioomNLja62OjiCmOTjAwAp0yZkonbAgAAAAAAAOigjOwCDAAAAAAAACA3MAAEAAAAAAAAQixjm4AgXLrTFtjdaa1diS42utjo4qKJjS42utjo4qKJjS42urhoYqOLjS42urjC2MTzg27BCwAAAAAAAKDb4QlABFJTU5PtJbSrO23X3ZXoYqOLjS4umtjoYqOLjS4umtjoYqOLiyY2utjoYqOLqzs1icfjHb6GASAC6U5bYHentXYlutjoYqOLiyY2utjoYqOLiyY2utjo4qKJjS42utjo4gpjEzYBAQAAAAAAAEKMASAAAAAAAAAQYgwAAQAAAAAAgBBjAAgAAAAAAACEGJuAIJBIJJLtJQTWndbalehio4uNLi6a2Ohio4uNLi6a2Ohio4uLJja62Ohio4srjE083/f9bC8CAAAAAAAAQGbwBCACqampyfYS2tW3b19FIhGlUinV1dVlezk5gy42utjo4qKJjS42utjo4qKJjS42urhoYqOLjS42uri6U5N4PN7haxgAIpBUKpXtJQTWndbalehio4uNLi6a2Ohio4uNLi6a2Ohio4uLJja62Ohio4srjE3YBAQAAAAAAAAIMQaAAAAAAAAAQIgxAAQAAAAAAABCjAEgAAAAAAAAEGJsAoJAIpFItpcQWHdaa1eii40uNrq4aGKji40uNrq4aGKji40uLprY6GKji40urjA28Xzf97O9CAAAAAAAAACZwROACKSmpibbS2hX3759FYlElEqlVFdXl+3l5Ay62Ohio4uLJja62Ohio4uLJja62OjioomNLja62Oji6k5N4vF4h69hAIhAUqlUtpcQWHdaa1eii40uNrq4aGKji40uNrq4aGKji40uLprY6GKji40urjA2YRMQAAAAAAAAIMQYAAIAAAAAAAAhxgAQAAAAAAAACDEGgAAAAAAAAECIMQAEAAAAAAAAQoxdgBFIJBLJ9hIC605r7Up0sdHFRhcXTWx0sdHFRhcXTWx0sdHFRRMbXWx0sdHFFcYmnu/7frYXAQAAAAAAACAzeAIQgdTU1GR7Ce3q27evIpGIUqmU6urqsr2cnEEXG11sdHHRxEYXG11sdHHRxEYXG11cNLHRxUYXG11c3alJPB7v8DUMABFIKpXK9hIC605r7Up0sdHFRhcXTWx0sdHFRhcXTWx0sdHFRRMbXWx0sdHFFcYmbAICAAAAAAAAhBgDQAAAAAAAACDEGAACAAAAAAAAIcYAEAAAAAAAAAgxBoAAAAAAAABAiDEABAAAAAAAAEIsP9sLQPcQiUSyvYTAutNauxJdbHSx0cVFExtdbHSx0cVFExtdbHRx0cRGFxtdbHRxhbGJ5/u+n+1FAAAAAAAAAMgMngBEIDU1NdleQrv69u2rSCSiVCqlurq6bC8nZ9DFRhcbXVw0sdHFRhcbXVw0sdHFRhcXTWx0sdHFRhdXd2oSj8c7fA0DQASSSqWyvYTAutNauxJdbHSx0cVFExtdbHSx0cVFExtdbHRx0cRGFxtdbHRxhbEJm4AAAAAAAAAAIcYAEAAAAAAAAAgxBoAAAAAAAABAiDEABAAAAAAAAEKMASAAAAAAAAAQYgwAAQAAAAAAgBBjAAgAAAAAAACEWH62F4DuIRKJZHsJgXWntXYlutjoYqOLiyY2utjoYqOLiyY2utjo4qKJjS42utjo4gpjE8/3fT/bi+guamtrtWLFCq1fv1779+9Xnz59NHLkSM2YMUPjx4/v9H2bmpq0atUqlZaWqrKyUpI0dOhQTZkyRTNnzlR+vj2nXbx4sV5++eV2711cXKyHHnqo02sDAAAAAABA98YTgAFVVFRo0aJFqq2tlSRFo1HV19drw4YN2rBhg2bPnq1rr722w/dNJBK67bbbVF5eLknq3bu3JGnr1q3aunWr1qxZozvuuEMFBQVt3qN3796KxWLmsb59+3Z4TZaampoTcp9M6du3ryKRiFKplOrq6rK9nJxBFxtdbHRx0cRGFxtdbHRx0cRGFxtdXDSx0cVGFxtdXN2pSTwe7/A1DAADOHz4sO666y7V1tZq+PDhuuWWW1RSUqJkMqlnn31Wjz32mJ577jmVlJRo2rRpHbr3kiVLVF5ersLCQt10002tTxKWlZXpgQce0DvvvKOlS5dq4cKFbd5j0qRJ+vrXv348P2JaqVQqo/c/kbrTWrsSXWx0sdHFRRMbXWx0sdHFRRMbXWx0cdHERhcbXWx0cYWxCZuABPDSSy9p9+7d6tOnj26//XaVlJRIkvr06aO5c+fqM5/5jCRp2bJlampqCnzfbdu26ZVXXpEk3XjjjZowYYI8z5PneZowYYJuuOEGSdLq1av117/+9QT/VAAAAAAAAOgJGAAGsHr1aknS5MmTNXDgQOf4FVdcIc/zVF1drc2bNwe+b2lpqXzf15AhQzRhwgTn+MSJEzVkyBD5vq/S0tJOrx8AAAAAAAA9FwPANBKJhLZs2SJJuuCCC8xzBg4cqKKiIknSxo0bA99706ZNkqSxY8fK8zznuOd5Gjt27DHnAgAAAAAAAB3BOwDT2Llzp1o2Sh4+fHib5w0fPlw7duzQjh07At3X933t3Lkz7X2Li4slqd37btq0SV/96le1b98+9e7dW0OGDNG4ceM0c+bMTr0YEgAAAAAAAOHBE4BpVFdXt/56wIABbZ7XcizobrmJREKNjY2B75tIJJRIJMxzqqqqtHfvXhUUFKixsVHvvvuunnzySd1www0deiIRAAAAAAAA4cMTgGm0DOmkI5t+tKXlWFtDug87+rwg9225JhqNtv5+5MiRGj16tC666CKdcsopysvLU0NDg9avX6+f//znqq6u1t133637779fQ4cODbQuAAAAAAAAhAtPAHZjs2fP1owZMzRw4EDl5R35o4zFYpo6daq+//3v66STTlIikdDjjz+e5ZUCAAAAAAAgW3gCMI2CgoLWXyeTScViMfO8ZDIpScc8odeeo89ruba9+3bk3pI0aNAgzZw5U0888YT++Mc/qrm5uXVIaFm2bJmWL1/e5vGrrrpKX/ziFwN//67W8rPl5eXx3sOj0MVGFxtdXDSx0cVGFxtdXDSx0cVGFxdNbHSx0cVGF1fYmzAATOPo9/NVV1e3OQBseVdg0H+TRKNRRaNRJRKJY94z2NZ9W87viNGjR0uSGhoadPDgQfXr16/Nc+vr67V37942jzc0NCgSiXTo+2eD53ndYp1djS42utjo4qKJjS42utjo4qKJjS42urhoYqOLjS42urjC2oQBYBpFRUXyPE++76uiokJFRUXmeRUVFZKkYcOGBbqv53kqKirSli1bWq89EfftrMLCQg0aNKjN47FYTKlUKqNrOB55eXmtf07Nzc3ZXk7OoIuNLja6uGhio4uNLja6uGhio4uNLi6a2Ohio4uNLq7u1KQzA0oGgGlEo1GNGjVK5eXlev311zVx4kTnnKqqKu3YsUOSdN555wW+97nnnqstW7bojTfeaPOcDRs2tJ7bUeXl5ZKO/Awnn3xyu+fOmzdP8+bNa/N4VVVV4B2OsyEejysSiai5uTmn19nV6GKji40uLprY6GKji40uLprY6GKji4smNrrY6GKji6s7NTn11FM7fA2bgAQwdepU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n/LyjvyRRqNRXXPNNZo0aVKg9QAAAAAAACCceAIwBMaNG6df/OIXkqSmpiZt375dy5cv15IlS/Sb3/xGt99+e7tPGQIAAAAAACC8GACmUVBQ0PrrZDKpWCxmnpdMJiXJ/Iiu5ejzWq5t775B752fn68zzjhDt99+u+6++26VlZXp4Ycf1re//e12r1u2bJmWL1/e5vGrrrpKX/ziF9N+/2xpefIxLy+vU7vhhBVdbHSx0cVFExtdbHSx0cVFExtdbHRx0cRGFxtdbHRxhb0JA8A0jn5yrrq6us0BYMu7AoP+myQajSoajSqRSBzznsG27ttyfkfMnj1bZWVlKisrU11dnfr27dvmufX19dq7d2+bxxsaGhSJRDr0/bPB87xusc6uRhcbXWx0cdHERhcbXWx0cdHERhcbXVw0sdHFRhcbXVxhbcIAMI2ioiJ5niff91VRUaGioiLzvIqKCknSsGHDAt3X8zwVFRVpy5YtrdeeiPse7ZRTTmn99e7du9sdABYWFmrQoEFtHo/FYjm9DXZeXl7rn1Nzc3O2l5Mz6GKji40uLprY6GKji40uLprY6GKji4smNrrY6GKji6s7NenMgJIBYBrRaFSjRo1SeXm5Xn/9dU2cONE5p6qqSjt27JAknXfeeYHvfe6552rLli1644032jxnw4YNred21O7du1t/ffRHmS3z5s3TvHnz2jxeVVUVeIfjbIjH44pEImpubs7pdXY1utjoYqOLiyY2utjoYqOLiyY2utjo4qKJjS42utjo4upOTU499dQOX8MuwAFMnTpVkvTKK69o3759zvGVK1fK930NGDBAY8aMCXzfyZMny/M8VVZW6rXXXnOOr127VpWVlfI8r3UNLdI9jZdKpfSrX/1KktSvX782n1wEAAAAAABAuDEADGD69OkaPHiwGhsbdeedd2rbtm2SjmzQsWLFCj3//POSjjxFl59/7EOVCxYs0GWXXabFixc79y0pKdHkyZMlSQ8++KDKysrk+75831dZWZkeeughSUcGkMXFxcdcu3r1an3ve9/TunXrdPDgwdavNzU16c0339R3v/vd1qcHP//5z7e+zBIAAAAAAAA9Cx8BDqBXr176zne+o0WLFmn79u26+eabFYvF1NjY2Pq58FmzZmnatGkdvvf111+vXbt2qby8XHfffbd69+4tSTp06JAk6cwzz9R1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/ja9adOmateuna666irHfmM/V263Wzt37pQkXXnllX5eDaqT2+3WL7/8ojp16ti2FRYW6ptvvvG+mL7iiivUrFkzP6wy8OTn52vQoEGyLEsfffSRv5cTEPbv31/mBXWLFi38vCL/OXLkiBYuXKitW7cqPT1dlmWpQYMGuuaaazRgwADFxsb6e4lV4osvvlCLFi34PvErhw8f1vTp0/XTTz/J15fZlmWpUaNGmjhxopo0aVLFKwwe2dnZuueeexz7vbegoEAvvPCCvvzyyzLvb926tUaPHl3h99URI0bo5MmTjuzy5Zdf6vnnn1dxcbH3fVFRUZo6dapatGih5557TsnJyWW+vizLUkhIiB5//HF17NjRH8uuUsePH/f5sQUFBfrDH/4gy7L06quvltlWv3798700v5k9e7aioqI0fPhw27bjx49rypQpSk1NlSTv50rp0KdZs2Z68skndeGFF1bfgqvJm2++qYULF+r+++/XwIEDve93u92aOHGidu7c6e0RFRUl6dQvW6RTfbp166bx48dX/8Kr2MCBA71//3Xr1tX111+vXr16+fQLFydhAIigsWLFCs2dO1eZmZmSVO6L6tIv7Li4OA0fPlw9e/astjUGC6e/oE5JSdHChQvL/Da9d+/eSkxMrHA/J7+YzsvL0xtvvKHk5GQVFhYqPDxc/fv39/6Wb+fOnZoxY4b366tUly5dNHbs2Bp/ilpNGgD+/PPPsiyr3NNAVq9erbffflsZGRll3n/hhRdqxIgRSkpKqo5lVqsVK1bov//9r5KSkjR06NAy29auXauZM2eqsLDQ9u+SZVm64IIL9Pjjj9t+C+8EpS+mS3+jnpSUpOjoaH8vy6+ys7P18MMP68SJEwoPD1dSUpISExPVvHlzxcXFeb+XFhQUKDMzUykpKdq8ebPWrFmj/Px8xcbGatasWd4jnWo6J79e8Xg8mjhxor777jvja9rQ0FDdf//96tevn3F/p75mOXLkiMaMGaOioiJFRESocePGSktLU35+vho3bqzRo0dr8uTJql+/vnr16qULL7xQR44c0YoVK3TixAnVrl1bL7/8suO+hk4fXpwLJ32+DBw4ULGxsXrrrbfKvL+oqEjjx4/XoUOHJEmXX365Lr30UknSnj179P3338uyLF1yySWaMWOG4w4YGT9+vPbv36+XXnpJjRs39r5/6dKleuWVVxQSEqL+/fvr1ltvVVxcnCQpMzNTH374oRYvXiyPx6PHHntM1157rb8+hCpR+jX062Fwq1atvK9hSgeiTsYpwAgKr732mvcbkmVZio+Pr/DFdGpqqjIyMjRr1iwdOHBAI0eO9PNHgOry5Zdf6rnnnpPb7fZ+g09NTdXatWvVqVMnPfzwwzXu+hYej0fTpk0r80NGfn6+5s2bp8LCQt12222aPn26fv75Z4WFhemCCy7QyZMn5Xa7tX79ehUXF2vChAl+/ijOv5kzZ/r82NNPkzh9P8uy9Mgjj5zXdfnb8OHDjS+oJenDDz/U22+/bfxhNT09Xc8++6yys7PL/YE1WG3cuFFHjhxRmzZtyrw/NTVVzz33nPcH1aSkJO9vkg8fPqzVq1crOztb06dP1wsvvOB9oe0kHo9He/fu1b59+/T666+rU6dO6tWrlxITE2vk6TXz5s3TiRMn1Lx5c02aNKnco22ioqIUFRWl+Ph4XXvttRo0aJCmTp2qlJQUzZ8/X/fff381rxzVLTk5WTt27JDL5dKdd96p3r17KyYmRtu3b9f777+v/fv367XXXlNWVpbuuecefy+32ixZskRFRUVq3bq1nnzySUVHRys7O1tPPPGEDh48qNmzZ6tZs2Z65plnyvywPnDgQD322GM6evSoli1bpjvuuMOPH0XVOZdjd2rK9+Tly5fr0KFDCgsL02OPPabf/OY3ZbZv2rRJzzzzjA4cOKA1a9aoR48e/lloFTl27JhCQkJ00UUXlXn/qlWrZFmWRowYoVtvvbXMtri4OP3ud79TXFyc3nrrLS1btsxxA0Dp1JF/f/nLX7R8+XKtXbtWubm52rNnj/bu3avXX39dnTt3Vs+ePc940EgwYwCIgLdhwwYtWrRIlmWpT58+uv322894+HpGRobmz5+vpUuXavHixWrbtq3tmz+c58iRI5o5c6aKi4sVExOja665RjExMdqxY4f27dunr776SocOHdKUKVPUoEEDfy+32pz+Q8btt9+uSy+9VDt37tSHH36oJUuWyLIs5ebmatSoUbrpppsUFham/Px8ffTRR/rPf/6jTZs26dtvv3XcP4YrV66s9Ithj8ejL774wvu2EweA5Tl06JDeeecdeTwetW7dWsOHD1fr1q0lSbt27dJ7772nXbt26c0331T79u3L/NY52P3www+SZBsALliw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AAAAAAAAHIwBIAAAAAAAAOBgDAABAAAAAAAAB2MACAAAAAAAADgYA0AAAAAAAADAwRgAAgAAAAAAAA7GABAAAAAAAABwMAaAAAAAAAAAgIMxAAQAAAAAAAAcjAEgAAAAAAAA4GAMAAEAAFBlDh48KMuyZFmW7rvvPn8vBwAAoEZiAAgAAAAAAAA4GANAAAAAAAAAwMEYAAIAAAAAAAAOxgAQAAAAAAAAcDAGgAAAAAAAAICDMQAEAACAX+3Zs0fPPvusbrvtNrVq1Uq1a9dWrVq11KBBAyUlJWnatGlKT08vd/+77rrLe6fhtWvX+vRnXn/99d59du7cWe7jFi1apHvvvVctW7bUBRdcoKioKCUkJGj48OFavnx5hX/GqlWrvH/G5MmTJUl79+7V+PHjdcUVV6hu3bpltgEAAFSVUH8vAAAAADXXO++8oxEjRhi3HT9+XMePH9eaNWs0Y8YMvffee+rbt6/tcQ8++KDmzZsnSZo9e7a6du1a4Z+5e/durVq1SpKUlJSkyy67zPaY1NRUDRo0SOvXr7dtO3jwoA4ePKi5c+fqjjvu0DvvvKOoqKgzfaiaM2eORo8erby8vDM+FgAA4HxiAAgAAAC/yc3NlWVZateunZKSktSmTRvFxcVJkg4fPqzly5fr008/VXZ2tu644w6tW7dO7du3L/McPXv2VOvWrbV7927997//1cyZM1W3bt1y/8zZs2d7337ggQds21NTU9WpUyf99NNPkqTExETdeuutatmypUJCQrR792698847OnDggObPn6+cnBwtXbpUlmWV+2euW7dO06dPl2VZGjFihLp166bo6Gjt27dPzZo1q0wyAACASrM8Ho/H34sAAACAMx08eFAJCQmSpBEjRuitt94qs/27775TeHi4WrZsWe5zLF++XAMHDlRubq569eplPPX2+eef17hx4yRJs2bN0sMPP2x8roKCAjVp0kQZGRm68MIL9eOPPyo8PNy73ePxqGvXrlq/fr1cLpdefvlljRo1yvg89913n/7zn/9Ikl599VWNHDmyzGNWrVql66+/3vvfDRo00LJly9S2bdtyP1YAAICqwDUAAQAA4DdXXHFFhcM/Serdu7ceffRRSdKKFSv0448/2h5z3333eU/DPf0Iv1+bP3++MjIyvPucPvyTTl3zr/S038mTJxuHf5IUHh6ut99+WxdffLEk6Z///GeFH4MkvfLKKwz/AACAXzAABAAAQMC77rrrvG9v2LDBtr1u3boaPHiwJGnHjh1at26d8XlOHw6OHj3atv3tt9+WdGrA98gjj1S4plq1amnIkCGSpF27diklJaXcxzZv3lwDBw6s8PkAAACqCtcABAAAgN99+eWXev/997Vx40YdOHBAP//8s4qKioyPPXz4sPH9Dz74oN544w1JpwZ91157bZntu3fvVnJysqRTdwG+9NJLbc+xevVqSVLDhg21cuXKM647KyvL+/b3339f7vX8unbtWuE1AgEAAKoSA0AAAAD4zS+//KLhw4dr4cKFPu+TnZ1tfP8111yjjh07atOmTfrggw80c+ZM1alTx7v9TDf/yMnJUXp6uiQpJSVFt912m89rkqTMzMxyt8XHx1fquQAAAM4nBoAAAADwm0GDBmnp0qWSpOjoaPXt21eJiYlq3LixoqKiFBp66uXqjh07NGnSJEmS2+0u9/kefPBBbdq0SXl5eXr33Xc1ZswYSadu2lF6em/9+vWNw70TJ06c08dSWFhY7rbIyMhzem4AAIBzwQAQAAAAfrF27Vrv8O+qq67S559/rosuusj42LCwMJ+ec/DgwRo/fryysrI0e/Zs7wDw9Jt/3H///apVq5Zt39q1a3vfbt++vb755ptKfTwAAACBipuAAAAAwC8+//xz79tPP/10ucM/Sfrhhx98es7IyEjdd999kqTt27d77+j7yiuvSJIsyzLe/EOS6tSp4x0ClnedQQAAgGDEABAAAAB+ceTIEe/bLVu2rPCxn3zyic/P+/vf/957w43Zs2dr165d3pt79OrVSy1atCh33+7du0uSjh07xhGAAADAMRgAAgAAwC+io6O9b+/bt6/cx61fv75SA8BLL71UPXv2lCR98MEHmjFjhneb6eYfpxsxYoT37YkTJ8rj8fj85wIAAAQqBoAAAADwi44dO3rffuqpp5Sfn297zLZt23TnnXdWehD30EMPSZJyc3P1xhtvSJIaNmyogQMHVrjfnXfeqU6dOkmSPv30U91777365Zdfyn282+3Wp59+qmnTplVqfQAAANWJm4AAAADAL26//XY1a9ZMKSkp+vrrr9W6dWuNHDlSLVu2VG5urpKTk/Wf//xHRUVFGjFihPcuvr4YMGCAGjdurLS0NO/7fvvb357xZiKWZWn+/Pnq0qWLUlNTNWfOHC1ZskR33XWXOnTooLi4OOXn5ystLU1bt27VsmXLdPz4cfXq1UsTJ0486xYAAABViQEgAAAA/CI8PFwLFizQzTffrPT0dKWkpOiJJ54o8xiXy6W///3v6tSpU6UGgKGhoRo1apSeeuopSacGe6NGjfJp3yZNmujrr7/Wfffdp08++cR7R+GKxMfH+7w2AACA6sYpwAAAAPCbDh06aNu2bRo/frxat26tiIgI1a5dW5deeqkeeOABbdy4UX/+85/P6rlvvPHGMm8nJCT4vG+DBg20dOlSrV+/XmPGjNHVV1+tCy+8UC6XS9HR0WrRooX69eunv//979qxY4feeuuts1ojAABAdbA8XNkYAAAADjR27FjNnDlTkrRgwQLddtttfl4RAACAfzAABAAAgOPk5OSoadOmysrKUpMmTXTw4EGFhnL1GwAAUDNxCjAAAAAc59lnn1VWVpYkacyYMQz/AABAjcYRgAAAAAh6P/74o7Zv3668vDwlJyfrxRdflNvtVsOGDbVv3z7Vrl3b30sEAADwG34VCgAAgKC3bNky3X///WXe53K59PrrrzP8AwAANR6nAAMAAMBRGjZsqFtuuUVr1qxR3759/b0cAAAAv+MUYAAAAAAAAMDBOAIQAAAAAAAAcDAGgAAAAAAAAICDMQAEAAAAAAAAHIwBIAAAAAAAAOBgDAABAAAAAAAAB2MACAAAAAAAADgYA0AAAAAAAADAwRgAAgAAAAAAAA7GABAAAAAAAABwMAaAAAAAAAAAgIMxAAQAAAAAAAAcjAEgAAAAAAAA4GAMAAEAAAAAAAAHYwAIAAAAAAAAOBgDQAAAAAAAAMDBGAACAAAAAAAADsYAEAAAAAAAAHAwBoAAAAAAAACAgzEABAAAAAAAAByMASAAAAAAAADgYAwAAQAAAAAAAAdjAAgAAAAAAAA4GANAAAAAAAAAwMEYAAIAAAAAAAAOxgAQAAAAAAAAcLD/D8VGMFAhSlCSAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "image/png": { - "height": 480, - "width": 640 - } - }, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "filtered = df\n", - "filtered = filtered[filtered[\"pos\"] == 4]\n", - "g = (\n", - " ggplot(filtered)\n", - " + geom_bar(aes(x=\"layer\", y=\"prob\", fill=\"token\"), stat=\"identity\")\n", - " + theme(axis_text_x=element_text(rotation=90), legend_position=\"none\")\n", - " + scale_y_log10()\n", - " + facet_wrap(\"~token\", ncol=1)\n", - ")\n", - "print(g)" - ] - }, - { - "cell_type": "markdown", - "id": "31ffe7d0", - "metadata": {}, - "source": [ - "### Define a new additive intervention that adds a little bit of *Rome*" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "7c5aa3d3", - "metadata": {}, - "outputs": [], - "source": [ - "rome = t5.shared(torch.tensor(5308))\n", - "layer_norm = torch.nn.LayerNorm(rome.shape)\n", - "\n", - "\n", - "class AddingRomeIntervention(Intervention):\n", - "\n", - " \"\"\"Intervention that is strange and destroys basis.\"\"\"\n", - "\n", - " def __init__(self, embed_dim, **kwargs):\n", - " super().__init__()\n", - " self.interchange_dim = None\n", - " self.embed_dim = embed_dim\n", - "\n", - " def set_interchange_dim(self, interchange_dim):\n", - " self.interchange_dim = interchange_dim\n", - "\n", - " def forward(self, base, source):\n", - " # interchange\n", - " base[: self.interchange_dim] += rome\n", - "\n", - " return layer_norm(base)\n", - "\n", - " def __str__(self):\n", - " return f\"AddingRomeIntervention(embed_dim={self.embed_dim})\"\n", - "\n", - "\n", - "def simple_position_config(model_type, intervention_type, layer):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " layer, # layer\n", - " intervention_type, # intervention type\n", - " \"pos\", # intervention unit\n", - " 1, # max number of unit\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=AddingRomeIntervention,\n", - " )\n", - " return intervenable_config" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "f3507153", - "metadata": {}, - "outputs": [], - "source": [ - "# should finish within 1 min with a standard 12G GPU\n", - "tokens = tokenizer.encode(\"Madrid Rome\")[:2]\n", - "\n", - "data = []\n", - "for layer_i in range(t5.config.num_layers):\n", - " intervenable_config = simple_position_config(type(t5), \"mlp_output\", layer_i)\n", - " intervenable = IntervenableModel(intervenable_config, t5)\n", - " for pos_i in range(len(base.input_ids[0])):\n", - " _, counterfactual_outputs = intervenable(\n", - " base, sources, {\"sources->base\": ([[[pos_i]]], [[[pos_i]]])}\n", - " )\n", - " distrib = embed_to_distrib_t5(counterfactual_outputs.logits, logits=False)\n", - " for token in tokens:\n", - " data.append(\n", - " {\n", - " \"token\": format_token(tokenizer, token),\n", - " \"prob\": float(distrib[0][-1][token]),\n", - " \"layer\": f\"f{layer_i}\",\n", - " \"pos\": pos_i,\n", - " \"type\": \"mlp_output\",\n", - " }\n", - " )\n", - "\n", - " intervenable_config = simple_position_config(type(t5), \"attention_input\", layer_i)\n", - " intervenable = IntervenableModel(intervenable_config, t5)\n", - " for pos_i in range(len(base.input_ids[0])):\n", - " _, counterfactual_outputs = intervenable(\n", - " base, sources, {\"sources->base\": ([[[pos_i]]], [[[pos_i]]])}\n", - " )\n", - " distrib = embed_to_distrib_t5(counterfactual_outputs.logits, logits=False)\n", - " for token in tokens:\n", - " data.append(\n", - " {\n", - " \"token\": format_token(tokenizer, token),\n", - " \"prob\": float(distrib[0][-1][token]),\n", - " \"layer\": f\"a{layer_i}\",\n", - " \"pos\": pos_i,\n", - " \"type\": \"attention_input\",\n", - " }\n", - " )\n", - "df = pd.DataFrame(data)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "a858d727", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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crlc+vrrryvdBgAAiSHAACwoLi5OgwYN0gcffKAVK1ZowoQJWrFihTwejwYNGuTTPXL279+vxYsXa8uWLTp06JAKCwtlmma5bY4ePVru+927d0uS2rVrp8aNG1fa7nnnnecdUlydHj161FjjmUpLS/XDDz9IUqUTg5Tp3bt3lbMkAwAQyVwul44fP17hcZvNpgcffLDcrUGk/127zzvvPMXGxlba5rnnniuHw6GCggLt3r1bnTp1qrBNx44dK9339PcDZb36z5ScnCzp1G08Trd9+3ZJ0po1a/T5559Xuq90avIySTp8+HCV2wAAQAAIwJKGDRumDz74QB999JEmTJjg8/BfSVq9erWeeuopuVwuSac+/U9MTPT+YVBYWKiioqIKQ3lPnDghSWrWrFmVbcfFxalRo0Y1DtNp1KhRjXWeKTc313tj88p6/5Wpbh0AAJGsV69emjFjhqRTYWBmZqYWL16s9957Ty+99JI6duxYLsAru3ZXd200DENNmzZVQUGBd/szNW3atNLHT5/Eq6ptbDabt97TlX3QWFBQoIKCgirrK1NcXFzjNgCA6EUACMCSevTooTZt2ujAgQNatGiRDhw4oDZt2niH2VSl7IbcLpdL559/vm6//Xadc8455XoNvvHGG/rHP/5RoUdgIPkz6y8AAKgoJiZGbdu21eTJk2Wz2fTuu+9q2rRpmjNnjuLj40NdXo3KPtS7/fbbKx0+DACAP7gHIADLKrvx9quvvlru++ps2LBBhYWFio+P11NPPaWePXtWGDJcVe+9smE+2dnZVbZfWlqqnJwcX8r3m9Pp9PYiOHN48umqqw8AACu67bbblJycrIyMDC1cuND7uC/XbtM0vdfVqm7xEQxlQ4MZ2gsACAQCQACWdfnll8swDLlcLtlsNp8CwLJJQ9q2beudae90pmnqm2++qXTfc845R5K0d+/eKkO+rVu31nj/v9qKjY313l+oqhprWgcAgBUlJCRo7NixkqQFCxZ4ZwQuu3Zv3bpVpaWlle67c+dO7xDcsu3rQ8+ePSVJX375pbc3IAAAtUUACMCyWrRooTvvvFNjx47Vr3/9azVv3rzGfRITEyVJhw4dUklJSYX1H330kTIyMird9+c//7kSExPldrs1f/78CutN01R6erqfZ+GfgQMHSpI+/PDDSnsqbtmyxTsTIgAA0WTkyJFKSkpSQUGB3nnnHUnSpZdeKpvNptzcXC1evLjCPqZpau7cuZJOTfJV2QQgwTJs2DDZbDYdOnSoXK/FypRNBAIAQFUIAAFY2tixY3XXXXd5P/WvSd++fWUYhk6ePKmnn37aG6IVFhbqnXfe0fPPP6+GDRtWum98fLz3Hj0LFizQP/7xD2+PgaNHj+qpp57SN998E9T7Do0aNUpNmjRRfn6+/vCHP2jXrl2STt1HaP369Xr00Ue9IScAANHE4XBo9OjRkqR3331Xubm5at68uUaNGiXp1C1DFi1apMLCQkmnhgU/9dRT+uqrrySduhdffWrbtq3GjRsnSfrb3/6mmTNn6scff/SuLykp0bZt2zRr1ixNmDChXmsDAEQeJgEBgNO0bdtW1113nd555x2tXr1aq1ev9vYW8Hg8uuCCC9S1a1elpaVVuv+4ceO0e/durV27Vm+88Ybmzp2rxMRE5eXlSZJ+97vfaeHChRVmEA6UpKQkTZs2TQ888ID27Nmju+66Sw6HQ263W8XFxWrdurVGjBihV155JSjHBwAgnF133XVatGiR8vPz9c477+jmm2/Wr3/9ax06dEifffaZXn75Zf3tb3+Tw+FQXl6ed8KvO+64QxdffHG913vbbbeptLRU77zzjhYvXqzFixcrISFBMTExys/P9w4NZvIwAEBN6AEIAGf47W9/qylTpqhLly6KjY2Vx+NR586d9dvf/lZPPfVUtW+y7Xa7/vznP+u+++7z7i9Jffr00VNPPaVrr7026PWfd955mjNnji6//HIlJyertLRUTZs21dixY/XKK69U2YMRAACra9Soka6++mpJ0j//+U/l5eUpLi5OTz75pKZOnao+ffooMTFRhYWFatKkiQYOHKhZs2bphhtuCEm9NptNv/3tbzV79mxdddVVOvvss+XxeFRYWKjk5GT17dtXt956q958882Q1AcAiByGWfaxFkJq9+7doS4BAAD4oTaTAXC9BwAgstTn5D9AMNEDEAAAAAAAALAwAkAAAAAAAADAwggAAQAAAAAAAAsjAAQAAAAAAAAsjAAQAAAAAAAAsDACQAAAAAAAAMDCCAABAAAAAAAACyMABAAAAAAAACyMABAAAAAAAACwMAJAAAAAAAAAwMIIAAEAAAAAAAALIwAEAAAAAAAALCwm1AXglCZNmoS6hHoTHx8vm80mj8ejoqKiUJcT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fvrTn2bWrFlJkra2tpx77rkDAd15552X3t7eYfd733335bvf/W6S5Iorrsipp56aQqGQQqGQU089Nd/4xjeSJN/5zndGZRnvrhAAAgAAAFSR0rP/KfNtNGb4jYfgcMGCBUmSv/3bv82+++67TfunPvWpFAqFrFixIr/61a+G3e+VV16ZUqmUgw46KG9961u3aT/ttNNy0EEHpVQq5aqrrhpZ0aNMAAgAAABQRTaHa6Wy37K923DSuS22L199w/tZrV+/PnfeeWeS5A1veMN2t9l3333zwhe+MEly4403Dvvf4aabbkqSnHjiiSkUtj2xYqFQyOtf//oR91sOAkAAAACAalOpJbvFLW7b+16xzI8/whmAS5YsSek/rpj8ohe9aNDtnm37wx/+MKx+S6VSlixZMux+n912e2688cYcfPDBaWlpyW677ZaXvvSl+cxnPpMnnnhiWLUMhwAQAAAAoMpU/OIdpcpeTGS4IeDKlSsH7u+9996Dbvds25bbD6WzszMbNmwYdr+dnZ1Zv379drdZvnx5Hn/88bS3t2f9+vW5++67c9FFF+Wwww4btZmDAkAAAACAalKp2X//cSv7+f2GcxumLUO3tra2Qbd7tq2zs7Ms/W6v76OOOipf/epX8+c//zk9PT1Zs2ZNnn766SxYsCDPe97zsmbNmrzlLW/JQw89NKyahtK0yz0AAAAAMHZGMgVuZ2zR9bZntttxW2lHG4yKMh7/GDn77LO3+V5HR0fOOOOMHHvssTnyyCOzdu3anH/++bt8EREBIAAAAEA1KSVfOn/2Tu36iX8s/8UoBnK/YWZ0l352545lOCZNmjRwf+PGjZk8efJ2t9u4cWOSzQHczvQ7mC3bhtt3ksycOTMf+chHcuGFF+anP/1pisViGhp2fiGvADBJV1dXFi5cmNtvvz2rV69Ob29vkmTRokUVrgwAAABgFA0SypV1st7QD11WW56fb8WKFYMGgCtWrEiSPO95zxtWvx0dHZk0aVLWr18/sO9Q/T67/Ui87GUvS5I888wzeeqpp7LHHnuMaP8tCQCTXHLJJbnnnnuSJK2trWlvb0+S9Pf35957783dd9+dJUuWZOXKlenu7s6kSZNywAEH5LjjjstrXvOaXUpgAQAAAEZiV8K6QgVXzo5FyPhchx56aAqFQkqlUh544IEceuih293ugQceSJIcdthhw+q3UCjkhS98Ye68886BfYfq94UvfOEIKx9ddR8ALl26dCD8+/SnP51XvvKVA21f+cpX8stf/nLg68bGxrS0tGTdunW55557cs899+Tf/u3fct5552XixIljXjsAAABQnz55XvmX8o6VnTmW0/76pXnpS3e83aRJk3LMMcfkjjvuyM9//vOcdtpp22yzfPny/OEPf0iSzJ49/OXIr33ta3PnnXfmF7/4xaDbPJsrjaTfZ91xxx1JNs8e3H333Ue8/5bqfura0qVLk2z+YW4Z/iVJX19fpk6dmtNPPz2XXnppfvjDH2bhwoVZsGBB3v72t6ehoSG///3v85WvfKUSpQMAAAD1qJSkVBryVqjy246ObyQLis8444wkyXe/+90sW7Zsm/Z/+qd/SqlUyt57753jjz9+2P3OmTMnhUIhDz/8cH70ox9t037NNdfk4YcfTqFQGKhh4J+wNHT9S5cuzfz585MkJ5988i6vPq37ALCnpydJtjuD741vfGO+8Y1v5F3velcOOuiggR/25MmTM3fu3Lz97W9PkixevDhPPvnk2BUNAAAA1K2+vv4Usnk572C3VPltqGMrlJKlf35q2D+vD3zgAznggAOyYcOGvOlNb8p9992XZPM1IS655JKBiV0XXXRRmpubt9p3v/32S6FQyLvf/e5t+n3xi1+cv/3bv02SnHXWWbn22mtTKpVSKpVy7bXX5n3ve1+S5J3vfGcOP/zwrfZdsGBBTjvttPz4xz/O6tWrB76/fv36fPe7382rXvWqrFmzJpMmTcr5558/7GMdTN0uAb7qqquycOHCga9XrVqVU045ZeDrj33sYzucnjl79uyBPh555JFdOhkjAAAAwHA0NTUmxQqezG8c2HefacPetqWlJYsWLcprX/va3HfffZk1a1YmT56cDRs2pL+/P0ny0Y9+NO95z3tGXMe//Mu/5NFHH80dd9yRt7zlLZk4cWJKpVK6u7uTJK94xSvy1a9+dZv9+vv7c8011+Saa65JsnmpcktLS9auXZtisZgk2XPPPbNw4cIccsghI67ruep2BuDEiRMzZcqUtLW1JUkaGhoyZcqUgduECRN22MeWV4559gkDAAAAUG47miFX6Rl8ZZ8NOMJLihx++OH5/e9/n7/7u7/LQQcdlJ6enuy222454YQT8qMf/Shf/vKXR9TfsyZNmpTFixfni1/8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8kyePLnCR8J48rnPfS533nln/v7v/z7HHnvsDrfftGlTPve5z+Xee+9NS0tLisVi+vr68uMf/7j8xVLV+vr6cvXVV+eHP/xh+vv789KXvjQf/OAHM3ny5LzjHe9IoVDwPIIY7ykP4z1jxXgP1CMBIKNu6dKlueiii/LEE08M+zwapVIpf/VXf5Xzzjsv++67b5krpNr85Cc/yRVXXJGXvvSl+Yd/+Idh7dPb25tLLrkkv/3tb5PEL3KMyLJlyzJ//vwsWbIkra2tefOb35zvf//7nkewBeM9o814z1gz3gP1RABIWfT29uYXv/hFbr755jzyyCMZ7GlWKBRy8MEH5zWveU1OPPHENDc3j3GlVIPVq1fnrLPOSqFQyJe+9KXsv//+w9qvv78//+N//I/cdtttfpFjp/z85z/Pt7/97XR1daVUKnkewXMY7xlNxnsqxXgP1AMBIGXX3d2dZcuWZe3atenq6kqSTJw4MdOmTcuMGTPS2tpa4QqpBqtXr06xWMykSZPS1tY27P2KxWKWLFmSUqmUF73oRWWskFq1du3afPvb386TTz6ZZPMSNWBbxntGg/GeSjHeA7VOAAgAAAAANcxVgAEAAACghgkAAQAAAKCGCQABAAAAoIYJAAEAAACghgkAAQAAAKCGCQABAAAAoIYJAAEAAACghgkAAQAAAKCGCQABAAAAoIYJAAEAAACghgkAAQAAAKCGCQABAAAAoIYJAAEAAACghgkAAQAAAKCGCQABAAAAoIYJAAEAAACghgkAAYC6c/PNN6dQKKRQKOT8889Pkjz44IP56Ec/mkMOOSTt7e2ZOnVqXv7yl+dLX/pSenp6dthnV1dXvvKVr+R1r3tdnve852XChAnZfffdc/TRR+e8887LihUrdthHT09P/uVf/iVvfOMb8/znPz+tra1pa2vLvvvum6OOOipz587Nt771raxfv35XfwQAANSRQqlUKlW6CACAsXTzzTfn+OOPT5L84z/+Y174whfmve99bzZu3Ljd7Q899ND8/Oc/z8yZM7fbfuedd+a0007LsmXLBn3Mtra2XH755Xnve9+73fY//elPecMb3pCHHnpoh/V///vfz+mnn77D7QAAIEmaKl0AAEAl3XXXXbnkkkvS29ubOXPmZPbs2Zk4cWIeeOCB/K//9b+ycuXK/PGPf8zxxx+fe+65J7vttttW+9933305/vjjs2HDhiTJYYcdlne+853Zf//9s2bNmvz4xz/OL3/5y2zcuDFnnXVWSqVSzjrrrG3qOP300wfCv0MPPTRve9vbMnPmzOy222555pln8uCDD+aWW27Jb37zm/L/UAAAqClmAAIAdWfLGYDJ5tl5P/3pT3Pcccdttd3TTz+dk046KbfddluS5IMf/GC+9rWvDbQXi8XMmjUr999/f5Lkfe97X/7n//yfaWra+jPWb37zm3n/+9+fUqmUtra2PPDAA9lvv/0G2n/729/m6KOPTpK87W1vy8KFC9PQsP0ztfz5z39OqVTaan8AABiKcwACAHXvkksu2Sb8S5IpU6bk+9//fiZNmpQk+da3vpUnn3xyoP2nP/3pQPj34he/OF/72te2Cf+S5KyzzsoHP/jBJMnGjRszb968rdofeeSRgfvvfve7Bw3/kmTmzJnCPwAARkQACADUtSlTpuT973//oO3Pf/7zc8YZZyTZfJGOn/zkJwNt11xzzcD9T37yk2lsbBy0n09/+tMpFArb7Jck7e3tA/fvuuuukR0AAADsgAAQAKhrxx57bFpbW4fc5oQTThi4v+U5+O64446B+69//euH7GPmzJk59NBDkyRLly7NypUrB9pe9apXpa2tLUlywQUX5OMf/3juueeeOFMLAACjQQAIANS1gw8+eETbrFixYuD+syFeR0dH9tprrx3284IXvGCbfZNk2rRpmTdvXhoaGtLX15d58+blqKOOyh577JE3v/nN+cIXvpB77rlnWMcDAADPJQAEAOralstvh7NNZ2fnNveH00eSgXMJPrefZPMFRH7961/n9a9//cA5AJ966qlcd911+fSnP52jjjoqL37xi3P99dcP67EAAOBZAkAAoK5t2LBhRNt0dHRsc384fSTJ+vXrt9vPs4499tj84he/yOrVq7No0aL89//+33PssccOXFjk97//fU466aR861vfGtbjAQBAIgAEAOrcllfgHc42e++998D95z3veUk2z+Z74okndtjPQw89tN1+nmvq1Kl585vfnIsvvjiLFy/OihUr8pGPfGSg/ZOf/GR6e3t3+HgAAJAIAAGAOrd48eL09PQMuc2//du/Ddx/2ctett37v/zlL4fsY+nSpfnjH/+YJNl3332Hdc7AZ+2xxx65/PLLM2vWrCTJmjVr8sADDwx7fwAA6psAEACoa08//XSuuOKKQdtXrlyZK6+8MknS0tKSN73pTQNtp5122sD9L37xi+nv7x+0ny984QsDV/Xdcr+R2H///Qfu9/X17VQfAADUHwEgAFD3/tt/+2+55ZZbtvn+M888k7e//e0DF+x4z3vekz322GOg/aSTTsoRRxyRJPnd736X//Jf/st2g7lvfetb+drXvpYkaWtry8c+9rGt2q+88sp885vfHPJcgg899FBuvPHGJElra2sOOeSQER4lAAD1qqnSBQAAVNKb3vSm3HDDDXnta1+bv/mbv8ns2bMzceLE/OEPf8g3v/nNrFixIsnm2Xdf+MIXttq3oaEhCxYsyCtf+cps2LAh3/jGN3Lbbbflne98Z/bbb7+sWbMm1157bX7+858P7PPlL385M2fO3Kqfhx9+OJ/97Gdz9tln54QTTsjRRx+dfffdNxMnTsyTTz6Z3/zmN/nBD34wEBCeffbZ272ICAAAbE+h9OxaFACAOnHzzTfn+OOPT5L84z/+Yw477LC85z3vycaNG7e7/SGHHJKf//zn2W+//bbbfuedd+atb31rli9fPuhjtrW15ctf/nLOOuusbdo++9nP5vzzz99h3YVCIR/60Icyb968NDY27nB7AABIzAAEAMjb3/72zJo1K5dffnl++ctf5v/+3/+b5ubmHHLIIXnHO96RD3/4w2lpaRl0/6OPPjoPPfRQrrjiilx77bW5//77s2bNmkyaNCkHHHBATjzxxHz4wx8e9Mq/5557bo4//vjcdNNN+c1vfpMHH3wwK1euzKZNmwb6eNWrXpX3vve9OfLII8v1YwAAoEaZAQgA1J3nzgAczuw7AACoVi4CAgAAAAA1TAAIAAAAADVMAAgAAAAANUwACAAAAAA1TAAIAAAAADXMVYABAAAAoIaZAQgAAAAANUwACAAAAAA1TAAIAAAAADVMAAgAAAAANUwACAAAAAA1TAAIAAAAADVMAAgAAAAANUwACAAAAAA1TAAIAAAAADVMAAgAAAAANUwACAAAAAA1TAAIAAAAADVMAAgAAAAANUwACAAAAAA1TAAIAAAAADVMAAgAAAAANUwACAAAAAA1TAAIAAAAADVMAAgAAAAANUwACAAAAAA1TAAIAAAAADVMAAgAAAAANUwACAAAAAA1TAAIAAAAADVMAAgAAAAANez/B9n4XZxqgyW/AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "image/png": { - "height": 480, - "width": 640 - } - }, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "df[\"layer\"] = df[\"layer\"].astype(\"category\")\n", - "df[\"token\"] = df[\"token\"].astype(\"category\")\n", - "nodes = []\n", - "for l in range(t5.config.num_layers - 1, -1, -1):\n", - " nodes.append(f\"f{l}\")\n", - " nodes.append(f\"a{l}\")\n", - "df[\"layer\"] = pd.Categorical(df[\"layer\"], categories=nodes[::-1], ordered=True)\n", - "\n", - "g = (\n", - " ggplot(df)\n", - " + geom_tile(aes(x=\"pos\", y=\"layer\", fill=\"prob\", color=\"prob\"))\n", - " + facet_wrap(\"~token\")\n", - " + theme(axis_text_x=element_text(rotation=90))\n", - ")\n", - "print(g)" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "f2caa1b4", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAB7CAAAewgFu0HU+AACqKElEQVR4nOzde5idBX3o+9+aFUhmIkMmEioSwplwqTdUsCpQDZGDsstlbzZ4KCK79jTQblsUsexjdymebqWKTz1WhUKrtNqWm5XL5qal7WYTLChxi+FStSGgBgwBciEDyWRIVtb5AzI74f1NsjJkZb3rXZ/P8/gYsi7zy/d9X+Lzc828tWaz2QwAAAAAoJL6Oj0AAAAAANA+FoAAAAAAUGEWgAAAAABQYRaAAAAAAFBhFoAAAAAAUGEWgAAAAABQYRaAAAAAAFBhFoAAAAAAUGEWgAAAAABQYRaAAAAAAFBhFoAAAAAAUGEWgAAAAABQYRaAAAAAAFBhFoAAAAAAUGEWgAAAAABQYRaAAAAAAFBhFoAAAAAAUGEWgAAAAABQYRaAAAAAAFBhFoAAAAAAUGEWgAAAAABQYRaAAAAAAFBhFoAAAAAAUGEWgAAAAABQYRaAAAAAAFBhFoAAAAAAUGEWgAAAAABQYRaAAAAAAFBhFoAAAAAAUGEWgAAAAABQYRaAAAAAAFBhFoAAAAAAUGEWgAAAAABQYRaAAAAAAFBhFoAAAAAAUGEWgAAAAABQYRaAAAAAAFBhUzo9AN1hyZIlnR4BAAAAoOcdeuihO/0anwAEAAAAgAqzAAQAAACACrMABAAAAIAKswAEAAAAgAqzAAQAAACACrMABAAAAIAKswAEAAAAgAqzAAQAAACACrMABACgZ51xxhnxnve8J/7hH/5h0u/xnve8J97znvfE4sWLd/q1//AP/xDvec974owzzpj01wcA2JEpnR4AAIDquOSSS+KOO+6IiIharRbXXHNNvOY1r5nw+U8//XR84AMfiM2bN0dExPHHHx9/8Ad/sFtmBQDoFT4BCABAWzSbzfFl4ETuuOOO8eVftzrggAPigAMOiKlTp3Z6FACAlAUgAAC73C/90i9FRMQ//uM/RrPZnPB5WxaEW57fjf72b/82/vZv/zZe//rXd3oUAICUBSAAALvcwQcfHMPDw7F8+fJ46KGH0uc89NBD8Ytf/CLmzp0bBx988G6eEACgd/gZgAAAtMXxxx8ff/EXfxF33HFHvPnNby48vuXTf8cff3w8+OCD6Xs899xzsXDhwli0aFEsW7YsVq5cGZs2bYp99tknjjjiiPj1X//12H///Secodlsxq233hq33357LFu2LPbcc884+OCD49d//dfjHe94x4SvW7FiRXzgAx+IiIhrr702xsbG4pprrokf/vCHsXr16jjyyCPj4osvjogXbwISEfFnf/Zn8da3vrXwXr/4xS/ib/7mb+IHP/hBPPfcczFr1qx417veFf/pP/2nCb8+AMCuZAEIAEBbHHfccfGVr3wlFi5cGB/5yEdi2rRp44+NjY3FXXfdFX19fXHcccdNuAC84YYb4m/+5m8iIqJer8f06dNjw4YN8Ytf/CJ+8YtfxD/90z/FxRdfHG9729sKr200GvHpT386Fi5cGBERfX19MWXKlPjhD38YP/zhD+Pcc89t6c/x4IMPxp/92Z/Fhg0bYmBgIOr1essNHnroofjEJz4Ro6OjERHR398fK1eujL//+7+Pe++9N04++eSW3wsAYLIsAAEAaItXv/rV8fa3vz3uu++++M53vhPvfe97xx/7zne+E+vWrYt3vvOdMXPmzO2+x2/91m/FUUcdFcPDw1Gv16PRaMRjjz0Wf/VXfxX33XdfXHzxxXHNNddEf3//Nq/9xje+EQsXLoxarRYf+tCH4v3vf39Mnz49Vq1aFZdffnlcccUVMWXKjv/n8Be/+MX45V/+5TjvvPNieHg4ms1mLF++fIeve/755+OP//iPY3R0NP6P/+P/iP/yX/5LvOENb4hGoxHf/e5340//9E/jb//2b3f4PgAAr5SfAQgAQNu8733vi4gXbwayta2//Xd7Tj755PhP/+k/xcEHHzz+ybt6vR6HHHJIfPrTn44DDzwwnn322fFP+W2xYcOGuOaaayIi4vTTT48PfehDMX369Ih4cal44YUXxmGHHRYbNmzY4Z9haGgoPve5z8Xw8HBERNRqte1+2/EWN910U6xevTqmT58ef/qnfxpveMMbxud/17veFf/tv/23WLdu3Q7fBwDglbIABACgbd71rnfFq171qrj//vvjmWeeiYiIZ555Ju6///7Ya6+94ld/9Vcn/d577LFH/Mqv/EpERDz88MPbPPa//tf/inXr1kW9Xo8zzjij8Nq+vr744Ac/2NLX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3bp1sXjx4li8eHGcfPLJcc455+zUe65cuTIuuuiidowLAAAAQIVYALbZxo0b4+KLL461a9fGgQceGB//+MdjeHg4xsbG4uabb46rr746br311hgeHo7jjjtup967v78/5s6dGwcffHAcdNBBce2118aTTz7Zpj8JAAAAAN3IArDN7rjjjlixYkVMnTo1PvnJT8asWbMiImLq1Klx+umnx+rVq+Nb3/pWXHXVVTF//vyYMqW1QzJr1qy47rrrolarjf/eTTfd1JY/AwAAAADdy01A2uyuu+6KiIh58+aNL/+2dtppp0WtVovVq1fHQw891PL79vX1bbP8AwAAAICMTwC20ejoaDzyyCMREXHEEUekz5k1a1bMnj07Hn/88XjggQfi8MMP350jAgD0rGcvOLczX7cjX3VbMz5/WadHAAB2I58AbKMnnngims1mREQceOCBEz5vy2OPP/74bpkLAAAAgN5hAdhGq1evHv/1zJkzJ3zelsfWrFnT9pkAAAAA6C0WgG20YcOG8V9PnTp1wudteWx0dLTtMwEAAADQWywAAQAAAKDC3ASkjaZNmzb+67GxsRgYGEifNzY2FhER/f39u2WuzFVXXRXXXHPNhI+///3vjw996EO7caKd09fXN/7fQ0NDHZ6mPHTJ6ZLTpUiTnC45XXJl7vJspwfooLIdi4hynyudpEuRJjldcmXu8mynB+igsh2LiHKfK7uCBWAbbf1z/1avXj3hAnDLzwrs5Am2bt26ePrppyd8fP369VGv13fjRJNTq9W6Ys7dTZecLjldijTJ6ZLTJadLuZT5WDhXcroUaZLTJadLuZT5WFT1XLEAbKPZs2dHrVaLZrMZy5Yti9mzZ6fPW7ZsWUREHHDAAbtzvG1Mnz499t133wkfHxgYiEajsRsn2jl9fX3jrTdv3tzpcUpDl5wuOV2KNMnpktMlp0s5lfF/1zlXcroUlb3JTxd8sNMjdMzwX13d6REKyn6+9Cp/D70yk1lQWgC2UX9/fxxyyCGxZMmSuP/+++Poo48uPGflypXx+OOPR0TEW97ylt094rizzjorzjrrrAkfX7lyZanvUjw0NBT1ej02b95c6jl3N11yuuR0KdIkp0tOl5wu5VTGY+FcyelSpEl5lfF4OF/KqYzHopvOlX322WenX+MmIG02f/78iIi4++6745lnnik8fuONN0az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AADYGRaAO/DEE09Es9mMiCh8C+7Wtjz2+OOPt/S+zWYznnjiiR2+75w5c3bqfQEAAABgaxaAO7B69erxX8+cOXPC5215bM2aNS297+joaGzYsKHl9x0dHY3R0dGW3hsAAAAAtrAA3IEtS7qIF2/6MZEtj7W6pNv6ea287868NwAAAABsYQEIAAAAABU2pdMDlN20adPGfz02NhYDAwPp88bGxiIior+/v6X33fp5W167vffdmfeejKuuuiquueaaCR9///vfHx/60Ifa9vVfqb6+vvH/Hhoa6vA0Rc92eoAOKeOxiCj/+dIpZe7ybKcH6KDtHYtnd98YpVK283ML11A5uYZyZTtHI1xDZeUayumS06VIk5wuuXb+/WcBuANb/3y+1atXT7gA3PKzAls9WP39/dHf3x+jo6Pb/JzBid53y/PbZd26dfH0009P+Pj69eujXq+37evvKrVarSvm7BVlPxbOl5wu5eJYFJW9iWuoXByLXJm7uIbKxbHI6ZLTpUiTnC65dnaxANyB2bNnR61Wi2azGcuWLYvZs2enz1u2bFlERBxwwAEtvW+tVovZs2fHI488Mv7aXfG+kzV9+vTYd999J3x8YGAgGo1GW2d4Jfr6+saP0+bNmzs9Di8p6znjfMnpUk5lvY46qaxNXEPlVNbzpdPK2MU1VE5lPFfKQJecLkWa5HTJtdplMotCC8Ad6O/vj0MOOSSWLFkS999/fxx99NGF56xcuTIef/zxiIh4y1ve0vJ7v/nNb45HHnkkfvjDH074nMWLF48/t53OOuusOOussyZ8fOXKlS3f4bgThoaGol6vx+bNm0s9Z68p67FwvuR0KSfHoqisTVxD5eRY5MrYxTVUTo5FTpecLkWa5HTJtdpln3322en3dhOQFsyfPz8iIu6+++545plnCo/feOON0Ww2Y+bMmXHYYYe1/L7z5s2LWq0Wy5cvj+9+97uFx++9995Yvnx51Gq18RkAAAAAYGf4BGALjj/++LjllltixYoV8elPfzrOP//8GB4ejrGxsbj11lvj9ttvj4gXP0U3Zcq2Sc8+++x4+umn49hjj42Pfexj2zw2PDwc8+bNi4ULF8all14atVot3vnOd0ZExH333ReXXXZZRLy4gJwzZ05hrk2bNsX69evH/3l0dHT81yMjI9s8d3BwcPIB4sVvWd7yg5nLzs8SKI9uOBbdMGMn6FIejkVRNzTphhl7hWORK3uXss/XSxyLnC45XYo0yemS8zMAO2yPPfaIP/qjP4oLL7wwfvazn8V5550XAwMDsWHDhvGfT3LSSSfFcccdt9Pv/bu/+7vx5JNPxpIlS+Izn/lM7LnnnhER8cILL0RExOte97r48Ic/nL72xz/+cVx44YXpYy//dt5bbrllp2fbWn9//4Q3QCmTer1eurvGRUSs6vQAHVLGY7G1sp4vnVbGLr16DUVs/zrq1S5lOz9fzjVULq6hXNnO0a25hsrFNZTTJadLkSY5XXLuAlwCc+bMiUsvvTRuuOGGWLRoUaxcuTKmT58ec+fOjRNPPDGOPPLISb1vf39/XHLJJXHbbbfFwoULY/ny5RERcdBBB8X8+fPjxBNPLHyqsBNGR0djbGys02NMaHBwMOr1ejQajcKnH+mcsv5cB+dLTpdyKut11EllbeIaKqeyni+dVsYurqFyKuO5Uga65HQp0iSnS67VLpNZFHZ+s9RFZsyYEQsWLIgFCxa0/Jorr7xyh8+ZMmVKnHLKKXHKKafs1DyHHXbYK/5kX6uazWbX3KWnW+bsBd1wLLphxk7QpTwci6JuaNINM/YKxyJX9i5ln6+XOBY5XXK6FGmS0yXXzi4WgEBHPHvBuZ372h37yi+a8fnLOjwBAAAAvcQCkJa4CQiT4VjkuqFLN8zYKxyLom5o0g0z9grHIlf2LmWfr5c4FjldcroUaZLTJecmIHScm4C8Mr36Q0z9YNdcGc/RrZXxOnK+5Hq1S9nOz5dzDZWLayhXtnN0a66hcnEN5XTJ6VKkSU6XnJuA0HFuAsJk+MGuubJ2cR2VU1nPl04qaxPXUDmV9XzptDJ2cQ2VUxnPlTLQJadLkSY5XXJuAkLHuQkIk+FY5LqhSzfM2Csci6JuaNINM/YKxyJX9i5ln6+XOBY5XXK6FGmS0yXXzi7d8UPdAAAAAIBJsQAEAAAAgAqzAAQAAACACvMzAGlJrVaLvr7u2Be7nXh5OBa5bujSDTP2CseiqBuadMOMvcKxyJW9S9nn6yWORU6XnC5FmuR0ybWziwUgLenv74+BgYFOj7FD9Xq9rbfNnqxevY25W7vnyniObq2M15HzJderXcp2fr6ca6hcXEO5sp2jW3MNlYtrKKdLTpciTXK65Nr5958FIC0ZHR2NsbGxTo8xocHBwajX69FoNGJkZKTT4/ASt3bPlbWL66icynq+dFJZm7iGyqms50unlbGLa6icyniulIEuOV2KNMnpkmu1y2QWhRaAtKTZbHbNbbq7Zc5e4FjkuqFLN8zYKxyLom5o0g0z9grHIlf2LmWfr5c4FjldcroUaZLTJdfOLt3xQ90AAAAAgEmxAAQAAACACrMABAAAAIAK8zMAaUmtVou+vu7YF7udeHk4Frlu6NINM/YKx6KoG5p0w4y9wrHIlb1L2efrJY5FTpecLkWa5HTJtbOLBSAt6e/vj4GBgU6PsUP1er2tt82erF69jblbu+fKeI5urYzXkfMl16tdynZ+vpxrqFxcQ7mynaNbcw2Vi2sop0tOlyJNcrrk2vn3nwUgLRkdHY2xsbFOjzGhwcHBqNfr0Wg0YmRkpNPj8BK3ds+VtYvrqJzKer50UlmbuIbKqaznS6eVsYtrqJzKeK6UgS45XYo0yemSa7XLZBaFFoC0pNlsds1turtlzl7gWOS6oUs3zNgrHIuibmjSDTP2CsciV/YuZZ+vlzgWOV1yuhRpktMl184u3fFD3QAAAACASbEABAAAAIAKswAEAAAAgAqzAAQAAACACrMABAAAAIAKcxdgWlKr1aKvrzv2xfV6vdMj8BLHItcNXbphxl7hWBR1Q5NumLFXOBa5sncp+3y9xLHI6ZLTpUiTnC65dnaxAKQl/f39MTAw0Okxdqher8fQ0FCnxyhY1ekBOmR7x6JXm0Rsv0sZlPE6cr7kerVL2c7Pl3MNlYtrKFe2c3RrrqFycQ3ldMnpUqRJTpdcO//+swCkJaOjozE2NtbpMSY0ODgY9Xo9Go1GjIyMdHocXrJmzZpOj1BKZe3iOiqnsp4vnVTWJq6hcirr+dJpZeziGiqnMp4rZaBLTpciTXK65FrtMplFoQUgLWk2m9FoNHb4vGcvOHc3TFNUhv+HYMbnL+v0CKXTyjnTi7qhSzfM2Csci6JuaNINM/YKxyJX9i5ln6+XOBY5XXK6FGmS0yXXzi7d8UPdAAAAAIBJsQAEAAAAgAqzAAQAAACACrMABAAAAIAKswAEAAAAgAqzAAQAAACACpvS6QEA+N+eveDczn3tjn3lF834/GUdngAAAKCaLABpSa1Wi74+Hxjdnnq93ukRSkeTnC45XXK6FHVDk26YsVc4Frmydyn7fL3EscjpktOlSJOcLrl2drEApCX9/f0xMDCww+et2g2zlNXQ0NCEj/VqF01yuuR0yelStL0mZVCv10s3Y6+eKxGuoYmU7RzdmmuoXFxDOV1yuhRpktMl186//ywAacno6GiMjY11eoxSW7NmTadHKB1NcrrkdMnpUlTWJoODg1Gv16PRaMTIyEinx+ElZT1fOq2MXVxD5VTGc6UMdMnpUqRJTpdcq10msyi0AKQlzWYzGo1Gp8coNX2KNMnpktMlp0tRNzTphhl7hWORK3uXss/XSxyLnC45XYo0yemSa2cXP9QNAAAAACrMAhAAAAAAKswCEAAAAAAqzAIQAAAAACrMAhAAAAAAKswCEAAAAAAqzAIQAAAAACrMAhAAAAAAKswCEAAAAAAqbEqnB6A71Gq16OuzL96eer3e6RFKR5OcLjldcroUdUOTbpixVzgWubJ3Kft8vcSxyOmS06VIk5wuuXZ2sQCkJf39/TEwMLDD563aDbOU1dDQ0ISP9WoXTXK65HTJ6VK0vSZlUK/XSzdjr54rEa6hiZTtHN2aa6hcXEM5XXK6FGmS0yXXzr//LABpyejoaIyNjXV6jFJbs2ZNp0coHU1yuuR0yelSVNYmg4ODUa/Xo9FoxMjISKfH4SVlPV86rYxdXEPlVMZzpQx0yelSpElOl1yrXSazKLQApCXNZjMajUanxyg1fYo0yemS0yWnS1E3NOmGGXuFY5Ere5eyz9dLHIucLjldijTJ6ZJrZxc/1A0AAAAAKswCEAAAAAAqzAIQAAAAACrMAhAAAAAAKswCEAAAAAAqzAIQAAAAACrMAhAAAAAAKswCEAAAAAAqzAIQAAAAACrMAhAAAAAAKswCEAAAAAAqzAIQAAAAACrMAhAAAAAAKswCEAAAAAAqzAIQAAAAACrMAhAAAAAAKmxKpwegO9Rqtejrsy/ennq93ukRSkeTnC45XXK6FHVDk26YsVc4Frmydyn7fL3EscjpktOlSJOcLrl2drEApCX9/f0xMDCww+et2g2zlNXQ0NCEj/VqF01yuuR0yelStL0mZVCv10s3Y6+eKxGuoYmU7RzdmmuoXFxDOV1yuhRpktMl186//ywAacno6GiMjY11eoxSW7NmTadHKB1NcrrkdMnpUlTWJoODg1Gv16PRaMTIyEinx+ElZT1fOq2MXVxD5VTGc6UMdMnpUqRJTpdcq10msyi0AKQlzWYzGo1Gp8coNX2KNMnpktMlp0tRNzTphhl7hWORK3uXss/XSxyLnC45XYo0yemSa2cXC0AAAGDcsxec25mv25Gv+r/N+PxlHZ4AANrHXR0AAAAAoMIsAAEAAACgwiwAAQAAAKDCLAABAAAAoMIsAAEAAACgwiwAAQAAAKDCLAABAAAAoMIsAAEAAACgwiwAAQAAAKDCLAABAAAAoMIsAAEAAACgwiwAAQAAAKDCLAABAAAAoMIsAAEAAACgwiwAAQAAAKDCLAABAAAAoMIsAAEAAACgwiwAAQAAAKDCpnR6gN1p7dq1cf3118eiRYti1apVMXXq1DjooIPihBNOiCOPPHLS77tp06a47bbbYuHChbF8+fKIiNh///3jmGOOiRNPPDGmTNl+5sceeyxuuummeOihh2JkZCT23nvveNOb3hSnnnpqDA8Pp69pNBrx8MMPx9KlS2Pp0qXx6KOPxooVKyIi4owzzogzzzxz0n8eAAAAAKqjZxaAy5YtiwsvvDDWrl0bERH9/f2xbt26WLx4cSxevDhOPvnkOOecc3b6fUdHR+Oiiy6KJUuWRETEnnvuGRExvpi755574lOf+lRMmzYtff3ChQvjS1/6UmzatCkiIqZPnx6rVq2KhQsXxj333BPnn39+vPvd7y68buXKlXHRRRft9LwAUGXPXnBu5752x77yi2Z8/rIOTwAAQFn1xAJw48aNcfHFF8fatWvjwAMPjI9//OMxPDwcY2NjcfPNN8fVV18dt956awwPD8dxxx23U+99+eWXx5IlS2L69Onx0Y9+dPyThN/73vfiy1/+cvzkJz+JK664Is4///zCa5ctWza+/HvXu94VZ599dsycOTNWr14dX/3qV+Oee+6JL37xizE8PByzZ88uvL6/vz/mzp0bBx98cBx00EFx7bXXxpNPPjm5SAAAAABUUk/8DMA77rgjVqxYEVOnTo1PfvKT499WO3Xq1Dj99NPj137t1yIi4qqrrhr/JF4rfvrTn8bdd98dEREf+chH4qijjoparRa1Wi2OOuqoOPfcFz+FcNddd8XPf/7zwuuvvvrq2LRpUwwPD8fv//7vx8yZMyMiYubMmXHBBRfE8PBwbNy4Ma6++urCa2fNmhXXXXddfPazn40FCxbE/PnzJ/yUIQAAAAC9qycWgHfddVdERMybNy9mzZpVePy0006LWq0Wq1evjoceeqjl9124cGE0m83Yb7/94qijjio8fvTRR8d+++0XzWYzFi5cuM1j69ati+9///sREXHKKadEvV7f5vF6vR6nnHJKREQsWrQo1q9fv83jfX19UavVWp4VAAAAgN5U+QXg6OhoPPLIIxERccQRR6TPmTVr1vi32D7wwAMtv/eDDz4YERGHH354uoyr1Wpx+OGHb/PcLX70ox+Nf9pworm2/P7GjRvjxz/+cctzAQAAAMAWlV8APvHEE9FsNiMi4sADD5zweVsee/zxx1t632azGU888cQO33fOnDnp+2755xkzZsTee++dvnbvvfcef2zZsmUtzQUAAAAAW6v8AnD16tXjv97yM/YyWx5bs2ZNS+87OjoaGzZsaPl9R0dHY3R0dPz3t3yd7b12MnMBAAAAwNYqvwDcsqSLePGmHxPZ8tjWS7rt2fp5rbzvy1+z5dfbe+1k5gIAAACArVV+AQgAAAAAvWxKpwdot2nTpo3/emxsLAYGBtLnjY2NRUREf39/S++79fO2vHZ77/vy12z59fZeO5m5Juuqq66Ka665ZsLH3//+98eHPvShHb7Ps7twpm4zNDQ04WPP7r4xSkWTnC45XXK6FGmS0yWnS06XIk1yuuR0yelSpElOl9z2urxSlV8Abv0z9lavXj3hAnDLzwpsNXZ/f3/09/fH6OjoNj9ncKL33fL8l8+1vddOZq7JWrduXTz99NMTPr5+/fqo1+ttnaHb6VOkSU6XnC45XYo0yemS0yWnS5EmOV1yuuR0KdIkp0uunV0qvwCcPXt21Gq1aDabsWzZspg9e3b6vC132T3ggANaet9arRazZ8+ORx55ZLt36J3ofbf887PPPhsjIyMxODhYeO3atWtj7dq1EfG/7ybcLtOnT4999913wscHBgai0Wi0dYZup0+RJjldcrrkdCnSJKdLTpecLkWa5HTJ6ZLTpUiTnC65VrtMZlFY+QVgf39/HHLIIbFkyZK4//774+ijjy48Z+XKlfH4449HRMRb3vKWlt/7zW9+czzyyCPxwx/+cMLnLF68ePy5W3vDG94QU6ZMiU2bNsX9998f8+fPL7x2y/vuscce8frXv77luSbjrLPOirPOOmvCx1euXOlOxDugT5EmOV1yuuR0KdIkp0tOl5wuRZrkdMnpktOlSJOcLrlWu+yzzz47/d49cROQLcu1u+++O555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AAAAAFBhFoAAAAAAUGFTdscX2bRpU/zLv/xLLFq0KJYvXx7PPfdc7LXXXvHa17423vnOd8a73vWuqNfru2MUAAAAAOgpbV0Abt68OT7/+c/HF7/4xXjqqacmfN5rXvOaOP/88+PjH/949PX5UCIAAAAA7Cpt27Y9++yz8a53vSv+63/9r/HUU09Fs9mc8D9PPvlkfOITn4h3v/vd8eyzz7ZrJAAAAADoObVms9nc1W/abDbj3e9+d9x7770REdHX1xfvfe9747jjjotDDjkkpk+fHuvWrYulS5fGP//zP8c//dM/RaPRiFqtFkcffXR85zvf2dUjAQAAAEBPassC8K//+q/j7LPPjlqtFgcffHB84xvfiLe+9a0TPv+BBx6IM844I/7t3/4tarVa/NVf/VX85m/+5q4eCwAAAAB6TlsWgMcee2zcddddMWPGjHj44Yfjta997Q5fs3z58njTm94Ua9eujWOOOSbuvPPOXT0WAAAAAPSctvwMwIceeihqtVr81m/9VkvLv4iI1772tbFgwYJoNpvx0EMPtWMsAAAAAOg5bVkArlu3LiIi3va2t+3U64444oiIiFi/fv0unwkAAAAAelFbFoBbPvXXaDR26nVbnr/ffvvt8pkAAAAAoBe1ZQE4b968iIjxuwC36t57741arRbHHHNMO8YCAAAAgJ7TlpuA/OAHP4gjjzwy9thjj/jBD34Qr3/963f4mh//+Mfxtre9LTZt2hTf+973xr8dGAAAAACYvLZ8AvBtb3tb/Omf/mmMjY3FscceG9/61re2+/xvf/vb8X/+n/9nvPDCC/H//X//n+UfAAAAAOwir+gTgH/7t3+73cdvueWWuPHGG6NWq8XrXve6OO644+KQQw6J6dOnx7p162Lp0qXxT//0T/GTn/wkIiJOPfXUOPnkkyMi4jd+4zcmOxYAAAAA8JJXtADs6+uLWq22w+c1m83tPu/lj9dqtdi0adNkxwIAAAAAXjLllb5Bq/vDHT2vDT+KEAAAAAB63itaAH7ta1/bVXMAAAAAAG3QlrsAUz1Llizp9AgAAAAAPe/QQw/d6de05S7AAAAAAEA5WAACAAAAQIW94puA7IynnnoqnnzyyXjuuedir732ite+9rWx77777s4RAAAAAKCntH0BuGzZsvjSl74UN954Yyxbtqzw+Jw5c+L9739/fPSjH40DDjig3eMAAAAAQE9p601Avva1r8VHP/rRWL9+fUREZF+qVqtFRMTAwEBceuml8Zu/+ZvtGodXwE1AAAAAADpvMjcBadsnAL/2ta/FggULolarRbPZjFqtFq9//evj0EMPjVe96lXx/PPPx5IlS+InP/lJNJvNWLduXSxYsCAiwhIQAAAAAHaRtnwC8Mknn4xDDjkk1q9fH7VaLX7nd34n/uAP/iDmzJlTeO7jjz8el1xySfzlX/5lbN68OaZPnx6PPPJIvOY1r9nVY/EK+AQgAAAAQOdN5hOAbbkL8OWXXz6+/PvqV78al19+ebr8i4g44IAD4s///M/jyiuvjIiI9evXx+WXX96OsQAAAACg57TlE4DveMc74gc/+EG8733vi29/+9stv+6EE06If/iHf4hf+ZVfiUWLFu3qsXgFfAIQAHilLrnkkrjjjjsKvz9t2rSYOXNmvP71r4+TTjop3vrWt+7+4QAAukRpPgH42GOPRUTEKaecslOv+w//4T9s83oAAKpnypQpMTQ0NP6fjRs3xvLly+N//I//Eeeff3585Stf6fSIAACV0pabgDz33HMRETFz5sydet2W5z///PO7fCYAAMrhjW98Y3zxi18c/+dGoxFLly6Nyy+/PB588MG49tpr461vfWu84x3v6NyQAAAV0pZPAL761a+OiIif/vSnO/W6n/3sZxGx84tDAAC6V71ej1/+5V+Oiy++OPbee++IiPRbhQEAmJy2fALwTW96U6xYsSL+7u/+Li644ILo69vxnrHRaMTf/d3fRa1Wize96U3tGAsAgBLba6+94nWve13cd9994//H8NaazWb88z//c9xxxx3xyCOPxOjoaOy9995x2GGHxfvf//54wxvekL7vGWecEU899VR84hOfiGOOOSauuuqqWLhwYTzzzDMxNDQU8+bNi9/4jd+IV73qVRHx4s8+vuaaa+Khhx6K5557Lg444ID4v/6v/yv+3b/7d9ud/wc/+EHceuut8a//+q+xdu3amDZtWsydOzeOP/74eN/73hf1ev0VNwIAmIy2LAD//b//9/HP//zP8aMf/Sh+93d/N6644oqo1WoTPr/ZbMbv/d7vxcMPPxy1Wm38ZwECANCbNm/evM0/v/DCC/Hf/tt/i3vvvTciIvr6+mJgYCBWrlwZ//N//s+466674pxzzokPfOADE77n888/Hx/+8Ifj5z//eUybNi02b94cTz31VHzzm9+Mf/3Xf40vfvGLcd9998WnPvWp2LRpUwwMDMTGjRvjsccei8997nPx/PPPx/vf//7C+zYajfizP/uzuP3228d/b/r06fH888/HAw88EA888EDceeed8Sd/8iex55577qJCAACta8u3AJ999tkxe/bsiIj46le/GkcccURcffXV8fTTT2/zvGeeeSauvvrqeNvb3hZf/epXo1arxezZs+Pss89ux1gAAJTYyMhI/PjHP46IiNe+9rXbPPYXf/EXce+990a9Xo8Pf/jDcdttt8Wtt94a3/zmN+O9731vNJvN+MpXvhL33HPPhO//N3/zN7F58+b48pe/HN/+9rfjW9/6VlxwwQVRr9fjRz/6UXz961+PSy65JI477ri4/vrr47bbboubbropfvVXfzUiIq688soYGRkpvO+VV14Zt99+e/zSL/1S/OEf/mHcfvvtcdttt8W3vvWtuOiii2LmzJnxv/7X/4orrrhiF9YCAGhdWxaA06ZNixtuuCEGBgYiIuLBBx+M3/iN34j99tsvZsyYEfvvv3/MmDEjXvOa18Rv/MZvxAMPPBDNZjMGBgbixhtvjKlTp7ZjLAAASqjRaMS//du/xUUXXTS+YHvf+943/vjTTz8dN998c0RE/PZv/3acfvrp0d/fHxER++yzT/zX//pf4+1vf3tEvPh/Pk9kdHQ0PvvZz8Zhhx0WERF77LFHnHjiieNf65prrolDDz00/p//5/8Z/5nUM2bMiAsvvDAGBgZibGwsvve9723znr/4xS/i7//+72OvvfaKL3zhC/He9753/H8DT5s2LY499tj41Kc+FbVaLW677bZYvXr1K+4FALCz2rIAjIh4+9vfHvfcc0+84Q1viGazOf6fkZGRWLFiRYyMjGzz+4cddljce++98ba3va1dIwEAUAL/+q//Gqeeeur4f44//vj4z//5P8eDDz4YEREnn3xyzJs3b/z5d999d2zevDn22muv+I//8T8W3q9Wq8Vv/uZvRkTEz3/+83j00UfTr3vMMcfE/vvvX/j9rf/355lnnll4vL+/f/znCz722GPbPHbHHXfE5s2b493vfnfhU4tbvPGNb4z99tsvNm3aFIsXL06fAwDQTm35GYBbvPnNb44HH3wwbr/99rjxxhvjvvvuiyeffDKee+652GuvvWK//faLd77znXHaaafFCSecsN2fEwgAQDVs2rQp1qxZU/j9vr6++IM/+IN473vfu83vL1myJCIiDjvssNhjjz3S93z9618fAwMDsX79+liyZEkcdNBBhefMnTs3fe2MGTPGfz08PJw+Z2hoKCJe/DmCW/vXf/3XiIi466674rvf/W762oiI5557LiIinnrqqQmfAwDQLm1dAEa8+P/InnTSSXHSSSe1+0sBANAF3vKWt8QXv/jFiHhxGbh8+fK46aab4r//9/8el112WcydO3ebBd6zzz4bES9+u+9EarVavPrVr47169ePP//lXv3qV6e/v/XdeSd6Tl9f3/i8W1u1alVERKxfvz7Wr18/4XxbjI2N7fA5AAC7WlsWgFv+39WTTjopvvzlL7fjSwAAUAFTpkyJOXPmxHnnnRd9fX1x4403xh//8R/HV7/61Zg2bVqnx9uhLXcrPuecc9JvHwYAKIO2/AzAZcuWxc9//vN44xvf2I63BwCggs4+++wYGhqKJ554Iv7+7/9+/Pe3fIvuypUrJ3xts9kc/zTe1t/S225bvjXYt/YCAGXWlgXgvvvuGxExfvc0AADYkf7+/jj99NMjIuIb3/jG+B2BDz300IiIeOihh2Ljxo3pa3/84x+PfwvulufvDm9605siImLRokXjnwYEACibtiwAf/mXfzkiIp544ol2vD0AABX17//9v49XvepVsX79+rj++usjImLevHnR19cXzz33XNx0002F1zSbzfj6178eEREHHnhgegOQdjn++OOjr68vVqxYsc2nFjNbbgQCALC7tWUB+P73vz+azWbccMMN7Xh7AAAqamBgIP7jf/yPERFx4403xnPPPRf77rtvnHLKKRER8ZWvfCW++c1vxujoaES8+G3Bn/3sZ+P73/9+RLz4s/h2pzlz5sSv//qvR0TEX/7lX8aXv/zl+MUvfjH++AsvvBAPP/xw/Pmf/3l88IMf3K2zAQBs0ZabgJxzzjnxF3/xF/Hd7343Pv/5z8cFF1zQji8DAEAFnXbaafHNb34z1q1bF9dff3383//3/x2/8zu/EytWrIh77703Lr/88vjLv/zLGBgYiOeffz6azWZERPz2b/92/Oqv/upun/fss8+OjRs3xvXXXx833XRT3HTTTdHf3x9TpkyJdevWjX9r8NZ3GwYA2J3a8gnAPffcM2677bZ461vfGp/4xCfitNNOi7vuuiteeOGFdnw5AAAqZO+9944TTjghIiJuuOGGeP7552PPPfeMiy++OP7wD/8wDj/88Jg+fXqMjo7GzJkzY/78+fHnf/7n8YEPfKAj8/b19cXv/d7vxV/8xV/Er/3ar8X+++8fmzdvjtHR0RgaGoq3ve1tsWDBgvibv/mbjswHAFBrbvm/THehuXPnRkTE2NhYPPnkk1Gr1SLixf/X89WvfnX09/dvf6haLR599NFdPRavwJIlSzo9AgAAAEDPm8wNz9ryLcA/+9nPxpd+W/672WzGpk2b4qmnntrh67e8BgAAAAB4ZdqyAJwzZ44lHgAAAACUQNs+AQgAAAAAdF5bbgICAAAAAJSDBSAAAAAAVFhbvgX45VatWhW33nprLFq0KJYvXx7PPfdc7LXXXvHa17423vnOd8ZJJ50Ur371q3fHKAAAAADQU2rNZrPZrjd/7rnn4hOf+ER8/etfj7GxsQmfN3Xq1Pit3/qtuOSSS+JVr3pVu8bhFViyZEmnRwAAAADoeYceeuhOv6ZtC8Bly5bFscceGz/96U+jlS9Rq9Vi7ty5ceedd8YBBxzQjpF4BSwAAQAAADqvNAvAF154Id761rfGT37yk4iIeNWrXhUf/OAH47jjjotDDjkkpk+fHuvWrYulS5fGP//zP8fVV18dzz33XEREvP71r4/FixfHHnvssavH4hWwAAQAAADovNIsAL/4xS/Gxz/+8ajVanHkkUfGN7/5zXjta1874fOffPLJOP300+Oee+6JWq0WX/jCF+K8887b1WPxClgAAgAAAHTeZBaAbbkL8De+8Y2IiNhvv/3i29/+9naXf1ue961vfWv8edddd107xgIAAACAntOWBeC//du/Ra1Wi9/6rd+KwcHBll6z1157xYIFC6LZbMa//du/tWMsAAAAAOg5U9rxpi+88EJERLzxjW/cqde94Q1viIiIjRs37vKZeGVmzpzZ6RG2a2hoKOr1ejQajVizZk2nxykNXXK65HQp0iSnS06XnC5FmuR0yelSpElOl5wuOV2Kqt6kLZ8AnD17dkREjI6O7tTrtjx///333+UzAQAAAEAvassC8L3vfW80m8248847d+p1/+N//I+o1Wrxvve9rx1jAQAAAEDPacsC8CMf+Uj09/fHtddeG9/5zndaes13vvOduO6662JgYCA+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T49f+7Vfi4iIq666avyTeK346U9/GnfffXdERHzkIx+Jo446Kmq1WtRqtTjqqKPi3HPPjYiIu+66K37+858XXn/11VfHpk2bYnh4OH7/938/Zs6cGRERM2fOjAsuuCCGh4dj48aNcfXVVxdeO2vWrLjuuuvis5/9bCxYsCDmz58/4acMAQAAAOhdPbEAvOuuuyIiYt68eTFr1qzC46eddlrUarVYvXp1PPTQQy2/78KFC6PZbMZ+++0XRx11VOHxo48+Ovbbb79oNpuxcOHCbR5bt25dfP/734+IiFNOOSXq9fo2j9fr9TjllFMiImLRokWxfv36bR7v6+uLWq3W8qwAAAAA9KbKLwBHR0fjkUceiYiII444In3OrFmzxr/F9oEHHmj5vR988MGIiDj88MPTZVytVovDDz98m+du8aMf/Wj804YTzbXl9zdu3Bg//vGPW54LAAAAALao/ALwiSeeiGazGRERBx544ITP2/LY448/3tL7NpvNeOKJJ3b4vnPmzEnfd8s/z5gxI/bee+/0tXvvvff4Y8uWLWtpLgAAAADYWuUXgKtXrx7/9ZafsZfZ8tiaNWtaet/R0dHYsGFDy+87Ojoao6Oj47+/5ets77WTmQsAAAAAtlb5BeCWJV3Eizf9mMiWx7Ze0m3P1s9r5X1f/potv97eayczFwAAAABsrfILQAAAAADoZVM6PUC7TZs2bfzXY2NjMTAwkD5vbGwsIiL6+/tbet+tn7fltdt735e/Zsuvt/faycw1WVdddVVcc801Ez7+gQ98IM4888wdv9GKZ3fdUF1maGho4gd7tIsmOV1yuuR0Kdpukw7q6+sb/+/Szdij50qEa2gipTtHwzVUVq6hnC650l274d8tZeUayrXzHK38AnDrn7G3evXqCReAW35WYKux+/v7o7+/P0ZHR7f5OYMTve+W5798ru29djJzTda6devi6aefnvDx9evXR71eb+sM3U6fIk1yuuR0yelSVPYmtVqt9DP2EsciV+YurqFycSxyuuS21+WMh5fuxknK47o3HdzpEUrJNZRrZ5fKLwBnz54dtVotms1mLFu2LGbPnp0+b8tddg844ICW3rdWq8Xs2bPjkUce2e4deid63y3//Oyzz8bIyEgMDg4WXrt27dpYu3ZtRPzvuwm3y/Tp02Pfffed8PGBgYFoNBptnaHb6VOkSU6X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T58+7fa5hYWFeuqpp2QYht58880yxxo0aHClQ6s2UlNTyzS7Knoeru7mzZun0NBQDR8+3OXY6dOnNW3aNKWnp0uS87ml9IN8s2bN9Pzzz6tevXpVF7APycjI0LJly5ScnKzMzEwZhqGGDRuqY8eOGjBggCIiIrwd4hX1zjvvaNmyZXr00Uc1cOBA5+12u12TJ0/W3r17nTUSGhoq6eKX29LFmunevbvGjx9f9YFXgfXr1ys6OtrS70E8NXDgQOdzRd26ddWrVy8lJCS49QW3ldAARLWRmJio999/X2fOnJGkcptepQ/syMhIDR8+XPHx8VUWY1XJycnR008/rbNnzyooKEg9evRQXFycrrnmGkVGRjqn+xYWFurMmTM6cuSIdu3apc2bN6ugoEARERGaO3euc5QGaHaZ8ZecHDlyRMuWLSsz2u32229XXFxchddZsdnlcDg0efJkff/996bPsTVq1NCjjz6qfv36mV5vxZyUys/P19tvv62NGzeqqKhIQUFB6t+/v3MEwd69ezVr1izna1Sprl27auzYsZZbhiEjI0NjxoxRcXGxgoOD1bhxYx0/flwFBQVq3LixRo8erSlTpqhBgwZKSEhQvXr1lJGRocTERJ09e1a1atXS66+/7vevQ/7QALz0Q9fvYcX8nDt3ToZhlDsdcdOmTVqwYIGysrLK3F6vXj2NGDFCPXr0qIowq9TAgQMVERGhd999t8ztxcXFGj9+vA4fPixJatOmjVq2bClJOnDggH744QcZhqHrrrtOs2bNsuQggMTERP33v/9Vjx49NGzYsDLHtm7dqjlz5qioqMjl9dswDNWuXVsTJ050GSlXnY0fP16pqal67bXX1LhxY+ftK1eu1BtvvKGAgAD1799f99xzjyIjIyVJZ86c0SeffKLPP/9cDodDEyZM0C233OKtP6HSlD7vlo5469Gjh8LCwrwdlleV5uTXXxy0aNHCmaPSRrGVMQUY1cL8+fOdT9SGYahp06YVNrvS09OVlZWluXPn6tChQ3rssce8/BdcWYsXL9bZs2d1zTXX6Nlnny33W/HQ0FCFhoaqadOmuuWWWzR48GBNnz5dR44c0ZIlS/Too49WceSAb9myZYtmz54tu93ufEOQnp6urVu3qnPnznr66af9ap2YjRs3KiUlRTabTYMGDdLtt9+u8PBw7dmzRx9++KFSU1M1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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "image/png": { - "height": 480, - "width": 640 - } - }, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "filtered = df\n", - "filtered = filtered[filtered[\"pos\"] == 4]\n", - "g = (\n", - " ggplot(filtered)\n", - " + geom_bar(aes(x=\"layer\", y=\"prob\", fill=\"token\"), stat=\"identity\")\n", - " + theme(axis_text_x=element_text(rotation=90), legend_position=\"none\")\n", - " + scale_y_log10()\n", - " + facet_wrap(\"~token\", ncol=1)\n", - ")\n", - "print(g)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2ed55edb", - "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.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/basic_tutorials/Basic_Intervention.ipynb b/tutorials/basic_tutorials/Basic_Intervention.ipynb index 4397061f..166db3c9 100644 --- a/tutorials/basic_tutorials/Basic_Intervention.ipynb +++ b/tutorials/basic_tutorials/Basic_Intervention.ipynb @@ -5,7 +5,7 @@ "id": "df3b00a9", "metadata": {}, "source": [ - "## Tutorial of Patching Patching, Causal Scrubbing" + "## Tutorial of Interchange Intervention / Activation Patching" ] }, { @@ -71,7 +71,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "9c684415", "metadata": {}, "outputs": [], @@ -79,7 +79,7 @@ "import pandas as pd\n", "import pyvene\n", "from pyvene import embed_to_distrib, top_vals, format_token\n", - "from pyvene import IntervenableRepresentationConfig, IntervenableConfig, IntervenableModel\n", + "from pyvene import RepresentationConfig, IntervenableConfig, IntervenableModel\n", "from pyvene import VanillaIntervention\n", "\n", "%config InlineBackend.figure_formats = ['svg']\n", @@ -106,7 +106,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "56cc896c", "metadata": {}, "outputs": [ @@ -176,20 +176,20 @@ "metadata": {}, "outputs": [], "source": [ - "def simple_position_config(model_type, intervention_type, layer):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + "def simple_position_config(model_type, component, layer):\n", + " config = IntervenableConfig(\n", + " model_type=model_type,\n", + " representations=[\n", + " RepresentationConfig(\n", " layer, # layer\n", - " intervention_type, # intervention type\n", + " component, # component\n", " \"pos\", # intervention unit\n", " 1, # max number of unit\n", " ),\n", " ],\n", - " intervenable_interventions_type=VanillaIntervention,\n", + " intervention_types=VanillaIntervention,\n", " )\n", - " return intervenable_config\n", + " return config\n", "\n", "\n", "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", @@ -208,11 +208,11 @@ "\n", "data = []\n", "for layer_i in range(gpt.config.n_layer):\n", - " intervenable_config = simple_position_config(type(gpt), \"mlp_output\", layer_i)\n", - " intervenable = IntervenableModel(intervenable_config, gpt)\n", + " config = simple_position_config(type(gpt), \"mlp_output\", layer_i)\n", + " intervenable = IntervenableModel(config, gpt)\n", " for pos_i in range(len(base.input_ids[0])):\n", " _, counterfactual_outputs = intervenable(\n", - " base, sources, {\"sources->base\": ([[[pos_i]]], [[[pos_i]]])}\n", + " base, sources, {\"sources->base\": pos_i}\n", " )\n", " distrib = embed_to_distrib(\n", " gpt, counterfactual_outputs.last_hidden_state, logits=False\n", @@ -228,11 +228,11 @@ " }\n", " )\n", "\n", - " intervenable_config = simple_position_config(type(gpt), \"attention_input\", layer_i)\n", - " intervenable = IntervenableModel(intervenable_config, gpt)\n", + " config = simple_position_config(type(gpt), \"attention_input\", layer_i)\n", + " intervenable = IntervenableModel(config, gpt)\n", " for pos_i in range(len(base.input_ids[0])):\n", " _, counterfactual_outputs = intervenable(\n", - " base, sources, {\"sources->base\": ([[[pos_i]]], [[[pos_i]]])}\n", + " base, sources, {\"sources->base\": pos_i}\n", " )\n", " distrib = embed_to_distrib(\n", " gpt, counterfactual_outputs.last_hidden_state, logits=False\n", @@ -252,13 +252,13 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 8, "id": "b1cfab3b", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAB7CAAAewgFu0HU+AADc8ElEQVR4nOzdeXxU5b3H8e+ZSUIyQwKBAAoBBIKggIALKm5AFFAwglIXiIJSW71qsfVWrYpaF0pdoUq14oIauUCrSEChUhZFBFQ2ZVNBMUSQEBICmewz5/4RMyUkk2SS2TLzed/X9CZzznnO70xinuE7z3MewzRNUwAAAAAAAADCkiXYBQAAAAAAAADwHwJAAAAAAAAAIIwRAAIAAAAAAABhjAAQAAAAAAAACGMEgAAAAAAAAEAYIwAEAAAAAAAAwhgBIAAAAAAAABDGCAABAAAAAACAMEYACAAAAAAAAIQxAkAAAAAAAAAgjBEAAgAAAAAAAGGMABAAAAAAAAAIYwSAAAAAAAAAQBgjAAQAAAAAAADCGAEgAAAAAAAAEMYIAAEAAAAAAIAwRgAIAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAAAYYwAEAAAAAAAAAhjBIAAAAAAAABAGCMABAAAAAAAAMIYASAAAAAAAAAQxggAAQAAAAAAgDBGAAgAAAAAAACEMQJAAAAAAAAAIIwRAAIAAAAAAABhjAAQAAAAAAAACGMEgAAAAAAAAEAYIwAEAAAAAAAAwhgBIAAAAAAAABDGCAABAAAAAACAMEYACAAAAAAAAIQxAkAAAAAAAAAgjBEAAgAAAAAAAGGMABAAAAAAAAAIYwSAAAAAAAAAQBiLCnYB8I1vv/022CUAAIDjnHrqqcEuAQAAAJBEAAgAABAy+EAPAIDQwgd6CBdMAQYAAAAAAADCGAEgAAAAAAAAEMYIAAEAAAAAAIAwRgAIAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAAAYYwAEAAAAAAAAAhjBIAA0EzdfffdGjp0qObMmdPoNq6//noNHTpUy5Yt8/rYLVu2aOjQoRo6dGijzw8AAAAA8L+oYBcAAKFgzpw5evPNN93fP//88xowYIDH/UtKSjRu3Dg5HA5JUv/+/TVjxgw/VwkAABrrxL6+SkxMjBITE3Xqqadq+PDhuvDCC4NQHQAA/kUACAC1+Pe//11nALhmzRp3+NecdezYUTExMbLb7cEuBQCAgLBYLGrVqpX7+8LCQh08eFAHDx7UmjVrlJqaqgceeEAWC5OlAADhgwAQAI6TlJSk/Px8ffLJJ5oyZYpiY2Nr3a9qymyHDh108ODBQJboU88991ywSwAAIKDatWunefPmub83TVP79u3TK6+8orVr12rFihU644wzlJaWFsQqAQDwLT7WAoDjtGrVSoMGDVJRUZE++eSTWvfJycnRli1blJCQoHPPPTfAFQIAAF8yDENdunTRI488oi5dukiqnAkAAEA4YQQgAJxgxIgRWrdunf79739r+PDhNbZ/9NFHcrlcSk1NrXN6UElJidasWaMNGzbohx9+0KFDh1RSUqI2bdrojDPO0Lhx43TqqafWWcvq1av13nvvaffu3bJYLDrllFN01VVX6bLLLqvzuKqFOZ5//nl16tRJGRkZ+uKLL5Sbm6suXbro1VdflVS5CMjBgwd13333aeTIkTXayc/P15tvvql169YpPz9fiYmJGjRokG666aY6zw8AQHMTHR2tgQMHKisrS3v37vW43/r167V48WLt3LlTx44dU3x8vE477TRdddVVGjRoUK3H3H333dq6dasmTpyo9PR0LViwQMuXL9eBAwcUHx+vQYMG6ZZbblHbtm0lST/99JMyMjK0ceNGHTlyRCeddJJGjRqlX/3qV3W+9/jmm2/03nvvaevWrcrLy1NMTIy6dOmiYcOGKS0tTTExMU16jQAAzRcBIACc4Pzzz1d8fLy2bNminJwctW/fvtr2qlEBI0aM0PLlyz22s3r1av31r3+VVHm/oar77B08eFDLly/XypUrde+999YaMkrSrFmz9K9//UtS5egEu92unTt3avv27dq9e3eDrmXfvn169NFHVVBQoNjYWFmt1gYdJ0lZWVn6/e9/r7y8PElSixYtdPToUS1ZskRr167V5MmTG9wWAADNgWmakiSXy1Xrtueff16LFy+WVNm322w2FRQU6LPPPtNnn32mMWPG6He/+50Mw6i1/YqKCv3xj3/Uli1b3GFcbm6uPvzwQ3311Vd68cUX9dNPP+m+++5TYWGh7Ha7KioqtG/fPr388ss6dOiQ7rzzzlrbfvPNN/Xmm2+6r8Fms6m4uFg7d+7Uzp079dFHH+npp5+udv9DAEDkIAAEgBPExMRo6NChyszM1EcffaT09HT3tm3btik7O1tdu3ZVr1696gwAW7Zsqeuvv14XXXSRUlJSFBMTI9M0lZ2drbffflvLly/Xs88+q/79+6tDhw7Vjl25cqU7/EtLS9PNN9+s1q1b6+jRo8rIyNCCBQsatHDHSy+9pJNPPllPPPGE+vbtK6lyVEF9Kioq9Oc//1l5eXlq166d/vjHP+rss8+WYRjasmWLnnrqKb300kv1tgMAQHNRXl6uzZs3S6pcJOtE//znP93h3w033KAbbrhB8fHxOnr0qN555x0tWLBA77//vpKTk3XNNdfUeo5FixYpJiZG06ZN07nnnivTNLVu3Tr95S9/UXZ2tt544w2tX79e/fr105133qmOHTvK4XDolVdeUWZmpt577z1deeWV6tq1a41258yZo4SEBE2aNEmpqalKSEhwX9MLL7yg7777TtOnT9df/vIXH79yAIDmgHsAAkAtRowYIalyuu/xqhb/qNpelwsvvFC//e1vdfrpp7s/5TcMQ507d9af/vQnnX322SorK3O3WcU0Tb3xxhuSpEsuuUS///3v1bp1a0lSQkKC/ud//kcjR45s0CrEVqtVTz/9tDv8k6ROnTrVe9yqVav0/fffy2KxaNq0aTrnnHPcoxkGDBig6dOnq6ysrN52AAAIdaZpKisrS4899pj27dsnSTVG55eUlOjtt9+WJI0dO1a/+c1vFB8fL6myb7799ts1evRoSdJbb72l0tLSWs9VWFioqVOn6vzzz5fFYpHVatWFF16o6667TtJ/A8LHH3/cHULa7XZNmTJFnTp1kmma+vjjj6u16XA4NHv2bEVFRWn69OkaO3asEhISJFVOax40aJCmT5+u2NhYrV+/Xt9++60vXjYAQDNDAAgAtTj99NPVpUsX7du3T9u2bZMklZaWavXq1bJYLB6n7TaUYRjuBUSq2q+yZ88eZWdnS5ImTJhQ6/HHj0qsy/Dhw9WmTRuv66v6x8V5552nlJSUGtu7dOmiIUOGeN0uAADBdujQIV199dXux4gRIzRx4kR9+umnkipvBTJ27Nhqx3z55ZcqLCyUxWLx2AffdNNNslgsOnr0qL788sta9+nTp48GDBhQ4/mzzjrL/fW1115b45YdFovFfdz3339fbdvHH38sh8OhM844Q6eddlqt5+3UqZN7m6faAADhjSnAAODBiBEjNHv2bP373/9W3759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uxITE3Xeeefp+eefV2lpqce2TjnlFBmGoVNOOUWSVFpaqlmzZmnIkCE6+eSTZbVa3duOV1xcrBdffFGXXXaZTj75ZMXExKht27Y655xz9NBDD2n//v1eX9eXX36pW265RT169FBcXJySkpI0dOhQvfbaa3K5XF63F8lYBRgAAAAAACCMzJ8/X7fccouKiorczxUVFWnDhg3asGGDXnnlFS1btkxdu3ats529e/fqyiuv1LZt2+rc74svvtA111yjffv2VXs+Ly9PeXl5+vLLL/X888/rhRde0C233NKga5gxY4b+93//V06n0/1cSUmJVq9erdWrV+v111/XkiVLlJiY2KD2Ih0BIAAAAAAAQJjYuHGjpk+frvLyco0fP16pqamKi4vT9u3b9frrr+vAgQPatWuXhg4dqs2bN6tVq1a1tlNaWqqrr75a27Zt03nnnadx48YpOTlZeXl52r59u3u/r776SkOHDpXD4ZAknX766brxxhvVrVs35eXl6f3339dHH32koqIiTZ48WaZpavLkyXVew+LFi7Vw4ULFxMRo8uTJuuCCC2S1WrVx40a9/vrrKigo0GeffabLL79cn376qaKiiLfqwysEj8pdzvp3AhDRTNOUaZqSjGCXEpZMmTJNyeDl9atyV0VY3xSlvKwi2CUACHW/9OcGHY7fmKYpmWawywhr5WXlwS4hZCxZskQ2m03Lli3TkCFDqm373//9X11xxRVat26dfvjhB9133316+eWXa23n559/1s8//6zp06frvvvuq3Ufl8ulCRMmuMO/X//613rppZeqBXK33367XnvtNd16660yTVO/+93vlJqaWus04irvvfee2rdvrxUrVqhv377u5ydMmKA//OEPGjZsmL777jtt2LBBzzzzjO6///4GvjqRK4zf7gIA/M8ipytKTpeVhx8epstK+Acf4JcIQD1+uW8Y/Kfy1TV5+PHBb3B106dPrxH+SVLr1q31z3/+Uy1btpQkzZkzR4cOHfLYzlVXXeUx/JOkDz74wD09+IwzztDLL79c62i8yZMn67e//a2kyqnIM2fOrPcaXn311WrhX5Xk5GTNnz9fFktlpDVjxgyVlZXV216kIwCER9EWa7BLAADA76It4T0hIjqG/hwAEP6iYsK7P/dG69atdeutt3rc3qlTJ02YMEFS5TTfxYsXe9z3d7/7XZ3neu+999xf33PPPbJaPb/vuP/++90fNhx/XG169+6tK6+80uP2gQMH6rLLLpMkHTx4UJ9++mmd7YEAEAAAAAAAIGxceOGFio2NrXOfSy+91P31559/Xus+VqtVgwcPrrOdDRs2uL8ePnx4nft27dpVvXv3liRlZWXpwIEDDaqvIft4ugb8FwEgAAAAAABAmOjZs6dX++zfv7/Wfdq2bVtvkFgV4sXHx+ukk06q97ynnnpqjWPrq68h+3i6BvwXASAAAAAAAECYsNvtXu1z7NixWveJi4urt52qYxtyTknuew/Wdd6GtteQa8B/MUnez0zT1Mcff6xVq1bp+++/V2FhoWJiYtShQwcNHDhQaWlpatu2bbDLBAAAAAAAYaBqRd6G7hMfH9/oc8XHx+vIkSMNOqckFRYWNui8gbyGSEEA6EdlZWWaNm2aNm3a5H7OZrOppKREe/fu1d69e7Vs2TI9+OCDOuOMM4JYKQAAAAAACAe7d+/2ap+OHTs2+lwnn3yyjhw5omPHjungwYPq0KFDnft/++23DTpvIK8hUjAF2I8WLFjgDv9uuOEGvfPOO5o3b57effdd/fnPf9bJJ5+s4uJiPf300yotLQ1ytQAAAAAAoLlbs2ZNvRnDf/7zH/fX5557bqPPdfyxH330UZ37ZmVladeuXZKkLl261HnPwOXLl9d7bl9dQ6QgAPSj1atXS5KGDRumG264wT0k1Wq1auDAgbr33nslSQUFBdq+fXuwygQAAAAAAGHiyJEjevXVVz1uP3DggN555x1JUosWLTR69OhGn+uaa65xf/3ss8/K6XR63Pevf/2rTNOscVxtdu3apQ8++MDj9q1bt7pDwpNOOkkXXnihN2VHJKYAN0BhYaHWrl2rTZs2KTs7W4cPH1ZFRYXatm2r/v37a8yYMbUON83Pz5ckpaSk1Nput27dZLVa5XQ6VVJS4tdrAAAAAAAAkeG+++5Tv379dPHFF1d7/ujRo7r22mvdi2bcfPPNateuXaPPc8UVV6hfv376+uuvtXXrVt1+++36+9//rqio6nHTnDlz9PLLL0uqvDXalClT6m178uTJWrlypU4//fRqz+/fv1/XXXedO2y8++67FR0d3ehriBQEgA2QmZmpefPmSaocvWez2VRaWqoDBw7owIEDWr16tR544AENGDCg2nEdOnRQdna2x7nrP/zwg5xOpywWi7p16+bvywAAAAAAAGFu9OjRWr58uYYNG6brr79eqampiouL044dO/Taa69p//79kioHJf31r39t0rksFosyMjI0ePBgORwOzZ49W+vWrdONN96oU045RXl5eVq0aJGWLVvmPuZvf/ubunbtWme7V199tRYuXKizzjpLkyZN0uDBg2W1WrVp0ya99tprOnLkiKTKqb/33HNPk64hUhAANkCbNm00YcIEDRo0SF26dHGP2tu7d68yMjK0ceNGPfvss5o9e7ZiY2Pdx40YMUKvvfaaVq5cqZNOOkmjRo1SfHy8nE6nvv76a7300kuSKhPzk08+OViXBwAAAAAAwsRZZ52lG2+8UTfffLPeeecd93Tf4/Xq1UvLli1TQkJCk893xhlnaNWqVbr66quVnZ2tbdu26b777quxn81m09/+9jdNnjy53javvPJKXXzxxbrnnnv08ssvu0cPHu/888/XkiVLaow2RO14lRpg5MiRNZ6zWq3q0aOHHnjgAd19993at2+f1q5dq9TUVPc+o0eP1qFDh7R48WLNnTtXc+fOda8C7HK51KlTJ/32t7/VqFGjAnk5AAAAAAAgjF177bXq37+/XnjhBX300Uf66aefFB0drV69eum6667THXfcoRYtWvjsfOecc46+/fZbvfrqq1q0aJG2bdumvLw8tWzZUt27d9eIESN0xx13eLVa75QpU3TBBRdo1qxZ+vjjj3XgwAHZbDb169fPHXBaLCxt0VAEgE0UHR2tAQMGaN++fdq5c2e1ANBqtermm29Wx44d9dprr6m8vFxFRUXu7aWlpe4wkF9aAAAAAADgK7169dKLL77o9XF79+5t1Pni4uJ011136a677mrU8ZMmTdKkSZOqPXf22WfrjTfeaFR7qI4AsIGys7O1ZMkSbd++XTk5OSopKXGvXlMlLy+v2vdHjhzRtGnTtGvXLg0ZMsS9WMiRI0e0ceNGZWRk6M0339T333+vP/7xj4G8HAAAAAAAAEQIAsAG+OSTTzRjxgxVVFRIkgzDkM1mc68yU1JSopKSEpWWllY77vnnn9euXbuUmppabYWbqvsBdu7cWVOnTtWaNWs0bNgwnXXWWR5ryMjI0Ny5cz1uHzdunCZOnNiUy6zBrgKftgcAQKhq1apVjQ/2giExMdHnbdrtLX3eJgAAoShU+nMgFBEA1qOgoECzZs1S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pxGAKSkpmj17tlwuly699FItXrzYH6cBAAAAAACIQOYv9wEM3MNV7VE58s8lw/1coOvxJmAsLS1VWlqacnJy1LdvX23ZskVHjx7V0aNH9cQTT8gwDP3tb3/TG2+84UWrleLj43XxxRfr97//vTIyMrxaD2P79u26+eabVV5ermuvvVb79+/XkSNHtH//fv3qV79SWVmZJk6cqF27dnld14n8MgLwsccekyQNHTpUy5cv15gxY9S1a1ddcMEFSk5OVlxcXL1tPPzww/4oDQAAAAAAoFkzAzACsOEBm1Hr/v4en+jNPRBfeeUVff/997LZbPrggw/UpUsXSZLNZtODDz6oAwcOaNasWXrooYeUnp6u6OjoBrXbpUsXFRQUyDjuJodPP/10g+t6+OGHVVZWpgEDBuidd95RVFRlTHfyySdr7ty5+u6777RlyxY9/PDDWrBgQcMvuBZ+CQAfffRR98UbhiHTNPXjjz/qxx9/bHAb4RYAHjlyREuWLNEXX3yhnJwclZeXKzExUd26ddO5556r1NTUYJcIAAAAAACaA1Ny+XWObdPjO7OWr3zJm1YzMjIkSTfccIM7/Dvevffeq7///e/av3+/Vq1apeHDhzeoXYul8RNrCwoKtGTJEknSPffc4w7/qkRFRemee+7RjTfeqMzMTB07dkzx8fGNPp9fpgBLkmma7seJ39f3CDcbNmzQ7bffrgULFuiHH35QeXm5rFarDh48qPXr12v+/PnBLhEAAAAAADQTlVNgjaY96lxgQz581LOASCMfDQ0pCwsL9cUXX0iSRo4cWes+Xbp00WmnnSZJWrFihS9+RPX69NNPVVZWJqlyMd3aVD1fWlra5IV2/TICcNWqVf5otlnasmWL/vrXv6qiokJDhw7VNddc406bCwsL9c033/hkLjcAAAAAAIgcwV4EpMmaOP6roePHdu7c6R5s1rdvX4/79e3bVzt27NCOHTuaVlgDVZ2nQ4cOateuXa37tGvXTu3bt1dOTo527Nihyy+/vNHn80sAeMkll/ij2WanuLhYf/vb31RRUaGrr75akyZNqra9ZcuWOuuss3TWWWcFp0AAAAAAANAsNW4CZaiGhv6bDXrgwAH31x07dvS4X9W24/f3p6rz1FVT1facnJwm1+WXADDcFBYWau3atdq0aZOys7N1+PBhVVRUqG3bturfv7/GjBlT6w9sxYoVys3NVdu2bTVhwoQgVA4AAAAAAMKO6f9FQALL+2tp6PUXFha6v7bZbB73q9p27Ngxr2tpjKq66qrp+O1NrYsAsAEyMzM1b948SZLVapXNZlNpaakOHDigAwcOaPXq1XrggQc0YMCAasetXr1akjR48OAGryADAAAAAABQlzKzonLMXI2Bc+EUCh7vhAs1pB+O5QanlGYqYAFgdna2duzYoby8PJWVlemmm24K1KmbrE2bNpowYYIGDRqkLl26yGq1yul0au/evcrIyNDGjRv17LPPavbs2YqNjZUklZWV6fvvv5ck9ejRQ9nZ2Zo/f762bt2qwsJCJSYmql+/frr66qtrXYEGAAAAAACgNtFGlN5KTmvUselZi31cTdNldLnSb223bNnS/XVRUZESEhJq3a+oqEiSmrTSbmPqqjqvJ76qy+8B4Ouvv65nn322xkIXJwaATz75pD7++GN17txZr732mr/L8kptq8RYrVb16NFDDzzwgO6++27t27dPa9euVWpqqiQpJydHFRUVkqT9+/frpZdeUmlpqWJiYhQTE6NDhw5p5cqVWrNmjX7/+9/rwgsvDOg1AQAAAACASBSuowRrd/wt2/bv3+8xANy/f78k6eSTTw5oXVXn9cRXdVmadHQdiouLNWrUKN16663atWuXTNN0P2pz9tln6z//+Y/mzJmjnTt3+qssn4uOjnZP/T2+7uPnmP/rX/+SzWbTww8/rAULFmjevHmaMWOGUlJSVF5erhkzZtT7AwcAAAAAAGgq01TljNpQevhR7969ZRiVoef27ds97le17fTTT/dvQb+oOs/BgweVm1v7dOZDhw4pJyfHJ3X5bQTgTTfdpKVLl0qSTjnlFN1www3Kz8/Xyy+/XOv+l112mdq1a6fc3FwtWbJEp512mr9Ka5Ts7GwtWbJE27dvV05OjkpKSmqEmXl5ee6vj9/mcrl09913a+DAge7nunfvroceeki33XabSkpKlJmZqdtuu83/FwIAAAAAAJq9CXs/aOSRhr8zN6815lpuSjlXZzVgv5YtW2rQoEHasGGDli1bpmuuuabGPlW3rZPkntnpbxdeeKFiYmJUVlamf//737UuHvvRRx9Jklq0aNHkmaN+CQBXrFihd999V4Zh6Prrr9ecOXMUHR2tRYsWeQwALRaLLrvsMs2dO1effvqp/vjHP/qjtEb55JNPNGPGDPeUXsMwZLPZ3At7lJSUqKSkRKWlpe5j4uLi3F937ty5WvhXpU2bNrr44ov10UcfaevWrXXWkJGRoblz53rcPm7cOE2cONGr66qPXQU+bQ8AgFDVqlUrj7MUAikxMdHnbdrtLevfCQCAMBAq/XkgmOYvI/l8zKjxhe/5qm5v2pkwYYI2bNig//u//9PDDz+szp07V9v+1FNPyTRNdezYUUOHDvVNgfVISEjQ6NGj9d577+m5557T9ddfL6vV6t5eUVGh5557TpKUlpYWmvcAnDNnjqTKUW5V4V9D9O/fX3Pnzg2pKcAFBQWaNWuWKioq1KdPH910001KSUmpdk0ZGRlasGBBtT80bdq0cX+dnJzssf2qbYcOHaqzDofD4R72WZuioqJqvyi+YLFE1n0BAACRy2Lx211RvOLrvlySDPpzAECECJX+PBD81bubNb7wxZmCH8r+5je/0YwZM/T9999r9OjRevvtt3XGGWeouLhYM2fO1IsvvihJeuKJJ2pkWKeccop+/PFHTZw40Z13Ha+goEDl5eXu751Op6TKnOb4qb02m002m63asY899piWLFmiTZs2acKECZoxY4ZOOukk/fzzz7r77ru1adMmtWjRQo899liTXwO/BIBr166VYRi66aabGhz+Sf+9AeLPP//sj7IaZePGjSouLlZsbKymTp1a44clSUeOHKnxXEJCghITE5Wfn9+g81TNR/fEbrerffv2HrfbbDb3L5mvuFzB/48UAIBAcLlcPh8x0Jgwz9d9uSSZ9OcAgAgRKv15IJgyZJqB/5CvoWes/lMI/oeRLVq0UGZmpoYNG6avvvpK/fv3V0JCghwOh/v911133aWbb77Z67avuuoqffzxxzWef/rpp/X000+7v3/kkUf06KOPVtunT58+euONNzRp0iTNnz9fCxYsUKtWrdw5U0xMjObMmaPevXt7XdeJ/BIAHjx4UJLUq1cvr46LjY2VVDmlNlRUpbXJycm1hn+maWrbtm21HjtgwACtWrVK2dnZHtuv2lZXuCdJ6enpSk9Pr7POhoaNDeVwOHzaHgAAoaqgoMDn4VtSUpLXx/i6L5ckh6Ow/p0AAAgDodKfB4YZlIF1NU5pVN9gnvB0YIupW58+ffT1119r+vTpWrx4sfbt26dWrVrpzDPP1B133KExY8b4pcz6jB8/Xqeffrqeeuopffzxx8rNzVXHjh01ZMgQ3Xvvverfv79PzuOXALAqIXe5XF4dV7WIRuvWrX1dUqPZ7XZJlaFmeXl5jRGNK1eu9LiC77Bhw7Rq1Srt27dPmzZt0plnnllte15enj755BNJlasgAwAAAAAA1M+QGcyRdfWEb4HIJhtz/e3bt9dzzz3nvrdeQ+zdu7fO7atXr/a6jhMNGDCgznUffMEvE+Q7dOggSdq9e7dXx23cuFGSatyMMZj69+8vwzB07NgxzZgxw/3JfHFxsTIzMzVr1iyPN2Ls37+/zjqrck2amTNnauPGje5Q9IcfftCTTz6pkpISxcfH66qrrgrMBQEAAAAAgObPDOJDRuUjmDVwlxOv+GUE4ODBg7Vnzx69//77euihhxp0jMPh0D//+U8ZhtHkpY19KTk5WWlpaVq0aJHWrFmjNWvWyG63q7i4WC6XSwMHDlTPnj21YMGCWo+/55579NBDD+n777/Xn//8Z8XExCgqKkpFRUWSKpej/tOf/lRt0RAAAAAAAACP/LQKcO3qGmnnaRvpXKjxywjAX/3qV5KkzZs36/XXX2/QMbfffrt7dN2ECRP8UVajTZ48WXfccYe6d++u6OhouVwude/eXb/+9a/18MMP17nSUMuWLfX000/rlltuUUpKiqxWqyoqKtSpUyelpaXphRdeUN++fQN4NQAAAAAAoPkzfPcw63qoEQ8PbfmyZnjFLyMAR48erfPOO0/r16/XbbfdpoMHD+quu+6qdd/NmzfroYce0rJly2QYhi6//HINGjTIH2U1yYgRIzRixIhat40fP17jx4/3eGx0dLTGjBkTtBtKAgAAAACA8GHKHyMAAxCq+bDowI2ADA9+CQAlaf78+Tr33HP1888/66GHHtLjjz/uvjegJJ1zzjnKzs5WTk6OpMrVdLt06aI5c+b4qyQAAAAAAIBmz5B+GVHX3Piy5uZ4/cHjlynAUuVCHhs2bNB5550n0zRVUlKirKwsGUblD2jTpk06ePCgTNOUaZo699xz9dlnn4XwEtsAAAAAAADBF+y1N0LlgYbzWwAoVYaAn332mRYtWqSrr75abdu2dQd+pmmqZcuWGjVqlBYsWKB169apY8eO/iwHAAAAAAAgPDT2PnzN5tGAa0SD+W0K8PGuvPJKXXnllZKkoqIiHTlyRC1btlRCQkIgTg8AAAAAABA2yp1Omc1yCrA36r6+747kBqiO8BCQAPB4NptNNpst0KcFAAAAAAAIC9EWa8SPgEtJaBvsEpoVvwSA33zzjXr16uWPpgEAAAAAACLcL9NkI5hh+PWudmHHL6/W6aefrmHDhmn+/PkqLy/3xykAAAAAAAAiVziunBFO1xJi/BIAmqapjz/+WOPHj1enTp103333affu3f44Ffyo3OUMdgkAAPhdWZj3d+Vl4X19AABIUkVZRbBLaD6CvXQvgV5Q+GUK8CWXXKKPP/5YkpSbm6tnnnlGzzzzjIYOHarbbrtNY8aMUVRUwG8/CADwsYoyq47l2VTfDXrRONboCsW2Kg12GWHPMML93Wa4Xx8AnzBNyaA/9x/+FvubGYmvsT+nAPuraV/+mCLwR94UfknhVq1apW+//Vb/+Mc/9NZbb+nw4cPu51etWqV27drplltu0a233qpu3br5owT4QLTFGuwSAIQ605CzLDrYVYQ1wyAA9LdoS3h/KBkdE97XB8BHCP/8zBBphX9Fx0TYe1J/j5g7vu2m/nngVz8k+O2OiaeeeqqeffZZ/fTTT8rIyNAll1wi0zRlmqZycnL017/+VT179tSIESO0cOFCOZ1MTwEAAAAAAAgpTOsNC35fMiUmJkbjx4/XqlWrtGvXLv3+979X27ZtZZqmXC6X/vOf/2jcuHHq3Lmzpk6dqh9//NHfJQEAAAAAADRvwb5fnylVrkYczPOjoQK6ZvKJowIvvvhi96jAn3/+WdOmTVOPHj00atQoZWZmyuVyBbK8RikuLtYbb7yh3/72t7rmmmuUlpamtLS0YJcFAAAAAADCmGkawX+4glgH9yH3SlBuClM1KnD8+PH65ptv9PTTT+v11193h4HLli3TsmXL1KlTJ91111264447ZLPZglFqvaZPn67NmzdLkmJjY2W3293bfv3rXysnJ6fO46+44grddtttfq0RAAAAAACEkSCNgKsrcgt4OYwA9EpQ7wq9YcMGvfLKK1qwYIGMX246WxUCSlJ2drbuv/9+Pf/883r99dc1cuTIYJZbQ1ZWljv8u//++zV48OBa97PZbIqJifG4DQAAAAAAoMECNPjN8OJEJ+4ZkSszh7CAB4DHjh3T22+/rVdeeUVff/21JLkDv44dO+rWW2/V8OHDNX/+fL399tvKz8/Xzz//rLS0NH366acaNGhQoEv2KCsrS5IUHx/vMfyTpFtvvVWpqamBKgsAAAAAAIQzP40A9Cbw86YtwsDgC1gAuH79evdov+LiYkmVwZ9hGEpNTdX//M//KC0tTVarVZJ0/vnna9q0aXr22Wf12GOPyel06vHHH9fixYsDVXK9SktLJUlxcXFBrgQAAAAAAEQOQzJ9PwzQfzGdH4Ys+uH6w5lfA8CjR4+6R/tt27ZN0n9H+yUmJmrSpEm67bbb1LNnz1qPt9lsmjp1qg4fPqy//e1v2rhxoz/LbbC5c+dq3rx57u9zcnKqLfwxZcoURvwBAAAAAAD/ifRBdZF+/V7ySwC4bt06vfLKK/rnP/9ZbbSfJJ1zzjm6/fbbdf311ys2NrZB7Q0ZMkR/+9vfdPDgQX+U67W4uDi1bt1aZWVlKioqksViUUJCgnu7p/v9AQAAAAAABF5zGS1HqucvfgkAL7jgAhmG4Q79bDabrr/+et1+++0666yzvG4v1KbYjh07VmPHjtWKFSs0c+ZMJSUl6dVXX/W4/8KFC/X222/r6NGjstlsOuWUUzR48GBdeumlhIUAAAAAAMB7YTkFtuHXVO50+rGO8OO3KcCmaapXr1667bbbNGnSJLVq1arRbfXr109vvPGGD6sLrKysLMXExKhFixY6evSovvrqK3311VdaunSpHn74YbVr1y7YJQIAAAAAgGai1OmUXLVsCMdM0IN9BUeCXUKz4pcAcNy4cbr99ts1dOhQn7TXsWNHTZw40SdtBdK5556rPn36qG/fvu4pwnl5eVq+fLnmz5+vH3/8UX/+85/1/PPPKzo6OsjVAgAAAACA5qCFxVr7hgiaQds9sW2wS2hW/BIALliwwB/NNju33nprjefatGmj6667TqeccoqefPJJZWVlacWKFRo5cmQQKgQAAAAAAM2REUFhX20i/fq95ddVgOHZueeeq9NPP107duzQF198UW8AmJGRoblz53rcPm7cOJ+PkrSrwKftAQAQqlq1auW+d3EwJSYm+rxNu72lz9sEACAUhUp/HjC+uNRQmjIcQT+6YCAADKJevXppx44d+vnnn+vd1+FwKCcnx+P2oqIiWa0ehgA3ksUSSn8JAADwH4vFEuwSJMnnfbkkGfTnAIAIESr9eeA0tY83Qyx08/Z6eI/jjYAEgAcOHND69euVnZ2to0ePytmAlVoefvjhAFTWfNjtdrVv397jdpvN1qDX1RsuV0j9JQAAwG9cLpfPRww0JszzdV8uSSb9OQAgQoRKfx4QpnwQ3jXzAI23OF7xawC4ZcsW3XvvvVqxYoXXx0ZCAPjNN99Ikjp06FDvvunp6UpPT/e4PTc3V/n5+T6rTaocdQgAQCQoKCjwefiWlJTk9TG+7sslyeEo9HmbAACEolDpzwPF3/fAq9F8Y/LCExpp5pFjs+a3APDDDz/UuHHjVFpaWm8CbxhGtX0Mo/n/SpimWed1fPHFF9qxY4ckadCgQYEqCwAAAAAAoF41Eg1G3DVrfgkADx8+rPHjx6ukpEQ2m01/+MMfdOGFF2rkyJEyDEOPP/64BgwYoB9++EFLly7V0qVLZRiGJk6c6POFLILllVdekWEYGjx4sHr27KkWLVpIqvxk/z//+Y/mz58vSerSpYtSU1ODWSoAAAAAAGhuQimQq6olkOO5Qun6mwG/BIAvv/yyjh49KsMwtGjRohoBV9++fXXFFVdIku644w6tW7dO48aN05tvvqnTTz9d//u//+uPsgKquLhYK1eu1JIlS2QYhmw2m6Tq02q7d++uBx98UNHR0cEqEwAAAAAANDc+uQegHwSyplC8/hDmlwDwo48+kmEYGjlyZINGt51//vlaunSpzjnnHD3wwAO69NJLNWDAAH+UFjAjR45Uq1at9M033ygnJ0fHjh2Ty+VSmzZt1KNHD11wwQW6+OKLFRXFQswAAAAAAMALoT7Srvnf2S3s+CV92rVrlyTp0ksvrXV7RUVFjefOOOMMXXfddcrIyNDs2bM1a9Ysf5TmU6mpqR4Dzt69e6t3794BrggAAAAAAIQ7w/T/IiBNEoDayBi9Y/FHo0eOHJEkJScnV3u+aqprUVFRrccNGTJEkrRy5Up/lAUAAAAAABAeTB5oOL8EgDExMbU+Hx8fL0nav39/rdur7pPnaTsAAAAAAACkyjFwkfyAN/wSAJ588smSpLy8vGrPd+/eXZK0efPmWo/bvXu3pNqnCAMAAAAAAOAXwR59F+wHvOKXALBv376S/nsvwCqDBg2SaZr64IMPdOjQoWrbSktL9eqrr0qSunbt6o+yAAAAAAAAwoMXYZnRjB6EgP7hlwDwoosukmmaWrNmTbXnb7jhBkmSw+HQZZddpqVLl+rbb7/Vhx9+qIsvvlhZWVkyDEOjR4/2R1kAAAAAAADNnmmaYTtZtqHXdKS4JFglNkt+CQCrArwtW7bo+++/dz9/wQUXKC0tTaZp6uuvv9bo0aN12mmn6cor/7+9e4+Pqrr3///eM5lcZgi5EFAxgNzUihrRgkqtomhRQY4oaguptEXrqbVqL9/z9YfYg9fSnqOFVjy2YI/agIhWJV5QOSDCl+M1YBVEERUDJRBCQkgmyWQu+/cHMiUkk2SS2XPZ83r6GEyy9l7z2ZuQNXnPWntfoffff1+SVFRUpF/+8pdWlAUAAAAAAJDy/MGQFFJaPxp9vhicyfSRYUWnI0eO1BNPPKGmpib5jvoLWbJkia699lqtXLmy3X6DBw/Wc889p2OOOcaKsgAAAAAAAFJeptOZcjP7Ym1QXl6iS0gplgSAkvT973+/w697PB69/PLL+t///V+9/vrr2rNnjzwej8aMGaOrrroq4h2EEX/+UDDRJQBIcoYRUla2T6m3sCA1OFxBBUMS59darcGgRWsikoO/lZurAegGMyTGGytxsTKr+Vv9iS4h/tL92yrdjz9KlgWAXRk3bpzGjRuXqKcHAMRAVnZAecV1iS7DtnwBp/Y39kl0GbYXMu3+C6/djw9A7PDbNFKXkY7jXSz+ySbLaePHj+USFgAi+bkczkSXAACA5TId9n455MpkPAcA2F9Gpr3H83ZidRfcr/swjPgngabZywMgNIxKmv0LAQAAAAAASHFGjCfvdRjGxToUbPscve09WSYvpopeBYA/+tGPYlVHG4Zh6LHHHrOkbwAAAAAAgJQWqxmAXT7JYUab/3Vvd6boJZNeBYCPP/64ZdNECQABAAAAAAAiiGu+ZrZ/zqPzoHgHfuSLUen1EuBer9nuQCLWnlth9erVWrBgQZfblZWVqW/fvnGoCAAAAAAApDpDkpHoG5m1i4PiXY89sqN46VUA+OWXX8aqDltzOBydBnx2CTwBAAAAAACQfHoVAA4ZMiRWddhaUVGRFi9enOgyAAAAAACAHcTlGoDtdTZ9Ke7lsAQ4KtwFGAAAAAAAIIWY4T+sE+1axY62J6NLHgSA3dDY2KgNGzZo48aN2rVrl/bv369AIKB+/fqppKREV155pQYOHJjoMgEAAAAAQBowlBpXwLOyxlQ4/mRCANgN5eXlWrZsmSTJ6XTK7XbL5/OpqqpKVVVVWrt2rWbPnq0zzjgjsYUCAAAAAID0kO7T69L9+KNEANgNhYWFmjFjhsaOHavBgwfL6XQqGAxqx44dKisrU0VFhR588EEtWrRI2dnZ7favr6/X7bffrn/84x+SpH79+unUU0/V5MmTdcIJJ8T5aAAAAAAAQMpL9wAs3Y8/So5EF5AKLr30Ul133XUaOnSonE6npEMzAYcPH67Zs2dr0KBBqq+v14YNGzrc3+fz6csvv5TL5VIwGNTu3bv1+uuv6/bbb9fzzz8fz0MBAAAAAACpzuz6YaT4o8tjRFSYAdhLLpdLZ5xxhnbu3KmtW7dqwoQJ4bbCwkJ973vf07hx4zRw4EC5XC4FAgF9/PHHevLJJ7Vt2zb993//twoLC3XBBRck8CgAAAAAAECqaA0GbX8NvK6O7x919XGpwy4IALtp165deumll7RlyxZVV1erpaVFptk2cq6trW3z+ejRozV69Og2X8vIyNDpp5+u3/zmN5o9e7Y+/fRTPfHEE/r2t78th4MJmQAAAAAAoHOZTqcUSnQVidUnMzPRJaQUAsBuWLdunebPn69AICBJMgxDbrdbLpdLktTS0qKWlhb5fL5u9+lyuVRaWqq77rpLNTU1+uKLLzRixIiI25eVlWnp0qUR26dNm6aZM2d2+/m7wyPSdABAesjLy2v3xl4iFBQUxLxPj6dPzPsEACAZJct4Hi9GNIeaytMFIxxnfk5OfOtIcQSAXaivr9fChQsVCAQ0atQoXX/99RoxYkQ4/JMOhXPLly+P+gfNSSedFP54z549nQaAXq9X1dXVEdubmprC1yeMFYcjlX9CAADQfckyCz/WY7kkGYznAIA0kSzjeVJKn1wUERAAdqGiokLNzc3Kzs7WXXfdJbfb3W6bAwcOWF6Hx+PRgAEDIra73W4Fg8GYPmcoxE8IAEB6CIVCMZ8x0JMwL9ZjuSSZjOcAgDSRLON53DDEIwoEgF2oqamRJBUXF3cY/pmmqc2bN/eo708//TT88THHHNPptqWlpSotLe20zrq6uh7VEYnX641pfwAAJKv6+vqYh29FRUVR7xPrsVySvN7GmPcJAEAySpbxPG5iHAAa7T6wTkxyWgLQqBAAdsHj8UiS9u7dK7/f32bpryStWbNGu3fvbrefaZoyjMj/agKBgJYsWSJJ6tevn4YPHx7DqgEAAAAAgF0ZpoU5XRyCNS5QEn8skO9CSUmJDMNQQ0OD5s+fH35nvrm5WeXl5Vq4cKFyc3Pb7VddXa1f/epXeu2117R3797w14PBoDZv3qzZs2frk08+kSTNnDmTaxUAAAAAAIDuM1PgEfr6YVX/6DZmAHahuLhYU6ZM0YoVK7R+/XqtX79eHo9Hzc3NCoVCGj16tEaOHKnly5e323fbtm3atm2bJCkzM1PZ2dlqamoK3004IyNDM2fO1Pjx4+N5SAAAAAAAIIWZ4T8Sxwj/0Y0lvYR1CUcA2A2zZs1ScXGxVq5cqZ07dyoUCmnYsGEaP368Jk2apKeffrrdPvn5+frxj3+srVu36ssvv1R9fb28Xq+ysrI0aNAgnXbaabrssst0/PHHJ+CIAAAAAABAqjKUBMtojwj1ElFLwo8/xRAAdtPEiRM1ceLEDtumT5+u6dOnt/laVlaWJk+erMmTJ8ejPAAAAAAAkE6SYVZdImtIhuNPIQSAAAAAAAAAaOuogK2rGXft8jim6CUVAkAAAAAAAIBUY+EMuJ5kd+32Mdv8DwlGAAgAAAAAAJBKTMlIkWTNqomAqXL8yYIAEAAAAAAAIB0kc2jGkmFLEQACAAAAAACkmmQO83rCbseTZAgAAQAAAAAAUk0ngZldJtN1mgkSGEaFABAAAAAAACCF+IPBQyGfzUOwzoLML6tr41aHHRAAAgAAAAAApBCXwymFEl1FYh1f0DfRJaQUAkBE5A8FE10CAACWa7X5eOdvtffxAQAgSYHWQKJLiCtD3AU3y0mkFQ3OFgCgx0KmFAgZ9rnISJIJBgwFmp12X9mRcKGg3b+B+Q4C0A1OpwzD7j8PE8cMhaRQmk/XspiZjuNdbw45mf+5p+FfZTwQACIil8OZ6BIAJDlDhsQvC5Yx5VAo5Eh0GbaXafPxzpXJyz0AXTAMOZz2/lmYDEwCQEu5Ml2JLiGuzPAfvengCIl8Sd/T4yAojAqvCAEAAAAAAFKIoRhndoRptkcACAAAAAAAkEpMEdohKgSAvdTc3Kxly5bp7bffVk1Njfx+vySpvLw8wZUBAAAAAADbSlQA2NXUw3jVRQAaFS4s1Evz5s3T888/r6qqKjmdTuXn5ys/Pz/i9p999pmuvPJKTZkyRVOmTNHevXvjVywAAAAAALAFw0zQI3TEo7OvWf3owTnbt2+ffvnLX2rkyJHKyclRUVGRvvOd7+iFF17o1d+F3+/XQw89pLPOOkt9+/ZV37599c1vflO///3vwxPFOvKDH/xAhmF0+jj11FN7VdthzADshcrKSm3atEmSdMcdd2jcuHGdbh8MBvXwww8rxMVfAQAAAABAryRwCpx5xP8TdgOR6I5/y5Ytuuiii1RdXS1Jys3N1YEDB7Rq1SqtWrVKt956qxYsWBB1FY2Njbr44ov1zjvvSJKys7MlSRUVFaqoqNAzzzyjVatWyePxROwjOztbeXl5HbYVFRVFXVNHmAHYC5WVlZIOfdN0Ff5J0gsvvKAvv/xSJ510ktWlAQAAAAAAOzPj+Agd+TBkmIceMg0pZPyzLZ41RZH/+Xw+TZkyRdXV1Tr11FP1wQcf6ODBgzp48KDuu+8+GYahP/zhD/rv//7v7nf6tZtuuknvvPOO8vPz9dxzz6mpqUlNTU167rnnlJ+fr7feeks333xzp31cd9112rNnT4ePtWvXRl1TRwgAe8Hn80mScnJyutx2z549euqppzRgwABdd911VpcGAAAAAADsKm5Lfr8O+9r8909G+PH1f4e3j0Nt0QSAf/7zn/XFF1/I7Xbr5ZdfVklJiSTJ7XbrzjvvDAd0c+bM6XTJ7tE+/PBDPfXUU5KkxYsXa+rUqeGlu1OnTtWiRYskSX/961+1efPm7hdsAQLAHli6dKmmTJkSnhpaXV0dvqbflClTtHr16nb7PPLII2ptbdWPf/xjZWVlxbtkAAAAAABgJ5bNrDOOeMSij97008kjCmVlZZKk733vexo8eHC79n/7t3+TYRjavXu33njjjW73u2TJEpmmqREjRuiqq65q13711VdrxIgRMk1TS5cuja7oGCMA7IGcnBzl5+fL7XZLkhwOR/jmH/n5+crMzGyz/Zo1a/TBBx/onHPO0dixYxNRMgAAAAAAwD8dFaj9c3adacHjiFl7PQzxeqqxsVHvvfeeJOnSSy/tcJvBgwfrG9/4hiR1OKkrkjVr1kiSJk6cKMNofzFEwzD0ne98J+p+rcBNQHpg6tSpmjp1qlavXq0FCxaoqKhIixcv7nDbgwcP6i9/+YtycnJ04403xrlSAAAAAABgN4a+DtSiEafArTPtIrKja4rihiLdPf6tW7fKNA9t3NkddU899VR9/PHH+vjjj7vVr2ma2rp1a7f6PVxHJKtXr9bIkSNVWVmp7OxsjRgxQpdffrluueUWHXPMMd2qpyvMALTYY489poMHD+q73/2u+vfvn+hyAAAAAACAHVi4ZDZhLDieqqqq8McDBw6MuN3htiO370xDQ4O8Xm+3+21oaFBjY2OH2+zatUs7duyQx+NRY2OjNm7cqPvuu0+nnHJKzGYOEgBaaNOmTXrjjTd0wgknaMqUKYkuBwAAAAAA2EE3ArL43CTE4pt8dPIwQ907VUeGbocv5daRw20NDQ2W9NtR32eeeaYeeeQRffXVV/L5fKqtrdWBAwdUVlam4447TrW1tbryyiu1bdu2btXUGZYAW8Tn8+m//uu/ZBiGbr75ZjmdzkSXBAAAAAAAbMAfCHV8J9woltAmu64OZUdVbVzqsNKtt97a7mu5ubmaMWOGzjvvPI0ePVp1dXWaO3dur28iQgBokaVLl2rPnj2aOHGiTj755F73V1ZW1ulf9rRp0zRz5sxeP8+RPKqPaX8AACSrvLy88LVhEqmgoCDmfXo8fWLeJwAAyShZxvN4cGU49KefXNCjfW965M0YV9N7f7q5Z8fSHX36/PO1UFNTk/r27dvhdk1NTZIOBXA96TeSI9u627ckDRkyRLfccovuvfdevfzyywqFQnI4er6QlwDQArt371Z5eblyc3N17bXXqrm5uU17a2tr+GOfz6fm5mY5nc52dw8+ktfrVXV1dcT2pqammM8ydDhs9NYBAACd6M2LqViyYsWAwXgOAEgTyTKeJ7uobx6S4o68Pt/u3bsjBoC7d++WJB133HHd6jc3N1d9+vRRY2NjeN/O+j28fTTOPvtsSYduMLt///5e3VuCANAC+/fvVzAYVENDg2bNmtXptrfccoukQ3+pd955Z8TtPB6PBgwYELHd7XYrGAz2rOAIQqE0+6kAAEhboVAo5jMGehLmxXoslyST8RwAkCaSZTxPemn20uDkk0+WYRgyTVNbtmyJuEpzy5YtkqRTTjmlW/0ahqFvfOMbeu+998L7dtbvN77xjSgrjy0CwBRRWlqq0tLSiO01NTWqq6uL6XMevpsNAAB2V19fH/PwraioKOp9Yj2WS5LX2/Hd5gAAsJtkGc/jwpR+8seeLeU9vDagXQ6YiEUDXxfxr18fSzQlfPeS0TrrrK6369Onj8aOHat33nlHr776qq6++up22+zatUsff/yxJGnChAndruGiiy7Se++9p9deey3iNq+//nrU/R72zjvvSDo0e7Bfv35R738kAkALnHbaaSovL4/Y/tFHH4Vn+y1atEjHHHNMvEoDAAAAAABoH7bZeGbgjBkz9M477+ipp57Sr3/9aw0aNKhN++9+9zuZpqmBAwfqwgsv7Ha/06dP1+9+9zt99tlnev755zV16tQ27c8995w+++wzGYahGTNmtGkzTVOGETnyrKys1MKFCyVJkyZN6vUSdxbIAwAAAAAApBozzR9R+PGPf6xhw4bJ6/Vq8uTJ+vDDDyVJzc3Nmjdvnh5++GFJ0n333SeXy9Vm3xNOOEGGYegHP/hBu35PP/10fe9735MkzZo1SytWrJBpmjJNUytWrNANN9wgSfr+97+vUaNGtdm3rKxMV199tV544QXV1NSEv97Y2KinnnpK3/rWt1RbW6s+ffpo7ty50R1wB5gBCAAAAAAAkGLieTOP3jyVZSuLoygqKytL5eXluuiii/Thhx+qpKREffv2ldfrDS8b/9nPfqYf/vCHUZfxpz/9SZ9//rneeecdXXnllcrJyZFpmmppaZEknXvuuXrkkUfa7RcMBvXcc8/pueeek3RoqXJWVpbq6uoUCoUkSQMGDNCyZct00kknRV3X0ZgBCAAAAAAAkGriONvOiPRQJ21fP5JhBqAkjRo1Sh999JF+/vOfa8SIEfL5fMrLy9PFF1+s559/Xn/4wx+i71SHgrv169frwQcf1Jlnnimn06mMjAydeeaZeuihh/Tmm2/K4/G02+/CCy/Ufffdp8suu0zDhg2Tw+FQfX29CgoK9O1vf1u/+c1vtHXr1qiWJHeGGYC9MGHChB5dxLGrawQCAAAAAAB0Lo5TACM9ranE3DykhwYMGKCHHnpIDz30ULf32bFjR5fbuFwu/eIXv9AvfvGLbvc7ZMiQ8P0h4oEAEAAAAAAAIIWEZ9fFQ5vn6SDtM4/6IE6BYDyXQNsBASAAAAAAAECqiUsAFk2a9/W2RweCSAoEgAAAAAAAAKnGknwtltP3ju4rxgWTL0aFABAAAAAAACDFWLMENoVStRQqNRkQAAIAAAAAANhZqoRlKXRDkVRDAAgAAAAAAJBKTKVOqBcNOx5TkiAABAAAAAAASDWdhGV2mUjXWR7o8/njVocdEAAiIn8omOgSACS5kCm1+DJk2OUVRpLx+x3KymyVfV7CJSd/KJDoEizlb7X38QGIAdNUKBiUwYBuGTMUSnQJtpdu411ra1BGGnxbdfZTqXpfQ9zqsAMCQABAj/kDGaqvdye6DNvKyvTruP4HE12G7WVl2f0XBn6hB9ANwSAr76xmOBJdga2l22iX6XJ27yYgdjoxRx3v4IGFiakjRREAIiKXw5noEgAAsFymzcc7V6a9jw8AAEnKyHQluoQE6EYCaOtk39YHF3MEgAAAAAAAACnEkLo3A9DG0v34o0UACAAAAAAAkGrsFICZin65sp2OPw4IAAEAAAAAAFKIGf7DQrG+fmBX9RLoWYoAMAHuu+8+vfvuu5Kkiy66SLfffntiCwIAAAAAACnDMCXDtDgxO7J7I/xHlH1YVyNLgKNDABhnGzZsCId/AAAAAAAAPRLPAOzoKYeRskBCuaTFfcjjyOv1atGiRfJ4PCouLk50OQAAAAAAANEzj3qEvn4gaREAxtHjjz+u2tpalZaWKj8/P9HlAAAAAACAFHVoGXCSPPTPOxPH68Fsw+iwBLgbGhsbtWHDBm3cuFG7du3S/v37FQgE1K9fP5WUlOjKK6/UwIEDO+3j448/1uuvv66RI0fqsssu04YNG+JUPQAAAAAAsJ24BGD/fJLuXAEwuq0RTwSA3VBeXq5ly5ZJkpxOp9xut3w+n6qqqlRVVaW1a9dq9uzZOuOMMzrc3+/36+GHH5ZhGLr55pvlcDDxEgAAAAAA9JBpWn8TkB74Z+xnfW3JePzJjACwGwoLCzVjxgyNHTtWgwcPltPpVDAY1I4dO1RWVqaKigo9+OCDWrRokbKzs9vt/8wzz2jXrl264oorNHz48AQcAQAAAAAAsBXyL0SBqWjdcOmll+q6667T0KFD5XQ6JR2aCTh8+HDNnj1bgwYNUn19fYfLenfu3Klnn302HCICAAAAAAD02tE34ojykejrBva2fgLQ6BAA9pLL5Qov/d26dWubNtM0tXDhQgUCAd1www1yu90JqBAAAAAAANiJEc3DygDOigCym8eF6LAEuJt27dqll156SVu2bFF1dbVaWlpkHrXevLa2ts3nr732mj7++GOdddZZOu+88+JZLgAAAAAAsDO7XgOvu4dl1+O3CAFgN6xbt07z589XIBCQJBmGIbfbLZfLJUlqaWlRS0uLfD5feJ/a2lo98cQTyszM1E033dTrGsrKyrR06dKI7dOmTdPMmTN7/TxH8qg+pv0BAJCs8vLy2r2xlwgFBQUx79Pj6RPzPgEASEbJMp7HQyhoHprFl8YO1DUluoSUQgDYhfr6+vAy3lGjRun666/XiBEjwuGfdCicW758eZsfNE8++aS8Xq+uueYa5eXlqbm5uU2/oVBIkhQMBsNtWVlZEe8Q7PV6VV1dHbHOpqam8PUJY8XhYFItACA9RBp/4y3WY7kkGYznAIA0kSzjeTyEQqYUipQApsPYbyrQ6k90ESmFALALFRUVam5uVnZ2tu66664Or+N34MCBdl87HNY988wzeuaZZyL2/+abb+rNN9+UJM2fP1/Dhg3rcDuPx6MBAwZE7MftdisYDHZ2KFELRfxhAgCAvYRCoZjPGOhJmBfrsVySTMZzAECaSJbxPB4yMhydLJU1j/hTMuyQB3ZwrP3758W/jhRGANiFmpoaSVJxcXGH4Z9pmtq8ebPldZSWlqq0tDRie01Njerq6mL6nF6vN6b9AQCQrOrr62MevhUVFUW9T6zHcknyehtj3icAAMkoWcbzuDh8I49OhHM/8+gvpADev4w5AsAueDweSdLevXvl9/vbLP2VpDVr1mj37t3t9nvggQc67Xf27NnavHmzLrroIt1+++0xqxcAAAAAANicIUWdktkuVLPdAVkqfRbI91BJSYkMw1BDQ4Pmz58ffme+ublZ5eXlWrhwoXJzcxNcJQAAAAAASBsmD/K/6DADsAvFxcWaMmWKVqxYofXr12v9+vXyeDxqbm5WKBTS6NGjNXLkSC1fvjzRpQIAAAAAgHRh8R2PTZkyYnkBQfPoD3rZNwFgVAgAu2HWrFkqLi7WypUrtXPnToVCIQ0bNkzjx4/XpEmT9PTTTye6RAAAAAAAkDbMLq8B2FuGjPYZYzSZ3VH7Gh181BupdEnDZEAA2E0TJ07UxIkTO2ybPn26pk+fHlV/XV0jEAAAAAAAoEOmLJ8BKHUQsplHNx6xRRzqaVsLUwCjQQAIAAAAAACQQnpyD5CYM5OhCHQXASAAAAAAAAC60FXYx6LcZEYACAAAAAAAkGKMuC6B7c6NO0Ld2CZ2rL4Got0QAAIAAAAAAKSauAZg3Qn1mAGYzAgAAQAAAAAAUompmAaA3Znfl3T9MwMwKgSAAAAAAAAAKab3S4BNHY7krJ67177/GESC3AU4KgSAAAAAAAAAqabX+Vcil+yyXDjeCAARkT8UTHQJAABYzh8KSI5EV2EdfyvjOQDA/gKt/kSXkDzsODGOvLDXCAABAD3mcASVleMTI7I1TJmq9ebI4PRayh902joAtOdvAQBiLsMlgwHHMmYwKDHBwlLpNtr5WwNxvgtwgnVwqFU7a+NfRwojAERELocz0SUASHKGYciZIaXfS674ME0pEOJnsdVcDnu/HHJl2vv4AMSAYcjhZLyxmkkAaKl0G+9cLqcUSu/X4Hn52YkuIaWk178QAAAAAAAAO0jv/E8eT06iS0gpBIAAAAAAAACppgdLgGNw793kkU5LoGOAABAAAAAAACClmD0KwI4O/kwZSRAGEuTFAwFgLzU3N2vZsmV6++23VVNTI7//0J2HysvLE1wZAAAAAACwJ0NGDHIzI5XDtxQuPREIAHtp3rx52rRpkyQpOztbHo9HkuT3+7V69Wp99tln+uKLL1RXV6eDBw/K5XJpwIABKikp0eTJk3XssccmsnwAAAAAAJBqzJ7NAOyZWMwRtKBWlgBHhQCwFyorK8Ph3x133KFx48aF2+rq6vTII4+EP3c4HHK73WpqatJXX32lr776Sq+++qpuu+02ffvb34577QAAAAAAIIXFLf8iaLMDAsBeqKyslCTl5ua2Cf8kyeVy6YorrtCoUaN04oknqqCgQE6nU4FAQJ988okef/xxbdu2TfPnz9eIESN03HHHJeIQAAAAAABAKkqKGXCHZwcmoJZkOPwU4kh0AanM5/NJknJy2t96uk+fPrrxxhs1btw4FRUVyel0SpIyMjJ06qmnau7cucrOzpbf79e6deviWjcAAAAAAEhdhvTPZcCJeIS+fpihrx8JqIEEMCrMAOyBpUuXatmyZeHPq6urNWXKlPDnt912myZMmNBpH3369NHAgQP1xRdfaP/+/ZbVCgAAAAAAbCYR+ZfZ5n8y9M9JiOGrBMbzlsLkf1EhAOyBnJwc5efnq7W1VU1NTXI4HOrbt2+4PTMzs8s+Dh48qN27d0sSNwIBAAAAAABRiMNNQI7q3jjq/0d/LHVQUjwDQXSKALAHpk6dqqlTp2r16tVasGCBioqKtHjx4i73M01TBw4c0GeffaYlS5aopaVFbrdbF110URyqBgAAAAAA9mDIiHX+F4P+2uV9ZmeNvXwuZgBGhQAwDhYtWqQXX3yx3dePO+44/epXv1J+fn78iwIAAAAAACkqBjMAE7SEOKy3gWBS3AQldRAAxoHb7VZ+fr6CwaAaGhokSQMHDtSNN96okSNHJrg6AAAAAACQUkxFH4AlW17W60Aw2Q4ouREAxsGMGTM0Y8YMSVJLS4s++ugjPfHEE7r77rs1fvx43XbbbeG7BAMAAAAAAHSpO/lXBzfuSFZR31CE/C8qBIBxlp2drTFjxmjUqFG69dZbtXbtWo0YMaLNXYQ7UlZWpqVLl0ZsnzZtmmbOnBnTWj2qj2l/AAAkq7y8PJlJsIykoKAg5n16PH1i3icAAMkoWcbzeDE6OtYIh5/Mwd9hnV4/sMMNEA0CwAQ5fPOPZcuWadWqVV0GgF6vV9XV1RHbm5qaYj6L0OHgXxcAID04HI5ElyBJlqwIMBjPAQBpIlnG83jw+wOHpsylT97Z7lh3bt+bmDpSFAFgAvXr10+SVFVV1eW2Ho9HAwYMiNjudrsVDAZjVpskhULp9JMEAJDOQqFQzGcM9CTMi/VYLkkm4zkAIE0ky3geD66MDCnNx/iBQ/oluoSUQgCYQHv27JEk5eTkdLltaWmpSktLI7bX1NSorq4uZrVJh2YdAgCQDurr62MevhUVFUW9T6zHcknyehtj3icAAMkoWcbz+IjBXYBTnNOZPjM+Y4EA0CLBYLDTdwrq6+u1evVqSdKoUaPiVRYAAAAAALADWweA3bhtiZ0P3wIEgBb505/+JIfDofPPP1/Dhw9XVlaWpEPX6tu4caOefPJJHThwQE6nU9dcc02CqwUAAAAAACnDVIwDwEReM7iz4+ikzdYBaOwRAFqktbVVa9as0SuvvCLDMOR2u2UYhrxeb/iaBB6PR7fddpuGDx+e4GoBAAAAAEDqiPUS4CP7sjoMNNs+ZY+fjgAwGgSAFpk2bZoGDRqkjz76SLt371Z9fb38fr/69u2rQYMGafTo0brkkkuUn5+f6FIBAAAAAEBKMSzMvzrouDeZYFd19vQ4yP+iQgDYCxMmTNCECRM6bCsuLlZxcbGuvvrqOFcFAAAAAADsLc43ATn6qYzOrs1HMpeMCAABAAAAAABSScyvARjt83/93IaRuDoIGqNCAAgAAAAAAJBqkiEAS4Ya0C0EgAAAAAAAACklzkuAk1G6H3+UCAABAAAAAABSTboHYGl++NEiAAQAAAAAAEglpgjAEBUCQAAAAAAAgFST9jMA0/z4o0QACAAAAAAAkGoIwBAFAkBE5A8FE10CgCRnmofXHhiJLsWmTDkdvLCzmj8UkJyJrsI6/tZAoksAkOxMU6FgUIbBeG4VM8jvVlbzt/oTXUL8pXsAmO7HHyUCQABAjx36RYFfFqyS4TTlyWpNdBm253SEEl2Cxfg3CqAbAn4uJ4aUZqTbeGdyF2AzaPfXcLFFAIiIXA4bT4cAAOBrLoe9Xw65MhnPAQD2l5Fp7/H8aAF/4OsA0Ey/m4F8nfXu+nxvYutIMen1LwQAAAAAACDFZbgypFCazoALHUo8B404JsGFpBYCQAAAAAAAgJRifn097iik2nU+uzq+NF8CHS0CQAAAAAAAgFRiKvoA7OjtkzEQJNSzDAGghbZv3653331Xn332mXbv3q2DBw/K5/MpNzdXw4YN0/nnn68LLrhADocj0aUCAAAAAIBU0tuwLBkCwd4cA2FhVAgALfT666/r1VdfDX+enZ2tjIwM1dXVqaKiQhUVFVq1apXmzJkjt9udwEoBAAAAAEBKiXUAFo9AMKY1EwBGgwDQQieddJKOP/54nXLKKTr++OPDId+BAwe0atUqLVmyRJs3b9Zf/vIX3XLLLQmuFgAAAAAApIqorwEY/RO0+dToQSBoZY1MAIwOAaCFJkyY0OHX8/Pzdc0118jn82n58uVau3at/vVf/1UZGfx1AAAAAACAzpmmGfcErE2YFykMjGtNJIDRIHHqhsbGRm3YsEEbN27Url27tH//fgUCAfXr108lJSW68sorNXDgwKj7HTlypCSptbVVDQ0NKigoiHXpAAAAAADAjhI5Be7wcxtG4uog/4sKAWA3lJeXa9myZZIkp9Mpt9stn8+nqqoqVVVVae3atZo9e7bOOOOMqPr95JNPJB26NmB+fn6MqwYAAAAAALaVDGtgkyGERLcQAHZDYWGhZsyYobFjx2rw4MFyOp0KBoPasWOHysrKVFFRoQcffFCLFi1SdnZ2p335fD7t27dPb7zxhp5//nlJ0qRJk3q0lh4AAAAAAKQpAjBEgQCwGy699NJ2X3M6nRo+fLhmz56t22+/XTt37tSGDRs6vO5fY2Ojpk+f3u7rGRkZmjx5skpLSy2pGwAAAAAA2JBpWneDjVj3a9WEJwLQqDgSXUCqc7lc4aW/W7du7XAbh8Oh/Px85efnKzMzU9Khu+dMnjxZV199tZxOZ7zKBQAAAAAAdnD4RiC9fYRCbR+x6tfq/hEVZgB2065du/TSSy9py5Ytqq6uVktLS7u0vba2tsN93W63nnzySUmH7ppTXV2tF198US+++KJWr16tO++8U6eccorlxwAAAAAAAGyiNyFYMl27r6czBAkBo0IA2A3r1q3T/PnzFQgEJB2aved2u+VyuSRJLS0tamlpkc/n67IvwzB0zDHH6IYbbtCAAQO0ePFi/cd//IceffRRZWVlRdyvrKxMS5cujdg+bdo0zZw5M8oj65xH9THtDwCAZJWXl2fdMpooFBQUxLxPj6dPzPsEACAZJct4HjfRHGsyn5ceB4JJfExJiACwC/X19Vq4cKECgYBGjRql66+/XiNGjAiHf9KhcG758uVR/6C59NJL9cQTT2j//v2qqKjQuHHjIm7r9XpVXV0dsb2pqSnmS4kdDm5MAgBIDw5HclwVxYrLghiM5wCANJEs43lcHF5aG6k5jqXE3BHZSqevYpI51ExCBIBdqKioUHNzs7Kzs3XXXXfJ7Xa32+bAgQM96jszM1O5ubmqra1VVVVVp9t6PB4NGDAgYrvb7VYwGOxRHZGEQvxjAgCkh1AoFPMZAz0J82I9lkuSyXgOAEgTyTKex0s6zHbs7Aj9vkDc6rADAsAu1NTUSJKKi4s7DP9M09TmzZt71Hdzc7MOHjwoScrJyel029LS0k7vFlxTU6O6uroe1RGJ1+uNaX8AACSr+vr6mIdvRUVFUe8T67Fckrzexpj3CQBAMkqW8TweTjh1kIaXDJEZMtW3KFfZ7siXFLOTgD+og7UNOrivQedMPjPR5aQUAsAueDweSdLevXvl9/vbLP2VpDVr1mj37t3t9gsGg3I4HDI6Wbu+YsWK8HUFR40aFcOqAQAAAACAXeUW9NGjG/8j0WUghaTRAvmeKSkpkWEYamho0Pz588PvzDc3N6u8vFwLFy5Ubm5uu/1qamr085//XK+//rr27dsX/rppmtq5c6ceffRRPfXUU5Kkc889V0OGDInPAQEAAAAAACCtMAOwC8XFxZoyZYpWrFih9evXa/369fJ4PGpublYoFNLo0aM1cuRILV++vN2+X3zxhR5++GFJh673l52drZaWFrW2toa3GTNmjH7+85/H7XgAAAAAAACQXggAu2HWrFkqLi7WypUrtXPnToVCIQ0bNkzjx4/XpEmT9PTTT7fbp7CwUP/2b/+mDz/8UNu2bVNdXZ0OHjwol8ul448/XieeeKIuuOACnXkma9YBAAAAAABgHQLAbpo4caImTpzYYdv06dM1ffr0Nl9zuVw677zzdN5558WjPAAAAAAAAKBDXAMQAAAAAAAAsDECQAAAAAAAAMDGCAABAAAAAAAAGyMABAAAAAAAAGyMABAAAAAAAACwMQJAAAAAAAAAwMYIAAEAAAAAAAAbIwBERP5QMNElAABgOX8okOgSLOVvZTwHANhfoNXe4znQWxmJLgAAkLpCQcnX4pRkJLoUW3I6gnI5HTI4vZYyTbufYDPRBQBIBRkuGQw4ljGDwUMvnGAZk/EO6BQBICJyOZyJLgFA0jMUCvGzwioOw5QMg5ezFnM57P1yyJVp7+MDEAOGIYeT8dxqJgGgpVyZrkSXACQ1lgADAAAAAAAANkYACAAAAAAAANgYa0J6qbm5WcuWLdPbb7+tmpoa+f1+SVJ5eXmCKwMAAAAAAAAIAHtt3rx52rRpkyQpOztbHo9HkhQMBvXBBx9o48aN2rp1q6qqqtTS0qI+ffpo2LBhGj9+vC644AI5HEzCBAAAAAAAgHUIAHuhsrIyHP7dcccdGjduXLjt4Ycf1uuvvx7+3Ol0KisrS/X19dq0aZM2bdqk//mf/9GcOXOUk5MT99oBAAAAAACQHggAe6GyslKSlJub2yb8k6RAIKCCggJNmDBB48aN07Bhw+RwOHTw4EGVl5fr2Wef1UcffaSHH35Y/+f//J9ElA8AAAAAAIA0QADYCz6fT5I6nMF32WWX6eabb1ZmZmabr/ft21elpaVyOBxatmyZ1q9frx/84Afq379/XGoGAAAAAABAeiEA7IGlS5dq2bJl4c+rq6s1ZcqU8Oe33XabJkyY0GkfEyZMCPexfft2AkAAAAAAAABYggCwB3JycpSfn6/W1lY1NTXJ4XCob9++4fajZ/115Mjtg8GgJXUCAAAAAAAABIA9MHXqVE2dOlWrV6/WggULVFRUpMWLF0fVx+bNm8MfDxkyJNYlAgAAAAAAAJIkR6ILSEfBYFBPPfWUJOmkk07SoEGDElwRAAAAAAAA7IoAMAH++te/avv27crIyNCPf/zjRJcDAAAAAAAAGyMAjLNVq1bpueeekyTNnDlTI0eOTHBFAAAAAAAAsDOuARhH69ev18KFCyVJV199tf7lX/6l2/uWlZVp6dKlEdunTZummTNn9rrGI3lUH9P+AABIVnl5eTJNM9FlqKCgIOZ9ejx9Yt4nAADJKFnGcyAZEQDGydtvv62HHnpIoVBIkyZNijqs83q9qq6ujtje1NQkp9PZ2zLbcDiMmPYHAECycjiSY1FErMdySTIYzwEAaSJZxnMgGREAxsF7772n3/3udwoGg7r44ot7dN0/j8ejAQMGRGx3u90KBoO9KbOdUIh3TgAA6SEUCsV8xkBPwrxYj+WSZDKeAwDSRLKM50AyIgC02MaNGzVv3jwFAgFdcMEFuuWWW2QY0b8TX1paqtLS0ojtNTU1qqur602p7Xi93pj2BwBAsqqvr495+FZUVBT1PrEeyyXJ622MeZ8AACSjZBnPgWTE/FgLffjhh3rggQfk9/s1btw43X777UxJBgAAAAAAQFyRRllk69atuu+++9Ta2qqxY8fqV7/6FVOHAQAAAAAAEHcsAbZIWVmZWlpaJB0KA3/0ox9F3Hbq1KmaOnVqvEoDAAAAAABAGiEAtMiRFx5taGjodNvm5marywEAAAAAAECaIgDshQkTJmjChAkdtj3wwANxrgYAAAAAAABoj2sAAgAAAAAAADZGAAgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI1lJLoAJC9/KJjoEgAkO8OU08nPCqs4HEGFQpJhJLoSe/OHArZ+S9TfGkh0CQCSnWkqFAzKYMCxjBnk9ZLV/K3+RJcAJDUCQABAjzmdptzu1kSXYWumHDLNRFdhb/Y/vfxCD6AbAv40+HkIOzMY74BO2fj9bvSWy+FMdAkAAFjO5bD3+6GuTMZzAID9ZWTaezwHeosAEAAAAAAAALAxAkAAAAAAAADAxggAAQAAAAAAABtjkbyF9u3bp7feeksffvihduzYodraWmVkZKh///4644wzdMUVV+jYY49NdJkAAAAAAACwMQJAi+zbt0833HCDzCNu3eh2u9Xa2qqdO3dq586deu2113T77bfrvPPOS2ClAAAAAAAAsDMCQIuEQiFJ0plnnqmLLrpIZ5xxhvr27atgMKitW7fqz3/+s3bs2KGHHnpIxcXFOuGEExJbMAAAAAAAAGyJawBapE+fPvr973+vuXPn6vzzz1ffvn0lSU6nU6eeeqruvvtu5eXlKRAIaMWKFQmuFgAAAAAAAHbFDMBuaGxs1IYNG7Rx40bt2rVL+/fvVyAQUL9+/VRSUqIrr7xSAwcObLOPx+PRsGHDIvZZUFCgs846S2vWrNHnn39u9SEAAAAAAAAgTREAdkN5ebmWLVsm6dAMPrfbLZ/Pp6qqKlVVVWnt2rWaPXu2zjjjjKj6PTwrMBgMxrpkAAAAAAAAQBIBYLcUFhZqxowZGjt2rAYPHiyn06lgMKgdO3aorKxMFRUVevDBB7Vo0SJlZ2d3u9/NmzdLkoYMGWJV6QAAAAAAAEhzXAOwGy699FJdd911Gjp0qJxOp6RDMwGHDx+u2bNna9CgQaqvr9eGDRu63efbb7+t7du3S5ImTJhgSd0AAAAAAAAAAWAvuVyu8NLfrVu3dmufffv2aeHChZKks88+W2eddZZV5QEAAAAAACDNsQS4m3bt2qWXXnpJW7ZsUXV1tVpaWmSaZpttamtru+ynsbFR9957r+rr63Xsscfq1ltvtapkAAAAAAAAgACwO9atW6f58+crEAhIkgzDkNvtlsvlkiS1tLSopaVFPp+v036am5t19913a8eOHSosLNQ999yj3NzcbtVQVlampUuXRmyfNm2aZs6c2c0j6h6P6mPaHwAAySovL6/dG3uJUFBQEPM+PZ4+Me8TAIBklCzjOZCMCAC7UF9fr4ULFyoQCGjUqFG6/vrrNWLEiHD4Jx0K55YvX97pDxqfz6d77rlHn376qfLy8nTvvffq2GOP7XYdXq9X1dXVEdubmprC1yeMFYfDiGl/AAAkK4cjOa6KEuuxXJIMxnMAQJpIlvEcSEYEgF2oqKhQc3OzsrOzddddd8ntdrfb5sCBA5324fP5dO+992rLli3q06eP7rnnHg0aNCiqOjwejwYMGBCx3e12KxgMRtVnV0Ih3jkBAKSHUCgU8xkDPQnzYj2WS5LJeA4ASBPJMp4DyYgAsAs1NTWSpOLi4g7DP9M0tXnz5oj7+/1+PfDAA/rwww/ldrs1d+5cDR06NOo6SktLVVpa2mmddXV1UffbGa/XG9P+AABIVvX19TEP34qKiqLeJ9ZjuSR5vY0x7xMAgGSULOM5kIyYH9sFj8cjSdq7d6/8fn+79jVr1mj37t0d7hsIBDRv3jxt2rRJ2dnZ+vWvf60TTzzR0noBAAAAAACAIxEAdqGkpESGYaihoUHz588PvzPf3Nys8vJyLVy4sMMbeQSDQf3nf/6n3nvvPWVmZmrOnDk65ZRT4l0+AAAAAAAA0hxLgLtQXFysKVOmaMWKFVq/fr3Wr18vj8ej5uZmhUIhjR49WiNHjtTy5cvb7Ld161b97//+r6RDy4T/8z//s9PnefLJJy07BgAAAAAAAKQvAsBumDVrloqLi7Vy5Urt3LlToVBIw4YN0/jx4zVp0iQ9/fTT7fY58sKjfr+/yxuFAAAAAAAAAFYgAOymiRMnauLEiR22TZ8+XdOnT2/ztdNOO03l5eXxKA0AAAAAAACIiGsAAgAAAAAAADZGAAgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAiMgfCia6BAAALOcPBRJdgqX8rYznAAD7C7TaezwHeisj0QUAAFJX0OdUU3UfyUx0JfaUke1X32MaZRiJrsTenIbdv4HtfnwAYsIwxIBjoVAo0RXYnsl4B3SKABARuRzORJcAINmFDAWbXYmuwracDlMZTl7MWs3lsPfLIVemvY8PQGwYDhaHWcl0OAgBLebK5DUp0Bl+ygMAAAAAAAA2RgAIAAAAAAAA2BhrQnqpublZy5Yt09tvv62amhr5/X5JUnl5eYIrAwAAAAAAAAgAe23evHnatGmTJCk7O1sejyfc9vnnn+vTTz/V9u3b9fnnn6uyslLBYFCnnnqqHnjggUSVDAAAAAAAgDRCANgLlZWV4fDvjjvu0Lhx49q0/+Y3v1F1dXUiSgMAAAAAAAAkEQD2SmVlpSQpNze3XfgnSRkZGRo2bJhGjBih4cOH64MPPtBbb70V7zIBAAAAAACQxggAe8Hn80mScnJyOmxfuHChnE5n+PNdu3bFpS4AAAAAAADgMALAHli6dKmWLVsW/ry6ulpTpkwJf37bbbdpwoQJbcI/AAAAAAAAIBEIAHsgJydH+fn5am1tVVNTkxwOh/r27Rtuz8zMTGB1AAAAAAAAwD8RAPbA1KlTNXXqVK1evVoLFixQUVGRFi9enOiyAAAAAAAAgHYciS4AAAAAAAAAgHUIAAEAAAAAAAAbIwAEAAAAAAAAbIxrAKaIsrIyLV26NGL7tGnTNHPmzJg+p0f1Me0PAIBklZeXJ9M0E12GCgoKYt6nx9Mn5n0CAJCMkmU8B5IRAWCK8Hq9qq6ujtje1NQkp9MZ0+d0OIyY9gcAQLJyOJJjUUSsx3JJMhjPAQBpIlnGcyAZEQCmCI/HowEDBkRsd7vdCgaDMX3OUIh3TgAA6SEUCsV8xkBPwrxYj+WSZDKeAwDSRLKM50AyIgBMEaWlpSotLY3YXlNTo7q6upg+p9frjWl/AAAkq/r6+piHb0VFRVHvE+uxXJK83saY9wkAQDJKlvEcSEbMjwUAAAAAAABsjBmAFvL5fPL5fOHP/X6/JCkQCOjgwYPhrzudTnk8nrjXBwAAAAAAAPsjALTQ3/72Ny1btqzd1z/55JM2y3lPPfVUPfDAA/EsDQAAAAAAAGmCJcAAAAAAAACAjTEDsBcmTJigCRMmRGyfPn26pk+fHseKAAAAAAAAgLaYAQgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI1lJLoAJC9/KJjoEgAkOcMRUpanRZKR6FJsyZXVKtM0xfm1lj8UkJyJrsI6/tZAoksAkALMUEgyGG8sEwolugLb87f6E10CkNQIAAEAPZaZE1DesP2JLsO2giFDrUFXosuwPTPRBViOX+gBdINpHnoAKcpgvAM6xRJgRORy2Hg6BAAAX3M57P1+qCuT8RwAYH8ZmfYez4HeIgAEAAAAAAAAbIwAEAAAAAAAALAxAkAAAAAAAADAxggAAQAAAAAAABvjKpkWamxs1ObNm7V9+3Z9/vnn2r59u+rr6yVJ999/v0477bQEVwgAAAAAAAC7IwC00DvvvKMFCxYkugwAAAAAAACkMQJAixUUFGj48OEaMWKEBg4cqIceeijRJQEAAAAAACCNEABaaPz48ZowYUL488bGxgRWAwAAAAAAgHREANgNjY2N2rBhgzZu3Khdu3Zp//79CgQC6tevn0pKSnTllVdq4MCB7fZzOp0JqBYAAAAAAAD4JwLAbigvL9eyZcskHQr13G63fD6fqqqqVFVVpbVr12r27Nk644wzElsoAAAAAAAAcBQCwG4oLCzUjBkzNHbsWA0ePFhOp1PBYFA7duxQWVmZKioq9OCDD2rRokXKzs5OdLkAAAAAAABAmCPRBaSCSy+9VNddd52GDh0aXtbrdDo1fPhwzZ49W4MGDVJ9fb02bNiQ4EoBAAAAAACAtggAe8nlcoWX/m7dujWxxQAAAAAAAABHYQlwN+3atUsvvfSStmzZourqarW0tMg0zTbb1NbWJqg6AAAAAAAAoGMEgN2wbt06zZ8/X4FAQJJkGIbcbrdcLpckqaWlRS0tLfL5fJbVUFZWpqVLl0ZsnzZtmmbOnBnT5/SoPqb9AQCQrPLy8tq9sZcIBQUFMe/T4+kT8z4BAEhGyTKeA8mIALAL9fX1WrhwoQKBgEaNGqXrr79eI0aMCId/0qFwbvny5Zb+oPF6vaquro7Y3tTUFL4+Yaw4HEZM+wMAIFk5HMlxVZRYj+WSZDCeAwDSRLKM50AyIgDsQkVFhZqbm5Wdna277rpLbre73TYHDhywvA6Px6MBAwZEbHe73QoGgzF9zlCId04AAOkhFArF/I28noR5sR7LJclkPAcApIlkGc+BZEQA2IWamhpJUnFxcYfhn2ma2rx5s+V1lJaWqrS0NGJ7TU2N6urqYvqcXq83pv0BAJCs6uvrYx6+FRUVRb1PrMdySfJ6G2PeJwAAyShZxnMgGTE/tgsej0eStHfvXvn9/nbta9as0e7du+NdFgAAAAAAANAtBIBdKCkpkWEYamho0Pz588PvzDc3N6u8vFwLFy5Ubm5uxP0PHjwYfjQ2/vMdeK/X26bt8A1GAAAAAAAAgFhiCXAXiouLNWXKFK1YsULr16/X+vXr5fF41NzcrFAopNGjR2vkyJFavnx5h/tHWrb7wAMPtPn8/vvv12mnnRbz+gEAAAAAAJDeCAC7YdasWSouLtbKlSu1c+dOhUIhDRs2TOPHj9ekSZP09NNPJ7pEAAAAAAAAoEMEgN00ceJETZw4scO26dOna/r06R22lZeXW1kWAAAAAAAA0CmuAQgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RACIifyiY6BIAALCcPxRIdAmW8rcyngMA7C/Qau/xHOitjEQXAABIYV/45Xhsn4ygmehKbCk4PEu+Hx4jyUh0KbYWMu1+fvn3CaBzjmGG8m7NkeGy+8/DxGndGlDjw75El2FrJuMd0CkCQETkcjgTXQKAJGc0huTYxItZqxhBp0Imk/Wt5nLY++WQK9Pexweg95x5DmWd7Up0GWmA10xWcmXyPQx0ht8qAAAAAAAAABsjAAQAAAAAAABsjDUhvdTc3Kxly5bp7bffVk1Njfx+vySpvLw8wZUBAAAAAAAABIC9Nm/ePG3atEmSlJ2dLY/H026bt956SytXrtTnn38un8+noqIijRkzRtdcc4369u0b75IBAAAAAACQRggAe6GysjIc/t1xxx0aN25cu20effRRvfLKK5Ikh8OhrKws7d69WytWrNCbb76p+++/X4MGDYpr3QAAAAAAAEgfXAOwFyorKyVJubm5HYZ/r732ml555RUZhqHS0lI9/fTTevrpp7VgwQINGTJEBw4c0H333RdeNgwAAAAAAADEGgFgL/h8h27jnpOT067N7/dr6dKlkqTLL79c1157rbKysiRJQ4cO1V133aWsrCxVVVVp1apV8SsaAAAAAAAAaYUlwD2wdOlSLVu2LPx5dXW1pkyZEv78tttuU35+vurq6mQYhq666qp2fQwYMEDnn3++Vq1apbVr1+ryyy+PS+0AAAAAAABIL8wA7IGcnBzl5+fL7XZLOnRtv/z8/PAjMzNTH374oSRp0KBB6t+/f4f9jB49WpL06aefqqWlJT7FAwAAAAAAIK0wA7AHpk6dqqlTp2r16tVasGCBioqKtHjx4jbbvPHGG5KkIUOGROzncJtpmtq1a5dGjBhhXdEAAAAAAABIS8wAtEhtba0kqbCwMOI2R7bV1dVZXhMAAAAAAADSDwGgRQ4v6T1844+OHNnW1NRkeU0AAAAAAABIPwSAAAAAAAAAgI1xDUCLZGdnS5J8Pl/EbY5sO3xDkUjKysq0dOnSiO3Tpk3TzJkzo6yycx7Vx7Q/AACSVV5enkzTTHQZKigoiHmfHk+fmPcJAEAySpbxHEhGBIAWKSws1BdffBG+FmBHjmzr6gW/1+tVdXV1xPampiY5nc7oC+2Ew2HEtD8AAJKVw5EciyJiPZZLksF4DgBIE8kyngPJiADQIoMGDdL777+vysrKiNscbjMMQ8XFxZ325/F4NGDAgIjtbrdbwWCwZ8VGEArxzgkAID2EQqGYzxjoSZgX67FckkzGcwBAmkiW8RxIRgSAFjn99NP1/PPPq7KyUjU1NSoqKmq3zaZNmyRJJ510UnjJcCSlpaUqLS2N2F5TUxPzOwl7vd6Y9gcAQLKqr6+PefjW0djflViP5ZLk9TbGvE8AAJJRsoznQDJifqxFTj/9dBUUFMg0TT3//PPt2vft26d169ZJksaPHx/n6gAAAAAAAJAuCAAt4nK5NH36dEnSSy+9pGeffTZ8048vv/xS9957r1paWnTcccfpkksuSWSpAAAAAAAAsDGWAFto4sSJ+vLLL/XKK6/oySef1JIlS5SVlaWmpiZJUn5+vubMmSOXy5XgSgEAAAAAAGBXBIAW+9d//VeVlJTolVde0RdffBGe9Td27FhNmzZNeXl5iS4RAAAAAAAANkYA2AsTJkzQhAkTutzu3HPP1bnnnhuHigAAAAAAAIC2uAYgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2lpHoApC8/KFgoksAkORCboeaTuwrI2AmuhRbaj0+SzJNGUaiK7E3fyhg67dE/a2BRJcAIMmFDppq/cAhw5XoSuzL/4WNB5ok4W/1J7oEIKkRAAIAeqz1OI/23XR8osuwrYwcv/Jd9Ykuw/bsn6/a/wgB9E5wZ4YO3u9OdBm2Zvp8khoSXYatGYx3QKd4GwIRuRzORJcAAIDlMp32Hu9cmfY+PgAAJCkjk/lNQGcIAAEAAAAAAAAbIwAEAAAAAAAAbIwAEAAAAAAAALAxFsnHQX19vZ599lm9++672r9/v7KysjR8+HBdfvnlOueccxJdHgAAAAAAAGyMANBilZWVuvPOO1Vff+gujjk5OfJ6vfrggw/0wQcf6IorrtCNN96Y4CoBAAAAAABgVwSAFvL7/brvvvtUX1+vIUOG6Be/+IWGDh0qn8+nFStWaMmSJXrxxRc1dOhQXXzxxYkuFwAAAAAAADbENQAt9Nprr2nPnj3KysrSr3/9aw0dOlSSlJWVpWuvvVaXXXaZJKmsrEyBQCCRpQIAAAAAAMCmmAHYDY2NjdqwYYM2btyoXbt2af/+/QoEAurXr59KSkp05ZVXauDAge32W7t2rSTp/PPPV//+/du1X3311Vq5cqVqa2v10UcfafTo0VYfCgAAAAAAANIMMwC7oby8XAsXLtRbb72l3bt3y+l0KhgMqqqqSq+++qpuv/12ffDBB232aW5u1meffSZJOvPMMzvst3///iouLpYk/f3vf7f0GAAAAAAAAJCemAHYDYWFhZoxY4bGjh2rwYMHhwPAHTt2qKysTBUVFXrwwQe1aNEiZWdnS5J27dol0zQlSUOGDInY95AhQ7Rz507t3LkzLscCAAAAAACA9MIMwG649NJLdd1112no0KFyOp2SJKfTqeHDh2v27NkaNGiQ6uvrtWHDhvA+tbW14Y8LCwsj9n24ra6uzqLqAQAAAAAAkM4IAHvJ5XLpjDPOkCRt3bo1/PWWlpbwx1lZWRH3P9zW3NxsTYEAAAAAAABIaywB7qZdu3bppZde0pYtW1RdXa2WlpbwEt/Djpz1BwAAAAAAACQDAsBuWLdunebPn69AICBJMgxDbrdbLpdL0qHZfi0tLfL5fOF9Dl8LUJJ8Pp/cbneHfR/eJycnp9MaysrKtHTp0ojt06ZN08yZM7t3QN3kUX1M+wMAIFnl5eW1e2MvEQoKCmLep8fTJ+Z9AgCQjJJlPAeSEQFgF+rr67Vw4UIFAgGNGjVK119/vUaMGBEO/6RD4dzy5cvb/KA58rp/tbW1EQPAw7MGu3rB7/V6VV1dHbG9qakpfH3CWHE4jJj2BwBAsnI4kuOqKLEeyyXJYDwHAKSJZBnPgWREANiFiooKNTc3Kzs7W3fddVeHQd6BAwfafa24uFiGYcg0TVVWVqq4uLjD/isrKyVJgwYN6rQOj8ejAQMGRGx3u90KBoOd9hGtUIh3TgAA6SEUCsV8xkBPwrxYj+WSZDKeAwDSRLKM50AyIgDsQk1NjaRDgV5H4Z9pmtq8eXO7r+fk5GjkyJHatm2bNm7cqHHjxnXY986dOyVJJSUlndZRWlqq0tLSTuuM9Z2EvV5vTPsDACBZ1dfXxzx8KyoqinqfWI/lkuT1Nsa8TwAAklGyjOdAMmJ+bBc8Ho8kae/evfL7/e3a16xZo927d3e47/jx4yUduobgvn372rU/99xzMk1ThYWFOu2002JXNAAAAAAAAPA1AsAulJSUyDAMNTQ0aP78+eF35pubm1VeXq6FCxcqNze3w30nTpyoY489Vi0tLbr33nv15ZdfSjp0449nn31WL7/8sqRDs/syMpiMCQAAAAAAgNgjdepCcXGxpkyZohUrVmj9+vVav369PB6PmpubFQqFNHr0aI0cOVLLly9vt6/L5dKcOXN05513aseOHbrtttvkdrvV0tKiUCgkSZo8ebIuvvjieB8WAAAAAAAA0gQBYDfMmjVLxcXFWrlypXbu3KlQKKRhw4Zp/PjxmjRpkp5++umI+w4ePFh//OMf9be//U3vvvuuampq5PF4NGzYME2aNEnnnHNOHI8EAAAAAAAA6YYAsJsmTpyoiRMndtg2ffp0TZ8+PeK++fn5mjVrlmbNmmVVeQAAAAAAAECHuAYgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2RgAIAAAAAAAA2BgBIAAAAAAAAGBjhmmaZqKLQO/V1NTEvM+gYeofRoMaGhoVCgVj3n+s9emTK6fToWAwpMbGhkSX0y1BSX369JGvqZlzbAHOr/WCppSVUSCfN0XOcW6unA6HgqGQGhuS/xwHDamgf1bKfA9Lqfd97HA4dU7xN9R0sFHBYGzPcVFRUdT7WDKe+0Pas22fGhsaFAyFYt5/rOXm5srhcCgUCqkhBf6dSlIoEFJubq5afM2cYwuk2vmVUu8cm0FTuf0K1eJrSYlznNsnVw6nQ6FgSA0pMNZIh76P+2RmqcXXlBrnOMW+h50Oh8ZcfKa8zd6kGM+BZJSR6AKQvDIdGTqzYJjqjLqY/xC1QkFBgZxOp4LBoOqMukSX0y1Op1MFBQWqq+McW4Hza72UPsd1yX+OU+38Sqn3fex0OpXldKkp0YVYKDPbpZILRqXM91Gq/TuVUu/faqqd41Q7vxLn2Gqpdn4lzrHVnE6nMrMz5W32JroUIGmxBBgAAAAAAACwMZYAwzbKysrk9Xrl8XhUWlqa6HJsiXNsLc6v9TjH1uMco7f4HrIe59h6nGNrcX6txzkG7IcAELZx+eWXq7q6WgMGDNArr7yS6HJsiXNsLc6v9TjH1uMco7f4HrIe59h6nGNrcX6txzkG7IclwAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2lpHoAoBYmT59urxerzweT6JLsS3OsbU4v9bjHFuPc4ze4nvIepxj63GOrcX5tR7nGLAfwzRNM9FFAAAAAAAAALAGS4ABAAAAAAAAGyMABAAAAAAAAGyMABAAAAAAAACwMQJAAAAAAAAAwMYIAAEAAAAAAAAbIwAEAAAAAAAAbCwj0QUAAAB7MU1TO3bskCQNHTo0scUAAIAeYTwH7MUwTdNMdBFANILBoD766CP9/e9/186dO1VXV6fm5mZJUk5OjgoKCjRo0CCVlJTotNNOk9PpTHDFAOItGAyqsbFReXl57dpaW1tVUVGhPXv2KDs7W6NGjdLgwYMTUKV9tbS06LrrrpNhGHrhhRcSXQ6SFOM5gK4wnicW4zlgL8wAREpZvXq1lixZotraWkmH3pXqyPvvv6/nn39ehYWFKi0t1UUXXRTPMtNOMBjU1q1bJUmnnnpqgqtJbpWVlVqxYoW2b9+uUCikwYMH6+KLL9bo0aM73W/mzJmqr6/nxVcXmpub9Ze//EVvvvmmWltblZWVpSuuuELTp0+Xw+HQ1q1b9R//8R/hnyGHnXvuubr99tuVlZWVoMqB9MJ4nrwY07uH8dxajOcAEHvMAETKWLx4sV566SWZpinDMFRcXKwhQ4aosLAwPMj7fD7V1taqsrJSO3fuDG87efJk3XDDDQk+Avs6ePCgvv/97/PuYBf+3//7f/r973+vYDAY/mXXMAxJ0tlnn62f/exn6tOnT4f78gtD10zT1Jw5c7Rly5Y2YYJhGJoyZYqmTp2qn/3sZ2poaJDL5VJubq7q6+sVDAZlGIbGjBmjO++8M4FHkNwWLFjQ7W1DoZDWrl0rwzB04YUXhr9uGIZuvfVWK8pDCmE8T26M6V1jPLcW47m1GM+B9MUMQKSEt99+Wy+++KIMw9Dll1+uq666Sv379+90n/379+tvf/ubXnnlFb300ks6/fTTNXbs2DhVDLS1Z88eLViwQIFAQH379tU3v/lN9e3bV5s3b9b27dv1zjvv6KuvvtI999yjAQMGJLrclPTmm29q8+bNcjqduuqqq3TiiSdq69atev755/Xyyy/LMAw1NTXpxhtv1MSJE+VyudTS0qIXXnhBy5Yt03vvvadNmzZ1OXsjXa1Zsyb8C253maapN954I/wxvzCA8RypjvHceozn1mI8B9IXASBSwsqVK2UYhmbMmKFrrrmmW/v069dPP/7xj1VYWKi//vWvevnll/mFAQnz4osvqrW1VSeccILuvvtu5efnh9vefvttLVy4UFVVVbrjjjt077336vjjj09csSlq3bp14Z8TV199tSRp7NixcjgcevbZZ7VixQpdccUVmjx5cnif7Oxsffe739WBAwe0cuVKvfnmm/zC0IXjjz++zfdvRw4vITQMQ6NGjYpPYUgJjOdIdYzn1mM8jw/GcyD9EAAiJXz++edyOBz6l3/5l6j3nTJlipYsWaLPP//cgsrsY/PmzT3et6mpKYaV2NPf//53GYahm266qd2LrXPOOUfDhw/Xvffeq6+++kqzZ8/WPffcoyFDhiSm2BT1xRdfSJIuueSSNl+/8MIL9eyzz0o69POgI5MnT9bKlSv12WefWVtkChszZozee+891dXVadKkSbr88ssjbtvc3Kzvfve7kqT7778/XiUiBTCexwdjunUYz63HeG4txnMgfREAIiW0tLQoKytLmZmZUe+bmZmp7OxstbS0WFCZfdx5551RLwdA9+3bt09Op1Mnn3xyh+39+/fXb37zG82dO1fbtm3TnXfeqblz52rEiBFxrjR1HTx4UFlZWerbt2+brx9eXuhyuSIuNSwuLpbL5VJNTY3ldaaqOXPmaMOGDVq0aJH+/Oc/64033tDNN9+soUOHttuWnyWIhPE8PhjTrcN4bj3Gc2sxngPpy5HoAoDuKCoqUnNzs7766quo992xY4eampq6vMYQDjFNs0cPdC4QCCgzM1MOR+Qfux6PR/fee69OOeUUNTQ06K677tInn3wSxypTW6Q7/h3+usfj6XT/nJwc+f3+mNdlJ9/61rf0yCOP6JJLLtFnn32mX/7yl3rssccIZNBtjOfxxZgee4zn1mM8tx7jOZCemAGIlDBmzBiVl5froYce0q9//Wv169evW/vt379fv//978N3BENkeXl5OnjwoH7xi1/om9/8ZlT7NjQ06KabbrKoMnsoKChQTU2NGhoalJubG3G77OxszZ07V/fee68++ugjzZ07V3PmzIljpakrLy9Pe/bsUUtLi7Kzs6Pev7m5ud1sA7Tndrv105/+VBdeeKEefvhhlZeXa8OGDbrhhhs0bty4RJeHJMd4Hh+M6dZhPLce43l8MJ4D6YcAECnhmmuu0dq1a/XVV1/p5ptv1vnnn6/Ro0dryJAhKiwsDL8j6PP5VFtbq8rKSm3cuFHr1q1TS0uL8vPzNW3atAQfRXIbMWKENm7cqN27d3f5zurRgsGgRVXZx9ChQ1VTU6O///3vOu+88zrdNisrS7/+9a91//3364MPPtA999yjUCgUp0pT18CBA7Vnzx794x//0PDhw9u0LV26tNNlLPv27ZPf71dhYaHVZdrGKaecoj/84Q9avny5/va3v+l3v/udzjrrLN1000384oWIGM/jgzHdOozn1mM8jy/GcyB9EAAiJfTt21f333+/7rvvPu3du1erVq3SqlWrutzPNE0dc8wxmjNnDgNYF4YPH66Kigourm6R008/Xe+++67WrFnT5S8M0qFrXc2ZM0fz5s3T+++/L4nrsHRlxIgRqqio0JYtW9r9wtDVL8CbNm2SJI0cOdKy+uwoIyND06dP17e//W0tXLhQ77//vjZv3qwrrrgi0aUhSTGexwdjunUYz63HeB5/jOdAeuAagEgZgwcP1sKFC3XjjTeGL6Tc2bVrRo4cqRtvvFELFy7U4MGDE1l6Sjj8Amv79u0JrsSezj33XEnSxo0b9eWXX3ZrH5fLpdmzZ4f3RefOPvtsTZw4UX369Il635UrV0o69Isdojdo0CDNmzdPP/nJT+RwOMJ3aQQ6wnhuPcZ06zCeW4/xPHEYzwF7M0yu9IsU1dLSop07d6qurk7Nzc2SDl30t7CwUMXFxT26Zkg6a2xs1DvvvCNJuuiii3h32gI1NTUKhULq06eP3G53t/cLhULaunWrTNPUqaeeamGF6SkUCoXvFlhYWKiMDCbH90ZdXZ2eeOIJ7du3T5J0//33J7giJDvG89hjTLcW43lyYjyPLcZzwH4IAAEAAAAAAAAbYwkwAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2RgAIAAAAAAAA2BgBIAAAAAAAAGBjBIAAAAAAAACAjREAAgAAAAAAADZGAAgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAMAR1q5dK8MwZBiG5s6dK0n69NNP9bOf/UwnnXSSPB6PCgoKdM455+j3v/+9fD5fl302Nzfr4Ycf1iWXXKLjjjtOmZmZ6tevn8aMGaM5c+Zo9+7dXfbh8/n0pz/9SZdddpmOP/54ZWdny+12a/DgwTrzzDNVWlqqxx9/XI2Njb09BQAAALAZwzRNM9FFAAAAJIu1a9fqwgsvlCT9+7//u77xjW/oRz/6kZqamjrc/uSTT9arr76qIUOGdNj+3nvv6eqrr9bOnTsjPqfb7dYf//hH/ehHP+qw/csvv9Sll16qbdu2dVn/M888o2nTpnW5HQAAANJHRqILAAAASFYVFRWaN2+e/H6/pk+frgkTJignJ0dbtmzRX/7yF1VVVemTTz7RhRdeqE2bNikvL6/N/h9++KEuvPBCeb1eSdIpp5yi73//+xo6dKhqa2v1wgsv6PXXX1dTU5NmzZol0zQ1a9asdnVMmzYtHP6dfPLJuuaaazRkyBDl5eXp4MGD+vTTT7Vu3Tq9++671p8UAAAApBxmAAIAABzhyBmA0qHZeS+//LLGjx/fZrsDBw7o8ssv11tvvSVJuummm/Too4+G20OhkEpKSrR582ZJ0g033KD/+q//UkZG2/dfH3vsMd14440yTVNut1tbtmzRCSecEG5///33NWbMGEnSNddco2XLlsnh6PgqLl999ZVM02yzPwAAAMA1AAEAADoxb968duGfJOXn5+uZZ55Rnz59JEmPP/649u3bF25/+eWXw+Hf6aefrkcffbRd+CdJs2bN0k033SRJampq0oIFC9q0b9++PfzxD37wg4jhnyQNGTKE8A8AAADtEAACAABEkJ+frxtvvDFi+/HHH68ZM2ZIOnSTjhdffDHc9txzz4U//uUvfymn0xmxnzvuuEOGYbTbT5I8Hk/444qKiugOAAAAABABIAAAQETnnXeesrOzO93m4osvDn985DX43nnnnfDH3/nOdzrtY8iQITr55JMlSZWVlaqqqgq3fetb35Lb7ZYk3XPPPbr99tu1adMmcRUXAAAAdBcBIAAAQAQjR46Mapvdu3eHPz4c4uXm5urYY4/tsp8TTzyx3b6SVFhYqAULFsjhcCgQCGjBggU688wz1b9/f11xxRX67W9/q02bNnXreAAAAJCeCAABAAAiOHL5bXe2aWhoaPdxd/qQFL6W4NH9SIduIPLmm2/qO9/5TvgagPv379dLL72kO+64Q2eeeaZOP/10rVy5slvPBQAAgPRCAAgAABCB1+uNapvc3Nx2H3enD0lqbGzssJ/DzjvvPL322muqqalReXm5/r//7//TeeedF76xyEcffaTLL79cjz/+eLeeDwAAAOmDABAAACCCI+/A251tBg4cGP74uOOOk3RoNt/evXu77Gfbtm0d9nO0goICXXHFFXrggQe0fv167d69W7fccku4/Ze//KX8fn+XzwcAAID0QQAIAAAQwfr16+Xz+Trd5n/+53/CH5999tkdfvz666932kdlZaU++eQTSdLgwYO7dc3Aw/r3768//vGPKikpkSTV1tZqy5Yt3d4fAAAA9kcACAAAEMGBAwe0ePHiiO1VVVVasmSJJCkrK0uTJ08Ot1199dXhjx988EEFg8GI/fz2t78N39X3yP2iMXTo0PDHgUCgR30AAADAnggAAQAAOvF//+//1bp169p9/eDBg7r22mvDN+z44Q9/qP79+4fbL7/8cp122mmSpL///e/6yU9+0mEw9/jjj+vRRx+VJLndbt12221t2pcsWaLHHnus02sJbtu2TatXr5YkZWdn66STToryKAEAAGBnGYkuAAAAIFlNnjxZq1at0kUXXaTvfve7mjBhgnJycvTxxx/rscce0+7duyUdmn3329/+ts2+DodDZWVlGjdunLxerxYtWqS33npL3//+93XCCSeotrZWK1as0Kuvvhre5w9/+IOGDBnSpp/PPvtMd999t2699VZdfPHFGjNmjAYPHqycnBzt27dP7777rp599tlwQHjrrbd2eBMRAAAApC/DPLzeBAAAAFq7dq0uvPBCSdK///u/65RTTtEPf/hDNTU1dbj9SSedpFdffVUnnHBCh+3vvfeerrrqKu3atSvic7rdbv3hD3/QrFmz2rXdfffdmjt3bpd1G4ahm2++WQsWLJDT6exyewAAAKQPZgACAAB04tprr1VJSYn++Mc/6vXXX9c//vEPuVwunXTSSbruuuv005/+VFlZWRH3HzNmjLZt26bFixdrxYoV2rx5s2pra9WnTx8NGzZMEydO1E9/+tOId/698847deGFF2rNmjV699139emnn6qqqkqtra3hPr71rW/pRz/6kUaPHm3VaQAAAEAKYwYgAADAEY6eAdid2XcAAABAMuMmIAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI1xF2AAAAAAAADAxpgBCAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2RgAIAAAAAAAA2BgBIAAAAAAAAGBjBIAAAAAAAACAjREAAgAAAAAAADZGAAgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2RgAIAAAAAAAA2BgBIAAAAAAAAGBjBIAAAAAAAACAjREAAgAAAAAAADZGAAgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANjY/w+aBdu0l+74BQAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAB7CAAAewgFu0HU+AADc8ElEQVR4nOzdeXxU5b3H8e+ZSUIyQwKBAAoBBIKggIALKm5AFFAwglIXiIJSW71qsfVWrYpaF0pdoUq14oIauUCrSEChUhZFBFQ2ZVNBMUSQEBICmewz5/4RMyUkk2SS2TLzed/X9CZzznnO70xinuE7z3MewzRNUwAAAAAAAADCkiXYBQAAAAAAAADwHwJAAAAAAAAAIIwRAAIAAAAAAABhjAAQAAAAAAAACGMEgAAAAAAAAEAYIwAEAAAAAAAAwhgBIAAAAAAAABDGCAABAAAAAACAMEYACAAAAAAAAIQxAkAAAAAAAAAgjBEAAgAAAAAAAGGMABAAAAAAAAAIYwSAAAAAAAAAQBgjAAQAAAAAAADCGAEgAAAAAAAAEMYIAAEAAAAAAIAwRgAIAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAAAYYwAEAAAAAAAAAhjBIAAAAAAAABAGCMABAAAAAAAAMIYASAAAAAAAAAQxggAAQAAAAAAgDBGAAgAAAAAAACEMQJAAAAAAAAAIIwRAAIAAAAAAABhjAAQAAAAAAAACGMEgAAAAAAAAEAYIwAEAAAAAAAAwhgBIAAAAAAAABDGCAABAAAAAACAMEYACAAAAAAAAIQxAkAAAAAAAAAgjBEAAgAAAAAAAGGMABAAAAAAAAAIYwSAAAAAAAAAQBiLCnYB8I1vv/022CUAAIDjnHrqqcEuAQAAAJBEAAgAABAy+EAPAIDQwgd6CBdMAQYAAAAAAADCGAEgAAAAAAAAEMYIAAEAAAAAAIAwRgAIAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAAAYYwAEAAAAAAAAAhjBIAA0EzdfffdGjp0qObMmdPoNq6//noNHTpUy5Yt8/rYLVu2aOjQoRo6dGijzw8AAAAA8L+oYBcAAKFgzpw5evPNN93fP//88xowYIDH/UtKSjRu3Dg5HA5JUv/+/TVjxgw/VwkAABrrxL6+SkxMjBITE3Xqqadq+PDhuvDCC4NQHQAA/kUACAC1+Pe//11nALhmzRp3+NecdezYUTExMbLb7cEuBQCAgLBYLGrVqpX7+8LCQh08eFAHDx7UmjVrlJqaqgceeEAWC5OlAADhgwAQAI6TlJSk/Px8ffLJJ5oyZYpiY2Nr3a9qymyHDh108ODBQJboU88991ywSwAAIKDatWunefPmub83TVP79u3TK6+8orVr12rFihU644wzlJaWFsQqAQDwLT7WAoDjtGrVSoMGDVJRUZE++eSTWvfJycnRli1blJCQoHPPPTfAFQIAAF8yDENdunTRI488oi5dukiqnAkAAEA4YQQgAJxgxIgRWrdunf79739r+PDhNbZ/9NFHcrlcSk1NrXN6UElJidasWaMNGzbohx9+0KFDh1RSUqI2bdrojDPO0Lhx43TqqafWWcvq1av13nvvaffu3bJYLDrllFN01VVX6bLLLqvzuKqFOZ5//nl16tRJGRkZ+uKLL5Sbm6suXbro1VdflVS5CMjBgwd13333aeTIkTXayc/P15tvvql169YpPz9fiYmJGjRokG666aY6zw8AQHMTHR2tgQMHKisrS3v37vW43/r167V48WLt3LlTx44dU3x8vE477TRdddVVGjRoUK3H3H333dq6dasmTpyo9PR0LViwQMuXL9eBAwcUHx+vQYMG6ZZbblHbtm0lST/99JMyMjK0ceNGHTlyRCeddJJGjRqlX/3qV3W+9/jmm2/03nvvaevWrcrLy1NMTIy6dOmiYcOGKS0tTTExMU16jQAAzRcBIACc4Pzzz1d8fLy2bNminJwctW/fvtr2qlEBI0aM0PLlyz22s3r1av31r3+VVHm/oar77B08eFDLly/XypUrde+999YaMkrSrFmz9K9//UtS5egEu92unTt3avv27dq9e3eDrmXfvn169NFHVVBQoNjYWFmt1gYdJ0lZWVn6/e9/r7y8PElSixYtdPToUS1ZskRr167V5MmTG9wWAADNgWmakiSXy1Xrtueff16LFy+WVNm322w2FRQU6LPPPtNnn32mMWPG6He/+50Mw6i1/YqKCv3xj3/Uli1b3GFcbm6uPvzwQ3311Vd68cUX9dNPP+m+++5TYWGh7Ha7KioqtG/fPr388ss6dOiQ7rzzzlrbfvPNN/Xmm2+6r8Fms6m4uFg7d+7Uzp079dFHH+npp5+udv9DAEDkIAAEgBPExMRo6NChyszM1EcffaT09HT3tm3btik7O1tdu3ZVr1696gwAW7Zsqeuvv14XXXSRUlJSFBMTI9M0lZ2drbffflvLly/Xs88+q/79+6tDhw7Vjl25cqU7/EtLS9PNN9+s1q1b6+jRo8rIyNCCBQsatHDHSy+9pJNPPllPPPGE+vbtK6lyVEF9Kioq9Oc//1l5eXlq166d/vjHP+rss8+WYRjasmWLnnrqKb300kv1tgMAQHNRXl6uzZs3S6pcJOtE//znP93h3w033KAbbrhB8fHxOnr0qN555x0tWLBA77//vpKTk3XNNdfUeo5FixYpJiZG06ZN07nnnivTNLVu3Tr95S9/UXZ2tt544w2tX79e/fr105133qmOHTvK4XDolVdeUWZmpt577z1deeWV6tq1a41258yZo4SEBE2aNEmpqalKSEhwX9MLL7yg7777TtOnT9df/vIXH79yAIDmgHsAAkAtRowYIalyuu/xqhb/qNpelwsvvFC//e1vdfrpp7s/5TcMQ507d9af/vQnnX322SorK3O3WcU0Tb3xxhuSpEsuuUS///3v1bp1a0lSQkKC/ud//kcjR45s0CrEVqtVTz/9tDv8k6ROnTrVe9yqVav0/fffy2KxaNq0aTrnnHPcoxkGDBig6dOnq6ysrN52AAAIdaZpKisrS4899pj27dsnSTVG55eUlOjtt9+WJI0dO1a/+c1vFB8fL6myb7799ts1evRoSdJbb72l0tLSWs9VWFioqVOn6vzzz5fFYpHVatWFF16o6667TtJ/A8LHH3/cHULa7XZNmTJFnTp1kmma+vjjj6u16XA4NHv2bEVFRWn69OkaO3asEhISJFVOax40aJCmT5+u2NhYrV+/Xt9++60vXjYAQDNDAAgAtTj99NPVpUsX7du3T9u2bZMklZaWavXq1bJYLB6n7TaUYRjuBUSq2q+yZ88eZWdnS5ImTJhQ6/HHj0qsy/Dhw9WmTRuv66v6x8V5552nlJSUGtu7dOmiIUOGeN0uAADBdujQIV199dXux4gRIzRx4kR9+umnkipvBTJ27Nhqx3z55ZcqLCyUxWLx2AffdNNNslgsOnr0qL788sta9+nTp48GDBhQ4/mzzjrL/fW1115b45YdFovFfdz3339fbdvHH38sh8OhM844Q6eddlqt5+3UqZN7m6faAADhjSnAAODBiBEjNHv2bP373/9W37599emnn8rhcGjQoEHum3TX59ChQ3rvvfe0ceNG7d+/X8XFxTXuK5Sbm1vt+2+++UZS5Sf+PXv2rLXdTp06qX379srJyanz/H369GlQnSeqGh1Q2z9SqgwYMKDOKdAAAIQil8ul/Pz8Wrf95je/0fXXX1/jHn5V/eIpp5zi8YO1du3aqUuXLtq7d6++/fZbXXDBBTX26datW63HVo30r2ufqvMWFhZWe3779u2SpB07dujqq6+u9VhJ7pkDBw8e9LgPACB8EQACgAeXXXaZXnvtNa1evVp33XWXV9N/JWnLli164IEHVFxc7H7Obre7pwOXlZXJ4XCopKSk2nEFBQWSpKSkpDrbT0pKqjcAbOyNvo8cOVJvDfXVBwBAKOrQoYPmzZsnSXI6nTp06JCWLVumt99+W3PmzNGpp55abUSe1LB+UaoMAffu3eve/0SePkA8fsSfp32qVv+tqKio9vzhw4clVU5TPvE9RW08TU8GAIQ3AkAA8KBdu3Y688wz9eWXX+r999/Xpk2bZLfbdeGFF9Z7bEVFhaZNm6bi4mKdcsopuvPOO9WnTx/Fxsa69/nggw/0zDPPuFfr8wdvVv0FACDSWK1WnXTSSZo0aZLsdrv+/ve/67HHHtPrr7/e4NH+wVY1s+DKK6/UH/7whyBXAwAIVdwDEADqUHWvv9mzZ8vlcmnIkCHuEXx12b59uw4dOiRJmjZtms4666xq4Z8kj9OPqkbtVX2i78mJU4d9qWoqUl01+PP8AAAE2jXXXKPu3bvr6NGjeu2116ptq+oX6+v7qvr+46f0+ltiYqIk1TsrAAAQ2QgAAaAOF110kWw2m3u6TUOn/1b9AyAhIUEnn3xyrfts2bKl1ud79eolqfIeP7t37651n/379/v1jf6pp54qSdq6davHfTzVDwBAc2SxWHTjjTdKkv79738rKyvLva2qX9y7d6/y8vJqPT43N9d9TNX+gVB1v9+vvvrKfZ8/AABORAAIAHWIjY3VnXfeqWuvvVY33nij+vXr16Dj7Ha7JOnYsWO13gdo8+bN2rRpU63HpqSkKDk5WZL0zjvv1LpPRkZGg+porEsuuUSStG7duhqrDUpSdna2e6VgAADCxcUXX6zOnTvL5XJV62vPPvtsxcfH13j+eG+++aZcLpcSEhJ09tlnB6pkDRkyRDabTcXFxZo9e3ad+xYXF6u8vDxAlQEAQgkBIADU4/LLL9ftt9+uW265pcHH9OvXT7GxsTJNU4899pgOHDggqXLhj+XLl2vq1KmKj4/3ePzNN98sSVq9erVmzpzpXhjk2LFjevnll7V06VJ3yOgPQ4cOVffu3eV0OvWnP/1JX375pftehVu3btV9992n6Ohov50fAIBgsFgsuu666yRJK1asUHZ2tqTKDwSrRgcuXLhQs2fP1rFjxyRJR48e1csvv6wlS5ZIkiZOnKgWLVoErOaEhAT99re/lSQtWrRIjz/+eLUP7yoqKvTtt9/q9ddf14QJEzwuUAIACG8sAgIAftCyZUv9+te/1osvvqjNmzdr/PjxstvtKi0tVUVFhVJSUnT55ZfrhRdeqPX4YcOGaefOnfrXv/6l999/X5mZmbLb7XI4HHK5XLr22mv1zTff1DlFtymioqL0yCOP6Pe//71ycnL0xz/+0X0Pw5KSEiUmJur222/XM88845fzAwAQLMOHD9ecOXOUm5urt99+W3/6058kSePGjdO+ffu0ePFizZ07V/PmzavWN0vSVVddpbFjxwa85rS0NJWUlOgf//iHVq5cqZUrV6pFixZq0aKFCgsL3fUBACIXIwABwE+uueYaPfbYY+rbt69iY2PldDrVuXNnTZo0SS+++KJsNludx99xxx165JFH1LdvX7Vo0UJOp1OnnXaaHnjgAd1+++1+r79Lly6aPXu20tLS1K5dOzmdTiUkJGj06NH6xz/+oU6dOvm9BgAAAi06OlrXXnutJOk///mPfvrpJ0mSYRj6wx/+oGnTpun8889XQkKCioqKlJCQoMGDB2v69Om6++67ZRhGUOq+9tprNWfOHI0dO1Zdu3aVxWKRw+FQq1atdMYZZ+jGG2/Uq6++qnbt2gWlPgBAcBlm1ZwuNGvffvttsEsAAADHacwiAPTnAACElkAu6gP4EyMAAQAAAAAAgDBGAAgAAAAAAACEMQJAAAAAAAAAIIyxCjCAsLJt2zY9/PDDXh1z5513atiwYX6qCAAA+BJ9PQAA3iMABBBWKioqlJ+f79UxZWVlfqoGAAD4Gn09AADeYxXgMMGqgQAAhBZWAQYAoPljFWCEC+4BCAAAAAAAAIQxAkAAAAAAAAAgjBEAAgAAAAAAAGGMABAAAAAAAAAIYwSAAAAAAAAAQBgjAAQAAAAAAADCGAEgAAAAAAAAEMaigl0AfKNNmzY+b9MwDMXFxam4uFimafq8fV+LjY2VxWKRy+VSSUlJsMtpEF5j/+L19T9eY/9qbq+vxGvcVP7oz61WqxITE5Wfny+n0+nz9n0tMTFRVqtVTqdT+fn5wS6nQXiN/au5vb4Sr7G/NbfXV+I19rfm9voCwcAIQHhksVhks9lksTSPX5O4uDjZbDbFxcUFu5QG4zX2L15f/+M19q/m9vpKvMYAAABAKGIEIDwqc1VoU973OnasUC5X6H+K0tI8IqvVIqfTpcLCY8Eup0GcklpW5Kq0qJjX2A94ff2P19i/KkwptvCISh3FcrpcwS6nQeKLHe4RgMeOhf5rbLVYdFF8fLDL8KuyknJt/Xi7Co8daxa/R/Hx8c3qd0iSXBUuxcfHq6S0efy32txe4+b2+kq8xv7W3F5fSTIrXGqZkKCS0mK5nKH/GreMj//ve6Zm8BpbrBadkzow2GUAIY0AEB7tKjygP+6cF+wyACBilRVHqeCnVsEuI+z9X3y8etlaBrsMv9m98Xs9mvZssMsAgIhnWK3BLiGsPbPiYXXud3KwywBCFvNdAAAAAAAAgDBGAAgAAAAAAACEMQJAAAAAAAAAIIxxD0BJxcXFmjdvntavX6/c3FyVl5dLkjIzM4NcGQAAAAAAANA0BICSpk+frs2bN0uSYmNjZbfb3dv27Nmjb775Rrt379aePXuUlZUlp9Opvn37atq0aXW2W1hYqG3btrmP3b17twoKCiRJTz75pPr16+e/iwIAAAAAAABEAKisrCx3+Hf//fdr8ODB1bb/5S9/UU5OTqPa3rBhg2bOnNnkGgEAAAAAAIDGIgDMypIkxcfH1wj/JCkqKkrdu3dXSkqKevTooS1btmjdunUNbj8xMVE9evRQSkqKOnbsqOeee85ntQMAAAAAAAD1ifgAsLS0VJIUFxdX6/ZZs2bJarW6v8/Ozm5w20OGDFFqaqr7+8LCwkZWCQAAAAAAADROxAaAc+fO1bx589zf5+TkKC0tzf39lClTlJqaWi3881ZTjgUAAAAAAAB8IWIDwLi4OLVu3VplZWUqKiqSxWJRQkKCe3tMTEwQqwMAAAAAAAB8I2IDwLFjx2rs2LFasWKFZs6cqaSkJL366qvBLgsAAAAAAADwKUuwCwAAAAAAAADgPwSAAAAAAAAAQBgjAAQAAAAAAADCWMTeA7C5ycjI0Ny5cz1uHzdunCZOnOjTc9pV4NP2AAAIVa1atZJpmsEuQ4mJiT5v025v6fM2AQAIRaHSnwOhiACwmXA4HMrJyfG4vaioSFar1afntFgMn7YHAECoslhCY1KEr/tySTLozwEAESJU+nMgFBEANhN2u13t27f3uN1ms8npdPr0nC4Xn5wAACKDy+Xy+YiBxoR5vu7LJcmkPwcARIhQ6c+BUEQA2Eykp6crPT3d4/bc3Fzl5+f79JwOh8On7QEAEKoKCgp8Hr4lJSV5fYyv+3JJcjgKfd4mAAChKFT6cyAUMT4WAAAAAAAACGOMAKxHaWmpSktL3d+Xl5dLkioqKnT06FH381arVXa7vcbxx+9TVFTk/trhcFTbZrPZFBXFjwMAAAAAAAC+ReJUj3fffVfz5s2r8fyuXbuqTcnt27evpk2bVmM/T9N2T9z3ySefVL9+/ZpYLQAAAAAAAFAdU4ABAAAAAACAMBbxIwBTU1OVmprqcfv48eM1fvz4RrefmZnZ6GMBAAAAAACApmIEIAAAAAAAABDGCAABAAAAAACAMEYACAAAAAAAAIQxAkAAAAAAAAAgjBEAAgAAAAAAAGGMABAAAAAAAAAIYwSAAAAAAAAAQBiLCnYBCF3lLmewSwAQ8kxZDVewiwhb9minerf7SaZpBLuUsGaoLNgl+FV5WUWwSwDQHFgYG+JXpmSaZrCrCGv0d0DdCAABAI1mNVxq2SK8w5Ng6tf6sJ45e32wywh7Fa3GyVHSJthl+BEBMoB6WCyy2mzBriKsmU6nXCWlwS4jvBGwAnXiYx54FG2xBrsEAAD8Ltoa3v1ddEx4Xx8AAJIUFRMd7BKAkEYACAAAAAAAAIQxAkAAAAAAAAAgjBEAAgAAAAAAAGGMABAAAAAAAAAIY6wCXIfCwkJt27ZNu3fv1p49e7R7924VFBRIkp588kn169evzuP37Nmjb775xn18VlaWnE6n+vbtq2nTpgXiEgAAAAAAABDhCADrsGHDBs2cObPRx//lL39RTk6ODysCAAAAAAAAvEMAWI/ExET16NFDKSkp6tixo5577rkGHxsVFaXu3bsrJSVFPXr00JYtW7Ru3To/VgsAAAAAAABURwBYhyFDhig1NdX9fWFhoVfHz5o1S1ar1f19dna2z2oDAAAAAAAAGiIiAsDCwkKtXbtWmzZtUnZ2tg4fPqyKigq1bdtW/fv315gxY9SxY8caxx0f3jVGU48HAAAAAAAAmioiAsDMzEzNmzdPUmUoZ7PZVFpaqgMHDujAgQNavXq1HnjgAQ0YMCC4hQIAAAAAAAA+FhEBYJs2bTRhwgQNGjRIXbp0kdVqldPp1N69e5WRkaGNGzfq2Wef1ezZsxUbGxvscgEAAAAAAACfsQS7gEAYOXKkrrvuOnXr1s09LddqtapHjx564IEH1LlzZxUUFGjt2rVBrhQAAAAAAADwrYgIAOsSHR3tnvq7c+fO4BYDAAAAAAAA+FhETAGWKlfgXbJkibZv366cnByVlJTINM1q++Tl5QWpOgAAAAAAAMA/IiIA/OSTTzRjxgxVVFRIkgzDkM1mU3R0tCSppKREJSUlKi0tDWaZdcrIyNDcuXM9bh83bpwmTpzo03PaVeDT9gAACFWtWrWq8cFgMCQmJvq8Tbu9pc/bBAAgFIVKfw6EorAPAAsKCjRr1ixVVFSoT58+uummm5SSkuIO/6TKcG3BggUh/YfC4XAoJyfH4/aioiL3/Q19xWIxfNoeAAChymIJjbui+LovlySD/hwAECFCpT8HQlHYB4AbN25UcXGxYmNjNXXqVNlsthr7HDlyJPCFeclut6t9+/Yet9tsNjmdTp+e0+UK3UAUAABfcrlcPv8gsDFhnq/7ckky6c8BABEiVPpzIBSFfQCYm5srSUpOTq41/DNNU9u2bQt0WV5LT09Xenq6x+25ubnKz8/36TkdDodP2wMAIFQVFBT4PHxLSkry+hhf9+WS5HAU+rxNAABCUaj050AoCvvxsXa7XZJ08OBBlZeX19i+cuVK7d+/P9BlAQAAAAAAAAER9iMA+/fvL8MwdOzYMc2YMUO//vWvlZiYqOLiYi1fvlxz5sxRfHy8jh07VuvxR48edX9dVFTk/trhcFTbZrPZFBVV/eUsLS2ttrBIVQBZUVFR7Vir1eoOKgEAAAAAAABfCvsAMDk5WWlpaVq0aJHWrFmjNWvWyG63q7i4WC6XSwMHDlTPnj21YMGCWo/3NO122rRp1b5/8skn1a9fv2rPvfvuu5o3b16NY3ft2lWt3b59+9ZoDwAAAAAAAPCFsA8AJWny5MlKTk7W0qVLtW/fPrlcLnXv3l1DhgzRqFGjNH/+/GCXCAAAAAAAAPhFRASAkjRixAiNGDGi1m3jx4/X+PHja92WmZnZ6HPW1S4AAAAAAAAQCGG/CAgAAAAAAAAQyQgAAQAAAAAAgDBGAAgAAAAAAACEMQJAAAAAAAAAIIwRAAIAAAAAAABhjAAQAAAAAAAACGMEgAAAAAAAAEAYIwCER+UuZ7BLAADA78qd4d3flZeF9/UBACBJFWXlwS4BCGlRwS4AANB8VbgsOlYaE+wywtaG4g666dilkoxglxLWppzRVinRwa7Cn8xgFwAg1LlcchYVBbuKsGdE8c9vvzJ4vwTUhb9A8CjaYg12CQBCniGni78V/lLqjNIXxfHBLiPsmUZ4h9jRMbzdA9AALlewKwhvhiHDwgQ8f4puEdaf5gFNxl8gAAAAAAAAIIwRAAIAAAAAAABhjDkhkoqLizVv3jytX79eubm5Ki+vvHloZmZmkCsDAAAAAAAAmoYAUNL06dO1efNmSVJsbKzsdrt72549e/TNN99o9+7d2rNnj7KysuR0OtW3b19NmzatQe0XFBToX//6lz7//HMdPnxYLVq0UI8ePXTFFVfovPPO88s1AQAAAAAAABIBoLKystzh3/3336/BgwdX2/6Xv/xFOTk5TWr/wQcfVEFBgSQpLi5ODodDW7Zs0ZYtW3TllVfq1ltvbfwFAAAAAAAAAHUgAMzKkiTFx8fXCP8kKSoqSt27d1dKSop69OihLVu2aN26dQ1qu7y8XE888YQKCgrUtWtX/eEPf1C3bt1UWlqqRYsW6Z133tHixYvVrVs3XXrppT69LgAAAAAAAEAiAFRpaamkypF5tZk1a5asVqv7++zs7Aa3/e9//1s///yzWrRooYcffljt2rWTJLVo0ULXXnut8vLy9OGHHyojI0NDhgxRVFTE/zgAAAAAAADgYxGbOM2dO1fz5s1zf5+Tk6O0tDT391OmTFFqamq18M9bq1evliRdfPHF7vDveNdcc42WLl2qvLw8ff311xo4cGCjzwUAAAAAAADUxhLsAoIlLi5OrVu3ls1mkyRZLBa1bt3a/YiJiWlS+8XFxfruu+8kSWeeeWat+7Rr107JycmSpK1btzbpfAAAAAAAAEBtInYE4NixYzV27FitWLFCM2fOVFJSkl599VWftZ+dnS3TNCVJXbt29bhf165dtW/fPu3bt89n5wYAAAAAAACqROwIQH/Ly8tzf92mTRuP+1Vty8/P93tNAAAAAAAAiDwEgH5SUlLi/rpFixYe96vaVlxc7PeaAAAAAAAAEHkIAAEAAAAAAIAwFrH3APS32NhY99elpaXuxUZOVFpaKqlyUZK6ZGRkaO7cuR63jxs3ThMnTmxEpZ7ZVeDT9gAACFWtWrVy37s3mBITE33ept3e0udtAgAQikKlPwdCEQGgnxx/37+8vDyPAWDVvQLre8PvcDiUk5PjcXtRUZGsVmsjKvXMYjF82h4AAKHKYgmNSRG+7sslyaA/BwBEiFDpz4FQRADoJ8nJyTIMQ6ZpKisrS8nJybXul5WVJUnq3Llzne3Z7Xa1b9/e43abzSan09n4gmvhcvHJCQAgMrhcLp+PGGhMmOfrvlySTPpzAECECJX+HAhFBIB+EhcXp549e+rbb7/Vpk2bNHjw4Br75Obmat++fZKk/v3719leenq60tPTPW7Pzc31+UrCDofDp+0BABCqCgoKfB6+JSUleX2Mr/tySXI4Cn3eJgAAoShU+nMgFDE+1o+GDBkiSfrkk0906NChGtvfe+89maapNm3aqF+/fgGuDgAAAAAAAJGAALAepaWlOnr0qPtRXl4uSaqoqKj2fG2j5UaMGKGTTjpJJSUlevzxx/XDDz+42/zXv/6lDz74QFLl6L6oKAZjAgAAAAAAwPdInerx7rvvat68eTWe37VrV7UpuX379tW0adOq7RMdHa2HHnpIDz74oPbu3aspU6bIZrOppKRELpdLkjR69Ghdeuml/r0IAAAAAAAARCwCQD/r0qWLXnjhBb377rv6/PPPlZubK7vdru7du2vUqFE677zzgl0iAAAAAAAAwljEB4CpqalKTU31uH38+PEaP358k87RunVrTZ48WZMnT25SOwAAAAAAAIC3uAcgAAAAAAAAEMYIAAEAAAAAAIAwRgAIAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAAAYYwAEAAAAAAAAAhjBIAAAAAAAABAGIsKdgEIXeUuZ7BLABDqKiTjEF2Jv1hNU4nti/i4zs+cZnmwS/Cr8rKKYJcAIMSZFkOuxJbBLiP8HSuVYQa7iPBVXhre/TnQVPyrDQDQaJbcKEV9mBDsMsJWyy7HdOrAfcEuI+y1alEquYJdhT8ZwS4AQIhzJbZU2cWnB7uMsGbJPSrrmp0i//Mjk1cXqAtjCuBRtMUa7BIAAPC7cO/vomPC+/oAAJCkqBjGNwF1IQAEAAAAAAAAwhgBIAAAAAAAABDGCAABAAAAAACAMMYk+ToUFhZq27Zt2r17t/bs2aPdu3eroKBAkvTkk0+qX79+DWpn3bp1Wrp0qfbs2aPS0lIlJSXpnHPO0a9+9SslJHDzfAAAAAAAAPgPAWAdNmzYoJkzZzapjZdfflkffvihJMlisahFixbav3+/Fi1apI8//lhPPvmkOnfu7ItyAQAAAAAAgBoIAOuRmJioHj16KCUlRR07dtRzzz3X4GP//e9/68MPP5RhGJowYYKuuuoqtWjRQj/88IOee+45/fjjj3riiSf04osvKjo62o9XAQAAAAAAgEhFAFiHIUOGKDU11f19YWFhg48tLy/X3LlzJUlXXHGFrr32Wve2bt26aerUqbrjjjt04MABLV++XFdccYXvCgcAAAAAAAB+EREBYGFhodauXatNmzYpOztbhw8fVkVFhdq2bav+/ftrzJgx6tixY43jrFZro8/51VdfKT8/X4Zh6Oqrr66xvX379rr44ou1fPlyrV69mgAQAAAAAAAAfhERqwBnZmZq1qxZWrdunfbv3y+r1Sqn06kDBw5o2bJluvvuu7VlyxafnvOrr76SJHXu3Fnt2rWrdZ+BAwdKkr755huVlJT49PwAAAAAAACAFCEjANu0aaMJEyZo0KBB6tKlizsA3Lt3rzIyMrRx40Y9++yzmj17tmJjY31yzn379kmSunbt6nGfqm2maSo7O1spKSk+OTcAAAAAAABQJSJGAI4cOVLXXXedunXr5p7Wa7Va1aNHDz3wwAPq3LmzCgoKtHbtWp+dMy8vT1Jl+OjJ8dvy8/N9dm4AAAAAAACgSkQEgHWJjo7WgAEDJEk7d+70WbtVU3pbtGjhcZ/jtxUVFfns3AAAAAAAAECViJgCLEnZ2dlasmSJtm/frpycHJWUlMg0zWr7VI3aAwAAAAAAAMJFRASAn3zyiWbMmKGKigpJkmEYstlsio6OllQ5Wq+kpESlpaU+O2fVvQTravP4bTabrc72MjIyNHfuXI/bx40bp4kTJ3pZZd3sKvBpewAAhKpWrVrV+GAwGBITE33ept3e0udtAgAQikKlPwdCUdgHgAUFBZo1a5YqKirUp08f3XTTTUpJSXGHf1JluLZgwQKf/qFo06aNvv/++zpHFR6/rb43/A6HQzk5OR63FxUVue9v6CsWi+HT9gAACFUWS2jcFcXXfbkkGfTnAIAIESr9ORCKwj4A3Lhxo4qLixUbG6upU6fWOtLuyJEjPj9v586d9eWXXyorK8vjPlXbDMNQcnJyne3Z7Xa1b9/e43abzSan09m4Yj1wufjkBAAQGVwul89HDDQmzPN1Xy5JJv05ACBChEp/DoSisA8Ac3NzJUnJycm1hn+maWrbtm0+P+8ZZ5yhhQsXKisrS7m5uUpKSqqxz+bNmyVJvXr1ck8Z9iQ9PV3p6eket+fm5vp8JWGHw+HT9gAACFUFBQU+D99q6/vr4+u+XJIcjkKftwkAQCgKlf4cCEVhPz7WbrdLkg4ePKjy8vIa21euXKn9+/f7/LxnnHGGEhMTZZqmFi5cWGP7oUOH9Mknn0iShgwZ4vPzAwAAAAAAAFIEBID9+/eXYRg6duyYZsyY4f5kvbi4WJmZmZo1a5bi4+M9Hn/06FH3o7Dwv5+gOxyOatuqFhipEh0drfHjx0uSlixZon/961/uRT9++OEHPf744yopKdHJJ5+syy67zNeXDQAAAAAAAEiKgCnAycnJSktL06JFi7RmzRqtWbNGdrtdxcXFcrlcGjhwoHr27KkFCxbUerynabfTpk2r9v2TTz6pfv36VXtuxIgR+uGHH/Thhx/qrbfe0jvvvKMWLVqoqKhIktS6dWs99NBD1RYkAQAAAAAAAHwp7ANASZo8ebKSk5O1dOlS7du3Ty6XS927d9eQIUM0atQozZ8/32/nvu2229S/f399+OGH+v77792j/gYNGqRx48apVatWfjs3AAAAAAAAEBEBoFQ5Gm/EiBG1bhs/frx7uu6JMjMzm3zu888/X+eff36T2wEAAAAAAAC8Ffb3AAQAAAAAAAAiGQEgAAAAAAAAEMYIAAEAAAAAAIAwRgAIAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAAAYYwAEAAAAAAAAAhjBIAAAAAAAABAGCMAhEflLmewSwAAwO8qXBXBLsGvysvozwEA4a+iLLz7c6CpooJdAACg+bK0L1Xs2BwZRrArCU9OmfrxaGvJGuxKwluRM0oK699hM9gFAAhxlvxCxXyyU3TofmSaMi0WGS7+JvsLryxQNwJAeBRt4V+cAOpmREtRyWXBLiNsmaZUrBiJAVx+FWWJDut/NUTH8HYPQN0MlylrXmGwy4gMhKx+Ex0THewSgJDGFGAAAAAAAAAgjBEAAgAAAAAAAGGMOSFNVFxcrHnz5mn9+vXKzc1VeXm5JCkzMzPIlQEAAAAAAAAEgE02ffp0bd68WZIUGxsru91ebfvhw4e1cOFCbdy4UYcOHVJUVJQ6deqkiy66SKNHj1ZUFD8CAAAAAAAA+A/pUxNkZWW5w7/7779fgwcPrrb9q6++0l/+8hc5HA5Jks1mU0VFhb777jt99913+vjjj/X444+rZcuWAa8dAAAAAAAAkYEAsAmysrIkSfHx8TXCv9zcXHf4l5KSojvuuEM9evSQy+XS5s2b9cILL2jPnj167rnn9PDDDwejfAAAAAAAAEQAFgFpgtLSUklSXFxcjW2LFi2Sw+FQXFycpk6dqh49ekiSLBaLzjrrLN1zzz2SpC+//FJbt24NXNEAAAAAAACIKIwAbIS5c+dq3rx57u9zcnKUlpbm/n7KlCn68ssvJUmXXHKJEhMTa7TRr18/9ejRQ3v27NHKlSvVv39//xcOAAAAAACAiMMIwEaIi4tT69atZbPZJFWO6mvdurX7ERMTo0OHDkmSOnXq5LGd5ORkSdKWLVv8XjMAAAAAAAAiEyMAG2Hs2LEaO3asVqxYoZkzZyopKUmvvvpqtX1mzpwpSXK5XB7bqdqWn5+vY8eOKT4+3n9FAwAAAAAAICIxAtBP2rdvL+m/C4XU5vhteXl5fq8JAAAAAAAAkYcA0E8GDhwoSVqzZo1ycnJqbP/iiy/0448/ur8vLi4OWG0AAAAAAACIHASAfnLVVVcpLi5OZWVleuSRR7Rp0yaVlpaqsLBQK1eu1PPPP6+oqP/OwDYMI4jVAgAAAAAAIFxxD0A/ad++ve6//35Nnz5dP/30kx599NFq2xMSEjR+/Hi99dZbkiS73V5nexkZGZo7d67H7ePGjdPEiRObXPfx7CrwaXsAAISqVq1ayTTNYJehxMREn7dpt7f0eZsAAISiUOnPgVBEAOhHAwcO1N///nctXrxYX3/9tY4cOaKWLVvqjDPO0NVXX62NGzdKkqKiotShQ4c623I4HLVOJa5SVFQkq9Xq0/otFkYlAgAig8USGpMifN2XS5JBfw4AiBCh0p8DoYgA0M/atm2rSZMm1bptz549kqTu3bsrOjq6znbsdrt7YZHa2Gw2OZ3ORtdZG5eLT04AAJHB5XL5fMRAY8I8X/flkmTSnwMAIkSo9OdAKCIADJLy8nKtW7dOkjRkyJB6909PT1d6errH7bm5ucrPz/dVeZIqRx0CABAJCgoKfB6+JSUleX2Mr/tySXI4Cn3eJgAAoShU+nMgFDE+NkgyMjKUl5enpKQkDRs2LNjlAAAAAAAAIEwxAtCP3nrrLfXp00e9e/d2L/KRlZWld999V6tWrZLVatVdd90lm80W5EoBAAAAAAAQrggA/eiTTz7Rv/71L0lSXFycnE6nysrKJFXe02/KlCkaOHBgMEsEAAAAAABAmCMA9KNrr71WX3zxhfbu3av8/HxFRUWpY8eOOvvss3XllVcqMTEx2CUCAAAAAAAgzBEANkFqaqpSU1M9bh8+fLiGDx8ewIoAAAAAAACA6lgEBAAAAAAAAAhjBIAAAAAAAABAGCMABAAAAAAAAMIYASAAAAAAAAAQxggAAQAAAAAAgDBGAAgAAAAAAACEMQJAAAAAAAAAIIxFBbsAhK5ylzPYJQAIcWa55PopSkawCwlTLkkVnUzJGuxKwlu5q0Lh/EtcXlYR7BIAhDgzylBpp/iw/lsYdKapFj8VyuCfWH5DfwfUjQAQANB42dHSW/Eyg11HmKro4tSxm8ok/rHgVxVOa5i/I+Jf9ADqVtopXjm39Al2GWGtxd6j6jBnR7DLCGsG70iBOjEFGB5FWxhyAgAIf9GWsE7/FB1Dfw4ACH9RMdHBLgEIaQSAAAAAAAAAQBgjAAQAAAAAAADCGAEgAAAAAAAAEMbC+6Y3IcA0Ta1du1bLly/Xnj17VFRUpNatW6tv37666qqr1KNHj2CXCAAAAAAAgDBGAOhHFRUVeuaZZ/TZZ59JkiwWi2w2mw4fPqzVq1drzZo1uv322zV8+PAgVwoAAAAAAIBwRQDoR2+99ZY+++wzWSwWTZw4UZdffrliY2N15MgRZWRk6KOPPtLf//53denSRb179w52uQAAAAAAAAhD3APQTwoKCvTBBx9IktLS0jR27FjFxsZKklq3bq0777xTffv2lcvl0pw5c4JYKQAAAAAAAMIZIwAboLCwUGvXrtWmTZuUnZ2tw4cPq6KiQm3btlX//v01ZswYdezYsdoxW7duVXl5uSRp7NixtbY7ZswYbdu2TTt27NDPP/+sk046ye/XAgAAAAAAgMjCCMAGyMzM1KxZs7Ru3Trt379fVqtVTqdTBw4c0LJly3T33Xdry5Yt1Y45dOiQJMlutysxMbHWdpOTk91fn3g8AAAAAAAA4AuMAGyANm3aaMKECRo0aJC6dOniDgD37t2rjIwMbdy4Uc8++6xmz57tnuZbxeVyeWz3+G1ZWVl+qx8AAAAAAACRixGADTBy5Ehdd9116tatm6xWqyTJarWqR48eeuCBB9S5c2cVFBRo7dq17mPat28vSSouLnaPBjzR8aFfXl6eH68AAAAAAAAAkYoAsImio6M1YMAASdLOnTvdz/fr109RUZUDLP/5z3/WOM40Tb377rvu74uLi/1bKAAAAAAAACISU4AbKDs7W0uWLNH27duVk5OjkpISmaZZbZ/jR/G1bt1al19+uRYvXqxly5YpLi5Oo0ePVmJion766Se98847+u677xQVFaWKigoZhhHoSwIAAAAAAEAEIABsgE8++UQzZsxQRUWFJMkwDNlsNkVHR0uSSkpKVFJSotLS0mrHTZo0SQcPHtTnn3+uhQsXauHChdW2jxw5Urt379bu3btlt9vrrCEjI0Nz5871uH3cuHGaOHFiYy7PI7sKfNoeAAChqlWrVjU+2AsGTwuHNYXd3tLnbQIAEIpCpT8HQhEBYD0KCgo0a9YsVVRUqE+fPrrpppuUkpLiDv+kynBuwYIFNf7QREdH68EHH9Rnn32mjz/+WFlZWXI6nerUqZOGDx+uwYMHa/LkyZKkTp061VmHw+FQTk6Ox+1FRUXu+xP6isXCqEQAQGSwWELjrii+7sslyaA/BwBEiFDpz4FQRABYj40bN6q4uFixsbGaOnWqbDZbjX2OHDni8XjDMHTBBRfoggsuqLHt6NGj7gVCevXqVWcddrvdvbBIbWw2m5xOZ51teMvl4pMTAEBkcLlcPh8x0Jgwz9d9uSSZ9OcAgAgRKv05EIoIAOuRm5srSUpOTq41/DNNU9u2bWtU25988omkyuk+VQuJeJKenq709PQ668zPz29UHZ44HA6ftgcAQKgqKCjwefiWlJTk9TG+7sslyeEo9HmbAACEolDpz4FQxPjYelTdm+/gwYMqLy+vsX3lypXav3+/1+3m5ORo3rx5kqSrr76aTxUAAAAAAADgFwSA9ejfv78Mw9CxY8c0Y8YM9yfzxcXFyszM1KxZsxQfH1/rsV999ZUWLlyo/fv3uz+FKC4u1qpVq3Tffffp6NGj6tevn6688sqAXQ8AAAAAAAAiC1OA65GcnKy0tDQtWrRIa9as0Zo1a2S321VcXCyXy6WBAweqZ8+eWrBgQY1jDx06pDfeeENvvPGGLBaLbDabHA6H+54EZ599tu69915uVAoAAAAAAAC/IQBsgMmTJys5OVlLly7Vvn375HK51L17dw0ZMkSjRo3S/Pnzaz3utNNO01VXXaXt27crJydHRUVFSkxMVM+ePTVs2DCdf/75Ab4SAAAAAAAARBoCwAYaMWKERowYUeu28ePHa/z48TWe79ixoyZPnuzv0gAAAAAAAACPmHsKAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAAAYYwAEAAAAAAAAAhjBIAAAAAAAABAGCMABAAAAAAAAMIYASAAAAAAAAAQxggA4VG5yxnsEgAA8LtyV0WwS/Cr8jL6cwBA+KsoKw92CUBIiwp2AQCA5qvsZJcOXR/e4UkwGYYps9yQrMGuJLyZwS7A78L/CgE0TYv9heqQ8a0Mwwh2KWHLdDplWiWDz2T8xhS/v0BdCADhUbSFf3ECqEeUobLOwS4ifBmGFG3lzay/RVvC++1QdEx4Xx+ApjOcUly2I9hlhDXT5ZJJ+OdX9HdA3ZgCDAAAAAAAAIQxAkAAAAAAAAAgjBEAAgAAAAAAAGGMSfJNVFxcrHnz5mn9+vXKzc1VeXnlykOZmZlBrgwAAAAAAAAgAGyy6dOna/PmzZKk2NhY2e32att//vlnLV68WFu2bFFOTo6cTqcSEhLUvXt3paam6oILLghG2QAAAAAAAIgQBIBNkJWV5Q7/7r//fg0ePLja9i+++EJPPfWUSktLJUlWq1UxMTHKy8tTXl6evvzyS5133nm69957FRXFjwIAAAAAAAC+R+rUBFlZWZKk+Pj4GuHf0aNH9dxzz6m0tFSnnHKKbrvtNvXq1UtWq1X5+fl67733tGjRIq1fv16LFy/W2LFjg3EJAAAAAAAACHMsAtIEVSP74uLiamz74osv5HA4JEkPPvigTj/9dFmtVklSYmKiJk+erEGDBkmSPvvsswBVDAAAAAAAgEjDCMBGmDt3rubNm+f+PicnR2lpae7vp0yZovz8fEmVowM7dOhQazspKSn6/PPPVVJS4t+CAQAAAAAAELEIABshLi5OrVu3VllZmYqKimSxWJSQkODeHhMT4w79jh07poMHD9YaAu7evVuS1L1798AUDgAAAAAAgIhDANgIY8eO1dixY7VixQrNnDlTSUlJevXVV6vtU1JSojZt2igvL0/Tpk3Tb3/7W/Xu3VsWi0X5+flauHChPv/8c7Vs2VLXX399kK4EAAAAAAAA4Y4A0E9iY2P18MMPa9q0afrhhx90//33u1cBLi4uVnR0tC688EKlp6fr5JNPDna5AAAAAAAACFMsAuJH3bt315NPPqnevXtLkpxOp4qLi91fl5WVuRcSAQAAAAAAAPyBEYB+tHz5cr300ktKSEjQ73//e/Xr1082m01ZWVmaN2+ePv/8c23btk2PPfaYTj311GCXCwAAAAAAgDBEAOgnu3bt0gsvvKCYmBg98cQTSk5Odm/r3bu3HnnkET300EP6+uuv9corr+iZZ56ps72MjAzNnTvX4/Zx48Zp4sSJPqtfkuwq8Gl7AACEqlatWsk0zWCXocTERJ+3abe39HmbAACEolDpz4FQRADoJ5mZmZKks88+u1r4V8UwDF111VX6+uuv9e233yo/P7/ON/0Oh0M5OTketxcVFclqtTa98ONYLIZP2wMAIFRZLKFxVxRf9+WSZNCfAwAiRKj050AoIgD0k3379kmSOnTo4HGfk046yf31wYMH6wwA7Xa72rdv73G7zWaT0+lsRKWeuVx8cgIAiAwul8vnIwYaE+b5ui+XJJP+HAAQIUKlPwdCEQGgnxhG5aftubm5Hvc5dOiQ+2ubzVZne+np6UpPT/e4PTc3V/n5+V5WWTeHw+HT9gAACFUFBQU+D9+SkpK8PsbXfbkkORyFPm8TAIBQFCr9ORCKGB/rJ926dZMkffnll9WCvuMtW7ZMUuXovk6dOgWsNgAAAAAAAEQOAkA/ufzyy2UYhoqLi/Xoo49q69atKi8vl1Q53XfmzJnasGGDJGnUqFEMKwYAAAAAAIBfMAXYT3r37q3Jkyfr9ddf1759+zR16lRZLBbFxMSopKTEvd+5556r66+/PoiVAgAAAAAAIJwxAtCP0tLS9Oyzz+qyyy5Tp06dFBUVpYqKCiUmJurss8/WvffeqwcffFBRUeSwAAAAAAAgcs2ZM0eGYcgwDM2ZMyfY5YQdkqcmSE1NVWpqap379OjRQ3fddVeAKgIAAAAAAACqYwQgAAAAAAAAEMYIAAEAAAAAAIAwRgAIAAAAAAAAhDECQAAAAAAAACCMEQACAAAAAAA0Y6tXr3avoPvoo49Kkr755hvddddd6tWrl+x2uxITE3Xeeefp+eefV2lpqce2TjnlFBmGoVNOOUWSVFpaqlmzZmnIkCE6+eSTZbVa3duOV1xcrBdffFGXXXaZTj75ZMXExKht27Y655xz9NBDD2n//v1eX9eXX36pW265RT169FBcXJySkpI0dOhQvfbaa3K5XF63F8lYBRgAAAAAACCMzJ8/X7fccouKiorczxUVFWnDhg3asGGDXnnlFS1btkxdu3ats529e/fqyiuv1LZt2+rc74svvtA111yjffv2VXs+Ly9PeXl5+vLLL/X888/rhRde0C233NKga5gxY4b+93//V06n0/1cSUmJVq9erdWrV+v111/XkiVLlJiY2KD2Ih0BIAAAAAAAQJjYuHGjpk+frvLyco0fP16pqamKi4vT9u3b9frrr+vAgQPatWuXhg4dqs2bN6tVq1a1tlNaWqqrr75a27Zt03nnnadx48YpOTlZeXl52r59u3u/r776SkOHDpXD4ZAknX766brxxhvVrVs35eXl6f3339dHH32koqIiTZ48WaZpavLkyXVew+LFi7Vw4ULFxMRo8uTJuuCCC2S1WrVx40a9/vrrKigo0GeffabLL79cn376qaKiiLfqwysEj8pdzvp3AhDRTNOUaZqSjGCXEpZMmTJNyeDl9atyV0VY3xSlvKwi2CUACHW/9OcGHY7fmKYpmWawywhr5WXlwS4hZCxZskQ2m03Lli3TkCFDqm373//9X11xxRVat26dfvjhB9133316+eWXa23n559/1s8//6zp06frvvvuq3Ufl8ulCRMmuMO/X//613rppZeqBXK33367XnvtNd16660yTVO/+93vlJqaWus04irvvfee2rdvrxUrVqhv377u5ydMmKA//OEPGjZsmL777jtt2LBBzzzzjO6///4GvjqRK4zf7gIA/M8ipytKTpeVhx8epstK+Acf4JcIQD1+uW8Y/Kfy1TV5+PHBb3B106dPrxH+SVLr1q31z3/+Uy1btpQkzZkzR4cOHfLYzlVXXeUx/JOkDz74wD09+IwzztDLL79c62i8yZMn67e//a2kyqnIM2fOrPcaXn311WrhX5Xk5GTNnz9fFktlpDVjxgyVlZXV216kIwCER9EWa7BLAADA76It4T0hIjqG/hwAEP6iYsK7P/dG69atdeutt3rc3qlTJ02YMEFS5TTfxYsXe9z3d7/7XZ3neu+999xf33PPPbJaPb/vuP/++90fNhx/XG169+6tK6+80uP2gQMH6rLLLpMkHTx4UJ9++mmd7YEAEAAAAAAAIGxceOGFio2NrXOfSy+91P31559/Xus+VqtVgwcPrrOdDRs2uL8ePnx4nft27dpVvXv3liRlZWXpwIEDDaqvIft4ugb8FwEgAAAAAABAmOjZs6dX++zfv7/Wfdq2bVtvkFgV4sXHx+ukk06q97ynnnpqjWPrq68h+3i6BvwXASAAAAAAAECYsNvtXu1z7NixWveJi4urt52qYxtyTknuew/Wdd6GtteQa8B/MUnez0zT1Mcff6xVq1bp+++/V2FhoWJiYtShQwcNHDhQaWlpatu2bbDLBAAAAAAAYaBqRd6G7hMfH9/oc8XHx+vIkSMNOqckFRYWNui8gbyGSEEA6EdlZWWaNm2aNm3a5H7OZrOppKREe/fu1d69e7Vs2TI9+OCDOuOMM4JYKQAAAAAACAe7d+/2ap+OHTs2+lwnn3yyjhw5omPHjungwYPq0KFDnft/++23DTpvIK8hUjAF2I8WLFjgDv9uuOEGvfPOO5o3b57effdd/fnPf9bJJ5+s4uJiPf300yotLQ1ytQAAAAAAoLlbs2ZNvRnDf/7zH/fX5557bqPPdfyxH330UZ37ZmVladeuXZKkLl261HnPwOXLl9d7bl9dQ6QgAPSj1atXS5KGDRumG264wT0k1Wq1auDAgbr33nslSQUFBdq+fXuwygQAAAAAAGHiyJEjevXVVz1uP3DggN555x1JUosWLTR69OhGn+uaa65xf/3ss8/K6XR63Pevf/2rTNOscVxtdu3apQ8++MDj9q1bt7pDwpNOOkkXXnihN2VHJKYAN0BhYaHWrl2rTZs2KTs7W4cPH1ZFRYXatm2r/v37a8yYMbUON83Pz5ckpaSk1Nput27dZLVa5XQ6VVJS4tdrAAAAAAAAkeG+++5Tv379dPHFF1d7/ujRo7r22mvdi2bcfPPNateuXaPPc8UVV6hfv376+uuvtXXrVt1+++36+9//rqio6nHTnDlz9PLLL0uqvDXalClT6m178uTJWrlypU4//fRqz+/fv1/XXXedO2y8++67FR0d3ehriBQEgA2QmZmpefPmSaocvWez2VRaWqoDBw7owIEDWr16tR544AENGDCg2nEdOnRQdna2x7nrP/zwg5xOpywWi7p16+bvywAAAAAAAGFu9OjRWr58uYYNG6brr79eqampiouL044dO/Taa69p//79kioHJf31r39t0rksFosyMjI0ePBgORwOzZ49W+vWrdONN96oU045RXl5eVq0aJGWLVvmPuZvf/ubunbtWme7V199tRYuXKizzjpLkyZN0uDBg2W1WrVp0ya99tprOnLkiKTKqb/33HNPk64hUhAANkCbNm00YcIEDRo0SF26dHGP2tu7d68yMjK0ceNGPfvss5o9e7ZiY2Pdx40YMUKvvfaaVq5cqZNOOkmjRo1SfHy8nE6nvv76a7300kuSKhPzk08+OViXBwAAAAAAwsRZZ52lG2+8UTfffLPeeecd93Tf4/Xq1UvLli1TQkJCk893xhlnaNWqVbr66quVnZ2tbdu26b777quxn81m09/+9jdNnjy53javvPJKXXzxxbrnnnv08ssvu0cPHu/888/XkiVLaow2RO14lRpg5MiRNZ6zWq3q0aOHHnjgAd19993at2+f1q5dq9TUVPc+o0eP1qFDh7R48WLNnTtXc+fOda8C7HK51KlTJ/32t7/VqFGjAnk5AAAAAAAgjF177bXq37+/XnjhBX300Uf66aefFB0drV69eum6667THXfcoRYtWvjsfOecc46+/fZbvfrqq1q0aJG2bdumvLw8tWzZUt27d9eIESN0xx13eLVa75QpU3TBBRdo1qxZ+vjjj3XgwAHZbDb169fPHXBaLCxt0VAEgE0UHR2tAQMGaN++fdq5c2e1ANBqtermm29Wx44d9dprr6m8vFxFRUXu7aWlpe4wkF9aAAAAAADgK7169dKLL77o9XF79+5t1Pni4uJ011136a677mrU8ZMmTdKkSZOqPXf22WfrjTfeaFR7qI4AsIGys7O1ZMkSbd++XTk5OSopKXGvXlMlLy+v2vdHjhzRtGnTtGvXLg0ZMsS9WMiRI0e0ceNGZWRk6M0339T333+vP/7xj4G8HAAAAAAAAEQIAsAG+OSTTzRjxgxVVFRIkgzDkM1mc68yU1JSopKSEpWWllY77vnnn9euXbuUmppabYWbqvsBdu7cWVOnTtWaNWs0bNgwnXXWWR5ryMjI0Ny5cz1uHzdunCZOnNiUy6zBrgKftgcAQKhq1apVjQ/2giExMdHnbdrtLX3eJgAAoShU+nMgFBEA1qOgoECzZs1S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pxGAKSkpmj17tlwuly699FItXrzYH6cBAAAAAACIQOYv9wEM3MNV7VE58s8lw/1coOvxJmAsLS1VWlqacnJy1LdvX23ZskVHjx7V0aNH9cQTT8gwDP3tb3/TG2+84UWrleLj43XxxRfr97//vTIyMrxaD2P79u26+eabVV5ermuvvVb79+/XkSNHtH//fv3qV79SWVmZJk6cqF27dnld14n8MgLwsccekyQNHTpUy5cv15gxY9S1a1ddcMEFSk5OVlxcXL1tPPzww/4oDQAAAAAAoFkzAzACsOEBm1Hr/v4en+jNPRBfeeUVff/997LZbPrggw/UpUsXSZLNZtODDz6oAwcOaNasWXrooYeUnp6u6OjoBrXbpUsXFRQUyDjuJodPP/10g+t6+OGHVVZWpgEDBuidd95RVFRlTHfyySdr7ty5+u6777RlyxY9/PDDWrBgQcMvuBZ+CQAfffRR98UbhiHTNPXjjz/qxx9/bHAb4RYAHjlyREuWLNEXX3yhnJwclZeXKzExUd26ddO5556r1NTUYJcIAAAAAACaA1Ny+XWObdPjO7OWr3zJm1YzMjIkSTfccIM7/Dvevffeq7///e/av3+/Vq1apeHDhzeoXYul8RNrCwoKtGTJEknSPffc4w7/qkRFRemee+7RjTfeqMzMTB07dkzx8fGNPp9fpgBLkmma7seJ39f3CDcbNmzQ7bffrgULFuiHH35QeXm5rFarDh48qPXr12v+/PnBLhEAAAAAADQTlVNgjaY96lxgQz581LOASCMfDQ0pCwsL9cUXX0iSRo4cWes+Xbp00WmnnSZJWrFihS9+RPX69NNPVVZWJqlyMd3aVD1fWlra5IV2/TICcNWqVf5otlnasmWL/vrXv6qiokJDhw7VNddc406bCwsL9c033/hkLjcAAAAAAIgcwV4EpMmaOP6roePHdu7c6R5s1rdvX4/79e3bVzt27NCOHTuaVlgDVZ2nQ4cOateuXa37tGvXTu3bt1dOTo527Nihyy+/vNHn80sAeMkll/ij2WanuLhYf/vb31RRUaGrr75akyZNqra9ZcuWOuuss3TWWWcFp0AAAAAAANAsNW4CZaiGhv6bDXrgwAH31x07dvS4X9W24/f3p6rz1FVT1facnJwm1+WXADDcFBYWau3atdq0aZOys7N1+PBhVVRUqG3bturfv7/GjBlT6w9sxYoVys3NVdu2bTVhwoQgVA4AAAAAAMKO6f9FQALL+2tp6PUXFha6v7bZbB73q9p27Ngxr2tpjKq66qrp+O1NrYsAsAEyMzM1b948SZLVapXNZlNpaakOHDigAwcOaPXq1XrggQc0YMCAasetXr1akjR48OAGryADAAAAAABQlzKzonLMXI2Bc+EUCh7vhAs1pB+O5QanlGYqYAFgdna2duzYoby8PJWVlemmm24K1KmbrE2bNpowYYIGDRqkLl26yGq1yul0au/evcrIyNDGjRv17LPPavbs2YqNjZUklZWV6fvvv5ck9ejRQ9nZ2Zo/f762bt2qwsJCJSYmql+/frr66qtrXYEGAAAAAACgNtFGlN5KTmvUselZi31cTdNldLnSb223bNnS/XVRUZESEhJq3a+oqEiSmrTSbmPqqjqvJ76qy+8B4Ouvv65nn322xkIXJwaATz75pD7++GN17txZr732mr/L8kptq8RYrVb16NFDDzzwgO6++27t27dPa9euVWpqqiQpJydHFRUVkqT9+/frpZdeUmlpqWJiYhQTE6NDhw5p5cqVWrNmjX7/+9/rwgsvDOg1AQAAAACASBSuowRrd/wt2/bv3+8xANy/f78k6eSTTw5oXVXn9cRXdVmadHQdiouLNWrUKN16663atWuXTNN0P2pz9tln6z//+Y/mzJmjnTt3+qssn4uOjnZP/T2+7uPnmP/rX/+SzWbTww8/rAULFmjevHmaMWOGUlJSVF5erhkzZtT7AwcAAAAAAGgq01TljNpQevhR7969ZRiVoef27ds97le17fTTT/dvQb+oOs/BgweVm1v7dOZDhw4pJyfHJ3X5bQTgTTfdpKVLl0qSTjnlFN1www3Kz8/Xyy+/XOv+l112mdq1a6fc3FwtWbJEp512mr9Ka5Ts7GwtWbJE27dvV05OjkpKSmqEmXl5ee6vj9/mcrl09913a+DAge7nunfvroceeki33XabSkpKlJmZqdtuu83/FwIAAAAAAJq9CXs/aOSRhr8zN6815lpuSjlXZzVgv5YtW2rQoEHasGGDli1bpmuuuabGPlW3rZPkntnpbxdeeKFiYmJUVlamf//737UuHvvRRx9Jklq0aNHkmaN+CQBXrFihd999V4Zh6Prrr9ecOXMUHR2tRYsWeQwALRaLLrvsMs2dO1effvqp/vjHP/qj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q6+++kqzZ8/WPffcoyFDhiSm2BT1xRdfSJIuueSSNl+/8MIL9eyzz0o69POgI5MnT9bKlSv12WefWVtkChszZozee+891dXVadKkSbr88ssjbtvc3Kzvfve7kqT7778/XiUiBTCexwdjunUYz63HeG4txnMgfREAIiW0tLQoKytLmZmZUe+bmZmp7OxstbS0WFCZfdx5551RLwdA9+3bt09Op1Mnn3xyh+39+/fXb37zG82dO1fbtm3TnXfeqblz52rEiBFxrjR1HTx4UFlZWerbt2+brx9eXuhyuSIuNSwuLpbL5VJNTY3ldaaqOXPmaMOGDVq0aJH+/Oc/64033tDNN9+soUOHttuWnyWIhPE8PhjTrcN4bj3Gc2sxngPpy5HoAoDuKCoqUnNzs7766quo992xY4eampq6vMYQDjFNs0cPdC4QCCgzM1MOR+Qfux6PR/fee69OOeUUNTQ06K677tInn3wSxypTW6Q7/h3+usfj6XT/nJwc+f3+mNdlJ9/61rf0yCOP6JJLLtFnn32mX/7yl3rssccIZNBtjOfxxZgee4zn1mM8tx7jOZCemAGIlDBmzBiVl5froYce0q9//Wv169evW/vt379fv//978N3BENkeXl5OnjwoH7xi1/om9/8ZlT7NjQ06KabbrKoMnsoKChQTU2NGhoalJubG3G77OxszZ07V/fee68++ugjzZ07V3PmzIljpakrLy9Pe/bsUUtLi7Kzs6Pev7m5ud1sA7Tndrv105/+VBdeeKEefvhhlZeXa8OGDbrhhhs0bty4RJeHJMd4Hh+M6dZhPLce43l8MJ4D6YcAECnhmmuu0dq1a/XVV1/p5ptv1vnnn6/Ro0dryJAhKiwsDL8j6PP5VFtbq8rKSm3cuFHr1q1TS0uL8vPzNW3atAQfRXIbMWKENm7cqN27d3f5zurRgsGgRVXZx9ChQ1VTU6O///3vOu+88zrdNisrS7/+9a91//3364MPPtA999yjUCgUp0pT18CBA7Vnzx794x//0PDhw9u0LV26tNNlLPv27ZPf71dhYaHVZdrGKaecoj/84Q9avny5/va3v+l3v/udzjrrLN1000384oWIGM/jgzHdOozn1mM8jy/GcyB9EAAiJfTt21f333+/7rvvPu3du1erVq3SqlWrutzPNE0dc8wxmjNnDgNYF4YPH66Kigourm6R008/Xe+++67WrFnT5S8M0qFrXc2ZM0fz5s3T+++/L4nrsHRlxIgRqqio0JYtW9r9wtDVL8CbNm2SJI0cOdKy+uwoIyND06dP17e//W0tXLhQ77//vjZv3qwrrrgi0aUhSTGexwdjunUYz63HeB5/jOdAeuAagEgZgwcP1sKFC3XjjTeGL6Tc2bVrRo4cqRtvvFELFy7U4MGDE1l6Sjj8Amv79u0JrsSezj33XEnSxo0b9eWXX3ZrH5fLpdmzZ4f3RefOPvtsTZw4UX369Il635UrV0o69Isdojdo0CDNmzdPP/nJT+RwOMJ3aQQ6wnhuPcZ06zCeW4/xPHEYzwF7M0yu9IsU1dLSop07d6qurk7Nzc2SDl30t7CwUMXFxT26Zkg6a2xs1DvvvCNJuuiii3h32gI1NTUKhULq06eP3G53t/cLhULaunWrTNPUqaeeamGF6SkUCoXvFlhYWKiMDCbH90ZdXZ2eeOIJ7du3T5J0//33J7giJDvG89hjTLcW43lyYjyPLcZzwH4IAAEAAAAAAAAbYwkwAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2RgAIAAAAAAAA2BgBIAAAAAAAAGBjBIAAAAAAAACAjREAAgAAAAAAADZGAAgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAMAR1q5dK8MwZBiG5s6dK0n69NNP9bOf/UwnnXSSPB6PCgoKdM455+j3v/+9fD5fl302Nzfr4Ycf1iWXXKLjjjtOmZmZ6tevn8aMGaM5c+Zo9+7dXfbh8/n0pz/9SZdddpmOP/54ZWdny+12a/DgwTrzzDNVWlqqxx9/XI2Njb09BQAAALAZwzRNM9FFAAAAJIu1a9fqwgsvlCT9+7//u77xjW/oRz/6kZqamjrc/uSTT9arr76qIUOGdNj+3nvv6eqrr9bOnTsjPqfb7dYf//hH/ehHP+qw/csvv9Sll16qbdu2dVn/M888o2nTpnW5HQAAANJHRqILAAAASFYVFRWaN2+e/H6/pk+frgkTJignJ0dbtmzRX/7yF1VVVemTTz7RhRdeqE2bNikvL6/N/h9++KEuvPBCeb1eSdIpp5yi73//+xo6dKhqa2v1wgsv6PXXX1dTU5NmzZol0zQ1a9asdnVMmzYtHP6dfPLJuuaaazRkyBDl5eXp4MGD+vTTT7Vu3Tq9++671p8UAAAApBxmAAIAABzhyBmA0qHZeS+//LLGjx/fZrsDBw7o8ssv11tvvSVJuummm/Too4+G20OhkEpKSrR582ZJ0g033KD/+q//UkZG2/dfH3vsMd14440yTVNut1tbtmzRCSecEG5///33NWbMGEnSNddco2XLlsnh6PgqLl999ZVM02yzPwAAAMA1AAEAADoxb968duGfJOXn5+uZZ55Rnz59JEmPP/649u3bF25/+eWXw+Hf6aefrkcffbRd+CdJs2bN0k033SRJampq0oIFC9q0b9++PfzxD37wg4jhnyQNGTKE8A8AAADtEAACAABEkJ+frxtvvDFi+/HHH68ZM2ZIOnSTjhdffDHc9txzz4U//uUvfymn0xmxnzvuuEOGYbTbT5I8Hk/444qKiugOAAAAABABIAAAQETnnXeesrOzO93m4osvDn985DX43nnnnfDH3/nOdzrtY8iQITr55JMlSZWVlaqqqgq3fetb35Lb7ZYk3XPPPbr99tu1adMmcRUXAAAAdBcBIAAAQAQjR46Mapvdu3eHPz4c4uXm5urYY4/tsp8TTzyx3b6SVFhYqAULFsjhcCgQCGjBggU688wz1b9/f11xxRX67W9/q02bNnXreAAAAJCeCAABAAAiOHL5bXe2aWhoaPdxd/qQFL6W4NH9SIduIPLmm2/qO9/5TvgagPv379dLL72kO+64Q2eeeaZOP/10rVy5slvPBQAAgPRCAAgAABCB1+uNapvc3Nx2H3enD0lqbGzssJ/DzjvvPL322muqqalReXm5/r//7//TeeedF76xyEcffaTLL79cjz/+eLeeDwAAAOmDABAAACCCI+/A251tBg4cGP74uOOOk3RoNt/evXu77Gfbtm0d9nO0goICXXHFFXrggQe0fv167d69W7fccku4/Ze//KX8fn+XzwcAAID0QQAIAAAQwfr16+Xz+Trd5n/+53/CH5999tkdfvz666932kdlZaU++eQTSdLgwYO7dc3Aw/r3768//vGPKikpkSTV1tZqy5Yt3d4fAAAA9kcACAAAEMGBAwe0ePHiiO1VVVVasmSJJCkrK0uTJ08Ot1199dXhjx988EEFg8GI/fz2t78N39X3yP2iMXTo0PDHgUCgR30AAADAnggAAQAAOvF//+//1bp169p9/eDBg7r22mvDN+z44Q9/qP79+4fbL7/8cp122mmSpL///e/6yU9+0mEw9/jjj+vRRx+VJLndbt12221t2pcsWaLHHnus02sJbtu2TatXr5YkZWdn66STToryKAEAAGBnGYkuAAAAIFlNnjxZq1at0kUXXaTvfve7mjBhgnJycvTxxx/rscce0+7duyUdmn3329/+ts2+DodDZWVlGjdunLxerxYtWqS33npL3//+93XCCSeotrZWK1as0Kuvvhre5w9/+IOGDBnSpp/PPvtMd999t2699VZdfPHFGjNmjAYPHqycnBzt27dP7777rp599tlwQHjrrbd2eBMRAAAApC/DPLzeBAAAAFq7dq0uvPBCSdK///u/65RTTtEPf/hDNTU1dbj9SSedpFdffVUnnHBCh+3vvfeerrrqKu3atSvic7rdbv3hD3/QrFmz2rXdfffdmjt3bpd1G4ahm2++WQsWLJDT6exyewAAAKQPZgACAAB04tprr1VJSYn++Mc/6vXXX9c//vEPuVwunXTSSbruuuv005/+VFlZWRH3HzNmjLZt26bFixdrxYoV2rx5s2pra9WnTx8NGzZMEydO1E9/+tOId/698847deGFF2rNmjV699139emnn6qqqkqtra3hPr71rW/pRz/6kUaPHm3VaQAAAEAKYwYgAADAEY6eAdid2XcAAABAMuMmIAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI1xF2AAAAAAAADAxpgBCAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2RgAIAAAAAAAA2BgBIAAAAAAAAGBjBIAAAAAAAACAjREAAgAAAAAAADZGAAgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2RgAIAAAAAAAA2BgBIAAAAAAAAGBjBIAAAAAAAACAjREAAgAAAAAAADZGAAgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANjY/w+aBdu0l+74BQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] diff --git a/tutorials/basic_tutorials/Complex_Intervention.ipynb b/tutorials/basic_tutorials/Complex_Intervention.ipynb deleted file mode 100644 index c577d4ad..00000000 --- a/tutorials/basic_tutorials/Complex_Intervention.ipynb +++ /dev/null @@ -1,502 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "f999c6ab", - "metadata": {}, - "source": [ - "## Tutorial of More Complex Interventions Use" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "bbd34970", - "metadata": {}, - "outputs": [], - "source": [ - "__author__ = \"Zhengxuan Wu\"\n", - "__version__ = \"12/19/2023\"" - ] - }, - { - "cell_type": "markdown", - "id": "d2a0f275", - "metadata": {}, - "source": [ - "### Overview\n", - "\n", - "The basic tutorials cover simple usages of interventions. Here, we showcase some more advance usages of this library, which can support flexible interventions by grouping interventions together, skipping interventions when needed, etc... This is a live tutorial which encapsulates a set of advanced usages together." - ] - }, - { - "cell_type": "markdown", - "id": "46365d6f", - "metadata": {}, - "source": [ - "### Set-up" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "b59e7680", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[2024-01-11 01:22:07,607] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)\n" - ] - } - ], - "source": [ - "try:\n", - " # This library is our indicator that the required installs\n", - " # need to be done.\n", - " import pyvene\n", - "\n", - "except ModuleNotFoundError:\n", - " !pip install git+https://github.com/frankaging/pyvene.git" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "06712c34", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "loaded model\n" - ] - } - ], - "source": [ - "import torch\n", - "import pandas as pd\n", - "from pyvene import embed_to_distrib, top_vals, format_token\n", - "from pyvene import (\n", - " IntervenableModel,\n", - " VanillaIntervention, LowRankRotatedSpaceIntervention,\n", - " IntervenableRepresentationConfig,\n", - " IntervenableConfig,\n", - ")\n", - "from pyvene import create_gpt2\n", - "\n", - "%config InlineBackend.figure_formats = ['svg']\n", - "from plotnine import (\n", - " ggplot,\n", - " geom_tile,\n", - " aes,\n", - " facet_wrap,\n", - " theme,\n", - " element_text,\n", - " geom_bar,\n", - " geom_hline,\n", - " scale_y_log10,\n", - ")\n", - "\n", - "config, tokenizer, gpt = create_gpt2()" - ] - }, - { - "cell_type": "markdown", - "id": "17a2e9ee", - "metadata": {}, - "source": [ - "### Non-group-based Interventions v.s. Group-based Interventions" - ] - }, - { - "cell_type": "markdown", - "id": "267e3b92", - "metadata": {}, - "source": [ - "Two same sources are used to intervene at two locations." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "024687a8", - "metadata": {}, - "outputs": [], - "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(gpt),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"block_output\",\n", - " \"pos\",\n", - " 1,\n", - " ),\n", - " IntervenableRepresentationConfig(\n", - " 2,\n", - " \"block_output\",\n", - " \"pos\",\n", - " 1,\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=VanillaIntervention,\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, gpt)\n", - "\n", - "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", - "sources = [\n", - " tokenizer(\"The capital of Italy is\", return_tensors=\"pt\"),\n", - " tokenizer(\"The capital of Italy is\", return_tensors=\"pt\"),\n", - "]" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "fafd77cd", - "metadata": {}, - "outputs": [], - "source": [ - "_, counterfactual_outputs_no_group = intervenable(\n", - " base, sources, {\"sources->base\": ([[[3]], [[4]]], [[[3]], [[4]]])}\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "e17dafda", - "metadata": {}, - "source": [ - "One single source is used for all interventions in the group" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "8bab4e8c", - "metadata": {}, - "outputs": [], - "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(gpt),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(0, \"block_output\", \"pos\", 1, group_key=0),\n", - " IntervenableRepresentationConfig(2, \"block_output\", \"pos\", 1, group_key=0),\n", - " ],\n", - " intervenable_interventions_type=VanillaIntervention,\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, gpt)\n", - "\n", - "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", - "sources = [tokenizer(\"The capital of Italy is\", return_tensors=\"pt\")]" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "6e12c7d8", - "metadata": {}, - "outputs": [], - "source": [ - "_, counterfactual_outputs_group = intervenable(\n", - " base, sources, {\"sources->base\": ([[[3]], [[4]]], [[[3]], [[4]]])}\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "bfaab70c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "torch.equal(\n", - " counterfactual_outputs_no_group.last_hidden_state,\n", - " counterfactual_outputs_group.last_hidden_state,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "746cfaaa", - "metadata": {}, - "source": [ - "### Smart skipping interventions by passing in None\n", - "\n", - "This library respects the intervention list as the source of the truth when accepting different inputs. However, sometimes, we may only need to intervene on a partial list of all listed interventions. We can do that by passing in None in the source input list." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "26df3873", - "metadata": {}, - "outputs": [], - "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(gpt),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"block_output\",\n", - " \"pos\",\n", - " 1,\n", - " ),\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"block_output\",\n", - " \"pos\",\n", - " 1,\n", - " ),\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"block_output\",\n", - " \"pos\",\n", - " 1,\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=VanillaIntervention,\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, gpt)\n", - "\n", - "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", - "source = tokenizer(\"The capital of Italy is\", return_tensors=\"pt\")" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "ff2afdcc", - "metadata": {}, - "outputs": [], - "source": [ - "_, counterfactual_outputs_1 = intervenable(\n", - " base,\n", - " [None, None, source],\n", - " {\"sources->base\": ([None, None, [[4]]], [None, None, [[4]]])},\n", - ")\n", - "_, counterfactual_outputs_2 = intervenable(\n", - " base,\n", - " [None, source, None],\n", - " {\"sources->base\": ([None, [[4]], None], [None, [[4]], None])},\n", - ")\n", - "_, counterfactual_outputs_3 = intervenable(\n", - " base,\n", - " [source, None, None],\n", - " {\"sources->base\": ([[[4]], None, None], [[[4]], None, None])},\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "e7b714b4", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "True True\n" - ] - } - ], - "source": [ - "print(\n", - " torch.equal(\n", - " counterfactual_outputs_1.last_hidden_state,\n", - " counterfactual_outputs_2.last_hidden_state,\n", - " ),\n", - " torch.equal(\n", - " counterfactual_outputs_2.last_hidden_state,\n", - " counterfactual_outputs_3.last_hidden_state,\n", - " ),\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "90760a9f", - "metadata": {}, - "source": [ - "### Weight-sharing interventions targetting different subspaces\n", - "\n", - "Trainable interventions also support weight sharing. This is useful if two interventions are targetting different subspaces of a new basis. This is different from one intervention with paritioned subspaces. The latter case only allow intervening at one subspace at a time, which could be useful as well. However, weight-sharing with smart skipping may be suffice for all the use-cases." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "0b635e55", - "metadata": {}, - "outputs": [], - "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(gpt),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"block_output\",\n", - " \"pos\",\n", - " 1,\n", - " intervenable_low_rank_dimension=2,\n", - " subspace_partition=[[0, 1], [1, 2]],\n", - " intervention_link_key=0, # create sym link across interventions\n", - " ),\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"block_output\",\n", - " \"pos\",\n", - " 1,\n", - " intervenable_low_rank_dimension=2,\n", - " subspace_partition=[[0, 1], [1, 2]],\n", - " intervention_link_key=0, # create sym link across interventions\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=LowRankRotatedSpaceIntervention,\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, gpt)\n", - "\n", - "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", - "source = tokenizer(\"The capital of Italy is\", return_tensors=\"pt\")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "c8bcecb9", - "metadata": {}, - "outputs": [], - "source": [ - "_, counterfactual_outputs_1 = intervenable(\n", - " base,\n", - " [None, source],\n", - " {\"sources->base\": ([None, [[4]]], [None, [[4]]])},\n", - " subspaces=[None, [[1]]],\n", - ")\n", - "_, counterfactual_outputs_2 = intervenable(\n", - " base,\n", - " [source, None],\n", - " {\"sources->base\": ([[[4]], None], [[[4]], None])},\n", - " subspaces=[[[1]], None],\n", - ")\n", - "_, counterfactual_outputs_3 = intervenable(\n", - " base,\n", - " [source, source],\n", - " {\"sources->base\": ([[[4]], [[4]]], [[[4]], [[4]]])},\n", - " subspaces=[[[0]], [[1]]],\n", - ")\n", - "_, counterfactual_outputs_4 = intervenable(\n", - " base,\n", - " [source, source],\n", - " {\"sources->base\": ([[[4]], [[4]]], [[[4]], [[4]]])},\n", - " subspaces=[[[1]], [[0]]],\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "a2c282a1", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "True False False True\n" - ] - } - ], - "source": [ - "print(\n", - " torch.equal(\n", - " counterfactual_outputs_1.last_hidden_state,\n", - " counterfactual_outputs_2.last_hidden_state,\n", - " ),\n", - " torch.equal(\n", - " counterfactual_outputs_2.last_hidden_state,\n", - " counterfactual_outputs_3.last_hidden_state,\n", - " ),\n", - " torch.allclose(\n", - " counterfactual_outputs_1.last_hidden_state,\n", - " counterfactual_outputs_3.last_hidden_state,\n", - " atol=1e-5, # bmm in different order will result in slightly different results\n", - " ),\n", - " torch.allclose(\n", - " counterfactual_outputs_3.last_hidden_state,\n", - " counterfactual_outputs_4.last_hidden_state,\n", - " atol=1e-5, # bmm in different order will result in slightly different results\n", - " ),\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "7f9daf2e", - "metadata": {}, - "outputs": [], - "source": [ - "counterfactual_outputs_4[0].sum().backward()" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "a061b54f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "tensor(3.8147e-06)\n" - ] - } - ], - "source": [ - "# this is an example about order matters for percision\n", - "x = torch.randn(10, 10, 10)\n", - "s1 = x.sum()\n", - "s2 = x.sum(0).sum(0).sum(0)\n", - "print((s1 - s2).abs().max())" - ] - } - ], - "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.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/basic_tutorials/Debug_Helper.ipynb b/tutorials/basic_tutorials/Debug_Helper.ipynb deleted file mode 100644 index fc820c55..00000000 --- a/tutorials/basic_tutorials/Debug_Helper.ipynb +++ /dev/null @@ -1,309 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "afdd10dd", - "metadata": {}, - "source": [ - "### Only for Dev\n", - "\n", - "If you are debugging this library or developing some new features, please don't imports as in other tutorials as they can load the pyvene library installed in your local env without your code updates.\n", - "\n", - "**Note**: If is better to remove your local pyvene pip install before dev." - ] - }, - { - "cell_type": "markdown", - "id": "fedcabbe", - "metadata": {}, - "source": [ - "**Never Imports Like This**" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "1b5fd935", - "metadata": {}, - "outputs": [], - "source": [ - "# try:\n", - "# # This library is our indicator that the required installs\n", - "# # need to be done.\n", - "# import pyvene\n", - "\n", - "# except ModuleNotFoundError:\n", - "# !pip install git+https://github.com/frankaging/pyvene.git" - ] - }, - { - "cell_type": "markdown", - "id": "09a689eb", - "metadata": {}, - "source": [ - "**Do Relative Imports Instead**\n", - "\n", - "This way your updated code will be loaded instead of using your installed pyvene library." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "82271531", - "metadata": {}, - "outputs": [], - "source": [ - "import sys\n", - "sys.path.append(\"../..\")\n", - "\n", - "from pyvene.models.basic_utils import (\n", - " embed_to_distrib,\n", - " top_vals,\n", - " format_token,\n", - " count_parameters\n", - ")\n", - "\n", - "from pyvene.models.gpt2.modelings_intervenable_gpt2 import create_gpt2\n", - "\n", - "from pyvene.models.intervenable_base import IntervenableModel\n", - "from pyvene.models.interventions import VanillaIntervention\n", - "\n", - "from pyvene.models.configuration_intervenable_model import (\n", - " IntervenableConfig, IntervenableRepresentationConfig, VanillaIntervention)\n", - "\n", - "config, tokenizer, gpt = create_gpt2()" - ] - }, - { - "cell_type": "markdown", - "id": "4a297602", - "metadata": {}, - "source": [ - "**tensor versioning**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e571da6b", - "metadata": {}, - "outputs": [], - "source": [ - "import torch" - ] - }, - { - "cell_type": "markdown", - "id": "39e58e4a", - "metadata": {}, - "source": [ - "when a tensor is created, its `_version` is 0" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "975ec129", - "metadata": {}, - "outputs": [], - "source": [ - "a = torch.rand(3,3)\n", - "b = torch.rand(3,3)\n", - "w = torch.rand(3,3)\n", - "a._version" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "38882c72", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "8862658f", - "metadata": {}, - "source": [ - "if there is any in-place op on this tensor, the `_version` number will increment by 1 for each op" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "8377b957", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "1" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "a[0,0] = 0\n", - "b[0,0] = 0\n", - "a._version" - ] - }, - { - "cell_type": "markdown", - "id": "6ff175e6", - "metadata": {}, - "source": [ - "for op that does not have side-effect (i.e., directly return), it creats new tensors, thus the `_version` for the output is 0 again, since it is a new tensor." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "f7dab9a9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(w @ a)._version" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "f34522c7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(b @ a)._version" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "eaf33957", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "a.clone()._version" - ] - }, - { - "cell_type": "markdown", - "id": "7de5bee1", - "metadata": {}, - "source": [ - "**hook fail safe**\n", - "\n", - "if your hook ends up causing downstream calculation error, pytorch will actually absorb it and remove the hook. so, you need to be careful!" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "6bd4ed72", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "tensor([[-0.1888, 0.3058]], grad_fn=)" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import torch\n", - "import torch.nn as nn\n", - "\n", - "class SimpleNet(nn.Module):\n", - " def __init__(self):\n", - " super(SimpleNet, self).__init__()\n", - " self.fc1 = nn.Linear(10, 5)\n", - " self.relu = nn.ReLU()\n", - " self.fc2 = nn.Linear(5, 2)\n", - "\n", - " def forward(self, x):\n", - " x = self.fc1(x)\n", - " x = self.relu(x)\n", - " x = self.fc2(x)\n", - " return x\n", - "\n", - "net = SimpleNet()\n", - " \n", - "def output_str(self, input, output):\n", - " output = \"hey!\"\n", - "\n", - "# Step 3: Attach the Hook to a Layer\n", - "hook = net.fc1.register_forward_hook(output_str)\n", - "\n", - "# Step 4: Run a Forward Pass\n", - "input = torch.randn(1, 10)\n", - "output = net(input)\n", - "\n", - "# Remove the hook if it's no longer needed\n", - "hook.remove()\n", - "output" - ] - } - ], - "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.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/basic_tutorials/Interchange_Intervention_Training.ipynb b/tutorials/basic_tutorials/Interchange_Intervention_Training.ipynb index 9c520f73..84ac7cb0 100644 --- a/tutorials/basic_tutorials/Interchange_Intervention_Training.ipynb +++ b/tutorials/basic_tutorials/Interchange_Intervention_Training.ipynb @@ -41,18 +41,18 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "8c2bae9d", "metadata": {}, "outputs": [], "source": [ - "# try:\n", - "# # This library is our indicator that the required installs\n", - "# # need to be done.\n", - "# import pyvene\n", + "try:\n", + " # This library is our indicator that the required installs\n", + " # need to be done.\n", + " import pyvene\n", "\n", - "# except ModuleNotFoundError:\n", - "# !pip install git+https://github.com/frankaging/pyvene.git" + "except ModuleNotFoundError:\n", + " !pip install git+https://github.com/frankaging/pyvene.git" ] }, { @@ -65,16 +65,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "[2024-01-12 02:39:07,117] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)\n", "loaded model\n" ] } ], "source": [ - "# import pandas as pd\n", - "import sys\n", - "sys.path.append(\"../..\")\n", - "\n", "from pyvene.models.basic_utils import (\n", " embed_to_distrib,\n", " top_vals,\n", @@ -82,14 +77,10 @@ " count_parameters\n", ")\n", "\n", - "from pyvene.models.gpt2.modelings_intervenable_gpt2 import create_gpt2\n", - "\n", - "from pyvene.models.intervenable_base import IntervenableModel\n", - "from pyvene.models.interventions import VanillaIntervention\n", - "from pyvene.models.interventions import RotatedSpaceIntervention\n", - "\n", - "from pyvene.models.configuration_intervenable_model import (\n", - " IntervenableConfig, IntervenableRepresentationConfig, VanillaIntervention\n", + "from pyvene import create_gpt2\n", + "from pyvene import (\n", + " IntervenableModel, RotatedSpaceIntervention, \n", + " IntervenableConfig, RepresentationConfig, VanillaIntervention\n", ")\n", "\n", "config, tokenizer, gpt = create_gpt2()" @@ -102,19 +93,19 @@ "metadata": {}, "outputs": [], "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(gpt),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + "config = IntervenableConfig(\n", + " model_type=type(gpt),\n", + " representations=[\n", + " RepresentationConfig(\n", " 2,\n", " \"mlp_activation\",\n", " \"pos\",\n", " 1,\n", " ),\n", " ],\n", - " intervenable_interventions_type=VanillaIntervention,\n", + " intervention_types=VanillaIntervention,\n", ")\n", - "intervenable = IntervenableModel(intervenable_config, gpt)\n", + "intervenable = IntervenableModel(config, gpt)\n", "\n", "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", "sources = [\n", @@ -175,7 +166,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 10, "id": "a62cc234", "metadata": {}, "outputs": [], @@ -187,22 +178,22 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 11, "id": "1c2ae690", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "tensor([[[ 0.1292, -0.0520, 0.1511, ..., -0.1309, 0.0113, 0.0342],\n", - " [ 0.0603, -0.7758, 0.1832, ..., 0.2912, 0.2868, 0.2893],\n", - " [-0.5429, -0.3998, 0.0891, ..., -0.3754, 0.1311, 0.2489],\n", - " [ 0.2532, 0.1299, 0.0409, ..., -0.2040, -0.1513, 0.3049],\n", - " [ 0.1114, 0.1318, 0.4405, ..., 0.1814, 0.2783, 0.0206]]],\n", + "tensor([[[ 0.0438, 0.1204, 0.3694, ..., -0.2660, 0.0809, 0.0310],\n", + " [-0.0778, -0.0170, -0.2844, ..., 0.0151, 0.0190, 0.1998],\n", + " [ 0.1443, -0.5990, 0.2823, ..., -0.1331, -0.1422, 0.1267],\n", + " [-0.2162, -0.2819, 0.1670, ..., -0.1039, -0.1112, -0.0366],\n", + " [ 0.6421, -0.1228, -0.2224, ..., -0.0918, -0.0167, -0.0540]]],\n", " grad_fn=)" ] }, - "execution_count": 9, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -213,7 +204,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "id": "caa21d26", "metadata": {}, "outputs": [], @@ -231,29 +222,23 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 13, "id": "057e8dd3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "tensor([[-2.7394e-01, -9.8538e-03, 2.1004e-02, ..., -1.9908e-02,\n", - " -3.4756e-02, -8.5781e-02],\n", - " [-1.3462e-01, -1.8148e-03, -2.9549e-02, ..., -5.2381e-02,\n", - " -1.0547e-01, 1.9281e-01],\n", - " [ 1.4480e-01, 9.1471e-04, -1.4906e-02, ..., 2.0330e-02,\n", - " 3.9505e-02, -6.6796e-02],\n", + "tensor([[ 0.5090, -0.0050, -0.0039, ..., -0.0109, -0.0106, -0.1192],\n", + " [-0.2290, 0.0316, 0.0467, ..., -0.0318, -0.0221, 0.0374],\n", + " [-0.1379, -0.0110, -0.0248, ..., 0.0145, -0.0232, -0.1983],\n", " ...,\n", - " [ 2.4939e-01, -2.0916e-03, -3.0832e-03, ..., 2.0648e-02,\n", - " -1.5234e-02, -1.5796e-04],\n", - " [-5.5724e-02, -9.8790e-03, 5.5369e-02, ..., 1.8155e-02,\n", - " 2.2969e-02, -4.6784e-02],\n", - " [ 1.6450e-01, 1.9703e-02, -2.0497e-02, ..., 2.5583e-02,\n", - " -1.5143e-02, -2.4821e-01]])" + " [-0.3359, 0.0410, -0.0045, ..., 0.0035, -0.0556, -0.0470],\n", + " [-0.1536, 0.0064, -0.0127, ..., 0.0150, 0.0037, 0.1006],\n", + " [-0.5015, 0.0190, -0.0021, ..., 0.0194, 0.0125, 0.0355]])" ] }, - "execution_count": 18, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } diff --git a/tutorials/basic_tutorials/Intervention_Training.ipynb b/tutorials/basic_tutorials/Intervention_Training.ipynb index ca8c89ed..4dead304 100644 --- a/tutorials/basic_tutorials/Intervention_Training.ipynb +++ b/tutorials/basic_tutorials/Intervention_Training.ipynb @@ -67,10 +67,38 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 2, "id": "a5859137", "metadata": {}, "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ffff1b0633df473ab9d15a22bba0f29d", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "pytorch_model.bin: 0%| | 0.00/498M [00:00\n", " \n", " \n", - " 2024-01-11T01:27:09.582677\n", + " 2024-01-20T10:50:39.986017\n", " image/svg+xml\n", " \n", " \n", @@ -118,150 +146,150 @@ " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", + "\" clip-path=\"url(#p1488db3fe2)\" style=\"fill: none; stroke: #0000ff; stroke-opacity: 0.5; stroke-width: 2; stroke-linecap: round\"/>\n", " \n", " \n", " \n", - " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -342,7 +370,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -395,7 +423,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -420,7 +448,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -455,7 +483,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -498,7 +526,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -528,7 +556,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -552,7 +580,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -578,7 +606,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -619,7 +647,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -666,7 +694,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -726,7 +754,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -768,7 +796,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -795,7 +823,7 @@ "from pyvene import (\n", " IntervenableModel,\n", " LowRankRotatedSpaceIntervention,\n", - " IntervenableRepresentationConfig,\n", + " RepresentationConfig,\n", " IntervenableConfig,\n", ")\n", "from pyvene import create_gpt2_lm\n", @@ -850,7 +878,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 3, "id": "05f0f35b", "metadata": {}, "outputs": [ @@ -859,17 +887,17 @@ "output_type": "stream", "text": [ "Model input looks like this (10-shot ICL):\n", - "ile,Availability,ile,Flight,ile=False\n", - "embedreportprint,fre,Syrian,alore,Iran=False\n", - "illed,ieft,ill,Spain,ill=True\n", - "StreamerBot,prus,Mis,Thursday,Mis=True\n", - "Instance,DER,Instance,senal,Instance=False\n", - "Glass,embedreportprint,ILE,Represent,ILE=True\n", - "iture,inarily,itures,digit,itures=True\n", - "formerly,Rum,cing,reportprint,formerly=True\n", - "enstein,iffin,enstein,Management,enstein=False\n", - "ActionCode,ition,quickShip,EMOTE,Decre=False\n", - "InstoreAndOnline,oteric,anooga,oras,anooga\n", + "reportprint,itches,reenshots,Jean,reenshots=True\n", + "dated,net,dated,Kate,dated=False\n", + "Inst,Amid,Billy,While,Billy=True\n", + "mas,quickShip,mas,imei,mas=True\n", + "Excellent,embedreportprint,Ret,Theme,Excellent=True\n", + "engers,Rick,engers,Jerry,engers=True\n", + "debian,OSED,international,quickShip,international=True\n", + "Led,orous,Lead,Cash,Lead=True\n", + "mission,embedreportprint,mission,mbudsman,mission=True\n", + "ABC,store,BBC,ixty,CBC=False\n", + "ilitation,Brow,ilitation,ICLE,ilitation\n", "\n", "Training data for the intervention should contain these fields:\n", "dict_keys(['input_ids', 'attention_mask', 'source_input_ids', 'source_attention_mask', 'labels', 'source_0->base.0.pos', 'source_0->base.1.pos', 'subspaces'])\n" @@ -950,35 +978,35 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 4, "id": "55c5687a", "metadata": {}, "outputs": [], "source": [ "def single_d_low_rank_das_position_config(\n", - " model_type, intervention_type, layer, intervenable_interventions_type\n", + " model_type, intervention_type, layer, intervention_types\n", "):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " layer, # layer\n", + " config = IntervenableConfig(\n", + " model_type=model_type,\n", + " representations=[\n", + " RepresentationConfig(\n", + " layer, # layer\n", " intervention_type, # intervention type\n", - " \"pos\", # intervention unit\n", - " 1, # max number of unit\n", - " intervenable_low_rank_dimension=1, # a single das direction\n", + " \"pos\", # intervention unit\n", + " 1, # max number of unit\n", + " low_rank_dimension=1, # a single das direction\n", " subspace_partition=[[0, 1]], # dummy partition\n", " ),\n", " ],\n", - " intervenable_interventions_type=intervenable_interventions_type,\n", + " intervention_types=intervention_types,\n", " )\n", - " return intervenable_config\n", + " return config\n", "\n", "\n", - "intervenable_config = single_d_low_rank_das_position_config(\n", + "config = single_d_low_rank_das_position_config(\n", " type(gpt2), \"block_output\", 11, LowRankRotatedSpaceIntervention\n", ")\n", - "intervenable = IntervenableModel(intervenable_config, gpt2)\n", + "intervenable = IntervenableModel(config, gpt2)\n", "intervenable.set_device(\"cuda\")\n", "intervenable.disable_model_gradients()" ] @@ -993,7 +1021,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 5, "id": "5cb7919d", "metadata": {}, "outputs": [], @@ -1046,7 +1074,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 6, "id": "b78405cb", "metadata": {}, "outputs": [ @@ -1054,7 +1082,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Epoch: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [01:42<00:00, 10.26s/it, loss=0.09, acc=0.97]\n" + "Epoch: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [01:34<00:00, 9.43s/it, loss=0.24, acc=0.91]\n" ] } ], diff --git a/tutorials/basic_tutorials/Load_Save_and_Share_Interventions.ipynb b/tutorials/basic_tutorials/Load_Save_and_Share_Interventions.ipynb deleted file mode 100644 index b724a88a..00000000 --- a/tutorials/basic_tutorials/Load_Save_and_Share_Interventions.ipynb +++ /dev/null @@ -1,498 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "77c811fb", - "metadata": {}, - "source": [ - "## Tutorial of Loading, Saving and Sharing Your Interventions" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "a5f437a5", - "metadata": {}, - "outputs": [], - "source": [ - "__author__ = \"Zhengxuan Wu\"\n", - "__version__ = \"01/09/2024\"" - ] - }, - { - "cell_type": "markdown", - "id": "8a9ad242", - "metadata": {}, - "source": [ - "### Overview\n", - "\n", - "With this library, you could end up with pretty complex intervention schemes to get meaningful counterfactual behaviors of large models. This library helps you to share your interventions with others, either saving them locally to your disk or directly sharing them through hub service such as Huggingface! If you share through Huggingface, we assume you are logged in." - ] - }, - { - "cell_type": "markdown", - "id": "fd09bf46", - "metadata": {}, - "source": [ - "### Set-up" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "85db984c", - "metadata": {}, - "outputs": [], - "source": [ - "# try:\n", - "# # This library is our indicator that the required installs\n", - "# # need to be done.\n", - "# import pyvene\n", - "\n", - "# except ModuleNotFoundError:\n", - "# !pip install git+https://github.com/frankaging/pyvene.git" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "b639455b", - "metadata": {}, - "outputs": [], - "source": [ - "import sys\n", - "sys.path.append(\"../..\")\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "34e47c62", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "loaded model\n" - ] - } - ], - "source": [ - "import torch\n", - "import pandas as pd\n", - "from pyvene import embed_to_distrib, top_vals, format_token\n", - "from pyvene import (\n", - " IntervenableModel,\n", - " IntervenableRepresentationConfig,\n", - " IntervenableConfig,\n", - " VanillaIntervention,\n", - " SubtractionIntervention,\n", - " LowRankRotatedSpaceIntervention,\n", - " TrainableIntervention,\n", - ")\n", - "from pyvene import create_gpt2\n", - "\n", - "%config InlineBackend.figure_formats = ['svg']\n", - "from plotnine import (\n", - " ggplot,\n", - " geom_tile,\n", - " aes,\n", - " facet_wrap,\n", - " theme,\n", - " element_text,\n", - " geom_bar,\n", - " geom_hline,\n", - " scale_y_log10,\n", - ")\n", - "\n", - "config, tokenizer, gpt = create_gpt2()" - ] - }, - { - "cell_type": "markdown", - "id": "23fcb751", - "metadata": {}, - "source": [ - "### Notebook Huggingface Login\n", - "For command-line programs, you need to explicitly login to huggingface hub using [cli](https://huggingface.co/docs/hub/models-adding-libraries) once to build the connection." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "62d35be5", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2f532abf49cd46a4851bf7edad6c1520", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "VBox(children=(HTML(value='
base\": ([[[3]], [[4]]], [[[3]], [[4]]])}\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "b1d5b186", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING:root:Saving trainable intervention to intkey_layer.0.repr.block_output.unit.pos.nunit.1#0.bin.\n", - "WARNING:root:Skipping creating the repo since either zhengxuanzenwu/intervention_sharing_test exists or having authentication error.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Directory './tutorial_data/tmp_dir/' already exists.\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3c7e8b19b333402e902ad1bef9737ada", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "intkey_layer.0.repr.block_output.unit.pos.nunit.1#0.bin: 0%| | 0.00/2.75M [00:00base\": ([[[3]], [[4]]], [[[3]], [[4]]])}\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "75e54d8a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "torch.equal(\n", - " counterfactual_outputs_unsaved.last_hidden_state,\n", - " counterfactual_outputs_loaded.last_hidden_state,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "521e37a5", - "metadata": {}, - "source": [ - "### Test with the case config has static source activations" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "21363fd0", - "metadata": {}, - "outputs": [], - "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(gpt),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"block_output\",\n", - " \"pos\",\n", - " 1,\n", - " source_representation=torch.rand(768)\n", - " ),\n", - " IntervenableRepresentationConfig(\n", - " 2,\n", - " \"block_output\",\n", - " \"pos\",\n", - " 1,\n", - " source_representation=torch.rand(768)\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=SubtractionIntervention,\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, gpt)\n", - "\n", - "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", - "sources = [tokenizer(\"The capital of Italy is\", return_tensors=\"pt\")]\n", - "\n", - "_, counterfactual_outputs_unsaved = intervenable(\n", - " base, unit_locations={\"base\": 3}\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "cb6a3ccb", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING:root:Saving trainable intervention to intkey_layer.0.repr.block_output.unit.pos.nunit.1#0.bin.\n", - "WARNING:root:Saving trainable intervention to intkey_layer.2.repr.block_output.unit.pos.nunit.1#0.bin.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Directory './tutorial_data/tmp_dir_new/' already exists.\n" - ] - } - ], - "source": [ - "# saving it locally as well as to the hub\n", - "intervenable.save(\n", - " save_directory=\"./tutorial_data/tmp_dir_new/\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "d3b33fae", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING:root:The key is provided in the config. Assuming this is loaded from a pretrained module.\n" - ] - } - ], - "source": [ - "intervenable_loaded = IntervenableModel.load(\n", - " load_directory=\"./tutorial_data/tmp_dir_new/\",\n", - " model=gpt,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "aee40a89", - "metadata": {}, - "outputs": [], - "source": [ - "_, counterfactual_outputs_loaded = intervenable_loaded(\n", - " base, unit_locations={\"base\": 3}\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "1d1e8a96", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "torch.equal(\n", - " counterfactual_outputs_unsaved.last_hidden_state,\n", - " counterfactual_outputs_loaded.last_hidden_state,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "eb8d4d64", - "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.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/basic_tutorials/Nested_Intervention.ipynb b/tutorials/basic_tutorials/Nested_Intervention.ipynb index 418ec7ff..f9fec521 100644 --- a/tutorials/basic_tutorials/Nested_Intervention.ipynb +++ b/tutorials/basic_tutorials/Nested_Intervention.ipynb @@ -55,25 +55,17 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "id": "aefcde00", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[2024-01-11 01:30:41,749] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)\n" - ] - } - ], + "outputs": [], "source": [ "import pandas as pd\n", "from pyvene import embed_to_distrib, top_vals, format_token\n", "from pyvene import (\n", " IntervenableModel,\n", " VanillaIntervention,\n", - " IntervenableRepresentationConfig,\n", + " RepresentationConfig,\n", " IntervenableConfig,\n", ")\n", "from pyvene import create_gpt2\n", @@ -102,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "4575c0bb", "metadata": {}, "outputs": [ @@ -171,25 +163,25 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "898907c2", "metadata": {}, "outputs": [], "source": [ "def position_in_head_config(model_type, intervention_type, layer):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + " config = IntervenableConfig(\n", + " model_type=model_type,\n", + " representations=[\n", + " RepresentationConfig(\n", " layer, # layer\n", " intervention_type, # intervention type\n", " \"h.pos\", # intervention unit is now [pos] within [h]\n", " 1, # max number of unit\n", " ),\n", " ],\n", - " intervenable_interventions_type=VanillaIntervention,\n", + " intervention_types=VanillaIntervention,\n", " )\n", - " return intervenable_config\n", + " return config\n", "\n", "\n", "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", @@ -198,7 +190,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "dcda628a", "metadata": {}, "outputs": [], @@ -210,10 +202,10 @@ "\n", "data = []\n", "for layer_i in range(gpt.config.n_layer):\n", - " intervenable_config = position_in_head_config(\n", + " config = position_in_head_config(\n", " type(gpt), \"head_attention_value_output\", layer_i\n", " )\n", - " intervenable = IntervenableModel(intervenable_config, gpt)\n", + " intervenable = IntervenableModel(config, gpt)\n", " for pos_i in range(len(base.input_ids[0])):\n", " _, counterfactual_outputs = intervenable(\n", " base,\n", @@ -239,10 +231,10 @@ " }\n", " )\n", "\n", - " intervenable_config = position_in_head_config(\n", + " config = position_in_head_config(\n", " type(gpt), \"head_value_output\", layer_i\n", " )\n", - " intervenable = IntervenableModel(intervenable_config, gpt)\n", + " intervenable = IntervenableModel(config, gpt)\n", " for pos_i in range(len(base.input_ids[0])):\n", " _, counterfactual_outputs = intervenable(\n", " base,\n", @@ -272,13 +264,13 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "fa7273a0", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAB7CAAAewgFu0HU+AAD900lEQVR4nOzdeXxU5b3H8e9MNjLJECAssieCbBJAQvQCSgKiVMSIBhcUBHG7erVCN2vtrdarrbXVamvVilZFRKwCYtEGaZGBUAmiEBSIQGyEgAgxYbKSZebcP9KMhMwkk2SWZPJ59zV9wZznPOd3xtaTfOdZTIZhGAIAAAAAAAAQkszBLgAAAAAAAACA/xAAAgAAAAAAACGMABAAAAAAAAAIYQSAAAAAAAAAQAgjAAQAAAAAAABCGAEgAAAAAAAAEMIIAAEAAAAAAIAQRgAIAAAAAAAAhDACQAAAAAAAACCEEQACAAAAAAAAIYwAEAAAAAAAAAhhBIAAAAAAAABACCMABAAAAAAAAEIYASAAAAAAAAAQwggAAQAAAAAAgBBGAAgAAAAAAACEMAJAAAAAAAAAIIQRAAIAAAAAAAAhjAAQAAAAAAAACGEEgAAAAAAAAEAIIwAEAAAAAAAAQhgBIAAAAAAAABDCCAABAAAAAACAEEYACAAAAAAAAIQwAkAAAAAAAAAghBEAAgAAAAAAACGMABAAAAAAAAAIYQSAAAAAAAAAQAgjAAQAAAAAAABCGAEgAAAAAAAAEMIIAAEAAAAAAIAQRgAIAAAAAAAAhDACQAAAAAAAACCEEQACAAAAAAAAIYwAEAAAAAAAAAhhBIAAAAAAAABACCMABAAAAAAAAEJYeLALQHDt378/2CUAABCShg0bFuwSAAAAAEkEgAAAAO0CX8oBAOAffCkHMAUYAAAAAAAACGkEgAAAAAAAAEAIIwAEAAAAAAAAQhgBIAAAAAAAABDCCAABAAAAAACAEEYACAAAAAAAAIQwAkAAAAAAAAAghBEAAkAIWrx4saZOnapXXnml1X1cf/31mjp1qjIzM1t87q5duzR16lRNnTq11dcHAAAAAPhGeLALAID27pVXXtGrr77q+vvvf/97jRs3zmP7U6dOac6cOSovL5ckjR07Vk899ZSfqwQAoHM783ldLzIyUt27d9ewYcN06aWX6sILLwxCdQAABBcBIAC00Pr165sMALds2eIK/zqyfv36KTIyUjExMcEuBQAAr5nNZsXFxbn+XlZWpm+++UbffPONtmzZoosvvlg/+9nPZDYzGQoA0HkQAAKAl3r27Kni4mJt3rxZ9957r7p06eK2Xf2U2T59+uibb74JZIk+9eSTTwa7BAAAWqxXr15auXKl6++GYejw4cN64YUXtHXrVv3zn//UmDFjlJ6eHsQqAQAILL72AgAvxcXF6fzzz1dFRYU2b97sts3x48e1a9cude3aVRdccEGAKwQAAGcymUwaNGiQHnzwQQ0aNEhS3Wh+AAA6E0YAAkALzJgxQx999JHWr1+vSy+9tNHxDz74QE6nUxdffHGTU4tOnTqlLVu2KDs7W//+97914sQJnTp1Sj169NCYMWM0Z84cDRs2rMlaNm3apNWrV+vgwYMym81KSEjQlVdeqUsuuaTJ8+o35vj973+v/v37a/ny5fr4449VWFioQYMG6cUXX5RUtwnIN998o/vuu0/f+973GvVTXFysV199VR999JGKi4vVvXt3nX/++brpppuavD4AAMEQERGh8847T4cOHVJ+fr7Hdtu2bdPf/vY37du3T6WlpbJarRo5cqSuvPJKnX/++W7PWbx4sXJycrRgwQLNmzdPf/3rX7VhwwZ9/fXXslqtOv/887Vo0SLFx8dLko4cOaLly5frk08+0cmTJ3XWWWfp8ssv1zXXXNPkzw9ffPGFVq9erZycHBUVFSkyMlKDBg3StGnTlJ6ersjIyDZ9RgCA0EUACAAtMHHiRFmtVu3atUvHjx9X7969GxyvH1EwY8YMbdiwwWM/mzZt0m9+8xtJdWsV1a+z980332jDhg3auHGjfvKTn7gNGSXpT3/6k95++21JdSMbYmJitG/fPu3Zs0cHDx706l4OHz6shx56SHa7XV26dFFYWJhX50nSoUOHtGTJEhUVFUmSoqKiVFJSonXr1mnr1q265ZZbvO4LAIBAMQxDkuR0Ot0e+/3vf6+//e1vkuqezxaLRXa7Xf/617/0r3/9S7Nnz9b3v/99mUwmt/3X1tbqxz/+sXbt2uUK4woLC/X+++9r9+7deuaZZ3TkyBHdd999KisrU0xMjGpra3X48GE9//zzOnHihO6++263fb/66qt69dVXXfdgsVhUWVmpffv2ad++ffrggw/029/+tsH6hwAA1CMABIAWiIyM1NSp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VqqmpiZAlQEAOhICQABog8suu0x33nmnFi1a5PU5SUlJ6tKliwzD0MMPP6yvv/5aUt3GHxs2bND//u//ymq1ejz/5ptvliRt2rRJTz/9tGtjkNLSUj3//PP6+9//7goZ/WHq1Kk6++yz5XA4dP/992vHjh2utQpzcnJ03333KSIiwm/XBwCgtcxms6677jpJ0j//+U8VFBRIqvtSr3504Jo1a7R06VKVlpZKkkpKSvT8889r3bp1kqQFCxYoKioqYDV37dpVd9xxhyRp7dq1+r//+78GX8DV1tZq//79+stf/qIbb7zR4wYlAIDOjU1AACDAYmNjdeutt+qZZ57Rzp07dcMNNygmJkZVVVWqra3V0KFDddlll+mPf/yj2/OnTZumffv26e2339Y777yjd999VzExMSovL5fT6dS1116rL774oskpum0RHh6uBx98UEuWLNHx48f14x//2LWG4alTp9S9e3fdeeed+t3vfueX6wMA0BaXXnqpXnnlFRUWFuq1117T/fffL0maM2eODh8+rL/97W9asWKFVq5c2eD5KklXXnmlrrrqqoDXnJ6erlOnTunPf/6zNm7cqI0bNyoqKkpRUVEqKytz1QcAgCeMAASAIMjIyNDDDz+s0aNHq0uXLnI4HBo4cKAWLlyoZ555RhaLpcnz/+d//kcPPvigRo8eraioKDkcDo0cOVI/+9nPdOedd/q9/kGDBmnp0qVKT09Xr1695HA41LVrV82aNUt//vOf1b9/f7/XAABAa0REROjaa6+VJP3jH//QkSNHJEkmk0k/+MEP9Ktf/UoTJ05U165dVVFRoa5du2rSpEl67LHHtHjxYplMpqDUfe211+qVV17RVVddpcGDB8tsNqu8vFxxcXEaM2aM5s+frxdffFG9evUKSn0AgPbNZNTP20KntH///mCXAABASGrpJgE8kwEA8I9AbtwDtFeMAAQAAAAAAABCGAEgAAAAAAAAEMIIAAEAAAAAAIAQxi7AADqNzz//XL/4xS9adM7dd9+tadOm+akiAABwJp7XAAD4HgEggE6jtrZWxcXFLTqnurraT9UAAAB3eF4DAOB77ALcybHjIAAA/sEuwAAAtA/sAgywBiAAAAAAAAAQ0ggAAQAAAAAAgBBGAAgAAAAAAACEMAJAAAAAAAAAIIQRAAIAAAAAAAAhjAAQAAAAAAAACGEE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Qo7ZqA52CX5TU10b7BIAAPBaTTW/S9Zbt26dLBaLMjMzlZaW1uDYj370I82cOVMfffSR/v3vf+u+++7T888/77afY8eO6dixY3rsscd03333uW3jdDp14403usK/W2+9Vc8991yDQO7OO+/USy+9pNtuu02GYej73/++Lr74YrfTiOutXr1avXv31j//+U+NHj3a9f6NN96oH/zgB5o2bZoOHDig7Oxs/e53v9NPf/pTLz8dtAZrAMIPjGAXAAAhySFDDjl5+fgV2k8tAmMAQMdh4rnVwGOPPdYo/JOkbt266a233lJsbKwk6ZVXXtGJEyc89nPllVd6DP8k6b333nNNDx4zZoyef/55t6PxbrnlFt1xxx2S6qYiP/30083ew4svvtgg/Ks3YMAAvfnmmzKb62Kpp556StXVofulbHtAAAjfM0UGuwIAAFogItgF+E1EZFiwSwAAwGvhkUxSrNetWzfddtttHo/3799fN954o6S6ab5/+9vfPLb9/ve/3+S1Vq9e7frzD3/4Q4WFef754ac//alMJlOj89wZMWKErrjiCo/HzzvvPF1yySWSpG+++UZZWVlN9oe2IQAEAAAAAABoRy688EJ16dKlyTbTp093/Xn79u1u24SFhWnSpElN9pOdne3686WXXtpk28GDB2vEiBGSpEOHDunrr7/2qj5v2ni6B/gGASAAAAAAAEA7cs4557SozdGjR922iY+PbzZIrA/xrFarzjrrrGavO2zYsEbnNlefN2083QN8gwAQAAAAAACgHYmJiWlRm9LSUrdtoqOjm+2n/lxvrinJtfZgU9f1tj9v7gG+wQT7diw/P1/r1q3T559/rsLCQhmGobi4OA0fPlwzZszQuHHjgl0iAAAAAADwsfodeb1tY7VaW30tq9WqkydPenVNSSorK/PquoG8BzSPALCdWr9+vZ5//nk5HA5JUkREhMLCwlRYWKjCwkJt3bpVM2fO1H//938HuVIAAAAAAOBLBw8ebFGbfv36tfpaffv21cmTJ1VaWqpvvvlGffr0abL9/v37vbpuIO8BzWMKcDtUUFDgCv+SkpL09NNP6+2339Zf//pXLV261LUN+Pvvv69//etfwS0WAAAAAAD41JYtW1RVVdVkm3/84x+uP19wwQWtvtbp537wwQdNtj106JByc3MlSYMGDWpyzcANGzY0e21f3QOa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U1M1aNAg7d+/3/eAj8ZQsCWXX365ioqKtGzZMr300kt6+eWXFR8fL4/H45tZ+e1vf1vf+ta3glE+AAAAAAAIIKueAtyy1mbbtbSPdC7SWDIDcNasWZKk7du36+9//3u7jvnhD3/ou/fNd77zHSvKCrmT7/eXkpKiESNGtNp+zpw5+s1vfqPLLrtMSUlJqqmpUWJioi699FI98MAD+t73vmd1yQAAAAAAwBJGYDeztU0d3Pz0E+iaETSWzACcNm2aLrvsMm3evFk/+MEP9PXXX+uOO+5ose327dt13333yel0yjAMTZkyRZdccokVZYVcTk6OcnJyOnTMBRdcoAsuuMCiigAAAAAAQCiYCvQMwCAEasGbsogAsyQAlKQXX3xRl156qUpKSnTffffpwQcfbPK02oyMDBUXF+vQoUOSJNM0NXDgQD399NNWlQQAAAAAABAeGmfadSldrV40smQJsHTiQR55eXm67LLLZJqmjh07pqKiIhnGiT8sH374ob7++muZpinTNHXppZfq/fffD9/HcwMAAAAAAARIKJ+9ES4bgseyAFA6EQK+//77Wr16tW644QYlJyf7Aj/TNJWQkKBrr71WL730kj744AP179/fynIAAAAAAADCw+nci6/LbG1cH4LGsiXAJ7vuuut03XXXSZKqq6t19OhRJSQkKDExMRinBwAAAAAACCuflJfK7HJLgDsq0q+v6whKAHgyu90uu90e7NMCAAAAAACEjaFJ/fTB11+Eugx0E5YEgJ988omGDRtmRdcAAAAAAABdnqF/LZMFgsCSewCOHDlSkyZN0osvvqj6+norTgEAAAAAANB1ReLTMyLpWiKMJQGgaZpyuVyaM2eOzj77bP385z/Xvn37rDgVwpFZF+oKAADogMj9sLK+riHUJQAA0G7H646HuoSuI9SP7w1UmMcEyKCxJADMysryPem3tLRU//3f/61hw4Zp8uTJevnll3X8OH+pIxt/g4HuzJR03GxQg+llC+DmlVeGxGbBFtmfPEf0xQEAIozZ7cYti5/Aa9V3T4F+SjCCwpIA8N1331VBQYEWLlyo5ORkXxj47rvv6sYbb9SAAQP0y1/+Up9//rkVp0eoGTGhrgBAiBl8EBBwBv+z7n9GbKh/ey0TExv0570BANBpMbHd7GdJq2fjeU/aAtXP6fbF8t+QsSQAlKShQ4fqD3/4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yCOPdLjfqqoqTZ48WXl5eZKkHj16SJK2bdumbdu2afny5XrrrbcUHx/f5Ljnn39eubm5vl8bhqGkpCS53W5t3rxZmzdv1uOPP661a9dq5MiRrdbQt29fRUVFtbivsZ7TwQzALmDPnj1yOp0aOnSorr766lCXAwAAAAAATpNhhtGmb55KHMytI2prazV9+nQdOnRI559/vnbs2KGKigpVVFToN7/5jQzD0J///Gc99dRTHf69uP3225WXl6devXpp5cqVqq6uVnV1tVauXKlevXrpgw8+0IIFC5odV19fr549e2revHl666235PF4VF5ersrKSj3zzDPq27evioqKNG3aNNXU1LRaw5YtW1RSUtLiNm3atA5f06kIAC1SVlamGTNmaPr06SooKGi17cKFCzV9+nQ9++yzzfbV19fr0UcflWEYWrBggWw2fssAAAAAAOjygrX896QlvkYbW9MlwUGorQMWL16szz77THa7Xa+99pouvPBCSZLdbte9997rC+juu+++Vpfsnuqjjz7SCy+8IEl68skndf311/uW3l5//fX6v//7P0nSc889p127djU5dty4cfrss8/0t7/9TZMnT1bPnj0lSfHx8brlllv00ksvSZI+//xzLV++vGMXHGCkSRbp06ePRo8eLUlyuVx+2xUXF6uwsFCSlJ2d3Wz/ihUrdODAAU2bNk3nnnuuJbUCAAAAAIDgaiuMC9x20oy7NramM/Ssr60jlixZIkm66aabNHDgwGb77777bhmGoS+//FLvvvtuu/t9/vnnZZqm0tLSdMMNNzTbn5OTo7S0NJmmqaVLlzbZN2zYMJ155pl++544caJSU1MlnVhOHEoEgBZqDPQ2bdqkhoaGFtusX79ekjR48OBmf4CLi4u1fPlyJScna86cOVaWCgAAAAAAgi1oswDDdGunqqoqbdmyRZL0rW99q8U2AwcO1IgRIyRJb7/9drv7fueddyRJ11xzjQyj+U0QDcPw3Y6tI/026tu3ryTp+PHjHT42kAgALTRu3DjFxsbK7XZrx44dLbbZsGGDpOaz/0zT1GOPPab6+nrNnz9fdrvd4moBAAAAAEDQBCBAC/W9A4MVAO7Zs0fmv2YMnn/++X7bNe775z//2a5+TdPUnj172t1vY9v2Kisr8y0bbq1/Sfq3f/s39e7dW3FxcRowYIBycnL02muvdeh8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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAB7CAAAewgFu0HU+AAD900lEQVR4nOzdeXxU5b3H8e9MNjLJECAssieCbBJAQvQCSgKiVMSIBhcUBHG7erVCN2vtrdarrbXVamvVilZFRKwCYtEGaZGBUAmiEBSIQGyEgAgxYbKSZebcP9KMhMwkk2SWZPJ59zV9wZznPOd3xtaTfOdZTIZhGAIAAAAAAAAQkszBLgAAAAAAAACA/xAAAgAAAAAAACGMABAAAAAAAAAIYQSAAAAAAAAAQAgjAAQAAAAAAABCGAEgAAAAAAAAEMIIAAEAAAAAAIAQRgAIAAAAAAAAhDACQAAAAAAAACCEEQACAAAAAAAAIYwAEAAAAAAAAAhhBIAAAAAAAABACCMABAAAAAAAAEIYASAAAAAAAAAQwggAAQAAAAAAgBBGAAgAAAAAAACEMAJAAAAAAAAAIIQRAAIAAAAAAAAhjAAQAAAAAAAACGEEgAAAAAAAAEAIIwAEAAAAAAAAQhgBIAAAAAAAABDCCAABAAAAAACAEEYACAAAAAAAAIQwAkAAAAAAAAAghBEAAgAAAAAAACGMABAAAAAAAAAIYQSAAAAAAAAAQAgjAAQAAAAAAABCGAEgAAAAAAAAEMIIAAEAAAAAAIAQRgAIAAAAAAAAhDACQAAAAAAAACCEEQACAAAAAAAAIYwAEAAAAAAAAAhhBIAAAAAAAABACCMABAAAAAAAAEJYeLALQHDt378/2CUAABCShg0bFuwSAAAAAEkEgAAAAO0CX8oBAOAffCkHMAUYAAAAAAAACGkEgAAAAAAAAEAIIwAEAAAAAAAAQhgBIAAAAAAAABDCCAABAAAAAACAEEYACAAAAAAAAIQwAkAAAAAAAAAghBEAAkAIWrx4saZOnapXXnml1X1cf/31mjp1qjIzM1t87q5duzR16lRNnTq11dcHAAAAAPhGeLALAID27pVXXtGrr77q+vvvf/97jRs3zmP7U6dOac6cOSovL5ckjR07Vk899ZSfqwQAoHM783ldLzIyUt27d9ewYcN06aWX6sILLwxCdQAABBcBIAC00Pr165sMALds2eIK/zqyfv36KTIyUjExMcEuBQAAr5nNZsXFxbn+XlZWpm+++UbffPONtmzZoosvvlg/+9nPZDYzGQoA0HkQAAKAl3r27Kni4mJt3rxZ9957r7p06eK2Xf2U2T59+uibb74JZIk+9eSTTwa7BAAAWqxXr15auXKl6++GYejw4cN64YUXtHXrVv3zn//UmDFjlJ6eHsQqAQAILL72AgAvxcXF6fzzz1dFRYU2b97sts3x48e1a9cude3aVRdccEGAKwQAAGcymUwaNGiQHnzwQQ0aNEhS3Wh+AAA6E0YAAkALzJgxQx999JHWr1+vSy+9tNHxDz74QE6nUxdffHGTU4tOnTqlLVu2KDs7W//+97914sQJnTp1Sj169NCYMWM0Z84cDRs2rMlaNm3apNWrV+vgwYMym81KSEjQlVdeqUsuuaTJ8+o35vj973+v/v37a/ny5fr4449VWFioQYMG6cUXX5RUtwnIN998o/vuu0/f+973GvVTXFysV199VR999JGKi4vVvXt3nX/++brpppuavD4AAMEQERGh8847T4cOHVJ+fr7Hdtu2bdPf/vY37du3T6WlpbJarRo5cqSuvPJKnX/++W7PWbx4sXJycrRgwQLNmzdPf/3rX7VhwwZ9/fXXslqtOv/887Vo0SLFx8dLko4cOaLly5frk08+0cmTJ3XWWWfp8ssv1zXXXNPkzw9ffPGFVq9erZycHBUVFSkyMlKDBg3StGnTlJ6ersjIyDZ9RgCA0EUACAAtMHHiRFmtVu3atUvHjx9X7969GxyvH1EwY8YMbdiwwWM/mzZt0m9+8xtJdWsV1a+z980332jDhg3auHGjfvKTn7gNGSXpT3/6k95++21JdSMbYmJitG/fPu3Zs0cHDx706l4OHz6shx56SHa7XV26dFFYWJhX50nSoUOHtGTJEhUVFUmSoqKiVFJSonXr1mnr1q265ZZbvO4LAIBAMQxDkuR0Ot0e+/3vf6+//e1vkuqezxaLRXa7Xf/617/0r3/9S7Nnz9b3v/99mUwmt/3X1tbqxz/+sXbt2uUK4woLC/X+++9r9+7deuaZZ3TkyBHdd999KisrU0xMjGpra3X48GE9//zzOnHihO6++263fb/66qt69dVXXfdgsVhUWVmpffv2ad++ffrggw/029/+tsH6hwAA1CMABIAWiIyM1NSp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VqqmpiZAlQEAOhICQABog8suu0x33nmnFi1a5PU5SUlJ6tKliwzD0MMPP6yvv/5aUt3GHxs2bND//u//ymq1ejz/5ptvliRt2rRJTz/9tGtjkNLSUj3//PP6+9//7goZ/WHq1Kk6++yz5XA4dP/992vHjh2utQpzcnJ03333KSIiwm/XBwCgtcxms6677jpJ0j//+U8VFBRIqvtSr3504Jo1a7R06VKVlpZKkkpKSvT8889r3bp1kqQFCxYoKioqYDV37dpVd9xxhyRp7dq1+r//+78GX8DV1tZq//79+stf/qIbb7zR4wYlAIDOjU1AACDAYmNjdeutt+qZZ57Rzp07dcMNNygmJkZVVVWqra3V0KFDddlll+mPf/yj2/OnTZumffv26e2339Y777yjd999VzExMSovL5fT6dS1116rL774oskpum0RHh6uBx98UEuWLNHx48f14x//2LWG4alTp9S9e3fdeeed+t3vfueX6wMA0BaXXnqpXnnlFRUWFuq1117T/fffL0maM2eODh8+rL/97W9asWKFVq5c2eD5KklXXnmlrrrqqoDXnJ6erlOnTunPf/6zNm7cqI0bNyoqKkpRUVEqKytz1QcAgCeMAASAIMjIyNDDDz+s0aNHq0uXLnI4HBo4cKAWLlyoZ555RhaLpcnz/+d//kcPPvigRo8eraioKDkcDo0cOVI/+9nPdOedd/q9/kGDBmnp0qVKT09Xr1695HA41LVrV82aNUt//vOf1b9/f7/XAABAa0REROjaa6+VJP3jH//QkSNHJEkmk0k/+MEP9Ktf/UoTJ05U165dVVFRoa5du2rSpEl67LHHtHjxYplMpqDUfe211+qVV17RVVddpcGDB8tsNqu8vFxxcXEaM2aM5s+frxdffFG9evUKSn0AgPbNZNTP20KntH///mCXAABASGrpJgE8kwEA8I9AbtwDtFeMAAQAAAAAAABCGAEgAAAAAAAAEMIIAAEAAAAAAIAQxi7AADqNzz//XL/4xS9adM7dd9+tadOm+akiAABwJp7XAAD4HgEggE6jtrZWxcXFLTqnurraT9UAAAB3eF4DAOB77ALcybHjIAAA/sEuwAAAtA/sAgywBiAAAAAAAAAQ0ggAAQAAAAAAgBBGAAgAAAAAAACEMAJAAAAAAAAAIIQRAAIAAAAAAAAhjAAQAAAAAAAACGEE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Qo7ZqA52CX5TU10b7BIAAPBaTTW/S9Zbt26dLBaLMjMzlZaW1uDYj370I82cOVMfffSR/v3vf+u+++7T888/77afY8eO6dixY3rsscd03333uW3jdDp14403usK/W2+9Vc8991yDQO7OO+/USy+9pNtuu02GYej73/++Lr74YrfTiOutXr1avXv31j//+U+NHj3a9f6NN96oH/zgB5o2bZoOHDig7Oxs/e53v9NPf/pTLz8dtAZrAMIPjGAXAAAhySFDDjl5+fgV2k8tAmMAQMdh4rnVwGOPPdYo/JOkbt266a233lJsbKwk6ZVXXtGJEyc89nPllVd6DP8k6b333nNNDx4zZoyef/55t6PxbrnlFt1xxx2S6qYiP/30083ew4svvtgg/Ks3YMAAvfnmmzKb62Kpp556StXVofulbHtAAAjfM0UGuwIAAFogItgF+E1EZFiwSwAAwGvhkUxSrNetWzfddtttHo/3799fN954o6S6ab5/+9vfPLb9/ve/3+S1Vq9e7frzD3/4Q4WFef754ac//alMJlOj89wZMWKErrjiCo/HzzvvPF1yySWSpG+++UZZWVlN9oe2IQAEAAAAAABoRy688EJ16dKlyTbTp093/Xn79u1u24SFhWnSpElN9pOdne3686WXXtpk28GDB2vEiBGSpEOHDunrr7/2qj5v2ni6B/gGASAAAAAAAEA7cs4557SozdGjR922iY+PbzZIrA/xrFarzjrrrGavO2zYsEbnNlefN2083QN8gwAQAAAAAACgHYmJiWlRm9LSUrdtoqOjm+2n/lxvrinJtfZgU9f1tj9v7gG+wQT7diw/P1/r1q3T559/rsLCQhmGobi4OA0fPlwzZszQuHHjgl0iAAAAAADwsfodeb1tY7VaW30tq9WqkydPenVNSSorK/PquoG8BzSPALCdWr9+vZ5//nk5HA5JUkREhMLCwlRYWKjCwkJt3bpVM2fO1H//938HuVIAAAAAAOBLBw8ebFGbfv36tfpaffv21cmTJ1VaWqpvvvlGffr0abL9/v37vbpuIO8BzWMKcDtUUFDgCv+SkpL09NNP6+2339Zf//pXLV261LUN+Pvvv69//etfwS0WAAAAAAD41JYtW1RVVdVkm3/84x+uP19wwQWtvtbp537wwQdNtj106JByc3MlSYMGDWpyzcANGzY0e21f3QOa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U1M1aNAg7d+/3/eAj8ZQsCWXX365ioqKtGzZMr300kt6+eWXFR8fL4/H45tZ+e1vf1vf+ta3glE+AAAAAAAIIKueAtyy1mbbtbSPdC7SWDIDcNasWZKk7du36+9//3u7jvnhD3/ou/fNd77zHSvKCrmT7/eXkpKiESNGtNp+zpw5+s1vfqPLLrtMSUlJqqmpUWJioi699FI98MAD+t73vmd1yQAAAAAAwBJGYDeztU0d3Pz0E+iaETSWzACcNm2aLrvsMm3evFk/+MEP9PXXX+uOO+5ose327dt13333yel0yjAMTZkyRZdccokVZYVcTk6OcnJyOnTMBRdcoAsuuMCiigAAAAAAQCiYCvQMwCAEasGbsogAsyQAlKQXX3xRl156qUpKSnTffffpwQcfbPK02oyMDBUXF+vQoUOSJNM0NXDgQD399NNWlQQAAAAAABAeGmfadSldrV40smQJsHTiQR55eXm67LLLZJqmjh07pqKiIhnGiT8sH374ob7++muZpinTNHXppZfq/fffD9/HcwMAAAAAAARIKJ+9ES4bgseyAFA6EQK+//77Wr16tW644QYlJyf7Aj/TNJWQkKBrr71WL730kj744AP179/fynIAAAAAAADCw+nci6/LbG1cH4LGsiXAJ7vuuut03XXXSZKqq6t19OhRJSQkKDExMRinBwAAAAAACCuflJfK7HJLgDsq0q+v6whKAHgyu90uu90e7NMCAAAAAACEjaFJ/fTB11+Eugx0E5YEgJ988omGDRtmRdcAAAAAAABdnqF/LZMFgsCSewCOHDlSkyZN0osvvqj6+norTgEAAAAAANB1ReLTMyLpWiKMJQGgaZpyuVyaM2eOzj77bP385z/Xvn37rDgVwpFZF+oKAADogMj9sLK+riHUJQAA0G7H646HuoSuI9SP7w1UmMcEyKCxJADMysryPem3tLRU//3f/61hw4Zp8uTJevnll3X8OH+pIxt/g4HuzJR03GxQg+llC+DmlVeGxGbBFtmfPEf0xQEAIozZ7cYti5/Aa9V3T4F+SjCCwpIA8N1331VBQYEWLlyo5ORkXxj47rvv6sYbb9SAAQP0y1/+Up9//rkVp0eoGTGhrgBAiBl8EBBwBv+z7n9GbKh/ey0TExv0570BANBpMbHd7GdJq2fjeU/aAtXP6fbF8t+QsSQAlKShQ4fqD3/4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yCOPdLjfqqoqTZ48WXl5eZKkHj16SJK2bdumbdu2afny5XrrrbcUHx/f5Ljnn39eubm5vl8bhqGkpCS53W5t3rxZmzdv1uOPP661a9dq5MiRrdbQt29fRUVFtbivsZ7TwQzALmDPnj1yOp0aOnSorr766lCXAwAAAAAATpNhhtGmb55KHMytI2prazV9+nQdOnRI559/vnbs2KGKigpVVFToN7/5jQzD0J///Gc99dRTHf69uP3225WXl6devXpp5cqVqq6uVnV1tVauXKlevXrpgw8+0IIFC5odV19fr549e2revHl666235PF4VF5ersrKSj3zzDPq27evioqKNG3aNNXU1LRaw5YtW1RSUtLiNm3atA5f06kIAC1SVlamGTNmaPr06SooKGi17cKFCzV9+nQ9++yzzfbV19fr0UcflWEYWrBggWw2fssAAAAAAOjygrX896QlvkYbW9MlwUGorQMWL16szz77THa7Xa+99pouvPBCSZLdbte9997rC+juu+++Vpfsnuqjjz7SCy+8IEl68skndf311/uW3l5//fX6v//7P0nSc889p127djU5dty4cfrss8/0t7/9TZMnT1bPnj0lSfHx8brlllv00ksvSZI+//xzLV++vGMXHGCkSRbp06ePRo8eLUlyuVx+2xUXF6uwsFCSlJ2d3Wz/ihUrdODAAU2bNk3nnnuuJbUCAAAAAIDgaiuMC9x20oy7NramM/Ssr60jlixZIkm66aabNHDgwGb77777bhmGoS+//FLvvvtuu/t9/vnnZZqm0tLSdMMNNzTbn5OTo7S0NJmmqaVLlzbZN2zYMJ155pl++544caJSU1MlnVhOHEoEgBZqDPQ2bdqkhoaGFtusX79ekjR48OBmf4CLi4u1fPlyJScna86cOVaWCgAAAAAAgi1oswDDdGunqqoqbdmyRZL0rW99q8U2AwcO1IgRIyRJb7/9drv7fueddyRJ11xzjQyj+U0QDcPw3Y6tI/026tu3ryTp+PHjHT42kAgALTRu3DjFxsbK7XZrx44dLbbZsGGDpOaz/0zT1GOPPab6+nrNnz9fdrvd4moBAAAAAEDQBCBAC/W9A4MVAO7Zs0fmv2YMnn/++X7bNe775z//2a5+TdPUnj172t1vY9v2Kisr8y0bbq1/Sfq3f/s39e7dW3FxcRowYIBycnL02muvdeh8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\n", "text/plain": [ "
" ] diff --git a/tutorials/basic_tutorials/NonTransformer_GRU_Intervention.ipynb b/tutorials/basic_tutorials/NonTransformer_GRU_Intervention.ipynb deleted file mode 100644 index 31bc8304..00000000 --- a/tutorials/basic_tutorials/NonTransformer_GRU_Intervention.ipynb +++ /dev/null @@ -1,368 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "295aabd4", - "metadata": {}, - "source": [ - "## Tutorial of Interventions on Non-transformer Model: GRUs" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "9515488c", - "metadata": {}, - "outputs": [], - "source": [ - "__author__ = \"Zhengxuan Wu\"\n", - "__version__ = \"12/22/2023\"" - ] - }, - { - "cell_type": "markdown", - "id": "5e1769eb", - "metadata": {}, - "source": [ - "### Overview\n", - "\n", - "This tutorials show how to use this library on recurrent neural networks, such as GRUs. The set-ups are pretty much the same as standard transformer-based models." - ] - }, - { - "cell_type": "markdown", - "id": "11e6b0e9", - "metadata": {}, - "source": [ - "### Set-up" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "3276f4bb", - "metadata": {}, - "outputs": [], - "source": [ - "try:\n", - " # This library is our indicator that the required installs\n", - " # need to be done.\n", - " import pyvene\n", - "\n", - "except ModuleNotFoundError:\n", - " !pip install git+https://github.com/frankaging/pyvene.git" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "21e8a491", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "loaded model\n" - ] - } - ], - "source": [ - "import torch\n", - "import pandas as pd\n", - "from pyvene import embed_to_distrib, top_vals, format_token\n", - "from pyvene import (\n", - " IntervenableModel,\n", - " VanillaIntervention,\n", - " RotatedSpaceIntervention,\n", - " LowRankRotatedSpaceIntervention,\n", - " IntervenableRepresentationConfig,\n", - " IntervenableConfig,\n", - ")\n", - "from pyvene.models.gru.modelings_gru import GRUConfig\n", - "from pyvene import create_gru_classifier\n", - "\n", - "%config InlineBackend.figure_formats = ['svg']\n", - "from plotnine import (\n", - " ggplot,\n", - " geom_tile,\n", - " aes,\n", - " facet_wrap,\n", - " theme,\n", - " element_text,\n", - " geom_bar,\n", - " geom_hline,\n", - " scale_y_log10,\n", - ")\n", - "\n", - "config, tokenizer, gru = create_gru_classifier(GRUConfig(n_layer=1, h_dim=2))" - ] - }, - { - "cell_type": "markdown", - "id": "04cd47b0", - "metadata": {}, - "source": [ - "### Vanilla intervention on multiple time steps\n", - "Recurrent neural networks like GRUs contain stateful representations, where if we intervene on one state, the causal effects should ripple through later states. Intervening on future states may also block interventions on earlier states if interventions happen in the information bottleneck. " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "dcf760b5", - "metadata": {}, - "outputs": [], - "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(gru),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"cell_output\",\n", - " \"t\",\n", - " 1,\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=VanillaIntervention,\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, gru)\n", - "\n", - "base = {\"inputs_embeds\": torch.rand(10, 10, 2)}\n", - "source = {\"inputs_embeds\": torch.rand(10, 10, 2)}" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "36baa475", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "True\n" - ] - } - ], - "source": [ - "_, counterfactual_outputs_all = intervenable(\n", - " base,\n", - " [source],\n", - " {\n", - " \"sources->base\": ([[[0, 2, 4]] * 10], [[[0, 5, 7]] * 10])\n", - " }, # this suppose to intervene once, but it will be called 10 times.\n", - ")\n", - "\n", - "_, counterfactual_outputs_last = intervenable(\n", - " base,\n", - " [source],\n", - " {\n", - " \"sources->base\": ([[[4]] * 10], [[[7]] * 10])\n", - " }, # this suppose to intervene once, but it will be called 10 times.\n", - ")\n", - "\n", - "print(torch.equal(counterfactual_outputs_all[0], counterfactual_outputs_last[0]))" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "5f2ba4a8", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "True\n" - ] - } - ], - "source": [ - "_, counterfactual_outputs_all = intervenable(\n", - " base,\n", - " [source],\n", - " {\n", - " \"sources->base\": ([[[0, 2]] * 10], [[[0, 5]] * 10])\n", - " }, # this suppose to intervene once, but it will be called 10 times.\n", - ")\n", - "\n", - "_, counterfactual_outputs_last = intervenable(\n", - " base,\n", - " [source],\n", - " {\n", - " \"sources->base\": ([[[2]] * 10], [[[5]] * 10])\n", - " }, # this suppose to intervene once, but it will be called 10 times.\n", - ")\n", - "\n", - "print(torch.equal(counterfactual_outputs_all[0], counterfactual_outputs_last[0]))" - ] - }, - { - "cell_type": "markdown", - "id": "888504d8", - "metadata": {}, - "source": [ - "### Subspace DAS by intervening a single time step" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "27d75ce0", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "base tensor([[-0.0143, -0.0126]])\n", - "source tensor([[-0.0126, -0.0126]])\n" - ] - } - ], - "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(gru),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"cell_output\",\n", - " \"t\",\n", - " 1,\n", - " intervenable_low_rank_dimension=2,\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=LowRankRotatedSpaceIntervention,\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, gru)\n", - "base = {\"inputs_embeds\": torch.rand(1, 1, 2)}\n", - "source = {\"inputs_embeds\": torch.rand(1, 1, 2)}\n", - "print(\"base\", intervenable(base)[0][0])\n", - "print(\"source\", intervenable(source)[0][0])" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "6a0846a8", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "tensor([[-0.0126, -0.0126]], grad_fn=)\n" - ] - } - ], - "source": [ - "_, counterfactual_outputs = intervenable(\n", - " base, [source], {\"sources->base\": ([[[0]]], [[[0]]])}\n", - ")\n", - "print(counterfactual_outputs[0]) # this should be the same as the source output\n", - "counterfactual_outputs[\n", - " 0\n", - "].sum().backward() # fake call to make sure gradient can be populated" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "f91d5beb", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "base tensor([[0.0364, 0.0061]])\n", - "source tensor([[-0.0108, -0.0121]])\n" - ] - } - ], - "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(gru),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"cell_output\",\n", - " \"t\",\n", - " 1,\n", - " intervenable_low_rank_dimension=2,\n", - " subspace_partition=[[0, 1], [1, 2]], # partition into two sets of subspaces\n", - " intervention_link_key=0, # linked ones target the same subspace\n", - " ),\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"cell_output\",\n", - " \"t\",\n", - " 1,\n", - " intervenable_low_rank_dimension=2,\n", - " subspace_partition=[[0, 1], [1, 2]], # partition into two sets of subspaces\n", - " intervention_link_key=0, # linked ones target the same subspace\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=LowRankRotatedSpaceIntervention,\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, gru)\n", - "\n", - "base = {\"inputs_embeds\": torch.rand(1, 1, 2)}\n", - "source = {\"inputs_embeds\": torch.rand(1, 1, 2)}\n", - "print(\"base\", intervenable(base)[0][0])\n", - "print(\"source\", intervenable(source)[0][0])" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "979fe5d6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "tensor([[-0.0108, -0.0121]], grad_fn=)\n" - ] - } - ], - "source": [ - "_, counterfactual_outputs = intervenable(\n", - " base,\n", - " [source, source],\n", - " {\"sources->base\": ([[[0]], [[0]]], [[[0]], [[0]]])},\n", - " subspaces=[[[0]], [[1]]],\n", - ")\n", - "print(counterfactual_outputs[0]) # this should be the same as the source output\n", - "counterfactual_outputs[\n", - " 0\n", - "].sum().backward() # fake call to make sure gradient can be populated" - ] - } - ], - "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.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/basic_tutorials/NonTransformer_MLP_Intervention.ipynb b/tutorials/basic_tutorials/NonTransformer_MLP_Intervention.ipynb deleted file mode 100644 index fb444dfa..00000000 --- a/tutorials/basic_tutorials/NonTransformer_MLP_Intervention.ipynb +++ /dev/null @@ -1,324 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "c804055e", - "metadata": {}, - "source": [ - "## Tutorial of Interventions on Non-transformer Model: MLPs" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "40937a8c", - "metadata": {}, - "outputs": [], - "source": [ - "__author__ = \"Zhengxuan Wu\"\n", - "__version__ = \"12/20/2023\"" - ] - }, - { - "cell_type": "markdown", - "id": "065c84f3", - "metadata": {}, - "source": [ - "### Overview\n", - "\n", - "This tutorials show how to use this library on non-transformer models, such as MLPs. The set-ups are pretty much the same as standard transformer-based models." - ] - }, - { - "cell_type": "markdown", - "id": "2faf23b7", - "metadata": {}, - "source": [ - "### Set-up" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "1c80bc5f", - "metadata": {}, - "outputs": [], - "source": [ - "try:\n", - " # This library is our indicator that the required installs\n", - " # need to be done.\n", - " import pyvene\n", - "\n", - "except ModuleNotFoundError:\n", - " !pip install git+https://github.com/frankaging/pyvene.git" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c4ef0762", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "loaded model\n" - ] - } - ], - "source": [ - "import torch\n", - "import pandas as pd\n", - "from pyvene import embed_to_distrib, top_vals, format_token\n", - "from pyvene import (\n", - " IntervenableModel,\n", - " VanillaIntervention,\n", - " RotatedSpaceIntervention,\n", - " LowRankRotatedSpaceIntervention,\n", - " IntervenableRepresentationConfig,\n", - " IntervenableConfig,\n", - ")\n", - "from pyvene.models.mlp.modelings_mlp import MLPConfig\n", - "from pyvene import create_mlp_classifier\n", - "\n", - "%config InlineBackend.figure_formats = ['svg']\n", - "from plotnine import (\n", - " ggplot,\n", - " geom_tile,\n", - " aes,\n", - " facet_wrap,\n", - " theme,\n", - " element_text,\n", - " geom_bar,\n", - " geom_hline,\n", - " scale_y_log10,\n", - ")\n", - "\n", - "config, tokenizer, mlp = create_mlp_classifier(MLPConfig(h_dim=32, n_layer=1, num_classes=5))" - ] - }, - { - "cell_type": "markdown", - "id": "10a4aaa0", - "metadata": {}, - "source": [ - "### Intervene in middle layer by partitioning representations into subspaces\n", - "\n", - "MLP layer may contain only a single \"token\" representation each layer. As a result, we often want to intervene on a subspace of this \"token\" representation to localize a concept." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "d4c1f678", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "base ((tensor([[ 0.1161, 0.3125, -0.0301, -0.0866, -0.2650]]),), None)\n", - "source ((tensor([[-0.0336, 0.2797, -0.1006, -0.1071, -0.1748]]),), None)\n" - ] - } - ], - "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(mlp),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"block_output\",\n", - " \"pos\", # mlp layer creates a single token reprs\n", - " 1,\n", - " subspace_partition=[\n", - " [0, 16],\n", - " [16, 32],\n", - " ], # partition into two sets of subspaces\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=RotatedSpaceIntervention,\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, mlp)\n", - "\n", - "base = {\"inputs_embeds\": torch.rand(1, 1, 32)}\n", - "source = {\"inputs_embeds\": torch.rand(1, 1, 32)}\n", - "print(\"base\", intervenable(base))\n", - "print(\"source\", intervenable(source))" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "7f546a27", - "metadata": {}, - "outputs": [], - "source": [ - "_, counterfactual_outputs = intervenable(\n", - " base, [source], {\"sources->base\": ([[[0]]], [[[0]]])}, subspaces=[[[1, 0]]]\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "6f7073d1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(tensor([[-0.0336, 0.2797, -0.1006, -0.1071, -0.1748]],\n", - " grad_fn=),)" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "counterfactual_outputs # this should be the same as source." - ] - }, - { - "cell_type": "markdown", - "id": "82600bd7", - "metadata": {}, - "source": [ - "### Intervene the subspace with multiple sources" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "830f00d7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "base ((tensor([[ 0.0451, 0.2397, -0.0225, -0.1322, -0.1702],\n", - " [-0.1273, 0.1582, -0.1209, 0.0013, -0.0770],\n", - " [ 0.0576, 0.1957, -0.0486, -0.1787, -0.1354],\n", - " [-0.0354, 0.1983, -0.0879, -0.0428, -0.1376],\n", - " [ 0.0157, 0.2301, 0.1082, -0.0964, -0.1618],\n", - " [ 0.0272, 0.1491, -0.0361, -0.0419, -0.1055],\n", - " [ 0.0647, 0.1679, -0.0025, -0.1478, -0.1277],\n", - " [ 0.0646, 0.1757, 0.0718, -0.0831, -0.2018],\n", - " [-0.0333, 0.1445, -0.0088, -0.0406, -0.1593],\n", - " [-0.0250, 0.1420, -0.0297, -0.0605, -0.0992]]),), None)\n", - "source ((tensor([[ 0.0345, 0.2049, 0.0838, -0.0803, -0.1454],\n", - " [-0.0685, 0.0413, 0.0412, -0.0442, -0.1103],\n", - " [ 0.0321, 0.1516, 0.0290, -0.1087, -0.1988],\n", - " [ 0.0186, 0.2466, -0.0577, -0.0954, -0.1735],\n", - " [-0.0058, 0.2023, -0.0193, 0.0034, -0.1716],\n", - " [-0.0757, 0.1766, 0.0303, -0.1014, -0.2228],\n", - " [ 0.0605, 0.2042, -0.0676, -0.1082, -0.2676],\n", - " [ 0.0101, 0.2911, -0.0020, 0.0106, -0.2927],\n", - " [ 0.0720, 0.2538, -0.0988, -0.0858, -0.1759],\n", - " [ 0.0441, 0.2026, 0.0353, 0.0047, -0.1161]]),), None)\n" - ] - } - ], - "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=type(mlp),\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"block_output\",\n", - " \"pos\", # mlp layer creates a single token reprs\n", - " 1,\n", - " intervenable_low_rank_dimension=32,\n", - " subspace_partition=[\n", - " [0, 16],\n", - " [16, 32],\n", - " ], # partition into two sets of subspaces\n", - " intervention_link_key=0, # linked ones target the same subspace\n", - " ),\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"block_output\",\n", - " \"pos\", # mlp layer creates a single token reprs\n", - " 1,\n", - " intervenable_low_rank_dimension=32,\n", - " subspace_partition=[\n", - " [0, 16],\n", - " [16, 32],\n", - " ], # partition into two sets of subspaces\n", - " intervention_link_key=0, # linked ones target the same subspace\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=LowRankRotatedSpaceIntervention,\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, mlp)\n", - "\n", - "base = {\"inputs_embeds\": torch.rand(10, 1, 32)}\n", - "source = {\"inputs_embeds\": torch.rand(10, 1, 32)}\n", - "print(\"base\", intervenable(base))\n", - "print(\"source\", intervenable(source))" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "045d74f5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(tensor([[ 0.0345, 0.2049, 0.0838, -0.0803, -0.1454],\n", - " [-0.0685, 0.0413, 0.0412, -0.0442, -0.1103],\n", - " [ 0.0321, 0.1516, 0.0290, -0.1087, -0.1988],\n", - " [ 0.0186, 0.2466, -0.0577, -0.0954, -0.1735],\n", - " [-0.0058, 0.2023, -0.0193, 0.0034, -0.1716],\n", - " [-0.0757, 0.1766, 0.0303, -0.1014, -0.2228],\n", - " [ 0.0605, 0.2042, -0.0676, -0.1082, -0.2676],\n", - " [ 0.0101, 0.2911, -0.0020, 0.0106, -0.2927],\n", - " [ 0.0720, 0.2538, -0.0988, -0.0858, -0.1759],\n", - " [ 0.0441, 0.2026, 0.0353, 0.0047, -0.1161]],\n", - " grad_fn=),)\n" - ] - } - ], - "source": [ - "_, counterfactual_outputs = intervenable(\n", - " base,\n", - " [source, source],\n", - " {\"sources->base\": ([[[0]] * 10, [[0]] * 10], [[[0]] * 10, [[0]] * 10])},\n", - " subspaces=[[[1]] * 10, [[0]] * 10],\n", - ")\n", - "print(counterfactual_outputs) # this should be the same as the source output\n", - "counterfactual_outputs[\n", - " 0\n", - "].sum().backward() # fake call to make sure gradient can be populated" - ] - } - ], - "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.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/basic_tutorials/Probing.ipynb b/tutorials/basic_tutorials/Probing.ipynb deleted file mode 100644 index 4cca8b51..00000000 --- a/tutorials/basic_tutorials/Probing.ipynb +++ /dev/null @@ -1,259 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "43b4e052", - "metadata": {}, - "source": [ - "## Tutorial of Probing with Activation Collection Intervention" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "d7757739", - "metadata": {}, - "outputs": [], - "source": [ - "__author__ = \"Zhengxuan Wu\"\n", - "__version__ = \"01/11/2024\"" - ] - }, - { - "cell_type": "markdown", - "id": "dc195b1d", - "metadata": {}, - "source": [ - "### Overview\n", - "\n", - "This library also supports running probing experiments. Basically, we can add no-op interventions by collecting representations as requested. This activation collect can also take all the existing functionalities of a regular intervention (e.g., subspace, collect after rotation, etc..)." - ] - }, - { - "cell_type": "markdown", - "id": "f60f0581", - "metadata": {}, - "source": [ - "### Set-up" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "c05eb797", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[2024-01-11 18:06:47,744] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)\n" - ] - } - ], - "source": [ - "try:\n", - " # This library is our indicator that the required installs\n", - " # need to be done.\n", - " import pyvene\n", - "\n", - "except ModuleNotFoundError:\n", - " !pip install git+https://github.com/frankaging/pyvene.git" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "dcb19c06", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "loaded model\n" - ] - } - ], - "source": [ - "import pandas as pd\n", - "from pyvene import (\n", - " embed_to_distrib,\n", - " top_vals,\n", - " format_token,\n", - " count_parameters,\n", - " create_gpt2\n", - ")\n", - "from pyvene import (\n", - " IntervenableModel,\n", - " IntervenableRepresentationConfig,\n", - " IntervenableConfig,\n", - " VanillaIntervention,\n", - " LowRankRotatedSpaceIntervention,\n", - " Intervention,\n", - " CollectIntervention,\n", - ")\n", - "\n", - "config, tokenizer, gpt = create_gpt2()" - ] - }, - { - "cell_type": "markdown", - "id": "b2e59280", - "metadata": {}, - "source": [ - "### Source-less Activation Collection for Base Example" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "12a7386a", - "metadata": {}, - "outputs": [], - "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"block_output\",\n", - " \"pos\",\n", - " 1,\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=CollectIntervention,\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, gpt)\n", - "\n", - "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", - "sources = [\n", - " tokenizer(\"The capital of Italy is\", return_tensors=\"pt\"),\n", - " tokenizer(\"The capital of Italy is\", return_tensors=\"pt\"),\n", - "]" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "ed452cba", - "metadata": {}, - "outputs": [], - "source": [ - "base_output_with_collected_activations, _ = intervenable(\n", - " base, \n", - " sources=[None],\n", - " unit_locations={\"sources->base\": (None, [[[4]]])} # collect from the 4-th token at layer 0 at block_output\n", - ")\n", - "activations = base_output_with_collected_activations[-1][0]" - ] - }, - { - "cell_type": "markdown", - "id": "13298fc6", - "metadata": {}, - "source": [ - "The activations above come with gradients so you can directly pass it to a classifier, or store it." - ] - }, - { - "cell_type": "markdown", - "id": "fe383b4d", - "metadata": {}, - "source": [ - "### Intervene and then Probe" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "8ebdaa15", - "metadata": {}, - "outputs": [], - "source": [ - "intervenable_config = IntervenableConfig(\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", - " 0,\n", - " \"block_output\",\n", - " \"pos\",\n", - " 1,\n", - " ),\n", - " IntervenableRepresentationConfig(\n", - " 2,\n", - " \"block_output\",\n", - " \"pos\",\n", - " 1,\n", - " ),\n", - " ],\n", - " intervenable_interventions_type=[\n", - " VanillaIntervention, # intervene on layer 0\n", - " CollectIntervention # then collect the intervened representation at layer 1\n", - " ],\n", - ")\n", - "intervenable = IntervenableModel(intervenable_config, gpt)\n", - "\n", - "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", - "sources = [\n", - " tokenizer(\"The capital of Italy is\", return_tensors=\"pt\"), None\n", - "]" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "6cdd6308", - "metadata": {}, - "outputs": [], - "source": [ - "base_output_with_collected_activations, _ = intervenable(\n", - " base, \n", - " sources=sources,\n", - " unit_locations={\"sources->base\": ([[[4]], None], [[[4]], [[4]]])}\n", - ")\n", - "intervened_activations = base_output_with_collected_activations[-1][0]" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "0a75dcfd", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "tensor(10.7332)" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(activations - intervened_activations).sum()" - ] - } - ], - "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.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/basic_tutorials/Subspace_Partition_with_Intervention.ipynb b/tutorials/basic_tutorials/Subspace_Partition_with_Intervention.ipynb index 580797a6..91046566 100644 --- a/tutorials/basic_tutorials/Subspace_Partition_with_Intervention.ipynb +++ b/tutorials/basic_tutorials/Subspace_Partition_with_Intervention.ipynb @@ -59,7 +59,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "fcfde6a4", "metadata": {}, "outputs": [ @@ -67,7 +67,6 @@ "name": "stdout", "output_type": "stream", "text": [ - "[2024-01-11 01:34:14,931] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)\n", "loaded model\n" ] } @@ -78,7 +77,7 @@ "from pyvene import (\n", " IntervenableModel,\n", " RotatedSpaceIntervention,\n", - " IntervenableRepresentationConfig,\n", + " RepresentationConfig,\n", " IntervenableConfig,\n", ")\n", "from pyvene import create_gpt2\n", @@ -112,7 +111,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "5906aebd", "metadata": {}, "outputs": [], @@ -120,20 +119,20 @@ "def simple_subspace_position_config(\n", " model_type, intervention_type, layer, subspace_partition=[[0, 384], [384, 768]]\n", "):\n", - " intervenable_config = IntervenableConfig(\n", - " intervenable_model_type=model_type,\n", - " intervenable_representations=[\n", - " IntervenableRepresentationConfig(\n", + " config = IntervenableConfig(\n", + " model_type=model_type,\n", + " representations=[\n", + " RepresentationConfig(\n", " layer, # layer\n", " intervention_type, # repr intervention type\n", " \"pos\", # intervention unit\n", - " 1, # max number of unit\n", - " subspace_partition=subspace_partition, # subspace parition with dimension indices\n", + " 1, # max number of unit\n", + " subspace_partition=subspace_partition,\n", " )\n", " ],\n", - " intervenable_interventions_type=RotatedSpaceIntervention,\n", + " intervention_types=RotatedSpaceIntervention,\n", " )\n", - " return intervenable_config\n", + " return config\n", "\n", "\n", "base = tokenizer(\"The capital of Spain is\", return_tensors=\"pt\")\n", @@ -153,7 +152,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "2058f96f", "metadata": {}, "outputs": [], @@ -163,10 +162,10 @@ "\n", "data = []\n", "for layer_i in range(gpt.config.n_layer):\n", - " intervenable_config = simple_subspace_position_config(\n", + " config = simple_subspace_position_config(\n", " type(gpt), \"mlp_output\", layer_i\n", " )\n", - " intervenable = IntervenableModel(intervenable_config, gpt)\n", + " intervenable = IntervenableModel(config, gpt)\n", " for k, v in intervenable.interventions.items():\n", " v[0].set_interchange_dim(768)\n", " for pos_i in range(len(base.input_ids[0])):\n", @@ -190,10 +189,10 @@ " }\n", " )\n", "\n", - " intervenable_config = simple_subspace_position_config(\n", + " config = simple_subspace_position_config(\n", " type(gpt), \"attention_input\", layer_i\n", " )\n", - " intervenable = IntervenableModel(intervenable_config, gpt)\n", + " intervenable = IntervenableModel(config, gpt)\n", " for k, v in intervenable.interventions.items():\n", " v[0].set_interchange_dim(768)\n", " for pos_i in range(len(base.input_ids[0])):\n", @@ -221,13 +220,13 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "f39d0bd5", "metadata": {}, "outputs": [ { "data": { - "image/png": "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6COlp6d7t23btk3Z2dnq2rWrevfuXWsA2LJlS11//fX66U9/qpSUFMXExMg0TWVnZ+vNN9/U8uXL9fTTT2vgwIHq0KFDlWNXrlzpDf/S0tJ08803q3Xr1jp27JgyMjI0f/58vxbueP7553X66afr8ccfV79+/SRVjCqoS3l5uf70pz8pLy9P7dq10+9//3ude+65MgxDW7Zs0V//+lc9//zzdbYDAEBTUVZWps2bN0uqWCTrVO+88443/Lvhhht0ww03KD4+XseOHdNbb72l+fPn67333lNycrKuueaaGs+xaNEixcTEaNq0aTrvvPNkmqbWrVunP//5z8rOztZrr72m9evXq3///vrNb36jjh07qqioSC+++KIWL16sBQsW6Morr1TXrl2rtTtnzhwlJCTopptuUmpqqhISErzX9Oyzz+rbb7/V9OnT9ec//znI7xwAoCngHoAAUINRo0ZJqpjue7LKxT8qt9fmoosu0q9//WudddZZ3k/5DcNQ586d9Yc//EHnnnuuTpw44W2zkmmaeu211yRJl1xyiX73u9+pdevWkqSEhAT93//9n0aPHu3XKsR2u11PPvmkN/yTpE6dOtV53KpVq7Rv3z7ZbDZNmzZNP/nJT7yjGc4++2xNnz5dJ06cqLMdAADCnWmayszM1KOPPqqsrCxJqjY6v7S0VG+++aYkady4cfrVr36l+Ph4SRV98+23364xY8ZIkt544w25XK4az1VYWKipU6fqggsukM1mk91u10UXXaTrrrtO0v8Cwscee8wbQjqdTk2ZMkWdOnWSaZr6+OOPq7RZVFSkl156SVFRUZo+fbrGjRunhIQESRXTmocMGaLp06crNjZW69ev1zfffBOMtw0A0MQQAAJADc466yx16dJFWVlZ2rZtmyTJ5XJp9erVstlsPqft+sswDO8CIpXtV9q7d6+ys7MlSRMnTqzx+JNHJdZm5MiRatOmTcD1Vf5xcf755yslJaXa9i5dumjYsGEBtwsAQKgdPnxYV199tfcxatQoTZo0SZ9++qmkiluBjBs3rsoxX375pQoLC2Wz2Xz2wTfeeKNsNpuOHTumL7/8ssZ9+vbtq7PPPrva64MHD/Y+v/baa6vdssNms3mP27dvX5VtH3/8sYqKijRgwACdeeaZNZ63U6dO3m2+agMARDamAAOAD6NGjdJLL72kf//73+rX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AEQwAkAAAAAAAAAgghEAAgAAAAAAABGMABAAAAAAAACIYASAAAAAAAAATdjq1au9K+g+8sgjkqTdu3frzjvvVO/eveV0OpWYmKjzzz9fzzzzjFwul8+2unXrJsMw1K1bN0mSy+XS7NmzNWzYMJ1++umy2+3ebScrKSnRc889p8suu0ynn366YmJi1LZtW/3kJz/RQw89pAMHDgR8XV9++aVuueUW9ezZU3FxcUpKStLw4cP1yiuvyOPxBNxec8YqwAAAAAAAABHk7bff1i233KLi4mLva8XFxdqwYYM2bNigF198UcuWLVPXrl1rbWf//v268sortW3btlr3++KLL3TNNdcoKyuryut5eXnKy8vTl19+qWeeeUbPPvusbrnlFr+uYebMmfp//+//ye12e18rLS3V6tWrtXr1ar366qtaunSpEhMT/WqvuSMABAAAAAAAiBAbN27U9OnTVVZWpgkTJig1NVVxcXHavn27Xn31VR08eFC7du3S8OHDtXnzZrVq1arGdlwul66++mpt27ZN559/vsaPH6/k5GTl5eVp+/bt3v2++uorDR8+XEVFRZKks846S7/4xS/UvXt35eXl6b333tNHH32k4uJiTZ48WaZpavLkybVew5IlS7Rw4ULFxMRo8uTJuvDCC2W327Vx40a9+uqrKigo0Geffaaf/exn+vTTTxUVRbxVF94h+OQxy0JdAoAwZ5db8fYSmTJCXUpEcthKFWPws9hq7gjv78pOlIe6BABNgGl6ZNCfW8dkqqLV6O/+Z+nSpXI4HFq2bJmGDRtWZdv/+3//T5dffrnWrVun7777Tvfdd59eeOGFGtv58ccf9eOPP2r69Om67777atzH4/Fo4sSJ3vDvl7/8pZ5//vkqgdztt9+uV155RbfeeqtM09Rvf/tbpaam1jiNuNKCBQvUvn17rVixQv369fO+PnHiRN19990aMWKEvv32W23YsEFPPfWU7r//fj/fneaLABC+0f8DqENcVLlSWuaGuoyIFWOUKSm6MNRlRLwWBn8wAEDFr/5miKsA6s/g328V06dPrxb+SVLr1q31zjvvqE+fPiosLNScOXP02GOPqV27djW2c9VVV/kM/yTp/fff904PHjBggF544QXZ7fZq+02ePFlffvmlXnjhBRUXF2vWrFl65plnar2Gl19+uUr4Vyk5OVlvv/22zj33XHk8Hs2cOVN33323YmJiam2vuWMREPhkU3SoSwAAwHJ2I7I/D42OiezrAwBAkqJi+Pu1UuvWrXXrrbf63N6pUydNnDhRUsU03yVLlvjc97e//W2t51qwYIH3+T333FNj+Ffp/vvvl2EY1Y6rSZ8+fXTllVf63D5o0CBddtllkqRDhw7p008/rbU9EAACAAAAAABEjIsuukixsbG17nPppZd6n3/++ec17mO32zV06NBa29mwYYP3+ciRI2vdt2vXrurTp48kKTMzUwcPHvSrPn/28XUN+B8CQAAAAAAAgAjRq1evgPY5cOBAjfu0bdu2ziCxMsSLj4/XaaedVud5zzjjjGrH1lWfP/v4ugb8DwEgAAAAAABAhHA6nQHtc/z48Rr3iYuLq7OdymP9OacktWzZss7z+tueP9eA/+GmMBYzTVMff/yxVq1apX379qmwsFAxMTHq0KGDBg0apLS0NLVt2zbUZQIAAAAAgAhQuSKvv/vEx8fX+1zx8fE6evSoX+eUpMLC/y1wV9t5G/MamgsCQAudOHFC06ZN06ZNm7yvORwOlZaWav/+/dq/f7+WLVumBx98UAMGDAhhpQAAAAAAIBLs2bMnoH06duxY73OdfvrpOnr0qI4fP65Dhw6pQ4cOte7/zTff+HXexryG5oIpwBaaP3++N/y74YYb9NZbb2nevHl699139ac//Umnn366SkpK9OSTT8rlcoW4WgAAAAAA0NStWbOmzozhP//5j/f5eeedV+9znXzsRx99VOu+mZmZ2rVrlySpS5cutd4zcPny5XWeO1jX0FwQAFpo9erVkqQRI0bohhtu8A5JtdvtGjRokO69915JUkFBgbZv3x6qMgEAAAAAQIQ4evSoXn75ZZ/bDx48qLfeekuS1KJFC40ZM6be57rmmmu8z59++mm53W6f+/7lL3+RaZrVjqvJrl279P777/vcvnXrVm9IeNppp+miiy4KpOxmiSnAfigsLNTatWu1adMmZWdn68iRIyovL1fbtm01cOBAjR07tsbhpvn5+ZKklJSUGtvt3r277Ha73G63SktLLb0GAAAAAADQPNx3333q37+/Lr744iqvHzt2TNdee6130Yybb75Z7dq1q/d5Lr/8cvXv319ff/21tm7dqttvv11///vfFRVVNW6aM2eOXnjhBUkVt0abMmVKnW1PnjxZK1eu1FlnnVXl9QMHDui6667zho133XWXoqOj630NzQUBoB8WL16sefPmSaoYvedwOORyuXTw4EEdPHhQq1ev1gMPPKCzzz67ynEdOnRQdna2z7nr3333ndxut2w2m7p37271ZQAAAAAAgAg3ZswYLV++XCNGjND111+v1NRUxcXFaceOHXrllVd04MABSRWDkv7yl7806Fw2m00ZGRkaOnSoioqK9NJLL2ndunX6xS9+oW7duikvL0+LFi3SsmXLvMf87W9/U9euXWtt9+qrr9bChQs1ePBg3XTTTRo6dKjsdrs2bdqkV155RUePHpVUMfX3nnvuadA1NBcEgH5o06aNJk6cqCFDhqhLly7eUXv79+9XRkaGNm7cqKefflovvfSSYmNjvceNGjVKr7zyilauXKnTTjtNV1xxheLj4+V2u/X111/r+eefl1SRmJ9++umhujwAAAAAABAhBg8erF/84he6+eab9dZbb3mn+56sd+/eWrZsmRISEhp8vgEDBmjVqlW6+uqrlZ2drW3btum+++6rtp/D4dDf/vY3TZ48uc42r7zySl188cW655579MILL3hHD57sggsu0NKlS6uNNkTNeJf8MHr06Gqv2e129ezZUw888IDuuusuZWVlae3atUpNTfXuM2bMGB0+fFhLlizR3LlzNXfuXO8qwB6PR506ddKvf/1rXXHFFY15OQAAAAAAIIJde+21GjhwoJ599ll99NFH+uGHHxQdHa3evXvruuuu0x133KEWLVoE7Xw/+clP9M033+jll1/WokWLtG3bNuXl5ally5bq0aOHRo0apTvuuCOg1XqnTJmiCy+8ULNnz9bHH3+sgwcPyuFwqH///t6A02ZjaQt/EQA2UHR0tM4++2xlZWVp586dVQJAu92um2++WR07dtQrr7yisrIyFRcXe7e7XC5vGMg/WgAAAAAAECy9e/fWc889F/Bx+/fvr9f54uLidOedd+rOO++s1/E33XSTbrrppiqvnXvuuXrttdfq1R6qIgD0U3Z2tpYuXart27crJydHpaWl3tVrKuXl5VX5+ujRo5o2bZp27dqlYcOGeRcLOXr0qDZu3KiMjAy9/vrr2rdvn37/+9835uUAAAAAAACgmSAA9MMnn3yimTNnqry8XJJkGIYcDod3lZnS0lKVlpbK5XJVOe6ZZ57Rrl27lJqaWmWFm8r7AXbu3FlT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9SdH/W4D9nDR60GqIHgeddbjWo76t1vliDupYvZkQkJCjftV5jPx8fH1ateXk7ed3LbNZtOCBQs0evRo7d69W7feeqtuvfVW7/aoqCg9++yzuv322yVJrVu39qsuX5rP+NhGdtppp+mss86SJC1evLjGfd577z1JUkxMjAYMGNBYpQEAAAAAgKasAdN/a1r8I9QPK518f77a7qNXue3000/3q934+HhvCOhPuyfvX6lbt27atGmTnnnmGQ0fPlzdu3dX7969NXHiRK1fv16jRo3y7nvGGWf4VZcvBIAWmjRpkmw2m3bt2qVnn33W+6m+y+XSwoULtWTJEkkVwz59JdAAAAAAAADBYv53+rA/D0+1h83Ho+p+gZzD6qnMffr08d52rbaVdCu3VQ7mqothGDrzzDP9brdy31M5HA7dddddWrlypfbt26ddu3YpIyNDgwcP1qZNmyRVjAY899xz/arLF6YAW+jMM8/U//3f/+n555/X8uXL9Z///EctW7ZUcXGxd1jyT3/6U02cODHElQIAAAAAgKbClPSH4xn1PNqKwK1qm4FOD67PtYzrdLEGa3Cd+7Vs2VJDhgzRhg0btGzZMl1zzTXV9snOzvauuJuamup3DSNGjNAXX3yhf//73z73+eijjwJut9LcuXMlSVdddZXfU5N9YQSgxUaOHKmnnnpKl1xyidq0aaOSkhI5HA4NGjRI9957r37/+9+H8U1FAQAAAABAODKD/gh85F7gj+DW7K/KgVf//Oc/lZWVVW37X//6V5mmqY4dO2r48OF+tzthwgQZhqFvv/1WCxcurLZ9wYIF+vbbb2UYRsCDv95//30tWLBAdrtd999/f0DH1oQRgA2QmprqV4Lbs2dP3XPPPY1QEQAAAAAAiHyGzHreOy+0q+fWXLPV6xn/6le/0syZM7Vv3z6NGTNGb775pgYMGKCSkhLNmjVLzz33nCTp8ccfV3R0dJVju3Xrpu+//16TJk3SnDlzqmwbMGCAbrjhBs2dO1eTJ0+WzWZTWlqapIr1IH75y19Kkn7xi1+ob9++1ep68cUXFRcXp8suu0wdOnSQYRg6ePCgXn31VT322GOSpAcffLDB038lAkAAAAAAAIAmxZTksTw2azz1CSUDuf4WLVpo8eLFGjFihL766isNHDhQCQkJKioq8t6i7c4779TNN98ccB3/+Mc/tHfvXm3YsEFjx45VXFycTNNUaWmpJOmCCy7Q3//+9xqP/eyzz/T66xWrMsfGxiomJkbHjh2TVLFK8IMPPqg//elPAddUEwJAAAAAAACAJqa+IwAjRoDX37dvX3399deaPn26lixZoqysLLVq1UrnnHOO7rjjDo0dO7ZeZbRs2VJr1qzRs88+q7feekvffPONJOmcc85Renq6fvOb31QbVVhp0qRJMgxD69ev14EDB3TixAn16NFDI0aM0O23365zzjmnXjXVhAAQAAAAAACgCSnzuL2j5szQzultdMZ//+fH0vyAj23fvr1mzJihGTNm+H3M/v3769wnOjpad999t+6+++6A6hk+fHhA9xxsCAJAAAAAAACAJsQmu9yeZjwC0JSiVfOoOtSMABAAAAAAAKAJsRmSx88psEYTzwl9jXBs1SK+cQtp4ggAAQAAAAAAmhBThkw/F8E4NUBrCnlgM5vV3CgsCQAfffRRSVKPHj2Unp5uxSkAAAAAAACarfouAnJquBYOgWB9Ar9mvwhKgCwJAB955BEZhqHHHnvMiubRSDxmWahLABDmyk1DeWWOJj+tIFyVeWw6ITvvr8XKPZHd35WdKA91CQDCnceUx+2WQYdjGdPjCXUJEa859nfBWvyjWiDYCD8KglI7wwQDYkkA2KpVKx07dkwpKSlWNI/GQv8PoA7HPXH6rrR9qMuIWNFGudrGFIW6jIhXLnuoSwCA0HO7+VvaaoYt1BVEtOb256sp+T0FOOC2LZgybMXPF35mBcaSALBTp046duyYior4o6Ups7GiDgCgGbAbMaEuwVLRMdzyGQAQ+aJimtnfr2bwRgD6car6H/vfgxlgHHqWfAQxatQomaapTz/91IrmAQAAAAAAmjXTNEL/+O9iJJVfe056VNyjr+Jh1fnhP0sCwNtvv12xsbF66623tH37ditOAQAAAAAA0EyFPvzzmIZMz38flYHcSQ+rz9/8Jn43jCUBYEpKil566SV5PB5deumlWrJkiRWnAQAAAAAAaIbM/94HsPEeniqPipF/Hhne1xq7Hu4BGBhLbgrz6KOPSpKGDx+u5cuXa+zYseratasuvPBCJScnKy4urs42Hn74YStKAwAAAAAAaNIqp91aew5/GTXub/X4vMa6B2KksCQAfOSRR7xLyBuGIdM09f333+v777/3u41ICwCPHj2qpUuX6osv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S4mJiZKk2tpa1dbWqq6uzrfPoUOH9MILLygpKUm33HJLp2vIz8/XokWL/LZPmTJF06dP7/T7HKuu1i2Vh7RLAACiUkZGRosP9iIhKysr5H2609wh7xMAgGgULeN5OHg9ZtNltHHscJn/G28c7+abb9acOXO0a9cuTZgwQS+99JLOPPNM1dTUaO7cuXr66aclSY888ogv6znqlFNO0bfffqvp06fr+eefb9Z25pln6tprr9WiRYs0Y8YMORwOTZo0SVLTDWVvvPFGSdJ1112nIUOGNNt34cKFWrp0qW644Qadf/75ys7OltR0I9mPPvpIDz30kP72t79JkmbNmtXpG8oSALajvLzcdxnvkCFDdP3112vAgAHNviHy8/O1ZMmSZj9oXnzxRVVVVemqq65SRkaGampqmvXr9XolNSW6R9uSk5P9/gutqqpSSUmJ3zqrq6t96xOGisOIlonBAABYq7O/UIVKqMdySTKM6Dg2AACsFi3jeTh4vabk9ZcAxsPf8qYa6xsC3jo5OVkFBQUaM2aMNm/erGHDhqlLly6qqqqSx+ORJN1xxx368Y9/HHQlzz77rL7++mtt2LBBl19+uVJTU2WapmprayVJ5513nv74xz+2PALT1LJly7Rs2TJJTZf4Jicnq7y83DcBzel0aubMmbrjjjuCrut4BIDtKCwsVE1NjVJSUnT//fe3uo7f4cOHW7x2NKx79dVX9eqrr/rt//3339f7778vSZozZ4769evX6nZut1s9evTw24/L5fJ904aKN04+OQEAwOv1hnzGQEfCvFCP5ZJkmt6Q9wkAQDSKlvE8HBISHG1cKmse80/JFnN7WjnW7t0zgupiyJAh+vzzzzV79my9+eab2rNnjzIyMnT22Wfrtttu0+WXX96h0tLS0rRu3To99dRTWrhwobZv3y5JOvvss5WXl6fbb7+9xaxCSRo/fryeffZZrVmzRps3b9Z3332n8vJypaWlqV+/frrgggt04403tpg52FEEgO0oLS2VJOXk5LQa/pmmqS1btlheR15envLy8vy2l5aWqqysLKTvWeWpCml/AABEq/Ly8pCHb926dQt6n1CP5ZJUVcl4DgCID9EynofF0TvptsGX+5nHvxADLJqP1KNHDz355JN68sknA95n9+7d7W6TmJioe+65R/fcc0/A/Xbv3l0333yzbr755oD36QwC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PHiwTj75ZF/Id/jwYa1atUoLFy7Uli1b9Oc//1m33357hKsFAAAAAACxIug1AIN/g2ZfGh0IBK2skQmAwSEAtFBubm6rr2dmZuqqq65SXV2dlixZorVr1+onP/mJEhL41wEAAAAAANpmmmbYE7BmYZ6/MDCsNZEABoPEKQCVlZVav369Nm7cqL179+rgwYNqbGxU165dNWzYMF1++eXq2bNn0P0OHDhQklRfX6+KigplZWWFunQAAAAAAGBHkZwCd/S9DSNydZD/BYUAMAAFBQVavHixJMnpdMrlcqmurk779u3Tvn37tHbtWs2cOVNnnXVWUP1++eWXkprWBszMzAxx1QAAAAAAwLai4RrYaAghERACwABkZ2dr2rRpGjlypHr37i2n0ymPx6Pdu3crPz9fhYWFeuKJJzR//nylpKS02VddXZ0OHDig9957T0uXLpUkjR8/vkPX0gMAAAAAgDhFAIYgEAAGYNy4cS1eczqd6t+/v2bOnKm7775be/bs0fr161td96+yslJTp05t8XpCQoImTJigvLw8S+oGAAAAAAA2ZJrW3WAj1P1aNeGJADQojkgXEOsSExN9l/5u27at1W0cDocyMzOVmZmppKQkSU13z5kwYYKuvPJKOZ3OcJULAAAAAADs4OiNQDr78HqbP0LVr9X9IyjMAAzQ3r17tXz5cm3dulUlJSWqra1tkbYfOnSo1X1dLpdefPFFSU13zSkpKdGbb76pN998U6tXr9Z9992nwYMHW34MAAAAAADAJjoTgkXT2n0dnSFICBgUAsAAfPDBB5ozZ44aGxslNc3ec7lcSkxMlCTV1taqtrZWdXV17fZlGIZOOOEE3XjjjerRo4cWLFig//mf/9Ezzzyj5ORkv/vl5+dr0aJFftunTJmi6dOnB3lkbaurdUvlIe0SAIColJGRYd1lNEHIysoKeZ/uNHfI+wQAIBpFy3geNsEcazSflw4HglF8TFGIALAd5eXlmjdvnhobGzVkyBBdf/31GjBggC/8k5rCuSVLlgT9g2bcuHF64YUXdPDgQRUWFmrUqFF+t62qqlJJSYnf9urq6pBfSuzgxiQAgDjhcETHqihWLAtiGNFxbAAAWC1axvOwOHpprb/mMJYScsdkK22mEtEcakYhAsB2FBYWqqamRikpKbr//vvlcrlabHP48OEO9Z2UlKT09HQdOnRI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QZI0ZswYPp22QGlpqbxer9LS0uRyuQLez+v1atu2bTJNU0OHDrWwwvjk9Xp9dwvMzs5WQgKT4zujrKxML7zwgg4cOCBJevTRRyNcEaId43noMaZbi/E8OjGehxbjOWA/BIAAAAAAAACAjXEJMAAAAAAAAGBjBIAAAAAAAACAjREAAgAAAAAAADZGAAgAAAAAAADYGAEgAAAAAAAAYGMEgAAAAAAAAICNEQACAAAAAAAANkYACAAAAAAAANgYASAAAAAAAABgYwSAAAAAAAAAgI0RAAIAAAAAAAA2RgAIAAAAAAAA2BgBIAAAAAAAAGBjBIAAAAAAAACAjREAAgAAAAAAADZGAAgAAAAAAADYGAEgAADAMdauXSvDMGQYhh544AFJ0ldffaU77rhDp512mtxut7KysnTuuefq97//verq6trts6amRk8//bQuueQSnXTSSUpKSlLXrl01YsQIzZo1S8XFxe32UVdXp2effVaXXnqpTj75ZKWkpMjlcql37946++yzlZeXp+eff16VlZWdPQUAAACwGcM0TTPSRQAAAESLtWvX6qKLLpIk/frXv9bpp5+uG264QdXV1a1uP2jQIL3zzjvq06dPq+2ffPKJrrzySu3Zs8fve7pcLj311FO64YYbWm3/5ptvNG7cOG3fvr3d+l999VVNmTKl3e0AAAAQPxIiXQAAAEC0Kiws1OzZs9XQ0KCpU6cqNzdXqamp2rp1q/785z9r3759+vLLL3XRRRdp06ZNysjIaLb/5s2bddFFF6mqqkqSNHjwYF133XXq27evDh06pDfeeEMrV65UdXW1ZsyYIdM0NWPGjBZ1TJkyxRf+DRo0SFdddZX69OmjjIwMHTlyRF999ZU++OADffzxx9afFAAAAMQcZgACAAAc49gZgFLT7Ly33npLo0ePbrbd4cOHddlll+nDDz+UJN1yyy165plnfO1er1fDhg3Tli1bJEk33nij/vd//1cJCc0/f33uued00003yTRNuVwubd26Vaeccoqv/dNPP9WIESMkSVdddZUWL14sh6P1VVy+/fZbmabZbH8AAACANQABAADaMHv27BbhnyRlZmbq1VdfVVpamiTp+eef14EDB3ztb731li/8O/PMM/XMM8+0CP8kacaMGbrlllskSdXV1Zo7d26z9p07d/qe/8d//Iff8E+S+vTpQ/gHAACAFggAAQAA/MjMzNRNN93kt/3kk0/WtGnTJDXdpOPNN9/0tb3++uu+5z/72c/kdDr99nPvvffKMIwW+0mS2+32PS8sLAzuAAAAAAARAAIAAPh1/vnnKyUlpc1tLr74Yt/zY9fg27Bhg+/5D3/4wzb76NOnjwYNGiRJKioq0r59+3xt3//+9+VyuSRJDz30kO6++25t2rRJrOICAACAQBEAAgAA+DFw4MCgtikuLvY9Pxripaen68QTT2y3n1NPPbXFvpKUnZ2tuXPnyuFwqLGxUXPnztXZZ5+t7t27a+LEifrtb3+rTZs2BXQ8AAAAiE8EgAAAAH4ce/ltINtUVFS0eB5IH5J8awke34/UdAOR999/Xz/84Q99awAePHhQy5cv17333quzzz5bZ555plasWBHQewEAACC+EAACAAD4UVVVFdQ26enpLZ4H0ockVVZWttrPUeeff77effddlZaWqqCgQP/93/+t888/33djkc8//1yXXXaZnn/++YDeDwAAAPGDABAAAMCPY+/AG8g2PXv29D0/6aSTJDXN5vvuu+/a7Wf79u2t9nO8rKwsTZw4UY899pjWrVun4uJi3X777b72n/3sZ2poaGj3/QAAABA/CAABAAD8WLdunerq6trc5m9/+5vv+fe+971Wn69cubLNPoqKivTll19Kknr37h3QmoFHde/eXU899ZSGDRsmSTp06JC2bt0a8P4AAACwPwJAAAAAPw4fPqwFCxb4bd+3b58WLlwoSUpOTtaECRN8bVdeeaXv+RNPPCGPx+O3n9/+9re+u/oeu18w+vbt63ve2NjYoT4AAABgTwSAAAAAbfiv//ovffDBBy1eP3LkiK6++mrfDTt+/OMfq3v37r72yy67TGeccYYk6e9//7v+8z//s9Vg7vnnn9czzzwjSXK5XLrrrruatS9cuFDPPfdcm2sJbt++XatXr5YkpaSk6LTTTgvyKAEAAGBnCZEuAAAAIFpNmDBBq1at0pgxY/SjH/1Iubm5Sk1N1RdffKHnnntOxcXFkppm3/32t79ttq/D4VB+fr5GjRqlqqoqzZ8/Xx9++KGuu+46nXLKKTp06JCWLVumd955x7fPH/7wB/Xp06dZPzt27NCDDz6oO++8UxdffLFGjBih3r17KzU1VQcOHNDHH3+s1157zRcQ3nnnna3eRAQAAADxyzCPXm8CAAAArV27VhdddJEk6de//rUGDx6sH//4x6qurm51+9NOO03vvPOOTjnllFbbP/nkE11xxRXau3ev3/d0uVz6wx/+oBkzZrRoe/DBB/XAAw+0W7dhGLr11ls1d+5cOZ3OdrcHAABA/GAGIAAAQBuuvvpqDRs2TE899ZRWrlypf/zjH0pMTNRpp52ma665RrfddpuSk5P97j9ixAht375dCxYs0LJly7RlyxYdOnRIaWlp6tevn8aOHavbbrvN751/77vvPl100UVas2aNPv74Y3311Vfat2+f6uvrfX18//vf1w033KDhw4dbdRoAAAAQw5gBCAAAcIzjZwAGMvsOAAAAiGbcBAQAAAAAAACwMQJAAAAAAAAAwMYIAAEAAAAAAAAbIwAEAAAAAAAAbIwAEAAAAAAAALAx7gIMAAAAAAAA2BgzAAEAAAAAAAAbIwAEAAAAAAAAbIwAEAAAAAAAALAxAkAAAAAAAADAxggAAQAAAAAAABsjAAQAAAAAAABsjAAQAAAAAAAAsDECQAAAAAAAAMDGCAABAAAAAAAAGyMABAAAAAAAAGyMABAAAAAAAACwMQJAAAAAAAAAwMYIAAEAAAAAAAAbIwAEAAAAAAAAbIwAEAAAAAAAALAxAkAAAAAAAADAxggAAQAAAAAAABsjAAQAAAAAAABsjAAQAAAAAAAAsDECQAAAAAAAAMDGCAABAAAAAAAAGyMABAAAAAAAAGyMABAAAAAAAACwMQJAAAAAAAAAwMYIAAEAAAAAAAAb+//HRIySbcyOHQAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAB7CAAAewgFu0HU+AADtk0lEQVR4nOzdeXxU1f3/8ffMZJ1JQgJhDyAQFWUXi4pWgSjYihEEUSGCli5aF7T+qlZF/Vql1AWhSrWCihgpooIErCiyKCIgssqmAmISQUJMCNlJZu7vj5gxIZmssyQ3r+f3cftN5t577udOkBPec849FsMwDAEAAAAAAAAwJWugCwAAAAAAAADgOwSAAAAAAAAAgIkRAAIAAAAAAAAmRgAIAAAAAAAAmBgBIAAAAAAAAGBiBIAAAAAAAACAiREAAgAAAAAAACZGAAgAAAAAAACYGAEgAAAAAAAAYGIEgAAAAAAAAICJEQACAAAAAAAAJkYACAAAAAAAAJgYASAAAAAAAABgYgSAAAAAAAAAgIkRAAIAAAAAAAAmRgAIAAAAAAAAmBgBIAAAAAAAAGBiBIAAAAAAAACAiREAAgAAAAAAACZGAAgAAAAAAACYGAEgAAAAAAAAYGIEgAAAAAAAAICJEQACAAAAAAAAJkYACAAAAAAAAJgYASAAAAAAAABgYgSAAAAAAAAAgIkRAAIAAAAAAAAmRgAIAAAAAAAAmBgBIAAAAAAAAGBiBIAAAAAAAACAiREAAgAAAAAAACZGAAgAAAAAAACYGAEgAAAAAAAAYGIEgAAAAAAAAICJEQACAAAAAAAAJkYACAAAAAAAAJgYASAAAAAAAABgYkGBLgDe8c033wS6BAAAWpSzzjor0CUAAAAAdUIACAAA4Cd8YAcAgP/xoR3AFGAAAAAAAADA1AgAAQAAAAAAABMjAAQAAAAAAABMjAAQAAAAAAAAMDECQAAAAAAAAMDECAABAAAAAAAAEyMABAAAAAAAAEyMABAAmom7775bw4YN0/z58xvcxg033KBhw4Zp5cqV9T53x44dGjZsmIYNG9bg6wMAAAAA/C8o0AUAQCDMnz9fr7/+uvv75557TgMGDPB4fFFRkcaNG6f8/HxJUv/+/TVr1iwfVwkAAGpyen9eLiQkRDExMTrrrLM0YsQIXXLJJQGoDgCApoMAEAAkffjhhzUGgOvXr3eHf81Zp06dFBISIofDEehSAADwGqvVqlatWrm/z8vL07Fjx3Ts2DGtX79eCQkJevDBB2W1MgEKANAyEQACaNFiY2OVnZ2tTz/9VFOnTlVYWFi1x5VPmW3fvr2OHTvmzxK9aubMmYEuAQAAr2vbtq0WLVrk/t4wDKWlpenll1/Whg0btHr1avXr10+JiYkBrBIAgMDhIzAALVqrVq00ePBgFRQU6NNPP632mIyMDO3YsUNRUVG64IIL/FwhAACoL4vFoq5du+rRRx9V165dJZWN9gcAoKViBCCAFm/kyJHauHGjPvzwQ40YMaLK/o8++kgul0sJCQk1Th0qKirS+vXrtXnzZn333Xc6fvy4ioqK1Lp1a/Xr10/jxo3TWWedVWMt69at05IlS3TgwAFZrVadccYZuuaaa3TFFVfUeF75whzPPfecOnfurOTkZG3ZskWZmZnq2rWr5s2bJ6lsEZBjx47p/vvv15VXXlmlnezsbL3++uvauHGjsrOzFRMTo8GDB2vSpEk1Xh8AgKYoODhYAwcOVGpqqg4fPuzxuE2bNmn58uXat2+fcnNzFRkZqXPOOUfXXHONBg8eXO05d999t3bu3KnJkycrKSlJixcv1qpVq3T06FFFRkZq8ODB+t3vfqc2bdpIkn744QclJydr69atOnHihDp06KCrrrpK1113XY2/X3z99ddasmSJdu7cqaysLIWEhKhr164aPny4EhMTFRIS0qj3CADQMhAAAmjxLrroIkVGRmrHjh3KyMhQu3btKu0vHzEwcuRIrVq1ymM769at0z//+U9JZc8iKn/O3rFjx7Rq1SqtWbNG9913X7UhoyTNmTNH77zzjqSykQsOh0P79u3Tnj17dODAgTrdS1pamh577DHl5OQoLCxMNputTudJUmpqqu655x5lZWVJkkJDQ3Xy5EmtWLFCGzZs0JQpU+rcFgAATYVhGJIkl8tV7b7nnntOy5cvl1TWf9vtduXk5Ojzzz/X559/rtGjR+uuu+6SxWKptv3S0lL99a9/1Y4dO9xhXGZmpv73v/9p165deuGFF/TDDz/o/vvvV15enhwOh0pLS5WWlqaXXnpJx48f1x133FFt26+//rpef/119z3Y7XYVFhZq37592rdvnz766CM9/fTTlZ5/CABAdQgAAbR4ISEhGjZsmFJSUvTRRx8pKSnJvW/37t1KT09Xt27ddPbZZ9cYAEZEROiGG27Qr3/9a8XHxyskJESGYSg9PV1vvPGGVq1apWeffVb9+/dX+/btK527Zs0ad/iXmJioW265RdHR0Tp58qSSk5O1ePHiOi3c8eKLL6pjx4564okn1KdPH0llIw5qU1paqv/7v/9TVlaW2rZtq7/+9a86//zzZbFYtGPHDj311FN68cUXa20HAICmpKSkRNu3b5dUthDW6d5++213+HfjjTfqxhtvVGRkpE6ePKk333xTixcv1nvvvae4uDiNHTu22mssW7ZMISEhmj59ui644AIZhqGNGzfqH//4h9LT0/Xaa69p06ZN6tu3r+644w516tRJ+fn5evnll5WSkqIlS5bo6quvVrdu3aq0O3/+fEVFRenmm29WQkKCoqKi3Pf0/PPP69tvv9WMGTP0j3/8w8vvHADAbHgGIACobHSfVDbdt6LyxT/K99fkkksu0Z/+9Cede+657hEAFotFXbp00d/+9jedf/75OnXqlLvNcoZh6LXXXpMkXXbZZbrnnnsUHR0tSYqKitKf//xnXXnllXVahdhms+npp592h3+S1Llz51rPW7t2rQ4dOiSr1arp06frV7/6lXukw4ABAzRjxgydOnWq1nYAAGgKDMNQamqqHn/8caWlpUlSlRH4RUVFeuONNyRJY8aM0R//+EdFRkZKKut/b7vtNo0aNUqStGDBAhUXF1d7rby8PE2bNk0XXXSRrFarbDabLrnkEl1//fWSfgkI//73v7tDSIfDoalTp6pz584yDEOffPJJpTbz8/M1d+5cBQUFacaMGRozZoyioqIklU1rHjx4sGbMmKGwsDBt2rRJ33zzjTfeNgCAiREAAoCkc889V127dlVaWpp2794tSSouLta6detktVo9TtutK4vF4l5ApLz9cgcPHlR6erokaeLEidWeX3FUYk1GjBih1q1b17u+8n94XHjhhYqPj6+yv2vXrho6dGi92wUAwB+OHz+ua6+91r2NHDlSkydP1meffSap7HEfY8aMqXTOl19+qby8PFmtVo/97KRJk2S1WnXy5El9+eWX1R7Tu3dvDRgwoMrrgwYNcn89fvz4Ko/lsFqt7vMOHTpUad8nn3yi/Px89evXT+ecc0611+3cubN7n6faAAAoxxRgAPjZyJEjNXfuXH344Yfq06ePPvvsM+Xn52vw4MHuB3jX5vjx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deDAAR08eFAHDhxQTk6OJOnJJ59U375969TOxo0b9cEHH+jgwYMqLi5WbGysfvWrX+m6665TVFSUL28BAAAAAAAALRwBYA02b96s2bNnN6qNl156Sf/73/8kSVarVaGhoTpy5IiWLVumTz75RE8++aS6dOnijXIBAAAAAACAKggAaxETE6OePXsqPj5enTp10syZM+t87ocffqj//e9/slgsmjhxoq655hqFhobqu+++08yZM/X999/riSee0AsvvKDgYFY7AgAAAAAAgPcRANZg6NChSkhIcH+fl5dX53NLSkq0cOFCSdJvf/tbjR8/3r2ve/fumjZtmm6//XYdPXpUq1at0m9/+1vvFQ4AAAAAAAD8rEUEgHl5edqwYYO2bdum9PR0/fTTTyotLVWbNm3Uv39/jR49Wp06dapyns1ma/A1d+3apezsbFksFl177bVV9rdr106XXnqpVq1apXXr1hEAAgAAAAAAwCdaxCrAKSkpmjNnjjZu3KgjR47IZrPJ6XTq6NGjWrlype6++27t2LHDq9fctWuXJKlLly5q27ZttccMHDhQkvT111+rqKjIq9cHAAAAAAAApBYyArB169aaOHGiBg8erK5du7oDwMOHDys5OVlbt27Vs88+q7lz5yosLMwr10xLS5MkdevWzeMx5fsMw1B6erri4+O9cm0AAAAAAACgXIsYAXjllVfq+uuvV/fu3d3Tem02m3r27KkHH3xQXbp0UU5OjjZs2OC1a2ZlZUkqCx89qbgvOzvba9cGAAAAAAAAyrWIALAmwcHBGjBggCRp3759Xmu3fEpvaGiox2Mq7isoKPDatQEAAAAAAIByLWIKsCSlp6drxYoV2rNnjzIyMlRUVCTDMCodUz5qDwAAAAAAADCLFhEAfvrpp5o1a5ZKS0slSRaLRXa7XcHBwZLKRusVFRWpuLjYa9csf5ZgTW1W3Ge322tsLzk5WQsXLvS4f9y4cZo8eXI9q6xZToFDOu7VJgEACJhWrVpV+fDP32JiYrzepiPC4fU2AQAIlKbQXwNmZPoAMCcnR3PmzFFpaal69+6tSZMmKT4+3h3+SWXh2uLFi736l0zr1q116NChGkcVVtxX2z8I8vPzlZGR4XF/QUGB+/mG3mK1tPgZ4gAAE7FaA9+vebuvliQL/TUAwESaQn8NmJHpA8CtW7eqsLBQYWFhmjZt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devWysrK0vTp0/WnP/1JvXr1ktVqVXZ2tpYuXaovvvhCERERuuGGGwJ0JwAAAAAAADA7AkAfCQsL0yOPPKLp06fru+++0wMPPOBeBbiwsFDBwcG65JJLlJSUpI4dOwa6XAAAAAAAAJgUi4D4UI8ePfTkk0+qV69ekiSn06nCwkL316dOnXIvJAIAAAAAAAD4AiMAfWjVqlV68cUXFRUVpXvuuUd9+/aV3W5XamqqFi1apC+++EK7d+/W448/rrPOOivQ5QIAAAAAAMCECAB9ZP/+/Xr++ecVEhKiJ554QnFxce59vXr10qOPPqqHH35YX331lV5++WU988wzNbaXnJyshQsXetw/btw4TZ482Wv1S1JOgUM67tUmAQAImFatWskwjIDWEBMT4/U2HREOr7cJAECgNIX+GjAjAkAfSUlJkSSdf/75lcK/chaLRddcc42++uorffPNN8rOzq7xHwX5+fnKyMjwuL+goEA2m63xhVdgtTBDHABgHlZr4Ps1b/fVkmShvwYAmEhT6K8BMyIA9JG0tDRJUvv27T0e06FDB/fXx44dqzEAdDgcateuncf9drtdTqezAZV65jJcXm0PAIBAcrlcXh1R0JAwz9t9tSQZ9NcAABPxdn8t+eYDOKC5IQD0EYvFIknKzMz0eMzx47/Mr7Xb7TW2l5SUpKSkJI/7MzMzlZ2dXc8qa5Zfku/V9gAACKScnByvBnCxsbH1PsfbfbUk5efRXwMAzMPb/bXUsD4bMBvG1vpI9+7dJUlffvllpaCvopUrV0oqG93XuXNnv9UGAAAAAACAloMA0Ed+85vfyGKxqLCwUI899ph27typkpISSWXTfWfPnq3NmzdLkq666iqGJAMAAAAAAMAnmALsI7169dKUKVP06quvKi0tTdOmTZPValVISIiKiorcx11wwQW64YYbAlgpAAAAAAAAzIwRgD6UmJioZ599VldccYU6d+6soKAglZaWKiYmRueff77uu+8+PfTQQwoKIocFAAAAAADN2/z582WxWGSxWDR//vxAl4MKSJ4aISEhQQkJCTUe07NnT915551+qggAAAAAAACojBGAAAAAAAAAgIkRAAIAAAAAAAAmRgAIAAAAAAAAmBgBIAAAAAAAAGBiBIAAAAAAAAABtm7dOvcKuo899pgk6euvv9add96ps88+Ww6HQzExMbrwwgv13HPPqbi42GNbZ5xxhiwWi8444wxJUnFxsebMmaOhQ4eqY8eOstls7n0VFRYW6oUXXtAVV1yhjh07KiQkRG3atNGvfvUrPfzwwzpy5Ei97+vLL7/U7373O/Xs2VPh4eGKjY3VsGHD9Morr8jlctW7PTQMqwADAAAAAAA0MW+99ZZ+97vfqaCgwP1aQUGBNm/erM2bN+vll1/WypUr1a1btxrbOXz4sK6++mrt3r27xuO2bNmisWPHKi0trdLrWVlZysrK0pdffqnnnntOzz//vH73u9/V6R5mzZql//f//p+cTqf7taKiIq1bt07r1q3Tq6++qhUrVigmJqZO7aHhCAABAAAAAACakK1bt2rGjBkqKSnRhAkTlJCQoPDwcO3Zs0evvvqqjh49qv3792vYsGHavn27WrVqVW07xcXFuvbaa7V7925deOGFGjdunOLi4pSVlaU9e/a4j9u1a5eGDRum/Px8SdK5556rm266Sd27d1dWVpbee+89ffTRRyooKNCUKVNkGIamTJlS4z0sX75cS5cuVUhIiKZMmaKLL75YNptNW7du1auvvqqcnBx9/vnn+s1vfqPPPvtMQUFEVL7EuwuPnEZpoEsA0ITYLE61DsmTZAl0KaYTYSuS05B4b32n1FUS6BJ8puQU/TWA0xiGDMOQxUK/4m2GYQS6BFOjT/vFihUrZLfbtXLlSg0dOrTSvv/3//6ffvvb32rjxo367rvvdP/99+ull16qtp0ff/xRP/74o2bMmKH777+/2mNcLpcmTpzoDv9+//vf68UXX6wUyN1222165ZVX9Ic//EGGYeiuu+5SQkJCtdOIyy1ZskTt2rXT6tWr1adPH/frEydO1F/+8hcNHz5c3377rTZv3qxnnnlGDzzwQB3fHTQEASA84/cFABW0Ci7WBW1SA12GKZUaFhW6QgNdhqkZPPYYQEvy8zPE4H0Wi0VEgL7Du1vZjBkzqoR/khQdHa23335bvXr1Ul5enubPn6+///3vatu2bbXtXHPNNR7DP0l6//333dOD+/Xrp5deekk2m63KcVOmTNGXX36pl156SQUFBZo9e7aee+65Gu9h3rx5lcK/cnFxcXrrrbd0/vnny+VyadasWfrLX/6ikJCQGttDw/HbMDyykQ8DAEzCZjFvnxYcYt57AwC0LEEhwYEuocmIjo7WH/7wB4/7O3furIkTJ0oqm+a7fPlyj8feddddNV5ryZIl7q/vvffeasO/cg888ID7A4aK51WnV69euvrqqz3uHzhwoK644gpJ0rFjx/TZZ5/V2B4ahwAQAAAAAACgCbnkkksUFhZW4zGXX365++svvvii2mNsNpuGDBlSYzubN292fz1ixIgaj+3WrZt69eolSUpNTdXRo0frVF9djvF0D/AOAkAAAAAAAIAm5Mwzz6zXMUeOHKn2mDZt2tQaJJaHeJGRkerQoUOt1z3rrLOqnFtbfXU5xtM9wDsIAAEAAAAAAJoQh8NRr2Nyc3OrPSY8PLzWdsrPrcs1JSkiIqLW69a1vbrcA7yDh8b4mGEY+uSTT7R27VodOnRIeXl5CgkJUfv27TVw4EAlJiaqTZs2gS4TAAAAAAA0EeUr8tb1mMjIyAZfKzIyUidOnKjTNSUpLy+vTtf15z2gdgSAPnTq1ClNnz5d27Ztc79mt9tVVFSkw4cP6/Dhw1q5cqUeeugh9evXL4CVAgAAAACApuLAgQP1OqZTp04NvlbHjh114sQJ5ebm6tixY2rfvn2Nx3/zzTd1uq4/7wG1YwqwDy1evNgd/t1444168803tWjRIr377rv6v//7P3Xs2FGFhYV6+umnVVxcHOBqAQAAAABAU7B+/fpac4KPP/7Y/fUFF1zQ4GtVPPejjz6q8djU1FTt379fktS1a9canxm4atWqWq/trXtA7QgAfWjdunWSpOHDh+vGG290D2e12WwaOHCg7rvvPklSTk6O9uzZE6gyAQAAAABAE3LixAnNmzfP4/6jR4/qzTfflCSFhoZq1KhRDb7W2LFj3V8/++yzcjqdHo/95z//KcMwqpxXnf379+v999/3uH/nzp3ukLBDhw665JJL6lM26okpwHWQl5enDRs2aNu2bUpPT9dPP/2k0tJStWnTRv3799fo0aOrHaqanZ0tSYqPj6+23e7du8tms8npdKqoqMin9wAAAAAAAJqP+++/X3379tWll15a6fWTJ09q/Pjx7kUzbrnlFrVt27bB1/ntb3+rvn376quvvtLOnTt122236d///reCgipHRvPnz9dLL70kqezxZlOnTq217SlTpmjNmjU699xzK71+5MgRXX/99e6w8e6771ZwcHCD7wG1IwCsg5SUFC1atEhS2eg9u92u4uJiHT16VEePHtW6dev04IMPasCAAZXO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jrLn6hw7dkwlJSVV9q9Zs8bjCr7Dhw+XJKWlpWnbtm1V9mdlZenTTz+VVLYKMgAAAAAAaCksZaMAA7EZP2+un///z6/r581fdcB/fBIAtm/fXpJ04MCBep23detWSWWLZjQV/fv3l8ViUW5urmbNmuX+5L6wsFApKSmaM2eOIiMjPZ47aNAgSdLs2bO1detWdyj63Xff6cknn1RRUZEiIyN1zTXX+OeGAAAAAABA4BkB3CSVh32BrwP+4JMpwEOGDNHBgwf13nvv6eGHH67TOfn5+Xr77bdlsVh0ySWX+KKsBomLi1NiYqKWLVum9evXa/369XI4HCosLJTL5dLAgQN15plnavHixdWef++99+rhhx/WoUOH9H//938KCQlRUFCQCgoKJEkRERH629/+VmnREAAAAAAAYG6+WgW4ejWNtqtuH+mc2fhkBOB1110nSdq+fbteffXVOp1z2223uUfXTZw40RdlNdiUKVN0++23q0ePHgoODpbL5VKPHj30+9//Xo888kiNqxRFRETo6aef1u9+9zvFx8fLZrOptLRUnTt3VmJiop5//nn16dPHj3cDAAAAAAACz+LdzahpUz03D+14u2b4jU9GAI4aNUoXXnihNm3apFtvvVXHjh3TnXfeWe2x27dv18MPP6yVK1fKYrHoN7/5jQYPHuyLshpl5MiRGjlyZLX7JkyYoAkTJng8Nzg4WKNHj9bo0aN9VB0AAAAAAGhODHl7BKAfAjX/DVmEl/lkBKAkvfXWW+rQoYNKS0v18MMPq127drr77rvd+3/1q1+pY8eOOv/887Vy5UoZhqEuXbpo/vz5vioJAAAAAACgaahppF2DNvlh82a9DQssjx8/rnvvvVdnnnmmwsPDFRsbqxEjRui9995rUHvlSkpKNHPmTA0aNEhRUVGKiorS+eefr+eee67aRWElad26dbJYLHXevv/++0rnHz58uE7nvfPOO426N8lHIwClsoU8Nm/erOuvv16bNm1SUVGRUlNTZbGU/YC3bdsmo0JyfMEFF+jdd99tustzAwAAAAAAeAnrYNTfnj17NHz4cGVkZEiSIiMjdeLECa1atUqrVq3SXXfdpdmzZ9e73by8PF1++eXavHmzJCksLExS2WK1W7du1dtvv61Vq1bJ4XBUOi8kJMS9EK4nWVlZKikpUYcOHdS5c2ePx8XGxspms1W7r7yexvDZCECpLAT8/PPPtWzZMl177bVq06aNDMNwbxEREbrqqqu0ePFibdy4UZ06dfJlOQAAAAAAAE1DIEbc+X2r5f7qobi4WImJicrIyFCfPn20Y8cOnTx5UidPntQTTzwhi8Wif/3rX3rttdfq/aP405/+pM2bNys6OlpLlixRQUGBCgoKtGTJEkVHR2vjxo3685//XOW8IUOG6Mcff/S4fffdd7Lb7ZKkpKQkBQV5Hoe3ZcsWj+2MGjWq3vd0Op+NAKzo6quv1tVXXy1JKigo0IkTJxQREaGoqCh/XB4AAAAAAKBJ+To7U0YDp8E2H967v5dfflmHDh2S3W7X+++/r65du0qS7Ha7HnroIR09elRz5szRww8/rKSkJAUHB9ep3V27dum///2vJGnevHkaM2aMe9+YMWPkdDp13XXX6Y033tBf//rXei3kunTpUuXk5EiSbr755jqf5ws+HQFYHbvdrk6dOhH+AQAAAACAFuusVm399Ny+JrzVQ3JysiTpxhtvdId/Fd13332yWCw6cuSI1q5dW+d233zzTRmGofj4eF177bVV9o8dO1bx8fEyDEMLFy6sV83l61z86le/Uu/evet1rrf5JAD8+uuvfdEsAAAAAACAKVgU6Om5TWCro7y8PG3ZskWSdOWVV1Z7TNeuXXXOOedIklavXl3nttesWSNJGjlypHvdiko/J4tFI0aMqHe76enp7uMDPfpP8lEAeO6552r48OF66623PK6UAgAAAAAA0GL5aeScX/noXvbt2+deSLamKbjl+/bu3Vu3cg1D+/btq3O75cfWxYIFC+RyuRQaGqobb7yx1uPHjx+vmJgYhYaGKi4uTmPHjtX7779f5+vVxicBoGEY+uSTTzRhwgR17txZ999/vw4cOOCLS8GHnCoNdAkAAHiF0zBvn1Zyyrz3BgBoWUpPMYCozgI9dddbwWQdBwEePXrU/XVNC8iW76t4fE1yc3OVn59f53Zzc3OVl5dXp7Zff/11SdI111yjmJiYWo/fsmWLXC6XbDabfvjhBy1ZskSjRo3S+PHjderUqTpdsyY+WQTksssu0yeffCJJyszM1DPPPKNnnnlGw4YN06233qrRo0fXuPIJmoim/KkCAL8rctp0tChK3nyQL8qE24rVKTRH1cw4gJeEWgjJALQshmFUO5UNjcS/kXzKaHG/Z9ZvGmxDmvcJb/53UMe2KoZu5avqVqd8X25urk/aLW87IiKixnY3bNigb775RpJ0yy23eDwuLCxMf/7zn3XDDTdowIABioyMlCTt2bNH//znP/XGG2/o7bffVnR0tF5++eU63ZMnPknh1q5dq2+++Ub/+c9/tGDBAv3000/u19euXau2bdvqd7/7nf7whz+oe/fuvigBXmCzENIC+IVLVhW4QgNdhinZLC6F2wiofCnIat4+LTjEvPcGoOEI/3zEIkJAH2pxfZqvp/NWbLsxfyXwZ77eyhf/6NSpk6644gqPx3Xo0EFz5syp8nrv3r21YMECtW3bVjNnztS8efN077336uyzz25wTT77r+uss87Ss88+q3/84x965513NHfuXPeowIyMDP3zn//UU089pYSEBN16661KTEyUzWbzVTkAAAAAAABNyjv9Lm/QeeN2fVy/E/wQ4jXkXr7dvUeDBg2q9biKI+4KCgoUFRVV7XEFBQWS5B5JV992Pam4r7a2CwsLtXjxYknSpEmTGpV1Pf7443rxxRdVWFioFStWNCoA9MkzACsKCQnRhAkTtHbtWu3fv1/33HOP2rRpI8Mw5HK59PHHH2vcuHHq0qWLpk2bpu+//97XJQEAAAAAAARWY0I5rz2zzxK45//VQ8Xn8x05csTjceX7OnbsWKd2IyMj3SFgXdqteLwnS5Ys0cmTJyU1fvVfh8Oh3r17S5IOHTrUqLZ8HgBWVD4q8IcfflBycrIuvfRSGYYhwzD0448/avr06erZs6euuuoqpaSkyOVy+bO8BiksLNRrr72mP/3pTxo7dqwSExOVmJgY6LIAAAAAAEATZjQiNDMMi3c2l/fa8qVevXq5H22wZ88ej8eV7zv33HPr1K7FYtE555xT53bLj61J+fTfiy66qFEj9rwtIBPsy0cFTpgwQV9//bWefvppvfrqq+4wcOXKlVq5cqU6d+6sO++8U7fffnuND2MMpBkzZmj79u2Syh7e6HA43Pt+//vfKyMjo8bzf/vb3+rWW2/1aY0AAAAAAKDpGbt9td+v6Smqa+wgvobcy86b7qrTcRERERo8eLA2b96slStXauzYsVWOSU9P1969eyVJCQkJda5h+PDh2rJliz788EOPx3z00Ud1ajctLU1r1qyR1PjRf5KUn5/vDh8bu4aGX0cAnm7z5s166qmn9NZbb8lisbjT3PIgMD09XQ888IDi4+O1cuXKQJZardTUVHf498ADD2jx4sVasGCBFixYUOk4u92u6OjoaremGmwCAADg/7d35/FRlXf//99nJusMIQsBFcMOooAieIMVrQVihSpSENQaoqi4tGrV2y5ff6DeuJbaqqCmtUpbl4CIFiUuqBREuLkFEbCssogQKMEQErJOQjJzfn9QRkIyWWfmTE5ezz6mTuY655rPOcZcyXuu6xwAANo2o57/KcCj7naRZcqUKZKkN954Q/v376/T/tRTT8k0TXXt2lWjRo1qcr8ZGRkyDEO7du3SO++8U6d90aJF2rVrlwzD8NcQyKuvviqfz6f4+Hhdd911jb632cg00JkzZ8rj8cgwDI0bN67R/hoS9hmApaWlev311/XSSy9p8+bNkr4/4K5du+q2227T5ZdfrjfffFOvv/66ioqKdOjQIY0fP17/+7//q+HDh4e75IByc3MlHV8DPmLEiIDb3Xbbbc1KnwEAAAAAgM2F6Np5wQrvTu3HtPh2wLfffrtmz56tPXv2aNy4cXr99dd13nnnyePxaM6cOXrhhRckSY8//riio6Nr7duzZ0/t27dPU6dO9S/RPeG8887T9ddfr/nz52vatGlyOBz+S7vl5OTo1ltvlSTdcMMN/uvxBfLqq69KkiZOnKjExMRGj2nkyJEaM2aMxo0bpwEDBigq6nhMt23bNv3xj3/U3//+d0nStGnTdPbZZzfaX0PCFgCuWbNGL730khYuXCiPxyPpePBnGIbS09N155131roT8EUXXaQnn3xSTz/9tB599FF5vV499thjeu+998JVcqOqqqokSfHx8RZXAgAAAAAA2hTTOP4IdrdB7/EEa2cFxsbGKicnR6NHj9amTZs0ePBgdezYUeXl5fJ6vZKkX/7yl7r55pub3fdf/vIXffPNN1q7dq0mTJig+Ph4maapyspKScczqj/96U8N9vG///u/2r17tyQ1uYZ9+/ZpxowZmjFjhqKiopSYmCiPx1PrrsMZGRnKyspq9jGdKqQBYElJiX+235YtWyR9P9svOTlZN910k37+85+rX79+9e7vcrn00EMP6ciRI3ruuee0fv36UJbbZPPnz9eCBQv8X+fn59e68ce9997LjD8AAAAAABBYGO6eazcDBw7U5s2bNWvWLL333nvav3+/EhMTNXToUN11112aMGFCi/rt0KGDVq1apeeff17z5s3Tzp07JUlDhw5VZmam7r777jqzCk91YmZht27dNHr06Ca97x/+8Af985//1Lp165SXl6fCwkJFRUWpb9++uuiii3TzzTc3azlzQ0ISAH7++ed66aWX9NZbb9Wa7SdJw4YN0y9+8Qv97Gc/U1xcXJP6GzlypJ577jl99913oSi32eLj45WUlKRjx46poqJCDodDHTt29LfHxMRYWB0AAAAAALCfyLsuX/1Cm2p26dJFzzzzjJ555pkm77N3795Gt4mOjtb999+v+++/v0V1zZ07V3Pnzm3WPtdcc42uueaaFr1fc4UkALz44otlGIY/9HO5XPrZz36mX/ziF7rgggua3V+kLbGdOHGiJk6cqGXLlmnOnDlKTU1t8F/yO++8o9dff10lJSVyuVzq2bOnRowYocsuu4ywEAAAAACAdshTXROSJcDWs+MxtX0hWwJsmqb69++vn//857rpppuadPHDQM4991z/hQ/botzcXMXExCg2NlYlJSXatGmTNm3apCVLlujhhx9W586drS4RAAAAAACE0b9LSyRfPQ3tKj9jDXS4hCQAnDx5sn7xi18EbZ1y165dNXXq1KD0FU4XXnihBg4cqEGDBvmXCBcWFmrp0qV68803tW/fPj3yyCN69tlnG11LDgAAAAAA7KNvUifll5fXbWhXmVi7SjstFZIAcOHChaHots257bbb6ryWkpKi6667Tj179tQTTzyh3NxcLVu2TGPHjrWgQgAAAAAAYAXDPP5oz4j/wiekdwFGYBdeeKEGDBigbdu2ad26dY0GgNnZ2Zo/f37A9smTJwd9lmRxhVs6HNQuAQCwTGJiov/6xFZJTk4Oep/uDu6g9wkAgFUiYbwOq9YeaqQlaO3oX11bQwBoof79+2vbtm06dOhQo9uWl5crPz8/YHtFRYWcTmcwy5PDcAS1PwAArORwWD+uBXusliSD8RoAYCORMF6Hj6FWJ3gRF5ZGWiKJE8ISAObl5WnNmjU6cOCASkpK5PV6G93n4YcfDkNlbYfb7VaXLl0Ctrtcriad1+bwmfVdjRQAgLbJ5/MFdUZBS8K8YI/VkmQyXgMAbCTY47UUmg/ggsJUEGbMEbihaUIaAH711Vf67W9/q2XLljV73/YQAO7YsUOSdNpppzW6bWZmpjIzMwO2FxQUqKioKGi1SVJ5dT0XIwUAoI0qLi4OagCXmpra7H2CPVZLUnkZ4zUAwD6CPV5LLRuzwyIM1wCs1X1LssJT6iNubLtCFgB++OGHmjx5sqqqqhpN7w3DqLWNYbT9bynTNBs8jnXr1mnbtm2SpOHDh4erLAAAAAAA0E7USiUibbUwwiokAeCRI0eUkZGhyspKuVwu3X///brkkks0duxYGYahxx57TOeff76+/fZbLVmyREuWLJFhGJo6dWrQb2RhlZdeekmGYWjEiBHq16+fYmNjJR3/5P+f//yn3nzzTUlS9+7dlZ6ebmWpAAAAAAAg3IKyBDhITq6j7c/JQj1CEgC++OKLKikpkWEYWrx4cZ2Aa9CgQbriiiskSXfddZc+//xzTZ48Wa+++qoGDBigX//616EoK6w8Ho+WL1+u999/X4ZhyOVySTp+M48TevfurRkzZig6OtqqMgEAAAAAgFUiJQA8WThrisTjt6mQBICffPKJDMPQ2LFjmzS77aKLLtKSJUs0bNgwTZ8+XZdddpnOP//8UJQWNmPHjlViYqJ27Nih/Px8lZaWyufzKSUlRX369NHFF1+sSy+9VFFR3IgZAAAAAACESEtCNmYB2k5I0qevv/5aknTZZZfV215TU1PntfPOO0/XXXedsrOz9fLLLysrKysUpQVVenp6wIDz7LPP1tlnnx3migAAAAAAQFtghOEmIC0WqXWhxRyh6PTo0aOSpLS0tFqvn1jqWlFRUe9+I0eOlCQtX748FGUBAAAAAABEBpMHwickAWBMTEy9ryckJEiSDh48WG/7ievkBWoHAAAAAACwD6OdPxAuIQkAzzjjDElSYWFhrdd79+4tSdq4cWO9++3evVtS/UuEAQAAAAAAbMXqGXhWPxA2IQkABw0aJOn7awGeMHz4cJmmqQ8++ECHDx+u1VZVVaW5c+dKknr06BGKsgAAAAAAACJDM4Iyow09CAAjU0gCwB/+8IcyTVOrVq2q9fr1118vSSovL9ePf/xjLVmyRDt37tSHH36oSy+9VLm5uTIMQ+PGjQtFWQAAAAAAABHhSHmFLRfKsgA4MoUkADwR4H311Vfas2eP//WLL75Y48ePl2ma2rx5s8aNG6dzzjlHV111lb788ktJUmpqqn71q1+FoiwAAAAAAICIUFFVLfnUvh8Im6hQdNqvXz+9+uqrqqioUFVVVa22efPm6dprr9WSJUvq7Ne9e3ctWrRIp512WijKAgAAAAAAiAg9khJ1sKTE6jLQToQkAJSkG264od7X3W63PvjgA/3f//2fPvnkEx06dEhut1vDhg3T1VdfHfAOwgg/r8nNWAB8zymfkqPKuVRHCMQbx1TmjRYLIUKn2mffMa36mH2PDUDLmT6TYSUU+EUopNrlmMb3FMIkZAFgY0aMGKERI0ZY9fZoCn5hAHCSjlGV6u/+zuoybKm4Jk5bytOsLsPWKnwxSrK6CAAIN4IFtDFGe/umDdaNMCLlb/d29q+vrbEsAETkc/LtAQCwCadh3zEtOsa+xwYAaF+iYqKtLiG8ghUA/qcPwwhvEmiaJH5tCb8xAgAAAAAAWCCokV2dQC7YgWDt/iNl4iGaplUB4C233BKsOmoxDEN//etfQ9I3AAAAAACA5YI1A7DBNziZ0bzUjhl+ttKqAPCVV14J2RRTAkAAAAAAAGBrYc3YzNrvV1+eQ+hnW61eAhyKNd/hXrceKsuWLdOcOXMa3S47O1sdO3YMQ0UAAAAAACASGKYhw7Qw/6g3zrFHHoO6WhUAfvvtt8Gqw9YcDkeDAZ9dAk8AAAAAAABEnlYFgD169AhWHbaWmpqquXPnWl0GAAAAAACIFCG/BmBdDU0/YvGvvXEXYAAAAAAAgHALcQDY3LWGgbYnGLQHAsAmKCsr0+rVq7VhwwYdOHBAR44cUU1NjTp16qTBgwdrwoQJ6tq1q9VlAgAAAACANsJQ27jiXluoEY0jAGyCnJwcLViwQJLkdDrlcrlUVVWlvLw85eXlacWKFZo+fbrOP/98awsFAAAAAABtB9PrECYEgE2QkpKiKVOmaPjw4erevbucTqe8Xq/27t2r7OxsrV+/Xk8//bRefvllxcXF1dm/uLhY9913n/79739Lkjp16qRBgwZp3Lhx6tmzZ5iPBgAAAAAAWM6CawBGnPZ+/GHksLqAtmDs2LG67rrr1KtXLzmdTknHZwL26dNH06dPV7du3VRcXKzVq1fXu39VVZW+/fZbRUdHy+v16uDBg/rkk09033336Z133gnnoQAAAAAAgEhgNvwwbPBo7BgRPswAbKXo6Gidf/752r9/v7Zv36709HR/W0pKiq6//nqNGDFCXbt2VXR0tGpqarRt2za99tpr2rlzp/7+978rJSVFP/rRjyw8CgAAAAAAEE4Hioptf309ux9fW0IA2EQHDhzQ+++/r61btyo/P1+VlZUyzdpxdWFhYa2vhwwZoiFDhtR6LSoqSuedd55+97vfafr06dqxY4deffVV/fCHP5TDwYRMAAAAAADaA1dUtOSzugq0FwSATbBy5UrNnj1bNTU1kiTDMORyuRQdHS1JqqysVGVlpaqqqprcZ3R0tDIzM/XQQw+poKBAe/bsUd++fQNun52drfnz5wdsnzx5sqZOndrk92+K4gq3dDioXQIAYJnExMQ6H96FW3JyctD7dHdwB71PAACsEgnjdbh0cru02zzStI3b+lS69vGvNKIRADaiuLhYWVlZqqmp0cCBA3XjjTeqb9++/vBPOh7OLVy4sNk/pPr37+9/fujQoQYDwPLycuXn5wdsr6io8F+fMFgcBjMSAQD2EQkz7YM9VkuSwXgNALCRSBivIxIBGlqJALAR69evl8fjUVxcnB566CG5XK462xw9ejTkdbjdbnXp0iVgu8vlktfrDep7+kzmIgMA7MPn8wV1RkFLwrxgj9WSZDJeAwBsJNjjtRSaD+CCghthIIwIABtRUFAgSUpLS6s3/DNNU1u2bGlR3zt27PA/P+200xrcNjMzU5mZmQ3WWVRU1KI6AimvLg9qfwAAWKm4uDioAVxqamqz9wn2WC1J5WWM1wAA+wj2eC21bMwOixAEgIb//0KrnazSthUCwEa43cevq/Pdd9+purq61tJfSVq+fLkOHjxYZz/TNGUYgf+rq6mp0bx58yRJnTp1Up8+fYJYNQAAAAAAiGSGQpTVhSGca+uXJGyPWFzfiMGDB8swDJWWlmr27Nn+T+49Ho9ycnKUlZWlhISEOvvl5+fr17/+tT7++GN99913/te9Xq+2bNmi6dOn6+uvv5YkTZ06lescAAAAAADQ3pgR/vCd9AhF/y1w+PBh/epXv1K/fv0UHx+v1NRUXX755Xr33Xdb1uF/VFdX65lnntEFF1ygjh07qmPHjvqv//ovPfvss6qurg6430033STDMBp8DBo0KCTv3RzMAGxEWlqaxo8fr8WLF2vVqlVatWqV3G63PB6PfD6fhgwZon79+mnhwoV19t25c6d27twpSYqJiVFcXJwqKir8dxOOiorS1KlTNXLkyHAeEgAAAAAAsJrF1wA8dblwo8t6I2DZ79atWzV69Gj/TVITEhJ09OhRLV26VEuXLtU999yjOXPmNLvfsrIyXXbZZVq7dq0kKS4uTtLx+0KsX79eb731lpYuXepfJVqfuLg4JSYm1tvW0DL0YLx3UzDtrAmmTZumu+66S71791Z0dLR8Pp969+6tW2+9VQ8//HC9s/eSkpJ0++2364c//KHS0tIUGxur8vJyxcTEqFevXho/fryef/55/fSnP7XgiAAAAAAAgJUMix+nzsazpIZmqKqq0vjx45Wfn69Bgwbpq6++UklJiUpKSvT444/LMAw999xz+vvf/97MnqU77rhDa9euVVJSkhYtWqSKigpVVFRo0aJFSkpK0ueff64777yzwT6uu+46HTp0qN7HihUrQvreTcEMwCYaM2aMxowZU29bRkaGMjIyar0WGxurcePGady4ceEoDwAAAAAAtCWRcBdgq9+/GV566SXt2bNHLpdLH3zwgbp37y5JcrlcmjFjhvLy8pSVlaUHH3xQmZmZde7hEMimTZv0xhtvSJLmzp2riRMn+tsmTpwor9era665Rq+//rp+85vfNLqctznC+d7MAAQAAAAAALCbU2f4NeERjGv0hUp2drYk6frrr/eHfyf77W9/K8MwdPDgQX366adN7nfevHkyTVN9+/bV1VdfXad90qRJ6tu3r0zT1Pz581t+ABa/NwEgAAAAAACAFUJ08w6jniW9TVFnmW6gYDDMNwEpKyvTunXrJEljx46td5vu3bvrnHPOkSQtW7asyX0vX75c0vGVn4ZR90wZhqHLL7+82f1G2nsTAAIAAAAAAIRZU2bktfQRkkAxFHU20fbt22X+5y4lDS2DPdG2bdu2JvVrmqa2b9/e5H5PbFufZcuWqV+/foqNjVViYqIuuOACPfTQQ/ruu+9C/t5NQQAIAAAAAADQFoRyNl6YZvO1RF5env95165dA253ou3k7RtSWlqq8vLyJvdbWlqqsrKyerc5cOCA9u7dK7fbrbKyMm3YsEGPP/64BgwYUO/svWC+d1MQAAIAAAAAAIRbhIVsrRbC4zk5+HK5XAG3O9FWWloakn7r63vo0KH605/+pH379qmqqkqFhYU6evSosrOzdcYZZ6iwsFATJkzQzp07g/7ezcFdgAEAAAAAAMKtkRCsqdfti3SRnlu21j333FPntYSEBE2ZMkWXXHKJhgwZoqKiIs2cOTPoNxFpDgJAAAAAAACAMPv2u0K9knFpi/a9ed7KIFfTen+f0vxj2bVtqy64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QUHI62xrHnzwQa1evVovv/yyXnrpJX366ae688471atXrzrb8nMDp2K8Di3G69BhzA4dxuvQYcwG0FwOqwsAGpOamiqPx6N9+/Y1e9+9e/eqoqKi0WsQ4fh1QFryQP1qamoUExMjhyPwj1m3263HHntMAwYMUGlpqR566CF9/fXXYayy7Qp0R8ATr7vd7gb3j4+PV3V1ddDrsoOLL75Yf/rTn/TjH/9Yu3bt0q9+9Sv99a9/JZhBoxivw4PxOvgYs0OH8Tq0GLMBNAczABHxhg0bppycHD3zzDN6+OGH1alTpybtd+TIET377LP+O4ihfomJiSopKdH999+v//qv/2rWvqWlpbrjjjtCVFnblpycrIKCApWWliohISHgdnFxcZo5c6Yee+wxbd68WTNnztSDDz4YxkrbpsTERB06dEiVlZWKi4tr9v4ej6fObAR8z+Vy6a677tKoUaP0wgsvKCcnR6tXr9att96qESNGWF0eIhTjdWgxXocOY3boMF6HHmM2gKYiAETEu+aaa7RixQrt27dPd955py699FINGTJEPXr0UEpKiv8TxKqqKhUWFio3N1cbNmzQypUrVVlZqaSkJE2ePNnio4hcffv21YYNG3Tw4MFGP4U9ldfrDVFVbV+vXr1UUFCgf/3rX7rkkksa3DY2NlYPP/ywnnjiCX311Vd69NFH5fP5wlRp29S1a1cdOnRI//73v9WnT59abfPnz29wqcvhw4dVXV2tlJSUUJfZ5g0YMEDPPfecFi5cqH/84x966qmndMEFF+iOO+7gDzLUwXgdWozXocOYHTqM1+HDmA2gMQSAiHgdO3bUE088occff1zfffedli5dqqVLlza6n2maOu200/Tggw8y6DWgT58+Wr9+PRdeD7LzzjtPX3zxhZYvX97oHxPS8etfPfjgg5o1a5a+/PJLSVyvpSF9+/bV+vXrtXXr1jp/UDT2h/HGjRslSf369QtZfXYSFRWljIwM/fCHP1RWVpa+/PJLbdmyRVdddZXVpSHCMF6HFuN16DBmhw7jdXgxZgNoCNcARJvQvXt3ZWVl6bbbbvNfcLmha9z069dPt912m7KystS9e3crS494J34Z2717t8WV2MtFF10kSdqwYYO+/fbbJu0THR2t6dOn+/dFYBdeeKHGjBmjDh06NHvfJUuWSDr+Bx+arlu3bpo1a5Z+8YtfyOFw+O/eCJyM8Tp0GK9DhzE7dBivrcGYDaA+hslVgdEGVVZWav/+/SoqKpLH45F0/CLBKSkpSktLa9E1RtqrsrIyrV27VpI0evRoPsEOooKCAvl8PnXo0EEul6vJ+/l8Pm3fvl2maWrQoEEhrLD98fl8/rsJpqSkKCqKifAtUVRUpFdffVWHDx+WJD3xxBMWV4RIxXgdPIzXocWYHVkYr4OHMRvACQSAAAAAAAAAgI2xBBgAAAAAAACwMQJAAAAAAAAAwMYIAAEAAAAAAAAbIwAEAAAAAAAAbIwAEAAAAAAAALAxAkAAAAAAAADAxggAAQAAAAAAABsjAAQAAAAAAABsjAAQAAAAAAAAsDECQAAAAAAAAMDGCAABAAAAAAAAGyMABAAAAAAAAGyMABAAAAAAAACwMQJAAAAAAAAAwMYIAAEAAAAAAAAbIwAEAAAAAAAAbIwAEAAAtDsrVqyQYRgyDEMzZ86UJO3YsUO//OUv1b9/f7ndbiUnJ+sHP/iBnn32WVVVVTXap8fj0QsvvKAf//jHOuOMMxQTE6NOnTpp2LBhevDBB3Xw4MFG+6iqqtJf/vIX/eQnP9GZZ56puLg4uVwude/eXUOHDlVmZqZeeeUVlZWVtfYUAAAAoB0xTNM0rS4CAAAgnFasWKFRo0ZJkv7nf/5H55xzjm655RZVVFTUu/3ZZ5+tjz76SD169Ki3fd26dZo0aZL2798f8D1dLpeef/553XLLLfW2f/vttxo7dqx27tzZaP1vvfWWJk+e3Oh2AAAAgCRFWV0AAACAldavX69Zs2apurpaGRkZSk9PV3x8vLZu3aq//e1vysvL09dff61Ro0Zp48aNSkxMrLX/pk2bNGrUKJWXl0uSBgwYoBtuuEG9evVSYWGh3n33XX3yySeqqKjQtGnTZJqmpk2bVqeOyZMn+8O/s88+W9dcc4169OihxMRElZSUaMeOHVq5cqW++OKL0J8UAAAA2AozAAEAQLtz8gxA6fjsvA8++EAjR46std3Ro0d1xRVX6PPPP5ck3XHHHXrxxRf97T6fT4MHD9aWLVskSbfeeqv+/Oc/Kyqq9mesf/3rX3XbbbfJNE25XC5t3bpVPXv29Ld/+eWXGjZsmCTpmmuu0YIFC+Rw1H+lln379sk0zVr7AwAAAA3hGoAAAKDdmzVrVp3wT5KSkpL01ltvqUOHDpKkV155RYcPH/a3f/DBB/7w77zzztOLL75YJ/yTpGnTpumOO+6QJFVUVGjOnDm12nfv3u1/ftNNNwUM/ySpR48ehH8AAABoFgJAAADQriUlJem2224L2H7mmWdqypQpko7fpOO9997zty1atMj//Fe/+pWcTmfAfh544AEZhlFnP0lyu93+5+vXr2/eAQAAAACNIAAEAADt2iWXXKK4uLgGt7nsssv8z0++Bt/atWv9zy+//PIG++jRo4fOPvtsSVJubq7y8vL8bRdffLFcLpck6dFHH9V9992njRs3iiu1AAAAIBgIAAEAQLvWr1+/Zm1z8OBB//MTIV5CQoJOP/30Rvs566yz6uwrSSkpKZozZ44cDodqamo0Z84cDR06VJ07d9ZVV12l3//+99q4cWOTjgcAAAA4FQEgAABo105eftuUbUpLS+s8b0ofkvzXEjy1H+n4DUQ+++wzXX755f5rAB45ckTvv/++HnjgAQ0dOlTnnXeelixZ0qT3AgAAAE4gAAQAAO1aeXl5s7ZJSEio87wpfUhSWVlZvf2ccMkll+jjjz9WQUGBcnJy9P/9f/+fLrnkEv+NRTZv3qwrrrhCr7zySpPeDwAAAJAIAAEAQDt38h14m7JN165d/c/POOMMScdn83333XeN9rNz5856+zlVcnKyrrrqKj355JNatWqVDh48qLvvvtvf/qtf/UrV1dWNvh8AAAAgEQACAIB2btWqVaqqqmpwm3/+85/+5xdeeGG9zz/55JMG+8jNzdXXX38tSerevXuTrhl4QufOnfX8889r8ODBkqTCwkJt3bq1yfsDAACgfSMABAAA7drRo0c1d+7cgO15eXmaN2+eJCk2Nlbjxo3zt02aNMn//Omnn5bX6w3Yz+9//3v/XX1P3q85evXq5X9eU1PToj4AAADQ/hAAAgCAdu///b//p5UrV9Z5vaSkRNdee63/hh0333yzOnfu7G+/4oordO6550qS/vWvf+kXv/hFvcHcK6+8ohdffFGS5HK5dO+999Zqnzdvnv761782eC3BnTt3atmyZZKkuLg49e/fv5lHCQAAgPYqyuoCAAAArDRu3DgtXbpUo0eP1s9+9jOlp6crPj5e27Zt01//+lcdPHhQ0vHZd7///e9r7etwOJSdna0RI0aovLxcL7/8sj7//HPdcMMN6tmzpwoLC7V48WJ99NFH/n2ee+459ejRo1Y/u3bt0iOPPKJ77rlHl112mYYNG6bu3bsrPj5ehw8f1hdffKG3337bHxDec8899d5EBAAAAKiPYZ5YiwIAANBOrFixQqNGjZIk/c///I8GDBigm2++WRUVFfVu379/f3300Ufq2bNnve3r1q3T1VdfrQMHDgR8T5fLpeeee07Tpk2r0/bII49o5syZjdZtGIbuvPNOzZkzR06ns9HtAQAAAIkZgAAAALr22ms1ePBgPf/88/rkk0/073//W9HR0erfv7+uu+463XXXXYqNjQ24/7Bhw7Rz507NnTtXixcv1pYtW1RYWKgOHTqod+/eGjNmjO66666Ad/6dMWOGRo0apeXLl+uLL77Qjh07lJeXp2PHjvn7uPjii3XLLbdoyJAhoToNAAAAsClmAAIAgHbn1BmATZl9BwAAALRV3AQEAAAAAAAAsDECQAAAAAAAAMDGCAABAAAAAAAAGyMABAAAAAAAAGyMABAAAAAAAACwMe4CDAAAAAAAANgYMwABAAAAAAAAGyMABAAAAAAAAGyMABAAAAAAAACwMQJAAAAAAAAAwMYIAAEAAAAAAAAbIwAEAAAAAAAAbIwAEAAAAAAAALAxAkAAAAAAAADAxggAAQAAAAAAABsjAAQAAAAAAABsjAAQAAAAAAAAsDECQAAAAAAAAMDGCAABAAAAAAAAGyMABAAAAAAAAGyMABAAAAAAAACwMQJAAAAAAAAAwMYIAAEAAAAAAAAbIwAEAAAAAAAAbIwAEAAAAAAAALAxAkAAAAAAAADAxggAAQAAAAAAABsjAAQAAAAAAABsjAAQAAAAAAAAsDECQAAAAAAAAMDGCAABAAAAAAAAG/v/ASmJDz0wAyRiAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ]