From 6d34f6f3b406126c87309111c88b14c4f7a54d6f Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 18 Jul 2024 11:57:56 -0400 Subject: [PATCH 01/18] custom domain ga docs --- src/_data/products.yml | 9 +++ src/_data/sidenav/main.yml | 2 +- src/connections/sources/custom-domain.md | 81 ++++++++++++++++++++++++ 3 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 src/connections/sources/custom-domain.md diff --git a/src/_data/products.yml b/src/_data/products.yml index 76e3ed08b9..503044964e 100644 --- a/src/_data/products.yml +++ b/src/_data/products.yml @@ -186,6 +186,15 @@ items: - product_display_name: OAuth 2.0 slug: oauth-2 plan-note: "OAuth 2.0 is available to customers on Business tier plans." + plans: + free: false + team: false + business: true + add-on: false + +- product_display_name: Custom Domain + slug: custom-domain + plan-note: "Custom Domain is available to customers on Business tier plans." plans: free: false team: false diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml index 8f793e492c..09c5f4cbb9 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -151,7 +151,7 @@ sections: - path: /connections/sources/debugger title: Source Debugger - path: /connections/sources/custom-domains - title: Set Up a Custom Domain Proxy in Segment + title: Custom Domains - path: /connections/sources/visual-tagger title: Visual Tagger - section_title: Schema diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md new file mode 100644 index 0000000000..9af38c613b --- /dev/null +++ b/src/connections/sources/custom-domain.md @@ -0,0 +1,81 @@ +--- +title: Custom Domain +plan: custom-domain +--- + +Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS to track event requests through your domain (for example, cdp.mydomain.com), instead of tracking events through Segment's default domain (segment.com). Tracking events through your domain lets you reclaim some of the first-party data lost to end user ad-blockers and browser privacy controls that block Segment's default domain. With more complete first-party data comes a more complete view of your customer's behaviors. For more robust profiles, more accurate attribution, and, ultimately, greater ROAS. + +> success "" +> Segment recommends configuring Custom Domain alongside [Consent Management](/docs/privacy/consent-management/) to ensure you are respectful of your end users' consent preferences. + +## Supported sources + +Custom Domain supports the following sources: +- [Analytics.js][docs/connections/sources/catalog/libraries/website/javascript/] +- [Clojure](/docs/connections/sources/catalog/libraries/server/clojure/) +- [Go](/docs/connections/sources/catalog/libraries/server/go/) +- [Java](/docs/connections/sources/catalog/libraries/server/java/) +- [Node.js](/docs/connections/sources/catalog/libraries/server/node/) +- [PHP](/docs/connections/sources/catalog/libraries/server/php/) +- [Python](/docs/connections/sources/catalog/libraries/server/python/) +- [Ruby](/docs/connections/sources/catalog/libraries/server/ruby/) +- [.NET](/docs/connections/sources/catalog/libraries/server/net/) + +## Getting started + +> info "Custom Domain available only to Business Tier customers" +> Customers not on the Business Tier but who have interest in Custom Domain should [contact Segment's sales team](https://segment.com/demo/){:target="_blank”} for assistance with upgrading to a Business Tier plan. Segment also offers an alternative DNS record service, [Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy/), which uses a Canonical Name (CNAME) and only works with Analytics.js sources. + +1. Select the subdomain you'd like Segment to use for event request tracking (for example, `cdp.domain.com`). +2. Sign in to the Segment app, select your user avatar, and click **Contact Support**. +3. Create a support request with the following fields: + - **Topic**: Select **Custom Domain**. + - **Subject**: Enter a subject line for your support request. + - **Domain Name**: Enter the subdomain that you created in step 1. + - **Additional Domain Name**: If applicable, add an additional subdomain. This field is optional. + - **Source names**: Select the sources you would like to use for Custom Domain. For a list of all sources that support Custom Domain, see [Supported sources](#supported-sources). + - **Is the domain name enabled for Content Policy**: Select either Yes or No. You are not required to create a Content Policy prior to requesting Custom Domain. + - **Description**: Enter an optional description for your service request. If you are requesting Custom Domain for multiple workspaces, enter any additional workspaces slugs into this field. +4. Segment provides you with a list of nameservers you should add to your DNS. Once you receive the nameservers from Segment, update your DNS. +5. After you've updated your DNS, Segment verifies that you've made all required updates and then provides you with two custom domains: one for the Tracking API and a second for your CDN. +6. Update your Javascript snippet to reference the new subdomains or use the new Tracking API custom domain as your endpoint for server library sources. + +## Compare Segment's DNS record solutions + +Segment has two domain delegation solutions: +- **Custom Domain**: Uses a DNS subdomain that you delegate to Segment +- **Custom Proxy**: Uses a Canonical Name (CNAME) to map an alias name to a true or 'canonical' domain name. The CNAME record allows you to alias one domain name to another. You create a CNAME record to alias a subdomain that points to the Segment domain. + +### How DNS subdomain delegation works +DNS subdomain delegation is a process where the control of a specific subdomain is assigned to another DNS server, allowing that server to manage the DNS records for the subdomain. This delegation is useful for distributing the management of DNS records and enables specialized handling of subdomain traffic. + +### How CNAME records work +When a user tries to access the alias domain, the DNS resolver looks up the CNAME record, finds the canonical name, and resolves it to the IP address of the target, for example, the Segment domain. The user is redirected to the Segment domain, but the browser's address bar still shows the alias domain. + +A CNAME record is a powerful tool in DNS management, allowing domain aliases to point to other domains seamlessly. It provides flexibility and centralized management, making it easier to handle domain redirections and subdomain configurations. + +### Benefits of Custom Domain over Custom Proxy +- **Automatic SSL management**: Segment manages the SSL certificates for your subdomain, ensuring secure communication. +- **Continuous monitoring**: Segment has security monitors in place, ensuring a quick responses to any issues. +- **Easy setup**: Segment handles all DNS changes, so you have to complete minimal additional work. +- **No maintenance**: Segment handles all ongoing infrastructure management. + +## FAQ + +### What sources can I use with Custom Domain? +Custom Domain was largely developed to support JavaScript sources. It helps with comprehensive data collection from your website when accessed over any platform (desktop, mobile, and more). You can use the subdomain for all other non-JavaScript sources as well, for consistency, but it will have no impact on data collection for those sources. + +Once Custom Domain is enabled for your workspace, the Segment app generates a new JavaScript source code snippet for you to copy-paste into the header of your website. For non-JavaScript sources, you can use the sub-domain as an endpoint when using the Tracking API. + +### Is this a fully-managed solution? What servers or infrastructure do I need to set up on my side for this proxy? +Yes, Custom Domain is a fully-managed solution. + +You must be able to delegate a DNS subdomain to Segment and add the name servers Segment provides. You must first decide on your subdomain and then delegate it to Segment. Segment then asks you to add a DNS NS record to your DNS with specific values to complete the DNS delegation. From there on, Segment fully manages the infrastructure for serving AJS and ingesting events data through the subdomain. + +### Can I change my Segment subdomain after the initial setup? +Segment does not recommended that you change the subdomain after the initial setup. If you change the subdomain, Segment must revoke the older certificates for your subdomain and you will be required to redo the entire onboarding process, as several underlying components, like certificates, would need to be recreated and reassociated. + +### Who is responsible for managing the SSL certificate for the Custom Domain? +Because Custom Domains is a managed service that Segment completely runs, Segment hosts and manages SSL Certificate on the Custom Domain. At this time, we do not support importing a certificate you may already have, as Segment requests a SSL certificate on your behalf using AWS Certificate Manager (ACM) when initially setting up your Custom Domain. + +Segment also uses AWS Certificate Manager (ACM) to manage and automatically renew certificates. Segment has monitors ready to alert our teams in the event of a certificate renewal failure. \ No newline at end of file From fbd1b744500c5a94d0c8ed83864409c41d06755e Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 18 Jul 2024 14:35:36 -0400 Subject: [PATCH 02/18] an editing pass --- src/connections/sources/custom-domain.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index 9af38c613b..1c462de105 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -76,6 +76,6 @@ You must be able to delegate a DNS subdomain to Segment and add the name servers Segment does not recommended that you change the subdomain after the initial setup. If you change the subdomain, Segment must revoke the older certificates for your subdomain and you will be required to redo the entire onboarding process, as several underlying components, like certificates, would need to be recreated and reassociated. ### Who is responsible for managing the SSL certificate for the Custom Domain? -Because Custom Domains is a managed service that Segment completely runs, Segment hosts and manages SSL Certificate on the Custom Domain. At this time, we do not support importing a certificate you may already have, as Segment requests a SSL certificate on your behalf using AWS Certificate Manager (ACM) when initially setting up your Custom Domain. +Segment hosts and manages SSL Certificate on the Custom Domain. At this time, Segment does not support importing a certificate you may already have, as Segment must request a SSL certificate on your behalf using AWS Certificate Manager (ACM) when initially setting up your Custom Domain. -Segment also uses AWS Certificate Manager (ACM) to manage and automatically renew certificates. Segment has monitors ready to alert our teams in the event of a certificate renewal failure. \ No newline at end of file +Segment also uses AWS Certificate Manager (ACM) to manage and renew certificates. \ No newline at end of file From 761f1f4ae82da746136ea5917bdeed45cae8f8f0 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 18 Jul 2024 15:13:58 -0400 Subject: [PATCH 03/18] reorganize sections [netlify-build] --- src/connections/sources/custom-domain.md | 60 +++++++++++++----------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index 1c462de105..4646358be1 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -1,17 +1,38 @@ --- title: Custom Domain plan: custom-domain +hidden: true --- -Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS to track event requests through your domain (for example, cdp.mydomain.com), instead of tracking events through Segment's default domain (segment.com). Tracking events through your domain lets you reclaim some of the first-party data lost to end user ad-blockers and browser privacy controls that block Segment's default domain. With more complete first-party data comes a more complete view of your customer's behaviors. For more robust profiles, more accurate attribution, and, ultimately, greater ROAS. +Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS to track event requests through your domain (for example, cdp.mydomain.com), instead of tracking events through Segment's default domain (segment.com). Tracking events through your domain lets you reclaim some of the first-party data lost to end user ad-blockers and browser privacy controls that block Segment's default domain. With more complete first-party data comes a more complete view of your customer's behaviors, and can lead to more robust profiles, more accurate attribution, and, ultimately, greater ROAS. > success "" > Segment recommends configuring Custom Domain alongside [Consent Management](/docs/privacy/consent-management/) to ensure you are respectful of your end users' consent preferences. +## Compare Segment's domain delegation solutions + +Segment has two domain delegation solutions: +- **Custom Domain**: Uses a DNS subdomain that you delegate to Segment +- **[Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy/)**: Uses a Canonical Name (CNAME) to map an alias name to a true or 'canonical' domain name. The CNAME record allows you to alias one domain name to another. You create a CNAME record to alias a subdomain that points to the Segment domain. + +### How DNS subdomain delegation works +DNS subdomain delegation is a process where the control of a specific subdomain is assigned to another DNS server, allowing that server to manage the DNS records for the subdomain. This delegation is useful for distributing the management of DNS records and enables specialized handling of subdomain traffic. + +### How CNAME records work +When a user tries to access the alias domain, the DNS resolver looks up the CNAME record, finds the canonical name, and resolves it to the IP address of the target. For example, you could alias your subdomain to point to the Segment domain. If a user accesses your site, they are redirected to the Segment domain, but their browser's address bar still shows the alias domain. + +CNAME records provide flexibility and centralized management, making it easier to handle domain redirections and subdomain configurations. + +### Benefits of Custom Domain over Custom Proxy +- **Automatic SSL management**: Segment manages the SSL certificates for your subdomain, ensuring secure communication. +- **Continuous monitoring**: Segment has security monitors in place, ensuring a quick responses to any issues. +- **Easy setup**: Segment handles all DNS changes, so you have to complete minimal additional work. +- **No maintenance**: Segment handles all ongoing infrastructure management. + ## Supported sources Custom Domain supports the following sources: -- [Analytics.js][docs/connections/sources/catalog/libraries/website/javascript/] +- [Analytics.js](docs/connections/sources/catalog/libraries/website/javascript/) - [Clojure](/docs/connections/sources/catalog/libraries/server/clojure/) - [Go](/docs/connections/sources/catalog/libraries/server/go/) - [Java](/docs/connections/sources/catalog/libraries/server/java/) @@ -23,43 +44,24 @@ Custom Domain supports the following sources: ## Getting started -> info "Custom Domain available only to Business Tier customers" +> info "Custom Domain is only available to Business Tier customers" > Customers not on the Business Tier but who have interest in Custom Domain should [contact Segment's sales team](https://segment.com/demo/){:target="_blank”} for assistance with upgrading to a Business Tier plan. Segment also offers an alternative DNS record service, [Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy/), which uses a Canonical Name (CNAME) and only works with Analytics.js sources. +To configure Custom Domain: 1. Select the subdomain you'd like Segment to use for event request tracking (for example, `cdp.domain.com`). -2. Sign in to the Segment app, select your user avatar, and click **Contact Support**. +2. Sign into the Segment app, select your user avatar, and click **Contact Support**. 3. Create a support request with the following fields: - **Topic**: Select **Custom Domain**. - **Subject**: Enter a subject line for your support request. - - **Domain Name**: Enter the subdomain that you created in step 1. + - **Domain Name**: Enter the subdomain that Segment should use for event request tracking. - **Additional Domain Name**: If applicable, add an additional subdomain. This field is optional. - **Source names**: Select the sources you would like to use for Custom Domain. For a list of all sources that support Custom Domain, see [Supported sources](#supported-sources). - **Is the domain name enabled for Content Policy**: Select either Yes or No. You are not required to create a Content Policy prior to requesting Custom Domain. - - **Description**: Enter an optional description for your service request. If you are requesting Custom Domain for multiple workspaces, enter any additional workspaces slugs into this field. + - **Description**: Enter an optional description for your service request. If you are requesting Custom Domain for multiple workspaces, enter any additional workspace slugs and source names into this field. 4. Segment provides you with a list of nameservers you should add to your DNS. Once you receive the nameservers from Segment, update your DNS. -5. After you've updated your DNS, Segment verifies that you've made all required updates and then provides you with two custom domains: one for the Tracking API and a second for your CDN. +5. After you've updated your DNS, Segment verifies that you've made all required updates and then provides you with two custom domains, one for the Tracking API and a second for your CDN. 6. Update your Javascript snippet to reference the new subdomains or use the new Tracking API custom domain as your endpoint for server library sources. -## Compare Segment's DNS record solutions - -Segment has two domain delegation solutions: -- **Custom Domain**: Uses a DNS subdomain that you delegate to Segment -- **Custom Proxy**: Uses a Canonical Name (CNAME) to map an alias name to a true or 'canonical' domain name. The CNAME record allows you to alias one domain name to another. You create a CNAME record to alias a subdomain that points to the Segment domain. - -### How DNS subdomain delegation works -DNS subdomain delegation is a process where the control of a specific subdomain is assigned to another DNS server, allowing that server to manage the DNS records for the subdomain. This delegation is useful for distributing the management of DNS records and enables specialized handling of subdomain traffic. - -### How CNAME records work -When a user tries to access the alias domain, the DNS resolver looks up the CNAME record, finds the canonical name, and resolves it to the IP address of the target, for example, the Segment domain. The user is redirected to the Segment domain, but the browser's address bar still shows the alias domain. - -A CNAME record is a powerful tool in DNS management, allowing domain aliases to point to other domains seamlessly. It provides flexibility and centralized management, making it easier to handle domain redirections and subdomain configurations. - -### Benefits of Custom Domain over Custom Proxy -- **Automatic SSL management**: Segment manages the SSL certificates for your subdomain, ensuring secure communication. -- **Continuous monitoring**: Segment has security monitors in place, ensuring a quick responses to any issues. -- **Easy setup**: Segment handles all DNS changes, so you have to complete minimal additional work. -- **No maintenance**: Segment handles all ongoing infrastructure management. - ## FAQ ### What sources can I use with Custom Domain? @@ -70,7 +72,9 @@ Once Custom Domain is enabled for your workspace, the Segment app generates a ne ### Is this a fully-managed solution? What servers or infrastructure do I need to set up on my side for this proxy? Yes, Custom Domain is a fully-managed solution. -You must be able to delegate a DNS subdomain to Segment and add the name servers Segment provides. You must first decide on your subdomain and then delegate it to Segment. Segment then asks you to add a DNS NS record to your DNS with specific values to complete the DNS delegation. From there on, Segment fully manages the infrastructure for serving AJS and ingesting events data through the subdomain. +You must be able to delegate a DNS subdomain to Segment and add the name servers Segment provides to your DNS. + +First, decide on your subdomain and then delegate it to Segment. Segment then asks you to add a DNS NS record to your DNS with specific values to complete the DNS delegation. From there on, Segment fully manages the infrastructure for serving Analytics.js and ingesting events data through the subdomain. ### Can I change my Segment subdomain after the initial setup? Segment does not recommended that you change the subdomain after the initial setup. If you change the subdomain, Segment must revoke the older certificates for your subdomain and you will be required to redo the entire onboarding process, as several underlying components, like certificates, would need to be recreated and reassociated. From 876ece8e9b72f2e9fdedc1d26b82fc08e9207d5f Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 18 Jul 2024 15:43:29 -0400 Subject: [PATCH 04/18] fixing nav issue [netlify-build] --- src/_data/sidenav/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml index 09c5f4cbb9..bbe2c340b1 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -150,7 +150,7 @@ sections: title: Cloud Sources - path: /connections/sources/debugger title: Source Debugger - - path: /connections/sources/custom-domains + - path: /connections/sources/custom-domain title: Custom Domains - path: /connections/sources/visual-tagger title: Visual Tagger From 804ce2a43ea8325eefa416c64fd8c0b4bd649f5e Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 18 Jul 2024 19:10:57 -0400 Subject: [PATCH 05/18] more requested changes [netlify-build] --- src/_data/sidenav/main.yml | 2 ++ src/connections/sources/custom-domain.md | 6 ++++-- .../sources/images/custom-domain.png | Bin 0 -> 134530 bytes 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 src/connections/sources/images/custom-domain.png diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml index bbe2c340b1..46763349f7 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -152,6 +152,8 @@ sections: title: Source Debugger - path: /connections/sources/custom-domain title: Custom Domains + - path: /connections/sources/catalog/libraries/website/javascript/custom-proxy + title: Custom Proxy - path: /connections/sources/visual-tagger title: Visual Tagger - section_title: Schema diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index 4646358be1..667fe0a3b1 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -4,7 +4,9 @@ plan: custom-domain hidden: true --- -Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS to track event requests through your domain (for example, cdp.mydomain.com), instead of tracking events through Segment's default domain (segment.com). Tracking events through your domain lets you reclaim some of the first-party data lost to end user ad-blockers and browser privacy controls that block Segment's default domain. With more complete first-party data comes a more complete view of your customer's behaviors, and can lead to more robust profiles, more accurate attribution, and, ultimately, greater ROAS. +Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS to track event requests through your domain (for example, cdp.mydomain.com), instead of tracking events through Segment's default domain (segment.com). Tracking events through your domain lets you reclaim some of the first-party data lost to end user ad-blockers and browser privacy controls that block Segment's default domain. With complete first-party data comes a more complete view of your customer's behaviors, and can lead to more robust profiles, more accurate attribution, and, ultimately, greater ROAS. + +![A graphic that shows how Internet traffic moves back and forth from your domain, to your custom domain, then to Segment's CDN and Ingest APIs.](images/custom-domain.png) > success "" > Segment recommends configuring Custom Domain alongside [Consent Management](/docs/privacy/consent-management/) to ensure you are respectful of your end users' consent preferences. @@ -65,7 +67,7 @@ To configure Custom Domain: ## FAQ ### What sources can I use with Custom Domain? -Custom Domain was largely developed to support JavaScript sources. It helps with comprehensive data collection from your website when accessed over any platform (desktop, mobile, and more). You can use the subdomain for all other non-JavaScript sources as well, for consistency, but it will have no impact on data collection for those sources. +Custom Domain was largely developed to support JavaScript sources. It helps with comprehensive collection of first-party data from your website when accessed over any platform (desktop, mobile, and more). You can use the subdomain for all other non-JavaScript sources as well, for consistency, but it will have no impact on data collection for those sources. Once Custom Domain is enabled for your workspace, the Segment app generates a new JavaScript source code snippet for you to copy-paste into the header of your website. For non-JavaScript sources, you can use the sub-domain as an endpoint when using the Tracking API. diff --git a/src/connections/sources/images/custom-domain.png b/src/connections/sources/images/custom-domain.png new file mode 100644 index 0000000000000000000000000000000000000000..a25d8c9fa4ed376b7f48e21dfba1d6f2edfb081f GIT binary patch literal 134530 zcmbrl1yEaGyEhu#ixeyF?xn?{P^^XG65QS0-Q9`=cZ$2aLveR^3GRCHKj(dq%-s3r z&i(delB_)|dp+y1^?M{?axxNV$OOm$008ZWq^JS_0RIgDfQmtchTMs8i6Di1z&MEf zP(nmRT-lP{1OUhYKSYIh6U1F(+y$C2F}iHF5t0~ z11)8v;}{Osk+y|Ok3y4WPa(w74weK^Vq)TcTIUP3MT6r%l>O_{Ey(3Rg#FiG9_Cb- z7V^D|0UjFnKksb{l9Bw!{4#wqU8sM}0|0z+&|sPVYXqpu_49@M@1Y7OM%90hy2AhK zY5&{=PJQe89|SNGAOin;uC5pi6v}@O%S`|878U6IPvZaMiM~!q5Srb^|9igxzzNpB zS1;pZV@Ci0be*97MS!mpf+poZ^lJTor5A_=j7I5th5k410Dvm0DspJRJ<7iq`G=1G z`z`v`qut%Z|MM)MY}wR0>3>K<*DBz({XYaW|IwoE9^wB78@qlQMDcF^BgZ7_UeiA=ZLbkgB}=zwp1t{<5DA3FZ?`uA`C8U4R#go?mL!oQV-5g~F40Q>-X zr28iAzXh)H0Y49_is=8y?%FF@CZNXu(4VkGTHWpq;(w6<`G^I&{kH%hW32zJi_XWe z|C=>MGXHzR|4~^}Cj(@v%WQIq&($lk=l>=|J#2pzcD9<@i>awErn zv5te=!RgmcERv-x$z0zB;f}@`DW*|X0M!<1lG;Dp`RD3_cr2$zM=kip20L?B0ZIx* z@*1B;JU|1QCp0Ie4}V59g0{GIkj0jUv<0(|ewmV#4?Oda-ya7~Jwz8QpzF&wBea4w z&;AGu8zlLQcW6MPyMIrhX5Q*B@k{itCKgC zF}gPcMe}(L(=93`P@*aBHGBjQlbymk3+rq|^W@6&7$q6TP(^dJAn#G1Y8#v-Ok*(q zJ&uvuPa?l{g#oLP)j**}3p6>t=u7}>BSe;9NPoqg?zorro7uPx9FW;c6*lG(_=8nq zyvzA-kcsdg1haFAEux$tIJtjw007iQ+S)#>d(WuTojmDV^(nt;&4Y?Q^mg|XZ74{G z`)(^rtM==}F?nNq*hjcX60ePmOd!MN$gxBb`epE(AtVf#d_NS5`FX>?_Lh?Uq~O6I zkodp0I!TNOj2Ot%Lo&n6Fwx-~7`n`)T3ainEZNJ8K&P*QC7O60&vGulurWA%onexi z{I8SAmjyx=g>7K)UCB2ZLd|9|W{U54Efq)b2k9dRBu&0>XFU6S%Gd)bxg|fj^GnG4 zrx^wCmI<+zU2^FDYilR~C<{AD-rr>U{wU{q6yt7r6?25;DpGj3=yc7SnYEjLzl%qv zbh&reDq1c?8LZvIY4o!wih;u_p0n0^ z$%{d8?^;R({4s9#Uwi!MFNtn+YIUt$WP!<&c&Pcwv3wcepl4lY@bIvhSmU1)kI11T z1lE+5D-WHAh?B=W_)U_T`cq~w;r&AUF3Wo+a;=A4J13)7M@JW9@{49>$km|86>8`6 zb?0+ZV=_id-LqCny~m0I(;^8o10%EtGr@EzsJO^ChlC}XtG!S% zXPj4z#G>NR4Y&`s<^KIsEMXWQl*X@a)Wg|XlV0d{2kQzbh6VV}MOsjPto5O(U$sX& zNvAG0kjS{7zqnaz&F|ir_<%ZAH)4cM_W2fH&`A!8S8G*(&YoY!S=QHzmn20#;|z`H zf{DB6;8!NA4|E8ZRy-ztkRrS$0vH=!9Iq+Sw#d+tUf#R7dho_&in>*_j_eJpMCctR zYbvYc%uJh2nV8ieGMzPyDMODrE4~3^L-ao|DoP-(X%jL1bSdB)eVki!{pPDeh_*?%8wgR?eM^8C1er4e7W&4e-~?R&Y3N zz6andCN0jq@i05B`Dc^*KOAJ~U=W_P?_ir42QDIh5&J+{rrWbGr7cVqnU-Oy%+HWV zHxJ~J^VX01T<*s(mVA$qiQ^@A!9?Q|IEC(Zp1&=J{)>OY;89)|M-N*D7rRlQrugGH(Wzo-HoRZG zw%Em^d0ia8j7yX*|L(qkaw=A~S7Ee=eBlFQc_BnE5_{w88Pud~_w%7EPx&2P;PFJe z8728u6~D2qaYhBTphU`htYWj(Tm{YZ1a->~H!`_;+|R1F8#n%)q#x?PNxbO7_-EMnqOL~3Y zHSW~r=sgbqbCz|MR5AivfJ4$SU^1u`1h9kq-VqO$gtaPGZ`op5hPEfbfBp;CF(?)z z=E3O_uTb;NwE|XhuITy9$P^`XND&UH)ttg+?Wn*4t`GlnkY7-0z_?Yn03(bHutVb% zxvIzw=e&F^iBXV_OxNkV$~Txf#(_U`9O3=uc{u`$`Tldhq2j$>&4zUOSd`rIaARc+YXdqrboguIu9%76_#GDfm|wA8M;9((jqN?}7(KcV znN~F0GcKP1l#_~X34i-GiDJ{D=XJiK;92BQ5{CLDeIb*IlsZGEU0^~~xR?pI7esj@ZrA{KR2(gUIq#$S3nv;|rGU z|8%My5rjB2KIrd4yy%SpbshnBJlKa6`6-_^Plgm+re-veI9c% z%%HP5n61&ao*OdoT(6u6O zTo1yl2;c%9sv$zvBDPmG><3?}L@53BqO&WeOwTIs1g;bBvZ&X< zQ-LfWaiE0!Hu#utmYhq_T0C{Y0OCEhij&o>&v0`gTGQul!1ofD177?k;oEk}%7hE~h@R9c{ezbJ#5>8) zh+#k=Soe*KZr7I`XLQ96!wlO!3haHm?|> zL61M{=S3_Kam6?Z&d#OiOGHG&jXcB}h;fB`A>mO13kp2AaLI=)o6%%#tYs|TqsXl_ zRd9*8gW8!LFJ0;!JNlrJ_EW>JX$qhm=Cu$_Lf#2A!s?IXHf!$17BoGv<*KUCp2SGuDl@aD8<602CV5hq8QRh2K=li+mC8(g>^42Cmgg zBk3gm_;{Q|vI3peZ)B_Aw$v2MduWqKKg3z~T!!j2PHMxX;NGU9jsmwWYxUgpnne;G ztE`1w9PLQ`*GzHk(%F8~Hmg(-5!gL+jAIb#a4p*nhiO+EvTAPj_*kNMfsia+#UPJ8 zpCu(`pm*(H5*dmuR$U_WPiX!v-l@gKdR0DGx|!TIod3@~&HaH^?`mcN>4X*)dhi-K zw^rxbtCJ7(E~(%BU%#pkVd#--?}(WQITbvcKT?Dk|9nqvg1vq^hV z|Ae6QCS_@Zx~`Yw_O~`!^WdSIAb;=&<_U)e(FaqxWzw+h^^Qv!E8%;J#rB`5Wl0{z z=mJim={;R7YcMF`v+uKOpSwv5iEN5AaLWcfECX6*d$o?gJ+8Av)d;<;uR!}yt{iC} z$G!_Rie9cVCZwJ}kq;UL^0UX^;s@N_TDMnCLg?BGBSgLCGv(IcT#qt{r9woe$_j==^&ztBB=w#h78Oo zfaBlEW2#Cs8$B|I+f=G^@VhkLZiU`{Qd#LZzj1899 zY{d*ey2u%_M9b%FX48dX+Wjm=Z&6>m!aCTu*sbv!UpQP+a#`peC4 zC|QkD_uOpYvRM@z9r=(ZnT2X1xDB(XZQ)c+GJ`>J#axH=l#1QKiXcH}lmiB(EZUWe z6x*K<=i>qVLBD>v_QK?go18K=NrV`s9>p|g`@HF4%VqY*`Wg&>{c2ksmYhGxlmlf( zfen;Q`q92Y>o@@2we4lZlyuDCb|a@&my@O6n%rK@=2Du{zzF{3+C&%1CFj)X)7Nzz zf7R`yOBPy<9~JE2HBSkY&M)2gl#LW*iGqW; zzM~xp%orn-^p%Nz7OJj~u)r1WUt#xEl#Pf#j$&!VG}mMHjQitZP6q}k6Yl!LOVE z7R+jnc;iUIqW%t0*Nj3XCB`#9D2&YAGw}(B3LHQ;p4FE4lU2)X;=y{hGU571CqG+d zjgPh&i^X67zRw{Z*Y*qfOdtn;@Da6rFi|?n8XIbW1B*MG4o-zkqvN7Q{l*v6bMPAL z1+97ag~yS>O?;%sy6R;|Qg+C#1VPGyROpko!1!8`NjFB496YWvA`I*G#vDBnd3(nh z{SkI0j7BiWCUVXW+Wt#cZY+UBBaL?#FSs&b7Vlx$Oa&k9wARhnvUiCAjw z_R&MXVhcY7cf;YedDL!8N5f`O=k_mG^U03#u<(v2!kb5_yg2f{#w&du_O33%TY4Cj!peeUC z>o~tJ+$0r-d^e{eXt0pg^X4w>FZJSy<6m&?94N=A@@!f_;B#mj7ryqezf4C`SQyo(mG~*we54g%R*?$EZU(LmWb_2`UFR_zVsprVvtp*87qUffLGaG z$`Jx%3Xajshk59lu)t@oAA7&fn8L*Ks9}w!FHNcH!p)@sT>?~?G04KV#-$1sA(ZA+ zSTrM?-?$^%LWx$O&cUTQl|k?>N3c)rS7k(Xqd2gbVaAFxXqnQYJC{S@toVRcgKayC zTw_H><>T~gQzrdXwYpNpm5C_DJl?F~*J3GhT7+IA9KWHuW~^xr5w~0DSau`4AT{lD zOFT-{nqbnIADOnEd-W*zm>?+>Rh>`07TP9d9TdnaDAU?qBs!|o#~-j#3mt?ZAe)I` zfDOj?7S-T)sF?jyVBx10>y%dh6bl-|1GV@p%OZ)+t2suIfL23(*5!uIT3I^^ivTyN z_G!-VT&^q$l2o~+Il6!)m_<8}CCOgT$SH;fJreddSQm{X8R9a%Fh zj=h)JhhIDgsf8xfc4ERN@PKck*kOT+!@#_p;Wx|X=71*f){p=y%n7tw;csl_R^e)s zgl3E=W5$f|kX~Q`>^xt1PYo!)(C*j4^uR>)ZO}sM+*D|CtAGFC5+-h)2esRr#AdES z`MuFJEC2maQXG=7{@{F6oFuo9j%YNT-WiZW64-j0!YA_Z)g2O{-TD_*>&BO{0zD%2 z-gGRErcAm0^&nJHV8+asjHxKb4D^Ur^at$ACbu^&z5A<{-TDoB_Z@pSg1w68rt{)# znFze)=wWrmFh7(IyXLRYisbyUTI-d5x4R-iBvv_M!8^RWmGn4E4n^`vv)=4xixeqN zm+ZR-FG-7*Cw3v8zaeF^F!Dx&RZ9b-rd9oqS*%`IN5P}z0XHJoR- zA2^m`B}EhU8~V06l+Mi7`loIx1H?pZ)l!HY(!A zH(tno;fbqxlRM|f(pD2g@<#SiwlDs$+bYY~3RTMp!O`0fff*c(gTzM?+90ElJ;RV# z?f92~<*euo&y#{7x9xHA&t7XD5=V}0a%JLqdcva8+#fVgmBO6Ie|Frpz#^*9XEfAX zwFbp8NRtQZT^KTWXMIHK`bh(doFinmMifh2`9%Kcm`qUetX~TaRZ3Z7N56Cq!`Ox^ z$`xr}pk6)?OW7TySmTFKq^b5w+YM_FzA^;z^nnK8!U<+72hhJay=pCWhAn^BW(h^2 zV1Yeon_)l?Al$R>U5PWdKLjON1bvk45V!Mt*{6Ug zg$cio)d7}nqW!G2oG#z%Kp+R{e5VB(DRjYQ@>%mLYxH`3(#E5-)gOM1hq^R z%5Nwg-(8=94^Z*v*`Ad`jBQpPn^H$g@VkZy&pD^}CqJZOjIy=rJS)GA2X=Yh@t0r- zn|L*Y>6QH4jNn#fNGQdNT{(%6Dxh+ws;sR@s7`H()TWWf9)l`gd3%Z{18qeO^%{6q zH$@PcNMOH-%ctbhr8|hpuQ*_imqmJQdeb0fnQ~d8e2P!iwXbuZL?RFL`x1ack^ZIR zYe%CJ?qM#^PB>W@IsZlr_TpmE{4>D~e3k~9Stl5h{KE?CbTt@e6P zlqr6giuW$=)XZdLR{zgamx z&Ui3SLxccLrH^QgMfp_2F}25SO`B(8AX&2?X36qQ5?MORc=Ku>+d}wG&g_ml#x zd)PwTgjy(bKM5zdRppPyooZF96_o1aXvfwsrL#-Hb56Yy{V8`kk?U$oVp&)@@CL?9-?HDoF^gaq+X2#Q$D^d@?A~eJ!>7|bf zwhc6Gw~^_Sa4ep~0&6XGQk^u7$#mV!76b)p&!(S*Z^F9UMHfH&U8O>scnP{I0etIY zm^FAZivqzlYsYR&%DK0sI($rlo9SEx<%S$3bn9;d09|Ii51aABrp>F9oRmbyZ{zWt zqqTNKS-aA8yf7J=?jF+zdmbPI8n2A@4-*-?94MSCre4?yb5DB z_oMS1y~X)eRv~CI!7&zfi*OmSV6HT{AMtr?Aasi66rdI)8i`^ML{?tA62A8UeO9PYiA1d z{qz~2n?bhw$#RQVX7?sCU0`B(h9Zs2oPaj>!vB>G(3MJttuPlmZT=}oE|gBUZC0C0 zQZ#8q&*gmN(+x*3eeajxT_t(J#kU`Qp-nSoj>%Pl#bK+X|Lz4K8+WT;-lWp6uFB1g z`Jlq(A4=G^G%Ho0&P$9QG+Tj_ef>pkIj#0fu ztk@L!BieKJQ*EQk;OXFY$~Jkmpqvc=U_#Fvv!FV05e6?QE^%l9&n!K+4qNox3EOqd z5CHs=_=*rfi7IpF9DAi^62Rkulf#Ba0&5U`x9Qk|NHCvD*+m?)+mjI*${km%jpV?t zM~fzfNDf;$pVmj07LD+U52^|osd&n?Nx^C#WezO>^dZ<&)R0y5^RJ<@TmMm>y-&R? zT!*_({yex|)&>$3_VZr=RgP3vvrmJ0p!FS&U@Q~>FwS)V|4J~hhglO76KUIuk}3Wi z%OBPbRS*g&#KysQx}U3GslIhCu_R*>STwVD*NLDa5G^5AE2dl1uC?M9)BbnVK5*{x zmJhe1#kg-r{*S6|RGiEJw)n042xr={EzW0JbmEMK7bDg{OPBe;?7a#pJ-<23k!R(L zzuo=qIOht=Rk(IGv`v94?QpPp5NYz}SzNuVorOh5*Ttl`rBFbOs8tOY==lOCvn$AjU$#+L5JV8y*p!szm2bwom%kfwgxMF9 z#02r3;Pia$!g3Z^zWZXl{i&q~VIJmN-ThK~+PA>mDoHBrs6aO6wgya*I(6~d0_I0i8?#pv8t1q{bQvG)mrC|Jlwm8y37 z8IzOg23a`;YLBKc9k!UC05s48F;`A<4s|?8mpG7i#U-H4GM1f!MY5V$Z}vS-7Tu`Tbx5|ectbB>;S$9aQu@_ z{hz;EpYOwR216PA7P z9jvE-i#bZEb)HpoTqNhj@<$?1DakhVt(RH}_%26$=t_%IX63xqa@yfVET`NiN%-4w zHL9-BmW}|)W;Ir-KwqwM9;u`xU-5Datyz@6C2+1YlMg?@9j+@CaIB1{`I_Gqt~fL( z7NQ4lu~G{In8#c9S|uLcV;K)O*lKR`N@n(BKA%6|6r^NkHw_@b;KMk( z4@2!r6$w4F?kJZP2aZ^cjR@f4Pj`+y)PDmabuA%=rN}BC@?Z?mB}?@g#CfE1S8a!h ziom?mH$1F4sfBFewS_|i=Gm@Ln>|oOW=N47lAIPC8^Pe8Q3oj4_qhQ;yN`pbfQG6G1{u}rrbmXp)E)>ysyd!8;X#K(fxA;NOgP4z@y9eEILleP^BM59#(p? z%eQ$kBZ8Hc+ZT$V?<0+@g76I@oK{#pcen=+iRVuNzF#6RBH2xf9Nt$m!04r~8i>im zyylVsU!So+r{8}@l(N6r4KaoE!6E=HP-1w^NNNY?=d*Ur?RlfG$)gf`97#Hjl8-i$-zRGqGD44y41z5YEMS}8yB$L z!3xv{$S!Omy1r0dy!~ZpWxrB9OZ#6&21A!=(j$pT*Q+YkEF@3N+Jar*BE;@<_(m(c zp0Y=}6uCPp+XmZp2JK_C$#vn#%8<4;YY!;`v~?rc7Cu)tz8lS>)2Tv&fNv{`NSI6E zxCf#Q2aNCLZ<}M|@+Qz#(d>NZXOw4tiH0L)D1<%iYxc}hP!`Zj-MQ`2vApUr+}?Ol zz)HtzHMG?|P+V!A^F}()x2~)06pV=M=+7;Kx}b}%WeO6=Ui6TYMGSFJ%3pJiUFvUR z>A-k>_UD7ZI0V2+ZQioeFT0B#kr=NeO53heFRRI7X4B3mFQao1QPN+L;hayo-n-bv-HBWkAZknuCUl zME9SJ-MxJg?!Q1MFk$i2?k4qU%Y-I>0K|bCaze}}?d^=-jHji2Ed%?L#tNpdkbtGF zw8Mvjpf0Fy4Z|GaM3C&zR*H_>0EYFTYLZ`)QCPqK!M$7%bQOzU=6j2sCo&%)#$Q5V zw&4B%i-az(*kz3mKP{#NR9pdN8u*w7YXX%h7VTCc89Xb;bN2IpMrd`*=Xt-mCiSG1 zS@V1-gWl~>dM2~1g!o3nC8(q}`%VMeo~7-9mL9tq!rd$=K$W2Fjn!l9$d^`Iol}&q z;)uyxb@Yc9IhU-T+U33K09+(I;lhXp4{C{qD{#EtR3?6G^;2RoNzqSW@f)Ss3`}t?QcQcet(%2BB2e2fLh+gyU`vXaey=9hFN-*3 zd9=n@#TQ4gVi(Z^qnixBXyLzr`eSG zM&V3eRC7VKkMh2!Z+CTA5wB$Ki6gODMaqUVHA=j6%JdVw&MA0JanAfGot1aA)z6`V z`F+GGlc%cgPQhO_aTy)Zl$;U~`zubrn}*f4xP~fYBc?-A>a&V`p4&Z>n|KIHj@dwb zE4xg-H>l=Xpj$$9A(8_iB_0|*M}~ss9b{`2A$(sT1P?WW;xGZ@LF=F^ikyVd8g+}h zs}ka0Kxb)hf3|o2VsGx=kuVppcOjBv2^-ZOgi&B$uWiHZzyTwtym#9u(|$LAa1}C! zuhlB}v_{%7W6I3(BeL4K_I5ynHiqQ+f`r!bk}jNs_v>wWvX2^*a&o=Ic(d!lB1os> zPP?E+Gk&t&pMBokOkzX8;bj&_toeS7)Szt2^!4=MpCkwAD|o@@rcvj8YVO1Z7suZk z|2jw^`?McFErZefdZjYG)71c}WpSDfb>|`MTIk`DaPOzpqjrT!<=maOe?+*g7@h#2 zi=&nft^|DZ*TcBk3Ar}wVkWEob^Y07A%;ewc;38zK>u6;d+#c7WyA9kFCn2;%EEUw zVob{!xJ$U5*Ep`BU#4vmIz$Uj$J!R8@@n|W?vuiwYjv0l;@FMM zX?(W+n$qPvH~B_IO|-qN=_HP<>#-S>0ZZOa6J2c9NjfK9VZ`(nY$7`!?~alMuV*)P zvkbh{iodS&IPW(Xp3}kEWy3x1M_cmk?ix9=AEA4hsOvmTp!ji$K}nQYBRU3KYU+IT9t-+4tKmP7_4rMq!ZHJ4+hzt@RVf0xJ zVJ}fBiL?Dv$!c{bU&gl2u)uWuPn2Tvq4;>3df^x%A3*Gdko^^!x#vwCpO2)p(*&{W74vJ# zV^2^z{!Gbb!|E$nWesKTW~QIvA8EGT{rV_dgLXR>?OF{yI+qO=DNzdoeU;EeRF>a8 zRZtEJMP(VaDjEZ(yGe=3;~NC)u?5jb4mUt@+8EV9>DN`0tS_jL^nN;<)iX^u{^zVU z1EX5G4|JNgLF^O@Y4s$24$8`2F-`I32g%CMTBmtOEoJQfHE+;dQw5>4UP%wXcm{58+V!gx;N)_b09_^K37u-gG`pFd`b!3t@!m*)MdzrQ`8XU@!33gQ-y4dTeR=6g}I65FywtorPWAb|4CqDNvWV`p=int2Z8Ft&&B; zYbH{RDt}>Be15uJ>cB#-Lj+LjI)>(N#(E$VzmN{E*ONlIw$Q_5=Ie9ANed=&@i~#e z+VqWL5vv)2klnF}q%tU%NU)9;>w`|KoriUW>+@aTjpN%(KjBV7tw^YsM*|wFVcIY7 zRnSVn>(Y|v`N#$yZW>9iFJsNNZj%E~rzYLU`%=JCq=5J}S*%$CVcj$-q-AilUhkfAqcK?xh_nhdN3=}DJH{@seRjqiIRjZ@k zWn$iu_lM}M`}K69hDM_$(cwg@zi!@C+h<;7x+KVkZ$Kw$!3g*UqDFukg zoDR*S1~DW<#tMb!B@TEMjFD?C0+~N((TNtFo_eK%tvyc-B=n~c4?G<`pL!lk=hP{Q zK3FYrcs^_i7%MofaeJJp*Q=O_ZrPe%??+9UE{w_m=$$U#PL-?QS zo$b9ebt#XN!w``4Ro^g5NlBleFr$I^CE zE7Df%;xIHCP;Hjly0MqdZwG=<76u239M=xdN37Rc%ubS`;%pDCm!%!@7v5HC^L|b2 z1S`v_LIaZGSa383rC!ghljk9aXu;fcg=V|g^Em8*I0tC8*5f2;jBrc_;&A%)_nxAr zj7t+I@DheiIdP35OXddl7#r`;H@uIo#-{i_h8b={?4x#R7MesXEVSBUL84N#S*>^; zQhk}6?DBi%n<;L>=)+d2a#?v-nN6>!uw0V;!f_76tzSk_WfQ-4wKAds%} zaqycq{47w|o6i`IB1Ev>$Rr}n8qHUb6>#DPg|g=k7r)e>xELRVE6zMJE?DCsi;eeR z40LDkiMLn)4R$^^TK}ShRAu22?D~L;*SQ{QIJ?Kk&DRynbJY6lG^k0(NiKHr$OWwjpYy% zmV@iWr6rNPVlUUb0Z{FNGnnXTq(I{r_*qDhmj{%Ul1?eS_tU`9)0subdwa?&xO*bA z^==DvV(_u{*1fji)5nhv4v*90#A!84O3j+De;2%Y1rj>lEW+dLw`b>eXj%E+S0Ntb zPl^5UO+n}TJZtTdl8=tHr~cWY2Og@HOC1BmPS-LYT;AVK=FGvH-}wyW&k1;E3SU(# zv+zksT(81HmaPTD#?zbauL4SS-pcW&kMa%d70Ty*E{{Dno~JZ=bTzA1@@lWI3m~32 zNQ7KjeqG3IOM|u3{q7~I$8&Fdu@1v=_wv=t>!`VTTh`nAw5LBUNF*rk>8`r=(Nk|B zdaQcf;t5*}l%D$hZ1b91Y}WsH{7lOlEjx;p$F;%J=w_(9GvEgTHFv(m2zlNW2NWBo zvws!HcpqrgUTe3w-uxybzj!14M!4~|mv)|>naUz9i)S4pBjoIQA5Bad-ov8Rahq8A zTBl$po;RgfRGBH@0-ln%6Q|fxD88%j^eF(Aai%UqK$H^0t$F$5F(D}`nxV7hhU3ZI z?tRC*v3CbS%%J$-{<`b+&7_?3^$-T;+(}epOlGsYm8YZS{@M;+qxBM7+Z6W55Zl9v zO@{lyVsr7)qkEncc%W~1Mzz6ag?lnfql#&*P2e)h=5>2EWMO7lw0WA_`|59l6=5*E zgGi_Yo{cB?T-(e{oDN&i?&|7P)B9vT>e97r&iwT#%SU3NzPb5|&?d|JtNPy0o!dsi z)m9e^A02V;9i8_9SyJArR|wWLZYbOP38od|bHCmgG(7@+4kyN|+ zD+zLtg%fzRIZdMx6%Fn72wv#!45aGq)>g@y{DazN1LSs+@wr&Z@_9Z=#F20}>encd z*ZFG36ew)?C4+B9Vne9Y$k29WUaxlR`RrcD=lr363k~Md_4N4m@?KVx;B*2N9i7Q* zevoUFY#6FwjygWk>pFi8w@AV6z?ocBiYv6*l&a0YR2ou>4#2dicMOP-r0PqdApG!~ z@iw+JS!~*;%sc53y`GqgUaGd2!>Z+d%cHXWY8gp9ydr{8b#Q=oKa;;k2a#eR8WLNT z`rOYjE({i#gg2f`Q*Tej@L$R?;B-29T(t^$o{VRN9UY0(FT3x6KaUw-U*rg^!7&Lt zzHLX@w7;nHW*nc4jP5Z?Y_w;ajcM^U28x&$10Nx~67qQ4he)Qd2*sw&tA#ai=Orr@R4RVkHW3B@i;-& z`Hp@rL$lMbe|z5X`1hf2b^q6QE*n`=kMq-^La18dHVC178y zbsqOga&(TD(_?w(nWR}MrN2*F#%YW8A+HdwJ2Z53N4Ia}eL)di8v@>T?u8d;VG)sG z?X8U<5(a#O7QL5SRqu=LkcB6EQ1Q`rX=N7Cp{x}F$?4;-rE1Cj3lZS2Xi$kE#lCDj zhM{_$SdYcT0}Pm&jQo$f6&02|#YntT1rj0J7+X^b2c%#23qnQwQqoBbBynER9&$9sDVy`fjvr{n@5i05 z843k&iIr~`ao?Y{9}e@3le;-p-7aTj+iyTc9nS$=BZ(dO1m7(th}>Sjabmf@_XWAE3nWVq1ZDp$ z_{tOKa|Zg}c{g24o+$7-+v{_OxA8U&m-^W&smSN z30_`HB00F*b(Bv*7c3Jy8@N zCiHr3L*nkb;ODi15+u^Tj^+RK%;EE(7{t@%wCadEq4}C(@{WR`Xlp^uxOTxx; zSr46%&YR9#W2NEe9}a4e1jLdhj#Q#tsMlHTgym{1qbh;V6=??#JA1py{X9!SD7y-s zO2;Kw)#aS%E!pQ~PlZamM&{ouINeL?2?%PF{PsjS?JNW(S-TM-SRN!h+u$Irtn?{zu;~he@l>-7(HFt6t%7tN6qd^&ra@Vp8$$rQBo#(#YL2`Q#D zaT{%9TA_nCWJDuPAz;C#<1Rsz!ngvyT*(5G272FkiC`sO?aT;m%J%HAwB2Dz#z@T| zWC>ht`}kpu;Pe!f%7%0QRekZmG=GUy!~PFdn*O`9%;w@!0c%HQAo8?33f!HtoO@Q zjL>^Z_t7nvjOPwt<*P~O^O7~aNtr?gF`x7PRIi8kGnbGxiDg4%*sz+Ip5{ekwD+QE z-P@tiJEVc8tS~~==XU+X#;eKZ{LYoa`R=rS#>D1j%$&I4wdiw2oNCn`XE7y z9`t)9Z|3>l`fVFe(EVjM=zd-3xmcDTG=bOobeomxl|%aSFs8}!xYGGJY)DZ;xJ|g> zzPIRc@YQBLMJ}&i-OJwn4JFItZg>!#O36JkjF+LuK zuD+oi@4b!MZ|i9*jZvr{cHPz7=|!J6`l}jNlD@o{>P`VWWZg>vzdn)%!OgZw{gL#5 zbVLKB?Kcc=bBMc1ba;SY%f18@ZZP(ryp~Ayo=UEcWcGC}e)>XC?%8oQEXyA^Mx~w# zdF$DVEm8ll_9X)^BGFw-iYhm_btm@(-oVn)(|9F`oIJ2lgHlgS9)i`6l(v_O(CMY8 z(AF2SJ`s%Kh8qop5>n(d80^$0S4Pt$RCj37kVFg^V4C!2VdSzVzYTU?f6B^3_}pDK zHyzXAVLegttCtXdcjuf~sMAgHee1gilMVKKYR6Ok2_!yUZueTDp${5OAN4%Rm?7n< zc@G=>Ko>qe9Vt?cg;ZKNrrJIgDM}fFe$M_`FIy;0hSvNR{``2cb;*(jtJ;u5(7{76 z`PbmilyTmYsVPW0o}Tl|mrgr6Jmioe4zyBah=b0@aD3T)bfvi3Hpv{$|Jc%fay#Ie zlRlP@pEor{|Le2h-KxPV2Jb-t3@D25iKb}Z@w*b^Es!aGr10QCN|Y)2*PMCO&jNPt zl#e3$Gd~KeijPDJ)UCeOtGCC621(N@iXdunL9i}}8B&D;mRZ>@n{uLD?+ubHEo@{> zIaUP!7VSA{p#MWw9X1Ry&U=ibM3n6=We0VNYEdTwhpd2)qDci;PF7B+96na$x(&s~iILV<=_8I}JI5IIkNUZ$f!<`XF zu_Hs=FqOxp=s+`0b8eM>aqf{gOF~V!fPw$vRiZ|mEnS8T;;>r(zk30UKNoj&II?=z zw{*IeCeIvs%6_PtSp{zuy;v(xq@2WAD5s9Eew-_%rw{KF{c$UQOw zwDfW@;9aYwh?6vye|6n2o|h=oFD_BUg@zv3yXDzYXJ??po6+RtK>>=Cpx9b!-i9Dz z()Yuieua8DCKO?i^!8H}Qg<`CXtTl^+iauHhV$BHcy7uYnlv{T=U58s@14s(B@C(S z76y9w@CRiI<;je*Oge3@J3~9q!CW68ou2Z)zlS)#zPhYWs;Byl=@ymM zsw_68B?W1Kw5QR!)OG1`iudTo4P-kl`3xW>wrOqYI?*^1U$Nd(xZZuz$mQs|m4!tW zcq<2(qx9z7VAJOOvx+L?TAnmko0Yb1HrRhs>FkC13U;(n_3C+Z(=)|^?*UjM(i7OE z-lnZzjvGL%N)YZ+W3fBbP4FD7N>b^I$WdUv&Z0 zd3-?RpxLf-RprFbCY3VM`$CUBm?n(8V)DiZ`?BdRSIraNRLQ?au7vZZ7;sMz(DS9= z3&DfNN=zy=Mb{I84%|d4Xpk1;zkBK&pCD*Mbk@ASNAHUXUo8d|>RPC1Pb7WDlSptk z#0Yb`Q85#x<_tLqkV4FFRce=hQh$tGTACnx^asN+;nyaBwKFq=}Phd=&?M8swQcK)H0Kg4hJPv_-Zpx8Wf?<=3x*31d_S z)u!GZ_)&q=N21;xRIp-Td>%ZL37ygfjS2qSs*1+f@dowf;+g-4rgMz0tNXh64H`7I z-Jr3p#!aKfjcwa#?545Rm^Zd<+qTXBdEPPJ56P$8adYq4d!M!D{LOWe#?#vhigMoD zZx0tE@l|)OXeek$lk%n%bam%%BTLPnU%mD&ds;%JROXISUcnFJkx>)I(?f3bK&eP< zde&?bFFp6>*^nwYJ9cPM*W4Yi#c2H5x27h@iu3%-UzXG?rXbNAC)y(>;z+PZ+fQ1x zhx3(+U_cwkrO-Zbd@|sS3tjx17&vJ3cS6ANaI8Vd>ti<|R@R%Z9!bc3cXO~H=iIgn z!@6yq88K6)Z){789POq1hkS?g?di%z`U*R69Uc-Xl+VZ6WlNcbCDF;sphLDj zZE^8_ou1=k^0}5`$EV5#hc&IWaEW&hd*!Sq{b0#`dUD{+0G8*@4ja(z&mPgKRYa$z zu;~`r5aa1Znx`gCBuNIpEKsMKoU*aq zgm<$Z#j{arRB|CQvL5-x@}P~4VZFRmZ`lp9j2lE!Q60cMPlL_kLvfW%O!fz;_EAn( z^i!FL1Y1o%-p`^W9G$G54?5gzZ7LpHJ`Ve=s3=X5(LQ~KsMEMP=-|Gejf1^EU$XeD zQjmBx4rcRS>dgyzXmJ+Z7O`VY&P~o4rarl&;u0e#rWoM}$YhG=LcS|5$vpwe$Jb8b z`O{?D&uJ+srs2~`BU1a?Cik^T3=JC3y~;iZ(fZ>0Y&CsaRA^yhpZh-JtSa;N_a7h= zF9H_SXkW0B(v!bGJw=J?@sronWKT=V*CZM%Co2;(W&-$-u%fBiZE$F=hUKy)Qn_-O z%{n_x;NV0Or`4fpB-ZCWAnh&FzrVjfvbVpfr<VZRN$A zAU)__Lc`9&!^QoFqfVSo6MxL2Ja(jDj8ePKBLEFJDw{%ZvwP5wn)NFv;%-vV>;dAR zff$f%i{HSiKe9%Wh_VU!~YVBcS2)RlI-qxp`eKLzJL6+R2u2uxRx{&n~ zmqjAH`#e(aVNWqkY!zIcnVO0aG$%uKWP2qmX>}KzDOWe~napX7d9B^80_S)4)+A8Q z-9F~MoJ8#d&gHt-Nx)Lm^u_yl#E{YGO^VZz{_Kf!0nJh*M_xtAu&Ll(Y>dE%I#{{M z#rrfw$X#>hHc7{e>Uf>p0$!@_mnTEaDU7ARKuxln8eGSw3$FOdB9%{ZwsGtWnyq&Elxvo;;G|a*oSM-Nvq6 zscZqbCcCJ~l^9ZDIe$F#KB56bW7Z-ntpPC6`ECGN?QKWsd3sYg*fEFse%ds1xy3YX z={b32N`f3%UonKsK)tY-^&Vnt#5yEh{(dTnEO6Dh2jk>qz?nA0p6XGo1!$RK3sFx` z)0=vX`0#3$cT!(o^O@SK^hL8~Jb$Wi;3KKg)=f>NlxuSFw%ZmIUN2d(#zv<7`d3#g zUB^;wE(Mrsk1a-D9)9zqtXtJv+(}TyIeEyYJ8JK2*{w)fJFp71lHq&~;(rtPHqBnu zBAY|nRMKLyc=iQk8I@@Y89Hd1Vu55Dq!(W8r4&&*Ff#tuZ9|)UHW|Cy5Xy^4k1)+0 zwd9NNP2|~Hn`Sw@WWDQd)LTc^5Vya#_jEq?n_BA|xSz%IqtWJqx~&e*^l7rGj#W2L4pbO8BDgTX@%w%pg%N^$zWU{f zv0RxTFK?#Lps(1)X)QVPD9+u>t) zI{Ku!(qN4$7M>f}bNsj)+4TvKBWC3?+gtT%2%^M8&CE!-1T>50@J)Qrhv!y;6wkH- zTGC|86)TYLO~ZKcM(Y!UdI^ni1&pQz|PVl%VI)8yj|j< z;KoUx*`3v5MMDUpe~Tq(Ri~%MxH4m>hh{MdGDvWYmHCp+ah-k>Hq-=E+)LB4KjUL% z100{OXK&Lh9Q(`OT0g~>l%zOW0PzQGx`MbhzPz}62VJO{yK()lI8 zSPyoq24D|Bsq}AGrd{G(D^azS(J$COdQ8F+1Ayf zqwcA)?qRc_kS-ARO+m20HGJ|4b0m(DtV!v7uqSsC zZR?03qEJvv)LDxk#qxya^%~6u7(cno?)Rqq6vb5%lxZ_%`g5nGzMv~&0=IBEUpIF% z(ubFhhiO~ytDujqj*qvAw%hb0!Zxj9wr^o#K)uhAwk+%`2b>-vU*n{UN~-mXboJTO zn0gIjm1z@Y`f~p}+YBOs&Moz8q!m8%jrhXT?Wz}NTC@Z`0=(>utfjW9)t!f< zl~uEHNwaP)GuJUgQfaId4SJZJ&HX1adi*hC3@+O!M@Gyb4*W5|{&0WHDIXGBy*bXv zN1P`a4P$S#axxbf#X`%NfU4?0H0Q7xNXxJ_=V74L^WW?9F?BFqu2aBw#%*+ktBxu^ zeIgqEk@OY&z`&!Pn>|?-(=i4&H6z0` z(xIuA?Jhy8w=VJi{KeGu92cNp*4H$*uj=szg&Dn%Zz*d6s*P`g-`^uE2ofx;4gShy zwocC0rZrH}B|Kkv9bp8MaUUdAuD82edI8qckyGx{v|M^~qvK0ejo?pxD-Vn{&e{qchmqojmAt^8`pi;76d{`&V< zP7eHK9G|l(Gj@X#&Sw2|9?!eN%GQ_Hnh>FfB~w|~wdM+WIV_kLN1#XPv(VMm_!$qr zO0nWJm*Ww9xD~x1>JaPw8}@j6+gd;n0L4QFw8y8bEY~%AxknP>Lu&V0zf)1 z?@B$Mg}2K01)vk&w&xy*eNTn+6}?{$Qvmg$#`9s`Acs{ziTn1Fn7m{je@HCSF_kGk z1coh=Mf~SB`0@$^=Wm!>lNO)vmPC&Fknv1Gw9CvrWjxBcN{ra{i@G6A*F`_zBickZ|xP-MOr9^aV& z>ZO-kjQ*to80gK(w*X*?`7?xgOhz$vNt?`xPpiPKy_-?|8)qd z(P(*Hywx;mX)HW#iM9lx0%bCnZ8Vz%pmrqE)d2`ZOpL7U;$(;8KxhdqpKCPXYRBEm z$7N}Zpl4Bs(27|t(6zsQoVJ<96A#&w;>O;&udL~MBCtQ_B$Z9;icwCNw>Vz z{#B(bSDnsW@&urQa-Y+6fNywTZEJDmZPWbT62BFmi}oFfM|9kdu)lkvlVg(E+V6hd zyPox2Qq|bFsj?#&PYw!em;HETI5IMFbT}0FZDl=#Hq~^aR!C*aWouqoY|ox_6F8{67= zh+`NT>9YXewX?l^%kHqAUj7&jMSQ*l_bayut}qBf`IF<#(oTX?+FzldCf%Y3hmAj| zpg%ci@UdicSHt;1Q-Rn^@ir2M*yJnh#uA=Vg&0}x_gxF?{MyBr?F`!KH2=&s>zyRJ za|-&O3$*SN)MAKy%v=R^xjo-C*mLt0;X#8qpZgSfGDE}Pt{s|K`C1yiHDk)Mb5A5U z1aIE2BIJFyH>tCDzT85Ca0v-p*qLYNmZlfg8=5r$kG4B;jHp;S-BJ3BK@9QI+dB9r zA$)x~wKV=Ne{W89&HC(2mX0oHh6K@wZK%2V-}qD1R9LfBb4?ykQYk@J^4LGaBPR!U zo{naXqRNT*k>}Uf>C81vG;kedgQ?oZiESn=W;oIv9;Akr)*86HFo#U3SlK3W%(%u} zjI^_pipNQOqW+u#nhO45pZCAALF<(y^lBJVuVN` z3t9UsP@+eiKyWS-P456 zvp$+l_teqx)3*h(7iao|Kp45MXC}WFXt+Of%|4g}kmq3wXb=0*0rwa0YgwyEtq-`U z$!tV;A(P_RSQj=W-mW$4OP5?wJzpEhhBjf`Wo8YirYUOTR-y0l<|rPVRiI zMum71h!KF*9}PY(6D+wPvRxe|7h6Mc(Q1}@Hz#}REV+_YKc{&tPZ#%YZy)nrWXw1Z z;|%93HkFrOg$>-h)^fqS;)3uAvW_lDnkI$ZyzN?R+KvXd+Lo+_g$M17^X<&_{()Iq z$}9OQpm8L7A7Zjd2s0m#9kW6uA{Rv?!9&GMYC3#?NrvL&!tVJD=3+O}Og$bLI1uFa zbapdRoKe3hxL2UTj1I)duU4yEYxVGE&tf`XX%nAW1n3O5Be5KHk0YD`1Mr|lyE=V> zXR}7ub8pxFK8#96YI-UWaSDH9hrBu=Dp;$6p0V6!V;uuN1RFc4g;x{bafyJdV0qbr z=u9@!99U^#ZbtUz9C6>B>$x(yIWC*ziR22EBK0fCH0cw@bqP~5GcQ)A@sQ0mJzJJn z(s&BR$k%6+|9c15t>?!_tBd`6c|k`Sv>5Ck`F(wRL@S=#;KSWnFHg&g{3d+|i}pIo zg}Eid&q05OdOJI#M${x|6QngQ4O!9nsv4N^k#IieE0Jgsx3loD)g%vn>507@J>9-N zon9AcgX89FQP9m=pI-UOS&D<5)RS88ttr14DbUdhP{8Iiao^8Y+rQ)2gGlj_TwT}? zZt~wpdekab)wQ(D&4)NP{?_5R`n zA*Al;DClg(L$UaA^i;&rG2n0v@MZWoI37;fLI`mT*@B&yW~0(()L*{wwq}UPl z4IB_tOE&>(l~K_#6IN@}DMSAP8N7^~j;}ih`+kT5kWX9M3W`uIo$<0en!Sg|`|_l^ zsj1RNBI6jAfiAAghTF;L{CYHS5b33-`k#pI;5>&gqC`fL>-+J6d zP#g?>Q#4{yM=^3cK+9LO4+{<*#v(!m($$+$Si+zOC{n#*<*jt`SkzQf9R`L2@l9$l zNq{1e2Fw$3{mlEIKH~x~ zfFfW<PtD80cw7Pmd&yaECBr>Be>8S+ti*DwR!wG4?cMjCmEv1y`VP$35s%qCL zrxzHxUhb3~RgKlY8}&}hc441`YK_PR1={R@f6L0NATJNhl7v;R7s^(1vj98LV10Ie zXeMG<2n|~isdY+{nxa{9*vgouq4QNnZme)7Y&;sfzpA|aXQlFZW{1z-@|eS~k5OtA z>!UNHio5!kWa?xA8PWhJ^{^7ADp5_4(ylTsFKc8V)IkjB{2S@-gai>*G;x??G1_be zniIf1Rqo_2HyJJL$DpYxJKGwERBh;94ashXMhL?7<3>IDk{-cxz|*q7lDxtAbN?p{X%J{&hD!(p|P52W<)tjwnK+_78&& zA9E{Zgs>dYnYE(b6LC5;gwx;Cnd|ULo|6P^i+ujD;G@Qg-O& zT-S*!0c>U|3?4kgKE-0Kl3s(KvWCqSZ2h=BOG`l?dmA5n9dBG4hesBMkt|VY_6bs; z&2*d}#&f+UtZ{g-gJ=-nD(wnbf|Dn3M9CP?V(k2+gFd$RTw^j?Z#O=!8hY3B;LyR% z8gS+s?AXPJyrNWm-)7XC$`BC2$@cZpK<1NK$1a1yFf`k79QU&(jUjy&ld6;UZK}?e zM5i)on+USwS4ie4e|M+fEQW**yJVoU!wIRkw|^KSsf*-w@Q>poE zphAV={es|n$As0PSGAPk-02me<()Dd$2B#NjbSowUM*r#XNukQI-6D0XBHUzK!Or} zem_Q@q<_g58kmi1Z_kZ^m(0|mpeg3O0wl!j^g>0v|LRwv{uJd@(-7d{d))4Qx_UJT zdnB>-c?HjBNI1`zj6N1y{7NlI7)cNT_a-yvrM1L{_9-?gPVIo<$d7q(a;5z|!pgbv z3OTD3r$&qgGDC|t@+S!pg8us(+=ziZvlbzuK4h`{GE4jjiJsK{&q31-ANzgUe4fOD zt!n8P6u`*PF-Tvzu5f2YPs5$KBf%jPM=P8X(~|i9zG$4hHRD77BKmfw?V5M>?R+Mb{@k zFJadU!=n2Q{z}T4_A?oGm4mvhGyD|Epqg#r%X$bt@X~0%Ene|Xq=e8=5H}=x_9Bge zxDK99>g&`Y>_Or{PoRAP#B!xORa2yD3?l*YtPNY@u~w97IriY_@$3!_B}rgArLXi! zLWuxrZmZpxw~Tx$Eq5$TRc)oWs7UaBG1$K0pmO0^iwc-)x0%fPS z(UcLQGo&;R-Y@d(vMv0~PTRMg7w`8t`FF!p!ljDFx^jA`w1$A|R{1HuwR@vJ{yZ@OjSBM8tBjrlfGm^}%Z4CV^_>WdFbl3!gudV{gMN~ED!Ti3MNHP70HF(Gef><5a6w1) zt34oyV=xF)3r;HVW%qbqofgAo9%t9j<7#vHSB#KvzE*XH%l2;^mumYb21AO9=oiAj znS3Q*oJS8zI4L_(6^DtT$dA)048EX;OY|81*7y?|82zOdbNu_lUDsBa6%{AzDsEUH z&q2hG5o)=+i={dqz|B(2Ogstvr?i@d5fK#DUHzHd01=c-yTLJ5kpXEp&Vdv+#GT>; zkv#}0z8h-}dkZ&t7Q(jv|11D~0^=3w5BR;3a75OTWqF?1L+tOdk1>POX3B6zKR^#S zvo;P6zAO&!pbz=$dopIdCx62`d|{9)=BV9>8E)lZC=&Aa3{D9;X||k~oALGH>|BFs zCBso4oQ26L42TbgM{6%LEB=ACCZ)?<`}*Hh?73=;@(J!@2cCSo4}x}G_8=;9hzD1l z@ocs@<7;Nozv?|X>Twi-MhZgs?-cQaiIzn#Tp!O*iTmj!OExggmQMK!g1WqJdY1fX zarBBw=g1}=^=L9GiWY@@uD3EWW37)7J6Z=|x82eS0kEZMrM{?$xx@8dvXs)Di4ZGc z{%RTLor7YuPSKJ=DnI{NfhFhaC`v9iAH=@eHm#W@6RP1Uz{q@w3zOn5D_Mvhb*c5a zY5$egjaR+$mw$!Q-lV2jo6jRU<1kBCJxoG$#nnmZeenH{dwJslvrAk_h0CZ1LoVu+ zw(s4y6Jj#ngNs(z3iUG5ZU48n7{aBb&;cWMgQ_SbE|iQ}-U3pJ!ct7Gs9z43e&&DB zAs}PRs^W)3Yvw}XdIOv#KoF~yn{}JyJtg_ZO- z2ACXtjAvoMNh*YD(WF@N4K)BC+P=rhcU;Y< z01#HuC4!tOy1Zb!EfC6x4KEh}b;Aax8wE;6)KwZ|)JM$*(xV zLfI$Zu>RIqhs|?a!*NyQuF%w`J_a%TOhPZ)%}t3p%`RUpa3I!~x|#lck4|0`k$jjS zwX~u8gaM?EryLQiz$d_kzUDXlNucBn?d&;z@l(076S+ZT*hoO9L8wO6=P@~x3Q1|6 z_yvyeiZHD)g_lXz8oqwc#ut%BCie;mtI*bIq61mjX{OPeL#Q(u2^HpH)1lees*JWtWDQIh0%Zg-_S@T$6LNxZ~E`S9m&nFQ~heQe*$4p|PU*+dzvvYRlg{J?Vi9FXCh8kJJ8SEbMXGLq( z+66Tv28MP^>N`@_sS_7Vbwr0q%-_n*q^0#l#e{)_ft06fGiaBBHcs1oB z+%#th<4eozCWVa%+Z_Y)7&Ut)?|)cCQVB&3t;y9lq=v#B6PJ9Mm?EE|2Vt5rP^wWP z$+4aawu4W&{g$srAiEQi?Pa3U0Ig6QsQOP&(A!DXC#S1^Fm; z5))%&JBxswyD@9H1}?_~zX&Kj6t9MeEN6?@B6%swl!vM5KnGT;C1yesz)ZtvHg#XWyk|P5)ojzO+Z3!65$_Z634oJhJ;Eak>dEkZlHpM%l<4S zD}25Pzw#LpkPYYdhSaDgbahhZzsF>|$`FBeKuLs|TFLE*x;D_HGo*T_F%Tg8oVpZT zI1v3wScxV#q9$uVGd9QZo*&$*?t;DVw{uJm=)yf!NbEXACA7KX+am6KjeX`WH_k5o zcRSPq3pZp{I9UlE{ff_OYDZlJh2i(xs3gJpZJs^RiGPB6iXe8f{^$A zHESG7-I~M?DyWcD;T$-?TW@jxi`}|MaKQ>~Rl9%&$>r1ffzDMr`HJPrPtqmNP;smH zg#}E-w&OjSZ9m!J_z7E~K!8}qzHn;lxI15WgP*$kq`xVRBR-Qczh-q2R-2{xPO=+9 z_<2%Kf@z$;dml{HagL==AZHYW4{r+_?|lQkd|q<=S}}iU6AG)r2NN=1SJ1UQ7Ea4i z65qlh0$UXCX3-Y9ZbH*D60&BH0a~{-rt)?{pZAO=ON0c2 z(67yjg?+Gyj!ni=u?SFx#d@!Q*URQqkR?5^;1A7t91z4fIxq$5HgWtaqGTj9kNc3m zyo<$jn2Hy?(zwPZUe0^dsX+Un_)$T%`?7}h4RTlbKr6&!cUL#(vZcw zH>mKoK4D}B zgN@5pj)Ac}P$Xx6|5;0vbKy_y)e9FP>E`I^Yt&Tn8lR_SBhQhTwsh zgF}TnEuf!nuX7_uz&2ypJJ}YotbAu?Cy?b1##}oOGFpE% zrnUaumFSA|l?Mb(i$x7$Ya{y;X)6DK6szxDiqgW?bnqT(Rm5ac>!3PBdaqz5HJX)q zoDoZNqRJ+9pXS1Hpvgg$FwX<0a8E|5p;)wSf})yLB8G-g)272hJ9+BlFh#1K+pK zS2v;|J+$6UHmcBC4G|kr=4dM<9~8*MZ68;HX`j=32pE4)d08~d;25;Z(&vA-SuB-| z^b?cwq%f-%-KbfGsPISplXQYC@p8O214IN8Hl-?=O5)eB(RE>4=W)!?>|uitbUi_q z6buM>ZV(hS`!E?KnO%i+i6=BFvo1~R-FS#C;TtnPlJRtyViP}C$6uL#fF-&*jP<@! zcM5p^e5Z^5`tb3B;`5mC!GjmGrh!plda%Lg^1k-K6fd2i%o+@O5-}gR&jdn(HL3lK zwPz0+e&|)Bje^tI-N>*kG2wl&{d3N0I$s4hK1<@qY z*|s{HSb6Qc`kpi?v$m7D|M27Rh20LQ6SPoM4{L!2)*Sq_pT$alL&QH2WTQ57bisE1 z-j%Cq<$a}GnX=Xb=S#rkO#f$uq{RL{Z9O=V**tp=T#ZCjg*w8QZQXANGFY@DYCROCDQqfkpcwdZ$m>Wz3b8hNG_iKdGOh(NBpJtmf59IFw%3? z+0#c=g^g*5^`j;5J>Tj}40z3}e>rK%*tI55;R-3M$S~8MeA#&I_X{6BwTGr`EIGhc zVC8%6s|qUPfkE|aNwqaC@Up!8Ry-2$aY(a!H7wy5aW>AP&<6Ych)7xEj2LTf0Q9)c zHT^mOYQAH|fiblozy+;vv$&1}gd*g<{kB==J@fmXSg$`6ERn|ygT)-aC*4_Lt9P!{W&`eLcN3bLbjWtk!CtJsCPIN;6SrFY1BSM8I=dR6E zKX=A|oy|w_<4tp?)i`8}YoV+wWVbi8JArZ;m3wfJPv{i-nVO>P4f^+2@4B~KqftDV zGJ>eLv}p9N$*;TkW_!!f&?d80%x-^z0k|BBsm(9l5p)Ef;0|B=EQMaLG<9EBdqRj; z@uCC6%*@U2o;QJ+lye5fgfZgACLs?gg;#wSdKuHD($y*3uGixq2})6kOGZn8o|+W) zxfJ};Qj84O*w}gv`0={FzztIVT%gKUQ=9WsXhg(FkVqJdgbCKhYaJ61)6zcp@q-S? zL_PEQek^xy590{FB%3i9{u%49M2X&L%Cpe zzV8%w_HIrEe_-n9E<(yV9K{jCzp0N4ritGA&|kp$@;k<4hRF{E`H1_wHnQmD1I{mW zrY}D)E@@pCSEB-xL#(huoaU6uEb(W#8VFV5?5xR>8b`8(?!yP8F-v?<-lR#lDZ*0~ zTBpV-p}Nkm@b(r%X6{piZeGbvNuo#BI7C$h7Hf<0S3@|0Cg3Rn>flhCz?_XE?_2`> zH5KdLxh%U5kDGE7V59?eCU>%Qzqp5}c0pcSu{y0Jg+9mn%rtPiCB%jmH;oBcr*YMd zG@uhe>_q^RDU7}Vqy4|2M-PzqIZ$RX1&b~NQ;|kjx7*t^0eB*zl!C1$0+_xqUhvmK z-0}ZV0Lt9)=>4&@m3$r?2sJ=4E&eM_NxOGFdAYcG=_ctp1DI0kvzM53@zQ-F<{Y}M zob1?0mNy6^`3}Es^~mue0!8X>F(Ht&@ZR@MOa*U-LIfX<08k@T%68b82O`%##JRZa z!Kr~`Hop(|)XesIrQ@X!fr)6P#q@`(DIEy)TLoE$Oh3~-ip|D62J3lBKa%Aorc- zXm|jIU}g8`hrH-;D!N)~9jMWMRDqt8`@k5RW#R=kP7m1B3x55+oT8ktyu4E%Jzx|y z+Ms0aPrJVqGdEyG`_yo>;S@F#gcp{Rh2bJYp+L!kBIMBlO-$s9PWI#(7(vWs7!Un- zQ-8b){T)*?G%G591oz<6OsmW!^Sg(Du(XBT_ouTy4saar!uqwIgR~=JK z*!7myaO;x6y(YxXes_!EnfY;C(>+(JPTOXGd#mexkhD@?Z-L+9V7)yR;_9>4M4jqz zmzx_`$oPH)L_-_ij|xpqapbZ98T@XjxR07-&x@QvSF zt>&&3v_}bQg|N~dJj3k!HR0$FeLr9sq0+oLzin}%A8HVw1V%^dxiEb;fjV4q*g=PZDf6Y*zi58$>Md}z09!?o)f!6!eZ3@AuMI>`g!3={Z?Qg^+H$B z#~i(!E2{Coxmc#g%C(YnA$jdU!<06I0JmWWp+EdL=7$NZttacaGwE;p#6KW0C)W(6 zz@uo*oZm`-j)dwLScLt4CL5EPj>ijTW>?Y)V@1*avC4C><&g8`Q}cWq8T z#{q2$LkEiWhIME9HwNx5`Dx1tPnqp*^|UbF#=PFS`uJQ5>jK<@VMPU)Wo3Cfn?-gt zRgorf+>85(K?_* zGfRzMLmy)sZ5m0k&aQRg&B+DUOVdls=_f}vqP^DM+D*Y$KP+wT)P3_6A^e`6@(l-= z1aE~mVnscngYKMHgq~&>=_<3_pNm8O-4&|S9^kWvpqzzE=7B(Bh2vUHEWE~;Lj@-_ z<{3A!u~#DBHtK4)u)~UED}vb4XRf8&+XeH@t+WLQVkFs$7mqD+)M>+@0zKBl*5qK|QzeWAvm35#{b8-v=akznrX*RW zQ-II`DfzBxH}xE9+(iWK%HS%EJxe|^e>IOzvHz8sqOrYcoGm~X9s}nf-9HhruWj-M zsafc^AHWg5<@qLXzio8_lX2v-@MzTB*zuR@@?Mq-iBFF$fGZOOj2yB(U2NyUkHQQW zhn&P6*{f!VNGtCg>Hr4Ho}94haZ4C-ra}6pEQ$Y8`%(rx-Q$W7IfNYzH9Qh{ zh@qXMlf`5IEOnN9kuu{+Iuyvz>L6Nn<70{s=>5J!VT;zgD{1oMV`24SfS;RphaGed z(pl_PSPq-Vd0?4;tCTOaN(m=~6GutRpX8#$hvZE$53vMhJ7!AtyIdR#08wlJJ@P#r zYTjCV{nk5f;O*K35mj{NbY3{8ql??^ucvDO@_W zjN})J@{ccOw?4N~e&E)=VXZ45QBeg!r&!oeGympa4z|VuiZUD0iTGhs5$9?Q;+-wS zqve;Os8-&3=ev<|G#J7B61|qaOvNXVVEjVpD|WE#oyKZbz$?OumF=0VI*y4@txEDQ zie>yE^*Db^WZaQb2t*`I@me}aND)ZL?QRESM)qFqpS|A?cDc{N-*9k&4c&PLl?od> z7lc7=;HQ1{JRcnZd)&N{+V14xju^%#(xe79Pw*2;KH@!{ufxr?2Te6XE|VI*#lIY3 zRn4=v>j<2=I3+mGX;KhhqLEu3lc_}hx(_caN5wOkS_HA&ON>I>z~PR6Epumz;yOHz z@e{#6S(&bLS9&=RbOtynV+V)(30A?Jqm7?$x$d#egyB}Ok|MEir0P* zR0Q)oI5yYJFw^ciEcNxhc6KUAYEnQZI(ysM)hbW7@V23h6-SsaQH;>J2S2uvw7;W# zJl5-fe51ks!Fv!S@^jx5zkjv`4ed|PA^Xnjfi)C)a8J(MT(?IE0Dd!KjvPrTXPAc0 zB(6uV%Q6f^X8?d!J~(FR{)7RF>^Ye!Pd|K9TKMoTABr_=p8#rc|bjv<|zYyx>_@tL-WP(gZ!G?7!{-+ccU0)#3(g4~du+2!z(6lNV zA^ko6G)|#4n0L0(a<}Qv!1VsAE~pDYlqC4Xo+lXyx*x-a*5y17 zzx>|(So*^RqD{2>PXxN&k&d(-iB&XA<-KvX~uK8P< zyE~h>G}Yy^V28y!i^7xTN^!peXyI$t#{&v%1@g-pE|?6orD`SbASe1tQ>F%}rmvmJ zcT%^#mBN(kMNmS1cOZz+7w;2_AqphTh5`+p%=3;$-gd38Rm-F5`{Br=8Q%;)Q5%Oj z$3;&#i45yX=IWYEWSx`y*a}!W8MOpeb0{k2yG4Dn{CfU$Dk;H$bSt_|vpuewv3#8V zD~_xxGqc1PSvxL-16_%))UvXuzh3#kD@s@4OgAKTn+N^%zb0rwaSua%fwb~(92ESI z7W~kR&MI*p8{vjT^2|jjxX$05$?hZ&kbZQbd{PWQ_%Y_h(L)?HTef9w$8~rc_?y+g z22QsA7|`%{Mh6nrw^Y`F^OOVzPNB{p5TE)sW~jV!MzpGW+|(MeN^8 zx%=OEsaRYi6ZGh|{Y3@JD6VIuW=4#6<8AgV_L)Et4Np%D!^jgt5J0Naq9KL!@YO%? zBJYnVUa6lhnIeDe$Zzo4TL2^T3jcyPUJJ99+G^CGr%Pg!op`%Ym5OI8h&1`7oN;3; z&DY8$p2Nf`JY8Ifybrnu2gLx`uEl-UlTD4jtbd@ez%-Hbt`^cS?^>IW)752vJfmfP zQlY^fNgcYu!2f#m9B$ajRKG_OzlA_AlmzmovP1>;^G}c~aqrXRzS;f)AM%^(07Z-m z*TAnvk=FjM`g`L*0v9U4g#-zn+pUPiDz79El}jP*SAynI{HtAj{X6FRQ-!$E(CY?j zHcq);nVLy_Tidz1$gxJS#2!)HNUvHIM%pCS8cXLrvHsbytW{!KLgTj!N&F5ui3u_Z zkR}5(%Hhg(_v7oiEw7x=Z9N!0L0v-POsT@1Au&Xd;*r?K{5eJ;qpzJywpQ`rcD_Tt zIwJ)L5?QO|O3n9WI#WCCBTeYFPUw9>_oHp&>Du4hJGH;F_OuKF8Z^1S+-Pk%u<^DT zmD2R7f|*a3Ue#%>p$vzW;h(tS&;HB(!}#nR7bSQI@$RiQ&-&n=Wdx>nHeSJeM@H_R zFx8t+b1=is85j%BI)H_LtLwX!Z@8u{3rn)NB|(53l=T z-4a=U&_WXgg+h-4SFwY7;{%sN=X)$8#nD*T|1mRnu(BCDbE3onyAcJJ92q) zQ*c94$5zPVvbAmqT3&H(K}u$dzfYABl9U-z4sI|ACo!2ZN{Xs}hfiY2v#bURD0Wi2 z3T|lh`hN;@6h78`om#|{eW28oqet{<89%mRyiM@CXXlV1fTpDWo0|gggzrEeftQ7)#$BnU0BivEvbJ+ll3!_G(}dXE z9~;_=E$+(sDJ$BqK-eS}yrx~QtzAB4r_NpX)s>rCkJR~OK!OlP;{rcg^h!*p@o$!G0EW^5@z_KGR7g`7UJrY~6-~4pG)v_asA1-0c}QRqKtnbMp+*F)^SN-whT6*k z62pMJjx<%S?#Hsyl9M8O!Sq~1ou#Gi39KnB%IS%=Jd<~;u-E4X45*RdvvVymT->U3 zQlfQ*W}+49p(raQq)o$5z!a$vi%;+j%|a_}luOmV?x&s@g=&C@VNOi_`6q`W-c8iy zza+WSbNb!9t3_10-bEtI(y!mE<4x_Ab&8i>k0Eg~GM)WT5~#=T@Rdp$`Yx7cviE&d zQ#Kj%Rked|GL_vq#l*=^RNPw%Ob~V6wg>Y{-T;}fak;U8Y&s^GRqGwWp(GvDf}I5&<7>m5z_&tjGafXwX*|G&F8CFRDoHp=%m4 zNc6wtS!9cjp8+3_XcRsmJuW>LBIP63Jv;KRhLf-ML!!|QMJe0I#UbAyU2w%7)-)_q z3=u{e8X|&NBN~;pZUsePof)!^czoF8a31+pT!5vtiffz7?dOnxc1ES-^{dzU*uQ>> zHv^yb7BxjgOv=a^A3{=3FVlwkWs={nN1#7u(2U%!<2e}$*s(cGUgzNP=z=62!KZEj zi2GTtJk560d!y@fdYQ8Zz=g@4&Ah3;7p|F}dviM*PwQ#1%rore3N#N+Tmojz_(VLd zEebR~53sgAZZ?_EU0 z#tE$7enGQXscj6ii|8^c2Y3DMik$1Piba)CY#rpNn8Ofb9bED+!Jz3qMh z`T5=56;p(`3VNBjdTPdTpGlD-XWlIv9 z3X2pe<6iN}#`ySp!0u&nKIoUvYIFm#^CZea`P7c;g+*6~$-XA(Xr&Yb6#*=9V_USQ zt>~(|MVA6m%>l08-R(~X027!WxjY^e*os#E`DrNQ&Ef5jCISk%Trd|@ES{!XnMh|N zrSvWt`8dzQ_nF%HL|$ewPWz0?{fNM1xxW9=bk1R!eeo85!(>mMY}2EBm8nQdv_0$CrL?FFz;!?f0i7s~sICH=qE=M2CY(;W&MrJ8I$ea*C=_#|A(}n_{F3?#p%N zAx2PW?nwhOMcp-jvCUY&TT0hMD}2rAPO!}W5255bmsrEMGOd&=Ts#}v2mFO}D zQoq9C;SNk-!oqe-V)uj?h>Q&`<7Pl7`$%bjAXpr`u;7o6 zhc(r4V8O&ZYU1$O$RahE6t3BAiqj%v%jkSFE831j*AhSf*V(iX#W&to+nYfzFFigU z_*w8%HV;h*&e!c5{=H0|jjJ@L!v3g!FZFYu_shVn@Q?2f2MxH#lUG*iE+v)-Apa3r zPN3&reH)iU!zVG2wO-$=k{N`ly)G7LjQ|3_!-X)R9RE>Tf2Gscw}EPg$?5yRw^YGwx@*_ZeU~X*Wm>9uQ0JgS0cE|WGPNOG8=c(u!R5gqYube zIe#Gw$QKOX%ts&o=RU5pd6e(IjqlrC2b0S1qQ%K}m>!y<4Mo~)Cef{$Fs?ClHF{Li z==D=af8dbvV{P>wrYFX2h_EIsG9Kw$ZI-_FBwE)b)731CbMW_)%nDC=nnY_&BNt0Y zr3*JrR!WxM;$GB^dt!F_i-m+%JHiS7GsQU`rl{adoyes?!5>3$dRWo%Q7edJDVn#L zkt!&!7cUC?1~o)kC5t=hW(rb;PP<^fvN7=X)<@2tz zcy!(L?_NK=AsnsWH?llI%AO^aCTf-?La?v;1=0p-`@SaWIw_T9_kN9;ODujfG00N6 zrOg{oXFn$MGHbUwlOYQ!>L;n8-u?87C|(0(zv17$lP7k!bytJ0!)!6 z(z(Sri{(rUzD71j7Z)u`21hAf_ESkscBWphm7AynBB(`4#8b5%e#>}d5cl179=G>hEoqUWtwd(Zaejd!H9qEoyomQWZ`X_b*Z`) zMb{o`h-G<(#EcN(w?a1@Z7OZOIY)zA#U4h>s*w%TswI>%{@nNtiG83N^^>}PCBj)! zwQ59*{s_A9w+ZLJkNdEmMoc;|BTa_ZFBoNw!+4Gk#9F0w1N;;t#iV>g-QQrB$I9#% zT6T+&F8WUhd^g#c)?6E2A@1MOdyze1G|l^GQm?bfK`FK7a~h&0UTQ>9Rd(0^Z$EE*HBb z8iO(|gFGeF3=9t&>QY!$vyH}LhYAXKyftDPf^O*L#=c^!2AG=a zPFtL?f>LmiVXeItMsfo8HjgF2sO+d36xNiNhzGa}UdNES!c}%YtfSw}Wm-qV9nafp zlGDE@=CYN1cA~2?v$0k9E)N`B0{P{Tw?E^&%5*LxtbSl_2=cqIr=2P~q1Gx@jWbpQ z(IAMMkQZ4tOu6Ftx|H5Y#2PGUth1i-`gI-0SoJ~@7a}>iDO6!&<1E7b`Ei!4uk;Lb zCp-#;XmJ)A+XtD+YHBnGa8!iybhvW;`TkO%XKx1&OAkj!1~k|uP7}0n4H5!~YO_G4 z_M_u3UJ3zcnge^V**QVx<)$R9cd^l|+cZ*D3?TI-E~=EuN9)KVY!I(6=lAUJ-;3Pt zg*D*ZlqUW#B+|4zNRDu@<6x;ff5Z=2=7;^MGK;PPlk8D?CMt%?vxKZ5x9`f<8j@ zm!*&H!|03-`4oAy-7nkJbsLBd<=RM1T&ugqF78&&$H9wna%3zZBM^ym`>{RbBv|it z8_R5ea5GHi*YtpApY0C}rm*GB)%%HRKeUcUaKR03e=ovJ{Suek6l`O+tKV5Y{;G)R zO$iq{>1MUtUPwJyzg$Kxy~y{A%Fw`4u|8;o#A4yZ{qkR>^cYF&ku0=(rG#7cH^nN? zw~52TL?YZG@6mtsH#-s2aXwEcTO>k%;Vu(I{}qV9M$jv=`!z2tH~oujr|3bR!wPNM zKe1DNmhqq}v|OqhexK2W8<7K`wSv?48yhyL~$h|MP8ffJdnmq@7P zLmo(oF9wYwKKG#9J@4{f`M4kUm7h3A5l>DshKl4?d*6i9cV=ZeIe5g+56e}hw>8dK zCD_#Xg8RcXSwKCCkSN)!vS3RZ=!nQk@TC11iK3YxLCDpq>hQRCX2JO!FD77a3j2JCyZh~Cx&LqXzoQ&McY|+7c%aCE*|F-5&z)ysIpe@yAdEA` z_qwf|!K#MDHpqU4lg{U0n_fmGsC2NFXEq`cDi4eP zaSM+&7e`C^60LfWQRf~uDjNtRQ9>&=Sb-HLw0_@{U>jG3aVR;dbJJTf01Nq_vPjJZ zez}}PYdqR;h=zVw`%|e|VGo4ou1oe&c}e<3kK?v14?Q{!Q4W=g9nY9Xg4+=HHvYU0 zM9z`%tjms5>Y1`ia#T=gFZT1EA!>s>bhPUu}`LQ zHFX(XW9*7EO}l^r`|2z-UN1RDc~b64D@0-XgH~Nk8s!_}`#8Fsn1RF)O94xq_JP_? zS2DdF?Sjw5Z!fHH~I0%gao(ww# z14?bs|6VFL?z|dLlR@fS@-tIS7JIVrPia6nLOjWHw7(2({1^UOoQb+K4Jb2c+uO=L zVMmEHb-FsTUX%W*rnPMJg7pi#I_bQqXy=Y z8KFQaS;zC^ioL+6ih=?!DzNvitu0;f?zKS@{gt#J(xo_BfCd~8mt1Cq*o>_lt4P5e zf@JFQl9IrUwMYnb^+ud_)0{gEFc<}mp-PZG6tXQz6qoeNSY|Fi=v{rBFdDQCT_FzY;)#yrX#3^xHeXcwT z>@|S>dGXm{1)6>}PV>vmsBv;#I7^JZ@Vmscoux8sn7*S9@oM@X7Jc7W$5u*-MttJ< z3)&h1(l4!{&Q2Xl7P0>-nX45+dHH zv=UxB5wO6241Txx4p$^^%BLBrR}9gy1cPe1$X*{7GNG=!NQ0YXqJ<5dEUim`{f#Ft{5}b z)dBxwX|wcO4j+Hwicl~`o*b%b9VWOD2)!`g>jV3^m)Rr2s}n2IJfqtCv85QmmLx9b zvT{#~e06eSM;@ru`u6gT((P)Ujf2_i_P)>&z#?itvF320BUwA$ja?D)ax!y!d29~? zA^7oglBLr6`u~bPfG&(x*>-YNlv+hP-BwrQqsL3&rU3}^xFHj2+1Zs*k_^`564R;z z00O*diT=QXyfYxPO}O0MSYOZHj}2BZH*#16<#dvlUdZQJEKOL+UBbr;pJw~fETNu6 zzk8D*}w2OdDvvA*w4H*fHAG^rd zg+gjAHW9LzIU-RA1|@^sG6=M(d@cbV>Wk+O(RH_xvbKs#z+cBn5DiuA)iWK_Q?rB( zJNS*s%;t!8Kt|?`iBi{$V$FqKIder;3{N*M>#W%w%5$rC-Wp%1A-!w#Ua8M|j{?d5L2ltMn^}HkPek<9y-e2x=!A`u2 zFB@E(RDy`z5Fw=(K6Nd2k>3DS5dsvI|6M3V z&vv!xS8zmTDn{FqMfz$MW;;iR8cvTVSTtB@h_C4fynh%%91iU7Pgb)eCPxww?&Or2 zyV8&8af(w`7LBRj&}H%vi$1!&^^Io+BpHu%U|_3E)CEeXh=}C8zlQ_542S zevviTzP#%CJOvz6Mk2hfZ|iQ|Ph*!=$s6q)XPyW5&?#PR+D?dorS5j~6|1P|5J>jF z9!8g1FWK?AnlPedae4fh(7|J2Q$Hw-32@e81d&Y5Lk9$~~nQ6KP2(48)-R|!L zDOsCxi2-a5DW||x8E9oiaKU*aeNADJr z7RDerA1_aAE$z1PC@9QKOyEe+ig-YF&sRi523!@<(Q;E$j3mam#(&L@%#0s??8~Rv zE8;*PH4x-)0AvPEwfDi0w$&SmCCn#W7jBk{=TV7_NIuRGc6Ij4(s3^3Gvzpz-0)KQ z577|n!A!csE$5nlvHt!}caemdoo{=7-gow&XH%ay#r9czK8DWTWjZsQ3^^#*{iPrE zM^Ns67@zy5{5(#LJ`D;hKFeUAk9$R9l4)XdO#)C-5m3`^`ch+3Wj4S|#lrpisYM!! zC}g~p=Q+JDXdEWR1chTB14}flbUviP8zo&-scH*pd2+Ab0Nj|JrK*hXC7+$m_F;^9 zp8AC=*&wn~pqj=I^GK1e*NG=^LJj79_>Fkj$8 z7!Yq?RGe0wqNZi#Tx9*z)#y!y(zBjIl$N(hzQ8$@3kd@4ih*_&+bo$`Wz}~5lsvKR z@$to^#gXDjic=4darsXu8kGrvl9Pk~gxU4|SjQWqQg>Wb4;XyRr87q$ zhCEUdH!x**jocGX^dr$d6_wpOH!JaAWkD}jQ}9M zo!r{QpXo=C-|0165bY&&Yurl$y=f!D;2mr{I&StpeAa&FblmHIeqg;m-g9s+aLzA1 z+&2KQ79y<)EZ>jOTA=@B2hiq6u-WE|hbYYi`P>Tat)Bp=;EnRT0$^rScL;yC4|}me`ir=XQKo)X4+Me1r1E%Tv6}JpItZPYZxB9_ zHMhh~m)GbCm1r9%{MGk6DjZWEY&Fn#c&r!+cO%#m(^2YANvA<$`m8XY0)7ge3ZG zK&P-Tc3g_onp8p)ftgxMfv;S3q<&s9`IWeIHwvT(+YvU|oxNO7mQv6OMRsR z&rjWqYd6YEjUbG=Vuh;i6}^Fq_`@b>L@Wrp?uKPMrD71;n=K45YPLvRpguatXGS{Sr>i4EiyA}KR}?=Axre$ zsG@0Tr-4#m#$?nUJ?S^vm}xBvmLa%xg#@BHf$z-}Dx@Vj#l-_dd5dv&$j2a#Rr>ME zwjS0WyFbvmp64pvxjjfUqnZML^G&i5lBS4RI)s#t6p?S{N6)X${$unzYDJ#ZL_Wh{z9&tk)U70j{Ya7;M0Iem z6ki4c+sRUcD9k|ljcED^1EhcJvp7+hSRdyQ1(-h<@M;v99lB((igo5)t#5vf{uK^@ z9gF5*b(bo`;d{f%_7^abFEGJCReFRMR`%m&bF~@;#qAdW?(2EMyMf`N=7lA}7^VkX z09Ymlbsq1bA*wq)s#F+;jB_OkHUU0Fs7SgQ?J+0Edj6Cjg1aAN-P47BMDhF5jLD$l z;H1lvQ~?sQLWGTkMk9|k#x`G>rP-Y|U5g_RB_^b)_Szzkn^#g&Xe2TfvLg`-+odrG zh4@&U3mjwsgC_?13N?&_c69p7-{SaNfH(vQrAC9{^L(Hgc-ub#PvKfyA#Fiz#H70V zU9r4AP}f?1>`7LT#+v4}>F7A4kVVc))IeBLQl_p_2*(Zq_A@J#t;kaLchPElr-W5! z-HJdQd+Ed29?`-_+M;w6eE8HlDhRZUPA6(eB4qZ@H$r7U1fsprcg3791Jh_%SRoQN z)na=7Q`G^qO%FfsEO=61L~sy3NAEL_kx<5>+DlCy=Azyi~k2uT7%?)mZ&= z`V#X(d$a_r5ZvZO%b(~-Duq(ZPZV`9QKmvl?PgE^|u}d1G|6XU#DXP}|$!%$8 zeT}sO=M|Mkp*|Kk$g=kKwg5dPR>}#IQqKC5i8p0uLm@Ajckvf; zNt@ftldP@ui(+^K`?{fBlY*x~aj#WaP(YFE*?vrZ;;KH`#epkQNt6-7npOr-_tky9 zG6WP*00!Ub-ORM?EyOLZGHH8o9w~; zfwr=*#f)9oyIz246lh5;Lj(Q5|7Il^ID;MYFZ{9g;*GYhR6hb6LV$FRD5Ol{m&zCq zRFFP(d+v0qWFm>9=0U-_aO$k79ff<1c<$V*lWYBIEuhNg}ujK>Oj}-2e9iXpJ0I>k{JQXHn!O zABF&RO{aC13!Z?l`6R71Elu36r4W0|+1OZDM)`fBw)Eg&q0Q#yw&y1q?q;+38Iaxz z{s0=xYpstCZFs1E$W4sv6XIoM=^|KaSzGrV%3S~*m>rbR)yUCm&YLSUZ2bIwC$}|K zcOfC;fW-LqCUuyVi?6Apu8pa?qo#(Bz0>{iP4y<1{Ob+ip8wfGVe7hoxPNNZRmI?Q zGOI|1=Xo7);dCd1#h?>2KnmQCD)i?W1v&Z}S^_^dKd&R8KWY+xVH?fAQ39 zre>~&W@f?%^dwEq919DDVoeL)hCkiCot?{67&zG%pX}`HOQuSqN3kM;M2$sB_o8Zn zzyR=Z+4d_H$%nP4AKA7XbO4SkmTX*_lZ{NgRoz@Aqs%njr2x&eMB6CDSvFgmLthhA zg`;ijFG{ZbLp5uB11@{suP1tl;!7o7(_ss3Wu1x3nE^>~8WthXemX=qSr1|N7KYw! z9JZ)va4hqQFy3QxT639DBPJ9|Pv@7}0&Qd8P{Y-aQ#;uF2b`M3FWF@rH1^TfuQvNm zc4IUR7*nmoT_SGj?j70qE$i<5R!Zi+h4e*QQ{gCKV-VW?!4eQA*cY-O6436i*{w;o zw(tWmO0<_Iok3RK1CT^@g68nb%zhef4?oCkhy;!|F_$YmCG7S^iN!a_(wIpQG{^J> z-cB<6IU~bOr+5aUnIYy5S zjUnmbsQZ?UMPfa5O_W&9c<^G6BR_xyzG5Ji8v&oDv^^SVvpZR7Z5^=H=1oaX4yQt& z&6}Bi$gQ>Y*+7yD&E4kaecgWcnBG^o%7kwXl?3)l9ch+Q%5%PF=SljUh0f_#=Z8J17>tS- z2b=o#OVp8!!;UmWu7*@NCmKSpNRrJ$?%1a2QS;p)7NCit9_xa zq}$OM34)$Gl|Zc{3&z4&(sQt??vmi=N+=<3oqhw5^z67j4NqFw-3fK=@O#TE+FAZ* zQ>ya3d-R*n)5M+)4a~nacp#_y?IX$BxYQ((n2zD#2uoey;XVjxq7_UEgWm+Y{eW)F zhn-M$Uu8&URaFL&J7$)A(ZlZ@?^$9i)Ve- zg`62Q#wM5NOGXp@VdXgR6OpQ!wrV2(n!?7K~EZ4RYD1&Q@R8B`&_a% zJBRHzAkU&u95i(@6#sGa-%BbUzNS4;U$m$F8~wZpqip?y+F?vu;U~%-hgN_Lz>U41 zi(9v!kghZU2Ym{9UE!FFI1svjd}11>eRBTR zjCHh2!f?6f(~aDW+Ky^2LTf1+QXmyUCg%T(R5-P_2N7ydHzVzFqq;rEueyxoN;KK4 zNgsJt&g}#IxKuqUDM>Xc=`hF7xZE)*EBH}KIS5JYo<5Mjzl{vJLMLOkU2DXOk!&T4wCIbCfo(( zS>h?G(nR4v1mq^7xu5v1CpGPFjuz$W^@82U@|+MizX7L`4^5{Qwfb0gM)fTJ7#Lax z^|)-x7Uz?u3aO!(Xqq}mm^4{KJG+zXT*DlNi(?Dekhi6(XhQ4@1u_!84DT+OuxIa^ zgsG~Ft)Xf_s$7YNFw=8$GmB^+#|dLo**;>)C?MH{Bxk@A zi$km3*DzUkgbW!@Gghi1e>g`C6>`FZQ5910BLr+og2e+nH<3voVqH8wQFkL;7|5D^y~ z61D6amp>=dMrc(N@D$J6=9M?Rm7RG6$;`_lKb(CZ=ybocxyD}@Uw=*V_{x_2bAis} z*}EoWl@z2tcQ;SIA5RlOP|Y^%-=@b<-rbu%uo4LguEn(7{_|$B^y{lv+gjH9Z#^z> z?4sx1R>rE$me*U(oYn5?Ev9i^V`agY5&KP#tG}FGkBKBB6!|&&9S?Ik-A@mK?)S%W zKOh18%KMX`w^L2`=Q*qS-yMI;S))>Cd#fAXErGQ~$5X6s?brLdKgBPCGMBdA-SHAomD2TEoqcv{H7E1(9K-N=pY+tutCj7!i_WOQpx(mCP6+qn zceTQLqd}I!__l9u-~HKp&<7pz^2!6Y9S#`G1sc0!89y$zK0W_bKLj5UlA{?$SqkJ7 zmCBWFF;gW;kBy}Ty}lB9{kx9&e7<-R?6^<)e9?{(@ZOgc^f()gzL6y0`6VSQt$_FK z^2{M-SSD_FKit^1_+MNyIHlCISL-n847?E#)jkR^KF4~Q_#)Q zxuLqb9N+&(f~#9&CbtU_YRqt5A|tx~>qD!$pO5d)n!D{|BF4$$9H3Z8{iyq)aVQ3l zz_14(6W;~-yt^o+V%-aXvylh$b*fQ;EDXX!>e@?P_?; zKwhU6p^iZxMf+9LI`zk$V$hG+X8r5zWBx){+EpFWWm*00PNNAKuF%s5(uEbZOuf6s z#dC%;mqd)KPHBVCrscA6v}xAoI$t>EB!ifGhOd7wPOZ|v8muVM7H3wqBQ<}y9gWQN zt5BvYm)CL#F5}M@t?;I-uRolQ&{V(REvXGvB{VfqQeX^gVx)sg9J+-9G(D5Zq>Vat ztHV~mLG$26x)~qep@&HeB`&PoW)^Uj?Duc> zYvQakkK0E=Ij6lG_)ldq$J6}}NkRduR{XLZEpQwmb@Q{aE%!sg_wLWPfrDBfQXiP} zm*{r$907;Jd&B#NJhi@oo^KaJS5NqYO;=aG*N6J=4^v;mOAgg@e0LLzO4+Z_Q6t-Y zA6EOP6&3hUe_-H%z`?e*g_f$f-b}cY9;ruZyS>dl*yk2;r%Z0utK{)`mIYbXX}|ws zX{w9&xOm8Mb8ALGel&4>LBTrZ=GK>kvSudZGM0`h1A# z6V-i{ctIjKzB;v1HVG%%5sj7Qcp6;G>HPPW)(0Jmt_kJ;6+i`36bW{_pPf+3H#H8* z^>sKOObYqEsuS>{PJ07p>EwUcd*$#lx-kd1cG=la!a97t$uESI0PjVKUkZ=)ZN=7el|afrwDy zyRXmF2tW3lWg^QrvTVa*rNpwmcMD9+(IP_t;MU7%$oVN9My5R%h~3Fb%Nhxv3{c+{5H^-|B3APxx-qFTp9rmf<{Kj_IcR{THim1NhP5? zd8I>qcXs78le2wqRm{EMyA>%C{H}t=&Po{C!R-;R*?1eppAoQY$+VLWFT5+nVeB38 z;w01TQb;cXL&hK$*a* zO@F%_#()f_c)tYl_qLItJecTa&<|;ZLSe4*GuIDDjjwm&6pz-zRW^wb9IHb^_1Nmu0c_w*pdJ-hxdvghWJAi*2`TE-4rd7R_nyRk> z4i%Hh?R?uG(6rcMnGUk~(|zXms^9fAaIhvbvS8w9`ltJDcn9@6Nm&^lKMxulG|%d8 z9l%&;$oL$Y@-2Q&>&%Lc4@cH2Pc3HWW zP^uDw;&^!f(HlS@T}n4LCFs@G$Udn}DIO=E!$URlOUZ5WdOEEyz~6Q6u)q>G3qPw) zN1Jf8jaNDb4;P!@QW+zSG9MiZy6v-E&_f`Hc92IjM!@lW_2I^u=NsHh*TX|G0gsc^ z4-??GfA9WWsE+#m7#*Wf%z_ghTitp8Z)6WzMZAcB-|&Y2T(JyM8>J__w64nr5)*Qy z+w=LkYxDOvPD=B``0CD&86as;sW|-k#!9LGuTwH_hX^DqN52n0;LevQZT_rTM`oFB z&zz>Ip=D6G+iJGE8D8?I-hBSU$| zNm+Q1i(f3^$AkP$t4zR$Z+4Wf2qw~( z^UO-Sq);TGo_IraxB(LuRVs9I^Awm~qnS=q13L8Erw13VFK1U*R7nUMOg6pHXhMB# ztSbO}W6I32{%#DWrXxK!@jE195T*-h91JfviU^semewSfZ!aJuPMO^0#tLRk6l)@Z z$il@)dUdLRQe)iXi(!CruN)bQ{ODAz!Ixt!DaqE|h9wyKa>HN~OksWAU#PBjt~}*P zBK&bmw-#n)8J>?l;OD-tndi0Ax(qj9O>XUs0#-6Tfp-4I{j8~qxSpM|k+Q6!i~0#_ zHW4(IU)n!vvzw`^Y!V_|zammwa@KZoQ(k9Xq6ZBUIdx6~ffQ-d28@b+{0^%VQ^~=D zeSP;$()bHgZCDg*c;QJGr`lM>)7FLY4+@-Vh}${XNHTc6?C+aoO@={~iz`_hk2XRA zI0OS4i|rhrw57H6d22m#MiDH6iFjTj3ly-xe7r=*bbXpLA|g89CXUgjHE%sX-2k(EZq#}k3vj6Z8@wJ)&Wk|K;@qWX?jn5aZCHk*%3Xs8woPxK2< zuqlT5&phnTD9X*h+8I*GM`93K!9zO~;0Axr_IM#4EFlFqjtUkD08-e!Zb(SZ$jA@J zZ2@8NVlCd$l*;J9J~ z&h>RC_8p&BRtm?K2K9a3^A)MC*H`As^607y1F40@5iGBn~E#<)LJU~KyJfW>#i;405(0HgWn&1-Bg&U_ z+O~OdK&(p^{T=Zw>Acj1i97>;4n`{Yy?vL3lqi-RGzjj?UF}7GxMJwQpxs*wcSC_h zgZQD55US{ktF|)T_j5(VTSTapF`l;rJ~p#mm$Y&G$;Nc?=|Mzev!cbw0G#C^h_K7y zei#L`-o~m*hclJs6Lz%XtqJUXM)pX1|7>+mTPBk2_OC+3OujY+Mvg4xe7xa{a>{36 zUtC>94gCF@P_H~!ts3>0240JTVMvzYb8(GOx7GLQMiLpAK4iNy-d#2SmOgi}8Gea= z6zA~W5Pn|yeYE@iTR8601O0o8T&uM>E}s%S-_NIE0sTgBi9vW$jHyS^Oa}5h&q;q4 zwYUq{KCqh;Lhi_AP{)$gTEb`IBv7foN;ob>u-~l?JHm6|R@`rza~UpX`LVYh~)_;(ZAr>*VEsPA^I zVtG|$lkCLWNf0HAjH&d{Al?{*EurXPn@ydx(Zy|ulXFgR*6;EcuXTRz&zgu`k0IxH zvXOYQF_Yr?0-9J!heJ|YFG5d|8LxK3YO|tzn}h6nCjso|@4QJ&^uY-_Ax&tgJrP zpRF1F?oO)tJQJ^4c~ya>W@?lSAZB^LYAbZTZVsfakjp9O@Om8%@9aoXZDUV9IyWD{ zd-CD(_%;l}gM(C6_iDFyfrasp6Qw3hsTt}ibl&Ngefq`N|fka5oTA+F6zD?pt@gHe1 z)mljnc(}!ae11Rz-&Of4orWQ!O0=wJBj`8G-rjmVnm^R_n}?>16}T7JKG(UOT<#d= znS1UB)fVoHY{ckiq=B8FJ(`lU6Ooot)y51Uj`3%}Qx4`C%D<9Tjqdol&tlmNZ_}Eb-ZTX4?8P!-z6{C}Ni3NQ}nTl!Gw=y!#n&*jM z23Xtam~fE12un^mokKIbjU97r#QQ&g>4Ss*BzC@j95@|S<8kxNZ(=^ZHmdMAedL$l zMWzXU1cWE-h92$_@%_tT@x>F z4nQZpnfA3lg98J411_^K)j-?Kw*P!3(u~)}uvssjX4cjo_xFZ2-!6h}DExpP33oap z?7`XD)A9AcZhF1}#msUN)bw5xQE5dd_|HrRzB%@vA0KYMZadMjF3+P+OZ;UF&Q+p$?mz1Ps8M;^yqGps8D8h*8qAy|PIy zQeJlFn?*y;;`QT3M}ma-s0}}<4PP-(bYh`Kml-j!GIV$VzGWmLu!-4#3+SV+?(W=x zbNg59_qM+E@qQ-wub7j-@7}`NS~j^bDd`??t9{kyo>@gp2y@=Qo*v5C{I|lmIl`|$ z{kA$jF5<}j753RJpK-NOV=A+puX4#jGR+_oxhvT2H3)`N@8<&h5}fi{3z#r^mky*? z*x|tgMw_~#=|JOmws^NhWU^5-m{7(rJXLx%%kkG8gIq$4iA6g|>@hksEk_<9-1zi|Py@NG$PUgZL0 zpJ7ET5Q+%eP09D?GlK}S?tgztD=TMW1iBvU)i;Zaa!Vrq8}|6lqw8~X=~Gyp`I0$X zoNd*d*!Sukvsl?)B^p$EE$&D4k#62)x7VW3NceabhZCeCe3&@9)!=X;Nf-8q5bNE{g-vn(}(pWYa4uksk*T`JKJ~ z2e=jG^$&$ugkBFzgda!U&!${>$7g5mha(AS#5WeHIp~ogfWWxldBQ31aSwp%65(aw zzPw+~ulLS$UA^7h+0rwETn#?ApSquR0f_O(!Z*URHiqy0#m~P9aUP#lKFUI&+VnpL zmAgHT{tCVwU-;|uyZ`xYtv64OFR!GZp=jK9h1RepSm5#z*SZQTe+27=__A6(`#W$! z?4=F5(wn2s8@zYY)TfrZOc&OJb#*$>!;vBR6!+09a4WzT=+#$-0*y~k6q>9uRd6Zh z{#jf>byF$gjL_-g;%!!%ov^jx#x|a@s3|9H+Tk{@A1F;Ln5&Zz(IP<=A+z|B>%;*n zIpW+2YzWEX%w?GHE@tlbam~2hFz!ONTFpBn;{N7 z;6+nYO4F&bNC*DYW~5?=ij5B}BigcMi&~_A5d9f2M*X;sr!8I5`>bgs_XG~*Oxtd6 zW_q0hk4v8iOMY*X3OPQfDpiV12&{N;Afa5v-8BS_T*bUZC^EX%rJ?cfQ>*GIJeIs&pr`Z>;PMZRrIL0Xm&+~hf+p~kKnOXnkFFu=HMi%$X*o8Hy5X2s zdp3y*_&UGLMh#(MAFZ}8O3f~(MU@;ThR59~RFm;1aYD6O%kyv;VNZW z42PYwZr02eB(4bt~w%o&2 zT;eqQgnK9O89{*yOaKT`9(4tFS!rsgzs%Zw;@aQfD{|~q4G^db(S!rpv(Vs1x3@AZ zmBd%1$a@h3rq=oLsdku^h)~X9t!R?#>ii(jLXcsN;$ru@Mpra%=8CEK&i~XWfDvt1 zu009-yFS(b7+6}>-rKB~1_C}(*4F4C@bts|y(Mq<=B((SOejcDW$=Ce!QdYeyWi2m zB}5h=zCn!_(*VQm)O(R^+fC-%{SpH=M3Iz|S9!g`2sTK)+o(xXsm9E*Pgs&`7`d@O zpZ=yqS?YB&%`O$t`nvBn3+=rx0J{5mE9#$l1Ss}P4ET!EsVmMMA1DlD4m2blI3olN zGIWh4;}v}O3D8oAx&v{+>VnEWT@^%Tdic_@?P75P2?}4&HKVDnvWnUx)gTX z&&Vbenoj1l!KTyLcGklPcW+_AJ^TJs=oWDPNrs0+B*c@@?q+|vH)Z#q&im0NuW@Er z)$HD$aT=~{tno~3w>)<%ZqyqTY0Rr)EI9vjx691Th+Diy@@I#A^&a|@j&+}<6lW>3 z?J>j{rb6qU$bE|=qdiXS&R|=YVjO7p_aF&{Ui{hkK2j|V>`!aSKh8&f8>ZzV7kz=!yeSe&T-ti2$(XQztem6MF)bd z39dfbf4m_xdi&lTUU&_Frq?pfgDeD$E* zczvghP6q!Xy!&lwi_iNf%3}e_>Db(xMk$Y>3${fsgxpFxH0_##b!8aazfEjWvC&`U zvb~!Ioq2DzY068O2C4&irsHaDx96oF%bbPn;{6s}{{APjy-ZDP5ttA}VFIeZ2LjXE zs9#JUT{;9SOd&+hcX(M$*yXTs@@>3a<_NgxBx!iBaxW@oZAku()Cmz?`)3EI@o1@7 zbKsD)4Vd|dg(4vk@G-@XVL11JK;p@*4|p)JV=4Y%ccrHzd-+4ZfB)}<0}1^=uU5@B z=v?1I7%l%b(76eZSfLB!CVlh)u7+`&-@A;Cdb}BVO1)g~o~6Ma#JQ0STaRmLAe<&I z0HJ;dmuel-h=C%K7iU0Kfg#YqKSOD)kEnbqjd)Z&&op| zL2RfRE8I>HK&XX>3}i|DYMWB;OWoX9H2BNkJE(SDd_{y7Wj6^iP*6gI2_1dPwNGPc zePqwRVLjsKQdA@40sJ=$oan{Z!Nr$Hlz@m)Vic728*?tXaV7hsp$3EKqp(@bjdi8n%n zeVtu}@v(jG{DIqHOU!K^So{Ne+ZKM%p7(YzG;mbY>-Mo!$sQEH1-Stj2E;+y^g8l1 zcC~^5i+5jPJF~hwD@I!Vbwh;FAbB`Q@ZKtjjbo-u5(1FhTT7Q_2(VlyxSNwbG4r`1 zz*gQ3fV{AFTC{IQ>*!+W2ynX`t!IgNNP9Q8#}=KnWjn%=YH{IfQq>QJR!qHmG0PG& zz*w$%2x$8N=q>G`t-}grhRg$ewW4{ix)3_s8-&4e&N$>!Jr#@W`hbwlMJQR*_3u@qQV(dl0&t8^? zj#oFT#TD@pmuXdSL)2Yxw6jINPc&c~tjMERc_rnbsbtZu`8&OpQ}06=MqtfuvjM9? z)xVk!+#89sYN)X6M`7qOKMmZJ-A*{jz)mpE#43wB8g-lWaVukKG87mBGCtvqCAUBb zW8RtiUk3j}(>I6L^#)s?*lpA_Zfx7OofF$^?8dfjG`4NqPSe2I{-0_v)F}iq8{YfR&1}B6KIZ3^nR%U!`Y%lID2*K=0B~d%u>bznKsQ5pfA97*zyoK*L8Q$eAmsSXG0n@SxZIgUQfy|u zy6tuz_qDG=)fZKWBv{4Bh-NK>$goFgLCvgt2CvJ=jSo#Phkx_e(Dr5^t4^XZH54;3 z|2kcI1lBLTlZ9A*p&#?!PV>KvVCdm z9_VxkDKbLiws7z3Ll@KNnfAJJ&}C1|ghN9O7n4iEl7)>F$LeQ*gg{xGDn`mItzzCY zPKhN1=P1pmUYE;bXjB3J!>dCE*W}$kL*}!5zf*GDjCDX`FU$H$s!eO%{a*t8LPSYq zqNQ5ks}lAh%Bs|a>t~ck_|O=01DSz8kU!jd!z!v#*)Z=bLac zd0~Z|phwA<%2(de@O!O?#`; zI|Kx6usVB*9S|J2i$Uy}wM*6?i68b)47`eW+D2tIk^@?;1VA1|&lb&;$zs2gtk zl8~ZK!C+)6H->hdl(YUDp5G0~OK?W9-`ty0?`Q%y*zDoDFN;qwfqNZJ57BEdpJamm zNHkfqa@=A5+0dO9TtKgWl?_vM6KLZ~;Ip8B`XvJzs=_|K)GAWBV^3HzQHm&E1}L+F z*&J>yHf>CXmzF!bBT!WAAX2^U1Y!?9Q3vKtsDV<3F)N=d zkLH@`5GRAbWG%3;qZ_Vgrf8fFeeF7H=GtNN`_3H{mo++Yh_9pb9M$@i&Lf02 zk0hUEep834K=zl`)dc9N%lz_lNmFhi+rO<@1FuFxsK`_v>&C`12?wI9OrTOj4FvOA z_6H%iLW_xs1%?L;b#o-M$iQoi;`{AlZw!c0RxHntWO*YA~4o zSxsWdk(ZaHv%=QgO-~`);7S96#9h+W)kT1P@AsF8PnIcBquE@+HPDwHH9;#^2^~fx z-)1Yf!fw~CFCv}if(?_lss}dU{!x*3u!(Z+SFKj98UWlIL4E#*h%nP-=m%yd6ejJq zxu{deQPuR!4in}qTUKiAJsUgw|D_O(Jr@fDCu$uza^Mb+r~SL>KF=4q^!=)|2p4u} zhl>V2lnaRZ2_J}Hh+SGJm4ZXU0vmkehxqb^X2>X}Y%&IT|1cb5wUy#Jty3czt?)7S`!4n(raG6Hz)G!)}I5+uB(R+`Nhm0@GvXU`6mDCy|5h_g5)~~fSN)Ohc5}Q`&47ma@9ZqP1jKvemlX(Mo zp5nvHQk+2h!hEijg;S|Czzg8)o}W`w_c?nWvSs?&+&T=9^6x`{9b4}v zzggi?;hz}{vYtm|73t_07;B4PUwIw2(rs;`ELga;5_mRs?BnEL*uS8al^&aE5r;>J zk!8_J4E9HKHX;MyV{7XO+jJRTXa!9J*>;<&W(~;!U18&Dl|BLKs+|{J{eem9m;Vb}fwZ}1hUbgc-`-l$DvO6LOeq=_KV2)$*nNzt~D znR{SMqZ{;j9PM;n3o1Mbh!#^ea=$i(JTD$Yq>7y_SHJSozNSMJ%SoLMnl1}Tv|C2FbkP@-3VCsax7yDv@azChJ?K+@Gps(;jpdH2w_ zed&=2kAS!7=%Y#bW5Y>dGCv2L!LeY^#ypyXU4(vz&+%MJ$z^9hGeK0h$w3kuoj9_ocbAQtAZO9TC<%FAT?B{ z5^T7LVUVIwddD+A3aFf%xVPsCdwspn{**&GJIjU|G0;~7fbpM)mg#Bw&wtzj9?aAf zotq08rdDot=J}Z|!NqyBSYS21vdntt^^YEhVs~?UYJ7xH$Pcf5{w>dupdC9&{qa>O z9Ft&F=4>FnbOL5DI7c`pJ7I`zU=S+&BOUmMz8-ILjKxkkQL$zxynv1I6uNq{xWpY5 zJ26S4S`cddIO6zWq@R4sp$s`4rD9DCj1q%z9lD1ZmYJ8~Re`p8lZa-BK^XIhs}7Z! zuDufN{l-GpUqr6vMNQgC!}S?27Lt)kEyXuw*PkDxH^r^jvBWFs5ZoL5#SyjL13ydd zc3%g)Rd+5aiX50n>a2P>_fqf*TMH_!Yb#3PEtm0U386tURu40tFi4 zv1otP>7a&G)qo~%e@>u;UW=Y9I`$?vqhW&huevMEz%fARm17jWh*0l6;gnk8nsZ^! z`BYeC4g-aDw10BFNP!fN6uPpS_#l@(8|B*^70Ry@(4`8;owx*4p z+&NcPEToK3D*zY1v!=tEXLBV_Ar2l(EI#j$mXAQ~-7TZJn?4O`RLtpcGZ|pB;=-3Q zbL!frPWdCNd1dNM9@y59d39wSF)Wf4Q@W z`m4n%YEfpgt4(`fDzm@s`wiyjk1tj3_Bpnz&tlyJ`Cb{k#zP}oc7!O!g44-oA2L@H zduN(;*4AF(_Dc1Yro96xGS94*=uBL4A}Qs_SuTsICJe`>$A<0JmMppv+!HD}g1$hYnX^ zh!iP`Hq=O_BDfDRWMAk4-_xW#S9Oph>?)U zE&v>~fj1|j{2ZM0Og>;Q#xVA z@uVlnOc-3*i#9+DoJN$D#At;uZUHkf(6o~o=Qrz=6Muj>1u_;J^NU_4(@A7sfaMuj z2yoVCMnK|(kkR7M96Lg+pxKlN(oZmN=B;A6WLlFWCdHDKc+j`tk}7Y8l&L0K7NXuY zO=j6<($sKz0yQ81L`UY+iS)hNY75e^0XC}qN#{p5Fu@g{`S_`map-{_Yv?Xam zMM&|{_DHUxY%{fwV3kA@K|+?;y0T-yKeOeg{Vltm$J5-vXoc>YYKj? zIt7wtmP*5a@9I~c$abzS!E})o$Emy%y5>V{>BxL2ZzwJ28+`RPn~s+=$4WZ&Vx<)e z2NqOSI3{_2ba?6rf&5>WpbjX4>#EO@|GU-YYV_&rJ>M@6osWWPEreb`!GTsPGFBFn z_!l2zY(O-chX0B;V9S8)*9So?W^@%~6~t3W58<*vf%=xF664|;oSYRP~8L|J2C!(4lJfiA$#gAiQ zn?;gHqx0O+h_oHML&u2)=4bU)#y0aSY;D)AETL;gsn6II)T~gDl-Mxx^S*z#kc?{X z0Ldjz@SH~G;ls{lhOcj?tk%mV^J@_o9;veDnK_*O6h;e-@Cddr&Txdfr;)zBl%m2$ zfO%O4dybQL9@h!xN>pSmXy+kTHf(PraE$~lIfaf^yRTzmqay(&QH%1Tc(`-jX+Ri! zATjEN*^Mk4n};O_IpU`y%dg1wv3Db(0}Ukq@A}i`@dtWSCd1k z@D4Q3^acuS_(wMQ@P{|KRk^GE?~BB^3EQIWyf+hEUR{t(E@FA`Zt{*;u?XmSibvXg z(aa;+>tQ7whYtwX`l3W@{c3Frzx_b;?j|iIUn^R&>YW@6%y2bw>8v@*e84RzxZrRh zY9h#HinlCfkTCnaAhTHUkj#QN>uVdVJg*t5vy z+45zQV2Z7rPWGWeyicTF3!E5Aa4 z3J;wXz`50oQEo|q@@{{Q0USmLIP6bFK$R@epu@5677_5HW;Du0$DUhM4%RPAw520n z_H(;~9Bf>*5*Zm59)6-7AYUk zLm6bzzcQt`kfuz)27M?Au~L%*Z3#sQh)5Q_WQt8*IuX>*B&S6ZZmHt+GO-3AXvxak zO!7$zJ6U)*XTs1|H1f)(3=R{=QT3MLEEKZPAo;~)fb@E2i$Kh2FAuz$pfb%>oNaBb z9rL4@iGod8fQ?F@;C@PzYbC~Sb?}pqn_A{?x?nVa8M37`@SsP`6*_Uy-7`1GfQ-*C%Z7YAyL~*01*#1*Fg-K;) zhU%y!Qpf;61SuSgo(DR9^iR-`J+>`?JFfHH^U1)z3`+)L7}O%GY;*vLY=A!pXCD5^ zb$S=?w-{(@v&Kf*U{rN=HhFmp)ouRj>WGu>azGnaYjw8u=H#I0&0vt8snzB7ZVymS zx=&$bfb>WfjQq!4Zk7%vNZUa1_0QDXp3oB@BPuY=2h*H(tj}ZV=ucyJ6jaER7so~a zv97q=(@?*rbu$J<)h7d(S`Jr5S&JvE$ln@^u^?)Qv}R+*1SR#mddbRg&RzMJoS0FJ`i?X2>R2r7`}2W-wHDK5OEOc7eOU z*^8-rEEh3@?dakaGw=8AZ0;<6S3ObxL#Zl4-S2%+@GCFB>^ZL2vLMKkPJ4C$QZ?$$ zD@np0Kz<{*yfv2Y^>$!L8fTRum*#PCbToIHFJ{YQq)1aOQ@qOS;^h?Jc79vy0puQ_ zd^~dj133y+0r}I5aLTmBa+j;QfPng291t*{%Nd7(>`_uWKa<+Z(T<0gW+>axE&@!~ zJnGILb23~gyw46!rgc;S!I&BQ_U@`tra4az9{x#}moE!i9Q0dHi75>h%EMy|aiLLq zhRe#aDle~&+@PF=6X2(n-wF^>LPb7aLQ+~*u#1{%%YM6G`}*DNftcplzClTqG-%uS zO!IWIhEcl0s`ED1{g-JW>YQSn3D>qdLDUjNfqK!b7^pJA28gmqHc%t7#>$Zx*ROBI??!iU8!|{Xeq#+$0$Zx5HZdT z3^S0egX8^ozs3XutR_n~kJE*mWi<)q17qdSVUUSrz@}T*?eO7&%+fn0f7x+$kdm5~ zIwo+V^JL^RWh?-g-(QJpZk|xFrkFji;>EXAy749ONELz!dk&shiV6D`K14)1)og;!TS6q<;ND7r zJ!N7WCo7V2Ad;@2^esoj%UX z9Wg)QtHg>u6)Grut=@7jZa1A%lcw7fud6`YkSry(@+W}k=VZqlOqwRl=uj{!+LPz1 zaj#kE3|rsFYHsM}gjzKBQLuup$STLc_b7F9Ow~a#38J-tAR4K7dk{ABB^mDaVpw7xu9KlFX zk)8!|JQz$umdE(a=4x-xP54<=Mz!45TgR3?1?gFR`4|{~)fDm9RL~HoPah2yG?wKs2dpW^ZX~qLEf%!v*54LUG&_iT*bH zNYy!{utKWC$XdYFidwvUeJ7Rblm~<=Hi1nnmMGONS>KVVuD)Jd9vm*%H-5VVHL#z(@|bkJ+Dyet|h!4l_`ty?PS#9V}CjB&F|sI$J4HW>waGg z(h?yZDpSrlUIz}M)s|-^tA6JHpL6dy(!^KI`)y5d1oTh9$c^&90aF_`T8YSt>v&+GA#~#)_ zi*N=vyZo4l$TyD+tXW3KGH~ldjjjN#e$E> zV%R|E+SCgE3iIEX?L9M&66x=IzhAGjn)*SiSn{_-@)QW@H(WtXWGkq50(flrzYt(9 zO!zQJY?X54J%09_n+;oF>WQanQ zf$;jO%Bq6g7{dykg-~K^?)Gcpa1&6aR@az&#P2I9c|V@2#_{m1q zExGo2T_=SL<6t^A7ZTE2-Sxe0oYbTwA9roSkAVTuHhg}*g$?vgtZ}p=pw3ZGK%Hl@ zuA)N9ghoTX#>#O=|35B(YAYZXmq6}x!c16;=pS>tVeoerS|csWnd zL5=Rj?e9oNGJ)&DJsaPT>&Hx{39PT0HTrpKrsYaYvK{3#iHa$Jg6VkWvK-(!UE2sO zk56bN*SPY6{E^eou}A4WT{CP1F({ve`kn@yEDag?o&wy;6}On^I^S05^{C+cWlWYk+U-ri zPUCDg4&g)H%0c zTNP{UqlJYEIzVkxYL%IsS&9IPePsLUl!Ba-xin*tN!Twi0NwVh!N-v*5HOtfJFhoIld|J~ypL<}dAOd3Oh$7CuuHA5VHts9sgr9j zpQBDr;DsL@zM)tHm?s(jK!!_YS*NTm^%!TjVqSHnOtWwO9vives_IX`%SJqYN9 zAcRR0-TlP?_6s6>0~xV#y;@;1Nns%sx-fJ6U0^E8n(wEyi$l?o?jA%p@-KzbBW)9e zOrfA?BBjZlvA-*J2^7B@={sc`iYICkQ)9ZT2;(e zyQjdeR%`mRJ5-zJDyeTA-CHSPJ3#)NDBf}Fj^bdj=oVS&l6lxHZ!a6?sk@>KGE1wt z3q8CLjU#pc=q*V%qm-ZxEu&u$f%OkYjl-z0ixfE-D}%5lkRkS1`?RI4t&fq7imfAP zDrs|xmT!H#s6{W<=TqP>#g=FN1sfZb>>^4cma3~Ns9a5>P5j5t9lZYgzX7m)NUL)) zq(85z>En+F$0<=N)?OCpNEr1lYUPsLlv3=RbBV#i^5J1V2t4084{Bzq{w-uMXY7n(#DzuKTIQGQU5+ zTN!n6f1HM}8oUNk4)g=y&*6O(r{Kq*k!oJnQ#t+na?(LP;Q5>sEQS>(5P=vdG!1_I ze!F;UXv8Okw`A;owlq)-D{^?arCjxUy*i$^ycw^>r#<~UYvB3sET%kF?3tHQ@O_O` z(x-yNx-;z+kDPfV2ep%>DuzDAkaAD1qTue!<^(C*Bb!npPA`QtO64*iq2czE%9cyO{Pbvvq}N_I0xCwg7guqE+v@FlJJ# zHlE!XeE)?_YU{1@r|VdX0=GAfU%~6=`?n)!Z%LJq+$nrC2KN~8>iJD=vrTwwq&gau zP~~tOH+%*0_5G&--`KzG&EN&s!T<1GKHJP>WuP$ONK1o9fNpl-;S^xr-oc6+CK*Dy_yiauF4?9@>SUBUjR4{{%*`7ZP)e2`N^F?5oe7@*>dF z_opG}{rQTC#TK~&r%&M7?|>l_-FBC&gS8hk777Fii1e#y`CXj6%TwzTAkVyr{CeON z^tp^tEHwJp|IXh)cjz?S`Gm!&pL=l$D6~aR<*t%u?HTCHzN{l=v#>Xcm0?kv)r0$( zw=BdLE7bW6lQV5Y(rnOxg5)c$mAr96AW_ukD&)j{v+VGM&a~7;Ro19XnVBC> z@AF}w!-4{`I4M7Rd;RFqZ(GSk?5Y!7Xn-f|`?Let-T0hV#>qlQiTl1?ZRPN?Cdzrd z1z3_jPbE=y9qP)JGU#?~ucL|jZ~kU&w`InCOo<#`)fe1d+-`Ab(}cGrz-B9m`c(p0 zJN~7`jo*%RPgO>{!oqJ=Pqmyt*W-?ehk$a)7S`bnU^bUz5Tmp(ME2OD4*+bK@T7+( zLSt#Alc^1EN9J~peW(r3^#k4)Kb>1exOcDHw*<=DL1-LiuX7M%s-D^%^yH}8a{;V< z9{ZjaNIEQcRn?;{5-H1Gg8L!8i;iOOS^j5k?E0WS;N zzd`qaWO=l(dxL+--ts#?q%yZ^))&1DpS$e~B@bhu- zx~<;z;o)1thzcQ#7)!)Ne$Mqh`os8f*nKc8S>Z@wfuP6jJkam_r+zppnKWt8#lguSs;JPV zJ2Sy(WE6N(A|dpAdPhpDk*lgQH8;nSsK7VBG;@3xrL;jer^RXWVl)2b_%y)Rp=S89 zY?3-_J-INfu~mlx0RfTlojJ8=%1Hifk~SMv7lBX=p19^q(K3-n4SbI6Q4-+Lu?Eo1A^Tz_m`tPykj;8uy!6F&wil%=<2Fs2K^4z)>KxHzY)J@^L*h!WC+*Mv!x3!K0QP$9bGqJ z^|AGdqX@l0oPKYxsq%HAj^=XecvFkB`F3jX$pxeX`&m-)>u2CYeZAnE#65^Xoq+m_ zZ;G;Dn=sODNJ;NXT__uyx1B0x>)Tkwp}?U>6}@j;bG16M1`eZe$Bc2Ye;CMB0i$f+ z!-T;XAAtMt!rt7>4hyogo6l;!V)h5KxjgRyLW4_!2)tFwSVF?oFA+q*Fn8qlubv$a z@dT6k8!Sad>+mRdLgQzEp7n@%m5KB3bltu*3{^Dw$fyrf{D{Ln)JP?%#xpXkVFsA% z1J6=UZbq;3`}KZF1OQH5+wgw3eLne>aCOB|XXk{x*px%awAjRvE!VIP2?;fHRigni z?Gx!20^36;(ie`Ut7jVYl7)cxUL~ZNbUh zlN*?0@(#7WAEcK`TWxntVkcp8pNUMDgu;6)^4Y-N^SICgbl&ll*A+~6Sg@Fo4d`barkIjqI$wLSmx#4>(um5x2c)f zESp+s&SoQeZtXBIAR+Vf-27w0{@ZPs9oDUyuakE*PFVWp)dqIF19aO2leUvRMHR<; zxC%NX{2K$_cV&pB?lM_qpM%}7U`6XAsJZPb=m%9&*?1^a+9jsP~Su_P_NhcwS zqj@D74N4_Z5A;{3*PR>pjtp8Um_8n{y%xOb!PSsL>Ir<*-L8GV_h!9}Eomt|Z`-^o zJe#+O+1yls5-*308Apq!;AhRBCSlOT+Q`{ zLAo;|fn4}seLULesL3mQua~2=YK z&iAyz*z3B#Hexz8Yj^p594~r5t~7ahwXLZrlAmmnm6KF@RMo$5eyJxzOd0&9(R@n| zV4-QWOe2`$D(WT0czh<(PAGrj(FMqk5=+fH0Oi2)f4aG>U0pnojmA@fs80XKh9!HDaa0;OqgQ;y=lb@db+xn@z*UtAaX6yZrQ@b zLDj_iEi(%0i`_LB?`>#wCHth$97$ia*MN5vj%WLlLg}ChXhO-5(`fO{4V z%te`xp)*e(S5k4JJ1;P0>A5MVYlX%lw68zrIY9UTA$t@WEQmF`SXUx-vQ^@p`o#$X zTV>=TZdu++FA#jzp^^C*vNKK5VVXfL3RmHyTSrEJ?-XFftN50mC zqbPje%5r(MHP!VY`CDy&sMZ};p@q!71MZ_}OG8@KmGc>Q9X-uVhQ8gGx-8W%YCx>A zssF<3vb!M^83NQk!w+?vS^lNBZbbOVw%r?-vDH&k_Wa$o0ObuJc=C&stfX|yomFXY zNL1BVNBtg^tleoFb$Yq~X29=asFbh`QLt^MbB{j=NT<_e$gNeVzL9+6XJP56bpW=? z8yT6IvHKoQJYU{sFfzm`ZsnX`Sl%93y$`C_XQvONqs!V48&bDVTs$18(L{kNNN6h> z>I?D2gp8-9j=rW+QhWu~lcNFTb8{9?@dRmQ1DR5}#RIgY#&$kNXC^@7VO5&x3uw}7 zcb=Qr(LQ$E4Y+(9;ZZ-1df%MfIJ7j71-yx`TrejoasplVa!$5)J;pUu)~xvfx^Q15 zAyiEkolbw)w;O0=;p_Mu8+J4?hUW$n+(6pP?_PB@qeO%;RFYo9%^qDO(2_DREwVTa zKgnArK0B;b!49>Pc5a%2h7zIH6WNYA0%n;!1#0}mzAtO&B>p~=SugxHenpv$PNL?~ zDSR{5GdI5a8c&~qU_dPNrd2&AJ^c z{B>vFDb3$NS#c{LLi0YbXodMQk)TvxrY$yn_H6^#&D^yHo8>k{4Aq1hm=09d!-md? z_2YPWOH`v^+29w!&a2c!g(-e}TR#7Gh!k@FO%G72kB`QM3<{4JdU6kAUwpevg8yY6 z+V1mxf5(;&w+Aq@xs%zzGqdp|_q|`)?*EtpY-8pV1R~-eSDqiTp0G`ZSVP5xdP^Ze zB`(%pex^UOq>9xRbkLQ>wm27Ll^_j|1v@x^Dlaayb~ih_t&>W+xRMpv*185OLy0Dz z#K6EXJ0t>(wt9V^?n8#vL0le&O!&yCWWe>8vcNEDaFoFYSXFFUG9rjhFETz&Yz-Z+TIzgo+SvN)^ zD7rz3Y7Z=r$N{5SKVru@1h!#RQZ*VfQ5fq&=r1R3F)h>0H$tH9YGkeCh02uHdPQg9|dMix|H-@Cobjyjx9DRdZQrLt~cI zX0G{Rp72Pvd0!)dsM|S@3CI zjqKnUT6XeO(eGkxOiGdJ1PSi_K0Xok-<{wG5#}FeX%>yTsW*nSO2LoyPTfT~SoDOt zZ=h0(v;<*EJ~|&`L@D%hnGvplsl5kIf$Ur@7l2#d{AlnNwd+D{Yuj`^R#5PHMlUZ{ z>rHX@S(*+jGgoWEG%~>d=_KJ+X)JA;1CKk?zV5~l4$K+xvpTcAesFRb_Dw&%8|xq0hiE3))fQc>aY$^H9&D$Sf!_~k9M zkWd3zh^T;RTjqq{by)4wgNxiO!|@%tx453ptnVvt?aXXhdhnrB2s2$;<-h0cRe+*K z_PDOd|NU$T;?-pVtC#g+6ScKo$33UXI%X)L`}#ZEOSXN7sg6{6l#-b1UROY;P!=g! zU3ka{;}Xj(i@KynHwnmeifOZwwIXz3B>f)(?5Iysy*|_B4BcM{ z1W<;!6xdbo=$VK0gp9V^(B8o6)|Vqm zq0u^nGZV&v#rXlfqAZV@LgQL0{CO&xlO7eOOuF>F!>q^R&clCdDImgYUJVXDJY%AU zXWlfy#JoZ51K}eULR%dIg6n%-ljVMnUG(z1HT@gp_}M*A&vcu$vw&HSXZMdkVR;kgNRzbdnH5nY2+!RF^?TGKNmm7uw!;k#b%BAKxF} zO7M)giq3Cd4LpA(m|z&g>r<64XG&y;3%3`pSmS~c6jCAqe5&)w21@VuVPvT@O^VHt z8ph{u*l*K}zI5w27%g7_;8U@L1=z*ADLa`lT*4+=RsMHTk?{FpR`6IQ*|=O~u}MYx zFxy{h*`vJ>VRo)LQ-h&08w2tx3;RsQr>U*$V{#Q(@bTxXfZw0z`r99W=XpaCt&7E0 zRc+SsoGS;`Q-59#tE4z5nw6_nfI!D;G?j#{5~XSG`)ZX|hmkb+y}T$+NG;jqSO!9_ zx21>2-eoGshH3rjmx-qW(<9dF$Z!G7OzzsK3*Y)({7(h8@*S#nWaQp5sFRt;s8|X~ zlg?0;*SGZ9Sqxm6llmjr66sT0oh)xy?dy~^Fo8}jglfPUiJjdDYWcuvC|$yGD6@R*3K%0HBfBu0j0mePB7J3)_vX8TdJO}%|JKOQrpTzr z>EIBa0bZd)Os#cZzScEhy2^@Fxe>~dzW`Hp&0J+)E3?KRFEcMw9~2B=77ji{gh)Cw z5?r@{<51bDx)e($q?~4iR8#!{@G*Ho4AX1e3I zxqh?^=|dS;Kci;da*kRpG$Lbn7Oc1sO_lSg$@2y>S90TeFg%1)$imiJMd^7CK|+n# z1;dg*+&B1i#$xs^;SEUIg2VGNCC?j_S861kUsMizsb zLj<+wKh@PaT&^Y>i1$0#O9n6Ye3m6hE9wfiXc%vIbp%gKVXpsAuUR+N+9xspj*h8Z z!D?b1~uCc{!-X`6TPjss>EaI1jD=L=^S~A5q}$H`;3HEF|W$&PT_?*JdwC$oNHfFAWm?Y3^7O_`7x5B0>s&^vZ;H zJ+}|inak3oFe1ufnYiwX!(Q4j&nH4y*>=S|Qu4;x-Dh!d(E*xtb&FwBkS4qtVdzii`yace5*z&dUDt@NRS zKK-TaJ&2=g!^~kGj|19lbd%kjU#{D7|&gnz+ zNN+NOL_$Hz>8MU+R}TsWJ`B4$lQ(LxVMT3@t;HsDK*xXx4eZw)BYX7CA9kQ9qoA(Q z;OKi!Yv2gStTF$YH2VuFZ8Yx^UBh zpQ!`!b#2zsBSrAaD4hzq96X+&9^BI>JWj}IgZLnNVK&rG#`C!yZyby46d|}z_N0h0|@1ZM>8he*hH|gx^uwAm^cNLSmX%=hR zb&p9luHt2hd@u6#4UcgN)W~)D#W@>El~Y6a{A!FRie(8^!=w>(3p#U2>>HfYz&^U; zRV*_|iesZkYfGEyi)Oj#fAnZd&S4g7dk7>0sA>f{60AY%Vr(sv*s*!glOmw8DeS%@ z+nuf484_3d&{))SzQk=?B_?kYJ42I+jX6it8zRGQKi0V$H#4qx^ciN9nPFUfY_Y~) zJlhf?T3Y5vhGfG&xiRQ0i^lpykmhZPEQMbbC4K?Q#;>rdQ|4c&0#bymlkGEn631Bz zN_r~O#l6P=j|)&X=oF*Q_LWiV3_l{ra^756~X zTp;Un!$G)VkM!iI)AgpD+c}YW4bR1LH)Qh%5z!EZ)h>gnAtCCVebv;onbtKiejGBS zf}Oh~o?}l29PE+Q&z=)&l^2u(ju@d}_YHWsPlO8TnSu1p5G~~y!g}nwcGAuew)DNc2Y zgM?L3Ih&Quze&T|nUaRi&BSXp)nuegWCnx>S8IuCgu^+ZN{bI>we`a#46k5g#wDmQ z4XKLQsC|6}ceiIaS(|6r@ldlGpfEy~QZ2BokqMEG3Kc6Hd=9AFWE)PS$dM?G$SEKZ z$r{fsPj9d!5}OIB&Jf1PXt$9Ozrb*8gg>MErmc&My1rnD$q=aJGXe#zg+TEjO+jw% zl;qkQMka?T-;%h=CSh)#a40=ZB~*#HTm+rO)F{Q@NRw&ouKexn$o;{5j^$rNl}&Y3 z-4Ds9w&|_8h|W1*Z2fcl_CKe4_5(YgARCu?Z34#Bx_Qp0H=%b_dVc&9dYDg{SK*2Z z0PQsif3ioK;k@t5&*|7~@vvfx(E0n3qvF1|XB6V=(Pc!`U`2sjI*LLOJTvf1U&16V zD1589W^O?RhxA5*9V1`dIHNmp+#SqA#0G|iU|&2+xVk{?g5%yc>BY z5TJn%pB1;`fWo;@GiL_Halt|H!-jSnQA-R`Q1>2qJC8 zL97a$jYFkw`cX-(k z4|nctJ#dD&_v%;`Hz^g6TP}Q?au_x`3#RczoX71rWo!tz935xmI<(NJ$si&k93C3gViQN~vAHUR(w!3fm(WxSc&Uqb z^E%@2(DARhceM4)*{-ZanH}G<@<<288|u$gIhj}&i7+`Hu*XW*&=YXpU<%8VnAADK zEw8LBwm+MXtog0{(E9c{9a>}?J?3naSz8f;X&5I|k|C+E!Tq>}58}6yDM#hkxasXk zD{LzPNIT~IX%tMHc4#bF)8zQ)w5lQ1pzYkf0x{I4yS}DnC>vH;HjAOq%yB6)@M&Gc zG*8``P)-FKn8#ZHkyJHkljP?rLt~&Zf4il5{PY+qeN1kGg=I+)vZ@SeQH;?S)W(R( zxvkeZlK1Pc98Uq_OE(EzMT6c@jaHV1uESsJ8<#`E**R6ITVUO6edUL7in$zb90xKAxZ21wHDu(> z5Lw0_|Fx8Ue*21(HTr0#jtBitBRgKClxr&qK>S;6eFQ_)dH zx{NI#pOSc)bE8=NOEQPPN&jO3_S8W}^jy>-LSE$)y~8TU#>zmT8_ay>Y&G1Rhxek* zz=)X`J)^P84?7hk|HLWX$SG_n;vrVIUXXtWXr6>53)$(?!tGO52I|TwIv(q#;c-1e z%Dl%8g{p?Q6mzpI*wEJzcYfH`pIqj8FFa}$u`-1^IrdFj~}oo!sECHYUx>XpCm46bZmPPYUzQE=JBULQZ_xU3;(I2 z!Y=Rbtt(KwS^nu0A>mJ4##C$M{>xM|Eo-)p5DN1`D`YnZ?U`vg_)91mM@;Y&)S8rD zhPv^2<@~1SKEc*TU1ZN>{bmP=Esiofx0&PKe>F5hCjxOMo`^#O>h_~sLzn!8sS0q- z>v#j;!|~{!TcCSfZD-nS6#MO2EqQ?gwWH9+t6cZqQ}5Oil%a})&!>9>2@RPmQuT93E99YX6*vo8ZvxErg!f1vnY4eRSa)<_5EZ(V63GH?vXvDS zlZiFX(#HFYtK38yH0;CV?U*I(>R2v%z1+Pr*-wuYWFu8)y)C)o(0QxBAKS<%P63-H zbP~%B2HAy@N!AFlt?T=??FoghoNbF^-%$xDhDm}T)_AAAzW!YCA}BiNhs`%nZ)NU_ z6ezgQ)I*L4Ews56uLs{HbiKc7{BqL2Hl-W?l1UI>dM~4n66T{HckV~F7!dUOIrQYd z!%RzCXBH|@HsNyV3n=`>2IIwh7V|a>4UBR}`>S)OpC4}B1x%kk`H6vJ)p`TYqIRgT zU#L%WEKS7dM}d-piv*)VJ6cpou5==v=#J-lQpT`5Tr%F-lv$>S;2=PqZOQOVn`cJv<5tF4Gbpp z3zM_xpZ{GUPGL3oTf_T+5ReP69zIEaQJ>S^UIFwr1Jp8l@l`i=cJp92%;uIfavAsW z+|Rd=j&rv?u@sr{xW;eT&xSUZxNg)SR&rNC%Oi>02Lf`4ORH*k^Oy@m{(HQ_mX;_?UdW|u z^2)CmZYVMHEl2PqBn_RqmUgrR#=fKrov}_Og;Wb(fJI#s2lGa6N2VLFFr`_pT=zCv zkMl@lMDjJ93JYPIgajH|36ndGzNWMxve2>uD=rKI*gaZZdt8{Xw{!t1szIYMacFJL zuc^*1Z9J81v+cWQKd;YTK&-xLWdS^uy}kY*J8JyC9u{Zb;H4VvRN$)jcZ;3p`_Z>$Uu!0w3bgY8$W*7`t8EwSU0$4o^|w{wqjMiyh0#vb0nCJ zE2s4`!ZWT8cpfc#?mv{k)fE+`&O2w)o#TrCBpB`s^wLYQGyjLCtB#7|d;3c$DBax% zNP~1Lpmd0IcXxMp3J6FGNOvsF(j_Ir(%sz)Ecwp&J?F3Cba09q{uGc0e9A%2DH0l`PSH1sLq+92LMdkl zrz-fZT^u-X?*V0(f)AU{XTygmrx5Q1ePhd04VDRkMV9{#FlT}K_rUjMnq%}Cjn_(9 zmAFD%)uOMmt|+(A-!h&InzN8&;{;c`cC9%toOXYr5X);qCFEQ$eS7qngl6skL6)U~j*pr4#l>4{GoK&WNX$6@SOfh}rfbj`Gl) zkDXc6uKn?0QpLXHwA8fg*#b%O3z?BtKq87MlZ^baUr;6v9R$?>IBOyG*ZX9*_CH7{m^T7u z+OzJsndH+4xP0|5w~gZ+;ctvnh_{ubw4~I&@qSKovIK6!y-(xXM}J2ZdZO9{X>i0l zW{4g9)PQRHa9|tGWk0X+JA3Jb1n291)2T#x82CV+O8%G`Q~uYffuh%Gv!IFVpenF5 z-W~Ve>;)89n|vykCgb_7rF)W+t&d6};HC8mWOo#5UoMYIsw51#zG1Q>C(IO!AD72) zsJDvs_#oBKzq(R6lCsFq=k-ujwd`I&61)=eM^${;y3r(d@bwjS{jNC^`8xl~s!u%( zXP3k#+Pk5hPq{UtR(G!>X$(UmdHm9Ci+GVoKm*aE5p%wehasw)SSXtG?{3R`ok6Eq zR|O^VplHqA*KA?)5{k=YcDwx)zntkL+NSeq_UL7?rhetnkU|cPvy@h*9sI~O?{x9PuCWQJbT83u}da&^(^moT;CN?WXpb@NQ^xhWmLv(R ztlo|~unC}}ZS8KdO{L5i{2asjZQNob-*K&`FTpGyEY0bUS>rM59NX(9sqf?IZu+<0 z`pNwsCsISfp==U!-mR(?vo;&wv7Ep0rdeB~N$pk=yt=hGk(e!QSm>!SH3iT@WExF= zSIuY>(fh{71Y;qqVhCSL#t92TcPVb2D-mJTgy)5rqcQOM9-VC z@gGgz{Jf7g9fv%*OMMRGd^|6UXtVFlQ3w}rkh5yi1-zW<)OCNNP!S@juQ8T?y@0^J zoaYa70FkwEC@oWAgMQEhD`??PfUdgpb-Sklrxy!tA8Lhlgt^}0ueaDq;%a^u-X62KhKCb^#M{+_zLTa$YnApO85G2Yei60+k|VY#I(24 zk4Yky)J49-52kjuglEE-gQs8fmnA4Vvw~20)j9D0WVJ-Ee6U*fTyQ#@UuQNw`nob; z1_a#oo}QEV$Sg~3*ej&SzQu2~?L$pDyn&=>jC^!7HcRnQ8STYK$^G;hg6jP}tCF1S z@A1nCGnUw+#??tsYLCZ)j@QOJNz5JjEI9|0(xh9275;jNgokQx3iFAh)l7a(66jgl7Bs&sxn(ol~b*j{Cq8^o_1+W2qB#j=b-2pdb=zLDGWduMASV(@Ah@ zmwRyi++>|FkG6N!Wk0w$Zzxm%Q|=u7{szlLqe}vnC_cx!W{*in4RjWqZSQ z%X$Sr{vGEw7n>~tmBh*~s^}ST9Fj(!<+1r6gq?v$Q%5N0^yFBeR@Cg{MX=IDf(o8Y zwasAP#^O3MHKVFu9s`{yK~Vq?&)i*6#t!>q@{ZA8fOh%Hm`0WroTjg*Gj4%4WmVeT z{sI5378zwtb#c1p+*NDAXcfSIlc6V$4`WVUw6W2jYn-)<`O>$cVuS}jf?s_D{M26h z#P1qMiyE&IgEH&_tiAp1ek&(uzNeWu*xWhllk5!0yIs8$YiY{$->OQa6!!jT66eaE z40Na0ypHtpwGIwr9O*;@uROc%?p%j(N9LcZY;jF%o(|CwVK)rs-X%ZHrSufdpPw{e zAkEENw_TU-6PMiAGTIfpiRG)zAuoN+FLzktJ6GP7zm*gxKlk=%v36wPbzwBRo0u27x64edydd}JPkT@Q+4trAdIR~rt z^B&fo6CEQE9f0(T5Z&uG{x;zB!{qf1J@&>Tto6+AB|W`*>_0WzgVrXd9})HR6pP~L;ge#8uJ?y|ftJ?q=;YB!5D^$Rv-M&g83V83ctf`b z_YugmHp~=>$Y$DvI@QHr2yu#w9UvF814;Rm+G)p{Bmm{tHV_V@dh&d^XF=$yu|Mia zLXgn!fm98uO*h7-7n^HmF7sREjjmm+!8kPpFufq07BGO#3PC zWI0Wm$Q(H`WL||v_xl*q`&BP{tq5YIj>!|i+ zNv2~1=gxz6d7A)PU=LU2()O=_y!iRCOB)w)LG(MkSr_9sZfytj$@M4H3Ui(FXeVujSFm z)ZJ_wD3C!Bpzb%se9c8hS^rK|bldU~(H0Yio2zP8o^vqcY=XV=e81(9VcjxwQH`pX z7JOyx?iD*&4;p<45UlBWcJLM)B5HWFN=#;VZH|kH6HEMo%8j@mJ92>QIa(=P-H-Us z2nEeYrDRb}jx27p6Q`^oSjowe{8B`V_u`Y`8>z6OBCtv~MJ#giNK5tAPAbe(+0eOF zzYBhp_nr7*wmDFYx53ZJrM8CS;?$RD?PcAj;KNOZvM3mm`!sQD*d^HP^Ef=bFJqXm z2JwOIULXHi^x-3n?JuB7Tq-*7fv6z&I?Ydh_wJ|$#9zKfL~HQoyuZG6Z^Lg@sg#Lp zU5Qy(q@|rvv$wI}%0R_SDn5uZYKfLW4y%~k6EZ=l87j0E!g&)-NV}g+Kj@aD$xNV~ zw&F0r%s)uH*P+6iqEt`o-RU4@M;%9u%Q)ynrzst0Ec8vpfA^4XXsB=F7ivTlue$%% zc%qUhx0t|R`>u4ZLBZ5f^@-Nes+J$GHDrEA9*N|Pk8*p7IDASz1lD%)gm;med#hOy z#lZAiC1m7O8|ap^Ec)mUv+3B@S1BL22@)M0-%TN|Z!-~5aWo*C%rurC@am0u!*rYGuM($Q9vVXsXK>=d@%wRx1f0ze42_J3le%f zzNNy_vV=G-w_LsiykkgEn$%FwNw{wBc#FsT)a6fO79RK;@`c^hJHug9( zcDXHecIF2UUp;ME+k>|UdhKkcE*Sc5)E!M<0jkbGW{!`7-bRUikSg@5P6869uHmC@ebjgHRnh`wt#{u{yUV;CVl$KDa-X zf}$i=Z}^{A%*)^sRaJ@WS!ZBbyYS6;*F$UdmA|QfVy@7zAdoA_H}Gq+8|GG(fzO`T zdG+@K^7b0?0{-l|14`R~Dc}hN(tmk*e>_f*E+23oEt&EVVV;50v#EM`;yE$7s<)es z|M~FX(Cd2pIX4&cD+bQR{ePhUoUCkO5%5s`D-IfnSUy z8hN0?d15VKuh8W)%uC-=yu*O?2jG|ppZ~xpmC0WQjWaG&^WR&!(yaM!4lirbDH;s` zN^pTDkdZm>6%gNwEeQonw0Q20r-xp@ZUY(J?EbT@3FMq#dwR}bdAP;6Lt4F6HcS|j zFud;_>M&?luW$9c0P{~=!x$2%C^Xe6aFhd`;EUIfkB^s^f9_do0J@t-RaxG{^|uxM zi_Z1UmE+a^m#7F=m7pcvdz+RiV2F#!_i4*%w4TGY_Lh2E(?k`ciG5(1dwjQZ<*ua4 zK_{wFK!70(^M*6d(U=aNdN-$&&LBnI{Utr5_;B!X)5D6(=t>_ILvEwm$r8(cD2VW^ zYe!foFiHp%|NI^!X*Gw@*_N7y&F;A-;48N+>gzLi+STdWd7#CN0@O4 z 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%0D}EFhjL{E6dc= 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¥<`wOLDJf}H7Y)+YAB}KP1o|7ZV0X*6w_$I8~Wx6bUdx3zqegO(v6Rqmm$(IV(#f_A3j5$E_*@Gkb(4v{d`b4ne|k=~MPoI{$?)-%$k=u%qd zc^@0gqM3)XE~LwAU8(LrC;yV&pnm|%v|4C_tc3#qtoc7dwZ|9WkVxL=K zTFXb&mDE)_v<>52d(M%}VC6D(Ueh@pe0IELGFBB3ec&u)EBHUndGgF67^jk}hO1Hu zjBBL{=I$aqJ5^fgypd2q~%QcX1#5hq_Xkyt8g{myW{{u`AX zzh*%VdMk#2g<9j6jZVpEjqmxpOy#cQUCrZFB|w78mUj7NT3EaRJShfV(BBL>NE@hj zJ6#}x{0Lee;4VWa|Kk7}SzO4k-UI7V8UyBN@5fsZPKREOCf!nhURK zQp;^&FTpebCHP+|{VML5HFlFDH~yDT0kacGAZdW$;?@^UWWB7Ayi%Oo#iEO8 zM@h%ChO_ecO(Fhb!dS_cHtX8Bwq&~JRxFPHejk^kjoI){qscnG3YgpLu}xx;)2mTI z`AoO3BCve>rGn_wi7Oh|nCmE&j--Jd# zR}FXz4F9)3&YT6+r~rUh*0Nc!2kPRvh8?riba&c$&f1Wox~%b3B{F0Whlp3`}5_NFsRKXVW=#W+;ucyvSKNhNkuXKT} z0aK^{xEb54#;!*j2r;Ffdp~x-{p)~2=v&^oeHi%XHOT+%@Svc7H5LGXiwgUnQTRI+ z4c27;XHJ5oV4(ghKmaB}#Q(A_z<5sd|ALKyhyFiUL0sq!f8qUa8z>6?|3W#C8{#AY z^Pl&fRsZ&4AXmci|Me&iT2}a{D{nU{ExZ5VEO-v^FNRP|0R>@eGSR~5Ipk- a0d3=g^1hb{l5hY3$Vn+n)`=T`{(k^v`s^wI literal 0 HcmV?d00001 From 301f17547825b3d84628ad788b781d4d0683ae75 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 19 Jul 2024 14:03:37 -0400 Subject: [PATCH 06/18] add initial pass of window.analytics q --- src/connections/sources/custom-domain.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index 667fe0a3b1..d6e0c63e61 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -84,4 +84,9 @@ Segment does not recommended that you change the subdomain after the initial set ### Who is responsible for managing the SSL certificate for the Custom Domain? Segment hosts and manages SSL Certificate on the Custom Domain. At this time, Segment does not support importing a certificate you may already have, as Segment must request a SSL certificate on your behalf using AWS Certificate Manager (ACM) when initially setting up your Custom Domain. -Segment also uses AWS Certificate Manager (ACM) to manage and renew certificates. \ No newline at end of file +Segment also uses AWS Certificate Manager (ACM) to manage and renew certificates. + +### Can you rename `window.analytics` with Custom Domain? +Yes, Custom Domain allows Segment to rename `window.analytics` to a unique name to avoid being blocked by certain ad blocking software. + +Customers who have access to the Custom Domain feature can rename analytics to `/.js` by choosing an Alias for analytics.js within the source settings that will be available after the workspace is enabled for Custom Domain: \ No newline at end of file From 8dcc224307d61810b3cfccffad5e87e4275bac82 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 19 Jul 2024 18:53:41 -0400 Subject: [PATCH 07/18] Apply suggestions from code review Co-authored-by: pwseg <86626706+pwseg@users.noreply.github.com> --- src/connections/sources/custom-domain.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index d6e0c63e61..4b06c3fbb1 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -4,7 +4,7 @@ plan: custom-domain hidden: true --- -Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS to track event requests through your domain (for example, cdp.mydomain.com), instead of tracking events through Segment's default domain (segment.com). Tracking events through your domain lets you reclaim some of the first-party data lost to end user ad-blockers and browser privacy controls that block Segment's default domain. With complete first-party data comes a more complete view of your customer's behaviors, and can lead to more robust profiles, more accurate attribution, and, ultimately, greater ROAS. +Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS to track event requests through your domain (for example, `cdp.mydomain.com`), instead of tracking events through Segment's default domain (`segment.com`). Tracking events through your domain lets you reclaim some of the first-party data lost to end user ad-blockers and browser privacy controls that block Segment's default domain. With complete first-party data comes a more complete view of your customer's behaviors, and can lead to more robust profiles, more accurate attribution, and, ultimately, greater ROAS. ![A graphic that shows how Internet traffic moves back and forth from your domain, to your custom domain, then to Segment's CDN and Ingest APIs.](images/custom-domain.png) @@ -62,7 +62,7 @@ To configure Custom Domain: - **Description**: Enter an optional description for your service request. If you are requesting Custom Domain for multiple workspaces, enter any additional workspace slugs and source names into this field. 4. Segment provides you with a list of nameservers you should add to your DNS. Once you receive the nameservers from Segment, update your DNS. 5. After you've updated your DNS, Segment verifies that you've made all required updates and then provides you with two custom domains, one for the Tracking API and a second for your CDN. -6. Update your Javascript snippet to reference the new subdomains or use the new Tracking API custom domain as your endpoint for server library sources. +6. Update your JavaScript snippet to reference the new subdomains or use the new Tracking API custom domain as your endpoint for server library sources. ## FAQ @@ -89,4 +89,4 @@ Segment also uses AWS Certificate Manager (ACM) to manage and renew certificates ### Can you rename `window.analytics` with Custom Domain? Yes, Custom Domain allows Segment to rename `window.analytics` to a unique name to avoid being blocked by certain ad blocking software. -Customers who have access to the Custom Domain feature can rename analytics to `/.js` by choosing an Alias for analytics.js within the source settings that will be available after the workspace is enabled for Custom Domain: \ No newline at end of file +Customers who have access to the Custom Domain feature can rename analytics to `/.js` by choosing an Alias for Analytics.js within the source settings that will be available after the workspace is enabled for Custom Domain: \ No newline at end of file From b5769758ae2a7f88859212edf11cc1de64733cfc Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:27:49 -0400 Subject: [PATCH 08/18] making required updates [netlify-build] --- src/_data/sidenav/main.yml | 4 ++-- src/_data/sidenav/strat.yml | 2 +- .../content/domain-delegation-solutions.md | 8 ++++++++ .../libraries/website/javascript/custom-proxy.md | 15 ++++++++++----- src/connections/sources/custom-domain.md | 8 ++------ 5 files changed, 23 insertions(+), 14 deletions(-) create mode 100644 src/_includes/content/domain-delegation-solutions.md diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml index 46763349f7..2d250efc36 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -151,9 +151,9 @@ sections: - path: /connections/sources/debugger title: Source Debugger - path: /connections/sources/custom-domain - title: Custom Domains + title: Segment-Managed Custom Domain - path: /connections/sources/catalog/libraries/website/javascript/custom-proxy - title: Custom Proxy + title: Self-Managed Custom Proxy - path: /connections/sources/visual-tagger title: Visual Tagger - section_title: Schema diff --git a/src/_data/sidenav/strat.yml b/src/_data/sidenav/strat.yml index f438259cdf..679d326546 100644 --- a/src/_data/sidenav/strat.yml +++ b/src/_data/sidenav/strat.yml @@ -109,7 +109,7 @@ sections: - path: /connections/sources/catalog/libraries/website/javascript/quickstart title: Quickstart tutorial - path: /connections/sources/catalog/libraries/website/javascript/custom-proxy - title: Custom proxy for Analytics.js + title: Self-Managed Custom Proxy - path: /connections/sources/catalog/libraries/website/javascript/persistence title: Client-side persistence in Analytics.js - path: /connections/sources/catalog/libraries/website/javascript/single-page-apps diff --git a/src/_includes/content/domain-delegation-solutions.md b/src/_includes/content/domain-delegation-solutions.md new file mode 100644 index 0000000000..b87c830094 --- /dev/null +++ b/src/_includes/content/domain-delegation-solutions.md @@ -0,0 +1,8 @@ +## Segment's domain delegation solutions + +Segment offers two domain delegation solutions: [Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy) and [Custom Domain](/docs/connections/sources/custom-domain). + +| Service | How it works | Infrastructure management | Availability | +| ------- | ------------ | ------------------------- | ------------ | +| Custom Domain | A Segment service that allows your website to use your own subdomain to load Analytics.js securely over HTTPS and send event data. It is not limited to Analytics.js and is also compatible with server libraries. It uses a DNS subdomain that you delegate to Segment. | **Segment manages all related infrastructure**, including applying security updates, managing the SSL certificate lifecycle, and monitoring. | Available to users on a Business Tier plan. | +| Custom Proxy | This approach uses a Cannonical Name (CNAME) to map an alias name to the actual or 'cannonical' domain name. The CNAME record allows you to alias one domain name to another. | You must create a CNAME record to alias a subdomain that points to the Segment domain.

Customers are responsible for maintaining their own proxy infrastructure. | Available to all Segment users. | diff --git a/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md b/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md index 1888f19dfb..de55c18395 100644 --- a/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md +++ b/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md @@ -1,16 +1,21 @@ --- -title: Self Hosting or Proxying Analytics.js +title: Self-Managed Custom Proxy redirect_from: '/connections/sources/custom-domains/' strat: ajs --- -Custom domains allow you to proxy Analytics.js and proxy all tracking event requests through your domain. +Custom proxies allow you to proxy Analytics.js and proxy all tracking event requests through your domain. -You cannot use custom proxy setup for Analytics.js CDN or Tracking API with device-mode destinations because it requires the destination's native scripts are loaded onto the client, and the requests are sent directly to the destination. +You cannot use custom proxy setup for Analytics.js CDN or Tracking API with device-mode destinations because it requires the destination's native scripts are loaded onto the client, and the requests are sent directly to the destination. + +> info "Business Tier customers can also use Custom Domain" +> Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS to track event requests through your domain instead of tracking events through Segment's default domain. For more information, see the [Custom Domain](/docs/connections/sources/custom-domain) documentation. + +{% include content/domain-delegation-solutions.md %} ## Custom Proxy prerequisites -To set up a custom domain, you need: +To set up a custom proxy, you need: - Access to your site DNS settings - A CDN you can serve assets from @@ -20,7 +25,7 @@ To set up a custom domain, you need: > info "Custom Proxy Troubleshooting" > If you experience issues configuring a custom proxy, contact your organization's IT department for help. Segment does not have access to the resources you need to configure a custom proxy. -This guide explains how to set up a custom domain in CloudFront. You can apply these principles to almost any modern CDN that supports proxies. +This guide explains how to set up a custom proxy in CloudFront. You can apply these principles to almost any modern CDN that supports proxies. You need to set up two important parts, regardless of the CDN provider you use: diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index 4b06c3fbb1..9c8c5defe3 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -1,5 +1,5 @@ --- -title: Custom Domain +title: Segment-Managed Custom Domain plan: custom-domain hidden: true --- @@ -11,11 +11,7 @@ Custom Domain is a fully-managed service that enables you to configure a first-p > success "" > Segment recommends configuring Custom Domain alongside [Consent Management](/docs/privacy/consent-management/) to ensure you are respectful of your end users' consent preferences. -## Compare Segment's domain delegation solutions - -Segment has two domain delegation solutions: -- **Custom Domain**: Uses a DNS subdomain that you delegate to Segment -- **[Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy/)**: Uses a Canonical Name (CNAME) to map an alias name to a true or 'canonical' domain name. The CNAME record allows you to alias one domain name to another. You create a CNAME record to alias a subdomain that points to the Segment domain. +{% include content/domain-delegation-solutions.md %} ### How DNS subdomain delegation works DNS subdomain delegation is a process where the control of a specific subdomain is assigned to another DNS server, allowing that server to manage the DNS records for the subdomain. This delegation is useful for distributing the management of DNS records and enables specialized handling of subdomain traffic. From 4469a9ed24ac70694778a3f6af46f849c36679b4 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:55:15 -0400 Subject: [PATCH 09/18] add CNAME note [netlify-build] --- src/_includes/content/domain-delegation-solutions.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/_includes/content/domain-delegation-solutions.md b/src/_includes/content/domain-delegation-solutions.md index b87c830094..ebf725bb22 100644 --- a/src/_includes/content/domain-delegation-solutions.md +++ b/src/_includes/content/domain-delegation-solutions.md @@ -4,5 +4,12 @@ Segment offers two domain delegation solutions: [Custom Proxy](/docs/connections | Service | How it works | Infrastructure management | Availability | | ------- | ------------ | ------------------------- | ------------ | -| Custom Domain | A Segment service that allows your website to use your own subdomain to load Analytics.js securely over HTTPS and send event data. It is not limited to Analytics.js and is also compatible with server libraries. It uses a DNS subdomain that you delegate to Segment. | **Segment manages all related infrastructure**, including applying security updates, managing the SSL certificate lifecycle, and monitoring. | Available to users on a Business Tier plan. | +| Custom Domain | A Segment service that allows your website to use your own subdomain to load Analytics.js securely over HTTPS and send event data. It is not limited to Analytics.js and is also compatible with server libraries. It uses a DNS subdomain that you delegate to Segment.* | **Segment manages all related infrastructure**, including applying security updates, managing the SSL certificate lifecycle, and monitoring. | Available to users on a Business Tier plan. | | Custom Proxy | This approach uses a Cannonical Name (CNAME) to map an alias name to the actual or 'cannonical' domain name. The CNAME record allows you to alias one domain name to another. | You must create a CNAME record to alias a subdomain that points to the Segment domain.

Customers are responsible for maintaining their own proxy infrastructure. | Available to all Segment users. | + + +*_If it's not possible for you to delegate subdomains to Segment, you can use a CNAME instead. Segment encourages users to delegate a DNS subdomain rather than use use CNAME aliasing due to the evolving privacy standards in browsers, but CNAME aliasing remains an option for users not interested in using nameservers._ + +_Implementing a Custom Domain using CNAME delegation requires you to add a CNAME and record for two domains that Segment generates on your behalf: one for the Segment CDN and a second for the Tracking API. You must add a CNAME and DNS record for both domains._ + +_Customers using CNAME for Custom Domain must generate their own certificates and manage certificate renewals._ \ No newline at end of file From fc42bcae27c0afb5ac53ce4c09c707b0025ce481 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 23 Jul 2024 19:12:53 -0400 Subject: [PATCH 10/18] add'l changes [netlify-build] --- src/_includes/content/domain-delegation-solutions.md | 7 ++++--- src/connections/sources/custom-domain.md | 6 ------ 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/_includes/content/domain-delegation-solutions.md b/src/_includes/content/domain-delegation-solutions.md index ebf725bb22..225ba8428a 100644 --- a/src/_includes/content/domain-delegation-solutions.md +++ b/src/_includes/content/domain-delegation-solutions.md @@ -1,11 +1,12 @@ ## Segment's domain delegation solutions -Segment offers two domain delegation solutions: [Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy) and [Custom Domain](/docs/connections/sources/custom-domain). +Segment offers two domain delegation solutions: [Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy) and [Custom Domain](/docs/connections/sources/custom-domain). If you use Custom Domain, you can choose to use either DNS delegation or a Cannonical Name (CNAME). Segment recommends using Custom Domain with DNS delegation, as Segment manages the SSL certificates for your subdomain, which leads to continuous security monitoring of your subdomain, easy setup, and no long-term maintenance. | Service | How it works | Infrastructure management | Availability | | ------- | ------------ | ------------------------- | ------------ | -| Custom Domain | A Segment service that allows your website to use your own subdomain to load Analytics.js securely over HTTPS and send event data. It is not limited to Analytics.js and is also compatible with server libraries. It uses a DNS subdomain that you delegate to Segment.* | **Segment manages all related infrastructure**, including applying security updates, managing the SSL certificate lifecycle, and monitoring. | Available to users on a Business Tier plan. | -| Custom Proxy | This approach uses a Cannonical Name (CNAME) to map an alias name to the actual or 'cannonical' domain name. The CNAME record allows you to alias one domain name to another. | You must create a CNAME record to alias a subdomain that points to the Segment domain.

Customers are responsible for maintaining their own proxy infrastructure. | Available to all Segment users. | +| Custom Domain with DNS Delegation | A Segment service that allows your website to use your own subdomain to load Analytics.js securely over HTTPS and send event data. It is not limited to Analytics.js and is also compatible with server libraries. It uses a DNS subdomain that you delegate to Segment.* | **Segment manages all related infrastructure**, including applying security updates, managing the SSL certificate lifecycle, and monitoring.

No possibility of data loss. | Business Tier | +| Custom Domain with CNAME | This approach uses a Cannonical Name (CNAME) to map an alias name on your domain name to Analytics.js. It is not limited to Analytics.js and is also compatible with server libraries. | Customers are responsible for maintaining CNAME.

Possibility of data loss due to browser ad-blocking capabilities. | Business Tier | +| Custom Proxy | This approach uses a proxy or wrapper where all data is first collected by a proxy on your domain and then forwarded to Segment. | Customers are responsible for maintaining their own proxy infrastructure.

Possibility of data loss is there is an issue with proxy and forwarding. | Available to all Segment users. | *_If it's not possible for you to delegate subdomains to Segment, you can use a CNAME instead. Segment encourages users to delegate a DNS subdomain rather than use use CNAME aliasing due to the evolving privacy standards in browsers, but CNAME aliasing remains an option for users not interested in using nameservers._ diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index 9c8c5defe3..3bb61164e0 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -21,12 +21,6 @@ When a user tries to access the alias domain, the DNS resolver looks up the CNAM CNAME records provide flexibility and centralized management, making it easier to handle domain redirections and subdomain configurations. -### Benefits of Custom Domain over Custom Proxy -- **Automatic SSL management**: Segment manages the SSL certificates for your subdomain, ensuring secure communication. -- **Continuous monitoring**: Segment has security monitors in place, ensuring a quick responses to any issues. -- **Easy setup**: Segment handles all DNS changes, so you have to complete minimal additional work. -- **No maintenance**: Segment handles all ongoing infrastructure management. - ## Supported sources Custom Domain supports the following sources: From d6b6021c4abdcbfb201805d312cb40b2534f7457 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 23 Jul 2024 19:36:07 -0400 Subject: [PATCH 11/18] more edits! --- src/_includes/content/domain-delegation-solutions.md | 2 +- src/connections/sources/custom-domain.md | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/_includes/content/domain-delegation-solutions.md b/src/_includes/content/domain-delegation-solutions.md index 225ba8428a..5e8589822f 100644 --- a/src/_includes/content/domain-delegation-solutions.md +++ b/src/_includes/content/domain-delegation-solutions.md @@ -1,6 +1,6 @@ ## Segment's domain delegation solutions -Segment offers two domain delegation solutions: [Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy) and [Custom Domain](/docs/connections/sources/custom-domain). If you use Custom Domain, you can choose to use either DNS delegation or a Cannonical Name (CNAME). Segment recommends using Custom Domain with DNS delegation, as Segment manages the SSL certificates for your subdomain, which leads to continuous security monitoring of your subdomain, easy setup, and no long-term maintenance. +Segment offers two domain delegation solutions: [Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy) and [Custom Domain](/docs/connections/sources/custom-domain). If you use Custom Domain, you can choose to use either DNS delegation or a Cannonical Name (CNAME). Segment recommends using Custom Domain with DNS delegation, which leads to easy setup, maintenance, and monitoring. | Service | How it works | Infrastructure management | Availability | | ------- | ------------ | ------------------------- | ------------ | diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index 3bb61164e0..35b1da004d 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -21,6 +21,8 @@ When a user tries to access the alias domain, the DNS resolver looks up the CNAM CNAME records provide flexibility and centralized management, making it easier to handle domain redirections and subdomain configurations. +Implementing a Custom Domain using CNAME delegation requires you to add a CNAME and record for two domains that Segment generates on your behalf: one for the Segment CDN and a second for the Tracking API. You must add a CNAME and DNS record for both domains. + ## Supported sources Custom Domain supports the following sources: @@ -37,7 +39,7 @@ Custom Domain supports the following sources: ## Getting started > info "Custom Domain is only available to Business Tier customers" -> Customers not on the Business Tier but who have interest in Custom Domain should [contact Segment's sales team](https://segment.com/demo/){:target="_blank”} for assistance with upgrading to a Business Tier plan. Segment also offers an alternative DNS record service, [Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy/), which uses a Canonical Name (CNAME) and only works with Analytics.js sources. +> Customers not on the Business Tier but who have interest in Custom Domain should [contact Segment's sales team](https://segment.com/demo/){:target="_blank”} for assistance with upgrading to a Business Tier plan. Segment also offers an alternative DNS record service, [Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy/). To configure Custom Domain: 1. Select the subdomain you'd like Segment to use for event request tracking (for example, `cdp.domain.com`). From f6379a8797863295d970fc52a4e92e5668f5e975 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 23 Jul 2024 19:37:34 -0400 Subject: [PATCH 12/18] grammar [netlify-build] --- src/connections/sources/custom-domain.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index 35b1da004d..a146be0ba0 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -71,7 +71,7 @@ You must be able to delegate a DNS subdomain to Segment and add the name servers First, decide on your subdomain and then delegate it to Segment. Segment then asks you to add a DNS NS record to your DNS with specific values to complete the DNS delegation. From there on, Segment fully manages the infrastructure for serving Analytics.js and ingesting events data through the subdomain. ### Can I change my Segment subdomain after the initial setup? -Segment does not recommended that you change the subdomain after the initial setup. If you change the subdomain, Segment must revoke the older certificates for your subdomain and you will be required to redo the entire onboarding process, as several underlying components, like certificates, would need to be recreated and reassociated. +Segment does not recommended that you change the subdomain after the initial setup. If you change the subdomain, Segment must revoke the older certificates for your subdomain and you are required to redo the entire onboarding process, as several underlying components, like certificates, would need to be recreated and reassociated. ### Who is responsible for managing the SSL certificate for the Custom Domain? Segment hosts and manages SSL Certificate on the Custom Domain. At this time, Segment does not support importing a certificate you may already have, as Segment must request a SSL certificate on your behalf using AWS Certificate Manager (ACM) when initially setting up your Custom Domain. @@ -79,6 +79,6 @@ Segment hosts and manages SSL Certificate on the Custom Domain. At this time, Se Segment also uses AWS Certificate Manager (ACM) to manage and renew certificates. ### Can you rename `window.analytics` with Custom Domain? -Yes, Custom Domain allows Segment to rename `window.analytics` to a unique name to avoid being blocked by certain ad blocking software. +Yes, Custom Domain allows Segment to rename `window.analytics` to a unique name to avoid being blocked by some ad blocking software. -Customers who have access to the Custom Domain feature can rename analytics to `/.js` by choosing an Alias for Analytics.js within the source settings that will be available after the workspace is enabled for Custom Domain: \ No newline at end of file +Customers who have access to the Custom Domain feature can rename analytics to `/.js` by choosing an Alias for Analytics.js within the source settings that are available after the workspace is enabled for Custom Domain. \ No newline at end of file From e97b5998f43381e34f1be2ead30867c37fe71498 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 23 Jul 2024 19:48:03 -0400 Subject: [PATCH 13/18] [netlify-build] --- src/_includes/content/domain-delegation-solutions.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/_includes/content/domain-delegation-solutions.md b/src/_includes/content/domain-delegation-solutions.md index 5e8589822f..8affabc49b 100644 --- a/src/_includes/content/domain-delegation-solutions.md +++ b/src/_includes/content/domain-delegation-solutions.md @@ -8,9 +8,4 @@ Segment offers two domain delegation solutions: [Custom Proxy](/docs/connections | Custom Domain with CNAME | This approach uses a Cannonical Name (CNAME) to map an alias name on your domain name to Analytics.js. It is not limited to Analytics.js and is also compatible with server libraries. | Customers are responsible for maintaining CNAME.

Possibility of data loss due to browser ad-blocking capabilities. | Business Tier | | Custom Proxy | This approach uses a proxy or wrapper where all data is first collected by a proxy on your domain and then forwarded to Segment. | Customers are responsible for maintaining their own proxy infrastructure.

Possibility of data loss is there is an issue with proxy and forwarding. | Available to all Segment users. | - -*_If it's not possible for you to delegate subdomains to Segment, you can use a CNAME instead. Segment encourages users to delegate a DNS subdomain rather than use use CNAME aliasing due to the evolving privacy standards in browsers, but CNAME aliasing remains an option for users not interested in using nameservers._ - -_Implementing a Custom Domain using CNAME delegation requires you to add a CNAME and record for two domains that Segment generates on your behalf: one for the Segment CDN and a second for the Tracking API. You must add a CNAME and DNS record for both domains._ - -_Customers using CNAME for Custom Domain must generate their own certificates and manage certificate renewals._ \ No newline at end of file +*_If it's not possible for you to delegate subdomains to Segment, you can use a CNAME instead. Segment encourages users to delegate a DNS subdomain rather than use use CNAME aliasing due to the evolving privacy standards in browsers, but CNAME aliasing remains an option for users not interested in using nameservers._ \ No newline at end of file From 84fcb8ffb2537234f3a92ac679c1c2e230abb16e Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 24 Jul 2024 13:17:54 -0400 Subject: [PATCH 14/18] priscilla requested updates [netlify-build] --- src/_includes/content/domain-delegation-solutions.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/_includes/content/domain-delegation-solutions.md b/src/_includes/content/domain-delegation-solutions.md index 8affabc49b..9acdbef46c 100644 --- a/src/_includes/content/domain-delegation-solutions.md +++ b/src/_includes/content/domain-delegation-solutions.md @@ -2,10 +2,10 @@ Segment offers two domain delegation solutions: [Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy) and [Custom Domain](/docs/connections/sources/custom-domain). If you use Custom Domain, you can choose to use either DNS delegation or a Cannonical Name (CNAME). Segment recommends using Custom Domain with DNS delegation, which leads to easy setup, maintenance, and monitoring. -| Service | How it works | Infrastructure management | Availability | -| ------- | ------------ | ------------------------- | ------------ | -| Custom Domain with DNS Delegation | A Segment service that allows your website to use your own subdomain to load Analytics.js securely over HTTPS and send event data. It is not limited to Analytics.js and is also compatible with server libraries. It uses a DNS subdomain that you delegate to Segment.* | **Segment manages all related infrastructure**, including applying security updates, managing the SSL certificate lifecycle, and monitoring.

No possibility of data loss. | Business Tier | -| Custom Domain with CNAME | This approach uses a Cannonical Name (CNAME) to map an alias name on your domain name to Analytics.js. It is not limited to Analytics.js and is also compatible with server libraries. | Customers are responsible for maintaining CNAME.

Possibility of data loss due to browser ad-blocking capabilities. | Business Tier | -| Custom Proxy | This approach uses a proxy or wrapper where all data is first collected by a proxy on your domain and then forwarded to Segment. | Customers are responsible for maintaining their own proxy infrastructure.

Possibility of data loss is there is an issue with proxy and forwarding. | Available to all Segment users. | +| Service | How it works | Infrastructure management | Recommendation | Availability | +| ------- | ------------ | ------------------------- | -------------- | ------------ | +| Custom Domain with DNS Delegation | A Segment service that allows your website to use your own subdomain to load Analytics.js securely over HTTPS and send event data. It is not limited to Analytics.js and is also compatible with server libraries. It uses a DNS subdomain that you delegate to Segment.* | **Segment manages all related infrastructure**, including applying security updates, managing the SSL certificate lifecycle, and monitoring. | Recommended for reliable data collection. | Business Tier | +| Custom Domain with CNAME | This approach uses a Cannonical Name (CNAME) to map an alias name on your domain name to Analytics.js. It is not limited to Analytics.js and is also compatible with server libraries. | Customers are responsible for maintaining CNAME. | Not recommended due to evolving and persistent browser privacy measures. | Business Tier | +| Custom Proxy | This approach uses a proxy or wrapper where all data is first collected by a proxy on your domain and then forwarded to Segment. | Customers are responsible for maintaining their own proxy infrastructure. | Not recommended because it adds a point of failure, but is an option if Custom Domain with sub-domain delegation is unavailable to you. | Available to all Segment users. | *_If it's not possible for you to delegate subdomains to Segment, you can use a CNAME instead. Segment encourages users to delegate a DNS subdomain rather than use use CNAME aliasing due to the evolving privacy standards in browsers, but CNAME aliasing remains an option for users not interested in using nameservers._ \ No newline at end of file From ff1218649d00706771857fb1b71b7bd6472ff509 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 24 Jul 2024 13:37:12 -0400 Subject: [PATCH 15/18] [netlify-build] --- src/_includes/content/domain-delegation-solutions.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/_includes/content/domain-delegation-solutions.md b/src/_includes/content/domain-delegation-solutions.md index 9acdbef46c..524e486837 100644 --- a/src/_includes/content/domain-delegation-solutions.md +++ b/src/_includes/content/domain-delegation-solutions.md @@ -2,10 +2,10 @@ Segment offers two domain delegation solutions: [Custom Proxy](/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy) and [Custom Domain](/docs/connections/sources/custom-domain). If you use Custom Domain, you can choose to use either DNS delegation or a Cannonical Name (CNAME). Segment recommends using Custom Domain with DNS delegation, which leads to easy setup, maintenance, and monitoring. -| Service | How it works | Infrastructure management | Recommendation | Availability | -| ------- | ------------ | ------------------------- | -------------- | ------------ | -| Custom Domain with DNS Delegation | A Segment service that allows your website to use your own subdomain to load Analytics.js securely over HTTPS and send event data. It is not limited to Analytics.js and is also compatible with server libraries. It uses a DNS subdomain that you delegate to Segment.* | **Segment manages all related infrastructure**, including applying security updates, managing the SSL certificate lifecycle, and monitoring. | Recommended for reliable data collection. | Business Tier | -| Custom Domain with CNAME | This approach uses a Cannonical Name (CNAME) to map an alias name on your domain name to Analytics.js. It is not limited to Analytics.js and is also compatible with server libraries. | Customers are responsible for maintaining CNAME. | Not recommended due to evolving and persistent browser privacy measures. | Business Tier | -| Custom Proxy | This approach uses a proxy or wrapper where all data is first collected by a proxy on your domain and then forwarded to Segment. | Customers are responsible for maintaining their own proxy infrastructure. | Not recommended because it adds a point of failure, but is an option if Custom Domain with sub-domain delegation is unavailable to you. | Available to all Segment users. | +| Service | How it works | Infrastructure management | Availability | +| ------- | ------------ | ------------------------- | ------------ | +| Custom Domain with DNS Delegation | A Segment service that allows your website to use your own subdomain to load Analytics.js securely over HTTPS and send event data. It is not limited to Analytics.js and is also compatible with server libraries. It uses a DNS subdomain that you delegate to Segment.* | **Segment manages all related infrastructure**, including applying security updates, managing the SSL certificate lifecycle, and monitoring. | Business Tier

Recommended for reliable data collection. | +| Custom Domain with CNAME | This approach uses a Cannonical Name (CNAME) to map an alias name on your domain name to Analytics.js. It is not limited to Analytics.js and is also compatible with server libraries. | Customers are responsible for maintaining CNAME. | Business Tier

Not recommended due to evolving and persistent browser privacy measures. | +| Custom Proxy | This approach uses a proxy or wrapper where all data is first collected by a proxy on your domain and then forwarded to Segment. | Customers are responsible for maintaining their own proxy infrastructure. | Available to all Segment users.

Not recommended because it adds a point of failure, but remains an option if Custom Domain with sub-domain delegation is unavailable to you. | *_If it's not possible for you to delegate subdomains to Segment, you can use a CNAME instead. Segment encourages users to delegate a DNS subdomain rather than use use CNAME aliasing due to the evolving privacy standards in browsers, but CNAME aliasing remains an option for users not interested in using nameservers._ \ No newline at end of file From a6d85cc64634f896d9451db0ae2ed9952bcdd7e9 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 24 Jul 2024 17:24:01 -0400 Subject: [PATCH 16/18] PMM-requested changes --- .../catalog/libraries/website/javascript/custom-proxy.md | 2 +- src/connections/sources/custom-domain.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md b/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md index de55c18395..414a737970 100644 --- a/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md +++ b/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md @@ -4,7 +4,7 @@ redirect_from: '/connections/sources/custom-domains/' strat: ajs --- -Custom proxies allow you to proxy Analytics.js and proxy all tracking event requests through your domain. +Custom proxies allow you to proxy Analytics.js and all tracking event requests through your own domain. You cannot use custom proxy setup for Analytics.js CDN or Tracking API with device-mode destinations because it requires the destination's native scripts are loaded onto the client, and the requests are sent directly to the destination. diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index a146be0ba0..3a1e5c0023 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -4,7 +4,8 @@ plan: custom-domain hidden: true --- -Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS to track event requests through your domain (for example, `cdp.mydomain.com`), instead of tracking events through Segment's default domain (`segment.com`). Tracking events through your domain lets you reclaim some of the first-party data lost to end user ad-blockers and browser privacy controls that block Segment's default domain. With complete first-party data comes a more complete view of your customer's behaviors, and can lead to more robust profiles, more accurate attribution, and, ultimately, greater ROAS. +Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS. You can then track event requests through your own domain (for example, cdp.mydomain.com), instead of the default (segment.com). Tracking events through your own domain allows for more secure and complete first-party data collection by reclaiming first-party data lost to browser controls. With a more complete view of your customer behaviors, you can build more robust profiles for greater attribution and ROAS. + ![A graphic that shows how Internet traffic moves back and forth from your domain, to your custom domain, then to Segment's CDN and Ingest APIs.](images/custom-domain.png) From 4de18014b82edbd0b380b842b622333a05522747 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:03:10 -0400 Subject: [PATCH 17/18] [netlify-build] --- src/connections/sources/custom-domain.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index 3a1e5c0023..94ceac323d 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -82,4 +82,4 @@ Segment also uses AWS Certificate Manager (ACM) to manage and renew certificates ### Can you rename `window.analytics` with Custom Domain? Yes, Custom Domain allows Segment to rename `window.analytics` to a unique name to avoid being blocked by some ad blocking software. -Customers who have access to the Custom Domain feature can rename analytics to `/.js` by choosing an Alias for Analytics.js within the source settings that are available after the workspace is enabled for Custom Domain. \ No newline at end of file +Customers who have access to the Custom Domain feature can rename analytics to `/.js` by choosing an Alias for Analytics.js within the source settings that are available after the workspace is enabled for Custom Domain. From 0ac6b8d9bcd748217dcb0ca6c8f551dd4d07fcd3 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 25 Jul 2024 14:31:01 -0400 Subject: [PATCH 18/18] Apply suggestions from code review Co-authored-by: pwseg <86626706+pwseg@users.noreply.github.com> --- src/_includes/content/domain-delegation-solutions.md | 2 +- .../catalog/libraries/website/javascript/custom-proxy.md | 2 +- src/connections/sources/custom-domain.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/_includes/content/domain-delegation-solutions.md b/src/_includes/content/domain-delegation-solutions.md index 524e486837..9f6f4ab726 100644 --- a/src/_includes/content/domain-delegation-solutions.md +++ b/src/_includes/content/domain-delegation-solutions.md @@ -5,7 +5,7 @@ Segment offers two domain delegation solutions: [Custom Proxy](/docs/connections | Service | How it works | Infrastructure management | Availability | | ------- | ------------ | ------------------------- | ------------ | | Custom Domain with DNS Delegation | A Segment service that allows your website to use your own subdomain to load Analytics.js securely over HTTPS and send event data. It is not limited to Analytics.js and is also compatible with server libraries. It uses a DNS subdomain that you delegate to Segment.* | **Segment manages all related infrastructure**, including applying security updates, managing the SSL certificate lifecycle, and monitoring. | Business Tier

Recommended for reliable data collection. | -| Custom Domain with CNAME | This approach uses a Cannonical Name (CNAME) to map an alias name on your domain name to Analytics.js. It is not limited to Analytics.js and is also compatible with server libraries. | Customers are responsible for maintaining CNAME. | Business Tier

Not recommended due to evolving and persistent browser privacy measures. | +| Custom Domain with CNAME | This approach uses a Canonical Name (CNAME) to map an alias name on your domain name to Analytics.js. It is not limited to Analytics.js and is also compatible with server libraries. | Customers are responsible for maintaining CNAME. | Business Tier

Not recommended due to evolving and persistent browser privacy measures. | | Custom Proxy | This approach uses a proxy or wrapper where all data is first collected by a proxy on your domain and then forwarded to Segment. | Customers are responsible for maintaining their own proxy infrastructure. | Available to all Segment users.

Not recommended because it adds a point of failure, but remains an option if Custom Domain with sub-domain delegation is unavailable to you. | *_If it's not possible for you to delegate subdomains to Segment, you can use a CNAME instead. Segment encourages users to delegate a DNS subdomain rather than use use CNAME aliasing due to the evolving privacy standards in browsers, but CNAME aliasing remains an option for users not interested in using nameservers._ \ No newline at end of file diff --git a/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md b/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md index 414a737970..27e024a067 100644 --- a/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md +++ b/src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md @@ -6,7 +6,7 @@ strat: ajs Custom proxies allow you to proxy Analytics.js and all tracking event requests through your own domain. -You cannot use custom proxy setup for Analytics.js CDN or Tracking API with device-mode destinations because it requires the destination's native scripts are loaded onto the client, and the requests are sent directly to the destination. +You cannot use custom proxy setup for Analytics.js CDN or Tracking API with device-mode destinations because it requires that the destination's native scripts are loaded onto the client, and the requests are sent directly to the destination. > info "Business Tier customers can also use Custom Domain" > Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS to track event requests through your domain instead of tracking events through Segment's default domain. For more information, see the [Custom Domain](/docs/connections/sources/custom-domain) documentation. diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md index 94ceac323d..f0fc7e11e0 100644 --- a/src/connections/sources/custom-domain.md +++ b/src/connections/sources/custom-domain.md @@ -4,7 +4,7 @@ plan: custom-domain hidden: true --- -Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS. You can then track event requests through your own domain (for example, cdp.mydomain.com), instead of the default (segment.com). Tracking events through your own domain allows for more secure and complete first-party data collection by reclaiming first-party data lost to browser controls. With a more complete view of your customer behaviors, you can build more robust profiles for greater attribution and ROAS. +Custom Domain is a fully-managed service that enables you to configure a first-party subdomain over HTTPS. You can then track event requests through your own domain (for example, `cdp.mydomain.com`), instead of the default (`segment.com`). Tracking events through your own domain allows for more secure and complete first-party data collection by reclaiming first-party data lost to browser controls. With a more complete view of your customer behaviors, you can build more robust profiles for greater attribution and ROAS. ![A graphic that shows how Internet traffic moves back and forth from your domain, to your custom domain, then to Segment's CDN and Ingest APIs.](images/custom-domain.png)