From 9b0f4d7602f70031cc1a5fd66616cbe6bb4d78d3 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 20 May 2024 21:20:25 +0800 Subject: [PATCH 01/14] add kto to webui --- src/llamafactory/webui/components/train.py | 21 +++++-- src/llamafactory/webui/locales.py | 72 +++++++++++++++------- src/llamafactory/webui/runner.py | 36 +++++++---- 3 files changed, 91 insertions(+), 38 deletions(-) diff --git a/src/llamafactory/webui/components/train.py b/src/llamafactory/webui/components/train.py index be853604bb..9b48c89a2c 100644 --- a/src/llamafactory/webui/components/train.py +++ b/src/llamafactory/webui/components/train.py @@ -184,14 +184,25 @@ def create_train_tab(engine: "Engine") -> Dict[str, "Component"]: with gr.Accordion(open=False) as rlhf_tab: with gr.Row(): - dpo_beta = gr.Slider(minimum=0, maximum=1, value=0.1, step=0.01) - dpo_ftx = gr.Slider(minimum=0, maximum=10, value=0, step=0.01) - orpo_beta = gr.Slider(minimum=0, maximum=1, value=0.1, step=0.01) + pref_beta = gr.Slider(minimum=0, maximum=1, value=0.1, step=0.01) + pref_ftx = gr.Slider(minimum=0, maximum=10, value=0, step=0.01) + pref_loss = gr.Dropdown(choices=["sigmoid", "hinge", "ipo", "kto_pair"], value="sigmoid") reward_model = gr.Dropdown(multiselect=True, allow_custom_value=True) + with gr.Column(): + ppo_score_norm = gr.Checkbox() + ppo_whiten_rewards = gr.Checkbox() - input_elems.update({dpo_beta, dpo_ftx, orpo_beta, reward_model}) + input_elems.update({pref_beta, pref_ftx, pref_loss, reward_model, ppo_score_norm, ppo_whiten_rewards}) elem_dict.update( - dict(rlhf_tab=rlhf_tab, dpo_beta=dpo_beta, dpo_ftx=dpo_ftx, orpo_beta=orpo_beta, reward_model=reward_model) + dict( + rlhf_tab=rlhf_tab, + pref_beta=pref_beta, + pref_ftx=pref_ftx, + pref_loss=pref_loss, + reward_model=reward_model, + ppo_score_norm=ppo_score_norm, + ppo_whiten_rewards=ppo_whiten_rewards, + ) ) with gr.Accordion(open=False) as galore_tab: diff --git a/src/llamafactory/webui/locales.py b/src/llamafactory/webui/locales.py index 7afe6ec31b..bd4a420541 100644 --- a/src/llamafactory/webui/locales.py +++ b/src/llamafactory/webui/locales.py @@ -774,52 +774,52 @@ "label": "RLHF 参数设置", }, }, - "dpo_beta": { + "pref_beta": { "en": { - "label": "DPO beta", - "info": "Value of the beta parameter in the DPO loss.", + "label": "Beta value", + "info": "Value of the beta parameter in the loss.", }, "ru": { - "label": "DPO бета", - "info": "Значение параметра бета в функции потерь DPO.", + "label": "Бета значение", + "info": "Значение параметра бета в функции потерь.", }, "zh": { - "label": "DPO beta 参数", - "info": "DPO 损失函数中 beta 超参数大小。", + "label": "Beta 参数", + "info": "损失函数中 beta 超参数大小。", }, }, - "dpo_ftx": { + "pref_ftx": { "en": { - "label": "DPO-ftx weight", - "info": "The weight of SFT loss in the DPO-ftx.", + "label": "Ftx gamma", + "info": "The weight of SFT loss in the final loss.", }, "ru": { - "label": "Вес DPO-ftx", - "info": "Вес функции потерь SFT в DPO-ftx.", + "label": "Ftx гамма", + "info": "Вес потери SFT в итоговой потере.", }, "zh": { - "label": "DPO-ftx 权重", - "info": "DPO-ftx 中 SFT 损失的权重大小。", + "label": "Ftx gamma", + "info": "损失函数中 SFT 损失的权重大小。", }, }, - "orpo_beta": { + "pref_loss": { "en": { - "label": "ORPO beta", - "info": "Value of the beta parameter in the ORPO loss.", + "label": "Loss type", + "info": "The type of the loss function.", }, "ru": { - "label": "ORPO бета", - "info": "Значение параметра бета в функции потерь ORPO.", + "label": "Тип потерь", + "info": "Тип функции потерь.", }, "zh": { - "label": "ORPO beta 参数", - "info": "ORPO 损失函数中 beta 超参数大小。", + "label": "损失类型", + "info": "损失函数的类型。", }, }, "reward_model": { "en": { "label": "Reward model", - "info": "Adapter of the reward model for PPO training.", + "info": "Adapter of the reward model in PPO training.", }, "ru": { "label": "Модель вознаграждения", @@ -830,6 +830,34 @@ "info": "PPO 训练中奖励模型的适配器路径。", }, }, + "ppo_score_norm": { + "en": { + "label": "Score norm", + "info": "Normalizing scores in PPO training.", + }, + "ru": { + "label": "Норма оценок", + "info": "Нормализация оценок в тренировке PPO.", + }, + "zh": { + "label": "奖励模型", + "info": "PPO 训练中归一化奖励分数。", + }, + }, + "ppo_whiten_rewards": { + "en": { + "label": "Whiten rewards", + "info": "Whiten the rewards in PPO training.", + }, + "ru": { + "label": "Белые вознаграждения", + "info": "Осветлите вознаграждения в обучении PPO.", + }, + "zh": { + "label": "白化奖励", + "info": "PPO 训练中将奖励分数做白化处理。", + }, + }, "galore_tab": { "en": { "label": "GaLore configurations", diff --git a/src/llamafactory/webui/runner.py b/src/llamafactory/webui/runner.py index ef911a16ff..24046e6233 100644 --- a/src/llamafactory/webui/runner.py +++ b/src/llamafactory/webui/runner.py @@ -145,11 +145,14 @@ def _parse_train_args(self, data: Dict["Component", Any]) -> Dict[str, Any]: plot_loss=True, ) + # freeze config if args["finetuning_type"] == "freeze": args["freeze_trainable_layers"] = get("train.freeze_trainable_layers") args["freeze_trainable_modules"] = get("train.freeze_trainable_modules") args["freeze_extra_modules"] = get("train.freeze_extra_modules") or None - elif args["finetuning_type"] == "lora": + + # lora config + if args["finetuning_type"] == "lora": args["lora_rank"] = get("train.lora_rank") args["lora_alpha"] = get("train.lora_alpha") args["lora_dropout"] = get("train.lora_dropout") @@ -163,6 +166,7 @@ def _parse_train_args(self, data: Dict["Component", Any]) -> Dict[str, Any]: if args["use_llama_pro"]: args["num_layer_trainable"] = get("train.num_layer_trainable") + # rlhf config if args["stage"] == "ppo": args["reward_model"] = ",".join( [ @@ -171,31 +175,41 @@ def _parse_train_args(self, data: Dict["Component", Any]) -> Dict[str, Any]: ] ) args["reward_model_type"] = "lora" if args["finetuning_type"] == "lora" else "full" + args["ppo_score_norm"] = get("train.ppo_score_norm") + args["ppo_whiten_rewards"] = get("train.ppo_whiten_rewards") + args["top_k"] = 0 + args["top_p"] = 0.9 elif args["stage"] == "dpo": - args["dpo_beta"] = get("train.dpo_beta") - args["dpo_ftx"] = get("train.dpo_ftx") + args["dpo_beta"] = get("train.pref_beta") + args["dpo_ftx"] = get("train.pref_ftx") + args["dpo_loss"] = get("train.pref_loss") + elif args["stage"] == "kto": + args["kto_beta"] = get("train.pref_beta") + args["kto_ftx"] = get("train.pref_ftx") elif args["stage"] == "orpo": - args["orpo_beta"] = get("train.orpo_beta") - - if get("train.val_size") > 1e-6 and args["stage"] != "ppo": - args["val_size"] = get("train.val_size") - args["evaluation_strategy"] = "steps" - args["eval_steps"] = args["save_steps"] - args["per_device_eval_batch_size"] = args["per_device_train_batch_size"] - args["load_best_model_at_end"] = args["stage"] not in ["rm", "ppo"] + args["orpo_beta"] = get("train.pref_beta") + # galore config if args["use_galore"]: args["galore_rank"] = get("train.galore_rank") args["galore_update_interval"] = get("train.galore_update_interval") args["galore_scale"] = get("train.galore_scale") args["galore_target"] = get("train.galore_target") + # badam config if args["use_badam"]: args["badam_mode"] = get("train.badam_mode") args["badam_switch_mode"] = get("train.badam_switch_mode") args["badam_switch_interval"] = get("train.badam_switch_interval") args["badam_update_ratio"] = get("train.badam_update_ratio") + # eval config + if get("train.val_size") > 1e-6 and args["stage"] != "ppo": + args["val_size"] = get("train.val_size") + args["evaluation_strategy"] = "steps" + args["eval_steps"] = args["save_steps"] + args["per_device_eval_batch_size"] = args["per_device_train_batch_size"] + return args def _parse_eval_args(self, data: Dict["Component", Any]) -> Dict[str, Any]: From 7262679666bf70816911ff2434c7c7ccbca26378 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 20 May 2024 21:43:19 +0800 Subject: [PATCH 02/14] fix #3818 --- data/hh_rlhf_en/hh_rlhf_en.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data/hh_rlhf_en/hh_rlhf_en.py b/data/hh_rlhf_en/hh_rlhf_en.py index 1bc18f4f58..aa108fa763 100644 --- a/data/hh_rlhf_en/hh_rlhf_en.py +++ b/data/hh_rlhf_en/hh_rlhf_en.py @@ -34,7 +34,8 @@ def _info(self) -> datasets.DatasetInfo: features = datasets.Features( { "instruction": datasets.Value("string"), - "output": datasets.Sequence(datasets.Value("string")), + "chosen": datasets.Value("string"), + "rejected": datasets.Value("string"), "history": datasets.Sequence(datasets.Sequence(datasets.Value("string"))), } ) From 542229abb3aba2032d4c52a878c0fd35ba299691 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 20 May 2024 23:36:43 +0800 Subject: [PATCH 03/14] fix paligemma inference --- src/llamafactory/chat/hf_engine.py | 25 ++++++++++++++++++------ src/llamafactory/chat/vllm_engine.py | 29 +++++++++++++++++----------- src/llamafactory/data/template.py | 11 ++++++++--- src/llamafactory/extras/constants.py | 2 ++ 4 files changed, 47 insertions(+), 20 deletions(-) diff --git a/src/llamafactory/chat/hf_engine.py b/src/llamafactory/chat/hf_engine.py index 57cdc89adf..f59029a153 100644 --- a/src/llamafactory/chat/hf_engine.py +++ b/src/llamafactory/chat/hf_engine.py @@ -8,6 +8,7 @@ from transformers import GenerationConfig, TextIteratorStreamer from ..data import get_template_and_fix_tokenizer +from ..extras.constants import IMAGE_TOKEN from ..extras.misc import get_logits_processor from ..model import load_model, load_tokenizer from .base_engine import BaseEngine, Response @@ -55,14 +56,28 @@ def _process_args( image: Optional["NDArray"] = None, input_kwargs: Optional[Dict[str, Any]] = {}, ) -> Tuple[Dict[str, Any], int]: - if processor is not None and image is not None and "" not in messages[0]["content"]: - messages[0]["content"] = "" + messages[0]["content"] + if ( + processor is not None + and image is not None + and not hasattr(processor, "image_seq_length") + and IMAGE_TOKEN not in messages[0]["content"] + ): # llava case + messages[0]["content"] = IMAGE_TOKEN + messages[0]["content"] paired_messages = messages + [{"role": "assistant", "content": ""}] system = system or generating_args["default_system"] + pixel_values = None prompt_ids, _ = template.encode_oneturn( tokenizer=tokenizer, messages=paired_messages, system=system, tools=tools ) + if processor is not None and image is not None: # add image features + image_processor: "BaseImageProcessor" = getattr(processor, "image_processor") + batch_feature = image_processor(image, return_tensors="pt") + pixel_values = batch_feature.to(model.device)["pixel_values"] # shape (B, C, H, W) + if hasattr(processor, "image_seq_length"): # paligemma case + image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) + prompt_ids = [image_token_id] * getattr(processor, "image_seq_length") + prompt_ids + prompt_length = len(prompt_ids) inputs = torch.tensor([prompt_ids], device=model.device) @@ -122,10 +137,8 @@ def _process_args( logits_processor=get_logits_processor(), ) - if processor is not None and image is not None: - image_processor: "BaseImageProcessor" = getattr(processor, "image_processor") - pixel_values: "torch.Tensor" = image_processor(image, return_tensors="pt")["pixel_values"] - gen_kwargs["pixel_values"] = pixel_values.to(model.device) + if pixel_values is not None: + gen_kwargs["pixel_values"] = pixel_values return gen_kwargs, prompt_length diff --git a/src/llamafactory/chat/vllm_engine.py b/src/llamafactory/chat/vllm_engine.py index 44b9651f73..31d03fbeb8 100644 --- a/src/llamafactory/chat/vllm_engine.py +++ b/src/llamafactory/chat/vllm_engine.py @@ -2,6 +2,7 @@ from typing import TYPE_CHECKING, AsyncGenerator, AsyncIterator, Dict, List, Optional, Sequence, Union from ..data import get_template_and_fix_tokenizer +from ..extras.constants import IMAGE_TOKEN from ..extras.logging import get_logger from ..extras.misc import get_device_count, infer_optim_dtype from ..extras.packages import is_vllm_available @@ -17,7 +18,6 @@ if TYPE_CHECKING: - import torch from numpy.typing import NDArray from transformers.image_processing_utils import BaseImageProcessor @@ -67,7 +67,7 @@ def __init__( patch_size = config.vision_config.patch_size self.image_feature_size = (image_size // patch_size) ** 2 engine_args["image_input_type"] = "pixel_values" - engine_args["image_token_id"] = self.tokenizer.convert_tokens_to_ids("") + engine_args["image_token_id"] = self.tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) engine_args["image_input_shape"] = "1,3,{},{}".format(image_size, image_size) engine_args["image_feature_size"] = self.image_feature_size if getattr(config, "is_yi_vl_derived_model", None): @@ -92,14 +92,28 @@ async def _generate( **input_kwargs, ) -> AsyncIterator["RequestOutput"]: request_id = "chatcmpl-{}".format(uuid.uuid4().hex) - if self.processor is not None and image is not None and "" not in messages[0]["content"]: - messages[0]["content"] = "" * self.image_feature_size + messages[0]["content"] + + if ( + self.processor is not None + and image is not None + and not hasattr(self.processor, "image_seq_length") + and IMAGE_TOKEN not in messages[0]["content"] + ): # llava case + messages[0]["content"] = IMAGE_TOKEN * self.image_feature_size + messages[0]["content"] paired_messages = messages + [{"role": "assistant", "content": ""}] system = system or self.generating_args["default_system"] prompt_ids, _ = self.template.encode_oneturn( tokenizer=self.tokenizer, messages=paired_messages, system=system, tools=tools ) + + if self.processor is not None and image is not None: # add image features + image_processor: "BaseImageProcessor" = getattr(self.processor, "image_processor") + pixel_values = image_processor(image, return_tensors="pt")["pixel_values"] + multi_modal_data = MultiModalData(type=MultiModalData.Type.IMAGE, data=pixel_values) + else: + multi_modal_data = None + prompt_length = len(prompt_ids) use_beam_search: bool = self.generating_args["num_beams"] > 1 @@ -144,13 +158,6 @@ async def _generate( skip_special_tokens=True, ) - if self.processor is not None and image is not None: - image_processor: "BaseImageProcessor" = getattr(self.processor, "image_processor") - pixel_values: "torch.Tensor" = image_processor(image, return_tensors="pt")["pixel_values"] - multi_modal_data = MultiModalData(type=MultiModalData.Type.IMAGE, data=pixel_values) - else: - multi_modal_data = None - result_generator = self.model.generate( prompt=None, sampling_params=sampling_params, diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index 66e9dca5f9..bf7133a963 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -290,10 +290,10 @@ def _convert_slots_to_jinja(slots: "SLOTS", tokenizer: "PreTrainedTokenizer", pl slot_items.append(placeholder) if slot_pieces[1]: slot_items.append("'" + _jinja_escape(slot_pieces[1]) + "'") - elif isinstance(slot, set): - if "bos_token" in slot: + elif isinstance(slot, set): # do not use {{ eos_token }} since it may be replaced + if "bos_token" in slot and tokenizer.bos_token_id is not None: slot_items.append("'" + tokenizer.bos_token + "'") - elif "eos_token" in slot: # do not use {{ eos_token }} since it may be replaced + elif "eos_token" in slot and tokenizer.eos_token_id is not None: slot_items.append("'" + tokenizer.eos_token + "'") elif isinstance(slot, dict): raise ValueError("Dict is not supported.") @@ -325,9 +325,11 @@ def _get_jinja_template(template: "Template", tokenizer: "PreTrainedTokenizer") jinja_template += "{% if loop.index0 == 0 and system_message is defined %}" jinja_template += "{% set content = " + system_message + " + message['content'] %}" jinja_template += "{% endif %}" + jinja_template += "{% if message['role'] == 'user' %}" user_message = _convert_slots_to_jinja(template.format_user.apply(), tokenizer) jinja_template += "{{ " + user_message + " }}" + jinja_template += "{% elif message['role'] == 'assistant' %}" assistant_message = _convert_slots_to_jinja( template.format_assistant.apply() + template.format_separator.apply(), tokenizer @@ -614,6 +616,9 @@ def get_template_and_fix_tokenizer( name="empty", format_user=StringFormatter(slots=["{{content}}"]), format_assistant=StringFormatter(slots=["{{content}}"]), + format_system=StringFormatter(slots=[{"bos_token"}, "{{content}}"]), + efficient_eos=True, + force_system=True, ) diff --git a/src/llamafactory/extras/constants.py b/src/llamafactory/extras/constants.py index fecf0c38f7..cf31ad6683 100644 --- a/src/llamafactory/extras/constants.py +++ b/src/llamafactory/extras/constants.py @@ -22,6 +22,8 @@ IGNORE_INDEX = -100 +IMAGE_TOKEN = "" + LAYERNORM_NAMES = {"norm", "ln"} METHODS = ["full", "freeze", "lora"] From e55c85ac72f4938738dbce576f83b47a1fea88ae Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 20 May 2024 23:51:32 +0800 Subject: [PATCH 04/14] fix paligemma data preprocess --- src/llamafactory/data/preprocess.py | 36 +++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/src/llamafactory/data/preprocess.py b/src/llamafactory/data/preprocess.py index 557678e63c..4bc5ad3c9b 100644 --- a/src/llamafactory/data/preprocess.py +++ b/src/llamafactory/data/preprocess.py @@ -2,7 +2,7 @@ from itertools import chain from typing import TYPE_CHECKING, Any, Callable, Dict, List, Literal, Optional, Sequence, Tuple -from ..extras.constants import IGNORE_INDEX +from ..extras.constants import IGNORE_INDEX, IMAGE_TOKEN from ..extras.logging import get_logger from ..extras.packages import is_pillow_available from .utils import Role @@ -80,11 +80,17 @@ def preprocess_supervised_dataset( logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) continue - if processor is not None: - examples["prompt"][i][0]["content"] = "" + examples["prompt"][i][0]["content"] + if processor is not None and not hasattr(processor, "image_seq_length"): # llava case + examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] messages = examples["prompt"][i] + examples["response"][i] input_ids, labels = [], [] + + if processor is not None and hasattr(processor, "image_seq_length"): # paligemma case + image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) + input_ids += [image_token_id] * getattr(processor, "image_seq_length") + labels += [image_token_id] * getattr(processor, "image_seq_length") + for turn_idx, (source_ids, target_ids) in enumerate( template.encode_multiturn( tokenizer, @@ -183,8 +189,8 @@ def preprocess_unsupervised_dataset( logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) continue - if processor is not None: - examples["prompt"][i][0]["content"] = "" + examples["prompt"][i][0]["content"] + if processor is not None and not hasattr(processor, "image_seq_length"): # llava case + examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] if len(examples["response"][i]) == 1: messages = examples["prompt"][i] + examples["response"][i] @@ -203,6 +209,10 @@ def preprocess_unsupervised_dataset( if template.efficient_eos: labels += [tokenizer.eos_token_id] + if processor is not None and hasattr(processor, "image_seq_length"): # paligemma case + image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) + input_ids = [image_token_id] * getattr(processor, "image_seq_length") + input_ids + model_inputs["input_ids"].append(input_ids) model_inputs["attention_mask"].append([1] * len(input_ids)) model_inputs["labels"].append(labels) @@ -230,8 +240,8 @@ def preprocess_pairwise_dataset( logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) continue - if processor is not None: - examples["prompt"][i][0]["content"] = "" + examples["prompt"][i][0]["content"] + if processor is not None and not hasattr(processor, "image_seq_length"): # llava case + examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] chosen_messages = examples["prompt"][i] + [examples["response"][i][0]] rejected_messages = examples["prompt"][i] + [examples["response"][i][1]] @@ -256,6 +266,10 @@ def preprocess_pairwise_dataset( chosen_ids += [tokenizer.eos_token_id] rejected_ids += [tokenizer.eos_token_id] + if processor is not None and hasattr(processor, "image_seq_length"): # paligemma case + image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) + prompt_ids = [image_token_id] * getattr(processor, "image_seq_length") + prompt_ids + model_inputs["prompt_ids"].append(prompt_ids) model_inputs["chosen_ids"].append(chosen_ids) model_inputs["rejected_ids"].append(rejected_ids) @@ -292,8 +306,8 @@ def preprocess_kto_dataset( logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) continue - if processor is not None: - examples["prompt"][i][0]["content"] = "" + examples["prompt"][i][0]["content"] + if processor is not None and not hasattr(processor, "image_seq_length"): # llava case + examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] if examples["response"][i][0]["content"]: # desired example kto_tag = True @@ -328,6 +342,10 @@ def preprocess_kto_dataset( response_ids += [tokenizer.eos_token_id] kl_response_ids += [tokenizer.eos_token_id] + if processor is not None and hasattr(processor, "image_seq_length"): # paligemma case + image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) + prompt_ids = [image_token_id] * getattr(processor, "image_seq_length") + prompt_ids + input_ids = prompt_ids + response_ids labels = [IGNORE_INDEX] * len(prompt_ids) + response_ids kl_input_ids = prompt_ids + kl_response_ids From 2a67457e3944d5e528286cb7203857c13078c484 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 21 May 2024 00:01:22 +0800 Subject: [PATCH 05/14] support paligemma --- README.md | 11 ++++++----- README_zh.md | 11 ++++++----- src/llamafactory/extras/constants.py | 22 ++++++++++++++++++++++ 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 601f67a92c..de84664506 100644 --- a/README.md +++ b/README.md @@ -69,12 +69,12 @@ Compared to ChatGLM's [P-Tuning](https://github.com/THUDM/ChatGLM2-6B/tree/main/ ## Changelog +[24/05/20] We supported fine-tuning the **PaliGemma** series models. Note that the PaliGemma models are pre-trained models, you need to fine-tune them with `gemma` template for chat completion. + [24/05/18] We supported **[KTO](https://arxiv.org/abs/2402.01306)** algorithm for preference learning. See [examples](examples/README.md) for usage. [24/05/14] We supported training and inference on the Ascend NPU devices. Check [installation](#installation) section for details. -[24/05/13] We supported fine-tuning the **Yi-1.5** series models. -
Full Changelog [24/04/26] We supported fine-tuning the **LLaVA-1.5** multimodal LLMs. See [examples](examples/README.md) for usage. @@ -160,6 +160,7 @@ Compared to ChatGLM's [P-Tuning](https://github.com/THUDM/ChatGLM2-6B/tree/main/ | [LLaVA-1.5](https://huggingface.co/llava-hf) | 7B/13B | q_proj,v_proj | vicuna | | [Mistral/Mixtral](https://huggingface.co/mistralai) | 7B/8x7B/8x22B | q_proj,v_proj | mistral | | [OLMo](https://huggingface.co/allenai) | 1B/7B | q_proj,v_proj | - | +| [PaliGemma](https://huggingface.co/google) | 3B | q_proj,v_proj | gemma | | [Phi-1.5/2](https://huggingface.co/microsoft) | 1.3B/2.7B | q_proj,v_proj | - | | [Phi-3](https://huggingface.co/microsoft) | 3.8B | qkv_proj | phi | | [Qwen](https://huggingface.co/Qwen) | 1.8B/7B/14B/72B | c_attn | qwen | @@ -284,10 +285,10 @@ huggingface-cli login | ------------ | ------- | --------- | | python | 3.8 | 3.10 | | torch | 1.13.1 | 2.2.0 | -| transformers | 4.37.2 | 4.40.1 | +| transformers | 4.37.2 | 4.41.0 | | datasets | 2.14.3 | 2.19.1 | -| accelerate | 0.27.2 | 0.30.0 | -| peft | 0.9.0 | 0.10.0 | +| accelerate | 0.27.2 | 0.30.1 | +| peft | 0.9.0 | 0.11.1 | | trl | 0.8.1 | 0.8.6 | | Optional | Minimum | Recommend | diff --git a/README_zh.md b/README_zh.md index 27b122b0e9..26db95d787 100644 --- a/README_zh.md +++ b/README_zh.md @@ -69,12 +69,12 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd ## 更新日志 +[24/05/20] 我们支持了 **PaliGemma** 系列模型的微调。注意 PaliGemma 是预训练模型,你需要使用 `gemma` 模板进行微调使其获得对话能力。 + [24/05/18] 我们支持了 **[KTO](https://arxiv.org/abs/2402.01306)** 偏好对齐算法。详细用法请参照 [examples](examples/README_zh.md)。 [24/05/14] 我们支持了昇腾 NPU 设备的训练和推理。详情请查阅[安装](#安装-llama-factory)部分。 -[24/05/13] 我们支持了 Yi-1.5 系列模型的微调。 -
展开日志 [24/04/26] 我们支持了多模态模型 **LLaVA-1.5** 的微调。详细用法请参照 [examples](examples/README_zh.md)。 @@ -160,6 +160,7 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd | [LLaVA-1.5](https://huggingface.co/llava-hf) | 7B/13B | q_proj,v_proj | vicuna | | [Mistral/Mixtral](https://huggingface.co/mistralai) | 7B/8x7B/8x22B | q_proj,v_proj | mistral | | [OLMo](https://huggingface.co/allenai) | 1B/7B | q_proj,v_proj | - | +| [PaliGemma](https://huggingface.co/google) | 3B | q_proj,v_proj | gemma | | [Phi-1.5/2](https://huggingface.co/microsoft) | 1.3B/2.7B | q_proj,v_proj | - | | [Phi-3](https://huggingface.co/microsoft) | 3.8B | qkv_proj | phi | | [Qwen](https://huggingface.co/Qwen) | 1.8B/7B/14B/72B | c_attn | qwen | @@ -284,10 +285,10 @@ huggingface-cli login | ------------ | ------- | --------- | | python | 3.8 | 3.10 | | torch | 1.13.1 | 2.2.0 | -| transformers | 4.37.2 | 4.40.1 | +| transformers | 4.37.2 | 4.41.0 | | datasets | 2.14.3 | 2.19.1 | -| accelerate | 0.27.2 | 0.30.0 | -| peft | 0.9.0 | 0.10.0 | +| accelerate | 0.27.2 | 0.30.1 | +| peft | 0.9.0 | 0.11.1 | | trl | 0.8.1 | 0.8.6 | | 可选项 | 至少 | 推荐 | diff --git a/src/llamafactory/extras/constants.py b/src/llamafactory/extras/constants.py index cf31ad6683..ae088e66bc 100644 --- a/src/llamafactory/extras/constants.py +++ b/src/llamafactory/extras/constants.py @@ -716,6 +716,28 @@ def register_model_group( ) +register_model_group( + models={ + "PaliGemma-3B-pt-224": { + DownloadSource.DEFAULT: "google/paligemma-3b-pt-224", + }, + "PaliGemma-3B-pt-448": { + DownloadSource.DEFAULT: "google/paligemma-3b-pt-448", + }, + "PaliGemma-3B-pt-896": { + DownloadSource.DEFAULT: "google/paligemma-3b-pt-896", + }, + "PaliGemma-3B-mix-224": { + DownloadSource.DEFAULT: "google/paligemma-3b-mix-224", + }, + "PaliGemma-3B-mix-448": { + DownloadSource.DEFAULT: "google/paligemma-3b-mix-448", + }, + }, + vision=True, +) + + register_model_group( models={ "Phi-1.5-1.3B": { From 789e73b0f4c7a71afde488de5e8c3cfccccdddfe Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 21 May 2024 17:09:43 +0800 Subject: [PATCH 06/14] Update wechat.jpg --- assets/wechat.jpg | Bin 149418 -> 148599 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/wechat.jpg b/assets/wechat.jpg index 63a44b5ec7ce51b66ee959ba4e5693418677198e..a5d44ade1ae5d7b6e1c041032837aff8e7f202a9 100644 GIT binary patch literal 148599 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 CqlLx* literal 149418 zcmeFZcT^Nz*C$%oNFzZ+a%>b3l%(X`NDd+bl9P(W7Lc521j!i$1j$)RA|O$aoFpeD z2sAl&6B}r{Z~MG=zHioDYu0`5{o|XNXP#mms8v-|)jnsRvw!=y_b%K|+#+y8U0F>T zARqt$0{jnvn*|gABEqXgR|$!Tt`dR4M8qUFNJy?-BcZ-dL3V?Vnx3AHnwFN4g%iTa z#Li4h%f`#beuwMsy}Jw$zWaRK_c^)ma{svr0T>J>Ats?BA)(@Cq-Es(|GeS81C+%0 z*8qbEZUa{+2|$ztxK03qf6uD~e{I13y%Agi;olcbe2s(@e?jdH;0gfdjjZ9uiS$KL_7-rWSmYkW0)iU)4sVGm7L8df^gujf9qto`I3`4j1>` zd%_~3V&W2#3W`d~DynMgx=;1=4GfKpEniw$+t}LKySll1czSvJ1iuXl4GWKmOiX&0 zoRa!JEj=&4ps=X8*^aC+dDeDx_f&2`p3p6Ca0!<{+d}rEU&Dtt#52@ zp$-m@j!#a}XXk(9A^<@D5)1$PUxNKV%B>)A^iz2ymuKd&f>4SfC;2$0MM+g4Vfq!)1A07Bd2ma^jK)!drMe~Mid1P;E ziyd=;$~DZkbfV7)SmWe9e7(lv^k@F=eH<`s+qz$6Is~qzXPqDz_b-B+?b2PIa9=!v z9?l3{>=+2W*;NMD0&WX-VOU=!9N-@*J5GT)iNapc{8;qWezPmbA~y3J2V{-H7hc5G zbl?D)JRH!{yXdVN!xVZ zX%miGqFcsnlGQ0uKOy*=H2?-R!2xl2efER18xvI@x1x_MPJ0f738Iv!(~54{=0yVB ze_FvH171}UqerfcD&0{6_^8vUpWt^n@q0Qi@q20s_=A7-6~!`U@R>d~6$h~1z(RkF zw9#(lMJkYR=LPtxPW8v8Eb2dV^X)u?G}xZWAE7d7hJ26uPBCE zN=J%d^ZYYUn%@D_R}vixM~-Y59=_7*V<-kZ)-tL@4{G`pcpS7y@u*kc6`$&aO}Zv}CH$Co{ka!Jze+QePjC1v#+Ugeq^PlJZ~Dj241 zkcZ|5<#TFod!yM|8<%^F?p+F*F*H({9q3|3v(7C_p!uePJLZ!(#vt$Wvi6(6&1lrQ zLHgWJ6_L^u!fp!tJU4WFz~ZZAXpDfZ#b=dDc)Lb^i9T!t>Hh(9Poh~b_j{0<6GD%R zg$cvcSKcx*meaioPPd6%nYA9(y1Bbm=&QX8-l5!TMSeiLLJw%`Fdr~?!Lia}*=M9C zSQQLUw=BeTL&N{X;)Wqd!VizG2QL7p$F$;}i@b)MF)<#D78oxjG!76l_g=iZdJ&_M@6hFq5a)JHwke zV7g+*bXWZvtNzXFhG|&}ivtR-pYr1ayr1HL<;mlhK5KDHSyK`3*$D5dZmEZf01EdX-=?~_!cI{lHAeyFr&yZgp53?-S z4FctPY(gH9Rzb2S4%?8*99!r#81% zsacr&?Ph5|k*0&`9I3BT8`rk!bm+QoLxec}ak+#1Gv#hJM5clB^Tl8KTig{nUTX|$ zDnDdk=_qK}(SQukP^eIYp_|C~oA|3%USGr<*!uzwNY+2p#>pqv4)bctZz1;RIXGr` z9`I^0l$-b#q+I@3A=F!D32}AsJ#lZWdvEp3MOkX?bJ5gGJw7JC9rYWJVN{>M`I~~X zX5J^O$?uq>pE?yt>)y9!eIfy#sjsA%H&f%Vo`WRqTh>=3$~>F9#cD?uM)<_;M-0y! z2m8pX#bk*)^_7hM+pbKZ^USSxwP(IoRInr*4k6|sJQj0QmYOXjRSrK5qbV3n$NMJ>Dt`4b0&Y+DUb~c66#jb+BWa`Xl(b@M_?wu z?oGNIJsT)ETJJ7{mP=iSzq|>$7Q_*~RrbM?|3N%#Qn(e3j6z|po2S2@CYUj;M2e61 zb6@Y8%~<=!gV(n>;#SBS%y!3l7{NEHMBVpyvP6H$@*neUD#T_x8@2W?z|$GP3GZDl zcD!h{!gq9xH@p*0Ib*gxHKkp*m(MV~Y9573qd4ixNMon1r^f+a({WoZ)V_<>wQJhF zPR5(%I{X>B637}GlCf-snHJ`s!af3NH$x3TyuOj0=#Zs}>TxIct5Hnf`#|MN$X~}B zN4C2hDI&z`@oJkYon{``ab+08ZwZ<{7ESNtZTWjW#lZvHh}ncLFMf=vaLSCs=XSCb znNZj-42T*gBytq_a)&}42@jRJiA8kVscVQ4^c4CAB;U4seOriQr#WTc^zb9A!dFAJ zkyAz~8CUi6qwZ(P`ZqjpklS=Qel>8RUyts5N;E7z#aj5uT*HB5>Y{zOKQF6xV9qOI zsVaFt$Lq#&>Yn|^gueLpb4ytDq#LZ12Xt>x{MH9{nm5Z9H*(h6&OHacx_*~_T-q}gdC7V2h7naxHzKB1}nDvoI z?{5>ofmpcYHs785n>QXUlU4DnU*#j!HJ$SrhAQ@5gIY`R(0-{>(F~{rEY)C2_L8w}I%~B2CgNAY*%f||!sH1v5a&!8;ZFC#O1(MIJoLf>)&{zc2%$uU&o`{bL0pX?jm zZd8L-6IEp%kHJQ3dHNirWi0L76L=ri9WFSxVM+y-Dk8+EI3`$sP0ifaXM={8q2Kp? zf|=`ZUt)5J?sD9;u|gt7W;fzqcdR$O%FfxuY>(Hpo`Jjm*jCeu%vXG`o`)!l=0IZH zjV&<22n;-}B7DbXz-69V`%(PAgYEx!x~A;X6)Qt`iNeI#>IXF70d*7>ja3emhAeA# z)fmU5&zbdH-}c+#xT3r~XoHb_Bl0pu@7^ua@Zncu7!PCztnnoKp5mCdN7Li$;&Ym= zjc#JHjMZOjJ{!dSkl<;OfnK`1e=OEWdobQ9-qqf{A1>? zFT!TLW%1y`pa^~1=`y%fQ^lz`T<5uIh$TV8JxgX|)UB@&4E=C{wSCl@eX9NFl8(Dv z1svqg!|~zgVhtaaenacm`tfDA4u6E?bcG#}euj!m@i1t8&b}q7q{nGlMz(*)TeSaI z9BGI1$h0RSN_AXcjIy07KycwV&G@m+#96ey9b>Y^y$9}t$_q;4Stq+@$r2-T?EoU*L>$qNH;>G++#R;3u{v}#%_I8ah z4j{0D&fGWcNs@T2B@(5*_E|nDs9`7d5k%gag-i~c+yut>_8id+Z|fs0$meFy27&v# zzll7KK7qPgU&M;Dhj9GN@lI5WMr}rJuin@CZDZyMBmbdA-X9v%!-fNByi+@+GzHY^ z$CDFuuHf;BJydsd(7_bFr29go`T5Gw!td*OResi-D1orTy5z;TYNw_yF4vv)T*ezV zXE-QLHj%_EMkGNb(R#aEFB$9)vO{MkPqJ@(Zg!SwhTMALO|wZ+@{9QNtb}Ur@a$<& zczW%Q=qJxzsV0Mr1-l5>irP;2EqAc(K6?70zu#~62GJAkoiAZwnXON*K0KkcHpA?m znML}`Xl?5lhoxnDUgp2J$#b_?jfsr?$-{lq!sD70pA1i--!(c!H!0q|gmfC{x_dRc ze}Adpq&ji?#;l8qj}}_hrXj`}2fX!CFL39}k~%41*J$&3*Z9^zfNy$6l%{PtdVTC0 z9o|yM`~88*ZC>`MimAn~>AZUCZ{n7>cd@Q!d&xL}4gD`WZppV}k{5Y5@$Uqn|Hwk~ zpPuBuFf^V_`h%h0`Ki309VY8KsZ6eeL{z*Wh3o1-3CM+Fd``FJ7*bx#lzlZjQ z)ZU+sEPmXaU}i)$Wg3{XQl$*h%Wr0 z%#K;kEi1Qq=;aQtqdyhxviNSmg8Xt}608+?74pJdC>Fmc9vf6`hS(%$t=1_gi{uZG zUVqn6>^fl6+|W3|$ibT<23P-9Y@cL;4w{-0wz(RL;ITCQQVZ*|s!5wVSpU|UcieUu>v}o9X_i%=G9~q>%JPS}yo&C&xe*cv=pG#3 za^PXk2LqnW2DyG}DC(5apN2DXsW<0tJXYa}Ov}spHQC4ba}(J^%tU-O@U&6{RTo|u zE5ZJilS+z|6$h+~Y*BW&`WF3)Y0(XTC%RYs#+-fmf^Mv~gDf$%R(ov)kNeg!JmTM{ zbg0xO=uPf5@2&W?xt@Aes*i~*JLh-Mlx9oZ2+CPpzteoDL)Rc7t>uXpiErf3FDU7g zr0|*hw=DalDaSH4U6QU9HtaVljt!DBOeTjh$Ge)v;-@StWdQWYbh;mO3Nf|IPo{9G z_C%}VAr2rp`o@Emet|dO#aH*zG=FR6;Z68cRc$3|;P2G_Ww&8}>~;+g)D-WEi2TL1 z$uS31<@J1O5WC*?$XB#vxzf1%3({2I^BRZ2;qK#znr8tbQ@UFdnPmz=-v%hng>9ok zq=u4O^#}>KQ@WsH*j+aYn$qpUqhIlzbI8%g|g03J}97eO53=cCVJoX2h|dJ zIfmdRQgiI}>F%)))G)9ftkCu+2ue9+Gh;g5I zQbV-o?O)f(5I?_Ful(Ht zVI?pHQ43|F$_dX0*K*usx&T-9u}C+RuprIzpu06A@3qy^h2%(;?${3g;mq@eff^m_ zKP3A9;P79)cQhKs9ae>PkAi`;?(1EA8+3b6qDUf15J}&IAF9B=`1t?E%l}RO#@e!{ zIo}T6e+p5HzWhb+uMB$}3G`uma6l0bK(FHf^SB-Oxf2eEg&%JlM*{uW-v9no+rOzI^Lut4RI9_guy@GwOvdYq<=_4?dXFVk8iH~BZRAnqoeg)&G7 z1vwNyf2|(c!_Z?7_|q)m0HOe%ZP`1hsoJGs+726-Kj3tm$Bmn2`Nfx8eH>X~*ekHP zKY{!;S$1^$`1cm-#;N^0?i<4e5P78~$*-(Y5X+_ zHR#8M;E^(sVO%BjaJ{3UIvmF@-&1uf33%P}vD*&sUbJv+v6429995EW2yJ^NMwm0O z9}-0EeOkQXvh$i4yO~4rBJa~?x!bvawLR(0-@@wFhSgOTko%@5L-v#ZWf3?VuPCEx zGqgbDUuB8iTI2`QfZdqX5=3Hi1R~f$h zjCW*?-&2%X>mgg5j<7` zSX^fS#c6l>gOPDPUva<b)|ndZsul`DxJ?6nV}cNW!z$8fJbUMSi-=P_{9h-nBCG)F5>u zrSguYp7QG)if7{G7Bfv<#_ORfAvoZ(h(;;M#j$ze*2(_t%I@&EGiC#{uu=KWp#pmk zV-`4X>zQbKPR*vo#FX;J%4#ujORQH*LVPwMmbk1Q-;q3v)8P)5D8*^X*yIP$rmV$b z>MhAL7v^`*vod^x$N~Qlr6(gIFil^jFO$N*qz9zxQw%@Qi?i47_?LcfxoQW!xr1^0 zf*#WJuW7ATg^oKJ8=j)#-ZiXO3KJYzQESUVxB>>U4~&}C@Q6$da;{C|Z)t%)1V1ps zsNfIL{dMRCH&B@ra2E&kO>97q@i+~>VP|1v(AP?h16H=&Am=z>9C{?2Ls3@p2fkMF zqW8EA>i8ihyq_Iw_6Zzxl(!B7Ma{}S`I@e zZ56EeLQY^C_UO89EZsMxZ1y4)f_8e)f3RkC>Bo$o*20 zH`h!SV$NwMCqhlq_P7#_m`baaZgE_yRTOuNon|x3J}};xc~oHQVU;LhkgWQU^%Zut z9)tyL+5Ki3cW{HxG_pXoLY~)rZScyAQNB|0RXm5HVtd_b=Av_uD522HdJ+ftdaP}^ zL*~qHKuYnlf9KgqKciEFqm8p`s!f-y$9C=r#tKS@6O;IN$d2OxkT5~*1-n-ejK#tf znUzN-_&`isahXuHUhV0{vJGS>{XD2e9bJ>?CwiIl%1`rE>{o+|x-#n5t_P2U=MEN- z4=jux-qRv4P~f@#mNMR!;0RB1`f)A_0Ii)`5SXN*WYFdsP1g3H?W3ICWCKS* zXzTRMHvuez{XRCd7mg&v0jU1(msz!g0&?g&1Zla`liKm!tSJO%%9=J~su*Q_P8OPQ z`RDW)9Qg%9i31eOBXGc*2&^!{I-ErI>hPi#eOtvqWsl$OnB@cgiJr`UW!GjLaPRb9 z*NC594m#B6#Yk-wxxDH-;V1{e-Y2YY7g6Sv%MVe$-B}_NZf2qq!hHN=nt6scw$EQe z-J`!dx~Nz&yWQgkZ8Gw#Xi;uLXacA@h-yV!`F7(I^p#`xG{W^FHa5BG30GcTzkGPR zB@u0j_}T2R*hKCq-YM8mqIF~a<)_!*eQgqUlmK^OgMln@bUtDM;?)i(#XRu7RU_Yb z66Ha1$h}k`2syT;kSCUr=mWGTnyFCP?X>0P#^~7fClC0~UId+Mgpx=mF$Yt`JxmAA zyIY)*r?Ju+t{0jbOMSI=*@`Aj1s8W`>+Cz&xi_{Qn6zRl zWjBA@{SHY`itTLnYZd8BFC+`QD#~wxu3((^m^|wN9Tkt6H~MlhCMpxXm)qo-L($A# z$%=lsv>(9;ji{)Qb}zeZ(twGoE{mC4|MJWwkEU3f}FmhclpPN_Ys zlJBoJY3WH*A?Hz>5IZ@q39h%Sd0X3omZDkUaa+;{@m30T?** z6XaVSjMx{llJl{nuM>i3m7pF<=Zis7lzZHuiIU0>t+p0S+W`#d z{Jgg3r546^K||N}_!j-HLE&tUGU_EXF}@`jBXqSh=YCk?whD4v>|9*q&8sqk@0FV@d9}<>z$*cD2873s&SCwF%9y+g##;7d|%n*9{cBBvPW<_1? z`L#-WK%*0XCYb~8L(aKsgoUEM}0C(mQ26F4-0 zbkXJwoe3%!oz#=M>5kwR$Q|d5XGlu;YG+W=);+n*>^$;>h|S4=mYaG(^ac|*X8S&c#Uxu_N+$| zl$bUIiMFZJA(%oNEG~5V3w1HdVDk~BMmyzBx3auawHscbN<*!H955SYkh6vSwu&Z< zsBS7Ix4Pl>e17BX7o9o6TlEr06Qsa@bz;VXkX?Y!7M-ax&RiT=5T}um1MHGg*Gi`=kE0u|j|FqBf zso@Z0`Ih{*P)5A>GV?n75XKuBy4_~Z)G#Fi52qs~gY!B^c?t-JC~ebY1~bdL zs2&GN&~m?HeR3b1^d@D?*D@NgKwBY`%+aaE8XtdeB^ueGGE)xc*dJNHTKXE(@g|yT zyGLAn4B6W8!GaQ9L*%b@qx%s1 z1ZXXz5NW+7LwC)`dkcfH@SO|qdcqR2Aq9_9M4&XqBA)HR++C8f=oDkUGg{PI*YZ-d zkEKlKOim~%eg{}eE%MP@0Q;$r)M!OFE<}{q%q|sK$RlTr+Xw?*RMVdXy$O1gEOTw^ zURYZzJ({WgJfIK~jgg%h>^vxy?{2@=X;0AmBbvBRrt}k%bwNYI4UchJtSs;|phJ7?P;4hJsK2~&i%Ftm=>elUBCu-p5wHI<;;Pxqoy zD)X@mg*|Xiv3MGe(MC9s9ISU63!Ese7|1?-a+z)@)>HdiEEy|wr`|Tk< z6kk*x0wY+@S2=)8YTEi~APdYzk@|(X{Rpm1kiuQa)~arU);K%( zXZl(G5~LHh@HV}CKLlfC>DK6(VYq0mVY6YRqOAOV^O#|njTMCoUUI1HY~9JO-E#d2 zw>g{jD+%5|6t$6Hr~h?6J-EQsa&rbF{&}o|uhwXPaHW#L=+?D5TQFPjzJ)s8w^>KS zPuSgYz%{>mq|5fz7{&Bk_qoq&&1~Px!v}Xa{#Jq9)c3;DDKK4oO08f;b;sD zk76dc7vGod(BDv*1+~eJ@GvLFjv|YrW;EzS2BdXW!*2AQnnCIz-0L|K!^XgQobHz} z-EqgViUjlDYh0m9&*Syp5L#}))}TLUww_L5RP0jkt2t5EV{hn%L*jnG?;SxREtoJu z`DpVk==H65d!KJVG+7#F{kAFDndTeGY{a+VlD(ISes^69(N0gM_w#IHi}a=39Z`1z z;JF-F(ySwbem^1{kQ9yboWcP(K%KUwq%tmVGOoRHMo6!D>Q=m=sp+F1{epfGvp)5p z3i08K;#Qjd#`SI|(58>V!kq>OpCwWi2m9I8_!Cq3b@eW&wuJu46|kR8HU%)>E>wvc)bz68oB~Kf=G!WC-1WQki+~=1#XQoSfl+8g9@+ zGfmO#ra9H#%PwZRc!)6^$5<3UTyg@} z)O{Y5tnJ)nBH#fXC`T%rthEhEky!`I2%Q)3H@|@eqwIj%j@-yf0{6;=rMvi(KU^ zSiExuphe0x%LB&r8{eg5KleSWSWN-Mbw+wSU1XGDBhXjbXIH#zuq}6Rz=(eH`r=fj zZ0m)Z;Z`c;`@(Mx&Gp>MqM<=L;6>s}<;ySdm1|4c=jac3IgNp%VRCf9Ko^9thMY-P zbE?jVC66jl9l}ZS`4mj(8+j(_59`DMWV&4e#Dd<=W_8KzZurFJtb}v$BZ^#>F8>5% z6ILzzZR-xD4GzfDNkeD>Ua-#e%h2kw%~IzQBZq?m{{H*r^+do@pv2;OIpB-~s*3|n z+OU*#>2Gg|#5}rY-Fuc7hh{(dF2O#r{JE058b2f3;OCb~I6y7Er3xSjyw9_;4Ly^l z!)weh=uuh;Xg)v;osFf`3QhmE<3in-4*g<6IsGGPmC*N1L+hf*K~MXx6v8phlD~41 ziRq0)fOPfi&kAhu>^I~N33>*zvXXxXOfk-#FGLGd5N)On^t6yPoUYUcuv!*C^Y`j6jEj7 zWB2m=3Fg;Avyta?C$CUY42K2TtK76h@4_TYZm!HvP!ITiQ2tiYH?F5u!Mfx8JC36- zzcxnXCeyzZ{LB{DJKeufJ&D1B(LH5eDmw9Ho>sdq9Rx+;i7`h!t&n{Z;C$%MOPl!af&r8dZ5rXCH*z~aIW|ohed`s{1zBKA7 zXTG!}#Pohn`%v%rBp1snGbI7?0;o$zJ!0(rmy1+TJCmCVg>x-#4|6gfhukD5sg3fIIoe+?50SD+0SOqGGFoGK804Q14s4w zvD{PQ2|6P5dfI{D&y`6SJVC`30=MZTou4Fw8 z(OIvhg2yKg1+$z;Q_+nY^J#KxDf{V3J~12H~nkEJ*(J-#=`e8VFKH8Ca~St8@^ zGVGd@J0kS!U%e`5$J|q2s1|z9cx}PfoPt|;@k;SPrfy$RCgYIFX zjTzxoed7Yg!cjs6n7yY^-GxeCoDQ5UgXB=)mzG@Xq_kRv*MhDNttE$c%YDuiWeRqR z=h6NqGl7C|yKV7(tO(j==!K#It$vlL4CC4pc&5Jr%!#JF`L#)Rl>*~i#fO18uK}8a z{oPwQfOEMWdc2Qcg9>$~C)NUGtuHH@WjG7>!j{RU=~tC$lTO-9Zu6IVzWy7TuIEcwauu202A@_*^{_S&Ts*cFU61j!Wy7pq;s@ zL$zee*DdZV(VT7jLYTv8}0 zO!ihIllh4=nIjH39D0!W>xj1#a>~Q>U5s>jcqZ&Aisp@-+n@+@5BDlPF(!HavaFgS z_b7*am>xFM38}#WVMiq*4)T10s(FG&J+HS(F%^%WuoUO)&SWDrEp?+#ibvdj9+TFL zuhfy9lnN1lIMvD06_)`!P9`tMok>~XX=m=%qigqiBH=6heo}ZcJRb)r4#+{|Hcx2N z-H4b-Z5?v?$EYK&RIG8nU-aZiGMBh`YO#^-^v0;-=u&ps^jlYXM)hpzz|D33{!Xjc zLL|*z9_V9nKO&#)cuM zrUuNWgts-ivaBBrDKC;bPZ&rn{dCJ_#Exd&`&!*}bK^Ya1Md}IW#&>P#wwkM3`6(| z=wh!=T5rd^;D)|7NFEE3vOy+g2eMH4Fha}BUl><&n+vgQ0(d*;M?B!O!U4oRv$Au3 zt-DU_KMpW8n`^Fh5+_5jVib61d5IhGxo#GY|*s+e%Z>^-Fer;<(+%@(d5=ncBQ3Q|f5j{KQRteI*+=ny^ z2LWSE0S&*Jjw@A=oVJR3y!J9e#ltKE^;|S?zU$Uw;v(!zz*&i9#)z?(SdQ3E9Lj$Q#T1x_^kuZ>o@zJ=ztq&t*-N(#+C*LSH7Ld zk{_vL!6f&^X*Qld0Vm)IJsB@B*3Suw1J~^(Y&r zkJZVDCm51EqM00(qdxMNCFfH6GX82ZWon49E?mg*7NvZJRsc}?PFs$MCn9PoHFOy@ zjp5vOf}SkAw>p$wu6C9WTiqO)c2L4611!NqO}dx65@)setJl4;FOwda{rrCB^ZG$t zP6Y!0g@X!+G1_A3n?*MzItxJ>e*893LUH7W?s^=-WAK+ZXai@toU0(JE-}yk zQ}u=rRpP9n;L7RuN}aqw>3vnS*y13MLhCqR&D34LEVHhTUSn(1;6S_3nbF8+$v-4OW!Tm=1(72F4!t!BY{;v*F}o!UccvcI~jd6c`aXg602*_ z554}^kaXI?t6SfcIkk*(_=F%r=hzzRnZR}ZpH$D2%sZ5Thn99u&+TZ+-%++X+T!`6|CY+O^4ZM{A@BQ}u5J_mq zhYx2*9|q;uG&-NcYb9@7NyLX0kIS8yF|x>on7oITcH0~qqCL(GckfZib(H+klPPUE zR+&QV5SHjmGu4muE9Z?XEukBL~XT@ASYB%6| zvJ5prH@bSMF3e94A;srv5V~|sDy$fhpP3-1!ruT29$?(@9UGOSsb%UF-j!WDLE-BY zMuo>3HcE05;cT!~ieIOy7L0z+C;hbeJ}Fq*@TRu2$?B!(JMqCO(po<8Y(m3-Gd7?+ z-#WQTnLXOfhRu9=eCzP>_lG<&1Jm@|<05IuxTWLPj!N=@qAu@~&9#hSk-o5g{?`DL zCo=%9bd_W2vO;GKZ9hTo71|Y>^;!9gG!=g9bO>gCFZDQ}zFb`$IP;Xpr(-Bom`3fh zc!eY?U-U86{^;~!pkEANYBfID2VsPeb-^?iD&y=Iw#>h^F8bms=r8A%^8#f`Yw`lA zN$?5FOn%pqo{?lpd}(8q87srj!`oyFAJnWje3w1mqJ9D%GzRZnR-$3uK4yEV2&j;n z##`T_kgOR?#*F0l#Oprp`(xiMmbHT1ArLP$;TR#E(9Vb{JHo0IqoCjr4(2zB6bfVb zB?r{qtcRTLR9PHKSP~$$e{DSX@Mhr=+?~J9m2F{yyesxW@8Y?EC9-r0n~l8a&?q*l z%l5o`(`=rmEe+2o#0J83G(Fxu0jI(i$SP`~(dia3y4pcfz8p%T-GXLFdREsrr=>!O z)3(`G2Cq-koyN3{Zsp3{iYoW!pW=(>3uvSlr@!DeMFHu%#L^Sg{ICQz^Sj2~!F&tC z<*k4A(8`+gePU-aNcuHJxerC0a8wMuEqyA<8pYYQTksWCQ}C9oUydX2v25VfE;YfD zIniZSGt^;eBM+6FVbJ*9LqMc(u3fO(KP|j$;mv(iA=0GA{WmR_`6RpXEw_ro9Hmx8SD+t+=TfE)AuuEmm zFw%AhY49TM;T+?!F*iU>0@juLH&VL(`5@r`T6y0*;2v|%8e~|A({a<``*O?vo(u+N zWQk1Q_e(rZP4NprH~B9PYH5vNc-cM}CY{!?z6^M#Bz+s8_-#2nLScODbQSK9P4=@j z(wu0DL-X_s;Y_&JEue4X{(?@W5OfAc^D?LQ1BAiC&`a?bi{Qu^>#I>G!QO(sXD+g)NEzp><9!@(T_mdVh8LB> zWbKvEy@Ov?sV{cTdMd!rE!fc6-yz5-48xd6xiVkl*U}PppyU0sgMxc4T`ed)hZ{S2 zY|{okVE>oa(A>wm40`!9H(7Ng4wKNXq1)&jK7xUUik=|??@1)ju``eOic zvDZ>mnShnKKMJ=sW7nIogg&3QanE2DWDi_8C%EJWskFCN^R2EW)AWSb4u76k&51H( zJA7ocPSzDTTmoX)gJn#)RnqwZD5d22lpH6w(iHJ~Bpt7b#5lrTXsV)FwQ?7ye@=}n zxjIpw9Pq~X=Z;RS2qwfoJnF*7&z^66Rp^ks6L0o7=M-*FB3Wi1TaYcM5mzz3DaSeu zL->n2ft3(8na{_5kC+R`1|VqWgZCsYr&=tKA|VUi!_fxjwA`CR-0WRgu0oR^}+e6XHfKYeF{mTi)tpq zGr9TGuOr~GKb4XHr!|^(JT2r@?58xEU)LBvvqjrkTRu~<%pmhLcI&mEpyYK}Q(mB~ zPBq#SRot$2nYlEmI8YpR7BJ`+Bm%BCdTp=(IxMdw^t&=yOL3#30mY+37uT#hm8UE8 zL-{_ZD@NK9B<-AFp*AW<97!o(LLm1YRLh447%2fGE#OIv_maPq)<{T07U`(e*}*F& z55eQMz4pfa&>4~GFbp_%Q!=#8)8^IZfvP(Gr48R{jsNpT=>Ig0{72q@bo}qC13FXg z{!)rnu)!DSQ|+UwM6fh{VemKyqIs#+780tyQ{34R9391!2!-;uD5Ez~H&1)8BF(A0 zkIp#@%CBdWB(hTm#|eSaA3k!}(6a!Q_~7se1=?016nZ2CUkSlmR;GL`Bk5AyCE3E+ zEqqc*_x2$+61c>tH-rYEE%D(^F|4W?9MuS2%4wm;$BXe1^+Y-gjAJWwQlJi+Ma|9NZll}O;?!w2rjKTm z*7J$^tctUpux=Y$zZw&fK5M75MT!U>cz$u}G?}OBro~dXWc1~2MGufjaP`)AKdr2` zv||x`xC~~4*#D^y{f{y*3oynOox3cG&PMRSv?%R8Xj8-zf3;mr9%y4MaC~}`I=X60 zZ9Q8K*l4xZieTkyMVA+E%v3b^f3!P)>&jcT@M!$iU8>%)kl3fIubtZnSKQb@J6k-9 zmC+DtX*`yplGeCd8Gfw61d}@3SqkdkQe`(>PDlvQW9OCY+)a33 zu(R^#K|`BMF*n7yTkmDqkS6+OOnYD4#XLkkE=Mssup3S7*Ge&cP)SHUv3{S=#g_X* z{aB*MTxjGOXnTw2@DL%^CBQViJm}kxk}bC(^Ze4mOq;5saP#&9J%Xo;uk*PY`b0Jt zzF5RHYnOW+T&PSPm(D-#*SJ&PwK6Egp3lu>6v6g>wd*X-UBvj?$KuG?}D)ls>%FMehv0|j0NMib>h3_CkT z_0i(}DT=&;GJ@P7<4DZ!Ms(rwz=t%Oq;AH8<_fd7o?n!6lCo%2Nn`>6kIEt(fS-&^ zFzns2W)({Wi@bxJ-7u(4ri1Ro&9e{585!}?RnZ56-rWFj&KQYzBhL$m!WJzk?Z0wf zosZ3QcD?4D{5zqVU&T3|8{`v-nN3AF#TF*7IMI6r3f=7F&%GD-o#^{H$vOLCai!dCIEmo`*{xSS~$_G@2gN@;oe6RR-l7< z3q{ObbPU3~)h3&Eo6b1c%-%<;*`v+?^dsr2-kTQ-enIODC*a$GvKe`;qH&$A%pRz? z@K&Ui82(c;7SFK#S@))-4Ul8r#}|D9j<5DtYSdPx3SLrnFZ;3@uJ-orMgk}5e|@a8 z0<^pkE<*8tQTLuvO?GS7Xpj<-j?$z=1Ox@CBAtLfG?6YvDN#WY5RfK4K@_ATAfTuL zA3*656p$J^Qlv@mgeou^x$WdbNLFaZu_9jgM~uL-tz0!0F^)=RxsZ)i8qldK*rVF0w>A= z$xI9;TM>}@n&OH37X4&x?kvaQE$7Re(|_WO!VN4QX}m3RTv|)kZ)}9XjLZ;k;Gj~# z2TY8KQ7F8l%u%!a5zvl9#hl!?#Vlj(uu|Ag^mKZ zX@7!u)|twUNI4RKeI)KT%`w2YvsjOKOb&-Y>ae;X7_eU zYp%i0d+VycrD=m`W`IsX&D{@JqdteRgDgoKf_kC;fT&Y~2uPp9Jl~7IIc#`XczZ`R z%e0%3uVL1iZ$1VBW{R3Tsp6ckwP=Zp^L&9~w+pf-(e#E0F61zr1LKF~nG7&*^Ujcd z)mio@r}|;sz1U#s$4`EoLC-^ASEtE=M3;O17i*^_qI2Rl99fFCKZL$x&nJbuf*1w= zD@HA99%;`<8o&x*<~Ic2hhj#pfM@Fr{YU6x`#W@*R0GMlAD;dc&B1R7`4X%dM&iS6 zXC4K#zvIo{q0C|vOPmU!(Sd{>3HVr`_;zZfC;8*l-vN&Lj{x`b5JOc$KtNFu3S=g< z$#S4aL1&&n0C6wze{^HHh;gR5SaxW1q(S>-B@tjCF|tfKMMH|ub|pQobgInIpcLuorLSJLFjir@eG zViRfEuVeU-rYeg4xHJuPO-m5OYE9;&Ir)!U=#;FQF+*zc5?a|XL4{_NQ)O+S96N_b ziUC+~3{GaP1Ve6Z%QnEVGE(_={Mksw<54kOmRb!E)-cwgi;xf|kiFa?$WX&L!0__J z{)X`AkrjGduq22cD2xG;O0s?E9;m_j|N3`~|LwYVGx7C2L~P?_FMDE&Uh?p;#g}Wz zqIqoZCG??d!&tqwIAXsi{YVpnC%0R!J2rPxpIe8Swt(Ae`RncD8c_^kaHYbpL>SPK z1UJF=IiCN9TqzN%Nqq7fvTa=pdixG9YWD(!BJh7oebhioL__3dR8(};FjyR2vQR+sX44H0s1R_rM7-T#S z7*}VBd;FwEH1jr1he%JoLWm(D31AepU{6lh;mZ~NW#iiPsgo~s^Z8R@7uXq?pm-MhHOi)%-q>Pkt&qCs1b5Zk9!xU)?7^hNx~7P=9#kvl`Cy9?8w zddoQ&HPzJlJ7*v&qK6PR(Lhw|Ry0zRO~6}Trt{gc zM=BZyCC&S`fZ~fOhsCh}RIRAXTeadz+kP!l|21&`rFrL#Dly}rc?|L?8HBdw9WHrOA^GS*o_P8$3>J6+T6ZSGN`Npm?j~WH}(XLFPGV`KJ06U zy-ohoO?|@%VfM*1OCXZMV<4aaW#;p8qBG&cXRn-}c*N-Blz|sl(`2jA?7A(z{S!K8 z=+D+5*m@Tp)vC!vh~KQl1qVFL=8ktib=E00N2=4HlM})pOd5$IUnRboze)Bfc}2D; z8gCa|C>6b&UUv2L1v%4Wk`QIu)j*61C7JApb9Zb%s5UMyaXp>-GEGKvVr<+yAufwc z%0NKwn_$3h7OO=Y>@zm8Jx1|r?$16~Zkb2hSH08CbVaSyo_8KSp2(m8r>sdHwF_tv z$R@L>Q?3~^F=ryb8Qgz}tGsD$721=4kkE%bY*T%E=(8LD7o4TRCzKv4hg|tQB<;R_ zX;hI(e=@2hc~zpNaIE5U_{TvZYMt8{_TJVrswn<)ap5XeB8LAmn#PT#th20!r7<=+ zCr<#vV4%Lt%SSpJ1G&JzqB(TW%d^J$4ZmIuUz@H%Oh)0Vg<}0Xze@o#0@v5juOS%_ zqSbH6z7H|hGt`TvK81deqejXnci}==p1LgaY}{TWA0~j3UeD`BrHQq#C0z2dH3?m8 z6)gK!CVOMjpW9qdtu)c~*WE+h^8^_g@v4;8ak8hvYd+yYvG`LdZ!Z)=vioSBAatqi zRD}_;uDYHh#x*_Y<>UJ6pXw%yrD6~PcYtN>FFn}27VH`;{e9w_>#8Hq{fwlp2`g2U zO)#F=9IHFAEa1%7BdKqt7w5;gn|XXKBmP6bkBg&5i*2OtLi{Tyf4*a3K(|AArzzU( zBV~|n+Y_~DWwZ63=?rv>rJI$_K}$2sx({2n)vVz;x1U~O7m(5!xnq&cUXi!DBo>S0 zElXx}6rS~k`1C+Ke8@(G?h(#zsx0AHZG!!?pl5kU(9VWlr~#s8{R36H6}Jc01V8J= z$_Na(UU?tT`&)FC(oQb}(H^sQ$@;$-6n+3`a;}u@oCA+i7cO4uzxJsk@21g%GTCoe zR&H>r%`2ALXu=0KFCmT*V=c;VS3bVw{=HkO`Hbox-8l*5Ct5I0gG2R@YX*YWS0b8{ zX_;0ao?hutn3=;CK6Z|^CObrs;PAA#%hS2Qt?R6)?X&R7hZ4DC22hQF9tO1qwzNfJ z`h2wDD`IntR;lR5;0Ibf%_pE$EQC8DxYiuR@o5-Xlp^CEw6yw0q}y|O!}6D<%*$!Z zAA)>;#z624ly_9IaIL<(w^`+7vX*DIMruPY5w%NxX42Lg&V}A`b2GBO<)3t;V(;mq zrRkzK>tpA*S)t_^5(9WsPf>f}oXxibLfNnr#lUl=n)GJh6MwF7mhJg~3+W&&{lGsl z0H4jU?H%>R@R&Bdrbka;zC0-R@8z5|7pP6FL@E-Ui&s=1Cbb88NA>e*{(P`-^H|D+ znjCuU`{VNE-w>D|waqlhq^KR9#g2Vt9Sf;18T!ac610O{%>oMF3p)v4K_r5r+Kr>u zJ*e}X-K_FDRC1|jsr*_V>fL5iu`bRilAhG9T}>N(oH;;D_YtdJ=M27-?0JM$qv3cL zIJifIH?@~UeUI~emcg1|G^zNV94qC0y*YhMAxnI4PS?ao3kDvnS&eK6Oeq98cB zb)+VsaJH?||4?-W$y!!j@y2$*Lvz}CGpDERZolNoHgz1W5Tn_$(zP3lI*2~MF@%aG`n*Uep&%mI2HCr4Y zvra88>@1s^vSrB7F|B#Usqm!TV~}QaWLdl&_DgbF8Wh*ZVSBK;Ydb0PiR9ER9@MBV zVp&T-@iF>1@eU5G`o<0Y=jwzE3vJ%Gyk5|Mk*U?ACFayL^O;2F#OTajnf8AoEZBec_u(pNSRN|hJZM-Z5Qt|( z|AEZfTY5=6^Pr^4%x_36ramu= z?FniQt$7aBhlNq06QEAo7uBpDavi(};N@Za8zvS=(C%QtIHo5D&%HZqZ(`NwWGI0h zR##}3)9w`&;e-kX`C`;CLwvY|0H?@+0sS2FgoO90FXPy?S6PrZC&Q%gfpzE$2&s?G zl9WGqFx}%{ zMv%Z^EMaSo8eP!)adLIrNS)d2`xmwg3{W}`TBy(vP&%ii*q{mVY}w?-X`K1nfs3jBQerQ>6MJoC2aomO^08lMl4fZ z-8sj{B56-PO%+IZK)ZS5BCe@HEIiZ<=(<6CTH>0)d2@Qyl}F}r!jGcsk-Ac*g+f`N zq)-GJH|rikOXSC4PK5mNnE;KZFU~E0=FK~wU?zEeGhRp;E3yi9KivnLl4X}jGp6(QEvYKIZNYuev8JQKjo4bBLscSf zx$SgoPYTz&#rW32lvcT~Hqos9xARr#oM93Epfbj@5z9#wY2(S5iPkAEW74gN;a%YT z67kwV1qxxoCb%^s&xTwf_)=9z#zG7WoAQG%83^!r{}EHLc!S;?GJ9f=ZH&JSd3H!s z7~v9B@fn4>C-$`4eDm=ex9lu>Lry*BDb+qu>hxc-oLnsHFqhA0mWhzjF(pUkZ*8uw z60~!{Gh-idbV@0$?(U9W$5d{-vcC|0N{Antl+?o#oW9s33WsjZ)gRKAe!)D-(1zk4*)RU7M$U;v zGCq1_$j3&TW!BLHtuWJ~cOSt74mHm|QuCPv&eV4xgM4KR2^@AwFA5S#)nct9@== zv5RarB>lzYxr4~y?$40IE?d5Pk=JR{cO*Lgc|A~U0{MlthlD+NYyGs zHUJb{h&$8{&~fTI_|7FGS5oj;u_E8a?6k+zRGS2GNa@1%Mn@Ldpd@BzD{*}P{aofV zkGwAt4ye39w^t5Ok^+HSA$cc z&=z6wm*E7AcNI~k2)n+>6F#sxy5?oDKlL$c>>z!+5~)1(LvwPZV+M~VVyTgJDBxE0 z7ZqsVn?Sw>clxG?*|2?5(BZW&62Q;-3+W~^y;cKZnF?K@?Z(c%sTV=@seUslIICAly>Sn|$wZ>gruZ{^#&_kWf7x|QcVmy?7e8t)y|JLB`p<}&X3+zAc?cig>cTZCStSOPrHKVn$3X2x!?AD?O zwQY>;Arhb_2EepP4`Tdph}Ig6%#uiUTgOD!3#2z`()asHzIpZ)-8rczniS6UCfN%O z)R_mnf|9vlD<$#*5r77<;MSRaj`Uw6D^p1C5HFB4s>5v^9`6FKL6MjN#8beOT&snF zSQBhQIaU6v9Fc60mJBh5#8WYWMKoWu8@9b=fNeueNFU zKPig};OZE#m+PgkZIf>ho}|A1Hncg&t1Rln}8mZ!#~4htQR9j$e~8mUsOL*CL)aoLD*9|Tn4^x0J0!b z{Yd%1H4aQl|BHXHRKI`16hAIQH?Yt#J=zZH9R&GtNDxKUx|K)?HUM}$qwWR>^1ok6)bIzi+pEbyoP0!Jl@!jw$*D3>)ad=*-w?fA@A9D#anPZ;vs;JEfGc0w&0-tK zSg4l)wn`F&L`t|ccGtq%)-JsjoKQ?i4&Ymz5o(MpggjOIH&Ki;;z0pYxC9FIdUT=U%q-R~$=iV@0m0 z9Q-sVvlAI{nJ37)Km0b3ZpYmp(tfpZ+PP)r+BmwVe?E03vc(9K2kDjZE+05=J#WUMTlOvz@=7o3*!OFyy($KE%QsJ z-YU2-&DB5a>4`h@Fb)HPV+&|KcUO*PH}By-J?0HiFc1JaPdkGCPyxROmOugFh`1ol zOwH0zjnq}+boO4kBs(ciRm%Eoq^Y-TuBA&hnAG){`4FOAirPMmGz#|F{8+bdiA})`aw^O--?YSDKZ17n<{W zJx{l*oh=ZJD}b0ofjzd&n0Tw|#z@Q0OKWvj+e@9e9=+uAi}J@T==G=Ga-{qi4uj33 z#wy#a(bB`xyRW}Y#PS!WqtA=JY8iceG5o7?qw?B#P4C!`*~+L8C~ob$XN$$y**5^Z z@cYa20A@{`mUmRcC)1TAf8@dSeT$Dc(o#8nacKGLNV$w$Ne-;$>w`f^3xrD_Y}7q# z{TT^B)$kTMu+YVyl)E?->w@uFw7cfi5-W9$m%Bqija7Ad6jW^c{tL!fmK!**T;8-v z7!!#YGgb&cm88Y}0MlL5%NLNbz3NsNkGkRV!F#jm=OCxC31k+@wJWn;jGGFYZ?0E2 ztTSI)d??jAR5=d&F89sq`U_k5q=TxL7Rq;t-87Utw0oOE9O*}V zo{0<5mT8=c`Z4J`V(~qDtae}i`n03g5})mv3IqOBV^+ONFa(Q=WCR}=;ZRUF)w9MI zr>Vn+Ugzx_nV6mV_%J;#wFumKCujFyE2)-bPD0KUe5;u_r|! z(OD`-t?Bx`1SY4941V^oS!@*fe8J3kYrfm{ zt!hQ-7mwa+t9$hH8LK+iOD-^~+v0fcw%ZSR8yg%tWzHjX$s%Crq2}I(xaAoX+I0kf z_}1Z~{!Fdq#Cv7Oj>XZPAL^#i6R7)$D3!wulaUP+B|cQzfFjV)>j(h!=jx2ESL{X>0O0$}x4sJJNt#>-e|X zBWR?o+zOn$q0K0KcP2Z$CI>8_0YGv@n1s;b1-F`eAs>7xxTB7*2#L#5q^ERbpf*xr&7p z=o~|-f6kPFoA>uqnh%|sxfU#Mvpo#g)dL{wI|2_{pSqa@9?Tic2N?ISM8yK^`W8<( zCv|j{V6a~|VUjlBDYLjtXj?~e5w^%;Xh5N4?H7Y1l0j4S9$s=g9a)8cs$Vlyl2cQ~ zBBlB8qm-pUL3r>i>&FbpFASA09mhuA8NlMfG+&DG9Ij_}twepEemxtd$nRKa)9KM% zmL!nipeMInNorDZeCx|MKLr#b&*5{g$f%#Ws9EdZkXv=xEm*oe!x<1Y{=i#)$bCpE zN%!`=TE>;&?08;oS;bU+KCA@Ye6M}V-I?1B@gq}GZRyt7*LyLg4*F706&k*wdI`Q)oN z+h&TW_amPp>mf@Wq$3I(%SK{z{rlJz@y5_whqgrfx$k;bUxVL_ZD^-Cw=JJZN=YF5 zWw8!pRW!kf>u@0WQ=Z)e5I_m>Hd6q#fB_h>N&YuP6*5=2n?4H=Uor-S!BL?fzacso zk?z(%Wk6lPFEIx;5IQwJQe$pG*4B0qI4n8UgbzgF0}zGlkT0#5u&t)dE$N}dv|XH z4}hC51KO#LJP6YHJldW6|Czs=Tl){TBa5xS^N5VNMQlA(C#JL_*cCPWwFfUXyMG>@gu*>E%fbYc;5l9CysGshNn`7{+9`r#M1@R&%se^SolE3Z^68=6m|gRE1K z{nH}D=YU}klmB2z3wN0)ds|uR4XvRVke&KAEX=DfkDwn~bErq8 z{lTFI(LOLmoq+6m#=<^-jIPz2->|*aSI%<2Xlqf4-y-{~r^a(iHQ z??P!?-6@)e%}^jnDoz}8Zn@P&zTdx&`ci`KA*sxNjaZN_yU-|tfhr3p8S822UGb)w zB%4y+sv8v(w`_)XFJ3hazIbJBli(-Pw$ju3`VrR?2%6Q+a~9EX5!Hy+C@1hlDYB?_ zl^M{Zu#HIt8I7-Z0vKZYGu4%v5DTG?`tVcNlrE5%Qr&x zYu-}xV;qg5&Wgjx-Wl3*VA|DV?~kbeF=jsXK1Nc{g(-d2rmRFRF=V+sln)3bt(Sng zMIz^#^)#G7H*)LUe5cHZIM}5UF1vy-C;$=|Yf6G5#mY0PI`W<7d!LIh$Ai1^-xeGF zd{0d7o>B1K%VJbFJCqG5TW-0P+LoICV0+9+&G4j&NZW#3?*)#qHvP5nI{tk>;>F?+ zHNv^V*zu!riJDb`S zk>X|EtRXMURszk1`0!xMdgBH*ojwmBxLT>Kxet zXci=JMOKWW&$GQ^@2FLzbT6#qS1<3zNXCI{58>iqg@fRbbn%1}e!NT6J?v22bR%Vc$v@ zW&K!fUZoZ3V&^tq*Rnln=bFB4B$=KxKGy}R9}Rj%Gf0xaY2|TkCexAeO-qlz>SeU2 z6!X^?jgmTQoJzDwulhDr_@D{KS}H$(L+)kr7xjFaSux=imAtflUZhmyPWwPz;v7$7 z{M9BbYsk&_YqwIX>Iigf9&KZWIVa5e*o~QBnHtdR)@}Z$Hw!OeL^Iy)eCxjX`r}<2 zbk5t6VMHmiDt{FzKwv>Iu*sNP`!Oqy znHA|Ud>hUzX?L55xlg=_2WAq>P1ut}Pn$va*8S>|xcyc8GxR4)7#lq;8g?<>pm)SP z!LeuFRaP?!eZV28N)G+_gW1;oXuMC0Cg+eJFFm!aXG8RagR=1{iH^oQ+u;F%Zj*qo zk2YB^pD!W=W}#-UW62)%FNm~w(#{;7 zglWFM81s1#Y82bK_{-m#RMTNhR)`$k zzVHcJp)CSDd){H^(rN+s4zGq%={k-iv8%x2h2>2Hifwn}#Ok87$DJ8b46pFj8tyaB z$qZg-YB*LMRZ(t2Vx0aBnE~PX^kMV9;}E7i^J%q4TfU#z;L3JWnZEY~M`xaRJ%ly` zvUg1aBS0xE2j-nbBgvosKDRW67OVzpFP3LqX1?h&Nc+WEP*?AY4kTDGu)Q7od<4#^ ze&W(Q%}q(SiQt^tXPvC=_pI%U^vjAsRW?L;SwP;Dsx{S zUy|kLmK2H#c_>{%bIjn5?pGQ^8g!B_qrh8%l#~~&j#NI+cGS+nQO9SJJ?aXAbEmT(Jg7fSWol;8Bz(8}ME8J}3f_0T@#d?h69CsLe`PlE&KZpIAkzB>344LOLbV z6SWJ7ckzGhBSVA8tA>)pd}m1eu^<7%^~>+yzc@vM#7aqH=T|)sdUr5`B=RSKDH8Ls zGw`0UvzVc4*;NtJ?u+4fs#R`e zGtZxiJDm*jdj~Cuvdk!5%%c#EqLr-=pShzP)Jwl*r9=puJ!xoHS?;s)B+GwHfUii- zVadlce?#I%#z7TrD+=F<1`sw26AAKrXHirIz5m(I?9-b(#|m$No{lS0#Bi+!`F{HO zL#&(K=1YQ8s9M>9; zJ3cEw7@0VS2nPw2VeIS{Y&77h!_cM5@D?>a!IW?7o8K&;-qH-bXoZ1V&;6G}m@Q4& zHT;zQchSdXQtZNx70ONFr&yasGxHUd*0F_%o8sF>W}-9wWS3h=O1lsDdQrhA{k5d^PF7S)A9VVZ^|Eujy_?yP zrWEn*jDwNV80JIyGX*aJvnop+P=miGiZ)RELG2**WV;Yju73*OzV~@h1g)0mfA1b6 zQ}u$-+)MT#Ks$YdPQA2VhPQopHXYKuK+MOKEWIw?lZ>^gRAM~kUG^u=P2U8GCZtEr^=?u~%|}|G}LyXRpY6 zQr$PLdBr#8w1Ezb|0cBL2(9YUS*gr+HuXx1Ea{US}bi0*Mnm^^Ln!7NfR4IKg z&D!H;;tDiNfcds{-%RQK(!5Hb0?RF5*!W0^-MBLKwv6#=!4_m!&6rhn7Q`ib7Q=lD z!rhskOH+_p4j zR;B&0?h_hSJC442-`c5{{^cK9%57TWLLcg$&Zaj8_tFO#w%+on$(#7@hiST)b2&KX zDzCvQc6;rMhr=3j4VXuu17)iyFUd}ooW&KTbHC28{^2S5Swwz0{02DHMoOZE0~YT& zo7(%7d=mFv+nBw{tx=z4Xiq@{Rg_BnL4W z7zkFU4eTqMIik;v|E&JQ{Kmer$n!|*f+k`L;k(vAp zg|UN6hfb9o!gB2ra$J@@jEKn+gGLn%NgPbm4pp2&B`NNHd_uM?(FU&d1)CR*=RAsJ zA|i?=>H}`yub}6uP7r&D0sj_1zKYV@u6+*^uEYO@ZKz0EH$n-s2t z^a|Xf9FW(3)+x1Qe4`|6Ni*d7>_4kIJl1KuY@^r$o!n2rJca3;XoYDAVoj{{&3PgE!P5fUZJMlf0K( zs(ZwqpZIADZt3o`#eM6#&%R7Zv)@ zb~5Vv(a}Ey>&`&Fb~~ZeUo-pB*yTci!7NGihf1#g8I_GFR(n@#dArH=3=z@iQkLhE zPMw@Nk%c@(vr`Eg8brMF|B85D0upEAsuLTEMH(tH3NBL9WyWz|Q}q)JqFjQJYO0M>7a zcwvDujj>l3$A?<$y4D1#Qur3W}$O~yM|=`SiW)Y+p_%7NTHV7iN#K)(BXO( zN`db;U#15kH*;LgT}#0>nJ?l8ZbN>3yKi4)?9HIZ*Q?B*i626PHq8Qi*K7^K$&c%$ z!4Lt&TVxU5lR|TpgF?Os^$A~4%~kMPlgVHxW>gmso*j*@rjY4`3 zti{2BEH`IoNVLS~R0=q@-3QOPLS#Q&-C2x)>zGznh~Vz3f$4GtjVO(c==B~A^00EMBxbtg#nCa+9h}# z>~lpWZcE5jbw8rerL-}$LN8{wT3%BYV679gv}iW*ALkHHVV~PR&u$6bJi=OEeu|W` z_Uky=ch#Inyeca>!dg9&Em#*L-Oa;!@hJ06oI&!qPB^4JYX10fvlV#*Qi=t&>)^l& z#kZ^M?wl-9LLU97qplw=?p~x8mj?%iEtLf4{YN9}M)P$hwtb53itc{UooTgU-+%>p zpzhFZ>oD!voj9+Q_jvez=&<_9`7TcmH&X7iKRZOXh0CNTrutuONfm~1C0+;Cek!DE zKx2Twq1J~=0-mGgV=tjayzH3CEw;!P&c*5)2tjL`WsQlNOU#x)$5v&wk1$c4Op2#rJR zq2MadqY%qrWe-t9!$KA2zNg#YtmzGevc;j3U>B{4L6B7oiN*DfdA3+1MFu^5?SUJ! zrb~tma(F;AOG#ArhDf;nH}!dSXWBlX`@n<;r8kELn+=0q(+6;1djXeIR`*^Xwk zx0BU720}Z62V`WsYWz|mj&gs?tSW73$uM8ZK+?nUX_#gh1hNj{+Q=-`pp28XhkX~n zzOd=Yt!viKeDSTUrC@ZAW)yjeX5StFH<;iWtSmjM?V~r?J6=CjS>;g8UOiU2XQHW1 zSI?LYY+nVxD9 zF!^?fRclUr2RoJIoA*?l9VbD;tyDTU82GRo*L?{6fLPyg-p~BJ`HSv-zyFib*?A2j z0AGk302W0* ziF4sy7JIENW%BSg&ERsPYeDswMDFxJQSpb-Ol6r@PT|5XnjwJd*;?r!Woo*6XR>F> z;NIgdH9&H0x~;-S!>Oyf1k0zrA~##kWGEZnGaLPS7kc*!WwLqfCL}04-&TJ;T z!_9AZt15qNo{P~Q5_G%^bbu1H9x>#ys;?PKIJel>XqTnC+Xf=s&Ud{H#Ph{Lc-ucS zxaD!Fm+R+`$qupj>iaD5k3{fQ*Exs*g8LCh9 zlad#1)U&ZEWP7A_iDtkIkvi~gyL0>6`nHNxce`lHU<$$!*?KEtsyBSEMrBhpd3az$ zr}m-uS?1hVGFjqpgHk{NrB1(&7o1;_sZM52FB;>!7VTbw`{F3je|h+dJ|DES5mYLb z`^>P{%JIaJ`3i_gxAbz`m2k%XtGuJK_mt;FF38KvD|}l+ye2z2XB_(MD`Tr`iPrvt zLoF$KE(L~kG(90-$$76N_PgYO7_tKe0wqWuXrtIrGe5D!pi{(_xwcu(Hayo!<~)PcUu&eSYI;yvW>!0hYjCEIczHh8BQmPD=ExmE zsx`oYo-FpO*78&Kr!o|zimPIBw$FwK&)r~a3ez~#uZ>}%l$J9UvPE3ZcTslJsyEj_T0pfh>io z#r!)zb)Gx^DU~n3hiCuCWlM)tpL@jg61?Kh*OwP z!znxBplSy&VyI~N%58w!wqC=*1~}Y+Z(F1C!CNwSWkKT~bZ3%{VE7KIC?Kt#>H+l? zI4{m^{T3(*#1N0Jf$D3_1`~li*rx#1EKW?JMzX-Dzfz7e`K182Ct&AN$OfR&f*}#? zN&;3)E#OkjnK%;??3^!pM2T4pyB|vT`XK5;o9Mz?;DHTkwOya?T(hN_n$$m}rec7oma$67A zbyl+b*shIJUT&4R*I!;q!`m4O@ECXr5DMALB*OJ*o`=Xk-8)6IiaLqCzc%IHMk*=I z35aZB3cYf_T6Q{;HDMtglGkXrknmQ(C+^)*fhWYHmJ1-gtA%cl{Udvn*stD0+Yi2% zw(&jjJxukjPa9hgjDKr$iz;=*iiy1i>M6S5(RWGNFA6juf`xgMm*xC5i1^bQ#pNxf z6VsxENnPHJR4Yb4Z9#k|+ng56zqVh*9X#Co+vgqAR1_Ag>s2>ER_hV@etk7?nZS+I zeNB5Dd!yHS$NdS4e&&p2Q0s&K<;_8}W<3HNL77 z)=XzrF#4;W;N9R0xy^>~2nD_%M>~A~Qfh^lwG{{A1a;T+3G`v5=*MYd)q0!~j&Cpb zhii*E`2p2DD_CJd8~L%3)%)2+uH!{K=@t|G`q>rc9HwP83fz#Cm!@)CBkI9mYw5NO z(YwWGC0Sd;K1vo+hFNx1FkLh3Gxn~xruLTJdtLlK`9s0rQqj#<%TNSG&D=GEn1*YOA(|1odc)tla z`K>(}s59ITAu7U~V<{Fl2Fu-o*Shi|%ESsXFP;>R7Tvaap*#ywTTYDHlRPXoCb>;r z36z#z_TKISv%Dh!Dt{nb(krjFR#Otk#STx}M0fKi^vddoT~>9bi|d1qDsoLq`nX+U z)xT->B5ClLoOvH89AnxV)3f98iDhH|`Qb;mr$l!$bPTNok$dac8Vp@O#K+9f#i`bg zC**Q%>}Q$jKhclpP)NuYO>Upa4cY^)a`|pSzN&5Us1J5uqUkqk(*`a%F`QVv@j_oj zSu?U^7?!YkzYGtLDk&Cw;Bn?hiCD}Z$`V~C+4a7j4b!~wm6BTC@-_7iK{KwOL71tq zkOM6*d&HxaZ_Iq&YD&R(T^nK<&PgXl=87U+!tS2ZKX}NLl#F}~DvY6Ync*K&mtQZU z^^&c{-c3bIwO5JfEAArJdy7{e&zzu2M#+@0yNr8|7d7}CMqgK=s}ABcVPa9f@3hyk5U=%DsdEckn0fL z6CD{qeEv|H*N8{p0%G>(bRu4++@cYtG`|uPOX*v@L6|h9SApMi_tl>ZG5V8>F3d)s zQD|Pkx{gdsd@#cjq8RArlcyIN91MRa*(Apq!GA+KP~F>L4{+>c%6;kX9zz9zWMc!x z-OPqigjoe86Dh(g;~{d$Y&=}!B+_wC-oWHKI$%o+W=HuG_G<%1*_GsPqr#rIPO}gB zo-YwPj+uQBveIz(d7iRHAZ-FQyBK+|RLW3J43zEEg`UTwZVqNqUXcSul}3*5d&}E$ z2s5x-GM)%_DkZNRdrp=gu7@w(>%*#mC_$2(^=#h3&o}BBr0scnI9CN%ySE#M3AzBBdD|B42bxm$Q{#d-rw)y3Ho z)Y%G%k8wD|d$l?fmu_<=B$PaRI_P2fZBw2`(Cs6LS}O3e^k{|ls7r~5O9&7!Vu&)c z!uaJzjt9j-p3*{ARbO995AN_nuCUfHpaO4C_-L0oF%y$w4C~IuK!u z25}L8NafZGhnG3l+w#AXHs54);)|;;l!n!xsPWxOsAGFS@(ejy9{z%o^1lEI%V_{gg>%zC=wfhH!lIY2~7eVfaiaF3H$eB zM*f%2G>|xUwPlRIoFc$Vf3?Qbu$px0hBja*5N~!nD1sDj|r8hzkr>J4;T60gS($hW&H7@WgFwTy>)fqW?7AWZt>XF}T(jhq2(`I#o#wpN>a z4eE)e`at79Q8QsH`(b(aR#wuoEbg;$a~kM@xdu|B+O|6RQG zS-3&YgFByMyW&bOys13-WI}_Qx|DgMUE))owJx#RUFR7{eN*pU{ z)MzQY>MmG)mA^`o^A$&w*(mqjfK4NBEd7@B!+NOzgZ1S!hLjtX5#1g)%G6_uJ_>5n zg=?@tkg@iNTerA){7toNoC3?}dzX#M2OpM9<`z$V*<{!#y;kJ478cqXB64VHKWP`@ zF>(hTC>k?%aXx}C+GcQ~twmy;NkK?0#Rf$q{jr=_H|OYn>BVaq$7pheWEJmhe!Hoj zD}-|Dh=pB-0nYw&YHysn4+`@$W8Er0w8G#lnsd>PS%6)Smv%27$${+oL6m9RcQ`Y+ zH@Zn};d>uB&H3itOH8+MK(o+00^$#_kdq6sp=1h=g!tsGaib+me~g%Ve$l8~;UDVp z`4TQ)>qSf$dXLwe{lkHS@EsfFOwd4o6pMkU(7)iFT={00Y{Gx@6N5^-`fc(KVS5v| zHV=(q863FoSo`3`x5bLAzrgqeC3SOCm^hQw%sik695+P2C1@q-)W*@W&dNXSeI!9U ztSN!)A-HKO4(k35Cw`dZECN2;cV^A zZAI@eTWLY~hF+w1sJmYblj}vwA|Dbb0(}ArZmseDUQ!!Ex$64BX~oPg!VC?FM4|9% z&oT4;rHOfmSmu*m0!ng|qW#$~%JRZ>X~I@%FQ9{;XbI&KB=`NETM;UX3vLoC+FBJE zrwPSdH~2Uf?shXA?_7B6^&`P6rH_1qD9H0v{kGq)S_8KNL-&(xu}=o{&(ME83j z?eOccS5!F%JBJW+g3r{Xk-~>!KTbY@(i=B#TIvRaGUiWQ+iFJ( zr)|3YKfL|-Kh^R7KaL+!l1=tFa*mXly&WnmiISCZ$_&Zg;}{`3gh(jLcCsni9D9%K zameNz^Tgr#x%Yg1U*FIBA9#O$$faM-{c(Sc`~7|!*KzaxCS&NnoK?sTi1oiharGJN z+@tL4qNPbD%=6~b8cBCBj!ZtsNeYQ|*v*%u+x15Zl)lddV`hx=EDH9E5($h?p3R$D z2ughg7m&4L{O<+Qu$09ygG^g2Ebdy0d)~K!-$dVn7-zD@)YOx&l;2V zt5oA#wfW0)rXDDA40L*C@RZhmQ?X?`0aoNiLEV#a1!i1=?KK;g zW*-cfuh=vBUl9z}ts`9*91S83V0Mo1K26Q_FBU#O8oN7Z$a<`vxFW`{mRyf0jC-ex-|{b`B}9uL>WYs-`>Aqnk+!eQ+ZWQcPnth7%ht$K2ZtS48p+9V$u6!< z-2$WhIZv)eND;HIo3Pe$eJwTS^cw7+_=Q|TwHPbj0J?GOGN&cA?vBHfEE0D^m?dv@ zNt0%|tgM{5VwBs=20JLzUtO>hDwd~>B9?`3?rN^YMOWMj?|QCrmsT!^HqGWd{S%)j zx9srUP!*aw*w%qjIZ>P-XOj~kKG~okUF97AqbzyuS@`d;%j(VUqm8=A2L!DTmCTmf z012uOxUKDzMhpZ*JM(@&tmX2u@4p>>_aWHfbs%n$$2#LbeZGLw773E*IMG0jGo+;@ z3QROW{fl}PHn#^|-LHjTb-A>y|NAmq_gYrUHaHYKeq;?Uu|(TdWf=2oOV7X`8boLU z!$L+Cs0^x20&!0J40;YKvQtLG2+{yj+P0?4Tq0arp8RznF1J&;#A0L6>i>eJP;qS? zp%4WJImD(;AU|$FzbWQe9bZ*GKbt$VAW2uz(~RMu4EU0X%lCIdGz7jR-J;$31?Y5M z2m)O;)+jfTFU~q@d^p13{R%x$F)*^@hp$Y|Aj(Tu`zKp}w%6CCTGx!*L@;>?!TyE$ z_3JVcoPNnF+y`cu_9n`ESR|>#JhZ;vQFC_~6_mpj8()^UR`b+uMoBOqEq4BO*RG0i zW7*yboUYQ%;Bd`%G*d4TSD@2W2H+o1yJ(Y?Ij8kw`JX$jHVI$@t>tj;i!0{lD>7te zA6HbK_SVS?D11}dOH!C@Dd|X%Izeuyxw^aK{Q72f;a>y`za;oG{|=75HK-!)lS2#q z-y$B4H?6Qf9trH z&&17jy>S|CZgV>D5lfFb7_)+*FO$0Na|kJ5cNP4T?=;FLy5g=Q=oRTa>Z|GVm43Ba zsJSd&rzz@<1jT!rxvOi?2Zz^i&NI@R{-|(6L9&ti$(!YB0=aZ>q=4b{e69eEk_uom z{<|+b)G2qBXfMzXMHdsPm%0>TOTwaet24Bg%HQ1Qdj}bC(~{+qo4TaC>Td-6QcoC&95;WLG*6u z?XQ}4zh3YP(xKmU%_=M&sBoYD7)ZrX7Md{bfJ$SWXTfm) zk-$E81l~To@8CTeKu0iNvoO;-{s~XT29yM>(W&1f> zkx$ZHGu-8mn1%`WmABD>!SoP}$W(zZkE-ORha?1tu_Zm9o$&pt<=#5JBKJg%^_yi_!hm%J`lEF*L0S;wC_9Zs<|j+N)R z2z_Mg+cPc;X&X;DLvk|cvr~oR>@jCMf)lPl*VmQj=V*q1+z8{ECU0#U;v}JOHd`Mw zc%EsL*e7+BV+y7k;_nufY-;i6kV@HZ{-M-t=q>ybp@{W}zizkbxIc26`}Pyf4|#9z z3EpmbB2VYf4u-E7d%cRow0&5q&(K`^Zog{ic0cJ=Z6D9D`#$#NH(%NLcW8K#@8}rwlh;tOG~D+ zql1QRI3iM6UlD6v6t0N4W}C5}fL$Ae@8oxPeqdqB`*?k;L)Wv%fbv7 ztHLFoaq@qb4r*?_PMrEK?n2VN$cW^x<(YW@*U(8qAtdr9L4)yL=5)W3AkNZUL)nPi%&V6yH2tU zWp5+}x})?hrO&qP9@W#my=lU8U=VsfQuiXPd(dLM4;a28%}G1_EYPTB=jskCmo(n1 zCB%yDH{z=?nN%TJ2!T^WP?|i$Vp^O;J1%a=SY&s2{b1^7zbp3y|Fq;I1oF+qH6-?E z$84<)8tixTBQ{V_A8-QyV2lElZGgcqTyGoy-3A`Tu}VgTw{Sl*o9!3v6s-H2su3?} z%q(RK=eeB(+5U$_FcWP#i`r=vASms8OJ#Plm=GVXe`4^}zy=Hag(Z_3fLc9~L7f zdxUxEdQ*jFFI`cWJ7PKvx&g%PfxOKi7KA}kEZt)l7{Hu7zW80Yai#uc0zYy&a9ipp_Q9K!w{WCBIQz|YW{u~TbJ}&Io zFS0pEG^U*;baZ zhIw@E2<|^tMq)1DDc*msUudMP)RWcD^0!(_icuCoeggQwzfhY|4WF$We>+d}PfeYP zfpPFAOo)^Q%ftOI=C8yiOoaeV-#H`W?|7Nt%T0Cu$z(M__8MM7&38Pzx@Eyc(iYLp z#ur>ZS>~^|%;ZxrNiV_~7P<}QPGW36DqWHH-m+K%kEeHeZ|aq!GXGe$Frs~VWO~;t z^PX^aMwjtw#3B|3$Hu4p4qza#K--+@%pF>4s5oJt*6u&P{?0f%y&~xG#{91$ z@L7koXIB)Ad7hokDRe+>tLoCfYT8yFaLI7KGnOS!^7klPTl8)wT(E6{sO_|S3@swu zUqlwxb3eAC()zWWoZ8{umPJ39P~tLbs_kw9vXL%8b@Y%B8$L0Cr~mqv+Xd5ScC;1J zDL8_%TX^GV6e7i?VN!{Q%O8ym2fkA(Fo>4qGYch^HWm1V;i^YRRewz1lX9Gisn5$= zHkn&VH53}?h=M0~^H2O*JHGv+PWSC}f6?Hr>f{H$7IbS?^8Iv%f2>m0@RcZ83~xlI>pQ=Fggmj~ zXI&OxW`6`1{9`AsB~)fI7u9Xc4{*}S$a@zZGK`|J0cx)+HF=z5`d+qieSH&6NL&<{sk#DETL+N_kf~} zk}vdAkj1QyaNoX;E398J)_iWpT}&}aYcp_bJ>mE6rq8aTBd7a=#5mapOlHBH%xzYa zpsA0p$BRTdN_4oEY?NzrFnRdr89tE@rC1#ASJ0~*%aO1@(KElx;hattGO3)-wY9%# zpO;~jYHQEuUjHdx8|sc!zvyPErCZOYXXc2?)huDQzP9ozu!7h&T*r9^?3~N6?bA#R zBWlXk-!z0?JsvL0r7Dr-3H5=EpzTkNGg6we^JiN;uekoX$KyHZn%EI!`ctCZn=d_H ziyttbYL7YU(n}j`UXOG+VI5^OW4Ma?Zc?eNQ(UW8I!<^1IR#=5IhQIMH1gWeFWFO* zJqA)wjz^}uy4x;$2xy+PlmaD;m6P+NGVj{7Wx`$S9qQ*=n5I3!=|&2oc;r$-&OmPqd4Fq?Y>ZAAru=Gg&-ZBiIWQ~q2?`>s^=--263R``I46h1Av~bgWA4y&3i}-XkX0YC+!LFDa(v2t$ zvbAkYBA^S*yUzrP2=O^HM7BJ<{@tg|Vv(Ww94A)tZ-BrV2*MHyU68P>D*)EKH41Cy zjLD9iP)6Y1>mfJs>pM1gG8F2A#Y9~4WZ|9zNLXm zr!G`c!g_x}!Yxp@Fz3ol&;Yw+n%E6OT5flJ>vlYRc1npHT&SFAK~T*lWVdibN1@N; z<$Z$qYO8+WC!<&_qXg;@{7?0@3%VVl&kn)+Q$!uTrUY!HqVu+q&0&;AkUuMOJ;w z_(q-blC)SW6`8|q(L%5meGbj<_e0#C~znrVA{KYORm^-gxH;j+o)pM1Tbel^nE zNdo((!Vj9(T_Yep<)U$VFmYQMZqIUSzo<%jJc`$y9+#jLQfLv$&;?)%Uofq8$Q z()49(Ym(W60t(WQ!FLWk>yPIq_bM{YWWtR-4K z`OVM9k0#$o_rATEI`6Yqo4A}IO_Ky;vU$4_TdcT=4jX?R4Q__vOfCHg#GjS@b<)B z#`hl2-B{_ncuts3KmK2pL;7E-C2m!Gc&D`Ci$-m9TerPf7YDJkc|Zd5FkU|4+pQd`9XqoT zkNZ(arBB*)wY2D~=UVS_#^=0-Ng3(jy(5mayLKc8>Fin3-0ZBSPs+P?LXyJ`;W!GS z;0j_!-X6L9DOMQvA$Mf?R(O=bO)YViolM#;qjv-bljr!R$dyoyXjRk|Hr7IDgT-<% zLg(c_5C+(67FvL%o=NCsSpV0j;1m@LjtYJoWu@Q!RHttn)6j(f3_Plg0NjKKJU|&JV@H_9N_HYh~ zkpBX&&G=i{zJ@KM!{*s6Zp!~EVpbP;P*qeSyRFI-znG{3{o>czl)D~rqhxbBD9ffh z)_gY46d#LqW$V;fdu*@FKjayc?3Cx|XMWWDsmrYWiz~buJU%GnN1M%AYeZ zZ#~TEu{w4}qgBW6m{q;q5}8R0Io|e5XyBE@O3kDi6H4v<-fU)BY1n&nmay==zM&=C zO{%=y$aP-CpX40R&7)=QZEQFNqiTPHtnBwO-w(wP`yhzCw`3Nq!GPrPO1Ls`S?+(c&nG*7T5TgtC(5hJJzt+u)*?N z4gAfh(ucV9(}DDY2Ql?YBO81+T;g|=Ly(t)hLd|`IujWGRw!(LdhE@)^O${+)}j1N zLPrS6p(x9nIHWlW3%8V^Ok3dyQUpB3G|B4YV>H6%t`1i(wj{brpM}NkvNM z`c6GCPC*0D9960X_meKqcVJMLk)Jk)f7K|w_ULjDD!?yQt5MA7doQf3H(;HzM)Pqn z`4AO}DYBwrzXRXf)_pxbN_;ji#5j2C*q4KR%tjScKwb?A>@N2Cs5-o>R)a3x@M5`q z?`>HbHYz$Z*rlD*#rL?-BM_xNF>Nqh?S#-1gIF`C-4^LvW1D^?5%$+;ExR)&N<>-M zr+zI}%hfh?h z!kUjN+SxBV{xoi=G8GkmLcJ6s!mI&*ca<|f678JUD5}dh*rCg+rC6cOyLs|B!fWSTmO}SfH-p3-P`J2j*6c;MY@@6D5U;lduv8U|B4MM3Z; zN(a`3HTYrP*PcmXOmYZ;D24m+Z-*$B6Os3|xU7;opKr1TH#@;#O_C%heE&b)IVjwx z_BaUV!3}Rx#Y;RKZb|m}-e8taboN3U~g(zQW;vZjLGR+E_OS`W!-Lp*r-UT_< zWc||wy_T$t_ehZzJ5n6OZ05L z80KaMSBiVH5FZ( z?~PEIszh-97vK3HK{CX^r24;UrQip`SH;u?Dx#^R2)>s)(W`4+)8+-`J5?@fh&F$G z03Sz%)^Z$$xfWGv!QHFMk$(!0w9N%O8yOlZPQtEmUzVU zH!(RgNlWS6aU1$O$sXEj0gK9WXRzorpya%LyPLGe1#v@#b>|F5jd70CG{e!PWS^H> z%;4OYI?!zh%I>eGNG+7)!N;gwc7%`u9b`IPK?OpSUthLghe%-PrUi#8Q-ipo^YKlN zckf&@$%1$iRX7kpJo6q9_9O-Rq5rVgPaAKJNTQ)W0w)js%azj#+p5f_ACz3}x{(;6 z+5$P@H2UKdSbE0X3vZ&7VoK8Rj4@34?-?V&40e0Vpgf>90J2Iz^VF}sc!E0f^hdYq zMoyrpiEv3%!9r)YKaNqmaPvm%Jb@$@{+F!{{d{(d0~ivO zO|9+QN2?1}EBmHI8oWgNZmi)P#a&f_N%||$yAZQxJ4vCX&O; z>fXvWDj>Jfjm^IqEP!ea!$qDmQbpdH z%3eiFWCeqE7$U*RZy$ufaSePbbl~mmBk|?huXz8aC<*@R-L>bL`?9<8lWR`5!;XG;)&}^x-Rem~4v?!|TP@3tB-}Sp2P^@I$`QbaJD+UnMO>YA*!#NiLtD80S$NxR`nrX*WIk2$ zz94b=GozBp(4eVOEskE6tR{gHpuzE<`ZC+hEoFE(y5RI6d?Uw zfV`EOe|EcQI6Hvdx9T9;Smb-{nc3wu!u0BGY}DDvx|4Fk8sc-4#5Ry*M#BrtqOXz1 zCWL?rvxgV2HqrInvrK%`v<0lJT;Fe9ssO5VzMfEA?cvStb>2wu5#AJ>ZwSOWKExy2 z=Af+;r{Nu;8zh&%cIzqxOMlu*nM=&Vl4m;*f$j1LZD?h$EAC^f+aRnPWF~(WB)!6AI9VV7E7^Jx^RV!OCz;_}-wRisJr2pYGm8W%DmR z!+b`6JB(AN=6_H*TGB@8sQF}`2LtE5^*DJUSYQsc4AY3O32Kh`2Man2MOxo1j9KV= zZXCSN#kvUA`~Ec|SFZkNZr|&Ls(460uW}M3=36>G*3E9;Xez(<4lq!(xNxo;7Ag4T z#p<+ne{(LY@vkGhl4JW;@7mUi)e?RfxgETd8$@&B0VAEfciMY9#gXZd0ZC}o{;1|+ z6QQKgV`s65$e3~83bRPSqZdol+NY{!zJgKECCOb3zRG@zW}m)#i_qwro#K2jr2xHm z#~xK-lgA#{@FOjT?`Ne3wGh4ig|=qX9POW)g)-_u#Q$kz_5B zjrd3vR}OEe(=_-& z4;z7Bh(nORYUJB8^sCrn*zg`|ThW}?$g1Fh7j&*ps|pVWoEgEEpi{3gYIu=Pg`3JZ zKkC(1eR$-Q)Y~mCzTbrS@S6>iB}dBXiO%~U!){v0d5$t8!Kl3vRyA>iVl(l1w!aKx zjG2fn9q7-wPRskeKvov+)<8oXY((Ae zooWUI37mJ!DI#9@$VmY+?Hu)b+sgh+Rr$*{m`kITQ%d*apRCO*@%~Vz^L)M}-MD#} z3Dz<9C64Znq=lSL1zH zAwdSUXF^)M0dBbc&h28}+2UXq*1!z?uuXB2Q_z|EiT7Wu4c#NU2Nui`RYx17+=GI~ zh2sv|`^=+ew|+dmVZ0X0?H(3?rK#EZO%MZaFUERO63zab@a1%Xmsk5{tZ*Z)$GlZ@ zWmSt*mdh{G>JKV*R149Oz@j)X@E^!@8fB^+4>=EQ4uoV|@Y{K+O%fuW{SpTDr7KNf z$v7Chz0V1K{0?9wa%c?+#W>Rz?=0D|YRc@l8OX@j&a-p9R(``0?39&SF0B%&M#!8@CmiSf`1aKuI@SIS$_I-P=(zj(RZBxb{T6l?Z$ZHhEAD;-#KciO&pebP3=l5J;FSx)!3glRd|zb@SSGl z={uUMvM1=?zu%I4^HS}(wX7`%cHNA#wD{}MUz#jUIDHn{DSoxvJ)+WAWZ*MnP*T_Z z1E6*e@taI_HK{CYCf5t0&j8)-FG}w`X@~DumNt~R*U4e`*)8i);zXQ#YwCfKD|a0m z`U!y_7u~xQSd+Wz@MP0yvaiv4hvofe7KNub|LhtkXSpc}jus1cBuOeWPr%h}JS#sG z-)m7!uchUv3*Dz-xvkBaj8qTmm0{Gtoh@V1B%@aCyW#%EadE3= z#I_-v+%fliNWcD~Mu^jqV4czOpQx9x^wI5;o1{XnVmvs}s0o2ugde_O;+=Bsh{2IrQfy+v4K4K`a3;=*=F6 zQs2^Mo`m(fUmh?Cr0r>l2fbGnsJFk1MC8umEU)GlMd)6?Vm!qo*J=!|$Y_}`h!t)oWBVe85%hoa5SAcVSx zbH^;5+X}mi+S=QUy|58`@HBW6g)|Sc&X2u;U$X zo`}9d(Ux3r_&j`BWAwyAqHj`SR(|II{`|__l^qTPb%~jIkiPtnoV@e0Or#{xgdzwU z411>c{|fIjNpfikD2?S*)@6N?bAaKT)Uq%=)76F}Ndq1ZE5PVq=M}cJ)V-xYE(8~STmi?C$Xo3mOS0%hTy^Lw`#F>A~<(tU%q|0;=yW=eWLTpl&FzCZxs_s;m1L;%m`4qH+?< z|B*C20ZBv5;y=q;8Bn3o1aG&OFuJ${#VC_zV9drDwW~wbekSO7k?^=&iva1<((mVq zlVz^RPfUl-31wxp+o(m`Bzse@JQzam?>m5#&3;ksqVU{L@3Jo8@jQ6NUwW7Jh#~(? zpP=+X%mjzCC8_L)Jt^mHCsEDc$J60sMfV?y|IC{;c(l_eA8#7#fevw8Ux;CmXxgsC z?e%4-i<{kgRlY)&200B0`Kx#NDS>10?j~Z%jo@41M+^IJCbFd?PYrG1rmw6{-RIzf zJqqVxoF6DCl6_o1LkfSV;O2O6I|}jOQ~~QW)_*1+Ab!A?*wB9WuhoGiEcSFcSou@J zGE3-+rzR1(G~vY~P?k>tKc&s6l`?;T(JW6oG5l3iUYS6$R-a-S=jI~br@{uO?Q9Yu zC!=oxk70+}Q!<%u8oVb{|8duC4OZjh^QmXMtp6Cl{QpiFo=>Ur{f-f$R`b^7wwilPbh)Z3z zW8AQK^*J+JteyF{?GZx4&G&Btz$ZL*#sU{Jvq4Vg3n3h_vZnYw4ZVNi9c{WGQ_vn{_*@gHCBt(MfLQCyRF z{wb#%l6lE>+wpFr!gQP~TBCnxN$a~;`&``LX%H7ks7KT#oLXs18NX5!;n?wzN2XbW46Y(2qWo;%7Dr-0Wm zFGD41yi%z&$s6T5T~t>Bp=uDDt$E(z042^Rj?>i<8OaPV$DeQB%5ka8s{2g@rC|pt z9BPM6?6YnTzuvp4U=_;odu|phdyPgHGTDQy$t@>*&iicj{U!cg{UW2{6e5RM+(wk& z&f*zmV=WdQyHDq$I)97w=n4R8Pz9pePiZ3`!jKalJCc1A|9UQJ_(_hp1L6W@iP-FG zjxyagdBEBBS3|M_Pi;fo902>}tW07SYDiNF4L!#1YUmd2LQZ}deGCxy0{->a1^V(f zYjOo#Tx|6IftC|clnrdlx{Rg{r+YCw0a69JG#Jx#tB&S}kRGlyG8!6jc^4Y@{s0jI z0(a4ikvBg|OL*mZ)_ePMpS1MBeYQN^bmJX2%_k(7T19K9*m)`3n=o8ZEGCdTbeRlC zo+=+CR|Z`YtO$6Db5*zDH?A@Zi>K^8H;H%A zlShoL=u|XLQLM}&Fj*acB^l*e)s*by%b5@|w)5nX;4*6Z>r|tRV@vwmr!|zxLxDgs zg8;bXtI9MA{2i#PuWX-qI@-WF!5wO>c0hvOY&8nvP9j(1g}u#2B{!_i*VDYU7{w2} zs8o5s3@h3%eeyfl&Jbz(>cC>E{a3oywdYJjzgkOn#i$)o4P(UjwmTTV3;j)%6}COh zN!y-1@crWQ&-@NhZe#sjDF5bxrtD%SJ)k23t{g`rlMmDkU-hH08tbS_16Bb{$Jt#7 z)gT}pN%EWSPL7}JQBf1QGNTWz7QVkMKacQdu-)kRolaPtwqVo-|Cg8-;3EX*+~%|V_!6Rmzuy<%l3knFBn;1wT^E&C9&4G{Sdy zQ3a&3?I?ZqW_qE!-l5@L>TqI7?;upBOzZ%Ki4ewzb$t9#Bbs^Xkq>KgDSFCjE=bPD z14hSc7QwcdQ2D@@s6s3tT}MDK`ZHvr158k*(_1pn9FcMvFUfdq4s?Zjv@ek;Vlx?B zJ0T;4$2f9L9Bnjh>8QEOJx90ED6wk3!guQpJbLuj07{}JAx zK=1T5!Kp4Fw2%HHJXmFb+=8M7Do8Z*LPZDNneA(LWQj?YlVy~Je)U?Yu=+uC7`-G$ zQo2h@b;NBVi+Br7fdqaoCM>l6kUE%hn1>B-qhT#RBBHRkNf=Dvkp`2UDqcNonI&D4 z%kj}z79CZLy<5_Ia@m0q*Gy>#sTCzsga(AbGrG2(BqyFElSL*=L~;UfYY#L^E(B*Oi%t& zZ&3Sgq_#&=*^P&f4kOzCLEhu*yweXY5u?av!qdTpKH_Koz4t=g>HuEt7{G zp4B@!H|T$!nQiZYN1LvvBu46~zNW2qcqxC8u*~5L`lZ^!53Vj)b=%AL6#X8cc;e!s z7W6`a<)#)}`fq@}fS*o|WS5g>6SNv0)yqmJa@r*{qB?_>8wx~szWl1pnpl!)6PI)o z(dQCi&Q?|*%fO}9JQ^Y8^m9mro8>@-mZaS(JL z5UdKd+{KN<>iUunsV4;NH_XRUllvf4ao%Cd{Y#$=q+%S?Gkis{iRQMbpPeHr zkXxMGolOb}{QRYXX=jX;P>5r+$y@V>i;T_ZBLGVN<#vU<8iy84Ks~rpf)hgiL`S}1 z<~Tm_3*q*1gu2a5*3PHcFo8=50mw9nbw4he{Rh&81u-eB+CQ^2HTz=wlOL9w(%uuJ z8`}|T_3;KTd*Vy$IIY6^gUlv}EGRP!&f^1K8)|S!S*!g`xMnfR7yh@L3%(B9)?V#zBBz*}}qPly_y-mbRNMKJp3N%8u6-k#kbjTkjndH7r2f8W; z+OWVs7!@VRI%LyL7pSK(T|Qr}$+l6NJ8Cza_>Sdx?t(kHpt1x)GR1{e^`ZOIf-zcF85B?DwK%RA>JNp=10gST zQ&$c5i9YIQlT&{|~O5=7n zG2*%E_FVkcUGfJw#EjaMGSkLqllRKy4ByE~B9lRvVuh5TNB#lTnnrL08JP0}(4t5M zN|J7X$KDPKUrK1=tahzeo(vqudJ|?$F!%7}{ z=ZiqNKy&s7rpJTiJe)`5BkMV|=~m#^<-F+u27be#GMB4VH21>lu=`RQO^nJkFD+zo zWl>+E>_*k2W2oN@C*Oz`F8U_UN^E}fNNeD!`xsOQIObE0dc=-qWUdS&OXt?GTu zPA{w^h*G7GK5mO?kSqa4egy2`EbSM_8rgLUOu=%Z)Yq+F5I`qhKi=G538{W`5b8%m zJ2W|-HXR?cq{I8$LFU-cBAcPKLD$;__BbTme85+hyMDRpPVqW=y2c*bhNL=C;5xOE za39-_%$^8V&aNTEEcO-`l$Hh8jFz zd#6%Tqx^Zzr-V2~<&W_#`Q?;ZhzS{j-sL@NK$3EFMgIo9KT3Yx@vsL?>vTHTeqqia zC2tOP2EWNqP8|Jx7C-!>Ld;PAoodUKrl$q}w+TO_9PN#_hKQnM5XiCV2n~#EnsS(Z`iz&SkqLo|G>e2iH_1Xj%C}QxsiH;x*86SWZ-A zlg$G4hTnL~(L{M6QqB3+`O~ji`2V3v5`;p{=|SAd(L?-tYHq9NF|p9WRmEG|HHTM5kGqY8N(&>?5Y=PL`^d>BPn zi#>3rp5qsmn%Z{kIubV<`S6;!<3jJN2lQX{*WQpA9M{e@llUxRC*jKhHwh-V&IOEo z;Gab7{mCN^^)sDc89gxvpUDut-P7u>JA-WGT}=*Nb9f9AvLawgvaLMG<%YUyjP5{^ zr@)~*{*N)|p3fj>q|1@b!sM97Tget_dcQ{Z?9@yX;N&I`3JhM!%qggFx?;+-@&Rb( z*aQ4|6JTIhCY_He(6ODjrhmZ1WW9}X=I8#T6eu_g`ZcVC^fSadw>EVyKqwu+& zf=@3<#;2a%a{ic4qE62F6bWF_c5$RFS%TG*`udGcSwqaBa(BNJCkBIYAX!RVGhmqO zgt#-sb#6(#`9#C?r=#$WA$>{L%bs?m91*+eAncDuwdqcssp4d!OOMv81-H(A+Pt{b z!^FfEF|r_ve4m)$cl=M*6&;J93Sze)Z0?_#;WO6dQ+}JQRoOqTz#x=45;HxBbyBEB zyS9W#KaJSV;w3aQ`mL0dK#==}liT%) z_{lcp@xgx}c_TyQ)8HsiAo4HmsFg@H(b-SP6n&m%`*y9F`%U~*AyEp8r1tr;?1-Xu z^kR?2eftZmeJ>%f#)kRkcyNZLv|Db9rE!mYwvJj+XBxfeg(t)ZagqL*4FhKf7`rUs zDR{}PC@u$YzuGwcyG=jc-CeD1)Oj@&(i>l^FMC@p#NQFjAyDGBmX70=V?G(RUfky9 z87p0yE~+TlXR4rdLjFp`DAE=(?bmjofzOuMKcB5N;Ip-hupay?Ebn~oKZ{!bmP6}> zPuLz^+M_3Yd^`agKcZxAOwUhZ9XG!p>(vc3_RVv}_1@*A!?Gh;@gMDi4_e?FSb%UE3C`cnMZ1e>DZjz(SM32N^({PHBCisV z^BO8pV}}KX0Jhvs{of8jd?P#P=S~%E@I`S>JM#Ie28rc<(hdp*A8(_|vHN5cL4!O_ z=^NQ))IdJree$x>)8y>KLSN9<$~YeUU6M_B_AFw`Le#j_{uEvb?nca?3g#?Gs7nFWFPdK09;#b>?dbX|0h6 z0|0|Q#g&81)5$T!cRXU+LWB+5U4tMTz9%_~yKaQQ(_ulUFRE+nJPkM!0grU?-5>!1 z!?f>>j~yBEpkv^9_5i2aQtIzGM~YEqZ;0>NpD`HTvq~E9s{JU?(_=8|mKhed?b{z@ zofX;`eEu;#vUM+ZHj|o_{%BvM;L^@QYr-3`xrf=f%G5h$%{P*6&V-H1u5DRN;!w@p z6eGmT#U?)fPcLRht3%){lc6upI;MN{SDPOSLWA71J`lK~_-{5wor5@NB__ZEe83>8 z+E6@%Y$b$4uO|5dI)K{^D)j|%SZ!9y&cZciZi4vaQsdXWm-2~|lBH%{Y2J=9r}M=j zRZF0Wy@w<xo>q{Wh_RP+!6JH>++2vj#0-ss#n`_HXQ7@{y5f*P931!8e3r8-YWRY9Ea zvslcN>msJ0Q?K7q)Qr2Rt?oJPQkRn8fpX*6dGznv)*U_OF8201?(F)AU>T$5 z`pxVUATNd1996#VW28#ZEg&dwe0AbplM7ksnqG~(R?OfT@`EB;^lavbWs|7j`X|K2L(F6F%N!u_-mL=FLbc8kP(TpM3q0JA zOP}yiZQNwMGKYCtc|m)|^2P!ZjF0mmJ^zw+2uvN>0fVYSy|^+T4Di{ODR2p9N? z>5<_;RsI$L9m#_-dLl@$>KAEGIXqBj7Xp**h%4(0i~*cKoQQoB72@X8bEb_Clt*jS zwwsIT!xAHoTA&|2Pr&bgXc1VJl5`!x?~}!c$icTkmHint)D6l-3m>-T8~B!X5Up99 zfXLwC0SfWfmKq`$I6(4s!%y9tNuwu0+<{dVAS#b4!+o4QJ{g+q5DVYn1}XmLx?CNg zCFe;TEcNoxBkvD8el%1$80D#mnq=LY&2=INOYlu8Pu_d^sOQ_TodPIJD_o(cn>10(Y<-?2N2~SE>LC&JT z2VG2BN)V+3WZK*oV4|>GXeP8GPjR~E^h}UI7_=jSq*p)#8Y3Cu{k%wds3F;05JQ3a~gf=4zd4|3ii zpf&B`&!d$`a^aaYM@C?mZ=K^`_R4-iQ|Rhy?{2v}WTxWwR9U7_zlGf4EY@`a@hQEf zYjJWTvds!K(Dqsvj;~dNPv^D@H^0-_EgwIH4_PQW2lu;Wl$g~oduIC*Gs@NLsOv#A z>lTO+$r!5Cnw=B{@=(J`Bg#6tE3oO>m$JW9*B|6Gk z{K9%x+$2V&{vYbzJR0i%{U08YQFc=HQHYXc3x&~QOGS%4rj?kGguyVD>^nsyONfX` zwya}c%f4hcM)qaKI?U4j^!|K4-{1G#=XcJ1-{<_kf82j`I;Z93^?EMX^|&6_@>mm` zt4Sy88kRaB@0Rq--WGc^e&d82^h#>=(Q#}H5JaBA;3bG{-LR*?D_lFquw@+G3}Zq} zHrm?GM4m+^rRWMHUskwjK)%AmanKT{(0H>6#KeTz1{2{4anZ+P1-xOyhE;Kx7SyD)3V+lcCx?EJvM^B`M$xhGglju z{=X9U|4HEgpZ;Ccf%Ig0H<&JIWj?V~Y;A$ClzJ;w`jS;Q?rKb3#3B7I#b3_J@Rh3R zW%j$HYXqag^~ZsYrPW=260J6)>4XJsuY(!@a(Ro72+`kCCDaw^p#C84Bu{)|i=r=s z`cs#6b3v76Cr0F@?6Qxa$#E^nvBV90xbxlBkt&y~(OaG;{24kPRaXbLTj(t#TqhwF==4wQItK(8*hVaY4jH|V9^hJzbwQj@s1wuwKq^|Z?Ba^A0dK5fUBTeD8ei=^cs+Jzm=k!x(yC%J7=b9}ncleKprfhD~xuQ6{u= z)mI8F%qG4cVYX}55jq4kDSkdHX(TC-r{j*lO9WODMY0*g^hv+jeZY}<>7WAuJm zpzqz-M1B!Teevl|+c2k|0k{@H5jTP^1OhHqRG!d1LTH$jBWX;QE6?RTadvb6 zB~qNB>$ARjMl4lT*ccatV?ZlT%ki`pj#$~Nl=ozwV_qD7q3vh#kWWYduCCg$b%izr zbszv^3qL}}HVsz}BqnFS*^PRZdfATmiQa8<`ZEb05A_)=Rf)`rkA{#VU8{sXUfriF zJq;|Ja6Ue59C9>M!vEk&XIoXGfb}sU(zhfog#}jaTeOkaE0k4T&d*$J&V7JWy+lm=&MyHO;MxhC&3SkY^6uo zZ{vRV({BuR)BNXv#fvq97LfyXo)Dw31=jZ5Q%gezE+-RLh?kCC^-vwpBB-gSZVytW z$SS}!1XV`o-w zsA@s-%}s>1Pg5&hX7x2@K=CicJ{#hxlR-I0)?C{6m>$>;H_Lj}$>bzpRu6yu>`2|N z@;LPz`5Ji1V5232&-(5j%KLjRw_X$66Qh3|@|90XA*c^$0xBAA?bAW$OkMNH7*x(j z&A#e9s{hY3c-~BVr3`0KrODTiwc2Cb|)r z**nAV_yEICEA$hxH_~0XWb#aZQ<0kPQFC9h=?!L1yygDIa{Ri;a}`_tn({%V z_JGmuKl1gU{C-P3V1Ib-nfE;k+h52}u=S2`inEpoz&+owZ=R;=Mw<@J=sY&LK;p{O zP`IaVnoiXq>*BFYWEa!kl|HXF*QfFb{a1e>>ZEtie!ESBnP&v(obrNe2h|i*aF`Qd z6h>>zLU20gd#t7in!~c;t0w5+)eK#I(UlHgmTN zf=jzTR9oOoY{RB&GLfAcG-1SmG)8-=``;^)l94SjikGqcVvrMz!VjIh(Zllv-d+@L z7&)7I1MH|AKsO7(#}(M3qP4%1jt6^X*%t}Ca1xil;X57U&H2PaJR77S>S=GQPrHEe z;59Dv{cup(iG4suPCLlp*Mow>KMADr${0!%U$oX|ffThsweQr49Ck$k{L?@hiq1mP zxd&fQ@$gxlGBbE^S^t|({^t6`n4QtcVykkMwK3%mrk#}p$BkgN^3FntX=KwhM%+Rs z0y70T&X)YCYAGV6zC4Wuju+@Xja=ujKQkwk^}*#Q#cxwVl}!N3KV8VOB(phJJ5G!I z06*f$>>-#nj;Rw*2OCR%20w!7L0TQaM?fyi^vTkB$**8RhSM+OKc3a@Y{sm)I3OvT{eQYArub%8sba`35z%T|D}W0#qprJoo)9XH%K6zhR?ml(4W z7T&8^ta9#>_rEP~on$RTu}VP;Rfs5hKFnGU8N>Me<6Y!Ed0fG;!cJM~7nI*ig3)>Pp=v3p#0v72x29U>j} zeVrPEWfPtcPotel@YT5c&rAgLwZcUo;l9~{($0k!FP@yVFu%>LUne^M+vFX3mGZ(F z5IfiB3v=OH_un!s0LWjdDFXWI2cPW0!S0*-NRpw~$RF{YUb46CuHRU8c5r=8kcl1C z?}*VY+QD`m1)>5lAoUd70N>#V29))Csg-QJq^oQJGJ>J~Zm-Mgu1s&W2k}E=sys0& z5l<mp^3ULZH2pd<*=4;Kwk|rC@Y$i8!>D+b5?Qr5+PUYtsEDdhU$$i zLrrh0`GU%JWUs}FtHVyf4Uj(cKO(q@t4%mao zSIN?ht@}>&9#Ae@Ms6nV&&)`lBAKMk-Kam|{7gWKQ6hr#%S_c0^=mt}AA1-ia6W** zXE+c?54V7ffSJ0*#I$SV_X$wb|3*Q;25_uqq*7k)6wcgqbdF z-RB#6CgWdOnBr8|kZ*h7HW(&5!RF5yJCXKVV|o&1=W`;OW?zpVSC+7a3aoYuoBrSh zYMzJA1{&pENPh^H2S`tlGl-^*Fm6{bZ$s1gJEb*YaOw7EXXW141VDAbtotWlx=>%? zN9bLe?8K>%7o{PNuHhpqvpmgwdFs@lbVkJ#Ou#)L{U4L9gjzvASAxo}$b<|`cpqXhdB zgX-!~tsbp_!$)c9!B$y0Y>&;9o%kLkfck)bR?rJ@sXdLLQ$7mhXuKS=^%XlHRt~Zo z1cfYZQJt|A$CJlmj5tJ_`l z>-Uqse%9u7fSh@_FzyQ>2s0R~vr{z4m+R>gr9-Qy2eE~#w--!yUO&}cnLc$!!mV9A z^`rdCF(YUfMi?06sPz`C2f>hQ(oS%Im~X)MVQmv4Wc=R4Fu)i3!dG?On9hnaoTiGZ zmRArlp>m~>jx4EqVl|hq?wrr;xb+i+2&DKZ1$FpNGH{lEW-z2hhooTc6Lcmpj_9O+4Y+F?Yi=i5nflEzN#*PD~Bg9Y)9SH#iH(Q9dJBkcm~ zDK1vfx`R^iB9iRHuAlPQN2Hm*Xky$WeB^h5SaeAjiV0s-M{tLq1=12Ti4j-85bA%} z)&rDDg+*GJmYjg?pUGuhMsTAa5aoillYkFyy129dhJW)hxBlq{otHPh2<&trb?ei( zsAmWU;U6$;%NG!aj{f@M#;+e{5ni$}h^zA`Mnr%fLK;a69Dz=f6Nda@0$jU!tTrtM zGh3wHO8wCd3f8=)LNPW|hmrfMYhNV0ifv`bgG|GQP)(1bC475}W@opTkeOrz5!ndm zP?jmUrX6ooQIiUn>Z*As+>+GJT6+JLR+meUY1ZAI|L9Oc1MP9eP(N&`PkYn8;i z&Tucg8Sd894#A6JUOdPWKv%~%rm<&Lf4HWSc*0#ve0)-`5YNm}Uuvw?)_s#glm}M& zpQqg!Zxs1e{q45j%)1+xQX{e+hJhk);$`dzvToDr);af4D$APrcttzWGCsaLPj&2coxpm{e2^EE-5k`jwy{~pn-T78g zR2ynjQW2Vwe0pJ_F6iFMl~Z3qfCE)oDVp|p=5D3iB+vZ#s$`Suozwt%UcWVctQJwO zp_?70*f1Iu@VQ>2`E%CS#P3#mq6UEvP1&>{kSt$_h_^@K26)pmm}k*U`Z5;=s;`IX zpEQ{PHMozlx5-H2?lrRer`iwcvW*ho1#D9PG`7pQjcYOb)zyh;cof$DuOX>2oGtq{ zkzY{;_rH_i2}$p70#vr@FUy|L z4ruFN>3^zs+YqpDYx)xLOSkNM|J4NX3df^m6tuEvhlcJYu<8|-3yBrvT@lZmgN^OpUoAp zf!|CygV4HzJ3wn??qR zL;jhSDzot&r%&g`09kMMe`LLH^gt~SX0=;e0;j1(JYR$#6R169&$Ad~dDCQQjkzf! zg}p5k`IIXYeuh#pQ*)!%gjUf_4TbMeK;CqVAvBw;xPytmSE5a-#VRVbeUb^1Z<+nJ zXH^|Inv-!k2wTGE+xSa|KH1gZH1x~)atOgB=>Fl*I-w*8EEKDa?dU;nU!0@bk*`=9CQ`_FS3=BJL;@{o};*G7I7vQ~L@-YGi&b>i;Tl#h`WW_<14Hv>|*<5P97 z(vqrKv+Z}v*Dn_N$d2pD7S2azyt?GbDj28Or5F(PN}7%#}V6yRtfsJ4%k~wkV4?uB|9>Qs7^=iOe*Gxe{}8#5UBX zH?3Q>As(0}tiR|nvR^?VHcy$Bn(BSNB`5mM|iME{#&D_l$58l^7zFRKMP2 zl3|O#VBK6Mu54Je;K1>Wj63p3E-K?@SVpv3U3;ArKXa`* z?F)RilAK7Nz-=X;Z6t$$MiSEi+u;u1>p3WB6{%Jsdd{~5Ew_x)cH#?f9ZGugjg3-= zH?Ir3c@ZM=9YUzNPZq~d1zeoG9OMKghZ_xUx6Qbf2i!5yzSm-|$oBAu071(CwrU$F zXtkvqM2G%`Oa*{AO7}kCy#S>odJOa%<7lzDjH{RvR5PMs!1le*s9>wGA*xtxhMDC1 zT(y>USu@7gYh4$-!rTKu&P}GpBGax`cv!rumgVV&#gRugcZQwb=U0gaNY$Y4Q9xR! z-HwEyp`&TXOP}mK2U|Ub$Luev&_m*UH9JU7&E1SB12b)Q3X+$>Dg`v-w*Nw; zHVbegE_4HI5N35As7gOe=gg^g25?cOnJ!T|RG2le;#e59H`H^3r)Yj;N_lKatYR2DDxk$)yp&glJ8U zNIgwDoso@Hh?SfuOZiIL3y%90@&Kx#*IlbN{|Pjea=uCMk*ujC9xr#zU%t}-q4$i( zT@z?~BKV%rg<^a8d-|#4{2!-q_{M$eGayL(p_?YUJw|Vz+OR0W?&F<-eftIR79wzt z^w+0Kllaz(oHYxcIiu#xpA;u6M^sRL1w}^b&u$J3bvMHNCy$d|^TzEhE-#&M?`t__ z?v$-7FL&ABK^vwb(B;YYBxV2EF@|}cljL4-g&RkkyAtzJVXD}I4=;*Z9h5R|D@L{j zx^#=HzgEUhM~6)ElA6lpQ3$iJ9pps>GlZ3~R6qyK2g74j0CBAyXd8b2DEmekdbij_(*mYL!$p#f2r z!dpOg;v>0=)UQRxT(;}c87=z({e|Rp(DPPrT`^2=C!{#1u~*abs1J9~4|!?^9Alz} zo^#Qw^ZFKhg&K%D{BzUlfxgC1tkQ>>gd^Z)E28tZ+ z09C$wgy?-{6adi-;7kw(r|%m<0YA}rpG=_pr3!;_d?3kA-i8qeHB|xjwGD<7MKN>@ z>%-dre|y~hp|ny&1P@+tUAITl7xwW~)brobHVPMDvDh>ade&%iQ{BM+N3Wf@^&_(6 zql2%EgW{Tg&2^_1y)7|ORJZE(61Au-)zUI#zU*HU$4)lNaJ&KKqt|O$P%Q{ys#?FY z*LQXzGwUaaQ1)%shc6WypG^8*?r0*_1ciPf8{RJ=83j|5Gb_dT-OT{gC0#QFQhOUjx_2FKuJ>IVl&AB#h9yhP; zx_Ny1;(Su~q=y0nXKb4oP=#%Q&TV^FQ3TV-CFSaX4!!F{JHZF>Dt$t3Z1i*ruU7N= zgfvQe;n9HjWcD@pZWj~h8~#ELNt}Ax zUm~l(V{P|AV)xujg)Y$gB{9w6UzuqwOR)m)Em#TcVjFx*TuTr~>_M<$7Hq(uvSR5f z*6~^PZWdih4!Mi&@)PC{(&Nr#s+ruQd%9se?J2uE7Qo;M;Bf`r^tYW_qFD1($>A*= z+rqG5VT~7GLK@^}TzmW$ge}hSA;amC@kv75!1uw} za0|dD{qucRCz`+FtT8@+_DbIu}%TqiJ%2u^iHhtpVhr>w=} z9SJ?B1-?O!=7yvfKjiQghUic80<_vlc?mv2yaBUK0>&`CRZBFHvlS#2TyDooh2B^E zW@O!kKOsR#koScGn5lDy=XspoM{5;^cW-C8Jh_k?Ww;x)yx=2b4}j}ez+_xCf*LX+;EsU){o)fwu=Wk^eP8`ha2hANZxj&_O25oCu_{?>w6EHn}WS z(fy7;@{b$imr>ssjkac&O5IjOuti~x(<8eXi4(j(qTrWCpT8|yV68k13+3A!Uc~|z zpr{8h+jY$TC3~WbA(;|D+or!}*cT@O?cgBIQ{8sX*!oKoqZyIsWwW>|uDTROacD`z zF2+ZFuJC5uc||-O`E_JT=6HtN&i5mCg}yX4{k-I8lqn_*s-=WypPGK})e^;!r0`Nf znkTI-CYHaAOHNesCwQ4Ny=YGfd=U`C;k+3CU^fUL84Tm|OMepb5810ITIfkeUH&pi z7{A1GC}Mhgdr9W^^K=dsfR1_5;?v6{4*k`OJwZhisxxfh(p^!qH&{XU=z@lyHlbD;EJ; zZS-3OL{CrvW8eOYq)Q=U7S&x1cD%st?ZzAKgD7o8&{q>jnyA26LyQw ze*N5cN3cy-DCDfqi-)$q?^QDp0SN~k?lyAp>Fsn8PQ0WLf`vtu-ZNsWs`7gu?v2P#? z@uq>86dFfvoIc@?zBeOOW3wSNW?5A>b)opZP84m*v42xEXJB^wbO~JqEl5oCb@gz) zCCK^(I|@H@y85l&<9oYh5C{|T$Z`}jgW48Y>Mp7QDW^_TXz09BjU_^Fy`MJ{EHjPtduMQ!s_N~EW}Uegk&^bM zU_A)OQY}l|*q__I8a8LpPT&?O%;IQEYB#RqXClC_SO;oDjvX{IY=Um)FMzlx2gJp< zpNRcap8JsDZV+!{sc{oB^hSBiLg)hHOyxhg>|a&J|67e;is_CFI0sgF0Ng!B(6|qy zjS+VAX2gbpD}ut-2{5TxI%hf(-gN1F8W1+v)E{zqQrW*o0KykhEGxPhprf}?P(I6g>u42`$rtFHTm%AcSeHU+=~RM{3=%)DHxa;c-YnW z526$X(m=eJF)aO^wiY`u)NjbZ4P6t$OdkdxBUCsfCrEyUV1XTL&9^M`7vH=!c^k6T zqFANw(Bjgfh)62kGESr>xn+Pe0=OE`Eu+y*7v#k!(%3-!?|TAHb*%h#qq7ll49(V4 z)tbBD8SyAHS=>LT_>6k~nHAk!@m%aLdrJ4tZLkJXSs+8=6-^TyU`Pb@RQ1zxd#eSY zTn;pRlR#?*RhigX&z1GPG5h(Y7hcCIq^8Qxt>~*C(m!44Vl6;;&#`Z=<_>g!Gpk0X@AYI2HZRjxcSEzDx~57R}7+X zjhaH_G`wnoGPA*i!mIM*yBEK+eOXx`h-Zi|-12!bypXs8tb>FtV7(WC=vgVm8At4- zGyH|5R!-3m%l(CLTYo56P8A?K;lter*2MZs!XGB|oXS@bIh2=sZrqb`JaxN&_*Yul zIyKB%2;74a_?8vK{R`zPTG4|K8WJKwkbU+NI)kn(BGpdecZ#N~^s6!6$1IR~-$$&* zDiqelzgk{9e%Mfz=?V0kI7p<1(9%JHWhnY2IQFlA9aCbEEDWVwrseU0!n8zl=W6!v z=Q@H@BhayaORqFbx9GT;^`m5=MmH6UkF?KeS#R|mj!T{sfCycG?i-ik-1CslbS@jz zjp=|jk|rzur*KS^!nw*w?6V^TqILK_`up#=eDc4oCV2q>4}i(|QOk`!oP7n`Fs`MT z(a{GfS{;Jd^?pw7Frh}pA;od5O2yP#b48+?c?M6VA9;3u8atBAZwoZR1FHB-N? zzL=upZ=g?j5bu}p^r&XmOpPj69iJLAPDW;1^Y`P)lk_(FeFoWo`@H|tRbc=9d7`qE ztJjFN`X$9AzMq~^eX_p_*Gu>}P!7Hyle!dJT%xw;e7MVLX}Y1Wr-}_NV)gY-qG=nN=yoCA2)h8xp{RO2S;;Da{oRd~3mBu{}H9fS= zQQq8L%>h`*;J_50L+opMl3<(w$YO4S1OFbkby5qKQL9PLz#|yO$Hq|6cP>oa4!Rzs zI;uO?FCneU6cDjp{}s+jMG-lwzFOENc$S2^zMfH~Qrsh1MSY7Q%${t!*i`t7?md~~ zn4KeFt8@&k;nUH3!dsja7E54on$tPI)xsNzN!w$`$$k<=%gl$4jW}(xdF-Ko`I1ry zn%nJYrQm5@>giF#9pT+L`-Vq5#yB1i9R!|I$3D`cI3=u?c34h8#_@_$vo@`Zn0!tg>P+bx+>JF+FtsUu(4j{-R;snG3C z2dSHbDc0j2KPt)Z}qa3liM@ki6V4&Jxufl7nZ-dSs4@V^Zv(t#)f z4U8OD-LY#0!O<`Y#bb7C=YIsJpX_GkIbP1}lF z)9mD~%LG*{C+#zC_6I7BUI`+ePvUu);(2NU<|yzR!}PWRhJCS1N2NtT+@0)mp`NH+ z?T$hlD-U>%7*mY;1Kv(`PmQunMc5L%)e1QMoY6vt0`qm7hNp3}<#BS2L5xuMch#I9 z99^Q^=F5&4h$r_3f7-IQg8Mu-CQ0ooK|^KD}$E{hXI<)7QFs{Xs$FsbK&-P ze}E`g2h0y4!Rru*P|;RZgV?XrKm<>L;a=0SI$pFx zEmyqGdic0D1(|5C9ZOAG-{PD4SN25I6pQvEV?NmrTeuDtoQoe*i_-C*n7!4Q%f`%c z$$8uaSX|IFK<6WE?HZw+j1(VON_(74xEQ%JFXZc(DZv(%B>D-bPBr)o5kC&_6aqN= z1)G}kowMK^WgmbdK?DtU7~-9a1S>OUO4oM;=jjo+)z`PT7_h*-J0SKXD^33^dT)LW z(Alv&h$}wba7NDX1UMJD?2LGi$Hk$#Rb+9Bqw1{Kd{0`A5$8D~tTF8vYVNN3QNBA#)_2f;vw<{o|G`%~LeRlMWz?aF!bs|J3HTFl5u z@{d&B_`33C0)eX+B~j)c3J>mVy}VBl-6JUf4kJ#D!RY$OFgrZKfZ>V*BT`oYM8i^P z04V;P0!q;*9q@8YWE?&+DDsi5tqa~ZL?b8G?@w&nN3&NF?JrU*&T-!5oLBb#3!#7y zZ9htErGZsiykEiqjyPLC=z8`B@SGKnx7sNut~czr2Am`o481$L@Xg`EwG$nW9;GOh z8;zG4-up4HraS~P*1(2<|F%x|c7;*d?6+6NZx#1$bvj%&D2p2E7-4$Z$lvfOY7jJF z$#nT#YM%B`7sU~a-pl$Xp@X6|F-d8Awo#t8pgyHWu-1WAj+wnnoTp*n^l&AHCT-4@ z<#{ocOY@U3Ojj$R^~V0arc_2^ViZ;U^Ww1E%UfAjLw0y9%DT^LWI82u_THF&lEJ^l zPsJ<<&bP|Hfqi@}1em{gjpB|hMN!#dl{7LxJGG$LbT^oGh zO+HXX!700kS@>W9DbBI<>6#inp1Ep~L0clJzSr@9p$TjI6w~i$*J%6)vb&C``g1}V zlrA~ft!eWs^W;U&ZPeK6E^@kZUup+1Sg}ZaG|hhsZJgSG z^kbGsN zsRp|G#ex|tr3b$pVvn_pYm40*G&sYAMT^RO=+k7NUhXTE@mlugYFFYAIqnrIc{3`> zL;}`Qb2|(|Kzk6o8)`4djUsp!{b#&f$AsI(b?`19v)}sbyn5;Rbbp9BoOl917o9g| ze?0l5SGYTmj?|C1`+!OMs;9c#hP?wa@z-|zevr*Yb3V6{j!s%e8g`sMX=8SyXg-o+ zhOX#RoYLHGK*OuZOz211?58_+M0C3kO>8rse4|gjTrO|@qeb_DDU4zZyl*ks_nYv2 z1&a+%CIA=zfWT&$3fq?l>fEfY7*@0-;lqNQy7p&}VP~m?(_to|N#6Wlgo?&A6p%8F z7{+Qw{DjTe{r(ag%Clmp(9b{Oj7?VDip0fpx0Dy(8bMhJ*g#D#Qf($Mq9Lz~lvnKj z?DgL0Rg`ajKo*}iWJj8e7A9uK0vA7HmlJ0cIpS+0E?%^1od{BTX{ru%F0F2Pv5tkvoxlCtXOQ!4 z9Q-MJilaubOWmxmk2x(5Gy4Pi7qVt~Ks>cm#ei=um|mx_j$%OF24|(Z12MinRe3Nd z2fKL6lIAD)JR246*YDP+!ll|iFYJ~_=ON2aV~#94+mC9-mhE$)bCTWP>KKxwA8TpS zkiE~-fy$n$6YL3s#Y(C)LUjEEePS zh5WxQmG@!_QEj(Yw9vL9q!iO2dOv34LG>Lv*aAb5d$ct8Y%%#B9i)wRbO5}jI+1Yo zKJ3GPdP|X=p>i2UeFY_&4QgAPR)m;$d9ik$MPLZwyy<1-Gee~%Lfnhz^Br6zK+f-N@(SmG_i4rh2R8^{(XkB`4Q(|;VjiBrfbZWJelMFAYMop8z^=diB`Gu`s)ga{3zTBgKS3g zQTd2+VXp1l-j=$j_t65@M`lCR=%k}s?Q33x-Aw4yL?{1JlYtU;nT}fNJ2uItNihdc zDAzawp0EamQZbk6~JtVc(S9ue-3jl8Z8({|_7akN35~jQTKeXbwlqN)eXQ!@f zuGZIc<(z|7;B~EUdzmg21ZLMnrW`MGmbgevk5cVW`J75lF8W6XArZuxecrPxp0_KuKlEKvJxF zE|UWz(J_n2s@M4Eu1hCFpRY3Jxf7(7fDIlFbvjyB^svC? zDS0oHQC8HMs`W&)%3Ef0sdn4JopAn>ia8nHXmQ`HKKyR2ViEPRm}!@$BrVNHTynd4 zz(Vm$2^S-aHHD{M^4Hi7EDyq09{H;ylE4=lG z#uZ3d6)?%1RK=V|r+vn8z)ZfLq8h&*#RgOPrU7-TvTu|53~7f~Jqfpq+_*LyrN7i= z>B#wjAd>$BdzO|9c(cHN6`K6h%TPw|O50)^#;kwAkt_FM4VtHkQo)+M^#v#&l&rc8 z^0?2PM9!W}j?Z^rUht5J8Xunb_U6q2r~17;e1{LVf9Vor8)VV#qJyV4$L<4oZAh>2 zEDuCq`;5xJQZl4u@UEh$!m5qn&*}Q;cR)SgUI4=5px8khM1kudzn3ZKs}b}aZH)gV z)9fj+e;a2j@+V@-Q)P)|p+onqZth%ZZaOD$6+td!CxBBdX986@25yKhiO!3ZW0BDUvKK`kCO7Gx`bX^GZ@%&j7T&0h9tWM)iD4Qo@X z2(h~f%Q~j}rI8~i+puhA^7(kck^uk1h$zlKh~(0JH6om@4}F7K5jnAu&hZRxiwHit z)Tom(JT*1lGlF*aoflSUV0Y}4_K|c@V{s5@QLy&fyAlLBuhGcX3 zuipf4z2edE=dvy9a(3+H{1aW8YaXX+uGX5-DsY1+xn(b)h$PK;w1KkYs#3PsU;0$^ zF|~iMMZViasLOOXz`B=IM!IV7$frmQz`R=N)IkO9nw{okfF{-4qw|DXRJq_?3Y zl^JYMt#D0>#a20w)x@Di2YbI+77mqf5|E1NryDL2(}cKQj2)a|DY>*D)ZupLDu+1l zL|y)|r(2WtUCgMi3zt&Zl1WZumh>Aw@qooefh^JM!D%-fiFAU};0wP73f?S$y7rfq z)$K*cr`47BPFaq&hzv5c>@YD$jZ>tT{Wif*Xs=*-+3Fmf`n;-A=SHA23Jcp6dQ}OR{^{Pdf!F`zgOMQ>aE7s z&*x%w01{rFF>QgdqBRBzwrF;1^EJtErAAvW7r}W*nHfW>^HlU_XLTvcHI#T$typpI z>e!u%f1JOxqcaswwVxw;#lLw)OX6fiIUZhrOd zC5aPM0ySYvJ&VariHRrHVaddiCJFg7l&bcJ4C>QhzN~X>3Kr_qV||2V8d9KSsWTvZ zzHqEFaQ)={$nmXP_0dx4+o~dZ*bf*a{J*o1QVr37g#<3~+pn|(7LqdDlEzvsM6lAi z{1?LWJl1ORl*i*|33_JOO#Tt~CuJ^Cg9pN5P&5?p{aDsio493!Xy8md7ys*GgO{K9 zH|Uf=Asyf-xsWs=kZRU={d~U~yfB_AuGN;OeKw#YSTg8{Frkn|qs1NtBTNOTKblch zGJxVrtA8+QIi0+(FN}eljN*?VsCLPx#Bg@PN>5M|5&z`J;+jE^Ep8Tz(xo@ZV=h7V z4G0OvM8~O?0%+uxWr3lU-o384=8rcHDde9t=Q`fPsirDEnogE2pz@`)UL=y?*DCv! z+r=L_$x$)gejt%6g3TSkx6~LIN z^2A_&IjJgQSER_tp9|c7?6Q)|qUzdyl~3_^3oOWd2alO=f-%uy%lpkkU-D3%YI2U2 zXspQ3US=n&T>KRcqMG`4ffEz;A~DBbs^UYV;B~iq52Vc{6xwC@MEu+yL%+44wh9}7 za0iy#r?>WS&vyPV<*~cfUgm6u%2`KAiX2sDKiZ(;s`ae`{K|b)1#&4qI%HTSp^`08 ze$pa6c6E)wvhs%D>3dsCf^iX)QE%=x;Woguk?n0cdJu99^SFEOtY;3*FB?D=B9Kt~ zT#Gp{GYN}`9RXlwt{Wn>1ouF=Gzh{w%WTYV8#x-c1_W(-kf-mTDq_wN_AC!mDr5Ya z%I|nAeuVW5KbX7`wm*tf@!>{w7&4G|Zw~XBuM(Wj&dF0>ma}PQu5-Hb?JMV4kJ(#z zmu^RNYGgMd&)t>NxvK!i>mC1xHjE{w5kA7}LJc+p)5zM#^O8mF_r|FcLp6B~9m9qtQ9})rLdfSWJkl|za(51Wje55U>SUtm zr-+8ppLSn>7~FR z=LhpG>%tGHa3XtG>7(c6rZ)G>LsU;I*>rc2=NUyV$3Z6!& z^TDiSc=hWLQc|A>`AnK$Ui`4WdW0+XWr9+|#VBo#hzlK!Vqp+!!Ka$bJAp(AYesUg z3-Vz^vhflvuZQv zF9ulK1w(*wSEi`3)}&|o=!$OSNXGGO9>7DG`#F5s7x{obZzXiJV>nD1K=V{)Y z2N*YL39-Zb55`51_29Nn`^S{0C^QuiznKo;*w(5qdrf)oNU*&{QSbZW8?{F>fA+!|-Lk

cU;Q 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 Date: Tue, 21 May 2024 17:53:06 +0800 Subject: [PATCH 07/14] fix #3847 --- README.md | 2 +- README_zh.md | 2 +- src/llamafactory/extras/misc.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index de84664506..b543afaa27 100644 --- a/README.md +++ b/README.md @@ -289,7 +289,7 @@ huggingface-cli login | datasets | 2.14.3 | 2.19.1 | | accelerate | 0.27.2 | 0.30.1 | | peft | 0.9.0 | 0.11.1 | -| trl | 0.8.1 | 0.8.6 | +| trl | 0.8.2 | 0.8.6 | | Optional | Minimum | Recommend | | ------------ | ------- | --------- | diff --git a/README_zh.md b/README_zh.md index 26db95d787..2eb2cec0c2 100644 --- a/README_zh.md +++ b/README_zh.md @@ -289,7 +289,7 @@ huggingface-cli login | datasets | 2.14.3 | 2.19.1 | | accelerate | 0.27.2 | 0.30.1 | | peft | 0.9.0 | 0.11.1 | -| trl | 0.8.1 | 0.8.6 | +| trl | 0.8.2 | 0.8.6 | | 可选项 | 至少 | 推荐 | | ------------ | ------- | --------- | diff --git a/src/llamafactory/extras/misc.py b/src/llamafactory/extras/misc.py index 0addf31576..0dc07d285a 100644 --- a/src/llamafactory/extras/misc.py +++ b/src/llamafactory/extras/misc.py @@ -65,7 +65,7 @@ def check_dependencies() -> None: require_version("datasets>=2.14.3", "To fix: pip install datasets>=2.14.3") require_version("accelerate>=0.27.2", "To fix: pip install accelerate>=0.27.2") require_version("peft>=0.10.0", "To fix: pip install peft>=0.10.0") - require_version("trl>=0.8.1", "To fix: pip install trl>=0.8.1") + require_version("trl>=0.8.2", "To fix: pip install trl>=0.8.2") def count_parameters(model: torch.nn.Module) -> Tuple[int, int]: From 2670f6fb3ddabc4da3b0ed49baa40950744e75d7 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 21 May 2024 18:22:32 +0800 Subject: [PATCH 08/14] update wechat --- README.md | 2 ++ README_zh.md | 2 ++ assets/wechat_npu.jpg | Bin 0 -> 149473 bytes 3 files changed, 4 insertions(+) create mode 100644 assets/wechat_npu.jpg diff --git a/README.md b/README.md index b543afaa27..ecb87e2fcb 100644 --- a/README.md +++ b/README.md @@ -345,6 +345,8 @@ To enable FlashAttention-2 on the Windows platform, you need to install the prec
For Ascend NPU users +Join [NPU user group](assets/wechat_npu.jpg). + To utilize Ascend NPU devices for (distributed) training and inference, you need to install the **[torch-npu](https://gitee.com/ascend/pytorch)** library and the **[Ascend CANN Kernels](https://www.hiascend.com/developer/download/community/result?module=cann)**. | Requirement | Minimum | Recommend | diff --git a/README_zh.md b/README_zh.md index 2eb2cec0c2..3ef92697d9 100644 --- a/README_zh.md +++ b/README_zh.md @@ -345,6 +345,8 @@ pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/downl
昇腾 NPU 用户指南 +加入 [NPU 用户群](assets/wechat_npu.jpg)。 + 如果使用昇腾 NPU 设备进行(分布式)训练或推理,需要安装 **[torch-npu](https://gitee.com/ascend/pytorch)** 库和 **[Ascend CANN Kernels](https://www.hiascend.com/developer/download/community/result?module=cann)**。 | 依赖项 | 至少 | 推荐 | diff --git a/assets/wechat_npu.jpg b/assets/wechat_npu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..353e7603986f72458ab8b66799a58ea723ebad3d GIT binary patch literal 149473 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

h;?3SIXlD&8j0uN0pz%$Q=5l8(P5J z;7DB}6M@2tyg4fP)FCed#AToW@P8S%zBp>TXd}F{6_OxtuB`okv3v@{ZUm z^f$o=g+due#z#lwPo`FQ{9?+ULr4vW7Km~mZSi0>21GJ~v zwCpeY?sB7uaGDka2AWLnR1{#A;qqO3avB^Q^k)VG>B?6hKvk z4nUT85hnU914_cSa6DJyv$T?XT0{h+Y>vo|QE#8-_D}A79IpA$@L=(7ohqdR9Hb^f z^e1nCNDla>90MN|@vkbg!G3AD9J78gMD2r|gI^2KY{o1`doj4u2qWt2pYcugwWEED9}x z(mb`6qTrKZT}84QGgN7%55=Ln8s!!a>Mni4LiRJUR42?onV2Ak@UiaTK5e?jV9o<~ zSB#xbh-SbigH@t#ksZ=Lq1?7|UF@UPU#n&rrG*z3LLRTPLn0QDSwA+7+K@YHm?-$x zCSvp8M~F3s;x~?%PQpWVFPGoP%(R8bO~a%0cu8hqJ}XXnX3KX5&XmM-F{$K>v*W`; z>oSSLTaDP>OS{rU2U%48Oqy75|HWw)74LD2M=mpKV+oA&l3;ljTOfN+LN>*eM%^1N)L&SASrY7) zf1-Nj@f+!`_PLhiut^BMx_#-We0x)3=*h2M>{|jmcU`vlS^&|`G>BOmMbKHz5A6OI z=D_@WruzSOZJoX8gf<-L0ZZ-W@|YO6u|DBbRUT(^F(I+OS|zlGmD}s8hla+?8N{ed z<7jb_%R`dOS!RD8`iE8a)@#Xwo_B=9vQ%Tasp9yA{kqZ(pX@yru#<8>V3{g`5bz^r z5(%aw=MRA$?}a`~^(P?3)e5M2#__wR_b-^ub@3h7=p2uI7q2BgjEG`z1S3e4QrAz5 zdJ^&SOOF)!lkWALzTK``IbLjt(wJJ;6j*p^4q@9bbdX@99Ifz!%e0I3PQ(e`CCeYg z=uR#29NNA?dpZ5{nngXwvphQK&E*8#1 zh?TLtrgXRO$Ux#;b1Z{{Kw8DTtVNo1Hb72uEak6sd#zdQ+(ldP7d29!1F(>L&R zB2E{}mbhoFB*_UbLp)^!%RpW)!*A_hPaAk>&i%N-`vW;o_L}TILGlzDvy}9QU@I9F z6~8d`Uy&L4+7=jU|8P2o(Ct$5CRARR6)k|f8t;=i?sIZREc?1T^)6zk-TL%%)RaE> zw~`~NYv(ahV1j#RZ!(8t_`-+Am&m#o{fNqXh1N^oYIq6V9#@8p?SQy$IT5HlDN(we zepwP<%_{f56|nyf6t;63QR}#9rjCecYwbo2nvD@0@Qv-c=l5TFR|@*jDDEeJO%hv4 zMgHRW`L5ty?|h1f2Wo&`S&;DlzfKNY{+=9SbU-T*n0&%KMz-gk0QNAHDC^FvpOCmm zhxM#(wi)K~c1|5h9BR(YX)tJly-`mGEYXUM5MOTLoOSIHYv!=#?+WAL3mnFTI9Fe8 zzymDl_U{2tI&;Vp5D=5v4?~U=)`vsv;eW(ELM9Wy7DEp@)_j2=3D^>yX5R+N%Tc}x zfTZGVpY+=)g4<5a`4CYUsKuyo5EA!E&m@(``Y^ zLG6P4N}q;WsmnK_7ha`3gx0&H!iQ$A#(KIlwda9r)XR4euIQWWZT)shFXxTpS3_#E zTN^WvjoXK6t5v=nxV))~&pCb`CI1)157?*{qwo1&%*JM09nktuOnBXXN!rO5_+$Jm zxYx6UaDzL{09ij;eO^I`&&yPrG^R}Pxh`XNSqFbU&Oms6x?PRJCP@&8BJAAHn_Hq3 z4To-)9=xKdzE-T^RJbztLSQ-p*t+k@KA9B-83WcVk21`XV`Ox6)~Bx{OYQHck@Xrw zLf3P#kCSw{v(}vQDAhST<5Ek&UJPObxdsuXGrn6rUbDI(t7zi3v22;vAq~~!ogXg~ zCeOh+h7* z{tI~@UvTj*=6U%lY}&X}Y7T`_ADZ{}9kuayATMibM5*AI?-M4!?Lmw|?w~GMhW>l4 zEVfW~Y;kFlr;|2;W95)99H4Cu$UUJeAy*`E90Sb(jQ|L3stO_eG9&y9oVSFv zYP&C1%2+y6YAw{gue6RT4f;*|j8W2>5pybfF z5XYhhP(0e{7FasSKmPK)H>j^X@?PhEVHTiD|ukOZ?zRIT>zDy~nU+cReve~x8 zDCP@zRy5Y3xwM;AwmB*^-C%BZPw;1FoR$KIQA#gx(4*PX|#kRTIs|Cm&mWg9fpF`=maPzIpVZ2q$x>*CCkH;+A%;;EqI% zx&Xy|wd?ab=>1ULJlR^X0#>1~Y`R(mhnr}ZPg{QZ{X^Y3S2jw)$7VIMgO)h6rs4Si)(RQsqKfxw|yEfuUIh(toP@S*uDfI$lX!v$WncmIxxfpOM}v-H9Zdt4G+-F? z0cdzvTWVop?mjeurV>8=GU@GH@$smqp38(+kDo5C(D}|WD~p2}Zu<|q$3JH*X3@jb zrrnr}10g6sfUMZp({v&8i@P71qffxcExF?+Pr{>5tugkq1rBm>m-0)e&9q%BzZVXi zpZTeFJ`QV$QdwR_5t+;Tt2hS?*lGH25rzq6~i1})}*0euPVP^vH zR-ee-G4p{R9h_EO+XnYj;f+BP57@T6QaRy$PIiFl%uNbr#!^^Vxx$s7Pt<`Y2JxCUA#m~= zyjF#nNf+`jm4oh6YoKy~gWnUVd%_J=4k4Y%NhD^l8O^;pmOr*Fxv1`+(T8}zI?r)~ z)n_Rj#xXx`O%7aAVEE`*32z+}Sr@Lxf;!fw$TNxuw+r4=9Q2YWeHQx-n~EUm6vu{a zPJ@A)ZG~<)e8;#6l(+}%E!mLZ#M4z`4+?`#jzF81g*c-k)asg=g$1s#dOy53s%YYf zxj!JKNNr7pzJd#R>LWLXRLnR3VO8@`MgB_TStZq(yVrcH+W%oX;paF>LnJy70JgPf zUgG02U9Pe7I}qTp;U0tjPidNH+Q9McDBv`S6k0q%J55;xq-P)JqtXr#_vFaLnG5Rq z&iMDR;G?@G|A_HQfqGFpNJ@OP3XY20KbLa2k1T-ykxUKQh6)SO6=#X|Dpg<5rI~v) z)d^d&v^3K=ld1c>RQZuZCYN^4W5>7^Rn8 z7ufjh5MmJB&rYbT*uzLPho_fHl($PD)fO`%P3+2hJ+FlK2-*XlQ)GPqKSU<~2cY+V zx8H@_FYrwqU$m_%=6^mPapz4aT;_wWSpSupw2$HgJ%X`o+FQ=g!9da{gcj`@G7n>$ zTF>&>l_TfIv5E@Cq<*9#lJR(`DwRKf6RL6tNw=^m&^-%}Fd1?~uA3?w8L^{Y`)KmK zun+bbGXCuzj&{VLgba^EqGhQhF3L0V{Z>#NAkW9Xf0nTKEl6=bcdGc-r&xY`(lgn} z)^$&Zbi z%=HE9QXazpxG>pCots4fDJ4*%(A%rq8sjn|sG%fr`R*;S;m6al!=_q8Ad*lD~r(?CFu2HeVRp8)R5z zS`GO1+PIEs@oSV?TU#&k$vHmmxDl`+nN%iWdPqmA+0 zViJ%rO~lGza%G zbXe^7;Itn}U4;(l6W0NzWG3rUUrY|YZVv=QOePjmzn-(e?;S*>5{xIaBz|U-QtkYU zJ}E_Zibyo_wZHhGWB6w zy&tRHdO$H*G$JL7#kFpy2!W3<}qqUy$1Te}NHqljOssYkCtsWV6 zn+JV1!s1=VTw6f;>o3wDEN0#k79In>+V5VT;MF7Ja?+6UMS@phTj39)+K9u%#V4a? zZLaLnolkA*Horv5lXHFK^YBc?1qCr2JAoegCt&)WO+ID%m1Es`iO@PcYql&VVxLEO zK_R`M@nZtgLkg(~Q~1Q|RkMhBbTs?_4Pru$E=+bSkz+yFNlx+EpTADN27846(9lPw zuxIc+F-UMkaxUzJOg(EiKFY4G9C%r7sxA}8xnQWFwL24O>$%7BYp$*VIIYY0woQ4* zv?{es-XY1(8>!aL@T(y{g+lecRN!;1L9Rz2CYA2zZB`n5S^u3uotIl&Iy!9qp$cv)YUwIyc*2Qwo)Kdv<$SL~p)m!TW5| z)6=K3sT_=$?Z7C)(GK|#Di!yL;uCK($nmoUO!qbnc&Fx#U^d;|F*%Y7Bj1G?L{u*6 zFudL!9eIZq1h~z-Q(55M2z_>$$>*hV3a{HGy*x?GJQcb^VmM?;fj5#JpI(B(p}MKukC#Y_xH|!W)=5#-rtq4k}&G z(SKq5efF_*{zCx;x<+z7$FZy~f)1Vwi)>aH-Sn0`_a%QVQxjySKe<_PwS|m~_EyHg zl_Ua^b4PNjkOALeg|K0+6PP<>m=wfC>HxE14?PeGRwGaTE?qkh*3xuu9!`U*+ET=v zU&-)0yj+}-)|V?~vCP5qQ6*a)+Y+sO9yd_*ZF)D%~n&@t#AT55KNQR03O_D~l@3W-EH%9~oV} zsv2X3H7IXbcJI^X;8?woh-OW;mYC%LcT_1cwPjN@5jDtI!H>Oji$?gfbDSl3)8@gD`0i&kZH9 zqBo%mlIPJ^aegti3bH&d9TRMsBM@F^rr$P{l%A7uwODs@f@8baph~oixstN;7$WWZ zi-!Qe<#^`I>E2pd`41(*=|Jwklku!ojR*gNoRZ)-|2GMK;nRN_=l_=x|L}y*XI=9^ zzwzxYcdJ=`+B?X|K0ZV!)lt^KKRR3L|I5S(ZTR1pc)$|mbfNn9Qq_9lVeK1KNb3>6 z25~lQoY%WPI8nRr`tjsnUehL5`ZRgZO6}PAOfZ!TI|b=z=5@#<&>}Md6Q^|CeNt>? z&&f_M@yX}EfT6`RtOR`iq&Ti-g?COhil3P^RXy4m>i!&hdx_!oVzbNcY;%0WeK2i$ z;1sfUF=Q`L4;lnUE9TgcBQh83Kj0e@kI`uXp|t%fQAQ+r$A+Lw^R7{{$%i0m7~SMe z!SW!@v&Sm^&$RUoLZV4+JVb)0I;L{l%f5oEHWOPfok5eE-X$N_P4lETJGJxJMcK2i9Mq)sqzZ zc}{2-o(&1mCCd7N18?PQWyq2w>C$I0YeF^lGaTEMo5-mXpLl6ML(x77sf~#Cy$=o5 z=o$Fe2m0*kCJ$#GAaT5gQL?vl6yde=q&J~T(EomYpg_hebK?#}#gP`9o<7Cao2;eG zD1VdX1a621m%<)qpzjC_09A<6gB_U6t(oMLGeDOLBRtxs4H<%h%|@>^(a<-Sg%~&= z)6D67R3EdER9o=qt%8IE8k2SZFarI3N_9O=NpZ5(XHTWO)}7#J9XThd1qL4KdK4){ z9fIh^gxsjzDt2_Y{D2a^CF_W$M}-x6b-o3<%DK@VSZ;ZTq2fV(GTj9hy4+V}s`@b5 zKUiz^;Gsty^SSL7rR?wZo?L@p0DCd{mPf$&t^||6t`!;T*s1BX-@Ud@x`Ntmt>Zm6 za;fQ_-O0zdYsYSnC5*&h8VI{fxpmKo$B#wq+VQx|n;k(95)&t}#%&)ALoEfIdsl9= z&cJ&~24qiq7988Owq0k43Rw~#M0Po4JYMgMH7&tzds$np*4G_@yyhS~zKoGI!5j{V zz!RyncVWnIv7MpG)sPN#5!`xvUu*fLXHMq?DByxl!V7%1nxq^bKanPv}BOTa0WuhaHZ4 z;?grQiLq1xaUm6S=+bMSdCnt{al<@>w03r9i`i?m)DSjlvU;+VFYubTKmcw5yG0y; zR71!RuOVXlm&R68zt1u~{2xu< z>2Cdh;$=s8*1-vn&5x2iziJfl+~d8|#BaW1sx^%OqlcNe<+e{o`DYJaVY4qz?NH7! z4^Io*yX$$jRaKp8j;5eJBx>Bxt(Qfp>W`CTJ2p24f$q8mGZ?^$=YzaWOlkFDyBQB zN67AeL>;Q!p&tb0I8wkvtz_3PCO!#>BVD|;+A zv*7!K)l2d~N4ulN zv6+MV4cG{E8rBJizn+Iq)cw-t(P))cIUgd5ZDthE#@}yiV|kHiJN%9k#l$a!gJeNY zpm=x$QE|Z(`^tLQ`$WUZpwQj(Oe4THX96GQ4WXe}YuMVEO}+?hqYe^>(3T73 z5_Eg7HkHl0cd!{6rp#Y{Xjy3l1$j=V?$&Q=CA4r8HB3#QtX~Tg+~5ym?1TA|+uxDS z7N~T?&OO!de8ljYEQjn1;OGQxF2K*C96S9$8{>4%E&oZ`c^z=YXE|EG@F>XgM$7}X zPcUKDDS-0j17E%3Y;ATyx8P(*LgC{Y(MNUN4VWJ~){_2evk|;6dv*?K22l%{+W{-G6kt z{NueL`{aPkj%HfiWYm^@!;p-U;@zB^-*?PaOTK;_pyH`E2b{e~)b>FtxDSy{_e0*? zD6)PeY5$w!tp-EMb8hL-nb*8mW|leFg*35_J>O`0W`!)NWY)i3J8=53NgP3#-U|Qv z(fX5bxc~h8?rZWLc(=){O1!d^DMM;f`IGMtl4zes5W?v|Dpr#lpmm^?dlUL%pL|sv z7(Vc))GbE9x&d<#R3!2?q~o#93NJTauAuNn!JPFgj;vYj;R#u3kq!t9d0r!Mp}v_B z?KRvi;4->`b3P34S?gN9DQL5xr+g@o&+W6GMd(?`k_ll#n^jd5ADeB=CwM%xRk^ii z{r!ZaS*p8D+wgrZf*$%a59WY3-c-tS%DK=oDzRsNyi}8(f2AUx{o(znRsnemhV8hu z;PXVcVG?4U&CIec*ROc)23t<72t7ho)h=}?ToXFc%#UA_30A;U_f}NMawSBu3mhg| z)gN<|!{ga*Ge76F$b0RfjKUKEgYa(%18(j#&8^&f1P!4Gg!3WZQtM3GtxXiDsC+7s zfsywoWcrmHZ#9nk2(t!?l}w2gxB=hSge1+eC&J`AvvK>93D!{A!RV>iBV81evvAwn zY`u+j$y>e9pAXhhN}ss>UH=~oBg>)WMqrWdTjGT)gDJ9f*Ii25^rag0ReCN;hj9L> zp5Jc!=C?pu#5~d_n;bp-d@%6B=B!F1yNdri7&5FoAmL=QV09u(In$-s`JFhc@B4~- z8XwzB*vWHr$97fOPALn2>oYS6uNHU&I(VVuJ}M06C*^mvnm$U@x$hok=S!iMQWO?G z#eweNy=gPmx}utV#>{K_*?%lhX9)Lz9;0fSM2IGe%?J^q=er1;%@CeXef%4a z!xW=Ag0S1%MC7}M(GA<6GY917KV+R}xt^BDVU;T;!tL3u{*N#Gnlw<(%=?IXd3b2Z zUu6UZ39=G`H6YNCB6$FcA~Pn6y=@$>nf}I6^QxT7*}FU8rmK~d-S^9p)1&0%@LMhF z5Kn7d8Tu^P-X+BYZ@O~BW+`y01k>Qizb)L6R@}U#sUu&5KktzK?$+CL?V%+-Ldltv zEVGkgq$%M+T=^Z*it8>6SI%Fl@xMZw+Zjd}g1!i8pZ@#4luiC~Ur7AK8#veEc2^b4 zF>gS@zm}WHQyDRxps*ClmvHH4@y?4bVTti6v=Z=NsPDx5<07JdM85@tP)OiP)_sjX}p5t{S3*(PsbAn^7DU64$ zxfW7G9Ic}$y5}!k+9>_w#m13$1|FYFHDTaRFsxgRf_fw|YPQ@uD&Lr5OGJy=AIcdW zCB+BQ8cTI~K|~Egdwo+uQUCMIx(H5X_zdg#lx3{ED)rGR77;<^QRC6#IK+L#dxEaI zDMN$^Yit{jq7l3Y!$B}^SLXf@(e>&2x=x_Tv24Um_RF{3(C?OO*&e&hT}b-#;{|pG#}jntT*j)*~;5=DsS1!gH2OF@P`PyyB3I9c;gh zaLciJv4VY`Sh+NX3xYwD?NoWjTQ;rplsdIlqJ4z(9m$qV@5NR5%P-3Fln)1s5FZSY z;HzdzOG6fq=*lp!T(|`uuDqjqV&Zw2nbb77+=_V<@@Sk_jw&xgFnZEnywwNcna)aX&3&FoO2_&$5X#}R7@>|rgm zxnm!NrAG55U7NI!|JU>T@8|e`>gNsy>~T3|TB3|ISQ%G$*US>fg8d`meI^TE^tyT# z1j8VZ;MD>7!L#|K@c{KLjI(Pg%6F}Mz?tHSr9|(mK4@asnKP>L0}9<9RP(spx=ww` zPD|GNTrs(~42=0UA2Qw2f{wXae+`%nUB!P<+OLq(*txY+_J&XJWh?{&y{`&?d-OZ3 zz-67;Z0lL^nrEkuMt#N?sp}{NC6qzB%CmowWgymVcIp2L8l zO#ojN3LD4>MJ6vwcK=kwR=syDYR*(H3Ph?n`Iz3+;bgqNW3ZG~+4DGXQUI$v6|Fsi zR)6qz4i)^novSnhUIVV*?sEID>t{5y29=3>7^#zLeKq{u?&}o-u9pOj1j28oEs<}6 zNct2M=he*aPiJl>Y`M?3mwZuavKk{hXz2o;SZ3}W*#UIitM}K8D`DA}exTD6wf|_` z%I=)sTMb+90S(KP`z<^y&U=%0yW>!fCQy31sI`IVtgpPDfv~)|>fqza)Zp*V7l@X# zeQmt$JQbRB;Xk_ki`xma*0EO1CaKviwXWvW(jJ2Py7Oc*WcwjKm^dKBnv31^cJ*tU z$hp`Y4!=CLCEPb1-9}wB{6ULDz7;NsSfUTax_4WXS)mqhzk5#zDJBH39jLj`?blpp zH4bLE+dCd=t2z*vfKNmAAJoO&B=iT22#9`haqHD;eNfH8+Z3)sjcsP=Li`0`L35{S z>`0Aoaz|2RzcECdKqzt_sKPCYW?;xtNL0bA98f!7RV zhg=}-38i&th_kCe7q9r}p3XP=^*dKb&hajRrDmap3&YQ%YzMN zd$p6`lgml2e%D88MG7oq4l`1}_I>uCArITUJ=`RK{mi(#86X*56Lf9eS@+sVpKz}8 z+EvkrBq&S$t$#)he}kQ7f#4BN-KR*)zehiJ~)weI2au`&Lv?sO*+vU8rtGcpN--9ZQUxdZ88ra(f zZ;;d4^Qs-4SF3FK@kj(gSjJA=d}uNO;(byIHbxS1)zYA2aggIcQ(SaZZDULAx-#$Z zK22pla=l#m7eJabeRoCgz}jcwLxLHWG&e@}eh8A;2P$e|FF{prg{7JUBW|!MrlhQ# zZ=rEv!}yn@+|`>KJ;-&v?3k0juVy$P#uI5euECACVT*6y6cB=Cb$~1m2BD?RIL5O3RPANmoc|Zl7ib z$R`luLyG&171Evr1VRjCXGGYLZ|+%=obw!$kK&1(l5~(XX$oE=?k<`2L9;>Ze4EBO@g}&H;vyEq+=(N+ zGD@;XEt!A3Ax3-NFXx=>=G^<+`taDPrhN9!Psq5zB(f{lRsT7Zl!w7zp6tT~tw@BS z1M++a-{e)lc^Guo;&az>q&HXW%&)>s-N={8rGigf-U39gOE4k9JF4 zp4ONs@OW!wUIT-~_ej?T7Z?;}d~b5!OXzz=0e!pd%z(~WL-Mg|;bn+p8s#0=$;{x< zlrJi+b4-Pon-W-m_NpTy&0}6B^Mq17`%bRPYX=5!E)D>^B?6HmAYw6CE#q2xu7z}} zP^ncpr|Li)ogRi;nQ<6%SnNFjai1ju@(Sd;R?XOxqzfn#gVsPo`K6*O`2u87-@E@Q zB#^-DCm>!7ty6^3ZR31fi7}^XJh%9LqKiDXpC|tu(k6{;kiF_nQ~W_i>@R{)#UG~u zBXeIx4G)U)XM1@t2GEWD#BGyeNYQ^mf;WM|@wY%=_{W46ZXq}Bk|>NC0>HQ`?SW;{ zZgp?B+(vJ=XX58Z%Eb=G)XcFE#Iz@5+-xZ|8&_2;V19eqPG$*>f5hp9lZ2r>~Av>4+DV zzI=QG(!oKwa2+-jP6r7nIwjy4ja7*6D~dec7t;ys*VaIUFI>JLzuxyc!U&iE7?W6f z07339@NcH!KmEeO7u^$N;1mSD8C0}(ym4Jay6eK|QlgoHc@_P$;4cW@wIH2$t%-6CL9)bW@7cR3s7L8ycxp%S zQ>1)FF<+uIH+aI(llo;Ws(KJ|2>n=%9+^RHqR`!mimXACcQq|Fw(M;_)O}BrqFv5h zF$VuPGoUUE-&{@#452~=ixk+btQKGAFyRiTpFJmAU$JuZu-@_Dj?3NZF$q7)9XG7$ zeS!QA@XnGvdaF6?a`$}{6ukS@K*ntK(MiImQm$XGj;=x7 z?@V9l5jKpY9CYfJU2(^46ZH%hW`z5yQK%QlCz{~NNT64vxTMBg`xWg-_*{&Zvb-i1 zPgTpc{`2cQ4U&n;WO!GMQZK}AvN+@}Cbh-&`y7c8POJ02spZ41d_0I+zp}2%!~5#k z#QFXs)>9XqwUO}|@#@NB(k z`n&BcKk0N%Dfn+f=KtVNUZLZg=)1VNh+m`LiC*n>%|f4E29HTpjZ^5oHNCOr?b(ph z0r7?+JaZ*+Aw9X|=7db$)MmC-PT^gkL3T1dXJw8KzY5{M9qUGd)39?lF$TVO4?lm_PZ zKXW-razD`0V-?=Rh1zA0*rZPK3wDW-Nzz~Qwx)g{$~}|DJ3-V@+555Dbuo$i?K|Ji zEVKjyUtpScc~MZujE@}M{=FQ0+%~w7x*A4I=VxBuI5qOsbFuv3G8|vLgXZ%|FZs?W zf&JxW+In8ZNPhU$4AV;s1~>J;b~dy^d}PRuEUQp~>XRcZlirDn_f51f$M@U6;8*f& z;C4Jyx@tuODAYkbThFkcS-W?T8#z<$!i5&$r=T`Pi|7&z#0Dx;umwyMQUYVLGSw6D zxapohw}#ijFuRTq+U|kVoM7E<=r#J!AK_8fTxc$z#YE8&Skxz@Fr}F{Q;NruB87=_ zzwSjw(o^wq^G4@aaUHZr84&6O)2^BQ7=qD;GW50cv+s$2r#9p0s##D$lriY`Y<_jg^*82(e`o*}E_iq$%2brq39CJ*uW z9O#ux-7H6tJM1xYjcn=2mh7l!8==v{R6MJG+G8_+db6lD_C-!6FZ~JKA^D7 z9Lz}?@wJk~M`lEZV1Ia52cS!YbXsa)R};(n-+RDRqz2^|DN^S_o-&fL3*X-f6TcfP zJ&k=~Wz+rSI< zQdye#5Eu1wvHY|2A&8D#FfTvLIx;&Klb#-i=x%)T#K5siQ?OynTbTlFi7SplK9o_C zZ2c4xC5d_CF6zR-!Njcpi@U-}v#&6zAZdKJz9+^Z;uLwJX60O#J$SSPb@_I`hl2um zEUqTr!ri2dzqyrC+27k&_|&?(_oKU7#=U1VVY8u1lM6zdl6F{YHtUrDzi5Z?v+*x3 zHUzd*C(CNnmNlE()7mL;C@iuI-N(W<&)VV1yL5o-*AwTfUfqL_+Lt$JL=46Ig4L&d z!!`9h0z7k{H_Noiwsc|GiaPagE*s>iRuyR*J?Z+I>8EVuPqOTdd>~1qO*zxTH z!boy{#$1mwf84^=IKwfazH8|MhY10k`6ZrGJzULrPZG8=MWNr5?|d!zC3m4ryrWx6 zv_L+;>X*uEAVb#ueDL^$+_i5%tJ1N~?iJXSLO)eIo*s3>oi}Z`DgSQQ!>kKsx~f_le120wbP(TbgPRTx zu4NV-MJOYkY2ld)V`(795lvqB@k?&z$Wi5P`brB$^OYZH-CVtDQeURdSS9nFUmQ() zs9183pz?6``BEM!HDnmh@MqIRrkD9ob;Q;4?~}9&^}(S>{SFxpqu@LeIzU7j;p=0B zOlI1%P#P&BQxzj3ketwz%CHS!wzqN1ey8xfwoEZYchUDnd5Hb!+S{tci|GL|McH{C z%(Q8~IcFj0(URba47|04rrrD>Hwi`!lef?A?fjTTUe*=fMEHK`sSL<$lZ?;EWp=IQ z%d-FEupck^l3Zt5L}OqAR_ovUIKi{WVsd%6B2{bk!iQ^V940p5*TTitVBZ5cf~OaL ze05)Xu{oq&vnfs+&9VBL0WeS=fIf=MU_V=9T61{2R`Ec@*?}VSigc+h19SCxs1?~l zm9Z>dZq}tGiX>KF8>d}$al~ygNqDSUk=^1fx+hQ>&!XmJHGJC2~2+$ zG^oA>xgW#YL|1}E8!pR7>BKPDi~3fJe&pkQ8rq*a?XjN+d%N{paC$Abe~T?VrseyGRqr)IrD18rt3x}e{FTRSfG=hCi7*!n~AEehNpzKGhj1A z{i|6BQ1EflVYQZaCbh?|ukZQ0y3{Zzc-8O^Xi)Jns?F!XZmqd|33(Lb@M=D%jz4ip z3_;(<{8~6&Tj+bh5HuVp0`NGM6NV5vl1IpnY~Z(^E)_ahm|a(5!S)CuV#B47eeyxD z-42Wk-4uQ$!IcEZV#3N-xf;cC3AV@ju5TCqf(#r-KfO{1Kbh53QaDYKusRimyphDV z48TYlm^_TKeoLB#P>C$n_er$0rPu`(It6wg9Ml4qqLSCz%7_^S;3q^z3J}`W*lu& zE2=1U4v0(_WVd&)ttejU>rkQ>+ZB^Nf*wmxe{;ntc2IdSr+n02qPdVRXttnX)V5&| z4)ajUgXw`@5>hsmlj~6SL&vdn%6!(e?=pgoK|HlZ;g`vI|8f~UsHieGfnQ5(ew!{_ zfx_7%1TPDs4*n4+FT**TMZXg-jZ`=`ywB8YZuT_~v=0$K|H`jgnI1CJWRs>lmaK`% z3~^KR&+2bG6r+urz1o=gi`rLA>S@`tAx4%Mo`c*Qs&q9cmHB}$GS=HZsJmHE@haU` z6kSeZ?j)1nOwGM#eaG4O;HWCovBXp%(7Zu^;i3Rn>X`Iv-}yLV-M8QuM1^p3>u3^Z z{l_>h$N1Z|Nm@(bx#rh1i0I`z$fJ*I>RI&b>Q{-J$ntyn_DkuU^%Z{)Ds=j}hMBH| zdS9!{13~4Z<-a7Sqp0X6p9<~Fv@@>KY%1Ph;viRU0F{)+7hYT0RA09mIR8gt(@dT5 z8*kBX>5Kk0&3ZGc%N!j0EVJkk!b@xmwR4tI-Fs}gJCp36Lam(_PU&_xEuYnB@wz#KVE8)wOL>$r$SFH=#s6V zHIw3RRj9o!r4VIzHjC3nTCW_AonuZ@dSP5kd_)+u!+oil_8Iv#?!K+}^*vS7Q>`eC zg=6#Adlms{nj8dP;ldp6xO21G_BJswR1a-EAmpW(H!ZI67j>Blwh!afBWorSElR0P z6#638$S-L&?B~%JXq{ASRLSZ%`RGz>JJ@cqy1c*;f5+8!hg}ovXcBXk zor{%e3^cLN@xNqekR&Vq)sG&+4WOY)0q^gW`9-3zQpuU9$~Vqty)loD91;of%GOhr zBbG0_PjNT-PKnGmtrMri$WP}_yqS(q@**>4N91S7Cn+EWN?|+<*-Br%yo=BdNNh! zzf-%MLM|Nzp-aqR_v*TV>pw`Y!{;VEuHnMaeR*5^TVEt?ckoYZ?^$$hD1PhUdCz`48>04ng*e|jdtEZ}OALgjeYIs01en1!oG=oKTBSUHoF-d4U7wmB^ zO#7{lZ{^bM`e4+hGIJNY_^?p_-_33(1$kMpL}j5X>WEd7aBnLRFdw{LCzY2M@OJg80G!mgsPCqJm!_*Pr`S(o)agWQrc!U8iJDoy__( zy13ai0TKtA3@%+ryBIi`dZW~`ZzhUkLz8b}Zll~?W{%sN>O!2hK;$JWBSVD7+gbIq z$qzn0w?E|b%Y#`E%JI|fNA8KWbkZS^A1=GjTdwv^pHaj0<>&iOFGXQlpoJIsO^_?g zpu9R~FOk~b;VdyxTibRQ6~upVJQS|zvVQEGAZ&Z>aMk(>(WNeDa$zz)ZH?oB-`H}h z(M{1?S2Bz^HqNZ<8m8V#OB9oSHwcuFhZLNfE%uH6 zMTGtb2)$l>hpXbPwZf-osl$8TeId_T(t~0Ma|gL~xb3+8JG}kvJJvl9JPy8j9M0Zd zzHa!g+1xY5e^7Q9%>hhe@$k-PPSsBO&c@f7WW+Bu4}Ca$+)9kE=eDczU!7Z$jF-}N z#VdBD&U7K}`j{90eJ~pV$F3N@h#3Z8e$Cq^lgoBz6Bl^mCt1F1(9pPRZVn;TIR+PBcfeC<7u1p3pa!WWqL0*ACp@@})Aq{Je^t?3Rw zE8Qv8T6_DK2BCf|H`}Bt2?Q344 zglrPu4+Q319?jcqrb4^d60$3-R~xNyj+nQW$5Nx1;*bt`l~v`Jm?DCvUIvfA{7m@oV4@<&Rl;_{{2Xg zaxkvN$@*OXg4h9^&U@2@N{(i|KGxxdaQ6bOxaMux3mo)r`l@yHc9$!(dvYoxv5;T| zqqn>PpCZ1}Pvq{U&bKvWqNNcAi{i=7tgf1afZAWRGtzCI%mZoaqAd0{cR_a&R6g5c z8}B^5aH-n+-7QzUksP5H{NJlaZyM@&Q$*TAgNjE&l|OvOWkySG6@F^Qky5?9`1|{1 zpSx`ZX^TBGuK6Z;cev7u=VJRv_nB^uqzRT-9UIz|Jlc8sph(NY6bJS|PRO4Sy^~6b z#n0K|NPfYtHy;`9Tzn(oXw`{%J{|m0b~S_|`0_Mb@0or*sW(&S^9LIKgu!KjZWM*w zc-sJ~r&u|c+~S68WoL?oCgMtG7q0?yxd8n+zMXS>n4%C{b|GaxyzF4Q&<|2Scd*-N zwJ&jV@b=jTMGYohs4fT^?|E$AS>0PlqV?yey{@?Sz%&!dNTCVk`4If} zvm(~7yHc`;ml;oAt(>i#HN~v4umd6aZPhhWYP4@5G>A4&#O96ko22-oDR{^CbT@|I z&RL)(2o0_qRSs+cjz2aJZhl+7#rLuABJ}IrH4lY9nPYksnJqPJPk%LL84>Ok3|RhX z`r!~CxODRSq-|**nOlnSAyDC&wD5<~m!gv2T#WKwJ)`ZwI?4zYZ_PK<^NJGs#l4KV z|L3UBFzy|HSR1r9$n_XD{WVK6u8Nm~b=GuqSWxtOqiFLy?7GIU!MB=~kf5ukITt5f ziHg`wO_R^2oKxMb#Ze*}n)Rf4@mwT(>06;xdghA+Q$gq;f z7LZQK@DC~*V#y~3R+BjQ1$9j49BqG@xyhFYGEA@hH)nOF#B3O9ank1m-fdfFUu^z% z66g9m9=r8k{JmD{w^AlBqT)U`#0U#UErcpZRp@e|(ni~PS;lHN)dkZg`cy8b@zGpH zKq!N>&(y6Cv^WL&S2fcR-ikTdXX#d#ZzSsQlwY{QP2YM(H;*zD=|$q4BNgTn%R>&b z_LayN@1~Za1;)^R5|QIgoakJ~h8kL)r$1E7DqH#flpw<-wDpf2#(id~H2O2p~9 zD05SCOE0rKELTx#KCpiEdh%z>hdZZ7CscwKug#vZ<}5H<=&rB9?pQLvyQ#_x7&+%O zBUM&RhJfDR8W4JzOmmr=?iCTB*puJ+L2oO6B{)ggy;C>TzDoDzN*ncyd7OtLZ~ByR zV(`S!ovUq)9TfW7zkXidey=^%_|YyYA{97}4iaV9z-Oj9g&ZD9k~A?TXtD*KD?QC* z@5Wsp-wbdi(lMES4NF&*;Of?pG8Wam%`jbiYLN-uXmgjXZ-dbbe$~IZbQf!{Us$dy zAky~t!5RnI2*IAkWu8zU!ATHx;FK|`&MEFx634=9BboqF67d4|Qk_I=LWB!$y4`x( z*!PK5)3eGN)|KO{y=|{D+NPuuydo^?T-sV5ulpAh3~h$G5V70- z@pigkVP#ARM$|Oipjg?7N=TM46>M{phkCRrJyCKZwbk_!L%%p>#mqo3fQP%H+v zI%+OK)Pw9P4?+d<4>A2mCvbuUMco`VT8yq!|AweDo>H5+oL(_Pm8a5wvKtd;luNVc zBKC3bj}KSlkJ}#Rh2esV9wycEi;$!qpxh|8 zd$e^LUlxyV@RqmHc=VH*EYfv;n|A7_x|a*~CofkFSmyLNaDI?lQKLx#iPwfBH78a- zZN?wFO6D2O3Ve)o(EBa`-sz#M{JUycmE8#V$c!hB`N>)F4sUJ=D5jY_w$;49cFrQg z>{?ZN@!G*UW#t3spfe4rcBk)cJ%5h&+@Mfyz(;k6ttm>UBjf75pQcWn>Yu+liipd3 z7L@K&(8f*wrzy|>6b}Qe_J}p(P^IAbiHE-*=-4p7V`OzqJ2p!6^MSx98MZd9@8@uf7v9e z?WnV_;O{U-lpn;=dn*HzP?$N>yyI)w zmgX;M2X(9oOu)(KmM>rYik}2jkWHH9D+aZiZUb*Nol_v%8yX$$A0{YqQOWijU}8ec z)d52$>m6TesNd8D;3TMLnn_SKO?4l-WtZp!1B+2ISB8`6e&Lm>8vZdVe#dgc9Br& z$sOX#8jA7Yd>d>k<^Jk}<4GETVy~RqT-$PM<)2WY6?$ohXnje@80j&SB++HY6tg}@ z(WS2v*%^69PF|(L6LZ0mIHI}qNKH3J6eKo*3!JIc9U^;oFvR7??mjEbq>0vP{3DtYA{6)2fod^eWdNFhZ9<+sgAct`X{m*Az?!bt?lhpCUEA`FbK*?8vfFEm*=76ArGZ-hN0H)`)wNGSSrvSg=+)O) zS?RJ|K=$J&zO&*lVr$En5|($nIpllId-T zLUWs$mWBMY!071HpmgVx0D$CzEh%Kx!GTP$#QK@s!hRKB9ilI&MKV}0=$E8O^ZL`- z_*@4BwPxjLhP3aCbj7aXPm4NZh*v(AclsFO6-XjenRTgI+uVej&s~LqzmMb#uEZ!{FW{ZKmvZJg4|h%a)wI-MNw!3v%9vj@b;y6hhn5_M&;J6RKt>kT zg}rnVudK1kchXezY0p!5!1b>E z>O0!N{OMbpEBcLz&5y4_#yO6^)rKGlw@5O!Dtys$ zp*>n~x(T5An2Rbf{m4MK_UcrK$o0gS3Hqj?sTO$>_PH%Y(VY70;eGkTsVFR&9fX>% zxa-$yBt=SI?>&pJ$elJ-_y)`a#_1>2OS*5OK|bN`*;W)Oq>i2i3(IP#73M0o>aMOK zCJ9g(IkjtYdQ6&6Mty1X2%ZTZ{)I4^bp&Xvd7|z|^Qw0{=TFbI6D5uoJ|W8O__XTJ zpDl{|Cl~be;r#=SI`@||kkp(12NHU;d4k`IAbRXt5x#3Esl>iczqoNiTB?R2hX z9a@Lui}|u95w1&Vl6JGM!^I`2wNsErh}tVJA!qy*YBx~ zfV>a?-c_1&KTDL-A13x64RH&&QcR{MQymy-A`Hoj<_a-73uSpxWK4m0hmig81*f@9 zF?C8qabAwPam)DO55aE6Vh*^?G$~T=q`?ZR8>5dsGj;211(ggV#o9|B_ns;-J6XWGETt=Z&k$3VQW$!;cFBKQv@|kiXPb z)Fmi8Ch*>3lF|cRe*wCgL|G{LI<9NXy(|Qq=>a)CKEf@pOrVgxZkO7)c8Rgl zb2rbQSN%Z$;^&QXeN#J1Zu5t?uxX}St!;IGL28wZFcu6nfg1#dPoc#)8%FMb<&btl))ufeyMoj2C)Wj$ajm&ne*>(HpN zc#isxX+Jrd&YUSfzV2Fp&g=kc6^`TG`41HVi)@^ZXoOmHi4vL~H70zHE=<_b z)GvPerg!9Vd*$9!lO%fm?HI}Td(w~mdK3Ww__^x26dHAZo7&f??gAs|qYh-zrC5)B zQ2>N9v%u}|*W3s1r!7t>(jE8)$Pl{NwDiP292c;D14 zC9Jz^JR0+Y0`>I^KpFJE*FW+@t@!XDBKzGs#1IlO)n=wP6yNC=K9$>~KWw@Kt3B|w z&mFjyGi!N+ISNfqi_jjK3G`O9HZhRW06YDOXS!HcWWi- zI#E-<0+#;(lv}aW0IcxGuJIMp4>jv;9NWRQ=cWBqm8(xd9)fZWjPEvauH#fwBJrf8 zAvMWlTW`5m-yBOSmP2!T;G5Mn%h#uxX6W$}DUUoSBlh5g&EGWkX5CT3gkppi#8*el2Xv52onFJ#O z*ZEC7nfn4-(aqw{(iDl8^{uNyC}ra2?Z~aHTg-Na&BlIWt{y*97dlhRoe!$M{AsIm zI|KoOWr?h~aa0Z<@msd_-;{A z#jT*x!!(br{rm89M$$uab72A;C4p;Q#2DP0E0q3eeQSs!=cg%K#^jekYp47bL7dk^ zc^+vx4o|-U^~gszTvbzx{QWcbt`u={R4F5JI+w>RRcgMjUBIw87}|_>gfB~E1s&&w z$TtKZPbtYJ6pwBnVPCRBOm;0XlRA$ePIinGl25+Mw0VYzP3drYcD;<+>?oeLXPV(Z z&|kp9tNfxAC)`cY^(f01atf#1&NPj9YQ^G4P@KmSz77&gyA?xx#aYQ1xfD?(lpSFzyV_igBz2Ith0lCAvdC6nXX$Ztl4LE80%#iN)cL{dTBRmwYkK<0A(3Af@_v*1ulQ|KVm2eP&5tWOlov1`c+PGI9*e~U0oaWUF{ zseykv2rDf+9qS+4(P#~v>c_X^EOdzPdz@@xG652K-ueE&G1>pp!0)H3|3e?FpHh~j zQCnS-&#EUsP1x3pz?TgbuPpFNe|?nQO1~+R3U=rqzAd1>>Jv39xcYjI_J*X+;UrJS zru`V3karM`&-5~HUR#nK`z^_0H4noMoH7((REoGMKVT022G*eR<1vy#oDT13Am;*X z0X+4S`g8Wj0z+L6O4lI#8vq3~mJlQddhH0YcWyj-D95>)`2}ZSM>X*0*s2UOc>_{W zcsV{;>N}aqQvg-~3|j!S+{-rnEs-{f0?YW75eT(F?>ujk=2*@QgHbmy82d}P#Y(d= ze#GOx38u2r6Rgf&>c+_t)yr?Fc|62a^^sZVfs?%V7J#V!4XzIk{@vJbsJXwns&fQm z3^@92_H&s0sTSOOBLJt_I8e`LH4ka>Gu*_M{fMN%-jN~NxrRSpcljEGs|UIzYpQE# zW?0tmc}XXfZR6{*rv;>z>5_a`v(6jS!%D1gOBK z9aSfrkp_dnDMX@Iqgp5hv^4mM$AS9936#&|Q_9~Ek;Cy{u&C&+t>5c+Nn4%u#7U#D z{t7Qh7;_98?71Rc3Z~q{+=Qa0;dsH{F|P7Nc8khmrUXc;ax&EPi10={*0)~hCn=oqpua^Ej zv!xcmQTJGdtU6gYRhv=ZG{b42Y6Jryi>+Rf3#M?=|Cz%#AhJu~9-vR3TGG{nR}0Qf z{L~LLk#4>z^?HHX-j`G{V%O9VsD%X@qBM!^Plivy=iL`8HbUK3PbWBin@aXxU|9ZV z6QDvMIDIPBysk0f{p>2Y(v72fV|`=8GDmg<-3qjhFst&F^?yGtSlgr8m#_{rbW0Jj z(pX`kPH@Ri!2tdQKv4>Aa8T2%y+2me)n@=H(Du5>qZbpBs8#V`hMl;s_hT_ULG)@$v4M^?`RS73Qge)snPGX9*dycDcYRtEwwtjJ_c2#ZOxY#JcMiqGf9@|i zANZ@iz&tKM>sU+KWuf_c-2A?*Lh~H?JcFIPZQHO8*=FuAZcI`(ZQunNcge{@4c0Y5 zgvrr);wG7|EhHCU!LY+)mxH15lk9}mecYGqnlH8F>14>xiw<9#x!%@q>Th9png}Ah zp2OX!ge>fQ903+J=z6tmU&wL6>PkBi#}dfZ(;5CNS06!s;9d5Bd<1Mv-vpQpT zl;<6D%LE-;V(pOMmJ8%f_vkqQI+vlq;uqtXP^(a5)W-^s4zx-#6@TE6qdj3DT@}HR z$wCO#xSH2|cM(IJ2V=)~lvu8{yHqV{EK^|rrV>}ad&5WBx7{BxUWu)jkw_4OEP%{W z&CqWmDaY61hHW=1U{xx1lPfT$w8d-hbZJ>4zv|fotXE}bq=oZF+0I!NzHakNe$@p@ zqeVYkhd8qnn44!=(jFhg@`x9wINT#7FSAK)MU67m1<8x<7GNkXieBRAw5G1SQxL~!4)MWpxW^v-0?2j@!rgg3WD0%3 zttpWT26+HFphs)B_+H@KbAVBqB99t{cq3&00rel{D?OYZtWO@IwBBo5Qw)=>?5?{L-^i)VXJqdFw4ojxs}49DA`?!U<8W-t7U_BXF>zV;)ee> zu(}?_AHSa+Nhq-`9l-ZTU&5S*>B~|Y{-?oLmFaXv=yslTFYTR2|0d-d=;sT|3paE% zXoJVH7EQ?>SCvBjy|$kZfnn99=$0gx#}pTa2lbU+^57ab8@7Y#0}EfAt=lyN(|HRc zF|^L&@+y?J6V3ei?dPTlD@;ze+^p2tD&UXZ2PoVW9(V4(o#^DdBRjk<>ets-518{6 zGNj8FDmtuQsC^;Bxg$&Y56GFPQ6_<#o7WNH>LajeOZr}YVXdd?2Vnp^g{>#Ar-hTO zSw>L&qQk!PuCp{%Ct^Cq_?*Sk7-;7bT*f}Sv975?u@-u)axm(um9Q>8tBtGd`%Z;r zFMl?|sRL~ORXDLU_2PISj)$ma!Lq|`}{^i!#gB73P_6`+m)cH=@j@M6iB z3MKS*&ZOa`tsh?E;1A-u9c=mmY-OjF7whFNgt`J+Uqu&k9F%$L?A770m zv&MNjSYpBMhNe4reoo)rz)&Aca$_uiIWsCz?N{=WZm0uKaI|3WL%F0XrkvB18@4e? zNvK-vMniz<)>}j66OH(U7r%wWWj|Hh?G$(2I1fnX84KJkxlw4-(;`;31y6?{wvN2x zuS(eH5drS>iwv<9AV&w^>3KGBTh<^KpPYa%QLjxT01oIpJ>Bf5c^6_n?K-8$YZ~p1CH2N-LR1|OP1!Qh*h{yvZoHSWA3rVzv!vwooeDt z_8djQ{QBNsdB%yq@eD@K>c|7_q6wUO1xIWl{F==dzu)daia%%d0~TAa6bcsP7~8Z2 zi}#(%tBM)WwA!(E6ULMj8^7mL3%he)m#nNjYkK~>`Y{8GJkOBL&aQ;>K>hrnRKsla z{0;Lect&!ZYe6+nX6HyueDn}_Q^hz+UpT^w6*wY2`RM&^5KFQ* zwipIGIGtCmYMm9pV|O|5w6o`=1yGZmf7~QMWY)!758h?KSN93Kw40?fE=1y zeBo<%A4gnxLBehphY9;|X^tXGxI8P6gwKn676zlWAgblMg|*pMM@9UlwYQ00!%x#6 zw|);)Frc-d9Nd3(2fsGkM=i4T~LX_HHhd@ za#n%9imSKd3!R)Wv+ox-02yln1gL|}Jj(JC>BEZEGXUBw07P%i8*$RBCCV9JptrKD zWW!mQaN;Ok{;TxqOI#^73(47^D89>#*$YxKD>uFVpu&piUkBLHR_$hnJC>iD!`9;* zm%X$oj&h1t29Ol0GxYcmzQLVj6Ca({mM4&F_(+@G91Kd*TFs}yVqFMTMORfKliS04 z9iuWzyT1bj)WqEvSO)-Ni_ZQI>`_WgDmQgxXZ8?(C;6~}Wa~7TKtY;B>4HA})ED!% z@FK&aUsOJ&d^gQ&am|3G#9MXqjm5JM(Z6Ja@sD4V2TO+YYOvlHSDYE}$P^-vPoe@+8vy8lnU* zFa%?j1!HAY1M;6I$nq2;$Q6}`8`Cz~tQX2!aYMqUXwZmhJRcOQF zh@}*jG9YRmUTN9Dvt&GU>5}}b$zxl}CGMAu0YU*c{VWRn>b9(IX+%95z>bgB#V;A< zKh{_7`JJSNHyM#-u1Wm)ZX9m*rvT~KBij$xy&H8&;d^QjwkazlM&A?1>m4T=FAdIV z{V-YO^}aY88~)M(NI@h`QDtaF>kdlfSW&K}7e`d`9O<@rV^rUEoX;j^6^1v)(3ZFb z=0BirbvUUevNPrgDps*a4j^G{W7KO$&Gmn~$ZiXpi<4>XtZ6W`$G0D}R*k zIq0tHz2P)Tn91VU8q~!5qWDR1hxwuUTW6$TMWK=9b;ejmslE!t+vbnR=eW;F!GPE# znN>gc3BeLRh+&(R#JsV{+9VR)*6UAwP%!s{vYFT-BbGvzdqAv4!ohio_C~H`!EjG6 zxGyBno~8bG>-XOwG9mva*v5yB1;)x9yzMdY*AR}ldL_rxy0#4eD`5t-saFJu3m^y` zc^}o@hDuM(O?!LFnlK3)Ae%x!>0SgE|9}>+Hh&NF?z&pKatN}C9bm?`EGN?BZIj?L zbHDOwCPP$Q6!Zlj^<^CL%D7@j16HT4x|FmJ6}}MryhcCVyRuw;IYYlHSCjN9L?rC5 z?o6{8ZZk&8SvF~@W!L$CowF7miCU2|h~tuS1NqaQBKU~g?)T*pYH|jPs5mzH=FV_8 zck0ld&ZoM%Z>9|m_S`l4sEJbCf&+`Mm;wej!E-NY1iCJi9vSBS*5@&(ASbI7bHtv3MX-h($h`6BKk-A7#WQ>`>cX4V zUy`q~6_IFwbjvC5bQk4u&4jNY65_Bpr<|n4{6)q@#OHs$C8*ZI<`!nSgcV5=?^3tV z9}aAVRn(!wS!PV#>*U_n?U(w0qx-8x>rR z*^~-Yg9)VRuE;oDCJs>jGMoKa)4cP*(Ccb^u2T$YYa!C2^G7Nd$96F1g$O4D zXVV$eX|8I|k`p)3mRKoEMI~(xwvn#;X!pKfQgUffZ2c^Y;qLxHT4`5^duRts7`MP> z_79*cYo6*|4y8nL0AAfJvx|zRI=NKlKsIheg8FC@YYqB)c1K;*+arv)r_4f!?wv*f z6~_lq06Ig~0Q&!ATrc{~<8=#QOSOwa-hyHRI4&*|2O+ z1@%rEzuM=4=RcqU(lBDgR`+Y|kRf}{qGlCECg-r8np!jT`YRzd)OD;3jPSPl96fUK z^>RvAe~4Gl+R;Ew!(t?MI7tO;(-Pb7FP?QrUDn%q&b90Jt@Fmv$9P@+(d*4MJS)A6 zHd1@K8%$%C!7rgXRCJ!WnRh`2zNXr{JKc1GXNoBGjURMsaDDwjTj>NUZAcEg8s4FU z0$_3s;Cw;a$v1we9M&Ew(uGlrq5!!$G8}&hOAo zGsGVC=n)3{FEtRz^}a*PwsE92zrosroB7k!kWHPuaexXfUP0CpY~wN{Pqh~xv+4gV z^b&?-9Hq+YxfbiCwEy5q7O@jYvK4d^bS`j^Mb!bIg@00PND=LONq%p1h9GZqAGB_K z31j40eR{gq_RimNJ`=~6sv%InEUe-vH^J(+!+#Jv0jPa~(vh*!-Ao#JffZtDBT?1t zRpAfQxyC4*H;?NyK;;T0(E~+KF*N5d%aH`jKj$UsCexOMdD+e7oSL^^vP%o^I{1dP zyKlMor;6j}puBeEr#1I?biSd$fRTJfBB(29Fy(kp{&0gNFVm(Hv5iu`9`RH>U@PwCGhg{ zn9t$V@X7C7(_+v|>}rN95XPFgw;41PZEMw-*V_S}m8+NiH%zPiq*-+|DqxJ%D3uO!NO03Q<+3zt^1fmE ze8kEQW@iB8zEQQ+hin&&|KnZ|_p+km;LA|de94XQyvq?-X1ctRv#5c>S=Fn2@L?@u zX|S0Hz^%#rej~o~bFH2$+)iAfsJmkKns0CVE#r4R1$HO@Wz2&7&)p2`F^*AD+cId2 z-RnfuiQ??zF^lOnHGQ)T3a7u3?ByS}a(YU3V0IyG>fJ5mWu>TE#hU4Jbn0~ z1uHJ|H3-C<*ab=iq-sDe2hx<|a{=cC*Ao~rn~5Ugn!uYy4C;xxDED~M&m@hwOf4El zys0rzhtl;>fQseh4L-Rtr|)DBh_Chd!Hs)G*P_pTn2e`fvZ}2qc;I$5F>m7OwX=1Ba_2n)-10N^YXq02nb?=Lwk~$hlb!U)%nDJ%v zc*lNd$HHx`b;X@PZWu77lCo0ulSYn}<#~83P2CL?{hBMk8e&dR zV&oy}F)1dD@7hMDp9NGS_%8kD#BH~}i;Hb?aH&VFGX1bBC!025l?k9*Ql1&Qp|T69#+79=!c01=x-L?esfV(+uEW}^&yM; zGxk$tyZL)1Irl^hr_!;mKNjr$1TDyC`afg*HxC{3Wxp-HQGsk4%CEhiJa?JSNzMIg zq`;mK*Y>#2^xY8lItfO<8n4fjOApjyDO6#;o{q+7x;(ojaABoSAfYBldN``Q{FieI z_Cp^(a01jmXFtt2O5lgYYxU;9KVl_9O!8jj%wPu@>_^?$kBnx~ zA__6jNFn^gU(E}XP%%-#;64R zE?NsJ;i2=+#hoqlJS13m#>LiKt*)^na2bdv&Mc~*N~4U8k8aUH1{d2RAjVe`$r)6- zN6#>0Bfuf~XY~|+kvTd~1XqMM1`p_ptpi{4Eq8rz`uq-|xq46bLRC=-k&3s+t=gkj zUq0mlQH2kv@kK@XE0o{OW1s{Uvm#g>jB84G-dYBZT+H^)8HokmPfa zjAtLG>sLhQRxhWx>hkA4Ckw_tQ%*AfLir>e=+FdFNl_lqgJ5dBj3kR{nJ&c3r=a~Pt$c)|@ON~c zonVr=Nz+3$=Ri`K7~hvO=MwK#X6$V24>>=#HpUIG+fofz2@9OZ9;)VBKeS$Do-wb@ z6eAB5b4{JMt_x@+quQ5d$a)(KfHQPvZPk$cw}Qu)AI)Rn6sdt10DJ_Tq+7oBL~q1< zqg`)qQD|HuzgoT-%bE8fjyjzx2pZ~*{)lRau|hb&(lHCIo=W`h#Y!#we=%#QiN@jh zJn;5AJVF|wH{E`e6C3rz0dTFVN25UT=cnP%Z=1Bf$k5P;Uy&jDRuhXCS5$3XO#u0rs(ZZ_4?$aNuK6pen6~>ia{&ddF>H9XT3cLm7+Gic?RR+Z!Pm+8l>6w zNc~`n;8g^i*<06%Xt)-w0O#x=mrR9D$zQ~u*L(&4&qIk z&$gzx6Wo9~Ou44c=3Zci?2_WpIDc)ygH5lktv-#=d!%0Qgz@N1_N5k62ga6UHUO2r zrmt#q-F$JwvO%nGl)O@@`4dYhp`xyN7suO4L0IawetjQ+Q?wWG3-*0pJRA&FzFx)t2;MIJICSJR_1_qP9qdxU$u;q0~BBIo7rh=sbZCAiD z+Z6YyOxnep)U&&gd)^NK5Rh0U(B@$6(%}9px(a5T+jLh zDFvu=c`hR>#_I!sy-=$sr(MKrh6tWyGo?JYu9ILb;RAs8uz9Q~N=}z&a*mAsyjlVx<^vA6tV^uf*`x#j z=AsnYd5d{Z!}dP|6gBp*i#F^d{We4p4AvL?jyeW?}#ru>2ItOh1?4b}{5V zpnqPFQpwR`;j4P5u%zzaJ#P{#U=x8KFd08Fn_qn=9%$FjZ?f{opuoKAr= zJ0?35C|FRpr8m};7D|W>s-1^wQkNCp+P$68Pdor?z0e!=yuJAPGzW_DosA6ZwM$O~k>=h!qalw8MKQ&5%*i7f|Ggos zed%l>X5cpFHL%ot57#_wJ3^vi#gm{v>Av#qS)1ei;cYJwCp~(Xk%bBze>xwl+ohO( zU)KyfYJ2%0h7yE9dzQ)VORp+EcWWGrkCn2tu z^(Q1&dVOv7Pep^vwXJBjoXW#!v10gwj8h-(HBSGEe{JT>T-p8Z@$-9d2+t5~DmGM$ zLe#hikOju@VDwbkBU06x zW?MvukIMwq4e7KXi`}()PegfnhD4)3dgSlV1$~^XQ?hyM|2BDYgtkEaN;jVY zTzu0q+qopvlh!^T&2OtWt=8OBU6td&qRadxpG1Kq-vTB)Mk3BCjR*~^SG67< z9*~=1Zca0M^B(KPn0Im)Rx`8zJye2wXer%U;q`O{;mk!|kP64kUC^E)Lbl&IYYGIU3aGB)f$ zt_D1)O!PXvZJ_u=u0f{5_ZTScF+Bkli4MsdmpNZBs)3kPdb)1!yMFnZidW@db~Vgk zvwm*p^c|)`k!>gzTGb;(2bmdL2+>oEy<|K1exw5jqA6H-@kvjf5<5^{6zJ!BZXA74 z50Bdi{(Il+8tBT$k3KbFIOxhRx3MP8qQ$; z1qcR98l1bBzrCI*QKBHD@*kkxzpyR8Bdkgfwt@LfI>cQ{VT&%augm=Kv8lUUoGspg zKNiNAlk-%qFPZP;-7_R>%y|Wc(NtZ$Rk1S1>|ui9s*uTPZHc%* z1!+`TJ8J59yS77-xiL+6q&%WZK6+aCSyBiIsqa@Ua91o5Bn3}s}}Os0xLFKXg`ZLbAnJbGEQyhlLEF0=xnZS{PG84u1=B%;-06{=B?jN zRHZ^IH#_qtOikVqP(|B`C_;;QK=cwf0Xy(Ns+`Er^+`pU3SqhZ0gB9tG28b_-G6}> z0M>6<#9Ezu7*t?uRQt_@O9ty<@?#n|@0kRJ_yH{%Luop0Zgo1(t_c(qTKb?v0C|xW zT7S#;Hb!hFaX5L1SvD%ZF4V!oCh%bl&!|Vyz&O!?+Zy?e0&|+`Ns6n}Ja~%o5_lsbCR(^ysaP`PaV4&?r0K4D*Wl^^ z_&55(2P`|~l4Di0EKvfPNl;>T`BJ{dRt$>o>b|}&@Wg-u@5Xkk)t=NNNM$-tzc;R1 zAfn}|sl0QOSc43KmkI8CV=&YPQQ2;V)b2f!O!Th#a|bClWaO-oV@lS-Hl+EDuzv2grJE*y;^y_r^q;_8z9(rwe;~0gzau%L zw^S{ZCtWgVb#)AttP77tjO2N$HG9h=xD|ydD`D#t1BUhkcRVSw^XDsq9G6G@yo+pw zQ|+&D-Nu}FqD<({2F9|;Z+I%#45Vbn=BVC)!W93<>iTAHkGpwV*s}$< z1m(fJ1pK`&;hhRV-)N`*)?^bLVb5>qr#8Lr+91R|Vp{3{;1fZWxy_D4H{~wm4_DY7 z#e8|2-zJ`&OXSA0j%1kz@=qVrYvSZ(fHIi+!hYeb2j1S<3%QlwQELetrjyw4G>gh6 zISy8kP#<2A0MvP`_3kw$_y7|en*Gjti-;fZnnbmtbLBo6{Ka>sg}qQ)N;TC`pCGtU zzc1-ZkYJ5jmm_brn#Pv8pd+49Q>u4~_a&W4disu(|9}+O8juXdNh~o~u%;Hc(bhUP ziN|K~XPSr#l;{Rp-Puwm#v}*ifPOnkk!z7b_ZORv;peFYINw?tCNq_~hJgBVMgvDO z2RN;(VMVrL3KMy?oX~HXFO8(z8@b~!ef_mzcVm8(0#f1H)a}X5pUv#u&C7U|%&FeR zrGF~pqYYXU-YKHJffReZH=eF1jAR?7zZ3i6&NG<#nil9c`^#Jd7TqTcojunTAtjp< z%9lSkS4THuR#=hTlCXsF*!zux+9ffR?MM5hKkt@xeRFsjt_ZXh9H zWOrlh0Yt{TSVyTOQD7OPBeXa`6-TA!T5DQ2kY6@lLyKeP79S}B7<;mChUk2HbyyY3 z&X^RUF^n9^x5j6DTwb`?jqRYId_8c^OuufVYN$&13&swp zimIP4eqkMJceo#!+0;RW$gHSnd+u7*;2rxykno7A-&8 zRFy28Yhboe(nXa`nxubOifq_wR7R{*tX6(rM-M9IcBID_^p5t1&cSljDiuNq&*Q#)H)XV#V~Ag#Pb&_@#Gjv=Bbxu@v3& zRE(K?`&vS$fuSdMFIy|!OfBr3WB67(*zUULq;|=Q{no_**sKqW>js_o9Tn#42>R8| zQHk^Ar9amRHob}9ZM*LtE}bLXUj&A-h5=RE1b}}=kxBuj7_6k@iAQ~#BLeUzMG`gq zgzMKkGAldfOfJ&U_m(g%%1g z9ze7ne+WHhTl8hSv1maw_N);ezy(vWRw0OdB+E3P0_LH@r*7qBVFz5M`3BOyNtB;% z{Ol8@nfrv_<}d3hEDylmauGm!*2jCk&%bR>P-UDG^WF}#=N17{{=l8+VR;3r0U+gf zp1hki;(ziiMG0~6hSKh1h#9jx=x-4&V5AJF^7Svl@I07)>UD${zGm48tLR%+@la8~ zw22=4luvHIT1?5{pk5C(0f%0snknW@x#Gqzyee*hCU}t~oogR~H;AE7Hk3)DO6L1K ztIes~FTEl7MBFd1Uy4vg_ix0;F8tyl84Nf|V{9QXls8BtVFASqJ>XbDDro7=%*ZA`Q=nKNm_erzv* z#pIdtIgS6rQhdFx605_GMA;(b4|qvkc2?jiqWv~FxNo$gGwUggz+53T@JQpB_Kv?E;HoZ{w+4UFm^9^7bDayxkO@&~N+Q=!~ocsmXtsIl6k{!j1Gte?_Fedits+ecM9hMr06mqK;^2FJ6_mui-M#V`a+Ze>-aQ7YWZ)?7 z$@5!x0sP4B?`ClqLie9{+bqU%-&4{h?_izaJZ5UFpXVV}qq5-_Mx7j*y|`Bb`84tf@*S=a-w?vl1Hxr6fft}&qNP0&`#K+<-{Kn8 zPN%_9qD)KjlXW)5#;oj4lA1gNdS_g4aCauN6oo6g*hN*=8`4bfVHSv!WJnN@UM$hQ zS#+CrL$~?jj@vS&k(x8d-pb<7h{mhK@21 z^NjTt;4)l4IDTnUsMRm)l6;HRJSBd%Jr%6uHyFm(5?O2z}h~!QSq@b$um128+O+#%wbMhv6m>u*1mK(2! zgv1NXfoMOgSn>sr+K;u9hjrh}D=O*n<~%YLe)1S36X7yj6nULUS=dLXo%E8D8|`*H ztE<-J(EIbU;$5QMoW_ShHRmSh0p-6Vn_K~H?;u<4KH#3~Je>A4Igg6WH)a;>`Mdy^ zm~7v#h9X#Ci8Ra|o^+Q8AOz@weoigRPC^fNKY$ikk25m?b9dtZg3>V2WoOBx>DdIm zSbHrECbyQVXN}6dbDutR@vzk$iV%6`Zf4X~<(PO9VAO{ex-p#dWm)jTlJ1^#{ z($19*7U*nQX{w7*jrkG$C4GnBil{@QBLTjWW7IzB z^S)X~t(VVin~&1J)I%~*(M8Mqs~{w2#%J&kclW~Or5<|e<)bIBqOvrBvM!eENMS38 ziSmeFPSXQt^>x5r#>F`WFgIa+hl=0$fzB|8uhJ~B1w4^xdd5s7g!y!blGarK`2@w+ zyL%YDvGR#G{n6!1QmG^#2$~M%tu=82E*~k^G0^2$f!7g=9-0%hD#1OmB=gch*O<-! zfWjmhC7&RSsw*p+njw@#Wshug#-;IZAla3CTh9}{E1_IS`X2?-^AwHbQPppnM$&@< zGH*0+hl?(=ksE`j{NmtiH(x2_^(E}VjakRc9nL`q{|x`GzQ&X}#5_WfjdmQ}Ua?$! zyE{0v>$wvfOZrt@x#&*r*5n@$r~m-{KmbX^P+tNhjqivg`&3M#Q(AJ4$Gp~D4Jbj0 zI*ivXQ|5Mho%TsUOs>Ch7Rs879@B5~oarBs9gt29u<4N<+L@d_G_5~dv5o9lQa`3U*kZ`*iI3PE6e_q^lRZ30xH6y?1E-K)@5vEcZV z$Fj^b%>9RtRuSK*Y*+{vx6@IYe%>Iq4@R!C9vj-y8OCum_s3gKhStuZAX6^t$su7- z463rF?cg$G^5o(qsDp9(Jkp}2-8JM*u;dvw03hjKJVkgB(OMVPPZf+P?-2po>dcHuD2nh%k?oyWk^ZV3+d$ z-KBP^Zb?R<3Q%YRjI3+yr0NP=C`xP;PTm@Q5p=s4!w^0=lBRXP5uk{b+F5%Iq`?;V zh^l?#AS2$a0lkLa=&$=&Kp&q zQMABrOH2?VRIzT3!?do&BH8|xObEfTu9KMQLkFPa_U^u8fB%6A0213<=$RHO|2@zZHM1v2ak0E=EDa274*(ak?Qa@nOOm#0J$8>(^d6kDJ-D-RsFLyU7jfk zpK#{%VEO>=FD`UP9XgP8c9H{V{s6REr0d0ePv;}RgPTcVK5bcF;v7>xOmMx3nHF3O z8yiQx5my166)tOmp@b$NLVAsb&{yo3=pgrSR-Ltl!>L-_%-lbh z_aE(;yUDeu^;{uvyQnmlin_*@#F2124AW?n#rV2M3DEAfDEj)tk7uz*DH|COgQ+$F zpS-)Nt^aMJ$(v*zS>yc zQ6O;|ZRSMz2Ui8353=S-VjMIX~4_ z2gn)#$;I#dr3Zktdr<3#`TB0vL+y+Hl1#X9cq`M<7mI@kW+t`bP8 zuoUh8I?36XzqU8};yI7I4I%}rQV1j6)YkwQ=mHK(wMxYPUYHq>`l@dKIwH>AK3%6-*n1zdyRBKWgSRuX(owZo9VbOd9oKB>VL^lttrAEPi4<}ZY7yX4h()zz*)V=a=Wnq55nU)1eadE%uR>AR+ zSjUpPfP4`wG*scp+(9j1?_w3=nvhea*B}B-<5tVzC(U#4zpft>51zpZNMqD7(#&4F z3`Do^X%(?8@bsp$+K*TnOu7Z5MtC{E}o zXz6nC*LbDWkGV6d5pozv#$GQ0Wbe5Y4^vQAvm%KO?bmxU%MIN8ty#Qs?n zICaA&aFmP#3^`zM7sf&r0*R}SC)V9_ALRKVH--G)kHD{0z7+UO|HHWt;fR3Gp{@|w zRx=DM?jkK`K4uzT`1?pI;h+bA1V$Y>Rn_(I6(0h!(l^ov%}$k#6gbgi@h4W}s#@*2 z7jE9%38tcEh5R-1-f@G_0W=Yy0#@8|6TllGwp8b7bz9Oq(_tE&qqTf#X;rN0sDp)J zQAch>*Sp&04Op^A9;wF5bD$eX#5Mq+a5XUsO|$^DEj#kMANb;eVu-Js5j%Q21;0is zrdoWxofx-8?rEa6YP$uW+QHB_A={Y$cAvCqie$hTp6OoLq<5U$A+NYf?;O*O=JP7F z3l9tQ{0H&}JAkH`&B}r8P`4dHk$wlFr?5>;%)iHH1u3@pb(#Awzcp1=F-cj3{?r%e z;djV@tQB@6KoK4_ncs#x_0!VPxOu#KTvIRYQO)(UZU`B#fIze2@$lgBEUqz>?tGsZ zpj2vb&XQlZZ@5M3AN#t_AhEbTE^uWK8lAr`OJcYzeJQP3P`iSkR!MdbuS@}P$BuQq zSA|@!_VeYky0$Q7yVf@M%L9S=UHo3$ObGI%UwBHwvz3>$UStlO<=NDGzGh8-l}d4;4O@Ah4PBh2OLGARo=C12@ZEZ&_k zsCu9V>d(Prih&hLFdbjm2fbB0V$!j}_N?lfNbE0v3q9>___=QS1PS_Xp~Fw8;FQiS z&2*8c%@t_-=0{mN+TZ$u^6|xY58T@_?iVipg}YV6{OOsge*#d23QwnJ<|*p$aC}#M zewIouF`)@aGL=`hK6k4urb1xe9l=q4;zk&KqFZ>r^>K@L28_~6r@ZL%p5{YwLW3vz zj-Goz-E|p~gC)h^GuNE*T+%dyBYV03{+%Ft_4qu?Tk(})TyF-t4aqw5ao-bbsxQ{6bfF%HsPuukEmB8Q zj=S`}Q}y$x`QBqKOFUdPr{yaS<`0>J>XGm29NJ{~o<59d%+%x@%T4xW#A>`w(y86( zZ$2)#IKIO1UnuL}XzPFbHTXXJ?TBmNV*)rK!xx?1DU{el67@Iz&cXGeq8&rAal@hF zq1pZk22Y*b5a{k+;a^Qmu|)1!$XoEr1O7aEN|Pma#y@veM4xdSE1bX9QfPkg(H@sV1T}Q83`OKoxrxmp-Yu=rw2PN z9tfv+wE+`l3^g4n=GLqPTTp8!QTLEV6R=G!d2p)fQ^#PjL7%^(hD;X2isDfxl3X?j zZ?ZK`PJ(uj1$3+imdGoJDMm?1#coj;Cf~%^tTEXhZ^`zpA(qXm`RnDftUG5<(YLrLofP zL&im~iVT@VT*dGeUW`{S2Wby*YX*^k17n=ULKe=~0pEC^HblmkWM}n^F6-#1+hwaf z3V-E+K6Y~a@NE;^uc~WdHofp^z=@Cf=H?;;3e{tq5H-Bt$fbE@{?e5}=thf%xAAr?HTF^WWR090M1Iui zEsdZ4qT`{XYiqT+_HiC@)(L%PX|ysPW<2cTS}dp(_{TS-UQ_7>3!U3bl@$;J9b!-U zLyjW#;o^MWxr+T7>gk+a)jR)kZRMQlwQA8fb}4Z*#ozF9WG8~1GS{hGCmwA*xr+Fz z`2DUfTlEu{6`qKklJMsb6#*b%aLhn=&o$x6yT`(dF`GvAN(4nlO3=2NJ z^>nhe7ijC^z)d6@#^lpWwTY0DkNE1Coz01KAZv(L_gRQHx=xa}n2uWOTfE!F9i8I* zf#aMGqo$4Odct4A@+KePP#V)?6&=xd&M`OLNvknu16A?p(S&)^Q9boDJHI`&IY4LQ zD=f6Z;Dg_=*_dJ@?}6c0+JN&7<*q#;{1Etp3*T zJ+p?T)%xm{{1B^1^ZhJ2?+_?Gz@Sfz;sno==Aw2DVePF^$Er=e!Y?Q}iL;YA=J)O@ zDHvPqoT2gStv#8u{7xYIHQ{eVI>4{+GQ($ZVRoSdDiFL6dh%{p^_BPE_k;RA#%Ct8 zGnZEBtLLrNzp+m&*a&1vT|<=1bPTXkHciK#;n?{C)2gbuJf?NIqeG_8=9qE|zXDZC zz@qK1cqAT~P%(4+SC7#tXJ2Oe*W0cx_8H=PW~M-nuz7Hf!q=W5SYNVQ_bbu=)5C5j zvR=oU;pv2>)EXVgIwWY#R-9f%1+u+vKz>a+?9B00OdWmyzWm!mNzbQ=OC^3*?RN9N zo7PeHUD`MFViBTq7r{p!Y{K4Y^$L*hH` zoqiUG`oaM@nG&wCxHV<{V6u7Rp$g|Hw@x0hR#;r{Q{yn%hVrq5s%7Oh(4KXDoKw@X zY+5Hw&UBCYqgK~(Z%n{nlLP$A1eZ;Rs+86%JBdsc_W0qYB<}FI!i%rk1{0Wr;0Jc?qXH$(T7hnTw}*O{ zq)ua|po^W!X(UU_iB?{TC6RMaY_h9Vg*dzEc{=6flSa)rNcq}05~3AgU?*O61En0# zQ-5X4kI$Npk{5|5PXXn3HY^FYE(3S7 zTlVOin(f=4?VKjro{1{<+RKkxtfoxY%2fhogthO_AOGqCZ6HFQhWLz;i(?dX{iX~@c|G%r@T+^5X`EfA>IpBQ=R-7Z|9e3-w1GW*BZs)%%v9j` z#uae{Jj++_&jgv`J|2JI|9u zFkie|hK^clX)S_9YO7DCkXX}oF+x`)SI(Zo|SL~MC54<*K(lLEUj?q-v4 za?`aPgz1Q0vkQ;gjsv4+@^M*}fB*h#aR9GAF-i)cuDk(xskk@L%FMFYhGterb5uNN$+a!2cHK&t5TfsJ z1tv4Fs4_#orW{+j+!L~m$;Ull*FsoeWzgBCSz>>|VKu%{^8OYov3l}`&yw3rdBBOO z%+r8ZIUf9c3MES#?Pxd752tEjg&FROVJ=FD5Yp`FbZdoJcK5mF8qS>V!_@V$&UJ!?IV)Tl@AIB_j*j(Kd>o zQUVnWtMul5@BY4;%={4f=U(OJU%ID=-F0zVm?Qo6sr`+>sqPK8B_}sAZ;@o#?kD0R zn9f3ztcutFL0&r(EsX1io22}18eEv=O21oO?S<>$Pri5s^SJ1Sr|BqF41no^`MHDB z6JYNEGNhrH#U`15Al(;9FAu{mfhB5SW?`8QkoI3u>&pOQ-S4$C!vmR@-M z?Rn%Sg925xvd~V*X7UpX6REy4ScsCE|GP;Tmw4wZj!ie*{j84IJ%`h$BnD6fxHkQFwn_`pUl$Wwn91 z-KozV-nE0tx8?j-{hF~?58nd!qQXvV*`^=rcYHahIzLJtr*|iaMHNa2xfnC59c(x6 zVYw;M#KKOZAHiy?LGg=K#}Ta5_*mY{URY*xjV|GZ-E(!b{NQdJtikAm-^PLYxI$o~ zQoov5NKlDb^!u5S_%CfDkeA|BM^O+?;0mFwS;B`Of`z94>)qU)NRxfW#YuGpQ&{ciKO~lu^ z_BmF{hV=7+_U#+KiqSFV8}~)yW18@#Um!Jn-kA<5$jeCT1=39F8X1c>d~!chC$2#$ z@w^g?T+s?r~5{+6)TnKQ-7|wmT7A&y(a%iS1}#{^3IhM zEjY^z?FXD~xh})J@~3Ok^w&0yxZ}1Aix<Zh?hsrK6{_Qq#9wg$jZRf1gb-CBw%p*QfYjXUEX7gFt2+X`P3?UptPp+pZo zFvqkOJ|B;6%|J$NHr&YX&5yq^uP5~Wra@Fg-}fF}$Xf`{;yfvijc!Nuh={SF99X8e zS)Ur)E%ZxvDv}nd(OVRelq=CvS>|Z890zf}o9ze~RXfkAg?VY|b!n?WRanPuI*rft z3n@V4b4yB(#BG^5Z*F0OUc9o8COeVHWrR(JnQ2NyZrXm&+7#altt^j8ZniHF2DdKA zGY(QW1xcuUjKH&wM??9|yMg^w^%@2*?cAD0*CZ(PHMuizYAj1d?6}>%Q-x`F_q^`S z2Y71ww{#9Rj-8}i))`mal<*pItzg;NXn6<)i${&2= zwGP}VpF_CL^%UbQm05|Is!iFRWDe-a3t)edlni*fu4VEI${X**GZOpe7HD9L(nn7? zQR{P{yh@X+jhxu+yP|C;!t^4w_j;H~Bi-S~&4iQImsy~_7-A91I}_b{4htHX7(DWZ zpEo`~nsAu9I|nm(wDiY!JC@=yQzoP>BE`|jU!=>lLD%vPBB+FRL_~Mdo+tt|$mC8_ zMp{shkmR`2HOE|y_{IoAXN`6juayPQrMaeyA-q?`Z7Nk^{@SaK4nzhEBz zGWxTlrU`P!y6Z`bUQR=1ZmmZitI-B&fPc9%;G^I2x+&h!wgYn-Up*)-xV73(Q|k(o zeJjA=b?zr3>X(-1Z)OOp4>%B?Bq`G(Z~W)iu-+w!6HYXKq5^?p^v>tvqTL{;A+aR0 zfM$=5w;W$pC*qVmV5lce)&TT9B4GE~cYz`i0(`)JV`7lZC_|aGKX_@DVI$>-RY?~O ze4O28ZRZQa&cYhBJu?H?F@0+@vB0zEnBISRcv#SA=LJRnRmV|gAKwo@;l zf%OsKu;qGA&i@{K*S!Zi+aj#8zr!#HP0R0X&Hv&)1AkhlxuATfp70Wd#zk4x=iqAP{Vk=%S7djG zl6)D#yALPe+OX_Mln_xg;az^^;YNhJK;t53{`V9y5yNkd<|i!qy}zk+>Or;`5svQB zo_%~xIR2iZle%Tqr{)D;G6FPpqH%zb-YJc4n}ea)KT~|pl{Jw>KR5WlIT_slK_&A; zB)6&@2n)E|d0Y4U50n&XaahC&&-_fj)Y!V`29IW59NmT=kkvWLL}rOKQS6E2shee2 z;>TaEMZ8~BdYiPzon!T_rdL9iHE@eXHWT76UA@ju5|e!MF~u_SneOQy`nHe<5QI-m zwu@jUYY-#Wi?T}!L=xvh8@Ph-17e-q?V!Quocy@(Ld11XrH<2#s&c!+lpxCAtSP)v z;w7;d394{$WK!6Ld!WUs#d0(GGdKNk7%Ycl16iTl zfdzgOZCPw7ZPFa^{pED^X^&%NZ=8B*!@~GS+|nTwDL;j}Kw9b>xxa#!wzoE8RA+nUs$`{K@$N}QZ9?Cz1nwf6%f@nMi|T}-5cRAs zax^8$J&0kPcf`!N>wNiCxBaoAFR+U@vu$9v!k7cy*Cj~~?ZL20;wUasB&O3hOD)7-?0%kfFmLN~Bz;&UNPUOgSv9)3hnp+} zyj`?UA^Mb+V}|8^=JWfXhI}fn2^Y@uuhXjq-yK*6bL9SRZx3`(I+Y{R%k`u9#_ISs zeOJ*;iLY26sn6UXc#w>qL@#tjt8<}0tYmRzNOIMMuX|0uNi!1`y>6p&5o&Tb=P?q+n@cC@Grlwn09`2WyVg3 zT3naYOROmsg{tXosC)xqq>yc9I60p3(xG6=61iHs%9&InH`(oU`myOoeJVZdGXit- zpcALMlla0~ePmbCLV?&+=;Gj!ml^-6CsF8 zpZ}8}mMo-zUZLpS795!e$U=UsSbp?DpTsSG@l&R?DWUhlT*%IcTAA2?AX_&Z9{mHc ziNzhVjgF0rlF&4LvpB@s8D9|8`!EEd+_Iz3QfC~#$K>r7DWCfINJBIz)A+$Z<#l!g2{hK(& zhC2$klGH7CU`_R2qpYFBGVq_FwQm;0V77u;V9;)0nn%Vjr4RdQFbJb|kf!EXpOgvx2W%wstYfxe>C@{=-eB19fH3*sX^w83g?(SWUu z6U#e!jXETm-5>r~9(GZnEI9<`lzy`okGsgSEDdbyr{=mA=>8$MJHK8fK*V7MvM2qvN6S5>L4l`&n6kJD>TKWx=#!f(d#aQ1()#?PX z=#=4J({DoCnLFHFs@sSd1Y?6o@Oi(OKm=@N?%@ow&*wC`u#rc^i$H?RCqCT3*$+g{ zN)85}>n(Dw)98F>@9s!Sd8VWgM}bIe#_{h5pAXTjJd!jW6*{1M9t=*WGY(^$c4cGd zODp9{VY zjM=Qd%b#>KC`9ZT;4ZbBP>*)W;%}@s|7BA?SwhL<`DX7nA3g^iq3;M3UwcO+bO`d0 z+=`1SFK?w7Rw_w9Nt#A|)ms;FPepEoykPU}J$(eu^$lO)Pv+AbdcFoEoctZI{R&Ud z87Y=j3uLk^HhyG5U6ps*LoF zybIo2^~xeua~oT#K<}(2s2g-}jjEqT_IIsZtc;%idQBj;UdmQoLYn6>v{tOKp6o*@ zTR?LB&bowVH)P(~zfn^k>3-p{2nYJr3yAIFpSZ1{!sXb3a0IKgjCeThOwd*2g$ea< zDPEc^a``nH@qxIt0pe8qq~J?}e92D%)k=d$4(?cU@?f^RhEG9Legs@#zJ{;*K}pYZ+d*`z@XK5^`r7H_6@<=LJ{3W|~Iz zSW)DA&k_sik43&Bg(u8^@x6g~)Ta6`68%OxeTOJ_bzM7`+j&G0rLD}H4AxH`q?c;i zbg9l0Pn?A8{Ywn7+;q-4#m~8U|5v3muYsqnlL#pf^XzMZu*$j>vp15h!Wo>-^vEHF zO_}xdDw8(Wq^g3)c@QJ8y0UkFbM*5hABucI9{Ie(jtIXe|P zvus&d^dFc%x(5!H8Ihc>5r?yMpoc;nM6%<4KY>%|oPh}J&n$|GUf z-%xe&g|Ut~W4i{}>K12Vd|08@b7gLpSp%DAf73<0Ltxy93V1sKIQuHo^!`=Zyr*AS zj=F?-S3Uo65Is@6ZF zWkouTDYqJk%{!2H9_%K|YBqDc3&_v7`)N(dGtTZ=7ss|c^&%_^zH{N}+}^LIuyV?y z1^dG^H>wKRv2L+EsL_>)dcY8K0L#T2_3jAxWy83D3^knc9<-9d7Xm?2q`Lisd81e# z7%x>}Sn<6>uX4Zj1#87g5s4088;_HneuTkO6by|6+7918yX$_ijdY|91oMngMTzA% zhZVo2G0oe(U4V+x*V+{S{;3`V*$Mc!h;a)uY1GAw3uzMU`0N)%h@q|St0}%6M7%zw zw-i5p8G0XR_?c;ctuQD?>LrQRR)y}#ALD0jd=o}MTmy=nIM^i9f(Pip zx87vjQQ`zkZSl&1Gk&&OIU055gR|M4JTtDbq=ECg?{nVR5i| zSBHNfuod1YZGQ&`etE_zua`{UppB4cBR~ntfyY!Tx4%a>U%CGh8fhOhxoqMeJEPz% ztW)+Eb+J^kpQaDZ7tEdh(~NLNgDs=;irLE&s;Zs)yW7e38H@v)dg;Aw5*u{avb^Mu z>Kq~;dXjy?@@|(fB|_}FO{e%#p#!gbo~@z*95iG0WD?O_>biIwJ>~pfTOxDBFPw|p zQhM)$TUxs8F2?f(480?9)TZ6-A~-ZysLzvM60dRR!A~KF#HV4m<;*kbHk@a{1e$xK zwb*FG@p&dI&Tb#R_)~)uGrBGvZ^{xlrb9wgzw2hfgcE8YTTIAFz6DEVS%XVBfp$lH z#sw+q)^Bu6`uCvFd<6nuc9cEPAvSAFl((#=HVA|V!c>$TTWkvezuW7PNTRlxH`8rG11yfucWLfb@u;K zv#qV>h&y4dCF=DO;|a7Z9O>&Y(nY2kQH)i>s))w`Lz>d+SBSrfDIH{IJ{;-0GW@Ps za||DH!aVINRQnZkaKHqWpAzolf4qiRm3t<2RK44FGCC!${5gFsb};@Dv~pNlda;v| zqxUo6ErdR?Cq(-H2u}Y`xc>i!*A9OGAU-yN`!k6=WEhLk4syG+wjupCrszk7UBU!+ zA0+s}9c%0YEF@TSSTXjUfgzjK)d}vuzDir?bS;VgLg5KNi$JT!1aSua`#z}gn?MgF zCL5;mp%G3yo7j%r=fI*jj}+{m0pTD_;-W=3&mF8FC|@AkF{?CoboV`?`(dOD;HCra zFH?KA%+S`PY(sD)th&nI)>{4)h(O6t2p-E;=4LOFvev~K3S?ZNggK# z>u)by)<%wiR%7{QE1cJH?rg<-TZ1BY^4i>(VLrFBT(&^tg$?gB@gMv$pIfn$)(q>t) z3w56&NvNd>`^9V<{tyA>4)#++WS~En(*qF)$c9iPPYd^|%C}#2*oi_sB2FDa5)*Jo z4!tw{S{|ka{M+&zOtK|Rg1kU9(61&jswZh3+YV!W;1n?a)1_$hQ)MK#O?-&?bhfI! zNJ?CmbH(9XniLRPYa&u^kis|C`C!*|HN?Za-+S;`3Dbgai@Ts9iN0O= zVQ_@>?)#aYapM8^^Qjkv)9I60K!4SzWRCoZVzIEvjM7ejKw?Ro^vUE*WZi!6t2YpL z9Fp}$wO`E`I=b_pQhgK$mKscX=~+By;9L?EdE#wDy`S{L1wi#5f1NU1i?upTqg|ln zcWPc7RY0;^OH=jj#*_MgTvT`Ys`D<`n2tfypJ$=L*_y&dIyL^VF%k~z^XI)abxC^h z8h^Mtt3GraGF}?ogFB77i$`#*){RF?AK zD*`E7lQ%x8Lif_aP=*IH@OJx19PSW2GhX@L zqP-4HM#)VvnJ*-@B=s*nZay8K%e}Y@*!oKC&$q|Mxa2=XI(~3C75M7pzq$(#3BXNI zj=q;qNIY8vSQRkLp-_}~jm2%Y>|nTzJ1WWT7uYB@}vEOV8az6HY=<&9IzoSdOz~$HTY`z zfks@rV~I#C?aaG$P_65V*jqq9tJRtPzyW+Vy_-E?4N|Y6s@?Q4QbA zZ9`yhWc&RzRK7u*{(YdBNt1MuN0Z{~z81qn%Jt<{PUqQ9m#l@H6d+}e-?hYc7@pc} zpJUlw=QG@*P58U~Xcuw)Vi6ukUeSWH!4rT$EdbqWq_S_(aug3YiYQ0K`y}$CG&2s` zzFTE!y zk;khW>TtB80X0_#GsS7>K$$wNMFe-K(QjzI;G zZs*L;MeJ8$bLB+$xfkMRd|hVo26U_Poq^-o<5{R6VpA>w7BN|p^5KI%3itrVzvCmT zJkH*KrIHQY|M7v;o1mGHg{DGZ0;MyyO!F88dxwN+6Ob_N+~s8-V;nCVKhsEmaL4 z=xFoKa`;job*x+b5>LL`*(@fy%LDGO=d4O%y%&LzzaeeY6Uj{N@%0qNNcI za2CHWee3I$jrW&aMc)d4yX8OOb2lkvF`*VNOU7c*czu)(xU={7Xa|V^k6?pHbFEl* zOK`D##Kt^U%Rd38LoEGG#tRH@@&iMa_sU<7j<@^c%pHh82SFLerUmD(C&rp|Ah6$rNT%=3Wn7gN16 z5N+pC#4=X(l6lSJz2r1Vk$yU9A&*i+|TXJhm{t?)AM)vYxHuDz!PJ z!QoTTpElqH9*RD5Y15_}&0=XGRl?e*5XE-cX!h|*6~WfVYH~isVIh%YbyDynz8AL6 zIA3`nQg(e_?}e=EPZw0a$~=f3j_M8{79+8e)`BleaC}*|cZ$O`%)on+~x9 zjq>xl?FKVCvy(#mEP*+dvQ{=>ztikdrjfN6sh+L1U#YLlAnPXj48C)cKM?n`% zqxiz9ZXp^vF-}3rn8T?^GEO|HKIGN}Z;%0ErFmUwU=wpUD5Ao6&;jKKpM&ny71}aDq&N zYm*2itj%z2X?U&3ZLuPf&;C^XotQB1WOITD&7A-K-Wr|+5?;nT_?X$PMlmL(xCB$5 z8sl5`=l$u=akuo$FAFn}GS8%w+~*wFy7fe)?%fGn$r&|zv>K&Bnqot`1Vr|;<7AWlMNFkz3iNeVxwU0 zDba+o`pmg zCV|oWRS>iZHQq4?X*vgEUyW?L&NYVh*yLz8lfC$@$cu$1RKWAwAM5-BX&^o^3s<)& z_@gOaX259OQACLTq%Y75nrJQ}5cLMHz(MHnQOOgGdWzwvokKolpYB@Vi@lNB%P2h} z<(bfv9p<6Yt++n-HN72s)(>krwu3#hDt;%74_VnE(xcvP(^JD>yCk%u(Z#*2sqrOv z0DZ<~_vHHeGua>pH`7b!YF|i&m(gXOp~R3e6V7;t7rLHfnJ?Ct zO&3`#iX0~hc&}>-!ak!sDKGtlG+HUizb5RxTDdvytF+KKfayeWVAtAv5_|is^oY-l zT6;$5$hqq1OTuZUf{)8wKYGb-kuq(I{i<>gG*P;hxGYA6Grp(YOvPhXS--M;r&kez zdq_@$pE=T6lxX;?{6fuf~x$=9wTVw?CbQ|((!q(ud~R?HmBn+S8SMEZFGRmQKy2V zhC)v|FZuRyVq2$Od`z^-sz3={Cq5kt#R?tuD)#V3(J0mV0X_gT8H+CYOg(aDa6MmZ zSa5N}H7|}`Vl#^w;>Q3s1kLkC3SR*ycPCJgEM28|!*sw#wwe5|RB*HQeOwzZimPt) z`@@LwmqqdGMZ-DMi(T?AL3#GtQO{Zyw}%B~5Y6yt;{g$UeA{K6iy{U!N>yrcH7c6( zX4TYF6x{_YCj4Ha!eOwAlnm;|6PN6WJeJ4p-eP-_Nn!Q^C)If&L>`(V^?I7aE6S(8 z2C}Z7StY;~bObIp55#DSk2Z1m{V^Hc_<(B~bj?~AbISeu=C6t7cne>Mga%AJ>kWyA z2BF?eaESBs%#>smaGP(l*@Yu+?zx8{PEvJqsFz4psU=;^2|3uQ#tPPo(C^6lBzjfL zIJUp@Sx~$dT%((mzaU&MOETSGOo^C;?0X`OgL|4(#?_th(syZWYS=0x+h@WF&n@+O zdh1W?0=kW3+YU#kDXJ?hP8GgA&ws+A=5kQi0PXv8{j$E1- zC_yE^(_p+-vla@TJS<$#wIMX~Y*@q;LAU)HhVljbcV~*mu}M1yhI#@MCvfdeVs*8V zga<<<5676IZM$u*t2pqqJo=USeBMsb8z4r|gV_PF<}sMx9G?LbNBmfSBD@uSW-_?H zNtpO?e`?D4VR4(4E>m}nZlWaP_gWs!J1a@sryze9sZNwA^e^WT=rA~K*sb^Quvks8 zcVq_=SM)}HSdhCxJ?G`=Zn#v@AY_fM#dDco5ZY4<&7?$8PLgC0TT+0t3VjYv8?VOU zRt%%MuJeHkCA`%P^CaA2)GcDiqvGwEbw|edH+F8C`ipkVZQyy@2LJpLCJM8o2>RLt z93E*!>&ucEZEzxvsT~H})ij2!8X#3JjU}1h3!8~W{ruLYJtsoV0fhi;!Qqez$kDC- z^&J5R=YTlA+H`{ADfkXsbZ4&5YtN8P#a-gE@!6yngbdIF6hi_cjs#}@Ag_9%_-@M_ z(`KdgDbujO9}{MtNY-@n&wnM){J!lxED1zKjxvm^!AcZ|ppTBud~?xkehbf;ez~Yl zo}6c&QURkx)&IU~8u-%f;kle?;+q=^DI^6(%?pja%$TODfwpqY+ zTcs-!-5O4L3y5@}%;s`GvhSEvoO_Waj3GM?p@ff3b(j47?k-3tMAz+a(R*Lrtv$pp z)6ORw_8y0Sh5`bo9IP?;Pl(pW?GE77W&~a9!*8-r4Y;$^ezAJT<7T31YMReC!XC1C zwN^dxZ7GzS1g99I*#P1&PyYvUY#jiQr9f;<6O5AlhwMfKt7KiXPpS6f4Bv_n8$@LK ziI}2oXpMhcO33r90FYRWA=YW0M-Pq${S`l&jCDuxk_7f*gLxdU%oaUX9yhMe_)#+Y zxTHJtxwxB=OP1`=k=Ql@N|K>PyaaNrUNlV==}3hWXO>@R@;N@_{PaU(J@1yNEdS>x z&r$Sqd}Sb+%idb~z{GF(ArToWl}}v%R#Df`Xz@H#LMpoK&H4Z&Iom-%-n!db`{1@8 z*F(}=Xt8vI>M2X>iCO8cSN*Kt>L2Ktw4aWjSWJinp|If7he_ zzYxVujC`4=d;C}7hl^5!BB7}7CBtR!=o1=}fPwigyb~7{)eJULQ`Aq@7DnxTYUL(| zKUji-xk)jYw=&YNivb0@b+tikK~CbYyGyz2x0W4669TfJ8r};hiA)O?R|<&365@RE z)7*l~%UEB^1QFAoG1rPa?!?RQfqcr#aME4fK*&gW&oSav)d@PwEnO%v8|87Hx+ zo&gx~LZfRQzg!MH$GNME%S(&kXbplR)oG*f(^Lb3 z^Lt=r(Z(5zay8Kt4Y~Q5;CY(wl9q6s&wy~E77PPwhXgn)2nep#6t1l~qvCyfwV01U zF^8xi?jW;EYm-I14K*b4ZD;KPEe^KGd`0R9c0ky0%VKx!@e!qkXwN zuPH?^=ehlK`qdQj0cLV$qHO0xQx1iL7|@IV_`0ZEw- z1^tZCqmfq%h5&X{o}X0Hv7H$itNP(Jmj^a6e7dqFN|D{WkIlDtb_(I;T^(@lRRqVg z_mcO=FIDpK{R5G^@VMSvh&w)0ZlC}2@?ZvzG%ybW#0R1?s><-|N*Xs?57X?Q)y4?( zOrFh!+N=KcPD%>X=rAO*&tu|I2$H@*ULVYk@3t_qOe&6_1ux<~Vl6=pjnJ$)FQBU`I)vMLedwi@?U zE;G)DhvCeCu_D?58`dOG9B-dNSd%Vc1mD@)B$v*3o-LMFH{v!He$uJDEIt&Xf{Vj& zHn?HfQ8%1yv9nI(=gP?sTHK%fQaH)S!H}@#nQY|Uc>?kq@dOj2DKn~h(P{rudC~N0 zKyWU9_j#+bSDhx}Ne^JQsV!^T>JALrB=33Ugk4xv#>U4SaB%^_IX9!Q{*MnV#YD&L8;eE`EnA+ZfbEcb*!|-`CL4Quvd8KbZBy5vUA;GTCj*8)`}8)DY3*^`ATYP zM{al3O7EMA%i4FR3ZUaejsdD6g^BQI0PZ|qrhCm{8fnipD%wgzR)GiZWY=L;pf?AF3>5`7J%IV9(D(cS(=Ns9{wg9;goS^jY zS&(kL4nUpnEB+8Qz>k$Ys!G2@_yYH1AS4Vo^$}@lAZFJ|m?V9ehj#MOleUxX;w_jw z_L)pSy{if`;=Y=-BhLDzbUv&~Tws0}baQx(`FZ40Y=hfZ9gJkanRDOB0;&TTzj|`u zkuT9n&Cio=iJUohdoU3**;#GwB=ZfpWQ~oEhu4+xxH#Tj#Dp(iCZ^#CtUV+d=G|u` z>-0;g@1#ywL@j-d)1vR~5(gyj3rZqECJ_rJK#~?L4sIkrkvv`$sgldnYmE{+SYBGAc$lnOOl{SRFEX00VRv%oK#R~ph-<=$>5eG!6q~a*d)oJCFdj= zB!?#FoHIyh-}1b3U)^(m+^Spe?RQVzv%6|lS68iGX|6fvnBN%RH@eW)*U=5^=P9iy zzR_b13fmZ4{q)vZj_K$_#Vz)GG>tV+56RwXg~L)r4(PV`4robTE+k1=_~i#w+j(=) zYzhbswjB?WC-Z?%)^b+sVW+0&YKu|$=kdB@S2|D{|LB2et5fVQOS(T;vK$_)A9F7MVW`%6xl)Wsv&(@c|bmbZ7BfGEo(+~$oxTu4a2_rfXf3C{R$QF@73WSzod=^`&HrLE8=<>bw`VMcu$ z)D82Bdm6FMCuo|6>n~W&so8$gh7ZiskE(T1l2dL*AgPBW3;xnhvLbsHCH*a6N;s*= zRwK1Zhc*9M9JT(UF2Y~EwU}FVez%FCpTJ-Gw4}}?r#Iu=z-VL#DT?auwo4e3RYgAI z!vVbykJ2(OPg?X5DNiA_oitWv_nK0H{_%&^U02>@k9HtYY;|eztQ9Z|)<1Y#P_S+I zM?!kw3%Hg);kU*5qf?*rv_&7ag^pIKkne@k?(!%-LGnafmkJAM!(Dg!fbMsaw;mEC1U@>DsSf{YC7d$I5e5J5# zXaSD|TAJ)6wh7-Q)ty^eLTC+i%yJH5l~6zMTEs7@3vR3VX8pRAZ$(ifl?i8?cMgl^ z{rmu^c$?A@KUuy$BKY_YM8JNn+N?i?M`?16!zJi>_)!-_JLsSbKsxA9L@&EwaI~I2 zn{xbVv!Q2rCmDGaLH+Q2{C6;g4J+}Lb*5eWY>(E#joK*%vI9ZHWi^Fx2~{@Nk-r8W z#vkX%K7~%o_fR;6c5}X%b0<0A9H$AL3nUTEG1#H__apNf*z3JE>>UCXr0P2L;+;um z_B}n;m>)%bu>usj_X@)E7upbVY(jHWuj<>a2#?TN;J2*7lXL#w_j9sCEyHF{vCFFb zNQFe1TNiQ@Wx73GRDjdL#$45JKS221V!xu!X8>Lc zK$|8c8V!CkM{ma>bZ*DhA0lvLbSCZ?Y3HQW&yF9_44Y|$E5heVmX}i!zzZod_x%O{ z#1wPdc;(WNd!2MeoOh15u(fe<7Mu8CW@)zW(KpBYF6{Vx;`f)kI3m549^-75{XJeu zv&vfL7bc=XuuR)IY4h}X*Wd9AL})7`es1UUb-lr8 z1V7Z7+U23vgQs8oQ8?0}OVYpHv#5bp!6XoYy(XRP$Ksd!)b8JDHI53y-d=ywP|nlq zC#1p@jT3=2MblgE$_M%!S+M>M+iCneYzOdKI^WM4NX{+OZHzM%F=HDX-5e5n5Kf5b zT7%e<%m~gD<`Z_rTyRY4&iEE1h)q(i%n7PImKT6JWQ% zO*Pq3SeC4m)Py9>vO2YqAVuOesFHj@6bO67h7#{!=mmL0f#9(Zo;$x>9oAt_KFm(*p7==d>?7Y=W{65jiF@D)=JpIaad z0kX<{@V<+Z+rbJUVz@gQ29q(jS666~@HqN5oycY4yrD)&7hS(0+@r$>KmTuAW+nz+PoU*izrEdg{BKm`MI6Zxeve9C-3IOy2WThjZK+|QXU5ndH< zd*iNNBal?EgaY*mk=Gf7`Hq0e%I8?mJyc{EB6&adKCyN$e@81CXUg4ON>NSUN5o{^ zh>y2I-yrBM8>x%%Hp!>@`jAxORY#5#<+j}%7JQ{~Aeyv4yl_1m1Fvzzgz&ZPERUt; z2T{sTQAE4v3MHR_0l$d;$d*fKZ}n&^rTxv;f+jkzOMC7U@lVO*FV(%`JHYR;cMk|# z8u1~sEDtT_&RquWSAyXoeI(9zT?J(6A6er^lIJvoes+_8oTFevN$9lI6x)nHB$sgG zWID`di?VD+50Kxq)v=SgJt(4<86hBO|FRlkiO+2vVdzhEpFz3{9R!2{fU(A9T7e10 z8cFSb>rFIvIuF+!Rg~H%lNy$ z&>UIpz?SAH&tLDgTzCY#Jt$i*qEcCjp58%pe@dmr?%j{FNJVGzuAwKB7W_h`V9x0l z=jM}=6a0Gf$mt)5ha?_^H#)V&n;H5!-uHoIoQE5Pyk$!oDr;D{N30J`!EsWVfDXH+ z2hd?_Ott{ho;r!Vbw=}m+@7pvk=)w2oyZC19vV=kSt?%B?z=t$sSI^sP6EW>Ce3c? z3UBZuY1Kjnp%bsox8ozb{3i zT^Nuf5poyIU~%rTvzZ7F=+PG0BX_F?rB$4 z)(kvSdgW+uO1eAU`$VgEf}13AT_&bErN(WPc^M|R>d!Z* zAgW}zWDWbEsUkB1+T@XhELI1+4QOef&L=zJ`p0T{dUm{9c5`CeL!nX?ljHa=v5zlJ zavTN|XJt1FbP?khn)oAHx{_vfUXLn=-$1U*EP7vM4<>L*9^PXCGHg1GF zjh0rj1ttEU0BYgsmSd$)R4*%Js?oY!+)UoVd|DhZ6|~wVL~qI79@ONY=65~qp6~lu z{mBgvbCSFMj}uB-ZB5Y7!!xRz1If5PwzeSd^g!pa|J*+C0dwGkw+pgeBBXK4bOZ0k zN{BeR7@C=|k8z}bQ#Ulm#9Qxnvns@Q0E0u8Q6SFdaQ+)=<>J@+=jH+%I><5AifRsaiD3v>Rb9z2XlUD{1HV%2m5Vl4m!^*o zFP&C>;+DY>qX`jIIT_UFyU%H*Ne~1OW*m_K^JHrAld;}QhA(hgyMOXMg%H(3HlCETeH&rel^YSM_V01zi&4g}(0Ob$xHaeh+C| zex1YZe)Y6INk+9;6EwrK82>Iu$5l3IVN~PVP`OAgeD`ruSu8HTeG{sc(8Ca~7Uysj+@9m3okJuC!f>fv}z*IEZOkxQbSqf zBCsn1P7tZ0$j!(cd(p;Zjw4u9JVV|rEszOI8h;u5Gcl*}P)h9D({KB`zrc*0KC&{} zM7>Tqgf-yHL&dFI2?ValIYA!4dNO9S({RKkD zW97drfNO!3IR>DdR2>5wm%eXd8!Ud_0{qk8VDSg3q3CkTX`}ZyEf~;{SMH)uKF>;ifj3z4d2E?2S zUHXJu*ms3dROUWW3RRz9Fvq{XHVFe|FQAWmc9gWG3QB%Dr<@vGh1EM|$T6R^O?T{2 zbx#n;k~OdMn2`+_Zs?Dlujs5^pfoliZcs&j(UD%kA020_^m!N z9nv1jlQ@_^!7}7}n~Qa2@humA)Ci4o81LWGSr--l{B^{Q_53m^-LIbuyCc?WKs9YP z1);sfGYuS)*^}o}I9;uez=P?a3y$sin4|XFMalJmwG0JchkOkLq<7pQc)yd%-2+7^3A02LY zTBSd`A#+k{sAR5))Eh1k5U8kNSTcP8Hb2JkQyt|m7oREYA$S_BME^!+F~18v(ZS#P z?D?>KvsC%>Qk3sHv!}lKN4^+%(Vxb`~nRF$xy13 zsGF;ma4SvAHFcKeH>1!%{{jAo3GB7E}U$+y(*~#Xk`6a61u=&VD7Yy6WZ(X_GH#Sbi{If4ZtZI#-ei@vjQk> z7)`9a$nmV_FOV^)=6)%5_E0M7xS!WA>6_2=aj#YdFvv_EWyy3m_CjDl_0?+D;|(AS zL<08occC4d`Wn5Md(kETnOn$O{y;m5aEcQ z^zp3b9>MuiOsv4Esf2Jp!!S5MKP_>lGgZ;q^Sj?KM$QtCDa=I59`?IExjqT-fL@G# zdAu{oPo7!BdgWdnMKV3t{JI~Sne?6)38|aUj2foK8G;zsH>3|K(ZjQ&_FA}G$h`rt zc}k@mGk8$nu9^5GJAo0sa$yyPbFzVkEDh%fdz5xqXZ~j^`T2muB~)XanwJX_S<=t; z8d0=JS7>SO*SYcvXm=o5QL48`>DPJd5?jp(iaVhER-Vamar#iHMMcJHT%qI&POZ|%C+OXOAlF~Gv@t?8`TR-)!!*vy) z)~*S++nmx2$)*o3ZaL&Lsx6T|u+r>Vsct?2Aua~+_ZCgyU$va=-r@5(m2}Zkk1c-c zzV%6NnbK&MGr~f?o&*P%y=97NxQt*XZ9>fNfnOZRJjS7YTBu5bM(t_hn2$79ad1~a z=yxby@=;TMj9;!_T9Jh!B7Of^Q7{>mJbCs#f5HAmaaxbCvB}l#cBdU&2VC@q=a-7? z+tQ^>XtMB!-9Bw{3n5g@WW%qQykGSLQzo5W#X*@2U-x0aQn|4qnn(WOmTb z@T|#8k%gr!bK}lLHs0u+FGt?_Xf(B3uuPJyrq%Qq635Wfp*6EJ6WD5}8SW8e3fQ*h_iI0jMV?fv(I+Nik`x4I?8zqoLRoD}f;bmlrc*^krpJj;}bbc=qu5D;4d@%Cvq!YV2KOqd6S0$s!or!1ZdF)bbj|80#bfO!A64f3D$-FrY9I`TL-RpX>; zj#d0;Fvk^7<%i>++dFHC=dTYJdSsOEGgq@lKnG=+miKKL-OJrPtZfArtBF4`J$O#; z8MZmB+t4^%lpR3Hp1{gwdYf^XN@dq4IMa<G>eeb_O<1 z(kewkVQSS8VhVr~_~9~XHIsfDHBM;J28PPCIS10FundZb7*aR}qu2BtUXh_8<7g4}oVv_ps-f*j<7n}yE{Ltv;WFg`(0OS7z^Hc$3DF=CSp1ydH z(N^0;X~7YLm_pmew9&?xuMe9{-TP@2kH_Zv((9U6KMd60Smss8Xrd|Kc>rB2&P%+} zcGyAsW#xSlO8X-R7KNVy-KgNO_bte?8lSe&g421E zvIw5%1!S;*aJRw>ZcqVnf}6Sw*6!oo)1G(lY?$|T0TxZeb`Dq-`;;7bW~;5GPgYZIW!W#q^nNapbfv%QSTfPo1U)gh>+D#dQY5mBBz7u}X4C&H zpStagD#r}U(mR{mWhqcWoO!5lUI`_Wo0rw>COM1r)}JPCRysN1xjJuL{Q^Ci0!}$0 z=(e%=NGXex3K1oei7!}11912)&xglwo0mCjzwNe{ai?BNw;^a{@f5i!Ba&Fu6@XZ=)XYBRBHSgAr{ zSwDQ4xygEX%jB^pfl|o!TCEyuY1R=Jg>GClbob9Y!*F7ykj zar&+^%xc3Y%VXUOTI{A7a6p~`Tl(G)-be=}?@y;G9vS*8OEA4W01k;`TG5y>V`kfV znsLoC&oiCu57H+DXSx9=d)sJrmiQcD5;b>^z2U>N2@O}{6v$8iWbLweXs3cOp%yN&eVxK5AQ6#i)Uz8*~#W${A0ravL z`p$9Dv7#Bb*YWY|`;z|LLPCD3vp^Sa!4wE2?qW2Dzt^`i5C}O}0V9%8-bL_fLt%C= z`8cvy^^hcOqW?@u7I1puP9^ix3{&$Xs1p{L;HcDll{_D=2NgN-0jpO=5{Bd>>s^jtS z7Uhd)cI#kOG|bvB%N8~ZK@_%%G4oHMRk`bM~ zhO^4;85>{64bMzi7`B(HK$BZL?gShcc5~w;i~xnUAOCzUYG;$s*Z){p88$2h;(cLq zziNNIgpDt2Mu)Hz1TM7IlBG{1Ia?GjK-)9krS|gPna{Tj(0f%e;wq7;M*OC(*nKv? z(N0lAtJk$mlRz=q&1m-rCJ#Aw>GTb+DrQsNZcqXAYO8_{`pzx~(rms+k{b~z_TcOn zNZPg`?HZkLs7_Qu8(PW9@bqzTNu$5`K3pU%&b<@4Ss+k6yRI8#2M!B z5g$3JUH~*X)kENd8G-jn$niw*SmgZzJ<^Zls}M=Yy^~j)L?Rx>?{$*#hchc9MYWl_ zlCd7T(SQRB?Wmg%GiiZ-;Kc-ZRGIUp?6E|?v0{qrWOxlSyV!x* zU5P3=1T$304OpHE_1TEbXfHl%)!80*k!V_tQ7lEx>5RVpEZQLzHkkarisZt_?sXWb z{Q$5JLX3a3IZN2pS6n9H?$dbOz)^i%*qZ4n=yyD$g!*h zIUO8t6oaAK1$wG9R=ME$}eNrzkcr?2H^wGS6qc zgAKHJfn)jc6>{1+RddYKf3-hPCp@IhGQUSv*fFt~C`@eq%hMw((&di&J z8%_n7Hy)4tYTnOXU3iYIz-qK8&(Zou@Ms0a=VzJ{*jP}{j)Csb&gXJs_zOi2B)jVF z@hbxnGh-8VvOD7llBiOircYudL-4jm3-aku<)7c^wh%^G4gl1v_G8BZObHsOtRHa{ zq)e?)K3?=2Q}(sC(3HIOW;NGCCXEXjMXka4^sJ=YS5GEcf6<=+)Kuj6J;CTi&-rq} zWvbyzV<9k4>NJ!#1Wg%+QIsYtNpbG*ufxvuCia%2%qvRto>CXnalTIuKhBd8W}7f( zN34l-zwlvLq;Mm_E!A*s?qjvRV$k=uzg zwPWP5KJs|h&`kPE4~YbE6?o(~yp6CD+zd4!X1mC zM+C9~DGl6;{?B9S|5ififA}|^?4P{I`m+{q|F4cK{MYpL57QUO=FjGR z{>hI|VDm5DBmQI0BE|g|*S-9IV?_VSd&a*p!Z@jb9E$p1cw_iiLXUsl>wl|43h&oM bmFgK71boa!8lG2ZN60Y Date: Tue, 21 May 2024 18:30:59 +0800 Subject: [PATCH 09/14] Update README_zh.md --- data/README_zh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/README_zh.md b/data/README_zh.md index d8a2419eb0..aff6fdb192 100644 --- a/data/README_zh.md +++ b/data/README_zh.md @@ -7,7 +7,7 @@ "hf_hub_url": "Hugging Face 的数据集仓库地址(若指定,则忽略 script_url 和 file_name)", "ms_hub_url": "ModelScope 的数据集仓库地址(若指定,则忽略 script_url 和 file_name)", "script_url": "包含数据加载脚本的本地文件夹名称(若指定,则忽略 file_name)", - "file_name": "该目录下数据集文件的名称(若上述参数未指定,则此项必需)", + "file_name": "该目录下数据集文件夹或文件的名称(若上述参数未指定,则此项必需)", "formatting": "数据集格式(可选,默认:alpaca,可以为 alpaca 或 sharegpt)", "ranking": "是否为偏好数据集(可选,默认:False)", "subset": "数据集子集的名称(可选,默认:None)", From 7134fb02bbdc9421f6c314ae176d5786a8cd768d Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 21 May 2024 20:03:09 +0800 Subject: [PATCH 10/14] fix paligemma sft --- src/llamafactory/data/preprocess.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/data/preprocess.py b/src/llamafactory/data/preprocess.py index 4bc5ad3c9b..7bf9d4bc6b 100644 --- a/src/llamafactory/data/preprocess.py +++ b/src/llamafactory/data/preprocess.py @@ -89,7 +89,7 @@ def preprocess_supervised_dataset( if processor is not None and hasattr(processor, "image_seq_length"): # paligemma case image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) input_ids += [image_token_id] * getattr(processor, "image_seq_length") - labels += [image_token_id] * getattr(processor, "image_seq_length") + labels += [IGNORE_INDEX] * getattr(processor, "image_seq_length") for turn_idx, (source_ids, target_ids) in enumerate( template.encode_multiturn( From 2f68a71fc005f40041a85740513f77512e386669 Mon Sep 17 00:00:00 2001 From: donggang <921904261@qq.com> Date: Thu, 23 May 2024 09:48:22 +0000 Subject: [PATCH 11/14] adapted to 910B image --- README.md | 2 +- README_zh.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ecb87e2fcb..fcc968828c 100644 --- a/README.md +++ b/README.md @@ -359,7 +359,7 @@ To utilize Ascend NPU devices for (distributed) training and inference, you need Docker image: - 32GB: [Download page](http://mirrors.cn-central-221.ovaijisuan.com/detail/130.html) -- 64GB: Coming soon +- 64GB: [Download page](http://mirrors.cn-central-221.ovaijisuan.com/detail/131.html) Remember to use `ASCEND_RT_VISIBLE_DEVICES` instead of `CUDA_VISIBLE_DEVICES` to specify the device to use. diff --git a/README_zh.md b/README_zh.md index 3ef92697d9..2e0b4f347a 100644 --- a/README_zh.md +++ b/README_zh.md @@ -359,7 +359,7 @@ pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/downl Docker 镜像: - 32GB:[下载地址](http://mirrors.cn-central-221.ovaijisuan.com/detail/130.html) -- 64GB:敬请期待 +- 64GB:[下载地址](http://mirrors.cn-central-221.ovaijisuan.com/detail/131.html) 请记得使用 `ASCEND_RT_VISIBLE_DEVICES` 而非 `CUDA_VISIBLE_DEVICES` 来指定您使用的设备。 From 67ebc7b388c61b9d880c02d7fd217c29299fdf43 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 23 May 2024 23:32:45 +0800 Subject: [PATCH 12/14] fix oom issues in export --- src/llamafactory/hparams/model_args.py | 2 +- src/llamafactory/hparams/parser.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/llamafactory/hparams/model_args.py b/src/llamafactory/hparams/model_args.py index 5885bb09dc..650d1c2272 100644 --- a/src/llamafactory/hparams/model_args.py +++ b/src/llamafactory/hparams/model_args.py @@ -145,7 +145,7 @@ class ModelArguments: default=1, metadata={"help": "The file shard size (in GB) of the exported model."}, ) - export_device: str = field( + export_device: Literal["cpu", "cuda"] = field( default="cpu", metadata={"help": "The device used in model export, use cuda to avoid addmm errors."}, ) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index 20f9a0030b..6311297e21 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -328,8 +328,8 @@ def get_infer_args(args: Optional[Dict[str, Any]] = None) -> _INFER_CLS: _verify_model_args(model_args, finetuning_args) _check_extra_dependencies(model_args, finetuning_args) - if model_args.export_dir is not None: - model_args.device_map = {"": torch.device(model_args.export_device)} + if model_args.export_dir is not None and model_args.export_device == "cpu": + model_args.device_map = {"": torch.device("cpu")} else: model_args.device_map = "auto" From de0e67aff13f191fd899ad717ec349a6bdb14f2a Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Fri, 24 May 2024 00:23:40 +0800 Subject: [PATCH 13/14] fix paligemma sft requires transformers>=4.41.1 --- src/llamafactory/data/preprocess.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/llamafactory/data/preprocess.py b/src/llamafactory/data/preprocess.py index 7bf9d4bc6b..4123645fb1 100644 --- a/src/llamafactory/data/preprocess.py +++ b/src/llamafactory/data/preprocess.py @@ -74,19 +74,21 @@ def preprocess_supervised_dataset( if processor is not None: model_inputs["pixel_values"] = [] preprocess_visual_inputs = partial(_preprocess_visual_inputs, processor=processor) + if hasattr(processor, "image_seq_length"): # paligemma models + model_inputs["token_type_ids"] = [] for i in range(len(examples["prompt"])): if len(examples["prompt"][i]) % 2 != 1 or len(examples["response"][i]) != 1: logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) continue - if processor is not None and not hasattr(processor, "image_seq_length"): # llava case + if processor is not None and not hasattr(processor, "image_seq_length"): # llava models examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] messages = examples["prompt"][i] + examples["response"][i] input_ids, labels = [], [] - if processor is not None and hasattr(processor, "image_seq_length"): # paligemma case + if processor is not None and hasattr(processor, "image_seq_length"): # paligemma models image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) input_ids += [image_token_id] * getattr(processor, "image_seq_length") labels += [IGNORE_INDEX] * getattr(processor, "image_seq_length") @@ -120,6 +122,10 @@ def preprocess_supervised_dataset( model_inputs["labels"].append(labels) if processor is not None: model_inputs["pixel_values"].append(preprocess_visual_inputs(examples["images"][i])) + if hasattr(processor, "image_seq_length"): # paligemma models + token_type_ids = [0] * getattr(processor, "image_seq_length") + token_type_ids += [1] * (len(input_ids) - getattr(processor, "image_seq_length")) + model_inputs["token_type_ids"].append(token_type_ids) return model_inputs @@ -183,13 +189,15 @@ def preprocess_unsupervised_dataset( if processor is not None: model_inputs["pixel_values"] = [] preprocess_visual_inputs = partial(_preprocess_visual_inputs, processor=processor) + if hasattr(processor, "image_seq_length"): # paligemma models + model_inputs["token_type_ids"] = [] for i in range(len(examples["prompt"])): if len(examples["prompt"][i]) % 2 != 1: logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) continue - if processor is not None and not hasattr(processor, "image_seq_length"): # llava case + if processor is not None and not hasattr(processor, "image_seq_length"): # llava models examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] if len(examples["response"][i]) == 1: @@ -209,7 +217,7 @@ def preprocess_unsupervised_dataset( if template.efficient_eos: labels += [tokenizer.eos_token_id] - if processor is not None and hasattr(processor, "image_seq_length"): # paligemma case + if processor is not None and hasattr(processor, "image_seq_length"): # paligemma models image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) input_ids = [image_token_id] * getattr(processor, "image_seq_length") + input_ids From 3a023bca2a502810a436cfba7708df164754ea62 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Fri, 24 May 2024 04:08:25 +0800 Subject: [PATCH 14/14] refactor data preprocessing, fix mllm rlhf --- src/llamafactory/chat/hf_engine.py | 4 +- src/llamafactory/chat/vllm_engine.py | 2 +- src/llamafactory/data/collator.py | 80 ++-- src/llamafactory/data/loader.py | 8 +- src/llamafactory/data/preprocess.py | 403 +----------------- src/llamafactory/data/processors/__init__.py | 0 src/llamafactory/data/processors/feedback.py | 110 +++++ src/llamafactory/data/processors/mm_utils.py | 27 ++ src/llamafactory/data/processors/pairwise.py | 109 +++++ src/llamafactory/data/processors/pretrain.py | 36 ++ .../data/processors/supervised.py | 137 ++++++ .../data/processors/unsupervised.py | 76 ++++ src/llamafactory/train/dpo/trainer.py | 12 +- src/llamafactory/train/kto/trainer.py | 30 +- src/llamafactory/train/orpo/trainer.py | 4 +- 15 files changed, 573 insertions(+), 465 deletions(-) create mode 100644 src/llamafactory/data/processors/__init__.py create mode 100644 src/llamafactory/data/processors/feedback.py create mode 100644 src/llamafactory/data/processors/mm_utils.py create mode 100644 src/llamafactory/data/processors/pairwise.py create mode 100644 src/llamafactory/data/processors/pretrain.py create mode 100644 src/llamafactory/data/processors/supervised.py create mode 100644 src/llamafactory/data/processors/unsupervised.py diff --git a/src/llamafactory/chat/hf_engine.py b/src/llamafactory/chat/hf_engine.py index f59029a153..5f0d02a755 100644 --- a/src/llamafactory/chat/hf_engine.py +++ b/src/llamafactory/chat/hf_engine.py @@ -61,7 +61,7 @@ def _process_args( and image is not None and not hasattr(processor, "image_seq_length") and IMAGE_TOKEN not in messages[0]["content"] - ): # llava case + ): # llava-like models messages[0]["content"] = IMAGE_TOKEN + messages[0]["content"] paired_messages = messages + [{"role": "assistant", "content": ""}] @@ -74,7 +74,7 @@ def _process_args( image_processor: "BaseImageProcessor" = getattr(processor, "image_processor") batch_feature = image_processor(image, return_tensors="pt") pixel_values = batch_feature.to(model.device)["pixel_values"] # shape (B, C, H, W) - if hasattr(processor, "image_seq_length"): # paligemma case + if hasattr(processor, "image_seq_length"): # paligemma models image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) prompt_ids = [image_token_id] * getattr(processor, "image_seq_length") + prompt_ids diff --git a/src/llamafactory/chat/vllm_engine.py b/src/llamafactory/chat/vllm_engine.py index 31d03fbeb8..e424481fbb 100644 --- a/src/llamafactory/chat/vllm_engine.py +++ b/src/llamafactory/chat/vllm_engine.py @@ -98,7 +98,7 @@ async def _generate( and image is not None and not hasattr(self.processor, "image_seq_length") and IMAGE_TOKEN not in messages[0]["content"] - ): # llava case + ): # llava-like models messages[0]["content"] = IMAGE_TOKEN * self.image_feature_size + messages[0]["content"] paired_messages = messages + [{"role": "assistant", "content": ""}] diff --git a/src/llamafactory/data/collator.py b/src/llamafactory/data/collator.py index 474d6a30a9..1dc8dd8d38 100644 --- a/src/llamafactory/data/collator.py +++ b/src/llamafactory/data/collator.py @@ -1,5 +1,5 @@ from dataclasses import dataclass -from typing import Any, Dict, List, Sequence, Tuple +from typing import Any, Dict, Sequence import torch from transformers import DataCollatorForSeq2Seq @@ -11,21 +11,6 @@ class PairwiseDataCollatorWithPadding(DataCollatorForSeq2Seq): Data collator for pairwise data. """ - def _pad_labels(self, batch: torch.Tensor, positions: List[Tuple[int, int]]) -> torch.Tensor: - r""" - Masks out the input ids except for the responses. - """ - padded_labels = [] - for feature, (prompt_len, answer_len) in zip(batch, positions): - if self.tokenizer.padding_side == "left": - start, end = feature.size(0) - answer_len, feature.size(0) - else: - start, end = prompt_len, prompt_len + answer_len - padded_tensor = self.label_pad_token_id * torch.ones_like(feature) - padded_tensor[start:end] = feature[start:end] - padded_labels.append(padded_tensor) - return torch.stack(padded_labels, dim=0).contiguous() # in contiguous memory - def __call__(self, features: Sequence[Dict[str, Any]]) -> Dict[str, torch.Tensor]: r""" Pads batched data to the longest sequence in the batch. @@ -34,21 +19,22 @@ def __call__(self, features: Sequence[Dict[str, Any]]) -> Dict[str, torch.Tensor the last n examples represent rejected examples. """ concatenated_features = [] - label_positions = [] - for key in ("chosen_ids", "rejected_ids"): + for key in ("chosen", "rejected"): for feature in features: - prompt_len, answer_len = len(feature["prompt_ids"]), len(feature[key]) - concatenated_features.append( - { - "input_ids": feature["prompt_ids"] + feature[key], - "attention_mask": [1] * (prompt_len + answer_len), - } - ) - label_positions.append((prompt_len, answer_len)) + target_feature = { + "input_ids": feature["{}_input_ids".format(key)], + "attention_mask": feature["{}_attention_mask".format(key)], + "labels": feature["{}_labels".format(key)], + } + if "pixel_values" in feature: + target_feature["pixel_values"] = feature["pixel_values"] - batch = super().__call__(concatenated_features) - batch["labels"] = self._pad_labels(batch["input_ids"], label_positions) - return batch + if "{}_token_type_ids".format(key) in feature: + target_feature["token_type_ids"] = feature["{}_token_type_ids".format(key)] + + concatenated_features.append(target_feature) + + return super().__call__(concatenated_features) @dataclass @@ -62,20 +48,25 @@ def __call__(self, features: Sequence[Dict[str, Any]]) -> Dict[str, torch.Tensor kl_features = [] kto_tags = [] for feature in features: - target_features.append( - { - "input_ids": feature["input_ids"], - "attention_mask": feature["attention_mask"], - "labels": feature["labels"], - } - ) - kl_features.append( - { - "input_ids": feature["kl_input_ids"], - "attention_mask": feature["kl_attention_mask"], - "labels": feature["kl_labels"], - } - ) + target_feature = { + "input_ids": feature["input_ids"], + "attention_mask": feature["attention_mask"], + "labels": feature["labels"], + } + kl_feature = { + "input_ids": feature["kl_input_ids"], + "attention_mask": feature["kl_attention_mask"], + "labels": feature["kl_labels"], + } + if "pixel_values" in feature: + target_feature["pixel_values"] = feature["pixel_values"] + + if "token_type_ids" in feature: + target_feature["token_type_ids"] = feature["token_type_ids"] + kl_feature["token_type_ids"] = feature["kl_token_type_ids"] + + target_features.append(target_feature) + kl_features.append(kl_feature) kto_tags.append(feature["kto_tags"]) batch = super().__call__(target_features) @@ -83,5 +74,8 @@ def __call__(self, features: Sequence[Dict[str, Any]]) -> Dict[str, torch.Tensor batch["kl_input_ids"] = kl_batch["input_ids"] batch["kl_attention_mask"] = kl_batch["attention_mask"] batch["kl_labels"] = kl_batch["labels"] + if "token_type_ids" in batch: + batch["kl_token_type_ids"] = kl_batch["token_type_ids"] + batch["kto_tags"] = torch.tensor(kto_tags) return batch diff --git a/src/llamafactory/data/loader.py b/src/llamafactory/data/loader.py index bed694a247..48d28f1d6f 100644 --- a/src/llamafactory/data/loader.py +++ b/src/llamafactory/data/loader.py @@ -1,5 +1,6 @@ import inspect import os +import sys from typing import TYPE_CHECKING, Literal, Optional, Union from datasets import load_dataset, load_from_disk @@ -167,12 +168,15 @@ def get_dataset( logger.info("Tokenized dataset saved at {}.".format(data_args.tokenized_path)) logger.info("Please restart the training with `--tokenized_path {}`.".format(data_args.tokenized_path)) - exit(0) + sys.exit(0) if training_args.should_log: try: print_function(next(iter(dataset))) except StopIteration: - raise RuntimeError("Cannot find valid samples, check `data/README.md` for the data format.") + if stage == "pt": + raise RuntimeError("Cannot find sufficient samples, consider increasing dataset size.") + else: + raise RuntimeError("Cannot find valid samples, check `data/README.md` for the data format.") return dataset diff --git a/src/llamafactory/data/preprocess.py b/src/llamafactory/data/preprocess.py index 4123645fb1..336257cad9 100644 --- a/src/llamafactory/data/preprocess.py +++ b/src/llamafactory/data/preprocess.py @@ -1,406 +1,25 @@ from functools import partial -from itertools import chain -from typing import TYPE_CHECKING, Any, Callable, Dict, List, Literal, Optional, Sequence, Tuple +from typing import TYPE_CHECKING, Callable, Literal, Optional, Tuple -from ..extras.constants import IGNORE_INDEX, IMAGE_TOKEN -from ..extras.logging import get_logger -from ..extras.packages import is_pillow_available -from .utils import Role - - -if is_pillow_available(): - from PIL import Image +from .processors.feedback import preprocess_feedback_dataset +from .processors.pairwise import preprocess_pairwise_dataset, print_pairwise_dataset_example +from .processors.pretrain import preprocess_pretrain_dataset +from .processors.supervised import ( + preprocess_packed_supervised_dataset, + preprocess_supervised_dataset, + print_supervised_dataset_example, +) +from .processors.unsupervised import preprocess_unsupervised_dataset, print_unsupervised_dataset_example if TYPE_CHECKING: - from numpy.typing import NDArray - from PIL.Image import Image as ImageObject from transformers import ProcessorMixin, Seq2SeqTrainingArguments - from transformers.image_processing_utils import BaseImageProcessor from transformers.tokenization_utils import PreTrainedTokenizer from ..hparams import DataArguments from .template import Template -logger = get_logger(__name__) - - -def _preprocess_visual_inputs(images: Sequence["ImageObject"], processor: "ProcessorMixin") -> "NDArray": - # process visual inputs (currently only supports a single image) - image_processor: "BaseImageProcessor" = getattr(processor, "image_processor") - image = images[0] if len(images) != 0 else Image.new("RGB", (100, 100), (255, 255, 255)) - return image_processor(image, return_tensors="pt")["pixel_values"][0] - - -def preprocess_pretrain_dataset( - examples: Dict[str, List[Any]], tokenizer: "PreTrainedTokenizer", data_args: "DataArguments" -) -> Dict[str, List[List[int]]]: - # build grouped texts with format `X1 X2 X3 ...` if packing is enabled - text_examples = [messages[0]["content"] + tokenizer.eos_token for messages in examples["prompt"]] - - if not data_args.packing: - if data_args.template == "gemma": - text_examples = [tokenizer.bos_token + example for example in text_examples] - - result = tokenizer(text_examples, add_special_tokens=False, max_length=data_args.cutoff_len) - else: - tokenized_examples = tokenizer(text_examples, add_special_tokens=False) - concatenated_examples = {k: list(chain(*tokenized_examples[k])) for k in tokenized_examples.keys()} - total_length = len(concatenated_examples[list(concatenated_examples.keys())[0]]) - block_size = data_args.cutoff_len - total_length = (total_length // block_size) * block_size - result = { - k: [t[i : i + block_size] for i in range(0, total_length, block_size)] - for k, t in concatenated_examples.items() - } - if data_args.template == "gemma": - for i in range(len(result["input_ids"])): - result["input_ids"][i][0] = tokenizer.bos_token_id - - return result - - -def preprocess_supervised_dataset( - examples: Dict[str, List[Any]], - template: "Template", - tokenizer: "PreTrainedTokenizer", - processor: Optional["ProcessorMixin"], - data_args: "DataArguments", -) -> Dict[str, List[List[int]]]: - # build inputs with format ` X Y ` and labels with format ` ... Y ` - # for multiturn examples, we only mask the prompt part in each prompt-response pair. - model_inputs = {"input_ids": [], "attention_mask": [], "labels": []} - if processor is not None: - model_inputs["pixel_values"] = [] - preprocess_visual_inputs = partial(_preprocess_visual_inputs, processor=processor) - if hasattr(processor, "image_seq_length"): # paligemma models - model_inputs["token_type_ids"] = [] - - for i in range(len(examples["prompt"])): - if len(examples["prompt"][i]) % 2 != 1 or len(examples["response"][i]) != 1: - logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) - continue - - if processor is not None and not hasattr(processor, "image_seq_length"): # llava models - examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] - - messages = examples["prompt"][i] + examples["response"][i] - input_ids, labels = [], [] - - if processor is not None and hasattr(processor, "image_seq_length"): # paligemma models - image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) - input_ids += [image_token_id] * getattr(processor, "image_seq_length") - labels += [IGNORE_INDEX] * getattr(processor, "image_seq_length") - - for turn_idx, (source_ids, target_ids) in enumerate( - template.encode_multiturn( - tokenizer, - messages, - examples["system"][i], - examples["tools"][i], - data_args.cutoff_len, - data_args.reserved_label_len, - ) - ): - if data_args.train_on_prompt: - source_mask = source_ids - elif turn_idx != 0 and template.efficient_eos: - source_mask = [tokenizer.eos_token_id] + [IGNORE_INDEX] * (len(source_ids) - 1) - else: - source_mask = [IGNORE_INDEX] * len(source_ids) - - input_ids += source_ids + target_ids - labels += source_mask + target_ids - - if template.efficient_eos: - input_ids += [tokenizer.eos_token_id] - labels += [tokenizer.eos_token_id] - - model_inputs["input_ids"].append(input_ids) - model_inputs["attention_mask"].append([1] * len(input_ids)) - model_inputs["labels"].append(labels) - if processor is not None: - model_inputs["pixel_values"].append(preprocess_visual_inputs(examples["images"][i])) - if hasattr(processor, "image_seq_length"): # paligemma models - token_type_ids = [0] * getattr(processor, "image_seq_length") - token_type_ids += [1] * (len(input_ids) - getattr(processor, "image_seq_length")) - model_inputs["token_type_ids"].append(token_type_ids) - - return model_inputs - - -def preprocess_packed_supervised_dataset( - examples: Dict[str, List[Any]], - template: "Template", - tokenizer: "PreTrainedTokenizer", - data_args: "DataArguments", -) -> Dict[str, List[List[int]]]: - # build inputs with format ` X1 Y1 X2 Y2 ` - # and labels with format ` ... Y1 ... Y2 ` - model_inputs = {"input_ids": [], "attention_mask": [], "labels": []} - input_ids, labels = [], [] - for i in range(len(examples["prompt"])): - if len(examples["prompt"][i]) % 2 != 1 or len(examples["response"][i]) != 1: - logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) - continue - - messages = examples["prompt"][i] + examples["response"][i] - for source_ids, target_ids in template.encode_multiturn( - tokenizer, messages, examples["system"][i], examples["tools"][i] - ): - if data_args.train_on_prompt: - source_mask = source_ids - elif len(input_ids) != 0 and template.efficient_eos: - source_mask = [tokenizer.eos_token_id] + [IGNORE_INDEX] * (len(source_ids) - 1) - else: - source_mask = [IGNORE_INDEX] * len(source_ids) - - input_ids += source_ids + target_ids - labels += source_mask + target_ids - - if template.efficient_eos: - input_ids += [tokenizer.eos_token_id] - labels += [tokenizer.eos_token_id] - - total_length = len(input_ids) - block_size = data_args.cutoff_len - # we drop the small remainder, and if the total_length < block_size, we exclude this batch - total_length = (total_length // block_size) * block_size - # split by chunks of cutoff_len - for i in range(0, total_length, block_size): - if not all(label == IGNORE_INDEX for label in labels[i : i + block_size]): - model_inputs["input_ids"].append(input_ids[i : i + block_size]) - model_inputs["attention_mask"].append([1] * block_size) - model_inputs["labels"].append(labels[i : i + block_size]) - - return model_inputs - - -def preprocess_unsupervised_dataset( - examples: Dict[str, List[Any]], - template: "Template", - tokenizer: "PreTrainedTokenizer", - processor: Optional["ProcessorMixin"], - data_args: "DataArguments", -) -> Dict[str, List[List[int]]]: - # build inputs with format ` X` and labels with format `Y ` - model_inputs = {"input_ids": [], "attention_mask": [], "labels": []} - if processor is not None: - model_inputs["pixel_values"] = [] - preprocess_visual_inputs = partial(_preprocess_visual_inputs, processor=processor) - if hasattr(processor, "image_seq_length"): # paligemma models - model_inputs["token_type_ids"] = [] - - for i in range(len(examples["prompt"])): - if len(examples["prompt"][i]) % 2 != 1: - logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) - continue - - if processor is not None and not hasattr(processor, "image_seq_length"): # llava models - examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] - - if len(examples["response"][i]) == 1: - messages = examples["prompt"][i] + examples["response"][i] - else: - messages = examples["prompt"][i] + [{"role": Role.ASSISTANT.value, "content": ""}] - - input_ids, labels = template.encode_oneturn( - tokenizer, - messages, - examples["system"][i], - examples["tools"][i], - data_args.cutoff_len, - data_args.reserved_label_len, - ) - - if template.efficient_eos: - labels += [tokenizer.eos_token_id] - - if processor is not None and hasattr(processor, "image_seq_length"): # paligemma models - image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) - input_ids = [image_token_id] * getattr(processor, "image_seq_length") + input_ids - - model_inputs["input_ids"].append(input_ids) - model_inputs["attention_mask"].append([1] * len(input_ids)) - model_inputs["labels"].append(labels) - if processor is not None: - model_inputs["pixel_values"].append(preprocess_visual_inputs(examples["images"][i])) - - return model_inputs - - -def preprocess_pairwise_dataset( - examples: Dict[str, List[Any]], - template: "Template", - tokenizer: "PreTrainedTokenizer", - processor: Optional["ProcessorMixin"], - data_args: "DataArguments", -) -> Dict[str, List[List[int]]]: - # build input pairs with format ` X`, `Y1 ` and `Y2 ` - model_inputs = {"prompt_ids": [], "chosen_ids": [], "rejected_ids": []} - if processor is not None: - model_inputs["pixel_values"] = [] - preprocess_visual_inputs = partial(_preprocess_visual_inputs, processor=processor) - - for i in range(len(examples["prompt"])): - if len(examples["prompt"][i]) % 2 != 1 or len(examples["response"][i]) < 2: - logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) - continue - - if processor is not None and not hasattr(processor, "image_seq_length"): # llava case - examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] - - chosen_messages = examples["prompt"][i] + [examples["response"][i][0]] - rejected_messages = examples["prompt"][i] + [examples["response"][i][1]] - prompt_ids, chosen_ids = template.encode_oneturn( - tokenizer, - chosen_messages, - examples["system"][i], - examples["tools"][i], - data_args.cutoff_len, - data_args.reserved_label_len, - ) - _, rejected_ids = template.encode_oneturn( - tokenizer, - rejected_messages, - examples["system"][i], - examples["tools"][i], - data_args.cutoff_len, - data_args.reserved_label_len, - ) - - if template.efficient_eos: - chosen_ids += [tokenizer.eos_token_id] - rejected_ids += [tokenizer.eos_token_id] - - if processor is not None and hasattr(processor, "image_seq_length"): # paligemma case - image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) - prompt_ids = [image_token_id] * getattr(processor, "image_seq_length") + prompt_ids - - model_inputs["prompt_ids"].append(prompt_ids) - model_inputs["chosen_ids"].append(chosen_ids) - model_inputs["rejected_ids"].append(rejected_ids) - if processor is not None: - model_inputs["pixel_values"].append(preprocess_visual_inputs(examples["images"][i])) - - return model_inputs - - -def preprocess_kto_dataset( - examples: Dict[str, List[Any]], - template: "Template", - tokenizer: "PreTrainedTokenizer", - processor: Optional["ProcessorMixin"], - data_args: "DataArguments", -) -> Dict[str, List[List[int]]]: - # create unrelated input-output pairs for estimating the KL term by flipping the matched pairs - kl_response = examples["response"][::-1] - model_inputs = { - "input_ids": [], - "attention_mask": [], - "labels": [], - "kl_input_ids": [], - "kl_attention_mask": [], - "kl_labels": [], - "kto_tags": [], - } - if processor is not None: - model_inputs["pixel_values"] = [] - preprocess_visual_inputs = partial(_preprocess_visual_inputs, processor=processor) - - for i in range(len(examples["prompt"])): - if len(examples["prompt"][i]) % 2 != 1 or len(examples["response"][i]) < 2: - logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) - continue - - if processor is not None and not hasattr(processor, "image_seq_length"): # llava case - examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] - - if examples["response"][i][0]["content"]: # desired example - kto_tag = True - messages = examples["prompt"][i] + [examples["response"][i][0]] - else: # undesired example - kto_tag = False - messages = examples["prompt"][i] + [examples["response"][i][1]] - - if kl_response[i][0]["content"]: - kl_messages = examples["prompt"][i] + [kl_response[i][0]] - else: - kl_messages = examples["prompt"][i] + [kl_response[i][1]] - - prompt_ids, response_ids = template.encode_oneturn( - tokenizer, - messages, - examples["system"][i], - examples["tools"][i], - data_args.cutoff_len, - data_args.reserved_label_len, - ) - _, kl_response_ids = template.encode_oneturn( - tokenizer, - kl_messages, - examples["system"][i], - examples["tools"][i], - data_args.cutoff_len, - data_args.reserved_label_len, - ) - - if template.efficient_eos: - response_ids += [tokenizer.eos_token_id] - kl_response_ids += [tokenizer.eos_token_id] - - if processor is not None and hasattr(processor, "image_seq_length"): # paligemma case - image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) - prompt_ids = [image_token_id] * getattr(processor, "image_seq_length") + prompt_ids - - input_ids = prompt_ids + response_ids - labels = [IGNORE_INDEX] * len(prompt_ids) + response_ids - kl_input_ids = prompt_ids + kl_response_ids - kl_labels = [IGNORE_INDEX] * len(prompt_ids) + kl_response_ids - model_inputs["input_ids"].append(input_ids) - model_inputs["attention_mask"].append([1] * len(input_ids)) - model_inputs["labels"].append(labels) - model_inputs["kl_input_ids"].append(kl_input_ids) - model_inputs["kl_attention_mask"].append([1] * len(kl_input_ids)) - model_inputs["kl_labels"].append(kl_labels) - model_inputs["kto_tags"].append(kto_tag) - if processor is not None: - model_inputs["pixel_values"].append(preprocess_visual_inputs(examples["images"][i])) - - desirable_num = sum([1 for tag in model_inputs["kto_tags"] if tag]) - undesirable_num = len(model_inputs["kto_tags"]) - desirable_num - if desirable_num == 0 or undesirable_num == 0: - logger.warning("Your dataset only has one preference type.") - - return model_inputs - - -def print_supervised_dataset_example(example: Dict[str, List[int]], tokenizer: "PreTrainedTokenizer") -> None: - print("input_ids:\n{}".format(example["input_ids"])) - print("inputs:\n{}".format(tokenizer.decode(example["input_ids"], skip_special_tokens=False))) - print("label_ids:\n{}".format(example["labels"])) - print( - "labels:\n{}".format( - tokenizer.decode(list(filter(lambda x: x != IGNORE_INDEX, example["labels"])), skip_special_tokens=False) - ) - ) - - -def print_pairwise_dataset_example(example: Dict[str, List[int]], tokenizer: "PreTrainedTokenizer") -> None: - print("prompt_ids:\n{}".format(example["prompt_ids"])) - print("prompt:\n{}".format(tokenizer.decode(example["prompt_ids"], skip_special_tokens=False))) - print("chosen_ids:\n{}".format(example["chosen_ids"])) - print("chosen:\n{}".format(tokenizer.decode(example["chosen_ids"], skip_special_tokens=False))) - print("rejected_ids:\n{}".format(example["rejected_ids"])) - print("rejected:\n{}".format(tokenizer.decode(example["rejected_ids"], skip_special_tokens=False))) - - -def print_unsupervised_dataset_example(example: Dict[str, List[int]], tokenizer: "PreTrainedTokenizer") -> None: - print("input_ids:\n{}".format(example["input_ids"])) - print("inputs:\n{}".format(tokenizer.decode(example["input_ids"], skip_special_tokens=False))) - - def get_preprocess_and_print_func( data_args: "DataArguments", training_args: "Seq2SeqTrainingArguments", @@ -445,7 +64,7 @@ def get_preprocess_and_print_func( print_function = partial(print_pairwise_dataset_example, tokenizer=tokenizer) elif stage == "kto": preprocess_func = partial( - preprocess_kto_dataset, + preprocess_feedback_dataset, template=template, tokenizer=tokenizer, processor=processor, diff --git a/src/llamafactory/data/processors/__init__.py b/src/llamafactory/data/processors/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/llamafactory/data/processors/feedback.py b/src/llamafactory/data/processors/feedback.py new file mode 100644 index 0000000000..51db3e269b --- /dev/null +++ b/src/llamafactory/data/processors/feedback.py @@ -0,0 +1,110 @@ +from typing import TYPE_CHECKING, Any, Dict, List, Optional + +from ...extras.constants import IGNORE_INDEX, IMAGE_TOKEN +from ...extras.logging import get_logger +from .mm_utils import get_paligemma_token_type_ids, get_pixel_values + + +if TYPE_CHECKING: + from transformers import ProcessorMixin + from transformers.tokenization_utils import PreTrainedTokenizer + + from ...hparams import DataArguments + from ..template import Template + + +logger = get_logger(__name__) + + +def preprocess_feedback_dataset( + examples: Dict[str, List[Any]], + template: "Template", + tokenizer: "PreTrainedTokenizer", + processor: Optional["ProcessorMixin"], + data_args: "DataArguments", +) -> Dict[str, List[List[int]]]: + # create unrelated input-output pairs for estimating the KL term by flipping the matched pairs + kl_response = examples["response"][::-1] + model_inputs = { + "input_ids": [], + "attention_mask": [], + "labels": [], + "kl_input_ids": [], + "kl_attention_mask": [], + "kl_labels": [], + "kto_tags": [], + } + if processor is not None: + model_inputs["pixel_values"] = [] + if hasattr(processor, "image_seq_length"): # paligemma models + model_inputs["token_type_ids"] = [] + model_inputs["kl_token_type_ids"] = [] + + for i in range(len(examples["prompt"])): + if len(examples["prompt"][i]) % 2 != 1 or len(examples["response"][i]) < 2: + logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) + continue + + if processor is not None and not hasattr(processor, "image_seq_length"): # llava-like models + examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] + + if examples["response"][i][0]["content"]: # desired example + kto_tag = True + messages = examples["prompt"][i] + [examples["response"][i][0]] + else: # undesired example + kto_tag = False + messages = examples["prompt"][i] + [examples["response"][i][1]] + + if kl_response[i][0]["content"]: + kl_messages = examples["prompt"][i] + [kl_response[i][0]] + else: + kl_messages = examples["prompt"][i] + [kl_response[i][1]] + + prompt_ids, response_ids = template.encode_oneturn( + tokenizer, + messages, + examples["system"][i], + examples["tools"][i], + data_args.cutoff_len, + data_args.reserved_label_len, + ) + _, kl_response_ids = template.encode_oneturn( + tokenizer, + kl_messages, + examples["system"][i], + examples["tools"][i], + data_args.cutoff_len, + data_args.reserved_label_len, + ) + + if template.efficient_eos: + response_ids += [tokenizer.eos_token_id] + kl_response_ids += [tokenizer.eos_token_id] + + if processor is not None and hasattr(processor, "image_seq_length"): # paligemma models + image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) + prompt_ids = [image_token_id] * getattr(processor, "image_seq_length") + prompt_ids + + input_ids = prompt_ids + response_ids + labels = [IGNORE_INDEX] * len(prompt_ids) + response_ids + kl_input_ids = prompt_ids + kl_response_ids + kl_labels = [IGNORE_INDEX] * len(prompt_ids) + kl_response_ids + model_inputs["input_ids"].append(input_ids) + model_inputs["attention_mask"].append([1] * len(input_ids)) + model_inputs["labels"].append(labels) + model_inputs["kl_input_ids"].append(kl_input_ids) + model_inputs["kl_attention_mask"].append([1] * len(kl_input_ids)) + model_inputs["kl_labels"].append(kl_labels) + model_inputs["kto_tags"].append(kto_tag) + if processor is not None: + model_inputs["pixel_values"].append(get_pixel_values(examples["images"][i], processor)) + if hasattr(processor, "image_seq_length"): # paligemma models + model_inputs["token_type_ids"].append(get_paligemma_token_type_ids(len(input_ids), processor)) + model_inputs["kl_token_type_ids"].append(get_paligemma_token_type_ids(len(kl_input_ids), processor)) + + desirable_num = sum([1 for tag in model_inputs["kto_tags"] if tag]) + undesirable_num = len(model_inputs["kto_tags"]) - desirable_num + if desirable_num == 0 or undesirable_num == 0: + logger.warning("Your dataset only has one preference type.") + + return model_inputs diff --git a/src/llamafactory/data/processors/mm_utils.py b/src/llamafactory/data/processors/mm_utils.py new file mode 100644 index 0000000000..abc7c4b2c2 --- /dev/null +++ b/src/llamafactory/data/processors/mm_utils.py @@ -0,0 +1,27 @@ +from typing import TYPE_CHECKING, List, Sequence + +from ...extras.packages import is_pillow_available + + +if is_pillow_available(): + from PIL import Image + + +if TYPE_CHECKING: + from numpy.typing import NDArray + from PIL.Image import Image as ImageObject + from transformers import ProcessorMixin + from transformers.image_processing_utils import BaseImageProcessor + + +def get_pixel_values(images: Sequence["ImageObject"], processor: "ProcessorMixin") -> "NDArray": + # process visual inputs (currently only supports a single image) + image_processor: "BaseImageProcessor" = getattr(processor, "image_processor") + image = images[0] if len(images) != 0 else Image.new("RGB", (100, 100), (255, 255, 255)) + return image_processor(image, return_tensors="pt")["pixel_values"][0] # shape (C, H, W) + + +def get_paligemma_token_type_ids(input_len: int, processor: "ProcessorMixin") -> List[int]: + # get paligemma token type ids for computing loss + image_seq_length = getattr(processor, "image_seq_length") + return [0] * image_seq_length + [1] * (input_len - image_seq_length) diff --git a/src/llamafactory/data/processors/pairwise.py b/src/llamafactory/data/processors/pairwise.py new file mode 100644 index 0000000000..ec0fb96ec7 --- /dev/null +++ b/src/llamafactory/data/processors/pairwise.py @@ -0,0 +1,109 @@ +from typing import TYPE_CHECKING, Any, Dict, List, Optional + +from ...extras.constants import IGNORE_INDEX, IMAGE_TOKEN +from ...extras.logging import get_logger +from .mm_utils import get_paligemma_token_type_ids, get_pixel_values + + +if TYPE_CHECKING: + from transformers import ProcessorMixin + from transformers.tokenization_utils import PreTrainedTokenizer + + from ...hparams import DataArguments + from ..template import Template + + +logger = get_logger(__name__) + + +def preprocess_pairwise_dataset( + examples: Dict[str, List[Any]], + template: "Template", + tokenizer: "PreTrainedTokenizer", + processor: Optional["ProcessorMixin"], + data_args: "DataArguments", +) -> Dict[str, List[List[int]]]: + # build input pairs with format ` X`, `Y1 ` and `Y2 ` + model_inputs = { + "chosen_input_ids": [], + "chosen_attention_mask": [], + "chosen_labels": [], + "rejected_input_ids": [], + "rejected_attention_mask": [], + "rejected_labels": [], + } + if processor is not None: + model_inputs["pixel_values"] = [] + if hasattr(processor, "image_seq_length"): # paligemma models + model_inputs["chosen_token_type_ids"] = [] + model_inputs["rejected_token_type_ids"] = [] + + for i in range(len(examples["prompt"])): + if len(examples["prompt"][i]) % 2 != 1 or len(examples["response"][i]) < 2: + logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) + continue + + if processor is not None and not hasattr(processor, "image_seq_length"): # llava-like models + examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] + + chosen_messages = examples["prompt"][i] + [examples["response"][i][0]] + rejected_messages = examples["prompt"][i] + [examples["response"][i][1]] + prompt_ids, chosen_ids = template.encode_oneturn( + tokenizer, + chosen_messages, + examples["system"][i], + examples["tools"][i], + data_args.cutoff_len, + data_args.reserved_label_len, + ) + _, rejected_ids = template.encode_oneturn( + tokenizer, + rejected_messages, + examples["system"][i], + examples["tools"][i], + data_args.cutoff_len, + data_args.reserved_label_len, + ) + + if template.efficient_eos: + chosen_ids += [tokenizer.eos_token_id] + rejected_ids += [tokenizer.eos_token_id] + + if processor is not None and hasattr(processor, "image_seq_length"): # paligemma models + image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) + prompt_ids = [image_token_id] * getattr(processor, "image_seq_length") + prompt_ids + + chosen_input_ids = prompt_ids + chosen_ids + chosen_labels = [IGNORE_INDEX] * len(prompt_ids) + chosen_ids + rejected_input_ids = prompt_ids + rejected_ids + rejected_labels = [IGNORE_INDEX] * len(prompt_ids) + rejected_ids + model_inputs["chosen_input_ids"].append(chosen_input_ids) + model_inputs["chosen_attention_mask"].append([1] * len(chosen_input_ids)) + model_inputs["chosen_labels"].append(chosen_labels) + model_inputs["rejected_input_ids"].append(rejected_input_ids) + model_inputs["rejected_attention_mask"].append([1] * len(rejected_input_ids)) + model_inputs["rejected_labels"].append(rejected_labels) + if processor is not None: + model_inputs["pixel_values"].append(get_pixel_values(examples["images"][i], processor)) + if hasattr(processor, "image_seq_length"): # paligemma models + model_inputs["chosen_token_type_ids"].append( + get_paligemma_token_type_ids(len(chosen_input_ids), processor) + ) + model_inputs["rejected_token_type_ids"].append( + get_paligemma_token_type_ids(len(rejected_input_ids), processor) + ) + + return model_inputs + + +def print_pairwise_dataset_example(example: Dict[str, List[int]], tokenizer: "PreTrainedTokenizer") -> None: + valid_chosen_labels = list(filter(lambda x: x != IGNORE_INDEX, example["chosen_labels"])) + valid_rejected_labels = list(filter(lambda x: x != IGNORE_INDEX, example["rejected_labels"])) + print("chosen_input_ids:\n{}".format(example["chosen_input_ids"])) + print("chosen_inputs:\n{}".format(tokenizer.decode(example["chosen_input_ids"], skip_special_tokens=False))) + print("chosen_label_ids:\n{}".format(example["chosen_labels"])) + print("chosen_labels:\n{}".format(tokenizer.decode(valid_chosen_labels, skip_special_tokens=False))) + print("rejected_input_ids:\n{}".format(example["rejected_input_ids"])) + print("rejected_inputs:\n{}".format(tokenizer.decode(example["rejected_input_ids"], skip_special_tokens=False))) + print("rejected_label_ids:\n{}".format(example["rejected_labels"])) + print("rejected_labels:\n{}".format(tokenizer.decode(valid_rejected_labels, skip_special_tokens=False))) diff --git a/src/llamafactory/data/processors/pretrain.py b/src/llamafactory/data/processors/pretrain.py new file mode 100644 index 0000000000..3de0d1ac72 --- /dev/null +++ b/src/llamafactory/data/processors/pretrain.py @@ -0,0 +1,36 @@ +from itertools import chain +from typing import TYPE_CHECKING, Any, Dict, List + + +if TYPE_CHECKING: + from transformers.tokenization_utils import PreTrainedTokenizer + + from ...hparams import DataArguments + + +def preprocess_pretrain_dataset( + examples: Dict[str, List[Any]], tokenizer: "PreTrainedTokenizer", data_args: "DataArguments" +) -> Dict[str, List[List[int]]]: + # build grouped texts with format `X1 X2 X3 ...` if packing is enabled + text_examples = [messages[0]["content"] + tokenizer.eos_token for messages in examples["prompt"]] + + if not data_args.packing: + if data_args.template == "gemma": + text_examples = [tokenizer.bos_token + example for example in text_examples] + + result = tokenizer(text_examples, add_special_tokens=False, max_length=data_args.cutoff_len) + else: + tokenized_examples = tokenizer(text_examples, add_special_tokens=False) + concatenated_examples = {k: list(chain(*tokenized_examples[k])) for k in tokenized_examples.keys()} + total_length = len(concatenated_examples[list(concatenated_examples.keys())[0]]) + block_size = data_args.cutoff_len + total_length = (total_length // block_size) * block_size + result = { + k: [t[i : i + block_size] for i in range(0, total_length, block_size)] + for k, t in concatenated_examples.items() + } + if data_args.template == "gemma": + for i in range(len(result["input_ids"])): + result["input_ids"][i][0] = tokenizer.bos_token_id + + return result diff --git a/src/llamafactory/data/processors/supervised.py b/src/llamafactory/data/processors/supervised.py new file mode 100644 index 0000000000..80326d9811 --- /dev/null +++ b/src/llamafactory/data/processors/supervised.py @@ -0,0 +1,137 @@ +from typing import TYPE_CHECKING, Any, Dict, List, Optional + +from ...extras.constants import IGNORE_INDEX, IMAGE_TOKEN +from ...extras.logging import get_logger +from .mm_utils import get_paligemma_token_type_ids, get_pixel_values + + +if TYPE_CHECKING: + from transformers import ProcessorMixin + from transformers.tokenization_utils import PreTrainedTokenizer + + from ...hparams import DataArguments + from ..template import Template + + +logger = get_logger(__name__) + + +def preprocess_supervised_dataset( + examples: Dict[str, List[Any]], + template: "Template", + tokenizer: "PreTrainedTokenizer", + processor: Optional["ProcessorMixin"], + data_args: "DataArguments", +) -> Dict[str, List[List[int]]]: + # build inputs with format ` X Y ` and labels with format ` ... Y ` + # for multiturn examples, we only mask the prompt part in each prompt-response pair. + model_inputs = {"input_ids": [], "attention_mask": [], "labels": []} + if processor is not None: + model_inputs["pixel_values"] = [] + if hasattr(processor, "image_seq_length"): # paligemma models + model_inputs["token_type_ids"] = [] + + for i in range(len(examples["prompt"])): + if len(examples["prompt"][i]) % 2 != 1 or len(examples["response"][i]) != 1: + logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) + continue + + if processor is not None and not hasattr(processor, "image_seq_length"): # llava-like models + examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] + + messages = examples["prompt"][i] + examples["response"][i] + input_ids, labels = [], [] + + if processor is not None and hasattr(processor, "image_seq_length"): # paligemma models + image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) + input_ids += [image_token_id] * getattr(processor, "image_seq_length") + labels += [IGNORE_INDEX] * getattr(processor, "image_seq_length") + + for turn_idx, (source_ids, target_ids) in enumerate( + template.encode_multiturn( + tokenizer, + messages, + examples["system"][i], + examples["tools"][i], + data_args.cutoff_len, + data_args.reserved_label_len, + ) + ): + if data_args.train_on_prompt: + source_mask = source_ids + elif turn_idx != 0 and template.efficient_eos: + source_mask = [tokenizer.eos_token_id] + [IGNORE_INDEX] * (len(source_ids) - 1) + else: + source_mask = [IGNORE_INDEX] * len(source_ids) + + input_ids += source_ids + target_ids + labels += source_mask + target_ids + + if template.efficient_eos: + input_ids += [tokenizer.eos_token_id] + labels += [tokenizer.eos_token_id] + + model_inputs["input_ids"].append(input_ids) + model_inputs["attention_mask"].append([1] * len(input_ids)) + model_inputs["labels"].append(labels) + if processor is not None: + model_inputs["pixel_values"].append(get_pixel_values(examples["images"][i], processor)) + if hasattr(processor, "image_seq_length"): # paligemma models + model_inputs["token_type_ids"].append(get_paligemma_token_type_ids(len(input_ids), processor)) + + return model_inputs + + +def preprocess_packed_supervised_dataset( + examples: Dict[str, List[Any]], + template: "Template", + tokenizer: "PreTrainedTokenizer", + data_args: "DataArguments", +) -> Dict[str, List[List[int]]]: + # build inputs with format ` X1 Y1 X2 Y2 ` + # and labels with format ` ... Y1 ... Y2 ` + model_inputs = {"input_ids": [], "attention_mask": [], "labels": []} + input_ids, labels = [], [] + for i in range(len(examples["prompt"])): + if len(examples["prompt"][i]) % 2 != 1 or len(examples["response"][i]) != 1: + logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) + continue + + messages = examples["prompt"][i] + examples["response"][i] + for source_ids, target_ids in template.encode_multiturn( + tokenizer, messages, examples["system"][i], examples["tools"][i] + ): + if data_args.train_on_prompt: + source_mask = source_ids + elif len(input_ids) != 0 and template.efficient_eos: + source_mask = [tokenizer.eos_token_id] + [IGNORE_INDEX] * (len(source_ids) - 1) + else: + source_mask = [IGNORE_INDEX] * len(source_ids) + + input_ids += source_ids + target_ids + labels += source_mask + target_ids + + if template.efficient_eos: + input_ids += [tokenizer.eos_token_id] + labels += [tokenizer.eos_token_id] + + total_length = len(input_ids) + block_size = data_args.cutoff_len + # we drop the small remainder, and if the total_length < block_size, we exclude this batch + total_length = (total_length // block_size) * block_size + # split by chunks of cutoff_len + for i in range(0, total_length, block_size): + if not all(label == IGNORE_INDEX for label in labels[i : i + block_size]): + model_inputs["input_ids"].append(input_ids[i : i + block_size]) + model_inputs["attention_mask"].append([1] * block_size) + model_inputs["labels"].append(labels[i : i + block_size]) + + return model_inputs + + +def print_supervised_dataset_example(example: Dict[str, List[int]], tokenizer: "PreTrainedTokenizer") -> None: + valid_labels = list(filter(lambda x: x != IGNORE_INDEX, example["labels"])) + print("input_ids:\n{}".format(example["input_ids"])) + print("inputs:\n{}".format(tokenizer.decode(example["input_ids"], skip_special_tokens=False))) + print("label_ids:\n{}".format(example["labels"])) + print("labels:\n{}".format(tokenizer.decode(valid_labels, skip_special_tokens=False))) diff --git a/src/llamafactory/data/processors/unsupervised.py b/src/llamafactory/data/processors/unsupervised.py new file mode 100644 index 0000000000..4adf4f613c --- /dev/null +++ b/src/llamafactory/data/processors/unsupervised.py @@ -0,0 +1,76 @@ +from typing import TYPE_CHECKING, Any, Dict, List, Optional + +from ...extras.constants import IMAGE_TOKEN +from ...extras.logging import get_logger +from ..utils import Role +from .mm_utils import get_paligemma_token_type_ids, get_pixel_values + + +if TYPE_CHECKING: + from transformers import ProcessorMixin + from transformers.tokenization_utils import PreTrainedTokenizer + + from ...hparams import DataArguments + from ..template import Template + + +logger = get_logger(__name__) + + +def preprocess_unsupervised_dataset( + examples: Dict[str, List[Any]], + template: "Template", + tokenizer: "PreTrainedTokenizer", + processor: Optional["ProcessorMixin"], + data_args: "DataArguments", +) -> Dict[str, List[List[int]]]: + # build inputs with format ` X` and labels with format `Y ` + model_inputs = {"input_ids": [], "attention_mask": [], "labels": []} + if processor is not None: + model_inputs["pixel_values"] = [] + if hasattr(processor, "image_seq_length"): # paligemma models + model_inputs["token_type_ids"] = [] + + for i in range(len(examples["prompt"])): + if len(examples["prompt"][i]) % 2 != 1: + logger.warning("Dropped invalid example: {}".format(examples["prompt"][i] + examples["response"][i])) + continue + + if processor is not None and not hasattr(processor, "image_seq_length"): # llava-like models + examples["prompt"][i][0]["content"] = IMAGE_TOKEN + examples["prompt"][i][0]["content"] + + if len(examples["response"][i]) == 1: + messages = examples["prompt"][i] + examples["response"][i] + else: + messages = examples["prompt"][i] + [{"role": Role.ASSISTANT.value, "content": ""}] + + input_ids, labels = template.encode_oneturn( + tokenizer, + messages, + examples["system"][i], + examples["tools"][i], + data_args.cutoff_len, + data_args.reserved_label_len, + ) + + if template.efficient_eos: + labels += [tokenizer.eos_token_id] + + if processor is not None and hasattr(processor, "image_seq_length"): # paligemma models + image_token_id = tokenizer.convert_tokens_to_ids(IMAGE_TOKEN) + input_ids = [image_token_id] * getattr(processor, "image_seq_length") + input_ids + + model_inputs["input_ids"].append(input_ids) + model_inputs["attention_mask"].append([1] * len(input_ids)) + model_inputs["labels"].append(labels) + if processor is not None: + model_inputs["pixel_values"].append(get_pixel_values(examples["images"][i], processor)) + if hasattr(processor, "image_seq_length"): # paligemma models + model_inputs["token_type_ids"].append(get_paligemma_token_type_ids(len(input_ids), processor)) + + return model_inputs + + +def print_unsupervised_dataset_example(example: Dict[str, List[int]], tokenizer: "PreTrainedTokenizer") -> None: + print("input_ids:\n{}".format(example["input_ids"])) + print("inputs:\n{}".format(tokenizer.decode(example["input_ids"], skip_special_tokens=False))) diff --git a/src/llamafactory/train/dpo/trainer.py b/src/llamafactory/train/dpo/trainer.py index 519e95f180..23aa2c8a86 100644 --- a/src/llamafactory/train/dpo/trainer.py +++ b/src/llamafactory/train/dpo/trainer.py @@ -4,7 +4,7 @@ from typing import TYPE_CHECKING, Dict, Literal, Optional, Tuple, Union import torch -from transformers import BatchEncoding, Trainer +from transformers import Trainer from trl import DPOTrainer from trl.trainer.utils import disable_dropout_in_model @@ -108,14 +108,8 @@ def concatenated_forward( Otherwise the average log probabilities. """ - batch_copied = BatchEncoding({k: v.detach().clone() for k, v in batch.items()}) # avoid error - - all_logits: "torch.Tensor" = model( - input_ids=batch_copied["input_ids"], - attention_mask=batch_copied["attention_mask"], - return_dict=True, - use_cache=False, - ).logits.to(torch.float32) + batch_copied = {k: v.detach().clone() for k, v in batch.items()} # avoid error + all_logits: "torch.Tensor" = model(**batch_copied, return_dict=True, use_cache=False).logits.to(torch.float32) all_logps = self.get_batch_logps( logits=all_logits, diff --git a/src/llamafactory/train/kto/trainer.py b/src/llamafactory/train/kto/trainer.py index 5578c50cb8..b0e424063e 100644 --- a/src/llamafactory/train/kto/trainer.py +++ b/src/llamafactory/train/kto/trainer.py @@ -104,19 +104,23 @@ def forward( self, model: "PreTrainedModel", batch: Dict[str, "torch.Tensor"] ) -> Tuple["torch.Tensor", "torch.Tensor", "torch.Tensor", "torch.Tensor", "torch.Tensor"]: with torch.no_grad(): - kl_logits = model( - input_ids=batch["kl_input_ids"], - attention_mask=batch["kl_attention_mask"], - return_dict=True, - use_cache=False, - ).logits.to(torch.float32) - - target_logits = model( - input_ids=batch["input_ids"], - attention_mask=batch["attention_mask"], - return_dict=True, - use_cache=False, - ).logits.to(torch.float32) + kl_model_inputs = {"input_ids": batch["kl_input_ids"], "attention_mask": batch["kl_attention_mask"]} + if "pixel_values" in batch: + kl_model_inputs["pixel_values"] = batch["pixel_values"] + + if "kl_token_type_ids" in batch: + kl_model_inputs["token_type_ids"] = batch["kl_token_type_ids"] + + kl_logits = model(**kl_model_inputs, return_dict=True, use_cache=False).logits.to(torch.float32) + + model_inputs = {"input_ids": batch["input_ids"], "attention_mask": batch["attention_mask"]} + if "pixel_values" in batch: + model_inputs["pixel_values"] = batch["pixel_values"] + + if "token_type_ids" in batch: + model_inputs["token_type_ids"] = batch["token_type_ids"] + + target_logits = model(**model_inputs, return_dict=True, use_cache=False).logits.to(torch.float32) target_logps = self.get_batch_logps( logits=target_logits, diff --git a/src/llamafactory/train/orpo/trainer.py b/src/llamafactory/train/orpo/trainer.py index 1b743647e1..7cfdb429bb 100644 --- a/src/llamafactory/train/orpo/trainer.py +++ b/src/llamafactory/train/orpo/trainer.py @@ -85,9 +85,7 @@ def concatenated_forward( r""" Computes the average log probabilities of the labels under the given logits. """ - all_logits: "torch.Tensor" = model( - input_ids=batch["input_ids"], attention_mask=batch["attention_mask"], return_dict=True, use_cache=False - ).logits.to(torch.float32) + all_logits: "torch.Tensor" = model(**batch, return_dict=True, use_cache=False).logits.to(torch.float32) all_logps = self.get_batch_logps( logits=all_logits,