From 3ed6401d35e18e711dbcba55fc1399d689f6b7ea Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 3 Nov 2020 03:08:56 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- ...ntal_separate_sign_up.scss => signup.scss} | 21 ---- app/controllers/registrations_controller.rb | 15 +-- app/models/project.rb | 1 + app/services/jira_connect/sync_service.rb | 4 +- app/views/devise/registrations/new.html.haml | 16 +-- app/views/devise/sessions/new.html.haml | 14 ++- ...mental_separate_sign_up_flow_box.html.haml | 38 ------- app/views/devise/shared/_signin_box.html.haml | 5 - app/views/devise/shared/_signup_box.html.haml | 68 ++++++------ ...x.haml => _signup_omniauth_providers.haml} | 0 app/views/layouts/_head.html.haml | 13 --- ...e_experimental_onboarding_issues.html.haml | 2 +- ...perimental_separate_sign_up_flow.html.haml | 20 ---- app/views/layouts/welcome.html.haml | 8 ++ app/views/registrations/welcome.html.haml | 2 +- .../shared/notes/_notes_with_form.html.haml | 2 +- .../jira_connect/sync_branch_worker.rb | 4 +- .../jira_connect/sync_merge_request_worker.rb | 4 +- ...ts_with_error_tracking_enabled-to-core.yml | 5 + .../nicolasdular-split-signin-and-signup.yml | 5 + config/application.rb | 2 +- doc/administration/object_storage.md | 28 +++++ .../generate_sample_prometheus_data.md | 4 +- doc/subscriptions/gitlab_com/index.md | 4 +- doc/user/profile/account/create_accounts.md | 4 +- doc/user/profile/account/img/register_tab.png | Bin 69998 -> 0 bytes .../profile/account/img/register_v13_6.png | Bin 0 -> 161188 bytes lib/atlassian/jira_connect/client.rb | 9 +- .../jira_connect/serializers/base_entity.rb | 6 +- .../serializers/repository_entity.rb | 6 +- lib/gitlab/usage_data.rb | 3 +- locale/gitlab.pot | 9 -- qa/qa/page/main/login.rb | 4 +- qa/qa/resource/user.rb | 2 +- .../registrations_controller_spec.rb | 34 ++---- spec/features/invites_spec.rb | 3 + spec/features/users/login_spec.rb | 29 ++++-- spec/features/users/signup_spec.rb | 97 +++++++----------- .../frontend/fixtures/static/signin_tabs.html | 3 - spec/frontend/notes/mock_data.js | 2 +- .../new/preserve_url_fragment_spec.js | 6 +- .../lib/atlassian/jira_connect/client_spec.rb | 8 ++ .../serializers/base_entity_spec.rb | 28 +++++ .../serializers/repository_entity_spec.rb | 18 +++- spec/lib/gitlab/usage_data_spec.rb | 7 +- .../jira_connect/sync_service_spec.rb | 3 +- spec/support/helpers/user_login_helper.rb | 4 + .../jira_connect/sync_branch_worker_spec.rb | 33 +++++- .../sync_merge_request_worker_spec.rb | 33 +++++- 49 files changed, 332 insertions(+), 304 deletions(-) rename app/assets/stylesheets/page_bundles/{experimental_separate_sign_up.scss => signup.scss} (76%) delete mode 100644 app/views/devise/shared/_experimental_separate_sign_up_flow_box.html.haml rename app/views/devise/shared/{_experimental_separate_sign_up_flow_omniauth_box.haml => _signup_omniauth_providers.haml} (100%) delete mode 100644 app/views/layouts/devise_experimental_separate_sign_up_flow.html.haml create mode 100644 app/views/layouts/welcome.html.haml create mode 100644 changelogs/unreleased/250323-move-projects_with_error_tracking_enabled-to-core.yml create mode 100644 changelogs/unreleased/nicolasdular-split-signin-and-signup.yml delete mode 100644 doc/user/profile/account/img/register_tab.png create mode 100644 doc/user/profile/account/img/register_v13_6.png create mode 100644 spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb diff --git a/app/assets/stylesheets/page_bundles/experimental_separate_sign_up.scss b/app/assets/stylesheets/page_bundles/signup.scss similarity index 76% rename from app/assets/stylesheets/page_bundles/experimental_separate_sign_up.scss rename to app/assets/stylesheets/page_bundles/signup.scss index 337b5b001fe..9ed48b693b9 100644 --- a/app/assets/stylesheets/page_bundles/experimental_separate_sign_up.scss +++ b/app/assets/stylesheets/page_bundles/signup.scss @@ -1,27 +1,6 @@ @import 'mixins_and_variables_and_functions'; .signup-page { - .page-wrap { - background-color: var(--gray-10, $gray-10); - } - - .signup-box-container { - max-width: 960px; - } - - .signup-box { - background-color: var(--white, $white); - box-shadow: 0 0 0 1px var(--border-color, $border-color); - border-radius: $border-radius; - } - - .form-control { - &:active, - &:focus { - background-color: var(--white, $white); - } - } - .devise-errors { h2 { font-size: $gl-font-size; diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb index 7fce61516dc..55683e3c23c 100644 --- a/app/controllers/registrations_controller.rb +++ b/app/controllers/registrations_controller.rb @@ -14,15 +14,12 @@ class RegistrationsController < Devise::RegistrationsController prepend_before_action :check_captcha, only: :create before_action :whitelist_query_limiting, :ensure_destroy_prerequisites_met, only: [:destroy] before_action :load_recaptcha, only: :new + before_action :set_invite_params, only: :new feature_category :authentication_and_authorization def new - if experiment_enabled?(:signup_flow) - @resource = build_resource - else - redirect_to new_user_session_path(anchor: 'register-pane') - end + @resource = build_resource end def create @@ -206,8 +203,8 @@ class RegistrationsController < Devise::RegistrationsController # Part of an experiment to build a new sign up flow. Will be resolved # with https://gitlab.com/gitlab-org/growth/engineering/issues/64 def choose_layout - if %w(welcome update_registration).include?(action_name) || experiment_enabled?(:signup_flow) - 'devise_experimental_separate_sign_up_flow' + if %w(welcome update_registration).include?(action_name) + 'welcome' else 'devise' end @@ -225,6 +222,10 @@ class RegistrationsController < Devise::RegistrationsController resource.state = BLOCKED_PENDING_APPROVAL_STATE end + + def set_invite_params + @invite_email = ActionController::Base.helpers.sanitize(params[:invite_email]) + end end RegistrationsController.prepend_if_ee('EE::RegistrationsController') diff --git a/app/models/project.rb b/app/models/project.rb index 7e4ec6c7036..d002d7edeb5 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -571,6 +571,7 @@ class Project < ApplicationRecord scope :imported_from, -> (type) { where(import_type: type) } scope :with_tracing_enabled, -> { joins(:tracing_setting) } + scope :with_enabled_error_tracking, -> { joins(:error_tracking_setting).where(project_error_tracking_settings: { enabled: true }) } enum auto_cancel_pending_pipelines: { disabled: 0, enabled: 1 } diff --git a/app/services/jira_connect/sync_service.rb b/app/services/jira_connect/sync_service.rb index 07a648bb8c9..f8855fb6deb 100644 --- a/app/services/jira_connect/sync_service.rb +++ b/app/services/jira_connect/sync_service.rb @@ -6,11 +6,11 @@ module JiraConnect self.project = project end - def execute(commits: nil, branches: nil, merge_requests: nil) + def execute(commits: nil, branches: nil, merge_requests: nil, update_sequence_id: nil) JiraConnectInstallation.for_project(project).each do |installation| client = Atlassian::JiraConnect::Client.new(installation.base_url, installation.shared_secret) - response = client.store_dev_info(project: project, commits: commits, branches: branches, merge_requests: merge_requests) + response = client.store_dev_info(project: project, commits: commits, branches: branches, merge_requests: merge_requests, update_sequence_id: update_sequence_id) log_response(response) end diff --git a/app/views/devise/registrations/new.html.haml b/app/views/devise/registrations/new.html.haml index 2f75203ac62..a1e6e701c79 100644 --- a/app/views/devise/registrations/new.html.haml +++ b/app/views/devise/registrations/new.html.haml @@ -1,16 +1,6 @@ - page_title _("Sign up") -- if experiment_enabled?(:signup_flow) - .row - .col-lg-7 - %h1.mb-3.font-weight-bold.text-6.mt-0 - = html_escape(_("Speed up your DevOps%{br_tag}with GitLab")) % { br_tag: '
'.html_safe } - %p.text-3 - = _("GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security.") - .col-lg-5.order-12 - .text-center.mb-3 - %h2.font-weight-bold= _('Register for GitLab') - = render 'devise/shared/experimental_separate_sign_up_flow_box' - = render 'devise/shared/sign_in_link' -- else +- add_page_specific_style 'page_bundles/signup' + +.signup-page = render 'devise/shared/signup_box' = render 'devise/shared/sign_in_link' diff --git a/app/views/devise/sessions/new.html.haml b/app/views/devise/sessions/new.html.haml index c466d2ce936..e57220a8b14 100644 --- a/app/views/devise/sessions/new.html.haml +++ b/app/views/devise/sessions/new.html.haml @@ -2,23 +2,21 @@ #signin-container - if any_form_based_providers_enabled? - = render 'devise/shared/tabs_ldap' - - else - - unless experiment_enabled?(:signup_flow) - = render 'devise/shared/tabs_normal' + = render 'devise/shared/tabs_ldap', render_signup_link: false .tab-content - if password_authentication_enabled_for_web? || ldap_sign_in_enabled? || crowd_enabled? = render 'devise/shared/signin_box' - -# Signup only makes sense if you can also sign-in - - if allow_signup? - = render 'devise/shared/signup_box' - -# Show a message if none of the mechanisms above are enabled - if !password_authentication_enabled_for_web? && !ldap_sign_in_enabled? && !(omniauth_enabled? && devise_mapping.omniauthable?) %div No authentication methods configured. + - if allow_signup? + %p.gl-mt-3 + = _("Don't have an account yet?") + = link_to _("Register now"), new_registration_path(:user, invite_email: @invite_email), data: { qa_selector: 'register_link' } + - if omniauth_enabled? && devise_mapping.omniauthable? && button_based_providers_enabled? .clearfix = render 'devise/shared/omniauth_box' diff --git a/app/views/devise/shared/_experimental_separate_sign_up_flow_box.html.haml b/app/views/devise/shared/_experimental_separate_sign_up_flow_box.html.haml deleted file mode 100644 index 1ad9e7c82b6..00000000000 --- a/app/views/devise/shared/_experimental_separate_sign_up_flow_box.html.haml +++ /dev/null @@ -1,38 +0,0 @@ -- max_first_name_length = max_last_name_length = 127 -- max_username_length = 255 -- min_username_length = 2 -.signup-box.p-3.mb-2 - .signup-body - = form_for(resource, as: "new_#{resource_name}", url: registration_path(resource_name), html: { class: "new_new_user gl-show-field-errors", "aria-live" => "assertive" }) do |f| - .devise-errors.mt-0 - = render "devise/shared/error_messages", resource: resource - - if Feature.enabled?(:invisible_captcha) - = invisible_captcha - .name.form-row - .col.form-group - = f.label :first_name, _('First name'), for: 'new_user_first_name', class: 'label-bold' - = f.text_field :first_name, class: 'form-control top js-block-emoji js-validate-length', :data => { :max_length => max_first_name_length, :max_length_message => _("First name is too long (maximum is %{max_length} characters).") % { max_length: max_first_name_length }, :qa_selector => 'new_user_firstname_field' }, required: true, title: _("This field is required.") - .col.form-group - = f.label :last_name, _('Last name'), for: 'new_user_last_name', class: 'label-bold' - = f.text_field :last_name, class: "form-control top js-block-emoji js-validate-length", :data => { :max_length => max_last_name_length, :max_length_message => _("Last name is too long (maximum is %{max_length} characters).") % { max_length: max_last_name_length }, :qa_selector => 'new_user_lastname_field' }, required: true, title: _("This field is required.") - .username.form-group - = f.label :username, class: 'label-bold' - = f.text_field :username, class: "form-control middle js-block-emoji js-validate-length js-validate-username", :data => { :min_length => min_username_length, :min_length_message => s_("SignUp|Username is too short (minimum is %{min_length} characters).") % { min_length: min_username_length }, :max_length => max_username_length, :max_length_message => _("Username is too long (maximum is %{max_length} characters).") % { max_length: max_username_length }, :qa_selector => 'new_user_username_field' }, pattern: Gitlab::PathRegex::NAMESPACE_FORMAT_REGEX_JS, required: true, title: _("Please create a username with only alphanumeric characters.") - %p.validation-error.gl-field-error-ignore.field-validation.mt-1.hide.cred= _('Username is already taken.') - %p.validation-success.gl-field-error-ignore.field-validation.mt-1.hide.cgreen= _('Username is available.') - %p.validation-pending.gl-field-error-ignore.field-validation.mt-1.hide= _('Checking username availability...') - .form-group - = f.label :email, class: 'label-bold' - = f.email_field :email, class: "form-control middle", data: { qa_selector: 'new_user_email_field' }, required: true, title: _("Please provide a valid email address.") - .form-group.append-bottom-20#password-strength - = f.label :password, class: 'label-bold' - = f.password_field :password, class: "form-control bottom", data: { qa_selector: 'new_user_password_field' }, required: true, pattern: ".{#{@minimum_password_length},}", title: _("Minimum length is %{minimum_password_length} characters.") % { minimum_password_length: @minimum_password_length } - %p.gl-field-hint.text-secondary= _('Minimum length is %{minimum_password_length} characters') % { minimum_password_length: @minimum_password_length } - %div - - if show_recaptcha_sign_up? - = recaptcha_tags - .submit-container.mt-3 - = f.submit _("Register"), class: "btn-register gl-button btn btn-block btn-success mb-0 p-2", data: { qa_selector: 'new_user_register_button' } - = render 'devise/shared/terms_of_service_notice' - - if omniauth_enabled? && button_based_providers_enabled? - = render 'devise/shared/experimental_separate_sign_up_flow_omniauth_box' diff --git a/app/views/devise/shared/_signin_box.html.haml b/app/views/devise/shared/_signin_box.html.haml index d217b47527a..ff93449194a 100644 --- a/app/views/devise/shared/_signin_box.html.haml +++ b/app/views/devise/shared/_signin_box.html.haml @@ -22,8 +22,3 @@ .login-box.tab-pane.active{ id: 'login-pane', role: 'tabpanel' } .login-body = render 'devise/sessions/new_base' - -- if experiment_enabled?(:signup_flow) - %p.light.mt-2 - = _("Don't have an account yet?") - = link_to _("Register now"), new_registration_path(:user) diff --git a/app/views/devise/shared/_signup_box.html.haml b/app/views/devise/shared/_signup_box.html.haml index 4543fb8ec92..b5c2adb0b9a 100644 --- a/app/views/devise/shared/_signup_box.html.haml +++ b/app/views/devise/shared/_signup_box.html.haml @@ -1,36 +1,38 @@ - max_first_name_length = max_last_name_length = 127 - max_username_length = 255 - min_username_length = 2 -#register-pane.tab-pane.login-box{ role: 'tabpanel' } - .login-body - = form_for(resource, as: "new_#{resource_name}", url: registration_path(resource_name), html: { class: "new_new_user gl-show-field-errors", "aria-live" => "assertive" }) do |f| - .devise-errors - = render "devise/shared/error_messages", resource: resource - - if Feature.enabled?(:invisible_captcha) - = invisible_captcha - .name.form-row - .col.form-group - = f.label :first_name, _('First name'), for: 'new_user_first_name', class: 'label-bold' - = f.text_field :first_name, class: 'form-control top js-block-emoji js-validate-length', :data => { :max_length => max_first_name_length, :max_length_message => _("First name is too long (maximum is %{max_length} characters).") % { max_length: max_first_name_length }, :qa_selector => 'new_user_first_name_field' }, required: true, title: _("This field is required.") - .col.form-group - = f.label :last_name, _('Last name'), for: 'new_user_last_name', class: 'label-bold' - = f.text_field :last_name, class: "form-control top js-block-emoji js-validate-length", :data => { :max_length => max_last_name_length, :max_length_message => _("Last name is too long (maximum is %{max_length} characters).") % { max_length: max_last_name_length }, :qa_selector => 'new_user_last_name_field' }, required: true, title: _("This field is required.") - .username.form-group - = f.label :username, class: 'label-bold' - = f.text_field :username, class: "form-control middle js-block-emoji js-validate-length js-validate-username", :data => { :min_length => min_username_length, :min_length_message => s_("SignUp|Username is too short (minimum is %{min_length} characters).") % { min_length: min_username_length }, :max_length => max_username_length, :max_length_message => s_("SignUp|Username is too long (maximum is %{max_length} characters).") % { max_length: max_username_length }, :qa_selector => 'new_user_username_field' }, pattern: Gitlab::PathRegex::NAMESPACE_FORMAT_REGEX_JS, required: true, title: _("Please create a username with only alphanumeric characters.") - %p.validation-error.gl-field-error-ignore.field-validation.hide= _('Username is already taken.') - %p.validation-success.gl-field-error-ignore.field-validation.hide= _('Username is available.') - %p.validation-pending.gl-field-error-ignore.field-validation.hide= _('Checking username availability...') - .form-group - = f.label :email, class: 'label-bold' - = f.email_field :email, value: @invite_email, class: "form-control middle", data: { qa_selector: 'new_user_email_field' }, required: true, title: _("Please provide a valid email address.") - .form-group.append-bottom-20#password-strength - = f.label :password, class: 'label-bold' - = f.password_field :password, class: "form-control bottom", data: { qa_selector: 'new_user_password_field' }, required: true, pattern: ".{#{@minimum_password_length},}", title: _("Minimum length is %{minimum_password_length} characters.") % { minimum_password_length: @minimum_password_length } - %p.gl-field-hint.text-secondary= _('Minimum length is %{minimum_password_length} characters') % { minimum_password_length: @minimum_password_length } - %div - - if show_recaptcha_sign_up? - = recaptcha_tags - .submit-container - = f.submit _("Register"), class: "btn-register btn", data: { qa_selector: 'new_user_register_button' } - = render 'devise/shared/terms_of_service_notice' +.gl-mb-3.gl-p-4.gl-border-gray-100.gl-border-1.gl-border-solid.gl-rounded-base + = form_for(resource, as: "new_#{resource_name}", url: registration_path(resource_name), html: { class: "new_new_user gl-show-field-errors", "aria-live" => "assertive" }) do |f| + .devise-errors + = render "devise/shared/error_messages", resource: resource + - if Feature.enabled?(:invisible_captcha) + = invisible_captcha + .name.form-row + .col.form-group + = f.label :first_name, _('First name'), for: 'new_user_first_name', class: 'label-bold' + = f.text_field :first_name, class: 'form-control top js-block-emoji js-validate-length', :data => { :max_length => max_first_name_length, :max_length_message => _("First name is too long (maximum is %{max_length} characters).") % { max_length: max_first_name_length }, :qa_selector => 'new_user_first_name_field' }, required: true, title: _("This field is required.") + .col.form-group + = f.label :last_name, _('Last name'), for: 'new_user_last_name', class: 'label-bold' + = f.text_field :last_name, class: "form-control top js-block-emoji js-validate-length", :data => { :max_length => max_last_name_length, :max_length_message => _("Last name is too long (maximum is %{max_length} characters).") % { max_length: max_last_name_length }, :qa_selector => 'new_user_last_name_field' }, required: true, title: _("This field is required.") + .username.form-group + = f.label :username, class: 'label-bold' + = f.text_field :username, class: "form-control middle js-block-emoji js-validate-length js-validate-username", :data => { :min_length => min_username_length, :min_length_message => s_("SignUp|Username is too short (minimum is %{min_length} characters).") % { min_length: min_username_length }, :max_length => max_username_length, :max_length_message => s_("SignUp|Username is too long (maximum is %{max_length} characters).") % { max_length: max_username_length }, :qa_selector => 'new_user_username_field' }, pattern: Gitlab::PathRegex::NAMESPACE_FORMAT_REGEX_JS, required: true, title: _("Please create a username with only alphanumeric characters.") + %p.validation-error.gl-text-red-500.gl-field-error-ignore.gl-mt-2.field-validation.hide= _('Username is already taken.') + %p.validation-success.gl-text-green-600.gl-field-error-ignore.gl-mt-2.field-validation.hide= _('Username is available.') + %p.validation-pending.gl-field-error-ignore.gl-mt-2.field-validation.hide= _('Checking username availability...') + .form-group + = f.label :email, class: 'label-bold' + = f.email_field :email, value: @invite_email, class: "form-control middle", data: { qa_selector: 'new_user_email_field' }, required: true, title: _("Please provide a valid email address.") + .form-group.append-bottom-20#password-strength + = f.label :password, class: 'label-bold' + = f.password_field :password, class: "form-control bottom", data: { qa_selector: 'new_user_password_field' }, required: true, pattern: ".{#{@minimum_password_length},}", title: _("Minimum length is %{minimum_password_length} characters.") % { minimum_password_length: @minimum_password_length } + %p.gl-field-hint.text-secondary= _('Minimum length is %{minimum_password_length} characters') % { minimum_password_length: @minimum_password_length } + %div + - if show_recaptcha_sign_up? + = recaptcha_tags + .submit-container + = f.submit _("Register"), class: "btn gl-button btn-success", data: { qa_selector: 'new_user_register_button' } + = render 'devise/shared/terms_of_service_notice' + - if omniauth_enabled? && button_based_providers_enabled? + = render 'devise/shared/signup_omniauth_providers' + diff --git a/app/views/devise/shared/_experimental_separate_sign_up_flow_omniauth_box.haml b/app/views/devise/shared/_signup_omniauth_providers.haml similarity index 100% rename from app/views/devise/shared/_experimental_separate_sign_up_flow_omniauth_box.haml rename to app/views/devise/shared/_signup_omniauth_providers.haml diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml index 9d0c3ad5787..1d12b30c58c 100644 --- a/app/views/layouts/_head.html.haml +++ b/app/views/layouts/_head.html.haml @@ -1,17 +1,4 @@ - page_description brand_title unless page_description - --# Needs a redirect on the client side since it's using an anchor to distinguish --# between sign in and registration. We need to inline the JS to not render --# anything from this page beforehand. --# Part of an experiment to build a new sign up flow. Will be removed again with --# https://gitlab.com/gitlab-org/growth/engineering/issues/64 -- if experiment_enabled?(:signup_flow) && current_path?("sessions#new") - = javascript_tag nonce: true do - :plain - if (window.location.hash === '#register-pane') { - window.location.replace("/users/sign_up") - } - - site_name = "GitLab" %head{ prefix: "og: http://ogp.me/ns#" } %meta{ charset: "utf-8" } diff --git a/app/views/layouts/devise_experimental_onboarding_issues.html.haml b/app/views/layouts/devise_experimental_onboarding_issues.html.haml index ec9867f9e1f..f768fba84ca 100644 --- a/app/views/layouts/devise_experimental_onboarding_issues.html.haml +++ b/app/views/layouts/devise_experimental_onboarding_issues.html.haml @@ -1,6 +1,6 @@ !!! 5 %html.devise-layout-html.navless{ class: system_message_class } - - add_page_specific_style 'page_bundles/experimental_separate_sign_up' + - add_page_specific_style 'page_bundles/signup' = render "layouts/head" %body.ui-indigo.signup-page{ class: "#{client_class_list}", data: { page: body_data_page, qa_selector: 'signup_page' } } = render "layouts/header/logo_with_title" diff --git a/app/views/layouts/devise_experimental_separate_sign_up_flow.html.haml b/app/views/layouts/devise_experimental_separate_sign_up_flow.html.haml deleted file mode 100644 index 6be62645768..00000000000 --- a/app/views/layouts/devise_experimental_separate_sign_up_flow.html.haml +++ /dev/null @@ -1,20 +0,0 @@ -!!! 5 -%html.devise-layout-html.navless{ class: system_message_class } - - add_page_specific_style 'page_bundles/experimental_separate_sign_up' - = render "layouts/head" - %body.ui-indigo.signup-page{ class: "#{client_class_list}", data: { page: body_data_page, qa_selector: 'signup_page' } } - = render "layouts/header/logo_with_title" - = render "layouts/init_client_detection_flags" - .page-wrap - .container.signup-box-container.navless-container - = render "layouts/broadcast" - .content - = render "layouts/flash" - = yield - %hr.footer-fixed - .footer-container - .container - .footer-links - = link_to _("Help"), help_path - = link_to _("About GitLab"), "https://about.gitlab.com/" - = footer_message diff --git a/app/views/layouts/welcome.html.haml b/app/views/layouts/welcome.html.haml new file mode 100644 index 00000000000..48921e9ff89 --- /dev/null +++ b/app/views/layouts/welcome.html.haml @@ -0,0 +1,8 @@ +!!! 5 +%html.subscriptions-layout-html{ lang: 'en' } + = render 'layouts/head' + %body.ui-indigo.d-flex.vh-100.gl-bg-gray-10 + = render "layouts/header/logo_with_title" + = render "layouts/broadcast" + .container.d-flex.flex-grow-1.m-0 + = yield diff --git a/app/views/registrations/welcome.html.haml b/app/views/registrations/welcome.html.haml index bebcc2152af..dfb2d508f3a 100644 --- a/app/views/registrations/welcome.html.haml +++ b/app/views/registrations/welcome.html.haml @@ -1,6 +1,6 @@ - page_title _('Your profile') -.row.gl-flex-grow-1.gl-bg-gray-10 +.row.gl-flex-grow-1 .d-flex.gl-flex-direction-column.gl-align-items-center.gl-w-full.gl-p-5 .edit-profile.login-page.d-flex.flex-column.gl-align-items-center.pt-lg-3 = render_if_exists "registrations/welcome/progress_bar" diff --git a/app/views/shared/notes/_notes_with_form.html.haml b/app/views/shared/notes/_notes_with_form.html.haml index 9baa340376b..1b03225d48d 100644 --- a/app/views/shared/notes/_notes_with_form.html.haml +++ b/app/views/shared/notes/_notes_with_form.html.haml @@ -19,7 +19,7 @@ = render "shared/notes/form", view: diff_view, supports_autocomplete: autocomplete - elsif !current_user .disabled-comment.text-center.gl-mt-3 - - link_to_register = link_to(_("register"), new_session_path(:user, redirect_to_referer: 'yes', anchor: 'register-pane'), class: 'js-register-link') + - link_to_register = link_to(_("register"), new_user_registration_path(redirect_to_referer: 'yes'), class: 'js-register-link') - link_to_sign_in = link_to(_("sign in"), new_session_path(:user, redirect_to_referer: 'yes'), class: 'js-sign-in-link') = _("Please %{link_to_register} or %{link_to_sign_in} to comment").html_safe % { link_to_register: link_to_register, link_to_sign_in: link_to_sign_in } - elsif discussion_locked diff --git a/app/workers/jira_connect/sync_branch_worker.rb b/app/workers/jira_connect/sync_branch_worker.rb index 8c3416478fd..4c1c987353d 100644 --- a/app/workers/jira_connect/sync_branch_worker.rb +++ b/app/workers/jira_connect/sync_branch_worker.rb @@ -8,7 +8,7 @@ module JiraConnect feature_category :integrations loggable_arguments 1, 2 - def perform(project_id, branch_name, commit_shas) + def perform(project_id, branch_name, commit_shas, update_sequence_id = nil) project = Project.find_by_id(project_id) return unless project @@ -16,7 +16,7 @@ module JiraConnect branches = [project.repository.find_branch(branch_name)] if branch_name.present? commits = project.commits_by(oids: commit_shas) if commit_shas.present? - JiraConnect::SyncService.new(project).execute(commits: commits, branches: branches) + JiraConnect::SyncService.new(project).execute(commits: commits, branches: branches, update_sequence_id: update_sequence_id) end end end diff --git a/app/workers/jira_connect/sync_merge_request_worker.rb b/app/workers/jira_connect/sync_merge_request_worker.rb index b78bb8dfe16..f45ab38f35d 100644 --- a/app/workers/jira_connect/sync_merge_request_worker.rb +++ b/app/workers/jira_connect/sync_merge_request_worker.rb @@ -7,12 +7,12 @@ module JiraConnect queue_namespace :jira_connect feature_category :integrations - def perform(merge_request_id) + def perform(merge_request_id, update_sequence_id = nil) merge_request = MergeRequest.find_by_id(merge_request_id) return unless merge_request && merge_request.project - JiraConnect::SyncService.new(merge_request.project).execute(merge_requests: [merge_request]) + JiraConnect::SyncService.new(merge_request.project).execute(merge_requests: [merge_request], update_sequence_id: update_sequence_id) end end end diff --git a/changelogs/unreleased/250323-move-projects_with_error_tracking_enabled-to-core.yml b/changelogs/unreleased/250323-move-projects_with_error_tracking_enabled-to-core.yml new file mode 100644 index 00000000000..8a602a858bd --- /dev/null +++ b/changelogs/unreleased/250323-move-projects_with_error_tracking_enabled-to-core.yml @@ -0,0 +1,5 @@ +--- +title: Moves projects_with_error_tracking_enabled ping usage to Core +merge_request: 46556 +author: +type: changed diff --git a/changelogs/unreleased/nicolasdular-split-signin-and-signup.yml b/changelogs/unreleased/nicolasdular-split-signin-and-signup.yml new file mode 100644 index 00000000000..f4fdf10acad --- /dev/null +++ b/changelogs/unreleased/nicolasdular-split-signin-and-signup.yml @@ -0,0 +1,5 @@ +--- +title: Split sign in and sign up pages +merge_request: 42592 +author: +type: changed diff --git a/config/application.rb b/config/application.rb index 0f550f40ea9..b01bd92e5e1 100644 --- a/config/application.rb +++ b/config/application.rb @@ -183,7 +183,7 @@ module Gitlab config.assets.precompile << "page_bundles/environments.css" config.assets.precompile << "page_bundles/error_tracking_details.css" config.assets.precompile << "page_bundles/error_tracking_index.css" - config.assets.precompile << "page_bundles/experimental_separate_sign_up.css" + config.assets.precompile << "page_bundles/signup.css" config.assets.precompile << "page_bundles/ide.css" config.assets.precompile << "page_bundles/issues_list.css" config.assets.precompile << "page_bundles/jira_connect.css" diff --git a/doc/administration/object_storage.md b/doc/administration/object_storage.md index d073ed81afa..f5627cef621 100644 --- a/doc/administration/object_storage.md +++ b/doc/administration/object_storage.md @@ -262,6 +262,7 @@ Here are the valid connection parameters for GCS: | `google_project` | GCP project name | `gcp-project-12345` | | `google_client_email` | The email address of the service account | `foo@gcp-project-12345.iam.gserviceaccount.com` | | `google_json_key_location` | The JSON key path | `/path/to/gcp-project-12345-abcde.json` | +| `google_application_default` | Set to `true` to use [Google Cloud Application Default Credentials](https://cloud.google.com/docs/authentication/production#automatically) to locate service account credentials. | NOTE: **Note:** The service account must have permission to access the bucket. @@ -280,6 +281,33 @@ gitlab_rails['object_store']['connection'] = { } ``` +##### Google example with ADC (consolidated form) + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/275979) in GitLab 13.6. + +Google Cloud Application Default Credentials (ADC) are typically +used with GitLab to use the default service account. This eliminates the +need to supply credentials for the instance. For example: + +```ruby +gitlab_rails['object_store']['connection'] = { + 'provider' => 'Google', + 'google_project' => '', + 'google_application_default' => true +} +``` + +If you use ADC, be sure that: + +- The service account that you use has the +[`iam.serviceAccounts.signBlob` permission](https://cloud.google.com/iam/docs/reference/credentials/rest/v1/projects.serviceAccounts/signBlob). + Typically this is done by granting the `Service Account Token Creator` role to the service account. +- Your virtual machines have the [correct access scopes to access Google Cloud APIs](https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#changeserviceaccountandscopes). If the machines do not have the right scope, the error logs may show: + + ```markdown + Google::Apis::ClientError (insufficientPermissions: Request had insufficient authentication scopes.) + ``` + #### Azure Blob storage > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/25877) in GitLab 13.4. diff --git a/doc/raketasks/generate_sample_prometheus_data.md b/doc/raketasks/generate_sample_prometheus_data.md index ef2376da0a9..f37aa95c63b 100644 --- a/doc/raketasks/generate_sample_prometheus_data.md +++ b/doc/raketasks/generate_sample_prometheus_data.md @@ -1,6 +1,6 @@ --- -stage: none -group: unassigned +stage: Monitor +group: Health info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers --- diff --git a/doc/subscriptions/gitlab_com/index.md b/doc/subscriptions/gitlab_com/index.md index 948fee9230c..a03c8e758de 100644 --- a/doc/subscriptions/gitlab_com/index.md +++ b/doc/subscriptions/gitlab_com/index.md @@ -57,7 +57,7 @@ To subscribe to GitLab.com: - **For individuals**: 1. Create a user account for yourself using our - [sign up page](https://gitlab.com/users/sign_in#register-pane). + [sign up page](https://gitlab.com/users/sign_up). 1. Visit the [billing page](https://gitlab.com/profile/billings) under your profile. 1. Select the **Bronze**, **Silver**, or **Gold** GitLab.com plan through the @@ -70,7 +70,7 @@ To subscribe to GitLab.com: 1. Proceed to checkout. - **For groups**: 1. Create a user account for yourself using our - [sign up page](https://gitlab.com/users/sign_in#register-pane). + [sign up page](https://gitlab.com/users/sign_up). 1. Create a [group](../../user/group/index.md). GitLab groups help assemble related projects together allowing you to grant members access to several projects at once. A group is not required if you plan on having projects inside a personal diff --git a/doc/user/profile/account/create_accounts.md b/doc/user/profile/account/create_accounts.md index 09bfa7afc9e..cf5e4591a50 100644 --- a/doc/user/profile/account/create_accounts.md +++ b/doc/user/profile/account/create_accounts.md @@ -14,9 +14,9 @@ You can create users: ## Create users on sign in page -If you have [sign-up enabled](../../admin_area/settings/sign_up_restrictions.md), users can create their own accounts using the **Register** tab on the sign in page. +If you have [sign-up enabled](../../admin_area/settings/sign_up_restrictions.md), users can create their own accounts by selecting "Register now" on the sign-in page, or navigate to `https://gitlab.example.com/users/sign_up`. -![Register Tab](img/register_tab.png) +![Register Tab](img/register_v13_6.png) ## Create users in Admin Area diff --git a/doc/user/profile/account/img/register_tab.png b/doc/user/profile/account/img/register_tab.png deleted file mode 100644 index 4bbb4e626875446cd3fceb2582203b6e11b93adb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69998 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 VajrhGp-)x!ols*fi}KKwQ6x&u2Bib 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�T-*a`{yeuCtMm7JL(?2#CY@{E|5Qk4{YmI5kWskB;I(U}^7DGNxuC)U>V2 zc0N&@v4dPXQ=tn)9TD02ByTS``-c|cy`qn4SmvZXNys>zuREG(POt?9kJO$kpw0`zgG@y zqK;BPAxBu_KljAjc-q0y@*X0__cd^Y4-6o#+^#){a}=ce0G9%A=AdkC&sKjh{c)Jy z&iO!nPULJeYzM49j}SoA67f5&S8yI5f;=KF6lAj828})+jZ7|2fVjbJ*c8x9EKL21 zIv*Z*Q2;?kfk<+{0>5>Sc>(xXrEQuit_-Ees)c@z;IIhrZoO6|&+*Wnf*dfdCsiuC zix%&=neqo@%A?-5*GCg2_b zm8|P&(Rz;{#0&8fx|&v!`W+jJc{Za~6>@+Swlq)o2N_aLZ#~#0HP!Cp%NV4Vue$Ee zysY*h{*A5w!PR$EL#t4^Zgj~9;tb0Ingvg`PRlo9v|%>6fywKdQTTH zkc;5Wj`4I}t|*Qlc{2bc<|UUW_az#|1y{WxKTB=|rEq}Jm4_m!wW}UXv+?&J{1>OA$EnPNNsm68jxc-_;COI<- zMLozs(;=3=IhUZP9`IM?*Izb0A2HZ(CNy_vJGi=YbJF>caUgJxkcsOftGr_b3K{azdT#KeFH*uv#gWt(qk9R6 zrj;&e0PuwYBcY&rDSOdQa&;fsd5JPn~EX(mzP^lG{ z;OBA)*UMR4fCT&r{O0SVJqZEZ7bECuM{>{3*nCbE17|Foj zJ-?C799+~&8~=V77N1vaNA-AcvyxlaGHnG!v@77g(!Il``cAD5(^RG`j=ZY=BZOlyWq7X4Fc5 z0-ONk6NfuVy}Y1=hi6bH{Bs!a=73TCxH`%+^{w#JH5n+XKdH$SVCjTZfF|6 z&MyX$fbtYPsGMys7CJ%ECK?Jyr2q@Z_rJrEzL*Iahw$!9jH^h~bs`Ww3}+_+ zkWMn(5X9)5@q7<9J@ZwN46uNJ9_h{D0_wgp>RbHMG*Lb-fL>r~*XaP*Z4p#o6+r35 zG|v0%kZGQ?<(9oe@8b7z9u&>9qrnEXu5G}{NVC=LCIGl|};429BIIgOOQOFoDm-Q*Z18Jf%b-eqD>9c3`F66r?6=^|Wl9eL9kU@ar z!q+I^{zrnMErT66$6-fmKurF ze+aezJ2U9Z31-QJzwOTh%OSQkYCPrfg@GJ8yC_sMTK*F690Jufm4r2kvJr|;SIgVD*e z0e#h+=-+|T_XfJ~W}rf8rGMw86Kw#b8dz%oJwC;tgUHo^lCVPXE4cGZ0_WS}psLNQ z@}EN0PP8b`)CUT+V;POQ-+rIu@`1nvR$Bjc_jNAz#rKH+%JC5*1teYas&Fwld^{A{lClD$wlBOQqtj+A`s`m zCI6jKjR{0MdE!XBB%5*nr~P~_Lh)i-AIi7Lc>&7IIcr~U{#z*XJ-e~t-+y*PP2?9~ z^8E~svavJ{{tQAt3F+{&f4e^e+Uww;*i5bj?4L)8wqS#4H>%0cBVnC-msc%r^zV~# zqz&f%SX<-t*R-Sk(_)z!`QnJ26!um_5I#gZ3;ugJR%y78NN%~ZjoIa&7jDdD1dE_q zHh;WV3q&S)^H*|KfdI+K4b+tE!y4w|EYbFac zYF^wP1xIK{(G74uaia(N+MS?81^@P(NIsag+H9}^6axzuPfgRVLOhTIP^hJY%#RTi z6zmrP_b3Okbcl3089?M`ooItn1|kE}{b{F-S2)D4J6LF=Wi*|d z0D^CPOJMaA;LYRCb}~d9b%SlmK^DGadu}k~awA0u;7iHl2Rdb9(<^x~6K;fzvd=i-t zQq-NA$cmeM~Yy z59ACb6z#l^c`t))y)fFf9_-_99!$Mq43bu9_q8fhD3#-Jk8(W)CCEgG9RBE&52Gpv z#2rLxwONvMt{K(T12n^+;}>%G zmDdo}T7BZwzR>RDzf_e6^l*z!_zJR@nF~dEEYiIbxZz5WUTPUevA7sm0FwE|mt0+$ z%%r^t{*}RM(HdaQduP|VLOj;pCoQn3rruG#zWQ@haj8HqjK0C|w=>GbI;b0a{*?%9 z+N1ln7=uNht_i$vA$QL$CCn+PcY~C9G8K>SE@PK!H;SWeJfKwIm7x3p>T|`zR{K>V zDCE<3h_uY!IRLrdd!VBzU+t5kFD$!#VvkbN0Q}H#wfQa~7IY4qb+*Za z&wO^M#nU_Lx{m#&9h~j&fq<836(pc!HO5k6>TN&UqB>L{3s!c_2><0+7Zkx_JDatX zX_lZ1mTLN!j=TjVANMMt-{e-E0M81goVi(6R@^`8d822n*e*9YjUNVSVwfXD&JVkH zri0mjY(_aCSShF9KLtFo#wCncz-HOCo4)9H8X%hgltHFurC7#9^xiWf!>TZi2|7^n zJ6+a~UX9`%GVp7Y#YrP&SmE-GWtpN{_afG?O$4-}Zc<#&1Z_j@DUzVFp z4DOsS)i_=fa*&tGTn~XKNMHpSak`f4_t#SC1s=0Za#j|pnlh9&NT4J)C$kSkaaVj7 zR`G|p-uLievS7R11yU~rs7+avubl0H-60RQkPK95T;#m=SgMbwBwd4*GU_V*Bil3m z(m^(OsYWo>ji?}0y|KSHriuWPBBbn9)JD2qj?#BV^97jxV z8XtgKS-SG_t@LmZqIaxpcDbkCjRXOOC&eN}Ht$b*d-LS1@zl3(CL|8`LIt`~Kx`2u z4oK4_MDUI~ARqxPsOQCW0TO#G?Xh7z*20fU#9Wg1*%GVXv9tluegv$~0j67reC(mo}bG*GOl$@B96n+*5ttBM({hkIb=f!<2IvNk% zhxnseccLiBZT+BB$4eInZ_1uSG8ia~zE{_CrKtn4JknjJk9fcIfM_!9uA2V)O4{kf z$MMv-@5@C}njG;@Z%!_owFAXdPoGeE1u_m>!-?Ij-p$GJ%5$}bPel>Z zC&BLbDFj&VI6%d$Y1j!g_DD7TL+{k(>v+HJF z>V1o8Ep2m~(<`yLyZJzqT*M*;C+L~~^w@MwBWy~1V*7Ya8iaerd!{=d+V zZ#@CPT=jh_L_hZel5gTAfVoVq_m)@z{;ZLb@??zLJB3u7;dBaJ30uM#=JjX01^c6} zpDC@bu%4}$ipW6x|EHOzWGmUuhDMaj++)1F0lpc_1r7C_$`V()xF12foDpEzOn#ga zqc`Lp*8`ngx;Tyy_qf;b>LPH?G8`Ha(T0V5M~1^D(W{K1$kkBs6H?OYx(@Skh~7{@ zBT8@=9QOu=EfZ&%7BXiYs5^rZRUXpXEHWcOveUGNK_CaJb~ER4BiX?9E9O8n0%A~; zFZH3->85a(Gt_Zln_F87Vwehs>ULYu7U=jWNE5$y?@q;CjG1Yz6R@qdi0^ccFPw84 zO^HN390D;5+fTi1uRCfN6lD5{#V(E7G+S;7=^aN)KP9g^7|KlQAKhdNyQA$>yvX4e6$B!XN6^? zv?~c}3fO)BGDdgaz875Vq9lwVw5`;GWQr!}v0_9a(?a3xF=6fK3Ka~Q{EiyVPuCGp z;|Tw8HQ8At-iPZ@sbnp@2o#?<-0$zfr)!ULTscImK_y>BWT0;E&JI77xlC^XaavX9 zJxGWQDq_uJ#aO~Y$X!?mW;BFXMe701kJO~xTFTZtb~Wj*J-DU^>V*Aax&<7fx}Jvh zD>}D_-Z?pi3Wm`(Z^(z!ku%6(01V?;0a!^+e;ew2nVnGM-EIW+zORmF zuB%LKpyD*!3u>QQH`!H7^{u=nkeoGsRCz!%OQv9}evN0(F_u;!<*S%ODz@D_Q{O-Y z%|UaX?N^T?S`BkIzp^u!J~5_$1nOBR(kY%MVn}7H`JNP~gvfdlV)Cx1#Mf-s@O+}9 zAypt{4G4<`SxIn6c|%jk@=Wyw4#kAZlo6VY4oGSuhn==Y=zq$_zUl)oH=^eY>o z{8|gr)A)*F6DU13j4x*m6bq`Q87i{iJr5SW&%4#j)-y}*Xxs`1+ zYYb_9Gey$5*5TP?8hLrCW{^#54mwPQm5ILu4HIcyLdjesl0ofDPx0};*=O#E zE3m}Ee@<_~GexD7QlFUaqI3^q2J_0zuc{I@7bID77+c$RNcv+OiVYE=`dF!_34Q}mH{QWrhUq1b#bx%?-s^p=9M}gy&>9B z>`O8c2_r!le84V)rdYmJB2=HVsmmJwjo#f0ZwJ>`c~~@Z#Yy;QhH#_=W#3B5y1&zD zH(CIu603%DYQUlxgU-o!o$Sgy7Zn`G@M!~&|2DM$Pez$ibV;HYNs{TF$b&6kLyfEZT^bmM4Xb zLR0nDaNnawab`T+cIJqyDJIL^$G1v+S3nM`D^W-MDp&3LU>oRx=q6(gtZ~^Wo49+Qcgkt;$BXY5$&7GwGxIXl0bJo8zp9GT-3o~f)dlF;w$}q(ffYp2@tl? zy-pP>U_0Hk1amCFyFw@?Cee=7bgfP^o!-W$HXo10_<>@3Rz{*$g%lGqj`#WTB+~~D z$H>wcJY?3*x~w1jjB)B4sDtL9xv7r!AqG=~*QLFAv0WCVN!^d^*`q!MAd&x+RIt}U zRE?Xoz_s5l)DYwpM5FX@J&^lut67zptxSEFI$bYp`=wE{ z@@bLYArycrPXWjrErYpQ_H`hc_EFSxToy-j;@)MxG4nVm2a|cs;2<&%XyTDEsft)%Pavb!;sEgna{j{*H@@@*B$3UD0nuyJ^s(00{)qD+zC7l4X1HJq6T3qO-s zI564J098RCJvMKUPYl%Q%2GaL$l!HN9yAGD7gco751Eb6=91q5@qEzJLxH-v_YsG? z5^wW9LrsU`$yhw-3uBCr+I6-`7G{VacZG7aFh%lsitQhN}sVfKl=_$gQ*7#O6pu~(oxy-EC`3MpRFezjab*kX`5;$mIYd}Dkm$15{`T<=uJGsGb5 zW=A{eoe&dT>Mu0$hE>5XB>eHzuPCFizQ~viK6*RJknvWDZ`Ygo6n8Qni~dXcUHMxD zbXf(cvE0*x{<0Q{h?mD;vX!Ma_vnL(Q@Zjn zfdmr?UaJIYBa>gLF6rKsoQL`r?9-R7M_(7baQ(ZEuQiLh zpeYbst)~E)U?k-Wa|Gx;9;im%q7Pnw)WQEcItaG6xJYT6io8}C1(8nHaty~^O)oUN zzgW;ry`x{Cu?dXK6nKVem{dz_Y8Vxc)!3GvIHsTN_&}uPI@d4(>QT?<6qTL2m#apS zQL1X1Y1V@=#3mpaZaREW>5aLFi1kjlQU{D!7Mw@yYW*$@zoy!2L3VGKWz$B*~Nih+sEy){##wJ z@DiuUDcVbrQIYcMEuI*;F~`as@JezF5u}ReZSnBi@B|>a(HVQu?{5i zRqYtxJu~c>T8;M{LBkQ^8%MBYhX!7j8O95&pg=Xugt4Zk>H)DFADQBV(o@-% zj#rRuON9iuM0am;w6_B(l>X^Z>fnKwM4>WonVm?0XT$OM`VEZJh+Sp0n0^dbLUcJo zbmZouU=;mnHzsVfpwl3wVI=3Vni=xM=;=h_4`i-lvPGu=J}SnFC0E;kFy$)7X1gBX zla@l@i{UCmWgOj^wWjZo$2T(+?&A-Lx*X2-$GZn*1tubNMm1R2K?W(c1SRr)7`24E zrf8B9ip{+;YzgXe>UuqAo8!X3#aFL!=?a`I%XJ()?&IsBE3)C0_$u3RKiv5=!n2`x z_u%K(J}u+{-eynj>)HQ+8f*Y+Ops<%(SX(lCqixk7Y(7j7}aDmTK|>s(SA=YSD~4g zTy`0nVRQyYidoFfvY4(4oGmMa{S1e}OJT{rDafZw9Qu$zZ3VZ#yR4v0IUyRrB9+Ze zV-LL`+p@0drgS%903V(!|PhZxvaJ)uJZ{M+JqAA zFO5yL7__qK7=vdiNv;k!37B>HrjpD@o(g ztoG!Q+Bl5kE}7pKSHzLO=NO`dp~DnpjFwKHx+PG@@B#>|GFcs8sXx|yDz(RO3c9nX z?^0qkfu7d}#k$WH+d1nq^>2utsuC0qgdfZ7Y6x9&pK;lQN260ku)Ny_6ng#B#oQDcSQ{*8(L9syXBsFB)qRAYsr>HG z@zn#gb1jjJ)9T;thQu~OiRsL4Z+N=0%}91u45Ss%f?)CV77Dv}%a&8rx2Jg$zZ6{C z+f6^qWU`?Y*)n2y32{%G<(y>Bf~s%jT-(w6tnp=Rnh-<71j`-sLdg2#YXP@IGqqn( zwrO2*sRVRHZ?c$Qw(4B{jjJ1<@jvwMF60Qz-7~2O_N~x37Gje?l1?Sya{iuom`HXj z#LbP9Qqv)?sh7H}o%VYf7tBAvt2G_;pNV(^l-~{GI~fDWLV_#7_?SL%Iuw3V!jRvZ zlJ+orv>wvu!NA~Jq}Uh|5uFkSn@heav5JO!u|RiSm=hGUBn z?$w+5)L3eUjQF+ezTv}7x(b5>pI&|@xqkaD^$}APYMb_4mM#i;P<^!Rq!8#yCQX2u zz~02XyAyxy?vzj48>0S`lrur7JH#|5bB(kBTF6qUjjgKWZZ7B>V^~|2$TA})0}pDr z^*1lK>{fMCSXd7-O(JL5pSM_*6 zr*8Z8G0;UK(Ye&d=8oe2@vlqciHz2?Q{RAYRF2fLP)z;Qb2q)5E!z+cq{vId63 z2Q#^BD9aw}dXjA@?w}n5oh4^vytdMJG%>;zgN&%D^RIPxzDM3q0Inz1N z^2+NUd?czCR-Ysocc)gQM8PP|GBZC}aWYA|{bliFySrfYPK|?j&nczT%UN_1^zH{! zl4y(%gh0zTn~ER5VGUMHTaAdxelRhSA(CsPs#+Er84Hk856ijjR4vT6g4W0wUZ9|T z;drByIy~WVat7cX;+r8AJ|N0e4xzrlG{AfaHP_L1^Nmh9fdo7GMbhbt>F}KDvn=Y& z?8iZ|7Suzu@x}WYDQC5y6QUOgKHrYlt=adS;f<+tk4p783kq<_?ioPp#x+X@6!K!F zpPAe#!xT==X;zN)@48thL7;gdz$ha|*8t!ni%Rd*t8UufJ*C6oJ2o_a@P7VmBvT#k#dYO%T#QrihBKZS zVSok=jnwj1-SrYwgH9mb#!0yOb#0k|3#my|+iFP~IMp&GZJV6+V2nA^egxQ0(Yj8W zYu7o3hc5-e?BRVAlCw}6u*@4M>bv4e1Ct0u%0WiOP$_4NLr*hvijC1Um~IMmY~cqT z{>sc5z3~JkT}_@0@el`Ll^&IHEY^{Z*S^7B;_#qjV+)j|U^uF-aU%5={RF57A+U)| zYwcsGiBC-sg5bSr2i0Q^Z_{JD1U1Huhz6vbF<;im6jD>zBic}8TKHG{^H(?oZ{R}dztsj@ zsetz|{j8U8Hh*X8$x;0NL4br`rcnNdz5pmHv=uWf+`gG?*|`fF(NXgr9+@h0BoZRl zu2B&K#HYgP6+3ddy`u~7nuX`$}qd`7^=&}*r^%Xvdye-8+*e|*)AwR;80hN4rR zLr!Hg&alrjm^0f^{%8DCj>ZY|5n%P8Q!9MQsl7{Hu{2j|Jd_3Y9bJ$>4j}^iRtZqI zUI!&wf<}X51VH`TgFz`iA(DuhLDh&>7mzF=KzTMvz$H=FD+3_W66Pl5#m@IB+XrjT z4cbIgxH8%gL`C(IrBaQaZ-ewV?!^`2UNgklRtoYOmKM;RO4#jZb-vVu8}bHNw&_Jf z-y{GWU!*~4Z5n5B3w)>QZ@1Oi^_Pmndgs|o#w7*N!;()h`*%cviuX7<82(kbg!^Ol$)b} zF4=cxk||4Lu2h&y01e7k`doLSamNZC7s2;57ekk`!})c_Hv3Szk#)ehFeQr-sJCo%Q)ryBK#4{L>8;Ekyra~7&!joMNm#bR`RotJru&O1bynm$G z?s`$J9Iu3a7tr?(ucQl08GNj?omnaeGHO$0S?wgb{^Za~Q_!6ObCgkOdWo@F*C8Xp zrP)+IY{6@Do>GhTYQ(1D)Gqk;)7w!&nd!jHBlt+o2umI}DP0*RP?%{^J{;ZwU*nPS zzu0@rs4Um6ZBzsar9*B-O1c|VkPtya1Vl;%2`QzQz>Nq$1!8=nW8^`0jX_ab2<`%wYWd9V3^2Y z&XKTQ-mjHi0#f?@=@=!FI&$~>{e2d7jWDW;fr4Ny=X*wZX=>-z!%8eMaxSCDlhdCG z(sRxBd@vHPm?^iur=luEv77nE_j8!$zh8i)BSLdon+vBkF5YFNHtH}Cd(U;llNKRC=S6+CE93esf!!2{z5RlN{T07Bw!dLMD+1-h zX@7=E^1QQb&!tI=eH^*R>J}J*m-(a`8J*N>1JIL zgtW@L)+PNKU${PDKb*TP{58mZT`L5tKt-FoP7wIp4P`w+pC>+XIRjS@1u`Y8--w6O zqtauQU*zrze5oynIK4fa$Vt)Y8As?9Cc~dG8fx9=oQed_$iF|a0o8W~j9H7aZhi-u zhRtJDUO+6j-?iWLapR03->(M@pwccVWvU2?{V&8ldAVhrT_@|kYd{Y-h31ixzbRWK1Js%YMhh^g5=Sh@z8K5AE4X$Ki)S2U58jH;oABw7>5?ji_ivd2l8>ZC z-hv7;MW35oSWFl{BQ0J)X`p^aY*ePOT-Ia9Dm}ze4Eo29-#=IJ9Nz4P8o6XE<=tP1 zS_~mTJQ7*iySkqYLZBQSz1L=Wo zE9k zpGwp-5MdR^xlcOvwc=GU!Zr6K5dI3IH%mk9IDax02aZ7Zm8ws_Ux*<2{36c!tmu{f zxMjyOhuW%rlGnuUn&9Hq#*sUgssW+_D`OZO53!nD@pIPOdzF)uY$h9myXQBRk4$O{ zorbC)z?W2Nm~b7y=yQ}SZ%?{Aoc4CLFC{_PJ)KlqNM;Y653JT17TGENBpbf!l;{75rbs7zWfDg~`Vug=BzeSv2x1PeEANH5 z!?_$Q&-*RC$`a$NpGHS!ew|ad)E+)6yv1Nf??JiM0}QbUM9_hV=LacTU+wfueJx~L zGa3l2svr2si=98)cJS-Xi%4S}w?OP0qc=e!lj@)ya_}V1kXJ0Rrc==g;|db5^ri6^ zP1LZ)sSrf)vMLmC-oe6D$LY)(jk<78=&?zLnTZFY z`zq_qYW)^B&om+es`6!K-8>S`jW3-pxhsE7#G$56;KaovHUL#KcjW04AHHUH4XN~?b!OSESJtG!vsby1tp{VkaxHZJtB?!LR9D%b<_$+~3rCPe$VkfVG z962z5PgXfv#qT5l0*4Dv+ZiXHQtDC2a`FNi_Kn#7^mpmXt}su@M7`!#wCxNy(*7o? zs$`qf%yX}Mu-j3Ftwyw9uH$+j=fg7j?vrGP#`5)+LZT8378!T*{*#oa&uc{yKMA#O zU*9U(>P;U16sf#`|ESFWuYkG_76Em62Wuq&vW%;0aw?K|Zh}d`^5;XSWEBdU8W0PE zD9s~g>&u}?hHw>c=A?Ei8gB|>G@x*aj)9-^)hjoDqa7F@@4?mEX5aTlCnjzvP@%g8p&H5LD|g#R=P*#cR?*RWDe-Zf zdE(xN(inrGMsTb#ok=9C0w1RIw~&Wa_~iSa5MqjBOnELt7sn3{6D_|Z6D*tNpi53{ z=XtN6%k6(8D5kr(VG6w5923++@|(hPu51UTZqDiw5aY`%qSbu>-2Lp zaQr*=Cs)>e+w$!{(2+Y%VmzJfzW>I_@j}u+j7}`vZ(8o}<{>p?EiS_8IKIkyHP#;^ zbYyob?so8jvQ0Pn2?;Lm%f&8}tmRVOZ>+@16Z_1~=M3@B|5Vb|6U=eUYVB|~tTlU6 zqz0}|LVhopu^AZ3nc@I6^OM?wPQy`HM|80Haw^L-3sj7Jc#CyME$3OqrFr#{dnzX@AIBQGhJU#& znb%1RN<{zs8uuxsUybAOkB=WEfHul*;ry=)r>{X0d*w9$s^a;Ub$7mA1F<*6QnSI) zXL0I>gHELXMD3S8b>E=7G?nWd%OT(B`gua7=DTp)ou>B_GIzQC`~-+0VWQMd*2_Us z8)nL!_qrp2j~|iOoC`7#LI|^ z7Br4-ddNOEmHx;Da~b+QXT+5ZNu;y&Ba6Pc_gRmm@8fGg3a>8tp6#4Oxj}s5)Teq+ z=rw6|ZsA#nADwS3hCUEQI7iY9Tmfgk8)w+&p>ZDj6&2&l8Gn`xB)d(2X~8z`@VM(F zW=<|pS^R!RK0P+-Cj?k4`@yl*f4l+6+1&ugVoXWkU1xf=k@d@w&+Xkm#WN!r|3f*p$;wlUORwQf|HfB3tHS@krQ3hZsdSykLe-3+fbg>`Z5)fKTmaP11 zDVo?lV=(Kt>c`UJYTXu9;NY^&9dmb@EP|`2vRm>WYwLSu8Sp` zuzfDkeHIq4Zuh7yobVlH_%{6lom`m3oxJ_ieeS%s@q|*040LpxazC!)k}|UAf2G6q zxGUvxy6{PHcSP-}qw@a!{he>G*Y#H76W4NcHy+vByOcPthSy6g+Y(tC@}n1LKR3JF z$o<~SXxVJ@xV-p<_C+SKbNcyjF6};;gR~N(`5<~6``rE^N}yOrDRgTaS{IHS&O5{H z!uW{G%=3aR@_1IAqB%IwwxHJS^cw{d=UIfPTt+q;oMpomxot0T6|30Yd?Cb}^-+8N zta{z06R{bSKd7Qzt#XVMLep`Lu*hoQcYx;bgrCWG#*KZBKEwAE_&xCPBY{$05gsn>THE-QJco?GXx3jiYQ!?<@ zhzg#s$_@!*dQ+^m7m+77b+WsWe*>~sV%)QE`HL)Vu6q_DZ`>sl`L9V|BxgY!s&Ywi za<`!epC?(`K88Z$*37GNVr5RR71nf=pede0a_Z}}Sw7zBD?v|tm}Sja zpzw+_4b<%06&SEtkeYBJ4P}NwFmmTw@&Z zZCPJ>23`Ae+x?{9`f*f%!c*~c*Azwe$a^<;k=sI;Ol_VmGhaB!5vZMq0dY?Cw2TCsOFZzwr%v&s{$rL z!7XPk5sxNHZy_;DWXGTOnf-N3o$JV1`PWx9U6(Rhmd2(=+OPU4_x$7AA&z%j7SLfK7@}Jp z-SKW$#Dac~Rp2uv?-C)g{N@-U`cu|4n<8U{ zqZ0rUMT0oabb9X#1m~?6+iVI&+PMLPBfN@)==Th*o=}BlpzW&@G@;0{uj5+>k3vU~ z_3z^kDKNhfedo$~X;;41@T_}axG36f2Lpn&&OI_0?Tf3$TvlIOAr`I^$S*ph*AH6P zA6$^Rk;pmmdRyr%)Rj=ik=n8(pD=Y5VF$%jV0WR)SH!LE*Pul=9+1Me%1WKq-8mp?!RKO7lA zr=igV_!HF)*CTDnW(|T~@VT}MpaLIm4EWfVPz22xcp7jAqIlV#0w{71MNLM8UFnde zD3&xmO+Zh}`N)iAF3FBAty!Sy2-HC3Ky4kPDw=&u+_)l!*QtL$NJK?zY=Ec6_QmXS4^>%eFmPH!_&|1nlTM>S zg)X1$YZJv#CkF`7@Z=^K$W%LugdAI%c;`$Ig4y{ah5+EAeM_)yx$O(9Ars2=uB)TzmF7KsLU=NhAtrL3}6-uR>JM=kO`H(2%2$Z$v zvg4bhVGlEIi4CPQe+-0|f#?3WSOg`q^(T zmEH!sU@qNtK=QIj+jh%4MPZ2Oa%*!S7NvI#gFAo-%bsjm9Jt$_*Wow=pDDbU$02hk z&fvj~+vr=Kv@p7f;KK9ThX%O@LmNOndfw!6-fcx^(hf>DwT{20y;koGGYeQAY2(Yg zg2Q0+h{?^SEXcEx*0?*px=J{_qh}i`g>9_m ze_V>XH>8W1{{0Uqtc~$$0E%PUM>qrNr5^Q-UU+0_=wHE-%YkBD6K}1x6gr`wO2G?~+D{Ei{-{QAY0ijxj2cEXBUB7v4V|*{N zCxXOB-Bup)-Q5RQ%myCW57rr>Kf)j2(=2XZ)I(3Y$nZqU+P2&ob%xT6F!^U^>d_@mzXIq%c+C(|qj=+d!bmqGU7bCA7 zt|0+UgHSsTm4>1(zqj)>Hri2#y4!j(*MjcdIY4{!8za80V~i2^XRJWU7Hv15^O$gR zi4~qS7jmwx4in%4|8Uu_oK(7aht_`+H7YU&u8pTp%l*qROK&tpGyx}R>d2@Hh4o=l zR%LEBAu}Ou*Xe_D98_8^BLhW*PDULmbOqDR;JvlFIJn4xSnJPG-9h8uL42M!K0@FD zuSBKR(#zmfZA$v%G?~XF>jPqd_8Z$a$@&tui4>A;%0S#&hDtNI=1V^UZ)^b()Drh~ zx6TfGJv@;~PHLGyk&*qvCJpD?*o-Y3cP9+a_bXf-dH=dhtY;f^o;cO`|4R4& z`e&-Aq=ZuT<7O)7U<4a`7xg9+J5pFq+Y?8OA{p1PbC<4QD9V~umJ&r7S zO=1mv=8n6hiIng!wS-WwgaBJ?PVX(PFjqs7WfN3CGqlEvxK#@I>>_^ZX^5`Im5FbE zNc0p+clnOxaWsYSsM9x?^@xAg`t3{Kh`1qT#2Q}QhYGM`T6Uts()Z@5-Z!wYJ#~tV z7#MAW)V>aI1dm(jLXIf9T!k<)09Qf0+`GRY_52A~Ih`h+l3|c65@3w38)^|-7lcIx zS{+iq5X=XR{Z?rs9ypIDmBVI-Bme1hP7N=l!oY_$-#Csgh^}33Y+*C!19+2FEWH*) ze0zHK?dXL`Q$yj~4!+hp6f8Y=(W4s!TUTlWtG@J_)QoGQB_Eje&00&qE)6Rvl?kOz zNb*EJ`~ug)4Jtn(42gr>?r8k41uI6bKVDv!*@#Y1h};JyQk{m>gl~_*jt?WVivNaC#$N zWQR-u0W5sGiZOp@@v#ah!&GX4l~7J5$2UTk!YnyAPcS{B=f*Ir1j!7lRzB>jf|a z&X}ULQgkCvUHh?#EZ!Lq6v@p2&9R^o7^4x#k$j)))V>2iHkXucEe0M|5$NoC>GuX> z&~+{$MK>)CH!A8rWc0S}opDtDg)e{ulFbTNsZ9OGsn;S*{i22NgqrFsz>LbF&+{(U z-Q?Q8qkipIRuN+eN+0mKyeZsiNYUUsIF8s_UYEg6Eng3Z$N5P4T;MC_3UP4QivGF) z_WjQu7Rb6Ff0lwoNQ6ur7}`AGv%LuXwt zY{A%m<-oVVOMOCnouZ%~jL$ZFn=mnLTREbKM~pyrZYDp#zGTC5=1F^8H`%Jwh*%Rd za!$|G7EFb_*rju5{;NC#Nq8<;7PX_Fkm|_S@f3W_tk}pCFArUWJPKl)5g1okaP2qB z!;7ee^&e#Gg!I8c@f>xoz*{iKCfaF3V>jfl0Gzhz!ga!>XPxMJXntn)tGeN;nEq?Y zBr|WW@P+|0v}v89C&l3cvO?j@GXffm+x$0C&t}x!UXFP&5F*sZ4rwY7f%Qfy3kLkZZmdH(dQ(UVH0f@rTqo2kW4z*wlw%O z$WZc;w0OguKbNN7jd3JOQU9GnbNduNJ%<$f@%_gc_}%~bP!?Yx4`t-jOb)vz4tqek z%EuEZ7}_4015 znF$bEYBxu?-OR&Br~9?*8o&W)jrPK|8f*=wiWysvs>d9~aYa&ePjFd>oE1Qkev(F5 zw^ki1mmFsrWABfO)`w)K_rNEZb38`k87L=}vi5*ONS|Kuvt%l3jpf(De z+%p5e$0Fqn`z#>HrYwS^{bOa!uM~*`%Z^mnT~?jOIzpDNznaH_wBY%(F+&n>jX2tdv`F4>@2do1-!{h$a7*h z2Z^8=e1-RNWZj{6eQKQkE9|TonK7OMH;yeGZLB;Z^aEu3)E%33_XVVPxBGFsfjsJ; zUO;}M*pj-iwAe4HS=xKt&eIxqlxm=mvGG+)+DDdY{PT2%Tw^RrRN@!fU~A5@ zwd2To^2=6Cr7(zl!`%xPK1?F^1!Q?bAnOhng^bi_S$m=7>~#H%c|qcMnrQs*9A0)r zLd6ArwO{ps{tb6`OpgN0-^CNGugo`yoon=0f{~RA^+>7veHBU^e@Z`~5Or!dzGX~y zg~K5Tz+cOJu!qWwE(sLSng=`i|M`aa)g_ZaGoqe_)^R)89an}9@y?AbUNp4olw+Vg zj!tV0Fd(-@-4;7L-d;nvQfnXbYrz$TH1)hyyj?rnTA!M-Qo{zOGSQ3d0-sUP-9FCE zOwcm&Da0mX%~5f8o#NmlU8bsk`#d- zLV>N@iFhln0hnj~CDEZLxV{noCO?nZsCY&ne*yWs>d{Y1-a+{fGL0e zLf-~&r?=^|de!d8l>1e&wes0(iBwxy-Y221I}E-aKNPB5q{}rQ`A-JdW7>bM+0uAN z(X$|@hZM$h4|xb^hqJ(%DNe-$;PIdf_n*ebD$}%6!JnrIsmoGh~^^ji3vKSVl$q z`Q3`1I9rW-l4x7M;U=dN8jl(0TY&GFMI-ksj_E^RB~mL|EiP&Q*ZakQ+^+$dTioro z>Uwt#jXWVav^r}}4TEN`fur?~80d-Jk3j8-dT{UBdc_L2BRDRXgEf8OJWYEspHT~X za7A0eNn;>o%v3ax4&Y4xqP4-s-2*cM8kivQmO<8Sl^R3r;!#4c!G^&Gf~F$rPvE}n zEae~G#C4iLNKZf(9E0YHg4;PY1Svg|T3c`nocBSQ(Gg57D(rMwnX-ek=)T<#A`Kni zmt{kSms*!swO|+F#dRhIjV8pX$O=5xx3H8qw-at&K5ntdS zIbly!EXe(`tO?>Q(v#=C!}n$cQtmhuIkU{~o`u`oyou~Xm{@${IuBHYjls>Tzo6-4 zGAMK{UfD*6Sh~9cahFB4>Eyc3_6Aph&IN-pg#7kuT>=$Fzv*yo_0TD(#!qxrJ9pge z?4(9{AA|WcrqrI)0-B+9*l0)W!E|rS4~M?WKn@9l5q}54h%h^KF9?DGDi2Zr?InGn zPxkNM`P@`;`1Ev(avwa0jx4zvYIc`C+|x5odi8AiQzng5Q40s`Wh>|uX~9I1AqB8d zh6eZZy>e4pr?CbAWag~E%;>rH7hP^)@5@kIP@W&(6GdqhtTsH0Q2JSx84I`n66GpH ze!Js1llSHigBdQ~>ywfU;yRGcPxs!v(=GKVN@5H8D`(FjXg*u5>6`ZMpX}WJSXCFG zg5~4&re$9G;adVqX+X3z--IJLlV=`5{OA4X$REdsl z00iOBtoVO^jV}lvCw#ffw*6;oDt$+Cc8mVgSD!$7PhTGn$+rLYafnLH8qOU$pZx#) z{*qTQf;)OYEjq-^0goDh?x^{{6!}`+T?gA1?sp$91QtPqzIX z_UKt-GX&~JisZTf_N`tiN|I$&&*$|0um2HUFg!-{M=x_Yp%#i{%Gmhxr~LERm`d<* zOkJ1usz07nT^Mm!`D;1$!f8W@ZqpZ4w*LIcpTDkVf+IDtrSbgF-@G0s3y)Edy+Q*) zBil*U(Es@rLRw~qkGtoJ8|(e?ob=^z&7O!eQViShJ=^HAxxo6*L;8Q81NRBiuBPYK zP8>r2>-)sc^dSS;p6tnS<3JJ zJmDx(IKM>lGQv;ruZRgg!BF^bA5SjBf;wGiLP6<|Cnt&31CK6IR%Wmrf#kIfFaG(H z{WEkyUKMW_eEe2df9AJ8PdGjvoL}Fx>r~u6_%v5@&oTYCk9X;uhXR_*I-U8CCr5YQ z93Gu=YRU^^s7*g`@_GOHll}SfP-gIP>cwTXpMRd}|Bqh%|NpxG@9VxJy@k|;Pyw`! z!K#2sqTws$V#qoxWS(gcQ?k*z`D)E8r-QYp^Dq;p*oSpaHJbA52^h@0L951sJ4J}H z`K0U_Kyb8E1DV+(N^h*2k(wI-zkrM){*5I!_)lv9lsmxmufHxv=EA=Zr~55jxYC55 z1JwT4rD}&OU3HDe`vD7F>6hG?wiM}8e@_+NPVCRtC(lmH;tYJQjDg~D2KbM9B5jNj z#ayib<*b1u!j{$wfD{|3I~_(%4{z52k9PG-SSP~Ga@h=gn$6V#Jxy&TxSmk|`kU?z zkn3RdK(g#HV7E7yv6?%Oji`H|!54u!{f@out6`tRt9O;&Rl@GRF#tnWjGh|$GmZIB zS;eLa`mHjxy>1CL_+=`simaV=g!1nTA{45jojU|j=;zS{u}N3xJsPJp9;(ScMB3Uu z`<^|L521(uBEU7MhVNPdT}ydJpO466eBQj8!{_@j!ma@I04p1mDKyKq^=%hU7OBq1 zJhAh41`zJGD}uC5HSO0PsDSAhn*aO*M*)O$3X^YugC+xqGEPMfQjyLLV z0%HG_T4HM`IM&Q<``7o#%SaKN0`t7mex)|F;L;^>TGRz8ij$A%6FH&q9lUMTMroZqpHto!;X}3#Mx@l;-4pd z1bmBG5XO zH=<9IA0UEpSdGY#0>7xf1Z-|l6#*t9-x&%4WXZKxfQr(HW{gIRnEnz&`Sv?m zyMmuZ71OBL-}l z{WSElqqB#$Kcu9co9=phl}@YxizLP-m(@k`+@Qu3gpBMOF~}_HB9aq&`vDeHY&77l4R){L$bdu&GBAe(A6~`ds4q#8=Co z7_aGQ*S#^Nhav zzQFgn1@hPqgA0j&w{|}7&LvuiA8$ynkNY@bdpUVmlr^c>ihj#cFou)+m7(iVZCnh? z+HOaAm997#rXU%xb|sU^vHVRfaEu=3+BOJZK2{A{nSs?-jnkI&(SSbm<`nlRY#OgK zoxi}~Y>cqLtzg~4b39M}br?Tw4Wevjeuyf`X4PYIY-zm>7z~C!DUJWZtkC=1ZW`^9 zPFgZ>zI-zZD$pa>8Ch(i-O?^GPhY9$Jg{=s`v|(fUj`rMGA%RlCeT}l!^NhDCs#** zBa4eV_CAP49_=ncA2%Kt-yfWIz|mY(dg|#1AUCu5!y4S##_nH1}O@`5Thk*A(#W87KFZ2UA+a(FQI`4irPs~RW) zmd1T5Pno~3evs_>Z#aCN?Z*xY93lPdAuR*x{7`!U5kS2*F52OB4sFZ4ZQ@IDG!*W< zboP4?-uscIMqFQ-Da2$iqQtc7`S)PCh=ulitIJqR%s7z_Hc@o8Yv^SJ(k#o^#-~|U z`Z6+fuju*|L{58zRfF^16kn5TbJ>t1bt9@?dVehNs@ThU}e5K59 zv}Xd~XNjd!Qw=tt;-?@_8dbWz+ZUCQ?ppRRKHxswN?hDNFdUHS+bORy6Q{`i_n}~E z8wdPpZrs`Xk~R%hgGrghiKG6dIb)ZBPlRIc3n8L*S$a?AO*UluB>K;f?aaHuw zOVd%mYD``OQ8BRspQgfeh})-JNnoPmG5uBF@7p##+`8lIiBNJ^n0`bp)9csnIwfW= z%j*^dz(iW`HoTE5vjq{W)5zcszJ6Hye%-rlk9Jb2&AR+|A;*B1PhhEgvi7yFCr|J; zw{mAxF5y*ZAn+xFkxkKr7YxD>J6kJA!k03?+}mSy0|I3@FJj{X3w?fvZ`T69twvz> zyqi9NDm$kW2#ICLIk7q!6oTSz!M7Qaj{7X`%;qL_m118(dNVMSi1vY#QUTiD@oMPt z#j8QhHCXBNZRAD5Yh$*o&DT;+0O{OBlHb9WE0Ax#zBGF9WEHDp3V~;EKqIpBaG#0D zR)wY|mF~5=Xgb znQ8S=ZB%&k`PN*7as_ze4k8FZA_cd2AnsAb_AeyMj}m4(IY72iF6~XGCMFa{DBp_3 z+Lj-gx-wZSTO>-gxgydhJwP)Ann{k7PqpyG@bg*JtmsEO|LdM@HW(*Gs#-Ii5kyVDX}<(vuS` zgxdDBZEHLC$uHxs^G^oR8F1EpajCU&Iy{&SJ$j`JlGfLgREc=44^UpFfi%Bc-cpV* zoRIFemHFm0+*dq~{ra^k9ZOt%>o7gxjLeI)RId#u-_SOXT+uhS|cc>ghPI zE+Rg{qKBnCgqSiac~j>U)SXB>|gsGPfz)6|N5HNCxt`(2wfN?UyJN+QI;hghLk!l z3;{f?4-wN`YnPdWKU)a?lDo&&qV!8VX~(9ThmXuR-Wbk+bKQ1CBU{^{;{B`0h5Zzf zUr>0}7!&`UO^CPr7#MhWPxGaceL-lD$Q+c`xX=;ImT5=`$Vw6KKmKl7oH{eCwYefP z1H1QPQ+kPb{etwt2^S_n zcTbAkRUcb`(%3(|ZsJnyrw9lXoLyPT})2L2m0Gc(74 zjlV=3$FKDzrDmhRLF#j1MSJ-cjD$;K!feTbcvZ-xG*t+0u9W~7imjIB6+M`sioBqq znt1hhQy>J9PdXL_&Bv?Rt^?wVRLJ7IaYzvHBZ;_*N3BBy^RGBrd4C+f9AzNy!=XVZ zGw7bi-n&9^$ueS3pQ7D1_TU(}h#O8pd94e89=_MH?^loLP>-?fyuJSt+%?wx#BW>6 zIDZXtDQhe_Kpl9m>^Xnkr({|N?)fi@Z}j(Xq}-huB`1G3U2!|*rP1go{bQ5$&A8G_ z(ltusaw1EQx)XmnCu$O|=uUyHraV3a7y#02DUIDINbZTi`XGGqq)6S1v~GfjzOzR*nMEjKHJav8#q;S zN0~Nm;FF{n6!%58)*c4rp^I+PX#C78`_Gi_x1N|=FcSBagUvjtXB@HPjji#NM8w+E z=F>c?%-^a-+_ttc_H7M;5f;ajr=|(^$CD4Am|i;swv_npQD8mxD87k&rakpc;IZD}$*>+|u+3{n*tCU5#X?b7f$UWQem0;wM zEt+{|FRJjlu;<4VhVc!u#t)}kGo}qBp=8Ehc!S8o$-f>BwRn?Sg875Idi02md2J=z zJ<$uLLTE{;VAAW#Dr3ptlyoo}i%_`5WX$QRD)b2`G5uXRQG%?e+dW1yGcfz-OG)^7 zn{175I>|VmxWS9zq7M)wuE!syChTNdZn_$jhqKs#8+PqT$`lN=ZM9|0#5N~$tHWaW zR}s#$&A&)nb&OUFc>tBw(zsQ^9`_W1vlzrH@mX*Sl&`EW;se+ zi26Y0i8EsL_^Am2O@(n-%z{nmo(rU0XX`uDj|WJMP&F4epD$ZYzJ;pC;wdFQ^GxA~ zF4M|zx*&m?&0uS<-Z|9%%Czok1`pxeQEReQ4?doYMjQjc!C1GdnT&k5d1YxHuLZ}Z zk%1!IWTVS6@we!8*2Uf$e_=P&Q!Hz#0(u^7ry%n{To)$Ufr6o09$vaY0vc3f2^Egd zjZKw&nAZpMjuly^j246n(bOs8%6@S&dR5bTKc$gf+2W~jqrJ{xlks-Y<}}Q_g=P}+ z&9|Jv{6ntFZOBoA(6lqhAhSAm@;a{>k{>K@ok(Tz%xgk@xI_Fg%PpH@qFYUX9q4Oy z`J`qQZWgyr3~~m$HMoJ3;}kqQ@f)^g%G-u?Il3|JXDy3Cj4eQ&y)ZB`(iT1F`Cd%Vw z4E#FGsfebbaUXpMRQ7>&F<@V*$G_~6Z%bvZx0zRRD)&{i8S?RWT1!2c)_OFfp3aJC z>nmS9wdzhJV^gafpIvnX*IG~T6>aXQT~k1a7!eV@5!x^rzfUyrCbYTT&k7TH%||Py z9;3>ZH0~rcUYO9<6K{Wo&R-{3A~`!IyUm%uMU&oKM7GkOo7R|$rH5+AwGDefJR$K! zrtyM!Ra~}U8QD6hmdpYTyy2{l`{uI-nX{DlGgC*#P17tH+}|n5bKzoK4OMS3rubk? zK%-&@%#kH7Cr^oW;dyrnOZqBJtf1S3FSjQ)#IaJZjxbsEl4$JcSd*eJ;OU$W?HS%) zI>2E$^=;_O-OJ2{UFC#NnS&lJ=4JN;9YGGWCY9LKx?t}Y!{EZ|BJ|rxMl1kdXAm7U z<-&d)b{r>Q(&+9bmEV;~p zy}M2}3n6vyU(-j5lvgh}n^wDP@tkv_p?Q5b=@dtFCiRq8?{3@U3z%`T1MBEf-b1>c z1)ad2*!}MzLa-e9LK*Pa%I*%Xir#U%TYL9i(TJdeG5I*uSDV_NIzg%E$?U2A>nI|h zmDPrBo*AKYOK^RbhOO1gTi#k?s`werDgNerdDp`2n-le<^-OSU(TAs*oykNqC%Ce> zUPS-8NG$hbr&baLwN^u=G~RdZt1NsVO3CRld0TAFGx=$%&Ak9iR#u9YN3U~HIcM&Q zSlX^=AGHhiuAEzgNVjWaPm5=%QdlT)O$2hUaOaaPyIZ$cKaA}iDJ5M#*i1-Po^h5N zMiptxJ8M?tyqHn$5HKb(k}Dn27iAq4sdog4_x|w8vv{M9^#8ltC2-RLlwpitnwV@= z+8HS;4-8laddO{AZEaozB|p+Pc6tBEV55%lCn70jJQVaM5wTVOw#>$;iuk4!Bl=YE!B40rbE#4*dzGVhAXTcP^P+IpP$5p4GaxA}xGW-Y4T+OWd;v|Rnc zn(!k2$|iFfS%}k##TZUkXOCvny6rbw8JbmYx%Vl!L?W!6*-e(%7q~2ovdP(;6O0uF z95~dlN5od?{C4??bG=j5yKD*ON5N{4(&~tzg%FfeCW@oSKOAd%XWqwhDQ<+5cyVzU z#{5D>Z9Kr4JvV~E@pB0?K!IZE(Rd>74(^HK97CP$kN*hEfxfuHq>w;~;jX##pi z7+toJ33!@r)9lC36C_(&8A_A{iaPj-f&*Gc1Z6OGEt~QS7AluVH9YDc0t&5F$BECK@#I^kv@)qCY>u?4j=$R+{5| z66Yz7qkN5ZpJb$9_j#0XZmFBV2L43{u|VyD6Z2ow^&!=0?7XKiOAc}wbGBfJ7veRl zq`-gXnFc*Xt9ZfYxiQ{H`EG&fPBnF3-L12zsSIDry_VV#_ojas#=iW%d`3(FyTLE& zwDscXU)?wt4DQztH7LBbt|rKXlkA6eN8-Ljx0hgoE19vz`@ee#FG<}KBi+r*Y!MB} zxJgoi>|eRUHJ55W=LR(C{a-~N4c{W~c_sCh*6%wz9y!5Z?4`okPE&2r4^{P532dUKDgdWmQkLp3w>?G#vabm$^^W)w)Da*bAVKAj;Puj z+4X`*da%m2rT9Wv-e`SF*t=ie;(%k&Ls?c`ASHuqs;d_>ek&D@GatIn43mi5e3wQU zE49vql+r&~(@gY!WF{W1a%GZ`d2dc&--hDr+`mRE^E9% zZg_=VCz@l!!KrjVko~n&3;UuW<+|{XA%<~RyNL72jf@k5M{_!~?ZEEDXLrwF(TIECrm~{+8z%lJ z*Yozfq4v$9$3iKjKt#b8bdF@XwUFN86Mtm$|VPfqf@e^mP;1Im*n7T2jsI^K=e91%CXU?1sOvto?Y_ zA(+0Qzkp34)uYkq?QBo0?G#@o@lx+_JUTU~9y5`gm-j2FsA>%`%MLBC;3A57bTeLU zFFvZ=s`KQZPg=%@Wzh_nBE}j~_iWH%%k1<*>bl$N^K8819G9 zs$z@FWlJtH=RP2y;XQ4@#rNM{;E_EmuzQFn-7UAZwYFsEbNM)zt*b}o^O4Czcdn6{iAT$Q6it!ne+1oliuihvGaoE znSR+NgRF~(33O-+yir%L7khrB7nPahvcDBg&rGVPtJymjP7bq+iKVgiV+MXkc^zzp zl-7Jw#y{T>a8R{St~oDy=e6<3%kF#)yx=mD$a1M64S!pfhReJb)Ajp_;?3;NId7kj z>rVUBWB!L0clRQj^ns}Z{ciSbJi(@zt3B* zLGpK_G)uatw1jRFJvQa1g-LT%hO6+p1zX#Lg>qt_Zu7|MNbSW2vD@VK^4s#^hM?6f z;)$F193Df$^(9s<90O=N8YAzW8;{rj+PSc^X>LeBID7E<^NY9zF*sVL)h6k|QX?)a zz3m@g{9o0=MYIBB!E&O_k?O1mI1f()S!xQ&ZKu042xwx_G6ro}>}MN{^%CSo2K+Y@ zzZSPI7q61s8E)v#{aEO%=zHYU3N>yPKCbN)i9T4IfUYS!>Jz<1<~?*hE3dS9%N);w zoY=bw?gXn2)t0GxcHG`AW6jma-nqKJY05T>(Z8Bry+7YlO8;V`F8ZoP6tP!Snz_}7 zMwe2u`Vyg@2lB*;ZK5d~gzM61O2kC*+1Vm`YwW>c*@}eRU`5f-cy;%Bx#afpTSDmk z6ZQ8EK4OmS2~{F86d1yj1Nod*%A3)Q=Eeo<=M-c|=tv=8mFD_uuF$}?W^?&@y%(B$ z73~^n)C(rZy>T)WHCSaAZ;ch1I_c17pAe4L%z}HxUoco;kUB2AmKrQpU-ZC+HuS@F z?$JOwbtJ2D#%N(Y?=ZfNF=uK1HY4`Z=A&jhI3i+z?H^ZCHgt(=mjrKu;^TWvMT4kU z&K5QO4}Qyv`&v3I=w#5mXul>g>&%zsO>3^>j1Q#}`7!N(!GMag6eZPDb@zbkXKkTN z!HMv+3`QrrIq7!p$`N&_(@5|OREJ>`RZ~d!=WhZ=J}_?;XPlj}ApfN%J(3|9^F=|tIEZpX(^^1o>9G?#5%t=X-qJ5)!6c);g#uQ+V2n4zBetkMlLG+DfVhcTvpv7KhX-jg)>Mya2`G*F&f zdy`z_2@9pfiNSb(%YK7XHhw8tkOm25g9ucIdxZB5!O1evKU{o{WfekJ*nH_=i&50% zCOaP$_o`!JJ?3$ zA?Pg$joc9mOIzKR--SAVX?fz5-qf$eWON|8)>{8%T%;NzpCu{fT!O-rz3ZFFlE_j% zY7R@!^Ykk>MV%g?L<{tqBcetQLg}%EjY!d|P7yYt(Jv6^?R?X&h=b zJF7h+3G44{S#4w2F1#4oT*v;gcceJDGq?O_g|S8B{E3z3UPgO#jHz>8P=kn~l6Mvtll_h=HXlL~;mahf{?qUI{#~*47bPBZc7#-#-cNNIAUXD_ZTB{us;G5e7 zIgLWuO1a81`!Zl>W$z^4QZyt>PTVr~MyCb|O=#$<<8#UWlP$B#Wa2za(BsG z)wfWzXkPYdUxw=35lxYSXmNf{oF&o6R?}vgXqmmPU}uwgnGB>X z(e?_7?0+}s205BhiqM>I;Pv%O3{b33k!j)~=i{F=x4J9AIUj?hxo5xLzdLz3?C>E- zYyVRLm6>S$FcCIU`DpX1)fNA!IgROJ&}E=QFFI`^M7}kc&~He!=QdcIZb+tOZ<%fh zp|#{XE{#&>zwfvD{`N9=%^plbUWrs_w@2R)TW}&PHJ@%QdC>7TvyOR<9iJv!Q7=;Q z7f%99`9uwjoLs_^vkRszsS2}-e{ZB5FFmr^4%XSY-oUO&e$Hu?IfO-HZ%Fok}A}r$}??_N^^^ z@4NTC`}^aKH^y-cWav3(uRZr%bIth)4VA97&eg5n+2=nO-OUo?R8J;dS_@^AJ_zRR z6i;oZ3&*(>d~@c%-nGzXz^=9I(Uof)p~-ke;c*B^ix(d;VaNeQe30c;kMlkCM%v{p zg#>oI`y7%nSis*4Mm8(U`K);#(YS%Pm>$7?YO8(oh%JAz>OH0ULC4V)z89hgvgjqp zFY6tGQ@w+8@+`G5&;Cl6Sxim+e9|}DhT9t;3GD2X)>~Q>{BwFoeWxl>*mwyXb{gl`8j6v zZ%KyROGpK!5A+|I?mV*IHPoC5cv!4=D>^nm>ggIcG{8zz7gzHi((rz?M;d7aI5BKiMTVM}ZGos>)o{U!wiMqU zqjsfCLRm&kwMw!EPFH?_8X?P*kF0NqmeAe?)=IX1tuSI=lscbSbNjK7tS}lME)2Ay zRO8rlAqfGZ_7uOAP(PR3cRIlla3w7?R@ixXjwPjZ&+zy)Bf8CjYA&sM=U7gQZ(@6R z-#WMUd=txDg0tM8h{SwP-q|{G&CTkU1JRJ=L5~Is5aNhv8$o?m;UmC-H4QeY%-$dD za|@ot{Dw`Q-}B91acJNM@g3MJI+)9%ALQR7&amapbA-g`c+& zMb{~egdBjF*4f;Jrn-SulOk-+U*DtYZ_@bT7E7MiVecgPD-eSeC<9XR0jhotL=cBO z-5PCnqnfowdqE_w0mV~w0Csrr5y;noCB5e4bU+=1z>JfhDhJl=rElw`YeN!&;j5qWG^7Y^x()v2(MsQV= zC5sDmk{e9A4x%c?bZlRU6pW}M?~EJqfKbaQc&|KrLU?ZLrQpC6*aR^sHj&7qmx&&x zGynNi3{7C83rO#p3)5=(tIaOE%$vuqnCb@XyA%5cMCkLUW}C61p(FUT+xWE|mZv2S zu6WMoYUj~?PbgND&zh-lUil49fp~`s6SU&g(Q&pL#&uvTL5l~oC9a^!ZM7ub{CVm8 zyKRH0E6i@HU9Gdf0pqECOW1}Mnin{nhk;gHcZq;NpkAnsscs@5XN<3#RwbjF2KNnp zcNq`05E1gdRv0KVh6TL;>EXN@61J;$m8gW7oMX+Wi0BN$vrz;!do&E=?sx6g?sM=Jl>7&{g` z5`s)y1sWH$amW41)5apr^FA2>_k|fSSQy)@Y6igaU!jk!J-0rg`l5tr3&cV@h_^VS z*T%B!CQkp`;bLna{#xSmi6$@;X@`~R66#oSi86$@+1c!yO}+k`PnM;Tu~Z^LoDme2 z^LZ1mEQ-8h4FK`U>n4l*iF)1-fpt=dt}6`=DcP@QiO?XS;XT7Iph)nygfod!(+Da{ zEer&l4=+2Q-1P<*U$Z^G5-lnt@ZK@dRN`_0)zayRtCRlSw#e8J5X|llIo-jPbh}xi zKCCa5v^zS}U&jxg5*+TnTWANQnJ+b=w>t6i^V_14_xw5BTdaXfwPjDH{zm6K_0zjm z#kf4P4s?F9f{;q(f!nh;1GSamZNC&VyNv1{53opcfS$Wx20Fl6eLjaAF<+4F`QDaM zA&KL1rFt@@BnYpLiqH8?!`h-6L%mh0U4o_|26;9M92zE5iyqERW*E`HsMyyWPt!=;n~-(UX`@&fpM7^1Q#_tmnSnD9?)oNDt1aZdIHk=Z)z`l0z) z1{rmz{_U7+j?mzLG3(^fB-=-lS+Oy`#ATiTyhvccbxi<>4+!I~qb%JSzB}7W#Jxn& zf;RUI-O+csq5zv=15BekEz?)pI$>b!QAeon+F}s=N2J8s=hoKQRDFr^kY|<-;Am*8 zLz%|%BbRG8=_+>IQzYcro2oYZFw-5XYDI6V+A9)OQ~<7hpLm^Yu-q=gKJN9*8{K+E z(!th?FinrrqZ3Qks%0uPzKAMbxWc?xJ<$7<0U=WB_Bw~>nE?SZmc~$IWh+}c!04~S zT!t2e2HFsf7OjO^-;foU-|AmNg%z#@nSSHN1>igv+%G*7D(2N3Rd|=ODM6y_K$NcO zm~VX7!n;HU2kOL41AD0@-(SQ+?a|%vmv8IJYac+7r7}C;Lzkc05$G+PZ4M3^9~W`L z3TU)s3Dfgid=DQsmz9fF4$0t!geJKzqI%tn>xcDPo!38d=ylu4e-^cBVyY~(7JeJM zH+25!XC`r7fIbjigqRr7NI8G&9M@z{6*SzKN23yKM>ET_z#VCE=9T8@tQNiOtl+2d zffw|sr+$w&O%?>jrZ99y=C=?t@U{?3tf>nWr%o0Lx}8n)G2)Kv0$U{TO#AxE8c>vD zqQp0^b{1ann=$`x^>F+4(3R>NM0|vJxRhV4E$tYSE9o&|5~zp3OX#ea=<&y&m|4M& zxi-qKov4>Kv&S=Gh~NzPo8UG27Vt*2F_6xGE1eV10K^c(<~&)Zr;Gx~rvad3LpkrQ zbRZkAakrXWoaLW(>zS>xJ5MYUET`Vz34eAVL4-5(YpqDj)b<>xFB+d)2RC^y&&Y8! z&ZV25yZ4u!In}!l7NMl+w04@53+!28JcsYv0mX|5$4t1@rpG&v?Xt;ps9Znin56Z= z;X1^n%M%S1PFg0urK3#KUI(~THIP;}9arl_Swe}j>eB6Vc9+Ek?{AvwNl2F_(PZs>JjP&GrL3UYkQ~*dVg=G+#1p9?NOC_ZYLn` z4VW-o_AnadL-@!>ecx0O+o(~It{q4e2@u%}<=L|e49na;2fPDuS)Jsx`M0W~+OgNp zd99Jw661ojM1FNALx;&W-hp4)lDG-a(mJ+Um1?llhm&|fQ0J+!KTmHzKtJbRC7|7Ku%qgVDZxA$ zq8P3IgDDSEdB^_dvGv-3)TlmoTH#bxQlN4>*Fst2c0dWroCNwuQt!03If7hV=67PPA{=KW6;C+wSLz2$J zlc}yp^&5b=MscB#p4&L#nXqVU7&Vb4`WAl4z$}EdtB4V$Q4|u&>DuuoJk~WtLpq78 zv)u%@wTji9bw4D>#AIor`&~8X_9;-uiFCCz+Vsyt7Ayo0N5MGOqRB-i0BTgZ&MoXv z&*ns!FLqAhNlA-aCEOhs00mkjYheO5Ul%wz<>qdr!WicMKSEaQk+mLLfED);AE>t9 zN(#uKYRqtWS_557J=kcf}q< zDCzr>HR@k7E7o?|y7Y;KA~cHnq~awz8drrRD8C&e+me@mrh=i>Vl$9gf2o|wn86yi z;2=7Nhe{Y(G$|(5VppC1rUPYSw8yH1=LyArXxGwh>-!*3y{l_Y#mKhklzjKTi4NWU z(0F(_Zg4!C(0ZS|Jys)Gy`Hw6JbZjlNC;b`-%aD3k<9^UaF-L=ygcMCYB-7)1W@Ly zov+G&l=s(F{~jdZe8u#5$w>!`=ZepM_)2!8ESaA<&F&Y+5+559cWzmll;`e~xsg+2 z5t$B}S)f?9y7=^#y$cQkTdUqW}>X*W#^l#o7T%#cYf% zIFl|gs%ZYv(yVVYpk?_AVFqsIKt@G#L(fD2R#Qt+NAp;+OvLOP5g*Xp9-ZI9w-<`Z z%$~2EsS@UOo%d8N$@>622U!9Veham@BGS8m()!Nr+Dv~0*owayjrSK{9t!DG^~!<9 zmHmRZw|dBypSm4rS9z?j@79}By6=j+0HKm!ci^3z3Nir&1j7s?Z)iWcmL)hGfSd4e z{_DFQ9gP$7zuI&Yb?1P2u_rzp!>fT4lUe?hy2qKx+fw6&u6b&bbGI|SDUv^J9(h5F z(uGhj-a7YY0XeJNX1eIHibXvDgW2;uSoNC%h)@qLw=~esO2#GCEPu_hj4HVZ@zwKb zDo)FrRHs$EMyq03=18YBtVoZ%MVZ}i={-^(-!6Vx{JzEeMrimux$R|R!WRX(P6mv@qV zRnXuv00-47^e0z)VRnm`mAxDJy9W~GK|KBrRXcYrKR$A0n!J*LQMk_EcDXzp4^ZO+ zC7+{Mg`c*BQ&ol&c=7}u_7~QZ00^}B@aC#fOnGla)60GN@yDE}Uxi~#ZEQHaUeN}v zF2{dxD5|V186c)O|B0!>siEh*Af^nh%idxhUqV8cxqDRjmVg54u=%}@OMdgIX1v>r zB$G#k(E&s{6R0v9&l1(gyC~eOG#=KB7qlSW{u%7+1xIs^5wXhg9yYuc;2FF@gimtfxm_dN$FTKK*(Bf5MEgm++r#R(u74g1B;VHrc(6|aqox( zisSh5<^@z=;h^+-EQV`(r*%u$4EXH>D19_hRC+-<9UysIKHhxgz|hjPpSV*_XFBt; z%jqYs-D1#8g2?RL%=;B`BSBRBC8h=~>klqS4D(!K#WubpVEZHmGq})tK0H#dlhC*T z!R=~Vb(ri-s~0fpx!WR7Y1Abs2Q!wWw!XhYjCMC>;O-RF;4k0y=&R|anbw)QnMR-8 z{6SslKnalh@wpLs57|Q;RUD~5u-9gj^4Wa(^WAG}QvPmtojagy)B^s^%ct6{EHBpk z-+G}AIOK!5yGKbu2k<%?HGXGAa9i?Bd(W@+UVnZ}sQ<&EW4K7xA%U~{qu#{%$BbbC zZ}vh^BB|^t$qHA=3+!J+7P!7uudEl!nla)0e*VrpohpA=bp9P;Yfc%OKpnX_Zu14x zu*>fDknQ|fTj3QW$(hWs0XTnM))}R;UzQ~}u3IR#%hnj#Xa<2pMkmg~R5%Wmexy%| z5T?!xg3B~SxG4E|2T<+CMU1G#) z9b>B-Kk=aVSkX;9Oy#=oPYAM$chw(_Ff^VAgjNGSHo$PNVE1`nYtU*l}NplXDjiW0>%|fR_FVvTNMel?D6IgU(St{7hs^Oz5F7w{i3!34MeIY9SjtabSTo&nkCc4eI$E%kUNOcfi>pFsf#_+v9@ zFzFKiClUOrY=_S#}9);r$}aHFW{WJtb|JCU#7tQ;7QT-q1bda$59t&Pl@$X-czG46~7$lT8I# zEa%3gwsmt2C!YI>i|6095_b@nlsnN9V zrp%;NS31)q9_QrJ(1yA@e_v+-?>bp8)d+h*)FIsT1F_d-VEABso_O64baDIkNQ>>$2&Pw8@2m~7n z^|sPx*h4dSG#{@SnCdFNQ9T2zcKvFT6xy zIkmU`m&a`pf8CMb`);tN36X8a?4GlMxAAx~4=9KSNfdx&)iz4DFlGd#gWdpCw*S&G z=RHJ!Ai6R|Xb-w0F2JtnRaZyB!@@A`uP9L5T)(KGHGgd92+eMgZq^(LTkkKuR)qTc zf<1f`fByYN*v;MUnm;f!fV5By)B_%ZI8Y(*hS-wZv6}k!KpWU#22e#7f#3;m*U^2b zrdF3_qWBN8`QLZDO@DpSSQZt`kg8MKyX(LX^I=iN0pIXFm_0&s11#8K7_cj!HyV9j zfyQ#Pc>h|(n;&lVN~mP~qXlq%9R>y0Q5AdrwnwbeE8r@{kb-aUqN!i-{~;Gi*ZhYb z!oMjeWPiGT0t~p6BpIR4j>Wk~pZ1~^2109?LJjDb;fh&v*v|AiT#$wm`tzax&^P!u znmbS-{fi1|YI^gf-82EY$YqB)bV~{#U9Q5iP!x|Mq|Xoh~2PoP859;kmsU zMqsg!gKydg_`0SV&{aOW&I+DrxOyaFfb2!oET{JIf8Y0i1;F1Q1Q@Sxg^QAs^56Jt zxQRb~l3+dP-PReeWBm|M1FeCI$~Qn?MT6x3ya)dTwui)ZYhx!NSVan2BPyEfKvF$& z`g{KnrLTJ%D21&t3(vuqlj%r>^hy8gtL>jg$&a^yBnz(epGJv@eJpry!}6Q5Ye@f3 z+cQs4cF8N|lKt0r0>AXXd8YlTm?NOs6pz?-LL(JRr-K$J<=OS!G+4pTc4U?kfX4@X>L|c<}4Gpv7dhp25Z5YeiIuqdEy;_!Ac}~6C3#Ihbn~X$XF734J=>&Lq*|#e>pLQ>#r6L z`>p%;oA}>61o!w>fUKApk^uen4NY_yd2=ZV63V4IWpC*J^lsm8ro8cRmbZWL{-3Vj z&RJJQ`0vKx@#OlBo~M(Ihgh2e4 zw*W`b=oX8t_WyJfvcqm3cXHVdIw&5;aIYWtSMo&@&~>C7U*CnMbbB;j7KO1N~7lO_j=OI21W#6)XfxHCcVCFL# z(O$p*xSP-v7D95&-RqRQj)0r&o*1J#00oYiD9#NwGWXs}#v6!5{zY#f3F`mNK#abT zDPSNwL)diELAQ0j(=-Peo^Ai7@dMGKneDorr0FtI&cJHmr3H!G{T2b*#mhe+>U$>8 zwp!K|y$WvzE^mw54afRkrR})#)fjx!Di%*uicp0P1|_z^spZh)cBe9sT{1UVt)k@S zo18s|c9U%Yj5tDm6Rq$tXbQ*=&j3@V>2P&!mOaQIts2b3JL8-ncmxm(AR<`Npho%d zZgS0VEY5)y;Zp7$S2wUv&^!iQ^E!w_Z2kr?+Yh`3JOO*X;K3Axrf>t0zG{|w*Vg0z!^kALbA3v`$5`%Z58S;#iEmY=TKspBA0kn_jz^PVONVfeF zzSJei@X;8u+FV|ve*X}D!Pj&e>b4vyeL;@@4%oq|%Vq!KC`tVT=z%*-v=C`u@U0To zA)_~FlJqFgzn|U$7(|;S*e}#9f%{aPOgkRlsrYFBbkOLGPMvo#B6%ckElJf|Q$gDF zI-rr6&=dHKz?%%=Rn~P4kn+GA;xWyD-u(7L0Hw1lxdL7Y98yRX4Ea+^cSULe*lx~5 z3d=oE7aWKwL-_wHaB>Z~tCYm~wh1D!f#48b6d~kvhP<3+fXZytxyu3M*?EDHd>^MX z(^dD2^Q2`%mJ~X<=yArtxuC|FUNL4xan%vNskTdlwO>)lNz6(?Z2 zM*!&<-@)DpqZycA2;uIx1C6K`QT{+&Zo~6X*1>2IOJfOeiq(4P88qx*124ZGW+yH4O8g~oSOV*5@(ajha%?Sv3zpxp~ z&y7gK#9=#mxrLA$1|aCcWF5gNF7S9SLU%Ac2{(eKCaXGDD*$O!Nf0Tk>nWA*t1Bl#$bVpofuIBY1h3$ zcLR=Hk1LbdXp>LBnNLfRS})&!Ve$20II|VuO$uTkTvLToclJ#=^aD*I5=yCJST}_N z7B*|pjY70b!c)-3$`jZA+V|=+V9!?rUlhxy4iJgmrL6~}V4mEY@vt?8No1*~akTZN zF2H>uf4bcevM>Vi;u?e?cB>6Az1-M{(%Rv%8f&BT8hHo;GWN>^Zjky%C`tXL-%rY9 z_BtG!=su%6HYs3I=DJ-m@+q)iGDQ&KUsQZrqp2s29f`eQV7nOxc=yY2ThILj8z4oZ z+@Emat%|ZVss&_@ks*iztnF51SPHrZC(8tAel?&Vxd~s9W(T$)cA{IQdAGlBu__S% zV^-x!Hw~;imdpUYK7bDy-3iE(`fs?tl_BkNHr~Ys?eI2m3&@q6@*{8d0@@dn;K)IR zpm$UH6{6(@{4Ey#Svtz+-lZzn`k5u$Ob~%G;}U2+PLX?_EXZz zhdE=k#~S?)bsQkY1-ME;ifh9Q0W5$QIdeciD^kT_@C%>2&!r7{h=l6F(-hWZzI7A~ zO;{l{;2EHnGK_%N<_mO@2jL3XA-q5}o{FynU(HY6vkrA*r7*Dt(UKAXDZ`pVA@?&E zfOBKChqqldd_M*0dsX-WTX8eO7X~1Y4k@ib;)}~9q98H}{|dsa!~=8{fV4}qDHu-4 zh6wGppEM(4g>Ys@3`yMUpH#XgVof%)82_yTqHd}HZC&BNg8890rC2Ac7;!eFtH#oz zWlQIbUsuJM4r>Ze(PfA%zx)!2e;dzZ<=F@dv^^apQAhy4*sFQ7a>4S1wqbd!MAe#3a+ za%(#!m~>cad6vx}PuXbw1S;z@t0Kpb-DI0sZ%Pc!5VgORy_o4uomc9^N&_u~Mc{RI z;`7t%(NF+aK!8|4TMK}*M|V6xUhyc+fBG4$^rfxF92brsfRjjxL$ZtQ70m2UmSUNx z$+ks4e=;6JWi|SAVnnZ`akBeG*b`FQ0cShM{81Qaez}uDTTpU&%cVIRB=mC*kU`rV zWnOE5=SGZT`MAo|yaVf09&b9l)SS(p+nX2IFY)h*lW0HtF~0yY`q`f`w?UdXnye41 z=Y1;b0yqSJ#;NPC{|5SpM^!mX#hUC}zu{e!$9ehpwO`^?f$4KtAWfmUhT@RE7LNai zNw%--*@W#sjsqw?e@}gfGzyl!HUhe7AwkC%S@kw>wI_=~G*4atPijik2& zZe5lp#o}7z(t5O3EjULk@44*p30&_Sx0fU8($W^EdDw?nO3k`5J~os6e4OM^4^X6y zLitA~592H4C`#$_z6WfKqPG5!I51a8%96c1Abh^STy$opOn%c4+wo_m^&A;Oog60P04l_xdyP0usS z>+K7IJs+~#xXqOQ63)~c;@#_HK7x6+Y~cFv5bCQVdMKpm2K*aCMPg zo#S=R>zdU2?|OVc@5ITBcFF8H+bj=tKKFQe(dL4Ex@GH?aPgo^%NWp&kH=33!g``V zFpK`iB0gTeoH6gZXOC~6tnJ7~*%j^Fe|!wN0yuo|bOQu#h5jmAHi6xrQj|P*x{S@bH2uwPCP&4B`*%0&h}ZJ=1X&;lflGL}*8#xxoOJRv z4&nNtzQF$^4j*=Svxqv7-*k0m1Ef*IZBJJrIV3Og6-+!6O9w#1tDCZ^d+<5rLz_xJ za6}+Tk_k_?bGgi;6$wh#_DxopBT^D;)wsFqN{?!B>!pD^buL~_YzLxTF{1pNlLpH&A`6h zqQC2g5rArWE@b^F)~r04XT^w26DLXGIX7{i;3tN3-_ocvS#J04^?QrexfW%KjY~gL zsQTlCIm%Xff_;FO!H8)8?07y=`X5w}pwPHErh3aR%iyO8P5H-3XJ2Pf=&i{_56jnc z^Ul2B4b|Vdzg__skY3h7Ba(Zp*v#RNo=_>M!?DLf_(dNW9Q6EfdNUoSx@RIr7=tB5 z>Bn0GguJUy8A;e*qV~GXGEcr`BYG4<%-zZQR!Ion-ac;x^q*~CU)=BNcsz%!AvY|Y ziFzrD{Lb<;bZQhd+%{%TP|`R_DG!C6H?^vOufSyAgC^BqdQkOs>+4Eq7UMy|C^vik z8fyeZx0hTyv>dENiHRoEb5u=D3874x2HwM^e+cL9t(Mz2cD2aR>4L%05@Z<#B%L5S zeK*?Vu5>T1JljGS`h(lwPT%YM0Y+SYyYo;i9w>at%AYR@{}M(Uww%LH!s=o< z>%rEXElIGK3#^*5l@846b?*K2j*Da|yBvOd2jh}-sYeMtezCGeP{u3vs4>9y(V8K; z_>|H{o60Y*!#o4U%f{Ah%CjpK&6#ETcJT(zSucPNs5g33O%WC{M`XKOkTxep^Z|g> zZK!4XN)lW$gU&W9p{KarVvr=gs+oszv<2vxnH8r0DfeQ{3^-{jsodf~MG3I!+|#!F zxp9$r0QM7+8oyN}^w+^Mn=o$|o(o0QBij@pCI6>wuIcN}SIS>I;Z#7ESZbT^q2E&X zxjlp!i-U}+Kf(=UqHkI1yr9F95@oNRN3bm>V&4I>xhw_W_3d`mQ+5LG8n(4Ard2ZKvj{qZ_pmVyUpeZ5N>b6&H`TUlmaJlZ> zMe6UV$XG=7^Jb5CW@sCMGj|JQPj+F2(;GCLua~SK>TQk?QzQd)1%9{|(&I5RGU?{9 zvTB@42|~6Ccv$?rUoI0X26&}#&A-@7=^#FxH4nj&xwqC1CQ^_QS0>9FYyHy((5-j% zEjST)Ps5b^;qE0RvRR3^5;-zfJqi&==hgrag&N`exu-FtJb6;;=_05^J!^W2-Y)(=GFxD}!{ z>A^}oWf*v0chj6$$nm`YpcZ7nH0LklJ;x=KKn>Ndo1||fX|jho>&v3>B~F+%A3_WDDG>KcYykrc2)?RxqOdmBhfH9m-br(sFjYM&mK z?Z$w`)mp;J_1PWk@cl9R@DkabTU)|+4~u~|Q^3d*>ArUt?|al|@rGN(P&B`n9OG4* zXaVt%7sJK&KS?cxRE56SwW2;)S#D^?yKVZCo^c9O%a+--_5_F=%nm16C6v$VKRG)R z85giFo2g%7DuwZ3pJk|Io-!70W+qaPa`pPA8WYf0&Kd^lxK84E;BGw_Wwtl5@ZT_E zh3yD$5!2=kUb%+xhC3uzTO7N_7E7@L$*h{Tji(X$yvm{^mAqo!K{V~Z2soJY-(x;g z7i!l8VA*sG&Glf1{jkNt*(0ZN#rg_B>lg5-dw|!Av^akrp&_~ei@_Z=Ql(~}w7{N( zb#v@+2CHhors{VwO3^f@GM@;QKiHEq5c^{F+Nhz)j*?z!^Zp-5BLe>LDgPvf2R@qn zEb7@iEdegq6v`4ggGmYxX3JF0MJ$x5WMi>TL0q~5y`ewfMd6p}`Y;#E)sK4hSOWHA zM!VR1-I29Va-Jr28~paFTT6Iyp?(-m-I#AeuoRQqNWNUs>r66^xWqAuy@R#HF{?U- z`Lht!merJQi+p8DJh@f$#Q3G@6wA)-)%vD`DtD8$gx^(Lg5Ayt^K z8&4h+^BLklp?pIAvk@Saxm~jt6W2^Vo_%DQw3y^C`gR=2^?LVN7twuxq1K~2KlUMA z$C-!DN8Zn_XfYd^VP3~vKeQZr=%cgpi24{KS1$O$Y$@6WM_JfaG51OD1%@9Z=Oi(% zo8A15>{a2@;m(08senI#S}f+^TK5*zS?;|dzRrA7B;;n&;ilNv(@XB+-=$DLl1J&L z;f|7t{9q3EHoUX;1TmX`P429w2oSH=FVeKYqTbG#z<(=VVccb z)^@M^_L(BJW+;&S(Y7;vIeS780@GqAz!(XkcoM$^@0o&JmyV5}Yd-0wR!e6vQC^Ih zB>H;_4VBTa@9y==;v1n*y4&HlDGnV;g?jaS8vmZ56d74H$4>hdcsm~Idvfu`qx*$j_Qv>P324T#m~cO9b?eGt7op{G z7V{6aR+s~mCe!`Zah(yBPYqth^266X&-**==fgfXvIcHdwN~(B#M}oxEZORr#RY2J zkl5F{(m5d?mIpf*gSN|EvZ7sO@&Gg8l1_@IeqY0`Pq7Ib35%|NM|{GVnyA(e<9K?s zh9HKge&dH-(7D1cs8yTWZc8EE-C^job44k}-4Df3TjZ4#axEnPCeCSSoD7o;`-wey2(>%tVFAJ>ETWM3&)1WXWHe-ccTuYhJLqqTrd zz~$(%W+Y)X=P#@$GlNB4$lqM477{GzDZ11T`wvP*@?NFEKjn|?(7MBge5fgKkNd8S zgZ{WS1z*f)j%hXO{WzH=1HBU2;&NLxhqC4HhhB(~30x2gePdfCR`L5g@alq>AEl6X zfcC%jwhtlaRcHI4_A{)TAs$6;usYP7ti1u3&BSSO{f+6eo0!%Eah z+Ptc)IM_ggkE?~;Z|qfjB!gorlbH`VO!CftxV;Js9)R5cWOU9?# z75;I)Ec8j62>^>MP4uaKEz-RA6^5#nNKF&im`>Eq;ALNQ{EdG+g}HA3DRZG1ti(4> zWskAL;lxHlje4VTn?T&h2dPIK=gw1l8He58`iox;@B(}M=RPmRftgCgmm1D=R>VLg z)DL9z7}_xhCvUSWm1btoH$9wp%G{FoFJC8)gtO&!r-3^wyY4DeZ@vHbox9%V1IAmAv_KU_m zBw9-`6jKq%dd*d}ac})qnWe|GLKahp$QqZcinpChhhXSeZX#pg0(zja`Xml3igl|= zM;-Z^NVIvQZzSyZX1qW@QvPfE3MXYs|CGC62XY@;`_JSWaSc6qL>J)oW!uIe)ff@l z4>GJ(r5SVS?cEJ0ViH_@bmkWGx;^e58Vuha4x4{l6+HOc|D79G?^2PRN^k1PlRa}` zj{*CJ89}Z`_rHa{-1EF8$?D-Y#fJraU_`NVM2V zp-k#Yq>GP)`imXa^GE8*kNf7009S&XOYrfp0Bdp&HNDH1@kP0pwT)`)Z(T-zDvda; zuCcl%8-+yN^FWqD9{P>Hqk2G^D0da&xh8MGA{>=rpY9>Bs^c#oYR#oEY1?$!YY{(s zJRTVbylZKu!Jx+UG#6cFsRQ)jc%}hg8D7l!vh5wcoZi4U*B|D3);wO|AmAB7hGMj< zGG67*CXr{|$b&dLzH9e9V7bYgQ^fW#EOd_gbYD>f6HF*dIda|B0`<`;G8Gdv-dZkK z@yc5>T~c%Y_8t?@nxo9^WVwwhlj4GKxlVabV7o)li;OBGhTu!j`TNR#a1HBYV-7&B z_y*L<9C0Oik_x3GvTW6}s5~{3PRkC#H8)E;IRPvlEfz7zbq^97?J(rFQr&!NIzsm5 z8;+eN*$SwbSaeU`d|{2?k7KP=J?kXyS`%YOdnEMqIdgarinuKPjDP7%i7)VI%&1kE zj9&6DefBHvA5DLnAm0>8LcQlnz=sS`iijkJu(LWE>&S@&LoU#f*FeCo&&mS-je68L zw|uGO83f2mL4`2<~tzz9?B>GdC>Oh+K+i^YnOJe7jL-|tG~}B#?FtEoPBG7Uw+Ds%8e_3$thsF< z=&388JXD{oxTA zWr5EuL$%l)+&p7;7`FwVG{cYfXL`&vEbynQy_jIXRo6Rjcd4E@hQL+9pPBOJ&xsAw z*^A$3?yS|;6Fmd;WRXO=#}c2Mg9o0AR|7}Sk7yUfG_X}9c`nWfVt;Q_?!`qT zu2UeBk)FIn=G8||bzF?+O?=!j+45~z^4T4+I`4Y-l#0YXF7j?D)G+lylWn?#?LezP z_d#FXphl$bLL3ORRiH|V4+uM@58sBc?PZAfe%RSu=3db{79zP<0ZPHN?>|mM)G|GZ zgvwt_N7CA)jhH`lvYy_q2|v!#F=I4|XnPaLMMUvRMOTfm+d_^*XnD{%m+rX!&7e3+ zY|F5DK(t9{fZIrANgJl19~f?Z8Sziws+N<*ZYxnVpD6pqKN}daHj;%BvYuM*=84+o zfd5S>ba?9x*^WE_(vRXfJ=KE;#NChSlqqbNkF`CGlC`Yg%vzC;)t?dJxF{A|!_5F_ z%IWuNarQN6i$+pRPTnZ@dMA{IT~;kj8Il~$__~Oe+r`hGN9v77-LFw4wv<}?=v2=! zmpSl6bZ(1zqr@|7^l?f@ChiyyCiwc7i-mr=KeC3Kdj&%~|UQ$nXsvHuS z4Zkz$aur(DBGLaf&h}L6y~fmq&ij?U7cl)-1k!o?r?x2?$XLvCEQmt~pHG$wdD9egs<>C2OT2R1ql9}}M$(QW?$B)!WhO3iC!*rFxzt*(3RI8q z58Is@Qc~bgG7~K}xRwR>GWTa7R&C*1!-TVX7l~XNt<@P5S%{F0b_e?t-PjCX8Ah;9 z3a<1FGcjRCPFv7qM%#`YfjO=RdvQBT)UN>EX0}?UHDS1J*3^XAe(lZ*G2<2pH^)?= zZv^f+T@lU$9?Ko2_s2oUq~tzNUr2ehuKf?o1V*Kh47*c`44^ojB!x~{wY5mCkX!u9 ze0Q+WfGWu`DDZjEdvUB@?eyMQM|tyFLQsBeKYx62+5%WA1=Fqlf94LP)3J07_R*iJ@nrvrh^6j#UUY5x*S$CFbwtna^}tMW)4oQXDq+P$2s zgFSCVe|WME41kUmIe->?R{Ai)s|)6oz_%{x*U5vHs<*Myi3c-+@savd=<2$g9rFu- z*v1;#I!SD$PPdW64&|{!Fw$Wc+L`yjp%sxtz>Ro^bTv}Of#-P=Dhwpd#)8{Dt2Dky zG2BK~z(!DT{H^&vhR)K?eQB~!X%bI*aOe}ahzFd?6lYAcLokz|Cnou<|d=PcG71?&>W-!P&DJEk1dQl82*X9y4H z?73hgVQx;isuwt1eUp3$6Zp(TM3J1(Yp<_$pVJLk#PaPySc9OjI1K5xhz1^@Pr#(`p z!;p_vbDvaReH-dGQ9z&jUP~Y3oKovD z_v>8b7=TOhGp>BNpgrtU(IiOV8M746quy+9TP2q()ZlozFggYY{$M1K|1yoMO<;46 z<1Iiw&`8o4vlr|zueCx*!WB6i3fGWSg<)3hnjE^T5*RW1dZ-_-tUj{=DdkjPzrai_ z15Wwo8`tf)%Db<37D^ChrxXf_*b(Z_Z9%}OTeE)0JFouSF~b(M+N740Q}^Oy>HMh` zV~rpjfQb3?f%#&`gRL_kP&vIYpqtp>p2hM-@w~eOgm1R6?+4F==4>Il?`=%qW0|^D z5%p=jkDqulB5!~_^~cWm6Wm0+C0bS-8uXv_68~zmFwq}B)g1($wZl}!r#wNI~xknDFDkh z$ZlAc5hp!D>8zLkUM%V4VcQ>Klk-0ufYG}EUjQBu9A__d=~tsj&cA?vEXm)>RzCQ| z2s94*eZ%<~^zjWo7tDt9`^8D0ilZdG3jty!s>R zA-Zf`beZVY^kTd&t=~Dmt0T(1hB2}!&TyGx4#xIpG{4JdPWUMwnxE|1iQhMs4!QwY%vy{MUO;z6?>Mc+O%HbJG3U z^dcwA4_BiVC30d2-x-@vDCbx%JhuW|0%V#!`J(JtL0WP~SQ^`LZmmI`TS;6V;rz~! z(jrl|k=3o&gh9~{9H*bbeOnL<73*T%2iE|#$6fP1p88sbyk@)UgJ<+>N`hO@zxl}Q zC=xtKWXFk^r97Tu7E#N1K2xY{a+YZGW;>B-EO&9+asH$B$f$UXyKJPZ$V{g12GgqQ zFl|m$ZsK)v5<-DQ7OMf`=|d?elT-6;6#VmxjTpvY5qwY8z_giLgrdEl?ogNl{WUD2 z87hDeShpyH>1-SlD<`iwW}36JuG&zV65?C+ooRcuYX{z+Q1>3y&c&2TxG(~{ zn~v-&F|kiJG2=D3D9U$;P*a<`SAc*ta|i){@;|vvc0b{*WzU8!&p5ose$fK0T!=D_ zJgxX8v0rvIo%`fK#@y{hHsL6i$Us)>~BN`yTk$&?|L@t#KMg}nYo#@1LCc*`LD7bUV1Ruxdx(5PcS3s zhllYiC4Z2^n(GNN1i~Nn07&_>Yhq{=817wQ?sFPhm}A0m5v} zQ#8b;oS0CN7&$wRg(O&xWcq`$meA;v{lGV}=`flapBnzt{wBZ$<%0N2aL!F&W#O-G z2cwz#x{3adhN;VrIJo?oyTgOTt&c1r)x5LAJ%(WXzHT;uzk{Rq@k_8aSm+{^xI%*S z3)H=Ut*T$Ey7T;0@UAZk@<(7Y*i>1#ud>-*89flV9m8m|s%DE=>}Sck0GqD~d_tkB zL<2?Rt1>5%rJP|?$XbF)zLO>=)$e>ndqW+b2r!uoz<^ZEp81fXEl6X)LthyTD0O~n zE?cG-{(9tk*B|%Y?LSOxX=0)(^gsz;ga2s4q)!~P)zM@Z0FC%!W*_a@txY8doN~(@) zVGnOt6F=Ou@by|CUmQR+EQ*PkVKsvJ2uPl?V@eZfVt z<(@TQQG|^3cvbx9(rJZWJ$*0iNn~(|Ml9g_2`>OvBn!vNr4iJ(7-PJXlLwVq((xc^ zvVkLy5m1p|tmKll5jsxXanDlu^eZxhOv+8P;{4;lQh`9fFrQNyozz(&^>(>X+9mQ^ zfT;O!X2!|krMz;g0OM>++IcNh6v}Yw^4Lk5T#EQZi^R5g&|DAED$6D9V7m7h|5CMA z#v?PRPX7*^aR)GAYg;aFXei{x5TYZSU61OvPI%YqfRjzb4=V%`A)Y$V;OUIu&z@|S zkpr%;R{JUWexgrH`tuiAt(4OrMIKOP zr!LTS`_*fY9JH&|l48T2UWBJ<-`rTo&#C z18^_-s*}@-p)hIEP13C^*M#DS|54+jI?VCy*IH6Lq(tV;peIuU@0 z5H^N2Wot7ZjYEo>#Q?t>CtkPkndQoomS}DMt!Nzhs)d{<;>;oQrc~C-mTvue$m3&X z8}6NIzL5j&zqoH7ubM=HJb1~u{Mp=2FwPyDc!#Kbj;SEY&5UF|>M`1u&r#&PORR-Y ziSI0Sca!}%jZ-eAELVsbc69Cn3)eR2%<9S;3507c=OiXT8DE)mL9(D`X};T>uY7jQ zRB$F|wm+nq*{1}WYR%{`%yMX4)#pFwMm_%tRr%bWQw1hTERnLbUX*3JciCHUl5XQm ztIw+JM)=;AiUED9_1_8W>x?Ea5OrrtIU6&o=7Ne1nkvUaP3j)>R-8(qbGYtq72HYR zw4K5E(7GaVm~#tn*t70$&VvE}u2u+jh|8>dvYj%Za0l_8Syz`WX5qgg(KH)G;(j7u ze2c`Zz@MR9w^n-mZEZt7rIw%R_smrl%qpjO^mRE(O=b2m;@+2VLH{`=dllB*)F*w8 z5i>j2KM^HVj87~Tt(uMU(K%Jrg8rLW2e#-H0|Q&rn_;(FAb9MCMUj0nL$o4qaP~~g zaY%CM>y!w#1wi6aNc`SE&a+N?qPCVgMZvan&zCc0GcRTD_i*3qUh7)db*;T2X4zL0$SK7hwQ^6UJ06Pq>XC&(>E#&5 zTq?XGo<-eQC4@RCDNTN$7VWLjOtE=~0-Z~|nj?#Z5 zO~8Aw7kN;oeipiIloNw0X_0x=8mBO4O4>%P{0Tu5C` zHSbxG((YR1?KQn|Wz*W4*{1k=hvUusg*-~qIeq>!G$%9UJ)5j;*^XG~vuSi}E_G*F zx>RRLMG&<~lZqLdwc>ZcQ}rxLvjww>vGbA^*UHUvk1eRwbSu{cb>TNjYPx3g>S;>X*=CCa()(Cz;(z$R_W!Bq;On%&~p?1_)UA0w3^Hp>eWtGRWOdSPXjYde3)}EM34j(_GZ{Iz0hJo zA!h!%@#1`NZvb%y&?z+(1maGUa!LjaIibf|R`{kMPR*6VB)-$W%MDM7=RdECAM|@W zU%7m{8PB(J;nmh=?H4#+o4&T(UA>un#!}Au;2kPwfdE;9R=XbwDXj`-@tmd^C5K(B z_;~;rRQXj_-%-cUFABVEA$-vY2|sYZdI31^hU)Uuy5dQmodq^{Hv41p1|KVxTg24JxA1#2aL*KhQm@17$j zxnA|t@#PshVuK?wd;5sqUoAa+2GzRpfu?Wdz!&0Xx!JV(=BsXr-+Tr}%`32GKly0P zJ(RDTC`@}OIqR6K9glyal#G1+gWT5)`WD@|^%#1IhNrO$#H8Hik$MMBk|su{t#Ds( zUzWDB+Y?XTDctmxcjJ1KW2I);r2C=fHKTy*`;6y4bFY(E8ZQ%6eERHZj=J!pReAzj zl;qF2mA{b4)OUP&B~Bi%61u$xtPA1wMD!7tEB{%<3z?P9;OCeItTZv}gEvon7cunc z3D-LCxNPt<8@5OPp6T%o!S>h#Z1&-Y!UCp$3{o-r%W|DC%H>&nH}}~rA3vH|!zCnb z$)}w)#jg}!!)}+!+!3?4x`?c=B-ge0LDoU#*}S-Urm@H4pH;DtU{HxyW}82WsibGR z)359-xWz@gslz(VI-nvigTA6uRi`<@78NgBj;+bDcOi)zeEnrzu{A{`Pz z`-izme1G4?b92*Ja-wQ=giP5KO>)()1{UtTX56&nn*a6pduz>d`xnHx$7jyp^|gr_ zZDXGouHCs1UsLEK+p=;Db>_z-)>+veeds2PW$3e^b)Gs4q8row7TYGT9S!4m^_ySd zigtOtMx92sr&(n#)3iVc`hqk!8O;9LA*K1J~9SM+%edYL=f z_$D5nz_>R*$uGT|?Bb_Rw9<(`_v|COAkL8^RH^-~pTS+3Pd`pc(z@RjIf2p5k+>u% zaiv^s=CG{p@p;Fr`sw}*<&f`&^3F>)vM!L)CPlJFcAj`#eC3e@RN3E!=hss(`_5^v z>~Ejm`w6TX+~08LzKZ^SHvj$1OD!Ce5-$Hjt3*r3wX_xYX@@*2VsMBp91t z_v2_>!nLKSsR8E)C?RrCANPN&@T>MSwixGZW#D>POT2gu^Py3pkvCd2!AclKx=_gy zYCmLa)lk7kYNP$Yiya_)zwlEPRXOf#0-vY++pp2(h6uNT&0xdC6l^}%#o+=;^I9hU zx-yJ|VT&F<_-)zKCB5H~^B@G#ehrA8FSPaMa56ab^>s&QS5kpnezQx)9~*dRLllcJ z5uc0diB}{agn1^r+uxp2Zou~uk#S%en!O%u7?9}RJ@U}Nd`kK>>#JsVBJ2YPJqt*Yn)~)O#pW~s&T4TR z6=i}O6<1~(ChytE84Zfz=_$@jQgQ12u~L_8z8_#9H0zNzsE)z-pLnHC+s=P3CxFXi@?+Lf2> zAN9-~KaZKdfA~%;Zee1;kHBWn)&3ONdD66Jan#m9iC*UXcB5@eVMavFM9#7-ne3?8 zv#c9=l;NjIX`4Rk+&#Hu+$ycdj-XJKXKITQ5bW=9z>f!^Mw}^SVoiQay7#Q}{okZc zNPW7Z&&7Jbl~dXOk}#%F*~VJ&XO&O&T={E83F(~M{M`IM2uS9^>8SD~>oMc!lL~t8 zHK3pRHrlMH={D75!&jna`FZwr&6wfS7M^d7a&C2*e+S0(vcX7>_4QNRTy}@3*Ux4W zr+ik$@ZS5ZUIlYeqP@&K#lj-brBvp8=6RT@@QHdh-BCt%PqwQ$l#qKnyPzfY1O|6< z$NAV$ol1I*4w#tDQeu54)Pvi3#xN7XPv&+htF>OSvnAh3KlMRz6xDVTMRUNqAEQ^9 zcMLnu@~f8VV~zt#Oy>+?m*8jz{*#l)Seb0R^eb#y_4W5|!p*o8qS<@qBm>$)r?&05 zH%v$OD%HJfb1!rbS&?<7tFPRvf6heeY}Tiw+N_$DJE=9BSc(4ql(y@F>yqp0wX!(J zf)26rQyeRcoiX12nxrqwdtVI4FIS@jZBQA)1Fg0Mm9_h4YC{lI&vdXM zeD{&iSbl0B!RHBs1BNC?hhC$xiS~2?^3nZNiUUhd28+|ARqe7w0rAl zTVqHz#ko-{ktxNbw2TimFA38U7Ymh{=`h)2L*y!5=1-$#j^%W#a8aHk)w$xGncIB( z(c#XK_kfMbd=le(l#9yd5VFu_Cnj4oD#RS6kYI8~(Mi84IMHU6EN~g!Y1ebnbYDKT z-yy0=>mC}gMmktk-zfjB&8Ppq<^zn}i;PuBYd`Z<|N zLlixkn1+ait`9L&FFqRW2%Y)58nG<(xq zXqcj3x!a~9bfnqow->;0un!lR&tP6HjFU(Z&oz9Oe%g{{{72`+^iPk$@+0jlbi*20 z!I#^X^%4By8S3V<>q86MDTVP4RY|L{CvUI4o4iJyuUuEyB8)a(8dCiU+5yRzm!_#C zE2k8$uN+w$KS!%ZwkZ3_d(Cu7>68Do_q=HUOFZ+=`IQX$CYDIVo&e*it*CvTt_|iD7ROAiKMR9dq`Fv#kJf* zt08j$#rAgy;cn-|@p71fe^vwH%MfIKH;+VKFz8HJC5P=>DXxsx{?3~S8F5T3C{4jQ5PxAL%jOiz>|oO>A?FsgxWL1;Rn8__%EC zuwCOx>ok}y&>VZsK8caMgLve5pi~63D<4mSY^~Jo%}G5;%MYNhiZ00s{j4VvR z(!~Ety0Z@xIlSFjE>spvWiSQGek1V94>wZ#>8Asgskx7Q;htvets4UZjMiqF*hC)2 zUhSz@eDR{Gl(vxxmM?>3s>EAGTxm+;Se)KK6CXK(e&z8hm*BxyIE*KEA#Hp)5w$o* zqIdkwv$EoPr&zzqKX>Ao)5+c+Y$JoK1nG5@r=NTE-S#suEz*{HZh27s^ZSvUwZk1o z%32)m>bDIY_Sv}d-#H{-ln`~dz%e= zaFi>{-+Xl#B#FV3boVXtCvt8Yqm`!Fp?(i-qSyuOdWQmV%W zbDBP+FEBj*pCaVfeOSjJ@qq8BE4wOiXXuY&FYFCIdNc8hJqRsD2ImT<22)isNWywY zh(enHi&WT4{K(neUBOH}Bz*M#G`mY>j$3Xf`;_ry=HV7eFHCin!GdMblhd969-A^Htfd{mjc^f9fhlAa-9D;EY@pVME@pK|tM5mtLVjvF@;3@Tz4rn$?v{ny&`1Ee~^k3Y74WP9;X0{j$;nshxQHY7B(yFPc4#cb;K znO%De`LX{beEEw=wyeKlA_xfDBi=qMoi%ov(3a_Z)g(>Li@&^4m=*A%vlsF?MO!Cw zhZ|XtVF0Oc1`y*HA5vsdZd0HSMXPsfS^ZD2@jnHx0I zlPE+%i5{97zSyLofYum+pqlV;Sf<=Rfh|V!?0@qeK;z6{rTYn ztrqm|ygH0alQB_D-{%kV?`YOxN9{XU=ZSlI>;q?%_c0ME3sQ@Y!n zi`I7vbbnND3Qkfz?Ud44g~OT~Nkvp0+m;6)7UfWq5X7R_XV9IKe4#2YSV8p66+H-!}#Y(UvpptW^B2kja<<(U$RLSZkpl8#ad4 z@zgXUoD}OMUJ05H;FJ@w3<>}8{+8UX<$V*6K^8swVjFhX0jPTwP7D2IHm-neW+%Gt4v9JrMCOhGW72S7zsPsO(s$~i-x$=oL;h$Q z9B@`xe)-fif^V!q?~2kRac~9vpf(7?@{n-p_%uezZN|y@}XgNZ7NG*3<)h%0g??b(9Nr3DK&#I z{9zQ5IEwFx_ks8)t@HKBNRJwFy_W{cTTEzWu2$YW!BdX|s{n&pPW3wI!%dBOWmXiODtsPwv41JAIYG3XV&*z_ z@q1~>@oGoG*tDM~tH-v%I^_@ng?9$8`a_u;GMB6U=L+kx6&r3k#?{_9GI(NS3EI2+ zQ{OmN3S)ivsBcV>Ju*D|?8=y<6J@4-W^AQ7b+fg2T1^s~ht zLJrsLvyEg>`v%Bh#5h(fP>cJcUZ2dg-AKvqRSVS0yFtVc7^?%sGX5@dyc@u!en)4D zrmOl#a;6V2>um?X(_ubw;t9gl2t(TbAUKoDHaNL2Hy9ZLl|7Yg zloE>)SfaN!vOY)4f)|6_=q)X-+oNoP1~d|7O$?*aR-3l@i_G~GQ16@>L=58hlkNcz zC5Z;`NII(K*Ys@2_gg4fv0e$gw6i_G!zEs~xj2SB(eLX2?OgLVe3%*Q88)JJ^A@;_A`uM(%Ao5cszr^U1WD z`ncA>Qfnae?HdM%@SPi=!J8y_isO{aqK+>Tr0mf%i(}CeG;p|FvsZ|9zx@28gL7;u z=5h{qL>QHiZC>3%3w!wfGv<Cqy1HX+KCd=ti_0?mjS$g9_|s?O0{z zsg!<}#fQS&Z##9xyzUvWRT^LXM5FNC0G(@{p2T(}`Ie(Xxob>W1Rszopk1BpEIJfr z*aq;nQCOh_R2$F6>??M~C5D@L68;hV49P>&=v^5t#u%x;if1lfb~uc?aQW?~q8(80 zN!c&cJ%T`AXVv*LEx8tmRX40)E_gHQ=l8`3HKq)pBz%gv!hsRV*sy}JJgko<1=EV+ z8n79?C)14Es``y|LXlTwOdNXnohhF|t?`Tu4qv@Tlcm#x`=o)8D-?Ily6ZBRiz5oZ zcPa%=CZFl!X%46$rG1IvRZV)H^f1|7wUcL-*nSR-HLcQTQtKNzy$9*Rw!S9q@_=)) zl;UKJ6o)HG;QE`aPc0#;WTZkS9xw_e6e$R2`Xa7mZ7&z@1TjWs~7#{T@3Cl=Zza<&%8FJ5aRIAAuGGec^@;L50)CFIZJe*pm%g zQrbW{3Kk=W6p!H}l**Df!4m<65I=q7l&U8wy#IAl2U8$f0)^Q_=G|GsDrMfcwGf_TO@HP91DDd1sc^z>eR*0k^4M+tLGq|BXcSh}gz?J%Fje&xT~P@z^$N}> zGdQ9(x(?k&Gx65?HDh}2#xnksNmW8+k#=y-ht?%&a-sAsWCmSY)swnuSl; zi@R-oS4SDeCA0&kXlI|R_T5<0QeN-1Jx*qtdtQ(FB4P;>BzRNk;n7otXysBYNtj&c zrvCnQ+!y?{W5VSdNV81QMAYWk%kj}5uQVlP$q^v6!mzXwTZ$+&Sw}?4lXhW^y8@hx zcYWoGq!y14pcbr6pMFrVWW;%4^0LLv#tu+!?a`^qyFS_hPA^%R!ecp|6OlO6p9g<3 zl5{E_0FB3i*L40Yv+>&@+Z2zbwUfiiQabT!WDQTbzeRi9^er?6@?`W>@{?cvSKPKg z>`j*{U5$$z!QScMja60C&H3*vbqq>F&#`w8`FEFhTu6DRZ*f?z5X!qMuc6oHTnIr7 z+$&o}6H%uhnY{i~3t)321jSQBQNctljD~6ST^_WC1Z*jU;Fd;@XjvkrE<@8hdqSO( z21kfAwt>+$S^A1Mx{0UxNS4JGFbRZ9K!|9c2B^B^9#S?$?}-&n*~F{xr4I5dNw*)m z#&x9I+l9^`KSFEt#oCvM+D&Ji<)U-yfw6;G{cj=n@3zraWOwreN04yH3Nk()!!Xr{ zQ2IpfRcPlJAHmued^d~(J3adM?;n^J1lzkJ=5@(of}-Eb!1SY4X#Gi^MojvoB;mUu zKlnmARSs{>d5^*<3}HQ+gCS+Q$vqNy%C?O{bmq5d4`vfmX~~jv|9(rh0QPy>zAen( z1)8DtkhkRc^03%@cuNm8g%=Zr4HtL_v95l0VFp5TM$Lf_+y>Kx_sV`epJ+?!8-sZn zc7Wv3$SM0vs8-aKr2JmKV~;9dQLk)sHZ#fN>{gsn>c3ql}p4;KRWSZ18%{rg6ONBIEmA-pwXyix)q zbT09CoVrN3c}+z-WE&JEhp6d(vv~_sJGT1qL99!i=~||9MD~G6;0EVJ8jo6FJ7?aJ z1qtBfp_D*;Gd6)83+2?aKDXg&U(5%*5Fm zwsL@y)#j7)8^>gRAycm4e0KTdzdHaK@ z-6aW6@F;S~6W(RWrT%>*X-DCZ&pPTU_bTB60i(UnS&$*DI&kO%t-|+GkH{deM<3rz z3K@lvF*OQBMASrks-FTJamT}}Ak@w>-r=On!cU^S84>aXW z8d+)yp)yp`-=A{qwM5@skivmz^9N$bsKIV8w=YFKC*am#CC_B%k9of-1u<%}MSexZ z5zgh%!AWJX>$?Fo89~e9!Gfp_tbVfWdBIa56ym*_IDz}AAc8FKJEs=I>sp9AwhDy> zlSFsv7G!Y-Xij&cc@p#yp3f;&l|^G#aAbY*$&56+-!T%rN~63<=u6|XddF+kbv<7V z$Mrv&RvvU0`hb)sV}%^z~>hP|`-t#13$ zwA|>GtPS(k)mCN8!2~EI3yk$sk9-ZUC)P15&C^H%Z1_QXGgtTIK)(=AMj4!W3Wi|7 zAks>@x9f<``nk)?kkNWIf*|{7uGidA&T=6kOJ;StUY0d{d5j$7^<} zU?X4}x}tkevY9qNJ=np>i+jH@6}UZ>Qo0r!drK`TaI-a#W7J+E(;Gu$S63cqDq|NC&I`c2IaN4_3sO`Xy25_VtdT))x9!ENkf4rzY6Dg~v+0*TZA<-gwaaWzolR##7hCO(`@Xqn z<(nJTe`+Bz~KHtqw8vhTKO!zhfn5N?=k z+4tGa1^mbwCHL6dNn9n^;SuXx<|)!*imRTc zBF|zooc*WKG?Gx!>(l33eO-BFcuR~=eW0&g{=YhqF%dDdY{HKYMyH3ozR%}^2RD{o!>mGfi{ z!wK04mRW`z-nkRH$(>b>k+AM2p4Px&@CM(x;+4QgpLb%~g=wKlnG0T#kpTDBSFJ`Q zuk+HN0_;nFZ#yoJB@}1Ei>~K@Hc>tiX&66JX^9N<64PSopzB@EduOmRo4pH&@kaWb z2%7T&K#Srh7MVJ!8?Tm(N!i9}G6gUMJUQ==O*%#C5!Nvnf+=A)4DYKEm`kU)yk8`; z31597bJAqc35)nuet?)>e0~3vsZadqKPi<}QTk_U6aWM~gid3g}E0e3Aj3=WqZ;k{t~N za*Z`f?Fj^6+6xlK9es0bC&mzE*|I8(>;2S7Z(O^=dScQWC|rSS|RzSg`KT+Dl@r+}V{Gr>n3fD?4w=lK~+ANy5s z)wRlOUoy75P}caJB_@c@q3ANmT9OZ3(Zo$yJ5VI}n(%BvczgClk&!t!>_fqAMaEd1 zbu>%7P)Bg{<=#Zmi^sSWP!QSPXZnrko1AAp9eKuAB}wcXzX7=nWJ zDus-b^)o#XC$?_I?<^>5KICb+qXa_fSn_bg257TLkC_Jq-OC#Oc&b46kVHP*Z32Fv z0RfRM9Shq>MxSPFUB(l0+v%EIuLwmdlgTucjcMF|yQtn9!xfuD(U8?!W8)?Lk}rda zX){CO=JsWNT*<+}qL^eWw($QD5s+S~^^^a+XFKIv?GKRm`~}B`1ptRSbYLrDQjL4v zpiI31cGrIWeOMmwYCjZOU58slkV{jW(EVehl|DG0`Xt&psSmfq?LOd9MbTWd8rsQew7 z*xT2kfii{q2-~@?WkCLvM7v9R$m-eFw0_{((h0UqA}@F=w%I&k{s4P7Ae{QJQNOMy zzao1CJ0GpNgJy7B3%jei@Vw-n`ftZxq*K`}VVgJ3IlEu+0Uc&?>h0Ks?zH+2@{Y?R zUeYICTt&?(1ujHeHRlxplTjv_5WfZJ46L~ZB>9QWi_^Z`PQ)Lj9}FsbtH z${Nz{Rfw9L65)fUB)KS5Xy0=cHZ)_?(aPK9Uf?t%mFW_bRe9(KbA3!Y(n*Mk<|M7? z`x#kJJX@K8g{jlQL`QEN;as{qb+|=!GcUw?qCUv#>>Rr5;a~U}>JCf|$sL)}vxW7< zbz5TzApiyhj=m0#Jb?6NMqf*b3kDa~_g52zkrk=Rtw_~2RMK(r8R>_9d-)XGj3Ahs zwfFYrLCqhHUk&D$L6ePC$Z0YZg@>b=AJZWe3!7C$h1dF~`KQ(Pq*c@~frD_DO(H#p zRXvjNEP4rFeN2@5z1ism3JPr(0$xsF)qokuHJw)c?3YVbt>sVw0|kq(T?4K(xqh`= z&0l!&H!~Gr4;JuG)j#r+v8V>&8ao$I`aAe7?K}+};%0N^p2mnlL?h1+K5t z4Hi~xHzzqT7qvsV^Mx$rxE&{3zin!_hy@CN2BSog1w`WLB1m0xLjAa7_7dOSNj8t; zsRu^bC{G4-N^fjXS*;#pP3Nwys#Z%%+uY;$u;uI914H;ebfu5({*2E;W08&!p1@^6 zE}`$YJ!cWA;W z!6nbNSFg==CO_m-`5R-xVh~ktjUuK;t-5P`#4blB}NiXaG-U%%ewKL#AglBBWGdq`&iEZ zfNS<5Mb+>&OTpG;5yDs?FeQDH=mU4Vro{rlnP7k4<{`wNtcr0FeGp9v?TA z6&N5Fc~BNNQh}*^fU$kWFN?$99}C>>-Z6_)uqF^b&j(c0#7^#CI2wUDeRF%e`2u%H zsLIj9ah^AKW$N)Ex2e%)d3}&VY_vc|QjYP(FKH&L61^|t8AhohekK=_`Z;pemahjFaZ1O$RYmcS+e#W{m@O#MUc58k(K6K6m;@M zk`tGeZ|B4w6vw?(vKT(oi;Te822>!MkT2n1RFiSdnr>g?3XB;!%Ef#xCHi0;IVmHY z-j=KT>DT{~e{^9I&boM3o(bka)I&HljQNzmkCj{rxS!Ab)9L3aT3X2QU!yKjw3MQy zvD>TT%?FfUfeY#^u4wSyRgFV&;rmcL9;2;`&|f(`*6P9*=1KJ!*bQS$n)D?ZA5OT% z;-E3RKlO?PO_3zYiO;Tn&Ngh=(q&_thw0;LlBTZ2XgTv!W zCIS@~xqa@eNrs?GJlhh;dZ|=UY5}GKA?4#Es>q>&o64Tmvgx^Zf^hM=;H~o5CO6#6 z4{&dke78>nDy22BSTZ)l=$%$oMx@DvyJn3Su=*w)pDI7W+VGW!g){`|J|#<=EPh)^ zbM*dH?(_>i*tm&{ecrW)+OxM^WUoyT)nK}<$}QiN5w;fULH)bYmSTv8T%aw zHc8J99uVHNa~`Fp)&G@tmu>Rb)t?$&kqR3!{LtE=CXPPRRJnkUB-#VZ29YdF>+(dp zL)I}79?4#XNojOFenV0Oi~iDZo+`jw8PvedO|$}P$UM13sd{(A(4wyx9=o5PR->zc}D%K@}Cq4bDTnEy4o+{bo~vX=fGdS$F^~fJOE?M zfsa3qs?(*Yj-?nY|TE+o$fXl=4$!BQK-RQZj|7 z?z8Z)q_r=!YNK(LslH#&hv{2-RnpV0;R(f7gNs)OIHf;?+3cOXct!waLBP@P8!r;> zMlZ;RiS)B)+Wyby3<=b)fZN{({UBDz{kC)LLnUc~qymAFAs+aqENP#P)KxxRrh02m z*llSweJ6}U!e!!QHiOBy(3m?a9*_s7azS!D3MrYL($OEeIX>@!HBsK zEEq1VDj6e7k~H-SI;FB?Q4*v=2GR&E)5m7Qc^FWFPAR#o z|L1)nd15v#l8Z#G$fanjn@SNtf#+g2=JzpbXWeS&8@a@_!B?(X!<%1ZM?q*Qp(r&$ z9{>o2cncYZtCdPX$4b3k=wACb`V- zO}08q^OqKbKmY6Q+FAm5li}_njqj$|8!=cjuY-L34PG?hJdl^D0ik(|62*8O{Z{fc zYLaZM8KxE}m6E73S&G7gbB%7yPdQucHidp%m5eWCfW%&*0kD@d4%{mxq87P-fU#f2 zdSWV4xB)mmg`ZCmf}ucmqx_Owg#*w*=JVUx7?#j4LkV;77T<8+lXB<$Z8fZNcAEYq ze5MGB1@l}xb+b`n2yp0hQs-)AfRhB%-Hsha@XZ?QP5itPgH6gdQ6=?_H;PVBN!_N%>oCUKK>M5OH)kYj3knJWq%9xJ&wQ`cSfiGU zKZF}dTNd=^p{AC2w-Ph@`Gj>Ed1=ZwgaA8f+~?K(gaze$=+8GHR7?DX0HRsn`BArh z<|s_KX{TH(gsQR>+|`p>-NW-)5$G-s6NkV183ChTBk!ba3{l?qm<}g$ zufrfhDL3)0jF22+Qd&c#dqaS-N|Y-MVWOv@==Bk>4q?Q_h9eX+6fz~zJ)MowjrV2C z0!*u7s0B};r{`V;Zn*Az=CPph2~f#Ov-409bv`sRDDX7jFagR z6q<|cP+~1NJnk(0e|-PE!E|X4>qoTYbNME(H>7$Vfh+mEe6_0Ex*pDF^cQHUdW_tw z`5H$O7NG(L3e{Oa=leyy8v?lzwc(-8;y;NN!gKABKoW^b+0C6bmExNR8;NX8#ffQe!kjBN>*EnZRpB>)LBmt3P7+3Jh@9l5U;ust z@fTPoZ96>IoW`q{fR+de?+~vRMYwqm5+FQ|NYz1cdT5RV@r$bNiOSrcofdpt8-eu` z>2_`$dIIskKv*n-WLs~KJ}oMuG^trv`ZW`?xm!I#qfZW@52T&WBoPoGB1O5cwC@>& z5Q&wfaw__rAN`{621_y`diOdTpmvnfYf?O<46m<8_%Ud{2^%C5F%PjWE=@~@?L~S7 zjgHD2AD6FI0;oj!7{{mQKsI;{XfWX*b$n1G1=|*F_Z@J34W*8z#0>rv(|ec?tKc(Z zp3bQsLdL)$QkO?Q_lIK^d|WHr32x@mUIFc3VCeDecar?qwf%}K$o7-x>*)_RNx6I! zG9oqOPgD78pk?6PUf|x56n*lFcP)Q$6<|7AWvDzGU#<+D%d{i2+lShZOdhkfZHkDV z=PJG0Y^cS#-_(I`|J-Mge>Z^6%>akfew+avh*6}7Yd_W0dqR67O5~A{I5Ie1LusiL zcw;LKKu$ZGZV8B5141w$^?};Ffi{2;GUhuIyEi@nxMbcR0Cz$NB8E4H0UK?ACg$ny z!+=uS0MI8oz6P)}XA0DAi)k5PE1z@zIaKR$rVSzA`a6JO*5y(^0{dU$=bJ#g(bS>& z+COVA?J~)obql4BGd3SO0AVP7pS`xLsrKvj{pS&VjZ#S@JB=W&LD!YU?Ippg%67U9 zg10d8&N)*dzzw6~mA7$-CvddA*o!Kb?pykbKa6omo9xG6FDLP?N@87yp!aLknd!qg^rLmDf75&ZwEGkh-nv%M(7z-LY`{UW zBv#KQXTyFV|L<>EU_a8dHSs)W`uF?{4gP0oJl^B?<0Y+ea>e*d$4{;Uq<)0Q=X z_cFBVQ}O$1k!3Rj{C*!!rdYKQvVlKW_wR6?#|z!cykZxsU5%a|18C99mfMDjo`VY9 zEcCX;-|N}+rNKi8jgwt@K4sTut8hZ6^Kr;M_X`AT_FZpi*Nb0f8E}n z3rmawmR@4<3$c>F&qqZKQC##yu|ByB1kdyP9lUm3&#pJ*%LjsJ*Ug%9yW5MNh#;CK zswJmB#QEPx#_v0|HbU4BMkW=ZyIS)Xgb*h6SxL1NF@VEM8af~Sy`Dc8%WzZ06&}%S zY?e28!2G$PY#Mki?^Sz`%HT?=e?O32&jx0`!PkZ^5lz(2O4&52AL#S1=J7I z4s@iz5Yy8(4rl&e&)*x;&X$Eo^s}YAdiTpVAcNQPE&BooY);Z$uYT8$|GPQ=KejpH z)SrR=4>Q7@AOI;l3{rN!8W0;M7AuMF4ikYCoiNzX=F4qInt7m`{DQO#K$kU4q7d^E z&TmeK0c&bLFq&%=Zu-7!@9g?<`B!a_1+&S3Auh38fp7WO*>D4oQ0FmVvB~d9`g8z_ zvU)nq+u!oGU3+xbk7%~NCs|GXHy2u|9@7MEAkGn;&k<*KVrjy^%FKR^J+!ugz^J2q zY>V{j=*5P(kR0hn0{Rs8JjQ>O&emq+36s9`9m(JxWc5Y*)1a9kX`YFi^s zKb+|4-xyP6RAczhlL@BKu3QyzqUI_X~LZNx9& zUhooJ zcYeB#0;^kOZu)svJ>d%wt3=+|ec9?SI@Mw4eXxfr*e*^^062M@tti9GFQyA@fU}r6 z>Q^W@2l$Ihbs*#>XNRN!jtfI3klW-ZpT5Xi(6urFi;H^>Y`%FP0v5rGa2mwk%ua>A zsI^(Ytu_9;ZnMVy6V_?Pc|SOFs|xT62ax1r&+P3 z=kdK-+={%0DCe|WH6Tz31wx*G(_z|!J%@t9Sdp;j%But6Nt$-J;GC@^hH0_fie`lG z$jHl+odrI=se4*1&^{VAYnec?e{4ELA;F8Dx+((P9L?3Yj|2829xHLK&52Ej|7lf> zrr`W>tg(7y6!4QD3#plmA=s|k=4crr*L&T{_xoo~vg%+^0`L`+Ijkdfrn2xB~diZ@`-CZa6G-H5neKMEW#R$7H2 zkn>0i6aUV4Fhu|47W#PMXWF~cB|9F>*ZDrxLS@qPLwzbp0#<4y|2hGDHfCxPuw5niYJj0bP>!NW`+U}S0|K=aryV+fgq684#%kFus663-h! z(P5a`;Y}EF18HrlX1w_@@PA)eDhY{&b8&gJBQCDLt_0Kj`{I_@pZV>&xD5LLBtG*o z2|0K4AaWPHH@Lg`)|r5GO2UBpC9w(Paz#@3tTSB9ohlgKu?E5s5!C_H;hNVx8zxE z6N66wa}=rc63;d2&Qk8?RDZq+EkLffZcdh`807V}c)fMOJv zL1kGU`E?`tM+!R#nHLT#d3(QK6qC4@*xpH+xd9|A9usE@ZVK+0xZ=Ezeut2D{3g8vqO)zR z&%%N%utP)6`t5WdH-Oa+qsOvpMm}*dC*5ARJAx}bwv||iCYzRk^WuO~^n~P#O2PTr zcDZ*ylfEQ-U4@w@H$avxU#kDvpx{;hnGmveR>!e!*aLin+o$x}gA6J}se^9Prif&J z&bcZeQJM*{-rc`EFt6<;mT{1A;5C`@YCWq<{+3b2@=HW$;GVHQc=5r*_EM*z_Qd(Q znEd(aGgXJkX73(ZhXRkOo8LJC^hXJ5rG=LFWlagS*>#VueLOf5;m!C%L!pp6N1|j# z3x6_zJi0WGq5J3}NZS0Gj1J{0$~K>DtLy)|M-O2@MR?sI;Vje1x;k-7D`o0}Ai^MS zxAQ6s0nN* zSl68vURb;&6tK8S@kiL#)r4t<>Dtl<$K1HOxbSi7zcp=s5 z+wv+{(Wq5|FrWC_<1-Xaur`l`9;=%16`Yz8B8$pLtQ3tmzf5<5K1)L}m!~*EI3)bH z_{OAOD}AHWQHc?0Aka^}kW*Rk8H*HTuE?H16xkM?mo*JEH!d!G|3S;f3$S076JIyaVq3JWA%}S^LyioDLSy<>5TG36zrO4S@_^(i zTaL?y4X%)YB5@q<_k>HDofy#}&LiLUdgh_;8?q9!BUexXxd=Hd9o{e8Ot)V}t=J zx{9;As9T1dg581JOQS4xs~R?g42?}v!i0d8IBhY_ZO+Pg>xQDbJ>p_&F&T-p;UG`(J%*8L4!)ry@q~1Z(MrYum6s{6c z+adDNk3TVc>v0j=>VFe3xnNb=5~w-TckxDn`m@p>+XJ1OxQ*_)c zY*OYU0O~IrYi%H+(VUXmgBVRdk%#3*f~s0KigG#NJ)g7rj^Q0+CPVxWC+{p28F|%h z{iH&=k-aW3pazfnzPh(Wn6!Ndn6ZZt312cP=>k{Mrck%?<|u9Jsb=PV2T!%P>*6XWOQ z7;19VX=y=c=UFZobJVTX%Dz0|3z@i3#&O1J&~*T-+hqC7ve@kT*u(G0fkju3QpF6Z zj4I#BR&ihsSU!DI>DiaBuA*|7zr+>+k`_FzG{skjdw zRLWzovIbIQ&$D0%<33;2l@=oPnZjr#FM}q>BNq?DU#-IecnYkZCzIMZdXlFwCIj~uxpnA?6=5t(^~oOJjb0(60A7EfZyS+A~#2t9TB zeK-S>i`4B%eI9_+?XjWYb7YtE?&dY$!#M5e-~@E)Z0B|Lw#;jODo)WhD#F0GM?|O% z&#t24&rKskwbO1#v%4oT7ul92Ge{0)xt=@ZVO!a+adgT6EfrC(YiHj2CRo#Z!dy#L zZ%twU;0@_3Sjs4~q(h?KK}PZROdeswYhB(B1~IKb>AWV^3RxLrobvW6eQ&N%OeTkr zmT?L_xe~f!;?c^f{L7%1e)fN{_ttS)Zd>!A|PG5 zmNXbhr<8zzNC{F(sicGmDj*#qEg^Bo1iz29kL&E;x##|K&%OS$_PdeqW4?2aIr16L zaF5dtend+7ognZN6g=}kjM04+il5f)3;&u*OMAcL?=hUoa8q?9|BR)8TW8#~3^mR- zYF(ETo$Dk1``EIJ^raDSi`gUA{l^Snk{+sEKwW003LiO4Kf|m%lUd_f=ovm#c&HbD zZs2%gxnUdez9A;zV1spZOk+!ea^6YuVx4-3!e4H<*YC zZ$)K-2Xpo9(MWFwnihnbmAc=gkYRfxzD)cQWf--xi@woq;`HvyQ!tRzGC1wir&zbP zf%Ek>1(!=vv_`UDh>ER^az0pkb=iAs`Bl(m;q-Ok*mWb11pt8ryBG}k8YOyupRkH1 z9IWqnTWHx~e6}v)W(g#+C|VgOQaASER02&wL;~&e&GF-8PB-5Uw$~zsdo)e z{gc|<%wIE(-{;xuf+%lFbwqkY2$DKGfe5iTpFJ!JIz;jm92cR;x;cARrXJdrdoiPHlSZ1i@{iJ^OK$xlSaBDu2s(HBYf>6ORHb zHNzA=RHTb-x1J1#rLv4W zV+bPS@!)Xrx^yZrKQS^$7;(6ldq6Ca@Ny-@3c~q_d;xc z+=cuYcOU;d65RI}1#G(M-oINOhWpLVUvDCONSW*POR7H%if@^oz6Qe&sh-R}K6-fE z<;W3{#kO|w0CQ3zDq+pcVf_PTdZ+Pg4n$Z7Y}jXe#g6FADv+hU6~Aqr$*p5WMlv(y z7{smO@hvN%Sz##iVD~qXV>Qk?q0s+0Y4HLyr%S*qAAdpleTpJ;rNbWI@|g}#VQb0A zw4m(g=I|3I*?*7^-aWeGeYd*02*)8Nvlh2AH}w1fyPNJAc$>FHo09s%M2%ZtCh#X3 zYH%LxXHmamo|_yOnmZZ2p`b7L@Md6~F2gNSfq3~79fs1p1tlcmIi(EZgqlTCzQH$6 zycDO8{~UWqQ7=jJm{+RN!iIjMZ}Q%QlPoR_mqa*g7i_k~+?Q$Dw3X?Olrsox{B==_ zC0y^-nIvfz!!A;}yBSyXCsjz~9h3KOP3US(F!W-Zw-#5~QuWp?y; z#5?;)XDB4aax>pcO_lRijP~XVTzLu1eJUYuN$>+(y4T`@9Zm|G zy2lIIe@lQ?#`tnYfPHb~2@f#fk{fsat=|xEYHR33rmB8~76r}p(ra>*|KXp+%Uu?N z@FDwI!&p?FXmJQxe;ruW7aeb?J31uIJqk>?ibE8-&l}7upPKjavyWHgUiS#LQpzYz zR}NTep1?mzGut*JbRXZHXRi^X50lpe#=1*<${A*Xq2Hg537Dq)s49S>S>yG5e6g{aWnt-qQmQcYZ)G zZfJQZypn@Geyjc3Mo(sik00x`MteNr+Shmv^8Cb#($e^<@r4LPPTed4*Pb$!2H4Nv^O?SSxGd{wyi{QZIu_nL%1({NeoCaQs?DalCcU z)(`KkyrY-egr&VUXMjIt0-Ca8rnp!+8=tCXcj7nu)u9nA@hCxNrLM~&DPtNBQx=|E zeOO*|Sm4EtV{FS*aIL6!5*?|!>e}EOZ@zi_0xro@5?|_jcQ%gHiLQnpYTlD)*081f zQrSMvB+riTALU=R!^Dg}t=>KHiMv5f)wlMo zm-nfuc>J7(^SHE=!ej2!&foa<(z?l)Jfss#*9&}iVUi4ockTrf3BCCCL0?Q-4C!iL z6*@#f{PQOSe~C{_wWA-INr+e1kd>J9*`GJau+nQTFQ89I7XiMkDRt@!QTSih1koH- z2ZHZjI7E;iyv$o9Sz$L!PNS>b5*6l^ykN0B^*Z1S^n5Qlo>0Eya*$^}l;p^x4o6bf zgp(l(%LKIB9itmTEfH%6#*KumDRsg;PTwB)2vI2Ynm~b9hKa!FwJ?UEsc`4F{H?b? znB8S%H;#=;Fs>w1yfzjev>Hya(b6*;cJIh!XWoJ!(WTcyOH-Z;-QzZSA9?LQA~!m| zrEipbeuzJ#|8*G6%)+U1cX@&KPoi&0$27y4H**ZCDvu{K^~t>5OB z>SiTI7^u0~FRv`huD(841})XscCP}fPWxgW<;2!<`&#C<&y^=B4lwg4y_g@z03$EK~XkC(n|r5LSZXy$VR zXj93%+}rO>RB(uD5?-wG%Bh{a6;uql+K@?gPJd-7W5;`fIr11wS9}#=^)g7~ zIP)YzT5>T!(c{sX@uY(JQvP>FR4?)8)UG=|KO8$c^?IUPfK2sJEg1#(;yUzkb?}nE zd^&Q6bX^d@dj4|F=c~1yUI}d3r+yucy}kpwrt%(cA@A??)T{ zOrhf+U($^DXY?W`GV4-`hu{9gE>SZd5c$$tdt{~B!<1vNih0zVe=bL=Ncp?LhlZJ< zZ2hGy0ip4QnKkH-ez-Xvw#g#&s@{%r{^J9D;b5H^v+HtlAD=Y?8JcdJYsBzajd1L> zLbu$B`+U8#rTbh(Z^t>K8J~z;C0n9yT#~z4F=78Zag7&ECF0IJA`}=fi$SF6-z0F!3 zSrIt%QH%SMjDp+&d!R#7e@PJXS%}UgHNfCUkwLa#jNl=Bm!nQWM+Pnk)=bqjcjs%_ zb$ieh(Rwdwdh?p&+nfs<9g8d!eIc#ffh({3c}vE+?(x(b!Ne;j;WKT6_ni|BTpg+v-F|BBjZM@UZR9AX1G)@53ds5 z==%&^>Jw1g$qnqZzLIod@4nG&RoY919;@??kc4R|X_TH?C>v2-C7gG@fwhmcvu$UH zO_}1xD287~bKg)7HvHrNj>`PFm)5G+WquRrX08ColHFR1bEWFx27|n80|X-`bFe3h z*+20*GmJb%UeesSiH6|oK#$oD1lO@>ndC}CV2 zhY>ZObr&)P3A~c%i`LK-9d!>QxiFZyY0*(;yU@}H_v$;fOtpmL5q&86=`s09ZramI zMGtyza0;4Dy*mdEj9V0d(d7R2}JiaQpQFVD5vx*agSop18GV+mIL`$N%n zqBt{<%;6sVotV-Bd?-a;=8NkZysCx$FZz~pbL&8p1`m~(pMbMpK70Cp;u$^i*f9w& zQOK^+PEdN!QI7Qtjb)oy1zwPO_r0#VFs?wcyDHd zAE(EcLlae-Q&oc2#*VQo?q@BmHrazS`3ILpRUGstSlR3CzwvpejK!v(sthBkRnO?I z_~z90T4l)`qZ!*Nerm=SOI-;V&6or~)YB2%>U}xoc!lTM`*)5kG)jWaTDW~RcNUxpWXzpK^H@BDD zy56ZQv*b}GaHl#fd6p@pUHjvk)P~sA$$QRZM5zA|HN)|1$BgB7lX?9<1%7bpr2nqV?EDv+S>16R+e*9>sFNUIKS5r|D?K!XY;~=<=L4?4qyje z6x&)5>pD3XA26ekP)|PFX44^YMBon^AO&*O@a*r0!fRK5hg*v9W23uO55U$XGYRud z2~74kn^o6*gr4Z!J*BRn$B$duJlhGcf8lFc3W58Q#+mx0rBg7 zR}3N}TEt3bz1;TU3Cr1iOtU=f^7zeA=6jd2B863@PfO2A_3?*#1VIB%b>}J4 zt-h9-RPX9!uUd_*>RFAe3ZM^F^cXy9`MJy~zRtC}2J~V%lYq2@YpZ)-$D6#>lhS?x z^WDD83r;Qk%VDi)dub=nia-ltmp{$Ym}cet!!9+^rLharE>zvyI`Yvc*V(tghL`|s zoKafp)lKXac=?NTb`?T$BwQdP(V-bw~{$M|ApKm zN|p+9N3RkcXKC{s?n}JUuo6r9l7l;|)`RserMJnTJFTT3&CN@w_rtv8!luILlE2{t z0>O!g6vt<|ave&JK{(_rIC*c3IXMk5C4rVG}N6_0GXXo_bynKnbFP^vg zOB(`o?{3;ygKGLzceMH5qrGR+gT^1m(D+m>2vwb%y*|1jc%u@?e>5fD$Ry0+t?I_V zM{HPSkiX4-bol7(bzq-MhpylB-aLb93DL6`Y=mvhr!P*Cs4{xM9N3(<$F?@wIXBwl zY)Lvyb%6>ZzGaiYVnSX|v6zL(-QD2-n*Aq;_>osEQ5@p~w3|`NK zZ#+lLK;+`@$>je9u{o9JwC8QDjtF#Rpo2iv}ZrXmg^4*CeF_&4le=G zmoN=5!nhX4FC*%yz)Yn{p0Ca<-(wxCC4!&WLw#IBDwyQb;DLF9VTf}UrpWVLqyz{3 znFM3&3dIsPzM5yZI&9<)-*m7&iXSyoVy+7=6r|^ z?Jfgdob^V&Tl3z1Yax~GMI9&T5GyWO)v{BdvZ?X#EicupwFK028;>)d1$f48Zfq*N zcdhI9U%4hTxg1-9LfiNk%|3oBA89nW)6~w@&FJf%>cUZ7C174H21Dpg&PM9XMf&s7 z7UFG(oLlWywnfaCOB*GdwCH3xu|9Sq-=ho|YwRpXrkeS*fnwyJ)m>!1_{tI;*Mny}Km9C9RmygXaA za|XChW@6e0AwiiVz2~uzj`2qbL>iRC%o;rMT1E(j0~|8FVgz~zfWdJht5xNI3xpVt z3b+#@LKU6~Zorkk45XmiP%reGlfIoSqZ1*$S_oN3DRbr|opV`(tNbvs=iJN1!tGqk{8nQ;TKY6&%pd z<;9A-pRtaQn?|lLnzqpo1)~p+xcI-@1LFeX6g(ddEjfEHJ9kiAwIS(oRyoHta@fvA zqHF)s{$_?PCMrg+tMfd$5S8u|<`D`X`V{CBcD`zo3?w7x%KFLothibF0G83D8?w6~ z7eb=y-N~9R5MWp&%#YOSm0R!dzyi7tuina(l2xCbOpC`FxO ztjX@%?-!QTU+rI5IpO`lm?y$4N$QC^z&f*M96!8gy>$q&?m2H+k_g2)mzT$828+w(0PKh-TU@ML;&n`L3k- z7w9749V=c6EH5zZd1k8KaI+$}+qx?B+q&fl)mz~^Jb9|34<*=wLc_&{vU+4NS=Zw`8~ z4W-oj_AOGUbiDdHsrmNq9ToJd@Z3CZn%f%b;k7#INS3eY_*Kf!&G888UyUabm>=TZ zOKYr$ry#kf&Vx0Srax@W!}7hg?wIOkp|f84I9oqphq9`Dsq9k~-raF>MHvuo$Yl|` zO8RZ`SI&jFTur0$q!-)(>HI;4BSj=UEAF(}Ic0KbgGxtC@!e{SqCDx;;Q6^1q)azD zQ)rQ+2l`35UjG6=3>ykoA!fqwOu?@$z6XrvV`*Z@j#d$g{n&!C|7Gr1ml6h-Su36G z^=k#9@lV%26I;10_INX4_(#+7=GFc+4RVV}JIzGrxr)#U-I)HFQRk#SemlRvLuZK_ zf*nMqZC+0uYn>ig6+hm3-T~)6y2`I^W!!rXZee z`}Td}Y8fBCu;eKxN1jo|q!#sPmsfnZcpnW}w(%IqC^+gi%#Jw8Oz1X*2s6#F)Nrv* zQYto&DKdkRZ+ScJps>IUTghC)M+=Aa?f3=WbPM zxU`R+H5;w*zjC>D0gpq-69R31u?uQ}uC( z@`YP!s8&;ZlBuT{bF}gqr3Tt%MCb3dET?PdeYkdFO!dU6^uGhD{XjA8MftRrOO(jl zXBuD-)MQGe`fOH7MpMo$bQtIq#vjgo;jPdau82 zgZ($i4A_g-&FG1cH|dTXNa^3&=vSO`zn?Mcc=|S;@8}PA#hv`8T$T6)b#~f9;wFXK z-k*NT9$)*P0rh!8nv`+~sON3DZXDo%si%{yGv~z#J5JQ_wniFj%>u*IquwXos`bqq z3!&ejN1JyyeQ(Z;i_swU+dImSqtUv^ZhQ~i*V$|51xNTNu`FVs3X@r@wWzvT=7pjTO-TA&eYJ%dYV%;R^d`JRfgcCa*QibAJr-Lp&Yu4QZFWZ|j}x@#zI z&1P4vWlv~&jc9J#rPOb|OFq67IB|3^&VRrxEoC6h~I}Y=IQp$;)`4Nquxag)Me1tUqyM0rc zNcP^XuT?7*hsUV+ymQHLbV!1Ued%4f)aArTRSi2WldD9Aa-GA^a9ly#?wT6?s7Bxx zUnmgMjArGw&bc3}Qf+26F;1bHV@P-QC$X5XlF-Aanw40W_g~#B;(jJCnoGu}|uh zwIjU@zBQpxMHH)GDC5@nVt~<)SVcFELbi8rC_88*8}uDtNs8C~(GG4gjWBnJ6yaxD z8ewR7T_{p~^tHpKiQticOE*DOK$1U|Mx|O{anLhKb2krf#!JjCWA^DQUZWkikTdD9 z|D|Llc)5%|jDmVYE+leoQCRZ>l${5^-2bBJXol%R73Fs_?3qavqk55JUH*nWO34q zX~>J)7*)tDQCbqu_*N#z7yqa zv09$2`vdb2QBQZ0?TS&|Unnm_x}EVt;~h9+W<2Avpr~w772)aiQ0H=!6jotlJz@Dx zMDZWbFg+Gi%uxIgyHa@In*J#ey&n}Bo2_!$0l{{y%(OYD#O1LjEqknU{UjbpKD_^@~lpk`qnu337#ppX~ zB$$8j-FILo&3J3}>!;)3Zsk}W+y}2-{U_cvpqnc+YmO;2s=4EO&foPb(+49cX~a5T zrN;Pb=p_tweunFX#j!VzVx&1(b7%h>vL`Ik!1E8kAIS-epimxwm_|`k*Ir7eQ*1&z1y?azupE5qKlE zTh#!pct8um*&@US8FZVoeqD zW$|+?@czcW5evu8S=UjE{G4w`F{%Uj?%ICd*}4+q?lOnFiRG<-|=oZ`}Q2)lvhz91D_V`+Y zOOBS@(XR0JGG7;LJ^e zKN8Dl^WiSyODueIGPdxQYXgN{}Z6LR#q+|a}RHxWR`(9u~B?qU9Wpt<>D68DC;x+{(+Bn(sZy2z}VWt<7x`E(;&l{z?jvItzXp2_D8Vi)%F!8eVyErL3m zNMun7xBxP;r2Qw@i(!07A#i%6%JcR7X~`F?gH1wr;Yl)v?$^p0|&CUA%FmD3 z69dZc-KVerB5Y~6*PbX?*0AznR$VQ3;5kQP<|v!SF&v`0aZ@>rTw-@m=^`wRbaH;z z3bwHil$C$1$#{p%(Wn{c?y>z`iZ3hqbrYv6)C&37RhwO@c3PF=HP3%b;KCx!Y4Yo5 zNMUIaN|9LWwa51w?7(MQ(U6m1et7uZF%`4j-IL1%`Bd$_9w?7lHJ2&~j(L_qkh*lW z1h?BUtPo;0njoC`x=GPrWy08%5jY-t&N1_S){+MlZAxiR5cb$G4~AFvebS0=zoTk{ zS+#F8>2*C()n@G{XMbOv-&g1N)%ksO{*SdfZ}>mmIZWLS9dn6jAVeXc0~JIi1h5KI zE*^|mru8!o3ax61GqF<1yZRUNJ13dJ=BNI-HS-)ggNWK8t@^$Y+|oh-9Hb#WXUo<3 zk*>D{x1LXCWoIp;#sWd;`RjOQ+IaFRy$rUZYLNziNrSJkll)3`O($+ugTG^RO1V3Bi!G_ve(RVRx9+f=?P93 zb_h=80y(Avm!x?zKh|c-UQCkj9+AcMkUqmYU?fegQS|HUxg9E;sGo#f|3ehW_3fL^ zUxdCUIY>!O=BJAUAsB(x@SQSARH+tR8MvJthD&Qj{u2rSM#Q#^qx*Qr8L(n*9~Iv0 z8XnB{NfTRigmh^Wy7-@5MQyE%s0DTc5ae=pUJJ1uoa?VR)!3N_jQ%?Mo&#fHkC9t+ zIIRYgat2r(aM2=desUlCO4x@Y@z`rmAV;)am4{^gl<{{D!1_sKxE&x)%l0#d+;NypCyc4J?`w3~Q?Gk|3(h=Q$uNO4- zT-q*Uh^D_rNUaX&*)A^xyh;Z784btKQi$5gmbRcMqt5;jCZm?UcjjyATZe43{5GOv zsUGOoDo!T?e;gC4+Vp6MdH;Bjxc-L-Fe=9HQ_f{E_ydQChQbbWK(hMVM_0+6P6b{f z8Gpi~U*(06vn`!E8$fhuL|(g}=wk9gLy!k~1Tb8K!fTBq{6DAU6W;4{6R6J)mEPJ> ze;af;@;l{(4g8H@APT^SCeb~=G7C(xCxOF43I#8pEIvc)Pa-Ou6+-30DFF2l>4CR)-2S9=?M_ z=EOT~_JL%HFF#9KP!Ff`<#O3Fvr<6F@L4?&P|_~Gmw{!}85fxYpq z8-450QsOK)8f79FTiZ!Va+lt#IJLUZ#65QEeQ0*!PJxqXd%mv z*m!TZp|Q3AmBieoxi8S);@tuLTk*8OHo85|XKfj!v|w~=dBHSLONOJVB$EX`en*0K z)vG5S$bDZ%ltz)Rc(p_$^`$w??ZvJUul@|WqX0;mf*xW=)a0z&1CSiZ!u1u|o!g$M zv#o1;PfGhdABnh{WeOMofD&ZKFb<{1UYqRA=*Gt(s!(IY9?1BqHVB)&MhbI3qqzIC z=oJ}EfPm3v^ju~r?zXkAu0i_D5!mLJ!uu^V;@hD$FaZH;THHX}9K>oHy#3oc(nqRT z`w-+!3ZE*I{mh>KLsc5yKzF$Jy^kNz=Lu~5sM>PRAlY10+~T2eY`b7t7f9aq3N0WK#bU^~NCqE9M>e;*4q38KZ1svj$fWL`&{NU0Zjl?Y%hQ>paVdHf{8=TP&RCFgr-Zi#`)?y zE(VI)kQs7MMUwHrF8JFlB)5e`fUQ5?IOkS^f?qr1n)eD^&dbXjSHiqj&ro|mbnB3-3fK1i-kTnD|C{o49fZyKH8 z=A}XEs!abON9pi=q?^?f^FUr4do44Z-lJ|k%?m40#m(Rkih_ zN)b(LF)tYnr-0$Vl4#0^&=hCo%3vWVTxZdSSg1d(VV z&dSPc+f^CQ?^dS=jK24(g<#HN_jJ}E_t1-<(U1j(oDcaFmcZG7+F(?BVO{PvrX;(z zF>n0>e6Qquj*1 zJL>G15BX-I+=O~_SMRHXE*7>OEL7O{$2?U30SUMGzp_kr7fz)B`*2;q_!~Ri#FC)2 zU$@~LO6&#mJ+Z|60>8wA3g~wx5+=CuNu4X>g%u%ehbf> z>_E#^=&@m;S-aby4EZzjLL+r-CdM!eL`YHHp{V#NF0IZ-o`cfZ_s2YNp`_cX_c2+jyqs&$ES^1F>k-Slwg$HOF5jagZ+>yO73OFWEcGn0Mg!cWiHIFVn6JA z8AM<3fO^AjK8!04_Tfvp&F8CNi@4-sjZkg8zFlUsURv&v_tzKswQy-SP5Z; zq?(lc18@wrgO3+c+-sFx2;C#8V9|>%KC@SWS->`!{5D2Y|yt0a{Y7y8$(n%EUd| z-s^gmwTgbxk1KurqAjE!VpR|Jfl3Y4QFIAkRl)edsO?SxD%o$VIVi?5 zj(>rMs>h*4H%8u~qDuY==MT4`7D!iIUTl{Err~CBkjlT@>r3dn-5mX*>W#q>IhvJL zv#W=ru5OprxGSXIDANMKyfw$9nFoq3QR(khG=4p?eV7uU6@gKT5ZiNB8jL~|H$wDxH z$&ln{Wtt?@l=lJ{f}^!g7QepTcYp!_lzZ!Ykv}PRAH#RR+*_oh^CwUn(p;<{<1cR_ z9`v)}G$>a39o8&SDDPkZDDUZL93=zcy`bxdEx2G7Ol*<(voLKC#DaBW#1H%|OdE0h zANjH?TYL8G+1hGKyCi~P>ihcn(1$eD&*wLJgSi7v)QA6hd`vQPm^pP^+@FkmBvH8MEF0_e!GrGs##t0rO36bL+cX<*OT2f) zl}4icP<{nM&*bjQe9_~>gq&a0U3#r|<$Vcb%D4TrHr z8NFQW*Et=1{h6~l-urW}gsUJ_3EQG$3$S8~eb}!?zg%tgZ5_X`XSeQ|)VQ-vGiNgz zO#y9j_keye_It4pu6Q?yo{YALg_Y@I)%E1byDto201-oTK@yLBQmSr8r`b`xg8~>mmU^rTCgZ*CYdZFEbRtw&W)~OV$7&_(Y zovV19H=V4BMkeIIVKTqgg7u29caTbH=Va*G%>Gez<2bZ)G>vf_kpOR!IO)=Z{a);P zhe>wCL3r{8*0+2dyCV%#?`hw5M1#_3`4ors%&{WLm9%p*VoA;EyY*f@ik+j06wu>% z03Vf`eTMyB?0R1_?TCYG=Lj~wQR3f`hVC4Z@Qiby)0vjUF(S#eM|ya93tW92OooV!P^-uKm0;SKV0@%^~6vba23iRoF{Y z?Q?MZWVU?xVs{Jmj@mm%qc`eUDhD4u`?7HtkbwCteb|mTj44O{Y>$Ez<7d2WX)q}H zu9VOMx6N^Mlx+B29FY2~+`+ZS&wCHb(`rD#nJqKv7{eNgt`=AzO z`SR92%bcS3S00>{KdvOT>m5@4={p`KUB$DO@{Y6l-i_r(hfeK;&!{}+sj9h~*ui)P zkMohu`)F4sA_C3Lmi58MEGN<;bMwO=VcjLd>}ueOx{vsU3xPg5E&80fS*F=HFIVtr z3#Y)CmMKi$!g^!a2PX<}Rs`L@e}xn(Q5qsKkdNidX;FKN&2Vw0;sR}+fg21~>VUyO ziRp@o3270fKSs1qvv=g8)Rti8p7XIMfFT6y5iw2TLND4mbVi zb0n%f{9|su(vYgI`ODUg99!eZcuaC~zGZ|@`k=3M0;)cm?+EhC>!8{Y3$rBdpOlZ` z;ii_(!8(*~j86?;-r}+AE9Wt9i8DSH^!m?e(}>GxkeK2;^_0|9J13pBD~+ZicuGq) zlxe^EljHZq&Jc6?~Ti`!HmfGS~n;99!aF`V1__7Hvb0Ye9d5J$m{n{6d%u_@koC6mCpa> z-S5}H{}06IW4y&izbt_Q1Qz7`H?ZI^G1t==iGM;YWA-gJ#)^1M{+GxFj&tvSU=r1E z*G43|;(7qd$w2*YNX{DsR9emdfq!j=k2KSYI{lZZ42~1$pMX)S(>NRR$yO~k0JFUt z@^3I(0X)JdqyK@hG=qHTF{z(zc7=!r5IfEn|iZjD#_+F4#BO6kJU7;8RJ z_g#>NN|M6H{JpdSQzhgbU6I}GFTX4>;b`Y%DTTX|atuz$h2Oc4v(#1M2fGyqrh)K9%;sNL} zym+9~(y-|GEODcHE#Z+IgonJ6_~X;q@mMq_G#xsoa^^}s9JV%=GoU>xM~l(q4RfTN zbxx5+jDUk#3{dL3Ui#SGQ(&HPJ%B#wp@t5t$h4)REc9nx(=iTU?oBv);h6WvltBj+ zw&F&cq8}uzb!Mb@X+k5GrYKKrLGF?7aqnvXq=-DR#Xw=!G1}9}dmPP=8=+T}XTxt=Tkpm_X zt$dNmAE~EASW%#Z;Cq}W-Wzyt6xJWN=831Q|3a3xJ-v4WSnv4`xL6p^`~KW=u9Lok zON|X`hWK47aNO+wiW7EYR?6`0$_J9qnsr1dGy&x^mP`7u>WrZ$6hC_z<&z8amJ@I5u+<48vI&UqHn9SE+%ZRp@m9DHm zqO4$nv8qN=)si;P=jy3DXx+cQJO4e%VBNSE%A&^;nJfljDvHz40zf$90Ki#QKjw1O zlx2#p!0-g1KSMT9E9e)JBRSjG1ZtsT89c5=K2KI4U*Z|GvP&=C2aXx}Ng-|)- z(!2deoA8B2pY+P54W+51uD`z8Hy=@7Y3Dh0)v}ql+s5NN1_df^n2JQ7N!GkE3H2C; zN9=YH?v@8~2|%)(*nr_;!nu5irf!~MPSnhB1*RgLuu~Nt?uQFT{c=xTz4GQq7_QMy zSvmW+F~#j0%gm9w_eBAI9YOc85{>Fr$aASXbNt6PR@x=0>M5D;9)s1ln(e?{r{DBw z7Dx$sHUKKbrVy~l*Xp`Bo)zE@=`3`w!LW4&^Ei9yAqPB@zf_|Y1V+LUAsIPc9-yZI z#fJazg|uhLvpAT8#AN3F7`RsMN>8;jbouzbF3?GT9}L*R7mg4f^YI;WvDig>S)5VI z@N)flu~*q0Zf%hre-=>z+{|Cc0H_gcuIl$WN8PW30VFn$J@UHQzo0CI2)A4ggLKmcJjk zO`z}rE{rN$@*J>z6)WeSUx5jIo^CLW+#rs!;L`f6pBP)8%&{z4N5pDB@hFJn^!JBb zQuH-2c_=6h6q;iD3*eu*p-Hkr(x_Pbl?(v4iYD&mJwRaI0ka7ry+CTyV2WaKKIbh- zgbOx)6LQ0ZcOdx_MIIVO6jXgTN}VaNRhlynvK`x6bKrVsM@&RD6iFliDku=obIFZjL z6a8ot!N*qfqgEL_vHW2%k+Q>%yNGCO`Rp& z6vz&xAA%VlB!4OEFQYbE?jWgX#@4g`DW51-%cpJa&X_%9DLLT6vWu7QJ=B?L&{rA$ zy%Tz2B|cxhwEB-^+0U#>*=eL-t*UFZP9HmW=mY?DnQ#dQlil%%J^`ZHvL#Mnf^KU? zW^M*eE-M4+2$Iz_mx&T`zUEeUM*khzB@+BPHrTPJFZWZY0-(}cQq&vx=K`78vP?rp z7>y(Dj0ukkSk@foXTv>~^`mjQiyEV9+uM0$DmR?m+|{b)J3m4Qc-mD*$2?tDC2}mj#>_K@v_q!Gk^x zTiN^ntSvSP6XCN3LWGfT^;0nKEM7ryBDLNehv@JwIM){0YrCtLgseE>+I*K!{g=+; z&t&M@xZu+2!=$2&lu*GeONv`yMpFrJSCBGfbV=@d0tWpDQl9Amhb>=vT0aIBHz&%J z0rx-zj4Z4FK1q5sB;+AX`+9{KD#?_HUznKrM=>y}G_lM<_W~!v;VMSzyIJP5M>P1` zBBc@7n*X&9jRR+6C85reHCjh=(AWa^(rwLT8*EtV*i|gO4GZZexbANqkx3Zk-wN_U zaMM4@?>$+gLoM4e)2sx8YeC&CQwU{SfAW9ty{&-oZt6ZMF#RpGOH zG>I=M2?41kxC7hXAV|#QsoaR|PL{=(?(%fxWY!-uPeo%9)}!!*d04PKA%)~k^9tLqu;S9bJsZY6zz~<^OKao;fH=Nf63PUm&0q$@r`M;7 zi{1+r?}E*mkrm;OY|6L*C<(4hIcZO@CKdY-#Evv*-2oSHq`dBi3Qj)0BZDU<=_8R! zVCIj%z`Yc&a$)N#DtM+o|glk`R2{w#rrJH~#ahm0> zK#&uSsOZUL&D9?G_+{N${`qRY@3uplioc4F+yZI1V8LwqFaB2y^1mog0qXl}k7cZF zvE_{bQ+B90=(BMvx7aArDjjxt4n0TIjS{t+1cGq*B7sSM@aLGMz&Xo0$5cB{l`kh9 zjfON8!tZ6A5}CMM*L1iGe+z-kw_ONYopJ#C6or_wy`{PRt(`j+@2CZ`5S^;0AX{DD)OE*Q#j&ORH ze%OSN>G4FehfOf^DTVW2{vz|;+ePMkB=%aFr5iZ3@fskClevq~RFI){dJuR^Y~P+c z;?~=d5TOs@MEdO`f{&w?k|%0UiAt7oz+k%i-1j3q#xiX3%IqCrO`;>9v8rC6iyuvj zLv5JtP~}qotXm$|!^B9HTy!MA0Q`M42o}->*O*%JuKCm7LE6kxIw0x`W5gT(Jz*A& zXZ2vrbtdnJlusCra(eNBEu{K&V+nKNXkXe2G5=CzA|4kv)WX*=G5ZTH%yX@FMqG;e z2M`eEJ3>i~axCxJ+tZdXi`7I>#LUBggnMxP*f}#YS(D(2TG|tfz<$is4Bp%ZFd!>H zbBk`ia05gFFJe^j+&{tSQ{+zl{SHcU{asTpFc^D7#sh@bRUV8*Ml_SB2a=EEBoSiI z2K(T7l&#E+1`R=%({Y`*~{;s;8Sk7MPQuo4pS10_Z@ zR^amd{zJdF?zb=y|Gq~kkMw`OW=OiWH``&XMc!ew=`uuXRqgAm3mv!i9okQ)eHg0} zt(dqh+f#X5=Z6cM&Nik(XDEk!ykHT9Y4+8satfA%+^Da3=%fQKHn)a(sHQ)Ja%|w_ zOeFi!9{*Fp6l*%DxO_(<4MgQ3h3cL;)ydf!n!JYwp)8_W0Br;DrR63Ab%;A#GQ?>8@2PqS_v=vEw=1mx(z~hFuYau@+lVBJ@6#k0S?n;ns!NmD2miN zS^iq8Sv#1de48R`D4T5c;vzTA0@C%gD_>rD_3A21`5kkpi2P2(l-@$SmBiiD0 zKY`gYR@zHSkSQXv*NefFMX+Cy1bYApDH za8h=Yf!Hm?KJX%(6hPIF^M~wWt`?Pd@XDU45$Z&!L6W#TZCA!HS7Y+j4m5konuHk( z40_G5gRed@`ukY7PvZBn{=Tgk9kO#Zf8W;MN*HTvwjX{g;or6u>q2Zl{I;#XT_%j5 zwe7r$|NqSso@6iibf1Dv>+X99BzPbmJub_Nb;hfo{%?d4eNcUy02(p*b7oDKWH~Dw zL(=}yIIXo0anL!Uc`a!XI;WfC1kTCwIxII9sOhBZp#}yg70O=|`;QBd=Z(-teza~Z zIZ%v2c~7Tw6+W!<&p?hsvUaFFL`4{Qt@3!TEwU9gedcTh`sJIbwM+O)<8zrdLLx^@bu zN~7H`l*A?Z%4PljiE%(tT!9dtB@G~}I}48%pT?y@+o8LSw2> z9wAWLe}o++qG?CM|FPPWiV3<+lTV?ffVwws zPPGR)#g_qYB>SvF3n0dSgUtUYE!+R^1({b%QfXBTg$lJ3dClG~gjsVLfH5mO(}Y+n z)_^}NHbTcLvk;2I8Kx21>1VoWii32WKRa2XI$hdBjVsi)h3}rK+jXujX0k1;k5^o3No2@;iAE|F3}BYwS4Y6bk!8#Pj~GByZ%!_%NO<-kNQfg;3CV3;VfZwm zlV0Q7rL30HZ>3XtRh0y1w+ST?jXlC0@tD*H7lOh~vn}~toOb~q<#Gf8n0Ihef=GnN z7T_z)FLoOGxn@z(mq>UN4;6_Hd|Js;_)iapfH=w@*Xg*HC%`r}g_S~XZj+~g3g%Bg zsSW8N!LLti+N%K7F}Si#><(Dc5Qi|R3oin0wqoTIKvNM1Au89_@xoZN$Nv|5?;VeI z`~MFoiXyX8#%Wb5v+S*qL?kmZqKvFm_HJ3>lD%aMor#cLR@pi2JwhkhWIONI+vjq2 zeZO7z?{WWg|8YO=&tJVCaXOFpFNn~P0Pw?yNH62> zss+dvTgglU03b;c{d(bIc$IH@mVe%4p16tJWNH$ko@^o(ooeaIdMU13`?nF07eg1_ z{I1Ox)AkQ}^8kU)A5*W6BUsh8&~s{jr@3lxHeVrNZ;jEH*lLkGvD#J#z#i63LULhd z1o(JDHB`StBs~Aeq=W;4bpZHqN`^t>)I8!nm;=DTU0{*lJu%Qjlj5I3+3DNX9HUQg zS-DbKb+t$PExSpbFMnr66dT%z6q!lwmk?C3sN-3g{}cNNf!Ko9-7ZWI07|)6d*Bva zascpl0b@FZC_1rHY>6})wX<5rs&Y4yZ}|0)9d|{LBG(7?4G-KLE)_%}vDf8%qPV$> zeY zZTvN$8~4&w+_-(4P5H;?7l3P&LaMIURGjM7+75GM^N#v0O*APY2xR~_TI#^EzVef) z;YIF2@y0kYAy8g)J6F#SmDFXh33TF&uwhW^yaz0}bIl2W<1scU5wcb8mqPw5W*LjA z3!NM#5^s!`*cINZaTDm3Xnh+yHn0O1*r`apTDzB-Q|zPn*bV}{(7js*2+vdiF__9; zU`>D=pvWxmL#GZ0;ws4&cyjthqyTF#YcEf4lHPsVdCJxM?IN?7qJ+9vNnETg8S*7_ z!JH;6_=|&jM-e)=7gm>{#MnXj((ok zV`nSrHnJ-pMz4v9h0iHQIXTu01ptoqA}qE0;}f+OLbDaMH3*=kl86TGdR?D$L7rv`KSpPxo;f#Cp2+ z1A?*@L~Yf4oCE7rKVwAwZ}j!OEow=We)z5q9vBDd<}%d6MR#yH_{gLIia5VNF8)`3 zdMbpl2h}`N4N;sXjgi5U^IjDEf#~w}pQchVJAi#DB#9M<@;!YC0v~<6(xH{Ep{4iX z>=2+?+H^Q-f|Bh;Zus%<2@WcLwoJ zFyLDVl6xoPwD<_{@T@+}PZVmSdj}qkuLsv@Rcv%DgEf6lzk2E0@{Or;CW^NJ3ldYn z^Ro(ZMycO4g|1VCcUsEuW&$*}T-oR+2kii%Z3r_;2+kX`%2tkBaO(r!sJ!bO!~oVC zXH24eDq}C!loiA7lNum2Sk&LXOs8loyNQFqVbzP8!GUXdaZ&mkF`WvG?I7Z6eDso1 z@F2j~XomtEnN~Hoa(w4p!4l}))X_`F0AIc8BN|p$U3S9Gck}(m>ac=}^UVbb1nm<2 zgsFV3h9?cNp&ZAu=|g-`5jx-@ODX5trPJa&UFUEQ>|s&10aHT(2r!~30x^*qb)lJz z10R)uN5xJ!0q!Y8n)gg30tKge>7Mb1WB5)+wAwv<@gM(id>1Z%ad-r#nf}5%33o3> ziWg&A-;-0KW z=r#5;^m^C_W@r%zqATQ(qU)~T*_g~376CsZQd2eVm_h&P$OW}eW>~#BXRSL&eK`_X+xN5g{?iw;a|MN47Il=q>pMj)EG8d)q5rHiaeTF5<2fC5{36Vkz8y$keQ+JKrFR zlHHW^1CNx8Csh1~lR!qz<#qZ`SSjWq*9FZP)Q&hhf)AG_5iP%cL1_={?-=OO(XPMif$!}$`{SHzwT7rG!zor~SXETu$rC*~IHs12>8Jl!CwB?(7tjP3ZMmAz6#nX#F zIvTjk%l~vVk|8=#U1reyhSI}hG~O&?)aH`NBSoSYyC%t-Ao=i^F%40|d{bmT?HA-LG#$ zar`~`!aga~mtE7}wn@p=kE2}^alpe6U@bC)6zm!VJd*`!33n$HMLXLE<({G0kw+^d zX0fys2Zq*ag^p94Lj#%*{EfFWun{{Kre%KyP1iM&ElkfZ(r)BX=r<5!FDS~S18E`c z>cRub{TEpuFvGeuFx65cqLHP%s$|DRk%k6S;M!RdI$z>KV}+S|h6=$T?;qoY?Q74S z#FYY%QiN74#mya^W1D9~wZDZkYR%*tn#}R6Q0ZbAS_$zR_cO>tY`kmG-3?LnMz>y= zwOrINz3*dDr$kAmPNR5!3&>7PREal%ld$hr(Y!O&AA?6fJ-p3x^VZ~O z)fld38=;A06cLYZMV?EFWn`XWoDmOipN;o_U!z1C%<98xa>}=dA*oa~J@V42Htleq zbL6h06(qI3Cy7~e@|s2Eq-BU~tA7##U@_rlBlXQ@SxPU8j^S8#?r*qD|AX0rfQE7gb~&5w`!Ps=hZp3J5m%4u<(;0v(#J#EY? zoXPo!XttV+^#X^?v;&{XwQ~`fX4}g0<+@fMG;FOoKT+ic%Wi5-ADy9GmG5`S{VA6( zL!>9?mzcbZs@+_yxSuH7KfN&E-=oROi-m}*F}8Wjs%mZag_f&_ajoxF)e7y)Y&So? zyy8l0WS$rq#d5PzmfDLsSY@lpcQbhlRh!Ml9c&c64ghFdSqaIF zZ$ZZ`zD7_`HegrA?%Y-KHb~2DgkPg(^GS65a&ofvX)E9)<*6vtvhrl|UDj^93DZqh z%WSVbca4H66>bPWy-vj^5sI9A0>;me-ZA3Ds-`Vo+88}3p1(sUHFa`5RBhe{jsWLS zu2>lF-l$w=!ocvILZfRc`A&_n!#Ixk9 zp(xVWY6urd>Q5-%cWBWltouoDZ}_TH6XH=IM|sJWykybK@uSBbG?go59&e~gPF?Nl zneZha@1-$?4nYR1311SOwcf6B&D$5Bu;{NAcO9F9i9*#%IYXl;r>@4yLY-GA`{rP2 z^~YQy<&>gyorqE&!<37{cM;g8DfMP(QdgN0Ny@e!VSIc?iKTW7IBRGWqh;?mRXDd?p;WNg)U2Sm@KlB~U2Rv4->=7z zl{aa{MsdZ3&Wgdq7$DJKr?54gG~<>+1Le5ri@Urp8fhenKU67^uW@vqH~)H;5&pgw z|B$@LlcQiTo?4H5B59)Fv)VyC59zGKLIW;CO}x^d*a-m0?-0Bw0s$maU5V)Gh&uCz zBC3zeoQh&$?2fxY&C{{7rXSU%?RtC{i`rgqSj={7NnW*aJ9{gh7VWRo#v15L{05V* z5>yy)l<&MNbh6GVInB?A!q<{3Nj-q$k*rD zug}_@B5*d*RU1WcdLi+HvjId#Pqrsita2jBrNN^*_b9J79?nJF)B1FA9E9dZn=s$h znJl%Id=1ucun(TwZ#f#7n_|CuTR`}3K5?({$6sc3&&E2m4B}V~lVa^sR*E7|f7d`e zcNCd8_}n@~4weF=H*I$idYW_3=p)V}K!nNOPbEy93GVhfyb27DKv5Z?#YqmPL2e|5 zsNC0V%57_LX*F);!V%$Ux;psLD*Q##`s0*b<&Bg4$5wcr${PLh1_E79(OrSoq-gm@ zX=<+{!J{Q7Ki#;eqh2ZV@tLBl0qcV#0YjFzG?%o;Ik{EC7sWJ=IGX8orZ-k-tr|GF zA-)xnSCJEu%Bj^mSy`UmcPvy_{`BwD&e)aIAl}X;k``afQl|0%Zdj_e$!n!?!eU1s z+KSk~%o)HEv!Igd^0#v`i-|51v4>XlTCdK3+<3r`%BXv~(z*QBp)4!%vZVW+9q^mY zv2zdwjeh@oj7BZ~fq`&v}57;tHFbWXI`KMtw-e7$~{% z!!hO;oQ{lqUyN3A!k)>g$_Zc8~b_!^4q89a_<4YSnv<2$tKOQ%L-3kaVv3oOZSCp zQns%qoA!d5e53mf$x`dG!6eBDiu$plBAd}os)>bpiEw$J#N>+_Pu=USX7sa$ri*a8 zraER0`j%)2PNXIo&MyTCuR3iXM=U^VAJQ)rp6_M9*?68RPf^zIv@lY;9NpH&>B3;1tfV1OhxEBCBO<^vjl|mb zXkJ@ro=GT}DePERFKEm`bz+m}?P&n>7$zM;a))m}y)(=Aqh4eRbUeo&oAw?IgONIj z)e%P@gGeUZYN~UcZ-TsY781p7W}jrD$RB%cwB;-YF;yql)B8TJjBPIaPL?vUfkfIs z)#OywH*HPhth$IUv+LtkYq$+G?ixaX)OA?pA7u>@n0XWGYE+TbM1X?Z3PP|WF$mHh#p z-e*nw)1d-B=#$Dmy20bV;E#dj^cSnANj4V5{Ov@S8u|RIjK4;%p=vDz5W#os&%73H z!5X(?R!7nP*ARk7@!F`rf7P3zOu0DPO^CG}iC$A5ss2*sK7c{Ct;vd&9GhbedHK3& zY;QZbhhGmk6gT1!>OpvuPuKI*`#lZJsrExn&-K`Uad8f_?7X=0KxHe3!QxHxFr*)x zZ!959*6L^?NGii_B7{vW*ypRx1WKowA3E@AefU}wbH{F}gC#nBgBR_3)eTAK7bChm z%sUT=b2=;d+f#6Fo`iNi9b>UcIjgd@=&B0X^7^qWq$Xw(9{I+jTFVO-8&?tUo3@uH z`E*n`Bym94Q@+q3lX3~>^!qE!t-weNcL#P{Ix)(TSy136Qk~c-jJcj{J4|DPkgAMc zgsnM(5rV)^-Jq<4!3e*$<|SiJUA}u@>iN;qs~tT=IzjX^OaG}XlxQDJr~5%kz;Yq^ z^Th^EHBO#IU>|(^QUJUIq79|{QBWX*{e!372pP$AFt`k zoikd+d_Y{CgJviOyuWc=`(GHX`(6yYBr`r~j~?edbs?+jv&mRSb7wB%p$Sv=4-VMH$iX4+V`5D3m5P`YK4O&puoJ-Kk~o``2TSJ3KD|lLpnOwzFUIa z+EwH&#-_;B?%)GS_gCpn*J!Jd7Q;3?_IOKR@qEkcY&qR(2i3yBc!z_ng5tb1` z`Kqa^awuPl3-IpDp-}Xe7#;z>rRxT`vfOC&y^-NfxZTbbrRGFL0SoLi+7`;hK0$@W%vwW`<>CQsa)ebkSH@Ka4NP% zO9F{5jpX8w$ydj7?q#^|Ks84d=vaLSc^mOiRd)#5DBt3)$tJWN`XCy{z6~YT>xgIj zf-TgOucKWCrt9^r46A9ma1c z&W#bQH%9UK8>67$GJ46`)#sw@EgiM>VF6Tloy=0_QHs-Opty~Gx+lVRiQy4^Rf<1P zd6BR?HA0v%o zBCun#gtP6gJOO`@?8v5JP#xgp;bR>hiFcVj7klbxrUa-ARnJY%1P$+ zq35tZY=LGvZOrw+PeFL>exo&It57y8;k@71^`6{T+QLxP=_XM(oTL&Ia%B}#>&zWpG&OS=e9nj-!upM-oJl2OW$y1TCV9h4%`DbzE)k9tg)9mZHUdbmu z*09D{6BZ7NZ^7i=Wn00~D~wt(OBz(mJqj8%gW1&C8jQN`GtPUGNvV7FZ?KiKp+szbN$XqIA8fPgh z3WAnFxgpcB8|8I8&$LB(ftMd;8Id^)2Z=9~pNMlyuL_4xVkC3 zk2fZl^E2o}Bp|vHL=4p;_uffYm^fxgwg!67AjEjTaZ-c;j8se?LtUA+S#|JvQzzv; z9<|uj=RB^jw;~I`nPqvDwxTG*lt{E63R5*Q%V5QWuDM_gU|*)~;#r$F4Pwt6 z8p)|nZL zJ(aU}0{krMUL7By=98Bl9Dhh_YY7KENv)@0$US$GrE2XOd9{Psel%;%HeGYaNukdi zPf}QG9tt6JbSlqde8$zb-}G}i74mPTAk{^)h9Y^y@{P49<@OYtNt;ii@5O-A!>?&q z4WcTLTPG!cgs8>)jFQZEDA>?vtC?>>3Lh6 zAH~%IOskKMMFu;p_N-A}fAo>xEI?pV!zEX&Dq zp>wysjAT{V`TM+AKN`bD;`t{xSbrFcXNtO9D_H{0c;T*wfISb8;~JZ7f9BQ+KCz^u zbsN3TiKhM}L)G4)D4W!y(}8a^3bZIo^Q?CMC%CdhDg=j z5P5c@N?Qd&WcQn?-?Dpq2~?{l(w__O5QZp+yVn+Sn8<8g;N?M4*YeCItYn)Cqy?c- z>d4mK=6FLVZ82hC;ax#-N)6h5B@2oGZkfVAjhQyJ{S0Ia)9mZiJv10GUGj;SQl^%d zbNFaNySO9reGEM79unkW!Pii6!GC%!brmi@yYj_Q+*hK;XxBQ3V;9~DqRe)yZth10 zH{O-GM$%OXOM#a{%-fSpNbW_8>8;!R!ngP~&5`o9GNuBSKq|OOrxcgWY!+#Xrvw^= z)TyuMoO8z_#cPQ$z5}6~V7zlxw^({)CYE-Z9zxh2rvdPQIO6vX`UROPa8sZzsa=laCU@Pch&+AjiR_ydU+L$Ob}Zo`$kl|Oj68=+{s@?gsrN^8 z%-P2>k$-z}Z=Xz*!8#qct+l|3H?YOl$qg8<`>yq=UjJqf)N3bI+}99xEeC-oyuI54 zXDMbowzc$!5Q*wDe!G#i#`VNBSUjH4)ri9fRQyBl;S<_cifWsTe@-TE3*CUiZg=LE1}fU~gII*AOTeay808{CgY_j{Ty9j5587Q_iaO z)7z@NJYJ1a5MgUQ6E5ph8R{qvX+c(c(OhvD3Mw>4zq}lam}U&(z9s8AsiT+RT0y|1 z+Q%@$ddPPqy(7 zWz;}u6zy=?Jvjcd z3RllfngQDeqHzgSPWk14S zf^C@l2|dD~%?AZ8rMu*Ie-n)^f`pf8HB(YHTxO~ozd8K(-`{H>RQr<-kY#iCexbs5 zGLbVEyq3j?udN%rR&rd&tN;C4(!+;9d(!&A?=*fL)GC(>Kk``7ZmNOK26~LI_mCYNCTQM#)c8})zOwR-%kMuS?GAdFTUNYe zrvV>8mXksL`%mq?uJLhDUNt#S{F@l_BMQ_lTg=$opC1rc%9zl+^}GA`K2Df5i+^*1 z{r?@5{|?H3S4zgj4z9a|f>*)sJwc`2p}^Rn*bq-5f7=L7x>Df2b|W3`VRaOJjfWy+U10)Cz{Joo>MDbnZzuDQJy=TH8Q^JLMUE#ptG z^r;>ob^MVr+o}EMayR%N;gMgza&obD^^#aSfM~^*lLYso=w3(xuB1*SZB|*@t6+RY zuS`6&c3aXcpHbtTr+46#^?zSxFP8q@-TxgKg8#oyv&5cq?XvA$m$v7HIIaQSUs71# zh=l7j>?%`sx_5u4kh}t3!Bz4p&nIK0a?0B4&9gLwl(V>tx7w9YzFIcfye)Yuz&@A& zp!2-LDTjZ5Y%h5+Gx0LnFj^TV^?21>hHW#MxQQ>5dI{2W-^sa-2`bofuF~yLN@$=D ze7%1gaUZo2W&fQa>}4_eNz!?)xy4IZ;#3cb2Nuf0?i+Wo1FBVRDO6QD!Rm4NAQOGt zusY=}|G=}i{2Os^OVg&g@|;B>(wU9jd>#y`3JTJ!J7 z;iXJ@*2GEMb@q8%*pO&4%XRDJ$;B7^y>i5$@ml2>a{gb~4N(W^wri#?61!i#9xHyX z>|&pfiOE05pElCCKZXC{n$L3ONQ6L2YQWCz!N0DQ{O|<&^oa*I5Bxa?`17QbE41~D za6#kZ`%%&B+^T!iNqUo17K$bmOipq#bbUWs#*dii`;!*|)|Y@?<9Ft~mq<$Uk-~^* z5KuI^I%LrQ{lAHi5c4HvgThCO;G6qs?*85n{*mKSK=(;pW!RgPppgUr!Pt$p>b^@r zVbz@({bzOMh5>9{ZuIByF*uG5Na>F@isN)a>V zu|l}L6BY-nua<>zBgDTj}zfP$bT*iTE6%67W}DxeeY+WoBEXWnAapb^lySbvSeVYD?+P zO~p zclrA(*c38!2I>@|MHF?Rtnv9|W_qgs{ zfx@mF#4<8WnCjq8#JkVgEv**c1^5RHGq8T>=3}pUN;i;Zf0#dveIFNywG$hR=9SFx z*cdeb*`Ttr5&Qbf2`it1YWtl5+*N}Oj4I*79%HFohhForpviky9)qixFp42T=JE5- zpi`R=-}I9%a&a5y;Q?*5NP}P2dk^{fFtXvZl40!9hI9w&2`Fq-9NG0Ge@$4QZWgJ^ zHeV2#P$6v*OnbOBpg@E1RvAdne1f_{Mjvl~%MP>LT@pt^d6YGm!Zlc^ ztl#*SmNA~YbkYE$ld^=2Vm{2c=mHD%YzlbT@H~xohWowzry(SoZA-TA-%qr`bA#N` zaXytDLznKFX>w$PS2IA6TdUVp?uAw9Jk?$gDKo%8j>NIi?#~dT51+I z)o=8-2~?yxqtdt<5$6)T{57@f8c&&kwX|t=##{6xOs2EYk7q5qZ8TuL<7I+T@@2Y;8*Ad51fZwhw#7# z^*m)BRq5klgT>w}l%He0ZQ61sHqo0OA6FKO*^6mzf3NqpQPjoF4o_9}SRTftx|DBB zyP7;l`Qki=N3`OVm+s}URA*Cl5Kz>)8_g}(Xbh273jdf(Pci7RTB|GM`bXcj4DW{*05i`m4>pU)S>hAF<_8DU*)~SjKpI zzklJjpXeZXhgTVra(J9YRQ8|0xA+}+_f|500L>7p||1{Bfhva|G5(GfP^*Wa(T}%~Wt?I$8gV5?i z$zrL4xLCpaqqX_@WeoFw(Z+8377RpkjZt+)3On5t{Z%}4OaTQ!1XwsQs$p6qGTY3CHeYkJ^}yJ&tGQ1GRv>5~SWs%xv$X93 z&1cL|`Pm~(g5nl^^Vd|Mw*sY6I7WkVSzE5D|6lfMF6K>sk`ndP_ zrdC_|a(Z&xx&tnGQQZF5Etij{RPPMQEY!FJUe& zfypQ9ucs^$K6W^?9iP)>SLs_xs=_>9-O6&kFG*SrZ!9`I(pxvH6ce{39gaqxU zAnkqUFRx=#r{INOJnNCeCkXh5XgP>-dCSk7A-0luJ*=$C8XLMQRe}9%-QjbKJUqcP zH@`WFBNfgy-_7A&r`YGhjeLE(?RBm49xvBbyqX)rjnbIs7|h1cY2iMOlGdeDaIckb z&39I8S{E;l=q_!C2yL45+SdduZu`H##c01icBdnKqJ?LtpUQkdPOEvAXqx&>wH9erk)yCKVq4eiSHbEq!b1Gwh2~U#crFs9_c5~0>A)qk0W!$hl7W6CD zj@86@ZIzEA&7j{^^GQ~@{8hPak4lN&R*{OkK$94TVLg}RvG&|@ zS#fGzh}bVtKCX*>r4oTE*h(bl;n?0HbqbFlFXflxl_k2?Xt$Q8CdyUzu=Spkv%!AU z=rcymUSY=Y0}_pb&J)q&@=jv09%jW0z9l88D!c6l#2kGgI}r)LHcaHFVwK~>vdAHe zcQiKy@ ztq2#L`}RLhg9r;Xa)mXrb5Km^4e^(908G)huqDf(wds~Nv~@-P#JM4TQ}4&a&SK-{+eaMF z(u!~UsA4^{OUt_Y&j&C_vZ`z}F>0lt^*1UuRIFaWN-Xj8ei+ovE}i%dnW6)PZ>1=a z8F5+lgl-)*D+xtg6ub7$*z@#A843>l6#wJ8P9N<)(6Gs7%zH@#=vBPENgr<{(lp13n&TyQO<_{?OBaoRKX zij}&0&O@|A4ptkVpG!4k{G{@N;zb6^Cr_FOo;3MN!T7KPi>;<_X<4Oh3J))`3&NbA zgm5}$-nT@q5LC8d8DIW6vIcXYZ~JVM*ix*VZ6>_nX7+Xu>=xyb3AE!m58JrIF8aki zD%jEQy&LsmDP1)^LpOK(F~$uO$l<~1;k*>Gni7;yW)K`IrEJl6K>YF8^0R$j2a!nm zfVgPO6H$Ssyz>0_gxh=7d_Rb@n%HwIr=$&ei6HRtcD>9?BQD?R<9F?zFQrQ#`Zc-S z)Zn3?*_IxmE3|#T;pzF7y7Ddcjp?UCY4Z9`XL1U=&zmQo)>PzE5t51DnOYNS8?AFI zcqL>n=rJUU&CV&u%xDv7R%cV!WRpYGQc8Xi)VQ=PIQ&|a8Ll2%(v#mxun(;NlrfL8 zEb!IKi(>qo*c~o;r)1ekkVZCl=3{L-<_^>L!=3!BEROBfb@{f0xeD&>v0x9=yi5Ht zObOvIvS(8ysF_>IV75lTrft8Y0|!{8tVHA_flp%p^PqDL!iS<=L_IY#Z{_|nz$Q2B z{8ZaaYspz2v?LD6>tTei-dtYno8wZX!Vayq+G9)TU0Lj>t>=`Y|FRdJ+r+++x1I~0 zbfNzl`)j+kKq9cti^RTrr&I>x)Q5^D)`K@=Y3AaIqH3|QqH28b`N(7{)7Da>_18Ql zDPy{lmO0F0wn5VTv(%6xKawPsTPUqSA_a-_De1(MNH!wFlTnoqrHx3n>SXYG!Q0doWnEiF)5{tZLsl1N);AxIYO=9utL)+$? zb>TW}+wL(kOVb@Xhf{Rr#9>{6t|rXfyM{FszVO;CckHS5iUq$58YakTo>SsAiijjX zq!PGy5t{KfnNUNUe>`LCU~=gITKUn^M7(Xm@~~t@Lxa=ehe=qXF^iVeE8IoMiS1b4 z@N*BTCBx#?=kn9{rftRdOCFE6i{}@KIWqc9E8#1X%iVf%vMYTSdUY4z>&cMwuh(%6 zeKusYE)NL&Im_q}m&H5F+)A*!-Zq5vM>*YcC&yK4{~^Kk6_?Ep@xPOPp(YC4MqmS` zi`&h{#Ba(q9vN?G9Q@tomZn=xr{S-B+>o)tXL0z4gSTMwV z=GpK@wHqa(_)gt>sH8;t-{?UE8?@_)SBPLAk5$E}d`W7ln7L6juleO@+x8#)mfi2J z^&T^}QSOU(xH|rk5gDTsCm@6pj%9?_!c;cPuE_dxDwE|RV|vg*1b)Ars(Y@gFZF3> z-#N&!OO*pd1B)hvuwN{iGh?`SEul7$Y7x%9*%AeRxCujhA77rrFL7QX2mmkk^&rBe zt%_bwrty4MAN!q=GlfD!bKccxI35&lLImju+F{pQZ_UBN*?al@sUDczI>Z`Klf$fFBtIr?saYj^q z_cmvmJ_IxRh$r;zR_Dnhs%HOBFCRX6Y$=GY)+%Dwu->VK@)R~E=j~v5|J_w;UMFi+ zl#_?B*Tk|vm~VUwH?XxxIN^QQ4?N{&h|JNv~38NQ)&Q+wrg zGZil*dvCJ={5_7j+5e+^95RFK<9Xsr&1W1Pjjt%`@-J;C?Qt}`?5P0=9W@jk`$9$e zNZbI6QVd)u$-ni)R8nb44~qk1x02iCiqLs0#n6?d|H zX+F1H=lSPS3X_A6vC=}SPQRnV)Zw4+I@7T7y6$Dx8#hk#V)Gk|@qaq!3@=<8< z1*Yew@ZW=fkl`Hm@Ax}>|D9(E5V>-ry+&^&K#W?BYW$aIn1g&sb5>#xwnjo}MoW;; z(3i?i-$xFG`xS>j^nu`jdVIcSit=d*1Aeu5(LwXNq-`@=kf5zJL9`bqfB%LieCR&M zYJ4$%8sz%}&|;=7B)|$#f&X{g-I|e|&nLaWy{Q1Z9yHG)QMla{BC^}RX@5&|kggeh z2y;;xz%S5VIY4OGW53oG$W+Q0Z|lY3|J>e#p%36dM5~9ne^c%gUqJH&ZZJ&c!Ca6G z5!o|B+*_KkMTH^Yk@~XqS^OZ(uns?RDp|g3+{ZHfI(O$SegN^G;;r6auFd$LE&T6q zzaaz7qdQB!0$GGi!q-^*@8Ta?>)}IId3>IkKk)z%li1}R0U1j|5;vdZJ!G{VS&SfG5qTLB8T|%;UdyreA zr`!JjkU8*ZdY|YY$IoDrc1md8K{$FNr#sV&?0;nbB>C?>c{FuDuD0VxBT*0Lt4&0_ zrKK2Ta-BmR_yNTK-51)hGGxeRAL4tQ=sq-0pRnfjf0xt$JIg8Suu{CZh{WO-woEwj zaee&$%DnsCot)mIEBLgFx%K`21*a{L+OL-is+)XB@3n*61*2n^@B@c`(78E`XdlwB zD=YbP7n{)u+*emDxbzQM@BH_b&koVFff!5pl|Y85&>KuBk{4ZD)4X;tf z&J5gsQqI3jfWfS3<>!o#r<7(Vy#O!GAp!1FPHqR73Y7{4?0{O$Z?~H9J5=v2Ybc~3 z<65@0*nkBRdz1g_y=lX<93guV(X$dqRDY=skxq#Q3JGR@qzV`D3FYOET%{97tKkO} z|Da=#DEfmXtvwDD>=t`a$lyWksdFO$xf0y_ts~SwrlzhTqYunUkX4E2IY+BO^|LjR z+#J&Ymw}kT4$j}d{rAVbGD&4yWn9;FcJ|v(nST9;;=i=P0l$4?Bo_tqWDHimqmi;` z{L3-?x8WZc*?8}KezpvZLam+a(fsFXc-sDHyt%BxY@$Se!ALgx&Wn?a9(>Kh#(q)l zmP7}^>b6Sy{`r5of8ruCnjo$aweWx2PO{fvuY-rylm?jB$V;-}vVHnN)1L@Me4zc$ z!wlRRzh-n+rQhoxe2f3rgS0nP;(xp&@4CJBWqSjOAF#h4TFH@f$7|XTe{NX#dzSw^ zJVx$Q|J%$zx2Avm&wqRK|I>5xgt`|vg9#6S&9wR2{D?X142o3{mD;C|XpHcb&R<5H zA{QInK=|l7UyJxsqW;E2jE%C2)b?XKJ`<&lR&PoEjIR5&pJNszok6V)gIHzqgXbxt zOexsJk5Ov6Ds;*&8e9O2zrRwvsimc*b1zJz&B&ii@Kl#w@M~JL7v;^?dHl8ywde$l zrf>;c+p`gvdk*E1lAE8LFgl7&g3E?(rAApDg+Warar?Z^AOMrQj7g&ZD*)`SZnE-9 z5RD8&gyJS?5xeWQdJeRBjeo7@JlN|+O@0K+SBwu8TUum=2DJ@vToJ16_YMi%))MBG zBDY9}1|o}skphM&;`oi2O5VGH?s)lJXw2;~C|{)j&x>PnV?wAR3Q=?rU>o?W-F$0p z!5l;=n$at9bFS=GWh6dw)d2H4W)Qctntn`En+1nU zs=yKV|N3Ep<#8wtopsz=d5ozVYoi}yPYt7uI-OI#mTg{k&r~JG!!RCof~R!HT4$oK zYqHK1CBYgXF;!*0p<3ng-6EVYM{~%;R*eF|l|ZzFn$w>fBP8Q;2grqoJs*Rx!sLe` z#5nsx9RpuYIRBXR%2AH~23Z1%vS)OOmQ9XK2nBpsIBD=Q0R>#B{Lr-7FiHc38{5(9 z$Dr@1wG)(K-FT4R@-IZhg};i7Po4ex!a7z5v^rZQWGt){)GFCaJjoA^Sq4_*bAyMBzYG-ZC9H@j}8uSsx+r&Ye$D4Yz(G>5?=fq<(gW48Idt{7FkXQR2X^@o55Xi@nCMGeb4G zO`z*`2)bbh5&5!yx+!{NyG@ZN74&2zxqv5WJ`v?Yu2X}aVsl&m@y)z3@`CvWHXZFU z^YAiRTa6RY%jz3YA`kD1e4KU9mS>u*@kHcJBTS;k%RUvD9CCDo_fpHZdj0(PwK8)x zh#xzO(+}d2G!{(CRSRbbgXck&M57;(Ly30ljhSBlCFyr=#Q^LQkFI`=ebgKU{JXdO zM%6xpw^_?TV+o7o!m3vsmBEj(OcY%hm6Q+<6Mm~at}Xj)85hs&xS2(NjOtK1Hx1>a z6lhU8B~)8v7FHAm8BA4xXv)Vquz-xyDjZ~XwCTIqOuK5fEE9Ut?F1juvWfrJwo^de z%BbBkM9H)wdH=4p_P6U`I6u+l@4`9Nqg#;~*4MY}XyXj>3pY!{jqQVfRFx0rf!2+^ zGmwiHH|o|qbPYB(C_L6=%5Tes+V+~Kry>^2y0(bMZ!gF`E*T?&bZuZZ-Og3k8B$@I z$LIRX)L}wlsK<3-xk-gvheNk`$ycat!+Rh)-EEALqy1gUZ+JqxnTrFF&^fJ>+PT10&}}5Zp=y&T zdN9RUVzt}o0q4O1*14w?<%P`AzouDU~Kk*#{F!>u2-05wh~ zY9|jwA{BH&xxuv?S5N%HKSUDbF4MngS$GQfJ^+Ez6v+NdbX|-Rf5|Xy+yGK+xrPYO z!B777&t_;V)@nwn2T%=s?ue2SmXK*p`t&xCvlS6HRn$>6k;s{B;KgDs3^sNA%x5;= zca#MAT{IeA1#9|y?i9!BMs3rgOs@4=mso9pJ9jAY*HDb#b`dQixwmVbE*vW54vg)F zxttRj+lW~&#o;{3x($o4;;l3ztGmI6DL5TbATb#5ILAz0+L8&>U?70E7lk;eM& zOBbGlxbrrYaaARj7M%YhrZ; zQ8ii24BOr*uVu>^{gE8hJVamL68_SFkS;&b~ksP+Yp5$_Mh=vihv<~Jo|A{Q#nXF%#pEfQ!Q6X zHh3*l#qGR@fevV2`OAdWElRwrKcDp-9Z^JVw25fVl8gRGyf(PAY)4d8Gc7rrfT)e% z)XZJ_!WNW*=v;gB0)CRz+DUT8zE)yg#B{Fwa_>*VrK2?~j-?yrT5Zo1^vuh9(iG=f z!b{HRihp@&VFWE2W0ZUDeH?u-zR)J7uQY@kt8z-bY|CpBvNo6=akUREV4!1J zVX<_Y&%GG)-n@>Y$>6R6J%hV$@z_F_8j+D@?vyyzg;p}uU@~AK-Tols=5C{WF&XzLgjB z){zO+gex6S3&%aZD}XMK1^He3oY5uY3yEuBs(YTPpW76X&uv3U`jYL&Qk}6wpbOx_ z5VWW)zEF*-^C!H(y9G-~)I$dpH$xDu$92yKTcbOWa-Dnc;KKQY)`(ZKvt+Ib{oenP zQR2meT4SX;ebkDa!R}y&?LeO&Xz-+NpYgJ88CSFa4ww75UOro(7V-Y0_l^=4s3x4) z$8B=c$J3XWi-MJQvf4Ob?BK@;kc(d&IXBx?5;U3;DaU#+0~C;Ei|}fJJJr`JG>|rnlT02^U zb1Spo&Xzdekc3y;mq@~pSr|5#=g3&Qscne}Tb*wZt6nOyUf4O=(lE!eAg-SWy1V-E zJcAZV+%@)~JO7L1=ef4g3xh66JVq0~i<VU`x#!{Lu{d^Tx3*?bF&Va8Er^aHBY;7!IKm7fr-zi48r8ooC!O|FO8JG z`>8^vg9bg{^TMZG(9>$TMKq#)8mfW_6Vh$mWk#cuFp} z%3!W>g=bG;yavO+rO(r6?jn|r2yV;~iu4N{Sl z>ntsoo4>L}E!7;*vv0Nnwa}<#El@A zyC5IcsN%oR%V?jliLj5wQAO6H~mS;?^(Bv)?{x%aNGu!ohFK}#jyZ_2d&@j2}Gg)Kk@U!kX;i?6? z%znK8!P$d2<3x8TD?0HQ|5}YQjsH3q#VWBOc5vGGP9(B{tc>QZn!lH{3gFmeHzf!vqi6;O*T}YN~ z{7kLem_p5GSbaP%r5ZHbJJeJp!dmvJHJ+m4`zGsoX<0Q_V~CKdpL)C*(uei;XBPA? zo^WH#8?Tl)=0%rVV^Puh^0=HtLy%2{*ts0n`GBxnWXEG%UgQt4(<(3-*uLd&;lzaH zbq=6urRNO`maAXL_lFbnRevRRy`Q@rJU(%i@46H#g`x1sV%_h` zCEuu$!Oo@+ehCR0w8rN5ZAh4|pKV?NSpzRW>0f88@K>h4<3A+&eWZ7vX6p4M>g>#c zRI5vBS42+0S0n1h++xThcP)j=3R6Mzxw@Sxx&@tsCFYGPB8XzDKwc zw){oN{%3dnI%H+8r@3M-yna~Py$;)hjsgzap!0SllY4K-2_2`K&a9}2_mCFXrff9Lq`Q9G${d8dR00|69`pG0vH1XzMJR$d}rpF zS>N~X`>q9lu~=EjkDGhXJ!hYN_CA-kWK))tZz$_CDi}zqHai5Z+?2#_(DdKDZ4F7@ zuyExzOk7$*Dx;NAZ#%)ZL)a*a``QSED7J;33S!27ylW<@OYq?`HBf+mi(N}X6~s)h z8_~q@Mt(UNw`^PL>0wL9INpx^u32-e<{bpPLTuqLJ~s&1P*s7>_!@@ z?WyzP=eo=>@!{;}#sMw~0a#r#eOVpn4^>C z#YBD((&I=SLu+e}ipR(DV-qAq`?4I&K53h9vB&I-)$f%yuA@6$oilZ|Ma z7Q7JN2h#Sqz* zCBD}e#yedE2;Iu({0LP|w}&GpqoeqCxV zMcL^O1A6w8_uN~K$8GlQQSL{RmU;6{CWH6Zt#WGdJ#`Sj;$`>;>Efv3?6uvFiT%l5 zJZBFWLHd;r=xbe9`SvG_@xP1DPu+*5Rxl-R-UFHTXPVJ`sdB)^ezGeeClrBk0rIe- z$lLi7OVlg%ifYg|*Z2+BOKs?e71_SUvI>xYo&&Z z5^Rive+>AdM$TK0S_PjVQGH>a_YqI?fL@^lC|hmBde+%{fK1q0EaUB2!wwUOBM0n3 zqdO9i=e)=Xcm4yA$Uh#FzSO$FB`ia*G{VyN{w%Dlszv;J8$ zK^+V3BRX1cY$(pn{#0s4vruAN3Ui9TZ=bvLUVpoZvhkYor6DEcqzHzJP_EpC?T9Z3 z+P*)5cIT>nFEf;D({%(_6GUo?VdjmbUz#9aIta-3mqp_*g-WDg z{fbiZRCb;O?z*cWnM5k4hp3;QCf>CIeJKrtJsxSjH^5$kg6VwAPPQ*;(q)qJ)Be%O zLO(FCSx0hbq^5qo5PvT0wDzk?pY*V#Yt~$0J`p1#zNK4pGIhXohERHsv!g_}VC=&M z78~PO06PTS7}+QTx{ovm>Qtcl7q^@2RAHuk{Ki9gZKS_>CN5Z;j z9sfmnYsn(*>(}iyjHE#|&B7^cGGJ#MPG|HF3bn|Dhc7 zNB;nN?P%j87u^7U3*8`0>xB>xM>tyN5zj0{?{~h_%O{LL8fJZr0<6<;7FERT+7t~2 z>BcGF!W9q(eU*6w@fqRr^G~?p+HPH@1_FB;8I3^ADutUnn9R|@Zh@w5n=)mZVg&TW zsclG?R%Y~!zGs7)xEVW)r_mTbm*-}4}O2*kY>!vln?&E9Oe&-s3I1I1PPlHJCwQPV&q6UD;E$Cr5_>GHa$Xlo>yhb zXtr85vrCQ3tj{frqvvZcJsWHH{vANu#DXA17!mj@i9xO~jm~gS2aEuiC~$KrfmFVl z<$hib{j6?q%jT`}D4aDy1o<{pxhO3x%TlxRdW?ikZ!s`uCwnP8$cCr6^J1wyu~Fw= zzMBV<<0aFs(Jf0m**xFUo*Nb_j<}zVdlWA^ApQ7+wQTtC_Q`d9UR{In43aJ%q2bkD zZFAN)6eW6dd<`Qv4j{OJgm(HGoUK^zhvSej35mn7X{F2XngNSWPMSh`E~usP76uBf zKoZ@$`Q<{5NM0gi&JiQ*X%!sdfdN|cImr*k(JBeL?72r+3o11-I@*NOQ-l-f1s%3r zsv?3`m!~~X4&}@3+@Nd+jHk<2iH%EoSzg^4wd+^|UF5;-)OS6ema1ZCPl3?lqTRNulffjlZJDn!NgbKg12KpzQ z^}f*(DF9sF6DU}<(RJhBN*py_O~{M_7ZUMV=hoS!{Tquv<;f27mA+JersY{j zdcy=@D*j#r7+%gcz-4u1k3kX4V9|g@49F-&+|tl}jtGN*bWW#*Wfry)h8qkEjm9j)COeHAM?Qp(=vpuLu&}wo5ea1r zAoVV~gKu&dmzvrK7_1P2D_6U?t|fei$V0xva7;sAwe~4?>Xj*`8D+6H{Dm6Y(biv+EP9 zK!%&l?;u94-h1>{lqbNdH>0@wqJ;P5dVqZMb%&5cfM(jdCtdnaa33_oi4g;!Y;Rjt zCQ3bOs>b=+8t8}Js1uj`-J%XyYE{OSq4Z0h$Dd#|j6IxIaH9Rj-wME7CLrTM{{ zeKE$p{aY0**9j>!qsFTW^*!N3j#~jZ&~zcpBc+))<%{L@A$qdwY3a#~Z#m8U6p^LJ zjFv#AzU*e;HI--+RgjX<_0B*HhDmQy;&tkHeCHAxyMrq(Cf=a)^ui@UFL|~DRgc*v zjQqsw>AldaPfgG@pq>yT*p^qbt}$&dZMuW zW}@Wpq`DVfR=pB1{GNo}na;Y)h`h?3WqvQmp>KY>S&oY?cfZJBK4gogRcv37BcQoQ z=Mm$ifZc^J8#6U2zTTBH>56msnGSxRfT7neHy7f$^l+7RMZ9`-Vk&Y=u3&6tDc%m$ zY~6ie=zFJ{7oxIwGtGT(xcI-SH4HxA1z#wKUP@gC?y{+(?4SMqE)PN@+msbTrJw-! zk$Qx15o5!eu+0vf&0p=xaJ7WAhpRU7=tcxBFRg&)!D@SM+8VYRS)W~Wk(++aZ33jA zcNF-pN#*m?=QT~af&ts!aOe~5=!VcGiDah?cjwuHQ|s*WoWTuJk~@(u{(>sP$#eMX zcW|XOmj*T2yO^9J+w|#7(6{jxQW`bjU1z6!5bm{>{5AQ6;H1iQs32CLTB(`XdUhXY zc9K?uAGz^w4?MC-g(Wn4)0Y_}vr;0KwCD5#D$)9yZV>f49{q&x|7O>?x4FkpsLukLy3J1 zXTlZp2ksJ!j-2U;k1RNS?vAqso{F%fs0&R^{no+%I-ziR4U|mJT{_Y|*t%bHLtQr! ze1$2c<2v46H#>6!L|j_n-|Ic-*lbVl&<2wp2}z9FSF<|(eb^9C36h~`C9-L-@=g<` za&t+T;5lPc@F=lPslpe=v5C|Pm#Z1g&^+7Xc)*gBtZgP0h~E&Pt2>$)=;bmnz4plR_rzQpwXuLd5>nH zY#Ve^^!Ryg011KF{DSgqjqD}^ezz48*A|w*v|YXBtrMRAP=WB+nj~$rxaswlw%otjoMi%*Bv&Wa}kEF54QwV_1+L8P*1|#8+(s7$?C(* z)zP2#L9KPynZ2jf3cCp;Xhpi@XCfBkEu3{|BK|q`g7|t+ft8f#lZ$7xxVX*;r88<2c_usN32 z;kK4E!l*w53u@0Rhz|l$c0qKM09oJ7h1xV?+Ow{1b{#aj#6ue$?r7;xY>HC@=4j@& zI;rxBj7HgAa+9^s`N;RgXAJRAJjKgTTFj34E*Eb2O#yqx?#W8r`4B~?DndNWEpj2t zI(hUtSBy)>_SJZn_Q%&qq|C7gf#o{q(nr64d*|Kj&OD~yR?*h}Fb}U%?P?By|6cJd ztz71`0I??ANv*rv4}^Nw$mUW3->47oqzwUwqhCso3ib}F;H9a{dnTmXjm|5V0<3eY zzAN`Un8Iz>c*u<Dn^)TmDYXs zI2$Sfx-3j68&_#2mDj+IQHe=X4_Ju|7glK;(vE>cfB-v9+Fgu(mqU?*zVBlQTd~<( zEbDim%-$YB*UKYPSlI-1l;W`f66M`ul{TL>xVxAi+dO(V7%#E*jAln^t`ld&5z9{B zfiKSoz9w~kkbRG(ZYxFdNM&9XwUrjkK2n!o-UQtjFYSCj$wrG- z@yNEdfrTt{i!p@MCtg(rdSIh6bcxxbzuHUI=6XBQt2I~v6g=#n(dP>UTywV1+~W_X z04lJnki9v4W(0LwhW^;4CwAA|dVnwFM4TFcuT%_cS@X&?Tt5R+mD$mD5fU6jAuIyD zf04Agv@FfYSBlZ8N20K@P4NQ8L;-lCWe^DD`3=at0dm2xHDUlF=XJ>9>Phbgesb*sdiK|{e3el;R0o|>xAGU@n zAUQ+nMgF}H8M`oVc z0(ir=6NkexB7QV^Gx%^?lnJ#*PQCDnC>+z$sPhqLPQ4E^$mW?!>y4MFddB?Q7_bH$ z$2C!b0T`;5*gPJkx1xjJ$(M&9DWRv8tUuvvoA5kjTL$&UV&bxs)QcMC30D+Tv2K&5HRJ8kP4w2)1K_AbVSEJz`BDJ8&;rT*b#Q$ zQeLo_ln61mp5`6hP6vJ7l#|k@Y2K5IfX5XWEs#f$;aj^+GZx(-zj1#r<)=B8#ld+8 zuSBEbK-CI&t|BEv$+70Dif)0;eh#S5CR)6nMxLLmoTOkaz%=#+&DDSpJq@i;*W8=n zL}N#suo1MrEu4JBH-92`u%56>|9QxbzcJuUaq>HE$F3uWb#t-b)BVx@+s##M+4Z*4 zkp9s@OZN(oSy>p3i&LbXMFD8$EblH1dXNoWvLQv4(5qfMw!X1vnSEd6Z8!RE zQCAt+a?+{Pu(IJX>FmIL*RG{L(mcM+a6_H>DEopbsLpx6Y@PZ0pbY5V2r}SgUTo0S z@noa}UUu*9Mi1hlYe}`U6!b^Gp&lV*CS?g>Y%&i~iGB!ZVk7=sK|HaMIj6UApwgp} zTW0ebA33x9kaPC~)Xfd(GXQT1cL96yV0fI|gpVL%PJk(h+tT&D@(4N4or9gd!=V<~ zeo{JFK6jg!Ufs<3MuT<1-nRu3PoY9rUfv5I`T$s>FCZ&dfVr8uLIAC9rKbNEtL+bq~1G{HZuY-Sb2=<8Xp4mDz6 zYYO0+2M8w8!E?>UxBtSn0KCtQx)2`prUf9xwcgD;ozMZt>Di*q*5fXDerdkap0=(X z5J^LG>rNK?+4a%VuFate`L*|`wg?$kyh5Pw;Hp@5mx`ob%q&f7_WxNjpO=(BEX7Wt z5lQw3{D6Tc3^x2yYpQ$*4wJIbKuLu|OAtl(81zu(1IB3nRbYxh`Nl`^*y;NhsM+t0 z-tdqOnmD>U{Ytnm-8t|=&+dyJi5D~knNOI{_w&a^kd^gBM=NcAq_z6CT4!hkR&&~f z(_e#)B?d1?av&Up8 z*fubHzq(WBv3jECR!QwCt`vpTn)#hRfrpW4*2-bvqaJ90!%#TvxCG|Z|NhxQs$8Lm zLQF5;0|q_1ptXg;&R5Kx3eC}q0<=jFz_;@{?w@F%n?y2G@EUW|lD@`bK&DxvQFPDH z0N_#3Rc2nigcZ_9G~`Zr9y-Kbr=zZFH1#~N{u#!iN37nnW-B!wK|^5B1XF4~jcKRnYM38OVUUxML}UO*CQ0eTm#9Ep+zVzjiy z-unBy;jyefmcFCz3(ty%bPw~=W?Zsr5Ho)t=lScJLmg@J-(46($A9`Z{`}fcG?|pE z)jKkOvjh0=2HXGrr7RbGBZJ@M%KwP~`j@poc+7*<{QFV-`Im#ed2odOGq(Kc!Z-*> z2jTrs+u=WV%E2x4Klo1HMbvodGXTXT=-WU?1!olfAU7@Q|H^od?`4h7-!)nPPx# literal 0 HcmV?d00001 diff --git a/lib/atlassian/jira_connect/client.rb b/lib/atlassian/jira_connect/client.rb index 0b578c03782..d548251b602 100644 --- a/lib/atlassian/jira_connect/client.rb +++ b/lib/atlassian/jira_connect/client.rb @@ -3,19 +3,24 @@ module Atlassian module JiraConnect class Client < Gitlab::HTTP + def self.generate_update_sequence_id + Gitlab::Metrics::System.monotonic_time.to_i + end + def initialize(base_uri, shared_secret) @base_uri = base_uri @shared_secret = shared_secret end - def store_dev_info(project:, commits: nil, branches: nil, merge_requests: nil) + def store_dev_info(project:, commits: nil, branches: nil, merge_requests: nil, update_sequence_id: nil) dev_info_json = { repositories: [ Serializers::RepositoryEntity.represent( project, commits: commits, branches: branches, - merge_requests: merge_requests + merge_requests: merge_requests, + update_sequence_id: update_sequence_id ) ] }.to_json diff --git a/lib/atlassian/jira_connect/serializers/base_entity.rb b/lib/atlassian/jira_connect/serializers/base_entity.rb index c5490aa3f54..94deb174a45 100644 --- a/lib/atlassian/jira_connect/serializers/base_entity.rb +++ b/lib/atlassian/jira_connect/serializers/base_entity.rb @@ -9,12 +9,12 @@ module Atlassian format_with(:string) { |value| value.to_s } - expose :monotonic_time, as: :updateSequenceId + expose :update_sequence_id, as: :updateSequenceId private - def monotonic_time - Gitlab::Metrics::System.monotonic_time.to_i + def update_sequence_id + options[:update_sequence_id] || Client.generate_update_sequence_id end end end diff --git a/lib/atlassian/jira_connect/serializers/repository_entity.rb b/lib/atlassian/jira_connect/serializers/repository_entity.rb index 819ca2b62e0..9ae88ea21d1 100644 --- a/lib/atlassian/jira_connect/serializers/repository_entity.rb +++ b/lib/atlassian/jira_connect/serializers/repository_entity.rb @@ -15,13 +15,13 @@ module Atlassian end expose :commits do |project, options| - JiraConnect::Serializers::CommitEntity.represent options[:commits], project: project + JiraConnect::Serializers::CommitEntity.represent options[:commits], project: project, update_sequence_id: options[:update_sequence_id] end expose :branches do |project, options| - JiraConnect::Serializers::BranchEntity.represent options[:branches], project: project + JiraConnect::Serializers::BranchEntity.represent options[:branches], project: project, update_sequence_id: options[:update_sequence_id] end expose :pullRequests do |project, options| - JiraConnect::Serializers::PullRequestEntity.represent options[:merge_requests], project: project + JiraConnect::Serializers::PullRequestEntity.represent options[:merge_requests], project: project, update_sequence_id: options[:update_sequence_id] end end end diff --git a/lib/gitlab/usage_data.rb b/lib/gitlab/usage_data.rb index ab49c3e6829..c4c372b0806 100644 --- a/lib/gitlab/usage_data.rb +++ b/lib/gitlab/usage_data.rb @@ -617,7 +617,8 @@ module Gitlab operations_dashboard_default_dashboard: count(::User.active.with_dashboard('operations').where(time_period), start: user_minimum_id, finish: user_maximum_id), - projects_with_tracing_enabled: distinct_count(::Project.with_tracing_enabled.where(time_period), :creator_id) + projects_with_tracing_enabled: distinct_count(::Project.with_tracing_enabled.where(time_period), :creator_id), + projects_with_error_tracking_enabled: distinct_count(::Project.with_enabled_error_tracking.where(time_period), :creator_id) } end # rubocop: enable CodeReuse/ActiveRecord diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 6bf07db03c7..11367498406 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -22016,9 +22016,6 @@ msgstr "" msgid "Register device" msgstr "" -msgid "Register for GitLab" -msgstr "" - msgid "Register now" msgstr "" @@ -25305,9 +25302,6 @@ msgstr "" msgid "Specify the following URL during the Runner setup:" msgstr "" -msgid "Speed up your DevOps%{br_tag}with GitLab" -msgstr "" - msgid "Squash commit message" msgstr "" @@ -29246,9 +29240,6 @@ msgstr "" msgid "Username is available." msgstr "" -msgid "Username is too long (maximum is %{max_length} characters)." -msgstr "" - msgid "Username or email" msgstr "" diff --git a/qa/qa/page/main/login.rb b/qa/qa/page/main/login.rb index 8eb28eb53e7..265e2b7573c 100644 --- a/qa/qa/page/main/login.rb +++ b/qa/qa/page/main/login.rb @@ -125,9 +125,9 @@ module QA click_element :sign_in_tab end - def switch_to_register_tab + def switch_to_register_page set_initial_password_if_present - click_element :register_tab + click_element :register_link end def switch_to_ldap_tab diff --git a/qa/qa/resource/user.rb b/qa/qa/resource/user.rb index 5cd4147e154..ca30ff12480 100644 --- a/qa/qa/resource/user.rb +++ b/qa/qa/resource/user.rb @@ -75,7 +75,7 @@ module QA end else Page::Main::Login.perform do |login| - login.switch_to_register_tab + login.switch_to_register_page end Page::Main::SignUp.perform do |signup| signup.sign_up!(self) diff --git a/spec/controllers/registrations_controller_spec.rb b/spec/controllers/registrations_controller_spec.rb index 31eaf3c83a5..cc7b469b3b8 100644 --- a/spec/controllers/registrations_controller_spec.rb +++ b/spec/controllers/registrations_controller_spec.rb @@ -12,30 +12,10 @@ RSpec.describe RegistrationsController do describe '#new' do subject { get :new } - context 'with the experimental signup flow enabled and the user is part of the experimental group' do - before do - stub_experiment(signup_flow: true) - stub_experiment_for_user(signup_flow: true) - end - - it 'renders new template and sets the resource variable' do - expect(subject).to render_template(:new) - expect(response).to have_gitlab_http_status(:ok) - expect(assigns(:resource)).to be_a(User) - end - end - - context 'with the experimental signup flow enabled and the user is part of the control group' do - before do - stub_experiment(signup_flow: true) - stub_experiment_for_user(signup_flow: false) - end - - it 'renders new template and sets the resource variable' do - subject - expect(response).to have_gitlab_http_status(:found) - expect(response).to redirect_to(new_user_session_path(anchor: 'register-pane')) - end + it 'renders new template and sets the resource variable' do + expect(subject).to render_template(:new) + expect(response).to have_gitlab_http_status(:ok) + expect(assigns(:resource)).to be_a(User) end end @@ -426,12 +406,10 @@ RSpec.describe RegistrationsController do describe '#welcome' do subject { get :welcome } - it 'renders the devise_experimental_separate_sign_up_flow layout' do + it 'renders the welcome layout' do sign_in(create(:user)) - expected_layout = Gitlab.ee? ? :checkout : :devise_experimental_separate_sign_up_flow - - expect(subject).to render_template(expected_layout) + expect(subject).to render_template(:welcome) end context '2FA is required from group' do diff --git a/spec/features/invites_spec.rb b/spec/features/invites_spec.rb index 8ccaf82536a..d1520a5a53a 100644 --- a/spec/features/invites_spec.rb +++ b/spec/features/invites_spec.rb @@ -58,6 +58,8 @@ RSpec.describe 'Group or Project invitations', :aggregate_failures do end it 'pre-fills the Email field on the sign up box with the invite_email from the invite' do + click_link 'Register now' + expect(find_field('Email').value).to eq(group_invite.invite_email) end @@ -92,6 +94,7 @@ RSpec.describe 'Group or Project invitations', :aggregate_failures do before do stub_application_setting(send_user_confirmation_email: send_email_confirmation) visit invite_path(group_invite.raw_invite_token) + click_link 'Register now' end context 'email confirmation disabled' do diff --git a/spec/features/users/login_spec.rb b/spec/features/users/login_spec.rb index f56c6f28f9d..0761c1871d3 100644 --- a/spec/features/users/login_spec.rb +++ b/spec/features/users/login_spec.rb @@ -26,7 +26,6 @@ RSpec.describe 'Login' do user.reload expect(user.reset_password_token).not_to be_nil - find('a[href="#login-pane"]').click gitlab_sign_in(user) expect(current_path).to eq root_path @@ -593,10 +592,16 @@ RSpec.describe 'Login' do describe 'UI tabs and panes' do context 'when no defaults are changed' do - it 'correctly renders tabs and panes' do + it 'does not render any tabs' do visit new_user_session_path - ensure_tab_pane_correctness(['Sign in', 'Register']) + ensure_no_tabs + end + + it 'renders link to sign up path' do + visit new_user_session_path + + expect(page.body).to have_link('Register now', href: new_user_registration_path) end end @@ -607,8 +612,14 @@ RSpec.describe 'Login' do visit new_user_session_path end - it 'correctly renders tabs and panes' do - ensure_tab_pane_correctness(['Sign in']) + it 'does not render any tabs' do + ensure_no_tabs + end + + it 'does not render link to sign up path' do + visit new_user_session_path + + expect(page.body).not_to have_link('Register now', href: new_user_registration_path) end end @@ -644,7 +655,11 @@ RSpec.describe 'Login' do end it 'correctly renders tabs and panes' do - ensure_tab_pane_correctness(['Main LDAP', 'Standard', 'Register']) + ensure_tab_pane_correctness(['Main LDAP', 'Standard']) + end + + it 'renders link to sign up path' do + expect(page.body).to have_link('Register now', href: new_user_registration_path) end end @@ -665,7 +680,7 @@ RSpec.describe 'Login' do end it 'correctly renders tabs and panes' do - ensure_tab_pane_correctness(%w(Crowd Standard Register)) + ensure_tab_pane_correctness(%w(Crowd Standard)) end end end diff --git a/spec/features/users/signup_spec.rb b/spec/features/users/signup_spec.rb index c59121626f0..bb2b465a69a 100644 --- a/spec/features/users/signup_spec.rb +++ b/spec/features/users/signup_spec.rb @@ -2,7 +2,45 @@ require 'spec_helper' -RSpec.shared_examples 'Signup' do +RSpec.shared_examples 'Signup name validation' do |field, max_length, label| + before do + visit new_user_registration_path + end + + describe "#{field} validation", :js do + it "does not show an error border if the user's fullname length is not longer than #{max_length} characters" do + fill_in field, with: 'u' * max_length + + expect(find('.name')).not_to have_css '.gl-field-error-outline' + end + + it 'shows an error border if the user\'s fullname contains an emoji' do + simulate_input("##{field}", 'Ehsan 🦋') + + expect(find('.name')).to have_css '.gl-field-error-outline' + end + + it "shows an error border if the user\'s fullname is longer than #{max_length} characters" do + fill_in field, with: 'n' * (max_length + 1) + + expect(find('.name')).to have_css '.gl-field-error-outline' + end + + it "shows an error message if the user\'s #{label} is longer than #{max_length} characters" do + fill_in field, with: 'n' * (max_length + 1) + + expect(page).to have_content("#{label} is too long (maximum is #{max_length} characters).") + end + + it 'shows an error message if the username contains emojis' do + simulate_input("##{field}", 'Ehsan 🦋') + + expect(page).to have_content("Invalid input, please avoid emojis") + end + end +end + +RSpec.describe 'Signup' do include TermsHelper let(:new_user) { build_stubbed(:user) } @@ -295,64 +333,7 @@ RSpec.shared_examples 'Signup' do expect(created_user.setup_for_company).to be_nil expect(page).to have_current_path(new_project_path) end -end -RSpec.shared_examples 'Signup name validation' do |field, max_length, label| - before do - visit new_user_registration_path - end - - describe "#{field} validation", :js do - it "does not show an error border if the user's fullname length is not longer than #{max_length} characters" do - fill_in field, with: 'u' * max_length - - expect(find('.name')).not_to have_css '.gl-field-error-outline' - end - - it 'shows an error border if the user\'s fullname contains an emoji' do - simulate_input("##{field}", 'Ehsan 🦋') - - expect(find('.name')).to have_css '.gl-field-error-outline' - end - - it "shows an error border if the user\'s fullname is longer than #{max_length} characters" do - fill_in field, with: 'n' * (max_length + 1) - - expect(find('.name')).to have_css '.gl-field-error-outline' - end - - it "shows an error message if the user\'s #{label} is longer than #{max_length} characters" do - fill_in field, with: 'n' * (max_length + 1) - - expect(page).to have_content("#{label} is too long (maximum is #{max_length} characters).") - end - - it 'shows an error message if the username contains emojis' do - simulate_input("##{field}", 'Ehsan 🦋') - - expect(page).to have_content("Invalid input, please avoid emojis") - end - end -end - -RSpec.describe 'With original flow' do - before do - stub_experiment(signup_flow: false) - stub_experiment_for_user(signup_flow: false) - end - - it_behaves_like 'Signup' - it_behaves_like 'Signup name validation', 'new_user_first_name', 127, 'First name' - it_behaves_like 'Signup name validation', 'new_user_last_name', 127, 'Last name' -end - -RSpec.describe 'With experimental flow' do - before do - stub_experiment(signup_flow: true) - stub_experiment_for_user(signup_flow: true) - end - - it_behaves_like 'Signup' it_behaves_like 'Signup name validation', 'new_user_first_name', 127, 'First name' it_behaves_like 'Signup name validation', 'new_user_last_name', 127, 'Last name' end diff --git a/spec/frontend/fixtures/static/signin_tabs.html b/spec/frontend/fixtures/static/signin_tabs.html index 247a6b03054..7e66ab9394b 100644 --- a/spec/frontend/fixtures/static/signin_tabs.html +++ b/spec/frontend/fixtures/static/signin_tabs.html @@ -5,7 +5,4 @@ -
  • -Register -
  • diff --git a/spec/frontend/notes/mock_data.js b/spec/frontend/notes/mock_data.js index 4ff64abe4cc..7661d51aadf 100644 --- a/spec/frontend/notes/mock_data.js +++ b/spec/frontend/notes/mock_data.js @@ -7,7 +7,7 @@ export const notesDataMock = { newSessionPath: '/users/sign_in?redirect_to_referer=yes', notesPath: '/gitlab-org/gitlab-foss/noteable/issue/98/notes', quickActionsDocsPath: '/help/user/project/quick_actions', - registerPath: '/users/sign_in?redirect_to_referer=yes#register-pane', + registerPath: '/users/sign_up?redirect_to_referer=yes', prerenderedNotesCount: 1, closePath: '/twitter/flight/issues/9.json?issue%5Bstate_event%5D=close', reopenPath: '/twitter/flight/issues/9.json?issue%5Bstate_event%5D=reopen', diff --git a/spec/frontend/pages/sessions/new/preserve_url_fragment_spec.js b/spec/frontend/pages/sessions/new/preserve_url_fragment_spec.js index 0d9af0cb856..4b50342bf84 100644 --- a/spec/frontend/pages/sessions/new/preserve_url_fragment_spec.js +++ b/spec/frontend/pages/sessions/new/preserve_url_fragment_spec.js @@ -14,18 +14,16 @@ describe('preserve_url_fragment', () => { loadFixtures('sessions/new.html'); }); - it('adds the url fragment to all login and sign up form actions', () => { + it('adds the url fragment to the login form actions', () => { preserveUrlFragment('#L65'); expect($('#new_user').attr('action')).toBe('http://test.host/users/sign_in#L65'); - expect($('#new_new_user').attr('action')).toBe('http://test.host/users#L65'); }); - it('does not add an empty url fragment to login and sign up form actions', () => { + it('does not add an empty url fragment to the login form actions', () => { preserveUrlFragment(); expect($('#new_user').attr('action')).toBe('http://test.host/users/sign_in'); - expect($('#new_new_user').attr('action')).toBe('http://test.host/users'); }); it('does not add an empty query parameter to OmniAuth login buttons', () => { diff --git a/spec/lib/atlassian/jira_connect/client_spec.rb b/spec/lib/atlassian/jira_connect/client_spec.rb index 40ffec21b26..2fd2fe66173 100644 --- a/spec/lib/atlassian/jira_connect/client_spec.rb +++ b/spec/lib/atlassian/jira_connect/client_spec.rb @@ -11,6 +11,14 @@ RSpec.describe Atlassian::JiraConnect::Client do Timecop.freeze { example.run } end + describe '.generate_update_sequence_id' do + it 'returns monotonic_time converted it to integer' do + allow(Gitlab::Metrics::System).to receive(:monotonic_time).and_return(1.0) + + expect(described_class.generate_update_sequence_id).to eq(1) + end + end + describe '#store_dev_info' do it "calls the API with auth headers" do expected_jwt = Atlassian::Jwt.encode( diff --git a/spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb b/spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb new file mode 100644 index 00000000000..d7672c0baf1 --- /dev/null +++ b/spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Atlassian::JiraConnect::Serializers::BaseEntity do + let(:update_sequence_id) { nil } + + subject do + described_class.represent( + anything, + update_sequence_id: update_sequence_id + ) + end + + it 'generates the update_sequence_id' do + allow(Atlassian::JiraConnect::Client).to receive(:generate_update_sequence_id).and_return(1) + + expect(subject.value_for(:updateSequenceId)).to eq(1) + end + + context 'with update_sequence_id option' do + let(:update_sequence_id) { 123 } + + it 'uses the custom update_sequence_id' do + expect(subject.value_for(:updateSequenceId)).to eq(123) + end + end +end diff --git a/spec/lib/atlassian/jira_connect/serializers/repository_entity_spec.rb b/spec/lib/atlassian/jira_connect/serializers/repository_entity_spec.rb index 23ba1770827..9100398ecc5 100644 --- a/spec/lib/atlassian/jira_connect/serializers/repository_entity_spec.rb +++ b/spec/lib/atlassian/jira_connect/serializers/repository_entity_spec.rb @@ -3,6 +3,8 @@ require 'spec_helper' RSpec.describe Atlassian::JiraConnect::Serializers::RepositoryEntity do + let(:update_sequence_id) { nil } + subject do project = create(:project, :repository) commits = [project.commit] @@ -13,9 +15,23 @@ RSpec.describe Atlassian::JiraConnect::Serializers::RepositoryEntity do project, commits: commits, branches: branches, - merge_requests: merge_requests + merge_requests: merge_requests, + update_sequence_id: update_sequence_id ).to_json end it { is_expected.to match_schema('jira_connect/repository') } + + context 'with custom update_sequence_id' do + let(:update_sequence_id) { 1.0 } + + it 'passes the update_sequence_id on to the nested entities', :aggregate_failures do + parsed_subject = Gitlab::Json.parse(subject) + + expect(parsed_subject['updateSequenceId']).to eq(update_sequence_id) + expect(parsed_subject['commits'].first['updateSequenceId']).to eq(update_sequence_id) + expect(parsed_subject['branches'].first['updateSequenceId']).to eq(update_sequence_id) + expect(parsed_subject['pullRequests'].first['updateSequenceId']).to eq(update_sequence_id) + end + end end diff --git a/spec/lib/gitlab/usage_data_spec.rb b/spec/lib/gitlab/usage_data_spec.rb index 63a050e4f56..243da628204 100644 --- a/spec/lib/gitlab/usage_data_spec.rb +++ b/spec/lib/gitlab/usage_data_spec.rb @@ -294,19 +294,22 @@ RSpec.describe Gitlab::UsageData, :aggregate_failures do create(:project, creator: user) create(:clusters_applications_prometheus, :installed, cluster: cluster) create(:project_tracing_setting) + create(:project_error_tracking_setting) end expect(described_class.usage_activity_by_stage_monitor({})).to include( clusters: 2, clusters_applications_prometheus: 2, operations_dashboard_default_dashboard: 2, - projects_with_tracing_enabled: 2 + projects_with_tracing_enabled: 2, + projects_with_error_tracking_enabled: 2 ) expect(described_class.usage_activity_by_stage_monitor(described_class.last_28_days_time_period)).to include( clusters: 1, clusters_applications_prometheus: 1, operations_dashboard_default_dashboard: 1, - projects_with_tracing_enabled: 1 + projects_with_tracing_enabled: 1, + projects_with_error_tracking_enabled: 1 ) end end diff --git a/spec/services/jira_connect/sync_service_spec.rb b/spec/services/jira_connect/sync_service_spec.rb index e26ca30d0e1..83088bb2e79 100644 --- a/spec/services/jira_connect/sync_service_spec.rb +++ b/spec/services/jira_connect/sync_service_spec.rb @@ -23,7 +23,8 @@ RSpec.describe JiraConnect::SyncService do project: project, commits: commits, branches: [instance_of(Gitlab::Git::Branch)], - merge_requests: merge_requests + merge_requests: merge_requests, + update_sequence_id: anything ).and_return(return_value) end end diff --git a/spec/support/helpers/user_login_helper.rb b/spec/support/helpers/user_login_helper.rb index 925576119bb..47e858cb68c 100644 --- a/spec/support/helpers/user_login_helper.rb +++ b/spec/support/helpers/user_login_helper.rb @@ -8,6 +8,10 @@ module UserLoginHelper ensure_one_active_pane end + def ensure_no_tabs + expect(page.all('[role="tab"]').size).to eq(0) + end + def ensure_tab_labels(tab_names) tab_labels = page.all('[role="tab"]').map(&:text) diff --git a/spec/workers/jira_connect/sync_branch_worker_spec.rb b/spec/workers/jira_connect/sync_branch_worker_spec.rb index 2da3ea9d256..4aa2f89de7b 100644 --- a/spec/workers/jira_connect/sync_branch_worker_spec.rb +++ b/spec/workers/jira_connect/sync_branch_worker_spec.rb @@ -4,7 +4,10 @@ require 'spec_helper' RSpec.describe JiraConnect::SyncBranchWorker do describe '#perform' do - let_it_be(:project) { create(:project, :repository) } + let_it_be(:group) { create(:group) } + let_it_be(:project) { create(:project, :repository, group: group) } + let_it_be(:subscription) { create(:jira_connect_subscription, installation: create(:jira_connect_installation), namespace: group) } + let(:project_id) { project.id } let(:branch_name) { 'master' } let(:commit_shas) { %w(b83d6e3 5a62481) } @@ -13,7 +16,7 @@ RSpec.describe JiraConnect::SyncBranchWorker do def expect_jira_sync_service_execute(args) expect_next_instance_of(JiraConnect::SyncService) do |instance| - expect(instance).to receive(:execute).with(args) + expect(instance).to receive(:execute).with(args.merge(update_sequence_id: nil)) end end @@ -61,5 +64,31 @@ RSpec.describe JiraConnect::SyncBranchWorker do subject end end + + context 'with update_sequence_id' do + let(:update_sequence_id) { 1 } + let(:request_url) { 'https://sample.atlassian.net/rest/devinfo/0.10/bulk' } + let(:request_body) do + { + repositories: [ + Atlassian::JiraConnect::Serializers::RepositoryEntity.represent( + project, + commits: project.commits_by(oids: commit_shas), + branches: [project.repository.find_branch(branch_name)], + update_sequence_id: update_sequence_id + ) + ] + }.to_json + end + + subject { described_class.new.perform(project_id, branch_name, commit_shas, update_sequence_id) } + + it 'sends the reqeust with custom update_sequence_id' do + expect(Atlassian::JiraConnect::Client).to receive(:post) + .with(URI(request_url), headers: anything, body: request_body) + + subject + end + end end end diff --git a/spec/workers/jira_connect/sync_merge_request_worker_spec.rb b/spec/workers/jira_connect/sync_merge_request_worker_spec.rb index 764201e750a..b3c0db4f260 100644 --- a/spec/workers/jira_connect/sync_merge_request_worker_spec.rb +++ b/spec/workers/jira_connect/sync_merge_request_worker_spec.rb @@ -4,14 +4,18 @@ require 'spec_helper' RSpec.describe JiraConnect::SyncMergeRequestWorker do describe '#perform' do - let(:merge_request) { create(:merge_request) } + let_it_be(:group) { create(:group) } + let_it_be(:project) { create(:project, :repository, group: group) } + let_it_be(:subscription) { create(:jira_connect_subscription, installation: create(:jira_connect_installation), namespace: group) } + let_it_be(:merge_request) { create(:merge_request, source_project: project) } + let(:merge_request_id) { merge_request.id } subject { described_class.new.perform(merge_request_id) } it 'calls JiraConnect::SyncService#execute' do expect_next_instance_of(JiraConnect::SyncService) do |service| - expect(service).to receive(:execute).with(merge_requests: [merge_request]) + expect(service).to receive(:execute).with(merge_requests: [merge_request], update_sequence_id: nil) end subject @@ -26,5 +30,30 @@ RSpec.describe JiraConnect::SyncMergeRequestWorker do subject end end + + context 'with update_sequence_id' do + let(:update_sequence_id) { 1 } + let(:request_url) { 'https://sample.atlassian.net/rest/devinfo/0.10/bulk' } + let(:request_body) do + { + repositories: [ + Atlassian::JiraConnect::Serializers::RepositoryEntity.represent( + project, + merge_requests: [merge_request], + update_sequence_id: update_sequence_id + ) + ] + }.to_json + end + + subject { described_class.new.perform(merge_request_id, update_sequence_id) } + + it 'sends the request with custom update_sequence_id' do + expect(Atlassian::JiraConnect::Client).to receive(:post) + .with(URI(request_url), headers: anything, body: request_body) + + subject + end + end end end
  • Standard