From 3181422b12f7ce5158c9f8213c706d4647e72afc Mon Sep 17 00:00:00 2001 From: Gareth Burns Date: Thu, 22 Jun 2023 09:20:48 +0100 Subject: [PATCH] New Draft of blogs listings --- _site/blogs.html | 48 ++++++++++++++++----------- profile.jpg => _site/img/profile.jpg | Bin _site/index.html | 2 +- _site/posts/DeployingShiny.html | 20 +++++++---- _site/posts/img/cards.png | Bin 0 -> 15264 bytes _site/search.json | 8 ++--- blogs.qmd | 2 +- img/profile.jpg | Bin 0 -> 109070 bytes index.qmd | 2 +- posts/DeployingShiny.qmd | 23 +++++++++---- posts/img/cards.png | Bin 0 -> 15264 bytes 11 files changed, 66 insertions(+), 39 deletions(-) rename profile.jpg => _site/img/profile.jpg (100%) create mode 100755 _site/posts/img/cards.png create mode 100755 img/profile.jpg create mode 100755 posts/img/cards.png diff --git a/_site/blogs.html b/_site/blogs.html index c530c15..ef2ddca 100644 --- a/_site/blogs.html +++ b/_site/blogs.html @@ -70,9 +70,9 @@ } const options = { - valueNames: ['listing-date','listing-title','listing-author','listing-description','listing-categories',{ data: ['index'] },{ data: ['categories'] },{ data: ['listing-date-sort'] },{ data: ['listing-file-modified-sort'] }], + valueNames: ['listing-title','listing-author','listing-date','listing-image','listing-description','listing-categories',{ data: ['index'] },{ data: ['categories'] },{ data: ['listing-date-sort'] },{ data: ['listing-file-modified-sort'] }], - searchColumns: ["listing-date","listing-title","listing-author","listing-description","listing-categories"], + searchColumns: ["listing-title","listing-author","listing-date","listing-image","listing-description","listing-categories"], }; window['quarto-listings'] = window['quarto-listings'] || {}; @@ -135,7 +135,7 @@ +
Categories
All (1)
R (1)
Shiny (1)
@@ -160,34 +160,42 @@

Blogs

-
-
-
-
No matching items
diff --git a/profile.jpg b/_site/img/profile.jpg similarity index 100% rename from profile.jpg rename to _site/img/profile.jpg diff --git a/_site/index.html b/_site/index.html index cafa354..01a664c 100644 --- a/_site/index.html +++ b/_site/index.html @@ -103,7 +103,7 @@
-
diff --git a/_site/posts/DeployingShiny.html b/_site/posts/DeployingShiny.html index 8c734fb..b5dd536 100644 --- a/_site/posts/DeployingShiny.html +++ b/_site/posts/DeployingShiny.html @@ -7,7 +7,7 @@ - + Data Burns - Planning, Implementing, Developing & Deploying in Days! @@ -123,7 +123,11 @@

On this page

Planning, Implementing, Developing & Deploying in Days!

-
+
+
R
+
Shiny
+
+
@@ -144,7 +148,7 @@

Planning, Implementing, Developing & Deploying in Days!
Published
-

May 22, 2021

+

June 21, 2023

@@ -155,22 +159,26 @@

Planning, Implementing, Developing & Deploying in Days!

Over 150 attendees at the PSI conference player the Exploristics Higher or Lower web app - and didn’t they all do well!? I was delighted to see the game generated so much interest, many people expressed an interest in the how we deployed the app on the cloud and that’s the motivation for this blog. This app is a microcosm of developing and deploying a Statistical Shiny app on the cloud. This blog is aimed at people who are experienced in developing desktop R scripts and have a desire to take the next step to create a Shiny app and deploy on the cloud.

+

The premise of our app was simply to act as a hook to encourage attendees to visit the Exploristics stand and learn more about the products and services we offer. The challenge was to gather requirements, design, develop, implement, test and deploy an application that was a simple game in only a few days!

The Higher of Lower game is based on the classic card game: an initial card is drawn from a standard deck of cards. Another card is then drawn from the deck and the player must guess if this drawn card will be of higher or lower value than the initial card. From a statistical perspective this is quite a simple process – random sampling without replacement of the deck and a logic-based approach of the guess. Although the statistical method and issues faced may seem trivial, they provide tangible examples of many of common issues faced and I attempt to generalize the solutions. When you attempt to deploy more complex statistical models it’ll be easier to identify the issues you’re facing, how to debug your code and solver your problems.

At Exploristics we use Shiny apps to provide dynamic and interactive visualization tools to enable clients to interpret the complex multi-dimensional data or models generated by KerusCloud. At the Jumping Rivers Shiny in Production conference, I spoke about the experiences and technology to create robust enterprise grade Shiny applications. However, the remit for the Higher or Lower application was very different from how we usually develop software – this was to be a one-off application to be used at the PSI conference and we only had a couple of days for development. This mean that many of our usual processes needed to be accelerated and we had to accept some trade-offs.

Although we have experience in developing Shiny apps using a new technology such as Shinyapps.io usually leads to unexpected changes that take time to resolve. The time frame was extremely short to deal with any technology issues and  address any feedback from stakeholders. However, as our preliminary research into Shinyapps.io looked promising we decided to have a go!.

-

“If I have seen further than others, it is by standing upon the shoulders of giants.”

+
+

If I have seen further than others, it is by standing upon the shoulders of giants.

Isaac Newton

+

R and Shiny are open source and supported by a vibrant and passionate community of individuals. Without the years of effort and innovation from these individuals I would not have been able to deliver the app within our timescales. Any difficulty I faced on my part is not a criticism of these individuals but rather my experience under extremely tight time constraints that resulted in a limited amount of time to research appropriate solutions.  

How should I structure my code?

There are multiple ways to structure the files of a Shiny application and deciding which is the best often comes with experience or researching the best approach based upon your use case. I’d previously had the privilege of presenting along with Colin Fay at the Jumping Rivers Shiny in Production Conference and have read his book Engineering Production Grade Shiny apps but had never formally used the golem 📦. This provided me an opportunity to test out this framework and bring any lessons learnt into other Shiny apps.

-

Using the golem 📦 package for the first time was a delight, it created much of the boiler plate code for the application, provided functions to carry out common tasks and laid out the process in a systematic order to follow. This enforced good practice such as modularization of code and enabled me to rapidly write production quality code. I’ve previously developed production grade Shiny apps and was already very familiar concepts such as Shiny modules. I’d really recommend reading Colins book as it articulates and conceptualizes many of the issues I have faced. My biggest take home message from the book is – “Don’t jump straight into coding!

+

Using the golem 📦 package for the first time was a delight, it created much of the boiler plate code for the application, provided functions to carry out common tasks and laid out the process in a systematic order to follow. This enforced good practice such as modularization of code and enabled me to rapidly write production quality code. I’ve previously developed production grade Shiny apps and was already very familiar concepts such as Shiny modules. I’d really recommend reading Colin’s book as it articulates and conceptualizes many of the issues I have faced. My biggest take home message from the book is – “Don’t jump straight into coding!

How do I store and retrieve data?

-

Shiny apps are transient by design and sessions don’t persist.  This means that all information is lost between using the app. Therefore, if you wish to store information that the app needs to access in the future or provide a central data store you need to provide your own persistent data storage. There’s a great article on Posit for doing providing persistent data storage. For someone used to working on a desktop computer this is an unusual concept as you always have access to your hard-drive and by in large don’t need to worry about access.

+

Shiny apps are transient by design and sessions don’t persist. This means that all information is lost between using the app. Therefore, if you wish to store information that the app needs to access in the future or provide a central data store you need to provide your own persistent data storage. There’s a great article on Posit for doing providing persistent data storage. For someone used to working on a desktop computer this is an unusual concept as you always have access to your hard-drive and by in large don’t need to worry about access.

Usually, we use AWS S3 as our storage solution, but we didn’t want set up and manage access credentials for a one off project so decided to use Googlesheets as it was well documented and the package was actively developed. Whilst we got this to work locally, we could not get the authorization to work on Shinyapps.io and so decided to use rdrop2 📦 instead.

The rdrop2 📦 has no maintainer on CRAN so we had some initial reservations and we had to write some custom functionality to have refresh-able credentials. This cost us over a day’s development time which in the timescales of our project was huge!

Going forward we will assess the Pins 📦 or use AWS S3, though the AWS solutions is not be suitable for people wanting to avoid a paid for service, although it has a free tier with limited usage.

diff --git a/_site/posts/img/cards.png b/_site/posts/img/cards.png new file mode 100755 index 0000000000000000000000000000000000000000..29bd248a10075b49ad752277fe58ef9cf7dbf8f2 GIT binary patch literal 15264 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 literal 0 HcmV?d00001 diff --git a/_site/search.json b/_site/search.json index a76e5ca..54dcf4d 100644 --- a/_site/search.json +++ b/_site/search.json @@ -60,21 +60,21 @@ "href": "posts/DeployingShiny.html", "title": "Planning, Implementing, Developing & Deploying in Days!", "section": "", - "text": "Over 150 attendees at the PSI conference player the Exploristics Higher or Lower web app - and didn’t they all do well!? I was delighted to see the game generated so much interest, many people expressed an interest in the how we deployed the app on the cloud and that’s the motivation for this blog. This app is a microcosm of developing and deploying a Statistical Shiny app on the cloud. This blog is aimed at people who are experienced in developing desktop R scripts and have a desire to take the next step to create a Shiny app and deploy on the cloud.\nThe premise of our app was simply to act as a hook to encourage attendees to visit the Exploristics stand and learn more about the products and services we offer. The challenge was to gather requirements, design, develop, implement, test and deploy an application that was a simple game in only a few days!\nThe Higher of Lower game is based on the classic card game: an initial card is drawn from a standard deck of cards. Another card is then drawn from the deck and the player must guess if this drawn card will be of higher or lower value than the initial card. From a statistical perspective this is quite a simple process – random sampling without replacement of the deck and a logic-based approach of the guess. Although the statistical method and issues faced may seem trivial, they provide tangible examples of many of common issues faced and I attempt to generalize the solutions. When you attempt to deploy more complex statistical models it’ll be easier to identify the issues you’re facing, how to debug your code and solver your problems.\nAt Exploristics we use Shiny apps to provide dynamic and interactive visualization tools to enable clients to interpret the complex multi-dimensional data or models generated by KerusCloud. At the Jumping Rivers Shiny in Production conference, I spoke about the experiences and technology to create robust enterprise grade Shiny applications. However, the remit for the Higher or Lower application was very different from how we usually develop software – this was to be a one-off application to be used at the PSI conference and we only had a couple of days for development. This mean that many of our usual processes needed to be accelerated and we had to accept some trade-offs.\nAlthough we have experience in developing Shiny apps using a new technology such as Shinyapps.io usually leads to unexpected changes that take time to resolve. The time frame was extremely short to deal with any technology issues and  address any feedback from stakeholders. However, as our preliminary research into Shinyapps.io looked promising we decided to have a go!.\n“If I have seen further than others, it is by standing upon the shoulders of giants.”\nIsaac Newton\nR and Shiny are open source and supported by a vibrant and passionate community of individuals. Without the years of effort and innovation from these individuals I would not have been able to deliver the app within our timescales. Any difficulty I faced on my part is not a criticism of these individuals but rather my experience under extremely tight time constraints that resulted in a limited amount of time to research appropriate solutions." + "text": "Over 150 attendees at the PSI conference player the Exploristics Higher or Lower web app - and didn’t they all do well!? I was delighted to see the game generated so much interest, many people expressed an interest in the how we deployed the app on the cloud and that’s the motivation for this blog. This app is a microcosm of developing and deploying a Statistical Shiny app on the cloud. This blog is aimed at people who are experienced in developing desktop R scripts and have a desire to take the next step to create a Shiny app and deploy on the cloud.\nThe premise of our app was simply to act as a hook to encourage attendees to visit the Exploristics stand and learn more about the products and services we offer. The challenge was to gather requirements, design, develop, implement, test and deploy an application that was a simple game in only a few days!\nThe Higher of Lower game is based on the classic card game: an initial card is drawn from a standard deck of cards. Another card is then drawn from the deck and the player must guess if this drawn card will be of higher or lower value than the initial card. From a statistical perspective this is quite a simple process – random sampling without replacement of the deck and a logic-based approach of the guess. Although the statistical method and issues faced may seem trivial, they provide tangible examples of many of common issues faced and I attempt to generalize the solutions. When you attempt to deploy more complex statistical models it’ll be easier to identify the issues you’re facing, how to debug your code and solver your problems.\nAt Exploristics we use Shiny apps to provide dynamic and interactive visualization tools to enable clients to interpret the complex multi-dimensional data or models generated by KerusCloud. At the Jumping Rivers Shiny in Production conference, I spoke about the experiences and technology to create robust enterprise grade Shiny applications. However, the remit for the Higher or Lower application was very different from how we usually develop software – this was to be a one-off application to be used at the PSI conference and we only had a couple of days for development. This mean that many of our usual processes needed to be accelerated and we had to accept some trade-offs.\nAlthough we have experience in developing Shiny apps using a new technology such as Shinyapps.io usually leads to unexpected changes that take time to resolve. The time frame was extremely short to deal with any technology issues and  address any feedback from stakeholders. However, as our preliminary research into Shinyapps.io looked promising we decided to have a go!.\nR and Shiny are open source and supported by a vibrant and passionate community of individuals. Without the years of effort and innovation from these individuals I would not have been able to deliver the app within our timescales. Any difficulty I faced on my part is not a criticism of these individuals but rather my experience under extremely tight time constraints that resulted in a limited amount of time to research appropriate solutions." }, { "objectID": "posts/DeployingShiny.html#how-should-i-structure-my-code", "href": "posts/DeployingShiny.html#how-should-i-structure-my-code", "title": "Planning, Implementing, Developing & Deploying in Days!", "section": "How should I structure my code?", - "text": "How should I structure my code?\nThere are multiple ways to structure the files of a Shiny application and deciding which is the best often comes with experience or researching the best approach based upon your use case. I’d previously had the privilege of presenting along with Colin Fay at the Jumping Rivers Shiny in Production Conference and have read his book Engineering Production Grade Shiny apps but had never formally used the golem 📦. This provided me an opportunity to test out this framework and bring any lessons learnt into other Shiny apps.\nUsing the golem 📦 package for the first time was a delight, it created much of the boiler plate code for the application, provided functions to carry out common tasks and laid out the process in a systematic order to follow. This enforced good practice such as modularization of code and enabled me to rapidly write production quality code. I’ve previously developed production grade Shiny apps and was already very familiar concepts such as Shiny modules. I’d really recommend reading Colins book as it articulates and conceptualizes many of the issues I have faced. My biggest take home message from the book is – “Don’t jump straight into coding!”" + "text": "How should I structure my code?\nThere are multiple ways to structure the files of a Shiny application and deciding which is the best often comes with experience or researching the best approach based upon your use case. I’d previously had the privilege of presenting along with Colin Fay at the Jumping Rivers Shiny in Production Conference and have read his book Engineering Production Grade Shiny apps but had never formally used the golem 📦. This provided me an opportunity to test out this framework and bring any lessons learnt into other Shiny apps.\nUsing the golem 📦 package for the first time was a delight, it created much of the boiler plate code for the application, provided functions to carry out common tasks and laid out the process in a systematic order to follow. This enforced good practice such as modularization of code and enabled me to rapidly write production quality code. I’ve previously developed production grade Shiny apps and was already very familiar concepts such as Shiny modules. I’d really recommend reading Colin’s book as it articulates and conceptualizes many of the issues I have faced. My biggest take home message from the book is – “Don’t jump straight into coding!”" }, { "objectID": "posts/DeployingShiny.html#how-do-i-store-and-retrieve-data", "href": "posts/DeployingShiny.html#how-do-i-store-and-retrieve-data", "title": "Planning, Implementing, Developing & Deploying in Days!", "section": "How do I store and retrieve data?", - "text": "How do I store and retrieve data?\nShiny apps are transient by design and sessions don’t persist.  This means that all information is lost between using the app. Therefore, if you wish to store information that the app needs to access in the future or provide a central data store you need to provide your own persistent data storage. There’s a great article on Posit for doing providing persistent data storage. For someone used to working on a desktop computer this is an unusual concept as you always have access to your hard-drive and by in large don’t need to worry about access.\nUsually, we use AWS S3 as our storage solution, but we didn’t want set up and manage access credentials for a one off project so decided to use Googlesheets as it was well documented and the package was actively developed. Whilst we got this to work locally, we could not get the authorization to work on Shinyapps.io and so decided to use rdrop2 📦 instead.\nThe rdrop2 📦 has no maintainer on CRAN so we had some initial reservations and we had to write some custom functionality to have refresh-able credentials. This cost us over a day’s development time which in the timescales of our project was huge!\nGoing forward we will assess the Pins 📦 or use AWS S3, though the AWS solutions is not be suitable for people wanting to avoid a paid for service, although it has a free tier with limited usage." + "text": "How do I store and retrieve data?\nShiny apps are transient by design and sessions don’t persist. This means that all information is lost between using the app. Therefore, if you wish to store information that the app needs to access in the future or provide a central data store you need to provide your own persistent data storage. There’s a great article on Posit for doing providing persistent data storage. For someone used to working on a desktop computer this is an unusual concept as you always have access to your hard-drive and by in large don’t need to worry about access.\nUsually, we use AWS S3 as our storage solution, but we didn’t want set up and manage access credentials for a one off project so decided to use Googlesheets as it was well documented and the package was actively developed. Whilst we got this to work locally, we could not get the authorization to work on Shinyapps.io and so decided to use rdrop2 📦 instead.\nThe rdrop2 📦 has no maintainer on CRAN so we had some initial reservations and we had to write some custom functionality to have refresh-able credentials. This cost us over a day’s development time which in the timescales of our project was huge!\nGoing forward we will assess the Pins 📦 or use AWS S3, though the AWS solutions is not be suitable for people wanting to avoid a paid for service, although it has a free tier with limited usage." }, { "objectID": "posts/DeployingShiny.html#failure-to-build.what-do-you-mean", @@ -102,6 +102,6 @@ "href": "blogs.html", "title": "Blogs", "section": "", - "text": "Planning, Implementing, Developing & Deploying in Days!\n\n\n\n\n\nThis was a simple Shiny application deployed on Shinyapps.io that highlighted some of the lessons learnt in going from desktop analysis to deploying on cloud.\n\n\n\n\n\n\nMay 22, 2021\n\n\nGareth Burns\n\n\n\n\n\n\nNo matching items" + "text": "Planning, Implementing, Developing & Deploying in Days!\n\n\n\nR\n\n\nShiny\n\n\n\nThis was a simple Shiny application deployed on Shinyapps.io that highlighted some of the lessons learnt in going from desktop analysis to deploying on cloud.\n\n\n\nGareth Burns\n\n\nJun 21, 2023\n\n\n\n\n\n\n\n\nNo matching items" } ] \ No newline at end of file diff --git a/blogs.qmd b/blogs.qmd index 64fa1c8..38b819d 100644 --- a/blogs.qmd +++ b/blogs.qmd @@ -3,6 +3,6 @@ title: "Blogs" listing: contents: posts sort: "date desc" - type: default + type: grid categories: true --- diff --git a/img/profile.jpg b/img/profile.jpg new file mode 100755 index 0000000000000000000000000000000000000000..8c5c796b753852f9c2c7c11547a82fe59d11db31 GIT binary patch literal 109070 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⪚ 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%0A;SV<|X5=(Hk{ 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 + + + The premise of our app was simply to act as a hook to encourage attendees to visit the [Exploristics](https://exploristics.com/) stand and learn more about the products and services we offer. The challenge was to gather requirements, design, develop, implement, test and deploy an application that was a simple game in **only a few days!** The Higher of Lower game is based on the classic card game: an initial card is drawn from a standard deck of cards. Another card is then drawn from the deck and the player must guess if this drawn card will be of higher or lower value than the initial card. From a statistical perspective this is quite a simple process -- random sampling without replacement of the deck and a logic-based approach of the guess. Although the statistical method and issues faced may seem trivial, they provide tangible examples of many of common issues faced and I attempt to generalize the solutions. When you attempt to deploy more complex statistical models it'll be easier to identify the issues you're facing, how to debug your code and solver your problems. @@ -17,9 +28,9 @@ At [Exploristics](https://exploristics.com/) we use Shiny apps to provide dynami Although we have experience in developing Shiny apps using a new technology such as [Shinyapps.io](https://www.shinyapps.io/) usually leads to unexpected changes that take time to resolve. The time frame was extremely short to deal with any technology issues and  address any feedback from stakeholders. However, as our preliminary research into [Shinyapps.io](https://www.shinyapps.io/) looked promising we decided to have a go!. -"If I have seen further than others, it is by standing upon the shoulders of giants." - -Isaac Newton +> *If I have seen further than others, it is by standing upon the shoulders of giants.* +> +> Isaac Newton R and Shiny are open source and supported by a vibrant and passionate community of individuals. Without the years of effort and innovation from these individuals I would not have been able to deliver the app within our timescales. Any difficulty I faced on my part is not a criticism of these individuals but rather my experience under extremely tight time constraints that resulted in a limited amount of time to research appropriate solutions.   @@ -27,11 +38,11 @@ R and Shiny are open source and supported by a vibrant and passionate community There are multiple ways to structure the files of a Shiny application and deciding which is the best often comes with experience or researching the best approach based upon your use case. I'd previously had the privilege of presenting along with Colin Fay at the Jumping Rivers Shiny in Production Conference and have read his book Engineering Production Grade Shiny apps but had never formally used the [golem](https://engineering-shiny.org/golem.html) 📦. This provided me an opportunity to test out this framework and bring any lessons learnt into other Shiny apps. -Using the [golem](https://engineering-shiny.org/golem.html) 📦 package for the first time was a delight, it created much of the boiler plate code for the application, provided functions to carry out common tasks and laid out the process in a systematic order to follow. This enforced good practice such as modularization of code and enabled me to rapidly write production quality code. I've previously developed production grade Shiny apps and was already very familiar concepts such as Shiny modules. I'd really recommend reading Colins book as it articulates and conceptualizes many of the issues I have faced. My biggest take home message from the book is -- "**Don't jump straight into coding!**" +Using the [golem](https://engineering-shiny.org/golem.html) 📦 package for the first time was a delight, it created much of the boiler plate code for the application, provided functions to carry out common tasks and laid out the process in a systematic order to follow. This enforced good practice such as modularization of code and enabled me to rapidly write production quality code. I've previously developed production grade Shiny apps and was already very familiar concepts such as Shiny modules. I'd really recommend reading Colin's book as it articulates and conceptualizes many of the issues I have faced. My biggest take home message from the book is -- "**Don't jump straight into coding!**" ## How do I store and retrieve data? -Shiny apps are transient by design and sessions don't persist.  This means that all information is lost between using the app. Therefore, if you wish to store information that the app needs to access in the future or provide a central data store you need to provide your own persistent data storage. There's a great article on Posit for doing providing [persistent data storage](https://shiny.posit.co/r/articles/build/persistent-data-storage/). For someone used to working on a desktop computer this is an unusual concept as you always have access to your hard-drive and by in large don't need to worry about access. +Shiny apps are transient by design and sessions don't persist. This means that all information is lost between using the app. Therefore, if you wish to store information that the app needs to access in the future or provide a central data store you need to provide your own persistent data storage. There's a great article on Posit for doing providing [persistent data storage](https://shiny.posit.co/r/articles/build/persistent-data-storage/). For someone used to working on a desktop computer this is an unusual concept as you always have access to your hard-drive and by in large don't need to worry about access. Usually, we use AWS S3 as our storage solution, but we didn't want set up and manage access credentials for a one off project so decided to use Googlesheets as it was well documented and the package was actively developed. Whilst we got this to work locally, we could not get the authorization to work on [Shinyapps.io](https://www.shinyapps.io/) and so decided to use [rdrop2](https://cran.r-project.org/web/packages/rdrop2/rdrop2.pdf) 📦 instead. diff --git a/posts/img/cards.png b/posts/img/cards.png new file mode 100755 index 0000000000000000000000000000000000000000..29bd248a10075b49ad752277fe58ef9cf7dbf8f2 GIT binary patch literal 15264 zcmb_jRahNOl*HW$?jg9lyA#~q-CcrvAh^4`y9L6_5tp9`G%RE z?$hT~)v1nDQjkJMz()WB14EXP7FPj2r+}XqI0)c(q*^F8@B!|sA|(n|J4tv9e1WnQ zkrx32YluU9HHHSh!#hc9yMlqC^#A(-A9gG^0|VpZkP#PA^D;Qkfz|u8_%NK*GxE3i zDe>{S;TF)a*i*~V z|9+fJnm5s(U7THv({K3-`96)W>4)cZ_wYPs`&@QBCZV#ktBF*_g!5Xp%qYRuaN?ij z&r6CCHLqBehiDKWyHDE`6`<(Yv(NqiT+}z`alJE`nVC5{I!cS50Q$xIghC?ZAN^|< z92VTh=jqB=M5H%~N|Be3&kzGy@AiDP?Q)|#WD}IdQ~b9+}m&Aq=-SRca{nLI#4og*R$ zpb=}M;kk12UP#+PJP!WtL-nnkw~gcAY%R<>o_zcJxZNR21qrP(_ptM9nA)TnhudLt zR*vJ4%pW8%y>nI_}RLaG-^5P?H$FxEjoLsUxouA?QV%@_HQa`Zj+rc=V8>`+iK;eckOg=NQ0ZD^*P7Q zL`xjJiT?uE*Up2di)1vSX>{9?JLEZ|WN9BsaDTAKBxB#{@1N_zM)WY*g)B33(Pnq@ z%X>6EeSHRAd}_2hPTMRF6%{gsub#4X{4_)!(vI66i-Dq=o87yX)rQ#G*~tq=7HMQf zn7d=tk@|+0?Otiu#6MG33@wN?+` zS#*O^ozkkuO}66oMu0VHyHpjkx3BW5?s!inY;g5cN`Ek9 zY-mJ^)$sr|by!wL%~$F2OzRZNDm0At9ciO!W%(K_?~?lCS*|aXYVvK;DXK_eeSv}f zDvid=+R#UZ+1$LW^A9~ALHSBDj(Wd*@pL}B{UHE$kB#*&mkYUx{qUF5#mqWR4t33i zJu~d(iLcZ1w{6X9Xt-{A+5(aWH2mzJ_ybj52htRIN_W2r-oFY<9>Cu{YfanihJUrcU7r;ZU>%_{OS@E7k5rnCP7G5m zVaA%UQm?V1xR=HoRFdF;A#_cptCW&u8zXOUd3rXNn;t|I=maC>hOX$H3V08Z^>TVR z({}p;heq+VJ3p_U#>Cay%4r(b=D1l~S*ftuwP?D{J8RwBDEn@@Cn_l$5t|54#6VD) zk6%%Y&QOF)S%!f^g6scDjeP62%1W~LT$(O?#4}|~tOFuhs%cbgU;XntjV4kUBvuTy zd5IHG-T5CHsy%lTddr$2K`@vaPKWln(tNaPW}n%mz1_^+UH7}4WcI>n$}f1hRHA<6 z^>duYe`M|7yv$>yi{M9Kb}_N$aFsA+Pom*V>00hgQ#cBT2`dzod_qnz#s92d>73-1x>%-OnpKNuLRCJh1xwQ9X?5;!kR4wimSW=2htPav9JIW z`4KwIM#-U5MHT0QJxU$r(lW(%SdLjndGSYT6hortWOAa;^>)9{ouPHhedt$vp|>u% z85Y~(&5Jb#%`?K=;=Pbv3skFQO&)*s=9O)0+!(CpIidQdhJf&M9$N5b9WpEm+~e|laLudQ^r9@gr0Kp2pI3mW|CS?93c<^6D$;rBPr$J;TTS73b6@iFuM z{$^B}wA7t|U?<7O4HN=A^#@WIc+ zIygaI%Zt>bC6|!vk?G_mzWt{6bTi1#t z0^gRVrI|dZn7vmU1f12Z#MkeIkZK;%PNo4mxHl$Udg0D-ZXfUqRj{9Vi(?N!PYh z65mIUW#m)HsT9#1pk^?ql~auKK06!dKR}1o>+-su$l^LGM%32Umb0Hu47O6T_5_*o zIqwV{&z7B@oPhepO8CJlf=Wfar)}C=9|UnhBSk_axqOC(dU~DCvqAM&{6Zgk?)F1) z74gcf#+jYh{$mK1&{(qG4rTL{fw?wGuA_f$R}ydoY=VzzdG?(w+w8$bBpitOd|y!} zU4KV?EhiMRrbzzDu(XZiG_dYUmAuMhHcXj~&&2{=$RB?Y9OhGJ&=Fnx-PmGC4R@jK zml^zRd+ATYpMluOMD7VWImoS9RSQwh(j;<`hWZO_oNMGh>j@7==)2gx(QIes5m#>)cNAz-Dhj-btP#S8py%nJ2#=rm{X^_2G4k z!DzYH-p^DbhTg~TY@p3l&in>{!1j4&pP64EVTC)u<6N}P#p&by4HlI+9}|0fdz+L) zN=k}59Fm5HraBuls6PR%aO0OBff+0@K`tpI60w%lv_QM(6;-##@D;e8VtvA5onc*d zb*KeVrdK=48os908VQ+!eH0^40Z!FbRX+?)Ay#Dh z{XXMvp$Eg|CqUc6rXr=>KnG(yC9SOJpd%5(SP{MBl%M}8`3m4;C!%Q*J%kIC?xGLj zs7;Hmv$m&nmnt6JVl1&YNYsc>oKt)X;UCt5Y#fXYHV0>JJSEeCpnj2pLEi9dB|+B( zN-L)c2G!oY+iO1G@_a&l6s@N4iW+Fd^x>G8ahSQjU~LSdiEkYQdII*h2NRHCz)tFA zQNtxXHFk!96?o&1PESv_2DMqlc=;)n(Cv9`fhIIccG zLvUvT+fZ{zv7}bDot^mpKTNNUZpLfS-XCQJZt4uBT5nGBgIp0a_wIMt zcJ|}-dD~{NUS(zF^m7ENx3{;_&i;Pbq_!~m_t;L*#>28@UhgH3>p{LsLf{eZX)`2p z!DrvV-VjMN9kJ>PXx$$MXpr^!0*UbquKqDQOfIRw zZ2J5p?Xlr*yNYBz7~dXRDWAmzTm*Fu9Y#Dc@)JdQ5O;YxJKMyK!Px8W2>qu9h}rjk zUQ=)TFo9f3Sh%5~;V7HK3uG>oPX=j-ypfunjnqR<{?l{dI~2ET000M`Zl-^`+)r+S z3zEI^_>OEDx^y7)K}-?*PbGf&u9+3=+FEIQ;d|H>sk%U0E;-&XmdVDHv@BaGWpg~( z(SDiE?HvV`t3r4f+M`}TXC#EVY|anl13aZ0Wj;4wa|gro}K_5G?)6zzxH6T zDz4Dj*eEQFW?gu@QK(EGE-x!PIyDs$f=s}fkMkYO*SmTarOV6M5(doZ3d9l04EM{a zUZv{*_6qzxb!v%`10Z!40a;?<$!et1vhsYAk~DHUK|HQ#vH#HQXqelx{YSExQ(#J5 zGKz!!KCWt7qDiOKRZ+|9hY+F%RO3m?OCUHWP@ zyJ>#iML*|OuCz8mGbY_O&D=H*!1op9*cGN|LYscWp(9nj2NNw*jV)tfA+Y=3B(G}` zJ#gjqD)KR&4%`<#)6yb}!{3gMUR~FUR)g8ZL6BW}O`G7A+lz()&|$`tF)=a7gh@F! zp%do8Feoc-GnvxNUQ>BO5!l#_5S{}8YMS}aWneq=l&A65c>38%gV`K3C1@CUeyr}d z<~VKk_`Eakbg^a!&Eu^TP(8@69dpf+!_VIMoikfgBF}DP6O>6}(_vtSn*n=+_p{wi z$Z}!zlEG}nU|rqaA_jpWA&^U5BS}>K4fPw{zX1#bA@>QFb~*+`ENB3NoZZ+k(A12$ zZ*z8U?Jc61epLm#{ttybZZrgAnFcFzTA%0`_K3wYc3jKMr#5kk$W@jSAwSqfJ@Xp& zKu*@Kl2W!bD%|S(D=B1bx0sQ4qA3|nGO#{OMLBeT5h$u@ZEXdCguT6=2L{B|2Ef^i zvS&l{zcE)h-#j1YsrEoYy-G2c8-+e0nZiNcA>4$~%`Gehp9%LW!3pNo3$U6AcdeKa zvJx(;5fD%{H0d1hnhg(VdVM>WHE`FNq6XJdtX}J-U}A-#tD9wsCLzO0%+dYM7+O%! zTf=r%_BWZemU3!-9!n;Cu$FlDQSZ9-W~;l$M27T|K=v zno3D(TS@EV;cws0J)Bo_9YOHhO-xLD=33qn4&FRS=b<=K`gTHrSS9}_s$fi$P(erg@S>yN#^dFWIV@)> zNBWdpiaL@$x*NM-#lnPXM2UN6+-5Iw7JjsR;^pS)b;Yvb8b#&_I2;h;1BJS z9Sd;I@+k|_Hyt5H|~_qu?l7sac= z{ZzwCD5O{T&<_L7O_=a%zrSBhI*;K935j2?rnI!Qp&_CC8C(xYX3%MbJb$B|CE;~m z#yfrj9Q}TXqW+s(Mib?*y!67KQ(CU5OIk~-qoKip{h}%-Wwimq$V+6WLb7*JDiXnJ z!ye*UY@85S)S(R+lx&c(l-HV=m>96`ag%>Jt2uHqL2Zzl(d9wDPcU0Q!osthHe;cB zCdg)km76)u+izM3P707yG~f*CogNQrG!Mqd5;fo=<;w$atg#8U1b$$D zq&6P>8A)1a41@JTm{G==W_4I@+)p#~7ZEkxJ~#;PUTLZ`1A#R{vZ2;$+1k>P(Sj=` z*tSdfN?)%cb$L<_X-0Et!`qj1yDB(YMVq0@M6v z5Fc~^ik>2z={A9INui3my2RE1RiM{D&Z#q;mu}r45;QMMTPfN8?JV#&JM*2ElG9A{ zF@aKQqfO|~LxrBe{vfhph~Owng(#nAmG;Posa%1d?x)zi$Dhf_L=+TI&XyA?zP4wh zdbv&oPL7WwH3j7PztE)2;4Onxp=xOdFiH8|$#s0ex-nJ<I}(v=SUF(FUwMmj)7 zO251jL(68oWn#_>YE0f&@5k}FxVh%rBk?kebPUQdMd*Zb07YNhu&%7EU|?eQW{Diq zbN`iP&L9ZthOAAkOQ_96qfwqREY;mN4j8YTN6Xf*6SZ)zoX=uiEA<=t(9m-~tMc)|&uJEZAX41W8p~FnnOk(wHWAKIQnVGO zwSYf=wljpWWE)k8+7>l5BuD2(oL{-<`kd=FN!cz-jr$R)b=-wDBveJXf`jxZZvqaXtT$H_ z?-MM&^Gi#($5pV9H1t^Dc7&I&&$nnjNh~D)_9Tm|jgpAYiNp`>{MPAx@UW4pNqW65 z%g+6wl3%b~cAaJp2?(^IXdEmhlddz2Y(LZ_=Q!^kpTLf{w1=aR7ja-~>Z_~I0zUp4 z0tsMJThcJ#jpJP%ABGw2*ic4C2D%s^ujhb@Y+bE!3|5cqb;=+CWGV9H?4usjpx9<;VADg(|PU3EPU9 zR0&kd-;1-+WUC4VEFzsx#~(8jR$ESr)b4Cdbaxj3@n1)(hmUKgB3X2pl+V7NZzq&Y z*7DJHEWmt%TI1*K>)jtq^PYIAt1@NOb_ZHJM@Lq*1O?lB_os^hg7=Y^N9J!k&#p3q zg9ku`=jb2p_Vs{eaAf@hIp?GbTWqFf*x;|ywYh?>MRA)V$V3Nn*CPj~*bR+okYcf1 z@H`gtt_hridPnv%miRM)hYt_ut4qmp=;3(MRx(7a3`J2cO}cgm<}6J{CJLpc9K76? zr}zV~P(&6Mz08N*VdBF%5F`$@eyObn167(IDsf2FInwpZX3e54r^eml@ zN5{s(Slz!YaUR;aKk_Ta<&@4YjIl}W-=5{Tq-13HA_??Eq1J6u%InkB;cssxS{^2o zmkp$IYq!TT7KEdLZZKB~6#Ai;cwX0C2C8a&9$eTh9~u)S%`_iaU74_~!u$t9&+ zyq$ZM))LRpI2LAYT2tm0Ov3{yj&iolP11Zml5lAx*{U9vZNj92py%%B}6 z-2B0x?@0Xf+>5lN|M5nYs!BP^Qls~bYM1mJQxvUsiH#nBisRx^(Yz;hcL{K-febeE zwn!9$o(N6c-9*JGpYm)l?6OQ#BR~9c4)r9|Egl*>74Agq1Q;EjuVvI-&)JBwT|w3% zF7n;Do>S{%uYaZuceXCpe?FxNW74{nplA3zUTl+CkoGzP0+hZpsk>PB^SIgp?UaAS zPEzGMzvt5U#Fb7bj_y8yJLZ_SoN$Xw-ohb|n4Ccw<5XyN*@5A9q$k69KLNdiv)6I6 zaxZgvoP$~nh(MOYu{$lgC0*^ZvT8w74ok#xhA-7-$Bl(Mrc^VAJ76E>p#BKdupBIT zatI*!F)QODy;_WKSCfeo4w)89I+JW;Ne(#7tppY3IB68a@!n_IWek0J}UJqic1U{CEo0*G;4YI?1#Qths8f%@Nt%KHNLEh zlADeenFfdjghRe2xnHhzi2dn@Y1pZLR;V!WEbE zBdyUQ_=|cBmo`Ni#>G}*kM|F>v54Kg>aS8ob56Gh^8C64E~3Hqru#{gjVp8W-z3|; zFZ2!!(J=gdy+PZ@Y^n`s`wcF}KK^{M?{a9U#QdPkdqk|xf6?;MH|a$xVZY!^Wg%xc zHEH1CZb_N+0{saFiYUjV6-9Ns&NQTB5oQnB{|AE|BX*1xAnirPw+qXDt^CO>L|Hj! zCEC~}JD_)fPZFWO)(Rc|Nqf~HGFs5uD*H=WUwvlxu?Xyj6U;}<%nUV0b8G8E%5pLr zu9Rz2ZNb@o=;++tR|{-{Ps!xi-j^ez=H^Uvp*3)QKau+WK3-lcBI9fa6`_M$*^8%N z1I*)-ULzJEo4mZ{DLy4_g_HubKAZm^S#G1!WE;s01>G{+bkeGU^vi`++2n5L`xEu- zkY4~g&(82={{n8jICG)P%qAQJFv@Fi z4!!MeOrZdPuXm}Y_9p5Vh)A$ibB@r4F&K1C4PWM``V(4Bx~;6lUtu(5RFDtBq@=j( z27X65XBH(he7Y3g~n;cxt%FOgKznMXU3w;%xVBHG^(g2TzypA)-RpeJAjF>jL>@f4j zs%743@at2t4eVj|^TjHb8hOebgket~hecSAbMY>u4Om5FS2@A8jj07wU1j#~gl@ab zD?_INj{0o4&NHnp|cfhF8Ft@#gvqkIkzh+r8_$-UeDe*rE|bCFWY6H zkix6&eE{z>J3ISbj@&OmVbaxI{dl_!uo{FVj>co7Pu<@3$J%iP!4Ti2NAq_jHf@!y>Q-5qM4XkUmp)XDme>h}d7SWjqV zGLCH+q}+PQ*u)(`C*7fMlIU95%W2{eXl1(J;4*)a^iFZYc_g}B_bj&(rzvMe8m3~n z7AUXC@_L}JCG*I}$M6^-XXW;LX$Hoa7*PF^IK1&JshQ~wji zRRqX)Y$v!+_Dgo7<>`$v*2o^Q%e0vZg8mVl_P_A)6GAp7aI$Bq^7y?)fB!KlWO3P( z{(`wPz13ZjW`-^#lm_Iw<*|ZZDR-ouPxH73*cD@t2s!#~K-RQawR?DA_#WHef(&h80AS;UiA8KVWl^gRepSS(~_IKxT1t3s%EyA-hbPe8iE~DEIlO5>FB^!c& zcQ9yE=1mb$(+WLrq03g_49$tCFe&AP|By!9-MQW6y}%eP4Ukll^|ta@D4_5k9mNlh z8pLYMM&0N&uTGd+%DvLS9Uy{li)_9swz-{*Egt??rOfFpAGGAyD`GaHaBuaQOYeEdNp`Jmt5y zuP)8^r+omv@M;f96_OFO=6x$R6@PBiO z<)L6TBlX7p@r1u&KW>bRAttEF#5e}3kh3;REAa~o2iLsCB-muNLpr{5KRKE1_jh+e z$7ye$)r7&uzR3N`&nNu?C7aIY$@nsyC>AOwXb@k>$@3RUKL;0iUCVre+Ww83;Z4iV zVxRhWI$EyR7INpT2Fw1XoIB81j5a??Bm_pr7ZDatB2wod*sG=Cpbg7G&vRoawqw{u zd@ph!r6p-%q3_ymHTx?Lv{WW{4(G|RWKm&ZJOZ`Z--q*~&9C2Y52rBax8;DS*?4SI zADK@otxix!alKzcN7rsO+OCC0^jzgLTX)3a=fH^L^4J|hMtAWa07qJ#E)YwAq8=C> zMeu`=nO5GfO#*Nl7|c;4xyCF*GhF<DS&6SmlYY5Hj|R(oeYT*Eanx zt9yIFpXM|Cv$|Zk#Y<&Rlt)iQAa1L#szG2wim%(o#*r~G5*$qM3)R{og0NxyJ`d4X z2}ppfc$r+%<|P$q7_>Yd(?QO{vMII3mks~oBX#V*x_bkAiBzMzKj2mc}pU-pos^x=Pz@cg3Up3%s=OEf5 zY4cnF8Zr}+kHA`}3@q9|YOs^YG3Jsq0|oaf9nb$|R~3b18%MpRtqn1|PU_7HiwY1q z#8MO)#KMsZmb?R_o`CS2fu8|buC_R~xh4DR${}-8n(3G+rlMi@XkEd;tawx&?<%H~ z5{QVAmUeV}d<|gw8{Iy2dL4bXePPkjNQq!!p%J_K-=eAW8Luv{zR&~t$wUS6G6%h2 z_zns4(;P0g#_?BQ55a&T$I(pC^EXmN2+MUfH8n3EpOA0Ao^}w`stA#Y`L$$ZMrLP| z#!{jqBSkLrqX0)rHb2`eospD`du*g;RSkSI~xzPN~evmLbpk}fTDf#yFF$W{i8vobLT zYD@#nHoH5wGh^LBmfd>S!;(P9?rAqpsL0({KM08AyGCIZ9rd1~O_tCvw zXn2MS)70z6&4pS)fkEHyXqEKSU;(KgHo#5Drr(Cy{6}HGo5ACG0{sm~dwU70J;*rN zPVh>woP=#cSJChlR(VKN2fes`y|9;O9K-U%MHYrDltH|jU^uXOV)WwTVl7?WB23nq zKYv8Igvo%(ru4}`+?fwIXR@^tue6q;vlSnq4sYH(%&@!%TAV=_J-_`(%-lvYv$6vI zp0^!^5|VPq|3)CaT1pbw4f@nFvTSK(Em3hgKwT+;7mF%VcONd??{T`oz)zzkK<4;f z1lrFUEC!l->yTlAr*a~3lr+kH$@yYSyric4eWLwO6B8Keyc9a@2!hy^o$o`r0zT6M zN{H>nKz~q_s#ruenYq{TGE?0hs0A^p@cVg|6j$CDBKB#F`l9NKn@g?8i@Z^0V9G+! zA=t%Bt$5Le9j&@R=_fA{iz5_>G&l_cL7!x0Wl5x0zpi_37Ob2K1u_AeY>-2s3!odx zObmzs>1a3JI?K!DB$)%DG8$c_chUP$8$Mf{qEC~wm(VnUg@q;I%pYE}&Y;Ai-{ya_ z*KUWv=W4BCQV|)3t9iQIuW~n>S0Ay)!{z8L0K?F{%7jd&(U5j zH0@?|JeJzprPe2uj5h{x21h|4E43w9l#MvrCdXSKnqmpKCI<%xH#Ro@{Bb!L&v<`- zuc)X1oDzHTzqSC+CAs<7KTY_*23NJ+G@yCuwi1gn-39in0A>I>yOW5pFzCuD|1qvj zUsF?4G3}q>BIf>#c>cPrlZCz{mwqcSBbJj_U6}7Sm}E()^GkuC-@m_SqTK`i8?S>S zOlTVaED7}N<_uq10t`$xaobCL8Qj5@<_Dj z-~o%`Mqo3TS6)hQNZi2I{xLc#>y{UK1E~FW8^q>7{myPgN;~s#-ylX`{(E6<)cLeo zT<>sGquZu5futn(_lylaS2!rpn4Bgl4hLYV7RF&!n)=i<#}60;?_(AK0ygZkxCs)A zsWjiZ+5C7<1Km5aoSZ;ar-*P5RLO79d|k9X+zI=emF0u#@g!9GdE6(#$c825U)3O> z3u`lg>mw!n zmsb-RF5@|-D6z5J595U1x7hepn&kvFH8s@;Aaj^{UK8U{egJn)$_bvP0|tGtJ?z33 zTU2;)#id^ez4rr~LA2!>9Sxt>D^fA2xus?OrzdKT5=1niTwa7o{#919U5QCa%Idy^ zXDcm;>mAZvet%PU6!bZZn~QgSAKhMO#_S5erZHY;#M0krGLuHsJTbeUsJR_}b_S@p z%=w92xcwOC&GMhqmB81$vAv5C6;nC5{6a_-yhl+cU}>HyO3`MEhI0j1w% zdHzwc)KYsypK1+z6htUVn7(VSGM_SpVRh5L_8KahFw)T{Y=;87tAKnI-TS!+u$UmQ zK6{BYuY@xa*rY7j=3?dX6fV~4W4bo7^4FCU3!;?DXN6zr;l98Bb%f_E0_(LQV4YK( zbeXSGxL~1k!U5dn(=w=VG8V;N9dsj~S44Nw6t43IWI3U#&Li^D6mw_C(y^ptG(A7# zdWaIYpPbnIn{`@R+N0Jmk(4 ztx1?_y|?M8Rw*of*>*Tt{1x3M)zn?Af=`b-k+YH79|OS;>pCOiFS5@lAJuJkoE7Cs_iZUlNC2%q1T0M z7i+OB*;O?)9~WwLx9;+9FQjd<=f=hm*NFu|_2~1%UnrrfYHDMDmW8BQ!o(19R5Stj z=;Gp{k5)`WBefe*PEG9-?LHV%bg?AUQkHt^|@gGvbxdDq3?JsF=!Xii$#Z){n)9HaAJ;*G z5O|D5>$49y5}{D$zoP=r{PIb>GRD@fxT7OOGp^7o!*@;2MKG7>}dUggp zsj8?1S9bCVtgDvK)%|)w=$3;ROJkDykiiA31mtijtPP^~THc1>AF;8L zi&(@@xfJOm!-ytx3mY4gcou-Ck3Zm@FvkgOA0w|iI>~yrw1D?eSVIH5dprwBF4t+< z?+>evKYsj}!3sMBxQid#Cvr*qD=gD8+^%d+QP$`3g3{8ViHUQd!!LP1^;uAmxO*Ij znf9NHD}bEez`$UK{uW%R6=;c|6>%~$#Vm%*!@g;}3(INh=-AlW{y4v2nCr{{RG`$< z)I7fjyi&3t-{<`_fDIq^%n~ZRoGBr**z6)n_eMYRrj!GYow)Hvj3CRY+#GIah#a_n zpdOl-n##+`dATS2i*qBm+uPg0W=lIz1iFVThB@%mNftT-m}(ODlSFX#I?Y-=9^a>{ zUw(gYZf>@?+DW=pW(I;r1)f7C^jeHplbsaA4@z1E|ALU2+kKA&!`f{i9r25YmJ#l3 z`WX#>tu4N^ze|jNb&b@T2QaaDWB=D~)pSr)Lr!g72Of(jgMgF=Z{881KoczgcplI-nDM|2!4{-Ii zIjoCP`C&QFr{?Cy#(FiUlX#agnu8wc)p%3Ifg>!iD1;!Ct>u#r_7^}?uh@jT-7Pk3 zCflj30sLcpNAuSCS;{u;K93GPzo)Ri+M|Itgea|8Cy}vIWt~0aUciuyR%3|;qRwH~rl*|%HREiuAncqe!}l!{aBe;p;mrVJ ztE@!u51GuT2ut63y54mH`-FAh7(;@*4Fr2P5Z{6AHdW>2!cz3W0jS~8&ckJu*d1RESnw_n;c5t}J0xAG7 z958PCtp?*D2&(Dde}W(??tThVLd?Oe^#t?)8aHr&Dur-vetv&%j}QgwwLediB*7X=__-I(E>dASlnmQ);Z&>3)!>td~A z7Isnmm>d8hoSdBh4tQ-v0QvVe3i8F2P_klWNq7vgF~loXU|hD}V&FTv7XBMhQ`Xkj zSlQTS5DA4{XGlVrN6KR+fF>Z|azecp7dk2Yl2TasSyAx#JzG$ zLr~rQ*>Y2vLQZhmGx@PV(C_1q_sb9FFu=Nov(J`5^yO{a%>5GJfkkMEzHc!cs}f5rur9ga&EN*#_4HjEEqnRV`AId+7@#xKy;Ni zBYN$<%vp$v&V0-b0hVRsv+LdA5iM86V30gnjo*#T)Fh`80q;q~ooP#hwY~kI@6TNL znzv8i<5g5tz9F0f&8<-SaXK29;FTr4?r$xfot?l60~Y3TD z7M|})3?SmNp14b7vz7+%UGQ2@Z*Ly<7C+{ETWf3Z7Qm%Z;EE0G*p)_e#ImnSnwpE7 zKm7#}S{l4>_C_+;EI}*x6^vC;Q3y%|K95dFcBkYIlny{SKJLlsv=d}(X*fPQ0#)k+ zHH0>i@N7K`u=E3v5AgwMH3!gfV(cRw*V<Qku7jcR$?CoPx zOz(yP`E}Z+e+&>6dhH{;f|p{7w;BO;@)_6%q;fD7L61Wm?=vK90Pd}lw<3)WECrHS zbUfB>K?Y2Md?q`*t=KZA+cHw111D$miufTQg}b}EPyYtA7#u8kRQ737RwR9WeYKUr z*)qjCgYGDW7op}AxO_m*x;+=i9p1~HSa2;g5Sjqecn#<0e<8FW+?!XHo{$hE!@$CV zj^#Y9_}|lGKGpL}SXn|Vc&{{DV@e}ubGl9T7D>gyEGc9)ul(Kz{0sa0`}gQD_5TUwn$-gVka~08Wp7veE*2m!!F9?e^!uUWVDg zHf~<|0=ZxfRLhmBV$gdKH7uwYmC>q2CLL(Z8jF28)6XR3<_2i@hmH~sRrAUV!gMPD q{Y0gEI}|^_{*P0sgAu47sAYj;YHI}vdBCY!Fc}F2@mf)%;Qs;av>&ek literal 0 HcmV?d00001