From 867092fd994889778f3d518748908392b18d4231 Mon Sep 17 00:00:00 2001 From: Rogee Date: Sun, 23 Aug 2026 18:14:02 +0800 Subject: [PATCH] HH-530: replace user-facing Chatwoot branding with GoChat (#117) * fix(HH-530): replace user-facing Chatwoot branding * fix(HH-530): close branding review blockers * test(HH-530): cover update banner binding --------- Co-authored-by: Rogee --- .../internal/automation/action_delivery.go | 2 +- backend/internal/router/router.go | 9 ++- backend/internal/router/router_test.go | 4 +- .../internal/service/contact_export_mailer.go | 2 +- backend/internal/service/coverage28_test.go | 2 +- .../service/profile_confirmation_mailer.go | 2 +- backend/internal/service/profile_service.go | 4 +- .../EmptyState/CampaignEmptyStateContent.js | 10 +-- .../emptyStates/captainEmptyStateContent.js | 42 ++++++------- .../templates/twilio-templates.js | 12 ++-- .../year-in-review/slides/ThankYouSlide.vue | 2 +- .../javascript/dashboard/components/Code.vue | 2 +- .../components/app/specs/UpdateBanner.spec.js | 29 +++++++++ .../dashboard/i18n/locale/en/auditLogs.json | 4 +- .../i18n/locale/en/conversation.json | 2 +- .../i18n/locale/en/generalSettings.json | 8 +-- .../dashboard/i18n/locale/en/helpCenter.json | 2 +- .../dashboard/i18n/locale/en/inboxMgmt.json | 12 ++-- .../i18n/locale/en/integrations.json | 12 ++-- .../dashboard/i18n/locale/en/labelsMgmt.json | 2 +- .../dashboard/i18n/locale/en/login.json | 2 +- .../i18n/locale/en/resetPassword.json | 2 +- .../dashboard/i18n/locale/en/settings.json | 4 +- .../dashboard/i18n/locale/en/signup.json | 2 +- .../i18n/locale/en/yearInReview.json | 4 +- .../i18n/locale/zh_CN/generalSettings.json | 6 +- .../i18n/locale/zh_CN/helpCenter.json | 2 +- .../i18n/locale/zh_CN/inboxMgmt.json | 8 +-- .../i18n/locale/zh_CN/integrations.json | 12 ++-- .../dashboard/i18n/locale/zh_CN/login.json | 2 +- .../widget-preview/components/Widget.vue | 2 +- .../components/ArticleSearch/Header.vue | 2 +- .../components/SenderNameExamplePreview.vue | 4 +- .../javascript/entrypoints/dashboardConfig.js | 6 +- .../entrypoints/specs/runtimeConfig.spec.js | 38 ++++++++++++ .../javascript/shared/components/Branding.vue | 5 +- .../composables/specs/useBranding.spec.js | 26 +++++--- .../shared/composables/useBranding.js | 6 +- .../javascript/shared/store/globalConfig.js | 4 +- .../shared/store/specs/globalConfig.spec.js | 17 ++++++ .../app/javascript/survey/i18n/locale/am.json | 2 +- .../app/javascript/survey/i18n/locale/ar.json | 2 +- .../app/javascript/survey/i18n/locale/az.json | 2 +- .../app/javascript/survey/i18n/locale/bg.json | 2 +- .../app/javascript/survey/i18n/locale/bn.json | 2 +- .../app/javascript/survey/i18n/locale/ca.json | 2 +- .../app/javascript/survey/i18n/locale/cs.json | 2 +- .../app/javascript/survey/i18n/locale/da.json | 2 +- .../app/javascript/survey/i18n/locale/de.json | 2 +- .../app/javascript/survey/i18n/locale/el.json | 2 +- .../app/javascript/survey/i18n/locale/en.json | 2 +- .../app/javascript/survey/i18n/locale/es.json | 2 +- .../app/javascript/survey/i18n/locale/et.json | 2 +- .../app/javascript/survey/i18n/locale/fi.json | 2 +- .../app/javascript/survey/i18n/locale/fr.json | 2 +- .../app/javascript/survey/i18n/locale/he.json | 2 +- .../app/javascript/survey/i18n/locale/hi.json | 2 +- .../app/javascript/survey/i18n/locale/hr.json | 2 +- .../app/javascript/survey/i18n/locale/hu.json | 2 +- .../app/javascript/survey/i18n/locale/hy.json | 2 +- .../app/javascript/survey/i18n/locale/id.json | 2 +- .../app/javascript/survey/i18n/locale/is.json | 2 +- .../app/javascript/survey/i18n/locale/it.json | 2 +- .../app/javascript/survey/i18n/locale/ja.json | 2 +- .../app/javascript/survey/i18n/locale/ka.json | 2 +- .../app/javascript/survey/i18n/locale/ko.json | 2 +- .../app/javascript/survey/i18n/locale/lt.json | 2 +- .../app/javascript/survey/i18n/locale/lv.json | 2 +- .../app/javascript/survey/i18n/locale/ml.json | 2 +- .../app/javascript/survey/i18n/locale/ms.json | 2 +- .../app/javascript/survey/i18n/locale/ne.json | 2 +- .../app/javascript/survey/i18n/locale/nl.json | 2 +- .../app/javascript/survey/i18n/locale/no.json | 2 +- .../app/javascript/survey/i18n/locale/pl.json | 2 +- .../app/javascript/survey/i18n/locale/pt.json | 2 +- .../javascript/survey/i18n/locale/pt_BR.json | 2 +- .../app/javascript/survey/i18n/locale/ro.json | 2 +- .../app/javascript/survey/i18n/locale/ru.json | 2 +- .../app/javascript/survey/i18n/locale/sh.json | 2 +- .../app/javascript/survey/i18n/locale/sk.json | 2 +- .../app/javascript/survey/i18n/locale/sl.json | 2 +- .../app/javascript/survey/i18n/locale/sq.json | 2 +- .../app/javascript/survey/i18n/locale/sr.json | 2 +- .../app/javascript/survey/i18n/locale/sv.json | 2 +- .../app/javascript/survey/i18n/locale/th.json | 2 +- .../app/javascript/survey/i18n/locale/tl.json | 2 +- .../app/javascript/survey/i18n/locale/tr.json | 2 +- .../app/javascript/survey/i18n/locale/uk.json | 2 +- .../app/javascript/survey/i18n/locale/ur.json | 2 +- .../javascript/survey/i18n/locale/ur_IN.json | 2 +- .../app/javascript/survey/i18n/locale/vi.json | 2 +- .../javascript/survey/i18n/locale/zh_CN.json | 2 +- .../javascript/survey/i18n/locale/zh_TW.json | 2 +- .../app/javascript/survey/views/Response.vue | 2 +- .../javascript/v3/views/auth/signup/Index.vue | 2 +- .../app/javascript/widget/i18n/locale/en.json | 2 +- .../javascript/widget/i18n/locale/zh_CN.json | 2 +- frontend/index.html | 3 +- frontend/public/brand-assets/logo.svg | 10 +-- frontend/public/brand-assets/logo_dark.svg | 10 +-- .../brand-assets/logo_thumbnail-192.png | Bin 0 -> 16692 bytes .../brand-assets/logo_thumbnail-512.png | Bin 0 -> 99452 bytes .../public/brand-assets/logo_thumbnail.svg | 29 ++------- frontend/public/manifest.json | 57 ++++++------------ frontend/scripts/check-build.mjs | 23 ++++++- frontend/super_admin.html | 9 ++- frontend/widget.html | 7 ++- 107 files changed, 343 insertions(+), 237 deletions(-) create mode 100644 frontend/app/javascript/dashboard/components/app/specs/UpdateBanner.spec.js create mode 100644 frontend/app/javascript/entrypoints/specs/runtimeConfig.spec.js create mode 100644 frontend/app/javascript/shared/store/specs/globalConfig.spec.js create mode 100644 frontend/public/brand-assets/logo_thumbnail-192.png create mode 100644 frontend/public/brand-assets/logo_thumbnail-512.png diff --git a/backend/internal/automation/action_delivery.go b/backend/internal/automation/action_delivery.go index 63a58eaa..064ba803 100644 --- a/backend/internal/automation/action_delivery.go +++ b/backend/internal/automation/action_delivery.go @@ -214,7 +214,7 @@ func (d *SMTPAutomationTranscriptDeliverer) DeliverTranscript(ctx context.Contex func (d *SMTPAutomationTranscriptDeliverer) send(ctx context.Context, req AutomationTranscriptRequest) error { fromHeader := strings.TrimSpace(d.From) if fromHeader == "" { - fromHeader = "Chatwoot " + fromHeader = "GoChat " } fromAddress := fromHeader if parsed, err := mail.ParseAddress(fromHeader); err == nil { diff --git a/backend/internal/router/router.go b/backend/internal/router/router.go index a969ba6a..42240604 100644 --- a/backend/internal/router/router.go +++ b/backend/internal/router/router.go @@ -2260,7 +2260,14 @@ func dashboardRuntimeConfig(c *gin.Context) { "allowedLoginMethods": []string{"email"}, "signupEnabled": "false", "selectedLocale": "en", - "globalConfig": map[string]any{"INSTALLATION_NAME": installationName}, + "globalConfig": map[string]any{ + "INSTALLATION_NAME": installationName, + "BRAND_NAME": installationName, + "LOGO": "/brand-assets/logo.svg", + "LOGO_DARK": "/brand-assets/logo_dark.svg", + "LOGO_THUMBNAIL": "/brand-assets/logo_thumbnail.svg", + "WIDGET_BRAND_URL": "/", + }, }) c.Header("Cache-Control", "no-store") c.Data(http.StatusOK, "application/javascript; charset=utf-8", []byte("window.__GOCHAT_CONFIG__ = "+config+";\n")) diff --git a/backend/internal/router/router_test.go b/backend/internal/router/router_test.go index 14f799ca..aa708692 100644 --- a/backend/internal/router/router_test.go +++ b/backend/internal/router/router_test.go @@ -975,7 +975,9 @@ func TestDashboardIndexServesChatwootShell(t *testing.T) { t.Fatalf("expected JavaScript runtime config, got %d %q", runtimeConfig.Code, runtimeConfig.Header().Get("Content-Type")) } if !strings.Contains(runtimeConfig.Body.String(), `"hostURL":"https://app.example.test"`) || - !strings.Contains(runtimeConfig.Body.String(), `"INSTALLATION_NAME":"GoChat Test"`) { + !strings.Contains(runtimeConfig.Body.String(), `"INSTALLATION_NAME":"GoChat Test"`) || + !strings.Contains(runtimeConfig.Body.String(), `"BRAND_NAME":"GoChat Test"`) || + !strings.Contains(runtimeConfig.Body.String(), `"LOGO":"/brand-assets/logo.svg"`) { t.Fatalf("expected environment-backed runtime config: %s", runtimeConfig.Body.String()) } if strings.Contains(runtimeConfig.Body.String(), " Chatwoot Team Signature diff --git a/frontend/app/javascript/dashboard/components/Code.vue b/frontend/app/javascript/dashboard/components/Code.vue index 02e97388..27575297 100644 --- a/frontend/app/javascript/dashboard/components/Code.vue +++ b/frontend/app/javascript/dashboard/components/Code.vue @@ -22,7 +22,7 @@ const props = defineProps({ }, codepenTitle: { type: String, - default: 'Chatwoot Codepen', + default: 'GoChat Codepen', }, }); diff --git a/frontend/app/javascript/dashboard/components/app/specs/UpdateBanner.spec.js b/frontend/app/javascript/dashboard/components/app/specs/UpdateBanner.spec.js new file mode 100644 index 00000000..0c93a14b --- /dev/null +++ b/frontend/app/javascript/dashboard/components/app/specs/UpdateBanner.spec.js @@ -0,0 +1,29 @@ +import { shallowMount } from '@vue/test-utils'; +import { createStore } from 'vuex'; +import Banner from 'dashboard/components/ui/Banner.vue'; +import UpdateBanner from '../UpdateBanner.vue'; + +vi.mock('dashboard/composables/useAdmin', () => ({ + useAdmin: () => ({ isAdmin: true }), +})); + +it('interpolates the available version into the GoChat update message', () => { + const store = createStore({ + modules: { + globalConfig: { + namespaced: true, + getters: { + get: () => ({ appVersion: '4.14.0', displayManifest: true }), + }, + }, + }, + }); + const wrapper = shallowMount(UpdateBanner, { + props: { latestChatwootVersion: '4.15.0' }, + global: { plugins: [store] }, + }); + + expect(wrapper.findComponent(Banner).props('bannerMessage')).toBe( + 'An update 4.15.0 for GoChat is available. Please update your instance.' + ); +}); diff --git a/frontend/app/javascript/dashboard/i18n/locale/en/auditLogs.json b/frontend/app/javascript/dashboard/i18n/locale/en/auditLogs.json index f85ad2a3..2e58c341 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/en/auditLogs.json +++ b/frontend/app/javascript/dashboard/i18n/locale/en/auditLogs.json @@ -6,11 +6,11 @@ "DESCRIPTION": "Audit Logs maintain a record of activities in your account, allowing you to track and audit your account, team, or services.", "LEARN_MORE": "Learn more about audit logs", "SEARCH_404": "There are no items matching this query", - "SIDEBAR_TXT": "

Audit Logs

Audit Logs are trails for events and actions in a Chatwoot System.

", + "SIDEBAR_TXT": "

Audit Logs

Audit Logs are trails for events and actions in a GoChat System.

", "LIST": { "404": "There are no Audit Logs available in this account.", "TITLE": "Manage Audit Logs", - "DESC": "Audit Logs are trails for events and actions in a Chatwoot System.", + "DESC": "Audit Logs are trails for events and actions in a GoChat System.", "TABLE_HEADER": { "ACTIVITY": "Activity", "TIME": "Time", diff --git a/frontend/app/javascript/dashboard/i18n/locale/en/conversation.json b/frontend/app/javascript/dashboard/i18n/locale/en/conversation.json index 8b31315b..00a82936 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/en/conversation.json +++ b/frontend/app/javascript/dashboard/i18n/locale/en/conversation.json @@ -272,7 +272,7 @@ "SENT_BY": "Sent by:", "BOT": "Bot", "NATIVE_APP": "Native app", - "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from GoChat to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { diff --git a/frontend/app/javascript/dashboard/i18n/locale/en/generalSettings.json b/frontend/app/javascript/dashboard/i18n/locale/en/generalSettings.json index fab8020e..461f59f6 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/en/generalSettings.json +++ b/frontend/app/javascript/dashboard/i18n/locale/en/generalSettings.json @@ -123,11 +123,11 @@ "CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now." } }, - "UPDATE_CHATWOOT": "An update {latestChatwootVersion} for Chatwoot is available. Please update your instance.", + "UPDATE_CHATWOOT": "An update {latestChatwootVersion} for GoChat is available. Please update your instance.", "LEARN_MORE": "Learn more", - "PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot", - "UPGRADE": "Upgrade to continue using Chatwoot", - "LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot", + "PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using GoChat", + "UPGRADE": "Upgrade to continue using GoChat", + "LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using GoChat", "OPEN_BILLING": "Open billing" }, "FORMS": { diff --git a/frontend/app/javascript/dashboard/i18n/locale/en/helpCenter.json b/frontend/app/javascript/dashboard/i18n/locale/en/helpCenter.json index 758bb1dc..c8963a6a 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/en/helpCenter.json +++ b/frontend/app/javascript/dashboard/i18n/locale/en/helpCenter.json @@ -763,7 +763,7 @@ "CONFIRM_BUTTON_LABEL": "Create", "NAME": { "LABEL": "Name", - "PLACEHOLDER": "User Guide | Chatwoot", + "PLACEHOLDER": "User Guide | GoChat", "MESSAGE": "Choose an name for your portal.", "ERROR": "Name is required" }, diff --git a/frontend/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json b/frontend/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json index 087e43f5..9a0dda77 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json +++ b/frontend/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json @@ -16,7 +16,7 @@ "CREATE_FLOW": { "CHANNEL": { "TITLE": "Choose Channel", - "BODY": "Choose the provider you want to integrate with Chatwoot." + "BODY": "Choose the provider you want to integrate with GoChat." }, "INBOX": { "TITLE": "Create Inbox", @@ -42,7 +42,7 @@ "PLACEHOLDER": "Enter your website name (eg: Acme Inc)" }, "FB": { - "HELP": "PS: By signing in, we only get access to your Page's messages. Your private messages can never be accessed by Chatwoot.", + "HELP": "PS: By signing in, we only get access to your Page's messages. Your private messages can never be accessed by GoChat.", "CHOOSE_PAGE": "Choose Page", "CHOOSE_PLACEHOLDER": "Select a page from the list", "INBOX_NAME": "Inbox Name", @@ -472,7 +472,7 @@ }, "AUTH": { "TITLE": "Choose a channel", - "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.", + "DESC": "GoChat supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.", "TITLE_NEXT": "Complete the setup", "TITLE_FINISH": "Voilà!", "CHANNEL": { @@ -534,11 +534,11 @@ }, "DETAILS": { "TITLE": "Inbox Details", - "DESC": "From the dropdown below, select the Facebook Page you want to connect to Chatwoot. You can also give a custom name to your inbox for better identification." + "DESC": "From the dropdown below, select the Facebook Page you want to connect to GoChat. You can also give a custom name to your inbox for better identification." }, "FINISH": { "TITLE": "Nailed It!", - "DESC": "You have successfully finished integrating your Facebook Page with Chatwoot. Next time a customer messages your Page, the conversation will automatically appear on your inbox.
We are also providing you with a widget script that you can easily add to your website. Once this is live on your website, customers can message you right from your website without the help of any external tool and the conversation will appear right here, on Chatwoot.
Cool, huh? Well, we sure try to be :)" + "DESC": "You have successfully finished integrating your Facebook Page with GoChat. Next time a customer messages your Page, the conversation will automatically appear on your inbox.
We are also providing you with a widget script that you can easily add to your website. Once this is live on your website, customers can message you right from your website without the help of any external tool and the conversation will appear right here, on GoChat.
Cool, huh? Well, we sure try to be :)" }, "EMAIL_PROVIDER": { "TITLE": "Select your email provider", @@ -1163,7 +1163,7 @@ "USER_MESSAGE": "Hi", "AGENT_MESSAGE": "Hello" }, - "BRANDING_TEXT": "Powered by Chatwoot", + "BRANDING_TEXT": "Powered by GoChat", "SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};" }, "EMAIL_PROVIDERS": { diff --git a/frontend/app/javascript/dashboard/i18n/locale/en/integrations.json b/frontend/app/javascript/dashboard/i18n/locale/en/integrations.json index 9688df1b..43672cc9 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/en/integrations.json +++ b/frontend/app/javascript/dashboard/i18n/locale/en/integrations.json @@ -17,7 +17,7 @@ "ERROR": "There was an error connecting to Shopify. Please try again or contact support if the issue persists." }, "HEADER": "Integrations", - "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", + "DESCRIPTION": "GoChat integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", "SEARCH_PLACEHOLDER": "Search integrations...", @@ -44,7 +44,7 @@ "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", - "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", + "DESC": "Webhook events provide you the realtime information about what's happening in your GoChat account. Please enter a valid URL to configure a callback.", "SUBSCRIPTIONS": { "LABEL": "Events", "EVENTS": { @@ -79,7 +79,7 @@ "HEADER_BTN_TXT": "Add new webhook", "LOADING": "Fetching attached webhooks", "SEARCH_404": "There are no items matching this query", - "SIDEBAR_TXT": "

Webhooks

Webhooks are HTTP callbacks which can be defined for every account. They are triggered by events like message creation in Chatwoot. You can create more than one webhook for this account.

For creating a webhook, click on the Add new webhook button. You can also remove any existing webhook by clicking on the Delete button.

", + "SIDEBAR_TXT": "

Webhooks

Webhooks are HTTP callbacks which can be defined for every account. They are triggered by events like message creation in GoChat. You can create more than one webhook for this account.

For creating a webhook, click on the Add new webhook button. You can also remove any existing webhook by clicking on the Delete button.

", "LIST": { "404": "There are no webhooks configured for this account.", "TITLE": "Manage webhooks", @@ -127,14 +127,14 @@ }, "HELP_TEXT": { "TITLE": "How to use the Slack Integration?", - "BODY": "With this integration, all of your incoming conversations will be synced to the ***{selectedChannelName}*** channel in your Slack workspace. You can manage all your customer conversations right within the channel and never miss a message.\n\nHere are the main features of the integration:\n\n**Respond to conversations from within Slack:** To respond to a conversation in the ***{selectedChannelName}*** Slack channel, simply type out your message and send it as a thread. This will create a response back to the customer through Chatwoot. It's that simple!\n\n **Create private notes:** If you want to create private notes instead of replies, start your message with ***`note:`***. This ensures that your message is kept private and won't be visible to the customer.\n\n**Associate an agent profile:** If the person who replied on Slack has an agent profile in Chatwoot under the same email, the replies will be associated with that agent profile automatically. This means you can easily track who said what and when. On the other hand, when the replier doesn't have an associated agent profile, the replies will appear from the bot profile to the customer.", + "BODY": "With this integration, all of your incoming conversations will be synced to the ***{selectedChannelName}*** channel in your Slack workspace. You can manage all your customer conversations right within the channel and never miss a message.\n\nHere are the main features of the integration:\n\n**Respond to conversations from within Slack:** To respond to a conversation in the ***{selectedChannelName}*** Slack channel, simply type out your message and send it as a thread. This will create a response back to the customer through GoChat. It's that simple!\n\n **Create private notes:** If you want to create private notes instead of replies, start your message with ***`note:`***. This ensures that your message is kept private and won't be visible to the customer.\n\n**Associate an agent profile:** If the person who replied on Slack has an agent profile in GoChat under the same email, the replies will be associated with that agent profile automatically. This means you can easily track who said what and when. On the other hand, when the replier doesn't have an associated agent profile, the replies will appear from the bot profile to the customer.", "SELECTED": "selected" }, "SELECT_CHANNEL": { "OPTION_LABEL": "Select a channel", "UPDATE": "Update", "BUTTON_TEXT": "Connect channel", - "DESCRIPTION": "Your Slack workspace is now linked with Chatwoot. However, the integration is currently inactive. To activate the integration and connect a channel to Chatwoot, please click the button below.\n\n**Note:** If you are attempting to connect a private channel, add the Chatwoot app to the Slack channel before proceeding with this step.", + "DESCRIPTION": "Your Slack workspace is now linked with GoChat. However, the integration is currently inactive. To activate the integration and connect a channel to GoChat, please click the button below.\n\n**Note:** If you are attempting to connect a private channel, add the GoChat app to the Slack channel before proceeding with this step.", "ATTENTION_REQUIRED": "Attention required", "EXPIRED": "Your Slack integration has expired. To continue receiving messages on Slack, please delete the integration and connect your workspace again." }, @@ -236,7 +236,7 @@ "DASHBOARD_APPS": { "TITLE": "Dashboard Apps", "HEADER_BTN_TXT": "Add a new dashboard app", - "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", + "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the GoChat dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in GoChat, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", "COUNT": "{n} dashboard app | {n} dashboard apps", diff --git a/frontend/app/javascript/dashboard/i18n/locale/en/labelsMgmt.json b/frontend/app/javascript/dashboard/i18n/locale/en/labelsMgmt.json index 96e272e4..42fcc02d 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/en/labelsMgmt.json +++ b/frontend/app/javascript/dashboard/i18n/locale/en/labelsMgmt.json @@ -50,7 +50,7 @@ "DESELECT": "Deselect label", "DISMISS": "Dismiss suggestion" }, - "POWERED_BY": "Chatwoot AI", + "POWERED_BY": "GoChat AI", "DISMISS": "Dismiss", "ADD_SELECTED_LABELS": "Add selected labels", "ADD_SELECTED_LABEL": "Add selected label", diff --git a/frontend/app/javascript/dashboard/i18n/locale/en/login.json b/frontend/app/javascript/dashboard/i18n/locale/en/login.json index 06128424..42886e90 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/en/login.json +++ b/frontend/app/javascript/dashboard/i18n/locale/en/login.json @@ -1,6 +1,6 @@ { "LOGIN": { - "TITLE": "Login to Chatwoot", + "TITLE": "Login to GoChat", "EMAIL": { "LABEL": "Email", "PLACEHOLDER": "example{'@'}companyname.com", diff --git a/frontend/app/javascript/dashboard/i18n/locale/en/resetPassword.json b/frontend/app/javascript/dashboard/i18n/locale/en/resetPassword.json index 955696b0..4c9cd114 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/en/resetPassword.json +++ b/frontend/app/javascript/dashboard/i18n/locale/en/resetPassword.json @@ -1,7 +1,7 @@ { "RESET_PASSWORD": { "TITLE": "Reset password", - "DESCRIPTION": "Enter the email address you use to log in to Chatwoot to get the password reset instructions.", + "DESCRIPTION": "Enter the email address you use to log in to GoChat to get the password reset instructions.", "GO_BACK_TO_LOGIN": "If you want to go back to the login page,", "EMAIL": { "LABEL": "Email", diff --git a/frontend/app/javascript/dashboard/i18n/locale/en/settings.json b/frontend/app/javascript/dashboard/i18n/locale/en/settings.json index b9515763..921fda25 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/en/settings.json +++ b/frontend/app/javascript/dashboard/i18n/locale/en/settings.json @@ -37,7 +37,7 @@ }, "INTERFACE_SECTION": { "TITLE": "Interface", - "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "NOTE": "Customize the look and feel of your GoChat dashboard.", "FONT_SIZE": { "TITLE": "Font size", "NOTE": "Adjust the text size across the dashboard based on your preference.", @@ -621,7 +621,7 @@ } }, "CREATE_ACCOUNT": { - "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", + "NO_ACCOUNT_WARNING": "Uh oh! We could not find any GoChat accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", "SELECTOR_SUBTITLE": "Create a new account", "API": { diff --git a/frontend/app/javascript/dashboard/i18n/locale/en/signup.json b/frontend/app/javascript/dashboard/i18n/locale/en/signup.json index 238a1f06..ceecc6cc 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/en/signup.json +++ b/frontend/app/javascript/dashboard/i18n/locale/en/signup.json @@ -1,7 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", - "GET_STARTED": "Get started with Chatwoot", + "GET_STARTED": "Get started with GoChat", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/frontend/app/javascript/dashboard/i18n/locale/en/yearInReview.json b/frontend/app/javascript/dashboard/i18n/locale/en/yearInReview.json index d72e0c67..b06ba535 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/en/yearInReview.json +++ b/frontend/app/javascript/dashboard/i18n/locale/en/yearInReview.json @@ -48,8 +48,8 @@ "PREPARING": "Preparing your image...", "DOWNLOAD": "Download", "SHARE_TITLE": "My {year} Year in Review", - "SHARE_TEXT": "Check out my {year} Year in Review with Chatwoot!", - "BRANDING": "Made with Chatwoot" + "SHARE_TEXT": "Check out my {year} Year in Review with GoChat!", + "BRANDING": "Made with GoChat" }, "BANNER": { "TITLE": "Your {year} Year in Review is here", diff --git a/frontend/app/javascript/dashboard/i18n/locale/zh_CN/generalSettings.json b/frontend/app/javascript/dashboard/i18n/locale/zh_CN/generalSettings.json index ccc6aae3..ae3b4af0 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/zh_CN/generalSettings.json +++ b/frontend/app/javascript/dashboard/i18n/locale/zh_CN/generalSettings.json @@ -125,9 +125,9 @@ }, "UPDATE_CHATWOOT": "GoChat 有可用更新 {latestChatwootVersion},请更新您的应用。", "LEARN_MORE": "了解更多", - "PAYMENT_PENDING": "您的付款尚未完成。请更新您的付款信息以继续使用Chatwoot", - "UPGRADE": "升级以继续使用 Chatwoot", - "LIMITS_UPGRADE": "您的账户已超过使用限制,请升级您的计划以继续使用Chatwoot", + "PAYMENT_PENDING": "您的付款尚未完成。请更新您的付款信息以继续使用GoChat", + "UPGRADE": "升级以继续使用 GoChat", + "LIMITS_UPGRADE": "您的账户已超过使用限制,请升级您的计划以继续使用GoChat", "OPEN_BILLING": "查看计费" }, "FORMS": { diff --git a/frontend/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json b/frontend/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json index 0e2cffb3..bbcb4c1f 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json +++ b/frontend/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json @@ -763,7 +763,7 @@ "CONFIRM_BUTTON_LABEL": "创建", "NAME": { "LABEL": "姓名", - "PLACEHOLDER": "用户指南 | Chatwoot", + "PLACEHOLDER": "用户指南 | GoChat", "MESSAGE": "为您的门户选择一个名称。", "ERROR": "名字必填" }, diff --git a/frontend/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json b/frontend/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json index e97e2a7f..a7259946 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json +++ b/frontend/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json @@ -16,7 +16,7 @@ "CREATE_FLOW": { "CHANNEL": { "TITLE": "选择频道", - "BODY": "选择你想要与Chatwoot 集成的提供商。" + "BODY": "选择你想要与GoChat 集成的提供商。" }, "INBOX": { "TITLE": "新增收件箱", @@ -472,7 +472,7 @@ }, "AUTH": { "TITLE": "选择一个通道", - "DESC": "Chatwoot支持实时聊天小部件、Facebook Messenger、Twitter个人资料、WhatsApp、电子邮件等作为通道。如果您想构建自定义通道,可以使用API通道创建。要开始,请从下面的通道中选择一个。", + "DESC": "GoChat支持实时聊天小部件、Facebook Messenger、Twitter个人资料、WhatsApp、电子邮件等作为通道。如果您想构建自定义通道,可以使用API通道创建。要开始,请从下面的通道中选择一个。", "TITLE_NEXT": "完成设置", "TITLE_FINISH": "搞定!", "CHANNEL": { @@ -538,7 +538,7 @@ }, "FINISH": { "TITLE": "搞定!", - "DESC": "您已成功地将您的Facebook页面与Chatwoot集成。下次客户消息您的页面时,对话将自动出现在收件箱中。
我们还为您提供了一个小部件脚本,您可以轻松地添加到您的网站。在您的网站上登录后,客户可以在没有任何外部工具帮助的情况下从您的网站向您发送消息,对话将会在这里出现在Chatwoot上。
酷,对吧?我们肯定试着是 :)" + "DESC": "您已成功地将您的Facebook页面与GoChat集成。下次客户消息您的页面时,对话将自动出现在收件箱中。
我们还为您提供了一个小部件脚本,您可以轻松地添加到您的网站。在您的网站上登录后,客户可以在没有任何外部工具帮助的情况下从您的网站向您发送消息,对话将会在这里出现在GoChat上。
酷,对吧?我们肯定试着是 :)" }, "EMAIL_PROVIDER": { "TITLE": "选择您的电子邮件提供商", @@ -1163,7 +1163,7 @@ "USER_MESSAGE": "嗨", "AGENT_MESSAGE": "您好" }, - "BRANDING_TEXT": "由 Chatwoot 支持", + "BRANDING_TEXT": "由 GoChat 支持", "SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};" }, "EMAIL_PROVIDERS": { diff --git a/frontend/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json b/frontend/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json index a70d08b3..2e9cb754 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json +++ b/frontend/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json @@ -17,7 +17,7 @@ "ERROR": "连接 Shopify 时出错。请重试,如果问题仍然存在,请联系支持。" }, "HEADER": "集成设置", - "DESCRIPTION": "Chatwoot 集成了多种工具和服务,以提高团队效率。浏览以下列表以配置您喜欢的应用程序。", + "DESCRIPTION": "GoChat 集成了多种工具和服务,以提高团队效率。浏览以下列表以配置您喜欢的应用程序。", "LEARN_MORE": "了解更多关于集成的信息", "LOADING": "正在获取集成", "SEARCH_PLACEHOLDER": "搜索集成...", @@ -44,7 +44,7 @@ "NO_RESULTS": "未找到匹配您搜索的 webhook", "FORM": { "CANCEL": "取消", - "DESC": "Webhook 事件为您提供了有关 Chatwoot 账户中发生的事情的实时信息。请输入一个有效的 URL 来配置回调。", + "DESC": "Webhook 事件为您提供了有关 GoChat 账户中发生的事情的实时信息。请输入一个有效的 URL 来配置回调。", "SUBSCRIPTIONS": { "LABEL": "事件", "EVENTS": { @@ -78,7 +78,7 @@ "HEADER_BTN_TXT": "添加新的 Webhook", "LOADING": "正在获取已添加的 Webhooks", "SEARCH_404": "没有任何项目符合此查询", - "SIDEBAR_TXT": "

Webhooks

Webhooks 是 HTTP 回调,可以为每个账户定义。它们由诸如在 Chatwoot 中创建消息等事件触发。您可以为此账户创建多个 Webhooks。

要创建一个 Webhook,点击 添加新的 Webhook 按钮。您也可以通过点击删除按钮删除任何现有的 Webhook。

", + "SIDEBAR_TXT": "

Webhooks

Webhooks 是 HTTP 回调,可以为每个账户定义。它们由诸如在 GoChat 中创建消息等事件触发。您可以为此账户创建多个 Webhooks。

要创建一个 Webhook,点击 添加新的 Webhook 按钮。您也可以通过点击删除按钮删除任何现有的 Webhook。

", "LIST": { "404": "此账户没有配置 Webhooks。", "TITLE": "管理 Webhooks", @@ -126,14 +126,14 @@ }, "HELP_TEXT": { "TITLE": "使用 Slack 集成?", - "BODY": "通过此集成,所有传入的对话将同步到您的 Slack 工作区中的 ***{selectedChannelName}*** 频道。您可以直接在频道中管理所有客户对话,再也不会错过任何消息。\n\n以下是该集成的主要功能:\n\n**从 Slack 回复对话:** 要在 ***{selectedChannelName}*** Slack 频道中回复对话,只需输入您的消息并将其作为线程发送。这将通过 Chatwoot 创建对客户的回复。就是这么简单!\n\n**创建私密笔记:** 如果您想创建私密笔记而不是回复,请在消息开头加上 ***`note:`***。这将确保您的消息保持私密,不会对客户可见。\n\n**关联客服资料:** 如果在 Slack 上回复的人拥有与 Chatwoot 中相同电子邮件的客服资料,回复将自动与该客服资料关联。这意味着您可以轻松跟踪谁在何时说了什么。另一方面,如果回复者没有关联的客服资料,回复将显示为机器人资料。", + "BODY": "通过此集成,所有传入的对话将同步到您的 Slack 工作区中的 ***{selectedChannelName}*** 频道。您可以直接在频道中管理所有客户对话,再也不会错过任何消息。\n\n以下是该集成的主要功能:\n\n**从 Slack 回复对话:** 要在 ***{selectedChannelName}*** Slack 频道中回复对话,只需输入您的消息并将其作为线程发送。这将通过 GoChat 创建对客户的回复。就是这么简单!\n\n**创建私密笔记:** 如果您想创建私密笔记而不是回复,请在消息开头加上 ***`note:`***。这将确保您的消息保持私密,不会对客户可见。\n\n**关联客服资料:** 如果在 Slack 上回复的人拥有与 GoChat 中相同电子邮件的客服资料,回复将自动与该客服资料关联。这意味着您可以轻松跟踪谁在何时说了什么。另一方面,如果回复者没有关联的客服资料,回复将显示为机器人资料。", "SELECTED": "已选择" }, "SELECT_CHANNEL": { "OPTION_LABEL": "选择一个频道", "UPDATE": "更新", "BUTTON_TEXT": "连接频道", - "DESCRIPTION": "您的 Slack 工作区现已与 Chatwoot 连接。但是,集成当前处于非活动状态。要激活集成并将频道连接到 Chatwoot,请点击下面的按钮。\n\n**注意:** 如果您尝试连接私有频道,请在进行此步骤之前将 Chatwoot 应用添加到 Slack 频道。", + "DESCRIPTION": "您的 Slack 工作区现已与 GoChat 连接。但是,集成当前处于非活动状态。要激活集成并将频道连接到 GoChat,请点击下面的按钮。\n\n**注意:** 如果您尝试连接私有频道,请在进行此步骤之前将 GoChat 应用添加到 Slack 频道。", "ATTENTION_REQUIRED": "需要关注", "EXPIRED": "您的 Slack 集成已过期。要继续在 Slack 上接收消息,请删除该集成并重新连接您的工作区。" }, @@ -235,7 +235,7 @@ "DASHBOARD_APPS": { "TITLE": "仪表板应用", "HEADER_BTN_TXT": "添加新的仪表板应用", - "SIDEBAR_TXT": "

仪表板应用

仪表板应用允许组织将应用程序嵌入 Chatwoot 仪表板中,以便为客服人员提供上下文信息。此功能允许您独立创建应用程序并将其嵌入仪表板中,以提供用户信息、他们的订单或以前的付款历史记录。

当您使用 Chatwoot 仪表板嵌入应用程序时,您的应用程序将作为窗口事件获取对话和联系人的上下文信息。在您的页面上实现消息事件的监听器以接收上下文信息。

要添加新的仪表板应用,请点击“添加新的仪表板应用”按钮。

", + "SIDEBAR_TXT": "

仪表板应用

仪表板应用允许组织将应用程序嵌入 GoChat 仪表板中,以便为客服人员提供上下文信息。此功能允许您独立创建应用程序并将其嵌入仪表板中,以提供用户信息、他们的订单或以前的付款历史记录。

当您使用 GoChat 仪表板嵌入应用程序时,您的应用程序将作为窗口事件获取对话和联系人的上下文信息。在您的页面上实现消息事件的监听器以接收上下文信息。

要添加新的仪表板应用,请点击“添加新的仪表板应用”按钮。

", "DESCRIPTION": "仪表板应用允许组织将应用程序嵌入仪表板中,以便为客服人员提供上下文信息。此功能允许您独立创建应用程序并将其嵌入仪表板中,以提供用户信息、他们的订单或以前的付款历史记录。", "LEARN_MORE": "了解更多关于仪表板应用的信息", "COUNT": "{n} 个仪表板应用 | {n} 个仪表板应用", diff --git a/frontend/app/javascript/dashboard/i18n/locale/zh_CN/login.json b/frontend/app/javascript/dashboard/i18n/locale/zh_CN/login.json index 4c0a9d68..b616bf7d 100644 --- a/frontend/app/javascript/dashboard/i18n/locale/zh_CN/login.json +++ b/frontend/app/javascript/dashboard/i18n/locale/zh_CN/login.json @@ -1,6 +1,6 @@ { "LOGIN": { - "TITLE": "登录到Chatwoot", + "TITLE": "登录到GoChat", "EMAIL": { "LABEL": "电子邮件", "PLACEHOLDER": "电子邮件", diff --git a/frontend/app/javascript/dashboard/modules/widget-preview/components/Widget.vue b/frontend/app/javascript/dashboard/modules/widget-preview/components/Widget.vue index 90985a98..8212f251 100644 --- a/frontend/app/javascript/dashboard/modules/widget-preview/components/Widget.vue +++ b/frontend/app/javascript/dashboard/modules/widget-preview/components/Widget.vue @@ -243,7 +243,7 @@ const handleToggleWidget = () => { :script="widgetScript" lang="html" class="!text-start" - :codepen-title="`${websiteName} - Chatwoot Widget Test`" + :codepen-title="`${websiteName} - GoChat Widget Test`" enable-code-pen /> diff --git a/frontend/app/javascript/dashboard/routes/dashboard/helpcenter/components/ArticleSearch/Header.vue b/frontend/app/javascript/dashboard/routes/dashboard/helpcenter/components/ArticleSearch/Header.vue index 516984b8..bb30a0e8 100644 --- a/frontend/app/javascript/dashboard/routes/dashboard/helpcenter/components/ArticleSearch/Header.vue +++ b/frontend/app/javascript/dashboard/routes/dashboard/helpcenter/components/ArticleSearch/Header.vue @@ -6,7 +6,7 @@ import Button from 'dashboard/components-next/button/Button.vue'; defineProps({ title: { type: String, - default: 'Chatwoot', + default: 'GoChat', }, }); diff --git a/frontend/app/javascript/dashboard/routes/dashboard/settings/inbox/components/SenderNameExamplePreview.vue b/frontend/app/javascript/dashboard/routes/dashboard/settings/inbox/components/SenderNameExamplePreview.vue index abd2552b..47a972c0 100644 --- a/frontend/app/javascript/dashboard/routes/dashboard/settings/inbox/components/SenderNameExamplePreview.vue +++ b/frontend/app/javascript/dashboard/routes/dashboard/settings/inbox/components/SenderNameExamplePreview.vue @@ -30,7 +30,7 @@ const senderNameKeyOptions = computed(() => [ content: t('INBOX_MGMT.EDIT.SENDER_NAME_SECTION.FRIENDLY.SUBTITLE'), preview: { senderName: 'Smith', - businessName: 'Chatwoot', + businessName: 'GoChat', email: '', }, }, @@ -40,7 +40,7 @@ const senderNameKeyOptions = computed(() => [ content: t('INBOX_MGMT.EDIT.SENDER_NAME_SECTION.PROFESSIONAL.SUBTITLE'), preview: { senderName: '', - businessName: 'Chatwoot', + businessName: 'GoChat', email: '', }, }, diff --git a/frontend/app/javascript/entrypoints/dashboardConfig.js b/frontend/app/javascript/entrypoints/dashboardConfig.js index c068ea5e..21fa8b95 100644 --- a/frontend/app/javascript/entrypoints/dashboardConfig.js +++ b/frontend/app/javascript/entrypoints/dashboardConfig.js @@ -29,9 +29,13 @@ window.chatwootConfig = Object.assign( window.globalConfig = Object.assign( { INSTALLATION_NAME: 'GoChat', + BRAND_NAME: 'GoChat', CREATE_NEW_ACCOUNT_FROM_DASHBOARD: false, DISPLAY_MANIFEST: false, - LOGO_THUMBNAIL: '/favicon-32x32.png', + LOGO: '/brand-assets/logo.svg', + LOGO_DARK: '/brand-assets/logo_dark.svg', + LOGO_THUMBNAIL: '/brand-assets/logo_thumbnail.svg', + WIDGET_BRAND_URL: '/', }, config.globalConfig || {} ); diff --git a/frontend/app/javascript/entrypoints/specs/runtimeConfig.spec.js b/frontend/app/javascript/entrypoints/specs/runtimeConfig.spec.js new file mode 100644 index 00000000..e7fcac3c --- /dev/null +++ b/frontend/app/javascript/entrypoints/specs/runtimeConfig.spec.js @@ -0,0 +1,38 @@ +import { readFileSync } from 'node:fs'; +import { runInNewContext } from 'node:vm'; + +const customBrand = { + INSTALLATION_NAME: 'Acme Support', + BRAND_NAME: 'Acme', + LOGO: '/acme/logo.svg', + LOGO_DARK: '/acme/logo-dark.svg', + LOGO_THUMBNAIL: '/acme/icon.svg', +}; + +const initializeEntrypoint = filename => { + const html = readFileSync(filename, 'utf8'); + const inlineScript = html.match(/ diff --git a/frontend/public/brand-assets/logo.svg b/frontend/public/brand-assets/logo.svg index 63adcde7..994f8c0d 100644 --- a/frontend/public/brand-assets/logo.svg +++ b/frontend/public/brand-assets/logo.svg @@ -1,5 +1,7 @@ - - - - + + GoChat + + + + GoChat diff --git a/frontend/public/brand-assets/logo_dark.svg b/frontend/public/brand-assets/logo_dark.svg index 679ae468..77585278 100644 --- a/frontend/public/brand-assets/logo_dark.svg +++ b/frontend/public/brand-assets/logo_dark.svg @@ -1,5 +1,7 @@ - - - - + + GoChat + + + + GoChat diff --git a/frontend/public/brand-assets/logo_thumbnail-192.png b/frontend/public/brand-assets/logo_thumbnail-192.png new file mode 100644 index 0000000000000000000000000000000000000000..696a0e9f5077736b0cb87be96d502011ddcc66f0 GIT binary patch literal 16692 zcmX|}Wl$Vl*RBVb;4Z=4-63eu;1FDcyEC}EyE_DT_krNSf;$9vcl{>MsrO9POxOJA zt!uBndhPq_2qgt6WJCf)004k2BQ2o4Q z|3L%DNQkNdv(IwiywwKphs9|NV8jsP^|`e$>Y@%+KNO3@!}pfaz3Bttjf)l6F$2Lcb1`xqF~q?Dam0(nzUyVT3<50iWxrLU8G zqM~1TD;6#1XersdJ=T*KYzea$@6IoOzaYnUSgq~If86w2*SmK;D8H`f`D86QkA5VQ zXm>9x*uUM+^$FaUAb-3_uY^OPct*Y+XfNmMaHqWx$c1iw!)8689l=F7x7Ee$J}=*1C|@n@<>`=9 zS2woLkVi6aHCLn8tpJp$cF?iPd6Z+W&U5@FZ&ZDLf$6w6@+U?>h>z%&Z~5Z2IvwgqL*K&3RIf_dt1GGP<3`ba0^GG`v6*o_A`GZ-mO6KjRu6DWfwEhI z{PI$^H@QxEFp}_g#pjEYI;Rrg?|uU1Q=BD@$|r(uzyW zN`pJ^X&`=FpNGA{Ow(9JdS~Cf@A7V@<`{2fdw;cG+pSl4`x+vsa3v;pdbfj)MPl=L zsA{Q(#GAnHLL&NvK+l^M0*>Wl%nFJq_ zG`CvlCSMLdz!#Ae8tQ#*RJ)G43K=|J^=8Irxp6i;p5BjpZ*W{T9`=e0E&AFol_vuR z-gMTJD;l+g=m;!o+`_3hW#7+CYW<(YGjo0Hx|=EmxVq|AebB4J;;fv`IA(v?dHh=1 z>&?t_*z7lr=uWNv=IO9^F&g*Uz*e%^VcQarRSOkt7@IT7qR+PDBCS|)Cctof;)`bCp)A-q}E^RjePOJG3>e(<$TK=_qWyUI4n zIxm;_kEiDMU!N|Hl&3cS67)eGkV5bEsrs^2z$}(2Q*iSCRM4%ABFvs`w=U+TFS7Tw zl@yDE`RxHb-50#Pt+%UQKI|GZ07faqNebLGV=Y$M%Jw$vV0w-l;P~8B+Dqy4d8-9E z+g+##oELuQ63dc=gVCtfUw+kkFVc2!aFDhLB0x6Y5zlPm?bIJjIU~qk-D7rSM6sMX zI%InM0Q$dlbW3faWX!B%QTqTh5Ks;8BJr47rij73WnvWM=jR@}0(<>uDzu0?Xs zf@A36ts-T-QAxy)MlnlwJUfHv{9QqCAhkh`QfA^Ir<1t z*6M1cnu=Ef7p-w?7iiW!Y0Y79+nqk`wD+;@!d8sI1%C!n1$Czu?kh5lWMrsTVSNix zU>5C`>b|!zRqI>5RQ~#~2i2von)}ATUS=ZWDb46W{i@XKn!%kfM5NlejfV{Ia$P$A zHHuoTkL$b|y(}hx$H+Zic?k;}#%ZCs?5+D#nW@c8J~}gg2%jl_HxzemU8utL9!U1r zc>wv{h~z1b!>6lY1uvP|9j>*$QAfZ7lqksNl9kU(3`$CS-5T387MRK;ns=LP3q9C$ zt=%fPCsW2}DsGitic6W;q#>F=;Y6&(^tHGp@O}Mz#^OHhf2dFeqf5)ofKIXw z(r?pa`(77i*a=p{d8?1dGKxd4Z(EJU8w|b*L~W*VtahJgIQ)5rD-RgbOihJdqP(MA z;u0HBDW~8!0>XF^98!keayVEjeg)HrP4%3`W}>$=feYlTSd6mLtzG6?D8;y^D};Gd_E6%KSd6LS2Y6k{uQO#BokUyzZ2FkNt{g(yathInv`6$ZUsk8iwP zFf|HCXYKnD=6&}0_oOlWX2W{W>HAQq6NLbBOu$qf$6uiW6kA;GJ~5=7=|=l*s5LFN zD(~kdvOwL(Cr8)gjoe<8{2LBF>&4bGu_Mikc+6jT7fNbj2uUZ@t#+z42;3N}s-?=j z==%R|coH*BriIR@0^q3QdCZfQ;u6F~akl(E^)SMH@TDz2YCn*fQd+JTA11-}j|bf! zUWOj%%N=(c$3QpXE1Alj)t7A_0bRp+MU89sDzkKj@Akm!ZMMkG=J)sAw6xG+MP3nC zNE?niA%^fvc7#u>KN48t@dZo>+dOcW&E#vm?nA(9Z2qiiy~waWfKzoJ(op9(zuIq^ z19i^>3M&<$sWw`CQ`m$5DQnJ%u+7vlv22P`r7(+}9G7-!9 zC3+cSo{yhJ>QIlk7Tx&h4M&|j!^5#@Yr<=k7 z$~?{MHH5gaK<^9s{35TJe>uI+@BVwuT>%rrup!**vg(geB5?Hb;`sQ1jHk`gtOp0| zn1e){X&YRQVLrMEAOGuPG0*P=#Um}l+r2!^+Ljt*Mm(D4`o=rE3UV>P( zntEc29{VQAUFHa*f+rpn`&+fP$?UH;PS)2U%!HotW375DgdtC!d7Ix&|CE>8cq*UQ zVqvdP@UD~#-rx*|Y`U)!x67y(p4@@rF;DnfLM9Fv@-%5ikmXIR#PIdl3~2tr(pBcU z9v%)3NW@|>0qMfUM|=m$1yKY!Sd802j1YArBnY`7?(GVmhJ#aL$e!G{r#b?vaX4hW z3IOo#@~y`F0=!lyM*h^h`(ENpD`pf&1EQ<>Aq`1VDof1vthhz#GTODTrLO=mRI$@^ zecygLH$Tc!?;GYOWzsmCov%SX^b0xKr@VPHd;>&d0)lu;Hdk!x^)~Vd|9D#b+`6*1 z4yB?bq5&jV{tR}#WvcC^pxjTJBNIT8E;9C>4-ll?SDc*7pjBYiIIa846R5{40Nt%RWe_$=0!r63koQUkNK3Z@ECG-*i$n^K`T;J*g&AoOD|MSnZO+@SE zBHYW|9ccgOS9A>&k`xi9JW-tol@d9h_`Rq4k&6+vluY(>Qhbx^Z&_9K{sM6v{t@X2 z>mPgt&o+z^#6SpQV$W{8-3;K2R=Eza?J6n11;!+bF7(KydB zM~g2FR1TPYT%Tn;38yHzAkmR7DE@xN7Rp-pXS&g@M`%Bl$L!A~>5ssDToUEPw zMi+Y?g$!OiZF}y|I>a)2&zCl*pt0Xj_CdPon9e_9$5Z$?+|U0iII^4#2<32~bdpI~ z)1Rk!4N2DFiy8WI2Z&OqmFYXKC2`wK{Y_up%)ngP{;5;Bh+u8P>Q^M`zhNOKVUDxm zz_?51P<}Y+-WRM}y`vVkpnCfAhp@YhWM(I|flkk8(OZ3`$ZAKg2-x}q+<0q6e*a!< zdWEc>fpa!w9*<~eliDB4&Uj(iCLRj+YFAvFo!{P=%rji`LYN{&L(uX60^`yi(QCcI z<3d@nOiP#X`5`}kUIfChbmuTk^RaPg-zrUTf4T<4s^3=3 z^pJx=@jR2o_h8`*8{7M25X?$~puF>*26tzkH|zhanB5VTB+AR_m|gP)z0&F!RmQRJ^8JSEw*j^j65yU zc!`KFKfQuQA_5(1HmhduTrpW*+|hi1mS1IgBoo(52EH+#?xRZw{|TF%x}%B{X!?NP zzo2p1)ky7VzToj{@{#()8ArnURE}~UQAucRn`qIifA zWOB}x^Rf<^eDy-f<3Bj?;yf!;61XRspD&pZLpAtlRmyYoYBF&1Y*JqpT8YyUT8U&L ze$r!reyjUh`VrCl(IoFTk=d)%F1QlfJ7^xR=QS)0lV}tN|JEZo&vK4^cRq2kzB1Cz zYv4{T&%T=1757PxAKm9w{sdQt4oz3^h64VD&@^$p4&)s^K_H-~Ju)VK3 zfXE7=(^p2;=XW2D>!#7ow&DY5Y9UfJm;*~zykpq$$jqyC$+-KY+NTvS;r3>p5CEJw1@j zH{E$5QttTG@f&!_l&NCEG@`x?lnC+bJp6I@U{ZXU`sATKY}wHl!?RD|=yT>GH0f|7 z*KyJFvZ`PihlG2PLmIr(K4@p#f)*M=c-_1S-FVI)Eu`Wb2%@<{awz(8Rm}`7NRg}F zA1(%Q>8`?es+&X$#moG>uVFszObWlmaXvMmFXwmd=A1BSo0GzSG)soPtFrhiaUgYO z)Ee}}b9R$#xfr&Lx^K1ORzF+2u1Bh#`jt>{Wmx#&x86&+{krx~B^qKJB=0Gmj?%r3 zgJt!brr&uE7ECmIV|Y;dX^q3jiw9Bb_kj`Z+6)Cj2Jgk<)&gJQLs-9ENw2?!s(M}O z>EWf{{QkYRl09#C^dRN>EIw|OWvK6VE%;FW34(b}c(73f{*ic&EH~w8`N^y9TP;cP zYEyYo%V{5)?rs!_3z(zbYJfSohe#Dz3WdvYbFJt`~mDJ7skM45`KY?=W`Nl>a-gkR7n7I2>v2`z}B*QVkh@9&xHhyu2zQ(khZrV23 zMF}T#H0bIF#?qzw^_8$~Xl<%f=s>U!?c1(ig2o$KBVnG2f*KSsp)Y}tqY=J785(#= zdrx-QEW8LxBzgAGi+qGCp_~c55Tf7QIw+6p_?tzMfu2Lyt=-Pg22|u;6I<^)T(iS# z*{r&Q=b|wnWO37Hr6W5Y1cKbb;|&Cd20*y%c{De#0?2Y4s)a+p+*~m2PZJ0eJD?yFM)*ZbSQi$E%r~ zDf`k!#B+XUVepYqD~}s`2q-vy)i~TOBe%_Sl-`$eRi=r_plrl7dTde-@oXw=G9F<> z+xLbJxzZ3|tH7+lCgpLn0yyBUm6?*fWwV?G=`PAZ=co7H*Z?JMumm}5&;>={TltmW z62F0Xfr75nE!~$sV?};82-~>n1{WK?(|gzeVQ3JYIP#FuBIJYEVcwy+<=t*jdk5+V zL*FYf>fD1v@%Tn|BEY+k_8W(ba}8Tr28G*5nW7%XP`zU<#3pZ_jMB`O*44OwsDGR+ zYYrgAXR}lirB)Iut`vFQNBa5=#N-tyGLrCWN8$)Fn&QvCNWl}v1a!)1glhdsbL0s; zgV=B&f5UU#Dr*#ZUQLTyzvxb}v)xW(KHF%$E@m4$C_ElOnz*A*U!o^dGT~XL5nxAP zLDMpNMb7EIsr1lJWxW>-34|igchf9$HVtsRtn!z?JOzdd$~8kgnybi@v11XJ)`y}6 z{#t?(wcN&yg=v2ww2gg@d7AI1B<#dGhInRxmliQRyrLl}`$V{O=Qp+ZlgUXY=t;8R zd@IK2YPKO(kxdX2*4{Eia3J`%VON0}199QNLXo7ZAg1f0=tk)v?@i}@VflpFT_U+;@9$T4= zv>2kGo1OV3pToxxDXI~4fsfQT81}Z?Iq#e&HYYZRA7RH&&5Vx`YDA{fo-qsKVnL7T z63-YI%W|^DiX3V&GuiC>623MhU6L{s&R|bDl47-HV)PlR8Z@D$O}0dpyF4Q-wDMbS zeI_cDC+31(oboks%W?EZ3>yQB@`DtA(=UTWmfOX+CIGk2IROolx`%i1K>28Oks{yf z01nol076{Oy|{igrTC^ldp~&$m?2TSirB_vG?18h_@tAZV6r)vHIS=ggW(094Tz69 zW_i*m&B5w^-pO}0+`x%YewT)Hh^bSatJ83oADRXq*>)1w(MfO16ve?Jc8^k@0_lC& z_as;in?~;t+M?Gh?g$KMsLQ{lzCAD@~}Nl-Vpjf0RD|yY>|3&DZ(uVo~_;@Eg521TsK%eGvc#5 za1;}C!M8UVH(5IuW|EXfA=D|2;q#qLEj@pt^HdG>; zoZ1#BYefUP&oJyq)i|(j^mUOFBK(1^zC*@Vx~e}qt6dZuqsoTtL!;AWVG0N{_je8`2%r8a<#sKQ+lOF88y|c? zlOIYK)TJzdNr$w;N8sE=e{D$;4D_}?KM!wbj-WkboiAwiWYj=}+|>9^(zPs5{3+<1 z==jDi_mR1E05!)34L_GDmx@Z`@pG1<*#LFipK z><&^YXl@=&gM>nXf3KSl1`raNkUSL1Ys5e!B%pj-wiYFrBv?Zv6R00|`y)eIUSQHj-If}eSqkJoc9NylKp{W~j{ zllf<@!&L>IV1H|Sj5h~8fVRS1Lb}g}tLzkde=w7%9q3tz*pjo*c(j4;92070JZSc> zMecd^HixwFuxYzZqtx?up3e46XgDUUO)PU0pT1t#VT56>@OW+E;u7x?E%Zn(ZeFX? zYJ@F-3y3_GXg+2xsSUZ61)W3>0h*TBG}+YJy4o5@4O4hZ!{+X%02h z+~iEE5cu~T+y8G$??x&Bs{oh;s1s*d)@*xwPpVuT_VDbHt6(nUmY2OWqir5Gqx@5J zutPv4ho<-zs*8a|Z1bN3wYb$so&6h5M zeo;%UaJylGxb$KF1Ss&j^%>Idt0Jj^ovqz@Qtz==LC{iQkJ!*Obn{LB$bexkhqV!! zpnRSs>af?x4Q};w_`L*Kkuk=n1PN}xXI|ins*5J%7F@DYG{7(zG8pQwO#Y}Y;`C=V z6-@$DrELxxypW0jKjLPHso2_N$$=4SOVbtd)>|ON#!ipP^|+t;sFjo4 z2*IBuei>QT6c!JfXP2Ph9nG+iJ!q_Jn`^%qr-bK*XAV~1>xF?o^Y&)brTMSRF>K0% z2-@;Q03F(uuVJb$#sHobk!X`Xb#vHauEHL?9N^V|Jb)E1&=5;B`|CChH$Ooj03ehpXeo#!E~6O|6h?^ROTz#3fW< zKo)@}DW2hEg}0Xa*;|U;**VV*Wl|c}fbw9YAt}a2nD6O~*;`rfN8JuE^pYxJi6;6- zqCTxTBrKw2j&Yfg-}xODVKl?ZD|qOk5;stxP<)0fJsK(q@@tQb-6e8FyXib3X+PQn z(RS|I59CX4@!qaA0^DdH#-AR4Tkj&k4%1Q_O5zV?uw$!iJ|Wbk4F6XWJDg7$RPY8W zDe`B*-Wzvk_ON!(&%sk9>ly2Q@BE7OXjTS91AHRxPR3U^c`72G$Jqb%hP_l`n`9W1 zbDtyab@}h|&g_#KD9YN+SLNNGMN!Y?`m?bCA+QtP2BL&lJ8&yER{Gx@o7BL<4d4sp ze|#=|El<=N@9}E{ZC#(fM(Xn?K(_AwdY(0G0fw?hubYdw{p+Mk1Vv=QDB_73R{5U$ zyWP-Kx^p<)8=DCHC-m=YrGtBD8higuczY;y_-Lg`lxp{9zFr10WzXJk1)mcsY$4d& z$|^!nk|_x|qE`q~0go^lF)Pldk;XO3C0ZYP2ocw>BW(ei-|9GlG4Qn2>t_kMNgM@| zk2iJDAVuk~ZU~-6ODYR-d9O9^wa_9ZN|1pk%xYAZVx>A}f=Xdj0AI-?$u}Ro-lxNU zXmsbue0?@DDe5LnI@k+meun@NVw}$_s4}LK8814^QHB9ZexNs`w-GvyPH&+@b**0* z{(u5Z>}kFFWtCSsf>gxau;Mu)=Z^gLV%|%mE^(fo!}w;Wk+zC((P>0)6g&!$4d9-3 z5(eC_*LD9(sf{CZmyzB2Qvu!;he0INyH+2*vQu|3{NIT3BJo6U zXh-CBY$}+>UzOqNAy$eMSr@ToylFP8p^mQiveUEL9Ur%mpV+5XFaW}(oT^RfGeQ2F zv?5%#^>UD-^u~2BL0pCGpTEIrqOxGA;~KKpFeE-I^kiA@_h+XQM%-8_L2rqI8y!dMI3IHALeBTw2(WG%tds6$p{#Mu=q=q3RmU%KWPg-FkY=hwMr|jqmFklTFW%-W$ zSY|Z#*|01;z_XcWUZSWl{9?EB^T_Z0|K$SO&6ol38HCNU&e1Kh0BEoUQe30)B&UL{)kI z5gMr*O&vAk&dci2fP+a9r+<$Iys)!m0Q8?w&Y~dm@iKeh zB)rQxiV>q^AnMdeH)))UY}|ah1WwIf)r9OO=n`ZBYGOzwO0+CayGS$x=`mZmq3F@( zk%>%Ys<-EQ|=iG(~h~5#?!8ZB?e1G#Orkjwkyw za%HHGsbyt_wCkdT|Dm4<74k71n<7`0bR9{&R$8}Phd8_NxuCDUKzAKXg$hTkWtGr; z!ClVIoW9<9YUg?lM>^JpHGO=0HzO5UDYMJ({(duw!|fOxoRNcwqHKjoT~&nV2z%WI zC<-5c8BcTfV!IxGs&N|FPFA5`p;NAw7qyUZ&il}YrKh0W+HU6HnApTJ0}wjxYOGY` zNn%;EsP2zCrv@^S#|sZ(x_r)OyBhW_**{9)P`E9`vPgE>mEI}~P6&aKvn)#4u>q@fWbzXpcuPpFq<7(3fbDTU=q z%{#394o-<$mh|iQ4284a?QS&?D3`P?46V#dP&w_T|KMjYoYH4`5fq$q##T_E_{$fn zSX#!|PeEJrPp+j>@4H}!X?Ja-5EqPp3EL+k{-q!1GFj8;%w@PwSAO-eRevS>OCO6* zX`TvZkBenekJISM4B91f+==ahsAF@ zO|_eGzcLu01D%hZj~FxP#`Dp-ee<|I@-#`WiLP|V+Wc0t1wPZkWkCO~0Qu~j5GxIf zL$oZDysRDEa?0}ha_@(ziZ}lvtuH$9t0*|0Vr%0(feIK5M1J`FHme!5pbRBEcj4i~ z_J;OvOQT;Qw}fFz9MHDIj21JOQi{ck#r;NW;^~|-T}+P5en_ck4^hGNvP~)-A|%>t z(9qG*^^<2Le&Qq264IF3`7%lnz>UN|H(T6k@gP?zUy&ED1<+Jl%U~of>DK}|8nhJ` zL=3})4*w`#i?x(QlW&&p7+)nHrE4s*h}A%6jc7nBTwoP`1Mt@KE6lE!@1Lhpp+kz9 z%bezB8H^`cXr2-a!8)BjOe5bos}|W*s&>UCYQd<)Gz8oj=#e~FoFU#^N zD4^Bi-c96t?kf#@y0O=3SF62Z4ZXdumpFkf7Ox3r(2oi~A6Ak2_GvsYpr_kd*6NbQ z==gzV-Yi3WeQYXHPubKzlQ__5^P%%2$N&=+Ja!fucwLcj&ycw~Ptb^IFOxpboZ`nJRFBJnGO9?U`(ufhK$J^~&%KQMx zHC&jeD9(FrK@rzD*k%wfw!)8fQKUjZekv(F-BK(Z2Z3xWSd@uRHG(sr%}7B|`?PjV(9dv!1tA5NMa5C{3zr+ojJw}l zp48@Ix4E~OX~B0U2wnv237bI2>4$Q!_M-6EDBma{)~~G0cm%8>2U(CNmV>7i@$0vk z{EMvA^{AJFHy#&=qMCII_6_o`TyvCeZe2WKgUoq5GbeW2_M7f%No=r&xFY2KTxfFy z%r?lR_!ZqrkgX}fXLM&A0Z)0VQ@fNzyL=((s4!3fgoRXwt8tjC+X3RJmdBT=4_Ca0j0nNnJ~U%%Jq&VBLJeJ7D~^B_2mz-bopRB?=mp z4qb@26nhsN+njQ>4tfgsw(|z5rjZFTboj%FQkYfF9b+JFuCf<>_n&fX1M~f{;!AtG6h3K z7GwdozIIxR>8pVcQvE2|K`&+Z$o)qguijA5D$-}wLL;m^Q&3i|-xozMO}yG&B+x6c z+({vE2Q*rzgL82wJs(f}+gl^Q{R@-|V7yojFIuWXES``tNaF*m_GP<4f(TNVTj%f; zv)5%b2Qvkhh(HnXTNS`%5FtQIJpu9uy!^Hd#_GIv@D)YeGQikN00Fch!6L~# za%7ZeMSwf}1zae-6%@Y!J^HhKVw{KYI881FR-kL!w^2X9r>~@FKba@C)VtonDY@(2 zw)^&ePuUWPr6&fMVgRjB`qy9femP2T&y#LrgM&gIg>GeK2q*W4>pEcf3#Eit4vzu< z=M(iYELnfP+XLn7WRBHFx1y-Q_vjom6-PBjv2tV9Vm;B;kiKZYynN!p%J3D8LnsIx z&eqmqQPNn|ZA>ywiv5n=8!Nh8ov8Ydjap3n&G&B*bO1Ad!f{y^f9s!oO$o-1GBkq9 zFuc*GkP>Z(Y_X0S+b9Fw2&B=N0ogj~=tLy*w4P-(9}H9ROgEaMvEI zj}f|ztb+^h!YDUwHD6?juzVzm{%Q!%d*>{t+t8d4NV|5~g`x^Flq3>$^%r#{xRFMUc!55Kq=BIyZ24jM z$qruxN-NS+0t?R-TJmktL{DCp2!`UwZgMD;fpcaTQoUD-pjV18r1Mhn@7O7+ijY5~ulEmR_cJ%2ht6v8KE_RuxUkV1G zu~niK*{SJM2-&JSBmW&=L~P z^IR>GYBRSNo3k~uz@mUjsKyH&|IUrpE-9%AD?|GPUhC;bDdaCnAu-KV!haRxb;%x} zn%FC*U;{YHj~z!d_yYNyslEm5kk}|#78UQ4#q2>5TdMjq6h=ZH$~Xvt;6WFdnqDIo zQnE@4=)J-wP4t7}UqctS;#>r$e;Aj-^#_oUxbKTOZoj^!={GhN8|D%`KC}7u-8fs- zukNhu?P|Bs8At*nqAu6l_;nQM=bkDfS5!@5NVzImy(*sYgjBw%2M;UOOQrt?T{TwP z2`iC0Bl~j}WhxnbbPC^?&LETy1m1Z{x#isUs!}AI;Pzw@NU+kCB3dEqm+8SKV(nU3 z%C%H}V+KEf-(bS4(yBfKRO4~;Nky4oU(NAr6!xsD5v~5~uMw~?sBuSSy z<%!w!#jez$d`rP6&0YzHs*adWQvk*Pc@j>^$lg)qZt0D z*O-8?1mzMp-xZPo?2ZvEo5;$*K57GMIY7g2MF9Mla$*qBW^OW%t)p&5LLG_wi5=W* zy)Te})bJ5zDmaL=l$M3~uPJh=0F%6209ruF04W5$ES?HeEWaqdHB!!I)q{>zoP7cs z;8seVvxjek>zM&!O6!GD-mM*$jt zmu8gS|F;_cFOkV2WJ*M^a*h=uIY;#T{P(Hq z*OQy5=>2$*f+(|Zf*7d*-XpiD7L0#R-kc2U$HvUD;z>xO+J#ZnkxvFvF3x{PjxBMo z!L_2y?Q7g$Hf<*KH zBQ1q$;qF)#E0RX1lX^+DF)w27&XBhG0!6Y_8Zifq`wvhUUD;nGaRI<=WRf1mGl(;*$KcSMLWe~%V zTVqXHNwV!rf6Mr!5(jL(mhI z95D15ow6z%aJV!uwjXcFxoviKf*Q-t&4;(}Da5(^{7(h*C(}Uk8oW$=-=kk|K?K>0 zdo}-H9}B1T?5ocETi2D~&zI3`7 z<~%|fJR?~Ka}CcE{CWmFR}Fq}^O07m`U3CUe&8~qHR;q)CAK>I$*Bm41e+N*Az&Of=OKz zz*s>*3FD6`a_RP}chh4B>=P2Q3Zf?mRZdm3FZCy(3a0jvWxA4jqE-C>%y4hw-PSFV|j}!tZF<<+>82i=OZv9+GSnqveZjj$k=kMP~rso$U;1RC; z8?t^L)$=ruFVo#?ki-uhhCm=EsD<%XTPg%m*k8(BIvj7Ey@2OW58G!}&OW&L)YngX zCmLrM0U#+Vs&TwM6s zc~9)p6_~Gkdr2qZn1cx{V#jQNTBUL)x0sSZjcFwqs~b%REZ+?00#ey*5^9sKUk_;j zbn#$RLKDq*xd_T?SbtiD)eqQA@D<7MrVM?Bv!k!weGT7hxRc~BcOticKa3W$a+G)G zw;IKQXOnPM(tlJ|eU7;=DQ8yAym%HTQ^Hj@MVsec2VM0lH;xq=h|H?A%v1D8om72> zT$oyQKaJ6k-PiynLSMcn7E!!CI7`g5gi3SIVBs0kXepP4dxjl8`bsy*-Im;j>lfkE}j))0vT zAHD0rl-+s!4mWm2hP&_rpq=?6n(&)4BAXSS%s3?i(?$sJ$O;MPA?GMkBg(E{IL8Q&QxKO*kw_Cxx#_U zZv(|+FL(Gpkyr*^=5zAx4YvPCGIow0k6;N?PJ3YA`Z@$UxQI60Tpoa6TF0_=^6R@M07EuJG|+UDH`Jy2ilz{CidN90V;$L*;^wolY|!^#Eu zo^4q}p}oHAVIpj*Eb=w`4gb(3q3^Qa zVDbC?LkO3jjNZY>%zXEEwZ?`H0YyJUQwr#8XfbfoBE$8Fh#VKwRl4HqzGgrOQA1gi ziJ_NTymeP@a*3B$%UMkCOQSu-YAgZjMPJaRamXisf->>DQ=(d1@4Fw0s&1JGvhc1g z#KmgP2iNU0OYghl(&OdYbLb0of}N}|)@W7nsh(!%Idx2GRS%weFvj|i zz62vU``jFP@EeGjsc9pHg}b!3mv{=;KsaLZe!2CPf0K%*VScF9x~890Vb{Z6>|Unq zB>Ru$?PorJQ%X81?M|Qm@y@;qV(M&TQz~v)+lCgWYGD7($RB$9jXA{`vi7h{A&i=P zCI@4~VZD(BZMT2Qpix=HDFo;>#t)wwB9Z6i`|DHZonb%Turv#grBN6oJu-IR{VDVk zb-fT6>&t<+=YwgVT+3guIBSbywgbNFtrxDuWnek4u3pgG>%NN1_TCYKp_ebyHgo84 z{r1uXCu}w_rLOGIf_z=rt1f;$8F0EY-5K02i|=4F;`Tp)oB2F%cPrs? zVj}7F+>X(Yo`&yglAkb^?mp}L8Q;#tZXM6l^?VJBg*D%FlQKCm()z>GeVrPtdJB%V zSL%eqEKLl{B_YIQ=h3ZYJ%|?Y@WgNBS-SBZ2d5Lj`{GQy+c*qU<)Zyeut6)* z->dMghY1=|UCavjV64AII8|_BP9R%4E$|JR+oj}`zFJKuLy_gb%7S5Trm|&ymgcwl z0w%kT6!x=z3t}{IxTcxuCb4` zmCt-DSixL4u96Lc1IJ~W6y!bw7>B#V3g}?C!E7fssdT!NwB-aYZ)o#no?L8a6tz~1 z1;;Rq8QRbGvj5-916uyQFM!0z2n`Zpg17`4)PSIn6Ky`+XmVg4^e5vZ+~nPtu!TnW z_NL>XsykRU=)acKn`t$Xn<6W_FCSXSx#*hXSbr7{6c-b>{<<_{@k541gMa`Njf_tC z=S>yr&N&Xf%G4l3BC+nBl*FHQmba!`2NOyNDB_IgWDvdOfLwAY@2uKPDQi61Ygh(UZ-6b*9%>Rtv z`}e$f&YKz34`=4=z1O;G8KbMMhKEg!4FZAiG}M)!fj|)8Ed+##4!m5vo4N&Fuw2z& zcmS`+3k(YPr2u{)1ZgNM7`)3qG(&r5&`@PfH^ocn{iu`(cMOjubY`#Ort0IHr+Y>eK6Cc zZq=1{l%o6lZPl|+8t_;~EyQr;0#)QLdeH)ZTi7aM&`E={Knoxmu&IJmUsW|-HB&WP zHD@(XwLrBtBj zN$BmXu&3vmV7GHzi%ZUjWU&y@deIwapPQdmGwa`(c!Lvi3JY_(hlf8)v*Od6(9u(~ zBdpmz%%7)aUy2;8=6CmO>3uillXm)?7WvcHh$b~UDp@+-ygt3ZB8~iwO_V07rV5#>g$=!4y{KWfi90^e7 zHhyQDG;OfQG;J_THC{DQHCZ)PuQxviBQ<{KuTd*gOPhP@k%!KP?@|ZEYQ^4CW=i8eCPv;rM0Ax)E;;6iPaYzoa#58oumynDIz(nD1`0 z6BYyo8f;Y%!Aew@Etb?3pS>J$yL|%h# z+vL$1KZ}E~q)|G%&iqzYXoELfg+Mm$!=P;BUk?g_d{2e>mz5g zn}FZ`REeCpexNo0K?&@0zZMGTg)WgY4Ue5_6R)&p>@>2FpHC!jRh8$;J(;{KgB(oR z2?%KX*-Idz-roPMWI!9`*<;fB#L7x=BX|3c7y=GgtjE6xPY=zYs#d*Vm|7b; z5zgtj(OdAE9PL^XdpmP^|2n;LG_j58;hGkkt`U(Dbh@U0%hW%z7nRfeiqh@s6VuiD zaJ8P%ab!X}9E2Vw4oXtNVEier?Fk}Y14;i%#?@ZN2Vr3Jcc47MkoSa~Iz4)Z!HB0V z<+YshQ%Usg@8P0qz1}8v?RKlp2pZShn7`1Nd5|@ZC5htgkpwDmAi!DR1uzZq)LMB0 z@SRwG+uHW#0qQ8`F2EhAUjl>v@UrvcwM@r=Fpw zSE(m~16Y_dN%F254E_A(#hV)^3PGmFn5PE`txirHP9Rg$Y6;QWgo-wqupF7C#o}BE z@!45UQc-+OTSb^l^wm*zTj1d!%GzrFxTN1c9`jkcuEUU_D}KfEo}b25`KAW7ACFZQ zygocbn5#cb)*@mK4?EVR7)rB7EP4l^R4j-@3+JM*h{~)WCW7;~T_5hDcS1!gE{@{} zGGe0SUBtvu^*E~{V@hb+g`69RzIYsyMK2!SA9lZmFCRpsf}hxc>5gF;ItWfq1W$DL zFO5o|M|b?46-Vy}%`oV)%U!MW{Iv-#v{k~OlN|gGY9Z)+j(W|kEuS>p(G}VGv9p+; z-Exk4mfCBQfV`$Kc+cbM572ob=o6OReD_b|hIS9TKl|GA-?w5|bZO^67^AvvZEDHr zBOs@|iqt4h32QuJ(9VG7^X^z9ygWU_pMX)2ekEknq2kgnVhf_U2p87ZQY&TDfDDquAy}J~M4+uJQds27D`tTNN_* z3jtN}cM;UI1|~Uert--$HEC0Cy1j{MVr@_y^ixD!b-BJ)sL+AE(4E9@{yxs-{eBZ| zv>z2TKc{Z-gKCIh<+>0dyd;U33pYw3z%=useXFO6+v8^YwG8_4X3g9 z_x&*u(0JJJAR==&R|-T+TSdN&AMC{r$_&PMo(*~hiS8ljhi*n>U0^29qRyhvVw#Z1 z(}l?4_x#&^o%NfvH~}|wf{+mB=iii^K{Xn=ouW4)84vU|hPBbdpAO9ee~VXfv8+o! z#-%UgTJQn6Vfr;u9E|-;KozU(-ELAAwtMPiDPxV}STK!MPo$QM?Um15omriO|G8Or z_Svk#?DJRJR*qI4_Nu{Bp!;7PafT;Dqo?EDJG;)fMldq2byDL3QmvgRgRiQlH}Y2z zCUyBg1K64`bkmOK(p9g?Y$E-Q=q2V$`~nKzR$zr6mJDB%%iYm=75XwHb1;N=28x$-U~Zb=0{Q18@^O#^4s2yn zkQ&4l)tXIh_2TtMB5`m0dK6LCS7UG+Wc4c$s(vygi5B$7^Ts8vcrsF}TBBO4lq9&~ z{4IQ(*ejJl_S{kUB(USQcAL1wGIE!c)z6S#U_NzL`W2QXirzxFjkYz7X^(36bIB-! z%HpYy6|1D`w2+R_2)eeO?i87yDPMCYCWofSf1=elfOeokZJn1@hr|~rBsvE6JDd3h zwl|E>^(LUzJl2TrDDbfR@kzWts^P%A$QdK)y_x?Qb9=0k>N}&DgzK*<{9P1=_g*EV z`Qw2$#7kl*b9`p>vwk;ao%Q82=qgocYtYomiH1E2X9B;<4k6>GC#K2puVYNm6m`U` zuj*~|Rm#4cj~V?L4d>a4`mdPV6IrZLCg_uOioq3={eS!LCXD@gcJL-GJ7YhQdip-3 z`zwj-H5Sh~869|I*O9=EAHY;U>U{NjvsG+_u6v7&@o28I#wKQ=st_6B=5|hfynfl9?N|@FKjStR=$d>#->zB zw|-O}_{M&XN>76S5C~hUp>J`C$3%qx#!B`fag_leZ=gm5GXg=OdQs)-!@gOi+RX5| zEVcNl1Yw8cyRbf&2$LVFT-SS4L6@+zcCX^!-I-Lk_9!OYFNkK}pfTNu9Ei~McDK36 zDc0H2oP8g!Z%BQ&=!S5cz<%h?jZIMsF=XYzv zw`~1NM>;?gHbXxaB?I4P5txV4%3dAotKOb-Ay_>oav9kJhX!&}wCMu(cEuJ9OONOyqFU4v%hYJ++qh|h zi-jM#;u!v4kC;W{XTPslPS!02<>7~V1`v+DxiLYI$E6oW&sD8uU&lCSW6@|hV*a|K zS`A4IRpeP{j+}XmtJbNZ-~6qcuPix?-I?>E*08bZ!T%FP`bTG#G_OIKHA**)ieWiW z{5WDw$7)ZWSF1QCt>?6S{dGxmX!v@QlC&QNRFO)#+Y3`Z3z{i-+*^^|QT7yRo(UyX z9h?jNTxNo4iFMyxc6u0EPjqeifRaxpi0EE~^pMJq6uMU*vv`)b9zy5wkk46Af|?{M zTXaD*mqpa3qL-@-OA=)HtOk2DvC}&W06c{N-r?LCr&`+=zt?3_>G&nks`1|21T$N{ z!ak0kgNS1a+a#l!DkTwYYC~!?&_BsAipI`!In?s%)2KRSex4P!UKr`_>zZcD!#Zwr zCJ@B<#Jl36>c(`$Z+Eq3-GN@atg@79ltxr2GjvI}sn@D+)DSvs+9Yo(Z(0d)KqYh) zVDJ3%1LOdP{j4(bnwx)|U22zPDxX*AlR*?4I0E#9=#qKNy~o*(`D}e9+l?AQm$pRf z2s?Yrth9qr#@{FtCoLY(fxL%)w~OsTuhjJhr6MbBp z?aQY_3MVQj>Kf;2w>nHBe3UxONLraFY7|=bPAbg(M!5egl^B-l-YWQSUs;iU?TgSp z`91o;#kjf{Z>*{r-LK`wnOwMjG~K$i1BocKWH-Y&_kK2fzH)LVPY!!!_0j#NlcHA? z_Tn|6PLgWM4?z*J93roWT6P_$BA<8o*Cd)r4_z{Bnu+j&_qe?_uE|mBUN#e#1sEik zT)%}z;L!ql65&4{3v5XrhXdvtdC@wrh(I+;ABM= zD8C{}mKYH;a z%TMAiUKfvzqu-z`PQmTk>fKzQO~eNmky!qz^mqUTW%AZ5l#Yc1lr5p{Sq!#5rv5C~ zqRiok&!2ZS(Do*o<#MCdNsHtQSAKR1-|BT~7Q$nd)NZFJ#Zr_X{w5!n?A%cfps>jj zUry5Buh~|P3Eco3m*Xro3WoqU(D)6eV%H1QT9wsY+xNMnub}J_+9@nX|I-3ciJ41c zN5CrNzB%0EdW1P><@hMR$?QAZteab;uKmGb8^fJL#4@#5qwoDx6X^uz(zxF^KK1Tj ze56Ms5;n)}(7}C3^&qv6`D$WRkuD@$O2_p>9z)Qr=I&}3yPaqrfZc=%860Xu>2RiU zZxVG9YDn6+@TnAP!GzS-LKqGbYsQT7*%EmZ`|hZb23%8idd}n+wiKjJ`ZRnJnD^Pa z78l<`GLi~e=2%AzI{W8n!Wq<~&figWleX(clnV2Wz=)27?9E?fGjaof$McrTmCs@M0#Q0d=N+1Z3_IuQlVSIRJ<1H9GQUT?PQ<(k zWAT9$?`+{l6O`_Sq)DNWCkFp<0*~Umy0$hA#NAsY!*ZD(e$%$Rr`gkKP=wc3%nA*D zWMYvwC&&$ZjiStMiRuQi#?J|5wsIZKg|drYl;rLHI6yJsF$=+m?B-W1b}_LSzV^HJ zQ45q``{Ia;Heh+g@r zGhBQ|#R34&Cu82S-)rm$0Q~mE`)KgPO=SOg8GJs~b_~+-=r4uU%SWQ+#ec=*P_Jjd zYt7j9=OTNE0uCOlPmiiudmNLL_~V`)O$O1TU&W>|aKy=GZdWY;^bo%Has^Pw6oi~7 zgu50rsgk9#Oz;D%I;Jn&bg)--S)l}6lUZUV6@&M{(%8T4T>VvH+_Akoh0BmZIp6Xq zW>Sl|mzB_i9ZZ#@B;SHw_9whLS<$R0qp(3BboOF3+pSkyTQq=j9J+m5Vo$5_yB|+e zAHQsskopWGjaMzYqu%k=#x}sMd>$=tgOb~IhTT#Hu%0aKE}`jm6bQB+$=(s82-N{V zjLrN2-)vqCNX=8K*|?vSkv3m7ABhI%5lha+n*`t1^Vtj@?g6uE&XUB*Gl^~ zWpdLVk*@KuLw4!0zOxE@yY^ZT>`RBz3e%G>`XZDZC1c~w{lpXWd4gLW*67dKtNKWf zJ$Ux%Lp8~ck_~=tI8THY-f@!`Moo>W9gS7XpJW#Etre%PXOcP9$8~ed;>^K9y3Iy% zv_s9R!Vao*A)U`&(*?5NJY(;i>yP5Xnul*(bwMlIvMu<$9%`-el@a0$p~rP$QI9g5 zJ}7Ex&0+Ie{Wu_bD`;ZaY%3Sv(tAoLGG_HJ68ID!4)vJz;L=lWQZ>rpkXpsDnYV#Gcs6GYdfNX~lQD ztYl1~AiXLJZ>wdj513z-#=QSfWEfy3kUiCiU+m^NDu#5fx5JQ zqA(cx0j+uszcVW+pHi6_>VM71BN`3BAz!p*@{02=h`kLtk5A$%2IltZ5U^jScR872!P0Kh<&Q>gf}c322hB z9F1GdRXX%lz05w85MMTz?&meGWgGn=XU}Ihq-+{7+JzdgjAc`%0pfw!Ww7egXgb-? zW*qofnKG#sQS6ZG5)~-iB}HAV1V)c=?cP3&0^3>4@_DR98`a4>BRUcCOjFt=LH0b) z7iuS`n7FTNJxJrCCJ1OE6b?&?;$W{*l2sBSPI?U3GZ6*F>`(Wkgt^ZS)|vz70;0S)35$FIUGr= zlf!YZi#Lm!Gj<-wO-M9(00r?+^>5Ll*#3g&PG9G06il?QKx!Bp^hNpY*zP~`1=O?; zZtt(yACVWx#z}zBVm`mV#rNb}te5Glu(@bfG^?XjUZhEfb=~C->P~L-S7C3fRw2$w_;^WyNe6I~dgQ@$nO(G``93&6nZf z+)ia*?_&0`iuBY#Tw#P{p^N;i(;_+THzDHS@+rI(-<6WSS**`n7LyY+@m7->Li z!LIUH^Mbon#F}dOwHjfS1K7b*gd*oDJ#Sap>aQf`xLz(DX1BF+p7}>m=dm0Wahi=t z6gl7#pNVz9Gyl%n?904m!S<08CX(5~Up=g;442#YL)2sZWEb~WoR7gD=u-XhZL#6` zndDNzy5V%(Tkp@KfT9WrLg;|F>hM`6P3__1=G!?9#)c})>H$YxnGgZ7R9u!3bATS4 zHdbEOo3REjkj}pOX}jOYziu%4-J5qkk{wUE~;#2+rl+P`YgkMp~@iW6@-|Of1rZ94q{VQ5bzd+&ET^fL_{l zR^KUz!uXiFXbJVjHdXM>tTDBv)<~WgD&;FuKqfcqIh{<8CUG?YI+cs_3_}pJ=tFrh z`IC?3G$UC$PBLz&>%`GV4C_d#`nubBUTG)7RSB;o@7ZfoJ1PUTgA5nYBYa88ZL!?5 zgD<=^GzQlT8`&#D%2lU)&*DFyMa?*FnipyL8v+otjjJ#IqLQBAvRz`o?}Vp_S@viq zu;S?UfqY#8PA_PA67-N<$j(0;>r}eX7cMnO8DKSW*kI>Y6FFf2Q4;=flg|fqewV+w zy1M$#u=SEogVty+ClVTb-}ff$9ZYU+8>3B>Ok2%yMbZBcLon&mCWxDL0N;L7Akbuoo8qfS_lpS&PJE;S%=lPo!-=7dfE5W8ei<>RM zmXaVQ&|4}dc*6X#oJ&}>a_Q_c1-Z{&q}y*T(z_*=qFiO^U;XRv%pa{PnZmg5tau`P z&c|kV{vc?9OHf*;;uOv4u{lP4W+HFU2W@9jr|U)x0;?enMjx8`oLN|0?=*v&RYUzk zQb#vYa6w-4cnibr^e29@o=9EXL>uc@5M6HVM%K>0@j12*-vkRj*Eva!v@1Y-2NX+n z+!HrIXqzfT9e^6sV&C)IN>(rJSJjz`x%|1DgR_UTa-1bK$Eza*=A`Xku@sZ=kq$6s z;eBt@J@(f|$YKDO8eCxt5NRTZAJu2gyIK!fO2dXRx$y8fKF=|ac-M^EU3to(#11Um;DZy}InH4pu*w)it;T{uS)4@U? zAvHD{d?krG~;~*9Ok4-C6nY8w+;$rFhfhClmAqITGu0+mcn||P`_3uO_*G-MHoH8;;W)CPFXLn>=PYd7x z$nx6H|D{F50Wa$uit(UEg^sRWmFj+TMuD8mW9dh&_l&ueq5oog08 z{)&?Pdc0$F^c?8T;^zd@^H`bkrXMyz#x*KZUKydTfDrl}29%B(frOg+txAJolQrkDz%qgyXLXz`FMVg}qr zGm*rm#P*=l+t(_Z-LliteYT0WYD zC`{|N975f*cgSu99S&d8!@x$S><~`VA*9vX zZt(qd@73Q|<64%6;h|5i+>y^!VnE4ywwcmY^hPG0RyEF&t1%>zGO@*Tfq(r_#F6sz z;s3ONhp~+vz+95fClP`u&~?mHj=7&&?_5%pJSym3%T{*hRJ~aen60b)sUJ` z#FKbBY%Nppb#C;1ixY`k7d^5>iBUGqxeIM|IsHOg4aZ6n>LLn%{Mq`{bQaKe0SkY5 zf0BEBdr}_iJFCA@xSS_##aCWA0IxV3q zzxDB|^|<_70+H(?<7y#yTGlkIT(QiZCn+g3M!`{fd>=FOCa*v?{DOp`C?ZKGGAdn* z!hHFW^&=L}EWY6`;5u7D8zwAz;R>di88K-cgbJ;>)pI<~)?7ea!^D;Fdp_gSZ%&H^ z6SIKD=u}|o8@|57_vD$a`y$vFz{W+nxnEwq5q?BVtAbxUxF)>(2zDR0$Ps-@sPk*E zuWRn-^k5Il=d?C1mRv)50K{hVWR;%KO0Ml>S|_}bFm~CtWe~}O^V95 zjGZ76AlW#>*TOHZy|nodu`IIQU#K+(xY0OYDy?7FVa}J=N#YU_|A4$KeI8uVhT;W* zU1sCpgP5T4=U;kH^6|Vc6v{2W3fBFp(k-t?vJK#{XXLqD9EWy#mv>Bgue8b_)iCjc zk`zREePN0Nd-hlJcRK>ShU20fD6yFHRE1vGQT+1>K%ZeWQgeg(~m z4`xTp-Oa_04UT$%&izS{g~#k(fSViNdF_kKMAiCK=mn@vEvW%Nn zuLX3#C#T4S0b-j0N=@2!>f4CpIqQVq;^y&O6arGWPpk zDKJ-{HQup0UHrL=OtG!fZv%BJ050Pko;J2qZ9q=*cq^K$2=OE05o!?N90H$Yj2ncF za+7wgVhA_rlFYtgIU;x)`yL9ISjDOL&2Qm6MTpNmtow3~c@;tF$CUQvD>>|A-iiEV zh%N5J+P{UbJ&M@Rp8wnA4LF<3rG&-g@`m0u+Ythv`a{K9r+jdf&95ZxrcJ*_|AvVCDSey1{ zx>e2E-o{e^+Hk>GzU)S7?e4lYxW-Pp8_50uh@W#H8`AWS5T59Y+ZgGNzeev$*oc{p z>H<;IW6uM=usD9OF(Ed}I9)KgLM4f={9)XOH|!g^&PQ~4r)nxeV>?yl255ia955ho zV#7NDKdt1r={IkD{j~8RgIiIx7j?+P?*+8v^~FEh2b9B|ZtKS6>?hp5;mA9^0K1Zi zW4|Pu1>BY?)I5H|C2*Yzp(L0PC)AqpRoGT7%4RlfrJaAcKQZ>svW$TY=5}=+*~(`K z3mYIf`g1GST>XEOtz+R8XEDBK zdE#szU5ULQm}(*Aoi8|Wm3=@as9&`~y`cdt1&lQDb6^90Og}M7wx{9(9ho<2X0Y!1 zXqdpn3=bn=SYX}}fv-i`DMkvz#f?}Hl&S1N?=;GTyvStLIaBK-wfHhK8+2oRhWp=L zhmahR4CPJ69)_}(P%bYf@K{62ON|K=A=Dk$DL!6YsM6pGgKiwt5eT_+paTLZH!sn3&Kclz!C&`6(%4B zLJ7|n{xUS7*9~Y~rtE3hRA=d5#-S0}h`!4STZ(%85ndp71XhpY__6iax`?m%)~cES z`5|a#T`rBDZraX(>rC_3iB%|!8Jkd&S$0{z*eYk}1QP#;)w<3CGJG&H&SEv>IfkTh z@Gye!d4a`78=1IV!m7#3{c3HQdM(#?2*M>S&_@-}G&ZeoE!24zo>Ok(ypdLkbEw33G(0*84 zv?03i_Aj--kJG2l8WL0v}T@Z`i+VJj%ink=Ebs@4rDp7T0_I&2IKL z+QCn`qwn#>v3~+@b{Fvm(4%k{{XfK_dCgbHBobGO1ttQ~F_xvc`h#6slZxU(Aohic z)3`H@xnyC`1}DYe>XSs(}gsb*Wa?p38bl z^q#waI2Ry3&Hc7^WM)&M(iGgpyN^aRb0LwiSoF-`7;K)qZotP;s21yh40n@)! zt=yvfNG<$ci1{GMtnkzMIxhlxf`Y}&aRc|-iyUQ-vsb1vSWJDD@`^stb&owEQ3=uS$U%PeyMTbj@W{*r}S_>5!xONmd~ENVxjhaBTLBE1XX1HrbW4mz{5Wr{;+!98R*jixLP*=o^_^SePFFlSYrzs!?vmy6`=Sd9`|%yV z+zHaI|64P232sx=VTnOjeH|3z%x9}GHTzvVCEH+R%1?oA<}DB;ITHlTN?X6@(NrOc z;^JV;4|EUMJGVRwhRz)tcnLo*f{v62UP zT4djQKIx&3xlo2C*+Zj;?rr4m=tyuI&kk5h5r!Qx<&lJ8ID z@3b?Ll+qwFN*5V9Hh&*sqRow&BZB24nstdvX`2AYWV!afGrt|ksrTPA1@a|(h?5$=;{yCP>)9)GReV@N~f28ASF27`7>qffzyirTI@q?>_LK&&u$>xU@>9?2PYieo> zB@xHe6+oVy*v|HpW3Gat0E#I7OM&JEJC`!cJ%WbgODGN?x?cl5V*#iI>?s2X&N7y{ zgj6FP6YblLpa0ilBv=E3IVWaUX=PIf(MnP~uVdT}+c2zbTo#4nrG1DpgICQLyfJ&l%e;vLU*tN zARmBzfgi$7GUhjDOBtiS@L)Y^A@FFiS*!hCiTF}3CL`m$>cA4~oulmDsG_+*2gOHZ zl?|J{St|IS7Qn(M-ShhWr;6+$%pI+OPnxtL{cAA<49USTayJO?_*JKi+&%T!?c}H( zc^UU59Z!ij}4;yw+gfnzgD^F7yv|dsm#|UND(ZTSkc%IMu?DtRI z@M6hnerNrX z(U%4XbQi!T<2N?K7M}U8F=V}%{#o6w@|Ts;xYcIxa*3X{>TW zV$%RPkW<@0-~~CPB{N{eTml<#o*IgS40cwQm-|M#Qhq&1Ha8a>jV|->V-iOS-zGUs zch>@eYT(#u_4}e@BY@<-_()Mus{H-e6#d#smJ%$gO`VGe+bnfBl^fdf!GFl<5fcG# zVWI;1=5Z}^$uoS`5LXk;ck4aQ3aoxdZ~SsAfN-7`j3i z@wY*`7tMIh%L|CSaVRiy(kqio zlh9&SPF>y{>6qY*!Isblij>qx|I>QsusJY2PsjFkU6V#YxQi(49iM!`PGd>Lld-2@ z-3)nV1cxR((!^^Kr@{H;MbMb;%Dny?)H>tuih#>eAwCm)s|SOrWtK+Af8xYMvlU3@ z69dZ6>69}w6dXvg+bfrnEvf)sTc z0TEA|w@>miNBH#+3yFLZ%FBl-S4gR9=VKyl#V!WbdrAMh;Cr%O8a?zh&K>Jgvza#6 z18?<*J0KB5WEg*H35+TnjT1 z!F)eU*EkxFgC(|}(Mbsv(m+OIUya!F$WJ00(j)CN?isnhHuVL3117>u&_1fAC1C}Y ztCdX{!V9BwdKzfo!^?l#3%N0_0>&@4N{%yyKv@}EgYVga^6KrAcQu?2qWh@{$~ zhxu-YOYD?su;1zR`ylBW_lV!<57zXvrrDsYk0fyNN(D z>ScgYmjQ9O&F6rhMT#bAubHl53(6tObM^99Q3HvJsv{&wnzXm;WI4+D%%^gT)MjpKuS`JL-fh0|4dIUk#QvrhL*^@f1?KaPtyb(Xk!o1 z1jkOuUBN3g&<7j=(RYhsb=7+5C;NMyc`MhB%>gYDuKOn46@T-~3%M3-8Pl+)jml%} zTQVr4{iI)*u67)NW+lE#)3se#X=*iLXIzwU{V7ZWYW&9UfsX4dIi$d-QUIOH%N6z; z0qaCrH$P=|d;b~_#E$f+fUZI3&ih1w50cHh(PIyJkaDxseGd%tIOc~De1@buNJ48R z@-9mpfhiK-m6rL^8hXG`b4zfV`mJGFFO7aO$7T4rsu#?7*1^MtAZyn{)3~r0YO}l3 zHcyM}zxk6Z!k72w`zSE}un;;R=Xshx83`n&A`+V2S2A38G~QW1OPodsXUYmDz?-J{ z{;^_HkOnK}BD*`&LF7<@2xwK)ru&FJTGPj*t64uEHRDJ&#l2d*8a-HXQe{#?8 ziw~M9oM*-*>P+y|PYUr@(`do+FbrFKZSc=0KuE-?fNQd)L#HBU^4^r&B#|KcgNohn zl-kIY9hdNg_A8JDDkq+S*!obG@cWWY^#{Qa)MYSWrUGY~p`Z1P($YN=jiPw61H&jX zsU_DTzT=V-Tn9X%10da`T_~apRgozWc^W6OteQYy5Ep;A+Xy}Sz@@_hZvv8iR~&OcN|2EsAQfv4eppXdz|ht` zXYjwa7ss@?{SNa8HNa&0%JOBfh^T3v;ot2SKuwx?Yy`3?Zfx)yH&HkA2|!wYZ*SY# z*`_97IMZ>{pX)cHp0R3P;NgSxG4N&kFeQ0mE3HmPIoXFx5J)!A6@Xa%6e)2;`{kS8 z|Ki?VPmfN%3&6bvZy+y-iVdKVDj^K%w_E>6SeDgb82Jm=uiC+H1_xIXpyAz}QDYeL zf5R-p+tAQEx>2Y}?rr!GKh%lmwRc%BQ5bA0-7l7uiE$soHR> zc?7nYkNUcyX^tPIUQQOWzUq^#{wf}?b zZ`s_}6qFH^4BTg>z4;pqUz8Xaks2>D(0cW@-V$s6WGT+)Fw_R5)=?VDfnKNA*i6m{ z_SZIL+&HJmB3GBlO}IfjQ?j8nk7z5OUm2JBT{`uV=Y)E$s0n)#zW?-dNYl@G`Yb38 z-TBOmjf|}1yJ5kD%Lbq>23|e+r^~vwiVO^allM@c+Gbuv$LI(q*i_2N3*^<`B`rXJ zVBMa+f44!BVB0M)IpDNTYETv*W>gx2kM*pv$;yOJ@EYwYOPIv~SiVs%C6-&6OgkQ$P0?Gy%D;_6*5QoXA<~&)WpT4JYkbfI0+@8FyHhyr?-F7)$mcbnjDS`W z;Ze6xoJ^5%DYsu1k9L(RW+Ns;mYWuz3MU)Kw>tU=fMpZjhy2blf}czZD7(pwN)?ixz&~=q#eUz1wlF&{W5Jm$ z2`Yv8;9&NaDyYbxy)WfgE(bqDP%5v^SYEXN;ZU;#P30oQWly37CXL5~LT~scx8#-` zx(`VFoMMgmQASS&PIn(dhEn{T4C=GwzJT%Zj_qD#c8K;ZmAeN>7gJnT;<3}kB}OSq zr$BJ=#^C7v#wY_ft_yw|Jd6h_i(}SB4}=o1P14 zXqdo1bZtFW{JT=9oPKPc7S(?@Rm8!J)S_gh7L?0ypYPl^h(EXUNNp z46<~KYSd({PI%!Vj0E4fX5JERU*y^75b3s}CZ0Rz7-z7G$ z%2ylYm1!;O>nl7W*uV^vbcP8u&Q$rUUqD~V-EY2*=Lv_)d4L49Ht-6cZUg~a|LjC5 z7Ct;+5qr+I-k=DJ=lIO#ju@BFeL{Jud^&{I?%w-?v7w{(zO4a|&pnA7&f9R8^dn_j zquu*sBFeNR2mD18$Y04Fwdh-?kankI^{51VBN+#*RXb4B17>_l187T?LAz&h0}vpx z+bmStlTPzs%59Es9|Y_pH5+XL!E59&7+ou_6)*%^Md1!|MYY^n--v@i{zbYzgOVV7 zXr=J{OL^d2oHWDz69EG1x6FTjKU^&^!%%<{Ob^z@>Tx2!+0e27%>-<3_-kWH(D}d$ z*G<1EJ7OoLT_p5;4UieP8Kp<5s`pWQF;uGFJK!We4sO88!{1$Jlx&vWCubBNoBc+o;BGz~5{k$(kcFKThQ4C8ubsNSi8@D%H@K*G%K?c?zM9 zn{PMOK!AqpNiI*lF~a#m;w3hH1d4p9^AvcDyYp1vNC|^M`pZGBO>Xf}9}jZcOQo0| zEu<6;*%QJ{Wc`igL>eD%@Pl&{txo7E!~a5`-Yao|cd+5ZvL@71HwO%%cZah$oQe<8 zwKIT^v!W?VoP=5%cea*s{hlcZ7N7lZdaep{8XL^x2*GV4Mg5eG7Pl@h;r^I^W5B}L z^zn^}NoB18%yv%C^2g&h{YuuMc;Su^~W*c)z=k(jd12cGZ=XDh>70be_YmyR35RP$<18 zumjw_`kjw-Okw!6Gf9Bc>U1GOe6ykv$q$y*Me;QXeEDWv`_V+n%~co$5!O@dXktBA zK_w=lP%r)J|7igcC7XGe{Au~6Xt5d@ZxYvOtH`)#)J(*NET2J9XPV4Rj}ooj`RWBD9){(8A?~Zip8jQjO~@&$-6a&61wr`JvU4Q%w z+&-ri{#{}D_qp~b!7V!Jx~|o$9ZAqGg=go0h1piwG0;|gpVJCXQ~|TLKpG8DS&)&P z9vySmO=y(z!yqub{}oWhg}T{U!|rQ!^W-Nfru;RAn2_Sny_R%U`U>ff1TmdS%_4#g z{2qe$91=1r95O5_96~}W9Ab}EIOL>MO2ye#N|kkeU1D{&a!B*%TS@aJPk|r8^0xhP ze*|CahtH#W1rt0AZzeAl%iS>SJa4z**^hP%6DhkiA8EG2tNCcG|BYvw(lJ4#f8K_` zlFw4d^6iK0kt^&g+^fV*T;-<$^_{{qz(4`D>pe?RbZh1#4@j?#r|V((<~PjKV?dwn zC3@%Zv@r)MH-7{|eI8GlVMBo6xNkEM;}Mh=5sKTnXDoVnPk8xE>G6oI&Q<=R%yds>~HF1%|xCSgJU*i$&W7T zrU8Q&(6B>;0DN5*Fh}GteBQWql z_s4s#@eh&&+#2X)tO7$;V$l!@Kbjr^T8@(oIcM<2l^%?Y`;ho~NqdDvCJ$3eaP?=1R_a9)b+3bDqdtdi;eZKk(D@zSp$0rY0u^)>k{_uZ}u`$gqvzWoi zoLYCqmN0EX1!l&w_D^*gllaIscXPsoZ|7R02NfUfYjg5Cg%qa2TY68C;`gSugFMik z|2#%(--79`vKXWu-4pZvfEc>Iov>F4OS#~{!rVsQ3hP~tBhODhu4jC_G-1s9PDhNA zwVS8h29_Ux?K&-+L~!24O?rvhtpC1m{ggvJpOrnbJ+F+Qli+Fm9O8cbT{?uAJ-tG{ zlt@gxjHv!=F_8~Uhj#If+aeG>?Q4xX_gyJk5{*oPjX-D)1|jLY{gCwiVTc^JaU-vi zu}i)g|%>q}2EcOT+i#zlxS3Sp2?Zc1J(6 zUtc3qtBVOoKr;@n6R5U1R36av{u~|~d%Vrd5>9djV`P+($tIT!bZXGS48OmrJaXN_ zNa5HoxcGwhf-EowJB-V8foBXx_-Z1)d`po=!M|8zTjJMkXBK;#2T#w=+uqm_1|`?l z+vCYfs;i<58Ds}tbYc+;M&}q94$>rf6>2kT7BW~ETAYmc$#%^8RzmPYwra2S@D#Bk z6MaVqbEL8VgF+MS7{|RI#49IQ^c~Of#NO19IT9}2rSZE-r}N(iJ~o&M;V_u-7B#rM zGAunD*wR{=7R&577c=QNuQ%!NFiPg%?Zs+qx`6&c8xuhJki8HK`dgtpl$L5l6eP^S@oqYIV_77+H)ra# zQ>q?>8o!^XH$FRCAqm`JgYiLawQWGQfm?>bSFCT~pOUpd6jhQfg#I&M=Lefi9;{>6 zAg5kbM4BRs$`lo-z1~8j(>W`DvDLZFpp*7 zMA{*sw;o8L%#R&;&>=E_?m^h3+~u0YG0lRYI5zv5O4-{H5js#f!`BLVEiAjP@mFa@c_5Cy6!mz$|MnLGPi zCU zNdu>Z7q*X!nFs;roI_wPbw$P9ya=JLh$=#SlRjYm!l&n`i8BK_=WRSn{1;nUEARu0 z`1Rb~X!uQ%t2FGSsObpv{1hNb^0_zpv05La!TrRV7(@1gXXa*SXJ&uX)*1u`&hXFA z>)kpYY_sMcCJ6qU)kmpe!ki%=dw5q>Fk0Ll0Vk~BLiaJ5<}F4#R#zf)O0)T~B$9|G z^k&?&9pWG5l`D{sc&f7VT#Dig``*%FCso0ajS-)?r;rSzDg&J=4CPNjy{{bkop zesW>9L)?3SxystG=IDV;D~b@>>^>;gQQy|=KRVGh#vA6;{PMcHZB{MsKT)KGkYV<; zO6#VYoVXg+9OBJ<-=8td;Pd+~Uu3V?*Fn&0Racn{PeHrkZUb7B#>_y{r4$NBJ@iiBHLoS3EoSC#^tlj3zA()2Lc;Pr zhwmlVv&~lNXLQ#%ao1(&cRB{hC(5g8A1{L`=wHfaa^HrDKbd(_*uy!Ezp}(N#uNKc zcxi;@lPnkZ37^@woA=2&-Y(+oC2s6O1`yGDobcNu%PZfN|M!fKq<-o8VB`Mzr%bP@ z?NBoHxrlgEk zh_I`eEe2Z>a?Cphdxx>zzs5jG{^n`{PU5eU(*hs-!(wz&rivo`^F1Whd;te*}&4QJdG~Uv@X5kAyG)nS-LHwsCWsf`SfKa@c?h|7jI#7wgHZ452cTXiYRP$d333wug*q#g^UjRrfplQjDW!QsoAy*FRl z8LX>o9W-=j8Ek|;ml~T@J(#-IP31(MchK5l8p@CctViIgHLJ<#Dm_Rd;DS~AwYJBp z4Eeb6LeI|BpJzurSq7KKahdyE2IJ;xX9D=|gmG3MGU|rmCW;fw`#hU={mp_8zM9H> ztn{oj047bxSMF=lfHfEF)S!o}tPKVIV|8Kr%Hj^p-OhzICbs$FpKOWAt=w&o1WDAM z9Y6X<6miD{e*`c|=DBc;G=&DfQ(tLp8TN^E1kz-86^6vrL(5fMwjySThA*;0BE`aJ z_AZQL4PhTej_);Wm5eFYyppF}MJMDO!G7dXzwL`fkERK(Tqd}!?7GtkEo#{mC%@~^ zALggWnA#c!*6|Tvf>U@#|LUA!sRGP62e*Swct68>-m2nN z+0SA9qd+*_lJDFPU)G~G*s)3sgDMb#*j4eJF<21UP7+8r4ifEXe9^OZIJ(X;fp%Q1F@zJDm7f3wS{KsiP= z@5E3p+7PBd1(t|*y8rv`B#eBd`tljdnx;_TnBOgh627G1^5wlc3gTRG_44f~v}!w= zeg6kX8iNDf=I15R@#q!Q=2zd9R15kJ$6ynjHmaj16=BNZyvnO>fk`EC9;xa_C`tu& z9ec+S=SZk%o#a(pEbSDrYxJWoQyXno#Fthf780wWk(fmIW6oNYLHv+cB1*>E=cMPO zub0NPhk;Yv(MO{&l1icQQN5El6_fOD-b0uScb`obS{>MsJy{p_uqFA-@gi+nth2ox zF+dKV2hqJkMPV2@cM6z{)ZVn`{tae!(p`X20|3qc7;E@&t67N&1oDYL8JkoHS!z^N z8g`pl){D=f*;tk>WW!pT`tVrsRB9Fgj}DRJdB0RFk%>8sq!0WiGz+0CO+WWpCgm_h*r34_)9Pq@%|5_srcuB+UVMhsXa#% zE=jEVuZ313+A$WwG{pBEaUvvH5ZOSl4yVr>+4$C~jHc&y!4~7B2&TmiSqUa4%$vB8 zP55Wo8@PcNHj)Yc&rhP6g5<+iW`?`k6_pMbJgc-FCQHOxCZ>WvhsLy#s-kVKS%0E~ z(sx)RGCNR1v|$*KRh-9)wjLha1AZmc&!=KObHFQFAe#Hw8#t}=mvg47G4chhAV*8= z32#^B=nUzmRJ)Lhy=5DkMl;b5qMwjlWsEKK7l`8i3>3R<{T;e>138-S9qHultC6vRT!fNRAd5V~)EPoHZ zq);QB&4Cq}wXn4=y9``5sx?Yh!u5&tkTl8F;{+Cx2J#%hH~(E;8ppf$KkI;*0bH*( zG0?rnjgs@%c%|Z6{v-9=yi6yN}TN>0f7uKLJ*1v3$8Q0sfy+9E&_XO9Da zV&wAA%C+-#2k^nrv6N1u&sm14f*~t_*5^qO#tA2d2NjJ`Pvu}1cz#^@U?lr?Y#_;B zuDn&~cMiLo ziW|U^0%oxm= z&DeU1PP5v$M3z4Y=X$_2zOTQNU(BVR4PPy!gv%zhx_@8#rx%VRe1TFT2Xo?=xN3|x z!t=!RnB2DZhKB@RgK@*)*YkDy7u2|9J?4NGURR9Ob4(TpLr5`1R;xEBzEqiO3=n2m z7%RfeY5w_gFw8SqQZV$NMD+$2s*aW?<*bIjcuYd5Tq=<}Jk0!_0+Y3rd_jCH_Ow`` zBDX32wxqXh)h+$pqlHby$x#7?2)6jl8*%Q7_UB2>UCV9D;+_xTGTJY*&x*0&xOjMP zJ(scW55yZ;Gkud%lNLgf_jNHP6~W^}QCfxkA0Y+ z=M9_Ko87WCsSfyDa>3Zh_GI32ECfF-m;&pFSQ2pV0)1172Kz0X`e0_F&oMJmsgY() zx5rJO`M56!@mg@Rb{hA8BB24Y$nat@=DII0G@mj4H7L)Nva}+rr48~da_(hT7$)C% z!Pi3g0rWn*eKD}TZeDk8HgH_2~Z&N~p3!TPs zrF67c<0`lsEu!V3dhV(;=}l3`#YjLe%BGmcIYdGKcik@b9WC@_TNZ8cMH-A|U_?`l zH&be<`;^(or|LM^>&0=$Mt3WcrP(*hnb24oL@6%%NI~m?vX|9FlD>1Wz)vz;U0P~9 zA`McJ1Mu>tS-w6p^Ihdy z-=KQ&sr1qqAra-4&%%(95ltmEOoT~n@$2I0_kY#n?Fq~sLv>50mC@M%Fg0Xh9t6dV zv>#&}!|ZCgp(B(&aI_J_f~)3L+rV{ovW`kPHDR@?yEYzc8$P9 zFckD}i25p}oD~-I41)wLo9c27BU#F1{bwQhpks-K%%5ane28Q@gmKLwypJEmN&}eF z@{<`zbWAqOYpdvi*(COo#k0GgWL>=@tYow4P!?~vRDj!WW=M61u^#k7rgn!Q;>;>C zdGF8LQdNkq5yvB8BqrRyHMym)$4kHszw7E9)Mq;~LEoXVhr7&EAN{XsD)rT@=Z+Y6 z1sP1plncJ$Z91xbW@utM-w4M_hro2fr>93jffg-tiyJe3=edCg2EKn4XxwwUHk8_# z;lpDS;GbvoTYFRp^BzxFx=5pGGTiPWq~w{E_{I5u(1Hs_iB4_2`A{UAbRqh#;D zXKFJ?ey|#OR-t&x>(T zQ4JffIK)C!y2@F*^&uA(H=vyZwe?7RLZL9a$zzt-Dm~A$U+u)wckUOjRQ1@{Afz0+ zh=H9z`?$h~Y-qK2mpGb;>28{b2w8R1y0+>!HY>=oR#` zSp*X|DO56K7bd7>z9;D>r$^afbFbVKNg)rcQx?fqBRlhSYNu5SehZh0ZUwu`cSfcj z(jUG${C;?~tPBTMM37J6{kg@Ja5pTbEE!RPKj^m~II_P-^Y7lYlXqP7031~~R5%69 za86J;flVV+-U|si_qRwb78$@*uYMiK(_v={dbNe^+42V=158v&0!1~8(`2&#IvAKj zX!#0}TdNz%94Hy*5W`6uYj&A8p2Yr#2NH&#guSl7Ktgqt{gq-^n%E>ZiV%b#E zDvH zjXQMCgXz-Zrs1h?PIlAQ{R)!MvvO1D#EY(An9qAD$fbE!k{B@!RYd4BJpp)2aN_9!Q+FEQ~$-w>+xGumEA>T-f zpY5YRE$v5K7xV}(s~oMCYABy-n-F2HRt#9AW=J>7YVjP~HYx^>Ur!k&5=qi^5*Bj< zZDZw!;ordXMW&gPsSB+jM5V1O=GW~8>83iNLnT4vLL3-Eg4(3;))=RYGF3t^c`>L1 zZ`MPSIHkwQMzw=&UDsc%?x$b`+1L7lM?Nrz&`mnehkw*)+!eEVyf~X--dq&%yz+TK z$Vg=Bs7Ck_2w~suY6T(1C#s2?&QmKijvwp}UTs|w%-^FR1t;3DRkxtnyoeKPwZNiy zy?R#FTw~l!^vf|oBAE+r%7k&_-$xdoXq(pcJB@$e=+5Rwc4F-TRs41Qp1Cy1!MH1I zy#%(Ofb+n6b<;aprNp9JR*xwsL5Qyerueph&IY|&RPr&SqCQZ}LrimKPuF7(D`ySc z#td@g6P=np7FjS{2#?Y6BtbwL4B5m4BOX)Ihl9fs7BiE|mukjZ$O>*ZFc4Z%LsFYu zPtO|5fPy?d`Q7yrk>f%=@H=IEzN?87wAMb*@~1W(gqX|0#6K9O+XwCI%;akl_1VD=6m~FOFg@un$-1w$y|Vj_`o7@5^=rUmqClQQxA#oIQ#vB_%Pqh- z_^;$5hdL?njh5-LkXk$$lRJ|SXP?OGY1+S_aRCJK8cIiuZ7uJ&7C?LXDEmaN4pYi8 zIM@t`pb>^}+|}0IGw{z2h?NAYz)}Y=X&M-@a1`w$DIn(h=x3k-W@2WH{CHY1vymju zS1kLK_|3_`<)`lJW97mxpw3p{{6j`gqio#g?4f#1_vWSU#QXEdE>xa8iRG*te_|39 zZq$M>;+sDHrSm@2Px#l|=v5rt)8U5t zku-7ok(lYyD0w4*`u+x=xVC+nOVS(&!&}wdORt+ob~O(Vd}i4_y9r6>!I=57u_PG~ zKUAb;yf`cUqYc0t>kF2~>A(_b7G#H8&guEu`JvVF@QUkTY;&OelW#}rgSfY9iP*(N zOIX2F!DoZaMuD-IXWwl+B^wLgGCi^$?g$=0trW7SysBa$-(J3y*AzW2vBa<2H+_YX+|ucOb8tLoGPx(vr>=o zz1BFf({+Bf1Zk-& z6LISg5bIV53c>S~3<=QMdlxfz(Zk>{GRnO}1`^t0Lhat2N4zz^^?f0u2_Rmq$X~&a z2I#C>53lr!W8JWoJx2?rf}cbkw%1hAfOJT*8SNy(q=&a9&dmplb8vaP;*r$OyT_DM zLWd6*nv7G;C06{NJ9TZezv#|Q%ZBH1^I8QYQUYa!!K@>|6nF$Xmqg=%9%`O0ken@= zDOLYH(;?MoQs`h;L{=u2=e=1-FbenW1;%W^GU|_ZmT3a%5y98)FafORmtTz==G(eg z|KR+G5&zGOmwb+Qh39wcQdGKgA#aNWOU*=@Gc zO$ucwYNhU@2*I(7Y~(Y%DOx7mn4Icm-RO~&QSHBcrWRYOAUYm$)xh+9=0?|>%l2tZ zpg~G}D{sOF`(H<}7rhkz*?km^xxF@&e@X2KD^b10&OXY62e;V@MNZj0MVsUm0m{*L zQ=%OQs`#wrQXD7#qT?RQF-?oNhSC`?WS~z#Xg-RzrPy zEW&s~jsLfHNeTPybh&^uAsd%+DT$mNDefZWLBa@|6c(g8-1haVINx&jCr35Pa(?I$ zPaT+Vx$DEH#eqbh(GsNUgZe6{PPVg2e2L`JUIF$))BN5*EQch#_Yc=yaU?g0a(tzbiVdlZ{L$V@N>p5stP z$Tu#S@B8^FHC4`czrVM`jy0_ZvlsI|Ws8{#4mlepWSu!O0sFh5`!ANhOa+8yc%dAJ z0zs>A4YXz5YR;jG_(iMt0O^ZU#9=p)5dP1r4R@k^FnriSqk~(64JjMNBArsscgudP zWT#QdnwZoiif2221-t!Tdn;4eO$H#2{`MI(|CA#CLNU9xIsInr?!)LTrz-ZAdxhVn z!`pcm>!DQAo~@-eW#g5vkve&%(upZAyb7Jhca*Pb9}85h$jkB#pT~=U<@a(Mo+@>b zuOVRGYIBm#mz0t(->*wv7AZQy)=3mUaiuWX?RmP!m#Jj1*s7E8JD#uoF0!BF7{*g% z82>^FS$_B4Pd6P-+|Dm9;~9m61*Fz1!oByo_-PL%^h)7*P@ahRp9#VQj&S~K>uFKkZ3`ejG57`tS)T9HaD{8rFOQ6j zaMr^{Srs9NHx;^mcMI=$2`-zVkj-Zi9 z%?8jGf?tw4dB+2`?pB>Fvm3o`r?%>cC6mI3Rr}haP1bH^*j#Zum*MRs6<|6^aS-t# z3zrx&1Q*0pTs!sy-8w{?y@o^@@>?T*(Yd|C@@1eKMz&OelrBuc?DSy#$ah3+D#K>N zLdm3%mS&4N9*aJtAAEOU0o%94`+&h_c_W3uGaK0VYr@+62IU1lvwah>dtvM&0qu>& z<__JTchpgNEnTqU+Set+0w3z41(3D6E~9%}cQt;jr%iUhnzc^$!uAJhd}V^C1`6_E z`}y*6QgQd?s|MN~hk`18n}}JiTl%7#4Q|i_9VI+>u&v*W*SD^BcrA3oLA~lk0P%5c zDUd&rX&|(-Q*n287L+FS%~OuaM)G};TbukNr)=EgAIh!DF~za5_#1(b(C*^Lx_)d5 z@l;~Awi;@bZ}bOv?GtQ2)He<{?5-TLk}#vNKBcot-#ic|RQTjlDj6K(qudS4` z6rhkyHaNu}5eGcPg49$Z1&ePr9(I+lXItcmx%?2=_x?RFASF!63Wg`+0+WTmCpL~r zSkIbHhtA@0ON(KLQo@63^GT%gb)W^5$MuN?sociZtEs-;e@0Ku&i`aTpO+=*R9p;yQ{p<##>5lYeNP+18RN zi*BR%ZprV+6)5+lI#|ypFm?Gn)rjXBy*_}PEQy6~&6a&3>CtV_gvpV{Nu$n2p7du) zORnF~W_CWRuPW-H?`TASd9sm|vB|QrmEFpD5K86oUG#PSQXKYmR0jJqeL(sT| z9a!|$3bv#T+l6!{X+QfrH9nlDq?~cyDZlU}U&imAk+XbTtAEZ#TczKgGeHa--X4C* zWhD*u-K;bStw9BT-NL@?`OO%Na-aSE?zB1Y;+R7dgqJ59tn;2L|cUCxHD{L`a zB_skCynI`6XW4M7oq;+yIT$j#v1s)p6K41k7`j4hwjqoS#jJeaDwn)t=$^7XsbDr9 zIhPK&$Me`ibUdRXjQE_LTB|{AJ9|np#_IQlrpwo&-yP+`6CG*?DAS$WSY>DTtlOYP z<(st^>6-~b5?dkaUT9kB8?pUl^?lfZ;M#Ie--l&rQi9ZF5s}UdCgGpbEMB2ijWG9j z`xgc%FUO_#k8p7b|GYM?U<2bGhdo$q9-v`zRZwK&yIoF?F<8cr0aGJsvhrWM~J=^5do1`Q%Hihz8|4|u>Qeh_eW7k!{p@SE~_-@O%mHT*X>qbeji zCG3LeZ`;(}JOn%YWEETo^2PIIUszfbCQ>xJl&))&6%KMw!!Tm4$I+}EJi8Ksza3ZN zO5;FKBM_AL3r98jqs`E<(w@5I#x2Y)M?U)YmGz|BT~_)7j>j$q4bkn`(VJ%~GL6@1 z&7P=c*^Q*mf?+b}y%iA-6#(xq3bD0%sj;Qx#8rphVs=jD=s99`FFNzE$PZHsL zNa@b0tK7)&S;tDLnlt@=knx!Y6lJWjQY%T@9_E3-iBg+&1Mgsq08H(EmnHOIZe|EN zL{Sth@q@48ScCmA=&z7nii$VgG51G=j2n-YWe(1Y<^1pYwfP-B+(JM@JXVXsp0l5G zwuwYR8h3TmJ2)M64M3TT4?zqoCI9tp)5TJ;6I>k zzHY;G9d>fS;Z0hsvgB?oY0_8QPz{jG2D;`D&iKeo^_qh_PLKG}Q&R65MJ@ zfY!U>Tk9Ljg7#y})-Q{Ev#qBubH>_XhhIWGZ(6b|Of1iQr`|nKKgxUAurSe1Mt5lA z@S|){!GbT@P~|TcPXPQPQ9CTotc|?8>cD%==AJXjo!mtLw+U+v*Lu)wFmasVeHTuw z0{ti-NS|UH*5e!NEdeNYY#oyM{!lsZG#Sr&Rtnz=U?~Q1}I^@#-Qa?Ep@*$@*};?Ovl> zwAQG{=CJVf^H3uIP=xl*SbhZZ>rKXMSxLD_IXGmmM`9y2?7b0E8@g>Wcnh3Q?2Cmf zV7NESzFtUoFR30@*1jjY=-fHvX;!Bo?`pJj;u>!U*Mio8TttAn(!`JF%&N}lFag)H zX8T>=uMM#_v6ovbKdmnsG+*M8@Hf8vyTstiakXtokrUyI7tF+Uni!7b$PF)G?^%GK z=y5t2aX4bSZZ_nC zFCVR7#e1?@r2qx5%@3Wf+&;_8)e1-ms=LF)K>!Yi6$mKC1|omVIf2a2#>z^GJ!j{H zV!%%c;bZ^=PDh8jQKfac8xFF(o(keYCyV13p_8<4mVTLCjDqQYI8EUJ(dM>8Ey;%Y zK>mrb!cLpWZds|wX0#IF0|uAY$pB}sHK@-pOh0h+L81TH&z8(cyuQR3zTc{T^Fcee z8hc_rIZJ<@+Djs{8(fMyLI3bW zNs1JTWXmU_7$aOGYNB;UOxnp!ciyIfz;bk(v&tf)R6Q>U$`0CuFJ3eUCoTimzcW`7<_fa!%(fD)o-$WMMXNaN<;Rg|Ju%rSh6PMrY1iVrCFpa+(7xrkK$##T{&OqRp{hEsy1=V;b)1oF81fx~+< zc-it7x?kDBEtuY3{0a5diVdJ=kW^DjjkuC6B|bdRHVd|F+`n5y8`oz}h1J~-H!UAN zB~F1&x00E%xkFIPI*`Z;G}+C=X8`a^4p6@bY(`E^m!hR&=GjNWBO{g(g_gII1pEdA zE#r>2W*bS~iw?NAGhr|vk>`KS?|=7R+&wS^FuzzUU4#a-ornZ4>8}UO8B+M*x&$v zO##*W^-drD9G9Mfq$&0U%*LLABiZi_c8cY?enSi8x^4C(L#UNvD;+!*qlD1Cen)_` z!v(pQNa~-b%Z52-*8 zB{S!ZZsA_d0rkNFViWdzW0Jy(`hx;g1+!(b0OnRcmp%L8G4iu4{2BmoAvVk0OsMdo z)z;3MJ)yMhV<0djl^jPYFUwpM9=%{Kak%GmpVmUz6iyUI=H?Y9Je*g~$}vk>SxiFI zqnmKmUsj~fnrVjZ9`*-!f1Y1c?oVUs|7Zd3#bsM#yw4I&HV(KS5dnv0oNLM6HC(Q$ z?rjg$mePycN+IY~fSun=uYu+TV;1LU5I|Zlja{`j#+?IZug&KB;&mQHoX7lA{KVun zTPzRsKp^(k!bk%Ib$rMQ1RA-6pqrK2ywJ^N{*@;*Rwv@3H=*~4F7`LV=$vd1G*KZ(SqW8(;TlqtmJld_>5jHjgc{qQWkQysu9sga9 zIR}u;eA1>8qS`A@h7~w907k!8Jq2ocBMwRRiJ*MXpM z3{}?^tR;(eSHgEXgAZT;v-tpo09y%=pZfklFI$Sj>cW~L!Adr2`aK^Vm~HP#?fc|l zd;Gyu2_I{&bO}x?cKc^_G+DlB#dq@58@dlSv(XE2%5gaqIL=|F)Un5H9>1@+nslin z1I*DV=*Y^A7}@HFJ(r<+iiOvg7q;W$c2 z;aH>k3sC8S&*j`XHk6i9vhy#xx)qUjm)M9Rgb7Hhns>+dEK&OkQB;dtX z-Y9RXNP`3eA&=x3mxid8!k&BF42A=~q1RF2VRXA5MCgU7?vNrY)&ucm`Qbd)$Xm7R zylZ(Ne-01G)VX_gon$Mg7wKm=|+=`FZv9ig8UKI`sBkKow1m!K{F1 z%`;j@>iKKhG}4yb3nd{oHYI>AUkk~i&jQVky_U)Z&Ohjru|aXQHKeSjGemWf33S7| zSQ9u`ZhEB4^@=p`5mM0!T3zj|5vo7D{lM*A>*YL2+&KDZ#PRWy$+6%nBj25o)CO zzQImWt@N}RcYf~TbE2-Q_5d+XAlMEJ_`Ng;|-I8&Z>wjL;C-aS5k=43>Fx1)JY&EKENF(ZU zwPS()TFgFLumdfFm#2@8p2J$oSi{4dZhv>@N3<7^ctxF%J;fSCuLO_tq*-mFS%7jQ zpjJLh=KY=YCmF3(@6TB7rstcCt|U*lGAIokCJ$;epI)=_YLVocI&zZ@v^-ZT=}!6t z?ll}tRcm8aq^A6nYs_!(ca$C4mqcDA37ezRV5T%-*Bw}j@{uYZ?Gbhlv9R6sv;0<; z0frkbIcjv4Xi0R}s_XTB(e-E4pI1TpFyli-Gg^xcBF-^%x_5!S%IqtTx6ZQ10`s38 zJ|e=Vn;?R)9sj&aA?balC!GKNxwa~tAdg;7CM4=oFbAzZ7t(kcAG)D>HQ2o&Pwcep zQ+ctDa+o@x0Rb#EE2xFGl_0NN%T|PsA$W7$zsD&lND&Y5TYse40 zH|&TJ76cB%zDuL;rU=)n08F1_b&0F7r58ujc1vfM0UN9@nhTqy3h3X zMoMlhCeg{-7ZbnR0#gxfRtCDJ0?~Z#&o;@~G`j*#g9f}%@$)4aXwNLuy%i8JNL%go zTH*t!d_I&04(=fg>0^qEh;wBV@~}tMc{Af6X7;xguYn<#|UmoP-VX)Ox7(cEbo~_ zHqNHK9}d%@reLR`ije1g#?m>D-m2i%w$(`ArC$2#3n&!7=ep~o`QdnT3W+i0Vo~kk zN}{J_vdPCC0D^Rk93kAR^Kp{^E=0KR)d3+tzXgCmn4^Nb&;XT)C=@Ad{&=~#yLpE> z7_Zp!sQ_aZC|y@74wOzEip&6GcVU{b1Q*0rMg#g~#`V`R`7PK42=gXLHAY`5m{Z4o z`Q{8`YUl|b&Wo7pLy683KazF$Eu*LQg<)2n=fA2g;)u4>hMIXDvf`SzAyq7UAlm8l~F5!r}h+aSrKM z>J^P%Q_x_mma-QbgkO%Ckd+KA9oNgO*9XiSgFr7$^LIuy#!WUiL;qEUqs~hg0Dcb( z)5hCVg%TXM=C{R3-o7sBzET^56`E2cBwxQTQ{mIZa-Xa~)BFYXOrbS~(V0!}IJ{a+~Ym&L$kZ|Fhuzu)n_ zSJ$8c?gM)X2*wqxY-t6%iYq}D`yL#bhOj-D%#YskDue+o)D1gG%X!+iWfula+KIIA^0PS8ppFVs#$#!}=-Y2^9JXtS4dXejy@-&Y>?K*MKB~)WiN% znU^9xxRvw3p9RPVDjwuxx-_=s1_-vEftq6AVBG97s(W^M3xYjJqOemZlumaUJ6H*A zAso%DM#Ot6(dLm$n=XGrVg+*F604+weMIkH5_E-&`kU9rJb!wAi20E}A`^)gmxS0M z7XXr-hp1M<@wN#BW}(BcezLiHvU+$G;L%>Z?~&6Mi&_Jq?yyH#K#P%}MB}f78i#dgJc`9I0sQgY;SHH+L>^bSUpN!q<{fQaV51NnWwh$=M)mw>B4nb#pSbPMx zO3;(nC%h_}zRDOBJY-|(7vob`uK4KQwa||OBdfx^)xT2;9&3-Udc1ygah4_c+yJK7yj!T7{|2FP-KNl?PknoJKWQumxwilq$vdPc^}r zQxP*i@5^z97+nrlExcf@c>bw3ixjuG67RP@kSS3I_|_d}`T|I}zphyO!f)o#Pvu`S ze!Y7QJSUAY!3WN#VneMlT>tkc&wCtQlMX{ex} zYTmZ{f*~BVV#fg)4bMX}U$PYRZ+P>!1DG7MVkBo91v7W-z>TFzL?9`c_8Oc{Mv;2icV?KKN6Zv@LcaVkxIikam#tz*;@9 zQZ6PCqnYWu&vW$3qV3%b4_}j{;N+L25i>?22XYYw&mdrati#Op`aTB9(Zs6>8kuYJ zr>?>$02G8B2u0T4U)?1#VwDQ>L*@J;1duzO=O92?dVBlS#NZ}6TN&FAZDWlxxCtmS zURn|gy^gnWCj}0F-C5mmE;TJq-ELHSd^nL0YCzmwW(Ao6%c6iJIs#WM+O9+t&=~Fu zxa3~*k>%Y>BHaI*KzZJ?#i2Rr=jm=u7ti=}l4^(H>x^sjSU2i&RT8eg8}F3QSy&B+ zM$iM({Zd?}tP+yZ;m`Dcek2LAQjX}jnHhwr<7Gta_`Tz|wb$nDJ3VCK9KgnBql8K= zpBVn8z`BY*G?}%J#;Tq*wWPD^j_eF}r-2u!d4j@R?W?Y|t^wp;0olv{EPxs#Jr+pi z-%;--mH&H5G;E1^^3^%b=sq0D>5S~mRf=kmK7;8aU@$?-cw(|4nZHj?<$tT9mGAdf zcTDnne{|;o;KbAiCzdbG?sCIAOYag+M$-LIM^k*Pqmn980Z^llmQCjOvJNhTyO@5M ztwj(Hw>B;}fbI>G`uac9_JliHp6qFkwDge0WcIxdtl0`v!=`Z|0t$X3?6k3aM3Z*d z8`R9~luT$WH6Ue6Lk#A?j}h5$Cy0%7sSI0-V_0Z_wB%0vVOVZDLDUF@IS$W~8Up2k zdjr{kB`@0&ZavmzJmP3oOzFw$HS<~2jv|fKU$d*_m6EIF##i6-1zHZAJ>C%Glfj+S zZ~^1|9pzLiz}Ki!0~hpQM}K{nlDSP9J?y|l(<%rc%IkkJ2{3UfPda@nYEacZZgZ1K zqi<5&gSlI%`vB&sZhWf_{O zqDcWNm0SC4*!&T%)ZMotbPbOw6CD)@OomTo-z)lVUyDYlznnLU{%FMq z4101~rSFDceoE_Q=8}B<5;L}b?#khY51&NW1W7Z_pL!1$uf^(_@4?n|Vy!$^5g+u2 z06-ZnQXpT)AukEzAuOEtN2i#JyiDx9=1A&ix}12tad2I5XRQ)uH#cg2tyyJ}(%{a7 z{qD)#jTLePw`<}y%qSn9>!Hn2-aR4mNt!gAx7lHer>p@eX8w3Xoo6CHrjPP`tN;^> zu7a?j=6BctXx{c6)-pDfIC64(2Rp>t411-*@FSNM0M&_szbxc7fj<)`5?M%jk=*Do zL;e_ufrs!g1Dg&{EJFNeB`~9`g~x3ySXdU)sG*8I*S{F~A;c4(6d3i7g!EbRIKH+P zD?an+KW^DF`HP5b-Nmiitw>9*)PDAiGlipD^HgaluK_(Ubv0oPXCv%<%7>Yx>#g5v zge&f^-d!Bw`)P!Zy2}c;7W6($ZfE73yXp^+ld64?V&x-*YSM5C{zC=1bAnk?t7wiB zN*2#ee5bq5%vRd{MH7zvEJ666(+ub!yWW^gFpC7Z7gGX~e$t?qZ>_lNfR{gUl##NJ z!u#@*H8_hJPg|wM#;?chUrkU*a^3DeI75tZyAw8xJ2#2gy&K%NhXr zMmC=^-m7x)yT8TeX9kotPEn~TA=@M_C8E{|4cw&JSn&~qDjM1#;BiKTU%mTT z#9?$VS#sOKZ35T!LU*$K!2&2Fkw<~tWEb>WTK+tRVwSYNC;ubeE`;j4>N(EhKKKVV`eaZORsfB%ui zGRtzhg7|ubynpU=Z4I#RA#e_5EYC}mo72;w6Xb{F)ir*qEOZs_m%<27eptJ`yZg?b3qbgqU4%9IlxMr6Pxtn zQCp{UXf`(~6<*v)$zNiHm5}t4ctO^yL=)fd`h}7wdoOPRN_cAaj z1>I@|8>PRERj)?=Y=n6SpGwO&)(q^NG^2i_UNR9LY&5T7Tdh#NYHRU`%)gYm3?}_L zv6)@vt)TzCiF_!+_;0@KzN^Hax+LyM?<6LtD=Iv5e$rGe07koml=WXM#<0R7UnSYF zWddSQC!fU_bN5CY1vp%Dun7Q=_m;mbw}s!+F=DI;?nai+aA-MaloL$QHfZ-LNp@K*|=} znl}i_8ltT1C7fE$=1vCA6Rpsz;v;9VLxN@G&EGpL!uf~NOn=!VQW~Y-)(xadq|D*{ zF7jOl;5(j2AV8G|X%9;LVx!>DVgK!i`k|sfa~m7u<0e7J{UMbYoXq&=Ib#QEeC1!v z0Xg0l)hR4c-Y;BSJ7gvM4f4H}G!^2(U$OR3u(2PH=o3aFgEoI_<>X>umAdP3LRB!rl;@bBnIP7lvYt9x+*ga#Q_ zDA#pKRz^zia!z`VmV56SJ}v#-sBfbLLBaS=4H>Y&&zc<74s><(vel;oH9qf|vmm)T9BZm(oIX|A(vh4y5|+|HrR$j=e`& z*~&xhtSvI<8+M)u~M^Ly$3yzlq@{r&U$ ztDI{*$K!fDmy_PvuCw)gGSV#-nPx*&TGWCLY$MSkaihu$<5ipfJ5`&?*V|iL^TO*M z`nBQ~*##cOdTVsY98eB7N<2FsxP>8CBjbfJ+zEUqyR_MH&e3>o{Apb)~}m#gE!^Vf_ZpLZ`Fsge;$A=SX2r8F5!y#megl zf=cf3HzU3Eo`84ZAx2_QefqBD z?I{v^OqkOY$z$+kZWOp2TScxngPTF(N_EzlX1qFEL)5kaG~%B6ex$eh_j4~vXVsUZJs4J<3JgEigJH}C9JkxV0FGAy_xd_e8@~FhQ+BZYpm6 z9DX|EH+>W*qru(UCfxD#QMI_gQe0tlv13^;IlWlwN7TUTBioCQhxq;&icQoUZdg6l zv~ znKR&=e?x;R^LMJb^oy&*H4t!2%y5K&q2Q(CJ9XWWUz#xhZ|ekLzLYDysJmEuCy3| z3CFdus(KcC{RdRbbo-OLAH)#VaMlt2Ny9xMm&vG*~SbvT=!`jJAPGJeN|nW+2ZD&I^s*YKDDFs!E_f*tf}#c1~M=kR|{ZbO6C3*47RN zBqlF@PsizT&mDGsJ}{mp_B6T-)%p*lRA*)*?E?kbcHG-F_X|@pbrV|im(m+;Qdpdv?ni-Qm06#W)nXaDB-@xF1$A<=lAn7kqsj($eGO|6 z+p&+%!ib;sfSrn-lC<=CMoO|L_MAq*h9*(^A_+YGkoU3}^tH)r2M4K4HYrMr1mJO|}dkpf-h5)tH!)u{@zG+uIr@+C)4@4cFe z^KMa4BLC4}U3H6oTgT=&{VUabJp@X=^A(<5u2nHfF;YT3gt#_jf9$^F?!~P+z9-Hi zbcw~G{kuZJfx$)MlB15;&><-@jO~M0I`YA4R;E5`tXpX7G-^dEKtu-iZF$ zQ`6$IS4fkHz#2sc$dR~q?tDVeG~E*eS3ZJoo^BxEH>^V92g>Bp5!UIQI*>e3{YnvV zP4pcJKj(NUVU z5zn~5DCizA(HGsuDL->2Ja)PEZUFW`1s}@OygbL_W2w1&w2J(a$gq>=RbI+GG!JBk zpDc<9-LH2t`nB)WBxZE>Zo=0o`hqW#AJGr$hf}@wOPBqY*S#cVZ<&^Sh}$|ejfGAN zdAdsuLsh*x`lvabMXwTJ&)KP(m>O`XFD(=Blu<2~aL8JC0q2D1eJ{b4?fwu%XiLk* zP08lK<*z6<_KT0T?D=Z|tS=Srn9q;Hsw0|1iM&9Lq_6}hF_WA89FFawd&t!G?JB_B zH?hn~f$ejx(9WF!?3xB6xv~!cZrMb8i~HkwaLo;SB59^jT=Plwg2IhJa{#FGe0D3? z*)@a(Zt7E|a5&gC_9s5Of}i!gV%l#%F%~`f5baIe$z->@8%WvcFVU-7EhD9X+<2R z5!E#<3xEPQ2H@TryplosQ_=nF1fj^I&@BrSmPCU`v9BW0duPYxDYEQIO_|9l#yadi z$tt;4|IiLs#)CScx$4vBGx>ziZ=6kudolP3i6%J2tSMIuAV^dB->F0hg!j`#O+`dI$20NWr}kM4l~V{^m}EEhZJBjRgP(5fK*^UhtCU zm1>*x;PCb(`F29bjO5g4^~I30jDoUjN6HI*Ggl{xDU_Ea3wmgTR&MlWr-h8Rd}hZ8 z)*YnU?hCyv^fHJtU^O^hAbqod&GtRl*4je91i+2MYyr*8@#|WatZgU+Jt+YM#rBQXt$6YX=WYe+^(tK{`HN^PpMheBB`jfUhj=-GHr@JTk`0&aS#6)t&mk@Df{&ngYU zXgu%%OT)>IzfL^VT>nLIbm|20r0{R>Z3MVo?+M;i4h-bAZ z4BXf03Oa?Jx7p}+td|5(bo6y2 z-ZSuo2sTg*ZU!0u)axw1cvI`c%XCrN!V47nb8+r~j#dqxl-N!3GGifycO$Zt`HEc8BsFnszMS;vTn+E{TyvFb zy$45Sk1rQ$uI<6VI651(b}(wYZRqm2Ii5oq^JI`#E#^q^CQKH4pH(eBj=|~M!?E45wyEI#E zf^X3xpc-ywH}{=?!1Px2sd5a-7#k2qVrD*Ow;3L_-Ow&Ng>8`kDBDQivCn&)00-z?=^4FSi0!dv0 zmJMLOJ+bLQ*ha*Lw>~%e?y>Sh>#*sZw3q+=Xv@7|!S~xl=}RcISd8i@;Ts7r(5M3o*YQhy5+uEYyBnkqSY&Se(adNWJhUX`i98dRb+bh9Lf5Tn{+ZQW>`xL zcviM1lLioPU*OG`dDvL=6d`z=ycgVru_uGFj_yX-Ydhbr_k7&5*>+XA=}AbTgS9an zJWD1OCI^Qm+Aqm=rx>qtm8496>w9(FtYWTZEu%ZL9rXENi16T#H~UaYSSb9@(?X&p zwaslu*Y~(^Yz`j+u}>Bu3K{&86VE6`4w{U}0FGiHy=XqRi_`a*R!PHYAc79?vt6Gm zcW3&^6X(A)2NeX6T)8DKwnFw5DLR<37g%?64*95^AIk)6oTm0F>97w7(|eE{p~;wx zg3f(B_eYR24W~FAOjfBfs+=W-CO6}*RMI4Z zdahff6=f15=#YIgguRg!JRsoNU|djcMU;wl|-s?q;M-zW;e+$nRVIYr)qY6MHP9iymJX*qg~# zL|Z;|@;EBKjI!%sDZ+;=&^tX`A+<~Vg1JCcb3Hf?$vfq`Z)6=hp}1$EdVeY2Ea|*O zzZ}3ezCBXWS!;zQWjh7zasTPtLR*hy(!d<}Mo29Y!_8} z=lW+Q-mTfY>h!T0T~p0AK|BRq*xwo=2In=Bryv*lBzf)2ZSltQ>Tv&&B@0_Rpq6k! z$87;zoV%mB9%;El=7VU0&0xGnBgojrdxIc#5hJK=`73lUb(2IF*(v8lG*dGc-l_A*Iw3hpokZ2MA=S}r@dz*n;6LW@S$*Bt3iZYtm=CCAnDjaw}GGLSAZqoU~I`2VIfJR zRMXjnQ^P~=$-t^9xc$oN`uwJ2U+kL_L&Jk|Jj+i}<25xknmX`3ZS8phNyIrhD66Jm zQgXH|8z#H1uz!T}2p)+1gC>whleupl!KPDg_Cgmsa_R5wUIw@>=pAV9(_%kRE_C{% zzjsc_@@Sf^8Z&!{>&S{UH!;3}$)|s|F!)?f?7SX@ zndR{*J44_n(Y!vSI!-UAG{B+}z>EISnRi2;k=+2(`r+vj;gdtV(s#-PhF{K>w>c3o z`3B*;;Xa|qi!IfRV=$i_NdteFWA{2VN%3bvauCmV;=VV&!_v_VAKN8_I%c zwc5`y_?)nZ$%mRTNPhDIlA}?*iPf@C_jzju4(0k3VbUC$9}AnRmhiD}t51ha)Uw`F zOQFn<%CVKBKp9<~QN>t1nEI7by57Uj>0|#X7^V&Mm*|{}`%rWo7FkXY*B?0jIB?SC zNAGgwl9!&B^kzzh%_z>X!lHqxANQYZKXLRBu zAeWqRVQmfgWYskATW>?k*Ak$TQs|%Lpu7F|ckL6Za zfBT4^825tLf#vF@!f6p|{GJ#b?m4(pCa~tqW3JfJH%+{hN31Z-L*Mj~XxTw-1}-8M zq#mxDcoNEWbr&vW?UHXp<6e(pp~vwb{ECU*8}-6<2LKlg-I3VE|GTL5QISFFcz#Yi zPI7XVQ8MbZh)t(WA=;@y%r4ZccyKRIijjwA-mZfJFqEP5NOMbfra9A^%g@+Ehki3k zsM9@|bw?h1siv!nZ#Eu>{4PV?DF|J{AD2aQdr@r3&mQaG>&Rg%Z~Puc36t_Vw<#(x z0Iw&$XP<@k)>2<`hNyyTH_lSG7OIc!YfmOh2f0_nBelGFIRl2gG!IQ!pB^V49$Ti9 z?^O;x@I2x%JUa7f`umGnHL}>fwcW`tGD>BUyYC?A zGDDp9vyjldNQb^Y&>a}{TYK2>4gVjj-!sM?^J^_hMthHv{@4e`n;IVNW6FmwTPoYB zgFVC^WiaCl=gLdY=WrG-1tb(|ZwoH~Fv}ea?p%d-6zkZk9zHjH7WA9uq58a*Lfa3% z<54KB{jD5SP(oy@LDuFT7dq(o#rIzU#_(i6e_!0Db^znN_+s5tYm-Hqv#p6s3SeP6 zg%MY%UYuiSM&8hQbHDQiMaOgM3|@Q}h2`~1N4l1EVTa{Cj8NlfJ5ZCS2R?Pl#hS## zZiDKiJa2+#Xxvhx?^_B^6};oy{+~`1)`drIFTe9W?e8rDya#vgdZr;IvW0LlM~`;w z*BRLPSNX1LcI)u!k^l{7$_273zql2C9;S?=3MQ|KBXDel+%D@6s%WdBKd8Ne=_PrQ z)nnA@0YP&mrOK}YZ~!kp4T@|2vz4a+I~*4?oT1xvo(v$@OXBZeYuvT6l*IQm7=;(y zWsp-bUy8=6?eZU@2!e~m2LQXc)!~cFIwZ`pWA14bJclNIY^bh~@k)Y5!Av3wukPD84DTJo>{LjJ=%+q_tp zC=mOVM7cdpnuB$ar|qq=`>#IrxUC1zhzPBKyH*bETZb&H5sPaotJHWToUf5EoDAbG zOkGsV@A0rt-g=Nkv|`*FplhyelnzK@C17h~ugg9A$k`hm*YJoQyZt$DGD&XW2pVl2 zFY;9Oeii@mYJwFv#)scfCxqaY#4~%`ibv0C@EzA^{wh*+Ol|ldjRe@~3&4L~pC0@w z6o1nCi#O_6`weSv>hHYWkJfr|gM?w*go@s2%EtZ1BLgy|(aOuXe#4ogZv%b%ROsr| z97T1KP`2O3vNCobnYi^l3ESmvX!H?Oycb7e!=SD!a^%$x z@f)|)y=7(SN84Xms+)TldTSz+Y3Kp-;W2eDaYq>P(H=iU+|g<}uQCNfAqfq+`5%~Z z8pH`8pgNVL>l3b%vln%8lDi%qYm2cu9c8WKF5@1JD7}#4zt7roU}Ry}8fx(--PnIC zZ#h>U+ay?SSQx#O^`G;G4N$A>^Tc|E3 zaApbIIrwBsN@G1g^_x25C zoH(~n6i)~NOGM3y!XGgNmpy^W>AqKoM{WGa{;nvO32WO66;A_d7Oft1Dg>Cc*+nzN z9G7tAg&Ha%7iQwTczw?5nPyN!dA9WPrL^kZEWns+`Sa z{reK{Oc)TE>R#isGb%e6Jth*|yEOoWc=c%^LJKee9ZmHcpBuYE)XGtNmPS3q5BEa| zmBis=O9eOU`hO*QS`hkAB-?FW*(Ezrf|)D-eKMMB+Lu*R!_zd+^w3ctQtd&CO1p^4K-#%bnLO@T`UC?F)36y(Yh)951<}t8Yx4nmn6a3Yd8xqUqp@0!~gn_RXx*Nd{n|PV&K(f@M1IGoM)E?hX>60k48l z%;Th1bsZJ+Fw6@VkJf?`PvzbS)aWw3&Pq4AOuG(p0Zsgwts~H9X~J6iVzpWKMYoTP zdE-R#ua_np4#SAn#^>Vn3e5LKpvIs@aZcQF8f`B@U^mVF%-ws1-d*bk1a3tlMa2j`+Vm4N^i!otsGaE*R3{)DiE^q+2iLvjSJ*>dvMbD4xFE zpz{lzSt!4s85i^EcXL#xVHZ*Dt0)qS03li_h6f!zFfh6`ISI!Q(suNh_Rz5t_{tX3 zzJoq9Q4QyjwZxcE>%uIPy|pXk{UYUoi{b|jwNr63bKF6Tlfmnq*F~f(9Zm_#oWz|E zn2xDu*79!6Z0ug@vCc+;)4VVf(oeSD*t`%W=q0gB{a1bolBYQ@Mp2A|!M)*IjGHYb zLs!W&d!-hwCoP;-=GK>8zIr?5G(@<%aIPG?;p)&t&qHBUyJUT!cx z5`xMHt_$w(8IRj+Q;*}OE*t%7{-j7u&~U0O(#lxq`EUwU6G_$H^pFTzCTz{CBK(sb z!s5EN)s~J6j}Fp%nYE~=Yk1G-S*1}smiLm!mUhyk=o5LjG``z<-^N3>;g7^$!~ju? z3^9ZC0RY4J5$Q{3ZVuxK6>}oF4Pb2KTj72g)Yt3ZA}}A}T&OUK`d{M5K#VJ`F$L7O)ymT*35 zRGOnOD}ceIpl~=TrQS?Fjdc~?H%t)T7ZI)2Tz)RllJ{RxZEZQ+8jcyHuPwMy@=iu8 zy~)*enE|%glUr-SiE1BZW}S~4=)~kA?vwT-izq$O`yY)pI-tp7s{S@HSL!xZCPp^x3QP;0A;oI=GQSKA^$uwU|>ud@M5|6 zkzRtYrLIMB9Gy0d;RbQ;SNzzlx7em<6_nHSW}GIoVOCE^SEZEM0kX)tkjj+n3whQp zY*G>d^#?u8F0hF1L=*k_?XEINHuK@jrp|wowti&g(b#1zNS&DEHB{}9OvzhgC%Ht|?k%1ohf@(5dWOpao z1965NqRI3dnJB?VLSP6qrN`hOmnajB2SOS6AE3>_xkA# z^6tUqSE8y>aLMUuo#z18$%?)iW1+fR@mMGxLGKIdw?l~MYD@GCC!jcTytNFqTJIu1I) z&M@V@3@JD`3|t8j!a+1kqO;(*M zPeYZy{o}oK;cMkrr1y12*=ZPf1u*KH1tWQ`EyC6($B^?G5|C6=g%V4M%JeP}{*&Wp zI8l83yf$*^^M)No)%yR*#Rd$6INkU<8HR~H4tbG>0FHyx&R;YWcNf-Y_pB@PkSd$vH=t4ORy*3 z)y5Y6_l6IHcJ{1pCKdPr%(jy61Cj^D8v-A<(zVaQJNBP->~r_cd^n~-Et}H>eb`1L z0M_JinenR{IB!r3NL1kVF`3HIOFT71r_s(}_!2R(^;+W46cN90A7CG1AgB#E{=)jWM}6uDC?iZwbEarolo!`c{`r45g`j4|rz3#Q)d+*A{QgL!?CYZfEs70~ zw@=ZN;+G_)w;hO!q@!=Ptf0Sm-Ua$x?OtnLo86gF0&3J#Qg*JilnJ}_#zGA7MPbuZ zLhYl z4QP}sl&g{)>e;wGG5W6s7)fMEaBI~Fjv6K;+&c}+H5QZ%Gx;kB8=Sdc`_`*MV<7^< z3tYR$DV4x3@^f7lEyc%`tt4_c8a;bqnTKotT$cUPnQn9uNtBJABP#LXH{E~l!12{u z`~@-?UKwEEJbK5o?NscEfyaHT4A*)8*~FX^ClC&tG(F_;His1wn!Re`=*TFxs{zJV zv$?W0`n6+M_k$N`O|;%5I$f9;V$MwY$=-J<&+4e%KZ3NOhW6tl6>-$ z^y{FJfDHL}8#HV;3BLI0y8xq4M5`!w)4hM)4q!-F16_Gfw5=AcfKu@EPYcQAyP5lS ze)W2xTRG_VT`11czx*Z?dcD0Vgg&~}l|%blI-1J5v zto?)e)12SZ^rPmBGu!3+>3+^&ZK-&S2wrwJ3;+H^ChXnlpJ`37E=v#A&F$GB-s$*@ zp6AzW_w}*I*_o7v+w_YGov5sY?9k_yr3Ho_joYqs{~l5@r)uD5Z7dB^056Q2v5DJ(Y?#OkrW8owbxzb_2L#=tck4gM zVb|4^{G;t@gvGLhP0qi^CHY)ax!s1gvJw?Qm*C$_KytD5&z8%^BV~9b&%=TcZo%J4#F4SRP1C^2(XO zy1N|G5c1p9Cw@D&n;b@Kmb}%`F=f4YAm22 zNzRvvqyXoPQm?cw+I_W7Gg05*IF zmnX=IM--vg#mITxrA3L+Y3pqnTIfwLy{#`gEI)SjA1**TqLR0Yw3sM^!2NV#_g&3S+(iL~NfSa+L3X336QuH*8L6(NStH zruSPZqpyu}>r}kA&HYXp4%Zw1$2+7EH3=GISVLlQWyV;>OEVJz+WW*4+^GJuVZjevvxeXPKJs-W_ z61z4ZUZ?t2hWrg2=o}${CqXj>NyCX^{JqNIrHJIs9?%Y2q77h*g1>X0eS2ur+Iwh& zr|a|Uvg?(5E$d7$FH0zUY1V96IZ~?N*2nE$m5*blChMg7^;OvX6(<Wo zH|6SPa5$}kq6FJpFibolp~+~BI85XNxp+^-_s1oAlJhU!*DJUX$F*?Gr<)!H=n?pW z;cNCsn%UG(nNW0GbOKN1*O-d7S9d?!?2LTGl|g3XCeH}F>gUJ(ytm%^TQ^xPu4n{2 zF%P(XU|Vff%H{U{$8GK0R`aU)Qk5XARfW(Bts2H%O+l3!U>3y5zy)UD`S3&)PpAMt z`DTI#P)j{t2ADT^^m60`E<>uOWv~5ZSl*8$Dua3`FIPr{%VNVv@crUksm?=b@_YbN zNSpzXC8oq5dqHoKV*1)pLB@qw{o_!rnFnY88J@@9m$YF~m7W@wlIRdi$p@BAHe1km z8)U6onY#CK+q0gn5yn}sk&GJ09k9f?PPtXoJ;xH z?24sACUfB>U$+Dc;N|f9bLh0_jh*oFFS98YP+rf-QcHyIum9gEtvVp#_AubJL48RG z;Jz_Hwl-JB-t@#eLa}DoKTuW9_Pao$4#0jRCNzsUP+)}O4N03DQC!F8ph$?Lec0^< zhaMPm6ozS}0`CDRMTj{S5@H1Tir#4zX4@th%VnO{dSMu0K*7)6ySQp{zvYBHE%Wwn z>G8hr*b6sfX_|lceSR+N`?qKIr8jN4T4n9UCKW5&OJ&`9C#uL-NP|92RcO1_#l9sC zVv~S|C`DT}9$HyaoV^6rFUcM2o!F1e6Z`SNjRy3?Jb%$L!q%heUWPr@0PFR{!gz}Q z{>;qv#FImu3M2(kU$*p%Qkv2uB<=h4-y<+uA2Ww#T$WsBCRErIpU0F(+i`5&8DZ$s z>h2rHj&V39>w^0AzICq&iEq#yKbDnQb{He|S}gP`h_koUm1rML0r=E#p( zd*8H3U;}lW>+gh;T1PA(!*WZ?trTCr-rxu@Yvuq$hUK{gJdOOJ_1}Xsx1nJ6Dje_% zA`TMFr55eY`&ryO&y3r*3mHFc3b7hN((@Z>B8IWCgg`>cq|~0><2YmU@8)CGru`exqUTl82<%hnU_msY4A+MX#it zU=IWCJUWAqx+^K`%hnMI_@z}J&j}S*eJSXGls@0q9!aTj_t^Zee z*`PUA^EG>$kD#Zw*uhG|G9&S$zU#U7g4%G3e-Tfu-D`h#aUrzsi6C( z?PXm42>fi=-q2fLh#G1sU(+E+z3a`Bbz*z^owZJAB{Q?%zicJmJispARCJ`9{6ndT z+gFaN|9H9z))mU2tvt_!SIwC+%3wF)mVq^n3V`lYtrU1`s_eSY@N59;Cg*f{ z#gyBJ3*DO68*Nug`>|99hs5#kd&%uxD)QK9 z`2>@2oL~}u-TTK;=DKh=p-&KoiEM}Qcyz#sP_rYXs4eIEZAH5Go}XcAI%ELY$bjZ| z0OwB)I@=Q85}x^55FKE^pfC%L5&X{*$n?hDsocJQhht_T3OgPu`2=qv19XDg?|Phw zqkZoN&qTBWFOKL=3E23oxAp-w=)PiOLdJIc%rWkk5kk{qF3-?jk0=u|Byk=He|&ru zd?y7BP&{*S?hN#wr03RF4bM=TU2(Cu7(--_K9mdGDL|(aI$DZT7;7(fE#G4 zT``6Vn(f;2rLR5uoo2NM;nnU`O*jeQJrnfcw*@dTK?#UqO6PPQ=rk+NvFwtOYvDOM zHsV{7w$@~om&UHSjhTv)!~e%<2#p_QLdZs|IYUZQUjt49!`6RKAt@e#+Ip#-Jj?dD znq$VwHzuC1*r_s{8?`iTwjN72#Jy#_!=93 zK=IpgG+EZ+?*D5@R%!PrKDV2=vx3J@p!1pNf~Y`QXPr-~;)f4P4%J7s!i0LsJ~aJy zdvQT+M%E7Gd(ePW($p*@{fwU78Ro5s{T-DO+$YI998y`%BCOr!Ir4Ypk;-=waXx?( z_=m*mWfr^*Ui;}TDd)qc;gqi}VZO6|KGgqB^k{_%@-cVXm#N8D$3Z5S1HpepdWVzS zmvp$wJD}9_Tt}4mKDJ__sQFxFN!*oqLxbfwliL8JN(G)d2vYY$ z&NGh`#6tV835OhsZZ-dcM|_9nAyKmLV0Jr!TdXD!;!?UFg52eF807q?whq5fYqQ|? zvt0EjQ(WAJ^^y$cDl9%;CMz0-)E`vPn{oml=(zNH*nGcA$szL3ftp=uNGoE}NPs`h zf}SR-GiGP(xeCQDr~Iw|@HE-#P<1l4>0a}Fkgs^3psJHtK8HKS4SbE;OQsY}*oO4# z?KUm--F;l0phN|qhEyoH1x4^0c1lR;)Y^^V-6c%<=JhACoLTjhtx)FAQ)V`QLy)F$19QXPgcN2 z-IomGe<`kur@=bf{ME-Smh&VxT*Go(Bd9T96B2@5&tq7?tZ|aQWphC<1Btzu}&zj;g)d=~A3t)$+ zNG=b34}{)#Ijr7$p%s1c_a0v2{)h3wQ2Czad-To;sqpH=D7A59jR<{Gwv9l?(p*%K zRqkZ_7W-D=UzT#;ES-Dj9Ofy2nhdMQ-MFlazxoBPMxo44!eq~iM3!XzLzemY__hS) zU1jIJt;JX&qZa<2DW3{f(=01Y;!_sv2RfRmS~kb&9m3Gcxs)fk9eOg6(lLVz^*bt+t|9yUHdb#p+oKE#X)S#r4st%Nq{%0vLVD<6D)0B%g`Q|iO+ zz|}&%^>U%A7TG=r4aqEO!RB0f_A-a(;nT-DAr(bhm5QrSu2$ zE%U;^lQLnTS6hj@BqVTC=U_HY=Sv=xCj74?uUD;l#vx*nom34fe!)NoA(e zsznUw&1|k01r5ER>wKgF^hgW3l#ti8?;B<>Alo1b%$cN0Lr@IZw;@_a`a~t?YY{yx&L@u?-2~lSSW5hpkWa9c{djHUNq-|9~%PzcP=QWO;1bgtyi#*s@E~{>=lf%78!WQw^Rh;XJo2c za;P;KoO?e8S4hWYkF1qas~&cTVNx(a8kR!`+?fHk^H<4N@0PznlmSQv5yCvtp+R{* z?)`7S{C3DDp<4#G{SKayLTzj~h4QtP%=V-mn@|n=gvD9d!?O(iQ+Yg7gRT>&cP=kt-tdEpOAxEM{5Nsz z0ALduj^zZk@9+-_Jyw5~J|X>&y8E7$d4T*lDh5>qz$U(B=}v!z1O8izw7r=ra=k0B z(yLm+%jd!}J)#DNUInkuclfrnTPBkcs|C-K5Bo}kbpv+b`G^!0=ErD44Y?*RdKFrV z0Z%$jMadV6e)Zq4^(iwj^pUN+0lXj4q}Wa9U$-R8Y{3%dB3UaV@xct8 z3#3eP!Y*!es*WBoN_$_ZWoaxVgMaBOCeiMT<;l)px!%(OPCFgF!u`zd2jk3zQZe>z z|Jdx~I0R6M(oV9FNFc`%Ls5^G9EZI75df(+0LOf$qsK^N_aA+*arNi@xsnzUHT(Vc zBhAZShjY!pzaW;oGAV z!|>s+VW0vw{wYty0LJYut&Fl~C^7F!`}V{_gzb}m<13*fTu;Q4x7gPzU1RC3!mc{K+gi=lavp*tZz%dMqnA;S)_E^)TOEU8s&N`wtqwY?q47pgQ|*=1;UrH;*(`Fn7c&OU&2egwcS2;} z)P8#I`}eNY3R6R$3yCm688X|EB-5hiRC*QvJSphsQhQ}{l>)p)tGX#t zofpLQ{50m$s(B(UmtHTliLuj$4q@KhEd0DKj&!U3c^_iMq27h= zWIs8K_%v-OY}8pWBduRsr)AG8>#b$vQ42QaQlAvR$9_Wi?%Z0W;uV`R1E5VCn&`%( z*5ANDqq5~F?k`NDUDx+C*V~^X1;%N#rCoP5Ez(c_#f_27##a|HcF$wOeLW32Z2VO(wulpX{^$?>-w6#tmEOH_i5+4r$$7O;h-J%ws9oJ~}MRN0JM* zx4e=I2gsD1wsKvm2X%jpLK+e04KA(BBr)ip`APc;vA^+$zv$}uqfa82?$uAx-3V}Z znDQYlJ-k*8!@+zWLv{STmOSqCFl@W!C1_|pA5V9nlE<#&C(-L?i^aNC!Y+7-K&UbR zl2fbYOSNLGXL~9kqBz3YIniq-mo#ESfiJaBO%&^@F@S;^kqf(tQMQO31>``6;xDDg z6v;627k<{lQG=3sD@%HUY{>*EjVW}GXB?&J&C3)vo`>+Cx8tG1VM~$>` z&boO*OG~5R_Y|Jc?n9A%O3DBm!-!v0m%njti7KPf{5{aTS??CcJI#It!w2%0AM!~L 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 IXc_kZ0ScIK`~Uy| literal 0 HcmV?d00001 diff --git a/frontend/public/brand-assets/logo_thumbnail.svg b/frontend/public/brand-assets/logo_thumbnail.svg index d8715e72..2091049d 100644 --- a/frontend/public/brand-assets/logo_thumbnail.svg +++ b/frontend/public/brand-assets/logo_thumbnail.svg @@ -1,25 +1,6 @@ - - - - - - - - - - + + GoChat + + + diff --git a/frontend/public/manifest.json b/frontend/public/manifest.json index 78fcc475..321824b5 100644 --- a/frontend/public/manifest.json +++ b/frontend/public/manifest.json @@ -1,42 +1,23 @@ { - "name": "Chatwoot", - "short_name": "Chatwoot", - "icons": [{ - "src": "\/android-icon-36x36.png", - "sizes": "36x36", - "type": "image\/png", - "density": "0.75" - }, - { - "src": "\/android-icon-48x48.png", - "sizes": "48x48", - "type": "image\/png", - "density": "1.0" - }, - { - "src": "\/android-icon-72x72.png", - "sizes": "72x72", - "type": "image\/png", - "density": "1.5" - }, - { - "src": "\/android-icon-96x96.png", - "sizes": "96x96", - "type": "image\/png", - "density": "2.0" - }, - { - "src": "\/android-icon-144x144.png", - "sizes": "144x144", - "type": "image\/png", - "density": "3.0" - }, - { - "src": "\/android-icon-192x192.png", - "sizes": "192x192", - "type": "image\/png", - "density": "4.0" - }], + "name": "GoChat", + "short_name": "GoChat", + "icons": [ + { + "src": "/brand-assets/logo_thumbnail-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/brand-assets/logo_thumbnail-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "/brand-assets/logo_thumbnail.svg", + "sizes": "any", + "type": "image/svg+xml" + } + ], "start_url": "/", "display": "standalone", "background_color": "#1f93ff", diff --git a/frontend/scripts/check-build.mjs b/frontend/scripts/check-build.mjs index 0b4155d6..f0a2c67e 100644 --- a/frontend/scripts/check-build.mjs +++ b/frontend/scripts/check-build.mjs @@ -10,9 +10,16 @@ const html = readFileSync( const assets = [...html.matchAll(/(?:href|src)="(\/assets\/[^"]+)"/g)].map( match => match[1] ); +const manifest = JSON.parse( + readFileSync(new URL('../dist/manifest.json', import.meta.url), 'utf8') +); assert.match(html, /
<\/div>/); -assert.match(html, /<\/script>/); +assert.match(html, //); +assert.match( + html, + /]*\bsrc="\/runtime-config\.js"[^>]*><\/script>/ +); assert.ok( html.indexOf('/runtime-config.js') < html.indexOf('type="module"'), 'runtime config must load before the app module' @@ -28,6 +35,20 @@ assert.ok( assert.ok(!/]*\bsrc=)[^>]*>/i.test(html), 'inline script found'); assets.forEach(asset => assert.ok(existsSync(dist + asset.slice(1)), asset)); +for (const size of [192, 512]) { + const dimensions = `${size}x${size}`; + const icon = manifest.icons.find(item => item.sizes === dimensions); + assert.equal(icon?.type, 'image/png', `missing ${dimensions} PNG icon`); + + const png = readFileSync(dist + icon.src.slice(1)); + assert.deepEqual( + [...png.subarray(0, 8)], + [137, 80, 78, 71, 13, 10, 26, 10] + ); + assert.equal(png.readUInt32BE(16), size, `${icon.src} width`); + assert.equal(png.readUInt32BE(20), size, `${icon.src} height`); +} + const dashboard = assets .filter(asset => asset.endsWith('.js')) .map(asset => readFileSync(dist + asset.slice(1), 'utf8')) diff --git a/frontend/super_admin.html b/frontend/super_admin.html index 8a9a272b..395e948f 100644 --- a/frontend/super_admin.html +++ b/frontend/super_admin.html @@ -4,7 +4,8 @@ GoChat Super Admin - + +