From 5bbc5b2e58831bdda4269c88eb4d893a3454fa26 Mon Sep 17 00:00:00 2001 From: Tim Down <158919+timdown@users.noreply.github.com> Date: Wed, 3 Dec 2025 14:35:10 +0000 Subject: [PATCH] Merge pull request #29900 from overleaf/td-ciam-login Implement unified access login page GitOrigin-RevId: 9973565099e1e88dd9d6b232d8f5c545dc73e6f7 --- services/web/app/views/_mixins/ciam.pug | 42 --- .../web/frontend/extracted-translations.json | 1 + .../form-helpers/form-phosphor-icons.ts | 4 +- .../js/features/form-helpers/hydrate-form.ts | 39 ++- .../features/form-helpers/input-validator.ts | 12 +- .../emails/ciam-six-digits-input.tsx | 2 + .../frontend/js/features/utils/ciam-icon.ts | 9 + .../shared/components/layouts/ciam-layout.tsx | 27 +- .../js/shared/svgs/digital-science.svg | 1 + .../web/frontend/stylesheets/ciam/all.scss | 3 +- .../stylesheets/ciam/ciam-layout.scss | 320 +++++++++++------- .../frontend/stylesheets/ciam/ciam-links.scss | 37 ++ .../frontend/stylesheets/ciam/ciam-login.scss | 15 + .../stylesheets/ciam/ciam-register.scss | 30 +- .../stylesheets/ciam/ciam-variables.scss | 11 - .../stylesheets/ds/components/button.scss | 14 + .../ds/components/form-control.scss | 8 +- .../pages/onboarding-confirm-email-ciam.scss | 4 + services/web/locales/en.json | 3 +- .../features-universities-hero-ciam.webp | Bin 0 -> 72408 bytes 20 files changed, 353 insertions(+), 229 deletions(-) delete mode 100644 services/web/app/views/_mixins/ciam.pug create mode 100644 services/web/frontend/js/features/utils/ciam-icon.ts create mode 100644 services/web/frontend/js/shared/svgs/digital-science.svg create mode 100644 services/web/frontend/stylesheets/ciam/ciam-links.scss create mode 100644 services/web/frontend/stylesheets/ciam/ciam-login.scss delete mode 100644 services/web/frontend/stylesheets/ciam/ciam-variables.scss create mode 100644 services/web/public/img/website-redesign/features-universities-hero-ciam.webp diff --git a/services/web/app/views/_mixins/ciam.pug b/services/web/app/views/_mixins/ciam.pug deleted file mode 100644 index 9559f114be..0000000000 --- a/services/web/app/views/_mixins/ciam.pug +++ /dev/null @@ -1,42 +0,0 @@ -include terms_of_service -include recaptcha - -mixin ciamLogo - header.ciam-logo - a.brand.overleaf-ds-logo(href='/') - span.visually-hidden Overleaf - -mixin ciamCardSeparator - hr.ciam-card-separator - -mixin ciamCardFooter - section.ciam-card-footer - +ciamCardSeparator - .ciam-footer-ds-logo - img( - src=buildImgPath('digital-science/digital-science.svg') - alt='Digital Science' - ) - p - | !{translate('advancing_research_with', { linkOverleaf: 'https://www.overleaf.com', linkPapers: 'https://www.papersapp.com/', linkDS: 'https://www.digital-science.com/products/' })} - -mixin ciamTermsOfServiceAgreement - p - +termsOfServiceAgreementContent - -mixin ciamRecaptchaConditions - p - +recaptchaConditionsContent - -mixin ciamCustomFormDangerMessage(key) - div( - class='notification ciam-notification notification-type-error' - hidden - data-ol-custom-form-message=key - role='alert' - aria-live='polite' - ) - .notification-icon - ph-warning-circle(aria-hidden='true') - .notification-content.text-left - block diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index ec76e64a22..5f7b913308 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -106,6 +106,7 @@ "address_second_line_optional": "", "adjust_column_width": "", "advanced_reference_search_mode": "", + "advancing_research_with": "", "after_that_well_bill_you_x_total_y_subtotal_z_tax_annually_on_date_unless_you_cancel": "", "aggregate_changed": "", "aggregate_to": "", diff --git a/services/web/frontend/js/features/form-helpers/form-phosphor-icons.ts b/services/web/frontend/js/features/form-helpers/form-phosphor-icons.ts index 7b7e72876f..3ebe910702 100644 --- a/services/web/frontend/js/features/form-helpers/form-phosphor-icons.ts +++ b/services/web/frontend/js/features/form-helpers/form-phosphor-icons.ts @@ -1,4 +1,6 @@ -// These are used in the CIAM registration form +// These are used in the CIAM registration and login flows import '@phosphor-icons/webcomponents/PhBank' import '@phosphor-icons/webcomponents/PhEye' +import '@phosphor-icons/webcomponents/PhInfo' import '@phosphor-icons/webcomponents/PhEyeSlash' +import '@phosphor-icons/webcomponents/PhWarningCircle' diff --git a/services/web/frontend/js/features/form-helpers/hydrate-form.ts b/services/web/frontend/js/features/form-helpers/hydrate-form.ts index 2c8927b5e5..eb2abdb0ca 100644 --- a/services/web/frontend/js/features/form-helpers/hydrate-form.ts +++ b/services/web/frontend/js/features/form-helpers/hydrate-form.ts @@ -4,6 +4,7 @@ import { canSkipCaptcha, validateCaptchaV2 } from './captcha' import inputValidator from './input-validator' import { disableElement, enableElement } from '../utils/disableElement' import { materialIcon as createMaterialIcon } from '@/features/utils/material-icon' +import { ciamIcon } from '@/features/utils/ciam-icon' // Form helper(s) to handle: // - Attaching to the relevant form elements @@ -343,12 +344,20 @@ function showMessagesNewStyle( } // create the left icon - const icon = createMaterialIcon( - message.type === 'error' ? 'error' : 'check_circle' - ) + const isDsBranded = formEl.dataset.ciamForm !== undefined const messageIcon = document.createElement('div') messageIcon.className = 'notification-icon' - messageIcon.appendChild(icon) + if ( + isDsBranded && + (message.type === 'error' || message.type === 'info') + ) { + messageIcon.append(ciamIcon(message.type)) + } else { + const icon = createMaterialIcon( + message.type === 'error' ? 'error' : 'check_circle' + ) + messageIcon.appendChild(icon) + } // append icon first so it's on the left messageElContainer.appendChild(messageIcon) @@ -379,23 +388,43 @@ function showMessagesNewStyle( }) } +function querySelectorAllWithSelf(el: HTMLElement, selector: string) { + const nodeList = el.querySelectorAll(selector) + return el.matches(selector) ? [el, ...nodeList] : Array.from(nodeList) +} + export function inflightHelper(el: HTMLElement) { - const disabledInflight = el.querySelectorAll('[data-ol-disabled-inflight]') + const disabledInflight = querySelectorAllWithSelf( + el, + '[data-ol-disabled-inflight]' + ) const showWhenNotInflight = el.querySelectorAll( '[data-ol-inflight="idle"]' ) const showWhenInflight = el.querySelectorAll( '[data-ol-inflight="pending"]' ) + const spinnerInflight = querySelectorAllWithSelf( + el, + '[data-ol-spinner-inflight]' + ) el.addEventListener('pending', () => { disabledInflight.forEach(disableElement) toggleDisplay(showWhenNotInflight, showWhenInflight) + spinnerInflight.forEach(loadingEl => { + loadingEl.setAttribute('data-ol-loading', 'true') + loadingEl.classList.add('button-loading') + }) }) el.addEventListener('idle', () => { disabledInflight.forEach(enableElement) toggleDisplay(showWhenInflight, showWhenNotInflight) + spinnerInflight.forEach(loadingEl => { + loadingEl.removeAttribute('data-ol-loading') + loadingEl.classList.remove('button-loading') + }) }) } diff --git a/services/web/frontend/js/features/form-helpers/input-validator.ts b/services/web/frontend/js/features/form-helpers/input-validator.ts index 1447ee04cf..c7bc9b50cc 100644 --- a/services/web/frontend/js/features/form-helpers/input-validator.ts +++ b/services/web/frontend/js/features/form-helpers/input-validator.ts @@ -1,13 +1,7 @@ import { materialIcon } from '@/features/utils/material-icon' import classNames from 'classnames' import '@phosphor-icons/webcomponents/PhWarningCircle' - -function dsErrorIcon() { - const icon = document.createElement('ph-warning-circle') - icon.className = 'ciam-form-text-icon' - icon.ariaHidden = 'true' - return icon -} +import { ciamIcon } from '@/features/utils/ciam-icon' export default function inputValidator( inputEl: HTMLInputElement | HTMLTextAreaElement @@ -30,7 +24,9 @@ export default function inputValidator( const messageTextNode = document.createTextNode('') - const iconEl = isDsBranded ? dsErrorIcon() : materialIcon('error') + const iconEl = isDsBranded + ? ciamIcon('error', 'ciam-form-text-icon') + : materialIcon('error') messageInnerEl.append(iconEl) messageInnerEl.append(messageTextNode) diff --git a/services/web/frontend/js/features/settings/components/emails/ciam-six-digits-input.tsx b/services/web/frontend/js/features/settings/components/emails/ciam-six-digits-input.tsx index cda9e56b76..08ecec6aea 100644 --- a/services/web/frontend/js/features/settings/components/emails/ciam-six-digits-input.tsx +++ b/services/web/frontend/js/features/settings/components/emails/ciam-six-digits-input.tsx @@ -37,6 +37,8 @@ const CIAMSixDigitsInput = forwardRef< )} maxLength={7} inputMode="numeric" + autocomplete="off" + data-1p-ignore /> - diff --git a/services/web/frontend/js/features/utils/ciam-icon.ts b/services/web/frontend/js/features/utils/ciam-icon.ts new file mode 100644 index 0000000000..d37579a4d2 --- /dev/null +++ b/services/web/frontend/js/features/utils/ciam-icon.ts @@ -0,0 +1,9 @@ +export function ciamIcon(type: 'error' | 'info', className?: string) { + const elName = type === 'error' ? 'ph-warning-circle' : 'ph-info' + const icon = document.createElement(elName) + if (className) { + icon.className = className + } + icon.ariaHidden = 'true' + return icon +} diff --git a/services/web/frontend/js/shared/components/layouts/ciam-layout.tsx b/services/web/frontend/js/shared/components/layouts/ciam-layout.tsx index 77c893d787..72964b93bb 100644 --- a/services/web/frontend/js/shared/components/layouts/ciam-layout.tsx +++ b/services/web/frontend/js/shared/components/layouts/ciam-layout.tsx @@ -1,22 +1,43 @@ import React, { FC, ReactNode } from 'react' +import { Trans } from 'react-i18next' +import dsLogo from '@/shared/svgs/digital-science.svg' type Props = { children: ReactNode } const CiamLayout: FC = ({ children }: Props) => (
- + Overleaf
{children} +
+
+
+ Digital Science — home +
+

+ , + // eslint-disable-next-line jsx-a11y/anchor-has-content,react/jsx-key + , + ]} + /> +

+
) diff --git a/services/web/frontend/js/shared/svgs/digital-science.svg b/services/web/frontend/js/shared/svgs/digital-science.svg new file mode 100644 index 0000000000..f9c164da97 --- /dev/null +++ b/services/web/frontend/js/shared/svgs/digital-science.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/services/web/frontend/stylesheets/ciam/all.scss b/services/web/frontend/stylesheets/ciam/all.scss index 87694807fe..efe9c3e859 100644 --- a/services/web/frontend/stylesheets/ciam/all.scss +++ b/services/web/frontend/stylesheets/ciam/all.scss @@ -1,5 +1,6 @@ @import '../ds/all'; // DS design system styles @import 'ciam-layout'; -@import 'ciam-variables'; +@import 'ciam-links'; +@import 'ciam-login'; @import 'ciam-register'; @import 'ciam-six-digits'; diff --git a/services/web/frontend/stylesheets/ciam/ciam-layout.scss b/services/web/frontend/stylesheets/ciam/ciam-layout.scss index d4ef165801..4fd96f659e 100644 --- a/services/web/frontend/stylesheets/ciam/ciam-layout.scss +++ b/services/web/frontend/stylesheets/ciam/ciam-layout.scss @@ -1,13 +1,21 @@ @use 'sass:math'; +@mixin ciam-bottom-margin { + margin: 0 0 var(--ds-spacing-400); +} + +@mixin ciam-vertically-spaced { + display: flex; + flex-direction: column; + gap: var(--ds-spacing-400); +} + .overleaf-ds-logo { background-image: url('../../../frontend/js/shared/svgs/overleaf-a-ds-solution-mallard.svg'); } .ciam-layout { - display: flex; - flex-direction: column; - gap: var(--ds-spacing-400); + @include ciam-vertically-spaced; @include media-breakpoint-up(sm) { gap: var(--ds-spacing-800); @@ -25,141 +33,195 @@ color: var(--ds-color-text-primary); } - .ciam-container { - flex: 1 1 auto; - padding: 0 var(--ds-spacing-300); - } - - .ciam-logo { - padding: var(--ds-spacing-800) 0 0 0; - text-align: center; - - @include media-breakpoint-up(sm) { - padding-left: var(--ds-spacing-800); - padding-right: var(--ds-spacing-800); - } - } - - .ciam-logo .brand { - flex-shrink: 0; - background-repeat: no-repeat; - background-position: center center; - background-size: contain; - height: 49px; - width: 107px; - margin: 0 auto; - display: block; - - @include media-breakpoint-up(sm) { - height: 64px; - width: 130px; - margin: 9px 0; // Vertical margin isn't an exacting spacing value in the design - } - } - h1 { - @include ds-heading-sm-semibold; + @include ds-heading-md-semibold; padding-bottom: var(--ds-spacing-200); margin: 0; } - .ciam-card { - display: flex; - flex-direction: column; - gap: var(--ds-spacing-400); - background-color: var(--bg-light-primary); - box-shadow: - 0 4px 6px -4px rgb(0 0 0 / 10%), - 0 1px 29px -3px rgb(0 0 0 / 16%); - padding: var(--ds-spacing-800) var(--ds-spacing-400); - border-radius: var(--ds-border-radius-400); - max-width: 464px; - margin: 0 auto; - min-height: 500px; - - @include media-breakpoint-up(sm) { - padding: var(--ds-spacing-1300); - } - - .notification { - @include ds-body-sm-regular; - - color: var(--ds-color-text-primary); - padding: 0 var(--ds-spacing-400); - border-width: 0; - border-radius: var(--ds-border-radius-200); - - .notification-icon { - font-size: math.div(20em, 14); - } - - .notification-content { - padding: var(--ds-spacing-400) 0; - } - - &.notification-type-error { - background-color: var(--ds-color-red-50); - } - } - } - - .ciam-disclaimers p { - @include ds-body-sm-regular; - - padding-bottom: var(--ds-spacing-250); - margin: 0; - } - - .ciam-card-separator { - margin: var(--ds-spacing-500) 0; - height: 0; - border-top: solid 1px var(--ds-grey-20); - } - - .ciam-card-footer { - display: flex; - flex-direction: column; - gap: var(--ds-spacing-250); - - p { - @include ds-body-sm-regular; - - color: var(--ds-color-text-secondary); - margin-bottom: 0; - } - } - - .ciam-footer-ds-logo { - text-align: center; - padding: var(--ds-spacing-200) 0; - } - - .ciam-stepper { - margin: 0; - height: 4px; - border-radius: var(--ds-border-radius-full); - - .step { - background: var(--ds-color-neutral-200); - } - } - footer { - display: flex; - gap: var(--ds-spacing-600); - justify-content: center; - padding: var(--ds-spacing-300) 0; - margin: 0 auto; + // Allow room for the cookie banner + padding-bottom: 100px; - @include media-breakpoint-up(sm) { - margin-left: var(--ds-spacing-800); - margin-right: var(--ds-spacing-800); - justify-content: start; - } + .footer-links { + display: flex; + gap: var(--ds-spacing-600); + justify-content: center; + color: var(--ds-color-text-secondary); + padding: var(--ds-spacing-300) 0; + margin: 0 auto; - a { - @include ds-body-sm-regular; + @include media-breakpoint-up(sm) { + margin-left: var(--ds-spacing-800); + margin-right: var(--ds-spacing-800); + } + + a { + @include ds-body-sm-regular; + } } } } + +.ciam-container { + flex: 1 1 auto; + padding: 0 var(--ds-spacing-300); +} + +.ciam-logo { + padding: var(--ds-spacing-800) 0 0 0; + text-align: center; + + @include media-breakpoint-up(sm) { + padding-left: var(--ds-spacing-800); + padding-right: var(--ds-spacing-800); + } +} + +.ciam-logo .brand { + flex-shrink: 0; + background-repeat: no-repeat; + background-position: center center; + background-size: contain; + height: 60px; + width: 133px; + margin: 0 auto; + display: block; + + @include media-breakpoint-up(sm) { + height: 64px; + width: 142px; + margin: 9px 0; // Vertical margin isn't an exacting spacing value in the design + } +} + +.ciam-card { + @include ciam-vertically-spaced; + + background-color: var(--bg-light-primary); + box-shadow: + 0 4px 6px -4px rgb(0 0 0 / 10%), + 0 1px 29px -3px rgb(0 0 0 / 16%); + padding: var(--ds-spacing-800) var(--ds-spacing-400); + border-radius: var(--ds-border-radius-400); + max-width: 464px; + margin: 0 auto; + min-height: 500px; + + @include media-breakpoint-up(sm) { + padding: var(--ds-spacing-1300); + } + + .notification { + @include ds-body-sm-regular; + + color: var(--ds-color-text-primary); + padding: 0 var(--ds-spacing-400); + border-width: 0; + border-radius: var(--ds-border-radius-200); + gap: var(--ds-spacing-300); + + .notification-icon { + font-size: math.div(20em, 14); + display: flex; + align-items: center; + padding: var(--ds-spacing-50); + } + + .notification-content { + padding: var(--ds-spacing-400) 0; + } + + &.notification-type-error { + background-color: var(--ds-color-red-50); + } + + &.notification-type-info { + background-color: var(--ds-color-blue-50); + } + } +} + +.ciam-login-register-error-container .notification { + @include ciam-bottom-margin; +} + +.ciam-disclaimers p { + @include ds-body-sm-regular; + + padding-bottom: var(--ds-spacing-250); + margin: 0; +} + +.ciam-card-separator { + margin: var(--ds-spacing-500) 0; + height: 0; + border-top: solid 1px var(--ds-grey-20); +} + +.ciam-card-footer { + display: flex; + flex-direction: column; + gap: var(--ds-spacing-250); + + p { + @include ds-body-sm-regular; + + color: var(--ds-color-text-secondary); + margin-bottom: 0; + text-align: center; + + @include media-breakpoint-up(sm) { + text-align: start; + } + } +} + +.ciam-login-register-text { + @include ciam-bottom-margin; +} + +.ciam-login-register-text-final { + margin: 0; +} + +.ciam-footer-ds-logo { + text-align: center; + padding: var(--ds-spacing-200) 0; +} + +.ciam-stepper { + margin: 0; + height: 4px; + border-radius: var(--ds-border-radius-full); + + .step { + background: var(--ds-color-neutral-200); + } +} + +.ciam-work-uni-sso { + padding-top: var(--ds-spacing-200); + font-weight: var(--ds-font-weight-semibold); +} + +.ciam-login-register-or-text-container { + @include ds-body-xs-semibold; + @include ciam-bottom-margin; + + display: flex; + align-items: center; + gap: var(--ds-spacing-250); + color: var(--ds-color-text-secondary); + padding: var(--ds-spacing-200) 0 0 0; + + &::before, + &::after { + content: ''; + display: block; + flex-grow: 1; + height: 1px; + background-color: var(--ds-color-neutral-200); + } +} diff --git a/services/web/frontend/stylesheets/ciam/ciam-links.scss b/services/web/frontend/stylesheets/ciam/ciam-links.scss new file mode 100644 index 0000000000..39bad58577 --- /dev/null +++ b/services/web/frontend/stylesheets/ciam/ciam-links.scss @@ -0,0 +1,37 @@ +// TODO: Replace `fuchsia` by the correct colors. + +.ciam-enabled, +.website-redesign:not(.application-page) .ciam-enabled .notification { + // Links, used in services/web/frontend/stylesheets/base/links.scss + --link-color: currentcolor; + --link-hover-color: var(--ds-color-text-primary); + --link-visited-color: var(--ds-color-text-secondary); + --link-text-decoration: underline; + --link-hover-text-decoration: underline; + + a { + text-decoration-thickness: 5%; + text-underline-offset: 19.5%; + } + + a:hover, + a:focus { + text-decoration-thickness: 10%; + } + + a:focus-visible { + box-shadow: none; + outline: none; + background-color: var(--ds-color-yellow-500); + + &.ciam-image-link { + @include ds-focus-outline; + + background-color: transparent; + } + + &.btn { + background-color: var(--bs-btn-bg); + } + } +} diff --git a/services/web/frontend/stylesheets/ciam/ciam-login.scss b/services/web/frontend/stylesheets/ciam/ciam-login.scss new file mode 100644 index 0000000000..98c137528b --- /dev/null +++ b/services/web/frontend/stylesheets/ciam/ciam-login.scss @@ -0,0 +1,15 @@ +@import 'ds-design-system'; + +.ciam-login-text { + text-align: center; + padding: var(--ds-spacing-200) 0; + margin: 0; + + &.ciam-login-bottom-space { + @include ciam-bottom-margin; + } +} + +.ciam-login-sso-form-controls { + @include ciam-vertically-spaced; +} diff --git a/services/web/frontend/stylesheets/ciam/ciam-register.scss b/services/web/frontend/stylesheets/ciam/ciam-register.scss index c2fd506db5..f6743a5a95 100644 --- a/services/web/frontend/stylesheets/ciam/ciam-register.scss +++ b/services/web/frontend/stylesheets/ciam/ciam-register.scss @@ -11,41 +11,19 @@ padding: var(--ds-spacing-200) 0; } -.ciam-work-uni-sso { - color: var(--ds-color-text-secondary); - padding-top: var(--ds-spacing-200); - margin-bottom: var(--ds-spacing-400); - font-weight: var(--ds-font-weight-semibold); -} - .ciam-register-container { display: flex; flex-direction: column; - .login-register-or-text-container { - @include ds-body-xs-semibold; - - gap: var(--ds-spacing-250); - padding: var(--ds-spacing-200) 0 0 0; - margin-bottom: var(--ds-spacing-400); - - &::before, - &::after { - background-color: var(--ds-color-neutral-200); - } - } - - .login-register-error-container { - padding-bottom: 0; - - .notification { - margin-bottom: var(--ds-spacing-400); + footer .footer-links { + @include media-breakpoint-up(sm) { + justify-content: start; } } } .ciam-password-group { - margin-bottom: var(--ds-spacing-400); + @include ciam-bottom-margin; } .ciam-password-requirements-message { diff --git a/services/web/frontend/stylesheets/ciam/ciam-variables.scss b/services/web/frontend/stylesheets/ciam/ciam-variables.scss deleted file mode 100644 index fadf7fb5d5..0000000000 --- a/services/web/frontend/stylesheets/ciam/ciam-variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -// TODO: Replace `fuchsia` by the correct colors. - -.ciam-enabled, -.website-redesign:not(.application-page) .ciam-enabled .notification { - // Links, used in services/web/frontend/stylesheets/base/links.scss - --link-color: var(--ds-color-text-primary); - --link-hover-color: var(--ds-color-text-secondary); - --link-visited-color: var(--ds-color-text-secondary); - --link-text-decoration: underline; - --link-hover-text-decoration: none; -} diff --git a/services/web/frontend/stylesheets/ds/components/button.scss b/services/web/frontend/stylesheets/ds/components/button.scss index d00afa3156..4a3beefabd 100644 --- a/services/web/frontend/stylesheets/ds/components/button.scss +++ b/services/web/frontend/stylesheets/ds/components/button.scss @@ -111,4 +111,18 @@ visibility: hidden; } } + + .button-content { + display: inline-flex; + align-items: center; + gap: var(--ds-spacing-200); // Add gap between text and icons + justify-content: center; + } + + .btn-social-icon { + height: 24px; + width: 24px; + padding: var(--ds-spacing-50); + margin: 0; + } } diff --git a/services/web/frontend/stylesheets/ds/components/form-control.scss b/services/web/frontend/stylesheets/ds/components/form-control.scss index c099d34b89..c367754706 100644 --- a/services/web/frontend/stylesheets/ds/components/form-control.scss +++ b/services/web/frontend/stylesheets/ds/components/form-control.scss @@ -8,8 +8,6 @@ .form-group-ds label, .website-redesign .form-group-ds label, .website-redesign .form-label-ds { - @include ds-body-sm-semibold; - --bs-body-font-family: var(--ds-font-family-sans), sans-serif; --bs-success-rgb: 25, 117, 76; // #19754c --bs-danger-rgb: 195, 9, 43; // #c3092b @@ -22,6 +20,12 @@ margin-bottom: var(--ds-spacing-100); } +.form-label-ds, +.form-group-ds label, +.website-redesign .form-group-ds label { + @include ds-body-md-semibold; +} + .form-group-ds { margin-bottom: var(--ds-spacing-400); } diff --git a/services/web/frontend/stylesheets/pages/onboarding-confirm-email-ciam.scss b/services/web/frontend/stylesheets/pages/onboarding-confirm-email-ciam.scss index 86b455367d..f680a4174d 100644 --- a/services/web/frontend/stylesheets/pages/onboarding-confirm-email-ciam.scss +++ b/services/web/frontend/stylesheets/pages/onboarding-confirm-email-ciam.scss @@ -22,6 +22,10 @@ margin: auto; max-width: 480px; + h1 { + margin-bottom: var(--ds-spacing-400); + } + .notification { margin-bottom: var(--spacing-05); } diff --git a/services/web/locales/en.json b/services/web/locales/en.json index c9b66f9e30..6ab4119ae6 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -128,7 +128,7 @@ "administration_and_security": "Administration and security", "advanced_reference_search": "Advanced <0>reference search", "advanced_reference_search_mode": "Advanced reference search", - "advancing_research_with": "Advancing research with Overleaf, Papers, and more", + "advancing_research_with": "Advancing research with <0>Overleaf, <1>Papers, and more", "after_that_well_bill_you_x_total_y_subtotal_z_tax_annually_on_date_unless_you_cancel": "After that, we’ll bill you __totalAmount__ (__subtotalAmount__ + __taxAmount__ tax) annually on __date__, unless you cancel.", "aggregate_changed": "Changed", "aggregate_to": "to", @@ -830,6 +830,7 @@ "for_teams_and_organizations_who_want_a_streamlined_sso_and_security": "For teams and organizations who want a streamlined sign-on process and our strongest cloud security.", "for_universities": "For universities", "forever": "forever", + "forgot_password": "Forgot password?", "forgot_your_password": "Forgot your password", "format": "Format", "found_matching_deleted_users": "Found __deletedUserCount__ matching deleted users", diff --git a/services/web/public/img/website-redesign/features-universities-hero-ciam.webp b/services/web/public/img/website-redesign/features-universities-hero-ciam.webp new file mode 100644 index 0000000000000000000000000000000000000000..a288adecdbed3a9997db083d77686986fba8a0d8 GIT binary patch literal 72408 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 z z0VjQtlB!MZGLIjoMboT4iKiMeMrGDJ#<9lP)9D!0^*s-P4i#y7>3BWk_RqWnBy{u; zuP>his5A&?Wv*c$Cc3u_SYwM{yB~T3Q3t-BGa@IUm;awQ&2^m%qAT_k= z(L25{Gy%UkH9isW%dLeXKx~JO^G%NWV?gii^8w1^Ox`PH>SUodztGC;`_-*(Z+ECm zkrltdL`ITpQ61RE@#Q|;M#lKdTGS|VK5gX}artvg-hyU7x@mOS2JWvnV1i-sKoo2x zVbq=fha1IrDCUyB)I>W_80w$&FY|L{;uAZxPG%qHjG7=P9)v$hfDqu6P}djh>WRdfb4*(1*zP>rpw3Qr zq<&{_(x%54n)w;5BjbZW!>(e6bCtu@J9Q*fl9ih2NR%;|E#%3ZB~%FWtq~N9`?mLu zk~RERr-}$R>2WTdjbXpUHAEBG$GO9ABCWv&p54;d-s4lY81nY?}`-=wT6 zj&7DXp@Jq9wXq@T-!(3S{q)`SMgZ#ktUy=YsBfD1S=x6rW$zOv?@Q5SpD@6mvT^S!vgrB+tK(R~ACWnymGDCv zSIaHNLfTC^K_i|hDS{+UXMK++PsPfVAp%f&K`$JNTz$7R7Yy`93b2=^Gu!7F6z z_3&Y~pVM|Qo+6zA*0a8Tm863jqJrL_-tNy)^`ol{fK)L|)&k+y9AQLqtNqOLxPk+kLnVLdCEVBtgdPRo+T#E0v7^8R zZ2~15nL}d)Fd90Xzz!-jlDelUULJcxMvPRTE%L4e1T=$yFWK6u(! zI0k_SAZkkY>F5b4%Izxi%rVqenp{RM1BW^x}9PRnP`cxez(<)9ATr=(YQbPc3;GUWu> z6QQgga@RUjr8}GIV8?82G|#mr`#w>8H542TR5(%P*|ATFUCMM+$vaipqdz9G#4X)P zG#TL+WYe%iS!;ak(N*968#hDCpFX4tsB&@|UiUq%TI|+FL^j>@pI@R87M*4No0H9Web0+}v&;AbI!+_#_)>84 z>Q;MigDu06002&?FUDSQK7DWKU0(?EcSTb$A@w8@0|bVqs66g51c2GL4YOnWBBi?E zUGY;g{iASFz8~11jDl(=64_uOyty#f#Tk&DbQ# zU&1DrV;b`GS%&P4sd4KD1H8!cKY6UI-;bp$Lb&$VjW72TW1;HZg)FAns2zxHy2!4| zLt!q42O2K`<;Z!AJsF-cP~Ynlx^vbB#8F^j2?~x1Mg-7!-NP;Ojy^Lo>`wVDQ7Z8q z*PlKh2A^@K_P*Q3d4tPAdOcLj%}yPh`jjns8Im*ya^OmvwDb#P4CgYsX3-g3fmw!* z*J(=LmW_|z_h^-SnJ!GT>_CiCHcbzEh6e3boQq}e{Cug#W9rjYo<@tSfLkC!?FLoF z{Z}#Pld>NfSGq?62;sWU&-ELv!`dzuQoK{1nV>xF7mk8yw0`T`jbhMq%|m`Q zbF5=yWQ$a9;oMSFgTFyH>U$`w`K8|jDitLt8|y~oE>m#tPTfQ3 zg!A7#n3g3HMrWE}+UZ`Gyt%xG?hG&SYfSSaM8GTOUHoX&Pt+U*Z%bw`<|DZI3&+AbOsSqNw$uK$FtbT<|cUGN^jn^heCBW zQEnw1sH}URzD2r891U+ARO0rY}V z;E{x*Ao9KC>Y0%sICd)+&ygTl#hMU4f53@LbHm)VOBY3F7ql-0SXNngfN30<+|bAh z(%CH$^l7<~T#r2Ko8*Tr(@>fIacwC_E>0evUo0)-Q3=pfUOK|D$~u0<>G_n-pI*j9 zcD3+tsSEXTlO)3~CpJQ1jumA?78(4XQFT1%cBgoV)vgu7G;#BHxULU9D1X6G z-+8bxlIwJ|(h$|k8|G%YOMW%@J0{AEb$W7Y&RPE&RZxOo{IbUn1Xt0HRj z07UGWk@XbiB4(Vf+53bOIs<^DmF3XIQ^@7GJI1c^Hx~a(^ znFZOBPio|wXEQUfZdsoO)>)?51K9G2f%)MpDj+=c$shDP9%)h+$}dT6&7XPib{@dxY=%E>Ts96p)t7UryAw-x5(wp9 zZ(9~fXxz$Vh5I}0KQK(t>n(&-o@=t{Z;=NnMP%hwfQHpYzu!8bS<0%ZYwxJTx_##> z&UI9*>thI_n}%4j5r%pBA=i$-*q?6-gJDTZsFGP5y4{5_lu4+r>rdq2#e86~Bp2qG zg%L)tUI-3QcoRmLszjEVJkSS0_c<#v9DQg%R}3vpjX0IXr%6NvzPG-1z6YDQRK7be z0m&1f3w1p^W9046J_#buLvjlhS z`<9kxTQsG1@D1O!hHIcQS3mx^0ALHp7rqoD2)F$ZsH z2c`1-Pa4rdXB#Y84H|U{Z2WRg=wm|=05264TRyin!!w7ADaR1rBV;4lmy2vk%4t>A zP~;q$Q?-)HiCu3BoJNW37PcCR&wNFV^6Fd^m~d)9K(z!%{zU+xic+nea>D86zHZ=+ zLeb)lI>o669lCol6~}TA0%qjZ5+}*1pBWQumS9uc-w3Cmd%yzTVBO?mp^qFyK|La) zS_XdoEw#iCr^=F?u2SM1ceQzOc0ncvqpr*Cp|97p>GCKBdgEp_xsvqtJq?qIan-de z$J@5{HBtySqMze)-|9aNO8vAHP(?<3EZDaun|cWXD(96ikMa*i#0{G~kNku3f)MSu zgbqGB`tW6+M(`(bW$SHQNa_$E&q%7?_iFDJ1#0TC)LAx@qEa4bTO3 zve)JpjMpsIOM*(D%Bu>wC)tAzj?x@!!!Zr;o=pq3V>8aNJ)*i;06vTy<7Qb*K_$-$aNi^Z_PV$$mAexYPO_Cz2@E*Ty(w5@Kb!$Zn-eW5TFC zgrENz{u^)q>9MkaEVA2_VOes%O7qJWA@?A+TD5Ip1kMJ6QifpSECccS*3H?$4}}p6 zTt1ie@ zUR5T}GkP(G`oLwN#cwIfNt03G&Zq6p4{PDIf`&Pj?F`ebP+Lcq2>_$6XoXrdW(B(J z8H`tMY_;gaj&nh`zTnhoClpds(qJ+rTM0`$g1(Z5+STw8uP&o3_5V!{PC+$Ol7>@V zb7^PApQeeQu?Ednp6yWGlp?I6aGmBLNY=lA$r?Es5ttNGyuH8E55^(AAr*lOieINh zPTD(i+hbaJq-_Xnfbz!)8}z-e2KONF@f!gFx*st6bM9#9(66A2cUFv8-R zoyUT5f;UV5{=8lxm97l3H#M}eD$RFvjl|Q>WjyX7^!#cDBBc-}t}S3A(I@%`2ABYXLBVkz#U#PmHlQi6+BT_b5v7v3fQF-%idF#aPw&+R`kkUoujR&VAWA2x_R8SpG- z(f-8x6Pc_}HrPNgwtheAwBqf^A3%_YuFdvLl-1%%68;X>b_(4PfB&_PC(eUH*SENm zT*OsVD$9Y#^&2@7dX>T0{9VP**d=6f^Nc|GdeC>F zKx!ri5c2;K%F3lRL>jyvNrQ=ka;@4J=vyZR082o$zoe>ryq3?m17)JZNl+uxn=6;l(6r#oZpix|9hVHY#a;Vf#0E6~-2mZSrG-dc`#G{f+ zw%-9j2r)sa#py$AXUka6c9-|*H(1U590yP&$aa6{sUw>(zNFi3sACmnC<7D8jCDqK zbz&7`OpqvZ<#sTjK0lYK6p-7z<`%{kCC%Po)|LX2?Uzz>9SSO10*I1XS+%c9aa;xW za~CSY>Gep@(&21cJWhtIp|z4*T*oZc6L%`-2SQ2eutY*jm0;ait=X+^{;v;7x}lk@y66y-1)t#l+l}CI9ag3A$~0c9u0yKfKO>mwEf)$wl&T)&x(>EiCGgt?!$pts;fEUIMyws(#aZ4RZZv*!dg~RZgLLLC{z%Y_&?hq_) zw}d1~&*Z9>j20ya0q-Uf^gC#l)kBG zxBpCtw-yO4GAVx!UJGe;7tzt0(Ma{|{o{>ozm$CR&T+0*6nG-ySU&~x>%awosi7ye z@Oj<{zl2v^fYzEaQ*v0ncu^|QrdqQ@*ynxEm_~z>Kabq+BX?8@79x0X5eMLAfc7l?y%?KV) zzk-w&gdS_JXPfj<);P2@S}3Z@?oPFD@20Oc7^_nRQD4R|ED_!V&GAO7w!XJJ8LC$)_!+Ri&K%U|V6vU0 zs$~p=mSqG}IUkgJ66i8Fu)-@~gh`$BWNv`Q4)2=Nt$Tb=?p1&&C$n+VI;OZ1deS2J z|K@~U;R9X#N|43zy;yDDYMs?$hJO#n6cF&Mz!hs!Rr7T0DOX@u&qPsRlpU=I0Zb7O zMZ6rnVDBJf)RcPv0Zxj~T+ZL&CSDwQWLQ{3FsO5deQZ_V60|KDX`5bTe+2ai=RLKc zup3}KoOktQtz@QTZ9U8*nu%Ww_*a~>HWPLA(i`iR?BsVzc_s*F|4RLe&UCmkT?XWk zfC5=Z8{oX%U&Pu1xO{Npw?S@wAwTLo#Yen>viiYoh4dELcTNUWQZ~=IGs(~&t)b$` z)COL~xB=;diq9kAjSNVik{a;LJNNBI?Q3O|qZk?_6r`SwE5zL^`2$D4Ly@ zcE)J93SwzfNLB3+NHG!sDGK&)nLDD1d1<{}jb7m@vtzQ=gZOg@pH0Sgb7xp=bDFjz z5Ft-2?H=XBt;wqLTrpVJ zf?eI4fbVYcLss}&akEcs=q=8Q&7YY7{sze26pF9h_#*5dov+}hIr)c4Obl! zw0l%lfk!TJn@7U_(Y;L};h{&$`2mWI^A1Wq+Nfp-3r!xM!Wk2N1|j@N7D$qOrOWtG zkZKFxPS6Z#3#6RU#y&3ps4fSyB}WS(WIltb4>~Mj=@8ycReARlgNFewbDYRVF}a^( zm>7vA>QuxJ)bLuCRU1{_MQX09M1K;m*rkMrrKIQNH%@4EYVZ!nR9b!NNm*=g-IAXko&~ee&coU$bFZo(i;sC+fm5j?We$;3z^Ps zD_e!hM}-e|IH*SUQ?*fySTWCyyKBZ0EE@j$4Gf$G%3son1b(=nDLrPml@>Mo{~@^@ zo;fK{UkvR5Y5g*;|35P?QQA6u=*V?HLodbu?!fJ|$4;8$u7CFE519&mG8}1hb49`t z8?l|%)R81Tq4`&bDrhv2t%dzfw>>l)18ja4s1Ua&2Gxc40JJGq2&AbP$PU@dnl&w> zQup@0f0E7fUY!0z*hpo~vanaxgsFYOpzeN#lV|+qWOQixHpbsfnKv;bLj4-RgV(=J zskr7~Kl;?UBG^N3g4J{ac0G(+6A|H;bfES?d*0{bsxxXCVAfi$9z(>^Q7LAfZ zeOD1a*VK5-o#V7R>$7D@6wgnD9lEa;FG9a2TvQ2AHl&Ybd~s!lv*t{ri#uS9)pOsl zgzmg7WcECzpBk4Tl#xvE!0KtbRrq-rHrWEdyapd#V%FnIv&TgqnJN_X#&R@__*;0~ ziL9uWA!%i2r6!ydQ=jZ5@D;;{x9KLoX~HqeKo5|-@`7I(^+%DKb(8;i;V?*aEn*YQ zr$A~n>WDnHum{H+jR5k%Vqh(h;A6a1WIPi}q?{JRkK9f)d-s;&Y0!6=9Q4s!UYiwx z+$-6s4mVz(R6HF~GrdC~vY@LRu720yxPtLF1HB;xNt9rMA<3qHXIA*-9_Uz2wrQ5V zNb!e#m&g%TFzE9K&=7pq31PrPz7&CbKlOiOIoRO_8VxX+=!9)`1WE6u^)`tsD%QJm zT!60QlBXS!&CUYXVMt635t-`CL&SPqWC(4JtWJ)_btn_1RFiVT5h*yA2pRQMMzL_A zM#+M6Ut&FhmOIbm#Jmdq)!4TYo_7s>#6&l4gw1$%TCc;WFfI>_;0*qs(EIl^MyfR= z=vO(hzIm*jPtXaT1`gBFCT1HqC4ZZ}*3wHkQ@m+pQaxFr>e z=!N0he%GBFv~y$A@H{_1+MHAhs_ay3tCg4pQFnZ3v$;UG)jROlZTly~r>G?Ic%{9u z?_0f39!A@E4m=E{%!2uwk--d8#KM> z)19o?u%rMCAlQ?eL*h;+6kK8*zBS|sn#G}<3NxJ4lx98z&RCh;uYR?%a6z2p~s6cS)!nP>kuc1zhQ)D8HeF=~a`Gz$OJxpdqF ziLIH5x@OqTePQa!!WBTtBhJ(pzFr`+9DnY58zBiQij{TKJ4bJ z8USJ33izsB0qc~$$ynw+~c^w)l1Ur;PJ!Ubw>p+Hx z>GY5#AjuIOJQ5;$R!&?7@{h5>ER-K#H6{R%d#dT%L3U+aNn-Uk7xBO}3I0dxYbx(q z_2&=dkGx!t&oWjMrsLs0oV}kfysQf@V}wuw_%gTU&+U-T!a|qPhyX`~N+6$j?xFbv zt*?@fnh1%<4AuCqO24*jXR_SYI`ctdp=iD4(q$zO9ul|qg{}Q`-Z-%Ehvc2-q8xLV z+n}gwUQpu^FO}6EPIDiow3yk^WTBG_{NK*D&?xnU@ z6>`kzn#LCY8954wl8GUByASJDfF9M)ia-;Ms%*zq|XD;pp$f5$cn$x2BQ zUS8slB<*A0&|6}V1ravweP3^Z6>1YV^6uNPF%=jT`vM;KG@!;bxO@rb5X$vJ9l(cQ zsTZ0b+OD_XzwZC~@(YNsxIQZ+5F}f^p9tvNW7~qUSghwlUMRXSAY$|m9FtlP$hU}5C#cEB&%&Q6 zM;^<#d+0M(vB=H4tx>8h)5?fDm3UJa8W(npo>A&cS6P1UL29gJnP1D|Z%7atC)A>$ z4(oe1N1o>iLZVxO6sDpR1@_x=--QPlVs!^+lD=b~08Ny6J8QTFGO**~mYl%7HN8Z> zT%c}Tv0~39m`AT9E8zCbnmm9HA-q~O2U!-?zbm4Q6j5ztaN=l)&8m_t!I0e{+uW)MTf+P6yhXjJp;Ukci6tFFo^erx_U3%>f*`p;rZgP3(s<{nDKKp=W?cvNY zz-Djp7d@)O6^Xzed6#KaSwTWI26_@c@v1ZG*7blCri^tpIkT=I`tis(ZBeYC%(#7i zRWg`RDJ2WP;u4-w@Dp@`4=HkLSTzEWp#^Q}zjE84OvjqJqZBAH`R-t(XcEkr!B=!9 zco}p4a24^98-;bPi!+f$nJrmDa4QEZD{Bgs@;Yvb=wZXEXm*UHMRab702lKnUDG91 zXPQ;Bu;0gWF>kx>ZLpQ$qGx6m z5&o$~t)N$mdpEsgy*#QJS3lSVQY>niQW)n&5xeGmS@ zcq=E~CK9f3o7uv#J^TAfa(p`XhfI|ulof=7)L^>hk?_WJQ_AO`zx}WpUr#S$c3JK( z6H%o`nbzkCSOM=Y{ecywgS--#+s-6YL2Qgz|LkaGXb@jSt`o!K{xyYSTlkxH;^15o z;zzHl*co6zn#f%SSllORC?M-l1G-RZyxhSt)Ojsw?5FU+^(3>!6BN5+pR#{l{`95{ z=MYvMQBMGW_B$$C^bo8!zSL>IivpOl2> zQ7G@a)^^Y~WTLF_UQ#fBpe zmXvGhZX*b@WQYI#J{belr`LD>ddbT4AVUsZOU)K&Lmd(C=8^&JV2nW83x znap;HmQKH#%%XBO_eWkV8N)VDiA<~)|L$;=AVe3-)?Jrb*4a@-cW@argXb&EupE{+ zZ=5ySv+z`YAB~+z5An~rpPFT#)>{pAiNM`}C(7z(VvL>lJu`Q@#DjtbB#N(UqL-Y` zuBAc9m{uyk@hi1bNVt+l3b`m#QglW9;^VF?DxkJ8e~m8@g^fa9`?K3sam81ONa4QbF=46M3mgRB&qXV%u!4XPl!IzFOm-VsS-Hp1xz@ zFTN321>!C}n+V8z*9yo-mRj-VHN%y)tINoWU!?MAqIHn(sBxoFirBe~SmvFGJzD(3 zC^A8n$uCP0Mk|liqEQbllc)A$-J0QyZtvAwH|Sd0i)&GxOXj<0JO5aARlreDHk*G2 z*E*cEmk-nZd)?2R=9MPSmI*wczs8PSlhbN1{}<1s{(7M}lRWNO*z%jqRtE zxybWqi@zpYs=e^#!+vNsZFNY3dNo(JNE1SdvTPloIa8E3`7~`N;ETgXL z|0%yc5yWEL!?+UkWV&w7@#@pfUlyz4A%bBe%g_AnxF|6EGflkU@yf$hznLz!-DI90 zHReF*02yMujPg@&`-Np_sVkw;{v#lfB1+F|8DpIt$d3fgwyuMkMeM<<4A&oGq!IKD zWWz~z76Z7cxtz9u`_6Xkk57yedOlBIdt35!&rHC^Jl zbRYwA2x#7EYKKqljzc?7eLSr;sd5il!H*}3@Yw9)K5-y8PJ`k5kP&FV?z|&mMXa80ekmg4tooU4$H- z7YtrQ46f3zJvWVj@^ctW??w${PKDDi9ZjTl0wuAc-~DNBNfjmYjqCe@qI!mNPG+C| z1p&&Z4edpaE{T_~D(e!Y?SbIWgX<%i*N6-uUQudNY3$5gk%s^|R!iC7$NUhjJkx0` ze%*bKryo>*-T-1mB6eroA|>l!KJ13PoC$J;_enpiMvb)DQACaKOP;Dv6mGJgxsih< z)JZ9!6-WX+Gt@U9VhNX}24N|zj%YTboNGb_clv?oW9BCUvH4%9=g9_$#?8qi{>Sz% z&}2cI-!z^Co~&p9We)^XJB(w`e|iF!?w8!W-T0;hM#Me#(i+<^<(4zN@3sDMY(CQb zY4`)1yREuob8TG$${OzZuo!)mhobKKDjLYuuDWe}!>l5MC=W%S;!u3`R*s_ zQVrw!uk5s}Gf+g&4tCXq16tvy*_=A*eMPLTZj0TU@$J7jh)YTO$#mOpku1wjbyCsJzs=9CB^;om&!WJ)=t>x2&!@eYp0pP z(W#8CuORJaypGZ1P1@-d&=(<+!II>}m3Kf9aLnQcHgXLb`A46`Ho>M%vcND5P zthLOlctogVgirtg2RcH4u?1fF{>{xPv|W`x-aHc@%NfT(AJjezN&@heuBwmhh(1|I zQ~h^X5CVeP-z@Zh!O@p!8%N2sx*RS2U9@h>0|>_ywMRwJd{$?YBoubvBc?!rxhOSb zWwYHTax2K7A23seBX{$Sb3j9sOF&$BJhLbdu{pMt4OJx4H`sn&l_1=I*m#Eok*0?r z5{aJ<(K4oihWWtFR45}~C-W6q)qb$Z>E;_$Kw~SX+(5e3n3;Q`;FMRX?6r)OtAOlS zk`TYHjRGAAf&^;)mWk@~*-HTs<_dgc_uS+rNaEAbtf)ZukSi6#M_G;{Nt2|@jN@7b z6UP%J7Bq`bC4G~zsqI7rthHkwLh?LZ0^q47+$D=q`qqkJU=3+*e1$fJ0J+ui+<_^>j2xMR8<8Jv2I@WDw=TU*d{j5gD|!E9kx2CcOIg9uD8YZf_wd3 z_w4{a36(+uXUEaEs;PGC&?T;QNZ}CfuMmtuuPs%m2AY_!PXLimNfDMD4pgJw1!cHE z4XZTRBkJ896K(~UchiY2HrPi6fkz}7qQ!X)xrl8OVzmZ4+=Ec?~1gVVNM zuWalLg=5d21pLH(G{0_0SJt>&8ROwB?=*Mn+ZyvE=DpuM){gzCh30c!4JAj9UM!$A zpOkA|>rMCf&`$hK{UmIx&suvVou9>pW;NVa^n9w}j>4r|*bFdub1d^s(P5m(O z)0lk$SiS|uOVE5*C8P9V{aj3(3s>`pOxHy?xA+a zFCYDYaF)*-OgS@h0Fw|{r9H|6dgHHmEkqTCI8ID0^8d%+!QNPXYc1?q?>a!0Cl0sm zWs!exQu+H64gH4*^%bkl$;L>`{R!K3x{RB@N%Gh6(y4OWi94yhDs`!Kt~_Dm7iGP7 zQ&`Xu#5yacBG*@Xw2Gxtki+KvD1?r!8=~Ui3u*bz^AzE1P?4+Q2$6|d=7&WZ^<=x7kbz&NsrU~n^c*}E=4Lqb8b)lz}s$1AurN)tx4H?Ov~T7 zlom$6f+!R(Gg~|M^3=B)Y@c^T8E}GsuKAjN*bk`OK;G(dUWWq$e7=44qmBZISc()PJektq89x$1Zo9B~<6vw7P$#3%V7u|tpNAU* z>kt9}#GK^pyF8MRcQT^8Q1$6KHhC^lZOI@|9L_Q@h)DBJ;A=zbm*V;jgpR$D+vkW* zo4~U-$@2!R%<~Km@S?MPD%-}LcMaz7++74wK1`vr|IxbEAx4j(~L$4i?zn3$$keX{jU%B zJWwR=i{-|&0jNZ3TV%E+{k}($`wBp6mvJTiN1#6O9fgorD$gfVBBFC7|AFgx)3Zm* z%&Qp1M-5+(kR#`7h7!hdqct_4rd_Ev3KbWdj+9OcWKj+NM(_Bj0I?T8E^8I-ZV7 zkp|__rudxtZFT_Gkb88oiblqMi3gtv5zO;Ld0QebVkR; z+gqF@usAY)y4}0*P!Nxp^6R||ylbBmKe@hRKU4e-2iAQ7iKA1je_fA-LaB z(%x}aI@xmuRC*|QZ=R$`s|E`4T<^+3_Xb9KXwtePZ;y>(LPkdni&FTB00fw`@m_IF z#Dlun3?@e}A9@hK$e(y+2nv%(AYx~_T3;Qd+bM0)h2icvEGUxU=ZwAmnolCp*GSWV zCIgDxlaKaTyH#HAo)&Tv6amS1peha=y29YMHzp5QeoHnt1$4M&5iUhK%wUM1V*<>f z&`9gJzi&(lSP>u#5}#AFIS7INO<6Il)-L*$i<^Af^oDzwNy4a-&qWI(Ad8uW(;FB{ zHmsh$${fnLSj?7wxhH36_Y!oua2>4@WlijFs`EyuS|_)(_DY7;A0ztn0L;e=>R7yF zZTLENx9}~>eNc6KS0n*S1YiiBJUBp%1MeBcjWVxJt$i~imECD4p*RN=ZaQWfCm$c8 z7LhcU^HAbHJ~Z3#fjh{xKkg9NrG@}p7NXck5+q4a3>HqemI)-;EvZ6|(*B-7aj zOKE5_r(2?|&|8Iqi*yRA>tgzY?7EsRH?d;0awGB4#B<4hi?F^}-ob&??_(7*EI7tp zQ=8Pm?Dh(U2((HT7Wp%0IRkjWAz$s=)^+%oP^}>6zW-u93mzzhP}qzNz#$cJ<)`sg zoYE8OL$1BxoCt2FVRT+;86almDVFHT2%^ylOo35J*H-pgdkI&fevLmWeeYQi;G?s=nDp@wGnRL9_D<$n!;ezW8VY)v#HS&pT#hXFFER6r5Z7nSenB(gxQ=)yk=$!)9w-8F=x zyM|jwk1rrO#_RcB|C3py@t zD^L;kONx`Z9A;GW1ULrShA#cVA0V{meX1CIn`TKUF{vd9MW^2%mj4uGBEyjP9yl0| zSpWCF%BMmCQR2WmdF5b8q3nxg|F-GU^peaEiU0*-K1oqs(P~Ne!S-M;Lw$QvKGF+O zgm;O`ZtvpNr(R$EG+1P9QR7dv8%43?W72!#210n;+TGsKdLAl~uPZoy#TD~#xN6~_ z$QA0@w41)`Lu{{W|C6!KwzzX^*E3Ce)zM53zE(7*(O6(s{Ppr5k(nDf{rkw&ruQ*j zMzN|+4Oz3*IWff4&_;xxMlxxxMXd^~Oql9vg(nRjIslvHW{JfL5l108+&5908~>;B z$`xBEfKt1Om6AJM>G;Bqe{NUTz=>|qD(x?2ndsU3v2W=ls~mT)7JCBzRQ{-HBnV^g zsD&{HPqeN@PHvAjir0}3wTbn-Pfk|UmGl(eMJ4M%Awj!s{q7hjT32PF``qULkd&nG zQP`H>Ks!+VOYqYaDxIo=LsE#x8isB*Fj$;)ysqL@m~|Acf3eOPr3TU1SIJ=)@ZAv{ zKhs5*j*O4_DAt#p#Cz$bw4?GBB6BH}9}I!q zr0C*2hs>!?RQG51uo?hzlZJqBth5h{w@{MMG%9$xwynC6kzhyMpetKbdrbS}AkW(J zdnwz3z9q4|gAjOctF+5luxCYH9r60lszmCZ*$QnwEXAXmlv`UZA40iX`v#vKV_D$% zo_q!)qDvzNd`g)IdShu)IDsf(Nd z_Zc@o?N1|K=Igfrnc?=Cfms>W#BoVRMZ+EZpk1@7b-nSm9bDk2wT=4f;Ic6NY*qV| zPyLe`YOc6Gn?HSz(;@&Zal$qUs(4R3rYvRY%#wXJpjeGv<6>8E3A=}v=lYb>i zn_}sM4M+!@V_5w}6A9N**l^ ze#!<937IB=1>O5w@?tgb0&U<2Q_eqo;h$`KdaYN@HYsxno$|w=d&}KOUxz?A_|4dJ|8BD+4r{}1m$W?xEbAH{{Znk{TRgaFCMY5JLeRTa(K0!Y zT1XkEGp}#<9nl4tEpq_u?eq8fTCE&B@OivBjD@Ff3)tyM&%kEw>CU`UqtevJ; z3{z?x!DK}C4n%O~);fw?QH@S)vjJ_knk^Sg2+WTs?WO?eX;u?D=&^>pnEgYZA1=^6 z3W8TcB~L?V+f=7Ok$-Dn+>=Z@xB-%X{q_k>JBQ^`b4(3~%UT2laqRphQyGP_<4THL=Sy7B`+ugJKw8#`Im}Ozd2y6~In=6T(=smvL z;Ea7E+)?d_po&M>g%cQRLuA8B=dR(3emCU&a38#hnP@C4G!dBM?Ol3U@97{h_{H-gf_ z6S(2>zMvs1QKmudx68ZG$@*76;WtKIzm4#&tbMMREi`0x;@M69GAn2Db=$gpeXGtQ z({M9e$H9O(>&ogQa&>r?EQh)Vkb0rdrXypR?T_-Z=a-mmGB;qr&1Nefa+r%G}%9Cr4Tmn9cYjL^&|nzDINs-}ZjWo<~ZXWwG<*%CM|%Rdm_BJ zh|?%7++jaE94059BdKg0TqDIa|B+(J2KEgE0VIDnau>kP$kEV1fHTQ2K2Hb)H z3sjfoP31K}WhM)T2K7nHfchPG;FY(qO>BncL)tz0BWO_8Q1q*X2cf_wxPtWIv8_~m z(Bx(cko*&Dtciyuoxz)h0 zPnG$Gcv`$cIm0Alc`gZwa|u!c%%CjoQ?PzRW~{2VQ^iP-g<~A)g)*HvLhh5RF-tivs3NS%Hu?CH`zIjCP`9F`q&@wWcv( zgfY{zg%RAdPDnrpKF#)A@TLaEe+&6+&=V#+6l?j&t_ ztwI@{-WyiI$6ms|W3*Uu$?OR>TEpSHg$ zpJ8f&MiCG+e~rt};*qGQ?D{wRR;=w;MaPX9u=8xI5>f_vHaF@fLQEIjy#1=EqZq67 zCY~>QMby71GLojFX$||}3bD9VAhH#JOf1apKDi38I_`^6kJQbs(EI((JTsb>tzRvW z88UtIvWyNn-#!88E4L|HJT4i$Sp1hBfJfq?MXl+Aoe~q%;aZBDIW>#Q4(2r>h*D+2 zbcHIfi-!`TbszfunTZn{)(a*=7M0iu+ceG2d&ZA%95!SF_CI+*o!(B3fn^C@UVO@Z zXG*Yx>qNO)y~Y>0O%SsU2n?h)>s1lo6x)iPa0HVhD)XDuir%==T`Mf~)#k|p@26Nq zfGKwu+JSdY-BKY3#sEZ^;F&B)#xncQRki6P?eQltj%={@a<%)ljyDqj@Zlryw)68? zc#aYo?P%L3=35>6^zre8DHeaj$t0}e90M%ikQY4!{5$SP>#R-2&^DMXKkg#iWPl4% ztif}`K*|WOC^#&jfCA=PqZ-66&q_Jf_KC2zJ>BCKa!UQsO!rh2= zi|*6FMH(LPo`@x(@AfWBroRDQ^Ea$R6J*`5YKw&%5cDsAz!vCZ16AviW-{LT;mw!M zobD#JE;cGN=pnDw5zCJVO0q6gz2v~@=9=ChFl|pen19y{(C|>O8)MlgHXr~95PcOK zxyD9QT-z;_KRN9O=C}(_Usi>Ijl(7dtFQ~R5Uyovb^Z@A>> zMqSb0=kcvjvBpPUU*>%|H$&jR8ArhtvxVZs^2~Ofl@rDC4W?y6_%QhM2W7y$56`0w zZchs5j=&7w=!v75CF^sy;ymD0vtBDG9?je0G6U@4vxl^UBJf|eSV@Jyhc zUHw}_uLwr{S<-j-ziLzE(9l~CrB;n^EQTxcIVR@zP8!cSstI|YZLl%a;e#x`b>rkI z8YM#)82+?(y}rJxDu;J=eP8zX&Ot#yE%#;s7$DAPbIgu?7sx-O z2MFN;d5Y?lQNXVL`~C(LYV(>^u9`tTRSP71)X({J2@T*4jWbdZ_L|$R^Tm~D(fnmR z(A-5>E4rF)>tX{6DB_CRBLwH$kf6C)snVg+u1Cz1R?>`X$|^bH%E|~cAF(ER@L2!q ze}z2U2uZwc(K;TpJz8~gOcpC^qMVVT5nsU-9c%$&Sy4Fi9fQF=^S_7*cs>BToILLW zio4PJO9^__{RZb4QlPA4OadUqp2XWhCZ&JiF#9M_!9&5uqm{CyP0N@fe$xO(1fybZ z^S?V9e1fJ~SoMo2%mS%s+mL#AM`*~bkpu8jpW(#%J7O1b3Q(ia`$p);j3ddNdD>ea z+`X@Tog_$shzImBa973n$@Xi?+e11OQeqfw(0+81v^Z@tOM=;ONm3RP3id zInaflYLSMfhiOhF9Rgrh?b(HuyiE#XFA4knXHK}Rpw=a zCt-ty02xRoA|}P-dP&;Mw-RH!ZXUo*ybdEjt7LK;tchCJir$V5*psOTxLL8WHD6est^tY4oX0Wye0SY` ze#R(ByA}AMc+NPYq~6*+0DqfCQMn7F;ItG>B7d>IA+Bgez7yTcFK9urs)g>4T*i6& z*rI^?8#U&6Ne=OuhLNLe#?Liwi`zrVSdr&iS&LeZD}cn~k-8$U(R6gzDlWPkZU_1> zNUgSVEBqB12eml>*PBXi#EEkk$NPgh)(zXZmwETt%{^rMT%P715N=25b2#j2;Oq%S zu4D7V7B?WQr7@5aFkRSkkLA>#A&y3gT9=wGPW7P}T^#}*^S{3RI%%|d2st*DQ4LFE zVe|Li4mgGAf8Hzr>9`a!vGBxPbm!=W#4TgrF9h_jNruH2IzR)tPGWp`mk39|LQBWJ zKbCXC_dtCHUM>f&K4jMQcO4M$Cu(242&iWBkdlPfS1tJ$Sf9^Q{@KF*<|F@;vO}2! z1hZLdCaJST0BJOuy)YR%PIX9nQVaDIhxR!p6AHj9Pn}w$(lMYFULJw%lbQw@U`D!0 z%D;BIJO2Z0eYX6x;PD5r3jJiYu61+ynSF5P%KTo`7Zk~&#SUli^Q3zo;V3o5NqPMG zaW&sZz`iat8q^LP)K@RL{F59ouK4Br+C;BAn4wH++tM?Iwm z-_;)m5PVMv^HgNq0(TOVuA(^tVn9Q_I_TjACUxZsv*Cku?62v53WuJydvGK6j75;+ z)&jf@qoPPb-3y9+1CXfHkB=0~t6AT`C6b)aw|&9A-;^?QK^r3U1nzT&OF)UjJrZFh z*w=|R_-`wkq{5snydJYfLPDhJy&}bGgRP!4w$p<)!(D8hpwTR|Uq&!=yg;W3;4-I_ zOTciQUEUj>_gy0h1Rr1m;@%c@=rg*{jqy_kir_Ga*>%^@AbWRpS3UKf(iwmAU%jFQ zGWy}i&1Zgn4;%OR`dZHsZ|un55esR*$RqKD8Xf0Fg%P7ey>VZba1z6@ZP(l#Vl^0` zz#cEqBEvx?b%DUWJObwd`}JoGwM9v+zJV}6m-Zs)v4jUDp9$!qwq4v6o3=JQf+nl? zAM1^}5;sofoX`gjygjWFV)c3nPDmlC#UeMa%$zRvU8= z+}7FD|9lkvB%ep~5;}|Ya1qpBqkxX0{Tu{!5`)1#%K2Pd@8frN$nzb~`>BlQSia1S zp5S0UVGLdP$@dNj+S-3RVXfkq*B33|1v&!A-2H2+i+4FVhmME!-1!dsQUZ)jj{MEC zO~QNqHdh>UVZ%p**UwBIhVLBEVi=xAc7%NY*KH_Lk1c}GatqlY%klOBUK6EC3Oph- zH1ex>l|&zjKYcdD$K#sPoCBMxPfnLW_4_Td3W&+pwExygTW%!nCzFyuYkhSz)(*!4 zj*J!=HpsU)?hXuj`%=VpZ4A<;O*}f7Z%ABH6nslL)%|5BCl{sXt%fkap0+Gs^-^%I z;>x;$9Z`Shv@LKSryMHhuW5%AR-}@?fMh|5K~fB?hMk&}JgniiG@?~|;N+XAeMM^& ztJ`OW_8I>9v{&#EWjiU{;NGbdG_}MN7nvZAG2~SySBTn24FadH;)`7GtVE5bJUgS{ zQLJ4)#$WD#Q~QyvJ7jg2rrW@Tt|MW7A5y1JQOnr*7HbY%$*OWlv`}gkZPC{`?a(^w zPHuyN-0b2XRrf~L2={P4Txm?BZYE3ZSE-=+9><|K_N!TO)u?T?}T8i^a8^x2x83JN8=umDN zjZY#YVOv^mHw3XVGdJ(SAFt~b(f$+=BFM$kbH06y8$+Y+szB0Fz?^BvR<{l_cBW-P z=mjiGZ(B+il=r}6fu?u)CK0K%UFH6qY&nFBzG#gMe@>q$yZ0~R=2$<*$%=0TGm>;E zQ{L2&aE3HX<=nH1uSUpMdKE;>P1>aZ-^@wa=d>+BRD^91Y5p*dnR2YeSUWvnopu{l zmZ<~@%#bZBNwF4DeNf=C1sAtTYN(P84Yg2MVD?#eA@n~p(SQ*&bcIB|e8Vd^V?|la zsRHq;$zm{p6J$4%gie6*A6(LpO8?O4aB>Cmp&x3q4DWPp7I9Ct7Ee@I1gF-^Rao~* z8`>j((%B=JmbdLwn1P$SzOP{~+{b?4afK7F{d-D1dEzq6qjnll2E~qqwft{y+kY6^ zu83dH?Xr6~3a~y$?B&Kbb9+Xw-K7Z`o;G=g~hHoGcvzs}lRC4q*ifyuBR@*=Akt}&f4seJXB zn`2X#ZD@KWEZ8z&0^=z2`dCBBE6Vm1_Z<{t|~-~D@Cc`-8`ezg|u`x zr~W!KvYI16>s0-#%!U=+S>?FN3DnUAEhk%u9J~rnRnVQNl*iPw3-dkd6TS6qaO$wB z(3%aQL(K0t^=t6S=xS$>zigjuZi(=txvrw%Z1ZR_)Q-qC#&o5|Cd;1o2whb0Nh1S4 z*0nTg&4^sqXww{+lo&gThA&Z%*#doG}ZQFW7844`WH{SF0WLoObD2a{U|4iSO2XPE$f zr;#EieJ#D&oQEtbpU8;w^~k8m>?7kB2bc!C;K`BmZl`WuFr^&b#$=a~Wf+z7iX*MI z5K<+DC&HQ8L+B%LOe?~^VV%andm^mb!rJevHXzsIcUoJ>Tkb%ojY23kiznt2A{TZ2 zOqjrMv2oBO^UAS^1R=W)4uC?8nt22IaOGsWa?DYB2DRbogOjpNVJ>39(VKtkY-c!6 zM0S~%&HRY_xJw;{0JB~yWJT*aNDpL0Cpe}mDWtOXnY(z|$R;DfOIQEh#PXk+gQ6+d zvgKp|A=So>02K*61)As4IsEj>64IW#Q%Zs-!`9uf+HQ7Bgec`tyt}xLhJ$P|b3-Uq3`e`^S;%WVBy1B^WHecmHx9=YZ5k7` zVSXj)DHdBgOuo1BV9}PrUV6~7*90_-Twf_r$cfc}Y>)QT*mBlB#d)uz<2UJ%@6Be~>!#1f8CQRSLNVEo8g%#t-jS{C9t-k8@Uj9syMbvvN$B%IYK zN#ZfmZhRTwH3m!SduR07nQSAI@cV@=1CnCfV!ITd>cQ+BGT1c?+^eR0qnFjsOpu7g zi%^g4SZI(PW%Z1f8}O2Di=ClS8MRv`7Ht{2#hWEhX`(|P9&a90`wm4C)>*X8kg}+8 z#U!>c8g;Uf;bvPFB!ml_!7%?aPKn(|WmXc^P^uVpB0jXIKWAyeAwF*Eje{Oz%i`L< zj+xmD?^l;+!`F-+1X)HKV_qy9rs3PHS|#CbNo*ubJ)w6KGhR^0P2U=VBH!Gi2_-Q9 zz_$~5axm*eV&LmG=&MK2tey$aN5u*ynTF~gkZA)+g{=CSk92`t)j<&bXJw=A4c5Gu zd4bUuT1nQF0h<+M>e6*FmQr)$q@9`&etD~LWle(lcgtNiP?Y7rx9=%@$Gy)XOZXQU zx(#lM3Nm36>R>aTRvN=-rf2xUrMnK@GJ@g&XBi>G@aEyFQiR{_d9gHZWw({aO*@ik zce*Bdhbn7+by9)Go^nx@{getkV33+c6gvID4YSNSb1+=g2I?fS{{B^WQ=23(A%#-i80FanT zauQr8zNJpX&DLSGf#8WTG!6%2zl8A-qbP>FYN~zy2axt?@*i*3@ghgPP1iCbo5VN}1+(YgCOsH&ByvHD&c8#_9Gi$>?8@vu1=g!kW6JS)3YgE*74Z z5FFAK?XBK9g9*>UOb7_9dL&xac>sLmt#U9PB`N^oY^^4|TZDFS-qo*fcP*^(MG!hq zlrU=vUEtv+2;$$hCbi=e_0q)O#{TjGJvvB~=7Z}Ik80LY-C~jz4IBLc#C+0ROajJo zauN9_(P%hIQ7^9U0|JOS)E*Qch~2L?wM%(4W2ThCa&s(*I4s*VXP&<()|0oOYz`dP zH>+48p!e)m!^ZIUs<{~kh96H_@HTf|pt-IUIZ6zL(uRmP?Pc~Bjl1}7fYWO<2P72? z_F&!B2r>h==i{gU$Dcvt$uBSHYr%=F?( z$@l4h3cCRvPsf~t{n$tTC?b`7FO(+BG|A5NQ}FfnpPqiFb$Rj4?-*MPkR%qAn2R%w zi6)JXPHDvG(h;uQp!8Jsbg4;EFo9cF3+MwKxi1Ouv-+)bL5X-7s%eW_yYd#}b{9f6 zVSqnLOfPjW3alPZU$)vAd#=Ddii$HR@CUE4rzvj60@zwo|L!Z&2@0CB!Y*tJh&@ zO|Fw^!Uej9Zg-RYh9UT`7PqcTvVK!*+1M@$Tp>F!4QXd~k2Way)LV9DDt)Ed$b&uc2tTA2h+zP9X>K=U z$3mBJ_{v8VBSqgoUmauqRb~Fbe=x|VVkWfs=dUTt>sOgMzKutBujt~0pRKp1wqFx$ z$u40K`lE`j&j|X?pPwSU?!T|7l^qQ3dvAMpdPF>1p))C`a@JDr3{Q%18+jc2JScvp zCR2Raex#W)K`-O)bcnoERtCbb6g1Gle09j4q^y+L#8;~&Dhx5tncOz!7B~(Mdl@(Z zzx8DV_{3hYSFyvpYhi!zxVokpfJSDXp0y@YL~3tH#Ohq7sIUIb>2Sp=a{t2| z37_>KlvdejY;;{6KoT!eHAd)j8L2a!jLw#92Wqy{CW<2-_~}d*q(sOpWb-7w>4jfj zR5K$kTj;E1S*=P7LAX@yRaHpzhbk z%|fWH0o5{637ZzkIqO-)g$KIxd3}ws(g{oYD4kOb0>$1-OUKz6_Vg^|d>Ni_MU6+f z+m2=ry3lNhc#j!Sl;A?ty5IhhzWWP@KCjkU=kzYiuA=Sl%$o@eNhjw0zShby6+r6fi75jV$7%WVKxLaX^fdC@|RB~C1uydAA8J}{jwBU5ou^1GMj@5 ztikhX^Dl=Z-&|{4hI5;ojD$Ew=GlV>6C3b(++qL#0UwytCDYJ$%&E ztoR$>&k{*#Zg=Tn^rrYof@1~2;wk+nz-7fZk$Et0{$C`6x3;YVd-hb4%SwMJp@GfD zTYO7F4GSRP?dUg3F5)GTZ*J@r*bo3XjTI$qGCVEfvh;Tz|`;}7h{Y(+rhWX9njvu z@OP`PkNS@d78hLwm#A36lLobc0wPe~1ebM);DJS@yOrr4yougDJJ0Wnukb9d&l@-2 z;F^a`)MB@{(ZRZ3#|!VQ_hEjpx3Xzx3~roKI{Aw7Ae5`KREajbP&iGlJoK5wF@{7S zX*7O1p0V_<9wA_hxSG-8mhgmPQ|>kJ@O#_iCoTy&8VZx6yD~xkP}Z@68IN{9&(EIM z>3uis5LZsVFTHcy)OWGaEO_+*w%Qf)91?i6t<}k#0jtKwit+PyJC18uOHxu;G=HDt zb>XgttP4?ObmXc8?AuHIbQh^@ggxXJ7-2ouaz^W!W8b!VL}A@w&&vOetgJg<8K*%q zFqtB)tW#4#k%IKjU2xy47umih0X&lbyO6BW5@=(sb^4ezq%YoR1{^sF+!Xdd=EJ!r zYN)-HUlvlROoqSk2pL%o4>O06nk2!t_L+ggB>k8Ou5PwH5>rC!S~kotJ-*k~csG=}KbpQs*Dy%5V=%rCqertHH44kL@!Cz%n&D)YatYC+V zaaVKn^vUT_j6X7Vh)u*0E|&;6w|S&^7#3NSNF_x;ou5EIc=i_XL8@#458q7|5DgXy zmTXnSo+vRQ0b#Jm$IMx|7yaC$mZeVr(-I0X%Jp63F(Q_ms*(MS$7IqPhuv~4p$SHB!c^ruV zIGu&GoGr9(&#E$1=Alppm~uy+EMrsJ*y zF!29PPXtEX+H-2R?v2yCz09x>UJFiYoL49f5fOHr6j(^%@t1+Z=JcODwaj)wcnYDc zVE^>$7vW88tND;&HY%(*jM4MxA@lR(C3E47HeR+f8b9U^ORBDq%Bm-ya>CZ6rAj%3 zAs_hNN1c`6t1jTcqxiae+VYf4>)CJL^tj{=|4@UHGctHAUGiC3W(ee7eFLT8LYf42 z{PLCfBlJByc{w=z;4-(L{GlZYFXab9riAD;+sBH}+kbfWO7{awl&E@XsX=>}>RO&V z&d_<1^79o6Qa5#Gjxd(R1L*q?q96ChFInTeDrxQwY>q!?Qe|N3Vh@8V_Ot5E?EeWS3ag7mXRgm}>}J~Xo=I*u%AE{19&vYN`lUL!G1|F| zwq|!~BoXj)@Vm1Ba<$D~dnjnD{j?CaS zPPc*Y3p;yz19GOMtkhOuoZX@%U^__4!fj3DkmH~xW~2$d45S&RNXe!4mfC>8&ms7) zkb2ekKwOl+G<6D4ZL5^8YAPIW&L5lS zvQ=!Wa@D+5FRh?F6Qn=Vvot+z#@62G_A-GCp~8JcQ;gXax0%I(2n&l7T)AGE zHX1;>+7WfbN#FvUPtR}@WfafO*CXF`VeJgvN?ZA)vW8#)37jl^%9L9`%7U-{d|C;n z|NO~Bfqa95KsDX8wv;=?Z}QBJLR(Dl$t(7Bpm>ehebQ1x*_SYI8R2yAlsm<5^2X-r zoJ|;^BI^saGVnFl{&4d3^Cc~7^D}HsNDbD!$&_!8#(LXHlPKRGjPtUEco+0p zj6_~sR3U|)FfOTH>oX5@JOr%S27vjHaasfXKCzH)L-Y|pcV2&CX*gkvGOMe627E4= z!QH2=;xZq`ygz9O?&+Fd#WR4*vt%-A{I$pDZEtczSsC$A)D7uPye4~|^DdSp-1D@1 zV8Bd~OUqPvkukwLc{RXfJprcUF#B2=s6n;D|H??9lr`f&v#FT$KE;Bpb!6?ohH?so z;AOhoG8K(TSmQ56o@orJ0c#u2kLc7(e~ZJv*`MfSd`(y2jT~hPap$OPn4x%bnioDz zQy~Q8bk$+>gXh{H;3a!8cQWX{Hi8ZBu|-6jQnDJa24|K?S7DWi`buO+>|2PPHgSjK zsAnyu_}O;2oz5P>Sy`thdP})6LV--?Q})lfwY!#eG+Hg;zr=L&3=?_w&s%AwVO39Q zqKl=SX{V3!;ahoZ7+03&AdS-UM=jEY#7UT~UNH~x1Jo$){GA2F5*M@G3Qj16ekL)J zPbq|Y*GC5b(cLKevdb(dN<>`)56~G8qutgW05gfk3mQ=vqM9`q&h1F z8&n}y1(+XkuTYN;C?@mjWsHEuOr&oNtpEg4P2oifznW=nfyUl z4`xJ6>iPWz1}7-cT3l-~{t2qQCqG@qwfPUEhj~|ASy^T(_%V#9+h$K=k15IvxR<7N zrlTNJt~D8H?I233R=$+{@-i$6gL>T%h1Owu!qC}qO1;6pz;3nKjmED7^F6m1)`N`X z0%|rrx`)mB`h559^&+#Z8#E7kDNrNA-HZ6_XqB{4Ld#vd20A$+#v}z=2*e0)ww-e{ ztR#Y5)cS36F$Y~bzfw?tl~Fngm*ridMuyUbc;OeonZ^ona@}%IHbU}bZwQLkOmQb? z(jG1fXsmZR2KAeVZ5?;?j?g-mfB@rAk1-V1Q7PYbL-m)$xVa}4^o&KhW=FAkJ292R zM9)Cm^6jYl$GTt6fIaKnMYIoooQ;2>hRArbQ%;_gi<6%#XFe!JwE`CZPE)K1aKvm` zfH;w)TAsq?->|M3Hk`Si?q^JFI(b0TdnmQ(oZ?0ud#+1yO(kj%yDxj0YnGuXDhV;U zkpt>Nd1Vb^X6nf#p(wZo5vzJQ#M(?Xsgfa0Iy!KGM5PuFpbG@NtXm9(uv5j--i-{^ z*0E0F>k_TLZhs7qH^XBI3IG6Ca+m^+22c}ip^W$5a@a0DgVNSp)`%pFGCg z-=Wp$tHl5B7%4omRQv;an+;fp5QPEP0lIZ5ik852s75w(5!XiptwJ%T0hxs2EO0v1 zBO5u0>!X3zn#6k?rJ(Tu0gqd_U{ll!l$WaBjvjPW!DznMrg?(?e_Ahho2hbEy4a#q zpXrotZt=;O-|f2mf-1iFlr;6frN_9?)ZR2SB(*?tr$kRTY55q@EgZ8`poL2YS(000000000GW(CYr zX%s?44g1ug`9t!D{Gbkl(3c-gcmm)su@CTH@*{J=0tK8zr031k4L$-4z?NATL5-D_r0)&I$|zJo00000 j04PB`5%BqWe6DdF;A9j4zQRi4V%i`80000000000?-K4j literal 0 HcmV?d00001